pmd-red/asm/code_8027C84.s
2020-10-10 14:33:06 -05:00

42618 lines
648 KiB
ArmAsm

.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 GetFriendArea
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