diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2020-10-08 20:18:00 -0500 |
---|---|---|
committer | Seth Barberee <seth.barberee@gmail.com> | 2020-10-08 20:18:00 -0500 |
commit | 86d3dd67977c56d2624f3206ce8c5df4d27014b3 (patch) | |
tree | 3b33891c9d0abc724be695041905f6d55e38d3dd | |
parent | 303d06bf99be430f7205b28468f0b306ccf7f27d (diff) |
massive split of file and decomp one func with an attempt on an another
-rw-r--r-- | asm/code_8012A18.s | 42625 | ||||
-rw-r--r-- | asm/code_8027C84.s | 42617 | ||||
-rwxr-xr-x | ld_script.txt | 4 | ||||
-rw-r--r-- | src/code_8027C84.c (renamed from src/code_8012A18.c) | 0 | ||||
-rw-r--r-- | src/code_8027C84_pre.c | 86 |
5 files changed, 42706 insertions, 42626 deletions
diff --git a/asm/code_8012A18.s b/asm/code_8012A18.s index 2cd92ca..3f42c7a 100644 --- a/asm/code_8012A18.s +++ b/asm/code_8012A18.s @@ -42695,42629 +42695,4 @@ _08027C7C: bx r0 thumb_func_end sub_8027BD8 - thumb_func_start sub_8027C84 -sub_8027C84: - push {lr} - bl sub_801B410 - cmp r0, 0x1 - bls _08027C9C - cmp r0, 0x3 - bhi _08027C9C - bl sub_801B450 - movs r0, 0xB - bl sub_8027184 -_08027C9C: - pop {r0} - bx r0 - thumb_func_end sub_8027C84 - - 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 - - thumb_func_start sub_8028CE0 -sub_8028CE0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08028CF4 - movs r0, 0x3 - bl sub_8028B04 -_08028CF4: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8028CE0 - - thumb_func_start sub_8028CFC -sub_8028CFC: - push {r4,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08028D42 - bl sub_8031050 - cmp r0, 0x3 - bhi _08028D42 - cmp r0, 0x2 - bcc _08028D42 - bl sub_8095350 - adds r4, r0, 0 - bl sub_80310B4 - ldr r0, _08028D38 - ldr r0, [r0] - movs r1, 0xA8 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - cmp r4, r0 - beq _08028D3C - movs r0, 0x17 - bl sub_8028B04 - b _08028D42 - .align 2, 0 -_08028D38: .4byte gUnknown_203B2C0 -_08028D3C: - movs r0, 0x19 - bl sub_8028B04 -_08028D42: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8028CFC - - thumb_func_start sub_8028D4C -sub_8028D4C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08028DE0 - ldr r0, _08028D78 - ldr r0, [r0] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - ldr r1, [sp] - str r1, [r0] - cmp r1, 0x6 - beq _08028DA2 - cmp r1, 0x6 - bgt _08028D7C - cmp r1, 0x5 - beq _08028D86 - b _08028DE0 - .align 2, 0 -_08028D78: .4byte gUnknown_203B2C0 -_08028D7C: - cmp r1, 0x7 - beq _08028DBE - cmp r1, 0xA - beq _08028DDA - b _08028DE0 -_08028D86: - movs r0, 0x2 - bl sub_8030C20 - lsls r0, 24 - cmp r0, 0 - beq _08028D9A - movs r0, 0xC - bl sub_8028B04 - b _08028DE0 -_08028D9A: - movs r0, 0xD - bl sub_8028B04 - b _08028DE0 -_08028DA2: - movs r0, 0x4 - bl sub_8030C20 - lsls r0, 24 - cmp r0, 0 - beq _08028DB6 - movs r0, 0xE - bl sub_8028B04 - b _08028DE0 -_08028DB6: - movs r0, 0xF - bl sub_8028B04 - b _08028DE0 -_08028DBE: - movs r0, 0 - bl sub_8030C20 - lsls r0, 24 - cmp r0, 0 - beq _08028DD2 - movs r0, 0x10 - bl sub_8028B04 - b _08028DE0 -_08028DD2: - movs r0, 0x11 - bl sub_8028B04 - b _08028DE0 -_08028DDA: - movs r0, 0x1 - bl sub_8028B04 -_08028DE0: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8028D4C - - thumb_func_start sub_8028DE8 -sub_8028DE8: - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08028DFE - adds r0, r4, 0 - bl sub_8028B04 -_08028DFE: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8028DE8 - - thumb_func_start sub_8028E08 -sub_8028E08: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08028E1C - movs r0, 0x12 - bl sub_8028B04 -_08028E1C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8028E08 - - thumb_func_start sub_8028E24 -sub_8028E24: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08028E4C - ldr r0, [sp] - cmp r0, 0x8 - beq _08028E3E - cmp r0, 0xA - beq _08028E46 - b _08028E4C -_08028E3E: - movs r0, 0x13 - bl sub_8028B04 - b _08028E4C -_08028E46: - movs r0, 0x1 - bl sub_8028B04 -_08028E4C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8028E24 - - thumb_func_start sub_8028E54 -sub_8028E54: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08028E7C - ldr r0, [sp] - cmp r0, 0x8 - beq _08028E6E - cmp r0, 0xA - beq _08028E76 - b _08028E7C -_08028E6E: - movs r0, 0x14 - bl sub_8028B04 - b _08028E7C -_08028E76: - movs r0, 0x1 - bl sub_8028B04 -_08028E7C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8028E54 - - thumb_func_start sub_8028E84 -sub_8028E84: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08028EA4 - movs r0, 0x18 - bl sub_8028B04 - movs r0, 0x1 - bl sub_8011C28 - movs r0, 0 - bl sub_8012574 -_08028EA4: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8028E84 - - thumb_func_start sub_8028EAC -sub_8028EAC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08028ECE - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08028ECE - bl sub_8012750 - movs r0, 0x19 - bl sub_8028B04 -_08028ECE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8028EAC - - thumb_func_start sub_8028ED4 -sub_8028ED4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08028EFE - ldr r0, [sp] - cmp r0, 0x8 - bne _08028EF0 - movs r0, 0xB - bl sub_8028B04 - b _08028EFE -_08028EF0: - cmp r0, 0x8 - blt _08028EFE - cmp r0, 0xA - bgt _08028EFE - movs r0, 0x2 - bl sub_8028B04 -_08028EFE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8028ED4 - - thumb_func_start sub_8028F04 -sub_8028F04: - push {r4,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08028F28 - movs r4, 0 -_08028F14: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8095240 - adds r4, 0x1 - cmp r4, 0x1F - ble _08028F14 - movs r0, 0x15 - bl sub_8028B04 -_08028F28: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8028F04 - - thumb_func_start sub_8028F30 -sub_8028F30: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08028F50 - movs r0, 0x16 - bl sub_8028B04 - movs r0, 0x1 - bl sub_8011C28 - movs r0, 0 - bl sub_8012574 -_08028F50: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8028F30 - - thumb_func_start sub_8028F58 -sub_8028F58: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08028F7A - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08028F7A - bl sub_8012750 - movs r0, 0x2 - bl sub_8028B04 -_08028F7A: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8028F58 - - thumb_func_start sub_8028F80 -sub_8028F80: - push {r4,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08028FAE - ldr r4, _08028FB8 - ldr r0, [r4] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - bl sub_809927C - ldr r0, [r4] - ldr r1, _08028FBC - adds r0, r1 - movs r1, 0x1 - str r1, [r0] - movs r0, 0x3 - bl sub_8028B04 -_08028FAE: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08028FB8: .4byte gUnknown_203B2C0 -_08028FBC: .4byte 0x0000053c - thumb_func_end sub_8028F80 - - thumb_func_start sub_8028FC0 -sub_8028FC0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08028FD4 - movs r0, 0x1 - bl sub_8028B04 -_08028FD4: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8028FC0 - - thumb_func_start sub_8028FDC -sub_8028FDC: - push {r4,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802903C - ldr r0, [sp] - cmp r0, 0x8 - beq _08028FFC - cmp r0, 0x8 - blt _0802903C - cmp r0, 0xA - bgt _0802903C - movs r0, 0x1 - b _08029038 -_08028FFC: - ldr r0, _08029020 - ldr r0, [r0] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - bl sub_8095228 - adds r4, r0, 0 - ldrb r0, [r4, 0x4] - bl sub_80A2824 - lsls r0, 24 - cmp r0, 0 - bne _08029024 - movs r0, 0x1C - b _08029038 - .align 2, 0 -_08029020: .4byte gUnknown_203B2C0 -_08029024: - adds r0, r4, 0 - adds r0, 0x2C - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bgt _08029036 - movs r0, 0x1D - b _08029038 -_08029036: - movs r0, 0x1B -_08029038: - bl sub_8028B04 -_0802903C: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8028FDC - - thumb_func_start sub_8029044 -sub_8029044: - push {r4,r5,lr} - movs r0, 0x1 - bl sub_8030768 - cmp r0, 0x3 - beq _0802906C - cmp r0, 0x3 - bhi _0802905A - cmp r0, 0x2 - beq _08029060 - b _080290CA -_0802905A: - cmp r0, 0x4 - beq _08029088 - b _080290CA -_08029060: - bl sub_803084C - movs r0, 0x1 - bl sub_8028B04 - b _080290CA -_0802906C: - bl sub_80307EC - ldr r1, _08029084 - ldr r1, [r1] - movs r2, 0x86 - lsls r2, 2 - adds r1, r2 - strb r0, [r1] - movs r0, 0x20 - bl sub_8028B04 - b _080290CA - .align 2, 0 -_08029084: .4byte gUnknown_203B2C0 -_08029088: - ldr r4, _080290D0 - ldr r1, [r4] - movs r0, 0x1F - str r0, [r1] - bl sub_80307EC - ldr r1, [r4] - movs r5, 0x86 - lsls r5, 2 - adds r1, r5 - strb r0, [r1] - ldr r0, [r4] - 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, [r4] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x21 - bl sub_8028B04 -_080290CA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080290D0: .4byte gUnknown_203B2C0 - thumb_func_end sub_8029044 - - thumb_func_start sub_80290D4 -sub_80290D4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080290E8 - movs r0, 0x1F - bl sub_8028B04 -_080290E8: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80290D4 - - thumb_func_start sub_80290F0 -sub_80290F0: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_8030768 - ldr r4, _08029134 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08029122 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_08029122: - ldr r0, [sp] - cmp r0, 0xA - beq _08029184 - cmp r0, 0xA - bgt _08029138 - cmp r0, 0x4 - beq _08029184 - b _080291A0 - .align 2, 0 -_08029134: .4byte gUnknown_203B2C0 -_08029138: - cmp r0, 0xB - beq _08029142 - cmp r0, 0xC - beq _0802914E - b _080291A0 -_08029142: - bl sub_803084C - movs r0, 0x22 - bl sub_8028B04 - b _080291A0 -_0802914E: - ldr r0, [r4] - movs r1, 0x3D - str r1, [r0] - 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, [r4] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x21 - bl sub_8028B04 - b _080291A0 -_08029184: - ldr r0, _080291A8 - ldr r0, [r0] - movs r1, 0xD7 - lsls r1, 2 - adds r0, r1 - movs r1, 0x2 - bl sub_8035CC0 - movs r0, 0x1 - bl sub_8030810 - movs r0, 0x1F - bl sub_8028B04 -_080291A0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080291A8: .4byte gUnknown_203B2C0 - thumb_func_end sub_80290F0 - - thumb_func_start sub_80291AC -sub_80291AC: - push {r4,lr} - bl sub_8030DA0 - cmp r0, 0x3 - bhi _08029200 - cmp r0, 0x2 - bcc _08029200 - bl sub_8030DE4 - bl sub_8004914 - ldr r4, _080291F8 - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_803092C - ldr r4, [r4] - ldr r0, [r4] - cmp r0, 0x3D - bne _080291FC - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, r1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x20 - bl sub_8028B04 - b _08029200 - .align 2, 0 -_080291F8: .4byte gUnknown_203B2C0 -_080291FC: - bl sub_8028B04 -_08029200: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80291AC - - thumb_func_start sub_8029208 -sub_8029208: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802929E - ldr r2, [sp] - cmp r2, 0xE - bgt _08029226 - cmp r2, 0xD - bge _0802922C - cmp r2, 0xA - beq _08029298 - b _0802929E -_08029226: - cmp r2, 0xF - beq _08029264 - b _0802929E -_0802922C: - ldr r0, _0802924C - ldr r0, [r0] - ldr r1, _08029250 - adds r2, r0, r1 - movs r1, 0xD - str r1, [r2] - movs r3, 0xA7 - lsls r3, 3 - adds r0, r3 - ldr r0, [r0] - cmp r0, 0 - beq _08029254 - cmp r0, 0x2 - beq _0802925C - b _0802929E - .align 2, 0 -_0802924C: .4byte gUnknown_203B2C0 -_08029250: .4byte 0x00000534 -_08029254: - movs r0, 0x4 - bl sub_8028B04 - b _0802929E -_0802925C: - movs r0, 0x30 - bl sub_8028B04 - b _0802929E -_08029264: - ldr r0, _08029280 - ldr r0, [r0] - ldr r3, _08029284 - adds r1, r0, r3 - str r2, [r1] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _08029288 - cmp r0, 0x2 - beq _08029290 - b _0802929E - .align 2, 0 -_08029280: .4byte gUnknown_203B2C0 -_08029284: .4byte 0x00000534 -_08029288: - movs r0, 0x26 - bl sub_8028B04 - b _0802929E -_08029290: - movs r0, 0x3A - bl sub_8028B04 - b _0802929E -_08029298: - movs r0, 0x1 - bl sub_8028B04 -_0802929E: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8029208 - - thumb_func_start sub_80292A4 -sub_80292A4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080292E6 - ldr r0, [sp] - cmp r0, 0x8 - beq _080292BE - cmp r0, 0xA - beq _080292E0 - b _080292E6 -_080292BE: - ldr r0, _080292DC - ldr r0, [r0] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080292D2 - cmp r0, 0x2 - bne _080292E6 -_080292D2: - movs r0, 0x5 - bl sub_8028B04 - b _080292E6 - .align 2, 0 -_080292DC: .4byte gUnknown_203B2C0 -_080292E0: - movs r0, 0x1 - bl sub_8028B04 -_080292E6: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80292A4 - - thumb_func_start sub_80292EC -sub_80292EC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08029336 - ldr r0, _08029318 - ldr r1, [r0] - ldr r0, [r1, 0x44] - cmp r0, 0 - bne _0802932C - movs r2, 0xA7 - lsls r2, 3 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - beq _0802931C - cmp r0, 0x2 - beq _08029324 - b _08029336 - .align 2, 0 -_08029318: .4byte gUnknown_203B2C0 -_0802931C: - movs r0, 0x23 - bl sub_8028B04 - b _08029336 -_08029324: - movs r0, 0x37 - bl sub_8028B04 - b _08029336 -_0802932C: - bl sub_8028B1C - movs r0, 0x7 - bl sub_8028B04 -_08029336: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80292EC - - thumb_func_start sub_802933C -sub_802933C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08029350 - movs r0, 0x1 - bl sub_8028B04 -_08029350: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802933C - - thumb_func_start sub_8029358 -sub_8029358: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802936C - movs r0, 0x1 - bl sub_8028B04 -_0802936C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8029358 - - thumb_func_start sub_8029374 -sub_8029374: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08029394 - movs r0, 0x24 - bl sub_8028B04 - movs r0, 0x1 - bl sub_8011C28 - movs r0, 0 - bl sub_8012574 -_08029394: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8029374 - - thumb_func_start sub_802939C -sub_802939C: - push {r4,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080293D0 - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _080293D0 - bl sub_8012744 - adds r4, r0, 0 - bl sub_8012750 - cmp r4, 0 - bne _080293CA - movs r0, 0x25 - bl sub_8028B04 - b _080293D0 -_080293CA: - movs r0, 0x2 - bl sub_8028B04 -_080293D0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802939C - - thumb_func_start sub_80293D8 -sub_80293D8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080293EC - movs r0, 0x27 - bl sub_8028B04 -_080293EC: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80293D8 - - thumb_func_start sub_80293F4 -sub_80293F4: - push {r4,lr} - sub sp, 0x44 - bl sub_80154F0 - adds r4, r0, 0 - add r0, sp, 0x14 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - cmp r4, 0x2 - bne _0802940E - b _08029530 -_0802940E: - cmp r4, 0x3 - beq _08029414 - b _08029550 -_08029414: - ldr r0, _08029434 - ldr r1, [r0] - adds r1, 0x8 - movs r0, 0x1C - add r2, sp, 0x14 - bl sub_8039068 - subs r0, 0x7 - cmp r0, 0x11 - bls _0802942A - b _0802951C -_0802942A: - lsls r0, 2 - ldr r1, _08029438 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08029434: .4byte gUnknown_203B2C0 -_08029438: .4byte _0802943C - .align 2, 0 -_0802943C: - .4byte _080294C8 - .4byte _0802951C - .4byte _0802951C - .4byte _0802951C - .4byte _0802951C - .4byte _0802951C - .4byte _0802951C - .4byte _0802951C - .4byte _0802951C - .4byte _0802951C - .4byte _08029484 - .4byte _080294C0 - .4byte _0802951C - .4byte _0802951C - .4byte _0802951C - .4byte _080294F0 - .4byte _0802951C - .4byte _0802951C -_08029484: - ldr r0, _080294B4 - ldr r3, _080294B8 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r1, _080294BC - ldr r1, [r1] - 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, 0x8 - bl sub_8014248 - movs r0, 0x28 - bl sub_8028B04 - b _0802951C - .align 2, 0 -_080294B4: .4byte gUnknown_80DEC70 -_080294B8: .4byte gUnknown_80DDA48 -_080294BC: .4byte gUnknown_203B2C0 -_080294C0: - ldr r0, _080294C4 - b _080294CA - .align 2, 0 -_080294C4: .4byte gUnknown_80DECC0 -_080294C8: - ldr r0, _080294E4 -_080294CA: - ldr r1, _080294E8 - ldr r2, [r1] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - ldr r3, _080294EC - movs r1, 0 - bl sub_80141B4 - movs r0, 0x7 - bl sub_8028B04 - b _0802951C - .align 2, 0 -_080294E4: .4byte gUnknown_80DEAB4 -_080294E8: .4byte gUnknown_203B2C0 -_080294EC: .4byte 0x0000010d -_080294F0: - ldr r0, [sp, 0x24] - bl sub_8095274 - add r1, sp, 0x14 - movs r0, 0x2 - strb r0, [r1] - adds r0, r1, 0 - bl sub_80951BC - ldr r0, _08029524 - ldr r1, _08029528 - ldr r2, [r1] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - ldr r3, _0802952C - movs r1, 0 - bl sub_80141B4 - movs r0, 0x23 - bl sub_8028B04 -_0802951C: - bl sub_80155F0 - b _08029550 - .align 2, 0 -_08029524: .4byte gUnknown_80DECFC -_08029528: .4byte gUnknown_203B2C0 -_0802952C: .4byte 0x00000101 -_08029530: - bl sub_80155F0 - bl sub_8004914 - ldr r0, _08029558 - ldr r0, [r0] - movs r2, 0xEF - lsls r2, 2 - adds r0, r2 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - bl sub_8028B04 -_08029550: - add sp, 0x44 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08029558: .4byte gUnknown_203B2C0 - thumb_func_end sub_80293F4 - - thumb_func_start sub_802955C -sub_802955C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08029584 - ldr r0, [sp] - cmp r0, 0x8 - beq _08029576 - cmp r0, 0xA - beq _0802957E - b _08029584 -_08029576: - movs r0, 0x26 - bl sub_8028B04 - b _08029584 -_0802957E: - movs r0, 0x1 - bl sub_8028B04 -_08029584: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802955C - - thumb_func_start sub_802958C -sub_802958C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080295A0 - movs r0, 0x6 - bl sub_8028B04 -_080295A0: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802958C - - thumb_func_start sub_80295A8 -sub_80295A8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080295D2 - ldr r0, [sp] - cmp r0, 0x8 - bne _080295C4 - movs r0, 0x8 - bl sub_8028B04 - b _080295D2 -_080295C4: - cmp r0, 0x8 - blt _080295D2 - cmp r0, 0xA - bgt _080295D2 - movs r0, 0x1 - bl sub_8028B04 -_080295D2: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80295A8 - - thumb_func_start sub_80295D8 -sub_80295D8: - push {r4,r5,lr} - movs r0, 0x1 - bl sub_8030768 - cmp r0, 0x3 - beq _08029600 - cmp r0, 0x3 - bhi _080295EE - cmp r0, 0x2 - beq _080295F4 - b _0802965E -_080295EE: - cmp r0, 0x4 - beq _0802961C - b _0802965E -_080295F4: - bl sub_803084C - movs r0, 0x1 - bl sub_8028B04 - b _0802965E -_08029600: - bl sub_80307EC - ldr r1, _08029618 - ldr r1, [r1] - movs r2, 0x86 - lsls r2, 2 - adds r1, r2 - strb r0, [r1] - movs r0, 0x2B - bl sub_8028B04 - b _0802965E - .align 2, 0 -_08029618: .4byte gUnknown_203B2C0 -_0802961C: - ldr r4, _08029664 - ldr r1, [r4] - movs r0, 0x2A - str r0, [r1] - bl sub_80307EC - ldr r1, [r4] - movs r5, 0x86 - lsls r5, 2 - adds r1, r5 - strb r0, [r1] - ldr r0, [r4] - 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, [r4] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x2C - bl sub_8028B04 -_0802965E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08029664: .4byte gUnknown_203B2C0 - thumb_func_end sub_80295D8 - - thumb_func_start sub_8029668 -sub_8029668: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802967C - movs r0, 0x2A - bl sub_8028B04 -_0802967C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8029668 - - thumb_func_start sub_8029684 -sub_8029684: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_8030768 - ldr r4, _080296C8 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _080296B6 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_080296B6: - ldr r0, [sp] - cmp r0, 0xA - beq _08029718 - cmp r0, 0xA - bgt _080296CC - cmp r0, 0x4 - beq _08029718 - b _08029734 - .align 2, 0 -_080296C8: .4byte gUnknown_203B2C0 -_080296CC: - cmp r0, 0xB - beq _080296D6 - cmp r0, 0xC - beq _080296E2 - b _08029734 -_080296D6: - bl sub_803084C - movs r0, 0x2D - bl sub_8028B04 - b _08029734 -_080296E2: - ldr r0, [r4] - movs r1, 0x3D - str r1, [r0] - 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, [r4] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x2C - bl sub_8028B04 - b _08029734 -_08029718: - ldr r0, _0802973C - ldr r0, [r0] - movs r1, 0xD7 - lsls r1, 2 - adds r0, r1 - movs r1, 0x2 - bl sub_8035CC0 - movs r0, 0x1 - bl sub_8030810 - movs r0, 0x2A - bl sub_8028B04 -_08029734: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802973C: .4byte gUnknown_203B2C0 - thumb_func_end sub_8029684 - - thumb_func_start sub_8029740 -sub_8029740: - push {r4,lr} - bl sub_8030DA0 - cmp r0, 0x3 - bhi _08029794 - cmp r0, 0x2 - bcc _08029794 - bl sub_8030DE4 - bl sub_8004914 - ldr r4, _0802978C - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_803092C - ldr r4, [r4] - ldr r0, [r4] - cmp r0, 0x3D - bne _08029790 - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, r1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x2B - bl sub_8028B04 - b _08029794 - .align 2, 0 -_0802978C: .4byte gUnknown_203B2C0 -_08029790: - bl sub_8028B04 -_08029794: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8029740 - - thumb_func_start sub_802979C -sub_802979C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080297B0 - movs r0, 0x1 - bl sub_8028B04 -_080297B0: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802979C - - thumb_func_start sub_80297B8 -sub_80297B8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080297CC - movs r0, 0x33 - bl sub_8028B04 -_080297CC: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80297B8 - - thumb_func_start sub_80297D4 -sub_80297D4: - push {r4,r5,lr} - movs r0, 0x1 - bl sub_8023A94 - cmp r0, 0x3 - beq _08029814 - cmp r0, 0x3 - bhi _080297EA - cmp r0, 0x2 - beq _080297F0 - b _08029876 -_080297EA: - cmp r0, 0x4 - beq _08029834 - b _08029876 -_080297F0: - bl sub_8023C60 - movs r0, 0x1 - bl sub_8028B04 - ldr r0, _08029808 - ldr r0, [r0] - ldr r1, _0802980C - adds r0, r1 - ldr r1, _08029810 - strh r1, [r0] - b _08029876 - .align 2, 0 -_08029808: .4byte gUnknown_203B2C0 -_0802980C: .4byte 0x00000544 -_08029810: .4byte 0x0000ffff -_08029814: - bl sub_8023B44 - ldr r1, _0802982C - ldr r1, [r1] - ldr r2, _08029830 - adds r1, r2 - strh r0, [r1] - movs r0, 0x34 - bl sub_8028B04 - b _08029876 - .align 2, 0 -_0802982C: .4byte gUnknown_203B2C0 -_08029830: .4byte 0x00000544 -_08029834: - ldr r4, _0802987C - ldr r1, [r4] - movs r0, 0x33 - str r0, [r1] - bl sub_8023B44 - adds r2, r0, 0 - ldr r0, [r4] - ldr r5, _08029880 - adds r1, r0, r5 - strh r2, [r1] - 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, [r4] - adds r0, r5 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r1, 0 - bl sub_8024458 - movs r0, 0x35 - bl sub_8028B04 -_08029876: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802987C: .4byte gUnknown_203B2C0 -_08029880: .4byte 0x00000544 - thumb_func_end sub_80297D4 - - thumb_func_start sub_8029884 -sub_8029884: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_8023A94 - ldr r4, _080298C8 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _080298B6 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_080298B6: - ldr r0, [sp] - cmp r0, 0xA - beq _0802991C - cmp r0, 0xA - bgt _080298CC - cmp r0, 0x4 - beq _0802991C - b _08029938 - .align 2, 0 -_080298C8: .4byte gUnknown_203B2C0 -_080298CC: - cmp r0, 0xB - beq _080298D6 - cmp r0, 0xC - beq _080298E2 - b _08029938 -_080298D6: - bl sub_8023C60 - movs r0, 0x4 - bl sub_8028B04 - b _08029938 -_080298E2: - ldr r0, [r4] - movs r1, 0x3D - str r1, [r0] - 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, [r4] - ldr r1, _08029918 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0 - bl sub_8024458 - movs r0, 0x35 - bl sub_8028B04 - b _08029938 - .align 2, 0 -_08029918: .4byte 0x00000544 -_0802991C: - ldr r0, _08029940 - ldr r0, [r0] - movs r1, 0xD7 - lsls r1, 2 - adds r0, r1 - movs r1, 0x3 - bl sub_8035CC0 - movs r0, 0x1 - bl sub_8023B7C - movs r0, 0x33 - bl sub_8028B04 -_08029938: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08029940: .4byte gUnknown_203B2C0 - thumb_func_end sub_8029884 - - thumb_func_start sub_8029944 -sub_8029944: - push {r4,lr} - bl sub_80244E4 - cmp r0, 0x1 - bne _08029954 - bl sub_802452C - b _080299A4 -_08029954: - cmp r0, 0x1 - bcc _080299A4 - cmp r0, 0x3 - bhi _080299A4 - bl sub_802453C - bl sub_8004914 - ldr r4, _0802999C - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - bl sub_8023B7C - ldr r4, [r4] - ldr r0, [r4] - cmp r0, 0x3D - bne _080299A0 - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, r1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x34 - bl sub_8028B04 - b _080299A4 - .align 2, 0 -_0802999C: .4byte gUnknown_203B2C0 -_080299A0: - bl sub_8028B04 -_080299A4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8029944 - - thumb_func_start sub_80299AC -sub_80299AC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080299D2 - ldr r0, [sp] - cmp r0, 0xA - beq _080299CC - cmp r0, 0x12 - bne _080299D2 - movs r0, 0x4 - bl sub_8028B04 - b _080299D2 -_080299CC: - movs r0, 0x1 - bl sub_8028B04 -_080299D2: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80299AC - - thumb_func_start sub_80299D8 -sub_80299D8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08029A12 - ldr r0, [sp] - cmp r0, 0x9 - beq _08029A04 - cmp r0, 0x9 - bgt _080299F6 - cmp r0, 0x8 - beq _080299FC - b _08029A12 -_080299F6: - cmp r0, 0xA - beq _08029A0C - b _08029A12 -_080299FC: - movs r0, 0x4 - bl sub_8028B04 - b _08029A12 -_08029A04: - movs r0, 0x32 - bl sub_8028B04 - b _08029A12 -_08029A0C: - movs r0, 0x1 - bl sub_8028B04 -_08029A12: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80299D8 - - thumb_func_start sub_8029A18 -sub_8029A18: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08029A66 - ldr r0, [sp] - cmp r0, 0x11 - beq _08029A3C - cmp r0, 0x11 - bgt _08029A36 - cmp r0, 0xA - beq _08029A60 - b _08029A66 -_08029A36: - cmp r0, 0x12 - beq _08029A58 - b _08029A66 -_08029A3C: - movs r0, 0x3 - bl sub_8024108 - lsls r0, 24 - cmp r0, 0 - beq _08029A50 - movs r0, 0x31 - bl sub_8028B04 - b _08029A66 -_08029A50: - movs r0, 0x32 - bl sub_8028B04 - b _08029A66 -_08029A58: - movs r0, 0x4 - bl sub_8028B04 - b _08029A66 -_08029A60: - movs r0, 0x1 - bl sub_8028B04 -_08029A66: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8029A18 - - thumb_func_start sub_8029A6C -sub_8029A6C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08029A80 - movs r0, 0x2E - bl sub_8028B04 -_08029A80: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8029A6C - - thumb_func_start sub_8029A88 -sub_8029A88: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08029AAA - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08029AAA - bl sub_8012750 - movs r0, 0x39 - bl sub_8028B04 -_08029AAA: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8029A88 - - thumb_func_start sub_8029AB0 -sub_8029AB0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08029AD0 - movs r0, 0x38 - bl sub_8028B04 - movs r0, 0x1 - bl sub_8011C28 - movs r0, 0 - bl sub_8012574 -_08029AD0: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8029AB0 - - thumb_func_start sub_8029AD8 -sub_8029AD8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08029AEC - movs r0, 0x3B - bl sub_8028B04 -_08029AEC: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8029AD8 - - thumb_func_start sub_8029AF4 -sub_8029AF4: - push {lr} - bl sub_8031DCC - cmp r0, 0x1 - beq _08029B2C - cmp r0, 0x1 - bcc _08029B30 - cmp r0, 0x3 - bhi _08029B30 - bl sub_8031E10 - bl sub_8004914 - ldr r0, _08029B28 - ldr r0, [r0] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x3C - bl sub_8028B04 - b _08029B30 - .align 2, 0 -_08029B28: .4byte gUnknown_203B2C0 -_08029B2C: - bl sub_8031E00 -_08029B30: - pop {r0} - bx r0 - thumb_func_end sub_8029AF4 - - thumb_func_start sub_8029B34 -sub_8029B34: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08029B48 - movs r0, 0x3 - bl sub_8028B04 -_08029B48: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8029B34 - - thumb_func_start sub_8029B50 -sub_8029B50: - push {r4,r5,lr} - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r5, _08029C3C - ldr r4, _08029C40 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 - ldr r0, _08029C44 - 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, _08029C48 - 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, _08029C4C - adds r2, r0 - movs r1, 0 - strb r1, [r2] - ldr r0, [r5] - ldr r2, _08029C50 - adds r0, r2 - strb r1, [r0] - ldr r0, [r5] - adds r3, 0xA - adds r0, r3 - strb r1, [r0] - ldr r1, [r5] - movs r0, 0x85 - lsls r0, 3 - adds r2, r1, r0 - movs r0, 0x2 - strh r0, [r2] - ldr r2, _08029C54 - adds r1, r2 - movs r0, 0x8 - strh r0, [r1] - movs r1, 0 - movs r2, 0 -_08029BD8: - ldr r0, [r5] - adds r0, 0x8 - adds r0, r1 - strb r2, [r0] - adds r1, 0x1 - cmp r1, 0x35 - ble _08029BD8 - ldr r5, _08029C3C - ldr r1, [r5] - ldr r3, _08029C58 - adds r2, r1, r3 - movs r0, 0x3 - str r0, [r2] - movs r0, 0xA7 - lsls r0, 3 - adds r1, r0 - movs r0, 0x1 - str r0, [r1] - movs r0, 0x6 - bl sub_80953D4 - adds r4, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _08029C60 - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8095228 - ldr r1, [r5] - ldr r2, _08029C5C - adds r3, r1, r2 - ldr r2, [r0, 0x20] - str r2, [r3] - movs r3, 0x86 - lsls r3, 2 - adds r1, r3 - strb r4, [r1] - ldr r1, [r5] - movs r2, 0x86 - lsls r2, 3 - adds r1, r2 - ldr r0, [r0, 0x10] - str r0, [r1] - movs r0, 0x5 - bl sub_802B2BC - b _08029C7C - .align 2, 0 -_08029C3C: .4byte gUnknown_203B2C4 -_08029C40: .4byte 0x00000564 -_08029C44: .4byte gUnknown_202E5D8 -_08029C48: .4byte gUnknown_202DF98 -_08029C4C: .4byte 0x0000042c -_08029C50: .4byte 0x0000042d -_08029C54: .4byte 0x0000042a -_08029C58: .4byte 0x00000534 -_08029C5C: .4byte 0x0000041c -_08029C60: - ldr r1, [r5] - ldr r3, _08029C8C - adds r2, r1, r3 - ldr r0, _08029C90 - ldr r0, [r0] - str r0, [r2] - movs r0, 0x86 - lsls r0, 2 - adds r1, r0 - movs r0, 0xFF - strb r0, [r1] - movs r0, 0 - bl sub_802B2BC -_08029C7C: - ldr r0, _08029C94 - ldr r1, [r0] - movs r0, 0x2B - str r0, [r1, 0x4] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08029C8C: .4byte 0x0000041c -_08029C90: .4byte gUnknown_80DED44 -_08029C94: .4byte gUnknown_203B2C4 - thumb_func_end sub_8029B50 - - thumb_func_start sub_8029C98 -sub_8029C98: - push {lr} - ldr r0, _08029CB0 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x2A - bls _08029CA6 - b _08029E58 -_08029CA6: - lsls r0, 2 - ldr r1, _08029CB4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08029CB0: .4byte gUnknown_203B2C4 -_08029CB4: .4byte _08029CB8 - .align 2, 0 -_08029CB8: - .4byte _08029E48 - .4byte _08029E48 - .4byte _08029E4E - .4byte _08029E54 - .4byte _08029E42 - .4byte _08029D64 - .4byte _08029E3C - .4byte _08029E30 - .4byte _08029E36 - .4byte _08029E2A - .4byte _08029E24 - .4byte _08029E1E - .4byte _08029E0C - .4byte _08029E06 - .4byte _08029D76 - .4byte _08029D7C - .4byte _08029D8E - .4byte _08029D82 - .4byte _08029D88 - .4byte _08029D94 - .4byte _08029D9A - .4byte _08029DA0 - .4byte _08029DE8 - .4byte _08029DF4 - .4byte _08029DEE - .4byte _08029DB2 - .4byte _08029DB8 - .4byte _08029DAC - .4byte _08029DA6 - .4byte _08029DFA - .4byte _08029D6A - .4byte _08029D70 - .4byte _08029E00 - .4byte _08029DDC - .4byte _08029DE2 - .4byte _08029E58 - .4byte _08029DD6 - .4byte _08029DD0 - .4byte _08029DC4 - .4byte _08029DCA - .4byte _08029DBE - .4byte _08029E12 - .4byte _08029E18 -_08029D64: - bl sub_802AB7C - b _08029E58 -_08029D6A: - bl sub_8029F98 - b _08029E58 -_08029D70: - bl sub_8029EA8 - b _08029E58 -_08029D76: - bl sub_802A090 - b _08029E58 -_08029D7C: - bl sub_802A158 - b _08029E58 -_08029D82: - bl sub_802A174 - b _08029E58 -_08029D88: - bl sub_802A230 - b _08029E58 -_08029D8E: - bl sub_802A0C8 - b _08029E58 -_08029D94: - bl sub_802A28C - b _08029E58 -_08029D9A: - bl sub_802A39C - b _08029E58 -_08029DA0: - bl sub_802A33C - b _08029E58 -_08029DA6: - bl sub_802A458 - b _08029E58 -_08029DAC: - bl sub_802A4AC - b _08029E58 -_08029DB2: - bl sub_802A4D4 - b _08029E58 -_08029DB8: - bl sub_802A050 - b _08029E58 -_08029DBE: - bl sub_802A9FC - b _08029E58 -_08029DC4: - bl sub_802A4F0 - b _08029E58 -_08029DCA: - bl sub_802A50C - b _08029E58 -_08029DD0: - bl sub_802A6B4 - b _08029E58 -_08029DD6: - bl sub_802A718 - b _08029E58 -_08029DDC: - bl sub_802AB60 - b _08029E58 -_08029DE2: - bl sub_802AB98 - b _08029E58 -_08029DE8: - bl sub_802A740 - b _08029E58 -_08029DEE: - bl sub_802A68C - b _08029E58 -_08029DF4: - bl sub_802A6F0 - b _08029E58 -_08029DFA: - bl sub_802A75C - b _08029E58 -_08029E00: - bl sub_802A490 - b _08029E58 -_08029E06: - bl sub_802A474 - b _08029E58 -_08029E0C: - bl sub_802A798 - b _08029E58 -_08029E12: - bl sub_802A828 - b _08029E58 -_08029E18: - bl sub_802A850 - b _08029E58 -_08029E1E: - bl sub_802A8A0 - b _08029E58 -_08029E24: - bl sub_802A8BC - b _08029E58 -_08029E2A: - bl sub_802A910 - b _08029E58 -_08029E30: - bl sub_802A98C - b _08029E58 -_08029E36: - bl sub_802A9A8 - b _08029E58 -_08029E3C: - bl sub_802AA28 - b _08029E58 -_08029E42: - bl sub_802AAAC - b _08029E58 -_08029E48: - bl sub_802AAE4 - b _08029E58 -_08029E4E: - bl sub_802AAC8 - b _08029E58 -_08029E54: - movs r0, 0x3 - b _08029E5A -_08029E58: - movs r0, 0 -_08029E5A: - pop {r1} - bx r1 - thumb_func_end sub_8029C98 - - thumb_func_start sub_8029E60 -sub_8029E60: - push {r4,lr} - ldr r4, _08029EA4 - ldr r0, [r4] - cmp r0, 0 - beq _08029E9C - 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_8030DE4 - bl sub_801B450 - bl sub_803084C - bl sub_801CBB8 - bl sub_80155F0 - bl sub_8031E10 - bl sub_802F2C0 -_08029E9C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08029EA4: .4byte gUnknown_203B2C4 - thumb_func_end sub_8029E60 - - thumb_func_start sub_8029EA8 -sub_8029EA8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08029EBC - movs r0, 0x1 - bl sub_802B2BC -_08029EBC: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8029EA8 - - thumb_func_start sub_8029EC4 -sub_8029EC4: - push {lr} - cmp r0, 0xF - bhi _08029F88 - lsls r0, 2 - ldr r1, _08029ED4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08029ED4: .4byte _08029ED8 - .align 2, 0 -_08029ED8: - .4byte _08029F88 - .4byte _08029F50 - .4byte _08029F50 - .4byte _08029F18 - .4byte _08029F20 - .4byte _08029F50 - .4byte _08029F28 - .4byte _08029F30 - .4byte _08029F88 - .4byte _08029F38 - .4byte _08029F88 - .4byte _08029F40 - .4byte _08029F88 - .4byte _08029F48 - .4byte _08029F50 - .4byte _08029F74 -_08029F18: - ldr r0, _08029F1C - b _08029F52 - .align 2, 0 -_08029F1C: .4byte gUnknown_80DEF28 -_08029F20: - ldr r0, _08029F24 - b _08029F52 - .align 2, 0 -_08029F24: .4byte gUnknown_80DEF80 -_08029F28: - ldr r0, _08029F2C - b _08029F52 - .align 2, 0 -_08029F2C: .4byte gUnknown_80DEFDC -_08029F30: - ldr r0, _08029F34 - b _08029F52 - .align 2, 0 -_08029F34: .4byte gUnknown_80DF044 -_08029F38: - ldr r0, _08029F3C - b _08029F52 - .align 2, 0 -_08029F3C: .4byte gUnknown_80DF0A0 -_08029F40: - ldr r0, _08029F44 - b _08029F52 - .align 2, 0 -_08029F44: .4byte gUnknown_80DF0A0 -_08029F48: - ldr r0, _08029F4C - b _08029F52 - .align 2, 0 -_08029F4C: .4byte gUnknown_80DF0E0 -_08029F50: - ldr r0, _08029F68 -_08029F52: - ldr r1, _08029F6C - ldr r2, [r1] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - ldr r3, _08029F70 - movs r1, 0 - bl sub_80141B4 - b _08029F88 - .align 2, 0 -_08029F68: .4byte gUnknown_80DEF04 -_08029F6C: .4byte gUnknown_203B2C4 -_08029F70: .4byte 0x0000010d -_08029F74: - ldr r0, _08029F8C - ldr r1, _08029F90 - ldr r2, [r1] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - ldr r3, _08029F94 - movs r1, 0 - bl sub_80141B4 -_08029F88: - pop {r0} - bx r0 - .align 2, 0 -_08029F8C: .4byte gUnknown_80DF138 -_08029F90: .4byte gUnknown_203B2C4 -_08029F94: .4byte 0x0000010d - thumb_func_end sub_8029EC4 - - thumb_func_start sub_8029F98 -sub_8029F98: - push {r4-r6,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - adds r6, r0, 0 - cmp r6, 0 - bne _0802A048 - ldr r4, _08029FE4 - ldr r0, [r4] - ldr r5, _08029FE8 - adds r0, r5 - movs r1, 0 - movs r2, 0x4 - bl MemoryFill8 - ldr r0, [r4] - ldr r1, _08029FEC - adds r0, r1 - strb r6, [r0] - ldr r0, [r4] - subs r1, 0x1 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, r5 - strb r6, [r0] - ldr r0, [r4] - ldr r1, [r0, 0x44] - cmp r1, 0 - bne _0802A03C - ldr r1, [r0, 0x40] - cmp r1, 0x6 - beq _08029FF0 - cmp r1, 0x7 - beq _0802A034 - b _0802A048 - .align 2, 0 -_08029FE4: .4byte gUnknown_203B2C4 -_08029FE8: .4byte 0x0000041c -_08029FEC: .4byte 0x0000041e -_08029FF0: - ldr r1, _0802A004 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x4 - beq _0802A020 - cmp r0, 0x4 - bgt _0802A008 - cmp r0, 0x3 - beq _0802A00C - b _0802A020 - .align 2, 0 -_0802A004: .4byte 0x00000534 -_0802A008: - cmp r0, 0x6 - bgt _0802A020 -_0802A00C: - ldr r0, _0802A028 - ldr r1, _0802A02C - ldr r2, [r1] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - ldr r3, _0802A030 - movs r1, 0 - bl sub_80141B4 -_0802A020: - movs r0, 0xD - bl sub_802B2BC - b _0802A048 - .align 2, 0 -_0802A028: .4byte gUnknown_80DF194 -_0802A02C: .4byte gUnknown_203B2C4 -_0802A030: .4byte 0x0000010d -_0802A034: - movs r0, 0x21 - bl sub_802B2BC - b _0802A048 -_0802A03C: - adds r0, r1, 0 - bl sub_8029EC4 - movs r0, 0x1F - bl sub_802B2BC -_0802A048: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8029F98 - - thumb_func_start sub_802A050 -sub_802A050: - push {lr} - bl sub_8031DCC - cmp r0, 0x1 - beq _0802A088 - cmp r0, 0x1 - bcc _0802A08C - cmp r0, 0x3 - bhi _0802A08C - bl sub_8031E10 - bl sub_8004914 - ldr r0, _0802A084 - ldr r0, [r0] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1B - bl sub_802B2BC - b _0802A08C - .align 2, 0 -_0802A084: .4byte gUnknown_203B2C4 -_0802A088: - bl sub_8031E00 -_0802A08C: - pop {r0} - bx r0 - thumb_func_end sub_802A050 - - thumb_func_start sub_802A090 -sub_802A090: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A0C2 - ldr r0, [sp] - cmp r0, 0x7 - beq _0802A0B4 - cmp r0, 0x7 - bgt _0802A0AE - cmp r0, 0 - beq _0802A0BC - b _0802A0C2 -_0802A0AE: - cmp r0, 0x8 - beq _0802A0BC - b _0802A0C2 -_0802A0B4: - movs r0, 0x6 - bl sub_802B2BC - b _0802A0C2 -_0802A0BC: - movs r0, 0x1 - bl sub_802B2BC -_0802A0C2: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A090 - - thumb_func_start sub_802A0C8 -sub_802A0C8: - push {r4,r5,lr} - movs r0, 0x1 - bl sub_8030768 - cmp r0, 0x3 - beq _0802A0F0 - cmp r0, 0x3 - bhi _0802A0DE - cmp r0, 0x2 - beq _0802A0E4 - b _0802A14E -_0802A0DE: - cmp r0, 0x4 - beq _0802A10C - b _0802A14E -_0802A0E4: - bl sub_803084C - movs r0, 0x1 - bl sub_802B2BC - b _0802A14E -_0802A0F0: - bl sub_80307EC - ldr r1, _0802A108 - ldr r1, [r1] - movs r2, 0x86 - lsls r2, 2 - adds r1, r2 - strb r0, [r1] - movs r0, 0x11 - bl sub_802B2BC - b _0802A14E - .align 2, 0 -_0802A108: .4byte gUnknown_203B2C4 -_0802A10C: - ldr r4, _0802A154 - ldr r1, [r4] - movs r0, 0x10 - str r0, [r1, 0x4] - bl sub_80307EC - ldr r1, [r4] - movs r5, 0x86 - lsls r5, 2 - adds r1, r5 - strb r0, [r1] - ldr r0, [r4] - 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, [r4] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x12 - bl sub_802B2BC -_0802A14E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802A154: .4byte gUnknown_203B2C4 - thumb_func_end sub_802A0C8 - - thumb_func_start sub_802A158 -sub_802A158: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A16C - movs r0, 0x10 - bl sub_802B2BC -_0802A16C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A158 - - thumb_func_start sub_802A174 -sub_802A174: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_8030768 - ldr r4, _0802A1B8 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802A1A6 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_0802A1A6: - ldr r0, [sp] - cmp r0, 0xB - beq _0802A1C6 - cmp r0, 0xB - bgt _0802A1BC - cmp r0, 0 - beq _0802A208 - b _0802A224 - .align 2, 0 -_0802A1B8: .4byte gUnknown_203B2C4 -_0802A1BC: - cmp r0, 0xC - beq _0802A1D2 - cmp r0, 0xD - beq _0802A208 - b _0802A224 -_0802A1C6: - bl sub_803084C - movs r0, 0xE - bl sub_802B2BC - b _0802A224 -_0802A1D2: - ldr r0, [r4] - movs r1, 0x2B - str r1, [r0, 0x4] - 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, [r4] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x12 - bl sub_802B2BC - b _0802A224 -_0802A208: - ldr r0, _0802A22C - ldr r0, [r0] - movs r1, 0xD7 - lsls r1, 2 - adds r0, r1 - movs r1, 0x2 - bl sub_8035CC0 - movs r0, 0x1 - bl sub_8030810 - movs r0, 0x10 - bl sub_802B2BC -_0802A224: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802A22C: .4byte gUnknown_203B2C4 - thumb_func_end sub_802A174 - - thumb_func_start sub_802A230 -sub_802A230: - push {r4,lr} - bl sub_8030DA0 - cmp r0, 0x3 - bhi _0802A284 - cmp r0, 0x2 - bcc _0802A284 - bl sub_8030DE4 - bl sub_8004914 - ldr r4, _0802A27C - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_803092C - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0x2B - bne _0802A280 - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, r1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x11 - bl sub_802B2BC - b _0802A284 - .align 2, 0 -_0802A27C: .4byte gUnknown_203B2C4 -_0802A280: - bl sub_802B2BC -_0802A284: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802A230 - - thumb_func_start sub_802A28C -sub_802A28C: - push {r4-r6,lr} - ldr r4, _0802A2C0 - ldr r0, [r4] - ldr r5, _0802A2C4 - adds r0, r5 - movs r2, 0 - strb r2, [r0] - ldr r0, [r4] - ldr r1, _0802A2C8 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - ldr r6, _0802A2CC - adds r0, r6 - strb r2, [r0] - movs r0, 0x1 - bl sub_801CA08 - cmp r0, 0x3 - beq _0802A2E2 - cmp r0, 0x3 - bhi _0802A2D0 - cmp r0, 0x2 - beq _0802A2D6 - b _0802A334 - .align 2, 0 -_0802A2C0: .4byte gUnknown_203B2C4 -_0802A2C4: .4byte 0x0000041e -_0802A2C8: .4byte 0x0000041d -_0802A2CC: .4byte 0x0000041c -_0802A2D0: - cmp r0, 0x4 - beq _0802A2FC - b _0802A334 -_0802A2D6: - bl sub_801CBB8 - movs r0, 0x1 - bl sub_802B2BC - b _0802A334 -_0802A2E2: - bl sub_801CB24 - ldr r1, [r4] - ldr r2, _0802A2F8 - adds r1, r2 - strb r0, [r1] - movs r0, 0x14 - bl sub_802B2BC - b _0802A334 - .align 2, 0 -_0802A2F8: .4byte 0x0000041e -_0802A2FC: - ldr r1, [r4] - movs r0, 0x13 - str r0, [r1, 0x4] - bl sub_801CB24 - ldr r1, [r4] - adds r1, r5 - strb r0, [r1] - ldr r0, [r4] - 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, [r4] - adds r0, r6 - bl sub_801B3C0 - movs r0, 0x15 - bl sub_802B2BC -_0802A334: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_802A28C - - thumb_func_start sub_802A33C -sub_802A33C: - push {r4,lr} - bl sub_801B410 - cmp r0, 0x1 - beq _0802A394 - cmp r0, 0x1 - bcc _0802A394 - cmp r0, 0x3 - bhi _0802A394 - bl sub_801B450 - bl sub_8004914 - ldr r4, _0802A38C - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - bl sub_801CB5C - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0x2B - bne _0802A390 - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, r1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x14 - bl sub_802B2BC - b _0802A394 - .align 2, 0 -_0802A38C: .4byte gUnknown_203B2C4 -_0802A390: - bl sub_802B2BC -_0802A394: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802A33C - - thumb_func_start sub_802A39C -sub_802A39C: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_801CA08 - ldr r4, _0802A3E0 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802A3CE - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_0802A3CE: - ldr r0, [sp] - cmp r0, 0xB - beq _0802A3EE - cmp r0, 0xB - bgt _0802A3E4 - cmp r0, 0 - beq _0802A430 - b _0802A44A - .align 2, 0 -_0802A3E0: .4byte gUnknown_203B2C4 -_0802A3E4: - cmp r0, 0xC - beq _0802A3FA - cmp r0, 0xD - beq _0802A430 - b _0802A44A -_0802A3EE: - bl sub_801CBB8 - movs r0, 0xC - bl sub_802B2BC - b _0802A44A -_0802A3FA: - ldr r0, [r4] - movs r1, 0x2B - str r1, [r0, 0x4] - 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, [r4] - ldr r1, _0802A42C - adds r0, r1 - bl sub_801B3C0 - movs r0, 0x15 - bl sub_802B2BC - b _0802A44A - .align 2, 0 -_0802A42C: .4byte 0x0000041c -_0802A430: - ldr r0, _0802A454 - ldr r0, [r0] - movs r1, 0xD7 - lsls r1, 2 - adds r0, r1 - movs r1, 0x3 - bl sub_8035CC0 - bl sub_801CCD8 - movs r0, 0x13 - bl sub_802B2BC -_0802A44A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802A454: .4byte gUnknown_203B2C4 - thumb_func_end sub_802A39C - - thumb_func_start sub_802A458 -sub_802A458: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A46C - movs r0, 0xD - bl sub_802B2BC -_0802A46C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A458 - - thumb_func_start sub_802A474 -sub_802A474: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A488 - movs r0, 0x3 - bl sub_802B2BC -_0802A488: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A474 - - thumb_func_start sub_802A490 -sub_802A490: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A4A4 - movs r0, 0x3 - bl sub_802B2BC -_0802A4A4: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A490 - - thumb_func_start sub_802A4AC -sub_802A4AC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A4CC - movs r0, 0x18 - bl sub_802B2BC - movs r0, 0x1 - bl sub_8011C28 - movs r0, 0 - bl sub_8012574 -_0802A4CC: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A4AC - - thumb_func_start sub_802A4D4 -sub_802A4D4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A4E8 - movs r0, 0x1A - bl sub_802B2BC -_0802A4E8: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A4D4 - - thumb_func_start sub_802A4F0 -sub_802A4F0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A504 - movs r0, 0x27 - bl sub_802B2BC -_0802A504: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A4F0 - - thumb_func_start sub_802A50C -sub_802A50C: - push {r4,r5,lr} - sub sp, 0x44 - bl sub_80154F0 - adds r4, r0, 0 - add r0, sp, 0x14 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - cmp r4, 0x2 - bne _0802A526 - b _0802A660 -_0802A526: - cmp r4, 0x3 - beq _0802A52C - b _0802A680 -_0802A52C: - ldr r0, _0802A54C - ldr r1, [r0] - adds r1, 0x8 - movs r0, 0x20 - add r2, sp, 0x14 - bl sub_8039068 - subs r0, 0x7 - cmp r0, 0x11 - bls _0802A542 - b _0802A654 -_0802A542: - lsls r0, 2 - ldr r1, _0802A550 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802A54C: .4byte gUnknown_203B2C4 -_0802A550: .4byte _0802A554 - .align 2, 0 -_0802A554: - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A5F0 - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A59C - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A5D8 - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A618 -_0802A59C: - ldr r0, _0802A5CC - ldr r3, _0802A5D0 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r1, _0802A5D4 - ldr r1, [r1] - 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, 0x7 - bl sub_8014248 - movs r0, 0x28 - bl sub_802B2BC - b _0802A654 - .align 2, 0 -_0802A5CC: .4byte gUnknown_80DF1C0 -_0802A5D0: .4byte gUnknown_80DEE44 -_0802A5D4: .4byte gUnknown_203B2C4 -_0802A5D8: - ldr r0, _0802A5E8 - ldr r1, _0802A5EC - ldr r2, [r1] - movs r3, 0x84 - lsls r3, 3 - adds r2, r3 - b _0802A5FC - .align 2, 0 -_0802A5E8: .4byte gUnknown_80DF208 -_0802A5EC: .4byte gUnknown_203B2C4 -_0802A5F0: - ldr r0, _0802A60C - ldr r1, _0802A610 - ldr r2, [r1] - movs r4, 0x84 - lsls r4, 3 - adds r2, r4 -_0802A5FC: - ldr r3, _0802A614 - movs r1, 0 - bl sub_80141B4 - movs r0, 0x1F - bl sub_802B2BC - b _0802A654 - .align 2, 0 -_0802A60C: .4byte gUnknown_80DF0A0 -_0802A610: .4byte gUnknown_203B2C4 -_0802A614: .4byte 0x0000010d -_0802A618: - ldr r1, [sp, 0x24] - movs r0, 0x4 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - adds r2, r0, 0 - add r1, sp, 0x14 - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - movs r1, 0x6 - strb r1, [r0] - ldr r0, _0802A65C - ldr r0, [r0] - movs r5, 0x86 - lsls r5, 3 - adds r0, r5 - ldr r1, [sp, 0x24] - str r1, [r0] - movs r0, 0x21 - bl sub_802B2BC -_0802A654: - bl sub_80155F0 - b _0802A680 - .align 2, 0 -_0802A65C: .4byte gUnknown_203B2C4 -_0802A660: - bl sub_80155F0 - bl sub_8004914 - ldr r0, _0802A688 - ldr r0, [r0] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - bl sub_802B2BC -_0802A680: - add sp, 0x44 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802A688: .4byte gUnknown_203B2C4 - thumb_func_end sub_802A50C - - thumb_func_start sub_802A68C -sub_802A68C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A6AE - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _0802A6AE - bl sub_8012750 - movs r0, 0xD - bl sub_802B2BC -_0802A6AE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A68C - - thumb_func_start sub_802A6B4 -sub_802A6B4: - push {r4,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A6E8 - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _0802A6E8 - bl sub_8012744 - adds r4, r0, 0 - bl sub_8012750 - cmp r4, 0 - bne _0802A6E2 - movs r0, 0x20 - bl sub_802B2BC - b _0802A6E8 -_0802A6E2: - movs r0, 0x3 - bl sub_802B2BC -_0802A6E8: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802A6B4 - - thumb_func_start sub_802A6F0 -sub_802A6F0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A710 - movs r0, 0x18 - bl sub_802B2BC - movs r0, 0x1 - bl sub_8011C28 - movs r0, 0 - bl sub_8012574 -_0802A710: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A6F0 - - thumb_func_start sub_802A718 -sub_802A718: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A738 - movs r0, 0x25 - bl sub_802B2BC - movs r0, 0x1 - bl sub_8011C28 - movs r0, 0 - bl sub_8012574 -_0802A738: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A718 - - thumb_func_start sub_802A740 -sub_802A740: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A754 - movs r0, 0x1E - bl sub_802B2BC -_0802A754: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A740 - - thumb_func_start sub_802A75C -sub_802A75C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A792 - ldr r0, [sp] - cmp r0, 0 - beq _0802A78C - cmp r0, 0x7 - bne _0802A792 - ldr r0, _0802A788 - ldr r0, [r0] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - movs r0, 0x16 - bl sub_802B2BC - b _0802A792 - .align 2, 0 -_0802A788: .4byte gUnknown_203B2C4 -_0802A78C: - movs r0, 0x1 - bl sub_802B2BC -_0802A792: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A75C - - thumb_func_start sub_802A798 -sub_802A798: - push {r4,r5,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A81E - ldr r0, [sp] - cmp r0, 0x7 - beq _0802A7BC - cmp r0, 0x7 - bgt _0802A7B6 - cmp r0, 0 - beq _0802A818 - b _0802A81E -_0802A7B6: - cmp r0, 0x8 - beq _0802A810 - b _0802A81E -_0802A7BC: - ldr r4, _0802A800 - ldr r0, [r4] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - bl sub_8095228 - adds r2, r0, 0 - ldr r1, [r4] - ldr r3, _0802A804 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - beq _0802A7E2 - ldr r5, _0802A808 - adds r0, r1, r5 - ldr r0, [r0] - str r0, [r2, 0x20] -_0802A7E2: - ldr r0, _0802A80C - ldr r1, [r0] - ldr r0, [r4] - adds r0, r3 - ldrb r0, [r0] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - movs r0, 0x29 - bl sub_802B2BC - b _0802A81E - .align 2, 0 -_0802A800: .4byte gUnknown_203B2C4 -_0802A804: .4byte 0x0000041e -_0802A808: .4byte 0x0000041c -_0802A80C: .4byte gUnknown_203B460 -_0802A810: - movs r0, 0xB - bl sub_802B2BC - b _0802A81E -_0802A818: - movs r0, 0x1 - bl sub_802B2BC -_0802A81E: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_802A798 - - thumb_func_start sub_802A828 -sub_802A828: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A848 - movs r0, 0x2A - bl sub_802B2BC - movs r0, 0x1 - bl sub_8011C28 - movs r0, 0 - bl sub_8012574 -_0802A848: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A828 - - thumb_func_start sub_802A850 -sub_802A850: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A89A - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _0802A89A - bl sub_8012750 - ldr r0, _0802A884 - ldr r0, [r0] - ldr r1, _0802A888 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x3 - blt _0802A89A - cmp r0, 0x4 - ble _0802A88C - cmp r0, 0x5 - beq _0802A894 - b _0802A89A - .align 2, 0 -_0802A884: .4byte gUnknown_203B2C4 -_0802A888: .4byte 0x00000534 -_0802A88C: - movs r0, 0x1D - bl sub_802B2BC - b _0802A89A -_0802A894: - movs r0, 0x19 - bl sub_802B2BC -_0802A89A: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A850 - - thumb_func_start sub_802A8A0 -sub_802A8A0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A8B4 - movs r0, 0x13 - bl sub_802B2BC -_0802A8B4: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A8A0 - - thumb_func_start sub_802A8BC -sub_802A8BC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A90A - ldr r0, [sp] - cmp r0, 0 - beq _0802A904 - cmp r0, 0xA - bne _0802A90A - ldr r0, _0802A8EC - ldr r0, [r0] - ldr r1, _0802A8F0 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x3 - blt _0802A90A - cmp r0, 0x4 - ble _0802A8F4 - cmp r0, 0x5 - beq _0802A8FC - b _0802A90A - .align 2, 0 -_0802A8EC: .4byte gUnknown_203B2C4 -_0802A8F0: .4byte 0x00000534 -_0802A8F4: - movs r0, 0x1D - bl sub_802B2BC - b _0802A90A -_0802A8FC: - movs r0, 0x19 - bl sub_802B2BC - b _0802A90A -_0802A904: - movs r0, 0x1 - bl sub_802B2BC -_0802A90A: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A8BC - - thumb_func_start sub_802A910 -sub_802A910: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A986 - ldr r0, [sp] - cmp r0, 0x9 - beq _0802A934 - cmp r0, 0x9 - bgt _0802A92E - cmp r0, 0 - beq _0802A980 - b _0802A986 -_0802A92E: - cmp r0, 0xA - beq _0802A950 - b _0802A986 -_0802A934: - movs r0, 0 - bl sub_801CF14 - lsls r0, 24 - cmp r0, 0 - beq _0802A948 - movs r0, 0xA - bl sub_802B2BC - b _0802A986 -_0802A948: - movs r0, 0xB - bl sub_802B2BC - b _0802A986 -_0802A950: - ldr r0, _0802A968 - ldr r0, [r0] - ldr r1, _0802A96C - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x3 - blt _0802A986 - cmp r0, 0x4 - ble _0802A970 - cmp r0, 0x5 - beq _0802A978 - b _0802A986 - .align 2, 0 -_0802A968: .4byte gUnknown_203B2C4 -_0802A96C: .4byte 0x00000534 -_0802A970: - movs r0, 0x1D - bl sub_802B2BC - b _0802A986 -_0802A978: - movs r0, 0x19 - bl sub_802B2BC - b _0802A986 -_0802A980: - movs r0, 0x1 - bl sub_802B2BC -_0802A986: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A910 - - thumb_func_start sub_802A98C -sub_802A98C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A9A0 - movs r0, 0x8 - bl sub_802B2BC -_0802A9A0: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A98C - - thumb_func_start sub_802A9A8 -sub_802A9A8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A9F6 - ldr r0, [sp] - cmp r0, 0 - beq _0802A9F0 - cmp r0, 0x7 - bne _0802A9F6 - ldr r0, _0802A9D8 - ldr r0, [r0] - ldr r1, _0802A9DC - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x3 - blt _0802A9F6 - cmp r0, 0x4 - ble _0802A9E0 - cmp r0, 0x5 - beq _0802A9E8 - b _0802A9F6 - .align 2, 0 -_0802A9D8: .4byte gUnknown_203B2C4 -_0802A9DC: .4byte 0x00000534 -_0802A9E0: - movs r0, 0x1D - bl sub_802B2BC - b _0802A9F6 -_0802A9E8: - movs r0, 0x19 - bl sub_802B2BC - b _0802A9F6 -_0802A9F0: - movs r0, 0x1 - bl sub_802B2BC -_0802A9F6: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A9A8 - - thumb_func_start sub_802A9FC -sub_802A9FC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802AA22 - ldr r0, [sp] - cmp r0, 0 - beq _0802AA1C - cmp r0, 0x7 - bne _0802AA22 - movs r0, 0x26 - bl sub_802B2BC - b _0802AA22 -_0802AA1C: - movs r0, 0x1 - bl sub_802B2BC -_0802AA22: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A9FC - - thumb_func_start sub_802AA28 -sub_802AA28: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802AAA6 - ldr r2, [sp] - cmp r2, 0 - beq _0802AAA0 - cmp r2, 0 - blt _0802AAA6 - cmp r2, 0x5 - bgt _0802AAA6 - cmp r2, 0x3 - blt _0802AAA6 - ldr r0, _0802AA7C - ldr r0, [r0] - ldr r3, _0802AA80 - adds r1, r0, r3 - str r2, [r1] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x1 - bne _0802AA8C - movs r0, 0x5 - bl sub_80953D4 - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0 - beq _0802AA84 - movs r0, 0x7 - bl sub_802B2BC - b _0802AAA6 - .align 2, 0 -_0802AA7C: .4byte gUnknown_203B2C4 -_0802AA80: .4byte 0x00000534 -_0802AA84: - movs r0, 0x9 - bl sub_802B2BC - b _0802AAA6 -_0802AA8C: - cmp r2, 0x5 - bne _0802AA98 - movs r0, 0x26 - bl sub_802B2BC - b _0802AAA6 -_0802AA98: - movs r0, 0x1D - bl sub_802B2BC - b _0802AAA6 -_0802AAA0: - movs r0, 0x1 - bl sub_802B2BC -_0802AAA6: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802AA28 - - thumb_func_start sub_802AAAC -sub_802AAAC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802AAC0 - movs r0, 0x1 - bl sub_802B2BC -_0802AAC0: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802AAAC - - thumb_func_start sub_802AAC8 -sub_802AAC8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802AADC - movs r0, 0x3 - bl sub_802B2BC -_0802AADC: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802AAC8 - - thumb_func_start sub_802AAE4 -sub_802AAE4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802AB5A - ldr r2, [sp] - cmp r2, 0x1 - beq _0802AB08 - cmp r2, 0x1 - bgt _0802AB02 - cmp r2, 0 - beq _0802AB54 - b _0802AB5A -_0802AB02: - cmp r2, 0x2 - beq _0802AB38 - b _0802AB5A -_0802AB08: - ldr r0, _0802AB2C - ldr r0, [r0] - movs r1, 0x6 - str r1, [r0, 0x40] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - str r2, [r0] - movs r0, 0x5 - bl sub_8095324 - cmp r0, 0 - bne _0802AB30 - movs r0, 0x4 - bl sub_802B2BC - b _0802AB5A - .align 2, 0 -_0802AB2C: .4byte gUnknown_203B2C4 -_0802AB30: - movs r0, 0xF - bl sub_802B2BC - b _0802AB5A -_0802AB38: - ldr r0, _0802AB50 - ldr r0, [r0] - movs r1, 0x7 - str r1, [r0, 0x40] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - str r2, [r0] - movs r0, 0x6 - bl sub_802B2BC - b _0802AB5A - .align 2, 0 -_0802AB50: .4byte gUnknown_203B2C4 -_0802AB54: - movs r0, 0x2 - bl sub_802B2BC -_0802AB5A: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802AAE4 - - thumb_func_start sub_802AB60 -sub_802AB60: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802AB74 - movs r0, 0x22 - bl sub_802B2BC -_0802AB74: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802AB60 - - thumb_func_start sub_802AB7C -sub_802AB7C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802AB90 - movs r0, 0x22 - bl sub_802B2BC -_0802AB90: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802AB7C - - thumb_func_start sub_802AB98 -sub_802AB98: - push {r4,lr} - bl sub_802F298 - cmp r0, 0x3 - bne _0802ABE0 - bl sub_802F2C0 - ldr r0, _0802ABE8 - 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, _0802ABEC - bl strcpy - ldr r0, _0802ABF0 - ldr r0, [r0] - movs r1, 0x86 - lsls r1, 3 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x6 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095240 - movs r0, 0x24 - bl sub_802B2BC -_0802ABE0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802ABE8: .4byte gUnknown_202E5D8 -_0802ABEC: .4byte gUnknown_202DF98 -_0802ABF0: .4byte gUnknown_203B2C4 - thumb_func_end sub_802AB98 - - thumb_func_start nullsub_131 -nullsub_131: - bx lr - thumb_func_end nullsub_131 - - thumb_func_start sub_802ABF8 -sub_802ABF8: - push {r4-r6,lr} - sub sp, 0xB8 - ldr r1, _0802AC14 - ldr r0, [r1] - ldrb r0, [r0] - adds r6, r1, 0 - cmp r0, 0x2A - bls _0802AC0A - b _0802B2AA -_0802AC0A: - lsls r0, 2 - ldr r1, _0802AC18 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802AC14: .4byte gUnknown_203B2C4 -_0802AC18: .4byte _0802AC1C - .align 2, 0 -_0802AC1C: - .4byte _0802B1DC - .4byte _0802B1FC - .4byte _0802B22C - .4byte _0802B2AA - .4byte _0802B1D4 - .4byte _0802ACC8 - .4byte _0802B248 - .4byte _0802B194 - .4byte _0802B1A4 - .4byte _0802B168 - .4byte _0802B138 - .4byte _0802B128 - .4byte _0802B0F0 - .4byte _0802B0AC - .4byte _0802AD08 - .4byte _0802AD18 - .4byte _0802AD20 - .4byte _0802AD46 - .4byte _0802B2AA - .4byte _0802AD80 - .4byte _0802ADB0 - .4byte _0802B2AA - .4byte _0802B07C - .4byte _0802B094 - .4byte _0802B2AA - .4byte _0802AF50 - .4byte _0802AF1A - .4byte _0802AF46 - .4byte _0802B2AA - .4byte _0802B0A4 - .4byte _0802ADF8 - .4byte _0802B2AA - .4byte _0802AF70 - .4byte _0802AF78 - .4byte _0802AFAC - .4byte _0802B2AA - .4byte _0802AF60 - .4byte _0802B2AA - .4byte _0802AEEC - .4byte _0802AEF4 - .4byte _0802B2AA - .4byte _0802B110 - .4byte _0802B120 -_0802ACC8: - bl sub_808D33C - adds r1, r0, 0 - adds r1, 0x4C - add r0, sp, 0x14 - movs r2, 0xA - bl sub_80922B4 - ldr r5, _0802ACF8 - ldr r0, [r5] - ldr r4, _0802ACFC - adds r0, r4 - ldr r1, _0802AD00 - add r2, sp, 0x14 - bl sub_800D158 - ldr r2, [r5] - adds r4, r2, r4 - movs r0, 0x84 - lsls r0, 3 - adds r2, r0 - ldr r3, _0802AD04 - adds r0, r4, 0 - b _0802B238 - .align 2, 0 -_0802ACF8: .4byte gUnknown_203B2C4 -_0802ACFC: .4byte 0x00000434 -_0802AD00: .4byte gUnknown_80DF250 -_0802AD04: .4byte 0x0000010d -_0802AD08: - ldr r0, _0802AD10 - ldr r3, _0802AD14 - b _0802B1A8 - .align 2, 0 -_0802AD10: .4byte gUnknown_80DF304 -_0802AD14: .4byte gUnknown_80DEE60 -_0802AD18: - ldr r0, _0802AD1C - b _0802B22E - .align 2, 0 -_0802AD1C: .4byte gUnknown_80DF330 -_0802AD20: - bl sub_8030894 - cmp r0, 0 - beq _0802AD2A - b _0802B2AA -_0802AD2A: - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x5 - movs r1, 0 - movs r2, 0 - movs r3, 0x6 - bl sub_80306A8 - b _0802B2AA -_0802AD46: - 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, _0802AD78 - ldr r2, _0802AD7C - 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 - b _0802ADE0 - .align 2, 0 -_0802AD78: .4byte gUnknown_80DED60 -_0802AD7C: .4byte gUnknown_80DED78 -_0802AD80: - bl sub_801D008 - cmp r0, 0 - beq _0802AD8A - b _0802B2AA -_0802AD8A: - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - add r2, sp, 0xB4 - ldr r0, _0802ADAC - str r0, [r2] - movs r0, 0 - movs r1, 0x1 - movs r3, 0x9 - bl sub_801C8C4 - b _0802B2AA - .align 2, 0 -_0802ADAC: .4byte 0x00020003 -_0802ADB0: - 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, _0802ADF0 - ldr r2, _0802ADF4 - 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_801CCD8 -_0802ADE0: - ldr r0, [r6] - adds r0, r5 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - b _0802B2AA - .align 2, 0 -_0802ADF0: .4byte gUnknown_80DED48 -_0802ADF4: .4byte gUnknown_80DED78 -_0802ADF8: - ldr r1, [r6] - movs r0, 0 - str r0, [r1, 0x44] - bl sub_8011830 - ldr r0, [r6] - ldr r0, [r0, 0x40] - bl sub_8037B28 - ldr r1, [r6] - str r0, [r1, 0x44] - cmp r0, 0 - bne _0802AEE6 - ldr r0, [r1, 0x40] - cmp r0, 0x6 - beq _0802AE1E - cmp r0, 0x7 - beq _0802AE5C - b _0802AE8C -_0802AE1E: - movs r4, 0xDC - lsls r4, 1 - adds r0, r1, r4 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r5, 0x86 - lsls r5, 2 - adds r0, r5 - ldrb r0, [r0] - bl sub_8095228 - ldr r1, [r6] - adds r1, r4 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r2, [r6] - ldr r0, [r2, 0x40] - adds r4, r2, r4 - movs r1, 0xF4 - lsls r1, 1 - adds r2, r1 - b _0802AE82 -_0802AE5C: - movs r4, 0xDC - lsls r4, 1 - adds r0, r1, r4 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r5, 0xF4 - lsls r5, 1 - adds r0, r5 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r2, [r6] - ldr r0, [r2, 0x40] - adds r4, r2, r4 - adds r2, r5 -_0802AE82: - adds r1, r4, 0 - bl sub_8037D64 - ldr r1, [r6] - str r0, [r1, 0x44] -_0802AE8C: - ldr r4, _0802AED0 - ldr r2, [r4] - ldr r0, [r2, 0x44] - cmp r0, 0 - bne _0802AEE6 - ldr r0, [r2, 0x40] - cmp r0, 0x7 - bhi _0802AEE6 - cmp r0, 0x6 - bcc _0802AEE6 - movs r3, 0xDC - lsls r3, 1 - adds r1, r2, r3 - movs r5, 0xF4 - lsls r5, 1 - adds r2, r5 - bl sub_80381F4 - ldr r1, [r4] - str r0, [r1, 0x44] - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - beq _0802AED4 - ldr r0, [r4] - movs r2, 0x86 - lsls r2, 3 - adds r1, r0, r2 - movs r3, 0xFC - lsls r3, 1 - adds r0, r3 - b _0802AEE2 - .align 2, 0 -_0802AED0: .4byte gUnknown_203B2C4 -_0802AED4: - ldr r0, [r4] - movs r5, 0x86 - lsls r5, 3 - adds r1, r0, r5 - movs r2, 0xE4 - lsls r2, 1 - adds r0, r2 -_0802AEE2: - ldr r0, [r0] - str r0, [r1] -_0802AEE6: - bl sub_8011854 - b _0802B2AA -_0802AEEC: - ldr r0, _0802AEF0 - b _0802B22E - .align 2, 0 -_0802AEF0: .4byte gUnknown_80DF380 -_0802AEF4: - ldr r0, [r6] - movs r5, 0xEF - lsls r5, 2 - adds r0, r5 - 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 _0802B2AA -_0802AF1A: - 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 _0802B2AA -_0802AF46: - ldr r0, _0802AF4C - b _0802B22E - .align 2, 0 -_0802AF4C: .4byte gUnknown_80DF3B4 -_0802AF50: - ldr r0, _0802AF5C - ldr r2, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r2, r5 - b _0802B236 - .align 2, 0 -_0802AF5C: .4byte gUnknown_80DF418 -_0802AF60: - ldr r0, _0802AF6C - ldr r2, [r6] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - b _0802B236 - .align 2, 0 -_0802AF6C: .4byte gUnknown_80DF44C -_0802AF70: - ldr r0, _0802AF74 - b _0802B22E - .align 2, 0 -_0802AF74: .4byte gUnknown_80DF46C -_0802AF78: - ldr r0, [r6] - ldr r5, _0802AF90 - adds r0, r5 - ldr r0, [r0] - cmp r0, 0x4 - bne _0802AF86 - b _0802B2AA -_0802AF86: - cmp r0, 0x4 - bgt _0802AF94 - cmp r0, 0x3 - beq _0802AF9A - b _0802B2AA - .align 2, 0 -_0802AF90: .4byte 0x00000534 -_0802AF94: - cmp r0, 0x6 - ble _0802AF9A - b _0802B2AA -_0802AF9A: - ldr r0, _0802AFA8 - ldr r2, [r6] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - b _0802B236 - .align 2, 0 -_0802AFA8: .4byte gUnknown_80DF4F4 -_0802AFAC: - movs r4, 0x98 - lsls r4, 1 - adds r0, r4, 0 - bl sub_808D994 - adds r1, r0, 0 - ldr r5, _0802B00C - ldr r0, [r5] - ldr r2, _0802B010 - adds r0, r2 - bl strcpy - ldr r1, [r5] - movs r3, 0xAA - lsls r3, 3 - adds r0, r1, r3 - movs r2, 0 - strh r4, [r0] - ldr r0, _0802B014 - adds r1, r0 - movs r0, 0x2 - strb r0, [r1] - ldr r0, [r5] - adds r3, 0x4 - adds r1, r0, r3 - str r2, [r1] - movs r1, 0x86 - lsls r1, 3 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x6 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - adds r2, r0, 0 - adds r0, 0x22 - ldrb r1, [r0] - cmp r1, 0 - beq _0802B018 - ldr r0, [r5] - movs r3, 0xAB - lsls r3, 3 - adds r0, r3 - b _0802B022 - .align 2, 0 -_0802B00C: .4byte gUnknown_203B2C4 -_0802B010: .4byte 0x0000053c -_0802B014: .4byte 0x00000552 -_0802B018: - ldr r0, [r5] - movs r5, 0xAB - lsls r5, 3 - adds r0, r5 - movs r1, 0 -_0802B022: - strb r1, [r0] - ldr r4, _0802B068 - ldr r0, [r4] - ldr r1, _0802B06C - adds r0, r1 - movs r5, 0 - movs r1, 0x1 - strb r1, [r0] - adds r0, r2, 0x4 - movs r1, 0 - bl sub_803C200 - ldr r1, [r4] - movs r3, 0xAC - lsls r3, 3 - adds r2, r1, r3 - str r0, [r2] - ldr r0, _0802B070 - adds r1, r0 - strb r5, [r1] - ldr r0, [r4] - ldr r1, _0802B074 - adds r0, r1 - strb r5, [r0] - ldr r0, [r4] - ldr r2, _0802B078 - adds r0, r2 - strb r5, [r0] - ldr r0, [r4] - subs r3, 0x24 - adds r0, r3 - movs r1, 0 - bl sub_802F204 - b _0802B2AA - .align 2, 0 -_0802B068: .4byte gUnknown_203B2C4 -_0802B06C: .4byte 0x0000055b -_0802B070: .4byte 0x00000559 -_0802B074: .4byte 0x0000055a -_0802B078: .4byte 0x0000055c -_0802B07C: - movs r0, 0 - bl nullsub_23 - ldr r0, _0802B090 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80141B4 - b _0802B2AA - .align 2, 0 -_0802B090: .4byte gUnknown_80DF544 -_0802B094: - ldr r0, _0802B0A0 - ldr r2, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r2, r5 - b _0802B236 - .align 2, 0 -_0802B0A0: .4byte gUnknown_80DF594 -_0802B0A4: - ldr r0, _0802B0A8 - b _0802B1A6 - .align 2, 0 -_0802B0A8: .4byte gUnknown_80DF5E4 -_0802B0AC: - bl sub_808D33C - adds r1, r0, 0 - add r6, sp, 0x64 - adds r1, 0x4C - adds r0, r6, 0 - movs r2, 0xA - bl sub_80922B4 - ldr r5, _0802B0E0 - ldr r0, [r5] - ldr r4, _0802B0E4 - adds r0, r4 - ldr r1, _0802B0E8 - adds r2, r6, 0 - bl sub_800D158 - ldr r2, [r5] - adds r4, r2, r4 - movs r3, 0x84 - lsls r3, 3 - adds r2, r3 - ldr r3, _0802B0EC - adds r0, r4, 0 - b _0802B238 - .align 2, 0 -_0802B0E0: .4byte gUnknown_203B2C4 -_0802B0E4: .4byte 0x00000434 -_0802B0E8: .4byte gUnknown_80DF63C -_0802B0EC: .4byte 0x0000010d -_0802B0F0: - ldr r0, _0802B108 - ldr r3, _0802B10C - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r1, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r1, r5 - b _0802B1BA - .align 2, 0 -_0802B108: .4byte gUnknown_80DF694 -_0802B10C: .4byte gUnknown_80DEEE4 -_0802B110: - ldr r0, _0802B11C - ldr r2, [r6] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - b _0802B236 - .align 2, 0 -_0802B11C: .4byte gUnknown_80DF44C -_0802B120: - ldr r0, _0802B124 - b _0802B22E - .align 2, 0 -_0802B124: .4byte gUnknown_80DF6F0 -_0802B128: - ldr r0, _0802B134 - ldr r2, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r2, r5 - b _0802B236 - .align 2, 0 -_0802B134: .4byte gUnknown_80DF710 -_0802B138: - ldr r0, _0802B160 - ldr r3, _0802B164 - 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 _0802B2AA - .align 2, 0 -_0802B160: .4byte gUnknown_80DF73C -_0802B164: .4byte gUnknown_80DEEBC -_0802B168: - ldr r0, _0802B18C - ldr r3, _0802B190 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r1, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r1, r5 - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - bl sub_8014248 - b _0802B2AA - .align 2, 0 -_0802B18C: .4byte gUnknown_80DF77C -_0802B190: .4byte gUnknown_80DEE7C -_0802B194: - ldr r0, _0802B1A0 - ldr r2, [r6] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - b _0802B236 - .align 2, 0 -_0802B1A0: .4byte gUnknown_80DF7D4 -_0802B1A4: - ldr r0, _0802B1CC -_0802B1A6: - ldr r3, _0802B1D0 -_0802B1A8: - 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 -_0802B1BA: - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x7 - bl sub_8014248 - b _0802B2AA - .align 2, 0 -_0802B1CC: .4byte gUnknown_80DF870 -_0802B1D0: .4byte gUnknown_80DEE44 -_0802B1D4: - ldr r0, _0802B1D8 - b _0802B22E - .align 2, 0 -_0802B1D8: .4byte gUnknown_80DF8B4 -_0802B1DC: - ldr r0, _0802B1F4 - ldr r3, _0802B1F8 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r1, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r1, r5 - b _0802B212 - .align 2, 0 -_0802B1F4: .4byte gUnknown_80DF8EC -_0802B1F8: .4byte gUnknown_80DEDB8 -_0802B1FC: - ldr r0, _0802B224 - ldr r3, _0802B228 - 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 -_0802B212: - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x1 - bl sub_8014248 - b _0802B2AA - .align 2, 0 -_0802B224: .4byte gUnknown_80DF928 -_0802B228: .4byte gUnknown_80DEDB8 -_0802B22C: - ldr r0, _0802B240 -_0802B22E: - ldr r2, [r6] - movs r3, 0x84 - lsls r3, 3 - adds r2, r3 -_0802B236: - ldr r3, _0802B244 -_0802B238: - movs r1, 0 - bl sub_80141B4 - b _0802B2AA - .align 2, 0 -_0802B240: .4byte gUnknown_80DF94C -_0802B244: .4byte 0x0000010d -_0802B248: - ldr r4, [r6] - movs r5, 0xA7 - lsls r5, 3 - adds r0, r4, r5 - ldr r0, [r0] - cmp r0, 0x1 - beq _0802B25C - cmp r0, 0x2 - beq _0802B288 - b _0802B2AA -_0802B25C: - ldr r0, _0802B280 - ldr r3, _0802B284 - movs r2, 0 - 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, 0x3 - bl sub_8014248 - b _0802B2AA - .align 2, 0 -_0802B280: .4byte gUnknown_80DF96C -_0802B284: .4byte gUnknown_80DEE08 -_0802B288: - ldr r0, _0802B2B4 - ldr r3, _0802B2B8 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - movs r5, 0x84 - lsls r5, 3 - adds r1, r4, r5 - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x3 - bl sub_8014248 -_0802B2AA: - add sp, 0xB8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802B2B4: .4byte gUnknown_80DF9A4 -_0802B2B8: .4byte gUnknown_80DEE08 - thumb_func_end sub_802ABF8 - - thumb_func_start sub_802B2BC -sub_802B2BC: - push {lr} - ldr r1, _0802B2D0 - ldr r1, [r1] - strb r0, [r1] - bl nullsub_131 - bl sub_802ABF8 - pop {r0} - bx r0 - .align 2, 0 -_0802B2D0: .4byte gUnknown_203B2C4 - thumb_func_end sub_802B2BC - - thumb_func_start sub_802B2D4 -sub_802B2D4: - push {r4,r5,lr} - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r5, _0802B348 - movs r4, 0xA0 - lsls r4, 1 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 - ldr r1, [r5] - movs r0, 0xFF - strb r0, [r1, 0x1] - ldr r0, _0802B34C - subs r4, 0x10 - adds r1, r4, 0 - bl sub_808D8E0 - adds r0, r4, 0 - bl sub_808DDD0 - ldr r1, [r5] - str r0, [r1, 0x4] - ldr r0, [r0, 0x4] - str r0, [r1, 0x8] - movs r2, 0 - strb r2, [r1, 0x10] - ldr r0, [r5] - strb r2, [r0, 0x11] - ldr r0, [r5] - strb r2, [r0, 0x12] - ldr r0, [r5] - movs r1, 0x2 - strh r1, [r0, 0xC] - movs r1, 0x8 - strh r1, [r0, 0xE] - adds r0, 0x1 - bl sub_8099394 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0802B350 - movs r0, 0 - bl sub_802B548 - movs r0, 0x1 - b _0802B352 - .align 2, 0 -_0802B348: .4byte gUnknown_203B2C8 -_0802B34C: .4byte gUnknown_202E5D8 -_0802B350: - movs r0, 0 -_0802B352: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_802B2D4 - - thumb_func_start sub_802B358 -sub_802B358: - push {lr} - ldr r0, _0802B370 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x5 - bhi _0802B3B2 - lsls r0, 2 - ldr r1, _0802B374 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802B370: .4byte gUnknown_203B2C8 -_0802B374: .4byte _0802B378 - .align 2, 0 -_0802B378: - .4byte _0802B390 - .4byte _0802B396 - .4byte _0802B39C - .4byte _0802B3A2 - .4byte _0802B3A8 - .4byte _0802B3AE -_0802B390: - bl sub_802B560 - b _0802B3B2 -_0802B396: - bl sub_802B57C - b _0802B3B2 -_0802B39C: - bl sub_802B5B8 - b _0802B3B2 -_0802B3A2: - bl sub_802B5FC - b _0802B3B2 -_0802B3A8: - bl sub_802B624 - b _0802B3B2 -_0802B3AE: - movs r0, 0x3 - b _0802B3B4 -_0802B3B2: - movs r0, 0 -_0802B3B4: - pop {r1} - bx r1 - thumb_func_end sub_802B358 - - thumb_func_start sub_802B3B8 -sub_802B3B8: - push {r4,lr} - ldr r4, _0802B3D8 - ldr r0, [r4] - cmp r0, 0 - beq _0802B3D2 - ldr r0, [r0, 0x4] - bl CloseFile - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802B3D2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802B3D8: .4byte gUnknown_203B2C8 - thumb_func_end sub_802B3B8 - - thumb_func_start nullsub_132 -nullsub_132: - bx lr - thumb_func_end nullsub_132 - - thumb_func_start sub_802B3E0 -sub_802B3E0: - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x28 - ldr r1, _0802B404 - ldr r0, [r1] - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x5 - bls _0802B3F8 - b _0802B532 -_0802B3F8: - lsls r0, 2 - ldr r1, _0802B408 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802B404: .4byte gUnknown_203B2C8 -_0802B408: .4byte _0802B40C - .align 2, 0 -_0802B40C: - .4byte _0802B424 - .4byte _0802B464 - .4byte _0802B50C - .4byte _0802B532 - .4byte _0802B524 - .4byte _0802B532 -_0802B424: - movs r0, 0 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _0802B438 - mov r0, sp - bl sub_80920D8 - b _0802B440 -_0802B438: - ldr r1, _0802B458 - mov r0, sp - bl strcpy -_0802B440: - ldr r4, _0802B45C - ldr r0, [r4] - adds r0, 0x14 - ldr r1, _0802B460 - mov r2, sp - bl sub_800D158 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x14 - b _0802B510 - .align 2, 0 -_0802B458: .4byte gUnknown_80DF9F0 -_0802B45C: .4byte gUnknown_203B2C8 -_0802B460: .4byte gUnknown_80DF9F8 -_0802B464: - movs r6, 0x98 - lsls r6, 1 - adds r0, r6, 0 - bl sub_808D994 - adds r1, r0, 0 - ldr r5, _0802B500 - ldr r0, [r5] - movs r2, 0x8A - lsls r2, 1 - mov r9, r2 - add r0, r9 - bl strcpy - ldr r2, [r5] - movs r3, 0x94 - lsls r3, 1 - adds r0, r2, r3 - movs r1, 0 - mov r8, r1 - movs r1, 0 - strh r6, [r0] - adds r3, 0x2 - adds r2, r3 - movs r0, 0x2 - strb r0, [r2] - ldr r0, [r5] - movs r2, 0x96 - lsls r2, 1 - adds r0, r2 - str r1, [r0] - bl sub_8097790 - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_8095228 - adds r4, r0, 0 - adds r4, 0x4 - ldr r2, [r5] - adds r2, r6 - adds r0, r4, 0 - movs r1, 0 - bl sub_803C37C - adds r0, r4, 0 - movs r1, 0 - bl sub_803C200 - ldr r2, [r5] - movs r3, 0x9C - lsls r3, 1 - adds r1, r2, r3 - str r0, [r1] - ldr r1, _0802B504 - adds r0, r2, r1 - mov r2, r8 - strb r2, [r0] - ldr r0, [r5] - subs r3, 0x6 - adds r0, r3 - strb r2, [r0] - ldr r0, [r5] - ldr r2, _0802B508 - adds r1, r0, r2 - movs r0, 0xA - strb r0, [r1] - ldr r0, [r5] - adds r3, 0x2 - adds r0, r3 - mov r1, r8 - strb r1, [r0] - ldr r0, [r5] - add r0, r9 - movs r1, 0 - bl sub_802F204 - b _0802B532 - .align 2, 0 -_0802B500: .4byte gUnknown_203B2C8 -_0802B504: .4byte 0x00000131 -_0802B508: .4byte 0x00000133 -_0802B50C: - ldr r0, _0802B51C - ldr r2, [r2] -_0802B510: - adds r2, 0x4 - ldr r3, _0802B520 - movs r1, 0 - bl sub_80141B4 - b _0802B532 - .align 2, 0 -_0802B51C: .4byte gUnknown_80DFAA8 -_0802B520: .4byte 0x0000010d -_0802B524: - ldr r0, _0802B540 - ldr r2, [r2] - adds r2, 0x4 - ldr r3, _0802B544 - movs r1, 0 - bl sub_80141B4 -_0802B532: - add sp, 0x28 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802B540: .4byte gUnknown_80DFB14 -_0802B544: .4byte 0x0000010d - thumb_func_end sub_802B3E0 - - thumb_func_start sub_802B548 -sub_802B548: - push {lr} - ldr r1, _0802B55C - ldr r1, [r1] - strb r0, [r1] - bl nullsub_132 - bl sub_802B3E0 - pop {r0} - bx r0 - .align 2, 0 -_0802B55C: .4byte gUnknown_203B2C8 - thumb_func_end sub_802B548 - - thumb_func_start sub_802B560 -sub_802B560: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802B574 - movs r0, 0x1 - bl sub_802B548 -_0802B574: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802B560 - - thumb_func_start sub_802B57C -sub_802B57C: - push {r4,lr} - bl sub_802F298 - cmp r0, 0x3 - bne _0802B5AA - bl sub_802F2C0 - ldr r0, _0802B5B0 - 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, _0802B5B4 - bl strcpy - movs r0, 0x2 - bl sub_802B548 -_0802B5AA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802B5B0: .4byte gUnknown_202E5D8 -_0802B5B4: .4byte gUnknown_202DF98 - thumb_func_end sub_802B57C - - thumb_func_start sub_802B5B8 -sub_802B5B8: - push {r4,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802B5EE - bl sub_8011C34 - adds r4, r0, 0 - ldr r0, _0802B5F8 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl sub_8095228 - movs r1, 0x4 - strb r1, [r0] - str r4, [r0, 0x28] - movs r0, 0x3 - bl sub_802B548 - movs r0, 0x1 - bl sub_8011C28 - movs r0, 0 - bl sub_8012574 -_0802B5EE: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802B5F8: .4byte gUnknown_203B2C8 - thumb_func_end sub_802B5B8 - - thumb_func_start sub_802B5FC -sub_802B5FC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802B61E - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _0802B61E - bl sub_8012750 - movs r0, 0x4 - bl sub_802B548 -_0802B61E: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802B5FC - - thumb_func_start sub_802B624 -sub_802B624: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802B638 - movs r0, 0x5 - bl sub_802B548 -_0802B638: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802B624 - - thumb_func_start sub_802B640 -sub_802B640: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - mov r8, r2 - bl sub_802B9D8 - lsls r0, 24 - cmp r0, 0 - beq _0802B65A - movs r0, 0 - b _0802B706 -_0802B65A: - ldr r5, _0802B710 - ldr r0, [r5] - cmp r0, 0 - bne _0802B66C - movs r0, 0xD4 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] -_0802B66C: - ldr r0, [r5] - str r6, [r0, 0x6C] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - adds r1, 0x74 - adds r1, r0, r1 - str r1, [r0, 0x70] - adds r0, 0x74 - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x6C] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x74 - ldr r0, _0802B714 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - cmp r4, 0 - beq _0802B6B0 - ldr r1, [r5] - ldr r2, [r1, 0x6C] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, 0x7C - adds r1, r0 - ldr r0, [r4] - str r0, [r1] -_0802B6B0: - ldr r0, [r5] - ldr r0, [r0, 0x70] - mov r1, r8 - bl sub_8012D08 - bl sub_8004914 - ldr r0, [r5] - adds r0, 0x74 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - adds r4, 0x38 - bl sub_802B9A8 - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r6, 0 - bl sub_8013818 - ldr r2, [r5] - ldr r0, _0802B718 - ldrh r1, [r0] - adds r0, r2, 0 - adds r0, 0x50 - strh r1, [r0] - ldr r0, _0802B71C - ldrh r0, [r0] - adds r1, r2, 0 - adds r1, 0x56 - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x38 - bl sub_8013984 - bl sub_802B880 - bl sub_802B8D4 - movs r0, 0x1 -_0802B706: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802B710: .4byte gUnknown_203B2CC -_0802B714: .4byte gUnknown_80DFBEC -_0802B718: .4byte gUnknown_203B2D0 -_0802B71C: .4byte gUnknown_203B2D2 - thumb_func_end sub_802B640 - - thumb_func_start sub_802B720 -sub_802B720: - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0802B73C - ldr r0, _0802B738 - ldr r0, [r0] - adds r0, 0x38 - bl sub_8013660 - movs r0, 0 - b _0802B7A2 - .align 2, 0 -_0802B738: .4byte gUnknown_203B2CC -_0802B73C: - ldr r0, _0802B754 - ldr r0, [r0] - adds r0, 0x38 - bl GetKeyPress - cmp r0, 0x2 - beq _0802B75E - cmp r0, 0x2 - bgt _0802B758 - cmp r0, 0x1 - beq _0802B768 - b _0802B77C - .align 2, 0 -_0802B754: .4byte gUnknown_203B2CC -_0802B758: - cmp r0, 0x4 - beq _0802B772 - b _0802B77C -_0802B75E: - movs r0, 0x1 - bl sub_80119D4 - movs r0, 0x2 - b _0802B7A2 -_0802B768: - movs r0, 0 - bl sub_80119D4 - movs r0, 0x3 - b _0802B7A2 -_0802B772: - movs r0, 0x4 - bl sub_80119D4 - movs r0, 0x4 - b _0802B7A2 -_0802B77C: - ldr r0, _0802B794 - ldr r0, [r0] - adds r0, 0x38 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0802B798 - movs r0, 0 - b _0802B7A2 - .align 2, 0 -_0802B794: .4byte gUnknown_203B2CC -_0802B798: - bl sub_802B880 - bl sub_802B8D4 - movs r0, 0x1 -_0802B7A2: - pop {r1} - bx r1 - thumb_func_end sub_802B720 - - thumb_func_start sub_802B7A8 -sub_802B7A8: - ldr r0, _0802B7CC - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x56 - 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, 0x50 - movs r3, 0 - ldrsh r1, [r1, r3] - adds r0, r1 - adds r0, r2, r0 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0802B7CC: .4byte gUnknown_203B2CC - thumb_func_end sub_802B7A8 - - thumb_func_start sub_802B7D0 -sub_802B7D0: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8004914 - ldr r5, _0802B818 - ldr r0, [r5] - adds r0, 0x74 - movs r1, 0 - movs r2, 0 - bl sub_800641C - bl sub_802B9A8 - adds r1, r0, 0 - ldr r0, [r5] - adds r2, r0, 0 - adds r2, 0x5A - strh r1, [r2] - adds r0, 0x38 - bl sub_8013984 - bl sub_802B880 - bl sub_802B8D4 - cmp r4, 0 - beq _0802B812 - ldr r0, [r5] - adds r0, 0x38 - bl AddMenuCursorSprite -_0802B812: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802B818: .4byte gUnknown_203B2CC - thumb_func_end sub_802B7D0 - - thumb_func_start sub_802B81C -sub_802B81C: - push {r4,r5,lr} - ldr r4, _0802B870 - ldr r2, [r4] - cmp r2, 0 - beq _0802B86A - ldr r1, _0802B874 - adds r0, r2, 0 - adds r0, 0x50 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _0802B878 - adds r0, r2, 0 - adds r0, 0x56 - ldrh r0, [r0] - strh r0, [r1] - ldr r0, [r2, 0x6C] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x74 - ldr r0, _0802B87C - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x74 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802B86A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802B870: .4byte gUnknown_203B2CC -_0802B874: .4byte gUnknown_203B2D0 -_0802B878: .4byte gUnknown_203B2D2 -_0802B87C: .4byte gUnknown_80DFBD0 - thumb_func_end sub_802B81C - - thumb_func_start sub_802B880 -sub_802B880: - push {r4,lr} - ldr r4, _0802B8D0 - ldr r0, [r4] - adds r0, 0x52 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x6C] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x82 - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x6C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x84 - strh r3, [r2] - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x74 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802B8D0: .4byte gUnknown_203B2CC - thumb_func_end sub_802B880 - - thumb_func_start sub_802B8D4 -sub_802B8D4: - push {r4-r7,lr} - sub sp, 0x8 - ldr r4, _0802B99C - ldr r0, [r4] - ldr r0, [r0, 0x6C] - bl sub_8008C54 - ldr r0, [r4] - ldr r0, [r0, 0x6C] - bl sub_80073B8 - ldr r2, _0802B9A0 - ldr r0, [r4] - ldr r3, [r0, 0x6C] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - movs r1, 0 - bl xxx_call_draw_string - ldr r0, _0802B9A4 - ldrb r0, [r0, 0x2] - lsls r0, 3 - adds r0, 0x4 - ldr r3, [r4] - adds r1, r3, 0 - adds r1, 0x56 - movs r5, 0 - ldrsh r2, [r1, r5] - adds r2, 0x1 - movs r1, 0x7 - str r1, [sp] - ldr r1, [r3, 0x6C] - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r6, 0 - ldr r0, [r4] - adds r0, 0x52 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r6, r0 - bge _0802B98A - adds r7, r4, 0 -_0802B930: - ldr r0, [r7] - adds r0, 0x38 - adds r1, r6, 0 - bl sub_8013800 - adds r5, r0, 0 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x56 - movs r3, 0 - ldrsh r2, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r2 - adds r0, r6 - adds r0, r1, r0 - ldrb r4, [r0] - ldr r3, [r1, 0x6C] - movs r0, 0xA - adds r1, r5, 0 - movs r2, 0x6 - bl sub_803B6B0 - bl sub_802BC7C - adds r0, r4, 0 - bl sub_803C190 - adds r2, r0, 0 - ldr r0, [r7] - ldr r3, [r0, 0x6C] - movs r0, 0 - str r0, [sp] - movs r0, 0x15 - adds r1, r5, 0 - bl sub_8014FF0 - adds r6, 0x1 - ldr r0, [r7] - adds r0, 0x52 - movs r5, 0 - ldrsh r0, [r0, r5] - cmp r6, r0 - blt _0802B930 -_0802B98A: - ldr r0, _0802B99C - ldr r0, [r0] - ldr r0, [r0, 0x6C] - bl sub_80073E0 - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B99C: .4byte gUnknown_203B2CC -_0802B9A0: .4byte gUnknown_80DFC04 -_0802B9A4: .4byte gUnknown_80DFBE8 - thumb_func_end sub_802B8D4 - - thumb_func_start sub_802B9A8 -sub_802B9A8: - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0802B9AE: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096E14 - lsls r0, 24 - cmp r0, 0 - beq _0802B9C6 - ldr r0, _0802B9D4 - ldr r0, [r0] - adds r0, r5 - strb r4, [r0] - adds r5, 0x1 -_0802B9C6: - adds r4, 0x1 - cmp r4, 0x37 - ble _0802B9AE - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0802B9D4: .4byte gUnknown_203B2CC - thumb_func_end sub_802B9A8 - - thumb_func_start sub_802B9D8 -sub_802B9D8: - push {r4,lr} - movs r4, 0 -_0802B9DC: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096E14 - lsls r0, 24 - cmp r0, 0 - beq _0802B9EE - movs r0, 0 - b _0802B9F6 -_0802B9EE: - adds r4, 0x1 - cmp r4, 0x37 - ble _0802B9DC - movs r0, 0x1 -_0802B9F6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B9D8 - - thumb_func_start sub_802B9FC -sub_802B9FC: - push {r4-r7,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _0802BA80 - movs r0, 0x94 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r6, 0 - strb r4, [r0, 0x4] - ldr r0, [r5] - adds r0, 0x88 - bl sub_801317C - ldr r1, [r5] - str r6, [r1, 0x24] - adds r1, 0x28 - ldr r0, _0802BA84 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldr r1, [r5] - ldr r2, _0802BA88 - adds r1, 0x40 - adds r0, r2, 0 - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - ldr r1, [r5] - adds r1, 0x58 - adds r0, r2, 0 - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - ldr r0, [r5] - adds r0, 0x70 - ldm r2!, {r1,r4,r7} - stm r0!, {r1,r4,r7} - ldm r2!, {r3,r4,r7} - stm r0!, {r3,r4,r7} - bl sub_8004914 - ldr r0, [r5] - adds r0, 0x28 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r5] - str r6, [r0, 0x8] - bl sub_802BCC4 - bl sub_802BC7C - movs r0, 0 - bl sub_802BB14 - movs r0, 0x1 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802BA80: .4byte gUnknown_203B2D4 -_0802BA84: .4byte gUnknown_80DFC34 -_0802BA88: .4byte gUnknown_80DFC18 - thumb_func_end sub_802B9FC - - thumb_func_start sub_802BA8C -sub_802BA8C: - push {lr} - ldr r0, _0802BAA4 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x1 - beq _0802BAB8 - cmp r0, 0x1 - bgt _0802BAA8 - cmp r0, 0 - beq _0802BAB2 - b _0802BAC2 - .align 2, 0 -_0802BAA4: .4byte gUnknown_203B2D4 -_0802BAA8: - cmp r0, 0x2 - beq _0802BAC2 - cmp r0, 0x3 - beq _0802BABE - b _0802BAC2 -_0802BAB2: - bl sub_802BB98 - b _0802BAC6 -_0802BAB8: - bl sub_802BC08 - b _0802BAC6 -_0802BABE: - movs r0, 0x3 - b _0802BAC8 -_0802BAC2: - movs r0, 0x2 - b _0802BAC8 -_0802BAC6: - movs r0, 0 -_0802BAC8: - pop {r1} - bx r1 - thumb_func_end sub_802BA8C - - thumb_func_start sub_802BACC -sub_802BACC: - push {r4,r5,lr} - ldr r4, _0802BB0C - ldr r2, [r4] - cmp r2, 0 - beq _0802BB06 - ldr r0, [r2, 0x24] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x28 - ldr r0, _0802BB10 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x28 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802BB06: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802BB0C: .4byte gUnknown_203B2D4 -_0802BB10: .4byte gUnknown_80DFC18 - thumb_func_end sub_802BACC - - thumb_func_start sub_802BB14 -sub_802BB14: - push {lr} - ldr r1, _0802BB24 - ldr r1, [r1] - str r0, [r1] - bl sub_802BB28 - pop {r0} - bx r0 - .align 2, 0 -_0802BB24: .4byte gUnknown_203B2D4 - thumb_func_end sub_802BB14 - - thumb_func_start sub_802BB28 -sub_802BB28: - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _0802BB94 - ldr r1, [r5] - ldr r0, [r1] - cmp r0, 0 - blt _0802BB8C - cmp r0, 0x1 - bgt _0802BB8C - ldr r0, [r1, 0x24] - bl sub_8008C54 - ldr r0, [r5] - ldr r0, [r0, 0x24] - bl sub_80073B8 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - bl sub_803C190 - adds r2, r0, 0 - ldr r0, [r5] - ldr r3, [r0, 0x24] - movs r4, 0 - str r4, [sp] - movs r0, 0xA - movs r1, 0 - bl sub_8014FF0 - ldr r3, [r5] - ldr r1, [r3, 0x8] - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x10 - adds r0, r1 - ldr r2, [r0] - ldr r3, [r3, 0x24] - str r4, [sp] - movs r0, 0x6 - movs r1, 0x14 - bl sub_8014FF0 - ldr r0, [r5] - ldr r0, [r0, 0x24] - bl sub_80073E0 - ldr r1, [r5] - ldr r0, [r1, 0x8] - adds r0, 0x1 - str r0, [r1, 0x8] -_0802BB8C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802BB94: .4byte gUnknown_203B2D4 - thumb_func_end sub_802BB28 - - thumb_func_start sub_802BB98 -sub_802BB98: - push {r4,lr} - ldr r0, _0802BBD4 - ldr r2, [r0] - ldr r1, [r2, 0xC] - adds r4, r0, 0 - cmp r1, 0 - beq _0802BBBC - ldr r0, [r2, 0x20] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0802BBB4 - bl sub_8013E54 -_0802BBB4: - ldr r1, [r4] - ldr r0, [r1, 0x20] - adds r0, 0x1 - str r0, [r1, 0x20] -_0802BBBC: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x88 - ldr r1, [r1, 0x24] - bl sub_8012A64 - cmp r0, 0x1 - beq _0802BBD8 - cmp r0, 0x2 - beq _0802BBF6 - b _0802BC02 - .align 2, 0 -_0802BBD4: .4byte gUnknown_203B2D4 -_0802BBD8: - movs r0, 0 - bl sub_80119D4 - ldr r0, [r4] - ldr r0, [r0, 0xC] - cmp r0, 0 - beq _0802BBEE - movs r0, 0x1 - bl sub_802BB14 - b _0802BC02 -_0802BBEE: - movs r0, 0x3 - bl sub_802BB14 - b _0802BC02 -_0802BBF6: - movs r0, 0x1 - bl sub_80119D4 - movs r0, 0x2 - bl sub_802BB14 -_0802BC02: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802BB98 - - thumb_func_start sub_802BC08 -sub_802BC08: - push {r4,lr} - ldr r0, _0802BC44 - ldr r3, [r0] - ldr r2, [r3, 0x8] - ldr r1, [r3, 0xC] - adds r4, r0, 0 - cmp r2, r1 - bge _0802BC2E - ldr r0, [r3, 0x20] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0802BC26 - bl sub_8013E54 -_0802BC26: - ldr r1, [r4] - ldr r0, [r1, 0x20] - adds r0, 0x1 - str r0, [r1, 0x20] -_0802BC2E: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x88 - ldr r1, [r1, 0x24] - bl sub_8012A64 - cmp r0, 0x1 - beq _0802BC48 - cmp r0, 0x2 - beq _0802BC68 - b _0802BC74 - .align 2, 0 -_0802BC44: .4byte gUnknown_203B2D4 -_0802BC48: - movs r0, 0 - bl sub_80119D4 - ldr r0, [r4] - ldr r1, [r0, 0x8] - ldr r0, [r0, 0xC] - cmp r1, r0 - bge _0802BC60 - movs r0, 0x1 - bl sub_802BB14 - b _0802BC74 -_0802BC60: - movs r0, 0x3 - bl sub_802BB14 - b _0802BC74 -_0802BC68: - movs r0, 0x1 - bl sub_80119D4 - movs r0, 0x2 - bl sub_802BB14 -_0802BC74: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802BC08 - - thumb_func_start sub_802BC7C -sub_802BC7C: - push {r4,lr} - ldr r4, _0802BCA4 - bl sub_808D3BC - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_808DA34 - ldr r0, _0802BCA8 - ldr r0, [r0] - ldrb r0, [r0, 0xB] - cmp r0, 0x1 - bne _0802BCB0 - adds r0, r4, 0 - adds r0, 0x50 - ldr r1, _0802BCAC - bl strcpy - b _0802BCBA - .align 2, 0 -_0802BCA4: .4byte gUnknown_202DF98 -_0802BCA8: .4byte gUnknown_203B46C -_0802BCAC: .4byte gUnknown_80DFC4C -_0802BCB0: - adds r0, r4, 0 - adds r0, 0x50 - ldr r1, _0802BCC0 - bl strcpy -_0802BCBA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802BCC0: .4byte gUnknown_80DFC50 - thumb_func_end sub_802BC7C - - thumb_func_start sub_802BCC4 -sub_802BCC4: - push {r4,lr} - ldr r4, _0802BCDC - ldr r0, [r4] - ldrb r0, [r0, 0x4] - bl sub_803C1A0 - adds r3, r0, 0 - ldr r1, [r4] - movs r0, 0 - str r0, [r1, 0xC] - str r3, [r1, 0x10] - b _0802BD08 - .align 2, 0 -_0802BCDC: .4byte gUnknown_203B2D4 -_0802BCE0: - cmp r0, 0x23 - bne _0802BD06 - ldrb r2, [r3, 0x1] - cmp r2, 0x50 - beq _0802BCF0 - adds r1, r3, 0x2 - cmp r2, 0x70 - bne _0802BD02 -_0802BCF0: - ldr r0, [r4] - ldr r1, [r0, 0xC] - adds r1, 0x1 - str r1, [r0, 0xC] - lsls r1, 2 - adds r0, 0x10 - adds r0, r1 - adds r1, r3, 0x2 - str r1, [r0] -_0802BD02: - adds r3, r1, 0 - b _0802BD08 -_0802BD06: - adds r3, 0x1 -_0802BD08: - ldrb r0, [r3] - cmp r0, 0 - bne _0802BCE0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802BCC4 - - thumb_func_start sub_802BD14 -sub_802BD14: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - mov r8, r2 - bl sub_802C0E8 - lsls r0, 24 - cmp r0, 0 - beq _0802BD2E - movs r0, 0 - b _0802BDD4 -_0802BD2E: - ldr r5, _0802BDE0 - ldr r0, [r5] - cmp r0, 0 - bne _0802BD40 - movs r0, 0xA4 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] -_0802BD40: - ldr r0, [r5] - str r6, [r0, 0x38] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - adds r1, 0x40 - adds r1, r0, r1 - str r1, [r0, 0x3C] - adds r0, 0x40 - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x38] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x40 - ldr r0, _0802BDE4 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldr r2, [r5] - ldr r1, [r2, 0x3C] - adds r0, r2, 0 - adds r0, 0xA0 - str r0, [r1, 0x14] - cmp r4, 0 - beq _0802BD8E - ldr r1, [r2, 0x38] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x48 - adds r1, r0 - ldr r0, [r4] - str r0, [r1] -_0802BD8E: - ldr r0, [r5] - ldr r0, [r0, 0x3C] - mov r1, r8 - bl sub_8012D34 - bl sub_8004914 - ldr r0, [r5] - adds r0, 0x40 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - adds r4, 0x4 - bl sub_802C0B8 - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r6, 0 - bl sub_8013848 - ldr r0, [r5] - ldr r1, _0802BDE8 - ldrh r1, [r1] - strh r1, [r0, 0x1C] - adds r0, 0x4 - bl sub_8013984 - bl sub_802BF30 - bl sub_802BFA0 - movs r0, 0x1 -_0802BDD4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802BDE0: .4byte gUnknown_203B2D8 -_0802BDE4: .4byte gUnknown_80DFC74 -_0802BDE8: .4byte gUnknown_203B2DC - thumb_func_end sub_802BD14 - - thumb_func_start sub_802BDEC -sub_802BDEC: - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0802BE08 - ldr r0, _0802BE04 - ldr r0, [r0] - adds r0, 0x4 - bl sub_8013660 - movs r0, 0 - b _0802BE6E - .align 2, 0 -_0802BE04: .4byte gUnknown_203B2D8 -_0802BE08: - ldr r0, _0802BE20 - ldr r0, [r0] - adds r0, 0x4 - bl GetKeyPress - cmp r0, 0x2 - beq _0802BE2A - cmp r0, 0x2 - bgt _0802BE24 - cmp r0, 0x1 - beq _0802BE34 - b _0802BE48 - .align 2, 0 -_0802BE20: .4byte gUnknown_203B2D8 -_0802BE24: - cmp r0, 0x4 - beq _0802BE3E - b _0802BE48 -_0802BE2A: - movs r0, 0x1 - bl sub_80119D4 - movs r0, 0x2 - b _0802BE6E -_0802BE34: - movs r0, 0 - bl sub_80119D4 - movs r0, 0x3 - b _0802BE6E -_0802BE3E: - movs r0, 0x4 - bl sub_80119D4 - movs r0, 0x4 - b _0802BE6E -_0802BE48: - ldr r0, _0802BE60 - ldr r0, [r0] - adds r0, 0x4 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0802BE64 - movs r0, 0 - b _0802BE6E - .align 2, 0 -_0802BE60: .4byte gUnknown_203B2D8 -_0802BE64: - bl sub_802BF30 - bl sub_802BFA0 - movs r0, 0x1 -_0802BE6E: - pop {r1} - bx r1 - thumb_func_end sub_802BDEC - - thumb_func_start sub_802BE74 -sub_802BE74: - ldr r0, _0802BE90 - ldr r1, [r0] - movs r0, 0x22 - ldrsh r2, [r1, r0] - movs r3, 0x20 - ldrsh r0, [r1, r3] - muls r0, r2 - movs r3, 0x1C - ldrsh r2, [r1, r3] - adds r0, r2 - adds r1, r0 - ldrb r0, [r1] - bx lr - .align 2, 0 -_0802BE90: .4byte gUnknown_203B2D8 - thumb_func_end sub_802BE74 - - thumb_func_start sub_802BE94 -sub_802BE94: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8004914 - ldr r5, _0802BED8 - ldr r0, [r5] - adds r0, 0x40 - movs r1, 0 - movs r2, 0 - bl sub_800641C - bl sub_802C0B8 - adds r1, r0, 0 - ldr r0, [r5] - strh r1, [r0, 0x26] - adds r0, 0x4 - bl sub_8013984 - bl sub_802BF30 - bl sub_802BFA0 - cmp r4, 0 - beq _0802BED2 - ldr r0, [r5] - adds r0, 0x4 - bl AddMenuCursorSprite -_0802BED2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802BED8: .4byte gUnknown_203B2D8 - thumb_func_end sub_802BE94 - - thumb_func_start sub_802BEDC -sub_802BEDC: - push {r4,r5,lr} - ldr r4, _0802BF24 - ldr r2, [r4] - cmp r2, 0 - beq _0802BF1C - ldr r1, _0802BF28 - ldrh r0, [r2, 0x1C] - strh r0, [r1] - ldr r0, [r2, 0x38] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x40 - ldr r0, _0802BF2C - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x40 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802BF1C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802BF24: .4byte gUnknown_203B2D8 -_0802BF28: .4byte gUnknown_203B2DC -_0802BF2C: .4byte gUnknown_80DFC5C - thumb_func_end sub_802BEDC - - thumb_func_start sub_802BF30 -sub_802BF30: - push {r4,lr} - ldr r4, _0802BF9C - ldr r0, [r4] - adds r0, 0xA0 - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA1 - strb r2, [r0] - ldr r0, [r4] - adds r0, 0xA2 - movs r1, 0xC - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA3 - strb r2, [r0] - ldr r0, [r4] - movs r1, 0x1E - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl sub_8009614 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x38] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x4E - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x38] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x50 - strh r3, [r2] - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x40 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802BF9C: .4byte gUnknown_203B2D8 - thumb_func_end sub_802BF30 - - thumb_func_start sub_802BFA0 -sub_802BFA0: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xDC - ldr r4, _0802C060 - ldr r0, [r4] - ldr r0, [r0, 0x38] - bl sub_8008C54 - ldr r0, [r4] - ldr r0, [r0, 0x38] - bl sub_80073B8 - ldr r1, [r4] - movs r2, 0x22 - ldrsh r0, [r1, r2] - lsls r0, 3 - adds r0, 0xA - ldr r2, _0802C064 - ldr r3, [r1, 0x38] - movs r1, 0 - str r1, [sp] - bl xxx_call_draw_string - movs r6, 0 - ldr r0, [r4] - movs r3, 0x1E - ldrsh r0, [r0, r3] - cmp r6, r0 - bge _0802C09A - adds r7, r4, 0 - ldr r0, _0802C068 - mov r9, r0 - add r1, sp, 0x5C - mov r8, r1 -_0802BFE8: - ldr r1, [r7] - movs r3, 0x22 - ldrsh r2, [r1, r3] - movs r3, 0x20 - ldrsh r0, [r1, r3] - muls r0, r2 - adds r0, r6 - adds r1, r0 - ldrb r0, [r1] - bl sub_8095FE8 - adds r5, r0, 0 - ldr r0, [r7] - ldr r1, [r0, 0x38] - str r1, [sp, 0x4] - adds r0, 0x4 - adds r1, r6, 0 - bl sub_8013800 - str r0, [sp, 0x4C] - ldrb r0, [r5] - cmp r0, 0x1 - bne _0802C06C - ldr r0, [r7] - adds r0, 0x4 - adds r1, r6, 0 - bl sub_8013800 - adds r4, r0, 0 - ldr r0, [r7] - ldr r3, [r0, 0x38] - movs r0, 0xA - adds r1, r4, 0 - movs r2, 0x6 - bl sub_803B6B0 - bl sub_808D33C - adds r1, r0, 0 - mov r0, r9 - bl sub_808DA34 - ldrb r0, [r5, 0x5] - bl sub_803C190 - adds r1, r0, 0 - mov r0, r8 - mov r2, r9 - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x38] - movs r0, 0 - str r0, [sp] - movs r0, 0x15 - adds r1, r4, 0 - mov r2, r8 - bl xxx_call_draw_string - b _0802C08E - .align 2, 0 -_0802C060: .4byte gUnknown_203B2D8 -_0802C064: .4byte gUnknown_80DFC8C -_0802C068: .4byte gUnknown_202DF98 -_0802C06C: - adds r0, r5, 0 - add r1, sp, 0x4 - bl sub_803B35C - adds r0, r5, 0 - bl sub_80968B0 - lsls r0, 24 - cmp r0, 0 - beq _0802C088 - mov r1, sp - adds r1, 0x47 - movs r0, 0x2 - strb r0, [r1] -_0802C088: - add r0, sp, 0x4 - bl sub_803B6D4 -_0802C08E: - adds r6, 0x1 - ldr r0, [r7] - movs r1, 0x1E - ldrsh r0, [r0, r1] - cmp r6, r0 - blt _0802BFE8 -_0802C09A: - ldr r0, _0802C0B4 - ldr r0, [r0] - ldr r0, [r0, 0x38] - bl sub_80073E0 - add sp, 0xDC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802C0B4: .4byte gUnknown_203B2D8 - thumb_func_end sub_802BFA0 - - thumb_func_start sub_802C0B8 -sub_802C0B8: - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0802C0BE: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096000 - lsls r0, 24 - cmp r0, 0 - bne _0802C0D6 - ldr r0, _0802C0E4 - ldr r0, [r0] - adds r0, r5 - strb r4, [r0] - adds r5, 0x1 -_0802C0D6: - adds r4, 0x1 - cmp r4, 0x3 - ble _0802C0BE - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0802C0E4: .4byte gUnknown_203B2D8 - thumb_func_end sub_802C0B8 - - thumb_func_start sub_802C0E8 -sub_802C0E8: - push {r4,lr} - movs r4, 0 -_0802C0EC: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096000 - lsls r0, 24 - cmp r0, 0 - bne _0802C0FE - movs r0, 0 - b _0802C106 -_0802C0FE: - adds r4, 0x1 - cmp r4, 0x3 - ble _0802C0EC - movs r0, 0x1 -_0802C106: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802C0E8 - - thumb_func_start sub_802C10C -sub_802C10C: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - mov r8, r2 - bl sub_802C4A4 - lsls r0, 24 - cmp r0, 0 - beq _0802C126 - movs r0, 0 - b _0802C1CC -_0802C126: - ldr r5, _0802C1D8 - ldr r0, [r5] - cmp r0, 0 - bne _0802C138 - movs r0, 0xA8 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] -_0802C138: - ldr r0, [r5] - str r6, [r0, 0x3C] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - adds r1, 0x44 - adds r1, r0, r1 - str r1, [r0, 0x40] - adds r0, 0x44 - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x3C] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x44 - ldr r0, _0802C1DC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldr r2, [r5] - ldr r1, [r2, 0x40] - adds r0, r2, 0 - adds r0, 0xA4 - str r0, [r1, 0x14] - cmp r4, 0 - beq _0802C186 - ldr r1, [r2, 0x3C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x4C - adds r1, r0 - ldr r0, [r4] - str r0, [r1] -_0802C186: - ldr r0, [r5] - ldr r0, [r0, 0x40] - mov r1, r8 - bl sub_8012D34 - bl sub_8004914 - ldr r0, [r5] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - adds r4, 0x8 - bl sub_802C474 - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r6, 0 - bl sub_8013848 - ldr r0, [r5] - ldr r1, _0802C1E0 - ldrh r1, [r1] - strh r1, [r0, 0x20] - adds r0, 0x8 - bl sub_8013984 - bl sub_802C328 - bl sub_802C39C - movs r0, 0x1 -_0802C1CC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802C1D8: .4byte gUnknown_203B2E0 -_0802C1DC: .4byte gUnknown_80DFCB4 -_0802C1E0: .4byte gUnknown_203B2E4 - thumb_func_end sub_802C10C - - thumb_func_start sub_802C1E4 -sub_802C1E4: - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0802C200 - ldr r0, _0802C1FC - ldr r0, [r0] - adds r0, 0x8 - bl sub_8013660 - movs r0, 0 - b _0802C266 - .align 2, 0 -_0802C1FC: .4byte gUnknown_203B2E0 -_0802C200: - ldr r0, _0802C218 - ldr r0, [r0] - adds r0, 0x8 - bl GetKeyPress - cmp r0, 0x2 - beq _0802C222 - cmp r0, 0x2 - bgt _0802C21C - cmp r0, 0x1 - beq _0802C22C - b _0802C240 - .align 2, 0 -_0802C218: .4byte gUnknown_203B2E0 -_0802C21C: - cmp r0, 0x4 - beq _0802C236 - b _0802C240 -_0802C222: - movs r0, 0x1 - bl sub_80119D4 - movs r0, 0x2 - b _0802C266 -_0802C22C: - movs r0, 0 - bl sub_80119D4 - movs r0, 0x3 - b _0802C266 -_0802C236: - movs r0, 0x4 - bl sub_80119D4 - movs r0, 0x4 - b _0802C266 -_0802C240: - ldr r0, _0802C258 - ldr r0, [r0] - adds r0, 0x8 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0802C25C - movs r0, 0 - b _0802C266 - .align 2, 0 -_0802C258: .4byte gUnknown_203B2E0 -_0802C25C: - bl sub_802C328 - bl sub_802C39C - movs r0, 0x1 -_0802C266: - pop {r1} - bx r1 - thumb_func_end sub_802C1E4 - - thumb_func_start sub_802C26C -sub_802C26C: - ldr r0, _0802C288 - ldr r1, [r0] - movs r0, 0x26 - ldrsh r2, [r1, r0] - movs r3, 0x24 - ldrsh r0, [r1, r3] - muls r0, r2 - movs r3, 0x20 - ldrsh r2, [r1, r3] - adds r0, r2 - adds r1, r0 - ldrb r0, [r1] - bx lr - .align 2, 0 -_0802C288: .4byte gUnknown_203B2E0 - thumb_func_end sub_802C26C - - thumb_func_start sub_802C28C -sub_802C28C: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8004914 - ldr r5, _0802C2D0 - ldr r0, [r5] - adds r0, 0x44 - movs r1, 0 - movs r2, 0 - bl sub_800641C - bl sub_802C474 - adds r1, r0, 0 - ldr r0, [r5] - strh r1, [r0, 0x2A] - adds r0, 0x8 - bl sub_8013984 - bl sub_802C328 - bl sub_802C39C - cmp r4, 0 - beq _0802C2CA - ldr r0, [r5] - adds r0, 0x8 - bl AddMenuCursorSprite -_0802C2CA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802C2D0: .4byte gUnknown_203B2E0 - thumb_func_end sub_802C28C - - thumb_func_start sub_802C2D4 -sub_802C2D4: - push {r4,r5,lr} - ldr r4, _0802C31C - ldr r2, [r4] - cmp r2, 0 - beq _0802C314 - ldr r1, _0802C320 - ldrh r0, [r2, 0x20] - strh r0, [r1] - ldr r0, [r2, 0x3C] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x44 - ldr r0, _0802C324 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802C314: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802C31C: .4byte gUnknown_203B2E0 -_0802C320: .4byte gUnknown_203B2E4 -_0802C324: .4byte gUnknown_80DFC9C - thumb_func_end sub_802C2D4 - - thumb_func_start sub_802C328 -sub_802C328: - push {r4,lr} - ldr r4, _0802C398 - ldr r0, [r4] - ldrh r1, [r0, 0x28] - adds r0, 0xA4 - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - ldrh r1, [r0, 0x26] - adds r0, 0xA5 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA6 - movs r1, 0xC - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA7 - strb r2, [r0] - ldr r0, [r4] - movs r1, 0x22 - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl sub_8009614 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x3C] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x52 - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x3C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x54 - strh r3, [r2] - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C398: .4byte gUnknown_203B2E0 - thumb_func_end sub_802C328 - - thumb_func_start sub_802C39C -sub_802C39C: - push {r4-r7,lr} - sub sp, 0x60 - ldr r7, _0802C3F8 - ldr r0, [r7] - ldr r0, [r0, 0x3C] - bl sub_8008C54 - ldr r0, [r7] - ldr r0, [r0, 0x3C] - bl sub_80073B8 - ldr r0, [r7] - movs r1, 0x26 - ldrsh r4, [r0, r1] - lsls r4, 3 - adds r5, r4, 0 - adds r5, 0xA - ldr r2, _0802C3FC - ldr r3, [r0, 0x3C] - movs r0, 0 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - bl xxx_call_draw_string - adds r4, 0x4 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0xA6 - ldrb r0, [r0] - lsls r0, 3 - adds r5, r4, r0 - movs r3, 0x26 - ldrsh r2, [r1, r3] - adds r2, 0x1 - movs r0, 0x7 - str r0, [sp] - ldr r0, [r1, 0x3C] - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r6, 0 - b _0802C452 - .align 2, 0 -_0802C3F8: .4byte gUnknown_203B2E0 -_0802C3FC: .4byte gUnknown_80DFCCC -_0802C400: - ldr r1, [r7] - movs r3, 0x26 - ldrsh r2, [r1, r3] - movs r3, 0x24 - ldrsh r0, [r1, r3] - muls r0, r2 - adds r0, r6 - adds r1, r0 - ldrb r5, [r1] - adds r0, r5, 0 - bl sub_8096574 - adds r4, r0, 0 - ldr r0, [r7] - ldr r1, [r0, 0x3C] - str r1, [sp, 0x8] - adds r0, 0x8 - adds r1, r6, 0 - bl sub_8013800 - str r0, [sp, 0x50] - adds r0, r4, 0 - add r1, sp, 0x8 - bl sub_803B35C - adds r0, r5, 0 - bl sub_8096574 - bl sub_80968B0 - lsls r0, 24 - cmp r0, 0 - beq _0802C44A - mov r1, sp - adds r1, 0x4B - movs r0, 0x2 - strb r0, [r1] -_0802C44A: - add r0, sp, 0x8 - bl sub_803B6D4 - adds r6, 0x1 -_0802C452: - ldr r0, [r7] - movs r1, 0x22 - ldrsh r0, [r0, r1] - cmp r6, r0 - blt _0802C400 - ldr r0, _0802C470 - ldr r0, [r0] - ldr r0, [r0, 0x3C] - bl sub_80073E0 - add sp, 0x60 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802C470: .4byte gUnknown_203B2E0 - thumb_func_end sub_802C39C - - thumb_func_start sub_802C474 -sub_802C474: - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0802C47A: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_809658C - lsls r0, 24 - cmp r0, 0 - bne _0802C492 - ldr r0, _0802C4A0 - ldr r0, [r0] - adds r0, r5 - strb r4, [r0] - adds r5, 0x1 -_0802C492: - adds r4, 0x1 - cmp r4, 0x7 - ble _0802C47A - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0802C4A0: .4byte gUnknown_203B2E0 - thumb_func_end sub_802C474 - - thumb_func_start sub_802C4A4 -sub_802C4A4: - push {r4,lr} - movs r4, 0 -_0802C4A8: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_809658C - lsls r0, 24 - cmp r0, 0 - bne _0802C4BA - movs r0, 0 - b _0802C4C2 -_0802C4BA: - adds r4, 0x1 - cmp r4, 0x7 - ble _0802C4A8 - movs r0, 0x1 -_0802C4C2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802C4A4 - - thumb_func_start sub_802C4C8 -sub_802C4C8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - mov r8, r2 - bl sub_802C83C - lsls r0, 24 - cmp r0, 0 - beq _0802C4E2 - movs r0, 0 - b _0802C580 -_0802C4E2: - ldr r5, _0802C58C - movs r0, 0xA8 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - str r6, [r0, 0x3C] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - adds r1, 0x44 - adds r1, r0, r1 - str r1, [r0, 0x40] - adds r0, 0x44 - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x3C] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x44 - ldr r0, _0802C590 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldr r2, [r5] - ldr r1, [r2, 0x40] - adds r0, r2, 0 - adds r0, 0xA4 - str r0, [r1, 0x14] - cmp r4, 0 - beq _0802C53A - ldr r1, [r2, 0x3C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x4C - adds r1, r0 - ldr r0, [r4] - str r0, [r1] -_0802C53A: - ldr r0, [r5] - ldr r0, [r0, 0x40] - mov r1, r8 - bl sub_8012D34 - bl sub_8004914 - ldr r0, [r5] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - adds r4, 0x8 - bl sub_802C80C - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r6, 0 - bl sub_8013848 - ldr r0, [r5] - ldr r1, _0802C594 - ldrh r1, [r1] - strh r1, [r0, 0x20] - adds r0, 0x8 - bl sub_8013984 - bl sub_802C6DC - bl sub_802C750 - movs r0, 0x1 -_0802C580: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802C58C: .4byte gUnknown_203B2E8 -_0802C590: .4byte gUnknown_80DFCFC -_0802C594: .4byte gUnknown_203B2EC - thumb_func_end sub_802C4C8 - - thumb_func_start sub_802C598 -sub_802C598: - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0802C5B4 - ldr r0, _0802C5B0 - ldr r0, [r0] - adds r0, 0x8 - bl sub_8013660 - movs r0, 0 - b _0802C61A - .align 2, 0 -_0802C5B0: .4byte gUnknown_203B2E8 -_0802C5B4: - ldr r0, _0802C5CC - ldr r0, [r0] - adds r0, 0x8 - bl GetKeyPress - cmp r0, 0x2 - beq _0802C5D6 - cmp r0, 0x2 - bgt _0802C5D0 - cmp r0, 0x1 - beq _0802C5E0 - b _0802C5F4 - .align 2, 0 -_0802C5CC: .4byte gUnknown_203B2E8 -_0802C5D0: - cmp r0, 0x4 - beq _0802C5EA - b _0802C5F4 -_0802C5D6: - movs r0, 0x1 - bl sub_80119D4 - movs r0, 0x2 - b _0802C61A -_0802C5E0: - movs r0, 0 - bl sub_80119D4 - movs r0, 0x3 - b _0802C61A -_0802C5EA: - movs r0, 0x4 - bl sub_80119D4 - movs r0, 0x4 - b _0802C61A -_0802C5F4: - ldr r0, _0802C60C - ldr r0, [r0] - adds r0, 0x8 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0802C610 - movs r0, 0 - b _0802C61A - .align 2, 0 -_0802C60C: .4byte gUnknown_203B2E8 -_0802C610: - bl sub_802C6DC - bl sub_802C750 - movs r0, 0x1 -_0802C61A: - pop {r1} - bx r1 - thumb_func_end sub_802C598 - - thumb_func_start sub_802C620 -sub_802C620: - ldr r0, _0802C63C - ldr r1, [r0] - movs r0, 0x26 - ldrsh r2, [r1, r0] - movs r3, 0x24 - ldrsh r0, [r1, r3] - muls r0, r2 - movs r3, 0x20 - ldrsh r2, [r1, r3] - adds r0, r2 - adds r1, r0 - ldrb r0, [r1] - bx lr - .align 2, 0 -_0802C63C: .4byte gUnknown_203B2E8 - thumb_func_end sub_802C620 - - thumb_func_start sub_802C640 -sub_802C640: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8004914 - ldr r5, _0802C684 - ldr r0, [r5] - adds r0, 0x44 - movs r1, 0 - movs r2, 0 - bl sub_800641C - bl sub_802C80C - adds r1, r0, 0 - ldr r0, [r5] - strh r1, [r0, 0x2A] - adds r0, 0x8 - bl sub_8013984 - bl sub_802C6DC - bl sub_802C750 - cmp r4, 0 - beq _0802C67E - ldr r0, [r5] - adds r0, 0x8 - bl AddMenuCursorSprite -_0802C67E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802C684: .4byte gUnknown_203B2E8 - thumb_func_end sub_802C640 - - thumb_func_start sub_802C688 -sub_802C688: - push {r4,r5,lr} - ldr r4, _0802C6D0 - ldr r2, [r4] - cmp r2, 0 - beq _0802C6C8 - ldr r1, _0802C6D4 - ldrh r0, [r2, 0x20] - strh r0, [r1] - ldr r0, [r2, 0x3C] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x44 - ldr r0, _0802C6D8 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802C6C8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802C6D0: .4byte gUnknown_203B2E8 -_0802C6D4: .4byte gUnknown_203B2EC -_0802C6D8: .4byte gUnknown_80DFCE4 - thumb_func_end sub_802C688 - - thumb_func_start sub_802C6DC -sub_802C6DC: - push {r4,lr} - ldr r4, _0802C74C - ldr r0, [r4] - ldrh r1, [r0, 0x28] - adds r0, 0xA4 - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - ldrh r1, [r0, 0x26] - adds r0, 0xA5 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA6 - movs r1, 0xC - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA7 - strb r2, [r0] - ldr r0, [r4] - movs r1, 0x22 - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl sub_8009614 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x3C] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x52 - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x3C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x54 - strh r3, [r2] - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C74C: .4byte gUnknown_203B2E8 - thumb_func_end sub_802C6DC - - thumb_func_start sub_802C750 -sub_802C750: - push {r4-r6,lr} - sub sp, 0x60 - ldr r6, _0802C7AC - ldr r0, [r6] - ldr r0, [r0, 0x3C] - bl sub_8008C54 - ldr r0, [r6] - ldr r0, [r0, 0x3C] - bl sub_80073B8 - ldr r0, [r6] - movs r1, 0x26 - ldrsh r4, [r0, r1] - lsls r4, 3 - adds r5, r4, 0 - adds r5, 0xA - ldr r2, _0802C7B0 - ldr r3, [r0, 0x3C] - movs r0, 0 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - bl xxx_call_draw_string - adds r4, 0x4 - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0xA6 - ldrb r0, [r0] - lsls r0, 3 - adds r5, r4, r0 - movs r3, 0x26 - ldrsh r2, [r1, r3] - adds r2, 0x1 - movs r0, 0x7 - str r0, [sp] - ldr r0, [r1, 0x3C] - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r5, 0 - b _0802C7EC - .align 2, 0 -_0802C7AC: .4byte gUnknown_203B2E8 -_0802C7B0: .4byte gUnknown_80DFD14 -_0802C7B4: - ldr r1, [r6] - movs r3, 0x26 - ldrsh r2, [r1, r3] - movs r3, 0x24 - ldrsh r0, [r1, r3] - muls r0, r2 - adds r0, r5 - adds r1, r0 - ldrb r0, [r1] - bl sub_8096AB4 - adds r4, r0, 0 - ldr r0, [r6] - ldr r1, [r0, 0x3C] - str r1, [sp, 0x8] - adds r0, 0x8 - adds r1, r5, 0 - bl sub_8013800 - str r0, [sp, 0x50] - adds r0, r4, 0 - add r1, sp, 0x8 - bl sub_803B35C - add r0, sp, 0x8 - bl sub_803B6D4 - adds r5, 0x1 -_0802C7EC: - ldr r0, [r6] - movs r1, 0x22 - ldrsh r0, [r0, r1] - cmp r5, r0 - blt _0802C7B4 - ldr r0, _0802C808 - ldr r0, [r0] - ldr r0, [r0, 0x3C] - bl sub_80073E0 - add sp, 0x60 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802C808: .4byte gUnknown_203B2E8 - thumb_func_end sub_802C750 - - thumb_func_start sub_802C80C -sub_802C80C: - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0802C812: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096ACC - lsls r0, 24 - cmp r0, 0 - bne _0802C82A - ldr r0, _0802C838 - ldr r0, [r0] - adds r0, r5 - strb r4, [r0] - adds r5, 0x1 -_0802C82A: - adds r4, 0x1 - cmp r4, 0x7 - ble _0802C812 - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0802C838: .4byte gUnknown_203B2E8 - thumb_func_end sub_802C80C - - thumb_func_start sub_802C83C -sub_802C83C: - push {r4,lr} - movs r4, 0 -_0802C840: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096ACC - lsls r0, 24 - cmp r0, 0 - bne _0802C852 - movs r0, 0 - b _0802C85A -_0802C852: - adds r4, 0x1 - cmp r4, 0x7 - ble _0802C840 - movs r0, 0x1 -_0802C85A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802C83C - - thumb_func_start sub_802C860 -sub_802C860: - push {r4-r6,lr} - adds r6, r0, 0 - bl sub_802C83C - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0802C890 - ldr r4, _0802C88C - movs r0, 0xFE - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - str r5, [r0, 0x68] - str r6, [r0] - movs r0, 0 - bl sub_802C910 - movs r0, 0x1 - b _0802C892 - .align 2, 0 -_0802C88C: .4byte gUnknown_203B2F0 -_0802C890: - movs r0, 0 -_0802C892: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_802C860 - - thumb_func_start sub_802C898 -sub_802C898: - push {lr} - ldr r0, _0802C8B0 - ldr r0, [r0] - ldr r0, [r0, 0x4] - cmp r0, 0x5 - bhi _0802C8E8 - lsls r0, 2 - ldr r1, _0802C8B4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802C8B0: .4byte gUnknown_203B2F0 -_0802C8B4: .4byte _0802C8B8 - .align 2, 0 -_0802C8B8: - .4byte _0802C8D0 - .4byte _0802C8D0 - .4byte _0802C8D6 - .4byte _0802C8DC - .4byte _0802C8E2 - .4byte _0802C8E8 -_0802C8D0: - bl sub_802CC00 - b _0802C8EC -_0802C8D6: - bl sub_802CC70 - b _0802C8EC -_0802C8DC: - bl sub_802CD38 - b _0802C8EC -_0802C8E2: - bl sub_802CDB8 - b _0802C8EC -_0802C8E8: - movs r0, 0x3 - b _0802C8EE -_0802C8EC: - movs r0, 0 -_0802C8EE: - pop {r1} - bx r1 - thumb_func_end sub_802C898 - - thumb_func_start sub_802C8F4 -sub_802C8F4: - push {r4,lr} - ldr r4, _0802C90C - ldr r0, [r4] - cmp r0, 0 - beq _0802C906 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802C906: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C90C: .4byte gUnknown_203B2F0 - thumb_func_end sub_802C8F4 - - thumb_func_start sub_802C910 -sub_802C910: - push {lr} - ldr r1, _0802C924 - ldr r1, [r1] - str r0, [r1, 0x4] - bl sub_802C928 - bl sub_802C9D8 - pop {r0} - bx r0 - .align 2, 0 -_0802C924: .4byte gUnknown_203B2F0 - thumb_func_end sub_802C910 - - thumb_func_start sub_802C928 -sub_802C928: - push {r4-r7,lr} - ldr r4, _0802C94C - ldr r0, [r4] - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - bl sub_8006518 - ldr r1, [r4] - ldr r0, [r1, 0x4] - cmp r0, 0x2 - beq _0802C954 - cmp r0, 0x3 - beq _0802C980 - movs r2, 0 - ldr r3, _0802C950 - b _0802C998 - .align 2, 0 -_0802C94C: .4byte gUnknown_203B2F0 -_0802C950: .4byte gUnknown_80DFD28 -_0802C954: - bl sub_802CAA4 - ldr r2, [r4] - movs r0, 0xE6 - lsls r0, 1 - adds r2, r0 - ldr r1, _0802C97C - 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 - movs r6, 0x86 - lsls r6, 1 - adds r1, r6 - bl sub_8012CAC - b _0802C9B8 - .align 2, 0 -_0802C97C: .4byte gUnknown_80DFD40 -_0802C980: - movs r7, 0xF2 - lsls r7, 1 - adds r1, r7 - ldr r0, _0802C994 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - b _0802C9B8 - .align 2, 0 -_0802C994: .4byte gUnknown_80DFD58 -_0802C998: - ldr r0, [r4] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 3 - adds r0, r1 - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - adds r1, r3, 0 - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - adds r2, 0x1 - cmp r2, 0x3 - ble _0802C998 -_0802C9B8: - bl sub_8004914 - ldr r0, _0802C9D4 - ldr r0, [r0] - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802C9D4: .4byte gUnknown_203B2F0 - thumb_func_end sub_802C928 - - thumb_func_start sub_802C9D8 -sub_802C9D8: - push {r4,lr} - sub sp, 0x8 - ldr r1, _0802C9F4 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r4, r1, 0 - cmp r0, 0x5 - bhi _0802CA9C - lsls r0, 2 - ldr r1, _0802C9F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802C9F4: .4byte gUnknown_203B2F0 -_0802C9F8: .4byte _0802C9FC - .align 2, 0 -_0802C9FC: - .4byte _0802CA14 - .4byte _0802CA20 - .4byte _0802CA28 - .4byte _0802CA48 - .4byte _0802CA80 - .4byte _0802CA9C -_0802CA14: - movs r0, 0 - movs r1, 0 - movs r2, 0x4 - bl sub_802C4C8 - b _0802CA9C -_0802CA20: - movs r0, 0x1 - bl sub_802C640 - b _0802CA9C -_0802CA28: - bl sub_802C750 - ldr r0, _0802CA44 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x6C - movs r3, 0x86 - lsls r3, 1 - adds r1, r2, r3 - ldr r2, [r2, 0x68] - str r2, [sp] - movs r2, 0x2 - b _0802CA6E - .align 2, 0 -_0802CA44: .4byte gUnknown_203B2F0 -_0802CA48: - bl sub_802CBAC - bl sub_802C750 - ldr r4, _0802CA7C - ldr r0, [r4] - adds r0, 0x6C - movs r1, 0 - bl sub_8012EA4 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0xBC - movs r2, 0xA6 - lsls r2, 1 - adds r1, r2 - movs r2, 0x6 - str r2, [sp] - movs r2, 0x3 -_0802CA6E: - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _0802CA9C - .align 2, 0 -_0802CA7C: .4byte gUnknown_203B2F0 -_0802CA80: - ldr r0, [r4] - ldrb r0, [r0, 0xC] - bl sub_8096AB4 - ldr r1, [r4] - adds r1, 0x10 - bl sub_803B35C - ldr r0, [r4] - movs r1, 0x3 - str r1, [r0, 0x10] - adds r0, 0x10 - bl sub_802DE84 -_0802CA9C: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802C9D8 - - thumb_func_start sub_802CAA4 -sub_802CAA4: - push {r4-r7,lr} - movs r7, 0 - ldr r5, _0802CAC8 - ldr r0, [r5] - ldrb r0, [r0, 0xC] - bl sub_8096AB4 - adds r4, r0, 0 - ldr r2, [r5] - ldr r0, [r2] - cmp r0, 0 - bne _0802CB26 - ldrb r0, [r4] - cmp r0, 0x5 - beq _0802CACC - cmp r0, 0x6 - beq _0802CB10 - b _0802CB26 - .align 2, 0 -_0802CAC8: .4byte gUnknown_203B2F0 -_0802CACC: - movs r0, 0x86 - lsls r0, 1 - adds r1, r2, r0 - ldr r0, _0802CAFC - str r0, [r1] - adds r0, r4, 0 - bl sub_809693C - lsls r0, 24 - cmp r0, 0 - bne _0802CAEE - ldrb r0, [r4, 0x4] - bl sub_80A2824 - lsls r0, 24 - cmp r0, 0 - bne _0802CB00 -_0802CAEE: - ldr r0, [r5] - movs r1, 0x88 - lsls r1, 1 - adds r0, r1 - movs r1, 0x1 - negs r1, r1 - b _0802CB0A - .align 2, 0 -_0802CAFC: .4byte gUnknown_80DFD70 -_0802CB00: - ldr r0, [r5] - movs r1, 0x88 - lsls r1, 1 - adds r0, r1 - movs r1, 0x2 -_0802CB0A: - str r1, [r0] - adds r7, 0x1 - b _0802CB26 -_0802CB10: - movs r0, 0x86 - lsls r0, 1 - adds r1, r2, r0 - ldr r0, _0802CB9C - str r0, [r1] - movs r0, 0x88 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0x3 - str r0, [r1] - movs r7, 0x1 -_0802CB26: - ldr r4, _0802CBA0 - ldr r6, [r4] - lsls r1, r7, 3 - movs r0, 0x86 - lsls r0, 1 - adds r3, r6, r0 - adds r2, r3, r1 - ldr r0, _0802CBA4 - ldr r0, [r0] - str r0, [r2] - movs r0, 0x88 - lsls r0, 1 - adds r5, r6, r0 - adds r1, r5, r1 - movs r0, 0x4 - str r0, [r1] - adds r7, 0x1 - lsls r1, r7, 3 - adds r2, r3, r1 - ldr r0, _0802CBA8 - ldr r0, [r0] - str r0, [r2] - adds r1, r5, r1 - movs r0, 0x7 - str r0, [r1] - adds r7, 0x1 - lsls r1, r7, 3 - adds r3, r1 - movs r0, 0 - str r0, [r3] - adds r1, r5, r1 - movs r0, 0x1 - str r0, [r1] - movs r3, 0 - mov r12, r4 - cmp r3, r7 - bge _0802CB8C - adds r4, r6, 0 - adds r1, r5, 0 - movs r5, 0x1 - negs r5, r5 -_0802CB78: - ldr r2, [r1] - cmp r2, r5 - beq _0802CB84 - ldr r0, [r4, 0x68] - cmp r2, r0 - beq _0802CB94 -_0802CB84: - adds r1, 0x8 - adds r3, 0x1 - cmp r3, r7 - blt _0802CB78 -_0802CB8C: - mov r0, r12 - ldr r1, [r0] - movs r0, 0x7 - str r0, [r1, 0x68] -_0802CB94: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802CB9C: .4byte gUnknown_80DFD7C -_0802CBA0: .4byte gUnknown_203B2F0 -_0802CBA4: .4byte gUnknown_80D494C -_0802CBA8: .4byte gUnknown_80D4970 - thumb_func_end sub_802CAA4 - - thumb_func_start sub_802CBAC -sub_802CBAC: - ldr r0, _0802CBF4 - ldr r0, [r0] - mov r12, r0 - movs r3, 0 - movs r1, 0xA6 - lsls r1, 1 - add r1, r12 - ldr r0, _0802CBF8 - ldr r0, [r0] - str r0, [r1] - movs r1, 0xA8 - lsls r1, 1 - add r1, r12 - movs r0, 0x5 - str r0, [r1] - movs r2, 0x1 - movs r1, 0xAA - lsls r1, 1 - add r1, r12 - ldr r0, _0802CBFC - ldr r0, [r0] - str r0, [r1] - movs r1, 0xAC - lsls r1, 1 - add r1, r12 - movs r0, 0x6 - str r0, [r1] - movs r0, 0xAE - lsls r0, 1 - add r0, r12 - str r3, [r0] - movs r0, 0xB0 - lsls r0, 1 - add r0, r12 - str r2, [r0] - bx lr - .align 2, 0 -_0802CBF4: .4byte gUnknown_203B2F0 -_0802CBF8: .4byte gUnknown_80D4920 -_0802CBFC: .4byte gUnknown_80D4928 - thumb_func_end sub_802CBAC - - thumb_func_start sub_802CC00 -sub_802CC00: - push {lr} - movs r0, 0x1 - bl sub_802C598 - cmp r0, 0x4 - bhi _0802CC6A - lsls r0, 2 - ldr r1, _0802CC18 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802CC18: .4byte _0802CC1C - .align 2, 0 -_0802CC1C: - .4byte _0802CC6A - .4byte _0802CC6A - .4byte _0802CC60 - .4byte _0802CC30 - .4byte _0802CC48 -_0802CC30: - bl sub_802C620 - ldr r1, _0802CC44 - ldr r1, [r1] - strb r0, [r1, 0xC] - movs r0, 0x2 - bl sub_802C910 - b _0802CC6A - .align 2, 0 -_0802CC44: .4byte gUnknown_203B2F0 -_0802CC48: - bl sub_802C620 - ldr r1, _0802CC5C - ldr r1, [r1] - strb r0, [r1, 0xC] - movs r0, 0x4 - bl sub_802C910 - b _0802CC6A - .align 2, 0 -_0802CC5C: .4byte gUnknown_203B2F0 -_0802CC60: - bl sub_802C688 - movs r0, 0x5 - bl sub_802C910 -_0802CC6A: - pop {r0} - bx r0 - thumb_func_end sub_802CC00 - - thumb_func_start sub_802CC70 -sub_802CC70: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_802C598 - ldr r4, _0802CCB4 - ldr r0, [r4] - adds r0, 0x6C - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802CCA0 - ldr r0, [r4] - adds r0, 0x6C - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _0802CCA0 - ldr r0, [r4] - str r1, [r0, 0x68] -_0802CCA0: - ldr r0, [sp] - subs r0, 0x1 - cmp r0, 0x6 - bhi _0802CD2E - lsls r0, 2 - ldr r1, _0802CCB8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802CCB4: .4byte gUnknown_203B2F0 -_0802CCB8: .4byte _0802CCBC - .align 2, 0 -_0802CCBC: - .4byte _0802CD28 - .4byte _0802CCD8 - .4byte _0802CCF4 - .4byte _0802CD18 - .4byte _0802CD2E - .4byte _0802CD2E - .4byte _0802CD20 -_0802CCD8: - ldr r0, _0802CCEC - bl sub_8011988 - ldr r0, _0802CCF0 - ldr r0, [r0] - ldrb r0, [r0, 0xC] - bl sub_8096AB4 - movs r1, 0x6 - b _0802CD06 - .align 2, 0 -_0802CCEC: .4byte 0x00000133 -_0802CCF0: .4byte gUnknown_203B2F0 -_0802CCF4: - ldr r0, _0802CD10 - bl sub_8011988 - ldr r0, _0802CD14 - ldr r0, [r0] - ldrb r0, [r0, 0xC] - bl sub_8096AB4 - movs r1, 0x5 -_0802CD06: - strb r1, [r0] - movs r0, 0x1 - bl sub_802C910 - b _0802CD2E - .align 2, 0 -_0802CD10: .4byte 0x00000133 -_0802CD14: .4byte gUnknown_203B2F0 -_0802CD18: - movs r0, 0x3 - bl sub_802C910 - b _0802CD2E -_0802CD20: - movs r0, 0x4 - bl sub_802C910 - b _0802CD2E -_0802CD28: - movs r0, 0x1 - bl sub_802C910 -_0802CD2E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802CC70 - - thumb_func_start sub_802CD38 -sub_802CD38: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_802C598 - ldr r4, _0802CD78 - ldr r0, [r4] - adds r0, 0x6C - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0xBC - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802CD66 - ldr r0, [r4] - adds r0, 0xBC - mov r1, sp - bl sub_8013114 -_0802CD66: - ldr r0, [sp] - cmp r0, 0x5 - beq _0802CD88 - cmp r0, 0x5 - bgt _0802CD7C - cmp r0, 0x1 - beq _0802CD80 - b _0802CDB0 - .align 2, 0 -_0802CD78: .4byte gUnknown_203B2F0 -_0802CD7C: - cmp r0, 0x6 - bne _0802CDB0 -_0802CD80: - movs r0, 0x1 - bl sub_802C910 - b _0802CDB0 -_0802CD88: - ldr r0, [r4] - ldrb r0, [r0, 0xC] - bl sub_8096C3C - bl sub_8096C80 - bl sub_802C83C - lsls r0, 24 - cmp r0, 0 - beq _0802CDAA - bl sub_802C688 - movs r0, 0x5 - bl sub_802C910 - b _0802CDB0 -_0802CDAA: - movs r0, 0x1 - bl sub_802C910 -_0802CDB0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802CD38 - - thumb_func_start sub_802CDB8 -sub_802CDB8: - push {lr} - bl sub_802DEE0 - cmp r0, 0x1 - bls _0802CDD0 - cmp r0, 0x3 - bhi _0802CDD0 - bl sub_802DF24 - movs r0, 0x1 - bl sub_802C910 -_0802CDD0: - pop {r0} - bx r0 - thumb_func_end sub_802CDB8 - - thumb_func_start sub_802CDD4 -sub_802CDD4: - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _0802CE54 - ldr r0, [r4] - cmp r0, 0 - bne _0802CDEA - movs r0, 0xA0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] -_0802CDEA: - ldr r0, [r4] - str r5, [r0, 0x34] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 3 - adds r1, 0x3C - adds r1, r0, r1 - str r1, [r0, 0x38] - adds r0, 0x3C - bl sub_8006518 - ldr r1, [r4] - ldr r2, [r1, 0x34] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x3C - ldr r0, _0802CE58 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldr r1, [r4] - ldr r0, [r1, 0x38] - adds r1, 0x9C - str r1, [r0, 0x14] - movs r1, 0x4 - bl sub_8012D34 - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x5 - movs r2, 0x4 - adds r3, r5, 0 - bl sub_8013848 - bl sub_802CF5C - bl sub_802CFD0 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0802CE54: .4byte gUnknown_203B2F4 -_0802CE58: .4byte gUnknown_80DFDA4 - thumb_func_end sub_802CDD4 - - thumb_func_start sub_802CE5C -sub_802CE5C: - push {r4,lr} - lsls r0, 24 - cmp r0, 0 - bne _0802CE74 - ldr r0, _0802CE70 - ldr r0, [r0] - bl sub_8013660 - movs r0, 0 - b _0802CEB4 - .align 2, 0 -_0802CE70: .4byte gUnknown_203B2F4 -_0802CE74: - ldr r4, _0802CE90 - ldr r0, [r4] - bl GetKeyPress - cmp r0, 0x1 - beq _0802CE94 - cmp r0, 0x2 - bne _0802CE98 - movs r0, 0x1 - bl sub_80119D4 - movs r0, 0x2 - b _0802CEB4 - .align 2, 0 -_0802CE90: .4byte gUnknown_203B2F4 -_0802CE94: - movs r0, 0x3 - b _0802CEB4 -_0802CE98: - ldr r0, [r4] - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0802CEAA - movs r0, 0 - b _0802CEB4 -_0802CEAA: - bl sub_802CF5C - bl sub_802CFD0 - movs r0, 0x1 -_0802CEB4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802CE5C - - thumb_func_start sub_802CEBC -sub_802CEBC: - ldr r0, _0802CED4 - ldr r1, [r0] - movs r0, 0x1E - ldrsh r2, [r1, r0] - movs r3, 0x1C - ldrsh r0, [r1, r3] - muls r0, r2 - ldrb r1, [r1, 0x18] - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - bx lr - .align 2, 0 -_0802CED4: .4byte gUnknown_203B2F4 - thumb_func_end sub_802CEBC - - thumb_func_start sub_802CED8 -sub_802CED8: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8004914 - ldr r5, _0802CF10 - ldr r0, [r5] - adds r0, 0x3C - movs r1, 0 - movs r2, 0 - bl sub_800641C - ldr r0, [r5] - bl sub_8013984 - bl sub_802CF5C - bl sub_802CFD0 - cmp r4, 0 - beq _0802CF0A - ldr r0, [r5] - bl AddMenuCursorSprite -_0802CF0A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802CF10: .4byte gUnknown_203B2F4 - thumb_func_end sub_802CED8 - - thumb_func_start sub_802CF14 -sub_802CF14: - push {r4,r5,lr} - ldr r4, _0802CF54 - ldr r2, [r4] - cmp r2, 0 - beq _0802CF4E - ldr r0, [r2, 0x34] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x3C - ldr r0, _0802CF58 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802CF4E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802CF54: .4byte gUnknown_203B2F4 -_0802CF58: .4byte gUnknown_80DFD8C - thumb_func_end sub_802CF14 - - thumb_func_start sub_802CF5C -sub_802CF5C: - push {r4,lr} - ldr r4, _0802CFCC - ldr r0, [r4] - ldrh r1, [r0, 0x20] - adds r0, 0x9C - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - ldrh r1, [r0, 0x1E] - adds r0, 0x9D - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9E - movs r1, 0xC - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9F - strb r2, [r0] - ldr r0, [r4] - movs r1, 0x1A - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl sub_8009614 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x34] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x4A - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x34] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x4C - strh r3, [r2] - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802CFCC: .4byte gUnknown_203B2F4 - thumb_func_end sub_802CF5C - - thumb_func_start sub_802CFD0 -sub_802CFD0: - push {r4-r6,lr} - sub sp, 0x60 - ldr r6, _0802D02C - ldr r0, [r6] - ldr r0, [r0, 0x34] - bl sub_8008C54 - ldr r0, [r6] - ldr r0, [r0, 0x34] - bl sub_80073B8 - ldr r0, [r6] - movs r1, 0x1E - ldrsh r4, [r0, r1] - lsls r4, 3 - adds r5, r4, 0 - adds r5, 0xA - ldr r2, _0802D030 - ldr r3, [r0, 0x34] - movs r0, 0 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - bl xxx_call_draw_string - adds r4, 0x4 - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x9E - ldrb r0, [r0] - lsls r0, 3 - adds r5, r4, r0 - movs r0, 0x1E - ldrsh r2, [r1, r0] - adds r2, 0x1 - movs r0, 0x7 - str r0, [sp] - ldr r0, [r1, 0x34] - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r5, 0 - b _0802D076 - .align 2, 0 -_0802D02C: .4byte gUnknown_203B2F4 -_0802D030: .4byte gUnknown_80DFDBC -_0802D034: - ldr r0, [r6] - movs r2, 0x1E - ldrsh r1, [r0, r2] - movs r2, 0x1C - ldrsh r0, [r0, r2] - muls r0, r1 - adds r0, r5 - lsls r0, 24 - lsrs r0, 24 - bl sub_803B344 - adds r4, r0, 0 - ldr r0, [r6] - ldr r1, [r0, 0x34] - str r1, [sp, 0x8] - adds r1, r5, 0 - bl sub_8013800 - str r0, [sp, 0x50] - adds r0, r4, 0 - add r1, sp, 0x8 - bl sub_803B35C - mov r1, sp - adds r1, 0x4B - movs r0, 0x1 - strb r0, [r1] - ldr r0, [r4, 0x14] - str r0, [sp, 0x54] - add r0, sp, 0x8 - bl sub_803B6D4 - adds r5, 0x1 -_0802D076: - ldr r0, [r6] - movs r1, 0x1A - ldrsh r0, [r0, r1] - cmp r5, r0 - blt _0802D034 - ldr r0, _0802D094 - ldr r0, [r0] - ldr r0, [r0, 0x34] - bl sub_80073E0 - add sp, 0x60 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802D094: .4byte gUnknown_203B2F4 - thumb_func_end sub_802CFD0 - - thumb_func_start sub_802D098 -sub_802D098: - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, _0802D0DC - movs r0, 0x82 - lsls r0, 2 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r6] - movs r5, 0 - str r5, [r0, 0x6C] - str r5, [r0, 0x70] - str r5, [r0, 0x74] - str r4, [r0, 0xC] - strb r5, [r0, 0x8] - ldr r0, [r6] - adds r0, 0xA - bl sub_8099328 - ldr r1, [r6] - strb r0, [r1, 0x9] - bl sub_8011C1C - cmp r0, 0x2 - beq _0802D0CE - ldr r0, [r6] - strb r5, [r0, 0x9] -_0802D0CE: - movs r0, 0 - bl sub_802D1A0 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0802D0DC: .4byte gUnknown_203B2F8 - thumb_func_end sub_802D098 - - thumb_func_start sub_802D0E0 -sub_802D0E0: - push {lr} - ldr r0, _0802D0F8 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x10 - bhi _0802D16C - lsls r0, 2 - ldr r1, _0802D0FC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802D0F8: .4byte gUnknown_203B2F8 -_0802D0FC: .4byte _0802D100 - .align 2, 0 -_0802D100: - .4byte _0802D170 - .4byte _0802D144 - .4byte _0802D168 - .4byte _0802D16C - .4byte _0802D16C - .4byte _0802D16C - .4byte _0802D16C - .4byte _0802D16C - .4byte _0802D16C - .4byte _0802D162 - .4byte _0802D16C - .4byte _0802D14A - .4byte _0802D14A - .4byte _0802D150 - .4byte _0802D156 - .4byte _0802D15C - .4byte _0802D15C -_0802D144: - bl sub_802D7D0 - b _0802D170 -_0802D14A: - bl sub_802D8CC - b _0802D170 -_0802D150: - bl sub_802D940 - b _0802D170 -_0802D156: - bl sub_802D9F0 - b _0802D170 -_0802D15C: - bl sub_802DA60 - b _0802D170 -_0802D162: - bl sub_802D82C - b _0802D170 -_0802D168: - movs r0, 0x3 - b _0802D172 -_0802D16C: - bl sub_802DA84 -_0802D170: - movs r0, 0 -_0802D172: - pop {r1} - bx r1 - thumb_func_end sub_802D0E0 - - thumb_func_start sub_802D178 -sub_802D178: - ldr r0, _0802D180 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - bx lr - .align 2, 0 -_0802D180: .4byte gUnknown_203B2F8 - thumb_func_end sub_802D178 - - thumb_func_start sub_802D184 -sub_802D184: - push {r4,lr} - ldr r4, _0802D19C - ldr r0, [r4] - cmp r0, 0 - beq _0802D196 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802D196: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802D19C: .4byte gUnknown_203B2F8 - thumb_func_end sub_802D184 - - thumb_func_start sub_802D1A0 -sub_802D1A0: - push {lr} - ldr r1, _0802D1B4 - ldr r1, [r1] - str r0, [r1] - bl sub_802D1B8 - bl sub_802D2A8 - pop {r0} - bx r0 - .align 2, 0 -_0802D1B4: .4byte gUnknown_203B2F8 - thumb_func_end sub_802D1A0 - - thumb_func_start sub_802D1B8 -sub_802D1B8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _0802D1E0 - ldr r0, [r4] - movs r1, 0xD4 - lsls r1, 1 - adds r0, r1 - bl sub_8006518 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0xD - beq _0802D1EA - cmp r0, 0xD - bgt _0802D1E4 - cmp r0, 0x2 - beq _0802D27E - b _0802D254 - .align 2, 0 -_0802D1E0: .4byte gUnknown_203B2F8 -_0802D1E4: - cmp r0, 0xE - beq _0802D21C - b _0802D254 -_0802D1EA: - bl sub_802D5A4 - ldr r2, [r4] - movs r0, 0xEC - lsls r0, 1 - adds r2, r0 - ldr r1, _0802D218 - 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 - movs r6, 0x8C - lsls r6, 1 - adds r1, r6 - bl sub_8012CAC - ldr r0, [r4] - movs r7, 0xF2 - lsls r7, 1 - b _0802D246 - .align 2, 0 -_0802D218: .4byte gUnknown_80DFE04 -_0802D21C: - bl sub_802D63C - ldr r2, [r4] - movs r0, 0xF8 - lsls r0, 1 - adds r2, r0 - ldr r1, _0802D250 - 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 - movs r6, 0xAC - lsls r6, 1 - adds r1, r6 - bl sub_8012CAC - ldr r0, [r4] - movs r7, 0xFE - lsls r7, 1 -_0802D246: - adds r0, r7 - movs r1, 0x6 - strh r1, [r0] - b _0802D27E - .align 2, 0 -_0802D250: .4byte gUnknown_80DFE1C -_0802D254: - ldr r0, _0802D2A0 - mov r12, r0 - movs r1, 0xD4 - lsls r1, 1 - mov r8, r1 - ldr r4, _0802D2A4 - movs r3, 0 - movs r2, 0x3 -_0802D264: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - add r1, r8 - 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 _0802D264 -_0802D27E: - bl sub_8004914 - ldr r0, _0802D2A0 - ldr r0, [r0] - movs r6, 0xD4 - lsls r6, 1 - adds r0, r6 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802D2A0: .4byte gUnknown_203B2F8 -_0802D2A4: .4byte gUnknown_80DFDD4 - thumb_func_end sub_802D1B8 - - 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} - ldr r4, _0802D630 - ldr r0, [r4] - movs r5, 0xCC - lsls r5, 1 - adds r0, r5 - movs r1, 0 - movs r2, 0x10 - bl MemoryFill16 - ldr r0, [r4] - mov r12, r0 - movs r3, 0 - movs r1, 0x8C - lsls r1, 1 - add r1, r12 - ldr r0, _0802D634 - ldr r0, [r0] - str r0, [r1] - movs r1, 0x8E - lsls r1, 1 - add r1, r12 - movs r0, 0x2 - str r0, [r1] - movs r2, 0x1 - movs r1, 0x90 - lsls r1, 1 - add r1, r12 - ldr r0, _0802D638 - ldr r0, [r0] - str r0, [r1] - movs r1, 0x92 - lsls r1, 1 - add r1, r12 - movs r0, 0x5 - str r0, [r1] - movs r7, 0x2 - movs r0, 0x94 - lsls r0, 1 - add r0, r12 - str r3, [r0] - movs r0, 0x96 - lsls r0, 1 - add r0, r12 - str r2, [r0] - movs r6, 0 - movs r3, 0x8E - lsls r3, 1 - add r3, r12 - mov r0, r12 - adds r2, r0, r5 -_0802D60A: - ldrh r0, [r2] - cmp r0, 0 - bne _0802D61A - ldr r1, [r3] - mov r5, r12 - ldr r0, [r5, 0x6C] - cmp r1, r0 - beq _0802D62A -_0802D61A: - adds r3, 0x8 - adds r2, 0x2 - adds r6, 0x1 - cmp r6, r7 - blt _0802D60A - ldr r1, [r4] - movs r0, 0x2 - str r0, [r1, 0x6C] -_0802D62A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802D630: .4byte gUnknown_203B2F8 -_0802D634: .4byte gUnknown_80D494C -_0802D638: .4byte gUnknown_80D4970 - thumb_func_end sub_802D5A4 - - thumb_func_start sub_802D63C -sub_802D63C: - ldr r0, _0802D684 - ldr r0, [r0] - mov r12, r0 - movs r3, 0 - movs r1, 0xAC - lsls r1, 1 - add r1, r12 - ldr r0, _0802D688 - ldr r0, [r0] - str r0, [r1] - movs r1, 0xAE - lsls r1, 1 - add r1, r12 - movs r0, 0x3 - str r0, [r1] - movs r2, 0x1 - movs r1, 0xB0 - lsls r1, 1 - add r1, r12 - ldr r0, _0802D68C - ldr r0, [r0] - str r0, [r1] - movs r1, 0xB2 - lsls r1, 1 - add r1, r12 - movs r0, 0x4 - str r0, [r1] - movs r0, 0xB4 - lsls r0, 1 - add r0, r12 - str r3, [r0] - movs r0, 0xB6 - lsls r0, 1 - add r0, r12 - str r2, [r0] - bx lr - .align 2, 0 -_0802D684: .4byte gUnknown_203B2F8 -_0802D688: .4byte gUnknown_80D4920 -_0802D68C: .4byte gUnknown_80D4928 - thumb_func_end sub_802D63C - - thumb_func_start sub_802D690 -sub_802D690: - push {r4,r5,lr} - ldr r2, _0802D728 - ldr r0, [r2] - mov r12, r0 - movs r4, 0 - movs r1, 0xAC - lsls r1, 1 - add r1, r12 - ldr r0, _0802D72C - ldr r0, [r0] - str r0, [r1] - movs r1, 0xAE - lsls r1, 1 - add r1, r12 - movs r0, 0x3 - str r0, [r1] - movs r3, 0x1 - movs r1, 0xB0 - lsls r1, 1 - add r1, r12 - ldr r0, _0802D730 - ldr r0, [r0] - str r0, [r1] - movs r1, 0xB2 - lsls r1, 1 - add r1, r12 - movs r0, 0x4 - str r0, [r1] - movs r1, 0xB4 - lsls r1, 1 - add r1, r12 - ldr r0, _0802D734 - str r0, [r1] - movs r1, 0xB6 - lsls r1, 1 - add r1, r12 - movs r0, 0x6 - str r0, [r1] - movs r1, 0xB8 - lsls r1, 1 - add r1, r12 - ldr r0, _0802D738 - str r0, [r1] - movs r1, 0xBA - lsls r1, 1 - add r1, r12 - movs r0, 0x7 - str r0, [r1] - movs r5, 0x4 - movs r0, 0xBC - lsls r0, 1 - add r0, r12 - str r4, [r0] - movs r0, 0xBE - lsls r0, 1 - add r0, r12 - str r3, [r0] - movs r3, 0 - mov r0, r12 - ldr r4, [r0, 0x74] - movs r1, 0xAE - lsls r1, 1 - add r1, r12 -_0802D70E: - ldr r0, [r1] - cmp r0, r4 - beq _0802D722 - adds r1, 0x8 - adds r3, 0x1 - cmp r3, r5 - blt _0802D70E - ldr r1, [r2] - movs r0, 0x4 - str r0, [r1, 0x74] -_0802D722: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802D728: .4byte gUnknown_203B2F8 -_0802D72C: .4byte gUnknown_80D4920 -_0802D730: .4byte gUnknown_80D4928 -_0802D734: .4byte gUnknown_80E014C -_0802D738: .4byte gUnknown_80E0158 - thumb_func_end sub_802D690 - - thumb_func_start sub_802D73C -sub_802D73C: - push {r4,r5,lr} - ldr r3, _0802D7C0 - ldr r0, [r3] - mov r12, r0 - movs r4, 0 - movs r1, 0xAC - lsls r1, 1 - add r1, r12 - ldr r0, _0802D7C4 - ldr r0, [r0] - str r0, [r1] - movs r1, 0xAE - lsls r1, 1 - add r1, r12 - movs r0, 0x3 - str r0, [r1] - movs r2, 0x1 - movs r1, 0xB0 - lsls r1, 1 - add r1, r12 - ldr r0, _0802D7C8 - ldr r0, [r0] - str r0, [r1] - movs r1, 0xB2 - lsls r1, 1 - add r1, r12 - movs r0, 0x4 - str r0, [r1] - movs r1, 0xB4 - lsls r1, 1 - add r1, r12 - ldr r0, _0802D7CC - str r0, [r1] - movs r1, 0xB6 - lsls r1, 1 - add r1, r12 - movs r0, 0x6 - str r0, [r1] - movs r5, 0x3 - movs r0, 0xB8 - lsls r0, 1 - add r0, r12 - str r4, [r0] - movs r0, 0xBA - lsls r0, 1 - add r0, r12 - str r2, [r0] - movs r2, 0 - mov r0, r12 - ldr r4, [r0, 0x70] - movs r1, 0xAE - lsls r1, 1 - add r1, r12 -_0802D7A6: - ldr r0, [r1] - cmp r0, r4 - beq _0802D7BA - adds r1, 0x8 - adds r2, 0x1 - cmp r2, r5 - blt _0802D7A6 - ldr r1, [r3] - movs r0, 0x4 - str r0, [r1, 0x70] -_0802D7BA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802D7C0: .4byte gUnknown_203B2F8 -_0802D7C4: .4byte gUnknown_80D4920 -_0802D7C8: .4byte gUnknown_80D4928 -_0802D7CC: .4byte gUnknown_80E014C - thumb_func_end sub_802D73C - - thumb_func_start sub_802D7D0 -sub_802D7D0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802D826 - ldr r1, [sp] - cmp r1, 0x1 - beq _0802D7EA - ldr r0, _0802D800 - ldr r0, [r0] - str r1, [r0, 0x70] -_0802D7EA: - ldr r0, [sp] - cmp r0, 0x3 - beq _0802D804 - cmp r0, 0x3 - ble _0802D820 - cmp r0, 0x4 - beq _0802D820 - cmp r0, 0x6 - beq _0802D80C - b _0802D820 - .align 2, 0 -_0802D800: .4byte gUnknown_203B2F8 -_0802D804: - movs r0, 0x2 - bl sub_802D1A0 - b _0802D826 -_0802D80C: - ldr r0, _0802D81C - ldr r1, [r0] - movs r0, 0x1 - str r0, [r1, 0x4] - movs r0, 0x10 - bl sub_802D1A0 - b _0802D826 - .align 2, 0 -_0802D81C: .4byte gUnknown_203B2F8 -_0802D820: - movs r0, 0 - bl sub_802D1A0 -_0802D826: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802D7D0 - - thumb_func_start sub_802D82C -sub_802D82C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802D8C6 - ldr r1, [sp] - cmp r1, 0x1 - beq _0802D846 - ldr r0, _0802D858 - ldr r0, [r0] - str r1, [r0, 0x74] -_0802D846: - ldr r0, [sp] - subs r0, 0x1 - cmp r0, 0x6 - bhi _0802D8C0 - lsls r0, 2 - ldr r1, _0802D85C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802D858: .4byte gUnknown_203B2F8 -_0802D85C: .4byte _0802D860 - .align 2, 0 -_0802D860: - .4byte _0802D8C0 - .4byte _0802D8C0 - .4byte _0802D87C - .4byte _0802D8C0 - .4byte _0802D8C0 - .4byte _0802D898 - .4byte _0802D8AC -_0802D87C: - ldr r0, _0802D894 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - bl sub_8096C3C - bl sub_8096C80 - movs r0, 0x8 - bl sub_802D1A0 - b _0802D8C6 - .align 2, 0 -_0802D894: .4byte gUnknown_203B2F8 -_0802D898: - ldr r0, _0802D8A8 - ldr r1, [r0] - movs r0, 0x9 - str r0, [r1, 0x4] - movs r0, 0x10 - bl sub_802D1A0 - b _0802D8C6 - .align 2, 0 -_0802D8A8: .4byte gUnknown_203B2F8 -_0802D8AC: - ldr r0, _0802D8BC - ldr r1, [r0] - movs r0, 0x9 - str r0, [r1, 0x4] - movs r0, 0xF - bl sub_802D1A0 - b _0802D8C6 - .align 2, 0 -_0802D8BC: .4byte gUnknown_203B2F8 -_0802D8C0: - movs r0, 0x1 - bl sub_802D1A0 -_0802D8C6: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802D82C - - thumb_func_start sub_802D8CC -sub_802D8CC: - push {lr} - movs r0, 0x1 - bl sub_802C598 - cmp r0, 0x4 - bhi _0802D93A - lsls r0, 2 - ldr r1, _0802D8E4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802D8E4: .4byte _0802D8E8 - .align 2, 0 -_0802D8E8: - .4byte _0802D93A - .4byte _0802D93A - .4byte _0802D930 - .4byte _0802D8FC - .4byte _0802D914 -_0802D8FC: - bl sub_802C620 - ldr r1, _0802D910 - ldr r1, [r1] - strb r0, [r1, 0x10] - movs r0, 0xD - bl sub_802D1A0 - b _0802D93A - .align 2, 0 -_0802D910: .4byte gUnknown_203B2F8 -_0802D914: - bl sub_802C620 - ldr r2, _0802D92C - ldr r1, [r2] - strb r0, [r1, 0x10] - ldr r1, [r2] - movs r0, 0xC - str r0, [r1, 0x4] - movs r0, 0xF - bl sub_802D1A0 - b _0802D93A - .align 2, 0 -_0802D92C: .4byte gUnknown_203B2F8 -_0802D930: - bl sub_802C688 - movs r0, 0x1 - bl sub_802D1A0 -_0802D93A: - pop {r0} - bx r0 - thumb_func_end sub_802D8CC - - thumb_func_start sub_802D940 -sub_802D940: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_802C598 - ldr r4, _0802D980 - ldr r0, [r4] - adds r0, 0x78 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802D970 - ldr r0, [r4] - adds r0, 0x78 - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _0802D970 - ldr r0, [r4] - str r1, [r0, 0x6C] -_0802D970: - ldr r0, [sp] - cmp r0, 0x2 - beq _0802D98A - cmp r0, 0x2 - bgt _0802D984 - cmp r0, 0x1 - beq _0802D9E0 - b _0802D9E6 - .align 2, 0 -_0802D980: .4byte gUnknown_203B2F8 -_0802D984: - cmp r0, 0x5 - beq _0802D9CC - b _0802D9E6 -_0802D98A: - ldr r0, _0802D9BC - ldr r3, [r0] - ldrb r0, [r3, 0x9] - cmp r0, 0 - beq _0802D9C4 - ldr r2, _0802D9C0 - ldrb r1, [r3, 0x10] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, 0xF0 - ldr r1, [r2] - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x5 - bls _0802D9C4 - ldrb r0, [r3, 0xA] - ldrb r1, [r1, 0x4] - cmp r0, r1 - bne _0802D9C4 - movs r0, 0x7 - bl sub_802D1A0 - b _0802D9E6 - .align 2, 0 -_0802D9BC: .4byte gUnknown_203B2F8 -_0802D9C0: .4byte gUnknown_203B490 -_0802D9C4: - movs r0, 0xE - bl sub_802D1A0 - b _0802D9E6 -_0802D9CC: - ldr r0, _0802D9DC - ldr r1, [r0] - movs r0, 0xC - str r0, [r1, 0x4] - movs r0, 0xF - bl sub_802D1A0 - b _0802D9E6 - .align 2, 0 -_0802D9DC: .4byte gUnknown_203B2F8 -_0802D9E0: - movs r0, 0xC - bl sub_802D1A0 -_0802D9E6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802D940 - - thumb_func_start sub_802D9F0 -sub_802D9F0: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_802C598 - ldr r4, _0802DA30 - ldr r0, [r4] - adds r0, 0x78 - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0xC8 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802DA1E - ldr r0, [r4] - adds r0, 0xC8 - mov r1, sp - bl sub_8013114 -_0802DA1E: - ldr r0, [sp] - cmp r0, 0x3 - beq _0802DA40 - cmp r0, 0x3 - bgt _0802DA34 - cmp r0, 0x1 - beq _0802DA38 - b _0802DA56 - .align 2, 0 -_0802DA30: .4byte gUnknown_203B2F8 -_0802DA34: - cmp r0, 0x4 - bne _0802DA56 -_0802DA38: - movs r0, 0xC - bl sub_802D1A0 - b _0802DA56 -_0802DA40: - bl sub_802C688 - ldr r0, [r4] - ldrb r0, [r0, 0x10] - bl sub_8096C3C - bl sub_8096C80 - movs r0, 0x8 - bl sub_802D1A0 -_0802DA56: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802D9F0 - - thumb_func_start sub_802DA60 -sub_802DA60: - push {lr} - bl sub_802DEE0 - cmp r0, 0x1 - bls _0802DA7C - cmp r0, 0x3 - bhi _0802DA7C - bl sub_802DF24 - ldr r0, _0802DA80 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl sub_802D1A0 -_0802DA7C: - pop {r0} - bx r0 - .align 2, 0 -_0802DA80: .4byte gUnknown_203B2F8 - thumb_func_end sub_802DA60 - - thumb_func_start sub_802DA84 -sub_802DA84: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802DA9C - ldr r0, _0802DAA4 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl sub_802D1A0 -_0802DA9C: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0802DAA4: .4byte gUnknown_203B2F8 - thumb_func_end sub_802DA84 - - thumb_func_start sub_802DAA8 -sub_802DAA8: - push {r4,lr} - ldr r4, _0802DAD0 - ldr r0, [r4] - ldrb r0, [r0, 0x10] - bl sub_8096AB4 - adds r1, r0, 0 - ldr r4, [r4] - ldrb r0, [r4, 0x9] - cmp r0, 0 - beq _0802DAD4 - ldrb r0, [r1] - cmp r0, 0x5 - beq _0802DAD4 - ldrb r0, [r4, 0xA] - ldrb r1, [r1, 0x4] - cmp r0, r1 - bne _0802DAD4 - movs r0, 0 - b _0802DAD6 - .align 2, 0 -_0802DAD0: .4byte gUnknown_203B2F8 -_0802DAD4: - movs r0, 0x1 -_0802DAD6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802DAA8 - - thumb_func_start sub_802DADC -sub_802DADC: - push {r4,lr} - ldr r3, _0802DAEC - ldr r0, [r3] - ldrb r0, [r0, 0x9] - cmp r0, 0 - bne _0802DAF0 -_0802DAE8: - movs r0, 0x1 - b _0802DB1C - .align 2, 0 -_0802DAEC: .4byte gUnknown_203B2F8 -_0802DAF0: - ldr r0, _0802DB24 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xF0 - movs r2, 0 -_0802DAFA: - ldrb r0, [r1] - cmp r0, 0 - beq _0802DAE8 - cmp r0, 0x5 - beq _0802DAE8 - cmp r0, 0x5 - bls _0802DB12 - ldr r0, [r3] - ldrb r0, [r0, 0xA] - ldrb r4, [r1, 0x4] - cmp r0, r4 - bne _0802DAE8 -_0802DB12: - adds r1, 0x14 - adds r2, 0x1 - cmp r2, 0x7 - ble _0802DAFA - movs r0, 0 -_0802DB1C: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0802DB24: .4byte gUnknown_203B490 - thumb_func_end sub_802DADC - - thumb_func_start sub_802DB28 -sub_802DB28: - push {r4-r6,lr} - sub sp, 0x8 - adds r2, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 24 - lsrs r2, 24 - mov r0, sp - adds r1, r6, 0 - bl sub_8096AF8 - mov r0, sp - ldrb r0, [r0] - cmp r0, 0 - bne _0802DB4A - movs r0, 0 - b _0802DBC6 -_0802DB4A: - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _0802DBD0 - movs r0, 0xA8 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - adds r0, 0x30 - movs r5, 0 - strb r6, [r0] - adds r0, r6, 0 - bl sub_8096AB4 - ldr r1, [r4] - str r0, [r1, 0x34] - bl sub_8096EEC - ldr r1, [r4] - ldr r0, [r1, 0x34] - adds r1, 0x8 - bl sub_803C21C - ldr r0, [r4] - ldr r0, [r0, 0x34] - movs r1, 0xC - ldrsh r0, [r0, r1] - bl sub_808DDD0 - ldr r1, [r4] - str r0, [r1, 0x38] - str r5, [r1, 0x3C] - adds r1, 0x44 - strb r5, [r1] - ldr r0, [r4] - adds r0, 0x45 - strb r5, [r0] - ldr r0, [r4] - adds r0, 0x46 - strb r5, [r0] - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0x40 - movs r0, 0x2 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x8 - strh r0, [r1] - ldr r0, [r2, 0x38] - cmp r0, 0 - beq _0802DBBE - ldr r0, [r0, 0x4] - str r0, [r2, 0x3C] -_0802DBBE: - movs r0, 0 - bl sub_802DC28 - movs r0, 0x1 -_0802DBC6: - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0802DBD0: .4byte gUnknown_203B2FC - thumb_func_end sub_802DB28 - - thumb_func_start sub_802DBD4 -sub_802DBD4: - push {lr} - ldr r0, _0802DBEC - ldr r0, [r0] - ldr r1, [r0] - cmp r1, 0x6 - beq _0802DBF0 - cmp r1, 0x7 - bne _0802DBF6 - ldr r0, [r0, 0x34] - strb r1, [r0] - movs r0, 0x3 - b _0802DBFC - .align 2, 0 -_0802DBEC: .4byte gUnknown_203B2FC -_0802DBF0: - bl sub_802DE44 - b _0802DBFA -_0802DBF6: - bl sub_802DE60 -_0802DBFA: - movs r0, 0 -_0802DBFC: - pop {r1} - bx r1 - thumb_func_end sub_802DBD4 - - thumb_func_start sub_802DC00 -sub_802DC00: - push {r4,lr} - ldr r4, _0802DC24 - ldr r0, [r4] - cmp r0, 0 - beq _0802DC1E - ldr r0, [r0, 0x38] - cmp r0, 0 - beq _0802DC14 - bl CloseFile -_0802DC14: - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802DC1E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802DC24: .4byte gUnknown_203B2FC - thumb_func_end sub_802DC00 - - thumb_func_start sub_802DC28 -sub_802DC28: - push {lr} - ldr r1, _0802DC3C - ldr r1, [r1] - str r0, [r1] - bl sub_802DC40 - bl sub_802DC9C - pop {r0} - bx r0 - .align 2, 0 -_0802DC3C: .4byte gUnknown_203B2FC - thumb_func_end sub_802DC28 - - thumb_func_start sub_802DC40 -sub_802DC40: - push {r4-r7,lr} - ldr r4, _0802DC94 - ldr r0, [r4] - adds r0, 0x48 - bl sub_8006518 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0 - beq _0802DC58 - cmp r0, 0x7 - bne _0802DC7A -_0802DC58: - mov r12, r4 - ldr r4, _0802DC98 - movs r3, 0 - movs r2, 0x3 -_0802DC60: - mov r0, r12 - ldr r1, [r0] - adds r1, r3 - adds r1, 0x48 - 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 _0802DC60 -_0802DC7A: - bl sub_8004914 - ldr r0, _0802DC94 - ldr r0, [r0] - adds r0, 0x48 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802DC94: .4byte gUnknown_203B2FC -_0802DC98: .4byte gUnknown_80E016C - thumb_func_end sub_802DC40 - - thumb_func_start sub_802DC9C -sub_802DC9C: - push {r4,r5,lr} - ldr r1, _0802DCB8 - ldr r0, [r1] - ldr r0, [r0] - adds r5, r1, 0 - cmp r0, 0x7 - bls _0802DCAC - b _0802DE3E -_0802DCAC: - lsls r0, 2 - ldr r1, _0802DCBC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802DCB8: .4byte gUnknown_203B2FC -_0802DCBC: .4byte _0802DCC0 - .align 2, 0 -_0802DCC0: - .4byte _0802DCE0 - .4byte _0802DDDC - .4byte _0802DDE4 - .4byte _0802DDEC - .4byte _0802DDFC - .4byte _0802DDF4 - .4byte _0802DE34 - .4byte _0802DE3E -_0802DCE0: - ldr r0, _0802DD60 - ldr r1, [r5] - ldr r1, [r1, 0x34] - movs r2, 0xC - ldrsh r1, [r1, r2] - bl sub_808D8E0 - ldr r4, _0802DD64 - ldr r0, [r5] - ldr r0, [r0, 0x34] - movs r2, 0xC - ldrsh r1, [r0, r2] - adds r0, r4, 0 - bl sub_808D8E0 - ldr r0, [r5] - ldr r0, [r0, 0x34] - movs r1, 0xC - ldrsh r0, [r0, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r2, _0802DD68 - adds r0, r4, r2 - bl strcpy - ldr r0, [r5] - ldr r0, [r0, 0x34] - movs r1, 0xE - ldrsh r0, [r0, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r2, _0802DD6C - adds r4, r2 - adds r0, r4, 0 - bl strcpy - ldr r0, [r5] - ldr r0, [r0, 0x34] - movs r1, 0xC - ldrsh r0, [r0, r1] - bl sub_8098214 - ldr r0, _0802DD70 - ldr r1, [r5] - ldr r1, [r1, 0x34] - ldrb r1, [r1, 0x10] - movs r2, 0 - bl sub_8090DC4 - ldr r1, [r5] - movs r0, 0x6 - str r0, [r1, 0x4] - ldr r0, [r1, 0x34] - ldrb r0, [r0, 0x1] - cmp r0, 0x4 - bhi _0802DDD4 - lsls r0, 2 - ldr r1, _0802DD74 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802DD60: .4byte gUnknown_202E5D8 -_0802DD64: .4byte gUnknown_202E1C8 -_0802DD68: .4byte 0xfffffdd0 -_0802DD6C: .4byte 0xfffffe20 -_0802DD70: .4byte gUnknown_202DE58 -_0802DD74: .4byte _0802DD78 - .align 2, 0 -_0802DD78: - .4byte _0802DDD4 - .4byte _0802DD9C - .4byte _0802DDB8 - .4byte _0802DD94 - .4byte _0802DD8C -_0802DD8C: - movs r0, 0x5 - bl sub_802DC28 - b _0802DE3E -_0802DD94: - movs r0, 0x4 - bl sub_802DC28 - b _0802DE3E -_0802DD9C: - movs r0, 0x2 - bl sub_802DC28 - ldr r0, _0802DDB4 - ldr r0, [r0] - ldr r0, [r0, 0x34] - movs r2, 0xE - ldrsh r0, [r0, r2] - bl sub_8098214 - b _0802DE3E - .align 2, 0 -_0802DDB4: .4byte gUnknown_203B2FC -_0802DDB8: - movs r0, 0x3 - bl sub_802DC28 - ldr r0, _0802DDD0 - ldr r0, [r0] - ldr r0, [r0, 0x34] - movs r1, 0xE - ldrsh r0, [r0, r1] - bl sub_8098214 - b _0802DE3E - .align 2, 0 -_0802DDD0: .4byte gUnknown_203B2FC -_0802DDD4: - movs r0, 0x1 - bl sub_802DC28 - b _0802DE3E -_0802DDDC: - ldr r0, _0802DDE0 - b _0802DE1C - .align 2, 0 -_0802DDE0: .4byte gUnknown_80E0184 -_0802DDE4: - ldr r0, _0802DDE8 - b _0802DE1C - .align 2, 0 -_0802DDE8: .4byte gUnknown_80E01A0 -_0802DDEC: - ldr r0, _0802DDF0 - b _0802DE1C - .align 2, 0 -_0802DDF0: .4byte gUnknown_80E01C4 -_0802DDF4: - ldr r0, _0802DDF8 - b _0802DE1C - .align 2, 0 -_0802DDF8: .4byte gUnknown_80E01F0 -_0802DDFC: - ldr r0, [r5] - ldr r0, [r0, 0x34] - ldrb r0, [r0, 0x10] - bl sub_8091130 - adds r1, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0802DE1A - adds r0, r1, 0 - bl sub_80911F8 - bl sub_80910B4 -_0802DE1A: - ldr r0, _0802DE2C -_0802DE1C: - ldr r2, [r5] - adds r2, 0x38 - ldr r3, _0802DE30 - movs r1, 0 - bl sub_80141B4 - b _0802DE3E - .align 2, 0 -_0802DE2C: .4byte gUnknown_80E0218 -_0802DE30: .4byte 0x0000010d -_0802DE34: - ldr r0, [r5] - adds r0, 0x8 - movs r1, 0x1 - bl sub_802F204 -_0802DE3E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_802DC9C - - thumb_func_start sub_802DE44 -sub_802DE44: - push {lr} - bl sub_802F298 - cmp r0, 0x1 - bls _0802DE5C - cmp r0, 0x3 - bhi _0802DE5C - bl sub_802F2C0 - movs r0, 0x7 - bl sub_802DC28 -_0802DE5C: - pop {r0} - bx r0 - thumb_func_end sub_802DE44 - - thumb_func_start sub_802DE60 -sub_802DE60: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802DE78 - ldr r0, _0802DE80 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl sub_802DC28 -_0802DE78: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0802DE80: .4byte gUnknown_203B2FC - thumb_func_end sub_802DE60 - - thumb_func_start sub_802DE84 -sub_802DE84: - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _0802DED8 - movs r0, 0x7C - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - str r5, [r0, 0xC] - bl sub_801317C - ldr r0, [r4] - ldr r1, [r0, 0xC] - ldr r2, [r1] - str r2, [r0, 0x10] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 3 - adds r1, 0x18 - adds r1, r0, r1 - str r1, [r0, 0x14] - adds r0, 0x18 - bl sub_8006518 - ldr r1, [r4] - ldr r2, [r1, 0x10] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x18 - ldr r0, _0802DEDC - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - bl sub_802DF14 - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0802DED8: .4byte gUnknown_203B300 -_0802DEDC: .4byte gUnknown_80E0264 - thumb_func_end sub_802DE84 - - thumb_func_start sub_802DEE0 -sub_802DEE0: - push {lr} - ldr r0, _0802DF00 - ldr r0, [r0] - ldr r1, [r0, 0x10] - bl sub_8012A64 - cmp r0, 0x1 - beq _0802DF04 - cmp r0, 0x2 - bne _0802DF0E - movs r0, 0x1 - bl sub_80119D4 - movs r0, 0x2 - b _0802DF10 - .align 2, 0 -_0802DF00: .4byte gUnknown_203B300 -_0802DF04: - movs r0, 0 - bl sub_80119D4 - movs r0, 0x3 - b _0802DF10 -_0802DF0E: - movs r0, 0 -_0802DF10: - pop {r1} - bx r1 - thumb_func_end sub_802DEE0 - - thumb_func_start sub_802DF14 -sub_802DF14: - push {lr} - bl sub_802DF6C - bl sub_802DF88 - pop {r0} - bx r0 - thumb_func_end sub_802DF14 - - thumb_func_start sub_802DF24 -sub_802DF24: - push {r4,r5,lr} - ldr r4, _0802DF64 - ldr r2, [r4] - cmp r2, 0 - beq _0802DF5E - ldr r0, [r2, 0x10] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x18 - ldr r0, _0802DF68 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802DF5E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802DF64: .4byte gUnknown_203B300 -_0802DF68: .4byte gUnknown_80E0248 - thumb_func_end sub_802DF24 - - thumb_func_start sub_802DF6C -sub_802DF6C: - push {lr} - bl sub_8004914 - ldr r0, _0802DF84 - ldr r0, [r0] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r0} - bx r0 - .align 2, 0 -_0802DF84: .4byte gUnknown_203B300 - thumb_func_end sub_802DF6C - - thumb_func_start sub_802DF88 -sub_802DF88: - push {r4,lr} - ldr r4, _0802DFAC - ldr r0, [r4] - ldr r0, [r0, 0x10] - bl sub_80073B8 - ldr r0, [r4] - ldr r0, [r0, 0xC] - bl sub_803B98C - ldr r0, [r4] - ldr r0, [r0, 0x10] - bl sub_80073E0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802DFAC: .4byte gUnknown_203B300 - thumb_func_end sub_802DF88 - - thumb_func_start sub_802DFB0 -sub_802DFB0: - push {r4,lr} - ldr r4, _0802DFD4 - movs r0, 0xB6 - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r1, 0 - str r1, [r0, 0x64] - str r1, [r0, 0x68] - movs r0, 0 - bl sub_802E088 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0802DFD4: .4byte gUnknown_203B304 - thumb_func_end sub_802DFB0 - - thumb_func_start sub_802DFD8 -sub_802DFD8: - push {lr} - ldr r0, _0802DFF0 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0xB - bhi _0802E060 - lsls r0, 2 - ldr r1, _0802DFF4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802DFF0: .4byte gUnknown_203B304 -_0802DFF4: .4byte _0802DFF8 - .align 2, 0 -_0802DFF8: - .4byte _0802E028 - .4byte _0802E030 - .4byte _0802E036 - .4byte _0802E060 - .4byte _0802E03C - .4byte _0802E03C - .4byte _0802E042 - .4byte _0802E048 - .4byte _0802E04E - .4byte _0802E054 - .4byte _0802E054 - .4byte _0802E05A -_0802E028: - movs r0, 0x1 - bl sub_802E088 - b _0802E064 -_0802E030: - bl sub_802E4B0 - b _0802E064 -_0802E036: - bl nullsub_133 - b _0802E064 -_0802E03C: - bl sub_802E578 - b _0802E064 -_0802E042: - bl sub_802E60C - b _0802E064 -_0802E048: - bl sub_802E73C - b _0802E064 -_0802E04E: - bl sub_802E758 - b _0802E064 -_0802E054: - bl sub_802E774 - b _0802E064 -_0802E05A: - bl sub_802E7D0 - b _0802E064 -_0802E060: - movs r0, 0x3 - b _0802E066 -_0802E064: - movs r0, 0 -_0802E066: - pop {r1} - bx r1 - thumb_func_end sub_802DFD8 - - thumb_func_start sub_802E06C -sub_802E06C: - push {r4,lr} - ldr r4, _0802E084 - ldr r0, [r4] - cmp r0, 0 - beq _0802E07E - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802E07E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802E084: .4byte gUnknown_203B304 - thumb_func_end sub_802E06C - - thumb_func_start sub_802E088 -sub_802E088: - push {lr} - ldr r1, _0802E09C - ldr r1, [r1] - str r0, [r1] - bl sub_802E0A0 - bl sub_802E1AC - pop {r0} - bx r0 - .align 2, 0 -_0802E09C: .4byte gUnknown_203B304 - thumb_func_end sub_802E088 - - thumb_func_start sub_802E0A0 -sub_802E0A0: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _0802E0C8 - ldr r0, [r4] - movs r6, 0x86 - lsls r6, 1 - adds r0, r6 - bl sub_8006518 - ldr r0, [r4] - ldr r5, [r0] - cmp r5, 0x1 - beq _0802E0D0 - cmp r5, 0x6 - beq _0802E124 - movs r3, 0 - ldr r2, _0802E0CC - b _0802E168 - .align 2, 0 -_0802E0C8: .4byte gUnknown_203B304 -_0802E0CC: .4byte gUnknown_80E0284 -_0802E0D0: - mov r12, r6 - ldr r0, _0802E118 - mov r8, r0 - movs r2, 0 - movs r3, 0x3 -_0802E0DA: - ldr r1, [r4] - adds r1, r2 - add r1, r12 - mov r0, r8 - 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 _0802E0DA - bl sub_802E2B4 - ldr r3, _0802E11C - ldr r2, [r3] - movs r0, 0x9E - lsls r0, 1 - adds r2, r0 - ldr r1, _0802E120 - ldm r1!, {r4-r6} - stm r2!, {r4-r6} - ldm r1!, {r4,r5,r7} - stm r2!, {r4,r5,r7} - ldr r1, [r3] - adds r0, r1, r0 - adds r1, 0xBC - bl sub_8012CAC - b _0802E188 - .align 2, 0 -_0802E118: .4byte gUnknown_80E0284 -_0802E11C: .4byte gUnknown_203B304 -_0802E120: .4byte gUnknown_80E029C -_0802E124: - bl sub_802E3B8 - ldr r2, [r4] - movs r0, 0x9E - lsls r0, 1 - adds r2, r0 - ldr r1, _0802E160 - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - ldr r1, [r4] - adds r0, r1, r0 - adds r1, 0xBC - bl sub_8012CAC - ldr r1, [r4] - movs r4, 0xA4 - lsls r4, 1 - adds r0, r1, r4 - strh r5, [r0] - movs r5, 0xAA - lsls r5, 1 - adds r1, r5 - ldr r0, _0802E164 - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - b _0802E188 - .align 2, 0 -_0802E160: .4byte gUnknown_80E02B4 -_0802E164: .4byte gUnknown_80E02CC -_0802E168: - ldr r0, [r4] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r0, r1 - movs r6, 0x86 - lsls r6, 1 - adds r0, r6 - adds r1, r2, 0 - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - adds r3, 0x1 - cmp r3, 0x3 - ble _0802E168 -_0802E188: - bl sub_8004914 - ldr r0, _0802E1A8 - ldr r0, [r0] - movs r7, 0x86 - lsls r7, 1 - adds r0, r7 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802E1A8: .4byte gUnknown_203B304 - thumb_func_end sub_802E0A0 - - thumb_func_start sub_802E1AC -sub_802E1AC: - push {r4,lr} - sub sp, 0x8 - ldr r1, _0802E1C8 - ldr r0, [r1] - ldr r0, [r0] - adds r4, r1, 0 - cmp r0, 0xB - bhi _0802E2AA - lsls r0, 2 - ldr r1, _0802E1CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802E1C8: .4byte gUnknown_203B304 -_0802E1CC: .4byte _0802E1D0 - .align 2, 0 -_0802E1D0: - .4byte _0802E2AA - .4byte _0802E200 - .4byte _0802E2AA - .4byte _0802E2AA - .4byte _0802E21E - .4byte _0802E22A - .4byte _0802E232 - .4byte _0802E260 - .4byte _0802E286 - .4byte _0802E28E - .4byte _0802E29A - .4byte _0802E2A2 -_0802E200: - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x6C - adds r1, r2, 0 - adds r1, 0xBC - adds r3, r2, 0 - adds r3, 0xFC - ldr r2, [r2, 0x64] - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - bl sub_8012D60 - b _0802E2AA -_0802E21E: - movs r0, 0 - movs r1, 0 - movs r2, 0x4 - bl sub_802BD14 - b _0802E2AA -_0802E22A: - movs r0, 0x1 - bl sub_802BE94 - b _0802E2AA -_0802E232: - bl sub_802BFA0 - movs r0, 0x3 - bl sub_802E7F8 - ldr r0, _0802E25C - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x6C - adds r1, r2, 0 - adds r1, 0xBC - ldr r2, [r2, 0x68] - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _0802E2AA - .align 2, 0 -_0802E25C: .4byte gUnknown_203B304 -_0802E260: - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8095FE8 - ldr r1, [r4] - adds r1, 0xC - bl sub_803B35C - ldr r0, [r4] - movs r1, 0x3 - str r1, [r0, 0xC] - adds r0, 0x50 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xC - bl sub_802DE84 - b _0802E2AA -_0802E286: - movs r0, 0 - bl sub_802C860 - b _0802E2AA -_0802E28E: - movs r0, 0 - movs r1, 0 - movs r2, 0x8 - bl sub_802B640 - b _0802E2AA -_0802E29A: - movs r0, 0x1 - bl sub_802B7D0 - b _0802E2AA -_0802E2A2: - ldr r0, [r4] - ldrb r0, [r0, 0x9] - bl sub_802B9FC -_0802E2AA: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802E1AC - - thumb_func_start sub_802E2B4 -sub_802E2B4: - push {r4-r7,lr} - ldr r4, _0802E380 - ldr r0, [r4] - adds r0, 0xFC - movs r1, 0 - movs r2, 0x10 - bl MemoryFill16 - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0xBC - ldr r0, _0802E384 - str r0, [r2] - adds r1, 0xC0 - movs r0, 0x2 - str r0, [r1] - bl sub_802C0E8 - lsls r0, 24 - cmp r0, 0 - beq _0802E2E6 - ldr r0, [r4] - adds r0, 0xFC - movs r1, 0x1 - strh r1, [r0] -_0802E2E6: - movs r5, 0x1 - ldr r1, [r4] - movs r6, 0x1 - adds r2, r1, 0 - adds r2, 0xC4 - ldr r0, _0802E388 - str r0, [r2] - adds r1, 0xC8 - movs r0, 0x3 - str r0, [r1] - bl sub_802C83C - lsls r0, 24 - cmp r0, 0 - beq _0802E30A - ldr r0, [r4] - adds r0, 0xFE - strh r5, [r0] -_0802E30A: - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0xCC - ldr r0, _0802E38C - str r0, [r2] - adds r1, 0xD0 - movs r0, 0x4 - str r0, [r1] - bl sub_802B9D8 - lsls r0, 24 - cmp r0, 0 - beq _0802E32E - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r6, [r0] -_0802E32E: - movs r5, 0x3 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0xD4 - movs r1, 0 - str r1, [r0] - adds r0, 0x4 - str r6, [r0] - movs r3, 0 - adds r6, r4, 0 - mov r12, r2 - mov r4, r12 - adds r4, 0xFC - adds r2, 0xC0 -_0802E34A: - ldrh r0, [r4] - cmp r0, 0 - bne _0802E35A - ldr r1, [r2] - mov r7, r12 - ldr r0, [r7, 0x64] - cmp r1, r0 - beq _0802E3B2 -_0802E35A: - adds r4, 0x2 - adds r2, 0x8 - adds r3, 0x1 - cmp r3, r5 - blt _0802E34A - movs r3, 0 - cmp r3, r5 - bge _0802E3B2 - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0xFC - ldrh r0, [r0] - cmp r0, 0 - bne _0802E390 - adds r0, r1, 0 - adds r0, 0xC0 - ldr r0, [r0] - str r0, [r1, 0x64] - b _0802E3B2 - .align 2, 0 -_0802E380: .4byte gUnknown_203B304 -_0802E384: .4byte gUnknown_80E02E4 -_0802E388: .4byte gUnknown_80E02F0 -_0802E38C: .4byte gUnknown_80E02FC -_0802E390: - adds r3, 0x1 - cmp r3, r5 - bge _0802E3B2 - ldr r2, [r6] - lsls r0, r3, 1 - adds r1, r2, 0 - adds r1, 0xFC - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _0802E390 - lsls r0, r3, 3 - adds r1, r2, 0 - adds r1, 0xC0 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x64] -_0802E3B2: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_802E2B4 - - thumb_func_start sub_802E3B8 -sub_802E3B8: - push {r4-r7,lr} - movs r5, 0 - ldr r4, _0802E3F0 - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8095FE8 - adds r7, r0, 0 - ldrb r0, [r7] - cmp r0, 0x1 - bne _0802E3FC - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0xBC - ldr r0, _0802E3F4 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x6 - str r0, [r1] - adds r1, 0x4 - ldr r0, _0802E3F8 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x7 - str r0, [r1] - movs r5, 0x2 - b _0802E44A - .align 2, 0 -_0802E3F0: .4byte gUnknown_203B304 -_0802E3F4: .4byte gUnknown_80E0308 -_0802E3F8: .4byte gUnknown_80E0310 -_0802E3FC: - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0xBC - ldr r0, _0802E494 - ldr r0, [r0] - str r0, [r2] - adds r1, 0xC0 - movs r0, 0x5 - str r0, [r1] - adds r0, r7, 0 - bl sub_80968B0 - lsls r0, 24 - cmp r0, 0 - bne _0802E422 - bl sub_80969AC - cmp r0, 0x7 - ble _0802E42C -_0802E422: - ldr r0, [r4] - adds r0, 0xC0 - movs r1, 0x1 - negs r1, r1 - str r1, [r0] -_0802E42C: - adds r5, 0x1 - ldr r4, _0802E498 - ldr r2, [r4] - lsls r3, r5, 3 - adds r0, r2, 0 - adds r0, 0xBC - adds r0, r3 - ldr r1, _0802E49C - ldr r1, [r1] - str r1, [r0] - adds r2, 0xC0 - adds r2, r3 - movs r0, 0x8 - str r0, [r2] - adds r5, 0x1 -_0802E44A: - mov r12, r4 - mov r0, r12 - ldr r4, [r0] - lsls r2, r5, 3 - adds r0, r4, 0 - adds r0, 0xBC - adds r0, r2 - movs r1, 0 - str r1, [r0] - adds r1, r4, 0 - adds r1, 0xC0 - adds r2, r1, r2 - movs r0, 0x1 - str r0, [r2] - movs r3, 0 - cmp r3, r5 - bge _0802E486 - movs r6, 0x1 - negs r6, r6 - adds r2, r1, 0 -_0802E472: - ldr r1, [r2] - cmp r1, r6 - beq _0802E47E - ldr r0, [r4, 0x68] - cmp r1, r0 - beq _0802E4A8 -_0802E47E: - adds r2, 0x8 - adds r3, 0x1 - cmp r3, r5 - blt _0802E472 -_0802E486: - ldrb r0, [r7] - cmp r0, 0x1 - bne _0802E4A0 - mov r0, r12 - ldr r1, [r0] - movs r0, 0x7 - b _0802E4A6 - .align 2, 0 -_0802E494: .4byte gUnknown_80D4990 -_0802E498: .4byte gUnknown_203B304 -_0802E49C: .4byte gUnknown_80D4970 -_0802E4A0: - mov r0, r12 - ldr r1, [r0] - movs r0, 0x8 -_0802E4A6: - str r0, [r1, 0x68] -_0802E4A8: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_802E3B8 - - thumb_func_start sub_802E4B0 -sub_802E4B0: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r4, _0802E4F0 - ldr r0, [r4] - adds r0, 0x6C - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802E4DC - ldr r0, [r4] - adds r0, 0x6C - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _0802E4DC - ldr r0, [r4] - str r1, [r0, 0x64] -_0802E4DC: - ldr r0, [sp] - subs r0, 0x1 - cmp r0, 0x7 - bhi _0802E56E - lsls r0, 2 - ldr r1, _0802E4F4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802E4F0: .4byte gUnknown_203B304 -_0802E4F4: .4byte _0802E4F8 - .align 2, 0 -_0802E4F8: - .4byte _0802E568 - .4byte _0802E518 - .4byte _0802E52A - .4byte _0802E53C - .4byte _0802E56E - .4byte _0802E56E - .4byte _0802E56E - .4byte _0802E560 -_0802E518: - bl sub_802C0E8 - lsls r0, 24 - cmp r0, 0 - bne _0802E54E - movs r0, 0x4 - bl sub_802E088 - b _0802E56E -_0802E52A: - bl sub_802C83C - lsls r0, 24 - cmp r0, 0 - bne _0802E54E - movs r0, 0x8 - bl sub_802E088 - b _0802E56E -_0802E53C: - bl sub_802B9D8 - lsls r0, 24 - cmp r0, 0 - bne _0802E54E - movs r0, 0x9 - bl sub_802E088 - b _0802E56E -_0802E54E: - ldr r0, _0802E55C - ldr r0, [r0] - adds r0, 0x6C - movs r1, 0x1 - bl sub_8012EA4 - b _0802E56E - .align 2, 0 -_0802E55C: .4byte gUnknown_203B304 -_0802E560: - movs r0, 0x2 - bl sub_802E088 - b _0802E56E -_0802E568: - movs r0, 0x3 - bl sub_802E088 -_0802E56E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802E4B0 - - thumb_func_start sub_802E578 -sub_802E578: - push {r4,lr} - movs r0, 0x1 - bl sub_802BDEC - cmp r0, 0x4 - bhi _0802E606 - lsls r0, 2 - ldr r1, _0802E590 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802E590: .4byte _0802E594 - .align 2, 0 -_0802E594: - .4byte _0802E606 - .4byte _0802E606 - .4byte _0802E5FC - .4byte _0802E5A8 - .4byte _0802E5C0 -_0802E5A8: - bl sub_802BE74 - ldr r1, _0802E5BC - ldr r1, [r1] - strb r0, [r1, 0x8] - movs r0, 0x6 - bl sub_802E088 - b _0802E606 - .align 2, 0 -_0802E5BC: .4byte gUnknown_203B304 -_0802E5C0: - bl sub_802BE74 - ldr r4, _0802E5F0 - ldr r1, [r4] - strb r0, [r1, 0x8] - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8095FE8 - adds r2, r0, 0 - ldrb r0, [r2] - cmp r0, 0x1 - bne _0802E5F4 - ldr r1, [r4] - ldrb r0, [r2, 0x5] - strb r0, [r1, 0x9] - ldr r1, [r4] - movs r0, 0x5 - str r0, [r1, 0x4] - movs r0, 0xB - bl sub_802E088 - b _0802E606 - .align 2, 0 -_0802E5F0: .4byte gUnknown_203B304 -_0802E5F4: - movs r0, 0x7 - bl sub_802E088 - b _0802E606 -_0802E5FC: - bl sub_802BEDC - movs r0, 0x1 - bl sub_802E088 -_0802E606: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802E578 - - thumb_func_start sub_802E60C -sub_802E60C: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_802BDEC - ldr r4, _0802E650 - ldr r0, [r4] - adds r0, 0x6C - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802E63C - ldr r0, [r4] - adds r0, 0x6C - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _0802E63C - ldr r0, [r4] - str r1, [r0, 0x68] -_0802E63C: - ldr r0, [sp] - subs r0, 0x1 - cmp r0, 0x7 - bhi _0802E732 - lsls r0, 2 - ldr r1, _0802E654 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802E650: .4byte gUnknown_203B304 -_0802E654: .4byte _0802E658 - .align 2, 0 -_0802E658: - .4byte _0802E72C - .4byte _0802E732 - .4byte _0802E732 - .4byte _0802E732 - .4byte _0802E678 - .4byte _0802E6BC - .4byte _0802E704 - .4byte _0802E6B4 -_0802E678: - ldr r0, _0802E6AC - bl sub_8011988 - ldr r4, _0802E6B0 - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8095FE8 - bl sub_8096A78 - bl sub_8096C80 - bl sub_8096D24 - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8096040 - bl sub_8096078 - bl sub_802C0E8 - lsls r0, 24 - cmp r0, 0 - bne _0802E6E8 - b _0802E6FC - .align 2, 0 -_0802E6AC: .4byte 0x00000133 -_0802E6B0: .4byte gUnknown_203B304 -_0802E6B4: - movs r0, 0x7 - bl sub_802E088 - b _0802E732 -_0802E6BC: - ldr r0, _0802E6F4 - bl sub_8011988 - ldr r4, _0802E6F8 - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8095FE8 - ldrb r0, [r0, 0x5] - bl sub_8096DF8 - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8096040 - bl sub_8096078 - bl sub_802C0E8 - lsls r0, 24 - cmp r0, 0 - beq _0802E6FC -_0802E6E8: - bl sub_802BEDC - movs r0, 0x1 - bl sub_802E088 - b _0802E732 - .align 2, 0 -_0802E6F4: .4byte 0x00000133 -_0802E6F8: .4byte gUnknown_203B304 -_0802E6FC: - movs r0, 0x5 - bl sub_802E088 - b _0802E732 -_0802E704: - movs r0, 0 - bl sub_80119D4 - ldr r4, _0802E728 - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8095FE8 - ldr r1, [r4] - ldrb r0, [r0, 0x5] - strb r0, [r1, 0x9] - ldr r1, [r4] - movs r0, 0x5 - str r0, [r1, 0x4] - movs r0, 0xB - bl sub_802E088 - b _0802E732 - .align 2, 0 -_0802E728: .4byte gUnknown_203B304 -_0802E72C: - movs r0, 0x5 - bl sub_802E088 -_0802E732: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802E60C - - thumb_func_start sub_802E73C -sub_802E73C: - push {lr} - bl sub_802DEE0 - cmp r0, 0x1 - bls _0802E754 - cmp r0, 0x3 - bhi _0802E754 - bl sub_802DF24 - movs r0, 0x5 - bl sub_802E088 -_0802E754: - pop {r0} - bx r0 - thumb_func_end sub_802E73C - - thumb_func_start sub_802E758 -sub_802E758: - push {lr} - bl sub_802C898 - cmp r0, 0x1 - bls _0802E770 - cmp r0, 0x3 - bhi _0802E770 - bl sub_802C8F4 - movs r0, 0x1 - bl sub_802E088 -_0802E770: - pop {r0} - bx r0 - thumb_func_end sub_802E758 - - thumb_func_start sub_802E774 -sub_802E774: - push {lr} - movs r0, 0x1 - bl sub_802B720 - cmp r0, 0x4 - bhi _0802E7CA - lsls r0, 2 - ldr r1, _0802E78C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802E78C: .4byte _0802E790 - .align 2, 0 -_0802E790: - .4byte _0802E7CA - .4byte _0802E7CA - .4byte _0802E7C0 - .4byte _0802E7A4 - .4byte _0802E7A4 -_0802E7A4: - bl sub_802B7A8 - ldr r2, _0802E7BC - ldr r1, [r2] - strb r0, [r1, 0x9] - ldr r1, [r2] - movs r0, 0xA - str r0, [r1, 0x4] - movs r0, 0xB - bl sub_802E088 - b _0802E7CA - .align 2, 0 -_0802E7BC: .4byte gUnknown_203B304 -_0802E7C0: - bl sub_802B81C - movs r0, 0x1 - bl sub_802E088 -_0802E7CA: - pop {r0} - bx r0 - thumb_func_end sub_802E774 - - thumb_func_start sub_802E7D0 -sub_802E7D0: - push {lr} - bl sub_802BA8C - cmp r0, 0x1 - bls _0802E7EC - cmp r0, 0x3 - bhi _0802E7EC - bl sub_802BACC - ldr r0, _0802E7F0 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl sub_802E088 -_0802E7EC: - pop {r0} - bx r0 - .align 2, 0 -_0802E7F0: .4byte gUnknown_203B304 - thumb_func_end sub_802E7D0 - - thumb_func_start nullsub_133 -nullsub_133: - bx lr - thumb_func_end nullsub_133 - - thumb_func_start sub_802E7F8 -sub_802E7F8: - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - bl sub_8008C54 - adds r0, r4, 0 - bl sub_80073B8 - ldr r2, _0802E85C - movs r6, 0 - str r6, [sp] - movs r0, 0x3 - movs r1, 0 - adds r3, r4, 0 - bl xxx_call_draw_string - bl sub_80969AC - adds r2, r0, 0 - movs r5, 0x7 - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x12 - movs r1, 0xD - movs r3, 0x2 - bl sub_8012BC4 - ldr r2, _0802E860 - str r6, [sp] - movs r0, 0x16 - movs r1, 0xD - adds r3, r4, 0 - bl xxx_call_draw_string - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x23 - movs r1, 0xD - movs r2, 0x8 - movs r3, 0x2 - bl sub_8012BC4 - adds r0, r4, 0 - bl sub_80073E0 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802E85C: .4byte gUnknown_80E0318 -_0802E860: .4byte gUnknown_80E0324 - thumb_func_end sub_802E7F8 - - thumb_func_start sub_802E864 -sub_802E864: - push {r4,lr} - ldr r4, _0802E88C - movs r0, 0xB6 - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r1, 0 - str r1, [r0, 0x64] - str r1, [r0, 0x68] - str r1, [r0, 0x4] - movs r0, 0 - bl sub_802E934 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0802E88C: .4byte gUnknown_203B308 - thumb_func_end sub_802E864 - - thumb_func_start sub_802E890 -sub_802E890: - push {lr} - ldr r0, _0802E8A8 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x8 - bhi _0802E900 - lsls r0, 2 - ldr r1, _0802E8AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802E8A8: .4byte gUnknown_203B308 -_0802E8AC: .4byte _0802E8B0 - .align 2, 0 -_0802E8B0: - .4byte _0802E8D4 - .4byte _0802E8DC - .4byte _0802E8E2 - .4byte _0802E900 - .4byte _0802E8E8 - .4byte _0802E8E8 - .4byte _0802E8EE - .4byte _0802E8F4 - .4byte _0802E8FA -_0802E8D4: - movs r0, 0x1 - bl sub_802E934 - b _0802E904 -_0802E8DC: - bl sub_802ECB4 - b _0802E904 -_0802E8E2: - bl nullsub_134 - b _0802E904 -_0802E8E8: - bl sub_802ED4C - b _0802E904 -_0802E8EE: - bl sub_802EDBC - b _0802E904 -_0802E8F4: - bl sub_802EEA0 - b _0802E904 -_0802E8FA: - bl sub_802EEBC - b _0802E904 -_0802E900: - movs r0, 0x3 - b _0802E906 -_0802E904: - movs r0, 0 -_0802E906: - pop {r1} - bx r1 - thumb_func_end sub_802E890 - - thumb_func_start sub_802E90C -sub_802E90C: - ldr r0, _0802E914 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bx lr - .align 2, 0 -_0802E914: .4byte gUnknown_203B308 - thumb_func_end sub_802E90C - - thumb_func_start sub_802E918 -sub_802E918: - push {r4,lr} - ldr r4, _0802E930 - ldr r0, [r4] - cmp r0, 0 - beq _0802E92A - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802E92A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802E930: .4byte gUnknown_203B308 - thumb_func_end sub_802E918 - - thumb_func_start sub_802E934 -sub_802E934: - push {lr} - ldr r1, _0802E948 - ldr r1, [r1] - str r0, [r1] - bl sub_802E94C - bl sub_802EA58 - pop {r0} - bx r0 - .align 2, 0 -_0802E948: .4byte gUnknown_203B308 - thumb_func_end sub_802E934 - - thumb_func_start sub_802E94C -sub_802E94C: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _0802E974 - ldr r0, [r4] - movs r6, 0x86 - lsls r6, 1 - adds r0, r6 - bl sub_8006518 - ldr r0, [r4] - ldr r5, [r0] - cmp r5, 0x1 - beq _0802E97C - cmp r5, 0x6 - beq _0802E9D0 - movs r3, 0 - ldr r2, _0802E978 - b _0802EA14 - .align 2, 0 -_0802E974: .4byte gUnknown_203B308 -_0802E978: .4byte gUnknown_80E0330 -_0802E97C: - mov r12, r6 - ldr r0, _0802E9C4 - mov r8, r0 - movs r2, 0 - movs r3, 0x3 -_0802E986: - ldr r1, [r4] - adds r1, r2 - add r1, r12 - mov r0, r8 - 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 _0802E986 - bl sub_802EB34 - ldr r3, _0802E9C8 - ldr r2, [r3] - movs r0, 0x9E - lsls r0, 1 - adds r2, r0 - ldr r1, _0802E9CC - ldm r1!, {r4-r6} - stm r2!, {r4-r6} - ldm r1!, {r4,r5,r7} - stm r2!, {r4,r5,r7} - ldr r1, [r3] - adds r0, r1, r0 - adds r1, 0xBC - bl sub_8012CAC - b _0802EA34 - .align 2, 0 -_0802E9C4: .4byte gUnknown_80E0330 -_0802E9C8: .4byte gUnknown_203B308 -_0802E9CC: .4byte gUnknown_80E0348 -_0802E9D0: - bl sub_802EC10 - ldr r2, [r4] - movs r0, 0x9E - lsls r0, 1 - adds r2, r0 - ldr r1, _0802EA0C - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - ldr r1, [r4] - adds r0, r1, r0 - adds r1, 0xBC - bl sub_8012CAC - ldr r1, [r4] - movs r4, 0xA4 - lsls r4, 1 - adds r0, r1, r4 - strh r5, [r0] - movs r5, 0xAA - lsls r5, 1 - adds r1, r5 - ldr r0, _0802EA10 - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - b _0802EA34 - .align 2, 0 -_0802EA0C: .4byte gUnknown_80E0360 -_0802EA10: .4byte gUnknown_80E0378 -_0802EA14: - ldr r0, [r4] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r0, r1 - movs r6, 0x86 - lsls r6, 1 - adds r0, r6 - adds r1, r2, 0 - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - adds r3, 0x1 - cmp r3, 0x3 - ble _0802EA14 -_0802EA34: - bl sub_8004914 - ldr r0, _0802EA54 - ldr r0, [r0] - movs r7, 0x86 - lsls r7, 1 - adds r0, r7 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802EA54: .4byte gUnknown_203B308 - thumb_func_end sub_802E94C - - thumb_func_start sub_802EA58 -sub_802EA58: - push {r4,lr} - sub sp, 0x8 - ldr r1, _0802EA74 - ldr r0, [r1] - ldr r0, [r0] - adds r4, r1, 0 - cmp r0, 0x8 - bhi _0802EB2C - lsls r0, 2 - ldr r1, _0802EA78 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802EA74: .4byte gUnknown_203B308 -_0802EA78: .4byte _0802EA7C - .align 2, 0 -_0802EA7C: - .4byte _0802EB2C - .4byte _0802EAA0 - .4byte _0802EB2C - .4byte _0802EB2C - .4byte _0802EABE - .4byte _0802EACA - .4byte _0802EAD2 - .4byte _0802EB00 - .4byte _0802EB26 -_0802EAA0: - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x6C - adds r1, r2, 0 - adds r1, 0xBC - adds r3, r2, 0 - adds r3, 0xFC - ldr r2, [r2, 0x64] - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - bl sub_8012D60 - b _0802EB2C -_0802EABE: - movs r0, 0 - movs r1, 0 - movs r2, 0x4 - bl sub_802C10C - b _0802EB2C -_0802EACA: - movs r0, 0x1 - bl sub_802C28C - b _0802EB2C -_0802EAD2: - bl sub_802C39C - movs r0, 0x3 - bl sub_802EEDC - ldr r0, _0802EAFC - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x6C - adds r1, r2, 0 - adds r1, 0xBC - ldr r2, [r2, 0x68] - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _0802EB2C - .align 2, 0 -_0802EAFC: .4byte gUnknown_203B308 -_0802EB00: - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8096574 - ldr r1, [r4] - adds r1, 0xC - bl sub_803B35C - ldr r0, [r4] - movs r1, 0x3 - str r1, [r0, 0xC] - adds r0, 0x50 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xC - bl sub_802DE84 - b _0802EB2C -_0802EB26: - movs r0, 0 - bl sub_802C860 -_0802EB2C: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802EA58 - - thumb_func_start sub_802EB34 -sub_802EB34: - push {r4-r7,lr} - ldr r4, _0802EBDC - ldr r0, [r4] - adds r0, 0xFC - movs r1, 0 - movs r2, 0x10 - bl MemoryFill16 - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0xBC - ldr r0, _0802EBE0 - str r0, [r2] - adds r1, 0xC0 - movs r0, 0x2 - str r0, [r1] - bl sub_802C4A4 - lsls r0, 24 - cmp r0, 0 - beq _0802EB66 - ldr r0, [r4] - adds r0, 0xFC - movs r1, 0x1 - strh r1, [r0] -_0802EB66: - movs r5, 0x1 - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0xC4 - ldr r0, _0802EBE4 - str r0, [r2] - adds r1, 0xC8 - movs r0, 0x3 - str r0, [r1] - bl sub_802C83C - lsls r0, 24 - cmp r0, 0 - beq _0802EB88 - ldr r0, [r4] - adds r0, 0xFE - strh r5, [r0] -_0802EB88: - movs r5, 0x2 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0xCC - movs r0, 0 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x1 - str r0, [r1] - movs r3, 0 - adds r6, r4, 0 - mov r12, r2 - mov r4, r12 - adds r4, 0xFC - adds r2, 0xC0 -_0802EBA6: - ldrh r0, [r4] - cmp r0, 0 - bne _0802EBB6 - ldr r1, [r2] - mov r7, r12 - ldr r0, [r7, 0x64] - cmp r1, r0 - beq _0802EC0A -_0802EBB6: - adds r4, 0x2 - adds r2, 0x8 - adds r3, 0x1 - cmp r3, r5 - blt _0802EBA6 - movs r3, 0 - cmp r3, r5 - bge _0802EC0A - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0xFC - ldrh r0, [r0] - cmp r0, 0 - bne _0802EBE8 - adds r0, r1, 0 - adds r0, 0xC0 - ldr r0, [r0] - str r0, [r1, 0x64] - b _0802EC0A - .align 2, 0 -_0802EBDC: .4byte gUnknown_203B308 -_0802EBE0: .4byte gUnknown_80E0390 -_0802EBE4: .4byte gUnknown_80E03A0 -_0802EBE8: - adds r3, 0x1 - cmp r3, r5 - bge _0802EC0A - ldr r2, [r6] - lsls r0, r3, 1 - adds r1, r2, 0 - adds r1, 0xFC - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _0802EBE8 - lsls r0, r3, 3 - adds r1, r2, 0 - adds r1, 0xC0 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x64] -_0802EC0A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_802EB34 - - thumb_func_start sub_802EC10 -sub_802EC10: - push {r4-r7,lr} - movs r6, 0 - ldr r4, _0802ECA8 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0xBC - ldr r0, _0802ECAC - ldr r0, [r0] - str r0, [r1] - adds r1, 0x4 - movs r0, 0x4 - str r0, [r1] - ldrb r0, [r2, 0x8] - bl sub_8096574 - bl sub_80968B0 - lsls r0, 24 - cmp r0, 0 - bne _0802EC40 - bl sub_80969AC - cmp r0, 0x7 - ble _0802EC4A -_0802EC40: - ldr r0, [r4] - adds r0, 0xC0 - movs r1, 0x1 - negs r1, r1 - str r1, [r0] -_0802EC4A: - adds r6, 0x1 - ldr r4, _0802ECA8 - ldr r5, [r4] - lsls r1, r6, 3 - adds r2, r5, 0 - adds r2, 0xBC - adds r3, r2, r1 - ldr r0, _0802ECB0 - ldr r0, [r0] - str r0, [r3] - adds r3, r5, 0 - adds r3, 0xC0 - adds r1, r3, r1 - movs r0, 0x5 - str r0, [r1] - adds r6, 0x1 - lsls r1, r6, 3 - adds r2, r1 - movs r0, 0 - str r0, [r2] - adds r1, r3, r1 - movs r0, 0x1 - str r0, [r1] - movs r2, 0 - adds r7, r4, 0 - cmp r2, r6 - bge _0802EC9C - adds r4, r5, 0 - movs r5, 0x1 - negs r5, r5 - adds r1, r3, 0 -_0802EC88: - ldr r3, [r1] - cmp r3, r5 - beq _0802EC94 - ldr r0, [r4, 0x68] - cmp r3, r0 - beq _0802ECA2 -_0802EC94: - adds r1, 0x8 - adds r2, 0x1 - cmp r2, r6 - blt _0802EC88 -_0802EC9C: - ldr r1, [r7] - movs r0, 0x5 - str r0, [r1, 0x68] -_0802ECA2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802ECA8: .4byte gUnknown_203B308 -_0802ECAC: .4byte gUnknown_80D4990 -_0802ECB0: .4byte gUnknown_80D4970 - thumb_func_end sub_802EC10 - - thumb_func_start sub_802ECB4 -sub_802ECB4: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r4, _0802ECF0 - ldr r0, [r4] - adds r0, 0x6C - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802ECE0 - ldr r0, [r4] - adds r0, 0x6C - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _0802ECE0 - ldr r0, [r4] - str r1, [r0, 0x64] -_0802ECE0: - ldr r0, [sp] - cmp r0, 0x2 - beq _0802ECFE - cmp r0, 0x2 - bgt _0802ECF4 - cmp r0, 0x1 - beq _0802ED3C - b _0802ED42 - .align 2, 0 -_0802ECF0: .4byte gUnknown_203B308 -_0802ECF4: - cmp r0, 0x3 - beq _0802ED10 - cmp r0, 0x5 - beq _0802ED34 - b _0802ED42 -_0802ECFE: - bl sub_802C4A4 - lsls r0, 24 - cmp r0, 0 - bne _0802ED22 - movs r0, 0x4 - bl sub_802E934 - b _0802ED42 -_0802ED10: - bl sub_802C83C - lsls r0, 24 - cmp r0, 0 - bne _0802ED22 - movs r0, 0x8 - bl sub_802E934 - b _0802ED42 -_0802ED22: - ldr r0, _0802ED30 - ldr r0, [r0] - adds r0, 0x6C - movs r1, 0x1 - bl sub_8012EA4 - b _0802ED42 - .align 2, 0 -_0802ED30: .4byte gUnknown_203B308 -_0802ED34: - movs r0, 0x2 - bl sub_802E934 - b _0802ED42 -_0802ED3C: - movs r0, 0x3 - bl sub_802E934 -_0802ED42: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802ECB4 - - thumb_func_start sub_802ED4C -sub_802ED4C: - push {lr} - movs r0, 0x1 - bl sub_802C1E4 - cmp r0, 0x4 - bhi _0802EDB6 - lsls r0, 2 - ldr r1, _0802ED64 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802ED64: .4byte _0802ED68 - .align 2, 0 -_0802ED68: - .4byte _0802EDB6 - .4byte _0802EDB6 - .4byte _0802EDAC - .4byte _0802ED7C - .4byte _0802ED94 -_0802ED7C: - bl sub_802C26C - ldr r1, _0802ED90 - ldr r1, [r1] - strb r0, [r1, 0x8] - movs r0, 0x6 - bl sub_802E934 - b _0802EDB6 - .align 2, 0 -_0802ED90: .4byte gUnknown_203B308 -_0802ED94: - bl sub_802C26C - ldr r1, _0802EDA8 - ldr r1, [r1] - strb r0, [r1, 0x8] - movs r0, 0x7 - bl sub_802E934 - b _0802EDB6 - .align 2, 0 -_0802EDA8: .4byte gUnknown_203B308 -_0802EDAC: - bl sub_802C2D4 - movs r0, 0x1 - bl sub_802E934 -_0802EDB6: - pop {r0} - bx r0 - thumb_func_end sub_802ED4C - - thumb_func_start sub_802EDBC -sub_802EDBC: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_802C1E4 - ldr r4, _0802EDFC - ldr r0, [r4] - adds r0, 0x6C - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802EDEC - ldr r0, [r4] - adds r0, 0x6C - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _0802EDEC - ldr r0, [r4] - str r1, [r0, 0x68] -_0802EDEC: - ldr r0, [sp] - cmp r0, 0x4 - beq _0802EE06 - cmp r0, 0x4 - bgt _0802EE00 - cmp r0, 0x1 - beq _0802EE90 - b _0802EE96 - .align 2, 0 -_0802EDFC: .4byte gUnknown_203B308 -_0802EE00: - cmp r0, 0x5 - beq _0802EE88 - b _0802EE96 -_0802EE06: - ldr r0, _0802EE28 - bl sub_8011988 - ldr r4, _0802EE2C - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8096574 - ldrb r1, [r0] - cmp r1, 0x3 - beq _0802EE3C - cmp r1, 0x3 - bgt _0802EE30 - cmp r1, 0x2 - beq _0802EE36 - b _0802EE5E - .align 2, 0 -_0802EE28: .4byte 0x00000133 -_0802EE2C: .4byte gUnknown_203B308 -_0802EE30: - cmp r1, 0x4 - beq _0802EE42 - b _0802EE5E -_0802EE36: - ldr r0, [r4] - movs r1, 0x1 - b _0802EE46 -_0802EE3C: - ldr r0, [r4] - movs r1, 0x2 - b _0802EE46 -_0802EE42: - ldr r0, [r4] - movs r1, 0x3 -_0802EE46: - str r1, [r0, 0x4] - ldrb r0, [r0, 0x8] - bl sub_80965B8 - bl sub_80965F4 - bl sub_802C2D4 - movs r0, 0x3 - bl sub_802E934 - b _0802EE96 -_0802EE5E: - bl sub_8096A78 - bl sub_8096C80 - bl sub_8096D24 - bl sub_802C4A4 - lsls r0, 24 - cmp r0, 0 - beq _0802EE80 - bl sub_802C2D4 - movs r0, 0x1 - bl sub_802E934 - b _0802EE96 -_0802EE80: - movs r0, 0x5 - bl sub_802E934 - b _0802EE96 -_0802EE88: - movs r0, 0x7 - bl sub_802E934 - b _0802EE96 -_0802EE90: - movs r0, 0x5 - bl sub_802E934 -_0802EE96: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802EDBC - - thumb_func_start sub_802EEA0 -sub_802EEA0: - push {lr} - bl sub_802DEE0 - cmp r0, 0x1 - bls _0802EEB8 - cmp r0, 0x3 - bhi _0802EEB8 - bl sub_802DF24 - movs r0, 0x5 - bl sub_802E934 -_0802EEB8: - pop {r0} - bx r0 - thumb_func_end sub_802EEA0 - - thumb_func_start sub_802EEBC -sub_802EEBC: - push {lr} - bl sub_802C898 - cmp r0, 0x1 - bls _0802EED4 - cmp r0, 0x3 - bhi _0802EED4 - bl sub_802C8F4 - movs r0, 0x1 - bl sub_802E934 -_0802EED4: - pop {r0} - bx r0 - thumb_func_end sub_802EEBC - - thumb_func_start nullsub_134 -nullsub_134: - bx lr - thumb_func_end nullsub_134 - - thumb_func_start sub_802EEDC -sub_802EEDC: - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - bl sub_8008C54 - adds r0, r4, 0 - bl sub_80073B8 - ldr r2, _0802EF40 - movs r6, 0 - str r6, [sp] - movs r0, 0x3 - movs r1, 0 - adds r3, r4, 0 - bl xxx_call_draw_string - bl sub_80969AC - adds r2, r0, 0 - movs r5, 0x7 - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x12 - movs r1, 0xD - movs r3, 0x2 - bl sub_8012BC4 - ldr r2, _0802EF44 - str r6, [sp] - movs r0, 0x16 - movs r1, 0xD - adds r3, r4, 0 - bl xxx_call_draw_string - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x23 - movs r1, 0xD - movs r2, 0x8 - movs r3, 0x2 - bl sub_8012BC4 - adds r0, r4, 0 - bl sub_80073E0 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802EF40: .4byte gUnknown_80E03AC -_0802EF44: .4byte gUnknown_80E03B8 - thumb_func_end sub_802EEDC - - 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 sub_8004914 - 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 sub_8004914 - 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 sub_808DDD0 - 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 gUnknown_202DF98 - 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 sub_802F358 - 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 sub_8004914 - 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 sub_802F358 -sub_802F358: - 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 sub_8011988 - ldr r0, _0802F414 - ldr r0, [r0] - ldr r0, [r0, 0x10] - ldr r0, [r0, 0x18] - bl sub_80913A0 - 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 sub_8092600 - lsls r0, 24 - cmp r0, 0 - beq _0802F4BC - movs r0, 0xFA - lsls r0, 2 - bl sub_80913A0 - 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 sub_80925EC - movs r0, 0xCE - bl sub_8011988 - 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 sub_80925EC - movs r0, 0xCE - bl sub_8011988 - 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 sub_8090A60 - 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 sub_8092178 - ldr r1, [r5] - strb r0, [r1, 0x9] - ldr r0, [r5] - ldr r0, [r0, 0x10] - ldr r0, [r0, 0x24] - bl sub_8092158 - movs r0, 0xCB - bl sub_8011988 - ldr r4, [r5] - bl sub_8092178 - 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 sub_8011988 - ldr r0, _0802F6EC - ldr r1, [r0] - movs r0, 0x9 - str r0, [r1, 0x4] - ldrb r0, [r1, 0x9] - bl sub_80921A8 - adds r1, r0, 0 - ldr r4, _0802F6F0 - adds r0, r4, 0 - bl strcpy - bl sub_8092178 - lsls r0, 24 - lsrs r0, 24 - bl sub_80921A8 - 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 sub_802F358 - - 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 sub_8004914 - 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 sub_80119D4 - movs r0, 0x2 - b _0802F904 - .align 2, 0 -_0802F8D8: .4byte gUnknown_203B314 -_0802F8DC: - movs r0, 0 - bl sub_80119D4 - 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 sub_8004914 - 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} - ldr r4, _0802FA44 - ldr r0, [r4] - movs r1, 0xAC - lsls r1, 1 - adds r0, r1 - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - ldr r3, _0802FA48 - adds r0, r3 - strb r2, [r0] - ldr r0, [r4] - adds r3, 0x1 - adds r1, r0, r3 - movs r0, 0x8 - strb r0, [r1] - ldr r0, [r4] - ldr r1, _0802FA4C - adds r0, r1 - strb r2, [r0] - ldr r0, [r4] - adds r0, 0xD6 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r3, [r4] - adds r5, r3, 0 - adds r5, 0xF0 - ldr r2, [r5] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 3 - adds r1, r3, r1 - movs r2, 0x83 - lsls r2, 1 - adds r1, r2 - asrs r2, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r3, r0 - adds r2, 0x2 - movs r0, 0x84 - lsls r0, 1 - adds r3, r0 - strh r2, [r3] - bl sub_8004914 - ldr r0, [r4] - adds r0, 0xF8 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802FA44: .4byte gUnknown_203B314 -_0802FA48: .4byte 0x00000159 -_0802FA4C: .4byte 0x0000015b - thumb_func_end sub_802F9C0 - - thumb_func_start sub_802FA50 -sub_802FA50: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - ldr r4, _0802FB1C - ldr r0, [r4] - adds r0, 0xF0 - ldr r0, [r0] - bl sub_8008C54 - ldr r0, [r4] - adds r0, 0xF0 - ldr r0, [r0] - bl sub_80073B8 - ldr r2, _0802FB20 - ldr r0, [r4] - adds r0, 0xF0 - ldr r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - movs r1, 0 - bl xxx_call_draw_string - ldr r3, [r4] - movs r1, 0xAD - lsls r1, 1 - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, 3 - adds r0, 0x4 - adds r1, r3, 0 - adds r1, 0xDA - movs r5, 0 - ldrsh r2, [r1, r5] - adds r2, 0x1 - movs r1, 0x7 - str r1, [sp] - adds r1, r3, 0 - adds r1, 0xF0 - ldr r1, [r1] - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0xB8 - ldrb r0, [r0] - cmp r0, 0 - beq _0802FB78 - movs r6, 0 - adds r0, r1, 0 - adds r0, 0xD6 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r6, r0 - blt _0802FACA - b _0802FBD6 -_0802FACA: - mov r8, r4 -_0802FACC: - mov r2, r8 - ldr r0, [r2] - adds r0, 0xBC - adds r1, r6, 0 - bl sub_8013800 - adds r5, r0, 0 - mov r3, r8 - ldr r2, [r3] - 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, r0, r6 - lsls r0, r1, 1 - adds r0, r2, r0 - movs r3, 0 - ldrsh r7, [r0, r3] - adds r0, r2, 0 - adds r0, 0x5C - adds r0, r1 - ldrb r4, [r0] - cmp r4, 0 - beq _0802FB28 - adds r0, r2, 0 - adds r0, 0xF0 - ldr r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - adds r1, r5, 0 - ldr r2, _0802FB24 - bl xxx_call_draw_string - b _0802FB46 - .align 2, 0 -_0802FB1C: .4byte gUnknown_203B314 -_0802FB20: .4byte gUnknown_80E0744 -_0802FB24: .4byte gUnknown_80E0750 -_0802FB28: - adds r0, r2, 0 - adds r0, 0x8A - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0802FB46 - adds r0, r2, 0 - adds r0, 0xF0 - ldr r3, [r0] - str r4, [sp] - movs r0, 0xA - adds r1, r5, 0 - ldr r2, _0802FB74 - bl xxx_call_draw_string -_0802FB46: - adds r0, r7, 0 - bl sub_80974A0 - adds r2, r0, 0 - mov r1, r8 - ldr r0, [r1] - adds r0, 0xF0 - ldr r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x18 - adds r1, r5, 0 - bl xxx_call_draw_string - adds r6, 0x1 - mov r2, r8 - ldr r0, [r2] - adds r0, 0xD6 - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r6, r0 - blt _0802FACC - b _0802FBD6 - .align 2, 0 -_0802FB74: .4byte gUnknown_80E0754 -_0802FB78: - movs r6, 0 - adds r0, r1, 0 - adds r0, 0xD6 - movs r5, 0 - ldrsh r0, [r0, r5] - cmp r6, r0 - bge _0802FBD6 - adds r5, r4, 0 -_0802FB88: - ldr r0, [r5] - adds r0, 0xBC - adds r1, r6, 0 - bl sub_8013800 - adds r4, r0, 0 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0xDA - movs r3, 0 - ldrsh r2, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r2 - adds r0, r6 - lsls r0, 1 - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - bl sub_80974A0 - adds r2, r0, 0 - ldr r0, [r5] - adds r0, 0xF0 - ldr r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x8 - adds r1, r4, 0 - bl xxx_call_draw_string - adds r6, 0x1 - ldr r0, [r5] - adds r0, 0xD6 - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r6, r0 - blt _0802FB88 -_0802FBD6: - ldr r0, _0802FBF0 - ldr r0, [r0] - adds r0, 0xF0 - ldr r0, [r0] - bl sub_80073E0 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802FBF0: .4byte gUnknown_203B314 - thumb_func_end sub_802FA50 - - thumb_func_start sub_802FBF4 -sub_802FBF4: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r0, 0 - mov r8, r0 - movs r1, 0 - str r1, [sp] -_0802FC08: - ldr r1, [sp] - lsls r0, r1, 16 - asrs r4, r0, 16 - mov r10, r4 - adds r0, r4, 0 - bl sub_80A27CC - lsls r0, 24 - cmp r0, 0 - beq _0802FCCE - cmp r4, 0x13 - beq _0802FCCE - cmp r4, 0x1D - beq _0802FCCE - ldr r7, _0802FC88 - ldr r1, [r7] - mov r0, r8 - lsls r6, r0, 1 - adds r0, r1, r6 - strh r4, [r0] - adds r1, 0x5C - add r1, r8 - movs r0, 0 - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x8A - add r0, r8 - movs r1, 0 - strb r1, [r0] - ldr r0, [r7] - adds r0, 0xB8 - ldrb r0, [r0] - cmp r0, 0 - beq _0802FCCA - cmp r4, 0xD - beq _0802FCCA - adds r0, r4, 0 - bl sub_80A270C - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r5, 0 - cmp r4, 0x1E - bgt _0802FCA8 - adds r0, r4, 0 - bl sub_8097384 - lsls r0, 24 - cmp r0, 0 - bne _0802FCA6 - cmp r4, 0x6 - bne _0802FC8C - movs r0, 0x13 - bl sub_8097384 - lsls r0, 24 - cmp r0, 0 - beq _0802FCA8 - ldr r0, [r7] - adds r0, r6 - movs r1, 0x13 - b _0802FCA4 - .align 2, 0 -_0802FC88: .4byte gUnknown_203B314 -_0802FC8C: - mov r0, r10 - cmp r0, 0xA - bne _0802FCA8 - movs r0, 0x1D - bl sub_8097384 - lsls r0, 24 - cmp r0, 0 - beq _0802FCA8 - ldr r0, [r7] - adds r0, r6 - movs r1, 0x1D -_0802FCA4: - strh r1, [r0] -_0802FCA6: - movs r5, 0x1 -_0802FCA8: - ldr r4, _0802FCEC - ldr r0, [r4] - adds r0, 0x5C - add r0, r8 - strb r5, [r0] - cmp r5, 0 - bne _0802FCCA - mov r0, r9 - bl sub_80969D0 - cmp r0, 0 - ble _0802FCCA - ldr r0, [r4] - adds r0, 0x8A - add r0, r8 - movs r1, 0x1 - strb r1, [r0] -_0802FCCA: - movs r1, 0x1 - add r8, r1 -_0802FCCE: - ldr r0, [sp] - adds r0, 0x1 - str r0, [sp] - cmp r0, 0x2D - ble _0802FC08 - mov r0, r8 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802FCEC: .4byte gUnknown_203B314 - thumb_func_end sub_802FBF4 - - thumb_func_start sub_802FCF0 -sub_802FCF0: - push {r4,lr} - movs r4, 0 -_0802FCF4: - lsls r0, r4, 16 - asrs r0, 16 - bl sub_80A27CC - lsls r0, 24 - cmp r0, 0 - beq _0802FD06 - movs r0, 0 - b _0802FD0E -_0802FD06: - adds r4, 0x1 - cmp r4, 0x2D - ble _0802FCF4 - movs r0, 0x1 -_0802FD0E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802FCF0 - - thumb_func_start sub_802FD14 -sub_802FD14: - push {r4-r6,lr} - adds r5, r0, 0 - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _0802FD48 - movs r0, 0xCC - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - ldr r1, _0802FD4C - strh r1, [r0, 0x10] - str r5, [r0] - cmp r5, 0x7 - bhi _0802FDC0 - lsls r0, r5, 2 - ldr r1, _0802FD50 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802FD48: .4byte gUnknown_203B318 -_0802FD4C: .4byte 0x0000ffff -_0802FD50: .4byte _0802FD54 - .align 2, 0 -_0802FD54: - .4byte _0802FD74 - .4byte _0802FD84 - .4byte _0802FD94 - .4byte _0802FDA4 - .4byte _0802FDB4 - .4byte _0802FDB8 - .4byte _0802FDBC - .4byte _0802FDC0 -_0802FD74: - movs r6, 0 - ldr r1, _0802FD80 - ldr r0, [r1] - str r6, [r0, 0x4] - b _0802FDCC - .align 2, 0 -_0802FD80: .4byte gUnknown_203B318 -_0802FD84: - movs r6, 0x7 - ldr r2, _0802FD90 - ldr r1, [r2] - movs r0, 0 - b _0802FDC8 - .align 2, 0 -_0802FD90: .4byte gUnknown_203B318 -_0802FD94: - movs r6, 0x6 - ldr r2, _0802FDA0 - ldr r1, [r2] - movs r0, 0 - b _0802FDC8 - .align 2, 0 -_0802FDA0: .4byte gUnknown_203B318 -_0802FDA4: - movs r6, 0x8 - ldr r2, _0802FDB0 - ldr r1, [r2] - movs r0, 0 - b _0802FDC8 - .align 2, 0 -_0802FDB0: .4byte gUnknown_203B318 -_0802FDB4: - movs r6, 0 - b _0802FDC2 -_0802FDB8: - movs r6, 0x7 - b _0802FDC2 -_0802FDBC: - movs r6, 0x6 - b _0802FDC2 -_0802FDC0: - movs r6, 0x8 -_0802FDC2: - ldr r2, _0802FDD8 - ldr r1, [r2] - movs r0, 0x1 -_0802FDC8: - str r0, [r1, 0x4] - adds r1, r2, 0 -_0802FDCC: - ldr r1, [r1] - ldr r0, [r1, 0x4] - cmp r0, 0x1 - bne _0802FDDC - movs r0, 0 - b _0802FDE0 - .align 2, 0 -_0802FDD8: .4byte gUnknown_203B318 -_0802FDDC: - adds r0, r1, 0 - adds r0, 0x58 -_0802FDE0: - str r0, [r1, 0x68] - ldr r0, _0802FE48 - ldr r5, _0802FE4C - adds r1, r5, 0 - bl sub_808D8E0 - ldr r4, _0802FE50 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808D8E0 - adds r0, r5, 0 - bl sub_808D994 - adds r1, r0, 0 - subs r4, 0x50 - adds r0, r4, 0 - bl strcpy - adds r0, r5, 0 - bl sub_808DDD0 - ldr r3, _0802FE54 - ldr r1, [r3] - str r0, [r1, 0x58] - ldr r0, [r0, 0x4] - str r0, [r1, 0x5C] - adds r1, 0x64 - movs r2, 0 - strb r2, [r1] - ldr r0, [r3] - adds r0, 0x65 - strb r2, [r0] - ldr r0, [r3] - adds r0, 0x66 - strb r2, [r0] - ldr r1, [r3] - adds r2, r1, 0 - adds r2, 0x60 - movs r0, 0x2 - strh r0, [r2] - adds r1, 0x62 - movs r0, 0x8 - strh r0, [r1] - adds r0, r6, 0 - bl sub_802FF04 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0802FE48: .4byte gUnknown_202E5D8 -_0802FE4C: .4byte 0x00000141 -_0802FE50: .4byte gUnknown_202E1C8 -_0802FE54: .4byte gUnknown_203B318 - thumb_func_end sub_802FD14 - - thumb_func_start sub_802FE58 -sub_802FE58: - push {lr} - ldr r0, _0802FE70 - ldr r0, [r0] - ldr r0, [r0, 0x8] - cmp r0, 0xD - bhi _0802FEC6 - lsls r0, 2 - ldr r1, _0802FE74 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802FE70: .4byte gUnknown_203B318 -_0802FE74: .4byte _0802FE78 - .align 2, 0 -_0802FE78: - .4byte _0802FEB0 - .4byte _0802FEB0 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEB6 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEBC - .4byte _0802FEC6 - .4byte _0802FEC2 -_0802FEB0: - bl sub_8030208 - b _0802FECA -_0802FEB6: - bl sub_8030258 - b _0802FECA -_0802FEBC: - bl sub_80302A8 - b _0802FECA -_0802FEC2: - movs r0, 0x3 - b _0802FECC -_0802FEC6: - bl sub_80302C4 -_0802FECA: - movs r0, 0 -_0802FECC: - pop {r1} - bx r1 - thumb_func_end sub_802FE58 - - thumb_func_start sub_802FED0 -sub_802FED0: - ldr r0, _0802FEDC - ldr r0, [r0] - movs r1, 0x10 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_0802FEDC: .4byte gUnknown_203B318 - thumb_func_end sub_802FED0 - - thumb_func_start sub_802FEE0 -sub_802FEE0: - push {r4,lr} - ldr r4, _0802FF00 - ldr r0, [r4] - cmp r0, 0 - beq _0802FEFA - ldr r0, [r0, 0x58] - bl CloseFile - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802FEFA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802FF00: .4byte gUnknown_203B318 - thumb_func_end sub_802FEE0 - - thumb_func_start sub_802FF04 -sub_802FF04: - push {lr} - ldr r1, _0802FF18 - ldr r1, [r1] - str r0, [r1, 0x8] - bl sub_802FF1C - bl sub_802FF88 - pop {r0} - bx r0 - .align 2, 0 -_0802FF18: .4byte gUnknown_203B318 - thumb_func_end sub_802FF04 - - thumb_func_start sub_802FF1C -sub_802FF1C: - push {r4-r7,lr} - ldr r4, _0802FF3C - ldr r0, [r4] - adds r0, 0x6C - bl sub_8006518 - ldr r0, [r4] - ldr r0, [r0, 0x8] - cmp r0, 0x4 - beq _0802FF44 - cmp r0, 0x4 - bgt _0802FF40 - cmp r0, 0 - beq _0802FF44 - b _0802FF68 - .align 2, 0 -_0802FF3C: .4byte gUnknown_203B318 -_0802FF40: - cmp r0, 0xD - bne _0802FF68 -_0802FF44: - ldr r0, _0802FF80 - mov r12, r0 - ldr r4, _0802FF84 - movs r3, 0 - movs r2, 0x3 -_0802FF4E: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - adds r1, 0x6C - 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 _0802FF4E -_0802FF68: - bl sub_8004914 - ldr r0, _0802FF80 - ldr r0, [r0] - adds r0, 0x6C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802FF80: .4byte gUnknown_203B318 -_0802FF84: .4byte gUnknown_80E0760 - thumb_func_end sub_802FF1C - - thumb_func_start sub_802FF88 -sub_802FF88: - push {r4,r5,lr} - sub sp, 0x18 - ldr r1, _0802FFA4 - ldr r0, [r1] - ldr r0, [r0, 0x8] - adds r5, r1, 0 - cmp r0, 0xD - bls _0802FF9A - b _080301A0 -_0802FF9A: - lsls r0, 2 - ldr r1, _0802FFA8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802FFA4: .4byte gUnknown_203B318 -_0802FFA8: .4byte _0802FFAC - .align 2, 0 -_0802FFAC: - .4byte _0802FFE4 - .4byte _08030000 - .4byte _08030038 - .4byte _08030050 - .4byte _08030068 - .4byte _08030074 - .4byte _080300DC - .4byte _080300C4 - .4byte _080300F4 - .4byte _0803010C - .4byte _08030148 - .4byte _08030174 - .4byte _08030180 - .4byte _080301A0 -_0802FFE4: - bl sub_80301B0 - ldr r2, _0802FFF8 - ldr r0, _0802FFFC - ldr r5, [r0] - ldr r1, [r5, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - b _0803000E - .align 2, 0 -_0802FFF8: .4byte gUnknown_80D9FC8 -_0802FFFC: .4byte gUnknown_203B318 -_08030000: - ldr r2, _08030034 - ldr r5, [r5] - ldr r1, [r5, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x4 -_0803000E: - adds r0, r2 - ldr r0, [r0] - ldr r2, [r5, 0x14] - adds r3, r5, 0 - adds r3, 0x18 - movs r4, 0 - str r4, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - ldr r1, [r5, 0x68] - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - bl sub_8014248 - b _080301A0 - .align 2, 0 -_08030034: .4byte gUnknown_80D9FC8 -_08030038: - ldr r3, [r5] - movs r0, 0xD - str r0, [r3, 0xC] - ldr r2, _0803004C - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x8 - b _0803015A - .align 2, 0 -_0803004C: .4byte gUnknown_80D9FC8 -_08030050: - ldr r3, [r5] - movs r0, 0x4 - str r0, [r3, 0xC] - ldr r2, _08030064 - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0xC - b _0803015A - .align 2, 0 -_08030064: .4byte gUnknown_80D9FC8 -_08030068: - movs r0, 0x3 - movs r1, 0 - movs r2, 0xA - bl sub_80302E8 - b _080301A0 -_08030074: - ldr r1, [r5] - movs r0, 0xD - str r0, [r1, 0xC] - movs r2, 0x10 - ldrsh r0, [r1, r2] - bl sub_80A2740 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080300B4 - ldr r1, [sp, 0x14] - ands r1, r2 - orrs r1, r0 - ldr r0, _080300B8 - ands r1, r0 - movs r0, 0x80 - lsls r0, 1 - orrs r1, r0 - str r1, [sp, 0x14] - ldr r0, _080300BC - add r1, sp, 0x14 - bl sub_8090208 - ldr r2, _080300C0 - ldr r3, [r5] - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x10 - b _0803015A - .align 2, 0 -_080300B4: .4byte 0xffffff00 -_080300B8: .4byte 0xffff00ff -_080300BC: .4byte gUnknown_202DF98 -_080300C0: .4byte gUnknown_80D9FC8 -_080300C4: - ldr r3, [r5] - movs r0, 0xD - str r0, [r3, 0xC] - ldr r2, _080300D8 - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x18 - b _0803015A - .align 2, 0 -_080300D8: .4byte gUnknown_80D9FC8 -_080300DC: - ldr r3, [r5] - movs r0, 0xD - str r0, [r3, 0xC] - ldr r2, _080300F0 - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x14 - b _0803015A - .align 2, 0 -_080300F0: .4byte gUnknown_80D9FC8 -_080300F4: - ldr r3, [r5] - movs r0, 0x9 - str r0, [r3, 0xC] - ldr r2, _08030108 - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x1C - b _0803015A - .align 2, 0 -_08030108: .4byte gUnknown_80D9FC8 -_0803010C: - ldr r4, _08030138 - bl sub_808D33C - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x6 - bl sub_808D9AC - ldr r0, _0803013C - ldr r1, [r0] - movs r0, 0xB - str r0, [r1, 0xC] - movs r0, 0xCB - bl sub_8011988 - ldr r0, _08030140 - ldr r3, _08030144 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _080301A0 - .align 2, 0 -_08030138: .4byte gPlayerName -_0803013C: .4byte gUnknown_203B318 -_08030140: .4byte gUnknown_80E0778 -_08030144: .4byte 0x00000101 -_08030148: - ldr r3, [r5] - movs r0, 0xD - str r0, [r3, 0xC] - ldr r2, _0803016C - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x20 -_0803015A: - adds r0, r2 - ldr r0, [r0] - ldr r2, [r3, 0x68] - ldr r3, _08030170 - movs r1, 0 - bl sub_80141B4 - b _080301A0 - .align 2, 0 -_0803016C: .4byte gUnknown_80D9FC8 -_08030170: .4byte 0x0000010d -_08030174: - movs r0, 0x1 - movs r1, 0x49 - movs r2, 0x1 - bl sub_801B60C - b _080301A0 -_08030180: - ldr r3, [r5] - movs r0, 0x1 - str r0, [r3, 0xC] - ldr r2, _080301A8 - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x24 - adds r0, r2 - ldr r0, [r0] - ldr r2, [r3, 0x68] - ldr r3, _080301AC - movs r1, 0 - bl sub_80141B4 -_080301A0: - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080301A8: .4byte gUnknown_80D9FC8 -_080301AC: .4byte 0x0000010d - thumb_func_end sub_802FF88 - - thumb_func_start sub_80301B0 -sub_80301B0: - push {r4,lr} - ldr r4, _080301F8 - ldr r1, [r4] - movs r2, 0x2 - str r2, [r1, 0x14] - ldr r0, _080301FC - str r0, [r1, 0x18] - str r2, [r1, 0x1C] - bl sub_80306A4 - lsls r0, 24 - cmp r0, 0 - beq _080301D6 - ldr r0, [r4] - movs r1, 0x1 - negs r1, r1 - str r1, [r0, 0x1C] - movs r1, 0x1 - str r1, [r0, 0x14] -_080301D6: - ldr r1, [r4] - movs r2, 0x1 - ldr r0, _08030200 - ldr r0, [r0] - str r0, [r1, 0x20] - movs r0, 0x3 - str r0, [r1, 0x24] - ldr r0, _08030204 - ldr r0, [r0] - str r0, [r1, 0x28] - str r2, [r1, 0x2C] - movs r0, 0 - str r0, [r1, 0x30] - str r2, [r1, 0x34] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080301F8: .4byte gUnknown_203B318 -_080301FC: .4byte gUnknown_80E07D8 -_08030200: .4byte gUnknown_80D4970 -_08030204: .4byte gUnknown_80D4934 - thumb_func_end sub_80301B0 - - thumb_func_start sub_8030208 -sub_8030208: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08030250 - ldr r0, _08030230 - ldr r1, [r0] - ldr r0, [sp] - str r0, [r1, 0x14] - ldr r0, [sp] - cmp r0, 0x2 - beq _0803023A - cmp r0, 0x2 - bgt _08030234 - cmp r0, 0x1 - beq _0803024A - b _08030250 - .align 2, 0 -_08030230: .4byte gUnknown_203B318 -_08030234: - cmp r0, 0x3 - beq _08030242 - b _08030250 -_0803023A: - movs r0, 0x3 - bl sub_802FF04 - b _08030250 -_08030242: - movs r0, 0xC - bl sub_802FF04 - b _08030250 -_0803024A: - movs r0, 0x2 - bl sub_802FF04 -_08030250: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8030208 - - thumb_func_start sub_8030258 -sub_8030258: - push {lr} - movs r0, 0x1 - bl sub_80303AC - cmp r0, 0x2 - beq _08030288 - cmp r0, 0x2 - bcc _0803029A - cmp r0, 0x3 - bne _0803029A - bl sub_8030418 - ldr r1, _08030284 - ldr r1, [r1] - strh r0, [r1, 0x10] - bl sub_8030480 - movs r0, 0x5 - bl sub_802FF04 - b _0803029A - .align 2, 0 -_08030284: .4byte gUnknown_203B318 -_08030288: - bl sub_8030480 - ldr r0, _080302A0 - ldr r1, [r0] - ldr r0, _080302A4 - strh r0, [r1, 0x10] - movs r0, 0x1 - bl sub_802FF04 -_0803029A: - pop {r0} - bx r0 - .align 2, 0 -_080302A0: .4byte gUnknown_203B318 -_080302A4: .4byte 0x0000ffff - thumb_func_end sub_8030258 - - thumb_func_start sub_80302A8 -sub_80302A8: - push {lr} - bl sub_801B6AC - cmp r0, 0x1 - bls _080302C0 - cmp r0, 0x3 - bhi _080302C0 - bl sub_801B72C - movs r0, 0xA - bl sub_802FF04 -_080302C0: - pop {r0} - bx r0 - thumb_func_end sub_80302A8 - - thumb_func_start sub_80302C4 -sub_80302C4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080302DC - ldr r0, _080302E4 - ldr r0, [r0] - ldr r0, [r0, 0xC] - bl sub_802FF04 -_080302DC: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080302E4: .4byte gUnknown_203B318 - thumb_func_end sub_80302C4 - - thumb_func_start sub_80302E8 -sub_80302E8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - bl sub_80306A4 - lsls r0, 24 - cmp r0, 0 - beq _08030302 - movs r0, 0 - b _0803039A -_08030302: - ldr r4, _080303A4 - ldr r0, [r4] - cmp r0, 0 - bne _08030314 - movs r0, 0xD0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] -_08030314: - ldr r0, [r4] - str r5, [r0, 0x64] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 3 - adds r1, 0x6C - adds r1, r0, r1 - str r1, [r0, 0x68] - adds r0, 0x6C - bl sub_8006518 - ldr r1, [r4] - ldr r2, [r1, 0x64] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x6C - ldr r0, _080303A8 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldr r2, [r4] - ldr r1, [r2, 0x68] - adds r0, r2, 0 - adds r0, 0xCC - str r0, [r1, 0x14] - cmp r6, 0 - beq _08030362 - ldr r1, [r2, 0x64] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x74 - adds r1, r0 - ldr r0, [r6] - str r0, [r1] -_08030362: - ldr r0, [r4] - ldr r0, [r0, 0x68] - mov r1, r8 - bl sub_8012D08 - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x6C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r4] - adds r4, 0x30 - bl sub_8030668 - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r5, 0 - bl sub_8013818 - bl sub_80304C8 - bl sub_803053C - movs r0, 0x1 -_0803039A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080303A4: .4byte gUnknown_203B31C -_080303A8: .4byte gUnknown_80E0804 - thumb_func_end sub_80302E8 - - thumb_func_start sub_80303AC -sub_80303AC: - push {r4,lr} - lsls r0, 24 - cmp r0, 0 - bne _080303C8 - ldr r0, _080303C4 - ldr r0, [r0] - adds r0, 0x30 - bl sub_8013660 - movs r0, 0 - b _08030410 - .align 2, 0 -_080303C4: .4byte gUnknown_203B31C -_080303C8: - ldr r4, _080303E4 - ldr r0, [r4] - adds r0, 0x30 - bl GetKeyPress - cmp r0, 0x1 - beq _080303E8 - cmp r0, 0x2 - bne _080303F2 - movs r0, 0x1 - bl sub_80119D4 - movs r0, 0x2 - b _08030410 - .align 2, 0 -_080303E4: .4byte gUnknown_203B31C -_080303E8: - movs r0, 0 - bl sub_80119D4 - movs r0, 0x3 - b _08030410 -_080303F2: - ldr r0, [r4] - adds r0, 0x30 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _08030406 - movs r0, 0 - b _08030410 -_08030406: - bl sub_80304C8 - bl sub_803053C - movs r0, 0x1 -_08030410: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80303AC - - thumb_func_start sub_8030418 -sub_8030418: - ldr r0, _08030440 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x4E - 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, 0x48 - 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 -_08030440: .4byte gUnknown_203B31C - thumb_func_end sub_8030418 - - thumb_func_start sub_8030444 -sub_8030444: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8030668 - adds r1, r0, 0 - ldr r5, _0803047C - ldr r0, [r5] - adds r2, r0, 0 - adds r2, 0x52 - strh r1, [r2] - adds r0, 0x30 - bl sub_8013984 - bl sub_80304C8 - bl sub_803053C - cmp r4, 0 - beq _08030476 - ldr r0, [r5] - adds r0, 0x30 - bl AddMenuCursorSprite -_08030476: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803047C: .4byte gUnknown_203B31C - thumb_func_end sub_8030444 - - thumb_func_start sub_8030480 -sub_8030480: - push {r4,r5,lr} - ldr r4, _080304C0 - ldr r2, [r4] - cmp r2, 0 - beq _080304BA - ldr r0, [r2, 0x64] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x6C - ldr r0, _080304C4 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x6C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_080304BA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080304C0: .4byte gUnknown_203B31C -_080304C4: .4byte gUnknown_80E07EC - thumb_func_end sub_8030480 - - thumb_func_start sub_80304C8 -sub_80304C8: - push {r4,lr} - ldr r4, _08030538 - ldr r0, [r4] - adds r0, 0xCC - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xCD - strb r2, [r0] - ldr r0, [r4] - adds r0, 0xCE - movs r1, 0x8 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xCF - strb r2, [r0] - ldr r0, [r4] - adds r0, 0x4A - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x64] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x7A - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x64] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x7C - strh r3, [r2] - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x6C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08030538: .4byte gUnknown_203B31C - thumb_func_end sub_80304C8 - - thumb_func_start sub_803053C -sub_803053C: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x108 - ldr r4, _08030658 - ldr r0, [r4] - ldr r0, [r0, 0x64] - bl sub_8008C54 - ldr r0, [r4] - ldr r0, [r0, 0x64] - bl sub_80073B8 - ldr r2, _0803065C - ldr r0, [r4] - ldr r3, [r0, 0x64] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - movs r1, 0 - bl xxx_call_draw_string - ldr r3, [r4] - adds r0, r3, 0 - adds r0, 0xCE - ldrb r0, [r0] - lsls r0, 3 - adds r0, 0x4 - adds r1, r3, 0 - adds r1, 0x4E - movs r5, 0 - ldrsh r2, [r1, r5] - adds r2, 0x1 - movs r1, 0x7 - str r1, [sp] - ldr r1, [r3, 0x64] - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r0, 0 - mov r9, r0 - ldr r0, [r4] - adds r0, 0x4A - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r9, r0 - bge _0803063E - mov r8, r4 -_080305A2: - mov r3, r8 - ldr r1, [r3] - adds r0, r1, 0 - adds r0, 0x4E - movs r5, 0 - ldrsh r2, [r0, r5] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r2 - add r0, r9 - lsls r0, 1 - adds r1, r0 - movs r5, 0 - ldrsh r4, [r1, r5] - adds r0, r4, 0 - bl sub_80A2740 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0 - bl sub_80A2668 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - mov r1, r8 - ldr r0, [r1] - adds r0, 0x30 - mov r1, r9 - bl sub_8013800 - adds r6, r0, 0 - movs r5, 0x7 - adds r0, r4, 0 - bl sub_809758C - lsls r0, 24 - cmp r0, 0 - beq _08030608 - mov r3, r8 - ldr r0, [r3] - ldr r3, [r0, 0x64] - movs r0, 0 - str r0, [sp] - movs r0, 0x8 - adds r1, r6, 0 - ldr r2, _08030660 - bl xxx_call_draw_string - movs r5, 0x4 -_08030608: - adds r0, r7, 0 - bl GetDungeonName1 - adds r3, r0, 0 - add r0, sp, 0x8 - ldr r1, _08030664 - adds r2, r5, 0 - bl sub_800D158 - mov r5, r8 - ldr r0, [r5] - ldr r3, [r0, 0x64] - movs r0, 0 - str r0, [sp] - movs r0, 0x10 - adds r1, r6, 0 - add r2, sp, 0x8 - bl xxx_call_draw_string - movs r0, 0x1 - add r9, r0 - ldr r0, [r5] - adds r0, 0x4A - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r9, r0 - blt _080305A2 -_0803063E: - ldr r0, _08030658 - ldr r0, [r0] - ldr r0, [r0, 0x64] - bl sub_80073E0 - add sp, 0x108 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08030658: .4byte gUnknown_203B31C -_0803065C: .4byte gUnknown_80E081C -_08030660: .4byte gUnknown_80E0824 -_08030664: .4byte gUnknown_80E0828 - thumb_func_end sub_803053C - - thumb_func_start sub_8030668 -sub_8030668: - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 -_0803066E: - lsls r0, r5, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - bl sub_8097504 - lsls r0, 24 - cmp r0, 0 - beq _08030690 - adds r0, r4, 0 - bl sub_80A26CC - ldr r1, _080306A0 - ldr r1, [r1] - lsls r2, r6, 1 - adds r1, r2 - strh r0, [r1] - adds r6, 0x1 -_08030690: - adds r5, 0x1 - cmp r5, 0x16 - ble _0803066E - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080306A0: .4byte gUnknown_203B31C - thumb_func_end sub_8030668 - - thumb_func_start sub_80306A4 -sub_80306A4: - movs r0, 0 - bx lr - thumb_func_end sub_80306A4 - - 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 sub_8004914 - 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 sub_80119D4 - movs r0, 0x4 - b _080307E6 -_080307AE: - movs r0, 0x1 - bl sub_80119D4 - movs r0, 0x2 - b _080307E6 -_080307B8: - movs r0, 0 - bl sub_80119D4 - 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 sub_8004914 - 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} - ldr r4, _08030928 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x44 - ldrh r1, [r1] - adds r0, 0xC0 - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x42 - ldrh r1, [r1] - adds r0, 0xC1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xC2 - movs r1, 0xC - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xC3 - strb r2, [r0] - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x60 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x3E - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x58] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x6E - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x58] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x70 - strh r3, [r2] - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x60 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08030928: .4byte gUnknown_203B320 - thumb_func_end sub_80308A0 - - thumb_func_start sub_803092C -sub_803092C: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x60 - ldr r7, _08030A24 - ldr r0, [r7] - ldr r0, [r0, 0x58] - bl sub_8008C54 - ldr r0, [r7] - ldr r0, [r0, 0x58] - bl sub_80073B8 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x42 - movs r2, 0 - ldrsh r4, [r0, r2] - lsls r4, 3 - adds r5, r4, 0 - adds r5, 0xA - ldr r2, _08030A28 - ldr r0, [r1, 0x20] - lsls r0, 2 - adds r0, r2 - ldr r2, [r0] - ldr r3, [r1, 0x58] - movs r0, 0 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - bl xxx_call_draw_string - adds r4, 0x4 - ldr r3, [r7] - adds r0, r3, 0 - adds r0, 0xC2 - ldrb r0, [r0] - lsls r0, 3 - adds r5, r4, r0 - adds r0, r3, 0 - adds r0, 0x42 - movs r1, 0 - ldrsh r2, [r0, r1] - adds r2, 0x1 - movs r0, 0x7 - str r0, [sp] - ldr r0, [r3, 0x58] - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r3, 0x1 - bl sub_8012BC4 - movs r6, 0 - ldr r0, [r7] - movs r2, 0x3E - ldrsh r0, [r0, r2] - cmp r6, r0 - bge _08030A56 - mov r9, r7 - mov r8, r6 - add r7, sp, 0x8 - mov r5, sp - adds r5, 0x4B -_080309B0: - mov r3, r9 - ldr r1, [r3] - adds r0, r1, 0 - adds r0, 0x42 - movs r3, 0 - ldrsh r2, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r2 - adds r0, r6 - adds r1, r0 - ldrb r0, [r1] - bl sub_8095228 - adds r4, r0, 0 - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x58] - str r1, [sp, 0x8] - adds r0, 0x24 - adds r1, r6, 0 - bl sub_8013800 - str r0, [sp, 0x50] - add r1, sp, 0x48 - movs r0, 0x7 - strb r0, [r1] - mov r0, sp - adds r0, 0x4A - mov r2, r8 - strb r2, [r0] - add r0, sp, 0x4C - strb r2, [r0] - adds r0, r4, 0x4 - str r0, [sp, 0x10] - adds r0, 0x10 - str r0, [sp, 0x14] - ldrh r0, [r4, 0xC] - strh r0, [r7, 0x10] - ldrh r0, [r4, 0xC] - strh r0, [r7, 0x12] - strb r2, [r7, 0x14] - subs r1, 0x12 - movs r0, 0x5 - strb r0, [r1] - ldrb r0, [r4] - cmp r0, 0x4 - beq _08030A32 - cmp r0, 0x4 - bgt _08030A2C - cmp r0, 0x2 - bgt _08030A3E - cmp r0, 0x1 - blt _08030A3E - movs r0, 0x1 - strb r0, [r5] - b _08030A42 - .align 2, 0 -_08030A24: .4byte gUnknown_203B320 -_08030A28: .4byte gUnknown_80E086C -_08030A2C: - cmp r0, 0x5 - beq _08030A38 - b _08030A3E -_08030A32: - movs r0, 0x3 - strb r0, [r5] - b _08030A42 -_08030A38: - movs r0, 0x4 - strb r0, [r5] - b _08030A42 -_08030A3E: - mov r3, r8 - strb r3, [r5] -_08030A42: - add r0, sp, 0x8 - bl sub_803B6D4 - adds r6, 0x1 - mov r1, r9 - ldr r0, [r1] - movs r2, 0x3E - ldrsh r0, [r0, r2] - cmp r6, r0 - blt _080309B0 -_08030A56: - ldr r0, _08030A70 - ldr r0, [r0] - ldr r0, [r0, 0x58] - bl sub_80073E0 - add sp, 0x60 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08030A70: .4byte gUnknown_203B320 - thumb_func_end sub_803092C - - thumb_func_start sub_8030A74 -sub_8030A74: - push {r4,r5,lr} - movs r2, 0 - ldr r0, _08030A90 - ldr r0, [r0] - ldr r0, [r0, 0x20] - cmp r0, 0x7 - bls _08030A84 - b _08030C0E -_08030A84: - lsls r0, 2 - ldr r1, _08030A94 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08030A90: .4byte gUnknown_203B320 -_08030A94: .4byte _08030A98 - .align 2, 0 -_08030A98: - .4byte _08030AB8 - .4byte _08030B10 - .4byte _08030B3C - .4byte _08030B94 - .4byte _08030B68 - .4byte _08030BC0 - .4byte _08030AE4 - .4byte _08030BEC -_08030AB8: - movs r1, 0 - ldr r5, _08030ADC - ldr r4, _08030AE0 - movs r3, 0 -_08030AC0: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0 - beq _08030AD2 - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030AD2: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030AC0 - b _08030C0E - .align 2, 0 -_08030ADC: .4byte gUnknown_203B480 -_08030AE0: .4byte gUnknown_203B320 -_08030AE4: - movs r1, 0 - ldr r5, _08030B08 - ldr r4, _08030B0C - movs r3, 0 -_08030AEC: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x6 - bne _08030AFE - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030AFE: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030AEC - b _08030C0E - .align 2, 0 -_08030B08: .4byte gUnknown_203B480 -_08030B0C: .4byte gUnknown_203B320 -_08030B10: - movs r1, 0 - ldr r5, _08030B34 - ldr r4, _08030B38 - movs r3, 0 -_08030B18: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08030B2A - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030B2A: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030B18 - b _08030C0E - .align 2, 0 -_08030B34: .4byte gUnknown_203B480 -_08030B38: .4byte gUnknown_203B320 -_08030B3C: - movs r1, 0 - ldr r5, _08030B60 - ldr r4, _08030B64 - movs r3, 0 -_08030B44: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x2 - bne _08030B56 - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030B56: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030B44 - b _08030C0E - .align 2, 0 -_08030B60: .4byte gUnknown_203B480 -_08030B64: .4byte gUnknown_203B320 -_08030B68: - movs r1, 0 - ldr r5, _08030B8C - ldr r4, _08030B90 - movs r3, 0 -_08030B70: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x4 - bne _08030B82 - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030B82: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030B70 - b _08030C0E - .align 2, 0 -_08030B8C: .4byte gUnknown_203B480 -_08030B90: .4byte gUnknown_203B320 -_08030B94: - movs r1, 0 - ldr r5, _08030BB8 - ldr r4, _08030BBC - movs r3, 0 -_08030B9C: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x3 - bne _08030BAE - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030BAE: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030B9C - b _08030C0E - .align 2, 0 -_08030BB8: .4byte gUnknown_203B480 -_08030BBC: .4byte gUnknown_203B320 -_08030BC0: - movs r1, 0 - ldr r5, _08030BE4 - ldr r4, _08030BE8 - movs r3, 0 -_08030BC8: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x5 - bne _08030BDA - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030BDA: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030BC8 - b _08030C0E - .align 2, 0 -_08030BE4: .4byte gUnknown_203B480 -_08030BE8: .4byte gUnknown_203B320 -_08030BEC: - movs r1, 0 - ldr r5, _08030C18 - ldr r4, _08030C1C - movs r3, 0 -_08030BF4: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x7 - bne _08030C06 - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030C06: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030BF4 -_08030C0E: - adds r0, r2, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08030C18: .4byte gUnknown_203B480 -_08030C1C: .4byte gUnknown_203B320 - thumb_func_end sub_8030A74 - - thumb_func_start sub_8030C20 -sub_8030C20: - push {lr} - cmp r0, 0x7 - bls _08030C28 - b _08030D34 -_08030C28: - lsls r0, 2 - ldr r1, _08030C34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08030C34: .4byte _08030C38 - .align 2, 0 -_08030C38: - .4byte _08030C58 - .4byte _08030C90 - .4byte _08030CAC - .4byte _08030CE4 - .4byte _08030CC8 - .4byte _08030D00 - .4byte _08030C74 - .4byte _08030D20 -_08030C58: - movs r1, 0 - ldr r0, _08030C70 - ldr r2, [r0] -_08030C5E: - ldrb r0, [r2] - cmp r0, 0 - bne _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030C5E - b _08030D34 - .align 2, 0 -_08030C70: .4byte gUnknown_203B480 -_08030C74: - movs r1, 0 - ldr r0, _08030C8C - ldr r2, [r0] -_08030C7A: - ldrb r0, [r2] - cmp r0, 0x6 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030C7A - b _08030D34 - .align 2, 0 -_08030C8C: .4byte gUnknown_203B480 -_08030C90: - movs r1, 0 - ldr r0, _08030CA8 - ldr r2, [r0] -_08030C96: - ldrb r0, [r2] - cmp r0, 0x1 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030C96 - b _08030D34 - .align 2, 0 -_08030CA8: .4byte gUnknown_203B480 -_08030CAC: - movs r1, 0 - ldr r0, _08030CC4 - ldr r2, [r0] -_08030CB2: - ldrb r0, [r2] - cmp r0, 0x2 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030CB2 - b _08030D34 - .align 2, 0 -_08030CC4: .4byte gUnknown_203B480 -_08030CC8: - movs r1, 0 - ldr r0, _08030CE0 - ldr r2, [r0] -_08030CCE: - ldrb r0, [r2] - cmp r0, 0x4 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030CCE - b _08030D34 - .align 2, 0 -_08030CE0: .4byte gUnknown_203B480 -_08030CE4: - movs r1, 0 - ldr r0, _08030CFC - ldr r2, [r0] -_08030CEA: - ldrb r0, [r2] - cmp r0, 0x3 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030CEA - b _08030D34 - .align 2, 0 -_08030CFC: .4byte gUnknown_203B480 -_08030D00: - movs r1, 0 - ldr r0, _08030D18 - ldr r2, [r0] -_08030D06: - ldrb r0, [r2] - cmp r0, 0x5 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030D06 - b _08030D34 - .align 2, 0 -_08030D18: .4byte gUnknown_203B480 -_08030D1C: - movs r0, 0 - b _08030D36 -_08030D20: - movs r1, 0 - ldr r0, _08030D3C - ldr r2, [r0] -_08030D26: - ldrb r0, [r2] - cmp r0, 0x7 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030D26 -_08030D34: - movs r0, 0x1 -_08030D36: - pop {r1} - bx r1 - .align 2, 0 -_08030D3C: .4byte gUnknown_203B480 - thumb_func_end sub_8030C20 - - thumb_func_start sub_8030D40 -sub_8030D40: - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, _08030D98 - movs r0, 0x78 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r6] - strb r4, [r0, 0xC] - ldr r0, [r6] - bl sub_801317C - ldr r0, [r6] - str r5, [r0, 0x10] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 3 - adds r1, 0x18 - adds r1, r0, r1 - str r1, [r0, 0x14] - adds r0, 0x18 - bl sub_8006518 - ldr r1, [r6] - ldr r2, [r1, 0x10] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x18 - ldr r0, _08030D9C - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - bl sub_8030DD4 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08030D98: .4byte gUnknown_203B324 -_08030D9C: .4byte gUnknown_80E091C - thumb_func_end sub_8030D40 - - thumb_func_start sub_8030DA0 -sub_8030DA0: - push {lr} - ldr r0, _08030DC0 - ldr r0, [r0] - ldr r1, [r0, 0x10] - bl sub_8012A64 - cmp r0, 0x1 - beq _08030DC4 - cmp r0, 0x2 - bne _08030DCE - movs r0, 0x1 - bl sub_80119D4 - movs r0, 0x2 - b _08030DD0 - .align 2, 0 -_08030DC0: .4byte gUnknown_203B324 -_08030DC4: - movs r0, 0 - bl sub_80119D4 - movs r0, 0x3 - b _08030DD0 -_08030DCE: - movs r0, 0 -_08030DD0: - pop {r1} - bx r1 - thumb_func_end sub_8030DA0 - - thumb_func_start sub_8030DD4 -sub_8030DD4: - push {lr} - bl sub_8030E2C - bl sub_8030E48 - pop {r0} - bx r0 - thumb_func_end sub_8030DD4 - - thumb_func_start sub_8030DE4 -sub_8030DE4: - push {r4,r5,lr} - ldr r4, _08030E24 - ldr r2, [r4] - cmp r2, 0 - beq _08030E1E - ldr r0, [r2, 0x10] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x18 - ldr r0, _08030E28 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08030E1E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08030E24: .4byte gUnknown_203B324 -_08030E28: .4byte gUnknown_80E0900 - thumb_func_end sub_8030DE4 - - thumb_func_start sub_8030E2C -sub_8030E2C: - push {lr} - bl sub_8004914 - ldr r0, _08030E44 - ldr r0, [r0] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r0} - bx r0 - .align 2, 0 -_08030E44: .4byte gUnknown_203B324 - thumb_func_end sub_8030E2C - - thumb_func_start sub_8030E48 -sub_8030E48: - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x15C - ldr r3, _08030EA8 - ldr r4, _08030EAC - ldr r2, [r4] - ldrb r1, [r2, 0xC] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 4 - ldr r1, [r3] - adds r5, r1, r0 - ldr r0, [r2, 0x10] - bl sub_80073B8 - ldr r0, [r4] - ldr r0, [r0, 0x10] - str r0, [sp, 0x4] - add r1, sp, 0x44 - movs r2, 0 - movs r0, 0x7 - strb r0, [r1] - mov r0, sp - adds r0, 0x46 - strb r2, [r0] - add r0, sp, 0x48 - strb r2, [r0] - adds r0, r5, 0x4 - str r0, [sp, 0xC] - adds r0, 0x10 - str r0, [sp, 0x10] - add r1, sp, 0x4 - ldrh r0, [r5, 0xC] - strh r0, [r1, 0x10] - ldrh r0, [r5, 0xC] - strh r0, [r1, 0x12] - adds r0, r1, 0 - strb r2, [r0, 0x14] - adds r2, r5, 0 - adds r2, 0x22 - ldrb r0, [r2] - cmp r0, 0 - bne _08030EB0 - adds r1, 0x2E - movs r0, 0x5 - strb r0, [r1] - b _08030EBE - .align 2, 0 -_08030EA8: .4byte gUnknown_203B480 -_08030EAC: .4byte gUnknown_203B324 -_08030EB0: - mov r1, sp - adds r1, 0x32 - movs r0, 0x2 - strb r0, [r1] - ldrb r1, [r2] - add r0, sp, 0x38 - strb r1, [r0] -_08030EBE: - ldrb r0, [r5] - cmp r0, 0x2 - beq _08030ED2 - cmp r0, 0x2 - ble _08030EE2 - cmp r0, 0x4 - beq _08030ED2 - cmp r0, 0x5 - beq _08030EDA - b _08030EE2 -_08030ED2: - mov r1, sp - adds r1, 0x45 - movs r0, 0xA - b _08030EE8 -_08030EDA: - mov r1, sp - adds r1, 0x45 - movs r0, 0xB - b _08030EE8 -_08030EE2: - mov r1, sp - adds r1, 0x45 - movs r0, 0x9 -_08030EE8: - strb r0, [r1] - add r0, sp, 0x4 - bl sub_803B98C - ldrh r0, [r5, 0x10] - ldr r1, _08030F48 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r2, _08030F4C - ldr r5, _08030F50 - ldr r0, [r5] - ldr r3, [r0, 0x10] - movs r0, 0 - mov r8, r0 - str r0, [sp] - movs r0, 0xA - movs r1, 0x68 - bl xxx_call_draw_string - add r6, sp, 0x5C - ldr r1, _08030F54 - adds r0, r6, 0 - adds r2, r4, 0 - bl sub_800D158 - ldr r0, [r5] - ldr r3, [r0, 0x10] - mov r0, r8 - str r0, [sp] - movs r0, 0x44 - movs r1, 0x68 - adds r2, r6, 0 - bl xxx_call_draw_string - ldr r0, [r5] - ldr r0, [r0, 0x10] - bl sub_80073E0 - add sp, 0x15C - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08030F48: .4byte 0x00002710 -_08030F4C: .4byte gUnknown_80E0934 -_08030F50: .4byte gUnknown_203B324 -_08030F54: .4byte gUnknown_80E0938 - thumb_func_end sub_8030E48 - - thumb_func_start sub_8030F58 -sub_8030F58: - push {r4-r6,lr} - adds r6, r0, 0 - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r5, _08030FF4 - ldr r0, [r5] - cmp r0, 0 - bne _08030F88 - movs r4, 0x8E - lsls r4, 1 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_08030F88: - ldr r0, [r5] - movs r1, 0x8C - lsls r1, 1 - adds r0, r1 - str r6, [r0] - movs r0, 0x98 - lsls r0, 1 - bl sub_808DDD0 - ldr r2, [r5] - movs r4, 0x84 - lsls r4, 1 - adds r1, r2, r4 - str r0, [r1] - movs r3, 0x86 - lsls r3, 1 - adds r1, r2, r3 - ldr r0, [r0, 0x4] - str r0, [r1] - movs r0, 0x8A - lsls r0, 1 - adds r2, r0 - movs r1, 0 - strb r1, [r2] - ldr r0, [r5] - ldr r2, _08030FF8 - adds r0, r2 - strb r1, [r0] - ldr r0, [r5] - adds r3, 0xA - adds r0, r3 - strb r1, [r0] - ldr r2, [r5] - movs r0, 0x88 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0x2 - strh r0, [r1] - subs r3, 0x4 - adds r1, r2, r3 - movs r0, 0x8 - strh r0, [r1] - adds r0, r6, 0 - bl sub_8030C20 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08031038 - cmp r6, 0x2 - beq _08030FFC - cmp r6, 0x4 - beq _08031014 - b _08031022 - .align 2, 0 -_08030FF4: .4byte gUnknown_203B328 -_08030FF8: .4byte 0x00000115 -_08030FFC: - ldr r0, _0803100C - ldr r2, [r5] - adds r2, r4 - ldr r3, _08031010 - movs r1, 0 - bl sub_80141B4 - b _08031022 - .align 2, 0 -_0803100C: .4byte gUnknown_80E09D8 -_08031010: .4byte 0x00000101 -_08031014: - ldr r0, _0803102C - ldr r2, [r5] - adds r2, r4 - ldr r3, _08031030 - movs r1, 0 - bl sub_80141B4 -_08031022: - ldr r0, _08031034 - ldr r1, [r0] - movs r0, 0x5 - str r0, [r1] - b _08031048 - .align 2, 0 -_0803102C: .4byte gUnknown_80E0A0C -_08031030: .4byte 0x00000101 -_08031034: .4byte gUnknown_203B328 -_08031038: - ldr r0, [r5] - str r1, [r0] - adds r0, r6, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x8 - bl sub_80306A8 -_08031048: - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8030F58 - - thumb_func_start sub_8031050 -sub_8031050: - push {lr} - ldr r1, _08031068 - ldr r0, [r1] - ldr r0, [r0] - adds r2, r1, 0 - cmp r0, 0x6 - bhi _080310AC - lsls r0, 2 - ldr r1, _0803106C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031068: .4byte gUnknown_203B328 -_0803106C: .4byte _08031070 - .align 2, 0 -_08031070: - .4byte _0803108C - .4byte _08031092 - .4byte _08031098 - .4byte _08031098 - .4byte _080310A2 - .4byte _080310A8 - .4byte _080310A8 -_0803108C: - bl sub_8031300 - b _080310AC -_08031092: - bl sub_803136C - b _080310AC -_08031098: - ldr r0, [r2] - ldr r0, [r0] - bl sub_80313D8 - b _080310AC -_080310A2: - bl sub_8031498 - b _080310AC -_080310A8: - movs r0, 0x3 - b _080310AE -_080310AC: - movs r0, 0 -_080310AE: - pop {r1} - bx r1 - thumb_func_end sub_8031050 - - thumb_func_start sub_80310B4 -sub_80310B4: - push {r4,lr} - bl sub_803084C - ldr r4, _080310E0 - ldr r0, [r4] - cmp r0, 0 - beq _080310D8 - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - bl CloseFile - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_080310D8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080310E0: .4byte gUnknown_203B328 - thumb_func_end sub_80310B4 - - thumb_func_start sub_80310E4 -sub_80310E4: - push {lr} - ldr r1, _080310F8 - ldr r1, [r1] - str r0, [r1] - bl sub_80310FC - bl sub_8031258 - pop {r0} - bx r0 - .align 2, 0 -_080310F8: .4byte gUnknown_203B328 - thumb_func_end sub_80310E4 - - thumb_func_start sub_80310FC -sub_80310FC: - push {r4-r6,lr} - ldr r4, _0803111C - ldr r0, [r4] - adds r0, 0xA8 - bl sub_8006518 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0x6 - bls _08031112 - b _0803122C -_08031112: - lsls r0, 2 - ldr r1, _08031120 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803111C: .4byte gUnknown_203B328 -_08031120: .4byte _08031124 - .align 2, 0 -_08031124: - .4byte _08031140 - .4byte _08031178 - .4byte _080311C0 - .4byte _080311C0 - .4byte _080311E8 - .4byte _0803122C - .4byte _0803122C -_08031140: - ldr r3, _08031170 - ldr r1, [r3] - ldr r2, _08031174 - adds r1, 0xC0 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r1, [r3] - adds r1, 0xD8 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r0, [r3] - adds r0, 0xF0 - ldm r2!, {r1,r3,r4} - stm r0!, {r1,r3,r4} - ldm r2!, {r1,r5,r6} - stm r0!, {r1,r5,r6} - b _0803123A - .align 2, 0 -_08031170: .4byte gUnknown_203B328 -_08031174: .4byte gUnknown_80E0990 -_08031178: - ldr r3, _080311B0 - ldr r1, [r3] - adds r1, 0xC0 - ldr r0, _080311B4 - ldm r0!, {r2,r4,r5} - stm r1!, {r2,r4,r5} - ldm r0!, {r2,r4,r6} - stm r1!, {r2,r4,r6} - ldr r1, [r3] - ldr r2, _080311B8 - adds r1, 0xD8 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r0, [r3] - adds r0, 0xF0 - ldm r2!, {r1,r5,r6} - stm r0!, {r1,r5,r6} - ldm r2!, {r4-r6} - stm r0!, {r4-r6} - ldr r0, [r3] - adds r0, 0xC0 - ldr r1, _080311BC - bl sub_8012CAC - b _0803123A - .align 2, 0 -_080311B0: .4byte gUnknown_203B328 -_080311B4: .4byte gUnknown_80E09A8 -_080311B8: .4byte gUnknown_80E0990 -_080311BC: .4byte gUnknown_80E0968 -_080311C0: - ldr r2, _080311DC - ldr r1, [r2] - adds r1, 0xD8 - ldr r0, _080311E0 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r3,r4,r6} - stm r1!, {r3,r4,r6} - ldr r0, [r2] - adds r0, 0xD8 - ldr r1, _080311E4 - bl sub_8012CAC - b _0803123A - .align 2, 0 -_080311DC: .4byte gUnknown_203B328 -_080311E0: .4byte gUnknown_80E09C0 -_080311E4: .4byte gUnknown_80E0948 -_080311E8: - ldr r3, _08031224 - ldr r1, [r3] - ldr r2, _08031228 - adds r1, 0xA8 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r1, [r3] - adds r1, 0xC0 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r1, [r3] - adds r1, 0xD8 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r0, [r3] - adds r0, 0xF0 - ldm r2!, {r1,r5,r6} - stm r0!, {r1,r5,r6} - ldm r2!, {r3-r5} - stm r0!, {r3-r5} - b _0803123A - .align 2, 0 -_08031224: .4byte gUnknown_203B328 -_08031228: .4byte gUnknown_80E0990 -_0803122C: - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C -_0803123A: - bl sub_8004914 - ldr r0, _08031254 - ldr r0, [r0] - adds r0, 0xA8 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08031254: .4byte gUnknown_203B328 - thumb_func_end sub_80310FC - - thumb_func_start sub_8031258 -sub_8031258: - push {r4,lr} - sub sp, 0x8 - ldr r1, _08031274 - ldr r0, [r1] - ldr r0, [r0] - adds r2, r1, 0 - cmp r0, 0x6 - bhi _080312F6 - lsls r0, 2 - ldr r1, _08031278 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031274: .4byte gUnknown_203B328 -_08031278: .4byte _0803127C - .align 2, 0 -_0803127C: - .4byte _08031298 - .4byte _080312A0 - .4byte _080312BC - .4byte _080312BC - .4byte _080312EC - .4byte _080312F6 - .4byte _080312F6 -_08031298: - movs r0, 0x1 - bl sub_8030810 - b _080312F6 -_080312A0: - bl sub_803092C - ldr r0, _080312B4 - ldr r0, [r0] - adds r0, 0x8 - ldr r1, _080312B8 - movs r2, 0x4 - str r2, [sp] - movs r2, 0x1 - b _080312D8 - .align 2, 0 -_080312B4: .4byte gUnknown_203B328 -_080312B8: .4byte gUnknown_80E0968 -_080312BC: - bl sub_803092C - ldr r4, _080312E4 - ldr r0, [r4] - adds r0, 0x8 - movs r1, 0 - bl sub_8012EA4 - ldr r0, [r4] - adds r0, 0x58 - ldr r1, _080312E8 - movs r2, 0x3 - str r2, [sp] - movs r2, 0x2 -_080312D8: - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _080312F6 - .align 2, 0 -_080312E4: .4byte gUnknown_203B328 -_080312E8: .4byte gUnknown_80E0948 -_080312EC: - ldr r0, [r2] - ldrb r0, [r0, 0x4] - movs r1, 0x3 - bl sub_8030D40 -_080312F6: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8031258 - - thumb_func_start sub_8031300 -sub_8031300: - push {lr} - movs r0, 0x1 - bl sub_8030768 - cmp r0, 0x4 - bhi _08031366 - lsls r0, 2 - ldr r1, _08031318 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031318: .4byte _0803131C - .align 2, 0 -_0803131C: - .4byte _08031366 - .4byte _08031366 - .4byte _08031360 - .4byte _08031330 - .4byte _08031348 -_08031330: - bl sub_80307EC - ldr r1, _08031344 - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x1 - bl sub_80310E4 - b _08031366 - .align 2, 0 -_08031344: .4byte gUnknown_203B328 -_08031348: - bl sub_80307EC - ldr r1, _0803135C - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x4 - bl sub_80310E4 - b _08031366 - .align 2, 0 -_0803135C: .4byte gUnknown_203B328 -_08031360: - movs r0, 0x6 - bl sub_80310E4 -_08031366: - pop {r0} - bx r0 - thumb_func_end sub_8031300 - - thumb_func_start sub_803136C -sub_803136C: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_8030768 - ldr r4, _080313A4 - ldr r0, [r4] - adds r0, 0x8 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08031392 - ldr r0, [r4] - adds r0, 0x8 - mov r1, sp - bl sub_8013114 -_08031392: - ldr r0, [sp] - cmp r0, 0x4 - beq _080313C2 - cmp r0, 0x4 - bgt _080313A8 - cmp r0, 0x1 - beq _080313B2 - b _080313D0 - .align 2, 0 -_080313A4: .4byte gUnknown_203B328 -_080313A8: - cmp r0, 0x5 - beq _080313CA - cmp r0, 0x6 - beq _080313BA - b _080313D0 -_080313B2: - movs r0, 0 - bl sub_80310E4 - b _080313D0 -_080313BA: - movs r0, 0x3 - bl sub_80310E4 - b _080313D0 -_080313C2: - movs r0, 0x2 - bl sub_80310E4 - b _080313D0 -_080313CA: - movs r0, 0x4 - bl sub_80310E4 -_080313D0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_803136C - - thumb_func_start sub_80313D8 -sub_80313D8: - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r0, 0 - str r0, [sp] - bl sub_8030768 - ldr r4, _08031418 - ldr r0, [r4] - adds r0, 0x8 - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0x58 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08031408 - ldr r0, [r4] - adds r0, 0x58 - mov r1, sp - bl sub_8013114 -_08031408: - ldr r0, [sp] - cmp r0, 0x2 - beq _08031428 - cmp r0, 0x2 - bgt _0803141C - cmp r0, 0x1 - beq _08031420 - b _0803148E - .align 2, 0 -_08031418: .4byte gUnknown_203B328 -_0803141C: - cmp r0, 0x3 - bne _0803148E -_08031420: - movs r0, 0 - bl sub_80310E4 - b _0803148E -_08031428: - cmp r5, 0x2 - beq _08031432 - cmp r5, 0x3 - beq _0803143C - b _0803145A -_08031432: - ldr r0, [r4] - ldrb r0, [r0, 0x4] - bl sub_8095240 - b _0803145A -_0803143C: - ldr r4, _08031480 - movs r3, 0 - movs r1, 0 - movs r2, 0x1F -_08031444: - ldr r0, [r4] - adds r0, r1 - strb r3, [r0] - ldr r0, [r4] - adds r0, r1 - adds r0, 0x22 - strb r3, [r0] - adds r1, 0x30 - subs r2, 0x1 - cmp r2, 0 - bge _08031444 -_0803145A: - ldr r0, _08031484 - ldr r0, [r0] - movs r1, 0x8C - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x2 - beq _0803146E - cmp r0, 0x4 - bne _0803148E -_0803146E: - bl sub_8030C20 - lsls r0, 24 - cmp r0, 0 - beq _08031488 - movs r0, 0x5 - bl sub_80310E4 - b _0803148E - .align 2, 0 -_08031480: .4byte gUnknown_203B480 -_08031484: .4byte gUnknown_203B328 -_08031488: - movs r0, 0 - bl sub_80310E4 -_0803148E: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80313D8 - - thumb_func_start sub_8031498 -sub_8031498: - push {lr} - bl sub_8030DA0 - cmp r0, 0x1 - bls _080314B0 - cmp r0, 0x3 - bhi _080314B0 - bl sub_8030DE4 - movs r0, 0 - bl sub_80310E4 -_080314B0: - pop {r0} - bx r0 - thumb_func_end sub_8031498 - - thumb_func_start sub_80314B4 -sub_80314B4: - push {r4-r6,lr} - lsls r0, 16 - asrs r5, r0, 16 - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r6, _08031534 - movs r0, 0x18 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r6] - ldr r0, _08031538 - adds r1, r5, 0 - bl sub_808D8E0 - adds r0, r5, 0 - bl sub_808D994 - adds r1, r0, 0 - ldr r0, _0803153C - bl strcpy - ldr r0, [r6] - movs r4, 0 - str r4, [r0, 0x8] - str r4, [r0, 0xC] - cmp r5, 0 - beq _0803151E - adds r0, r5, 0 - bl sub_808DDD0 - ldr r1, [r6] - str r0, [r1, 0x8] - strb r4, [r1, 0x14] - ldr r0, [r6] - strb r4, [r0, 0x15] - ldr r0, [r6] - strb r4, [r0, 0x16] - ldr r1, [r6] - movs r0, 0x2 - strh r0, [r1, 0x10] - movs r0, 0x8 - strh r0, [r1, 0x12] - ldr r0, [r1, 0x8] - cmp r0, 0 - beq _0803151E - ldr r0, [r0, 0x4] - str r0, [r1, 0xC] -_0803151E: - ldr r0, _08031534 - ldr r1, [r0] - movs r0, 0 - str r0, [r1, 0x4] - movs r0, 0x1 - bl sub_80317C0 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08031534: .4byte gUnknown_203B32C -_08031538: .4byte gUnknown_202E5D8 -_0803153C: .4byte gUnknown_202DF98 - thumb_func_end sub_80314B4 - - thumb_func_start sub_8031540 -sub_8031540: - push {lr} - ldr r0, _08031558 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x9 - bhi _080315BA - lsls r0, 2 - ldr r1, _0803155C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031558: .4byte gUnknown_203B32C -_0803155C: .4byte _08031560 - .align 2, 0 -_08031560: - .4byte _080315AC - .4byte _08031588 - .4byte _08031588 - .4byte _0803158E - .4byte _08031594 - .4byte _0803159A - .4byte _080315A0 - .4byte _080315A6 - .4byte _080315B0 - .4byte _080315B6 -_08031588: - bl sub_80317D8 - b _080315BA -_0803158E: - bl sub_8031848 - b _080315BA -_08031594: - bl sub_8031864 - b _080315BA -_0803159A: - bl sub_80318D0 - b _080315BA -_080315A0: - bl sub_80318EC - b _080315BA -_080315A6: - bl sub_803192C - b _080315BA -_080315AC: - movs r0, 0x3 - b _080315BC -_080315B0: - bl sub_8031948 - b _080315BA -_080315B6: - bl sub_8031988 -_080315BA: - movs r0, 0 -_080315BC: - pop {r1} - bx r1 - thumb_func_end sub_8031540 - - thumb_func_start sub_80315C0 -sub_80315C0: - push {r4,lr} - ldr r4, _080315E4 - ldr r0, [r4] - cmp r0, 0 - beq _080315DE - ldr r0, [r0, 0x8] - cmp r0, 0 - beq _080315D4 - bl CloseFile -_080315D4: - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_080315DE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080315E4: .4byte gUnknown_203B32C - thumb_func_end sub_80315C0 - - thumb_func_start nullsub_39 -nullsub_39: - bx lr - thumb_func_end nullsub_39 - - thumb_func_start sub_80315EC -sub_80315EC: - push {r4,r5,lr} - sub sp, 0x14 - movs r5, 0 - ldr r0, _08031618 - ldr r2, [r0] - ldr r1, [r2, 0x8] - adds r3, r0, 0 - cmp r1, 0 - beq _08031602 - adds r5, r2, 0 - adds r5, 0x8 -_08031602: - ldrb r0, [r2] - subs r0, 0x1 - cmp r0, 0x8 - bls _0803160C - b _080317B0 -_0803160C: - lsls r0, 2 - ldr r1, _0803161C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031618: .4byte gUnknown_203B32C -_0803161C: .4byte _08031620 - .align 2, 0 -_08031620: - .4byte _08031700 - .4byte _08031714 - .4byte _08031728 - .4byte _08031758 - .4byte _08031780 - .4byte _08031694 - .4byte _080316A8 - .4byte _08031644 - .4byte _08031658 -_08031644: - ldr r0, _08031650 - ldr r1, [r3] - ldr r2, [r1, 0x4] - ldr r3, _08031654 - b _08031760 - .align 2, 0 -_08031650: .4byte gUnknown_80E0C4C -_08031654: .4byte gUnknown_80E0BD4 -_08031658: - ldr r0, [r3] - ldr r0, [r0, 0x4] - cmp r0, 0x10 - beq _0803167C - cmp r0, 0x10 - bgt _0803166A - cmp r0, 0xF - beq _08031674 - b _080317B0 -_0803166A: - cmp r0, 0x11 - beq _08031684 - cmp r0, 0x12 - beq _0803168C - b _080317B0 -_08031674: - ldr r0, _08031678 - b _08031790 - .align 2, 0 -_08031678: .4byte gUnknown_80E0C70 -_0803167C: - ldr r0, _08031680 - b _08031790 - .align 2, 0 -_08031680: .4byte gUnknown_80E0DD0 -_08031684: - ldr r0, _08031688 - b _08031790 - .align 2, 0 -_08031688: .4byte gUnknown_80E0ED8 -_0803168C: - ldr r0, _08031690 - b _08031790 - .align 2, 0 -_08031690: .4byte gUnknown_80E10C8 -_08031694: - ldr r0, _080316A0 - ldr r1, [r3] - ldr r2, [r1, 0x4] - ldr r3, _080316A4 - b _08031760 - .align 2, 0 -_080316A0: .4byte gUnknown_80E0C4C -_080316A4: .4byte gUnknown_80E0B3C -_080316A8: - ldr r0, [r3] - ldr r0, [r0, 0x4] - subs r0, 0xA - cmp r0, 0x4 - bls _080316B4 - b _080317B0 -_080316B4: - lsls r0, 2 - ldr r1, _080316C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080316C0: .4byte _080316C4 - .align 2, 0 -_080316C4: - .4byte _080316D8 - .4byte _080316E0 - .4byte _080316F0 - .4byte _080316E8 - .4byte _080316F8 -_080316D8: - ldr r0, _080316DC - b _08031790 - .align 2, 0 -_080316DC: .4byte gUnknown_80E120C -_080316E0: - ldr r0, _080316E4 - b _08031790 - .align 2, 0 -_080316E4: .4byte gUnknown_80E136C -_080316E8: - ldr r0, _080316EC - b _08031790 - .align 2, 0 -_080316EC: .4byte gUnknown_80E1420 -_080316F0: - ldr r0, _080316F4 - b _08031790 - .align 2, 0 -_080316F4: .4byte gUnknown_80E157C -_080316F8: - ldr r0, _080316FC - b _08031790 - .align 2, 0 -_080316FC: .4byte gUnknown_80E169C -_08031700: - ldr r0, _0803170C - ldr r1, [r3] - ldr r2, [r1, 0x4] - ldr r3, _08031710 - b _08031760 - .align 2, 0 -_0803170C: .4byte gUnknown_80E17C8 -_08031710: .4byte gUnknown_80E0A48 -_08031714: - ldr r0, _08031720 - ldr r1, [r3] - ldr r2, [r1, 0x4] - ldr r3, _08031724 - b _08031760 - .align 2, 0 -_08031720: .4byte gUnknown_80E183C -_08031724: .4byte gUnknown_80E0A48 -_08031728: - ldr r0, [r3] - ldr r0, [r0, 0x4] - cmp r0, 0x1 - beq _08031748 - cmp r0, 0x1 - bgt _0803173A - cmp r0, 0 - beq _08031740 - b _080317B0 -_0803173A: - cmp r0, 0x2 - beq _08031750 - b _080317B0 -_08031740: - ldr r0, _08031744 - b _08031790 - .align 2, 0 -_08031744: .4byte gUnknown_80E1868 -_08031748: - ldr r0, _0803174C - b _08031790 - .align 2, 0 -_0803174C: .4byte gUnknown_80E1A30 -_08031750: - ldr r0, _08031754 - b _08031790 - .align 2, 0 -_08031754: .4byte gUnknown_80E1AD8 -_08031758: - ldr r0, _08031778 - ldr r1, [r3] - ldr r2, [r1, 0x4] - ldr r3, _0803177C -_08031760: - movs r4, 0 - str r4, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r5, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - bl sub_8014248 - b _080317B0 - .align 2, 0 -_08031778: .4byte gUnknown_80E0C4C -_0803177C: .4byte gUnknown_80E0ABC -_08031780: - ldr r0, [r3] - ldr r0, [r0, 0x4] - cmp r0, 0x6 - beq _0803178E - cmp r0, 0x9 - beq _080317A4 - b _080317B0 -_0803178E: - ldr r0, _0803179C -_08031790: - ldr r3, _080317A0 - movs r1, 0 - adds r2, r5, 0 - bl sub_80141B4 - b _080317B0 - .align 2, 0 -_0803179C: .4byte gUnknown_80E1B88 -_080317A0: .4byte 0x0000010d -_080317A4: - ldr r0, _080317B8 - ldr r3, _080317BC - movs r1, 0 - adds r2, r5, 0 - bl sub_80141B4 -_080317B0: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080317B8: .4byte gUnknown_80E1D84 -_080317BC: .4byte 0x0000010d - thumb_func_end sub_80315EC - - thumb_func_start sub_80317C0 -sub_80317C0: - push {lr} - ldr r1, _080317D4 - ldr r1, [r1] - strb r0, [r1] - bl nullsub_39 - bl sub_80315EC - pop {r0} - bx r0 - .align 2, 0 -_080317D4: .4byte gUnknown_203B32C - thumb_func_end sub_80317C0 - - thumb_func_start sub_80317D8 -sub_80317D8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803183C - ldr r2, [sp] - cmp r2, 0x5 - bhi _0803183C - lsls r0, r2, 2 - ldr r1, _080317F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080317F8: .4byte _080317FC - .align 2, 0 -_080317FC: - .4byte _08031830 - .4byte _08031830 - .4byte _08031830 - .4byte _0803181C - .4byte _08031814 - .4byte _08031814 -_08031814: - movs r0, 0 - bl sub_80317C0 - b _0803183C -_0803181C: - ldr r0, _0803182C - ldr r0, [r0] - str r2, [r0, 0x4] - movs r0, 0x4 - bl sub_80317C0 - b _0803183C - .align 2, 0 -_0803182C: .4byte gUnknown_203B32C -_08031830: - ldr r0, _08031844 - ldr r0, [r0] - str r2, [r0, 0x4] - movs r0, 0x3 - bl sub_80317C0 -_0803183C: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08031844: .4byte gUnknown_203B32C - thumb_func_end sub_80317D8 - - thumb_func_start sub_8031848 -sub_8031848: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803185C - movs r0, 0x2 - bl sub_80317C0 -_0803185C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8031848 - - thumb_func_start sub_8031864 -sub_8031864: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080318C4 - ldr r0, [sp] - subs r1, r0, 0x5 - adds r2, r0, 0 - cmp r1, 0x4 - bhi _080318C4 - lsls r0, r1, 2 - ldr r1, _08031888 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031888: .4byte _0803188C - .align 2, 0 -_0803188C: - .4byte _080318A0 - .4byte _080318B8 - .4byte _080318A8 - .4byte _080318B0 - .4byte _080318B8 -_080318A0: - movs r0, 0x2 - bl sub_80317C0 - b _080318C4 -_080318A8: - movs r0, 0x6 - bl sub_80317C0 - b _080318C4 -_080318B0: - movs r0, 0x8 - bl sub_80317C0 - b _080318C4 -_080318B8: - ldr r0, _080318CC - ldr r0, [r0] - str r2, [r0, 0x4] - movs r0, 0x5 - bl sub_80317C0 -_080318C4: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080318CC: .4byte gUnknown_203B32C - thumb_func_end sub_8031864 - - thumb_func_start sub_80318D0 -sub_80318D0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080318E4 - movs r0, 0x4 - bl sub_80317C0 -_080318E4: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80318D0 - - thumb_func_start sub_80318EC -sub_80318EC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08031920 - ldr r1, [sp] - cmp r1, 0x5 - bne _08031908 - movs r0, 0x4 - bl sub_80317C0 - b _08031920 -_08031908: - cmp r1, 0x5 - blt _08031920 - cmp r1, 0xE - bgt _08031920 - cmp r1, 0xA - blt _08031920 - ldr r0, _08031928 - ldr r0, [r0] - str r1, [r0, 0x4] - movs r0, 0x7 - bl sub_80317C0 -_08031920: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08031928: .4byte gUnknown_203B32C - thumb_func_end sub_80318EC - - thumb_func_start sub_803192C -sub_803192C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08031940 - movs r0, 0x6 - bl sub_80317C0 -_08031940: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_803192C - - thumb_func_start sub_8031948 -sub_8031948: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803197C - ldr r1, [sp] - cmp r1, 0x5 - bne _08031964 - movs r0, 0x4 - bl sub_80317C0 - b _0803197C -_08031964: - cmp r1, 0x5 - blt _0803197C - cmp r1, 0x12 - bgt _0803197C - cmp r1, 0xF - blt _0803197C - ldr r0, _08031984 - ldr r0, [r0] - str r1, [r0, 0x4] - movs r0, 0x9 - bl sub_80317C0 -_0803197C: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08031984: .4byte gUnknown_203B32C - thumb_func_end sub_8031948 - - thumb_func_start sub_8031988 -sub_8031988: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803199C - movs r0, 0x8 - bl sub_80317C0 -_0803199C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8031988 - - thumb_func_start sub_80319A4 -sub_80319A4: - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - adds r5, r1, 0 - mov r8, r2 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r6, _080319F4 - movs r0, 0x78 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r6] - strb r4, [r0, 0xC] - ldr r0, [r6] - strb r5, [r0, 0xD] - ldr r0, [r6] - bl sub_801317C - ldr r1, [r6] - mov r0, r8 - str r0, [r1, 0x10] - lsls r0, 1 - add r0, r8 - lsls r0, 3 - adds r0, 0x18 - adds r0, r1, r0 - str r0, [r1, 0x14] - bl sub_8031A2C - movs r0, 0x1 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080319F4: .4byte gUnknown_203B330 - thumb_func_end sub_80319A4 - - thumb_func_start sub_80319F8 -sub_80319F8: - push {lr} - ldr r0, _08031A18 - ldr r0, [r0] - ldr r1, [r0, 0x10] - bl sub_8012A64 - cmp r0, 0x1 - beq _08031A1C - cmp r0, 0x2 - bne _08031A26 - movs r0, 0x1 - bl sub_80119D4 - movs r0, 0x2 - b _08031A28 - .align 2, 0 -_08031A18: .4byte gUnknown_203B330 -_08031A1C: - movs r0, 0 - bl sub_80119D4 - movs r0, 0x3 - b _08031A28 -_08031A26: - movs r0, 0 -_08031A28: - pop {r1} - bx r1 - thumb_func_end sub_80319F8 - - thumb_func_start sub_8031A2C -sub_8031A2C: - push {lr} - bl sub_8031A84 - bl sub_8031AE8 - pop {r0} - bx r0 - thumb_func_end sub_8031A2C - - thumb_func_start sub_8031A3C -sub_8031A3C: - push {r4,r5,lr} - ldr r4, _08031A7C - ldr r2, [r4] - cmp r2, 0 - beq _08031A76 - ldr r0, [r2, 0x10] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x18 - ldr r0, _08031A80 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08031A76: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08031A7C: .4byte gUnknown_203B330 -_08031A80: .4byte gUnknown_80E1EFC - thumb_func_end sub_8031A3C - - thumb_func_start sub_8031A84 -sub_8031A84: - push {r4,r5,lr} - ldr r4, _08031AE0 - ldr r0, [r4] - adds r0, 0x18 - bl sub_8006518 - ldr r1, [r4] - ldr r2, [r1, 0x10] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x18 - ldr r0, _08031AE4 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r1, [r4] - ldrb r0, [r1, 0xC] - cmp r0, 0x2 - bne _08031AC6 - ldrb r0, [r1, 0xD] - bl sub_80969D0 - adds r1, r0, 0 - cmp r1, 0 - bne _08031ABE - movs r1, 0x1 -_08031ABE: - ldr r0, [r4] - ldr r0, [r0, 0x14] - bl sub_8012D08 -_08031AC6: - bl sub_8004914 - ldr r0, _08031AE0 - ldr r0, [r0] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08031AE0: .4byte gUnknown_203B330 -_08031AE4: .4byte gUnknown_80E1F18 - thumb_func_end sub_8031A84 - - thumb_func_start sub_8031AE8 -sub_8031AE8: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xDC - ldr r7, _08031B24 - ldr r0, [r7] - ldr r0, [r0, 0x10] - bl sub_80073B8 - ldr r2, _08031B28 - ldr r0, [r7] - ldr r3, [r0, 0x10] - movs r6, 0 - str r6, [sp] - movs r0, 0xA - movs r1, 0 - bl xxx_call_draw_string - ldr r1, [r7] - ldrb r0, [r1, 0xC] - cmp r0, 0x1 - beq _08031B2C - cmp r0, 0x1 - bgt _08031B1E - b _08031CD4 -_08031B1E: - cmp r0, 0x2 - beq _08031B94 - b _08031CD4 - .align 2, 0 -_08031B24: .4byte gUnknown_203B330 -_08031B28: .4byte gUnknown_80E1F30 -_08031B2C: - add r4, sp, 0x68 - adds r0, r4, 0 - bl sub_8099394 - ldrb r0, [r4] - bl sub_8095228 - adds r5, r0, 0 - ldr r0, [r7] - ldr r3, [r0, 0x10] - movs r0, 0xA - movs r1, 0x10 - movs r2, 0x3 - bl sub_803B6B0 - ldr r1, _08031B8C - ldrb r2, [r5, 0x5] - add r0, sp, 0x4 - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - str r6, [sp] - movs r0, 0x15 - movs r1, 0x10 - add r2, sp, 0x4 - bl xxx_call_draw_string - ldr r4, _08031B90 - movs r1, 0xC - ldrsh r0, [r5, r1] - bl sub_808D994 - adds r2, r0, 0 - add r0, sp, 0x4 - adds r1, r4, 0 - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - str r6, [sp] - movs r0, 0x28 - movs r1, 0x10 - add r2, sp, 0x4 - bl xxx_call_draw_string - b _08031D4E - .align 2, 0 -_08031B8C: .4byte gUnknown_80E1F3C -_08031B90: .4byte gUnknown_80E1F40 -_08031B94: - ldrb r0, [r1, 0xD] - bl sub_80969D0 - adds r1, r0, 0 - cmp r1, 0 - bne _08031BB0 - ldr r2, _08031BAC - ldr r0, [r7] - ldr r3, [r0, 0x10] - str r1, [sp] - b _08031D2C - .align 2, 0 -_08031BAC: .4byte gUnknown_80E1F54 -_08031BB0: - movs r6, 0x10 - movs r2, 0 - mov r10, r2 - mov r8, r2 - ldr r0, _08031C28 - mov r9, r0 - mov r1, sp - adds r1, 0x6C - str r1, [sp, 0xD8] -_08031BC2: - mov r2, r10 - lsls r0, r2, 24 - lsrs r0, 24 - bl sub_8096AB4 - adds r4, r0, 0 - ldr r1, [r7] - ldrb r0, [r4, 0x4] - ldrb r2, [r1, 0xD] - cmp r0, r2 - bne _08031CC2 - ldrb r0, [r4] - cmp r0, 0 - beq _08031CC2 - cmp r0, 0x5 - beq _08031CC2 - cmp r0, 0x7 - beq _08031CC2 - ldr r3, [r1, 0x10] - movs r0, 0xA - adds r1, r6, 0 - movs r2, 0x3 - bl sub_803B6B0 - ldrb r0, [r4, 0x1] - add r5, sp, 0x6C - cmp r0, 0x3 - beq _08031C16 - ldrb r2, [r4, 0x5] - ldr r0, [sp, 0xD8] - ldr r1, _08031C2C - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - mov r0, r8 - str r0, [sp] - movs r0, 0x15 - adds r1, r6, 0 - ldr r2, [sp, 0xD8] - bl xxx_call_draw_string -_08031C16: - ldrb r0, [r4, 0x1] - cmp r0, 0x3 - beq _08031C58 - cmp r0, 0x3 - bgt _08031C30 - cmp r0, 0x2 - beq _08031C70 - b _08031C9C - .align 2, 0 -_08031C28: .4byte gUnknown_202DE58 -_08031C2C: .4byte gUnknown_80E1F3C -_08031C30: - cmp r0, 0x4 - bne _08031C9C - ldrb r1, [r4, 0x10] - mov r0, r9 - movs r2, 0 - bl sub_8090DC4 - adds r0, r5, 0 - ldr r1, _08031C54 - mov r2, r9 - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - mov r1, r8 - str r1, [sp] - b _08031C8A - .align 2, 0 -_08031C54: .4byte gUnknown_80E1F60 -_08031C58: - ldrb r1, [r4, 0x10] - mov r0, r9 - movs r2, 0 - bl sub_8090DC4 - adds r0, r5, 0 - ldr r1, _08031C6C - mov r2, r9 - b _08031C7E - .align 2, 0 -_08031C6C: .4byte gUnknown_80E1F70 -_08031C70: - movs r1, 0xE - ldrsh r0, [r4, r1] - bl sub_808D994 - adds r2, r0, 0 - adds r0, r5, 0 - ldr r1, _08031C98 -_08031C7E: - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - mov r2, r8 - str r2, [sp] -_08031C8A: - movs r0, 0x28 - adds r1, r6, 0 - adds r2, r5, 0 - bl xxx_call_draw_string - b _08031CC0 - .align 2, 0 -_08031C98: .4byte gUnknown_80E1F80 -_08031C9C: - movs r1, 0xE - ldrsh r0, [r4, r1] - bl sub_808D994 - adds r2, r0, 0 - adds r0, r5, 0 - ldr r1, _08031CD0 - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - mov r2, r8 - str r2, [sp] - movs r0, 0x28 - adds r1, r6, 0 - adds r2, r5, 0 - bl xxx_call_draw_string -_08031CC0: - adds r6, 0xC -_08031CC2: - movs r0, 0x1 - add r10, r0 - mov r1, r10 - cmp r1, 0x7 - bgt _08031CCE - b _08031BC2 -_08031CCE: - b _08031D4E - .align 2, 0 -_08031CD0: .4byte gUnknown_80E1F40 -_08031CD4: - add r0, sp, 0xD0 - mov r4, sp - adds r4, 0xD2 - adds r1, r4, 0 - bl sub_80992E0 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _08031D04 - movs r2, 0 - ldrsh r0, [r4, r2] - bl sub_80974C4 - adds r2, r0, 0 - ldr r0, _08031D00 - ldr r0, [r0] - ldr r3, [r0, 0x10] - movs r0, 0 - str r0, [sp] - b _08031D2C - .align 2, 0 -_08031D00: .4byte gUnknown_203B330 -_08031D04: - add r4, sp, 0xD4 - adds r0, r4, 0 - bl sub_8099360 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08031D3C - ldrb r0, [r4] - bl sub_80A2688 - lsls r0, 16 - asrs r0, 16 - bl sub_80975DC - adds r2, r0, 0 - ldr r0, _08031D38 - ldr r0, [r0] - ldr r3, [r0, 0x10] - str r5, [sp] -_08031D2C: - movs r0, 0xA - movs r1, 0x10 - bl xxx_call_draw_string - b _08031D4E - .align 2, 0 -_08031D38: .4byte gUnknown_203B330 -_08031D3C: - ldr r2, _08031D68 - ldr r0, _08031D6C - ldr r0, [r0] - ldr r3, [r0, 0x10] - str r1, [sp] - movs r0, 0xA - movs r1, 0x10 - bl xxx_call_draw_string -_08031D4E: - ldr r0, _08031D6C - ldr r0, [r0] - ldr r0, [r0, 0x10] - bl sub_80073E0 - add sp, 0xDC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08031D68: .4byte gUnknown_80E1F94 -_08031D6C: .4byte gUnknown_203B330 - thumb_func_end sub_8031AE8 - - thumb_func_start sub_8031D70 -sub_8031D70: - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - ldr r5, _08031DC4 - movs r0, 0x7C - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - stm r0!, {r6} - bl sub_801317C - ldr r0, [r5] - str r4, [r0, 0x10] - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 3 - adds r1, 0x18 - adds r1, r0, r1 - str r1, [r0, 0x14] - adds r0, 0x18 - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x10] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x18 - ldr r0, _08031DC8 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - bl sub_8031E00 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08031DC4: .4byte gUnknown_203B334 -_08031DC8: .4byte gUnknown_80E1FC4 - thumb_func_end sub_8031D70 - - thumb_func_start sub_8031DCC -sub_8031DCC: - push {lr} - ldr r0, _08031DEC - ldr r1, [r0] - adds r0, r1, 0x4 - ldr r1, [r1, 0x10] - bl sub_8012A64 - cmp r0, 0x1 - beq _08031DF0 - cmp r0, 0x2 - bne _08031DFA - movs r0, 0x1 - bl sub_80119D4 - movs r0, 0x2 - b _08031DFC - .align 2, 0 -_08031DEC: .4byte gUnknown_203B334 -_08031DF0: - movs r0, 0 - bl sub_80119D4 - movs r0, 0x3 - b _08031DFC -_08031DFA: - movs r0, 0 -_08031DFC: - pop {r1} - bx r1 - thumb_func_end sub_8031DCC - - thumb_func_start sub_8031E00 -sub_8031E00: - push {lr} - bl sub_8031E58 - bl sub_8031E74 - pop {r0} - bx r0 - thumb_func_end sub_8031E00 - - thumb_func_start sub_8031E10 -sub_8031E10: - push {r4,r5,lr} - ldr r4, _08031E50 - ldr r2, [r4] - cmp r2, 0 - beq _08031E4A - ldr r0, [r2, 0x10] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x18 - ldr r0, _08031E54 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08031E4A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08031E50: .4byte gUnknown_203B334 -_08031E54: .4byte gUnknown_80E1FA8 - thumb_func_end sub_8031E10 - - thumb_func_start sub_8031E58 -sub_8031E58: - push {lr} - bl sub_8004914 - ldr r0, _08031E70 - ldr r0, [r0] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r0} - bx r0 - .align 2, 0 -_08031E70: .4byte gUnknown_203B334 - thumb_func_end sub_8031E58 - - thumb_func_start sub_8031E74 -sub_8031E74: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x3C - ldr r3, _08031EC0 - ldr r5, _08031EC4 - ldr r2, [r5] - ldr r1, [r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 4 - ldr r4, [r3] - adds r4, r0 - ldr r0, [r2, 0x10] - bl sub_80073B8 - ldr r2, _08031EC8 - ldr r0, [r5] - ldr r3, [r0, 0x10] - movs r0, 0 - str r0, [sp] - movs r0, 0x14 - movs r1, 0 - bl xxx_call_draw_string - add r0, sp, 0x4 - adds r1, r4, 0 - bl sub_803D2C0 - movs r7, 0 - mov r8, r5 -_08031EB2: - cmp r7, 0x4 - ble _08031ED0 - cmp r7, 0xC - bgt _08031ECC - movs r6, 0x6 - movs r5, 0x16 - b _08031F00 - .align 2, 0 -_08031EC0: .4byte gUnknown_203B480 -_08031EC4: .4byte gUnknown_203B334 -_08031EC8: .4byte gUnknown_80E1FDC -_08031ECC: - cmp r7, 0x11 - bgt _08031ED6 -_08031ED0: - movs r6, 0x7 - movs r5, 0x15 - b _08031F00 -_08031ED6: - cmp r7, 0x16 - ble _08031EE8 - cmp r7, 0x1E - bgt _08031EE4 - movs r6, 0x6 - movs r5, 0x25 - b _08031F00 -_08031EE4: - cmp r7, 0x23 - bgt _08031EEE -_08031EE8: - movs r6, 0x7 - movs r5, 0x24 - b _08031F00 -_08031EEE: - cmp r7, 0x28 - ble _08031EFC - cmp r7, 0x30 - bgt _08031EFC - movs r6, 0x6 - movs r5, 0x34 - b _08031F00 -_08031EFC: - movs r6, 0x7 - movs r5, 0x33 -_08031F00: - adds r0, r7, 0 - movs r1, 0x12 - bl __modsi3 - movs r1, 0xB - adds r4, r0, 0 - muls r4, r1 - adds r4, 0x6 - mov r0, sp - adds r0, r7 - adds r0, 0x4 - ldrb r2, [r0] - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x10] - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - adds r3, r6, 0 - bl sub_8012C60 - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x10] - adds r2, r5, 0 - adds r2, 0xA - movs r1, 0x5 - str r1, [sp] - adds r1, r4, 0 - movs r3, 0xA - bl sub_80078A4 - adds r7, 0x1 - cmp r7, 0x35 - ble _08031EB2 - ldr r0, _08031F5C - ldr r0, [r0] - ldr r0, [r0, 0x10] - bl sub_80073E0 - add sp, 0x3C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08031F5C: .4byte gUnknown_203B334 - thumb_func_end sub_8031E74 - - thumb_func_start sub_8031F60 -sub_8031F60: - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _08031FD0 - movs r0, 0xA0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - str r5, [r0, 0x34] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 3 - adds r1, 0x3C - adds r1, r0, r1 - str r1, [r0, 0x38] - adds r0, 0x3C - bl sub_8006518 - ldr r1, [r4] - ldr r2, [r1, 0x34] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x3C - ldr r0, _08031FD4 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldr r0, [r4] - ldr r1, [r0, 0x38] - adds r0, 0x9C - str r0, [r1, 0x14] - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x20 - movs r2, 0x8 - adds r3, r5, 0 - bl sub_8013818 - bl sub_8032084 - bl sub_80320F8 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08031FD0: .4byte gUnknown_203B338 -_08031FD4: .4byte gUnknown_80E2008 - thumb_func_end sub_8031F60 - - thumb_func_start sub_8031FD8 -sub_8031FD8: - push {r4,lr} - lsls r0, 24 - cmp r0, 0 - bne _08031FF0 - ldr r0, _08031FEC - ldr r0, [r0] - bl sub_8013660 - movs r0, 0 - b _08032034 - .align 2, 0 -_08031FEC: .4byte gUnknown_203B338 -_08031FF0: - ldr r4, _0803200C - ldr r0, [r4] - bl GetKeyPress - cmp r0, 0x1 - beq _08032010 - cmp r0, 0x2 - bne _0803201A - movs r0, 0x1 - bl sub_80119D4 - movs r0, 0x2 - b _08032034 - .align 2, 0 -_0803200C: .4byte gUnknown_203B338 -_08032010: - movs r0, 0 - bl sub_80119D4 - movs r0, 0x3 - b _08032034 -_0803201A: - ldr r0, [r4] - bl sub_8013938 - lsls r0, 24 - cmp r0, 0 - bne _0803202A - movs r0, 0 - b _08032034 -_0803202A: - bl sub_8032084 - bl sub_80320F8 - movs r0, 0x1 -_08032034: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8031FD8 - - thumb_func_start sub_803203C -sub_803203C: - push {r4,r5,lr} - ldr r4, _0803207C - ldr r2, [r4] - cmp r2, 0 - beq _08032076 - ldr r0, [r2, 0x34] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x3C - ldr r0, _08032080 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08032076: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803207C: .4byte gUnknown_203B338 -_08032080: .4byte gUnknown_80E1FF0 - thumb_func_end sub_803203C - - thumb_func_start sub_8032084 -sub_8032084: - push {r4,lr} - ldr r4, _080320F4 - ldr r0, [r4] - ldrh r1, [r0, 0x20] - adds r0, 0x9C - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - ldrh r1, [r0, 0x1E] - adds r0, 0x9D - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9E - movs r1, 0xB - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9F - strb r2, [r0] - ldr r0, [r4] - movs r1, 0x1A - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x34] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x4A - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x34] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x4C - strh r3, [r2] - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080320F4: .4byte gUnknown_203B338 - thumb_func_end sub_8032084 - - thumb_func_start sub_80320F8 -sub_80320F8: - push {r4-r7,lr} - sub sp, 0x8 - ldr r5, _08032158 - ldr r0, [r5] - ldr r0, [r0, 0x34] - bl sub_8008C54 - ldr r0, [r5] - ldr r0, [r0, 0x34] - bl sub_80073B8 - ldr r0, [r5] - movs r1, 0x1E - ldrsh r4, [r0, r1] - lsls r4, 3 - adds r6, r4, 0 - adds r6, 0xA - ldr r2, _0803215C - ldr r3, [r0, 0x34] - movs r0, 0 - str r0, [sp] - adds r0, r6, 0 - movs r1, 0 - bl xxx_call_draw_string - adds r4, 0x4 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x9E - ldrb r0, [r0] - lsls r0, 3 - adds r6, r4, r0 - movs r0, 0x1E - ldrsh r2, [r1, r0] - adds r2, 0x1 - movs r0, 0x7 - str r0, [sp] - ldr r0, [r1, 0x34] - str r0, [sp, 0x4] - adds r0, r6, 0 - movs r1, 0 - movs r3, 0x1 - bl sub_8012BC4 - movs r7, 0 - ldr r0, [r5] - b _0803223A - .align 2, 0 -_08032158: .4byte gUnknown_203B338 -_0803215C: .4byte gUnknown_80E2020 -_08032160: - ldr r5, _08032194 - ldr r0, [r5] - movs r2, 0x1E - ldrsh r1, [r0, r2] - movs r2, 0x1C - ldrsh r0, [r0, r2] - muls r0, r1 - adds r0, r7 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r6, 0 - bl sub_8097710 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _0803221C - subs r0, r6, 0x7 - cmp r0, 0x5 - bhi _080321EC - lsls r0, 2 - ldr r1, _08032198 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08032194: .4byte gUnknown_203B338 -_08032198: .4byte _0803219C - .align 2, 0 -_0803219C: - .4byte _080321BA - .4byte _080321C6 - .4byte _080321D4 - .4byte _080321E0 - .4byte _080321C0 - .4byte _080321B4 -_080321B4: - bl sub_80978B8 - b _080321E4 -_080321BA: - bl sub_8097880 - b _080321E4 -_080321C0: - bl sub_8097838 - b _080321E4 -_080321C6: - bl sub_80977B8 - ldr r1, _080321D0 - b _080321EA - .align 2, 0 -_080321D0: .4byte gUnknown_202DE30 -_080321D4: - bl sub_80977F8 - ldr r1, _080321DC - b _080321EA - .align 2, 0 -_080321DC: .4byte gUnknown_202DE30 -_080321E0: - bl sub_8097870 -_080321E4: - ldr r1, _08032214 - lsls r0, 16 - asrs r0, 16 -_080321EA: - str r0, [r1] -_080321EC: - ldr r4, _08032218 - ldr r0, [r4] - adds r1, r7, 0 - bl sub_8013800 - adds r5, r0, 0 - adds r0, r6, 0 - bl sub_8097738 - adds r2, r0, 0 - ldr r0, [r4] - ldr r3, [r0, 0x34] - movs r0, 0 - str r0, [sp] - movs r0, 0x8 - adds r1, r5, 0 - bl sub_8014FF0 - b _08032234 - .align 2, 0 -_08032214: .4byte gUnknown_202DE30 -_08032218: .4byte gUnknown_203B338 -_0803221C: - ldr r0, [r5] - adds r1, r7, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r2, _08032254 - ldr r0, [r5] - ldr r3, [r0, 0x34] - str r4, [sp] - movs r0, 0x8 - bl xxx_call_draw_string -_08032234: - adds r7, 0x1 - ldr r0, _08032258 - ldr r0, [r0] -_0803223A: - movs r1, 0x1A - ldrsh r0, [r0, r1] - cmp r7, r0 - blt _08032160 - ldr r0, _08032258 - ldr r0, [r0] - ldr r0, [r0, 0x34] - bl sub_80073E0 - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08032254: .4byte gUnknown_80E2030 -_08032258: .4byte gUnknown_203B338 - thumb_func_end sub_80320F8 - - thumb_func_start sub_803225C -sub_803225C: - push {r4,r5,lr} - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r5, _08032300 - movs r4, 0xAD - 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] - movs r0, 0xA6 - lsls r0, 3 - adds r2, r1, r0 - movs r0, 0 - str r0, [r2] - movs r2, 0x86 - lsls r2, 2 - adds r1, r2 - movs r0, 0xFF - strb r0, [r1] - ldr r0, [r5] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - ldr r1, _08032304 - strh r1, [r0] - ldr r0, _08032308 - 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, _0803230C - bl strcpy - movs r1, 0 - movs r2, 0 - adds r4, r5, 0 -_080322C6: - ldr r0, [r5] - adds r0, 0x8 - adds r0, r1 - strb r2, [r0] - adds r1, 0x1 - cmp r1, 0x35 - ble _080322C6 - ldr r1, [r4] - movs r0, 0x7E - str r0, [r1, 0x4] - bl sub_8039880 - ldr r1, [r4] - ldr r2, _08032310 - adds r1, r2 - strb r0, [r1] - ldr r0, [r4] - adds r2, r0, r2 - ldrb r1, [r2] - ldr r2, _08032314 - adds r0, r2 - strb r1, [r0] - movs r0, 0 - bl sub_80338C4 - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08032300: .4byte gUnknown_203B33C -_08032304: .4byte 0x0000ffff -_08032308: .4byte gUnknown_202E5D8 -_0803230C: .4byte gUnknown_202DF98 -_08032310: .4byte 0x0000052c -_08032314: .4byte 0x0000052d - thumb_func_end sub_803225C - - thumb_func_start sub_8032318 -sub_8032318: - push {lr} - ldr r0, _08032330 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x7D - bls _08032326 - b _080327DC -_08032326: - lsls r0, 2 - ldr r1, _08032334 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08032330: .4byte gUnknown_203B33C -_08032334: .4byte _08032338 - .align 2, 0 -_08032338: - .4byte _080326A6 - .4byte _080326A6 - .4byte _080326AC - .4byte _0803255A - .4byte _0803255A - .4byte _0803266C - .4byte _08032672 - .4byte _08032678 - .4byte _0803267E - .4byte _08032684 - .4byte _0803268A - .4byte _08032690 - .4byte _08032690 - .4byte _08032698 - .4byte _080326A0 - .4byte _080327CE - .4byte _080327CE - .4byte _0803262C - .4byte _08032634 - .4byte _0803263A - .4byte _08032640 - .4byte _08032646 - .4byte _0803264C - .4byte _08032652 - .4byte _08032764 - .4byte _08032658 - .4byte _08032660 - .4byte _08032666 - .4byte _08032612 - .4byte _08032626 - .4byte _0803261A - .4byte _08032620 - .4byte _0803260C - .4byte _080325CE - .4byte _080327CE - .4byte _080325C6 - .4byte _080325BA - .4byte _080325A0 - .4byte _080325A8 - .4byte _080325AE - .4byte _080325B4 - .4byte _080325C0 - .4byte _0803258C - .4byte _0803259A - .4byte _08032594 - .4byte _0803257E - .4byte _08032586 - .4byte _08032764 - .4byte _080327CE - .4byte _080325D4 - .4byte _080325DC - .4byte _080325E2 - .4byte _080325E8 - .4byte _080325EE - .4byte _080327DC - .4byte _080325FA - .4byte _080325F4 - .4byte _08032600 - .4byte _08032606 - .4byte _08032764 - .4byte _080327CE - .4byte _08032560 - .4byte _08032566 - .4byte _0803256C - .4byte _08032572 - .4byte _08032578 - .4byte _08032764 - .4byte _08032658 - .4byte _080327CE - .4byte _080327CE - .4byte _08032794 - .4byte _0803279C - .4byte _080327A2 - .4byte _080327A8 - .4byte _080327AE - .4byte _080327B4 - .4byte _080327BA - .4byte _080327C0 - .4byte _080327C0 - .4byte _080327C8 - .4byte _08032722 - .4byte _080327D6 - .4byte _0803278E - .4byte _08032780 - .4byte _08032788 - .4byte _0803277A - .4byte _08032774 - .4byte _0803276C - .4byte _08032752 - .4byte _08032764 - .4byte _080326BC - .4byte _080326C2 - .4byte _080326D6 - .4byte _080326CA - .4byte _080326D0 - .4byte _080326DC - .4byte _080326E2 - .4byte _080326E8 - .4byte _08032730 - .4byte _08032744 - .4byte _0803273E - .4byte _08032738 - .4byte _080326F4 - .4byte _080326FC - .4byte _080326EE - .4byte _0803274C - .4byte _080326B0 - .4byte _080326B6 - .4byte _08032764 - .4byte _08032722 - .4byte _0803272A - .4byte _08032744 - .4byte _0803271C - .4byte _08032716 - .4byte _08032708 - .4byte _08032710 - .4byte _08032702 - .4byte _08032758 - .4byte _0803275E - .4byte _08032764 - .4byte _08032530 - .4byte _08032536 - .4byte _0803253E - .4byte _08032544 - .4byte _0803254C - .4byte _08032552 -_08032530: - bl sub_8035300 - b _080327DC -_08032536: - movs r0, 0x78 - bl sub_8035404 - b _080327DC -_0803253E: - bl sub_8035374 - b _080327DC -_08032544: - movs r0, 0x7A - bl sub_8035404 - b _080327DC -_0803254C: - bl sub_80353BC - b _080327DC -_08032552: - movs r0, 0x7C - bl sub_8035404 - b _080327DC -_0803255A: - bl sub_8033A2C - b _080327DC -_08032560: - bl sub_803477C - b _080327DC -_08032566: - bl sub_80347AC - b _080327DC -_0803256C: - bl sub_80347C8 - b _080327DC -_08032572: - bl sub_80347E4 - b _080327DC -_08032578: - bl sub_8034804 - b _080327DC -_0803257E: - movs r0, 0x2E - bl sub_8035404 - b _080327DC -_08032586: - bl sub_80344C0 - b _080327DC -_0803258C: - movs r0, 0xD - bl sub_8035404 - b _080327DC -_08032594: - bl sub_8034478 - b _080327DC -_0803259A: - bl sub_80344A0 - b _080327DC -_080325A0: - movs r0, 0x26 - bl sub_8035404 - b _080327DC -_080325A8: - bl sub_803418C - b _080327DC -_080325AE: - bl sub_8034254 - b _080327DC -_080325B4: - bl sub_8034310 - b _080327DC -_080325BA: - bl sub_8034378 - b _080327DC -_080325C0: - bl sub_80343C4 - b _080327DC -_080325C6: - movs r0, 0x21 - bl sub_8035404 - b _080327DC -_080325CE: - bl sub_8034404 - b _080327DC -_080325D4: - movs r0, 0x32 - bl sub_8035404 - b _080327DC -_080325DC: - bl sub_8034500 - b _080327DC -_080325E2: - bl sub_8034590 - b _080327DC -_080325E8: - bl sub_803464C - b _080327DC -_080325EE: - bl sub_80346A8 - b _080327DC -_080325F4: - bl sub_80346D8 - b _080327DC -_080325FA: - bl sub_8034700 - b _080327DC -_08032600: - bl sub_8034720 - b _080327DC -_08032606: - bl sub_803473C - b _080327DC -_0803260C: - bl sub_8033FB4 - b _080327DC -_08032612: - movs r0, 0x1D - bl sub_8035404 - b _080327DC -_0803261A: - bl sub_8034074 - b _080327DC -_08032620: - bl sub_8034130 - b _080327DC -_08032626: - bl sub_8033FE4 - b _080327DC -_0803262C: - movs r0, 0x12 - bl sub_8035404 - b _080327DC -_08032634: - bl nullsub_42 - b _080327DC -_0803263A: - bl nullsub_43 - b _080327DC -_08032640: - bl nullsub_44 - b _080327DC -_08032646: - bl nullsub_45 - b _080327DC -_0803264C: - bl sub_8033D74 - b _080327DC -_08032652: - bl sub_8033D94 - b _080327DC -_08032658: - movs r0, 0x1A - bl sub_8035404 - b _080327DC -_08032660: - bl sub_8033DBC - b _080327DC -_08032666: - bl sub_8033F64 - b _080327DC -_0803266C: - bl sub_8033C54 - b _080327DC -_08032672: - bl nullsub_41 - b _080327DC -_08032678: - bl sub_8033CAC - b _080327DC -_0803267E: - bl sub_8033D48 - b _080327DC -_08032684: - bl sub_8035424 - b _080327DC -_0803268A: - bl nullsub_50 - b _080327DC -_08032690: - movs r0, 0x6 - bl sub_8035404 - b _080327DC -_08032698: - movs r0, 0x7 - bl sub_8035404 - b _080327DC -_080326A0: - bl sub_8033B8C - b _080327DC -_080326A6: - bl sub_80339C8 - b _080327DC -_080326AC: - movs r0, 0x3 - b _080327DE -_080326B0: - bl sub_80348C4 - b _080327DC -_080326B6: - bl sub_803482C - b _080327DC -_080326BC: - bl sub_80349B0 - b _080327DC -_080326C2: - movs r0, 0x5C - bl sub_8035404 - b _080327DC -_080326CA: - bl sub_8034A70 - b _080327DC -_080326D0: - bl sub_8034B2C - b _080327DC -_080326D6: - bl sub_80349E0 - b _080327DC -_080326DC: - bl sub_8034B88 - b _080327DC -_080326E2: - bl sub_8034C98 - b _080327DC -_080326E8: - bl sub_8034C38 - b _080327DC -_080326EE: - bl sub_8034D54 - b _080327DC -_080326F4: - movs r0, 0x67 - bl sub_8035404 - b _080327DC -_080326FC: - bl sub_8034970 - b _080327DC -_08032702: - bl sub_80351E0 - b _080327DC -_08032708: - movs r0, 0x73 - bl sub_8035404 - b _080327DC -_08032710: - bl sub_8034D74 - b _080327DC -_08032716: - bl sub_8034EF0 - b _080327DC -_0803271C: - bl sub_8034F38 - b _080327DC -_08032722: - movs r0, 0x6E - bl sub_8035404 - b _080327DC -_0803272A: - bl sub_80352A4 - b _080327DC -_08032730: - movs r0, 0x6A - bl sub_8035404 - b _080327DC -_08032738: - bl sub_8034EC8 - b _080327DC -_0803273E: - bl sub_8034F18 - b _080327DC -_08032744: - movs r0, 0x62 - bl sub_8035404 - b _080327DC -_0803274C: - bl sub_8034F58 - b _080327DC -_08032752: - bl sub_8034F88 - b _080327DC -_08032758: - bl sub_8035018 - b _080327DC -_0803275E: - bl sub_8035038 - b _080327DC -_08032764: - movs r0, 0x2 - bl sub_8035404 - b _080327DC -_0803276C: - movs r0, 0x5F - bl sub_8035404 - b _080327DC -_08032774: - bl sub_8035094 - b _080327DC -_0803277A: - bl sub_80350F4 - b _080327DC -_08032780: - movs r0, 0x54 - bl sub_8035404 - b _080327DC -_08032788: - bl sub_803517C - b _080327DC -_0803278E: - bl sub_8035210 - b _080327DC -_08032794: - movs r0, 0x47 - bl sub_8035404 - b _080327DC -_0803279C: - bl nullsub_46 - b _080327DC -_080327A2: - bl nullsub_47 - b _080327DC -_080327A8: - bl nullsub_48 - b _080327DC -_080327AE: - bl nullsub_49 - b _080327DC -_080327B4: - bl sub_8035430 - b _080327DC -_080327BA: - bl nullsub_51 - b _080327DC -_080327C0: - movs r0, 0x4F - bl sub_8035404 - b _080327DC -_080327C8: - bl sub_8034848 - b _080327DC -_080327CE: - movs r0, 0x1 - bl sub_8035404 - b _080327DC -_080327D6: - movs r0, 0x1 - bl sub_8035404 -_080327DC: - movs r0, 0 -_080327DE: - pop {r1} - bx r1 - thumb_func_end sub_8032318 - - thumb_func_start sub_80327E4 -sub_80327E4: - push {r4,lr} - ldr r4, _08032820 - ldr r0, [r4] - cmp r0, 0 - beq _0803281A - bl MemoryFree - movs r0, 0 - str r0, [r4] - bl sub_803084C - bl sub_8031E10 - bl sub_8023C60 - bl sub_80155F0 - bl sub_801CBB8 - bl sub_802F2C0 - bl sub_8030DE4 - bl sub_802453C - bl sub_801B450 -_0803281A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08032820: .4byte gUnknown_203B33C - thumb_func_end sub_80327E4 - - thumb_func_start nullsub_40 -nullsub_40: - bx lr - thumb_func_end nullsub_40 - - thumb_func_start sub_8032828 -sub_8032828: - push {r4-r6,lr} - sub sp, 0x68 - ldr r1, _08032848 - ldr r0, [r1] - ldr r0, [r0] - adds r6, r1, 0 - cmp r0, 0x7D - bls _0803283C - bl _080338B4 -_0803283C: - lsls r0, 2 - ldr r1, _0803284C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08032848: .4byte gUnknown_203B33C -_0803284C: .4byte _08032850 - .align 2, 0 -_08032850: - .4byte _08032A48 - .4byte _08032AD0 - .4byte _080338B4 - .4byte _08032B80 - .4byte _08032BC4 - .4byte _08032FD0 - .4byte _080338B4 - .4byte _08032FF0 - .4byte _080338B4 - .4byte _080338B4 - .4byte _08032FD8 - .4byte _08032FE0 - .4byte _08032FE8 - .4byte _0803356C - .4byte _08032C50 - .4byte _08033200 - .4byte _080331CC - .4byte _080331D4 - .4byte _080331DC - .4byte _080336B2 - .4byte _080338B4 - .4byte _080331F8 - .4byte _08033208 - .4byte _080338B4 - .4byte _08033234 - .4byte _0803323C - .4byte _08033244 - .4byte _080338B4 - .4byte _08032F8C - .4byte _08032F98 - .4byte _080336B2 - .4byte _080338B4 - .4byte _08032FB6 - .4byte _08032EB8 - .4byte _08032FC4 - .4byte _08032EAC - .4byte _08032F54 - .4byte _08032EE0 - .4byte _08032EEC - .4byte _08032F16 - .4byte _080338B4 - .4byte _08032F7C - .4byte _08032E60 - .4byte _08032E6C - .4byte _08032EA0 - .4byte _08032E48 - .4byte _0803341C - .4byte _08032E54 - .4byte _08032D84 - .4byte _08032D90 - .4byte _08032D9C - .4byte _080336B2 - .4byte _080338B4 - .4byte _08032DBC - .4byte _080338B4 - .4byte _08032DCC - .4byte _08032E00 - .4byte _08032E3C - .4byte _08032E0C - .4byte _08032E30 - .4byte _08032D04 - .4byte _08032D10 - .4byte _08032D2C - .4byte _08032D38 - .4byte _08032D44 - .4byte _080338B4 - .4byte _08032D78 - .4byte _08032D20 - .4byte _08033720 - .4byte _08033728 - .4byte _08033684 - .4byte _0803368C - .4byte _080336B2 - .4byte _080338B4 - .4byte _080336F8 - .4byte _080338B4 - .4byte _08032FD8 - .4byte _08032FE0 - .4byte _08032FE8 - .4byte _080338B4 - .4byte _08033468 - .4byte _08033730 - .4byte _08033738 - .4byte _0803366C - .4byte _08033674 - .4byte _08033644 - .4byte _0803361C - .4byte _08033614 - .4byte _080335F4 - .4byte _080335C0 - .4byte _0803324E - .4byte _0803325C - .4byte _0803368C - .4byte _08033264 - .4byte _080338B4 - .4byte _08033288 - .4byte _080332B8 - .4byte _080338B4 - .4byte _0803356C - .4byte _080335B0 - .4byte _08033584 - .4byte _080338B4 - .4byte _08033412 - .4byte _0803341C - .4byte _08033448 - .4byte _080335B8 - .4byte _080332F4 - .4byte _080338B4 - .4byte _08033460 - .4byte _08033470 - .4byte _0803349C - .4byte _08033450 - .4byte _08033458 - .4byte _080338B4 - .4byte _080333E4 - .4byte _080333EC - .4byte _080338B4 - .4byte _08033604 - .4byte _0803360C - .4byte _080338B4 - .4byte _0803384C - .4byte _0803387C - .4byte _080337D4 - .4byte _080337F0 - .4byte _08033770 - .4byte _0803378C -_08032A48: - movs r0, 0x1 - bl sub_8095324 - cmp r0, 0 - bne _08032A9C - movs r0, 0x5 - bl sub_8095324 - adds r4, r0, 0 - cmp r4, 0 - bne _08032A9C - ldr r0, _08032A7C - ldr r0, [r0] - ldr r1, _08032A80 - adds r0, r1 - ldrb r2, [r0] - cmp r2, 0 - beq _08032A8C - ldr r0, _08032A84 - ldr r3, _08032A88 - str r4, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - b _08032B66 - .align 2, 0 -_08032A7C: .4byte gUnknown_203B33C -_08032A80: .4byte 0x0000052c -_08032A84: .4byte gUnknown_80E25F4 -_08032A88: .4byte gUnknown_80E2108 -_08032A8C: - ldr r0, _08032A94 - ldr r3, _08032A98 - b _08032B5C - .align 2, 0 -_08032A94: .4byte gUnknown_80E25F4 -_08032A98: .4byte gUnknown_80E20B8 -_08032A9C: - ldr r0, _08032AC0 - ldr r0, [r0] - ldr r2, _08032AC4 - adds r0, r2 - ldrb r2, [r0] - cmp r2, 0 - beq _08032B58 - ldr r0, _08032AC8 - ldr r3, _08032ACC - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - bl _08033864 - .align 2, 0 -_08032AC0: .4byte gUnknown_203B33C -_08032AC4: .4byte 0x0000052c -_08032AC8: .4byte gUnknown_80E25F4 -_08032ACC: .4byte gUnknown_80E20E0 -_08032AD0: - movs r0, 0x1 - bl sub_8095324 - cmp r0, 0 - bne _08032B24 - movs r0, 0x5 - bl sub_8095324 - adds r4, r0, 0 - cmp r4, 0 - bne _08032B24 - ldr r0, _08032B04 - ldr r0, [r0] - ldr r3, _08032B08 - adds r0, r3 - ldrb r2, [r0] - cmp r2, 0 - beq _08032B14 - ldr r0, _08032B0C - ldr r3, _08032B10 - str r4, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - b _08032B66 - .align 2, 0 -_08032B04: .4byte gUnknown_203B33C -_08032B08: .4byte 0x0000052c -_08032B0C: .4byte gUnknown_80E25F4 -_08032B10: .4byte gUnknown_80E2108 -_08032B14: - ldr r0, _08032B1C - ldr r3, _08032B20 - b _08032B5C - .align 2, 0 -_08032B1C: .4byte gUnknown_80E25F4 -_08032B20: .4byte gUnknown_80E20B8 -_08032B24: - ldr r0, _08032B48 - ldr r0, [r0] - ldr r4, _08032B4C - adds r0, r4 - ldrb r2, [r0] - cmp r2, 0 - beq _08032B58 - ldr r0, _08032B50 - ldr r3, _08032B54 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - bl _08033864 - .align 2, 0 -_08032B48: .4byte gUnknown_203B33C -_08032B4C: .4byte 0x0000052c -_08032B50: .4byte gUnknown_80E25F4 -_08032B54: .4byte gUnknown_80E20E0 -_08032B58: - ldr r0, _08032B78 - ldr r3, _08032B7C -_08032B5C: - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] -_08032B66: - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0 - bl sub_8014248 - bl _080338B4 - .align 2, 0 -_08032B78: .4byte gUnknown_80E25F4 -_08032B7C: .4byte gUnknown_80E2068 -_08032B80: - movs r0, 0x4 - bl sub_8095324 - adds r2, r0, 0 - cmp r2, 0 - beq _08032B9C - ldr r0, _08032B94 - ldr r3, _08032B98 - movs r2, 0 - b _08032BA0 - .align 2, 0 -_08032B94: .4byte gUnknown_80E25F4 -_08032B98: .4byte gUnknown_80E2130 -_08032B9C: - ldr r0, _08032BBC - ldr r3, _08032BC0 -_08032BA0: - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x3 - bl sub_8014248 - bl _080338B4 - .align 2, 0 -_08032BBC: .4byte gUnknown_80E25F4 -_08032BC0: .4byte gUnknown_80E2190 -_08032BC4: - movs r0, 0x1 - bl sub_8095324 - adds r4, r0, 0 - cmp r4, 0 - bne _08032C0C - movs r0, 0x5 - bl sub_8095324 - cmp r0, 0 - bne _08032BF4 - ldr r0, _08032BEC - ldr r3, _08032BF0 - str r4, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - b _08032C38 - .align 2, 0 -_08032BEC: .4byte gUnknown_80E25F4 -_08032BF0: .4byte gUnknown_80E2268 -_08032BF4: - ldr r0, _08032C04 - ldr r3, _08032C08 - str r4, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - b _08032C38 - .align 2, 0 -_08032C04: .4byte gUnknown_80E25F4 -_08032C08: .4byte gUnknown_80E2218 -_08032C0C: - movs r0, 0x5 - bl sub_8095324 - adds r2, r0, 0 - cmp r2, 0 - bne _08032C28 - ldr r0, _08032C20 - ldr r3, _08032C24 - b _08032C2E - .align 2, 0 -_08032C20: .4byte gUnknown_80E25F4 -_08032C24: .4byte gUnknown_80E2240 -_08032C28: - ldr r0, _08032C48 - ldr r3, _08032C4C - movs r2, 0 -_08032C2E: - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] -_08032C38: - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x11 - bl sub_8014248 - bl _080338B4 - .align 2, 0 -_08032C48: .4byte gUnknown_80E25F4 -_08032C4C: .4byte gUnknown_80E21B8 -_08032C50: - ldr r0, [r6] - movs r5, 0xA5 - lsls r5, 3 - adds r0, r5 - ldr r0, [r0] - subs r0, 0x3 - cmp r0, 0x11 - bls _08032C64 - bl _080338B4 -_08032C64: - lsls r0, 2 - ldr r1, _08032C70 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08032C70: .4byte _08032C74 - .align 2, 0 -_08032C74: - .4byte _08032CC8 - .4byte _08032CD4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _08032CBC - .4byte _08032CE0 - .4byte _08032CEC - .4byte _08032CF8 -_08032CBC: - ldr r0, _08032CC4 - bl _0803374A - .align 2, 0 -_08032CC4: .4byte gUnknown_80E2610 -_08032CC8: - ldr r0, _08032CD0 - bl _0803374A - .align 2, 0 -_08032CD0: .4byte gUnknown_80E2640 -_08032CD4: - ldr r0, _08032CDC - bl _0803374A - .align 2, 0 -_08032CDC: .4byte gUnknown_80E2680 -_08032CE0: - ldr r0, _08032CE8 - bl _0803374A - .align 2, 0 -_08032CE8: .4byte gUnknown_80E26B0 -_08032CEC: - ldr r0, _08032CF4 - bl _0803374A - .align 2, 0 -_08032CF4: .4byte gUnknown_80E26F0 -_08032CF8: - ldr r0, _08032D00 - bl _0803374A - .align 2, 0 -_08032D00: .4byte gUnknown_80E2728 -_08032D04: - ldr r0, _08032D0C - bl _0803388E - .align 2, 0 -_08032D0C: .4byte gUnknown_80E276C -_08032D10: - ldr r0, _08032D18 - ldr r3, _08032D1C - bl _080336FC - .align 2, 0 -_08032D18: .4byte gUnknown_80E27A4 -_08032D1C: .4byte gUnknown_80E2458 -_08032D20: - ldr r0, _08032D28 - bl _0803388E - .align 2, 0 -_08032D28: .4byte gUnknown_80E2814 -_08032D2C: - ldr r0, _08032D34 - bl _0803388E - .align 2, 0 -_08032D34: .4byte gUnknown_80E2840 -_08032D38: - ldr r0, _08032D40 - bl _0803388E - .align 2, 0 -_08032D40: .4byte gUnknown_80E2874 -_08032D44: - ldr r0, [r6] - ldr r1, _08032D60 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0xC - bne _08032D54 - bl _080338B4 -_08032D54: - cmp r0, 0xC - bhi _08032D64 - cmp r0, 0xB - beq _08032D6C - bl _080338B4 - .align 2, 0 -_08032D60: .4byte 0x00000524 -_08032D64: - cmp r0, 0xE - bls _08032D6C - bl _080338B4 -_08032D6C: - ldr r0, _08032D74 - bl _0803388E - .align 2, 0 -_08032D74: .4byte gUnknown_80E2898 -_08032D78: - ldr r0, _08032D80 - bl _0803388E - .align 2, 0 -_08032D80: .4byte gUnknown_80E28D8 -_08032D84: - ldr r0, _08032D8C - bl _0803388E - .align 2, 0 -_08032D8C: .4byte gUnknown_80E2904 -_08032D90: - ldr r0, _08032D98 - bl _0803388E - .align 2, 0 -_08032D98: .4byte gUnknown_80E296C -_08032D9C: - bl sub_8030894 - cmp r0, 0 - beq _08032DA8 - bl _080338B4 -_08032DA8: - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - bl _080336A6 -_08032DBC: - ldr r0, _08032DC4 - ldr r3, _08032DC8 - bl _080336FC - .align 2, 0 -_08032DC4: .4byte gUnknown_80E29A0 -_08032DC8: .4byte gUnknown_80E22B4 -_08032DCC: - ldr r0, [r6] - ldr r2, _08032DE8 - adds r0, r2 - ldr r0, [r0] - cmp r0, 0xC - bne _08032DDC - bl _080338B4 -_08032DDC: - cmp r0, 0xC - bhi _08032DEC - cmp r0, 0xB - beq _08032DF4 - bl _080338B4 - .align 2, 0 -_08032DE8: .4byte 0x00000524 -_08032DEC: - cmp r0, 0xE - bls _08032DF4 - bl _080338B4 -_08032DF4: - ldr r0, _08032DFC - bl _0803388E - .align 2, 0 -_08032DFC: .4byte gUnknown_80E29D0 -_08032E00: - ldr r0, _08032E08 - bl _0803388E - .align 2, 0 -_08032E08: .4byte gUnknown_80E2A0C -_08032E0C: - ldr r0, [r6] - movs r3, 0xEF - lsls r3, 2 - adds r0, r3 - bl sub_8006518 - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r6] - movs r4, 0x86 - lsls r4, 2 - adds r0, r4 - b _0803343E -_08032E30: - ldr r0, _08032E38 - bl _0803388E - .align 2, 0 -_08032E38: .4byte gUnknown_80E2A1C -_08032E3C: - ldr r0, _08032E44 - bl _0803388E - .align 2, 0 -_08032E44: .4byte gUnknown_80E2A5C -_08032E48: - ldr r0, _08032E50 - bl _0803388E - .align 2, 0 -_08032E50: .4byte gUnknown_80E2A80 -_08032E54: - ldr r0, _08032E5C - bl _0803388E - .align 2, 0 -_08032E5C: .4byte gUnknown_80E2AA8 -_08032E60: - ldr r0, _08032E68 - bl _0803388E - .align 2, 0 -_08032E68: .4byte gUnknown_80E2AE4 -_08032E6C: - ldr r0, [r6] - ldr r2, _08032E88 - adds r0, r2 - ldr r0, [r0] - cmp r0, 0xC - bne _08032E7C - bl _080338B4 -_08032E7C: - cmp r0, 0xC - bhi _08032E8C - cmp r0, 0xB - beq _08032E94 - bl _080338B4 - .align 2, 0 -_08032E88: .4byte 0x00000524 -_08032E8C: - cmp r0, 0xE - bls _08032E94 - bl _080338B4 -_08032E94: - ldr r0, _08032E9C - bl _0803388E - .align 2, 0 -_08032E9C: .4byte gUnknown_80E2B54 -_08032EA0: - ldr r0, _08032EA8 - bl _0803388E - .align 2, 0 -_08032EA8: .4byte gUnknown_80E2A0C -_08032EAC: - ldr r0, _08032EB4 - bl _0803388E - .align 2, 0 -_08032EB4: .4byte gUnknown_80E2B90 -_08032EB8: - ldr r0, _08032ED8 - ldr r3, _08032EDC - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0xF - bl sub_8014248 - bl _080338B4 - .align 2, 0 -_08032ED8: .4byte gUnknown_80E2BE0 -_08032EDC: .4byte gUnknown_80E23A8 -_08032EE0: - ldr r0, _08032EE8 - bl _0803388E - .align 2, 0 -_08032EE8: .4byte gUnknown_80E2C48 -_08032EEC: - bl sub_8023CE8 - cmp r0, 0 - beq _08032EF8 - bl sub_8023C60 -_08032EF8: - 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 - bl _080338B4 -_08032F16: - 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, _08032F4C - ldr r2, _08032F50 - 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 - bl _080336E2 - .align 2, 0 -_08032F4C: .4byte gUnknown_80E2334 -_08032F50: .4byte gUnknown_80E234C -_08032F54: - ldr r0, _08032F74 - ldr r3, _08032F78 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x10 - bl sub_8014248 - bl _080338B4 - .align 2, 0 -_08032F74: .4byte gUnknown_80E2C94 -_08032F78: .4byte gUnknown_80E22F0 -_08032F7C: - ldr r0, _08032F84 - ldr r3, _08032F88 - bl _080336FC - .align 2, 0 -_08032F84: .4byte gUnknown_80E2CD4 -_08032F88: .4byte gUnknown_80E22D0 -_08032F8C: - ldr r0, _08032F94 - bl _0803388E - .align 2, 0 -_08032F94: .4byte gUnknown_80E2CE8 -_08032F98: - bl sub_8030894 - cmp r0, 0 - beq _08032FA4 - bl _080338B4 -_08032FA4: - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x4 - b _080336A6 -_08032FB6: - ldr r0, _08032FBC - ldr r3, _08032FC0 - b _080336FC - .align 2, 0 -_08032FBC: .4byte gUnknown_80E2D30 -_08032FC0: .4byte gUnknown_80E22B4 -_08032FC4: - ldr r0, _08032FCC - bl _0803388E - .align 2, 0 -_08032FCC: .4byte gUnknown_80E2D60 -_08032FD0: - ldr r0, _08032FD4 - b _080336FA - .align 2, 0 -_08032FD4: .4byte gUnknown_80E2D7C -_08032FD8: - ldr r0, _08032FDC - b _080336FA - .align 2, 0 -_08032FDC: .4byte gUnknown_80E2E20 -_08032FE0: - ldr r0, _08032FE4 - b _08033574 - .align 2, 0 -_08032FE4: .4byte gUnknown_80E2E54 -_08032FE8: - ldr r0, _08032FEC - b _08033574 - .align 2, 0 -_08032FEC: .4byte gUnknown_80E2EB4 -_08032FF0: - 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 - beq _0803300E - b _080333DE -_0803300E: - ldr r1, [r0, 0x40] - cmp r1, 0x3 - beq _08033028 - cmp r1, 0x3 - bhi _0803301E - cmp r1, 0x2 - beq _0803304A - b _0803313C -_0803301E: - cmp r1, 0x4 - beq _080330B4 - cmp r1, 0x5 - beq _0803308E - b _0803313C -_08033028: - 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 _08033134 -_0803304A: - 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 r0, [r6] - movs r3, 0x86 - lsls r3, 2 - adds r0, r3 - ldrb r0, [r0] - bl sub_8095228 - ldr r1, [r6] - adds r1, 0x48 - ldm r0!, {r2,r4,r5} - stm r1!, {r2,r4,r5} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r2, [r6] - ldr r0, [r2, 0x40] - adds r1, r2, 0 - adds r1, 0x48 - adds r2, 0x78 - b _08033134 -_0803308E: - adds r0, 0xA8 - movs r1, 0 - movs r2, 0x88 - bl MemoryFill8 - ldr r0, [r6] - movs r4, 0x98 - lsls r4, 1 - adds r0, r4 - movs r1, 0 - movs r2, 0x88 - bl MemoryFill8 - ldr r2, [r6] - ldr r0, [r2, 0x40] - adds r1, r2, 0 - adds r1, 0xA8 - adds r2, r4 - b _08033134 -_080330B4: - 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] - movs r4, 0xA7 - lsls r4, 3 - adds r3, r2, r4 - movs r0, 0 - ldrsh r1, [r3, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0803312A - adds r0, r2, 0 - adds r0, 0xD8 - ldr r1, _08033188 - ldr r1, [r1] - movs r2, 0 - ldrsh r3, [r3, r2] - movs r2, 0x58 - muls r2, r3 - adds r1, r2 - movs r2, 0x58 - bl memcpy -_0803312A: - ldr r2, [r6] - ldr r0, [r2, 0x40] - adds r1, r2, 0 - adds r1, 0xA8 - adds r2, r5 -_08033134: - bl sub_8037D64 - ldr r1, [r6] - str r0, [r1, 0x44] -_0803313C: - ldr r4, _0803318C - ldr r2, [r4] - ldr r0, [r2, 0x44] - cmp r0, 0 - beq _08033148 - b _080333DE -_08033148: - ldr r0, [r2, 0x40] - cmp r0, 0x2 - bcs _08033150 - b _080333DE -_08033150: - cmp r0, 0x3 - bls _08033190 - cmp r0, 0x5 - bls _0803315A - b _080333DE -_0803315A: - adds r1, r2, 0 - adds r1, 0xA8 - movs r3, 0x98 - lsls r3, 1 - adds r2, r3 - bl sub_80381F4 - ldr r1, [r4] - str r0, [r1, 0x44] - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - beq _080331C0 - ldr r0, [r4] - movs r4, 0x84 - lsls r4, 3 - adds r1, r0, r4 - movs r5, 0xA0 - lsls r5, 1 - adds r0, r5 - b _080333DA - .align 2, 0 -_08033188: .4byte gUnknown_203B45C -_0803318C: .4byte gUnknown_203B33C -_08033190: - adds r1, r2, 0 - adds r1, 0x48 - adds r2, 0x78 - bl sub_80381F4 - ldr r1, [r4] - str r0, [r1, 0x44] - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - beq _080331B4 - ldr r0, [r4] - movs r2, 0x84 - lsls r2, 3 - adds r1, r0, r2 - adds r0, 0x88 - b _080333DA -_080331B4: - ldr r0, [r4] - movs r3, 0x84 - lsls r3, 3 - adds r1, r0, r3 - ldr r0, [r0, 0x58] - b _080333DC -_080331C0: - ldr r0, [r4] - movs r4, 0x84 - lsls r4, 3 - adds r1, r0, r4 - adds r0, 0xB8 - b _080333DA -_080331CC: - ldr r0, _080331D0 - b _0803388E - .align 2, 0 -_080331D0: .4byte gUnknown_80E2F14 -_080331D4: - ldr r0, _080331D8 - b _0803388E - .align 2, 0 -_080331D8: .4byte gUnknown_80E2F44 -_080331DC: - bl sub_8030894 - cmp r0, 0 - beq _080331E6 - b _080338B4 -_080331E6: - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - b _080336A6 -_080331F8: - ldr r0, _080331FC - b _080336FA - .align 2, 0 -_080331FC: .4byte gUnknown_80E2F78 -_08033200: - ldr r0, _08033204 - b _0803388E - .align 2, 0 -_08033204: .4byte gUnknown_80E2FA0 -_08033208: - ldr r0, [r6] - ldr r5, _08033220 - adds r0, r5 - ldr r0, [r0] - cmp r0, 0xC - bne _08033216 - b _080338B4 -_08033216: - cmp r0, 0xC - bhi _08033224 - cmp r0, 0xB - beq _0803322A - b _080338B4 - .align 2, 0 -_08033220: .4byte 0x00000524 -_08033224: - cmp r0, 0xE - bls _0803322A - b _080338B4 -_0803322A: - ldr r0, _08033230 - b _0803388E - .align 2, 0 -_08033230: .4byte gUnknown_80E2FEC -_08033234: - ldr r0, _08033238 - b _0803388E - .align 2, 0 -_08033238: .4byte gUnknown_80E3030 -_0803323C: - ldr r0, _08033240 - b _0803388E - .align 2, 0 -_08033240: .4byte gUnknown_80E3078 -_08033244: - ldr r0, [r6] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - b _080333F4 -_0803324E: - ldr r0, _08033254 - ldr r3, _08033258 - b _080336FC - .align 2, 0 -_08033254: .4byte gUnknown_80E30A4 -_08033258: .4byte gUnknown_80E2458 -_0803325C: - ldr r0, _08033260 - b _0803388E - .align 2, 0 -_08033260: .4byte gUnknown_80E30D0 -_08033264: - 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, _08033280 - ldr r2, _08033284 - b _080336CC - .align 2, 0 -_08033280: .4byte gUnknown_80E231C -_08033284: .4byte gUnknown_80E2408 -_08033288: - bl sub_801D008 - cmp r0, 0 - beq _08033292 - b _080338B4 -_08033292: - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, _080332B4 - str r0, [sp, 0x64] - add r2, sp, 0x64 - movs r0, 0 - movs r1, 0x1 - movs r3, 0x9 - bl sub_801C8C4 - b _080338B4 - .align 2, 0 -_080332B4: .4byte 0x00020003 -_080332B8: - 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, _080332EC - ldr r2, _080332F0 - 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_801CCD8 - b _080336E2 - .align 2, 0 -_080332EC: .4byte gUnknown_80E23F0 -_080332F0: .4byte gUnknown_80E2408 -_080332F4: - ldr r1, [r6] - movs r0, 0 - str r0, [r1, 0x44] - bl sub_8011830 - ldr r0, [r6] - ldr r0, [r0, 0x40] - bl sub_8037B28 - ldr r1, [r6] - str r0, [r1, 0x44] - cmp r0, 0 - bne _080333DE - ldr r0, [r1, 0x40] - cmp r0, 0x6 - beq _0803331A - cmp r0, 0x7 - beq _08033358 - b _08033388 -_0803331A: - movs r4, 0xDC - lsls r4, 1 - adds r0, r1, r4 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r2, 0x86 - lsls r2, 2 - adds r0, r2 - ldrb r0, [r0] - bl sub_8095228 - ldr r1, [r6] - adds r1, r4 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r2, [r6] - ldr r0, [r2, 0x40] - adds r4, r2, r4 - movs r3, 0xF4 - lsls r3, 1 - adds r2, r3 - b _0803337E -_08033358: - movs r4, 0xDC - lsls r4, 1 - adds r0, r1, r4 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r5, 0xF4 - lsls r5, 1 - adds r0, r5 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r2, [r6] - ldr r0, [r2, 0x40] - adds r4, r2, r4 - adds r2, r5 -_0803337E: - adds r1, r4, 0 - bl sub_8037D64 - ldr r1, [r6] - str r0, [r1, 0x44] -_08033388: - ldr r4, _080333C8 - ldr r2, [r4] - ldr r0, [r2, 0x44] - cmp r0, 0 - bne _080333DE - ldr r0, [r2, 0x40] - cmp r0, 0x7 - bhi _080333DE - cmp r0, 0x6 - bcc _080333DE - movs r5, 0xDC - lsls r5, 1 - adds r1, r2, r5 - movs r3, 0xF4 - lsls r3, 1 - adds r2, r3 - bl sub_80381F4 - ldr r1, [r4] - str r0, [r1, 0x44] - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - beq _080333CC - ldr r0, [r4] - movs r4, 0x84 - lsls r4, 3 - adds r1, r0, r4 - adds r5, 0x40 - adds r0, r5 - b _080333DA - .align 2, 0 -_080333C8: .4byte gUnknown_203B33C -_080333CC: - ldr r0, [r4] - movs r2, 0x84 - lsls r2, 3 - adds r1, r0, r2 - movs r3, 0xE4 - lsls r3, 1 - adds r0, r3 -_080333DA: - ldr r0, [r0] -_080333DC: - str r0, [r1] -_080333DE: - bl sub_8011854 - b _080338B4 -_080333E4: - ldr r0, _080333E8 - b _0803388E - .align 2, 0 -_080333E8: .4byte gUnknown_80E311C -_080333EC: - ldr r0, [r6] - movs r4, 0xEF - lsls r4, 2 - adds r0, r4 -_080333F4: - 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 _080338B4 -_08033412: - ldr r0, _08033418 - b _0803388E - .align 2, 0 -_08033418: .4byte gUnknown_80E314C -_0803341C: - ldr r0, [r6] - movs r5, 0xEF - lsls r5, 2 - adds r0, r5 - bl sub_8006518 - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r6] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 -_0803343E: - ldrb r0, [r0] - movs r1, 0 - bl sub_8031D70 - b _080338B4 -_08033448: - ldr r0, _0803344C - b _0803388E - .align 2, 0 -_0803344C: .4byte gUnknown_80E317C -_08033450: - ldr r0, _08033454 - b _0803388E - .align 2, 0 -_08033454: .4byte gUnknown_80E319C -_08033458: - ldr r0, _0803345C - b _0803388E - .align 2, 0 -_0803345C: .4byte gUnknown_80E317C -_08033460: - ldr r0, _08033464 - b _0803388E - .align 2, 0 -_08033464: .4byte gUnknown_80E31D8 -_08033468: - ldr r0, _0803346C - b _0803388E - .align 2, 0 -_0803346C: .4byte gUnknown_80E31FC -_08033470: - ldr r0, [r6] - ldr r2, _08033488 - adds r0, r2 - ldr r0, [r0] - cmp r0, 0xC - bne _0803347E - b _080338B4 -_0803347E: - cmp r0, 0xC - bhi _0803348C - cmp r0, 0xB - beq _08033492 - b _080338B4 - .align 2, 0 -_08033488: .4byte 0x00000524 -_0803348C: - cmp r0, 0xE - bls _08033492 - b _080338B4 -_08033492: - ldr r0, _08033498 - b _0803388E - .align 2, 0 -_08033498: .4byte gUnknown_80E3220 -_0803349C: - movs r0, 0x98 - lsls r0, 1 - bl sub_808D994 - adds r1, r0, 0 - ldr r4, _080334F8 - ldr r0, [r4] - ldr r3, _080334FC - adds r0, r3 - bl strcpy - ldr r1, [r4] - movs r5, 0xAA - lsls r5, 3 - adds r0, r1, r5 - movs r2, 0 - strh r2, [r0] - ldr r0, _08033500 - adds r1, r0 - movs r0, 0x2 - strb r0, [r1] - ldr r0, [r4] - ldr r3, _08033504 - adds r1, r0, r3 - str r2, [r1] - movs r5, 0x84 - lsls r5, 3 - adds r0, r5 - ldr r1, [r0] - movs r0, 0x6 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - adds r2, r0, 0 - adds r0, 0x22 - ldrb r1, [r0] - cmp r1, 0 - beq _08033508 - ldr r0, [r4] - movs r3, 0xAB - lsls r3, 3 - adds r0, r3 - b _08033512 - .align 2, 0 -_080334F8: .4byte gUnknown_203B33C -_080334FC: .4byte 0x0000053c -_08033500: .4byte 0x00000552 -_08033504: .4byte 0x00000554 -_08033508: - ldr r0, [r4] - movs r4, 0xAB - lsls r4, 3 - adds r0, r4 - movs r1, 0 -_08033512: - strb r1, [r0] - ldr r4, _08033558 - ldr r0, [r4] - ldr r5, _0803355C - adds r0, r5 - movs r5, 0 - movs r1, 0x1 - strb r1, [r0] - adds r0, r2, 0x4 - movs r1, 0 - bl sub_803C200 - ldr r1, [r4] - movs r3, 0xAC - lsls r3, 3 - adds r2, r1, r3 - str r0, [r2] - ldr r0, _08033560 - adds r1, r0 - strb r5, [r1] - ldr r0, [r4] - ldr r1, _08033564 - adds r0, r1 - strb r5, [r0] - ldr r0, [r4] - ldr r2, _08033568 - adds r0, r2 - strb r5, [r0] - ldr r0, [r4] - subs r3, 0x24 - adds r0, r3 - movs r1, 0 - bl sub_802F204 - b _080338B4 - .align 2, 0 -_08033558: .4byte gUnknown_203B33C -_0803355C: .4byte 0x0000055b -_08033560: .4byte 0x00000559 -_08033564: .4byte 0x0000055a -_08033568: .4byte 0x0000055c -_0803356C: - movs r0, 0 - bl nullsub_23 - ldr r0, _08033580 -_08033574: - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80141B4 - b _080338B4 - .align 2, 0 -_08033580: .4byte gUnknown_80E2DD0 -_08033584: - ldr r0, [r6] - ldr r4, _0803359C - adds r0, r4 - ldr r0, [r0] - cmp r0, 0xC - bne _08033592 - b _080338B4 -_08033592: - cmp r0, 0xC - bhi _080335A0 - cmp r0, 0xB - beq _080335A6 - b _080338B4 - .align 2, 0 -_0803359C: .4byte 0x00000524 -_080335A0: - cmp r0, 0xE - bls _080335A6 - b _080338B4 -_080335A6: - ldr r0, _080335AC - b _0803388E - .align 2, 0 -_080335AC: .4byte gUnknown_80E3248 -_080335B0: - ldr r0, _080335B4 - b _0803388E - .align 2, 0 -_080335B4: .4byte gUnknown_80E3288 -_080335B8: - ldr r0, _080335BC - b _080336FA - .align 2, 0 -_080335BC: .4byte gUnknown_80E2D7C -_080335C0: - bl sub_808D33C - adds r1, r0, 0 - adds r1, 0x4C - add r0, sp, 0x14 - movs r2, 0xA - bl sub_80922B4 - ldr r5, _080335E8 - ldr r0, [r5] - ldr r4, _080335EC - adds r0, r4 - ldr r1, _080335F0 - add r2, sp, 0x14 - bl sub_800D158 - ldr r0, [r5] - adds r0, r4 - b _0803388E - .align 2, 0 -_080335E8: .4byte gUnknown_203B33C -_080335EC: .4byte 0x00000424 -_080335F0: .4byte gUnknown_80E32C4 -_080335F4: - ldr r0, _080335FC - ldr r3, _08033600 - b _080336FC - .align 2, 0 -_080335FC: .4byte gUnknown_80E331C -_08033600: .4byte gUnknown_80E24D8 -_08033604: - ldr r0, _08033608 - b _0803388E - .align 2, 0 -_08033608: .4byte gUnknown_80E317C -_0803360C: - ldr r0, _08033610 - b _0803388E - .align 2, 0 -_08033610: .4byte gUnknown_80E2A0C -_08033614: - ldr r0, _08033618 - b _0803388E - .align 2, 0 -_08033618: .4byte gUnknown_80E3378 -_0803361C: - ldr r0, _0803363C - ldr r3, _08033640 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x16 - bl sub_8014248 - b _080338B4 - .align 2, 0 -_0803363C: .4byte gUnknown_80E339C -_08033640: .4byte gUnknown_80E24B0 -_08033644: - ldr r0, _08033664 - ldr r3, _08033668 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x15 - bl sub_8014248 - b _080338B4 - .align 2, 0 -_08033664: .4byte gUnknown_80E33D8 -_08033668: .4byte gUnknown_80E2470 -_0803366C: - ldr r0, _08033670 - b _0803388E - .align 2, 0 -_08033670: .4byte gUnknown_80E3430 -_08033674: - ldr r0, _0803367C - ldr r3, _08033680 - b _080336FC - .align 2, 0 -_0803367C: .4byte gUnknown_80E34B0 -_08033680: .4byte gUnknown_80E2440 -_08033684: - ldr r0, _08033688 - b _0803388E - .align 2, 0 -_08033688: .4byte gUnknown_80E34F0 -_0803368C: - bl sub_8030894 - cmp r0, 0 - beq _08033696 - b _080338B4 -_08033696: - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x5 -_080336A6: - movs r1, 0 - movs r2, 0 - movs r3, 0x6 - bl sub_80306A8 - b _080338B4 -_080336B2: - 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, _080336F0 - ldr r2, _080336F4 -_080336CC: - 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 -_080336E2: - ldr r0, [r6] - adds r0, r5 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - b _080338B4 - .align 2, 0 -_080336F0: .4byte gUnknown_80E231C -_080336F4: .4byte gUnknown_80E234C -_080336F8: - ldr r0, _08033718 -_080336FA: - ldr r3, _0803371C -_080336FC: - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x6 - bl sub_8014248 - b _080338B4 - .align 2, 0 -_08033718: .4byte gUnknown_80E352C -_0803371C: .4byte gUnknown_80E2290 -_08033720: - ldr r0, _08033724 - b _0803388E - .align 2, 0 -_08033724: .4byte gUnknown_80E355C -_08033728: - ldr r0, _0803372C - b _0803388E - .align 2, 0 -_0803372C: .4byte gUnknown_80E35AC -_08033730: - ldr r0, _08033734 - b _0803388E - .align 2, 0 -_08033734: .4byte gUnknown_80E35E8 -_08033738: - ldr r0, [r6] - ldr r0, [r0, 0x40] - cmp r0, 0x6 - bne _08033748 - ldr r0, _08033744 - b _0803374A - .align 2, 0 -_08033744: .4byte gUnknown_80E360C -_08033748: - ldr r0, _08033768 -_0803374A: - ldr r3, _0803376C - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0xB - bl sub_8014248 - b _080338B4 - .align 2, 0 -_08033768: .4byte gUnknown_80E3644 -_0803376C: .4byte gUnknown_80E236C -_08033770: - ldr r0, _08033780 - ldr r1, [r6] - ldr r5, _08033784 - adds r1, r5 - ldr r2, [r1] - ldr r3, _08033788 - b _08033858 - .align 2, 0 -_08033780: .4byte gUnknown_80E367C -_08033784: .4byte 0x00000564 -_08033788: .4byte gUnknown_80E25B4 -_0803378C: - ldr r0, [r6] - ldr r1, _080337A4 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x24 - beq _080337BC - cmp r0, 0x24 - bgt _080337A8 - cmp r0, 0x23 - beq _080337B2 - b _080338B4 - .align 2, 0 -_080337A4: .4byte 0x00000564 -_080337A8: - cmp r0, 0x25 - beq _080337C4 - cmp r0, 0x26 - beq _080337CC - b _080338B4 -_080337B2: - ldr r0, _080337B8 - b _0803388E - .align 2, 0 -_080337B8: .4byte gUnknown_80E3690 -_080337BC: - ldr r0, _080337C0 - b _0803388E - .align 2, 0 -_080337C0: .4byte gUnknown_80E3818 -_080337C4: - ldr r0, _080337C8 - b _0803388E - .align 2, 0 -_080337C8: .4byte gUnknown_80E3998 -_080337CC: - ldr r0, _080337D0 - b _0803388E - .align 2, 0 -_080337D0: .4byte gUnknown_80E3B1C -_080337D4: - ldr r0, _080337E4 - ldr r1, [r6] - ldr r2, _080337E8 - adds r1, r2 - ldr r2, [r1] - ldr r3, _080337EC - b _08033858 - .align 2, 0 -_080337E4: .4byte gUnknown_80E367C -_080337E8: .4byte 0x00000564 -_080337EC: .4byte gUnknown_80E2554 -_080337F0: - ldr r0, [r6] - ldr r3, _08033808 - adds r0, r3 - ldr r0, [r0] - subs r0, 0x1E - cmp r0, 0x4 - bhi _080338B4 - lsls r0, 2 - ldr r1, _0803380C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08033808: .4byte 0x00000564 -_0803380C: .4byte _08033810 - .align 2, 0 -_08033810: - .4byte _08033824 - .4byte _0803382C - .4byte _0803383C - .4byte _08033834 - .4byte _08033844 -_08033824: - ldr r0, _08033828 - b _0803388E - .align 2, 0 -_08033828: .4byte gUnknown_80E3BF8 -_0803382C: - ldr r0, _08033830 - b _0803388E - .align 2, 0 -_08033830: .4byte gUnknown_80E3DE4 -_08033834: - ldr r0, _08033838 - b _0803388E - .align 2, 0 -_08033838: .4byte gUnknown_80E3E98 -_0803383C: - ldr r0, _08033840 - b _0803388E - .align 2, 0 -_08033840: .4byte gUnknown_80E4014 -_08033844: - ldr r0, _08033848 - b _0803388E - .align 2, 0 -_08033848: .4byte gUnknown_80E4130 -_0803384C: - ldr r0, _08033870 - ldr r1, [r6] - ldr r4, _08033874 - adds r1, r4 - ldr r2, [r1] - ldr r3, _08033878 -_08033858: - movs r4, 0 - str r4, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] -_08033864: - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - bl sub_8014248 - b _080338B4 - .align 2, 0 -_08033870: .4byte gUnknown_80E367C -_08033874: .4byte 0x00000564 -_08033878: .4byte gUnknown_80E24F8 -_0803387C: - ldr r0, [r6] - ldr r5, _0803389C - adds r0, r5 - ldr r0, [r0] - cmp r0, 0x1A - beq _080338A8 - cmp r0, 0x1D - bne _080338B4 - ldr r0, _080338A0 -_0803388E: - ldr r3, _080338A4 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _080338B4 - .align 2, 0 -_0803389C: .4byte 0x00000564 -_080338A0: .4byte gUnknown_80E41DC -_080338A4: .4byte 0x00000101 -_080338A8: - ldr r0, _080338BC - ldr r3, _080338C0 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 -_080338B4: - add sp, 0x68 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080338BC: .4byte gUnknown_80E4314 -_080338C0: .4byte 0x00000101 - thumb_func_end sub_8032828 - - thumb_func_start sub_80338C4 -sub_80338C4: - push {lr} - ldr r1, _080338D8 - ldr r1, [r1] - str r0, [r1] - bl nullsub_40 - bl sub_8032828 - pop {r0} - bx r0 - .align 2, 0 -_080338D8: .4byte gUnknown_203B33C - thumb_func_end sub_80338C4 - - thumb_func_start sub_80338DC -sub_80338DC: - push {lr} - cmp r0, 0x10 - bls _080338E4 - b _080339BC -_080338E4: - lsls r0, 2 - ldr r1, _080338F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080338F0: .4byte _080338F4 - .align 2, 0 -_080338F4: - .4byte _080339BC - .4byte _08033998 - .4byte _08033940 - .4byte _08033938 - .4byte _08033948 - .4byte _08033998 - .4byte _08033950 - .4byte _08033958 - .4byte _08033960 - .4byte _08033968 - .4byte _08033970 - .4byte _08033978 - .4byte _08033980 - .4byte _08033990 - .4byte _08033998 - .4byte _080339B0 - .4byte _08033988 -_08033938: - ldr r0, _0803393C - b _0803399A - .align 2, 0 -_0803393C: .4byte gUnknown_80E44A4 -_08033940: - ldr r0, _08033944 - b _0803399A - .align 2, 0 -_08033944: .4byte gUnknown_80E4500 -_08033948: - ldr r0, _0803394C - b _0803399A - .align 2, 0 -_0803394C: .4byte gUnknown_80E4550 -_08033950: - ldr r0, _08033954 - b _0803399A - .align 2, 0 -_08033954: .4byte gUnknown_80E45B4 -_08033958: - ldr r0, _0803395C - b _0803399A - .align 2, 0 -_0803395C: .4byte gUnknown_80E460C -_08033960: - ldr r0, _08033964 - b _0803399A - .align 2, 0 -_08033964: .4byte gUnknown_80E4650 -_08033968: - ldr r0, _0803396C - b _0803399A - .align 2, 0 -_0803396C: .4byte gUnknown_80E468C -_08033970: - ldr r0, _08033974 - b _0803399A - .align 2, 0 -_08033974: .4byte gUnknown_80E46C8 -_08033978: - ldr r0, _0803397C - b _0803399A - .align 2, 0 -_0803397C: .4byte gUnknown_80E4704 -_08033980: - ldr r0, _08033984 - b _0803399A - .align 2, 0 -_08033984: .4byte gUnknown_80E4744 -_08033988: - ldr r0, _0803398C - b _0803399A - .align 2, 0 -_0803398C: .4byte gUnknown_80E4788 -_08033990: - ldr r0, _08033994 - b _0803399A - .align 2, 0 -_08033994: .4byte gUnknown_80E47D8 -_08033998: - ldr r0, _080339A8 -_0803399A: - ldr r3, _080339AC - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _080339BC - .align 2, 0 -_080339A8: .4byte gUnknown_80E4480 -_080339AC: .4byte 0x00000101 -_080339B0: - ldr r0, _080339C0 - ldr r3, _080339C4 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 -_080339BC: - pop {r0} - bx r0 - .align 2, 0 -_080339C0: .4byte gUnknown_80E482C -_080339C4: .4byte 0x00000101 - thumb_func_end sub_80338DC - - thumb_func_start sub_80339C8 -sub_80339C8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033A24 - ldr r0, _080339F4 - ldr r0, [r0] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - ldr r1, _080339F8 - strh r1, [r0] - ldr r0, [sp] - cmp r0, 0x1 - beq _08033A0E - cmp r0, 0x1 - bgt _080339FC - cmp r0, 0 - beq _08033A06 - b _08033A24 - .align 2, 0 -_080339F4: .4byte gUnknown_203B33C -_080339F8: .4byte 0x0000ffff -_080339FC: - cmp r0, 0x8 - beq _08033A1E - cmp r0, 0x17 - beq _08033A16 - b _08033A24 -_08033A06: - movs r0, 0x3 - bl sub_80338C4 - b _08033A24 -_08033A0E: - movs r0, 0x4 - bl sub_80338C4 - b _08033A24 -_08033A16: - movs r0, 0x78 - bl sub_80338C4 - b _08033A24 -_08033A1E: - movs r0, 0x2 - bl sub_80338C4 -_08033A24: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80339C8 - - thumb_func_start sub_8033A2C -sub_8033A2C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - beq _08033A3C - b _08033B86 -_08033A3C: - ldr r2, _08033A58 - ldr r1, [r2] - movs r0, 0x8 - str r0, [r1, 0x40] - ldr r0, [sp] - subs r0, 0x3 - cmp r0, 0x11 - bls _08033A4E - b _08033B86 -_08033A4E: - lsls r0, 2 - ldr r1, _08033A5C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08033A58: .4byte gUnknown_203B33C -_08033A5C: .4byte _08033A60 - .align 2, 0 -_08033A60: - .4byte _08033ACA - .4byte _08033AEC - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033B80 - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033AA8 - .4byte _08033B14 - .4byte _08033B3E - .4byte _08033B68 -_08033AA8: - ldr r0, [r2] - movs r1, 0x2 - str r1, [r0, 0x40] - movs r1, 0xA5 - lsls r1, 3 - adds r0, r1 - movs r1, 0x11 - str r1, [r0] - movs r0, 0x1 - bl sub_8095324 - cmp r0, 0 - beq _08033B0C - movs r0, 0x31 - bl sub_80338C4 - b _08033B86 -_08033ACA: - ldr r0, [r2] - movs r1, 0x3 - str r1, [r0, 0x40] - movs r2, 0xA5 - lsls r2, 3 - adds r0, r2 - str r1, [r0] - bl sub_8095190 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _08033B36 - movs r0, 0xF - bl sub_80338C4 - b _08033B86 -_08033AEC: - ldr r0, [r2] - movs r1, 0x4 - str r1, [r0, 0x40] - movs r2, 0xA5 - lsls r2, 3 - adds r0, r2 - str r1, [r0] - movs r0, 0x4 - bl sub_8095324 - cmp r0, 0 - beq _08033B0C - movs r0, 0x1C - bl sub_80338C4 - b _08033B86 -_08033B0C: - movs r0, 0x22 - bl sub_80338C4 - b _08033B86 -_08033B14: - ldr r0, [r2] - movs r1, 0x5 - str r1, [r0, 0x40] - movs r1, 0xA5 - lsls r1, 3 - adds r0, r1 - movs r1, 0x12 - str r1, [r0] - movs r0, 0x5 - bl sub_8095324 - cmp r0, 0 - beq _08033B36 - movs r0, 0x3D - bl sub_80338C4 - b _08033B86 -_08033B36: - movs r0, 0xE - bl sub_80338C4 - b _08033B86 -_08033B3E: - ldr r0, [r2] - movs r1, 0x6 - str r1, [r0, 0x40] - movs r2, 0xA5 - lsls r2, 3 - adds r0, r2 - movs r1, 0x13 - str r1, [r0] - movs r0, 0x5 - bl sub_8095324 - cmp r0, 0 - bne _08033B60 - movs r0, 0x51 - bl sub_80338C4 - b _08033B86 -_08033B60: - movs r0, 0x5B - bl sub_80338C4 - b _08033B86 -_08033B68: - ldr r0, [r2] - movs r1, 0x7 - str r1, [r0, 0x40] - movs r1, 0xA5 - lsls r1, 3 - adds r0, r1 - movs r1, 0x14 - str r1, [r0] - movs r0, 0x52 - bl sub_80338C4 - b _08033B86 -_08033B80: - movs r0, 0x1 - bl sub_80338C4 -_08033B86: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8033A2C - - thumb_func_start sub_8033B8C -sub_8033B8C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033C4C - ldr r2, [sp] - cmp r2, 0xC - bgt _08033BAA - cmp r2, 0xB - bge _08033BB0 - cmp r2, 0x8 - beq _08033C46 - b _08033C4C -_08033BAA: - cmp r2, 0xD - beq _08033BF4 - b _08033C4C -_08033BB0: - ldr r0, _08033BD4 - ldr r0, [r0] - ldr r1, _08033BD8 - adds r2, r0, r1 - movs r1, 0xB - str r1, [r2] - movs r3, 0xA5 - lsls r3, 3 - adds r0, r3 - ldr r0, [r0] - cmp r0, 0x4 - beq _08033BEC - cmp r0, 0x4 - bhi _08033BDC - cmp r0, 0x3 - beq _08033BE4 - b _08033C4C - .align 2, 0 -_08033BD4: .4byte gUnknown_203B33C -_08033BD8: .4byte 0x00000524 -_08033BDC: - cmp r0, 0x12 - bhi _08033C4C - cmp r0, 0x11 - bcc _08033C4C -_08033BE4: - movs r0, 0x5 - bl sub_80338C4 - b _08033C4C -_08033BEC: - movs r0, 0x23 - bl sub_80338C4 - b _08033C4C -_08033BF4: - ldr r0, _08033C14 - ldr r0, [r0] - ldr r3, _08033C18 - adds r1, r0, r3 - str r2, [r1] - movs r1, 0xA5 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x4 - beq _08033C3E - cmp r0, 0x4 - bhi _08033C1C - cmp r0, 0x3 - beq _08033C26 - b _08033C4C - .align 2, 0 -_08033C14: .4byte gUnknown_203B33C -_08033C18: .4byte 0x00000524 -_08033C1C: - cmp r0, 0x11 - beq _08033C2E - cmp r0, 0x12 - beq _08033C36 - b _08033C4C -_08033C26: - movs r0, 0x19 - bl sub_80338C4 - b _08033C4C -_08033C2E: - movs r0, 0x39 - bl sub_80338C4 - b _08033C4C -_08033C36: - movs r0, 0x43 - bl sub_80338C4 - b _08033C4C -_08033C3E: - movs r0, 0x2D - bl sub_80338C4 - b _08033C4C -_08033C46: - movs r0, 0x1 - bl sub_80338C4 -_08033C4C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8033B8C - - thumb_func_start sub_8033C54 -sub_8033C54: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033CA2 - ldr r0, [sp] - cmp r0, 0x6 - beq _08033C6E - cmp r0, 0x8 - beq _08033C9C - b _08033CA2 -_08033C6E: - ldr r0, _08033C88 - ldr r0, [r0] - movs r1, 0xA5 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x4 - beq _08033C94 - cmp r0, 0x4 - bhi _08033C8C - cmp r0, 0x3 - beq _08033C94 - b _08033CA2 - .align 2, 0 -_08033C88: .4byte gUnknown_203B33C -_08033C8C: - cmp r0, 0x11 - beq _08033C94 - cmp r0, 0x12 - bne _08033CA2 -_08033C94: - movs r0, 0xD - bl sub_80338C4 - b _08033CA2 -_08033C9C: - movs r0, 0x1 - bl sub_80338C4 -_08033CA2: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8033C54 - - thumb_func_start nullsub_41 -nullsub_41: - bx lr - thumb_func_end nullsub_41 - - thumb_func_start sub_8033CAC -sub_8033CAC: - push {r4,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033D40 - ldr r4, _08033CDC - ldr r1, [r4] - ldr r0, [r1, 0x44] - cmp r0, 0 - bne _08033D36 - movs r2, 0xA5 - lsls r2, 3 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0x4 - beq _08033D2E - cmp r0, 0x4 - bhi _08033CE0 - cmp r0, 0x3 - beq _08033CEA - b _08033D40 - .align 2, 0 -_08033CDC: .4byte gUnknown_203B33C -_08033CE0: - cmp r0, 0x11 - beq _08033CF2 - cmp r0, 0x12 - beq _08033CFA - b _08033D40 -_08033CEA: - movs r0, 0x16 - bl sub_80338C4 - b _08033D40 -_08033CF2: - movs r0, 0x37 - bl sub_80338C4 - b _08033D40 -_08033CFA: - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - beq _08033D12 - ldr r0, [r4] - movs r1, 0xB4 - lsls r1, 1 - adds r0, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - b _08033D1A -_08033D12: - ldr r0, [r4] - adds r0, 0xE0 - movs r1, 0 - ldrsh r0, [r0, r1] -_08033D1A: - cmp r0, 0 - beq _08033D26 - movs r0, 0x3F - bl sub_80338C4 - b _08033D40 -_08033D26: - movs r0, 0x40 - bl sub_80338C4 - b _08033D40 -_08033D2E: - movs r0, 0x2B - bl sub_80338C4 - b _08033D40 -_08033D36: - bl sub_80338DC - movs r0, 0x8 - bl sub_80338C4 -_08033D40: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8033CAC - - thumb_func_start sub_8033D48 -sub_8033D48: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033D5C - movs r0, 0x1 - bl sub_80338C4 -_08033D5C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8033D48 - - thumb_func_start nullsub_42 -nullsub_42: - bx lr - thumb_func_end nullsub_42 - - thumb_func_start nullsub_43 -nullsub_43: - bx lr - thumb_func_end nullsub_43 - - thumb_func_start nullsub_44 -nullsub_44: - bx lr - thumb_func_end nullsub_44 - - thumb_func_start nullsub_45 -nullsub_45: - bx lr - thumb_func_end nullsub_45 - - thumb_func_start sub_8033D74 -sub_8033D74: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033D8E - movs r0, 0x17 - bl sub_80338C4 - movs r0, 0 - bl sub_8012574 -_08033D8E: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8033D74 - - thumb_func_start sub_8033D94 -sub_8033D94: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033DB6 - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08033DB6 - bl sub_8012750 - movs r0, 0x18 - bl sub_80338C4 -_08033DB6: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8033D94 - - thumb_func_start sub_8033DBC -sub_8033DBC: - push {r4,lr} - sub sp, 0x44 - bl sub_80154F0 - adds r4, r0, 0 - add r0, sp, 0x14 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - cmp r4, 0x2 - bne _08033DD6 - b _08033F38 -_08033DD6: - cmp r4, 0x3 - beq _08033DDC - b _08033F58 -_08033DDC: - ldr r2, _08033DF4 - ldr r1, _08033DF8 - ldr r0, [r1] - movs r3, 0xA5 - lsls r3, 3 - adds r0, r3 - ldr r0, [r0] - cmp r0, 0x3 - beq _08033DFC - cmp r0, 0x12 - beq _08033E00 - b _08033E02 - .align 2, 0 -_08033DF4: .4byte 0x0000ffdc -_08033DF8: .4byte gUnknown_203B33C -_08033DFC: - movs r2, 0x1C - b _08033E02 -_08033E00: - movs r2, 0x1E -_08033E02: - ldr r1, [r1] - adds r1, 0x8 - adds r0, r2, 0 - add r2, sp, 0x14 - bl sub_8039068 - subs r0, 0x7 - cmp r0, 0x11 - bls _08033E16 - b _08033F2E -_08033E16: - lsls r0, 2 - ldr r1, _08033E20 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08033E20: .4byte _08033E24 - .align 2, 0 -_08033E24: - .4byte _08033EA0 - .4byte _08033F2E - .4byte _08033EE0 - .4byte _08033F2E - .4byte _08033F2E - .4byte _08033F2E - .4byte _08033F2E - .4byte _08033F2E - .4byte _08033F2E - .4byte _08033F2E - .4byte _08033E6C - .4byte _08033E98 - .4byte _08033ED8 - .4byte _08033F2E - .4byte _08033F2E - .4byte _08033EA8 - .4byte _08033EFC - .4byte _08033F2E -_08033E6C: - ldr r0, _08033E90 - ldr r3, _08033E94 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x6 - bl sub_8014248 - movs r0, 0x1B - bl sub_80338C4 - b _08033F2E - .align 2, 0 -_08033E90: .4byte gUnknown_80E48A8 -_08033E94: .4byte gUnknown_80E2290 -_08033E98: - ldr r0, _08033E9C - b _08033EE2 - .align 2, 0 -_08033E9C: .4byte gUnknown_80E48E8 -_08033EA0: - ldr r0, _08033EA4 - b _08033EE2 - .align 2, 0 -_08033EA4: .4byte gUnknown_80E460C -_08033EA8: - ldr r0, [sp, 0x24] - bl sub_8095274 - add r1, sp, 0x14 - movs r0, 0x2 - strb r0, [r1] - adds r0, r1, 0 - bl sub_80951BC - ldr r0, _08033ED0 - ldr r3, _08033ED4 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - movs r0, 0x16 - bl sub_80338C4 - b _08033F2E - .align 2, 0 -_08033ED0: .4byte gUnknown_80E4928 -_08033ED4: .4byte 0x00000101 -_08033ED8: - ldr r0, _08033EDC - b _08033EE2 - .align 2, 0 -_08033EDC: .4byte gUnknown_80E4964 -_08033EE0: - ldr r0, _08033EF4 -_08033EE2: - ldr r3, _08033EF8 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - movs r0, 0x8 - bl sub_80338C4 - b _08033F2E - .align 2, 0 -_08033EF4: .4byte gUnknown_80E499C -_08033EF8: .4byte 0x00000101 -_08033EFC: - add r1, sp, 0x14 - movs r0, 0x5 - strb r0, [r1] - adds r0, r1, 0 - bl sub_80951FC - ldr r1, [sp, 0x24] - movs r0, 0x1 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - movs r1, 0x7 - strb r1, [r0] - ldr r0, _08033F34 - ldr r0, [r0] - movs r1, 0 - movs r2, 0x5C - bl MemoryFill8 - movs r0, 0x40 - bl sub_80338C4 -_08033F2E: - bl sub_80155F0 - b _08033F58 - .align 2, 0 -_08033F34: .4byte gUnknown_203B484 -_08033F38: - bl sub_80155F0 - bl sub_8004914 - ldr r0, _08033F60 - ldr r0, [r0] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - bl sub_80338C4 -_08033F58: - add sp, 0x44 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08033F60: .4byte gUnknown_203B33C - thumb_func_end sub_8033DBC - - thumb_func_start sub_8033F64 -sub_8033F64: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033FAE - ldr r0, [sp] - cmp r0, 0x6 - beq _08033F7E - cmp r0, 0x8 - beq _08033FA8 - b _08033FAE -_08033F7E: - ldr r0, _08033F94 - ldr r0, [r0] - movs r1, 0xA5 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x3 - beq _08033F98 - cmp r0, 0x12 - beq _08033FA0 - b _08033FAE - .align 2, 0 -_08033F94: .4byte gUnknown_203B33C -_08033F98: - movs r0, 0x19 - bl sub_80338C4 - b _08033FAE -_08033FA0: - movs r0, 0x43 - bl sub_80338C4 - b _08033FAE -_08033FA8: - movs r0, 0x1 - bl sub_80338C4 -_08033FAE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8033F64 - - thumb_func_start sub_8033FB4 -sub_8033FB4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033FDE - ldr r0, [sp] - cmp r0, 0x6 - bne _08033FD0 - movs r0, 0xE - bl sub_80338C4 - b _08033FDE -_08033FD0: - cmp r0, 0x6 - blt _08033FDE - cmp r0, 0x8 - bgt _08033FDE - movs r0, 0x1 - bl sub_80338C4 -_08033FDE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8033FB4 - - thumb_func_start sub_8033FE4 -sub_8033FE4: - push {r4,r5,lr} - movs r0, 0x1 - bl sub_8030768 - cmp r0, 0x3 - beq _0803400C - cmp r0, 0x3 - bhi _08033FFA - cmp r0, 0x2 - beq _08034000 - b _0803406A -_08033FFA: - cmp r0, 0x4 - beq _08034028 - b _0803406A -_08034000: - bl sub_803084C - movs r0, 0x1 - bl sub_80338C4 - b _0803406A -_0803400C: - bl sub_80307EC - ldr r1, _08034024 - ldr r1, [r1] - movs r2, 0x86 - lsls r2, 2 - adds r1, r2 - strb r0, [r1] - movs r0, 0x1E - bl sub_80338C4 - b _0803406A - .align 2, 0 -_08034024: .4byte gUnknown_203B33C -_08034028: - ldr r4, _08034070 - ldr r1, [r4] - movs r0, 0x1D - str r0, [r1, 0x4] - bl sub_80307EC - ldr r1, [r4] - movs r5, 0x86 - lsls r5, 2 - adds r1, r5 - strb r0, [r1] - ldr r0, [r4] - 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, [r4] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x1F - bl sub_80338C4 -_0803406A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08034070: .4byte gUnknown_203B33C - thumb_func_end sub_8033FE4 - - thumb_func_start sub_8034074 -sub_8034074: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_8030768 - ldr r4, _080340B8 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _080340A6 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_080340A6: - ldr r0, [sp] - cmp r0, 0x8 - beq _08034108 - cmp r0, 0x8 - bgt _080340BC - cmp r0, 0x5 - beq _08034108 - b _08034124 - .align 2, 0 -_080340B8: .4byte gUnknown_203B33C -_080340BC: - cmp r0, 0x9 - beq _080340C6 - cmp r0, 0xA - beq _080340D2 - b _08034124 -_080340C6: - bl sub_803084C - movs r0, 0x20 - bl sub_80338C4 - b _08034124 -_080340D2: - ldr r0, [r4] - movs r1, 0x7E - str r1, [r0, 0x4] - 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, [r4] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x1F - bl sub_80338C4 - b _08034124 -_08034108: - ldr r0, _0803412C - ldr r0, [r0] - movs r1, 0xD7 - lsls r1, 2 - adds r0, r1 - movs r1, 0x2 - bl sub_8035CC0 - movs r0, 0x1 - bl sub_8030810 - movs r0, 0x1D - bl sub_80338C4 -_08034124: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803412C: .4byte gUnknown_203B33C - thumb_func_end sub_8034074 - - thumb_func_start sub_8034130 -sub_8034130: - push {r4,lr} - bl sub_8030DA0 - cmp r0, 0x3 - bhi _08034184 - cmp r0, 0x2 - bcc _08034184 - bl sub_8030DE4 - bl sub_8004914 - ldr r4, _0803417C - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_803092C - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0x7E - bne _08034180 - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, r1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x1E - bl sub_80338C4 - b _08034184 - .align 2, 0 -_0803417C: .4byte gUnknown_203B33C -_08034180: - bl sub_80338C4 -_08034184: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8034130 - - thumb_func_start sub_803418C -sub_803418C: - push {r4,r5,lr} - movs r0, 0x1 - bl sub_8023A94 - cmp r0, 0x3 - beq _080341D0 - cmp r0, 0x3 - bhi _080341A2 - cmp r0, 0x2 - beq _080341A8 - b _08034248 -_080341A2: - cmp r0, 0x4 - beq _08034204 - b _08034248 -_080341A8: - bl sub_8023C60 - movs r0, 0x1 - bl sub_80338C4 - bl sub_8035D1C - ldr r0, _080341C8 - ldr r0, [r0] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - ldr r1, _080341CC - strh r1, [r0] - b _08034248 - .align 2, 0 -_080341C8: .4byte gUnknown_203B33C -_080341CC: .4byte 0x0000ffff -_080341D0: - bl sub_8023B44 - ldr r1, _080341F4 - ldr r1, [r1] - movs r3, 0xA7 - lsls r3, 3 - adds r2, r1, r3 - strh r0, [r2] - ldr r0, _080341F8 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0xE - bne _080341FC - movs r0, 0x9 - bl sub_80338C4 - b _08034248 - .align 2, 0 -_080341F4: .4byte gUnknown_203B33C -_080341F8: .4byte 0x00000524 -_080341FC: - movs r0, 0x27 - bl sub_80338C4 - b _08034248 -_08034204: - ldr r4, _08034250 - ldr r1, [r4] - movs r0, 0x26 - str r0, [r1, 0x4] - bl sub_8023B44 - adds r2, r0, 0 - ldr r0, [r4] - movs r5, 0xA7 - lsls r5, 3 - adds r1, r0, r5 - strh r2, [r1] - 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, [r4] - adds r0, r5 - movs r3, 0 - ldrsh r0, [r0, r3] - movs r1, 0 - bl sub_8024458 - movs r0, 0x28 - bl sub_80338C4 -_08034248: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08034250: .4byte gUnknown_203B33C - thumb_func_end sub_803418C - - thumb_func_start sub_8034254 -sub_8034254: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_8023A94 - ldr r4, _08034298 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08034286 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_08034286: - ldr r0, [sp] - cmp r0, 0x8 - beq _080342EA - cmp r0, 0x8 - bgt _0803429C - cmp r0, 0x5 - beq _080342EA - b _08034304 - .align 2, 0 -_08034298: .4byte gUnknown_203B33C -_0803429C: - cmp r0, 0x9 - beq _080342A6 - cmp r0, 0xA - beq _080342B2 - b _08034304 -_080342A6: - bl sub_8023C60 - movs r0, 0x29 - bl sub_80338C4 - b _08034304 -_080342B2: - ldr r0, [r4] - movs r1, 0x7E - str r1, [r0, 0x4] - 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, [r4] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0 - bl sub_8024458 - movs r0, 0x28 - bl sub_80338C4 - b _08034304 -_080342EA: - ldr r0, _0803430C - ldr r0, [r0] - movs r1, 0xD7 - lsls r1, 2 - adds r0, r1 - movs r1, 0x3 - bl sub_8035CC0 - bl sub_8023DA4 - movs r0, 0x26 - bl sub_80338C4 -_08034304: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803430C: .4byte gUnknown_203B33C - thumb_func_end sub_8034254 - - thumb_func_start sub_8034310 -sub_8034310: - push {r4,lr} - bl sub_80244E4 - cmp r0, 0x1 - bne _08034320 - bl sub_802452C - b _08034370 -_08034320: - cmp r0, 0x1 - bcc _08034370 - cmp r0, 0x3 - bhi _08034370 - bl sub_802453C - bl sub_8004914 - ldr r4, _08034368 - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - bl sub_8023B7C - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0x7E - bne _0803436C - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, r1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x27 - bl sub_80338C4 - b _08034370 - .align 2, 0 -_08034368: .4byte gUnknown_203B33C -_0803436C: - bl sub_80338C4 -_08034370: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8034310 - - thumb_func_start sub_8034378 -sub_8034378: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080343BE - ldr r0, [sp] - cmp r0, 0x8 - beq _080343B8 - cmp r0, 0x10 - bne _080343BE - ldr r0, _080343A8 - ldr r0, [r0] - ldr r1, _080343AC - adds r0, r1 - ldr r0, [r0] - cmp r0, 0xE - bne _080343B0 - movs r0, 0x9 - bl sub_80338C4 - b _080343BE - .align 2, 0 -_080343A8: .4byte gUnknown_203B33C -_080343AC: .4byte 0x00000524 -_080343B0: - movs r0, 0x5 - bl sub_80338C4 - b _080343BE -_080343B8: - movs r0, 0x1 - bl sub_80338C4 -_080343BE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034378 - - thumb_func_start sub_80343C4 -sub_80343C4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080343FE - ldr r0, [sp] - cmp r0, 0x7 - beq _080343F0 - cmp r0, 0x7 - bgt _080343E2 - cmp r0, 0x6 - beq _080343E8 - b _080343FE -_080343E2: - cmp r0, 0x8 - beq _080343F8 - b _080343FE -_080343E8: - movs r0, 0x5 - bl sub_80338C4 - b _080343FE -_080343F0: - movs r0, 0x25 - bl sub_80338C4 - b _080343FE -_080343F8: - movs r0, 0x1 - bl sub_80338C4 -_080343FE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80343C4 - - thumb_func_start sub_8034404 -sub_8034404: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034472 - ldr r0, [sp] - cmp r0, 0xF - beq _08034428 - cmp r0, 0xF - bgt _08034422 - cmp r0, 0x8 - beq _0803446C - b _08034472 -_08034422: - cmp r0, 0x10 - beq _08034444 - b _08034472 -_08034428: - movs r0, 0x3 - bl sub_8024108 - lsls r0, 24 - cmp r0, 0 - beq _0803443C - movs r0, 0x24 - bl sub_80338C4 - b _08034472 -_0803443C: - movs r0, 0x25 - bl sub_80338C4 - b _08034472 -_08034444: - ldr r0, _0803445C - ldr r0, [r0] - ldr r1, _08034460 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0xE - bne _08034464 - movs r0, 0x9 - bl sub_80338C4 - b _08034472 - .align 2, 0 -_0803445C: .4byte gUnknown_203B33C -_08034460: .4byte 0x00000524 -_08034464: - movs r0, 0x5 - bl sub_80338C4 - b _08034472 -_0803446C: - movs r0, 0x1 - bl sub_80338C4 -_08034472: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034404 - - thumb_func_start sub_8034478 -sub_8034478: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803449A - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _0803449A - bl sub_8012750 - movs r0, 0x2 - bl sub_80338C4 -_0803449A: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034478 - - thumb_func_start sub_80344A0 -sub_80344A0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080344BA - movs r0, 0x2C - bl sub_80338C4 - movs r0, 0 - bl sub_8012574 -_080344BA: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80344A0 - - thumb_func_start sub_80344C0 -sub_80344C0: - push {lr} - bl sub_8031DCC - cmp r0, 0x1 - beq _080344F8 - cmp r0, 0x1 - bcc _080344FC - cmp r0, 0x3 - bhi _080344FC - bl sub_8031E10 - bl sub_8004914 - ldr r0, _080344F4 - ldr r0, [r0] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x2F - bl sub_80338C4 - b _080344FC - .align 2, 0 -_080344F4: .4byte gUnknown_203B33C -_080344F8: - bl sub_8031E00 -_080344FC: - pop {r0} - bx r0 - thumb_func_end sub_80344C0 - - thumb_func_start sub_8034500 -sub_8034500: - push {r4,r5,lr} - movs r0, 0x1 - bl sub_8030768 - cmp r0, 0x3 - beq _08034528 - cmp r0, 0x3 - bhi _08034516 - cmp r0, 0x2 - beq _0803451C - b _08034586 -_08034516: - cmp r0, 0x4 - beq _08034544 - b _08034586 -_0803451C: - bl sub_803084C - movs r0, 0x1 - bl sub_80338C4 - b _08034586 -_08034528: - bl sub_80307EC - ldr r1, _08034540 - ldr r1, [r1] - movs r2, 0x86 - lsls r2, 2 - adds r1, r2 - strb r0, [r1] - movs r0, 0x33 - bl sub_80338C4 - b _08034586 - .align 2, 0 -_08034540: .4byte gUnknown_203B33C -_08034544: - ldr r4, _0803458C - ldr r1, [r4] - movs r0, 0x32 - str r0, [r1, 0x4] - bl sub_80307EC - ldr r1, [r4] - movs r5, 0x86 - lsls r5, 2 - adds r1, r5 - strb r0, [r1] - ldr r0, [r4] - 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, [r4] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x34 - bl sub_80338C4 -_08034586: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803458C: .4byte gUnknown_203B33C - thumb_func_end sub_8034500 - - thumb_func_start sub_8034590 -sub_8034590: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_8030768 - ldr r4, _080345D4 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _080345C2 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_080345C2: - ldr r0, [sp] - cmp r0, 0x8 - beq _08034624 - cmp r0, 0x8 - bgt _080345D8 - cmp r0, 0x5 - beq _08034624 - b _08034640 - .align 2, 0 -_080345D4: .4byte gUnknown_203B33C -_080345D8: - cmp r0, 0x9 - beq _080345E2 - cmp r0, 0xA - beq _080345EE - b _08034640 -_080345E2: - bl sub_803084C - movs r0, 0x35 - bl sub_80338C4 - b _08034640 -_080345EE: - ldr r0, [r4] - movs r1, 0x7E - str r1, [r0, 0x4] - 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, [r4] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x34 - bl sub_80338C4 - b _08034640 -_08034624: - ldr r0, _08034648 - ldr r0, [r0] - movs r1, 0xD7 - lsls r1, 2 - adds r0, r1 - movs r1, 0x2 - bl sub_8035CC0 - movs r0, 0x1 - bl sub_8030810 - movs r0, 0x32 - bl sub_80338C4 -_08034640: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08034648: .4byte gUnknown_203B33C - thumb_func_end sub_8034590 - - thumb_func_start sub_803464C -sub_803464C: - push {r4,lr} - bl sub_8030DA0 - cmp r0, 0x3 - bhi _080346A0 - cmp r0, 0x2 - bcc _080346A0 - bl sub_8030DE4 - bl sub_8004914 - ldr r4, _08034698 - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_803092C - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0x7E - bne _0803469C - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, r1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x33 - bl sub_80338C4 - b _080346A0 - .align 2, 0 -_08034698: .4byte gUnknown_203B33C -_0803469C: - bl sub_80338C4 -_080346A0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_803464C - - thumb_func_start sub_80346A8 -sub_80346A8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080346D2 - ldr r0, [sp] - cmp r0, 0x6 - bne _080346C4 - movs r0, 0xE - bl sub_80338C4 - b _080346D2 -_080346C4: - cmp r0, 0x6 - blt _080346D2 - cmp r0, 0x8 - bgt _080346D2 - movs r0, 0x1 - bl sub_80338C4 -_080346D2: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80346A8 - - thumb_func_start sub_80346D8 -sub_80346D8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080346FA - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _080346FA - bl sub_8012750 - movs r0, 0x2 - bl sub_80338C4 -_080346FA: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80346D8 - - thumb_func_start sub_8034700 -sub_8034700: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803471A - movs r0, 0x38 - bl sub_80338C4 - movs r0, 0 - bl sub_8012574 -_0803471A: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034700 - - thumb_func_start sub_8034720 -sub_8034720: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034734 - movs r0, 0x3A - bl sub_80338C4 -_08034734: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034720 - - thumb_func_start sub_803473C -sub_803473C: - push {lr} - bl sub_8031DCC - cmp r0, 0x1 - beq _08034774 - cmp r0, 0x1 - bcc _08034778 - cmp r0, 0x3 - bhi _08034778 - bl sub_8031E10 - bl sub_8004914 - ldr r0, _08034770 - ldr r0, [r0] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x3B - bl sub_80338C4 - b _08034778 - .align 2, 0 -_08034770: .4byte gUnknown_203B33C -_08034774: - bl sub_8031E00 -_08034778: - pop {r0} - bx r0 - thumb_func_end sub_803473C - - thumb_func_start sub_803477C -sub_803477C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080347A6 - ldr r0, [sp] - cmp r0, 0x6 - bne _08034798 - movs r0, 0xE - bl sub_80338C4 - b _080347A6 -_08034798: - cmp r0, 0x6 - blt _080347A6 - cmp r0, 0x8 - bgt _080347A6 - movs r0, 0x1 - bl sub_80338C4 -_080347A6: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_803477C - - thumb_func_start sub_80347AC -sub_80347AC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080347C0 - movs r0, 0xD - bl sub_80338C4 -_080347C0: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80347AC - - thumb_func_start sub_80347C8 -sub_80347C8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080347DC - movs r0, 0x40 - bl sub_80338C4 -_080347DC: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80347C8 - - thumb_func_start sub_80347E4 -sub_80347E4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080347FE - movs r0, 0x41 - bl sub_80338C4 - movs r0, 0 - bl sub_8012574 -_080347FE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80347E4 - - thumb_func_start sub_8034804 -sub_8034804: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034826 - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08034826 - bl sub_8012750 - movs r0, 0x42 - bl sub_80338C4 -_08034826: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034804 - - thumb_func_start sub_803482C -sub_803482C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034840 - movs r0, 0x1 - bl sub_80338C4 -_08034840: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_803482C - - thumb_func_start sub_8034848 -sub_8034848: - push {r4-r6,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - adds r6, r0, 0 - cmp r6, 0 - bne _080348BA - ldr r4, _0803489C - ldr r0, [r4] - ldr r5, _080348A0 - adds r0, r5 - movs r1, 0 - movs r2, 0x4 - bl MemoryFill8 - ldr r0, [r4] - ldr r1, _080348A4 - adds r0, r1 - strb r6, [r0] - ldr r0, [r4] - subs r1, 0x1 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, r5 - strb r6, [r0] - ldr r4, [r4] - ldr r0, [r4, 0x44] - cmp r0, 0 - bne _080348B0 - ldr r4, [r4, 0x40] - cmp r4, 0x6 - beq _080348A8 - cmp r4, 0x7 - bne _080348BA - movs r0, 0x6D - bl sub_80338C4 - b _080348BA - .align 2, 0 -_0803489C: .4byte gUnknown_203B33C -_080348A0: .4byte 0x0000041c -_080348A4: .4byte 0x0000041e -_080348A8: - movs r0, 0x50 - bl sub_80338C4 - b _080348BA -_080348B0: - bl sub_80338DC - movs r0, 0x6B - bl sub_80338C4 -_080348BA: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8034848 - - thumb_func_start sub_80348C4 -sub_80348C4: - push {r4-r6,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - adds r6, r0, 0 - cmp r6, 0 - bne _08034968 - ldr r4, _08034910 - ldr r0, [r4] - ldr r5, _08034914 - adds r0, r5 - movs r1, 0 - movs r2, 0x4 - bl MemoryFill8 - ldr r0, [r4] - ldr r1, _08034918 - adds r0, r1 - strb r6, [r0] - ldr r0, [r4] - subs r1, 0x1 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, r5 - strb r6, [r0] - ldr r0, [r4] - ldr r1, [r0, 0x44] - cmp r1, 0 - bne _0803495C - ldr r1, [r0, 0x40] - cmp r1, 0x6 - beq _0803491C - cmp r1, 0x7 - beq _08034954 - b _08034968 - .align 2, 0 -_08034910: .4byte gUnknown_203B33C -_08034914: .4byte 0x0000041c -_08034918: .4byte 0x0000041e -_0803491C: - ldr r1, _08034930 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0xC - beq _08034944 - cmp r0, 0xC - bhi _08034934 - cmp r0, 0xB - beq _08034938 - b _08034944 - .align 2, 0 -_08034930: .4byte 0x00000524 -_08034934: - cmp r0, 0xE - bhi _08034944 -_08034938: - ldr r0, _0803494C - ldr r3, _08034950 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 -_08034944: - movs r0, 0x77 - bl sub_80338C4 - b _08034968 - .align 2, 0 -_0803494C: .4byte gUnknown_80E31FC -_08034950: .4byte 0x00000101 -_08034954: - movs r0, 0x6D - bl sub_80338C4 - b _08034968 -_0803495C: - adds r0, r1, 0 - bl sub_80338DC - movs r0, 0x6B - bl sub_80338C4 -_08034968: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80348C4 - - thumb_func_start sub_8034970 -sub_8034970: - push {lr} - bl sub_8031DCC - cmp r0, 0x1 - beq _080349A8 - cmp r0, 0x1 - bcc _080349AC - cmp r0, 0x3 - bhi _080349AC - bl sub_8031E10 - bl sub_8004914 - ldr r0, _080349A4 - ldr r0, [r0] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x68 - bl sub_80338C4 - b _080349AC - .align 2, 0 -_080349A4: .4byte gUnknown_203B33C -_080349A8: - bl sub_8031E00 -_080349AC: - pop {r0} - bx r0 - thumb_func_end sub_8034970 - - thumb_func_start sub_80349B0 -sub_80349B0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080349DA - ldr r0, [sp] - cmp r0, 0x6 - bne _080349CC - movs r0, 0x52 - bl sub_80338C4 - b _080349DA -_080349CC: - cmp r0, 0x6 - blt _080349DA - cmp r0, 0x8 - bgt _080349DA - movs r0, 0x1 - bl sub_80338C4 -_080349DA: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80349B0 - - thumb_func_start sub_80349E0 -sub_80349E0: - push {r4,r5,lr} - movs r0, 0x1 - bl sub_8030768 - cmp r0, 0x3 - beq _08034A08 - cmp r0, 0x3 - bhi _080349F6 - cmp r0, 0x2 - beq _080349FC - b _08034A66 -_080349F6: - cmp r0, 0x4 - beq _08034A24 - b _08034A66 -_080349FC: - bl sub_803084C - movs r0, 0x1 - bl sub_80338C4 - b _08034A66 -_08034A08: - bl sub_80307EC - ldr r1, _08034A20 - ldr r1, [r1] - movs r2, 0x86 - lsls r2, 2 - adds r1, r2 - strb r0, [r1] - movs r0, 0x5D - bl sub_80338C4 - b _08034A66 - .align 2, 0 -_08034A20: .4byte gUnknown_203B33C -_08034A24: - ldr r4, _08034A6C - ldr r1, [r4] - movs r0, 0x5C - str r0, [r1, 0x4] - bl sub_80307EC - ldr r1, [r4] - movs r5, 0x86 - lsls r5, 2 - adds r1, r5 - strb r0, [r1] - ldr r0, [r4] - 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, [r4] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x5E - bl sub_80338C4 -_08034A66: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08034A6C: .4byte gUnknown_203B33C - thumb_func_end sub_80349E0 - - thumb_func_start sub_8034A70 -sub_8034A70: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_8030768 - ldr r4, _08034AB4 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08034AA2 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_08034AA2: - ldr r0, [sp] - cmp r0, 0x8 - beq _08034B04 - cmp r0, 0x8 - bgt _08034AB8 - cmp r0, 0x5 - beq _08034B04 - b _08034B20 - .align 2, 0 -_08034AB4: .4byte gUnknown_203B33C -_08034AB8: - cmp r0, 0x9 - beq _08034AC2 - cmp r0, 0xA - beq _08034ACE - b _08034B20 -_08034AC2: - bl sub_803084C - movs r0, 0x5A - bl sub_80338C4 - b _08034B20 -_08034ACE: - ldr r0, [r4] - movs r1, 0x7E - str r1, [r0, 0x4] - 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, [r4] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x5E - bl sub_80338C4 - b _08034B20 -_08034B04: - ldr r0, _08034B28 - ldr r0, [r0] - movs r1, 0xD7 - lsls r1, 2 - adds r0, r1 - movs r1, 0x2 - bl sub_8035CC0 - movs r0, 0x1 - bl sub_8030810 - movs r0, 0x5C - bl sub_80338C4 -_08034B20: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08034B28: .4byte gUnknown_203B33C - thumb_func_end sub_8034A70 - - thumb_func_start sub_8034B2C -sub_8034B2C: - push {r4,lr} - bl sub_8030DA0 - cmp r0, 0x3 - bhi _08034B80 - cmp r0, 0x2 - bcc _08034B80 - bl sub_8030DE4 - bl sub_8004914 - ldr r4, _08034B78 - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_803092C - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0x7E - bne _08034B7C - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, r1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x5D - bl sub_80338C4 - b _08034B80 - .align 2, 0 -_08034B78: .4byte gUnknown_203B33C -_08034B7C: - bl sub_80338C4 -_08034B80: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8034B2C - - thumb_func_start sub_8034B88 -sub_8034B88: - push {r4-r6,lr} - ldr r4, _08034BBC - ldr r0, [r4] - ldr r5, _08034BC0 - adds r0, r5 - movs r2, 0 - strb r2, [r0] - ldr r0, [r4] - ldr r1, _08034BC4 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - ldr r6, _08034BC8 - adds r0, r6 - strb r2, [r0] - movs r0, 0x1 - bl sub_801CA08 - cmp r0, 0x3 - beq _08034BDE - cmp r0, 0x3 - bhi _08034BCC - cmp r0, 0x2 - beq _08034BD2 - b _08034C30 - .align 2, 0 -_08034BBC: .4byte gUnknown_203B33C -_08034BC0: .4byte 0x0000041e -_08034BC4: .4byte 0x0000041d -_08034BC8: .4byte 0x0000041c -_08034BCC: - cmp r0, 0x4 - beq _08034BF8 - b _08034C30 -_08034BD2: - bl sub_801CBB8 - movs r0, 0x1 - bl sub_80338C4 - b _08034C30 -_08034BDE: - bl sub_801CB24 - ldr r1, [r4] - ldr r2, _08034BF4 - adds r1, r2 - strb r0, [r1] - movs r0, 0x60 - bl sub_80338C4 - b _08034C30 - .align 2, 0 -_08034BF4: .4byte 0x0000041e -_08034BF8: - ldr r1, [r4] - movs r0, 0x5F - str r0, [r1, 0x4] - bl sub_801CB24 - ldr r1, [r4] - adds r1, r5 - strb r0, [r1] - ldr r0, [r4] - 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, [r4] - adds r0, r6 - bl sub_801B3C0 - movs r0, 0x61 - bl sub_80338C4 -_08034C30: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8034B88 - - thumb_func_start sub_8034C38 -sub_8034C38: - push {r4,lr} - bl sub_801B410 - cmp r0, 0x1 - beq _08034C90 - cmp r0, 0x1 - bcc _08034C90 - cmp r0, 0x3 - bhi _08034C90 - bl sub_801B450 - bl sub_8004914 - ldr r4, _08034C88 - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - bl sub_801CB5C - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0x7E - bne _08034C8C - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, r1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x60 - bl sub_80338C4 - b _08034C90 - .align 2, 0 -_08034C88: .4byte gUnknown_203B33C -_08034C8C: - bl sub_80338C4 -_08034C90: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8034C38 - - thumb_func_start sub_8034C98 -sub_8034C98: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_801CA08 - ldr r4, _08034CDC - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08034CCA - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_08034CCA: - ldr r0, [sp] - cmp r0, 0x8 - beq _08034D2C - cmp r0, 0x8 - bgt _08034CE0 - cmp r0, 0x5 - beq _08034D2C - b _08034D48 - .align 2, 0 -_08034CDC: .4byte gUnknown_203B33C -_08034CE0: - cmp r0, 0x9 - beq _08034CEA - cmp r0, 0xA - beq _08034CF6 - b _08034D48 -_08034CEA: - bl sub_801CBB8 - movs r0, 0x58 - bl sub_80338C4 - b _08034D48 -_08034CF6: - ldr r0, [r4] - movs r1, 0x7E - str r1, [r0, 0x4] - 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, [r4] - ldr r1, _08034D28 - adds r0, r1 - bl sub_801B3C0 - movs r0, 0x61 - bl sub_80338C4 - b _08034D48 - .align 2, 0 -_08034D28: .4byte 0x0000041c -_08034D2C: - ldr r0, _08034D50 - ldr r0, [r0] - movs r1, 0xD7 - lsls r1, 2 - adds r0, r1 - movs r1, 0x3 - bl sub_8035CC0 - movs r0, 0x1 - bl sub_801CB5C - movs r0, 0x5F - bl sub_80338C4 -_08034D48: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08034D50: .4byte gUnknown_203B33C - thumb_func_end sub_8034C98 - - thumb_func_start sub_8034D54 -sub_8034D54: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034D6E - movs r0, 0x65 - bl sub_80338C4 - movs r0, 0 - bl sub_8012574 -_08034D6E: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034D54 - - thumb_func_start sub_8034D74 -sub_8034D74: - push {r4,r5,lr} - sub sp, 0x44 - bl sub_80154F0 - adds r4, r0, 0 - add r0, sp, 0x14 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - cmp r4, 0x2 - bne _08034D8E - b _08034E9C -_08034D8E: - cmp r4, 0x3 - beq _08034D94 - b _08034EBC -_08034D94: - ldr r0, _08034DB4 - ldr r1, [r0] - adds r1, 0x8 - movs r0, 0x20 - add r2, sp, 0x14 - bl sub_8039068 - subs r0, 0x7 - cmp r0, 0x11 - bhi _08034E90 - lsls r0, 2 - ldr r1, _08034DB8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08034DB4: .4byte gUnknown_203B33C -_08034DB8: .4byte _08034DBC - .align 2, 0 -_08034DBC: - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E38 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E04 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E30 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E54 -_08034E04: - ldr r0, _08034E28 - ldr r3, _08034E2C - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x6 - bl sub_8014248 - movs r0, 0x74 - bl sub_80338C4 - b _08034E90 - .align 2, 0 -_08034E28: .4byte gUnknown_80E48A8 -_08034E2C: .4byte gUnknown_80E2440 -_08034E30: - ldr r0, _08034E34 - b _08034E3A - .align 2, 0 -_08034E34: .4byte gUnknown_80E49C4 -_08034E38: - ldr r0, _08034E4C -_08034E3A: - ldr r3, _08034E50 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - movs r0, 0x6B - bl sub_80338C4 - b _08034E90 - .align 2, 0 -_08034E4C: .4byte gUnknown_80E4704 -_08034E50: .4byte 0x00000101 -_08034E54: - ldr r1, [sp, 0x24] - movs r0, 0x4 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - adds r2, r0, 0 - add r1, sp, 0x14 - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - movs r1, 0x6 - strb r1, [r0] - ldr r0, _08034E98 - ldr r0, [r0] - movs r1, 0x84 - lsls r1, 3 - adds r0, r1 - ldr r1, [sp, 0x24] - str r1, [r0] - movs r0, 0x6D - bl sub_80338C4 -_08034E90: - bl sub_80155F0 - b _08034EBC - .align 2, 0 -_08034E98: .4byte gUnknown_203B33C -_08034E9C: - bl sub_80155F0 - bl sub_8004914 - ldr r0, _08034EC4 - ldr r0, [r0] - movs r3, 0xEF - lsls r3, 2 - adds r0, r3 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - bl sub_80338C4 -_08034EBC: - add sp, 0x44 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08034EC4: .4byte gUnknown_203B33C - thumb_func_end sub_8034D74 - - thumb_func_start sub_8034EC8 -sub_8034EC8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034EEA - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08034EEA - bl sub_8012750 - movs r0, 0x2 - bl sub_80338C4 -_08034EEA: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034EC8 - - thumb_func_start sub_8034EF0 -sub_8034EF0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034F12 - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08034F12 - bl sub_8012750 - movs r0, 0x2 - bl sub_80338C4 -_08034F12: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034EF0 - - thumb_func_start sub_8034F18 -sub_8034F18: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034F32 - movs r0, 0x65 - bl sub_80338C4 - movs r0, 0 - bl sub_8012574 -_08034F32: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034F18 - - thumb_func_start sub_8034F38 -sub_8034F38: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034F52 - movs r0, 0x71 - bl sub_80338C4 - movs r0, 0 - bl sub_8012574 -_08034F52: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034F38 - - thumb_func_start sub_8034F58 -sub_8034F58: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034F80 - ldr r0, [sp] - cmp r0, 0x6 - beq _08034F72 - cmp r0, 0x8 - beq _08034F7A - b _08034F80 -_08034F72: - movs r0, 0x62 - bl sub_80338C4 - b _08034F80 -_08034F7A: - movs r0, 0x1 - bl sub_80338C4 -_08034F80: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034F58 - - thumb_func_start sub_8034F88 -sub_8034F88: - push {r4,r5,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803500E - ldr r0, [sp] - cmp r0, 0x7 - beq _08035000 - cmp r0, 0x7 - bgt _08034FA6 - cmp r0, 0x6 - beq _08034FAC - b _0803500E -_08034FA6: - cmp r0, 0x8 - beq _08035008 - b _0803500E -_08034FAC: - ldr r4, _08034FF0 - ldr r0, [r4] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - bl sub_8095228 - adds r2, r0, 0 - ldr r1, [r4] - ldr r3, _08034FF4 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - beq _08034FD2 - ldr r5, _08034FF8 - adds r0, r1, r5 - ldr r0, [r0] - str r0, [r2, 0x20] -_08034FD2: - ldr r0, _08034FFC - ldr r1, [r0] - ldr r0, [r4] - adds r0, r3 - ldrb r0, [r0] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - movs r0, 0x75 - bl sub_80338C4 - b _0803500E - .align 2, 0 -_08034FF0: .4byte gUnknown_203B33C -_08034FF4: .4byte 0x0000041e -_08034FF8: .4byte 0x0000041c -_08034FFC: .4byte gUnknown_203B460 -_08035000: - movs r0, 0x57 - bl sub_80338C4 - b _0803500E -_08035008: - movs r0, 0x1 - bl sub_80338C4 -_0803500E: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8034F88 - - thumb_func_start sub_8035018 -sub_8035018: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08035032 - movs r0, 0x76 - bl sub_80338C4 - movs r0, 0 - bl sub_8012574 -_08035032: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8035018 - - thumb_func_start sub_8035038 -sub_8035038: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803508E - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _0803508E - bl sub_8012750 - ldr r0, _0803506C - ldr r0, [r0] - ldr r1, _08035070 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0xD - beq _08035080 - cmp r0, 0xD - bls _08035074 - cmp r0, 0xE - beq _08035088 - b _0803508E - .align 2, 0 -_0803506C: .4byte gUnknown_203B33C -_08035070: .4byte 0x00000524 -_08035074: - cmp r0, 0xB - bcc _0803508E - movs r0, 0x69 - bl sub_80338C4 - b _0803508E -_08035080: - movs r0, 0x66 - bl sub_80338C4 - b _0803508E -_08035088: - movs r0, 0x4B - bl sub_80338C4 -_0803508E: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8035038 - - thumb_func_start sub_8035094 -sub_8035094: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080350EE - ldr r0, [sp] - cmp r0, 0x8 - beq _080350E8 - cmp r0, 0x16 - bne _080350EE - ldr r0, _080350C4 - ldr r0, [r0] - ldr r1, _080350C8 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0xD - beq _080350D8 - cmp r0, 0xD - bls _080350CC - cmp r0, 0xE - beq _080350E0 - b _080350EE - .align 2, 0 -_080350C4: .4byte gUnknown_203B33C -_080350C8: .4byte 0x00000524 -_080350CC: - cmp r0, 0xB - bcc _080350EE - movs r0, 0x69 - bl sub_80338C4 - b _080350EE -_080350D8: - movs r0, 0x66 - bl sub_80338C4 - b _080350EE -_080350E0: - movs r0, 0x4B - bl sub_80338C4 - b _080350EE -_080350E8: - movs r0, 0x1 - bl sub_80338C4 -_080350EE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8035094 - - thumb_func_start sub_80350F4 -sub_80350F4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08035176 - ldr r0, [sp] - cmp r0, 0x15 - beq _08035118 - cmp r0, 0x15 - bgt _08035112 - cmp r0, 0x8 - beq _08035170 - b _08035176 -_08035112: - cmp r0, 0x16 - beq _08035134 - b _08035176 -_08035118: - movs r0, 0 - bl sub_801CF14 - lsls r0, 24 - cmp r0, 0 - beq _0803512C - movs r0, 0x56 - bl sub_80338C4 - b _08035176 -_0803512C: - movs r0, 0x57 - bl sub_80338C4 - b _08035176 -_08035134: - ldr r0, _0803514C - ldr r0, [r0] - ldr r1, _08035150 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0xD - beq _08035160 - cmp r0, 0xD - bls _08035154 - cmp r0, 0xE - beq _08035168 - b _08035176 - .align 2, 0 -_0803514C: .4byte gUnknown_203B33C -_08035150: .4byte 0x00000524 -_08035154: - cmp r0, 0xB - bcc _08035176 - movs r0, 0x69 - bl sub_80338C4 - b _08035176 -_08035160: - movs r0, 0x66 - bl sub_80338C4 - b _08035176 -_08035168: - movs r0, 0x4B - bl sub_80338C4 - b _08035176 -_08035170: - movs r0, 0x1 - bl sub_80338C4 -_08035176: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80350F4 - - thumb_func_start sub_803517C -sub_803517C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080351DA - ldr r0, [sp] - cmp r0, 0x6 - beq _08035196 - cmp r0, 0x8 - beq _080351D4 - b _080351DA -_08035196: - ldr r0, _080351B0 - ldr r0, [r0] - ldr r1, _080351B4 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0xD - beq _080351C4 - cmp r0, 0xD - bls _080351B8 - cmp r0, 0xE - beq _080351CC - b _080351DA - .align 2, 0 -_080351B0: .4byte gUnknown_203B33C -_080351B4: .4byte 0x00000524 -_080351B8: - cmp r0, 0xB - bcc _080351DA - movs r0, 0x69 - bl sub_80338C4 - b _080351DA -_080351C4: - movs r0, 0x66 - bl sub_80338C4 - b _080351DA -_080351CC: - movs r0, 0x4B - bl sub_80338C4 - b _080351DA -_080351D4: - movs r0, 0x1 - bl sub_80338C4 -_080351DA: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_803517C - - thumb_func_start sub_80351E0 -sub_80351E0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08035208 - ldr r0, [sp] - cmp r0, 0x6 - beq _080351FA - cmp r0, 0x8 - beq _08035202 - b _08035208 -_080351FA: - movs r0, 0x72 - bl sub_80338C4 - b _08035208 -_08035202: - movs r0, 0x1 - bl sub_80338C4 -_08035208: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80351E0 - - thumb_func_start sub_8035210 -sub_8035210: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803528C - ldr r0, _08035238 - ldr r2, [r0] - ldr r1, _0803523C - adds r0, r2, r1 - ldr r1, [sp] - str r1, [r0] - cmp r1, 0xD - bgt _0803528C - cmp r1, 0xB - bge _08035240 - cmp r1, 0x8 - beq _08035286 - b _0803528C - .align 2, 0 -_08035238: .4byte gUnknown_203B33C -_0803523C: .4byte 0x00000524 -_08035240: - movs r3, 0xA5 - lsls r3, 3 - adds r0, r2, r3 - ldr r0, [r0] - cmp r0, 0x13 - bne _08035272 - movs r0, 0x5 - bl sub_80953D4 - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0 - beq _0803526A - movs r0, 0x53 - bl sub_80338C4 - b _0803528C -_0803526A: - movs r0, 0x55 - bl sub_80338C4 - b _0803528C -_08035272: - cmp r1, 0xD - beq _0803527E - movs r0, 0x69 - bl sub_80338C4 - b _0803528C -_0803527E: - movs r0, 0x72 - bl sub_80338C4 - b _0803528C -_08035286: - movs r0, 0x1 - bl sub_80338C4 -_0803528C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8035210 - - thumb_func_start nullsub_46 -nullsub_46: - bx lr - thumb_func_end nullsub_46 - - thumb_func_start nullsub_47 -nullsub_47: - bx lr - thumb_func_end nullsub_47 - - thumb_func_start nullsub_48 -nullsub_48: - bx lr - thumb_func_end nullsub_48 - - thumb_func_start nullsub_49 -nullsub_49: - bx lr - thumb_func_end nullsub_49 - - thumb_func_start sub_80352A4 -sub_80352A4: - push {r4,lr} - bl sub_802F298 - cmp r0, 0x3 - bne _080352EC - bl sub_802F2C0 - ldr r0, _080352F4 - 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, _080352F8 - bl strcpy - ldr r0, _080352FC - ldr r0, [r0] - movs r1, 0x84 - lsls r1, 3 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x6 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095240 - movs r0, 0x70 - bl sub_80338C4 -_080352EC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080352F4: .4byte gUnknown_202E5D8 -_080352F8: .4byte gUnknown_202DF98 -_080352FC: .4byte gUnknown_203B33C - thumb_func_end sub_80352A4 - - thumb_func_start sub_8035300 -sub_8035300: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08035364 - ldr r0, [sp] - adds r1, r0, 0 - subs r1, 0x19 - adds r2, r0, 0 - cmp r1, 0x4 - bhi _08035364 - lsls r0, r1, 2 - ldr r1, _08035324 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08035324: .4byte _08035328 - .align 2, 0 -_08035328: - .4byte _0803533C - .4byte _08035354 - .4byte _08035344 - .4byte _0803534C - .4byte _08035354 -_0803533C: - movs r0, 0x1 - bl sub_80338C4 - b _08035364 -_08035344: - movs r0, 0x7A - bl sub_80338C4 - b _08035364 -_0803534C: - movs r0, 0x7C - bl sub_80338C4 - b _08035364 -_08035354: - ldr r0, _0803536C - ldr r0, [r0] - ldr r1, _08035370 - adds r0, r1 - str r2, [r0] - movs r0, 0x79 - bl sub_80338C4 -_08035364: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0803536C: .4byte gUnknown_203B33C -_08035370: .4byte 0x00000564 - thumb_func_end sub_8035300 - - thumb_func_start sub_8035374 -sub_8035374: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080353AC - ldr r1, [sp] - cmp r1, 0x19 - bne _08035390 - movs r0, 0x78 - bl sub_80338C4 - b _080353AC -_08035390: - cmp r1, 0x19 - blt _080353AC - cmp r1, 0x22 - bgt _080353AC - cmp r1, 0x1E - blt _080353AC - ldr r0, _080353B4 - ldr r0, [r0] - ldr r2, _080353B8 - adds r0, r2 - str r1, [r0] - movs r0, 0x7B - bl sub_80338C4 -_080353AC: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080353B4: .4byte gUnknown_203B33C -_080353B8: .4byte 0x00000564 - thumb_func_end sub_8035374 - - thumb_func_start sub_80353BC -sub_80353BC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080353F4 - ldr r1, [sp] - cmp r1, 0x19 - bne _080353D8 - movs r0, 0x78 - bl sub_80338C4 - b _080353F4 -_080353D8: - cmp r1, 0x19 - blt _080353F4 - cmp r1, 0x26 - bgt _080353F4 - cmp r1, 0x23 - blt _080353F4 - ldr r0, _080353FC - ldr r0, [r0] - ldr r2, _08035400 - adds r0, r2 - str r1, [r0] - movs r0, 0x7D - bl sub_80338C4 -_080353F4: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080353FC: .4byte gUnknown_203B33C -_08035400: .4byte 0x00000564 - thumb_func_end sub_80353BC - - thumb_func_start sub_8035404 -sub_8035404: - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803541A - adds r0, r4, 0 - bl sub_80338C4 -_0803541A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8035404 - - thumb_func_start sub_8035424 -sub_8035424: - push {lr} - movs r0, 0x6 - bl sub_80338C4 - pop {r0} - bx r0 - thumb_func_end sub_8035424 - - thumb_func_start sub_8035430 -sub_8035430: - push {lr} - movs r0, 0x4F - bl sub_80338C4 - pop {r0} - bx r0 - thumb_func_end sub_8035430 - - thumb_func_start nullsub_50 -nullsub_50: - bx lr - thumb_func_end nullsub_50 - - thumb_func_start nullsub_51 -nullsub_51: - bx lr - thumb_func_end nullsub_51 - - thumb_func_start sub_8035444 -sub_8035444: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x84 - mov r8, r0 - adds r5, r1, 0 - ldr r4, _080354C0 - movs r0, 0x6C - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r1, 0 - str r1, [r0, 0x60] - str r5, [r0, 0x64] - mov r1, r8 - str r1, [r0, 0x68] - ldr r2, _080354C4 - mov r12, r2 - mov r9, r4 - movs r3, 0 - movs r2, 0x3 -_08035472: - ldr r1, [r4] - adds r1, r3 - mov r0, r12 - 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 _08035472 - mov r0, r9 - ldr r1, [r0] - ldr r0, _080354C8 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - bl sub_8004914 - mov r1, r9 - ldr r0, [r1] - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x2 - bl sub_8099690 - movs r0, 0 - bl sub_80073B8 - mov r2, r8 - lsls r0, r2, 2 - ldr r1, _080354CC - adds r0, r1 - ldr r1, [r0] - movs r5, 0 - b _08035542 - .align 2, 0 -_080354C0: .4byte gUnknown_203B340 -_080354C4: .4byte gUnknown_80E4A10 -_080354C8: .4byte gUnknown_80E4A28 -_080354CC: .4byte gUnknown_80E591C -_080354D0: - ldr r2, [r1, 0x8] - movs r3, 0x4 - ldrsh r0, [r1, r3] - cmp r0, 0 - blt _080354DE - adds r5, r0, 0 - b _080354E4 -_080354DE: - movs r6, 0x4 - ldrsh r0, [r1, r6] - subs r5, r0 -_080354E4: - movs r7, 0x2 - ldrsh r6, [r1, r7] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0x1 - beq _080354FA - cmp r0, 0x2 - beq _08035514 - adds r4, r1, 0 - adds r4, 0xC - b _08035532 -_080354FA: - add r3, sp, 0x4 - ldrb r0, [r2] - adds r4, r1, 0 - adds r4, 0xC - cmp r0, 0 - beq _0803552C -_08035506: - strb r0, [r3] - adds r2, 0x1 - adds r3, 0x1 - ldrb r0, [r2] - cmp r0, 0 - bne _08035506 - b _0803552C -_08035514: - add r3, sp, 0x4 - ldrb r0, [r2] - adds r4, r1, 0 - adds r4, 0xC - cmp r0, 0 - beq _0803552C -_08035520: - strb r0, [r3] - adds r2, 0x1 - adds r3, 0x1 - ldrb r0, [r2] - cmp r0, 0 - bne _08035520 -_0803552C: - movs r0, 0 - strb r0, [r3] - add r2, sp, 0x4 -_08035532: - movs r0, 0 - str r0, [sp] - adds r0, r6, 0 - adds r1, r5, 0 - movs r3, 0 - bl xxx_call_draw_string - adds r1, r4, 0 -_08035542: - ldr r0, [r1, 0x8] - cmp r0, 0 - bne _080354D0 - movs r0, 0 - bl sub_80073E0 - movs r0, 0 - bl sub_80063CC - ldr r2, _08035570 - movs r0, 0x9 - movs r1, 0 - ldr r2, [r2] - bl sub_8099AFC - movs r0, 0x1 - add sp, 0x84 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08035570: .4byte gCreditsTable - thumb_func_end sub_8035444 - - thumb_func_start sub_8035574 -sub_8035574: - push {r4,lr} - ldr r1, _0803558C - ldr r0, [r1] - ldr r0, [r0, 0x60] - adds r4, r1, 0 - cmp r0, 0x4 - bhi _08035654 - lsls r0, 2 - ldr r1, _08035590 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803558C: .4byte gUnknown_203B340 -_08035590: .4byte _08035594 - .align 2, 0 -_08035594: - .4byte _080355A8 - .4byte _080355D0 - .4byte _080355E8 - .4byte _08035610 - .4byte _08035638 -_080355A8: - bl sub_8099B94 - lsls r0, 24 - cmp r0, 0 - bne _08035654 - ldr r0, _080355C8 - ldr r1, [r0] - movs r0, 0x1 - str r0, [r1, 0x60] - ldr r2, _080355CC - movs r0, 0x9 - movs r1, 0x1E - ldr r2, [r2] - bl sub_8099A5C - b _08035654 - .align 2, 0 -_080355C8: .4byte gUnknown_203B340 -_080355CC: .4byte gCreditsTable -_080355D0: - bl sub_8099B94 - lsls r0, 24 - cmp r0, 0 - bne _08035654 - ldr r0, _080355E4 - ldr r1, [r0] - movs r0, 0x2 - str r0, [r1, 0x60] - b _08035654 - .align 2, 0 -_080355E4: .4byte gUnknown_203B340 -_080355E8: - ldr r1, [r4] - ldr r0, [r1, 0x64] - cmp r0, 0 - bgt _08035600 - movs r0, 0x3 - str r0, [r1, 0x60] - ldr r2, _0803560C - movs r0, 0x9 - movs r1, 0x1E - ldr r2, [r2] - bl sub_8099AFC -_08035600: - ldr r1, [r4] - ldr r0, [r1, 0x64] - subs r0, 0x1 - str r0, [r1, 0x64] - b _08035654 - .align 2, 0 -_0803560C: .4byte gCreditsTable -_08035610: - bl sub_8099B94 - lsls r0, 24 - cmp r0, 0 - bne _08035654 - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, _08035634 - ldr r1, [r0] - movs r0, 0x4 - str r0, [r1, 0x60] - b _08035654 - .align 2, 0 -_08035634: .4byte gUnknown_203B340 -_08035638: - movs r0, 0 - bl sub_8099690 - ldr r2, _08035650 - movs r0, 0x1 - movs r1, 0 - ldr r2, [r2] - bl sub_8099A5C - movs r0, 0x3 - b _08035656 - .align 2, 0 -_08035650: .4byte gCreditsTable -_08035654: - movs r0, 0 -_08035656: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8035574 - - thumb_func_start sub_803565C -sub_803565C: - push {r4,lr} - ldr r4, _08035674 - ldr r0, [r4] - cmp r0, 0 - beq _0803566E - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0803566E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035674: .4byte gUnknown_203B340 - thumb_func_end sub_803565C - - thumb_func_start sub_8035678 -sub_8035678: - push {r4,lr} - ldr r4, _0803569C - movs r0, 0x8 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r1, 0 - str r1, [r0] - str r1, [r0, 0x4] - movs r0, 0 - movs r1, 0x39 - bl sub_80015C0 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0803569C: .4byte gUnknown_203B344 - thumb_func_end sub_8035678 - - thumb_func_start sub_80356A0 -sub_80356A0: - push {r4,lr} - ldr r0, _080356C4 - ldrh r4, [r0] - ldr r3, _080356C8 - ldr r2, _080356CC - ldr r1, [r2] - ldr r0, [r1, 0x4] - lsls r0, 1 - adds r0, r3 - ldrh r3, [r0] - ldr r0, [r1] - cmp r0, 0x4 - bhi _08035734 - lsls r0, 2 - ldr r1, _080356D0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080356C4: .4byte gUnknown_20255F0 -_080356C8: .4byte gUnknown_80E5990 -_080356CC: .4byte gUnknown_203B344 -_080356D0: .4byte _080356D4 - .align 2, 0 -_080356D4: - .4byte _08035728 - .4byte _080356E8 - .4byte _08035710 - .4byte _0803574C - .4byte _08035730 -_080356E8: - cmp r3, 0 - bne _080356F4 - ldr r1, [r2] - movs r0, 0x4 - str r0, [r1] - b _08035734 -_080356F4: - cmp r4, r3 - bne _08035700 - ldr r1, [r2] - movs r0, 0x2 - str r0, [r1] - b _08035734 -_08035700: - ands r3, r4 - cmp r3, r4 - bne _08035728 - ldr r1, [r2] - ldr r0, [r1, 0x4] - cmp r0, 0 - bne _08035734 - b _0803572A -_08035710: - cmp r4, 0 - bne _08035722 - ldr r1, [r2] - movs r0, 0x1 - str r0, [r1] - ldr r0, [r1, 0x4] - adds r0, 0x1 - str r0, [r1, 0x4] - b _08035734 -_08035722: - ands r3, r4 - cmp r3, r4 - beq _08035734 -_08035728: - ldr r1, [r2] -_0803572A: - movs r0, 0x3 - str r0, [r1] - b _08035734 -_08035730: - movs r0, 0x3 - b _0803574E -_08035734: - movs r0, 0 - movs r1, 0x39 - bl sub_8001658 - cmp r0, 0 - bne _08035744 - movs r0, 0 - b _0803574E -_08035744: - ldr r0, _08035754 - ldr r1, [r0] - movs r0, 0x3 - str r0, [r1] -_0803574C: - movs r0, 0x2 -_0803574E: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08035754: .4byte gUnknown_203B344 - thumb_func_end sub_80356A0 - - thumb_func_start sub_8035758 -sub_8035758: - push {r4,lr} - ldr r4, _08035770 - ldr r0, [r4] - cmp r0, 0 - beq _0803576A - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0803576A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035770: .4byte gUnknown_203B344 - thumb_func_end sub_8035758 - - thumb_func_start InitMainMenu -InitMainMenu: - push {r4,r5,lr} - ldr r5, _080357C8 - ldr r0, [r5] - cmp r0, 0 - bne _08035790 - movs r0, 0x40 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - movs r2, 0x40 - bl MemoryFill8 -_08035790: - ldr r0, [r5] - ldr r1, _080357CC - str r1, [r0] - movs r2, 0x1 - str r2, [r0, 0x4] - str r2, [r0, 0x8] - adds r1, 0x23 - strh r1, [r0, 0x38] - movs r1, 0x1 - negs r1, r1 - str r1, [r0, 0x3C] - adds r0, 0x2E - movs r4, 0 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x2C - strb r2, [r0] - ldr r0, [r5] - adds r0, 0x2D - strb r4, [r0] - bl sub_8035DA0 - ldr r0, [r5] - adds r0, 0x3A - strb r4, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080357C8: .4byte gUnknown_203B348 -_080357CC: .4byte 0x0000ffdc - thumb_func_end InitMainMenu - - thumb_func_start sub_80357D0 -sub_80357D0: - push {r4,lr} - ldr r4, _080357E8 - ldr r0, [r4] - cmp r0, 0 - beq _080357E2 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_080357E2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080357E8: .4byte gUnknown_203B348 - thumb_func_end sub_80357D0 - - thumb_func_start SetUpMenu -SetUpMenu: - push {lr} - ldr r0, _08035810 - ldr r0, [r0] - ldr r1, [r0] - ldr r0, [r0, 0x4] - cmp r1, r0 - bne _080357FC - b _08035958 -_080357FC: - subs r0, 0x1 - cmp r0, 0x2D - bls _08035804 - b _08035950 -_08035804: - lsls r0, 2 - ldr r1, _08035814 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08035810: .4byte gUnknown_203B348 -_08035814: .4byte _08035818 - .align 2, 0 -_08035818: - .4byte _080358D0 - .4byte _08035950 - .4byte _08035950 - .4byte _08035950 - .4byte _08035950 - .4byte _080358E0 - .4byte _080358E0 - .4byte _080358E0 - .4byte _080358E0 - .4byte _08035934 - .4byte _0803590C - .4byte _080358F0 - .4byte _08035912 - .4byte _08035918 - .4byte _0803591E - .4byte _0803594C - .4byte _08035950 - .4byte _08035950 - .4byte _080358F6 - .4byte _080358F6 - .4byte _08035950 - .4byte _08035950 - .4byte _08035950 - .4byte _08035950 - .4byte _08035950 - .4byte _08035950 - .4byte _08035950 - .4byte _08035950 - .4byte _08035950 - .4byte _08035950 - .4byte _08035950 - .4byte _08035950 - .4byte _08035924 - .4byte _08035924 - .4byte _08035950 - .4byte _08035950 - .4byte _08035950 - .4byte _08035950 - .4byte _08035950 - .4byte _08035950 - .4byte _0803593A - .4byte _0803593A - .4byte _0803593A - .4byte _0803593A - .4byte _0803593A - .4byte _0803593A -_080358D0: - bl sub_8094C14 - movs r0, 0 - bl sub_8099690 - bl sub_8035E10 - b _08035950 -_080358E0: - ldr r0, _080358EC - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl sub_8039254 - b _08035950 - .align 2, 0 -_080358EC: .4byte gUnknown_203B348 -_080358F0: - bl sub_8036400 - b _08035950 -_080358F6: - ldr r0, _08035908 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl sub_8035DB4 - bl sub_8036FDC - b _08035950 - .align 2, 0 -_08035908: .4byte gUnknown_203B348 -_0803590C: - bl sub_803225C - b _08035950 -_08035912: - bl sub_80398AC - b _08035950 -_08035918: - bl sub_803A1D8 - b _08035950 -_0803591E: - bl sub_803A1E4 - b _08035950 -_08035924: - ldr r0, _08035930 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl sub_8038900 - b _08035950 - .align 2, 0 -_08035930: .4byte gUnknown_203B348 -_08035934: - bl sub_80382A0 - b _08035950 -_0803593A: - ldr r0, _08035948 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl sub_803850C - b _08035950 - .align 2, 0 -_08035948: .4byte gUnknown_203B348 -_0803594C: - bl sub_803A200 -_08035950: - ldr r0, _0803595C - ldr r1, [r0] - ldr r0, [r1, 0x4] - str r0, [r1] -_08035958: - pop {r0} - bx r0 - .align 2, 0 -_0803595C: .4byte gUnknown_203B348 - thumb_func_end SetUpMenu - - thumb_func_start UpdateMenu -UpdateMenu: - push {lr} - ldr r2, _0803597C - ldr r0, _08035980 - ldr r0, [r0] - ldr r0, [r0, 0x4] - subs r0, 0x1 - cmp r0, 0x2D - bls _08035972 - b _08035AA6 -_08035972: - lsls r0, 2 - ldr r1, _08035984 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803597C: .4byte 0x0000ffdc -_08035980: .4byte gUnknown_203B348 -_08035984: .4byte _08035988 - .align 2, 0 -_08035988: - .4byte _08035A40 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035A46 - .4byte _08035A46 - .4byte _08035A46 - .4byte _08035A46 - .4byte _08035A8E - .4byte _08035A52 - .4byte _08035A4C - .4byte _08035A58 - .4byte _08035A5E - .4byte _08035A70 - .4byte _08035AA0 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035AA6 - .4byte _08035A88 - .4byte _08035A88 - .4byte _08035AA6 - .4byte _08035A94 - .4byte _08035A94 - .4byte _08035A94 - .4byte _08035A94 - .4byte _08035A94 - .4byte _08035A9A - .4byte _08035A9A - .4byte _08035A9A - .4byte _08035A9A - .4byte _08035A9A - .4byte _08035A9A -_08035A40: - bl sub_8035EEC - b _08035AA4 -_08035A46: - bl sub_803941C - b _08035AA4 -_08035A4C: - bl sub_8036448 - b _08035A62 -_08035A52: - bl sub_8032318 - b _08035A62 -_08035A58: - bl sub_8039928 - b _08035A62 -_08035A5E: - bl sub_803A1DC -_08035A62: - movs r2, 0x1 - cmp r0, 0x3 - beq _08035AA6 - ldr r2, _08035A6C - b _08035AA6 - .align 2, 0 -_08035A6C: .4byte 0x0000ffdc -_08035A70: - bl sub_803A1E8 - movs r2, 0x5 - cmp r0, 0x3 - beq _08035AA6 - ldr r2, _08035A84 - cmp r0, 0x2 - bne _08035AA6 - movs r2, 0x1 - b _08035AA6 - .align 2, 0 -_08035A84: .4byte 0x0000ffdc -_08035A88: - bl sub_8038A90 - b _08035AA4 -_08035A8E: - bl sub_80382C0 - b _08035AA4 -_08035A94: - bl sub_80383D4 - b _08035AA4 -_08035A9A: - bl sub_8038630 - b _08035AA4 -_08035AA0: - bl sub_803A2A4 -_08035AA4: - adds r2, r0, 0 -_08035AA6: - ldr r0, _08035AB8 - cmp r2, r0 - beq _08035AB2 - ldr r0, _08035ABC - ldr r0, [r0] - str r2, [r0, 0x4] -_08035AB2: - adds r0, r2, 0 - pop {r1} - bx r1 - .align 2, 0 -_08035AB8: .4byte 0x0000ffdc -_08035ABC: .4byte gUnknown_203B348 - thumb_func_end UpdateMenu - - thumb_func_start CleanUpMenu -CleanUpMenu: - push {lr} - ldr r0, _08035AE4 - ldr r0, [r0] - ldr r1, [r0, 0x8] - ldr r0, [r0, 0x4] - cmp r1, r0 - bne _08035AD0 - b _08035BF8 -_08035AD0: - subs r0, r1, 0x1 - cmp r0, 0x2D - bls _08035AD8 - b _08035BF0 -_08035AD8: - lsls r0, 2 - ldr r1, _08035AE8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08035AE4: .4byte gUnknown_203B348 -_08035AE8: .4byte _08035AEC - .align 2, 0 -_08035AEC: - .4byte _08035BA4 - .4byte _08035BF0 - .4byte _08035BF0 - .4byte _08035BF0 - .4byte _08035BF0 - .4byte _08035BAA - .4byte _08035BAA - .4byte _08035BAA - .4byte _08035BAA - .4byte _08035BDA - .4byte _08035BBC - .4byte _08035BB0 - .4byte _08035BC2 - .4byte _08035BC8 - .4byte _08035BCE - .4byte _08035BEC - .4byte _08035BF0 - .4byte _08035BF0 - .4byte _08035BB6 - .4byte _08035BB6 - .4byte _08035BF0 - .4byte _08035BF0 - .4byte _08035BF0 - .4byte _08035BF0 - .4byte _08035BF0 - .4byte _08035BF0 - .4byte _08035BF0 - .4byte _08035BF0 - .4byte _08035BF0 - .4byte _08035BF0 - .4byte _08035BF0 - .4byte _08035BF0 - .4byte _08035BD4 - .4byte _08035BD4 - .4byte _08035BF0 - .4byte _08035BE0 - .4byte _08035BE0 - .4byte _08035BE0 - .4byte _08035BE0 - .4byte _08035BE0 - .4byte _08035BE6 - .4byte _08035BE6 - .4byte _08035BE6 - .4byte _08035BE6 - .4byte _08035BE6 - .4byte _08035BE6 -_08035BA4: - bl sub_8035EC0 - b _08035BF0 -_08035BAA: - bl sub_80393F0 - b _08035BF0 -_08035BB0: - bl sub_8036B04 - b _08035BF0 -_08035BB6: - bl sub_80370D4 - b _08035BF0 -_08035BBC: - bl sub_80327E4 - b _08035BF0 -_08035BC2: - bl sub_80399E4 - b _08035BF0 -_08035BC8: - bl nullsub_55 - b _08035BF0 -_08035BCE: - bl sub_803A1EC - b _08035BF0 -_08035BD4: - bl sub_8038A5C - b _08035BF0 -_08035BDA: - bl sub_80382AC - b _08035BF0 -_08035BE0: - bl sub_80383A8 - b _08035BF0 -_08035BE6: - bl sub_8038604 - b _08035BF0 -_08035BEC: - bl sub_803A278 -_08035BF0: - ldr r0, _08035BFC - ldr r1, [r0] - ldr r0, [r1, 0x4] - str r0, [r1, 0x8] -_08035BF8: - pop {r0} - bx r0 - .align 2, 0 -_08035BFC: .4byte gUnknown_203B348 - thumb_func_end CleanUpMenu - - thumb_func_start sub_8035C00 -sub_8035C00: - ldr r1, _08035C0C - ldr r1, [r1] - ldr r0, [r0] - str r0, [r1, 0x2C] - bx lr - .align 2, 0 -_08035C0C: .4byte gUnknown_203B348 - thumb_func_end sub_8035C00 - - thumb_func_start sub_8035C10 -sub_8035C10: - ldr r0, _08035C18 - ldr r0, [r0] - adds r0, 0x2C - bx lr - .align 2, 0 -_08035C18: .4byte gUnknown_203B348 - thumb_func_end sub_8035C10 - - thumb_func_start sub_8035C1C -sub_8035C1C: - ldr r2, _08035C38 - ldr r0, [r2] - adds r0, 0x2E - movs r3, 0 - strb r3, [r0] - ldr r0, [r2] - adds r0, 0x2C - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x2D - strb r3, [r0] - bx lr - .align 2, 0 -_08035C38: .4byte gUnknown_203B348 - thumb_func_end sub_8035C1C - - thumb_func_start SetMenuItems -SetMenuItems: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - ldr r0, [sp, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 3 - adds r0, r4 - ldm r3!, {r1,r2,r7} - stm r0!, {r1,r2,r7} - ldm r3!, {r1,r2,r7} - stm r0!, {r1,r2,r7} - bl sub_8004914 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - mov r0, r8 - cmp r0, 0 - beq _08035C90 - lsls r4, r5, 2 - adds r0, r4, r5 - lsls r0, 4 - adds r0, r6, r0 - ldr r1, [sp, 0x28] - str r1, [sp] - str r5, [sp, 0x4] - ldr r1, [sp, 0x20] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _08035CA8 -_08035C90: - lsls r4, r5, 2 - adds r0, r4, r5 - lsls r0, 4 - adds r0, r6, r0 - mov r1, r8 - str r1, [sp] - str r5, [sp, 0x4] - ldr r1, [sp, 0x20] - movs r2, 0 - movs r3, 0 - bl sub_8012E04 -_08035CA8: - adds r0, r4, r5 - lsls r0, 4 - adds r0, r6 - adds r0, 0x4C - movs r1, 0x1 - strb r1, [r0] - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end SetMenuItems - - thumb_func_start sub_8035CC0 -sub_8035CC0: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl sub_8006518 - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 3 - adds r1, r5 - ldr r0, _08035CF0 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - bl sub_8004914 - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08035CF0: .4byte gUnknown_80E59A8 - thumb_func_end sub_8035CC0 - - thumb_func_start sub_8035CF4 -sub_8035CF4: - push {lr} - adds r3, r0, 0 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r0, r3 - adds r1, r0, 0 - adds r1, 0x4C - strb r2, [r1] - adds r2, r0, 0 - adds r2, 0x4D - movs r1, 0x1 - strb r1, [r2] - subs r1, 0x2 - str r1, [r0, 0x48] - bl sub_8012EBC - pop {r0} - bx r0 - thumb_func_end sub_8035CF4 - - thumb_func_start sub_8035D1C -sub_8035D1C: - ldr r0, _08035D28 - ldr r1, [r0] - ldr r0, _08035D2C - strh r0, [r1, 0x38] - bx lr - .align 2, 0 -_08035D28: .4byte gUnknown_203B348 -_08035D2C: .4byte 0x0000ffff - thumb_func_end sub_8035D1C - - thumb_func_start sub_8035D30 -sub_8035D30: - ldr r1, _08035D38 - ldr r1, [r1] - strh r0, [r1, 0x38] - bx lr - .align 2, 0 -_08035D38: .4byte gUnknown_203B348 - thumb_func_end sub_8035D30 - - thumb_func_start sub_8035D3C -sub_8035D3C: - ldr r0, _08035D48 - ldr r0, [r0] - movs r1, 0x38 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_08035D48: .4byte gUnknown_203B348 - thumb_func_end sub_8035D3C - - thumb_func_start sub_8035D4C -sub_8035D4C: - ldr r0, _08035D54 - ldr r0, [r0] - bx lr - .align 2, 0 -_08035D54: .4byte gUnknown_203B348 - thumb_func_end sub_8035D4C - - thumb_func_start sub_8035D58 -sub_8035D58: - ldr r0, _08035D64 - ldr r1, [r0] - movs r0, 0x1 - negs r0, r0 - str r0, [r1, 0x3C] - bx lr - .align 2, 0 -_08035D64: .4byte gUnknown_203B348 - thumb_func_end sub_8035D58 - - thumb_func_start sub_8035D68 -sub_8035D68: - ldr r1, _08035D70 - ldr r1, [r1] - str r0, [r1, 0x3C] - bx lr - .align 2, 0 -_08035D70: .4byte gUnknown_203B348 - thumb_func_end sub_8035D68 - - thumb_func_start sub_8035D74 -sub_8035D74: - ldr r0, _08035D7C - ldr r0, [r0] - ldr r0, [r0, 0x3C] - bx lr - .align 2, 0 -_08035D7C: .4byte gUnknown_203B348 - thumb_func_end sub_8035D74 - - thumb_func_start sub_8035D80 -sub_8035D80: - ldr r1, _08035D90 - ldr r2, [r1] - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2, 0x30] - str r1, [r2, 0x34] - bx lr - .align 2, 0 -_08035D90: .4byte gUnknown_203B348 - thumb_func_end sub_8035D80 - - thumb_func_start sub_8035D94 -sub_8035D94: - ldr r0, _08035D9C - ldr r0, [r0] - adds r0, 0x30 - bx lr - .align 2, 0 -_08035D9C: .4byte gUnknown_203B348 - thumb_func_end sub_8035D94 - - thumb_func_start sub_8035DA0 -sub_8035DA0: - ldr r2, _08035DB0 - ldr r0, [r2] - adds r0, 0x30 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - str r1, [r0, 0x34] - bx lr - .align 2, 0 -_08035DB0: .4byte gUnknown_203B348 - thumb_func_end sub_8035DA0 - - thumb_func_start sub_8035DB4 -sub_8035DB4: - push {lr} - movs r1, 0x8 - subs r0, 0x13 - cmp r0, 0x7 - bhi _08035E0A - lsls r0, 2 - ldr r1, _08035DC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08035DC8: .4byte _08035DCC - .align 2, 0 -_08035DCC: - .4byte _08035DEC - .4byte _08035DF0 - .4byte _08035DF4 - .4byte _08035DF8 - .4byte _08035DFC - .4byte _08035E00 - .4byte _08035E04 - .4byte _08035E08 -_08035DEC: - movs r1, 0 - b _08035E0A -_08035DF0: - movs r1, 0x1 - b _08035E0A -_08035DF4: - movs r1, 0x2 - b _08035E0A -_08035DF8: - movs r1, 0x3 - b _08035E0A -_08035DFC: - movs r1, 0x4 - b _08035E0A -_08035E00: - movs r1, 0x5 - b _08035E0A -_08035E04: - movs r1, 0x6 - b _08035E0A -_08035E08: - movs r1, 0x7 -_08035E0A: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end sub_8035DB4 - - thumb_func_start sub_8035E10 -sub_8035E10: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r5, _08035EB8 - ldr r0, [r5] - cmp r0, 0 - bne _08035E34 - movs r4, 0xD4 - lsls r4, 1 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_08035E34: - mov r12, r5 - movs r0, 0xA2 - lsls r0, 1 - mov r8, r0 - ldr r4, _08035EBC - movs r3, 0 - movs r2, 0x3 -_08035E42: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - add r1, r8 - 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 _08035E42 - bl sub_8004914 - ldr r4, _08035EB8 - ldr r0, [r4] - movs r6, 0xA2 - lsls r6, 1 - adds r0, r6 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_803628C - ldr r0, [r4] - movs r7, 0xD2 - lsls r7, 1 - adds r0, r7 - movs r1, 0x1 - negs r1, r1 - str r1, [r0] - bl SetMainMenuType - lsls r0, 24 - cmp r0, 0 - beq _08035E9A - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x2 - movs r2, 0 - bl sub_8035CF4 -_08035E9A: - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08035EB8: .4byte gUnknown_203B34C -_08035EBC: .4byte gUnknown_80E59C8 - thumb_func_end sub_8035E10 - - thumb_func_start sub_8035EC0 -sub_8035EC0: - push {r4,lr} - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _08035EE8 - ldr r0, [r4] - cmp r0, 0 - beq _08035EE0 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08035EE0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035EE8: .4byte gUnknown_203B34C - thumb_func_end sub_8035EC0 - - thumb_func_start sub_8035EEC -sub_8035EEC: - 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 SetMainMenuType - 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 sub_8004914 - 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 sub_8035EEC - - thumb_func_start SetMainMenuType -SetMainMenuType: - push {r4-r6,lr} - sub sp, 0x10 - ldr r6, _08036048 - ldr r2, [r6] - ldr r0, [r2, 0x8] - movs r3, 0x30 - ldrsh r1, [r2, r3] - lsls r1, 3 - adds r1, r0 - ldr r5, [r1, 0x4] - movs r0, 0xD2 - lsls r0, 1 - adds r1, r2, r0 - ldr r0, [r1] - cmp r0, r5 - bne _0803604C - movs r0, 0 - b _08036226 - .align 2, 0 -_08036048: .4byte gUnknown_203B34C -_0803604C: - str r5, [r1] - movs r4, 0xA2 - lsls r4, 1 - adds r0, r2, r4 - movs r1, 0x2 - bl sub_8035CC0 - ldr r0, [r6] - adds r0, r4 - movs r1, 0x3 - bl sub_8035CC0 - subs r0, r5, 0x3 - cmp r0, 0xD - bls _0803606C - b _08036224 -_0803606C: - lsls r0, 2 - ldr r1, _08036078 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08036078: .4byte _0803607C - .align 2, 0 -_0803607C: - .4byte _08036114 - .4byte _08036224 - .4byte _08036224 - .4byte _080360F4 - .4byte _08036134 - .4byte _08036154 - .4byte _08036224 - .4byte _08036174 - .4byte _08036194 - .4byte _080361B4 - .4byte _080360D4 - .4byte _080361D4 - .4byte _080360B4 - .4byte _08036204 -_080360B4: - ldr r0, _080360C8 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _080360CC - ldr r2, _080360D0 - b _080361E4 - .align 2, 0 -_080360C8: .4byte gUnknown_203B34C -_080360CC: .4byte gUnknown_80E5CB4 -_080360D0: .4byte gUnknown_80E6030 -_080360D4: - ldr r0, _080360E8 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r3, 0xA2 - lsls r3, 1 - adds r1, r3 - ldr r3, _080360EC - ldr r2, _080360F0 - b _080361E4 - .align 2, 0 -_080360E8: .4byte gUnknown_203B34C -_080360EC: .4byte gUnknown_80E5CB4 -_080360F0: .4byte gUnknown_80E5F80 -_080360F4: - ldr r0, _08036108 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _0803610C - ldr r2, _08036110 - b _080361E4 - .align 2, 0 -_08036108: .4byte gUnknown_203B34C -_0803610C: .4byte gUnknown_80E5CB4 -_08036110: .4byte gUnknown_80E5F1C -_08036114: - ldr r0, _08036128 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r3, 0xA2 - lsls r3, 1 - adds r1, r3 - ldr r3, _0803612C - ldr r2, _08036130 - b _080361E4 - .align 2, 0 -_08036128: .4byte gUnknown_203B34C -_0803612C: .4byte gUnknown_80E5CB4 -_08036130: .4byte gUnknown_80E5CCC -_08036134: - ldr r0, _08036148 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _0803614C - ldr r2, _08036150 - b _080361E4 - .align 2, 0 -_08036148: .4byte gUnknown_203B34C -_0803614C: .4byte gUnknown_80E5CB4 -_08036150: .4byte gUnknown_80E5DA0 -_08036154: - ldr r0, _08036168 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r3, 0xA2 - lsls r3, 1 - adds r1, r3 - ldr r3, _0803616C - ldr r2, _08036170 - b _080361E4 - .align 2, 0 -_08036168: .4byte gUnknown_203B34C -_0803616C: .4byte gUnknown_80E5CB4 -_08036170: .4byte gUnknown_80E5DF0 -_08036174: - ldr r0, _08036188 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _0803618C - ldr r2, _08036190 - b _080361E4 - .align 2, 0 -_08036188: .4byte gUnknown_203B34C -_0803618C: .4byte gUnknown_80E5CB4 -_08036190: .4byte gUnknown_80E5D0C -_08036194: - ldr r0, _080361A8 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r3, 0xA2 - lsls r3, 1 - adds r1, r3 - ldr r3, _080361AC - ldr r2, _080361B0 - b _080361E4 - .align 2, 0 -_080361A8: .4byte gUnknown_203B34C -_080361AC: .4byte gUnknown_80E5CB4 -_080361B0: .4byte gUnknown_80E5E5C -_080361B4: - ldr r0, _080361C8 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _080361CC - ldr r2, _080361D0 - b _080361E4 - .align 2, 0 -_080361C8: .4byte gUnknown_203B34C -_080361CC: .4byte gUnknown_80E5CB4 -_080361D0: .4byte gUnknown_80E5EBC -_080361D4: - ldr r0, _080361F8 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r3, 0xA2 - lsls r3, 1 - adds r1, r3 - ldr r3, _080361FC - ldr r2, _08036200 -_080361E4: - str r2, [sp] - movs r2, 0 - str r2, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - movs r2, 0x2 - bl SetMenuItems - b _08036224 - .align 2, 0 -_080361F8: .4byte gUnknown_203B34C -_080361FC: .4byte gUnknown_80E5CB4 -_08036200: .4byte gUnknown_80E5FCC -_08036204: - ldr r0, _08036230 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _08036234 - ldr r2, _08036238 - str r2, [sp] - movs r2, 0 - str r2, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - movs r2, 0x2 - bl SetMenuItems -_08036224: - movs r0, 0x1 -_08036226: - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08036230: .4byte gUnknown_203B34C -_08036234: .4byte gUnknown_80E5CB4 -_08036238: .4byte gUnknown_80E5D48 - thumb_func_end SetMainMenuType - - thumb_func_start sub_803623C -sub_803623C: - push {r4,lr} - ldr r4, _08036288 - ldr r0, [r4] - movs r1, 0xA2 - lsls r1, 1 - adds r0, r1 - movs r1, 0x1 - bl sub_8035CC0 - bl sub_803628C - ldr r0, [r4] - movs r1, 0xD2 - lsls r1, 1 - adds r0, r1 - movs r1, 0x1 - negs r1, r1 - str r1, [r0] - bl SetMainMenuType - lsls r0, 24 - cmp r0, 0 - beq _08036276 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x2 - movs r2, 0 - bl sub_8035CF4 -_08036276: - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08036288: .4byte gUnknown_203B34C - thumb_func_end sub_803623C - - thumb_func_start sub_803628C -sub_803628C: - push {r4,lr} - sub sp, 0x10 - bl sub_8011C34 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0803629E - b _080363A4 -_0803629E: - movs r0, 0x1 - bl sub_8095324 - cmp r0, 0 - bne _08036344 - movs r0, 0x7 - bl sub_8095324 - cmp r0, 0 - beq _080362FC - bl sub_803D0D8 - lsls r0, 24 - cmp r0, 0 - beq _080362DC - ldr r0, _080362D0 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _080362D4 - ldr r2, _080362D8 - b _0803637C - .align 2, 0 -_080362D0: .4byte gUnknown_203B34C -_080362D4: .4byte gUnknown_80E5A78 -_080362D8: .4byte gUnknown_80E5C18 -_080362DC: - ldr r0, _080362F0 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _080362F4 - ldr r2, _080362F8 - b _0803637C - .align 2, 0 -_080362F0: .4byte gUnknown_203B34C -_080362F4: .4byte gUnknown_80E5BC4 -_080362F8: .4byte gUnknown_80E5BDC -_080362FC: - bl sub_803D0D8 - lsls r0, 24 - cmp r0, 0 - beq _08036324 - ldr r0, _08036318 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _0803631C - ldr r2, _08036320 - b _0803637C - .align 2, 0 -_08036318: .4byte gUnknown_203B34C -_0803631C: .4byte gUnknown_80E5A78 -_08036320: .4byte gUnknown_80E5AFC -_08036324: - ldr r0, _08036338 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _0803633C - ldr r2, _08036340 - b _0803637C - .align 2, 0 -_08036338: .4byte gUnknown_203B34C -_0803633C: .4byte gUnknown_80E5A60 -_08036340: .4byte gUnknown_80E5A90 -_08036344: - bl sub_803D0D8 - lsls r0, 24 - cmp r0, 0 - beq _0803636C - ldr r0, _08036360 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _08036364 - ldr r2, _08036368 - b _0803637C - .align 2, 0 -_08036360: .4byte gUnknown_203B34C -_08036364: .4byte gUnknown_80E5A78 -_08036368: .4byte gUnknown_80E5B8C -_0803636C: - ldr r0, _08036394 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _08036398 - ldr r2, _0803639C -_0803637C: - str r2, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - ldr r2, _080363A0 - ldr r2, [r2] - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - b _080363C8 - .align 2, 0 -_08036394: .4byte gUnknown_203B34C -_08036398: .4byte gUnknown_80E5B34 -_0803639C: .4byte gUnknown_80E5B4C -_080363A0: .4byte gUnknown_203B350 -_080363A4: - ldr r0, _080363D0 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _080363D4 - ldr r2, _080363D8 - str r2, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - ldr r2, _080363DC - ldr r2, [r2] - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems -_080363C8: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080363D0: .4byte gUnknown_203B34C -_080363D4: .4byte gUnknown_80E59E0 -_080363D8: .4byte gUnknown_80E59F8 -_080363DC: .4byte gUnknown_203B350 - thumb_func_end sub_803628C - - thumb_func_start sub_80363E0 -sub_80363E0: - push {lr} - ldr r0, _080363F4 - ldr r0, [r0] - cmp r0, 0 - beq _080363F8 - ldr r0, [r0] - cmp r0, 0xC - beq _080363F8 - movs r0, 0x1 - b _080363FA - .align 2, 0 -_080363F4: .4byte gUnknown_203B34C -_080363F8: - movs r0, 0 -_080363FA: - pop {r1} - bx r1 - thumb_func_end sub_80363E0 - - thumb_func_start sub_8036400 -sub_8036400: - push {r4,r5,lr} - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r5, _08036444 - movs r4, 0xE8 - lsls r4, 2 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 - bl sub_8035C1C - bl sub_8035DA0 - ldr r1, [r5] - movs r0, 0x13 - str r0, [r1, 0x4] - movs r0, 0 - bl sub_8036FC4 - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08036444: .4byte gUnknown_203B358 - thumb_func_end sub_8036400 - - thumb_func_start sub_8036448 -sub_8036448: - push {lr} - ldr r0, _08036460 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x12 - bhi _08036524 - lsls r0, 2 - ldr r1, _08036464 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08036460: .4byte gUnknown_203B358 -_08036464: .4byte _08036468 - .align 2, 0 -_08036468: - .4byte _080364B4 - .4byte _080364BA - .4byte _080364C0 - .4byte _080364C6 - .4byte _080364D2 - .4byte _080364CC - .4byte _080364D8 - .4byte _080364DE - .4byte _080364E4 - .4byte _080364F0 - .4byte _080364F6 - .4byte _080364FC - .4byte _08036502 - .4byte _08036514 - .4byte _08036508 - .4byte _080364EA - .4byte _0803650E - .4byte _0803651A - .4byte _08036520 -_080364B4: - bl sub_803652C - b _08036524 -_080364BA: - bl sub_8036590 - b _08036524 -_080364C0: - bl sub_80365AC - b _08036524 -_080364C6: - bl sub_8036674 - b _08036524 -_080364CC: - bl sub_8036728 - b _08036524 -_080364D2: - bl sub_8036788 - b _08036524 -_080364D8: - bl sub_8036830 - b _08036524 -_080364DE: - bl sub_803689C - b _08036524 -_080364E4: - bl sub_80368D4 - b _08036524 -_080364EA: - bl sub_8036A7C - b _08036524 -_080364F0: - bl sub_8036934 - b _08036524 -_080364F6: - bl sub_8036950 - b _08036524 -_080364FC: - bl sub_8036AA4 - b _08036524 -_08036502: - bl sub_80369FC - b _08036524 -_08036508: - bl sub_8036A34 - b _08036524 -_0803650E: - bl sub_8036A54 - b _08036524 -_08036514: - bl sub_8036A18 - b _08036524 -_0803651A: - bl sub_8036ADC - b _08036524 -_08036520: - movs r0, 0x3 - b _08036526 -_08036524: - movs r0, 0 -_08036526: - pop {r1} - bx r1 - thumb_func_end sub_8036448 - - thumb_func_start sub_803652C -sub_803652C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - adds r1, r0, 0 - cmp r1, 0 - bne _0803658A - ldr r2, [sp] - cmp r2, 0x1 - beq _08036556 - cmp r2, 0x1 - bgt _0803654C - cmp r2, 0 - beq _08036584 - b _0803658A -_0803654C: - cmp r2, 0x2 - beq _0803656C - cmp r2, 0x7 - beq _08036584 - b _0803658A -_08036556: - ldr r0, _08036568 - ldr r0, [r0] - str r1, [r0, 0x8] - str r2, [r0, 0x10] - movs r0, 0x1 - bl sub_8036FC4 - b _0803658A - .align 2, 0 -_08036568: .4byte gUnknown_203B358 -_0803656C: - ldr r0, _08036580 - ldr r1, [r0] - movs r0, 0x1 - str r0, [r1, 0x8] - str r2, [r1, 0x10] - movs r0, 0x7 - bl sub_8036FC4 - b _0803658A - .align 2, 0 -_08036580: .4byte gUnknown_203B358 -_08036584: - movs r0, 0x12 - bl sub_8036FC4 -_0803658A: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_803652C - - thumb_func_start sub_8036590 -sub_8036590: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080365A4 - movs r0, 0x2 - bl sub_8036FC4 -_080365A4: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036590 - - thumb_func_start sub_80365AC -sub_80365AC: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _080365E8 - ldr r0, [r4] - ldr r7, _080365EC - adds r0, r7 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - ldr r6, _080365F0 - adds r0, r6 - movs r5, 0x1 - strb r5, [r0] - ldr r0, [r4] - movs r2, 0x97 - lsls r2, 2 - mov r8, r2 - add r0, r8 - strb r1, [r0] - movs r0, 0x1 - bl sub_801CA08 - cmp r0, 0x3 - beq _08036606 - cmp r0, 0x3 - bhi _080365F4 - cmp r0, 0x2 - beq _080365FA - b _0803666A - .align 2, 0 -_080365E8: .4byte gUnknown_203B358 -_080365EC: .4byte 0x0000025e -_080365F0: .4byte 0x0000025d -_080365F4: - cmp r0, 0x4 - beq _0803662C - b _0803666A -_080365FA: - bl sub_801CBB8 - movs r0, 0 - bl sub_8036FC4 - b _0803666A -_08036606: - bl sub_801CB24 - ldr r1, [r4] - ldr r2, _08036624 - adds r1, r2 - strb r0, [r1] - ldr r0, [r4] - ldr r1, _08036628 - adds r0, r1 - strb r5, [r0] - movs r0, 0x3 - bl sub_8036FC4 - b _0803666A - .align 2, 0 -_08036624: .4byte 0x0000025e -_08036628: .4byte 0x0000025d -_0803662C: - ldr r1, [r4] - movs r0, 0x2 - str r0, [r1, 0x4] - bl sub_801CB24 - ldr r1, [r4] - adds r1, r7 - strb r0, [r1] - ldr r0, [r4] - adds r0, r6 - strb r5, [r0] - ldr r0, [r4] - movs r2, 0xF2 - lsls r2, 1 - adds r0, r2 - bl sub_8006518 - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - add r0, r8 - bl sub_801B3C0 - movs r0, 0x5 - bl sub_8036FC4 -_0803666A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80365AC - - thumb_func_start sub_8036674 -sub_8036674: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_801CA08 - ldr r4, _080366B8 - ldr r0, [r4] - movs r1, 0x9A - lsls r1, 1 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _080366A6 - ldr r0, [r4] - movs r1, 0x9A - lsls r1, 1 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_080366A6: - ldr r0, [sp] - cmp r0, 0x3 - beq _080366C6 - cmp r0, 0x3 - bgt _080366BC - cmp r0, 0 - beq _08036700 - b _0803671A - .align 2, 0 -_080366B8: .4byte gUnknown_203B358 -_080366BC: - cmp r0, 0x4 - beq _080366CE - cmp r0, 0x7 - beq _08036700 - b _0803671A -_080366C6: - movs r0, 0x4 - bl sub_8036FC4 - b _0803671A -_080366CE: - ldr r0, [r4] - movs r1, 0x13 - str r1, [r0, 0x4] - movs r1, 0xF2 - lsls r1, 1 - adds r0, r1 - bl sub_8006518 - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x97 - lsls r1, 2 - adds r0, r1 - bl sub_801B3C0 - movs r0, 0x5 - bl sub_8036FC4 - b _0803671A -_08036700: - ldr r0, _08036724 - ldr r0, [r0] - movs r1, 0xC2 - lsls r1, 1 - adds r0, r1 - movs r1, 0x3 - bl sub_8035CC0 - bl sub_801CCD8 - movs r0, 0x2 - bl sub_8036FC4 -_0803671A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08036724: .4byte gUnknown_203B358 - thumb_func_end sub_8036674 - - thumb_func_start sub_8036728 -sub_8036728: - push {r4,lr} - bl sub_801B410 - cmp r0, 0x1 - beq _08036780 - cmp r0, 0x1 - bcc _08036780 - cmp r0, 0x3 - bhi _08036780 - bl sub_801B450 - bl sub_8004914 - ldr r4, _08036778 - ldr r0, [r4] - movs r1, 0xF2 - lsls r1, 1 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - bl sub_801CB5C - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0x13 - bne _0803677C - adds r0, r4, 0 - adds r0, 0x44 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x3 - bl sub_8036FC4 - b _08036780 - .align 2, 0 -_08036778: .4byte gUnknown_203B358 -_0803677C: - bl sub_8036FC4 -_08036780: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8036728 - - thumb_func_start sub_8036788 -sub_8036788: - push {r4,lr} - ldr r4, _080367B8 - ldr r0, [r4] - movs r1, 0x9A - lsls r1, 1 - adds r0, r1 - bl sub_8012FD8 - movs r0, 0 - bl sub_801CA08 - ldr r0, [r4] - adds r0, 0x14 - bl sub_8013BBC - cmp r0, 0x1 - beq _080367BC - cmp r0, 0x1 - bcc _08036824 - cmp r0, 0x2 - beq _080367D2 - cmp r0, 0x3 - beq _080367F8 - b _08036824 - .align 2, 0 -_080367B8: .4byte gUnknown_203B358 -_080367BC: - bl sub_801CCD8 - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x3 - movs r2, 0 - bl sub_8035CF4 - bl sub_8036F30 - b _08036824 -_080367D2: - ldr r0, [r4] - movs r2, 0xC2 - lsls r2, 1 - adds r0, r2 - movs r1, 0x2 - bl sub_8035CC0 - bl sub_801CCD8 - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x3 - bl sub_8036FC4 - b _08036824 -_080367F8: - ldr r0, [r4] - ldr r1, [r0, 0x14] - ldr r2, _0803682C - adds r0, r2 - strb r1, [r0] - ldr r0, [r4] - adds r2, 0x1 - adds r1, r0, r2 - ldrb r1, [r1] - subs r2, 0xA - adds r0, r2 - strb r1, [r0] - ldr r0, [r4] - adds r2, 0x4 - adds r1, r0, r2 - ldr r0, [r0, 0x14] - str r0, [r1] - bl sub_801CBB8 - movs r0, 0x6 - bl sub_8036FC4 -_08036824: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803682C: .4byte 0x0000025d - thumb_func_end sub_8036788 - - thumb_func_start sub_8036830 -sub_8036830: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036896 - ldr r0, [sp] - cmp r0, 0x5 - beq _08036854 - cmp r0, 0x5 - bgt _0803684E - cmp r0, 0 - beq _08036890 - b _08036896 -_0803684E: - cmp r0, 0x6 - beq _08036890 - b _08036896 -_08036854: - bl sub_801CBB8 - ldr r0, _08036884 - ldr r2, [r0] - ldr r0, _08036888 - ldr r1, [r0] - ldr r3, _0803688C - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, 1 - adds r2, 0x50 - adds r2, r0 - ldrh r0, [r2] - ldr r1, [r1, 0x14] - subs r0, r1 - strh r0, [r2] - movs r0, 0xF - bl sub_8036FC4 - movs r0, 0 - bl sub_8012574 - b _08036896 - .align 2, 0 -_08036884: .4byte gUnknown_203B460 -_08036888: .4byte gUnknown_203B358 -_0803688C: .4byte 0x0000025e -_08036890: - movs r0, 0 - bl sub_8036FC4 -_08036896: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036830 - - thumb_func_start sub_803689C -sub_803689C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080368CE - ldr r0, [sp] - cmp r0, 0x5 - beq _080368C0 - cmp r0, 0x5 - bgt _080368BA - cmp r0, 0 - beq _080368C8 - b _080368CE -_080368BA: - cmp r0, 0x7 - beq _080368C8 - b _080368CE -_080368C0: - movs r0, 0x9 - bl sub_8036FC4 - b _080368CE -_080368C8: - movs r0, 0x12 - bl sub_8036FC4 -_080368CE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_803689C - - thumb_func_start sub_80368D4 -sub_80368D4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803692A - ldr r0, [sp] - cmp r0, 0x5 - beq _080368F8 - cmp r0, 0x5 - bgt _080368F2 - cmp r0, 0 - beq _08036900 - b _0803692A -_080368F2: - cmp r0, 0x7 - beq _08036900 - b _0803692A -_080368F8: - movs r0, 0x9 - bl sub_8036FC4 - b _0803692A -_08036900: - ldr r0, _08036930 - ldr r1, [r0] - movs r2, 0x95 - lsls r2, 2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0803692A - adds r2, 0x4 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - beq _0803692A - bl sub_80369D0 - movs r0, 0x11 - bl sub_8036FC4 - movs r0, 0 - bl sub_8012574 -_0803692A: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08036930: .4byte gUnknown_203B358 - thumb_func_end sub_80368D4 - - thumb_func_start sub_8036934 -sub_8036934: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036948 - movs r0, 0xA - bl sub_8036FC4 -_08036948: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036934 - - thumb_func_start sub_8036950 -sub_8036950: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080369C8 - ldr r0, _08036978 - ldr r2, [r0] - ldr r1, [r2, 0xC] - adds r3, r0, 0 - cmp r1, 0 - bne _0803698C - ldr r0, [r2, 0x8] - cmp r0, 0 - beq _0803697C - cmp r0, 0x1 - beq _08036984 - b _080369C8 - .align 2, 0 -_08036978: .4byte gUnknown_203B358 -_0803697C: - movs r0, 0xD - bl sub_8036FC4 - b _080369C8 -_08036984: - movs r0, 0xE - bl sub_8036FC4 - b _080369C8 -_0803698C: - ldr r0, [r2, 0x8] - cmp r0, 0 - bne _080369BA - movs r1, 0x95 - lsls r1, 2 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080369BA - adds r1, 0x4 - adds r0, r2, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080369BA - bl sub_80369D0 - movs r0, 0xB - bl sub_8036FC4 - movs r0, 0 - bl sub_8012574 - b _080369C8 -_080369BA: - ldr r0, [r3] - ldr r0, [r0, 0xC] - bl sub_8036E18 - movs r0, 0xC - bl sub_8036FC4 -_080369C8: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036950 - - thumb_func_start sub_80369D0 -sub_80369D0: - ldr r0, _080369F4 - ldr r2, [r0] - ldr r0, _080369F8 - ldr r1, [r0] - movs r3, 0x95 - lsls r3, 2 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, 1 - adds r2, 0x50 - adds r2, r0 - ldrh r0, [r2] - adds r3, 0x4 - adds r1, r3 - ldr r1, [r1] - adds r0, r1 - strh r0, [r2] - bx lr - .align 2, 0 -_080369F4: .4byte gUnknown_203B460 -_080369F8: .4byte gUnknown_203B358 - thumb_func_end sub_80369D0 - - thumb_func_start sub_80369FC -sub_80369FC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036A10 - movs r0, 0 - bl sub_8036FC4 -_08036A10: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80369FC - - thumb_func_start sub_8036A18 -sub_8036A18: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036A2C - movs r0, 0x12 - bl sub_8036FC4 -_08036A2C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036A18 - - thumb_func_start sub_8036A34 -sub_8036A34: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036A4E - movs r0, 0x10 - bl sub_8036FC4 - movs r0, 0 - bl sub_8012574 -_08036A4E: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036A34 - - thumb_func_start sub_8036A54 -sub_8036A54: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036A76 - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08036A76 - bl sub_8012750 - movs r0, 0x12 - bl sub_8036FC4 -_08036A76: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036A54 - - thumb_func_start sub_8036A7C -sub_8036A7C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036A9E - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08036A9E - bl sub_8012750 - movs r0, 0x8 - bl sub_8036FC4 -_08036A9E: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036A7C - - thumb_func_start sub_8036AA4 -sub_8036AA4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036AD0 - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08036AD0 - bl sub_8012750 - ldr r0, _08036AD8 - ldr r0, [r0] - ldr r0, [r0, 0xC] - bl sub_8036E18 - movs r0, 0xC - bl sub_8036FC4 -_08036AD0: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08036AD8: .4byte gUnknown_203B358 - thumb_func_end sub_8036AA4 - - thumb_func_start sub_8036ADC -sub_8036ADC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036AFE - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08036AFE - bl sub_8012750 - movs r0, 0x12 - bl sub_8036FC4 -_08036AFE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036ADC - - thumb_func_start sub_8036B04 -sub_8036B04: - push {r4,lr} - ldr r4, _08036B20 - ldr r0, [r4] - cmp r0, 0 - beq _08036B1A - bl MemoryFree - movs r0, 0 - str r0, [r4] - bl sub_801CBB8 -_08036B1A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08036B20: .4byte gUnknown_203B358 - thumb_func_end sub_8036B04 - - thumb_func_start nullsub_52 -nullsub_52: - bx lr - thumb_func_end nullsub_52 - - thumb_func_start sub_8036B28 -sub_8036B28: - push {r4,r5,lr} - sub sp, 0x18 - ldr r1, _08036B44 - ldr r0, [r1] - ldr r0, [r0] - adds r5, r1, 0 - cmp r0, 0x12 - bls _08036B3A - b _08036DFA -_08036B3A: - lsls r0, 2 - ldr r1, _08036B48 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08036B44: .4byte gUnknown_203B358 -_08036B48: .4byte _08036B4C - .align 2, 0 -_08036B4C: - .4byte _08036B98 - .4byte _08036BDC - .4byte _08036BE4 - .4byte _08036C14 - .4byte _08036C58 - .4byte _08036DFA - .4byte _08036C5E - .4byte _08036C90 - .4byte _08036C98 - .4byte _08036CC0 - .4byte _08036CD8 - .4byte _08036DFA - .4byte _08036DFA - .4byte _08036DD8 - .4byte _08036D70 - .4byte _08036DFA - .4byte _08036DFA - .4byte _08036DFA - .4byte _08036DFA -_08036B98: - movs r0, 0 - bl sub_801CF14 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08036BB8 - ldr r0, _08036BB0 - ldr r3, _08036BB4 - movs r2, 0 - b _08036BBC - .align 2, 0 -_08036BB0: .4byte gUnknown_80E61A4 -_08036BB4: .4byte gUnknown_80E60D4 -_08036BB8: - ldr r0, _08036BD4 - ldr r3, _08036BD8 -_08036BBC: - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x1 - bl sub_8014248 - b _08036DFA - .align 2, 0 -_08036BD4: .4byte gUnknown_80E61A4 -_08036BD8: .4byte gUnknown_80E60A0 -_08036BDC: - ldr r0, _08036BE0 - b _08036DBA - .align 2, 0 -_08036BE0: .4byte gUnknown_80E61C0 -_08036BE4: - bl sub_801D008 - cmp r0, 0 - beq _08036BEE - b _08036DFA -_08036BEE: - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, _08036C10 - str r0, [sp, 0x14] - movs r0, 0 - movs r1, 0x1 - add r2, sp, 0x14 - movs r3, 0x9 - bl sub_801C8C4 - b _08036DFA - .align 2, 0 -_08036C10: .4byte 0x00020003 -_08036C14: - ldr r0, [r5] - movs r4, 0xC2 - lsls r4, 1 - adds r0, r4 - bl sub_8006518 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x44 - adds r1, r4 - ldr r3, _08036C50 - ldr r2, _08036C54 - 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_801CCD8 - ldr r0, [r5] - adds r0, 0x44 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - b _08036DFA - .align 2, 0 -_08036C50: .4byte gUnknown_80E60EC -_08036C54: .4byte gUnknown_80E6104 -_08036C58: - bl sub_8036F74 - b _08036DFA -_08036C5E: - ldr r2, _08036C7C - ldr r1, [r5] - ldr r0, [r1, 0x14] - str r0, [r2] - ldr r0, _08036C80 - ldr r2, _08036C84 - adds r1, r2 - ldrb r1, [r1] - movs r2, 0 - bl sub_8090DC4 - ldr r0, _08036C88 - ldr r3, _08036C8C - b _08036C9C - .align 2, 0 -_08036C7C: .4byte gUnknown_202DE30 -_08036C80: .4byte gUnknown_202DE58 -_08036C84: .4byte 0x0000025e -_08036C88: .4byte gUnknown_80E61E4 -_08036C8C: .4byte gUnknown_80E6154 -_08036C90: - ldr r0, _08036C94 - b _08036C9A - .align 2, 0 -_08036C94: .4byte gUnknown_80E6214 -_08036C98: - ldr r0, _08036CB8 -_08036C9A: - ldr r3, _08036CBC -_08036C9C: - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x5 - bl sub_8014248 - b _08036DFA - .align 2, 0 -_08036CB8: .4byte gUnknown_80E6268 -_08036CBC: .4byte gUnknown_80E618C -_08036CC0: - movs r0, 0 - bl nullsub_23 - ldr r0, _08036CD4 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80141B4 - b _08036DFA - .align 2, 0 -_08036CD4: .4byte gUnknown_80E62C4 -_08036CD8: - ldr r4, _08036D18 - ldr r1, [r4] - movs r0, 0 - str r0, [r1, 0xC] - movs r2, 0 - movs r3, 0 - movs r5, 0x91 - lsls r5, 2 - adds r0, r1, r5 - str r2, [r0] - str r3, [r0, 0x4] - movs r0, 0x93 - lsls r0, 2 - adds r1, r0 - str r2, [r1] - str r3, [r1, 0x4] - bl sub_8011830 - ldr r0, [r4] - ldr r0, [r0, 0x8] - bl sub_8037B28 - ldr r4, [r4] - str r0, [r4, 0xC] - cmp r0, 0 - bne _08036D44 - ldr r0, [r4, 0x8] - cmp r0, 0 - beq _08036D1C - cmp r0, 0x1 - beq _08036D2C - b _08036D44 - .align 2, 0 -_08036D18: .4byte gUnknown_203B358 -_08036D1C: - adds r2, r4, r5 - movs r1, 0x95 - lsls r1, 2 - adds r0, r4, r1 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] -_08036D2C: - ldr r4, _08036D6C - ldr r2, [r4] - ldr r0, [r2, 0x8] - movs r3, 0x91 - lsls r3, 2 - adds r1, r2, r3 - adds r3, 0x8 - adds r2, r3 - bl sub_8037D64 - ldr r1, [r4] - str r0, [r1, 0xC] -_08036D44: - ldr r4, _08036D6C - ldr r2, [r4] - ldr r0, [r2, 0xC] - cmp r0, 0 - bne _08036D66 - ldr r0, [r2, 0x8] - cmp r0, 0x1 - bhi _08036D66 - movs r3, 0x91 - lsls r3, 2 - adds r1, r2, r3 - adds r3, 0x8 - adds r2, r3 - bl sub_80381F4 - ldr r1, [r4] - str r0, [r1, 0xC] -_08036D66: - bl sub_8011854 - b _08036DFA - .align 2, 0 -_08036D6C: .4byte gUnknown_203B358 -_08036D70: - ldr r2, [r5] - movs r1, 0x94 - lsls r1, 2 - adds r0, r2, r1 - ldr r1, [r0] - cmp r1, 0 - bne _08036DA4 - ldr r1, _08036D9C - movs r3, 0x92 - lsls r3, 2 - adds r0, r2, r3 - ldr r0, [r0] - str r0, [r1] - ldr r0, _08036DA0 - subs r3, 0x4 - adds r1, r2, r3 - ldrb r1, [r1] - movs r2, 0 - bl sub_8090DC4 - b _08036DB8 - .align 2, 0 -_08036D9C: .4byte gUnknown_202DE30 -_08036DA0: .4byte gUnknown_202DE58 -_08036DA4: - ldr r0, _08036DC8 - str r1, [r0] - ldr r0, _08036DCC - movs r3, 0x93 - lsls r3, 2 - adds r1, r2, r3 - ldrb r1, [r1] - movs r2, 0 - bl sub_8090DC4 -_08036DB8: - ldr r0, _08036DD0 -_08036DBA: - ldr r3, _08036DD4 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _08036DFA - .align 2, 0 -_08036DC8: .4byte gUnknown_202DE30 -_08036DCC: .4byte gUnknown_202DE58 -_08036DD0: .4byte gUnknown_80E6314 -_08036DD4: .4byte 0x00000101 -_08036DD8: - ldr r2, _08036E04 - ldr r1, [r5] - ldr r0, [r1, 0x14] - str r0, [r2] - ldr r0, _08036E08 - ldr r2, _08036E0C - adds r1, r2 - ldrb r1, [r1] - movs r2, 0 - bl sub_8090DC4 - ldr r0, _08036E10 - ldr r3, _08036E14 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 -_08036DFA: - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08036E04: .4byte gUnknown_202DE30 -_08036E08: .4byte gUnknown_202DE58 -_08036E0C: .4byte 0x0000025e -_08036E10: .4byte gUnknown_80E6358 -_08036E14: .4byte 0x00000101 - thumb_func_end sub_8036B28 - - thumb_func_start sub_8036E18 -sub_8036E18: - push {lr} - cmp r0, 0xF - bhi _08036EB4 - lsls r0, 2 - ldr r1, _08036E28 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08036E28: .4byte _08036E2C - .align 2, 0 -_08036E2C: - .4byte _08036EC0 - .4byte _08036E6C - .4byte _08036E7C - .4byte _08036E74 - .4byte _08036E84 - .4byte _08036E8C - .4byte _08036EB4 - .4byte _08036EB4 - .4byte _08036EB4 - .4byte _08036EB4 - .4byte _08036EB4 - .4byte _08036EB4 - .4byte _08036EB4 - .4byte _08036EB4 - .4byte _08036E94 - .4byte _08036E9C -_08036E6C: - ldr r0, _08036E70 - b _08036E9E - .align 2, 0 -_08036E70: .4byte gUnknown_80E6378 -_08036E74: - ldr r0, _08036E78 - b _08036E9E - .align 2, 0 -_08036E78: .4byte gUnknown_80E639C -_08036E7C: - ldr r0, _08036E80 - b _08036E9E - .align 2, 0 -_08036E80: .4byte gUnknown_80E63F8 -_08036E84: - ldr r0, _08036E88 - b _08036E9E - .align 2, 0 -_08036E88: .4byte gUnknown_80E6448 -_08036E8C: - ldr r0, _08036E90 - b _08036E9E - .align 2, 0 -_08036E90: .4byte gUnknown_80E6378 -_08036E94: - ldr r0, _08036E98 - b _08036E9E - .align 2, 0 -_08036E98: .4byte gUnknown_80E6378 -_08036E9C: - ldr r0, _08036EAC -_08036E9E: - ldr r3, _08036EB0 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _08036EC0 - .align 2, 0 -_08036EAC: .4byte gUnknown_80E64AC -_08036EB0: .4byte 0x00000101 -_08036EB4: - ldr r0, _08036EC4 - ldr r3, _08036EC8 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 -_08036EC0: - pop {r0} - bx r0 - .align 2, 0 -_08036EC4: .4byte gUnknown_80E6378 -_08036EC8: .4byte 0x00000101 - thumb_func_end sub_8036E18 - - thumb_func_start sub_8036ECC -sub_8036ECC: - push {r4-r6,lr} - adds r3, r0, 0 - ldr r6, _08036F28 - ldr r0, [r6] - movs r2, 0x3 - str r2, [r0, 0x24] - movs r2, 0x1 - str r2, [r0, 0x18] - str r2, [r0, 0x1C] - str r1, [r0, 0x20] - movs r1, 0x2C - str r1, [r0, 0x30] - movs r1, 0x12 - str r1, [r0, 0x34] - str r3, [r0, 0x28] - lsls r4, r3, 1 - adds r4, r3 - lsls r4, 3 - movs r5, 0xC2 - lsls r5, 1 - adds r1, r4, r5 - adds r1, r0, r1 - str r1, [r0, 0x2C] - adds r0, 0x14 - bl sub_8013AA0 - ldr r1, [r6] - adds r1, r4 - adds r1, r5 - ldr r0, _08036F2C - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - bl sub_8004914 - ldr r0, [r6] - adds r0, r5 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08036F28: .4byte gUnknown_203B358 -_08036F2C: .4byte gUnknown_80E6174 - thumb_func_end sub_8036ECC - - thumb_func_start sub_8036F30 -sub_8036F30: - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _08036F6C - ldr r0, [r5] - ldr r4, [r0, 0x28] - adds r0, r4, 0 - bl sub_8008C54 - adds r0, r4, 0 - bl sub_80073B8 - ldr r2, _08036F70 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - movs r1, 0 - adds r3, r4, 0 - bl xxx_call_draw_string - ldr r0, [r5] - adds r0, 0x14 - bl sub_8013C68 - adds r0, r4, 0 - bl sub_80073E0 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08036F6C: .4byte gUnknown_203B358 -_08036F70: .4byte gUnknown_80E6528 - thumb_func_end sub_8036F30 - - thumb_func_start sub_8036F74 -sub_8036F74: - push {r4,lr} - ldr r4, _08036FB8 - ldr r0, [r4] - movs r1, 0xC2 - lsls r1, 1 - adds r0, r1 - bl sub_8006518 - ldr r0, _08036FBC - ldr r1, [r0] - ldr r0, [r4] - ldr r2, _08036FC0 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r1, [r1] - movs r0, 0x2 - bl sub_8036ECC - bl sub_801CCD8 - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x3 - movs r2, 0 - bl sub_8035CF4 - bl sub_8036F30 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08036FB8: .4byte gUnknown_203B358 -_08036FBC: .4byte gUnknown_203B460 -_08036FC0: .4byte 0x0000025e - thumb_func_end sub_8036F74 - - thumb_func_start sub_8036FC4 -sub_8036FC4: - push {lr} - ldr r1, _08036FD8 - ldr r1, [r1] - str r0, [r1] - bl nullsub_52 - bl sub_8036B28 - pop {r0} - bx r0 - .align 2, 0 -_08036FD8: .4byte gUnknown_203B358 - thumb_func_end sub_8036FC4 - - thumb_func_start sub_8036FDC -sub_8036FDC: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r6, r0, 0 - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0 - bl ResetSprites - ldr r5, _080370C0 - ldr r0, [r5] - cmp r0, 0 - bne _08037016 - ldr r4, _080370C4 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_08037016: - ldr r0, [r5] - str r6, [r0] - movs r1, 0 - str r1, [r0, 0x4] - str r1, [r0, 0x8] - movs r3, 0 - adds r7, r5, 0 - movs r6, 0xE0 - lsls r6, 1 - movs r4, 0 - movs r5, 0xDE - lsls r5, 1 -_0803702E: - ldr r0, [r7] - lsls r2, r3, 3 - adds r1, r0, r6 - adds r1, r2 - str r4, [r1] - adds r0, r2 - adds r0, r5 - strb r4, [r0] - adds r3, 0x1 - cmp r3, 0x1 - ble _0803702E - ldr r0, _080370C0 - mov r12, r0 - movs r5, 0xAE - lsls r5, 1 - mov r8, r5 - ldr r4, _080370C8 - movs r3, 0 - movs r2, 0x3 -_08037054: - mov r6, r12 - ldr r1, [r6] - adds r1, r3 - add r1, r8 - 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 _08037054 - movs r6, 0 - bl sub_8004914 - ldr r5, _080370C0 - ldr r0, [r5] - movs r4, 0xAE - lsls r4, 1 - adds r0, r4 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x1C - adds r1, r4 - ldr r3, _080370CC - ldr r2, _080370D0 - str r2, [sp] - str r6, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r6, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - ldr r0, [r5] - adds r0, 0x1C - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - bl sub_80376CC - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080370C0: .4byte gUnknown_203B35C -_080370C4: .4byte 0x00000504 -_080370C8: .4byte gUnknown_80E653C -_080370CC: .4byte gUnknown_80E6CD0 -_080370D0: .4byte gUnknown_80E6CE8 - thumb_func_end sub_8036FDC - - thumb_func_start sub_80370D4 -sub_80370D4: - push {r4,lr} - ldr r4, _080370EC - ldr r0, [r4] - cmp r0, 0 - beq _080370E6 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_080370E6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080370EC: .4byte gUnknown_203B35C - thumb_func_end sub_80370D4 - - thumb_func_start sub_80370F0 -sub_80370F0: - push {r4,r5,lr} - sub sp, 0x4 - movs r0, 0x4 - str r0, [sp] - ldr r5, _08037110 - ldr r4, _08037114 - ldr r1, [r4] - ldr r0, [r1, 0x8] - cmp r0, 0x1 - beq _08037148 - cmp r0, 0x1 - bcc _08037118 - cmp r0, 0x2 - beq _08037158 - b _080371A8 - .align 2, 0 -_08037110: .4byte 0x0000ffdc -_08037114: .4byte gUnknown_203B35C -_08037118: - adds r0, r1, 0 - adds r0, 0x1C - bl sub_80130A8 - lsls r0, 24 - cmp r0, 0 - bne _08037130 - ldr r0, [r4] - adds r0, 0x1C - mov r1, sp - bl sub_8013114 -_08037130: - ldr r0, [sp] - cmp r0, 0x4 - bne _0803713C - bl sub_8037748 - b _080371A8 -_0803713C: - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1, 0x8] - bl sub_8037900 - b _080371A8 -_08037148: - bl sub_80376CC - ldr r1, [r4] - movs r0, 0x2 - str r0, [r1, 0x8] - bl sub_80371B8 - b _080371A8 -_08037158: - ldr r0, [r1] - cmp r0, 0x1 - bhi _08037172 - ldr r0, [r1, 0x4] - cmp r0, 0 - bne _08037172 - movs r0, 0 - bl sub_8037C10 - cmp r0, 0 - bne _08037172 - movs r0, 0x29 - b _080371AA -_08037172: - ldr r4, _080371B4 - ldr r0, [r4] - adds r0, 0x1C - bl sub_80130A8 - lsls r0, 24 - cmp r0, 0 - bne _0803718C - ldr r0, [r4] - adds r0, 0x1C - mov r1, sp - bl sub_8013114 -_0803718C: - ldr r0, [sp] - cmp r0, 0x4 - beq _080371A4 - movs r0, 0x3 - bl sub_80119D4 - bl sub_8037798 - adds r5, r0, 0 - ldr r1, [r4] - movs r0, 0x4 - str r0, [r1, 0x8] -_080371A4: - bl sub_8037748 -_080371A8: - adds r0, r5, 0 -_080371AA: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080371B4: .4byte gUnknown_203B35C - thumb_func_end sub_80370F0 - - thumb_func_start sub_80371B8 -sub_80371B8: - push {r4-r7,lr} - sub sp, 0x10 - movs r6, 0 - movs r5, 0 - bl sub_8037400 - ldr r7, _0803721C - ldr r1, [r7] - ldr r0, [r1] - cmp r0, 0x1 - bhi _08037228 - ldr r0, [r1, 0x4] - cmp r0, 0 - bne _08037228 - movs r0, 0 - bl sub_8037C10 - cmp r0, 0 - bne _080371E0 - b _080373AC -_080371E0: - bl sub_80376CC - ldr r0, [r7] - movs r4, 0xAE - lsls r4, 1 - adds r0, r4 - movs r1, 0 - bl sub_8035CC0 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x1C - adds r1, r4 - ldr r3, _08037220 - ldr r2, _08037224 - str r2, [sp] - str r6, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r6, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - ldr r0, [r7] - adds r0, 0x1C - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - b _080373AC - .align 2, 0 -_0803721C: .4byte gUnknown_203B35C -_08037220: .4byte gUnknown_80E6C50 -_08037224: .4byte gUnknown_80E6C68 -_08037228: - bl sub_80376CC - ldr r4, _08037250 - ldr r0, [r4] - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - movs r1, 0 - bl sub_8035CC0 - ldr r0, [r4] - ldr r0, [r0, 0x4] - cmp r0, 0xF - bls _08037246 - b _0803734C -_08037246: - lsls r0, 2 - ldr r1, _08037254 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08037250: .4byte gUnknown_203B35C -_08037254: .4byte _08037258 - .align 2, 0 -_08037258: - .4byte _08037298 - .4byte _080372D8 - .4byte _080372B8 - .4byte _080372A8 - .4byte _080372C8 - .4byte _080372D8 - .4byte _080372E8 - .4byte _080372F8 - .4byte _0803734C - .4byte _08037308 - .4byte _0803734C - .4byte _08037318 - .4byte _0803734C - .4byte _08037328 - .4byte _08037338 - .4byte _08037348 -_08037298: - ldr r6, _080372A0 - ldr r5, _080372A4 - b _0803734C - .align 2, 0 -_080372A0: .4byte gUnknown_80E66BC -_080372A4: .4byte gUnknown_80E66D4 -_080372A8: - ldr r6, _080372B0 - ldr r5, _080372B4 - b _0803734C - .align 2, 0 -_080372B0: .4byte gUnknown_80E6D54 -_080372B4: .4byte gUnknown_80E6D6C -_080372B8: - ldr r6, _080372C0 - ldr r5, _080372C4 - b _0803734C - .align 2, 0 -_080372C0: .4byte gUnknown_80E6DDC -_080372C4: .4byte gUnknown_80E6DF4 -_080372C8: - ldr r6, _080372D0 - ldr r5, _080372D4 - b _0803734C - .align 2, 0 -_080372D0: .4byte gUnknown_80E67D4 -_080372D4: .4byte gUnknown_80E67EC -_080372D8: - ldr r6, _080372E0 - ldr r5, _080372E4 - b _0803734C - .align 2, 0 -_080372E0: .4byte gUnknown_80E6748 -_080372E4: .4byte gUnknown_80E6760 -_080372E8: - ldr r6, _080372F0 - ldr r5, _080372F4 - b _0803734C - .align 2, 0 -_080372F0: .4byte gUnknown_80E689C -_080372F4: .4byte gUnknown_80E68B4 -_080372F8: - ldr r6, _08037300 - ldr r5, _08037304 - b _0803734C - .align 2, 0 -_08037300: .4byte gUnknown_80E6938 -_08037304: .4byte gUnknown_80E6950 -_08037308: - ldr r6, _08037310 - ldr r5, _08037314 - b _0803734C - .align 2, 0 -_08037310: .4byte gUnknown_80E69B0 -_08037314: .4byte gUnknown_80E69C8 -_08037318: - ldr r6, _08037320 - ldr r5, _08037324 - b _0803734C - .align 2, 0 -_08037320: .4byte gUnknown_80E6A10 -_08037324: .4byte gUnknown_80E6A28 -_08037328: - ldr r6, _08037330 - ldr r5, _08037334 - b _0803734C - .align 2, 0 -_08037330: .4byte gUnknown_80E6A74 -_08037334: .4byte gUnknown_80E6A8C -_08037338: - ldr r6, _08037340 - ldr r5, _08037344 - b _0803734C - .align 2, 0 -_08037340: .4byte gUnknown_80E6B78 -_08037344: .4byte gUnknown_80E6B90 -_08037348: - ldr r6, _080373B4 - ldr r5, _080373B8 -_0803734C: - ldr r4, _080373BC - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x1C - movs r2, 0xAE - lsls r2, 1 - adds r1, r2 - str r5, [sp] - movs r3, 0 - str r3, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r3, [sp, 0xC] - movs r2, 0 - adds r3, r6, 0 - bl SetMenuItems - ldr r0, [r4] - adds r0, 0x1C - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _080373AC - ldr r0, [r4] - cmp r0, 0 - bne _080373AC - bl sub_8035D94 - adds r2, r0, 0 - ldrb r0, [r2] - cmp r0, 0 - beq _080373AC - ldr r3, [r2, 0x4] - cmp r3, 0 - beq _080373AC - ldr r0, _080373C0 - ldr r1, [r0] - ldrb r0, [r2] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r0, [r1] - adds r0, r3 - strh r0, [r1] -_080373AC: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080373B4: .4byte gUnknown_80E6BF4 -_080373B8: .4byte gUnknown_80E6C0C -_080373BC: .4byte gUnknown_203B35C -_080373C0: .4byte gUnknown_203B460 - thumb_func_end sub_80371B8 - - thumb_func_start sub_80373C4 -sub_80373C4: - push {lr} - movs r0, 0 - movs r1, 0 - bl sub_8005838 - bl sub_80060EC - bl sub_800CB20 - bl sub_800485C - bl TransferBGPaletteBuffer - bl xxx_call_update_bg_vram - bl sub_8009908 - bl xxx_call_update_bg_sound_input - movs r0, 0 - bl ResetSprites - pop {r0} - bx r0 - thumb_func_end sub_80373C4 - - thumb_func_start sub_80373F4 -sub_80373F4: - ldr r0, _080373FC - ldr r0, [r0] - bx lr - .align 2, 0 -_080373FC: .4byte gUnknown_203B35C - thumb_func_end sub_80373F4 - - thumb_func_start sub_8037400 -sub_8037400: - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 - bl sub_8037810 - bl sub_8011830 - ldr r4, _08037434 - ldr r0, [r4] - ldr r0, [r0] - bl sub_8037B28 - ldr r4, [r4] - str r0, [r4, 0x4] - cmp r0, 0 - beq _08037422 - b _080376BE -_08037422: - ldr r0, [r4] - cmp r0, 0xA - bls _0803742A - b _080375E8 -_0803742A: - lsls r0, 2 - ldr r1, _08037438 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08037434: .4byte gUnknown_203B35C -_08037438: .4byte _0803743C - .align 2, 0 -_0803743C: - .4byte _08037494 - .4byte _080374B8 - .4byte _08037534 - .4byte _0803751C - .4byte _0803756C - .4byte _080375D8 - .4byte _080374E4 - .4byte _080374D0 - .4byte _080375E8 - .4byte _08037480 - .4byte _08037468 -_08037468: - ldr r0, _0803747C - ldr r0, [r0] - movs r1, 0xE7 - lsls r1, 2 - adds r6, r0, r1 - movs r2, 0x8A - lsls r2, 3 - adds r5, r0, r2 - b _080375E8 - .align 2, 0 -_0803747C: .4byte gUnknown_203B35C -_08037480: - ldr r0, _08037490 - ldr r0, [r0] - movs r3, 0xE7 - lsls r3, 2 - adds r6, r0, r3 - movs r4, 0x8A - lsls r4, 3 - b _080375E6 - .align 2, 0 -_08037490: .4byte gUnknown_203B35C -_08037494: - bl sub_8035D94 - ldr r1, _080374B4 - ldr r3, [r1] - movs r5, 0xDE - lsls r5, 1 - adds r2, r3, r5 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - adds r6, r2, 0 - movs r0, 0xE2 - lsls r0, 1 - adds r5, r3, r0 - b _080375E8 - .align 2, 0 -_080374B4: .4byte gUnknown_203B35C -_080374B8: - ldr r0, _080374CC - ldr r0, [r0] - movs r1, 0xDE - lsls r1, 1 - adds r6, r0, r1 - movs r2, 0xE2 - lsls r2, 1 - adds r5, r0, r2 - b _080375E8 - .align 2, 0 -_080374CC: .4byte gUnknown_203B35C -_080374D0: - ldr r0, _080374E0 - ldr r0, [r0] - movs r3, 0xE6 - lsls r3, 1 - adds r6, r0, r3 - movs r4, 0xFE - lsls r4, 1 - b _080375E6 - .align 2, 0 -_080374E0: .4byte gUnknown_203B35C -_080374E4: - bl sub_8035D74 - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - ldr r3, _08037518 - ldr r1, [r3] - movs r2, 0xE6 - lsls r2, 1 - adds r1, r2 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r0, [r3] - adds r6, r0, r2 - movs r1, 0xFE - lsls r1, 1 - adds r5, r0, r1 - b _080375E8 - .align 2, 0 -_08037518: .4byte gUnknown_203B35C -_0803751C: - ldr r0, _08037530 - ldr r0, [r0] - movs r2, 0x8B - lsls r2, 2 - adds r6, r0, r2 - movs r3, 0x97 - lsls r3, 2 - adds r5, r0, r3 - b _080375E8 - .align 2, 0 -_08037530: .4byte gUnknown_203B35C -_08037534: - bl sub_8035D74 - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - ldr r3, _08037568 - ldr r1, [r3] - movs r2, 0x8B - lsls r2, 2 - adds r1, r2 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r0, [r3] - adds r6, r0, r2 - movs r1, 0x97 - lsls r1, 2 - adds r5, r0, r1 - b _080375E8 - .align 2, 0 -_08037568: .4byte gUnknown_203B35C -_0803756C: - bl sub_8035D74 - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - ldr r4, _080375CC - ldr r1, [r4] - movs r5, 0xA3 - lsls r5, 2 - adds r1, r5 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - bl sub_8035D3C - lsls r0, 16 - ldr r1, _080375D0 - cmp r0, r1 - beq _080375BE - bl sub_8035D3C - ldr r3, [r4] - movs r1, 0xAF - lsls r1, 2 - adds r3, r1 - ldr r1, _080375D4 - ldr r1, [r1] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x58 - muls r0, r2 - adds r1, r0 - adds r0, r3, 0 - bl memcpy -_080375BE: - ldr r0, [r4] - adds r6, r0, r5 - movs r2, 0xC5 - lsls r2, 2 - adds r5, r0, r2 - b _080375E8 - .align 2, 0 -_080375CC: .4byte gUnknown_203B35C -_080375D0: .4byte 0xffff0000 -_080375D4: .4byte gUnknown_203B45C -_080375D8: - ldr r0, _08037610 - ldr r0, [r0] - movs r3, 0xA3 - lsls r3, 2 - adds r6, r0, r3 - movs r4, 0xC5 - lsls r4, 2 -_080375E6: - adds r5, r0, r4 -_080375E8: - ldr r4, _08037610 - ldr r0, [r4] - ldr r0, [r0] - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_8037D64 - ldr r1, [r4] - str r0, [r1, 0x4] - cmp r0, 0 - bne _080376BE - ldr r0, [r1] - cmp r0, 0xA - bhi _080376AE - lsls r0, 2 - ldr r1, _08037614 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08037610: .4byte gUnknown_203B35C -_08037614: .4byte _08037618 - .align 2, 0 -_08037618: - .4byte _08037644 - .4byte _08037644 - .4byte _08037658 - .4byte _08037658 - .4byte _0803766C - .4byte _0803766C - .4byte _08037684 - .4byte _08037684 - .4byte _080376AE - .4byte _0803769C - .4byte _0803769C -_08037644: - ldr r0, _08037654 - ldr r2, [r0] - movs r5, 0xDE - lsls r5, 1 - adds r6, r2, r5 - movs r1, 0xE2 - lsls r1, 1 - b _0803767A - .align 2, 0 -_08037654: .4byte gUnknown_203B35C -_08037658: - ldr r0, _08037668 - ldr r2, [r0] - movs r3, 0x8B - lsls r3, 2 - adds r6, r2, r3 - movs r4, 0x97 - lsls r4, 2 - b _08037692 - .align 2, 0 -_08037668: .4byte gUnknown_203B35C -_0803766C: - ldr r0, _08037680 - ldr r2, [r0] - movs r5, 0xA3 - lsls r5, 2 - adds r6, r2, r5 - movs r1, 0xC5 - lsls r1, 2 -_0803767A: - adds r5, r2, r1 - adds r4, r0, 0 - b _080376AE - .align 2, 0 -_08037680: .4byte gUnknown_203B35C -_08037684: - ldr r0, _08037698 - ldr r2, [r0] - movs r3, 0xE6 - lsls r3, 1 - adds r6, r2, r3 - movs r4, 0xFE - lsls r4, 1 -_08037692: - adds r5, r2, r4 - adds r4, r0, 0 - b _080376AE - .align 2, 0 -_08037698: .4byte gUnknown_203B35C -_0803769C: - ldr r1, _080376C8 - ldr r0, [r1] - movs r5, 0xE7 - lsls r5, 2 - adds r6, r0, r5 - movs r2, 0x8A - lsls r2, 3 - adds r5, r0, r2 - adds r4, r1, 0 -_080376AE: - ldr r0, [r4] - ldr r0, [r0] - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_80381F4 - ldr r1, [r4] - str r0, [r1, 0x4] -_080376BE: - bl sub_8011854 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080376C8: .4byte gUnknown_203B35C - thumb_func_end sub_8037400 - - thumb_func_start sub_80376CC -sub_80376CC: - push {r4,lr} - ldr r0, _08037728 - ldr r3, [r0] - ldrh r1, [r3, 0xC] - ldr r0, _0803772C - ands r0, r1 - ldr r1, _08037730 - ands r0, r1 - ldr r4, _08037734 - ands r0, r4 - ldr r1, _08037738 - ands r0, r1 - ldr r1, _0803773C - ands r0, r1 - movs r2, 0x80 - lsls r2, 7 - ldr r1, _08037740 - ands r0, r1 - orrs r0, r2 - strh r0, [r3, 0xC] - movs r2, 0xFC - lsls r2, 2 - ldrh r1, [r3, 0x10] - movs r0, 0xFC - lsls r0, 8 - ands r0, r1 - orrs r0, r2 - ands r0, r4 - movs r2, 0xF - movs r4, 0xF0 - lsls r4, 8 - ldr r1, _08037744 - ands r0, r1 - orrs r0, r4 - strh r0, [r3, 0x10] - movs r0, 0 - strh r0, [r3, 0xE] - movs r1, 0xC0 - lsls r1, 4 - ldrh r0, [r3, 0x12] - ands r2, r0 - orrs r2, r1 - strh r2, [r3, 0x12] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08037728: .4byte gUnknown_203B35C -_0803772C: .4byte 0x0000feff -_08037730: .4byte 0x0000fdff -_08037734: .4byte 0x0000f3ff -_08037738: .4byte 0x0000efff -_0803773C: .4byte 0x0000dfff -_08037740: .4byte 0x00003fff -_08037744: .4byte 0x00000fff - thumb_func_end sub_80376CC - - thumb_func_start sub_8037748 -sub_8037748: - push {r4,lr} - ldr r4, _08037794 - ldr r3, [r4] - ldrh r1, [r3, 0xE] - movs r0, 0xFE - lsls r0, 8 - ands r0, r1 - movs r1, 0x70 - orrs r0, r1 - strh r0, [r3, 0xE] - movs r2, 0xD0 - lsls r2, 3 - ldrh r1, [r3, 0x12] - movs r0, 0xF - ands r0, r1 - orrs r0, r2 - strh r0, [r3, 0x12] - ldr r0, [r3, 0x14] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08037782 - adds r0, r3, 0 - adds r0, 0xC - adds r1, 0xF8 - movs r2, 0 - movs r3, 0 - bl AddSprite -_08037782: - bl xxx_draw_string_80144C4 - ldr r1, [r4] - ldr r0, [r1, 0x14] - adds r0, 0x1 - str r0, [r1, 0x14] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08037794: .4byte gUnknown_203B35C - thumb_func_end sub_8037748 - - thumb_func_start sub_8037798 -sub_8037798: - push {lr} - ldr r2, _080377B4 - ldr r1, _080377B8 - ldr r0, [r1] - ldr r0, [r0] - adds r3, r1, 0 - cmp r0, 0xA - bhi _0803780A - lsls r0, 2 - ldr r1, _080377BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080377B4: .4byte 0x0000ffdc -_080377B8: .4byte gUnknown_203B35C -_080377BC: .4byte _080377C0 - .align 2, 0 -_080377C0: - .4byte _080377EC - .4byte _080377EC - .4byte _080377F0 - .4byte _080377F0 - .4byte _080377F0 - .4byte _080377F0 - .4byte _080377F0 - .4byte _080377F0 - .4byte _0803780A - .4byte _080377FE - .4byte _080377FE -_080377EC: - movs r2, 0x1 - b _0803780A -_080377F0: - ldr r0, [r3] - ldr r0, [r0, 0x4] - movs r2, 0x1 - cmp r0, 0 - bne _0803780A - movs r2, 0x2A - b _0803780A -_080377FE: - ldr r0, [r3] - ldr r0, [r0, 0x4] - movs r2, 0xD - cmp r0, 0 - bne _0803780A - movs r2, 0x2B -_0803780A: - adds r0, r2, 0 - pop {r1} - bx r1 - thumb_func_end sub_8037798 - - thumb_func_start sub_8037810 -sub_8037810: - push {r4-r6,lr} - ldr r6, _080378FC - ldr r0, [r6] - movs r5, 0xDE - lsls r5, 1 - adds r0, r5 - movs r1, 0 - movs r2, 0x8 - bl MemoryFill8 - ldr r0, [r6] - movs r4, 0xE2 - lsls r4, 1 - adds r0, r4 - movs r1, 0 - movs r2, 0x8 - bl MemoryFill8 - ldr r0, [r6] - adds r5, r0, r5 - movs r1, 0 - movs r2, 0 - str r1, [r5] - str r2, [r5, 0x4] - adds r4, r0, r4 - str r1, [r4] - str r2, [r4, 0x4] - movs r2, 0xE6 - lsls r2, 1 - adds r0, r2 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r3, 0xFE - lsls r3, 1 - adds r0, r3 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r1, 0x8B - lsls r1, 2 - adds r0, r1 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r2, 0x97 - lsls r2, 2 - adds r0, r2 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r3, 0xA3 - lsls r3, 2 - adds r0, r3 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r1, 0xC5 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r2, 0xAF - lsls r2, 2 - adds r0, r2 - movs r1, 0 - movs r2, 0x58 - bl MemoryFill8 - ldr r0, [r6] - movs r3, 0xD1 - lsls r3, 2 - adds r0, r3 - movs r1, 0 - movs r2, 0x58 - bl MemoryFill8 - ldr r0, [r6] - movs r1, 0xE7 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - movs r2, 0xB4 - bl MemoryFill8 - ldr r0, [r6] - movs r2, 0x8A - lsls r2, 3 - adds r0, r2 - movs r1, 0 - movs r2, 0xB4 - bl MemoryFill8 - ldr r2, [r6] - movs r3, 0xB1 - lsls r3, 2 - adds r0, r2, r3 - movs r1, 0 - strh r1, [r0] - adds r3, 0x88 - adds r0, r2, r3 - strh r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080378FC: .4byte gUnknown_203B35C - thumb_func_end sub_8037810 - - thumb_func_start sub_8037900 -sub_8037900: - push {r4,lr} - sub sp, 0x10 - ldr r4, _08037928 - ldr r0, [r4] - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - movs r1, 0 - bl sub_8035CC0 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0xA - bls _0803791E - b _08037A14 -_0803791E: - lsls r0, 2 - ldr r1, _0803792C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08037928: .4byte gUnknown_203B35C -_0803792C: .4byte _08037930 - .align 2, 0 -_08037930: - .4byte _0803795C - .4byte _0803795C - .4byte _0803797C - .4byte _0803797C - .4byte _0803799C - .4byte _0803799C - .4byte _080379BC - .4byte _080379BC - .4byte _08037A14 - .4byte _080379F0 - .4byte _080379F0 -_0803795C: - ldr r0, _08037970 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x1C - movs r2, 0xAE - lsls r2, 1 - adds r1, r2 - ldr r3, _08037974 - ldr r2, _08037978 - b _080379CE - .align 2, 0 -_08037970: .4byte gUnknown_203B35C -_08037974: .4byte gUnknown_80E6554 -_08037978: .4byte gUnknown_80E656C -_0803797C: - ldr r0, _08037990 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x1C - movs r2, 0xAE - lsls r2, 1 - adds r1, r2 - ldr r3, _08037994 - ldr r2, _08037998 - b _080379CE - .align 2, 0 -_08037990: .4byte gUnknown_203B35C -_08037994: .4byte gUnknown_80E6554 -_08037998: .4byte gUnknown_80E65D8 -_0803799C: - ldr r0, _080379B0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x1C - movs r2, 0xAE - lsls r2, 1 - adds r1, r2 - ldr r3, _080379B4 - ldr r2, _080379B8 - b _080379CE - .align 2, 0 -_080379B0: .4byte gUnknown_203B35C -_080379B4: .4byte gUnknown_80E6554 -_080379B8: .4byte gUnknown_80E661C -_080379BC: - ldr r0, _080379E4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x1C - movs r2, 0xAE - lsls r2, 1 - adds r1, r2 - ldr r3, _080379E8 - ldr r2, _080379EC -_080379CE: - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - b _08037A14 - .align 2, 0 -_080379E4: .4byte gUnknown_203B35C -_080379E8: .4byte gUnknown_80E6554 -_080379EC: .4byte gUnknown_80E665C -_080379F0: - ldr r0, _08037A38 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x1C - movs r2, 0xAE - lsls r2, 1 - adds r1, r2 - ldr r3, _08037A3C - ldr r2, _08037A40 - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems -_08037A14: - ldr r4, _08037A38 - ldr r0, [r4] - adds r0, 0x1C - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - bl sub_80373C4 - ldr r0, [r4] - adds r0, 0x1C - bl sub_80130A8 - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08037A38: .4byte gUnknown_203B35C -_08037A3C: .4byte gUnknown_80E6554 -_08037A40: .4byte gUnknown_80E667C - thumb_func_end sub_8037900 - - thumb_func_start nullsub_202 -nullsub_202: - bx lr - thumb_func_end nullsub_202 - - thumb_func_start sub_8037A48 -sub_8037A48: - push {r4-r6,lr} - sub sp, 0x28 - movs r6, 0x1 - movs r0, 0 - mov r1, sp - movs r2, 0x14 - bl sub_800D670 - add r4, sp, 0x14 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x14 - bl sub_800D670 - ldr r1, _08037AAC - movs r3, 0x8 - adds r2, r1, 0 - adds r0, r2, 0x4 -_08037A6C: - str r3, [r0] - subs r0, 0x4 - cmp r0, r1 - bge _08037A6C - ldr r0, [sp, 0x10] - str r0, [r2] - ldr r0, [r4, 0x10] - str r0, [r2, 0x4] - ldr r5, _08037AB0 - mov r0, sp - adds r1, r5, 0 - bl strcmp - cmp r0, 0 - beq _08037A8C - movs r0, 0x1 -_08037A8C: - lsls r0, 24 - cmp r0, 0 - bne _08037AA6 - adds r0, r4, 0 - adds r1, r5, 0 - bl strcmp - cmp r0, 0 - beq _08037AA0 - movs r0, 0x1 -_08037AA0: - lsls r0, 24 - cmp r0, 0 - beq _08037AB4 -_08037AA6: - movs r0, 0 - b _08037B1E - .align 2, 0 -_08037AAC: .4byte gUnknown_202EC40 -_08037AB0: .4byte gUnknown_80E6E50 -_08037AB4: - ldr r1, [sp, 0x10] - cmp r1, 0 - bne _08037AC0 - ldr r0, [r4, 0x10] - cmp r0, 0x1 - beq _08037B1C -_08037AC0: - cmp r1, 0x1 - bne _08037ACA - ldr r0, [r4, 0x10] - cmp r0, 0 - beq _08037B1C -_08037ACA: - cmp r1, 0x2 - bne _08037AD4 - ldr r0, [r4, 0x10] - cmp r0, 0x3 - beq _08037B1C -_08037AD4: - cmp r1, 0x3 - bne _08037ADE - ldr r0, [r4, 0x10] - cmp r0, 0x2 - beq _08037B1C -_08037ADE: - cmp r1, 0x9 - bne _08037AE8 - ldr r0, [r4, 0x10] - cmp r0, 0xA - beq _08037B1C -_08037AE8: - cmp r1, 0xA - bne _08037AF2 - ldr r0, [r4, 0x10] - cmp r0, 0x9 - beq _08037B1C -_08037AF2: - cmp r1, 0x4 - bne _08037AFC - ldr r0, [r4, 0x10] - cmp r0, 0x5 - beq _08037B1C -_08037AFC: - cmp r1, 0x5 - bne _08037B06 - ldr r0, [r4, 0x10] - cmp r0, 0x4 - beq _08037B1C -_08037B06: - cmp r1, 0x6 - bne _08037B10 - ldr r0, [r4, 0x10] - cmp r0, 0x7 - beq _08037B1C -_08037B10: - cmp r1, 0x7 - bne _08037B1A - ldr r0, [r4, 0x10] - cmp r0, 0x6 - beq _08037B1C -_08037B1A: - movs r6, 0 -_08037B1C: - adds r0, r6, 0 -_08037B1E: - add sp, 0x28 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8037A48 - - thumb_func_start sub_8037B28 -sub_8037B28: - push {r4,r5,lr} - sub sp, 0x14 - adds r4, r0, 0 - movs r5, 0 - bl sub_800D414 - ldr r0, _08037B58 - str r5, [r0] - ldr r5, _08037B5C - mov r0, sp - movs r1, 0 - movs r2, 0x14 - bl MemoryFill8 - mov r0, sp - adds r1, r5, 0 - bl strcpy - str r4, [sp, 0x10] - mov r0, sp - movs r1, 0x14 - bl sub_800D59C - b _08037B7A - .align 2, 0 -_08037B58: .4byte gUnknown_202EC38 -_08037B5C: .4byte gUnknown_80E6E50 -_08037B60: - cmp r5, 0x3 - beq _08037BCC - cmp r5, 0x4 - beq _08037BD8 - cmp r5, 0x5 - beq _08037BF0 - ldr r2, _08037BC0 - ldr r1, [r2] - ldr r0, _08037BC4 - cmp r1, r0 - bgt _08037BE4 - adds r0, r1, 0x1 - str r0, [r2] -_08037B7A: - movs r4, 0 -_08037B7C: - bl sub_80373C4 - bl sub_8012AE8 - cmp r0, 0x3 - bgt _08037B8C - cmp r0, 0x2 - bge _08037BF0 -_08037B8C: - adds r4, 0x1 - cmp r4, 0 - ble _08037B7C - bl sub_800D33C - adds r5, r0, 0 - bl sub_800D570 - cmp r5, 0x2 - bne _08037B60 - bl sub_800D600 - lsls r0, 24 - cmp r0, 0 - beq _08037BFC - bl sub_8037A48 - lsls r0, 24 - cmp r0, 0 - bne _08037BC8 - movs r4, 0x4 - bl sub_800D520 - bl sub_800D510 - b _08037C06 - .align 2, 0 -_08037BC0: .4byte gUnknown_202EC38 -_08037BC4: .4byte 0x00000707 -_08037BC8: - movs r4, 0 - b _08037C06 -_08037BCC: - bl sub_800D520 - bl sub_800D510 - movs r0, 0x2 - b _08037C08 -_08037BD8: - bl sub_800D520 - bl sub_800D510 - movs r0, 0x3 - b _08037C08 -_08037BE4: - bl sub_800D520 - bl sub_800D510 - movs r0, 0xF - b _08037C08 -_08037BF0: - bl sub_800D520 - bl sub_800D510 - movs r0, 0x1 - b _08037C08 -_08037BFC: - movs r4, 0x5 - bl sub_800D520 - bl sub_800D510 -_08037C06: - adds r0, r4, 0 -_08037C08: - add sp, 0x14 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8037B28 - - thumb_func_start sub_8037C10 -sub_8037C10: - push {lr} - lsls r0, 24 - cmp r0, 0 - beq _08037C24 - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - bne _08037C38 - b _08037C2E -_08037C24: - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - beq _08037C38 -_08037C2E: - ldr r0, _08037C34 - ldr r0, [r0, 0x4] - b _08037C3C - .align 2, 0 -_08037C34: .4byte gUnknown_202EC40 -_08037C38: - ldr r0, _08037C40 - ldr r0, [r0] -_08037C3C: - pop {r1} - bx r1 - .align 2, 0 -_08037C40: .4byte gUnknown_202EC40 - thumb_func_end sub_8037C10 - - thumb_func_start sub_8037C44 -sub_8037C44: - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - movs r4, 0 -_08037C4C: - adds r0, r4, 0 - bl sub_800D68C - adds r4, 0x1 - cmp r4, 0x1 - ble _08037C4C - cmp r6, 0xA - bhi _08037CBE - lsls r0, r6, 2 - ldr r1, _08037C68 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08037C68: .4byte _08037C6C - .align 2, 0 -_08037C6C: - .4byte _08037C98 - .4byte _08037C98 - .4byte _08037CA2 - .4byte _08037CA2 - .4byte _08037CAC - .4byte _08037CAC - .4byte _08037CA2 - .4byte _08037CA2 - .4byte _08037CBE - .4byte _08037CB6 - .4byte _08037CB6 -_08037C98: - adds r0, r5, 0 - movs r1, 0x8 - bl sub_800D59C - b _08037CBE -_08037CA2: - adds r0, r5, 0 - movs r1, 0x30 - bl sub_800D59C - b _08037CBE -_08037CAC: - adds r0, r5, 0 - movs r1, 0x88 - bl sub_800D59C - b _08037CBE -_08037CB6: - adds r0, r5, 0 - movs r1, 0xB4 - bl sub_800D59C -_08037CBE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8037C44 - - thumb_func_start sub_8037CC4 -sub_8037CC4: - push {r4,lr} - adds r3, r1, 0 - adds r4, r2, 0 - cmp r0, 0xA - bhi _08037D5E - lsls r0, 2 - ldr r1, _08037CD8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08037CD8: .4byte _08037CDC - .align 2, 0 -_08037CDC: - .4byte _08037D08 - .4byte _08037D08 - .4byte _08037D1E - .4byte _08037D1E - .4byte _08037D34 - .4byte _08037D34 - .4byte _08037D1E - .4byte _08037D1E - .4byte _08037D5E - .4byte _08037D4A - .4byte _08037D4A -_08037D08: - movs r0, 0 - adds r1, r3, 0 - movs r2, 0x8 - bl sub_800D670 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x8 - bl sub_800D670 - b _08037D5E -_08037D1E: - movs r0, 0 - adds r1, r3, 0 - movs r2, 0x30 - bl sub_800D670 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x30 - bl sub_800D670 - b _08037D5E -_08037D34: - movs r0, 0 - adds r1, r3, 0 - movs r2, 0x88 - bl sub_800D670 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x88 - bl sub_800D670 - b _08037D5E -_08037D4A: - movs r0, 0 - adds r1, r3, 0 - movs r2, 0xB4 - bl sub_800D670 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xB4 - bl sub_800D670 -_08037D5E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8037CC4 - - thumb_func_start sub_8037D64 -sub_8037D64: - push {r4-r7,lr} - adds r5, r0, 0 - adds r6, r1, 0 - adds r7, r2, 0 - movs r4, 0 - ldr r0, _08037D80 - str r4, [r0] - bl sub_800D494 - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_8037C44 - b _08037D96 - .align 2, 0 -_08037D80: .4byte gUnknown_202EC48 -_08037D84: - subs r0, r4, 0x3 - cmp r0, 0x2 - bls _08037DBC - ldr r1, _08037DB8 - ldr r0, [r1] - cmp r0, 0x63 - bgt _08037DC8 - adds r0, 0x1 - str r0, [r1] -_08037D96: - bl sub_80373C4 - bl sub_800D33C - adds r4, r0, 0 - bl sub_800D570 - cmp r4, 0x2 - bne _08037D84 - bl sub_800D600 - lsls r0, 24 - cmp r0, 0 - beq _08037DD4 - movs r4, 0 - b _08037DDE - .align 2, 0 -_08037DB8: .4byte gUnknown_202EC48 -_08037DBC: - bl sub_800D520 - bl sub_800D510 - movs r0, 0x1 - b _08037DEA -_08037DC8: - bl sub_800D520 - bl sub_800D510 - movs r0, 0xF - b _08037DEA -_08037DD4: - bl sub_800D520 - bl sub_800D510 - movs r4, 0x5 -_08037DDE: - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r7, 0 - bl sub_8037CC4 - adds r0, r4, 0 -_08037DEA: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8037D64 - - thumb_func_start sub_8037DF0 -sub_8037DF0: - push {r4,lr} - sub sp, 0x8 - movs r4, 0 - movs r0, 0 - mov r1, sp - movs r2, 0x4 - bl sub_800D670 - add r1, sp, 0x4 - movs r0, 0x1 - movs r2, 0x4 - bl sub_800D670 - ldr r0, [sp] - cmp r0, 0 - bne _08037E16 - ldr r0, [sp, 0x4] - cmp r0, 0 - beq _08037E2C -_08037E16: - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - bne _08037E24 - ldr r4, [sp, 0x4] - b _08037E26 -_08037E24: - ldr r4, [sp] -_08037E26: - cmp r4, 0 - bne _08037E2C - movs r4, 0xE -_08037E2C: - adds r0, r4, 0 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8037DF0 - - thumb_func_start sub_8037E38 -sub_8037E38: - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - bl sub_800D588 - lsls r0, 24 - adds r4, r6, 0 - cmp r0, 0 - bne _08037E4C - adds r4, r5, 0 -_08037E4C: - bl sub_800D588 - lsls r0, 24 - adds r3, r5, 0 - cmp r0, 0 - bne _08037E5A - adds r3, r6, 0 -_08037E5A: - ldrb r0, [r4] - ldrb r1, [r3] - cmp r0, r1 - bne _08037E70 - ldr r0, _08037E6C - ldr r1, [r0] - ldrb r0, [r4] - b _08037E76 - .align 2, 0 -_08037E6C: .4byte gUnknown_203B460 -_08037E70: - ldr r0, _08037E8C - ldr r1, [r0] - ldrb r0, [r3] -_08037E76: - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r2, [r1] - ldr r0, [r3, 0x4] - adds r2, r0 - strh r2, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08037E8C: .4byte gUnknown_203B460 - thumb_func_end sub_8037E38 - - thumb_func_start sub_8037E90 -sub_8037E90: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - bne _08037EA2 - adds r4, r5, 0 -_08037EA2: - movs r0, 0x2 - strb r0, [r4] - adds r0, r4, 0 - bl sub_80951BC - ldr r0, [r4, 0x10] - bl sub_8095274 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8037E90 - - thumb_func_start nullsub_53 -nullsub_53: - bx lr - thumb_func_end nullsub_53 - - thumb_func_start sub_8037EBC -sub_8037EBC: - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - bl sub_800D588 - lsls r0, 24 - adds r5, r4, 0 - cmp r0, 0 - bne _08037ED0 - adds r5, r6, 0 -_08037ED0: - ldr r1, [r5, 0x10] - movs r0, 0x1 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - adds r4, r0, 0 - adds r1, r4, 0 - adds r0, r5, 0 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - movs r0, 0x5 - strb r0, [r4] - adds r0, r4, 0 - bl sub_80951FC - movs r0, 0x7 - strb r0, [r4] - movs r0, 0x38 - ldrsh r6, [r5, r0] - cmp r6, 0 - beq _08037F30 - ldr r4, _08037F2C - ldr r0, [r4] - ldr r1, [r5, 0x10] - stm r0!, {r1} - adds r1, r5, 0 - adds r1, 0x30 - movs r2, 0x58 - bl memcpy - ldr r1, [r4] - movs r0, 0x42 - strb r0, [r1, 0x8] - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0x9] - b _08037F40 - .align 2, 0 -_08037F2C: .4byte gUnknown_203B484 -_08037F30: - ldr r4, _08037F48 - ldr r0, [r4] - movs r1, 0 - movs r2, 0x5C - bl MemoryFill8 - ldr r0, [r4] - strh r6, [r0, 0xC] -_08037F40: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08037F48: .4byte gUnknown_203B484 - thumb_func_end sub_8037EBC - - thumb_func_start sub_8037F4C -sub_8037F4C: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - bne _08037F5E - adds r4, r5, 0 -_08037F5E: - ldr r1, [r4, 0x10] - movs r0, 0x4 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - adds r2, r0, 0 - adds r1, r4, 0 - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - movs r1, 0x6 - strb r1, [r0] - bl sub_8035D4C - cmp r0, 0 - beq _08037F96 - adds r1, r0, 0 - adds r1, 0x3A - movs r0, 0x1 - strb r0, [r1] -_08037F96: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8037F4C - - thumb_func_start sub_8037F9C -sub_8037F9C: - push {lr} - adds r3, r1, 0 - cmp r0, 0xA - bhi _08038010 - lsls r0, 2 - ldr r1, _08037FB0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08037FB0: .4byte _08037FB4 - .align 2, 0 -_08037FB4: - .4byte _08037FE0 - .4byte _08037FE0 - .4byte _08038010 - .4byte _08037FF4 - .4byte _08038010 - .4byte _08037FFE - .4byte _08038010 - .4byte _08037FEA - .4byte _08038010 - .4byte _08038010 - .4byte _08038008 -_08037FE0: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8037E38 - b _08038010 -_08037FEA: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8037F4C - b _08038010 -_08037FF4: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8037E90 - b _08038010 -_08037FFE: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8037EBC - b _08038010 -_08038008: - adds r0, r3, 0 - adds r1, r2, 0 - bl nullsub_53 -_08038010: - pop {r0} - bx r0 - thumb_func_end sub_8037F9C - - thumb_func_start sub_8038014 -sub_8038014: - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - bl sub_800D588 - lsls r0, 24 - adds r4, r6, 0 - cmp r0, 0 - bne _08038028 - adds r4, r5, 0 -_08038028: - bl sub_800D588 - lsls r0, 24 - adds r3, r5, 0 - cmp r0, 0 - bne _08038036 - adds r3, r6, 0 -_08038036: - ldrb r0, [r4] - ldrb r1, [r3] - cmp r0, r1 - bne _0803804C - ldr r0, _08038048 - ldr r1, [r0] - ldrb r0, [r4] - b _08038052 - .align 2, 0 -_08038048: .4byte gUnknown_203B460 -_0803804C: - ldr r0, _08038070 - ldr r1, [r0] - ldrb r0, [r3] -_08038052: - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r2, [r1] - ldr r0, [r3, 0x4] - adds r2, r0 - ldr r0, _08038074 - movs r1, 0 - cmp r2, r0 - ble _08038068 - movs r1, 0x6 -_08038068: - adds r0, r1, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08038070: .4byte gUnknown_203B460 -_08038074: .4byte 0x000003e7 - thumb_func_end sub_8038014 - - thumb_func_start sub_8038078 -sub_8038078: - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - bne _0803808A - adds r4, r5, 0 -_0803808A: - ldr r6, [r4, 0x10] - ldr r0, _08038098 - ldr r0, [r0] - cmp r0, 0 - beq _0803809C - ldr r5, [r0, 0x50] - b _080380A2 - .align 2, 0 -_08038098: .4byte gUnknown_203B184 -_0803809C: - bl sub_8011C34 - adds r5, r0, 0 -_080380A2: - movs r0, 0x4 - adds r1, r6, 0 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - beq _080380BA - ldr r0, [r4, 0x28] - cmp r0, r5 - bne _080380BA - movs r0, 0 - b _080380BC -_080380BA: - movs r0, 0xB -_080380BC: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8038078 - - thumb_func_start sub_80380C4 -sub_80380C4: - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - bl sub_800D588 - lsls r0, 24 - adds r5, r4, 0 - cmp r0, 0 - bne _080380D8 - adds r5, r6, 0 -_080380D8: - ldr r4, [r5, 0x10] - movs r0, 0x2 - adds r1, r4, 0 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - bne _08038110 - movs r0, 0x4 - adds r1, r4, 0 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - bne _08038110 - movs r0, 0x6 - adds r1, r4, 0 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - bne _08038110 - ldr r0, [r5, 0x10] - bl sub_8095298 - lsls r0, 24 - cmp r0, 0 - beq _08038114 -_08038110: - movs r0, 0x7 - b _08038126 -_08038114: - bl sub_8095190 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _08038124 - movs r0, 0 - b _08038126 -_08038124: - movs r0, 0xD -_08038126: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80380C4 - - thumb_func_start sub_803812C -sub_803812C: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - bne _0803813E - adds r4, r5, 0 -_0803813E: - ldr r1, [r4, 0x10] - movs r0, 0x1 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - bne _08038150 - movs r0, 0x9 - b _08038152 -_08038150: - movs r0, 0 -_08038152: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_803812C - - thumb_func_start sub_8038158 -sub_8038158: - movs r0, 0 - bx lr - thumb_func_end sub_8038158 - - thumb_func_start sub_803815C -sub_803815C: - push {r4,lr} - adds r3, r1, 0 - movs r4, 0 - cmp r0, 0xA - bhi _080381D2 - lsls r0, 2 - ldr r1, _08038170 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08038170: .4byte _08038174 - .align 2, 0 -_08038174: - .4byte _080381A0 - .4byte _080381A0 - .4byte _080381D2 - .4byte _080381B4 - .4byte _080381D2 - .4byte _080381BE - .4byte _080381D2 - .4byte _080381AA - .4byte _080381D2 - .4byte _080381D2 - .4byte _080381C8 -_080381A0: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8038014 - b _080381D0 -_080381AA: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8038078 - b _080381D0 -_080381B4: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_80380C4 - b _080381D0 -_080381BE: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_803812C - b _080381D0 -_080381C8: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8038158 -_080381D0: - adds r4, r0, 0 -_080381D2: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_803815C - - thumb_func_start sub_80381DC -sub_80381DC: - push {lr} - bl sub_8037F9C - pop {r0} - bx r0 - thumb_func_end sub_80381DC - - thumb_func_start sub_80381E8 -sub_80381E8: - push {lr} - bl sub_803815C - pop {r1} - bx r1 - thumb_func_end sub_80381E8 - - thumb_func_start sub_80381F4 -sub_80381F4: - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - adds r7, r2, 0 - movs r4, 0 - bl sub_803815C - str r0, [sp] - ldr r0, _08038218 - str r4, [r0] - bl sub_800D494 - mov r0, sp - movs r1, 0x4 - bl sub_800D59C - b _0803822E - .align 2, 0 -_08038218: .4byte gUnknown_202EC4C -_0803821C: - subs r0, r4, 0x3 - cmp r0, 0x2 - bls _08038272 - ldr r1, _08038250 - ldr r0, [r1] - cmp r0, 0x63 - bgt _0803827E - adds r0, 0x1 - str r0, [r1] -_0803822E: - bl sub_80373C4 - bl sub_800D33C - adds r4, r0, 0 - bl sub_800D570 - cmp r4, 0x2 - bne _0803821C - bl sub_800D600 - lsls r0, 24 - cmp r0, 0 - beq _08038254 - bl sub_8037DF0 - b _0803825E - .align 2, 0 -_08038250: .4byte gUnknown_202EC4C -_08038254: - bl sub_800D520 - bl sub_800D510 - movs r0, 0x5 -_0803825E: - str r0, [sp] - ldr r0, [sp] - cmp r0, 0 - bne _0803828A - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r7, 0 - bl sub_8037F9C - b _08038292 -_08038272: - bl sub_800D520 - bl sub_800D510 - movs r0, 0x1 - b _08038298 -_0803827E: - bl sub_800D520 - bl sub_800D510 - movs r0, 0xF - b _08038298 -_0803828A: - bl sub_800D520 - bl sub_800D510 -_08038292: - bl sub_800D520 - ldr r0, [sp] -_08038298: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80381F4 - - thumb_func_start sub_80382A0 -sub_80382A0: - push {lr} - movs r0, 0 - bl sub_8031F60 - pop {r0} - bx r0 - thumb_func_end sub_80382A0 - - thumb_func_start sub_80382AC -sub_80382AC: - push {lr} - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r0} - bx r0 - thumb_func_end sub_80382AC - - thumb_func_start sub_80382C0 -sub_80382C0: - push {r4,lr} - ldr r4, _080382E0 - movs r0, 0x1 - bl sub_8031FD8 - cmp r0, 0x1 - bls _080382D8 - cmp r0, 0x3 - bhi _080382D8 - bl sub_803203C - movs r4, 0x1 -_080382D8: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080382E0: .4byte 0x0000ffdc - thumb_func_end sub_80382C0 - - thumb_func_start sub_80382E4 -sub_80382E4: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - mov r8, r0 - ldr r5, _08038398 - ldr r0, [r5] - cmp r0, 0 - bne _0803830E - movs r4, 0xDA - lsls r4, 1 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_0803830E: - mov r12, r5 - movs r0, 0xA4 - lsls r0, 1 - mov r9, r0 - ldr r4, _0803839C - movs r3, 0 - movs r2, 0x3 -_0803831C: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - add r1, r9 - 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 _0803831C - bl sub_8004914 - ldr r5, _08038398 - ldr r0, [r5] - movs r6, 0xA4 - lsls r6, 1 - adds r0, r6 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - mov r7, r8 - cmp r7, 0x25 - bne _08038370 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x8 - adds r1, r6 - ldr r3, _080383A0 - ldr r2, _080383A4 - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r2, 0x4 - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems -_08038370: - ldr r0, [r5] - adds r0, 0x8 - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - ldr r1, [r5] - mov r0, r8 - str r0, [r1] - movs r0, 0 - str r0, [r1, 0x4] - bl sub_8038440 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08038398: .4byte gUnknown_203B360 -_0803839C: .4byte gUnknown_80E6E7C -_080383A0: .4byte gUnknown_80E6E94 -_080383A4: .4byte gUnknown_80E6EAC - thumb_func_end sub_80382E4 - - thumb_func_start sub_80383A8 -sub_80383A8: - push {r4,lr} - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _080383D0 - ldr r0, [r4] - cmp r0, 0 - beq _080383C8 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_080383C8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080383D0: .4byte gUnknown_203B360 - thumb_func_end sub_80383A8 - - thumb_func_start sub_80383D4 -sub_80383D4: - push {r4-r6,lr} - sub sp, 0x4 - movs r0, 0x2 - str r0, [sp] - ldr r6, _08038410 - ldr r4, _08038414 - ldr r0, [r4] - ldr r5, [r0, 0x4] - cmp r5, 0 - bne _08038434 - adds r0, 0x8 - bl sub_80130A8 - lsls r0, 24 - cmp r0, 0 - bne _080383FE - ldr r0, [r4] - adds r0, 0x8 - mov r1, sp - bl sub_8013114 -_080383FE: - ldr r0, [sp] - cmp r0, 0x2 - beq _0803842C - cmp r0, 0x2 - bhi _08038418 - cmp r0, 0x1 - beq _0803841C - b _08038430 - .align 2, 0 -_08038410: .4byte 0x0000ffdc -_08038414: .4byte gUnknown_203B360 -_08038418: - cmp r0, 0x3 - bne _08038430 -_0803841C: - ldr r0, _08038428 - ldr r1, [r0] - movs r0, 0 - str r0, [r1, 0x4] - movs r6, 0x1 - b _08038430 - .align 2, 0 -_08038428: .4byte gUnknown_203B360 -_0803842C: - ldr r0, [r4] - str r5, [r0, 0x4] -_08038430: - bl sub_80384D0 -_08038434: - adds r0, r6, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80383D4 - - thumb_func_start sub_8038440 -sub_8038440: - push {r4,r5,lr} - movs r5, 0 - ldr r0, _080384B0 - ldr r0, [r0] - mov r12, r0 - movs r3, 0xD4 - lsls r3, 1 - add r3, r12 - ldrh r1, [r3] - ldr r0, _080384B4 - ands r0, r1 - ldr r1, _080384B8 - ands r0, r1 - ldr r4, _080384BC - ands r0, r4 - ldr r1, _080384C0 - ands r0, r1 - ldr r1, _080384C4 - ands r0, r1 - movs r2, 0x80 - lsls r2, 7 - ldr r1, _080384C8 - ands r0, r1 - orrs r0, r2 - strh r0, [r3] - movs r2, 0xFC - lsls r2, 2 - ldrh r1, [r3, 0x4] - movs r0, 0xFC - lsls r0, 8 - ands r0, r1 - orrs r0, r2 - ands r0, r4 - movs r2, 0xF - movs r4, 0xF0 - lsls r4, 8 - ldr r1, _080384CC - ands r0, r1 - orrs r0, r4 - strh r0, [r3, 0x4] - movs r0, 0x70 - strh r0, [r3, 0x2] - movs r1, 0xE0 - lsls r1, 3 - ldrh r0, [r3, 0x6] - ands r2, r0 - orrs r2, r1 - strh r2, [r3, 0x6] - movs r0, 0xD8 - lsls r0, 1 - add r0, r12 - str r5, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080384B0: .4byte gUnknown_203B360 -_080384B4: .4byte 0x0000feff -_080384B8: .4byte 0x0000fdff -_080384BC: .4byte 0x0000f3ff -_080384C0: .4byte 0x0000efff -_080384C4: .4byte 0x0000dfff -_080384C8: .4byte 0x00003fff -_080384CC: .4byte 0x00000fff - thumb_func_end sub_8038440 - - thumb_func_start sub_80384D0 -sub_80384D0: - push {r4,r5,lr} - ldr r5, _08038508 - ldr r2, [r5] - movs r4, 0xD8 - lsls r4, 1 - adds r0, r2, r4 - ldr r0, [r0] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080384F6 - movs r1, 0xD4 - lsls r1, 1 - adds r0, r2, r1 - subs r1, 0xA8 - movs r2, 0 - movs r3, 0 - bl AddSprite -_080384F6: - ldr r1, [r5] - adds r1, r4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08038508: .4byte gUnknown_203B360 - thumb_func_end sub_80384D0 - - thumb_func_start sub_803850C -sub_803850C: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - mov r8, r0 - ldr r5, _0803859C - ldr r0, [r5] - cmp r0, 0 - bne _08038536 - movs r4, 0xDA - lsls r4, 1 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_08038536: - mov r12, r5 - movs r0, 0xA4 - lsls r0, 1 - mov r9, r0 - ldr r4, _080385A0 - movs r3, 0 - movs r2, 0x3 -_08038544: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - add r1, r9 - 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 _08038544 - bl sub_8004914 - ldr r4, _0803859C - ldr r0, [r4] - movs r6, 0xA4 - lsls r6, 1 - adds r0, r6 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - mov r7, r8 - cmp r7, 0x2E - bne _080385AC - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x8 - adds r1, r6 - ldr r3, _080385A4 - ldr r2, _080385A8 - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - b _080385CE - .align 2, 0 -_0803859C: .4byte gUnknown_203B364 -_080385A0: .4byte gUnknown_80E6F20 -_080385A4: .4byte gUnknown_80E6F38 -_080385A8: .4byte gUnknown_80E7090 -_080385AC: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _080385F8 - ldr r2, _080385FC - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems -_080385CE: - ldr r4, _08038600 - ldr r0, [r4] - adds r0, 0x8 - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - ldr r1, [r4] - movs r0, 0 - str r0, [r1, 0x4] - mov r5, r8 - str r5, [r1] - bl sub_8038830 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080385F8: .4byte gUnknown_80E6F38 -_080385FC: .4byte gUnknown_80E6F50 -_08038600: .4byte gUnknown_203B364 - thumb_func_end sub_803850C - - thumb_func_start sub_8038604 -sub_8038604: - push {r4,lr} - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _0803862C - ldr r0, [r4] - cmp r0, 0 - beq _08038624 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08038624: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803862C: .4byte gUnknown_203B364 - thumb_func_end sub_8038604 - - thumb_func_start sub_8038630 -sub_8038630: - push {r4-r6,lr} - sub sp, 0x18 - ldr r5, _080386A8 - movs r0, 0x3 - str r0, [sp, 0x14] - ldr r6, _080386AC - ldr r0, [r6] - ldr r4, [r0, 0x4] - cmp r4, 0x1 - bne _08038646 - b _08038798 -_08038646: - cmp r4, 0x1 - bcc _0803864C - b _08038824 -_0803864C: - adds r0, 0x8 - bl sub_8012FD8 - movs r5, 0 - str r5, [sp, 0x10] - bl sub_80140F8 - bl sub_8011C1C - adds r1, r0, 0 - add r0, sp, 0x10 - bl sub_801203C - adds r4, r0, 0 - bl sub_8014114 - cmp r4, 0 - beq _080386B8 - cmp r4, 0x1 - beq _08038738 - ldr r0, [r6] - movs r4, 0xA4 - lsls r4, 1 - adds r0, r4 - movs r1, 0 - bl sub_8035CC0 - ldr r1, [r6] - ldr r0, [r1] - cmp r0, 0x2E - bne _08038750 - adds r0, r1, 0 - adds r0, 0x8 - adds r1, r4 - ldr r3, _080386B0 - ldr r2, _080386B4 - str r2, [sp] - str r5, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r5, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - b _0803876E - .align 2, 0 -_080386A8: .4byte 0x0000ffdc -_080386AC: .4byte gUnknown_203B364 -_080386B0: .4byte gUnknown_80E6F38 -_080386B4: .4byte gUnknown_80E7114 -_080386B8: - ldr r0, [r6] - movs r1, 0xA4 - lsls r1, 1 - adds r0, r1 - movs r1, 0 - bl sub_8035CC0 - ldr r1, [r6] - ldr r0, [r1] - cmp r0, 0x2E - bne _080386F8 - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _080386F0 - ldr r2, _080386F4 - str r2, [sp] - str r5, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r5, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - b _08038716 - .align 2, 0 -_080386F0: .4byte gUnknown_80E6F38 -_080386F4: .4byte gUnknown_80E70CC -_080386F8: - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038728 - ldr r2, _0803872C - str r2, [sp] - str r5, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r5, [sp, 0xC] - movs r2, 0 - bl SetMenuItems -_08038716: - ldr r4, _08038730 - ldr r1, [r4] - ldr r0, [r1] - cmp r0, 0x2D - bne _08038734 - movs r0, 0x1 - str r0, [r1, 0x4] - movs r0, 0x13 - b _08038826 - .align 2, 0 -_08038728: .4byte gUnknown_80E6F38 -_0803872C: .4byte gUnknown_80E6FBC -_08038730: .4byte gUnknown_203B364 -_08038734: - adds r0, r1, 0 - b _08038772 -_08038738: - ldr r0, _0803874C - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80141B4 - ldr r1, [r6] - movs r0, 0x5 - b _08038780 - .align 2, 0 -_0803874C: .4byte gUnknown_80E7178 -_08038750: - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038788 - ldr r2, _0803878C - str r2, [sp] - str r5, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r5, [sp, 0xC] - movs r2, 0 - bl SetMenuItems -_0803876E: - ldr r4, _08038790 - ldr r0, [r4] -_08038772: - adds r0, 0x8 - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - ldr r1, [r4] - movs r0, 0x1 -_08038780: - str r0, [r1, 0x4] - ldr r5, _08038794 - b _08038824 - .align 2, 0 -_08038788: .4byte gUnknown_80E6F38 -_0803878C: .4byte gUnknown_80E701C -_08038790: .4byte gUnknown_203B364 -_08038794: .4byte 0x0000ffdc -_08038798: - adds r0, 0x8 - bl sub_80130A8 - lsls r0, 24 - cmp r0, 0 - bne _080387AE - ldr r0, [r6] - adds r0, 0x8 - add r1, sp, 0x14 - bl sub_8013114 -_080387AE: - ldr r0, [sp, 0x14] - cmp r0, 0x3 - beq _0803881C - cmp r0, 0x3 - bhi _080387BE - cmp r0, 0x2 - beq _080387C2 - b _08038820 -_080387BE: - cmp r0, 0x4 - bne _08038820 -_080387C2: - ldr r4, _080387D8 - ldr r1, [r4] - ldr r0, [r1] - cmp r0, 0x29 - beq _080387D0 - cmp r0, 0x2E - bne _080387DC -_080387D0: - movs r0, 0x1 - str r0, [r1, 0x4] - movs r5, 0x1 - b _08038820 - .align 2, 0 -_080387D8: .4byte gUnknown_203B364 -_080387DC: - cmp r0, 0x2D - bne _080387E8 - movs r0, 0x1 - str r0, [r1, 0x4] - movs r5, 0x13 - b _08038820 -_080387E8: - cmp r0, 0x2C - bne _080387F4 - movs r0, 0x1 - str r0, [r1, 0x4] - movs r5, 0x1F - b _08038820 -_080387F4: - bl sub_8035D4C - adds r0, 0x3A - ldrb r0, [r0] - cmp r0, 0 - beq _0803880A - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1, 0x4] - movs r5, 0x35 - b _08038820 -_0803880A: - ldr r0, [r4] - movs r1, 0x1 - str r1, [r0, 0x4] - ldr r0, [r0] - movs r5, 0xB - cmp r0, 0x2B - bne _08038820 - movs r5, 0xD - b _08038820 -_0803881C: - ldr r0, [r6] - str r4, [r0, 0x4] -_08038820: - bl sub_80388C4 -_08038824: - adds r0, r5, 0 -_08038826: - add sp, 0x18 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8038630 - - thumb_func_start sub_8038830 -sub_8038830: - push {r4,r5,lr} - movs r5, 0 - ldr r0, _080388A4 - ldr r0, [r0] - mov r12, r0 - movs r3, 0xD4 - lsls r3, 1 - add r3, r12 - ldrh r1, [r3] - ldr r0, _080388A8 - ands r0, r1 - ldr r1, _080388AC - ands r0, r1 - ldr r4, _080388B0 - ands r0, r4 - ldr r1, _080388B4 - ands r0, r1 - ldr r1, _080388B8 - ands r0, r1 - movs r2, 0x80 - lsls r2, 7 - ldr r1, _080388BC - ands r0, r1 - orrs r0, r2 - strh r0, [r3] - movs r2, 0xFC - lsls r2, 2 - ldrh r1, [r3, 0x4] - movs r0, 0xFC - lsls r0, 8 - ands r0, r1 - orrs r0, r2 - ands r0, r4 - movs r2, 0xF - movs r4, 0xF0 - lsls r4, 8 - ldr r1, _080388C0 - ands r0, r1 - orrs r0, r4 - strh r0, [r3, 0x4] - movs r0, 0x70 - strh r0, [r3, 0x2] - movs r1, 0xD0 - lsls r1, 3 - ldrh r0, [r3, 0x6] - ands r2, r0 - orrs r2, r1 - strh r2, [r3, 0x6] - movs r0, 0xD8 - lsls r0, 1 - add r0, r12 - str r5, [r0] - movs r0, 0 - bl ResetSprites - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080388A4: .4byte gUnknown_203B364 -_080388A8: .4byte 0x0000feff -_080388AC: .4byte 0x0000fdff -_080388B0: .4byte 0x0000f3ff -_080388B4: .4byte 0x0000efff -_080388B8: .4byte 0x0000dfff -_080388BC: .4byte 0x00003fff -_080388C0: .4byte 0x00000fff - thumb_func_end sub_8038830 - - thumb_func_start sub_80388C4 -sub_80388C4: - push {r4,r5,lr} - ldr r5, _080388FC - ldr r2, [r5] - movs r4, 0xD8 - lsls r4, 1 - adds r0, r2, r4 - ldr r0, [r0] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080388EA - movs r1, 0xD4 - lsls r1, 1 - adds r0, r2, r1 - subs r1, 0xA8 - movs r2, 0 - movs r3, 0 - bl AddSprite -_080388EA: - ldr r1, [r5] - adds r1, r4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080388FC: .4byte gUnknown_203B364 - thumb_func_end sub_80388C4 - - thumb_func_start sub_8038900 -sub_8038900: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - ldr r5, _080389B8 - ldr r0, [r5] - cmp r0, 0 - bne _0803892A - movs r4, 0x85 - lsls r4, 2 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_0803892A: - movs r0, 0x1B - negs r0, r0 - adds r0, r6 - mov r8, r0 - mov r12, r5 - movs r1, 0xA4 - lsls r1, 1 - mov r9, r1 - ldr r4, _080389BC - mov r10, r4 - movs r3, 0 - movs r2, 0x3 -_08038942: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - add r1, r9 - mov r0, r10 - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _08038942 - bl sub_8004914 - ldr r4, _080389B8 - ldr r0, [r4] - movs r7, 0xA4 - lsls r7, 1 - adds r0, r7 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r2, _080389C0 - ldrb r0, [r2] - cmp r0, 0 - bne _08038986 - ldr r0, _080389C4 - ldr r1, [r0] - adds r7, r4, 0 - adds r5, r0, 0 - cmp r1, r6 - beq _080389A0 -_08038986: - adds r7, r4, 0 - adds r3, r2, 0 - ldr r5, _080389C4 - ldr r1, _080389C8 - movs r2, 0 - adds r0, r1, 0 - adds r0, 0x35 -_08038994: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _08038994 - movs r0, 0 - strb r0, [r3] -_080389A0: - ldr r0, [r7] - str r6, [r0] - str r6, [r5] - mov r0, r8 - cmp r0, 0x7 - bhi _08038A36 - lsls r0, 2 - ldr r1, _080389CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080389B8: .4byte gUnknown_203B370 -_080389BC: .4byte gUnknown_80E71E4 -_080389C0: .4byte gUnknown_203B368 -_080389C4: .4byte gUnknown_203B36C -_080389C8: .4byte gUnknown_202EC50 -_080389CC: .4byte _080389D0 - .align 2, 0 -_080389D0: - .4byte _080389F0 - .4byte _080389FC - .4byte _080389F0 - .4byte _080389FC - .4byte _080389F0 - .4byte _080389FC - .4byte _08038A0C - .4byte _08038A2E -_080389F0: - bl sub_8035D74 - movs r1, 0 - bl sub_8031D70 - b _08038A36 -_080389FC: - ldr r1, _08038A08 - movs r0, 0x4 - bl sub_80151C0 - b _08038A36 - .align 2, 0 -_08038A08: .4byte gUnknown_202EC50 -_08038A0C: - movs r0, 0x1F - bl sub_8095228 - adds r4, r0, 0 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - movs r1, 0 - movs r0, 0x2 - strb r0, [r4] - adds r4, 0x22 - strb r1, [r4] - movs r0, 0x1F - bl sub_8031D70 - b _08038A36 -_08038A2E: - ldr r1, _08038A54 - movs r0, 0x4 - bl sub_80151C0 -_08038A36: - adds r0, r6, 0 - bl sub_8039000 - ldr r1, _08038A58 - ldr r1, [r1] - str r0, [r1, 0x4] - bl sub_8039174 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08038A54: .4byte gUnknown_202EC50 -_08038A58: .4byte gUnknown_203B370 - thumb_func_end sub_8038900 - - thumb_func_start sub_8038A5C -sub_8038A5C: - push {r4,lr} - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _08038A8C - ldr r0, [r4] - cmp r0, 0 - beq _08038A86 - bl sub_80155F0 - bl sub_8031E10 - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08038A86: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08038A8C: .4byte gUnknown_203B370 - thumb_func_end sub_8038A5C - - thumb_func_start sub_8038A90 -sub_8038A90: - push {r4-r6,lr} - sub sp, 0x34 - movs r0, 0xB - str r0, [sp, 0x30] - ldr r5, _08038AB4 - ldr r1, _08038AB8 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r6, r1, 0 - cmp r0, 0x9 - bls _08038AA8 - b _08038DB0 -_08038AA8: - lsls r0, 2 - ldr r1, _08038ABC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08038AB4: .4byte 0x0000ffdc -_08038AB8: .4byte gUnknown_203B370 -_08038ABC: .4byte _08038AC0 - .align 2, 0 -_08038AC0: - .4byte _08038AE8 - .4byte _08038AFC - .4byte _08038AE8 - .4byte _08038AFC - .4byte _08038AE8 - .4byte _08038AFC - .4byte _08038C78 - .4byte _08038C8C - .4byte _08038CC2 - .4byte _08038D38 -_08038AE8: - bl sub_8031DCC - ldr r5, _08038AF8 - cmp r0, 0 - bne _08038AF4 - b _08038DB0 -_08038AF4: - movs r5, 0xB - b _08038DB0 - .align 2, 0 -_08038AF8: .4byte 0x0000ffdc -_08038AFC: - bl sub_80154F0 - adds r4, r0, 0 - mov r0, sp - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - cmp r4, 0x1 - bne _08038B12 - b _08038CBC -_08038B12: - cmp r4, 0x1 - bcs _08038B18 - b _08038CB0 -_08038B18: - cmp r4, 0x2 - beq _08038AF4 - cmp r4, 0x3 - beq _08038B22 - b _08038DB0 -_08038B22: - ldr r0, _08038B44 - ldr r0, [r0] - ldr r0, [r0] - ldr r1, _08038B48 - mov r2, sp - bl sub_8039068 - subs r0, 0x7 - cmp r0, 0x11 - bls _08038B38 - b _08038DB0 -_08038B38: - lsls r0, 2 - ldr r1, _08038B4C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08038B44: .4byte gUnknown_203B370 -_08038B48: .4byte gUnknown_202EC50 -_08038B4C: .4byte _08038B50 - .align 2, 0 -_08038B50: - .4byte _08038BA4 - .4byte _08038DB0 - .4byte _08038BD8 - .4byte _08038DB0 - .4byte _08038C28 - .4byte _08038DB0 - .4byte _08038B9C - .4byte _08038DB0 - .4byte _08038DB0 - .4byte _08038DB0 - .4byte _08038B98 - .4byte _08038BA0 - .4byte _08038BD4 - .4byte _08038C24 - .4byte _08038DB0 - .4byte _08038BA8 - .4byte _08038BDC - .4byte _08038C2C -_08038B98: - movs r0, 0x11 - b _08038CA4 -_08038B9C: - movs r0, 0xD - b _08038CA4 -_08038BA0: - movs r0, 0x12 - b _08038CA4 -_08038BA4: - movs r0, 0x7 - b _08038CA4 -_08038BA8: - ldr r0, [sp, 0x10] - bl sub_8095274 - bl sub_8038F98 - ldr r0, _08038BCC - ldr r1, [r0] - movs r0, 0x9 - str r0, [r1, 0x4] - ldr r5, _08038BD0 - mov r1, sp - movs r0, 0x2 - strb r0, [r1] - mov r0, sp - bl sub_80951BC - b _08038DB0 - .align 2, 0 -_08038BCC: .4byte gUnknown_203B370 -_08038BD0: .4byte 0x0000ffdc -_08038BD4: - movs r0, 0x13 - b _08038CA4 -_08038BD8: - movs r0, 0x9 - b _08038CA4 -_08038BDC: - bl sub_8038F98 - ldr r0, _08038C18 - ldr r1, [r0] - movs r0, 0x9 - str r0, [r1, 0x4] - ldr r5, _08038C1C - mov r1, sp - movs r0, 0x5 - strb r0, [r1] - mov r0, sp - bl sub_80951FC - ldr r1, [sp, 0x10] - movs r0, 0x1 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - movs r1, 0x7 - strb r1, [r0] - ldr r0, _08038C20 - movs r1, 0 - movs r2, 0x5C - bl MemoryFill8 - b _08038DB0 - .align 2, 0 -_08038C18: .4byte gUnknown_203B370 -_08038C1C: .4byte 0x0000ffdc -_08038C20: .4byte gUnknown_203B484 -_08038C24: - movs r0, 0x14 - b _08038CA4 -_08038C28: - movs r0, 0xB - b _08038CA4 -_08038C2C: - bl sub_8038F98 - ldr r0, _08038C70 - ldr r1, [r0] - movs r0, 0x9 - str r0, [r1, 0x4] - ldr r5, _08038C74 - ldr r1, [sp, 0x10] - movs r0, 0x4 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - adds r2, r0, 0 - mov r1, sp - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - movs r1, 0x6 - strb r1, [r0] - bl sub_8035D4C - adds r0, 0x3A - movs r1, 0x1 - strb r1, [r0] - b _08038DB0 - .align 2, 0 -_08038C70: .4byte gUnknown_203B370 -_08038C74: .4byte 0x0000ffdc -_08038C78: - bl sub_8031DCC - ldr r5, _08038C88 - cmp r0, 0 - bne _08038C84 - b _08038DB0 -_08038C84: - movs r5, 0xD - b _08038DB0 - .align 2, 0 -_08038C88: .4byte 0x0000ffdc -_08038C8C: - bl sub_80154F0 - cmp r0, 0x1 - beq _08038CBC - cmp r0, 0x1 - bcc _08038CB0 - cmp r0, 0x2 - beq _08038C84 - cmp r0, 0x3 - beq _08038CA2 - b _08038DB0 -_08038CA2: - movs r0, 0x15 -_08038CA4: - bl sub_8038DC0 - ldr r0, _08038CB4 - ldr r1, [r0] - movs r0, 0x8 - str r0, [r1, 0x4] -_08038CB0: - ldr r5, _08038CB8 - b _08038DB0 - .align 2, 0 -_08038CB4: .4byte gUnknown_203B370 -_08038CB8: .4byte 0x0000ffdc -_08038CBC: - bl sub_8031E00 - b _08038CB0 -_08038CC2: - ldr r0, [r6] - adds r0, 0x8 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08038CDA - ldr r0, [r6] - adds r0, 0x8 - add r1, sp, 0x30 - bl sub_8013114 -_08038CDA: - ldr r0, [sp, 0x30] - cmp r0, 0xB - beq _08038D24 - cmp r0, 0xB - bhi _08038CEA - cmp r0, 0xA - beq _08038CEE - b _08038DB0 -_08038CEA: - cmp r0, 0xC - bne _08038DB0 -_08038CEE: - bl sub_8039174 - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r1, _08038D1C - movs r0, 0x4 - bl sub_80151C0 - ldr r0, _08038D20 - ldr r1, [r0] - movs r0, 0x8 - str r0, [r1, 0x4] - ldr r0, [r1] - subs r0, 0x21 - movs r5, 0xB - cmp r0, 0x1 - bhi _08038DB0 - b _08038C84 - .align 2, 0 -_08038D1C: .4byte gUnknown_202EC50 -_08038D20: .4byte gUnknown_203B370 -_08038D24: - ldr r1, [r6] - movs r0, 0x8 - str r0, [r1, 0x4] - ldr r5, _08038D34 - bl sub_80391F8 - b _08038DB0 - .align 2, 0 -_08038D34: .4byte 0x0000ffdc -_08038D38: - adds r4, r6, 0 - ldr r0, [r4] - adds r0, 0x8 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08038D52 - ldr r0, [r4] - adds r0, 0x8 - add r1, sp, 0x30 - bl sub_8013114 -_08038D52: - ldr r0, [sp, 0x30] - cmp r0, 0xB - beq _08038DA4 - cmp r0, 0xB - bhi _08038D62 - cmp r0, 0xA - beq _08038D66 - b _08038DB0 -_08038D62: - cmp r0, 0xC - bne _08038DB0 -_08038D66: - bl sub_8039174 - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r1, _08038D9C - movs r0, 0x4 - bl sub_80151C0 - ldr r4, _08038DA0 - ldr r0, [r4] - ldr r0, [r0] - bl sub_8039000 - ldr r1, [r4] - str r0, [r1, 0x4] - ldr r0, [r1] - subs r0, 0x21 - movs r5, 0x2A - cmp r0, 0x1 - bhi _08038DB0 - movs r5, 0x2B - b _08038DB0 - .align 2, 0 -_08038D9C: .4byte gUnknown_202EC50 -_08038DA0: .4byte gUnknown_203B370 -_08038DA4: - ldr r1, [r6] - movs r0, 0x9 - str r0, [r1, 0x4] - ldr r5, _08038DBC - bl sub_80391F8 -_08038DB0: - adds r0, r5, 0 - add sp, 0x34 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08038DBC: .4byte 0x0000ffdc - thumb_func_end sub_8038A90 - - thumb_func_start sub_8038DC0 -sub_8038DC0: - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - ldr r0, _08038DF8 - ldr r0, [r0] - movs r1, 0xD4 - lsls r1, 1 - adds r0, r1 - bl sub_8006518 - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_80155F0 - subs r0, r4, 0x7 - cmp r0, 0xE - bls _08038DEE - b _08038F74 -_08038DEE: - lsls r0, 2 - ldr r1, _08038DFC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08038DF8: .4byte gUnknown_203B370 -_08038DFC: .4byte _08038E00 - .align 2, 0 -_08038E00: - .4byte _08038E7C - .4byte _08038F74 - .4byte _08038EDC - .4byte _08038F74 - .4byte _08038F1C - .4byte _08038F74 - .4byte _08038E9C - .4byte _08038F74 - .4byte _08038F74 - .4byte _08038F74 - .4byte _08038E3C - .4byte _08038E5C - .4byte _08038EBC - .4byte _08038EFC - .4byte _08038F50 -_08038E3C: - ldr r0, _08038E50 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038E54 - ldr r2, _08038E58 - b _08038F2E - .align 2, 0 -_08038E50: .4byte gUnknown_203B370 -_08038E54: .4byte gUnknown_80E71FC -_08038E58: .4byte gUnknown_80E7214 -_08038E5C: - ldr r0, _08038E70 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038E74 - ldr r2, _08038E78 - b _08038F2E - .align 2, 0 -_08038E70: .4byte gUnknown_203B370 -_08038E74: .4byte gUnknown_80E72EC -_08038E78: .4byte gUnknown_80E7304 -_08038E7C: - ldr r0, _08038E90 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038E94 - ldr r2, _08038E98 - b _08038F2E - .align 2, 0 -_08038E90: .4byte gUnknown_203B370 -_08038E94: .4byte gUnknown_80E7344 -_08038E98: .4byte gUnknown_80E735C -_08038E9C: - ldr r0, _08038EB0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038EB4 - ldr r2, _08038EB8 - b _08038F2E - .align 2, 0 -_08038EB0: .4byte gUnknown_203B370 -_08038EB4: .4byte gUnknown_80E7588 -_08038EB8: .4byte gUnknown_80E75A0 -_08038EBC: - ldr r0, _08038ED0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038ED4 - ldr r2, _08038ED8 - b _08038F2E - .align 2, 0 -_08038ED0: .4byte gUnknown_203B370 -_08038ED4: .4byte gUnknown_80E73AC -_08038ED8: .4byte gUnknown_80E73C4 -_08038EDC: - ldr r0, _08038EF0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038EF4 - ldr r2, _08038EF8 - b _08038F2E - .align 2, 0 -_08038EF0: .4byte gUnknown_203B370 -_08038EF4: .4byte gUnknown_80E7408 -_08038EF8: .4byte gUnknown_80E7420 -_08038EFC: - ldr r0, _08038F10 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038F14 - ldr r2, _08038F18 - b _08038F2E - .align 2, 0 -_08038F10: .4byte gUnknown_203B370 -_08038F14: .4byte gUnknown_80E7468 -_08038F18: .4byte gUnknown_80E7480 -_08038F1C: - ldr r0, _08038F44 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038F48 - ldr r2, _08038F4C -_08038F2E: - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r2, 0xD - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - b _08038F74 - .align 2, 0 -_08038F44: .4byte gUnknown_203B370 -_08038F48: .4byte gUnknown_80E74C8 -_08038F4C: .4byte gUnknown_80E74E0 -_08038F50: - ldr r0, _08038F8C - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038F90 - ldr r2, _08038F94 - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r2, 0xD - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems -_08038F74: - ldr r0, _08038F8C - ldr r0, [r0] - adds r0, 0x8 - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08038F8C: .4byte gUnknown_203B370 -_08038F90: .4byte gUnknown_80E752C -_08038F94: .4byte gUnknown_80E7544 - thumb_func_end sub_8038DC0 - - thumb_func_start sub_8038F98 -sub_8038F98: - push {r4,r5,lr} - sub sp, 0x10 - ldr r5, _08038FF4 - ldr r0, [r5] - movs r1, 0xD4 - lsls r1, 1 - adds r0, r1 - bl sub_8006518 - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_80155F0 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038FF8 - ldr r2, _08038FFC - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r2, 0xD - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - ldr r0, [r5] - adds r0, 0x8 - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08038FF4: .4byte gUnknown_203B370 -_08038FF8: .4byte gUnknown_80E7278 -_08038FFC: .4byte gUnknown_80E7290 - thumb_func_end sub_8038F98 - - thumb_func_start sub_8039000 -sub_8039000: - push {lr} - movs r1, 0xB - ldr r0, _0803901C - ldr r0, [r0] - ldr r0, [r0] - subs r0, 0x1B - cmp r0, 0x7 - bhi _08039062 - lsls r0, 2 - ldr r1, _08039020 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803901C: .4byte gUnknown_203B370 -_08039020: .4byte _08039024 - .align 2, 0 -_08039024: - .4byte _08039044 - .4byte _08039054 - .4byte _0803904C - .4byte _0803905C - .4byte _08039048 - .4byte _08039058 - .4byte _08039050 - .4byte _08039060 -_08039044: - movs r1, 0 - b _08039062 -_08039048: - movs r1, 0x4 - b _08039062 -_0803904C: - movs r1, 0x2 - b _08039062 -_08039050: - movs r1, 0x6 - b _08039062 -_08039054: - movs r1, 0x1 - b _08039062 -_08039058: - movs r1, 0x5 - b _08039062 -_0803905C: - movs r1, 0x3 - b _08039062 -_08039060: - movs r1, 0x7 -_08039062: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end sub_8039000 - - thumb_func_start sub_8039068 -sub_8039068: - push {r4-r6,lr} - adds r6, r0, 0 - adds r0, r1, 0 - adds r5, r2, 0 - adds r1, r5, 0 - bl sub_803D204 - lsls r0, 24 - cmp r0, 0 - beq _080390AC - ldrb r0, [r5] - cmp r0, 0x7 - bhi _080390AC - ldrb r4, [r5, 0x5] - ldrb r0, [r5, 0x4] - bl sub_8090298 - cmp r4, r0 - bge _080390AC - movs r0, 0xC - ldrsh r1, [r5, r0] - cmp r1, 0 - beq _080390AC - ldr r0, _080390B0 - cmp r1, r0 - bgt _080390AC - adds r0, r5, 0 - adds r0, 0x22 - ldrb r0, [r0] - bl sub_8092040 - lsls r0, 24 - cmp r0, 0 - beq _080390B4 -_080390AC: - movs r0, 0x11 - b _0803916E - .align 2, 0 -_080390B0: .4byte 0x000001a7 -_080390B4: - cmp r6, 0x1E - beq _08039120 - cmp r6, 0x1E - bhi _080390C2 - cmp r6, 0x1C - beq _080390C8 - b _0803916A -_080390C2: - cmp r6, 0x20 - beq _08039140 - b _0803916A -_080390C8: - ldrb r0, [r5] - cmp r0, 0x1 - beq _080390D2 - movs r0, 0x12 - b _0803916E -_080390D2: - ldr r1, [r5, 0x10] - movs r0, 0x2 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - bne _08039108 - ldr r1, [r5, 0x10] - movs r0, 0x4 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - bne _08039108 - ldr r1, [r5, 0x10] - movs r0, 0x6 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - bne _08039108 - ldr r0, [r5, 0x10] - bl sub_8095298 - lsls r0, 24 - cmp r0, 0 - beq _0803910C -_08039108: - movs r0, 0x7 - b _0803916E -_0803910C: - bl sub_8095190 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0803911C - movs r0, 0xD - b _0803916E -_0803911C: - movs r0, 0x16 - b _0803916E -_08039120: - ldrb r0, [r5] - cmp r0, 0x4 - beq _0803912A - movs r0, 0x13 - b _0803916E -_0803912A: - ldr r1, [r5, 0x10] - movs r0, 0x1 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - bne _0803913C - movs r0, 0x9 - b _0803916E -_0803913C: - movs r0, 0x17 - b _0803916E -_08039140: - ldrb r0, [r5] - cmp r0, 0x5 - beq _0803914A - movs r0, 0x14 - b _0803916E -_0803914A: - ldr r1, [r5, 0x10] - movs r0, 0x4 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - beq _08039162 - bl sub_8011C34 - ldr r1, [r5, 0x28] - cmp r1, r0 - beq _08039166 -_08039162: - movs r0, 0xB - b _0803916E -_08039166: - movs r0, 0x18 - b _0803916E -_0803916A: - movs r0, 0x1 - negs r0, r0 -_0803916E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8039068 - - thumb_func_start sub_8039174 -sub_8039174: - push {r4,lr} - ldr r0, _080391D8 - ldr r3, [r0] - movs r0, 0x82 - lsls r0, 2 - adds r3, r0 - ldrh r1, [r3] - ldr r0, _080391DC - ands r0, r1 - ldr r1, _080391E0 - ands r0, r1 - ldr r4, _080391E4 - ands r0, r4 - ldr r1, _080391E8 - ands r0, r1 - ldr r1, _080391EC - ands r0, r1 - movs r2, 0x80 - lsls r2, 7 - ldr r1, _080391F0 - ands r0, r1 - orrs r0, r2 - strh r0, [r3] - movs r2, 0xFC - lsls r2, 2 - ldrh r1, [r3, 0x4] - movs r0, 0xFC - lsls r0, 8 - ands r0, r1 - orrs r0, r2 - ands r0, r4 - movs r2, 0xF - movs r4, 0xF0 - lsls r4, 8 - ldr r1, _080391F4 - ands r0, r1 - orrs r0, r4 - strh r0, [r3, 0x4] - movs r0, 0 - strh r0, [r3, 0x2] - movs r1, 0xC0 - lsls r1, 4 - ldrh r0, [r3, 0x6] - ands r2, r0 - orrs r2, r1 - strh r2, [r3, 0x6] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080391D8: .4byte gUnknown_203B370 -_080391DC: .4byte 0x0000feff -_080391E0: .4byte 0x0000fdff -_080391E4: .4byte 0x0000f3ff -_080391E8: .4byte 0x0000efff -_080391EC: .4byte 0x0000dfff -_080391F0: .4byte 0x00003fff -_080391F4: .4byte 0x00000fff - thumb_func_end sub_8039174 - - thumb_func_start sub_80391F8 -sub_80391F8: - push {r4-r6,lr} - ldr r6, _08039250 - ldr r2, [r6] - movs r0, 0x82 - lsls r0, 2 - adds r4, r2, r0 - ldrh r1, [r4, 0x2] - movs r0, 0xFE - lsls r0, 8 - ands r0, r1 - movs r1, 0x70 - orrs r0, r1 - strh r0, [r4, 0x2] - movs r3, 0xE0 - lsls r3, 3 - ldrh r1, [r4, 0x6] - movs r0, 0xF - ands r0, r1 - orrs r0, r3 - strh r0, [r4, 0x6] - movs r5, 0x84 - lsls r5, 2 - adds r2, r5 - ldr r0, [r2] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0803923C - adds r1, 0xF8 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0 - bl AddSprite -_0803923C: - bl xxx_draw_string_80144C4 - ldr r1, [r6] - adds r1, r5 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08039250: .4byte gUnknown_203B370 - thumb_func_end sub_80391F8 - - thumb_func_start sub_8039254 -sub_8039254: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r6, r0, 0 - ldr r5, _080392EC - ldr r0, [r5] - cmp r0, 0 - bne _0803927C - movs r4, 0x9F - lsls r4, 2 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_0803927C: - ldr r0, [r5] - str r6, [r0] - mov r12, r5 - movs r0, 0xA2 - lsls r0, 1 - mov r8, r0 - ldr r4, _080392F0 - movs r3, 0 - movs r2, 0x3 -_0803928E: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - add r1, r8 - 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 _0803928E - bl sub_8004914 - ldr r6, _080392EC - ldr r0, [r6] - movs r5, 0xA2 - lsls r5, 1 - adds r0, r5 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r1, [r6] - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _080392F4 - ldr r2, _080392F8 - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r7, 0x6 - str r7, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - ldr r1, [r6] - ldr r0, [r1] - cmp r0, 0x7 - beq _08039306 - cmp r0, 0x7 - bhi _080392FC - cmp r0, 0x6 - beq _08039338 - b _08039382 - .align 2, 0 -_080392EC: .4byte gUnknown_203B374 -_080392F0: .4byte gUnknown_80E75F8 -_080392F4: .4byte gUnknown_80E7610 -_080392F8: .4byte gUnknown_203B378 -_080392FC: - cmp r0, 0x8 - beq _0803934C - cmp r0, 0x9 - beq _0803936C - b _08039382 -_08039306: - bl sub_8039844 - lsls r0, 24 - cmp r0, 0 - beq _08039324 - ldr r1, [r6] - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _0803931C - ldr r2, _08039320 - b _08039354 - .align 2, 0 -_0803931C: .4byte gUnknown_80E762C -_08039320: .4byte gUnknown_80E7644 -_08039324: - ldr r1, [r6] - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _08039330 - ldr r2, _08039334 - b _08039354 - .align 2, 0 -_08039330: .4byte gUnknown_80E762C -_08039334: .4byte gUnknown_80E7684 -_08039338: - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _08039344 - ldr r2, _08039348 - b _08039354 - .align 2, 0 -_08039344: .4byte gUnknown_80E762C -_08039348: .4byte gUnknown_80E76B8 -_0803934C: - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _08039364 - ldr r2, _08039368 -_08039354: - str r2, [sp] - str r4, [sp, 0x4] - str r7, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0x1 - bl SetMenuItems - b _08039382 - .align 2, 0 -_08039364: .4byte gUnknown_80E762C -_08039368: .4byte gUnknown_80E76E8 -_0803936C: - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _080393DC - ldr r2, _080393E0 - str r2, [sp] - str r4, [sp, 0x4] - str r7, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0x1 - bl SetMenuItems -_08039382: - ldr r4, _080393E4 - ldr r1, [r4] - adds r0, r1, 0x4 - movs r6, 0xA2 - lsls r6, 1 - adds r1, r6 - ldr r3, _080393E8 - ldr r2, _080393EC - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x2 - str r2, [sp, 0x8] - movs r2, 0 - str r2, [sp, 0xC] - movs r2, 0x2 - bl SetMenuItems - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0 - movs r2, 0 - bl sub_8035CF4 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x1 - movs r2, 0 - bl sub_8035CF4 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x2 - movs r2, 0x1 - bl sub_8035CF4 - bl sub_80394A4 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080393DC: .4byte gUnknown_80E762C -_080393E0: .4byte gUnknown_80E7730 -_080393E4: .4byte gUnknown_203B374 -_080393E8: .4byte gUnknown_80E7784 -_080393EC: .4byte gUnknown_80E779C - thumb_func_end sub_8039254 - - thumb_func_start sub_80393F0 -sub_80393F0: - push {r4,lr} - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _08039418 - ldr r0, [r4] - cmp r0, 0 - beq _08039410 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08039410: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08039418: .4byte gUnknown_203B374 - thumb_func_end sub_80393F0 - - thumb_func_start sub_803941C -sub_803941C: - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _08039458 - movs r0, 0x4 - str r0, [sp] - ldr r4, _0803945C - ldr r0, [r4] - adds r0, 0x54 - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0xA4 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08039448 - ldr r0, [r4] - adds r0, 0xA4 - mov r1, sp - bl sub_8013114 -_08039448: - ldr r0, [sp] - cmp r0, 0x3 - bhi _08039498 - cmp r0, 0x2 - bcs _08039460 - cmp r0, 0x1 - beq _08039464 - b _08039498 - .align 2, 0 -_08039458: .4byte 0x0000ffdc -_0803945C: .4byte gUnknown_203B374 -_08039460: - movs r5, 0x1 - b _08039498 -_08039464: - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0x7 - beq _08039480 - cmp r0, 0x7 - bhi _08039476 - cmp r0, 0x6 - beq _08039484 - b _08039498 -_08039476: - cmp r0, 0x8 - beq _0803948E - cmp r0, 0x9 - beq _08039492 - b _08039498 -_08039480: - movs r5, 0x2 - b _08039498 -_08039484: - movs r0, 0 - bl sub_8095240 - movs r5, 0x4 - b _08039498 -_0803948E: - movs r5, 0x9 - b _08039498 -_08039492: - bl sub_80122A8 - movs r5, 0x2E -_08039498: - adds r0, r5, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_803941C - - thumb_func_start sub_80394A4 -sub_80394A4: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x150 - bl sub_8011FA8 - mov r8, r0 - movs r0, 0 - bl sub_8008C54 - movs r0, 0 - bl sub_80073B8 - ldr r2, _0803952C - movs r4, 0 - str r4, [sp] - movs r0, 0x8 - movs r1, 0 - movs r3, 0 - bl xxx_call_draw_string - ldr r2, _08039530 - str r4, [sp] - movs r0, 0x8 - movs r1, 0xC - movs r3, 0 - bl xxx_call_draw_string - ldr r2, _08039534 - str r4, [sp] - movs r0, 0x8 - movs r1, 0x18 - movs r3, 0 - bl xxx_call_draw_string - ldr r2, _08039538 - str r4, [sp] - movs r0, 0x8 - movs r1, 0x24 - movs r3, 0 - bl xxx_call_draw_string - ldr r2, _0803953C - str r4, [sp] - movs r0, 0x8 - movs r1, 0x30 - movs r3, 0 - bl xxx_call_draw_string - ldr r2, _08039540 - str r4, [sp] - movs r0, 0x8 - movs r1, 0x3C - movs r3, 0 - bl xxx_call_draw_string - movs r0, 0 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _08039544 - add r4, sp, 0x68 - adds r0, r4, 0 - bl sub_80920D8 - adds r2, r4, 0 - b _0803954E - .align 2, 0 -_0803952C: .4byte gUnknown_80E77BC -_08039530: .4byte gUnknown_80E77C4 -_08039534: .4byte gUnknown_80E77CC -_08039538: .4byte gUnknown_80E77D8 -_0803953C: .4byte gUnknown_80E77E4 -_08039540: .4byte gUnknown_80E77F0 -_08039544: - ldr r1, _08039588 - add r0, sp, 0x68 - bl strcpy - add r2, sp, 0x68 -_0803954E: - ldr r5, _0803958C - ldr r0, [r5] - movs r4, 0xD2 - lsls r4, 1 - adds r0, r4 - ldr r1, _08039590 - bl sub_800D158 - ldr r2, [r5] - adds r2, r4 - movs r0, 0 - str r0, [sp] - movs r0, 0x40 - movs r1, 0 - movs r3, 0 - bl xxx_call_draw_string - bl sub_808D33C - cmp r0, 0 - bne _08039598 - add r4, sp, 0x90 - ldr r1, _08039594 - adds r0, r4, 0 - movs r2, 0xA - bl sub_80922B4 - b _080395A6 - .align 2, 0 -_08039588: .4byte gUnknown_80E77F8 -_0803958C: .4byte gUnknown_203B374 -_08039590: .4byte gUnknown_80E7804 -_08039594: .4byte gUnknown_80E7808 -_08039598: - add r4, sp, 0x90 - adds r1, r0, 0 - adds r1, 0x4C - adds r0, r4, 0 - movs r2, 0xA - bl sub_80922B4 -_080395A6: - adds r2, r4, 0 - ldr r5, _080395F0 - ldr r0, [r5] - movs r4, 0xE4 - lsls r4, 1 - adds r0, r4 - ldr r6, _080395F4 - adds r1, r6, 0 - bl sub_800D158 - ldr r2, [r5] - adds r2, r4 - movs r0, 0 - str r0, [sp] - movs r0, 0x40 - movs r1, 0xC - movs r3, 0 - bl xxx_call_draw_string - movs r0, 0x1 - bl sub_8095324 - cmp r0, 0 - bne _080395E0 - movs r0, 0x7 - bl sub_8095324 - cmp r0, 0 - beq _08039606 -_080395E0: - ldr r0, _080395F8 - cmp r8, r0 - bne _080395FC - ldr r4, [r5] - movs r0, 0xF6 - lsls r0, 1 - adds r4, r0 - b _08039676 - .align 2, 0 -_080395F0: .4byte gUnknown_203B374 -_080395F4: .4byte gUnknown_80E7804 -_080395F8: .4byte 0x000f1207 -_080395FC: - ldr r0, [r5] - movs r1, 0xF6 - lsls r1, 1 - adds r0, r1 - b _08039690 -_08039606: - bl sub_8011C1C - cmp r0, 0x1 - beq _08039624 - cmp r0, 0x2 - beq _08039668 - ldr r0, [r5] - movs r2, 0xF6 - lsls r2, 1 - adds r0, r2 - ldr r1, _08039620 - b _08039692 - .align 2, 0 -_08039620: .4byte gUnknown_80E7824 -_08039624: - movs r0, 0 - movs r1, 0x18 - bl sub_8001658 - cmp r0, 0x7 - beq _08039658 - cmp r0, 0xB - beq _08039658 - bl sub_8098FB4 - adds r2, r0, 0 - add r0, sp, 0x4 - adds r1, r6, 0 - bl sub_800D158 - ldr r0, [r5] - movs r3, 0xF6 - lsls r3, 1 - adds r1, r0, r3 - adds r3, 0x24 - adds r2, r0, r3 - add r0, sp, 0x4 - movs r3, 0 - bl xxx_format_string - b _08039696 -_08039658: - ldr r0, _08039664 - ldr r0, [r0] - movs r1, 0xF6 - lsls r1, 1 - adds r0, r1 - b _08039690 - .align 2, 0 -_08039664: .4byte gUnknown_203B374 -_08039668: - ldr r0, _08039684 - cmp r8, r0 - bne _08039688 - ldr r4, [r5] - movs r2, 0xF6 - lsls r2, 1 - adds r4, r2 -_08039676: - bl sub_809769C - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_8090228 - b _08039696 - .align 2, 0 -_08039684: .4byte 0x000f1207 -_08039688: - ldr r0, [r5] - movs r3, 0xF6 - lsls r3, 1 - adds r0, r3 -_08039690: - ldr r1, _0803974C -_08039692: - bl sub_800D158 -_08039696: - ldr r7, _08039750 - ldr r2, [r7] - movs r0, 0xF6 - lsls r0, 1 - adds r2, r0 - movs r6, 0 - str r6, [sp] - movs r0, 0x40 - movs r1, 0x18 - movs r3, 0 - bl xxx_call_draw_string - ldr r0, _08039754 - ldr r0, [r0] - add r1, sp, 0x144 - add r2, sp, 0x148 - add r3, sp, 0x14C - bl sub_8095014 - ldr r0, [r7] - movs r5, 0x84 - lsls r5, 2 - adds r0, r5 - ldr r1, _08039758 - add r2, sp, 0x144 - ldr r2, [r2] - add r3, sp, 0x148 - ldr r3, [r3] - add r4, sp, 0x14C - ldr r4, [r4] - str r4, [sp] - bl sub_800D158 - ldr r2, [r7] - adds r2, r5 - str r6, [sp] - movs r0, 0x40 - movs r1, 0x24 - movs r3, 0 - bl xxx_call_draw_string - bl sub_8097778 - adds r2, r0, 0 - ldr r0, [r7] - movs r4, 0x8D - lsls r4, 2 - adds r0, r4 - ldr r1, _0803975C - bl sub_800D158 - ldr r2, [r7] - adds r2, r4 - str r6, [sp] - movs r0, 0x40 - movs r1, 0x30 - movs r3, 0 - bl xxx_call_draw_string - ldr r0, _08039760 - cmp r8, r0 - bne _0803976C - ldr r0, _08039764 - ldr r6, [r0] - movs r1, 0xC - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0803976C - add r5, sp, 0x130 - adds r1, r0, 0 - adds r0, r5, 0 - bl sub_808D930 - add r4, sp, 0xE0 - adds r1, r6, 0 - adds r1, 0x50 - adds r0, r4, 0 - movs r2, 0xA - bl sub_80922B4 - ldr r0, [r7] - movs r3, 0x96 - lsls r3, 2 - adds r0, r3 - ldr r1, _08039768 - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_800D158 - b _0803977C - .align 2, 0 -_0803974C: .4byte gUnknown_80E780C -_08039750: .4byte gUnknown_203B374 -_08039754: .4byte gUnknown_203B47C -_08039758: .4byte gUnknown_80E7838 -_0803975C: .4byte gUnknown_80E7848 -_08039760: .4byte 0x000f1207 -_08039764: .4byte gUnknown_203B484 -_08039768: .4byte gUnknown_80E784C -_0803976C: - ldr r0, _080397AC - ldr r0, [r0] - movs r1, 0x96 - lsls r1, 2 - adds r0, r1 - ldr r1, _080397B0 - bl sub_800D158 -_0803977C: - ldr r0, _080397AC - ldr r2, [r0] - movs r3, 0x96 - lsls r3, 2 - adds r2, r3 - movs r0, 0 - str r0, [sp] - movs r0, 0x40 - movs r1, 0x3C - movs r3, 0 - bl xxx_call_draw_string - bl sub_80397B4 - movs r0, 0 - bl sub_80073E0 - add sp, 0x150 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080397AC: .4byte gUnknown_203B374 -_080397B0: .4byte gUnknown_80E7854 - thumb_func_end sub_80394A4 - - thumb_func_start sub_80397B4 -sub_80397B4: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - ldr r0, _08039834 - ldr r1, _08039838 - bl OpenFileAndGetFileDataPtr - adds r6, r0, 0 - movs r4, 0 -_080397C8: - adds r0, r4, 0 - adds r0, 0xB0 - ldr r1, [r6, 0x4] - lsls r2, r4, 2 - ldr r1, [r1, 0x4] - adds r1, r2 - bl SetBGPaletteBufferColorArray - adds r4, 0x1 - cmp r4, 0x3F - ble _080397C8 - movs r7, 0x8 - movs r0, 0x49 - mov r8, r0 - movs r4, 0 -_080397E6: - ldr r0, _0803983C - lsls r5, r4, 2 - adds r0, r5, r0 - ldr r0, [r0] - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _0803981C - movs r0, 0x10 - str r0, [sp] - ldr r0, [r6, 0x4] - lsls r1, r4, 7 - ldr r0, [r0] - adds r0, r1 - str r0, [sp, 0x4] - ldr r0, _08039840 - adds r0, r5, r0 - ldr r0, [r0] - str r0, [sp, 0x8] - movs r0, 0 - adds r1, r7, 0 - mov r2, r8 - movs r3, 0x10 - bl sub_8007E20 - adds r7, 0x10 -_0803981C: - adds r4, 0x1 - cmp r4, 0xB - ble _080397E6 - adds r0, r6, 0 - bl CloseFile - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08039834: .4byte gUnknown_80E785C -_08039838: .4byte gUnknown_8380000 -_0803983C: .4byte gUnknown_203B3B8 -_08039840: .4byte gUnknown_203B388 - thumb_func_end sub_80397B4 - - thumb_func_start sub_8039844 -sub_8039844: - push {r4,r5,lr} - bl sub_8011FA8 - adds r5, r0, 0 - movs r4, 0 - movs r0, 0x1 - bl sub_8095324 - cmp r0, 0 - bne _0803986A - movs r0, 0x7 - bl sub_8095324 - cmp r0, 0 - bne _0803986A - bl sub_8011C1C - cmp r0, 0x2 - bne _08039872 -_0803986A: - ldr r0, _0803987C - cmp r5, r0 - bne _08039872 - movs r4, 0x1 -_08039872: - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0803987C: .4byte 0x000f1207 - thumb_func_end sub_8039844 - - thumb_func_start sub_8039880 -sub_8039880: - push {r4,lr} - movs r4, 0 - movs r0, 0x1 - bl sub_8095324 - cmp r0, 0 - bne _080398A0 - movs r0, 0x7 - bl sub_8095324 - cmp r0, 0 - bne _080398A0 - bl sub_8011C1C - cmp r0, 0x2 - bne _080398A2 -_080398A0: - movs r4, 0x1 -_080398A2: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8039880 - - thumb_func_start sub_80398AC -sub_80398AC: - push {r4,r5,lr} - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r5, _0803991C - ldr r4, _08039920 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 - movs r1, 0 - movs r2, 0 - adds r4, r5, 0 -_080398D8: - ldr r0, [r5] - adds r0, 0x1 - adds r0, r1 - strb r2, [r0] - adds r1, 0x1 - cmp r1, 0x35 - ble _080398D8 - ldr r1, [r4] - movs r3, 0x92 - lsls r3, 3 - adds r2, r1, r3 - movs r0, 0x3 - str r0, [r2] - ldr r0, _08039924 - adds r2, r1, r0 - movs r0, 0x2 - str r0, [r2] - movs r0, 0x93 - lsls r0, 3 - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r0, [r4] - adds r0, r3 - movs r1, 0x5 - str r1, [r0] - movs r0, 0x11 - bl sub_803A1C0 - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0803991C: .4byte gUnknown_203B3E8 -_08039920: .4byte 0x0000049c -_08039924: .4byte 0x00000494 - thumb_func_end sub_80398AC - - thumb_func_start sub_8039928 -sub_8039928: - push {lr} - ldr r0, _08039940 - ldr r0, [r0] - ldrb r0, [r0] - subs r0, 0x4 - cmp r0, 0xF - bhi _080399DE - lsls r0, 2 - ldr r1, _08039944 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08039940: .4byte gUnknown_203B3E8 -_08039944: .4byte _08039948 - .align 2, 0 -_08039948: - .4byte _08039988 - .4byte _0803998E - .4byte _0803999E - .4byte _080399AA - .4byte _08039992 - .4byte _080399A4 - .4byte _080399C8 - .4byte _080399DE - .4byte _08039998 - .4byte _080399B0 - .4byte _080399B6 - .4byte _080399BC - .4byte _080399C2 - .4byte _080399CE - .4byte _080399D4 - .4byte _080399DA -_08039988: - bl sub_8039A18 - b _080399DE -_0803998E: - movs r0, 0x3 - b _080399E0 -_08039992: - bl sub_8039AA8 - b _080399DE -_08039998: - bl sub_8039B14 - b _080399DE -_0803999E: - bl sub_8039B20 - b _080399DE -_080399A4: - bl sub_8039B58 - b _080399DE -_080399AA: - bl sub_8039D88 - b _080399DE -_080399B0: - bl sub_8039D28 - b _080399DE -_080399B6: - bl sub_8039D68 - b _080399DE -_080399BC: - bl sub_8039DA4 - b _080399DE -_080399C2: - bl sub_8039DCC - b _080399DE -_080399C8: - bl sub_8039B3C - b _080399DE -_080399CE: - bl sub_8039D0C - b _080399DE -_080399D4: - bl sub_8039C60 - b _080399DE -_080399DA: - bl sub_8039DE8 -_080399DE: - movs r0, 0 -_080399E0: - pop {r1} - bx r1 - thumb_func_end sub_8039928 - - thumb_func_start sub_80399E4 -sub_80399E4: - push {r4,lr} - ldr r4, _08039A14 - ldr r0, [r4] - cmp r0, 0 - beq _08039A0E - bl MemoryFree - movs r0, 0 - str r0, [r4] - bl sub_8030DE4 - bl sub_801B450 - bl sub_803084C - bl sub_801CBB8 - bl sub_80155F0 - bl sub_8031E10 -_08039A0E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08039A14: .4byte gUnknown_203B3E8 - thumb_func_end sub_80399E4 - - thumb_func_start sub_8039A18 -sub_8039A18: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039AA2 - ldr r0, _08039A48 - ldr r1, [r0] - movs r2, 0x93 - lsls r2, 2 - adds r1, r2 - movs r2, 0xA - str r2, [r1] - ldr r1, [sp] - adds r2, r0, 0 - cmp r1, 0x8 - bhi _08039AA2 - lsls r0, r1, 2 - ldr r1, _08039A4C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08039A48: .4byte gUnknown_203B3E8 -_08039A4C: .4byte _08039A50 - .align 2, 0 -_08039A50: - .4byte _08039A9C - .4byte _08039AA2 - .4byte _08039AA2 - .4byte _08039A74 - .4byte _08039A74 - .4byte _08039A88 - .4byte _08039AA2 - .4byte _08039AA2 - .4byte _08039A9C -_08039A74: - ldr r0, [r2] - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - movs r1, 0x3 - str r1, [r0] - movs r0, 0x8 - bl sub_803A1C0 - b _08039AA2 -_08039A88: - ldr r0, [r2] - movs r2, 0x92 - lsls r2, 3 - adds r0, r2 - movs r1, 0x5 - str r1, [r0] - movs r0, 0x11 - bl sub_803A1C0 - b _08039AA2 -_08039A9C: - movs r0, 0x5 - bl sub_803A1C0 -_08039AA2: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039A18 - - thumb_func_start sub_8039AA8 -sub_8039AA8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039B0E - ldr r0, [sp] - cmp r0, 0 - beq _08039AE8 - cmp r0, 0x6 - bne _08039B0E - ldr r0, _08039AD8 - ldr r0, [r0] - ldr r1, _08039ADC - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x1 - bne _08039AE0 - movs r0, 0x2 - bl sub_803A1C0 - b _08039B0E - .align 2, 0 -_08039AD8: .4byte gUnknown_203B3E8 -_08039ADC: .4byte 0x00000494 -_08039AE0: - movs r0, 0xC - bl sub_803A1C0 - b _08039B0E -_08039AE8: - ldr r0, _08039B00 - ldr r0, [r0] - ldr r1, _08039B04 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x1 - bne _08039B08 - movs r0, 0x1 - bl sub_803A1C0 - b _08039B0E - .align 2, 0 -_08039B00: .4byte gUnknown_203B3E8 -_08039B04: .4byte 0x00000494 -_08039B08: - movs r0, 0x4 - bl sub_803A1C0 -_08039B0E: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039AA8 - - thumb_func_start sub_8039B14 -sub_8039B14: - push {lr} - movs r0, 0x6 - bl sub_803A1C0 - pop {r0} - bx r0 - thumb_func_end sub_8039B14 - - thumb_func_start sub_8039B20 -sub_8039B20: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039B34 - movs r0, 0x9 - bl sub_803A1C0 -_08039B34: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039B20 - - thumb_func_start sub_8039B3C -sub_8039B3C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039B50 - movs r0, 0x4 - bl sub_803A1C0 -_08039B50: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039B3C - - thumb_func_start sub_8039B58 -sub_8039B58: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039BA6 - ldr r0, _08039B88 - ldr r1, [r0] - movs r2, 0x94 - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - bne _08039B9C - subs r2, 0x4 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0x9 - beq _08039B8C - cmp r0, 0xA - beq _08039B94 - b _08039BA6 - .align 2, 0 -_08039B88: .4byte gUnknown_203B3E8 -_08039B8C: - movs r0, 0x7 - bl sub_803A1C0 - b _08039BA6 -_08039B94: - movs r0, 0xD - bl sub_803A1C0 - b _08039BA6 -_08039B9C: - bl sub_8039BAC - movs r0, 0xA - bl sub_803A1C0 -_08039BA6: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039B58 - - thumb_func_start sub_8039BAC -sub_8039BAC: - push {lr} - cmp r0, 0xF - bhi _08039C48 - lsls r0, 2 - ldr r1, _08039BBC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08039BBC: .4byte _08039BC0 - .align 2, 0 -_08039BC0: - .4byte _08039C54 - .4byte _08039C00 - .4byte _08039C10 - .4byte _08039C08 - .4byte _08039C18 - .4byte _08039C20 - .4byte _08039C48 - .4byte _08039C48 - .4byte _08039C48 - .4byte _08039C48 - .4byte _08039C48 - .4byte _08039C48 - .4byte _08039C48 - .4byte _08039C48 - .4byte _08039C28 - .4byte _08039C30 -_08039C00: - ldr r0, _08039C04 - b _08039C32 - .align 2, 0 -_08039C04: .4byte gUnknown_80E7914 -_08039C08: - ldr r0, _08039C0C - b _08039C32 - .align 2, 0 -_08039C0C: .4byte gUnknown_80E7938 -_08039C10: - ldr r0, _08039C14 - b _08039C32 - .align 2, 0 -_08039C14: .4byte gUnknown_80E7994 -_08039C18: - ldr r0, _08039C1C - b _08039C32 - .align 2, 0 -_08039C1C: .4byte gUnknown_80E79E4 -_08039C20: - ldr r0, _08039C24 - b _08039C32 - .align 2, 0 -_08039C24: .4byte gUnknown_80E7914 -_08039C28: - ldr r0, _08039C2C - b _08039C32 - .align 2, 0 -_08039C2C: .4byte gUnknown_80E7914 -_08039C30: - ldr r0, _08039C40 -_08039C32: - ldr r3, _08039C44 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _08039C54 - .align 2, 0 -_08039C40: .4byte gUnknown_80E7A48 -_08039C44: .4byte 0x00000101 -_08039C48: - ldr r0, _08039C58 - ldr r3, _08039C5C - movs r1, 0 - movs r2, 0 - bl sub_80141B4 -_08039C54: - pop {r0} - bx r0 - .align 2, 0 -_08039C58: .4byte gUnknown_80E7914 -_08039C5C: .4byte 0x00000101 - thumb_func_end sub_8039BAC - - thumb_func_start sub_8039C60 -sub_8039C60: - push {r4,r5,lr} - bl sub_80154F0 - adds r4, r0, 0 - ldr r5, _08039CBC - ldr r0, [r5] - adds r0, 0x38 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - cmp r4, 0x2 - beq _08039CE6 - cmp r4, 0x3 - bne _08039D04 - bl sub_80155F0 - bl sub_8004914 - ldr r0, [r5] - movs r1, 0xF6 - lsls r1, 1 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r1, [r5] - adds r0, r1, 0x1 - adds r1, 0x38 - bl sub_803D358 - lsls r0, 24 - cmp r0, 0 - beq _08039CB4 - ldr r0, [r5] - adds r0, 0x38 - bl sub_80959C0 - lsls r0, 24 - cmp r0, 0 - bne _08039CC0 -_08039CB4: - movs r0, 0x13 - bl sub_803A1C0 - b _08039D04 - .align 2, 0 -_08039CBC: .4byte gUnknown_203B3E8 -_08039CC0: - ldr r0, [r5] - movs r2, 0xF0 - lsls r2, 2 - adds r1, r0, r2 - adds r0, 0x38 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r3,r4} - stm r1!, {r3,r4} - ldr r0, [r5] - movs r1, 0x93 - lsls r1, 3 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - movs r0, 0xD - bl sub_803A1C0 - b _08039D04 -_08039CE6: - bl sub_80155F0 - bl sub_8004914 - ldr r0, [r5] - movs r2, 0xF6 - lsls r2, 1 - adds r0, r2 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x5 - bl sub_803A1C0 -_08039D04: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8039C60 - - thumb_func_start sub_8039D0C -sub_8039D0C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039D20 - movs r0, 0x12 - bl sub_803A1C0 -_08039D20: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039D0C - - thumb_func_start sub_8039D28 -sub_8039D28: - push {r4,r5,lr} - bl sub_802D0E0 - cmp r0, 0x3 - bne _08039D62 - bl sub_802D178 - ldr r5, _08039D58 - ldr r1, [r5] - movs r4, 0x93 - lsls r4, 3 - adds r1, r4 - strb r0, [r1] - bl sub_802D184 - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _08039D5C - movs r0, 0xE - bl sub_803A1C0 - b _08039D62 - .align 2, 0 -_08039D58: .4byte gUnknown_203B3E8 -_08039D5C: - movs r0, 0x10 - bl sub_803A1C0 -_08039D62: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8039D28 - - thumb_func_start sub_8039D68 -sub_8039D68: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039D82 - movs r0, 0xF - bl sub_803A1C0 - movs r0, 0 - bl sub_8012574 -_08039D82: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039D68 - - thumb_func_start sub_8039D88 -sub_8039D88: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039D9C - movs r0, 0x8 - bl sub_803A1C0 -_08039D9C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039D88 - - thumb_func_start sub_8039DA4 -sub_8039DA4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039DC6 - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08039DC6 - bl sub_8012750 - movs r0, 0x10 - bl sub_803A1C0 -_08039DC6: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039DA4 - - thumb_func_start sub_8039DCC -sub_8039DCC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039DE0 - movs r0, 0x5 - bl sub_803A1C0 -_08039DE0: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039DCC - - thumb_func_start sub_8039DE8 -sub_8039DE8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039E0E - ldr r0, [sp] - cmp r0, 0 - beq _08039E08 - cmp r0, 0x6 - bne _08039E0E - movs r0, 0x11 - bl sub_803A1C0 - b _08039E0E -_08039E08: - movs r0, 0x5 - bl sub_803A1C0 -_08039E0E: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039DE8 - - thumb_func_start nullsub_54 -nullsub_54: - bx lr - thumb_func_end nullsub_54 - - thumb_func_start sub_8039E18 -sub_8039E18: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - ldr r1, _08039E38 - ldr r0, [r1] - ldrb r0, [r0] - adds r6, r1, 0 - cmp r0, 0x13 - bls _08039E2E - b _0803A1AA -_08039E2E: - lsls r0, 2 - ldr r1, _08039E3C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08039E38: .4byte gUnknown_203B3E8 -_08039E3C: .4byte _08039E40 - .align 2, 0 -_08039E40: - .4byte _08039E90 - .4byte _08039EB8 - .4byte _0803A1AA - .4byte _08039EC8 - .4byte _08039EDC - .4byte _0803A1AA - .4byte _08039FF4 - .4byte _08039FA4 - .4byte _08039FCC - .4byte _0803A00C - .4byte _0803A1AA - .4byte _0803A1AA - .4byte _0803A1AA - .4byte _08039F04 - .4byte _08039F68 - .4byte _0803A1AA - .4byte _08039FAC - .4byte _0803A152 - .4byte _0803A168 - .4byte _0803A18E -_08039E90: - ldr r0, _08039EB0 - ldr r3, _08039EB4 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x1 - bl sub_8014248 - b _0803A1AA - .align 2, 0 -_08039EB0: .4byte gUnknown_80E7AC4 -_08039EB4: .4byte gUnknown_80E786C -_08039EB8: - ldr r0, _08039EC0 - ldr r3, _08039EC4 - b _08039EE0 - .align 2, 0 -_08039EC0: .4byte gUnknown_80E7AE0 -_08039EC4: .4byte gUnknown_80E7894 -_08039EC8: - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_802EF48 - b _0803A1AA -_08039EDC: - ldr r0, _08039EFC - ldr r3, _08039F00 -_08039EE0: - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x3 - bl sub_8014248 - b _0803A1AA - .align 2, 0 -_08039EFC: .4byte gUnknown_80E7B14 -_08039F00: .4byte gUnknown_80E78D8 -_08039F04: - ldr r0, [r6] - ldr r2, _08039F3C - adds r1, r0, r2 - movs r3, 0xF0 - lsls r3, 2 - adds r0, r3 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r4} - stm r1!, {r2,r4} - ldr r2, [r6] - ldr r3, _08039F40 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, 0x4 - bne _08039F44 - movs r4, 0x91 - lsls r4, 3 - adds r1, r2, r4 - subs r3, 0xA2 - adds r0, r2, r3 - str r0, [r1] - adds r4, 0x4 - adds r1, r2, r4 - adds r3, 0x28 - adds r0, r2, r3 - str r0, [r1] - b _08039F54 - .align 2, 0 -_08039F3C: .4byte 0x00000474 -_08039F40: .4byte 0x00000476 -_08039F44: - movs r4, 0x91 - lsls r4, 3 - adds r0, r2, r4 - movs r1, 0 - str r1, [r0] - ldr r3, _08039F60 - adds r0, r2, r3 - str r1, [r0] -_08039F54: - ldr r0, [r6] - ldr r4, _08039F64 - adds r0, r4 - bl sub_802D098 - b _0803A1AA - .align 2, 0 -_08039F60: .4byte 0x0000048c -_08039F64: .4byte 0x00000474 -_08039F68: - ldr r1, [r6] - movs r2, 0x93 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _08039F9C - movs r3, 0x92 - lsls r3, 3 - adds r0, r1, r3 - ldr r0, [r0] - cmp r0, 0x4 - bne _08039F84 - b _0803A1AA -_08039F84: - cmp r0, 0x4 - bgt _08039F8E - cmp r0, 0x3 - beq _08039F94 - b _0803A1AA -_08039F8E: - cmp r0, 0x5 - beq _08039F94 - b _0803A1AA -_08039F94: - ldr r0, _08039F98 - b _0803A154 - .align 2, 0 -_08039F98: .4byte gUnknown_80E7B48 -_08039F9C: - ldr r0, _08039FA0 - b _0803A154 - .align 2, 0 -_08039FA0: .4byte gUnknown_80E7B48 -_08039FA4: - ldr r0, _08039FA8 - b _0803A154 - .align 2, 0 -_08039FA8: .4byte gUnknown_80E7B68 -_08039FAC: - ldr r0, [r6] - movs r4, 0x93 - lsls r4, 3 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _08039FC4 - ldr r0, _08039FC0 - b _0803A154 - .align 2, 0 -_08039FC0: .4byte gUnknown_80E7B88 -_08039FC4: - ldr r0, _08039FC8 - b _0803A154 - .align 2, 0 -_08039FC8: .4byte gUnknown_80E7BC8 -_08039FCC: - ldr r0, _08039FEC - ldr r3, _08039FF0 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x6 - bl sub_8014248 - b _0803A1AA - .align 2, 0 -_08039FEC: .4byte gUnknown_80E7BEC -_08039FF0: .4byte gUnknown_80E78F8 -_08039FF4: - movs r0, 0 - bl nullsub_23 - ldr r0, _0803A008 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80141B4 - b _0803A1AA - .align 2, 0 -_0803A008: .4byte gUnknown_80E7C48 -_0803A00C: - ldr r0, [r6] - movs r1, 0x94 - lsls r1, 2 - mov r8, r1 - add r0, r8 - movs r1, 0 - str r1, [r0] - bl sub_8011830 - ldr r0, [r6] - movs r7, 0x93 - lsls r7, 2 - adds r0, r7 - ldr r0, [r0] - bl sub_8037B28 - ldr r2, [r6] - mov r3, r8 - adds r1, r2, r3 - str r0, [r1] - cmp r0, 0 - beq _0803A03A - b _0803A14C -_0803A03A: - adds r4, r7, 0 - adds r0, r2, r4 - ldr r0, [r0] - cmp r0, 0x9 - beq _0803A04A - cmp r0, 0xA - beq _0803A0AA - b _0803A0DE -_0803A04A: - movs r5, 0x95 - lsls r5, 2 - adds r0, r2, r5 - movs r1, 0 - movs r2, 0xB4 - bl MemoryFill8 - ldr r0, [r6] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - bl sub_803B344 - adds r4, r0, 0 - ldr r1, [r4, 0x14] - cmp r1, 0 - beq _0803A08C - ldr r0, [r6] - movs r2, 0x9A - lsls r2, 2 - adds r0, r2 - movs r2, 0x28 - bl MemoryCopy8 - ldr r0, [r6] - movs r3, 0xA4 - lsls r3, 2 - adds r0, r3 - ldr r1, [r4, 0x18] - movs r2, 0x78 - bl MemoryCopy8 -_0803A08C: - ldr r1, [r6] - adds r1, r5 - adds r0, r4, 0 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r4} - stm r1!, {r2,r4} - ldr r2, [r6] - adds r0, r2, r7 - ldr r0, [r0] - adds r1, r2, r5 - movs r3, 0xC2 - lsls r3, 2 - adds r2, r3 - b _0803A0D4 -_0803A0AA: - movs r4, 0x95 - lsls r4, 2 - adds r0, r2, r4 - movs r1, 0 - movs r2, 0xB4 - bl MemoryFill8 - ldr r0, [r6] - movs r5, 0xC2 - lsls r5, 2 - adds r0, r5 - movs r1, 0 - movs r2, 0xB4 - bl MemoryFill8 - ldr r2, [r6] - adds r0, r2, r7 - ldr r0, [r0] - adds r4, r2, r4 - adds r2, r5 - adds r1, r4, 0 -_0803A0D4: - bl sub_8037D64 - ldr r1, [r6] - add r1, r8 - str r0, [r1] -_0803A0DE: - ldr r4, _0803A134 - ldr r2, [r4] - movs r5, 0x94 - lsls r5, 2 - adds r0, r2, r5 - ldr r0, [r0] - cmp r0, 0 - bne _0803A14C - movs r1, 0x93 - lsls r1, 2 - adds r0, r2, r1 - ldr r0, [r0] - cmp r0, 0xA - bhi _0803A14C - cmp r0, 0x9 - bcc _0803A14C - movs r3, 0x95 - lsls r3, 2 - adds r1, r2, r3 - adds r3, 0xB4 - adds r2, r3 - bl sub_80381F4 - ldr r1, [r4] - adds r1, r5 - str r0, [r1] - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - beq _0803A138 - ldr r1, [r4] - movs r4, 0xF0 - lsls r4, 2 - adds r0, r1, r4 - movs r2, 0xC2 - lsls r2, 2 - adds r1, r2 - movs r2, 0xB4 - bl memcpy - b _0803A14C - .align 2, 0 -_0803A134: .4byte gUnknown_203B3E8 -_0803A138: - ldr r1, [r4] - movs r3, 0xF0 - lsls r3, 2 - adds r0, r1, r3 - movs r4, 0x95 - lsls r4, 2 - adds r1, r4 - movs r2, 0xB4 - bl memcpy -_0803A14C: - bl sub_8011854 - b _0803A1AA -_0803A152: - ldr r0, _0803A160 -_0803A154: - ldr r3, _0803A164 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _0803A1AA - .align 2, 0 -_0803A160: .4byte gUnknown_80E7C98 -_0803A164: .4byte 0x00000101 -_0803A168: - ldr r0, [r6] - movs r1, 0xF6 - lsls r1, 1 - 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, 0x1 - movs r0, 0x5 - bl sub_80151C0 - b _0803A1AA -_0803A18E: - ldr r0, _0803A1B8 - ldr r3, _0803A1BC - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x6 - bl sub_8014248 -_0803A1AA: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803A1B8: .4byte gUnknown_80E7CC4 -_0803A1BC: .4byte gUnknown_80E78F8 - thumb_func_end sub_8039E18 - - thumb_func_start sub_803A1C0 -sub_803A1C0: - push {lr} - ldr r1, _0803A1D4 - ldr r1, [r1] - strb r0, [r1] - bl nullsub_54 - bl sub_8039E18 - pop {r0} - bx r0 - .align 2, 0 -_0803A1D4: .4byte gUnknown_203B3E8 - thumb_func_end sub_803A1C0 - - thumb_func_start sub_803A1D8 -sub_803A1D8: - movs r0, 0x1 - bx lr - thumb_func_end sub_803A1D8 - - thumb_func_start sub_803A1DC -sub_803A1DC: - movs r0, 0 - bx lr - thumb_func_end sub_803A1DC - - thumb_func_start nullsub_55 -nullsub_55: - bx lr - thumb_func_end nullsub_55 - - thumb_func_start sub_803A1E4 -sub_803A1E4: - movs r0, 0x1 - bx lr - thumb_func_end sub_803A1E4 - - thumb_func_start sub_803A1E8 -sub_803A1E8: - movs r0, 0x2 - bx lr - thumb_func_end sub_803A1E8 - - thumb_func_start sub_803A1EC -sub_803A1EC: - push {lr} - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r0} - bx r0 - thumb_func_end sub_803A1EC - - thumb_func_start sub_803A200 -sub_803A200: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r5, _0803A270 - ldr r0, [r5] - cmp r0, 0 - bne _0803A224 - movs r4, 0xD2 - lsls r4, 1 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_0803A224: - mov r12, r5 - movs r0, 0xA0 - lsls r0, 1 - mov r8, r0 - ldr r4, _0803A274 - movs r3, 0 - movs r2, 0x3 -_0803A232: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - add r1, r8 - 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 _0803A232 - bl sub_8004914 - ldr r0, _0803A270 - ldr r0, [r0] - movs r6, 0xA0 - lsls r6, 1 - adds r0, r6 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl SetDebugMenuItems - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803A270: .4byte gUnknown_203B3EC -_0803A274: .4byte gUnknown_80E7D40 - thumb_func_end sub_803A200 - - thumb_func_start sub_803A278 -sub_803A278: - push {r4,lr} - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _0803A2A0 - ldr r0, [r4] - cmp r0, 0 - beq _0803A298 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0803A298: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A2A0: .4byte gUnknown_203B3EC - thumb_func_end sub_803A278 - - thumb_func_start sub_803A2A4 -sub_803A2A4: - push {r4,r5,lr} - sub sp, 0x4 - ldr r4, _0803A2D4 - movs r0, 0xB - str r0, [sp] - ldr r5, _0803A2D8 - ldr r0, [r5] - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0803A2C4 - ldr r0, [r5] - mov r1, sp - bl sub_8013114 -_0803A2C4: - ldr r0, [sp] - cmp r0, 0xB - bhi _0803A34E - lsls r0, 2 - ldr r1, _0803A2DC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803A2D4: .4byte 0x0000ffdc -_0803A2D8: .4byte gUnknown_203B3EC -_0803A2DC: .4byte _0803A2E0 - .align 2, 0 -_0803A2E0: - .4byte _0803A310 - .4byte _0803A314 - .4byte _0803A318 - .4byte _0803A31C - .4byte _0803A320 - .4byte _0803A324 - .4byte _0803A328 - .4byte _0803A34E - .4byte _0803A34E - .4byte _0803A330 - .4byte _0803A344 - .4byte _0803A34C -_0803A310: - movs r4, 0x2F - b _0803A34E -_0803A314: - movs r4, 0x30 - b _0803A34E -_0803A318: - movs r4, 0x31 - b _0803A34E -_0803A31C: - movs r4, 0x32 - b _0803A34E -_0803A320: - movs r4, 0x33 - b _0803A34E -_0803A324: - movs r4, 0x34 - b _0803A34E -_0803A328: - bl sub_803A3BC - movs r4, 0x1 - b _0803A34E -_0803A330: - movs r4, 0 -_0803A332: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80976F8 - adds r4, 0x1 - cmp r4, 0x1F - ble _0803A332 - movs r4, 0x1 - b _0803A34E -_0803A344: - bl sub_803A3A0 - movs r4, 0x1 - b _0803A34E -_0803A34C: - ldr r4, _0803A358 -_0803A34E: - adds r0, r4, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0803A358: .4byte 0x0000ffdc - thumb_func_end sub_803A2A4 - - thumb_func_start SetDebugMenuItems -SetDebugMenuItems: - push {r4,lr} - sub sp, 0x10 - ldr r4, _0803A394 - ldr r0, [r4] - movs r2, 0xA0 - lsls r2, 1 - adds r1, r0, r2 - ldr r3, _0803A398 - ldr r2, _0803A39C - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0xD - str r2, [sp, 0x8] - movs r2, 0 - str r2, [sp, 0xC] - bl SetMenuItems - ldr r0, [r4] - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A394: .4byte gUnknown_203B3EC -_0803A398: .4byte gUnknown_80E7D58 -_0803A39C: .4byte gUnknown_80E7D70 - thumb_func_end SetDebugMenuItems - - thumb_func_start sub_803A3A0 -sub_803A3A0: - push {lr} - ldr r0, _0803A3B8 - ldr r0, [r0] - movs r1, 0xA0 - lsls r1, 1 - adds r0, r1 - movs r1, 0 - bl sub_8035CC0 - pop {r0} - bx r0 - .align 2, 0 -_0803A3B8: .4byte gUnknown_203B3EC - thumb_func_end sub_803A3A0 - - thumb_func_start sub_803A3BC -sub_803A3BC: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x84 - movs r5, 0x1 - add r4, sp, 0x60 - add r6, sp, 0x68 - add r0, sp, 0x7C - mov r8, r0 - add r0, sp, 0x80 - mov r10, r0 -_0803A3D6: - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_80925EC - adds r5, 0x1 - cmp r5, 0x39 - ble _0803A3D6 - movs r5, 0 - adds r7, r4, 0 -_0803A3E8: - movs r0, 0 - mov r9, r0 - ldr r0, _0803A454 - str r0, [sp, 0x7C] - adds r5, 0x1 - lsls r4, r5, 16 - asrs r4, 16 - adds r0, r7, 0 - movs r1, 0 - movs r2, 0x8 - bl memset - movs r0, 0x27 - strh r0, [r7] - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_808D8BC - adds r0, r6, 0 - adds r1, r6, 0 - bl sub_80922F4 - movs r0, 0x40 - strb r0, [r6] - mov r0, r8 - str r0, [sp] - str r7, [sp, 0x4] - add r0, sp, 0x8 - adds r1, r4, 0 - adds r2, r6, 0 - movs r3, 0x43 - bl sub_808CFD0 - add r0, sp, 0x8 - bl sub_808D1DC - ldr r0, _0803A458 - cmp r5, r0 - ble _0803A3E8 - mov r0, r9 - str r0, [sp, 0x80] - mov r0, r10 - movs r1, 0x1 - bl sub_801203C - add sp, 0x84 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803A454: .4byte 0x00001006 -_0803A458: .4byte 0x0000012b - thumb_func_end sub_803A3BC - - thumb_func_start sub_803A45C -sub_803A45C: - push {r4,lr} - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _0803A488 - movs r0, 0x9C - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r0, 0 - bl sub_803A504 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0803A488: .4byte gUnknown_203B3F0 - thumb_func_end sub_803A45C - - thumb_func_start sub_803A48C -sub_803A48C: - push {lr} - ldr r0, _0803A4A4 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x5 - bhi _0803A4E0 - lsls r0, 2 - ldr r1, _0803A4A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803A4A4: .4byte gUnknown_203B3F0 -_0803A4A8: .4byte _0803A4AC - .align 2, 0 -_0803A4AC: - .4byte _0803A4C4 - .4byte _0803A4C4 - .4byte _0803A4CA - .4byte _0803A4D0 - .4byte _0803A4D6 - .4byte _0803A4DC -_0803A4C4: - bl sub_803A740 - b _0803A4E0 -_0803A4CA: - bl sub_803A7B0 - b _0803A4E0 -_0803A4D0: - bl sub_803A810 - b _0803A4E0 -_0803A4D6: - bl sub_803A86C - b _0803A4E0 -_0803A4DC: - movs r0, 0x3 - b _0803A4E2 -_0803A4E0: - movs r0, 0 -_0803A4E2: - pop {r1} - bx r1 - thumb_func_end sub_803A48C - - thumb_func_start sub_803A4E8 -sub_803A4E8: - push {r4,lr} - ldr r4, _0803A500 - ldr r0, [r4] - cmp r0, 0 - beq _0803A4FA - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0803A4FA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A500: .4byte gUnknown_203B3F0 - thumb_func_end sub_803A4E8 - - thumb_func_start sub_803A504 -sub_803A504: - push {lr} - ldr r1, _0803A518 - ldr r1, [r1] - str r0, [r1] - bl sub_803A51C - bl sub_803A5A0 - pop {r0} - bx r0 - .align 2, 0 -_0803A518: .4byte gUnknown_203B3F0 - thumb_func_end sub_803A504 - - thumb_func_start sub_803A51C -sub_803A51C: - push {r4-r7,lr} - ldr r4, _0803A53C - ldr r0, [r4] - adds r0, 0xD8 - bl sub_8006518 - ldr r1, [r4] - ldr r0, [r1] - cmp r0, 0x2 - beq _0803A544 - cmp r0, 0x3 - bne _0803A55C - adds r1, 0xF0 - ldr r0, _0803A540 - b _0803A54C - .align 2, 0 -_0803A53C: .4byte gUnknown_203B3F0 -_0803A540: .4byte gUnknown_80E7E64 -_0803A544: - movs r0, 0x84 - lsls r0, 1 - adds r1, r0 - ldr r0, _0803A558 -_0803A54C: - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - b _0803A57E - .align 2, 0 -_0803A558: .4byte gUnknown_80E7E4C -_0803A55C: - mov r12, r4 - ldr r4, _0803A598 - movs r3, 0 - movs r2, 0x3 -_0803A564: - mov r0, r12 - ldr r1, [r0] - adds r1, r3 - adds r1, 0xD8 - 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 _0803A564 -_0803A57E: - bl sub_8004914 - ldr r0, _0803A59C - ldr r0, [r0] - adds r0, 0xD8 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803A598: .4byte gUnknown_80E7E34 -_0803A59C: .4byte gUnknown_203B3F0 - thumb_func_end sub_803A51C - - thumb_func_start sub_803A5A0 -sub_803A5A0: - push {lr} - sub sp, 0xC - ldr r1, _0803A5BC - ldr r0, [r1] - ldr r0, [r0] - adds r2, r1, 0 - cmp r0, 0x5 - bhi _0803A68A - lsls r0, 2 - ldr r1, _0803A5C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803A5BC: .4byte gUnknown_203B3F0 -_0803A5C0: .4byte _0803A5C4 - .align 2, 0 -_0803A5C4: - .4byte _0803A5DC - .4byte _0803A5EA - .4byte _0803A5F2 - .4byte _0803A61C - .4byte _0803A678 - .4byte _0803A68A -_0803A5DC: - movs r0, 0x2 - movs r1, 0x3 - movs r2, 0 - movs r3, 0xA - bl sub_801C8C4 - b _0803A68A -_0803A5EA: - movs r0, 0x1 - bl sub_801CB5C - b _0803A68A -_0803A5F2: - bl sub_801CCD8 - bl sub_803A6F0 - ldr r0, _0803A618 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x4C - adds r1, r2, 0 - adds r1, 0xC - ldr r2, [r2, 0x8] - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _0803A68A - .align 2, 0 -_0803A618: .4byte gUnknown_203B3F0 -_0803A61C: - ldr r3, [r2] - adds r1, r3, 0 - adds r1, 0xAC - movs r0, 0x3 - str r0, [r1] - subs r1, 0x8 - movs r0, 0 - str r0, [r1] - adds r1, 0x4 - ldr r0, _0803A670 - str r0, [r1] - adds r2, r3, 0 - adds r2, 0xA0 - ldr r0, _0803A674 - ldr r1, [r0] - ldrb r0, [r3, 0x4] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r0, [r1] - str r0, [r2] - adds r1, r3, 0 - adds r1, 0xB0 - movs r0, 0x1 - str r0, [r1] - adds r1, 0x4 - adds r0, r3, 0 - adds r0, 0xF0 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x2C - str r0, [r1] - adds r1, 0x4 - movs r0, 0x12 - str r0, [r1] - adds r0, r3, 0 - adds r0, 0x9C - bl sub_8013AA0 - bl sub_803A690 - b _0803A68A - .align 2, 0 -_0803A670: .4byte 0x000003e7 -_0803A674: .4byte gUnknown_203B460 -_0803A678: - ldr r0, [r2] - ldrb r1, [r0, 0x4] - add r0, sp, 0x8 - movs r2, 0 - bl sub_8090A8C - add r0, sp, 0x8 - bl sub_801B3C0 -_0803A68A: - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_803A5A0 - - thumb_func_start sub_803A690 -sub_803A690: - push {r4,lr} - sub sp, 0x4 - ldr r4, _0803A6E8 - ldr r0, [r4] - adds r0, 0xB0 - ldr r0, [r0] - bl sub_8008C54 - ldr r0, [r4] - adds r0, 0xB0 - ldr r0, [r0] - bl sub_80073B8 - ldr r2, _0803A6EC - ldr r0, [r4] - adds r0, 0xB0 - ldr r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - movs r1, 0 - bl xxx_call_draw_string - ldr r0, [r4] - adds r0, 0x9C - bl sub_8013C68 - ldr r0, [r4] - adds r0, 0xB0 - ldr r0, [r0] - bl sub_80073E0 - bl sub_801CCD8 - ldr r0, [r4] - adds r0, 0x4C - movs r1, 0 - bl sub_8012EA4 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A6E8: .4byte gUnknown_203B3F0 -_0803A6EC: .4byte gUnknown_80E7E7C - thumb_func_end sub_803A690 - - thumb_func_start sub_803A6F0 -sub_803A6F0: - push {r4,lr} - ldr r4, _0803A734 - ldr r1, [r4] - ldr r0, _0803A738 - str r0, [r1, 0xC] - movs r0, 0x2 - str r0, [r1, 0x10] - str r0, [r1, 0x8] - ldrb r0, [r1, 0x4] - bl sub_8091524 - lsls r0, 24 - cmp r0, 0 - bne _0803A718 - ldr r0, [r4] - movs r1, 0x1 - negs r1, r1 - str r1, [r0, 0x10] - movs r1, 0x3 - str r1, [r0, 0x8] -_0803A718: - ldr r1, [r4] - movs r2, 0x1 - ldr r0, _0803A73C - ldr r0, [r0] - str r0, [r1, 0x14] - movs r0, 0x3 - str r0, [r1, 0x18] - movs r0, 0 - str r0, [r1, 0x1C] - str r2, [r1, 0x20] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A734: .4byte gUnknown_203B3F0 -_0803A738: .4byte gUnknown_80E7E7C -_0803A73C: .4byte gUnknown_80D4970 - thumb_func_end sub_803A6F0 - - thumb_func_start sub_803A740 -sub_803A740: - push {lr} - movs r0, 0x1 - bl sub_801CA08 - cmp r0, 0x4 - bhi _0803A7AA - lsls r0, 2 - ldr r1, _0803A758 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803A758: .4byte _0803A75C - .align 2, 0 -_0803A75C: - .4byte _0803A7AA - .4byte _0803A7AA - .4byte _0803A7A0 - .4byte _0803A770 - .4byte _0803A788 -_0803A770: - bl sub_801CB24 - ldr r1, _0803A784 - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x2 - bl sub_803A504 - b _0803A7AA - .align 2, 0 -_0803A784: .4byte gUnknown_203B3F0 -_0803A788: - bl sub_801CB24 - ldr r1, _0803A79C - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x4 - bl sub_803A504 - b _0803A7AA - .align 2, 0 -_0803A79C: .4byte gUnknown_203B3F0 -_0803A7A0: - bl sub_801CBB8 - movs r0, 0x5 - bl sub_803A504 -_0803A7AA: - pop {r0} - bx r0 - thumb_func_end sub_803A740 - - thumb_func_start sub_803A7B0 -sub_803A7B0: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_801CA08 - ldr r4, _0803A7E8 - ldr r0, [r4] - adds r0, 0x4C - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0803A7D6 - ldr r0, [r4] - adds r0, 0x4C - mov r1, sp - bl sub_8013114 -_0803A7D6: - ldr r0, [sp] - cmp r0, 0x2 - beq _0803A7F2 - cmp r0, 0x2 - bgt _0803A7EC - cmp r0, 0x1 - beq _0803A802 - b _0803A808 - .align 2, 0 -_0803A7E8: .4byte gUnknown_203B3F0 -_0803A7EC: - cmp r0, 0x3 - beq _0803A7FA - b _0803A808 -_0803A7F2: - movs r0, 0x3 - bl sub_803A504 - b _0803A808 -_0803A7FA: - movs r0, 0x4 - bl sub_803A504 - b _0803A808 -_0803A802: - movs r0, 0x1 - bl sub_803A504 -_0803A808: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_803A7B0 - - thumb_func_start sub_803A810 -sub_803A810: - push {r4,lr} - movs r0, 0 - bl sub_801CA08 - ldr r4, _0803A838 - ldr r0, [r4] - adds r0, 0x4C - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0x9C - bl sub_8013BBC - cmp r0, 0x2 - beq _0803A854 - cmp r0, 0x2 - bhi _0803A83C - cmp r0, 0x1 - beq _0803A860 - b _0803A864 - .align 2, 0 -_0803A838: .4byte gUnknown_203B3F0 -_0803A83C: - cmp r0, 0x3 - bne _0803A864 - ldr r0, _0803A85C - ldr r2, [r0] - ldr r1, [r4] - ldrb r0, [r1, 0x4] - lsls r0, 1 - adds r2, 0x50 - adds r2, r0 - adds r1, 0x9C - ldr r0, [r1] - strh r0, [r2] -_0803A854: - movs r0, 0x1 - bl sub_803A504 - b _0803A864 - .align 2, 0 -_0803A85C: .4byte gUnknown_203B460 -_0803A860: - bl sub_803A690 -_0803A864: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_803A810 - - thumb_func_start sub_803A86C -sub_803A86C: - push {lr} - bl sub_801B410 - cmp r0, 0x1 - bls _0803A884 - cmp r0, 0x3 - bhi _0803A884 - bl sub_801B450 - movs r0, 0x1 - bl sub_803A504 -_0803A884: - pop {r0} - bx r0 - thumb_func_end sub_803A86C - - thumb_func_start sub_803A888 -sub_803A888: - push {r4,lr} - bl sub_8004914 - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _0803A8B4 - movs r0, 0xFC - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r0, 0 - bl sub_803A924 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0803A8B4: .4byte gUnknown_203B3F4 - thumb_func_end sub_803A888 - - thumb_func_start sub_803A8B8 -sub_803A8B8: - push {lr} - ldr r0, _0803A8D0 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x4 - bhi _0803A902 - lsls r0, 2 - ldr r1, _0803A8D4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803A8D0: .4byte gUnknown_203B3F4 -_0803A8D4: .4byte _0803A8D8 - .align 2, 0 -_0803A8D8: - .4byte _0803A8EC - .4byte _0803A8EC - .4byte _0803A8F2 - .4byte _0803A8F8 - .4byte _0803A8FE -_0803A8EC: - bl sub_803AAC4 - b _0803A902 -_0803A8F2: - bl sub_803AB34 - b _0803A902 -_0803A8F8: - bl sub_803ABAC - b _0803A902 -_0803A8FE: - movs r0, 0x3 - b _0803A904 -_0803A902: - movs r0, 0 -_0803A904: - pop {r1} - bx r1 - thumb_func_end sub_803A8B8 - - thumb_func_start sub_803A908 -sub_803A908: - push {r4,lr} - ldr r4, _0803A920 - ldr r0, [r4] - cmp r0, 0 - beq _0803A91A - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0803A91A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A920: .4byte gUnknown_203B3F4 - thumb_func_end sub_803A908 - - thumb_func_start sub_803A924 -sub_803A924: - push {lr} - ldr r1, _0803A938 - ldr r1, [r1] - str r0, [r1] - bl sub_803A93C - bl sub_803A9AC - pop {r0} - bx r0 - .align 2, 0 -_0803A938: .4byte gUnknown_203B3F4 - thumb_func_end sub_803A924 - - thumb_func_start sub_803A93C -sub_803A93C: - push {r4-r7,lr} - ldr r4, _0803A960 - ldr r0, [r4] - adds r0, 0x9C - bl sub_8006518 - ldr r1, [r4] - ldr r0, [r1] - cmp r0, 0x2 - bne _0803A968 - adds r1, 0xCC - ldr r0, _0803A964 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - b _0803A98A - .align 2, 0 -_0803A960: .4byte gUnknown_203B3F4 -_0803A964: .4byte gUnknown_80E7EA4 -_0803A968: - mov r12, r4 - ldr r4, _0803A9A4 - movs r3, 0 - movs r2, 0x3 -_0803A970: - mov r0, r12 - ldr r1, [r0] - adds r1, r3 - adds r1, 0x9C - 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 _0803A970 -_0803A98A: - bl sub_8004914 - ldr r0, _0803A9A8 - ldr r0, [r0] - adds r0, 0x9C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803A9A4: .4byte gUnknown_80E7E8C -_0803A9A8: .4byte gUnknown_203B3F4 - thumb_func_end sub_803A93C - - thumb_func_start sub_803A9AC -sub_803A9AC: - push {lr} - sub sp, 0x8 - ldr r1, _0803A9C8 - ldr r0, [r1] - ldr r0, [r0] - adds r2, r1, 0 - cmp r0, 0x4 - bhi _0803AA2C - lsls r0, 2 - ldr r1, _0803A9CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803A9C8: .4byte gUnknown_203B3F4 -_0803A9CC: .4byte _0803A9D0 - .align 2, 0 -_0803A9D0: - .4byte _0803A9E4 - .4byte _0803A9EE - .4byte _0803A9F6 - .4byte _0803AA20 - .4byte _0803AA2C -_0803A9E4: - movs r0, 0 - movs r1, 0x3 - bl sub_80211AC - b _0803AA2C -_0803A9EE: - movs r0, 0x1 - bl sub_8021354 - b _0803AA2C -_0803A9F6: - bl sub_8021494 - bl sub_803AA34 - ldr r0, _0803AA1C - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x4C - adds r1, r2, 0 - adds r1, 0xC - ldr r2, [r2, 0x8] - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _0803AA2C - .align 2, 0 -_0803AA1C: .4byte gUnknown_203B3F4 -_0803AA20: - ldr r0, [r2] - ldrb r0, [r0, 0x4] - movs r1, 0x1 - movs r2, 0 - bl sub_8021774 -_0803AA2C: - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_803A9AC - - thumb_func_start sub_803AA34 -sub_803AA34: - push {r4,r5,lr} - movs r4, 0 - ldr r0, _0803AA64 - ldr r1, [r0] - ldr r2, _0803AA68 - ldr r3, [r2] - ldrb r0, [r3, 0x4] - adds r1, r0 - ldrb r0, [r1] - adds r5, r2, 0 - cmp r0, 0 - beq _0803AA7A - ldr r0, _0803AA6C - str r0, [r3, 0xC] - bl sub_803ABC8 - lsls r0, 24 - cmp r0, 0 - beq _0803AA70 - ldr r1, [r5] - movs r0, 0x3 - str r0, [r1, 0x10] - b _0803AA82 - .align 2, 0 -_0803AA64: .4byte gUnknown_203B468 -_0803AA68: .4byte gUnknown_203B3F4 -_0803AA6C: .4byte gUnknown_80E7EBC -_0803AA70: - ldr r1, [r5] - movs r0, 0x1 - negs r0, r0 - str r0, [r1, 0x10] - b _0803AA82 -_0803AA7A: - ldr r0, _0803AABC - str r0, [r3, 0xC] - movs r0, 0x2 - str r0, [r3, 0x10] -_0803AA82: - adds r4, 0x1 - ldr r5, [r5] - mov r12, r5 - lsls r1, r4, 3 - mov r3, r12 - adds r3, 0xC - adds r2, r3, r1 - ldr r0, _0803AAC0 - ldr r0, [r0] - str r0, [r2] - mov r2, r12 - adds r2, 0x10 - adds r1, r2, r1 - movs r0, 0x4 - str r0, [r1] - adds r4, 0x1 - lsls r1, r4, 3 - adds r3, r1 - movs r0, 0 - str r0, [r3] - adds r2, r1 - movs r0, 0x1 - str r0, [r2] - mov r1, r12 - ldr r0, [r1, 0x10] - str r0, [r1, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803AABC: .4byte gUnknown_80E7EC4 -_0803AAC0: .4byte gUnknown_80D4970 - thumb_func_end sub_803AA34 - - thumb_func_start sub_803AAC4 -sub_803AAC4: - push {lr} - movs r0, 0x1 - bl sub_8021274 - cmp r0, 0x4 - bhi _0803AB2E - lsls r0, 2 - ldr r1, _0803AADC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803AADC: .4byte _0803AAE0 - .align 2, 0 -_0803AAE0: - .4byte _0803AB2E - .4byte _0803AB2E - .4byte _0803AB24 - .4byte _0803AAF4 - .4byte _0803AB0C -_0803AAF4: - bl sub_802132C - ldr r1, _0803AB08 - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x2 - bl sub_803A924 - b _0803AB2E - .align 2, 0 -_0803AB08: .4byte gUnknown_203B3F4 -_0803AB0C: - bl sub_802132C - ldr r1, _0803AB20 - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x3 - bl sub_803A924 - b _0803AB2E - .align 2, 0 -_0803AB20: .4byte gUnknown_203B3F4 -_0803AB24: - bl sub_80213A0 - movs r0, 0x4 - bl sub_803A924 -_0803AB2E: - pop {r0} - bx r0 - thumb_func_end sub_803AAC4 - - thumb_func_start sub_803AB34 -sub_803AB34: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_8021274 - ldr r4, _0803AB6C - ldr r0, [r4] - adds r0, 0x4C - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0803AB5A - ldr r0, [r4] - adds r0, 0x4C - mov r1, sp - bl sub_8013114 -_0803AB5A: - ldr r0, [sp] - cmp r0, 0x2 - beq _0803AB7A - cmp r0, 0x2 - bgt _0803AB70 - cmp r0, 0x1 - beq _0803AB9E - b _0803ABA4 - .align 2, 0 -_0803AB6C: .4byte gUnknown_203B3F4 -_0803AB70: - cmp r0, 0x3 - beq _0803AB84 - cmp r0, 0x4 - beq _0803AB96 - b _0803ABA4 -_0803AB7A: - ldr r0, [r4] - ldrb r0, [r0, 0x4] - bl sub_80925EC - b _0803AB8E -_0803AB84: - ldr r0, [r4] - ldrb r0, [r0, 0x4] - movs r1, 0x1 - bl sub_809249C -_0803AB8E: - movs r0, 0x1 - bl sub_803A924 - b _0803ABA4 -_0803AB96: - movs r0, 0x3 - bl sub_803A924 - b _0803ABA4 -_0803AB9E: - movs r0, 0x1 - bl sub_803A924 -_0803ABA4: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_803AB34 - - thumb_func_start sub_803ABAC -sub_803ABAC: - push {lr} - bl sub_80217EC - cmp r0, 0x1 - bls _0803ABC4 - cmp r0, 0x3 - bhi _0803ABC4 - bl sub_8021830 - movs r0, 0x1 - bl sub_803A924 -_0803ABC4: - pop {r0} - bx r0 - thumb_func_end sub_803ABAC - - thumb_func_start sub_803ABC8 -sub_803ABC8: - push {r4-r6,lr} - movs r5, 0 - movs r6, 0x1 -_0803ABCE: - ldr r2, _0803AC08 - movs r0, 0x58 - adds r1, r5, 0 - muls r1, r0 - ldr r0, [r2] - adds r2, r0, r1 - ldrh r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0803AC10 - lsrs r0, r1, 1 - ands r0, r6 - cmp r0, 0 - beq _0803AC10 - ldr r0, _0803AC0C - ldr r4, [r0] - movs r1, 0x8 - ldrsh r0, [r2, r1] - bl sub_808DBA8 - ldrb r1, [r4, 0x4] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _0803AC10 - movs r0, 0 - b _0803AC1C - .align 2, 0 -_0803AC08: .4byte gUnknown_203B45C -_0803AC0C: .4byte gUnknown_203B3F4 -_0803AC10: - adds r5, 0x1 - movs r0, 0xCE - lsls r0, 1 - cmp r5, r0 - ble _0803ABCE - movs r0, 0x1 -_0803AC1C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_803ABC8 - - thumb_func_start sub_803AC24 -sub_803AC24: - push {r4,lr} - ldr r4, _0803AC44 - movs r0, 0xA0 - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r0, 0 - bl sub_803ACD0 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0803AC44: .4byte gUnknown_203B3F8 - thumb_func_end sub_803AC24 - - thumb_func_start sub_803AC48 -sub_803AC48: - push {lr} - ldr r0, _0803AC60 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x7 - bhi _0803ACA8 - lsls r0, 2 - ldr r1, _0803AC64 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803AC60: .4byte gUnknown_203B3F8 -_0803AC64: .4byte _0803AC68 - .align 2, 0 -_0803AC68: - .4byte _0803AC88 - .4byte _0803AC90 - .4byte _0803AC90 - .4byte _0803AC96 - .4byte _0803ACA8 - .4byte _0803AC9C - .4byte _0803ACA2 - .4byte _0803ACA8 -_0803AC88: - movs r0, 0x1 - bl sub_803ACD0 - b _0803ACAC -_0803AC90: - bl sub_803AF38 - b _0803ACAC -_0803AC96: - bl sub_803AF88 - b _0803ACAC -_0803AC9C: - bl sub_803AFE8 - b _0803ACAC -_0803ACA2: - bl sub_803B034 - b _0803ACAC -_0803ACA8: - movs r0, 0x3 - b _0803ACAE -_0803ACAC: - movs r0, 0 -_0803ACAE: - pop {r1} - bx r1 - thumb_func_end sub_803AC48 - - thumb_func_start sub_803ACB4 -sub_803ACB4: - push {r4,lr} - ldr r4, _0803ACCC - ldr r0, [r4] - cmp r0, 0 - beq _0803ACC6 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0803ACC6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803ACCC: .4byte gUnknown_203B3F8 - thumb_func_end sub_803ACB4 - - thumb_func_start sub_803ACD0 -sub_803ACD0: - push {lr} - ldr r1, _0803ACE4 - ldr r1, [r1] - str r0, [r1] - bl sub_803ACE8 - bl sub_803AD88 - pop {r0} - bx r0 - .align 2, 0 -_0803ACE4: .4byte gUnknown_203B3F8 - thumb_func_end sub_803ACD0 - - thumb_func_start sub_803ACE8 -sub_803ACE8: - push {r4-r7,lr} - ldr r4, _0803AD08 - ldr r0, [r4] - adds r0, 0xE0 - bl sub_8006518 - ldr r1, [r4] - ldr r0, [r1] - cmp r0, 0x3 - beq _0803AD10 - cmp r0, 0x5 - beq _0803AD38 - movs r2, 0 - ldr r3, _0803AD0C - b _0803AD50 - .align 2, 0 -_0803AD08: .4byte gUnknown_203B3F8 -_0803AD0C: .4byte gUnknown_80E7ED4 -_0803AD10: - bl sub_803AEB0 - ldr r2, [r4] - movs r0, 0x88 - lsls r0, 1 - adds r2, r0 - ldr r1, _0803AD34 - 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, 0x90 - bl sub_8012CAC - b _0803AD6C - .align 2, 0 -_0803AD34: .4byte gUnknown_80E7EEC -_0803AD38: - movs r6, 0x94 - lsls r6, 1 - adds r1, r6 - ldr r0, _0803AD4C - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - b _0803AD6C - .align 2, 0 -_0803AD4C: .4byte gUnknown_80E7F04 -_0803AD50: - ldr r0, [r4] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 3 - adds r0, r1 - adds r0, 0xE0 - adds r1, r3, 0 - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - adds r2, 0x1 - cmp r2, 0x3 - ble _0803AD50 -_0803AD6C: - bl sub_8004914 - ldr r0, _0803AD84 - ldr r0, [r0] - adds r0, 0xE0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803AD84: .4byte gUnknown_203B3F8 - thumb_func_end sub_803ACE8 - - thumb_func_start sub_803AD88 -sub_803AD88: - push {lr} - sub sp, 0x8 - ldr r1, _0803ADA4 - ldr r0, [r1] - ldr r0, [r0] - adds r2, r1, 0 - cmp r0, 0x7 - bhi _0803AE50 - lsls r0, 2 - ldr r1, _0803ADA8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803ADA4: .4byte gUnknown_203B3F8 -_0803ADA8: .4byte _0803ADAC - .align 2, 0 -_0803ADAC: - .4byte _0803AE50 - .4byte _0803ADCC - .4byte _0803ADDA - .4byte _0803ADE2 - .4byte _0803AE50 - .4byte _0803AE0C - .4byte _0803AE44 - .4byte _0803AE50 -_0803ADCC: - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0xA - bl sub_8023868 - b _0803AE50 -_0803ADDA: - movs r0, 0x1 - bl sub_8023B7C - b _0803AE50 -_0803ADE2: - bl sub_8023DA4 - ldr r0, _0803AE08 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x10 - adds r1, r2, 0 - adds r1, 0x90 - adds r3, r2, 0 - adds r3, 0xD0 - ldr r2, [r2, 0xC] - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - bl sub_8012D60 - b _0803AE50 - .align 2, 0 -_0803AE08: .4byte gUnknown_203B3F8 -_0803AE0C: - ldr r2, [r2] - movs r1, 0x3 - str r1, [r2, 0x70] - movs r0, 0x1 - str r0, [r2, 0x68] - movs r0, 0x64 - str r0, [r2, 0x6C] - ldr r0, [r2, 0x8] - ldrb r0, [r0, 0x3] - str r0, [r2, 0x64] - str r1, [r2, 0x74] - movs r1, 0x94 - lsls r1, 1 - adds r0, r2, r1 - str r0, [r2, 0x78] - movs r0, 0x2C - str r0, [r2, 0x7C] - adds r1, r2, 0 - adds r1, 0x80 - movs r0, 0x12 - str r0, [r1] - adds r0, r2, 0 - adds r0, 0x60 - bl sub_8013AA0 - bl sub_803AE58 - b _0803AE50 -_0803AE44: - ldr r0, [r2] - ldr r1, [r0, 0x8] - adds r1, 0x4C - movs r0, 0x2 - bl sub_801602C -_0803AE50: - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_803AD88 - - thumb_func_start sub_803AE58 -sub_803AE58: - push {r4,lr} - sub sp, 0x4 - ldr r4, _0803AEA8 - ldr r0, [r4] - ldr r0, [r0, 0x74] - bl sub_8008C54 - ldr r0, [r4] - ldr r0, [r0, 0x74] - bl sub_80073B8 - ldr r2, _0803AEAC - ldr r0, [r4] - ldr r3, [r0, 0x74] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - movs r1, 0 - bl xxx_call_draw_string - ldr r0, [r4] - adds r0, 0x60 - bl sub_8013C68 - ldr r0, [r4] - ldr r0, [r0, 0x74] - bl sub_80073E0 - bl sub_8023DA4 - ldr r0, [r4] - adds r0, 0x10 - movs r1, 0 - bl sub_8012EA4 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803AEA8: .4byte gUnknown_203B3F8 -_0803AEAC: .4byte gUnknown_80E7F1C - thumb_func_end sub_803AE58 - - thumb_func_start sub_803AEB0 -sub_803AEB0: - push {r4-r6,lr} - ldr r4, _0803AEFC - ldr r0, [r4] - adds r0, 0xD0 - movs r1, 0 - movs r2, 0x10 - bl MemoryFill16 - ldr r4, [r4] - movs r3, 0 - adds r1, r4, 0 - adds r1, 0x90 - ldr r0, _0803AF00 - str r0, [r1] - adds r5, r4, 0 - adds r5, 0x94 - movs r0, 0x4 - str r0, [r5] - movs r2, 0x1 - adds r1, 0x8 - ldr r0, _0803AF04 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x5 - str r0, [r1] - movs r6, 0x2 - adds r0, r4, 0 - adds r0, 0xA0 - str r3, [r0] - adds r0, 0x4 - str r2, [r0] - adds r0, 0x2C - ldrh r0, [r0] - cmp r0, 0 - bne _0803AF08 - ldr r0, [r5] - str r0, [r4, 0xC] - b _0803AF2C - .align 2, 0 -_0803AEFC: .4byte gUnknown_203B3F8 -_0803AF00: .4byte gUnknown_80E7F24 -_0803AF04: .4byte gUnknown_80E7F2C -_0803AF08: - adds r3, 0x1 - cmp r3, r6 - bge _0803AF2C - ldr r0, _0803AF34 - ldr r2, [r0] - lsls r1, r3, 1 - adds r0, r2, 0 - adds r0, 0xD0 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _0803AF08 - lsls r0, r3, 3 - adds r1, r2, 0 - adds r1, 0x94 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0xC] -_0803AF2C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803AF34: .4byte gUnknown_203B3F8 - thumb_func_end sub_803AEB0 - - thumb_func_start sub_803AF38 -sub_803AF38: - push {lr} - movs r0, 0x1 - bl sub_8023A94 - cmp r0, 0x2 - beq _0803AF78 - cmp r0, 0x2 - bcc _0803AF82 - cmp r0, 0x3 - bne _0803AF82 - bl sub_8023B44 - ldr r1, _0803AF70 - ldr r1, [r1] - strh r0, [r1, 0x4] - ldr r3, _0803AF74 - movs r0, 0x4 - ldrsh r2, [r1, r0] - movs r0, 0x58 - muls r2, r0 - ldr r0, [r3] - adds r0, r2 - str r0, [r1, 0x8] - movs r0, 0x3 - bl sub_803ACD0 - b _0803AF82 - .align 2, 0 -_0803AF70: .4byte gUnknown_203B3F8 -_0803AF74: .4byte gUnknown_203B45C -_0803AF78: - bl sub_8023C60 - movs r0, 0x7 - bl sub_803ACD0 -_0803AF82: - pop {r0} - bx r0 - thumb_func_end sub_803AF38 - - thumb_func_start sub_803AF88 -sub_803AF88: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_8023A94 - ldr r4, _0803AFC0 - ldr r0, [r4] - adds r0, 0x10 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0803AFAE - ldr r0, [r4] - adds r0, 0x10 - mov r1, sp - bl sub_8013114 -_0803AFAE: - ldr r0, [sp] - cmp r0, 0x4 - beq _0803AFCA - cmp r0, 0x4 - bgt _0803AFC4 - cmp r0, 0x1 - beq _0803AFDA - b _0803AFE0 - .align 2, 0 -_0803AFC0: .4byte gUnknown_203B3F8 -_0803AFC4: - cmp r0, 0x5 - beq _0803AFD2 - b _0803AFE0 -_0803AFCA: - movs r0, 0x5 - bl sub_803ACD0 - b _0803AFE0 -_0803AFD2: - movs r0, 0x6 - bl sub_803ACD0 - b _0803AFE0 -_0803AFDA: - movs r0, 0x2 - bl sub_803ACD0 -_0803AFE0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_803AF88 - - thumb_func_start sub_803AFE8 -sub_803AFE8: - push {r4,lr} - movs r0, 0 - bl sub_8023A94 - ldr r4, _0803B010 - ldr r0, [r4] - adds r0, 0x10 - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0x60 - bl sub_8013BBC - cmp r0, 0x2 - beq _0803B020 - cmp r0, 0x2 - bhi _0803B014 - cmp r0, 0x1 - beq _0803B028 - b _0803B02C - .align 2, 0 -_0803B010: .4byte gUnknown_203B3F8 -_0803B014: - cmp r0, 0x3 - bne _0803B02C - ldr r0, [r4] - ldr r1, [r0, 0x8] - ldr r0, [r0, 0x60] - strb r0, [r1, 0x3] -_0803B020: - movs r0, 0x2 - bl sub_803ACD0 - b _0803B02C -_0803B028: - bl sub_803AE58 -_0803B02C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_803AFE8 - - thumb_func_start sub_803B034 -sub_803B034: - push {lr} - bl sub_8016080 - cmp r0, 0x3 - bhi _0803B04C - cmp r0, 0x2 - bcc _0803B04C - bl sub_80160D8 - movs r0, 0x2 - bl sub_803ACD0 -_0803B04C: - pop {r0} - bx r0 - thumb_func_end sub_803B034 - - thumb_func_start sub_803B050 -sub_803B050: - push {r4-r7,lr} - ldr r4, _0803B0F4 - movs r0, 0xF4 - lsls r0, 2 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r1, 0x3 - str r1, [r0, 0x34] - adds r1, r0, 0 - adds r1, 0x84 - str r1, [r0, 0x38] - adds r0, 0x3C - bl sub_8006518 - ldr r1, [r4] - ldr r2, [r1, 0x34] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x3C - ldr r0, _0803B0F8 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r0, [r4] - ldr r1, [r0, 0x38] - adds r0, 0x9C - str r0, [r1, 0x14] - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r2, 0 - movs r3, 0 - movs r7, 0xCB - lsls r7, 1 - movs r6, 0x80 - lsls r6, 9 - movs r5, 0 -_0803B0AE: - ldr r0, _0803B0FC - adds r0, r5, r0 - movs r1, 0x2 - ldrsh r0, [r0, r1] - ldr r4, _0803B0F4 - cmp r0, 0xA - bne _0803B0C8 - ldr r0, [r4] - lsls r1, r2, 1 - adds r0, 0xA0 - adds r0, r1 - strh r3, [r0] - adds r2, 0x1 -_0803B0C8: - adds r0, r6, 0 - movs r3, 0x80 - lsls r3, 9 - adds r6, r3 - adds r5, 0xC - asrs r3, r0, 16 - cmp r3, r7 - ble _0803B0AE - ldr r0, [r4] - ldr r3, [r0, 0x34] - adds r1, r2, 0 - movs r2, 0xA - bl sub_8013818 - bl sub_803B204 - bl sub_803B284 - movs r0, 0x1 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0803B0F4: .4byte gUnknown_203B3FC -_0803B0F8: .4byte gUnknown_80E7F54 -_0803B0FC: .4byte gUnknown_812F1F8 - thumb_func_end sub_803B050 - - thumb_func_start sub_803B100 -sub_803B100: - push {lr} - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - ldr r0, _0803B11C - ldr r0, [r0] - bl sub_8013878 - bl sub_803B204 - bl sub_803B284 - pop {r0} - bx r0 - .align 2, 0 -_0803B11C: .4byte gUnknown_203B3FC - thumb_func_end sub_803B100 - - thumb_func_start sub_803B120 -sub_803B120: - push {r4,lr} - ldr r4, _0803B13C - ldr r0, [r4] - bl GetKeyPress - cmp r0, 0x1 - beq _0803B140 - cmp r0, 0x2 - bne _0803B144 - movs r0, 0x1 - bl sub_80119D4 - movs r0, 0x2 - b _0803B160 - .align 2, 0 -_0803B13C: .4byte gUnknown_203B3FC -_0803B140: - movs r0, 0x3 - b _0803B160 -_0803B144: - ldr r0, [r4] - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0803B156 - movs r0, 0 - b _0803B160 -_0803B156: - bl sub_803B204 - bl sub_803B284 - movs r0, 0x1 -_0803B160: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_803B120 - - thumb_func_start sub_803B168 -sub_803B168: - ldr r0, _0803B188 - ldr r0, [r0] - movs r1, 0x1E - ldrsh r2, [r0, r1] - movs r3, 0x1C - ldrsh r1, [r0, r3] - muls r1, r2 - movs r3, 0x18 - ldrsh r2, [r0, r3] - adds r1, r2 - lsls r1, 1 - adds r0, 0xA0 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_0803B188: .4byte gUnknown_203B3FC - thumb_func_end sub_803B168 - - thumb_func_start sub_803B18C -sub_803B18C: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _0803B1B8 - ldr r0, [r5] - movs r1, 0xE5 - strh r1, [r0, 0x22] - bl sub_8013984 - bl sub_803B204 - bl sub_803B284 - cmp r4, 0 - beq _0803B1B2 - ldr r0, [r5] - bl AddMenuCursorSprite -_0803B1B2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803B1B8: .4byte gUnknown_203B3FC - thumb_func_end sub_803B18C - - thumb_func_start sub_803B1BC -sub_803B1BC: - push {r4,r5,lr} - ldr r4, _0803B1FC - ldr r2, [r4] - cmp r2, 0 - beq _0803B1F6 - ldr r0, [r2, 0x34] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x3C - ldr r0, _0803B200 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0803B1F6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803B1FC: .4byte gUnknown_203B3FC -_0803B200: .4byte gUnknown_80E7F3C - thumb_func_end sub_803B1BC - - thumb_func_start sub_803B204 -sub_803B204: - push {r4,lr} - ldr r4, _0803B280 - ldr r0, [r4] - adds r0, 0x9C - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9D - strb r2, [r0] - ldr r0, [r4] - adds r0, 0x9E - movs r1, 0x8 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9F - strb r2, [r0] - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x1A - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x34] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x4A - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x34] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x4C - strh r3, [r2] - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803B280: .4byte gUnknown_203B3FC - thumb_func_end sub_803B204 - - thumb_func_start sub_803B284 -sub_803B284: - push {r4-r6,lr} - sub sp, 0x8 - ldr r6, _0803B338 - ldr r0, [r6] - ldr r0, [r0, 0x34] - bl sub_8008C54 - ldr r0, [r6] - ldr r0, [r0, 0x34] - bl sub_80073B8 - ldr r2, _0803B33C - ldr r0, [r6] - ldr r3, [r0, 0x34] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - movs r1, 0 - bl xxx_call_draw_string - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x9E - ldrb r4, [r0] - lsls r4, 3 - subs r4, 0x2 - movs r0, 0x1E - ldrsh r2, [r1, r0] - adds r2, 0x1 - movs r0, 0x7 - str r0, [sp] - ldr r0, [r1, 0x34] - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r5, 0 - ldr r0, [r6] - movs r1, 0x1A - ldrsh r0, [r0, r1] - cmp r5, r0 - bge _0803B324 -_0803B2DC: - ldr r0, [r6] - movs r3, 0x1E - ldrsh r2, [r0, r3] - movs r3, 0x1C - ldrsh r1, [r0, r3] - muls r2, r1 - adds r2, r5 - lsls r2, 1 - adds r1, r0, 0 - adds r1, 0xA0 - adds r1, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - lsls r4, r1, 1 - adds r4, r1 - lsls r4, 2 - ldr r1, _0803B340 - adds r4, r1 - adds r1, r5, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r2, [r4, 0x4] - ldr r0, [r6] - ldr r3, [r0, 0x34] - movs r0, 0 - str r0, [sp] - movs r0, 0x8 - bl xxx_call_draw_string - adds r5, 0x1 - ldr r0, [r6] - movs r3, 0x1A - ldrsh r0, [r0, r3] - cmp r5, r0 - blt _0803B2DC -_0803B324: - ldr r0, _0803B338 - ldr r0, [r0] - ldr r0, [r0, 0x34] - bl sub_80073E0 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803B338: .4byte gUnknown_203B3FC -_0803B33C: .4byte gUnknown_80E7F6C -_0803B340: .4byte gUnknown_812F1F8 - thumb_func_end sub_803B284 - - thumb_func_start sub_803B344 -sub_803B344: - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _0803B358 - adds r0, r1 - bx lr - .align 2, 0 -_0803B358: .4byte gUnknown_80E7F94 - thumb_func_end sub_803B344 - - thumb_func_start sub_803B35C -sub_803B35C: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r1, 0x18 - bl sub_803C21C - ldrb r0, [r5, 0x2] - subs r0, 0x1 - cmp r0, 0x8 - bls _0803B372 - b _0803B4FA -_0803B372: - lsls r0, 2 - ldr r1, _0803B37C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803B37C: .4byte _0803B380 - .align 2, 0 -_0803B380: - .4byte _0803B3A4 - .4byte _0803B3BE - .4byte _0803B3D8 - .4byte _0803B3F2 - .4byte _0803B414 - .4byte _0803B442 - .4byte _0803B470 - .4byte _0803B49E - .4byte _0803B4CC -_0803B3A4: - adds r0, r4, 0 - adds r0, 0x40 - movs r1, 0 - strb r1, [r0] - adds r0, 0x1 - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x6 - strb r0, [r1] - subs r1, 0x14 - movs r0, 0x5 - b _0803B576 -_0803B3BE: - adds r0, r4, 0 - adds r0, 0x40 - movs r1, 0x1 - strb r1, [r0] - adds r0, 0x1 - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x6 - strb r0, [r1] - subs r1, 0x14 - movs r0, 0x5 - b _0803B576 -_0803B3D8: - adds r0, r4, 0 - adds r0, 0x40 - movs r1, 0x2 - strb r1, [r0] - adds r0, 0x1 - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x6 - strb r0, [r1] - subs r1, 0x14 - movs r0, 0x5 - b _0803B576 -_0803B3F2: - adds r0, r4, 0 - adds r0, 0x40 - movs r1, 0x3 - strb r1, [r0] - adds r0, 0x1 - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x6 - strb r0, [r1] - bl sub_8096DD8 - str r0, [r4, 0x4C] - bl sub_8096DE8 - str r0, [r4, 0x50] - b _0803B578 -_0803B414: - ldrb r0, [r5, 0x1] - cmp r0, 0x3 - bne _0803B42A - adds r0, r4, 0 - adds r0, 0x40 - movs r1, 0xB - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x1 - b _0803B438 -_0803B42A: - adds r0, r4, 0 - adds r0, 0x40 - movs r1, 0xC - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x2 -_0803B438: - strb r0, [r1] - adds r1, r4, 0 - adds r1, 0x41 - movs r0, 0x4 - b _0803B576 -_0803B442: - ldrb r0, [r5, 0x1] - cmp r0, 0x3 - bne _0803B458 - adds r0, r4, 0 - adds r0, 0x40 - movs r1, 0xB - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x1 - b _0803B466 -_0803B458: - adds r0, r4, 0 - adds r0, 0x40 - movs r1, 0xC - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x42 - movs r0, 0x2 -_0803B466: - strb r0, [r1] - adds r1, r4, 0 - adds r1, 0x41 - movs r0, 0x5 - b _0803B576 -_0803B470: - adds r0, r5, 0 - bl sub_803B600 - str r0, [r4, 0x4] - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0803B488 - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0x9 - b _0803B48E -_0803B488: - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0x4 -_0803B48E: - strb r0, [r1] - adds r1, r4, 0 - adds r1, 0x41 - movs r0, 0x6 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x4 - b _0803B576 -_0803B49E: - adds r0, r5, 0 - bl sub_803B628 - str r0, [r4, 0x4] - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0803B4B6 - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0x9 - b _0803B4BC -_0803B4B6: - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0x5 -_0803B4BC: - strb r0, [r1] - adds r1, r4, 0 - adds r1, 0x41 - movs r0, 0x7 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x4 - b _0803B576 -_0803B4CC: - adds r0, r5, 0 - bl sub_803B66C - str r0, [r4, 0x4] - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0803B4E4 - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0xA - b _0803B4EA -_0803B4E4: - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0x6 -_0803B4EA: - strb r0, [r1] - adds r1, r4, 0 - adds r1, 0x41 - movs r0, 0x8 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x5 - b _0803B576 -_0803B4FA: - ldrb r0, [r5, 0x1] - cmp r0, 0x2 - beq _0803B528 - cmp r0, 0x2 - bgt _0803B50A - cmp r0, 0x1 - beq _0803B514 - b _0803B564 -_0803B50A: - cmp r0, 0x3 - beq _0803B53C - cmp r0, 0x4 - beq _0803B550 - b _0803B564 -_0803B514: - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0x9 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0xD - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x4 - b _0803B576 -_0803B528: - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0xA - strb r0, [r1] - adds r1, 0x1 - movs r0, 0xE - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x5 - b _0803B576 -_0803B53C: - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0xB - strb r0, [r1] - adds r1, 0x1 - movs r0, 0xF - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x1 - b _0803B576 -_0803B550: - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0xC - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x10 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x2 - b _0803B576 -_0803B564: - adds r1, r4, 0 - adds r1, 0x40 - movs r0, 0x8 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0xC - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x3 -_0803B576: - strb r0, [r1] -_0803B578: - adds r0, r5, 0x4 - str r0, [r4, 0x8] - movs r0, 0 - str r0, [r4, 0xC] - ldrh r0, [r5, 0xC] - movs r1, 0 - strh r0, [r4, 0x10] - ldrh r0, [r5, 0xE] - strh r0, [r4, 0x12] - ldrb r0, [r5, 0x10] - strb r0, [r4, 0x14] - ldrb r0, [r5] - subs r0, 0x2 - cmp r0, 0x7 - bhi _0803B5EC - lsls r0, 2 - ldr r1, _0803B5A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803B5A0: .4byte _0803B5A4 - .align 2, 0 -_0803B5A4: - .4byte _0803B5C4 - .4byte _0803B5C4 - .4byte _0803B5C4 - .4byte _0803B5C4 - .4byte _0803B5DC - .4byte _0803B5CC - .4byte _0803B5DC - .4byte _0803B5DC -_0803B5C4: - adds r0, r4, 0 - adds r0, 0x43 - movs r1, 0x1 - b _0803B5F0 -_0803B5CC: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x3 - strb r0, [r1] - b _0803B5F6 -_0803B5DC: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x3 - strb r0, [r1] - adds r1, 0x1 - movs r0, 0x2 - strb r0, [r1] - b _0803B5F6 -_0803B5EC: - adds r0, r4, 0 - adds r0, 0x43 -_0803B5F0: - strb r1, [r0] - adds r0, 0x1 - strb r1, [r0] -_0803B5F6: - str r5, [r4, 0x54] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_803B35C - - thumb_func_start sub_803B600 -sub_803B600: - push {lr} - ldr r2, _0803B614 - movs r1, 0 - ldr r3, [r0, 0xC] -_0803B608: - ldr r0, [r2] - cmp r0, r3 - bne _0803B618 - adds r0, r1, 0 - b _0803B624 - .align 2, 0 -_0803B614: .4byte gUnknown_80E9920 -_0803B618: - adds r2, 0x8 - adds r1, 0x1 - cmp r1, 0x14 - ble _0803B608 - movs r0, 0x1 - negs r0, r0 -_0803B624: - pop {r1} - bx r1 - thumb_func_end sub_803B600 - - thumb_func_start sub_803B628 -sub_803B628: - push {r4,r5,lr} - adds r4, r0, 0 - ldr r2, _0803B654 - movs r3, 0 -_0803B630: - ldr r1, [r2] - ldr r0, [r4, 0xC] - cmp r1, r0 - beq _0803B650 - movs r0, 0x2 - ldrsh r1, [r2, r0] - movs r5, 0xC - ldrsh r0, [r4, r5] - cmp r1, r0 - bne _0803B658 - movs r0, 0 - ldrsh r1, [r2, r0] - movs r5, 0xE - ldrsh r0, [r4, r5] - cmp r1, r0 - bne _0803B658 -_0803B650: - adds r0, r3, 0 - b _0803B664 - .align 2, 0 -_0803B654: .4byte gUnknown_80E9F8C -_0803B658: - adds r2, 0xC - adds r3, 0x1 - cmp r3, 0x2C - ble _0803B630 - movs r0, 0x1 - negs r0, r0 -_0803B664: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_803B628 - - thumb_func_start sub_803B66C -sub_803B66C: - push {r4,r5,lr} - adds r4, r0, 0 - ldr r2, _0803B698 - movs r3, 0 -_0803B674: - ldr r1, [r2] - ldr r0, [r4, 0xC] - cmp r1, r0 - beq _0803B694 - movs r0, 0x2 - ldrsh r1, [r2, r0] - movs r5, 0xC - ldrsh r0, [r4, r5] - cmp r1, r0 - bne _0803B69C - movs r0, 0 - ldrsh r1, [r2, r0] - movs r5, 0xE - ldrsh r0, [r4, r5] - cmp r1, r0 - bne _0803B69C -_0803B694: - adds r0, r3, 0 - b _0803B6A8 - .align 2, 0 -_0803B698: .4byte gUnknown_80E8168 -_0803B69C: - adds r2, 0x4 - adds r3, 0x1 - cmp r3, 0x5 - ble _0803B674 - movs r0, 0x1 - negs r0, r0 -_0803B6A8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_803B66C - - thumb_func_start sub_803B6B0 -sub_803B6B0: - push {r4,lr} - sub sp, 0x4 - lsls r2, 24 - ldr r4, _0803B6D0 - lsrs r2, 22 - adds r2, r4 - ldr r2, [r2] - movs r4, 0 - str r4, [sp] - bl xxx_call_draw_string - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803B6D0: .4byte gUnknown_80E8B94 - thumb_func_end sub_803B6B0 - - thumb_func_start sub_803B6D4 -sub_803B6D4: - push {r4-r7,lr} - sub sp, 0x144 - adds r7, r0, 0 - ldr r1, [r7, 0x48] - adds r0, 0x43 - ldrb r2, [r0] - ldr r3, [r7] - movs r0, 0xA - bl sub_803B6B0 - adds r0, r7, 0 - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0xC - bls _0803B6F4 - b _0803B86C -_0803B6F4: - lsls r0, 2 - ldr r1, _0803B700 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803B700: .4byte _0803B704 - .align 2, 0 -_0803B704: - .4byte _0803B73E - .4byte _0803B748 - .4byte _0803B754 - .4byte _0803B738 - .4byte _0803B7A4 - .4byte _0803B7B0 - .4byte _0803B7C8 - .4byte _0803B760 - .4byte _0803B86C - .4byte _0803B818 - .4byte _0803B7E0 - .4byte _0803B788 - .4byte _0803B76A -_0803B738: - ldr r1, [r7, 0x48] - ldr r2, [r7, 0x4C] - b _0803B7CC -_0803B73E: - ldr r1, [r7, 0x48] - ldr r2, _0803B744 - b _0803B7CC - .align 2, 0 -_0803B744: .4byte gUnknown_80E87DC -_0803B748: - ldr r1, [r7, 0x48] - ldr r2, _0803B750 - b _0803B7CC - .align 2, 0 -_0803B750: .4byte gUnknown_80E87F4 -_0803B754: - ldr r1, [r7, 0x48] - ldr r2, _0803B75C - b _0803B7CC - .align 2, 0 -_0803B75C: .4byte gUnknown_80E8818 -_0803B760: - ldr r1, [r7, 0x8] - add r0, sp, 0x4 - bl sub_8090208 - b _0803B850 -_0803B76A: - ldr r4, _0803B780 - ldrb r1, [r7, 0x14] - adds r0, r4, 0 - movs r2, 0 - bl sub_8090DC4 - ldr r1, _0803B784 - add r0, sp, 0x4 - adds r2, r4, 0 - b _0803B84C - .align 2, 0 -_0803B780: .4byte gUnknown_202DE58 -_0803B784: .4byte gUnknown_80E8830 -_0803B788: - ldr r4, _0803B79C - ldrb r1, [r7, 0x14] - adds r0, r4, 0 - movs r2, 0 - bl sub_8090DC4 - ldr r1, _0803B7A0 - add r0, sp, 0x4 - adds r2, r4, 0 - b _0803B84C - .align 2, 0 -_0803B79C: .4byte gUnknown_202DE58 -_0803B7A0: .4byte gUnknown_80E8848 -_0803B7A4: - ldr r1, [r7, 0x48] - ldr r2, _0803B7AC - b _0803B7CC - .align 2, 0 -_0803B7AC: .4byte gUnknown_80E885C -_0803B7B0: - ldr r1, [r7, 0x48] - ldr r3, _0803B7C4 - ldr r2, [r7, 0x4] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r3, 0x4 - adds r0, r3 - ldr r2, [r0] - b _0803B7CC - .align 2, 0 -_0803B7C4: .4byte gUnknown_80E9F8C -_0803B7C8: - ldr r1, [r7, 0x48] - ldr r2, _0803B7DC -_0803B7CC: - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x15 - bl xxx_call_draw_string - b _0803B8B4 - .align 2, 0 -_0803B7DC: .4byte gUnknown_80E886C -_0803B7E0: - ldr r0, [r7, 0x8] - ldr r4, [r0, 0x4] - ldrb r0, [r0] - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r5, _0803B810 - adds r0, r5, 0 - bl strcpy - ldr r1, _0803B814 - movs r0, 0x3 - ands r4, r0 - lsls r4, 2 - adds r4, r1 - ldr r1, [r4] - add r0, sp, 0x4 - adds r2, r5, 0 - b _0803B84C - .align 2, 0 -_0803B810: .4byte gUnknown_202DF98 -_0803B814: .4byte gUnknown_80EAE5C -_0803B818: - ldr r0, [r7, 0x8] - ldr r4, [r0, 0x4] - ldrb r0, [r0] - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r6, _0803B864 - adds r0, r6, 0 - bl strcpy - ldr r5, _0803B868 - adds r0, r4, 0 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r5 - ldr r1, [r0] - add r0, sp, 0x4 - adds r2, r6, 0 -_0803B84C: - bl sub_800D158 -_0803B850: - ldr r1, [r7, 0x48] - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x15 - add r2, sp, 0x4 - bl xxx_call_draw_string - b _0803B8B4 - .align 2, 0 -_0803B864: .4byte gUnknown_202DF98 -_0803B868: .4byte gUnknown_80E910C -_0803B86C: - ldr r0, [r7, 0x8] - ldr r4, [r0, 0x4] - ldrb r0, [r0] - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r6, _0803B8E8 - adds r0, r6, 0 - bl strcpy - ldr r5, _0803B8EC - adds r0, r4, 0 - movs r1, 0xF - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r5 - ldr r1, [r0] - add r0, sp, 0x4 - adds r2, r6, 0 - bl sub_800D158 - ldr r1, [r7, 0x48] - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x15 - add r2, sp, 0x4 - bl xxx_call_draw_string -_0803B8B4: - adds r0, r7, 0 - adds r0, 0x40 - ldrb r1, [r0] - adds r6, r0, 0 - cmp r1, 0x7 - bne _0803B916 - ldr r5, [r7, 0xC] - cmp r5, 0 - bne _0803B8F0 - bl sub_8016028 - movs r4, 0xB2 - subs r4, r0 - movs r1, 0x10 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r2, r0, 0 - ldr r1, [r7, 0x48] - ldr r3, [r7] - str r5, [sp] - adds r0, r4, 0 - bl xxx_call_draw_string - b _0803B956 - .align 2, 0 -_0803B8E8: .4byte gUnknown_202DF98 -_0803B8EC: .4byte gUnknown_80E8C98 -_0803B8F0: - add r4, sp, 0xCC - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0xA - bl sub_80922B4 - bl sub_8016028 - adds r1, r0, 0 - movs r0, 0xB2 - subs r0, r1 - ldr r1, [r7, 0x48] - ldr r3, [r7] - movs r2, 0 - str r2, [sp] - adds r2, r4, 0 - bl xxx_call_draw_string - b _0803B956 -_0803B916: - adds r0, r7, 0 - adds r0, 0x42 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0803B93C - add r4, sp, 0xE0 - ldr r1, [r7, 0x8] - adds r0, r4, 0 - bl sub_8090228 - ldr r1, _0803B938 - add r0, sp, 0x4 - adds r2, r4, 0 - bl sub_800D158 - b _0803B944 - .align 2, 0 -_0803B938: .4byte gUnknown_80E8884 -_0803B93C: - ldr r1, [r7, 0x8] - add r0, sp, 0x4 - bl sub_8090228 -_0803B944: - ldr r1, [r7, 0x48] - adds r1, 0xC - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x1D - add r2, sp, 0x4 - bl xxx_call_draw_string -_0803B956: - ldrb r0, [r6] - cmp r0, 0x7 - bne _0803B962 - ldr r0, [r7, 0x8] - movs r1, 0 - b _0803B968 -_0803B962: - ldr r0, [r7, 0x8] - ldr r1, [r7, 0x54] - ldrb r1, [r1, 0x1] -_0803B968: - bl sub_803C1D0 - lsls r0, 24 - lsrs r0, 24 - bl sub_803C1F0 - adds r2, r0, 0 - ldr r1, [r7, 0x48] - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0xB4 - bl xxx_call_draw_string - add sp, 0x144 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_803B6D4 - - thumb_func_start sub_803B98C -sub_803B98C: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x1FC - adds r7, r0, 0 - movs r0, 0 - mov r9, r0 - ldr r2, _0803B9E0 - ldr r3, [r7] - str r0, [sp] - movs r0, 0xA - movs r1, 0 - bl xxx_call_draw_string - ldr r1, _0803B9E4 - adds r0, r7, 0 - adds r0, 0x44 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r2, [r0] - ldr r3, [r7] - mov r1, r9 - str r1, [sp] - movs r0, 0x6C - movs r1, 0 - bl xxx_call_draw_string - movs r0, 0x10 - mov r9, r0 - adds r0, r7, 0 - adds r0, 0x41 - ldrb r0, [r0] - cmp r0, 0x10 - bls _0803B9D6 - b _0803BCC0 -_0803B9D6: - lsls r0, 2 - ldr r1, _0803B9E8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803B9E0: .4byte gUnknown_80E888C -_0803B9E4: .4byte gUnknown_80E8BCC -_0803B9E8: .4byte _0803B9EC - .align 2, 0 -_0803B9EC: - .4byte _0803BA34 - .4byte _0803BA3C - .4byte _0803BA44 - .4byte _0803BA30 - .4byte _0803BA4C - .4byte _0803BA6C - .4byte _0803BA8C - .4byte _0803BAA0 - .4byte _0803BBF0 - .4byte _0803BAE8 - .4byte _0803BAF0 - .4byte _0803BAF8 - .4byte _0803BCC0 - .4byte _0803BC58 - .4byte _0803BB74 - .4byte _0803BB10 - .4byte _0803BB10 -_0803BA30: - ldr r2, [r7, 0x50] - b _0803BAFA -_0803BA34: - ldr r2, _0803BA38 - b _0803BAFA - .align 2, 0 -_0803BA38: .4byte gUnknown_80E88A0 -_0803BA3C: - ldr r2, _0803BA40 - b _0803BAFA - .align 2, 0 -_0803BA40: .4byte gUnknown_80E88C8 -_0803BA44: - ldr r2, _0803BA48 - b _0803BAFA - .align 2, 0 -_0803BA48: .4byte gUnknown_80E8920 -_0803BA4C: - ldr r4, _0803BA64 - ldrb r1, [r7, 0x14] - adds r0, r4, 0 - movs r2, 0 - bl sub_8090DC4 - ldr r1, _0803BA68 - add r0, sp, 0x4 - adds r2, r4, 0 - bl sub_800D158 - b _0803BACC - .align 2, 0 -_0803BA64: .4byte gUnknown_202DE58 -_0803BA68: .4byte gUnknown_80E8968 -_0803BA6C: - ldr r4, _0803BA84 - ldrb r1, [r7, 0x14] - adds r0, r4, 0 - movs r2, 0 - bl sub_8090DC4 - ldr r1, _0803BA88 - add r0, sp, 0x4 - adds r2, r4, 0 - bl sub_800D158 - b _0803BACC - .align 2, 0 -_0803BA84: .4byte gUnknown_202DE58 -_0803BA88: .4byte gUnknown_80E89B0 -_0803BA8C: - ldr r1, _0803BA9C - ldr r0, [r7, 0x4] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - b _0803BAFA - .align 2, 0 -_0803BA9C: .4byte gUnknown_80E9920 -_0803BAA0: - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r4, _0803BAE0 - adds r0, r4, 0 - bl strcpy - ldr r2, _0803BAE4 - ldr r1, [r7, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r2, 0x8 - adds r0, r2 - ldr r1, [r0] - add r0, sp, 0x4 - adds r2, r4, 0 - adds r3, r4, 0 - bl sub_800D158 -_0803BACC: - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - b _0803BD42 - .align 2, 0 -_0803BAE0: .4byte gUnknown_202DF98 -_0803BAE4: .4byte gUnknown_80E9F8C -_0803BAE8: - ldr r2, _0803BAEC - b _0803BAFA - .align 2, 0 -_0803BAEC: .4byte gUnknown_80E89FC -_0803BAF0: - ldr r2, _0803BAF4 - b _0803BAFA - .align 2, 0 -_0803BAF4: .4byte gUnknown_80E8A40 -_0803BAF8: - ldr r2, _0803BB0C -_0803BAFA: - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - mov r1, r9 - bl xxx_call_draw_string - b _0803BD42 - .align 2, 0 -_0803BB0C: .4byte gUnknown_80E8A7C -_0803BB10: - ldr r0, [r7, 0x8] - ldr r5, [r0, 0x4] - ldrb r4, [r0] - adds r4, r5, r4 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r0, 0x1] - adds r5, r0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _0803BB68 - mov r8, r0 - ldrb r1, [r7, 0x14] - movs r2, 0 - bl sub_8090DC4 - ldr r6, _0803BB6C - adds r0, r4, 0 - movs r1, 0x16 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r6 - ldr r1, [r0] - add r0, sp, 0x4 - mov r2, r8 - bl sub_800D158 - ldr r3, [r7] - movs r6, 0 - str r6, [sp] - movs r0, 0xA - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - movs r1, 0xC - add r9, r1 - ldr r4, _0803BB70 - adds r0, r5, 0 - movs r1, 0x16 - b _0803BD1A - .align 2, 0 -_0803BB68: .4byte gUnknown_202DE58 -_0803BB6C: .4byte gUnknown_80EB3F8 -_0803BB70: .4byte gUnknown_80EB72C -_0803BB74: - ldr r0, [r7, 0x8] - ldr r5, [r0, 0x4] - ldrb r4, [r0] - adds r4, r5, r4 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r0, 0x1] - adds r5, r0 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r0, _0803BBE4 - mov r8, r0 - bl strcpy - ldr r6, _0803BBE8 - adds r0, r4, 0 - movs r1, 0x14 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r6 - ldr r1, [r0] - add r0, sp, 0x4 - mov r2, r8 - bl sub_800D158 - ldr r3, [r7] - movs r4, 0 - str r4, [sp] - movs r0, 0xA - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - movs r1, 0xC - add r9, r1 - ldr r1, _0803BBEC - movs r0, 0x3 - ands r5, r0 - lsls r5, 2 - adds r5, r1 - ldr r1, [r5] - add r0, sp, 0x4 - mov r2, r8 - bl sub_800D158 - ldr r3, [r7] - str r4, [sp] - b _0803BD32 - .align 2, 0 -_0803BBE4: .4byte gUnknown_202DF98 -_0803BBE8: .4byte gUnknown_80EAEB8 -_0803BBEC: .4byte gUnknown_80EB198 -_0803BBF0: - ldr r0, [r7, 0x8] - ldr r5, [r0, 0x4] - ldrb r4, [r0] - adds r4, r5, r4 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r0, 0x1] - adds r5, r0 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r0, _0803BC4C - mov r8, r0 - bl strcpy - ldr r6, _0803BC50 - adds r0, r4, 0 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r6 - ldr r1, [r0] - add r0, sp, 0x4 - mov r2, r8 - bl sub_800D158 - ldr r3, [r7] - movs r6, 0 - str r6, [sp] - movs r0, 0xA - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - movs r1, 0xC - add r9, r1 - ldr r4, _0803BC54 - adds r0, r5, 0 - movs r1, 0x6 - b _0803BD1A - .align 2, 0 -_0803BC4C: .4byte gUnknown_202DF98 -_0803BC50: .4byte gUnknown_80EB220 -_0803BC54: .4byte gUnknown_80EB2F0 -_0803BC58: - ldr r0, [r7, 0x8] - ldr r5, [r0, 0x4] - ldrb r4, [r0] - adds r4, r5, r4 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r0, 0x1] - adds r5, r0 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r0, _0803BCB4 - mov r8, r0 - bl strcpy - ldr r6, _0803BCB8 - adds r0, r4, 0 - movs r1, 0x2D - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r6 - ldr r1, [r0] - add r0, sp, 0x4 - mov r2, r8 - bl sub_800D158 - ldr r3, [r7] - movs r6, 0 - str r6, [sp] - movs r0, 0xA - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - movs r1, 0xC - add r9, r1 - ldr r4, _0803BCBC - adds r0, r5, 0 - movs r1, 0xA - b _0803BD1A - .align 2, 0 -_0803BCB4: .4byte gUnknown_202DF98 -_0803BCB8: .4byte gUnknown_80E91D4 -_0803BCBC: .4byte gUnknown_80E9820 -_0803BCC0: - ldr r0, [r7, 0x8] - ldr r5, [r0, 0x4] - ldrb r4, [r0] - adds r4, r5, r4 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r0, 0x1] - adds r5, r0 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x10 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r0, _0803BD78 - mov r8, r0 - bl strcpy - ldr r6, _0803BD7C - adds r0, r4, 0 - movs r1, 0xD - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r6 - ldr r1, [r0] - add r0, sp, 0x4 - mov r2, r8 - bl sub_800D158 - ldr r3, [r7] - movs r6, 0 - str r6, [sp] - movs r0, 0xA - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - movs r1, 0xC - add r9, r1 - ldr r4, _0803BD80 - adds r0, r5, 0 - movs r1, 0xD -_0803BD1A: - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r1, [r0] - add r0, sp, 0x4 - mov r2, r8 - bl sub_800D158 - ldr r3, [r7] - str r6, [sp] -_0803BD32: - movs r0, 0xA - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - movs r0, 0xC - negs r0, r0 - add r9, r0 -_0803BD42: - movs r1, 0x1C - add r9, r1 - ldr r2, _0803BD84 - ldr r3, [r7] - movs r0, 0 - mov r8, r0 - str r0, [sp] - movs r0, 0xA - mov r1, r9 - bl xxx_call_draw_string - ldr r1, [r7, 0xC] - cmp r1, 0 - bne _0803BD88 - movs r1, 0x10 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r2, r0, 0 - ldr r3, [r7] - mov r0, r8 - str r0, [sp] - movs r0, 0x44 - mov r1, r9 - bl xxx_call_draw_string - b _0803BDBC - .align 2, 0 -_0803BD78: .4byte gUnknown_202DF98 -_0803BD7C: .4byte gUnknown_80E8DE4 -_0803BD80: .4byte gUnknown_80E8FB0 -_0803BD84: .4byte gUnknown_80E8AC8 -_0803BD88: - add r6, sp, 0x158 - adds r0, r6, 0 - movs r2, 0xA - bl sub_80922B4 - add r4, sp, 0x16C - movs r0, 0x10 - ldrsh r1, [r7, r0] - adds r0, r4, 0 - bl sub_808D930 - add r5, sp, 0x130 - ldr r1, _0803BDE8 - adds r0, r5, 0 - adds r2, r6, 0 - adds r3, r4, 0 - bl sub_800D158 - ldr r3, [r7] - mov r1, r8 - str r1, [sp] - movs r0, 0x44 - mov r1, r9 - adds r2, r5, 0 - bl xxx_call_draw_string -_0803BDBC: - movs r0, 0xC - add r9, r0 - ldr r2, _0803BDEC - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - mov r1, r9 - bl xxx_call_draw_string - adds r0, r7, 0 - adds r0, 0x42 - ldrb r1, [r0] - adds r5, r0, 0 - cmp r1, 0x6 - bhi _0803BEB8 - lsls r0, r1, 2 - ldr r1, _0803BDF0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803BDE8: .4byte gUnknown_80E8AD0 -_0803BDEC: .4byte gUnknown_80E8AE0 -_0803BDF0: .4byte _0803BDF4 - .align 2, 0 -_0803BDF4: - .4byte _0803BE10 - .4byte _0803BE30 - .4byte _0803BE18 - .4byte _0803BE48 - .4byte _0803BE80 - .4byte _0803BE60 - .4byte _0803BEB8 -_0803BE10: - ldr r2, _0803BE14 - b _0803BE4A - .align 2, 0 -_0803BE14: .4byte gUnknown_80E8AEC -_0803BE18: - ldr r4, _0803BE28 - ldrb r1, [r7, 0x14] - adds r0, r4, 0 - movs r2, 0 - bl sub_8090DC4 - ldr r1, _0803BE2C - b _0803BE94 - .align 2, 0 -_0803BE28: .4byte gUnknown_202DE58 -_0803BE2C: .4byte gUnknown_80E8AFC -_0803BE30: - ldr r4, _0803BE40 - ldrb r1, [r7, 0x14] - adds r0, r4, 0 - movs r2, 0 - bl sub_8090DC4 - ldr r1, _0803BE44 - b _0803BE94 - .align 2, 0 -_0803BE40: .4byte gUnknown_202DE58 -_0803BE44: .4byte gUnknown_80E8B10 -_0803BE48: - ldr r2, _0803BE5C -_0803BE4A: - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x44 - mov r1, r9 - bl xxx_call_draw_string - b _0803BEC8 - .align 2, 0 -_0803BE5C: .4byte gUnknown_80E8B20 -_0803BE60: - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r4, _0803BE78 - adds r0, r4, 0 - bl strcpy - ldr r1, _0803BE7C - b _0803BE94 - .align 2, 0 -_0803BE78: .4byte gUnknown_202DF98 -_0803BE7C: .4byte gUnknown_80E8B2C -_0803BE80: - movs r1, 0x12 - ldrsh r0, [r7, r1] - bl sub_808D994 - adds r1, r0, 0 - ldr r4, _0803BEB0 - adds r0, r4, 0 - bl strcpy - ldr r1, _0803BEB4 -_0803BE94: - add r0, sp, 0x4 - adds r2, r4, 0 - bl sub_800D158 - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x44 - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - b _0803BEC8 - .align 2, 0 -_0803BEB0: .4byte gUnknown_202DF98 -_0803BEB4: .4byte gUnknown_80E8B40 -_0803BEB8: - ldr r2, _0803BEF8 - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x44 - mov r1, r9 - bl xxx_call_draw_string -_0803BEC8: - movs r0, 0xC - add r9, r0 - ldr r2, _0803BEFC - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - mov r1, r9 - bl xxx_call_draw_string - ldrb r0, [r5] - cmp r0, 0x1 - bne _0803BF04 - add r4, sp, 0x180 - ldr r1, [r7, 0x8] - adds r0, r4, 0 - bl sub_8090228 - ldr r1, _0803BF00 - add r0, sp, 0x4 - adds r2, r4, 0 - bl sub_800D158 - b _0803BF0C - .align 2, 0 -_0803BEF8: .4byte gUnknown_80E8B50 -_0803BEFC: .4byte gUnknown_80E8B60 -_0803BF00: .4byte gUnknown_80E8884 -_0803BF04: - ldr r1, [r7, 0x8] - add r0, sp, 0x4 - bl sub_8090228 -_0803BF0C: - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x44 - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - ldrb r0, [r5] - cmp r0, 0 - bne _0803BF28 - ldr r0, [r7, 0x8] - movs r1, 0 - b _0803BF2E -_0803BF28: - ldr r0, [r7, 0x8] - ldr r1, [r7, 0x54] - ldrb r1, [r1, 0x1] -_0803BF2E: - bl sub_803C1D0 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0xC - add r9, r1 - ldr r2, _0803BF88 - ldr r3, [r7] - movs r6, 0 - str r6, [sp] - movs r0, 0xA - mov r1, r9 - bl xxx_call_draw_string - adds r0, r4, 0 - bl sub_803C1F0 - adds r2, r0, 0 - ldr r3, [r7] - str r6, [sp] - movs r0, 0x44 - mov r1, r9 - bl xxx_call_draw_string - movs r0, 0xC - add r9, r0 - ldr r2, _0803BF8C - ldr r3, [r7] - str r6, [sp] - movs r0, 0xA - mov r1, r9 - bl xxx_call_draw_string - adds r0, r7, 0 - adds r0, 0x2E - ldrb r2, [r0] - adds r5, r0, 0 - cmp r2, 0x4 - bhi _0803C02C - lsls r0, r2, 2 - ldr r1, _0803BF90 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803BF88: .4byte gUnknown_80E8B68 -_0803BF8C: .4byte gUnknown_80E8B74 -_0803BF90: .4byte _0803BF94 - .align 2, 0 -_0803BF94: - .4byte _0803BFA8 - .4byte _0803BFBC - .4byte _0803BFD0 - .4byte _0803BFD0 - .4byte _0803C00C -_0803BFA8: - ldr r1, _0803BFB8 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r2, [r7, 0x30] - add r0, sp, 0x4 - b _0803BFEE - .align 2, 0 -_0803BFB8: .4byte gUnknown_80E8C48 -_0803BFBC: - ldr r1, _0803BFCC - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r2, [r7, 0x30] - add r0, sp, 0x4 - b _0803BFEE - .align 2, 0 -_0803BFCC: .4byte gUnknown_80E8C48 -_0803BFD0: - ldr r4, _0803C004 - adds r0, r7, 0 - adds r0, 0x34 - ldrb r1, [r0] - adds r0, r4, 0 - movs r2, 0 - bl sub_8090DC4 - ldr r1, _0803C008 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - add r0, sp, 0x4 - adds r2, r4, 0 -_0803BFEE: - bl sub_800D158 - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x44 - mov r1, r9 - add r2, sp, 0x4 - bl xxx_call_draw_string - b _0803C040 - .align 2, 0 -_0803C004: .4byte gUnknown_202DE58 -_0803C008: .4byte gUnknown_80E8C48 -_0803C00C: - ldr r1, _0803C028 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r2, [r0] - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0x44 - mov r1, r9 - bl xxx_call_draw_string - b _0803C040 - .align 2, 0 -_0803C028: .4byte gUnknown_80E8C48 -_0803C02C: - ldr r1, _0803C0D4 - lsls r0, r2, 2 - adds r0, r1 - ldr r2, [r0] - ldr r3, [r7] - str r6, [sp] - movs r0, 0x44 - mov r1, r9 - bl xxx_call_draw_string -_0803C040: - movs r1, 0xC - add r9, r1 - adds r0, r7, 0 - adds r0, 0x41 - ldrb r1, [r0] - adds r0, r1, 0 - subs r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bls _0803C0C6 - cmp r1, 0x3 - beq _0803C0C6 - ldr r0, [r7, 0x54] - ldrb r0, [r0] - cmp r0, 0x5 - bne _0803C0C6 - ldr r2, _0803C0D8 - ldr r3, [r7] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - mov r1, r9 - bl xxx_call_draw_string - add r0, sp, 0x1E4 - ldr r1, [r7, 0x54] - bl sub_803D414 - movs r4, 0 -_0803C07C: - cmp r4, 0xC - bne _0803C084 - movs r0, 0xC - add r9, r0 -_0803C084: - movs r5, 0x7 - cmp r4, 0x3 - ble _0803C09C - movs r5, 0x6 - cmp r4, 0x7 - ble _0803C09C - movs r5, 0x7 - cmp r4, 0xF - ble _0803C09C - cmp r4, 0x13 - bgt _0803C09C - movs r5, 0x6 -_0803C09C: - adds r0, r4, 0 - movs r1, 0xC - bl __modsi3 - adds r1, r0, 0 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r0, 0x54 - add r1, sp, 0x1E4 - adds r1, r4 - ldrb r2, [r1] - ldr r1, [r7] - str r1, [sp] - mov r1, r9 - adds r3, r5, 0 - bl sub_8012C60 - adds r4, 0x1 - cmp r4, 0x17 - ble _0803C07C -_0803C0C6: - add sp, 0x1FC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803C0D4: .4byte gUnknown_80E8C48 -_0803C0D8: .4byte gUnknown_80E8B7C - thumb_func_end sub_803B98C - - thumb_func_start sub_803C0DC -sub_803C0DC: - push {lr} - lsls r0, 16 - asrs r0, 16 - bl sub_808E770 - lsls r0, 16 - asrs r2, r0, 16 - ldr r1, _0803C0F0 - b _0803C102 - .align 2, 0 -_0803C0F0: .4byte gUnknown_80E80E0 -_0803C0F4: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, r2 - bne _0803C100 - movs r0, 0 - b _0803C10C -_0803C100: - adds r1, 0x2 -_0803C102: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _0803C0F4 - movs r0, 0x1 -_0803C10C: - pop {r1} - bx r1 - thumb_func_end sub_803C0DC - - thumb_func_start sub_803C110 -sub_803C110: - push {r4,lr} - lsls r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - bl sub_8098134 - lsls r0, 24 - cmp r0, 0 - beq _0803C180 - adds r0, r4, 0 - bl sub_808E770 - lsls r0, 16 - asrs r0, 16 - cmp r4, r0 - bne _0803C180 - adds r0, r4, 0 - bl sub_803C0DC - lsls r0, 24 - cmp r0, 0 - beq _0803C180 - movs r0, 0x6 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - bne _0803C188 - ldr r1, _0803C184 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0803C168 - adds r2, r1, 0 -_0803C154: - movs r3, 0 - ldrsh r0, [r2, r3] - cmp r0, r4 - beq _0803C180 - adds r1, 0x2 - adds r2, 0x2 - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _0803C154 -_0803C168: - bl sub_808D33C - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, r4 - beq _0803C180 - bl sub_808D378 - movs r2, 0x8 - ldrsh r0, [r0, r2] - cmp r0, r4 - bne _0803C188 -_0803C180: - movs r0, 0 - b _0803C18A - .align 2, 0 -_0803C184: .4byte gUnknown_80E8126 -_0803C188: - movs r0, 0x1 -_0803C18A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_803C110 - - thumb_func_start sub_803C190 -sub_803C190: - lsls r0, 24 - ldr r1, _0803C19C - lsrs r0, 21 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_0803C19C: .4byte gUnknown_80EBA18 - thumb_func_end sub_803C190 - - thumb_func_start sub_803C1A0 -sub_803C1A0: - lsls r0, 24 - ldr r1, _0803C1B0 - lsrs r0, 21 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_0803C1B0: .4byte gUnknown_80EBA18 - thumb_func_end sub_803C1A0 - - thumb_func_start sub_803C1B4 -sub_803C1B4: - push {r4,lr} - lsls r4, r1, 24 - lsrs r4, 24 - bl sub_80908D8 - cmp r4, 0x2 - bne _0803C1C4 - adds r0, 0x2 -_0803C1C4: - cmp r0, 0xF - ble _0803C1CA - movs r0, 0xF -_0803C1CA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_803C1B4 - - thumb_func_start sub_803C1D0 -sub_803C1D0: - push {lr} - lsls r1, 24 - lsrs r1, 24 - bl sub_803C1B4 - adds r1, r0, 0 - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r1, r0, 1 - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, 0x6 - bls _0803C1EC - movs r0, 0x6 -_0803C1EC: - pop {r1} - bx r1 - thumb_func_end sub_803C1D0 - - thumb_func_start sub_803C1F0 -sub_803C1F0: - lsls r0, 24 - ldr r1, _0803C1FC - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_0803C1FC: .4byte gUnknown_80E8BF8 - thumb_func_end sub_803C1F0 - - thumb_func_start sub_803C200 -sub_803C200: - push {lr} - lsls r1, 24 - lsrs r1, 24 - bl sub_803C1B4 - ldr r1, _0803C218 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - pop {r1} - bx r1 - .align 2, 0 -_0803C218: .4byte gUnknown_80E80A0 - thumb_func_end sub_803C200 - - thumb_func_start sub_803C21C -sub_803C21C: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - adds r0, r6, 0x4 - ldrb r1, [r6, 0x1] - bl sub_803C1D0 - lsls r0, 24 - lsrs r2, r0, 24 - movs r0, 0 - str r0, [r4, 0x18] - movs r3, 0 - movs r1, 0x2 - adds r0, r4, 0 - adds r0, 0x1E -_0803C23E: - strb r3, [r0] - subs r0, 0x1 - subs r1, 0x1 - cmp r1, 0 - bge _0803C23E - adds r0, r4, 0 - adds r0, 0x20 - movs r1, 0 - strb r1, [r0] - movs r1, 0xA - strb r1, [r4, 0x1F] - ldrb r1, [r6, 0x11] - adds r3, r0, 0 - cmp r1, 0x9 - bhi _0803C354 - lsls r0, r1, 2 - ldr r1, _0803C268 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803C268: .4byte _0803C26C - .align 2, 0 -_0803C26C: - .4byte _0803C294 - .4byte _0803C2A2 - .4byte _0803C2B4 - .4byte _0803C2BE - .4byte _0803C354 - .4byte _0803C2E0 - .4byte _0803C2EE - .4byte _0803C300 - .4byte _0803C30A - .4byte _0803C34A -_0803C294: - movs r0, 0 - strb r0, [r4, 0x16] - adds r1, r2, 0x1 - movs r0, 0x64 - muls r0, r1 - str r0, [r4, 0x18] - b _0803C358 -_0803C2A2: - movs r0, 0x1 - strb r0, [r4, 0x16] - adds r1, r2, 0x1 - movs r0, 0x64 - muls r0, r1 - str r0, [r4, 0x18] - ldrb r0, [r6, 0x12] - strb r0, [r4, 0x1C] - b _0803C358 -_0803C2B4: - movs r0, 0x2 - strb r0, [r4, 0x16] - ldrb r0, [r6, 0x12] - strb r0, [r4, 0x1C] - b _0803C358 -_0803C2BE: - movs r0, 0x3 - strb r0, [r4, 0x16] - ldrb r0, [r6, 0x12] - strb r0, [r4, 0x1C] - adds r5, r6, 0x4 - adds r7, r4, 0 - adds r7, 0x1D -_0803C2CC: - ldrb r1, [r6, 0x1] - adds r0, r5, 0 - adds r2, r7, 0 - bl sub_803C37C - ldrb r0, [r4, 0x1C] - ldrb r1, [r4, 0x1D] - cmp r0, r1 - beq _0803C2CC - b _0803C35A -_0803C2E0: - movs r0, 0 - strb r0, [r4, 0x16] - adds r1, r2, 0x1 - movs r0, 0xC8 - muls r0, r1 - str r0, [r4, 0x18] - b _0803C358 -_0803C2EE: - movs r0, 0x1 - strb r0, [r4, 0x16] - adds r1, r2, 0x1 - movs r0, 0xC8 - muls r0, r1 - str r0, [r4, 0x18] - ldrb r0, [r6, 0x12] - strb r0, [r4, 0x1C] - b _0803C358 -_0803C300: - movs r0, 0x2 - strb r0, [r4, 0x16] - ldrb r0, [r6, 0x12] - strb r0, [r4, 0x1C] - b _0803C358 -_0803C30A: - movs r0, 0x3 - strb r0, [r4, 0x16] - ldrb r0, [r6, 0x12] - strb r0, [r4, 0x1C] - adds r5, r6, 0x4 - adds r7, r4, 0 - adds r7, 0x1D - movs r0, 0x1E - adds r0, r4 - mov r8, r0 -_0803C31E: - ldrb r1, [r6, 0x1] - adds r0, r5, 0 - adds r2, r7, 0 - bl sub_803C37C - ldrb r0, [r4, 0x1C] - ldrb r1, [r4, 0x1D] - cmp r0, r1 - beq _0803C31E -_0803C330: - ldrb r1, [r6, 0x1] - adds r0, r5, 0 - mov r2, r8 - bl sub_803C37C - ldrb r0, [r4, 0x1C] - ldrb r1, [r4, 0x1E] - cmp r0, r1 - beq _0803C330 - ldrb r0, [r4, 0x1D] - cmp r0, r1 - beq _0803C330 - b _0803C35A -_0803C34A: - movs r0, 0x4 - strb r0, [r4, 0x16] - ldrb r0, [r6, 0x13] - strb r0, [r3] - b _0803C358 -_0803C354: - movs r0, 0x5 - strb r0, [r4, 0x16] -_0803C358: - adds r5, r6, 0x4 -_0803C35A: - movs r0, 0xC - ldrsh r1, [r6, r0] - adds r0, r4, 0 - bl sub_808D8E0 - ldrh r0, [r6, 0xC] - strh r0, [r4, 0x14] - ldrb r1, [r6, 0x1] - adds r0, r5, 0 - bl sub_803C200 - str r0, [r4, 0x24] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_803C21C - - thumb_func_start sub_803C37C -sub_803C37C: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - mov r8, r2 - lsls r1, 24 - lsrs r1, 24 - bl sub_803C1B4 - adds r7, r0, 0 - adds r0, r6, 0 - adds r1, r7, 0 - bl sub_8090910 -_0803C398: - movs r5, 0 - adds r0, r6, 0 - adds r1, r7, 0 - bl sub_8090910 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xEA - bne _0803C3BA - movs r0, 0 - movs r1, 0x47 - movs r2, 0x1 - bl sub_8001784 - negs r1, r0 - orrs r1, r0 - lsrs r5, r1, 31 -_0803C3BA: - cmp r4, 0xEB - bne _0803C3CE - movs r0, 0 - movs r1, 0x47 - movs r2, 0 - bl sub_8001784 - cmp r0, 0 - beq _0803C3CE - movs r5, 0x1 -_0803C3CE: - cmp r5, 0 - bne _0803C398 - mov r0, r8 - strb r4, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_803C37C - - thumb_func_start sub_803C3E0 -sub_803C3E0: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x54 - adds r7, r0, 0 - movs r6, 0 - ldr r5, _0803C42C - movs r4, 0 - mov r8, sp -_0803C3F2: - movs r1, 0 - ldrsh r0, [r5, r1] - bl sub_803C110 - lsls r0, 24 - cmp r0, 0 - beq _0803C41A - movs r1, 0x2 - ldrsh r0, [r5, r1] - bl sub_803C110 - lsls r0, 24 - cmp r0, 0 - beq _0803C41A - mov r0, r8 - adds r0, 0x4 - mov r8, r0 - subs r0, 0x4 - stm r0!, {r4} - adds r6, 0x1 -_0803C41A: - adds r5, 0x8 - adds r4, 0x1 - cmp r4, 0x14 - ble _0803C3F2 - ldr r5, _0803C42C - cmp r6, 0 - bne _0803C430 - movs r0, 0 - b _0803C44E - .align 2, 0 -_0803C42C: .4byte gUnknown_80E9920 -_0803C430: - adds r0, r6, 0 - bl RandomCapped - lsls r0, 2 - add r0, sp - ldr r4, [r0] - lsls r0, r4, 3 - adds r5, r0, r5 - ldrh r0, [r5] - strh r0, [r7, 0xC] - ldrh r0, [r5, 0x2] - strh r0, [r7, 0xE] - movs r0, 0x7 - strb r0, [r7, 0x2] - movs r0, 0x1 -_0803C44E: - add sp, 0x54 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_803C3E0 - - thumb_func_start sub_803C45C -sub_803C45C: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xB4 - adds r7, r0, 0 - movs r6, 0 - ldr r5, _0803C4CC - movs r4, 0 - mov r8, sp -_0803C46E: - movs r1, 0 - ldrsh r0, [r5, r1] - bl sub_803C110 - lsls r0, 24 - cmp r0, 0 - beq _0803C496 - movs r1, 0x2 - ldrsh r0, [r5, r1] - bl sub_803C110 - lsls r0, 24 - cmp r0, 0 - beq _0803C496 - mov r0, r8 - adds r0, 0x4 - mov r8, r0 - subs r0, 0x4 - stm r0!, {r4} - adds r6, 0x1 -_0803C496: - adds r5, 0xC - adds r4, 0x1 - cmp r4, 0x2C - ble _0803C46E - ldr r5, _0803C4CC - cmp r6, 0 - beq _0803C4E0 - adds r0, r6, 0 - bl RandomCapped - lsls r0, 2 - add r0, sp - ldr r4, [r0] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r5, r0, r5 - bl Random - movs r1, 0x10 - ands r1, r0 - cmp r1, 0 - beq _0803C4D0 - ldrh r0, [r5] - strh r0, [r7, 0xC] - ldrh r0, [r5, 0x2] - b _0803C4D6 - .align 2, 0 -_0803C4CC: .4byte gUnknown_80E9F8C -_0803C4D0: - ldrh r0, [r5, 0x2] - strh r0, [r7, 0xC] - ldrh r0, [r5] -_0803C4D6: - strh r0, [r7, 0xE] - movs r0, 0x8 - strb r0, [r7, 0x2] - movs r0, 0x1 - b _0803C4E2 -_0803C4E0: - movs r0, 0 -_0803C4E2: - add sp, 0xB4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_803C45C - - thumb_func_start sub_803C4F0 -sub_803C4F0: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x18 - adds r7, r0, 0 - movs r6, 0 - ldr r5, _0803C55C - movs r4, 0 - mov r8, sp -_0803C502: - movs r1, 0 - ldrsh r0, [r5, r1] - bl sub_803C110 - lsls r0, 24 - cmp r0, 0 - beq _0803C52A - movs r1, 0x2 - ldrsh r0, [r5, r1] - bl sub_803C110 - lsls r0, 24 - cmp r0, 0 - beq _0803C52A - mov r0, r8 - adds r0, 0x4 - mov r8, r0 - subs r0, 0x4 - stm r0!, {r4} - adds r6, 0x1 -_0803C52A: - adds r5, 0x4 - adds r4, 0x1 - cmp r4, 0x5 - ble _0803C502 - ldr r5, _0803C55C - cmp r6, 0 - beq _0803C570 - adds r0, r6, 0 - bl RandomCapped - lsls r0, 2 - add r0, sp - ldr r4, [r0] - lsls r0, r4, 2 - adds r5, r0, r5 - bl Random - movs r1, 0x10 - ands r1, r0 - cmp r1, 0 - beq _0803C560 - ldrh r0, [r5] - strh r0, [r7, 0xC] - ldrh r0, [r5, 0x2] - b _0803C566 - .align 2, 0 -_0803C55C: .4byte gUnknown_80E8168 -_0803C560: - ldrh r0, [r5, 0x2] - strh r0, [r7, 0xC] - ldrh r0, [r5] -_0803C566: - strh r0, [r7, 0xE] - movs r0, 0x9 - strb r0, [r7, 0x2] - movs r0, 0x1 - b _0803C572 -_0803C570: - movs r0, 0 -_0803C572: - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_803C4F0 - - thumb_func_start sub_803C580 -sub_803C580: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x54 - adds r6, r0, 0 - movs r7, 0 - ldr r5, _0803C5D8 - movs r0, 0x6 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _0803C5D2 - movs r4, 0 - mov r8, sp -_0803C59E: - movs r1, 0 - ldrsh r0, [r5, r1] - bl sub_803C110 - lsls r0, 24 - cmp r0, 0 - beq _0803C5C6 - ldrb r0, [r6, 0x4] - ldrb r1, [r5, 0x2] - bl sub_8091E60 - lsls r0, 24 - cmp r0, 0 - beq _0803C5C6 - mov r0, r8 - adds r0, 0x4 - mov r8, r0 - subs r0, 0x4 - stm r0!, {r4} - adds r7, 0x1 -_0803C5C6: - adds r5, 0x4 - adds r4, 0x1 - cmp r4, 0x14 - ble _0803C59E - cmp r7, 0 - bne _0803C5DC -_0803C5D2: - movs r0, 0 - b _0803C600 - .align 2, 0 -_0803C5D8: .4byte gUnknown_80E8180 -_0803C5DC: - adds r0, r7, 0 - bl RandomCapped - lsls r0, 2 - add r0, sp - ldr r4, [r0] - lsls r1, r4, 2 - ldr r0, _0803C60C - adds r5, r1, r0 - ldrh r0, [r5] - strh r0, [r6, 0xC] - ldrh r0, [r5] - strh r0, [r6, 0xE] - ldrb r0, [r5, 0x2] - strb r0, [r6, 0x10] - movs r0, 0x5 - strb r0, [r6, 0x2] - movs r0, 0x1 -_0803C600: - add sp, 0x54 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0803C60C: .4byte gUnknown_80E8180 - thumb_func_end sub_803C580 - - thumb_func_start sub_803C610 -sub_803C610: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _0803C660 - add sp, r4 - adds r6, r0, 0 - movs r7, 0 - ldr r4, _0803C664 - movs r5, 0 - mov r8, sp -_0803C624: - movs r1, 0 - ldrsh r0, [r4, r1] - bl sub_803C110 - lsls r0, 24 - cmp r0, 0 - beq _0803C64C - ldrb r0, [r6, 0x4] - ldrb r1, [r4, 0x2] - bl sub_8091E60 - lsls r0, 24 - cmp r0, 0 - beq _0803C64C - mov r0, r8 - adds r0, 0x4 - mov r8, r0 - subs r0, 0x4 - stm r0!, {r5} - adds r7, 0x1 -_0803C64C: - adds r4, 0x4 - adds r5, 0x1 - ldr r0, _0803C668 - cmp r5, r0 - ble _0803C624 - cmp r7, 0 - bne _0803C66C - movs r0, 0 - b _0803C690 - .align 2, 0 -_0803C660: .4byte 0xfffff9f8 -_0803C664: .4byte gUnknown_80E81D4 -_0803C668: .4byte 0x00000181 -_0803C66C: - adds r0, r7, 0 - bl RandomCapped - lsls r0, 2 - add r0, sp - ldr r5, [r0] - lsls r1, r5, 2 - ldr r0, _0803C6A0 - adds r4, r1, r0 - ldrh r0, [r4] - strh r0, [r6, 0xC] - ldrh r0, [r4] - strh r0, [r6, 0xE] - ldrb r0, [r4, 0x2] - strb r0, [r6, 0x10] - movs r0, 0x6 - strb r0, [r6, 0x2] - movs r0, 0x1 -_0803C690: - movs r3, 0xC1 - lsls r3, 3 - add sp, r3 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0803C6A0: .4byte gUnknown_80E81D4 - thumb_func_end sub_803C610 - - thumb_func_start sub_803C6A4 -sub_803C6A4: - push {r4,lr} - ldr r4, _0803C6CC - movs r0, 0xC0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - adds r0, 0xB4 - bl sub_801317C - bl sub_803C6D0 - movs r0, 0x1 - bl sub_8099690 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0803C6CC: .4byte gUnknown_203B400 - thumb_func_end sub_803C6A4 - - thumb_func_start sub_803C6D0 -sub_803C6D0: - push {r4,r5,lr} - ldr r4, _0803C72C - ldr r0, [r4] - adds r0, 0x4 - bl sub_8001024 - ldr r1, [r4] - movs r0, 0 - str r0, [r1] - str r0, [r1, 0x34] - str r0, [r1, 0x38] - movs r2, 0 - movs r5, 0 - adds r3, r4, 0 -_0803C6EC: - ldr r0, [r4] - lsls r1, r2, 2 - adds r0, 0x44 - adds r0, r1 - str r5, [r0] - adds r2, 0x1 - cmp r2, 0xC - ble _0803C6EC - ldr r1, [r3] - movs r0, 0 - str r0, [r1, 0x3C] - movs r2, 0 - adds r4, r3, 0 - movs r1, 0 -_0803C708: - ldr r0, [r4] - adds r0, 0x78 - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x36 - ble _0803C708 - ldr r0, [r3] - adds r0, 0x40 - movs r1, 0 - strb r1, [r0] - ldr r0, [r3] - adds r0, 0xB0 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803C72C: .4byte gUnknown_203B400 - thumb_func_end sub_803C6D0 - - thumb_func_start sub_803C730 -sub_803C730: - push {r4,r5,lr} - ldr r0, _0803C750 - ldr r1, [r0] - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r0, [r1, 0x34] - cmp r0, 0xF - bls _0803C744 - b _0803C848 -_0803C744: - lsls r0, 2 - ldr r1, _0803C754 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803C750: .4byte gUnknown_203B400 -_0803C754: .4byte _0803C758 - .align 2, 0 -_0803C758: - .4byte _0803C798 - .4byte _0803C79E - .4byte _0803C7A4 - .4byte _0803C7AA - .4byte _0803C7B0 - .4byte _0803C7B6 - .4byte _0803C7BC - .4byte _0803C7C2 - .4byte _0803C7C8 - .4byte _0803C7CE - .4byte _0803C7D4 - .4byte _0803C7DA - .4byte _0803C7E0 - .4byte _0803C7E6 - .4byte _0803C7EC - .4byte _0803C7F2 -_0803C798: - bl sub_803C870 - b _0803C848 -_0803C79E: - bl sub_803C908 - b _0803C848 -_0803C7A4: - bl sub_803C920 - b _0803C848 -_0803C7AA: - bl sub_803C98C - b _0803C848 -_0803C7B0: - bl sub_803C9D8 - b _0803C848 -_0803C7B6: - bl sub_803CA54 - b _0803C848 -_0803C7BC: - bl sub_803CA8C - b _0803C848 -_0803C7C2: - bl sub_803CAAC - b _0803C848 -_0803C7C8: - bl sub_803CAD4 - b _0803C848 -_0803C7CE: - bl sub_803CAF4 - b _0803C848 -_0803C7D4: - bl sub_803CB14 - b _0803C848 -_0803C7DA: - bl sub_803CB5C - b _0803C848 -_0803C7E0: - bl sub_803CB7C - b _0803C848 -_0803C7E6: - bl sub_803CBB0 - b _0803C848 -_0803C7EC: - bl sub_803CBE4 - b _0803C848 -_0803C7F2: - bl Random - ldr r4, _0803C844 - ldr r1, [r4] - ldr r1, [r1] - adds r5, r0, 0 - muls r5, r1 - bl Random - bl sub_8094D28 - movs r1, 0 - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0x44 -_0803C810: - ldm r2!, {r0} - adds r0, r1 - adds r0, 0x3 - muls r5, r0 - adds r1, 0x1 - cmp r1, 0xC - ble _0803C810 - bl sub_8094E4C - adds r5, r0 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - bne _0803C838 - adds r4, r5, 0 -_0803C82E: - bl sub_8094E4C - adds r5, r0 - cmp r5, r4 - beq _0803C82E -_0803C838: - adds r0, r5, 0 - bl sub_8011C40 - movs r0, 0x3 - b _0803C84A - .align 2, 0 -_0803C844: .4byte gUnknown_203B400 -_0803C848: - movs r0, 0 -_0803C84A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_803C730 - - thumb_func_start sub_803C850 -sub_803C850: - push {r4,lr} - ldr r4, _0803C86C - ldr r0, [r4] - adds r0, 0x4 - bl sub_8001044 - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803C86C: .4byte gUnknown_203B400 - thumb_func_end sub_803C850 - - thumb_func_start sub_803C870 -sub_803C870: - push {r4-r6,lr} - sub sp, 0x14 - ldr r5, _0803C8A4 - ldr r1, [r5] - ldr r0, [r1, 0x38] - adds r0, 0x1 - str r0, [r1, 0x38] - cmp r0, 0x8 - ble _0803C8B4 - ldr r0, _0803C8A8 - ldr r3, _0803C8AC - movs r1, 0 - str r1, [sp] - movs r4, 0x3 - str r4, [sp, 0x4] - str r1, [sp, 0x8] - str r1, [sp, 0xC] - ldr r1, _0803C8B0 - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0 - bl sub_8014248 - ldr r0, [r5] - str r4, [r0, 0x34] - b _0803C8F8 - .align 2, 0 -_0803C8A4: .4byte gUnknown_203B400 -_0803C8A8: .4byte gGenderText -_0803C8AC: .4byte gUnknown_80F275C -_0803C8B0: .4byte 0x00000101 -_0803C8B4: - adds r4, r5, 0 -_0803C8B6: - movs r0, 0x37 - bl RandomCapped - ldr r1, [r4] - str r0, [r1, 0x3C] - adds r1, 0x78 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x1 - beq _0803C8B6 - ldr r2, _0803C900 - ldr r1, _0803C904 - ldr r0, [r1] - ldr r0, [r0, 0x3C] - adds r0, r2 - ldrb r4, [r0] - movs r3, 0 - adds r6, r1, 0 - movs r5, 0x1 -_0803C8DC: - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, r4 - bne _0803C8EC - ldr r0, [r1] - adds r0, 0x78 - adds r0, r3 - strb r5, [r0] -_0803C8EC: - adds r3, 0x1 - cmp r3, 0x36 - ble _0803C8DC - ldr r1, [r6] - movs r0, 0x1 - str r0, [r1, 0x34] -_0803C8F8: - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803C900: .4byte gNatureQuestionTable -_0803C904: .4byte gUnknown_203B400 - thumb_func_end sub_803C870 - - thumb_func_start sub_803C908 -sub_803C908: - push {lr} - bl sub_803CC04 - ldr r0, _0803C91C - ldr r1, [r0] - movs r0, 0x2 - str r0, [r1, 0x34] - pop {r0} - bx r0 - .align 2, 0 -_0803C91C: .4byte gUnknown_203B400 - thumb_func_end sub_803C908 - - thumb_func_start sub_803C920 -sub_803C920: - push {r4-r6,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803C97C - ldr r3, [sp] - cmp r3, 0x63 - bne _0803C944 - ldr r0, _0803C940 - ldr r1, [r0] - movs r0, 0x37 - str r0, [r1, 0x3C] - movs r0, 0x1 - b _0803C97A - .align 2, 0 -_0803C940: .4byte gUnknown_203B400 -_0803C944: - ldr r1, _0803C984 - ldr r2, _0803C988 - ldr r0, [r2] - ldr r0, [r0, 0x3C] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r4, [r0, 0x8] - lsls r0, r3, 4 - adds r4, r0 - movs r3, 0 - adds r6, r2, 0 - adds r5, r6, 0 -_0803C95E: - ldr r1, [r5] - lsls r0, r3, 2 - adds r1, 0x44 - adds r1, r0 - adds r0, r4, r3 - ldrb r2, [r0] - ldr r0, [r1] - adds r0, r2 - str r0, [r1] - adds r3, 0x1 - cmp r3, 0xC - ble _0803C95E - ldr r1, [r6] - movs r0, 0 -_0803C97A: - str r0, [r1, 0x34] -_0803C97C: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803C984: .4byte gPersonalityQuestionPointerTable -_0803C988: .4byte gUnknown_203B400 - thumb_func_end sub_803C920 - - thumb_func_start sub_803C98C -sub_803C98C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803C9CA - ldr r1, [sp] - cmp r1, 0 - bne _0803C9AC - ldr r0, _0803C9A8 - ldr r0, [r0] - adds r0, 0xB0 - b _0803C9B4 - .align 2, 0 -_0803C9A8: .4byte gUnknown_203B400 -_0803C9AC: - ldr r0, _0803C9D0 - ldr r0, [r0] - adds r0, 0xB0 - movs r1, 0x1 -_0803C9B4: - str r1, [r0] - ldr r0, _0803C9D4 - ldr r0, [r0] - strb r1, [r0, 0xB] - movs r0, 0 - bl sub_8099690 - ldr r0, _0803C9D0 - ldr r1, [r0] - movs r0, 0x4 - str r0, [r1, 0x34] -_0803C9CA: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0803C9D0: .4byte gUnknown_203B400 -_0803C9D4: .4byte gUnknown_203B46C - thumb_func_end sub_803C98C - - thumb_func_start sub_803C9D8 -sub_803C9D8: - push {r4-r7,lr} - movs r0, 0xD - bl RandomCapped - ldr r2, _0803CA4C - ldr r1, [r2] - adds r1, 0x40 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x40 - ldrb r3, [r0] - adds r7, r2, 0 - movs r5, 0xB -_0803C9F2: - adds r3, 0x1 - cmp r3, 0xC - ble _0803C9FA - movs r3, 0 -_0803C9FA: - ldr r0, [r7] - lsls r2, r3, 2 - adds r1, r0, 0 - adds r1, 0x44 - adds r2, r1, r2 - adds r4, r0, 0 - adds r4, 0x40 - ldrb r0, [r4] - lsls r0, 2 - adds r1, r0 - ldr r2, [r2] - ldr r0, [r1] - ldr r6, _0803CA4C - cmp r2, r0 - ble _0803CA1A - strb r3, [r4] -_0803CA1A: - subs r5, 0x1 - cmp r5, 0 - bge _0803C9F2 - ldr r3, [r6] - ldr r2, _0803CA50 - adds r0, r3, 0 - adds r0, 0xB0 - ldr r1, [r0] - lsls r1, 1 - subs r0, 0x70 - ldrb r0, [r0] - lsls r0, 2 - adds r1, r0 - adds r1, r2 - ldrh r0, [r1] - strh r0, [r3, 0x8] - bl sub_803CC40 - ldr r1, [r6] - movs r0, 0x5 - str r0, [r1, 0x34] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803CA4C: .4byte gUnknown_203B400 -_0803CA50: .4byte gStarters - thumb_func_end sub_803C9D8 - - thumb_func_start sub_803CA54 -sub_803CA54: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803CA7A - ldr r0, _0803CA80 - ldr r3, _0803CA84 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - bl sub_803CC80 - ldr r0, _0803CA88 - ldr r1, [r0] - movs r0, 0x6 - str r0, [r1, 0x34] -_0803CA7A: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0803CA80: .4byte gStarterReveal -_0803CA84: .4byte 0x00000101 -_0803CA88: .4byte gUnknown_203B400 - thumb_func_end sub_803CA54 - - thumb_func_start sub_803CA8C -sub_803CA8C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803CAA2 - ldr r0, _0803CAA8 - ldr r1, [r0] - movs r0, 0x7 - str r0, [r1, 0x34] -_0803CAA2: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0803CAA8: .4byte gUnknown_203B400 - thumb_func_end sub_803CA8C - - thumb_func_start sub_803CAAC -sub_803CAAC: - push {lr} - ldr r0, _0803CAC8 - ldr r3, _0803CACC - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - ldr r0, _0803CAD0 - ldr r1, [r0] - movs r0, 0x8 - str r0, [r1, 0x34] - pop {r0} - bx r0 - .align 2, 0 -_0803CAC8: .4byte gUnknown_80F27DC -_0803CACC: .4byte 0x00000301 -_0803CAD0: .4byte gUnknown_203B400 - thumb_func_end sub_803CAAC - - thumb_func_start sub_803CAD4 -sub_803CAD4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803CAEA - ldr r0, _0803CAF0 - ldr r1, [r0] - movs r0, 0x9 - str r0, [r1, 0x34] -_0803CAEA: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0803CAF0: .4byte gUnknown_203B400 - thumb_func_end sub_803CAD4 - - thumb_func_start sub_803CAF4 -sub_803CAF4: - push {r4,lr} - ldr r4, _0803CB10 - ldr r0, [r4] - movs r1, 0x8 - ldrsh r0, [r0, r1] - bl sub_803CD08 - ldr r1, [r4] - movs r0, 0xA - str r0, [r1, 0x34] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803CB10: .4byte gUnknown_203B400 - thumb_func_end sub_803CAF4 - - thumb_func_start sub_803CB14 -sub_803CB14: - push {r4,r5,lr} - bl sub_803CDC0 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _0803CB4C - cmp r5, r0 - beq _0803CB46 - subs r0, 0x1 - cmp r5, r0 - beq _0803CB46 - bl sub_803CE6C - ldr r4, _0803CB50 - ldr r0, [r4] - strh r5, [r0, 0xA] - ldr r0, _0803CB54 - ldr r3, _0803CB58 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - ldr r1, [r4] - movs r0, 0xB - str r0, [r1, 0x34] -_0803CB46: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803CB4C: .4byte 0x0000ffff -_0803CB50: .4byte gUnknown_203B400 -_0803CB54: .4byte gUnknown_80F286C -_0803CB58: .4byte 0x00000301 - thumb_func_end sub_803CB14 - - thumb_func_start sub_803CB5C -sub_803CB5C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803CB72 - ldr r0, _0803CB78 - ldr r1, [r0] - movs r0, 0xC - str r0, [r1, 0x34] -_0803CB72: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0803CB78: .4byte gUnknown_203B400 - thumb_func_end sub_803CB5C - - thumb_func_start sub_803CB7C -sub_803CB7C: - push {r4,r5,lr} - ldr r4, _0803CBAC - ldr r0, [r4] - adds r5, r0, 0 - adds r5, 0x20 - movs r1, 0xA - ldrsh r0, [r0, r1] - bl sub_808D994 - adds r1, r0, 0 - adds r0, r5, 0 - bl sub_80922F4 - ldr r1, [r4] - adds r1, 0x20 - movs r0, 0x3 - bl sub_801602C - ldr r1, [r4] - movs r0, 0xD - str r0, [r1, 0x34] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803CBAC: .4byte gUnknown_203B400 - thumb_func_end sub_803CB7C - - thumb_func_start sub_803CBB0 -sub_803CBB0: - push {lr} - bl sub_8016080 - cmp r0, 0 - beq _0803CBD2 - bl sub_80160D8 - ldr r0, _0803CBD8 - ldr r3, _0803CBDC - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - ldr r0, _0803CBE0 - ldr r1, [r0] - movs r0, 0xE - str r0, [r1, 0x34] -_0803CBD2: - pop {r0} - bx r0 - .align 2, 0 -_0803CBD8: .4byte gUnknown_80F2898 -_0803CBDC: .4byte 0x00000301 -_0803CBE0: .4byte gUnknown_203B400 - thumb_func_end sub_803CBB0 - - thumb_func_start sub_803CBE4 -sub_803CBE4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803CBFA - ldr r0, _0803CC00 - ldr r1, [r0] - movs r0, 0xF - str r0, [r1, 0x34] -_0803CBFA: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0803CC00: .4byte gUnknown_203B400 - thumb_func_end sub_803CBE4 - - thumb_func_start sub_803CC04 -sub_803CC04: - push {lr} - sub sp, 0x14 - ldr r1, _0803CC38 - ldr r0, _0803CC3C - ldr r0, [r0] - ldr r0, [r0, 0x3C] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r0, [r1] - ldr r3, [r1, 0x4] - movs r2, 0 - str r2, [sp] - movs r1, 0x3 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFE - str r1, [sp, 0x10] - movs r1, 0 - bl sub_8014248 - add sp, 0x14 - pop {r0} - bx r0 - .align 2, 0 -_0803CC38: .4byte gPersonalityQuestionPointerTable -_0803CC3C: .4byte gUnknown_203B400 - thumb_func_end sub_803CC04 - - thumb_func_start sub_803CC40 -sub_803CC40: - push {r4,lr} - ldr r0, _0803CC70 - ldr r4, _0803CC74 - ldr r1, [r4] - movs r2, 0x8 - ldrsh r1, [r1, r2] - bl sub_808D8BC - ldr r1, _0803CC78 - ldr r0, [r4] - adds r0, 0x40 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r3, _0803CC7C - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803CC70: .4byte gUnknown_202DF98 -_0803CC74: .4byte gUnknown_203B400 -_0803CC78: .4byte gPersonalityTypeDescriptionTable -_0803CC7C: .4byte 0x00000101 - thumb_func_end sub_803CC40 - - thumb_func_start sub_803CC80 -sub_803CC80: - push {r4-r7,lr} - sub sp, 0x60 - ldr r0, _0803CD00 - ldr r0, [r0] - movs r1, 0x8 - ldrsh r4, [r0, r1] - mov r0, sp - bl sub_8006518 - add r1, sp, 0x18 - ldr r0, _0803CD04 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl sub_8004914 - mov r0, sp - movs r1, 0x1 - movs r2, 0 - bl sub_800641C - movs r0, 0x1 - bl sub_8008C54 - movs r0, 0x1 - bl sub_80073B8 - adds r0, r4, 0 - bl sub_808DDD0 - adds r5, r0, 0 - ldr r0, [r5, 0x4] - ldr r6, [r0, 0xC] - movs r4, 0 - movs r7, 0x8 -_0803CCC8: - adds r0, r4, 0 - adds r0, 0xE0 - ldr r1, [r5, 0x4] - adds r1, r7 - lsls r2, r4, 2 - ldr r1, [r1] - adds r1, r2 - bl SetBGPaletteBufferColorArray - adds r4, 0x1 - cmp r4, 0xF - ble _0803CCC8 - movs r0, 0x1 - adds r1, r6, 0 - movs r2, 0xE - bl sub_800836C - adds r0, r5, 0 - bl CloseFile - movs r0, 0x1 - bl sub_80073E0 - add sp, 0x60 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803CD00: .4byte gUnknown_203B400 -_0803CD04: .4byte gUnknown_80F4244 - thumb_func_end sub_803CC80 - - thumb_func_start sub_803CD08 -sub_803CD08: - push {r4-r7,lr} - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - bl sub_803CEAC - ldr r5, _0803CDB0 - ldr r0, [r5] - movs r3, 0 - movs r1, 0 - strh r4, [r0] - str r1, [r0, 0x4C] - adds r1, r0, 0 - adds r1, 0x54 - str r1, [r0, 0x50] - ldr r0, _0803CDB4 - ldm r0!, {r2,r4,r6} - stm r1!, {r2,r4,r6} - ldm r0!, {r2,r4,r7} - stm r1!, {r2,r4,r7} - ldr r1, [r5] - adds r1, 0x6C - ldr r0, _0803CDB8 - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldr r1, [r5] - ldr r2, _0803CDBC - adds r1, 0x84 - adds r0, r2, 0 - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldr r0, [r5] - adds r0, 0x9C - ldm r2!, {r1,r4,r6} - stm r0!, {r1,r4,r6} - ldm r2!, {r1,r4,r7} - stm r0!, {r1,r4,r7} - ldr r0, [r5] - ldr r1, [r0, 0x50] - adds r0, 0xB4 - str r0, [r1, 0x14] - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r5] - adds r0, 0xB5 - strb r3, [r0] - ldr r0, [r5] - adds r0, 0xB6 - movs r1, 0x6 - strb r1, [r0] - ldr r0, [r5] - adds r0, 0xB7 - strb r3, [r0] - bl sub_8004914 - ldr r0, [r5] - adds r0, 0x54 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - adds r4, 0x18 - bl sub_803D030 - adds r1, r0, 0 - ldr r0, [r5] - ldr r3, [r0, 0x4C] - adds r0, r4, 0 - movs r2, 0xA - bl sub_8013818 - bl sub_803CEF0 - bl sub_803CFC0 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803CDB0: .4byte gUnknown_203B404 -_0803CDB4: .4byte gUnknown_80F4290 -_0803CDB8: .4byte gUnknown_80F42A8 -_0803CDBC: .4byte gUnknown_80F4278 - thumb_func_end sub_803CD08 - - thumb_func_start sub_803CDC0 -sub_803CDC0: - push {r4,r5,lr} - ldr r4, _0803CDF0 - ldr r1, [r4] - movs r0, 0x30 - ldrsh r5, [r1, r0] - movs r0, 0 - strb r0, [r1, 0x16] - ldr r0, [r4] - adds r0, 0x18 - bl GetKeyPress - cmp r0, 0x1 - bne _0803CDF4 - movs r0, 0 - bl sub_80119D4 - ldr r0, [r4] - movs r2, 0x30 - ldrsh r1, [r0, r2] - lsls r1, 1 - adds r0, 0x2 - adds r0, r1 - ldrh r0, [r0] - b _0803CE2A - .align 2, 0 -_0803CDF0: .4byte gUnknown_203B404 -_0803CDF4: - ldr r0, [r4] - adds r0, 0x18 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - beq _0803CE08 - bl sub_803CEF0 -_0803CE08: - ldr r0, [r4] - movs r1, 0x30 - ldrsh r0, [r0, r1] - cmp r5, r0 - beq _0803CE16 - bl sub_803CFC0 -_0803CE16: - ldr r0, [r4] - ldrb r0, [r0, 0x16] - cmp r0, 0 - bne _0803CE28 - ldr r0, _0803CE24 - b _0803CE2A - .align 2, 0 -_0803CE24: .4byte 0x0000ffff -_0803CE28: - ldr r0, _0803CE30 -_0803CE2A: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0803CE30: .4byte 0x0000fffe - thumb_func_end sub_803CDC0 - - thumb_func_start sub_803CE34 -sub_803CE34: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_803D030 - adds r1, r0, 0 - ldr r5, _0803CE68 - ldr r0, [r5] - strh r1, [r0, 0x3A] - adds r0, 0x18 - bl sub_8013984 - bl sub_803CEF0 - bl sub_803CFC0 - cmp r4, 0 - beq _0803CE62 - ldr r0, [r5] - adds r0, 0x18 - bl AddMenuCursorSprite -_0803CE62: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803CE68: .4byte gUnknown_203B404 - thumb_func_end sub_803CE34 - - thumb_func_start sub_803CE6C -sub_803CE6C: - push {r4,r5,lr} - ldr r4, _0803CEA4 - ldr r1, [r4] - ldr r2, [r1, 0x4C] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x54 - ldr r0, _0803CEA8 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl sub_8004914 - ldr r0, [r4] - adds r0, 0x54 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_803CECC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803CEA4: .4byte gUnknown_203B404 -_0803CEA8: .4byte gUnknown_80F4278 - thumb_func_end sub_803CE6C - - thumb_func_start sub_803CEAC -sub_803CEAC: - push {r4,lr} - ldr r4, _0803CEC4 - movs r0, 0xB8 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - bl nullsub_135 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803CEC4: .4byte gUnknown_203B404 - thumb_func_end sub_803CEAC - - thumb_func_start nullsub_135 -nullsub_135: - bx lr - thumb_func_end nullsub_135 - - thumb_func_start sub_803CECC -sub_803CECC: - push {r4,lr} - ldr r4, _0803CEEC - ldr r0, [r4] - cmp r0, 0 - beq _0803CEE4 - bl nullsub_135 - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0803CEE4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803CEEC: .4byte gUnknown_203B404 - thumb_func_end sub_803CECC - - thumb_func_start sub_803CEF0 -sub_803CEF0: - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _0803CF60 - ldr r0, [r6] - movs r1, 0x32 - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r6] - ldr r3, [r2, 0x4C] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x62 - movs r4, 0 - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x4C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x64 - strh r3, [r2] - bl sub_8004914 - ldr r0, [r6] - adds r0, 0x54 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r6] - ldr r0, [r0, 0x4C] - bl sub_8008C54 - ldr r0, [r6] - ldr r0, [r0, 0x4C] - bl sub_80073B8 - ldr r2, _0803CF64 - ldr r0, [r6] - ldr r3, [r0, 0x4C] - str r4, [sp] - movs r0, 0xC - movs r1, 0 - bl xxx_call_draw_string - movs r5, 0 - b _0803CF98 - .align 2, 0 -_0803CF60: .4byte gUnknown_203B404 -_0803CF64: .4byte gUnknown_80F42C0 -_0803CF68: - ldr r0, [r6] - adds r0, 0x18 - adds r1, r5, 0 - bl sub_8013800 - adds r4, r0, 0 - ldr r0, [r6] - lsls r1, r5, 1 - adds r0, 0x2 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - bl sub_808D994 - adds r2, r0, 0 - ldr r0, [r6] - ldr r3, [r0, 0x4C] - movs r0, 0 - str r0, [sp] - movs r0, 0x8 - adds r1, r4, 0 - bl xxx_call_draw_string - adds r5, 0x1 -_0803CF98: - ldr r0, [r6] - movs r1, 0x32 - ldrsh r0, [r0, r1] - cmp r5, r0 - blt _0803CF68 - ldr r4, _0803CFBC - ldr r0, [r4] - ldr r0, [r0, 0x4C] - bl sub_80073E0 - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0x16] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803CFBC: .4byte gUnknown_203B404 - thumb_func_end sub_803CEF0 - - thumb_func_start sub_803CFC0 -sub_803CFC0: - push {r4-r7,lr} - ldr r0, _0803D02C - ldr r0, [r0] - movs r2, 0x30 - ldrsh r1, [r0, r2] - lsls r1, 1 - adds r0, 0x2 - adds r0, r1 - movs r1, 0 - ldrsh r4, [r0, r1] - movs r0, 0x1 - bl sub_8008C54 - movs r0, 0x1 - bl sub_80073B8 - adds r0, r4, 0 - bl sub_808DDD0 - adds r5, r0, 0 - ldr r0, [r5, 0x4] - ldr r6, [r0, 0x4] - movs r4, 0 - movs r7, 0 -_0803CFF0: - adds r0, r4, 0 - adds r0, 0xE0 - ldr r1, [r5, 0x4] - adds r1, r7 - lsls r2, r4, 2 - ldr r1, [r1] - adds r1, r2 - bl SetBGPaletteBufferColorArray - adds r4, 0x1 - cmp r4, 0xF - ble _0803CFF0 - movs r0, 0x1 - adds r1, r6, 0 - movs r2, 0xE - bl sub_800836C - adds r0, r5, 0 - bl CloseFile - movs r0, 0x1 - bl sub_80073E0 - ldr r0, _0803D02C - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x16] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803D02C: .4byte gUnknown_203B404 - thumb_func_end sub_803CFC0 - - thumb_func_start sub_803D030 -sub_803D030: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r0, 0 - mov r8, r0 - ldr r4, _0803D0D0 - ldr r0, [r4] - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0 - bl sub_808DC68 - mov r1, sp - strb r0, [r1] - ldr r0, [r4] - movs r2, 0 - ldrsh r0, [r0, r2] - movs r1, 0x1 - bl sub_808DC68 - mov r1, sp - strb r0, [r1, 0x1] - movs r7, 0 - add r6, sp, 0x4 - mov r5, sp -_0803D064: - ldr r0, _0803D0D4 - lsls r1, r7, 1 - adds r1, r0 - movs r0, 0 - ldrsh r4, [r1, r0] - adds r0, r4, 0 - movs r1, 0 - bl sub_808DC68 - strb r0, [r6] - adds r0, r4, 0 - movs r1, 0x1 - bl sub_808DC68 - adds r2, r0, 0 - strb r2, [r6, 0x1] - ldrb r1, [r6] - cmp r1, 0 - beq _0803D096 - ldrb r0, [r5] - cmp r1, r0 - beq _0803D0BC - ldrb r0, [r5, 0x1] - cmp r1, r0 - beq _0803D0BC -_0803D096: - lsls r0, r2, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _0803D0AA - ldrb r2, [r5] - cmp r1, r2 - beq _0803D0BC - ldrb r0, [r5, 0x1] - cmp r1, r0 - beq _0803D0BC -_0803D0AA: - ldr r0, _0803D0D0 - ldr r0, [r0] - mov r2, r8 - lsls r1, r2, 1 - adds r0, 0x2 - adds r0, r1 - strh r4, [r0] - movs r0, 0x1 - add r8, r0 -_0803D0BC: - adds r7, 0x1 - cmp r7, 0x9 - ble _0803D064 - mov r0, r8 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0803D0D0: .4byte gUnknown_203B404 -_0803D0D4: .4byte gPartners - thumb_func_end sub_803D030 - .align 2, 0 @ Don't pad with nop. diff --git a/asm/code_8027C84.s b/asm/code_8027C84.s new file mode 100644 index 0000000..e8823f2 --- /dev/null +++ b/asm/code_8027C84.s @@ -0,0 +1,42617 @@ + .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 + + thumb_func_start sub_8028CE0 +sub_8028CE0: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08028CF4 + movs r0, 0x3 + bl sub_8028B04 +_08028CF4: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8028CE0 + + thumb_func_start sub_8028CFC +sub_8028CFC: + push {r4,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08028D42 + bl sub_8031050 + cmp r0, 0x3 + bhi _08028D42 + cmp r0, 0x2 + bcc _08028D42 + bl sub_8095350 + adds r4, r0, 0 + bl sub_80310B4 + ldr r0, _08028D38 + ldr r0, [r0] + movs r1, 0xA8 + lsls r1, 3 + adds r0, r1 + ldr r0, [r0] + cmp r4, r0 + beq _08028D3C + movs r0, 0x17 + bl sub_8028B04 + b _08028D42 + .align 2, 0 +_08028D38: .4byte gUnknown_203B2C0 +_08028D3C: + movs r0, 0x19 + bl sub_8028B04 +_08028D42: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8028CFC + + thumb_func_start sub_8028D4C +sub_8028D4C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08028DE0 + ldr r0, _08028D78 + ldr r0, [r0] + movs r1, 0xA7 + lsls r1, 3 + adds r0, r1 + ldr r1, [sp] + str r1, [r0] + cmp r1, 0x6 + beq _08028DA2 + cmp r1, 0x6 + bgt _08028D7C + cmp r1, 0x5 + beq _08028D86 + b _08028DE0 + .align 2, 0 +_08028D78: .4byte gUnknown_203B2C0 +_08028D7C: + cmp r1, 0x7 + beq _08028DBE + cmp r1, 0xA + beq _08028DDA + b _08028DE0 +_08028D86: + movs r0, 0x2 + bl sub_8030C20 + lsls r0, 24 + cmp r0, 0 + beq _08028D9A + movs r0, 0xC + bl sub_8028B04 + b _08028DE0 +_08028D9A: + movs r0, 0xD + bl sub_8028B04 + b _08028DE0 +_08028DA2: + movs r0, 0x4 + bl sub_8030C20 + lsls r0, 24 + cmp r0, 0 + beq _08028DB6 + movs r0, 0xE + bl sub_8028B04 + b _08028DE0 +_08028DB6: + movs r0, 0xF + bl sub_8028B04 + b _08028DE0 +_08028DBE: + movs r0, 0 + bl sub_8030C20 + lsls r0, 24 + cmp r0, 0 + beq _08028DD2 + movs r0, 0x10 + bl sub_8028B04 + b _08028DE0 +_08028DD2: + movs r0, 0x11 + bl sub_8028B04 + b _08028DE0 +_08028DDA: + movs r0, 0x1 + bl sub_8028B04 +_08028DE0: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8028D4C + + thumb_func_start sub_8028DE8 +sub_8028DE8: + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08028DFE + adds r0, r4, 0 + bl sub_8028B04 +_08028DFE: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8028DE8 + + thumb_func_start sub_8028E08 +sub_8028E08: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08028E1C + movs r0, 0x12 + bl sub_8028B04 +_08028E1C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8028E08 + + thumb_func_start sub_8028E24 +sub_8028E24: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08028E4C + ldr r0, [sp] + cmp r0, 0x8 + beq _08028E3E + cmp r0, 0xA + beq _08028E46 + b _08028E4C +_08028E3E: + movs r0, 0x13 + bl sub_8028B04 + b _08028E4C +_08028E46: + movs r0, 0x1 + bl sub_8028B04 +_08028E4C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8028E24 + + thumb_func_start sub_8028E54 +sub_8028E54: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08028E7C + ldr r0, [sp] + cmp r0, 0x8 + beq _08028E6E + cmp r0, 0xA + beq _08028E76 + b _08028E7C +_08028E6E: + movs r0, 0x14 + bl sub_8028B04 + b _08028E7C +_08028E76: + movs r0, 0x1 + bl sub_8028B04 +_08028E7C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8028E54 + + thumb_func_start sub_8028E84 +sub_8028E84: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08028EA4 + movs r0, 0x18 + bl sub_8028B04 + movs r0, 0x1 + bl sub_8011C28 + movs r0, 0 + bl sub_8012574 +_08028EA4: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8028E84 + + thumb_func_start sub_8028EAC +sub_8028EAC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08028ECE + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08028ECE + bl sub_8012750 + movs r0, 0x19 + bl sub_8028B04 +_08028ECE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8028EAC + + thumb_func_start sub_8028ED4 +sub_8028ED4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08028EFE + ldr r0, [sp] + cmp r0, 0x8 + bne _08028EF0 + movs r0, 0xB + bl sub_8028B04 + b _08028EFE +_08028EF0: + cmp r0, 0x8 + blt _08028EFE + cmp r0, 0xA + bgt _08028EFE + movs r0, 0x2 + bl sub_8028B04 +_08028EFE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8028ED4 + + thumb_func_start sub_8028F04 +sub_8028F04: + push {r4,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08028F28 + movs r4, 0 +_08028F14: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8095240 + adds r4, 0x1 + cmp r4, 0x1F + ble _08028F14 + movs r0, 0x15 + bl sub_8028B04 +_08028F28: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8028F04 + + thumb_func_start sub_8028F30 +sub_8028F30: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08028F50 + movs r0, 0x16 + bl sub_8028B04 + movs r0, 0x1 + bl sub_8011C28 + movs r0, 0 + bl sub_8012574 +_08028F50: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8028F30 + + thumb_func_start sub_8028F58 +sub_8028F58: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08028F7A + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08028F7A + bl sub_8012750 + movs r0, 0x2 + bl sub_8028B04 +_08028F7A: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8028F58 + + thumb_func_start sub_8028F80 +sub_8028F80: + push {r4,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08028FAE + ldr r4, _08028FB8 + ldr r0, [r4] + movs r1, 0x86 + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + bl sub_809927C + ldr r0, [r4] + ldr r1, _08028FBC + adds r0, r1 + movs r1, 0x1 + str r1, [r0] + movs r0, 0x3 + bl sub_8028B04 +_08028FAE: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08028FB8: .4byte gUnknown_203B2C0 +_08028FBC: .4byte 0x0000053c + thumb_func_end sub_8028F80 + + thumb_func_start sub_8028FC0 +sub_8028FC0: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08028FD4 + movs r0, 0x1 + bl sub_8028B04 +_08028FD4: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8028FC0 + + thumb_func_start sub_8028FDC +sub_8028FDC: + push {r4,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802903C + ldr r0, [sp] + cmp r0, 0x8 + beq _08028FFC + cmp r0, 0x8 + blt _0802903C + cmp r0, 0xA + bgt _0802903C + movs r0, 0x1 + b _08029038 +_08028FFC: + ldr r0, _08029020 + ldr r0, [r0] + movs r1, 0x86 + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + bl sub_8095228 + adds r4, r0, 0 + ldrb r0, [r4, 0x4] + bl sub_80A2824 + lsls r0, 24 + cmp r0, 0 + bne _08029024 + movs r0, 0x1C + b _08029038 + .align 2, 0 +_08029020: .4byte gUnknown_203B2C0 +_08029024: + adds r0, r4, 0 + adds r0, 0x2C + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + cmp r0, 0 + bgt _08029036 + movs r0, 0x1D + b _08029038 +_08029036: + movs r0, 0x1B +_08029038: + bl sub_8028B04 +_0802903C: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8028FDC + + thumb_func_start sub_8029044 +sub_8029044: + push {r4,r5,lr} + movs r0, 0x1 + bl sub_8030768 + cmp r0, 0x3 + beq _0802906C + cmp r0, 0x3 + bhi _0802905A + cmp r0, 0x2 + beq _08029060 + b _080290CA +_0802905A: + cmp r0, 0x4 + beq _08029088 + b _080290CA +_08029060: + bl sub_803084C + movs r0, 0x1 + bl sub_8028B04 + b _080290CA +_0802906C: + bl sub_80307EC + ldr r1, _08029084 + ldr r1, [r1] + movs r2, 0x86 + lsls r2, 2 + adds r1, r2 + strb r0, [r1] + movs r0, 0x20 + bl sub_8028B04 + b _080290CA + .align 2, 0 +_08029084: .4byte gUnknown_203B2C0 +_08029088: + ldr r4, _080290D0 + ldr r1, [r4] + movs r0, 0x1F + str r0, [r1] + bl sub_80307EC + ldr r1, [r4] + movs r5, 0x86 + lsls r5, 2 + adds r1, r5 + strb r0, [r1] + ldr r0, [r4] + 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, [r4] + adds r0, r5 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x21 + bl sub_8028B04 +_080290CA: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080290D0: .4byte gUnknown_203B2C0 + thumb_func_end sub_8029044 + + thumb_func_start sub_80290D4 +sub_80290D4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080290E8 + movs r0, 0x1F + bl sub_8028B04 +_080290E8: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80290D4 + + thumb_func_start sub_80290F0 +sub_80290F0: + push {r4,lr} + sub sp, 0x4 + movs r0, 0x1 + negs r0, r0 + str r0, [sp] + movs r0, 0 + bl sub_8030768 + ldr r4, _08029134 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08029122 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + mov r1, sp + bl sub_8013114 +_08029122: + ldr r0, [sp] + cmp r0, 0xA + beq _08029184 + cmp r0, 0xA + bgt _08029138 + cmp r0, 0x4 + beq _08029184 + b _080291A0 + .align 2, 0 +_08029134: .4byte gUnknown_203B2C0 +_08029138: + cmp r0, 0xB + beq _08029142 + cmp r0, 0xC + beq _0802914E + b _080291A0 +_08029142: + bl sub_803084C + movs r0, 0x22 + bl sub_8028B04 + b _080291A0 +_0802914E: + ldr r0, [r4] + movs r1, 0x3D + str r1, [r0] + 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, [r4] + movs r1, 0x86 + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x21 + bl sub_8028B04 + b _080291A0 +_08029184: + ldr r0, _080291A8 + ldr r0, [r0] + movs r1, 0xD7 + lsls r1, 2 + adds r0, r1 + movs r1, 0x2 + bl sub_8035CC0 + movs r0, 0x1 + bl sub_8030810 + movs r0, 0x1F + bl sub_8028B04 +_080291A0: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080291A8: .4byte gUnknown_203B2C0 + thumb_func_end sub_80290F0 + + thumb_func_start sub_80291AC +sub_80291AC: + push {r4,lr} + bl sub_8030DA0 + cmp r0, 0x3 + bhi _08029200 + cmp r0, 0x2 + bcc _08029200 + bl sub_8030DE4 + bl sub_8004914 + ldr r4, _080291F8 + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl sub_803092C + ldr r4, [r4] + ldr r0, [r4] + cmp r0, 0x3D + bne _080291FC + movs r1, 0x87 + lsls r1, 2 + adds r0, r4, r1 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x20 + bl sub_8028B04 + b _08029200 + .align 2, 0 +_080291F8: .4byte gUnknown_203B2C0 +_080291FC: + bl sub_8028B04 +_08029200: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80291AC + + thumb_func_start sub_8029208 +sub_8029208: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802929E + ldr r2, [sp] + cmp r2, 0xE + bgt _08029226 + cmp r2, 0xD + bge _0802922C + cmp r2, 0xA + beq _08029298 + b _0802929E +_08029226: + cmp r2, 0xF + beq _08029264 + b _0802929E +_0802922C: + ldr r0, _0802924C + ldr r0, [r0] + ldr r1, _08029250 + adds r2, r0, r1 + movs r1, 0xD + str r1, [r2] + movs r3, 0xA7 + lsls r3, 3 + adds r0, r3 + ldr r0, [r0] + cmp r0, 0 + beq _08029254 + cmp r0, 0x2 + beq _0802925C + b _0802929E + .align 2, 0 +_0802924C: .4byte gUnknown_203B2C0 +_08029250: .4byte 0x00000534 +_08029254: + movs r0, 0x4 + bl sub_8028B04 + b _0802929E +_0802925C: + movs r0, 0x30 + bl sub_8028B04 + b _0802929E +_08029264: + ldr r0, _08029280 + ldr r0, [r0] + ldr r3, _08029284 + adds r1, r0, r3 + str r2, [r1] + movs r1, 0xA7 + lsls r1, 3 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0 + beq _08029288 + cmp r0, 0x2 + beq _08029290 + b _0802929E + .align 2, 0 +_08029280: .4byte gUnknown_203B2C0 +_08029284: .4byte 0x00000534 +_08029288: + movs r0, 0x26 + bl sub_8028B04 + b _0802929E +_08029290: + movs r0, 0x3A + bl sub_8028B04 + b _0802929E +_08029298: + movs r0, 0x1 + bl sub_8028B04 +_0802929E: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8029208 + + thumb_func_start sub_80292A4 +sub_80292A4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080292E6 + ldr r0, [sp] + cmp r0, 0x8 + beq _080292BE + cmp r0, 0xA + beq _080292E0 + b _080292E6 +_080292BE: + ldr r0, _080292DC + ldr r0, [r0] + movs r1, 0xA7 + lsls r1, 3 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0 + beq _080292D2 + cmp r0, 0x2 + bne _080292E6 +_080292D2: + movs r0, 0x5 + bl sub_8028B04 + b _080292E6 + .align 2, 0 +_080292DC: .4byte gUnknown_203B2C0 +_080292E0: + movs r0, 0x1 + bl sub_8028B04 +_080292E6: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80292A4 + + thumb_func_start sub_80292EC +sub_80292EC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08029336 + ldr r0, _08029318 + ldr r1, [r0] + ldr r0, [r1, 0x44] + cmp r0, 0 + bne _0802932C + movs r2, 0xA7 + lsls r2, 3 + adds r0, r1, r2 + ldr r0, [r0] + cmp r0, 0 + beq _0802931C + cmp r0, 0x2 + beq _08029324 + b _08029336 + .align 2, 0 +_08029318: .4byte gUnknown_203B2C0 +_0802931C: + movs r0, 0x23 + bl sub_8028B04 + b _08029336 +_08029324: + movs r0, 0x37 + bl sub_8028B04 + b _08029336 +_0802932C: + bl sub_8028B1C + movs r0, 0x7 + bl sub_8028B04 +_08029336: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80292EC + + thumb_func_start sub_802933C +sub_802933C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08029350 + movs r0, 0x1 + bl sub_8028B04 +_08029350: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802933C + + thumb_func_start sub_8029358 +sub_8029358: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802936C + movs r0, 0x1 + bl sub_8028B04 +_0802936C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8029358 + + thumb_func_start sub_8029374 +sub_8029374: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08029394 + movs r0, 0x24 + bl sub_8028B04 + movs r0, 0x1 + bl sub_8011C28 + movs r0, 0 + bl sub_8012574 +_08029394: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8029374 + + thumb_func_start sub_802939C +sub_802939C: + push {r4,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080293D0 + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _080293D0 + bl sub_8012744 + adds r4, r0, 0 + bl sub_8012750 + cmp r4, 0 + bne _080293CA + movs r0, 0x25 + bl sub_8028B04 + b _080293D0 +_080293CA: + movs r0, 0x2 + bl sub_8028B04 +_080293D0: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802939C + + thumb_func_start sub_80293D8 +sub_80293D8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080293EC + movs r0, 0x27 + bl sub_8028B04 +_080293EC: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80293D8 + + thumb_func_start sub_80293F4 +sub_80293F4: + push {r4,lr} + sub sp, 0x44 + bl sub_80154F0 + adds r4, r0, 0 + add r0, sp, 0x14 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + cmp r4, 0x2 + bne _0802940E + b _08029530 +_0802940E: + cmp r4, 0x3 + beq _08029414 + b _08029550 +_08029414: + ldr r0, _08029434 + ldr r1, [r0] + adds r1, 0x8 + movs r0, 0x1C + add r2, sp, 0x14 + bl sub_8039068 + subs r0, 0x7 + cmp r0, 0x11 + bls _0802942A + b _0802951C +_0802942A: + lsls r0, 2 + ldr r1, _08029438 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08029434: .4byte gUnknown_203B2C0 +_08029438: .4byte _0802943C + .align 2, 0 +_0802943C: + .4byte _080294C8 + .4byte _0802951C + .4byte _0802951C + .4byte _0802951C + .4byte _0802951C + .4byte _0802951C + .4byte _0802951C + .4byte _0802951C + .4byte _0802951C + .4byte _0802951C + .4byte _08029484 + .4byte _080294C0 + .4byte _0802951C + .4byte _0802951C + .4byte _0802951C + .4byte _080294F0 + .4byte _0802951C + .4byte _0802951C +_08029484: + ldr r0, _080294B4 + ldr r3, _080294B8 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + ldr r1, _080294BC + ldr r1, [r1] + 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, 0x8 + bl sub_8014248 + movs r0, 0x28 + bl sub_8028B04 + b _0802951C + .align 2, 0 +_080294B4: .4byte gUnknown_80DEC70 +_080294B8: .4byte gUnknown_80DDA48 +_080294BC: .4byte gUnknown_203B2C0 +_080294C0: + ldr r0, _080294C4 + b _080294CA + .align 2, 0 +_080294C4: .4byte gUnknown_80DECC0 +_080294C8: + ldr r0, _080294E4 +_080294CA: + ldr r1, _080294E8 + ldr r2, [r1] + movs r1, 0x84 + lsls r1, 3 + adds r2, r1 + ldr r3, _080294EC + movs r1, 0 + bl sub_80141B4 + movs r0, 0x7 + bl sub_8028B04 + b _0802951C + .align 2, 0 +_080294E4: .4byte gUnknown_80DEAB4 +_080294E8: .4byte gUnknown_203B2C0 +_080294EC: .4byte 0x0000010d +_080294F0: + ldr r0, [sp, 0x24] + bl sub_8095274 + add r1, sp, 0x14 + movs r0, 0x2 + strb r0, [r1] + adds r0, r1, 0 + bl sub_80951BC + ldr r0, _08029524 + ldr r1, _08029528 + ldr r2, [r1] + movs r1, 0x84 + lsls r1, 3 + adds r2, r1 + ldr r3, _0802952C + movs r1, 0 + bl sub_80141B4 + movs r0, 0x23 + bl sub_8028B04 +_0802951C: + bl sub_80155F0 + b _08029550 + .align 2, 0 +_08029524: .4byte gUnknown_80DECFC +_08029528: .4byte gUnknown_203B2C0 +_0802952C: .4byte 0x00000101 +_08029530: + bl sub_80155F0 + bl sub_8004914 + ldr r0, _08029558 + ldr r0, [r0] + movs r2, 0xEF + lsls r2, 2 + adds r0, r2 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1 + bl sub_8028B04 +_08029550: + add sp, 0x44 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08029558: .4byte gUnknown_203B2C0 + thumb_func_end sub_80293F4 + + thumb_func_start sub_802955C +sub_802955C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08029584 + ldr r0, [sp] + cmp r0, 0x8 + beq _08029576 + cmp r0, 0xA + beq _0802957E + b _08029584 +_08029576: + movs r0, 0x26 + bl sub_8028B04 + b _08029584 +_0802957E: + movs r0, 0x1 + bl sub_8028B04 +_08029584: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802955C + + thumb_func_start sub_802958C +sub_802958C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080295A0 + movs r0, 0x6 + bl sub_8028B04 +_080295A0: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802958C + + thumb_func_start sub_80295A8 +sub_80295A8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080295D2 + ldr r0, [sp] + cmp r0, 0x8 + bne _080295C4 + movs r0, 0x8 + bl sub_8028B04 + b _080295D2 +_080295C4: + cmp r0, 0x8 + blt _080295D2 + cmp r0, 0xA + bgt _080295D2 + movs r0, 0x1 + bl sub_8028B04 +_080295D2: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80295A8 + + thumb_func_start sub_80295D8 +sub_80295D8: + push {r4,r5,lr} + movs r0, 0x1 + bl sub_8030768 + cmp r0, 0x3 + beq _08029600 + cmp r0, 0x3 + bhi _080295EE + cmp r0, 0x2 + beq _080295F4 + b _0802965E +_080295EE: + cmp r0, 0x4 + beq _0802961C + b _0802965E +_080295F4: + bl sub_803084C + movs r0, 0x1 + bl sub_8028B04 + b _0802965E +_08029600: + bl sub_80307EC + ldr r1, _08029618 + ldr r1, [r1] + movs r2, 0x86 + lsls r2, 2 + adds r1, r2 + strb r0, [r1] + movs r0, 0x2B + bl sub_8028B04 + b _0802965E + .align 2, 0 +_08029618: .4byte gUnknown_203B2C0 +_0802961C: + ldr r4, _08029664 + ldr r1, [r4] + movs r0, 0x2A + str r0, [r1] + bl sub_80307EC + ldr r1, [r4] + movs r5, 0x86 + lsls r5, 2 + adds r1, r5 + strb r0, [r1] + ldr r0, [r4] + 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, [r4] + adds r0, r5 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x2C + bl sub_8028B04 +_0802965E: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08029664: .4byte gUnknown_203B2C0 + thumb_func_end sub_80295D8 + + thumb_func_start sub_8029668 +sub_8029668: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802967C + movs r0, 0x2A + bl sub_8028B04 +_0802967C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8029668 + + thumb_func_start sub_8029684 +sub_8029684: + push {r4,lr} + sub sp, 0x4 + movs r0, 0x1 + negs r0, r0 + str r0, [sp] + movs r0, 0 + bl sub_8030768 + ldr r4, _080296C8 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _080296B6 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + mov r1, sp + bl sub_8013114 +_080296B6: + ldr r0, [sp] + cmp r0, 0xA + beq _08029718 + cmp r0, 0xA + bgt _080296CC + cmp r0, 0x4 + beq _08029718 + b _08029734 + .align 2, 0 +_080296C8: .4byte gUnknown_203B2C0 +_080296CC: + cmp r0, 0xB + beq _080296D6 + cmp r0, 0xC + beq _080296E2 + b _08029734 +_080296D6: + bl sub_803084C + movs r0, 0x2D + bl sub_8028B04 + b _08029734 +_080296E2: + ldr r0, [r4] + movs r1, 0x3D + str r1, [r0] + 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, [r4] + movs r1, 0x86 + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x2C + bl sub_8028B04 + b _08029734 +_08029718: + ldr r0, _0802973C + ldr r0, [r0] + movs r1, 0xD7 + lsls r1, 2 + adds r0, r1 + movs r1, 0x2 + bl sub_8035CC0 + movs r0, 0x1 + bl sub_8030810 + movs r0, 0x2A + bl sub_8028B04 +_08029734: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802973C: .4byte gUnknown_203B2C0 + thumb_func_end sub_8029684 + + thumb_func_start sub_8029740 +sub_8029740: + push {r4,lr} + bl sub_8030DA0 + cmp r0, 0x3 + bhi _08029794 + cmp r0, 0x2 + bcc _08029794 + bl sub_8030DE4 + bl sub_8004914 + ldr r4, _0802978C + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl sub_803092C + ldr r4, [r4] + ldr r0, [r4] + cmp r0, 0x3D + bne _08029790 + movs r1, 0x87 + lsls r1, 2 + adds r0, r4, r1 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x2B + bl sub_8028B04 + b _08029794 + .align 2, 0 +_0802978C: .4byte gUnknown_203B2C0 +_08029790: + bl sub_8028B04 +_08029794: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8029740 + + thumb_func_start sub_802979C +sub_802979C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080297B0 + movs r0, 0x1 + bl sub_8028B04 +_080297B0: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802979C + + thumb_func_start sub_80297B8 +sub_80297B8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080297CC + movs r0, 0x33 + bl sub_8028B04 +_080297CC: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80297B8 + + thumb_func_start sub_80297D4 +sub_80297D4: + push {r4,r5,lr} + movs r0, 0x1 + bl sub_8023A94 + cmp r0, 0x3 + beq _08029814 + cmp r0, 0x3 + bhi _080297EA + cmp r0, 0x2 + beq _080297F0 + b _08029876 +_080297EA: + cmp r0, 0x4 + beq _08029834 + b _08029876 +_080297F0: + bl sub_8023C60 + movs r0, 0x1 + bl sub_8028B04 + ldr r0, _08029808 + ldr r0, [r0] + ldr r1, _0802980C + adds r0, r1 + ldr r1, _08029810 + strh r1, [r0] + b _08029876 + .align 2, 0 +_08029808: .4byte gUnknown_203B2C0 +_0802980C: .4byte 0x00000544 +_08029810: .4byte 0x0000ffff +_08029814: + bl sub_8023B44 + ldr r1, _0802982C + ldr r1, [r1] + ldr r2, _08029830 + adds r1, r2 + strh r0, [r1] + movs r0, 0x34 + bl sub_8028B04 + b _08029876 + .align 2, 0 +_0802982C: .4byte gUnknown_203B2C0 +_08029830: .4byte 0x00000544 +_08029834: + ldr r4, _0802987C + ldr r1, [r4] + movs r0, 0x33 + str r0, [r1] + bl sub_8023B44 + adds r2, r0, 0 + ldr r0, [r4] + ldr r5, _08029880 + adds r1, r0, r5 + strh r2, [r1] + 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, [r4] + adds r0, r5 + movs r2, 0 + ldrsh r0, [r0, r2] + movs r1, 0 + bl sub_8024458 + movs r0, 0x35 + bl sub_8028B04 +_08029876: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802987C: .4byte gUnknown_203B2C0 +_08029880: .4byte 0x00000544 + thumb_func_end sub_80297D4 + + thumb_func_start sub_8029884 +sub_8029884: + push {r4,lr} + sub sp, 0x4 + movs r0, 0x1 + negs r0, r0 + str r0, [sp] + movs r0, 0 + bl sub_8023A94 + ldr r4, _080298C8 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _080298B6 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + mov r1, sp + bl sub_8013114 +_080298B6: + ldr r0, [sp] + cmp r0, 0xA + beq _0802991C + cmp r0, 0xA + bgt _080298CC + cmp r0, 0x4 + beq _0802991C + b _08029938 + .align 2, 0 +_080298C8: .4byte gUnknown_203B2C0 +_080298CC: + cmp r0, 0xB + beq _080298D6 + cmp r0, 0xC + beq _080298E2 + b _08029938 +_080298D6: + bl sub_8023C60 + movs r0, 0x4 + bl sub_8028B04 + b _08029938 +_080298E2: + ldr r0, [r4] + movs r1, 0x3D + str r1, [r0] + 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, [r4] + ldr r1, _08029918 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0 + bl sub_8024458 + movs r0, 0x35 + bl sub_8028B04 + b _08029938 + .align 2, 0 +_08029918: .4byte 0x00000544 +_0802991C: + ldr r0, _08029940 + ldr r0, [r0] + movs r1, 0xD7 + lsls r1, 2 + adds r0, r1 + movs r1, 0x3 + bl sub_8035CC0 + movs r0, 0x1 + bl sub_8023B7C + movs r0, 0x33 + bl sub_8028B04 +_08029938: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08029940: .4byte gUnknown_203B2C0 + thumb_func_end sub_8029884 + + thumb_func_start sub_8029944 +sub_8029944: + push {r4,lr} + bl sub_80244E4 + cmp r0, 0x1 + bne _08029954 + bl sub_802452C + b _080299A4 +_08029954: + cmp r0, 0x1 + bcc _080299A4 + cmp r0, 0x3 + bhi _080299A4 + bl sub_802453C + bl sub_8004914 + ldr r4, _0802999C + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1 + bl sub_8023B7C + ldr r4, [r4] + ldr r0, [r4] + cmp r0, 0x3D + bne _080299A0 + movs r1, 0x87 + lsls r1, 2 + adds r0, r4, r1 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x34 + bl sub_8028B04 + b _080299A4 + .align 2, 0 +_0802999C: .4byte gUnknown_203B2C0 +_080299A0: + bl sub_8028B04 +_080299A4: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8029944 + + thumb_func_start sub_80299AC +sub_80299AC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080299D2 + ldr r0, [sp] + cmp r0, 0xA + beq _080299CC + cmp r0, 0x12 + bne _080299D2 + movs r0, 0x4 + bl sub_8028B04 + b _080299D2 +_080299CC: + movs r0, 0x1 + bl sub_8028B04 +_080299D2: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80299AC + + thumb_func_start sub_80299D8 +sub_80299D8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08029A12 + ldr r0, [sp] + cmp r0, 0x9 + beq _08029A04 + cmp r0, 0x9 + bgt _080299F6 + cmp r0, 0x8 + beq _080299FC + b _08029A12 +_080299F6: + cmp r0, 0xA + beq _08029A0C + b _08029A12 +_080299FC: + movs r0, 0x4 + bl sub_8028B04 + b _08029A12 +_08029A04: + movs r0, 0x32 + bl sub_8028B04 + b _08029A12 +_08029A0C: + movs r0, 0x1 + bl sub_8028B04 +_08029A12: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80299D8 + + thumb_func_start sub_8029A18 +sub_8029A18: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08029A66 + ldr r0, [sp] + cmp r0, 0x11 + beq _08029A3C + cmp r0, 0x11 + bgt _08029A36 + cmp r0, 0xA + beq _08029A60 + b _08029A66 +_08029A36: + cmp r0, 0x12 + beq _08029A58 + b _08029A66 +_08029A3C: + movs r0, 0x3 + bl sub_8024108 + lsls r0, 24 + cmp r0, 0 + beq _08029A50 + movs r0, 0x31 + bl sub_8028B04 + b _08029A66 +_08029A50: + movs r0, 0x32 + bl sub_8028B04 + b _08029A66 +_08029A58: + movs r0, 0x4 + bl sub_8028B04 + b _08029A66 +_08029A60: + movs r0, 0x1 + bl sub_8028B04 +_08029A66: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8029A18 + + thumb_func_start sub_8029A6C +sub_8029A6C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08029A80 + movs r0, 0x2E + bl sub_8028B04 +_08029A80: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8029A6C + + thumb_func_start sub_8029A88 +sub_8029A88: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08029AAA + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08029AAA + bl sub_8012750 + movs r0, 0x39 + bl sub_8028B04 +_08029AAA: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8029A88 + + thumb_func_start sub_8029AB0 +sub_8029AB0: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08029AD0 + movs r0, 0x38 + bl sub_8028B04 + movs r0, 0x1 + bl sub_8011C28 + movs r0, 0 + bl sub_8012574 +_08029AD0: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8029AB0 + + thumb_func_start sub_8029AD8 +sub_8029AD8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08029AEC + movs r0, 0x3B + bl sub_8028B04 +_08029AEC: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8029AD8 + + thumb_func_start sub_8029AF4 +sub_8029AF4: + push {lr} + bl sub_8031DCC + cmp r0, 0x1 + beq _08029B2C + cmp r0, 0x1 + bcc _08029B30 + cmp r0, 0x3 + bhi _08029B30 + bl sub_8031E10 + bl sub_8004914 + ldr r0, _08029B28 + ldr r0, [r0] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x3C + bl sub_8028B04 + b _08029B30 + .align 2, 0 +_08029B28: .4byte gUnknown_203B2C0 +_08029B2C: + bl sub_8031E00 +_08029B30: + pop {r0} + bx r0 + thumb_func_end sub_8029AF4 + + thumb_func_start sub_8029B34 +sub_8029B34: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08029B48 + movs r0, 0x3 + bl sub_8028B04 +_08029B48: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8029B34 + + thumb_func_start sub_8029B50 +sub_8029B50: + push {r4,r5,lr} + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r5, _08029C3C + ldr r4, _08029C40 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 + ldr r0, _08029C44 + 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, _08029C48 + 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, _08029C4C + adds r2, r0 + movs r1, 0 + strb r1, [r2] + ldr r0, [r5] + ldr r2, _08029C50 + adds r0, r2 + strb r1, [r0] + ldr r0, [r5] + adds r3, 0xA + adds r0, r3 + strb r1, [r0] + ldr r1, [r5] + movs r0, 0x85 + lsls r0, 3 + adds r2, r1, r0 + movs r0, 0x2 + strh r0, [r2] + ldr r2, _08029C54 + adds r1, r2 + movs r0, 0x8 + strh r0, [r1] + movs r1, 0 + movs r2, 0 +_08029BD8: + ldr r0, [r5] + adds r0, 0x8 + adds r0, r1 + strb r2, [r0] + adds r1, 0x1 + cmp r1, 0x35 + ble _08029BD8 + ldr r5, _08029C3C + ldr r1, [r5] + ldr r3, _08029C58 + adds r2, r1, r3 + movs r0, 0x3 + str r0, [r2] + movs r0, 0xA7 + lsls r0, 3 + adds r1, r0 + movs r0, 0x1 + str r0, [r1] + movs r0, 0x6 + bl sub_80953D4 + adds r4, r0, 0 + movs r0, 0x1 + negs r0, r0 + cmp r4, r0 + beq _08029C60 + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8095228 + ldr r1, [r5] + ldr r2, _08029C5C + adds r3, r1, r2 + ldr r2, [r0, 0x20] + str r2, [r3] + movs r3, 0x86 + lsls r3, 2 + adds r1, r3 + strb r4, [r1] + ldr r1, [r5] + movs r2, 0x86 + lsls r2, 3 + adds r1, r2 + ldr r0, [r0, 0x10] + str r0, [r1] + movs r0, 0x5 + bl sub_802B2BC + b _08029C7C + .align 2, 0 +_08029C3C: .4byte gUnknown_203B2C4 +_08029C40: .4byte 0x00000564 +_08029C44: .4byte gUnknown_202E5D8 +_08029C48: .4byte gUnknown_202DF98 +_08029C4C: .4byte 0x0000042c +_08029C50: .4byte 0x0000042d +_08029C54: .4byte 0x0000042a +_08029C58: .4byte 0x00000534 +_08029C5C: .4byte 0x0000041c +_08029C60: + ldr r1, [r5] + ldr r3, _08029C8C + adds r2, r1, r3 + ldr r0, _08029C90 + ldr r0, [r0] + str r0, [r2] + movs r0, 0x86 + lsls r0, 2 + adds r1, r0 + movs r0, 0xFF + strb r0, [r1] + movs r0, 0 + bl sub_802B2BC +_08029C7C: + ldr r0, _08029C94 + ldr r1, [r0] + movs r0, 0x2B + str r0, [r1, 0x4] + movs r0, 0x1 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08029C8C: .4byte 0x0000041c +_08029C90: .4byte gUnknown_80DED44 +_08029C94: .4byte gUnknown_203B2C4 + thumb_func_end sub_8029B50 + + thumb_func_start sub_8029C98 +sub_8029C98: + push {lr} + ldr r0, _08029CB0 + ldr r0, [r0] + ldrb r0, [r0] + cmp r0, 0x2A + bls _08029CA6 + b _08029E58 +_08029CA6: + lsls r0, 2 + ldr r1, _08029CB4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08029CB0: .4byte gUnknown_203B2C4 +_08029CB4: .4byte _08029CB8 + .align 2, 0 +_08029CB8: + .4byte _08029E48 + .4byte _08029E48 + .4byte _08029E4E + .4byte _08029E54 + .4byte _08029E42 + .4byte _08029D64 + .4byte _08029E3C + .4byte _08029E30 + .4byte _08029E36 + .4byte _08029E2A + .4byte _08029E24 + .4byte _08029E1E + .4byte _08029E0C + .4byte _08029E06 + .4byte _08029D76 + .4byte _08029D7C + .4byte _08029D8E + .4byte _08029D82 + .4byte _08029D88 + .4byte _08029D94 + .4byte _08029D9A + .4byte _08029DA0 + .4byte _08029DE8 + .4byte _08029DF4 + .4byte _08029DEE + .4byte _08029DB2 + .4byte _08029DB8 + .4byte _08029DAC + .4byte _08029DA6 + .4byte _08029DFA + .4byte _08029D6A + .4byte _08029D70 + .4byte _08029E00 + .4byte _08029DDC + .4byte _08029DE2 + .4byte _08029E58 + .4byte _08029DD6 + .4byte _08029DD0 + .4byte _08029DC4 + .4byte _08029DCA + .4byte _08029DBE + .4byte _08029E12 + .4byte _08029E18 +_08029D64: + bl sub_802AB7C + b _08029E58 +_08029D6A: + bl sub_8029F98 + b _08029E58 +_08029D70: + bl sub_8029EA8 + b _08029E58 +_08029D76: + bl sub_802A090 + b _08029E58 +_08029D7C: + bl sub_802A158 + b _08029E58 +_08029D82: + bl sub_802A174 + b _08029E58 +_08029D88: + bl sub_802A230 + b _08029E58 +_08029D8E: + bl sub_802A0C8 + b _08029E58 +_08029D94: + bl sub_802A28C + b _08029E58 +_08029D9A: + bl sub_802A39C + b _08029E58 +_08029DA0: + bl sub_802A33C + b _08029E58 +_08029DA6: + bl sub_802A458 + b _08029E58 +_08029DAC: + bl sub_802A4AC + b _08029E58 +_08029DB2: + bl sub_802A4D4 + b _08029E58 +_08029DB8: + bl sub_802A050 + b _08029E58 +_08029DBE: + bl sub_802A9FC + b _08029E58 +_08029DC4: + bl sub_802A4F0 + b _08029E58 +_08029DCA: + bl sub_802A50C + b _08029E58 +_08029DD0: + bl sub_802A6B4 + b _08029E58 +_08029DD6: + bl sub_802A718 + b _08029E58 +_08029DDC: + bl sub_802AB60 + b _08029E58 +_08029DE2: + bl sub_802AB98 + b _08029E58 +_08029DE8: + bl sub_802A740 + b _08029E58 +_08029DEE: + bl sub_802A68C + b _08029E58 +_08029DF4: + bl sub_802A6F0 + b _08029E58 +_08029DFA: + bl sub_802A75C + b _08029E58 +_08029E00: + bl sub_802A490 + b _08029E58 +_08029E06: + bl sub_802A474 + b _08029E58 +_08029E0C: + bl sub_802A798 + b _08029E58 +_08029E12: + bl sub_802A828 + b _08029E58 +_08029E18: + bl sub_802A850 + b _08029E58 +_08029E1E: + bl sub_802A8A0 + b _08029E58 +_08029E24: + bl sub_802A8BC + b _08029E58 +_08029E2A: + bl sub_802A910 + b _08029E58 +_08029E30: + bl sub_802A98C + b _08029E58 +_08029E36: + bl sub_802A9A8 + b _08029E58 +_08029E3C: + bl sub_802AA28 + b _08029E58 +_08029E42: + bl sub_802AAAC + b _08029E58 +_08029E48: + bl sub_802AAE4 + b _08029E58 +_08029E4E: + bl sub_802AAC8 + b _08029E58 +_08029E54: + movs r0, 0x3 + b _08029E5A +_08029E58: + movs r0, 0 +_08029E5A: + pop {r1} + bx r1 + thumb_func_end sub_8029C98 + + thumb_func_start sub_8029E60 +sub_8029E60: + push {r4,lr} + ldr r4, _08029EA4 + ldr r0, [r4] + cmp r0, 0 + beq _08029E9C + 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_8030DE4 + bl sub_801B450 + bl sub_803084C + bl sub_801CBB8 + bl sub_80155F0 + bl sub_8031E10 + bl sub_802F2C0 +_08029E9C: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08029EA4: .4byte gUnknown_203B2C4 + thumb_func_end sub_8029E60 + + thumb_func_start sub_8029EA8 +sub_8029EA8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08029EBC + movs r0, 0x1 + bl sub_802B2BC +_08029EBC: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8029EA8 + + thumb_func_start sub_8029EC4 +sub_8029EC4: + push {lr} + cmp r0, 0xF + bhi _08029F88 + lsls r0, 2 + ldr r1, _08029ED4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08029ED4: .4byte _08029ED8 + .align 2, 0 +_08029ED8: + .4byte _08029F88 + .4byte _08029F50 + .4byte _08029F50 + .4byte _08029F18 + .4byte _08029F20 + .4byte _08029F50 + .4byte _08029F28 + .4byte _08029F30 + .4byte _08029F88 + .4byte _08029F38 + .4byte _08029F88 + .4byte _08029F40 + .4byte _08029F88 + .4byte _08029F48 + .4byte _08029F50 + .4byte _08029F74 +_08029F18: + ldr r0, _08029F1C + b _08029F52 + .align 2, 0 +_08029F1C: .4byte gUnknown_80DEF28 +_08029F20: + ldr r0, _08029F24 + b _08029F52 + .align 2, 0 +_08029F24: .4byte gUnknown_80DEF80 +_08029F28: + ldr r0, _08029F2C + b _08029F52 + .align 2, 0 +_08029F2C: .4byte gUnknown_80DEFDC +_08029F30: + ldr r0, _08029F34 + b _08029F52 + .align 2, 0 +_08029F34: .4byte gUnknown_80DF044 +_08029F38: + ldr r0, _08029F3C + b _08029F52 + .align 2, 0 +_08029F3C: .4byte gUnknown_80DF0A0 +_08029F40: + ldr r0, _08029F44 + b _08029F52 + .align 2, 0 +_08029F44: .4byte gUnknown_80DF0A0 +_08029F48: + ldr r0, _08029F4C + b _08029F52 + .align 2, 0 +_08029F4C: .4byte gUnknown_80DF0E0 +_08029F50: + ldr r0, _08029F68 +_08029F52: + ldr r1, _08029F6C + ldr r2, [r1] + movs r1, 0x84 + lsls r1, 3 + adds r2, r1 + ldr r3, _08029F70 + movs r1, 0 + bl sub_80141B4 + b _08029F88 + .align 2, 0 +_08029F68: .4byte gUnknown_80DEF04 +_08029F6C: .4byte gUnknown_203B2C4 +_08029F70: .4byte 0x0000010d +_08029F74: + ldr r0, _08029F8C + ldr r1, _08029F90 + ldr r2, [r1] + movs r1, 0x84 + lsls r1, 3 + adds r2, r1 + ldr r3, _08029F94 + movs r1, 0 + bl sub_80141B4 +_08029F88: + pop {r0} + bx r0 + .align 2, 0 +_08029F8C: .4byte gUnknown_80DF138 +_08029F90: .4byte gUnknown_203B2C4 +_08029F94: .4byte 0x0000010d + thumb_func_end sub_8029EC4 + + thumb_func_start sub_8029F98 +sub_8029F98: + push {r4-r6,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + adds r6, r0, 0 + cmp r6, 0 + bne _0802A048 + ldr r4, _08029FE4 + ldr r0, [r4] + ldr r5, _08029FE8 + adds r0, r5 + movs r1, 0 + movs r2, 0x4 + bl MemoryFill8 + ldr r0, [r4] + ldr r1, _08029FEC + adds r0, r1 + strb r6, [r0] + ldr r0, [r4] + subs r1, 0x1 + adds r0, r1 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r4] + adds r0, r5 + strb r6, [r0] + ldr r0, [r4] + ldr r1, [r0, 0x44] + cmp r1, 0 + bne _0802A03C + ldr r1, [r0, 0x40] + cmp r1, 0x6 + beq _08029FF0 + cmp r1, 0x7 + beq _0802A034 + b _0802A048 + .align 2, 0 +_08029FE4: .4byte gUnknown_203B2C4 +_08029FE8: .4byte 0x0000041c +_08029FEC: .4byte 0x0000041e +_08029FF0: + ldr r1, _0802A004 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x4 + beq _0802A020 + cmp r0, 0x4 + bgt _0802A008 + cmp r0, 0x3 + beq _0802A00C + b _0802A020 + .align 2, 0 +_0802A004: .4byte 0x00000534 +_0802A008: + cmp r0, 0x6 + bgt _0802A020 +_0802A00C: + ldr r0, _0802A028 + ldr r1, _0802A02C + ldr r2, [r1] + movs r1, 0x84 + lsls r1, 3 + adds r2, r1 + ldr r3, _0802A030 + movs r1, 0 + bl sub_80141B4 +_0802A020: + movs r0, 0xD + bl sub_802B2BC + b _0802A048 + .align 2, 0 +_0802A028: .4byte gUnknown_80DF194 +_0802A02C: .4byte gUnknown_203B2C4 +_0802A030: .4byte 0x0000010d +_0802A034: + movs r0, 0x21 + bl sub_802B2BC + b _0802A048 +_0802A03C: + adds r0, r1, 0 + bl sub_8029EC4 + movs r0, 0x1F + bl sub_802B2BC +_0802A048: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8029F98 + + thumb_func_start sub_802A050 +sub_802A050: + push {lr} + bl sub_8031DCC + cmp r0, 0x1 + beq _0802A088 + cmp r0, 0x1 + bcc _0802A08C + cmp r0, 0x3 + bhi _0802A08C + bl sub_8031E10 + bl sub_8004914 + ldr r0, _0802A084 + ldr r0, [r0] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1B + bl sub_802B2BC + b _0802A08C + .align 2, 0 +_0802A084: .4byte gUnknown_203B2C4 +_0802A088: + bl sub_8031E00 +_0802A08C: + pop {r0} + bx r0 + thumb_func_end sub_802A050 + + thumb_func_start sub_802A090 +sub_802A090: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A0C2 + ldr r0, [sp] + cmp r0, 0x7 + beq _0802A0B4 + cmp r0, 0x7 + bgt _0802A0AE + cmp r0, 0 + beq _0802A0BC + b _0802A0C2 +_0802A0AE: + cmp r0, 0x8 + beq _0802A0BC + b _0802A0C2 +_0802A0B4: + movs r0, 0x6 + bl sub_802B2BC + b _0802A0C2 +_0802A0BC: + movs r0, 0x1 + bl sub_802B2BC +_0802A0C2: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A090 + + thumb_func_start sub_802A0C8 +sub_802A0C8: + push {r4,r5,lr} + movs r0, 0x1 + bl sub_8030768 + cmp r0, 0x3 + beq _0802A0F0 + cmp r0, 0x3 + bhi _0802A0DE + cmp r0, 0x2 + beq _0802A0E4 + b _0802A14E +_0802A0DE: + cmp r0, 0x4 + beq _0802A10C + b _0802A14E +_0802A0E4: + bl sub_803084C + movs r0, 0x1 + bl sub_802B2BC + b _0802A14E +_0802A0F0: + bl sub_80307EC + ldr r1, _0802A108 + ldr r1, [r1] + movs r2, 0x86 + lsls r2, 2 + adds r1, r2 + strb r0, [r1] + movs r0, 0x11 + bl sub_802B2BC + b _0802A14E + .align 2, 0 +_0802A108: .4byte gUnknown_203B2C4 +_0802A10C: + ldr r4, _0802A154 + ldr r1, [r4] + movs r0, 0x10 + str r0, [r1, 0x4] + bl sub_80307EC + ldr r1, [r4] + movs r5, 0x86 + lsls r5, 2 + adds r1, r5 + strb r0, [r1] + ldr r0, [r4] + 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, [r4] + adds r0, r5 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x12 + bl sub_802B2BC +_0802A14E: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802A154: .4byte gUnknown_203B2C4 + thumb_func_end sub_802A0C8 + + thumb_func_start sub_802A158 +sub_802A158: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A16C + movs r0, 0x10 + bl sub_802B2BC +_0802A16C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A158 + + thumb_func_start sub_802A174 +sub_802A174: + push {r4,lr} + sub sp, 0x4 + movs r0, 0x1 + negs r0, r0 + str r0, [sp] + movs r0, 0 + bl sub_8030768 + ldr r4, _0802A1B8 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0802A1A6 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + mov r1, sp + bl sub_8013114 +_0802A1A6: + ldr r0, [sp] + cmp r0, 0xB + beq _0802A1C6 + cmp r0, 0xB + bgt _0802A1BC + cmp r0, 0 + beq _0802A208 + b _0802A224 + .align 2, 0 +_0802A1B8: .4byte gUnknown_203B2C4 +_0802A1BC: + cmp r0, 0xC + beq _0802A1D2 + cmp r0, 0xD + beq _0802A208 + b _0802A224 +_0802A1C6: + bl sub_803084C + movs r0, 0xE + bl sub_802B2BC + b _0802A224 +_0802A1D2: + ldr r0, [r4] + movs r1, 0x2B + str r1, [r0, 0x4] + 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, [r4] + movs r1, 0x86 + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x12 + bl sub_802B2BC + b _0802A224 +_0802A208: + ldr r0, _0802A22C + ldr r0, [r0] + movs r1, 0xD7 + lsls r1, 2 + adds r0, r1 + movs r1, 0x2 + bl sub_8035CC0 + movs r0, 0x1 + bl sub_8030810 + movs r0, 0x10 + bl sub_802B2BC +_0802A224: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802A22C: .4byte gUnknown_203B2C4 + thumb_func_end sub_802A174 + + thumb_func_start sub_802A230 +sub_802A230: + push {r4,lr} + bl sub_8030DA0 + cmp r0, 0x3 + bhi _0802A284 + cmp r0, 0x2 + bcc _0802A284 + bl sub_8030DE4 + bl sub_8004914 + ldr r4, _0802A27C + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl sub_803092C + ldr r4, [r4] + ldr r0, [r4, 0x4] + cmp r0, 0x2B + bne _0802A280 + movs r1, 0x87 + lsls r1, 2 + adds r0, r4, r1 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x11 + bl sub_802B2BC + b _0802A284 + .align 2, 0 +_0802A27C: .4byte gUnknown_203B2C4 +_0802A280: + bl sub_802B2BC +_0802A284: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802A230 + + thumb_func_start sub_802A28C +sub_802A28C: + push {r4-r6,lr} + ldr r4, _0802A2C0 + ldr r0, [r4] + ldr r5, _0802A2C4 + adds r0, r5 + movs r2, 0 + strb r2, [r0] + ldr r0, [r4] + ldr r1, _0802A2C8 + adds r0, r1 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r4] + ldr r6, _0802A2CC + adds r0, r6 + strb r2, [r0] + movs r0, 0x1 + bl sub_801CA08 + cmp r0, 0x3 + beq _0802A2E2 + cmp r0, 0x3 + bhi _0802A2D0 + cmp r0, 0x2 + beq _0802A2D6 + b _0802A334 + .align 2, 0 +_0802A2C0: .4byte gUnknown_203B2C4 +_0802A2C4: .4byte 0x0000041e +_0802A2C8: .4byte 0x0000041d +_0802A2CC: .4byte 0x0000041c +_0802A2D0: + cmp r0, 0x4 + beq _0802A2FC + b _0802A334 +_0802A2D6: + bl sub_801CBB8 + movs r0, 0x1 + bl sub_802B2BC + b _0802A334 +_0802A2E2: + bl sub_801CB24 + ldr r1, [r4] + ldr r2, _0802A2F8 + adds r1, r2 + strb r0, [r1] + movs r0, 0x14 + bl sub_802B2BC + b _0802A334 + .align 2, 0 +_0802A2F8: .4byte 0x0000041e +_0802A2FC: + ldr r1, [r4] + movs r0, 0x13 + str r0, [r1, 0x4] + bl sub_801CB24 + ldr r1, [r4] + adds r1, r5 + strb r0, [r1] + ldr r0, [r4] + 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, [r4] + adds r0, r6 + bl sub_801B3C0 + movs r0, 0x15 + bl sub_802B2BC +_0802A334: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_802A28C + + thumb_func_start sub_802A33C +sub_802A33C: + push {r4,lr} + bl sub_801B410 + cmp r0, 0x1 + beq _0802A394 + cmp r0, 0x1 + bcc _0802A394 + cmp r0, 0x3 + bhi _0802A394 + bl sub_801B450 + bl sub_8004914 + ldr r4, _0802A38C + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1 + bl sub_801CB5C + ldr r4, [r4] + ldr r0, [r4, 0x4] + cmp r0, 0x2B + bne _0802A390 + movs r1, 0x87 + lsls r1, 2 + adds r0, r4, r1 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x14 + bl sub_802B2BC + b _0802A394 + .align 2, 0 +_0802A38C: .4byte gUnknown_203B2C4 +_0802A390: + bl sub_802B2BC +_0802A394: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802A33C + + thumb_func_start sub_802A39C +sub_802A39C: + push {r4,lr} + sub sp, 0x4 + movs r0, 0x1 + negs r0, r0 + str r0, [sp] + movs r0, 0 + bl sub_801CA08 + ldr r4, _0802A3E0 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0802A3CE + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + mov r1, sp + bl sub_8013114 +_0802A3CE: + ldr r0, [sp] + cmp r0, 0xB + beq _0802A3EE + cmp r0, 0xB + bgt _0802A3E4 + cmp r0, 0 + beq _0802A430 + b _0802A44A + .align 2, 0 +_0802A3E0: .4byte gUnknown_203B2C4 +_0802A3E4: + cmp r0, 0xC + beq _0802A3FA + cmp r0, 0xD + beq _0802A430 + b _0802A44A +_0802A3EE: + bl sub_801CBB8 + movs r0, 0xC + bl sub_802B2BC + b _0802A44A +_0802A3FA: + ldr r0, [r4] + movs r1, 0x2B + str r1, [r0, 0x4] + 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, [r4] + ldr r1, _0802A42C + adds r0, r1 + bl sub_801B3C0 + movs r0, 0x15 + bl sub_802B2BC + b _0802A44A + .align 2, 0 +_0802A42C: .4byte 0x0000041c +_0802A430: + ldr r0, _0802A454 + ldr r0, [r0] + movs r1, 0xD7 + lsls r1, 2 + adds r0, r1 + movs r1, 0x3 + bl sub_8035CC0 + bl sub_801CCD8 + movs r0, 0x13 + bl sub_802B2BC +_0802A44A: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802A454: .4byte gUnknown_203B2C4 + thumb_func_end sub_802A39C + + thumb_func_start sub_802A458 +sub_802A458: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A46C + movs r0, 0xD + bl sub_802B2BC +_0802A46C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A458 + + thumb_func_start sub_802A474 +sub_802A474: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A488 + movs r0, 0x3 + bl sub_802B2BC +_0802A488: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A474 + + thumb_func_start sub_802A490 +sub_802A490: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A4A4 + movs r0, 0x3 + bl sub_802B2BC +_0802A4A4: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A490 + + thumb_func_start sub_802A4AC +sub_802A4AC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A4CC + movs r0, 0x18 + bl sub_802B2BC + movs r0, 0x1 + bl sub_8011C28 + movs r0, 0 + bl sub_8012574 +_0802A4CC: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A4AC + + thumb_func_start sub_802A4D4 +sub_802A4D4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A4E8 + movs r0, 0x1A + bl sub_802B2BC +_0802A4E8: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A4D4 + + thumb_func_start sub_802A4F0 +sub_802A4F0: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A504 + movs r0, 0x27 + bl sub_802B2BC +_0802A504: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A4F0 + + thumb_func_start sub_802A50C +sub_802A50C: + push {r4,r5,lr} + sub sp, 0x44 + bl sub_80154F0 + adds r4, r0, 0 + add r0, sp, 0x14 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + cmp r4, 0x2 + bne _0802A526 + b _0802A660 +_0802A526: + cmp r4, 0x3 + beq _0802A52C + b _0802A680 +_0802A52C: + ldr r0, _0802A54C + ldr r1, [r0] + adds r1, 0x8 + movs r0, 0x20 + add r2, sp, 0x14 + bl sub_8039068 + subs r0, 0x7 + cmp r0, 0x11 + bls _0802A542 + b _0802A654 +_0802A542: + lsls r0, 2 + ldr r1, _0802A550 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802A54C: .4byte gUnknown_203B2C4 +_0802A550: .4byte _0802A554 + .align 2, 0 +_0802A554: + .4byte _0802A654 + .4byte _0802A654 + .4byte _0802A654 + .4byte _0802A654 + .4byte _0802A5F0 + .4byte _0802A654 + .4byte _0802A654 + .4byte _0802A654 + .4byte _0802A654 + .4byte _0802A654 + .4byte _0802A59C + .4byte _0802A654 + .4byte _0802A654 + .4byte _0802A5D8 + .4byte _0802A654 + .4byte _0802A654 + .4byte _0802A654 + .4byte _0802A618 +_0802A59C: + ldr r0, _0802A5CC + ldr r3, _0802A5D0 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + ldr r1, _0802A5D4 + ldr r1, [r1] + 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, 0x7 + bl sub_8014248 + movs r0, 0x28 + bl sub_802B2BC + b _0802A654 + .align 2, 0 +_0802A5CC: .4byte gUnknown_80DF1C0 +_0802A5D0: .4byte gUnknown_80DEE44 +_0802A5D4: .4byte gUnknown_203B2C4 +_0802A5D8: + ldr r0, _0802A5E8 + ldr r1, _0802A5EC + ldr r2, [r1] + movs r3, 0x84 + lsls r3, 3 + adds r2, r3 + b _0802A5FC + .align 2, 0 +_0802A5E8: .4byte gUnknown_80DF208 +_0802A5EC: .4byte gUnknown_203B2C4 +_0802A5F0: + ldr r0, _0802A60C + ldr r1, _0802A610 + ldr r2, [r1] + movs r4, 0x84 + lsls r4, 3 + adds r2, r4 +_0802A5FC: + ldr r3, _0802A614 + movs r1, 0 + bl sub_80141B4 + movs r0, 0x1F + bl sub_802B2BC + b _0802A654 + .align 2, 0 +_0802A60C: .4byte gUnknown_80DF0A0 +_0802A610: .4byte gUnknown_203B2C4 +_0802A614: .4byte 0x0000010d +_0802A618: + ldr r1, [sp, 0x24] + movs r0, 0x4 + bl sub_809539C + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + adds r2, r0, 0 + add r1, sp, 0x14 + ldm r1!, {r3-r5} + stm r2!, {r3-r5} + ldm r1!, {r3-r5} + stm r2!, {r3-r5} + ldm r1!, {r3-r5} + stm r2!, {r3-r5} + ldm r1!, {r3-r5} + stm r2!, {r3-r5} + movs r1, 0x6 + strb r1, [r0] + ldr r0, _0802A65C + ldr r0, [r0] + movs r5, 0x86 + lsls r5, 3 + adds r0, r5 + ldr r1, [sp, 0x24] + str r1, [r0] + movs r0, 0x21 + bl sub_802B2BC +_0802A654: + bl sub_80155F0 + b _0802A680 + .align 2, 0 +_0802A65C: .4byte gUnknown_203B2C4 +_0802A660: + bl sub_80155F0 + bl sub_8004914 + ldr r0, _0802A688 + ldr r0, [r0] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1 + bl sub_802B2BC +_0802A680: + add sp, 0x44 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802A688: .4byte gUnknown_203B2C4 + thumb_func_end sub_802A50C + + thumb_func_start sub_802A68C +sub_802A68C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A6AE + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _0802A6AE + bl sub_8012750 + movs r0, 0xD + bl sub_802B2BC +_0802A6AE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A68C + + thumb_func_start sub_802A6B4 +sub_802A6B4: + push {r4,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A6E8 + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _0802A6E8 + bl sub_8012744 + adds r4, r0, 0 + bl sub_8012750 + cmp r4, 0 + bne _0802A6E2 + movs r0, 0x20 + bl sub_802B2BC + b _0802A6E8 +_0802A6E2: + movs r0, 0x3 + bl sub_802B2BC +_0802A6E8: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802A6B4 + + thumb_func_start sub_802A6F0 +sub_802A6F0: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A710 + movs r0, 0x18 + bl sub_802B2BC + movs r0, 0x1 + bl sub_8011C28 + movs r0, 0 + bl sub_8012574 +_0802A710: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A6F0 + + thumb_func_start sub_802A718 +sub_802A718: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A738 + movs r0, 0x25 + bl sub_802B2BC + movs r0, 0x1 + bl sub_8011C28 + movs r0, 0 + bl sub_8012574 +_0802A738: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A718 + + thumb_func_start sub_802A740 +sub_802A740: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A754 + movs r0, 0x1E + bl sub_802B2BC +_0802A754: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A740 + + thumb_func_start sub_802A75C +sub_802A75C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A792 + ldr r0, [sp] + cmp r0, 0 + beq _0802A78C + cmp r0, 0x7 + bne _0802A792 + ldr r0, _0802A788 + ldr r0, [r0] + movs r1, 0xA7 + lsls r1, 3 + adds r0, r1 + ldr r0, [r0] + movs r0, 0x16 + bl sub_802B2BC + b _0802A792 + .align 2, 0 +_0802A788: .4byte gUnknown_203B2C4 +_0802A78C: + movs r0, 0x1 + bl sub_802B2BC +_0802A792: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A75C + + thumb_func_start sub_802A798 +sub_802A798: + push {r4,r5,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A81E + ldr r0, [sp] + cmp r0, 0x7 + beq _0802A7BC + cmp r0, 0x7 + bgt _0802A7B6 + cmp r0, 0 + beq _0802A818 + b _0802A81E +_0802A7B6: + cmp r0, 0x8 + beq _0802A810 + b _0802A81E +_0802A7BC: + ldr r4, _0802A800 + ldr r0, [r4] + movs r1, 0x86 + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + bl sub_8095228 + adds r2, r0, 0 + ldr r1, [r4] + ldr r3, _0802A804 + adds r0, r1, r3 + ldrb r0, [r0] + cmp r0, 0 + beq _0802A7E2 + ldr r5, _0802A808 + adds r0, r1, r5 + ldr r0, [r0] + str r0, [r2, 0x20] +_0802A7E2: + ldr r0, _0802A80C + ldr r1, [r0] + ldr r0, [r4] + adds r0, r3 + ldrb r0, [r0] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + movs r0, 0x29 + bl sub_802B2BC + b _0802A81E + .align 2, 0 +_0802A800: .4byte gUnknown_203B2C4 +_0802A804: .4byte 0x0000041e +_0802A808: .4byte 0x0000041c +_0802A80C: .4byte gUnknown_203B460 +_0802A810: + movs r0, 0xB + bl sub_802B2BC + b _0802A81E +_0802A818: + movs r0, 0x1 + bl sub_802B2BC +_0802A81E: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_802A798 + + thumb_func_start sub_802A828 +sub_802A828: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A848 + movs r0, 0x2A + bl sub_802B2BC + movs r0, 0x1 + bl sub_8011C28 + movs r0, 0 + bl sub_8012574 +_0802A848: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A828 + + thumb_func_start sub_802A850 +sub_802A850: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A89A + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _0802A89A + bl sub_8012750 + ldr r0, _0802A884 + ldr r0, [r0] + ldr r1, _0802A888 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x3 + blt _0802A89A + cmp r0, 0x4 + ble _0802A88C + cmp r0, 0x5 + beq _0802A894 + b _0802A89A + .align 2, 0 +_0802A884: .4byte gUnknown_203B2C4 +_0802A888: .4byte 0x00000534 +_0802A88C: + movs r0, 0x1D + bl sub_802B2BC + b _0802A89A +_0802A894: + movs r0, 0x19 + bl sub_802B2BC +_0802A89A: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A850 + + thumb_func_start sub_802A8A0 +sub_802A8A0: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A8B4 + movs r0, 0x13 + bl sub_802B2BC +_0802A8B4: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A8A0 + + thumb_func_start sub_802A8BC +sub_802A8BC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A90A + ldr r0, [sp] + cmp r0, 0 + beq _0802A904 + cmp r0, 0xA + bne _0802A90A + ldr r0, _0802A8EC + ldr r0, [r0] + ldr r1, _0802A8F0 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x3 + blt _0802A90A + cmp r0, 0x4 + ble _0802A8F4 + cmp r0, 0x5 + beq _0802A8FC + b _0802A90A + .align 2, 0 +_0802A8EC: .4byte gUnknown_203B2C4 +_0802A8F0: .4byte 0x00000534 +_0802A8F4: + movs r0, 0x1D + bl sub_802B2BC + b _0802A90A +_0802A8FC: + movs r0, 0x19 + bl sub_802B2BC + b _0802A90A +_0802A904: + movs r0, 0x1 + bl sub_802B2BC +_0802A90A: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A8BC + + thumb_func_start sub_802A910 +sub_802A910: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A986 + ldr r0, [sp] + cmp r0, 0x9 + beq _0802A934 + cmp r0, 0x9 + bgt _0802A92E + cmp r0, 0 + beq _0802A980 + b _0802A986 +_0802A92E: + cmp r0, 0xA + beq _0802A950 + b _0802A986 +_0802A934: + movs r0, 0 + bl sub_801CF14 + lsls r0, 24 + cmp r0, 0 + beq _0802A948 + movs r0, 0xA + bl sub_802B2BC + b _0802A986 +_0802A948: + movs r0, 0xB + bl sub_802B2BC + b _0802A986 +_0802A950: + ldr r0, _0802A968 + ldr r0, [r0] + ldr r1, _0802A96C + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x3 + blt _0802A986 + cmp r0, 0x4 + ble _0802A970 + cmp r0, 0x5 + beq _0802A978 + b _0802A986 + .align 2, 0 +_0802A968: .4byte gUnknown_203B2C4 +_0802A96C: .4byte 0x00000534 +_0802A970: + movs r0, 0x1D + bl sub_802B2BC + b _0802A986 +_0802A978: + movs r0, 0x19 + bl sub_802B2BC + b _0802A986 +_0802A980: + movs r0, 0x1 + bl sub_802B2BC +_0802A986: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A910 + + thumb_func_start sub_802A98C +sub_802A98C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A9A0 + movs r0, 0x8 + bl sub_802B2BC +_0802A9A0: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A98C + + thumb_func_start sub_802A9A8 +sub_802A9A8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802A9F6 + ldr r0, [sp] + cmp r0, 0 + beq _0802A9F0 + cmp r0, 0x7 + bne _0802A9F6 + ldr r0, _0802A9D8 + ldr r0, [r0] + ldr r1, _0802A9DC + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x3 + blt _0802A9F6 + cmp r0, 0x4 + ble _0802A9E0 + cmp r0, 0x5 + beq _0802A9E8 + b _0802A9F6 + .align 2, 0 +_0802A9D8: .4byte gUnknown_203B2C4 +_0802A9DC: .4byte 0x00000534 +_0802A9E0: + movs r0, 0x1D + bl sub_802B2BC + b _0802A9F6 +_0802A9E8: + movs r0, 0x19 + bl sub_802B2BC + b _0802A9F6 +_0802A9F0: + movs r0, 0x1 + bl sub_802B2BC +_0802A9F6: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A9A8 + + thumb_func_start sub_802A9FC +sub_802A9FC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802AA22 + ldr r0, [sp] + cmp r0, 0 + beq _0802AA1C + cmp r0, 0x7 + bne _0802AA22 + movs r0, 0x26 + bl sub_802B2BC + b _0802AA22 +_0802AA1C: + movs r0, 0x1 + bl sub_802B2BC +_0802AA22: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802A9FC + + thumb_func_start sub_802AA28 +sub_802AA28: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802AAA6 + ldr r2, [sp] + cmp r2, 0 + beq _0802AAA0 + cmp r2, 0 + blt _0802AAA6 + cmp r2, 0x5 + bgt _0802AAA6 + cmp r2, 0x3 + blt _0802AAA6 + ldr r0, _0802AA7C + ldr r0, [r0] + ldr r3, _0802AA80 + adds r1, r0, r3 + str r2, [r1] + movs r1, 0xA7 + lsls r1, 3 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x1 + bne _0802AA8C + movs r0, 0x5 + bl sub_80953D4 + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + adds r0, 0x22 + ldrb r0, [r0] + cmp r0, 0 + beq _0802AA84 + movs r0, 0x7 + bl sub_802B2BC + b _0802AAA6 + .align 2, 0 +_0802AA7C: .4byte gUnknown_203B2C4 +_0802AA80: .4byte 0x00000534 +_0802AA84: + movs r0, 0x9 + bl sub_802B2BC + b _0802AAA6 +_0802AA8C: + cmp r2, 0x5 + bne _0802AA98 + movs r0, 0x26 + bl sub_802B2BC + b _0802AAA6 +_0802AA98: + movs r0, 0x1D + bl sub_802B2BC + b _0802AAA6 +_0802AAA0: + movs r0, 0x1 + bl sub_802B2BC +_0802AAA6: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802AA28 + + thumb_func_start sub_802AAAC +sub_802AAAC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802AAC0 + movs r0, 0x1 + bl sub_802B2BC +_0802AAC0: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802AAAC + + thumb_func_start sub_802AAC8 +sub_802AAC8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802AADC + movs r0, 0x3 + bl sub_802B2BC +_0802AADC: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802AAC8 + + thumb_func_start sub_802AAE4 +sub_802AAE4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802AB5A + ldr r2, [sp] + cmp r2, 0x1 + beq _0802AB08 + cmp r2, 0x1 + bgt _0802AB02 + cmp r2, 0 + beq _0802AB54 + b _0802AB5A +_0802AB02: + cmp r2, 0x2 + beq _0802AB38 + b _0802AB5A +_0802AB08: + ldr r0, _0802AB2C + ldr r0, [r0] + movs r1, 0x6 + str r1, [r0, 0x40] + movs r1, 0xA7 + lsls r1, 3 + adds r0, r1 + str r2, [r0] + movs r0, 0x5 + bl sub_8095324 + cmp r0, 0 + bne _0802AB30 + movs r0, 0x4 + bl sub_802B2BC + b _0802AB5A + .align 2, 0 +_0802AB2C: .4byte gUnknown_203B2C4 +_0802AB30: + movs r0, 0xF + bl sub_802B2BC + b _0802AB5A +_0802AB38: + ldr r0, _0802AB50 + ldr r0, [r0] + movs r1, 0x7 + str r1, [r0, 0x40] + movs r1, 0xA7 + lsls r1, 3 + adds r0, r1 + str r2, [r0] + movs r0, 0x6 + bl sub_802B2BC + b _0802AB5A + .align 2, 0 +_0802AB50: .4byte gUnknown_203B2C4 +_0802AB54: + movs r0, 0x2 + bl sub_802B2BC +_0802AB5A: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802AAE4 + + thumb_func_start sub_802AB60 +sub_802AB60: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802AB74 + movs r0, 0x22 + bl sub_802B2BC +_0802AB74: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802AB60 + + thumb_func_start sub_802AB7C +sub_802AB7C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802AB90 + movs r0, 0x22 + bl sub_802B2BC +_0802AB90: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802AB7C + + thumb_func_start sub_802AB98 +sub_802AB98: + push {r4,lr} + bl sub_802F298 + cmp r0, 0x3 + bne _0802ABE0 + bl sub_802F2C0 + ldr r0, _0802ABE8 + 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, _0802ABEC + bl strcpy + ldr r0, _0802ABF0 + ldr r0, [r0] + movs r1, 0x86 + lsls r1, 3 + adds r0, r1 + ldr r1, [r0] + movs r0, 0x6 + bl sub_809539C + lsls r0, 24 + lsrs r0, 24 + bl sub_8095240 + movs r0, 0x24 + bl sub_802B2BC +_0802ABE0: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802ABE8: .4byte gUnknown_202E5D8 +_0802ABEC: .4byte gUnknown_202DF98 +_0802ABF0: .4byte gUnknown_203B2C4 + thumb_func_end sub_802AB98 + + thumb_func_start nullsub_131 +nullsub_131: + bx lr + thumb_func_end nullsub_131 + + thumb_func_start sub_802ABF8 +sub_802ABF8: + push {r4-r6,lr} + sub sp, 0xB8 + ldr r1, _0802AC14 + ldr r0, [r1] + ldrb r0, [r0] + adds r6, r1, 0 + cmp r0, 0x2A + bls _0802AC0A + b _0802B2AA +_0802AC0A: + lsls r0, 2 + ldr r1, _0802AC18 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802AC14: .4byte gUnknown_203B2C4 +_0802AC18: .4byte _0802AC1C + .align 2, 0 +_0802AC1C: + .4byte _0802B1DC + .4byte _0802B1FC + .4byte _0802B22C + .4byte _0802B2AA + .4byte _0802B1D4 + .4byte _0802ACC8 + .4byte _0802B248 + .4byte _0802B194 + .4byte _0802B1A4 + .4byte _0802B168 + .4byte _0802B138 + .4byte _0802B128 + .4byte _0802B0F0 + .4byte _0802B0AC + .4byte _0802AD08 + .4byte _0802AD18 + .4byte _0802AD20 + .4byte _0802AD46 + .4byte _0802B2AA + .4byte _0802AD80 + .4byte _0802ADB0 + .4byte _0802B2AA + .4byte _0802B07C + .4byte _0802B094 + .4byte _0802B2AA + .4byte _0802AF50 + .4byte _0802AF1A + .4byte _0802AF46 + .4byte _0802B2AA + .4byte _0802B0A4 + .4byte _0802ADF8 + .4byte _0802B2AA + .4byte _0802AF70 + .4byte _0802AF78 + .4byte _0802AFAC + .4byte _0802B2AA + .4byte _0802AF60 + .4byte _0802B2AA + .4byte _0802AEEC + .4byte _0802AEF4 + .4byte _0802B2AA + .4byte _0802B110 + .4byte _0802B120 +_0802ACC8: + bl sub_808D33C + adds r1, r0, 0 + adds r1, 0x4C + add r0, sp, 0x14 + movs r2, 0xA + bl sub_80922B4 + ldr r5, _0802ACF8 + ldr r0, [r5] + ldr r4, _0802ACFC + adds r0, r4 + ldr r1, _0802AD00 + add r2, sp, 0x14 + bl sub_800D158 + ldr r2, [r5] + adds r4, r2, r4 + movs r0, 0x84 + lsls r0, 3 + adds r2, r0 + ldr r3, _0802AD04 + adds r0, r4, 0 + b _0802B238 + .align 2, 0 +_0802ACF8: .4byte gUnknown_203B2C4 +_0802ACFC: .4byte 0x00000434 +_0802AD00: .4byte gUnknown_80DF250 +_0802AD04: .4byte 0x0000010d +_0802AD08: + ldr r0, _0802AD10 + ldr r3, _0802AD14 + b _0802B1A8 + .align 2, 0 +_0802AD10: .4byte gUnknown_80DF304 +_0802AD14: .4byte gUnknown_80DEE60 +_0802AD18: + ldr r0, _0802AD1C + b _0802B22E + .align 2, 0 +_0802AD1C: .4byte gUnknown_80DF330 +_0802AD20: + bl sub_8030894 + cmp r0, 0 + beq _0802AD2A + b _0802B2AA +_0802AD2A: + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x5 + movs r1, 0 + movs r2, 0 + movs r3, 0x6 + bl sub_80306A8 + b _0802B2AA +_0802AD46: + 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, _0802AD78 + ldr r2, _0802AD7C + 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 + b _0802ADE0 + .align 2, 0 +_0802AD78: .4byte gUnknown_80DED60 +_0802AD7C: .4byte gUnknown_80DED78 +_0802AD80: + bl sub_801D008 + cmp r0, 0 + beq _0802AD8A + b _0802B2AA +_0802AD8A: + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + add r2, sp, 0xB4 + ldr r0, _0802ADAC + str r0, [r2] + movs r0, 0 + movs r1, 0x1 + movs r3, 0x9 + bl sub_801C8C4 + b _0802B2AA + .align 2, 0 +_0802ADAC: .4byte 0x00020003 +_0802ADB0: + 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, _0802ADF0 + ldr r2, _0802ADF4 + 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_801CCD8 +_0802ADE0: + ldr r0, [r6] + adds r0, r5 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + b _0802B2AA + .align 2, 0 +_0802ADF0: .4byte gUnknown_80DED48 +_0802ADF4: .4byte gUnknown_80DED78 +_0802ADF8: + ldr r1, [r6] + movs r0, 0 + str r0, [r1, 0x44] + bl sub_8011830 + ldr r0, [r6] + ldr r0, [r0, 0x40] + bl sub_8037B28 + ldr r1, [r6] + str r0, [r1, 0x44] + cmp r0, 0 + bne _0802AEE6 + ldr r0, [r1, 0x40] + cmp r0, 0x6 + beq _0802AE1E + cmp r0, 0x7 + beq _0802AE5C + b _0802AE8C +_0802AE1E: + movs r4, 0xDC + lsls r4, 1 + adds r0, r1, r4 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r5, 0x86 + lsls r5, 2 + adds r0, r5 + ldrb r0, [r0] + bl sub_8095228 + ldr r1, [r6] + adds r1, r4 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldr r2, [r6] + ldr r0, [r2, 0x40] + adds r4, r2, r4 + movs r1, 0xF4 + lsls r1, 1 + adds r2, r1 + b _0802AE82 +_0802AE5C: + movs r4, 0xDC + lsls r4, 1 + adds r0, r1, r4 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r5, 0xF4 + lsls r5, 1 + adds r0, r5 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r2, [r6] + ldr r0, [r2, 0x40] + adds r4, r2, r4 + adds r2, r5 +_0802AE82: + adds r1, r4, 0 + bl sub_8037D64 + ldr r1, [r6] + str r0, [r1, 0x44] +_0802AE8C: + ldr r4, _0802AED0 + ldr r2, [r4] + ldr r0, [r2, 0x44] + cmp r0, 0 + bne _0802AEE6 + ldr r0, [r2, 0x40] + cmp r0, 0x7 + bhi _0802AEE6 + cmp r0, 0x6 + bcc _0802AEE6 + movs r3, 0xDC + lsls r3, 1 + adds r1, r2, r3 + movs r5, 0xF4 + lsls r5, 1 + adds r2, r5 + bl sub_80381F4 + ldr r1, [r4] + str r0, [r1, 0x44] + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + beq _0802AED4 + ldr r0, [r4] + movs r2, 0x86 + lsls r2, 3 + adds r1, r0, r2 + movs r3, 0xFC + lsls r3, 1 + adds r0, r3 + b _0802AEE2 + .align 2, 0 +_0802AED0: .4byte gUnknown_203B2C4 +_0802AED4: + ldr r0, [r4] + movs r5, 0x86 + lsls r5, 3 + adds r1, r0, r5 + movs r2, 0xE4 + lsls r2, 1 + adds r0, r2 +_0802AEE2: + ldr r0, [r0] + str r0, [r1] +_0802AEE6: + bl sub_8011854 + b _0802B2AA +_0802AEEC: + ldr r0, _0802AEF0 + b _0802B22E + .align 2, 0 +_0802AEF0: .4byte gUnknown_80DF380 +_0802AEF4: + ldr r0, [r6] + movs r5, 0xEF + lsls r5, 2 + adds r0, r5 + 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 _0802B2AA +_0802AF1A: + 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 _0802B2AA +_0802AF46: + ldr r0, _0802AF4C + b _0802B22E + .align 2, 0 +_0802AF4C: .4byte gUnknown_80DF3B4 +_0802AF50: + ldr r0, _0802AF5C + ldr r2, [r6] + movs r5, 0x84 + lsls r5, 3 + adds r2, r5 + b _0802B236 + .align 2, 0 +_0802AF5C: .4byte gUnknown_80DF418 +_0802AF60: + ldr r0, _0802AF6C + ldr r2, [r6] + movs r1, 0x84 + lsls r1, 3 + adds r2, r1 + b _0802B236 + .align 2, 0 +_0802AF6C: .4byte gUnknown_80DF44C +_0802AF70: + ldr r0, _0802AF74 + b _0802B22E + .align 2, 0 +_0802AF74: .4byte gUnknown_80DF46C +_0802AF78: + ldr r0, [r6] + ldr r5, _0802AF90 + adds r0, r5 + ldr r0, [r0] + cmp r0, 0x4 + bne _0802AF86 + b _0802B2AA +_0802AF86: + cmp r0, 0x4 + bgt _0802AF94 + cmp r0, 0x3 + beq _0802AF9A + b _0802B2AA + .align 2, 0 +_0802AF90: .4byte 0x00000534 +_0802AF94: + cmp r0, 0x6 + ble _0802AF9A + b _0802B2AA +_0802AF9A: + ldr r0, _0802AFA8 + ldr r2, [r6] + movs r1, 0x84 + lsls r1, 3 + adds r2, r1 + b _0802B236 + .align 2, 0 +_0802AFA8: .4byte gUnknown_80DF4F4 +_0802AFAC: + movs r4, 0x98 + lsls r4, 1 + adds r0, r4, 0 + bl sub_808D994 + adds r1, r0, 0 + ldr r5, _0802B00C + ldr r0, [r5] + ldr r2, _0802B010 + adds r0, r2 + bl strcpy + ldr r1, [r5] + movs r3, 0xAA + lsls r3, 3 + adds r0, r1, r3 + movs r2, 0 + strh r4, [r0] + ldr r0, _0802B014 + adds r1, r0 + movs r0, 0x2 + strb r0, [r1] + ldr r0, [r5] + adds r3, 0x4 + adds r1, r0, r3 + str r2, [r1] + movs r1, 0x86 + lsls r1, 3 + adds r0, r1 + ldr r1, [r0] + movs r0, 0x6 + bl sub_809539C + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + adds r2, r0, 0 + adds r0, 0x22 + ldrb r1, [r0] + cmp r1, 0 + beq _0802B018 + ldr r0, [r5] + movs r3, 0xAB + lsls r3, 3 + adds r0, r3 + b _0802B022 + .align 2, 0 +_0802B00C: .4byte gUnknown_203B2C4 +_0802B010: .4byte 0x0000053c +_0802B014: .4byte 0x00000552 +_0802B018: + ldr r0, [r5] + movs r5, 0xAB + lsls r5, 3 + adds r0, r5 + movs r1, 0 +_0802B022: + strb r1, [r0] + ldr r4, _0802B068 + ldr r0, [r4] + ldr r1, _0802B06C + adds r0, r1 + movs r5, 0 + movs r1, 0x1 + strb r1, [r0] + adds r0, r2, 0x4 + movs r1, 0 + bl sub_803C200 + ldr r1, [r4] + movs r3, 0xAC + lsls r3, 3 + adds r2, r1, r3 + str r0, [r2] + ldr r0, _0802B070 + adds r1, r0 + strb r5, [r1] + ldr r0, [r4] + ldr r1, _0802B074 + adds r0, r1 + strb r5, [r0] + ldr r0, [r4] + ldr r2, _0802B078 + adds r0, r2 + strb r5, [r0] + ldr r0, [r4] + subs r3, 0x24 + adds r0, r3 + movs r1, 0 + bl sub_802F204 + b _0802B2AA + .align 2, 0 +_0802B068: .4byte gUnknown_203B2C4 +_0802B06C: .4byte 0x0000055b +_0802B070: .4byte 0x00000559 +_0802B074: .4byte 0x0000055a +_0802B078: .4byte 0x0000055c +_0802B07C: + movs r0, 0 + bl nullsub_23 + ldr r0, _0802B090 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl sub_80141B4 + b _0802B2AA + .align 2, 0 +_0802B090: .4byte gUnknown_80DF544 +_0802B094: + ldr r0, _0802B0A0 + ldr r2, [r6] + movs r5, 0x84 + lsls r5, 3 + adds r2, r5 + b _0802B236 + .align 2, 0 +_0802B0A0: .4byte gUnknown_80DF594 +_0802B0A4: + ldr r0, _0802B0A8 + b _0802B1A6 + .align 2, 0 +_0802B0A8: .4byte gUnknown_80DF5E4 +_0802B0AC: + bl sub_808D33C + adds r1, r0, 0 + add r6, sp, 0x64 + adds r1, 0x4C + adds r0, r6, 0 + movs r2, 0xA + bl sub_80922B4 + ldr r5, _0802B0E0 + ldr r0, [r5] + ldr r4, _0802B0E4 + adds r0, r4 + ldr r1, _0802B0E8 + adds r2, r6, 0 + bl sub_800D158 + ldr r2, [r5] + adds r4, r2, r4 + movs r3, 0x84 + lsls r3, 3 + adds r2, r3 + ldr r3, _0802B0EC + adds r0, r4, 0 + b _0802B238 + .align 2, 0 +_0802B0E0: .4byte gUnknown_203B2C4 +_0802B0E4: .4byte 0x00000434 +_0802B0E8: .4byte gUnknown_80DF63C +_0802B0EC: .4byte 0x0000010d +_0802B0F0: + ldr r0, _0802B108 + ldr r3, _0802B10C + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + ldr r1, [r6] + movs r5, 0x84 + lsls r5, 3 + adds r1, r5 + b _0802B1BA + .align 2, 0 +_0802B108: .4byte gUnknown_80DF694 +_0802B10C: .4byte gUnknown_80DEEE4 +_0802B110: + ldr r0, _0802B11C + ldr r2, [r6] + movs r1, 0x84 + lsls r1, 3 + adds r2, r1 + b _0802B236 + .align 2, 0 +_0802B11C: .4byte gUnknown_80DF44C +_0802B120: + ldr r0, _0802B124 + b _0802B22E + .align 2, 0 +_0802B124: .4byte gUnknown_80DF6F0 +_0802B128: + ldr r0, _0802B134 + ldr r2, [r6] + movs r5, 0x84 + lsls r5, 3 + adds r2, r5 + b _0802B236 + .align 2, 0 +_0802B134: .4byte gUnknown_80DF710 +_0802B138: + ldr r0, _0802B160 + ldr r3, _0802B164 + 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 _0802B2AA + .align 2, 0 +_0802B160: .4byte gUnknown_80DF73C +_0802B164: .4byte gUnknown_80DEEBC +_0802B168: + ldr r0, _0802B18C + ldr r3, _0802B190 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + ldr r1, [r6] + movs r5, 0x84 + lsls r5, 3 + adds r1, r5 + str r1, [sp, 0xC] + movs r1, 0xC + str r1, [sp, 0x10] + movs r1, 0 + bl sub_8014248 + b _0802B2AA + .align 2, 0 +_0802B18C: .4byte gUnknown_80DF77C +_0802B190: .4byte gUnknown_80DEE7C +_0802B194: + ldr r0, _0802B1A0 + ldr r2, [r6] + movs r1, 0x84 + lsls r1, 3 + adds r2, r1 + b _0802B236 + .align 2, 0 +_0802B1A0: .4byte gUnknown_80DF7D4 +_0802B1A4: + ldr r0, _0802B1CC +_0802B1A6: + ldr r3, _0802B1D0 +_0802B1A8: + 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 +_0802B1BA: + str r1, [sp, 0xC] + movs r1, 0xC + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x7 + bl sub_8014248 + b _0802B2AA + .align 2, 0 +_0802B1CC: .4byte gUnknown_80DF870 +_0802B1D0: .4byte gUnknown_80DEE44 +_0802B1D4: + ldr r0, _0802B1D8 + b _0802B22E + .align 2, 0 +_0802B1D8: .4byte gUnknown_80DF8B4 +_0802B1DC: + ldr r0, _0802B1F4 + ldr r3, _0802B1F8 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + ldr r1, [r6] + movs r5, 0x84 + lsls r5, 3 + adds r1, r5 + b _0802B212 + .align 2, 0 +_0802B1F4: .4byte gUnknown_80DF8EC +_0802B1F8: .4byte gUnknown_80DEDB8 +_0802B1FC: + ldr r0, _0802B224 + ldr r3, _0802B228 + 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 +_0802B212: + str r1, [sp, 0xC] + movs r1, 0xC + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x1 + bl sub_8014248 + b _0802B2AA + .align 2, 0 +_0802B224: .4byte gUnknown_80DF928 +_0802B228: .4byte gUnknown_80DEDB8 +_0802B22C: + ldr r0, _0802B240 +_0802B22E: + ldr r2, [r6] + movs r3, 0x84 + lsls r3, 3 + adds r2, r3 +_0802B236: + ldr r3, _0802B244 +_0802B238: + movs r1, 0 + bl sub_80141B4 + b _0802B2AA + .align 2, 0 +_0802B240: .4byte gUnknown_80DF94C +_0802B244: .4byte 0x0000010d +_0802B248: + ldr r4, [r6] + movs r5, 0xA7 + lsls r5, 3 + adds r0, r4, r5 + ldr r0, [r0] + cmp r0, 0x1 + beq _0802B25C + cmp r0, 0x2 + beq _0802B288 + b _0802B2AA +_0802B25C: + ldr r0, _0802B280 + ldr r3, _0802B284 + movs r2, 0 + 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, 0x3 + bl sub_8014248 + b _0802B2AA + .align 2, 0 +_0802B280: .4byte gUnknown_80DF96C +_0802B284: .4byte gUnknown_80DEE08 +_0802B288: + ldr r0, _0802B2B4 + ldr r3, _0802B2B8 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + movs r5, 0x84 + lsls r5, 3 + adds r1, r4, r5 + str r1, [sp, 0xC] + movs r1, 0xC + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x3 + bl sub_8014248 +_0802B2AA: + add sp, 0xB8 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0802B2B4: .4byte gUnknown_80DF9A4 +_0802B2B8: .4byte gUnknown_80DEE08 + thumb_func_end sub_802ABF8 + + thumb_func_start sub_802B2BC +sub_802B2BC: + push {lr} + ldr r1, _0802B2D0 + ldr r1, [r1] + strb r0, [r1] + bl nullsub_131 + bl sub_802ABF8 + pop {r0} + bx r0 + .align 2, 0 +_0802B2D0: .4byte gUnknown_203B2C4 + thumb_func_end sub_802B2BC + + thumb_func_start sub_802B2D4 +sub_802B2D4: + push {r4,r5,lr} + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r5, _0802B348 + movs r4, 0xA0 + lsls r4, 1 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 + ldr r1, [r5] + movs r0, 0xFF + strb r0, [r1, 0x1] + ldr r0, _0802B34C + subs r4, 0x10 + adds r1, r4, 0 + bl sub_808D8E0 + adds r0, r4, 0 + bl sub_808DDD0 + ldr r1, [r5] + str r0, [r1, 0x4] + ldr r0, [r0, 0x4] + str r0, [r1, 0x8] + movs r2, 0 + strb r2, [r1, 0x10] + ldr r0, [r5] + strb r2, [r0, 0x11] + ldr r0, [r5] + strb r2, [r0, 0x12] + ldr r0, [r5] + movs r1, 0x2 + strh r1, [r0, 0xC] + movs r1, 0x8 + strh r1, [r0, 0xE] + adds r0, 0x1 + bl sub_8099394 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0802B350 + movs r0, 0 + bl sub_802B548 + movs r0, 0x1 + b _0802B352 + .align 2, 0 +_0802B348: .4byte gUnknown_203B2C8 +_0802B34C: .4byte gUnknown_202E5D8 +_0802B350: + movs r0, 0 +_0802B352: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_802B2D4 + + thumb_func_start sub_802B358 +sub_802B358: + push {lr} + ldr r0, _0802B370 + ldr r0, [r0] + ldrb r0, [r0] + cmp r0, 0x5 + bhi _0802B3B2 + lsls r0, 2 + ldr r1, _0802B374 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802B370: .4byte gUnknown_203B2C8 +_0802B374: .4byte _0802B378 + .align 2, 0 +_0802B378: + .4byte _0802B390 + .4byte _0802B396 + .4byte _0802B39C + .4byte _0802B3A2 + .4byte _0802B3A8 + .4byte _0802B3AE +_0802B390: + bl sub_802B560 + b _0802B3B2 +_0802B396: + bl sub_802B57C + b _0802B3B2 +_0802B39C: + bl sub_802B5B8 + b _0802B3B2 +_0802B3A2: + bl sub_802B5FC + b _0802B3B2 +_0802B3A8: + bl sub_802B624 + b _0802B3B2 +_0802B3AE: + movs r0, 0x3 + b _0802B3B4 +_0802B3B2: + movs r0, 0 +_0802B3B4: + pop {r1} + bx r1 + thumb_func_end sub_802B358 + + thumb_func_start sub_802B3B8 +sub_802B3B8: + push {r4,lr} + ldr r4, _0802B3D8 + ldr r0, [r4] + cmp r0, 0 + beq _0802B3D2 + ldr r0, [r0, 0x4] + bl CloseFile + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802B3D2: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802B3D8: .4byte gUnknown_203B2C8 + thumb_func_end sub_802B3B8 + + thumb_func_start nullsub_132 +nullsub_132: + bx lr + thumb_func_end nullsub_132 + + thumb_func_start sub_802B3E0 +sub_802B3E0: + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x28 + ldr r1, _0802B404 + ldr r0, [r1] + ldrb r0, [r0] + adds r2, r1, 0 + cmp r0, 0x5 + bls _0802B3F8 + b _0802B532 +_0802B3F8: + lsls r0, 2 + ldr r1, _0802B408 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802B404: .4byte gUnknown_203B2C8 +_0802B408: .4byte _0802B40C + .align 2, 0 +_0802B40C: + .4byte _0802B424 + .4byte _0802B464 + .4byte _0802B50C + .4byte _0802B532 + .4byte _0802B524 + .4byte _0802B532 +_0802B424: + movs r0, 0 + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + beq _0802B438 + mov r0, sp + bl sub_80920D8 + b _0802B440 +_0802B438: + ldr r1, _0802B458 + mov r0, sp + bl strcpy +_0802B440: + ldr r4, _0802B45C + ldr r0, [r4] + adds r0, 0x14 + ldr r1, _0802B460 + mov r2, sp + bl sub_800D158 + ldr r2, [r4] + adds r0, r2, 0 + adds r0, 0x14 + b _0802B510 + .align 2, 0 +_0802B458: .4byte gUnknown_80DF9F0 +_0802B45C: .4byte gUnknown_203B2C8 +_0802B460: .4byte gUnknown_80DF9F8 +_0802B464: + movs r6, 0x98 + lsls r6, 1 + adds r0, r6, 0 + bl sub_808D994 + adds r1, r0, 0 + ldr r5, _0802B500 + ldr r0, [r5] + movs r2, 0x8A + lsls r2, 1 + mov r9, r2 + add r0, r9 + bl strcpy + ldr r2, [r5] + movs r3, 0x94 + lsls r3, 1 + adds r0, r2, r3 + movs r1, 0 + mov r8, r1 + movs r1, 0 + strh r6, [r0] + adds r3, 0x2 + adds r2, r3 + movs r0, 0x2 + strb r0, [r2] + ldr r0, [r5] + movs r2, 0x96 + lsls r2, 1 + adds r0, r2 + str r1, [r0] + bl sub_8097790 + ldr r0, [r5] + ldrb r0, [r0, 0x1] + bl sub_8095228 + adds r4, r0, 0 + adds r4, 0x4 + ldr r2, [r5] + adds r2, r6 + adds r0, r4, 0 + movs r1, 0 + bl sub_803C37C + adds r0, r4, 0 + movs r1, 0 + bl sub_803C200 + ldr r2, [r5] + movs r3, 0x9C + lsls r3, 1 + adds r1, r2, r3 + str r0, [r1] + ldr r1, _0802B504 + adds r0, r2, r1 + mov r2, r8 + strb r2, [r0] + ldr r0, [r5] + subs r3, 0x6 + adds r0, r3 + strb r2, [r0] + ldr r0, [r5] + ldr r2, _0802B508 + adds r1, r0, r2 + movs r0, 0xA + strb r0, [r1] + ldr r0, [r5] + adds r3, 0x2 + adds r0, r3 + mov r1, r8 + strb r1, [r0] + ldr r0, [r5] + add r0, r9 + movs r1, 0 + bl sub_802F204 + b _0802B532 + .align 2, 0 +_0802B500: .4byte gUnknown_203B2C8 +_0802B504: .4byte 0x00000131 +_0802B508: .4byte 0x00000133 +_0802B50C: + ldr r0, _0802B51C + ldr r2, [r2] +_0802B510: + adds r2, 0x4 + ldr r3, _0802B520 + movs r1, 0 + bl sub_80141B4 + b _0802B532 + .align 2, 0 +_0802B51C: .4byte gUnknown_80DFAA8 +_0802B520: .4byte 0x0000010d +_0802B524: + ldr r0, _0802B540 + ldr r2, [r2] + adds r2, 0x4 + ldr r3, _0802B544 + movs r1, 0 + bl sub_80141B4 +_0802B532: + add sp, 0x28 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0802B540: .4byte gUnknown_80DFB14 +_0802B544: .4byte 0x0000010d + thumb_func_end sub_802B3E0 + + thumb_func_start sub_802B548 +sub_802B548: + push {lr} + ldr r1, _0802B55C + ldr r1, [r1] + strb r0, [r1] + bl nullsub_132 + bl sub_802B3E0 + pop {r0} + bx r0 + .align 2, 0 +_0802B55C: .4byte gUnknown_203B2C8 + thumb_func_end sub_802B548 + + thumb_func_start sub_802B560 +sub_802B560: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802B574 + movs r0, 0x1 + bl sub_802B548 +_0802B574: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802B560 + + thumb_func_start sub_802B57C +sub_802B57C: + push {r4,lr} + bl sub_802F298 + cmp r0, 0x3 + bne _0802B5AA + bl sub_802F2C0 + ldr r0, _0802B5B0 + 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, _0802B5B4 + bl strcpy + movs r0, 0x2 + bl sub_802B548 +_0802B5AA: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802B5B0: .4byte gUnknown_202E5D8 +_0802B5B4: .4byte gUnknown_202DF98 + thumb_func_end sub_802B57C + + thumb_func_start sub_802B5B8 +sub_802B5B8: + push {r4,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802B5EE + bl sub_8011C34 + adds r4, r0, 0 + ldr r0, _0802B5F8 + ldr r0, [r0] + ldrb r0, [r0, 0x1] + bl sub_8095228 + movs r1, 0x4 + strb r1, [r0] + str r4, [r0, 0x28] + movs r0, 0x3 + bl sub_802B548 + movs r0, 0x1 + bl sub_8011C28 + movs r0, 0 + bl sub_8012574 +_0802B5EE: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802B5F8: .4byte gUnknown_203B2C8 + thumb_func_end sub_802B5B8 + + thumb_func_start sub_802B5FC +sub_802B5FC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802B61E + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _0802B61E + bl sub_8012750 + movs r0, 0x4 + bl sub_802B548 +_0802B61E: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802B5FC + + thumb_func_start sub_802B624 +sub_802B624: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802B638 + movs r0, 0x5 + bl sub_802B548 +_0802B638: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802B624 + + thumb_func_start sub_802B640 +sub_802B640: + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + adds r4, r1, 0 + mov r8, r2 + bl sub_802B9D8 + lsls r0, 24 + cmp r0, 0 + beq _0802B65A + movs r0, 0 + b _0802B706 +_0802B65A: + ldr r5, _0802B710 + ldr r0, [r5] + cmp r0, 0 + bne _0802B66C + movs r0, 0xD4 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] +_0802B66C: + ldr r0, [r5] + str r6, [r0, 0x6C] + lsls r1, r6, 1 + adds r1, r6 + lsls r1, 3 + adds r1, 0x74 + adds r1, r0, r1 + str r1, [r0, 0x70] + adds r0, 0x74 + bl sub_8006518 + ldr r1, [r5] + ldr r2, [r1, 0x6C] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x74 + ldr r0, _0802B714 + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + cmp r4, 0 + beq _0802B6B0 + ldr r1, [r5] + ldr r2, [r1, 0x6C] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, 0x7C + adds r1, r0 + ldr r0, [r4] + str r0, [r1] +_0802B6B0: + ldr r0, [r5] + ldr r0, [r0, 0x70] + mov r1, r8 + bl sub_8012D08 + bl sub_8004914 + ldr r0, [r5] + adds r0, 0x74 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, [r5] + adds r4, 0x38 + bl sub_802B9A8 + adds r1, r0, 0 + adds r0, r4, 0 + mov r2, r8 + adds r3, r6, 0 + bl sub_8013818 + ldr r2, [r5] + ldr r0, _0802B718 + ldrh r1, [r0] + adds r0, r2, 0 + adds r0, 0x50 + strh r1, [r0] + ldr r0, _0802B71C + ldrh r0, [r0] + adds r1, r2, 0 + adds r1, 0x56 + strh r0, [r1] + adds r0, r2, 0 + adds r0, 0x38 + bl sub_8013984 + bl sub_802B880 + bl sub_802B8D4 + movs r0, 0x1 +_0802B706: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0802B710: .4byte gUnknown_203B2CC +_0802B714: .4byte gUnknown_80DFBEC +_0802B718: .4byte gUnknown_203B2D0 +_0802B71C: .4byte gUnknown_203B2D2 + thumb_func_end sub_802B640 + + thumb_func_start sub_802B720 +sub_802B720: + push {lr} + lsls r0, 24 + cmp r0, 0 + bne _0802B73C + ldr r0, _0802B738 + ldr r0, [r0] + adds r0, 0x38 + bl sub_8013660 + movs r0, 0 + b _0802B7A2 + .align 2, 0 +_0802B738: .4byte gUnknown_203B2CC +_0802B73C: + ldr r0, _0802B754 + ldr r0, [r0] + adds r0, 0x38 + bl GetKeyPress + cmp r0, 0x2 + beq _0802B75E + cmp r0, 0x2 + bgt _0802B758 + cmp r0, 0x1 + beq _0802B768 + b _0802B77C + .align 2, 0 +_0802B754: .4byte gUnknown_203B2CC +_0802B758: + cmp r0, 0x4 + beq _0802B772 + b _0802B77C +_0802B75E: + movs r0, 0x1 + bl sub_80119D4 + movs r0, 0x2 + b _0802B7A2 +_0802B768: + movs r0, 0 + bl sub_80119D4 + movs r0, 0x3 + b _0802B7A2 +_0802B772: + movs r0, 0x4 + bl sub_80119D4 + movs r0, 0x4 + b _0802B7A2 +_0802B77C: + ldr r0, _0802B794 + ldr r0, [r0] + adds r0, 0x38 + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _0802B798 + movs r0, 0 + b _0802B7A2 + .align 2, 0 +_0802B794: .4byte gUnknown_203B2CC +_0802B798: + bl sub_802B880 + bl sub_802B8D4 + movs r0, 0x1 +_0802B7A2: + pop {r1} + bx r1 + thumb_func_end sub_802B720 + + thumb_func_start sub_802B7A8 +sub_802B7A8: + ldr r0, _0802B7CC + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x56 + 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, 0x50 + movs r3, 0 + ldrsh r1, [r1, r3] + adds r0, r1 + adds r0, r2, r0 + ldrb r0, [r0] + bx lr + .align 2, 0 +_0802B7CC: .4byte gUnknown_203B2CC + thumb_func_end sub_802B7A8 + + thumb_func_start sub_802B7D0 +sub_802B7D0: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_8004914 + ldr r5, _0802B818 + ldr r0, [r5] + adds r0, 0x74 + movs r1, 0 + movs r2, 0 + bl sub_800641C + bl sub_802B9A8 + adds r1, r0, 0 + ldr r0, [r5] + adds r2, r0, 0 + adds r2, 0x5A + strh r1, [r2] + adds r0, 0x38 + bl sub_8013984 + bl sub_802B880 + bl sub_802B8D4 + cmp r4, 0 + beq _0802B812 + ldr r0, [r5] + adds r0, 0x38 + bl AddMenuCursorSprite +_0802B812: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802B818: .4byte gUnknown_203B2CC + thumb_func_end sub_802B7D0 + + thumb_func_start sub_802B81C +sub_802B81C: + push {r4,r5,lr} + ldr r4, _0802B870 + ldr r2, [r4] + cmp r2, 0 + beq _0802B86A + ldr r1, _0802B874 + adds r0, r2, 0 + adds r0, 0x50 + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _0802B878 + adds r0, r2, 0 + adds r0, 0x56 + ldrh r0, [r0] + strh r0, [r1] + ldr r0, [r2, 0x6C] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x74 + ldr r0, _0802B87C + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x74 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802B86A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802B870: .4byte gUnknown_203B2CC +_0802B874: .4byte gUnknown_203B2D0 +_0802B878: .4byte gUnknown_203B2D2 +_0802B87C: .4byte gUnknown_80DFBD0 + thumb_func_end sub_802B81C + + thumb_func_start sub_802B880 +sub_802B880: + push {r4,lr} + ldr r4, _0802B8D0 + ldr r0, [r4] + adds r0, 0x52 + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0xC + bl sub_80095E4 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x6C] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x82 + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x6C] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x84 + strh r3, [r2] + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x74 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802B8D0: .4byte gUnknown_203B2CC + thumb_func_end sub_802B880 + + thumb_func_start sub_802B8D4 +sub_802B8D4: + push {r4-r7,lr} + sub sp, 0x8 + ldr r4, _0802B99C + ldr r0, [r4] + ldr r0, [r0, 0x6C] + bl sub_8008C54 + ldr r0, [r4] + ldr r0, [r0, 0x6C] + bl sub_80073B8 + ldr r2, _0802B9A0 + ldr r0, [r4] + ldr r3, [r0, 0x6C] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + movs r1, 0 + bl xxx_call_draw_string + ldr r0, _0802B9A4 + ldrb r0, [r0, 0x2] + lsls r0, 3 + adds r0, 0x4 + ldr r3, [r4] + adds r1, r3, 0 + adds r1, 0x56 + movs r5, 0 + ldrsh r2, [r1, r5] + adds r2, 0x1 + movs r1, 0x7 + str r1, [sp] + ldr r1, [r3, 0x6C] + str r1, [sp, 0x4] + movs r1, 0 + movs r3, 0x2 + bl sub_8012BC4 + movs r6, 0 + ldr r0, [r4] + adds r0, 0x52 + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r6, r0 + bge _0802B98A + adds r7, r4, 0 +_0802B930: + ldr r0, [r7] + adds r0, 0x38 + adds r1, r6, 0 + bl sub_8013800 + adds r5, r0, 0 + ldr r1, [r7] + adds r0, r1, 0 + adds r0, 0x56 + movs r3, 0 + ldrsh r2, [r0, r3] + subs r0, 0x2 + movs r3, 0 + ldrsh r0, [r0, r3] + muls r0, r2 + adds r0, r6 + adds r0, r1, r0 + ldrb r4, [r0] + ldr r3, [r1, 0x6C] + movs r0, 0xA + adds r1, r5, 0 + movs r2, 0x6 + bl sub_803B6B0 + bl sub_802BC7C + adds r0, r4, 0 + bl sub_803C190 + adds r2, r0, 0 + ldr r0, [r7] + ldr r3, [r0, 0x6C] + movs r0, 0 + str r0, [sp] + movs r0, 0x15 + adds r1, r5, 0 + bl sub_8014FF0 + adds r6, 0x1 + ldr r0, [r7] + adds r0, 0x52 + movs r5, 0 + ldrsh r0, [r0, r5] + cmp r6, r0 + blt _0802B930 +_0802B98A: + ldr r0, _0802B99C + ldr r0, [r0] + ldr r0, [r0, 0x6C] + bl sub_80073E0 + add sp, 0x8 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802B99C: .4byte gUnknown_203B2CC +_0802B9A0: .4byte gUnknown_80DFC04 +_0802B9A4: .4byte gUnknown_80DFBE8 + thumb_func_end sub_802B8D4 + + thumb_func_start sub_802B9A8 +sub_802B9A8: + push {r4,r5,lr} + movs r5, 0 + movs r4, 0 +_0802B9AE: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096E14 + lsls r0, 24 + cmp r0, 0 + beq _0802B9C6 + ldr r0, _0802B9D4 + ldr r0, [r0] + adds r0, r5 + strb r4, [r0] + adds r5, 0x1 +_0802B9C6: + adds r4, 0x1 + cmp r4, 0x37 + ble _0802B9AE + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0802B9D4: .4byte gUnknown_203B2CC + thumb_func_end sub_802B9A8 + + thumb_func_start sub_802B9D8 +sub_802B9D8: + push {r4,lr} + movs r4, 0 +_0802B9DC: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096E14 + lsls r0, 24 + cmp r0, 0 + beq _0802B9EE + movs r0, 0 + b _0802B9F6 +_0802B9EE: + adds r4, 0x1 + cmp r4, 0x37 + ble _0802B9DC + movs r0, 0x1 +_0802B9F6: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_802B9D8 + + thumb_func_start sub_802B9FC +sub_802B9FC: + push {r4-r7,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r5, _0802BA80 + movs r0, 0x94 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r6, 0 + strb r4, [r0, 0x4] + ldr r0, [r5] + adds r0, 0x88 + bl sub_801317C + ldr r1, [r5] + str r6, [r1, 0x24] + adds r1, 0x28 + ldr r0, _0802BA84 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldr r1, [r5] + ldr r2, _0802BA88 + adds r1, 0x40 + adds r0, r2, 0 + ldm r0!, {r3,r4,r7} + stm r1!, {r3,r4,r7} + ldm r0!, {r3,r4,r7} + stm r1!, {r3,r4,r7} + ldr r1, [r5] + adds r1, 0x58 + adds r0, r2, 0 + ldm r0!, {r3,r4,r7} + stm r1!, {r3,r4,r7} + ldm r0!, {r3,r4,r7} + stm r1!, {r3,r4,r7} + ldr r0, [r5] + adds r0, 0x70 + ldm r2!, {r1,r4,r7} + stm r0!, {r1,r4,r7} + ldm r2!, {r3,r4,r7} + stm r0!, {r3,r4,r7} + bl sub_8004914 + ldr r0, [r5] + adds r0, 0x28 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r5] + str r6, [r0, 0x8] + bl sub_802BCC4 + bl sub_802BC7C + movs r0, 0 + bl sub_802BB14 + movs r0, 0x1 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0802BA80: .4byte gUnknown_203B2D4 +_0802BA84: .4byte gUnknown_80DFC34 +_0802BA88: .4byte gUnknown_80DFC18 + thumb_func_end sub_802B9FC + + thumb_func_start sub_802BA8C +sub_802BA8C: + push {lr} + ldr r0, _0802BAA4 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x1 + beq _0802BAB8 + cmp r0, 0x1 + bgt _0802BAA8 + cmp r0, 0 + beq _0802BAB2 + b _0802BAC2 + .align 2, 0 +_0802BAA4: .4byte gUnknown_203B2D4 +_0802BAA8: + cmp r0, 0x2 + beq _0802BAC2 + cmp r0, 0x3 + beq _0802BABE + b _0802BAC2 +_0802BAB2: + bl sub_802BB98 + b _0802BAC6 +_0802BAB8: + bl sub_802BC08 + b _0802BAC6 +_0802BABE: + movs r0, 0x3 + b _0802BAC8 +_0802BAC2: + movs r0, 0x2 + b _0802BAC8 +_0802BAC6: + movs r0, 0 +_0802BAC8: + pop {r1} + bx r1 + thumb_func_end sub_802BA8C + + thumb_func_start sub_802BACC +sub_802BACC: + push {r4,r5,lr} + ldr r4, _0802BB0C + ldr r2, [r4] + cmp r2, 0 + beq _0802BB06 + ldr r0, [r2, 0x24] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x28 + ldr r0, _0802BB10 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x28 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802BB06: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802BB0C: .4byte gUnknown_203B2D4 +_0802BB10: .4byte gUnknown_80DFC18 + thumb_func_end sub_802BACC + + thumb_func_start sub_802BB14 +sub_802BB14: + push {lr} + ldr r1, _0802BB24 + ldr r1, [r1] + str r0, [r1] + bl sub_802BB28 + pop {r0} + bx r0 + .align 2, 0 +_0802BB24: .4byte gUnknown_203B2D4 + thumb_func_end sub_802BB14 + + thumb_func_start sub_802BB28 +sub_802BB28: + push {r4,r5,lr} + sub sp, 0x4 + ldr r5, _0802BB94 + ldr r1, [r5] + ldr r0, [r1] + cmp r0, 0 + blt _0802BB8C + cmp r0, 0x1 + bgt _0802BB8C + ldr r0, [r1, 0x24] + bl sub_8008C54 + ldr r0, [r5] + ldr r0, [r0, 0x24] + bl sub_80073B8 + ldr r0, [r5] + ldrb r0, [r0, 0x4] + bl sub_803C190 + adds r2, r0, 0 + ldr r0, [r5] + ldr r3, [r0, 0x24] + movs r4, 0 + str r4, [sp] + movs r0, 0xA + movs r1, 0 + bl sub_8014FF0 + ldr r3, [r5] + ldr r1, [r3, 0x8] + lsls r1, 2 + adds r0, r3, 0 + adds r0, 0x10 + adds r0, r1 + ldr r2, [r0] + ldr r3, [r3, 0x24] + str r4, [sp] + movs r0, 0x6 + movs r1, 0x14 + bl sub_8014FF0 + ldr r0, [r5] + ldr r0, [r0, 0x24] + bl sub_80073E0 + ldr r1, [r5] + ldr r0, [r1, 0x8] + adds r0, 0x1 + str r0, [r1, 0x8] +_0802BB8C: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802BB94: .4byte gUnknown_203B2D4 + thumb_func_end sub_802BB28 + + thumb_func_start sub_802BB98 +sub_802BB98: + push {r4,lr} + ldr r0, _0802BBD4 + ldr r2, [r0] + ldr r1, [r2, 0xC] + adds r4, r0, 0 + cmp r1, 0 + beq _0802BBBC + ldr r0, [r2, 0x20] + movs r1, 0x8 + ands r0, r1 + cmp r0, 0 + beq _0802BBB4 + bl sub_8013E54 +_0802BBB4: + ldr r1, [r4] + ldr r0, [r1, 0x20] + adds r0, 0x1 + str r0, [r1, 0x20] +_0802BBBC: + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x88 + ldr r1, [r1, 0x24] + bl sub_8012A64 + cmp r0, 0x1 + beq _0802BBD8 + cmp r0, 0x2 + beq _0802BBF6 + b _0802BC02 + .align 2, 0 +_0802BBD4: .4byte gUnknown_203B2D4 +_0802BBD8: + movs r0, 0 + bl sub_80119D4 + ldr r0, [r4] + ldr r0, [r0, 0xC] + cmp r0, 0 + beq _0802BBEE + movs r0, 0x1 + bl sub_802BB14 + b _0802BC02 +_0802BBEE: + movs r0, 0x3 + bl sub_802BB14 + b _0802BC02 +_0802BBF6: + movs r0, 0x1 + bl sub_80119D4 + movs r0, 0x2 + bl sub_802BB14 +_0802BC02: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802BB98 + + thumb_func_start sub_802BC08 +sub_802BC08: + push {r4,lr} + ldr r0, _0802BC44 + ldr r3, [r0] + ldr r2, [r3, 0x8] + ldr r1, [r3, 0xC] + adds r4, r0, 0 + cmp r2, r1 + bge _0802BC2E + ldr r0, [r3, 0x20] + movs r1, 0x8 + ands r0, r1 + cmp r0, 0 + beq _0802BC26 + bl sub_8013E54 +_0802BC26: + ldr r1, [r4] + ldr r0, [r1, 0x20] + adds r0, 0x1 + str r0, [r1, 0x20] +_0802BC2E: + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x88 + ldr r1, [r1, 0x24] + bl sub_8012A64 + cmp r0, 0x1 + beq _0802BC48 + cmp r0, 0x2 + beq _0802BC68 + b _0802BC74 + .align 2, 0 +_0802BC44: .4byte gUnknown_203B2D4 +_0802BC48: + movs r0, 0 + bl sub_80119D4 + ldr r0, [r4] + ldr r1, [r0, 0x8] + ldr r0, [r0, 0xC] + cmp r1, r0 + bge _0802BC60 + movs r0, 0x1 + bl sub_802BB14 + b _0802BC74 +_0802BC60: + movs r0, 0x3 + bl sub_802BB14 + b _0802BC74 +_0802BC68: + movs r0, 0x1 + bl sub_80119D4 + movs r0, 0x2 + bl sub_802BB14 +_0802BC74: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802BC08 + + thumb_func_start sub_802BC7C +sub_802BC7C: + push {r4,lr} + ldr r4, _0802BCA4 + bl sub_808D3BC + adds r1, r0, 0 + adds r0, r4, 0 + bl sub_808DA34 + ldr r0, _0802BCA8 + ldr r0, [r0] + ldrb r0, [r0, 0xB] + cmp r0, 0x1 + bne _0802BCB0 + adds r0, r4, 0 + adds r0, 0x50 + ldr r1, _0802BCAC + bl strcpy + b _0802BCBA + .align 2, 0 +_0802BCA4: .4byte gUnknown_202DF98 +_0802BCA8: .4byte gUnknown_203B46C +_0802BCAC: .4byte gUnknown_80DFC4C +_0802BCB0: + adds r0, r4, 0 + adds r0, 0x50 + ldr r1, _0802BCC0 + bl strcpy +_0802BCBA: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802BCC0: .4byte gUnknown_80DFC50 + thumb_func_end sub_802BC7C + + thumb_func_start sub_802BCC4 +sub_802BCC4: + push {r4,lr} + ldr r4, _0802BCDC + ldr r0, [r4] + ldrb r0, [r0, 0x4] + bl sub_803C1A0 + adds r3, r0, 0 + ldr r1, [r4] + movs r0, 0 + str r0, [r1, 0xC] + str r3, [r1, 0x10] + b _0802BD08 + .align 2, 0 +_0802BCDC: .4byte gUnknown_203B2D4 +_0802BCE0: + cmp r0, 0x23 + bne _0802BD06 + ldrb r2, [r3, 0x1] + cmp r2, 0x50 + beq _0802BCF0 + adds r1, r3, 0x2 + cmp r2, 0x70 + bne _0802BD02 +_0802BCF0: + ldr r0, [r4] + ldr r1, [r0, 0xC] + adds r1, 0x1 + str r1, [r0, 0xC] + lsls r1, 2 + adds r0, 0x10 + adds r0, r1 + adds r1, r3, 0x2 + str r1, [r0] +_0802BD02: + adds r3, r1, 0 + b _0802BD08 +_0802BD06: + adds r3, 0x1 +_0802BD08: + ldrb r0, [r3] + cmp r0, 0 + bne _0802BCE0 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802BCC4 + + thumb_func_start sub_802BD14 +sub_802BD14: + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + adds r4, r1, 0 + mov r8, r2 + bl sub_802C0E8 + lsls r0, 24 + cmp r0, 0 + beq _0802BD2E + movs r0, 0 + b _0802BDD4 +_0802BD2E: + ldr r5, _0802BDE0 + ldr r0, [r5] + cmp r0, 0 + bne _0802BD40 + movs r0, 0xA4 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] +_0802BD40: + ldr r0, [r5] + str r6, [r0, 0x38] + lsls r1, r6, 1 + adds r1, r6 + lsls r1, 3 + adds r1, 0x40 + adds r1, r0, r1 + str r1, [r0, 0x3C] + adds r0, 0x40 + bl sub_8006518 + ldr r1, [r5] + ldr r2, [r1, 0x38] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x40 + ldr r0, _0802BDE4 + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldr r2, [r5] + ldr r1, [r2, 0x3C] + adds r0, r2, 0 + adds r0, 0xA0 + str r0, [r1, 0x14] + cmp r4, 0 + beq _0802BD8E + ldr r1, [r2, 0x38] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r1, r2, 0 + adds r1, 0x48 + adds r1, r0 + ldr r0, [r4] + str r0, [r1] +_0802BD8E: + ldr r0, [r5] + ldr r0, [r0, 0x3C] + mov r1, r8 + bl sub_8012D34 + bl sub_8004914 + ldr r0, [r5] + adds r0, 0x40 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, [r5] + adds r4, 0x4 + bl sub_802C0B8 + adds r1, r0, 0 + adds r0, r4, 0 + mov r2, r8 + adds r3, r6, 0 + bl sub_8013848 + ldr r0, [r5] + ldr r1, _0802BDE8 + ldrh r1, [r1] + strh r1, [r0, 0x1C] + adds r0, 0x4 + bl sub_8013984 + bl sub_802BF30 + bl sub_802BFA0 + movs r0, 0x1 +_0802BDD4: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0802BDE0: .4byte gUnknown_203B2D8 +_0802BDE4: .4byte gUnknown_80DFC74 +_0802BDE8: .4byte gUnknown_203B2DC + thumb_func_end sub_802BD14 + + thumb_func_start sub_802BDEC +sub_802BDEC: + push {lr} + lsls r0, 24 + cmp r0, 0 + bne _0802BE08 + ldr r0, _0802BE04 + ldr r0, [r0] + adds r0, 0x4 + bl sub_8013660 + movs r0, 0 + b _0802BE6E + .align 2, 0 +_0802BE04: .4byte gUnknown_203B2D8 +_0802BE08: + ldr r0, _0802BE20 + ldr r0, [r0] + adds r0, 0x4 + bl GetKeyPress + cmp r0, 0x2 + beq _0802BE2A + cmp r0, 0x2 + bgt _0802BE24 + cmp r0, 0x1 + beq _0802BE34 + b _0802BE48 + .align 2, 0 +_0802BE20: .4byte gUnknown_203B2D8 +_0802BE24: + cmp r0, 0x4 + beq _0802BE3E + b _0802BE48 +_0802BE2A: + movs r0, 0x1 + bl sub_80119D4 + movs r0, 0x2 + b _0802BE6E +_0802BE34: + movs r0, 0 + bl sub_80119D4 + movs r0, 0x3 + b _0802BE6E +_0802BE3E: + movs r0, 0x4 + bl sub_80119D4 + movs r0, 0x4 + b _0802BE6E +_0802BE48: + ldr r0, _0802BE60 + ldr r0, [r0] + adds r0, 0x4 + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _0802BE64 + movs r0, 0 + b _0802BE6E + .align 2, 0 +_0802BE60: .4byte gUnknown_203B2D8 +_0802BE64: + bl sub_802BF30 + bl sub_802BFA0 + movs r0, 0x1 +_0802BE6E: + pop {r1} + bx r1 + thumb_func_end sub_802BDEC + + thumb_func_start sub_802BE74 +sub_802BE74: + ldr r0, _0802BE90 + ldr r1, [r0] + movs r0, 0x22 + ldrsh r2, [r1, r0] + movs r3, 0x20 + ldrsh r0, [r1, r3] + muls r0, r2 + movs r3, 0x1C + ldrsh r2, [r1, r3] + adds r0, r2 + adds r1, r0 + ldrb r0, [r1] + bx lr + .align 2, 0 +_0802BE90: .4byte gUnknown_203B2D8 + thumb_func_end sub_802BE74 + + thumb_func_start sub_802BE94 +sub_802BE94: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_8004914 + ldr r5, _0802BED8 + ldr r0, [r5] + adds r0, 0x40 + movs r1, 0 + movs r2, 0 + bl sub_800641C + bl sub_802C0B8 + adds r1, r0, 0 + ldr r0, [r5] + strh r1, [r0, 0x26] + adds r0, 0x4 + bl sub_8013984 + bl sub_802BF30 + bl sub_802BFA0 + cmp r4, 0 + beq _0802BED2 + ldr r0, [r5] + adds r0, 0x4 + bl AddMenuCursorSprite +_0802BED2: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802BED8: .4byte gUnknown_203B2D8 + thumb_func_end sub_802BE94 + + thumb_func_start sub_802BEDC +sub_802BEDC: + push {r4,r5,lr} + ldr r4, _0802BF24 + ldr r2, [r4] + cmp r2, 0 + beq _0802BF1C + ldr r1, _0802BF28 + ldrh r0, [r2, 0x1C] + strh r0, [r1] + ldr r0, [r2, 0x38] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x40 + ldr r0, _0802BF2C + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x40 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802BF1C: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802BF24: .4byte gUnknown_203B2D8 +_0802BF28: .4byte gUnknown_203B2DC +_0802BF2C: .4byte gUnknown_80DFC5C + thumb_func_end sub_802BEDC + + thumb_func_start sub_802BF30 +sub_802BF30: + push {r4,lr} + ldr r4, _0802BF9C + ldr r0, [r4] + adds r0, 0xA0 + movs r2, 0 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xA1 + strb r2, [r0] + ldr r0, [r4] + adds r0, 0xA2 + movs r1, 0xC + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xA3 + strb r2, [r0] + ldr r0, [r4] + movs r1, 0x1E + ldrsh r0, [r0, r1] + movs r1, 0x18 + bl sub_8009614 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x38] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x4E + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x38] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x50 + strh r3, [r2] + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x40 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802BF9C: .4byte gUnknown_203B2D8 + thumb_func_end sub_802BF30 + + thumb_func_start sub_802BFA0 +sub_802BFA0: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0xDC + ldr r4, _0802C060 + ldr r0, [r4] + ldr r0, [r0, 0x38] + bl sub_8008C54 + ldr r0, [r4] + ldr r0, [r0, 0x38] + bl sub_80073B8 + ldr r1, [r4] + movs r2, 0x22 + ldrsh r0, [r1, r2] + lsls r0, 3 + adds r0, 0xA + ldr r2, _0802C064 + ldr r3, [r1, 0x38] + movs r1, 0 + str r1, [sp] + bl xxx_call_draw_string + movs r6, 0 + ldr r0, [r4] + movs r3, 0x1E + ldrsh r0, [r0, r3] + cmp r6, r0 + bge _0802C09A + adds r7, r4, 0 + ldr r0, _0802C068 + mov r9, r0 + add r1, sp, 0x5C + mov r8, r1 +_0802BFE8: + ldr r1, [r7] + movs r3, 0x22 + ldrsh r2, [r1, r3] + movs r3, 0x20 + ldrsh r0, [r1, r3] + muls r0, r2 + adds r0, r6 + adds r1, r0 + ldrb r0, [r1] + bl sub_8095FE8 + adds r5, r0, 0 + ldr r0, [r7] + ldr r1, [r0, 0x38] + str r1, [sp, 0x4] + adds r0, 0x4 + adds r1, r6, 0 + bl sub_8013800 + str r0, [sp, 0x4C] + ldrb r0, [r5] + cmp r0, 0x1 + bne _0802C06C + ldr r0, [r7] + adds r0, 0x4 + adds r1, r6, 0 + bl sub_8013800 + adds r4, r0, 0 + ldr r0, [r7] + ldr r3, [r0, 0x38] + movs r0, 0xA + adds r1, r4, 0 + movs r2, 0x6 + bl sub_803B6B0 + bl sub_808D33C + adds r1, r0, 0 + mov r0, r9 + bl sub_808DA34 + ldrb r0, [r5, 0x5] + bl sub_803C190 + adds r1, r0, 0 + mov r0, r8 + mov r2, r9 + bl sub_800D158 + ldr r0, [r7] + ldr r3, [r0, 0x38] + movs r0, 0 + str r0, [sp] + movs r0, 0x15 + adds r1, r4, 0 + mov r2, r8 + bl xxx_call_draw_string + b _0802C08E + .align 2, 0 +_0802C060: .4byte gUnknown_203B2D8 +_0802C064: .4byte gUnknown_80DFC8C +_0802C068: .4byte gUnknown_202DF98 +_0802C06C: + adds r0, r5, 0 + add r1, sp, 0x4 + bl sub_803B35C + adds r0, r5, 0 + bl sub_80968B0 + lsls r0, 24 + cmp r0, 0 + beq _0802C088 + mov r1, sp + adds r1, 0x47 + movs r0, 0x2 + strb r0, [r1] +_0802C088: + add r0, sp, 0x4 + bl sub_803B6D4 +_0802C08E: + adds r6, 0x1 + ldr r0, [r7] + movs r1, 0x1E + ldrsh r0, [r0, r1] + cmp r6, r0 + blt _0802BFE8 +_0802C09A: + ldr r0, _0802C0B4 + ldr r0, [r0] + ldr r0, [r0, 0x38] + bl sub_80073E0 + add sp, 0xDC + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802C0B4: .4byte gUnknown_203B2D8 + thumb_func_end sub_802BFA0 + + thumb_func_start sub_802C0B8 +sub_802C0B8: + push {r4,r5,lr} + movs r5, 0 + movs r4, 0 +_0802C0BE: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096000 + lsls r0, 24 + cmp r0, 0 + bne _0802C0D6 + ldr r0, _0802C0E4 + ldr r0, [r0] + adds r0, r5 + strb r4, [r0] + adds r5, 0x1 +_0802C0D6: + adds r4, 0x1 + cmp r4, 0x3 + ble _0802C0BE + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0802C0E4: .4byte gUnknown_203B2D8 + thumb_func_end sub_802C0B8 + + thumb_func_start sub_802C0E8 +sub_802C0E8: + push {r4,lr} + movs r4, 0 +_0802C0EC: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096000 + lsls r0, 24 + cmp r0, 0 + bne _0802C0FE + movs r0, 0 + b _0802C106 +_0802C0FE: + adds r4, 0x1 + cmp r4, 0x3 + ble _0802C0EC + movs r0, 0x1 +_0802C106: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_802C0E8 + + thumb_func_start sub_802C10C +sub_802C10C: + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + adds r4, r1, 0 + mov r8, r2 + bl sub_802C4A4 + lsls r0, 24 + cmp r0, 0 + beq _0802C126 + movs r0, 0 + b _0802C1CC +_0802C126: + ldr r5, _0802C1D8 + ldr r0, [r5] + cmp r0, 0 + bne _0802C138 + movs r0, 0xA8 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] +_0802C138: + ldr r0, [r5] + str r6, [r0, 0x3C] + lsls r1, r6, 1 + adds r1, r6 + lsls r1, 3 + adds r1, 0x44 + adds r1, r0, r1 + str r1, [r0, 0x40] + adds r0, 0x44 + bl sub_8006518 + ldr r1, [r5] + ldr r2, [r1, 0x3C] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x44 + ldr r0, _0802C1DC + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldr r2, [r5] + ldr r1, [r2, 0x40] + adds r0, r2, 0 + adds r0, 0xA4 + str r0, [r1, 0x14] + cmp r4, 0 + beq _0802C186 + ldr r1, [r2, 0x3C] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r1, r2, 0 + adds r1, 0x4C + adds r1, r0 + ldr r0, [r4] + str r0, [r1] +_0802C186: + ldr r0, [r5] + ldr r0, [r0, 0x40] + mov r1, r8 + bl sub_8012D34 + bl sub_8004914 + ldr r0, [r5] + adds r0, 0x44 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, [r5] + adds r4, 0x8 + bl sub_802C474 + adds r1, r0, 0 + adds r0, r4, 0 + mov r2, r8 + adds r3, r6, 0 + bl sub_8013848 + ldr r0, [r5] + ldr r1, _0802C1E0 + ldrh r1, [r1] + strh r1, [r0, 0x20] + adds r0, 0x8 + bl sub_8013984 + bl sub_802C328 + bl sub_802C39C + movs r0, 0x1 +_0802C1CC: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0802C1D8: .4byte gUnknown_203B2E0 +_0802C1DC: .4byte gUnknown_80DFCB4 +_0802C1E0: .4byte gUnknown_203B2E4 + thumb_func_end sub_802C10C + + thumb_func_start sub_802C1E4 +sub_802C1E4: + push {lr} + lsls r0, 24 + cmp r0, 0 + bne _0802C200 + ldr r0, _0802C1FC + ldr r0, [r0] + adds r0, 0x8 + bl sub_8013660 + movs r0, 0 + b _0802C266 + .align 2, 0 +_0802C1FC: .4byte gUnknown_203B2E0 +_0802C200: + ldr r0, _0802C218 + ldr r0, [r0] + adds r0, 0x8 + bl GetKeyPress + cmp r0, 0x2 + beq _0802C222 + cmp r0, 0x2 + bgt _0802C21C + cmp r0, 0x1 + beq _0802C22C + b _0802C240 + .align 2, 0 +_0802C218: .4byte gUnknown_203B2E0 +_0802C21C: + cmp r0, 0x4 + beq _0802C236 + b _0802C240 +_0802C222: + movs r0, 0x1 + bl sub_80119D4 + movs r0, 0x2 + b _0802C266 +_0802C22C: + movs r0, 0 + bl sub_80119D4 + movs r0, 0x3 + b _0802C266 +_0802C236: + movs r0, 0x4 + bl sub_80119D4 + movs r0, 0x4 + b _0802C266 +_0802C240: + ldr r0, _0802C258 + ldr r0, [r0] + adds r0, 0x8 + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _0802C25C + movs r0, 0 + b _0802C266 + .align 2, 0 +_0802C258: .4byte gUnknown_203B2E0 +_0802C25C: + bl sub_802C328 + bl sub_802C39C + movs r0, 0x1 +_0802C266: + pop {r1} + bx r1 + thumb_func_end sub_802C1E4 + + thumb_func_start sub_802C26C +sub_802C26C: + ldr r0, _0802C288 + ldr r1, [r0] + movs r0, 0x26 + ldrsh r2, [r1, r0] + movs r3, 0x24 + ldrsh r0, [r1, r3] + muls r0, r2 + movs r3, 0x20 + ldrsh r2, [r1, r3] + adds r0, r2 + adds r1, r0 + ldrb r0, [r1] + bx lr + .align 2, 0 +_0802C288: .4byte gUnknown_203B2E0 + thumb_func_end sub_802C26C + + thumb_func_start sub_802C28C +sub_802C28C: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_8004914 + ldr r5, _0802C2D0 + ldr r0, [r5] + adds r0, 0x44 + movs r1, 0 + movs r2, 0 + bl sub_800641C + bl sub_802C474 + adds r1, r0, 0 + ldr r0, [r5] + strh r1, [r0, 0x2A] + adds r0, 0x8 + bl sub_8013984 + bl sub_802C328 + bl sub_802C39C + cmp r4, 0 + beq _0802C2CA + ldr r0, [r5] + adds r0, 0x8 + bl AddMenuCursorSprite +_0802C2CA: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802C2D0: .4byte gUnknown_203B2E0 + thumb_func_end sub_802C28C + + thumb_func_start sub_802C2D4 +sub_802C2D4: + push {r4,r5,lr} + ldr r4, _0802C31C + ldr r2, [r4] + cmp r2, 0 + beq _0802C314 + ldr r1, _0802C320 + ldrh r0, [r2, 0x20] + strh r0, [r1] + ldr r0, [r2, 0x3C] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x44 + ldr r0, _0802C324 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x44 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802C314: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802C31C: .4byte gUnknown_203B2E0 +_0802C320: .4byte gUnknown_203B2E4 +_0802C324: .4byte gUnknown_80DFC9C + thumb_func_end sub_802C2D4 + + thumb_func_start sub_802C328 +sub_802C328: + push {r4,lr} + ldr r4, _0802C398 + ldr r0, [r4] + ldrh r1, [r0, 0x28] + adds r0, 0xA4 + movs r2, 0 + strb r1, [r0] + ldr r0, [r4] + ldrh r1, [r0, 0x26] + adds r0, 0xA5 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xA6 + movs r1, 0xC + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xA7 + strb r2, [r0] + ldr r0, [r4] + movs r1, 0x22 + ldrsh r0, [r0, r1] + movs r1, 0x18 + bl sub_8009614 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x3C] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x52 + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x3C] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x54 + strh r3, [r2] + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x44 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802C398: .4byte gUnknown_203B2E0 + thumb_func_end sub_802C328 + + thumb_func_start sub_802C39C +sub_802C39C: + push {r4-r7,lr} + sub sp, 0x60 + ldr r7, _0802C3F8 + ldr r0, [r7] + ldr r0, [r0, 0x3C] + bl sub_8008C54 + ldr r0, [r7] + ldr r0, [r0, 0x3C] + bl sub_80073B8 + ldr r0, [r7] + movs r1, 0x26 + ldrsh r4, [r0, r1] + lsls r4, 3 + adds r5, r4, 0 + adds r5, 0xA + ldr r2, _0802C3FC + ldr r3, [r0, 0x3C] + movs r0, 0 + str r0, [sp] + adds r0, r5, 0 + movs r1, 0 + bl xxx_call_draw_string + adds r4, 0x4 + ldr r1, [r7] + adds r0, r1, 0 + adds r0, 0xA6 + ldrb r0, [r0] + lsls r0, 3 + adds r5, r4, r0 + movs r3, 0x26 + ldrsh r2, [r1, r3] + adds r2, 0x1 + movs r0, 0x7 + str r0, [sp] + ldr r0, [r1, 0x3C] + str r0, [sp, 0x4] + adds r0, r5, 0 + movs r1, 0 + movs r3, 0x2 + bl sub_8012BC4 + movs r6, 0 + b _0802C452 + .align 2, 0 +_0802C3F8: .4byte gUnknown_203B2E0 +_0802C3FC: .4byte gUnknown_80DFCCC +_0802C400: + ldr r1, [r7] + movs r3, 0x26 + ldrsh r2, [r1, r3] + movs r3, 0x24 + ldrsh r0, [r1, r3] + muls r0, r2 + adds r0, r6 + adds r1, r0 + ldrb r5, [r1] + adds r0, r5, 0 + bl sub_8096574 + adds r4, r0, 0 + ldr r0, [r7] + ldr r1, [r0, 0x3C] + str r1, [sp, 0x8] + adds r0, 0x8 + adds r1, r6, 0 + bl sub_8013800 + str r0, [sp, 0x50] + adds r0, r4, 0 + add r1, sp, 0x8 + bl sub_803B35C + adds r0, r5, 0 + bl sub_8096574 + bl sub_80968B0 + lsls r0, 24 + cmp r0, 0 + beq _0802C44A + mov r1, sp + adds r1, 0x4B + movs r0, 0x2 + strb r0, [r1] +_0802C44A: + add r0, sp, 0x8 + bl sub_803B6D4 + adds r6, 0x1 +_0802C452: + ldr r0, [r7] + movs r1, 0x22 + ldrsh r0, [r0, r1] + cmp r6, r0 + blt _0802C400 + ldr r0, _0802C470 + ldr r0, [r0] + ldr r0, [r0, 0x3C] + bl sub_80073E0 + add sp, 0x60 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802C470: .4byte gUnknown_203B2E0 + thumb_func_end sub_802C39C + + thumb_func_start sub_802C474 +sub_802C474: + push {r4,r5,lr} + movs r5, 0 + movs r4, 0 +_0802C47A: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_809658C + lsls r0, 24 + cmp r0, 0 + bne _0802C492 + ldr r0, _0802C4A0 + ldr r0, [r0] + adds r0, r5 + strb r4, [r0] + adds r5, 0x1 +_0802C492: + adds r4, 0x1 + cmp r4, 0x7 + ble _0802C47A + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0802C4A0: .4byte gUnknown_203B2E0 + thumb_func_end sub_802C474 + + thumb_func_start sub_802C4A4 +sub_802C4A4: + push {r4,lr} + movs r4, 0 +_0802C4A8: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_809658C + lsls r0, 24 + cmp r0, 0 + bne _0802C4BA + movs r0, 0 + b _0802C4C2 +_0802C4BA: + adds r4, 0x1 + cmp r4, 0x7 + ble _0802C4A8 + movs r0, 0x1 +_0802C4C2: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_802C4A4 + + thumb_func_start sub_802C4C8 +sub_802C4C8: + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + adds r4, r1, 0 + mov r8, r2 + bl sub_802C83C + lsls r0, 24 + cmp r0, 0 + beq _0802C4E2 + movs r0, 0 + b _0802C580 +_0802C4E2: + ldr r5, _0802C58C + movs r0, 0xA8 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + str r6, [r0, 0x3C] + lsls r1, r6, 1 + adds r1, r6 + lsls r1, 3 + adds r1, 0x44 + adds r1, r0, r1 + str r1, [r0, 0x40] + adds r0, 0x44 + bl sub_8006518 + ldr r1, [r5] + ldr r2, [r1, 0x3C] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x44 + ldr r0, _0802C590 + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldr r2, [r5] + ldr r1, [r2, 0x40] + adds r0, r2, 0 + adds r0, 0xA4 + str r0, [r1, 0x14] + cmp r4, 0 + beq _0802C53A + ldr r1, [r2, 0x3C] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r1, r2, 0 + adds r1, 0x4C + adds r1, r0 + ldr r0, [r4] + str r0, [r1] +_0802C53A: + ldr r0, [r5] + ldr r0, [r0, 0x40] + mov r1, r8 + bl sub_8012D34 + bl sub_8004914 + ldr r0, [r5] + adds r0, 0x44 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, [r5] + adds r4, 0x8 + bl sub_802C80C + adds r1, r0, 0 + adds r0, r4, 0 + mov r2, r8 + adds r3, r6, 0 + bl sub_8013848 + ldr r0, [r5] + ldr r1, _0802C594 + ldrh r1, [r1] + strh r1, [r0, 0x20] + adds r0, 0x8 + bl sub_8013984 + bl sub_802C6DC + bl sub_802C750 + movs r0, 0x1 +_0802C580: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0802C58C: .4byte gUnknown_203B2E8 +_0802C590: .4byte gUnknown_80DFCFC +_0802C594: .4byte gUnknown_203B2EC + thumb_func_end sub_802C4C8 + + thumb_func_start sub_802C598 +sub_802C598: + push {lr} + lsls r0, 24 + cmp r0, 0 + bne _0802C5B4 + ldr r0, _0802C5B0 + ldr r0, [r0] + adds r0, 0x8 + bl sub_8013660 + movs r0, 0 + b _0802C61A + .align 2, 0 +_0802C5B0: .4byte gUnknown_203B2E8 +_0802C5B4: + ldr r0, _0802C5CC + ldr r0, [r0] + adds r0, 0x8 + bl GetKeyPress + cmp r0, 0x2 + beq _0802C5D6 + cmp r0, 0x2 + bgt _0802C5D0 + cmp r0, 0x1 + beq _0802C5E0 + b _0802C5F4 + .align 2, 0 +_0802C5CC: .4byte gUnknown_203B2E8 +_0802C5D0: + cmp r0, 0x4 + beq _0802C5EA + b _0802C5F4 +_0802C5D6: + movs r0, 0x1 + bl sub_80119D4 + movs r0, 0x2 + b _0802C61A +_0802C5E0: + movs r0, 0 + bl sub_80119D4 + movs r0, 0x3 + b _0802C61A +_0802C5EA: + movs r0, 0x4 + bl sub_80119D4 + movs r0, 0x4 + b _0802C61A +_0802C5F4: + ldr r0, _0802C60C + ldr r0, [r0] + adds r0, 0x8 + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _0802C610 + movs r0, 0 + b _0802C61A + .align 2, 0 +_0802C60C: .4byte gUnknown_203B2E8 +_0802C610: + bl sub_802C6DC + bl sub_802C750 + movs r0, 0x1 +_0802C61A: + pop {r1} + bx r1 + thumb_func_end sub_802C598 + + thumb_func_start sub_802C620 +sub_802C620: + ldr r0, _0802C63C + ldr r1, [r0] + movs r0, 0x26 + ldrsh r2, [r1, r0] + movs r3, 0x24 + ldrsh r0, [r1, r3] + muls r0, r2 + movs r3, 0x20 + ldrsh r2, [r1, r3] + adds r0, r2 + adds r1, r0 + ldrb r0, [r1] + bx lr + .align 2, 0 +_0802C63C: .4byte gUnknown_203B2E8 + thumb_func_end sub_802C620 + + thumb_func_start sub_802C640 +sub_802C640: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_8004914 + ldr r5, _0802C684 + ldr r0, [r5] + adds r0, 0x44 + movs r1, 0 + movs r2, 0 + bl sub_800641C + bl sub_802C80C + adds r1, r0, 0 + ldr r0, [r5] + strh r1, [r0, 0x2A] + adds r0, 0x8 + bl sub_8013984 + bl sub_802C6DC + bl sub_802C750 + cmp r4, 0 + beq _0802C67E + ldr r0, [r5] + adds r0, 0x8 + bl AddMenuCursorSprite +_0802C67E: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802C684: .4byte gUnknown_203B2E8 + thumb_func_end sub_802C640 + + thumb_func_start sub_802C688 +sub_802C688: + push {r4,r5,lr} + ldr r4, _0802C6D0 + ldr r2, [r4] + cmp r2, 0 + beq _0802C6C8 + ldr r1, _0802C6D4 + ldrh r0, [r2, 0x20] + strh r0, [r1] + ldr r0, [r2, 0x3C] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x44 + ldr r0, _0802C6D8 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x44 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802C6C8: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802C6D0: .4byte gUnknown_203B2E8 +_0802C6D4: .4byte gUnknown_203B2EC +_0802C6D8: .4byte gUnknown_80DFCE4 + thumb_func_end sub_802C688 + + thumb_func_start sub_802C6DC +sub_802C6DC: + push {r4,lr} + ldr r4, _0802C74C + ldr r0, [r4] + ldrh r1, [r0, 0x28] + adds r0, 0xA4 + movs r2, 0 + strb r1, [r0] + ldr r0, [r4] + ldrh r1, [r0, 0x26] + adds r0, 0xA5 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xA6 + movs r1, 0xC + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xA7 + strb r2, [r0] + ldr r0, [r4] + movs r1, 0x22 + ldrsh r0, [r0, r1] + movs r1, 0x18 + bl sub_8009614 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x3C] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x52 + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x3C] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x54 + strh r3, [r2] + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x44 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802C74C: .4byte gUnknown_203B2E8 + thumb_func_end sub_802C6DC + + thumb_func_start sub_802C750 +sub_802C750: + push {r4-r6,lr} + sub sp, 0x60 + ldr r6, _0802C7AC + ldr r0, [r6] + ldr r0, [r0, 0x3C] + bl sub_8008C54 + ldr r0, [r6] + ldr r0, [r0, 0x3C] + bl sub_80073B8 + ldr r0, [r6] + movs r1, 0x26 + ldrsh r4, [r0, r1] + lsls r4, 3 + adds r5, r4, 0 + adds r5, 0xA + ldr r2, _0802C7B0 + ldr r3, [r0, 0x3C] + movs r0, 0 + str r0, [sp] + adds r0, r5, 0 + movs r1, 0 + bl xxx_call_draw_string + adds r4, 0x4 + ldr r1, [r6] + adds r0, r1, 0 + adds r0, 0xA6 + ldrb r0, [r0] + lsls r0, 3 + adds r5, r4, r0 + movs r3, 0x26 + ldrsh r2, [r1, r3] + adds r2, 0x1 + movs r0, 0x7 + str r0, [sp] + ldr r0, [r1, 0x3C] + str r0, [sp, 0x4] + adds r0, r5, 0 + movs r1, 0 + movs r3, 0x2 + bl sub_8012BC4 + movs r5, 0 + b _0802C7EC + .align 2, 0 +_0802C7AC: .4byte gUnknown_203B2E8 +_0802C7B0: .4byte gUnknown_80DFD14 +_0802C7B4: + ldr r1, [r6] + movs r3, 0x26 + ldrsh r2, [r1, r3] + movs r3, 0x24 + ldrsh r0, [r1, r3] + muls r0, r2 + adds r0, r5 + adds r1, r0 + ldrb r0, [r1] + bl sub_8096AB4 + adds r4, r0, 0 + ldr r0, [r6] + ldr r1, [r0, 0x3C] + str r1, [sp, 0x8] + adds r0, 0x8 + adds r1, r5, 0 + bl sub_8013800 + str r0, [sp, 0x50] + adds r0, r4, 0 + add r1, sp, 0x8 + bl sub_803B35C + add r0, sp, 0x8 + bl sub_803B6D4 + adds r5, 0x1 +_0802C7EC: + ldr r0, [r6] + movs r1, 0x22 + ldrsh r0, [r0, r1] + cmp r5, r0 + blt _0802C7B4 + ldr r0, _0802C808 + ldr r0, [r0] + ldr r0, [r0, 0x3C] + bl sub_80073E0 + add sp, 0x60 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0802C808: .4byte gUnknown_203B2E8 + thumb_func_end sub_802C750 + + thumb_func_start sub_802C80C +sub_802C80C: + push {r4,r5,lr} + movs r5, 0 + movs r4, 0 +_0802C812: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096ACC + lsls r0, 24 + cmp r0, 0 + bne _0802C82A + ldr r0, _0802C838 + ldr r0, [r0] + adds r0, r5 + strb r4, [r0] + adds r5, 0x1 +_0802C82A: + adds r4, 0x1 + cmp r4, 0x7 + ble _0802C812 + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0802C838: .4byte gUnknown_203B2E8 + thumb_func_end sub_802C80C + + thumb_func_start sub_802C83C +sub_802C83C: + push {r4,lr} + movs r4, 0 +_0802C840: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8096ACC + lsls r0, 24 + cmp r0, 0 + bne _0802C852 + movs r0, 0 + b _0802C85A +_0802C852: + adds r4, 0x1 + cmp r4, 0x7 + ble _0802C840 + movs r0, 0x1 +_0802C85A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_802C83C + + thumb_func_start sub_802C860 +sub_802C860: + push {r4-r6,lr} + adds r6, r0, 0 + bl sub_802C83C + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + bne _0802C890 + ldr r4, _0802C88C + movs r0, 0xFE + lsls r0, 1 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + str r5, [r0, 0x68] + str r6, [r0] + movs r0, 0 + bl sub_802C910 + movs r0, 0x1 + b _0802C892 + .align 2, 0 +_0802C88C: .4byte gUnknown_203B2F0 +_0802C890: + movs r0, 0 +_0802C892: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_802C860 + + thumb_func_start sub_802C898 +sub_802C898: + push {lr} + ldr r0, _0802C8B0 + ldr r0, [r0] + ldr r0, [r0, 0x4] + cmp r0, 0x5 + bhi _0802C8E8 + lsls r0, 2 + ldr r1, _0802C8B4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802C8B0: .4byte gUnknown_203B2F0 +_0802C8B4: .4byte _0802C8B8 + .align 2, 0 +_0802C8B8: + .4byte _0802C8D0 + .4byte _0802C8D0 + .4byte _0802C8D6 + .4byte _0802C8DC + .4byte _0802C8E2 + .4byte _0802C8E8 +_0802C8D0: + bl sub_802CC00 + b _0802C8EC +_0802C8D6: + bl sub_802CC70 + b _0802C8EC +_0802C8DC: + bl sub_802CD38 + b _0802C8EC +_0802C8E2: + bl sub_802CDB8 + b _0802C8EC +_0802C8E8: + movs r0, 0x3 + b _0802C8EE +_0802C8EC: + movs r0, 0 +_0802C8EE: + pop {r1} + bx r1 + thumb_func_end sub_802C898 + + thumb_func_start sub_802C8F4 +sub_802C8F4: + push {r4,lr} + ldr r4, _0802C90C + ldr r0, [r4] + cmp r0, 0 + beq _0802C906 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802C906: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802C90C: .4byte gUnknown_203B2F0 + thumb_func_end sub_802C8F4 + + thumb_func_start sub_802C910 +sub_802C910: + push {lr} + ldr r1, _0802C924 + ldr r1, [r1] + str r0, [r1, 0x4] + bl sub_802C928 + bl sub_802C9D8 + pop {r0} + bx r0 + .align 2, 0 +_0802C924: .4byte gUnknown_203B2F0 + thumb_func_end sub_802C910 + + thumb_func_start sub_802C928 +sub_802C928: + push {r4-r7,lr} + ldr r4, _0802C94C + ldr r0, [r4] + movs r1, 0xCE + lsls r1, 1 + adds r0, r1 + bl sub_8006518 + ldr r1, [r4] + ldr r0, [r1, 0x4] + cmp r0, 0x2 + beq _0802C954 + cmp r0, 0x3 + beq _0802C980 + movs r2, 0 + ldr r3, _0802C950 + b _0802C998 + .align 2, 0 +_0802C94C: .4byte gUnknown_203B2F0 +_0802C950: .4byte gUnknown_80DFD28 +_0802C954: + bl sub_802CAA4 + ldr r2, [r4] + movs r0, 0xE6 + lsls r0, 1 + adds r2, r0 + ldr r1, _0802C97C + 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 + movs r6, 0x86 + lsls r6, 1 + adds r1, r6 + bl sub_8012CAC + b _0802C9B8 + .align 2, 0 +_0802C97C: .4byte gUnknown_80DFD40 +_0802C980: + movs r7, 0xF2 + lsls r7, 1 + adds r1, r7 + ldr r0, _0802C994 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + b _0802C9B8 + .align 2, 0 +_0802C994: .4byte gUnknown_80DFD58 +_0802C998: + ldr r0, [r4] + lsls r1, r2, 1 + adds r1, r2 + lsls r1, 3 + adds r0, r1 + movs r1, 0xCE + lsls r1, 1 + adds r0, r1 + adds r1, r3, 0 + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + adds r2, 0x1 + cmp r2, 0x3 + ble _0802C998 +_0802C9B8: + bl sub_8004914 + ldr r0, _0802C9D4 + ldr r0, [r0] + movs r1, 0xCE + lsls r1, 1 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802C9D4: .4byte gUnknown_203B2F0 + thumb_func_end sub_802C928 + + thumb_func_start sub_802C9D8 +sub_802C9D8: + push {r4,lr} + sub sp, 0x8 + ldr r1, _0802C9F4 + ldr r0, [r1] + ldr r0, [r0, 0x4] + adds r4, r1, 0 + cmp r0, 0x5 + bhi _0802CA9C + lsls r0, 2 + ldr r1, _0802C9F8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802C9F4: .4byte gUnknown_203B2F0 +_0802C9F8: .4byte _0802C9FC + .align 2, 0 +_0802C9FC: + .4byte _0802CA14 + .4byte _0802CA20 + .4byte _0802CA28 + .4byte _0802CA48 + .4byte _0802CA80 + .4byte _0802CA9C +_0802CA14: + movs r0, 0 + movs r1, 0 + movs r2, 0x4 + bl sub_802C4C8 + b _0802CA9C +_0802CA20: + movs r0, 0x1 + bl sub_802C640 + b _0802CA9C +_0802CA28: + bl sub_802C750 + ldr r0, _0802CA44 + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x6C + movs r3, 0x86 + lsls r3, 1 + adds r1, r2, r3 + ldr r2, [r2, 0x68] + str r2, [sp] + movs r2, 0x2 + b _0802CA6E + .align 2, 0 +_0802CA44: .4byte gUnknown_203B2F0 +_0802CA48: + bl sub_802CBAC + bl sub_802C750 + ldr r4, _0802CA7C + ldr r0, [r4] + adds r0, 0x6C + movs r1, 0 + bl sub_8012EA4 + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0xBC + movs r2, 0xA6 + lsls r2, 1 + adds r1, r2 + movs r2, 0x6 + str r2, [sp] + movs r2, 0x3 +_0802CA6E: + str r2, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_8012D60 + b _0802CA9C + .align 2, 0 +_0802CA7C: .4byte gUnknown_203B2F0 +_0802CA80: + ldr r0, [r4] + ldrb r0, [r0, 0xC] + bl sub_8096AB4 + ldr r1, [r4] + adds r1, 0x10 + bl sub_803B35C + ldr r0, [r4] + movs r1, 0x3 + str r1, [r0, 0x10] + adds r0, 0x10 + bl sub_802DE84 +_0802CA9C: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802C9D8 + + thumb_func_start sub_802CAA4 +sub_802CAA4: + push {r4-r7,lr} + movs r7, 0 + ldr r5, _0802CAC8 + ldr r0, [r5] + ldrb r0, [r0, 0xC] + bl sub_8096AB4 + adds r4, r0, 0 + ldr r2, [r5] + ldr r0, [r2] + cmp r0, 0 + bne _0802CB26 + ldrb r0, [r4] + cmp r0, 0x5 + beq _0802CACC + cmp r0, 0x6 + beq _0802CB10 + b _0802CB26 + .align 2, 0 +_0802CAC8: .4byte gUnknown_203B2F0 +_0802CACC: + movs r0, 0x86 + lsls r0, 1 + adds r1, r2, r0 + ldr r0, _0802CAFC + str r0, [r1] + adds r0, r4, 0 + bl sub_809693C + lsls r0, 24 + cmp r0, 0 + bne _0802CAEE + ldrb r0, [r4, 0x4] + bl sub_80A2824 + lsls r0, 24 + cmp r0, 0 + bne _0802CB00 +_0802CAEE: + ldr r0, [r5] + movs r1, 0x88 + lsls r1, 1 + adds r0, r1 + movs r1, 0x1 + negs r1, r1 + b _0802CB0A + .align 2, 0 +_0802CAFC: .4byte gUnknown_80DFD70 +_0802CB00: + ldr r0, [r5] + movs r1, 0x88 + lsls r1, 1 + adds r0, r1 + movs r1, 0x2 +_0802CB0A: + str r1, [r0] + adds r7, 0x1 + b _0802CB26 +_0802CB10: + movs r0, 0x86 + lsls r0, 1 + adds r1, r2, r0 + ldr r0, _0802CB9C + str r0, [r1] + movs r0, 0x88 + lsls r0, 1 + adds r1, r2, r0 + movs r0, 0x3 + str r0, [r1] + movs r7, 0x1 +_0802CB26: + ldr r4, _0802CBA0 + ldr r6, [r4] + lsls r1, r7, 3 + movs r0, 0x86 + lsls r0, 1 + adds r3, r6, r0 + adds r2, r3, r1 + ldr r0, _0802CBA4 + ldr r0, [r0] + str r0, [r2] + movs r0, 0x88 + lsls r0, 1 + adds r5, r6, r0 + adds r1, r5, r1 + movs r0, 0x4 + str r0, [r1] + adds r7, 0x1 + lsls r1, r7, 3 + adds r2, r3, r1 + ldr r0, _0802CBA8 + ldr r0, [r0] + str r0, [r2] + adds r1, r5, r1 + movs r0, 0x7 + str r0, [r1] + adds r7, 0x1 + lsls r1, r7, 3 + adds r3, r1 + movs r0, 0 + str r0, [r3] + adds r1, r5, r1 + movs r0, 0x1 + str r0, [r1] + movs r3, 0 + mov r12, r4 + cmp r3, r7 + bge _0802CB8C + adds r4, r6, 0 + adds r1, r5, 0 + movs r5, 0x1 + negs r5, r5 +_0802CB78: + ldr r2, [r1] + cmp r2, r5 + beq _0802CB84 + ldr r0, [r4, 0x68] + cmp r2, r0 + beq _0802CB94 +_0802CB84: + adds r1, 0x8 + adds r3, 0x1 + cmp r3, r7 + blt _0802CB78 +_0802CB8C: + mov r0, r12 + ldr r1, [r0] + movs r0, 0x7 + str r0, [r1, 0x68] +_0802CB94: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802CB9C: .4byte gUnknown_80DFD7C +_0802CBA0: .4byte gUnknown_203B2F0 +_0802CBA4: .4byte gUnknown_80D494C +_0802CBA8: .4byte gUnknown_80D4970 + thumb_func_end sub_802CAA4 + + thumb_func_start sub_802CBAC +sub_802CBAC: + ldr r0, _0802CBF4 + ldr r0, [r0] + mov r12, r0 + movs r3, 0 + movs r1, 0xA6 + lsls r1, 1 + add r1, r12 + ldr r0, _0802CBF8 + ldr r0, [r0] + str r0, [r1] + movs r1, 0xA8 + lsls r1, 1 + add r1, r12 + movs r0, 0x5 + str r0, [r1] + movs r2, 0x1 + movs r1, 0xAA + lsls r1, 1 + add r1, r12 + ldr r0, _0802CBFC + ldr r0, [r0] + str r0, [r1] + movs r1, 0xAC + lsls r1, 1 + add r1, r12 + movs r0, 0x6 + str r0, [r1] + movs r0, 0xAE + lsls r0, 1 + add r0, r12 + str r3, [r0] + movs r0, 0xB0 + lsls r0, 1 + add r0, r12 + str r2, [r0] + bx lr + .align 2, 0 +_0802CBF4: .4byte gUnknown_203B2F0 +_0802CBF8: .4byte gUnknown_80D4920 +_0802CBFC: .4byte gUnknown_80D4928 + thumb_func_end sub_802CBAC + + thumb_func_start sub_802CC00 +sub_802CC00: + push {lr} + movs r0, 0x1 + bl sub_802C598 + cmp r0, 0x4 + bhi _0802CC6A + lsls r0, 2 + ldr r1, _0802CC18 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802CC18: .4byte _0802CC1C + .align 2, 0 +_0802CC1C: + .4byte _0802CC6A + .4byte _0802CC6A + .4byte _0802CC60 + .4byte _0802CC30 + .4byte _0802CC48 +_0802CC30: + bl sub_802C620 + ldr r1, _0802CC44 + ldr r1, [r1] + strb r0, [r1, 0xC] + movs r0, 0x2 + bl sub_802C910 + b _0802CC6A + .align 2, 0 +_0802CC44: .4byte gUnknown_203B2F0 +_0802CC48: + bl sub_802C620 + ldr r1, _0802CC5C + ldr r1, [r1] + strb r0, [r1, 0xC] + movs r0, 0x4 + bl sub_802C910 + b _0802CC6A + .align 2, 0 +_0802CC5C: .4byte gUnknown_203B2F0 +_0802CC60: + bl sub_802C688 + movs r0, 0x5 + bl sub_802C910 +_0802CC6A: + pop {r0} + bx r0 + thumb_func_end sub_802CC00 + + thumb_func_start sub_802CC70 +sub_802CC70: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_802C598 + ldr r4, _0802CCB4 + ldr r0, [r4] + adds r0, 0x6C + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0802CCA0 + ldr r0, [r4] + adds r0, 0x6C + mov r1, sp + bl sub_8013114 + ldr r1, [sp] + cmp r1, 0x1 + beq _0802CCA0 + ldr r0, [r4] + str r1, [r0, 0x68] +_0802CCA0: + ldr r0, [sp] + subs r0, 0x1 + cmp r0, 0x6 + bhi _0802CD2E + lsls r0, 2 + ldr r1, _0802CCB8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802CCB4: .4byte gUnknown_203B2F0 +_0802CCB8: .4byte _0802CCBC + .align 2, 0 +_0802CCBC: + .4byte _0802CD28 + .4byte _0802CCD8 + .4byte _0802CCF4 + .4byte _0802CD18 + .4byte _0802CD2E + .4byte _0802CD2E + .4byte _0802CD20 +_0802CCD8: + ldr r0, _0802CCEC + bl sub_8011988 + ldr r0, _0802CCF0 + ldr r0, [r0] + ldrb r0, [r0, 0xC] + bl sub_8096AB4 + movs r1, 0x6 + b _0802CD06 + .align 2, 0 +_0802CCEC: .4byte 0x00000133 +_0802CCF0: .4byte gUnknown_203B2F0 +_0802CCF4: + ldr r0, _0802CD10 + bl sub_8011988 + ldr r0, _0802CD14 + ldr r0, [r0] + ldrb r0, [r0, 0xC] + bl sub_8096AB4 + movs r1, 0x5 +_0802CD06: + strb r1, [r0] + movs r0, 0x1 + bl sub_802C910 + b _0802CD2E + .align 2, 0 +_0802CD10: .4byte 0x00000133 +_0802CD14: .4byte gUnknown_203B2F0 +_0802CD18: + movs r0, 0x3 + bl sub_802C910 + b _0802CD2E +_0802CD20: + movs r0, 0x4 + bl sub_802C910 + b _0802CD2E +_0802CD28: + movs r0, 0x1 + bl sub_802C910 +_0802CD2E: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802CC70 + + thumb_func_start sub_802CD38 +sub_802CD38: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_802C598 + ldr r4, _0802CD78 + ldr r0, [r4] + adds r0, 0x6C + bl sub_8012FD8 + ldr r0, [r4] + adds r0, 0xBC + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0802CD66 + ldr r0, [r4] + adds r0, 0xBC + mov r1, sp + bl sub_8013114 +_0802CD66: + ldr r0, [sp] + cmp r0, 0x5 + beq _0802CD88 + cmp r0, 0x5 + bgt _0802CD7C + cmp r0, 0x1 + beq _0802CD80 + b _0802CDB0 + .align 2, 0 +_0802CD78: .4byte gUnknown_203B2F0 +_0802CD7C: + cmp r0, 0x6 + bne _0802CDB0 +_0802CD80: + movs r0, 0x1 + bl sub_802C910 + b _0802CDB0 +_0802CD88: + ldr r0, [r4] + ldrb r0, [r0, 0xC] + bl sub_8096C3C + bl sub_8096C80 + bl sub_802C83C + lsls r0, 24 + cmp r0, 0 + beq _0802CDAA + bl sub_802C688 + movs r0, 0x5 + bl sub_802C910 + b _0802CDB0 +_0802CDAA: + movs r0, 0x1 + bl sub_802C910 +_0802CDB0: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802CD38 + + thumb_func_start sub_802CDB8 +sub_802CDB8: + push {lr} + bl sub_802DEE0 + cmp r0, 0x1 + bls _0802CDD0 + cmp r0, 0x3 + bhi _0802CDD0 + bl sub_802DF24 + movs r0, 0x1 + bl sub_802C910 +_0802CDD0: + pop {r0} + bx r0 + thumb_func_end sub_802CDB8 + + thumb_func_start sub_802CDD4 +sub_802CDD4: + push {r4-r6,lr} + adds r5, r0, 0 + ldr r4, _0802CE54 + ldr r0, [r4] + cmp r0, 0 + bne _0802CDEA + movs r0, 0xA0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] +_0802CDEA: + ldr r0, [r4] + str r5, [r0, 0x34] + lsls r1, r5, 1 + adds r1, r5 + lsls r1, 3 + adds r1, 0x3C + adds r1, r0, r1 + str r1, [r0, 0x38] + adds r0, 0x3C + bl sub_8006518 + ldr r1, [r4] + ldr r2, [r1, 0x34] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x3C + ldr r0, _0802CE58 + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldr r1, [r4] + ldr r0, [r1, 0x38] + adds r1, 0x9C + str r1, [r0, 0x14] + movs r1, 0x4 + bl sub_8012D34 + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + movs r1, 0x5 + movs r2, 0x4 + adds r3, r5, 0 + bl sub_8013848 + bl sub_802CF5C + bl sub_802CFD0 + movs r0, 0x1 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_0802CE54: .4byte gUnknown_203B2F4 +_0802CE58: .4byte gUnknown_80DFDA4 + thumb_func_end sub_802CDD4 + + thumb_func_start sub_802CE5C +sub_802CE5C: + push {r4,lr} + lsls r0, 24 + cmp r0, 0 + bne _0802CE74 + ldr r0, _0802CE70 + ldr r0, [r0] + bl sub_8013660 + movs r0, 0 + b _0802CEB4 + .align 2, 0 +_0802CE70: .4byte gUnknown_203B2F4 +_0802CE74: + ldr r4, _0802CE90 + ldr r0, [r4] + bl GetKeyPress + cmp r0, 0x1 + beq _0802CE94 + cmp r0, 0x2 + bne _0802CE98 + movs r0, 0x1 + bl sub_80119D4 + movs r0, 0x2 + b _0802CEB4 + .align 2, 0 +_0802CE90: .4byte gUnknown_203B2F4 +_0802CE94: + movs r0, 0x3 + b _0802CEB4 +_0802CE98: + ldr r0, [r4] + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _0802CEAA + movs r0, 0 + b _0802CEB4 +_0802CEAA: + bl sub_802CF5C + bl sub_802CFD0 + movs r0, 0x1 +_0802CEB4: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_802CE5C + + thumb_func_start sub_802CEBC +sub_802CEBC: + ldr r0, _0802CED4 + ldr r1, [r0] + movs r0, 0x1E + ldrsh r2, [r1, r0] + movs r3, 0x1C + ldrsh r0, [r1, r3] + muls r0, r2 + ldrb r1, [r1, 0x18] + adds r0, r1 + lsls r0, 24 + lsrs r0, 24 + bx lr + .align 2, 0 +_0802CED4: .4byte gUnknown_203B2F4 + thumb_func_end sub_802CEBC + + thumb_func_start sub_802CED8 +sub_802CED8: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_8004914 + ldr r5, _0802CF10 + ldr r0, [r5] + adds r0, 0x3C + movs r1, 0 + movs r2, 0 + bl sub_800641C + ldr r0, [r5] + bl sub_8013984 + bl sub_802CF5C + bl sub_802CFD0 + cmp r4, 0 + beq _0802CF0A + ldr r0, [r5] + bl AddMenuCursorSprite +_0802CF0A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802CF10: .4byte gUnknown_203B2F4 + thumb_func_end sub_802CED8 + + thumb_func_start sub_802CF14 +sub_802CF14: + push {r4,r5,lr} + ldr r4, _0802CF54 + ldr r2, [r4] + cmp r2, 0 + beq _0802CF4E + ldr r0, [r2, 0x34] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x3C + ldr r0, _0802CF58 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802CF4E: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802CF54: .4byte gUnknown_203B2F4 +_0802CF58: .4byte gUnknown_80DFD8C + thumb_func_end sub_802CF14 + + thumb_func_start sub_802CF5C +sub_802CF5C: + push {r4,lr} + ldr r4, _0802CFCC + ldr r0, [r4] + ldrh r1, [r0, 0x20] + adds r0, 0x9C + movs r2, 0 + strb r1, [r0] + ldr r0, [r4] + ldrh r1, [r0, 0x1E] + adds r0, 0x9D + strb r1, [r0] + ldr r0, [r4] + adds r0, 0x9E + movs r1, 0xC + strb r1, [r0] + ldr r0, [r4] + adds r0, 0x9F + strb r2, [r0] + ldr r0, [r4] + movs r1, 0x1A + ldrsh r0, [r0, r1] + movs r1, 0x18 + bl sub_8009614 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x34] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x4A + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x34] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x4C + strh r3, [r2] + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802CFCC: .4byte gUnknown_203B2F4 + thumb_func_end sub_802CF5C + + thumb_func_start sub_802CFD0 +sub_802CFD0: + push {r4-r6,lr} + sub sp, 0x60 + ldr r6, _0802D02C + ldr r0, [r6] + ldr r0, [r0, 0x34] + bl sub_8008C54 + ldr r0, [r6] + ldr r0, [r0, 0x34] + bl sub_80073B8 + ldr r0, [r6] + movs r1, 0x1E + ldrsh r4, [r0, r1] + lsls r4, 3 + adds r5, r4, 0 + adds r5, 0xA + ldr r2, _0802D030 + ldr r3, [r0, 0x34] + movs r0, 0 + str r0, [sp] + adds r0, r5, 0 + movs r1, 0 + bl xxx_call_draw_string + adds r4, 0x4 + ldr r1, [r6] + adds r0, r1, 0 + adds r0, 0x9E + ldrb r0, [r0] + lsls r0, 3 + adds r5, r4, r0 + movs r0, 0x1E + ldrsh r2, [r1, r0] + adds r2, 0x1 + movs r0, 0x7 + str r0, [sp] + ldr r0, [r1, 0x34] + str r0, [sp, 0x4] + adds r0, r5, 0 + movs r1, 0 + movs r3, 0x2 + bl sub_8012BC4 + movs r5, 0 + b _0802D076 + .align 2, 0 +_0802D02C: .4byte gUnknown_203B2F4 +_0802D030: .4byte gUnknown_80DFDBC +_0802D034: + ldr r0, [r6] + movs r2, 0x1E + ldrsh r1, [r0, r2] + movs r2, 0x1C + ldrsh r0, [r0, r2] + muls r0, r1 + adds r0, r5 + lsls r0, 24 + lsrs r0, 24 + bl sub_803B344 + adds r4, r0, 0 + ldr r0, [r6] + ldr r1, [r0, 0x34] + str r1, [sp, 0x8] + adds r1, r5, 0 + bl sub_8013800 + str r0, [sp, 0x50] + adds r0, r4, 0 + add r1, sp, 0x8 + bl sub_803B35C + mov r1, sp + adds r1, 0x4B + movs r0, 0x1 + strb r0, [r1] + ldr r0, [r4, 0x14] + str r0, [sp, 0x54] + add r0, sp, 0x8 + bl sub_803B6D4 + adds r5, 0x1 +_0802D076: + ldr r0, [r6] + movs r1, 0x1A + ldrsh r0, [r0, r1] + cmp r5, r0 + blt _0802D034 + ldr r0, _0802D094 + ldr r0, [r0] + ldr r0, [r0, 0x34] + bl sub_80073E0 + add sp, 0x60 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0802D094: .4byte gUnknown_203B2F4 + thumb_func_end sub_802CFD0 + + thumb_func_start sub_802D098 +sub_802D098: + push {r4-r6,lr} + adds r4, r0, 0 + ldr r6, _0802D0DC + movs r0, 0x82 + lsls r0, 2 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r6] + movs r5, 0 + str r5, [r0, 0x6C] + str r5, [r0, 0x70] + str r5, [r0, 0x74] + str r4, [r0, 0xC] + strb r5, [r0, 0x8] + ldr r0, [r6] + adds r0, 0xA + bl sub_8099328 + ldr r1, [r6] + strb r0, [r1, 0x9] + bl sub_8011C1C + cmp r0, 0x2 + beq _0802D0CE + ldr r0, [r6] + strb r5, [r0, 0x9] +_0802D0CE: + movs r0, 0 + bl sub_802D1A0 + movs r0, 0x1 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_0802D0DC: .4byte gUnknown_203B2F8 + thumb_func_end sub_802D098 + + thumb_func_start sub_802D0E0 +sub_802D0E0: + push {lr} + ldr r0, _0802D0F8 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x10 + bhi _0802D16C + lsls r0, 2 + ldr r1, _0802D0FC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802D0F8: .4byte gUnknown_203B2F8 +_0802D0FC: .4byte _0802D100 + .align 2, 0 +_0802D100: + .4byte _0802D170 + .4byte _0802D144 + .4byte _0802D168 + .4byte _0802D16C + .4byte _0802D16C + .4byte _0802D16C + .4byte _0802D16C + .4byte _0802D16C + .4byte _0802D16C + .4byte _0802D162 + .4byte _0802D16C + .4byte _0802D14A + .4byte _0802D14A + .4byte _0802D150 + .4byte _0802D156 + .4byte _0802D15C + .4byte _0802D15C +_0802D144: + bl sub_802D7D0 + b _0802D170 +_0802D14A: + bl sub_802D8CC + b _0802D170 +_0802D150: + bl sub_802D940 + b _0802D170 +_0802D156: + bl sub_802D9F0 + b _0802D170 +_0802D15C: + bl sub_802DA60 + b _0802D170 +_0802D162: + bl sub_802D82C + b _0802D170 +_0802D168: + movs r0, 0x3 + b _0802D172 +_0802D16C: + bl sub_802DA84 +_0802D170: + movs r0, 0 +_0802D172: + pop {r1} + bx r1 + thumb_func_end sub_802D0E0 + + thumb_func_start sub_802D178 +sub_802D178: + ldr r0, _0802D180 + ldr r0, [r0] + ldrb r0, [r0, 0x8] + bx lr + .align 2, 0 +_0802D180: .4byte gUnknown_203B2F8 + thumb_func_end sub_802D178 + + thumb_func_start sub_802D184 +sub_802D184: + push {r4,lr} + ldr r4, _0802D19C + ldr r0, [r4] + cmp r0, 0 + beq _0802D196 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802D196: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802D19C: .4byte gUnknown_203B2F8 + thumb_func_end sub_802D184 + + thumb_func_start sub_802D1A0 +sub_802D1A0: + push {lr} + ldr r1, _0802D1B4 + ldr r1, [r1] + str r0, [r1] + bl sub_802D1B8 + bl sub_802D2A8 + pop {r0} + bx r0 + .align 2, 0 +_0802D1B4: .4byte gUnknown_203B2F8 + thumb_func_end sub_802D1A0 + + thumb_func_start sub_802D1B8 +sub_802D1B8: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r4, _0802D1E0 + ldr r0, [r4] + movs r1, 0xD4 + lsls r1, 1 + adds r0, r1 + bl sub_8006518 + ldr r0, [r4] + ldr r0, [r0] + cmp r0, 0xD + beq _0802D1EA + cmp r0, 0xD + bgt _0802D1E4 + cmp r0, 0x2 + beq _0802D27E + b _0802D254 + .align 2, 0 +_0802D1E0: .4byte gUnknown_203B2F8 +_0802D1E4: + cmp r0, 0xE + beq _0802D21C + b _0802D254 +_0802D1EA: + bl sub_802D5A4 + ldr r2, [r4] + movs r0, 0xEC + lsls r0, 1 + adds r2, r0 + ldr r1, _0802D218 + 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 + movs r6, 0x8C + lsls r6, 1 + adds r1, r6 + bl sub_8012CAC + ldr r0, [r4] + movs r7, 0xF2 + lsls r7, 1 + b _0802D246 + .align 2, 0 +_0802D218: .4byte gUnknown_80DFE04 +_0802D21C: + bl sub_802D63C + ldr r2, [r4] + movs r0, 0xF8 + lsls r0, 1 + adds r2, r0 + ldr r1, _0802D250 + 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 + movs r6, 0xAC + lsls r6, 1 + adds r1, r6 + bl sub_8012CAC + ldr r0, [r4] + movs r7, 0xFE + lsls r7, 1 +_0802D246: + adds r0, r7 + movs r1, 0x6 + strh r1, [r0] + b _0802D27E + .align 2, 0 +_0802D250: .4byte gUnknown_80DFE1C +_0802D254: + ldr r0, _0802D2A0 + mov r12, r0 + movs r1, 0xD4 + lsls r1, 1 + mov r8, r1 + ldr r4, _0802D2A4 + movs r3, 0 + movs r2, 0x3 +_0802D264: + mov r5, r12 + ldr r1, [r5] + adds r1, r3 + add r1, r8 + 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 _0802D264 +_0802D27E: + bl sub_8004914 + ldr r0, _0802D2A0 + ldr r0, [r0] + movs r6, 0xD4 + lsls r6, 1 + adds r0, r6 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802D2A0: .4byte gUnknown_203B2F8 +_0802D2A4: .4byte gUnknown_80DFDD4 + thumb_func_end sub_802D1B8 + + 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} + ldr r4, _0802D630 + ldr r0, [r4] + movs r5, 0xCC + lsls r5, 1 + adds r0, r5 + movs r1, 0 + movs r2, 0x10 + bl MemoryFill16 + ldr r0, [r4] + mov r12, r0 + movs r3, 0 + movs r1, 0x8C + lsls r1, 1 + add r1, r12 + ldr r0, _0802D634 + ldr r0, [r0] + str r0, [r1] + movs r1, 0x8E + lsls r1, 1 + add r1, r12 + movs r0, 0x2 + str r0, [r1] + movs r2, 0x1 + movs r1, 0x90 + lsls r1, 1 + add r1, r12 + ldr r0, _0802D638 + ldr r0, [r0] + str r0, [r1] + movs r1, 0x92 + lsls r1, 1 + add r1, r12 + movs r0, 0x5 + str r0, [r1] + movs r7, 0x2 + movs r0, 0x94 + lsls r0, 1 + add r0, r12 + str r3, [r0] + movs r0, 0x96 + lsls r0, 1 + add r0, r12 + str r2, [r0] + movs r6, 0 + movs r3, 0x8E + lsls r3, 1 + add r3, r12 + mov r0, r12 + adds r2, r0, r5 +_0802D60A: + ldrh r0, [r2] + cmp r0, 0 + bne _0802D61A + ldr r1, [r3] + mov r5, r12 + ldr r0, [r5, 0x6C] + cmp r1, r0 + beq _0802D62A +_0802D61A: + adds r3, 0x8 + adds r2, 0x2 + adds r6, 0x1 + cmp r6, r7 + blt _0802D60A + ldr r1, [r4] + movs r0, 0x2 + str r0, [r1, 0x6C] +_0802D62A: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802D630: .4byte gUnknown_203B2F8 +_0802D634: .4byte gUnknown_80D494C +_0802D638: .4byte gUnknown_80D4970 + thumb_func_end sub_802D5A4 + + thumb_func_start sub_802D63C +sub_802D63C: + ldr r0, _0802D684 + ldr r0, [r0] + mov r12, r0 + movs r3, 0 + movs r1, 0xAC + lsls r1, 1 + add r1, r12 + ldr r0, _0802D688 + ldr r0, [r0] + str r0, [r1] + movs r1, 0xAE + lsls r1, 1 + add r1, r12 + movs r0, 0x3 + str r0, [r1] + movs r2, 0x1 + movs r1, 0xB0 + lsls r1, 1 + add r1, r12 + ldr r0, _0802D68C + ldr r0, [r0] + str r0, [r1] + movs r1, 0xB2 + lsls r1, 1 + add r1, r12 + movs r0, 0x4 + str r0, [r1] + movs r0, 0xB4 + lsls r0, 1 + add r0, r12 + str r3, [r0] + movs r0, 0xB6 + lsls r0, 1 + add r0, r12 + str r2, [r0] + bx lr + .align 2, 0 +_0802D684: .4byte gUnknown_203B2F8 +_0802D688: .4byte gUnknown_80D4920 +_0802D68C: .4byte gUnknown_80D4928 + thumb_func_end sub_802D63C + + thumb_func_start sub_802D690 +sub_802D690: + push {r4,r5,lr} + ldr r2, _0802D728 + ldr r0, [r2] + mov r12, r0 + movs r4, 0 + movs r1, 0xAC + lsls r1, 1 + add r1, r12 + ldr r0, _0802D72C + ldr r0, [r0] + str r0, [r1] + movs r1, 0xAE + lsls r1, 1 + add r1, r12 + movs r0, 0x3 + str r0, [r1] + movs r3, 0x1 + movs r1, 0xB0 + lsls r1, 1 + add r1, r12 + ldr r0, _0802D730 + ldr r0, [r0] + str r0, [r1] + movs r1, 0xB2 + lsls r1, 1 + add r1, r12 + movs r0, 0x4 + str r0, [r1] + movs r1, 0xB4 + lsls r1, 1 + add r1, r12 + ldr r0, _0802D734 + str r0, [r1] + movs r1, 0xB6 + lsls r1, 1 + add r1, r12 + movs r0, 0x6 + str r0, [r1] + movs r1, 0xB8 + lsls r1, 1 + add r1, r12 + ldr r0, _0802D738 + str r0, [r1] + movs r1, 0xBA + lsls r1, 1 + add r1, r12 + movs r0, 0x7 + str r0, [r1] + movs r5, 0x4 + movs r0, 0xBC + lsls r0, 1 + add r0, r12 + str r4, [r0] + movs r0, 0xBE + lsls r0, 1 + add r0, r12 + str r3, [r0] + movs r3, 0 + mov r0, r12 + ldr r4, [r0, 0x74] + movs r1, 0xAE + lsls r1, 1 + add r1, r12 +_0802D70E: + ldr r0, [r1] + cmp r0, r4 + beq _0802D722 + adds r1, 0x8 + adds r3, 0x1 + cmp r3, r5 + blt _0802D70E + ldr r1, [r2] + movs r0, 0x4 + str r0, [r1, 0x74] +_0802D722: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802D728: .4byte gUnknown_203B2F8 +_0802D72C: .4byte gUnknown_80D4920 +_0802D730: .4byte gUnknown_80D4928 +_0802D734: .4byte gUnknown_80E014C +_0802D738: .4byte gUnknown_80E0158 + thumb_func_end sub_802D690 + + thumb_func_start sub_802D73C +sub_802D73C: + push {r4,r5,lr} + ldr r3, _0802D7C0 + ldr r0, [r3] + mov r12, r0 + movs r4, 0 + movs r1, 0xAC + lsls r1, 1 + add r1, r12 + ldr r0, _0802D7C4 + ldr r0, [r0] + str r0, [r1] + movs r1, 0xAE + lsls r1, 1 + add r1, r12 + movs r0, 0x3 + str r0, [r1] + movs r2, 0x1 + movs r1, 0xB0 + lsls r1, 1 + add r1, r12 + ldr r0, _0802D7C8 + ldr r0, [r0] + str r0, [r1] + movs r1, 0xB2 + lsls r1, 1 + add r1, r12 + movs r0, 0x4 + str r0, [r1] + movs r1, 0xB4 + lsls r1, 1 + add r1, r12 + ldr r0, _0802D7CC + str r0, [r1] + movs r1, 0xB6 + lsls r1, 1 + add r1, r12 + movs r0, 0x6 + str r0, [r1] + movs r5, 0x3 + movs r0, 0xB8 + lsls r0, 1 + add r0, r12 + str r4, [r0] + movs r0, 0xBA + lsls r0, 1 + add r0, r12 + str r2, [r0] + movs r2, 0 + mov r0, r12 + ldr r4, [r0, 0x70] + movs r1, 0xAE + lsls r1, 1 + add r1, r12 +_0802D7A6: + ldr r0, [r1] + cmp r0, r4 + beq _0802D7BA + adds r1, 0x8 + adds r2, 0x1 + cmp r2, r5 + blt _0802D7A6 + ldr r1, [r3] + movs r0, 0x4 + str r0, [r1, 0x70] +_0802D7BA: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802D7C0: .4byte gUnknown_203B2F8 +_0802D7C4: .4byte gUnknown_80D4920 +_0802D7C8: .4byte gUnknown_80D4928 +_0802D7CC: .4byte gUnknown_80E014C + thumb_func_end sub_802D73C + + thumb_func_start sub_802D7D0 +sub_802D7D0: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802D826 + ldr r1, [sp] + cmp r1, 0x1 + beq _0802D7EA + ldr r0, _0802D800 + ldr r0, [r0] + str r1, [r0, 0x70] +_0802D7EA: + ldr r0, [sp] + cmp r0, 0x3 + beq _0802D804 + cmp r0, 0x3 + ble _0802D820 + cmp r0, 0x4 + beq _0802D820 + cmp r0, 0x6 + beq _0802D80C + b _0802D820 + .align 2, 0 +_0802D800: .4byte gUnknown_203B2F8 +_0802D804: + movs r0, 0x2 + bl sub_802D1A0 + b _0802D826 +_0802D80C: + ldr r0, _0802D81C + ldr r1, [r0] + movs r0, 0x1 + str r0, [r1, 0x4] + movs r0, 0x10 + bl sub_802D1A0 + b _0802D826 + .align 2, 0 +_0802D81C: .4byte gUnknown_203B2F8 +_0802D820: + movs r0, 0 + bl sub_802D1A0 +_0802D826: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802D7D0 + + thumb_func_start sub_802D82C +sub_802D82C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802D8C6 + ldr r1, [sp] + cmp r1, 0x1 + beq _0802D846 + ldr r0, _0802D858 + ldr r0, [r0] + str r1, [r0, 0x74] +_0802D846: + ldr r0, [sp] + subs r0, 0x1 + cmp r0, 0x6 + bhi _0802D8C0 + lsls r0, 2 + ldr r1, _0802D85C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802D858: .4byte gUnknown_203B2F8 +_0802D85C: .4byte _0802D860 + .align 2, 0 +_0802D860: + .4byte _0802D8C0 + .4byte _0802D8C0 + .4byte _0802D87C + .4byte _0802D8C0 + .4byte _0802D8C0 + .4byte _0802D898 + .4byte _0802D8AC +_0802D87C: + ldr r0, _0802D894 + ldr r0, [r0] + ldrb r0, [r0, 0x10] + bl sub_8096C3C + bl sub_8096C80 + movs r0, 0x8 + bl sub_802D1A0 + b _0802D8C6 + .align 2, 0 +_0802D894: .4byte gUnknown_203B2F8 +_0802D898: + ldr r0, _0802D8A8 + ldr r1, [r0] + movs r0, 0x9 + str r0, [r1, 0x4] + movs r0, 0x10 + bl sub_802D1A0 + b _0802D8C6 + .align 2, 0 +_0802D8A8: .4byte gUnknown_203B2F8 +_0802D8AC: + ldr r0, _0802D8BC + ldr r1, [r0] + movs r0, 0x9 + str r0, [r1, 0x4] + movs r0, 0xF + bl sub_802D1A0 + b _0802D8C6 + .align 2, 0 +_0802D8BC: .4byte gUnknown_203B2F8 +_0802D8C0: + movs r0, 0x1 + bl sub_802D1A0 +_0802D8C6: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_802D82C + + thumb_func_start sub_802D8CC +sub_802D8CC: + push {lr} + movs r0, 0x1 + bl sub_802C598 + cmp r0, 0x4 + bhi _0802D93A + lsls r0, 2 + ldr r1, _0802D8E4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802D8E4: .4byte _0802D8E8 + .align 2, 0 +_0802D8E8: + .4byte _0802D93A + .4byte _0802D93A + .4byte _0802D930 + .4byte _0802D8FC + .4byte _0802D914 +_0802D8FC: + bl sub_802C620 + ldr r1, _0802D910 + ldr r1, [r1] + strb r0, [r1, 0x10] + movs r0, 0xD + bl sub_802D1A0 + b _0802D93A + .align 2, 0 +_0802D910: .4byte gUnknown_203B2F8 +_0802D914: + bl sub_802C620 + ldr r2, _0802D92C + ldr r1, [r2] + strb r0, [r1, 0x10] + ldr r1, [r2] + movs r0, 0xC + str r0, [r1, 0x4] + movs r0, 0xF + bl sub_802D1A0 + b _0802D93A + .align 2, 0 +_0802D92C: .4byte gUnknown_203B2F8 +_0802D930: + bl sub_802C688 + movs r0, 0x1 + bl sub_802D1A0 +_0802D93A: + pop {r0} + bx r0 + thumb_func_end sub_802D8CC + + thumb_func_start sub_802D940 +sub_802D940: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_802C598 + ldr r4, _0802D980 + ldr r0, [r4] + adds r0, 0x78 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0802D970 + ldr r0, [r4] + adds r0, 0x78 + mov r1, sp + bl sub_8013114 + ldr r1, [sp] + cmp r1, 0x1 + beq _0802D970 + ldr r0, [r4] + str r1, [r0, 0x6C] +_0802D970: + ldr r0, [sp] + cmp r0, 0x2 + beq _0802D98A + cmp r0, 0x2 + bgt _0802D984 + cmp r0, 0x1 + beq _0802D9E0 + b _0802D9E6 + .align 2, 0 +_0802D980: .4byte gUnknown_203B2F8 +_0802D984: + cmp r0, 0x5 + beq _0802D9CC + b _0802D9E6 +_0802D98A: + ldr r0, _0802D9BC + ldr r3, [r0] + ldrb r0, [r3, 0x9] + cmp r0, 0 + beq _0802D9C4 + ldr r2, _0802D9C0 + ldrb r1, [r3, 0x10] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 2 + adds r0, 0xF0 + ldr r1, [r2] + adds r1, r0 + ldrb r0, [r1] + cmp r0, 0x5 + bls _0802D9C4 + ldrb r0, [r3, 0xA] + ldrb r1, [r1, 0x4] + cmp r0, r1 + bne _0802D9C4 + movs r0, 0x7 + bl sub_802D1A0 + b _0802D9E6 + .align 2, 0 +_0802D9BC: .4byte gUnknown_203B2F8 +_0802D9C0: .4byte gUnknown_203B490 +_0802D9C4: + movs r0, 0xE + bl sub_802D1A0 + b _0802D9E6 +_0802D9CC: + ldr r0, _0802D9DC + ldr r1, [r0] + movs r0, 0xC + str r0, [r1, 0x4] + movs r0, 0xF + bl sub_802D1A0 + b _0802D9E6 + .align 2, 0 +_0802D9DC: .4byte gUnknown_203B2F8 +_0802D9E0: + movs r0, 0xC + bl sub_802D1A0 +_0802D9E6: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802D940 + + thumb_func_start sub_802D9F0 +sub_802D9F0: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_802C598 + ldr r4, _0802DA30 + ldr r0, [r4] + adds r0, 0x78 + bl sub_8012FD8 + ldr r0, [r4] + adds r0, 0xC8 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0802DA1E + ldr r0, [r4] + adds r0, 0xC8 + mov r1, sp + bl sub_8013114 +_0802DA1E: + ldr r0, [sp] + cmp r0, 0x3 + beq _0802DA40 + cmp r0, 0x3 + bgt _0802DA34 + cmp r0, 0x1 + beq _0802DA38 + b _0802DA56 + .align 2, 0 +_0802DA30: .4byte gUnknown_203B2F8 +_0802DA34: + cmp r0, 0x4 + bne _0802DA56 +_0802DA38: + movs r0, 0xC + bl sub_802D1A0 + b _0802DA56 +_0802DA40: + bl sub_802C688 + ldr r0, [r4] + ldrb r0, [r0, 0x10] + bl sub_8096C3C + bl sub_8096C80 + movs r0, 0x8 + bl sub_802D1A0 +_0802DA56: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802D9F0 + + thumb_func_start sub_802DA60 +sub_802DA60: + push {lr} + bl sub_802DEE0 + cmp r0, 0x1 + bls _0802DA7C + cmp r0, 0x3 + bhi _0802DA7C + bl sub_802DF24 + ldr r0, _0802DA80 + ldr r0, [r0] + ldr r0, [r0, 0x4] + bl sub_802D1A0 +_0802DA7C: + pop {r0} + bx r0 + .align 2, 0 +_0802DA80: .4byte gUnknown_203B2F8 + thumb_func_end sub_802DA60 + + thumb_func_start sub_802DA84 +sub_802DA84: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802DA9C + ldr r0, _0802DAA4 + ldr r0, [r0] + ldr r0, [r0, 0x4] + bl sub_802D1A0 +_0802DA9C: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_0802DAA4: .4byte gUnknown_203B2F8 + thumb_func_end sub_802DA84 + + thumb_func_start sub_802DAA8 +sub_802DAA8: + push {r4,lr} + ldr r4, _0802DAD0 + ldr r0, [r4] + ldrb r0, [r0, 0x10] + bl sub_8096AB4 + adds r1, r0, 0 + ldr r4, [r4] + ldrb r0, [r4, 0x9] + cmp r0, 0 + beq _0802DAD4 + ldrb r0, [r1] + cmp r0, 0x5 + beq _0802DAD4 + ldrb r0, [r4, 0xA] + ldrb r1, [r1, 0x4] + cmp r0, r1 + bne _0802DAD4 + movs r0, 0 + b _0802DAD6 + .align 2, 0 +_0802DAD0: .4byte gUnknown_203B2F8 +_0802DAD4: + movs r0, 0x1 +_0802DAD6: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_802DAA8 + + thumb_func_start sub_802DADC +sub_802DADC: + push {r4,lr} + ldr r3, _0802DAEC + ldr r0, [r3] + ldrb r0, [r0, 0x9] + cmp r0, 0 + bne _0802DAF0 +_0802DAE8: + movs r0, 0x1 + b _0802DB1C + .align 2, 0 +_0802DAEC: .4byte gUnknown_203B2F8 +_0802DAF0: + ldr r0, _0802DB24 + ldr r0, [r0] + adds r1, r0, 0 + adds r1, 0xF0 + movs r2, 0 +_0802DAFA: + ldrb r0, [r1] + cmp r0, 0 + beq _0802DAE8 + cmp r0, 0x5 + beq _0802DAE8 + cmp r0, 0x5 + bls _0802DB12 + ldr r0, [r3] + ldrb r0, [r0, 0xA] + ldrb r4, [r1, 0x4] + cmp r0, r4 + bne _0802DAE8 +_0802DB12: + adds r1, 0x14 + adds r2, 0x1 + cmp r2, 0x7 + ble _0802DAFA + movs r0, 0 +_0802DB1C: + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0802DB24: .4byte gUnknown_203B490 + thumb_func_end sub_802DADC + + thumb_func_start sub_802DB28 +sub_802DB28: + push {r4-r6,lr} + sub sp, 0x8 + adds r2, r1, 0 + lsls r0, 24 + lsrs r6, r0, 24 + lsls r2, 24 + lsrs r2, 24 + mov r0, sp + adds r1, r6, 0 + bl sub_8096AF8 + mov r0, sp + ldrb r0, [r0] + cmp r0, 0 + bne _0802DB4A + movs r0, 0 + b _0802DBC6 +_0802DB4A: + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _0802DBD0 + movs r0, 0xA8 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + adds r0, 0x30 + movs r5, 0 + strb r6, [r0] + adds r0, r6, 0 + bl sub_8096AB4 + ldr r1, [r4] + str r0, [r1, 0x34] + bl sub_8096EEC + ldr r1, [r4] + ldr r0, [r1, 0x34] + adds r1, 0x8 + bl sub_803C21C + ldr r0, [r4] + ldr r0, [r0, 0x34] + movs r1, 0xC + ldrsh r0, [r0, r1] + bl sub_808DDD0 + ldr r1, [r4] + str r0, [r1, 0x38] + str r5, [r1, 0x3C] + adds r1, 0x44 + strb r5, [r1] + ldr r0, [r4] + adds r0, 0x45 + strb r5, [r0] + ldr r0, [r4] + adds r0, 0x46 + strb r5, [r0] + ldr r2, [r4] + adds r1, r2, 0 + adds r1, 0x40 + movs r0, 0x2 + strh r0, [r1] + adds r1, 0x2 + movs r0, 0x8 + strh r0, [r1] + ldr r0, [r2, 0x38] + cmp r0, 0 + beq _0802DBBE + ldr r0, [r0, 0x4] + str r0, [r2, 0x3C] +_0802DBBE: + movs r0, 0 + bl sub_802DC28 + movs r0, 0x1 +_0802DBC6: + add sp, 0x8 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_0802DBD0: .4byte gUnknown_203B2FC + thumb_func_end sub_802DB28 + + thumb_func_start sub_802DBD4 +sub_802DBD4: + push {lr} + ldr r0, _0802DBEC + ldr r0, [r0] + ldr r1, [r0] + cmp r1, 0x6 + beq _0802DBF0 + cmp r1, 0x7 + bne _0802DBF6 + ldr r0, [r0, 0x34] + strb r1, [r0] + movs r0, 0x3 + b _0802DBFC + .align 2, 0 +_0802DBEC: .4byte gUnknown_203B2FC +_0802DBF0: + bl sub_802DE44 + b _0802DBFA +_0802DBF6: + bl sub_802DE60 +_0802DBFA: + movs r0, 0 +_0802DBFC: + pop {r1} + bx r1 + thumb_func_end sub_802DBD4 + + thumb_func_start sub_802DC00 +sub_802DC00: + push {r4,lr} + ldr r4, _0802DC24 + ldr r0, [r4] + cmp r0, 0 + beq _0802DC1E + ldr r0, [r0, 0x38] + cmp r0, 0 + beq _0802DC14 + bl CloseFile +_0802DC14: + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802DC1E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802DC24: .4byte gUnknown_203B2FC + thumb_func_end sub_802DC00 + + thumb_func_start sub_802DC28 +sub_802DC28: + push {lr} + ldr r1, _0802DC3C + ldr r1, [r1] + str r0, [r1] + bl sub_802DC40 + bl sub_802DC9C + pop {r0} + bx r0 + .align 2, 0 +_0802DC3C: .4byte gUnknown_203B2FC + thumb_func_end sub_802DC28 + + thumb_func_start sub_802DC40 +sub_802DC40: + push {r4-r7,lr} + ldr r4, _0802DC94 + ldr r0, [r4] + adds r0, 0x48 + bl sub_8006518 + ldr r0, [r4] + ldr r0, [r0] + cmp r0, 0 + beq _0802DC58 + cmp r0, 0x7 + bne _0802DC7A +_0802DC58: + mov r12, r4 + ldr r4, _0802DC98 + movs r3, 0 + movs r2, 0x3 +_0802DC60: + mov r0, r12 + ldr r1, [r0] + adds r1, r3 + adds r1, 0x48 + 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 _0802DC60 +_0802DC7A: + bl sub_8004914 + ldr r0, _0802DC94 + ldr r0, [r0] + adds r0, 0x48 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802DC94: .4byte gUnknown_203B2FC +_0802DC98: .4byte gUnknown_80E016C + thumb_func_end sub_802DC40 + + thumb_func_start sub_802DC9C +sub_802DC9C: + push {r4,r5,lr} + ldr r1, _0802DCB8 + ldr r0, [r1] + ldr r0, [r0] + adds r5, r1, 0 + cmp r0, 0x7 + bls _0802DCAC + b _0802DE3E +_0802DCAC: + lsls r0, 2 + ldr r1, _0802DCBC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802DCB8: .4byte gUnknown_203B2FC +_0802DCBC: .4byte _0802DCC0 + .align 2, 0 +_0802DCC0: + .4byte _0802DCE0 + .4byte _0802DDDC + .4byte _0802DDE4 + .4byte _0802DDEC + .4byte _0802DDFC + .4byte _0802DDF4 + .4byte _0802DE34 + .4byte _0802DE3E +_0802DCE0: + ldr r0, _0802DD60 + ldr r1, [r5] + ldr r1, [r1, 0x34] + movs r2, 0xC + ldrsh r1, [r1, r2] + bl sub_808D8E0 + ldr r4, _0802DD64 + ldr r0, [r5] + ldr r0, [r0, 0x34] + movs r2, 0xC + ldrsh r1, [r0, r2] + adds r0, r4, 0 + bl sub_808D8E0 + ldr r0, [r5] + ldr r0, [r0, 0x34] + movs r1, 0xC + ldrsh r0, [r0, r1] + bl sub_808D994 + adds r1, r0, 0 + ldr r2, _0802DD68 + adds r0, r4, r2 + bl strcpy + ldr r0, [r5] + ldr r0, [r0, 0x34] + movs r1, 0xE + ldrsh r0, [r0, r1] + bl sub_808D994 + adds r1, r0, 0 + ldr r2, _0802DD6C + adds r4, r2 + adds r0, r4, 0 + bl strcpy + ldr r0, [r5] + ldr r0, [r0, 0x34] + movs r1, 0xC + ldrsh r0, [r0, r1] + bl sub_8098214 + ldr r0, _0802DD70 + ldr r1, [r5] + ldr r1, [r1, 0x34] + ldrb r1, [r1, 0x10] + movs r2, 0 + bl sub_8090DC4 + ldr r1, [r5] + movs r0, 0x6 + str r0, [r1, 0x4] + ldr r0, [r1, 0x34] + ldrb r0, [r0, 0x1] + cmp r0, 0x4 + bhi _0802DDD4 + lsls r0, 2 + ldr r1, _0802DD74 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802DD60: .4byte gUnknown_202E5D8 +_0802DD64: .4byte gUnknown_202E1C8 +_0802DD68: .4byte 0xfffffdd0 +_0802DD6C: .4byte 0xfffffe20 +_0802DD70: .4byte gUnknown_202DE58 +_0802DD74: .4byte _0802DD78 + .align 2, 0 +_0802DD78: + .4byte _0802DDD4 + .4byte _0802DD9C + .4byte _0802DDB8 + .4byte _0802DD94 + .4byte _0802DD8C +_0802DD8C: + movs r0, 0x5 + bl sub_802DC28 + b _0802DE3E +_0802DD94: + movs r0, 0x4 + bl sub_802DC28 + b _0802DE3E +_0802DD9C: + movs r0, 0x2 + bl sub_802DC28 + ldr r0, _0802DDB4 + ldr r0, [r0] + ldr r0, [r0, 0x34] + movs r2, 0xE + ldrsh r0, [r0, r2] + bl sub_8098214 + b _0802DE3E + .align 2, 0 +_0802DDB4: .4byte gUnknown_203B2FC +_0802DDB8: + movs r0, 0x3 + bl sub_802DC28 + ldr r0, _0802DDD0 + ldr r0, [r0] + ldr r0, [r0, 0x34] + movs r1, 0xE + ldrsh r0, [r0, r1] + bl sub_8098214 + b _0802DE3E + .align 2, 0 +_0802DDD0: .4byte gUnknown_203B2FC +_0802DDD4: + movs r0, 0x1 + bl sub_802DC28 + b _0802DE3E +_0802DDDC: + ldr r0, _0802DDE0 + b _0802DE1C + .align 2, 0 +_0802DDE0: .4byte gUnknown_80E0184 +_0802DDE4: + ldr r0, _0802DDE8 + b _0802DE1C + .align 2, 0 +_0802DDE8: .4byte gUnknown_80E01A0 +_0802DDEC: + ldr r0, _0802DDF0 + b _0802DE1C + .align 2, 0 +_0802DDF0: .4byte gUnknown_80E01C4 +_0802DDF4: + ldr r0, _0802DDF8 + b _0802DE1C + .align 2, 0 +_0802DDF8: .4byte gUnknown_80E01F0 +_0802DDFC: + ldr r0, [r5] + ldr r0, [r0, 0x34] + ldrb r0, [r0, 0x10] + bl sub_8091130 + adds r1, r0, 0 + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + beq _0802DE1A + adds r0, r1, 0 + bl sub_80911F8 + bl sub_80910B4 +_0802DE1A: + ldr r0, _0802DE2C +_0802DE1C: + ldr r2, [r5] + adds r2, 0x38 + ldr r3, _0802DE30 + movs r1, 0 + bl sub_80141B4 + b _0802DE3E + .align 2, 0 +_0802DE2C: .4byte gUnknown_80E0218 +_0802DE30: .4byte 0x0000010d +_0802DE34: + ldr r0, [r5] + adds r0, 0x8 + movs r1, 0x1 + bl sub_802F204 +_0802DE3E: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_802DC9C + + thumb_func_start sub_802DE44 +sub_802DE44: + push {lr} + bl sub_802F298 + cmp r0, 0x1 + bls _0802DE5C + cmp r0, 0x3 + bhi _0802DE5C + bl sub_802F2C0 + movs r0, 0x7 + bl sub_802DC28 +_0802DE5C: + pop {r0} + bx r0 + thumb_func_end sub_802DE44 + + thumb_func_start sub_802DE60 +sub_802DE60: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0802DE78 + ldr r0, _0802DE80 + ldr r0, [r0] + ldr r0, [r0, 0x4] + bl sub_802DC28 +_0802DE78: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_0802DE80: .4byte gUnknown_203B2FC + thumb_func_end sub_802DE60 + + thumb_func_start sub_802DE84 +sub_802DE84: + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _0802DED8 + movs r0, 0x7C + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + str r5, [r0, 0xC] + bl sub_801317C + ldr r0, [r4] + ldr r1, [r0, 0xC] + ldr r2, [r1] + str r2, [r0, 0x10] + lsls r1, r2, 1 + adds r1, r2 + lsls r1, 3 + adds r1, 0x18 + adds r1, r0, r1 + str r1, [r0, 0x14] + adds r0, 0x18 + bl sub_8006518 + ldr r1, [r4] + ldr r2, [r1, 0x10] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x18 + ldr r0, _0802DEDC + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + bl sub_802DF14 + movs r0, 0x1 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0802DED8: .4byte gUnknown_203B300 +_0802DEDC: .4byte gUnknown_80E0264 + thumb_func_end sub_802DE84 + + thumb_func_start sub_802DEE0 +sub_802DEE0: + push {lr} + ldr r0, _0802DF00 + ldr r0, [r0] + ldr r1, [r0, 0x10] + bl sub_8012A64 + cmp r0, 0x1 + beq _0802DF04 + cmp r0, 0x2 + bne _0802DF0E + movs r0, 0x1 + bl sub_80119D4 + movs r0, 0x2 + b _0802DF10 + .align 2, 0 +_0802DF00: .4byte gUnknown_203B300 +_0802DF04: + movs r0, 0 + bl sub_80119D4 + movs r0, 0x3 + b _0802DF10 +_0802DF0E: + movs r0, 0 +_0802DF10: + pop {r1} + bx r1 + thumb_func_end sub_802DEE0 + + thumb_func_start sub_802DF14 +sub_802DF14: + push {lr} + bl sub_802DF6C + bl sub_802DF88 + pop {r0} + bx r0 + thumb_func_end sub_802DF14 + + thumb_func_start sub_802DF24 +sub_802DF24: + push {r4,r5,lr} + ldr r4, _0802DF64 + ldr r2, [r4] + cmp r2, 0 + beq _0802DF5E + ldr r0, [r2, 0x10] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x18 + ldr r0, _0802DF68 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x18 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802DF5E: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802DF64: .4byte gUnknown_203B300 +_0802DF68: .4byte gUnknown_80E0248 + thumb_func_end sub_802DF24 + + thumb_func_start sub_802DF6C +sub_802DF6C: + push {lr} + bl sub_8004914 + ldr r0, _0802DF84 + ldr r0, [r0] + adds r0, 0x18 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r0} + bx r0 + .align 2, 0 +_0802DF84: .4byte gUnknown_203B300 + thumb_func_end sub_802DF6C + + thumb_func_start sub_802DF88 +sub_802DF88: + push {r4,lr} + ldr r4, _0802DFAC + ldr r0, [r4] + ldr r0, [r0, 0x10] + bl sub_80073B8 + ldr r0, [r4] + ldr r0, [r0, 0xC] + bl sub_803B98C + ldr r0, [r4] + ldr r0, [r0, 0x10] + bl sub_80073E0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802DFAC: .4byte gUnknown_203B300 + thumb_func_end sub_802DF88 + + thumb_func_start sub_802DFB0 +sub_802DFB0: + push {r4,lr} + ldr r4, _0802DFD4 + movs r0, 0xB6 + lsls r0, 1 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + movs r1, 0 + str r1, [r0, 0x64] + str r1, [r0, 0x68] + movs r0, 0 + bl sub_802E088 + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0802DFD4: .4byte gUnknown_203B304 + thumb_func_end sub_802DFB0 + + thumb_func_start sub_802DFD8 +sub_802DFD8: + push {lr} + ldr r0, _0802DFF0 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0xB + bhi _0802E060 + lsls r0, 2 + ldr r1, _0802DFF4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802DFF0: .4byte gUnknown_203B304 +_0802DFF4: .4byte _0802DFF8 + .align 2, 0 +_0802DFF8: + .4byte _0802E028 + .4byte _0802E030 + .4byte _0802E036 + .4byte _0802E060 + .4byte _0802E03C + .4byte _0802E03C + .4byte _0802E042 + .4byte _0802E048 + .4byte _0802E04E + .4byte _0802E054 + .4byte _0802E054 + .4byte _0802E05A +_0802E028: + movs r0, 0x1 + bl sub_802E088 + b _0802E064 +_0802E030: + bl sub_802E4B0 + b _0802E064 +_0802E036: + bl nullsub_133 + b _0802E064 +_0802E03C: + bl sub_802E578 + b _0802E064 +_0802E042: + bl sub_802E60C + b _0802E064 +_0802E048: + bl sub_802E73C + b _0802E064 +_0802E04E: + bl sub_802E758 + b _0802E064 +_0802E054: + bl sub_802E774 + b _0802E064 +_0802E05A: + bl sub_802E7D0 + b _0802E064 +_0802E060: + movs r0, 0x3 + b _0802E066 +_0802E064: + movs r0, 0 +_0802E066: + pop {r1} + bx r1 + thumb_func_end sub_802DFD8 + + thumb_func_start sub_802E06C +sub_802E06C: + push {r4,lr} + ldr r4, _0802E084 + ldr r0, [r4] + cmp r0, 0 + beq _0802E07E + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802E07E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802E084: .4byte gUnknown_203B304 + thumb_func_end sub_802E06C + + thumb_func_start sub_802E088 +sub_802E088: + push {lr} + ldr r1, _0802E09C + ldr r1, [r1] + str r0, [r1] + bl sub_802E0A0 + bl sub_802E1AC + pop {r0} + bx r0 + .align 2, 0 +_0802E09C: .4byte gUnknown_203B304 + thumb_func_end sub_802E088 + + thumb_func_start sub_802E0A0 +sub_802E0A0: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r4, _0802E0C8 + ldr r0, [r4] + movs r6, 0x86 + lsls r6, 1 + adds r0, r6 + bl sub_8006518 + ldr r0, [r4] + ldr r5, [r0] + cmp r5, 0x1 + beq _0802E0D0 + cmp r5, 0x6 + beq _0802E124 + movs r3, 0 + ldr r2, _0802E0CC + b _0802E168 + .align 2, 0 +_0802E0C8: .4byte gUnknown_203B304 +_0802E0CC: .4byte gUnknown_80E0284 +_0802E0D0: + mov r12, r6 + ldr r0, _0802E118 + mov r8, r0 + movs r2, 0 + movs r3, 0x3 +_0802E0DA: + ldr r1, [r4] + adds r1, r2 + add r1, r12 + mov r0, r8 + 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 _0802E0DA + bl sub_802E2B4 + ldr r3, _0802E11C + ldr r2, [r3] + movs r0, 0x9E + lsls r0, 1 + adds r2, r0 + ldr r1, _0802E120 + ldm r1!, {r4-r6} + stm r2!, {r4-r6} + ldm r1!, {r4,r5,r7} + stm r2!, {r4,r5,r7} + ldr r1, [r3] + adds r0, r1, r0 + adds r1, 0xBC + bl sub_8012CAC + b _0802E188 + .align 2, 0 +_0802E118: .4byte gUnknown_80E0284 +_0802E11C: .4byte gUnknown_203B304 +_0802E120: .4byte gUnknown_80E029C +_0802E124: + bl sub_802E3B8 + ldr r2, [r4] + movs r0, 0x9E + lsls r0, 1 + adds r2, r0 + ldr r1, _0802E160 + ldm r1!, {r3,r6,r7} + stm r2!, {r3,r6,r7} + ldm r1!, {r3,r6,r7} + stm r2!, {r3,r6,r7} + ldr r1, [r4] + adds r0, r1, r0 + adds r1, 0xBC + bl sub_8012CAC + ldr r1, [r4] + movs r4, 0xA4 + lsls r4, 1 + adds r0, r1, r4 + strh r5, [r0] + movs r5, 0xAA + lsls r5, 1 + adds r1, r5 + ldr r0, _0802E164 + ldm r0!, {r2,r6,r7} + stm r1!, {r2,r6,r7} + ldm r0!, {r3-r5} + stm r1!, {r3-r5} + b _0802E188 + .align 2, 0 +_0802E160: .4byte gUnknown_80E02B4 +_0802E164: .4byte gUnknown_80E02CC +_0802E168: + ldr r0, [r4] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r0, r1 + movs r6, 0x86 + lsls r6, 1 + adds r0, r6 + adds r1, r2, 0 + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + adds r3, 0x1 + cmp r3, 0x3 + ble _0802E168 +_0802E188: + bl sub_8004914 + ldr r0, _0802E1A8 + ldr r0, [r0] + movs r7, 0x86 + lsls r7, 1 + adds r0, r7 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802E1A8: .4byte gUnknown_203B304 + thumb_func_end sub_802E0A0 + + thumb_func_start sub_802E1AC +sub_802E1AC: + push {r4,lr} + sub sp, 0x8 + ldr r1, _0802E1C8 + ldr r0, [r1] + ldr r0, [r0] + adds r4, r1, 0 + cmp r0, 0xB + bhi _0802E2AA + lsls r0, 2 + ldr r1, _0802E1CC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802E1C8: .4byte gUnknown_203B304 +_0802E1CC: .4byte _0802E1D0 + .align 2, 0 +_0802E1D0: + .4byte _0802E2AA + .4byte _0802E200 + .4byte _0802E2AA + .4byte _0802E2AA + .4byte _0802E21E + .4byte _0802E22A + .4byte _0802E232 + .4byte _0802E260 + .4byte _0802E286 + .4byte _0802E28E + .4byte _0802E29A + .4byte _0802E2A2 +_0802E200: + ldr r2, [r4] + adds r0, r2, 0 + adds r0, 0x6C + adds r1, r2, 0 + adds r1, 0xBC + adds r3, r2, 0 + adds r3, 0xFC + ldr r2, [r2, 0x64] + str r2, [sp] + movs r2, 0x2 + str r2, [sp, 0x4] + movs r2, 0 + bl sub_8012D60 + b _0802E2AA +_0802E21E: + movs r0, 0 + movs r1, 0 + movs r2, 0x4 + bl sub_802BD14 + b _0802E2AA +_0802E22A: + movs r0, 0x1 + bl sub_802BE94 + b _0802E2AA +_0802E232: + bl sub_802BFA0 + movs r0, 0x3 + bl sub_802E7F8 + ldr r0, _0802E25C + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x6C + adds r1, r2, 0 + adds r1, 0xBC + ldr r2, [r2, 0x68] + str r2, [sp] + movs r2, 0x2 + str r2, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_8012D60 + b _0802E2AA + .align 2, 0 +_0802E25C: .4byte gUnknown_203B304 +_0802E260: + ldr r0, [r4] + ldrb r0, [r0, 0x8] + bl sub_8095FE8 + ldr r1, [r4] + adds r1, 0xC + bl sub_803B35C + ldr r0, [r4] + movs r1, 0x3 + str r1, [r0, 0xC] + adds r0, 0x50 + movs r1, 0 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xC + bl sub_802DE84 + b _0802E2AA +_0802E286: + movs r0, 0 + bl sub_802C860 + b _0802E2AA +_0802E28E: + movs r0, 0 + movs r1, 0 + movs r2, 0x8 + bl sub_802B640 + b _0802E2AA +_0802E29A: + movs r0, 0x1 + bl sub_802B7D0 + b _0802E2AA +_0802E2A2: + ldr r0, [r4] + ldrb r0, [r0, 0x9] + bl sub_802B9FC +_0802E2AA: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802E1AC + + thumb_func_start sub_802E2B4 +sub_802E2B4: + push {r4-r7,lr} + ldr r4, _0802E380 + ldr r0, [r4] + adds r0, 0xFC + movs r1, 0 + movs r2, 0x10 + bl MemoryFill16 + ldr r1, [r4] + adds r2, r1, 0 + adds r2, 0xBC + ldr r0, _0802E384 + str r0, [r2] + adds r1, 0xC0 + movs r0, 0x2 + str r0, [r1] + bl sub_802C0E8 + lsls r0, 24 + cmp r0, 0 + beq _0802E2E6 + ldr r0, [r4] + adds r0, 0xFC + movs r1, 0x1 + strh r1, [r0] +_0802E2E6: + movs r5, 0x1 + ldr r1, [r4] + movs r6, 0x1 + adds r2, r1, 0 + adds r2, 0xC4 + ldr r0, _0802E388 + str r0, [r2] + adds r1, 0xC8 + movs r0, 0x3 + str r0, [r1] + bl sub_802C83C + lsls r0, 24 + cmp r0, 0 + beq _0802E30A + ldr r0, [r4] + adds r0, 0xFE + strh r5, [r0] +_0802E30A: + ldr r1, [r4] + adds r2, r1, 0 + adds r2, 0xCC + ldr r0, _0802E38C + str r0, [r2] + adds r1, 0xD0 + movs r0, 0x4 + str r0, [r1] + bl sub_802B9D8 + lsls r0, 24 + cmp r0, 0 + beq _0802E32E + ldr r0, [r4] + movs r1, 0x80 + lsls r1, 1 + adds r0, r1 + strh r6, [r0] +_0802E32E: + movs r5, 0x3 + ldr r2, [r4] + adds r0, r2, 0 + adds r0, 0xD4 + movs r1, 0 + str r1, [r0] + adds r0, 0x4 + str r6, [r0] + movs r3, 0 + adds r6, r4, 0 + mov r12, r2 + mov r4, r12 + adds r4, 0xFC + adds r2, 0xC0 +_0802E34A: + ldrh r0, [r4] + cmp r0, 0 + bne _0802E35A + ldr r1, [r2] + mov r7, r12 + ldr r0, [r7, 0x64] + cmp r1, r0 + beq _0802E3B2 +_0802E35A: + adds r4, 0x2 + adds r2, 0x8 + adds r3, 0x1 + cmp r3, r5 + blt _0802E34A + movs r3, 0 + cmp r3, r5 + bge _0802E3B2 + ldr r1, [r6] + adds r0, r1, 0 + adds r0, 0xFC + ldrh r0, [r0] + cmp r0, 0 + bne _0802E390 + adds r0, r1, 0 + adds r0, 0xC0 + ldr r0, [r0] + str r0, [r1, 0x64] + b _0802E3B2 + .align 2, 0 +_0802E380: .4byte gUnknown_203B304 +_0802E384: .4byte gUnknown_80E02E4 +_0802E388: .4byte gUnknown_80E02F0 +_0802E38C: .4byte gUnknown_80E02FC +_0802E390: + adds r3, 0x1 + cmp r3, r5 + bge _0802E3B2 + ldr r2, [r6] + lsls r0, r3, 1 + adds r1, r2, 0 + adds r1, 0xFC + adds r1, r0 + ldrh r0, [r1] + cmp r0, 0 + bne _0802E390 + lsls r0, r3, 3 + adds r1, r2, 0 + adds r1, 0xC0 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x64] +_0802E3B2: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_802E2B4 + + thumb_func_start sub_802E3B8 +sub_802E3B8: + push {r4-r7,lr} + movs r5, 0 + ldr r4, _0802E3F0 + ldr r0, [r4] + ldrb r0, [r0, 0x8] + bl sub_8095FE8 + adds r7, r0, 0 + ldrb r0, [r7] + cmp r0, 0x1 + bne _0802E3FC + ldr r2, [r4] + adds r1, r2, 0 + adds r1, 0xBC + ldr r0, _0802E3F4 + str r0, [r1] + adds r1, 0x4 + movs r0, 0x6 + str r0, [r1] + adds r1, 0x4 + ldr r0, _0802E3F8 + str r0, [r1] + adds r1, 0x4 + movs r0, 0x7 + str r0, [r1] + movs r5, 0x2 + b _0802E44A + .align 2, 0 +_0802E3F0: .4byte gUnknown_203B304 +_0802E3F4: .4byte gUnknown_80E0308 +_0802E3F8: .4byte gUnknown_80E0310 +_0802E3FC: + ldr r1, [r4] + adds r2, r1, 0 + adds r2, 0xBC + ldr r0, _0802E494 + ldr r0, [r0] + str r0, [r2] + adds r1, 0xC0 + movs r0, 0x5 + str r0, [r1] + adds r0, r7, 0 + bl sub_80968B0 + lsls r0, 24 + cmp r0, 0 + bne _0802E422 + bl sub_80969AC + cmp r0, 0x7 + ble _0802E42C +_0802E422: + ldr r0, [r4] + adds r0, 0xC0 + movs r1, 0x1 + negs r1, r1 + str r1, [r0] +_0802E42C: + adds r5, 0x1 + ldr r4, _0802E498 + ldr r2, [r4] + lsls r3, r5, 3 + adds r0, r2, 0 + adds r0, 0xBC + adds r0, r3 + ldr r1, _0802E49C + ldr r1, [r1] + str r1, [r0] + adds r2, 0xC0 + adds r2, r3 + movs r0, 0x8 + str r0, [r2] + adds r5, 0x1 +_0802E44A: + mov r12, r4 + mov r0, r12 + ldr r4, [r0] + lsls r2, r5, 3 + adds r0, r4, 0 + adds r0, 0xBC + adds r0, r2 + movs r1, 0 + str r1, [r0] + adds r1, r4, 0 + adds r1, 0xC0 + adds r2, r1, r2 + movs r0, 0x1 + str r0, [r2] + movs r3, 0 + cmp r3, r5 + bge _0802E486 + movs r6, 0x1 + negs r6, r6 + adds r2, r1, 0 +_0802E472: + ldr r1, [r2] + cmp r1, r6 + beq _0802E47E + ldr r0, [r4, 0x68] + cmp r1, r0 + beq _0802E4A8 +_0802E47E: + adds r2, 0x8 + adds r3, 0x1 + cmp r3, r5 + blt _0802E472 +_0802E486: + ldrb r0, [r7] + cmp r0, 0x1 + bne _0802E4A0 + mov r0, r12 + ldr r1, [r0] + movs r0, 0x7 + b _0802E4A6 + .align 2, 0 +_0802E494: .4byte gUnknown_80D4990 +_0802E498: .4byte gUnknown_203B304 +_0802E49C: .4byte gUnknown_80D4970 +_0802E4A0: + mov r0, r12 + ldr r1, [r0] + movs r0, 0x8 +_0802E4A6: + str r0, [r1, 0x68] +_0802E4A8: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_802E3B8 + + thumb_func_start sub_802E4B0 +sub_802E4B0: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + ldr r4, _0802E4F0 + ldr r0, [r4] + adds r0, 0x6C + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0802E4DC + ldr r0, [r4] + adds r0, 0x6C + mov r1, sp + bl sub_8013114 + ldr r1, [sp] + cmp r1, 0x1 + beq _0802E4DC + ldr r0, [r4] + str r1, [r0, 0x64] +_0802E4DC: + ldr r0, [sp] + subs r0, 0x1 + cmp r0, 0x7 + bhi _0802E56E + lsls r0, 2 + ldr r1, _0802E4F4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802E4F0: .4byte gUnknown_203B304 +_0802E4F4: .4byte _0802E4F8 + .align 2, 0 +_0802E4F8: + .4byte _0802E568 + .4byte _0802E518 + .4byte _0802E52A + .4byte _0802E53C + .4byte _0802E56E + .4byte _0802E56E + .4byte _0802E56E + .4byte _0802E560 +_0802E518: + bl sub_802C0E8 + lsls r0, 24 + cmp r0, 0 + bne _0802E54E + movs r0, 0x4 + bl sub_802E088 + b _0802E56E +_0802E52A: + bl sub_802C83C + lsls r0, 24 + cmp r0, 0 + bne _0802E54E + movs r0, 0x8 + bl sub_802E088 + b _0802E56E +_0802E53C: + bl sub_802B9D8 + lsls r0, 24 + cmp r0, 0 + bne _0802E54E + movs r0, 0x9 + bl sub_802E088 + b _0802E56E +_0802E54E: + ldr r0, _0802E55C + ldr r0, [r0] + adds r0, 0x6C + movs r1, 0x1 + bl sub_8012EA4 + b _0802E56E + .align 2, 0 +_0802E55C: .4byte gUnknown_203B304 +_0802E560: + movs r0, 0x2 + bl sub_802E088 + b _0802E56E +_0802E568: + movs r0, 0x3 + bl sub_802E088 +_0802E56E: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802E4B0 + + thumb_func_start sub_802E578 +sub_802E578: + push {r4,lr} + movs r0, 0x1 + bl sub_802BDEC + cmp r0, 0x4 + bhi _0802E606 + lsls r0, 2 + ldr r1, _0802E590 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802E590: .4byte _0802E594 + .align 2, 0 +_0802E594: + .4byte _0802E606 + .4byte _0802E606 + .4byte _0802E5FC + .4byte _0802E5A8 + .4byte _0802E5C0 +_0802E5A8: + bl sub_802BE74 + ldr r1, _0802E5BC + ldr r1, [r1] + strb r0, [r1, 0x8] + movs r0, 0x6 + bl sub_802E088 + b _0802E606 + .align 2, 0 +_0802E5BC: .4byte gUnknown_203B304 +_0802E5C0: + bl sub_802BE74 + ldr r4, _0802E5F0 + ldr r1, [r4] + strb r0, [r1, 0x8] + ldr r0, [r4] + ldrb r0, [r0, 0x8] + bl sub_8095FE8 + adds r2, r0, 0 + ldrb r0, [r2] + cmp r0, 0x1 + bne _0802E5F4 + ldr r1, [r4] + ldrb r0, [r2, 0x5] + strb r0, [r1, 0x9] + ldr r1, [r4] + movs r0, 0x5 + str r0, [r1, 0x4] + movs r0, 0xB + bl sub_802E088 + b _0802E606 + .align 2, 0 +_0802E5F0: .4byte gUnknown_203B304 +_0802E5F4: + movs r0, 0x7 + bl sub_802E088 + b _0802E606 +_0802E5FC: + bl sub_802BEDC + movs r0, 0x1 + bl sub_802E088 +_0802E606: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802E578 + + thumb_func_start sub_802E60C +sub_802E60C: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_802BDEC + ldr r4, _0802E650 + ldr r0, [r4] + adds r0, 0x6C + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0802E63C + ldr r0, [r4] + adds r0, 0x6C + mov r1, sp + bl sub_8013114 + ldr r1, [sp] + cmp r1, 0x1 + beq _0802E63C + ldr r0, [r4] + str r1, [r0, 0x68] +_0802E63C: + ldr r0, [sp] + subs r0, 0x1 + cmp r0, 0x7 + bhi _0802E732 + lsls r0, 2 + ldr r1, _0802E654 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802E650: .4byte gUnknown_203B304 +_0802E654: .4byte _0802E658 + .align 2, 0 +_0802E658: + .4byte _0802E72C + .4byte _0802E732 + .4byte _0802E732 + .4byte _0802E732 + .4byte _0802E678 + .4byte _0802E6BC + .4byte _0802E704 + .4byte _0802E6B4 +_0802E678: + ldr r0, _0802E6AC + bl sub_8011988 + ldr r4, _0802E6B0 + ldr r0, [r4] + ldrb r0, [r0, 0x8] + bl sub_8095FE8 + bl sub_8096A78 + bl sub_8096C80 + bl sub_8096D24 + ldr r0, [r4] + ldrb r0, [r0, 0x8] + bl sub_8096040 + bl sub_8096078 + bl sub_802C0E8 + lsls r0, 24 + cmp r0, 0 + bne _0802E6E8 + b _0802E6FC + .align 2, 0 +_0802E6AC: .4byte 0x00000133 +_0802E6B0: .4byte gUnknown_203B304 +_0802E6B4: + movs r0, 0x7 + bl sub_802E088 + b _0802E732 +_0802E6BC: + ldr r0, _0802E6F4 + bl sub_8011988 + ldr r4, _0802E6F8 + ldr r0, [r4] + ldrb r0, [r0, 0x8] + bl sub_8095FE8 + ldrb r0, [r0, 0x5] + bl sub_8096DF8 + ldr r0, [r4] + ldrb r0, [r0, 0x8] + bl sub_8096040 + bl sub_8096078 + bl sub_802C0E8 + lsls r0, 24 + cmp r0, 0 + beq _0802E6FC +_0802E6E8: + bl sub_802BEDC + movs r0, 0x1 + bl sub_802E088 + b _0802E732 + .align 2, 0 +_0802E6F4: .4byte 0x00000133 +_0802E6F8: .4byte gUnknown_203B304 +_0802E6FC: + movs r0, 0x5 + bl sub_802E088 + b _0802E732 +_0802E704: + movs r0, 0 + bl sub_80119D4 + ldr r4, _0802E728 + ldr r0, [r4] + ldrb r0, [r0, 0x8] + bl sub_8095FE8 + ldr r1, [r4] + ldrb r0, [r0, 0x5] + strb r0, [r1, 0x9] + ldr r1, [r4] + movs r0, 0x5 + str r0, [r1, 0x4] + movs r0, 0xB + bl sub_802E088 + b _0802E732 + .align 2, 0 +_0802E728: .4byte gUnknown_203B304 +_0802E72C: + movs r0, 0x5 + bl sub_802E088 +_0802E732: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802E60C + + thumb_func_start sub_802E73C +sub_802E73C: + push {lr} + bl sub_802DEE0 + cmp r0, 0x1 + bls _0802E754 + cmp r0, 0x3 + bhi _0802E754 + bl sub_802DF24 + movs r0, 0x5 + bl sub_802E088 +_0802E754: + pop {r0} + bx r0 + thumb_func_end sub_802E73C + + thumb_func_start sub_802E758 +sub_802E758: + push {lr} + bl sub_802C898 + cmp r0, 0x1 + bls _0802E770 + cmp r0, 0x3 + bhi _0802E770 + bl sub_802C8F4 + movs r0, 0x1 + bl sub_802E088 +_0802E770: + pop {r0} + bx r0 + thumb_func_end sub_802E758 + + thumb_func_start sub_802E774 +sub_802E774: + push {lr} + movs r0, 0x1 + bl sub_802B720 + cmp r0, 0x4 + bhi _0802E7CA + lsls r0, 2 + ldr r1, _0802E78C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802E78C: .4byte _0802E790 + .align 2, 0 +_0802E790: + .4byte _0802E7CA + .4byte _0802E7CA + .4byte _0802E7C0 + .4byte _0802E7A4 + .4byte _0802E7A4 +_0802E7A4: + bl sub_802B7A8 + ldr r2, _0802E7BC + ldr r1, [r2] + strb r0, [r1, 0x9] + ldr r1, [r2] + movs r0, 0xA + str r0, [r1, 0x4] + movs r0, 0xB + bl sub_802E088 + b _0802E7CA + .align 2, 0 +_0802E7BC: .4byte gUnknown_203B304 +_0802E7C0: + bl sub_802B81C + movs r0, 0x1 + bl sub_802E088 +_0802E7CA: + pop {r0} + bx r0 + thumb_func_end sub_802E774 + + thumb_func_start sub_802E7D0 +sub_802E7D0: + push {lr} + bl sub_802BA8C + cmp r0, 0x1 + bls _0802E7EC + cmp r0, 0x3 + bhi _0802E7EC + bl sub_802BACC + ldr r0, _0802E7F0 + ldr r0, [r0] + ldr r0, [r0, 0x4] + bl sub_802E088 +_0802E7EC: + pop {r0} + bx r0 + .align 2, 0 +_0802E7F0: .4byte gUnknown_203B304 + thumb_func_end sub_802E7D0 + + thumb_func_start nullsub_133 +nullsub_133: + bx lr + thumb_func_end nullsub_133 + + thumb_func_start sub_802E7F8 +sub_802E7F8: + push {r4-r6,lr} + sub sp, 0x8 + adds r4, r0, 0 + bl sub_8008C54 + adds r0, r4, 0 + bl sub_80073B8 + ldr r2, _0802E85C + movs r6, 0 + str r6, [sp] + movs r0, 0x3 + movs r1, 0 + adds r3, r4, 0 + bl xxx_call_draw_string + bl sub_80969AC + adds r2, r0, 0 + movs r5, 0x7 + str r5, [sp] + str r4, [sp, 0x4] + movs r0, 0x12 + movs r1, 0xD + movs r3, 0x2 + bl sub_8012BC4 + ldr r2, _0802E860 + str r6, [sp] + movs r0, 0x16 + movs r1, 0xD + adds r3, r4, 0 + bl xxx_call_draw_string + str r5, [sp] + str r4, [sp, 0x4] + movs r0, 0x23 + movs r1, 0xD + movs r2, 0x8 + movs r3, 0x2 + bl sub_8012BC4 + adds r0, r4, 0 + bl sub_80073E0 + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0802E85C: .4byte gUnknown_80E0318 +_0802E860: .4byte gUnknown_80E0324 + thumb_func_end sub_802E7F8 + + thumb_func_start sub_802E864 +sub_802E864: + push {r4,lr} + ldr r4, _0802E88C + movs r0, 0xB6 + lsls r0, 1 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + movs r1, 0 + str r1, [r0, 0x64] + str r1, [r0, 0x68] + str r1, [r0, 0x4] + movs r0, 0 + bl sub_802E934 + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0802E88C: .4byte gUnknown_203B308 + thumb_func_end sub_802E864 + + thumb_func_start sub_802E890 +sub_802E890: + push {lr} + ldr r0, _0802E8A8 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x8 + bhi _0802E900 + lsls r0, 2 + ldr r1, _0802E8AC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802E8A8: .4byte gUnknown_203B308 +_0802E8AC: .4byte _0802E8B0 + .align 2, 0 +_0802E8B0: + .4byte _0802E8D4 + .4byte _0802E8DC + .4byte _0802E8E2 + .4byte _0802E900 + .4byte _0802E8E8 + .4byte _0802E8E8 + .4byte _0802E8EE + .4byte _0802E8F4 + .4byte _0802E8FA +_0802E8D4: + movs r0, 0x1 + bl sub_802E934 + b _0802E904 +_0802E8DC: + bl sub_802ECB4 + b _0802E904 +_0802E8E2: + bl nullsub_134 + b _0802E904 +_0802E8E8: + bl sub_802ED4C + b _0802E904 +_0802E8EE: + bl sub_802EDBC + b _0802E904 +_0802E8F4: + bl sub_802EEA0 + b _0802E904 +_0802E8FA: + bl sub_802EEBC + b _0802E904 +_0802E900: + movs r0, 0x3 + b _0802E906 +_0802E904: + movs r0, 0 +_0802E906: + pop {r1} + bx r1 + thumb_func_end sub_802E890 + + thumb_func_start sub_802E90C +sub_802E90C: + ldr r0, _0802E914 + ldr r0, [r0] + ldr r0, [r0, 0x4] + bx lr + .align 2, 0 +_0802E914: .4byte gUnknown_203B308 + thumb_func_end sub_802E90C + + thumb_func_start sub_802E918 +sub_802E918: + push {r4,lr} + ldr r4, _0802E930 + ldr r0, [r4] + cmp r0, 0 + beq _0802E92A + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802E92A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802E930: .4byte gUnknown_203B308 + thumb_func_end sub_802E918 + + thumb_func_start sub_802E934 +sub_802E934: + push {lr} + ldr r1, _0802E948 + ldr r1, [r1] + str r0, [r1] + bl sub_802E94C + bl sub_802EA58 + pop {r0} + bx r0 + .align 2, 0 +_0802E948: .4byte gUnknown_203B308 + thumb_func_end sub_802E934 + + thumb_func_start sub_802E94C +sub_802E94C: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r4, _0802E974 + ldr r0, [r4] + movs r6, 0x86 + lsls r6, 1 + adds r0, r6 + bl sub_8006518 + ldr r0, [r4] + ldr r5, [r0] + cmp r5, 0x1 + beq _0802E97C + cmp r5, 0x6 + beq _0802E9D0 + movs r3, 0 + ldr r2, _0802E978 + b _0802EA14 + .align 2, 0 +_0802E974: .4byte gUnknown_203B308 +_0802E978: .4byte gUnknown_80E0330 +_0802E97C: + mov r12, r6 + ldr r0, _0802E9C4 + mov r8, r0 + movs r2, 0 + movs r3, 0x3 +_0802E986: + ldr r1, [r4] + adds r1, r2 + add r1, r12 + mov r0, r8 + 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 _0802E986 + bl sub_802EB34 + ldr r3, _0802E9C8 + ldr r2, [r3] + movs r0, 0x9E + lsls r0, 1 + adds r2, r0 + ldr r1, _0802E9CC + ldm r1!, {r4-r6} + stm r2!, {r4-r6} + ldm r1!, {r4,r5,r7} + stm r2!, {r4,r5,r7} + ldr r1, [r3] + adds r0, r1, r0 + adds r1, 0xBC + bl sub_8012CAC + b _0802EA34 + .align 2, 0 +_0802E9C4: .4byte gUnknown_80E0330 +_0802E9C8: .4byte gUnknown_203B308 +_0802E9CC: .4byte gUnknown_80E0348 +_0802E9D0: + bl sub_802EC10 + ldr r2, [r4] + movs r0, 0x9E + lsls r0, 1 + adds r2, r0 + ldr r1, _0802EA0C + ldm r1!, {r3,r6,r7} + stm r2!, {r3,r6,r7} + ldm r1!, {r3,r6,r7} + stm r2!, {r3,r6,r7} + ldr r1, [r4] + adds r0, r1, r0 + adds r1, 0xBC + bl sub_8012CAC + ldr r1, [r4] + movs r4, 0xA4 + lsls r4, 1 + adds r0, r1, r4 + strh r5, [r0] + movs r5, 0xAA + lsls r5, 1 + adds r1, r5 + ldr r0, _0802EA10 + ldm r0!, {r2,r6,r7} + stm r1!, {r2,r6,r7} + ldm r0!, {r3-r5} + stm r1!, {r3-r5} + b _0802EA34 + .align 2, 0 +_0802EA0C: .4byte gUnknown_80E0360 +_0802EA10: .4byte gUnknown_80E0378 +_0802EA14: + ldr r0, [r4] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r0, r1 + movs r6, 0x86 + lsls r6, 1 + adds r0, r6 + adds r1, r2, 0 + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + adds r3, 0x1 + cmp r3, 0x3 + ble _0802EA14 +_0802EA34: + bl sub_8004914 + ldr r0, _0802EA54 + ldr r0, [r0] + movs r7, 0x86 + lsls r7, 1 + adds r0, r7 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802EA54: .4byte gUnknown_203B308 + thumb_func_end sub_802E94C + + thumb_func_start sub_802EA58 +sub_802EA58: + push {r4,lr} + sub sp, 0x8 + ldr r1, _0802EA74 + ldr r0, [r1] + ldr r0, [r0] + adds r4, r1, 0 + cmp r0, 0x8 + bhi _0802EB2C + lsls r0, 2 + ldr r1, _0802EA78 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802EA74: .4byte gUnknown_203B308 +_0802EA78: .4byte _0802EA7C + .align 2, 0 +_0802EA7C: + .4byte _0802EB2C + .4byte _0802EAA0 + .4byte _0802EB2C + .4byte _0802EB2C + .4byte _0802EABE + .4byte _0802EACA + .4byte _0802EAD2 + .4byte _0802EB00 + .4byte _0802EB26 +_0802EAA0: + ldr r2, [r4] + adds r0, r2, 0 + adds r0, 0x6C + adds r1, r2, 0 + adds r1, 0xBC + adds r3, r2, 0 + adds r3, 0xFC + ldr r2, [r2, 0x64] + str r2, [sp] + movs r2, 0x2 + str r2, [sp, 0x4] + movs r2, 0 + bl sub_8012D60 + b _0802EB2C +_0802EABE: + movs r0, 0 + movs r1, 0 + movs r2, 0x4 + bl sub_802C10C + b _0802EB2C +_0802EACA: + movs r0, 0x1 + bl sub_802C28C + b _0802EB2C +_0802EAD2: + bl sub_802C39C + movs r0, 0x3 + bl sub_802EEDC + ldr r0, _0802EAFC + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x6C + adds r1, r2, 0 + adds r1, 0xBC + ldr r2, [r2, 0x68] + str r2, [sp] + movs r2, 0x2 + str r2, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_8012D60 + b _0802EB2C + .align 2, 0 +_0802EAFC: .4byte gUnknown_203B308 +_0802EB00: + ldr r0, [r4] + ldrb r0, [r0, 0x8] + bl sub_8096574 + ldr r1, [r4] + adds r1, 0xC + bl sub_803B35C + ldr r0, [r4] + movs r1, 0x3 + str r1, [r0, 0xC] + adds r0, 0x50 + movs r1, 0 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xC + bl sub_802DE84 + b _0802EB2C +_0802EB26: + movs r0, 0 + bl sub_802C860 +_0802EB2C: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802EA58 + + thumb_func_start sub_802EB34 +sub_802EB34: + push {r4-r7,lr} + ldr r4, _0802EBDC + ldr r0, [r4] + adds r0, 0xFC + movs r1, 0 + movs r2, 0x10 + bl MemoryFill16 + ldr r1, [r4] + adds r2, r1, 0 + adds r2, 0xBC + ldr r0, _0802EBE0 + str r0, [r2] + adds r1, 0xC0 + movs r0, 0x2 + str r0, [r1] + bl sub_802C4A4 + lsls r0, 24 + cmp r0, 0 + beq _0802EB66 + ldr r0, [r4] + adds r0, 0xFC + movs r1, 0x1 + strh r1, [r0] +_0802EB66: + movs r5, 0x1 + ldr r1, [r4] + adds r2, r1, 0 + adds r2, 0xC4 + ldr r0, _0802EBE4 + str r0, [r2] + adds r1, 0xC8 + movs r0, 0x3 + str r0, [r1] + bl sub_802C83C + lsls r0, 24 + cmp r0, 0 + beq _0802EB88 + ldr r0, [r4] + adds r0, 0xFE + strh r5, [r0] +_0802EB88: + movs r5, 0x2 + ldr r2, [r4] + adds r1, r2, 0 + adds r1, 0xCC + movs r0, 0 + str r0, [r1] + adds r1, 0x4 + movs r0, 0x1 + str r0, [r1] + movs r3, 0 + adds r6, r4, 0 + mov r12, r2 + mov r4, r12 + adds r4, 0xFC + adds r2, 0xC0 +_0802EBA6: + ldrh r0, [r4] + cmp r0, 0 + bne _0802EBB6 + ldr r1, [r2] + mov r7, r12 + ldr r0, [r7, 0x64] + cmp r1, r0 + beq _0802EC0A +_0802EBB6: + adds r4, 0x2 + adds r2, 0x8 + adds r3, 0x1 + cmp r3, r5 + blt _0802EBA6 + movs r3, 0 + cmp r3, r5 + bge _0802EC0A + ldr r1, [r6] + adds r0, r1, 0 + adds r0, 0xFC + ldrh r0, [r0] + cmp r0, 0 + bne _0802EBE8 + adds r0, r1, 0 + adds r0, 0xC0 + ldr r0, [r0] + str r0, [r1, 0x64] + b _0802EC0A + .align 2, 0 +_0802EBDC: .4byte gUnknown_203B308 +_0802EBE0: .4byte gUnknown_80E0390 +_0802EBE4: .4byte gUnknown_80E03A0 +_0802EBE8: + adds r3, 0x1 + cmp r3, r5 + bge _0802EC0A + ldr r2, [r6] + lsls r0, r3, 1 + adds r1, r2, 0 + adds r1, 0xFC + adds r1, r0 + ldrh r0, [r1] + cmp r0, 0 + bne _0802EBE8 + lsls r0, r3, 3 + adds r1, r2, 0 + adds r1, 0xC0 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0x64] +_0802EC0A: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_802EB34 + + thumb_func_start sub_802EC10 +sub_802EC10: + push {r4-r7,lr} + movs r6, 0 + ldr r4, _0802ECA8 + ldr r2, [r4] + adds r1, r2, 0 + adds r1, 0xBC + ldr r0, _0802ECAC + ldr r0, [r0] + str r0, [r1] + adds r1, 0x4 + movs r0, 0x4 + str r0, [r1] + ldrb r0, [r2, 0x8] + bl sub_8096574 + bl sub_80968B0 + lsls r0, 24 + cmp r0, 0 + bne _0802EC40 + bl sub_80969AC + cmp r0, 0x7 + ble _0802EC4A +_0802EC40: + ldr r0, [r4] + adds r0, 0xC0 + movs r1, 0x1 + negs r1, r1 + str r1, [r0] +_0802EC4A: + adds r6, 0x1 + ldr r4, _0802ECA8 + ldr r5, [r4] + lsls r1, r6, 3 + adds r2, r5, 0 + adds r2, 0xBC + adds r3, r2, r1 + ldr r0, _0802ECB0 + ldr r0, [r0] + str r0, [r3] + adds r3, r5, 0 + adds r3, 0xC0 + adds r1, r3, r1 + movs r0, 0x5 + str r0, [r1] + adds r6, 0x1 + lsls r1, r6, 3 + adds r2, r1 + movs r0, 0 + str r0, [r2] + adds r1, r3, r1 + movs r0, 0x1 + str r0, [r1] + movs r2, 0 + adds r7, r4, 0 + cmp r2, r6 + bge _0802EC9C + adds r4, r5, 0 + movs r5, 0x1 + negs r5, r5 + adds r1, r3, 0 +_0802EC88: + ldr r3, [r1] + cmp r3, r5 + beq _0802EC94 + ldr r0, [r4, 0x68] + cmp r3, r0 + beq _0802ECA2 +_0802EC94: + adds r1, 0x8 + adds r2, 0x1 + cmp r2, r6 + blt _0802EC88 +_0802EC9C: + ldr r1, [r7] + movs r0, 0x5 + str r0, [r1, 0x68] +_0802ECA2: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802ECA8: .4byte gUnknown_203B308 +_0802ECAC: .4byte gUnknown_80D4990 +_0802ECB0: .4byte gUnknown_80D4970 + thumb_func_end sub_802EC10 + + thumb_func_start sub_802ECB4 +sub_802ECB4: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + ldr r4, _0802ECF0 + ldr r0, [r4] + adds r0, 0x6C + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0802ECE0 + ldr r0, [r4] + adds r0, 0x6C + mov r1, sp + bl sub_8013114 + ldr r1, [sp] + cmp r1, 0x1 + beq _0802ECE0 + ldr r0, [r4] + str r1, [r0, 0x64] +_0802ECE0: + ldr r0, [sp] + cmp r0, 0x2 + beq _0802ECFE + cmp r0, 0x2 + bgt _0802ECF4 + cmp r0, 0x1 + beq _0802ED3C + b _0802ED42 + .align 2, 0 +_0802ECF0: .4byte gUnknown_203B308 +_0802ECF4: + cmp r0, 0x3 + beq _0802ED10 + cmp r0, 0x5 + beq _0802ED34 + b _0802ED42 +_0802ECFE: + bl sub_802C4A4 + lsls r0, 24 + cmp r0, 0 + bne _0802ED22 + movs r0, 0x4 + bl sub_802E934 + b _0802ED42 +_0802ED10: + bl sub_802C83C + lsls r0, 24 + cmp r0, 0 + bne _0802ED22 + movs r0, 0x8 + bl sub_802E934 + b _0802ED42 +_0802ED22: + ldr r0, _0802ED30 + ldr r0, [r0] + adds r0, 0x6C + movs r1, 0x1 + bl sub_8012EA4 + b _0802ED42 + .align 2, 0 +_0802ED30: .4byte gUnknown_203B308 +_0802ED34: + movs r0, 0x2 + bl sub_802E934 + b _0802ED42 +_0802ED3C: + movs r0, 0x3 + bl sub_802E934 +_0802ED42: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802ECB4 + + thumb_func_start sub_802ED4C +sub_802ED4C: + push {lr} + movs r0, 0x1 + bl sub_802C1E4 + cmp r0, 0x4 + bhi _0802EDB6 + lsls r0, 2 + ldr r1, _0802ED64 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802ED64: .4byte _0802ED68 + .align 2, 0 +_0802ED68: + .4byte _0802EDB6 + .4byte _0802EDB6 + .4byte _0802EDAC + .4byte _0802ED7C + .4byte _0802ED94 +_0802ED7C: + bl sub_802C26C + ldr r1, _0802ED90 + ldr r1, [r1] + strb r0, [r1, 0x8] + movs r0, 0x6 + bl sub_802E934 + b _0802EDB6 + .align 2, 0 +_0802ED90: .4byte gUnknown_203B308 +_0802ED94: + bl sub_802C26C + ldr r1, _0802EDA8 + ldr r1, [r1] + strb r0, [r1, 0x8] + movs r0, 0x7 + bl sub_802E934 + b _0802EDB6 + .align 2, 0 +_0802EDA8: .4byte gUnknown_203B308 +_0802EDAC: + bl sub_802C2D4 + movs r0, 0x1 + bl sub_802E934 +_0802EDB6: + pop {r0} + bx r0 + thumb_func_end sub_802ED4C + + thumb_func_start sub_802EDBC +sub_802EDBC: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_802C1E4 + ldr r4, _0802EDFC + ldr r0, [r4] + adds r0, 0x6C + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0802EDEC + ldr r0, [r4] + adds r0, 0x6C + mov r1, sp + bl sub_8013114 + ldr r1, [sp] + cmp r1, 0x1 + beq _0802EDEC + ldr r0, [r4] + str r1, [r0, 0x68] +_0802EDEC: + ldr r0, [sp] + cmp r0, 0x4 + beq _0802EE06 + cmp r0, 0x4 + bgt _0802EE00 + cmp r0, 0x1 + beq _0802EE90 + b _0802EE96 + .align 2, 0 +_0802EDFC: .4byte gUnknown_203B308 +_0802EE00: + cmp r0, 0x5 + beq _0802EE88 + b _0802EE96 +_0802EE06: + ldr r0, _0802EE28 + bl sub_8011988 + ldr r4, _0802EE2C + ldr r0, [r4] + ldrb r0, [r0, 0x8] + bl sub_8096574 + ldrb r1, [r0] + cmp r1, 0x3 + beq _0802EE3C + cmp r1, 0x3 + bgt _0802EE30 + cmp r1, 0x2 + beq _0802EE36 + b _0802EE5E + .align 2, 0 +_0802EE28: .4byte 0x00000133 +_0802EE2C: .4byte gUnknown_203B308 +_0802EE30: + cmp r1, 0x4 + beq _0802EE42 + b _0802EE5E +_0802EE36: + ldr r0, [r4] + movs r1, 0x1 + b _0802EE46 +_0802EE3C: + ldr r0, [r4] + movs r1, 0x2 + b _0802EE46 +_0802EE42: + ldr r0, [r4] + movs r1, 0x3 +_0802EE46: + str r1, [r0, 0x4] + ldrb r0, [r0, 0x8] + bl sub_80965B8 + bl sub_80965F4 + bl sub_802C2D4 + movs r0, 0x3 + bl sub_802E934 + b _0802EE96 +_0802EE5E: + bl sub_8096A78 + bl sub_8096C80 + bl sub_8096D24 + bl sub_802C4A4 + lsls r0, 24 + cmp r0, 0 + beq _0802EE80 + bl sub_802C2D4 + movs r0, 0x1 + bl sub_802E934 + b _0802EE96 +_0802EE80: + movs r0, 0x5 + bl sub_802E934 + b _0802EE96 +_0802EE88: + movs r0, 0x7 + bl sub_802E934 + b _0802EE96 +_0802EE90: + movs r0, 0x5 + bl sub_802E934 +_0802EE96: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_802EDBC + + thumb_func_start sub_802EEA0 +sub_802EEA0: + push {lr} + bl sub_802DEE0 + cmp r0, 0x1 + bls _0802EEB8 + cmp r0, 0x3 + bhi _0802EEB8 + bl sub_802DF24 + movs r0, 0x5 + bl sub_802E934 +_0802EEB8: + pop {r0} + bx r0 + thumb_func_end sub_802EEA0 + + thumb_func_start sub_802EEBC +sub_802EEBC: + push {lr} + bl sub_802C898 + cmp r0, 0x1 + bls _0802EED4 + cmp r0, 0x3 + bhi _0802EED4 + bl sub_802C8F4 + movs r0, 0x1 + bl sub_802E934 +_0802EED4: + pop {r0} + bx r0 + thumb_func_end sub_802EEBC + + thumb_func_start nullsub_134 +nullsub_134: + bx lr + thumb_func_end nullsub_134 + + thumb_func_start sub_802EEDC +sub_802EEDC: + push {r4-r6,lr} + sub sp, 0x8 + adds r4, r0, 0 + bl sub_8008C54 + adds r0, r4, 0 + bl sub_80073B8 + ldr r2, _0802EF40 + movs r6, 0 + str r6, [sp] + movs r0, 0x3 + movs r1, 0 + adds r3, r4, 0 + bl xxx_call_draw_string + bl sub_80969AC + adds r2, r0, 0 + movs r5, 0x7 + str r5, [sp] + str r4, [sp, 0x4] + movs r0, 0x12 + movs r1, 0xD + movs r3, 0x2 + bl sub_8012BC4 + ldr r2, _0802EF44 + str r6, [sp] + movs r0, 0x16 + movs r1, 0xD + adds r3, r4, 0 + bl xxx_call_draw_string + str r5, [sp] + str r4, [sp, 0x4] + movs r0, 0x23 + movs r1, 0xD + movs r2, 0x8 + movs r3, 0x2 + bl sub_8012BC4 + adds r0, r4, 0 + bl sub_80073E0 + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0802EF40: .4byte gUnknown_80E03AC +_0802EF44: .4byte gUnknown_80E03B8 + thumb_func_end sub_802EEDC + + 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 sub_8004914 + 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 sub_8004914 + 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 sub_808DDD0 + 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 gUnknown_202DF98 + 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 sub_802F358 + 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 sub_8004914 + 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 sub_802F358 +sub_802F358: + 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 sub_8011988 + ldr r0, _0802F414 + ldr r0, [r0] + ldr r0, [r0, 0x10] + ldr r0, [r0, 0x18] + bl sub_80913A0 + 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 sub_8092600 + lsls r0, 24 + cmp r0, 0 + beq _0802F4BC + movs r0, 0xFA + lsls r0, 2 + bl sub_80913A0 + 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 sub_80925EC + movs r0, 0xCE + bl sub_8011988 + 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 sub_80925EC + movs r0, 0xCE + bl sub_8011988 + 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 sub_8090A60 + 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 sub_8092178 + ldr r1, [r5] + strb r0, [r1, 0x9] + ldr r0, [r5] + ldr r0, [r0, 0x10] + ldr r0, [r0, 0x24] + bl sub_8092158 + movs r0, 0xCB + bl sub_8011988 + ldr r4, [r5] + bl sub_8092178 + 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 sub_8011988 + ldr r0, _0802F6EC + ldr r1, [r0] + movs r0, 0x9 + str r0, [r1, 0x4] + ldrb r0, [r1, 0x9] + bl sub_80921A8 + adds r1, r0, 0 + ldr r4, _0802F6F0 + adds r0, r4, 0 + bl strcpy + bl sub_8092178 + lsls r0, 24 + lsrs r0, 24 + bl sub_80921A8 + 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 sub_802F358 + + 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 sub_8004914 + 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 sub_80119D4 + movs r0, 0x2 + b _0802F904 + .align 2, 0 +_0802F8D8: .4byte gUnknown_203B314 +_0802F8DC: + movs r0, 0 + bl sub_80119D4 + 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 sub_8004914 + 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} + ldr r4, _0802FA44 + ldr r0, [r4] + movs r1, 0xAC + lsls r1, 1 + adds r0, r1 + movs r2, 0 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r4] + ldr r3, _0802FA48 + adds r0, r3 + strb r2, [r0] + ldr r0, [r4] + adds r3, 0x1 + adds r1, r0, r3 + movs r0, 0x8 + strb r0, [r1] + ldr r0, [r4] + ldr r1, _0802FA4C + adds r0, r1 + strb r2, [r0] + ldr r0, [r4] + adds r0, 0xD6 + movs r2, 0 + ldrsh r0, [r0, r2] + movs r1, 0xC + bl sub_80095E4 + adds r0, 0x2 + lsls r0, 16 + ldr r3, [r4] + adds r5, r3, 0 + adds r5, 0xF0 + ldr r2, [r5] + lsls r1, r2, 1 + adds r1, r2 + lsls r1, 3 + adds r1, r3, r1 + movs r2, 0x83 + lsls r2, 1 + adds r1, r2 + asrs r2, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r5] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r3, r0 + adds r2, 0x2 + movs r0, 0x84 + lsls r0, 1 + adds r3, r0 + strh r2, [r3] + bl sub_8004914 + ldr r0, [r4] + adds r0, 0xF8 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0802FA44: .4byte gUnknown_203B314 +_0802FA48: .4byte 0x00000159 +_0802FA4C: .4byte 0x0000015b + thumb_func_end sub_802F9C0 + + thumb_func_start sub_802FA50 +sub_802FA50: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x8 + ldr r4, _0802FB1C + ldr r0, [r4] + adds r0, 0xF0 + ldr r0, [r0] + bl sub_8008C54 + ldr r0, [r4] + adds r0, 0xF0 + ldr r0, [r0] + bl sub_80073B8 + ldr r2, _0802FB20 + ldr r0, [r4] + adds r0, 0xF0 + ldr r3, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + movs r1, 0 + bl xxx_call_draw_string + ldr r3, [r4] + movs r1, 0xAD + lsls r1, 1 + adds r0, r3, r1 + ldrb r0, [r0] + lsls r0, 3 + adds r0, 0x4 + adds r1, r3, 0 + adds r1, 0xDA + movs r5, 0 + ldrsh r2, [r1, r5] + adds r2, 0x1 + movs r1, 0x7 + str r1, [sp] + adds r1, r3, 0 + adds r1, 0xF0 + ldr r1, [r1] + str r1, [sp, 0x4] + movs r1, 0 + movs r3, 0x2 + bl sub_8012BC4 + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0xB8 + ldrb r0, [r0] + cmp r0, 0 + beq _0802FB78 + movs r6, 0 + adds r0, r1, 0 + adds r0, 0xD6 + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r6, r0 + blt _0802FACA + b _0802FBD6 +_0802FACA: + mov r8, r4 +_0802FACC: + mov r2, r8 + ldr r0, [r2] + adds r0, 0xBC + adds r1, r6, 0 + bl sub_8013800 + adds r5, r0, 0 + mov r3, r8 + ldr r2, [r3] + 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, r0, r6 + lsls r0, r1, 1 + adds r0, r2, r0 + movs r3, 0 + ldrsh r7, [r0, r3] + adds r0, r2, 0 + adds r0, 0x5C + adds r0, r1 + ldrb r4, [r0] + cmp r4, 0 + beq _0802FB28 + adds r0, r2, 0 + adds r0, 0xF0 + ldr r3, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + adds r1, r5, 0 + ldr r2, _0802FB24 + bl xxx_call_draw_string + b _0802FB46 + .align 2, 0 +_0802FB1C: .4byte gUnknown_203B314 +_0802FB20: .4byte gUnknown_80E0744 +_0802FB24: .4byte gUnknown_80E0750 +_0802FB28: + adds r0, r2, 0 + adds r0, 0x8A + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _0802FB46 + adds r0, r2, 0 + adds r0, 0xF0 + ldr r3, [r0] + str r4, [sp] + movs r0, 0xA + adds r1, r5, 0 + ldr r2, _0802FB74 + bl xxx_call_draw_string +_0802FB46: + adds r0, r7, 0 + bl sub_80974A0 + adds r2, r0, 0 + mov r1, r8 + ldr r0, [r1] + adds r0, 0xF0 + ldr r3, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x18 + adds r1, r5, 0 + bl xxx_call_draw_string + adds r6, 0x1 + mov r2, r8 + ldr r0, [r2] + adds r0, 0xD6 + movs r3, 0 + ldrsh r0, [r0, r3] + cmp r6, r0 + blt _0802FACC + b _0802FBD6 + .align 2, 0 +_0802FB74: .4byte gUnknown_80E0754 +_0802FB78: + movs r6, 0 + adds r0, r1, 0 + adds r0, 0xD6 + movs r5, 0 + ldrsh r0, [r0, r5] + cmp r6, r0 + bge _0802FBD6 + adds r5, r4, 0 +_0802FB88: + ldr r0, [r5] + adds r0, 0xBC + adds r1, r6, 0 + bl sub_8013800 + adds r4, r0, 0 + ldr r1, [r5] + adds r0, r1, 0 + adds r0, 0xDA + movs r3, 0 + ldrsh r2, [r0, r3] + subs r0, 0x2 + movs r3, 0 + ldrsh r0, [r0, r3] + muls r0, r2 + adds r0, r6 + lsls r0, 1 + adds r1, r0 + movs r2, 0 + ldrsh r0, [r1, r2] + bl sub_80974A0 + adds r2, r0, 0 + ldr r0, [r5] + adds r0, 0xF0 + ldr r3, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x8 + adds r1, r4, 0 + bl xxx_call_draw_string + adds r6, 0x1 + ldr r0, [r5] + adds r0, 0xD6 + movs r3, 0 + ldrsh r0, [r0, r3] + cmp r6, r0 + blt _0802FB88 +_0802FBD6: + ldr r0, _0802FBF0 + ldr r0, [r0] + adds r0, 0xF0 + ldr r0, [r0] + bl sub_80073E0 + add sp, 0x8 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802FBF0: .4byte gUnknown_203B314 + thumb_func_end sub_802FA50 + + thumb_func_start sub_802FBF4 +sub_802FBF4: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + movs r0, 0 + mov r8, r0 + movs r1, 0 + str r1, [sp] +_0802FC08: + ldr r1, [sp] + lsls r0, r1, 16 + asrs r4, r0, 16 + mov r10, r4 + adds r0, r4, 0 + bl sub_80A27CC + lsls r0, 24 + cmp r0, 0 + beq _0802FCCE + cmp r4, 0x13 + beq _0802FCCE + cmp r4, 0x1D + beq _0802FCCE + ldr r7, _0802FC88 + ldr r1, [r7] + mov r0, r8 + lsls r6, r0, 1 + adds r0, r1, r6 + strh r4, [r0] + adds r1, 0x5C + add r1, r8 + movs r0, 0 + strb r0, [r1] + ldr r0, [r7] + adds r0, 0x8A + add r0, r8 + movs r1, 0 + strb r1, [r0] + ldr r0, [r7] + adds r0, 0xB8 + ldrb r0, [r0] + cmp r0, 0 + beq _0802FCCA + cmp r4, 0xD + beq _0802FCCA + adds r0, r4, 0 + bl sub_80A270C + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + movs r5, 0 + cmp r4, 0x1E + bgt _0802FCA8 + adds r0, r4, 0 + bl sub_8097384 + lsls r0, 24 + cmp r0, 0 + bne _0802FCA6 + cmp r4, 0x6 + bne _0802FC8C + movs r0, 0x13 + bl sub_8097384 + lsls r0, 24 + cmp r0, 0 + beq _0802FCA8 + ldr r0, [r7] + adds r0, r6 + movs r1, 0x13 + b _0802FCA4 + .align 2, 0 +_0802FC88: .4byte gUnknown_203B314 +_0802FC8C: + mov r0, r10 + cmp r0, 0xA + bne _0802FCA8 + movs r0, 0x1D + bl sub_8097384 + lsls r0, 24 + cmp r0, 0 + beq _0802FCA8 + ldr r0, [r7] + adds r0, r6 + movs r1, 0x1D +_0802FCA4: + strh r1, [r0] +_0802FCA6: + movs r5, 0x1 +_0802FCA8: + ldr r4, _0802FCEC + ldr r0, [r4] + adds r0, 0x5C + add r0, r8 + strb r5, [r0] + cmp r5, 0 + bne _0802FCCA + mov r0, r9 + bl sub_80969D0 + cmp r0, 0 + ble _0802FCCA + ldr r0, [r4] + adds r0, 0x8A + add r0, r8 + movs r1, 0x1 + strb r1, [r0] +_0802FCCA: + movs r1, 0x1 + add r8, r1 +_0802FCCE: + ldr r0, [sp] + adds r0, 0x1 + str r0, [sp] + cmp r0, 0x2D + ble _0802FC08 + mov r0, r8 + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0802FCEC: .4byte gUnknown_203B314 + thumb_func_end sub_802FBF4 + + thumb_func_start sub_802FCF0 +sub_802FCF0: + push {r4,lr} + movs r4, 0 +_0802FCF4: + lsls r0, r4, 16 + asrs r0, 16 + bl sub_80A27CC + lsls r0, 24 + cmp r0, 0 + beq _0802FD06 + movs r0, 0 + b _0802FD0E +_0802FD06: + adds r4, 0x1 + cmp r4, 0x2D + ble _0802FCF4 + movs r0, 0x1 +_0802FD0E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_802FCF0 + + thumb_func_start sub_802FD14 +sub_802FD14: + push {r4-r6,lr} + adds r5, r0, 0 + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _0802FD48 + movs r0, 0xCC + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + ldr r1, _0802FD4C + strh r1, [r0, 0x10] + str r5, [r0] + cmp r5, 0x7 + bhi _0802FDC0 + lsls r0, r5, 2 + ldr r1, _0802FD50 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802FD48: .4byte gUnknown_203B318 +_0802FD4C: .4byte 0x0000ffff +_0802FD50: .4byte _0802FD54 + .align 2, 0 +_0802FD54: + .4byte _0802FD74 + .4byte _0802FD84 + .4byte _0802FD94 + .4byte _0802FDA4 + .4byte _0802FDB4 + .4byte _0802FDB8 + .4byte _0802FDBC + .4byte _0802FDC0 +_0802FD74: + movs r6, 0 + ldr r1, _0802FD80 + ldr r0, [r1] + str r6, [r0, 0x4] + b _0802FDCC + .align 2, 0 +_0802FD80: .4byte gUnknown_203B318 +_0802FD84: + movs r6, 0x7 + ldr r2, _0802FD90 + ldr r1, [r2] + movs r0, 0 + b _0802FDC8 + .align 2, 0 +_0802FD90: .4byte gUnknown_203B318 +_0802FD94: + movs r6, 0x6 + ldr r2, _0802FDA0 + ldr r1, [r2] + movs r0, 0 + b _0802FDC8 + .align 2, 0 +_0802FDA0: .4byte gUnknown_203B318 +_0802FDA4: + movs r6, 0x8 + ldr r2, _0802FDB0 + ldr r1, [r2] + movs r0, 0 + b _0802FDC8 + .align 2, 0 +_0802FDB0: .4byte gUnknown_203B318 +_0802FDB4: + movs r6, 0 + b _0802FDC2 +_0802FDB8: + movs r6, 0x7 + b _0802FDC2 +_0802FDBC: + movs r6, 0x6 + b _0802FDC2 +_0802FDC0: + movs r6, 0x8 +_0802FDC2: + ldr r2, _0802FDD8 + ldr r1, [r2] + movs r0, 0x1 +_0802FDC8: + str r0, [r1, 0x4] + adds r1, r2, 0 +_0802FDCC: + ldr r1, [r1] + ldr r0, [r1, 0x4] + cmp r0, 0x1 + bne _0802FDDC + movs r0, 0 + b _0802FDE0 + .align 2, 0 +_0802FDD8: .4byte gUnknown_203B318 +_0802FDDC: + adds r0, r1, 0 + adds r0, 0x58 +_0802FDE0: + str r0, [r1, 0x68] + ldr r0, _0802FE48 + ldr r5, _0802FE4C + adds r1, r5, 0 + bl sub_808D8E0 + ldr r4, _0802FE50 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_808D8E0 + adds r0, r5, 0 + bl sub_808D994 + adds r1, r0, 0 + subs r4, 0x50 + adds r0, r4, 0 + bl strcpy + adds r0, r5, 0 + bl sub_808DDD0 + ldr r3, _0802FE54 + ldr r1, [r3] + str r0, [r1, 0x58] + ldr r0, [r0, 0x4] + str r0, [r1, 0x5C] + adds r1, 0x64 + movs r2, 0 + strb r2, [r1] + ldr r0, [r3] + adds r0, 0x65 + strb r2, [r0] + ldr r0, [r3] + adds r0, 0x66 + strb r2, [r0] + ldr r1, [r3] + adds r2, r1, 0 + adds r2, 0x60 + movs r0, 0x2 + strh r0, [r2] + adds r1, 0x62 + movs r0, 0x8 + strh r0, [r1] + adds r0, r6, 0 + bl sub_802FF04 + movs r0, 0x1 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_0802FE48: .4byte gUnknown_202E5D8 +_0802FE4C: .4byte 0x00000141 +_0802FE50: .4byte gUnknown_202E1C8 +_0802FE54: .4byte gUnknown_203B318 + thumb_func_end sub_802FD14 + + thumb_func_start sub_802FE58 +sub_802FE58: + push {lr} + ldr r0, _0802FE70 + ldr r0, [r0] + ldr r0, [r0, 0x8] + cmp r0, 0xD + bhi _0802FEC6 + lsls r0, 2 + ldr r1, _0802FE74 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802FE70: .4byte gUnknown_203B318 +_0802FE74: .4byte _0802FE78 + .align 2, 0 +_0802FE78: + .4byte _0802FEB0 + .4byte _0802FEB0 + .4byte _0802FEC6 + .4byte _0802FEC6 + .4byte _0802FEB6 + .4byte _0802FEC6 + .4byte _0802FEC6 + .4byte _0802FEC6 + .4byte _0802FEC6 + .4byte _0802FEC6 + .4byte _0802FEC6 + .4byte _0802FEBC + .4byte _0802FEC6 + .4byte _0802FEC2 +_0802FEB0: + bl sub_8030208 + b _0802FECA +_0802FEB6: + bl sub_8030258 + b _0802FECA +_0802FEBC: + bl sub_80302A8 + b _0802FECA +_0802FEC2: + movs r0, 0x3 + b _0802FECC +_0802FEC6: + bl sub_80302C4 +_0802FECA: + movs r0, 0 +_0802FECC: + pop {r1} + bx r1 + thumb_func_end sub_802FE58 + + thumb_func_start sub_802FED0 +sub_802FED0: + ldr r0, _0802FEDC + ldr r0, [r0] + movs r1, 0x10 + ldrsh r0, [r0, r1] + bx lr + .align 2, 0 +_0802FEDC: .4byte gUnknown_203B318 + thumb_func_end sub_802FED0 + + thumb_func_start sub_802FEE0 +sub_802FEE0: + push {r4,lr} + ldr r4, _0802FF00 + ldr r0, [r4] + cmp r0, 0 + beq _0802FEFA + ldr r0, [r0, 0x58] + bl CloseFile + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0802FEFA: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0802FF00: .4byte gUnknown_203B318 + thumb_func_end sub_802FEE0 + + thumb_func_start sub_802FF04 +sub_802FF04: + push {lr} + ldr r1, _0802FF18 + ldr r1, [r1] + str r0, [r1, 0x8] + bl sub_802FF1C + bl sub_802FF88 + pop {r0} + bx r0 + .align 2, 0 +_0802FF18: .4byte gUnknown_203B318 + thumb_func_end sub_802FF04 + + thumb_func_start sub_802FF1C +sub_802FF1C: + push {r4-r7,lr} + ldr r4, _0802FF3C + ldr r0, [r4] + adds r0, 0x6C + bl sub_8006518 + ldr r0, [r4] + ldr r0, [r0, 0x8] + cmp r0, 0x4 + beq _0802FF44 + cmp r0, 0x4 + bgt _0802FF40 + cmp r0, 0 + beq _0802FF44 + b _0802FF68 + .align 2, 0 +_0802FF3C: .4byte gUnknown_203B318 +_0802FF40: + cmp r0, 0xD + bne _0802FF68 +_0802FF44: + ldr r0, _0802FF80 + mov r12, r0 + ldr r4, _0802FF84 + movs r3, 0 + movs r2, 0x3 +_0802FF4E: + mov r5, r12 + ldr r1, [r5] + adds r1, r3 + adds r1, 0x6C + 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 _0802FF4E +_0802FF68: + bl sub_8004914 + ldr r0, _0802FF80 + ldr r0, [r0] + adds r0, 0x6C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0802FF80: .4byte gUnknown_203B318 +_0802FF84: .4byte gUnknown_80E0760 + thumb_func_end sub_802FF1C + + thumb_func_start sub_802FF88 +sub_802FF88: + push {r4,r5,lr} + sub sp, 0x18 + ldr r1, _0802FFA4 + ldr r0, [r1] + ldr r0, [r0, 0x8] + adds r5, r1, 0 + cmp r0, 0xD + bls _0802FF9A + b _080301A0 +_0802FF9A: + lsls r0, 2 + ldr r1, _0802FFA8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0802FFA4: .4byte gUnknown_203B318 +_0802FFA8: .4byte _0802FFAC + .align 2, 0 +_0802FFAC: + .4byte _0802FFE4 + .4byte _08030000 + .4byte _08030038 + .4byte _08030050 + .4byte _08030068 + .4byte _08030074 + .4byte _080300DC + .4byte _080300C4 + .4byte _080300F4 + .4byte _0803010C + .4byte _08030148 + .4byte _08030174 + .4byte _08030180 + .4byte _080301A0 +_0802FFE4: + bl sub_80301B0 + ldr r2, _0802FFF8 + ldr r0, _0802FFFC + ldr r5, [r0] + ldr r1, [r5, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + b _0803000E + .align 2, 0 +_0802FFF8: .4byte gUnknown_80D9FC8 +_0802FFFC: .4byte gUnknown_203B318 +_08030000: + ldr r2, _08030034 + ldr r5, [r5] + ldr r1, [r5, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0x4 +_0803000E: + adds r0, r2 + ldr r0, [r0] + ldr r2, [r5, 0x14] + adds r3, r5, 0 + adds r3, 0x18 + movs r4, 0 + str r4, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + ldr r1, [r5, 0x68] + str r1, [sp, 0xC] + movs r1, 0xC + str r1, [sp, 0x10] + movs r1, 0 + bl sub_8014248 + b _080301A0 + .align 2, 0 +_08030034: .4byte gUnknown_80D9FC8 +_08030038: + ldr r3, [r5] + movs r0, 0xD + str r0, [r3, 0xC] + ldr r2, _0803004C + ldr r1, [r3, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0x8 + b _0803015A + .align 2, 0 +_0803004C: .4byte gUnknown_80D9FC8 +_08030050: + ldr r3, [r5] + movs r0, 0x4 + str r0, [r3, 0xC] + ldr r2, _08030064 + ldr r1, [r3, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0xC + b _0803015A + .align 2, 0 +_08030064: .4byte gUnknown_80D9FC8 +_08030068: + movs r0, 0x3 + movs r1, 0 + movs r2, 0xA + bl sub_80302E8 + b _080301A0 +_08030074: + ldr r1, [r5] + movs r0, 0xD + str r0, [r1, 0xC] + movs r2, 0x10 + ldrsh r0, [r1, r2] + bl sub_80A2740 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080300B4 + ldr r1, [sp, 0x14] + ands r1, r2 + orrs r1, r0 + ldr r0, _080300B8 + ands r1, r0 + movs r0, 0x80 + lsls r0, 1 + orrs r1, r0 + str r1, [sp, 0x14] + ldr r0, _080300BC + add r1, sp, 0x14 + bl sub_8090208 + ldr r2, _080300C0 + ldr r3, [r5] + ldr r1, [r3, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0x10 + b _0803015A + .align 2, 0 +_080300B4: .4byte 0xffffff00 +_080300B8: .4byte 0xffff00ff +_080300BC: .4byte gUnknown_202DF98 +_080300C0: .4byte gUnknown_80D9FC8 +_080300C4: + ldr r3, [r5] + movs r0, 0xD + str r0, [r3, 0xC] + ldr r2, _080300D8 + ldr r1, [r3, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0x18 + b _0803015A + .align 2, 0 +_080300D8: .4byte gUnknown_80D9FC8 +_080300DC: + ldr r3, [r5] + movs r0, 0xD + str r0, [r3, 0xC] + ldr r2, _080300F0 + ldr r1, [r3, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0x14 + b _0803015A + .align 2, 0 +_080300F0: .4byte gUnknown_80D9FC8 +_080300F4: + ldr r3, [r5] + movs r0, 0x9 + str r0, [r3, 0xC] + ldr r2, _08030108 + ldr r1, [r3, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0x1C + b _0803015A + .align 2, 0 +_08030108: .4byte gUnknown_80D9FC8 +_0803010C: + ldr r4, _08030138 + bl sub_808D33C + adds r1, r0, 0 + adds r0, r4, 0 + movs r2, 0x6 + bl sub_808D9AC + ldr r0, _0803013C + ldr r1, [r0] + movs r0, 0xB + str r0, [r1, 0xC] + movs r0, 0xCB + bl sub_8011988 + ldr r0, _08030140 + ldr r3, _08030144 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + b _080301A0 + .align 2, 0 +_08030138: .4byte gPlayerName +_0803013C: .4byte gUnknown_203B318 +_08030140: .4byte gUnknown_80E0778 +_08030144: .4byte 0x00000101 +_08030148: + ldr r3, [r5] + movs r0, 0xD + str r0, [r3, 0xC] + ldr r2, _0803016C + ldr r1, [r3, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0x20 +_0803015A: + adds r0, r2 + ldr r0, [r0] + ldr r2, [r3, 0x68] + ldr r3, _08030170 + movs r1, 0 + bl sub_80141B4 + b _080301A0 + .align 2, 0 +_0803016C: .4byte gUnknown_80D9FC8 +_08030170: .4byte 0x0000010d +_08030174: + movs r0, 0x1 + movs r1, 0x49 + movs r2, 0x1 + bl sub_801B60C + b _080301A0 +_08030180: + ldr r3, [r5] + movs r0, 0x1 + str r0, [r3, 0xC] + ldr r2, _080301A8 + ldr r1, [r3, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0x24 + adds r0, r2 + ldr r0, [r0] + ldr r2, [r3, 0x68] + ldr r3, _080301AC + movs r1, 0 + bl sub_80141B4 +_080301A0: + add sp, 0x18 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080301A8: .4byte gUnknown_80D9FC8 +_080301AC: .4byte 0x0000010d + thumb_func_end sub_802FF88 + + thumb_func_start sub_80301B0 +sub_80301B0: + push {r4,lr} + ldr r4, _080301F8 + ldr r1, [r4] + movs r2, 0x2 + str r2, [r1, 0x14] + ldr r0, _080301FC + str r0, [r1, 0x18] + str r2, [r1, 0x1C] + bl sub_80306A4 + lsls r0, 24 + cmp r0, 0 + beq _080301D6 + ldr r0, [r4] + movs r1, 0x1 + negs r1, r1 + str r1, [r0, 0x1C] + movs r1, 0x1 + str r1, [r0, 0x14] +_080301D6: + ldr r1, [r4] + movs r2, 0x1 + ldr r0, _08030200 + ldr r0, [r0] + str r0, [r1, 0x20] + movs r0, 0x3 + str r0, [r1, 0x24] + ldr r0, _08030204 + ldr r0, [r0] + str r0, [r1, 0x28] + str r2, [r1, 0x2C] + movs r0, 0 + str r0, [r1, 0x30] + str r2, [r1, 0x34] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080301F8: .4byte gUnknown_203B318 +_080301FC: .4byte gUnknown_80E07D8 +_08030200: .4byte gUnknown_80D4970 +_08030204: .4byte gUnknown_80D4934 + thumb_func_end sub_80301B0 + + thumb_func_start sub_8030208 +sub_8030208: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08030250 + ldr r0, _08030230 + ldr r1, [r0] + ldr r0, [sp] + str r0, [r1, 0x14] + ldr r0, [sp] + cmp r0, 0x2 + beq _0803023A + cmp r0, 0x2 + bgt _08030234 + cmp r0, 0x1 + beq _0803024A + b _08030250 + .align 2, 0 +_08030230: .4byte gUnknown_203B318 +_08030234: + cmp r0, 0x3 + beq _08030242 + b _08030250 +_0803023A: + movs r0, 0x3 + bl sub_802FF04 + b _08030250 +_08030242: + movs r0, 0xC + bl sub_802FF04 + b _08030250 +_0803024A: + movs r0, 0x2 + bl sub_802FF04 +_08030250: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8030208 + + thumb_func_start sub_8030258 +sub_8030258: + push {lr} + movs r0, 0x1 + bl sub_80303AC + cmp r0, 0x2 + beq _08030288 + cmp r0, 0x2 + bcc _0803029A + cmp r0, 0x3 + bne _0803029A + bl sub_8030418 + ldr r1, _08030284 + ldr r1, [r1] + strh r0, [r1, 0x10] + bl sub_8030480 + movs r0, 0x5 + bl sub_802FF04 + b _0803029A + .align 2, 0 +_08030284: .4byte gUnknown_203B318 +_08030288: + bl sub_8030480 + ldr r0, _080302A0 + ldr r1, [r0] + ldr r0, _080302A4 + strh r0, [r1, 0x10] + movs r0, 0x1 + bl sub_802FF04 +_0803029A: + pop {r0} + bx r0 + .align 2, 0 +_080302A0: .4byte gUnknown_203B318 +_080302A4: .4byte 0x0000ffff + thumb_func_end sub_8030258 + + thumb_func_start sub_80302A8 +sub_80302A8: + push {lr} + bl sub_801B6AC + cmp r0, 0x1 + bls _080302C0 + cmp r0, 0x3 + bhi _080302C0 + bl sub_801B72C + movs r0, 0xA + bl sub_802FF04 +_080302C0: + pop {r0} + bx r0 + thumb_func_end sub_80302A8 + + thumb_func_start sub_80302C4 +sub_80302C4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080302DC + ldr r0, _080302E4 + ldr r0, [r0] + ldr r0, [r0, 0xC] + bl sub_802FF04 +_080302DC: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_080302E4: .4byte gUnknown_203B318 + thumb_func_end sub_80302C4 + + thumb_func_start sub_80302E8 +sub_80302E8: + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r5, r0, 0 + adds r6, r1, 0 + mov r8, r2 + bl sub_80306A4 + lsls r0, 24 + cmp r0, 0 + beq _08030302 + movs r0, 0 + b _0803039A +_08030302: + ldr r4, _080303A4 + ldr r0, [r4] + cmp r0, 0 + bne _08030314 + movs r0, 0xD0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] +_08030314: + ldr r0, [r4] + str r5, [r0, 0x64] + lsls r1, r5, 1 + adds r1, r5 + lsls r1, 3 + adds r1, 0x6C + adds r1, r0, r1 + str r1, [r0, 0x68] + adds r0, 0x6C + bl sub_8006518 + ldr r1, [r4] + ldr r2, [r1, 0x64] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x6C + ldr r0, _080303A8 + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldr r2, [r4] + ldr r1, [r2, 0x68] + adds r0, r2, 0 + adds r0, 0xCC + str r0, [r1, 0x14] + cmp r6, 0 + beq _08030362 + ldr r1, [r2, 0x64] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r1, r2, 0 + adds r1, 0x74 + adds r1, r0 + ldr r0, [r6] + str r0, [r1] +_08030362: + ldr r0, [r4] + ldr r0, [r0, 0x68] + mov r1, r8 + bl sub_8012D08 + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x6C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, [r4] + adds r4, 0x30 + bl sub_8030668 + adds r1, r0, 0 + adds r0, r4, 0 + mov r2, r8 + adds r3, r5, 0 + bl sub_8013818 + bl sub_80304C8 + bl sub_803053C + movs r0, 0x1 +_0803039A: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_080303A4: .4byte gUnknown_203B31C +_080303A8: .4byte gUnknown_80E0804 + thumb_func_end sub_80302E8 + + thumb_func_start sub_80303AC +sub_80303AC: + push {r4,lr} + lsls r0, 24 + cmp r0, 0 + bne _080303C8 + ldr r0, _080303C4 + ldr r0, [r0] + adds r0, 0x30 + bl sub_8013660 + movs r0, 0 + b _08030410 + .align 2, 0 +_080303C4: .4byte gUnknown_203B31C +_080303C8: + ldr r4, _080303E4 + ldr r0, [r4] + adds r0, 0x30 + bl GetKeyPress + cmp r0, 0x1 + beq _080303E8 + cmp r0, 0x2 + bne _080303F2 + movs r0, 0x1 + bl sub_80119D4 + movs r0, 0x2 + b _08030410 + .align 2, 0 +_080303E4: .4byte gUnknown_203B31C +_080303E8: + movs r0, 0 + bl sub_80119D4 + movs r0, 0x3 + b _08030410 +_080303F2: + ldr r0, [r4] + adds r0, 0x30 + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _08030406 + movs r0, 0 + b _08030410 +_08030406: + bl sub_80304C8 + bl sub_803053C + movs r0, 0x1 +_08030410: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80303AC + + thumb_func_start sub_8030418 +sub_8030418: + ldr r0, _08030440 + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x4E + 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, 0x48 + 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 +_08030440: .4byte gUnknown_203B31C + thumb_func_end sub_8030418 + + thumb_func_start sub_8030444 +sub_8030444: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_8030668 + adds r1, r0, 0 + ldr r5, _0803047C + ldr r0, [r5] + adds r2, r0, 0 + adds r2, 0x52 + strh r1, [r2] + adds r0, 0x30 + bl sub_8013984 + bl sub_80304C8 + bl sub_803053C + cmp r4, 0 + beq _08030476 + ldr r0, [r5] + adds r0, 0x30 + bl AddMenuCursorSprite +_08030476: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803047C: .4byte gUnknown_203B31C + thumb_func_end sub_8030444 + + thumb_func_start sub_8030480 +sub_8030480: + push {r4,r5,lr} + ldr r4, _080304C0 + ldr r2, [r4] + cmp r2, 0 + beq _080304BA + ldr r0, [r2, 0x64] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x6C + ldr r0, _080304C4 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x6C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_080304BA: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080304C0: .4byte gUnknown_203B31C +_080304C4: .4byte gUnknown_80E07EC + thumb_func_end sub_8030480 + + thumb_func_start sub_80304C8 +sub_80304C8: + push {r4,lr} + ldr r4, _08030538 + ldr r0, [r4] + adds r0, 0xCC + movs r2, 0 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xCD + strb r2, [r0] + ldr r0, [r4] + adds r0, 0xCE + movs r1, 0x8 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xCF + strb r2, [r0] + ldr r0, [r4] + adds r0, 0x4A + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0xC + bl sub_80095E4 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x64] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x7A + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x64] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x7C + strh r3, [r2] + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x6C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08030538: .4byte gUnknown_203B31C + thumb_func_end sub_80304C8 + + thumb_func_start sub_803053C +sub_803053C: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x108 + ldr r4, _08030658 + ldr r0, [r4] + ldr r0, [r0, 0x64] + bl sub_8008C54 + ldr r0, [r4] + ldr r0, [r0, 0x64] + bl sub_80073B8 + ldr r2, _0803065C + ldr r0, [r4] + ldr r3, [r0, 0x64] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + movs r1, 0 + bl xxx_call_draw_string + ldr r3, [r4] + adds r0, r3, 0 + adds r0, 0xCE + ldrb r0, [r0] + lsls r0, 3 + adds r0, 0x4 + adds r1, r3, 0 + adds r1, 0x4E + movs r5, 0 + ldrsh r2, [r1, r5] + adds r2, 0x1 + movs r1, 0x7 + str r1, [sp] + ldr r1, [r3, 0x64] + str r1, [sp, 0x4] + movs r1, 0 + movs r3, 0x2 + bl sub_8012BC4 + movs r0, 0 + mov r9, r0 + ldr r0, [r4] + adds r0, 0x4A + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r9, r0 + bge _0803063E + mov r8, r4 +_080305A2: + mov r3, r8 + ldr r1, [r3] + adds r0, r1, 0 + adds r0, 0x4E + movs r5, 0 + ldrsh r2, [r0, r5] + subs r0, 0x2 + movs r3, 0 + ldrsh r0, [r0, r3] + muls r0, r2 + add r0, r9 + lsls r0, 1 + adds r1, r0 + movs r5, 0 + ldrsh r4, [r1, r5] + adds r0, r4, 0 + bl sub_80A2740 + lsls r0, 24 + lsrs r7, r0, 24 + adds r0, r4, 0 + bl sub_80A2668 + adds r4, r0, 0 + lsls r4, 16 + asrs r4, 16 + mov r1, r8 + ldr r0, [r1] + adds r0, 0x30 + mov r1, r9 + bl sub_8013800 + adds r6, r0, 0 + movs r5, 0x7 + adds r0, r4, 0 + bl sub_809758C + lsls r0, 24 + cmp r0, 0 + beq _08030608 + mov r3, r8 + ldr r0, [r3] + ldr r3, [r0, 0x64] + movs r0, 0 + str r0, [sp] + movs r0, 0x8 + adds r1, r6, 0 + ldr r2, _08030660 + bl xxx_call_draw_string + movs r5, 0x4 +_08030608: + adds r0, r7, 0 + bl GetDungeonName1 + adds r3, r0, 0 + add r0, sp, 0x8 + ldr r1, _08030664 + adds r2, r5, 0 + bl sub_800D158 + mov r5, r8 + ldr r0, [r5] + ldr r3, [r0, 0x64] + movs r0, 0 + str r0, [sp] + movs r0, 0x10 + adds r1, r6, 0 + add r2, sp, 0x8 + bl xxx_call_draw_string + movs r0, 0x1 + add r9, r0 + ldr r0, [r5] + adds r0, 0x4A + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r9, r0 + blt _080305A2 +_0803063E: + ldr r0, _08030658 + ldr r0, [r0] + ldr r0, [r0, 0x64] + bl sub_80073E0 + add sp, 0x108 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08030658: .4byte gUnknown_203B31C +_0803065C: .4byte gUnknown_80E081C +_08030660: .4byte gUnknown_80E0824 +_08030664: .4byte gUnknown_80E0828 + thumb_func_end sub_803053C + + thumb_func_start sub_8030668 +sub_8030668: + push {r4-r6,lr} + movs r6, 0 + movs r5, 0 +_0803066E: + lsls r0, r5, 16 + asrs r4, r0, 16 + adds r0, r4, 0 + bl sub_8097504 + lsls r0, 24 + cmp r0, 0 + beq _08030690 + adds r0, r4, 0 + bl sub_80A26CC + ldr r1, _080306A0 + ldr r1, [r1] + lsls r2, r6, 1 + adds r1, r2 + strh r0, [r1] + adds r6, 0x1 +_08030690: + adds r5, 0x1 + cmp r5, 0x16 + ble _0803066E + adds r0, r6, 0 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_080306A0: .4byte gUnknown_203B31C + thumb_func_end sub_8030668 + + thumb_func_start sub_80306A4 +sub_80306A4: + movs r0, 0 + bx lr + thumb_func_end sub_80306A4 + + 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 sub_8004914 + 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 sub_80119D4 + movs r0, 0x4 + b _080307E6 +_080307AE: + movs r0, 0x1 + bl sub_80119D4 + movs r0, 0x2 + b _080307E6 +_080307B8: + movs r0, 0 + bl sub_80119D4 + 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 sub_8004914 + 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} + ldr r4, _08030928 + ldr r0, [r4] + adds r1, r0, 0 + adds r1, 0x44 + ldrh r1, [r1] + adds r0, 0xC0 + movs r2, 0 + strb r1, [r0] + ldr r0, [r4] + adds r1, r0, 0 + adds r1, 0x42 + ldrh r1, [r1] + adds r0, 0xC1 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xC2 + movs r1, 0xC + strb r1, [r0] + ldr r0, [r4] + adds r0, 0xC3 + strb r2, [r0] + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x60 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + movs r1, 0x3E + ldrsh r0, [r0, r1] + movs r1, 0xC + bl sub_80095E4 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x58] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x6E + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x58] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x70 + strh r3, [r2] + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x60 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08030928: .4byte gUnknown_203B320 + thumb_func_end sub_80308A0 + + thumb_func_start sub_803092C +sub_803092C: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x60 + ldr r7, _08030A24 + ldr r0, [r7] + ldr r0, [r0, 0x58] + bl sub_8008C54 + ldr r0, [r7] + ldr r0, [r0, 0x58] + bl sub_80073B8 + ldr r1, [r7] + adds r0, r1, 0 + adds r0, 0x42 + movs r2, 0 + ldrsh r4, [r0, r2] + lsls r4, 3 + adds r5, r4, 0 + adds r5, 0xA + ldr r2, _08030A28 + ldr r0, [r1, 0x20] + lsls r0, 2 + adds r0, r2 + ldr r2, [r0] + ldr r3, [r1, 0x58] + movs r0, 0 + str r0, [sp] + adds r0, r5, 0 + movs r1, 0 + bl xxx_call_draw_string + adds r4, 0x4 + ldr r3, [r7] + adds r0, r3, 0 + adds r0, 0xC2 + ldrb r0, [r0] + lsls r0, 3 + adds r5, r4, r0 + adds r0, r3, 0 + adds r0, 0x42 + movs r1, 0 + ldrsh r2, [r0, r1] + adds r2, 0x1 + movs r0, 0x7 + str r0, [sp] + ldr r0, [r3, 0x58] + str r0, [sp, 0x4] + adds r0, r5, 0 + movs r1, 0 + movs r3, 0x1 + bl sub_8012BC4 + movs r6, 0 + ldr r0, [r7] + movs r2, 0x3E + ldrsh r0, [r0, r2] + cmp r6, r0 + bge _08030A56 + mov r9, r7 + mov r8, r6 + add r7, sp, 0x8 + mov r5, sp + adds r5, 0x4B +_080309B0: + mov r3, r9 + ldr r1, [r3] + adds r0, r1, 0 + adds r0, 0x42 + movs r3, 0 + ldrsh r2, [r0, r3] + subs r0, 0x2 + movs r3, 0 + ldrsh r0, [r0, r3] + muls r0, r2 + adds r0, r6 + adds r1, r0 + ldrb r0, [r1] + bl sub_8095228 + adds r4, r0, 0 + mov r1, r9 + ldr r0, [r1] + ldr r1, [r0, 0x58] + str r1, [sp, 0x8] + adds r0, 0x24 + adds r1, r6, 0 + bl sub_8013800 + str r0, [sp, 0x50] + add r1, sp, 0x48 + movs r0, 0x7 + strb r0, [r1] + mov r0, sp + adds r0, 0x4A + mov r2, r8 + strb r2, [r0] + add r0, sp, 0x4C + strb r2, [r0] + adds r0, r4, 0x4 + str r0, [sp, 0x10] + adds r0, 0x10 + str r0, [sp, 0x14] + ldrh r0, [r4, 0xC] + strh r0, [r7, 0x10] + ldrh r0, [r4, 0xC] + strh r0, [r7, 0x12] + strb r2, [r7, 0x14] + subs r1, 0x12 + movs r0, 0x5 + strb r0, [r1] + ldrb r0, [r4] + cmp r0, 0x4 + beq _08030A32 + cmp r0, 0x4 + bgt _08030A2C + cmp r0, 0x2 + bgt _08030A3E + cmp r0, 0x1 + blt _08030A3E + movs r0, 0x1 + strb r0, [r5] + b _08030A42 + .align 2, 0 +_08030A24: .4byte gUnknown_203B320 +_08030A28: .4byte gUnknown_80E086C +_08030A2C: + cmp r0, 0x5 + beq _08030A38 + b _08030A3E +_08030A32: + movs r0, 0x3 + strb r0, [r5] + b _08030A42 +_08030A38: + movs r0, 0x4 + strb r0, [r5] + b _08030A42 +_08030A3E: + mov r3, r8 + strb r3, [r5] +_08030A42: + add r0, sp, 0x8 + bl sub_803B6D4 + adds r6, 0x1 + mov r1, r9 + ldr r0, [r1] + movs r2, 0x3E + ldrsh r0, [r0, r2] + cmp r6, r0 + blt _080309B0 +_08030A56: + ldr r0, _08030A70 + ldr r0, [r0] + ldr r0, [r0, 0x58] + bl sub_80073E0 + add sp, 0x60 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08030A70: .4byte gUnknown_203B320 + thumb_func_end sub_803092C + + thumb_func_start sub_8030A74 +sub_8030A74: + push {r4,r5,lr} + movs r2, 0 + ldr r0, _08030A90 + ldr r0, [r0] + ldr r0, [r0, 0x20] + cmp r0, 0x7 + bls _08030A84 + b _08030C0E +_08030A84: + lsls r0, 2 + ldr r1, _08030A94 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08030A90: .4byte gUnknown_203B320 +_08030A94: .4byte _08030A98 + .align 2, 0 +_08030A98: + .4byte _08030AB8 + .4byte _08030B10 + .4byte _08030B3C + .4byte _08030B94 + .4byte _08030B68 + .4byte _08030BC0 + .4byte _08030AE4 + .4byte _08030BEC +_08030AB8: + movs r1, 0 + ldr r5, _08030ADC + ldr r4, _08030AE0 + movs r3, 0 +_08030AC0: + ldr r0, [r5] + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0 + beq _08030AD2 + ldr r0, [r4] + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 +_08030AD2: + adds r3, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030AC0 + b _08030C0E + .align 2, 0 +_08030ADC: .4byte gUnknown_203B480 +_08030AE0: .4byte gUnknown_203B320 +_08030AE4: + movs r1, 0 + ldr r5, _08030B08 + ldr r4, _08030B0C + movs r3, 0 +_08030AEC: + ldr r0, [r5] + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0x6 + bne _08030AFE + ldr r0, [r4] + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 +_08030AFE: + adds r3, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030AEC + b _08030C0E + .align 2, 0 +_08030B08: .4byte gUnknown_203B480 +_08030B0C: .4byte gUnknown_203B320 +_08030B10: + movs r1, 0 + ldr r5, _08030B34 + ldr r4, _08030B38 + movs r3, 0 +_08030B18: + ldr r0, [r5] + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0x1 + bne _08030B2A + ldr r0, [r4] + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 +_08030B2A: + adds r3, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030B18 + b _08030C0E + .align 2, 0 +_08030B34: .4byte gUnknown_203B480 +_08030B38: .4byte gUnknown_203B320 +_08030B3C: + movs r1, 0 + ldr r5, _08030B60 + ldr r4, _08030B64 + movs r3, 0 +_08030B44: + ldr r0, [r5] + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0x2 + bne _08030B56 + ldr r0, [r4] + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 +_08030B56: + adds r3, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030B44 + b _08030C0E + .align 2, 0 +_08030B60: .4byte gUnknown_203B480 +_08030B64: .4byte gUnknown_203B320 +_08030B68: + movs r1, 0 + ldr r5, _08030B8C + ldr r4, _08030B90 + movs r3, 0 +_08030B70: + ldr r0, [r5] + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0x4 + bne _08030B82 + ldr r0, [r4] + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 +_08030B82: + adds r3, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030B70 + b _08030C0E + .align 2, 0 +_08030B8C: .4byte gUnknown_203B480 +_08030B90: .4byte gUnknown_203B320 +_08030B94: + movs r1, 0 + ldr r5, _08030BB8 + ldr r4, _08030BBC + movs r3, 0 +_08030B9C: + ldr r0, [r5] + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0x3 + bne _08030BAE + ldr r0, [r4] + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 +_08030BAE: + adds r3, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030B9C + b _08030C0E + .align 2, 0 +_08030BB8: .4byte gUnknown_203B480 +_08030BBC: .4byte gUnknown_203B320 +_08030BC0: + movs r1, 0 + ldr r5, _08030BE4 + ldr r4, _08030BE8 + movs r3, 0 +_08030BC8: + ldr r0, [r5] + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0x5 + bne _08030BDA + ldr r0, [r4] + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 +_08030BDA: + adds r3, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030BC8 + b _08030C0E + .align 2, 0 +_08030BE4: .4byte gUnknown_203B480 +_08030BE8: .4byte gUnknown_203B320 +_08030BEC: + movs r1, 0 + ldr r5, _08030C18 + ldr r4, _08030C1C + movs r3, 0 +_08030BF4: + ldr r0, [r5] + adds r0, r3 + ldrb r0, [r0] + cmp r0, 0x7 + bne _08030C06 + ldr r0, [r4] + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 +_08030C06: + adds r3, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030BF4 +_08030C0E: + adds r0, r2, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08030C18: .4byte gUnknown_203B480 +_08030C1C: .4byte gUnknown_203B320 + thumb_func_end sub_8030A74 + + thumb_func_start sub_8030C20 +sub_8030C20: + push {lr} + cmp r0, 0x7 + bls _08030C28 + b _08030D34 +_08030C28: + lsls r0, 2 + ldr r1, _08030C34 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08030C34: .4byte _08030C38 + .align 2, 0 +_08030C38: + .4byte _08030C58 + .4byte _08030C90 + .4byte _08030CAC + .4byte _08030CE4 + .4byte _08030CC8 + .4byte _08030D00 + .4byte _08030C74 + .4byte _08030D20 +_08030C58: + movs r1, 0 + ldr r0, _08030C70 + ldr r2, [r0] +_08030C5E: + ldrb r0, [r2] + cmp r0, 0 + bne _08030D1C + adds r2, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030C5E + b _08030D34 + .align 2, 0 +_08030C70: .4byte gUnknown_203B480 +_08030C74: + movs r1, 0 + ldr r0, _08030C8C + ldr r2, [r0] +_08030C7A: + ldrb r0, [r2] + cmp r0, 0x6 + beq _08030D1C + adds r2, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030C7A + b _08030D34 + .align 2, 0 +_08030C8C: .4byte gUnknown_203B480 +_08030C90: + movs r1, 0 + ldr r0, _08030CA8 + ldr r2, [r0] +_08030C96: + ldrb r0, [r2] + cmp r0, 0x1 + beq _08030D1C + adds r2, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030C96 + b _08030D34 + .align 2, 0 +_08030CA8: .4byte gUnknown_203B480 +_08030CAC: + movs r1, 0 + ldr r0, _08030CC4 + ldr r2, [r0] +_08030CB2: + ldrb r0, [r2] + cmp r0, 0x2 + beq _08030D1C + adds r2, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030CB2 + b _08030D34 + .align 2, 0 +_08030CC4: .4byte gUnknown_203B480 +_08030CC8: + movs r1, 0 + ldr r0, _08030CE0 + ldr r2, [r0] +_08030CCE: + ldrb r0, [r2] + cmp r0, 0x4 + beq _08030D1C + adds r2, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030CCE + b _08030D34 + .align 2, 0 +_08030CE0: .4byte gUnknown_203B480 +_08030CE4: + movs r1, 0 + ldr r0, _08030CFC + ldr r2, [r0] +_08030CEA: + ldrb r0, [r2] + cmp r0, 0x3 + beq _08030D1C + adds r2, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030CEA + b _08030D34 + .align 2, 0 +_08030CFC: .4byte gUnknown_203B480 +_08030D00: + movs r1, 0 + ldr r0, _08030D18 + ldr r2, [r0] +_08030D06: + ldrb r0, [r2] + cmp r0, 0x5 + beq _08030D1C + adds r2, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030D06 + b _08030D34 + .align 2, 0 +_08030D18: .4byte gUnknown_203B480 +_08030D1C: + movs r0, 0 + b _08030D36 +_08030D20: + movs r1, 0 + ldr r0, _08030D3C + ldr r2, [r0] +_08030D26: + ldrb r0, [r2] + cmp r0, 0x7 + beq _08030D1C + adds r2, 0x30 + adds r1, 0x1 + cmp r1, 0x1F + ble _08030D26 +_08030D34: + movs r0, 0x1 +_08030D36: + pop {r1} + bx r1 + .align 2, 0 +_08030D3C: .4byte gUnknown_203B480 + thumb_func_end sub_8030C20 + + thumb_func_start sub_8030D40 +sub_8030D40: + push {r4-r6,lr} + adds r4, r0, 0 + adds r5, r1, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r6, _08030D98 + movs r0, 0x78 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r6] + strb r4, [r0, 0xC] + ldr r0, [r6] + bl sub_801317C + ldr r0, [r6] + str r5, [r0, 0x10] + lsls r1, r5, 1 + adds r1, r5 + lsls r1, 3 + adds r1, 0x18 + adds r1, r0, r1 + str r1, [r0, 0x14] + adds r0, 0x18 + bl sub_8006518 + ldr r1, [r6] + ldr r2, [r1, 0x10] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x18 + ldr r0, _08030D9C + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + bl sub_8030DD4 + movs r0, 0x1 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08030D98: .4byte gUnknown_203B324 +_08030D9C: .4byte gUnknown_80E091C + thumb_func_end sub_8030D40 + + thumb_func_start sub_8030DA0 +sub_8030DA0: + push {lr} + ldr r0, _08030DC0 + ldr r0, [r0] + ldr r1, [r0, 0x10] + bl sub_8012A64 + cmp r0, 0x1 + beq _08030DC4 + cmp r0, 0x2 + bne _08030DCE + movs r0, 0x1 + bl sub_80119D4 + movs r0, 0x2 + b _08030DD0 + .align 2, 0 +_08030DC0: .4byte gUnknown_203B324 +_08030DC4: + movs r0, 0 + bl sub_80119D4 + movs r0, 0x3 + b _08030DD0 +_08030DCE: + movs r0, 0 +_08030DD0: + pop {r1} + bx r1 + thumb_func_end sub_8030DA0 + + thumb_func_start sub_8030DD4 +sub_8030DD4: + push {lr} + bl sub_8030E2C + bl sub_8030E48 + pop {r0} + bx r0 + thumb_func_end sub_8030DD4 + + thumb_func_start sub_8030DE4 +sub_8030DE4: + push {r4,r5,lr} + ldr r4, _08030E24 + ldr r2, [r4] + cmp r2, 0 + beq _08030E1E + ldr r0, [r2, 0x10] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x18 + ldr r0, _08030E28 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x18 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_08030E1E: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08030E24: .4byte gUnknown_203B324 +_08030E28: .4byte gUnknown_80E0900 + thumb_func_end sub_8030DE4 + + thumb_func_start sub_8030E2C +sub_8030E2C: + push {lr} + bl sub_8004914 + ldr r0, _08030E44 + ldr r0, [r0] + adds r0, 0x18 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r0} + bx r0 + .align 2, 0 +_08030E44: .4byte gUnknown_203B324 + thumb_func_end sub_8030E2C + + thumb_func_start sub_8030E48 +sub_8030E48: + push {r4-r6,lr} + mov r6, r8 + push {r6} + sub sp, 0x15C + ldr r3, _08030EA8 + ldr r4, _08030EAC + ldr r2, [r4] + ldrb r1, [r2, 0xC] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 4 + ldr r1, [r3] + adds r5, r1, r0 + ldr r0, [r2, 0x10] + bl sub_80073B8 + ldr r0, [r4] + ldr r0, [r0, 0x10] + str r0, [sp, 0x4] + add r1, sp, 0x44 + movs r2, 0 + movs r0, 0x7 + strb r0, [r1] + mov r0, sp + adds r0, 0x46 + strb r2, [r0] + add r0, sp, 0x48 + strb r2, [r0] + adds r0, r5, 0x4 + str r0, [sp, 0xC] + adds r0, 0x10 + str r0, [sp, 0x10] + add r1, sp, 0x4 + ldrh r0, [r5, 0xC] + strh r0, [r1, 0x10] + ldrh r0, [r5, 0xC] + strh r0, [r1, 0x12] + adds r0, r1, 0 + strb r2, [r0, 0x14] + adds r2, r5, 0 + adds r2, 0x22 + ldrb r0, [r2] + cmp r0, 0 + bne _08030EB0 + adds r1, 0x2E + movs r0, 0x5 + strb r0, [r1] + b _08030EBE + .align 2, 0 +_08030EA8: .4byte gUnknown_203B480 +_08030EAC: .4byte gUnknown_203B324 +_08030EB0: + mov r1, sp + adds r1, 0x32 + movs r0, 0x2 + strb r0, [r1] + ldrb r1, [r2] + add r0, sp, 0x38 + strb r1, [r0] +_08030EBE: + ldrb r0, [r5] + cmp r0, 0x2 + beq _08030ED2 + cmp r0, 0x2 + ble _08030EE2 + cmp r0, 0x4 + beq _08030ED2 + cmp r0, 0x5 + beq _08030EDA + b _08030EE2 +_08030ED2: + mov r1, sp + adds r1, 0x45 + movs r0, 0xA + b _08030EE8 +_08030EDA: + mov r1, sp + adds r1, 0x45 + movs r0, 0xB + b _08030EE8 +_08030EE2: + mov r1, sp + adds r1, 0x45 + movs r0, 0x9 +_08030EE8: + strb r0, [r1] + add r0, sp, 0x4 + bl sub_803B98C + ldrh r0, [r5, 0x10] + ldr r1, _08030F48 + bl __umodsi3 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r2, _08030F4C + ldr r5, _08030F50 + ldr r0, [r5] + ldr r3, [r0, 0x10] + movs r0, 0 + mov r8, r0 + str r0, [sp] + movs r0, 0xA + movs r1, 0x68 + bl xxx_call_draw_string + add r6, sp, 0x5C + ldr r1, _08030F54 + adds r0, r6, 0 + adds r2, r4, 0 + bl sub_800D158 + ldr r0, [r5] + ldr r3, [r0, 0x10] + mov r0, r8 + str r0, [sp] + movs r0, 0x44 + movs r1, 0x68 + adds r2, r6, 0 + bl xxx_call_draw_string + ldr r0, [r5] + ldr r0, [r0, 0x10] + bl sub_80073E0 + add sp, 0x15C + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08030F48: .4byte 0x00002710 +_08030F4C: .4byte gUnknown_80E0934 +_08030F50: .4byte gUnknown_203B324 +_08030F54: .4byte gUnknown_80E0938 + thumb_func_end sub_8030E48 + + thumb_func_start sub_8030F58 +sub_8030F58: + push {r4-r6,lr} + adds r6, r0, 0 + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r5, _08030FF4 + ldr r0, [r5] + cmp r0, 0 + bne _08030F88 + movs r4, 0x8E + lsls r4, 1 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 +_08030F88: + ldr r0, [r5] + movs r1, 0x8C + lsls r1, 1 + adds r0, r1 + str r6, [r0] + movs r0, 0x98 + lsls r0, 1 + bl sub_808DDD0 + ldr r2, [r5] + movs r4, 0x84 + lsls r4, 1 + adds r1, r2, r4 + str r0, [r1] + movs r3, 0x86 + lsls r3, 1 + adds r1, r2, r3 + ldr r0, [r0, 0x4] + str r0, [r1] + movs r0, 0x8A + lsls r0, 1 + adds r2, r0 + movs r1, 0 + strb r1, [r2] + ldr r0, [r5] + ldr r2, _08030FF8 + adds r0, r2 + strb r1, [r0] + ldr r0, [r5] + adds r3, 0xA + adds r0, r3 + strb r1, [r0] + ldr r2, [r5] + movs r0, 0x88 + lsls r0, 1 + adds r1, r2, r0 + movs r0, 0x2 + strh r0, [r1] + subs r3, 0x4 + adds r1, r2, r3 + movs r0, 0x8 + strh r0, [r1] + adds r0, r6, 0 + bl sub_8030C20 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + beq _08031038 + cmp r6, 0x2 + beq _08030FFC + cmp r6, 0x4 + beq _08031014 + b _08031022 + .align 2, 0 +_08030FF4: .4byte gUnknown_203B328 +_08030FF8: .4byte 0x00000115 +_08030FFC: + ldr r0, _0803100C + ldr r2, [r5] + adds r2, r4 + ldr r3, _08031010 + movs r1, 0 + bl sub_80141B4 + b _08031022 + .align 2, 0 +_0803100C: .4byte gUnknown_80E09D8 +_08031010: .4byte 0x00000101 +_08031014: + ldr r0, _0803102C + ldr r2, [r5] + adds r2, r4 + ldr r3, _08031030 + movs r1, 0 + bl sub_80141B4 +_08031022: + ldr r0, _08031034 + ldr r1, [r0] + movs r0, 0x5 + str r0, [r1] + b _08031048 + .align 2, 0 +_0803102C: .4byte gUnknown_80E0A0C +_08031030: .4byte 0x00000101 +_08031034: .4byte gUnknown_203B328 +_08031038: + ldr r0, [r5] + str r1, [r0] + adds r0, r6, 0 + movs r1, 0 + movs r2, 0 + movs r3, 0x8 + bl sub_80306A8 +_08031048: + movs r0, 0x1 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8030F58 + + thumb_func_start sub_8031050 +sub_8031050: + push {lr} + ldr r1, _08031068 + ldr r0, [r1] + ldr r0, [r0] + adds r2, r1, 0 + cmp r0, 0x6 + bhi _080310AC + lsls r0, 2 + ldr r1, _0803106C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08031068: .4byte gUnknown_203B328 +_0803106C: .4byte _08031070 + .align 2, 0 +_08031070: + .4byte _0803108C + .4byte _08031092 + .4byte _08031098 + .4byte _08031098 + .4byte _080310A2 + .4byte _080310A8 + .4byte _080310A8 +_0803108C: + bl sub_8031300 + b _080310AC +_08031092: + bl sub_803136C + b _080310AC +_08031098: + ldr r0, [r2] + ldr r0, [r0] + bl sub_80313D8 + b _080310AC +_080310A2: + bl sub_8031498 + b _080310AC +_080310A8: + movs r0, 0x3 + b _080310AE +_080310AC: + movs r0, 0 +_080310AE: + pop {r1} + bx r1 + thumb_func_end sub_8031050 + + thumb_func_start sub_80310B4 +sub_80310B4: + push {r4,lr} + bl sub_803084C + ldr r4, _080310E0 + ldr r0, [r4] + cmp r0, 0 + beq _080310D8 + movs r1, 0x84 + lsls r1, 1 + adds r0, r1 + ldr r0, [r0] + bl CloseFile + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_080310D8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080310E0: .4byte gUnknown_203B328 + thumb_func_end sub_80310B4 + + thumb_func_start sub_80310E4 +sub_80310E4: + push {lr} + ldr r1, _080310F8 + ldr r1, [r1] + str r0, [r1] + bl sub_80310FC + bl sub_8031258 + pop {r0} + bx r0 + .align 2, 0 +_080310F8: .4byte gUnknown_203B328 + thumb_func_end sub_80310E4 + + thumb_func_start sub_80310FC +sub_80310FC: + push {r4-r6,lr} + ldr r4, _0803111C + ldr r0, [r4] + adds r0, 0xA8 + bl sub_8006518 + ldr r0, [r4] + ldr r0, [r0] + cmp r0, 0x6 + bls _08031112 + b _0803122C +_08031112: + lsls r0, 2 + ldr r1, _08031120 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803111C: .4byte gUnknown_203B328 +_08031120: .4byte _08031124 + .align 2, 0 +_08031124: + .4byte _08031140 + .4byte _08031178 + .4byte _080311C0 + .4byte _080311C0 + .4byte _080311E8 + .4byte _0803122C + .4byte _0803122C +_08031140: + ldr r3, _08031170 + ldr r1, [r3] + ldr r2, _08031174 + adds r1, 0xC0 + adds r0, r2, 0 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldr r1, [r3] + adds r1, 0xD8 + adds r0, r2, 0 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldr r0, [r3] + adds r0, 0xF0 + ldm r2!, {r1,r3,r4} + stm r0!, {r1,r3,r4} + ldm r2!, {r1,r5,r6} + stm r0!, {r1,r5,r6} + b _0803123A + .align 2, 0 +_08031170: .4byte gUnknown_203B328 +_08031174: .4byte gUnknown_80E0990 +_08031178: + ldr r3, _080311B0 + ldr r1, [r3] + adds r1, 0xC0 + ldr r0, _080311B4 + ldm r0!, {r2,r4,r5} + stm r1!, {r2,r4,r5} + ldm r0!, {r2,r4,r6} + stm r1!, {r2,r4,r6} + ldr r1, [r3] + ldr r2, _080311B8 + adds r1, 0xD8 + adds r0, r2, 0 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldr r0, [r3] + adds r0, 0xF0 + ldm r2!, {r1,r5,r6} + stm r0!, {r1,r5,r6} + ldm r2!, {r4-r6} + stm r0!, {r4-r6} + ldr r0, [r3] + adds r0, 0xC0 + ldr r1, _080311BC + bl sub_8012CAC + b _0803123A + .align 2, 0 +_080311B0: .4byte gUnknown_203B328 +_080311B4: .4byte gUnknown_80E09A8 +_080311B8: .4byte gUnknown_80E0990 +_080311BC: .4byte gUnknown_80E0968 +_080311C0: + ldr r2, _080311DC + ldr r1, [r2] + adds r1, 0xD8 + ldr r0, _080311E0 + ldm r0!, {r3-r5} + stm r1!, {r3-r5} + ldm r0!, {r3,r4,r6} + stm r1!, {r3,r4,r6} + ldr r0, [r2] + adds r0, 0xD8 + ldr r1, _080311E4 + bl sub_8012CAC + b _0803123A + .align 2, 0 +_080311DC: .4byte gUnknown_203B328 +_080311E0: .4byte gUnknown_80E09C0 +_080311E4: .4byte gUnknown_80E0948 +_080311E8: + ldr r3, _08031224 + ldr r1, [r3] + ldr r2, _08031228 + adds r1, 0xA8 + adds r0, r2, 0 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldr r1, [r3] + adds r1, 0xC0 + adds r0, r2, 0 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldr r1, [r3] + adds r1, 0xD8 + adds r0, r2, 0 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldr r0, [r3] + adds r0, 0xF0 + ldm r2!, {r1,r5,r6} + stm r0!, {r1,r5,r6} + ldm r2!, {r3-r5} + stm r0!, {r3-r5} + b _0803123A + .align 2, 0 +_08031224: .4byte gUnknown_203B328 +_08031228: .4byte gUnknown_80E0990 +_0803122C: + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C +_0803123A: + bl sub_8004914 + ldr r0, _08031254 + ldr r0, [r0] + adds r0, 0xA8 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08031254: .4byte gUnknown_203B328 + thumb_func_end sub_80310FC + + thumb_func_start sub_8031258 +sub_8031258: + push {r4,lr} + sub sp, 0x8 + ldr r1, _08031274 + ldr r0, [r1] + ldr r0, [r0] + adds r2, r1, 0 + cmp r0, 0x6 + bhi _080312F6 + lsls r0, 2 + ldr r1, _08031278 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08031274: .4byte gUnknown_203B328 +_08031278: .4byte _0803127C + .align 2, 0 +_0803127C: + .4byte _08031298 + .4byte _080312A0 + .4byte _080312BC + .4byte _080312BC + .4byte _080312EC + .4byte _080312F6 + .4byte _080312F6 +_08031298: + movs r0, 0x1 + bl sub_8030810 + b _080312F6 +_080312A0: + bl sub_803092C + ldr r0, _080312B4 + ldr r0, [r0] + adds r0, 0x8 + ldr r1, _080312B8 + movs r2, 0x4 + str r2, [sp] + movs r2, 0x1 + b _080312D8 + .align 2, 0 +_080312B4: .4byte gUnknown_203B328 +_080312B8: .4byte gUnknown_80E0968 +_080312BC: + bl sub_803092C + ldr r4, _080312E4 + ldr r0, [r4] + adds r0, 0x8 + movs r1, 0 + bl sub_8012EA4 + ldr r0, [r4] + adds r0, 0x58 + ldr r1, _080312E8 + movs r2, 0x3 + str r2, [sp] + movs r2, 0x2 +_080312D8: + str r2, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_8012D60 + b _080312F6 + .align 2, 0 +_080312E4: .4byte gUnknown_203B328 +_080312E8: .4byte gUnknown_80E0948 +_080312EC: + ldr r0, [r2] + ldrb r0, [r0, 0x4] + movs r1, 0x3 + bl sub_8030D40 +_080312F6: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8031258 + + thumb_func_start sub_8031300 +sub_8031300: + push {lr} + movs r0, 0x1 + bl sub_8030768 + cmp r0, 0x4 + bhi _08031366 + lsls r0, 2 + ldr r1, _08031318 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08031318: .4byte _0803131C + .align 2, 0 +_0803131C: + .4byte _08031366 + .4byte _08031366 + .4byte _08031360 + .4byte _08031330 + .4byte _08031348 +_08031330: + bl sub_80307EC + ldr r1, _08031344 + ldr r1, [r1] + strb r0, [r1, 0x4] + movs r0, 0x1 + bl sub_80310E4 + b _08031366 + .align 2, 0 +_08031344: .4byte gUnknown_203B328 +_08031348: + bl sub_80307EC + ldr r1, _0803135C + ldr r1, [r1] + strb r0, [r1, 0x4] + movs r0, 0x4 + bl sub_80310E4 + b _08031366 + .align 2, 0 +_0803135C: .4byte gUnknown_203B328 +_08031360: + movs r0, 0x6 + bl sub_80310E4 +_08031366: + pop {r0} + bx r0 + thumb_func_end sub_8031300 + + thumb_func_start sub_803136C +sub_803136C: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_8030768 + ldr r4, _080313A4 + ldr r0, [r4] + adds r0, 0x8 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08031392 + ldr r0, [r4] + adds r0, 0x8 + mov r1, sp + bl sub_8013114 +_08031392: + ldr r0, [sp] + cmp r0, 0x4 + beq _080313C2 + cmp r0, 0x4 + bgt _080313A8 + cmp r0, 0x1 + beq _080313B2 + b _080313D0 + .align 2, 0 +_080313A4: .4byte gUnknown_203B328 +_080313A8: + cmp r0, 0x5 + beq _080313CA + cmp r0, 0x6 + beq _080313BA + b _080313D0 +_080313B2: + movs r0, 0 + bl sub_80310E4 + b _080313D0 +_080313BA: + movs r0, 0x3 + bl sub_80310E4 + b _080313D0 +_080313C2: + movs r0, 0x2 + bl sub_80310E4 + b _080313D0 +_080313CA: + movs r0, 0x4 + bl sub_80310E4 +_080313D0: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_803136C + + thumb_func_start sub_80313D8 +sub_80313D8: + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + movs r0, 0 + str r0, [sp] + bl sub_8030768 + ldr r4, _08031418 + ldr r0, [r4] + adds r0, 0x8 + bl sub_8012FD8 + ldr r0, [r4] + adds r0, 0x58 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08031408 + ldr r0, [r4] + adds r0, 0x58 + mov r1, sp + bl sub_8013114 +_08031408: + ldr r0, [sp] + cmp r0, 0x2 + beq _08031428 + cmp r0, 0x2 + bgt _0803141C + cmp r0, 0x1 + beq _08031420 + b _0803148E + .align 2, 0 +_08031418: .4byte gUnknown_203B328 +_0803141C: + cmp r0, 0x3 + bne _0803148E +_08031420: + movs r0, 0 + bl sub_80310E4 + b _0803148E +_08031428: + cmp r5, 0x2 + beq _08031432 + cmp r5, 0x3 + beq _0803143C + b _0803145A +_08031432: + ldr r0, [r4] + ldrb r0, [r0, 0x4] + bl sub_8095240 + b _0803145A +_0803143C: + ldr r4, _08031480 + movs r3, 0 + movs r1, 0 + movs r2, 0x1F +_08031444: + ldr r0, [r4] + adds r0, r1 + strb r3, [r0] + ldr r0, [r4] + adds r0, r1 + adds r0, 0x22 + strb r3, [r0] + adds r1, 0x30 + subs r2, 0x1 + cmp r2, 0 + bge _08031444 +_0803145A: + ldr r0, _08031484 + ldr r0, [r0] + movs r1, 0x8C + lsls r1, 1 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x2 + beq _0803146E + cmp r0, 0x4 + bne _0803148E +_0803146E: + bl sub_8030C20 + lsls r0, 24 + cmp r0, 0 + beq _08031488 + movs r0, 0x5 + bl sub_80310E4 + b _0803148E + .align 2, 0 +_08031480: .4byte gUnknown_203B480 +_08031484: .4byte gUnknown_203B328 +_08031488: + movs r0, 0 + bl sub_80310E4 +_0803148E: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80313D8 + + thumb_func_start sub_8031498 +sub_8031498: + push {lr} + bl sub_8030DA0 + cmp r0, 0x1 + bls _080314B0 + cmp r0, 0x3 + bhi _080314B0 + bl sub_8030DE4 + movs r0, 0 + bl sub_80310E4 +_080314B0: + pop {r0} + bx r0 + thumb_func_end sub_8031498 + + thumb_func_start sub_80314B4 +sub_80314B4: + push {r4-r6,lr} + lsls r0, 16 + asrs r5, r0, 16 + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r6, _08031534 + movs r0, 0x18 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r6] + ldr r0, _08031538 + adds r1, r5, 0 + bl sub_808D8E0 + adds r0, r5, 0 + bl sub_808D994 + adds r1, r0, 0 + ldr r0, _0803153C + bl strcpy + ldr r0, [r6] + movs r4, 0 + str r4, [r0, 0x8] + str r4, [r0, 0xC] + cmp r5, 0 + beq _0803151E + adds r0, r5, 0 + bl sub_808DDD0 + ldr r1, [r6] + str r0, [r1, 0x8] + strb r4, [r1, 0x14] + ldr r0, [r6] + strb r4, [r0, 0x15] + ldr r0, [r6] + strb r4, [r0, 0x16] + ldr r1, [r6] + movs r0, 0x2 + strh r0, [r1, 0x10] + movs r0, 0x8 + strh r0, [r1, 0x12] + ldr r0, [r1, 0x8] + cmp r0, 0 + beq _0803151E + ldr r0, [r0, 0x4] + str r0, [r1, 0xC] +_0803151E: + ldr r0, _08031534 + ldr r1, [r0] + movs r0, 0 + str r0, [r1, 0x4] + movs r0, 0x1 + bl sub_80317C0 + movs r0, 0x1 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08031534: .4byte gUnknown_203B32C +_08031538: .4byte gUnknown_202E5D8 +_0803153C: .4byte gUnknown_202DF98 + thumb_func_end sub_80314B4 + + thumb_func_start sub_8031540 +sub_8031540: + push {lr} + ldr r0, _08031558 + ldr r0, [r0] + ldrb r0, [r0] + cmp r0, 0x9 + bhi _080315BA + lsls r0, 2 + ldr r1, _0803155C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08031558: .4byte gUnknown_203B32C +_0803155C: .4byte _08031560 + .align 2, 0 +_08031560: + .4byte _080315AC + .4byte _08031588 + .4byte _08031588 + .4byte _0803158E + .4byte _08031594 + .4byte _0803159A + .4byte _080315A0 + .4byte _080315A6 + .4byte _080315B0 + .4byte _080315B6 +_08031588: + bl sub_80317D8 + b _080315BA +_0803158E: + bl sub_8031848 + b _080315BA +_08031594: + bl sub_8031864 + b _080315BA +_0803159A: + bl sub_80318D0 + b _080315BA +_080315A0: + bl sub_80318EC + b _080315BA +_080315A6: + bl sub_803192C + b _080315BA +_080315AC: + movs r0, 0x3 + b _080315BC +_080315B0: + bl sub_8031948 + b _080315BA +_080315B6: + bl sub_8031988 +_080315BA: + movs r0, 0 +_080315BC: + pop {r1} + bx r1 + thumb_func_end sub_8031540 + + thumb_func_start sub_80315C0 +sub_80315C0: + push {r4,lr} + ldr r4, _080315E4 + ldr r0, [r4] + cmp r0, 0 + beq _080315DE + ldr r0, [r0, 0x8] + cmp r0, 0 + beq _080315D4 + bl CloseFile +_080315D4: + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_080315DE: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080315E4: .4byte gUnknown_203B32C + thumb_func_end sub_80315C0 + + thumb_func_start nullsub_39 +nullsub_39: + bx lr + thumb_func_end nullsub_39 + + thumb_func_start sub_80315EC +sub_80315EC: + push {r4,r5,lr} + sub sp, 0x14 + movs r5, 0 + ldr r0, _08031618 + ldr r2, [r0] + ldr r1, [r2, 0x8] + adds r3, r0, 0 + cmp r1, 0 + beq _08031602 + adds r5, r2, 0 + adds r5, 0x8 +_08031602: + ldrb r0, [r2] + subs r0, 0x1 + cmp r0, 0x8 + bls _0803160C + b _080317B0 +_0803160C: + lsls r0, 2 + ldr r1, _0803161C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08031618: .4byte gUnknown_203B32C +_0803161C: .4byte _08031620 + .align 2, 0 +_08031620: + .4byte _08031700 + .4byte _08031714 + .4byte _08031728 + .4byte _08031758 + .4byte _08031780 + .4byte _08031694 + .4byte _080316A8 + .4byte _08031644 + .4byte _08031658 +_08031644: + ldr r0, _08031650 + ldr r1, [r3] + ldr r2, [r1, 0x4] + ldr r3, _08031654 + b _08031760 + .align 2, 0 +_08031650: .4byte gUnknown_80E0C4C +_08031654: .4byte gUnknown_80E0BD4 +_08031658: + ldr r0, [r3] + ldr r0, [r0, 0x4] + cmp r0, 0x10 + beq _0803167C + cmp r0, 0x10 + bgt _0803166A + cmp r0, 0xF + beq _08031674 + b _080317B0 +_0803166A: + cmp r0, 0x11 + beq _08031684 + cmp r0, 0x12 + beq _0803168C + b _080317B0 +_08031674: + ldr r0, _08031678 + b _08031790 + .align 2, 0 +_08031678: .4byte gUnknown_80E0C70 +_0803167C: + ldr r0, _08031680 + b _08031790 + .align 2, 0 +_08031680: .4byte gUnknown_80E0DD0 +_08031684: + ldr r0, _08031688 + b _08031790 + .align 2, 0 +_08031688: .4byte gUnknown_80E0ED8 +_0803168C: + ldr r0, _08031690 + b _08031790 + .align 2, 0 +_08031690: .4byte gUnknown_80E10C8 +_08031694: + ldr r0, _080316A0 + ldr r1, [r3] + ldr r2, [r1, 0x4] + ldr r3, _080316A4 + b _08031760 + .align 2, 0 +_080316A0: .4byte gUnknown_80E0C4C +_080316A4: .4byte gUnknown_80E0B3C +_080316A8: + ldr r0, [r3] + ldr r0, [r0, 0x4] + subs r0, 0xA + cmp r0, 0x4 + bls _080316B4 + b _080317B0 +_080316B4: + lsls r0, 2 + ldr r1, _080316C0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080316C0: .4byte _080316C4 + .align 2, 0 +_080316C4: + .4byte _080316D8 + .4byte _080316E0 + .4byte _080316F0 + .4byte _080316E8 + .4byte _080316F8 +_080316D8: + ldr r0, _080316DC + b _08031790 + .align 2, 0 +_080316DC: .4byte gUnknown_80E120C +_080316E0: + ldr r0, _080316E4 + b _08031790 + .align 2, 0 +_080316E4: .4byte gUnknown_80E136C +_080316E8: + ldr r0, _080316EC + b _08031790 + .align 2, 0 +_080316EC: .4byte gUnknown_80E1420 +_080316F0: + ldr r0, _080316F4 + b _08031790 + .align 2, 0 +_080316F4: .4byte gUnknown_80E157C +_080316F8: + ldr r0, _080316FC + b _08031790 + .align 2, 0 +_080316FC: .4byte gUnknown_80E169C +_08031700: + ldr r0, _0803170C + ldr r1, [r3] + ldr r2, [r1, 0x4] + ldr r3, _08031710 + b _08031760 + .align 2, 0 +_0803170C: .4byte gUnknown_80E17C8 +_08031710: .4byte gUnknown_80E0A48 +_08031714: + ldr r0, _08031720 + ldr r1, [r3] + ldr r2, [r1, 0x4] + ldr r3, _08031724 + b _08031760 + .align 2, 0 +_08031720: .4byte gUnknown_80E183C +_08031724: .4byte gUnknown_80E0A48 +_08031728: + ldr r0, [r3] + ldr r0, [r0, 0x4] + cmp r0, 0x1 + beq _08031748 + cmp r0, 0x1 + bgt _0803173A + cmp r0, 0 + beq _08031740 + b _080317B0 +_0803173A: + cmp r0, 0x2 + beq _08031750 + b _080317B0 +_08031740: + ldr r0, _08031744 + b _08031790 + .align 2, 0 +_08031744: .4byte gUnknown_80E1868 +_08031748: + ldr r0, _0803174C + b _08031790 + .align 2, 0 +_0803174C: .4byte gUnknown_80E1A30 +_08031750: + ldr r0, _08031754 + b _08031790 + .align 2, 0 +_08031754: .4byte gUnknown_80E1AD8 +_08031758: + ldr r0, _08031778 + ldr r1, [r3] + ldr r2, [r1, 0x4] + ldr r3, _0803177C +_08031760: + movs r4, 0 + str r4, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + str r5, [sp, 0xC] + movs r1, 0xC + str r1, [sp, 0x10] + movs r1, 0 + bl sub_8014248 + b _080317B0 + .align 2, 0 +_08031778: .4byte gUnknown_80E0C4C +_0803177C: .4byte gUnknown_80E0ABC +_08031780: + ldr r0, [r3] + ldr r0, [r0, 0x4] + cmp r0, 0x6 + beq _0803178E + cmp r0, 0x9 + beq _080317A4 + b _080317B0 +_0803178E: + ldr r0, _0803179C +_08031790: + ldr r3, _080317A0 + movs r1, 0 + adds r2, r5, 0 + bl sub_80141B4 + b _080317B0 + .align 2, 0 +_0803179C: .4byte gUnknown_80E1B88 +_080317A0: .4byte 0x0000010d +_080317A4: + ldr r0, _080317B8 + ldr r3, _080317BC + movs r1, 0 + adds r2, r5, 0 + bl sub_80141B4 +_080317B0: + add sp, 0x14 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080317B8: .4byte gUnknown_80E1D84 +_080317BC: .4byte 0x0000010d + thumb_func_end sub_80315EC + + thumb_func_start sub_80317C0 +sub_80317C0: + push {lr} + ldr r1, _080317D4 + ldr r1, [r1] + strb r0, [r1] + bl nullsub_39 + bl sub_80315EC + pop {r0} + bx r0 + .align 2, 0 +_080317D4: .4byte gUnknown_203B32C + thumb_func_end sub_80317C0 + + thumb_func_start sub_80317D8 +sub_80317D8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803183C + ldr r2, [sp] + cmp r2, 0x5 + bhi _0803183C + lsls r0, r2, 2 + ldr r1, _080317F8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080317F8: .4byte _080317FC + .align 2, 0 +_080317FC: + .4byte _08031830 + .4byte _08031830 + .4byte _08031830 + .4byte _0803181C + .4byte _08031814 + .4byte _08031814 +_08031814: + movs r0, 0 + bl sub_80317C0 + b _0803183C +_0803181C: + ldr r0, _0803182C + ldr r0, [r0] + str r2, [r0, 0x4] + movs r0, 0x4 + bl sub_80317C0 + b _0803183C + .align 2, 0 +_0803182C: .4byte gUnknown_203B32C +_08031830: + ldr r0, _08031844 + ldr r0, [r0] + str r2, [r0, 0x4] + movs r0, 0x3 + bl sub_80317C0 +_0803183C: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_08031844: .4byte gUnknown_203B32C + thumb_func_end sub_80317D8 + + thumb_func_start sub_8031848 +sub_8031848: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803185C + movs r0, 0x2 + bl sub_80317C0 +_0803185C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8031848 + + thumb_func_start sub_8031864 +sub_8031864: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080318C4 + ldr r0, [sp] + subs r1, r0, 0x5 + adds r2, r0, 0 + cmp r1, 0x4 + bhi _080318C4 + lsls r0, r1, 2 + ldr r1, _08031888 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08031888: .4byte _0803188C + .align 2, 0 +_0803188C: + .4byte _080318A0 + .4byte _080318B8 + .4byte _080318A8 + .4byte _080318B0 + .4byte _080318B8 +_080318A0: + movs r0, 0x2 + bl sub_80317C0 + b _080318C4 +_080318A8: + movs r0, 0x6 + bl sub_80317C0 + b _080318C4 +_080318B0: + movs r0, 0x8 + bl sub_80317C0 + b _080318C4 +_080318B8: + ldr r0, _080318CC + ldr r0, [r0] + str r2, [r0, 0x4] + movs r0, 0x5 + bl sub_80317C0 +_080318C4: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_080318CC: .4byte gUnknown_203B32C + thumb_func_end sub_8031864 + + thumb_func_start sub_80318D0 +sub_80318D0: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080318E4 + movs r0, 0x4 + bl sub_80317C0 +_080318E4: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80318D0 + + thumb_func_start sub_80318EC +sub_80318EC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08031920 + ldr r1, [sp] + cmp r1, 0x5 + bne _08031908 + movs r0, 0x4 + bl sub_80317C0 + b _08031920 +_08031908: + cmp r1, 0x5 + blt _08031920 + cmp r1, 0xE + bgt _08031920 + cmp r1, 0xA + blt _08031920 + ldr r0, _08031928 + ldr r0, [r0] + str r1, [r0, 0x4] + movs r0, 0x7 + bl sub_80317C0 +_08031920: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_08031928: .4byte gUnknown_203B32C + thumb_func_end sub_80318EC + + thumb_func_start sub_803192C +sub_803192C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08031940 + movs r0, 0x6 + bl sub_80317C0 +_08031940: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_803192C + + thumb_func_start sub_8031948 +sub_8031948: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803197C + ldr r1, [sp] + cmp r1, 0x5 + bne _08031964 + movs r0, 0x4 + bl sub_80317C0 + b _0803197C +_08031964: + cmp r1, 0x5 + blt _0803197C + cmp r1, 0x12 + bgt _0803197C + cmp r1, 0xF + blt _0803197C + ldr r0, _08031984 + ldr r0, [r0] + str r1, [r0, 0x4] + movs r0, 0x9 + bl sub_80317C0 +_0803197C: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_08031984: .4byte gUnknown_203B32C + thumb_func_end sub_8031948 + + thumb_func_start sub_8031988 +sub_8031988: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803199C + movs r0, 0x8 + bl sub_80317C0 +_0803199C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8031988 + + thumb_func_start sub_80319A4 +sub_80319A4: + push {r4-r6,lr} + mov r6, r8 + push {r6} + adds r4, r0, 0 + adds r5, r1, 0 + mov r8, r2 + lsls r4, 24 + lsrs r4, 24 + lsls r5, 24 + lsrs r5, 24 + ldr r6, _080319F4 + movs r0, 0x78 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r6] + strb r4, [r0, 0xC] + ldr r0, [r6] + strb r5, [r0, 0xD] + ldr r0, [r6] + bl sub_801317C + ldr r1, [r6] + mov r0, r8 + str r0, [r1, 0x10] + lsls r0, 1 + add r0, r8 + lsls r0, 3 + adds r0, 0x18 + adds r0, r1, r0 + str r0, [r1, 0x14] + bl sub_8031A2C + movs r0, 0x1 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_080319F4: .4byte gUnknown_203B330 + thumb_func_end sub_80319A4 + + thumb_func_start sub_80319F8 +sub_80319F8: + push {lr} + ldr r0, _08031A18 + ldr r0, [r0] + ldr r1, [r0, 0x10] + bl sub_8012A64 + cmp r0, 0x1 + beq _08031A1C + cmp r0, 0x2 + bne _08031A26 + movs r0, 0x1 + bl sub_80119D4 + movs r0, 0x2 + b _08031A28 + .align 2, 0 +_08031A18: .4byte gUnknown_203B330 +_08031A1C: + movs r0, 0 + bl sub_80119D4 + movs r0, 0x3 + b _08031A28 +_08031A26: + movs r0, 0 +_08031A28: + pop {r1} + bx r1 + thumb_func_end sub_80319F8 + + thumb_func_start sub_8031A2C +sub_8031A2C: + push {lr} + bl sub_8031A84 + bl sub_8031AE8 + pop {r0} + bx r0 + thumb_func_end sub_8031A2C + + thumb_func_start sub_8031A3C +sub_8031A3C: + push {r4,r5,lr} + ldr r4, _08031A7C + ldr r2, [r4] + cmp r2, 0 + beq _08031A76 + ldr r0, [r2, 0x10] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x18 + ldr r0, _08031A80 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x18 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_08031A76: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08031A7C: .4byte gUnknown_203B330 +_08031A80: .4byte gUnknown_80E1EFC + thumb_func_end sub_8031A3C + + thumb_func_start sub_8031A84 +sub_8031A84: + push {r4,r5,lr} + ldr r4, _08031AE0 + ldr r0, [r4] + adds r0, 0x18 + bl sub_8006518 + ldr r1, [r4] + ldr r2, [r1, 0x10] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x18 + ldr r0, _08031AE4 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldr r1, [r4] + ldrb r0, [r1, 0xC] + cmp r0, 0x2 + bne _08031AC6 + ldrb r0, [r1, 0xD] + bl sub_80969D0 + adds r1, r0, 0 + cmp r1, 0 + bne _08031ABE + movs r1, 0x1 +_08031ABE: + ldr r0, [r4] + ldr r0, [r0, 0x14] + bl sub_8012D08 +_08031AC6: + bl sub_8004914 + ldr r0, _08031AE0 + ldr r0, [r0] + adds r0, 0x18 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08031AE0: .4byte gUnknown_203B330 +_08031AE4: .4byte gUnknown_80E1F18 + thumb_func_end sub_8031A84 + + thumb_func_start sub_8031AE8 +sub_8031AE8: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0xDC + ldr r7, _08031B24 + ldr r0, [r7] + ldr r0, [r0, 0x10] + bl sub_80073B8 + ldr r2, _08031B28 + ldr r0, [r7] + ldr r3, [r0, 0x10] + movs r6, 0 + str r6, [sp] + movs r0, 0xA + movs r1, 0 + bl xxx_call_draw_string + ldr r1, [r7] + ldrb r0, [r1, 0xC] + cmp r0, 0x1 + beq _08031B2C + cmp r0, 0x1 + bgt _08031B1E + b _08031CD4 +_08031B1E: + cmp r0, 0x2 + beq _08031B94 + b _08031CD4 + .align 2, 0 +_08031B24: .4byte gUnknown_203B330 +_08031B28: .4byte gUnknown_80E1F30 +_08031B2C: + add r4, sp, 0x68 + adds r0, r4, 0 + bl sub_8099394 + ldrb r0, [r4] + bl sub_8095228 + adds r5, r0, 0 + ldr r0, [r7] + ldr r3, [r0, 0x10] + movs r0, 0xA + movs r1, 0x10 + movs r2, 0x3 + bl sub_803B6B0 + ldr r1, _08031B8C + ldrb r2, [r5, 0x5] + add r0, sp, 0x4 + bl sub_800D158 + ldr r0, [r7] + ldr r3, [r0, 0x10] + str r6, [sp] + movs r0, 0x15 + movs r1, 0x10 + add r2, sp, 0x4 + bl xxx_call_draw_string + ldr r4, _08031B90 + movs r1, 0xC + ldrsh r0, [r5, r1] + bl sub_808D994 + adds r2, r0, 0 + add r0, sp, 0x4 + adds r1, r4, 0 + bl sub_800D158 + ldr r0, [r7] + ldr r3, [r0, 0x10] + str r6, [sp] + movs r0, 0x28 + movs r1, 0x10 + add r2, sp, 0x4 + bl xxx_call_draw_string + b _08031D4E + .align 2, 0 +_08031B8C: .4byte gUnknown_80E1F3C +_08031B90: .4byte gUnknown_80E1F40 +_08031B94: + ldrb r0, [r1, 0xD] + bl sub_80969D0 + adds r1, r0, 0 + cmp r1, 0 + bne _08031BB0 + ldr r2, _08031BAC + ldr r0, [r7] + ldr r3, [r0, 0x10] + str r1, [sp] + b _08031D2C + .align 2, 0 +_08031BAC: .4byte gUnknown_80E1F54 +_08031BB0: + movs r6, 0x10 + movs r2, 0 + mov r10, r2 + mov r8, r2 + ldr r0, _08031C28 + mov r9, r0 + mov r1, sp + adds r1, 0x6C + str r1, [sp, 0xD8] +_08031BC2: + mov r2, r10 + lsls r0, r2, 24 + lsrs r0, 24 + bl sub_8096AB4 + adds r4, r0, 0 + ldr r1, [r7] + ldrb r0, [r4, 0x4] + ldrb r2, [r1, 0xD] + cmp r0, r2 + bne _08031CC2 + ldrb r0, [r4] + cmp r0, 0 + beq _08031CC2 + cmp r0, 0x5 + beq _08031CC2 + cmp r0, 0x7 + beq _08031CC2 + ldr r3, [r1, 0x10] + movs r0, 0xA + adds r1, r6, 0 + movs r2, 0x3 + bl sub_803B6B0 + ldrb r0, [r4, 0x1] + add r5, sp, 0x6C + cmp r0, 0x3 + beq _08031C16 + ldrb r2, [r4, 0x5] + ldr r0, [sp, 0xD8] + ldr r1, _08031C2C + bl sub_800D158 + ldr r0, [r7] + ldr r3, [r0, 0x10] + mov r0, r8 + str r0, [sp] + movs r0, 0x15 + adds r1, r6, 0 + ldr r2, [sp, 0xD8] + bl xxx_call_draw_string +_08031C16: + ldrb r0, [r4, 0x1] + cmp r0, 0x3 + beq _08031C58 + cmp r0, 0x3 + bgt _08031C30 + cmp r0, 0x2 + beq _08031C70 + b _08031C9C + .align 2, 0 +_08031C28: .4byte gUnknown_202DE58 +_08031C2C: .4byte gUnknown_80E1F3C +_08031C30: + cmp r0, 0x4 + bne _08031C9C + ldrb r1, [r4, 0x10] + mov r0, r9 + movs r2, 0 + bl sub_8090DC4 + adds r0, r5, 0 + ldr r1, _08031C54 + mov r2, r9 + bl sub_800D158 + ldr r0, [r7] + ldr r3, [r0, 0x10] + mov r1, r8 + str r1, [sp] + b _08031C8A + .align 2, 0 +_08031C54: .4byte gUnknown_80E1F60 +_08031C58: + ldrb r1, [r4, 0x10] + mov r0, r9 + movs r2, 0 + bl sub_8090DC4 + adds r0, r5, 0 + ldr r1, _08031C6C + mov r2, r9 + b _08031C7E + .align 2, 0 +_08031C6C: .4byte gUnknown_80E1F70 +_08031C70: + movs r1, 0xE + ldrsh r0, [r4, r1] + bl sub_808D994 + adds r2, r0, 0 + adds r0, r5, 0 + ldr r1, _08031C98 +_08031C7E: + bl sub_800D158 + ldr r0, [r7] + ldr r3, [r0, 0x10] + mov r2, r8 + str r2, [sp] +_08031C8A: + movs r0, 0x28 + adds r1, r6, 0 + adds r2, r5, 0 + bl xxx_call_draw_string + b _08031CC0 + .align 2, 0 +_08031C98: .4byte gUnknown_80E1F80 +_08031C9C: + movs r1, 0xE + ldrsh r0, [r4, r1] + bl sub_808D994 + adds r2, r0, 0 + adds r0, r5, 0 + ldr r1, _08031CD0 + bl sub_800D158 + ldr r0, [r7] + ldr r3, [r0, 0x10] + mov r2, r8 + str r2, [sp] + movs r0, 0x28 + adds r1, r6, 0 + adds r2, r5, 0 + bl xxx_call_draw_string +_08031CC0: + adds r6, 0xC +_08031CC2: + movs r0, 0x1 + add r10, r0 + mov r1, r10 + cmp r1, 0x7 + bgt _08031CCE + b _08031BC2 +_08031CCE: + b _08031D4E + .align 2, 0 +_08031CD0: .4byte gUnknown_80E1F40 +_08031CD4: + add r0, sp, 0xD0 + mov r4, sp + adds r4, 0xD2 + adds r1, r4, 0 + bl sub_80992E0 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + beq _08031D04 + movs r2, 0 + ldrsh r0, [r4, r2] + bl sub_80974C4 + adds r2, r0, 0 + ldr r0, _08031D00 + ldr r0, [r0] + ldr r3, [r0, 0x10] + movs r0, 0 + str r0, [sp] + b _08031D2C + .align 2, 0 +_08031D00: .4byte gUnknown_203B330 +_08031D04: + add r4, sp, 0xD4 + adds r0, r4, 0 + bl sub_8099360 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + beq _08031D3C + ldrb r0, [r4] + bl sub_80A2688 + lsls r0, 16 + asrs r0, 16 + bl sub_80975DC + adds r2, r0, 0 + ldr r0, _08031D38 + ldr r0, [r0] + ldr r3, [r0, 0x10] + str r5, [sp] +_08031D2C: + movs r0, 0xA + movs r1, 0x10 + bl xxx_call_draw_string + b _08031D4E + .align 2, 0 +_08031D38: .4byte gUnknown_203B330 +_08031D3C: + ldr r2, _08031D68 + ldr r0, _08031D6C + ldr r0, [r0] + ldr r3, [r0, 0x10] + str r1, [sp] + movs r0, 0xA + movs r1, 0x10 + bl xxx_call_draw_string +_08031D4E: + ldr r0, _08031D6C + ldr r0, [r0] + ldr r0, [r0, 0x10] + bl sub_80073E0 + add sp, 0xDC + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08031D68: .4byte gUnknown_80E1F94 +_08031D6C: .4byte gUnknown_203B330 + thumb_func_end sub_8031AE8 + + thumb_func_start sub_8031D70 +sub_8031D70: + push {r4-r6,lr} + adds r6, r0, 0 + adds r4, r1, 0 + ldr r5, _08031DC4 + movs r0, 0x7C + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + stm r0!, {r6} + bl sub_801317C + ldr r0, [r5] + str r4, [r0, 0x10] + lsls r1, r4, 1 + adds r1, r4 + lsls r1, 3 + adds r1, 0x18 + adds r1, r0, r1 + str r1, [r0, 0x14] + adds r0, 0x18 + bl sub_8006518 + ldr r1, [r5] + ldr r2, [r1, 0x10] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x18 + ldr r0, _08031DC8 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + bl sub_8031E00 + movs r0, 0x1 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08031DC4: .4byte gUnknown_203B334 +_08031DC8: .4byte gUnknown_80E1FC4 + thumb_func_end sub_8031D70 + + thumb_func_start sub_8031DCC +sub_8031DCC: + push {lr} + ldr r0, _08031DEC + ldr r1, [r0] + adds r0, r1, 0x4 + ldr r1, [r1, 0x10] + bl sub_8012A64 + cmp r0, 0x1 + beq _08031DF0 + cmp r0, 0x2 + bne _08031DFA + movs r0, 0x1 + bl sub_80119D4 + movs r0, 0x2 + b _08031DFC + .align 2, 0 +_08031DEC: .4byte gUnknown_203B334 +_08031DF0: + movs r0, 0 + bl sub_80119D4 + movs r0, 0x3 + b _08031DFC +_08031DFA: + movs r0, 0 +_08031DFC: + pop {r1} + bx r1 + thumb_func_end sub_8031DCC + + thumb_func_start sub_8031E00 +sub_8031E00: + push {lr} + bl sub_8031E58 + bl sub_8031E74 + pop {r0} + bx r0 + thumb_func_end sub_8031E00 + + thumb_func_start sub_8031E10 +sub_8031E10: + push {r4,r5,lr} + ldr r4, _08031E50 + ldr r2, [r4] + cmp r2, 0 + beq _08031E4A + ldr r0, [r2, 0x10] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x18 + ldr r0, _08031E54 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x18 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_08031E4A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08031E50: .4byte gUnknown_203B334 +_08031E54: .4byte gUnknown_80E1FA8 + thumb_func_end sub_8031E10 + + thumb_func_start sub_8031E58 +sub_8031E58: + push {lr} + bl sub_8004914 + ldr r0, _08031E70 + ldr r0, [r0] + adds r0, 0x18 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r0} + bx r0 + .align 2, 0 +_08031E70: .4byte gUnknown_203B334 + thumb_func_end sub_8031E58 + + thumb_func_start sub_8031E74 +sub_8031E74: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x3C + ldr r3, _08031EC0 + ldr r5, _08031EC4 + ldr r2, [r5] + ldr r1, [r2] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 4 + ldr r4, [r3] + adds r4, r0 + ldr r0, [r2, 0x10] + bl sub_80073B8 + ldr r2, _08031EC8 + ldr r0, [r5] + ldr r3, [r0, 0x10] + movs r0, 0 + str r0, [sp] + movs r0, 0x14 + movs r1, 0 + bl xxx_call_draw_string + add r0, sp, 0x4 + adds r1, r4, 0 + bl sub_803D2C0 + movs r7, 0 + mov r8, r5 +_08031EB2: + cmp r7, 0x4 + ble _08031ED0 + cmp r7, 0xC + bgt _08031ECC + movs r6, 0x6 + movs r5, 0x16 + b _08031F00 + .align 2, 0 +_08031EC0: .4byte gUnknown_203B480 +_08031EC4: .4byte gUnknown_203B334 +_08031EC8: .4byte gUnknown_80E1FDC +_08031ECC: + cmp r7, 0x11 + bgt _08031ED6 +_08031ED0: + movs r6, 0x7 + movs r5, 0x15 + b _08031F00 +_08031ED6: + cmp r7, 0x16 + ble _08031EE8 + cmp r7, 0x1E + bgt _08031EE4 + movs r6, 0x6 + movs r5, 0x25 + b _08031F00 +_08031EE4: + cmp r7, 0x23 + bgt _08031EEE +_08031EE8: + movs r6, 0x7 + movs r5, 0x24 + b _08031F00 +_08031EEE: + cmp r7, 0x28 + ble _08031EFC + cmp r7, 0x30 + bgt _08031EFC + movs r6, 0x6 + movs r5, 0x34 + b _08031F00 +_08031EFC: + movs r6, 0x7 + movs r5, 0x33 +_08031F00: + adds r0, r7, 0 + movs r1, 0x12 + bl __modsi3 + movs r1, 0xB + adds r4, r0, 0 + muls r4, r1 + adds r4, 0x6 + mov r0, sp + adds r0, r7 + adds r0, 0x4 + ldrb r2, [r0] + mov r1, r8 + ldr r0, [r1] + ldr r0, [r0, 0x10] + str r0, [sp] + adds r0, r4, 0 + adds r1, r5, 0 + adds r3, r6, 0 + bl sub_8012C60 + mov r1, r8 + ldr r0, [r1] + ldr r0, [r0, 0x10] + adds r2, r5, 0 + adds r2, 0xA + movs r1, 0x5 + str r1, [sp] + adds r1, r4, 0 + movs r3, 0xA + bl sub_80078A4 + adds r7, 0x1 + cmp r7, 0x35 + ble _08031EB2 + ldr r0, _08031F5C + ldr r0, [r0] + ldr r0, [r0, 0x10] + bl sub_80073E0 + add sp, 0x3C + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08031F5C: .4byte gUnknown_203B334 + thumb_func_end sub_8031E74 + + thumb_func_start sub_8031F60 +sub_8031F60: + push {r4-r6,lr} + adds r5, r0, 0 + ldr r4, _08031FD0 + movs r0, 0xA0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + str r5, [r0, 0x34] + lsls r1, r5, 1 + adds r1, r5 + lsls r1, 3 + adds r1, 0x3C + adds r1, r0, r1 + str r1, [r0, 0x38] + adds r0, 0x3C + bl sub_8006518 + ldr r1, [r4] + ldr r2, [r1, 0x34] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x3C + ldr r0, _08031FD4 + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldr r0, [r4] + ldr r1, [r0, 0x38] + adds r0, 0x9C + str r0, [r1, 0x14] + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + movs r1, 0x20 + movs r2, 0x8 + adds r3, r5, 0 + bl sub_8013818 + bl sub_8032084 + bl sub_80320F8 + movs r0, 0x1 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08031FD0: .4byte gUnknown_203B338 +_08031FD4: .4byte gUnknown_80E2008 + thumb_func_end sub_8031F60 + + thumb_func_start sub_8031FD8 +sub_8031FD8: + push {r4,lr} + lsls r0, 24 + cmp r0, 0 + bne _08031FF0 + ldr r0, _08031FEC + ldr r0, [r0] + bl sub_8013660 + movs r0, 0 + b _08032034 + .align 2, 0 +_08031FEC: .4byte gUnknown_203B338 +_08031FF0: + ldr r4, _0803200C + ldr r0, [r4] + bl GetKeyPress + cmp r0, 0x1 + beq _08032010 + cmp r0, 0x2 + bne _0803201A + movs r0, 0x1 + bl sub_80119D4 + movs r0, 0x2 + b _08032034 + .align 2, 0 +_0803200C: .4byte gUnknown_203B338 +_08032010: + movs r0, 0 + bl sub_80119D4 + movs r0, 0x3 + b _08032034 +_0803201A: + ldr r0, [r4] + bl sub_8013938 + lsls r0, 24 + cmp r0, 0 + bne _0803202A + movs r0, 0 + b _08032034 +_0803202A: + bl sub_8032084 + bl sub_80320F8 + movs r0, 0x1 +_08032034: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8031FD8 + + thumb_func_start sub_803203C +sub_803203C: + push {r4,r5,lr} + ldr r4, _0803207C + ldr r2, [r4] + cmp r2, 0 + beq _08032076 + ldr r0, [r2, 0x34] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x3C + ldr r0, _08032080 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_08032076: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803207C: .4byte gUnknown_203B338 +_08032080: .4byte gUnknown_80E1FF0 + thumb_func_end sub_803203C + + thumb_func_start sub_8032084 +sub_8032084: + push {r4,lr} + ldr r4, _080320F4 + ldr r0, [r4] + ldrh r1, [r0, 0x20] + adds r0, 0x9C + movs r2, 0 + strb r1, [r0] + ldr r0, [r4] + ldrh r1, [r0, 0x1E] + adds r0, 0x9D + strb r1, [r0] + ldr r0, [r4] + adds r0, 0x9E + movs r1, 0xB + strb r1, [r0] + ldr r0, [r4] + adds r0, 0x9F + strb r2, [r0] + ldr r0, [r4] + movs r1, 0x1A + ldrsh r0, [r0, r1] + movs r1, 0xC + bl sub_80095E4 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x34] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x4A + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x34] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x4C + strh r3, [r2] + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080320F4: .4byte gUnknown_203B338 + thumb_func_end sub_8032084 + + thumb_func_start sub_80320F8 +sub_80320F8: + push {r4-r7,lr} + sub sp, 0x8 + ldr r5, _08032158 + ldr r0, [r5] + ldr r0, [r0, 0x34] + bl sub_8008C54 + ldr r0, [r5] + ldr r0, [r0, 0x34] + bl sub_80073B8 + ldr r0, [r5] + movs r1, 0x1E + ldrsh r4, [r0, r1] + lsls r4, 3 + adds r6, r4, 0 + adds r6, 0xA + ldr r2, _0803215C + ldr r3, [r0, 0x34] + movs r0, 0 + str r0, [sp] + adds r0, r6, 0 + movs r1, 0 + bl xxx_call_draw_string + adds r4, 0x4 + ldr r1, [r5] + adds r0, r1, 0 + adds r0, 0x9E + ldrb r0, [r0] + lsls r0, 3 + adds r6, r4, r0 + movs r0, 0x1E + ldrsh r2, [r1, r0] + adds r2, 0x1 + movs r0, 0x7 + str r0, [sp] + ldr r0, [r1, 0x34] + str r0, [sp, 0x4] + adds r0, r6, 0 + movs r1, 0 + movs r3, 0x1 + bl sub_8012BC4 + movs r7, 0 + ldr r0, [r5] + b _0803223A + .align 2, 0 +_08032158: .4byte gUnknown_203B338 +_0803215C: .4byte gUnknown_80E2020 +_08032160: + ldr r5, _08032194 + ldr r0, [r5] + movs r2, 0x1E + ldrsh r1, [r0, r2] + movs r2, 0x1C + ldrsh r0, [r0, r2] + muls r0, r1 + adds r0, r7 + lsls r0, 24 + lsrs r6, r0, 24 + adds r0, r6, 0 + bl sub_8097710 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0 + beq _0803221C + subs r0, r6, 0x7 + cmp r0, 0x5 + bhi _080321EC + lsls r0, 2 + ldr r1, _08032198 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08032194: .4byte gUnknown_203B338 +_08032198: .4byte _0803219C + .align 2, 0 +_0803219C: + .4byte _080321BA + .4byte _080321C6 + .4byte _080321D4 + .4byte _080321E0 + .4byte _080321C0 + .4byte _080321B4 +_080321B4: + bl sub_80978B8 + b _080321E4 +_080321BA: + bl sub_8097880 + b _080321E4 +_080321C0: + bl sub_8097838 + b _080321E4 +_080321C6: + bl sub_80977B8 + ldr r1, _080321D0 + b _080321EA + .align 2, 0 +_080321D0: .4byte gUnknown_202DE30 +_080321D4: + bl sub_80977F8 + ldr r1, _080321DC + b _080321EA + .align 2, 0 +_080321DC: .4byte gUnknown_202DE30 +_080321E0: + bl sub_8097870 +_080321E4: + ldr r1, _08032214 + lsls r0, 16 + asrs r0, 16 +_080321EA: + str r0, [r1] +_080321EC: + ldr r4, _08032218 + ldr r0, [r4] + adds r1, r7, 0 + bl sub_8013800 + adds r5, r0, 0 + adds r0, r6, 0 + bl sub_8097738 + adds r2, r0, 0 + ldr r0, [r4] + ldr r3, [r0, 0x34] + movs r0, 0 + str r0, [sp] + movs r0, 0x8 + adds r1, r5, 0 + bl sub_8014FF0 + b _08032234 + .align 2, 0 +_08032214: .4byte gUnknown_202DE30 +_08032218: .4byte gUnknown_203B338 +_0803221C: + ldr r0, [r5] + adds r1, r7, 0 + bl sub_8013800 + adds r1, r0, 0 + ldr r2, _08032254 + ldr r0, [r5] + ldr r3, [r0, 0x34] + str r4, [sp] + movs r0, 0x8 + bl xxx_call_draw_string +_08032234: + adds r7, 0x1 + ldr r0, _08032258 + ldr r0, [r0] +_0803223A: + movs r1, 0x1A + ldrsh r0, [r0, r1] + cmp r7, r0 + blt _08032160 + ldr r0, _08032258 + ldr r0, [r0] + ldr r0, [r0, 0x34] + bl sub_80073E0 + add sp, 0x8 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08032254: .4byte gUnknown_80E2030 +_08032258: .4byte gUnknown_203B338 + thumb_func_end sub_80320F8 + + thumb_func_start sub_803225C +sub_803225C: + push {r4,r5,lr} + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r5, _08032300 + movs r4, 0xAD + 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] + movs r0, 0xA6 + lsls r0, 3 + adds r2, r1, r0 + movs r0, 0 + str r0, [r2] + movs r2, 0x86 + lsls r2, 2 + adds r1, r2 + movs r0, 0xFF + strb r0, [r1] + ldr r0, [r5] + movs r1, 0xA7 + lsls r1, 3 + adds r0, r1 + ldr r1, _08032304 + strh r1, [r0] + ldr r0, _08032308 + 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, _0803230C + bl strcpy + movs r1, 0 + movs r2, 0 + adds r4, r5, 0 +_080322C6: + ldr r0, [r5] + adds r0, 0x8 + adds r0, r1 + strb r2, [r0] + adds r1, 0x1 + cmp r1, 0x35 + ble _080322C6 + ldr r1, [r4] + movs r0, 0x7E + str r0, [r1, 0x4] + bl sub_8039880 + ldr r1, [r4] + ldr r2, _08032310 + adds r1, r2 + strb r0, [r1] + ldr r0, [r4] + adds r2, r0, r2 + ldrb r1, [r2] + ldr r2, _08032314 + adds r0, r2 + strb r1, [r0] + movs r0, 0 + bl sub_80338C4 + movs r0, 0x1 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08032300: .4byte gUnknown_203B33C +_08032304: .4byte 0x0000ffff +_08032308: .4byte gUnknown_202E5D8 +_0803230C: .4byte gUnknown_202DF98 +_08032310: .4byte 0x0000052c +_08032314: .4byte 0x0000052d + thumb_func_end sub_803225C + + thumb_func_start sub_8032318 +sub_8032318: + push {lr} + ldr r0, _08032330 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x7D + bls _08032326 + b _080327DC +_08032326: + lsls r0, 2 + ldr r1, _08032334 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08032330: .4byte gUnknown_203B33C +_08032334: .4byte _08032338 + .align 2, 0 +_08032338: + .4byte _080326A6 + .4byte _080326A6 + .4byte _080326AC + .4byte _0803255A + .4byte _0803255A + .4byte _0803266C + .4byte _08032672 + .4byte _08032678 + .4byte _0803267E + .4byte _08032684 + .4byte _0803268A + .4byte _08032690 + .4byte _08032690 + .4byte _08032698 + .4byte _080326A0 + .4byte _080327CE + .4byte _080327CE + .4byte _0803262C + .4byte _08032634 + .4byte _0803263A + .4byte _08032640 + .4byte _08032646 + .4byte _0803264C + .4byte _08032652 + .4byte _08032764 + .4byte _08032658 + .4byte _08032660 + .4byte _08032666 + .4byte _08032612 + .4byte _08032626 + .4byte _0803261A + .4byte _08032620 + .4byte _0803260C + .4byte _080325CE + .4byte _080327CE + .4byte _080325C6 + .4byte _080325BA + .4byte _080325A0 + .4byte _080325A8 + .4byte _080325AE + .4byte _080325B4 + .4byte _080325C0 + .4byte _0803258C + .4byte _0803259A + .4byte _08032594 + .4byte _0803257E + .4byte _08032586 + .4byte _08032764 + .4byte _080327CE + .4byte _080325D4 + .4byte _080325DC + .4byte _080325E2 + .4byte _080325E8 + .4byte _080325EE + .4byte _080327DC + .4byte _080325FA + .4byte _080325F4 + .4byte _08032600 + .4byte _08032606 + .4byte _08032764 + .4byte _080327CE + .4byte _08032560 + .4byte _08032566 + .4byte _0803256C + .4byte _08032572 + .4byte _08032578 + .4byte _08032764 + .4byte _08032658 + .4byte _080327CE + .4byte _080327CE + .4byte _08032794 + .4byte _0803279C + .4byte _080327A2 + .4byte _080327A8 + .4byte _080327AE + .4byte _080327B4 + .4byte _080327BA + .4byte _080327C0 + .4byte _080327C0 + .4byte _080327C8 + .4byte _08032722 + .4byte _080327D6 + .4byte _0803278E + .4byte _08032780 + .4byte _08032788 + .4byte _0803277A + .4byte _08032774 + .4byte _0803276C + .4byte _08032752 + .4byte _08032764 + .4byte _080326BC + .4byte _080326C2 + .4byte _080326D6 + .4byte _080326CA + .4byte _080326D0 + .4byte _080326DC + .4byte _080326E2 + .4byte _080326E8 + .4byte _08032730 + .4byte _08032744 + .4byte _0803273E + .4byte _08032738 + .4byte _080326F4 + .4byte _080326FC + .4byte _080326EE + .4byte _0803274C + .4byte _080326B0 + .4byte _080326B6 + .4byte _08032764 + .4byte _08032722 + .4byte _0803272A + .4byte _08032744 + .4byte _0803271C + .4byte _08032716 + .4byte _08032708 + .4byte _08032710 + .4byte _08032702 + .4byte _08032758 + .4byte _0803275E + .4byte _08032764 + .4byte _08032530 + .4byte _08032536 + .4byte _0803253E + .4byte _08032544 + .4byte _0803254C + .4byte _08032552 +_08032530: + bl sub_8035300 + b _080327DC +_08032536: + movs r0, 0x78 + bl sub_8035404 + b _080327DC +_0803253E: + bl sub_8035374 + b _080327DC +_08032544: + movs r0, 0x7A + bl sub_8035404 + b _080327DC +_0803254C: + bl sub_80353BC + b _080327DC +_08032552: + movs r0, 0x7C + bl sub_8035404 + b _080327DC +_0803255A: + bl sub_8033A2C + b _080327DC +_08032560: + bl sub_803477C + b _080327DC +_08032566: + bl sub_80347AC + b _080327DC +_0803256C: + bl sub_80347C8 + b _080327DC +_08032572: + bl sub_80347E4 + b _080327DC +_08032578: + bl sub_8034804 + b _080327DC +_0803257E: + movs r0, 0x2E + bl sub_8035404 + b _080327DC +_08032586: + bl sub_80344C0 + b _080327DC +_0803258C: + movs r0, 0xD + bl sub_8035404 + b _080327DC +_08032594: + bl sub_8034478 + b _080327DC +_0803259A: + bl sub_80344A0 + b _080327DC +_080325A0: + movs r0, 0x26 + bl sub_8035404 + b _080327DC +_080325A8: + bl sub_803418C + b _080327DC +_080325AE: + bl sub_8034254 + b _080327DC +_080325B4: + bl sub_8034310 + b _080327DC +_080325BA: + bl sub_8034378 + b _080327DC +_080325C0: + bl sub_80343C4 + b _080327DC +_080325C6: + movs r0, 0x21 + bl sub_8035404 + b _080327DC +_080325CE: + bl sub_8034404 + b _080327DC +_080325D4: + movs r0, 0x32 + bl sub_8035404 + b _080327DC +_080325DC: + bl sub_8034500 + b _080327DC +_080325E2: + bl sub_8034590 + b _080327DC +_080325E8: + bl sub_803464C + b _080327DC +_080325EE: + bl sub_80346A8 + b _080327DC +_080325F4: + bl sub_80346D8 + b _080327DC +_080325FA: + bl sub_8034700 + b _080327DC +_08032600: + bl sub_8034720 + b _080327DC +_08032606: + bl sub_803473C + b _080327DC +_0803260C: + bl sub_8033FB4 + b _080327DC +_08032612: + movs r0, 0x1D + bl sub_8035404 + b _080327DC +_0803261A: + bl sub_8034074 + b _080327DC +_08032620: + bl sub_8034130 + b _080327DC +_08032626: + bl sub_8033FE4 + b _080327DC +_0803262C: + movs r0, 0x12 + bl sub_8035404 + b _080327DC +_08032634: + bl nullsub_42 + b _080327DC +_0803263A: + bl nullsub_43 + b _080327DC +_08032640: + bl nullsub_44 + b _080327DC +_08032646: + bl nullsub_45 + b _080327DC +_0803264C: + bl sub_8033D74 + b _080327DC +_08032652: + bl sub_8033D94 + b _080327DC +_08032658: + movs r0, 0x1A + bl sub_8035404 + b _080327DC +_08032660: + bl sub_8033DBC + b _080327DC +_08032666: + bl sub_8033F64 + b _080327DC +_0803266C: + bl sub_8033C54 + b _080327DC +_08032672: + bl nullsub_41 + b _080327DC +_08032678: + bl sub_8033CAC + b _080327DC +_0803267E: + bl sub_8033D48 + b _080327DC +_08032684: + bl sub_8035424 + b _080327DC +_0803268A: + bl nullsub_50 + b _080327DC +_08032690: + movs r0, 0x6 + bl sub_8035404 + b _080327DC +_08032698: + movs r0, 0x7 + bl sub_8035404 + b _080327DC +_080326A0: + bl sub_8033B8C + b _080327DC +_080326A6: + bl sub_80339C8 + b _080327DC +_080326AC: + movs r0, 0x3 + b _080327DE +_080326B0: + bl sub_80348C4 + b _080327DC +_080326B6: + bl sub_803482C + b _080327DC +_080326BC: + bl sub_80349B0 + b _080327DC +_080326C2: + movs r0, 0x5C + bl sub_8035404 + b _080327DC +_080326CA: + bl sub_8034A70 + b _080327DC +_080326D0: + bl sub_8034B2C + b _080327DC +_080326D6: + bl sub_80349E0 + b _080327DC +_080326DC: + bl sub_8034B88 + b _080327DC +_080326E2: + bl sub_8034C98 + b _080327DC +_080326E8: + bl sub_8034C38 + b _080327DC +_080326EE: + bl sub_8034D54 + b _080327DC +_080326F4: + movs r0, 0x67 + bl sub_8035404 + b _080327DC +_080326FC: + bl sub_8034970 + b _080327DC +_08032702: + bl sub_80351E0 + b _080327DC +_08032708: + movs r0, 0x73 + bl sub_8035404 + b _080327DC +_08032710: + bl sub_8034D74 + b _080327DC +_08032716: + bl sub_8034EF0 + b _080327DC +_0803271C: + bl sub_8034F38 + b _080327DC +_08032722: + movs r0, 0x6E + bl sub_8035404 + b _080327DC +_0803272A: + bl sub_80352A4 + b _080327DC +_08032730: + movs r0, 0x6A + bl sub_8035404 + b _080327DC +_08032738: + bl sub_8034EC8 + b _080327DC +_0803273E: + bl sub_8034F18 + b _080327DC +_08032744: + movs r0, 0x62 + bl sub_8035404 + b _080327DC +_0803274C: + bl sub_8034F58 + b _080327DC +_08032752: + bl sub_8034F88 + b _080327DC +_08032758: + bl sub_8035018 + b _080327DC +_0803275E: + bl sub_8035038 + b _080327DC +_08032764: + movs r0, 0x2 + bl sub_8035404 + b _080327DC +_0803276C: + movs r0, 0x5F + bl sub_8035404 + b _080327DC +_08032774: + bl sub_8035094 + b _080327DC +_0803277A: + bl sub_80350F4 + b _080327DC +_08032780: + movs r0, 0x54 + bl sub_8035404 + b _080327DC +_08032788: + bl sub_803517C + b _080327DC +_0803278E: + bl sub_8035210 + b _080327DC +_08032794: + movs r0, 0x47 + bl sub_8035404 + b _080327DC +_0803279C: + bl nullsub_46 + b _080327DC +_080327A2: + bl nullsub_47 + b _080327DC +_080327A8: + bl nullsub_48 + b _080327DC +_080327AE: + bl nullsub_49 + b _080327DC +_080327B4: + bl sub_8035430 + b _080327DC +_080327BA: + bl nullsub_51 + b _080327DC +_080327C0: + movs r0, 0x4F + bl sub_8035404 + b _080327DC +_080327C8: + bl sub_8034848 + b _080327DC +_080327CE: + movs r0, 0x1 + bl sub_8035404 + b _080327DC +_080327D6: + movs r0, 0x1 + bl sub_8035404 +_080327DC: + movs r0, 0 +_080327DE: + pop {r1} + bx r1 + thumb_func_end sub_8032318 + + thumb_func_start sub_80327E4 +sub_80327E4: + push {r4,lr} + ldr r4, _08032820 + ldr r0, [r4] + cmp r0, 0 + beq _0803281A + bl MemoryFree + movs r0, 0 + str r0, [r4] + bl sub_803084C + bl sub_8031E10 + bl sub_8023C60 + bl sub_80155F0 + bl sub_801CBB8 + bl sub_802F2C0 + bl sub_8030DE4 + bl sub_802453C + bl sub_801B450 +_0803281A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08032820: .4byte gUnknown_203B33C + thumb_func_end sub_80327E4 + + thumb_func_start nullsub_40 +nullsub_40: + bx lr + thumb_func_end nullsub_40 + + thumb_func_start sub_8032828 +sub_8032828: + push {r4-r6,lr} + sub sp, 0x68 + ldr r1, _08032848 + ldr r0, [r1] + ldr r0, [r0] + adds r6, r1, 0 + cmp r0, 0x7D + bls _0803283C + bl _080338B4 +_0803283C: + lsls r0, 2 + ldr r1, _0803284C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08032848: .4byte gUnknown_203B33C +_0803284C: .4byte _08032850 + .align 2, 0 +_08032850: + .4byte _08032A48 + .4byte _08032AD0 + .4byte _080338B4 + .4byte _08032B80 + .4byte _08032BC4 + .4byte _08032FD0 + .4byte _080338B4 + .4byte _08032FF0 + .4byte _080338B4 + .4byte _080338B4 + .4byte _08032FD8 + .4byte _08032FE0 + .4byte _08032FE8 + .4byte _0803356C + .4byte _08032C50 + .4byte _08033200 + .4byte _080331CC + .4byte _080331D4 + .4byte _080331DC + .4byte _080336B2 + .4byte _080338B4 + .4byte _080331F8 + .4byte _08033208 + .4byte _080338B4 + .4byte _08033234 + .4byte _0803323C + .4byte _08033244 + .4byte _080338B4 + .4byte _08032F8C + .4byte _08032F98 + .4byte _080336B2 + .4byte _080338B4 + .4byte _08032FB6 + .4byte _08032EB8 + .4byte _08032FC4 + .4byte _08032EAC + .4byte _08032F54 + .4byte _08032EE0 + .4byte _08032EEC + .4byte _08032F16 + .4byte _080338B4 + .4byte _08032F7C + .4byte _08032E60 + .4byte _08032E6C + .4byte _08032EA0 + .4byte _08032E48 + .4byte _0803341C + .4byte _08032E54 + .4byte _08032D84 + .4byte _08032D90 + .4byte _08032D9C + .4byte _080336B2 + .4byte _080338B4 + .4byte _08032DBC + .4byte _080338B4 + .4byte _08032DCC + .4byte _08032E00 + .4byte _08032E3C + .4byte _08032E0C + .4byte _08032E30 + .4byte _08032D04 + .4byte _08032D10 + .4byte _08032D2C + .4byte _08032D38 + .4byte _08032D44 + .4byte _080338B4 + .4byte _08032D78 + .4byte _08032D20 + .4byte _08033720 + .4byte _08033728 + .4byte _08033684 + .4byte _0803368C + .4byte _080336B2 + .4byte _080338B4 + .4byte _080336F8 + .4byte _080338B4 + .4byte _08032FD8 + .4byte _08032FE0 + .4byte _08032FE8 + .4byte _080338B4 + .4byte _08033468 + .4byte _08033730 + .4byte _08033738 + .4byte _0803366C + .4byte _08033674 + .4byte _08033644 + .4byte _0803361C + .4byte _08033614 + .4byte _080335F4 + .4byte _080335C0 + .4byte _0803324E + .4byte _0803325C + .4byte _0803368C + .4byte _08033264 + .4byte _080338B4 + .4byte _08033288 + .4byte _080332B8 + .4byte _080338B4 + .4byte _0803356C + .4byte _080335B0 + .4byte _08033584 + .4byte _080338B4 + .4byte _08033412 + .4byte _0803341C + .4byte _08033448 + .4byte _080335B8 + .4byte _080332F4 + .4byte _080338B4 + .4byte _08033460 + .4byte _08033470 + .4byte _0803349C + .4byte _08033450 + .4byte _08033458 + .4byte _080338B4 + .4byte _080333E4 + .4byte _080333EC + .4byte _080338B4 + .4byte _08033604 + .4byte _0803360C + .4byte _080338B4 + .4byte _0803384C + .4byte _0803387C + .4byte _080337D4 + .4byte _080337F0 + .4byte _08033770 + .4byte _0803378C +_08032A48: + movs r0, 0x1 + bl sub_8095324 + cmp r0, 0 + bne _08032A9C + movs r0, 0x5 + bl sub_8095324 + adds r4, r0, 0 + cmp r4, 0 + bne _08032A9C + ldr r0, _08032A7C + ldr r0, [r0] + ldr r1, _08032A80 + adds r0, r1 + ldrb r2, [r0] + cmp r2, 0 + beq _08032A8C + ldr r0, _08032A84 + ldr r3, _08032A88 + str r4, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + str r4, [sp, 0xC] + b _08032B66 + .align 2, 0 +_08032A7C: .4byte gUnknown_203B33C +_08032A80: .4byte 0x0000052c +_08032A84: .4byte gUnknown_80E25F4 +_08032A88: .4byte gUnknown_80E2108 +_08032A8C: + ldr r0, _08032A94 + ldr r3, _08032A98 + b _08032B5C + .align 2, 0 +_08032A94: .4byte gUnknown_80E25F4 +_08032A98: .4byte gUnknown_80E20B8 +_08032A9C: + ldr r0, _08032AC0 + ldr r0, [r0] + ldr r2, _08032AC4 + adds r0, r2 + ldrb r2, [r0] + cmp r2, 0 + beq _08032B58 + ldr r0, _08032AC8 + ldr r3, _08032ACC + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + bl _08033864 + .align 2, 0 +_08032AC0: .4byte gUnknown_203B33C +_08032AC4: .4byte 0x0000052c +_08032AC8: .4byte gUnknown_80E25F4 +_08032ACC: .4byte gUnknown_80E20E0 +_08032AD0: + movs r0, 0x1 + bl sub_8095324 + cmp r0, 0 + bne _08032B24 + movs r0, 0x5 + bl sub_8095324 + adds r4, r0, 0 + cmp r4, 0 + bne _08032B24 + ldr r0, _08032B04 + ldr r0, [r0] + ldr r3, _08032B08 + adds r0, r3 + ldrb r2, [r0] + cmp r2, 0 + beq _08032B14 + ldr r0, _08032B0C + ldr r3, _08032B10 + str r4, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + str r4, [sp, 0xC] + b _08032B66 + .align 2, 0 +_08032B04: .4byte gUnknown_203B33C +_08032B08: .4byte 0x0000052c +_08032B0C: .4byte gUnknown_80E25F4 +_08032B10: .4byte gUnknown_80E2108 +_08032B14: + ldr r0, _08032B1C + ldr r3, _08032B20 + b _08032B5C + .align 2, 0 +_08032B1C: .4byte gUnknown_80E25F4 +_08032B20: .4byte gUnknown_80E20B8 +_08032B24: + ldr r0, _08032B48 + ldr r0, [r0] + ldr r4, _08032B4C + adds r0, r4 + ldrb r2, [r0] + cmp r2, 0 + beq _08032B58 + ldr r0, _08032B50 + ldr r3, _08032B54 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + bl _08033864 + .align 2, 0 +_08032B48: .4byte gUnknown_203B33C +_08032B4C: .4byte 0x0000052c +_08032B50: .4byte gUnknown_80E25F4 +_08032B54: .4byte gUnknown_80E20E0 +_08032B58: + ldr r0, _08032B78 + ldr r3, _08032B7C +_08032B5C: + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] +_08032B66: + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0 + bl sub_8014248 + bl _080338B4 + .align 2, 0 +_08032B78: .4byte gUnknown_80E25F4 +_08032B7C: .4byte gUnknown_80E2068 +_08032B80: + movs r0, 0x4 + bl sub_8095324 + adds r2, r0, 0 + cmp r2, 0 + beq _08032B9C + ldr r0, _08032B94 + ldr r3, _08032B98 + movs r2, 0 + b _08032BA0 + .align 2, 0 +_08032B94: .4byte gUnknown_80E25F4 +_08032B98: .4byte gUnknown_80E2130 +_08032B9C: + ldr r0, _08032BBC + ldr r3, _08032BC0 +_08032BA0: + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x3 + bl sub_8014248 + bl _080338B4 + .align 2, 0 +_08032BBC: .4byte gUnknown_80E25F4 +_08032BC0: .4byte gUnknown_80E2190 +_08032BC4: + movs r0, 0x1 + bl sub_8095324 + adds r4, r0, 0 + cmp r4, 0 + bne _08032C0C + movs r0, 0x5 + bl sub_8095324 + cmp r0, 0 + bne _08032BF4 + ldr r0, _08032BEC + ldr r3, _08032BF0 + str r4, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + str r4, [sp, 0xC] + b _08032C38 + .align 2, 0 +_08032BEC: .4byte gUnknown_80E25F4 +_08032BF0: .4byte gUnknown_80E2268 +_08032BF4: + ldr r0, _08032C04 + ldr r3, _08032C08 + str r4, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + str r4, [sp, 0xC] + b _08032C38 + .align 2, 0 +_08032C04: .4byte gUnknown_80E25F4 +_08032C08: .4byte gUnknown_80E2218 +_08032C0C: + movs r0, 0x5 + bl sub_8095324 + adds r2, r0, 0 + cmp r2, 0 + bne _08032C28 + ldr r0, _08032C20 + ldr r3, _08032C24 + b _08032C2E + .align 2, 0 +_08032C20: .4byte gUnknown_80E25F4 +_08032C24: .4byte gUnknown_80E2240 +_08032C28: + ldr r0, _08032C48 + ldr r3, _08032C4C + movs r2, 0 +_08032C2E: + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] +_08032C38: + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x11 + bl sub_8014248 + bl _080338B4 + .align 2, 0 +_08032C48: .4byte gUnknown_80E25F4 +_08032C4C: .4byte gUnknown_80E21B8 +_08032C50: + ldr r0, [r6] + movs r5, 0xA5 + lsls r5, 3 + adds r0, r5 + ldr r0, [r0] + subs r0, 0x3 + cmp r0, 0x11 + bls _08032C64 + bl _080338B4 +_08032C64: + lsls r0, 2 + ldr r1, _08032C70 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08032C70: .4byte _08032C74 + .align 2, 0 +_08032C74: + .4byte _08032CC8 + .4byte _08032CD4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _08032CBC + .4byte _08032CE0 + .4byte _08032CEC + .4byte _08032CF8 +_08032CBC: + ldr r0, _08032CC4 + bl _0803374A + .align 2, 0 +_08032CC4: .4byte gUnknown_80E2610 +_08032CC8: + ldr r0, _08032CD0 + bl _0803374A + .align 2, 0 +_08032CD0: .4byte gUnknown_80E2640 +_08032CD4: + ldr r0, _08032CDC + bl _0803374A + .align 2, 0 +_08032CDC: .4byte gUnknown_80E2680 +_08032CE0: + ldr r0, _08032CE8 + bl _0803374A + .align 2, 0 +_08032CE8: .4byte gUnknown_80E26B0 +_08032CEC: + ldr r0, _08032CF4 + bl _0803374A + .align 2, 0 +_08032CF4: .4byte gUnknown_80E26F0 +_08032CF8: + ldr r0, _08032D00 + bl _0803374A + .align 2, 0 +_08032D00: .4byte gUnknown_80E2728 +_08032D04: + ldr r0, _08032D0C + bl _0803388E + .align 2, 0 +_08032D0C: .4byte gUnknown_80E276C +_08032D10: + ldr r0, _08032D18 + ldr r3, _08032D1C + bl _080336FC + .align 2, 0 +_08032D18: .4byte gUnknown_80E27A4 +_08032D1C: .4byte gUnknown_80E2458 +_08032D20: + ldr r0, _08032D28 + bl _0803388E + .align 2, 0 +_08032D28: .4byte gUnknown_80E2814 +_08032D2C: + ldr r0, _08032D34 + bl _0803388E + .align 2, 0 +_08032D34: .4byte gUnknown_80E2840 +_08032D38: + ldr r0, _08032D40 + bl _0803388E + .align 2, 0 +_08032D40: .4byte gUnknown_80E2874 +_08032D44: + ldr r0, [r6] + ldr r1, _08032D60 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0xC + bne _08032D54 + bl _080338B4 +_08032D54: + cmp r0, 0xC + bhi _08032D64 + cmp r0, 0xB + beq _08032D6C + bl _080338B4 + .align 2, 0 +_08032D60: .4byte 0x00000524 +_08032D64: + cmp r0, 0xE + bls _08032D6C + bl _080338B4 +_08032D6C: + ldr r0, _08032D74 + bl _0803388E + .align 2, 0 +_08032D74: .4byte gUnknown_80E2898 +_08032D78: + ldr r0, _08032D80 + bl _0803388E + .align 2, 0 +_08032D80: .4byte gUnknown_80E28D8 +_08032D84: + ldr r0, _08032D8C + bl _0803388E + .align 2, 0 +_08032D8C: .4byte gUnknown_80E2904 +_08032D90: + ldr r0, _08032D98 + bl _0803388E + .align 2, 0 +_08032D98: .4byte gUnknown_80E296C +_08032D9C: + bl sub_8030894 + cmp r0, 0 + beq _08032DA8 + bl _080338B4 +_08032DA8: + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1 + bl _080336A6 +_08032DBC: + ldr r0, _08032DC4 + ldr r3, _08032DC8 + bl _080336FC + .align 2, 0 +_08032DC4: .4byte gUnknown_80E29A0 +_08032DC8: .4byte gUnknown_80E22B4 +_08032DCC: + ldr r0, [r6] + ldr r2, _08032DE8 + adds r0, r2 + ldr r0, [r0] + cmp r0, 0xC + bne _08032DDC + bl _080338B4 +_08032DDC: + cmp r0, 0xC + bhi _08032DEC + cmp r0, 0xB + beq _08032DF4 + bl _080338B4 + .align 2, 0 +_08032DE8: .4byte 0x00000524 +_08032DEC: + cmp r0, 0xE + bls _08032DF4 + bl _080338B4 +_08032DF4: + ldr r0, _08032DFC + bl _0803388E + .align 2, 0 +_08032DFC: .4byte gUnknown_80E29D0 +_08032E00: + ldr r0, _08032E08 + bl _0803388E + .align 2, 0 +_08032E08: .4byte gUnknown_80E2A0C +_08032E0C: + ldr r0, [r6] + movs r3, 0xEF + lsls r3, 2 + adds r0, r3 + bl sub_8006518 + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r6] + movs r4, 0x86 + lsls r4, 2 + adds r0, r4 + b _0803343E +_08032E30: + ldr r0, _08032E38 + bl _0803388E + .align 2, 0 +_08032E38: .4byte gUnknown_80E2A1C +_08032E3C: + ldr r0, _08032E44 + bl _0803388E + .align 2, 0 +_08032E44: .4byte gUnknown_80E2A5C +_08032E48: + ldr r0, _08032E50 + bl _0803388E + .align 2, 0 +_08032E50: .4byte gUnknown_80E2A80 +_08032E54: + ldr r0, _08032E5C + bl _0803388E + .align 2, 0 +_08032E5C: .4byte gUnknown_80E2AA8 +_08032E60: + ldr r0, _08032E68 + bl _0803388E + .align 2, 0 +_08032E68: .4byte gUnknown_80E2AE4 +_08032E6C: + ldr r0, [r6] + ldr r2, _08032E88 + adds r0, r2 + ldr r0, [r0] + cmp r0, 0xC + bne _08032E7C + bl _080338B4 +_08032E7C: + cmp r0, 0xC + bhi _08032E8C + cmp r0, 0xB + beq _08032E94 + bl _080338B4 + .align 2, 0 +_08032E88: .4byte 0x00000524 +_08032E8C: + cmp r0, 0xE + bls _08032E94 + bl _080338B4 +_08032E94: + ldr r0, _08032E9C + bl _0803388E + .align 2, 0 +_08032E9C: .4byte gUnknown_80E2B54 +_08032EA0: + ldr r0, _08032EA8 + bl _0803388E + .align 2, 0 +_08032EA8: .4byte gUnknown_80E2A0C +_08032EAC: + ldr r0, _08032EB4 + bl _0803388E + .align 2, 0 +_08032EB4: .4byte gUnknown_80E2B90 +_08032EB8: + ldr r0, _08032ED8 + ldr r3, _08032EDC + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0xF + bl sub_8014248 + bl _080338B4 + .align 2, 0 +_08032ED8: .4byte gUnknown_80E2BE0 +_08032EDC: .4byte gUnknown_80E23A8 +_08032EE0: + ldr r0, _08032EE8 + bl _0803388E + .align 2, 0 +_08032EE8: .4byte gUnknown_80E2C48 +_08032EEC: + bl sub_8023CE8 + cmp r0, 0 + beq _08032EF8 + bl sub_8023C60 +_08032EF8: + 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 + bl _080338B4 +_08032F16: + 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, _08032F4C + ldr r2, _08032F50 + 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 + bl _080336E2 + .align 2, 0 +_08032F4C: .4byte gUnknown_80E2334 +_08032F50: .4byte gUnknown_80E234C +_08032F54: + ldr r0, _08032F74 + ldr r3, _08032F78 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x10 + bl sub_8014248 + bl _080338B4 + .align 2, 0 +_08032F74: .4byte gUnknown_80E2C94 +_08032F78: .4byte gUnknown_80E22F0 +_08032F7C: + ldr r0, _08032F84 + ldr r3, _08032F88 + bl _080336FC + .align 2, 0 +_08032F84: .4byte gUnknown_80E2CD4 +_08032F88: .4byte gUnknown_80E22D0 +_08032F8C: + ldr r0, _08032F94 + bl _0803388E + .align 2, 0 +_08032F94: .4byte gUnknown_80E2CE8 +_08032F98: + bl sub_8030894 + cmp r0, 0 + beq _08032FA4 + bl _080338B4 +_08032FA4: + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x4 + b _080336A6 +_08032FB6: + ldr r0, _08032FBC + ldr r3, _08032FC0 + b _080336FC + .align 2, 0 +_08032FBC: .4byte gUnknown_80E2D30 +_08032FC0: .4byte gUnknown_80E22B4 +_08032FC4: + ldr r0, _08032FCC + bl _0803388E + .align 2, 0 +_08032FCC: .4byte gUnknown_80E2D60 +_08032FD0: + ldr r0, _08032FD4 + b _080336FA + .align 2, 0 +_08032FD4: .4byte gUnknown_80E2D7C +_08032FD8: + ldr r0, _08032FDC + b _080336FA + .align 2, 0 +_08032FDC: .4byte gUnknown_80E2E20 +_08032FE0: + ldr r0, _08032FE4 + b _08033574 + .align 2, 0 +_08032FE4: .4byte gUnknown_80E2E54 +_08032FE8: + ldr r0, _08032FEC + b _08033574 + .align 2, 0 +_08032FEC: .4byte gUnknown_80E2EB4 +_08032FF0: + 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 + beq _0803300E + b _080333DE +_0803300E: + ldr r1, [r0, 0x40] + cmp r1, 0x3 + beq _08033028 + cmp r1, 0x3 + bhi _0803301E + cmp r1, 0x2 + beq _0803304A + b _0803313C +_0803301E: + cmp r1, 0x4 + beq _080330B4 + cmp r1, 0x5 + beq _0803308E + b _0803313C +_08033028: + 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 _08033134 +_0803304A: + 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 r0, [r6] + movs r3, 0x86 + lsls r3, 2 + adds r0, r3 + ldrb r0, [r0] + bl sub_8095228 + ldr r1, [r6] + adds r1, 0x48 + ldm r0!, {r2,r4,r5} + stm r1!, {r2,r4,r5} + ldm r0!, {r3-r5} + stm r1!, {r3-r5} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldr r2, [r6] + ldr r0, [r2, 0x40] + adds r1, r2, 0 + adds r1, 0x48 + adds r2, 0x78 + b _08033134 +_0803308E: + adds r0, 0xA8 + movs r1, 0 + movs r2, 0x88 + bl MemoryFill8 + ldr r0, [r6] + movs r4, 0x98 + lsls r4, 1 + adds r0, r4 + movs r1, 0 + movs r2, 0x88 + bl MemoryFill8 + ldr r2, [r6] + ldr r0, [r2, 0x40] + adds r1, r2, 0 + adds r1, 0xA8 + adds r2, r4 + b _08033134 +_080330B4: + 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] + movs r4, 0xA7 + lsls r4, 3 + adds r3, r2, r4 + movs r0, 0 + ldrsh r1, [r3, r0] + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + beq _0803312A + adds r0, r2, 0 + adds r0, 0xD8 + ldr r1, _08033188 + ldr r1, [r1] + movs r2, 0 + ldrsh r3, [r3, r2] + movs r2, 0x58 + muls r2, r3 + adds r1, r2 + movs r2, 0x58 + bl memcpy +_0803312A: + ldr r2, [r6] + ldr r0, [r2, 0x40] + adds r1, r2, 0 + adds r1, 0xA8 + adds r2, r5 +_08033134: + bl sub_8037D64 + ldr r1, [r6] + str r0, [r1, 0x44] +_0803313C: + ldr r4, _0803318C + ldr r2, [r4] + ldr r0, [r2, 0x44] + cmp r0, 0 + beq _08033148 + b _080333DE +_08033148: + ldr r0, [r2, 0x40] + cmp r0, 0x2 + bcs _08033150 + b _080333DE +_08033150: + cmp r0, 0x3 + bls _08033190 + cmp r0, 0x5 + bls _0803315A + b _080333DE +_0803315A: + adds r1, r2, 0 + adds r1, 0xA8 + movs r3, 0x98 + lsls r3, 1 + adds r2, r3 + bl sub_80381F4 + ldr r1, [r4] + str r0, [r1, 0x44] + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + beq _080331C0 + ldr r0, [r4] + movs r4, 0x84 + lsls r4, 3 + adds r1, r0, r4 + movs r5, 0xA0 + lsls r5, 1 + adds r0, r5 + b _080333DA + .align 2, 0 +_08033188: .4byte gUnknown_203B45C +_0803318C: .4byte gUnknown_203B33C +_08033190: + adds r1, r2, 0 + adds r1, 0x48 + adds r2, 0x78 + bl sub_80381F4 + ldr r1, [r4] + str r0, [r1, 0x44] + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + beq _080331B4 + ldr r0, [r4] + movs r2, 0x84 + lsls r2, 3 + adds r1, r0, r2 + adds r0, 0x88 + b _080333DA +_080331B4: + ldr r0, [r4] + movs r3, 0x84 + lsls r3, 3 + adds r1, r0, r3 + ldr r0, [r0, 0x58] + b _080333DC +_080331C0: + ldr r0, [r4] + movs r4, 0x84 + lsls r4, 3 + adds r1, r0, r4 + adds r0, 0xB8 + b _080333DA +_080331CC: + ldr r0, _080331D0 + b _0803388E + .align 2, 0 +_080331D0: .4byte gUnknown_80E2F14 +_080331D4: + ldr r0, _080331D8 + b _0803388E + .align 2, 0 +_080331D8: .4byte gUnknown_80E2F44 +_080331DC: + bl sub_8030894 + cmp r0, 0 + beq _080331E6 + b _080338B4 +_080331E6: + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1 + b _080336A6 +_080331F8: + ldr r0, _080331FC + b _080336FA + .align 2, 0 +_080331FC: .4byte gUnknown_80E2F78 +_08033200: + ldr r0, _08033204 + b _0803388E + .align 2, 0 +_08033204: .4byte gUnknown_80E2FA0 +_08033208: + ldr r0, [r6] + ldr r5, _08033220 + adds r0, r5 + ldr r0, [r0] + cmp r0, 0xC + bne _08033216 + b _080338B4 +_08033216: + cmp r0, 0xC + bhi _08033224 + cmp r0, 0xB + beq _0803322A + b _080338B4 + .align 2, 0 +_08033220: .4byte 0x00000524 +_08033224: + cmp r0, 0xE + bls _0803322A + b _080338B4 +_0803322A: + ldr r0, _08033230 + b _0803388E + .align 2, 0 +_08033230: .4byte gUnknown_80E2FEC +_08033234: + ldr r0, _08033238 + b _0803388E + .align 2, 0 +_08033238: .4byte gUnknown_80E3030 +_0803323C: + ldr r0, _08033240 + b _0803388E + .align 2, 0 +_08033240: .4byte gUnknown_80E3078 +_08033244: + ldr r0, [r6] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + b _080333F4 +_0803324E: + ldr r0, _08033254 + ldr r3, _08033258 + b _080336FC + .align 2, 0 +_08033254: .4byte gUnknown_80E30A4 +_08033258: .4byte gUnknown_80E2458 +_0803325C: + ldr r0, _08033260 + b _0803388E + .align 2, 0 +_08033260: .4byte gUnknown_80E30D0 +_08033264: + 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, _08033280 + ldr r2, _08033284 + b _080336CC + .align 2, 0 +_08033280: .4byte gUnknown_80E231C +_08033284: .4byte gUnknown_80E2408 +_08033288: + bl sub_801D008 + cmp r0, 0 + beq _08033292 + b _080338B4 +_08033292: + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, _080332B4 + str r0, [sp, 0x64] + add r2, sp, 0x64 + movs r0, 0 + movs r1, 0x1 + movs r3, 0x9 + bl sub_801C8C4 + b _080338B4 + .align 2, 0 +_080332B4: .4byte 0x00020003 +_080332B8: + 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, _080332EC + ldr r2, _080332F0 + 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_801CCD8 + b _080336E2 + .align 2, 0 +_080332EC: .4byte gUnknown_80E23F0 +_080332F0: .4byte gUnknown_80E2408 +_080332F4: + ldr r1, [r6] + movs r0, 0 + str r0, [r1, 0x44] + bl sub_8011830 + ldr r0, [r6] + ldr r0, [r0, 0x40] + bl sub_8037B28 + ldr r1, [r6] + str r0, [r1, 0x44] + cmp r0, 0 + bne _080333DE + ldr r0, [r1, 0x40] + cmp r0, 0x6 + beq _0803331A + cmp r0, 0x7 + beq _08033358 + b _08033388 +_0803331A: + movs r4, 0xDC + lsls r4, 1 + adds r0, r1, r4 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r2, 0x86 + lsls r2, 2 + adds r0, r2 + ldrb r0, [r0] + bl sub_8095228 + ldr r1, [r6] + adds r1, r4 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldr r2, [r6] + ldr r0, [r2, 0x40] + adds r4, r2, r4 + movs r3, 0xF4 + lsls r3, 1 + adds r2, r3 + b _0803337E +_08033358: + movs r4, 0xDC + lsls r4, 1 + adds r0, r1, r4 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r5, 0xF4 + lsls r5, 1 + adds r0, r5 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r2, [r6] + ldr r0, [r2, 0x40] + adds r4, r2, r4 + adds r2, r5 +_0803337E: + adds r1, r4, 0 + bl sub_8037D64 + ldr r1, [r6] + str r0, [r1, 0x44] +_08033388: + ldr r4, _080333C8 + ldr r2, [r4] + ldr r0, [r2, 0x44] + cmp r0, 0 + bne _080333DE + ldr r0, [r2, 0x40] + cmp r0, 0x7 + bhi _080333DE + cmp r0, 0x6 + bcc _080333DE + movs r5, 0xDC + lsls r5, 1 + adds r1, r2, r5 + movs r3, 0xF4 + lsls r3, 1 + adds r2, r3 + bl sub_80381F4 + ldr r1, [r4] + str r0, [r1, 0x44] + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + beq _080333CC + ldr r0, [r4] + movs r4, 0x84 + lsls r4, 3 + adds r1, r0, r4 + adds r5, 0x40 + adds r0, r5 + b _080333DA + .align 2, 0 +_080333C8: .4byte gUnknown_203B33C +_080333CC: + ldr r0, [r4] + movs r2, 0x84 + lsls r2, 3 + adds r1, r0, r2 + movs r3, 0xE4 + lsls r3, 1 + adds r0, r3 +_080333DA: + ldr r0, [r0] +_080333DC: + str r0, [r1] +_080333DE: + bl sub_8011854 + b _080338B4 +_080333E4: + ldr r0, _080333E8 + b _0803388E + .align 2, 0 +_080333E8: .4byte gUnknown_80E311C +_080333EC: + ldr r0, [r6] + movs r4, 0xEF + lsls r4, 2 + adds r0, r4 +_080333F4: + 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 _080338B4 +_08033412: + ldr r0, _08033418 + b _0803388E + .align 2, 0 +_08033418: .4byte gUnknown_80E314C +_0803341C: + ldr r0, [r6] + movs r5, 0xEF + lsls r5, 2 + adds r0, r5 + bl sub_8006518 + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r6] + movs r1, 0x86 + lsls r1, 2 + adds r0, r1 +_0803343E: + ldrb r0, [r0] + movs r1, 0 + bl sub_8031D70 + b _080338B4 +_08033448: + ldr r0, _0803344C + b _0803388E + .align 2, 0 +_0803344C: .4byte gUnknown_80E317C +_08033450: + ldr r0, _08033454 + b _0803388E + .align 2, 0 +_08033454: .4byte gUnknown_80E319C +_08033458: + ldr r0, _0803345C + b _0803388E + .align 2, 0 +_0803345C: .4byte gUnknown_80E317C +_08033460: + ldr r0, _08033464 + b _0803388E + .align 2, 0 +_08033464: .4byte gUnknown_80E31D8 +_08033468: + ldr r0, _0803346C + b _0803388E + .align 2, 0 +_0803346C: .4byte gUnknown_80E31FC +_08033470: + ldr r0, [r6] + ldr r2, _08033488 + adds r0, r2 + ldr r0, [r0] + cmp r0, 0xC + bne _0803347E + b _080338B4 +_0803347E: + cmp r0, 0xC + bhi _0803348C + cmp r0, 0xB + beq _08033492 + b _080338B4 + .align 2, 0 +_08033488: .4byte 0x00000524 +_0803348C: + cmp r0, 0xE + bls _08033492 + b _080338B4 +_08033492: + ldr r0, _08033498 + b _0803388E + .align 2, 0 +_08033498: .4byte gUnknown_80E3220 +_0803349C: + movs r0, 0x98 + lsls r0, 1 + bl sub_808D994 + adds r1, r0, 0 + ldr r4, _080334F8 + ldr r0, [r4] + ldr r3, _080334FC + adds r0, r3 + bl strcpy + ldr r1, [r4] + movs r5, 0xAA + lsls r5, 3 + adds r0, r1, r5 + movs r2, 0 + strh r2, [r0] + ldr r0, _08033500 + adds r1, r0 + movs r0, 0x2 + strb r0, [r1] + ldr r0, [r4] + ldr r3, _08033504 + adds r1, r0, r3 + str r2, [r1] + movs r5, 0x84 + lsls r5, 3 + adds r0, r5 + ldr r1, [r0] + movs r0, 0x6 + bl sub_809539C + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + adds r2, r0, 0 + adds r0, 0x22 + ldrb r1, [r0] + cmp r1, 0 + beq _08033508 + ldr r0, [r4] + movs r3, 0xAB + lsls r3, 3 + adds r0, r3 + b _08033512 + .align 2, 0 +_080334F8: .4byte gUnknown_203B33C +_080334FC: .4byte 0x0000053c +_08033500: .4byte 0x00000552 +_08033504: .4byte 0x00000554 +_08033508: + ldr r0, [r4] + movs r4, 0xAB + lsls r4, 3 + adds r0, r4 + movs r1, 0 +_08033512: + strb r1, [r0] + ldr r4, _08033558 + ldr r0, [r4] + ldr r5, _0803355C + adds r0, r5 + movs r5, 0 + movs r1, 0x1 + strb r1, [r0] + adds r0, r2, 0x4 + movs r1, 0 + bl sub_803C200 + ldr r1, [r4] + movs r3, 0xAC + lsls r3, 3 + adds r2, r1, r3 + str r0, [r2] + ldr r0, _08033560 + adds r1, r0 + strb r5, [r1] + ldr r0, [r4] + ldr r1, _08033564 + adds r0, r1 + strb r5, [r0] + ldr r0, [r4] + ldr r2, _08033568 + adds r0, r2 + strb r5, [r0] + ldr r0, [r4] + subs r3, 0x24 + adds r0, r3 + movs r1, 0 + bl sub_802F204 + b _080338B4 + .align 2, 0 +_08033558: .4byte gUnknown_203B33C +_0803355C: .4byte 0x0000055b +_08033560: .4byte 0x00000559 +_08033564: .4byte 0x0000055a +_08033568: .4byte 0x0000055c +_0803356C: + movs r0, 0 + bl nullsub_23 + ldr r0, _08033580 +_08033574: + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl sub_80141B4 + b _080338B4 + .align 2, 0 +_08033580: .4byte gUnknown_80E2DD0 +_08033584: + ldr r0, [r6] + ldr r4, _0803359C + adds r0, r4 + ldr r0, [r0] + cmp r0, 0xC + bne _08033592 + b _080338B4 +_08033592: + cmp r0, 0xC + bhi _080335A0 + cmp r0, 0xB + beq _080335A6 + b _080338B4 + .align 2, 0 +_0803359C: .4byte 0x00000524 +_080335A0: + cmp r0, 0xE + bls _080335A6 + b _080338B4 +_080335A6: + ldr r0, _080335AC + b _0803388E + .align 2, 0 +_080335AC: .4byte gUnknown_80E3248 +_080335B0: + ldr r0, _080335B4 + b _0803388E + .align 2, 0 +_080335B4: .4byte gUnknown_80E3288 +_080335B8: + ldr r0, _080335BC + b _080336FA + .align 2, 0 +_080335BC: .4byte gUnknown_80E2D7C +_080335C0: + bl sub_808D33C + adds r1, r0, 0 + adds r1, 0x4C + add r0, sp, 0x14 + movs r2, 0xA + bl sub_80922B4 + ldr r5, _080335E8 + ldr r0, [r5] + ldr r4, _080335EC + adds r0, r4 + ldr r1, _080335F0 + add r2, sp, 0x14 + bl sub_800D158 + ldr r0, [r5] + adds r0, r4 + b _0803388E + .align 2, 0 +_080335E8: .4byte gUnknown_203B33C +_080335EC: .4byte 0x00000424 +_080335F0: .4byte gUnknown_80E32C4 +_080335F4: + ldr r0, _080335FC + ldr r3, _08033600 + b _080336FC + .align 2, 0 +_080335FC: .4byte gUnknown_80E331C +_08033600: .4byte gUnknown_80E24D8 +_08033604: + ldr r0, _08033608 + b _0803388E + .align 2, 0 +_08033608: .4byte gUnknown_80E317C +_0803360C: + ldr r0, _08033610 + b _0803388E + .align 2, 0 +_08033610: .4byte gUnknown_80E2A0C +_08033614: + ldr r0, _08033618 + b _0803388E + .align 2, 0 +_08033618: .4byte gUnknown_80E3378 +_0803361C: + ldr r0, _0803363C + ldr r3, _08033640 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x16 + bl sub_8014248 + b _080338B4 + .align 2, 0 +_0803363C: .4byte gUnknown_80E339C +_08033640: .4byte gUnknown_80E24B0 +_08033644: + ldr r0, _08033664 + ldr r3, _08033668 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x15 + bl sub_8014248 + b _080338B4 + .align 2, 0 +_08033664: .4byte gUnknown_80E33D8 +_08033668: .4byte gUnknown_80E2470 +_0803366C: + ldr r0, _08033670 + b _0803388E + .align 2, 0 +_08033670: .4byte gUnknown_80E3430 +_08033674: + ldr r0, _0803367C + ldr r3, _08033680 + b _080336FC + .align 2, 0 +_0803367C: .4byte gUnknown_80E34B0 +_08033680: .4byte gUnknown_80E2440 +_08033684: + ldr r0, _08033688 + b _0803388E + .align 2, 0 +_08033688: .4byte gUnknown_80E34F0 +_0803368C: + bl sub_8030894 + cmp r0, 0 + beq _08033696 + b _080338B4 +_08033696: + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x5 +_080336A6: + movs r1, 0 + movs r2, 0 + movs r3, 0x6 + bl sub_80306A8 + b _080338B4 +_080336B2: + 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, _080336F0 + ldr r2, _080336F4 +_080336CC: + 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 +_080336E2: + ldr r0, [r6] + adds r0, r5 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + b _080338B4 + .align 2, 0 +_080336F0: .4byte gUnknown_80E231C +_080336F4: .4byte gUnknown_80E234C +_080336F8: + ldr r0, _08033718 +_080336FA: + ldr r3, _0803371C +_080336FC: + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x6 + bl sub_8014248 + b _080338B4 + .align 2, 0 +_08033718: .4byte gUnknown_80E352C +_0803371C: .4byte gUnknown_80E2290 +_08033720: + ldr r0, _08033724 + b _0803388E + .align 2, 0 +_08033724: .4byte gUnknown_80E355C +_08033728: + ldr r0, _0803372C + b _0803388E + .align 2, 0 +_0803372C: .4byte gUnknown_80E35AC +_08033730: + ldr r0, _08033734 + b _0803388E + .align 2, 0 +_08033734: .4byte gUnknown_80E35E8 +_08033738: + ldr r0, [r6] + ldr r0, [r0, 0x40] + cmp r0, 0x6 + bne _08033748 + ldr r0, _08033744 + b _0803374A + .align 2, 0 +_08033744: .4byte gUnknown_80E360C +_08033748: + ldr r0, _08033768 +_0803374A: + ldr r3, _0803376C + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0xB + bl sub_8014248 + b _080338B4 + .align 2, 0 +_08033768: .4byte gUnknown_80E3644 +_0803376C: .4byte gUnknown_80E236C +_08033770: + ldr r0, _08033780 + ldr r1, [r6] + ldr r5, _08033784 + adds r1, r5 + ldr r2, [r1] + ldr r3, _08033788 + b _08033858 + .align 2, 0 +_08033780: .4byte gUnknown_80E367C +_08033784: .4byte 0x00000564 +_08033788: .4byte gUnknown_80E25B4 +_0803378C: + ldr r0, [r6] + ldr r1, _080337A4 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x24 + beq _080337BC + cmp r0, 0x24 + bgt _080337A8 + cmp r0, 0x23 + beq _080337B2 + b _080338B4 + .align 2, 0 +_080337A4: .4byte 0x00000564 +_080337A8: + cmp r0, 0x25 + beq _080337C4 + cmp r0, 0x26 + beq _080337CC + b _080338B4 +_080337B2: + ldr r0, _080337B8 + b _0803388E + .align 2, 0 +_080337B8: .4byte gUnknown_80E3690 +_080337BC: + ldr r0, _080337C0 + b _0803388E + .align 2, 0 +_080337C0: .4byte gUnknown_80E3818 +_080337C4: + ldr r0, _080337C8 + b _0803388E + .align 2, 0 +_080337C8: .4byte gUnknown_80E3998 +_080337CC: + ldr r0, _080337D0 + b _0803388E + .align 2, 0 +_080337D0: .4byte gUnknown_80E3B1C +_080337D4: + ldr r0, _080337E4 + ldr r1, [r6] + ldr r2, _080337E8 + adds r1, r2 + ldr r2, [r1] + ldr r3, _080337EC + b _08033858 + .align 2, 0 +_080337E4: .4byte gUnknown_80E367C +_080337E8: .4byte 0x00000564 +_080337EC: .4byte gUnknown_80E2554 +_080337F0: + ldr r0, [r6] + ldr r3, _08033808 + adds r0, r3 + ldr r0, [r0] + subs r0, 0x1E + cmp r0, 0x4 + bhi _080338B4 + lsls r0, 2 + ldr r1, _0803380C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08033808: .4byte 0x00000564 +_0803380C: .4byte _08033810 + .align 2, 0 +_08033810: + .4byte _08033824 + .4byte _0803382C + .4byte _0803383C + .4byte _08033834 + .4byte _08033844 +_08033824: + ldr r0, _08033828 + b _0803388E + .align 2, 0 +_08033828: .4byte gUnknown_80E3BF8 +_0803382C: + ldr r0, _08033830 + b _0803388E + .align 2, 0 +_08033830: .4byte gUnknown_80E3DE4 +_08033834: + ldr r0, _08033838 + b _0803388E + .align 2, 0 +_08033838: .4byte gUnknown_80E3E98 +_0803383C: + ldr r0, _08033840 + b _0803388E + .align 2, 0 +_08033840: .4byte gUnknown_80E4014 +_08033844: + ldr r0, _08033848 + b _0803388E + .align 2, 0 +_08033848: .4byte gUnknown_80E4130 +_0803384C: + ldr r0, _08033870 + ldr r1, [r6] + ldr r4, _08033874 + adds r1, r4 + ldr r2, [r1] + ldr r3, _08033878 +_08033858: + movs r4, 0 + str r4, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + str r4, [sp, 0xC] +_08033864: + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + bl sub_8014248 + b _080338B4 + .align 2, 0 +_08033870: .4byte gUnknown_80E367C +_08033874: .4byte 0x00000564 +_08033878: .4byte gUnknown_80E24F8 +_0803387C: + ldr r0, [r6] + ldr r5, _0803389C + adds r0, r5 + ldr r0, [r0] + cmp r0, 0x1A + beq _080338A8 + cmp r0, 0x1D + bne _080338B4 + ldr r0, _080338A0 +_0803388E: + ldr r3, _080338A4 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + b _080338B4 + .align 2, 0 +_0803389C: .4byte 0x00000564 +_080338A0: .4byte gUnknown_80E41DC +_080338A4: .4byte 0x00000101 +_080338A8: + ldr r0, _080338BC + ldr r3, _080338C0 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 +_080338B4: + add sp, 0x68 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080338BC: .4byte gUnknown_80E4314 +_080338C0: .4byte 0x00000101 + thumb_func_end sub_8032828 + + thumb_func_start sub_80338C4 +sub_80338C4: + push {lr} + ldr r1, _080338D8 + ldr r1, [r1] + str r0, [r1] + bl nullsub_40 + bl sub_8032828 + pop {r0} + bx r0 + .align 2, 0 +_080338D8: .4byte gUnknown_203B33C + thumb_func_end sub_80338C4 + + thumb_func_start sub_80338DC +sub_80338DC: + push {lr} + cmp r0, 0x10 + bls _080338E4 + b _080339BC +_080338E4: + lsls r0, 2 + ldr r1, _080338F0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080338F0: .4byte _080338F4 + .align 2, 0 +_080338F4: + .4byte _080339BC + .4byte _08033998 + .4byte _08033940 + .4byte _08033938 + .4byte _08033948 + .4byte _08033998 + .4byte _08033950 + .4byte _08033958 + .4byte _08033960 + .4byte _08033968 + .4byte _08033970 + .4byte _08033978 + .4byte _08033980 + .4byte _08033990 + .4byte _08033998 + .4byte _080339B0 + .4byte _08033988 +_08033938: + ldr r0, _0803393C + b _0803399A + .align 2, 0 +_0803393C: .4byte gUnknown_80E44A4 +_08033940: + ldr r0, _08033944 + b _0803399A + .align 2, 0 +_08033944: .4byte gUnknown_80E4500 +_08033948: + ldr r0, _0803394C + b _0803399A + .align 2, 0 +_0803394C: .4byte gUnknown_80E4550 +_08033950: + ldr r0, _08033954 + b _0803399A + .align 2, 0 +_08033954: .4byte gUnknown_80E45B4 +_08033958: + ldr r0, _0803395C + b _0803399A + .align 2, 0 +_0803395C: .4byte gUnknown_80E460C +_08033960: + ldr r0, _08033964 + b _0803399A + .align 2, 0 +_08033964: .4byte gUnknown_80E4650 +_08033968: + ldr r0, _0803396C + b _0803399A + .align 2, 0 +_0803396C: .4byte gUnknown_80E468C +_08033970: + ldr r0, _08033974 + b _0803399A + .align 2, 0 +_08033974: .4byte gUnknown_80E46C8 +_08033978: + ldr r0, _0803397C + b _0803399A + .align 2, 0 +_0803397C: .4byte gUnknown_80E4704 +_08033980: + ldr r0, _08033984 + b _0803399A + .align 2, 0 +_08033984: .4byte gUnknown_80E4744 +_08033988: + ldr r0, _0803398C + b _0803399A + .align 2, 0 +_0803398C: .4byte gUnknown_80E4788 +_08033990: + ldr r0, _08033994 + b _0803399A + .align 2, 0 +_08033994: .4byte gUnknown_80E47D8 +_08033998: + ldr r0, _080339A8 +_0803399A: + ldr r3, _080339AC + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + b _080339BC + .align 2, 0 +_080339A8: .4byte gUnknown_80E4480 +_080339AC: .4byte 0x00000101 +_080339B0: + ldr r0, _080339C0 + ldr r3, _080339C4 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 +_080339BC: + pop {r0} + bx r0 + .align 2, 0 +_080339C0: .4byte gUnknown_80E482C +_080339C4: .4byte 0x00000101 + thumb_func_end sub_80338DC + + thumb_func_start sub_80339C8 +sub_80339C8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033A24 + ldr r0, _080339F4 + ldr r0, [r0] + movs r1, 0xA7 + lsls r1, 3 + adds r0, r1 + ldr r1, _080339F8 + strh r1, [r0] + ldr r0, [sp] + cmp r0, 0x1 + beq _08033A0E + cmp r0, 0x1 + bgt _080339FC + cmp r0, 0 + beq _08033A06 + b _08033A24 + .align 2, 0 +_080339F4: .4byte gUnknown_203B33C +_080339F8: .4byte 0x0000ffff +_080339FC: + cmp r0, 0x8 + beq _08033A1E + cmp r0, 0x17 + beq _08033A16 + b _08033A24 +_08033A06: + movs r0, 0x3 + bl sub_80338C4 + b _08033A24 +_08033A0E: + movs r0, 0x4 + bl sub_80338C4 + b _08033A24 +_08033A16: + movs r0, 0x78 + bl sub_80338C4 + b _08033A24 +_08033A1E: + movs r0, 0x2 + bl sub_80338C4 +_08033A24: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80339C8 + + thumb_func_start sub_8033A2C +sub_8033A2C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + beq _08033A3C + b _08033B86 +_08033A3C: + ldr r2, _08033A58 + ldr r1, [r2] + movs r0, 0x8 + str r0, [r1, 0x40] + ldr r0, [sp] + subs r0, 0x3 + cmp r0, 0x11 + bls _08033A4E + b _08033B86 +_08033A4E: + lsls r0, 2 + ldr r1, _08033A5C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08033A58: .4byte gUnknown_203B33C +_08033A5C: .4byte _08033A60 + .align 2, 0 +_08033A60: + .4byte _08033ACA + .4byte _08033AEC + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033B80 + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033AA8 + .4byte _08033B14 + .4byte _08033B3E + .4byte _08033B68 +_08033AA8: + ldr r0, [r2] + movs r1, 0x2 + str r1, [r0, 0x40] + movs r1, 0xA5 + lsls r1, 3 + adds r0, r1 + movs r1, 0x11 + str r1, [r0] + movs r0, 0x1 + bl sub_8095324 + cmp r0, 0 + beq _08033B0C + movs r0, 0x31 + bl sub_80338C4 + b _08033B86 +_08033ACA: + ldr r0, [r2] + movs r1, 0x3 + str r1, [r0, 0x40] + movs r2, 0xA5 + lsls r2, 3 + adds r0, r2 + str r1, [r0] + bl sub_8095190 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _08033B36 + movs r0, 0xF + bl sub_80338C4 + b _08033B86 +_08033AEC: + ldr r0, [r2] + movs r1, 0x4 + str r1, [r0, 0x40] + movs r2, 0xA5 + lsls r2, 3 + adds r0, r2 + str r1, [r0] + movs r0, 0x4 + bl sub_8095324 + cmp r0, 0 + beq _08033B0C + movs r0, 0x1C + bl sub_80338C4 + b _08033B86 +_08033B0C: + movs r0, 0x22 + bl sub_80338C4 + b _08033B86 +_08033B14: + ldr r0, [r2] + movs r1, 0x5 + str r1, [r0, 0x40] + movs r1, 0xA5 + lsls r1, 3 + adds r0, r1 + movs r1, 0x12 + str r1, [r0] + movs r0, 0x5 + bl sub_8095324 + cmp r0, 0 + beq _08033B36 + movs r0, 0x3D + bl sub_80338C4 + b _08033B86 +_08033B36: + movs r0, 0xE + bl sub_80338C4 + b _08033B86 +_08033B3E: + ldr r0, [r2] + movs r1, 0x6 + str r1, [r0, 0x40] + movs r2, 0xA5 + lsls r2, 3 + adds r0, r2 + movs r1, 0x13 + str r1, [r0] + movs r0, 0x5 + bl sub_8095324 + cmp r0, 0 + bne _08033B60 + movs r0, 0x51 + bl sub_80338C4 + b _08033B86 +_08033B60: + movs r0, 0x5B + bl sub_80338C4 + b _08033B86 +_08033B68: + ldr r0, [r2] + movs r1, 0x7 + str r1, [r0, 0x40] + movs r1, 0xA5 + lsls r1, 3 + adds r0, r1 + movs r1, 0x14 + str r1, [r0] + movs r0, 0x52 + bl sub_80338C4 + b _08033B86 +_08033B80: + movs r0, 0x1 + bl sub_80338C4 +_08033B86: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8033A2C + + thumb_func_start sub_8033B8C +sub_8033B8C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033C4C + ldr r2, [sp] + cmp r2, 0xC + bgt _08033BAA + cmp r2, 0xB + bge _08033BB0 + cmp r2, 0x8 + beq _08033C46 + b _08033C4C +_08033BAA: + cmp r2, 0xD + beq _08033BF4 + b _08033C4C +_08033BB0: + ldr r0, _08033BD4 + ldr r0, [r0] + ldr r1, _08033BD8 + adds r2, r0, r1 + movs r1, 0xB + str r1, [r2] + movs r3, 0xA5 + lsls r3, 3 + adds r0, r3 + ldr r0, [r0] + cmp r0, 0x4 + beq _08033BEC + cmp r0, 0x4 + bhi _08033BDC + cmp r0, 0x3 + beq _08033BE4 + b _08033C4C + .align 2, 0 +_08033BD4: .4byte gUnknown_203B33C +_08033BD8: .4byte 0x00000524 +_08033BDC: + cmp r0, 0x12 + bhi _08033C4C + cmp r0, 0x11 + bcc _08033C4C +_08033BE4: + movs r0, 0x5 + bl sub_80338C4 + b _08033C4C +_08033BEC: + movs r0, 0x23 + bl sub_80338C4 + b _08033C4C +_08033BF4: + ldr r0, _08033C14 + ldr r0, [r0] + ldr r3, _08033C18 + adds r1, r0, r3 + str r2, [r1] + movs r1, 0xA5 + lsls r1, 3 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x4 + beq _08033C3E + cmp r0, 0x4 + bhi _08033C1C + cmp r0, 0x3 + beq _08033C26 + b _08033C4C + .align 2, 0 +_08033C14: .4byte gUnknown_203B33C +_08033C18: .4byte 0x00000524 +_08033C1C: + cmp r0, 0x11 + beq _08033C2E + cmp r0, 0x12 + beq _08033C36 + b _08033C4C +_08033C26: + movs r0, 0x19 + bl sub_80338C4 + b _08033C4C +_08033C2E: + movs r0, 0x39 + bl sub_80338C4 + b _08033C4C +_08033C36: + movs r0, 0x43 + bl sub_80338C4 + b _08033C4C +_08033C3E: + movs r0, 0x2D + bl sub_80338C4 + b _08033C4C +_08033C46: + movs r0, 0x1 + bl sub_80338C4 +_08033C4C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8033B8C + + thumb_func_start sub_8033C54 +sub_8033C54: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033CA2 + ldr r0, [sp] + cmp r0, 0x6 + beq _08033C6E + cmp r0, 0x8 + beq _08033C9C + b _08033CA2 +_08033C6E: + ldr r0, _08033C88 + ldr r0, [r0] + movs r1, 0xA5 + lsls r1, 3 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x4 + beq _08033C94 + cmp r0, 0x4 + bhi _08033C8C + cmp r0, 0x3 + beq _08033C94 + b _08033CA2 + .align 2, 0 +_08033C88: .4byte gUnknown_203B33C +_08033C8C: + cmp r0, 0x11 + beq _08033C94 + cmp r0, 0x12 + bne _08033CA2 +_08033C94: + movs r0, 0xD + bl sub_80338C4 + b _08033CA2 +_08033C9C: + movs r0, 0x1 + bl sub_80338C4 +_08033CA2: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8033C54 + + thumb_func_start nullsub_41 +nullsub_41: + bx lr + thumb_func_end nullsub_41 + + thumb_func_start sub_8033CAC +sub_8033CAC: + push {r4,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033D40 + ldr r4, _08033CDC + ldr r1, [r4] + ldr r0, [r1, 0x44] + cmp r0, 0 + bne _08033D36 + movs r2, 0xA5 + lsls r2, 3 + adds r0, r1, r2 + ldr r0, [r0] + cmp r0, 0x4 + beq _08033D2E + cmp r0, 0x4 + bhi _08033CE0 + cmp r0, 0x3 + beq _08033CEA + b _08033D40 + .align 2, 0 +_08033CDC: .4byte gUnknown_203B33C +_08033CE0: + cmp r0, 0x11 + beq _08033CF2 + cmp r0, 0x12 + beq _08033CFA + b _08033D40 +_08033CEA: + movs r0, 0x16 + bl sub_80338C4 + b _08033D40 +_08033CF2: + movs r0, 0x37 + bl sub_80338C4 + b _08033D40 +_08033CFA: + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + beq _08033D12 + ldr r0, [r4] + movs r1, 0xB4 + lsls r1, 1 + adds r0, r1 + movs r2, 0 + ldrsh r0, [r0, r2] + b _08033D1A +_08033D12: + ldr r0, [r4] + adds r0, 0xE0 + movs r1, 0 + ldrsh r0, [r0, r1] +_08033D1A: + cmp r0, 0 + beq _08033D26 + movs r0, 0x3F + bl sub_80338C4 + b _08033D40 +_08033D26: + movs r0, 0x40 + bl sub_80338C4 + b _08033D40 +_08033D2E: + movs r0, 0x2B + bl sub_80338C4 + b _08033D40 +_08033D36: + bl sub_80338DC + movs r0, 0x8 + bl sub_80338C4 +_08033D40: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8033CAC + + thumb_func_start sub_8033D48 +sub_8033D48: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033D5C + movs r0, 0x1 + bl sub_80338C4 +_08033D5C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8033D48 + + thumb_func_start nullsub_42 +nullsub_42: + bx lr + thumb_func_end nullsub_42 + + thumb_func_start nullsub_43 +nullsub_43: + bx lr + thumb_func_end nullsub_43 + + thumb_func_start nullsub_44 +nullsub_44: + bx lr + thumb_func_end nullsub_44 + + thumb_func_start nullsub_45 +nullsub_45: + bx lr + thumb_func_end nullsub_45 + + thumb_func_start sub_8033D74 +sub_8033D74: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033D8E + movs r0, 0x17 + bl sub_80338C4 + movs r0, 0 + bl sub_8012574 +_08033D8E: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8033D74 + + thumb_func_start sub_8033D94 +sub_8033D94: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033DB6 + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08033DB6 + bl sub_8012750 + movs r0, 0x18 + bl sub_80338C4 +_08033DB6: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8033D94 + + thumb_func_start sub_8033DBC +sub_8033DBC: + push {r4,lr} + sub sp, 0x44 + bl sub_80154F0 + adds r4, r0, 0 + add r0, sp, 0x14 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + cmp r4, 0x2 + bne _08033DD6 + b _08033F38 +_08033DD6: + cmp r4, 0x3 + beq _08033DDC + b _08033F58 +_08033DDC: + ldr r2, _08033DF4 + ldr r1, _08033DF8 + ldr r0, [r1] + movs r3, 0xA5 + lsls r3, 3 + adds r0, r3 + ldr r0, [r0] + cmp r0, 0x3 + beq _08033DFC + cmp r0, 0x12 + beq _08033E00 + b _08033E02 + .align 2, 0 +_08033DF4: .4byte 0x0000ffdc +_08033DF8: .4byte gUnknown_203B33C +_08033DFC: + movs r2, 0x1C + b _08033E02 +_08033E00: + movs r2, 0x1E +_08033E02: + ldr r1, [r1] + adds r1, 0x8 + adds r0, r2, 0 + add r2, sp, 0x14 + bl sub_8039068 + subs r0, 0x7 + cmp r0, 0x11 + bls _08033E16 + b _08033F2E +_08033E16: + lsls r0, 2 + ldr r1, _08033E20 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08033E20: .4byte _08033E24 + .align 2, 0 +_08033E24: + .4byte _08033EA0 + .4byte _08033F2E + .4byte _08033EE0 + .4byte _08033F2E + .4byte _08033F2E + .4byte _08033F2E + .4byte _08033F2E + .4byte _08033F2E + .4byte _08033F2E + .4byte _08033F2E + .4byte _08033E6C + .4byte _08033E98 + .4byte _08033ED8 + .4byte _08033F2E + .4byte _08033F2E + .4byte _08033EA8 + .4byte _08033EFC + .4byte _08033F2E +_08033E6C: + ldr r0, _08033E90 + ldr r3, _08033E94 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x6 + bl sub_8014248 + movs r0, 0x1B + bl sub_80338C4 + b _08033F2E + .align 2, 0 +_08033E90: .4byte gUnknown_80E48A8 +_08033E94: .4byte gUnknown_80E2290 +_08033E98: + ldr r0, _08033E9C + b _08033EE2 + .align 2, 0 +_08033E9C: .4byte gUnknown_80E48E8 +_08033EA0: + ldr r0, _08033EA4 + b _08033EE2 + .align 2, 0 +_08033EA4: .4byte gUnknown_80E460C +_08033EA8: + ldr r0, [sp, 0x24] + bl sub_8095274 + add r1, sp, 0x14 + movs r0, 0x2 + strb r0, [r1] + adds r0, r1, 0 + bl sub_80951BC + ldr r0, _08033ED0 + ldr r3, _08033ED4 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + movs r0, 0x16 + bl sub_80338C4 + b _08033F2E + .align 2, 0 +_08033ED0: .4byte gUnknown_80E4928 +_08033ED4: .4byte 0x00000101 +_08033ED8: + ldr r0, _08033EDC + b _08033EE2 + .align 2, 0 +_08033EDC: .4byte gUnknown_80E4964 +_08033EE0: + ldr r0, _08033EF4 +_08033EE2: + ldr r3, _08033EF8 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + movs r0, 0x8 + bl sub_80338C4 + b _08033F2E + .align 2, 0 +_08033EF4: .4byte gUnknown_80E499C +_08033EF8: .4byte 0x00000101 +_08033EFC: + add r1, sp, 0x14 + movs r0, 0x5 + strb r0, [r1] + adds r0, r1, 0 + bl sub_80951FC + ldr r1, [sp, 0x24] + movs r0, 0x1 + bl sub_809539C + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + movs r1, 0x7 + strb r1, [r0] + ldr r0, _08033F34 + ldr r0, [r0] + movs r1, 0 + movs r2, 0x5C + bl MemoryFill8 + movs r0, 0x40 + bl sub_80338C4 +_08033F2E: + bl sub_80155F0 + b _08033F58 + .align 2, 0 +_08033F34: .4byte gUnknown_203B484 +_08033F38: + bl sub_80155F0 + bl sub_8004914 + ldr r0, _08033F60 + ldr r0, [r0] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1 + bl sub_80338C4 +_08033F58: + add sp, 0x44 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08033F60: .4byte gUnknown_203B33C + thumb_func_end sub_8033DBC + + thumb_func_start sub_8033F64 +sub_8033F64: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033FAE + ldr r0, [sp] + cmp r0, 0x6 + beq _08033F7E + cmp r0, 0x8 + beq _08033FA8 + b _08033FAE +_08033F7E: + ldr r0, _08033F94 + ldr r0, [r0] + movs r1, 0xA5 + lsls r1, 3 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x3 + beq _08033F98 + cmp r0, 0x12 + beq _08033FA0 + b _08033FAE + .align 2, 0 +_08033F94: .4byte gUnknown_203B33C +_08033F98: + movs r0, 0x19 + bl sub_80338C4 + b _08033FAE +_08033FA0: + movs r0, 0x43 + bl sub_80338C4 + b _08033FAE +_08033FA8: + movs r0, 0x1 + bl sub_80338C4 +_08033FAE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8033F64 + + thumb_func_start sub_8033FB4 +sub_8033FB4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033FDE + ldr r0, [sp] + cmp r0, 0x6 + bne _08033FD0 + movs r0, 0xE + bl sub_80338C4 + b _08033FDE +_08033FD0: + cmp r0, 0x6 + blt _08033FDE + cmp r0, 0x8 + bgt _08033FDE + movs r0, 0x1 + bl sub_80338C4 +_08033FDE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8033FB4 + + thumb_func_start sub_8033FE4 +sub_8033FE4: + push {r4,r5,lr} + movs r0, 0x1 + bl sub_8030768 + cmp r0, 0x3 + beq _0803400C + cmp r0, 0x3 + bhi _08033FFA + cmp r0, 0x2 + beq _08034000 + b _0803406A +_08033FFA: + cmp r0, 0x4 + beq _08034028 + b _0803406A +_08034000: + bl sub_803084C + movs r0, 0x1 + bl sub_80338C4 + b _0803406A +_0803400C: + bl sub_80307EC + ldr r1, _08034024 + ldr r1, [r1] + movs r2, 0x86 + lsls r2, 2 + adds r1, r2 + strb r0, [r1] + movs r0, 0x1E + bl sub_80338C4 + b _0803406A + .align 2, 0 +_08034024: .4byte gUnknown_203B33C +_08034028: + ldr r4, _08034070 + ldr r1, [r4] + movs r0, 0x1D + str r0, [r1, 0x4] + bl sub_80307EC + ldr r1, [r4] + movs r5, 0x86 + lsls r5, 2 + adds r1, r5 + strb r0, [r1] + ldr r0, [r4] + 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, [r4] + adds r0, r5 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x1F + bl sub_80338C4 +_0803406A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08034070: .4byte gUnknown_203B33C + thumb_func_end sub_8033FE4 + + thumb_func_start sub_8034074 +sub_8034074: + push {r4,lr} + sub sp, 0x4 + movs r0, 0x1 + negs r0, r0 + str r0, [sp] + movs r0, 0 + bl sub_8030768 + ldr r4, _080340B8 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _080340A6 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + mov r1, sp + bl sub_8013114 +_080340A6: + ldr r0, [sp] + cmp r0, 0x8 + beq _08034108 + cmp r0, 0x8 + bgt _080340BC + cmp r0, 0x5 + beq _08034108 + b _08034124 + .align 2, 0 +_080340B8: .4byte gUnknown_203B33C +_080340BC: + cmp r0, 0x9 + beq _080340C6 + cmp r0, 0xA + beq _080340D2 + b _08034124 +_080340C6: + bl sub_803084C + movs r0, 0x20 + bl sub_80338C4 + b _08034124 +_080340D2: + ldr r0, [r4] + movs r1, 0x7E + str r1, [r0, 0x4] + 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, [r4] + movs r1, 0x86 + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x1F + bl sub_80338C4 + b _08034124 +_08034108: + ldr r0, _0803412C + ldr r0, [r0] + movs r1, 0xD7 + lsls r1, 2 + adds r0, r1 + movs r1, 0x2 + bl sub_8035CC0 + movs r0, 0x1 + bl sub_8030810 + movs r0, 0x1D + bl sub_80338C4 +_08034124: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803412C: .4byte gUnknown_203B33C + thumb_func_end sub_8034074 + + thumb_func_start sub_8034130 +sub_8034130: + push {r4,lr} + bl sub_8030DA0 + cmp r0, 0x3 + bhi _08034184 + cmp r0, 0x2 + bcc _08034184 + bl sub_8030DE4 + bl sub_8004914 + ldr r4, _0803417C + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl sub_803092C + ldr r4, [r4] + ldr r0, [r4, 0x4] + cmp r0, 0x7E + bne _08034180 + movs r1, 0x87 + lsls r1, 2 + adds r0, r4, r1 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x1E + bl sub_80338C4 + b _08034184 + .align 2, 0 +_0803417C: .4byte gUnknown_203B33C +_08034180: + bl sub_80338C4 +_08034184: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8034130 + + thumb_func_start sub_803418C +sub_803418C: + push {r4,r5,lr} + movs r0, 0x1 + bl sub_8023A94 + cmp r0, 0x3 + beq _080341D0 + cmp r0, 0x3 + bhi _080341A2 + cmp r0, 0x2 + beq _080341A8 + b _08034248 +_080341A2: + cmp r0, 0x4 + beq _08034204 + b _08034248 +_080341A8: + bl sub_8023C60 + movs r0, 0x1 + bl sub_80338C4 + bl sub_8035D1C + ldr r0, _080341C8 + ldr r0, [r0] + movs r1, 0xA7 + lsls r1, 3 + adds r0, r1 + ldr r1, _080341CC + strh r1, [r0] + b _08034248 + .align 2, 0 +_080341C8: .4byte gUnknown_203B33C +_080341CC: .4byte 0x0000ffff +_080341D0: + bl sub_8023B44 + ldr r1, _080341F4 + ldr r1, [r1] + movs r3, 0xA7 + lsls r3, 3 + adds r2, r1, r3 + strh r0, [r2] + ldr r0, _080341F8 + adds r1, r0 + ldr r0, [r1] + cmp r0, 0xE + bne _080341FC + movs r0, 0x9 + bl sub_80338C4 + b _08034248 + .align 2, 0 +_080341F4: .4byte gUnknown_203B33C +_080341F8: .4byte 0x00000524 +_080341FC: + movs r0, 0x27 + bl sub_80338C4 + b _08034248 +_08034204: + ldr r4, _08034250 + ldr r1, [r4] + movs r0, 0x26 + str r0, [r1, 0x4] + bl sub_8023B44 + adds r2, r0, 0 + ldr r0, [r4] + movs r5, 0xA7 + lsls r5, 3 + adds r1, r0, r5 + strh r2, [r1] + 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, [r4] + adds r0, r5 + movs r3, 0 + ldrsh r0, [r0, r3] + movs r1, 0 + bl sub_8024458 + movs r0, 0x28 + bl sub_80338C4 +_08034248: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08034250: .4byte gUnknown_203B33C + thumb_func_end sub_803418C + + thumb_func_start sub_8034254 +sub_8034254: + push {r4,lr} + sub sp, 0x4 + movs r0, 0x1 + negs r0, r0 + str r0, [sp] + movs r0, 0 + bl sub_8023A94 + ldr r4, _08034298 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08034286 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + mov r1, sp + bl sub_8013114 +_08034286: + ldr r0, [sp] + cmp r0, 0x8 + beq _080342EA + cmp r0, 0x8 + bgt _0803429C + cmp r0, 0x5 + beq _080342EA + b _08034304 + .align 2, 0 +_08034298: .4byte gUnknown_203B33C +_0803429C: + cmp r0, 0x9 + beq _080342A6 + cmp r0, 0xA + beq _080342B2 + b _08034304 +_080342A6: + bl sub_8023C60 + movs r0, 0x29 + bl sub_80338C4 + b _08034304 +_080342B2: + ldr r0, [r4] + movs r1, 0x7E + str r1, [r0, 0x4] + 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, [r4] + movs r1, 0xA7 + lsls r1, 3 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0 + bl sub_8024458 + movs r0, 0x28 + bl sub_80338C4 + b _08034304 +_080342EA: + ldr r0, _0803430C + ldr r0, [r0] + movs r1, 0xD7 + lsls r1, 2 + adds r0, r1 + movs r1, 0x3 + bl sub_8035CC0 + bl sub_8023DA4 + movs r0, 0x26 + bl sub_80338C4 +_08034304: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803430C: .4byte gUnknown_203B33C + thumb_func_end sub_8034254 + + thumb_func_start sub_8034310 +sub_8034310: + push {r4,lr} + bl sub_80244E4 + cmp r0, 0x1 + bne _08034320 + bl sub_802452C + b _08034370 +_08034320: + cmp r0, 0x1 + bcc _08034370 + cmp r0, 0x3 + bhi _08034370 + bl sub_802453C + bl sub_8004914 + ldr r4, _08034368 + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1 + bl sub_8023B7C + ldr r4, [r4] + ldr r0, [r4, 0x4] + cmp r0, 0x7E + bne _0803436C + movs r1, 0x87 + lsls r1, 2 + adds r0, r4, r1 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x27 + bl sub_80338C4 + b _08034370 + .align 2, 0 +_08034368: .4byte gUnknown_203B33C +_0803436C: + bl sub_80338C4 +_08034370: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8034310 + + thumb_func_start sub_8034378 +sub_8034378: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080343BE + ldr r0, [sp] + cmp r0, 0x8 + beq _080343B8 + cmp r0, 0x10 + bne _080343BE + ldr r0, _080343A8 + ldr r0, [r0] + ldr r1, _080343AC + adds r0, r1 + ldr r0, [r0] + cmp r0, 0xE + bne _080343B0 + movs r0, 0x9 + bl sub_80338C4 + b _080343BE + .align 2, 0 +_080343A8: .4byte gUnknown_203B33C +_080343AC: .4byte 0x00000524 +_080343B0: + movs r0, 0x5 + bl sub_80338C4 + b _080343BE +_080343B8: + movs r0, 0x1 + bl sub_80338C4 +_080343BE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034378 + + thumb_func_start sub_80343C4 +sub_80343C4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080343FE + ldr r0, [sp] + cmp r0, 0x7 + beq _080343F0 + cmp r0, 0x7 + bgt _080343E2 + cmp r0, 0x6 + beq _080343E8 + b _080343FE +_080343E2: + cmp r0, 0x8 + beq _080343F8 + b _080343FE +_080343E8: + movs r0, 0x5 + bl sub_80338C4 + b _080343FE +_080343F0: + movs r0, 0x25 + bl sub_80338C4 + b _080343FE +_080343F8: + movs r0, 0x1 + bl sub_80338C4 +_080343FE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80343C4 + + thumb_func_start sub_8034404 +sub_8034404: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034472 + ldr r0, [sp] + cmp r0, 0xF + beq _08034428 + cmp r0, 0xF + bgt _08034422 + cmp r0, 0x8 + beq _0803446C + b _08034472 +_08034422: + cmp r0, 0x10 + beq _08034444 + b _08034472 +_08034428: + movs r0, 0x3 + bl sub_8024108 + lsls r0, 24 + cmp r0, 0 + beq _0803443C + movs r0, 0x24 + bl sub_80338C4 + b _08034472 +_0803443C: + movs r0, 0x25 + bl sub_80338C4 + b _08034472 +_08034444: + ldr r0, _0803445C + ldr r0, [r0] + ldr r1, _08034460 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0xE + bne _08034464 + movs r0, 0x9 + bl sub_80338C4 + b _08034472 + .align 2, 0 +_0803445C: .4byte gUnknown_203B33C +_08034460: .4byte 0x00000524 +_08034464: + movs r0, 0x5 + bl sub_80338C4 + b _08034472 +_0803446C: + movs r0, 0x1 + bl sub_80338C4 +_08034472: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034404 + + thumb_func_start sub_8034478 +sub_8034478: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803449A + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _0803449A + bl sub_8012750 + movs r0, 0x2 + bl sub_80338C4 +_0803449A: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034478 + + thumb_func_start sub_80344A0 +sub_80344A0: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080344BA + movs r0, 0x2C + bl sub_80338C4 + movs r0, 0 + bl sub_8012574 +_080344BA: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80344A0 + + thumb_func_start sub_80344C0 +sub_80344C0: + push {lr} + bl sub_8031DCC + cmp r0, 0x1 + beq _080344F8 + cmp r0, 0x1 + bcc _080344FC + cmp r0, 0x3 + bhi _080344FC + bl sub_8031E10 + bl sub_8004914 + ldr r0, _080344F4 + ldr r0, [r0] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x2F + bl sub_80338C4 + b _080344FC + .align 2, 0 +_080344F4: .4byte gUnknown_203B33C +_080344F8: + bl sub_8031E00 +_080344FC: + pop {r0} + bx r0 + thumb_func_end sub_80344C0 + + thumb_func_start sub_8034500 +sub_8034500: + push {r4,r5,lr} + movs r0, 0x1 + bl sub_8030768 + cmp r0, 0x3 + beq _08034528 + cmp r0, 0x3 + bhi _08034516 + cmp r0, 0x2 + beq _0803451C + b _08034586 +_08034516: + cmp r0, 0x4 + beq _08034544 + b _08034586 +_0803451C: + bl sub_803084C + movs r0, 0x1 + bl sub_80338C4 + b _08034586 +_08034528: + bl sub_80307EC + ldr r1, _08034540 + ldr r1, [r1] + movs r2, 0x86 + lsls r2, 2 + adds r1, r2 + strb r0, [r1] + movs r0, 0x33 + bl sub_80338C4 + b _08034586 + .align 2, 0 +_08034540: .4byte gUnknown_203B33C +_08034544: + ldr r4, _0803458C + ldr r1, [r4] + movs r0, 0x32 + str r0, [r1, 0x4] + bl sub_80307EC + ldr r1, [r4] + movs r5, 0x86 + lsls r5, 2 + adds r1, r5 + strb r0, [r1] + ldr r0, [r4] + 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, [r4] + adds r0, r5 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x34 + bl sub_80338C4 +_08034586: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803458C: .4byte gUnknown_203B33C + thumb_func_end sub_8034500 + + thumb_func_start sub_8034590 +sub_8034590: + push {r4,lr} + sub sp, 0x4 + movs r0, 0x1 + negs r0, r0 + str r0, [sp] + movs r0, 0 + bl sub_8030768 + ldr r4, _080345D4 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _080345C2 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + mov r1, sp + bl sub_8013114 +_080345C2: + ldr r0, [sp] + cmp r0, 0x8 + beq _08034624 + cmp r0, 0x8 + bgt _080345D8 + cmp r0, 0x5 + beq _08034624 + b _08034640 + .align 2, 0 +_080345D4: .4byte gUnknown_203B33C +_080345D8: + cmp r0, 0x9 + beq _080345E2 + cmp r0, 0xA + beq _080345EE + b _08034640 +_080345E2: + bl sub_803084C + movs r0, 0x35 + bl sub_80338C4 + b _08034640 +_080345EE: + ldr r0, [r4] + movs r1, 0x7E + str r1, [r0, 0x4] + 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, [r4] + movs r1, 0x86 + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x34 + bl sub_80338C4 + b _08034640 +_08034624: + ldr r0, _08034648 + ldr r0, [r0] + movs r1, 0xD7 + lsls r1, 2 + adds r0, r1 + movs r1, 0x2 + bl sub_8035CC0 + movs r0, 0x1 + bl sub_8030810 + movs r0, 0x32 + bl sub_80338C4 +_08034640: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08034648: .4byte gUnknown_203B33C + thumb_func_end sub_8034590 + + thumb_func_start sub_803464C +sub_803464C: + push {r4,lr} + bl sub_8030DA0 + cmp r0, 0x3 + bhi _080346A0 + cmp r0, 0x2 + bcc _080346A0 + bl sub_8030DE4 + bl sub_8004914 + ldr r4, _08034698 + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl sub_803092C + ldr r4, [r4] + ldr r0, [r4, 0x4] + cmp r0, 0x7E + bne _0803469C + movs r1, 0x87 + lsls r1, 2 + adds r0, r4, r1 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x33 + bl sub_80338C4 + b _080346A0 + .align 2, 0 +_08034698: .4byte gUnknown_203B33C +_0803469C: + bl sub_80338C4 +_080346A0: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_803464C + + thumb_func_start sub_80346A8 +sub_80346A8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080346D2 + ldr r0, [sp] + cmp r0, 0x6 + bne _080346C4 + movs r0, 0xE + bl sub_80338C4 + b _080346D2 +_080346C4: + cmp r0, 0x6 + blt _080346D2 + cmp r0, 0x8 + bgt _080346D2 + movs r0, 0x1 + bl sub_80338C4 +_080346D2: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80346A8 + + thumb_func_start sub_80346D8 +sub_80346D8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080346FA + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _080346FA + bl sub_8012750 + movs r0, 0x2 + bl sub_80338C4 +_080346FA: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80346D8 + + thumb_func_start sub_8034700 +sub_8034700: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803471A + movs r0, 0x38 + bl sub_80338C4 + movs r0, 0 + bl sub_8012574 +_0803471A: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034700 + + thumb_func_start sub_8034720 +sub_8034720: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034734 + movs r0, 0x3A + bl sub_80338C4 +_08034734: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034720 + + thumb_func_start sub_803473C +sub_803473C: + push {lr} + bl sub_8031DCC + cmp r0, 0x1 + beq _08034774 + cmp r0, 0x1 + bcc _08034778 + cmp r0, 0x3 + bhi _08034778 + bl sub_8031E10 + bl sub_8004914 + ldr r0, _08034770 + ldr r0, [r0] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x3B + bl sub_80338C4 + b _08034778 + .align 2, 0 +_08034770: .4byte gUnknown_203B33C +_08034774: + bl sub_8031E00 +_08034778: + pop {r0} + bx r0 + thumb_func_end sub_803473C + + thumb_func_start sub_803477C +sub_803477C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080347A6 + ldr r0, [sp] + cmp r0, 0x6 + bne _08034798 + movs r0, 0xE + bl sub_80338C4 + b _080347A6 +_08034798: + cmp r0, 0x6 + blt _080347A6 + cmp r0, 0x8 + bgt _080347A6 + movs r0, 0x1 + bl sub_80338C4 +_080347A6: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_803477C + + thumb_func_start sub_80347AC +sub_80347AC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080347C0 + movs r0, 0xD + bl sub_80338C4 +_080347C0: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80347AC + + thumb_func_start sub_80347C8 +sub_80347C8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080347DC + movs r0, 0x40 + bl sub_80338C4 +_080347DC: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80347C8 + + thumb_func_start sub_80347E4 +sub_80347E4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080347FE + movs r0, 0x41 + bl sub_80338C4 + movs r0, 0 + bl sub_8012574 +_080347FE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80347E4 + + thumb_func_start sub_8034804 +sub_8034804: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034826 + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08034826 + bl sub_8012750 + movs r0, 0x42 + bl sub_80338C4 +_08034826: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034804 + + thumb_func_start sub_803482C +sub_803482C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034840 + movs r0, 0x1 + bl sub_80338C4 +_08034840: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_803482C + + thumb_func_start sub_8034848 +sub_8034848: + push {r4-r6,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + adds r6, r0, 0 + cmp r6, 0 + bne _080348BA + ldr r4, _0803489C + ldr r0, [r4] + ldr r5, _080348A0 + adds r0, r5 + movs r1, 0 + movs r2, 0x4 + bl MemoryFill8 + ldr r0, [r4] + ldr r1, _080348A4 + adds r0, r1 + strb r6, [r0] + ldr r0, [r4] + subs r1, 0x1 + adds r0, r1 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r4] + adds r0, r5 + strb r6, [r0] + ldr r4, [r4] + ldr r0, [r4, 0x44] + cmp r0, 0 + bne _080348B0 + ldr r4, [r4, 0x40] + cmp r4, 0x6 + beq _080348A8 + cmp r4, 0x7 + bne _080348BA + movs r0, 0x6D + bl sub_80338C4 + b _080348BA + .align 2, 0 +_0803489C: .4byte gUnknown_203B33C +_080348A0: .4byte 0x0000041c +_080348A4: .4byte 0x0000041e +_080348A8: + movs r0, 0x50 + bl sub_80338C4 + b _080348BA +_080348B0: + bl sub_80338DC + movs r0, 0x6B + bl sub_80338C4 +_080348BA: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8034848 + + thumb_func_start sub_80348C4 +sub_80348C4: + push {r4-r6,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + adds r6, r0, 0 + cmp r6, 0 + bne _08034968 + ldr r4, _08034910 + ldr r0, [r4] + ldr r5, _08034914 + adds r0, r5 + movs r1, 0 + movs r2, 0x4 + bl MemoryFill8 + ldr r0, [r4] + ldr r1, _08034918 + adds r0, r1 + strb r6, [r0] + ldr r0, [r4] + subs r1, 0x1 + adds r0, r1 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r4] + adds r0, r5 + strb r6, [r0] + ldr r0, [r4] + ldr r1, [r0, 0x44] + cmp r1, 0 + bne _0803495C + ldr r1, [r0, 0x40] + cmp r1, 0x6 + beq _0803491C + cmp r1, 0x7 + beq _08034954 + b _08034968 + .align 2, 0 +_08034910: .4byte gUnknown_203B33C +_08034914: .4byte 0x0000041c +_08034918: .4byte 0x0000041e +_0803491C: + ldr r1, _08034930 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0xC + beq _08034944 + cmp r0, 0xC + bhi _08034934 + cmp r0, 0xB + beq _08034938 + b _08034944 + .align 2, 0 +_08034930: .4byte 0x00000524 +_08034934: + cmp r0, 0xE + bhi _08034944 +_08034938: + ldr r0, _0803494C + ldr r3, _08034950 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 +_08034944: + movs r0, 0x77 + bl sub_80338C4 + b _08034968 + .align 2, 0 +_0803494C: .4byte gUnknown_80E31FC +_08034950: .4byte 0x00000101 +_08034954: + movs r0, 0x6D + bl sub_80338C4 + b _08034968 +_0803495C: + adds r0, r1, 0 + bl sub_80338DC + movs r0, 0x6B + bl sub_80338C4 +_08034968: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80348C4 + + thumb_func_start sub_8034970 +sub_8034970: + push {lr} + bl sub_8031DCC + cmp r0, 0x1 + beq _080349A8 + cmp r0, 0x1 + bcc _080349AC + cmp r0, 0x3 + bhi _080349AC + bl sub_8031E10 + bl sub_8004914 + ldr r0, _080349A4 + ldr r0, [r0] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x68 + bl sub_80338C4 + b _080349AC + .align 2, 0 +_080349A4: .4byte gUnknown_203B33C +_080349A8: + bl sub_8031E00 +_080349AC: + pop {r0} + bx r0 + thumb_func_end sub_8034970 + + thumb_func_start sub_80349B0 +sub_80349B0: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080349DA + ldr r0, [sp] + cmp r0, 0x6 + bne _080349CC + movs r0, 0x52 + bl sub_80338C4 + b _080349DA +_080349CC: + cmp r0, 0x6 + blt _080349DA + cmp r0, 0x8 + bgt _080349DA + movs r0, 0x1 + bl sub_80338C4 +_080349DA: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80349B0 + + thumb_func_start sub_80349E0 +sub_80349E0: + push {r4,r5,lr} + movs r0, 0x1 + bl sub_8030768 + cmp r0, 0x3 + beq _08034A08 + cmp r0, 0x3 + bhi _080349F6 + cmp r0, 0x2 + beq _080349FC + b _08034A66 +_080349F6: + cmp r0, 0x4 + beq _08034A24 + b _08034A66 +_080349FC: + bl sub_803084C + movs r0, 0x1 + bl sub_80338C4 + b _08034A66 +_08034A08: + bl sub_80307EC + ldr r1, _08034A20 + ldr r1, [r1] + movs r2, 0x86 + lsls r2, 2 + adds r1, r2 + strb r0, [r1] + movs r0, 0x5D + bl sub_80338C4 + b _08034A66 + .align 2, 0 +_08034A20: .4byte gUnknown_203B33C +_08034A24: + ldr r4, _08034A6C + ldr r1, [r4] + movs r0, 0x5C + str r0, [r1, 0x4] + bl sub_80307EC + ldr r1, [r4] + movs r5, 0x86 + lsls r5, 2 + adds r1, r5 + strb r0, [r1] + ldr r0, [r4] + 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, [r4] + adds r0, r5 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x5E + bl sub_80338C4 +_08034A66: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08034A6C: .4byte gUnknown_203B33C + thumb_func_end sub_80349E0 + + thumb_func_start sub_8034A70 +sub_8034A70: + push {r4,lr} + sub sp, 0x4 + movs r0, 0x1 + negs r0, r0 + str r0, [sp] + movs r0, 0 + bl sub_8030768 + ldr r4, _08034AB4 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08034AA2 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + mov r1, sp + bl sub_8013114 +_08034AA2: + ldr r0, [sp] + cmp r0, 0x8 + beq _08034B04 + cmp r0, 0x8 + bgt _08034AB8 + cmp r0, 0x5 + beq _08034B04 + b _08034B20 + .align 2, 0 +_08034AB4: .4byte gUnknown_203B33C +_08034AB8: + cmp r0, 0x9 + beq _08034AC2 + cmp r0, 0xA + beq _08034ACE + b _08034B20 +_08034AC2: + bl sub_803084C + movs r0, 0x5A + bl sub_80338C4 + b _08034B20 +_08034ACE: + ldr r0, [r4] + movs r1, 0x7E + str r1, [r0, 0x4] + 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, [r4] + movs r1, 0x86 + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x5E + bl sub_80338C4 + b _08034B20 +_08034B04: + ldr r0, _08034B28 + ldr r0, [r0] + movs r1, 0xD7 + lsls r1, 2 + adds r0, r1 + movs r1, 0x2 + bl sub_8035CC0 + movs r0, 0x1 + bl sub_8030810 + movs r0, 0x5C + bl sub_80338C4 +_08034B20: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08034B28: .4byte gUnknown_203B33C + thumb_func_end sub_8034A70 + + thumb_func_start sub_8034B2C +sub_8034B2C: + push {r4,lr} + bl sub_8030DA0 + cmp r0, 0x3 + bhi _08034B80 + cmp r0, 0x2 + bcc _08034B80 + bl sub_8030DE4 + bl sub_8004914 + ldr r4, _08034B78 + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl sub_803092C + ldr r4, [r4] + ldr r0, [r4, 0x4] + cmp r0, 0x7E + bne _08034B7C + movs r1, 0x87 + lsls r1, 2 + adds r0, r4, r1 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x5D + bl sub_80338C4 + b _08034B80 + .align 2, 0 +_08034B78: .4byte gUnknown_203B33C +_08034B7C: + bl sub_80338C4 +_08034B80: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8034B2C + + thumb_func_start sub_8034B88 +sub_8034B88: + push {r4-r6,lr} + ldr r4, _08034BBC + ldr r0, [r4] + ldr r5, _08034BC0 + adds r0, r5 + movs r2, 0 + strb r2, [r0] + ldr r0, [r4] + ldr r1, _08034BC4 + adds r0, r1 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r4] + ldr r6, _08034BC8 + adds r0, r6 + strb r2, [r0] + movs r0, 0x1 + bl sub_801CA08 + cmp r0, 0x3 + beq _08034BDE + cmp r0, 0x3 + bhi _08034BCC + cmp r0, 0x2 + beq _08034BD2 + b _08034C30 + .align 2, 0 +_08034BBC: .4byte gUnknown_203B33C +_08034BC0: .4byte 0x0000041e +_08034BC4: .4byte 0x0000041d +_08034BC8: .4byte 0x0000041c +_08034BCC: + cmp r0, 0x4 + beq _08034BF8 + b _08034C30 +_08034BD2: + bl sub_801CBB8 + movs r0, 0x1 + bl sub_80338C4 + b _08034C30 +_08034BDE: + bl sub_801CB24 + ldr r1, [r4] + ldr r2, _08034BF4 + adds r1, r2 + strb r0, [r1] + movs r0, 0x60 + bl sub_80338C4 + b _08034C30 + .align 2, 0 +_08034BF4: .4byte 0x0000041e +_08034BF8: + ldr r1, [r4] + movs r0, 0x5F + str r0, [r1, 0x4] + bl sub_801CB24 + ldr r1, [r4] + adds r1, r5 + strb r0, [r1] + ldr r0, [r4] + 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, [r4] + adds r0, r6 + bl sub_801B3C0 + movs r0, 0x61 + bl sub_80338C4 +_08034C30: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8034B88 + + thumb_func_start sub_8034C38 +sub_8034C38: + push {r4,lr} + bl sub_801B410 + cmp r0, 0x1 + beq _08034C90 + cmp r0, 0x1 + bcc _08034C90 + cmp r0, 0x3 + bhi _08034C90 + bl sub_801B450 + bl sub_8004914 + ldr r4, _08034C88 + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1 + bl sub_801CB5C + ldr r4, [r4] + ldr r0, [r4, 0x4] + cmp r0, 0x7E + bne _08034C8C + movs r1, 0x87 + lsls r1, 2 + adds r0, r4, r1 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x60 + bl sub_80338C4 + b _08034C90 + .align 2, 0 +_08034C88: .4byte gUnknown_203B33C +_08034C8C: + bl sub_80338C4 +_08034C90: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8034C38 + + thumb_func_start sub_8034C98 +sub_8034C98: + push {r4,lr} + sub sp, 0x4 + movs r0, 0x1 + negs r0, r0 + str r0, [sp] + movs r0, 0 + bl sub_801CA08 + ldr r4, _08034CDC + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08034CCA + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + mov r1, sp + bl sub_8013114 +_08034CCA: + ldr r0, [sp] + cmp r0, 0x8 + beq _08034D2C + cmp r0, 0x8 + bgt _08034CE0 + cmp r0, 0x5 + beq _08034D2C + b _08034D48 + .align 2, 0 +_08034CDC: .4byte gUnknown_203B33C +_08034CE0: + cmp r0, 0x9 + beq _08034CEA + cmp r0, 0xA + beq _08034CF6 + b _08034D48 +_08034CEA: + bl sub_801CBB8 + movs r0, 0x58 + bl sub_80338C4 + b _08034D48 +_08034CF6: + ldr r0, [r4] + movs r1, 0x7E + str r1, [r0, 0x4] + 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, [r4] + ldr r1, _08034D28 + adds r0, r1 + bl sub_801B3C0 + movs r0, 0x61 + bl sub_80338C4 + b _08034D48 + .align 2, 0 +_08034D28: .4byte 0x0000041c +_08034D2C: + ldr r0, _08034D50 + ldr r0, [r0] + movs r1, 0xD7 + lsls r1, 2 + adds r0, r1 + movs r1, 0x3 + bl sub_8035CC0 + movs r0, 0x1 + bl sub_801CB5C + movs r0, 0x5F + bl sub_80338C4 +_08034D48: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08034D50: .4byte gUnknown_203B33C + thumb_func_end sub_8034C98 + + thumb_func_start sub_8034D54 +sub_8034D54: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034D6E + movs r0, 0x65 + bl sub_80338C4 + movs r0, 0 + bl sub_8012574 +_08034D6E: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034D54 + + thumb_func_start sub_8034D74 +sub_8034D74: + push {r4,r5,lr} + sub sp, 0x44 + bl sub_80154F0 + adds r4, r0, 0 + add r0, sp, 0x14 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + cmp r4, 0x2 + bne _08034D8E + b _08034E9C +_08034D8E: + cmp r4, 0x3 + beq _08034D94 + b _08034EBC +_08034D94: + ldr r0, _08034DB4 + ldr r1, [r0] + adds r1, 0x8 + movs r0, 0x20 + add r2, sp, 0x14 + bl sub_8039068 + subs r0, 0x7 + cmp r0, 0x11 + bhi _08034E90 + lsls r0, 2 + ldr r1, _08034DB8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08034DB4: .4byte gUnknown_203B33C +_08034DB8: .4byte _08034DBC + .align 2, 0 +_08034DBC: + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E38 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E04 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E30 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E54 +_08034E04: + ldr r0, _08034E28 + ldr r3, _08034E2C + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x6 + bl sub_8014248 + movs r0, 0x74 + bl sub_80338C4 + b _08034E90 + .align 2, 0 +_08034E28: .4byte gUnknown_80E48A8 +_08034E2C: .4byte gUnknown_80E2440 +_08034E30: + ldr r0, _08034E34 + b _08034E3A + .align 2, 0 +_08034E34: .4byte gUnknown_80E49C4 +_08034E38: + ldr r0, _08034E4C +_08034E3A: + ldr r3, _08034E50 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + movs r0, 0x6B + bl sub_80338C4 + b _08034E90 + .align 2, 0 +_08034E4C: .4byte gUnknown_80E4704 +_08034E50: .4byte 0x00000101 +_08034E54: + ldr r1, [sp, 0x24] + movs r0, 0x4 + bl sub_809539C + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + adds r2, r0, 0 + add r1, sp, 0x14 + ldm r1!, {r3-r5} + stm r2!, {r3-r5} + ldm r1!, {r3-r5} + stm r2!, {r3-r5} + ldm r1!, {r3-r5} + stm r2!, {r3-r5} + ldm r1!, {r3-r5} + stm r2!, {r3-r5} + movs r1, 0x6 + strb r1, [r0] + ldr r0, _08034E98 + ldr r0, [r0] + movs r1, 0x84 + lsls r1, 3 + adds r0, r1 + ldr r1, [sp, 0x24] + str r1, [r0] + movs r0, 0x6D + bl sub_80338C4 +_08034E90: + bl sub_80155F0 + b _08034EBC + .align 2, 0 +_08034E98: .4byte gUnknown_203B33C +_08034E9C: + bl sub_80155F0 + bl sub_8004914 + ldr r0, _08034EC4 + ldr r0, [r0] + movs r3, 0xEF + lsls r3, 2 + adds r0, r3 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1 + bl sub_80338C4 +_08034EBC: + add sp, 0x44 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08034EC4: .4byte gUnknown_203B33C + thumb_func_end sub_8034D74 + + thumb_func_start sub_8034EC8 +sub_8034EC8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034EEA + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08034EEA + bl sub_8012750 + movs r0, 0x2 + bl sub_80338C4 +_08034EEA: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034EC8 + + thumb_func_start sub_8034EF0 +sub_8034EF0: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034F12 + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08034F12 + bl sub_8012750 + movs r0, 0x2 + bl sub_80338C4 +_08034F12: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034EF0 + + thumb_func_start sub_8034F18 +sub_8034F18: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034F32 + movs r0, 0x65 + bl sub_80338C4 + movs r0, 0 + bl sub_8012574 +_08034F32: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034F18 + + thumb_func_start sub_8034F38 +sub_8034F38: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034F52 + movs r0, 0x71 + bl sub_80338C4 + movs r0, 0 + bl sub_8012574 +_08034F52: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034F38 + + thumb_func_start sub_8034F58 +sub_8034F58: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034F80 + ldr r0, [sp] + cmp r0, 0x6 + beq _08034F72 + cmp r0, 0x8 + beq _08034F7A + b _08034F80 +_08034F72: + movs r0, 0x62 + bl sub_80338C4 + b _08034F80 +_08034F7A: + movs r0, 0x1 + bl sub_80338C4 +_08034F80: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034F58 + + thumb_func_start sub_8034F88 +sub_8034F88: + push {r4,r5,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803500E + ldr r0, [sp] + cmp r0, 0x7 + beq _08035000 + cmp r0, 0x7 + bgt _08034FA6 + cmp r0, 0x6 + beq _08034FAC + b _0803500E +_08034FA6: + cmp r0, 0x8 + beq _08035008 + b _0803500E +_08034FAC: + ldr r4, _08034FF0 + ldr r0, [r4] + movs r1, 0x86 + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + bl sub_8095228 + adds r2, r0, 0 + ldr r1, [r4] + ldr r3, _08034FF4 + adds r0, r1, r3 + ldrb r0, [r0] + cmp r0, 0 + beq _08034FD2 + ldr r5, _08034FF8 + adds r0, r1, r5 + ldr r0, [r0] + str r0, [r2, 0x20] +_08034FD2: + ldr r0, _08034FFC + ldr r1, [r0] + ldr r0, [r4] + adds r0, r3 + ldrb r0, [r0] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + movs r0, 0x75 + bl sub_80338C4 + b _0803500E + .align 2, 0 +_08034FF0: .4byte gUnknown_203B33C +_08034FF4: .4byte 0x0000041e +_08034FF8: .4byte 0x0000041c +_08034FFC: .4byte gUnknown_203B460 +_08035000: + movs r0, 0x57 + bl sub_80338C4 + b _0803500E +_08035008: + movs r0, 0x1 + bl sub_80338C4 +_0803500E: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8034F88 + + thumb_func_start sub_8035018 +sub_8035018: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08035032 + movs r0, 0x76 + bl sub_80338C4 + movs r0, 0 + bl sub_8012574 +_08035032: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8035018 + + thumb_func_start sub_8035038 +sub_8035038: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803508E + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _0803508E + bl sub_8012750 + ldr r0, _0803506C + ldr r0, [r0] + ldr r1, _08035070 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0xD + beq _08035080 + cmp r0, 0xD + bls _08035074 + cmp r0, 0xE + beq _08035088 + b _0803508E + .align 2, 0 +_0803506C: .4byte gUnknown_203B33C +_08035070: .4byte 0x00000524 +_08035074: + cmp r0, 0xB + bcc _0803508E + movs r0, 0x69 + bl sub_80338C4 + b _0803508E +_08035080: + movs r0, 0x66 + bl sub_80338C4 + b _0803508E +_08035088: + movs r0, 0x4B + bl sub_80338C4 +_0803508E: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8035038 + + thumb_func_start sub_8035094 +sub_8035094: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080350EE + ldr r0, [sp] + cmp r0, 0x8 + beq _080350E8 + cmp r0, 0x16 + bne _080350EE + ldr r0, _080350C4 + ldr r0, [r0] + ldr r1, _080350C8 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0xD + beq _080350D8 + cmp r0, 0xD + bls _080350CC + cmp r0, 0xE + beq _080350E0 + b _080350EE + .align 2, 0 +_080350C4: .4byte gUnknown_203B33C +_080350C8: .4byte 0x00000524 +_080350CC: + cmp r0, 0xB + bcc _080350EE + movs r0, 0x69 + bl sub_80338C4 + b _080350EE +_080350D8: + movs r0, 0x66 + bl sub_80338C4 + b _080350EE +_080350E0: + movs r0, 0x4B + bl sub_80338C4 + b _080350EE +_080350E8: + movs r0, 0x1 + bl sub_80338C4 +_080350EE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8035094 + + thumb_func_start sub_80350F4 +sub_80350F4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08035176 + ldr r0, [sp] + cmp r0, 0x15 + beq _08035118 + cmp r0, 0x15 + bgt _08035112 + cmp r0, 0x8 + beq _08035170 + b _08035176 +_08035112: + cmp r0, 0x16 + beq _08035134 + b _08035176 +_08035118: + movs r0, 0 + bl sub_801CF14 + lsls r0, 24 + cmp r0, 0 + beq _0803512C + movs r0, 0x56 + bl sub_80338C4 + b _08035176 +_0803512C: + movs r0, 0x57 + bl sub_80338C4 + b _08035176 +_08035134: + ldr r0, _0803514C + ldr r0, [r0] + ldr r1, _08035150 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0xD + beq _08035160 + cmp r0, 0xD + bls _08035154 + cmp r0, 0xE + beq _08035168 + b _08035176 + .align 2, 0 +_0803514C: .4byte gUnknown_203B33C +_08035150: .4byte 0x00000524 +_08035154: + cmp r0, 0xB + bcc _08035176 + movs r0, 0x69 + bl sub_80338C4 + b _08035176 +_08035160: + movs r0, 0x66 + bl sub_80338C4 + b _08035176 +_08035168: + movs r0, 0x4B + bl sub_80338C4 + b _08035176 +_08035170: + movs r0, 0x1 + bl sub_80338C4 +_08035176: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80350F4 + + thumb_func_start sub_803517C +sub_803517C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080351DA + ldr r0, [sp] + cmp r0, 0x6 + beq _08035196 + cmp r0, 0x8 + beq _080351D4 + b _080351DA +_08035196: + ldr r0, _080351B0 + ldr r0, [r0] + ldr r1, _080351B4 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0xD + beq _080351C4 + cmp r0, 0xD + bls _080351B8 + cmp r0, 0xE + beq _080351CC + b _080351DA + .align 2, 0 +_080351B0: .4byte gUnknown_203B33C +_080351B4: .4byte 0x00000524 +_080351B8: + cmp r0, 0xB + bcc _080351DA + movs r0, 0x69 + bl sub_80338C4 + b _080351DA +_080351C4: + movs r0, 0x66 + bl sub_80338C4 + b _080351DA +_080351CC: + movs r0, 0x4B + bl sub_80338C4 + b _080351DA +_080351D4: + movs r0, 0x1 + bl sub_80338C4 +_080351DA: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_803517C + + thumb_func_start sub_80351E0 +sub_80351E0: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08035208 + ldr r0, [sp] + cmp r0, 0x6 + beq _080351FA + cmp r0, 0x8 + beq _08035202 + b _08035208 +_080351FA: + movs r0, 0x72 + bl sub_80338C4 + b _08035208 +_08035202: + movs r0, 0x1 + bl sub_80338C4 +_08035208: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80351E0 + + thumb_func_start sub_8035210 +sub_8035210: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803528C + ldr r0, _08035238 + ldr r2, [r0] + ldr r1, _0803523C + adds r0, r2, r1 + ldr r1, [sp] + str r1, [r0] + cmp r1, 0xD + bgt _0803528C + cmp r1, 0xB + bge _08035240 + cmp r1, 0x8 + beq _08035286 + b _0803528C + .align 2, 0 +_08035238: .4byte gUnknown_203B33C +_0803523C: .4byte 0x00000524 +_08035240: + movs r3, 0xA5 + lsls r3, 3 + adds r0, r2, r3 + ldr r0, [r0] + cmp r0, 0x13 + bne _08035272 + movs r0, 0x5 + bl sub_80953D4 + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + adds r0, 0x22 + ldrb r0, [r0] + cmp r0, 0 + beq _0803526A + movs r0, 0x53 + bl sub_80338C4 + b _0803528C +_0803526A: + movs r0, 0x55 + bl sub_80338C4 + b _0803528C +_08035272: + cmp r1, 0xD + beq _0803527E + movs r0, 0x69 + bl sub_80338C4 + b _0803528C +_0803527E: + movs r0, 0x72 + bl sub_80338C4 + b _0803528C +_08035286: + movs r0, 0x1 + bl sub_80338C4 +_0803528C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8035210 + + thumb_func_start nullsub_46 +nullsub_46: + bx lr + thumb_func_end nullsub_46 + + thumb_func_start nullsub_47 +nullsub_47: + bx lr + thumb_func_end nullsub_47 + + thumb_func_start nullsub_48 +nullsub_48: + bx lr + thumb_func_end nullsub_48 + + thumb_func_start nullsub_49 +nullsub_49: + bx lr + thumb_func_end nullsub_49 + + thumb_func_start sub_80352A4 +sub_80352A4: + push {r4,lr} + bl sub_802F298 + cmp r0, 0x3 + bne _080352EC + bl sub_802F2C0 + ldr r0, _080352F4 + 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, _080352F8 + bl strcpy + ldr r0, _080352FC + ldr r0, [r0] + movs r1, 0x84 + lsls r1, 3 + adds r0, r1 + ldr r1, [r0] + movs r0, 0x6 + bl sub_809539C + lsls r0, 24 + lsrs r0, 24 + bl sub_8095240 + movs r0, 0x70 + bl sub_80338C4 +_080352EC: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080352F4: .4byte gUnknown_202E5D8 +_080352F8: .4byte gUnknown_202DF98 +_080352FC: .4byte gUnknown_203B33C + thumb_func_end sub_80352A4 + + thumb_func_start sub_8035300 +sub_8035300: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08035364 + ldr r0, [sp] + adds r1, r0, 0 + subs r1, 0x19 + adds r2, r0, 0 + cmp r1, 0x4 + bhi _08035364 + lsls r0, r1, 2 + ldr r1, _08035324 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08035324: .4byte _08035328 + .align 2, 0 +_08035328: + .4byte _0803533C + .4byte _08035354 + .4byte _08035344 + .4byte _0803534C + .4byte _08035354 +_0803533C: + movs r0, 0x1 + bl sub_80338C4 + b _08035364 +_08035344: + movs r0, 0x7A + bl sub_80338C4 + b _08035364 +_0803534C: + movs r0, 0x7C + bl sub_80338C4 + b _08035364 +_08035354: + ldr r0, _0803536C + ldr r0, [r0] + ldr r1, _08035370 + adds r0, r1 + str r2, [r0] + movs r0, 0x79 + bl sub_80338C4 +_08035364: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_0803536C: .4byte gUnknown_203B33C +_08035370: .4byte 0x00000564 + thumb_func_end sub_8035300 + + thumb_func_start sub_8035374 +sub_8035374: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080353AC + ldr r1, [sp] + cmp r1, 0x19 + bne _08035390 + movs r0, 0x78 + bl sub_80338C4 + b _080353AC +_08035390: + cmp r1, 0x19 + blt _080353AC + cmp r1, 0x22 + bgt _080353AC + cmp r1, 0x1E + blt _080353AC + ldr r0, _080353B4 + ldr r0, [r0] + ldr r2, _080353B8 + adds r0, r2 + str r1, [r0] + movs r0, 0x7B + bl sub_80338C4 +_080353AC: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_080353B4: .4byte gUnknown_203B33C +_080353B8: .4byte 0x00000564 + thumb_func_end sub_8035374 + + thumb_func_start sub_80353BC +sub_80353BC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080353F4 + ldr r1, [sp] + cmp r1, 0x19 + bne _080353D8 + movs r0, 0x78 + bl sub_80338C4 + b _080353F4 +_080353D8: + cmp r1, 0x19 + blt _080353F4 + cmp r1, 0x26 + bgt _080353F4 + cmp r1, 0x23 + blt _080353F4 + ldr r0, _080353FC + ldr r0, [r0] + ldr r2, _08035400 + adds r0, r2 + str r1, [r0] + movs r0, 0x7D + bl sub_80338C4 +_080353F4: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_080353FC: .4byte gUnknown_203B33C +_08035400: .4byte 0x00000564 + thumb_func_end sub_80353BC + + thumb_func_start sub_8035404 +sub_8035404: + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803541A + adds r0, r4, 0 + bl sub_80338C4 +_0803541A: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8035404 + + thumb_func_start sub_8035424 +sub_8035424: + push {lr} + movs r0, 0x6 + bl sub_80338C4 + pop {r0} + bx r0 + thumb_func_end sub_8035424 + + thumb_func_start sub_8035430 +sub_8035430: + push {lr} + movs r0, 0x4F + bl sub_80338C4 + pop {r0} + bx r0 + thumb_func_end sub_8035430 + + thumb_func_start nullsub_50 +nullsub_50: + bx lr + thumb_func_end nullsub_50 + + thumb_func_start nullsub_51 +nullsub_51: + bx lr + thumb_func_end nullsub_51 + + thumb_func_start sub_8035444 +sub_8035444: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x84 + mov r8, r0 + adds r5, r1, 0 + ldr r4, _080354C0 + movs r0, 0x6C + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + movs r1, 0 + str r1, [r0, 0x60] + str r5, [r0, 0x64] + mov r1, r8 + str r1, [r0, 0x68] + ldr r2, _080354C4 + mov r12, r2 + mov r9, r4 + movs r3, 0 + movs r2, 0x3 +_08035472: + ldr r1, [r4] + adds r1, r3 + mov r0, r12 + 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 _08035472 + mov r0, r9 + ldr r1, [r0] + ldr r0, _080354C8 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + bl sub_8004914 + mov r1, r9 + ldr r0, [r1] + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x2 + bl sub_8099690 + movs r0, 0 + bl sub_80073B8 + mov r2, r8 + lsls r0, r2, 2 + ldr r1, _080354CC + adds r0, r1 + ldr r1, [r0] + movs r5, 0 + b _08035542 + .align 2, 0 +_080354C0: .4byte gUnknown_203B340 +_080354C4: .4byte gUnknown_80E4A10 +_080354C8: .4byte gUnknown_80E4A28 +_080354CC: .4byte gUnknown_80E591C +_080354D0: + ldr r2, [r1, 0x8] + movs r3, 0x4 + ldrsh r0, [r1, r3] + cmp r0, 0 + blt _080354DE + adds r5, r0, 0 + b _080354E4 +_080354DE: + movs r6, 0x4 + ldrsh r0, [r1, r6] + subs r5, r0 +_080354E4: + movs r7, 0x2 + ldrsh r6, [r1, r7] + movs r3, 0 + ldrsh r0, [r1, r3] + cmp r0, 0x1 + beq _080354FA + cmp r0, 0x2 + beq _08035514 + adds r4, r1, 0 + adds r4, 0xC + b _08035532 +_080354FA: + add r3, sp, 0x4 + ldrb r0, [r2] + adds r4, r1, 0 + adds r4, 0xC + cmp r0, 0 + beq _0803552C +_08035506: + strb r0, [r3] + adds r2, 0x1 + adds r3, 0x1 + ldrb r0, [r2] + cmp r0, 0 + bne _08035506 + b _0803552C +_08035514: + add r3, sp, 0x4 + ldrb r0, [r2] + adds r4, r1, 0 + adds r4, 0xC + cmp r0, 0 + beq _0803552C +_08035520: + strb r0, [r3] + adds r2, 0x1 + adds r3, 0x1 + ldrb r0, [r2] + cmp r0, 0 + bne _08035520 +_0803552C: + movs r0, 0 + strb r0, [r3] + add r2, sp, 0x4 +_08035532: + movs r0, 0 + str r0, [sp] + adds r0, r6, 0 + adds r1, r5, 0 + movs r3, 0 + bl xxx_call_draw_string + adds r1, r4, 0 +_08035542: + ldr r0, [r1, 0x8] + cmp r0, 0 + bne _080354D0 + movs r0, 0 + bl sub_80073E0 + movs r0, 0 + bl sub_80063CC + ldr r2, _08035570 + movs r0, 0x9 + movs r1, 0 + ldr r2, [r2] + bl sub_8099AFC + movs r0, 0x1 + add sp, 0x84 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08035570: .4byte gCreditsTable + thumb_func_end sub_8035444 + + thumb_func_start sub_8035574 +sub_8035574: + push {r4,lr} + ldr r1, _0803558C + ldr r0, [r1] + ldr r0, [r0, 0x60] + adds r4, r1, 0 + cmp r0, 0x4 + bhi _08035654 + lsls r0, 2 + ldr r1, _08035590 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803558C: .4byte gUnknown_203B340 +_08035590: .4byte _08035594 + .align 2, 0 +_08035594: + .4byte _080355A8 + .4byte _080355D0 + .4byte _080355E8 + .4byte _08035610 + .4byte _08035638 +_080355A8: + bl sub_8099B94 + lsls r0, 24 + cmp r0, 0 + bne _08035654 + ldr r0, _080355C8 + ldr r1, [r0] + movs r0, 0x1 + str r0, [r1, 0x60] + ldr r2, _080355CC + movs r0, 0x9 + movs r1, 0x1E + ldr r2, [r2] + bl sub_8099A5C + b _08035654 + .align 2, 0 +_080355C8: .4byte gUnknown_203B340 +_080355CC: .4byte gCreditsTable +_080355D0: + bl sub_8099B94 + lsls r0, 24 + cmp r0, 0 + bne _08035654 + ldr r0, _080355E4 + ldr r1, [r0] + movs r0, 0x2 + str r0, [r1, 0x60] + b _08035654 + .align 2, 0 +_080355E4: .4byte gUnknown_203B340 +_080355E8: + ldr r1, [r4] + ldr r0, [r1, 0x64] + cmp r0, 0 + bgt _08035600 + movs r0, 0x3 + str r0, [r1, 0x60] + ldr r2, _0803560C + movs r0, 0x9 + movs r1, 0x1E + ldr r2, [r2] + bl sub_8099AFC +_08035600: + ldr r1, [r4] + ldr r0, [r1, 0x64] + subs r0, 0x1 + str r0, [r1, 0x64] + b _08035654 + .align 2, 0 +_0803560C: .4byte gCreditsTable +_08035610: + bl sub_8099B94 + lsls r0, 24 + cmp r0, 0 + bne _08035654 + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, _08035634 + ldr r1, [r0] + movs r0, 0x4 + str r0, [r1, 0x60] + b _08035654 + .align 2, 0 +_08035634: .4byte gUnknown_203B340 +_08035638: + movs r0, 0 + bl sub_8099690 + ldr r2, _08035650 + movs r0, 0x1 + movs r1, 0 + ldr r2, [r2] + bl sub_8099A5C + movs r0, 0x3 + b _08035656 + .align 2, 0 +_08035650: .4byte gCreditsTable +_08035654: + movs r0, 0 +_08035656: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8035574 + + thumb_func_start sub_803565C +sub_803565C: + push {r4,lr} + ldr r4, _08035674 + ldr r0, [r4] + cmp r0, 0 + beq _0803566E + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0803566E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08035674: .4byte gUnknown_203B340 + thumb_func_end sub_803565C + + thumb_func_start sub_8035678 +sub_8035678: + push {r4,lr} + ldr r4, _0803569C + movs r0, 0x8 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + movs r1, 0 + str r1, [r0] + str r1, [r0, 0x4] + movs r0, 0 + movs r1, 0x39 + bl sub_80015C0 + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0803569C: .4byte gUnknown_203B344 + thumb_func_end sub_8035678 + + thumb_func_start sub_80356A0 +sub_80356A0: + push {r4,lr} + ldr r0, _080356C4 + ldrh r4, [r0] + ldr r3, _080356C8 + ldr r2, _080356CC + ldr r1, [r2] + ldr r0, [r1, 0x4] + lsls r0, 1 + adds r0, r3 + ldrh r3, [r0] + ldr r0, [r1] + cmp r0, 0x4 + bhi _08035734 + lsls r0, 2 + ldr r1, _080356D0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080356C4: .4byte gUnknown_20255F0 +_080356C8: .4byte gUnknown_80E5990 +_080356CC: .4byte gUnknown_203B344 +_080356D0: .4byte _080356D4 + .align 2, 0 +_080356D4: + .4byte _08035728 + .4byte _080356E8 + .4byte _08035710 + .4byte _0803574C + .4byte _08035730 +_080356E8: + cmp r3, 0 + bne _080356F4 + ldr r1, [r2] + movs r0, 0x4 + str r0, [r1] + b _08035734 +_080356F4: + cmp r4, r3 + bne _08035700 + ldr r1, [r2] + movs r0, 0x2 + str r0, [r1] + b _08035734 +_08035700: + ands r3, r4 + cmp r3, r4 + bne _08035728 + ldr r1, [r2] + ldr r0, [r1, 0x4] + cmp r0, 0 + bne _08035734 + b _0803572A +_08035710: + cmp r4, 0 + bne _08035722 + ldr r1, [r2] + movs r0, 0x1 + str r0, [r1] + ldr r0, [r1, 0x4] + adds r0, 0x1 + str r0, [r1, 0x4] + b _08035734 +_08035722: + ands r3, r4 + cmp r3, r4 + beq _08035734 +_08035728: + ldr r1, [r2] +_0803572A: + movs r0, 0x3 + str r0, [r1] + b _08035734 +_08035730: + movs r0, 0x3 + b _0803574E +_08035734: + movs r0, 0 + movs r1, 0x39 + bl sub_8001658 + cmp r0, 0 + bne _08035744 + movs r0, 0 + b _0803574E +_08035744: + ldr r0, _08035754 + ldr r1, [r0] + movs r0, 0x3 + str r0, [r1] +_0803574C: + movs r0, 0x2 +_0803574E: + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08035754: .4byte gUnknown_203B344 + thumb_func_end sub_80356A0 + + thumb_func_start sub_8035758 +sub_8035758: + push {r4,lr} + ldr r4, _08035770 + ldr r0, [r4] + cmp r0, 0 + beq _0803576A + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0803576A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08035770: .4byte gUnknown_203B344 + thumb_func_end sub_8035758 + + thumb_func_start InitMainMenu +InitMainMenu: + push {r4,r5,lr} + ldr r5, _080357C8 + ldr r0, [r5] + cmp r0, 0 + bne _08035790 + movs r0, 0x40 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + movs r2, 0x40 + bl MemoryFill8 +_08035790: + ldr r0, [r5] + ldr r1, _080357CC + str r1, [r0] + movs r2, 0x1 + str r2, [r0, 0x4] + str r2, [r0, 0x8] + adds r1, 0x23 + strh r1, [r0, 0x38] + movs r1, 0x1 + negs r1, r1 + str r1, [r0, 0x3C] + adds r0, 0x2E + movs r4, 0 + strb r4, [r0] + ldr r0, [r5] + adds r0, 0x2C + strb r2, [r0] + ldr r0, [r5] + adds r0, 0x2D + strb r4, [r0] + bl sub_8035DA0 + ldr r0, [r5] + adds r0, 0x3A + strb r4, [r0] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080357C8: .4byte gUnknown_203B348 +_080357CC: .4byte 0x0000ffdc + thumb_func_end InitMainMenu + + thumb_func_start sub_80357D0 +sub_80357D0: + push {r4,lr} + ldr r4, _080357E8 + ldr r0, [r4] + cmp r0, 0 + beq _080357E2 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_080357E2: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080357E8: .4byte gUnknown_203B348 + thumb_func_end sub_80357D0 + + thumb_func_start SetUpMenu +SetUpMenu: + push {lr} + ldr r0, _08035810 + ldr r0, [r0] + ldr r1, [r0] + ldr r0, [r0, 0x4] + cmp r1, r0 + bne _080357FC + b _08035958 +_080357FC: + subs r0, 0x1 + cmp r0, 0x2D + bls _08035804 + b _08035950 +_08035804: + lsls r0, 2 + ldr r1, _08035814 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08035810: .4byte gUnknown_203B348 +_08035814: .4byte _08035818 + .align 2, 0 +_08035818: + .4byte _080358D0 + .4byte _08035950 + .4byte _08035950 + .4byte _08035950 + .4byte _08035950 + .4byte _080358E0 + .4byte _080358E0 + .4byte _080358E0 + .4byte _080358E0 + .4byte _08035934 + .4byte _0803590C + .4byte _080358F0 + .4byte _08035912 + .4byte _08035918 + .4byte _0803591E + .4byte _0803594C + .4byte _08035950 + .4byte _08035950 + .4byte _080358F6 + .4byte _080358F6 + .4byte _08035950 + .4byte _08035950 + .4byte _08035950 + .4byte _08035950 + .4byte _08035950 + .4byte _08035950 + .4byte _08035950 + .4byte _08035950 + .4byte _08035950 + .4byte _08035950 + .4byte _08035950 + .4byte _08035950 + .4byte _08035924 + .4byte _08035924 + .4byte _08035950 + .4byte _08035950 + .4byte _08035950 + .4byte _08035950 + .4byte _08035950 + .4byte _08035950 + .4byte _0803593A + .4byte _0803593A + .4byte _0803593A + .4byte _0803593A + .4byte _0803593A + .4byte _0803593A +_080358D0: + bl sub_8094C14 + movs r0, 0 + bl sub_8099690 + bl sub_8035E10 + b _08035950 +_080358E0: + ldr r0, _080358EC + ldr r0, [r0] + ldr r0, [r0, 0x4] + bl sub_8039254 + b _08035950 + .align 2, 0 +_080358EC: .4byte gUnknown_203B348 +_080358F0: + bl sub_8036400 + b _08035950 +_080358F6: + ldr r0, _08035908 + ldr r0, [r0] + ldr r0, [r0, 0x4] + bl sub_8035DB4 + bl sub_8036FDC + b _08035950 + .align 2, 0 +_08035908: .4byte gUnknown_203B348 +_0803590C: + bl sub_803225C + b _08035950 +_08035912: + bl sub_80398AC + b _08035950 +_08035918: + bl sub_803A1D8 + b _08035950 +_0803591E: + bl sub_803A1E4 + b _08035950 +_08035924: + ldr r0, _08035930 + ldr r0, [r0] + ldr r0, [r0, 0x4] + bl sub_8038900 + b _08035950 + .align 2, 0 +_08035930: .4byte gUnknown_203B348 +_08035934: + bl sub_80382A0 + b _08035950 +_0803593A: + ldr r0, _08035948 + ldr r0, [r0] + ldr r0, [r0, 0x4] + bl sub_803850C + b _08035950 + .align 2, 0 +_08035948: .4byte gUnknown_203B348 +_0803594C: + bl sub_803A200 +_08035950: + ldr r0, _0803595C + ldr r1, [r0] + ldr r0, [r1, 0x4] + str r0, [r1] +_08035958: + pop {r0} + bx r0 + .align 2, 0 +_0803595C: .4byte gUnknown_203B348 + thumb_func_end SetUpMenu + + thumb_func_start UpdateMenu +UpdateMenu: + push {lr} + ldr r2, _0803597C + ldr r0, _08035980 + ldr r0, [r0] + ldr r0, [r0, 0x4] + subs r0, 0x1 + cmp r0, 0x2D + bls _08035972 + b _08035AA6 +_08035972: + lsls r0, 2 + ldr r1, _08035984 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803597C: .4byte 0x0000ffdc +_08035980: .4byte gUnknown_203B348 +_08035984: .4byte _08035988 + .align 2, 0 +_08035988: + .4byte _08035A40 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035A46 + .4byte _08035A46 + .4byte _08035A46 + .4byte _08035A46 + .4byte _08035A8E + .4byte _08035A52 + .4byte _08035A4C + .4byte _08035A58 + .4byte _08035A5E + .4byte _08035A70 + .4byte _08035AA0 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035AA6 + .4byte _08035A88 + .4byte _08035A88 + .4byte _08035AA6 + .4byte _08035A94 + .4byte _08035A94 + .4byte _08035A94 + .4byte _08035A94 + .4byte _08035A94 + .4byte _08035A9A + .4byte _08035A9A + .4byte _08035A9A + .4byte _08035A9A + .4byte _08035A9A + .4byte _08035A9A +_08035A40: + bl sub_8035EEC + b _08035AA4 +_08035A46: + bl sub_803941C + b _08035AA4 +_08035A4C: + bl sub_8036448 + b _08035A62 +_08035A52: + bl sub_8032318 + b _08035A62 +_08035A58: + bl sub_8039928 + b _08035A62 +_08035A5E: + bl sub_803A1DC +_08035A62: + movs r2, 0x1 + cmp r0, 0x3 + beq _08035AA6 + ldr r2, _08035A6C + b _08035AA6 + .align 2, 0 +_08035A6C: .4byte 0x0000ffdc +_08035A70: + bl sub_803A1E8 + movs r2, 0x5 + cmp r0, 0x3 + beq _08035AA6 + ldr r2, _08035A84 + cmp r0, 0x2 + bne _08035AA6 + movs r2, 0x1 + b _08035AA6 + .align 2, 0 +_08035A84: .4byte 0x0000ffdc +_08035A88: + bl sub_8038A90 + b _08035AA4 +_08035A8E: + bl sub_80382C0 + b _08035AA4 +_08035A94: + bl sub_80383D4 + b _08035AA4 +_08035A9A: + bl sub_8038630 + b _08035AA4 +_08035AA0: + bl sub_803A2A4 +_08035AA4: + adds r2, r0, 0 +_08035AA6: + ldr r0, _08035AB8 + cmp r2, r0 + beq _08035AB2 + ldr r0, _08035ABC + ldr r0, [r0] + str r2, [r0, 0x4] +_08035AB2: + adds r0, r2, 0 + pop {r1} + bx r1 + .align 2, 0 +_08035AB8: .4byte 0x0000ffdc +_08035ABC: .4byte gUnknown_203B348 + thumb_func_end UpdateMenu + + thumb_func_start CleanUpMenu +CleanUpMenu: + push {lr} + ldr r0, _08035AE4 + ldr r0, [r0] + ldr r1, [r0, 0x8] + ldr r0, [r0, 0x4] + cmp r1, r0 + bne _08035AD0 + b _08035BF8 +_08035AD0: + subs r0, r1, 0x1 + cmp r0, 0x2D + bls _08035AD8 + b _08035BF0 +_08035AD8: + lsls r0, 2 + ldr r1, _08035AE8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08035AE4: .4byte gUnknown_203B348 +_08035AE8: .4byte _08035AEC + .align 2, 0 +_08035AEC: + .4byte _08035BA4 + .4byte _08035BF0 + .4byte _08035BF0 + .4byte _08035BF0 + .4byte _08035BF0 + .4byte _08035BAA + .4byte _08035BAA + .4byte _08035BAA + .4byte _08035BAA + .4byte _08035BDA + .4byte _08035BBC + .4byte _08035BB0 + .4byte _08035BC2 + .4byte _08035BC8 + .4byte _08035BCE + .4byte _08035BEC + .4byte _08035BF0 + .4byte _08035BF0 + .4byte _08035BB6 + .4byte _08035BB6 + .4byte _08035BF0 + .4byte _08035BF0 + .4byte _08035BF0 + .4byte _08035BF0 + .4byte _08035BF0 + .4byte _08035BF0 + .4byte _08035BF0 + .4byte _08035BF0 + .4byte _08035BF0 + .4byte _08035BF0 + .4byte _08035BF0 + .4byte _08035BF0 + .4byte _08035BD4 + .4byte _08035BD4 + .4byte _08035BF0 + .4byte _08035BE0 + .4byte _08035BE0 + .4byte _08035BE0 + .4byte _08035BE0 + .4byte _08035BE0 + .4byte _08035BE6 + .4byte _08035BE6 + .4byte _08035BE6 + .4byte _08035BE6 + .4byte _08035BE6 + .4byte _08035BE6 +_08035BA4: + bl sub_8035EC0 + b _08035BF0 +_08035BAA: + bl sub_80393F0 + b _08035BF0 +_08035BB0: + bl sub_8036B04 + b _08035BF0 +_08035BB6: + bl sub_80370D4 + b _08035BF0 +_08035BBC: + bl sub_80327E4 + b _08035BF0 +_08035BC2: + bl sub_80399E4 + b _08035BF0 +_08035BC8: + bl nullsub_55 + b _08035BF0 +_08035BCE: + bl sub_803A1EC + b _08035BF0 +_08035BD4: + bl sub_8038A5C + b _08035BF0 +_08035BDA: + bl sub_80382AC + b _08035BF0 +_08035BE0: + bl sub_80383A8 + b _08035BF0 +_08035BE6: + bl sub_8038604 + b _08035BF0 +_08035BEC: + bl sub_803A278 +_08035BF0: + ldr r0, _08035BFC + ldr r1, [r0] + ldr r0, [r1, 0x4] + str r0, [r1, 0x8] +_08035BF8: + pop {r0} + bx r0 + .align 2, 0 +_08035BFC: .4byte gUnknown_203B348 + thumb_func_end CleanUpMenu + + thumb_func_start sub_8035C00 +sub_8035C00: + ldr r1, _08035C0C + ldr r1, [r1] + ldr r0, [r0] + str r0, [r1, 0x2C] + bx lr + .align 2, 0 +_08035C0C: .4byte gUnknown_203B348 + thumb_func_end sub_8035C00 + + thumb_func_start sub_8035C10 +sub_8035C10: + ldr r0, _08035C18 + ldr r0, [r0] + adds r0, 0x2C + bx lr + .align 2, 0 +_08035C18: .4byte gUnknown_203B348 + thumb_func_end sub_8035C10 + + thumb_func_start sub_8035C1C +sub_8035C1C: + ldr r2, _08035C38 + ldr r0, [r2] + adds r0, 0x2E + movs r3, 0 + strb r3, [r0] + ldr r0, [r2] + adds r0, 0x2C + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r2] + adds r0, 0x2D + strb r3, [r0] + bx lr + .align 2, 0 +_08035C38: .4byte gUnknown_203B348 + thumb_func_end sub_8035C1C + + thumb_func_start SetMenuItems +SetMenuItems: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x8 + adds r6, r0, 0 + adds r4, r1, 0 + adds r5, r2, 0 + ldr r0, [sp, 0x24] + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r0, r5, 1 + adds r0, r5 + lsls r0, 3 + adds r0, r4 + ldm r3!, {r1,r2,r7} + stm r0!, {r1,r2,r7} + ldm r3!, {r1,r2,r7} + stm r0!, {r1,r2,r7} + bl sub_8004914 + adds r0, r4, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + mov r0, r8 + cmp r0, 0 + beq _08035C90 + lsls r4, r5, 2 + adds r0, r4, r5 + lsls r0, 4 + adds r0, r6, r0 + ldr r1, [sp, 0x28] + str r1, [sp] + str r5, [sp, 0x4] + ldr r1, [sp, 0x20] + movs r2, 0 + movs r3, 0 + bl sub_8012D60 + b _08035CA8 +_08035C90: + lsls r4, r5, 2 + adds r0, r4, r5 + lsls r0, 4 + adds r0, r6, r0 + mov r1, r8 + str r1, [sp] + str r5, [sp, 0x4] + ldr r1, [sp, 0x20] + movs r2, 0 + movs r3, 0 + bl sub_8012E04 +_08035CA8: + adds r0, r4, r5 + lsls r0, 4 + adds r0, r6 + adds r0, 0x4C + movs r1, 0x1 + strb r1, [r0] + add sp, 0x8 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end SetMenuItems + + thumb_func_start sub_8035CC0 +sub_8035CC0: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + bl sub_8006518 + lsls r1, r4, 1 + adds r1, r4 + lsls r1, 3 + adds r1, r5 + ldr r0, _08035CF0 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + bl sub_8004914 + adds r0, r5, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08035CF0: .4byte gUnknown_80E59A8 + thumb_func_end sub_8035CC0 + + thumb_func_start sub_8035CF4 +sub_8035CF4: + push {lr} + adds r3, r0, 0 + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 4 + adds r0, r3 + adds r1, r0, 0 + adds r1, 0x4C + strb r2, [r1] + adds r2, r0, 0 + adds r2, 0x4D + movs r1, 0x1 + strb r1, [r2] + subs r1, 0x2 + str r1, [r0, 0x48] + bl sub_8012EBC + pop {r0} + bx r0 + thumb_func_end sub_8035CF4 + + thumb_func_start sub_8035D1C +sub_8035D1C: + ldr r0, _08035D28 + ldr r1, [r0] + ldr r0, _08035D2C + strh r0, [r1, 0x38] + bx lr + .align 2, 0 +_08035D28: .4byte gUnknown_203B348 +_08035D2C: .4byte 0x0000ffff + thumb_func_end sub_8035D1C + + thumb_func_start sub_8035D30 +sub_8035D30: + ldr r1, _08035D38 + ldr r1, [r1] + strh r0, [r1, 0x38] + bx lr + .align 2, 0 +_08035D38: .4byte gUnknown_203B348 + thumb_func_end sub_8035D30 + + thumb_func_start sub_8035D3C +sub_8035D3C: + ldr r0, _08035D48 + ldr r0, [r0] + movs r1, 0x38 + ldrsh r0, [r0, r1] + bx lr + .align 2, 0 +_08035D48: .4byte gUnknown_203B348 + thumb_func_end sub_8035D3C + + thumb_func_start sub_8035D4C +sub_8035D4C: + ldr r0, _08035D54 + ldr r0, [r0] + bx lr + .align 2, 0 +_08035D54: .4byte gUnknown_203B348 + thumb_func_end sub_8035D4C + + thumb_func_start sub_8035D58 +sub_8035D58: + ldr r0, _08035D64 + ldr r1, [r0] + movs r0, 0x1 + negs r0, r0 + str r0, [r1, 0x3C] + bx lr + .align 2, 0 +_08035D64: .4byte gUnknown_203B348 + thumb_func_end sub_8035D58 + + thumb_func_start sub_8035D68 +sub_8035D68: + ldr r1, _08035D70 + ldr r1, [r1] + str r0, [r1, 0x3C] + bx lr + .align 2, 0 +_08035D70: .4byte gUnknown_203B348 + thumb_func_end sub_8035D68 + + thumb_func_start sub_8035D74 +sub_8035D74: + ldr r0, _08035D7C + ldr r0, [r0] + ldr r0, [r0, 0x3C] + bx lr + .align 2, 0 +_08035D7C: .4byte gUnknown_203B348 + thumb_func_end sub_8035D74 + + thumb_func_start sub_8035D80 +sub_8035D80: + ldr r1, _08035D90 + ldr r2, [r1] + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [r2, 0x30] + str r1, [r2, 0x34] + bx lr + .align 2, 0 +_08035D90: .4byte gUnknown_203B348 + thumb_func_end sub_8035D80 + + thumb_func_start sub_8035D94 +sub_8035D94: + ldr r0, _08035D9C + ldr r0, [r0] + adds r0, 0x30 + bx lr + .align 2, 0 +_08035D9C: .4byte gUnknown_203B348 + thumb_func_end sub_8035D94 + + thumb_func_start sub_8035DA0 +sub_8035DA0: + ldr r2, _08035DB0 + ldr r0, [r2] + adds r0, 0x30 + movs r1, 0 + strb r1, [r0] + ldr r0, [r2] + str r1, [r0, 0x34] + bx lr + .align 2, 0 +_08035DB0: .4byte gUnknown_203B348 + thumb_func_end sub_8035DA0 + + thumb_func_start sub_8035DB4 +sub_8035DB4: + push {lr} + movs r1, 0x8 + subs r0, 0x13 + cmp r0, 0x7 + bhi _08035E0A + lsls r0, 2 + ldr r1, _08035DC8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08035DC8: .4byte _08035DCC + .align 2, 0 +_08035DCC: + .4byte _08035DEC + .4byte _08035DF0 + .4byte _08035DF4 + .4byte _08035DF8 + .4byte _08035DFC + .4byte _08035E00 + .4byte _08035E04 + .4byte _08035E08 +_08035DEC: + movs r1, 0 + b _08035E0A +_08035DF0: + movs r1, 0x1 + b _08035E0A +_08035DF4: + movs r1, 0x2 + b _08035E0A +_08035DF8: + movs r1, 0x3 + b _08035E0A +_08035DFC: + movs r1, 0x4 + b _08035E0A +_08035E00: + movs r1, 0x5 + b _08035E0A +_08035E04: + movs r1, 0x6 + b _08035E0A +_08035E08: + movs r1, 0x7 +_08035E0A: + adds r0, r1, 0 + pop {r1} + bx r1 + thumb_func_end sub_8035DB4 + + thumb_func_start sub_8035E10 +sub_8035E10: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r5, _08035EB8 + ldr r0, [r5] + cmp r0, 0 + bne _08035E34 + movs r4, 0xD4 + lsls r4, 1 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 +_08035E34: + mov r12, r5 + movs r0, 0xA2 + lsls r0, 1 + mov r8, r0 + ldr r4, _08035EBC + movs r3, 0 + movs r2, 0x3 +_08035E42: + mov r5, r12 + ldr r1, [r5] + adds r1, r3 + add r1, r8 + 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 _08035E42 + bl sub_8004914 + ldr r4, _08035EB8 + ldr r0, [r4] + movs r6, 0xA2 + lsls r6, 1 + adds r0, r6 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl sub_803628C + ldr r0, [r4] + movs r7, 0xD2 + lsls r7, 1 + adds r0, r7 + movs r1, 0x1 + negs r1, r1 + str r1, [r0] + bl SetMainMenuType + lsls r0, 24 + cmp r0, 0 + beq _08035E9A + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0x2 + movs r2, 0 + bl sub_8035CF4 +_08035E9A: + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08035EB8: .4byte gUnknown_203B34C +_08035EBC: .4byte gUnknown_80E59C8 + thumb_func_end sub_8035E10 + + thumb_func_start sub_8035EC0 +sub_8035EC0: + push {r4,lr} + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _08035EE8 + ldr r0, [r4] + cmp r0, 0 + beq _08035EE0 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_08035EE0: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08035EE8: .4byte gUnknown_203B34C + thumb_func_end sub_8035EC0 + + thumb_func_start sub_8035EEC +sub_8035EEC: + 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 SetMainMenuType + 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 sub_8004914 + 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 sub_8035EEC + + thumb_func_start SetMainMenuType +SetMainMenuType: + push {r4-r6,lr} + sub sp, 0x10 + ldr r6, _08036048 + ldr r2, [r6] + ldr r0, [r2, 0x8] + movs r3, 0x30 + ldrsh r1, [r2, r3] + lsls r1, 3 + adds r1, r0 + ldr r5, [r1, 0x4] + movs r0, 0xD2 + lsls r0, 1 + adds r1, r2, r0 + ldr r0, [r1] + cmp r0, r5 + bne _0803604C + movs r0, 0 + b _08036226 + .align 2, 0 +_08036048: .4byte gUnknown_203B34C +_0803604C: + str r5, [r1] + movs r4, 0xA2 + lsls r4, 1 + adds r0, r2, r4 + movs r1, 0x2 + bl sub_8035CC0 + ldr r0, [r6] + adds r0, r4 + movs r1, 0x3 + bl sub_8035CC0 + subs r0, r5, 0x3 + cmp r0, 0xD + bls _0803606C + b _08036224 +_0803606C: + lsls r0, 2 + ldr r1, _08036078 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08036078: .4byte _0803607C + .align 2, 0 +_0803607C: + .4byte _08036114 + .4byte _08036224 + .4byte _08036224 + .4byte _080360F4 + .4byte _08036134 + .4byte _08036154 + .4byte _08036224 + .4byte _08036174 + .4byte _08036194 + .4byte _080361B4 + .4byte _080360D4 + .4byte _080361D4 + .4byte _080360B4 + .4byte _08036204 +_080360B4: + ldr r0, _080360C8 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _080360CC + ldr r2, _080360D0 + b _080361E4 + .align 2, 0 +_080360C8: .4byte gUnknown_203B34C +_080360CC: .4byte gUnknown_80E5CB4 +_080360D0: .4byte gUnknown_80E6030 +_080360D4: + ldr r0, _080360E8 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r3, 0xA2 + lsls r3, 1 + adds r1, r3 + ldr r3, _080360EC + ldr r2, _080360F0 + b _080361E4 + .align 2, 0 +_080360E8: .4byte gUnknown_203B34C +_080360EC: .4byte gUnknown_80E5CB4 +_080360F0: .4byte gUnknown_80E5F80 +_080360F4: + ldr r0, _08036108 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _0803610C + ldr r2, _08036110 + b _080361E4 + .align 2, 0 +_08036108: .4byte gUnknown_203B34C +_0803610C: .4byte gUnknown_80E5CB4 +_08036110: .4byte gUnknown_80E5F1C +_08036114: + ldr r0, _08036128 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r3, 0xA2 + lsls r3, 1 + adds r1, r3 + ldr r3, _0803612C + ldr r2, _08036130 + b _080361E4 + .align 2, 0 +_08036128: .4byte gUnknown_203B34C +_0803612C: .4byte gUnknown_80E5CB4 +_08036130: .4byte gUnknown_80E5CCC +_08036134: + ldr r0, _08036148 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _0803614C + ldr r2, _08036150 + b _080361E4 + .align 2, 0 +_08036148: .4byte gUnknown_203B34C +_0803614C: .4byte gUnknown_80E5CB4 +_08036150: .4byte gUnknown_80E5DA0 +_08036154: + ldr r0, _08036168 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r3, 0xA2 + lsls r3, 1 + adds r1, r3 + ldr r3, _0803616C + ldr r2, _08036170 + b _080361E4 + .align 2, 0 +_08036168: .4byte gUnknown_203B34C +_0803616C: .4byte gUnknown_80E5CB4 +_08036170: .4byte gUnknown_80E5DF0 +_08036174: + ldr r0, _08036188 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _0803618C + ldr r2, _08036190 + b _080361E4 + .align 2, 0 +_08036188: .4byte gUnknown_203B34C +_0803618C: .4byte gUnknown_80E5CB4 +_08036190: .4byte gUnknown_80E5D0C +_08036194: + ldr r0, _080361A8 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r3, 0xA2 + lsls r3, 1 + adds r1, r3 + ldr r3, _080361AC + ldr r2, _080361B0 + b _080361E4 + .align 2, 0 +_080361A8: .4byte gUnknown_203B34C +_080361AC: .4byte gUnknown_80E5CB4 +_080361B0: .4byte gUnknown_80E5E5C +_080361B4: + ldr r0, _080361C8 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _080361CC + ldr r2, _080361D0 + b _080361E4 + .align 2, 0 +_080361C8: .4byte gUnknown_203B34C +_080361CC: .4byte gUnknown_80E5CB4 +_080361D0: .4byte gUnknown_80E5EBC +_080361D4: + ldr r0, _080361F8 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r3, 0xA2 + lsls r3, 1 + adds r1, r3 + ldr r3, _080361FC + ldr r2, _08036200 +_080361E4: + str r2, [sp] + movs r2, 0 + str r2, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + movs r2, 0x2 + bl SetMenuItems + b _08036224 + .align 2, 0 +_080361F8: .4byte gUnknown_203B34C +_080361FC: .4byte gUnknown_80E5CB4 +_08036200: .4byte gUnknown_80E5FCC +_08036204: + ldr r0, _08036230 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _08036234 + ldr r2, _08036238 + str r2, [sp] + movs r2, 0 + str r2, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + movs r2, 0x2 + bl SetMenuItems +_08036224: + movs r0, 0x1 +_08036226: + add sp, 0x10 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08036230: .4byte gUnknown_203B34C +_08036234: .4byte gUnknown_80E5CB4 +_08036238: .4byte gUnknown_80E5D48 + thumb_func_end SetMainMenuType + + thumb_func_start sub_803623C +sub_803623C: + push {r4,lr} + ldr r4, _08036288 + ldr r0, [r4] + movs r1, 0xA2 + lsls r1, 1 + adds r0, r1 + movs r1, 0x1 + bl sub_8035CC0 + bl sub_803628C + ldr r0, [r4] + movs r1, 0xD2 + lsls r1, 1 + adds r0, r1 + movs r1, 0x1 + negs r1, r1 + str r1, [r0] + bl SetMainMenuType + lsls r0, 24 + cmp r0, 0 + beq _08036276 + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0x2 + movs r2, 0 + bl sub_8035CF4 +_08036276: + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08036288: .4byte gUnknown_203B34C + thumb_func_end sub_803623C + + thumb_func_start sub_803628C +sub_803628C: + push {r4,lr} + sub sp, 0x10 + bl sub_8011C34 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _0803629E + b _080363A4 +_0803629E: + movs r0, 0x1 + bl sub_8095324 + cmp r0, 0 + bne _08036344 + movs r0, 0x7 + bl sub_8095324 + cmp r0, 0 + beq _080362FC + bl sub_803D0D8 + lsls r0, 24 + cmp r0, 0 + beq _080362DC + ldr r0, _080362D0 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _080362D4 + ldr r2, _080362D8 + b _0803637C + .align 2, 0 +_080362D0: .4byte gUnknown_203B34C +_080362D4: .4byte gUnknown_80E5A78 +_080362D8: .4byte gUnknown_80E5C18 +_080362DC: + ldr r0, _080362F0 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _080362F4 + ldr r2, _080362F8 + b _0803637C + .align 2, 0 +_080362F0: .4byte gUnknown_203B34C +_080362F4: .4byte gUnknown_80E5BC4 +_080362F8: .4byte gUnknown_80E5BDC +_080362FC: + bl sub_803D0D8 + lsls r0, 24 + cmp r0, 0 + beq _08036324 + ldr r0, _08036318 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _0803631C + ldr r2, _08036320 + b _0803637C + .align 2, 0 +_08036318: .4byte gUnknown_203B34C +_0803631C: .4byte gUnknown_80E5A78 +_08036320: .4byte gUnknown_80E5AFC +_08036324: + ldr r0, _08036338 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _0803633C + ldr r2, _08036340 + b _0803637C + .align 2, 0 +_08036338: .4byte gUnknown_203B34C +_0803633C: .4byte gUnknown_80E5A60 +_08036340: .4byte gUnknown_80E5A90 +_08036344: + bl sub_803D0D8 + lsls r0, 24 + cmp r0, 0 + beq _0803636C + ldr r0, _08036360 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _08036364 + ldr r2, _08036368 + b _0803637C + .align 2, 0 +_08036360: .4byte gUnknown_203B34C +_08036364: .4byte gUnknown_80E5A78 +_08036368: .4byte gUnknown_80E5B8C +_0803636C: + ldr r0, _08036394 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _08036398 + ldr r2, _0803639C +_0803637C: + str r2, [sp] + movs r4, 0x1 + str r4, [sp, 0x4] + ldr r2, _080363A0 + ldr r2, [r2] + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + b _080363C8 + .align 2, 0 +_08036394: .4byte gUnknown_203B34C +_08036398: .4byte gUnknown_80E5B34 +_0803639C: .4byte gUnknown_80E5B4C +_080363A0: .4byte gUnknown_203B350 +_080363A4: + ldr r0, _080363D0 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _080363D4 + ldr r2, _080363D8 + str r2, [sp] + movs r4, 0x1 + str r4, [sp, 0x4] + ldr r2, _080363DC + ldr r2, [r2] + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems +_080363C8: + add sp, 0x10 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080363D0: .4byte gUnknown_203B34C +_080363D4: .4byte gUnknown_80E59E0 +_080363D8: .4byte gUnknown_80E59F8 +_080363DC: .4byte gUnknown_203B350 + thumb_func_end sub_803628C + + thumb_func_start sub_80363E0 +sub_80363E0: + push {lr} + ldr r0, _080363F4 + ldr r0, [r0] + cmp r0, 0 + beq _080363F8 + ldr r0, [r0] + cmp r0, 0xC + beq _080363F8 + movs r0, 0x1 + b _080363FA + .align 2, 0 +_080363F4: .4byte gUnknown_203B34C +_080363F8: + movs r0, 0 +_080363FA: + pop {r1} + bx r1 + thumb_func_end sub_80363E0 + + thumb_func_start sub_8036400 +sub_8036400: + push {r4,r5,lr} + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r5, _08036444 + movs r4, 0xE8 + lsls r4, 2 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 + bl sub_8035C1C + bl sub_8035DA0 + ldr r1, [r5] + movs r0, 0x13 + str r0, [r1, 0x4] + movs r0, 0 + bl sub_8036FC4 + movs r0, 0x1 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08036444: .4byte gUnknown_203B358 + thumb_func_end sub_8036400 + + thumb_func_start sub_8036448 +sub_8036448: + push {lr} + ldr r0, _08036460 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x12 + bhi _08036524 + lsls r0, 2 + ldr r1, _08036464 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08036460: .4byte gUnknown_203B358 +_08036464: .4byte _08036468 + .align 2, 0 +_08036468: + .4byte _080364B4 + .4byte _080364BA + .4byte _080364C0 + .4byte _080364C6 + .4byte _080364D2 + .4byte _080364CC + .4byte _080364D8 + .4byte _080364DE + .4byte _080364E4 + .4byte _080364F0 + .4byte _080364F6 + .4byte _080364FC + .4byte _08036502 + .4byte _08036514 + .4byte _08036508 + .4byte _080364EA + .4byte _0803650E + .4byte _0803651A + .4byte _08036520 +_080364B4: + bl sub_803652C + b _08036524 +_080364BA: + bl sub_8036590 + b _08036524 +_080364C0: + bl sub_80365AC + b _08036524 +_080364C6: + bl sub_8036674 + b _08036524 +_080364CC: + bl sub_8036728 + b _08036524 +_080364D2: + bl sub_8036788 + b _08036524 +_080364D8: + bl sub_8036830 + b _08036524 +_080364DE: + bl sub_803689C + b _08036524 +_080364E4: + bl sub_80368D4 + b _08036524 +_080364EA: + bl sub_8036A7C + b _08036524 +_080364F0: + bl sub_8036934 + b _08036524 +_080364F6: + bl sub_8036950 + b _08036524 +_080364FC: + bl sub_8036AA4 + b _08036524 +_08036502: + bl sub_80369FC + b _08036524 +_08036508: + bl sub_8036A34 + b _08036524 +_0803650E: + bl sub_8036A54 + b _08036524 +_08036514: + bl sub_8036A18 + b _08036524 +_0803651A: + bl sub_8036ADC + b _08036524 +_08036520: + movs r0, 0x3 + b _08036526 +_08036524: + movs r0, 0 +_08036526: + pop {r1} + bx r1 + thumb_func_end sub_8036448 + + thumb_func_start sub_803652C +sub_803652C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + adds r1, r0, 0 + cmp r1, 0 + bne _0803658A + ldr r2, [sp] + cmp r2, 0x1 + beq _08036556 + cmp r2, 0x1 + bgt _0803654C + cmp r2, 0 + beq _08036584 + b _0803658A +_0803654C: + cmp r2, 0x2 + beq _0803656C + cmp r2, 0x7 + beq _08036584 + b _0803658A +_08036556: + ldr r0, _08036568 + ldr r0, [r0] + str r1, [r0, 0x8] + str r2, [r0, 0x10] + movs r0, 0x1 + bl sub_8036FC4 + b _0803658A + .align 2, 0 +_08036568: .4byte gUnknown_203B358 +_0803656C: + ldr r0, _08036580 + ldr r1, [r0] + movs r0, 0x1 + str r0, [r1, 0x8] + str r2, [r1, 0x10] + movs r0, 0x7 + bl sub_8036FC4 + b _0803658A + .align 2, 0 +_08036580: .4byte gUnknown_203B358 +_08036584: + movs r0, 0x12 + bl sub_8036FC4 +_0803658A: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_803652C + + thumb_func_start sub_8036590 +sub_8036590: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080365A4 + movs r0, 0x2 + bl sub_8036FC4 +_080365A4: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036590 + + thumb_func_start sub_80365AC +sub_80365AC: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r4, _080365E8 + ldr r0, [r4] + ldr r7, _080365EC + adds r0, r7 + movs r1, 0 + strb r1, [r0] + ldr r0, [r4] + ldr r6, _080365F0 + adds r0, r6 + movs r5, 0x1 + strb r5, [r0] + ldr r0, [r4] + movs r2, 0x97 + lsls r2, 2 + mov r8, r2 + add r0, r8 + strb r1, [r0] + movs r0, 0x1 + bl sub_801CA08 + cmp r0, 0x3 + beq _08036606 + cmp r0, 0x3 + bhi _080365F4 + cmp r0, 0x2 + beq _080365FA + b _0803666A + .align 2, 0 +_080365E8: .4byte gUnknown_203B358 +_080365EC: .4byte 0x0000025e +_080365F0: .4byte 0x0000025d +_080365F4: + cmp r0, 0x4 + beq _0803662C + b _0803666A +_080365FA: + bl sub_801CBB8 + movs r0, 0 + bl sub_8036FC4 + b _0803666A +_08036606: + bl sub_801CB24 + ldr r1, [r4] + ldr r2, _08036624 + adds r1, r2 + strb r0, [r1] + ldr r0, [r4] + ldr r1, _08036628 + adds r0, r1 + strb r5, [r0] + movs r0, 0x3 + bl sub_8036FC4 + b _0803666A + .align 2, 0 +_08036624: .4byte 0x0000025e +_08036628: .4byte 0x0000025d +_0803662C: + ldr r1, [r4] + movs r0, 0x2 + str r0, [r1, 0x4] + bl sub_801CB24 + ldr r1, [r4] + adds r1, r7 + strb r0, [r1] + ldr r0, [r4] + adds r0, r6 + strb r5, [r0] + ldr r0, [r4] + movs r2, 0xF2 + lsls r2, 1 + adds r0, r2 + bl sub_8006518 + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + add r0, r8 + bl sub_801B3C0 + movs r0, 0x5 + bl sub_8036FC4 +_0803666A: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80365AC + + thumb_func_start sub_8036674 +sub_8036674: + push {r4,lr} + sub sp, 0x4 + movs r0, 0x1 + negs r0, r0 + str r0, [sp] + movs r0, 0 + bl sub_801CA08 + ldr r4, _080366B8 + ldr r0, [r4] + movs r1, 0x9A + lsls r1, 1 + adds r0, r1 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _080366A6 + ldr r0, [r4] + movs r1, 0x9A + lsls r1, 1 + adds r0, r1 + mov r1, sp + bl sub_8013114 +_080366A6: + ldr r0, [sp] + cmp r0, 0x3 + beq _080366C6 + cmp r0, 0x3 + bgt _080366BC + cmp r0, 0 + beq _08036700 + b _0803671A + .align 2, 0 +_080366B8: .4byte gUnknown_203B358 +_080366BC: + cmp r0, 0x4 + beq _080366CE + cmp r0, 0x7 + beq _08036700 + b _0803671A +_080366C6: + movs r0, 0x4 + bl sub_8036FC4 + b _0803671A +_080366CE: + ldr r0, [r4] + movs r1, 0x13 + str r1, [r0, 0x4] + movs r1, 0xF2 + lsls r1, 1 + adds r0, r1 + bl sub_8006518 + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + movs r1, 0x97 + lsls r1, 2 + adds r0, r1 + bl sub_801B3C0 + movs r0, 0x5 + bl sub_8036FC4 + b _0803671A +_08036700: + ldr r0, _08036724 + ldr r0, [r0] + movs r1, 0xC2 + lsls r1, 1 + adds r0, r1 + movs r1, 0x3 + bl sub_8035CC0 + bl sub_801CCD8 + movs r0, 0x2 + bl sub_8036FC4 +_0803671A: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08036724: .4byte gUnknown_203B358 + thumb_func_end sub_8036674 + + thumb_func_start sub_8036728 +sub_8036728: + push {r4,lr} + bl sub_801B410 + cmp r0, 0x1 + beq _08036780 + cmp r0, 0x1 + bcc _08036780 + cmp r0, 0x3 + bhi _08036780 + bl sub_801B450 + bl sub_8004914 + ldr r4, _08036778 + ldr r0, [r4] + movs r1, 0xF2 + lsls r1, 1 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1 + bl sub_801CB5C + ldr r4, [r4] + ldr r0, [r4, 0x4] + cmp r0, 0x13 + bne _0803677C + adds r0, r4, 0 + adds r0, 0x44 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x3 + bl sub_8036FC4 + b _08036780 + .align 2, 0 +_08036778: .4byte gUnknown_203B358 +_0803677C: + bl sub_8036FC4 +_08036780: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8036728 + + thumb_func_start sub_8036788 +sub_8036788: + push {r4,lr} + ldr r4, _080367B8 + ldr r0, [r4] + movs r1, 0x9A + lsls r1, 1 + adds r0, r1 + bl sub_8012FD8 + movs r0, 0 + bl sub_801CA08 + ldr r0, [r4] + adds r0, 0x14 + bl sub_8013BBC + cmp r0, 0x1 + beq _080367BC + cmp r0, 0x1 + bcc _08036824 + cmp r0, 0x2 + beq _080367D2 + cmp r0, 0x3 + beq _080367F8 + b _08036824 + .align 2, 0 +_080367B8: .4byte gUnknown_203B358 +_080367BC: + bl sub_801CCD8 + ldr r0, [r4] + adds r0, 0x44 + movs r1, 0x3 + movs r2, 0 + bl sub_8035CF4 + bl sub_8036F30 + b _08036824 +_080367D2: + ldr r0, [r4] + movs r2, 0xC2 + lsls r2, 1 + adds r0, r2 + movs r1, 0x2 + bl sub_8035CC0 + bl sub_801CCD8 + ldr r0, [r4] + adds r0, 0x44 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x3 + bl sub_8036FC4 + b _08036824 +_080367F8: + ldr r0, [r4] + ldr r1, [r0, 0x14] + ldr r2, _0803682C + adds r0, r2 + strb r1, [r0] + ldr r0, [r4] + adds r2, 0x1 + adds r1, r0, r2 + ldrb r1, [r1] + subs r2, 0xA + adds r0, r2 + strb r1, [r0] + ldr r0, [r4] + adds r2, 0x4 + adds r1, r0, r2 + ldr r0, [r0, 0x14] + str r0, [r1] + bl sub_801CBB8 + movs r0, 0x6 + bl sub_8036FC4 +_08036824: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803682C: .4byte 0x0000025d + thumb_func_end sub_8036788 + + thumb_func_start sub_8036830 +sub_8036830: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036896 + ldr r0, [sp] + cmp r0, 0x5 + beq _08036854 + cmp r0, 0x5 + bgt _0803684E + cmp r0, 0 + beq _08036890 + b _08036896 +_0803684E: + cmp r0, 0x6 + beq _08036890 + b _08036896 +_08036854: + bl sub_801CBB8 + ldr r0, _08036884 + ldr r2, [r0] + ldr r0, _08036888 + ldr r1, [r0] + ldr r3, _0803688C + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, 1 + adds r2, 0x50 + adds r2, r0 + ldrh r0, [r2] + ldr r1, [r1, 0x14] + subs r0, r1 + strh r0, [r2] + movs r0, 0xF + bl sub_8036FC4 + movs r0, 0 + bl sub_8012574 + b _08036896 + .align 2, 0 +_08036884: .4byte gUnknown_203B460 +_08036888: .4byte gUnknown_203B358 +_0803688C: .4byte 0x0000025e +_08036890: + movs r0, 0 + bl sub_8036FC4 +_08036896: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036830 + + thumb_func_start sub_803689C +sub_803689C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080368CE + ldr r0, [sp] + cmp r0, 0x5 + beq _080368C0 + cmp r0, 0x5 + bgt _080368BA + cmp r0, 0 + beq _080368C8 + b _080368CE +_080368BA: + cmp r0, 0x7 + beq _080368C8 + b _080368CE +_080368C0: + movs r0, 0x9 + bl sub_8036FC4 + b _080368CE +_080368C8: + movs r0, 0x12 + bl sub_8036FC4 +_080368CE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_803689C + + thumb_func_start sub_80368D4 +sub_80368D4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803692A + ldr r0, [sp] + cmp r0, 0x5 + beq _080368F8 + cmp r0, 0x5 + bgt _080368F2 + cmp r0, 0 + beq _08036900 + b _0803692A +_080368F2: + cmp r0, 0x7 + beq _08036900 + b _0803692A +_080368F8: + movs r0, 0x9 + bl sub_8036FC4 + b _0803692A +_08036900: + ldr r0, _08036930 + ldr r1, [r0] + movs r2, 0x95 + lsls r2, 2 + adds r0, r1, r2 + ldrb r0, [r0] + cmp r0, 0 + beq _0803692A + adds r2, 0x4 + adds r0, r1, r2 + ldr r0, [r0] + cmp r0, 0 + beq _0803692A + bl sub_80369D0 + movs r0, 0x11 + bl sub_8036FC4 + movs r0, 0 + bl sub_8012574 +_0803692A: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_08036930: .4byte gUnknown_203B358 + thumb_func_end sub_80368D4 + + thumb_func_start sub_8036934 +sub_8036934: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036948 + movs r0, 0xA + bl sub_8036FC4 +_08036948: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036934 + + thumb_func_start sub_8036950 +sub_8036950: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080369C8 + ldr r0, _08036978 + ldr r2, [r0] + ldr r1, [r2, 0xC] + adds r3, r0, 0 + cmp r1, 0 + bne _0803698C + ldr r0, [r2, 0x8] + cmp r0, 0 + beq _0803697C + cmp r0, 0x1 + beq _08036984 + b _080369C8 + .align 2, 0 +_08036978: .4byte gUnknown_203B358 +_0803697C: + movs r0, 0xD + bl sub_8036FC4 + b _080369C8 +_08036984: + movs r0, 0xE + bl sub_8036FC4 + b _080369C8 +_0803698C: + ldr r0, [r2, 0x8] + cmp r0, 0 + bne _080369BA + movs r1, 0x95 + lsls r1, 2 + adds r0, r2, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _080369BA + adds r1, 0x4 + adds r0, r2, r1 + ldr r0, [r0] + cmp r0, 0 + beq _080369BA + bl sub_80369D0 + movs r0, 0xB + bl sub_8036FC4 + movs r0, 0 + bl sub_8012574 + b _080369C8 +_080369BA: + ldr r0, [r3] + ldr r0, [r0, 0xC] + bl sub_8036E18 + movs r0, 0xC + bl sub_8036FC4 +_080369C8: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036950 + + thumb_func_start sub_80369D0 +sub_80369D0: + ldr r0, _080369F4 + ldr r2, [r0] + ldr r0, _080369F8 + ldr r1, [r0] + movs r3, 0x95 + lsls r3, 2 + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, 1 + adds r2, 0x50 + adds r2, r0 + ldrh r0, [r2] + adds r3, 0x4 + adds r1, r3 + ldr r1, [r1] + adds r0, r1 + strh r0, [r2] + bx lr + .align 2, 0 +_080369F4: .4byte gUnknown_203B460 +_080369F8: .4byte gUnknown_203B358 + thumb_func_end sub_80369D0 + + thumb_func_start sub_80369FC +sub_80369FC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036A10 + movs r0, 0 + bl sub_8036FC4 +_08036A10: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80369FC + + thumb_func_start sub_8036A18 +sub_8036A18: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036A2C + movs r0, 0x12 + bl sub_8036FC4 +_08036A2C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036A18 + + thumb_func_start sub_8036A34 +sub_8036A34: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036A4E + movs r0, 0x10 + bl sub_8036FC4 + movs r0, 0 + bl sub_8012574 +_08036A4E: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036A34 + + thumb_func_start sub_8036A54 +sub_8036A54: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036A76 + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08036A76 + bl sub_8012750 + movs r0, 0x12 + bl sub_8036FC4 +_08036A76: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036A54 + + thumb_func_start sub_8036A7C +sub_8036A7C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036A9E + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08036A9E + bl sub_8012750 + movs r0, 0x8 + bl sub_8036FC4 +_08036A9E: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036A7C + + thumb_func_start sub_8036AA4 +sub_8036AA4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036AD0 + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08036AD0 + bl sub_8012750 + ldr r0, _08036AD8 + ldr r0, [r0] + ldr r0, [r0, 0xC] + bl sub_8036E18 + movs r0, 0xC + bl sub_8036FC4 +_08036AD0: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_08036AD8: .4byte gUnknown_203B358 + thumb_func_end sub_8036AA4 + + thumb_func_start sub_8036ADC +sub_8036ADC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036AFE + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08036AFE + bl sub_8012750 + movs r0, 0x12 + bl sub_8036FC4 +_08036AFE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036ADC + + thumb_func_start sub_8036B04 +sub_8036B04: + push {r4,lr} + ldr r4, _08036B20 + ldr r0, [r4] + cmp r0, 0 + beq _08036B1A + bl MemoryFree + movs r0, 0 + str r0, [r4] + bl sub_801CBB8 +_08036B1A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08036B20: .4byte gUnknown_203B358 + thumb_func_end sub_8036B04 + + thumb_func_start nullsub_52 +nullsub_52: + bx lr + thumb_func_end nullsub_52 + + thumb_func_start sub_8036B28 +sub_8036B28: + push {r4,r5,lr} + sub sp, 0x18 + ldr r1, _08036B44 + ldr r0, [r1] + ldr r0, [r0] + adds r5, r1, 0 + cmp r0, 0x12 + bls _08036B3A + b _08036DFA +_08036B3A: + lsls r0, 2 + ldr r1, _08036B48 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08036B44: .4byte gUnknown_203B358 +_08036B48: .4byte _08036B4C + .align 2, 0 +_08036B4C: + .4byte _08036B98 + .4byte _08036BDC + .4byte _08036BE4 + .4byte _08036C14 + .4byte _08036C58 + .4byte _08036DFA + .4byte _08036C5E + .4byte _08036C90 + .4byte _08036C98 + .4byte _08036CC0 + .4byte _08036CD8 + .4byte _08036DFA + .4byte _08036DFA + .4byte _08036DD8 + .4byte _08036D70 + .4byte _08036DFA + .4byte _08036DFA + .4byte _08036DFA + .4byte _08036DFA +_08036B98: + movs r0, 0 + bl sub_801CF14 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0 + beq _08036BB8 + ldr r0, _08036BB0 + ldr r3, _08036BB4 + movs r2, 0 + b _08036BBC + .align 2, 0 +_08036BB0: .4byte gUnknown_80E61A4 +_08036BB4: .4byte gUnknown_80E60D4 +_08036BB8: + ldr r0, _08036BD4 + ldr r3, _08036BD8 +_08036BBC: + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x1 + bl sub_8014248 + b _08036DFA + .align 2, 0 +_08036BD4: .4byte gUnknown_80E61A4 +_08036BD8: .4byte gUnknown_80E60A0 +_08036BDC: + ldr r0, _08036BE0 + b _08036DBA + .align 2, 0 +_08036BE0: .4byte gUnknown_80E61C0 +_08036BE4: + bl sub_801D008 + cmp r0, 0 + beq _08036BEE + b _08036DFA +_08036BEE: + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, _08036C10 + str r0, [sp, 0x14] + movs r0, 0 + movs r1, 0x1 + add r2, sp, 0x14 + movs r3, 0x9 + bl sub_801C8C4 + b _08036DFA + .align 2, 0 +_08036C10: .4byte 0x00020003 +_08036C14: + ldr r0, [r5] + movs r4, 0xC2 + lsls r4, 1 + adds r0, r4 + bl sub_8006518 + ldr r1, [r5] + adds r0, r1, 0 + adds r0, 0x44 + adds r1, r4 + ldr r3, _08036C50 + ldr r2, _08036C54 + 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_801CCD8 + ldr r0, [r5] + adds r0, 0x44 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + b _08036DFA + .align 2, 0 +_08036C50: .4byte gUnknown_80E60EC +_08036C54: .4byte gUnknown_80E6104 +_08036C58: + bl sub_8036F74 + b _08036DFA +_08036C5E: + ldr r2, _08036C7C + ldr r1, [r5] + ldr r0, [r1, 0x14] + str r0, [r2] + ldr r0, _08036C80 + ldr r2, _08036C84 + adds r1, r2 + ldrb r1, [r1] + movs r2, 0 + bl sub_8090DC4 + ldr r0, _08036C88 + ldr r3, _08036C8C + b _08036C9C + .align 2, 0 +_08036C7C: .4byte gUnknown_202DE30 +_08036C80: .4byte gUnknown_202DE58 +_08036C84: .4byte 0x0000025e +_08036C88: .4byte gUnknown_80E61E4 +_08036C8C: .4byte gUnknown_80E6154 +_08036C90: + ldr r0, _08036C94 + b _08036C9A + .align 2, 0 +_08036C94: .4byte gUnknown_80E6214 +_08036C98: + ldr r0, _08036CB8 +_08036C9A: + ldr r3, _08036CBC +_08036C9C: + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x5 + bl sub_8014248 + b _08036DFA + .align 2, 0 +_08036CB8: .4byte gUnknown_80E6268 +_08036CBC: .4byte gUnknown_80E618C +_08036CC0: + movs r0, 0 + bl nullsub_23 + ldr r0, _08036CD4 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl sub_80141B4 + b _08036DFA + .align 2, 0 +_08036CD4: .4byte gUnknown_80E62C4 +_08036CD8: + ldr r4, _08036D18 + ldr r1, [r4] + movs r0, 0 + str r0, [r1, 0xC] + movs r2, 0 + movs r3, 0 + movs r5, 0x91 + lsls r5, 2 + adds r0, r1, r5 + str r2, [r0] + str r3, [r0, 0x4] + movs r0, 0x93 + lsls r0, 2 + adds r1, r0 + str r2, [r1] + str r3, [r1, 0x4] + bl sub_8011830 + ldr r0, [r4] + ldr r0, [r0, 0x8] + bl sub_8037B28 + ldr r4, [r4] + str r0, [r4, 0xC] + cmp r0, 0 + bne _08036D44 + ldr r0, [r4, 0x8] + cmp r0, 0 + beq _08036D1C + cmp r0, 0x1 + beq _08036D2C + b _08036D44 + .align 2, 0 +_08036D18: .4byte gUnknown_203B358 +_08036D1C: + adds r2, r4, r5 + movs r1, 0x95 + lsls r1, 2 + adds r0, r4, r1 + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [r2] + str r1, [r2, 0x4] +_08036D2C: + ldr r4, _08036D6C + ldr r2, [r4] + ldr r0, [r2, 0x8] + movs r3, 0x91 + lsls r3, 2 + adds r1, r2, r3 + adds r3, 0x8 + adds r2, r3 + bl sub_8037D64 + ldr r1, [r4] + str r0, [r1, 0xC] +_08036D44: + ldr r4, _08036D6C + ldr r2, [r4] + ldr r0, [r2, 0xC] + cmp r0, 0 + bne _08036D66 + ldr r0, [r2, 0x8] + cmp r0, 0x1 + bhi _08036D66 + movs r3, 0x91 + lsls r3, 2 + adds r1, r2, r3 + adds r3, 0x8 + adds r2, r3 + bl sub_80381F4 + ldr r1, [r4] + str r0, [r1, 0xC] +_08036D66: + bl sub_8011854 + b _08036DFA + .align 2, 0 +_08036D6C: .4byte gUnknown_203B358 +_08036D70: + ldr r2, [r5] + movs r1, 0x94 + lsls r1, 2 + adds r0, r2, r1 + ldr r1, [r0] + cmp r1, 0 + bne _08036DA4 + ldr r1, _08036D9C + movs r3, 0x92 + lsls r3, 2 + adds r0, r2, r3 + ldr r0, [r0] + str r0, [r1] + ldr r0, _08036DA0 + subs r3, 0x4 + adds r1, r2, r3 + ldrb r1, [r1] + movs r2, 0 + bl sub_8090DC4 + b _08036DB8 + .align 2, 0 +_08036D9C: .4byte gUnknown_202DE30 +_08036DA0: .4byte gUnknown_202DE58 +_08036DA4: + ldr r0, _08036DC8 + str r1, [r0] + ldr r0, _08036DCC + movs r3, 0x93 + lsls r3, 2 + adds r1, r2, r3 + ldrb r1, [r1] + movs r2, 0 + bl sub_8090DC4 +_08036DB8: + ldr r0, _08036DD0 +_08036DBA: + ldr r3, _08036DD4 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + b _08036DFA + .align 2, 0 +_08036DC8: .4byte gUnknown_202DE30 +_08036DCC: .4byte gUnknown_202DE58 +_08036DD0: .4byte gUnknown_80E6314 +_08036DD4: .4byte 0x00000101 +_08036DD8: + ldr r2, _08036E04 + ldr r1, [r5] + ldr r0, [r1, 0x14] + str r0, [r2] + ldr r0, _08036E08 + ldr r2, _08036E0C + adds r1, r2 + ldrb r1, [r1] + movs r2, 0 + bl sub_8090DC4 + ldr r0, _08036E10 + ldr r3, _08036E14 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 +_08036DFA: + add sp, 0x18 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08036E04: .4byte gUnknown_202DE30 +_08036E08: .4byte gUnknown_202DE58 +_08036E0C: .4byte 0x0000025e +_08036E10: .4byte gUnknown_80E6358 +_08036E14: .4byte 0x00000101 + thumb_func_end sub_8036B28 + + thumb_func_start sub_8036E18 +sub_8036E18: + push {lr} + cmp r0, 0xF + bhi _08036EB4 + lsls r0, 2 + ldr r1, _08036E28 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08036E28: .4byte _08036E2C + .align 2, 0 +_08036E2C: + .4byte _08036EC0 + .4byte _08036E6C + .4byte _08036E7C + .4byte _08036E74 + .4byte _08036E84 + .4byte _08036E8C + .4byte _08036EB4 + .4byte _08036EB4 + .4byte _08036EB4 + .4byte _08036EB4 + .4byte _08036EB4 + .4byte _08036EB4 + .4byte _08036EB4 + .4byte _08036EB4 + .4byte _08036E94 + .4byte _08036E9C +_08036E6C: + ldr r0, _08036E70 + b _08036E9E + .align 2, 0 +_08036E70: .4byte gUnknown_80E6378 +_08036E74: + ldr r0, _08036E78 + b _08036E9E + .align 2, 0 +_08036E78: .4byte gUnknown_80E639C +_08036E7C: + ldr r0, _08036E80 + b _08036E9E + .align 2, 0 +_08036E80: .4byte gUnknown_80E63F8 +_08036E84: + ldr r0, _08036E88 + b _08036E9E + .align 2, 0 +_08036E88: .4byte gUnknown_80E6448 +_08036E8C: + ldr r0, _08036E90 + b _08036E9E + .align 2, 0 +_08036E90: .4byte gUnknown_80E6378 +_08036E94: + ldr r0, _08036E98 + b _08036E9E + .align 2, 0 +_08036E98: .4byte gUnknown_80E6378 +_08036E9C: + ldr r0, _08036EAC +_08036E9E: + ldr r3, _08036EB0 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + b _08036EC0 + .align 2, 0 +_08036EAC: .4byte gUnknown_80E64AC +_08036EB0: .4byte 0x00000101 +_08036EB4: + ldr r0, _08036EC4 + ldr r3, _08036EC8 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 +_08036EC0: + pop {r0} + bx r0 + .align 2, 0 +_08036EC4: .4byte gUnknown_80E6378 +_08036EC8: .4byte 0x00000101 + thumb_func_end sub_8036E18 + + thumb_func_start sub_8036ECC +sub_8036ECC: + push {r4-r6,lr} + adds r3, r0, 0 + ldr r6, _08036F28 + ldr r0, [r6] + movs r2, 0x3 + str r2, [r0, 0x24] + movs r2, 0x1 + str r2, [r0, 0x18] + str r2, [r0, 0x1C] + str r1, [r0, 0x20] + movs r1, 0x2C + str r1, [r0, 0x30] + movs r1, 0x12 + str r1, [r0, 0x34] + str r3, [r0, 0x28] + lsls r4, r3, 1 + adds r4, r3 + lsls r4, 3 + movs r5, 0xC2 + lsls r5, 1 + adds r1, r4, r5 + adds r1, r0, r1 + str r1, [r0, 0x2C] + adds r0, 0x14 + bl sub_8013AA0 + ldr r1, [r6] + adds r1, r4 + adds r1, r5 + ldr r0, _08036F2C + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + bl sub_8004914 + ldr r0, [r6] + adds r0, r5 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08036F28: .4byte gUnknown_203B358 +_08036F2C: .4byte gUnknown_80E6174 + thumb_func_end sub_8036ECC + + thumb_func_start sub_8036F30 +sub_8036F30: + push {r4,r5,lr} + sub sp, 0x4 + ldr r5, _08036F6C + ldr r0, [r5] + ldr r4, [r0, 0x28] + adds r0, r4, 0 + bl sub_8008C54 + adds r0, r4, 0 + bl sub_80073B8 + ldr r2, _08036F70 + movs r0, 0 + str r0, [sp] + movs r0, 0x2 + movs r1, 0 + adds r3, r4, 0 + bl xxx_call_draw_string + ldr r0, [r5] + adds r0, 0x14 + bl sub_8013C68 + adds r0, r4, 0 + bl sub_80073E0 + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08036F6C: .4byte gUnknown_203B358 +_08036F70: .4byte gUnknown_80E6528 + thumb_func_end sub_8036F30 + + thumb_func_start sub_8036F74 +sub_8036F74: + push {r4,lr} + ldr r4, _08036FB8 + ldr r0, [r4] + movs r1, 0xC2 + lsls r1, 1 + adds r0, r1 + bl sub_8006518 + ldr r0, _08036FBC + ldr r1, [r0] + ldr r0, [r4] + ldr r2, _08036FC0 + adds r0, r2 + ldrb r0, [r0] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r1, [r1] + movs r0, 0x2 + bl sub_8036ECC + bl sub_801CCD8 + ldr r0, [r4] + adds r0, 0x44 + movs r1, 0x3 + movs r2, 0 + bl sub_8035CF4 + bl sub_8036F30 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08036FB8: .4byte gUnknown_203B358 +_08036FBC: .4byte gUnknown_203B460 +_08036FC0: .4byte 0x0000025e + thumb_func_end sub_8036F74 + + thumb_func_start sub_8036FC4 +sub_8036FC4: + push {lr} + ldr r1, _08036FD8 + ldr r1, [r1] + str r0, [r1] + bl nullsub_52 + bl sub_8036B28 + pop {r0} + bx r0 + .align 2, 0 +_08036FD8: .4byte gUnknown_203B358 + thumb_func_end sub_8036FC4 + + thumb_func_start sub_8036FDC +sub_8036FDC: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x10 + adds r6, r0, 0 + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0 + bl ResetSprites + ldr r5, _080370C0 + ldr r0, [r5] + cmp r0, 0 + bne _08037016 + ldr r4, _080370C4 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 +_08037016: + ldr r0, [r5] + str r6, [r0] + movs r1, 0 + str r1, [r0, 0x4] + str r1, [r0, 0x8] + movs r3, 0 + adds r7, r5, 0 + movs r6, 0xE0 + lsls r6, 1 + movs r4, 0 + movs r5, 0xDE + lsls r5, 1 +_0803702E: + ldr r0, [r7] + lsls r2, r3, 3 + adds r1, r0, r6 + adds r1, r2 + str r4, [r1] + adds r0, r2 + adds r0, r5 + strb r4, [r0] + adds r3, 0x1 + cmp r3, 0x1 + ble _0803702E + ldr r0, _080370C0 + mov r12, r0 + movs r5, 0xAE + lsls r5, 1 + mov r8, r5 + ldr r4, _080370C8 + movs r3, 0 + movs r2, 0x3 +_08037054: + mov r6, r12 + ldr r1, [r6] + adds r1, r3 + add r1, r8 + 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 _08037054 + movs r6, 0 + bl sub_8004914 + ldr r5, _080370C0 + ldr r0, [r5] + movs r4, 0xAE + lsls r4, 1 + adds r0, r4 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r1, [r5] + adds r0, r1, 0 + adds r0, 0x1C + adds r1, r4 + ldr r3, _080370CC + ldr r2, _080370D0 + str r2, [sp] + str r6, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r6, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + ldr r0, [r5] + adds r0, 0x1C + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + bl sub_80376CC + add sp, 0x10 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080370C0: .4byte gUnknown_203B35C +_080370C4: .4byte 0x00000504 +_080370C8: .4byte gUnknown_80E653C +_080370CC: .4byte gUnknown_80E6CD0 +_080370D0: .4byte gUnknown_80E6CE8 + thumb_func_end sub_8036FDC + + thumb_func_start sub_80370D4 +sub_80370D4: + push {r4,lr} + ldr r4, _080370EC + ldr r0, [r4] + cmp r0, 0 + beq _080370E6 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_080370E6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080370EC: .4byte gUnknown_203B35C + thumb_func_end sub_80370D4 + + thumb_func_start sub_80370F0 +sub_80370F0: + push {r4,r5,lr} + sub sp, 0x4 + movs r0, 0x4 + str r0, [sp] + ldr r5, _08037110 + ldr r4, _08037114 + ldr r1, [r4] + ldr r0, [r1, 0x8] + cmp r0, 0x1 + beq _08037148 + cmp r0, 0x1 + bcc _08037118 + cmp r0, 0x2 + beq _08037158 + b _080371A8 + .align 2, 0 +_08037110: .4byte 0x0000ffdc +_08037114: .4byte gUnknown_203B35C +_08037118: + adds r0, r1, 0 + adds r0, 0x1C + bl sub_80130A8 + lsls r0, 24 + cmp r0, 0 + bne _08037130 + ldr r0, [r4] + adds r0, 0x1C + mov r1, sp + bl sub_8013114 +_08037130: + ldr r0, [sp] + cmp r0, 0x4 + bne _0803713C + bl sub_8037748 + b _080371A8 +_0803713C: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0x8] + bl sub_8037900 + b _080371A8 +_08037148: + bl sub_80376CC + ldr r1, [r4] + movs r0, 0x2 + str r0, [r1, 0x8] + bl sub_80371B8 + b _080371A8 +_08037158: + ldr r0, [r1] + cmp r0, 0x1 + bhi _08037172 + ldr r0, [r1, 0x4] + cmp r0, 0 + bne _08037172 + movs r0, 0 + bl sub_8037C10 + cmp r0, 0 + bne _08037172 + movs r0, 0x29 + b _080371AA +_08037172: + ldr r4, _080371B4 + ldr r0, [r4] + adds r0, 0x1C + bl sub_80130A8 + lsls r0, 24 + cmp r0, 0 + bne _0803718C + ldr r0, [r4] + adds r0, 0x1C + mov r1, sp + bl sub_8013114 +_0803718C: + ldr r0, [sp] + cmp r0, 0x4 + beq _080371A4 + movs r0, 0x3 + bl sub_80119D4 + bl sub_8037798 + adds r5, r0, 0 + ldr r1, [r4] + movs r0, 0x4 + str r0, [r1, 0x8] +_080371A4: + bl sub_8037748 +_080371A8: + adds r0, r5, 0 +_080371AA: + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_080371B4: .4byte gUnknown_203B35C + thumb_func_end sub_80370F0 + + thumb_func_start sub_80371B8 +sub_80371B8: + push {r4-r7,lr} + sub sp, 0x10 + movs r6, 0 + movs r5, 0 + bl sub_8037400 + ldr r7, _0803721C + ldr r1, [r7] + ldr r0, [r1] + cmp r0, 0x1 + bhi _08037228 + ldr r0, [r1, 0x4] + cmp r0, 0 + bne _08037228 + movs r0, 0 + bl sub_8037C10 + cmp r0, 0 + bne _080371E0 + b _080373AC +_080371E0: + bl sub_80376CC + ldr r0, [r7] + movs r4, 0xAE + lsls r4, 1 + adds r0, r4 + movs r1, 0 + bl sub_8035CC0 + ldr r1, [r7] + adds r0, r1, 0 + adds r0, 0x1C + adds r1, r4 + ldr r3, _08037220 + ldr r2, _08037224 + str r2, [sp] + str r6, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r6, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + ldr r0, [r7] + adds r0, 0x1C + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + b _080373AC + .align 2, 0 +_0803721C: .4byte gUnknown_203B35C +_08037220: .4byte gUnknown_80E6C50 +_08037224: .4byte gUnknown_80E6C68 +_08037228: + bl sub_80376CC + ldr r4, _08037250 + ldr r0, [r4] + movs r1, 0xAE + lsls r1, 1 + adds r0, r1 + movs r1, 0 + bl sub_8035CC0 + ldr r0, [r4] + ldr r0, [r0, 0x4] + cmp r0, 0xF + bls _08037246 + b _0803734C +_08037246: + lsls r0, 2 + ldr r1, _08037254 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08037250: .4byte gUnknown_203B35C +_08037254: .4byte _08037258 + .align 2, 0 +_08037258: + .4byte _08037298 + .4byte _080372D8 + .4byte _080372B8 + .4byte _080372A8 + .4byte _080372C8 + .4byte _080372D8 + .4byte _080372E8 + .4byte _080372F8 + .4byte _0803734C + .4byte _08037308 + .4byte _0803734C + .4byte _08037318 + .4byte _0803734C + .4byte _08037328 + .4byte _08037338 + .4byte _08037348 +_08037298: + ldr r6, _080372A0 + ldr r5, _080372A4 + b _0803734C + .align 2, 0 +_080372A0: .4byte gUnknown_80E66BC +_080372A4: .4byte gUnknown_80E66D4 +_080372A8: + ldr r6, _080372B0 + ldr r5, _080372B4 + b _0803734C + .align 2, 0 +_080372B0: .4byte gUnknown_80E6D54 +_080372B4: .4byte gUnknown_80E6D6C +_080372B8: + ldr r6, _080372C0 + ldr r5, _080372C4 + b _0803734C + .align 2, 0 +_080372C0: .4byte gUnknown_80E6DDC +_080372C4: .4byte gUnknown_80E6DF4 +_080372C8: + ldr r6, _080372D0 + ldr r5, _080372D4 + b _0803734C + .align 2, 0 +_080372D0: .4byte gUnknown_80E67D4 +_080372D4: .4byte gUnknown_80E67EC +_080372D8: + ldr r6, _080372E0 + ldr r5, _080372E4 + b _0803734C + .align 2, 0 +_080372E0: .4byte gUnknown_80E6748 +_080372E4: .4byte gUnknown_80E6760 +_080372E8: + ldr r6, _080372F0 + ldr r5, _080372F4 + b _0803734C + .align 2, 0 +_080372F0: .4byte gUnknown_80E689C +_080372F4: .4byte gUnknown_80E68B4 +_080372F8: + ldr r6, _08037300 + ldr r5, _08037304 + b _0803734C + .align 2, 0 +_08037300: .4byte gUnknown_80E6938 +_08037304: .4byte gUnknown_80E6950 +_08037308: + ldr r6, _08037310 + ldr r5, _08037314 + b _0803734C + .align 2, 0 +_08037310: .4byte gUnknown_80E69B0 +_08037314: .4byte gUnknown_80E69C8 +_08037318: + ldr r6, _08037320 + ldr r5, _08037324 + b _0803734C + .align 2, 0 +_08037320: .4byte gUnknown_80E6A10 +_08037324: .4byte gUnknown_80E6A28 +_08037328: + ldr r6, _08037330 + ldr r5, _08037334 + b _0803734C + .align 2, 0 +_08037330: .4byte gUnknown_80E6A74 +_08037334: .4byte gUnknown_80E6A8C +_08037338: + ldr r6, _08037340 + ldr r5, _08037344 + b _0803734C + .align 2, 0 +_08037340: .4byte gUnknown_80E6B78 +_08037344: .4byte gUnknown_80E6B90 +_08037348: + ldr r6, _080373B4 + ldr r5, _080373B8 +_0803734C: + ldr r4, _080373BC + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x1C + movs r2, 0xAE + lsls r2, 1 + adds r1, r2 + str r5, [sp] + movs r3, 0 + str r3, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r3, [sp, 0xC] + movs r2, 0 + adds r3, r6, 0 + bl SetMenuItems + ldr r0, [r4] + adds r0, 0x1C + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + ldr r4, [r4] + ldr r0, [r4, 0x4] + cmp r0, 0 + beq _080373AC + ldr r0, [r4] + cmp r0, 0 + bne _080373AC + bl sub_8035D94 + adds r2, r0, 0 + ldrb r0, [r2] + cmp r0, 0 + beq _080373AC + ldr r3, [r2, 0x4] + cmp r3, 0 + beq _080373AC + ldr r0, _080373C0 + ldr r1, [r0] + ldrb r0, [r2] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r0, [r1] + adds r0, r3 + strh r0, [r1] +_080373AC: + add sp, 0x10 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080373B4: .4byte gUnknown_80E6BF4 +_080373B8: .4byte gUnknown_80E6C0C +_080373BC: .4byte gUnknown_203B35C +_080373C0: .4byte gUnknown_203B460 + thumb_func_end sub_80371B8 + + thumb_func_start sub_80373C4 +sub_80373C4: + push {lr} + movs r0, 0 + movs r1, 0 + bl sub_8005838 + bl sub_80060EC + bl sub_800CB20 + bl sub_800485C + bl TransferBGPaletteBuffer + bl xxx_call_update_bg_vram + bl sub_8009908 + bl xxx_call_update_bg_sound_input + movs r0, 0 + bl ResetSprites + pop {r0} + bx r0 + thumb_func_end sub_80373C4 + + thumb_func_start sub_80373F4 +sub_80373F4: + ldr r0, _080373FC + ldr r0, [r0] + bx lr + .align 2, 0 +_080373FC: .4byte gUnknown_203B35C + thumb_func_end sub_80373F4 + + thumb_func_start sub_8037400 +sub_8037400: + push {r4-r6,lr} + movs r6, 0 + movs r5, 0 + bl sub_8037810 + bl sub_8011830 + ldr r4, _08037434 + ldr r0, [r4] + ldr r0, [r0] + bl sub_8037B28 + ldr r4, [r4] + str r0, [r4, 0x4] + cmp r0, 0 + beq _08037422 + b _080376BE +_08037422: + ldr r0, [r4] + cmp r0, 0xA + bls _0803742A + b _080375E8 +_0803742A: + lsls r0, 2 + ldr r1, _08037438 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08037434: .4byte gUnknown_203B35C +_08037438: .4byte _0803743C + .align 2, 0 +_0803743C: + .4byte _08037494 + .4byte _080374B8 + .4byte _08037534 + .4byte _0803751C + .4byte _0803756C + .4byte _080375D8 + .4byte _080374E4 + .4byte _080374D0 + .4byte _080375E8 + .4byte _08037480 + .4byte _08037468 +_08037468: + ldr r0, _0803747C + ldr r0, [r0] + movs r1, 0xE7 + lsls r1, 2 + adds r6, r0, r1 + movs r2, 0x8A + lsls r2, 3 + adds r5, r0, r2 + b _080375E8 + .align 2, 0 +_0803747C: .4byte gUnknown_203B35C +_08037480: + ldr r0, _08037490 + ldr r0, [r0] + movs r3, 0xE7 + lsls r3, 2 + adds r6, r0, r3 + movs r4, 0x8A + lsls r4, 3 + b _080375E6 + .align 2, 0 +_08037490: .4byte gUnknown_203B35C +_08037494: + bl sub_8035D94 + ldr r1, _080374B4 + ldr r3, [r1] + movs r5, 0xDE + lsls r5, 1 + adds r2, r3, r5 + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [r2] + str r1, [r2, 0x4] + adds r6, r2, 0 + movs r0, 0xE2 + lsls r0, 1 + adds r5, r3, r0 + b _080375E8 + .align 2, 0 +_080374B4: .4byte gUnknown_203B35C +_080374B8: + ldr r0, _080374CC + ldr r0, [r0] + movs r1, 0xDE + lsls r1, 1 + adds r6, r0, r1 + movs r2, 0xE2 + lsls r2, 1 + adds r5, r0, r2 + b _080375E8 + .align 2, 0 +_080374CC: .4byte gUnknown_203B35C +_080374D0: + ldr r0, _080374E0 + ldr r0, [r0] + movs r3, 0xE6 + lsls r3, 1 + adds r6, r0, r3 + movs r4, 0xFE + lsls r4, 1 + b _080375E6 + .align 2, 0 +_080374E0: .4byte gUnknown_203B35C +_080374E4: + bl sub_8035D74 + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + ldr r3, _08037518 + ldr r1, [r3] + movs r2, 0xE6 + lsls r2, 1 + adds r1, r2 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldr r0, [r3] + adds r6, r0, r2 + movs r1, 0xFE + lsls r1, 1 + adds r5, r0, r1 + b _080375E8 + .align 2, 0 +_08037518: .4byte gUnknown_203B35C +_0803751C: + ldr r0, _08037530 + ldr r0, [r0] + movs r2, 0x8B + lsls r2, 2 + adds r6, r0, r2 + movs r3, 0x97 + lsls r3, 2 + adds r5, r0, r3 + b _080375E8 + .align 2, 0 +_08037530: .4byte gUnknown_203B35C +_08037534: + bl sub_8035D74 + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + ldr r3, _08037568 + ldr r1, [r3] + movs r2, 0x8B + lsls r2, 2 + adds r1, r2 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldr r0, [r3] + adds r6, r0, r2 + movs r1, 0x97 + lsls r1, 2 + adds r5, r0, r1 + b _080375E8 + .align 2, 0 +_08037568: .4byte gUnknown_203B35C +_0803756C: + bl sub_8035D74 + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + ldr r4, _080375CC + ldr r1, [r4] + movs r5, 0xA3 + lsls r5, 2 + adds r1, r5 + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + bl sub_8035D3C + lsls r0, 16 + ldr r1, _080375D0 + cmp r0, r1 + beq _080375BE + bl sub_8035D3C + ldr r3, [r4] + movs r1, 0xAF + lsls r1, 2 + adds r3, r1 + ldr r1, _080375D4 + ldr r1, [r1] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x58 + muls r0, r2 + adds r1, r0 + adds r0, r3, 0 + bl memcpy +_080375BE: + ldr r0, [r4] + adds r6, r0, r5 + movs r2, 0xC5 + lsls r2, 2 + adds r5, r0, r2 + b _080375E8 + .align 2, 0 +_080375CC: .4byte gUnknown_203B35C +_080375D0: .4byte 0xffff0000 +_080375D4: .4byte gUnknown_203B45C +_080375D8: + ldr r0, _08037610 + ldr r0, [r0] + movs r3, 0xA3 + lsls r3, 2 + adds r6, r0, r3 + movs r4, 0xC5 + lsls r4, 2 +_080375E6: + adds r5, r0, r4 +_080375E8: + ldr r4, _08037610 + ldr r0, [r4] + ldr r0, [r0] + adds r1, r6, 0 + adds r2, r5, 0 + bl sub_8037D64 + ldr r1, [r4] + str r0, [r1, 0x4] + cmp r0, 0 + bne _080376BE + ldr r0, [r1] + cmp r0, 0xA + bhi _080376AE + lsls r0, 2 + ldr r1, _08037614 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08037610: .4byte gUnknown_203B35C +_08037614: .4byte _08037618 + .align 2, 0 +_08037618: + .4byte _08037644 + .4byte _08037644 + .4byte _08037658 + .4byte _08037658 + .4byte _0803766C + .4byte _0803766C + .4byte _08037684 + .4byte _08037684 + .4byte _080376AE + .4byte _0803769C + .4byte _0803769C +_08037644: + ldr r0, _08037654 + ldr r2, [r0] + movs r5, 0xDE + lsls r5, 1 + adds r6, r2, r5 + movs r1, 0xE2 + lsls r1, 1 + b _0803767A + .align 2, 0 +_08037654: .4byte gUnknown_203B35C +_08037658: + ldr r0, _08037668 + ldr r2, [r0] + movs r3, 0x8B + lsls r3, 2 + adds r6, r2, r3 + movs r4, 0x97 + lsls r4, 2 + b _08037692 + .align 2, 0 +_08037668: .4byte gUnknown_203B35C +_0803766C: + ldr r0, _08037680 + ldr r2, [r0] + movs r5, 0xA3 + lsls r5, 2 + adds r6, r2, r5 + movs r1, 0xC5 + lsls r1, 2 +_0803767A: + adds r5, r2, r1 + adds r4, r0, 0 + b _080376AE + .align 2, 0 +_08037680: .4byte gUnknown_203B35C +_08037684: + ldr r0, _08037698 + ldr r2, [r0] + movs r3, 0xE6 + lsls r3, 1 + adds r6, r2, r3 + movs r4, 0xFE + lsls r4, 1 +_08037692: + adds r5, r2, r4 + adds r4, r0, 0 + b _080376AE + .align 2, 0 +_08037698: .4byte gUnknown_203B35C +_0803769C: + ldr r1, _080376C8 + ldr r0, [r1] + movs r5, 0xE7 + lsls r5, 2 + adds r6, r0, r5 + movs r2, 0x8A + lsls r2, 3 + adds r5, r0, r2 + adds r4, r1, 0 +_080376AE: + ldr r0, [r4] + ldr r0, [r0] + adds r1, r6, 0 + adds r2, r5, 0 + bl sub_80381F4 + ldr r1, [r4] + str r0, [r1, 0x4] +_080376BE: + bl sub_8011854 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080376C8: .4byte gUnknown_203B35C + thumb_func_end sub_8037400 + + thumb_func_start sub_80376CC +sub_80376CC: + push {r4,lr} + ldr r0, _08037728 + ldr r3, [r0] + ldrh r1, [r3, 0xC] + ldr r0, _0803772C + ands r0, r1 + ldr r1, _08037730 + ands r0, r1 + ldr r4, _08037734 + ands r0, r4 + ldr r1, _08037738 + ands r0, r1 + ldr r1, _0803773C + ands r0, r1 + movs r2, 0x80 + lsls r2, 7 + ldr r1, _08037740 + ands r0, r1 + orrs r0, r2 + strh r0, [r3, 0xC] + movs r2, 0xFC + lsls r2, 2 + ldrh r1, [r3, 0x10] + movs r0, 0xFC + lsls r0, 8 + ands r0, r1 + orrs r0, r2 + ands r0, r4 + movs r2, 0xF + movs r4, 0xF0 + lsls r4, 8 + ldr r1, _08037744 + ands r0, r1 + orrs r0, r4 + strh r0, [r3, 0x10] + movs r0, 0 + strh r0, [r3, 0xE] + movs r1, 0xC0 + lsls r1, 4 + ldrh r0, [r3, 0x12] + ands r2, r0 + orrs r2, r1 + strh r2, [r3, 0x12] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08037728: .4byte gUnknown_203B35C +_0803772C: .4byte 0x0000feff +_08037730: .4byte 0x0000fdff +_08037734: .4byte 0x0000f3ff +_08037738: .4byte 0x0000efff +_0803773C: .4byte 0x0000dfff +_08037740: .4byte 0x00003fff +_08037744: .4byte 0x00000fff + thumb_func_end sub_80376CC + + thumb_func_start sub_8037748 +sub_8037748: + push {r4,lr} + ldr r4, _08037794 + ldr r3, [r4] + ldrh r1, [r3, 0xE] + movs r0, 0xFE + lsls r0, 8 + ands r0, r1 + movs r1, 0x70 + orrs r0, r1 + strh r0, [r3, 0xE] + movs r2, 0xD0 + lsls r2, 3 + ldrh r1, [r3, 0x12] + movs r0, 0xF + ands r0, r1 + orrs r0, r2 + strh r0, [r3, 0x12] + ldr r0, [r3, 0x14] + movs r1, 0x8 + ands r0, r1 + cmp r0, 0 + beq _08037782 + adds r0, r3, 0 + adds r0, 0xC + adds r1, 0xF8 + movs r2, 0 + movs r3, 0 + bl AddSprite +_08037782: + bl xxx_draw_string_80144C4 + ldr r1, [r4] + ldr r0, [r1, 0x14] + adds r0, 0x1 + str r0, [r1, 0x14] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08037794: .4byte gUnknown_203B35C + thumb_func_end sub_8037748 + + thumb_func_start sub_8037798 +sub_8037798: + push {lr} + ldr r2, _080377B4 + ldr r1, _080377B8 + ldr r0, [r1] + ldr r0, [r0] + adds r3, r1, 0 + cmp r0, 0xA + bhi _0803780A + lsls r0, 2 + ldr r1, _080377BC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080377B4: .4byte 0x0000ffdc +_080377B8: .4byte gUnknown_203B35C +_080377BC: .4byte _080377C0 + .align 2, 0 +_080377C0: + .4byte _080377EC + .4byte _080377EC + .4byte _080377F0 + .4byte _080377F0 + .4byte _080377F0 + .4byte _080377F0 + .4byte _080377F0 + .4byte _080377F0 + .4byte _0803780A + .4byte _080377FE + .4byte _080377FE +_080377EC: + movs r2, 0x1 + b _0803780A +_080377F0: + ldr r0, [r3] + ldr r0, [r0, 0x4] + movs r2, 0x1 + cmp r0, 0 + bne _0803780A + movs r2, 0x2A + b _0803780A +_080377FE: + ldr r0, [r3] + ldr r0, [r0, 0x4] + movs r2, 0xD + cmp r0, 0 + bne _0803780A + movs r2, 0x2B +_0803780A: + adds r0, r2, 0 + pop {r1} + bx r1 + thumb_func_end sub_8037798 + + thumb_func_start sub_8037810 +sub_8037810: + push {r4-r6,lr} + ldr r6, _080378FC + ldr r0, [r6] + movs r5, 0xDE + lsls r5, 1 + adds r0, r5 + movs r1, 0 + movs r2, 0x8 + bl MemoryFill8 + ldr r0, [r6] + movs r4, 0xE2 + lsls r4, 1 + adds r0, r4 + movs r1, 0 + movs r2, 0x8 + bl MemoryFill8 + ldr r0, [r6] + adds r5, r0, r5 + movs r1, 0 + movs r2, 0 + str r1, [r5] + str r2, [r5, 0x4] + adds r4, r0, r4 + str r1, [r4] + str r2, [r4, 0x4] + movs r2, 0xE6 + lsls r2, 1 + adds r0, r2 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r3, 0xFE + lsls r3, 1 + adds r0, r3 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r1, 0x8B + lsls r1, 2 + adds r0, r1 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r2, 0x97 + lsls r2, 2 + adds r0, r2 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r3, 0xA3 + lsls r3, 2 + adds r0, r3 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r1, 0xC5 + lsls r1, 2 + adds r0, r1 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r2, 0xAF + lsls r2, 2 + adds r0, r2 + movs r1, 0 + movs r2, 0x58 + bl MemoryFill8 + ldr r0, [r6] + movs r3, 0xD1 + lsls r3, 2 + adds r0, r3 + movs r1, 0 + movs r2, 0x58 + bl MemoryFill8 + ldr r0, [r6] + movs r1, 0xE7 + lsls r1, 2 + adds r0, r1 + movs r1, 0 + movs r2, 0xB4 + bl MemoryFill8 + ldr r0, [r6] + movs r2, 0x8A + lsls r2, 3 + adds r0, r2 + movs r1, 0 + movs r2, 0xB4 + bl MemoryFill8 + ldr r2, [r6] + movs r3, 0xB1 + lsls r3, 2 + adds r0, r2, r3 + movs r1, 0 + strh r1, [r0] + adds r3, 0x88 + adds r0, r2, r3 + strh r1, [r0] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080378FC: .4byte gUnknown_203B35C + thumb_func_end sub_8037810 + + thumb_func_start sub_8037900 +sub_8037900: + push {r4,lr} + sub sp, 0x10 + ldr r4, _08037928 + ldr r0, [r4] + movs r1, 0xAE + lsls r1, 1 + adds r0, r1 + movs r1, 0 + bl sub_8035CC0 + ldr r0, [r4] + ldr r0, [r0] + cmp r0, 0xA + bls _0803791E + b _08037A14 +_0803791E: + lsls r0, 2 + ldr r1, _0803792C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08037928: .4byte gUnknown_203B35C +_0803792C: .4byte _08037930 + .align 2, 0 +_08037930: + .4byte _0803795C + .4byte _0803795C + .4byte _0803797C + .4byte _0803797C + .4byte _0803799C + .4byte _0803799C + .4byte _080379BC + .4byte _080379BC + .4byte _08037A14 + .4byte _080379F0 + .4byte _080379F0 +_0803795C: + ldr r0, _08037970 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x1C + movs r2, 0xAE + lsls r2, 1 + adds r1, r2 + ldr r3, _08037974 + ldr r2, _08037978 + b _080379CE + .align 2, 0 +_08037970: .4byte gUnknown_203B35C +_08037974: .4byte gUnknown_80E6554 +_08037978: .4byte gUnknown_80E656C +_0803797C: + ldr r0, _08037990 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x1C + movs r2, 0xAE + lsls r2, 1 + adds r1, r2 + ldr r3, _08037994 + ldr r2, _08037998 + b _080379CE + .align 2, 0 +_08037990: .4byte gUnknown_203B35C +_08037994: .4byte gUnknown_80E6554 +_08037998: .4byte gUnknown_80E65D8 +_0803799C: + ldr r0, _080379B0 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x1C + movs r2, 0xAE + lsls r2, 1 + adds r1, r2 + ldr r3, _080379B4 + ldr r2, _080379B8 + b _080379CE + .align 2, 0 +_080379B0: .4byte gUnknown_203B35C +_080379B4: .4byte gUnknown_80E6554 +_080379B8: .4byte gUnknown_80E661C +_080379BC: + ldr r0, _080379E4 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x1C + movs r2, 0xAE + lsls r2, 1 + adds r1, r2 + ldr r3, _080379E8 + ldr r2, _080379EC +_080379CE: + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + b _08037A14 + .align 2, 0 +_080379E4: .4byte gUnknown_203B35C +_080379E8: .4byte gUnknown_80E6554 +_080379EC: .4byte gUnknown_80E665C +_080379F0: + ldr r0, _08037A38 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x1C + movs r2, 0xAE + lsls r2, 1 + adds r1, r2 + ldr r3, _08037A3C + ldr r2, _08037A40 + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems +_08037A14: + ldr r4, _08037A38 + ldr r0, [r4] + adds r0, 0x1C + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + bl sub_80373C4 + ldr r0, [r4] + adds r0, 0x1C + bl sub_80130A8 + add sp, 0x10 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08037A38: .4byte gUnknown_203B35C +_08037A3C: .4byte gUnknown_80E6554 +_08037A40: .4byte gUnknown_80E667C + thumb_func_end sub_8037900 + + thumb_func_start nullsub_202 +nullsub_202: + bx lr + thumb_func_end nullsub_202 + + thumb_func_start sub_8037A48 +sub_8037A48: + push {r4-r6,lr} + sub sp, 0x28 + movs r6, 0x1 + movs r0, 0 + mov r1, sp + movs r2, 0x14 + bl sub_800D670 + add r4, sp, 0x14 + movs r0, 0x1 + adds r1, r4, 0 + movs r2, 0x14 + bl sub_800D670 + ldr r1, _08037AAC + movs r3, 0x8 + adds r2, r1, 0 + adds r0, r2, 0x4 +_08037A6C: + str r3, [r0] + subs r0, 0x4 + cmp r0, r1 + bge _08037A6C + ldr r0, [sp, 0x10] + str r0, [r2] + ldr r0, [r4, 0x10] + str r0, [r2, 0x4] + ldr r5, _08037AB0 + mov r0, sp + adds r1, r5, 0 + bl strcmp + cmp r0, 0 + beq _08037A8C + movs r0, 0x1 +_08037A8C: + lsls r0, 24 + cmp r0, 0 + bne _08037AA6 + adds r0, r4, 0 + adds r1, r5, 0 + bl strcmp + cmp r0, 0 + beq _08037AA0 + movs r0, 0x1 +_08037AA0: + lsls r0, 24 + cmp r0, 0 + beq _08037AB4 +_08037AA6: + movs r0, 0 + b _08037B1E + .align 2, 0 +_08037AAC: .4byte gUnknown_202EC40 +_08037AB0: .4byte gUnknown_80E6E50 +_08037AB4: + ldr r1, [sp, 0x10] + cmp r1, 0 + bne _08037AC0 + ldr r0, [r4, 0x10] + cmp r0, 0x1 + beq _08037B1C +_08037AC0: + cmp r1, 0x1 + bne _08037ACA + ldr r0, [r4, 0x10] + cmp r0, 0 + beq _08037B1C +_08037ACA: + cmp r1, 0x2 + bne _08037AD4 + ldr r0, [r4, 0x10] + cmp r0, 0x3 + beq _08037B1C +_08037AD4: + cmp r1, 0x3 + bne _08037ADE + ldr r0, [r4, 0x10] + cmp r0, 0x2 + beq _08037B1C +_08037ADE: + cmp r1, 0x9 + bne _08037AE8 + ldr r0, [r4, 0x10] + cmp r0, 0xA + beq _08037B1C +_08037AE8: + cmp r1, 0xA + bne _08037AF2 + ldr r0, [r4, 0x10] + cmp r0, 0x9 + beq _08037B1C +_08037AF2: + cmp r1, 0x4 + bne _08037AFC + ldr r0, [r4, 0x10] + cmp r0, 0x5 + beq _08037B1C +_08037AFC: + cmp r1, 0x5 + bne _08037B06 + ldr r0, [r4, 0x10] + cmp r0, 0x4 + beq _08037B1C +_08037B06: + cmp r1, 0x6 + bne _08037B10 + ldr r0, [r4, 0x10] + cmp r0, 0x7 + beq _08037B1C +_08037B10: + cmp r1, 0x7 + bne _08037B1A + ldr r0, [r4, 0x10] + cmp r0, 0x6 + beq _08037B1C +_08037B1A: + movs r6, 0 +_08037B1C: + adds r0, r6, 0 +_08037B1E: + add sp, 0x28 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8037A48 + + thumb_func_start sub_8037B28 +sub_8037B28: + push {r4,r5,lr} + sub sp, 0x14 + adds r4, r0, 0 + movs r5, 0 + bl sub_800D414 + ldr r0, _08037B58 + str r5, [r0] + ldr r5, _08037B5C + mov r0, sp + movs r1, 0 + movs r2, 0x14 + bl MemoryFill8 + mov r0, sp + adds r1, r5, 0 + bl strcpy + str r4, [sp, 0x10] + mov r0, sp + movs r1, 0x14 + bl sub_800D59C + b _08037B7A + .align 2, 0 +_08037B58: .4byte gUnknown_202EC38 +_08037B5C: .4byte gUnknown_80E6E50 +_08037B60: + cmp r5, 0x3 + beq _08037BCC + cmp r5, 0x4 + beq _08037BD8 + cmp r5, 0x5 + beq _08037BF0 + ldr r2, _08037BC0 + ldr r1, [r2] + ldr r0, _08037BC4 + cmp r1, r0 + bgt _08037BE4 + adds r0, r1, 0x1 + str r0, [r2] +_08037B7A: + movs r4, 0 +_08037B7C: + bl sub_80373C4 + bl sub_8012AE8 + cmp r0, 0x3 + bgt _08037B8C + cmp r0, 0x2 + bge _08037BF0 +_08037B8C: + adds r4, 0x1 + cmp r4, 0 + ble _08037B7C + bl sub_800D33C + adds r5, r0, 0 + bl sub_800D570 + cmp r5, 0x2 + bne _08037B60 + bl sub_800D600 + lsls r0, 24 + cmp r0, 0 + beq _08037BFC + bl sub_8037A48 + lsls r0, 24 + cmp r0, 0 + bne _08037BC8 + movs r4, 0x4 + bl sub_800D520 + bl sub_800D510 + b _08037C06 + .align 2, 0 +_08037BC0: .4byte gUnknown_202EC38 +_08037BC4: .4byte 0x00000707 +_08037BC8: + movs r4, 0 + b _08037C06 +_08037BCC: + bl sub_800D520 + bl sub_800D510 + movs r0, 0x2 + b _08037C08 +_08037BD8: + bl sub_800D520 + bl sub_800D510 + movs r0, 0x3 + b _08037C08 +_08037BE4: + bl sub_800D520 + bl sub_800D510 + movs r0, 0xF + b _08037C08 +_08037BF0: + bl sub_800D520 + bl sub_800D510 + movs r0, 0x1 + b _08037C08 +_08037BFC: + movs r4, 0x5 + bl sub_800D520 + bl sub_800D510 +_08037C06: + adds r0, r4, 0 +_08037C08: + add sp, 0x14 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8037B28 + + thumb_func_start sub_8037C10 +sub_8037C10: + push {lr} + lsls r0, 24 + cmp r0, 0 + beq _08037C24 + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + bne _08037C38 + b _08037C2E +_08037C24: + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + beq _08037C38 +_08037C2E: + ldr r0, _08037C34 + ldr r0, [r0, 0x4] + b _08037C3C + .align 2, 0 +_08037C34: .4byte gUnknown_202EC40 +_08037C38: + ldr r0, _08037C40 + ldr r0, [r0] +_08037C3C: + pop {r1} + bx r1 + .align 2, 0 +_08037C40: .4byte gUnknown_202EC40 + thumb_func_end sub_8037C10 + + thumb_func_start sub_8037C44 +sub_8037C44: + push {r4-r6,lr} + adds r6, r0, 0 + adds r5, r1, 0 + movs r4, 0 +_08037C4C: + adds r0, r4, 0 + bl sub_800D68C + adds r4, 0x1 + cmp r4, 0x1 + ble _08037C4C + cmp r6, 0xA + bhi _08037CBE + lsls r0, r6, 2 + ldr r1, _08037C68 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08037C68: .4byte _08037C6C + .align 2, 0 +_08037C6C: + .4byte _08037C98 + .4byte _08037C98 + .4byte _08037CA2 + .4byte _08037CA2 + .4byte _08037CAC + .4byte _08037CAC + .4byte _08037CA2 + .4byte _08037CA2 + .4byte _08037CBE + .4byte _08037CB6 + .4byte _08037CB6 +_08037C98: + adds r0, r5, 0 + movs r1, 0x8 + bl sub_800D59C + b _08037CBE +_08037CA2: + adds r0, r5, 0 + movs r1, 0x30 + bl sub_800D59C + b _08037CBE +_08037CAC: + adds r0, r5, 0 + movs r1, 0x88 + bl sub_800D59C + b _08037CBE +_08037CB6: + adds r0, r5, 0 + movs r1, 0xB4 + bl sub_800D59C +_08037CBE: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8037C44 + + thumb_func_start sub_8037CC4 +sub_8037CC4: + push {r4,lr} + adds r3, r1, 0 + adds r4, r2, 0 + cmp r0, 0xA + bhi _08037D5E + lsls r0, 2 + ldr r1, _08037CD8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08037CD8: .4byte _08037CDC + .align 2, 0 +_08037CDC: + .4byte _08037D08 + .4byte _08037D08 + .4byte _08037D1E + .4byte _08037D1E + .4byte _08037D34 + .4byte _08037D34 + .4byte _08037D1E + .4byte _08037D1E + .4byte _08037D5E + .4byte _08037D4A + .4byte _08037D4A +_08037D08: + movs r0, 0 + adds r1, r3, 0 + movs r2, 0x8 + bl sub_800D670 + movs r0, 0x1 + adds r1, r4, 0 + movs r2, 0x8 + bl sub_800D670 + b _08037D5E +_08037D1E: + movs r0, 0 + adds r1, r3, 0 + movs r2, 0x30 + bl sub_800D670 + movs r0, 0x1 + adds r1, r4, 0 + movs r2, 0x30 + bl sub_800D670 + b _08037D5E +_08037D34: + movs r0, 0 + adds r1, r3, 0 + movs r2, 0x88 + bl sub_800D670 + movs r0, 0x1 + adds r1, r4, 0 + movs r2, 0x88 + bl sub_800D670 + b _08037D5E +_08037D4A: + movs r0, 0 + adds r1, r3, 0 + movs r2, 0xB4 + bl sub_800D670 + movs r0, 0x1 + adds r1, r4, 0 + movs r2, 0xB4 + bl sub_800D670 +_08037D5E: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8037CC4 + + thumb_func_start sub_8037D64 +sub_8037D64: + push {r4-r7,lr} + adds r5, r0, 0 + adds r6, r1, 0 + adds r7, r2, 0 + movs r4, 0 + ldr r0, _08037D80 + str r4, [r0] + bl sub_800D494 + adds r0, r5, 0 + adds r1, r6, 0 + bl sub_8037C44 + b _08037D96 + .align 2, 0 +_08037D80: .4byte gUnknown_202EC48 +_08037D84: + subs r0, r4, 0x3 + cmp r0, 0x2 + bls _08037DBC + ldr r1, _08037DB8 + ldr r0, [r1] + cmp r0, 0x63 + bgt _08037DC8 + adds r0, 0x1 + str r0, [r1] +_08037D96: + bl sub_80373C4 + bl sub_800D33C + adds r4, r0, 0 + bl sub_800D570 + cmp r4, 0x2 + bne _08037D84 + bl sub_800D600 + lsls r0, 24 + cmp r0, 0 + beq _08037DD4 + movs r4, 0 + b _08037DDE + .align 2, 0 +_08037DB8: .4byte gUnknown_202EC48 +_08037DBC: + bl sub_800D520 + bl sub_800D510 + movs r0, 0x1 + b _08037DEA +_08037DC8: + bl sub_800D520 + bl sub_800D510 + movs r0, 0xF + b _08037DEA +_08037DD4: + bl sub_800D520 + bl sub_800D510 + movs r4, 0x5 +_08037DDE: + adds r0, r5, 0 + adds r1, r6, 0 + adds r2, r7, 0 + bl sub_8037CC4 + adds r0, r4, 0 +_08037DEA: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8037D64 + + thumb_func_start sub_8037DF0 +sub_8037DF0: + push {r4,lr} + sub sp, 0x8 + movs r4, 0 + movs r0, 0 + mov r1, sp + movs r2, 0x4 + bl sub_800D670 + add r1, sp, 0x4 + movs r0, 0x1 + movs r2, 0x4 + bl sub_800D670 + ldr r0, [sp] + cmp r0, 0 + bne _08037E16 + ldr r0, [sp, 0x4] + cmp r0, 0 + beq _08037E2C +_08037E16: + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + bne _08037E24 + ldr r4, [sp, 0x4] + b _08037E26 +_08037E24: + ldr r4, [sp] +_08037E26: + cmp r4, 0 + bne _08037E2C + movs r4, 0xE +_08037E2C: + adds r0, r4, 0 + add sp, 0x8 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8037DF0 + + thumb_func_start sub_8037E38 +sub_8037E38: + push {r4-r6,lr} + adds r6, r0, 0 + adds r5, r1, 0 + bl sub_800D588 + lsls r0, 24 + adds r4, r6, 0 + cmp r0, 0 + bne _08037E4C + adds r4, r5, 0 +_08037E4C: + bl sub_800D588 + lsls r0, 24 + adds r3, r5, 0 + cmp r0, 0 + bne _08037E5A + adds r3, r6, 0 +_08037E5A: + ldrb r0, [r4] + ldrb r1, [r3] + cmp r0, r1 + bne _08037E70 + ldr r0, _08037E6C + ldr r1, [r0] + ldrb r0, [r4] + b _08037E76 + .align 2, 0 +_08037E6C: .4byte gUnknown_203B460 +_08037E70: + ldr r0, _08037E8C + ldr r1, [r0] + ldrb r0, [r3] +_08037E76: + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r2, [r1] + ldr r0, [r3, 0x4] + adds r2, r0 + strh r2, [r1] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08037E8C: .4byte gUnknown_203B460 + thumb_func_end sub_8037E38 + + thumb_func_start sub_8037E90 +sub_8037E90: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + bne _08037EA2 + adds r4, r5, 0 +_08037EA2: + movs r0, 0x2 + strb r0, [r4] + adds r0, r4, 0 + bl sub_80951BC + ldr r0, [r4, 0x10] + bl sub_8095274 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8037E90 + + thumb_func_start nullsub_53 +nullsub_53: + bx lr + thumb_func_end nullsub_53 + + thumb_func_start sub_8037EBC +sub_8037EBC: + push {r4-r6,lr} + adds r6, r0, 0 + adds r4, r1, 0 + bl sub_800D588 + lsls r0, 24 + adds r5, r4, 0 + cmp r0, 0 + bne _08037ED0 + adds r5, r6, 0 +_08037ED0: + ldr r1, [r5, 0x10] + movs r0, 0x1 + bl sub_809539C + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + adds r4, r0, 0 + adds r1, r4, 0 + adds r0, r5, 0 + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + movs r0, 0x5 + strb r0, [r4] + adds r0, r4, 0 + bl sub_80951FC + movs r0, 0x7 + strb r0, [r4] + movs r0, 0x38 + ldrsh r6, [r5, r0] + cmp r6, 0 + beq _08037F30 + ldr r4, _08037F2C + ldr r0, [r4] + ldr r1, [r5, 0x10] + stm r0!, {r1} + adds r1, r5, 0 + adds r1, 0x30 + movs r2, 0x58 + bl memcpy + ldr r1, [r4] + movs r0, 0x42 + strb r0, [r1, 0x8] + ldr r1, [r4] + movs r0, 0x1 + strb r0, [r1, 0x9] + b _08037F40 + .align 2, 0 +_08037F2C: .4byte gUnknown_203B484 +_08037F30: + ldr r4, _08037F48 + ldr r0, [r4] + movs r1, 0 + movs r2, 0x5C + bl MemoryFill8 + ldr r0, [r4] + strh r6, [r0, 0xC] +_08037F40: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08037F48: .4byte gUnknown_203B484 + thumb_func_end sub_8037EBC + + thumb_func_start sub_8037F4C +sub_8037F4C: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + bne _08037F5E + adds r4, r5, 0 +_08037F5E: + ldr r1, [r4, 0x10] + movs r0, 0x4 + bl sub_809539C + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + adds r2, r0, 0 + adds r1, r4, 0 + ldm r1!, {r3-r5} + stm r2!, {r3-r5} + ldm r1!, {r3-r5} + stm r2!, {r3-r5} + ldm r1!, {r3-r5} + stm r2!, {r3-r5} + ldm r1!, {r3-r5} + stm r2!, {r3-r5} + movs r1, 0x6 + strb r1, [r0] + bl sub_8035D4C + cmp r0, 0 + beq _08037F96 + adds r1, r0, 0 + adds r1, 0x3A + movs r0, 0x1 + strb r0, [r1] +_08037F96: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8037F4C + + thumb_func_start sub_8037F9C +sub_8037F9C: + push {lr} + adds r3, r1, 0 + cmp r0, 0xA + bhi _08038010 + lsls r0, 2 + ldr r1, _08037FB0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08037FB0: .4byte _08037FB4 + .align 2, 0 +_08037FB4: + .4byte _08037FE0 + .4byte _08037FE0 + .4byte _08038010 + .4byte _08037FF4 + .4byte _08038010 + .4byte _08037FFE + .4byte _08038010 + .4byte _08037FEA + .4byte _08038010 + .4byte _08038010 + .4byte _08038008 +_08037FE0: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_8037E38 + b _08038010 +_08037FEA: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_8037F4C + b _08038010 +_08037FF4: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_8037E90 + b _08038010 +_08037FFE: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_8037EBC + b _08038010 +_08038008: + adds r0, r3, 0 + adds r1, r2, 0 + bl nullsub_53 +_08038010: + pop {r0} + bx r0 + thumb_func_end sub_8037F9C + + thumb_func_start sub_8038014 +sub_8038014: + push {r4-r6,lr} + adds r6, r0, 0 + adds r5, r1, 0 + bl sub_800D588 + lsls r0, 24 + adds r4, r6, 0 + cmp r0, 0 + bne _08038028 + adds r4, r5, 0 +_08038028: + bl sub_800D588 + lsls r0, 24 + adds r3, r5, 0 + cmp r0, 0 + bne _08038036 + adds r3, r6, 0 +_08038036: + ldrb r0, [r4] + ldrb r1, [r3] + cmp r0, r1 + bne _0803804C + ldr r0, _08038048 + ldr r1, [r0] + ldrb r0, [r4] + b _08038052 + .align 2, 0 +_08038048: .4byte gUnknown_203B460 +_0803804C: + ldr r0, _08038070 + ldr r1, [r0] + ldrb r0, [r3] +_08038052: + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r2, [r1] + ldr r0, [r3, 0x4] + adds r2, r0 + ldr r0, _08038074 + movs r1, 0 + cmp r2, r0 + ble _08038068 + movs r1, 0x6 +_08038068: + adds r0, r1, 0 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08038070: .4byte gUnknown_203B460 +_08038074: .4byte 0x000003e7 + thumb_func_end sub_8038014 + + thumb_func_start sub_8038078 +sub_8038078: + push {r4-r6,lr} + adds r5, r0, 0 + adds r4, r1, 0 + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + bne _0803808A + adds r4, r5, 0 +_0803808A: + ldr r6, [r4, 0x10] + ldr r0, _08038098 + ldr r0, [r0] + cmp r0, 0 + beq _0803809C + ldr r5, [r0, 0x50] + b _080380A2 + .align 2, 0 +_08038098: .4byte gUnknown_203B184 +_0803809C: + bl sub_8011C34 + adds r5, r0, 0 +_080380A2: + movs r0, 0x4 + adds r1, r6, 0 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + beq _080380BA + ldr r0, [r4, 0x28] + cmp r0, r5 + bne _080380BA + movs r0, 0 + b _080380BC +_080380BA: + movs r0, 0xB +_080380BC: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8038078 + + thumb_func_start sub_80380C4 +sub_80380C4: + push {r4-r6,lr} + adds r6, r0, 0 + adds r4, r1, 0 + bl sub_800D588 + lsls r0, 24 + adds r5, r4, 0 + cmp r0, 0 + bne _080380D8 + adds r5, r6, 0 +_080380D8: + ldr r4, [r5, 0x10] + movs r0, 0x2 + adds r1, r4, 0 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + bne _08038110 + movs r0, 0x4 + adds r1, r4, 0 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + bne _08038110 + movs r0, 0x6 + adds r1, r4, 0 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + bne _08038110 + ldr r0, [r5, 0x10] + bl sub_8095298 + lsls r0, 24 + cmp r0, 0 + beq _08038114 +_08038110: + movs r0, 0x7 + b _08038126 +_08038114: + bl sub_8095190 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + beq _08038124 + movs r0, 0 + b _08038126 +_08038124: + movs r0, 0xD +_08038126: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80380C4 + + thumb_func_start sub_803812C +sub_803812C: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + bne _0803813E + adds r4, r5, 0 +_0803813E: + ldr r1, [r4, 0x10] + movs r0, 0x1 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + bne _08038150 + movs r0, 0x9 + b _08038152 +_08038150: + movs r0, 0 +_08038152: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_803812C + + thumb_func_start sub_8038158 +sub_8038158: + movs r0, 0 + bx lr + thumb_func_end sub_8038158 + + thumb_func_start sub_803815C +sub_803815C: + push {r4,lr} + adds r3, r1, 0 + movs r4, 0 + cmp r0, 0xA + bhi _080381D2 + lsls r0, 2 + ldr r1, _08038170 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08038170: .4byte _08038174 + .align 2, 0 +_08038174: + .4byte _080381A0 + .4byte _080381A0 + .4byte _080381D2 + .4byte _080381B4 + .4byte _080381D2 + .4byte _080381BE + .4byte _080381D2 + .4byte _080381AA + .4byte _080381D2 + .4byte _080381D2 + .4byte _080381C8 +_080381A0: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_8038014 + b _080381D0 +_080381AA: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_8038078 + b _080381D0 +_080381B4: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_80380C4 + b _080381D0 +_080381BE: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_803812C + b _080381D0 +_080381C8: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_8038158 +_080381D0: + adds r4, r0, 0 +_080381D2: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_803815C + + thumb_func_start sub_80381DC +sub_80381DC: + push {lr} + bl sub_8037F9C + pop {r0} + bx r0 + thumb_func_end sub_80381DC + + thumb_func_start sub_80381E8 +sub_80381E8: + push {lr} + bl sub_803815C + pop {r1} + bx r1 + thumb_func_end sub_80381E8 + + thumb_func_start sub_80381F4 +sub_80381F4: + push {r4-r7,lr} + sub sp, 0x4 + adds r5, r0, 0 + adds r6, r1, 0 + adds r7, r2, 0 + movs r4, 0 + bl sub_803815C + str r0, [sp] + ldr r0, _08038218 + str r4, [r0] + bl sub_800D494 + mov r0, sp + movs r1, 0x4 + bl sub_800D59C + b _0803822E + .align 2, 0 +_08038218: .4byte gUnknown_202EC4C +_0803821C: + subs r0, r4, 0x3 + cmp r0, 0x2 + bls _08038272 + ldr r1, _08038250 + ldr r0, [r1] + cmp r0, 0x63 + bgt _0803827E + adds r0, 0x1 + str r0, [r1] +_0803822E: + bl sub_80373C4 + bl sub_800D33C + adds r4, r0, 0 + bl sub_800D570 + cmp r4, 0x2 + bne _0803821C + bl sub_800D600 + lsls r0, 24 + cmp r0, 0 + beq _08038254 + bl sub_8037DF0 + b _0803825E + .align 2, 0 +_08038250: .4byte gUnknown_202EC4C +_08038254: + bl sub_800D520 + bl sub_800D510 + movs r0, 0x5 +_0803825E: + str r0, [sp] + ldr r0, [sp] + cmp r0, 0 + bne _0803828A + adds r0, r5, 0 + adds r1, r6, 0 + adds r2, r7, 0 + bl sub_8037F9C + b _08038292 +_08038272: + bl sub_800D520 + bl sub_800D510 + movs r0, 0x1 + b _08038298 +_0803827E: + bl sub_800D520 + bl sub_800D510 + movs r0, 0xF + b _08038298 +_0803828A: + bl sub_800D520 + bl sub_800D510 +_08038292: + bl sub_800D520 + ldr r0, [sp] +_08038298: + add sp, 0x4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80381F4 + + thumb_func_start sub_80382A0 +sub_80382A0: + push {lr} + movs r0, 0 + bl sub_8031F60 + pop {r0} + bx r0 + thumb_func_end sub_80382A0 + + thumb_func_start sub_80382AC +sub_80382AC: + push {lr} + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r0} + bx r0 + thumb_func_end sub_80382AC + + thumb_func_start sub_80382C0 +sub_80382C0: + push {r4,lr} + ldr r4, _080382E0 + movs r0, 0x1 + bl sub_8031FD8 + cmp r0, 0x1 + bls _080382D8 + cmp r0, 0x3 + bhi _080382D8 + bl sub_803203C + movs r4, 0x1 +_080382D8: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080382E0: .4byte 0x0000ffdc + thumb_func_end sub_80382C0 + + thumb_func_start sub_80382E4 +sub_80382E4: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x10 + mov r8, r0 + ldr r5, _08038398 + ldr r0, [r5] + cmp r0, 0 + bne _0803830E + movs r4, 0xDA + lsls r4, 1 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 +_0803830E: + mov r12, r5 + movs r0, 0xA4 + lsls r0, 1 + mov r9, r0 + ldr r4, _0803839C + movs r3, 0 + movs r2, 0x3 +_0803831C: + mov r5, r12 + ldr r1, [r5] + adds r1, r3 + add r1, r9 + 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 _0803831C + bl sub_8004914 + ldr r5, _08038398 + ldr r0, [r5] + movs r6, 0xA4 + lsls r6, 1 + adds r0, r6 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + mov r7, r8 + cmp r7, 0x25 + bne _08038370 + ldr r1, [r5] + adds r0, r1, 0 + adds r0, 0x8 + adds r1, r6 + ldr r3, _080383A0 + ldr r2, _080383A4 + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r2, 0x4 + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems +_08038370: + ldr r0, [r5] + adds r0, 0x8 + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + ldr r1, [r5] + mov r0, r8 + str r0, [r1] + movs r0, 0 + str r0, [r1, 0x4] + bl sub_8038440 + add sp, 0x10 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08038398: .4byte gUnknown_203B360 +_0803839C: .4byte gUnknown_80E6E7C +_080383A0: .4byte gUnknown_80E6E94 +_080383A4: .4byte gUnknown_80E6EAC + thumb_func_end sub_80382E4 + + thumb_func_start sub_80383A8 +sub_80383A8: + push {r4,lr} + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _080383D0 + ldr r0, [r4] + cmp r0, 0 + beq _080383C8 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_080383C8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080383D0: .4byte gUnknown_203B360 + thumb_func_end sub_80383A8 + + thumb_func_start sub_80383D4 +sub_80383D4: + push {r4-r6,lr} + sub sp, 0x4 + movs r0, 0x2 + str r0, [sp] + ldr r6, _08038410 + ldr r4, _08038414 + ldr r0, [r4] + ldr r5, [r0, 0x4] + cmp r5, 0 + bne _08038434 + adds r0, 0x8 + bl sub_80130A8 + lsls r0, 24 + cmp r0, 0 + bne _080383FE + ldr r0, [r4] + adds r0, 0x8 + mov r1, sp + bl sub_8013114 +_080383FE: + ldr r0, [sp] + cmp r0, 0x2 + beq _0803842C + cmp r0, 0x2 + bhi _08038418 + cmp r0, 0x1 + beq _0803841C + b _08038430 + .align 2, 0 +_08038410: .4byte 0x0000ffdc +_08038414: .4byte gUnknown_203B360 +_08038418: + cmp r0, 0x3 + bne _08038430 +_0803841C: + ldr r0, _08038428 + ldr r1, [r0] + movs r0, 0 + str r0, [r1, 0x4] + movs r6, 0x1 + b _08038430 + .align 2, 0 +_08038428: .4byte gUnknown_203B360 +_0803842C: + ldr r0, [r4] + str r5, [r0, 0x4] +_08038430: + bl sub_80384D0 +_08038434: + adds r0, r6, 0 + add sp, 0x4 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80383D4 + + thumb_func_start sub_8038440 +sub_8038440: + push {r4,r5,lr} + movs r5, 0 + ldr r0, _080384B0 + ldr r0, [r0] + mov r12, r0 + movs r3, 0xD4 + lsls r3, 1 + add r3, r12 + ldrh r1, [r3] + ldr r0, _080384B4 + ands r0, r1 + ldr r1, _080384B8 + ands r0, r1 + ldr r4, _080384BC + ands r0, r4 + ldr r1, _080384C0 + ands r0, r1 + ldr r1, _080384C4 + ands r0, r1 + movs r2, 0x80 + lsls r2, 7 + ldr r1, _080384C8 + ands r0, r1 + orrs r0, r2 + strh r0, [r3] + movs r2, 0xFC + lsls r2, 2 + ldrh r1, [r3, 0x4] + movs r0, 0xFC + lsls r0, 8 + ands r0, r1 + orrs r0, r2 + ands r0, r4 + movs r2, 0xF + movs r4, 0xF0 + lsls r4, 8 + ldr r1, _080384CC + ands r0, r1 + orrs r0, r4 + strh r0, [r3, 0x4] + movs r0, 0x70 + strh r0, [r3, 0x2] + movs r1, 0xE0 + lsls r1, 3 + ldrh r0, [r3, 0x6] + ands r2, r0 + orrs r2, r1 + strh r2, [r3, 0x6] + movs r0, 0xD8 + lsls r0, 1 + add r0, r12 + str r5, [r0] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080384B0: .4byte gUnknown_203B360 +_080384B4: .4byte 0x0000feff +_080384B8: .4byte 0x0000fdff +_080384BC: .4byte 0x0000f3ff +_080384C0: .4byte 0x0000efff +_080384C4: .4byte 0x0000dfff +_080384C8: .4byte 0x00003fff +_080384CC: .4byte 0x00000fff + thumb_func_end sub_8038440 + + thumb_func_start sub_80384D0 +sub_80384D0: + push {r4,r5,lr} + ldr r5, _08038508 + ldr r2, [r5] + movs r4, 0xD8 + lsls r4, 1 + adds r0, r2, r4 + ldr r0, [r0] + movs r1, 0x8 + ands r0, r1 + cmp r0, 0 + beq _080384F6 + movs r1, 0xD4 + lsls r1, 1 + adds r0, r2, r1 + subs r1, 0xA8 + movs r2, 0 + movs r3, 0 + bl AddSprite +_080384F6: + ldr r1, [r5] + adds r1, r4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08038508: .4byte gUnknown_203B360 + thumb_func_end sub_80384D0 + + thumb_func_start sub_803850C +sub_803850C: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x10 + mov r8, r0 + ldr r5, _0803859C + ldr r0, [r5] + cmp r0, 0 + bne _08038536 + movs r4, 0xDA + lsls r4, 1 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 +_08038536: + mov r12, r5 + movs r0, 0xA4 + lsls r0, 1 + mov r9, r0 + ldr r4, _080385A0 + movs r3, 0 + movs r2, 0x3 +_08038544: + mov r5, r12 + ldr r1, [r5] + adds r1, r3 + add r1, r9 + 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 _08038544 + bl sub_8004914 + ldr r4, _0803859C + ldr r0, [r4] + movs r6, 0xA4 + lsls r6, 1 + adds r0, r6 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + mov r7, r8 + cmp r7, 0x2E + bne _080385AC + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x8 + adds r1, r6 + ldr r3, _080385A4 + ldr r2, _080385A8 + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + b _080385CE + .align 2, 0 +_0803859C: .4byte gUnknown_203B364 +_080385A0: .4byte gUnknown_80E6F20 +_080385A4: .4byte gUnknown_80E6F38 +_080385A8: .4byte gUnknown_80E7090 +_080385AC: + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _080385F8 + ldr r2, _080385FC + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems +_080385CE: + ldr r4, _08038600 + ldr r0, [r4] + adds r0, 0x8 + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + ldr r1, [r4] + movs r0, 0 + str r0, [r1, 0x4] + mov r5, r8 + str r5, [r1] + bl sub_8038830 + add sp, 0x10 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080385F8: .4byte gUnknown_80E6F38 +_080385FC: .4byte gUnknown_80E6F50 +_08038600: .4byte gUnknown_203B364 + thumb_func_end sub_803850C + + thumb_func_start sub_8038604 +sub_8038604: + push {r4,lr} + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _0803862C + ldr r0, [r4] + cmp r0, 0 + beq _08038624 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_08038624: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803862C: .4byte gUnknown_203B364 + thumb_func_end sub_8038604 + + thumb_func_start sub_8038630 +sub_8038630: + push {r4-r6,lr} + sub sp, 0x18 + ldr r5, _080386A8 + movs r0, 0x3 + str r0, [sp, 0x14] + ldr r6, _080386AC + ldr r0, [r6] + ldr r4, [r0, 0x4] + cmp r4, 0x1 + bne _08038646 + b _08038798 +_08038646: + cmp r4, 0x1 + bcc _0803864C + b _08038824 +_0803864C: + adds r0, 0x8 + bl sub_8012FD8 + movs r5, 0 + str r5, [sp, 0x10] + bl sub_80140F8 + bl sub_8011C1C + adds r1, r0, 0 + add r0, sp, 0x10 + bl sub_801203C + adds r4, r0, 0 + bl sub_8014114 + cmp r4, 0 + beq _080386B8 + cmp r4, 0x1 + beq _08038738 + ldr r0, [r6] + movs r4, 0xA4 + lsls r4, 1 + adds r0, r4 + movs r1, 0 + bl sub_8035CC0 + ldr r1, [r6] + ldr r0, [r1] + cmp r0, 0x2E + bne _08038750 + adds r0, r1, 0 + adds r0, 0x8 + adds r1, r4 + ldr r3, _080386B0 + ldr r2, _080386B4 + str r2, [sp] + str r5, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r5, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + b _0803876E + .align 2, 0 +_080386A8: .4byte 0x0000ffdc +_080386AC: .4byte gUnknown_203B364 +_080386B0: .4byte gUnknown_80E6F38 +_080386B4: .4byte gUnknown_80E7114 +_080386B8: + ldr r0, [r6] + movs r1, 0xA4 + lsls r1, 1 + adds r0, r1 + movs r1, 0 + bl sub_8035CC0 + ldr r1, [r6] + ldr r0, [r1] + cmp r0, 0x2E + bne _080386F8 + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _080386F0 + ldr r2, _080386F4 + str r2, [sp] + str r5, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r5, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + b _08038716 + .align 2, 0 +_080386F0: .4byte gUnknown_80E6F38 +_080386F4: .4byte gUnknown_80E70CC +_080386F8: + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038728 + ldr r2, _0803872C + str r2, [sp] + str r5, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r5, [sp, 0xC] + movs r2, 0 + bl SetMenuItems +_08038716: + ldr r4, _08038730 + ldr r1, [r4] + ldr r0, [r1] + cmp r0, 0x2D + bne _08038734 + movs r0, 0x1 + str r0, [r1, 0x4] + movs r0, 0x13 + b _08038826 + .align 2, 0 +_08038728: .4byte gUnknown_80E6F38 +_0803872C: .4byte gUnknown_80E6FBC +_08038730: .4byte gUnknown_203B364 +_08038734: + adds r0, r1, 0 + b _08038772 +_08038738: + ldr r0, _0803874C + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl sub_80141B4 + ldr r1, [r6] + movs r0, 0x5 + b _08038780 + .align 2, 0 +_0803874C: .4byte gUnknown_80E7178 +_08038750: + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038788 + ldr r2, _0803878C + str r2, [sp] + str r5, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r5, [sp, 0xC] + movs r2, 0 + bl SetMenuItems +_0803876E: + ldr r4, _08038790 + ldr r0, [r4] +_08038772: + adds r0, 0x8 + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + ldr r1, [r4] + movs r0, 0x1 +_08038780: + str r0, [r1, 0x4] + ldr r5, _08038794 + b _08038824 + .align 2, 0 +_08038788: .4byte gUnknown_80E6F38 +_0803878C: .4byte gUnknown_80E701C +_08038790: .4byte gUnknown_203B364 +_08038794: .4byte 0x0000ffdc +_08038798: + adds r0, 0x8 + bl sub_80130A8 + lsls r0, 24 + cmp r0, 0 + bne _080387AE + ldr r0, [r6] + adds r0, 0x8 + add r1, sp, 0x14 + bl sub_8013114 +_080387AE: + ldr r0, [sp, 0x14] + cmp r0, 0x3 + beq _0803881C + cmp r0, 0x3 + bhi _080387BE + cmp r0, 0x2 + beq _080387C2 + b _08038820 +_080387BE: + cmp r0, 0x4 + bne _08038820 +_080387C2: + ldr r4, _080387D8 + ldr r1, [r4] + ldr r0, [r1] + cmp r0, 0x29 + beq _080387D0 + cmp r0, 0x2E + bne _080387DC +_080387D0: + movs r0, 0x1 + str r0, [r1, 0x4] + movs r5, 0x1 + b _08038820 + .align 2, 0 +_080387D8: .4byte gUnknown_203B364 +_080387DC: + cmp r0, 0x2D + bne _080387E8 + movs r0, 0x1 + str r0, [r1, 0x4] + movs r5, 0x13 + b _08038820 +_080387E8: + cmp r0, 0x2C + bne _080387F4 + movs r0, 0x1 + str r0, [r1, 0x4] + movs r5, 0x1F + b _08038820 +_080387F4: + bl sub_8035D4C + adds r0, 0x3A + ldrb r0, [r0] + cmp r0, 0 + beq _0803880A + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0x4] + movs r5, 0x35 + b _08038820 +_0803880A: + ldr r0, [r4] + movs r1, 0x1 + str r1, [r0, 0x4] + ldr r0, [r0] + movs r5, 0xB + cmp r0, 0x2B + bne _08038820 + movs r5, 0xD + b _08038820 +_0803881C: + ldr r0, [r6] + str r4, [r0, 0x4] +_08038820: + bl sub_80388C4 +_08038824: + adds r0, r5, 0 +_08038826: + add sp, 0x18 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8038630 + + thumb_func_start sub_8038830 +sub_8038830: + push {r4,r5,lr} + movs r5, 0 + ldr r0, _080388A4 + ldr r0, [r0] + mov r12, r0 + movs r3, 0xD4 + lsls r3, 1 + add r3, r12 + ldrh r1, [r3] + ldr r0, _080388A8 + ands r0, r1 + ldr r1, _080388AC + ands r0, r1 + ldr r4, _080388B0 + ands r0, r4 + ldr r1, _080388B4 + ands r0, r1 + ldr r1, _080388B8 + ands r0, r1 + movs r2, 0x80 + lsls r2, 7 + ldr r1, _080388BC + ands r0, r1 + orrs r0, r2 + strh r0, [r3] + movs r2, 0xFC + lsls r2, 2 + ldrh r1, [r3, 0x4] + movs r0, 0xFC + lsls r0, 8 + ands r0, r1 + orrs r0, r2 + ands r0, r4 + movs r2, 0xF + movs r4, 0xF0 + lsls r4, 8 + ldr r1, _080388C0 + ands r0, r1 + orrs r0, r4 + strh r0, [r3, 0x4] + movs r0, 0x70 + strh r0, [r3, 0x2] + movs r1, 0xD0 + lsls r1, 3 + ldrh r0, [r3, 0x6] + ands r2, r0 + orrs r2, r1 + strh r2, [r3, 0x6] + movs r0, 0xD8 + lsls r0, 1 + add r0, r12 + str r5, [r0] + movs r0, 0 + bl ResetSprites + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080388A4: .4byte gUnknown_203B364 +_080388A8: .4byte 0x0000feff +_080388AC: .4byte 0x0000fdff +_080388B0: .4byte 0x0000f3ff +_080388B4: .4byte 0x0000efff +_080388B8: .4byte 0x0000dfff +_080388BC: .4byte 0x00003fff +_080388C0: .4byte 0x00000fff + thumb_func_end sub_8038830 + + thumb_func_start sub_80388C4 +sub_80388C4: + push {r4,r5,lr} + ldr r5, _080388FC + ldr r2, [r5] + movs r4, 0xD8 + lsls r4, 1 + adds r0, r2, r4 + ldr r0, [r0] + movs r1, 0x8 + ands r0, r1 + cmp r0, 0 + beq _080388EA + movs r1, 0xD4 + lsls r1, 1 + adds r0, r2, r1 + subs r1, 0xA8 + movs r2, 0 + movs r3, 0 + bl AddSprite +_080388EA: + ldr r1, [r5] + adds r1, r4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080388FC: .4byte gUnknown_203B364 + thumb_func_end sub_80388C4 + + thumb_func_start sub_8038900 +sub_8038900: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r6, r0, 0 + ldr r5, _080389B8 + ldr r0, [r5] + cmp r0, 0 + bne _0803892A + movs r4, 0x85 + lsls r4, 2 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 +_0803892A: + movs r0, 0x1B + negs r0, r0 + adds r0, r6 + mov r8, r0 + mov r12, r5 + movs r1, 0xA4 + lsls r1, 1 + mov r9, r1 + ldr r4, _080389BC + mov r10, r4 + movs r3, 0 + movs r2, 0x3 +_08038942: + mov r5, r12 + ldr r1, [r5] + adds r1, r3 + add r1, r9 + mov r0, r10 + ldm r0!, {r4,r5,r7} + stm r1!, {r4,r5,r7} + ldm r0!, {r4,r5,r7} + stm r1!, {r4,r5,r7} + adds r3, 0x18 + subs r2, 0x1 + cmp r2, 0 + bge _08038942 + bl sub_8004914 + ldr r4, _080389B8 + ldr r0, [r4] + movs r7, 0xA4 + lsls r7, 1 + adds r0, r7 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r2, _080389C0 + ldrb r0, [r2] + cmp r0, 0 + bne _08038986 + ldr r0, _080389C4 + ldr r1, [r0] + adds r7, r4, 0 + adds r5, r0, 0 + cmp r1, r6 + beq _080389A0 +_08038986: + adds r7, r4, 0 + adds r3, r2, 0 + ldr r5, _080389C4 + ldr r1, _080389C8 + movs r2, 0 + adds r0, r1, 0 + adds r0, 0x35 +_08038994: + strb r2, [r0] + subs r0, 0x1 + cmp r0, r1 + bge _08038994 + movs r0, 0 + strb r0, [r3] +_080389A0: + ldr r0, [r7] + str r6, [r0] + str r6, [r5] + mov r0, r8 + cmp r0, 0x7 + bhi _08038A36 + lsls r0, 2 + ldr r1, _080389CC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080389B8: .4byte gUnknown_203B370 +_080389BC: .4byte gUnknown_80E71E4 +_080389C0: .4byte gUnknown_203B368 +_080389C4: .4byte gUnknown_203B36C +_080389C8: .4byte gUnknown_202EC50 +_080389CC: .4byte _080389D0 + .align 2, 0 +_080389D0: + .4byte _080389F0 + .4byte _080389FC + .4byte _080389F0 + .4byte _080389FC + .4byte _080389F0 + .4byte _080389FC + .4byte _08038A0C + .4byte _08038A2E +_080389F0: + bl sub_8035D74 + movs r1, 0 + bl sub_8031D70 + b _08038A36 +_080389FC: + ldr r1, _08038A08 + movs r0, 0x4 + bl sub_80151C0 + b _08038A36 + .align 2, 0 +_08038A08: .4byte gUnknown_202EC50 +_08038A0C: + movs r0, 0x1F + bl sub_8095228 + adds r4, r0, 0 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + movs r1, 0 + movs r0, 0x2 + strb r0, [r4] + adds r4, 0x22 + strb r1, [r4] + movs r0, 0x1F + bl sub_8031D70 + b _08038A36 +_08038A2E: + ldr r1, _08038A54 + movs r0, 0x4 + bl sub_80151C0 +_08038A36: + adds r0, r6, 0 + bl sub_8039000 + ldr r1, _08038A58 + ldr r1, [r1] + str r0, [r1, 0x4] + bl sub_8039174 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08038A54: .4byte gUnknown_202EC50 +_08038A58: .4byte gUnknown_203B370 + thumb_func_end sub_8038900 + + thumb_func_start sub_8038A5C +sub_8038A5C: + push {r4,lr} + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _08038A8C + ldr r0, [r4] + cmp r0, 0 + beq _08038A86 + bl sub_80155F0 + bl sub_8031E10 + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_08038A86: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08038A8C: .4byte gUnknown_203B370 + thumb_func_end sub_8038A5C + + thumb_func_start sub_8038A90 +sub_8038A90: + push {r4-r6,lr} + sub sp, 0x34 + movs r0, 0xB + str r0, [sp, 0x30] + ldr r5, _08038AB4 + ldr r1, _08038AB8 + ldr r0, [r1] + ldr r0, [r0, 0x4] + adds r6, r1, 0 + cmp r0, 0x9 + bls _08038AA8 + b _08038DB0 +_08038AA8: + lsls r0, 2 + ldr r1, _08038ABC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08038AB4: .4byte 0x0000ffdc +_08038AB8: .4byte gUnknown_203B370 +_08038ABC: .4byte _08038AC0 + .align 2, 0 +_08038AC0: + .4byte _08038AE8 + .4byte _08038AFC + .4byte _08038AE8 + .4byte _08038AFC + .4byte _08038AE8 + .4byte _08038AFC + .4byte _08038C78 + .4byte _08038C8C + .4byte _08038CC2 + .4byte _08038D38 +_08038AE8: + bl sub_8031DCC + ldr r5, _08038AF8 + cmp r0, 0 + bne _08038AF4 + b _08038DB0 +_08038AF4: + movs r5, 0xB + b _08038DB0 + .align 2, 0 +_08038AF8: .4byte 0x0000ffdc +_08038AFC: + bl sub_80154F0 + adds r4, r0, 0 + mov r0, sp + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + cmp r4, 0x1 + bne _08038B12 + b _08038CBC +_08038B12: + cmp r4, 0x1 + bcs _08038B18 + b _08038CB0 +_08038B18: + cmp r4, 0x2 + beq _08038AF4 + cmp r4, 0x3 + beq _08038B22 + b _08038DB0 +_08038B22: + ldr r0, _08038B44 + ldr r0, [r0] + ldr r0, [r0] + ldr r1, _08038B48 + mov r2, sp + bl sub_8039068 + subs r0, 0x7 + cmp r0, 0x11 + bls _08038B38 + b _08038DB0 +_08038B38: + lsls r0, 2 + ldr r1, _08038B4C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08038B44: .4byte gUnknown_203B370 +_08038B48: .4byte gUnknown_202EC50 +_08038B4C: .4byte _08038B50 + .align 2, 0 +_08038B50: + .4byte _08038BA4 + .4byte _08038DB0 + .4byte _08038BD8 + .4byte _08038DB0 + .4byte _08038C28 + .4byte _08038DB0 + .4byte _08038B9C + .4byte _08038DB0 + .4byte _08038DB0 + .4byte _08038DB0 + .4byte _08038B98 + .4byte _08038BA0 + .4byte _08038BD4 + .4byte _08038C24 + .4byte _08038DB0 + .4byte _08038BA8 + .4byte _08038BDC + .4byte _08038C2C +_08038B98: + movs r0, 0x11 + b _08038CA4 +_08038B9C: + movs r0, 0xD + b _08038CA4 +_08038BA0: + movs r0, 0x12 + b _08038CA4 +_08038BA4: + movs r0, 0x7 + b _08038CA4 +_08038BA8: + ldr r0, [sp, 0x10] + bl sub_8095274 + bl sub_8038F98 + ldr r0, _08038BCC + ldr r1, [r0] + movs r0, 0x9 + str r0, [r1, 0x4] + ldr r5, _08038BD0 + mov r1, sp + movs r0, 0x2 + strb r0, [r1] + mov r0, sp + bl sub_80951BC + b _08038DB0 + .align 2, 0 +_08038BCC: .4byte gUnknown_203B370 +_08038BD0: .4byte 0x0000ffdc +_08038BD4: + movs r0, 0x13 + b _08038CA4 +_08038BD8: + movs r0, 0x9 + b _08038CA4 +_08038BDC: + bl sub_8038F98 + ldr r0, _08038C18 + ldr r1, [r0] + movs r0, 0x9 + str r0, [r1, 0x4] + ldr r5, _08038C1C + mov r1, sp + movs r0, 0x5 + strb r0, [r1] + mov r0, sp + bl sub_80951FC + ldr r1, [sp, 0x10] + movs r0, 0x1 + bl sub_809539C + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + movs r1, 0x7 + strb r1, [r0] + ldr r0, _08038C20 + movs r1, 0 + movs r2, 0x5C + bl MemoryFill8 + b _08038DB0 + .align 2, 0 +_08038C18: .4byte gUnknown_203B370 +_08038C1C: .4byte 0x0000ffdc +_08038C20: .4byte gUnknown_203B484 +_08038C24: + movs r0, 0x14 + b _08038CA4 +_08038C28: + movs r0, 0xB + b _08038CA4 +_08038C2C: + bl sub_8038F98 + ldr r0, _08038C70 + ldr r1, [r0] + movs r0, 0x9 + str r0, [r1, 0x4] + ldr r5, _08038C74 + ldr r1, [sp, 0x10] + movs r0, 0x4 + bl sub_809539C + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + adds r2, r0, 0 + mov r1, sp + ldm r1!, {r3,r4,r6} + stm r2!, {r3,r4,r6} + ldm r1!, {r3,r4,r6} + stm r2!, {r3,r4,r6} + ldm r1!, {r3,r4,r6} + stm r2!, {r3,r4,r6} + ldm r1!, {r3,r4,r6} + stm r2!, {r3,r4,r6} + movs r1, 0x6 + strb r1, [r0] + bl sub_8035D4C + adds r0, 0x3A + movs r1, 0x1 + strb r1, [r0] + b _08038DB0 + .align 2, 0 +_08038C70: .4byte gUnknown_203B370 +_08038C74: .4byte 0x0000ffdc +_08038C78: + bl sub_8031DCC + ldr r5, _08038C88 + cmp r0, 0 + bne _08038C84 + b _08038DB0 +_08038C84: + movs r5, 0xD + b _08038DB0 + .align 2, 0 +_08038C88: .4byte 0x0000ffdc +_08038C8C: + bl sub_80154F0 + cmp r0, 0x1 + beq _08038CBC + cmp r0, 0x1 + bcc _08038CB0 + cmp r0, 0x2 + beq _08038C84 + cmp r0, 0x3 + beq _08038CA2 + b _08038DB0 +_08038CA2: + movs r0, 0x15 +_08038CA4: + bl sub_8038DC0 + ldr r0, _08038CB4 + ldr r1, [r0] + movs r0, 0x8 + str r0, [r1, 0x4] +_08038CB0: + ldr r5, _08038CB8 + b _08038DB0 + .align 2, 0 +_08038CB4: .4byte gUnknown_203B370 +_08038CB8: .4byte 0x0000ffdc +_08038CBC: + bl sub_8031E00 + b _08038CB0 +_08038CC2: + ldr r0, [r6] + adds r0, 0x8 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08038CDA + ldr r0, [r6] + adds r0, 0x8 + add r1, sp, 0x30 + bl sub_8013114 +_08038CDA: + ldr r0, [sp, 0x30] + cmp r0, 0xB + beq _08038D24 + cmp r0, 0xB + bhi _08038CEA + cmp r0, 0xA + beq _08038CEE + b _08038DB0 +_08038CEA: + cmp r0, 0xC + bne _08038DB0 +_08038CEE: + bl sub_8039174 + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r1, _08038D1C + movs r0, 0x4 + bl sub_80151C0 + ldr r0, _08038D20 + ldr r1, [r0] + movs r0, 0x8 + str r0, [r1, 0x4] + ldr r0, [r1] + subs r0, 0x21 + movs r5, 0xB + cmp r0, 0x1 + bhi _08038DB0 + b _08038C84 + .align 2, 0 +_08038D1C: .4byte gUnknown_202EC50 +_08038D20: .4byte gUnknown_203B370 +_08038D24: + ldr r1, [r6] + movs r0, 0x8 + str r0, [r1, 0x4] + ldr r5, _08038D34 + bl sub_80391F8 + b _08038DB0 + .align 2, 0 +_08038D34: .4byte 0x0000ffdc +_08038D38: + adds r4, r6, 0 + ldr r0, [r4] + adds r0, 0x8 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08038D52 + ldr r0, [r4] + adds r0, 0x8 + add r1, sp, 0x30 + bl sub_8013114 +_08038D52: + ldr r0, [sp, 0x30] + cmp r0, 0xB + beq _08038DA4 + cmp r0, 0xB + bhi _08038D62 + cmp r0, 0xA + beq _08038D66 + b _08038DB0 +_08038D62: + cmp r0, 0xC + bne _08038DB0 +_08038D66: + bl sub_8039174 + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r1, _08038D9C + movs r0, 0x4 + bl sub_80151C0 + ldr r4, _08038DA0 + ldr r0, [r4] + ldr r0, [r0] + bl sub_8039000 + ldr r1, [r4] + str r0, [r1, 0x4] + ldr r0, [r1] + subs r0, 0x21 + movs r5, 0x2A + cmp r0, 0x1 + bhi _08038DB0 + movs r5, 0x2B + b _08038DB0 + .align 2, 0 +_08038D9C: .4byte gUnknown_202EC50 +_08038DA0: .4byte gUnknown_203B370 +_08038DA4: + ldr r1, [r6] + movs r0, 0x9 + str r0, [r1, 0x4] + ldr r5, _08038DBC + bl sub_80391F8 +_08038DB0: + adds r0, r5, 0 + add sp, 0x34 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08038DBC: .4byte 0x0000ffdc + thumb_func_end sub_8038A90 + + thumb_func_start sub_8038DC0 +sub_8038DC0: + push {r4,lr} + sub sp, 0x10 + adds r4, r0, 0 + ldr r0, _08038DF8 + ldr r0, [r0] + movs r1, 0xD4 + lsls r1, 1 + adds r0, r1 + bl sub_8006518 + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl sub_80155F0 + subs r0, r4, 0x7 + cmp r0, 0xE + bls _08038DEE + b _08038F74 +_08038DEE: + lsls r0, 2 + ldr r1, _08038DFC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08038DF8: .4byte gUnknown_203B370 +_08038DFC: .4byte _08038E00 + .align 2, 0 +_08038E00: + .4byte _08038E7C + .4byte _08038F74 + .4byte _08038EDC + .4byte _08038F74 + .4byte _08038F1C + .4byte _08038F74 + .4byte _08038E9C + .4byte _08038F74 + .4byte _08038F74 + .4byte _08038F74 + .4byte _08038E3C + .4byte _08038E5C + .4byte _08038EBC + .4byte _08038EFC + .4byte _08038F50 +_08038E3C: + ldr r0, _08038E50 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038E54 + ldr r2, _08038E58 + b _08038F2E + .align 2, 0 +_08038E50: .4byte gUnknown_203B370 +_08038E54: .4byte gUnknown_80E71FC +_08038E58: .4byte gUnknown_80E7214 +_08038E5C: + ldr r0, _08038E70 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038E74 + ldr r2, _08038E78 + b _08038F2E + .align 2, 0 +_08038E70: .4byte gUnknown_203B370 +_08038E74: .4byte gUnknown_80E72EC +_08038E78: .4byte gUnknown_80E7304 +_08038E7C: + ldr r0, _08038E90 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038E94 + ldr r2, _08038E98 + b _08038F2E + .align 2, 0 +_08038E90: .4byte gUnknown_203B370 +_08038E94: .4byte gUnknown_80E7344 +_08038E98: .4byte gUnknown_80E735C +_08038E9C: + ldr r0, _08038EB0 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038EB4 + ldr r2, _08038EB8 + b _08038F2E + .align 2, 0 +_08038EB0: .4byte gUnknown_203B370 +_08038EB4: .4byte gUnknown_80E7588 +_08038EB8: .4byte gUnknown_80E75A0 +_08038EBC: + ldr r0, _08038ED0 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038ED4 + ldr r2, _08038ED8 + b _08038F2E + .align 2, 0 +_08038ED0: .4byte gUnknown_203B370 +_08038ED4: .4byte gUnknown_80E73AC +_08038ED8: .4byte gUnknown_80E73C4 +_08038EDC: + ldr r0, _08038EF0 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038EF4 + ldr r2, _08038EF8 + b _08038F2E + .align 2, 0 +_08038EF0: .4byte gUnknown_203B370 +_08038EF4: .4byte gUnknown_80E7408 +_08038EF8: .4byte gUnknown_80E7420 +_08038EFC: + ldr r0, _08038F10 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038F14 + ldr r2, _08038F18 + b _08038F2E + .align 2, 0 +_08038F10: .4byte gUnknown_203B370 +_08038F14: .4byte gUnknown_80E7468 +_08038F18: .4byte gUnknown_80E7480 +_08038F1C: + ldr r0, _08038F44 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038F48 + ldr r2, _08038F4C +_08038F2E: + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r2, 0xD + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + b _08038F74 + .align 2, 0 +_08038F44: .4byte gUnknown_203B370 +_08038F48: .4byte gUnknown_80E74C8 +_08038F4C: .4byte gUnknown_80E74E0 +_08038F50: + ldr r0, _08038F8C + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038F90 + ldr r2, _08038F94 + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r2, 0xD + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems +_08038F74: + ldr r0, _08038F8C + ldr r0, [r0] + adds r0, 0x8 + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + add sp, 0x10 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08038F8C: .4byte gUnknown_203B370 +_08038F90: .4byte gUnknown_80E752C +_08038F94: .4byte gUnknown_80E7544 + thumb_func_end sub_8038DC0 + + thumb_func_start sub_8038F98 +sub_8038F98: + push {r4,r5,lr} + sub sp, 0x10 + ldr r5, _08038FF4 + ldr r0, [r5] + movs r1, 0xD4 + lsls r1, 1 + adds r0, r1 + bl sub_8006518 + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl sub_80155F0 + ldr r1, [r5] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038FF8 + ldr r2, _08038FFC + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r2, 0xD + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + ldr r0, [r5] + adds r0, 0x8 + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08038FF4: .4byte gUnknown_203B370 +_08038FF8: .4byte gUnknown_80E7278 +_08038FFC: .4byte gUnknown_80E7290 + thumb_func_end sub_8038F98 + + thumb_func_start sub_8039000 +sub_8039000: + push {lr} + movs r1, 0xB + ldr r0, _0803901C + ldr r0, [r0] + ldr r0, [r0] + subs r0, 0x1B + cmp r0, 0x7 + bhi _08039062 + lsls r0, 2 + ldr r1, _08039020 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803901C: .4byte gUnknown_203B370 +_08039020: .4byte _08039024 + .align 2, 0 +_08039024: + .4byte _08039044 + .4byte _08039054 + .4byte _0803904C + .4byte _0803905C + .4byte _08039048 + .4byte _08039058 + .4byte _08039050 + .4byte _08039060 +_08039044: + movs r1, 0 + b _08039062 +_08039048: + movs r1, 0x4 + b _08039062 +_0803904C: + movs r1, 0x2 + b _08039062 +_08039050: + movs r1, 0x6 + b _08039062 +_08039054: + movs r1, 0x1 + b _08039062 +_08039058: + movs r1, 0x5 + b _08039062 +_0803905C: + movs r1, 0x3 + b _08039062 +_08039060: + movs r1, 0x7 +_08039062: + adds r0, r1, 0 + pop {r1} + bx r1 + thumb_func_end sub_8039000 + + thumb_func_start sub_8039068 +sub_8039068: + push {r4-r6,lr} + adds r6, r0, 0 + adds r0, r1, 0 + adds r5, r2, 0 + adds r1, r5, 0 + bl sub_803D204 + lsls r0, 24 + cmp r0, 0 + beq _080390AC + ldrb r0, [r5] + cmp r0, 0x7 + bhi _080390AC + ldrb r4, [r5, 0x5] + ldrb r0, [r5, 0x4] + bl sub_8090298 + cmp r4, r0 + bge _080390AC + movs r0, 0xC + ldrsh r1, [r5, r0] + cmp r1, 0 + beq _080390AC + ldr r0, _080390B0 + cmp r1, r0 + bgt _080390AC + adds r0, r5, 0 + adds r0, 0x22 + ldrb r0, [r0] + bl sub_8092040 + lsls r0, 24 + cmp r0, 0 + beq _080390B4 +_080390AC: + movs r0, 0x11 + b _0803916E + .align 2, 0 +_080390B0: .4byte 0x000001a7 +_080390B4: + cmp r6, 0x1E + beq _08039120 + cmp r6, 0x1E + bhi _080390C2 + cmp r6, 0x1C + beq _080390C8 + b _0803916A +_080390C2: + cmp r6, 0x20 + beq _08039140 + b _0803916A +_080390C8: + ldrb r0, [r5] + cmp r0, 0x1 + beq _080390D2 + movs r0, 0x12 + b _0803916E +_080390D2: + ldr r1, [r5, 0x10] + movs r0, 0x2 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + bne _08039108 + ldr r1, [r5, 0x10] + movs r0, 0x4 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + bne _08039108 + ldr r1, [r5, 0x10] + movs r0, 0x6 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + bne _08039108 + ldr r0, [r5, 0x10] + bl sub_8095298 + lsls r0, 24 + cmp r0, 0 + beq _0803910C +_08039108: + movs r0, 0x7 + b _0803916E +_0803910C: + bl sub_8095190 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _0803911C + movs r0, 0xD + b _0803916E +_0803911C: + movs r0, 0x16 + b _0803916E +_08039120: + ldrb r0, [r5] + cmp r0, 0x4 + beq _0803912A + movs r0, 0x13 + b _0803916E +_0803912A: + ldr r1, [r5, 0x10] + movs r0, 0x1 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + bne _0803913C + movs r0, 0x9 + b _0803916E +_0803913C: + movs r0, 0x17 + b _0803916E +_08039140: + ldrb r0, [r5] + cmp r0, 0x5 + beq _0803914A + movs r0, 0x14 + b _0803916E +_0803914A: + ldr r1, [r5, 0x10] + movs r0, 0x4 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + beq _08039162 + bl sub_8011C34 + ldr r1, [r5, 0x28] + cmp r1, r0 + beq _08039166 +_08039162: + movs r0, 0xB + b _0803916E +_08039166: + movs r0, 0x18 + b _0803916E +_0803916A: + movs r0, 0x1 + negs r0, r0 +_0803916E: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8039068 + + thumb_func_start sub_8039174 +sub_8039174: + push {r4,lr} + ldr r0, _080391D8 + ldr r3, [r0] + movs r0, 0x82 + lsls r0, 2 + adds r3, r0 + ldrh r1, [r3] + ldr r0, _080391DC + ands r0, r1 + ldr r1, _080391E0 + ands r0, r1 + ldr r4, _080391E4 + ands r0, r4 + ldr r1, _080391E8 + ands r0, r1 + ldr r1, _080391EC + ands r0, r1 + movs r2, 0x80 + lsls r2, 7 + ldr r1, _080391F0 + ands r0, r1 + orrs r0, r2 + strh r0, [r3] + movs r2, 0xFC + lsls r2, 2 + ldrh r1, [r3, 0x4] + movs r0, 0xFC + lsls r0, 8 + ands r0, r1 + orrs r0, r2 + ands r0, r4 + movs r2, 0xF + movs r4, 0xF0 + lsls r4, 8 + ldr r1, _080391F4 + ands r0, r1 + orrs r0, r4 + strh r0, [r3, 0x4] + movs r0, 0 + strh r0, [r3, 0x2] + movs r1, 0xC0 + lsls r1, 4 + ldrh r0, [r3, 0x6] + ands r2, r0 + orrs r2, r1 + strh r2, [r3, 0x6] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080391D8: .4byte gUnknown_203B370 +_080391DC: .4byte 0x0000feff +_080391E0: .4byte 0x0000fdff +_080391E4: .4byte 0x0000f3ff +_080391E8: .4byte 0x0000efff +_080391EC: .4byte 0x0000dfff +_080391F0: .4byte 0x00003fff +_080391F4: .4byte 0x00000fff + thumb_func_end sub_8039174 + + thumb_func_start sub_80391F8 +sub_80391F8: + push {r4-r6,lr} + ldr r6, _08039250 + ldr r2, [r6] + movs r0, 0x82 + lsls r0, 2 + adds r4, r2, r0 + ldrh r1, [r4, 0x2] + movs r0, 0xFE + lsls r0, 8 + ands r0, r1 + movs r1, 0x70 + orrs r0, r1 + strh r0, [r4, 0x2] + movs r3, 0xE0 + lsls r3, 3 + ldrh r1, [r4, 0x6] + movs r0, 0xF + ands r0, r1 + orrs r0, r3 + strh r0, [r4, 0x6] + movs r5, 0x84 + lsls r5, 2 + adds r2, r5 + ldr r0, [r2] + movs r1, 0x8 + ands r0, r1 + cmp r0, 0 + beq _0803923C + adds r1, 0xF8 + adds r0, r4, 0 + movs r2, 0 + movs r3, 0 + bl AddSprite +_0803923C: + bl xxx_draw_string_80144C4 + ldr r1, [r6] + adds r1, r5 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08039250: .4byte gUnknown_203B370 + thumb_func_end sub_80391F8 + + thumb_func_start sub_8039254 +sub_8039254: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x10 + adds r6, r0, 0 + ldr r5, _080392EC + ldr r0, [r5] + cmp r0, 0 + bne _0803927C + movs r4, 0x9F + lsls r4, 2 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 +_0803927C: + ldr r0, [r5] + str r6, [r0] + mov r12, r5 + movs r0, 0xA2 + lsls r0, 1 + mov r8, r0 + ldr r4, _080392F0 + movs r3, 0 + movs r2, 0x3 +_0803928E: + mov r5, r12 + ldr r1, [r5] + adds r1, r3 + add r1, r8 + 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 _0803928E + bl sub_8004914 + ldr r6, _080392EC + ldr r0, [r6] + movs r5, 0xA2 + lsls r5, 1 + adds r0, r5 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r1, [r6] + adds r0, r1, 0x4 + adds r1, r5 + ldr r3, _080392F4 + ldr r2, _080392F8 + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r7, 0x6 + str r7, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + ldr r1, [r6] + ldr r0, [r1] + cmp r0, 0x7 + beq _08039306 + cmp r0, 0x7 + bhi _080392FC + cmp r0, 0x6 + beq _08039338 + b _08039382 + .align 2, 0 +_080392EC: .4byte gUnknown_203B374 +_080392F0: .4byte gUnknown_80E75F8 +_080392F4: .4byte gUnknown_80E7610 +_080392F8: .4byte gUnknown_203B378 +_080392FC: + cmp r0, 0x8 + beq _0803934C + cmp r0, 0x9 + beq _0803936C + b _08039382 +_08039306: + bl sub_8039844 + lsls r0, 24 + cmp r0, 0 + beq _08039324 + ldr r1, [r6] + adds r0, r1, 0x4 + adds r1, r5 + ldr r3, _0803931C + ldr r2, _08039320 + b _08039354 + .align 2, 0 +_0803931C: .4byte gUnknown_80E762C +_08039320: .4byte gUnknown_80E7644 +_08039324: + ldr r1, [r6] + adds r0, r1, 0x4 + adds r1, r5 + ldr r3, _08039330 + ldr r2, _08039334 + b _08039354 + .align 2, 0 +_08039330: .4byte gUnknown_80E762C +_08039334: .4byte gUnknown_80E7684 +_08039338: + adds r0, r1, 0x4 + adds r1, r5 + ldr r3, _08039344 + ldr r2, _08039348 + b _08039354 + .align 2, 0 +_08039344: .4byte gUnknown_80E762C +_08039348: .4byte gUnknown_80E76B8 +_0803934C: + adds r0, r1, 0x4 + adds r1, r5 + ldr r3, _08039364 + ldr r2, _08039368 +_08039354: + str r2, [sp] + str r4, [sp, 0x4] + str r7, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0x1 + bl SetMenuItems + b _08039382 + .align 2, 0 +_08039364: .4byte gUnknown_80E762C +_08039368: .4byte gUnknown_80E76E8 +_0803936C: + adds r0, r1, 0x4 + adds r1, r5 + ldr r3, _080393DC + ldr r2, _080393E0 + str r2, [sp] + str r4, [sp, 0x4] + str r7, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0x1 + bl SetMenuItems +_08039382: + ldr r4, _080393E4 + ldr r1, [r4] + adds r0, r1, 0x4 + movs r6, 0xA2 + lsls r6, 1 + adds r1, r6 + ldr r3, _080393E8 + ldr r2, _080393EC + str r2, [sp] + movs r2, 0x1 + str r2, [sp, 0x4] + movs r2, 0x2 + str r2, [sp, 0x8] + movs r2, 0 + str r2, [sp, 0xC] + movs r2, 0x2 + bl SetMenuItems + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0 + movs r2, 0 + bl sub_8035CF4 + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0x1 + movs r2, 0 + bl sub_8035CF4 + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0x2 + movs r2, 0x1 + bl sub_8035CF4 + bl sub_80394A4 + add sp, 0x10 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080393DC: .4byte gUnknown_80E762C +_080393E0: .4byte gUnknown_80E7730 +_080393E4: .4byte gUnknown_203B374 +_080393E8: .4byte gUnknown_80E7784 +_080393EC: .4byte gUnknown_80E779C + thumb_func_end sub_8039254 + + thumb_func_start sub_80393F0 +sub_80393F0: + push {r4,lr} + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _08039418 + ldr r0, [r4] + cmp r0, 0 + beq _08039410 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_08039410: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08039418: .4byte gUnknown_203B374 + thumb_func_end sub_80393F0 + + thumb_func_start sub_803941C +sub_803941C: + push {r4,r5,lr} + sub sp, 0x4 + ldr r5, _08039458 + movs r0, 0x4 + str r0, [sp] + ldr r4, _0803945C + ldr r0, [r4] + adds r0, 0x54 + bl sub_8012FD8 + ldr r0, [r4] + adds r0, 0xA4 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08039448 + ldr r0, [r4] + adds r0, 0xA4 + mov r1, sp + bl sub_8013114 +_08039448: + ldr r0, [sp] + cmp r0, 0x3 + bhi _08039498 + cmp r0, 0x2 + bcs _08039460 + cmp r0, 0x1 + beq _08039464 + b _08039498 + .align 2, 0 +_08039458: .4byte 0x0000ffdc +_0803945C: .4byte gUnknown_203B374 +_08039460: + movs r5, 0x1 + b _08039498 +_08039464: + ldr r0, [r4] + ldr r0, [r0] + cmp r0, 0x7 + beq _08039480 + cmp r0, 0x7 + bhi _08039476 + cmp r0, 0x6 + beq _08039484 + b _08039498 +_08039476: + cmp r0, 0x8 + beq _0803948E + cmp r0, 0x9 + beq _08039492 + b _08039498 +_08039480: + movs r5, 0x2 + b _08039498 +_08039484: + movs r0, 0 + bl sub_8095240 + movs r5, 0x4 + b _08039498 +_0803948E: + movs r5, 0x9 + b _08039498 +_08039492: + bl sub_80122A8 + movs r5, 0x2E +_08039498: + adds r0, r5, 0 + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_803941C + + thumb_func_start sub_80394A4 +sub_80394A4: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x150 + bl sub_8011FA8 + mov r8, r0 + movs r0, 0 + bl sub_8008C54 + movs r0, 0 + bl sub_80073B8 + ldr r2, _0803952C + movs r4, 0 + str r4, [sp] + movs r0, 0x8 + movs r1, 0 + movs r3, 0 + bl xxx_call_draw_string + ldr r2, _08039530 + str r4, [sp] + movs r0, 0x8 + movs r1, 0xC + movs r3, 0 + bl xxx_call_draw_string + ldr r2, _08039534 + str r4, [sp] + movs r0, 0x8 + movs r1, 0x18 + movs r3, 0 + bl xxx_call_draw_string + ldr r2, _08039538 + str r4, [sp] + movs r0, 0x8 + movs r1, 0x24 + movs r3, 0 + bl xxx_call_draw_string + ldr r2, _0803953C + str r4, [sp] + movs r0, 0x8 + movs r1, 0x30 + movs r3, 0 + bl xxx_call_draw_string + ldr r2, _08039540 + str r4, [sp] + movs r0, 0x8 + movs r1, 0x3C + movs r3, 0 + bl xxx_call_draw_string + movs r0, 0 + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + beq _08039544 + add r4, sp, 0x68 + adds r0, r4, 0 + bl sub_80920D8 + adds r2, r4, 0 + b _0803954E + .align 2, 0 +_0803952C: .4byte gUnknown_80E77BC +_08039530: .4byte gUnknown_80E77C4 +_08039534: .4byte gUnknown_80E77CC +_08039538: .4byte gUnknown_80E77D8 +_0803953C: .4byte gUnknown_80E77E4 +_08039540: .4byte gUnknown_80E77F0 +_08039544: + ldr r1, _08039588 + add r0, sp, 0x68 + bl strcpy + add r2, sp, 0x68 +_0803954E: + ldr r5, _0803958C + ldr r0, [r5] + movs r4, 0xD2 + lsls r4, 1 + adds r0, r4 + ldr r1, _08039590 + bl sub_800D158 + ldr r2, [r5] + adds r2, r4 + movs r0, 0 + str r0, [sp] + movs r0, 0x40 + movs r1, 0 + movs r3, 0 + bl xxx_call_draw_string + bl sub_808D33C + cmp r0, 0 + bne _08039598 + add r4, sp, 0x90 + ldr r1, _08039594 + adds r0, r4, 0 + movs r2, 0xA + bl sub_80922B4 + b _080395A6 + .align 2, 0 +_08039588: .4byte gUnknown_80E77F8 +_0803958C: .4byte gUnknown_203B374 +_08039590: .4byte gUnknown_80E7804 +_08039594: .4byte gUnknown_80E7808 +_08039598: + add r4, sp, 0x90 + adds r1, r0, 0 + adds r1, 0x4C + adds r0, r4, 0 + movs r2, 0xA + bl sub_80922B4 +_080395A6: + adds r2, r4, 0 + ldr r5, _080395F0 + ldr r0, [r5] + movs r4, 0xE4 + lsls r4, 1 + adds r0, r4 + ldr r6, _080395F4 + adds r1, r6, 0 + bl sub_800D158 + ldr r2, [r5] + adds r2, r4 + movs r0, 0 + str r0, [sp] + movs r0, 0x40 + movs r1, 0xC + movs r3, 0 + bl xxx_call_draw_string + movs r0, 0x1 + bl sub_8095324 + cmp r0, 0 + bne _080395E0 + movs r0, 0x7 + bl sub_8095324 + cmp r0, 0 + beq _08039606 +_080395E0: + ldr r0, _080395F8 + cmp r8, r0 + bne _080395FC + ldr r4, [r5] + movs r0, 0xF6 + lsls r0, 1 + adds r4, r0 + b _08039676 + .align 2, 0 +_080395F0: .4byte gUnknown_203B374 +_080395F4: .4byte gUnknown_80E7804 +_080395F8: .4byte 0x000f1207 +_080395FC: + ldr r0, [r5] + movs r1, 0xF6 + lsls r1, 1 + adds r0, r1 + b _08039690 +_08039606: + bl sub_8011C1C + cmp r0, 0x1 + beq _08039624 + cmp r0, 0x2 + beq _08039668 + ldr r0, [r5] + movs r2, 0xF6 + lsls r2, 1 + adds r0, r2 + ldr r1, _08039620 + b _08039692 + .align 2, 0 +_08039620: .4byte gUnknown_80E7824 +_08039624: + movs r0, 0 + movs r1, 0x18 + bl sub_8001658 + cmp r0, 0x7 + beq _08039658 + cmp r0, 0xB + beq _08039658 + bl sub_8098FB4 + adds r2, r0, 0 + add r0, sp, 0x4 + adds r1, r6, 0 + bl sub_800D158 + ldr r0, [r5] + movs r3, 0xF6 + lsls r3, 1 + adds r1, r0, r3 + adds r3, 0x24 + adds r2, r0, r3 + add r0, sp, 0x4 + movs r3, 0 + bl xxx_format_string + b _08039696 +_08039658: + ldr r0, _08039664 + ldr r0, [r0] + movs r1, 0xF6 + lsls r1, 1 + adds r0, r1 + b _08039690 + .align 2, 0 +_08039664: .4byte gUnknown_203B374 +_08039668: + ldr r0, _08039684 + cmp r8, r0 + bne _08039688 + ldr r4, [r5] + movs r2, 0xF6 + lsls r2, 1 + adds r4, r2 +_08039676: + bl sub_809769C + adds r1, r0, 0 + adds r0, r4, 0 + bl sub_8090228 + b _08039696 + .align 2, 0 +_08039684: .4byte 0x000f1207 +_08039688: + ldr r0, [r5] + movs r3, 0xF6 + lsls r3, 1 + adds r0, r3 +_08039690: + ldr r1, _0803974C +_08039692: + bl sub_800D158 +_08039696: + ldr r7, _08039750 + ldr r2, [r7] + movs r0, 0xF6 + lsls r0, 1 + adds r2, r0 + movs r6, 0 + str r6, [sp] + movs r0, 0x40 + movs r1, 0x18 + movs r3, 0 + bl xxx_call_draw_string + ldr r0, _08039754 + ldr r0, [r0] + add r1, sp, 0x144 + add r2, sp, 0x148 + add r3, sp, 0x14C + bl sub_8095014 + ldr r0, [r7] + movs r5, 0x84 + lsls r5, 2 + adds r0, r5 + ldr r1, _08039758 + add r2, sp, 0x144 + ldr r2, [r2] + add r3, sp, 0x148 + ldr r3, [r3] + add r4, sp, 0x14C + ldr r4, [r4] + str r4, [sp] + bl sub_800D158 + ldr r2, [r7] + adds r2, r5 + str r6, [sp] + movs r0, 0x40 + movs r1, 0x24 + movs r3, 0 + bl xxx_call_draw_string + bl sub_8097778 + adds r2, r0, 0 + ldr r0, [r7] + movs r4, 0x8D + lsls r4, 2 + adds r0, r4 + ldr r1, _0803975C + bl sub_800D158 + ldr r2, [r7] + adds r2, r4 + str r6, [sp] + movs r0, 0x40 + movs r1, 0x30 + movs r3, 0 + bl xxx_call_draw_string + ldr r0, _08039760 + cmp r8, r0 + bne _0803976C + ldr r0, _08039764 + ldr r6, [r0] + movs r1, 0xC + ldrsh r0, [r6, r1] + cmp r0, 0 + beq _0803976C + add r5, sp, 0x130 + adds r1, r0, 0 + adds r0, r5, 0 + bl sub_808D930 + add r4, sp, 0xE0 + adds r1, r6, 0 + adds r1, 0x50 + adds r0, r4, 0 + movs r2, 0xA + bl sub_80922B4 + ldr r0, [r7] + movs r3, 0x96 + lsls r3, 2 + adds r0, r3 + ldr r1, _08039768 + adds r2, r4, 0 + adds r3, r5, 0 + bl sub_800D158 + b _0803977C + .align 2, 0 +_0803974C: .4byte gUnknown_80E780C +_08039750: .4byte gUnknown_203B374 +_08039754: .4byte gUnknown_203B47C +_08039758: .4byte gUnknown_80E7838 +_0803975C: .4byte gUnknown_80E7848 +_08039760: .4byte 0x000f1207 +_08039764: .4byte gUnknown_203B484 +_08039768: .4byte gUnknown_80E784C +_0803976C: + ldr r0, _080397AC + ldr r0, [r0] + movs r1, 0x96 + lsls r1, 2 + adds r0, r1 + ldr r1, _080397B0 + bl sub_800D158 +_0803977C: + ldr r0, _080397AC + ldr r2, [r0] + movs r3, 0x96 + lsls r3, 2 + adds r2, r3 + movs r0, 0 + str r0, [sp] + movs r0, 0x40 + movs r1, 0x3C + movs r3, 0 + bl xxx_call_draw_string + bl sub_80397B4 + movs r0, 0 + bl sub_80073E0 + add sp, 0x150 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080397AC: .4byte gUnknown_203B374 +_080397B0: .4byte gUnknown_80E7854 + thumb_func_end sub_80394A4 + + thumb_func_start sub_80397B4 +sub_80397B4: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0xC + ldr r0, _08039834 + ldr r1, _08039838 + bl OpenFileAndGetFileDataPtr + adds r6, r0, 0 + movs r4, 0 +_080397C8: + adds r0, r4, 0 + adds r0, 0xB0 + ldr r1, [r6, 0x4] + lsls r2, r4, 2 + ldr r1, [r1, 0x4] + adds r1, r2 + bl SetBGPaletteBufferColorArray + adds r4, 0x1 + cmp r4, 0x3F + ble _080397C8 + movs r7, 0x8 + movs r0, 0x49 + mov r8, r0 + movs r4, 0 +_080397E6: + ldr r0, _0803983C + lsls r5, r4, 2 + adds r0, r5, r0 + ldr r0, [r0] + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + beq _0803981C + movs r0, 0x10 + str r0, [sp] + ldr r0, [r6, 0x4] + lsls r1, r4, 7 + ldr r0, [r0] + adds r0, r1 + str r0, [sp, 0x4] + ldr r0, _08039840 + adds r0, r5, r0 + ldr r0, [r0] + str r0, [sp, 0x8] + movs r0, 0 + adds r1, r7, 0 + mov r2, r8 + movs r3, 0x10 + bl sub_8007E20 + adds r7, 0x10 +_0803981C: + adds r4, 0x1 + cmp r4, 0xB + ble _080397E6 + adds r0, r6, 0 + bl CloseFile + add sp, 0xC + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08039834: .4byte gUnknown_80E785C +_08039838: .4byte gUnknown_8380000 +_0803983C: .4byte gUnknown_203B3B8 +_08039840: .4byte gUnknown_203B388 + thumb_func_end sub_80397B4 + + thumb_func_start sub_8039844 +sub_8039844: + push {r4,r5,lr} + bl sub_8011FA8 + adds r5, r0, 0 + movs r4, 0 + movs r0, 0x1 + bl sub_8095324 + cmp r0, 0 + bne _0803986A + movs r0, 0x7 + bl sub_8095324 + cmp r0, 0 + bne _0803986A + bl sub_8011C1C + cmp r0, 0x2 + bne _08039872 +_0803986A: + ldr r0, _0803987C + cmp r5, r0 + bne _08039872 + movs r4, 0x1 +_08039872: + adds r0, r4, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0803987C: .4byte 0x000f1207 + thumb_func_end sub_8039844 + + thumb_func_start sub_8039880 +sub_8039880: + push {r4,lr} + movs r4, 0 + movs r0, 0x1 + bl sub_8095324 + cmp r0, 0 + bne _080398A0 + movs r0, 0x7 + bl sub_8095324 + cmp r0, 0 + bne _080398A0 + bl sub_8011C1C + cmp r0, 0x2 + bne _080398A2 +_080398A0: + movs r4, 0x1 +_080398A2: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8039880 + + thumb_func_start sub_80398AC +sub_80398AC: + push {r4,r5,lr} + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r5, _0803991C + ldr r4, _08039920 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 + movs r1, 0 + movs r2, 0 + adds r4, r5, 0 +_080398D8: + ldr r0, [r5] + adds r0, 0x1 + adds r0, r1 + strb r2, [r0] + adds r1, 0x1 + cmp r1, 0x35 + ble _080398D8 + ldr r1, [r4] + movs r3, 0x92 + lsls r3, 3 + adds r2, r1, r3 + movs r0, 0x3 + str r0, [r2] + ldr r0, _08039924 + adds r2, r1, r0 + movs r0, 0x2 + str r0, [r2] + movs r0, 0x93 + lsls r0, 3 + adds r1, r0 + movs r0, 0x1 + strb r0, [r1] + ldr r0, [r4] + adds r0, r3 + movs r1, 0x5 + str r1, [r0] + movs r0, 0x11 + bl sub_803A1C0 + movs r0, 0x1 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0803991C: .4byte gUnknown_203B3E8 +_08039920: .4byte 0x0000049c +_08039924: .4byte 0x00000494 + thumb_func_end sub_80398AC + + thumb_func_start sub_8039928 +sub_8039928: + push {lr} + ldr r0, _08039940 + ldr r0, [r0] + ldrb r0, [r0] + subs r0, 0x4 + cmp r0, 0xF + bhi _080399DE + lsls r0, 2 + ldr r1, _08039944 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08039940: .4byte gUnknown_203B3E8 +_08039944: .4byte _08039948 + .align 2, 0 +_08039948: + .4byte _08039988 + .4byte _0803998E + .4byte _0803999E + .4byte _080399AA + .4byte _08039992 + .4byte _080399A4 + .4byte _080399C8 + .4byte _080399DE + .4byte _08039998 + .4byte _080399B0 + .4byte _080399B6 + .4byte _080399BC + .4byte _080399C2 + .4byte _080399CE + .4byte _080399D4 + .4byte _080399DA +_08039988: + bl sub_8039A18 + b _080399DE +_0803998E: + movs r0, 0x3 + b _080399E0 +_08039992: + bl sub_8039AA8 + b _080399DE +_08039998: + bl sub_8039B14 + b _080399DE +_0803999E: + bl sub_8039B20 + b _080399DE +_080399A4: + bl sub_8039B58 + b _080399DE +_080399AA: + bl sub_8039D88 + b _080399DE +_080399B0: + bl sub_8039D28 + b _080399DE +_080399B6: + bl sub_8039D68 + b _080399DE +_080399BC: + bl sub_8039DA4 + b _080399DE +_080399C2: + bl sub_8039DCC + b _080399DE +_080399C8: + bl sub_8039B3C + b _080399DE +_080399CE: + bl sub_8039D0C + b _080399DE +_080399D4: + bl sub_8039C60 + b _080399DE +_080399DA: + bl sub_8039DE8 +_080399DE: + movs r0, 0 +_080399E0: + pop {r1} + bx r1 + thumb_func_end sub_8039928 + + thumb_func_start sub_80399E4 +sub_80399E4: + push {r4,lr} + ldr r4, _08039A14 + ldr r0, [r4] + cmp r0, 0 + beq _08039A0E + bl MemoryFree + movs r0, 0 + str r0, [r4] + bl sub_8030DE4 + bl sub_801B450 + bl sub_803084C + bl sub_801CBB8 + bl sub_80155F0 + bl sub_8031E10 +_08039A0E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08039A14: .4byte gUnknown_203B3E8 + thumb_func_end sub_80399E4 + + thumb_func_start sub_8039A18 +sub_8039A18: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039AA2 + ldr r0, _08039A48 + ldr r1, [r0] + movs r2, 0x93 + lsls r2, 2 + adds r1, r2 + movs r2, 0xA + str r2, [r1] + ldr r1, [sp] + adds r2, r0, 0 + cmp r1, 0x8 + bhi _08039AA2 + lsls r0, r1, 2 + ldr r1, _08039A4C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08039A48: .4byte gUnknown_203B3E8 +_08039A4C: .4byte _08039A50 + .align 2, 0 +_08039A50: + .4byte _08039A9C + .4byte _08039AA2 + .4byte _08039AA2 + .4byte _08039A74 + .4byte _08039A74 + .4byte _08039A88 + .4byte _08039AA2 + .4byte _08039AA2 + .4byte _08039A9C +_08039A74: + ldr r0, [r2] + movs r1, 0x92 + lsls r1, 3 + adds r0, r1 + movs r1, 0x3 + str r1, [r0] + movs r0, 0x8 + bl sub_803A1C0 + b _08039AA2 +_08039A88: + ldr r0, [r2] + movs r2, 0x92 + lsls r2, 3 + adds r0, r2 + movs r1, 0x5 + str r1, [r0] + movs r0, 0x11 + bl sub_803A1C0 + b _08039AA2 +_08039A9C: + movs r0, 0x5 + bl sub_803A1C0 +_08039AA2: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039A18 + + thumb_func_start sub_8039AA8 +sub_8039AA8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039B0E + ldr r0, [sp] + cmp r0, 0 + beq _08039AE8 + cmp r0, 0x6 + bne _08039B0E + ldr r0, _08039AD8 + ldr r0, [r0] + ldr r1, _08039ADC + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x1 + bne _08039AE0 + movs r0, 0x2 + bl sub_803A1C0 + b _08039B0E + .align 2, 0 +_08039AD8: .4byte gUnknown_203B3E8 +_08039ADC: .4byte 0x00000494 +_08039AE0: + movs r0, 0xC + bl sub_803A1C0 + b _08039B0E +_08039AE8: + ldr r0, _08039B00 + ldr r0, [r0] + ldr r1, _08039B04 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x1 + bne _08039B08 + movs r0, 0x1 + bl sub_803A1C0 + b _08039B0E + .align 2, 0 +_08039B00: .4byte gUnknown_203B3E8 +_08039B04: .4byte 0x00000494 +_08039B08: + movs r0, 0x4 + bl sub_803A1C0 +_08039B0E: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039AA8 + + thumb_func_start sub_8039B14 +sub_8039B14: + push {lr} + movs r0, 0x6 + bl sub_803A1C0 + pop {r0} + bx r0 + thumb_func_end sub_8039B14 + + thumb_func_start sub_8039B20 +sub_8039B20: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039B34 + movs r0, 0x9 + bl sub_803A1C0 +_08039B34: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039B20 + + thumb_func_start sub_8039B3C +sub_8039B3C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039B50 + movs r0, 0x4 + bl sub_803A1C0 +_08039B50: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039B3C + + thumb_func_start sub_8039B58 +sub_8039B58: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039BA6 + ldr r0, _08039B88 + ldr r1, [r0] + movs r2, 0x94 + lsls r2, 2 + adds r0, r1, r2 + ldr r0, [r0] + cmp r0, 0 + bne _08039B9C + subs r2, 0x4 + adds r0, r1, r2 + ldr r0, [r0] + cmp r0, 0x9 + beq _08039B8C + cmp r0, 0xA + beq _08039B94 + b _08039BA6 + .align 2, 0 +_08039B88: .4byte gUnknown_203B3E8 +_08039B8C: + movs r0, 0x7 + bl sub_803A1C0 + b _08039BA6 +_08039B94: + movs r0, 0xD + bl sub_803A1C0 + b _08039BA6 +_08039B9C: + bl sub_8039BAC + movs r0, 0xA + bl sub_803A1C0 +_08039BA6: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039B58 + + thumb_func_start sub_8039BAC +sub_8039BAC: + push {lr} + cmp r0, 0xF + bhi _08039C48 + lsls r0, 2 + ldr r1, _08039BBC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08039BBC: .4byte _08039BC0 + .align 2, 0 +_08039BC0: + .4byte _08039C54 + .4byte _08039C00 + .4byte _08039C10 + .4byte _08039C08 + .4byte _08039C18 + .4byte _08039C20 + .4byte _08039C48 + .4byte _08039C48 + .4byte _08039C48 + .4byte _08039C48 + .4byte _08039C48 + .4byte _08039C48 + .4byte _08039C48 + .4byte _08039C48 + .4byte _08039C28 + .4byte _08039C30 +_08039C00: + ldr r0, _08039C04 + b _08039C32 + .align 2, 0 +_08039C04: .4byte gUnknown_80E7914 +_08039C08: + ldr r0, _08039C0C + b _08039C32 + .align 2, 0 +_08039C0C: .4byte gUnknown_80E7938 +_08039C10: + ldr r0, _08039C14 + b _08039C32 + .align 2, 0 +_08039C14: .4byte gUnknown_80E7994 +_08039C18: + ldr r0, _08039C1C + b _08039C32 + .align 2, 0 +_08039C1C: .4byte gUnknown_80E79E4 +_08039C20: + ldr r0, _08039C24 + b _08039C32 + .align 2, 0 +_08039C24: .4byte gUnknown_80E7914 +_08039C28: + ldr r0, _08039C2C + b _08039C32 + .align 2, 0 +_08039C2C: .4byte gUnknown_80E7914 +_08039C30: + ldr r0, _08039C40 +_08039C32: + ldr r3, _08039C44 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + b _08039C54 + .align 2, 0 +_08039C40: .4byte gUnknown_80E7A48 +_08039C44: .4byte 0x00000101 +_08039C48: + ldr r0, _08039C58 + ldr r3, _08039C5C + movs r1, 0 + movs r2, 0 + bl sub_80141B4 +_08039C54: + pop {r0} + bx r0 + .align 2, 0 +_08039C58: .4byte gUnknown_80E7914 +_08039C5C: .4byte 0x00000101 + thumb_func_end sub_8039BAC + + thumb_func_start sub_8039C60 +sub_8039C60: + push {r4,r5,lr} + bl sub_80154F0 + adds r4, r0, 0 + ldr r5, _08039CBC + ldr r0, [r5] + adds r0, 0x38 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + cmp r4, 0x2 + beq _08039CE6 + cmp r4, 0x3 + bne _08039D04 + bl sub_80155F0 + bl sub_8004914 + ldr r0, [r5] + movs r1, 0xF6 + lsls r1, 1 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r1, [r5] + adds r0, r1, 0x1 + adds r1, 0x38 + bl sub_803D358 + lsls r0, 24 + cmp r0, 0 + beq _08039CB4 + ldr r0, [r5] + adds r0, 0x38 + bl sub_80959C0 + lsls r0, 24 + cmp r0, 0 + bne _08039CC0 +_08039CB4: + movs r0, 0x13 + bl sub_803A1C0 + b _08039D04 + .align 2, 0 +_08039CBC: .4byte gUnknown_203B3E8 +_08039CC0: + ldr r0, [r5] + movs r2, 0xF0 + lsls r2, 2 + adds r1, r0, r2 + adds r0, 0x38 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r3,r4} + stm r1!, {r3,r4} + ldr r0, [r5] + movs r1, 0x93 + lsls r1, 3 + adds r0, r1 + movs r1, 0x1 + strb r1, [r0] + movs r0, 0xD + bl sub_803A1C0 + b _08039D04 +_08039CE6: + bl sub_80155F0 + bl sub_8004914 + ldr r0, [r5] + movs r2, 0xF6 + lsls r2, 1 + adds r0, r2 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x5 + bl sub_803A1C0 +_08039D04: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8039C60 + + thumb_func_start sub_8039D0C +sub_8039D0C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039D20 + movs r0, 0x12 + bl sub_803A1C0 +_08039D20: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039D0C + + thumb_func_start sub_8039D28 +sub_8039D28: + push {r4,r5,lr} + bl sub_802D0E0 + cmp r0, 0x3 + bne _08039D62 + bl sub_802D178 + ldr r5, _08039D58 + ldr r1, [r5] + movs r4, 0x93 + lsls r4, 3 + adds r1, r4 + strb r0, [r1] + bl sub_802D184 + ldr r0, [r5] + adds r0, r4 + ldrb r0, [r0] + cmp r0, 0 + beq _08039D5C + movs r0, 0xE + bl sub_803A1C0 + b _08039D62 + .align 2, 0 +_08039D58: .4byte gUnknown_203B3E8 +_08039D5C: + movs r0, 0x10 + bl sub_803A1C0 +_08039D62: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8039D28 + + thumb_func_start sub_8039D68 +sub_8039D68: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039D82 + movs r0, 0xF + bl sub_803A1C0 + movs r0, 0 + bl sub_8012574 +_08039D82: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039D68 + + thumb_func_start sub_8039D88 +sub_8039D88: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039D9C + movs r0, 0x8 + bl sub_803A1C0 +_08039D9C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039D88 + + thumb_func_start sub_8039DA4 +sub_8039DA4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039DC6 + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08039DC6 + bl sub_8012750 + movs r0, 0x10 + bl sub_803A1C0 +_08039DC6: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039DA4 + + thumb_func_start sub_8039DCC +sub_8039DCC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039DE0 + movs r0, 0x5 + bl sub_803A1C0 +_08039DE0: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039DCC + + thumb_func_start sub_8039DE8 +sub_8039DE8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039E0E + ldr r0, [sp] + cmp r0, 0 + beq _08039E08 + cmp r0, 0x6 + bne _08039E0E + movs r0, 0x11 + bl sub_803A1C0 + b _08039E0E +_08039E08: + movs r0, 0x5 + bl sub_803A1C0 +_08039E0E: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039DE8 + + thumb_func_start nullsub_54 +nullsub_54: + bx lr + thumb_func_end nullsub_54 + + thumb_func_start sub_8039E18 +sub_8039E18: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x14 + ldr r1, _08039E38 + ldr r0, [r1] + ldrb r0, [r0] + adds r6, r1, 0 + cmp r0, 0x13 + bls _08039E2E + b _0803A1AA +_08039E2E: + lsls r0, 2 + ldr r1, _08039E3C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08039E38: .4byte gUnknown_203B3E8 +_08039E3C: .4byte _08039E40 + .align 2, 0 +_08039E40: + .4byte _08039E90 + .4byte _08039EB8 + .4byte _0803A1AA + .4byte _08039EC8 + .4byte _08039EDC + .4byte _0803A1AA + .4byte _08039FF4 + .4byte _08039FA4 + .4byte _08039FCC + .4byte _0803A00C + .4byte _0803A1AA + .4byte _0803A1AA + .4byte _0803A1AA + .4byte _08039F04 + .4byte _08039F68 + .4byte _0803A1AA + .4byte _08039FAC + .4byte _0803A152 + .4byte _0803A168 + .4byte _0803A18E +_08039E90: + ldr r0, _08039EB0 + ldr r3, _08039EB4 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x1 + bl sub_8014248 + b _0803A1AA + .align 2, 0 +_08039EB0: .4byte gUnknown_80E7AC4 +_08039EB4: .4byte gUnknown_80E786C +_08039EB8: + ldr r0, _08039EC0 + ldr r3, _08039EC4 + b _08039EE0 + .align 2, 0 +_08039EC0: .4byte gUnknown_80E7AE0 +_08039EC4: .4byte gUnknown_80E7894 +_08039EC8: + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl sub_802EF48 + b _0803A1AA +_08039EDC: + ldr r0, _08039EFC + ldr r3, _08039F00 +_08039EE0: + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x3 + bl sub_8014248 + b _0803A1AA + .align 2, 0 +_08039EFC: .4byte gUnknown_80E7B14 +_08039F00: .4byte gUnknown_80E78D8 +_08039F04: + ldr r0, [r6] + ldr r2, _08039F3C + adds r1, r0, r2 + movs r3, 0xF0 + lsls r3, 2 + adds r0, r3 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2,r4} + stm r1!, {r2,r4} + ldr r2, [r6] + ldr r3, _08039F40 + adds r0, r2, r3 + ldrb r0, [r0] + cmp r0, 0x4 + bne _08039F44 + movs r4, 0x91 + lsls r4, 3 + adds r1, r2, r4 + subs r3, 0xA2 + adds r0, r2, r3 + str r0, [r1] + adds r4, 0x4 + adds r1, r2, r4 + adds r3, 0x28 + adds r0, r2, r3 + str r0, [r1] + b _08039F54 + .align 2, 0 +_08039F3C: .4byte 0x00000474 +_08039F40: .4byte 0x00000476 +_08039F44: + movs r4, 0x91 + lsls r4, 3 + adds r0, r2, r4 + movs r1, 0 + str r1, [r0] + ldr r3, _08039F60 + adds r0, r2, r3 + str r1, [r0] +_08039F54: + ldr r0, [r6] + ldr r4, _08039F64 + adds r0, r4 + bl sub_802D098 + b _0803A1AA + .align 2, 0 +_08039F60: .4byte 0x0000048c +_08039F64: .4byte 0x00000474 +_08039F68: + ldr r1, [r6] + movs r2, 0x93 + lsls r2, 3 + adds r0, r1, r2 + ldrb r0, [r0] + cmp r0, 0 + beq _08039F9C + movs r3, 0x92 + lsls r3, 3 + adds r0, r1, r3 + ldr r0, [r0] + cmp r0, 0x4 + bne _08039F84 + b _0803A1AA +_08039F84: + cmp r0, 0x4 + bgt _08039F8E + cmp r0, 0x3 + beq _08039F94 + b _0803A1AA +_08039F8E: + cmp r0, 0x5 + beq _08039F94 + b _0803A1AA +_08039F94: + ldr r0, _08039F98 + b _0803A154 + .align 2, 0 +_08039F98: .4byte gUnknown_80E7B48 +_08039F9C: + ldr r0, _08039FA0 + b _0803A154 + .align 2, 0 +_08039FA0: .4byte gUnknown_80E7B48 +_08039FA4: + ldr r0, _08039FA8 + b _0803A154 + .align 2, 0 +_08039FA8: .4byte gUnknown_80E7B68 +_08039FAC: + ldr r0, [r6] + movs r4, 0x93 + lsls r4, 3 + adds r0, r4 + ldrb r0, [r0] + cmp r0, 0 + beq _08039FC4 + ldr r0, _08039FC0 + b _0803A154 + .align 2, 0 +_08039FC0: .4byte gUnknown_80E7B88 +_08039FC4: + ldr r0, _08039FC8 + b _0803A154 + .align 2, 0 +_08039FC8: .4byte gUnknown_80E7BC8 +_08039FCC: + ldr r0, _08039FEC + ldr r3, _08039FF0 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x6 + bl sub_8014248 + b _0803A1AA + .align 2, 0 +_08039FEC: .4byte gUnknown_80E7BEC +_08039FF0: .4byte gUnknown_80E78F8 +_08039FF4: + movs r0, 0 + bl nullsub_23 + ldr r0, _0803A008 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl sub_80141B4 + b _0803A1AA + .align 2, 0 +_0803A008: .4byte gUnknown_80E7C48 +_0803A00C: + ldr r0, [r6] + movs r1, 0x94 + lsls r1, 2 + mov r8, r1 + add r0, r8 + movs r1, 0 + str r1, [r0] + bl sub_8011830 + ldr r0, [r6] + movs r7, 0x93 + lsls r7, 2 + adds r0, r7 + ldr r0, [r0] + bl sub_8037B28 + ldr r2, [r6] + mov r3, r8 + adds r1, r2, r3 + str r0, [r1] + cmp r0, 0 + beq _0803A03A + b _0803A14C +_0803A03A: + adds r4, r7, 0 + adds r0, r2, r4 + ldr r0, [r0] + cmp r0, 0x9 + beq _0803A04A + cmp r0, 0xA + beq _0803A0AA + b _0803A0DE +_0803A04A: + movs r5, 0x95 + lsls r5, 2 + adds r0, r2, r5 + movs r1, 0 + movs r2, 0xB4 + bl MemoryFill8 + ldr r0, [r6] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + bl sub_803B344 + adds r4, r0, 0 + ldr r1, [r4, 0x14] + cmp r1, 0 + beq _0803A08C + ldr r0, [r6] + movs r2, 0x9A + lsls r2, 2 + adds r0, r2 + movs r2, 0x28 + bl MemoryCopy8 + ldr r0, [r6] + movs r3, 0xA4 + lsls r3, 2 + adds r0, r3 + ldr r1, [r4, 0x18] + movs r2, 0x78 + bl MemoryCopy8 +_0803A08C: + ldr r1, [r6] + adds r1, r5 + adds r0, r4, 0 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2,r4} + stm r1!, {r2,r4} + ldr r2, [r6] + adds r0, r2, r7 + ldr r0, [r0] + adds r1, r2, r5 + movs r3, 0xC2 + lsls r3, 2 + adds r2, r3 + b _0803A0D4 +_0803A0AA: + movs r4, 0x95 + lsls r4, 2 + adds r0, r2, r4 + movs r1, 0 + movs r2, 0xB4 + bl MemoryFill8 + ldr r0, [r6] + movs r5, 0xC2 + lsls r5, 2 + adds r0, r5 + movs r1, 0 + movs r2, 0xB4 + bl MemoryFill8 + ldr r2, [r6] + adds r0, r2, r7 + ldr r0, [r0] + adds r4, r2, r4 + adds r2, r5 + adds r1, r4, 0 +_0803A0D4: + bl sub_8037D64 + ldr r1, [r6] + add r1, r8 + str r0, [r1] +_0803A0DE: + ldr r4, _0803A134 + ldr r2, [r4] + movs r5, 0x94 + lsls r5, 2 + adds r0, r2, r5 + ldr r0, [r0] + cmp r0, 0 + bne _0803A14C + movs r1, 0x93 + lsls r1, 2 + adds r0, r2, r1 + ldr r0, [r0] + cmp r0, 0xA + bhi _0803A14C + cmp r0, 0x9 + bcc _0803A14C + movs r3, 0x95 + lsls r3, 2 + adds r1, r2, r3 + adds r3, 0xB4 + adds r2, r3 + bl sub_80381F4 + ldr r1, [r4] + adds r1, r5 + str r0, [r1] + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + beq _0803A138 + ldr r1, [r4] + movs r4, 0xF0 + lsls r4, 2 + adds r0, r1, r4 + movs r2, 0xC2 + lsls r2, 2 + adds r1, r2 + movs r2, 0xB4 + bl memcpy + b _0803A14C + .align 2, 0 +_0803A134: .4byte gUnknown_203B3E8 +_0803A138: + ldr r1, [r4] + movs r3, 0xF0 + lsls r3, 2 + adds r0, r1, r3 + movs r4, 0x95 + lsls r4, 2 + adds r1, r4 + movs r2, 0xB4 + bl memcpy +_0803A14C: + bl sub_8011854 + b _0803A1AA +_0803A152: + ldr r0, _0803A160 +_0803A154: + ldr r3, _0803A164 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + b _0803A1AA + .align 2, 0 +_0803A160: .4byte gUnknown_80E7C98 +_0803A164: .4byte 0x00000101 +_0803A168: + ldr r0, [r6] + movs r1, 0xF6 + lsls r1, 1 + 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, 0x1 + movs r0, 0x5 + bl sub_80151C0 + b _0803A1AA +_0803A18E: + ldr r0, _0803A1B8 + ldr r3, _0803A1BC + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x6 + bl sub_8014248 +_0803A1AA: + add sp, 0x14 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803A1B8: .4byte gUnknown_80E7CC4 +_0803A1BC: .4byte gUnknown_80E78F8 + thumb_func_end sub_8039E18 + + thumb_func_start sub_803A1C0 +sub_803A1C0: + push {lr} + ldr r1, _0803A1D4 + ldr r1, [r1] + strb r0, [r1] + bl nullsub_54 + bl sub_8039E18 + pop {r0} + bx r0 + .align 2, 0 +_0803A1D4: .4byte gUnknown_203B3E8 + thumb_func_end sub_803A1C0 + + thumb_func_start sub_803A1D8 +sub_803A1D8: + movs r0, 0x1 + bx lr + thumb_func_end sub_803A1D8 + + thumb_func_start sub_803A1DC +sub_803A1DC: + movs r0, 0 + bx lr + thumb_func_end sub_803A1DC + + thumb_func_start nullsub_55 +nullsub_55: + bx lr + thumb_func_end nullsub_55 + + thumb_func_start sub_803A1E4 +sub_803A1E4: + movs r0, 0x1 + bx lr + thumb_func_end sub_803A1E4 + + thumb_func_start sub_803A1E8 +sub_803A1E8: + movs r0, 0x2 + bx lr + thumb_func_end sub_803A1E8 + + thumb_func_start sub_803A1EC +sub_803A1EC: + push {lr} + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r0} + bx r0 + thumb_func_end sub_803A1EC + + thumb_func_start sub_803A200 +sub_803A200: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r5, _0803A270 + ldr r0, [r5] + cmp r0, 0 + bne _0803A224 + movs r4, 0xD2 + lsls r4, 1 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 +_0803A224: + mov r12, r5 + movs r0, 0xA0 + lsls r0, 1 + mov r8, r0 + ldr r4, _0803A274 + movs r3, 0 + movs r2, 0x3 +_0803A232: + mov r5, r12 + ldr r1, [r5] + adds r1, r3 + add r1, r8 + 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 _0803A232 + bl sub_8004914 + ldr r0, _0803A270 + ldr r0, [r0] + movs r6, 0xA0 + lsls r6, 1 + adds r0, r6 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl SetDebugMenuItems + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803A270: .4byte gUnknown_203B3EC +_0803A274: .4byte gUnknown_80E7D40 + thumb_func_end sub_803A200 + + thumb_func_start sub_803A278 +sub_803A278: + push {r4,lr} + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _0803A2A0 + ldr r0, [r4] + cmp r0, 0 + beq _0803A298 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0803A298: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803A2A0: .4byte gUnknown_203B3EC + thumb_func_end sub_803A278 + + thumb_func_start sub_803A2A4 +sub_803A2A4: + push {r4,r5,lr} + sub sp, 0x4 + ldr r4, _0803A2D4 + movs r0, 0xB + str r0, [sp] + ldr r5, _0803A2D8 + ldr r0, [r5] + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0803A2C4 + ldr r0, [r5] + mov r1, sp + bl sub_8013114 +_0803A2C4: + ldr r0, [sp] + cmp r0, 0xB + bhi _0803A34E + lsls r0, 2 + ldr r1, _0803A2DC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803A2D4: .4byte 0x0000ffdc +_0803A2D8: .4byte gUnknown_203B3EC +_0803A2DC: .4byte _0803A2E0 + .align 2, 0 +_0803A2E0: + .4byte _0803A310 + .4byte _0803A314 + .4byte _0803A318 + .4byte _0803A31C + .4byte _0803A320 + .4byte _0803A324 + .4byte _0803A328 + .4byte _0803A34E + .4byte _0803A34E + .4byte _0803A330 + .4byte _0803A344 + .4byte _0803A34C +_0803A310: + movs r4, 0x2F + b _0803A34E +_0803A314: + movs r4, 0x30 + b _0803A34E +_0803A318: + movs r4, 0x31 + b _0803A34E +_0803A31C: + movs r4, 0x32 + b _0803A34E +_0803A320: + movs r4, 0x33 + b _0803A34E +_0803A324: + movs r4, 0x34 + b _0803A34E +_0803A328: + bl sub_803A3BC + movs r4, 0x1 + b _0803A34E +_0803A330: + movs r4, 0 +_0803A332: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_80976F8 + adds r4, 0x1 + cmp r4, 0x1F + ble _0803A332 + movs r4, 0x1 + b _0803A34E +_0803A344: + bl sub_803A3A0 + movs r4, 0x1 + b _0803A34E +_0803A34C: + ldr r4, _0803A358 +_0803A34E: + adds r0, r4, 0 + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0803A358: .4byte 0x0000ffdc + thumb_func_end sub_803A2A4 + + thumb_func_start SetDebugMenuItems +SetDebugMenuItems: + push {r4,lr} + sub sp, 0x10 + ldr r4, _0803A394 + ldr r0, [r4] + movs r2, 0xA0 + lsls r2, 1 + adds r1, r0, r2 + ldr r3, _0803A398 + ldr r2, _0803A39C + str r2, [sp] + movs r2, 0x1 + str r2, [sp, 0x4] + movs r2, 0xD + str r2, [sp, 0x8] + movs r2, 0 + str r2, [sp, 0xC] + bl SetMenuItems + ldr r0, [r4] + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + add sp, 0x10 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803A394: .4byte gUnknown_203B3EC +_0803A398: .4byte gUnknown_80E7D58 +_0803A39C: .4byte gUnknown_80E7D70 + thumb_func_end SetDebugMenuItems + + thumb_func_start sub_803A3A0 +sub_803A3A0: + push {lr} + ldr r0, _0803A3B8 + ldr r0, [r0] + movs r1, 0xA0 + lsls r1, 1 + adds r0, r1 + movs r1, 0 + bl sub_8035CC0 + pop {r0} + bx r0 + .align 2, 0 +_0803A3B8: .4byte gUnknown_203B3EC + thumb_func_end sub_803A3A0 + + thumb_func_start sub_803A3BC +sub_803A3BC: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x84 + movs r5, 0x1 + add r4, sp, 0x60 + add r6, sp, 0x68 + add r0, sp, 0x7C + mov r8, r0 + add r0, sp, 0x80 + mov r10, r0 +_0803A3D6: + lsls r0, r5, 24 + lsrs r0, 24 + bl sub_80925EC + adds r5, 0x1 + cmp r5, 0x39 + ble _0803A3D6 + movs r5, 0 + adds r7, r4, 0 +_0803A3E8: + movs r0, 0 + mov r9, r0 + ldr r0, _0803A454 + str r0, [sp, 0x7C] + adds r5, 0x1 + lsls r4, r5, 16 + asrs r4, 16 + adds r0, r7, 0 + movs r1, 0 + movs r2, 0x8 + bl memset + movs r0, 0x27 + strh r0, [r7] + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_808D8BC + adds r0, r6, 0 + adds r1, r6, 0 + bl sub_80922F4 + movs r0, 0x40 + strb r0, [r6] + mov r0, r8 + str r0, [sp] + str r7, [sp, 0x4] + add r0, sp, 0x8 + adds r1, r4, 0 + adds r2, r6, 0 + movs r3, 0x43 + bl sub_808CFD0 + add r0, sp, 0x8 + bl sub_808D1DC + ldr r0, _0803A458 + cmp r5, r0 + ble _0803A3E8 + mov r0, r9 + str r0, [sp, 0x80] + mov r0, r10 + movs r1, 0x1 + bl sub_801203C + add sp, 0x84 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803A454: .4byte 0x00001006 +_0803A458: .4byte 0x0000012b + thumb_func_end sub_803A3BC + + thumb_func_start sub_803A45C +sub_803A45C: + push {r4,lr} + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _0803A488 + movs r0, 0x9C + lsls r0, 1 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + movs r0, 0 + bl sub_803A504 + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0803A488: .4byte gUnknown_203B3F0 + thumb_func_end sub_803A45C + + thumb_func_start sub_803A48C +sub_803A48C: + push {lr} + ldr r0, _0803A4A4 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x5 + bhi _0803A4E0 + lsls r0, 2 + ldr r1, _0803A4A8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803A4A4: .4byte gUnknown_203B3F0 +_0803A4A8: .4byte _0803A4AC + .align 2, 0 +_0803A4AC: + .4byte _0803A4C4 + .4byte _0803A4C4 + .4byte _0803A4CA + .4byte _0803A4D0 + .4byte _0803A4D6 + .4byte _0803A4DC +_0803A4C4: + bl sub_803A740 + b _0803A4E0 +_0803A4CA: + bl sub_803A7B0 + b _0803A4E0 +_0803A4D0: + bl sub_803A810 + b _0803A4E0 +_0803A4D6: + bl sub_803A86C + b _0803A4E0 +_0803A4DC: + movs r0, 0x3 + b _0803A4E2 +_0803A4E0: + movs r0, 0 +_0803A4E2: + pop {r1} + bx r1 + thumb_func_end sub_803A48C + + thumb_func_start sub_803A4E8 +sub_803A4E8: + push {r4,lr} + ldr r4, _0803A500 + ldr r0, [r4] + cmp r0, 0 + beq _0803A4FA + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0803A4FA: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803A500: .4byte gUnknown_203B3F0 + thumb_func_end sub_803A4E8 + + thumb_func_start sub_803A504 +sub_803A504: + push {lr} + ldr r1, _0803A518 + ldr r1, [r1] + str r0, [r1] + bl sub_803A51C + bl sub_803A5A0 + pop {r0} + bx r0 + .align 2, 0 +_0803A518: .4byte gUnknown_203B3F0 + thumb_func_end sub_803A504 + + thumb_func_start sub_803A51C +sub_803A51C: + push {r4-r7,lr} + ldr r4, _0803A53C + ldr r0, [r4] + adds r0, 0xD8 + bl sub_8006518 + ldr r1, [r4] + ldr r0, [r1] + cmp r0, 0x2 + beq _0803A544 + cmp r0, 0x3 + bne _0803A55C + adds r1, 0xF0 + ldr r0, _0803A540 + b _0803A54C + .align 2, 0 +_0803A53C: .4byte gUnknown_203B3F0 +_0803A540: .4byte gUnknown_80E7E64 +_0803A544: + movs r0, 0x84 + lsls r0, 1 + adds r1, r0 + ldr r0, _0803A558 +_0803A54C: + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + b _0803A57E + .align 2, 0 +_0803A558: .4byte gUnknown_80E7E4C +_0803A55C: + mov r12, r4 + ldr r4, _0803A598 + movs r3, 0 + movs r2, 0x3 +_0803A564: + mov r0, r12 + ldr r1, [r0] + adds r1, r3 + adds r1, 0xD8 + 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 _0803A564 +_0803A57E: + bl sub_8004914 + ldr r0, _0803A59C + ldr r0, [r0] + adds r0, 0xD8 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803A598: .4byte gUnknown_80E7E34 +_0803A59C: .4byte gUnknown_203B3F0 + thumb_func_end sub_803A51C + + thumb_func_start sub_803A5A0 +sub_803A5A0: + push {lr} + sub sp, 0xC + ldr r1, _0803A5BC + ldr r0, [r1] + ldr r0, [r0] + adds r2, r1, 0 + cmp r0, 0x5 + bhi _0803A68A + lsls r0, 2 + ldr r1, _0803A5C0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803A5BC: .4byte gUnknown_203B3F0 +_0803A5C0: .4byte _0803A5C4 + .align 2, 0 +_0803A5C4: + .4byte _0803A5DC + .4byte _0803A5EA + .4byte _0803A5F2 + .4byte _0803A61C + .4byte _0803A678 + .4byte _0803A68A +_0803A5DC: + movs r0, 0x2 + movs r1, 0x3 + movs r2, 0 + movs r3, 0xA + bl sub_801C8C4 + b _0803A68A +_0803A5EA: + movs r0, 0x1 + bl sub_801CB5C + b _0803A68A +_0803A5F2: + bl sub_801CCD8 + bl sub_803A6F0 + ldr r0, _0803A618 + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x4C + adds r1, r2, 0 + adds r1, 0xC + ldr r2, [r2, 0x8] + str r2, [sp] + movs r2, 0x2 + str r2, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_8012D60 + b _0803A68A + .align 2, 0 +_0803A618: .4byte gUnknown_203B3F0 +_0803A61C: + ldr r3, [r2] + adds r1, r3, 0 + adds r1, 0xAC + movs r0, 0x3 + str r0, [r1] + subs r1, 0x8 + movs r0, 0 + str r0, [r1] + adds r1, 0x4 + ldr r0, _0803A670 + str r0, [r1] + adds r2, r3, 0 + adds r2, 0xA0 + ldr r0, _0803A674 + ldr r1, [r0] + ldrb r0, [r3, 0x4] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r0, [r1] + str r0, [r2] + adds r1, r3, 0 + adds r1, 0xB0 + movs r0, 0x1 + str r0, [r1] + adds r1, 0x4 + adds r0, r3, 0 + adds r0, 0xF0 + str r0, [r1] + adds r1, 0x4 + movs r0, 0x2C + str r0, [r1] + adds r1, 0x4 + movs r0, 0x12 + str r0, [r1] + adds r0, r3, 0 + adds r0, 0x9C + bl sub_8013AA0 + bl sub_803A690 + b _0803A68A + .align 2, 0 +_0803A670: .4byte 0x000003e7 +_0803A674: .4byte gUnknown_203B460 +_0803A678: + ldr r0, [r2] + ldrb r1, [r0, 0x4] + add r0, sp, 0x8 + movs r2, 0 + bl sub_8090A8C + add r0, sp, 0x8 + bl sub_801B3C0 +_0803A68A: + add sp, 0xC + pop {r0} + bx r0 + thumb_func_end sub_803A5A0 + + thumb_func_start sub_803A690 +sub_803A690: + push {r4,lr} + sub sp, 0x4 + ldr r4, _0803A6E8 + ldr r0, [r4] + adds r0, 0xB0 + ldr r0, [r0] + bl sub_8008C54 + ldr r0, [r4] + adds r0, 0xB0 + ldr r0, [r0] + bl sub_80073B8 + ldr r2, _0803A6EC + ldr r0, [r4] + adds r0, 0xB0 + ldr r3, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x4 + movs r1, 0 + bl xxx_call_draw_string + ldr r0, [r4] + adds r0, 0x9C + bl sub_8013C68 + ldr r0, [r4] + adds r0, 0xB0 + ldr r0, [r0] + bl sub_80073E0 + bl sub_801CCD8 + ldr r0, [r4] + adds r0, 0x4C + movs r1, 0 + bl sub_8012EA4 + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803A6E8: .4byte gUnknown_203B3F0 +_0803A6EC: .4byte gUnknown_80E7E7C + thumb_func_end sub_803A690 + + thumb_func_start sub_803A6F0 +sub_803A6F0: + push {r4,lr} + ldr r4, _0803A734 + ldr r1, [r4] + ldr r0, _0803A738 + str r0, [r1, 0xC] + movs r0, 0x2 + str r0, [r1, 0x10] + str r0, [r1, 0x8] + ldrb r0, [r1, 0x4] + bl sub_8091524 + lsls r0, 24 + cmp r0, 0 + bne _0803A718 + ldr r0, [r4] + movs r1, 0x1 + negs r1, r1 + str r1, [r0, 0x10] + movs r1, 0x3 + str r1, [r0, 0x8] +_0803A718: + ldr r1, [r4] + movs r2, 0x1 + ldr r0, _0803A73C + ldr r0, [r0] + str r0, [r1, 0x14] + movs r0, 0x3 + str r0, [r1, 0x18] + movs r0, 0 + str r0, [r1, 0x1C] + str r2, [r1, 0x20] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803A734: .4byte gUnknown_203B3F0 +_0803A738: .4byte gUnknown_80E7E7C +_0803A73C: .4byte gUnknown_80D4970 + thumb_func_end sub_803A6F0 + + thumb_func_start sub_803A740 +sub_803A740: + push {lr} + movs r0, 0x1 + bl sub_801CA08 + cmp r0, 0x4 + bhi _0803A7AA + lsls r0, 2 + ldr r1, _0803A758 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803A758: .4byte _0803A75C + .align 2, 0 +_0803A75C: + .4byte _0803A7AA + .4byte _0803A7AA + .4byte _0803A7A0 + .4byte _0803A770 + .4byte _0803A788 +_0803A770: + bl sub_801CB24 + ldr r1, _0803A784 + ldr r1, [r1] + strb r0, [r1, 0x4] + movs r0, 0x2 + bl sub_803A504 + b _0803A7AA + .align 2, 0 +_0803A784: .4byte gUnknown_203B3F0 +_0803A788: + bl sub_801CB24 + ldr r1, _0803A79C + ldr r1, [r1] + strb r0, [r1, 0x4] + movs r0, 0x4 + bl sub_803A504 + b _0803A7AA + .align 2, 0 +_0803A79C: .4byte gUnknown_203B3F0 +_0803A7A0: + bl sub_801CBB8 + movs r0, 0x5 + bl sub_803A504 +_0803A7AA: + pop {r0} + bx r0 + thumb_func_end sub_803A740 + + thumb_func_start sub_803A7B0 +sub_803A7B0: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_801CA08 + ldr r4, _0803A7E8 + ldr r0, [r4] + adds r0, 0x4C + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0803A7D6 + ldr r0, [r4] + adds r0, 0x4C + mov r1, sp + bl sub_8013114 +_0803A7D6: + ldr r0, [sp] + cmp r0, 0x2 + beq _0803A7F2 + cmp r0, 0x2 + bgt _0803A7EC + cmp r0, 0x1 + beq _0803A802 + b _0803A808 + .align 2, 0 +_0803A7E8: .4byte gUnknown_203B3F0 +_0803A7EC: + cmp r0, 0x3 + beq _0803A7FA + b _0803A808 +_0803A7F2: + movs r0, 0x3 + bl sub_803A504 + b _0803A808 +_0803A7FA: + movs r0, 0x4 + bl sub_803A504 + b _0803A808 +_0803A802: + movs r0, 0x1 + bl sub_803A504 +_0803A808: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_803A7B0 + + thumb_func_start sub_803A810 +sub_803A810: + push {r4,lr} + movs r0, 0 + bl sub_801CA08 + ldr r4, _0803A838 + ldr r0, [r4] + adds r0, 0x4C + bl sub_8012FD8 + ldr r0, [r4] + adds r0, 0x9C + bl sub_8013BBC + cmp r0, 0x2 + beq _0803A854 + cmp r0, 0x2 + bhi _0803A83C + cmp r0, 0x1 + beq _0803A860 + b _0803A864 + .align 2, 0 +_0803A838: .4byte gUnknown_203B3F0 +_0803A83C: + cmp r0, 0x3 + bne _0803A864 + ldr r0, _0803A85C + ldr r2, [r0] + ldr r1, [r4] + ldrb r0, [r1, 0x4] + lsls r0, 1 + adds r2, 0x50 + adds r2, r0 + adds r1, 0x9C + ldr r0, [r1] + strh r0, [r2] +_0803A854: + movs r0, 0x1 + bl sub_803A504 + b _0803A864 + .align 2, 0 +_0803A85C: .4byte gUnknown_203B460 +_0803A860: + bl sub_803A690 +_0803A864: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_803A810 + + thumb_func_start sub_803A86C +sub_803A86C: + push {lr} + bl sub_801B410 + cmp r0, 0x1 + bls _0803A884 + cmp r0, 0x3 + bhi _0803A884 + bl sub_801B450 + movs r0, 0x1 + bl sub_803A504 +_0803A884: + pop {r0} + bx r0 + thumb_func_end sub_803A86C + + thumb_func_start sub_803A888 +sub_803A888: + push {r4,lr} + bl sub_8004914 + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _0803A8B4 + movs r0, 0xFC + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + movs r0, 0 + bl sub_803A924 + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0803A8B4: .4byte gUnknown_203B3F4 + thumb_func_end sub_803A888 + + thumb_func_start sub_803A8B8 +sub_803A8B8: + push {lr} + ldr r0, _0803A8D0 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x4 + bhi _0803A902 + lsls r0, 2 + ldr r1, _0803A8D4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803A8D0: .4byte gUnknown_203B3F4 +_0803A8D4: .4byte _0803A8D8 + .align 2, 0 +_0803A8D8: + .4byte _0803A8EC + .4byte _0803A8EC + .4byte _0803A8F2 + .4byte _0803A8F8 + .4byte _0803A8FE +_0803A8EC: + bl sub_803AAC4 + b _0803A902 +_0803A8F2: + bl sub_803AB34 + b _0803A902 +_0803A8F8: + bl sub_803ABAC + b _0803A902 +_0803A8FE: + movs r0, 0x3 + b _0803A904 +_0803A902: + movs r0, 0 +_0803A904: + pop {r1} + bx r1 + thumb_func_end sub_803A8B8 + + thumb_func_start sub_803A908 +sub_803A908: + push {r4,lr} + ldr r4, _0803A920 + ldr r0, [r4] + cmp r0, 0 + beq _0803A91A + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0803A91A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803A920: .4byte gUnknown_203B3F4 + thumb_func_end sub_803A908 + + thumb_func_start sub_803A924 +sub_803A924: + push {lr} + ldr r1, _0803A938 + ldr r1, [r1] + str r0, [r1] + bl sub_803A93C + bl sub_803A9AC + pop {r0} + bx r0 + .align 2, 0 +_0803A938: .4byte gUnknown_203B3F4 + thumb_func_end sub_803A924 + + thumb_func_start sub_803A93C +sub_803A93C: + push {r4-r7,lr} + ldr r4, _0803A960 + ldr r0, [r4] + adds r0, 0x9C + bl sub_8006518 + ldr r1, [r4] + ldr r0, [r1] + cmp r0, 0x2 + bne _0803A968 + adds r1, 0xCC + ldr r0, _0803A964 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + b _0803A98A + .align 2, 0 +_0803A960: .4byte gUnknown_203B3F4 +_0803A964: .4byte gUnknown_80E7EA4 +_0803A968: + mov r12, r4 + ldr r4, _0803A9A4 + movs r3, 0 + movs r2, 0x3 +_0803A970: + mov r0, r12 + ldr r1, [r0] + adds r1, r3 + adds r1, 0x9C + 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 _0803A970 +_0803A98A: + bl sub_8004914 + ldr r0, _0803A9A8 + ldr r0, [r0] + adds r0, 0x9C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803A9A4: .4byte gUnknown_80E7E8C +_0803A9A8: .4byte gUnknown_203B3F4 + thumb_func_end sub_803A93C + + thumb_func_start sub_803A9AC +sub_803A9AC: + push {lr} + sub sp, 0x8 + ldr r1, _0803A9C8 + ldr r0, [r1] + ldr r0, [r0] + adds r2, r1, 0 + cmp r0, 0x4 + bhi _0803AA2C + lsls r0, 2 + ldr r1, _0803A9CC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803A9C8: .4byte gUnknown_203B3F4 +_0803A9CC: .4byte _0803A9D0 + .align 2, 0 +_0803A9D0: + .4byte _0803A9E4 + .4byte _0803A9EE + .4byte _0803A9F6 + .4byte _0803AA20 + .4byte _0803AA2C +_0803A9E4: + movs r0, 0 + movs r1, 0x3 + bl sub_80211AC + b _0803AA2C +_0803A9EE: + movs r0, 0x1 + bl sub_8021354 + b _0803AA2C +_0803A9F6: + bl sub_8021494 + bl sub_803AA34 + ldr r0, _0803AA1C + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x4C + adds r1, r2, 0 + adds r1, 0xC + ldr r2, [r2, 0x8] + str r2, [sp] + movs r2, 0x2 + str r2, [sp, 0x4] + movs r2, 0 + movs r3, 0 + bl sub_8012D60 + b _0803AA2C + .align 2, 0 +_0803AA1C: .4byte gUnknown_203B3F4 +_0803AA20: + ldr r0, [r2] + ldrb r0, [r0, 0x4] + movs r1, 0x1 + movs r2, 0 + bl sub_8021774 +_0803AA2C: + add sp, 0x8 + pop {r0} + bx r0 + thumb_func_end sub_803A9AC + + thumb_func_start sub_803AA34 +sub_803AA34: + push {r4,r5,lr} + movs r4, 0 + ldr r0, _0803AA64 + ldr r1, [r0] + ldr r2, _0803AA68 + ldr r3, [r2] + ldrb r0, [r3, 0x4] + adds r1, r0 + ldrb r0, [r1] + adds r5, r2, 0 + cmp r0, 0 + beq _0803AA7A + ldr r0, _0803AA6C + str r0, [r3, 0xC] + bl sub_803ABC8 + lsls r0, 24 + cmp r0, 0 + beq _0803AA70 + ldr r1, [r5] + movs r0, 0x3 + str r0, [r1, 0x10] + b _0803AA82 + .align 2, 0 +_0803AA64: .4byte gUnknown_203B468 +_0803AA68: .4byte gUnknown_203B3F4 +_0803AA6C: .4byte gUnknown_80E7EBC +_0803AA70: + ldr r1, [r5] + movs r0, 0x1 + negs r0, r0 + str r0, [r1, 0x10] + b _0803AA82 +_0803AA7A: + ldr r0, _0803AABC + str r0, [r3, 0xC] + movs r0, 0x2 + str r0, [r3, 0x10] +_0803AA82: + adds r4, 0x1 + ldr r5, [r5] + mov r12, r5 + lsls r1, r4, 3 + mov r3, r12 + adds r3, 0xC + adds r2, r3, r1 + ldr r0, _0803AAC0 + ldr r0, [r0] + str r0, [r2] + mov r2, r12 + adds r2, 0x10 + adds r1, r2, r1 + movs r0, 0x4 + str r0, [r1] + adds r4, 0x1 + lsls r1, r4, 3 + adds r3, r1 + movs r0, 0 + str r0, [r3] + adds r2, r1 + movs r0, 0x1 + str r0, [r2] + mov r1, r12 + ldr r0, [r1, 0x10] + str r0, [r1, 0x8] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803AABC: .4byte gUnknown_80E7EC4 +_0803AAC0: .4byte gUnknown_80D4970 + thumb_func_end sub_803AA34 + + thumb_func_start sub_803AAC4 +sub_803AAC4: + push {lr} + movs r0, 0x1 + bl sub_8021274 + cmp r0, 0x4 + bhi _0803AB2E + lsls r0, 2 + ldr r1, _0803AADC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803AADC: .4byte _0803AAE0 + .align 2, 0 +_0803AAE0: + .4byte _0803AB2E + .4byte _0803AB2E + .4byte _0803AB24 + .4byte _0803AAF4 + .4byte _0803AB0C +_0803AAF4: + bl sub_802132C + ldr r1, _0803AB08 + ldr r1, [r1] + strb r0, [r1, 0x4] + movs r0, 0x2 + bl sub_803A924 + b _0803AB2E + .align 2, 0 +_0803AB08: .4byte gUnknown_203B3F4 +_0803AB0C: + bl sub_802132C + ldr r1, _0803AB20 + ldr r1, [r1] + strb r0, [r1, 0x4] + movs r0, 0x3 + bl sub_803A924 + b _0803AB2E + .align 2, 0 +_0803AB20: .4byte gUnknown_203B3F4 +_0803AB24: + bl sub_80213A0 + movs r0, 0x4 + bl sub_803A924 +_0803AB2E: + pop {r0} + bx r0 + thumb_func_end sub_803AAC4 + + thumb_func_start sub_803AB34 +sub_803AB34: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_8021274 + ldr r4, _0803AB6C + ldr r0, [r4] + adds r0, 0x4C + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0803AB5A + ldr r0, [r4] + adds r0, 0x4C + mov r1, sp + bl sub_8013114 +_0803AB5A: + ldr r0, [sp] + cmp r0, 0x2 + beq _0803AB7A + cmp r0, 0x2 + bgt _0803AB70 + cmp r0, 0x1 + beq _0803AB9E + b _0803ABA4 + .align 2, 0 +_0803AB6C: .4byte gUnknown_203B3F4 +_0803AB70: + cmp r0, 0x3 + beq _0803AB84 + cmp r0, 0x4 + beq _0803AB96 + b _0803ABA4 +_0803AB7A: + ldr r0, [r4] + ldrb r0, [r0, 0x4] + bl sub_80925EC + b _0803AB8E +_0803AB84: + ldr r0, [r4] + ldrb r0, [r0, 0x4] + movs r1, 0x1 + bl sub_809249C +_0803AB8E: + movs r0, 0x1 + bl sub_803A924 + b _0803ABA4 +_0803AB96: + movs r0, 0x3 + bl sub_803A924 + b _0803ABA4 +_0803AB9E: + movs r0, 0x1 + bl sub_803A924 +_0803ABA4: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_803AB34 + + thumb_func_start sub_803ABAC +sub_803ABAC: + push {lr} + bl sub_80217EC + cmp r0, 0x1 + bls _0803ABC4 + cmp r0, 0x3 + bhi _0803ABC4 + bl sub_8021830 + movs r0, 0x1 + bl sub_803A924 +_0803ABC4: + pop {r0} + bx r0 + thumb_func_end sub_803ABAC + + thumb_func_start sub_803ABC8 +sub_803ABC8: + push {r4-r6,lr} + movs r5, 0 + movs r6, 0x1 +_0803ABCE: + ldr r2, _0803AC08 + movs r0, 0x58 + adds r1, r5, 0 + muls r1, r0 + ldr r0, [r2] + adds r2, r0, r1 + ldrh r1, [r2] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _0803AC10 + lsrs r0, r1, 1 + ands r0, r6 + cmp r0, 0 + beq _0803AC10 + ldr r0, _0803AC0C + ldr r4, [r0] + movs r1, 0x8 + ldrsh r0, [r2, r1] + bl sub_808DBA8 + ldrb r1, [r4, 0x4] + lsls r0, 24 + lsrs r0, 24 + cmp r1, r0 + bne _0803AC10 + movs r0, 0 + b _0803AC1C + .align 2, 0 +_0803AC08: .4byte gUnknown_203B45C +_0803AC0C: .4byte gUnknown_203B3F4 +_0803AC10: + adds r5, 0x1 + movs r0, 0xCE + lsls r0, 1 + cmp r5, r0 + ble _0803ABCE + movs r0, 0x1 +_0803AC1C: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_803ABC8 + + thumb_func_start sub_803AC24 +sub_803AC24: + push {r4,lr} + ldr r4, _0803AC44 + movs r0, 0xA0 + lsls r0, 1 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + movs r0, 0 + bl sub_803ACD0 + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0803AC44: .4byte gUnknown_203B3F8 + thumb_func_end sub_803AC24 + + thumb_func_start sub_803AC48 +sub_803AC48: + push {lr} + ldr r0, _0803AC60 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x7 + bhi _0803ACA8 + lsls r0, 2 + ldr r1, _0803AC64 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803AC60: .4byte gUnknown_203B3F8 +_0803AC64: .4byte _0803AC68 + .align 2, 0 +_0803AC68: + .4byte _0803AC88 + .4byte _0803AC90 + .4byte _0803AC90 + .4byte _0803AC96 + .4byte _0803ACA8 + .4byte _0803AC9C + .4byte _0803ACA2 + .4byte _0803ACA8 +_0803AC88: + movs r0, 0x1 + bl sub_803ACD0 + b _0803ACAC +_0803AC90: + bl sub_803AF38 + b _0803ACAC +_0803AC96: + bl sub_803AF88 + b _0803ACAC +_0803AC9C: + bl sub_803AFE8 + b _0803ACAC +_0803ACA2: + bl sub_803B034 + b _0803ACAC +_0803ACA8: + movs r0, 0x3 + b _0803ACAE +_0803ACAC: + movs r0, 0 +_0803ACAE: + pop {r1} + bx r1 + thumb_func_end sub_803AC48 + + thumb_func_start sub_803ACB4 +sub_803ACB4: + push {r4,lr} + ldr r4, _0803ACCC + ldr r0, [r4] + cmp r0, 0 + beq _0803ACC6 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0803ACC6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803ACCC: .4byte gUnknown_203B3F8 + thumb_func_end sub_803ACB4 + + thumb_func_start sub_803ACD0 +sub_803ACD0: + push {lr} + ldr r1, _0803ACE4 + ldr r1, [r1] + str r0, [r1] + bl sub_803ACE8 + bl sub_803AD88 + pop {r0} + bx r0 + .align 2, 0 +_0803ACE4: .4byte gUnknown_203B3F8 + thumb_func_end sub_803ACD0 + + thumb_func_start sub_803ACE8 +sub_803ACE8: + push {r4-r7,lr} + ldr r4, _0803AD08 + ldr r0, [r4] + adds r0, 0xE0 + bl sub_8006518 + ldr r1, [r4] + ldr r0, [r1] + cmp r0, 0x3 + beq _0803AD10 + cmp r0, 0x5 + beq _0803AD38 + movs r2, 0 + ldr r3, _0803AD0C + b _0803AD50 + .align 2, 0 +_0803AD08: .4byte gUnknown_203B3F8 +_0803AD0C: .4byte gUnknown_80E7ED4 +_0803AD10: + bl sub_803AEB0 + ldr r2, [r4] + movs r0, 0x88 + lsls r0, 1 + adds r2, r0 + ldr r1, _0803AD34 + 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, 0x90 + bl sub_8012CAC + b _0803AD6C + .align 2, 0 +_0803AD34: .4byte gUnknown_80E7EEC +_0803AD38: + movs r6, 0x94 + lsls r6, 1 + adds r1, r6 + ldr r0, _0803AD4C + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + b _0803AD6C + .align 2, 0 +_0803AD4C: .4byte gUnknown_80E7F04 +_0803AD50: + ldr r0, [r4] + lsls r1, r2, 1 + adds r1, r2 + lsls r1, 3 + adds r0, r1 + adds r0, 0xE0 + adds r1, r3, 0 + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + adds r2, 0x1 + cmp r2, 0x3 + ble _0803AD50 +_0803AD6C: + bl sub_8004914 + ldr r0, _0803AD84 + ldr r0, [r0] + adds r0, 0xE0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803AD84: .4byte gUnknown_203B3F8 + thumb_func_end sub_803ACE8 + + thumb_func_start sub_803AD88 +sub_803AD88: + push {lr} + sub sp, 0x8 + ldr r1, _0803ADA4 + ldr r0, [r1] + ldr r0, [r0] + adds r2, r1, 0 + cmp r0, 0x7 + bhi _0803AE50 + lsls r0, 2 + ldr r1, _0803ADA8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803ADA4: .4byte gUnknown_203B3F8 +_0803ADA8: .4byte _0803ADAC + .align 2, 0 +_0803ADAC: + .4byte _0803AE50 + .4byte _0803ADCC + .4byte _0803ADDA + .4byte _0803ADE2 + .4byte _0803AE50 + .4byte _0803AE0C + .4byte _0803AE44 + .4byte _0803AE50 +_0803ADCC: + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0xA + bl sub_8023868 + b _0803AE50 +_0803ADDA: + movs r0, 0x1 + bl sub_8023B7C + b _0803AE50 +_0803ADE2: + bl sub_8023DA4 + ldr r0, _0803AE08 + ldr r2, [r0] + adds r0, r2, 0 + adds r0, 0x10 + adds r1, r2, 0 + adds r1, 0x90 + adds r3, r2, 0 + adds r3, 0xD0 + ldr r2, [r2, 0xC] + str r2, [sp] + movs r2, 0x2 + str r2, [sp, 0x4] + movs r2, 0 + bl sub_8012D60 + b _0803AE50 + .align 2, 0 +_0803AE08: .4byte gUnknown_203B3F8 +_0803AE0C: + ldr r2, [r2] + movs r1, 0x3 + str r1, [r2, 0x70] + movs r0, 0x1 + str r0, [r2, 0x68] + movs r0, 0x64 + str r0, [r2, 0x6C] + ldr r0, [r2, 0x8] + ldrb r0, [r0, 0x3] + str r0, [r2, 0x64] + str r1, [r2, 0x74] + movs r1, 0x94 + lsls r1, 1 + adds r0, r2, r1 + str r0, [r2, 0x78] + movs r0, 0x2C + str r0, [r2, 0x7C] + adds r1, r2, 0 + adds r1, 0x80 + movs r0, 0x12 + str r0, [r1] + adds r0, r2, 0 + adds r0, 0x60 + bl sub_8013AA0 + bl sub_803AE58 + b _0803AE50 +_0803AE44: + ldr r0, [r2] + ldr r1, [r0, 0x8] + adds r1, 0x4C + movs r0, 0x2 + bl sub_801602C +_0803AE50: + add sp, 0x8 + pop {r0} + bx r0 + thumb_func_end sub_803AD88 + + thumb_func_start sub_803AE58 +sub_803AE58: + push {r4,lr} + sub sp, 0x4 + ldr r4, _0803AEA8 + ldr r0, [r4] + ldr r0, [r0, 0x74] + bl sub_8008C54 + ldr r0, [r4] + ldr r0, [r0, 0x74] + bl sub_80073B8 + ldr r2, _0803AEAC + ldr r0, [r4] + ldr r3, [r0, 0x74] + movs r0, 0 + str r0, [sp] + movs r0, 0x4 + movs r1, 0 + bl xxx_call_draw_string + ldr r0, [r4] + adds r0, 0x60 + bl sub_8013C68 + ldr r0, [r4] + ldr r0, [r0, 0x74] + bl sub_80073E0 + bl sub_8023DA4 + ldr r0, [r4] + adds r0, 0x10 + movs r1, 0 + bl sub_8012EA4 + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803AEA8: .4byte gUnknown_203B3F8 +_0803AEAC: .4byte gUnknown_80E7F1C + thumb_func_end sub_803AE58 + + thumb_func_start sub_803AEB0 +sub_803AEB0: + push {r4-r6,lr} + ldr r4, _0803AEFC + ldr r0, [r4] + adds r0, 0xD0 + movs r1, 0 + movs r2, 0x10 + bl MemoryFill16 + ldr r4, [r4] + movs r3, 0 + adds r1, r4, 0 + adds r1, 0x90 + ldr r0, _0803AF00 + str r0, [r1] + adds r5, r4, 0 + adds r5, 0x94 + movs r0, 0x4 + str r0, [r5] + movs r2, 0x1 + adds r1, 0x8 + ldr r0, _0803AF04 + str r0, [r1] + adds r1, 0x4 + movs r0, 0x5 + str r0, [r1] + movs r6, 0x2 + adds r0, r4, 0 + adds r0, 0xA0 + str r3, [r0] + adds r0, 0x4 + str r2, [r0] + adds r0, 0x2C + ldrh r0, [r0] + cmp r0, 0 + bne _0803AF08 + ldr r0, [r5] + str r0, [r4, 0xC] + b _0803AF2C + .align 2, 0 +_0803AEFC: .4byte gUnknown_203B3F8 +_0803AF00: .4byte gUnknown_80E7F24 +_0803AF04: .4byte gUnknown_80E7F2C +_0803AF08: + adds r3, 0x1 + cmp r3, r6 + bge _0803AF2C + ldr r0, _0803AF34 + ldr r2, [r0] + lsls r1, r3, 1 + adds r0, r2, 0 + adds r0, 0xD0 + adds r0, r1 + ldrh r0, [r0] + cmp r0, 0 + bne _0803AF08 + lsls r0, r3, 3 + adds r1, r2, 0 + adds r1, 0x94 + adds r1, r0 + ldr r0, [r1] + str r0, [r2, 0xC] +_0803AF2C: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0803AF34: .4byte gUnknown_203B3F8 + thumb_func_end sub_803AEB0 + + thumb_func_start sub_803AF38 +sub_803AF38: + push {lr} + movs r0, 0x1 + bl sub_8023A94 + cmp r0, 0x2 + beq _0803AF78 + cmp r0, 0x2 + bcc _0803AF82 + cmp r0, 0x3 + bne _0803AF82 + bl sub_8023B44 + ldr r1, _0803AF70 + ldr r1, [r1] + strh r0, [r1, 0x4] + ldr r3, _0803AF74 + movs r0, 0x4 + ldrsh r2, [r1, r0] + movs r0, 0x58 + muls r2, r0 + ldr r0, [r3] + adds r0, r2 + str r0, [r1, 0x8] + movs r0, 0x3 + bl sub_803ACD0 + b _0803AF82 + .align 2, 0 +_0803AF70: .4byte gUnknown_203B3F8 +_0803AF74: .4byte gUnknown_203B45C +_0803AF78: + bl sub_8023C60 + movs r0, 0x7 + bl sub_803ACD0 +_0803AF82: + pop {r0} + bx r0 + thumb_func_end sub_803AF38 + + thumb_func_start sub_803AF88 +sub_803AF88: + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + bl sub_8023A94 + ldr r4, _0803AFC0 + ldr r0, [r4] + adds r0, 0x10 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _0803AFAE + ldr r0, [r4] + adds r0, 0x10 + mov r1, sp + bl sub_8013114 +_0803AFAE: + ldr r0, [sp] + cmp r0, 0x4 + beq _0803AFCA + cmp r0, 0x4 + bgt _0803AFC4 + cmp r0, 0x1 + beq _0803AFDA + b _0803AFE0 + .align 2, 0 +_0803AFC0: .4byte gUnknown_203B3F8 +_0803AFC4: + cmp r0, 0x5 + beq _0803AFD2 + b _0803AFE0 +_0803AFCA: + movs r0, 0x5 + bl sub_803ACD0 + b _0803AFE0 +_0803AFD2: + movs r0, 0x6 + bl sub_803ACD0 + b _0803AFE0 +_0803AFDA: + movs r0, 0x2 + bl sub_803ACD0 +_0803AFE0: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_803AF88 + + thumb_func_start sub_803AFE8 +sub_803AFE8: + push {r4,lr} + movs r0, 0 + bl sub_8023A94 + ldr r4, _0803B010 + ldr r0, [r4] + adds r0, 0x10 + bl sub_8012FD8 + ldr r0, [r4] + adds r0, 0x60 + bl sub_8013BBC + cmp r0, 0x2 + beq _0803B020 + cmp r0, 0x2 + bhi _0803B014 + cmp r0, 0x1 + beq _0803B028 + b _0803B02C + .align 2, 0 +_0803B010: .4byte gUnknown_203B3F8 +_0803B014: + cmp r0, 0x3 + bne _0803B02C + ldr r0, [r4] + ldr r1, [r0, 0x8] + ldr r0, [r0, 0x60] + strb r0, [r1, 0x3] +_0803B020: + movs r0, 0x2 + bl sub_803ACD0 + b _0803B02C +_0803B028: + bl sub_803AE58 +_0803B02C: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_803AFE8 + + thumb_func_start sub_803B034 +sub_803B034: + push {lr} + bl sub_8016080 + cmp r0, 0x3 + bhi _0803B04C + cmp r0, 0x2 + bcc _0803B04C + bl sub_80160D8 + movs r0, 0x2 + bl sub_803ACD0 +_0803B04C: + pop {r0} + bx r0 + thumb_func_end sub_803B034 + + thumb_func_start sub_803B050 +sub_803B050: + push {r4-r7,lr} + ldr r4, _0803B0F4 + movs r0, 0xF4 + lsls r0, 2 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + movs r1, 0x3 + str r1, [r0, 0x34] + adds r1, r0, 0 + adds r1, 0x84 + str r1, [r0, 0x38] + adds r0, 0x3C + bl sub_8006518 + ldr r1, [r4] + ldr r2, [r1, 0x34] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x3C + ldr r0, _0803B0F8 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldr r0, [r4] + ldr r1, [r0, 0x38] + adds r0, 0x9C + str r0, [r1, 0x14] + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r2, 0 + movs r3, 0 + movs r7, 0xCB + lsls r7, 1 + movs r6, 0x80 + lsls r6, 9 + movs r5, 0 +_0803B0AE: + ldr r0, _0803B0FC + adds r0, r5, r0 + movs r1, 0x2 + ldrsh r0, [r0, r1] + ldr r4, _0803B0F4 + cmp r0, 0xA + bne _0803B0C8 + ldr r0, [r4] + lsls r1, r2, 1 + adds r0, 0xA0 + adds r0, r1 + strh r3, [r0] + adds r2, 0x1 +_0803B0C8: + adds r0, r6, 0 + movs r3, 0x80 + lsls r3, 9 + adds r6, r3 + adds r5, 0xC + asrs r3, r0, 16 + cmp r3, r7 + ble _0803B0AE + ldr r0, [r4] + ldr r3, [r0, 0x34] + adds r1, r2, 0 + movs r2, 0xA + bl sub_8013818 + bl sub_803B204 + bl sub_803B284 + movs r0, 0x1 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0803B0F4: .4byte gUnknown_203B3FC +_0803B0F8: .4byte gUnknown_80E7F54 +_0803B0FC: .4byte gUnknown_812F1F8 + thumb_func_end sub_803B050 + + thumb_func_start sub_803B100 +sub_803B100: + push {lr} + adds r1, r0, 0 + lsls r1, 16 + asrs r1, 16 + ldr r0, _0803B11C + ldr r0, [r0] + bl sub_8013878 + bl sub_803B204 + bl sub_803B284 + pop {r0} + bx r0 + .align 2, 0 +_0803B11C: .4byte gUnknown_203B3FC + thumb_func_end sub_803B100 + + thumb_func_start sub_803B120 +sub_803B120: + push {r4,lr} + ldr r4, _0803B13C + ldr r0, [r4] + bl GetKeyPress + cmp r0, 0x1 + beq _0803B140 + cmp r0, 0x2 + bne _0803B144 + movs r0, 0x1 + bl sub_80119D4 + movs r0, 0x2 + b _0803B160 + .align 2, 0 +_0803B13C: .4byte gUnknown_203B3FC +_0803B140: + movs r0, 0x3 + b _0803B160 +_0803B144: + ldr r0, [r4] + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + bne _0803B156 + movs r0, 0 + b _0803B160 +_0803B156: + bl sub_803B204 + bl sub_803B284 + movs r0, 0x1 +_0803B160: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_803B120 + + thumb_func_start sub_803B168 +sub_803B168: + ldr r0, _0803B188 + ldr r0, [r0] + movs r1, 0x1E + ldrsh r2, [r0, r1] + movs r3, 0x1C + ldrsh r1, [r0, r3] + muls r1, r2 + movs r3, 0x18 + ldrsh r2, [r0, r3] + adds r1, r2 + lsls r1, 1 + adds r0, 0xA0 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + bx lr + .align 2, 0 +_0803B188: .4byte gUnknown_203B3FC + thumb_func_end sub_803B168 + + thumb_func_start sub_803B18C +sub_803B18C: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r5, _0803B1B8 + ldr r0, [r5] + movs r1, 0xE5 + strh r1, [r0, 0x22] + bl sub_8013984 + bl sub_803B204 + bl sub_803B284 + cmp r4, 0 + beq _0803B1B2 + ldr r0, [r5] + bl AddMenuCursorSprite +_0803B1B2: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803B1B8: .4byte gUnknown_203B3FC + thumb_func_end sub_803B18C + + thumb_func_start sub_803B1BC +sub_803B1BC: + push {r4,r5,lr} + ldr r4, _0803B1FC + ldr r2, [r4] + cmp r2, 0 + beq _0803B1F6 + ldr r0, [r2, 0x34] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x3C + ldr r0, _0803B200 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0803B1F6: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803B1FC: .4byte gUnknown_203B3FC +_0803B200: .4byte gUnknown_80E7F3C + thumb_func_end sub_803B1BC + + thumb_func_start sub_803B204 +sub_803B204: + push {r4,lr} + ldr r4, _0803B280 + ldr r0, [r4] + adds r0, 0x9C + movs r2, 0 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0x9D + strb r2, [r0] + ldr r0, [r4] + adds r0, 0x9E + movs r1, 0x8 + strb r1, [r0] + ldr r0, [r4] + adds r0, 0x9F + strb r2, [r0] + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + movs r1, 0x1A + ldrsh r0, [r0, r1] + movs r1, 0xC + bl sub_80095E4 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r4] + ldr r3, [r2, 0x34] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x4A + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x34] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x4C + strh r3, [r2] + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x3C + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803B280: .4byte gUnknown_203B3FC + thumb_func_end sub_803B204 + + thumb_func_start sub_803B284 +sub_803B284: + push {r4-r6,lr} + sub sp, 0x8 + ldr r6, _0803B338 + ldr r0, [r6] + ldr r0, [r0, 0x34] + bl sub_8008C54 + ldr r0, [r6] + ldr r0, [r0, 0x34] + bl sub_80073B8 + ldr r2, _0803B33C + ldr r0, [r6] + ldr r3, [r0, 0x34] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + movs r1, 0 + bl xxx_call_draw_string + ldr r1, [r6] + adds r0, r1, 0 + adds r0, 0x9E + ldrb r4, [r0] + lsls r4, 3 + subs r4, 0x2 + movs r0, 0x1E + ldrsh r2, [r1, r0] + adds r2, 0x1 + movs r0, 0x7 + str r0, [sp] + ldr r0, [r1, 0x34] + str r0, [sp, 0x4] + adds r0, r4, 0 + movs r1, 0 + movs r3, 0x2 + bl sub_8012BC4 + movs r5, 0 + ldr r0, [r6] + movs r1, 0x1A + ldrsh r0, [r0, r1] + cmp r5, r0 + bge _0803B324 +_0803B2DC: + ldr r0, [r6] + movs r3, 0x1E + ldrsh r2, [r0, r3] + movs r3, 0x1C + ldrsh r1, [r0, r3] + muls r2, r1 + adds r2, r5 + lsls r2, 1 + adds r1, r0, 0 + adds r1, 0xA0 + adds r1, r2 + movs r2, 0 + ldrsh r1, [r1, r2] + lsls r4, r1, 1 + adds r4, r1 + lsls r4, 2 + ldr r1, _0803B340 + adds r4, r1 + adds r1, r5, 0 + bl sub_8013800 + adds r1, r0, 0 + ldr r2, [r4, 0x4] + ldr r0, [r6] + ldr r3, [r0, 0x34] + movs r0, 0 + str r0, [sp] + movs r0, 0x8 + bl xxx_call_draw_string + adds r5, 0x1 + ldr r0, [r6] + movs r3, 0x1A + ldrsh r0, [r0, r3] + cmp r5, r0 + blt _0803B2DC +_0803B324: + ldr r0, _0803B338 + ldr r0, [r0] + ldr r0, [r0, 0x34] + bl sub_80073E0 + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0803B338: .4byte gUnknown_203B3FC +_0803B33C: .4byte gUnknown_80E7F6C +_0803B340: .4byte gUnknown_812F1F8 + thumb_func_end sub_803B284 + + thumb_func_start sub_803B344 +sub_803B344: + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r0, r1, 3 + subs r0, r1 + lsls r0, 2 + ldr r1, _0803B358 + adds r0, r1 + bx lr + .align 2, 0 +_0803B358: .4byte gUnknown_80E7F94 + thumb_func_end sub_803B344 + + thumb_func_start sub_803B35C +sub_803B35C: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + adds r1, 0x18 + bl sub_803C21C + ldrb r0, [r5, 0x2] + subs r0, 0x1 + cmp r0, 0x8 + bls _0803B372 + b _0803B4FA +_0803B372: + lsls r0, 2 + ldr r1, _0803B37C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803B37C: .4byte _0803B380 + .align 2, 0 +_0803B380: + .4byte _0803B3A4 + .4byte _0803B3BE + .4byte _0803B3D8 + .4byte _0803B3F2 + .4byte _0803B414 + .4byte _0803B442 + .4byte _0803B470 + .4byte _0803B49E + .4byte _0803B4CC +_0803B3A4: + adds r0, r4, 0 + adds r0, 0x40 + movs r1, 0 + strb r1, [r0] + adds r0, 0x1 + strb r1, [r0] + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x6 + strb r0, [r1] + subs r1, 0x14 + movs r0, 0x5 + b _0803B576 +_0803B3BE: + adds r0, r4, 0 + adds r0, 0x40 + movs r1, 0x1 + strb r1, [r0] + adds r0, 0x1 + strb r1, [r0] + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x6 + strb r0, [r1] + subs r1, 0x14 + movs r0, 0x5 + b _0803B576 +_0803B3D8: + adds r0, r4, 0 + adds r0, 0x40 + movs r1, 0x2 + strb r1, [r0] + adds r0, 0x1 + strb r1, [r0] + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x6 + strb r0, [r1] + subs r1, 0x14 + movs r0, 0x5 + b _0803B576 +_0803B3F2: + adds r0, r4, 0 + adds r0, 0x40 + movs r1, 0x3 + strb r1, [r0] + adds r0, 0x1 + strb r1, [r0] + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x6 + strb r0, [r1] + bl sub_8096DD8 + str r0, [r4, 0x4C] + bl sub_8096DE8 + str r0, [r4, 0x50] + b _0803B578 +_0803B414: + ldrb r0, [r5, 0x1] + cmp r0, 0x3 + bne _0803B42A + adds r0, r4, 0 + adds r0, 0x40 + movs r1, 0xB + strb r1, [r0] + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x1 + b _0803B438 +_0803B42A: + adds r0, r4, 0 + adds r0, 0x40 + movs r1, 0xC + strb r1, [r0] + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x2 +_0803B438: + strb r0, [r1] + adds r1, r4, 0 + adds r1, 0x41 + movs r0, 0x4 + b _0803B576 +_0803B442: + ldrb r0, [r5, 0x1] + cmp r0, 0x3 + bne _0803B458 + adds r0, r4, 0 + adds r0, 0x40 + movs r1, 0xB + strb r1, [r0] + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x1 + b _0803B466 +_0803B458: + adds r0, r4, 0 + adds r0, 0x40 + movs r1, 0xC + strb r1, [r0] + adds r1, r4, 0 + adds r1, 0x42 + movs r0, 0x2 +_0803B466: + strb r0, [r1] + adds r1, r4, 0 + adds r1, 0x41 + movs r0, 0x5 + b _0803B576 +_0803B470: + adds r0, r5, 0 + bl sub_803B600 + str r0, [r4, 0x4] + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _0803B488 + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0x9 + b _0803B48E +_0803B488: + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0x4 +_0803B48E: + strb r0, [r1] + adds r1, r4, 0 + adds r1, 0x41 + movs r0, 0x6 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x4 + b _0803B576 +_0803B49E: + adds r0, r5, 0 + bl sub_803B628 + str r0, [r4, 0x4] + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _0803B4B6 + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0x9 + b _0803B4BC +_0803B4B6: + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0x5 +_0803B4BC: + strb r0, [r1] + adds r1, r4, 0 + adds r1, 0x41 + movs r0, 0x7 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x4 + b _0803B576 +_0803B4CC: + adds r0, r5, 0 + bl sub_803B66C + str r0, [r4, 0x4] + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _0803B4E4 + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0xA + b _0803B4EA +_0803B4E4: + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0x6 +_0803B4EA: + strb r0, [r1] + adds r1, r4, 0 + adds r1, 0x41 + movs r0, 0x8 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x5 + b _0803B576 +_0803B4FA: + ldrb r0, [r5, 0x1] + cmp r0, 0x2 + beq _0803B528 + cmp r0, 0x2 + bgt _0803B50A + cmp r0, 0x1 + beq _0803B514 + b _0803B564 +_0803B50A: + cmp r0, 0x3 + beq _0803B53C + cmp r0, 0x4 + beq _0803B550 + b _0803B564 +_0803B514: + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0x9 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0xD + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x4 + b _0803B576 +_0803B528: + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0xA + strb r0, [r1] + adds r1, 0x1 + movs r0, 0xE + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x5 + b _0803B576 +_0803B53C: + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0xB + strb r0, [r1] + adds r1, 0x1 + movs r0, 0xF + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x1 + b _0803B576 +_0803B550: + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0xC + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x10 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x2 + b _0803B576 +_0803B564: + adds r1, r4, 0 + adds r1, 0x40 + movs r0, 0x8 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0xC + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x3 +_0803B576: + strb r0, [r1] +_0803B578: + adds r0, r5, 0x4 + str r0, [r4, 0x8] + movs r0, 0 + str r0, [r4, 0xC] + ldrh r0, [r5, 0xC] + movs r1, 0 + strh r0, [r4, 0x10] + ldrh r0, [r5, 0xE] + strh r0, [r4, 0x12] + ldrb r0, [r5, 0x10] + strb r0, [r4, 0x14] + ldrb r0, [r5] + subs r0, 0x2 + cmp r0, 0x7 + bhi _0803B5EC + lsls r0, 2 + ldr r1, _0803B5A0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803B5A0: .4byte _0803B5A4 + .align 2, 0 +_0803B5A4: + .4byte _0803B5C4 + .4byte _0803B5C4 + .4byte _0803B5C4 + .4byte _0803B5C4 + .4byte _0803B5DC + .4byte _0803B5CC + .4byte _0803B5DC + .4byte _0803B5DC +_0803B5C4: + adds r0, r4, 0 + adds r0, 0x43 + movs r1, 0x1 + b _0803B5F0 +_0803B5CC: + adds r1, r4, 0 + adds r1, 0x43 + movs r0, 0 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x3 + strb r0, [r1] + b _0803B5F6 +_0803B5DC: + adds r1, r4, 0 + adds r1, 0x43 + movs r0, 0x3 + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x2 + strb r0, [r1] + b _0803B5F6 +_0803B5EC: + adds r0, r4, 0 + adds r0, 0x43 +_0803B5F0: + strb r1, [r0] + adds r0, 0x1 + strb r1, [r0] +_0803B5F6: + str r5, [r4, 0x54] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_803B35C + + thumb_func_start sub_803B600 +sub_803B600: + push {lr} + ldr r2, _0803B614 + movs r1, 0 + ldr r3, [r0, 0xC] +_0803B608: + ldr r0, [r2] + cmp r0, r3 + bne _0803B618 + adds r0, r1, 0 + b _0803B624 + .align 2, 0 +_0803B614: .4byte gUnknown_80E9920 +_0803B618: + adds r2, 0x8 + adds r1, 0x1 + cmp r1, 0x14 + ble _0803B608 + movs r0, 0x1 + negs r0, r0 +_0803B624: + pop {r1} + bx r1 + thumb_func_end sub_803B600 + + thumb_func_start sub_803B628 +sub_803B628: + push {r4,r5,lr} + adds r4, r0, 0 + ldr r2, _0803B654 + movs r3, 0 +_0803B630: + ldr r1, [r2] + ldr r0, [r4, 0xC] + cmp r1, r0 + beq _0803B650 + movs r0, 0x2 + ldrsh r1, [r2, r0] + movs r5, 0xC + ldrsh r0, [r4, r5] + cmp r1, r0 + bne _0803B658 + movs r0, 0 + ldrsh r1, [r2, r0] + movs r5, 0xE + ldrsh r0, [r4, r5] + cmp r1, r0 + bne _0803B658 +_0803B650: + adds r0, r3, 0 + b _0803B664 + .align 2, 0 +_0803B654: .4byte gUnknown_80E9F8C +_0803B658: + adds r2, 0xC + adds r3, 0x1 + cmp r3, 0x2C + ble _0803B630 + movs r0, 0x1 + negs r0, r0 +_0803B664: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_803B628 + + thumb_func_start sub_803B66C +sub_803B66C: + push {r4,r5,lr} + adds r4, r0, 0 + ldr r2, _0803B698 + movs r3, 0 +_0803B674: + ldr r1, [r2] + ldr r0, [r4, 0xC] + cmp r1, r0 + beq _0803B694 + movs r0, 0x2 + ldrsh r1, [r2, r0] + movs r5, 0xC + ldrsh r0, [r4, r5] + cmp r1, r0 + bne _0803B69C + movs r0, 0 + ldrsh r1, [r2, r0] + movs r5, 0xE + ldrsh r0, [r4, r5] + cmp r1, r0 + bne _0803B69C +_0803B694: + adds r0, r3, 0 + b _0803B6A8 + .align 2, 0 +_0803B698: .4byte gUnknown_80E8168 +_0803B69C: + adds r2, 0x4 + adds r3, 0x1 + cmp r3, 0x5 + ble _0803B674 + movs r0, 0x1 + negs r0, r0 +_0803B6A8: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_803B66C + + thumb_func_start sub_803B6B0 +sub_803B6B0: + push {r4,lr} + sub sp, 0x4 + lsls r2, 24 + ldr r4, _0803B6D0 + lsrs r2, 22 + adds r2, r4 + ldr r2, [r2] + movs r4, 0 + str r4, [sp] + bl xxx_call_draw_string + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803B6D0: .4byte gUnknown_80E8B94 + thumb_func_end sub_803B6B0 + + thumb_func_start sub_803B6D4 +sub_803B6D4: + push {r4-r7,lr} + sub sp, 0x144 + adds r7, r0, 0 + ldr r1, [r7, 0x48] + adds r0, 0x43 + ldrb r2, [r0] + ldr r3, [r7] + movs r0, 0xA + bl sub_803B6B0 + adds r0, r7, 0 + adds r0, 0x40 + ldrb r0, [r0] + cmp r0, 0xC + bls _0803B6F4 + b _0803B86C +_0803B6F4: + lsls r0, 2 + ldr r1, _0803B700 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803B700: .4byte _0803B704 + .align 2, 0 +_0803B704: + .4byte _0803B73E + .4byte _0803B748 + .4byte _0803B754 + .4byte _0803B738 + .4byte _0803B7A4 + .4byte _0803B7B0 + .4byte _0803B7C8 + .4byte _0803B760 + .4byte _0803B86C + .4byte _0803B818 + .4byte _0803B7E0 + .4byte _0803B788 + .4byte _0803B76A +_0803B738: + ldr r1, [r7, 0x48] + ldr r2, [r7, 0x4C] + b _0803B7CC +_0803B73E: + ldr r1, [r7, 0x48] + ldr r2, _0803B744 + b _0803B7CC + .align 2, 0 +_0803B744: .4byte gUnknown_80E87DC +_0803B748: + ldr r1, [r7, 0x48] + ldr r2, _0803B750 + b _0803B7CC + .align 2, 0 +_0803B750: .4byte gUnknown_80E87F4 +_0803B754: + ldr r1, [r7, 0x48] + ldr r2, _0803B75C + b _0803B7CC + .align 2, 0 +_0803B75C: .4byte gUnknown_80E8818 +_0803B760: + ldr r1, [r7, 0x8] + add r0, sp, 0x4 + bl sub_8090208 + b _0803B850 +_0803B76A: + ldr r4, _0803B780 + ldrb r1, [r7, 0x14] + adds r0, r4, 0 + movs r2, 0 + bl sub_8090DC4 + ldr r1, _0803B784 + add r0, sp, 0x4 + adds r2, r4, 0 + b _0803B84C + .align 2, 0 +_0803B780: .4byte gUnknown_202DE58 +_0803B784: .4byte gUnknown_80E8830 +_0803B788: + ldr r4, _0803B79C + ldrb r1, [r7, 0x14] + adds r0, r4, 0 + movs r2, 0 + bl sub_8090DC4 + ldr r1, _0803B7A0 + add r0, sp, 0x4 + adds r2, r4, 0 + b _0803B84C + .align 2, 0 +_0803B79C: .4byte gUnknown_202DE58 +_0803B7A0: .4byte gUnknown_80E8848 +_0803B7A4: + ldr r1, [r7, 0x48] + ldr r2, _0803B7AC + b _0803B7CC + .align 2, 0 +_0803B7AC: .4byte gUnknown_80E885C +_0803B7B0: + ldr r1, [r7, 0x48] + ldr r3, _0803B7C4 + ldr r2, [r7, 0x4] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 2 + adds r3, 0x4 + adds r0, r3 + ldr r2, [r0] + b _0803B7CC + .align 2, 0 +_0803B7C4: .4byte gUnknown_80E9F8C +_0803B7C8: + ldr r1, [r7, 0x48] + ldr r2, _0803B7DC +_0803B7CC: + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x15 + bl xxx_call_draw_string + b _0803B8B4 + .align 2, 0 +_0803B7DC: .4byte gUnknown_80E886C +_0803B7E0: + ldr r0, [r7, 0x8] + ldr r4, [r0, 0x4] + ldrb r0, [r0] + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl sub_808D994 + adds r1, r0, 0 + ldr r5, _0803B810 + adds r0, r5, 0 + bl strcpy + ldr r1, _0803B814 + movs r0, 0x3 + ands r4, r0 + lsls r4, 2 + adds r4, r1 + ldr r1, [r4] + add r0, sp, 0x4 + adds r2, r5, 0 + b _0803B84C + .align 2, 0 +_0803B810: .4byte gUnknown_202DF98 +_0803B814: .4byte gUnknown_80EAE5C +_0803B818: + ldr r0, [r7, 0x8] + ldr r4, [r0, 0x4] + ldrb r0, [r0] + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl sub_808D994 + adds r1, r0, 0 + ldr r6, _0803B864 + adds r0, r6, 0 + bl strcpy + ldr r5, _0803B868 + adds r0, r4, 0 + movs r1, 0xA + bl __umodsi3 + lsls r0, 24 + lsrs r0, 22 + adds r0, r5 + ldr r1, [r0] + add r0, sp, 0x4 + adds r2, r6, 0 +_0803B84C: + bl sub_800D158 +_0803B850: + ldr r1, [r7, 0x48] + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x15 + add r2, sp, 0x4 + bl xxx_call_draw_string + b _0803B8B4 + .align 2, 0 +_0803B864: .4byte gUnknown_202DF98 +_0803B868: .4byte gUnknown_80E910C +_0803B86C: + ldr r0, [r7, 0x8] + ldr r4, [r0, 0x4] + ldrb r0, [r0] + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl sub_808D994 + adds r1, r0, 0 + ldr r6, _0803B8E8 + adds r0, r6, 0 + bl strcpy + ldr r5, _0803B8EC + adds r0, r4, 0 + movs r1, 0xF + bl __umodsi3 + lsls r0, 24 + lsrs r0, 22 + adds r0, r5 + ldr r1, [r0] + add r0, sp, 0x4 + adds r2, r6, 0 + bl sub_800D158 + ldr r1, [r7, 0x48] + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x15 + add r2, sp, 0x4 + bl xxx_call_draw_string +_0803B8B4: + adds r0, r7, 0 + adds r0, 0x40 + ldrb r1, [r0] + adds r6, r0, 0 + cmp r1, 0x7 + bne _0803B916 + ldr r5, [r7, 0xC] + cmp r5, 0 + bne _0803B8F0 + bl sub_8016028 + movs r4, 0xB2 + subs r4, r0 + movs r1, 0x10 + ldrsh r0, [r7, r1] + bl sub_808D994 + adds r2, r0, 0 + ldr r1, [r7, 0x48] + ldr r3, [r7] + str r5, [sp] + adds r0, r4, 0 + bl xxx_call_draw_string + b _0803B956 + .align 2, 0 +_0803B8E8: .4byte gUnknown_202DF98 +_0803B8EC: .4byte gUnknown_80E8C98 +_0803B8F0: + add r4, sp, 0xCC + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0xA + bl sub_80922B4 + bl sub_8016028 + adds r1, r0, 0 + movs r0, 0xB2 + subs r0, r1 + ldr r1, [r7, 0x48] + ldr r3, [r7] + movs r2, 0 + str r2, [sp] + adds r2, r4, 0 + bl xxx_call_draw_string + b _0803B956 +_0803B916: + adds r0, r7, 0 + adds r0, 0x42 + ldrb r0, [r0] + cmp r0, 0x1 + bne _0803B93C + add r4, sp, 0xE0 + ldr r1, [r7, 0x8] + adds r0, r4, 0 + bl sub_8090228 + ldr r1, _0803B938 + add r0, sp, 0x4 + adds r2, r4, 0 + bl sub_800D158 + b _0803B944 + .align 2, 0 +_0803B938: .4byte gUnknown_80E8884 +_0803B93C: + ldr r1, [r7, 0x8] + add r0, sp, 0x4 + bl sub_8090228 +_0803B944: + ldr r1, [r7, 0x48] + adds r1, 0xC + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x1D + add r2, sp, 0x4 + bl xxx_call_draw_string +_0803B956: + ldrb r0, [r6] + cmp r0, 0x7 + bne _0803B962 + ldr r0, [r7, 0x8] + movs r1, 0 + b _0803B968 +_0803B962: + ldr r0, [r7, 0x8] + ldr r1, [r7, 0x54] + ldrb r1, [r1, 0x1] +_0803B968: + bl sub_803C1D0 + lsls r0, 24 + lsrs r0, 24 + bl sub_803C1F0 + adds r2, r0, 0 + ldr r1, [r7, 0x48] + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0xB4 + bl xxx_call_draw_string + add sp, 0x144 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_803B6D4 + + thumb_func_start sub_803B98C +sub_803B98C: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x1FC + adds r7, r0, 0 + movs r0, 0 + mov r9, r0 + ldr r2, _0803B9E0 + ldr r3, [r7] + str r0, [sp] + movs r0, 0xA + movs r1, 0 + bl xxx_call_draw_string + ldr r1, _0803B9E4 + adds r0, r7, 0 + adds r0, 0x44 + ldrb r0, [r0] + lsls r0, 2 + adds r0, r1 + ldr r2, [r0] + ldr r3, [r7] + mov r1, r9 + str r1, [sp] + movs r0, 0x6C + movs r1, 0 + bl xxx_call_draw_string + movs r0, 0x10 + mov r9, r0 + adds r0, r7, 0 + adds r0, 0x41 + ldrb r0, [r0] + cmp r0, 0x10 + bls _0803B9D6 + b _0803BCC0 +_0803B9D6: + lsls r0, 2 + ldr r1, _0803B9E8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803B9E0: .4byte gUnknown_80E888C +_0803B9E4: .4byte gUnknown_80E8BCC +_0803B9E8: .4byte _0803B9EC + .align 2, 0 +_0803B9EC: + .4byte _0803BA34 + .4byte _0803BA3C + .4byte _0803BA44 + .4byte _0803BA30 + .4byte _0803BA4C + .4byte _0803BA6C + .4byte _0803BA8C + .4byte _0803BAA0 + .4byte _0803BBF0 + .4byte _0803BAE8 + .4byte _0803BAF0 + .4byte _0803BAF8 + .4byte _0803BCC0 + .4byte _0803BC58 + .4byte _0803BB74 + .4byte _0803BB10 + .4byte _0803BB10 +_0803BA30: + ldr r2, [r7, 0x50] + b _0803BAFA +_0803BA34: + ldr r2, _0803BA38 + b _0803BAFA + .align 2, 0 +_0803BA38: .4byte gUnknown_80E88A0 +_0803BA3C: + ldr r2, _0803BA40 + b _0803BAFA + .align 2, 0 +_0803BA40: .4byte gUnknown_80E88C8 +_0803BA44: + ldr r2, _0803BA48 + b _0803BAFA + .align 2, 0 +_0803BA48: .4byte gUnknown_80E8920 +_0803BA4C: + ldr r4, _0803BA64 + ldrb r1, [r7, 0x14] + adds r0, r4, 0 + movs r2, 0 + bl sub_8090DC4 + ldr r1, _0803BA68 + add r0, sp, 0x4 + adds r2, r4, 0 + bl sub_800D158 + b _0803BACC + .align 2, 0 +_0803BA64: .4byte gUnknown_202DE58 +_0803BA68: .4byte gUnknown_80E8968 +_0803BA6C: + ldr r4, _0803BA84 + ldrb r1, [r7, 0x14] + adds r0, r4, 0 + movs r2, 0 + bl sub_8090DC4 + ldr r1, _0803BA88 + add r0, sp, 0x4 + adds r2, r4, 0 + bl sub_800D158 + b _0803BACC + .align 2, 0 +_0803BA84: .4byte gUnknown_202DE58 +_0803BA88: .4byte gUnknown_80E89B0 +_0803BA8C: + ldr r1, _0803BA9C + ldr r0, [r7, 0x4] + lsls r0, 3 + adds r1, 0x4 + adds r0, r1 + ldr r2, [r0] + b _0803BAFA + .align 2, 0 +_0803BA9C: .4byte gUnknown_80E9920 +_0803BAA0: + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl sub_808D994 + adds r1, r0, 0 + ldr r4, _0803BAE0 + adds r0, r4, 0 + bl strcpy + ldr r2, _0803BAE4 + ldr r1, [r7, 0x4] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r2, 0x8 + adds r0, r2 + ldr r1, [r0] + add r0, sp, 0x4 + adds r2, r4, 0 + adds r3, r4, 0 + bl sub_800D158 +_0803BACC: + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + b _0803BD42 + .align 2, 0 +_0803BAE0: .4byte gUnknown_202DF98 +_0803BAE4: .4byte gUnknown_80E9F8C +_0803BAE8: + ldr r2, _0803BAEC + b _0803BAFA + .align 2, 0 +_0803BAEC: .4byte gUnknown_80E89FC +_0803BAF0: + ldr r2, _0803BAF4 + b _0803BAFA + .align 2, 0 +_0803BAF4: .4byte gUnknown_80E8A40 +_0803BAF8: + ldr r2, _0803BB0C +_0803BAFA: + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + mov r1, r9 + bl xxx_call_draw_string + b _0803BD42 + .align 2, 0 +_0803BB0C: .4byte gUnknown_80E8A7C +_0803BB10: + ldr r0, [r7, 0x8] + ldr r5, [r0, 0x4] + ldrb r4, [r0] + adds r4, r5, r4 + lsls r4, 24 + lsrs r4, 24 + ldrb r0, [r0, 0x1] + adds r5, r0 + lsls r5, 24 + lsrs r5, 24 + ldr r0, _0803BB68 + mov r8, r0 + ldrb r1, [r7, 0x14] + movs r2, 0 + bl sub_8090DC4 + ldr r6, _0803BB6C + adds r0, r4, 0 + movs r1, 0x16 + bl __umodsi3 + lsls r0, 24 + lsrs r0, 22 + adds r0, r6 + ldr r1, [r0] + add r0, sp, 0x4 + mov r2, r8 + bl sub_800D158 + ldr r3, [r7] + movs r6, 0 + str r6, [sp] + movs r0, 0xA + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + movs r1, 0xC + add r9, r1 + ldr r4, _0803BB70 + adds r0, r5, 0 + movs r1, 0x16 + b _0803BD1A + .align 2, 0 +_0803BB68: .4byte gUnknown_202DE58 +_0803BB6C: .4byte gUnknown_80EB3F8 +_0803BB70: .4byte gUnknown_80EB72C +_0803BB74: + ldr r0, [r7, 0x8] + ldr r5, [r0, 0x4] + ldrb r4, [r0] + adds r4, r5, r4 + lsls r4, 24 + lsrs r4, 24 + ldrb r0, [r0, 0x1] + adds r5, r0 + lsls r5, 24 + lsrs r5, 24 + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl sub_808D994 + adds r1, r0, 0 + ldr r0, _0803BBE4 + mov r8, r0 + bl strcpy + ldr r6, _0803BBE8 + adds r0, r4, 0 + movs r1, 0x14 + bl __umodsi3 + lsls r0, 24 + lsrs r0, 22 + adds r0, r6 + ldr r1, [r0] + add r0, sp, 0x4 + mov r2, r8 + bl sub_800D158 + ldr r3, [r7] + movs r4, 0 + str r4, [sp] + movs r0, 0xA + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + movs r1, 0xC + add r9, r1 + ldr r1, _0803BBEC + movs r0, 0x3 + ands r5, r0 + lsls r5, 2 + adds r5, r1 + ldr r1, [r5] + add r0, sp, 0x4 + mov r2, r8 + bl sub_800D158 + ldr r3, [r7] + str r4, [sp] + b _0803BD32 + .align 2, 0 +_0803BBE4: .4byte gUnknown_202DF98 +_0803BBE8: .4byte gUnknown_80EAEB8 +_0803BBEC: .4byte gUnknown_80EB198 +_0803BBF0: + ldr r0, [r7, 0x8] + ldr r5, [r0, 0x4] + ldrb r4, [r0] + adds r4, r5, r4 + lsls r4, 24 + lsrs r4, 24 + ldrb r0, [r0, 0x1] + adds r5, r0 + lsls r5, 24 + lsrs r5, 24 + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl sub_808D994 + adds r1, r0, 0 + ldr r0, _0803BC4C + mov r8, r0 + bl strcpy + ldr r6, _0803BC50 + adds r0, r4, 0 + movs r1, 0x6 + bl __umodsi3 + lsls r0, 24 + lsrs r0, 22 + adds r0, r6 + ldr r1, [r0] + add r0, sp, 0x4 + mov r2, r8 + bl sub_800D158 + ldr r3, [r7] + movs r6, 0 + str r6, [sp] + movs r0, 0xA + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + movs r1, 0xC + add r9, r1 + ldr r4, _0803BC54 + adds r0, r5, 0 + movs r1, 0x6 + b _0803BD1A + .align 2, 0 +_0803BC4C: .4byte gUnknown_202DF98 +_0803BC50: .4byte gUnknown_80EB220 +_0803BC54: .4byte gUnknown_80EB2F0 +_0803BC58: + ldr r0, [r7, 0x8] + ldr r5, [r0, 0x4] + ldrb r4, [r0] + adds r4, r5, r4 + lsls r4, 24 + lsrs r4, 24 + ldrb r0, [r0, 0x1] + adds r5, r0 + lsls r5, 24 + lsrs r5, 24 + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl sub_808D994 + adds r1, r0, 0 + ldr r0, _0803BCB4 + mov r8, r0 + bl strcpy + ldr r6, _0803BCB8 + adds r0, r4, 0 + movs r1, 0x2D + bl __umodsi3 + lsls r0, 24 + lsrs r0, 22 + adds r0, r6 + ldr r1, [r0] + add r0, sp, 0x4 + mov r2, r8 + bl sub_800D158 + ldr r3, [r7] + movs r6, 0 + str r6, [sp] + movs r0, 0xA + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + movs r1, 0xC + add r9, r1 + ldr r4, _0803BCBC + adds r0, r5, 0 + movs r1, 0xA + b _0803BD1A + .align 2, 0 +_0803BCB4: .4byte gUnknown_202DF98 +_0803BCB8: .4byte gUnknown_80E91D4 +_0803BCBC: .4byte gUnknown_80E9820 +_0803BCC0: + ldr r0, [r7, 0x8] + ldr r5, [r0, 0x4] + ldrb r4, [r0] + adds r4, r5, r4 + lsls r4, 24 + lsrs r4, 24 + ldrb r0, [r0, 0x1] + adds r5, r0 + lsls r5, 24 + lsrs r5, 24 + movs r1, 0x10 + ldrsh r0, [r7, r1] + bl sub_808D994 + adds r1, r0, 0 + ldr r0, _0803BD78 + mov r8, r0 + bl strcpy + ldr r6, _0803BD7C + adds r0, r4, 0 + movs r1, 0xD + bl __umodsi3 + lsls r0, 24 + lsrs r0, 22 + adds r0, r6 + ldr r1, [r0] + add r0, sp, 0x4 + mov r2, r8 + bl sub_800D158 + ldr r3, [r7] + movs r6, 0 + str r6, [sp] + movs r0, 0xA + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + movs r1, 0xC + add r9, r1 + ldr r4, _0803BD80 + adds r0, r5, 0 + movs r1, 0xD +_0803BD1A: + bl __umodsi3 + lsls r0, 24 + lsrs r0, 22 + adds r0, r4 + ldr r1, [r0] + add r0, sp, 0x4 + mov r2, r8 + bl sub_800D158 + ldr r3, [r7] + str r6, [sp] +_0803BD32: + movs r0, 0xA + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + movs r0, 0xC + negs r0, r0 + add r9, r0 +_0803BD42: + movs r1, 0x1C + add r9, r1 + ldr r2, _0803BD84 + ldr r3, [r7] + movs r0, 0 + mov r8, r0 + str r0, [sp] + movs r0, 0xA + mov r1, r9 + bl xxx_call_draw_string + ldr r1, [r7, 0xC] + cmp r1, 0 + bne _0803BD88 + movs r1, 0x10 + ldrsh r0, [r7, r1] + bl sub_808D994 + adds r2, r0, 0 + ldr r3, [r7] + mov r0, r8 + str r0, [sp] + movs r0, 0x44 + mov r1, r9 + bl xxx_call_draw_string + b _0803BDBC + .align 2, 0 +_0803BD78: .4byte gUnknown_202DF98 +_0803BD7C: .4byte gUnknown_80E8DE4 +_0803BD80: .4byte gUnknown_80E8FB0 +_0803BD84: .4byte gUnknown_80E8AC8 +_0803BD88: + add r6, sp, 0x158 + adds r0, r6, 0 + movs r2, 0xA + bl sub_80922B4 + add r4, sp, 0x16C + movs r0, 0x10 + ldrsh r1, [r7, r0] + adds r0, r4, 0 + bl sub_808D930 + add r5, sp, 0x130 + ldr r1, _0803BDE8 + adds r0, r5, 0 + adds r2, r6, 0 + adds r3, r4, 0 + bl sub_800D158 + ldr r3, [r7] + mov r1, r8 + str r1, [sp] + movs r0, 0x44 + mov r1, r9 + adds r2, r5, 0 + bl xxx_call_draw_string +_0803BDBC: + movs r0, 0xC + add r9, r0 + ldr r2, _0803BDEC + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + mov r1, r9 + bl xxx_call_draw_string + adds r0, r7, 0 + adds r0, 0x42 + ldrb r1, [r0] + adds r5, r0, 0 + cmp r1, 0x6 + bhi _0803BEB8 + lsls r0, r1, 2 + ldr r1, _0803BDF0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803BDE8: .4byte gUnknown_80E8AD0 +_0803BDEC: .4byte gUnknown_80E8AE0 +_0803BDF0: .4byte _0803BDF4 + .align 2, 0 +_0803BDF4: + .4byte _0803BE10 + .4byte _0803BE30 + .4byte _0803BE18 + .4byte _0803BE48 + .4byte _0803BE80 + .4byte _0803BE60 + .4byte _0803BEB8 +_0803BE10: + ldr r2, _0803BE14 + b _0803BE4A + .align 2, 0 +_0803BE14: .4byte gUnknown_80E8AEC +_0803BE18: + ldr r4, _0803BE28 + ldrb r1, [r7, 0x14] + adds r0, r4, 0 + movs r2, 0 + bl sub_8090DC4 + ldr r1, _0803BE2C + b _0803BE94 + .align 2, 0 +_0803BE28: .4byte gUnknown_202DE58 +_0803BE2C: .4byte gUnknown_80E8AFC +_0803BE30: + ldr r4, _0803BE40 + ldrb r1, [r7, 0x14] + adds r0, r4, 0 + movs r2, 0 + bl sub_8090DC4 + ldr r1, _0803BE44 + b _0803BE94 + .align 2, 0 +_0803BE40: .4byte gUnknown_202DE58 +_0803BE44: .4byte gUnknown_80E8B10 +_0803BE48: + ldr r2, _0803BE5C +_0803BE4A: + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x44 + mov r1, r9 + bl xxx_call_draw_string + b _0803BEC8 + .align 2, 0 +_0803BE5C: .4byte gUnknown_80E8B20 +_0803BE60: + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl sub_808D994 + adds r1, r0, 0 + ldr r4, _0803BE78 + adds r0, r4, 0 + bl strcpy + ldr r1, _0803BE7C + b _0803BE94 + .align 2, 0 +_0803BE78: .4byte gUnknown_202DF98 +_0803BE7C: .4byte gUnknown_80E8B2C +_0803BE80: + movs r1, 0x12 + ldrsh r0, [r7, r1] + bl sub_808D994 + adds r1, r0, 0 + ldr r4, _0803BEB0 + adds r0, r4, 0 + bl strcpy + ldr r1, _0803BEB4 +_0803BE94: + add r0, sp, 0x4 + adds r2, r4, 0 + bl sub_800D158 + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x44 + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + b _0803BEC8 + .align 2, 0 +_0803BEB0: .4byte gUnknown_202DF98 +_0803BEB4: .4byte gUnknown_80E8B40 +_0803BEB8: + ldr r2, _0803BEF8 + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x44 + mov r1, r9 + bl xxx_call_draw_string +_0803BEC8: + movs r0, 0xC + add r9, r0 + ldr r2, _0803BEFC + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + mov r1, r9 + bl xxx_call_draw_string + ldrb r0, [r5] + cmp r0, 0x1 + bne _0803BF04 + add r4, sp, 0x180 + ldr r1, [r7, 0x8] + adds r0, r4, 0 + bl sub_8090228 + ldr r1, _0803BF00 + add r0, sp, 0x4 + adds r2, r4, 0 + bl sub_800D158 + b _0803BF0C + .align 2, 0 +_0803BEF8: .4byte gUnknown_80E8B50 +_0803BEFC: .4byte gUnknown_80E8B60 +_0803BF00: .4byte gUnknown_80E8884 +_0803BF04: + ldr r1, [r7, 0x8] + add r0, sp, 0x4 + bl sub_8090228 +_0803BF0C: + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x44 + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + ldrb r0, [r5] + cmp r0, 0 + bne _0803BF28 + ldr r0, [r7, 0x8] + movs r1, 0 + b _0803BF2E +_0803BF28: + ldr r0, [r7, 0x8] + ldr r1, [r7, 0x54] + ldrb r1, [r1, 0x1] +_0803BF2E: + bl sub_803C1D0 + lsls r0, 24 + lsrs r4, r0, 24 + movs r1, 0xC + add r9, r1 + ldr r2, _0803BF88 + ldr r3, [r7] + movs r6, 0 + str r6, [sp] + movs r0, 0xA + mov r1, r9 + bl xxx_call_draw_string + adds r0, r4, 0 + bl sub_803C1F0 + adds r2, r0, 0 + ldr r3, [r7] + str r6, [sp] + movs r0, 0x44 + mov r1, r9 + bl xxx_call_draw_string + movs r0, 0xC + add r9, r0 + ldr r2, _0803BF8C + ldr r3, [r7] + str r6, [sp] + movs r0, 0xA + mov r1, r9 + bl xxx_call_draw_string + adds r0, r7, 0 + adds r0, 0x2E + ldrb r2, [r0] + adds r5, r0, 0 + cmp r2, 0x4 + bhi _0803C02C + lsls r0, r2, 2 + ldr r1, _0803BF90 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803BF88: .4byte gUnknown_80E8B68 +_0803BF8C: .4byte gUnknown_80E8B74 +_0803BF90: .4byte _0803BF94 + .align 2, 0 +_0803BF94: + .4byte _0803BFA8 + .4byte _0803BFBC + .4byte _0803BFD0 + .4byte _0803BFD0 + .4byte _0803C00C +_0803BFA8: + ldr r1, _0803BFB8 + ldrb r0, [r5] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + ldr r2, [r7, 0x30] + add r0, sp, 0x4 + b _0803BFEE + .align 2, 0 +_0803BFB8: .4byte gUnknown_80E8C48 +_0803BFBC: + ldr r1, _0803BFCC + ldrb r0, [r5] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + ldr r2, [r7, 0x30] + add r0, sp, 0x4 + b _0803BFEE + .align 2, 0 +_0803BFCC: .4byte gUnknown_80E8C48 +_0803BFD0: + ldr r4, _0803C004 + adds r0, r7, 0 + adds r0, 0x34 + ldrb r1, [r0] + adds r0, r4, 0 + movs r2, 0 + bl sub_8090DC4 + ldr r1, _0803C008 + ldrb r0, [r5] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + add r0, sp, 0x4 + adds r2, r4, 0 +_0803BFEE: + bl sub_800D158 + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x44 + mov r1, r9 + add r2, sp, 0x4 + bl xxx_call_draw_string + b _0803C040 + .align 2, 0 +_0803C004: .4byte gUnknown_202DE58 +_0803C008: .4byte gUnknown_80E8C48 +_0803C00C: + ldr r1, _0803C028 + ldrb r0, [r5] + lsls r0, 2 + adds r0, r1 + ldr r2, [r0] + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0x44 + mov r1, r9 + bl xxx_call_draw_string + b _0803C040 + .align 2, 0 +_0803C028: .4byte gUnknown_80E8C48 +_0803C02C: + ldr r1, _0803C0D4 + lsls r0, r2, 2 + adds r0, r1 + ldr r2, [r0] + ldr r3, [r7] + str r6, [sp] + movs r0, 0x44 + mov r1, r9 + bl xxx_call_draw_string +_0803C040: + movs r1, 0xC + add r9, r1 + adds r0, r7, 0 + adds r0, 0x41 + ldrb r1, [r0] + adds r0, r1, 0 + subs r0, 0x9 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bls _0803C0C6 + cmp r1, 0x3 + beq _0803C0C6 + ldr r0, [r7, 0x54] + ldrb r0, [r0] + cmp r0, 0x5 + bne _0803C0C6 + ldr r2, _0803C0D8 + ldr r3, [r7] + movs r0, 0 + str r0, [sp] + movs r0, 0xA + mov r1, r9 + bl xxx_call_draw_string + add r0, sp, 0x1E4 + ldr r1, [r7, 0x54] + bl sub_803D414 + movs r4, 0 +_0803C07C: + cmp r4, 0xC + bne _0803C084 + movs r0, 0xC + add r9, r0 +_0803C084: + movs r5, 0x7 + cmp r4, 0x3 + ble _0803C09C + movs r5, 0x6 + cmp r4, 0x7 + ble _0803C09C + movs r5, 0x7 + cmp r4, 0xF + ble _0803C09C + cmp r4, 0x13 + bgt _0803C09C + movs r5, 0x6 +_0803C09C: + adds r0, r4, 0 + movs r1, 0xC + bl __modsi3 + adds r1, r0, 0 + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 1 + adds r0, 0x54 + add r1, sp, 0x1E4 + adds r1, r4 + ldrb r2, [r1] + ldr r1, [r7] + str r1, [sp] + mov r1, r9 + adds r3, r5, 0 + bl sub_8012C60 + adds r4, 0x1 + cmp r4, 0x17 + ble _0803C07C +_0803C0C6: + add sp, 0x1FC + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803C0D4: .4byte gUnknown_80E8C48 +_0803C0D8: .4byte gUnknown_80E8B7C + thumb_func_end sub_803B98C + + thumb_func_start sub_803C0DC +sub_803C0DC: + push {lr} + lsls r0, 16 + asrs r0, 16 + bl sub_808E770 + lsls r0, 16 + asrs r2, r0, 16 + ldr r1, _0803C0F0 + b _0803C102 + .align 2, 0 +_0803C0F0: .4byte gUnknown_80E80E0 +_0803C0F4: + movs r3, 0 + ldrsh r0, [r1, r3] + cmp r0, r2 + bne _0803C100 + movs r0, 0 + b _0803C10C +_0803C100: + adds r1, 0x2 +_0803C102: + movs r3, 0 + ldrsh r0, [r1, r3] + cmp r0, 0 + bne _0803C0F4 + movs r0, 0x1 +_0803C10C: + pop {r1} + bx r1 + thumb_func_end sub_803C0DC + + thumb_func_start sub_803C110 +sub_803C110: + push {r4,lr} + lsls r0, 16 + asrs r4, r0, 16 + adds r0, r4, 0 + bl sub_8098134 + lsls r0, 24 + cmp r0, 0 + beq _0803C180 + adds r0, r4, 0 + bl sub_808E770 + lsls r0, 16 + asrs r0, 16 + cmp r4, r0 + bne _0803C180 + adds r0, r4, 0 + bl sub_803C0DC + lsls r0, 24 + cmp r0, 0 + beq _0803C180 + movs r0, 0x6 + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + bne _0803C188 + ldr r1, _0803C184 + movs r2, 0 + ldrsh r0, [r1, r2] + cmp r0, 0 + beq _0803C168 + adds r2, r1, 0 +_0803C154: + movs r3, 0 + ldrsh r0, [r2, r3] + cmp r0, r4 + beq _0803C180 + adds r1, 0x2 + adds r2, 0x2 + movs r3, 0 + ldrsh r0, [r1, r3] + cmp r0, 0 + bne _0803C154 +_0803C168: + bl sub_808D33C + movs r1, 0x8 + ldrsh r0, [r0, r1] + cmp r0, r4 + beq _0803C180 + bl sub_808D378 + movs r2, 0x8 + ldrsh r0, [r0, r2] + cmp r0, r4 + bne _0803C188 +_0803C180: + movs r0, 0 + b _0803C18A + .align 2, 0 +_0803C184: .4byte gUnknown_80E8126 +_0803C188: + movs r0, 0x1 +_0803C18A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_803C110 + + thumb_func_start sub_803C190 +sub_803C190: + lsls r0, 24 + ldr r1, _0803C19C + lsrs r0, 21 + adds r0, r1 + ldr r0, [r0] + bx lr + .align 2, 0 +_0803C19C: .4byte gUnknown_80EBA18 + thumb_func_end sub_803C190 + + thumb_func_start sub_803C1A0 +sub_803C1A0: + lsls r0, 24 + ldr r1, _0803C1B0 + lsrs r0, 21 + adds r1, 0x4 + adds r0, r1 + ldr r0, [r0] + bx lr + .align 2, 0 +_0803C1B0: .4byte gUnknown_80EBA18 + thumb_func_end sub_803C1A0 + + thumb_func_start sub_803C1B4 +sub_803C1B4: + push {r4,lr} + lsls r4, r1, 24 + lsrs r4, 24 + bl sub_80908D8 + cmp r4, 0x2 + bne _0803C1C4 + adds r0, 0x2 +_0803C1C4: + cmp r0, 0xF + ble _0803C1CA + movs r0, 0xF +_0803C1CA: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_803C1B4 + + thumb_func_start sub_803C1D0 +sub_803C1D0: + push {lr} + lsls r1, 24 + lsrs r1, 24 + bl sub_803C1B4 + adds r1, r0, 0 + lsrs r0, r1, 31 + adds r0, r1, r0 + asrs r1, r0, 1 + lsls r0, r1, 24 + lsrs r0, 24 + cmp r0, 0x6 + bls _0803C1EC + movs r0, 0x6 +_0803C1EC: + pop {r1} + bx r1 + thumb_func_end sub_803C1D0 + + thumb_func_start sub_803C1F0 +sub_803C1F0: + lsls r0, 24 + ldr r1, _0803C1FC + lsrs r0, 22 + adds r0, r1 + ldr r0, [r0] + bx lr + .align 2, 0 +_0803C1FC: .4byte gUnknown_80E8BF8 + thumb_func_end sub_803C1F0 + + thumb_func_start sub_803C200 +sub_803C200: + push {lr} + lsls r1, 24 + lsrs r1, 24 + bl sub_803C1B4 + ldr r1, _0803C218 + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + pop {r1} + bx r1 + .align 2, 0 +_0803C218: .4byte gUnknown_80E80A0 + thumb_func_end sub_803C200 + + thumb_func_start sub_803C21C +sub_803C21C: + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + adds r4, r1, 0 + adds r0, r6, 0x4 + ldrb r1, [r6, 0x1] + bl sub_803C1D0 + lsls r0, 24 + lsrs r2, r0, 24 + movs r0, 0 + str r0, [r4, 0x18] + movs r3, 0 + movs r1, 0x2 + adds r0, r4, 0 + adds r0, 0x1E +_0803C23E: + strb r3, [r0] + subs r0, 0x1 + subs r1, 0x1 + cmp r1, 0 + bge _0803C23E + adds r0, r4, 0 + adds r0, 0x20 + movs r1, 0 + strb r1, [r0] + movs r1, 0xA + strb r1, [r4, 0x1F] + ldrb r1, [r6, 0x11] + adds r3, r0, 0 + cmp r1, 0x9 + bhi _0803C354 + lsls r0, r1, 2 + ldr r1, _0803C268 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803C268: .4byte _0803C26C + .align 2, 0 +_0803C26C: + .4byte _0803C294 + .4byte _0803C2A2 + .4byte _0803C2B4 + .4byte _0803C2BE + .4byte _0803C354 + .4byte _0803C2E0 + .4byte _0803C2EE + .4byte _0803C300 + .4byte _0803C30A + .4byte _0803C34A +_0803C294: + movs r0, 0 + strb r0, [r4, 0x16] + adds r1, r2, 0x1 + movs r0, 0x64 + muls r0, r1 + str r0, [r4, 0x18] + b _0803C358 +_0803C2A2: + movs r0, 0x1 + strb r0, [r4, 0x16] + adds r1, r2, 0x1 + movs r0, 0x64 + muls r0, r1 + str r0, [r4, 0x18] + ldrb r0, [r6, 0x12] + strb r0, [r4, 0x1C] + b _0803C358 +_0803C2B4: + movs r0, 0x2 + strb r0, [r4, 0x16] + ldrb r0, [r6, 0x12] + strb r0, [r4, 0x1C] + b _0803C358 +_0803C2BE: + movs r0, 0x3 + strb r0, [r4, 0x16] + ldrb r0, [r6, 0x12] + strb r0, [r4, 0x1C] + adds r5, r6, 0x4 + adds r7, r4, 0 + adds r7, 0x1D +_0803C2CC: + ldrb r1, [r6, 0x1] + adds r0, r5, 0 + adds r2, r7, 0 + bl sub_803C37C + ldrb r0, [r4, 0x1C] + ldrb r1, [r4, 0x1D] + cmp r0, r1 + beq _0803C2CC + b _0803C35A +_0803C2E0: + movs r0, 0 + strb r0, [r4, 0x16] + adds r1, r2, 0x1 + movs r0, 0xC8 + muls r0, r1 + str r0, [r4, 0x18] + b _0803C358 +_0803C2EE: + movs r0, 0x1 + strb r0, [r4, 0x16] + adds r1, r2, 0x1 + movs r0, 0xC8 + muls r0, r1 + str r0, [r4, 0x18] + ldrb r0, [r6, 0x12] + strb r0, [r4, 0x1C] + b _0803C358 +_0803C300: + movs r0, 0x2 + strb r0, [r4, 0x16] + ldrb r0, [r6, 0x12] + strb r0, [r4, 0x1C] + b _0803C358 +_0803C30A: + movs r0, 0x3 + strb r0, [r4, 0x16] + ldrb r0, [r6, 0x12] + strb r0, [r4, 0x1C] + adds r5, r6, 0x4 + adds r7, r4, 0 + adds r7, 0x1D + movs r0, 0x1E + adds r0, r4 + mov r8, r0 +_0803C31E: + ldrb r1, [r6, 0x1] + adds r0, r5, 0 + adds r2, r7, 0 + bl sub_803C37C + ldrb r0, [r4, 0x1C] + ldrb r1, [r4, 0x1D] + cmp r0, r1 + beq _0803C31E +_0803C330: + ldrb r1, [r6, 0x1] + adds r0, r5, 0 + mov r2, r8 + bl sub_803C37C + ldrb r0, [r4, 0x1C] + ldrb r1, [r4, 0x1E] + cmp r0, r1 + beq _0803C330 + ldrb r0, [r4, 0x1D] + cmp r0, r1 + beq _0803C330 + b _0803C35A +_0803C34A: + movs r0, 0x4 + strb r0, [r4, 0x16] + ldrb r0, [r6, 0x13] + strb r0, [r3] + b _0803C358 +_0803C354: + movs r0, 0x5 + strb r0, [r4, 0x16] +_0803C358: + adds r5, r6, 0x4 +_0803C35A: + movs r0, 0xC + ldrsh r1, [r6, r0] + adds r0, r4, 0 + bl sub_808D8E0 + ldrh r0, [r6, 0xC] + strh r0, [r4, 0x14] + ldrb r1, [r6, 0x1] + adds r0, r5, 0 + bl sub_803C200 + str r0, [r4, 0x24] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_803C21C + + thumb_func_start sub_803C37C +sub_803C37C: + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + mov r8, r2 + lsls r1, 24 + lsrs r1, 24 + bl sub_803C1B4 + adds r7, r0, 0 + adds r0, r6, 0 + adds r1, r7, 0 + bl sub_8090910 +_0803C398: + movs r5, 0 + adds r0, r6, 0 + adds r1, r7, 0 + bl sub_8090910 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0xEA + bne _0803C3BA + movs r0, 0 + movs r1, 0x47 + movs r2, 0x1 + bl sub_8001784 + negs r1, r0 + orrs r1, r0 + lsrs r5, r1, 31 +_0803C3BA: + cmp r4, 0xEB + bne _0803C3CE + movs r0, 0 + movs r1, 0x47 + movs r2, 0 + bl sub_8001784 + cmp r0, 0 + beq _0803C3CE + movs r5, 0x1 +_0803C3CE: + cmp r5, 0 + bne _0803C398 + mov r0, r8 + strb r4, [r0] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_803C37C + + thumb_func_start sub_803C3E0 +sub_803C3E0: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x54 + adds r7, r0, 0 + movs r6, 0 + ldr r5, _0803C42C + movs r4, 0 + mov r8, sp +_0803C3F2: + movs r1, 0 + ldrsh r0, [r5, r1] + bl sub_803C110 + lsls r0, 24 + cmp r0, 0 + beq _0803C41A + movs r1, 0x2 + ldrsh r0, [r5, r1] + bl sub_803C110 + lsls r0, 24 + cmp r0, 0 + beq _0803C41A + mov r0, r8 + adds r0, 0x4 + mov r8, r0 + subs r0, 0x4 + stm r0!, {r4} + adds r6, 0x1 +_0803C41A: + adds r5, 0x8 + adds r4, 0x1 + cmp r4, 0x14 + ble _0803C3F2 + ldr r5, _0803C42C + cmp r6, 0 + bne _0803C430 + movs r0, 0 + b _0803C44E + .align 2, 0 +_0803C42C: .4byte gUnknown_80E9920 +_0803C430: + adds r0, r6, 0 + bl RandomCapped + lsls r0, 2 + add r0, sp + ldr r4, [r0] + lsls r0, r4, 3 + adds r5, r0, r5 + ldrh r0, [r5] + strh r0, [r7, 0xC] + ldrh r0, [r5, 0x2] + strh r0, [r7, 0xE] + movs r0, 0x7 + strb r0, [r7, 0x2] + movs r0, 0x1 +_0803C44E: + add sp, 0x54 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_803C3E0 + + thumb_func_start sub_803C45C +sub_803C45C: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0xB4 + adds r7, r0, 0 + movs r6, 0 + ldr r5, _0803C4CC + movs r4, 0 + mov r8, sp +_0803C46E: + movs r1, 0 + ldrsh r0, [r5, r1] + bl sub_803C110 + lsls r0, 24 + cmp r0, 0 + beq _0803C496 + movs r1, 0x2 + ldrsh r0, [r5, r1] + bl sub_803C110 + lsls r0, 24 + cmp r0, 0 + beq _0803C496 + mov r0, r8 + adds r0, 0x4 + mov r8, r0 + subs r0, 0x4 + stm r0!, {r4} + adds r6, 0x1 +_0803C496: + adds r5, 0xC + adds r4, 0x1 + cmp r4, 0x2C + ble _0803C46E + ldr r5, _0803C4CC + cmp r6, 0 + beq _0803C4E0 + adds r0, r6, 0 + bl RandomCapped + lsls r0, 2 + add r0, sp + ldr r4, [r0] + lsls r0, r4, 1 + adds r0, r4 + lsls r0, 2 + adds r5, r0, r5 + bl Random + movs r1, 0x10 + ands r1, r0 + cmp r1, 0 + beq _0803C4D0 + ldrh r0, [r5] + strh r0, [r7, 0xC] + ldrh r0, [r5, 0x2] + b _0803C4D6 + .align 2, 0 +_0803C4CC: .4byte gUnknown_80E9F8C +_0803C4D0: + ldrh r0, [r5, 0x2] + strh r0, [r7, 0xC] + ldrh r0, [r5] +_0803C4D6: + strh r0, [r7, 0xE] + movs r0, 0x8 + strb r0, [r7, 0x2] + movs r0, 0x1 + b _0803C4E2 +_0803C4E0: + movs r0, 0 +_0803C4E2: + add sp, 0xB4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_803C45C + + thumb_func_start sub_803C4F0 +sub_803C4F0: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x18 + adds r7, r0, 0 + movs r6, 0 + ldr r5, _0803C55C + movs r4, 0 + mov r8, sp +_0803C502: + movs r1, 0 + ldrsh r0, [r5, r1] + bl sub_803C110 + lsls r0, 24 + cmp r0, 0 + beq _0803C52A + movs r1, 0x2 + ldrsh r0, [r5, r1] + bl sub_803C110 + lsls r0, 24 + cmp r0, 0 + beq _0803C52A + mov r0, r8 + adds r0, 0x4 + mov r8, r0 + subs r0, 0x4 + stm r0!, {r4} + adds r6, 0x1 +_0803C52A: + adds r5, 0x4 + adds r4, 0x1 + cmp r4, 0x5 + ble _0803C502 + ldr r5, _0803C55C + cmp r6, 0 + beq _0803C570 + adds r0, r6, 0 + bl RandomCapped + lsls r0, 2 + add r0, sp + ldr r4, [r0] + lsls r0, r4, 2 + adds r5, r0, r5 + bl Random + movs r1, 0x10 + ands r1, r0 + cmp r1, 0 + beq _0803C560 + ldrh r0, [r5] + strh r0, [r7, 0xC] + ldrh r0, [r5, 0x2] + b _0803C566 + .align 2, 0 +_0803C55C: .4byte gUnknown_80E8168 +_0803C560: + ldrh r0, [r5, 0x2] + strh r0, [r7, 0xC] + ldrh r0, [r5] +_0803C566: + strh r0, [r7, 0xE] + movs r0, 0x9 + strb r0, [r7, 0x2] + movs r0, 0x1 + b _0803C572 +_0803C570: + movs r0, 0 +_0803C572: + add sp, 0x18 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_803C4F0 + + thumb_func_start sub_803C580 +sub_803C580: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x54 + adds r6, r0, 0 + movs r7, 0 + ldr r5, _0803C5D8 + movs r0, 0x6 + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + beq _0803C5D2 + movs r4, 0 + mov r8, sp +_0803C59E: + movs r1, 0 + ldrsh r0, [r5, r1] + bl sub_803C110 + lsls r0, 24 + cmp r0, 0 + beq _0803C5C6 + ldrb r0, [r6, 0x4] + ldrb r1, [r5, 0x2] + bl sub_8091E60 + lsls r0, 24 + cmp r0, 0 + beq _0803C5C6 + mov r0, r8 + adds r0, 0x4 + mov r8, r0 + subs r0, 0x4 + stm r0!, {r4} + adds r7, 0x1 +_0803C5C6: + adds r5, 0x4 + adds r4, 0x1 + cmp r4, 0x14 + ble _0803C59E + cmp r7, 0 + bne _0803C5DC +_0803C5D2: + movs r0, 0 + b _0803C600 + .align 2, 0 +_0803C5D8: .4byte gUnknown_80E8180 +_0803C5DC: + adds r0, r7, 0 + bl RandomCapped + lsls r0, 2 + add r0, sp + ldr r4, [r0] + lsls r1, r4, 2 + ldr r0, _0803C60C + adds r5, r1, r0 + ldrh r0, [r5] + strh r0, [r6, 0xC] + ldrh r0, [r5] + strh r0, [r6, 0xE] + ldrb r0, [r5, 0x2] + strb r0, [r6, 0x10] + movs r0, 0x5 + strb r0, [r6, 0x2] + movs r0, 0x1 +_0803C600: + add sp, 0x54 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0803C60C: .4byte gUnknown_80E8180 + thumb_func_end sub_803C580 + + thumb_func_start sub_803C610 +sub_803C610: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r4, _0803C660 + add sp, r4 + adds r6, r0, 0 + movs r7, 0 + ldr r4, _0803C664 + movs r5, 0 + mov r8, sp +_0803C624: + movs r1, 0 + ldrsh r0, [r4, r1] + bl sub_803C110 + lsls r0, 24 + cmp r0, 0 + beq _0803C64C + ldrb r0, [r6, 0x4] + ldrb r1, [r4, 0x2] + bl sub_8091E60 + lsls r0, 24 + cmp r0, 0 + beq _0803C64C + mov r0, r8 + adds r0, 0x4 + mov r8, r0 + subs r0, 0x4 + stm r0!, {r5} + adds r7, 0x1 +_0803C64C: + adds r4, 0x4 + adds r5, 0x1 + ldr r0, _0803C668 + cmp r5, r0 + ble _0803C624 + cmp r7, 0 + bne _0803C66C + movs r0, 0 + b _0803C690 + .align 2, 0 +_0803C660: .4byte 0xfffff9f8 +_0803C664: .4byte gUnknown_80E81D4 +_0803C668: .4byte 0x00000181 +_0803C66C: + adds r0, r7, 0 + bl RandomCapped + lsls r0, 2 + add r0, sp + ldr r5, [r0] + lsls r1, r5, 2 + ldr r0, _0803C6A0 + adds r4, r1, r0 + ldrh r0, [r4] + strh r0, [r6, 0xC] + ldrh r0, [r4] + strh r0, [r6, 0xE] + ldrb r0, [r4, 0x2] + strb r0, [r6, 0x10] + movs r0, 0x6 + strb r0, [r6, 0x2] + movs r0, 0x1 +_0803C690: + movs r3, 0xC1 + lsls r3, 3 + add sp, r3 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0803C6A0: .4byte gUnknown_80E81D4 + thumb_func_end sub_803C610 + + thumb_func_start sub_803C6A4 +sub_803C6A4: + push {r4,lr} + ldr r4, _0803C6CC + movs r0, 0xC0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + adds r0, 0xB4 + bl sub_801317C + bl sub_803C6D0 + movs r0, 0x1 + bl sub_8099690 + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0803C6CC: .4byte gUnknown_203B400 + thumb_func_end sub_803C6A4 + + thumb_func_start sub_803C6D0 +sub_803C6D0: + push {r4,r5,lr} + ldr r4, _0803C72C + ldr r0, [r4] + adds r0, 0x4 + bl sub_8001024 + ldr r1, [r4] + movs r0, 0 + str r0, [r1] + str r0, [r1, 0x34] + str r0, [r1, 0x38] + movs r2, 0 + movs r5, 0 + adds r3, r4, 0 +_0803C6EC: + ldr r0, [r4] + lsls r1, r2, 2 + adds r0, 0x44 + adds r0, r1 + str r5, [r0] + adds r2, 0x1 + cmp r2, 0xC + ble _0803C6EC + ldr r1, [r3] + movs r0, 0 + str r0, [r1, 0x3C] + movs r2, 0 + adds r4, r3, 0 + movs r1, 0 +_0803C708: + ldr r0, [r4] + adds r0, 0x78 + adds r0, r2 + strb r1, [r0] + adds r2, 0x1 + cmp r2, 0x36 + ble _0803C708 + ldr r0, [r3] + adds r0, 0x40 + movs r1, 0 + strb r1, [r0] + ldr r0, [r3] + adds r0, 0xB0 + str r1, [r0] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803C72C: .4byte gUnknown_203B400 + thumb_func_end sub_803C6D0 + + thumb_func_start sub_803C730 +sub_803C730: + push {r4,r5,lr} + ldr r0, _0803C750 + ldr r1, [r0] + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + ldr r0, [r1, 0x34] + cmp r0, 0xF + bls _0803C744 + b _0803C848 +_0803C744: + lsls r0, 2 + ldr r1, _0803C754 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803C750: .4byte gUnknown_203B400 +_0803C754: .4byte _0803C758 + .align 2, 0 +_0803C758: + .4byte _0803C798 + .4byte _0803C79E + .4byte _0803C7A4 + .4byte _0803C7AA + .4byte _0803C7B0 + .4byte _0803C7B6 + .4byte _0803C7BC + .4byte _0803C7C2 + .4byte _0803C7C8 + .4byte _0803C7CE + .4byte _0803C7D4 + .4byte _0803C7DA + .4byte _0803C7E0 + .4byte _0803C7E6 + .4byte _0803C7EC + .4byte _0803C7F2 +_0803C798: + bl sub_803C870 + b _0803C848 +_0803C79E: + bl sub_803C908 + b _0803C848 +_0803C7A4: + bl sub_803C920 + b _0803C848 +_0803C7AA: + bl sub_803C98C + b _0803C848 +_0803C7B0: + bl sub_803C9D8 + b _0803C848 +_0803C7B6: + bl sub_803CA54 + b _0803C848 +_0803C7BC: + bl sub_803CA8C + b _0803C848 +_0803C7C2: + bl sub_803CAAC + b _0803C848 +_0803C7C8: + bl sub_803CAD4 + b _0803C848 +_0803C7CE: + bl sub_803CAF4 + b _0803C848 +_0803C7D4: + bl sub_803CB14 + b _0803C848 +_0803C7DA: + bl sub_803CB5C + b _0803C848 +_0803C7E0: + bl sub_803CB7C + b _0803C848 +_0803C7E6: + bl sub_803CBB0 + b _0803C848 +_0803C7EC: + bl sub_803CBE4 + b _0803C848 +_0803C7F2: + bl Random + ldr r4, _0803C844 + ldr r1, [r4] + ldr r1, [r1] + adds r5, r0, 0 + muls r5, r1 + bl Random + bl sub_8094D28 + movs r1, 0 + ldr r0, [r4] + adds r2, r0, 0 + adds r2, 0x44 +_0803C810: + ldm r2!, {r0} + adds r0, r1 + adds r0, 0x3 + muls r5, r0 + adds r1, 0x1 + cmp r1, 0xC + ble _0803C810 + bl sub_8094E4C + adds r5, r0 + movs r0, 0x1 + negs r0, r0 + cmp r5, r0 + bne _0803C838 + adds r4, r5, 0 +_0803C82E: + bl sub_8094E4C + adds r5, r0 + cmp r5, r4 + beq _0803C82E +_0803C838: + adds r0, r5, 0 + bl sub_8011C40 + movs r0, 0x3 + b _0803C84A + .align 2, 0 +_0803C844: .4byte gUnknown_203B400 +_0803C848: + movs r0, 0 +_0803C84A: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_803C730 + + thumb_func_start sub_803C850 +sub_803C850: + push {r4,lr} + ldr r4, _0803C86C + ldr r0, [r4] + adds r0, 0x4 + bl sub_8001044 + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803C86C: .4byte gUnknown_203B400 + thumb_func_end sub_803C850 + + thumb_func_start sub_803C870 +sub_803C870: + push {r4-r6,lr} + sub sp, 0x14 + ldr r5, _0803C8A4 + ldr r1, [r5] + ldr r0, [r1, 0x38] + adds r0, 0x1 + str r0, [r1, 0x38] + cmp r0, 0x8 + ble _0803C8B4 + ldr r0, _0803C8A8 + ldr r3, _0803C8AC + movs r1, 0 + str r1, [sp] + movs r4, 0x3 + str r4, [sp, 0x4] + str r1, [sp, 0x8] + str r1, [sp, 0xC] + ldr r1, _0803C8B0 + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0 + bl sub_8014248 + ldr r0, [r5] + str r4, [r0, 0x34] + b _0803C8F8 + .align 2, 0 +_0803C8A4: .4byte gUnknown_203B400 +_0803C8A8: .4byte gGenderText +_0803C8AC: .4byte gUnknown_80F275C +_0803C8B0: .4byte 0x00000101 +_0803C8B4: + adds r4, r5, 0 +_0803C8B6: + movs r0, 0x37 + bl RandomCapped + ldr r1, [r4] + str r0, [r1, 0x3C] + adds r1, 0x78 + adds r1, r0 + ldrb r0, [r1] + cmp r0, 0x1 + beq _0803C8B6 + ldr r2, _0803C900 + ldr r1, _0803C904 + ldr r0, [r1] + ldr r0, [r0, 0x3C] + adds r0, r2 + ldrb r4, [r0] + movs r3, 0 + adds r6, r1, 0 + movs r5, 0x1 +_0803C8DC: + adds r0, r3, r2 + ldrb r0, [r0] + cmp r0, r4 + bne _0803C8EC + ldr r0, [r1] + adds r0, 0x78 + adds r0, r3 + strb r5, [r0] +_0803C8EC: + adds r3, 0x1 + cmp r3, 0x36 + ble _0803C8DC + ldr r1, [r6] + movs r0, 0x1 + str r0, [r1, 0x34] +_0803C8F8: + add sp, 0x14 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0803C900: .4byte gNatureQuestionTable +_0803C904: .4byte gUnknown_203B400 + thumb_func_end sub_803C870 + + thumb_func_start sub_803C908 +sub_803C908: + push {lr} + bl sub_803CC04 + ldr r0, _0803C91C + ldr r1, [r0] + movs r0, 0x2 + str r0, [r1, 0x34] + pop {r0} + bx r0 + .align 2, 0 +_0803C91C: .4byte gUnknown_203B400 + thumb_func_end sub_803C908 + + thumb_func_start sub_803C920 +sub_803C920: + push {r4-r6,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803C97C + ldr r3, [sp] + cmp r3, 0x63 + bne _0803C944 + ldr r0, _0803C940 + ldr r1, [r0] + movs r0, 0x37 + str r0, [r1, 0x3C] + movs r0, 0x1 + b _0803C97A + .align 2, 0 +_0803C940: .4byte gUnknown_203B400 +_0803C944: + ldr r1, _0803C984 + ldr r2, _0803C988 + ldr r0, [r2] + ldr r0, [r0, 0x3C] + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + ldr r4, [r0, 0x8] + lsls r0, r3, 4 + adds r4, r0 + movs r3, 0 + adds r6, r2, 0 + adds r5, r6, 0 +_0803C95E: + ldr r1, [r5] + lsls r0, r3, 2 + adds r1, 0x44 + adds r1, r0 + adds r0, r4, r3 + ldrb r2, [r0] + ldr r0, [r1] + adds r0, r2 + str r0, [r1] + adds r3, 0x1 + cmp r3, 0xC + ble _0803C95E + ldr r1, [r6] + movs r0, 0 +_0803C97A: + str r0, [r1, 0x34] +_0803C97C: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0803C984: .4byte gPersonalityQuestionPointerTable +_0803C988: .4byte gUnknown_203B400 + thumb_func_end sub_803C920 + + thumb_func_start sub_803C98C +sub_803C98C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803C9CA + ldr r1, [sp] + cmp r1, 0 + bne _0803C9AC + ldr r0, _0803C9A8 + ldr r0, [r0] + adds r0, 0xB0 + b _0803C9B4 + .align 2, 0 +_0803C9A8: .4byte gUnknown_203B400 +_0803C9AC: + ldr r0, _0803C9D0 + ldr r0, [r0] + adds r0, 0xB0 + movs r1, 0x1 +_0803C9B4: + str r1, [r0] + ldr r0, _0803C9D4 + ldr r0, [r0] + strb r1, [r0, 0xB] + movs r0, 0 + bl sub_8099690 + ldr r0, _0803C9D0 + ldr r1, [r0] + movs r0, 0x4 + str r0, [r1, 0x34] +_0803C9CA: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_0803C9D0: .4byte gUnknown_203B400 +_0803C9D4: .4byte gUnknown_203B46C + thumb_func_end sub_803C98C + + thumb_func_start sub_803C9D8 +sub_803C9D8: + push {r4-r7,lr} + movs r0, 0xD + bl RandomCapped + ldr r2, _0803CA4C + ldr r1, [r2] + adds r1, 0x40 + strb r0, [r1] + ldr r0, [r2] + adds r0, 0x40 + ldrb r3, [r0] + adds r7, r2, 0 + movs r5, 0xB +_0803C9F2: + adds r3, 0x1 + cmp r3, 0xC + ble _0803C9FA + movs r3, 0 +_0803C9FA: + ldr r0, [r7] + lsls r2, r3, 2 + adds r1, r0, 0 + adds r1, 0x44 + adds r2, r1, r2 + adds r4, r0, 0 + adds r4, 0x40 + ldrb r0, [r4] + lsls r0, 2 + adds r1, r0 + ldr r2, [r2] + ldr r0, [r1] + ldr r6, _0803CA4C + cmp r2, r0 + ble _0803CA1A + strb r3, [r4] +_0803CA1A: + subs r5, 0x1 + cmp r5, 0 + bge _0803C9F2 + ldr r3, [r6] + ldr r2, _0803CA50 + adds r0, r3, 0 + adds r0, 0xB0 + ldr r1, [r0] + lsls r1, 1 + subs r0, 0x70 + ldrb r0, [r0] + lsls r0, 2 + adds r1, r0 + adds r1, r2 + ldrh r0, [r1] + strh r0, [r3, 0x8] + bl sub_803CC40 + ldr r1, [r6] + movs r0, 0x5 + str r0, [r1, 0x34] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803CA4C: .4byte gUnknown_203B400 +_0803CA50: .4byte gStarters + thumb_func_end sub_803C9D8 + + thumb_func_start sub_803CA54 +sub_803CA54: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803CA7A + ldr r0, _0803CA80 + ldr r3, _0803CA84 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + bl sub_803CC80 + ldr r0, _0803CA88 + ldr r1, [r0] + movs r0, 0x6 + str r0, [r1, 0x34] +_0803CA7A: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_0803CA80: .4byte gStarterReveal +_0803CA84: .4byte 0x00000101 +_0803CA88: .4byte gUnknown_203B400 + thumb_func_end sub_803CA54 + + thumb_func_start sub_803CA8C +sub_803CA8C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803CAA2 + ldr r0, _0803CAA8 + ldr r1, [r0] + movs r0, 0x7 + str r0, [r1, 0x34] +_0803CAA2: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_0803CAA8: .4byte gUnknown_203B400 + thumb_func_end sub_803CA8C + + thumb_func_start sub_803CAAC +sub_803CAAC: + push {lr} + ldr r0, _0803CAC8 + ldr r3, _0803CACC + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + ldr r0, _0803CAD0 + ldr r1, [r0] + movs r0, 0x8 + str r0, [r1, 0x34] + pop {r0} + bx r0 + .align 2, 0 +_0803CAC8: .4byte gUnknown_80F27DC +_0803CACC: .4byte 0x00000301 +_0803CAD0: .4byte gUnknown_203B400 + thumb_func_end sub_803CAAC + + thumb_func_start sub_803CAD4 +sub_803CAD4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803CAEA + ldr r0, _0803CAF0 + ldr r1, [r0] + movs r0, 0x9 + str r0, [r1, 0x34] +_0803CAEA: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_0803CAF0: .4byte gUnknown_203B400 + thumb_func_end sub_803CAD4 + + thumb_func_start sub_803CAF4 +sub_803CAF4: + push {r4,lr} + ldr r4, _0803CB10 + ldr r0, [r4] + movs r1, 0x8 + ldrsh r0, [r0, r1] + bl sub_803CD08 + ldr r1, [r4] + movs r0, 0xA + str r0, [r1, 0x34] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803CB10: .4byte gUnknown_203B400 + thumb_func_end sub_803CAF4 + + thumb_func_start sub_803CB14 +sub_803CB14: + push {r4,r5,lr} + bl sub_803CDC0 + lsls r0, 16 + lsrs r5, r0, 16 + ldr r0, _0803CB4C + cmp r5, r0 + beq _0803CB46 + subs r0, 0x1 + cmp r5, r0 + beq _0803CB46 + bl sub_803CE6C + ldr r4, _0803CB50 + ldr r0, [r4] + strh r5, [r0, 0xA] + ldr r0, _0803CB54 + ldr r3, _0803CB58 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + ldr r1, [r4] + movs r0, 0xB + str r0, [r1, 0x34] +_0803CB46: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803CB4C: .4byte 0x0000ffff +_0803CB50: .4byte gUnknown_203B400 +_0803CB54: .4byte gUnknown_80F286C +_0803CB58: .4byte 0x00000301 + thumb_func_end sub_803CB14 + + thumb_func_start sub_803CB5C +sub_803CB5C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803CB72 + ldr r0, _0803CB78 + ldr r1, [r0] + movs r0, 0xC + str r0, [r1, 0x34] +_0803CB72: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_0803CB78: .4byte gUnknown_203B400 + thumb_func_end sub_803CB5C + + thumb_func_start sub_803CB7C +sub_803CB7C: + push {r4,r5,lr} + ldr r4, _0803CBAC + ldr r0, [r4] + adds r5, r0, 0 + adds r5, 0x20 + movs r1, 0xA + ldrsh r0, [r0, r1] + bl sub_808D994 + adds r1, r0, 0 + adds r0, r5, 0 + bl sub_80922F4 + ldr r1, [r4] + adds r1, 0x20 + movs r0, 0x3 + bl sub_801602C + ldr r1, [r4] + movs r0, 0xD + str r0, [r1, 0x34] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803CBAC: .4byte gUnknown_203B400 + thumb_func_end sub_803CB7C + + thumb_func_start sub_803CBB0 +sub_803CBB0: + push {lr} + bl sub_8016080 + cmp r0, 0 + beq _0803CBD2 + bl sub_80160D8 + ldr r0, _0803CBD8 + ldr r3, _0803CBDC + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + ldr r0, _0803CBE0 + ldr r1, [r0] + movs r0, 0xE + str r0, [r1, 0x34] +_0803CBD2: + pop {r0} + bx r0 + .align 2, 0 +_0803CBD8: .4byte gUnknown_80F2898 +_0803CBDC: .4byte 0x00000301 +_0803CBE0: .4byte gUnknown_203B400 + thumb_func_end sub_803CBB0 + + thumb_func_start sub_803CBE4 +sub_803CBE4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803CBFA + ldr r0, _0803CC00 + ldr r1, [r0] + movs r0, 0xF + str r0, [r1, 0x34] +_0803CBFA: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_0803CC00: .4byte gUnknown_203B400 + thumb_func_end sub_803CBE4 + + thumb_func_start sub_803CC04 +sub_803CC04: + push {lr} + sub sp, 0x14 + ldr r1, _0803CC38 + ldr r0, _0803CC3C + ldr r0, [r0] + ldr r0, [r0, 0x3C] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + ldr r0, [r1] + ldr r3, [r1, 0x4] + movs r2, 0 + str r2, [sp] + movs r1, 0x3 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFE + str r1, [sp, 0x10] + movs r1, 0 + bl sub_8014248 + add sp, 0x14 + pop {r0} + bx r0 + .align 2, 0 +_0803CC38: .4byte gPersonalityQuestionPointerTable +_0803CC3C: .4byte gUnknown_203B400 + thumb_func_end sub_803CC04 + + thumb_func_start sub_803CC40 +sub_803CC40: + push {r4,lr} + ldr r0, _0803CC70 + ldr r4, _0803CC74 + ldr r1, [r4] + movs r2, 0x8 + ldrsh r1, [r1, r2] + bl sub_808D8BC + ldr r1, _0803CC78 + ldr r0, [r4] + adds r0, 0x40 + ldrb r0, [r0] + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + ldr r3, _0803CC7C + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803CC70: .4byte gUnknown_202DF98 +_0803CC74: .4byte gUnknown_203B400 +_0803CC78: .4byte gPersonalityTypeDescriptionTable +_0803CC7C: .4byte 0x00000101 + thumb_func_end sub_803CC40 + + thumb_func_start sub_803CC80 +sub_803CC80: + push {r4-r7,lr} + sub sp, 0x60 + ldr r0, _0803CD00 + ldr r0, [r0] + movs r1, 0x8 + ldrsh r4, [r0, r1] + mov r0, sp + bl sub_8006518 + add r1, sp, 0x18 + ldr r0, _0803CD04 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl sub_8004914 + mov r0, sp + movs r1, 0x1 + movs r2, 0 + bl sub_800641C + movs r0, 0x1 + bl sub_8008C54 + movs r0, 0x1 + bl sub_80073B8 + adds r0, r4, 0 + bl sub_808DDD0 + adds r5, r0, 0 + ldr r0, [r5, 0x4] + ldr r6, [r0, 0xC] + movs r4, 0 + movs r7, 0x8 +_0803CCC8: + adds r0, r4, 0 + adds r0, 0xE0 + ldr r1, [r5, 0x4] + adds r1, r7 + lsls r2, r4, 2 + ldr r1, [r1] + adds r1, r2 + bl SetBGPaletteBufferColorArray + adds r4, 0x1 + cmp r4, 0xF + ble _0803CCC8 + movs r0, 0x1 + adds r1, r6, 0 + movs r2, 0xE + bl sub_800836C + adds r0, r5, 0 + bl CloseFile + movs r0, 0x1 + bl sub_80073E0 + add sp, 0x60 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803CD00: .4byte gUnknown_203B400 +_0803CD04: .4byte gUnknown_80F4244 + thumb_func_end sub_803CC80 + + thumb_func_start sub_803CD08 +sub_803CD08: + push {r4-r7,lr} + adds r4, r0, 0 + lsls r4, 16 + asrs r4, 16 + bl sub_803CEAC + ldr r5, _0803CDB0 + ldr r0, [r5] + movs r3, 0 + movs r1, 0 + strh r4, [r0] + str r1, [r0, 0x4C] + adds r1, r0, 0 + adds r1, 0x54 + str r1, [r0, 0x50] + ldr r0, _0803CDB4 + ldm r0!, {r2,r4,r6} + stm r1!, {r2,r4,r6} + ldm r0!, {r2,r4,r7} + stm r1!, {r2,r4,r7} + ldr r1, [r5] + adds r1, 0x6C + ldr r0, _0803CDB8 + ldm r0!, {r2,r6,r7} + stm r1!, {r2,r6,r7} + ldm r0!, {r4,r6,r7} + stm r1!, {r4,r6,r7} + ldr r1, [r5] + ldr r2, _0803CDBC + adds r1, 0x84 + adds r0, r2, 0 + ldm r0!, {r4,r6,r7} + stm r1!, {r4,r6,r7} + ldm r0!, {r4,r6,r7} + stm r1!, {r4,r6,r7} + ldr r0, [r5] + adds r0, 0x9C + ldm r2!, {r1,r4,r6} + stm r0!, {r1,r4,r6} + ldm r2!, {r1,r4,r7} + stm r0!, {r1,r4,r7} + ldr r0, [r5] + ldr r1, [r0, 0x50] + adds r0, 0xB4 + str r0, [r1, 0x14] + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r5] + adds r0, 0xB5 + strb r3, [r0] + ldr r0, [r5] + adds r0, 0xB6 + movs r1, 0x6 + strb r1, [r0] + ldr r0, [r5] + adds r0, 0xB7 + strb r3, [r0] + bl sub_8004914 + ldr r0, [r5] + adds r0, 0x54 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, [r5] + adds r4, 0x18 + bl sub_803D030 + adds r1, r0, 0 + ldr r0, [r5] + ldr r3, [r0, 0x4C] + adds r0, r4, 0 + movs r2, 0xA + bl sub_8013818 + bl sub_803CEF0 + bl sub_803CFC0 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803CDB0: .4byte gUnknown_203B404 +_0803CDB4: .4byte gUnknown_80F4290 +_0803CDB8: .4byte gUnknown_80F42A8 +_0803CDBC: .4byte gUnknown_80F4278 + thumb_func_end sub_803CD08 + + thumb_func_start sub_803CDC0 +sub_803CDC0: + push {r4,r5,lr} + ldr r4, _0803CDF0 + ldr r1, [r4] + movs r0, 0x30 + ldrsh r5, [r1, r0] + movs r0, 0 + strb r0, [r1, 0x16] + ldr r0, [r4] + adds r0, 0x18 + bl GetKeyPress + cmp r0, 0x1 + bne _0803CDF4 + movs r0, 0 + bl sub_80119D4 + ldr r0, [r4] + movs r2, 0x30 + ldrsh r1, [r0, r2] + lsls r1, 1 + adds r0, 0x2 + adds r0, r1 + ldrh r0, [r0] + b _0803CE2A + .align 2, 0 +_0803CDF0: .4byte gUnknown_203B404 +_0803CDF4: + ldr r0, [r4] + adds r0, 0x18 + movs r1, 0x1 + bl sub_80138B8 + lsls r0, 24 + cmp r0, 0 + beq _0803CE08 + bl sub_803CEF0 +_0803CE08: + ldr r0, [r4] + movs r1, 0x30 + ldrsh r0, [r0, r1] + cmp r5, r0 + beq _0803CE16 + bl sub_803CFC0 +_0803CE16: + ldr r0, [r4] + ldrb r0, [r0, 0x16] + cmp r0, 0 + bne _0803CE28 + ldr r0, _0803CE24 + b _0803CE2A + .align 2, 0 +_0803CE24: .4byte 0x0000ffff +_0803CE28: + ldr r0, _0803CE30 +_0803CE2A: + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0803CE30: .4byte 0x0000fffe + thumb_func_end sub_803CDC0 + + thumb_func_start sub_803CE34 +sub_803CE34: + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_803D030 + adds r1, r0, 0 + ldr r5, _0803CE68 + ldr r0, [r5] + strh r1, [r0, 0x3A] + adds r0, 0x18 + bl sub_8013984 + bl sub_803CEF0 + bl sub_803CFC0 + cmp r4, 0 + beq _0803CE62 + ldr r0, [r5] + adds r0, 0x18 + bl AddMenuCursorSprite +_0803CE62: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803CE68: .4byte gUnknown_203B404 + thumb_func_end sub_803CE34 + + thumb_func_start sub_803CE6C +sub_803CE6C: + push {r4,r5,lr} + ldr r4, _0803CEA4 + ldr r1, [r4] + ldr r2, [r1, 0x4C] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, 0x54 + ldr r0, _0803CEA8 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + bl sub_8004914 + ldr r0, [r4] + adds r0, 0x54 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl sub_803CECC + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803CEA4: .4byte gUnknown_203B404 +_0803CEA8: .4byte gUnknown_80F4278 + thumb_func_end sub_803CE6C + + thumb_func_start sub_803CEAC +sub_803CEAC: + push {r4,lr} + ldr r4, _0803CEC4 + movs r0, 0xB8 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r4] + bl nullsub_135 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803CEC4: .4byte gUnknown_203B404 + thumb_func_end sub_803CEAC + + thumb_func_start nullsub_135 +nullsub_135: + bx lr + thumb_func_end nullsub_135 + + thumb_func_start sub_803CECC +sub_803CECC: + push {r4,lr} + ldr r4, _0803CEEC + ldr r0, [r4] + cmp r0, 0 + beq _0803CEE4 + bl nullsub_135 + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_0803CEE4: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803CEEC: .4byte gUnknown_203B404 + thumb_func_end sub_803CECC + + thumb_func_start sub_803CEF0 +sub_803CEF0: + push {r4-r6,lr} + sub sp, 0x4 + ldr r6, _0803CF60 + ldr r0, [r6] + movs r1, 0x32 + ldrsh r0, [r0, r1] + movs r1, 0xC + bl sub_80095E4 + adds r0, 0x2 + lsls r0, 16 + ldr r2, [r6] + ldr r3, [r2, 0x4C] + lsls r1, r3, 1 + adds r1, r3 + lsls r1, 3 + adds r1, r2, r1 + adds r1, 0x62 + movs r4, 0 + asrs r3, r0, 16 + lsrs r0, 16 + strh r0, [r1] + ldr r1, [r2, 0x4C] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r3, 0x2 + adds r2, 0x64 + strh r3, [r2] + bl sub_8004914 + ldr r0, [r6] + adds r0, 0x54 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r6] + ldr r0, [r0, 0x4C] + bl sub_8008C54 + ldr r0, [r6] + ldr r0, [r0, 0x4C] + bl sub_80073B8 + ldr r2, _0803CF64 + ldr r0, [r6] + ldr r3, [r0, 0x4C] + str r4, [sp] + movs r0, 0xC + movs r1, 0 + bl xxx_call_draw_string + movs r5, 0 + b _0803CF98 + .align 2, 0 +_0803CF60: .4byte gUnknown_203B404 +_0803CF64: .4byte gUnknown_80F42C0 +_0803CF68: + ldr r0, [r6] + adds r0, 0x18 + adds r1, r5, 0 + bl sub_8013800 + adds r4, r0, 0 + ldr r0, [r6] + lsls r1, r5, 1 + adds r0, 0x2 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + bl sub_808D994 + adds r2, r0, 0 + ldr r0, [r6] + ldr r3, [r0, 0x4C] + movs r0, 0 + str r0, [sp] + movs r0, 0x8 + adds r1, r4, 0 + bl xxx_call_draw_string + adds r5, 0x1 +_0803CF98: + ldr r0, [r6] + movs r1, 0x32 + ldrsh r0, [r0, r1] + cmp r5, r0 + blt _0803CF68 + ldr r4, _0803CFBC + ldr r0, [r4] + ldr r0, [r0, 0x4C] + bl sub_80073E0 + ldr r1, [r4] + movs r0, 0x1 + strb r0, [r1, 0x16] + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0803CFBC: .4byte gUnknown_203B404 + thumb_func_end sub_803CEF0 + + thumb_func_start sub_803CFC0 +sub_803CFC0: + push {r4-r7,lr} + ldr r0, _0803D02C + ldr r0, [r0] + movs r2, 0x30 + ldrsh r1, [r0, r2] + lsls r1, 1 + adds r0, 0x2 + adds r0, r1 + movs r1, 0 + ldrsh r4, [r0, r1] + movs r0, 0x1 + bl sub_8008C54 + movs r0, 0x1 + bl sub_80073B8 + adds r0, r4, 0 + bl sub_808DDD0 + adds r5, r0, 0 + ldr r0, [r5, 0x4] + ldr r6, [r0, 0x4] + movs r4, 0 + movs r7, 0 +_0803CFF0: + adds r0, r4, 0 + adds r0, 0xE0 + ldr r1, [r5, 0x4] + adds r1, r7 + lsls r2, r4, 2 + ldr r1, [r1] + adds r1, r2 + bl SetBGPaletteBufferColorArray + adds r4, 0x1 + cmp r4, 0xF + ble _0803CFF0 + movs r0, 0x1 + adds r1, r6, 0 + movs r2, 0xE + bl sub_800836C + adds r0, r5, 0 + bl CloseFile + movs r0, 0x1 + bl sub_80073E0 + ldr r0, _0803D02C + ldr r1, [r0] + movs r0, 0x1 + strb r0, [r1, 0x16] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803D02C: .4byte gUnknown_203B404 + thumb_func_end sub_803CFC0 + + thumb_func_start sub_803D030 +sub_803D030: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x8 + movs r0, 0 + mov r8, r0 + ldr r4, _0803D0D0 + ldr r0, [r4] + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0 + bl sub_808DC68 + mov r1, sp + strb r0, [r1] + ldr r0, [r4] + movs r2, 0 + ldrsh r0, [r0, r2] + movs r1, 0x1 + bl sub_808DC68 + mov r1, sp + strb r0, [r1, 0x1] + movs r7, 0 + add r6, sp, 0x4 + mov r5, sp +_0803D064: + ldr r0, _0803D0D4 + lsls r1, r7, 1 + adds r1, r0 + movs r0, 0 + ldrsh r4, [r1, r0] + adds r0, r4, 0 + movs r1, 0 + bl sub_808DC68 + strb r0, [r6] + adds r0, r4, 0 + movs r1, 0x1 + bl sub_808DC68 + adds r2, r0, 0 + strb r2, [r6, 0x1] + ldrb r1, [r6] + cmp r1, 0 + beq _0803D096 + ldrb r0, [r5] + cmp r1, r0 + beq _0803D0BC + ldrb r0, [r5, 0x1] + cmp r1, r0 + beq _0803D0BC +_0803D096: + lsls r0, r2, 24 + lsrs r1, r0, 24 + cmp r1, 0 + beq _0803D0AA + ldrb r2, [r5] + cmp r1, r2 + beq _0803D0BC + ldrb r0, [r5, 0x1] + cmp r1, r0 + beq _0803D0BC +_0803D0AA: + ldr r0, _0803D0D0 + ldr r0, [r0] + mov r2, r8 + lsls r1, r2, 1 + adds r0, 0x2 + adds r0, r1 + strh r4, [r0] + movs r0, 0x1 + add r8, r0 +_0803D0BC: + adds r7, 0x1 + cmp r7, 0x9 + ble _0803D064 + mov r0, r8 + add sp, 0x8 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0803D0D0: .4byte gUnknown_203B404 +_0803D0D4: .4byte gPartners + thumb_func_end sub_803D030 + + .align 2,0 diff --git a/ld_script.txt b/ld_script.txt index a035ec7..0873864 100755 --- a/ld_script.txt +++ b/ld_script.txt @@ -79,7 +79,9 @@ SECTIONS { asm/save.o(.text); src/save1.o(.text); asm/code_8012A18.o(.text); - src/code_8012A18.o(.text); + src/code_8027C84_pre.o(.text); + asm/code_8027C84.o(.text); + src/code_8027C84.o(.text); asm/code_803D110.o(.text); src/code_80428A0.o(.text); asm/code_80428A0.o(.text); diff --git a/src/code_8012A18.c b/src/code_8027C84.c index e21400c..e21400c 100644 --- a/src/code_8012A18.c +++ b/src/code_8027C84.c diff --git a/src/code_8027C84_pre.c b/src/code_8027C84_pre.c new file mode 100644 index 0000000..2dbdd66 --- /dev/null +++ b/src/code_8027C84_pre.c @@ -0,0 +1,86 @@ +#include "global.h" + + +struct UnkOtherStructTemp +{ + /* 0x0 */ u32 unk0; + /* 0x4 */ u32 unk4; + /* 0x8 */ u32 unk8; + /* 0xC */ u32 unkC; + /* 0x10 */ u32 unk10; + /* 0x14 */ u32 unk14; + /* 0x18 */ u32 unk18; + /* 0x1C */ u32 unk1C; + /* 0x20 */ u16 *unk20; + /* 0x24 */ u16 unk24; + /* 0x26 */ u16 unk26; + /* 0x28 */ u16 unk28; + /* 0x2A */ u16 unk2A; +}; + +struct UnkStructTemp +{ + /* 0x0 */ u32 unk0; + /* 0x4 */ u32 unk4; + /* 0x8 */ u32 unk8; + /* 0xC */ u32 unkC; + /* 0x10 */ u32 unk10; + /* 0x14 */ u32 unk14; + /* 0x18 */ u32 unk18; + /* 0x1C */ u32 unk1C; + /* 0x20 */ struct UnkOtherStructTemp *unk20; + /* 0x24 */ u16 unk24; + /* 0x26 */ u16 unk26; + /* 0x28 */ u16 unk28; + /* 0x2A */ u16 unk2A; +}; + + +extern struct UnkStructTemp *gUnknown_203B2BC; +u32 sub_801B410(); +void sub_801B450(); +void sub_8027184(u8 r0); +u32 sub_801EF38(u8 r0); +struct UnkOtherStructTemp *sub_801F194(); +void sub_8027184(u8 r0); +void sub_801F214(); + +void sub_8027C84() +{ + u32 temp = sub_801B410(); + if(temp <= 1) + return; + if(temp > 3) + return; + sub_801B450(); + sub_8027184(0xB); +} + +//void sub_8027CA0() +//{ +// struct UnkOtherStructTemp *temp_store; +// u32 temp = sub_801EF38(1); +// if(temp > 4) +// return; +// switch(temp) +// { +// case 0: +// case 1: +// break; +// case 2: +// sub_801F214(); +// sub_8027184(0x2); +// return; +// case 3: +// case 4: +// temp_store = sub_801F194(); +// gUnknown_203B2BC->unk20 = temp_store; +// // TODO missing +// // lsls r0, 3 +// // adds r0, r1, r0 +// // Why are we shifting the pointer by 3? +// gUnknown_203B2BC->unk24 = temp_store->unk2A; +// sub_8027184(0x10); +// break; +// } +//} |