mirror of
https://github.com/pret/pmd-red.git
synced 2026-10-04 00:19:12 -04:00
85324 lines
1.3 MiB
Plaintext
85324 lines
1.3 MiB
Plaintext
.include "constants/gba_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start GetKeyPress
|
|
GetKeyPress:
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
cmp r1, 0
|
|
beq _08012ADE
|
|
adds r0, 0x29
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08012AB4
|
|
movs r0, 0x1
|
|
b _08012AE2
|
|
_08012AB4:
|
|
adds r0, r1, 0
|
|
adds r0, 0x2A
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08012AC2
|
|
movs r0, 0x2
|
|
b _08012AE2
|
|
_08012AC2:
|
|
adds r0, r1, 0
|
|
adds r0, 0x2C
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08012AD0
|
|
movs r0, 0x9
|
|
b _08012AE2
|
|
_08012AD0:
|
|
adds r0, r1, 0
|
|
adds r0, 0x2B
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08012ADE
|
|
movs r0, 0xA
|
|
b _08012AE2
|
|
_08012ADE:
|
|
bl sub_8012AE8
|
|
_08012AE2:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end GetKeyPress
|
|
|
|
thumb_func_start sub_8012AE8
|
|
sub_8012AE8:
|
|
push {lr}
|
|
ldr r2, _08012B08
|
|
ldrh r1, [r2]
|
|
movs r3, 0x80
|
|
lsls r3, 1
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08012B4A
|
|
ldrh r1, [r2, 0x2]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08012B0C
|
|
movs r0, 0xB
|
|
b _08012BBE
|
|
.align 2, 0
|
|
_08012B08: .4byte gUnknown_20255F0
|
|
_08012B0C:
|
|
ldrh r1, [r2, 0x4]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08012B1A
|
|
movs r0, 0xC
|
|
b _08012BBE
|
|
_08012B1A:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08012B26
|
|
movs r0, 0xD
|
|
b _08012BBE
|
|
_08012B26:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08012B32
|
|
movs r0, 0xE
|
|
b _08012BBE
|
|
_08012B32:
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08012B3E
|
|
movs r0, 0xF
|
|
b _08012BBE
|
|
_08012B3E:
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08012BBC
|
|
movs r0, 0x6
|
|
b _08012BBE
|
|
_08012B4A:
|
|
ldrh r1, [r2, 0x2]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08012B58
|
|
movs r0, 0x1
|
|
b _08012BBE
|
|
_08012B58:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08012B64
|
|
movs r0, 0x2
|
|
b _08012BBE
|
|
_08012B64:
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08012B70
|
|
movs r0, 0x3
|
|
b _08012BBE
|
|
_08012B70:
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08012B7C
|
|
movs r0, 0x4
|
|
b _08012BBE
|
|
_08012B7C:
|
|
ldrh r1, [r2, 0x4]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08012B8A
|
|
movs r0, 0x7
|
|
b _08012BBE
|
|
_08012B8A:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08012B96
|
|
movs r0, 0x8
|
|
b _08012BBE
|
|
_08012B96:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08012BA2
|
|
movs r0, 0x9
|
|
b _08012BBE
|
|
_08012BA2:
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08012BAE
|
|
movs r0, 0xA
|
|
b _08012BBE
|
|
_08012BAE:
|
|
movs r0, 0x80
|
|
lsls r0, 2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08012BBC
|
|
movs r0, 0x5
|
|
b _08012BBE
|
|
_08012BBC:
|
|
movs r0, 0
|
|
_08012BBE:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8012AE8
|
|
|
|
thumb_func_start sub_8012BC4
|
|
sub_8012BC4:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x24
|
|
mov r10, r0
|
|
mov r9, r1
|
|
adds r1, r2, 0
|
|
adds r7, r3, 0
|
|
movs r0, 0
|
|
mov r8, r0
|
|
add r0, sp, 0x4
|
|
adds r2, r7, 0
|
|
bl ConvertToDecimal
|
|
subs r5, r7, 0x1
|
|
cmp r5, 0
|
|
ble _08012C0A
|
|
lsls r0, r5, 2
|
|
mov r1, sp
|
|
adds r1, r0
|
|
adds r1, 0x4
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
bne _08012C0A
|
|
movs r2, 0xFF
|
|
_08012BFA:
|
|
str r2, [r1]
|
|
subs r1, 0x4
|
|
subs r5, 0x1
|
|
cmp r5, 0
|
|
ble _08012C0A
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
beq _08012BFA
|
|
_08012C0A:
|
|
movs r5, 0
|
|
cmp r5, r7
|
|
bge _08012C50
|
|
ldr r0, [sp, 0x4]
|
|
cmp r0, 0xFF
|
|
beq _08012C50
|
|
add r6, sp, 0x4
|
|
_08012C18:
|
|
ldm r6!, {r0}
|
|
adds r0, 0x30
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8092288
|
|
adds r4, r0, 0
|
|
bl sub_8008584
|
|
movs r1, 0x6
|
|
ldrsh r0, [r0, r1]
|
|
add r8, r0
|
|
mov r2, r10
|
|
mov r1, r8
|
|
subs r0, r2, r1
|
|
ldr r2, [sp, 0x48]
|
|
str r2, [sp]
|
|
mov r1, r9
|
|
adds r2, r4, 0
|
|
ldr r3, [sp, 0x44]
|
|
bl xxx_call_draw_char
|
|
adds r5, 0x1
|
|
cmp r5, r7
|
|
bge _08012C50
|
|
ldr r0, [r6]
|
|
cmp r0, 0xFF
|
|
bne _08012C18
|
|
_08012C50:
|
|
add sp, 0x24
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8012BC4
|
|
|
|
thumb_func_start sub_8012C60
|
|
sub_8012C60:
|
|
push {r4-r7,lr}
|
|
sub sp, 0x4
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
adds r0, r2, 0
|
|
adds r7, r3, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8092288
|
|
adds r4, r0, 0
|
|
bl sub_8008584
|
|
adds r1, r0, 0
|
|
movs r2, 0x6
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0xB
|
|
bgt _08012C90
|
|
movs r1, 0xC
|
|
subs r1, r0
|
|
lsrs r0, r1, 31
|
|
adds r1, r0
|
|
asrs r0, r1, 1
|
|
b _08012C92
|
|
_08012C90:
|
|
movs r0, 0
|
|
_08012C92:
|
|
adds r0, r5, r0
|
|
ldr r1, [sp, 0x18]
|
|
str r1, [sp]
|
|
adds r1, r6, 0
|
|
adds r2, r4, 0
|
|
adds r3, r7, 0
|
|
bl xxx_call_draw_char
|
|
add sp, 0x4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8012C60
|
|
|
|
thumb_func_start sub_8012CAC
|
|
sub_8012CAC:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
mov r8, r0
|
|
adds r4, r1, 0
|
|
movs r7, 0
|
|
movs r6, 0
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _08012CE6
|
|
movs r5, 0x80
|
|
lsls r5, 9
|
|
_08012CC4:
|
|
adds r0, r5, 0
|
|
movs r1, 0x80
|
|
lsls r1, 9
|
|
adds r5, r1
|
|
asrs r7, r0, 16
|
|
ldr r0, [r4]
|
|
bl sub_8008ED0
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, r6
|
|
ble _08012CDE
|
|
adds r6, r0, 0
|
|
_08012CDE:
|
|
adds r4, 0x8
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
bne _08012CC4
|
|
_08012CE6:
|
|
adds r0, r6, 0
|
|
cmp r0, 0
|
|
bge _08012CEE
|
|
adds r0, 0x7
|
|
_08012CEE:
|
|
asrs r0, 3
|
|
adds r0, 0x2
|
|
mov r1, r8
|
|
strh r0, [r1, 0xC]
|
|
mov r0, r8
|
|
adds r1, r7, 0
|
|
bl sub_8012D08
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8012CAC
|
|
|
|
thumb_func_start sub_8012D08
|
|
sub_8012D08:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
adds r0, r1, 0
|
|
movs r1, 0xC
|
|
bl sub_80095E4
|
|
lsls r0, 16
|
|
asrs r1, r0, 16
|
|
ldr r0, [r4, 0x4]
|
|
cmp r0, 0x6
|
|
bne _08012D24
|
|
adds r0, r1, 0x2
|
|
lsls r0, 16
|
|
asrs r1, r0, 16
|
|
_08012D24:
|
|
lsls r0, r1, 16
|
|
lsrs r0, 16
|
|
strh r0, [r4, 0xE]
|
|
strh r0, [r4, 0x10]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8012D08
|
|
|
|
thumb_func_start sub_8012D34
|
|
sub_8012D34:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
adds r0, r1, 0
|
|
movs r1, 0x18
|
|
bl sub_8009614
|
|
lsls r0, 16
|
|
asrs r1, r0, 16
|
|
ldr r0, [r4, 0x4]
|
|
cmp r0, 0x6
|
|
bne _08012D50
|
|
adds r0, r1, 0x2
|
|
lsls r0, 16
|
|
asrs r1, r0, 16
|
|
_08012D50:
|
|
lsls r0, r1, 16
|
|
lsrs r0, 16
|
|
strh r0, [r4, 0xE]
|
|
strh r0, [r4, 0x10]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8012D34
|
|
|
|
thumb_func_start sub_8012D60
|
|
sub_8012D60:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
adds r4, r0, 0
|
|
adds r5, r3, 0
|
|
ldr r7, [sp, 0x20]
|
|
movs r3, 0
|
|
movs r6, 0x1
|
|
negs r6, r6
|
|
mov r12, r3
|
|
ldr r0, [sp, 0x24]
|
|
str r0, [r4, 0x10]
|
|
str r1, [r4, 0x4]
|
|
str r2, [r4, 0x8]
|
|
cmp r2, 0
|
|
bne _08012D88
|
|
ldr r0, _08012E00
|
|
str r0, [r4, 0x8]
|
|
_08012D88:
|
|
str r5, [r4, 0xC]
|
|
ldr r0, [r1]
|
|
adds r5, r4, 0
|
|
adds r5, 0x14
|
|
movs r2, 0x4C
|
|
adds r2, r4
|
|
mov r8, r2
|
|
movs r2, 0x4D
|
|
adds r2, r4
|
|
mov r9, r2
|
|
movs r2, 0x4E
|
|
adds r2, r4
|
|
mov r10, r2
|
|
cmp r0, 0
|
|
beq _08012DC6
|
|
_08012DA6:
|
|
cmp r7, 0
|
|
blt _08012DB2
|
|
ldr r0, [r1, 0x4]
|
|
cmp r7, r0
|
|
bne _08012DB2
|
|
adds r6, r3, 0
|
|
_08012DB2:
|
|
ldr r0, [r1]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x2A
|
|
bne _08012DBC
|
|
mov r12, r3
|
|
_08012DBC:
|
|
adds r1, 0x8
|
|
adds r3, 0x1
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
bne _08012DA6
|
|
_08012DC6:
|
|
cmp r6, 0
|
|
bge _08012DCC
|
|
mov r6, r12
|
|
_08012DCC:
|
|
adds r0, r5, 0
|
|
adds r1, r3, 0
|
|
ldr r2, [sp, 0x24]
|
|
bl sub_8013134
|
|
strh r6, [r4, 0x2C]
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl sub_80137B0
|
|
movs r0, 0x1
|
|
mov r1, r8
|
|
strb r0, [r1]
|
|
mov r2, r9
|
|
strb r0, [r2]
|
|
mov r1, r10
|
|
strb r0, [r1]
|
|
subs r0, 0x2
|
|
str r0, [r4, 0x48]
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08012E00: .4byte gUnknown_80D47B8
|
|
thumb_func_end sub_8012D60
|
|
|
|
thumb_func_start sub_8012E04
|
|
sub_8012E04:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
adds r5, r0, 0
|
|
adds r7, r1, 0
|
|
mov r8, r2
|
|
mov r9, r3
|
|
ldr r3, [sp, 0x1C]
|
|
movs r1, 0
|
|
movs r6, 0x1
|
|
negs r6, r6
|
|
movs r4, 0
|
|
ldr r0, [r7]
|
|
cmp r0, 0
|
|
beq _08012E46
|
|
adds r2, r7, 0
|
|
_08012E26:
|
|
cmp r3, 0
|
|
blt _08012E32
|
|
ldr r0, [r2, 0x4]
|
|
cmp r3, r0
|
|
bne _08012E32
|
|
adds r6, r1, 0
|
|
_08012E32:
|
|
ldr r0, [r2]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x2A
|
|
bne _08012E3C
|
|
adds r4, r1, 0
|
|
_08012E3C:
|
|
adds r2, 0x8
|
|
adds r1, 0x1
|
|
ldr r0, [r2]
|
|
cmp r0, 0
|
|
bne _08012E26
|
|
_08012E46:
|
|
cmp r6, 0
|
|
bge _08012E4C
|
|
adds r6, r4, 0
|
|
_08012E4C:
|
|
adds r4, r5, 0
|
|
adds r4, 0x14
|
|
adds r0, r4, 0
|
|
ldr r2, [sp, 0x20]
|
|
bl sub_8013134
|
|
strh r6, [r5, 0x2C]
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl sub_80137B0
|
|
ldr r0, [sp, 0x20]
|
|
str r0, [r5, 0x10]
|
|
mov r0, r8
|
|
str r0, [r5, 0x8]
|
|
cmp r0, 0
|
|
bne _08012E72
|
|
ldr r0, _08012EA0
|
|
str r0, [r5, 0x8]
|
|
_08012E72:
|
|
mov r0, r9
|
|
str r0, [r5, 0xC]
|
|
str r7, [r5, 0x4]
|
|
adds r1, r5, 0
|
|
adds r1, 0x4E
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
adds r0, r5, 0
|
|
adds r0, 0x4C
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
adds r0, 0x1
|
|
strb r1, [r0]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [r5, 0x48]
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08012EA0: .4byte gUnknown_80D47B8
|
|
thumb_func_end sub_8012E04
|
|
|
|
thumb_func_start sub_8012EA4
|
|
sub_8012EA4:
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
adds r2, 0x4C
|
|
strb r1, [r2]
|
|
adds r2, 0x1
|
|
movs r1, 0x1
|
|
strb r1, [r2]
|
|
bl sub_8012EBC
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8012EA4
|
|
|
|
thumb_func_start sub_8012EBC
|
|
sub_8012EBC:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x164
|
|
adds r5, r0, 0
|
|
movs r0, 0x4D
|
|
adds r0, r5
|
|
mov r8, r0
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08012F9E
|
|
ldr r0, [r5, 0x10]
|
|
bl sub_80073B8
|
|
ldr r2, [r5, 0x10]
|
|
lsls r0, r2, 3
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
ldr r1, _08012F54
|
|
adds r0, r1
|
|
ldr r0, [r0, 0xC]
|
|
cmp r0, 0x6
|
|
bne _08012F24
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
mov r4, sp
|
|
adds r4, r0
|
|
adds r4, 0x4
|
|
add r0, sp, 0x4
|
|
bl sub_8006518
|
|
ldr r0, [r5]
|
|
bl sub_8008ED0
|
|
adds r1, r0, 0
|
|
ldr r0, [r4, 0x14]
|
|
ldrb r0, [r0, 0x2]
|
|
lsls r0, 3
|
|
subs r0, r1
|
|
lsrs r1, r0, 31
|
|
adds r0, r1
|
|
asrs r0, 1
|
|
adds r0, 0x8
|
|
ldr r2, [r5]
|
|
ldr r3, [r5, 0x10]
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
bl sub_8014FF0
|
|
_08012F24:
|
|
ldr r7, [r5, 0x8]
|
|
ldr r4, [r5, 0x4]
|
|
ldr r6, [r5, 0xC]
|
|
movs r1, 0
|
|
mov r9, r1
|
|
ldr r0, [r4]
|
|
mov r10, r8
|
|
cmp r0, 0
|
|
beq _08012F92
|
|
add r0, sp, 0x64
|
|
mov r8, r0
|
|
_08012F3A:
|
|
ldr r3, [r4]
|
|
ldrb r0, [r3]
|
|
cmp r0, 0x2A
|
|
bne _08012F44
|
|
adds r3, 0x1
|
|
_08012F44:
|
|
cmp r6, 0
|
|
beq _08012F58
|
|
ldrh r0, [r6]
|
|
lsls r0, 2
|
|
adds r0, r7
|
|
ldr r2, [r0]
|
|
adds r6, 0x2
|
|
b _08012F64
|
|
.align 2, 0
|
|
_08012F54: .4byte gUnknown_2027370
|
|
_08012F58:
|
|
ldr r0, [r4, 0x4]
|
|
cmp r0, 0
|
|
bge _08012F62
|
|
ldr r2, [r7, 0x4]
|
|
b _08012F64
|
|
_08012F62:
|
|
ldr r2, [r7]
|
|
_08012F64:
|
|
mov r0, r8
|
|
ldr r1, _08012FBC
|
|
bl sub_800D158
|
|
adds r0, r5, 0
|
|
adds r0, 0x14
|
|
mov r1, r9
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r3, [r5, 0x10]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
mov r2, r8
|
|
bl sub_8014FF0
|
|
adds r4, 0x8
|
|
movs r1, 0x1
|
|
add r9, r1
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
bne _08012F3A
|
|
_08012F92:
|
|
ldr r0, [r5, 0x10]
|
|
bl sub_80073E0
|
|
movs r0, 0
|
|
mov r1, r10
|
|
strb r0, [r1]
|
|
_08012F9E:
|
|
adds r0, r5, 0
|
|
adds r0, 0x4E
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08012FC8
|
|
adds r0, r5, 0
|
|
adds r0, 0x4C
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08012FC0
|
|
adds r0, r5, 0
|
|
adds r0, 0x14
|
|
bl AddMenuCursorSprite
|
|
b _08012FC8
|
|
.align 2, 0
|
|
_08012FBC: .4byte gUnknown_80D4828
|
|
_08012FC0:
|
|
adds r0, r5, 0
|
|
adds r0, 0x14
|
|
bl sub_8013660
|
|
_08012FC8:
|
|
add sp, 0x164
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8012EBC
|
|
|
|
thumb_func_start sub_8012FD8
|
|
sub_8012FD8:
|
|
push {r4-r7,lr}
|
|
adds r4, r0, 0
|
|
movs r0, 0x2C
|
|
ldrsh r7, [r4, r0]
|
|
adds r6, r4, 0
|
|
adds r6, 0x4C
|
|
ldrb r0, [r6]
|
|
cmp r0, 0
|
|
beq _08013094
|
|
adds r5, r4, 0
|
|
adds r5, 0x14
|
|
adds r0, r5, 0
|
|
bl GetKeyPress
|
|
cmp r0, 0x2
|
|
beq _08013078
|
|
cmp r0, 0x2
|
|
bgt _08013002
|
|
cmp r0, 0x1
|
|
beq _08013028
|
|
b _08013094
|
|
_08013002:
|
|
cmp r0, 0x7
|
|
beq _08013012
|
|
cmp r0, 0x8
|
|
bne _08013094
|
|
adds r0, r5, 0
|
|
bl MoveMenuCursorDown
|
|
b _08013018
|
|
_08013012:
|
|
adds r0, r5, 0
|
|
bl MoveMenuCursorUp
|
|
_08013018:
|
|
movs r1, 0x2C
|
|
ldrsh r0, [r4, r1]
|
|
cmp r7, r0
|
|
beq _08013094
|
|
movs r0, 0x3
|
|
bl sub_80119D4
|
|
b _08013094
|
|
_08013028:
|
|
adds r0, r5, 0
|
|
bl sub_80137A8
|
|
adds r2, r0, 0
|
|
lsls r1, r2, 3
|
|
ldr r0, [r4, 0x4]
|
|
adds r0, r1
|
|
ldr r3, [r0, 0x4]
|
|
cmp r3, 0
|
|
blt _08013068
|
|
ldr r1, [r4, 0xC]
|
|
cmp r1, 0
|
|
beq _0801304C
|
|
lsls r0, r2, 1
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _08013068
|
|
_0801304C:
|
|
str r3, [r4, 0x48]
|
|
adds r1, r4, 0
|
|
adds r1, 0x4C
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
strh r0, [r4, 0x38]
|
|
ldr r1, [r4, 0xC]
|
|
cmp r1, 0
|
|
beq _08013070
|
|
lsls r0, r2, 1
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x2
|
|
bne _08013070
|
|
_08013068:
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
b _08013094
|
|
_08013070:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
b _08013094
|
|
_08013078:
|
|
movs r1, 0x2E
|
|
ldrsh r0, [r4, r1]
|
|
ldr r1, [r4, 0x4]
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
blt _08013094
|
|
str r0, [r4, 0x48]
|
|
movs r0, 0
|
|
strb r0, [r6]
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
_08013094:
|
|
adds r0, r4, 0
|
|
bl sub_8012EBC
|
|
adds r0, r4, 0
|
|
adds r0, 0x4C
|
|
ldrb r0, [r0]
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8012FD8
|
|
|
|
thumb_func_start sub_80130A8
|
|
sub_80130A8:
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
adds r6, r4, 0
|
|
adds r6, 0x4C
|
|
ldrb r0, [r6]
|
|
cmp r0, 0
|
|
beq _08013100
|
|
adds r5, r4, 0
|
|
adds r5, 0x14
|
|
adds r0, r5, 0
|
|
bl GetKeyPress
|
|
cmp r0, 0x1
|
|
beq _080130CA
|
|
cmp r0, 0x2
|
|
beq _080130E6
|
|
b _08013100
|
|
_080130CA:
|
|
adds r0, r5, 0
|
|
bl sub_80137A8
|
|
lsls r0, 3
|
|
ldr r1, [r4, 0x4]
|
|
adds r1, r0
|
|
ldr r0, [r1, 0x4]
|
|
str r0, [r4, 0x48]
|
|
movs r0, 0
|
|
strb r0, [r6]
|
|
strh r0, [r4, 0x38]
|
|
bl sub_80119D4
|
|
b _08013100
|
|
_080130E6:
|
|
movs r1, 0x2E
|
|
ldrsh r0, [r4, r1]
|
|
ldr r1, [r4, 0x4]
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
blt _08013100
|
|
str r0, [r4, 0x48]
|
|
movs r0, 0
|
|
strb r0, [r6]
|
|
bl sub_80119D4
|
|
_08013100:
|
|
adds r0, r4, 0
|
|
bl sub_8012EBC
|
|
adds r0, r4, 0
|
|
adds r0, 0x4C
|
|
ldrb r0, [r0]
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80130A8
|
|
|
|
thumb_func_start sub_8013114
|
|
sub_8013114:
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
adds r0, 0x4C
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08013124
|
|
movs r0, 0x1
|
|
b _0801312E
|
|
_08013124:
|
|
cmp r1, 0
|
|
beq _0801312C
|
|
ldr r0, [r2, 0x48]
|
|
str r0, [r1]
|
|
_0801312C:
|
|
movs r0, 0
|
|
_0801312E:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8013114
|
|
|
|
thumb_func_start sub_8013134
|
|
sub_8013134:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r0, r2, 3
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
ldr r3, _0801315C
|
|
adds r0, r3
|
|
str r2, [r4]
|
|
movs r2, 0
|
|
strh r2, [r4, 0x18]
|
|
strh r1, [r4, 0x1A]
|
|
strh r1, [r4, 0x1C]
|
|
strh r2, [r4, 0x1E]
|
|
strh r2, [r4, 0x4]
|
|
ldr r0, [r0, 0xC]
|
|
cmp r0, 0x6
|
|
bne _08013160
|
|
movs r0, 0x10
|
|
b _08013162
|
|
.align 2, 0
|
|
_0801315C: .4byte gUnknown_2027370
|
|
_08013160:
|
|
movs r0, 0x2
|
|
_08013162:
|
|
strh r0, [r4, 0x6]
|
|
movs r0, 0
|
|
strh r0, [r4, 0xC]
|
|
strh r0, [r4, 0xE]
|
|
strh r0, [r4, 0x14]
|
|
strh r0, [r4, 0x24]
|
|
adds r0, r4, 0
|
|
adds r0, 0x28
|
|
bl sub_801317C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8013134
|
|
|
|
thumb_func_start sub_801317C
|
|
sub_801317C:
|
|
push {lr}
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
strb r1, [r0, 0x1]
|
|
strb r1, [r0, 0x2]
|
|
strb r1, [r0, 0x4]
|
|
strb r1, [r0, 0x3]
|
|
ldr r1, _080131A4
|
|
strh r1, [r0, 0x8]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
strh r1, [r0, 0xA]
|
|
adds r0, 0x8
|
|
bl nullsub_7
|
|
bl sub_8004914
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080131A4: .4byte 0x0000ffff
|
|
thumb_func_end sub_801317C
|
|
|
|
thumb_func_start AddMenuCursorSprite
|
|
AddMenuCursorSprite:
|
|
push {lr}
|
|
movs r1, 0
|
|
bl AddMenuCursorSprite_
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end AddMenuCursorSprite
|
|
|
|
thumb_func_start AddMenuCursorSprite_
|
|
AddMenuCursorSprite_:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
adds r6, r0, 0
|
|
movs r0, 0
|
|
movs r1, 0
|
|
str r0, [sp]
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0x1A
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, 0
|
|
bgt _080131CC
|
|
b _080132D6
|
|
_080131CC:
|
|
adds r0, r6, 0
|
|
bl UpdateMenuCursorSpriteCoords
|
|
ldrh r1, [r6, 0x24]
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080132D6
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
ldr r1, _080132FC
|
|
ands r1, r0
|
|
ldr r3, _08013300
|
|
ldr r0, [sp]
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
str r0, [sp]
|
|
mov r1, sp
|
|
ldrh r1, [r1]
|
|
adds r2, r3, 0
|
|
ands r2, r0
|
|
orrs r2, r1
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r0, _08013304
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
adds r2, r3, 0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r4, _08013308
|
|
adds r0, r4, 0
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
adds r2, r3, 0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r0, _0801330C
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
adds r2, r3, 0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r0, _08013310
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
adds r2, r3, 0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r0, _08013314
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
ands r3, r1
|
|
orrs r3, r0
|
|
str r3, [sp]
|
|
mov r3, sp
|
|
movs r2, 0xFD
|
|
lsls r2, 2
|
|
ldrh r1, [r3, 0x4]
|
|
movs r0, 0xFC
|
|
lsls r0, 8
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
ands r0, r4
|
|
movs r5, 0xF
|
|
movs r1, 0xF0
|
|
lsls r1, 8
|
|
ldr r4, _08013318
|
|
ands r0, r4
|
|
orrs r0, r1
|
|
strh r0, [r3, 0x4]
|
|
ldrh r0, [r3, 0x6]
|
|
ldr r1, _0801331C
|
|
ands r1, r0
|
|
ldr r0, _08013320
|
|
ands r1, r0
|
|
movs r2, 0x8
|
|
ldrsh r0, [r6, r2]
|
|
ldr r2, _08013324
|
|
ands r0, r2
|
|
strh r0, [r3, 0x2]
|
|
movs r2, 0xA
|
|
ldrsh r0, [r6, r2]
|
|
adds r0, 0x1
|
|
ands r0, r4
|
|
lsls r0, 4
|
|
ands r1, r5
|
|
orrs r1, r0
|
|
strh r1, [r3, 0x6]
|
|
mov r0, sp
|
|
movs r1, 0xFF
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl AddSprite
|
|
_080132D6:
|
|
adds r0, r6, 0
|
|
bl sub_8013470
|
|
movs r1, 0x14
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, 0
|
|
beq _080132EC
|
|
adds r0, r6, 0
|
|
adds r0, 0x14
|
|
bl sub_801332C
|
|
_080132EC:
|
|
ldrh r0, [r6, 0x24]
|
|
adds r0, 0x1
|
|
strh r0, [r6, 0x24]
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080132FC: .4byte 0x0000feff
|
|
_08013300: .4byte 0xffff0000
|
|
_08013304: .4byte 0x0000fdff
|
|
_08013308: .4byte 0x0000f3ff
|
|
_0801330C: .4byte 0x0000efff
|
|
_08013310: .4byte 0x0000dfff
|
|
_08013314: .4byte 0x00003fff
|
|
_08013318: .4byte 0x00000fff
|
|
_0801331C: .4byte 0x0000fffe
|
|
_08013320: .4byte 0x0000fffd
|
|
_08013324: .4byte 0x000001ff
|
|
thumb_func_end AddMenuCursorSprite_
|
|
|
|
thumb_func_start nullsub_34
|
|
nullsub_34:
|
|
bx lr
|
|
thumb_func_end nullsub_34
|
|
|
|
thumb_func_start sub_801332C
|
|
sub_801332C:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
movs r1, 0
|
|
movs r2, 0
|
|
str r1, [sp]
|
|
str r2, [sp, 0x4]
|
|
mov r1, sp
|
|
ldrh r1, [r1]
|
|
ldr r2, _08013440
|
|
ands r2, r1
|
|
ldr r4, _08013444
|
|
ldr r1, [sp]
|
|
ands r1, r4
|
|
orrs r1, r2
|
|
str r1, [sp]
|
|
mov r2, sp
|
|
ldrh r2, [r2]
|
|
adds r3, r4, 0
|
|
ands r3, r1
|
|
orrs r3, r2
|
|
str r3, [sp]
|
|
mov r1, sp
|
|
ldrh r2, [r1]
|
|
ldr r1, _08013448
|
|
ands r1, r2
|
|
adds r2, r4, 0
|
|
ands r2, r3
|
|
orrs r2, r1
|
|
str r2, [sp]
|
|
mov r1, sp
|
|
ldrh r1, [r1]
|
|
adds r3, r4, 0
|
|
ands r3, r2
|
|
orrs r3, r1
|
|
str r3, [sp]
|
|
movs r5, 0x80
|
|
lsls r5, 3
|
|
mov r1, sp
|
|
ldrh r2, [r1]
|
|
ldr r6, _0801344C
|
|
adds r1, r6, 0
|
|
ands r1, r2
|
|
adds r2, r4, 0
|
|
ands r2, r3
|
|
orrs r2, r1
|
|
str r2, [sp]
|
|
mov r1, sp
|
|
ldrh r1, [r1]
|
|
orrs r5, r1
|
|
adds r3, r4, 0
|
|
ands r3, r2
|
|
orrs r3, r5
|
|
str r3, [sp]
|
|
mov r1, sp
|
|
ldrh r2, [r1]
|
|
ldr r1, _08013450
|
|
ands r1, r2
|
|
adds r2, r4, 0
|
|
ands r2, r3
|
|
orrs r2, r1
|
|
str r2, [sp]
|
|
mov r1, sp
|
|
ldrh r1, [r1]
|
|
adds r3, r4, 0
|
|
ands r3, r2
|
|
orrs r3, r1
|
|
str r3, [sp]
|
|
mov r1, sp
|
|
ldrh r2, [r1]
|
|
ldr r1, _08013454
|
|
ands r1, r2
|
|
adds r2, r4, 0
|
|
ands r2, r3
|
|
orrs r2, r1
|
|
str r2, [sp]
|
|
mov r1, sp
|
|
ldrh r1, [r1]
|
|
adds r3, r4, 0
|
|
ands r3, r2
|
|
orrs r3, r1
|
|
str r3, [sp]
|
|
mov r1, sp
|
|
ldrh r2, [r1]
|
|
ldr r1, _08013458
|
|
ands r1, r2
|
|
adds r2, r4, 0
|
|
ands r2, r3
|
|
orrs r2, r1
|
|
str r2, [sp]
|
|
mov r1, sp
|
|
ldrh r1, [r1]
|
|
ands r4, r2
|
|
orrs r4, r1
|
|
str r4, [sp]
|
|
mov r4, sp
|
|
ldr r3, _0801345C
|
|
ldrh r2, [r4, 0x4]
|
|
movs r1, 0xFC
|
|
lsls r1, 8
|
|
ands r1, r2
|
|
orrs r1, r3
|
|
ands r1, r6
|
|
movs r6, 0xF
|
|
movs r2, 0xF0
|
|
lsls r2, 8
|
|
ldr r5, _08013460
|
|
ands r1, r5
|
|
orrs r1, r2
|
|
strh r1, [r4, 0x4]
|
|
ldrh r1, [r4, 0x6]
|
|
ldr r2, _08013464
|
|
ands r2, r1
|
|
ldr r1, _08013468
|
|
ands r2, r1
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
ldr r3, _0801346C
|
|
ands r1, r3
|
|
strh r1, [r4, 0x2]
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
adds r0, 0x1
|
|
ands r0, r5
|
|
lsls r0, 4
|
|
ands r2, r6
|
|
orrs r2, r0
|
|
strh r2, [r4, 0x6]
|
|
mov r0, sp
|
|
movs r1, 0xFF
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl AddSprite
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08013440: .4byte 0x0000feff
|
|
_08013444: .4byte 0xffff0000
|
|
_08013448: .4byte 0x0000fdff
|
|
_0801344C: .4byte 0x0000f3ff
|
|
_08013450: .4byte 0x0000efff
|
|
_08013454: .4byte 0x0000dfff
|
|
_08013458: .4byte 0x00003fff
|
|
_0801345C: .4byte 0x000003f5
|
|
_08013460: .4byte 0x00000fff
|
|
_08013464: .4byte 0x0000fffe
|
|
_08013468: .4byte 0x0000fffd
|
|
_0801346C: .4byte 0x000001ff
|
|
thumb_func_end sub_801332C
|
|
|
|
thumb_func_start sub_8013470
|
|
sub_8013470:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
adds r6, r0, 0
|
|
movs r0, 0
|
|
movs r1, 0
|
|
str r0, [sp]
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0xC
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, 0
|
|
bne _08013488
|
|
b _08013624
|
|
_08013488:
|
|
movs r2, 0x1E
|
|
ldrsh r0, [r6, r2]
|
|
cmp r0, 0
|
|
beq _08013586
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
ldr r1, _0801362C
|
|
ands r1, r0
|
|
ldr r3, _08013630
|
|
ldr r0, [sp]
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
str r0, [sp]
|
|
mov r1, sp
|
|
ldrh r1, [r1]
|
|
adds r2, r3, 0
|
|
ands r2, r0
|
|
orrs r2, r1
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r0, _08013634
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
adds r2, r3, 0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r4, _08013638
|
|
adds r0, r4, 0
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
adds r2, r3, 0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r0, _0801363C
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
adds r2, r3, 0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r0, _08013640
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
adds r2, r3, 0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r0, _08013644
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
ands r3, r1
|
|
orrs r3, r0
|
|
str r3, [sp]
|
|
mov r3, sp
|
|
ldr r2, _08013648
|
|
ldrh r1, [r3, 0x4]
|
|
movs r0, 0xFC
|
|
lsls r0, 8
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
ands r0, r4
|
|
movs r5, 0xF
|
|
movs r1, 0xF0
|
|
lsls r1, 8
|
|
ldr r4, _0801364C
|
|
ands r0, r4
|
|
orrs r0, r1
|
|
strh r0, [r3, 0x4]
|
|
ldrh r0, [r3, 0x6]
|
|
ldr r1, _08013650
|
|
ands r1, r0
|
|
ldr r0, _08013654
|
|
ands r1, r0
|
|
movs r2, 0xC
|
|
ldrsh r0, [r6, r2]
|
|
ldr r2, _08013658
|
|
ands r0, r2
|
|
strh r0, [r3, 0x2]
|
|
movs r2, 0xE
|
|
ldrsh r0, [r6, r2]
|
|
ands r0, r4
|
|
lsls r0, 4
|
|
ands r1, r5
|
|
orrs r1, r0
|
|
strh r1, [r3, 0x6]
|
|
mov r0, sp
|
|
movs r1, 0xFF
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl AddSprite
|
|
_08013586:
|
|
movs r1, 0x20
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, 0
|
|
beq _08013624
|
|
adds r1, r0, 0
|
|
movs r2, 0x1E
|
|
ldrsh r0, [r6, r2]
|
|
adds r0, 0x1
|
|
cmp r1, r0
|
|
beq _08013624
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
ldr r1, _0801362C
|
|
ands r1, r0
|
|
mov r0, sp
|
|
strh r1, [r0]
|
|
strh r1, [r0]
|
|
ldr r0, _08013634
|
|
ands r0, r1
|
|
mov r1, sp
|
|
strh r0, [r1]
|
|
strh r0, [r1]
|
|
ldr r4, _08013638
|
|
ands r0, r4
|
|
strh r0, [r1]
|
|
strh r0, [r1]
|
|
ldr r1, _0801363C
|
|
ands r1, r0
|
|
mov r0, sp
|
|
strh r1, [r0]
|
|
strh r1, [r0]
|
|
ldr r2, _08013640
|
|
ands r2, r1
|
|
strh r2, [r0]
|
|
strh r2, [r0]
|
|
ldr r0, _08013644
|
|
ands r0, r2
|
|
mov r1, sp
|
|
strh r0, [r1]
|
|
strh r0, [r1]
|
|
mov r3, sp
|
|
ldr r2, _0801365C
|
|
ldrh r1, [r3, 0x4]
|
|
movs r0, 0xFC
|
|
lsls r0, 8
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
ands r0, r4
|
|
movs r5, 0xF
|
|
movs r1, 0xF0
|
|
lsls r1, 8
|
|
ldr r4, _0801364C
|
|
ands r0, r4
|
|
orrs r0, r1
|
|
strh r0, [r3, 0x4]
|
|
ldrh r0, [r3, 0x6]
|
|
ldr r1, _08013650
|
|
ands r1, r0
|
|
ldr r0, _08013654
|
|
ands r1, r0
|
|
movs r2, 0xC
|
|
ldrsh r0, [r6, r2]
|
|
adds r0, 0xA
|
|
ldr r2, _08013658
|
|
ands r0, r2
|
|
strh r0, [r3, 0x2]
|
|
movs r2, 0xE
|
|
ldrsh r0, [r6, r2]
|
|
ands r0, r4
|
|
lsls r0, 4
|
|
ands r1, r5
|
|
orrs r1, r0
|
|
strh r1, [r3, 0x6]
|
|
mov r0, sp
|
|
movs r1, 0xFF
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl AddSprite
|
|
_08013624:
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801362C: .4byte 0x0000feff
|
|
_08013630: .4byte 0xffff0000
|
|
_08013634: .4byte 0x0000fdff
|
|
_08013638: .4byte 0x0000f3ff
|
|
_0801363C: .4byte 0x0000efff
|
|
_08013640: .4byte 0x0000dfff
|
|
_08013644: .4byte 0x00003fff
|
|
_08013648: .4byte 0x000003f2
|
|
_0801364C: .4byte 0x00000fff
|
|
_08013650: .4byte 0x0000fffe
|
|
_08013654: .4byte 0x0000fffd
|
|
_08013658: .4byte 0x000001ff
|
|
_0801365C: .4byte 0x000003f3
|
|
thumb_func_end sub_8013470
|
|
|
|
thumb_func_start sub_8013660
|
|
sub_8013660:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
movs r1, 0x1A
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0
|
|
ble _0801367A
|
|
adds r0, r4, 0
|
|
bl UpdateMenuCursorSpriteCoords
|
|
adds r0, r4, 0
|
|
adds r0, 0x8
|
|
bl sub_801332C
|
|
_0801367A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8013660
|
|
|
|
thumb_func_start UpdateMenuCursorSpriteCoords
|
|
UpdateMenuCursorSpriteCoords:
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
ldr r0, [r5]
|
|
lsls r4, r0, 3
|
|
adds r4, r0
|
|
lsls r4, 3
|
|
ldr r0, _080136B8
|
|
adds r4, r0
|
|
movs r1, 0
|
|
ldrsh r0, [r4, r1]
|
|
lsls r0, 3
|
|
ldrh r2, [r5, 0x4]
|
|
adds r0, r2
|
|
strh r0, [r5, 0x8]
|
|
movs r0, 0x18
|
|
ldrsh r1, [r5, r0]
|
|
adds r0, r5, 0
|
|
bl sub_8013800
|
|
movs r2, 0x2
|
|
ldrsh r1, [r4, r2]
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
strh r1, [r5, 0xA]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080136B8: .4byte gUnknown_2027370
|
|
thumb_func_end UpdateMenuCursorSpriteCoords
|
|
|
|
thumb_func_start MoveMenuCursorDown
|
|
MoveMenuCursorDown:
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
movs r3, 0
|
|
strh r3, [r1, 0x24]
|
|
movs r0, 0x1A
|
|
ldrsh r2, [r1, r0]
|
|
cmp r2, 0
|
|
ble _080136DA
|
|
ldrh r0, [r1, 0x18]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x18]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, r2
|
|
blt _080136DC
|
|
_080136DA:
|
|
strh r3, [r1, 0x18]
|
|
_080136DC:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end MoveMenuCursorDown
|
|
|
|
thumb_func_start sub_80136E0
|
|
sub_80136E0:
|
|
push {r4,r5,lr}
|
|
adds r2, r0, 0
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
movs r1, 0
|
|
strh r1, [r2, 0x24]
|
|
ldrh r4, [r2, 0x1A]
|
|
movs r0, 0x1A
|
|
ldrsh r3, [r2, r0]
|
|
cmp r3, 0
|
|
ble _08013708
|
|
ldrh r0, [r2, 0x18]
|
|
adds r0, 0x1
|
|
strh r0, [r2, 0x18]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, r3
|
|
blt _08013710
|
|
cmp r5, 0
|
|
beq _0801370C
|
|
_08013708:
|
|
strh r1, [r2, 0x18]
|
|
b _08013710
|
|
_0801370C:
|
|
subs r0, r4, 0x1
|
|
strh r0, [r2, 0x18]
|
|
_08013710:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80136E0
|
|
|
|
thumb_func_start MoveMenuCursorUp
|
|
MoveMenuCursorUp:
|
|
push {r4,lr}
|
|
adds r1, r0, 0
|
|
movs r2, 0
|
|
strh r2, [r1, 0x24]
|
|
ldrh r3, [r1, 0x1A]
|
|
movs r4, 0x1A
|
|
ldrsh r0, [r1, r4]
|
|
cmp r0, 0
|
|
bgt _0801372E
|
|
strh r2, [r1, 0x18]
|
|
b _0801373E
|
|
_0801372E:
|
|
ldrh r0, [r1, 0x18]
|
|
subs r0, 0x1
|
|
strh r0, [r1, 0x18]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bge _0801373E
|
|
subs r0, r3, 0x1
|
|
strh r0, [r1, 0x18]
|
|
_0801373E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end MoveMenuCursorUp
|
|
|
|
thumb_func_start sub_8013744
|
|
sub_8013744:
|
|
push {r4-r6,lr}
|
|
adds r2, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r5, r1, 0
|
|
movs r3, 0
|
|
strh r3, [r2, 0x24]
|
|
ldrh r4, [r2, 0x1A]
|
|
movs r6, 0x1A
|
|
ldrsh r0, [r2, r6]
|
|
cmp r0, 0
|
|
bgt _08013760
|
|
strh r3, [r2, 0x18]
|
|
b _08013778
|
|
_08013760:
|
|
ldrh r0, [r2, 0x18]
|
|
subs r0, 0x1
|
|
strh r0, [r2, 0x18]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bge _08013778
|
|
cmp r1, 0
|
|
beq _08013776
|
|
subs r0, r4, 0x1
|
|
strh r0, [r2, 0x18]
|
|
b _08013778
|
|
_08013776:
|
|
strh r5, [r2, 0x18]
|
|
_08013778:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8013744
|
|
|
|
thumb_func_start sub_8013780
|
|
sub_8013780:
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
cmp r1, 0
|
|
bge _0801378E
|
|
movs r0, 0
|
|
strh r0, [r2, 0x18]
|
|
b _080137A0
|
|
_0801378E:
|
|
movs r3, 0x1A
|
|
ldrsh r0, [r2, r3]
|
|
cmp r1, r0
|
|
blt _0801379E
|
|
ldrh r0, [r2, 0x1A]
|
|
subs r0, 0x1
|
|
strh r0, [r2, 0x18]
|
|
b _080137A0
|
|
_0801379E:
|
|
strh r1, [r2, 0x18]
|
|
_080137A0:
|
|
movs r0, 0
|
|
strh r0, [r2, 0x24]
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8013780
|
|
|
|
thumb_func_start sub_80137A8
|
|
sub_80137A8:
|
|
movs r1, 0x18
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
thumb_func_end sub_80137A8
|
|
|
|
thumb_func_start sub_80137B0
|
|
sub_80137B0:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
cmp r1, 0
|
|
ble _080137BC
|
|
lsls r0, r1, 8
|
|
b _080137E2
|
|
_080137BC:
|
|
ldr r3, _080137F4
|
|
ldr r1, [r4]
|
|
lsls r0, r1, 3
|
|
adds r0, r1
|
|
lsls r1, r0, 3
|
|
adds r0, r3, 0
|
|
adds r0, 0xC
|
|
adds r0, r1, r0
|
|
ldr r0, [r0]
|
|
movs r2, 0
|
|
cmp r0, 0x6
|
|
bne _080137D6
|
|
movs r2, 0x10
|
|
_080137D6:
|
|
adds r0, r1, r3
|
|
movs r1, 0x6
|
|
ldrsh r0, [r0, r1]
|
|
lsls r0, 3
|
|
subs r0, r2
|
|
lsls r0, 8
|
|
_080137E2:
|
|
movs r2, 0x1C
|
|
ldrsh r1, [r4, r2]
|
|
bl __divsi3
|
|
str r0, [r4, 0x10]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080137F4: .4byte gUnknown_2027370
|
|
thumb_func_end sub_80137B0
|
|
|
|
thumb_func_start sub_80137F8
|
|
sub_80137F8:
|
|
lsls r1, 8
|
|
str r1, [r0, 0x10]
|
|
bx lr
|
|
thumb_func_end sub_80137F8
|
|
|
|
thumb_func_start sub_8013800
|
|
sub_8013800:
|
|
push {lr}
|
|
movs r3, 0x6
|
|
ldrsh r2, [r0, r3]
|
|
ldr r0, [r0, 0x10]
|
|
muls r0, r1
|
|
cmp r0, 0
|
|
bge _08013810
|
|
adds r0, 0xFF
|
|
_08013810:
|
|
asrs r0, 8
|
|
adds r0, r2, r0
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8013800
|
|
|
|
thumb_func_start sub_8013818
|
|
sub_8013818:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
str r3, [r4]
|
|
movs r0, 0
|
|
strh r1, [r4, 0x22]
|
|
strh r2, [r4, 0x1C]
|
|
strh r0, [r4, 0x14]
|
|
strh r0, [r4, 0x24]
|
|
strh r0, [r4, 0x18]
|
|
strh r0, [r4, 0x1E]
|
|
adds r0, r4, 0
|
|
adds r0, 0x28
|
|
bl sub_801317C
|
|
adds r0, r4, 0
|
|
bl sub_8013984
|
|
adds r0, r4, 0
|
|
movs r1, 0xC
|
|
bl sub_80137F8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8013818
|
|
|
|
thumb_func_start sub_8013848
|
|
sub_8013848:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
str r3, [r4]
|
|
movs r0, 0
|
|
strh r1, [r4, 0x22]
|
|
strh r2, [r4, 0x1C]
|
|
strh r0, [r4, 0x14]
|
|
strh r0, [r4, 0x24]
|
|
strh r0, [r4, 0x18]
|
|
strh r0, [r4, 0x1E]
|
|
adds r0, r4, 0
|
|
adds r0, 0x28
|
|
bl sub_801317C
|
|
adds r0, r4, 0
|
|
bl sub_8013984
|
|
adds r0, r4, 0
|
|
movs r1, 0x18
|
|
bl sub_80137F8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8013848
|
|
|
|
thumb_func_start sub_8013878
|
|
sub_8013878:
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
cmp r6, 0
|
|
bge _08013886
|
|
movs r6, 0
|
|
b _08013890
|
|
_08013886:
|
|
movs r1, 0x22
|
|
ldrsh r0, [r5, r1]
|
|
cmp r6, r0
|
|
blt _08013890
|
|
subs r6, r0, 0x1
|
|
_08013890:
|
|
movs r0, 0x1C
|
|
ldrsh r1, [r5, r0]
|
|
adds r0, r6, 0
|
|
bl __divsi3
|
|
movs r4, 0
|
|
strh r0, [r5, 0x1E]
|
|
movs r0, 0x1C
|
|
ldrsh r1, [r5, r0]
|
|
adds r0, r6, 0
|
|
bl __modsi3
|
|
strh r0, [r5, 0x18]
|
|
strh r4, [r5, 0x24]
|
|
adds r0, r5, 0
|
|
bl sub_8013984
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8013878
|
|
|
|
thumb_func_start sub_80138B8
|
|
sub_80138B8:
|
|
push {r4-r7,lr}
|
|
adds r5, r0, 0
|
|
lsls r4, r1, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x1E
|
|
ldrsh r7, [r5, r0]
|
|
movs r1, 0x18
|
|
ldrsh r6, [r5, r1]
|
|
adds r0, r5, 0
|
|
bl AddMenuCursorSprite
|
|
cmp r4, 0
|
|
beq _0801391C
|
|
adds r0, r5, 0
|
|
bl GetKeyPress
|
|
cmp r0, 0x8
|
|
beq _080138F8
|
|
cmp r0, 0x8
|
|
bgt _080138E6
|
|
cmp r0, 0x7
|
|
beq _080138F0
|
|
b _0801391C
|
|
_080138E6:
|
|
cmp r0, 0x9
|
|
beq _0801390E
|
|
cmp r0, 0xA
|
|
beq _08013916
|
|
b _0801391C
|
|
_080138F0:
|
|
adds r0, r5, 0
|
|
bl MoveMenuCursorUp
|
|
b _080138FE
|
|
_080138F8:
|
|
adds r0, r5, 0
|
|
bl MoveMenuCursorDown
|
|
_080138FE:
|
|
movs r1, 0x18
|
|
ldrsh r0, [r5, r1]
|
|
cmp r6, r0
|
|
beq _0801391C
|
|
movs r0, 0x3
|
|
bl sub_80119D4
|
|
b _0801391C
|
|
_0801390E:
|
|
adds r0, r5, 0
|
|
bl sub_8013A7C
|
|
b _0801391C
|
|
_08013916:
|
|
adds r0, r5, 0
|
|
bl sub_8013A54
|
|
_0801391C:
|
|
movs r1, 0x1E
|
|
ldrsh r0, [r5, r1]
|
|
cmp r7, r0
|
|
bne _08013928
|
|
movs r0, 0
|
|
b _08013930
|
|
_08013928:
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0x1
|
|
_08013930:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80138B8
|
|
|
|
thumb_func_start sub_8013938
|
|
sub_8013938:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
movs r0, 0x1E
|
|
ldrsh r5, [r4, r0]
|
|
movs r0, 0
|
|
strh r0, [r4, 0x1A]
|
|
strh r0, [r4, 0x14]
|
|
adds r0, r4, 0
|
|
bl AddMenuCursorSprite
|
|
adds r0, r4, 0
|
|
bl GetKeyPress
|
|
cmp r0, 0x9
|
|
beq _0801395C
|
|
cmp r0, 0xA
|
|
beq _08013964
|
|
b _0801396A
|
|
_0801395C:
|
|
adds r0, r4, 0
|
|
bl sub_8013A7C
|
|
b _0801396A
|
|
_08013964:
|
|
adds r0, r4, 0
|
|
bl sub_8013A54
|
|
_0801396A:
|
|
movs r1, 0x1E
|
|
ldrsh r0, [r4, r1]
|
|
cmp r5, r0
|
|
bne _08013976
|
|
movs r0, 0
|
|
b _0801397E
|
|
_08013976:
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0x1
|
|
_0801397E:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8013938
|
|
|
|
thumb_func_start sub_8013984
|
|
sub_8013984:
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
ldr r1, [r4]
|
|
lsls r0, r1, 3
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
ldr r1, _08013A20
|
|
adds r6, r0, r1
|
|
ldrh r1, [r4, 0x1C]
|
|
movs r2, 0x1C
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, 0
|
|
bne _080139A2
|
|
adds r0, r1, 0x1
|
|
strh r0, [r4, 0x1C]
|
|
_080139A2:
|
|
movs r1, 0x22
|
|
ldrsh r0, [r4, r1]
|
|
movs r2, 0x1C
|
|
ldrsh r1, [r4, r2]
|
|
bl __divsi3
|
|
adds r5, r0, 0
|
|
strh r5, [r4, 0x20]
|
|
movs r1, 0x22
|
|
ldrsh r0, [r4, r1]
|
|
movs r2, 0x1C
|
|
ldrsh r1, [r4, r2]
|
|
bl __modsi3
|
|
cmp r0, 0
|
|
beq _080139C6
|
|
adds r0, r5, 0x1
|
|
strh r0, [r4, 0x20]
|
|
_080139C6:
|
|
movs r0, 0x1E
|
|
ldrsh r1, [r4, r0]
|
|
movs r2, 0x20
|
|
ldrsh r0, [r4, r2]
|
|
subs r0, 0x1
|
|
ldrh r5, [r4, 0x20]
|
|
cmp r1, r0
|
|
ble _080139DA
|
|
subs r0, r5, 0x1
|
|
strh r0, [r4, 0x1E]
|
|
_080139DA:
|
|
movs r0, 0x1E
|
|
ldrsh r1, [r4, r0]
|
|
movs r2, 0x20
|
|
ldrsh r0, [r4, r2]
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
bne _080139F8
|
|
movs r1, 0x22
|
|
ldrsh r0, [r4, r1]
|
|
movs r2, 0x1C
|
|
ldrsh r1, [r4, r2]
|
|
bl __modsi3
|
|
cmp r0, 0
|
|
bne _080139FA
|
|
_080139F8:
|
|
ldrh r0, [r4, 0x1C]
|
|
_080139FA:
|
|
strh r0, [r4, 0x1A]
|
|
movs r0, 0x18
|
|
ldrsh r1, [r4, r0]
|
|
movs r2, 0x1A
|
|
ldrsh r0, [r4, r2]
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
ble _08013A10
|
|
ldrh r0, [r4, 0x1A]
|
|
subs r0, 0x1
|
|
strh r0, [r4, 0x18]
|
|
_08013A10:
|
|
movs r1, 0
|
|
strh r1, [r4, 0x4]
|
|
ldr r0, [r6, 0xC]
|
|
cmp r0, 0x6
|
|
bne _08013A24
|
|
movs r0, 0x10
|
|
strh r0, [r4, 0x6]
|
|
b _08013A26
|
|
.align 2, 0
|
|
_08013A20: .4byte gUnknown_2027370
|
|
_08013A24:
|
|
strh r1, [r4, 0x6]
|
|
_08013A26:
|
|
lsls r0, r5, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x1
|
|
bgt _08013A32
|
|
movs r0, 0
|
|
b _08013A40
|
|
_08013A32:
|
|
movs r1, 0
|
|
ldrsh r0, [r6, r1]
|
|
movs r2, 0x4
|
|
ldrsh r1, [r6, r2]
|
|
adds r0, r1
|
|
subs r0, 0x2
|
|
lsls r0, 3
|
|
_08013A40:
|
|
strh r0, [r4, 0xC]
|
|
movs r1, 0x2
|
|
ldrsh r0, [r6, r1]
|
|
adds r0, 0x1
|
|
lsls r0, 3
|
|
subs r0, 0x2
|
|
strh r0, [r4, 0xE]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8013984
|
|
|
|
thumb_func_start sub_8013A54
|
|
sub_8013A54:
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
movs r0, 0x1E
|
|
ldrsh r1, [r2, r0]
|
|
movs r3, 0x20
|
|
ldrsh r0, [r2, r3]
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
bge _08013A6C
|
|
ldrh r0, [r2, 0x1E]
|
|
adds r0, 0x1
|
|
b _08013A6E
|
|
_08013A6C:
|
|
movs r0, 0
|
|
_08013A6E:
|
|
strh r0, [r2, 0x1E]
|
|
adds r0, r2, 0
|
|
bl sub_8013984
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8013A54
|
|
|
|
thumb_func_start sub_8013A7C
|
|
sub_8013A7C:
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
ldrh r2, [r1, 0x1E]
|
|
movs r3, 0x1E
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0
|
|
bgt _08013A90
|
|
ldrh r0, [r1, 0x20]
|
|
subs r0, 0x1
|
|
b _08013A92
|
|
_08013A90:
|
|
subs r0, r2, 0x1
|
|
_08013A92:
|
|
strh r0, [r1, 0x1E]
|
|
adds r0, r1, 0
|
|
bl sub_8013984
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8013A7C
|
|
|
|
thumb_func_start sub_8013AA0
|
|
sub_8013AA0:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x28
|
|
adds r5, r0, 0
|
|
ldrh r1, [r5, 0x28]
|
|
ldr r0, _08013B9C
|
|
ands r0, r1
|
|
ldr r1, _08013BA0
|
|
ands r0, r1
|
|
ldr r4, _08013BA4
|
|
ands r0, r4
|
|
ldr r1, _08013BA8
|
|
ands r0, r1
|
|
ldr r1, _08013BAC
|
|
ands r0, r1
|
|
movs r1, 0x80
|
|
lsls r1, 7
|
|
ldr r3, _08013BB0
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
strh r0, [r5, 0x28]
|
|
movs r1, 0x80
|
|
lsls r1, 6
|
|
ldrh r0, [r5, 0x2A]
|
|
ldr r2, _08013BB4
|
|
ands r2, r0
|
|
orrs r2, r1
|
|
ands r2, r3
|
|
movs r3, 0xFC
|
|
lsls r3, 2
|
|
ldrh r1, [r5, 0x2C]
|
|
movs r0, 0xFC
|
|
lsls r0, 8
|
|
ands r0, r1
|
|
orrs r0, r3
|
|
ands r0, r4
|
|
movs r3, 0xF
|
|
movs r4, 0xF0
|
|
lsls r4, 8
|
|
ldr r1, _08013BB8
|
|
ands r0, r1
|
|
orrs r0, r4
|
|
strh r0, [r5, 0x2C]
|
|
movs r0, 0xFE
|
|
lsls r0, 8
|
|
ands r2, r0
|
|
movs r0, 0xF0
|
|
orrs r2, r0
|
|
strh r2, [r5, 0x2A]
|
|
subs r1, 0xFF
|
|
ldrh r0, [r5, 0x2E]
|
|
ands r3, r0
|
|
movs r0, 0
|
|
orrs r3, r1
|
|
strh r3, [r5, 0x2E]
|
|
adds r1, r5, 0
|
|
adds r1, 0x26
|
|
strb r0, [r1]
|
|
ldr r1, [r5, 0xC]
|
|
ldr r2, [r5, 0x10]
|
|
mov r0, sp
|
|
bl ConvertToDecimal
|
|
ldr r0, [r5, 0x10]
|
|
adds r1, r5, 0
|
|
adds r1, 0x25
|
|
strb r0, [r1]
|
|
ldrb r2, [r1]
|
|
subs r0, r2, 0x1
|
|
lsls r0, 2
|
|
add r0, sp
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
bne _08013B50
|
|
cmp r2, 0x1
|
|
bls _08013B50
|
|
adds r2, r1, 0
|
|
_08013B38:
|
|
ldrb r0, [r2]
|
|
subs r0, 0x1
|
|
strb r0, [r2]
|
|
ldrb r1, [r2]
|
|
subs r0, r1, 0x1
|
|
lsls r0, 2
|
|
add r0, sp
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
bne _08013B50
|
|
cmp r1, 0x1
|
|
bhi _08013B38
|
|
_08013B50:
|
|
ldr r1, [r5, 0x4]
|
|
str r1, [r5]
|
|
ldr r2, [r5, 0x10]
|
|
mov r0, sp
|
|
bl ConvertToDecimal
|
|
adds r0, r5, 0
|
|
adds r0, 0x25
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
adds r1, r5, 0
|
|
adds r1, 0x24
|
|
strb r0, [r1]
|
|
ldrb r2, [r1]
|
|
lsls r0, r2, 2
|
|
add r0, sp
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
bne _08013B92
|
|
cmp r2, 0
|
|
beq _08013B92
|
|
adds r2, r1, 0
|
|
_08013B7C:
|
|
ldrb r0, [r2]
|
|
subs r0, 0x1
|
|
strb r0, [r2]
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 2
|
|
add r0, sp
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
bne _08013B92
|
|
cmp r1, 0
|
|
bne _08013B7C
|
|
_08013B92:
|
|
add sp, 0x28
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08013B9C: .4byte 0x0000feff
|
|
_08013BA0: .4byte 0x0000fdff
|
|
_08013BA4: .4byte 0x0000f3ff
|
|
_08013BA8: .4byte 0x0000efff
|
|
_08013BAC: .4byte 0x0000dfff
|
|
_08013BB0: .4byte 0x00003fff
|
|
_08013BB4: .4byte 0x0000c1ff
|
|
_08013BB8: .4byte 0x00000fff
|
|
thumb_func_end sub_8013AA0
|
|
|
|
thumb_func_start sub_8013BBC
|
|
sub_8013BBC:
|
|
push {r4-r7,lr}
|
|
adds r7, r0, 0
|
|
adds r4, r7, 0
|
|
adds r4, 0x26
|
|
ldrb r0, [r4]
|
|
adds r0, 0x1
|
|
strb r0, [r4]
|
|
adds r0, r7, 0
|
|
bl sub_8013D10
|
|
ldrb r1, [r4]
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08013C26
|
|
movs r2, 0x80
|
|
lsls r2, 6
|
|
ldrh r1, [r7, 0x2A]
|
|
ldr r4, _08013C38
|
|
adds r0, r4, 0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strh r0, [r7, 0x2A]
|
|
adds r5, r7, 0
|
|
adds r5, 0x28
|
|
movs r6, 0x80
|
|
lsls r6, 1
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl AddSprite
|
|
ldrh r0, [r7, 0x2A]
|
|
ands r4, r0
|
|
strh r4, [r7, 0x2A]
|
|
ldrh r1, [r7, 0x2E]
|
|
ldr r0, _08013C3C
|
|
lsrs r1, 4
|
|
adds r1, 0x10
|
|
ands r1, r0
|
|
lsls r1, 4
|
|
ldrh r2, [r7, 0x2E]
|
|
movs r0, 0xF
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strh r0, [r7, 0x2E]
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl AddSprite
|
|
_08013C26:
|
|
adds r0, r7, 0
|
|
bl sub_8013DD0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08013C40
|
|
movs r0, 0x1
|
|
b _08013C62
|
|
.align 2, 0
|
|
_08013C38: .4byte 0x0000c1ff
|
|
_08013C3C: .4byte 0x00000fff
|
|
_08013C40:
|
|
bl sub_8012AE8
|
|
cmp r0, 0x1
|
|
beq _08013C56
|
|
cmp r0, 0x2
|
|
bne _08013C60
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _08013C62
|
|
_08013C56:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _08013C62
|
|
_08013C60:
|
|
movs r0, 0
|
|
_08013C62:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8013BBC
|
|
|
|
thumb_func_start sub_8013C68
|
|
sub_8013C68:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x2C
|
|
adds r5, r0, 0
|
|
ldr r1, [r5]
|
|
ldr r2, [r5, 0x10]
|
|
add r0, sp, 0x4
|
|
bl ConvertToDecimal
|
|
ldr r0, [r5, 0x10]
|
|
subs r4, r0, 0x1
|
|
cmp r4, 0
|
|
ble _08013CA0
|
|
lsls r0, r4, 2
|
|
mov r1, sp
|
|
adds r1, r0
|
|
adds r1, 0x4
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
bne _08013CA0
|
|
movs r2, 0xFF
|
|
_08013C90:
|
|
str r2, [r1]
|
|
subs r1, 0x4
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
ble _08013CA0
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
beq _08013C90
|
|
_08013CA0:
|
|
movs r4, 0
|
|
adds r0, r5, 0
|
|
adds r0, 0x25
|
|
adds r6, r0, 0
|
|
b _08013CDA
|
|
_08013CAA:
|
|
lsls r0, r4, 2
|
|
add r0, sp
|
|
adds r0, 0x4
|
|
ldr r0, [r0]
|
|
cmp r0, 0xFF
|
|
bne _08013CBA
|
|
movs r3, 0x2A
|
|
b _08013CC0
|
|
_08013CBA:
|
|
adds r0, 0x30
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
_08013CC0:
|
|
adds r4, 0x1
|
|
lsls r1, r4, 1
|
|
adds r1, r4
|
|
lsls r1, 2
|
|
ldr r0, [r5, 0x1C]
|
|
subs r0, r1
|
|
ldr r1, [r5, 0x20]
|
|
ldr r2, [r5, 0x14]
|
|
str r2, [sp]
|
|
adds r2, r3, 0
|
|
movs r3, 0x7
|
|
bl sub_8012C60
|
|
_08013CDA:
|
|
ldrb r0, [r6]
|
|
cmp r4, r0
|
|
blt _08013CAA
|
|
movs r4, 0
|
|
b _08013D02
|
|
_08013CE4:
|
|
ldr r0, [r5, 0x14]
|
|
adds r4, 0x1
|
|
lsls r2, r4, 1
|
|
adds r2, r4
|
|
lsls r2, 2
|
|
ldr r1, [r5, 0x1C]
|
|
subs r1, r2
|
|
subs r1, 0x1
|
|
ldr r2, [r5, 0x20]
|
|
adds r2, 0xA
|
|
movs r3, 0x5
|
|
str r3, [sp]
|
|
movs r3, 0xB
|
|
bl sub_800792C
|
|
_08013D02:
|
|
ldr r0, [r5, 0x10]
|
|
cmp r4, r0
|
|
blt _08013CE4
|
|
add sp, 0x2C
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8013C68
|
|
|
|
thumb_func_start sub_8013D10
|
|
sub_8013D10:
|
|
push {r4-r7,lr}
|
|
adds r6, r0, 0
|
|
ldr r0, [r6, 0x14]
|
|
lsls r1, r0, 3
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, _08013D34
|
|
adds r7, r1, r0
|
|
adds r4, r6, 0
|
|
adds r4, 0x24
|
|
ldrb r5, [r4]
|
|
bl sub_8012AE8
|
|
cmp r0, 0x9
|
|
beq _08013D38
|
|
cmp r0, 0xA
|
|
beq _08013D4E
|
|
b _08013D62
|
|
.align 2, 0
|
|
_08013D34: .4byte gUnknown_2027370
|
|
_08013D38:
|
|
ldrb r1, [r4]
|
|
adds r0, r6, 0
|
|
adds r0, 0x25
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
bge _08013D4A
|
|
adds r0, r1, 0x1
|
|
b _08013D5C
|
|
_08013D4A:
|
|
movs r0, 0
|
|
b _08013D60
|
|
_08013D4E:
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
bne _08013D5A
|
|
adds r0, r6, 0
|
|
adds r0, 0x25
|
|
ldrb r0, [r0]
|
|
_08013D5A:
|
|
subs r0, 0x1
|
|
_08013D5C:
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
_08013D60:
|
|
adds r5, r0, 0
|
|
_08013D62:
|
|
adds r4, r6, 0
|
|
adds r4, 0x24
|
|
ldrb r0, [r4]
|
|
cmp r5, r0
|
|
beq _08013D7C
|
|
strb r5, [r4]
|
|
movs r0, 0x3
|
|
bl sub_80119D4
|
|
adds r1, r6, 0
|
|
adds r1, 0x26
|
|
movs r0, 0x8
|
|
strb r0, [r1]
|
|
_08013D7C:
|
|
ldrb r0, [r4]
|
|
adds r0, 0x1
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
ldr r2, [r6, 0x1C]
|
|
subs r2, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r7, r1]
|
|
lsls r0, 3
|
|
adds r2, r0
|
|
subs r2, 0x3
|
|
ldr r0, _08013DC8
|
|
ands r2, r0
|
|
ldrh r1, [r6, 0x2A]
|
|
movs r0, 0xFE
|
|
lsls r0, 8
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strh r0, [r6, 0x2A]
|
|
movs r1, 0x2
|
|
ldrsh r0, [r7, r1]
|
|
lsls r0, 3
|
|
ldr r1, [r6, 0x20]
|
|
adds r1, r0
|
|
subs r1, 0x7
|
|
ldr r0, _08013DCC
|
|
ands r1, r0
|
|
lsls r1, 4
|
|
ldrh r2, [r6, 0x2E]
|
|
movs r0, 0xF
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strh r0, [r6, 0x2E]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08013DC8: .4byte 0x000001ff
|
|
_08013DCC: .4byte 0x00000fff
|
|
thumb_func_end sub_8013D10
|
|
|
|
thumb_func_start sub_8013DD0
|
|
sub_8013DD0:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
bl sub_8012AE8
|
|
cmp r0, 0x7
|
|
beq _08013DE4
|
|
cmp r0, 0x8
|
|
beq _08013E10
|
|
movs r0, 0
|
|
b _08013E4C
|
|
_08013DE4:
|
|
ldr r2, [r4]
|
|
ldr r0, [r4, 0xC]
|
|
cmp r2, r0
|
|
beq _08013E18
|
|
ldr r1, _08013E0C
|
|
adds r0, r4, 0
|
|
adds r0, 0x24
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r5, r2, r0
|
|
movs r0, 0x3
|
|
bl sub_80119D4
|
|
ldr r0, [r4, 0xC]
|
|
cmp r5, r0
|
|
bgt _08013E3E
|
|
b _08013E48
|
|
.align 2, 0
|
|
_08013E0C: .4byte gUnknown_80D4830
|
|
_08013E10:
|
|
ldr r2, [r4]
|
|
ldr r0, [r4, 0x8]
|
|
cmp r2, r0
|
|
bne _08013E22
|
|
_08013E18:
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
movs r0, 0
|
|
b _08013E4C
|
|
_08013E22:
|
|
ldr r1, _08013E44
|
|
adds r0, r4, 0
|
|
adds r0, 0x24
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
subs r5, r2, r0
|
|
movs r0, 0x3
|
|
bl sub_80119D4
|
|
ldr r0, [r4, 0x8]
|
|
cmp r5, r0
|
|
bge _08013E48
|
|
_08013E3E:
|
|
str r0, [r4]
|
|
b _08013E4A
|
|
.align 2, 0
|
|
_08013E44: .4byte gUnknown_80D4830
|
|
_08013E48:
|
|
str r5, [r4]
|
|
_08013E4A:
|
|
movs r0, 0x1
|
|
_08013E4C:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8013DD0
|
|
|
|
thumb_func_start sub_8013E54
|
|
sub_8013E54:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
ldr r6, _08013F60
|
|
movs r0, 0
|
|
movs r1, 0
|
|
str r0, [sp]
|
|
str r1, [sp, 0x4]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
ldr r1, _08013F64
|
|
ands r1, r0
|
|
ldr r3, _08013F68
|
|
ldr r0, [sp]
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
str r0, [sp]
|
|
mov r1, sp
|
|
ldrh r1, [r1]
|
|
adds r2, r3, 0
|
|
ands r2, r0
|
|
orrs r2, r1
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r0, _08013F6C
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
adds r2, r3, 0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r5, _08013F70
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
adds r2, r3, 0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r0, _08013F74
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
adds r2, r3, 0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r0, _08013F78
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
adds r2, r3, 0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
str r2, [sp]
|
|
movs r4, 0x80
|
|
lsls r4, 7
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r0, _08013F7C
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
orrs r4, r0
|
|
ands r3, r1
|
|
orrs r3, r4
|
|
str r3, [sp]
|
|
mov r3, sp
|
|
movs r2, 0xFC
|
|
lsls r2, 2
|
|
ldrh r1, [r3, 0x4]
|
|
movs r0, 0xFC
|
|
lsls r0, 8
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
ands r0, r5
|
|
movs r2, 0xF
|
|
movs r1, 0xF0
|
|
lsls r1, 8
|
|
ldr r4, _08013F80
|
|
ands r0, r4
|
|
orrs r0, r1
|
|
strh r0, [r3, 0x4]
|
|
movs r1, 0x2
|
|
ldrsh r0, [r6, r1]
|
|
lsls r0, 3
|
|
adds r0, 0x80
|
|
ands r0, r4
|
|
lsls r0, 4
|
|
ldrh r1, [r3, 0x6]
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
strh r2, [r3, 0x6]
|
|
movs r0, 0x70
|
|
strh r0, [r3, 0x2]
|
|
movs r1, 0x80
|
|
lsls r1, 1
|
|
mov r0, sp
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl AddSprite
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08013F60: .4byte gUnknown_2027370
|
|
_08013F64: .4byte 0x0000feff
|
|
_08013F68: .4byte 0xffff0000
|
|
_08013F6C: .4byte 0x0000fdff
|
|
_08013F70: .4byte 0x0000f3ff
|
|
_08013F74: .4byte 0x0000efff
|
|
_08013F78: .4byte 0x0000dfff
|
|
_08013F7C: .4byte 0x00003fff
|
|
_08013F80: .4byte 0x00000fff
|
|
thumb_func_end sub_8013E54
|
|
|
|
thumb_func_start sub_8013F84
|
|
sub_8013F84:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
ldr r6, _08014090
|
|
movs r0, 0
|
|
movs r1, 0
|
|
str r0, [sp]
|
|
str r1, [sp, 0x4]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
ldr r1, _08014094
|
|
ands r1, r0
|
|
ldr r3, _08014098
|
|
ldr r0, [sp]
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
str r0, [sp]
|
|
mov r1, sp
|
|
ldrh r1, [r1]
|
|
adds r2, r3, 0
|
|
ands r2, r0
|
|
orrs r2, r1
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r0, _0801409C
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
adds r2, r3, 0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r5, _080140A0
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
adds r2, r3, 0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r0, _080140A4
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
adds r2, r3, 0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
str r2, [sp]
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r0, _080140A8
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
adds r2, r3, 0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
str r2, [sp]
|
|
movs r4, 0x80
|
|
lsls r4, 7
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldr r0, _080140AC
|
|
ands r0, r1
|
|
adds r1, r3, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
orrs r4, r0
|
|
ands r3, r1
|
|
orrs r3, r4
|
|
str r3, [sp]
|
|
mov r3, sp
|
|
movs r2, 0xFC
|
|
lsls r2, 2
|
|
ldrh r1, [r3, 0x4]
|
|
movs r0, 0xFC
|
|
lsls r0, 8
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
ands r0, r5
|
|
movs r2, 0xF
|
|
movs r1, 0xF0
|
|
lsls r1, 8
|
|
ldr r4, _080140B0
|
|
ands r0, r4
|
|
orrs r0, r1
|
|
strh r0, [r3, 0x4]
|
|
movs r1, 0x2
|
|
ldrsh r0, [r6, r1]
|
|
lsls r0, 3
|
|
adds r0, 0x60
|
|
ands r0, r4
|
|
lsls r0, 4
|
|
ldrh r1, [r3, 0x6]
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
strh r2, [r3, 0x6]
|
|
movs r0, 0x70
|
|
strh r0, [r3, 0x2]
|
|
movs r1, 0x80
|
|
lsls r1, 1
|
|
mov r0, sp
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl AddSprite
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08014090: .4byte gUnknown_2027370
|
|
_08014094: .4byte 0x0000feff
|
|
_08014098: .4byte 0xffff0000
|
|
_0801409C: .4byte 0x0000fdff
|
|
_080140A0: .4byte 0x0000f3ff
|
|
_080140A4: .4byte 0x0000efff
|
|
_080140A8: .4byte 0x0000dfff
|
|
_080140AC: .4byte 0x00003fff
|
|
_080140B0: .4byte 0x00000fff
|
|
thumb_func_end sub_8013F84
|
|
|
|
thumb_func_start sub_80140B4
|
|
sub_80140B4:
|
|
push {r4-r7,lr}
|
|
ldr r4, _080140D8
|
|
adds r2, r0, 0
|
|
movs r3, 0x3
|
|
_080140BC:
|
|
adds r1, r2, 0
|
|
adds r0, r4, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
adds r4, 0x18
|
|
adds r2, 0x18
|
|
subs r3, 0x1
|
|
cmp r3, 0
|
|
bge _080140BC
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080140D8: .4byte gUnknown_80D47C8
|
|
thumb_func_end sub_80140B4
|
|
|
|
thumb_func_start sub_80140DC
|
|
sub_80140DC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
ldr r0, _080140F4
|
|
str r0, [sp]
|
|
mov r0, sp
|
|
bl SetSavingIconCoords
|
|
bl sub_8011830
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080140F4: .4byte 0x008000c8
|
|
thumb_func_end sub_80140DC
|
|
|
|
thumb_func_start sub_80140F8
|
|
sub_80140F8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
ldr r0, _08014110
|
|
str r0, [sp]
|
|
mov r0, sp
|
|
bl SetSavingIconCoords
|
|
bl sub_8011830
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08014110: .4byte 0x004000bc
|
|
thumb_func_end sub_80140F8
|
|
|
|
thumb_func_start sub_8014114
|
|
sub_8014114:
|
|
push {lr}
|
|
bl sub_8011854
|
|
movs r0, 0
|
|
bl SetSavingIconCoords
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8014114
|
|
|
|
thumb_func_start nullsub_201
|
|
nullsub_201:
|
|
bx lr
|
|
thumb_func_end nullsub_201
|
|
|
|
thumb_func_start sub_8014128
|
|
sub_8014128:
|
|
push {lr}
|
|
bl sub_8012AE8
|
|
cmp r0, 0x2
|
|
beq _08014136
|
|
movs r0, 0x1
|
|
b _08014138
|
|
_08014136:
|
|
movs r0, 0
|
|
_08014138:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8014128
|
|
|
|
thumb_func_start sub_801413C
|
|
sub_801413C:
|
|
movs r0, 0
|
|
bx lr
|
|
thumb_func_end sub_801413C
|
|
|
|
thumb_func_start sub_8014140
|
|
sub_8014140:
|
|
movs r0, 0
|
|
bx lr
|
|
thumb_func_end sub_8014140
|
|
|
|
thumb_func_start sub_8014144
|
|
sub_8014144:
|
|
ldr r0, _0801415C
|
|
movs r2, 0
|
|
str r2, [r0]
|
|
ldr r0, _08014160
|
|
movs r1, 0x3C
|
|
str r1, [r0]
|
|
ldr r0, _08014164
|
|
str r1, [r0]
|
|
ldr r0, _08014168
|
|
str r2, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0801415C: .4byte gUnknown_202E744
|
|
_08014160: .4byte gUnknown_202E738
|
|
_08014164: .4byte gUnknown_202E73C
|
|
_08014168: .4byte gUnknown_202E740
|
|
thumb_func_end sub_8014144
|
|
|
|
thumb_func_start sub_801416C
|
|
sub_801416C:
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
adds r3, r1, 0
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r2, r0
|
|
bge _0801418C
|
|
ldr r0, _08014184
|
|
str r3, [r0]
|
|
ldr r1, _08014188
|
|
negs r0, r2
|
|
b _08014194
|
|
.align 2, 0
|
|
_08014184: .4byte gUnknown_202E738
|
|
_08014188: .4byte gUnknown_202E740
|
|
_0801418C:
|
|
ldr r0, _080141A8
|
|
str r2, [r0]
|
|
ldr r1, _080141AC
|
|
movs r0, 0
|
|
_08014194:
|
|
str r0, [r1]
|
|
ldr r0, _080141B0
|
|
adds r1, r3, 0
|
|
cmp r1, 0
|
|
bge _080141A0
|
|
movs r1, 0
|
|
_080141A0:
|
|
str r1, [r0]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080141A8: .4byte gUnknown_202E738
|
|
_080141AC: .4byte gUnknown_202E740
|
|
_080141B0: .4byte gUnknown_202E73C
|
|
thumb_func_end sub_801416C
|
|
|
|
thumb_func_start sub_80141B4
|
|
sub_80141B4:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x14
|
|
lsls r3, 16
|
|
lsrs r3, 16
|
|
movs r6, 0x1
|
|
negs r6, r6
|
|
movs r5, 0
|
|
str r5, [sp]
|
|
movs r4, 0x3
|
|
str r4, [sp, 0x4]
|
|
str r5, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
str r3, [sp, 0x10]
|
|
adds r2, r6, 0
|
|
movs r3, 0
|
|
bl sub_8014248
|
|
add sp, 0x14
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80141B4
|
|
|
|
thumb_func_start sub_80141E0
|
|
sub_80141E0:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x14
|
|
lsls r6, r2, 16
|
|
movs r2, 0x1
|
|
negs r2, r2
|
|
ldr r3, _08014210
|
|
movs r5, 0
|
|
str r5, [sp]
|
|
movs r4, 0x3
|
|
str r4, [sp, 0x4]
|
|
str r5, [sp, 0x8]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC0
|
|
lsls r1, 18
|
|
orrs r1, r6
|
|
lsrs r1, 16
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
bl sub_8014248
|
|
add sp, 0x14
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08014210: .4byte gUnknown_80D485C
|
|
thumb_func_end sub_80141E0
|
|
|
|
thumb_func_start sub_8014214
|
|
sub_8014214:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x14
|
|
lsls r6, r2, 16
|
|
movs r2, 0x1
|
|
negs r2, r2
|
|
ldr r3, _08014244
|
|
movs r5, 0
|
|
str r5, [sp]
|
|
movs r4, 0x3
|
|
str r4, [sp, 0x4]
|
|
str r5, [sp, 0x8]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC0
|
|
lsls r1, 18
|
|
orrs r1, r6
|
|
lsrs r1, 16
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
bl sub_8014248
|
|
add sp, 0x14
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08014244: .4byte gUnknown_80D4880
|
|
thumb_func_end sub_8014214
|
|
|
|
thumb_func_start sub_8014248
|
|
sub_8014248:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
adds r6, r1, 0
|
|
mov r9, r2
|
|
mov r8, r3
|
|
ldr r5, [sp, 0x28]
|
|
ldr r7, [sp, 0x30]
|
|
ldr r1, [sp, 0x34]
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
mov r10, r1
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
ldr r4, _080142B8
|
|
ldr r3, _080142BC
|
|
adds r2, r4, r3
|
|
adds r1, r4, 0
|
|
mov r3, r10
|
|
bl xxx_format_string
|
|
ldr r0, _080142C0
|
|
str r4, [r0]
|
|
ldr r0, _080142C4
|
|
str r6, [r0, 0x24]
|
|
ldr r0, _080142C8
|
|
str r5, [r0]
|
|
ldr r0, _080142CC
|
|
mov r4, r8
|
|
str r4, [r0]
|
|
ldr r0, _080142D0
|
|
ldr r5, [sp, 0x24]
|
|
str r5, [r0]
|
|
ldr r0, _080142D4
|
|
mov r6, r9
|
|
str r6, [r0]
|
|
ldr r0, _080142D8
|
|
bl sub_801317C
|
|
movs r0, 0x10
|
|
mov r1, r10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080142E4
|
|
ldr r2, _080142DC
|
|
adds r1, r2, 0
|
|
ldr r0, _080142E0
|
|
ldm r0!, {r3-r5}
|
|
stm r1!, {r3-r5}
|
|
ldm r0!, {r3,r4,r6}
|
|
stm r1!, {r3,r4,r6}
|
|
b _080142F2
|
|
.align 2, 0
|
|
_080142B8: .4byte gUnknown_202E798
|
|
_080142BC: .4byte 0x000003e7
|
|
_080142C0: .4byte gUnknown_202E794
|
|
_080142C4: .4byte gUnknown_202E748
|
|
_080142C8: .4byte gUnknown_202EC10
|
|
_080142CC: .4byte gUnknown_202EC14
|
|
_080142D0: .4byte gUnknown_202EC18
|
|
_080142D4: .4byte gUnknown_202EC1C
|
|
_080142D8: .4byte gUnknown_202EC28
|
|
_080142DC: .4byte gUnknown_203B198
|
|
_080142E0: .4byte gUnknown_80D48DC
|
|
_080142E4:
|
|
ldr r2, _08014358
|
|
adds r1, r2, 0
|
|
ldr r0, _0801435C
|
|
ldm r0!, {r3,r5,r6}
|
|
stm r1!, {r3,r5,r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
_080142F2:
|
|
adds r4, r2, 0
|
|
movs r0, 0
|
|
strh r0, [r4, 0x24]
|
|
strh r0, [r4, 0x26]
|
|
strh r0, [r4, 0x28]
|
|
movs r0, 0x40
|
|
strb r0, [r4, 0x18]
|
|
cmp r7, 0
|
|
beq _08014368
|
|
ldr r1, [r7, 0x4]
|
|
cmp r1, 0
|
|
beq _08014368
|
|
ldrb r0, [r7, 0xC]
|
|
lsls r0, 3
|
|
adds r1, 0x4
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
beq _08014368
|
|
ldrh r0, [r7, 0x8]
|
|
strh r0, [r4, 0x20]
|
|
ldrh r0, [r7, 0xA]
|
|
strh r0, [r4, 0x22]
|
|
movs r0, 0x5
|
|
strh r0, [r4, 0x24]
|
|
strh r0, [r4, 0x26]
|
|
strh r0, [r4, 0x28]
|
|
movs r4, 0
|
|
_0801432A:
|
|
adds r0, r4, 0
|
|
adds r0, 0xE0
|
|
ldr r2, [r7, 0x4]
|
|
ldrb r1, [r7, 0xC]
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
lsls r3, r4, 2
|
|
ldr r1, [r2]
|
|
adds r1, r3
|
|
bl SetBGPaletteBufferColorArray
|
|
adds r4, 0x1
|
|
cmp r4, 0xF
|
|
ble _0801432A
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
ldrb r0, [r7, 0xE]
|
|
cmp r0, 0
|
|
beq _08014360
|
|
ldr r1, _08014358
|
|
movs r0, 0x7
|
|
b _08014364
|
|
.align 2, 0
|
|
_08014358: .4byte gUnknown_203B198
|
|
_0801435C: .4byte gUnknown_80D48C4
|
|
_08014360:
|
|
ldr r1, _080143E8
|
|
movs r0, 0x5
|
|
_08014364:
|
|
str r0, [r1, 0x1C]
|
|
adds r4, r1, 0
|
|
_08014368:
|
|
ldr r2, _080143EC
|
|
adds r1, r4, 0
|
|
adds r1, 0x30
|
|
adds r0, r2, 0
|
|
ldm r0!, {r3,r5,r6}
|
|
stm r1!, {r3,r5,r6}
|
|
ldm r0!, {r3,r5,r6}
|
|
stm r1!, {r3,r5,r6}
|
|
adds r0, r4, 0
|
|
adds r0, 0x48
|
|
ldm r2!, {r1,r3,r5}
|
|
stm r0!, {r1,r3,r5}
|
|
ldm r2!, {r1,r3,r6}
|
|
stm r0!, {r1,r3,r6}
|
|
bl sub_8004914
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r1, _080143F0
|
|
movs r4, 0
|
|
movs r2, 0
|
|
movs r0, 0x4
|
|
strh r0, [r1]
|
|
strh r0, [r1, 0x2]
|
|
movs r0, 0x70
|
|
strh r0, [r1, 0x8]
|
|
ldr r0, _080143F4
|
|
movs r5, 0x2
|
|
ldrsh r0, [r0, r5]
|
|
lsls r0, 3
|
|
adds r0, 0x22
|
|
strh r0, [r1, 0xA]
|
|
movs r0, 0x7
|
|
str r0, [r1, 0x10]
|
|
str r2, [r1, 0x1C]
|
|
adds r1, 0x20
|
|
strb r4, [r1]
|
|
movs r0, 0x10
|
|
mov r6, r10
|
|
ands r0, r6
|
|
movs r1, 0x3
|
|
cmp r0, 0
|
|
beq _080143C6
|
|
movs r1, 0x8
|
|
_080143C6:
|
|
adds r0, r1, 0
|
|
bl sub_80063D8
|
|
ldr r0, _080143F8
|
|
movs r1, 0x1
|
|
str r1, [r0]
|
|
ldr r0, _080143FC
|
|
mov r2, r10
|
|
strh r2, [r0]
|
|
movs r0, 0x20
|
|
mov r3, r10
|
|
ands r0, r3
|
|
cmp r0, 0
|
|
beq _08014404
|
|
ldr r0, _08014400
|
|
strb r1, [r0]
|
|
b _08014408
|
|
.align 2, 0
|
|
_080143E8: .4byte gUnknown_203B198
|
|
_080143EC: .4byte gUnknown_80D48AC
|
|
_080143F0: .4byte gUnknown_202E748
|
|
_080143F4: .4byte gUnknown_2027370
|
|
_080143F8: .4byte gUnknown_202E744
|
|
_080143FC: .4byte gUnknown_202E77C
|
|
_08014400: .4byte gUnknown_202E790
|
|
_08014404:
|
|
ldr r0, _0801445C
|
|
strb r4, [r0]
|
|
_08014408:
|
|
movs r0, 0x80
|
|
lsls r0, 3
|
|
mov r4, r10
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _08014418
|
|
bl sub_8094C14
|
|
_08014418:
|
|
ldr r0, _08014460
|
|
movs r1, 0x1
|
|
str r1, [r0]
|
|
ldr r0, _08014464
|
|
str r1, [r0]
|
|
bl sub_80048F8
|
|
ldr r1, _08014468
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
ldr r1, _0801446C
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
ldr r5, [sp]
|
|
cmp r5, 0
|
|
beq _08014480
|
|
ldr r0, [r7, 0x4]
|
|
ldrb r1, [r7, 0xC]
|
|
lsls r1, 3
|
|
adds r0, 0x4
|
|
adds r0, r1
|
|
ldr r4, [r0]
|
|
movs r0, 0x1
|
|
bl sub_80073B8
|
|
ldrb r0, [r7, 0xD]
|
|
cmp r0, 0
|
|
bne _08014470
|
|
movs r0, 0x1
|
|
adds r1, r4, 0
|
|
movs r2, 0xE
|
|
bl sub_8008274
|
|
b _0801447A
|
|
.align 2, 0
|
|
_0801445C: .4byte gUnknown_202E790
|
|
_08014460: .4byte gUnknown_202E788
|
|
_08014464: .4byte gUnknown_202E78C
|
|
_08014468: .4byte gUnknown_202E791
|
|
_0801446C: .4byte gUnknown_202E784
|
|
_08014470:
|
|
movs r0, 0x1
|
|
adds r1, r4, 0
|
|
movs r2, 0xE
|
|
bl sub_800836C
|
|
_0801447A:
|
|
movs r0, 0x1
|
|
bl sub_80073E0
|
|
_08014480:
|
|
add sp, 0x4
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8014248
|
|
|
|
thumb_func_start sub_8014490
|
|
sub_8014490:
|
|
ldr r0, _0801449C
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
ldr r0, _080144A0
|
|
str r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0801449C: .4byte gUnknown_202E744
|
|
_080144A0: .4byte gUnknown_202EC1C
|
|
thumb_func_end sub_8014490
|
|
|
|
thumb_func_start sub_80144A4
|
|
sub_80144A4:
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
cmp r1, 0
|
|
beq _080144B2
|
|
ldr r0, _080144BC
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
_080144B2:
|
|
ldr r0, _080144C0
|
|
ldr r0, [r0]
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080144BC: .4byte gUnknown_202EC1C
|
|
_080144C0: .4byte gUnknown_202E744
|
|
thumb_func_end sub_80144A4
|
|
|
|
thumb_func_start xxx_draw_string_80144C4
|
|
xxx_draw_string_80144C4:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x8
|
|
movs r0, 0x1
|
|
mov r10, r0
|
|
ldr r1, _080144F4
|
|
ldr r0, [r1]
|
|
adds r0, 0x1
|
|
str r0, [r1]
|
|
_080144DC:
|
|
ldr r0, _080144F8
|
|
ldr r1, [r0]
|
|
adds r3, r0, 0
|
|
cmp r1, 0xB
|
|
bls _080144E8
|
|
b _08014A6A
|
|
_080144E8:
|
|
lsls r0, r1, 2
|
|
ldr r1, _080144FC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080144F4: .4byte gUnknown_202E784
|
|
_080144F8: .4byte gUnknown_202E744
|
|
_080144FC: .4byte _08014500
|
|
.align 2, 0
|
|
_08014500:
|
|
.4byte _08014A72
|
|
.4byte _08014530
|
|
.4byte _08014708
|
|
.4byte _08014A38
|
|
.4byte _08014A48
|
|
.4byte _08014A60
|
|
.4byte _08014778
|
|
.4byte _080147E2
|
|
.4byte _080147E2
|
|
.4byte _080147E2
|
|
.4byte _080149D8
|
|
.4byte _08014A04
|
|
_08014530:
|
|
ldr r0, _08014540
|
|
ldr r6, [r0]
|
|
ldr r0, _08014544
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0801457C
|
|
ldr r7, _08014548
|
|
b _08014580
|
|
.align 2, 0
|
|
_08014540: .4byte gUnknown_202E794
|
|
_08014544: .4byte gUnknown_202E790
|
|
_08014548: .4byte 0x0001869f
|
|
_0801454C:
|
|
str r2, [r3, 0x1C]
|
|
adds r1, r3, 0
|
|
adds r1, 0x20
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldr r1, _0801456C
|
|
movs r0, 0x8
|
|
str r0, [r1]
|
|
ldr r0, _08014570
|
|
strb r2, [r0]
|
|
ldr r1, _08014574
|
|
ldr r0, _08014578
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
b _0801466C
|
|
.align 2, 0
|
|
_0801456C: .4byte gUnknown_202E744
|
|
_08014570: .4byte gUnknown_202E791
|
|
_08014574: .4byte gUnknown_202E780
|
|
_08014578: .4byte gUnknown_202E738
|
|
_0801457C:
|
|
ldr r0, _08014594
|
|
ldr r7, [r0]
|
|
_08014580:
|
|
ldr r1, _08014598
|
|
movs r0, 0
|
|
str r0, [r1, 0x2C]
|
|
bl sub_80073B8
|
|
ldr r1, _0801459C
|
|
mov r8, r1
|
|
ldr r2, _080145A0
|
|
mov r9, r2
|
|
b _08014652
|
|
.align 2, 0
|
|
_08014594: .4byte gUnknown_202E788
|
|
_08014598: .4byte gUnknown_202E748
|
|
_0801459C: .4byte gUnknown_202E744
|
|
_080145A0: .4byte gUnknown_202E780
|
|
_080145A4:
|
|
adds r0, r4, 0
|
|
adds r0, 0x20
|
|
ldrb r5, [r0]
|
|
cmp r5, 0
|
|
beq _080145EC
|
|
movs r3, 0x2
|
|
ldrsh r0, [r4, r3]
|
|
cmp r0, 0x22
|
|
ble _080145CC
|
|
movs r0, 0x8
|
|
mov r4, r8
|
|
str r0, [r4]
|
|
ldr r0, _080145C8
|
|
ldr r0, [r0]
|
|
mov r1, r9
|
|
str r0, [r1]
|
|
b _080145DA
|
|
.align 2, 0
|
|
_080145C8: .4byte gUnknown_202E738
|
|
_080145CC:
|
|
movs r0, 0x7
|
|
mov r2, r8
|
|
str r0, [r2]
|
|
ldr r0, _080145E4
|
|
ldr r0, [r0]
|
|
mov r3, r9
|
|
str r0, [r3]
|
|
_080145DA:
|
|
ldr r1, _080145E8
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
b _0801466C
|
|
.align 2, 0
|
|
_080145E4: .4byte gUnknown_202E73C
|
|
_080145E8: .4byte gUnknown_202E791
|
|
_080145EC:
|
|
ldrb r0, [r6]
|
|
cmp r0, 0
|
|
beq _0801466C
|
|
cmp r0, 0xD
|
|
beq _080145FA
|
|
cmp r0, 0xA
|
|
bne _08014608
|
|
_080145FA:
|
|
movs r0, 0x4
|
|
strh r0, [r4]
|
|
ldrh r0, [r4, 0x2]
|
|
adds r0, 0xB
|
|
strh r0, [r4, 0x2]
|
|
adds r6, 0x1
|
|
b _08014630
|
|
_08014608:
|
|
adds r0, r6, 0
|
|
add r1, sp, 0x4
|
|
bl xxx_get_next_char_from_string
|
|
adds r6, r0, 0
|
|
movs r1, 0
|
|
ldrsh r0, [r4, r1]
|
|
movs r2, 0x2
|
|
ldrsh r1, [r4, r2]
|
|
ldr r2, [sp, 0x4]
|
|
ldr r3, [r4, 0x10]
|
|
str r5, [sp]
|
|
bl xxx_call_draw_char
|
|
ldrh r1, [r4]
|
|
adds r1, r0
|
|
strh r1, [r4]
|
|
ldr r0, _08014694
|
|
ldr r0, [r0]
|
|
str r0, [r4, 0x2C]
|
|
_08014630:
|
|
ldr r3, _08014698
|
|
movs r4, 0x2
|
|
ldrsh r0, [r3, r4]
|
|
cmp r0, 0x22
|
|
ble _08014650
|
|
ldr r0, _0801469C
|
|
ldrh r1, [r0]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0
|
|
bne _0801464C
|
|
b _0801454C
|
|
_0801464C:
|
|
movs r0, 0x4
|
|
strh r0, [r3, 0x2]
|
|
_08014650:
|
|
subs r7, 0x1
|
|
_08014652:
|
|
cmp r7, 0
|
|
ble _0801466C
|
|
ldr r4, _08014698
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
bl sub_8009190
|
|
adds r6, r0, 0
|
|
adds r0, r4, 0
|
|
adds r0, 0x21
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080145A4
|
|
_0801466C:
|
|
movs r0, 0
|
|
bl sub_80073E0
|
|
ldr r4, _080146A0
|
|
str r6, [r4]
|
|
ldr r0, _080146A4
|
|
bl sub_801317C
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080146BC
|
|
ldr r0, _080146A8
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _080146B0
|
|
ldr r1, _080146AC
|
|
movs r0, 0x3
|
|
str r0, [r1]
|
|
b _08014A72
|
|
.align 2, 0
|
|
_08014694: .4byte gUnknown_202E78C
|
|
_08014698: .4byte gUnknown_202E748
|
|
_0801469C: .4byte gUnknown_202E77C
|
|
_080146A0: .4byte gUnknown_202E794
|
|
_080146A4: .4byte gUnknown_202EC28
|
|
_080146A8: .4byte gUnknown_202EC14
|
|
_080146AC: .4byte gUnknown_202E744
|
|
_080146B0:
|
|
ldr r1, _080146B8
|
|
movs r0, 0x6
|
|
str r0, [r1]
|
|
b _08014A72
|
|
.align 2, 0
|
|
_080146B8: .4byte gUnknown_202E744
|
|
_080146BC:
|
|
ldr r0, _080146E8
|
|
movs r2, 0
|
|
str r2, [r0, 0x30]
|
|
adds r0, 0x20
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080146FC
|
|
ldr r1, _080146EC
|
|
ldr r0, [r1]
|
|
cmp r0, 0x1
|
|
beq _080146D4
|
|
b _08014A72
|
|
_080146D4:
|
|
movs r0, 0x7
|
|
str r0, [r1]
|
|
ldr r0, _080146F0
|
|
strb r2, [r0]
|
|
ldr r1, _080146F4
|
|
ldr r0, _080146F8
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
b _08014A72
|
|
.align 2, 0
|
|
_080146E8: .4byte gUnknown_202E748
|
|
_080146EC: .4byte gUnknown_202E744
|
|
_080146F0: .4byte gUnknown_202E791
|
|
_080146F4: .4byte gUnknown_202E780
|
|
_080146F8: .4byte gUnknown_202E738
|
|
_080146FC:
|
|
ldr r1, _08014704
|
|
movs r0, 0x2
|
|
b _08014A68
|
|
.align 2, 0
|
|
_08014704: .4byte gUnknown_202E744
|
|
_08014708:
|
|
ldr r4, _08014760
|
|
ldrh r1, [r4]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08014718
|
|
bl sub_8011A04
|
|
_08014718:
|
|
ldrh r1, [r4]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
ldr r2, _08014764
|
|
cmp r0, 0
|
|
bne _08014742
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08014742
|
|
ldr r0, _08014768
|
|
ldrh r1, [r0, 0x2]
|
|
movs r0, 0x3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08014742
|
|
ldr r0, _0801476C
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, _08014770
|
|
str r0, [r2, 0x30]
|
|
_08014742:
|
|
ldr r1, [r2, 0x30]
|
|
adds r1, 0x1
|
|
str r1, [r2, 0x30]
|
|
ldr r0, [r2, 0x2C]
|
|
cmp r1, r0
|
|
bgt _08014750
|
|
b _08014A72
|
|
_08014750:
|
|
ldr r1, _08014774
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
adds r1, r2, 0
|
|
adds r1, 0x21
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
b _08014A6A
|
|
.align 2, 0
|
|
_08014760: .4byte gUnknown_202E77C
|
|
_08014764: .4byte gUnknown_202E748
|
|
_08014768: .4byte gUnknown_20255F0
|
|
_0801476C: .4byte gUnknown_202E790
|
|
_08014770: .4byte 0x0001869f
|
|
_08014774: .4byte gUnknown_202E744
|
|
_08014778:
|
|
ldr r0, _080147B4
|
|
ldrh r1, [r0]
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080147DC
|
|
movs r0, 0x9
|
|
str r0, [r3]
|
|
ldr r1, _080147B8
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
ldr r0, _080147BC
|
|
ldr r1, [r0]
|
|
cmp r1, 0
|
|
ble _080147C8
|
|
ldr r2, _080147C0
|
|
ldr r0, _080147C4
|
|
ldr r0, [r0]
|
|
subs r0, r1, r0
|
|
str r0, [r2]
|
|
cmp r0, 0
|
|
blt _080147A8
|
|
b _08014A6A
|
|
_080147A8:
|
|
movs r0, 0xB
|
|
str r0, [r3]
|
|
movs r0, 0
|
|
str r0, [r2]
|
|
b _08014A6A
|
|
.align 2, 0
|
|
_080147B4: .4byte gUnknown_202E77C
|
|
_080147B8: .4byte gUnknown_202E791
|
|
_080147BC: .4byte gUnknown_202E740
|
|
_080147C0: .4byte gUnknown_202E780
|
|
_080147C4: .4byte gUnknown_202E784
|
|
_080147C8:
|
|
ldr r0, _080147D4
|
|
ldr r1, _080147D8
|
|
ldr r1, [r1]
|
|
str r1, [r0]
|
|
b _08014A6A
|
|
.align 2, 0
|
|
_080147D4: .4byte gUnknown_202E780
|
|
_080147D8: .4byte gUnknown_202E738
|
|
_080147DC:
|
|
movs r0, 0xB
|
|
str r0, [r3]
|
|
b _08014A6A
|
|
_080147E2:
|
|
movs r5, 0
|
|
ldr r0, _0801481C
|
|
adds r0, 0x20
|
|
strb r5, [r0]
|
|
ldr r4, _08014820
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl nullsub_34
|
|
ldr r0, _08014824
|
|
ldrh r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08014802
|
|
b _0801494C
|
|
_08014802:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0801482C
|
|
ldr r1, _08014828
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
bgt _08014814
|
|
b _0801494C
|
|
_08014814:
|
|
subs r0, 0x1
|
|
str r0, [r1]
|
|
b _08014856
|
|
.align 2, 0
|
|
_0801481C: .4byte gUnknown_202E748
|
|
_08014820: .4byte gUnknown_202EC28
|
|
_08014824: .4byte gUnknown_202E77C
|
|
_08014828: .4byte gUnknown_202E780
|
|
_0801482C:
|
|
ldr r2, _080148E4
|
|
ldrh r1, [r2, 0x2]
|
|
movs r0, 0x3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0801483A
|
|
b _0801494C
|
|
_0801483A:
|
|
ldrb r0, [r4, 0x1]
|
|
cmp r0, 0
|
|
beq _08014842
|
|
b _0801494C
|
|
_08014842:
|
|
ldrh r1, [r2]
|
|
movs r0, 0xF2
|
|
ands r0, r1
|
|
cmp r0, 0x2
|
|
bne _0801484E
|
|
b _0801494C
|
|
_0801484E:
|
|
ldrb r0, [r4, 0x5]
|
|
cmp r0, 0
|
|
beq _08014856
|
|
movs r5, 0x1
|
|
_08014856:
|
|
cmp r5, 0
|
|
bne _0801494C
|
|
ldr r1, _080148E8
|
|
ldrb r0, [r1]
|
|
adds r2, r0, 0x1
|
|
strb r2, [r1]
|
|
ldr r0, _080148EC
|
|
ldrh r7, [r0]
|
|
movs r0, 0x2
|
|
ands r0, r7
|
|
cmp r0, 0
|
|
beq _08014870
|
|
b _08014A72
|
|
_08014870:
|
|
movs r0, 0x8
|
|
ands r2, r0
|
|
cmp r2, 0
|
|
bne _0801487A
|
|
b _08014A72
|
|
_0801487A:
|
|
ldr r3, _080148F0
|
|
ldrh r1, [r3]
|
|
ldr r0, _080148F4
|
|
ands r0, r1
|
|
ldr r1, _080148F8
|
|
ands r0, r1
|
|
ldr r4, _080148FC
|
|
ands r0, r4
|
|
ldr r1, _08014900
|
|
ands r0, r1
|
|
ldr r1, _08014904
|
|
ands r0, r1
|
|
movs r1, 0x80
|
|
lsls r1, 7
|
|
ldr r2, _08014908
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strh r0, [r3]
|
|
ldrh r0, [r3, 0x2]
|
|
ldr r5, _0801490C
|
|
ands r5, r0
|
|
ands r5, r2
|
|
strh r5, [r3, 0x2]
|
|
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 r6, 0xF
|
|
lsls r1, r6, 12
|
|
ldr r2, _08014910
|
|
ands r0, r2
|
|
movs r4, 0
|
|
mov r8, r4
|
|
orrs r0, r1
|
|
strh r0, [r3, 0x4]
|
|
movs r0, 0x10
|
|
ands r0, r7
|
|
adds r4, r3, 0
|
|
cmp r0, 0
|
|
beq _08014914
|
|
movs r2, 0xF0
|
|
lsls r2, 3
|
|
ldrh r1, [r4, 0x6]
|
|
adds r0, r6, 0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strh r0, [r4, 0x6]
|
|
movs r0, 0x70
|
|
b _08014932
|
|
.align 2, 0
|
|
_080148E4: .4byte gUnknown_20255F0
|
|
_080148E8: .4byte gUnknown_202E791
|
|
_080148EC: .4byte gUnknown_202E77C
|
|
_080148F0: .4byte gUnknown_202E6E0
|
|
_080148F4: .4byte 0x0000feff
|
|
_080148F8: .4byte 0x0000fdff
|
|
_080148FC: .4byte 0x0000f3ff
|
|
_08014900: .4byte 0x0000efff
|
|
_08014904: .4byte 0x0000dfff
|
|
_08014908: .4byte 0x00003fff
|
|
_0801490C: .4byte 0x0000c1ff
|
|
_08014910: .4byte 0x00000fff
|
|
_08014914:
|
|
ldr r3, _08014944
|
|
movs r0, 0xA
|
|
ldrsh r1, [r3, r0]
|
|
adds r1, 0x1
|
|
ands r1, r2
|
|
lsls r1, 4
|
|
ldrh r2, [r4, 0x6]
|
|
adds r0, r6, 0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strh r0, [r4, 0x6]
|
|
movs r1, 0x8
|
|
ldrsh r0, [r3, r1]
|
|
ldr r1, _08014948
|
|
ands r0, r1
|
|
_08014932:
|
|
strh r0, [r4, 0x2]
|
|
movs r1, 0x80
|
|
lsls r1, 1
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl AddSprite
|
|
b _08014A72
|
|
.align 2, 0
|
|
_08014944: .4byte gUnknown_202E748
|
|
_08014948: .4byte 0x000001ff
|
|
_0801494C:
|
|
ldr r0, _08014960
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08014968
|
|
ldr r1, _08014964
|
|
movs r0, 0xB
|
|
str r0, [r1]
|
|
b _080149BA
|
|
.align 2, 0
|
|
_08014960: .4byte gUnknown_202E794
|
|
_08014964: .4byte gUnknown_202E744
|
|
_08014968:
|
|
ldr r4, _08014974
|
|
ldr r0, [r4]
|
|
cmp r0, 0x9
|
|
bne _08014978
|
|
movs r0, 0xB
|
|
b _080149B8
|
|
.align 2, 0
|
|
_08014974: .4byte gUnknown_202E744
|
|
_08014978:
|
|
cmp r0, 0x8
|
|
bne _080149B6
|
|
ldr r2, _080149A0
|
|
movs r1, 0x4
|
|
strh r1, [r2]
|
|
movs r3, 0x2
|
|
ldrsh r0, [r2, r3]
|
|
cmp r0, 0x22
|
|
ble _080149B6
|
|
strh r1, [r2, 0x2]
|
|
ldr r0, _080149A4
|
|
ldrh r1, [r0]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080149A8
|
|
_08014998:
|
|
movs r0, 0
|
|
bl sub_8008C54
|
|
b _080149B6
|
|
.align 2, 0
|
|
_080149A0: .4byte gUnknown_202E748
|
|
_080149A4: .4byte gUnknown_202E77C
|
|
_080149A8:
|
|
ldr r1, [r2, 0x1C]
|
|
cmp r1, 0
|
|
bne _08014998
|
|
movs r0, 0xA
|
|
str r0, [r4]
|
|
str r1, [r2, 0x28]
|
|
b _080149BA
|
|
_080149B6:
|
|
movs r0, 0x1
|
|
_080149B8:
|
|
str r0, [r4]
|
|
_080149BA:
|
|
ldr r1, _080149D0
|
|
movs r0, 0x70
|
|
strh r0, [r1, 0x8]
|
|
ldr r0, _080149D4
|
|
movs r4, 0x2
|
|
ldrsh r0, [r0, r4]
|
|
lsls r0, 3
|
|
adds r0, 0x22
|
|
strh r0, [r1, 0xA]
|
|
b _08014A72
|
|
.align 2, 0
|
|
_080149D0: .4byte gUnknown_202E748
|
|
_080149D4: .4byte gUnknown_2027370
|
|
_080149D8:
|
|
ldr r4, _080149F8
|
|
ldr r0, [r4, 0x28]
|
|
adds r0, 0x1
|
|
str r0, [r4, 0x28]
|
|
ldr r0, _080149FC
|
|
ldr r1, [r0]
|
|
movs r0, 0
|
|
bl _call_via_r1
|
|
ldr r0, [r4, 0x28]
|
|
cmp r0, 0x11
|
|
ble _08014A72
|
|
ldr r1, _08014A00
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
b _08014A72
|
|
.align 2, 0
|
|
_080149F8: .4byte gUnknown_202E748
|
|
_080149FC: .4byte gUnknown_203B088
|
|
_08014A00: .4byte gUnknown_202E744
|
|
_08014A04:
|
|
ldr r0, _08014A2C
|
|
ldrh r1, [r0]
|
|
movs r0, 0x80
|
|
lsls r0, 2
|
|
ands r0, r1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0
|
|
beq _08014A34
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r1, _08014A30
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
b _08014A72
|
|
.align 2, 0
|
|
_08014A2C: .4byte gUnknown_202E77C
|
|
_08014A30: .4byte gUnknown_202E744
|
|
_08014A34:
|
|
str r0, [r3]
|
|
b _08014A72
|
|
_08014A38:
|
|
bl sub_8014A88
|
|
ldr r1, _08014A44
|
|
movs r0, 0x4
|
|
str r0, [r1]
|
|
b _08014A72
|
|
.align 2, 0
|
|
_08014A44: .4byte gUnknown_202E744
|
|
_08014A48:
|
|
bl sub_8014B94
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08014A72
|
|
ldr r1, _08014A5C
|
|
movs r0, 0x5
|
|
str r0, [r1]
|
|
b _08014A72
|
|
.align 2, 0
|
|
_08014A5C: .4byte gUnknown_202E744
|
|
_08014A60:
|
|
bl nullsub_35
|
|
ldr r1, _08014A84
|
|
movs r0, 0xB
|
|
_08014A68:
|
|
str r0, [r1]
|
|
_08014A6A:
|
|
mov r0, r10
|
|
cmp r0, 0
|
|
beq _08014A72
|
|
b _080144DC
|
|
_08014A72:
|
|
add sp, 0x8
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08014A84: .4byte gUnknown_202E744
|
|
thumb_func_end xxx_draw_string_80144C4
|
|
|
|
thumb_func_start sub_8014A88
|
|
sub_8014A88:
|
|
push {r4-r7,lr}
|
|
sub sp, 0x88
|
|
ldr r0, _08014A98
|
|
ldr r4, [r0]
|
|
movs r5, 0
|
|
movs r7, 0
|
|
movs r6, 0
|
|
b _08014ABE
|
|
.align 2, 0
|
|
_08014A98: .4byte gUnknown_202EC14
|
|
_08014A9C:
|
|
adds r5, 0xC
|
|
ldr r0, [r4]
|
|
add r1, sp, 0x8
|
|
add r2, sp, 0x88
|
|
movs r3, 0
|
|
bl xxx_format_string
|
|
add r0, sp, 0x8
|
|
bl sub_8008ED0
|
|
cmp r7, r0
|
|
bge _08014AB6
|
|
adds r7, r0, 0
|
|
_08014AB6:
|
|
adds r4, 0x8
|
|
adds r6, 0x1
|
|
cmp r6, 0x9
|
|
bgt _08014AC4
|
|
_08014ABE:
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
bne _08014A9C
|
|
_08014AC4:
|
|
adds r0, r5, 0
|
|
cmp r5, 0
|
|
bge _08014ACC
|
|
adds r0, r5, 0x7
|
|
_08014ACC:
|
|
asrs r2, r0, 3
|
|
movs r0, 0x7
|
|
ands r5, r0
|
|
cmp r5, 0
|
|
beq _08014AD8
|
|
adds r2, 0x1
|
|
_08014AD8:
|
|
ldr r4, _08014B74
|
|
ldr r0, _08014B78
|
|
ldr r0, [r0]
|
|
str r0, [r4, 0x34]
|
|
adds r1, r7, 0
|
|
cmp r1, 0
|
|
bge _08014AE8
|
|
adds r1, 0x7
|
|
_08014AE8:
|
|
asrs r1, 3
|
|
adds r1, 0x2
|
|
strh r1, [r4, 0x3C]
|
|
adds r0, r4, 0
|
|
adds r0, 0x40
|
|
strh r2, [r0]
|
|
strh r2, [r4, 0x3E]
|
|
movs r0, 0x1C
|
|
subs r0, r1
|
|
strh r0, [r4, 0x38]
|
|
movs r0, 0xE
|
|
subs r0, r2
|
|
strh r0, [r4, 0x3A]
|
|
movs r0, 0x80
|
|
strb r0, [r4]
|
|
movs r0, 0xC0
|
|
strb r0, [r4, 0x18]
|
|
ldr r5, _08014B7C
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
beq _08014B1E
|
|
adds r1, r4, 0
|
|
adds r1, 0x48
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
_08014B1E:
|
|
bl sub_8004914
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
ldr r0, _08014B80
|
|
ldr r1, _08014B84
|
|
ldr r1, [r1]
|
|
ldr r2, _08014B88
|
|
ldr r3, _08014B8C
|
|
ldr r3, [r3]
|
|
ldr r4, _08014B90
|
|
ldr r4, [r4]
|
|
str r4, [sp]
|
|
movs r4, 0x2
|
|
str r4, [sp, 0x4]
|
|
bl sub_8012D60
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
beq _08014B6A
|
|
movs r0, 0x3
|
|
bl sub_80073B8
|
|
ldr r0, [r5]
|
|
ldr r2, [r0, 0x18]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x4
|
|
movs r1, 0x2
|
|
movs r3, 0x3
|
|
bl xxx_call_draw_string
|
|
movs r0, 0x3
|
|
bl sub_80073E0
|
|
_08014B6A:
|
|
add sp, 0x88
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08014B74: .4byte gUnknown_203B198
|
|
_08014B78: .4byte gUnknown_202EC10
|
|
_08014B7C: .4byte gUnknown_202EC20
|
|
_08014B80: .4byte gUnknown_202EBC0
|
|
_08014B84: .4byte gUnknown_202EC14
|
|
_08014B88: .4byte gUnknown_80D48A0
|
|
_08014B8C: .4byte gUnknown_202EC18
|
|
_08014B90: .4byte gUnknown_202EC1C
|
|
thumb_func_end sub_8014A88
|
|
|
|
thumb_func_start sub_8014B94
|
|
sub_8014B94:
|
|
push {r4,lr}
|
|
ldr r4, _08014BA8
|
|
adds r0, r4, 0
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08014BAC
|
|
movs r0, 0
|
|
b _08014BB6
|
|
.align 2, 0
|
|
_08014BA8: .4byte gUnknown_202EBC0
|
|
_08014BAC:
|
|
ldr r1, _08014BBC
|
|
adds r0, r4, 0
|
|
bl sub_8013114
|
|
movs r0, 0x1
|
|
_08014BB6:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08014BBC: .4byte gUnknown_202EC1C
|
|
thumb_func_end sub_8014B94
|
|
|
|
thumb_func_start nullsub_35
|
|
nullsub_35:
|
|
bx lr
|
|
thumb_func_end nullsub_35
|
|
|
|
thumb_func_start xxx_format_string
|
|
xxx_format_string:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x40
|
|
adds r5, r0, 0
|
|
str r1, [sp, 0x3C]
|
|
adds r7, r2, 0
|
|
lsls r3, 16
|
|
lsrs r3, 16
|
|
mov r8, r3
|
|
movs r0, 0x1
|
|
mov r10, r0
|
|
mov r9, r0
|
|
subs r7, 0x1
|
|
b _08014F62
|
|
_08014BE6:
|
|
movs r1, 0x1
|
|
b _08014C2C
|
|
_08014BEA:
|
|
mov r0, r10
|
|
cmp r0, 0
|
|
beq _08014C24
|
|
movs r1, 0
|
|
mov r10, r1
|
|
mov r9, r1
|
|
movs r0, 0x8
|
|
mov r1, r8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08014C2E
|
|
ldr r0, _08014C1C
|
|
add r4, sp, 0x3C
|
|
adds r1, r4, 0
|
|
adds r2, r7, 0
|
|
mov r3, r8
|
|
bl sub_8014FA8
|
|
ldr r0, _08014C20
|
|
adds r1, r4, 0
|
|
adds r2, r7, 0
|
|
mov r3, r8
|
|
bl sub_8014FA8
|
|
b _08014C2E
|
|
.align 2, 0
|
|
_08014C1C: .4byte gUnknown_202E5D8
|
|
_08014C20: .4byte gUnknown_80D48F4
|
|
_08014C24:
|
|
mov r0, r9
|
|
cmp r0, 0
|
|
beq _08014C2E
|
|
movs r1, 0
|
|
_08014C2C:
|
|
mov r9, r1
|
|
_08014C2E:
|
|
cmp r6, 0x23
|
|
bne _08014C5A
|
|
ldrb r3, [r5, 0x1]
|
|
cmp r3, 0x50
|
|
beq _08014C3C
|
|
cmp r3, 0x70
|
|
bne _08014C42
|
|
_08014C3C:
|
|
movs r0, 0x1
|
|
mov r10, r0
|
|
mov r9, r0
|
|
_08014C42:
|
|
ldr r1, [sp, 0x3C]
|
|
adds r2, r1, 0x1
|
|
cmp r2, r7
|
|
bcs _08014C56
|
|
movs r0, 0x23
|
|
strb r0, [r1]
|
|
str r2, [sp, 0x3C]
|
|
strb r3, [r1, 0x1]
|
|
adds r0, r2, 0x1
|
|
str r0, [sp, 0x3C]
|
|
_08014C56:
|
|
adds r5, 0x2
|
|
b _08014F62
|
|
_08014C5A:
|
|
cmp r6, 0x24
|
|
beq _08014C60
|
|
b _08014F26
|
|
_08014C60:
|
|
movs r4, 0
|
|
adds r5, 0x1
|
|
ldrb r0, [r5]
|
|
subs r0, 0x24
|
|
cmp r0, 0x52
|
|
bls _08014C6E
|
|
b _08014F0E
|
|
_08014C6E:
|
|
lsls r0, 2
|
|
ldr r1, _08014C78
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08014C78: .4byte _08014C7C
|
|
.align 2, 0
|
|
_08014C7C:
|
|
.4byte _08014F04
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0C
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014EC4
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014E60
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014E54
|
|
.4byte _08014DC8
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014DDC
|
|
.4byte _08014E10
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014F0E
|
|
.4byte _08014E24
|
|
.4byte _08014F0E
|
|
.4byte _08014E84
|
|
_08014DC8:
|
|
adds r5, 0x1
|
|
ldrb r0, [r5]
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 4
|
|
ldr r0, _08014DD8
|
|
adds r4, r1, r0
|
|
b _08014F0C
|
|
.align 2, 0
|
|
_08014DD8: .4byte gUnknown_202CF58
|
|
_08014DDC:
|
|
adds r5, 0x1
|
|
ldrb r0, [r5]
|
|
cmp r0, 0x6D
|
|
bne _08014DFC
|
|
bl sub_808D3BC
|
|
adds r1, r0, 0
|
|
ldr r4, _08014DF8
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
bl sub_808D9AC
|
|
b _08014F0E
|
|
.align 2, 0
|
|
_08014DF8: .4byte gUnknown_202EB80
|
|
_08014DFC:
|
|
ldrb r0, [r5]
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 4
|
|
ldr r0, _08014E0C
|
|
adds r4, r1, r0
|
|
b _08014F0C
|
|
.align 2, 0
|
|
_08014E0C: .4byte gUnknown_202D098
|
|
_08014E10:
|
|
adds r5, 0x1
|
|
ldrb r0, [r5]
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 4
|
|
ldr r0, _08014E20
|
|
adds r4, r1, r0
|
|
b _08014F0C
|
|
.align 2, 0
|
|
_08014E20: .4byte gFileCache + 0x110
|
|
_08014E24:
|
|
adds r5, 0x1
|
|
movs r0, 0
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08014E40
|
|
ldr r0, _08014E3C
|
|
bl sub_80920D8
|
|
b _08014E48
|
|
.align 2, 0
|
|
_08014E3C: .4byte gTeamName
|
|
_08014E40:
|
|
ldr r0, _08014E4C
|
|
ldr r1, _08014E50
|
|
bl strcpy
|
|
_08014E48:
|
|
ldr r4, _08014E4C
|
|
b _08014F0E
|
|
.align 2, 0
|
|
_08014E4C: .4byte gTeamName
|
|
_08014E50: .4byte gUnknown_80D48F8
|
|
_08014E54:
|
|
adds r5, 0x1
|
|
ldr r4, _08014E5C
|
|
b _08014F0E
|
|
.align 2, 0
|
|
_08014E5C: .4byte gUnknown_202E628
|
|
_08014E60:
|
|
adds r5, 0x1
|
|
ldr r1, _08014E7C
|
|
ldr r2, _08014E80
|
|
ldrb r0, [r5]
|
|
subs r0, 0x30
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
adds r5, 0x1
|
|
ldr r2, [r0]
|
|
mov r0, sp
|
|
bl sub_800D158
|
|
_08014E78:
|
|
mov r4, sp
|
|
b _08014F0E
|
|
.align 2, 0
|
|
_08014E7C: .4byte gUnknown_80D4900
|
|
_08014E80: .4byte gUnknown_202DE30
|
|
_08014E84:
|
|
adds r5, 0x1
|
|
ldr r1, _08014EBC
|
|
ldrb r0, [r5]
|
|
subs r0, 0x30
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r3, [r0]
|
|
adds r5, 0x1
|
|
ldr r1, _08014EC0
|
|
ldrb r2, [r5]
|
|
subs r2, 0x30
|
|
adds r5, 0x1
|
|
mov r0, sp
|
|
bl sub_800D158
|
|
mov r0, sp
|
|
ldrb r1, [r0]
|
|
cmp r1, 0
|
|
beq _08014E78
|
|
movs r2, 0x60
|
|
_08014EAC:
|
|
cmp r1, 0x20
|
|
bne _08014EB2
|
|
strb r2, [r0]
|
|
_08014EB2:
|
|
adds r0, 0x1
|
|
ldrb r1, [r0]
|
|
cmp r1, 0
|
|
bne _08014EAC
|
|
b _08014E78
|
|
.align 2, 0
|
|
_08014EBC: .4byte gUnknown_202DE30
|
|
_08014EC0: .4byte gUnknown_80D4904
|
|
_08014EC4:
|
|
adds r5, 0x1
|
|
ldr r1, _08014EFC
|
|
ldrb r0, [r5]
|
|
subs r0, 0x30
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r3, [r0]
|
|
adds r5, 0x1
|
|
ldr r1, _08014F00
|
|
ldrb r2, [r5]
|
|
subs r2, 0x30
|
|
adds r5, 0x1
|
|
mov r0, sp
|
|
bl sub_800D158
|
|
mov r0, sp
|
|
ldrb r1, [r0]
|
|
cmp r1, 0
|
|
beq _08014E78
|
|
movs r2, 0x60
|
|
_08014EEC:
|
|
cmp r1, 0x20
|
|
bne _08014EF2
|
|
strb r2, [r0]
|
|
_08014EF2:
|
|
adds r0, 0x1
|
|
ldrb r1, [r0]
|
|
cmp r1, 0
|
|
bne _08014EEC
|
|
b _08014E78
|
|
.align 2, 0
|
|
_08014EFC: .4byte gUnknown_202DE30
|
|
_08014F00: .4byte gUnknown_80D4908
|
|
_08014F04:
|
|
ldr r4, _08014F08
|
|
b _08014F0E
|
|
.align 2, 0
|
|
_08014F08: .4byte gUnknown_80D4910
|
|
_08014F0C:
|
|
adds r5, 0x1
|
|
_08014F0E:
|
|
cmp r4, 0
|
|
beq _08014F62
|
|
add r1, sp, 0x3C
|
|
adds r0, r4, 0
|
|
adds r2, r7, 0
|
|
mov r3, r8
|
|
bl sub_8014FA8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08014F7E
|
|
b _08014F62
|
|
_08014F26:
|
|
adds r0, r6, 0
|
|
adds r0, 0x7F
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x3
|
|
bls _08014F36
|
|
cmp r6, 0x87
|
|
bne _08014F54
|
|
_08014F36:
|
|
ldr r0, [sp, 0x3C]
|
|
cmp r0, r7
|
|
bcs _08014F42
|
|
strb r6, [r0]
|
|
adds r0, 0x1
|
|
str r0, [sp, 0x3C]
|
|
_08014F42:
|
|
adds r5, 0x1
|
|
ldrb r1, [r5]
|
|
cmp r1, 0
|
|
beq _08014F7E
|
|
ldr r0, [sp, 0x3C]
|
|
cmp r0, r7
|
|
bcs _08014F60
|
|
strb r1, [r0]
|
|
b _08014F5C
|
|
_08014F54:
|
|
ldr r0, [sp, 0x3C]
|
|
cmp r0, r7
|
|
bcs _08014F60
|
|
strb r6, [r0]
|
|
_08014F5C:
|
|
adds r0, 0x1
|
|
str r0, [sp, 0x3C]
|
|
_08014F60:
|
|
adds r5, 0x1
|
|
_08014F62:
|
|
ldrb r6, [r5]
|
|
cmp r6, 0
|
|
beq _08014F7E
|
|
cmp r6, 0xD
|
|
beq _08014F72
|
|
cmp r6, 0xA
|
|
beq _08014F72
|
|
b _08014BEA
|
|
_08014F72:
|
|
movs r0, 0x80
|
|
mov r1, r8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08014F7E
|
|
b _08014BE6
|
|
_08014F7E:
|
|
ldr r0, [sp, 0x3C]
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldrb r0, [r5]
|
|
cmp r0, 0xD
|
|
bne _08014F8C
|
|
adds r5, 0x1
|
|
_08014F8C:
|
|
ldrb r0, [r5]
|
|
cmp r0, 0xA
|
|
bne _08014F94
|
|
adds r5, 0x1
|
|
_08014F94:
|
|
adds r0, r5, 0
|
|
add sp, 0x40
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end xxx_format_string
|
|
|
|
thumb_func_start sub_8014FA8
|
|
sub_8014FA8:
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
adds r6, r2, 0
|
|
lsls r3, 16
|
|
lsrs r3, 16
|
|
ldr r2, [r5]
|
|
ldrb r1, [r4]
|
|
cmp r1, 0
|
|
beq _08014FE4
|
|
movs r0, 0x80
|
|
ands r0, r3
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
_08014FC4:
|
|
cmp r3, 0
|
|
beq _08014FD2
|
|
cmp r1, 0xD
|
|
bne _08014FD2
|
|
str r2, [r5]
|
|
movs r0, 0x1
|
|
b _08014FE8
|
|
_08014FD2:
|
|
cmp r2, r6
|
|
bcs _08014FDC
|
|
ldrb r0, [r4]
|
|
strb r0, [r2]
|
|
adds r2, 0x1
|
|
_08014FDC:
|
|
adds r4, 0x1
|
|
ldrb r1, [r4]
|
|
cmp r1, 0
|
|
bne _08014FC4
|
|
_08014FE4:
|
|
str r2, [r5]
|
|
movs r0, 0
|
|
_08014FE8:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8014FA8
|
|
|
|
thumb_func_start sub_8014FF0
|
|
sub_8014FF0:
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
sub sp, 0x1F8
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
adds r0, r2, 0
|
|
mov r8, r3
|
|
ldr r4, [sp, 0x20C]
|
|
add r2, sp, 0x1F8
|
|
add r1, sp, 0x4
|
|
movs r3, 0
|
|
bl xxx_format_string
|
|
ldr r1, _08015030
|
|
add r1, sp
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
str r4, [sp]
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
add r2, sp, 0x4
|
|
mov r3, r8
|
|
bl xxx_call_draw_string
|
|
add sp, 0x1F8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08015030: .4byte 0x000001f7
|
|
thumb_func_end sub_8014FF0
|
|
|
|
thumb_func_start sub_8015034
|
|
sub_8015034:
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
sub sp, 0x1FC
|
|
adds r6, r0, 0
|
|
mov r8, r1
|
|
adds r0, r2, 0
|
|
mov r9, r3
|
|
ldr r4, [sp, 0x214]
|
|
ldr r5, [sp, 0x218]
|
|
add r2, sp, 0x1FC
|
|
add r1, sp, 0x8
|
|
movs r3, 0
|
|
bl xxx_format_string
|
|
ldr r1, _0801507C
|
|
add r1, sp
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
str r4, [sp]
|
|
str r5, [sp, 0x4]
|
|
adds r0, r6, 0
|
|
mov r1, r8
|
|
add r2, sp, 0x8
|
|
mov r3, r9
|
|
bl sub_8008F8C
|
|
add sp, 0x1FC
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801507C: .4byte 0x000001fb
|
|
thumb_func_end sub_8015034
|
|
|
|
thumb_func_start sub_8015080
|
|
sub_8015080:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x8
|
|
mov r8, r0
|
|
mov r9, r1
|
|
ldr r4, _08015158
|
|
ldr r0, _0801515C
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
mov r12, r4
|
|
ldr r0, _08015160
|
|
mov r10, r0
|
|
mov r5, r12
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_080150AC:
|
|
mov r4, r12
|
|
ldr r1, [r4]
|
|
adds r1, r3
|
|
adds r1, 0x54
|
|
mov r0, r10
|
|
ldm r0!, {r4,r6,r7}
|
|
stm r1!, {r4,r6,r7}
|
|
ldm r0!, {r4,r6,r7}
|
|
stm r1!, {r4,r6,r7}
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _080150AC
|
|
movs r4, 0
|
|
ldr r1, [r5]
|
|
adds r1, 0x54
|
|
ldr r0, _08015164
|
|
ldm r0!, {r2,r6,r7}
|
|
stm r1!, {r2,r6,r7}
|
|
ldm r0!, {r3,r6,r7}
|
|
stm r1!, {r3,r6,r7}
|
|
ldr r1, [r5]
|
|
adds r1, 0x84
|
|
ldr r0, _08015168
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldr r0, [r5]
|
|
adds r0, 0x84
|
|
mov r1, r9
|
|
bl sub_8012CAC
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, 0x54
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0
|
|
bl sub_80073B8
|
|
ldr r2, [r5]
|
|
adds r1, r2, 0
|
|
adds r1, 0xB4
|
|
ldr r6, _0801515C
|
|
adds r2, r6
|
|
mov r0, r8
|
|
movs r3, 0
|
|
bl xxx_format_string
|
|
ldr r2, [r5]
|
|
adds r2, 0xB4
|
|
str r4, [sp]
|
|
movs r0, 0x4
|
|
movs r1, 0x4
|
|
movs r3, 0
|
|
bl xxx_call_draw_string
|
|
movs r0, 0
|
|
bl sub_80073E0
|
|
ldr r0, [r5]
|
|
adds r0, 0x4
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r1, [sp]
|
|
movs r1, 0x2
|
|
str r1, [sp, 0x4]
|
|
mov r1, r9
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8012D60
|
|
movs r0, 0x1
|
|
add sp, 0x8
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08015158: .4byte gUnknown_203B1F8
|
|
_0801515C: .4byte 0x000004b4
|
|
_08015160: .4byte gUnknown_80DAF70
|
|
_08015164: .4byte gUnknown_80DAF88
|
|
_08015168: .4byte gUnknown_80DAFA0
|
|
thumb_func_end sub_8015080
|
|
|
|
thumb_func_start sub_801516C
|
|
sub_801516C:
|
|
push {r4,lr}
|
|
ldr r4, _08015184
|
|
ldr r0, [r4]
|
|
adds r0, 0x4
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08015188
|
|
movs r0, 0
|
|
b _08015192
|
|
.align 2, 0
|
|
_08015184: .4byte gUnknown_203B1F8
|
|
_08015188:
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0x4
|
|
bl sub_8013114
|
|
movs r0, 0x3
|
|
_08015192:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801516C
|
|
|
|
thumb_func_start sub_8015198
|
|
sub_8015198:
|
|
ldr r0, _080151A0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080151A0: .4byte gUnknown_203B1F8
|
|
thumb_func_end sub_8015198
|
|
|
|
thumb_func_start sub_80151A4
|
|
sub_80151A4:
|
|
push {r4,lr}
|
|
ldr r4, _080151BC
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080151B6
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_080151B6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080151BC: .4byte gUnknown_203B1F8
|
|
thumb_func_end sub_80151A4
|
|
|
|
thumb_func_start sub_80151C0
|
|
sub_80151C0:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
ldr r4, _080151FC
|
|
movs r0, 0xCC
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
str r5, [r0]
|
|
movs r1, 0
|
|
strb r1, [r0, 0x19]
|
|
ldr r0, [r4]
|
|
strb r1, [r0, 0x18]
|
|
ldr r0, [r4]
|
|
strb r1, [r0, 0x4]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x5
|
|
bhi _0801524C
|
|
lsls r0, 2
|
|
ldr r1, _08015200
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080151FC: .4byte gUnknown_203B1FC
|
|
_08015200: .4byte _08015204
|
|
.align 2, 0
|
|
_08015204:
|
|
.4byte _0801524C
|
|
.4byte _0801524C
|
|
.4byte _0801524C
|
|
.4byte _0801524C
|
|
.4byte _0801521C
|
|
.4byte _08015234
|
|
_0801521C:
|
|
ldr r1, _08015230
|
|
ldr r2, [r1]
|
|
movs r0, 0x9
|
|
strb r0, [r2, 0x1A]
|
|
ldr r2, [r1]
|
|
movs r0, 0x1
|
|
strb r0, [r2, 0x4]
|
|
ldr r2, [r1]
|
|
movs r0, 0x36
|
|
b _08015258
|
|
.align 2, 0
|
|
_08015230: .4byte gUnknown_203B1FC
|
|
_08015234:
|
|
ldr r1, _08015248
|
|
ldr r2, [r1]
|
|
movs r0, 0x9
|
|
strb r0, [r2, 0x1A]
|
|
ldr r2, [r1]
|
|
movs r0, 0x1
|
|
strb r0, [r2, 0x4]
|
|
ldr r2, [r1]
|
|
movs r0, 0x18
|
|
b _08015258
|
|
.align 2, 0
|
|
_08015248: .4byte gUnknown_203B1FC
|
|
_0801524C:
|
|
ldr r1, _08015374
|
|
ldr r2, [r1]
|
|
movs r0, 0x6
|
|
strb r0, [r2, 0x1A]
|
|
ldr r2, [r1]
|
|
movs r0, 0xA
|
|
_08015258:
|
|
strb r0, [r2, 0x1B]
|
|
mov r8, r1
|
|
mov r0, r8
|
|
ldr r2, [r0]
|
|
movs r1, 0x9A
|
|
lsls r1, 1
|
|
adds r0, r2, r1
|
|
str r6, [r0]
|
|
adds r1, r2, 0
|
|
adds r1, 0xF8
|
|
adds r0, r2, 0
|
|
adds r0, 0xFC
|
|
str r0, [r1]
|
|
movs r2, 0
|
|
mov r1, r8
|
|
movs r3, 0
|
|
_08015278:
|
|
ldr r0, [r1]
|
|
adds r0, 0xF8
|
|
ldr r0, [r0]
|
|
adds r0, r2
|
|
strb r3, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0x35
|
|
ble _08015278
|
|
ldr r5, _08015374
|
|
ldr r2, [r5]
|
|
adds r0, r2, 0
|
|
adds r0, 0xF8
|
|
ldr r0, [r0]
|
|
movs r3, 0x9A
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
ldr r1, [r1]
|
|
ldrb r2, [r2, 0x1B]
|
|
bl MemoryCopy8
|
|
movs r2, 0
|
|
ldr r0, [r5]
|
|
ldrb r3, [r0, 0x1B]
|
|
cmp r2, r3
|
|
bge _080152EA
|
|
adds r1, r0, 0
|
|
adds r1, 0xF8
|
|
ldr r0, [r1]
|
|
ldrb r0, [r0]
|
|
mov r8, r5
|
|
cmp r0, 0
|
|
beq _080152C8
|
|
_080152B8:
|
|
adds r2, 0x1
|
|
cmp r2, r3
|
|
bge _080152EA
|
|
ldr r0, [r1]
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080152B8
|
|
_080152C8:
|
|
mov r4, r8
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x1B]
|
|
cmp r2, r0
|
|
bge _080152EA
|
|
mov r1, r8
|
|
movs r3, 0
|
|
_080152D6:
|
|
ldr r0, [r1]
|
|
adds r0, 0xF8
|
|
ldr r0, [r0]
|
|
adds r0, r2
|
|
strb r3, [r0]
|
|
adds r2, 0x1
|
|
ldr r0, [r1]
|
|
ldrb r0, [r0, 0x1B]
|
|
cmp r2, r0
|
|
blt _080152D6
|
|
_080152EA:
|
|
bl sub_8015F44
|
|
ldr r2, _08015374
|
|
ldr r1, [r2]
|
|
strb r0, [r1, 0x1C]
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1, 0x1C]
|
|
ldrb r5, [r1, 0x1B]
|
|
cmp r0, r5
|
|
bne _08015302
|
|
subs r0, 0x1
|
|
strb r0, [r1, 0x1C]
|
|
_08015302:
|
|
movs r6, 0x1
|
|
mov r12, r6
|
|
ldr r6, [r2]
|
|
adds r5, r6, 0x6
|
|
ldrh r1, [r6, 0x6]
|
|
ldr r0, _08015378
|
|
ands r0, r1
|
|
ldr r1, _0801537C
|
|
ands r0, r1
|
|
ldr r2, _08015380
|
|
ands r0, r2
|
|
ldr r1, _08015384
|
|
ands r0, r1
|
|
ldr r1, _08015388
|
|
ands r0, r1
|
|
strh r0, [r6, 0x6]
|
|
ldrh r0, [r5, 0x4]
|
|
adds r3, r2, 0
|
|
ands r3, r0
|
|
movs r1, 0xF
|
|
movs r2, 0xF0
|
|
lsls r2, 8
|
|
ldr r0, _0801538C
|
|
ands r3, r0
|
|
orrs r3, r2
|
|
strh r3, [r5, 0x4]
|
|
ldrh r0, [r5, 0x2]
|
|
movs r4, 0xFE
|
|
lsls r4, 8
|
|
ands r4, r0
|
|
movs r0, 0xF0
|
|
orrs r4, r0
|
|
strh r4, [r5, 0x2]
|
|
movs r2, 0xF0
|
|
lsls r2, 4
|
|
ldrh r0, [r5, 0x6]
|
|
ands r1, r0
|
|
movs r7, 0
|
|
orrs r1, r2
|
|
strh r1, [r5, 0x6]
|
|
ldrb r0, [r6, 0x4]
|
|
cmp r0, 0
|
|
beq _0801539C
|
|
ldr r0, _08015390
|
|
ands r4, r0
|
|
ldr r1, _08015394
|
|
movs r0, 0xFC
|
|
lsls r0, 8
|
|
ands r3, r0
|
|
orrs r3, r1
|
|
strh r3, [r5, 0x4]
|
|
ldr r0, _08015398
|
|
ands r4, r0
|
|
strh r4, [r5, 0x2]
|
|
mov r7, r12
|
|
b _080153BE
|
|
.align 2, 0
|
|
_08015374: .4byte gUnknown_203B1FC
|
|
_08015378: .4byte 0x0000feff
|
|
_0801537C: .4byte 0x0000fdff
|
|
_08015380: .4byte 0x0000f3ff
|
|
_08015384: .4byte 0x0000efff
|
|
_08015388: .4byte 0x0000dfff
|
|
_0801538C: .4byte 0x00000fff
|
|
_08015390: .4byte 0x0000c1ff
|
|
_08015394: .4byte 0x000003f6
|
|
_08015398: .4byte 0x00003fff
|
|
_0801539C:
|
|
movs r1, 0x80
|
|
lsls r1, 6
|
|
ldr r0, _08015468
|
|
ands r4, r0
|
|
orrs r4, r1
|
|
orrs r4, r7
|
|
movs r1, 0xFC
|
|
lsls r1, 2
|
|
movs r0, 0xFC
|
|
lsls r0, 8
|
|
ands r3, r0
|
|
orrs r3, r1
|
|
strh r3, [r5, 0x4]
|
|
ldr r0, _0801546C
|
|
ands r4, r0
|
|
strh r4, [r5, 0x2]
|
|
mov r1, r12
|
|
_080153BE:
|
|
movs r2, 0x80
|
|
lsls r2, 7
|
|
ldrh r1, [r6, 0x6]
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strh r0, [r6, 0x6]
|
|
ldr r5, _08015470
|
|
ldr r1, [r5]
|
|
movs r0, 0x4
|
|
strb r0, [r1, 0x16]
|
|
ldr r4, [r5]
|
|
adds r6, r4, 0
|
|
adds r6, 0xE
|
|
ldrh r1, [r4, 0xE]
|
|
ldr r0, _08015474
|
|
ands r0, r1
|
|
ldr r1, _08015478
|
|
ands r0, r1
|
|
ldr r3, _0801547C
|
|
ands r0, r3
|
|
ldr r1, _08015480
|
|
ands r0, r1
|
|
ldr r1, _08015484
|
|
ands r0, r1
|
|
ldr r1, _0801546C
|
|
ands r0, r1
|
|
strh r0, [r4, 0xE]
|
|
movs r2, 0xFD
|
|
lsls r2, 2
|
|
ldrh r1, [r6, 0x4]
|
|
movs r0, 0xFC
|
|
lsls r0, 8
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
ands r0, r3
|
|
movs r2, 0xF
|
|
movs r3, 0xF0
|
|
lsls r3, 8
|
|
ldr r1, _08015488
|
|
ands r0, r1
|
|
orrs r0, r3
|
|
strh r0, [r6, 0x4]
|
|
movs r0, 0xF0
|
|
strh r0, [r6, 0x2]
|
|
subs r1, 0xFF
|
|
ldrh r0, [r6, 0x6]
|
|
ands r2, r0
|
|
movs r0, 0
|
|
orrs r2, r1
|
|
strh r2, [r6, 0x6]
|
|
strb r0, [r4, 0x17]
|
|
mov r8, r5
|
|
ldr r2, _0801548C
|
|
mov r10, r2
|
|
mov r12, r8
|
|
movs r3, 0x9C
|
|
lsls r3, 1
|
|
mov r9, r3
|
|
ldr r4, _08015490
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_08015438:
|
|
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 _08015438
|
|
mov r6, r8
|
|
ldr r1, [r6]
|
|
ldrb r0, [r1, 0x4]
|
|
cmp r0, 0
|
|
beq _08015498
|
|
movs r7, 0xA8
|
|
lsls r7, 1
|
|
adds r1, r7
|
|
ldr r0, _08015494
|
|
b _080154A0
|
|
.align 2, 0
|
|
_08015468: .4byte 0x0000c1ff
|
|
_0801546C: .4byte 0x00003fff
|
|
_08015470: .4byte gUnknown_203B1FC
|
|
_08015474: .4byte 0x0000feff
|
|
_08015478: .4byte 0x0000fdff
|
|
_0801547C: .4byte 0x0000f3ff
|
|
_08015480: .4byte 0x0000efff
|
|
_08015484: .4byte 0x0000dfff
|
|
_08015488: .4byte 0x00000fff
|
|
_0801548C: .4byte gUnknown_80DB550
|
|
_08015490: .4byte gUnknown_80DB538
|
|
_08015494: .4byte gUnknown_80DB580
|
|
_08015498:
|
|
movs r0, 0xA8
|
|
lsls r0, 1
|
|
adds r1, r0
|
|
ldr r0, _080154EC
|
|
_080154A0:
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
mov r0, r8
|
|
ldr r1, [r0]
|
|
movs r4, 0x9C
|
|
lsls r4, 1
|
|
adds r1, r4
|
|
mov r0, r10
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r6,r7}
|
|
stm r1!, {r2,r6,r7}
|
|
bl sub_8004914
|
|
mov r3, r8
|
|
ldr r0, [r3]
|
|
adds r0, r4
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x1
|
|
bl sub_8015A08
|
|
bl sub_8015C1C
|
|
bl sub_8015F84
|
|
movs r0, 0x1
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080154EC: .4byte gUnknown_80DB568
|
|
thumb_func_end sub_80151C0
|
|
|
|
thumb_func_start sub_80154F0
|
|
sub_80154F0:
|
|
push {r4,r5,lr}
|
|
ldr r4, _08015558
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x16]
|
|
adds r0, 0x1
|
|
strb r0, [r1, 0x16]
|
|
bl sub_80157D8
|
|
ldr r2, [r4]
|
|
ldrb r1, [r2, 0x16]
|
|
movs r5, 0x8
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0801551C
|
|
adds r0, r2, 0x6
|
|
movs r1, 0x80
|
|
lsls r1, 1
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl AddSprite
|
|
_0801551C:
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x17]
|
|
adds r0, 0x1
|
|
strb r0, [r1, 0x17]
|
|
bl sub_80158BC
|
|
ldr r2, [r4]
|
|
ldrb r1, [r2, 0x17]
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08015544
|
|
adds r0, r2, 0
|
|
adds r0, 0xE
|
|
movs r1, 0x80
|
|
lsls r1, 1
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl AddSprite
|
|
_08015544:
|
|
bl sub_8012AE8
|
|
subs r0, 0x1
|
|
cmp r0, 0x5
|
|
bhi _080155E2
|
|
lsls r0, 2
|
|
ldr r1, _0801555C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08015558: .4byte gUnknown_203B1FC
|
|
_0801555C: .4byte _08015560
|
|
.align 2, 0
|
|
_08015560:
|
|
.4byte _080155C0
|
|
.4byte _080155C6
|
|
.4byte _080155E2
|
|
.4byte _080155D4
|
|
.4byte _08015578
|
|
.4byte _0801558C
|
|
_08015578:
|
|
ldr r0, _08015588
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, 0x1C]
|
|
cmp r0, 0
|
|
beq _080155B8
|
|
subs r0, 0x1
|
|
b _080155A8
|
|
.align 2, 0
|
|
_08015588: .4byte gUnknown_203B1FC
|
|
_0801558C:
|
|
ldr r5, _080155B4
|
|
ldr r0, [r5]
|
|
ldrb r4, [r0, 0x1C]
|
|
ldrb r0, [r0, 0x1B]
|
|
subs r0, 0x1
|
|
cmp r4, r0
|
|
beq _080155B8
|
|
bl sub_8015F44
|
|
cmp r4, r0
|
|
bge _080155B8
|
|
ldr r1, [r5]
|
|
ldrb r0, [r1, 0x1C]
|
|
adds r0, 0x1
|
|
_080155A8:
|
|
strb r0, [r1, 0x1C]
|
|
movs r0, 0x3
|
|
bl sub_80119D4
|
|
b _080155E2
|
|
.align 2, 0
|
|
_080155B4: .4byte gUnknown_203B1FC
|
|
_080155B8:
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
b _080155E2
|
|
_080155C0:
|
|
bl sub_801560C
|
|
b _080155E4
|
|
_080155C6:
|
|
bl sub_8015748
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080155E2
|
|
movs r0, 0x2
|
|
b _080155E4
|
|
_080155D4:
|
|
movs r0, 0x3
|
|
bl sub_80119D4
|
|
ldr r0, _080155EC
|
|
ldr r1, [r0]
|
|
movs r0, 0x5
|
|
strb r0, [r1, 0x1A]
|
|
_080155E2:
|
|
movs r0, 0
|
|
_080155E4:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080155EC: .4byte gUnknown_203B1FC
|
|
thumb_func_end sub_80154F0
|
|
|
|
thumb_func_start sub_80155F0
|
|
sub_80155F0:
|
|
push {r4,lr}
|
|
ldr r4, _08015608
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _08015602
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_08015602:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08015608: .4byte gUnknown_203B1FC
|
|
thumb_func_end sub_80155F0
|
|
|
|
thumb_func_start sub_801560C
|
|
sub_801560C:
|
|
push {r4-r6,lr}
|
|
ldr r3, _08015640
|
|
ldr r4, _08015644
|
|
ldr r5, [r4]
|
|
ldrb r0, [r5, 0x1A]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
ldrb r2, [r5, 0x19]
|
|
lsls r0, r2, 8
|
|
subs r0, r2
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r3, 0x8
|
|
adds r0, r3
|
|
ldr r6, [r0]
|
|
movs r0, 0x83
|
|
lsls r0, 1
|
|
cmp r6, r0
|
|
beq _0801567A
|
|
cmp r6, r0
|
|
bgt _08015648
|
|
subs r0, 0x1
|
|
cmp r6, r0
|
|
beq _0801566C
|
|
b _080156BC
|
|
.align 2, 0
|
|
_08015640: .4byte gUnknown_80DB0F8
|
|
_08015644: .4byte gUnknown_203B1FC
|
|
_08015648:
|
|
ldr r0, _08015668
|
|
cmp r6, r0
|
|
bne _080156BC
|
|
movs r1, 0
|
|
ldrb r0, [r5, 0x18]
|
|
cmp r0, 0
|
|
bne _08015658
|
|
movs r1, 0x1
|
|
_08015658:
|
|
strb r1, [r5, 0x18]
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0
|
|
bl sub_8015A08
|
|
b _0801573E
|
|
.align 2, 0
|
|
_08015668: .4byte 0x00000107
|
|
_0801566C:
|
|
bl sub_8015748
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801573E
|
|
movs r0, 0x2
|
|
b _08015740
|
|
_0801567A:
|
|
bl sub_8015F44
|
|
cmp r0, 0
|
|
beq _080156D4
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
beq _08015696
|
|
bl sub_8015F44
|
|
ldr r1, [r4]
|
|
ldrb r1, [r1, 0x1B]
|
|
cmp r0, r1
|
|
bne _080156D4
|
|
_08015696:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
ldr r0, _080156B8
|
|
ldr r2, [r0]
|
|
movs r1, 0x9A
|
|
lsls r1, 1
|
|
adds r0, r2, r1
|
|
ldr r0, [r0]
|
|
adds r1, r2, 0
|
|
adds r1, 0xF8
|
|
ldr r1, [r1]
|
|
ldrb r2, [r2, 0x1B]
|
|
bl MemoryCopy8
|
|
movs r0, 0x3
|
|
b _08015740
|
|
.align 2, 0
|
|
_080156B8: .4byte gUnknown_203B1FC
|
|
_080156BC:
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
beq _080156DC
|
|
lsls r0, r6, 24
|
|
lsrs r0, 24
|
|
bl sub_803D0F0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xFF
|
|
bne _080156DC
|
|
_080156D4:
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
b _0801573E
|
|
_080156DC:
|
|
ldr r0, _08015728
|
|
ldr r3, [r0]
|
|
ldrb r1, [r3, 0x18]
|
|
adds r4, r0, 0
|
|
cmp r1, 0x1
|
|
bne _0801570A
|
|
ldrb r0, [r3, 0x1B]
|
|
subs r2, r0, 0x2
|
|
ldrb r3, [r3, 0x1C]
|
|
cmp r2, r3
|
|
blt _0801570A
|
|
adds r3, r4, 0
|
|
_080156F4:
|
|
ldr r0, [r3]
|
|
adds r0, 0xF8
|
|
ldr r0, [r0]
|
|
adds r0, r2
|
|
ldrb r1, [r0]
|
|
strb r1, [r0, 0x1]
|
|
subs r2, 0x1
|
|
ldr r0, [r3]
|
|
ldrb r0, [r0, 0x1C]
|
|
cmp r2, r0
|
|
bge _080156F4
|
|
_0801570A:
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, 0x1C]
|
|
adds r0, 0xF8
|
|
ldr r0, [r0]
|
|
adds r0, r1
|
|
strb r6, [r0]
|
|
ldr r1, [r4]
|
|
ldrb r2, [r1, 0x1C]
|
|
ldrb r0, [r1, 0x1B]
|
|
subs r0, 0x1
|
|
cmp r2, r0
|
|
bge _0801572C
|
|
adds r0, r2, 0x1
|
|
strb r0, [r1, 0x1C]
|
|
b _08015730
|
|
.align 2, 0
|
|
_08015728: .4byte gUnknown_203B1FC
|
|
_0801572C:
|
|
movs r0, 0x5
|
|
strb r0, [r1, 0x1A]
|
|
_08015730:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
bl sub_8015C1C
|
|
bl sub_8015F84
|
|
_0801573E:
|
|
movs r0, 0
|
|
_08015740:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801560C
|
|
|
|
thumb_func_start sub_8015748
|
|
sub_8015748:
|
|
push {r4,lr}
|
|
ldr r4, _0801576C
|
|
ldr r2, [r4]
|
|
ldrb r1, [r2, 0x1C]
|
|
adds r0, r2, 0
|
|
adds r0, 0xF8
|
|
ldr r0, [r0]
|
|
adds r0, r1
|
|
ldrb r3, [r0]
|
|
cmp r3, 0
|
|
bne _08015790
|
|
cmp r1, 0
|
|
bne _08015770
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
movs r0, 0x1
|
|
b _080157CE
|
|
.align 2, 0
|
|
_0801576C: .4byte gUnknown_203B1FC
|
|
_08015770:
|
|
subs r0, r1, 0x1
|
|
strb r0, [r2, 0x1C]
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, 0x1C]
|
|
adds r0, 0xF8
|
|
ldr r0, [r0]
|
|
adds r0, r1
|
|
strb r3, [r0]
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
bl sub_8015C1C
|
|
bl sub_8015F84
|
|
b _080157CC
|
|
_08015790:
|
|
bl sub_8015F44
|
|
subs r3, r0, 0x1
|
|
ldr r0, [r4]
|
|
ldrb r2, [r0, 0x1C]
|
|
cmp r2, r3
|
|
bge _080157B0
|
|
_0801579E:
|
|
ldr r0, [r4]
|
|
adds r0, 0xF8
|
|
ldr r0, [r0]
|
|
adds r0, r2
|
|
ldrb r1, [r0, 0x1]
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, r3
|
|
blt _0801579E
|
|
_080157B0:
|
|
ldr r0, _080157D4
|
|
ldr r0, [r0]
|
|
adds r0, 0xF8
|
|
ldr r0, [r0]
|
|
adds r0, r3
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
bl sub_8015C1C
|
|
bl sub_8015F84
|
|
_080157CC:
|
|
movs r0, 0
|
|
_080157CE:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080157D4: .4byte gUnknown_203B1FC
|
|
thumb_func_end sub_8015748
|
|
|
|
thumb_func_start sub_80157D8
|
|
sub_80157D8:
|
|
push {r4,r5,lr}
|
|
ldr r5, _080157EC
|
|
ldr r0, _080157F0
|
|
ldr r0, [r0]
|
|
mov r12, r0
|
|
ldr r0, [r0]
|
|
cmp r0, 0x4
|
|
bne _080157F8
|
|
ldr r3, _080157F4
|
|
b _080157FE
|
|
.align 2, 0
|
|
_080157EC: .4byte gUnknown_20273B8
|
|
_080157F0: .4byte gUnknown_203B1FC
|
|
_080157F4: .4byte gUnknown_80DAFC0
|
|
_080157F8:
|
|
cmp r0, 0x5
|
|
bne _0801585C
|
|
ldr r3, _08015850
|
|
_080157FE:
|
|
mov r1, r12
|
|
ldrb r0, [r1, 0x1C]
|
|
lsls r0, 2
|
|
adds r0, r3
|
|
movs r2, 0
|
|
ldrsh r1, [r0, r2]
|
|
movs r2, 0
|
|
ldrsh r0, [r5, r2]
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
ldr r0, _08015854
|
|
ands r1, r0
|
|
mov r4, r12
|
|
adds r4, 0x6
|
|
ldrh r2, [r4, 0x2]
|
|
movs r0, 0xFE
|
|
lsls r0, 8
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strh r0, [r4, 0x2]
|
|
mov r1, r12
|
|
ldrb r0, [r1, 0x1C]
|
|
lsls r0, 2
|
|
adds r0, r3
|
|
movs r2, 0x2
|
|
ldrsh r1, [r0, r2]
|
|
movs r3, 0x2
|
|
ldrsh r0, [r5, r3]
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x5
|
|
ldr r0, _08015858
|
|
ands r1, r0
|
|
lsls r1, 4
|
|
ldrh r2, [r4, 0x6]
|
|
movs r0, 0xF
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strh r0, [r4, 0x6]
|
|
b _080158B0
|
|
.align 2, 0
|
|
_08015850: .4byte gUnknown_80DB098
|
|
_08015854: .4byte 0x000001ff
|
|
_08015858: .4byte 0x00000fff
|
|
_0801585C:
|
|
mov r0, r12
|
|
ldrb r1, [r0, 0x1C]
|
|
lsls r1, 1
|
|
mov r2, r12
|
|
adds r2, 0x1E
|
|
adds r2, r1
|
|
adds r0, 0x8A
|
|
adds r0, r1
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
lsrs r0, r1, 31
|
|
adds r1, r0
|
|
asrs r1, 1
|
|
ldrh r2, [r2]
|
|
adds r1, r2
|
|
movs r2, 0
|
|
ldrsh r0, [r5, r2]
|
|
lsls r0, 3
|
|
adds r0, 0x1E
|
|
adds r1, r0
|
|
lsls r1, 23
|
|
lsrs r1, 23
|
|
mov r3, r12
|
|
adds r3, 0x6
|
|
ldrh r2, [r3, 0x2]
|
|
movs r0, 0xFE
|
|
lsls r0, 8
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strh r0, [r3, 0x2]
|
|
movs r0, 0x2
|
|
ldrsh r1, [r5, r0]
|
|
lsls r1, 3
|
|
adds r1, 0x22
|
|
ldr r0, _080158B8
|
|
ands r1, r0
|
|
lsls r1, 4
|
|
ldrh r2, [r3, 0x6]
|
|
movs r0, 0xF
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strh r0, [r3, 0x6]
|
|
_080158B0:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080158B8: .4byte 0x00000fff
|
|
thumb_func_end sub_80157D8
|
|
|
|
thumb_func_start sub_80158BC
|
|
sub_80158BC:
|
|
push {r4-r6,lr}
|
|
ldr r6, _080158D4
|
|
bl sub_8012AE8
|
|
cmp r0, 0x8
|
|
beq _08015908
|
|
cmp r0, 0x8
|
|
bgt _080158D8
|
|
cmp r0, 0x7
|
|
beq _080158E2
|
|
b _08015980
|
|
.align 2, 0
|
|
_080158D4: .4byte gUnknown_2027370
|
|
_080158D8:
|
|
cmp r0, 0x9
|
|
beq _08015930
|
|
cmp r0, 0xA
|
|
beq _08015958
|
|
b _08015980
|
|
_080158E2:
|
|
ldr r4, _08015900
|
|
ldr r3, _08015904
|
|
ldr r2, [r3]
|
|
ldrb r0, [r2, 0x1A]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
ldrb r2, [r2, 0x19]
|
|
lsls r0, r2, 8
|
|
subs r0, r2
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
adds r5, r3, 0
|
|
b _08015988
|
|
.align 2, 0
|
|
_08015900: .4byte gUnknown_80DB0F8
|
|
_08015904: .4byte gUnknown_203B1FC
|
|
_08015908:
|
|
ldr r4, _08015928
|
|
ldr r3, _0801592C
|
|
ldr r2, [r3]
|
|
ldrb r0, [r2, 0x1A]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
ldrb r2, [r2, 0x19]
|
|
lsls r0, r2, 8
|
|
subs r0, r2
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldrb r0, [r0, 0x1]
|
|
adds r5, r3, 0
|
|
b _08015988
|
|
.align 2, 0
|
|
_08015928: .4byte gUnknown_80DB0F8
|
|
_0801592C: .4byte gUnknown_203B1FC
|
|
_08015930:
|
|
ldr r4, _08015950
|
|
ldr r3, _08015954
|
|
ldr r2, [r3]
|
|
ldrb r0, [r2, 0x1A]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
ldrb r2, [r2, 0x19]
|
|
lsls r0, r2, 8
|
|
subs r0, r2
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldrb r0, [r0, 0x2]
|
|
adds r5, r3, 0
|
|
b _08015988
|
|
.align 2, 0
|
|
_08015950: .4byte gUnknown_80DB0F8
|
|
_08015954: .4byte gUnknown_203B1FC
|
|
_08015958:
|
|
ldr r4, _08015978
|
|
ldr r3, _0801597C
|
|
ldr r2, [r3]
|
|
ldrb r0, [r2, 0x1A]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
ldrb r2, [r2, 0x19]
|
|
lsls r0, r2, 8
|
|
subs r0, r2
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldrb r0, [r0, 0x3]
|
|
adds r5, r3, 0
|
|
b _08015988
|
|
.align 2, 0
|
|
_08015978: .4byte gUnknown_80DB0F8
|
|
_0801597C: .4byte gUnknown_203B1FC
|
|
_08015980:
|
|
ldr r1, _080159F8
|
|
ldr r0, [r1]
|
|
ldrb r0, [r0, 0x1A]
|
|
adds r5, r1, 0
|
|
_08015988:
|
|
adds r4, r5, 0
|
|
ldr r1, [r4]
|
|
ldrb r2, [r1, 0x1A]
|
|
cmp r0, r2
|
|
beq _080159A0
|
|
strb r0, [r1, 0x1A]
|
|
movs r0, 0x3
|
|
bl sub_80119D4
|
|
ldr r1, [r4]
|
|
movs r0, 0x8
|
|
strb r0, [r1, 0x17]
|
|
_080159A0:
|
|
ldr r3, _080159FC
|
|
ldr r4, [r5]
|
|
ldrb r0, [r4, 0x1A]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
ldrb r2, [r4, 0x19]
|
|
lsls r0, r2, 8
|
|
subs r0, r2
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r3
|
|
movs r3, 0
|
|
ldrsh r1, [r6, r3]
|
|
lsls r1, 3
|
|
ldrb r2, [r0, 0x4]
|
|
adds r1, r2
|
|
subs r1, 0x5
|
|
movs r3, 0x2
|
|
ldrsh r2, [r6, r3]
|
|
lsls r2, 3
|
|
ldrb r0, [r0, 0x5]
|
|
adds r2, r0
|
|
adds r2, 0x1
|
|
ldr r0, _08015A00
|
|
ands r1, r0
|
|
adds r4, 0xE
|
|
ldrh r3, [r4, 0x2]
|
|
movs r0, 0xFE
|
|
lsls r0, 8
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
strh r0, [r4, 0x2]
|
|
ldr r0, _08015A04
|
|
ands r2, r0
|
|
lsls r2, 4
|
|
ldrh r1, [r4, 0x6]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strh r0, [r4, 0x6]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080159F8: .4byte gUnknown_203B1FC
|
|
_080159FC: .4byte gUnknown_80DB0F8
|
|
_08015A00: .4byte 0x000001ff
|
|
_08015A04: .4byte 0x00000fff
|
|
thumb_func_end sub_80158BC
|
|
|
|
thumb_func_start sub_8015A08
|
|
sub_8015A08:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x24
|
|
movs r0, 0
|
|
bl sub_8008C54
|
|
movs r0, 0
|
|
bl sub_80073B8
|
|
ldr r3, _08015A68
|
|
ldr r2, _08015A6C
|
|
ldr r0, [r2]
|
|
ldrb r1, [r0, 0x19]
|
|
lsls r0, r1, 8
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r1, r3, 0
|
|
adds r1, 0x8
|
|
adds r0, r1
|
|
ldr r4, [r0]
|
|
ldr r0, _08015A70
|
|
cmp r4, r0
|
|
bne _08015A3E
|
|
b _08015BC0
|
|
_08015A3E:
|
|
mov r8, r2
|
|
adds r7, r3, 0
|
|
add r0, sp, 0x14
|
|
mov r10, r0
|
|
movs r6, 0
|
|
mov r9, r6
|
|
_08015A4A:
|
|
ldr r0, [r2]
|
|
ldrb r1, [r0, 0x19]
|
|
lsls r0, r1, 8
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6, r0
|
|
adds r0, r3
|
|
ldrb r0, [r0, 0x6]
|
|
cmp r0, 0x2
|
|
beq _08015AAA
|
|
cmp r0, 0x2
|
|
bgt _08015A74
|
|
cmp r0, 0x1
|
|
beq _08015A7A
|
|
b _08015A82
|
|
.align 2, 0
|
|
_08015A68: .4byte gUnknown_80DB0F8
|
|
_08015A6C: .4byte gUnknown_203B1FC
|
|
_08015A70: .4byte 0x00000109
|
|
_08015A74:
|
|
cmp r0, 0x3
|
|
beq _08015A7E
|
|
b _08015A82
|
|
_08015A7A:
|
|
movs r5, 0x5
|
|
b _08015AAC
|
|
_08015A7E:
|
|
movs r5, 0x7
|
|
b _08015AAC
|
|
_08015A82:
|
|
movs r5, 0x7
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
beq _08015AAC
|
|
cmp r4, 0xFF
|
|
bgt _08015AA4
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_803D0F0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xFF
|
|
bne _08015AAC
|
|
b _08015AAA
|
|
_08015AA4:
|
|
ldr r0, _08015ADC
|
|
cmp r4, r0
|
|
bgt _08015AAC
|
|
_08015AAA:
|
|
movs r5, 0x2
|
|
_08015AAC:
|
|
movs r0, 0x84
|
|
lsls r0, 1
|
|
cmp r4, r0
|
|
beq _08015B9E
|
|
subs r0, 0x1
|
|
cmp r4, r0
|
|
bne _08015B04
|
|
mov r2, r8
|
|
ldr r0, [r2]
|
|
ldrb r2, [r0, 0x18]
|
|
cmp r2, 0
|
|
bne _08015AE4
|
|
ldrb r0, [r0, 0x19]
|
|
lsls r1, r0, 8
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r1, r6, r1
|
|
adds r1, r7
|
|
ldrb r0, [r1, 0x4]
|
|
adds r0, 0x3
|
|
ldrb r1, [r1, 0x5]
|
|
str r2, [sp]
|
|
ldr r2, _08015AE0
|
|
b _08015B6A
|
|
.align 2, 0
|
|
_08015ADC: .4byte 0x00000101
|
|
_08015AE0: .4byte gUnknown_80DB598
|
|
_08015AE4:
|
|
ldrb r0, [r0, 0x19]
|
|
lsls r1, r0, 8
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r1, r6, r1
|
|
adds r1, r7
|
|
ldrb r0, [r1, 0x4]
|
|
adds r0, 0x3
|
|
ldrb r1, [r1, 0x5]
|
|
mov r3, r9
|
|
str r3, [sp]
|
|
ldr r2, _08015B00
|
|
b _08015B6A
|
|
.align 2, 0
|
|
_08015B00: .4byte gUnknown_80DB5A4
|
|
_08015B04:
|
|
cmp r4, 0x20
|
|
bne _08015B34
|
|
add r0, sp, 0x4
|
|
ldr r1, _08015B30
|
|
adds r2, r5, 0
|
|
bl sub_800D158
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
ldrb r0, [r0, 0x19]
|
|
lsls r1, r0, 8
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r1, r6, r1
|
|
adds r1, r7
|
|
ldrb r0, [r1, 0x4]
|
|
adds r0, 0x1
|
|
ldrb r1, [r1, 0x5]
|
|
mov r2, r9
|
|
str r2, [sp]
|
|
add r2, sp, 0x4
|
|
b _08015B6A
|
|
.align 2, 0
|
|
_08015B30: .4byte gUnknown_80DB5B0
|
|
_08015B34:
|
|
cmp r4, 0xFF
|
|
ble _08015B7C
|
|
ldr r1, _08015B74
|
|
movs r0, 0xFF
|
|
ands r4, r0
|
|
lsls r0, r4, 2
|
|
adds r0, r1
|
|
ldr r3, [r0]
|
|
mov r0, r10
|
|
ldr r1, _08015B78
|
|
adds r2, r5, 0
|
|
bl sub_800D158
|
|
mov r3, r8
|
|
ldr r0, [r3]
|
|
ldrb r0, [r0, 0x19]
|
|
lsls r1, r0, 8
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r1, r6, r1
|
|
adds r1, r7
|
|
ldrb r0, [r1, 0x4]
|
|
adds r0, 0x3
|
|
ldrb r1, [r1, 0x5]
|
|
mov r2, r9
|
|
str r2, [sp]
|
|
mov r2, r10
|
|
_08015B6A:
|
|
movs r3, 0
|
|
bl xxx_call_draw_string
|
|
b _08015B9E
|
|
.align 2, 0
|
|
_08015B74: .4byte gUnknown_80DB4F4
|
|
_08015B78: .4byte gUnknown_80DB5B8
|
|
_08015B7C:
|
|
mov r3, r8
|
|
ldr r0, [r3]
|
|
ldrb r0, [r0, 0x19]
|
|
lsls r1, r0, 8
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r1, r6, r1
|
|
adds r1, r7
|
|
ldrb r0, [r1, 0x4]
|
|
ldrb r1, [r1, 0x5]
|
|
lsls r2, r4, 24
|
|
lsrs r2, 24
|
|
mov r3, r9
|
|
str r3, [sp]
|
|
adds r3, r5, 0
|
|
bl sub_8012C60
|
|
_08015B9E:
|
|
adds r6, 0xC
|
|
ldr r3, _08015C10
|
|
ldr r2, _08015C14
|
|
ldr r0, [r2]
|
|
ldrb r1, [r0, 0x19]
|
|
lsls r0, r1, 8
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6, r0
|
|
adds r1, r3, 0
|
|
adds r1, 0x8
|
|
adds r0, r1
|
|
ldr r4, [r0]
|
|
ldr r0, _08015C18
|
|
cmp r4, r0
|
|
beq _08015BC0
|
|
b _08015A4A
|
|
_08015BC0:
|
|
movs r4, 0xE
|
|
str r4, [sp]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0xE0
|
|
bl sub_800792C
|
|
str r4, [sp]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x47
|
|
movs r3, 0xE0
|
|
bl sub_800792C
|
|
str r4, [sp]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x48
|
|
bl sub_8007A78
|
|
str r4, [sp]
|
|
movs r0, 0
|
|
movs r1, 0xDF
|
|
movs r2, 0
|
|
movs r3, 0x48
|
|
bl sub_8007A78
|
|
movs r0, 0
|
|
bl sub_80073E0
|
|
add sp, 0x24
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08015C10: .4byte gUnknown_80DB0F8
|
|
_08015C14: .4byte gUnknown_203B1FC
|
|
_08015C18: .4byte 0x00000109
|
|
thumb_func_end sub_8015A08
|
|
|
|
thumb_func_start sub_8015C1C
|
|
sub_8015C1C:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x54
|
|
movs r0, 0x1
|
|
bl sub_8008C54
|
|
movs r0, 0x1
|
|
bl sub_80073B8
|
|
ldr r0, _08015C74
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
beq _08015C78
|
|
movs r4, 0xE
|
|
str r4, [sp]
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0xE0
|
|
bl sub_800792C
|
|
str r4, [sp]
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0x37
|
|
movs r3, 0xE0
|
|
bl sub_800792C
|
|
str r4, [sp]
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x38
|
|
bl sub_8007A78
|
|
str r4, [sp]
|
|
movs r0, 0x1
|
|
movs r1, 0xDF
|
|
movs r2, 0
|
|
movs r3, 0x38
|
|
bl sub_8007A78
|
|
b _08015CB2
|
|
.align 2, 0
|
|
_08015C74: .4byte gUnknown_203B1FC
|
|
_08015C78:
|
|
movs r4, 0xE
|
|
str r4, [sp]
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0xB0
|
|
bl sub_800792C
|
|
str r4, [sp]
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0x27
|
|
movs r3, 0xB0
|
|
bl sub_800792C
|
|
str r4, [sp]
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x28
|
|
bl sub_8007A78
|
|
str r4, [sp]
|
|
movs r0, 0x1
|
|
movs r1, 0xAF
|
|
movs r2, 0
|
|
movs r3, 0x28
|
|
bl sub_8007A78
|
|
_08015CB2:
|
|
ldr r0, _08015CC8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x5
|
|
bhi _08015D50
|
|
lsls r0, 2
|
|
ldr r1, _08015CCC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08015CC8: .4byte gUnknown_203B1FC
|
|
_08015CCC: .4byte _08015CD0
|
|
.align 2, 0
|
|
_08015CD0:
|
|
.4byte _08015CE8
|
|
.4byte _08015D18
|
|
.4byte _08015CF8
|
|
.4byte _08015D08
|
|
.4byte _08015D28
|
|
.4byte _08015D40
|
|
_08015CE8:
|
|
ldr r2, _08015CF4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
movs r1, 0x5
|
|
b _08015D32
|
|
.align 2, 0
|
|
_08015CF4: .4byte gUnknown_80DB5C0
|
|
_08015CF8:
|
|
ldr r2, _08015D04
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
movs r1, 0x5
|
|
b _08015D32
|
|
.align 2, 0
|
|
_08015D04: .4byte gUnknown_80DB5D4
|
|
_08015D08:
|
|
ldr r2, _08015D14
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
movs r1, 0x5
|
|
b _08015D32
|
|
.align 2, 0
|
|
_08015D14: .4byte gUnknown_80DB5F8
|
|
_08015D18:
|
|
ldr r2, _08015D24
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
movs r1, 0x5
|
|
b _08015D32
|
|
.align 2, 0
|
|
_08015D24: .4byte gUnknown_80DB61C
|
|
_08015D28:
|
|
ldr r2, _08015D3C
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x36
|
|
movs r1, 0x2
|
|
_08015D32:
|
|
movs r3, 0x1
|
|
bl xxx_call_draw_string
|
|
b _08015D50
|
|
.align 2, 0
|
|
_08015D3C: .4byte gUnknown_80DB638
|
|
_08015D40:
|
|
ldr r2, _08015D64
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x30
|
|
movs r1, 0x4
|
|
movs r3, 0x1
|
|
bl xxx_call_draw_string
|
|
_08015D50:
|
|
ldr r5, _08015D68
|
|
ldr r0, [r5]
|
|
ldr r1, [r0]
|
|
cmp r1, 0x4
|
|
beq _08015D6C
|
|
cmp r1, 0x4
|
|
bcc _08015D88
|
|
cmp r1, 0x5
|
|
beq _08015D7A
|
|
b _08015DFE
|
|
.align 2, 0
|
|
_08015D64: .4byte gUnknown_80DB638
|
|
_08015D68: .4byte gUnknown_203B1FC
|
|
_08015D6C:
|
|
adds r0, 0xF8
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_8015E10
|
|
b _08015DFE
|
|
_08015D7A:
|
|
adds r0, 0xF8
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_8015EB4
|
|
b _08015DFE
|
|
_08015D88:
|
|
bl sub_8016028
|
|
adds r3, r0, 0
|
|
movs r0, 0x4
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
movs r1, 0x26
|
|
movs r2, 0x21
|
|
bl sub_80078A4
|
|
ldr r1, [r5]
|
|
adds r0, r1, 0
|
|
adds r0, 0xF8
|
|
ldr r0, [r0]
|
|
ldrb r1, [r1, 0x1B]
|
|
bl sub_8015FEC
|
|
adds r4, r0, 0
|
|
bl sub_8016028
|
|
cmp r4, r0
|
|
ble _08015DC0
|
|
ldr r1, _08015DBC
|
|
ldr r0, [r5]
|
|
b _08015DD0
|
|
.align 2, 0
|
|
_08015DBC: .4byte gUnknown_80DB654
|
|
_08015DC0:
|
|
bl sub_8015F44
|
|
ldr r2, [r5]
|
|
ldrb r1, [r2, 0x1B]
|
|
cmp r0, r1
|
|
bne _08015DE0
|
|
ldr r1, _08015DDC
|
|
adds r0, r2, 0
|
|
_08015DD0:
|
|
adds r0, 0xF8
|
|
ldr r2, [r0]
|
|
add r0, sp, 0x4
|
|
bl sub_800D158
|
|
b _08015DEE
|
|
.align 2, 0
|
|
_08015DDC: .4byte gUnknown_80DB65C
|
|
_08015DE0:
|
|
ldr r1, _08015E0C
|
|
adds r0, r2, 0
|
|
adds r0, 0xF8
|
|
ldr r2, [r0]
|
|
add r0, sp, 0x4
|
|
bl sub_800D158
|
|
_08015DEE:
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x26
|
|
movs r1, 0x16
|
|
add r2, sp, 0x4
|
|
movs r3, 0x1
|
|
bl xxx_call_draw_string
|
|
_08015DFE:
|
|
movs r0, 0x1
|
|
bl sub_80073E0
|
|
add sp, 0x54
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08015E0C: .4byte gUnknown_80DB664
|
|
thumb_func_end sub_8015C1C
|
|
|
|
thumb_func_start sub_8015E10
|
|
sub_8015E10:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
mov r8, r0
|
|
adds r7, r1, 0
|
|
lsls r2, 16
|
|
asrs r6, r2, 16
|
|
ldr r5, _08015EB0
|
|
movs r4, 0x35
|
|
_08015E24:
|
|
movs r0, 0
|
|
ldrsh r1, [r5, r0]
|
|
movs r0, 0x2
|
|
ldrsh r2, [r5, r0]
|
|
adds r0, r6, 0
|
|
adds r0, 0xB
|
|
adds r2, r0
|
|
movs r0, 0x5
|
|
str r0, [sp]
|
|
adds r0, r7, 0
|
|
movs r3, 0xB
|
|
bl sub_80078A4
|
|
adds r5, 0x4
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
bge _08015E24
|
|
movs r4, 0
|
|
mov r1, r8
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
beq _08015EA4
|
|
mov r5, r8
|
|
_08015E52:
|
|
movs r3, 0x7
|
|
cmp r4, 0x4
|
|
ble _08015E7E
|
|
movs r3, 0x6
|
|
cmp r4, 0xC
|
|
ble _08015E7E
|
|
movs r3, 0x7
|
|
cmp r4, 0x11
|
|
ble _08015E7E
|
|
cmp r4, 0x16
|
|
ble _08015E7E
|
|
movs r3, 0x6
|
|
cmp r4, 0x1E
|
|
ble _08015E7E
|
|
movs r3, 0x7
|
|
cmp r4, 0x23
|
|
ble _08015E7E
|
|
cmp r4, 0x28
|
|
ble _08015E7E
|
|
cmp r4, 0x30
|
|
bgt _08015E7E
|
|
movs r3, 0x6
|
|
_08015E7E:
|
|
ldr r0, _08015EB0
|
|
lsls r1, r4, 2
|
|
adds r1, r0
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
movs r2, 0x2
|
|
ldrsh r1, [r1, r2]
|
|
adds r1, r6
|
|
ldrb r2, [r5]
|
|
str r7, [sp]
|
|
bl sub_8012C60
|
|
adds r5, 0x1
|
|
adds r4, 0x1
|
|
cmp r4, 0x35
|
|
bgt _08015EA4
|
|
ldrb r0, [r5]
|
|
cmp r0, 0
|
|
bne _08015E52
|
|
_08015EA4:
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08015EB0: .4byte gUnknown_80DAFC0
|
|
thumb_func_end sub_8015E10
|
|
|
|
thumb_func_start sub_8015EB4
|
|
sub_8015EB4:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
mov r8, r0
|
|
adds r7, r1, 0
|
|
lsls r2, 16
|
|
asrs r6, r2, 16
|
|
ldr r5, _08015F40
|
|
movs r4, 0x17
|
|
_08015EC8:
|
|
movs r0, 0
|
|
ldrsh r1, [r5, r0]
|
|
movs r0, 0x2
|
|
ldrsh r2, [r5, r0]
|
|
adds r0, r6, 0
|
|
adds r0, 0xB
|
|
adds r2, r0
|
|
movs r0, 0x5
|
|
str r0, [sp]
|
|
adds r0, r7, 0
|
|
movs r3, 0xC
|
|
bl sub_80078A4
|
|
adds r5, 0x4
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
bge _08015EC8
|
|
movs r4, 0
|
|
mov r1, r8
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
beq _08015F34
|
|
mov r5, r8
|
|
_08015EF6:
|
|
movs r3, 0x7
|
|
cmp r4, 0x3
|
|
ble _08015F0E
|
|
movs r3, 0x6
|
|
cmp r4, 0x7
|
|
ble _08015F0E
|
|
movs r3, 0x7
|
|
cmp r4, 0xF
|
|
ble _08015F0E
|
|
cmp r4, 0x13
|
|
bgt _08015F0E
|
|
movs r3, 0x6
|
|
_08015F0E:
|
|
ldr r0, _08015F40
|
|
lsls r1, r4, 2
|
|
adds r1, r0
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
movs r2, 0x2
|
|
ldrsh r1, [r1, r2]
|
|
adds r1, r6
|
|
ldrb r2, [r5]
|
|
str r7, [sp]
|
|
bl sub_8012C60
|
|
adds r5, 0x1
|
|
adds r4, 0x1
|
|
cmp r4, 0x17
|
|
bgt _08015F34
|
|
ldrb r0, [r5]
|
|
cmp r0, 0
|
|
bne _08015EF6
|
|
_08015F34:
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08015F40: .4byte gUnknown_80DB098
|
|
thumb_func_end sub_8015EB4
|
|
|
|
thumb_func_start sub_8015F44
|
|
sub_8015F44:
|
|
push {r4,lr}
|
|
movs r2, 0
|
|
ldr r0, _08015F78
|
|
ldr r0, [r0]
|
|
ldrb r4, [r0, 0x1B]
|
|
cmp r2, r4
|
|
bge _08015F7C
|
|
adds r3, r0, 0
|
|
adds r3, 0xF8
|
|
ldr r0, [r3]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08015F7C
|
|
movs r2, 0x1
|
|
movs r1, 0x1
|
|
_08015F62:
|
|
cmp r1, r4
|
|
bge _08015F7C
|
|
ldr r0, [r3]
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08015F7C
|
|
adds r2, r1, 0x1
|
|
adds r1, r2, 0
|
|
b _08015F62
|
|
.align 2, 0
|
|
_08015F78: .4byte gUnknown_203B1FC
|
|
_08015F7C:
|
|
adds r0, r2, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8015F44
|
|
|
|
thumb_func_start sub_8015F84
|
|
sub_8015F84:
|
|
push {r4-r7,lr}
|
|
movs r6, 0
|
|
movs r5, 0
|
|
ldr r3, _08015FBC
|
|
ldr r0, [r3]
|
|
ldrb r0, [r0, 0x1B]
|
|
cmp r5, r0
|
|
bge _08015FE4
|
|
adds r7, r3, 0
|
|
_08015F96:
|
|
ldr r1, [r7]
|
|
lsls r4, r5, 1
|
|
adds r0, r1, 0
|
|
adds r0, 0x1E
|
|
adds r0, r4
|
|
strh r6, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0xF8
|
|
ldr r0, [r0]
|
|
adds r2, r0, r5
|
|
ldrb r0, [r2]
|
|
cmp r0, 0
|
|
bne _08015FC0
|
|
adds r0, r1, 0
|
|
adds r0, 0x8A
|
|
adds r0, r4
|
|
movs r1, 0x8
|
|
strh r1, [r0]
|
|
b _08015FE4
|
|
.align 2, 0
|
|
_08015FBC: .4byte gUnknown_203B1FC
|
|
_08015FC0:
|
|
ldrb r0, [r2]
|
|
bl sub_8092288
|
|
bl sub_8008584
|
|
ldr r3, [r7]
|
|
adds r1, r3, 0
|
|
adds r1, 0x8A
|
|
adds r1, r4
|
|
ldrh r2, [r0, 0x6]
|
|
strh r2, [r1]
|
|
movs r1, 0x6
|
|
ldrsh r0, [r0, r1]
|
|
adds r6, r0
|
|
adds r5, 0x1
|
|
ldrb r3, [r3, 0x1B]
|
|
cmp r5, r3
|
|
blt _08015F96
|
|
_08015FE4:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8015F84
|
|
|
|
thumb_func_start sub_8015FEC
|
|
sub_8015FEC:
|
|
push {r4-r7,lr}
|
|
adds r2, r0, 0
|
|
adds r5, r1, 0
|
|
movs r7, 0
|
|
movs r6, 0
|
|
cmp r7, r5
|
|
bge _08016020
|
|
ldrb r0, [r2]
|
|
cmp r0, 0
|
|
beq _08016020
|
|
adds r4, r2, 0
|
|
_08016002:
|
|
ldrb r0, [r4]
|
|
bl sub_8092288
|
|
bl sub_8008584
|
|
movs r1, 0x6
|
|
ldrsh r0, [r0, r1]
|
|
adds r7, r0
|
|
adds r4, 0x1
|
|
adds r6, 0x1
|
|
cmp r6, r5
|
|
bge _08016020
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
bne _08016002
|
|
_08016020:
|
|
adds r0, r7, 0
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8015FEC
|
|
|
|
thumb_func_start sub_8016028
|
|
sub_8016028:
|
|
movs r0, 0x3C
|
|
bx lr
|
|
thumb_func_end sub_8016028
|
|
|
|
thumb_func_start sub_801602C
|
|
sub_801602C:
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
adds r5, r1, 0
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, _08016064
|
|
movs r0, 0x50
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
adds r1, r0, 0
|
|
str r1, [r4]
|
|
str r6, [r1]
|
|
str r5, [r1, 0x8]
|
|
cmp r6, 0x1
|
|
beq _0801606E
|
|
cmp r6, 0x1
|
|
bcc _08016068
|
|
cmp r6, 0x2
|
|
beq _0801606E
|
|
cmp r6, 0x3
|
|
beq _0801606E
|
|
b _08016070
|
|
.align 2, 0
|
|
_08016064: .4byte gUnknown_203B200
|
|
_08016068:
|
|
movs r0, 0
|
|
str r0, [r1, 0x4]
|
|
b _08016070
|
|
_0801606E:
|
|
str r6, [r1, 0x4]
|
|
_08016070:
|
|
movs r0, 0
|
|
bl sub_80160F4
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801602C
|
|
|
|
thumb_func_start sub_8016080
|
|
sub_8016080:
|
|
push {lr}
|
|
ldr r0, _08016098
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0xC]
|
|
cmp r0, 0x4
|
|
bhi _080160D0
|
|
lsls r0, 2
|
|
ldr r1, _0801609C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08016098: .4byte gUnknown_203B200
|
|
_0801609C: .4byte _080160A0
|
|
.align 2, 0
|
|
_080160A0:
|
|
.4byte _080160B4
|
|
.4byte _080160BA
|
|
.4byte _080160C0
|
|
.4byte _080160C6
|
|
.4byte _080160CC
|
|
_080160B4:
|
|
bl sub_80161F8
|
|
b _080160D0
|
|
_080160BA:
|
|
bl sub_8016248
|
|
b _080160D0
|
|
_080160C0:
|
|
bl sub_8016280
|
|
b _080160D0
|
|
_080160C6:
|
|
bl sub_801629C
|
|
b _080160D0
|
|
_080160CC:
|
|
movs r0, 0x3
|
|
b _080160D2
|
|
_080160D0:
|
|
movs r0, 0
|
|
_080160D2:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8016080
|
|
|
|
thumb_func_start sub_80160D8
|
|
sub_80160D8:
|
|
push {r4,lr}
|
|
ldr r4, _080160F0
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080160EA
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_080160EA:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080160F0: .4byte gUnknown_203B200
|
|
thumb_func_end sub_80160D8
|
|
|
|
thumb_func_start sub_80160F4
|
|
sub_80160F4:
|
|
push {lr}
|
|
ldr r1, _08016108
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0xC]
|
|
bl nullsub_36
|
|
bl sub_8016110
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08016108: .4byte gUnknown_203B200
|
|
thumb_func_end sub_80160F4
|
|
|
|
thumb_func_start nullsub_36
|
|
nullsub_36:
|
|
bx lr
|
|
thumb_func_end nullsub_36
|
|
|
|
thumb_func_start sub_8016110
|
|
sub_8016110:
|
|
push {r4,lr}
|
|
sub sp, 0x14
|
|
ldr r4, _08016128
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0xC]
|
|
cmp r0, 0x1
|
|
beq _08016140
|
|
cmp r0, 0x1
|
|
bgt _0801612C
|
|
cmp r0, 0
|
|
beq _08016136
|
|
b _080161B8
|
|
.align 2, 0
|
|
_08016128: .4byte gUnknown_203B200
|
|
_0801612C:
|
|
cmp r0, 0x2
|
|
beq _08016194
|
|
cmp r0, 0x3
|
|
beq _080161AC
|
|
b _080161B8
|
|
_08016136:
|
|
ldr r0, [r1, 0x4]
|
|
ldr r1, [r1, 0x8]
|
|
bl sub_80151C0
|
|
b _080161B8
|
|
_08016140:
|
|
bl sub_80161C8
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x4]
|
|
cmp r0, 0x1
|
|
bne _0801615C
|
|
ldr r0, _08016158
|
|
ldr r1, [r1, 0x8]
|
|
movs r2, 0xA
|
|
bl sub_80922B4
|
|
b _08016166
|
|
.align 2, 0
|
|
_08016158: .4byte gUnknown_202DF98
|
|
_0801615C:
|
|
ldr r0, _08016188
|
|
ldr r1, [r1, 0x8]
|
|
movs r2, 0xA
|
|
bl sub_80922B4
|
|
_08016166:
|
|
ldr r0, _0801618C
|
|
ldr r1, _08016190
|
|
ldr r3, [r1]
|
|
adds r3, 0x10
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
movs r1, 0x20
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x3
|
|
bl sub_8014248
|
|
b _080161B8
|
|
.align 2, 0
|
|
_08016188: .4byte gUnknown_202DF98
|
|
_0801618C: .4byte gUnknown_80DB688
|
|
_08016190: .4byte gUnknown_203B200
|
|
_08016194:
|
|
ldr r0, _080161A4
|
|
ldr r3, _080161A8
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _080161B8
|
|
.align 2, 0
|
|
_080161A4: .4byte gUnknown_80DB6A4
|
|
_080161A8: .4byte 0x00000121
|
|
_080161AC:
|
|
ldr r0, _080161C0
|
|
ldr r3, _080161C4
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
_080161B8:
|
|
add sp, 0x14
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080161C0: .4byte gUnknown_80DB6BC
|
|
_080161C4: .4byte 0x00000121
|
|
thumb_func_end sub_8016110
|
|
|
|
thumb_func_start sub_80161C8
|
|
sub_80161C8:
|
|
ldr r0, _080161EC
|
|
ldr r1, [r0]
|
|
ldr r0, _080161F0
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x10]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x14]
|
|
ldr r0, _080161F4
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x18]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x1C]
|
|
movs r0, 0
|
|
str r0, [r1, 0x20]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0x24]
|
|
bx lr
|
|
.align 2, 0
|
|
_080161EC: .4byte gUnknown_203B200
|
|
_080161F0: .4byte gUnknown_80D4920
|
|
_080161F4: .4byte gUnknown_80D4928
|
|
thumb_func_end sub_80161C8
|
|
|
|
thumb_func_start sub_80161F8
|
|
sub_80161F8:
|
|
push {r4,lr}
|
|
bl sub_80154F0
|
|
cmp r0, 0x3
|
|
bne _08016242
|
|
bl sub_80155F0
|
|
bl sub_80162B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08016218
|
|
movs r0, 0x3
|
|
bl sub_80160F4
|
|
b _08016242
|
|
_08016218:
|
|
ldr r0, _08016238
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x8]
|
|
movs r1, 0xA
|
|
bl sub_8015FEC
|
|
adds r4, r0, 0
|
|
bl sub_8016028
|
|
cmp r4, r0
|
|
ble _0801623C
|
|
movs r0, 0x2
|
|
bl sub_80160F4
|
|
b _08016242
|
|
.align 2, 0
|
|
_08016238: .4byte gUnknown_203B200
|
|
_0801623C:
|
|
movs r0, 0x1
|
|
bl sub_80160F4
|
|
_08016242:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80161F8
|
|
|
|
thumb_func_start sub_8016248
|
|
sub_8016248:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0801627A
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _0801626C
|
|
cmp r0, 0x2
|
|
bgt _08016266
|
|
cmp r0, 0x1
|
|
beq _08016274
|
|
b _0801627A
|
|
_08016266:
|
|
cmp r0, 0x3
|
|
beq _08016274
|
|
b _0801627A
|
|
_0801626C:
|
|
movs r0, 0x4
|
|
bl sub_80160F4
|
|
b _0801627A
|
|
_08016274:
|
|
movs r0, 0
|
|
bl sub_80160F4
|
|
_0801627A:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8016248
|
|
|
|
thumb_func_start sub_8016280
|
|
sub_8016280:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08016294
|
|
movs r0, 0
|
|
bl sub_80160F4
|
|
_08016294:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8016280
|
|
|
|
thumb_func_start sub_801629C
|
|
sub_801629C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080162B0
|
|
movs r0, 0
|
|
bl sub_80160F4
|
|
_080162B0:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801629C
|
|
|
|
thumb_func_start sub_80162B8
|
|
sub_80162B8:
|
|
push {lr}
|
|
movs r3, 0xA
|
|
movs r1, 0
|
|
ldr r0, _080162D4
|
|
ldr r0, [r0]
|
|
ldr r2, [r0, 0x8]
|
|
_080162C4:
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080162DE
|
|
cmp r0, 0x20
|
|
beq _080162D8
|
|
movs r0, 0
|
|
b _080162E0
|
|
.align 2, 0
|
|
_080162D4: .4byte gUnknown_203B200
|
|
_080162D8:
|
|
adds r1, 0x1
|
|
cmp r1, r3
|
|
blt _080162C4
|
|
_080162DE:
|
|
movs r0, 0x1
|
|
_080162E0:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80162B8
|
|
|
|
thumb_func_start sub_80162E4
|
|
sub_80162E4:
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r5, _0801633C
|
|
movs r0, 0x84
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r6, 0
|
|
str r6, [r0, 0x10]
|
|
str r4, [r0]
|
|
ldr r0, _08016340
|
|
movs r1, 0x35
|
|
bl sub_808D8E0
|
|
ldr r4, _08016344
|
|
adds r0, r4, 0
|
|
movs r1, 0x35
|
|
bl sub_808D8E0
|
|
movs r0, 0x35
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
subs r4, 0x50
|
|
adds r0, r4, 0
|
|
bl strcpy
|
|
ldr r5, [r5]
|
|
ldr r0, [r5]
|
|
cmp r0, 0x1
|
|
bne _08016348
|
|
adds r0, r5, 0
|
|
adds r0, 0xA4
|
|
str r6, [r0]
|
|
b _08016352
|
|
.align 2, 0
|
|
_0801633C: .4byte gUnknown_203B204
|
|
_08016340: .4byte gUnknown_202E5D8
|
|
_08016344: .4byte gUnknown_202E1C8
|
|
_08016348:
|
|
adds r1, r5, 0
|
|
adds r1, 0xA4
|
|
adds r0, r5, 0
|
|
adds r0, 0x94
|
|
str r0, [r1]
|
|
_08016352:
|
|
movs r0, 0x35
|
|
bl sub_808DDD0
|
|
ldr r2, _0801639C
|
|
ldr r3, [r2]
|
|
adds r1, r3, 0
|
|
adds r1, 0x94
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
ldr r0, [r0, 0x4]
|
|
str r0, [r1]
|
|
adds r0, r3, 0
|
|
adds r0, 0xA0
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
adds r0, 0xA1
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
adds r0, 0xA2
|
|
strb r1, [r0]
|
|
ldr r1, [r2]
|
|
adds r2, r1, 0
|
|
adds r2, 0x9C
|
|
movs r0, 0x2
|
|
strh r0, [r2]
|
|
adds r1, 0x9E
|
|
movs r0, 0x8
|
|
strh r0, [r1]
|
|
movs r0, 0
|
|
bl sub_8016444
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801639C: .4byte gUnknown_203B204
|
|
thumb_func_end sub_80162E4
|
|
|
|
thumb_func_start sub_80163A0
|
|
sub_80163A0:
|
|
push {lr}
|
|
ldr r0, _080163B8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
cmp r0, 0xC
|
|
bhi _08016410
|
|
lsls r0, 2
|
|
ldr r1, _080163BC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080163B8: .4byte gUnknown_203B204
|
|
_080163BC: .4byte _080163C0
|
|
.align 2, 0
|
|
_080163C0:
|
|
.4byte _08016410
|
|
.4byte _080163F4
|
|
.4byte _080163FA
|
|
.4byte _08016410
|
|
.4byte _08016410
|
|
.4byte _08016410
|
|
.4byte _0801640C
|
|
.4byte _08016410
|
|
.4byte _08016400
|
|
.4byte _08016410
|
|
.4byte _08016410
|
|
.4byte _08016406
|
|
.4byte _08016410
|
|
_080163F4:
|
|
bl sub_8016B24
|
|
b _08016414
|
|
_080163FA:
|
|
bl sub_80169BC
|
|
b _08016414
|
|
_08016400:
|
|
bl sub_8016A18
|
|
b _08016414
|
|
_08016406:
|
|
bl sub_8016A8C
|
|
b _08016414
|
|
_0801640C:
|
|
movs r0, 0x3
|
|
b _08016416
|
|
_08016410:
|
|
bl sub_8016B00
|
|
_08016414:
|
|
movs r0, 0
|
|
_08016416:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80163A0
|
|
|
|
thumb_func_start sub_801641C
|
|
sub_801641C:
|
|
push {r4,lr}
|
|
ldr r4, _08016440
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _08016438
|
|
adds r0, 0x94
|
|
ldr r0, [r0]
|
|
bl CloseFile
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_08016438:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08016440: .4byte gUnknown_203B204
|
|
thumb_func_end sub_801641C
|
|
|
|
thumb_func_start sub_8016444
|
|
sub_8016444:
|
|
push {lr}
|
|
ldr r1, _08016458
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x4]
|
|
bl sub_801645C
|
|
bl sub_801653C
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08016458: .4byte gUnknown_203B204
|
|
thumb_func_end sub_8016444
|
|
|
|
thumb_func_start sub_801645C
|
|
sub_801645C:
|
|
push {r4-r7,lr}
|
|
ldr r4, _0801647C
|
|
ldr r0, [r4]
|
|
adds r0, 0xA8
|
|
bl sub_8006518
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0x4]
|
|
cmp r1, 0x8
|
|
beq _080164AC
|
|
cmp r1, 0x8
|
|
bgt _08016480
|
|
cmp r1, 0x2
|
|
beq _08016486
|
|
b _080164F8
|
|
.align 2, 0
|
|
_0801647C: .4byte gUnknown_203B204
|
|
_08016480:
|
|
cmp r1, 0xB
|
|
beq _080164AC
|
|
b _080164F8
|
|
_08016486:
|
|
adds r0, 0xA8
|
|
movs r1, 0x80
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xC0
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xD8
|
|
strb r1, [r0]
|
|
ldr r1, [r4]
|
|
adds r1, 0xF0
|
|
ldr r0, _080164A8
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r6,r7}
|
|
stm r1!, {r2,r6,r7}
|
|
b _080164D8
|
|
.align 2, 0
|
|
_080164A8: .4byte gUnknown_80DB6F4
|
|
_080164AC:
|
|
ldr r4, _080164EC
|
|
ldr r0, [r4]
|
|
adds r0, 0xA8
|
|
movs r1, 0x80
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xC0
|
|
strb r1, [r0]
|
|
ldr r1, [r4]
|
|
adds r1, 0xF0
|
|
ldr r0, _080164F0
|
|
ldm r0!, {r3,r5,r6}
|
|
stm r1!, {r3,r5,r6}
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldr r1, [r4]
|
|
adds r1, 0xD8
|
|
ldr r0, _080164F4
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
_080164D8:
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0xA8
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
b _0801652E
|
|
.align 2, 0
|
|
_080164EC: .4byte gUnknown_203B204
|
|
_080164F0: .4byte gUnknown_80DB6F4
|
|
_080164F4: .4byte gUnknown_80DB70C
|
|
_080164F8:
|
|
ldr r6, _08016534
|
|
mov r12, r6
|
|
ldr r4, _08016538
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_08016502:
|
|
mov r7, r12
|
|
ldr r1, [r7]
|
|
adds r1, r3
|
|
adds r1, 0xA8
|
|
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 _08016502
|
|
bl sub_8004914
|
|
ldr r0, _08016534
|
|
ldr r0, [r0]
|
|
adds r0, 0xA8
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
_0801652E:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08016534: .4byte gUnknown_203B204
|
|
_08016538: .4byte gUnknown_80DB6DC
|
|
thumb_func_end sub_801645C
|
|
|
|
thumb_func_start sub_801653C
|
|
sub_801653C:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x14
|
|
ldr r1, _08016558
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x4]
|
|
adds r2, r1, 0
|
|
cmp r0, 0xC
|
|
bls _0801654E
|
|
b _080168EC
|
|
_0801654E:
|
|
lsls r0, 2
|
|
ldr r1, _0801655C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08016558: .4byte gUnknown_203B204
|
|
_0801655C: .4byte _08016560
|
|
.align 2, 0
|
|
_08016560:
|
|
.4byte _08016594
|
|
.4byte _080165B4
|
|
.4byte _080168B2
|
|
.4byte _08016650
|
|
.4byte _08016668
|
|
.4byte _080166C4
|
|
.4byte _080168EC
|
|
.4byte _080166DC
|
|
.4byte _0801674C
|
|
.4byte _080167A8
|
|
.4byte _080167CC
|
|
.4byte _0801685C
|
|
.4byte _080168C4
|
|
_08016594:
|
|
ldr r2, [r2]
|
|
movs r0, 0x1
|
|
str r0, [r2, 0x8]
|
|
ldr r3, _080165B0
|
|
ldr r1, [r2]
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r0, r3
|
|
ldr r0, [r0]
|
|
adds r2, 0xA4
|
|
ldr r2, [r2]
|
|
b _08016844
|
|
.align 2, 0
|
|
_080165B0: .4byte gUnknown_80D49E0
|
|
_080165B4:
|
|
bl sub_8016900
|
|
ldr r0, _080165FC
|
|
ldr r0, [r0]
|
|
mov r12, r0
|
|
movs r0, 0x2
|
|
mov r1, r12
|
|
str r0, [r1, 0x8]
|
|
ldr r0, _08016600
|
|
ldr r0, [r0]
|
|
movs r3, 0x99
|
|
lsls r3, 2
|
|
adds r0, r3
|
|
ldr r4, [r0]
|
|
cmp r4, 0
|
|
bne _08016608
|
|
ldr r2, _08016604
|
|
ldr r1, [r1]
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x4
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
mov r5, r12
|
|
ldr r2, [r5, 0x10]
|
|
mov r3, r12
|
|
adds r3, 0x14
|
|
mov r1, r12
|
|
adds r1, 0x54
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
b _08016632
|
|
.align 2, 0
|
|
_080165FC: .4byte gUnknown_203B204
|
|
_08016600: .4byte gUnknown_203B460
|
|
_08016604: .4byte gUnknown_80D49E0
|
|
_08016608:
|
|
ldr r0, _08016648
|
|
str r4, [r0]
|
|
ldr r2, _0801664C
|
|
mov r0, r12
|
|
ldr r1, [r0]
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x8
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
mov r1, r12
|
|
ldr r2, [r1, 0x10]
|
|
mov r3, r12
|
|
adds r3, 0x14
|
|
adds r1, 0x54
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
str r1, [sp, 0x8]
|
|
_08016632:
|
|
mov r1, r12
|
|
adds r1, 0xA4
|
|
ldr r1, [r1]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
bl sub_8014248
|
|
b _080168EC
|
|
.align 2, 0
|
|
_08016648: .4byte gUnknown_202DE30
|
|
_0801664C: .4byte gUnknown_80D49E0
|
|
_08016650:
|
|
ldr r3, [r2]
|
|
movs r0, 0x1
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _08016664
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x38
|
|
b _0801683C
|
|
.align 2, 0
|
|
_08016664: .4byte gUnknown_80D49E0
|
|
_08016668:
|
|
ldr r3, [r2]
|
|
movs r0, 0x6
|
|
str r0, [r3, 0x8]
|
|
ldr r0, _08016698
|
|
ldr r0, [r0]
|
|
movs r5, 0x99
|
|
lsls r5, 2
|
|
adds r0, r5
|
|
ldr r1, [r0]
|
|
cmp r1, 0
|
|
bne _080166A0
|
|
ldr r2, _0801669C
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x10
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r1, r3, 0
|
|
adds r1, 0xA4
|
|
ldr r2, [r1]
|
|
b _08016844
|
|
.align 2, 0
|
|
_08016698: .4byte gUnknown_203B460
|
|
_0801669C: .4byte gUnknown_80D49E0
|
|
_080166A0:
|
|
ldr r0, _080166BC
|
|
str r1, [r0]
|
|
ldr r2, _080166C0
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x14
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r1, r3, 0
|
|
adds r1, 0xA4
|
|
ldr r2, [r1]
|
|
b _08016844
|
|
.align 2, 0
|
|
_080166BC: .4byte gUnknown_202DE30
|
|
_080166C0: .4byte gUnknown_80D49E0
|
|
_080166C4:
|
|
ldr r3, [r2]
|
|
movs r0, 0x1
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _080166D8
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0xC
|
|
b _0801683C
|
|
.align 2, 0
|
|
_080166D8: .4byte gUnknown_80D49E0
|
|
_080166DC:
|
|
ldr r0, _08016700
|
|
ldr r1, [r0]
|
|
movs r3, 0x98
|
|
lsls r3, 2
|
|
adds r0, r1, r3
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
bne _08016708
|
|
ldr r3, [r2]
|
|
movs r0, 0x1
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _08016704
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x1C
|
|
b _0801683C
|
|
.align 2, 0
|
|
_08016700: .4byte gUnknown_203B460
|
|
_08016704: .4byte gUnknown_80D49E0
|
|
_08016708:
|
|
movs r5, 0x99
|
|
lsls r5, 2
|
|
adds r0, r1, r5
|
|
ldr r1, [r0]
|
|
ldr r0, _0801672C
|
|
cmp r1, r0
|
|
ble _08016734
|
|
ldr r3, [r2]
|
|
movs r0, 0x1
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _08016730
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x20
|
|
b _0801683C
|
|
.align 2, 0
|
|
_0801672C: .4byte 0x0098967e
|
|
_08016730: .4byte gUnknown_80D49E0
|
|
_08016734:
|
|
ldr r3, [r2]
|
|
movs r0, 0x8
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _08016748
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x18
|
|
b _0801683C
|
|
.align 2, 0
|
|
_08016748: .4byte gUnknown_80D49E0
|
|
_0801674C:
|
|
ldr r4, [r2]
|
|
ldr r0, _080167A0
|
|
ldr r3, [r0]
|
|
movs r1, 0x99
|
|
lsls r1, 2
|
|
adds r0, r3, r1
|
|
ldr r1, [r0]
|
|
ldr r0, _080167A4
|
|
subs r0, r1
|
|
str r0, [r4, 0x70]
|
|
movs r5, 0x98
|
|
lsls r5, 2
|
|
adds r1, r3, r5
|
|
ldr r1, [r1]
|
|
cmp r0, r1
|
|
ble _0801676E
|
|
str r1, [r4, 0x70]
|
|
_0801676E:
|
|
ldr r2, [r2]
|
|
ldr r0, [r2, 0x70]
|
|
str r0, [r2, 0x68]
|
|
movs r0, 0x1
|
|
str r0, [r2, 0x6C]
|
|
movs r0, 0x5
|
|
str r0, [r2, 0x74]
|
|
movs r0, 0x2
|
|
str r0, [r2, 0x78]
|
|
adds r0, r2, 0
|
|
adds r0, 0xD8
|
|
str r0, [r2, 0x7C]
|
|
adds r1, r2, 0
|
|
adds r1, 0x80
|
|
movs r0, 0x50
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x12
|
|
str r0, [r1]
|
|
adds r0, r2, 0
|
|
adds r0, 0x64
|
|
bl sub_8013AA0
|
|
movs r0, 0x1
|
|
b _080168AE
|
|
.align 2, 0
|
|
_080167A0: .4byte gUnknown_203B460
|
|
_080167A4: .4byte 0x0098967f
|
|
_080167A8:
|
|
ldr r3, [r2]
|
|
movs r0, 0x1
|
|
str r0, [r3, 0x8]
|
|
ldr r1, _080167C4
|
|
ldr r0, [r3, 0xC]
|
|
str r0, [r1]
|
|
ldr r2, _080167C8
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x24
|
|
b _0801683C
|
|
.align 2, 0
|
|
_080167C4: .4byte gUnknown_202DE30
|
|
_080167C8: .4byte gUnknown_80D49E0
|
|
_080167CC:
|
|
ldr r0, _080167F4
|
|
ldr r3, [r0]
|
|
movs r1, 0x98
|
|
lsls r1, 2
|
|
adds r0, r3, r1
|
|
ldr r1, [r0]
|
|
ldr r0, _080167F8
|
|
cmp r1, r0
|
|
ble _08016800
|
|
ldr r3, [r2]
|
|
movs r0, 0x1
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _080167FC
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x30
|
|
b _0801683C
|
|
.align 2, 0
|
|
_080167F4: .4byte gUnknown_203B460
|
|
_080167F8: .4byte 0x0001869e
|
|
_080167FC: .4byte gUnknown_80D49E0
|
|
_08016800:
|
|
movs r5, 0x99
|
|
lsls r5, 2
|
|
adds r4, r3, r5
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
bne _08016824
|
|
ldr r3, [r2]
|
|
movs r0, 0x1
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _08016820
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x2C
|
|
b _0801683C
|
|
.align 2, 0
|
|
_08016820: .4byte gUnknown_80D49E0
|
|
_08016824:
|
|
ldr r3, [r2]
|
|
movs r0, 0xB
|
|
str r0, [r3, 0x8]
|
|
ldr r1, _08016850
|
|
ldr r0, [r4]
|
|
str r0, [r1]
|
|
ldr r2, _08016854
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x28
|
|
_0801683C:
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r3, 0xA4
|
|
ldr r2, [r3]
|
|
_08016844:
|
|
ldr r3, _08016858
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
b _080168EC
|
|
.align 2, 0
|
|
_08016850: .4byte gUnknown_202DE30
|
|
_08016854: .4byte gUnknown_80D49E0
|
|
_08016858: .4byte 0x0000010d
|
|
_0801685C:
|
|
ldr r4, [r2]
|
|
ldr r0, _080168BC
|
|
ldr r3, [r0]
|
|
movs r1, 0x98
|
|
lsls r1, 2
|
|
adds r0, r3, r1
|
|
ldr r1, [r0]
|
|
ldr r0, _080168C0
|
|
subs r0, r1
|
|
str r0, [r4, 0x70]
|
|
movs r5, 0x99
|
|
lsls r5, 2
|
|
adds r1, r3, r5
|
|
ldr r1, [r1]
|
|
cmp r0, r1
|
|
ble _0801687E
|
|
str r1, [r4, 0x70]
|
|
_0801687E:
|
|
ldr r2, [r2]
|
|
ldr r0, [r2, 0x70]
|
|
str r0, [r2, 0x68]
|
|
movs r0, 0x1
|
|
str r0, [r2, 0x6C]
|
|
movs r0, 0x5
|
|
str r0, [r2, 0x74]
|
|
movs r0, 0x2
|
|
str r0, [r2, 0x78]
|
|
adds r0, r2, 0
|
|
adds r0, 0xD8
|
|
str r0, [r2, 0x7C]
|
|
adds r1, r2, 0
|
|
adds r1, 0x80
|
|
movs r0, 0x50
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x12
|
|
str r0, [r1]
|
|
adds r0, r2, 0
|
|
adds r0, 0x64
|
|
bl sub_8013AA0
|
|
movs r0, 0
|
|
_080168AE:
|
|
bl sub_8016B48
|
|
_080168B2:
|
|
movs r0, 0x3
|
|
bl sub_8016BB8
|
|
b _080168EC
|
|
.align 2, 0
|
|
_080168BC: .4byte gUnknown_203B460
|
|
_080168C0: .4byte 0x0001869f
|
|
_080168C4:
|
|
ldr r3, [r2]
|
|
movs r0, 0x1
|
|
str r0, [r3, 0x8]
|
|
ldr r1, _080168F4
|
|
ldr r0, [r3, 0xC]
|
|
str r0, [r1]
|
|
ldr r2, _080168F8
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x34
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r3, 0xA4
|
|
ldr r2, [r3]
|
|
ldr r3, _080168FC
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
_080168EC:
|
|
add sp, 0x14
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080168F4: .4byte gUnknown_202DE30
|
|
_080168F8: .4byte gUnknown_80D49E0
|
|
_080168FC: .4byte 0x0000010d
|
|
thumb_func_end sub_801653C
|
|
|
|
thumb_func_start sub_8016900
|
|
sub_8016900:
|
|
push {r4-r7,lr}
|
|
ldr r4, _08016980
|
|
ldr r0, [r4]
|
|
adds r0, 0x54
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r3, [r4]
|
|
movs r2, 0
|
|
ldr r0, _08016984
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x14]
|
|
movs r0, 0x2
|
|
str r0, [r3, 0x18]
|
|
movs r1, 0x1
|
|
ldr r0, _08016988
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x1C]
|
|
movs r0, 0x3
|
|
str r0, [r3, 0x20]
|
|
ldr r0, _0801698C
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x24]
|
|
movs r0, 0x4
|
|
str r0, [r3, 0x28]
|
|
ldr r0, _08016990
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x2C]
|
|
str r1, [r3, 0x30]
|
|
movs r6, 0x4
|
|
str r2, [r3, 0x34]
|
|
str r1, [r3, 0x38]
|
|
movs r5, 0
|
|
mov r12, r3
|
|
adds r3, 0x18
|
|
mov r2, r12
|
|
adds r2, 0x54
|
|
_0801694C:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _0801695C
|
|
ldr r1, [r3]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x10]
|
|
cmp r1, r0
|
|
beq _080169B6
|
|
_0801695C:
|
|
adds r3, 0x8
|
|
adds r2, 0x2
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
blt _0801694C
|
|
movs r5, 0
|
|
cmp r5, r6
|
|
bge _080169B6
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x54
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _08016994
|
|
ldr r0, [r1, 0x18]
|
|
str r0, [r1, 0x10]
|
|
b _080169B6
|
|
.align 2, 0
|
|
_08016980: .4byte gUnknown_203B204
|
|
_08016984: .4byte gUnknown_80D4958
|
|
_08016988: .4byte gUnknown_80D4964
|
|
_0801698C: .4byte gUnknown_80D4970
|
|
_08016990: .4byte gUnknown_80D4934
|
|
_08016994:
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
bge _080169B6
|
|
ldr r2, [r4]
|
|
lsls r0, r5, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0x54
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08016994
|
|
lsls r0, r5, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x18
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x10]
|
|
_080169B6:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8016900
|
|
|
|
thumb_func_start sub_80169BC
|
|
sub_80169BC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08016A10
|
|
ldr r0, _080169E4
|
|
ldr r1, [r0]
|
|
ldr r0, [sp]
|
|
str r0, [r1, 0x10]
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _080169F2
|
|
cmp r0, 0x2
|
|
bgt _080169E8
|
|
cmp r0, 0x1
|
|
beq _08016A0A
|
|
b _08016A10
|
|
.align 2, 0
|
|
_080169E4: .4byte gUnknown_203B204
|
|
_080169E8:
|
|
cmp r0, 0x3
|
|
beq _080169FA
|
|
cmp r0, 0x4
|
|
beq _08016A02
|
|
b _08016A10
|
|
_080169F2:
|
|
movs r0, 0x7
|
|
bl sub_8016444
|
|
b _08016A10
|
|
_080169FA:
|
|
movs r0, 0xA
|
|
bl sub_8016444
|
|
b _08016A10
|
|
_08016A02:
|
|
movs r0, 0x3
|
|
bl sub_8016444
|
|
b _08016A10
|
|
_08016A0A:
|
|
movs r0, 0x4
|
|
bl sub_8016444
|
|
_08016A10:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80169BC
|
|
|
|
thumb_func_start sub_8016A18
|
|
sub_8016A18:
|
|
push {r4,lr}
|
|
ldr r4, _08016A38
|
|
ldr r0, [r4]
|
|
adds r0, 0x64
|
|
bl sub_8013BBC
|
|
cmp r0, 0x1
|
|
beq _08016A3C
|
|
cmp r0, 0x1
|
|
bcc _08016A86
|
|
cmp r0, 0x2
|
|
beq _08016A80
|
|
cmp r0, 0x3
|
|
beq _08016A44
|
|
b _08016A86
|
|
.align 2, 0
|
|
_08016A38: .4byte gUnknown_203B204
|
|
_08016A3C:
|
|
movs r0, 0x1
|
|
bl sub_8016B48
|
|
b _08016A86
|
|
_08016A44:
|
|
ldr r3, [r4]
|
|
ldr r2, [r3, 0x64]
|
|
str r2, [r3, 0xC]
|
|
ldr r0, _08016A7C
|
|
ldr r0, [r0]
|
|
mov r12, r0
|
|
movs r1, 0x99
|
|
lsls r1, 2
|
|
add r1, r12
|
|
ldr r0, [r1]
|
|
adds r0, r2
|
|
str r0, [r1]
|
|
movs r2, 0x98
|
|
lsls r2, 2
|
|
add r2, r12
|
|
ldr r0, [r2]
|
|
ldr r1, [r3, 0xC]
|
|
subs r0, r1
|
|
str r0, [r2]
|
|
movs r0, 0xA6
|
|
lsls r0, 1
|
|
bl sub_8011988
|
|
movs r0, 0x9
|
|
bl sub_8016444
|
|
b _08016A86
|
|
.align 2, 0
|
|
_08016A7C: .4byte gUnknown_203B460
|
|
_08016A80:
|
|
movs r0, 0x5
|
|
bl sub_8016444
|
|
_08016A86:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8016A18
|
|
|
|
thumb_func_start sub_8016A8C
|
|
sub_8016A8C:
|
|
push {r4,lr}
|
|
ldr r4, _08016AAC
|
|
ldr r0, [r4]
|
|
adds r0, 0x64
|
|
bl sub_8013BBC
|
|
cmp r0, 0x1
|
|
beq _08016AB0
|
|
cmp r0, 0x1
|
|
bcc _08016AFA
|
|
cmp r0, 0x2
|
|
beq _08016AF4
|
|
cmp r0, 0x3
|
|
beq _08016AB8
|
|
b _08016AFA
|
|
.align 2, 0
|
|
_08016AAC: .4byte gUnknown_203B204
|
|
_08016AB0:
|
|
movs r0, 0
|
|
bl sub_8016B48
|
|
b _08016AFA
|
|
_08016AB8:
|
|
ldr r3, [r4]
|
|
ldr r2, [r3, 0x64]
|
|
str r2, [r3, 0xC]
|
|
ldr r0, _08016AF0
|
|
ldr r0, [r0]
|
|
mov r12, r0
|
|
movs r1, 0x98
|
|
lsls r1, 2
|
|
add r1, r12
|
|
ldr r0, [r1]
|
|
adds r0, r2
|
|
str r0, [r1]
|
|
movs r2, 0x99
|
|
lsls r2, 2
|
|
add r2, r12
|
|
ldr r0, [r2]
|
|
ldr r1, [r3, 0xC]
|
|
subs r0, r1
|
|
str r0, [r2]
|
|
movs r0, 0xA6
|
|
lsls r0, 1
|
|
bl sub_8011988
|
|
movs r0, 0xC
|
|
bl sub_8016444
|
|
b _08016AFA
|
|
.align 2, 0
|
|
_08016AF0: .4byte gUnknown_203B460
|
|
_08016AF4:
|
|
movs r0, 0x5
|
|
bl sub_8016444
|
|
_08016AFA:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8016A8C
|
|
|
|
thumb_func_start sub_8016B00
|
|
sub_8016B00:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08016B18
|
|
ldr r0, _08016B20
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x8]
|
|
bl sub_8016444
|
|
_08016B18:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08016B20: .4byte gUnknown_203B204
|
|
thumb_func_end sub_8016B00
|
|
|
|
thumb_func_start sub_8016B24
|
|
sub_8016B24:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0x4
|
|
bne _08016B3C
|
|
ldr r0, _08016B44
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x8]
|
|
bl sub_8016444
|
|
_08016B3C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08016B44: .4byte gUnknown_203B204
|
|
thumb_func_end sub_8016B24
|
|
|
|
thumb_func_start sub_8016B48
|
|
sub_8016B48:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r4, _08016B7C
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x78]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x78]
|
|
bl sub_80073B8
|
|
cmp r5, 0
|
|
beq _08016B84
|
|
ldr r0, _08016B80
|
|
ldr r2, [r0]
|
|
ldr r0, [r4]
|
|
ldr r3, [r0, 0x78]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xC
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
b _08016B96
|
|
.align 2, 0
|
|
_08016B7C: .4byte gUnknown_203B204
|
|
_08016B80: .4byte gUnknown_80D49CC
|
|
_08016B84:
|
|
ldr r0, _08016BB0
|
|
ldr r2, [r0]
|
|
ldr r0, [r4]
|
|
ldr r3, [r0, 0x78]
|
|
str r5, [sp]
|
|
movs r0, 0xC
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
_08016B96:
|
|
ldr r4, _08016BB4
|
|
ldr r0, [r4]
|
|
adds r0, 0x64
|
|
bl sub_8013C68
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x78]
|
|
bl sub_80073E0
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08016BB0: .4byte gUnknown_80D49DC
|
|
_08016BB4: .4byte gUnknown_203B204
|
|
thumb_func_end sub_8016B48
|
|
|
|
thumb_func_start sub_8016BB8
|
|
sub_8016BB8:
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
sub sp, 0x8
|
|
adds r4, r0, 0
|
|
bl sub_8008C54
|
|
adds r0, r4, 0
|
|
bl sub_80073B8
|
|
ldr r2, _08016C34
|
|
movs r0, 0
|
|
mov r8, r0
|
|
str r0, [sp]
|
|
movs r0, 0x10
|
|
movs r1, 0x4
|
|
adds r3, r4, 0
|
|
bl xxx_call_draw_string
|
|
ldr r6, _08016C38
|
|
ldr r0, [r6]
|
|
movs r1, 0x98
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
movs r5, 0x5
|
|
str r5, [sp]
|
|
str r4, [sp, 0x4]
|
|
movs r0, 0x60
|
|
movs r1, 0x4
|
|
movs r3, 0x5
|
|
bl sub_8012BC4
|
|
ldr r2, _08016C3C
|
|
mov r0, r8
|
|
str r0, [sp]
|
|
movs r0, 0x70
|
|
movs r1, 0x4
|
|
adds r3, r4, 0
|
|
bl xxx_call_draw_string
|
|
ldr r0, [r6]
|
|
movs r1, 0x99
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
str r5, [sp]
|
|
str r4, [sp, 0x4]
|
|
movs r0, 0xC8
|
|
movs r1, 0x4
|
|
movs r3, 0x7
|
|
bl sub_8012BC4
|
|
adds r0, r4, 0
|
|
bl sub_80073E0
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08016C34: .4byte gUnknown_80DB724
|
|
_08016C38: .4byte gUnknown_203B460
|
|
_08016C3C: .4byte gUnknown_80DB72C
|
|
thumb_func_end sub_8016BB8
|
|
|
|
thumb_func_start sub_8016C40
|
|
sub_8016C40:
|
|
push {r4,lr}
|
|
sub sp, 0x8
|
|
adds r4, r0, 0
|
|
bl sub_8008C54
|
|
adds r0, r4, 0
|
|
bl sub_80073B8
|
|
ldr r2, _08016C8C
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x6
|
|
movs r1, 0
|
|
adds r3, r4, 0
|
|
bl xxx_call_draw_string
|
|
ldr r0, _08016C90
|
|
ldr r0, [r0]
|
|
movs r1, 0x98
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
movs r0, 0x5
|
|
str r0, [sp]
|
|
str r4, [sp, 0x4]
|
|
movs r0, 0x2A
|
|
movs r1, 0xC
|
|
movs r3, 0x5
|
|
bl sub_8012BC4
|
|
adds r0, r4, 0
|
|
bl sub_80073E0
|
|
add sp, 0x8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08016C8C: .4byte gUnknown_80DB738
|
|
_08016C90: .4byte gUnknown_203B460
|
|
thumb_func_end sub_8016C40
|
|
|
|
thumb_func_start sub_8016C94
|
|
sub_8016C94:
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r5, _08016CF0
|
|
movs r0, 0xA6
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r6, 0
|
|
str r6, [r0, 0x18]
|
|
str r6, [r0, 0x1C]
|
|
str r6, [r0, 0x20]
|
|
str r4, [r0]
|
|
ldr r0, _08016CF4
|
|
movs r1, 0x73
|
|
bl sub_808D8E0
|
|
ldr r4, _08016CF8
|
|
adds r0, r4, 0
|
|
movs r1, 0x73
|
|
bl sub_808D8E0
|
|
movs r0, 0x73
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
subs r4, 0x50
|
|
adds r0, r4, 0
|
|
bl strcpy
|
|
ldr r5, [r5]
|
|
ldr r0, [r5]
|
|
cmp r0, 0x1
|
|
bne _08016CFC
|
|
adds r0, r5, 0
|
|
adds r0, 0xE8
|
|
str r6, [r0]
|
|
b _08016D06
|
|
.align 2, 0
|
|
_08016CF0: .4byte gUnknown_203B208
|
|
_08016CF4: .4byte gUnknown_202E5D8
|
|
_08016CF8: .4byte gUnknown_202E1C8
|
|
_08016CFC:
|
|
adds r1, r5, 0
|
|
adds r1, 0xE8
|
|
adds r0, r5, 0
|
|
adds r0, 0xD8
|
|
str r0, [r1]
|
|
_08016D06:
|
|
movs r0, 0x73
|
|
bl sub_808DDD0
|
|
ldr r2, _08016D50
|
|
ldr r3, [r2]
|
|
adds r1, r3, 0
|
|
adds r1, 0xD8
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
ldr r0, [r0, 0x4]
|
|
str r0, [r1]
|
|
adds r0, r3, 0
|
|
adds r0, 0xE4
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
adds r0, 0xE5
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
adds r0, 0xE6
|
|
strb r1, [r0]
|
|
ldr r1, [r2]
|
|
adds r2, r1, 0
|
|
adds r2, 0xE0
|
|
movs r0, 0x2
|
|
strh r0, [r2]
|
|
adds r1, 0xE2
|
|
movs r0, 0x8
|
|
strh r0, [r1]
|
|
movs r0, 0
|
|
bl sub_8016E68
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08016D50: .4byte gUnknown_203B208
|
|
thumb_func_end sub_8016C94
|
|
|
|
thumb_func_start sub_8016D54
|
|
sub_8016D54:
|
|
push {lr}
|
|
ldr r0, _08016D6C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
cmp r0, 0x1C
|
|
bhi _08016E34
|
|
lsls r0, 2
|
|
ldr r1, _08016D70
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08016D6C: .4byte gUnknown_203B208
|
|
_08016D70: .4byte _08016D74
|
|
.align 2, 0
|
|
_08016D74:
|
|
.4byte _08016DE8
|
|
.4byte _08016DE8
|
|
.4byte _08016E34
|
|
.4byte _08016E34
|
|
.4byte _08016E30
|
|
.4byte _08016E34
|
|
.4byte _08016E34
|
|
.4byte _08016E34
|
|
.4byte _08016E34
|
|
.4byte _08016E34
|
|
.4byte _08016E34
|
|
.4byte _08016E34
|
|
.4byte _08016E34
|
|
.4byte _08016DEE
|
|
.4byte _08016DEE
|
|
.4byte _08016DF4
|
|
.4byte _08016DFA
|
|
.4byte _08016E00
|
|
.4byte _08016E06
|
|
.4byte _08016E34
|
|
.4byte _08016E34
|
|
.4byte _08016E34
|
|
.4byte _08016E0C
|
|
.4byte _08016E0C
|
|
.4byte _08016E12
|
|
.4byte _08016E18
|
|
.4byte _08016E1E
|
|
.4byte _08016E24
|
|
.4byte _08016E2A
|
|
_08016DE8:
|
|
bl sub_8017828
|
|
b _08016E38
|
|
_08016DEE:
|
|
bl sub_8017AF8
|
|
b _08016E38
|
|
_08016DF4:
|
|
bl sub_8017C7C
|
|
b _08016E38
|
|
_08016DFA:
|
|
bl sub_8017DC0
|
|
b _08016E38
|
|
_08016E00:
|
|
bl sub_80178D0
|
|
b _08016E38
|
|
_08016E06:
|
|
bl sub_80179A8
|
|
b _08016E38
|
|
_08016E0C:
|
|
bl sub_8017B88
|
|
b _08016E38
|
|
_08016E12:
|
|
bl sub_8017C28
|
|
b _08016E38
|
|
_08016E18:
|
|
bl sub_8017D24
|
|
b _08016E38
|
|
_08016E1E:
|
|
bl sub_8017DDC
|
|
b _08016E38
|
|
_08016E24:
|
|
bl sub_8017928
|
|
b _08016E38
|
|
_08016E2A:
|
|
bl sub_8017A1C
|
|
b _08016E38
|
|
_08016E30:
|
|
movs r0, 0x3
|
|
b _08016E3A
|
|
_08016E34:
|
|
bl sub_8017DF8
|
|
_08016E38:
|
|
movs r0, 0
|
|
_08016E3A:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8016D54
|
|
|
|
thumb_func_start sub_8016E40
|
|
sub_8016E40:
|
|
push {r4,lr}
|
|
ldr r4, _08016E64
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _08016E5C
|
|
adds r0, 0xD8
|
|
ldr r0, [r0]
|
|
bl CloseFile
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_08016E5C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08016E64: .4byte gUnknown_203B208
|
|
thumb_func_end sub_8016E40
|
|
|
|
thumb_func_start sub_8016E68
|
|
sub_8016E68:
|
|
push {lr}
|
|
ldr r1, _08016E7C
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x4]
|
|
bl sub_8016E80
|
|
bl sub_8016FF8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08016E7C: .4byte gUnknown_203B208
|
|
thumb_func_end sub_8016E68
|
|
|
|
thumb_func_start sub_8016E80
|
|
sub_8016E80:
|
|
push {r4-r7,lr}
|
|
ldr r4, _08016EA4
|
|
ldr r0, [r4]
|
|
adds r0, 0xEC
|
|
bl sub_8006518
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x4]
|
|
subs r0, 0xD
|
|
cmp r0, 0xC
|
|
bls _08016E98
|
|
b _08016FB4
|
|
_08016E98:
|
|
lsls r0, 2
|
|
ldr r1, _08016EA8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08016EA4: .4byte gUnknown_203B208
|
|
_08016EA8: .4byte _08016EAC
|
|
.align 2, 0
|
|
_08016EAC:
|
|
.4byte _08016EE0
|
|
.4byte _08016EE0
|
|
.4byte _08016F94
|
|
.4byte _08016FB4
|
|
.4byte _08016FB4
|
|
.4byte _08016FB4
|
|
.4byte _08016FB4
|
|
.4byte _08016FB4
|
|
.4byte _08016FB4
|
|
.4byte _08016F2C
|
|
.4byte _08016F2C
|
|
.4byte _08016F7C
|
|
.4byte _08016F94
|
|
_08016EE0:
|
|
ldr r3, _08016F24
|
|
ldr r1, [r3]
|
|
ldr r2, _08016F28
|
|
adds r1, 0xEC
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4,r5,r7}
|
|
stm r1!, {r4,r5,r7}
|
|
ldr r1, [r3]
|
|
movs r6, 0x82
|
|
lsls r6, 1
|
|
adds r1, r6
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4,r5,r7}
|
|
stm r1!, {r4,r5,r7}
|
|
ldm r0!, {r4,r6,r7}
|
|
stm r1!, {r4,r6,r7}
|
|
ldr r1, [r3]
|
|
movs r5, 0x8E
|
|
lsls r5, 1
|
|
adds r1, r5
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4,r6,r7}
|
|
stm r1!, {r4,r6,r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldr r0, [r3]
|
|
adds r0, 0xEC
|
|
ldm r2!, {r1,r3,r4}
|
|
stm r0!, {r1,r3,r4}
|
|
ldm r2!, {r5-r7}
|
|
stm r0!, {r5-r7}
|
|
b _08016FD8
|
|
.align 2, 0
|
|
_08016F24: .4byte gUnknown_203B208
|
|
_08016F28: .4byte gUnknown_80DB748
|
|
_08016F2C:
|
|
ldr r3, _08016F70
|
|
ldr r1, [r3]
|
|
ldr r2, _08016F74
|
|
adds r1, 0xEC
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4,r5,r7}
|
|
stm r1!, {r4,r5,r7}
|
|
ldr r1, [r3]
|
|
movs r6, 0x82
|
|
lsls r6, 1
|
|
adds r1, r6
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4,r5,r7}
|
|
stm r1!, {r4,r5,r7}
|
|
ldm r0!, {r4,r6,r7}
|
|
stm r1!, {r4,r6,r7}
|
|
ldr r0, [r3]
|
|
movs r5, 0x8E
|
|
lsls r5, 1
|
|
adds r0, r5
|
|
ldm r2!, {r1,r6,r7}
|
|
stm r0!, {r1,r6,r7}
|
|
ldm r2!, {r4-r6}
|
|
stm r0!, {r4-r6}
|
|
ldr r1, [r3]
|
|
adds r1, 0xEC
|
|
ldr r0, _08016F78
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
b _08016FD8
|
|
.align 2, 0
|
|
_08016F70: .4byte gUnknown_203B208
|
|
_08016F74: .4byte gUnknown_80DB748
|
|
_08016F78: .4byte gUnknown_80DB778
|
|
_08016F7C:
|
|
ldr r0, _08016F8C
|
|
ldr r1, [r0]
|
|
movs r7, 0x82
|
|
lsls r7, 1
|
|
adds r1, r7
|
|
ldr r0, _08016F90
|
|
b _08016FA0
|
|
.align 2, 0
|
|
_08016F8C: .4byte gUnknown_203B208
|
|
_08016F90: .4byte gUnknown_80DB790
|
|
_08016F94:
|
|
ldr r0, _08016FAC
|
|
ldr r1, [r0]
|
|
movs r0, 0x8E
|
|
lsls r0, 1
|
|
adds r1, r0
|
|
ldr r0, _08016FB0
|
|
_08016FA0:
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
b _08016FD8
|
|
.align 2, 0
|
|
_08016FAC: .4byte gUnknown_203B208
|
|
_08016FB0: .4byte gUnknown_80DB760
|
|
_08016FB4:
|
|
ldr r0, _08016FF0
|
|
mov r12, r0
|
|
ldr r4, _08016FF4
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_08016FBE:
|
|
mov r5, r12
|
|
ldr r1, [r5]
|
|
adds r1, r3
|
|
adds r1, 0xEC
|
|
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 _08016FBE
|
|
_08016FD8:
|
|
bl sub_8004914
|
|
ldr r0, _08016FF0
|
|
ldr r0, [r0]
|
|
adds r0, 0xEC
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08016FF0: .4byte gUnknown_203B208
|
|
_08016FF4: .4byte gUnknown_80DB748
|
|
thumb_func_end sub_8016E80
|
|
|
|
thumb_func_start sub_8016FF8
|
|
sub_8016FF8:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x14
|
|
ldr r1, _08017014
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x4]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x1D
|
|
bls _0801700A
|
|
b _08017584
|
|
_0801700A:
|
|
lsls r0, 2
|
|
ldr r1, _08017018
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08017014: .4byte gUnknown_203B208
|
|
_08017018: .4byte _0801701C
|
|
.align 2, 0
|
|
_0801701C:
|
|
.4byte _08017094
|
|
.4byte _080170BC
|
|
.4byte _0801710C
|
|
.4byte _0801713C
|
|
.4byte _08017584
|
|
.4byte _0801715C
|
|
.4byte _0801718C
|
|
.4byte _080171BC
|
|
.4byte _080171EC
|
|
.4byte _0801721C
|
|
.4byte _0801724C
|
|
.4byte _0801726C
|
|
.4byte _0801728C
|
|
.4byte _080172AC
|
|
.4byte _080172BA
|
|
.4byte _080172C2
|
|
.4byte _080174A8
|
|
.4byte _080172E4
|
|
.4byte _0801731C
|
|
.4byte _08017344
|
|
.4byte _08017394
|
|
.4byte _080173B4
|
|
.4byte _080173E8
|
|
.4byte _080173F6
|
|
.4byte _08017404
|
|
.4byte _08017474
|
|
.4byte _080174A8
|
|
.4byte _080174B2
|
|
.4byte _080174E8
|
|
.4byte _08017530
|
|
_08017094:
|
|
bl sub_80175FC
|
|
ldr r2, _080170B4
|
|
ldr r0, [r2]
|
|
adds r0, 0xE4
|
|
movs r4, 0
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r3, _080170B8
|
|
ldr r5, [r2]
|
|
ldr r1, [r5]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r0, r3
|
|
b _080170DA
|
|
.align 2, 0
|
|
_080170B4: .4byte gUnknown_203B208
|
|
_080170B8: .4byte gUnknown_80D5404
|
|
_080170BC:
|
|
bl sub_80175FC
|
|
ldr r1, _08017104
|
|
ldr r0, [r1]
|
|
adds r0, 0xE4
|
|
movs r4, 0
|
|
strb r4, [r0]
|
|
ldr r2, _08017108
|
|
ldr r5, [r1]
|
|
ldr r1, [r5]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x4
|
|
adds r0, r2
|
|
_080170DA:
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, 0x18]
|
|
adds r3, r5, 0
|
|
adds r3, 0x24
|
|
adds r1, r5, 0
|
|
adds r1, 0x4C
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
adds r1, r5, 0
|
|
adds r1, 0xE8
|
|
ldr r1, [r1]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
bl sub_8014248
|
|
b _08017584
|
|
.align 2, 0
|
|
_08017104: .4byte gUnknown_203B208
|
|
_08017108: .4byte gUnknown_80D5404
|
|
_0801710C:
|
|
ldr r0, [r4]
|
|
movs r1, 0x1
|
|
str r1, [r0, 0x8]
|
|
adds r0, 0xE4
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r2, _08017134
|
|
ldr r3, [r4]
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x4C
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r3, 0xE8
|
|
ldr r2, [r3]
|
|
ldr r3, _08017138
|
|
b _080173D8
|
|
.align 2, 0
|
|
_08017134: .4byte gUnknown_80D5404
|
|
_08017138: .4byte 0x0000010d
|
|
_0801713C:
|
|
ldr r0, [r4]
|
|
movs r1, 0x4
|
|
str r1, [r0, 0x8]
|
|
adds r0, 0xE4
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r2, _08017158
|
|
ldr r3, [r4]
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x8
|
|
b _080173CE
|
|
.align 2, 0
|
|
_08017158: .4byte gUnknown_80D5404
|
|
_0801715C:
|
|
ldr r0, [r4]
|
|
movs r1, 0x1
|
|
str r1, [r0, 0x8]
|
|
adds r0, 0xE4
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r2, _08017184
|
|
ldr r3, [r4]
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x34
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r3, 0xE8
|
|
ldr r2, [r3]
|
|
ldr r3, _08017188
|
|
b _080173D8
|
|
.align 2, 0
|
|
_08017184: .4byte gUnknown_80D5404
|
|
_08017188: .4byte 0x0000010d
|
|
_0801718C:
|
|
ldr r0, [r4]
|
|
movs r1, 0x1
|
|
str r1, [r0, 0x8]
|
|
adds r0, 0xE4
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r2, _080171B4
|
|
ldr r3, [r4]
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x38
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r3, 0xE8
|
|
ldr r2, [r3]
|
|
ldr r3, _080171B8
|
|
b _080173D8
|
|
.align 2, 0
|
|
_080171B4: .4byte gUnknown_80D5404
|
|
_080171B8: .4byte 0x0000010d
|
|
_080171BC:
|
|
ldr r0, [r4]
|
|
movs r1, 0x1
|
|
str r1, [r0, 0x8]
|
|
adds r0, 0xE4
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r2, _080171E4
|
|
ldr r3, [r4]
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x3C
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r3, 0xE8
|
|
ldr r2, [r3]
|
|
ldr r3, _080171E8
|
|
b _080173D8
|
|
.align 2, 0
|
|
_080171E4: .4byte gUnknown_80D5404
|
|
_080171E8: .4byte 0x0000010d
|
|
_080171EC:
|
|
ldr r0, [r4]
|
|
movs r1, 0x1
|
|
str r1, [r0, 0x8]
|
|
adds r0, 0xE4
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r2, _08017214
|
|
ldr r3, [r4]
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x48
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r3, 0xE8
|
|
ldr r2, [r3]
|
|
ldr r3, _08017218
|
|
b _080173D8
|
|
.align 2, 0
|
|
_08017214: .4byte gUnknown_80D5404
|
|
_08017218: .4byte 0x0000010d
|
|
_0801721C:
|
|
ldr r0, _08017244
|
|
ldr r1, [r4]
|
|
adds r1, 0xC
|
|
movs r2, 0
|
|
bl sub_8090E14
|
|
ldr r0, [r4]
|
|
movs r1, 0xE
|
|
str r1, [r0, 0x8]
|
|
adds r0, 0xE4
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r2, _08017248
|
|
ldr r3, [r4]
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x40
|
|
b _080173CE
|
|
.align 2, 0
|
|
_08017244: .4byte gUnknown_202DE58
|
|
_08017248: .4byte gUnknown_80D5404
|
|
_0801724C:
|
|
ldr r0, [r4]
|
|
movs r1, 0xE
|
|
str r1, [r0, 0x8]
|
|
adds r0, 0xE4
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r2, _08017268
|
|
ldr r3, [r4]
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x44
|
|
b _080173CE
|
|
.align 2, 0
|
|
_08017268: .4byte gUnknown_80D5404
|
|
_0801726C:
|
|
ldr r0, [r4]
|
|
movs r1, 0xD
|
|
str r1, [r0, 0x8]
|
|
adds r0, 0xE4
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r2, _08017288
|
|
ldr r3, [r4]
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0xC
|
|
b _080173CE
|
|
.align 2, 0
|
|
_08017288: .4byte gUnknown_80D5404
|
|
_0801728C:
|
|
ldr r0, [r4]
|
|
movs r1, 0xE
|
|
str r1, [r0, 0x8]
|
|
adds r0, 0xE4
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r2, _080172A8
|
|
ldr r3, [r4]
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x10
|
|
b _080173CE
|
|
.align 2, 0
|
|
_080172A8: .4byte gUnknown_80D5404
|
|
_080172AC:
|
|
movs r0, 0x3
|
|
movs r1, 0x3
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl sub_801A5D8
|
|
b _08017584
|
|
_080172BA:
|
|
movs r0, 0x1
|
|
bl sub_801A8D0
|
|
b _08017584
|
|
_080172C2:
|
|
bl sub_801A9E0
|
|
bl sub_80176B8
|
|
ldr r0, _080172E0
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x58
|
|
adds r1, r2, 0
|
|
adds r1, 0x24
|
|
adds r3, r2, 0
|
|
adds r3, 0x4C
|
|
ldr r2, [r2, 0x1C]
|
|
b _08017494
|
|
.align 2, 0
|
|
_080172E0: .4byte gUnknown_203B208
|
|
_080172E4:
|
|
bl sub_80177F8
|
|
ldr r0, _08017310
|
|
ldr r4, _08017314
|
|
ldr r1, [r4]
|
|
adds r1, 0xC
|
|
movs r2, 0
|
|
bl sub_8090E14
|
|
ldr r0, [r4]
|
|
adds r0, 0xE4
|
|
movs r5, 0
|
|
strb r5, [r0]
|
|
ldr r2, _08017318
|
|
ldr r4, [r4]
|
|
ldr r1, [r4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x14
|
|
b _08017504
|
|
.align 2, 0
|
|
_08017310: .4byte gUnknown_202DE58
|
|
_08017314: .4byte gUnknown_203B208
|
|
_08017318: .4byte gUnknown_80D5404
|
|
_0801731C:
|
|
bl sub_80177F8
|
|
ldr r1, _0801733C
|
|
ldr r0, [r1]
|
|
adds r0, 0xE4
|
|
movs r5, 0
|
|
strb r5, [r0]
|
|
ldr r2, _08017340
|
|
ldr r4, [r1]
|
|
ldr r1, [r4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x18
|
|
b _08017504
|
|
.align 2, 0
|
|
_0801733C: .4byte gUnknown_203B208
|
|
_08017340: .4byte gUnknown_80D5404
|
|
_08017344:
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
bne _0801735C
|
|
bl sub_801A928
|
|
ldr r0, _08017358
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
b _08017362
|
|
.align 2, 0
|
|
_08017358: .4byte gUnknown_203B208
|
|
_0801735C:
|
|
ldr r0, _08017388
|
|
ldr r1, [r0]
|
|
movs r0, 0xC
|
|
_08017362:
|
|
str r0, [r1, 0x8]
|
|
ldr r3, _08017388
|
|
ldr r0, [r3]
|
|
adds r0, 0xE4
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r2, _0801738C
|
|
ldr r3, [r3]
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x1C
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r3, 0xE8
|
|
ldr r2, [r3]
|
|
ldr r3, _08017390
|
|
b _080173D8
|
|
.align 2, 0
|
|
_08017388: .4byte gUnknown_203B208
|
|
_0801738C: .4byte gUnknown_80D5404
|
|
_08017390: .4byte 0x0000010d
|
|
_08017394:
|
|
ldr r0, [r4]
|
|
movs r1, 0x16
|
|
str r1, [r0, 0x8]
|
|
adds r0, 0xE4
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r2, _080173B0
|
|
ldr r3, [r4]
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x20
|
|
b _080173CE
|
|
.align 2, 0
|
|
_080173B0: .4byte gUnknown_80D5404
|
|
_080173B4:
|
|
ldr r0, [r4]
|
|
movs r1, 0x17
|
|
str r1, [r0, 0x8]
|
|
adds r0, 0xE4
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r2, _080173E0
|
|
ldr r3, [r4]
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x24
|
|
_080173CE:
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r3, 0xE8
|
|
ldr r2, [r3]
|
|
ldr r3, _080173E4
|
|
_080173D8:
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
b _08017584
|
|
.align 2, 0
|
|
_080173E0: .4byte gUnknown_80D5404
|
|
_080173E4: .4byte 0x0000030d
|
|
_080173E8:
|
|
movs r0, 0x1
|
|
movs r1, 0x3
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl sub_801C8C4
|
|
b _080173FC
|
|
_080173F6:
|
|
movs r0, 0x1
|
|
bl sub_801CB5C
|
|
_080173FC:
|
|
movs r0, 0
|
|
bl sub_801AD34
|
|
b _08017584
|
|
_08017404:
|
|
ldr r2, [r4]
|
|
adds r1, r2, 0
|
|
adds r1, 0xB8
|
|
movs r0, 0x2
|
|
str r0, [r1]
|
|
subs r1, 0x8
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
ldr r0, _08017430
|
|
ldr r1, [r0]
|
|
ldrb r0, [r2, 0xE]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r3, r1, r0
|
|
ldrh r0, [r3]
|
|
cmp r0, 0x63
|
|
bls _08017434
|
|
adds r1, r2, 0
|
|
adds r1, 0xB4
|
|
movs r0, 0x63
|
|
b _0801743A
|
|
.align 2, 0
|
|
_08017430: .4byte gUnknown_203B460
|
|
_08017434:
|
|
adds r1, r2, 0
|
|
adds r1, 0xB4
|
|
ldrh r0, [r3]
|
|
_0801743A:
|
|
str r0, [r1]
|
|
ldr r2, [r4]
|
|
adds r1, r2, 0
|
|
adds r1, 0xAC
|
|
adds r0, r2, 0
|
|
adds r0, 0xB4
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r1, 0x10
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r3, 0x82
|
|
lsls r3, 1
|
|
adds r0, r2, r3
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x28
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x12
|
|
str r0, [r1]
|
|
adds r0, r2, 0
|
|
adds r0, 0xA8
|
|
bl sub_8013AA0
|
|
bl sub_8017598
|
|
b _08017584
|
|
_08017474:
|
|
bl sub_801CCD8
|
|
movs r0, 0
|
|
bl sub_801AD34
|
|
bl sub_8017758
|
|
ldr r0, _080174A4
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x58
|
|
adds r1, r2, 0
|
|
adds r1, 0x24
|
|
adds r3, r2, 0
|
|
adds r3, 0x4C
|
|
ldr r2, [r2, 0x20]
|
|
_08017494:
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8012D60
|
|
b _08017584
|
|
.align 2, 0
|
|
_080174A4: .4byte gUnknown_203B208
|
|
_080174A8:
|
|
ldr r0, [r4]
|
|
adds r0, 0xC
|
|
bl sub_801B3C0
|
|
b _08017584
|
|
_080174B2:
|
|
bl sub_80177F8
|
|
ldr r0, _080174DC
|
|
ldr r4, _080174E0
|
|
ldr r1, [r4]
|
|
adds r1, 0xC
|
|
movs r2, 0
|
|
bl sub_8090E14
|
|
ldr r0, [r4]
|
|
adds r0, 0xE4
|
|
movs r5, 0
|
|
strb r5, [r0]
|
|
ldr r2, _080174E4
|
|
ldr r4, [r4]
|
|
ldr r1, [r4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x28
|
|
b _08017504
|
|
.align 2, 0
|
|
_080174DC: .4byte gUnknown_202DE58
|
|
_080174E0: .4byte gUnknown_203B208
|
|
_080174E4: .4byte gUnknown_80D5404
|
|
_080174E8:
|
|
bl sub_80177F8
|
|
ldr r1, _08017528
|
|
ldr r0, [r1]
|
|
adds r0, 0xE4
|
|
movs r5, 0
|
|
strb r5, [r0]
|
|
ldr r2, _0801752C
|
|
ldr r4, [r1]
|
|
ldr r1, [r4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x2C
|
|
_08017504:
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r3, r4, 0
|
|
adds r3, 0x24
|
|
str r5, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r5, [sp, 0x8]
|
|
adds r4, 0xE8
|
|
ldr r1, [r4]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x4
|
|
bl sub_8014248
|
|
b _08017584
|
|
.align 2, 0
|
|
_08017528: .4byte gUnknown_203B208
|
|
_0801752C: .4byte gUnknown_80D5404
|
|
_08017530:
|
|
movs r0, 0x1
|
|
bl sub_801CF14
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08017544
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
ble _08017554
|
|
_08017544:
|
|
bl sub_801CBB8
|
|
ldr r0, _08017550
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
b _0801755A
|
|
.align 2, 0
|
|
_08017550: .4byte gUnknown_203B208
|
|
_08017554:
|
|
ldr r0, _0801758C
|
|
ldr r1, [r0]
|
|
movs r0, 0x15
|
|
_0801755A:
|
|
str r0, [r1, 0x8]
|
|
ldr r3, _0801758C
|
|
ldr r0, [r3]
|
|
adds r0, 0xE4
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r2, _08017590
|
|
ldr r3, [r3]
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x30
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r3, 0xE8
|
|
ldr r2, [r3]
|
|
ldr r3, _08017594
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
_08017584:
|
|
add sp, 0x14
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801758C: .4byte gUnknown_203B208
|
|
_08017590: .4byte gUnknown_80D5404
|
|
_08017594: .4byte 0x0000010d
|
|
thumb_func_end sub_8016FF8
|
|
|
|
thumb_func_start sub_8017598
|
|
sub_8017598:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r4, _080175F4
|
|
ldr r0, [r4]
|
|
adds r0, 0xBC
|
|
ldr r0, [r0]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
adds r0, 0xBC
|
|
ldr r0, [r0]
|
|
bl sub_80073B8
|
|
ldr r2, _080175F8
|
|
ldr r0, [r4]
|
|
adds r0, 0xBC
|
|
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, 0xA8
|
|
bl sub_8013C68
|
|
ldr r0, [r4]
|
|
adds r0, 0xBC
|
|
ldr r0, [r0]
|
|
bl sub_80073E0
|
|
bl sub_801CCD8
|
|
movs r0, 0
|
|
bl sub_801AD34
|
|
ldr r0, [r4]
|
|
adds r0, 0x58
|
|
movs r1, 0
|
|
bl sub_8012EA4
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080175F4: .4byte gUnknown_203B208
|
|
_080175F8: .4byte gUnknown_80DB7A8
|
|
thumb_func_end sub_8017598
|
|
|
|
thumb_func_start sub_80175FC
|
|
sub_80175FC:
|
|
push {r4-r7,lr}
|
|
ldr r4, _0801767C
|
|
ldr r0, [r4]
|
|
adds r0, 0x4C
|
|
movs r1, 0
|
|
movs r2, 0xA
|
|
bl MemoryFill16
|
|
ldr r3, [r4]
|
|
movs r2, 0
|
|
ldr r0, _08017680
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x24]
|
|
movs r0, 0x2
|
|
str r0, [r3, 0x28]
|
|
movs r1, 0x1
|
|
ldr r0, _08017684
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x2C]
|
|
movs r0, 0x3
|
|
str r0, [r3, 0x30]
|
|
ldr r0, _08017688
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x34]
|
|
movs r0, 0x6
|
|
str r0, [r3, 0x38]
|
|
ldr r0, _0801768C
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x3C]
|
|
str r1, [r3, 0x40]
|
|
movs r6, 0x4
|
|
str r2, [r3, 0x44]
|
|
str r1, [r3, 0x48]
|
|
movs r5, 0
|
|
mov r12, r3
|
|
adds r3, 0x28
|
|
mov r2, r12
|
|
adds r2, 0x4C
|
|
_08017648:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _08017658
|
|
ldr r1, [r3]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x18]
|
|
cmp r1, r0
|
|
beq _080176B2
|
|
_08017658:
|
|
adds r3, 0x8
|
|
adds r2, 0x2
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
blt _08017648
|
|
movs r5, 0
|
|
cmp r5, r6
|
|
bge _080176B2
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x4C
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _08017690
|
|
ldr r0, [r1, 0x28]
|
|
str r0, [r1, 0x18]
|
|
b _080176B2
|
|
.align 2, 0
|
|
_0801767C: .4byte gUnknown_203B208
|
|
_08017680: .4byte gUnknown_80D4958
|
|
_08017684: .4byte gUnknown_80D4964
|
|
_08017688: .4byte gUnknown_80D4970
|
|
_0801768C: .4byte gUnknown_80D4934
|
|
_08017690:
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
bge _080176B2
|
|
ldr r2, [r4]
|
|
lsls r0, r5, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0x4C
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08017690
|
|
lsls r0, r5, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x28
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x18]
|
|
_080176B2:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80175FC
|
|
|
|
thumb_func_start sub_80176B8
|
|
sub_80176B8:
|
|
push {r4-r7,lr}
|
|
ldr r4, _08017724
|
|
ldr r0, [r4]
|
|
adds r0, 0x4C
|
|
movs r1, 0
|
|
movs r2, 0xA
|
|
bl MemoryFill16
|
|
ldr r3, [r4]
|
|
movs r2, 0
|
|
ldr r0, _08017728
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x24]
|
|
movs r0, 0x2
|
|
str r0, [r3, 0x28]
|
|
movs r1, 0x1
|
|
ldr r0, _0801772C
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x2C]
|
|
movs r0, 0x6
|
|
str r0, [r3, 0x30]
|
|
movs r6, 0x2
|
|
str r2, [r3, 0x34]
|
|
str r1, [r3, 0x38]
|
|
movs r5, 0
|
|
mov r12, r3
|
|
adds r3, 0x28
|
|
mov r2, r12
|
|
adds r2, 0x4C
|
|
_080176F2:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _08017702
|
|
ldr r1, [r3]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x1C]
|
|
cmp r1, r0
|
|
beq _08017752
|
|
_08017702:
|
|
adds r3, 0x8
|
|
adds r2, 0x2
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
blt _080176F2
|
|
movs r5, 0
|
|
cmp r5, r6
|
|
bge _08017752
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x4C
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _08017730
|
|
ldr r0, [r1, 0x28]
|
|
str r0, [r1, 0x1C]
|
|
b _08017752
|
|
.align 2, 0
|
|
_08017724: .4byte gUnknown_203B208
|
|
_08017728: .4byte gUnknown_80D4958
|
|
_0801772C: .4byte gUnknown_80D4970
|
|
_08017730:
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
bge _08017752
|
|
ldr r2, [r4]
|
|
lsls r0, r5, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0x4C
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08017730
|
|
lsls r0, r5, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x28
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x1C]
|
|
_08017752:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80176B8
|
|
|
|
thumb_func_start sub_8017758
|
|
sub_8017758:
|
|
push {r4-r7,lr}
|
|
ldr r4, _080177C4
|
|
ldr r0, [r4]
|
|
adds r0, 0x4C
|
|
movs r1, 0
|
|
movs r2, 0xA
|
|
bl MemoryFill16
|
|
ldr r3, [r4]
|
|
movs r2, 0
|
|
ldr r0, _080177C8
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x24]
|
|
movs r0, 0x3
|
|
str r0, [r3, 0x28]
|
|
movs r1, 0x1
|
|
ldr r0, _080177CC
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x2C]
|
|
movs r0, 0x6
|
|
str r0, [r3, 0x30]
|
|
movs r6, 0x2
|
|
str r2, [r3, 0x34]
|
|
str r1, [r3, 0x38]
|
|
movs r5, 0
|
|
mov r12, r3
|
|
adds r3, 0x28
|
|
mov r2, r12
|
|
adds r2, 0x4C
|
|
_08017792:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _080177A2
|
|
ldr r1, [r3]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x20]
|
|
cmp r1, r0
|
|
beq _080177F2
|
|
_080177A2:
|
|
adds r3, 0x8
|
|
adds r2, 0x2
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
blt _08017792
|
|
movs r5, 0
|
|
cmp r5, r6
|
|
bge _080177F2
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x4C
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _080177D0
|
|
ldr r0, [r1, 0x28]
|
|
str r0, [r1, 0x20]
|
|
b _080177F2
|
|
.align 2, 0
|
|
_080177C4: .4byte gUnknown_203B208
|
|
_080177C8: .4byte gUnknown_80D4964
|
|
_080177CC: .4byte gUnknown_80D4970
|
|
_080177D0:
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
bge _080177F2
|
|
ldr r2, [r4]
|
|
lsls r0, r5, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0x4C
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _080177D0
|
|
lsls r0, r5, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x28
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x20]
|
|
_080177F2:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8017758
|
|
|
|
thumb_func_start sub_80177F8
|
|
sub_80177F8:
|
|
ldr r0, _0801781C
|
|
ldr r1, [r0]
|
|
movs r3, 0
|
|
ldr r0, _08017820
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x24]
|
|
movs r0, 0x4
|
|
str r0, [r1, 0x28]
|
|
movs r2, 0x1
|
|
ldr r0, _08017824
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x2C]
|
|
movs r0, 0x5
|
|
str r0, [r1, 0x30]
|
|
str r3, [r1, 0x34]
|
|
str r2, [r1, 0x38]
|
|
bx lr
|
|
.align 2, 0
|
|
_0801781C: .4byte gUnknown_203B208
|
|
_08017820: .4byte gUnknown_80D4920
|
|
_08017824: .4byte gUnknown_80D4928
|
|
thumb_func_end sub_80177F8
|
|
|
|
thumb_func_start sub_8017828
|
|
sub_8017828:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080178C8
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _08017842
|
|
ldr r0, _08017854
|
|
ldr r0, [r0]
|
|
str r1, [r0, 0x18]
|
|
_08017842:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _08017862
|
|
cmp r0, 0x2
|
|
bgt _08017858
|
|
cmp r0, 0x1
|
|
beq _080178C2
|
|
b _080178C8
|
|
.align 2, 0
|
|
_08017854: .4byte gUnknown_203B208
|
|
_08017858:
|
|
cmp r0, 0x3
|
|
beq _0801788E
|
|
cmp r0, 0x6
|
|
beq _080178BA
|
|
b _080178C8
|
|
_08017862:
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
bne _08017872
|
|
movs r0, 0x5
|
|
bl sub_8016E68
|
|
b _080178C8
|
|
_08017872:
|
|
movs r0, 0
|
|
bl sub_801CF50
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08017886
|
|
movs r0, 0x8
|
|
bl sub_8016E68
|
|
b _080178C8
|
|
_08017886:
|
|
movs r0, 0xB
|
|
bl sub_8016E68
|
|
b _080178C8
|
|
_0801788E:
|
|
movs r0, 0x1
|
|
bl sub_801CF14
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080178A2
|
|
movs r0, 0x7
|
|
bl sub_8016E68
|
|
b _080178C8
|
|
_080178A2:
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
ble _080178B2
|
|
movs r0, 0x6
|
|
bl sub_8016E68
|
|
b _080178C8
|
|
_080178B2:
|
|
movs r0, 0x14
|
|
bl sub_8016E68
|
|
b _080178C8
|
|
_080178BA:
|
|
movs r0, 0x2
|
|
bl sub_8016E68
|
|
b _080178C8
|
|
_080178C2:
|
|
movs r0, 0x3
|
|
bl sub_8016E68
|
|
_080178C8:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8017828
|
|
|
|
thumb_func_start sub_80178D0
|
|
sub_80178D0:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0801791E
|
|
ldr r0, [sp]
|
|
cmp r0, 0x4
|
|
beq _080178F4
|
|
cmp r0, 0x4
|
|
bgt _080178EE
|
|
cmp r0, 0x1
|
|
beq _08017918
|
|
b _0801791E
|
|
_080178EE:
|
|
cmp r0, 0x5
|
|
beq _08017918
|
|
b _0801791E
|
|
_080178F4:
|
|
ldr r4, _08017914
|
|
ldr r0, [r4]
|
|
adds r0, 0xC
|
|
bl sub_80917B8
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x10]
|
|
bl sub_80911F8
|
|
bl sub_80910B4
|
|
movs r0, 0x13
|
|
bl sub_8016E68
|
|
b _0801791E
|
|
.align 2, 0
|
|
_08017914: .4byte gUnknown_203B208
|
|
_08017918:
|
|
movs r0, 0xE
|
|
bl sub_8016E68
|
|
_0801791E:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80178D0
|
|
|
|
thumb_func_start sub_8017928
|
|
sub_8017928:
|
|
push {lr}
|
|
sub sp, 0x8
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080179A2
|
|
ldr r0, [sp]
|
|
cmp r0, 0x4
|
|
beq _0801794C
|
|
cmp r0, 0x4
|
|
bgt _08017946
|
|
cmp r0, 0x1
|
|
beq _0801799C
|
|
b _080179A2
|
|
_08017946:
|
|
cmp r0, 0x5
|
|
beq _0801799C
|
|
b _080179A2
|
|
_0801794C:
|
|
ldr r0, _0801798C
|
|
ldr r1, [r0]
|
|
ldr r0, _08017990
|
|
ldr r3, [r0]
|
|
ldrb r0, [r3, 0xE]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldrb r2, [r3, 0xD]
|
|
ldrh r0, [r1]
|
|
subs r0, r2
|
|
strh r0, [r1]
|
|
ldrb r2, [r3, 0xE]
|
|
ldr r1, _08017994
|
|
ldr r0, [sp, 0x4]
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
str r0, [sp, 0x4]
|
|
ldrb r1, [r3, 0xD]
|
|
lsls r1, 8
|
|
ldr r2, _08017998
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
str r0, [sp, 0x4]
|
|
add r0, sp, 0x4
|
|
bl sub_8091274
|
|
movs r0, 0x1D
|
|
bl sub_8016E68
|
|
b _080179A2
|
|
.align 2, 0
|
|
_0801798C: .4byte gUnknown_203B460
|
|
_08017990: .4byte gUnknown_203B208
|
|
_08017994: .4byte 0xffffff00
|
|
_08017998: .4byte 0xffff00ff
|
|
_0801799C:
|
|
movs r0, 0x17
|
|
bl sub_8016E68
|
|
_080179A2:
|
|
add sp, 0x8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8017928
|
|
|
|
thumb_func_start sub_80179A8
|
|
sub_80179A8:
|
|
push {r4-r7,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08017A12
|
|
ldr r0, [sp]
|
|
cmp r0, 0x4
|
|
beq _080179CC
|
|
cmp r0, 0x4
|
|
bgt _080179C6
|
|
cmp r0, 0x1
|
|
beq _08017A0C
|
|
b _08017A12
|
|
_080179C6:
|
|
cmp r0, 0x5
|
|
beq _08017A0C
|
|
b _08017A12
|
|
_080179CC:
|
|
movs r5, 0
|
|
ldr r6, _08017A08
|
|
movs r7, 0
|
|
_080179D2:
|
|
adds r0, r5, 0
|
|
bl sub_801AED0
|
|
cmp r0, 0
|
|
beq _080179F2
|
|
lsls r4, r5, 2
|
|
ldr r0, [r6]
|
|
adds r0, r4
|
|
bl sub_80917B8
|
|
ldr r0, [r6]
|
|
adds r0, r4
|
|
strb r7, [r0, 0x2]
|
|
ldr r0, [r6]
|
|
adds r0, r4
|
|
strb r7, [r0]
|
|
_080179F2:
|
|
adds r5, 0x1
|
|
cmp r5, 0x13
|
|
ble _080179D2
|
|
bl sub_80910B4
|
|
bl sub_801AE84
|
|
movs r0, 0x13
|
|
bl sub_8016E68
|
|
b _08017A12
|
|
.align 2, 0
|
|
_08017A08: .4byte gUnknown_203B460
|
|
_08017A0C:
|
|
movs r0, 0xE
|
|
bl sub_8016E68
|
|
_08017A12:
|
|
add sp, 0x4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80179A8
|
|
|
|
thumb_func_start sub_8017A1C
|
|
sub_8017A1C:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08017AEE
|
|
ldr r0, [sp]
|
|
cmp r0, 0x4
|
|
beq _08017A40
|
|
cmp r0, 0x4
|
|
bgt _08017A3A
|
|
cmp r0, 0x1
|
|
beq _08017AE8
|
|
b _08017AEE
|
|
_08017A3A:
|
|
cmp r0, 0x5
|
|
beq _08017AE8
|
|
b _08017AEE
|
|
_08017A40:
|
|
movs r5, 0
|
|
ldr r6, _08017A88
|
|
_08017A44:
|
|
lsls r0, r5, 24
|
|
lsrs r4, r0, 24
|
|
adds r0, r4, 0
|
|
bl sub_801CFE0
|
|
cmp r0, 0
|
|
beq _08017ACE
|
|
ldr r1, _08017A8C
|
|
ldr r0, [sp, 0x4]
|
|
ands r0, r1
|
|
orrs r0, r4
|
|
str r0, [sp, 0x4]
|
|
add r4, sp, 0x4
|
|
ldrb r0, [r4]
|
|
bl sub_8090A60
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08017AA2
|
|
ldr r2, _08017A90
|
|
ldr r1, [r2]
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldrh r1, [r1]
|
|
cmp r1, 0x63
|
|
bls _08017A94
|
|
ldr r0, [sp, 0x4]
|
|
ands r0, r6
|
|
movs r1, 0xC6
|
|
lsls r1, 7
|
|
b _08017A9C
|
|
.align 2, 0
|
|
_08017A88: .4byte 0xffff00ff
|
|
_08017A8C: .4byte 0xffffff00
|
|
_08017A90: .4byte gUnknown_203B460
|
|
_08017A94:
|
|
lsls r1, 24
|
|
lsrs r1, 16
|
|
ldr r0, [sp, 0x4]
|
|
ands r0, r6
|
|
_08017A9C:
|
|
orrs r0, r1
|
|
str r0, [sp, 0x4]
|
|
b _08017AB0
|
|
_08017AA2:
|
|
ldr r0, [sp, 0x4]
|
|
ands r0, r6
|
|
movs r1, 0x80
|
|
lsls r1, 1
|
|
orrs r0, r1
|
|
str r0, [sp, 0x4]
|
|
ldr r2, _08017AE4
|
|
_08017AB0:
|
|
ldr r3, [r2]
|
|
add r0, sp, 0x4
|
|
ldrb r1, [r4]
|
|
lsls r1, 1
|
|
adds r3, 0x50
|
|
adds r3, r1
|
|
ldr r1, [sp, 0x4]
|
|
lsrs r1, 8
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldrh r2, [r3]
|
|
subs r2, r1
|
|
strh r2, [r3]
|
|
bl sub_8091274
|
|
_08017ACE:
|
|
adds r5, 0x1
|
|
cmp r5, 0xEF
|
|
ble _08017A44
|
|
bl sub_80910B4
|
|
bl sub_801CF94
|
|
movs r0, 0x1D
|
|
bl sub_8016E68
|
|
b _08017AEE
|
|
.align 2, 0
|
|
_08017AE4: .4byte gUnknown_203B460
|
|
_08017AE8:
|
|
movs r0, 0x17
|
|
bl sub_8016E68
|
|
_08017AEE:
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8017A1C
|
|
|
|
thumb_func_start sub_8017AF8
|
|
sub_8017AF8:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_801A6E8
|
|
cmp r0, 0x3
|
|
beq _08017B14
|
|
cmp r0, 0x3
|
|
bhi _08017B0E
|
|
cmp r0, 0x2
|
|
beq _08017B78
|
|
b _08017B82
|
|
_08017B0E:
|
|
cmp r0, 0x4
|
|
beq _08017B50
|
|
b _08017B82
|
|
_08017B14:
|
|
bl sub_801AEA8
|
|
cmp r0, 0
|
|
beq _08017B2A
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0x12
|
|
bl sub_8016E68
|
|
b _08017B82
|
|
_08017B2A:
|
|
bl sub_801A8AC
|
|
ldr r1, _08017B48
|
|
ldr r2, [r1]
|
|
str r0, [r2, 0x10]
|
|
ldr r1, _08017B4C
|
|
ldr r1, [r1]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0xC]
|
|
movs r0, 0xF
|
|
bl sub_8016E68
|
|
b _08017B82
|
|
.align 2, 0
|
|
_08017B48: .4byte gUnknown_203B208
|
|
_08017B4C: .4byte gUnknown_203B460
|
|
_08017B50:
|
|
bl sub_801A8AC
|
|
ldr r1, _08017B70
|
|
ldr r2, [r1]
|
|
str r0, [r2, 0x10]
|
|
ldr r1, _08017B74
|
|
ldr r1, [r1]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0xC]
|
|
movs r0, 0x10
|
|
bl sub_8016E68
|
|
b _08017B82
|
|
.align 2, 0
|
|
_08017B70: .4byte gUnknown_203B208
|
|
_08017B74: .4byte gUnknown_203B460
|
|
_08017B78:
|
|
bl sub_801A928
|
|
movs r0, 0x1
|
|
bl sub_8016E68
|
|
_08017B82:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8017AF8
|
|
|
|
thumb_func_start sub_8017B88
|
|
sub_8017B88:
|
|
push {r4,lr}
|
|
movs r0, 0x1
|
|
bl sub_801CA08
|
|
cmp r0, 0x2
|
|
beq _08017C10
|
|
cmp r0, 0x2
|
|
bhi _08017B9E
|
|
cmp r0, 0x1
|
|
beq _08017C1C
|
|
b _08017C22
|
|
_08017B9E:
|
|
cmp r0, 0x3
|
|
beq _08017BA8
|
|
cmp r0, 0x4
|
|
beq _08017BE4
|
|
b _08017C22
|
|
_08017BA8:
|
|
bl sub_801CFB8
|
|
cmp r0, 0
|
|
beq _08017BB8
|
|
movs r0, 0x1C
|
|
bl sub_8016E68
|
|
b _08017C22
|
|
_08017BB8:
|
|
bl sub_801CB24
|
|
ldr r4, _08017BE0
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x14]
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0xC
|
|
ldrb r1, [r1, 0x14]
|
|
movs r2, 0
|
|
bl sub_8090A8C
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0xD]
|
|
movs r0, 0x19
|
|
bl sub_8016E68
|
|
b _08017C22
|
|
.align 2, 0
|
|
_08017BE0: .4byte gUnknown_203B208
|
|
_08017BE4:
|
|
bl sub_801CB24
|
|
ldr r4, _08017C0C
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x14]
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0xC
|
|
ldrb r1, [r1, 0x14]
|
|
movs r2, 0
|
|
bl sub_8090A8C
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0xD]
|
|
movs r0, 0x1A
|
|
bl sub_8016E68
|
|
b _08017C22
|
|
.align 2, 0
|
|
_08017C0C: .4byte gUnknown_203B208
|
|
_08017C10:
|
|
bl sub_801CBB8
|
|
movs r0, 0x1
|
|
bl sub_8016E68
|
|
b _08017C22
|
|
_08017C1C:
|
|
movs r0, 0
|
|
bl sub_801AD34
|
|
_08017C22:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8017B88
|
|
|
|
thumb_func_start sub_8017C28
|
|
sub_8017C28:
|
|
push {r4,lr}
|
|
movs r0, 0
|
|
bl sub_801CA08
|
|
ldr r4, _08017C54
|
|
ldr r0, [r4]
|
|
adds r0, 0x58
|
|
bl sub_8012FD8
|
|
ldr r0, [r4]
|
|
adds r0, 0xA8
|
|
bl sub_8013BBC
|
|
cmp r0, 0x1
|
|
beq _08017C58
|
|
cmp r0, 0x1
|
|
bcc _08017C76
|
|
cmp r0, 0x2
|
|
beq _08017C70
|
|
cmp r0, 0x3
|
|
beq _08017C5E
|
|
b _08017C76
|
|
.align 2, 0
|
|
_08017C54: .4byte gUnknown_203B208
|
|
_08017C58:
|
|
bl sub_8017598
|
|
b _08017C76
|
|
_08017C5E:
|
|
ldr r0, [r4]
|
|
adds r1, r0, 0
|
|
adds r1, 0xA8
|
|
ldr r1, [r1]
|
|
strb r1, [r0, 0xD]
|
|
movs r0, 0x1B
|
|
bl sub_8016E68
|
|
b _08017C76
|
|
_08017C70:
|
|
movs r0, 0x17
|
|
bl sub_8016E68
|
|
_08017C76:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8017C28
|
|
|
|
thumb_func_start sub_8017C7C
|
|
sub_8017C7C:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_801A6E8
|
|
ldr r4, _08017CBC
|
|
ldr r0, [r4]
|
|
adds r0, 0x58
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08017CAC
|
|
ldr r0, [r4]
|
|
adds r0, 0x58
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _08017CAC
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x1C]
|
|
_08017CAC:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _08017CC6
|
|
cmp r0, 0x2
|
|
bgt _08017CC0
|
|
cmp r0, 0x1
|
|
beq _08017D14
|
|
b _08017D1A
|
|
.align 2, 0
|
|
_08017CBC: .4byte gUnknown_203B208
|
|
_08017CC0:
|
|
cmp r0, 0x6
|
|
beq _08017D06
|
|
b _08017D1A
|
|
_08017CC6:
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
ldr r4, _08017CE4
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0xE]
|
|
bl sub_8091524
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08017CE8
|
|
movs r0, 0x9
|
|
bl sub_8016E68
|
|
b _08017D1A
|
|
.align 2, 0
|
|
_08017CE4: .4byte gUnknown_203B208
|
|
_08017CE8:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x10]
|
|
bl sub_801ADA0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08017CFE
|
|
movs r0, 0xA
|
|
bl sub_8016E68
|
|
b _08017D1A
|
|
_08017CFE:
|
|
movs r0, 0x11
|
|
bl sub_8016E68
|
|
b _08017D1A
|
|
_08017D06:
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0x10
|
|
bl sub_8016E68
|
|
b _08017D1A
|
|
_08017D14:
|
|
movs r0, 0xE
|
|
bl sub_8016E68
|
|
_08017D1A:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8017C7C
|
|
|
|
thumb_func_start sub_8017D24
|
|
sub_8017D24:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_801CA08
|
|
ldr r4, _08017D64
|
|
ldr r0, [r4]
|
|
adds r0, 0x58
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08017D54
|
|
ldr r0, [r4]
|
|
adds r0, 0x58
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _08017D54
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x20]
|
|
_08017D54:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x3
|
|
beq _08017D6E
|
|
cmp r0, 0x3
|
|
bgt _08017D68
|
|
cmp r0, 0x1
|
|
beq _08017DB0
|
|
b _08017DB6
|
|
.align 2, 0
|
|
_08017D64: .4byte gUnknown_203B208
|
|
_08017D68:
|
|
cmp r0, 0x6
|
|
beq _08017DA8
|
|
b _08017DB6
|
|
_08017D6E:
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
ble _08017D82
|
|
bl sub_801CBB8
|
|
movs r0, 0x6
|
|
bl sub_8016E68
|
|
b _08017DB6
|
|
_08017D82:
|
|
ldr r0, _08017D9C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0xE]
|
|
bl sub_8090A60
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08017DA0
|
|
movs r0, 0x18
|
|
bl sub_8016E68
|
|
b _08017DB6
|
|
.align 2, 0
|
|
_08017D9C: .4byte gUnknown_203B208
|
|
_08017DA0:
|
|
movs r0, 0x1B
|
|
bl sub_8016E68
|
|
b _08017DB6
|
|
_08017DA8:
|
|
movs r0, 0x1A
|
|
bl sub_8016E68
|
|
b _08017DB6
|
|
_08017DB0:
|
|
movs r0, 0x17
|
|
bl sub_8016E68
|
|
_08017DB6:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8017D24
|
|
|
|
thumb_func_start sub_8017DC0
|
|
sub_8017DC0:
|
|
push {lr}
|
|
bl sub_801B410
|
|
cmp r0, 0x1
|
|
bls _08017DD8
|
|
cmp r0, 0x3
|
|
bhi _08017DD8
|
|
bl sub_801B450
|
|
movs r0, 0xE
|
|
bl sub_8016E68
|
|
_08017DD8:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8017DC0
|
|
|
|
thumb_func_start sub_8017DDC
|
|
sub_8017DDC:
|
|
push {lr}
|
|
bl sub_801B410
|
|
cmp r0, 0x1
|
|
bls _08017DF4
|
|
cmp r0, 0x3
|
|
bhi _08017DF4
|
|
bl sub_801B450
|
|
movs r0, 0x17
|
|
bl sub_8016E68
|
|
_08017DF4:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8017DDC
|
|
|
|
thumb_func_start sub_8017DF8
|
|
sub_8017DF8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08017E10
|
|
ldr r0, _08017E18
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x8]
|
|
bl sub_8016E68
|
|
_08017E10:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08017E18: .4byte gUnknown_203B208
|
|
thumb_func_end sub_8017DF8
|
|
|
|
thumb_func_start sub_8017E1C
|
|
sub_8017E1C:
|
|
push {r4,lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, _08017E50
|
|
movs r0, 0xA8
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
movs r1, 0
|
|
str r1, [r0, 0x14]
|
|
str r1, [r0, 0x18]
|
|
str r1, [r0, 0x1C]
|
|
movs r0, 0
|
|
bl sub_8017F10
|
|
movs r0, 0x1
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08017E50: .4byte gUnknown_203B20C
|
|
thumb_func_end sub_8017E1C
|
|
|
|
thumb_func_start sub_8017E54
|
|
sub_8017E54:
|
|
push {lr}
|
|
ldr r0, _08017E6C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0xE
|
|
bhi _08017EEC
|
|
lsls r0, 2
|
|
ldr r1, _08017E70
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08017E6C: .4byte gUnknown_203B20C
|
|
_08017E70: .4byte _08017E74
|
|
.align 2, 0
|
|
_08017E74:
|
|
.4byte _08017EB0
|
|
.4byte _08017EB8
|
|
.4byte _08017EEC
|
|
.4byte _08017EE8
|
|
.4byte _08017EBE
|
|
.4byte _08017EBE
|
|
.4byte _08017EC4
|
|
.4byte _08017ECA
|
|
.4byte _08017EEC
|
|
.4byte _08017EEC
|
|
.4byte _08017ED0
|
|
.4byte _08017ED0
|
|
.4byte _08017ED6
|
|
.4byte _08017EDC
|
|
.4byte _08017EE2
|
|
_08017EB0:
|
|
movs r0, 0x1
|
|
bl sub_8017F10
|
|
b _08017EEC
|
|
_08017EB8:
|
|
bl sub_8018588
|
|
b _08017EEC
|
|
_08017EBE:
|
|
bl sub_8018620
|
|
b _08017EEC
|
|
_08017EC4:
|
|
bl sub_8018904
|
|
b _08017EEC
|
|
_08017ECA:
|
|
bl sub_8018AC8
|
|
b _08017EEC
|
|
_08017ED0:
|
|
bl sub_80186F8
|
|
b _08017EEC
|
|
_08017ED6:
|
|
bl sub_8018854
|
|
b _08017EEC
|
|
_08017EDC:
|
|
bl sub_80189C8
|
|
b _08017EEC
|
|
_08017EE2:
|
|
bl sub_8018AE4
|
|
b _08017EEC
|
|
_08017EE8:
|
|
movs r0, 0x3
|
|
b _08017EEE
|
|
_08017EEC:
|
|
movs r0, 0
|
|
_08017EEE:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8017E54
|
|
|
|
thumb_func_start sub_8017EF4
|
|
sub_8017EF4:
|
|
push {r4,lr}
|
|
ldr r4, _08017F0C
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _08017F06
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_08017F06:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08017F0C: .4byte gUnknown_203B20C
|
|
thumb_func_end sub_8017EF4
|
|
|
|
thumb_func_start sub_8017F10
|
|
sub_8017F10:
|
|
push {lr}
|
|
ldr r1, _08017F24
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_8017F28
|
|
bl sub_8018100
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08017F24: .4byte gUnknown_203B20C
|
|
thumb_func_end sub_8017F10
|
|
|
|
thumb_func_start sub_8017F28
|
|
sub_8017F28:
|
|
push {r4-r7,lr}
|
|
ldr r4, _08017F48
|
|
ldr r0, [r4]
|
|
adds r0, 0xF0
|
|
bl sub_8006518
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0xD
|
|
bls _08017F3E
|
|
b _080180BC
|
|
_08017F3E:
|
|
lsls r0, 2
|
|
ldr r1, _08017F4C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08017F48: .4byte gUnknown_203B20C
|
|
_08017F4C: .4byte _08017F50
|
|
.align 2, 0
|
|
_08017F50:
|
|
.4byte _080180BC
|
|
.4byte _08017F88
|
|
.4byte _080180BC
|
|
.4byte _080180BC
|
|
.4byte _08017FE8
|
|
.4byte _08017FE8
|
|
.4byte _0801809C
|
|
.4byte _080180BC
|
|
.4byte _080180BC
|
|
.4byte _080180BC
|
|
.4byte _08018034
|
|
.4byte _08018034
|
|
.4byte _08018084
|
|
.4byte _0801809C
|
|
_08017F88:
|
|
ldr r4, _08017FDC
|
|
ldr r1, [r4]
|
|
ldr r2, _08017FE0
|
|
adds r1, 0xF0
|
|
adds r0, r2, 0
|
|
ldm r0!, {r3,r5,r6}
|
|
stm r1!, {r3,r5,r6}
|
|
ldm r0!, {r3,r5,r7}
|
|
stm r1!, {r3,r5,r7}
|
|
ldr r1, [r4]
|
|
movs r6, 0x84
|
|
lsls r6, 1
|
|
adds r1, r6
|
|
adds r0, r2, 0
|
|
ldm r0!, {r3,r5,r7}
|
|
stm r1!, {r3,r5,r7}
|
|
ldm r0!, {r3,r6,r7}
|
|
stm r1!, {r3,r6,r7}
|
|
ldr r0, [r4]
|
|
adds r0, 0xF0
|
|
ldm r2!, {r5-r7}
|
|
stm r0!, {r5-r7}
|
|
ldm r2!, {r1,r3,r5}
|
|
stm r0!, {r1,r3,r5}
|
|
bl sub_80182E4
|
|
ldr r2, [r4]
|
|
movs r0, 0x90
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _08017FE4
|
|
ldm r1!, {r3,r6,r7}
|
|
stm r2!, {r3,r6,r7}
|
|
ldm r1!, {r5-r7}
|
|
stm r2!, {r5-r7}
|
|
ldr r1, [r4]
|
|
adds r0, r1, r0
|
|
adds r1, 0x20
|
|
bl sub_8012CAC
|
|
b _080180E0
|
|
.align 2, 0
|
|
_08017FDC: .4byte gUnknown_203B20C
|
|
_08017FE0: .4byte gUnknown_80DB7B8
|
|
_08017FE4: .4byte gUnknown_80DB7D0
|
|
_08017FE8:
|
|
ldr r3, _0801802C
|
|
ldr r1, [r3]
|
|
ldr r2, _08018030
|
|
adds r1, 0xF0
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4,r5,r7}
|
|
stm r1!, {r4,r5,r7}
|
|
ldr r1, [r3]
|
|
movs r6, 0x84
|
|
lsls r6, 1
|
|
adds r1, r6
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4,r5,r7}
|
|
stm r1!, {r4,r5,r7}
|
|
ldm r0!, {r4,r6,r7}
|
|
stm r1!, {r4,r6,r7}
|
|
ldr r1, [r3]
|
|
movs r5, 0x90
|
|
lsls r5, 1
|
|
adds r1, r5
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4,r6,r7}
|
|
stm r1!, {r4,r6,r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldr r0, [r3]
|
|
adds r0, 0xF0
|
|
ldm r2!, {r1,r3,r4}
|
|
stm r0!, {r1,r3,r4}
|
|
ldm r2!, {r5-r7}
|
|
stm r0!, {r5-r7}
|
|
b _080180E0
|
|
.align 2, 0
|
|
_0801802C: .4byte gUnknown_203B20C
|
|
_08018030: .4byte gUnknown_80DB7B8
|
|
_08018034:
|
|
ldr r3, _08018078
|
|
ldr r1, [r3]
|
|
ldr r2, _0801807C
|
|
adds r1, 0xF0
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4,r5,r7}
|
|
stm r1!, {r4,r5,r7}
|
|
ldr r1, [r3]
|
|
movs r6, 0x84
|
|
lsls r6, 1
|
|
adds r1, r6
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4,r5,r7}
|
|
stm r1!, {r4,r5,r7}
|
|
ldm r0!, {r4,r6,r7}
|
|
stm r1!, {r4,r6,r7}
|
|
ldr r0, [r3]
|
|
movs r5, 0x90
|
|
lsls r5, 1
|
|
adds r0, r5
|
|
ldm r2!, {r1,r6,r7}
|
|
stm r0!, {r1,r6,r7}
|
|
ldm r2!, {r4-r6}
|
|
stm r0!, {r4-r6}
|
|
ldr r1, [r3]
|
|
adds r1, 0xF0
|
|
ldr r0, _08018080
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
b _080180E0
|
|
.align 2, 0
|
|
_08018078: .4byte gUnknown_203B20C
|
|
_0801807C: .4byte gUnknown_80DB7B8
|
|
_08018080: .4byte gUnknown_80DB800
|
|
_08018084:
|
|
ldr r0, _08018094
|
|
ldr r1, [r0]
|
|
movs r7, 0x84
|
|
lsls r7, 1
|
|
adds r1, r7
|
|
ldr r0, _08018098
|
|
b _080180A8
|
|
.align 2, 0
|
|
_08018094: .4byte gUnknown_203B20C
|
|
_08018098: .4byte gUnknown_80DB818
|
|
_0801809C:
|
|
ldr r0, _080180B4
|
|
ldr r1, [r0]
|
|
movs r0, 0x90
|
|
lsls r0, 1
|
|
adds r1, r0
|
|
ldr r0, _080180B8
|
|
_080180A8:
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
b _080180E0
|
|
.align 2, 0
|
|
_080180B4: .4byte gUnknown_203B20C
|
|
_080180B8: .4byte gUnknown_80DB7E8
|
|
_080180BC:
|
|
ldr r0, _080180F8
|
|
mov r12, r0
|
|
ldr r4, _080180FC
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_080180C6:
|
|
mov r5, r12
|
|
ldr r1, [r5]
|
|
adds r1, r3
|
|
adds r1, 0xF0
|
|
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 _080180C6
|
|
_080180E0:
|
|
bl sub_8004914
|
|
ldr r0, _080180F8
|
|
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
|
|
_080180F8: .4byte gUnknown_203B20C
|
|
_080180FC: .4byte gUnknown_80DB7B8
|
|
thumb_func_end sub_8017F28
|
|
|
|
thumb_func_start sub_8018100
|
|
sub_8018100:
|
|
push {r4,lr}
|
|
sub sp, 0x8
|
|
ldr r1, _0801811C
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0xE
|
|
bls _08018112
|
|
b _08018278
|
|
_08018112:
|
|
lsls r0, 2
|
|
ldr r1, _08018120
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801811C: .4byte gUnknown_203B20C
|
|
_08018120: .4byte _08018124
|
|
.align 2, 0
|
|
_08018124:
|
|
.4byte _08018278
|
|
.4byte _08018160
|
|
.4byte _08018278
|
|
.4byte _08018278
|
|
.4byte _08018172
|
|
.4byte _08018180
|
|
.4byte _08018188
|
|
.4byte _080181A8
|
|
.4byte _08018278
|
|
.4byte _08018278
|
|
.4byte _080181B2
|
|
.4byte _080181C0
|
|
.4byte _080181CE
|
|
.4byte _0801823C
|
|
.4byte _08018270
|
|
_08018160:
|
|
ldr r2, [r4]
|
|
adds r0, r2, 0
|
|
adds r0, 0x70
|
|
adds r1, r2, 0
|
|
adds r1, 0x20
|
|
adds r3, r2, 0
|
|
adds r3, 0x60
|
|
ldr r2, [r2, 0x14]
|
|
b _0801825C
|
|
_08018172:
|
|
movs r0, 0x3
|
|
movs r1, 0x3
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl sub_801A5D8
|
|
b _08018278
|
|
_08018180:
|
|
movs r0, 0x1
|
|
bl sub_801A8D0
|
|
b _08018278
|
|
_08018188:
|
|
bl sub_801A9E0
|
|
bl sub_801841C
|
|
ldr r0, _080181A4
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x70
|
|
adds r1, r2, 0
|
|
adds r1, 0x20
|
|
adds r3, r2, 0
|
|
adds r3, 0x60
|
|
ldr r2, [r2, 0x18]
|
|
b _0801825C
|
|
.align 2, 0
|
|
_080181A4: .4byte gUnknown_203B20C
|
|
_080181A8:
|
|
ldr r0, [r4]
|
|
adds r0, 0x8
|
|
bl sub_801B3C0
|
|
b _08018278
|
|
_080181B2:
|
|
movs r0, 0x1
|
|
movs r1, 0x3
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl sub_801C8C4
|
|
b _080181C6
|
|
_080181C0:
|
|
movs r0, 0x1
|
|
bl sub_801CB5C
|
|
_080181C6:
|
|
movs r0, 0
|
|
bl sub_801AD34
|
|
b _08018278
|
|
_080181CE:
|
|
ldr r2, [r4]
|
|
adds r1, r2, 0
|
|
adds r1, 0xD0
|
|
movs r0, 0x2
|
|
str r0, [r1]
|
|
subs r1, 0x8
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
ldr r0, _080181F8
|
|
ldr r1, [r0]
|
|
ldrb r0, [r2, 0xA]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r3, r1, r0
|
|
ldrh r0, [r3]
|
|
cmp r0, 0x63
|
|
bls _080181FC
|
|
adds r1, r2, 0
|
|
adds r1, 0xCC
|
|
movs r0, 0x63
|
|
b _08018202
|
|
.align 2, 0
|
|
_080181F8: .4byte gUnknown_203B460
|
|
_080181FC:
|
|
adds r1, r2, 0
|
|
adds r1, 0xCC
|
|
ldrh r0, [r3]
|
|
_08018202:
|
|
str r0, [r1]
|
|
ldr r2, [r4]
|
|
adds r1, r2, 0
|
|
adds r1, 0xC4
|
|
adds r0, r2, 0
|
|
adds r0, 0xCC
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r1, 0x10
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r3, 0x84
|
|
lsls r3, 1
|
|
adds r0, r2, r3
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x28
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x12
|
|
str r0, [r1]
|
|
adds r0, r2, 0
|
|
adds r0, 0xC0
|
|
bl sub_8013AA0
|
|
bl sub_8018280
|
|
b _08018278
|
|
_0801823C:
|
|
bl sub_801CCD8
|
|
movs r0, 0
|
|
bl sub_801AD34
|
|
bl sub_80184D4
|
|
ldr r0, _0801826C
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x70
|
|
adds r1, r2, 0
|
|
adds r1, 0x20
|
|
adds r3, r2, 0
|
|
adds r3, 0x60
|
|
ldr r2, [r2, 0x1C]
|
|
_0801825C:
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8012D60
|
|
b _08018278
|
|
.align 2, 0
|
|
_0801826C: .4byte gUnknown_203B20C
|
|
_08018270:
|
|
ldr r0, [r4]
|
|
adds r0, 0x8
|
|
bl sub_801B3C0
|
|
_08018278:
|
|
add sp, 0x8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8018100
|
|
|
|
thumb_func_start sub_8018280
|
|
sub_8018280:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r4, _080182DC
|
|
ldr r0, [r4]
|
|
adds r0, 0xD4
|
|
ldr r0, [r0]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
adds r0, 0xD4
|
|
ldr r0, [r0]
|
|
bl sub_80073B8
|
|
ldr r2, _080182E0
|
|
ldr r0, [r4]
|
|
adds r0, 0xD4
|
|
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, 0xC0
|
|
bl sub_8013C68
|
|
ldr r0, [r4]
|
|
adds r0, 0xD4
|
|
ldr r0, [r0]
|
|
bl sub_80073E0
|
|
bl sub_801CCD8
|
|
movs r0, 0
|
|
bl sub_801AD34
|
|
ldr r0, [r4]
|
|
adds r0, 0x70
|
|
movs r1, 0
|
|
bl sub_8012EA4
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080182DC: .4byte gUnknown_203B20C
|
|
_080182E0: .4byte gUnknown_80DB830
|
|
thumb_func_end sub_8018280
|
|
|
|
thumb_func_start sub_80182E4
|
|
sub_80182E4:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
movs r0, 0
|
|
mov r8, r0
|
|
ldr r4, _080183DC
|
|
ldr r0, [r4]
|
|
adds r0, 0x60
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r1, [r4]
|
|
ldr r0, _080183E0
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x20]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x24]
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
beq _0801831C
|
|
movs r0, 0
|
|
bl sub_801CF50
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08018324
|
|
_0801831C:
|
|
ldr r0, [r4]
|
|
adds r0, 0x60
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_08018324:
|
|
movs r1, 0x1
|
|
add r8, r1
|
|
ldr r4, _080183DC
|
|
ldr r2, [r4]
|
|
mov r0, r8
|
|
lsls r3, r0, 3
|
|
adds r0, r2, 0
|
|
adds r0, 0x20
|
|
adds r0, r3
|
|
ldr r1, _080183E4
|
|
ldr r1, [r1]
|
|
str r1, [r0]
|
|
adds r2, 0x24
|
|
adds r2, r3
|
|
movs r0, 0x3
|
|
str r0, [r2]
|
|
movs r0, 0x1
|
|
bl sub_801CF14
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08018358
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
ble _08018366
|
|
_08018358:
|
|
ldr r0, [r4]
|
|
mov r2, r8
|
|
lsls r1, r2, 1
|
|
adds r0, 0x60
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_08018366:
|
|
movs r0, 0x1
|
|
add r8, r0
|
|
ldr r4, _080183DC
|
|
ldr r7, [r4]
|
|
mov r2, r8
|
|
lsls r1, r2, 3
|
|
adds r2, r7, 0
|
|
adds r2, 0x20
|
|
adds r3, r2, r1
|
|
ldr r0, _080183E8
|
|
ldr r0, [r0]
|
|
str r0, [r3]
|
|
adds r6, r7, 0
|
|
adds r6, 0x24
|
|
adds r1, r6, r1
|
|
movs r3, 0x1
|
|
str r3, [r1]
|
|
add r8, r3
|
|
mov r1, r8
|
|
lsls r0, r1, 3
|
|
adds r2, r0
|
|
movs r1, 0
|
|
str r1, [r2]
|
|
adds r0, r6, r0
|
|
str r3, [r0]
|
|
movs r5, 0
|
|
mov r12, r4
|
|
cmp r5, r8
|
|
bge _080183C0
|
|
adds r4, r7, 0
|
|
adds r2, r4, 0
|
|
adds r2, 0x60
|
|
adds r3, r6, 0
|
|
_080183A8:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _080183B6
|
|
ldr r1, [r3]
|
|
ldr r0, [r4, 0x14]
|
|
cmp r1, r0
|
|
beq _08018410
|
|
_080183B6:
|
|
adds r2, 0x2
|
|
adds r3, 0x8
|
|
adds r5, 0x1
|
|
cmp r5, r8
|
|
blt _080183A8
|
|
_080183C0:
|
|
movs r5, 0
|
|
cmp r5, r8
|
|
bge _08018410
|
|
mov r2, r12
|
|
ldr r1, [r2]
|
|
adds r0, r1, 0
|
|
adds r0, 0x60
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _080183EC
|
|
ldr r0, [r1, 0x24]
|
|
str r0, [r1, 0x14]
|
|
b _08018410
|
|
.align 2, 0
|
|
_080183DC: .4byte gUnknown_203B20C
|
|
_080183E0: .4byte gUnknown_80D4958
|
|
_080183E4: .4byte gUnknown_80D4964
|
|
_080183E8: .4byte gUnknown_80D4934
|
|
_080183EC:
|
|
adds r5, 0x1
|
|
cmp r5, r8
|
|
bge _08018410
|
|
mov r0, r12
|
|
ldr r2, [r0]
|
|
lsls r0, r5, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0x60
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _080183EC
|
|
lsls r0, r5, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x24
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x14]
|
|
_08018410:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80182E4
|
|
|
|
thumb_func_start sub_801841C
|
|
sub_801841C:
|
|
push {r4-r7,lr}
|
|
ldr r4, _080184A0
|
|
ldr r0, [r4]
|
|
adds r0, 0x60
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r1, [r4]
|
|
ldr r0, _080184A4
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x20]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x24]
|
|
ldr r0, [r1, 0xC]
|
|
bl sub_801ADA0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801844C
|
|
ldr r0, [r4]
|
|
adds r0, 0x60
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_0801844C:
|
|
ldr r2, [r4]
|
|
movs r1, 0x1
|
|
ldr r0, _080184A8
|
|
ldr r0, [r0]
|
|
str r0, [r2, 0x28]
|
|
movs r0, 0x4
|
|
str r0, [r2, 0x2C]
|
|
movs r5, 0x2
|
|
movs r0, 0
|
|
str r0, [r2, 0x30]
|
|
str r1, [r2, 0x34]
|
|
movs r3, 0
|
|
adds r6, r4, 0
|
|
mov r12, r2
|
|
mov r4, r12
|
|
adds r4, 0x60
|
|
adds r2, 0x24
|
|
_0801846E:
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
bne _0801847E
|
|
ldr r1, [r2]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x18]
|
|
cmp r1, r0
|
|
beq _080184CE
|
|
_0801847E:
|
|
adds r4, 0x2
|
|
adds r2, 0x8
|
|
adds r3, 0x1
|
|
cmp r3, r5
|
|
blt _0801846E
|
|
movs r3, 0
|
|
cmp r3, r5
|
|
bge _080184CE
|
|
ldr r1, [r6]
|
|
adds r0, r1, 0
|
|
adds r0, 0x60
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _080184AC
|
|
ldr r0, [r1, 0x24]
|
|
str r0, [r1, 0x18]
|
|
b _080184CE
|
|
.align 2, 0
|
|
_080184A0: .4byte gUnknown_203B20C
|
|
_080184A4: .4byte gUnknown_80D4958
|
|
_080184A8: .4byte gUnknown_80D4970
|
|
_080184AC:
|
|
adds r3, 0x1
|
|
cmp r3, r5
|
|
bge _080184CE
|
|
ldr r2, [r6]
|
|
lsls r0, r3, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0x60
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _080184AC
|
|
lsls r0, r3, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x24
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x18]
|
|
_080184CE:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801841C
|
|
|
|
thumb_func_start sub_80184D4
|
|
sub_80184D4:
|
|
push {r4-r7,lr}
|
|
ldr r4, _08018554
|
|
ldr r0, [r4]
|
|
adds r0, 0x60
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r1, [r4]
|
|
ldr r0, _08018558
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x20]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x24]
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
ble _08018500
|
|
ldr r0, [r4]
|
|
adds r0, 0x60
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_08018500:
|
|
ldr r2, [r4]
|
|
movs r1, 0x1
|
|
ldr r0, _0801855C
|
|
ldr r0, [r0]
|
|
str r0, [r2, 0x28]
|
|
movs r0, 0x4
|
|
str r0, [r2, 0x2C]
|
|
movs r5, 0x2
|
|
movs r0, 0
|
|
str r0, [r2, 0x30]
|
|
str r1, [r2, 0x34]
|
|
movs r3, 0
|
|
adds r6, r4, 0
|
|
mov r12, r2
|
|
mov r4, r12
|
|
adds r4, 0x60
|
|
adds r2, 0x24
|
|
_08018522:
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
bne _08018532
|
|
ldr r1, [r2]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x1C]
|
|
cmp r1, r0
|
|
beq _08018582
|
|
_08018532:
|
|
adds r4, 0x2
|
|
adds r2, 0x8
|
|
adds r3, 0x1
|
|
cmp r3, r5
|
|
blt _08018522
|
|
movs r3, 0
|
|
cmp r3, r5
|
|
bge _08018582
|
|
ldr r1, [r6]
|
|
adds r0, r1, 0
|
|
adds r0, 0x60
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _08018560
|
|
ldr r0, [r1, 0x24]
|
|
str r0, [r1, 0x1C]
|
|
b _08018582
|
|
.align 2, 0
|
|
_08018554: .4byte gUnknown_203B20C
|
|
_08018558: .4byte gUnknown_80D4964
|
|
_0801855C: .4byte gUnknown_80D4970
|
|
_08018560:
|
|
adds r3, 0x1
|
|
cmp r3, r5
|
|
bge _08018582
|
|
ldr r2, [r6]
|
|
lsls r0, r3, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0x60
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08018560
|
|
lsls r0, r3, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x24
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x1C]
|
|
_08018582:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80184D4
|
|
|
|
thumb_func_start sub_8018588
|
|
sub_8018588:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r4, _080185C4
|
|
ldr r0, [r4]
|
|
adds r0, 0x70
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080185B4
|
|
ldr r0, [r4]
|
|
adds r0, 0x70
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _080185B4
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x14]
|
|
_080185B4:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _080185CE
|
|
cmp r0, 0x2
|
|
bgt _080185C8
|
|
cmp r0, 0x1
|
|
beq _08018610
|
|
b _08018616
|
|
.align 2, 0
|
|
_080185C4: .4byte gUnknown_203B20C
|
|
_080185C8:
|
|
cmp r0, 0x3
|
|
beq _080185EA
|
|
b _08018616
|
|
_080185CE:
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
beq _080185F6
|
|
movs r0, 0
|
|
bl sub_801CF50
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080185F6
|
|
movs r0, 0x4
|
|
bl sub_8017F10
|
|
b _08018616
|
|
_080185EA:
|
|
movs r0, 0x1
|
|
bl sub_801CF14
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08018608
|
|
_080185F6:
|
|
ldr r0, _08018604
|
|
ldr r0, [r0]
|
|
adds r0, 0x70
|
|
movs r1, 0x1
|
|
bl sub_8012EA4
|
|
b _08018616
|
|
.align 2, 0
|
|
_08018604: .4byte gUnknown_203B20C
|
|
_08018608:
|
|
movs r0, 0xA
|
|
bl sub_8017F10
|
|
b _08018616
|
|
_08018610:
|
|
movs r0, 0x3
|
|
bl sub_8017F10
|
|
_08018616:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8018588
|
|
|
|
thumb_func_start sub_8018620
|
|
sub_8018620:
|
|
push {r4-r7,lr}
|
|
movs r0, 0x1
|
|
bl sub_801A6E8
|
|
cmp r0, 0x3
|
|
beq _0801863C
|
|
cmp r0, 0x3
|
|
bhi _08018636
|
|
cmp r0, 0x2
|
|
beq _080186E8
|
|
b _080186F2
|
|
_08018636:
|
|
cmp r0, 0x4
|
|
beq _080186C0
|
|
b _080186F2
|
|
_0801863C:
|
|
bl sub_801AEA8
|
|
cmp r0, 0
|
|
beq _08018698
|
|
movs r5, 0
|
|
ldr r6, _0801868C
|
|
movs r7, 0
|
|
_0801864A:
|
|
adds r0, r5, 0
|
|
bl sub_801AED0
|
|
cmp r0, 0
|
|
beq _0801866A
|
|
lsls r4, r5, 2
|
|
ldr r0, [r6]
|
|
adds r0, r4
|
|
bl sub_80917B8
|
|
ldr r0, [r6]
|
|
adds r0, r4
|
|
strb r7, [r0, 0x2]
|
|
ldr r0, [r6]
|
|
adds r0, r4
|
|
strb r7, [r0]
|
|
_0801866A:
|
|
adds r5, 0x1
|
|
cmp r5, 0x13
|
|
ble _0801864A
|
|
bl sub_80910B4
|
|
bl sub_801AE84
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
bne _08018690
|
|
bl sub_801A928
|
|
movs r0, 0x1
|
|
bl sub_8017F10
|
|
b _080186F2
|
|
.align 2, 0
|
|
_0801868C: .4byte gUnknown_203B460
|
|
_08018690:
|
|
movs r0, 0x5
|
|
bl sub_8017F10
|
|
b _080186F2
|
|
_08018698:
|
|
bl sub_801A8AC
|
|
ldr r1, _080186B8
|
|
ldr r2, [r1]
|
|
str r0, [r2, 0xC]
|
|
ldr r1, _080186BC
|
|
ldr r1, [r1]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x8]
|
|
movs r0, 0x6
|
|
bl sub_8017F10
|
|
b _080186F2
|
|
.align 2, 0
|
|
_080186B8: .4byte gUnknown_203B20C
|
|
_080186BC: .4byte gUnknown_203B460
|
|
_080186C0:
|
|
bl sub_801A8AC
|
|
ldr r1, _080186E0
|
|
ldr r2, [r1]
|
|
str r0, [r2, 0xC]
|
|
ldr r1, _080186E4
|
|
ldr r1, [r1]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x8]
|
|
movs r0, 0x7
|
|
bl sub_8017F10
|
|
b _080186F2
|
|
.align 2, 0
|
|
_080186E0: .4byte gUnknown_203B20C
|
|
_080186E4: .4byte gUnknown_203B460
|
|
_080186E8:
|
|
bl sub_801A928
|
|
movs r0, 0x1
|
|
bl sub_8017F10
|
|
_080186F2:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8018620
|
|
|
|
thumb_func_start sub_80186F8
|
|
sub_80186F8:
|
|
push {r4-r7,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
bl sub_801CA08
|
|
cmp r0, 0x2
|
|
bne _08018708
|
|
b _08018838
|
|
_08018708:
|
|
cmp r0, 0x2
|
|
bhi _08018714
|
|
cmp r0, 0x1
|
|
bne _08018712
|
|
b _08018844
|
|
_08018712:
|
|
b _0801884A
|
|
_08018714:
|
|
cmp r0, 0x3
|
|
beq _0801871E
|
|
cmp r0, 0x4
|
|
beq _0801880C
|
|
b _0801884A
|
|
_0801871E:
|
|
bl sub_801CFB8
|
|
cmp r0, 0
|
|
beq _080187E0
|
|
movs r6, 0
|
|
mov r5, sp
|
|
ldr r7, _0801876C
|
|
_0801872C:
|
|
lsls r0, r6, 24
|
|
lsrs r4, r0, 24
|
|
adds r0, r4, 0
|
|
bl sub_801CFE0
|
|
cmp r0, 0
|
|
beq _080187B2
|
|
ldr r1, _08018770
|
|
ldr r0, [sp]
|
|
ands r0, r1
|
|
orrs r0, r4
|
|
str r0, [sp]
|
|
ldrb r0, [r5]
|
|
bl sub_8090A60
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08018786
|
|
ldr r2, _08018774
|
|
ldr r1, [r2]
|
|
ldrb r0, [r5]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldrh r1, [r1]
|
|
cmp r1, 0x63
|
|
bls _08018778
|
|
ldr r0, [sp]
|
|
ands r0, r7
|
|
movs r1, 0xC6
|
|
lsls r1, 7
|
|
b _08018780
|
|
.align 2, 0
|
|
_0801876C: .4byte 0xffff00ff
|
|
_08018770: .4byte 0xffffff00
|
|
_08018774: .4byte gUnknown_203B460
|
|
_08018778:
|
|
lsls r1, 24
|
|
lsrs r1, 16
|
|
ldr r0, [sp]
|
|
ands r0, r7
|
|
_08018780:
|
|
orrs r0, r1
|
|
str r0, [sp]
|
|
b _08018794
|
|
_08018786:
|
|
ldr r0, [sp]
|
|
ands r0, r7
|
|
movs r1, 0x80
|
|
lsls r1, 1
|
|
orrs r0, r1
|
|
str r0, [sp]
|
|
ldr r2, _080187DC
|
|
_08018794:
|
|
ldr r2, [r2]
|
|
ldrb r0, [r5]
|
|
lsls r0, 1
|
|
adds r2, 0x50
|
|
adds r2, r0
|
|
ldr r0, [sp]
|
|
lsrs r0, 8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldrh r1, [r2]
|
|
subs r1, r0
|
|
strh r1, [r2]
|
|
mov r0, sp
|
|
bl sub_8091274
|
|
_080187B2:
|
|
adds r6, 0x1
|
|
cmp r6, 0xEF
|
|
ble _0801872C
|
|
bl sub_80910B4
|
|
bl sub_801CF94
|
|
movs r0, 0x1
|
|
bl sub_801CF14
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08018838
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
bgt _08018838
|
|
movs r0, 0xB
|
|
bl sub_8017F10
|
|
b _0801884A
|
|
.align 2, 0
|
|
_080187DC: .4byte gUnknown_203B460
|
|
_080187E0:
|
|
bl sub_801CB24
|
|
ldr r4, _08018808
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x10]
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
ldrb r1, [r1, 0x10]
|
|
movs r2, 0
|
|
bl sub_8090A8C
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x9]
|
|
movs r0, 0xD
|
|
bl sub_8017F10
|
|
b _0801884A
|
|
.align 2, 0
|
|
_08018808: .4byte gUnknown_203B20C
|
|
_0801880C:
|
|
bl sub_801CB24
|
|
ldr r4, _08018834
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x10]
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
ldrb r1, [r1, 0x10]
|
|
movs r2, 0
|
|
bl sub_8090A8C
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x9]
|
|
movs r0, 0xE
|
|
bl sub_8017F10
|
|
b _0801884A
|
|
.align 2, 0
|
|
_08018834: .4byte gUnknown_203B20C
|
|
_08018838:
|
|
bl sub_801CBB8
|
|
movs r0, 0x1
|
|
bl sub_8017F10
|
|
b _0801884A
|
|
_08018844:
|
|
movs r0, 0
|
|
bl sub_801AD34
|
|
_0801884A:
|
|
add sp, 0x4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80186F8
|
|
|
|
thumb_func_start sub_8018854
|
|
sub_8018854:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
bl sub_801CA08
|
|
ldr r4, _080188E0
|
|
ldr r0, [r4]
|
|
adds r0, 0x70
|
|
bl sub_8012FD8
|
|
ldr r0, [r4]
|
|
adds r0, 0xC0
|
|
bl sub_8013BBC
|
|
cmp r0, 0x1
|
|
beq _080188F8
|
|
cmp r0, 0x1
|
|
bcc _080188FC
|
|
cmp r0, 0x2
|
|
beq _080188F0
|
|
cmp r0, 0x3
|
|
bne _080188FC
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0xC0
|
|
ldr r0, [r0]
|
|
strb r0, [r1, 0x9]
|
|
ldr r0, _080188E4
|
|
ldr r1, [r0]
|
|
ldr r3, [r4]
|
|
ldrb r0, [r3, 0xA]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldrb r2, [r3, 0x9]
|
|
ldrh r0, [r1]
|
|
subs r0, r2
|
|
strh r0, [r1]
|
|
ldrb r2, [r3, 0xA]
|
|
ldr r1, _080188E8
|
|
ldr r0, [sp]
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
str r0, [sp]
|
|
ldrb r1, [r3, 0x9]
|
|
lsls r1, 8
|
|
ldr r2, _080188EC
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
str r0, [sp]
|
|
mov r0, sp
|
|
bl sub_8091274
|
|
movs r0, 0x1
|
|
bl sub_801CF14
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080188D2
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
ble _080188F0
|
|
_080188D2:
|
|
bl sub_801CBB8
|
|
movs r0, 0x1
|
|
bl sub_8017F10
|
|
b _080188FC
|
|
.align 2, 0
|
|
_080188E0: .4byte gUnknown_203B20C
|
|
_080188E4: .4byte gUnknown_203B460
|
|
_080188E8: .4byte 0xffffff00
|
|
_080188EC: .4byte 0xffff00ff
|
|
_080188F0:
|
|
movs r0, 0xB
|
|
bl sub_8017F10
|
|
b _080188FC
|
|
_080188F8:
|
|
bl sub_8018280
|
|
_080188FC:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8018854
|
|
|
|
thumb_func_start sub_8018904
|
|
sub_8018904:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_801A6E8
|
|
ldr r4, _08018944
|
|
ldr r0, [r4]
|
|
adds r0, 0x70
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08018934
|
|
ldr r0, [r4]
|
|
adds r0, 0x70
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _08018934
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x18]
|
|
_08018934:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _0801894E
|
|
cmp r0, 0x2
|
|
bgt _08018948
|
|
cmp r0, 0x1
|
|
beq _080189BA
|
|
b _080189C0
|
|
.align 2, 0
|
|
_08018944: .4byte gUnknown_203B20C
|
|
_08018948:
|
|
cmp r0, 0x4
|
|
beq _080189AC
|
|
b _080189C0
|
|
_0801894E:
|
|
ldr r4, _08018978
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0xA]
|
|
bl sub_8091524
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801896C
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0xC]
|
|
bl sub_801ADA0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801897C
|
|
_0801896C:
|
|
ldr r0, [r4]
|
|
adds r0, 0x70
|
|
movs r1, 0x1
|
|
bl sub_8012EA4
|
|
b _080189C0
|
|
.align 2, 0
|
|
_08018978: .4byte gUnknown_203B20C
|
|
_0801897C:
|
|
ldr r0, [r4]
|
|
adds r0, 0x8
|
|
bl sub_80917B8
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0xC]
|
|
bl sub_80911F8
|
|
bl sub_80910B4
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
bne _080189A4
|
|
bl sub_801A928
|
|
movs r0, 0x1
|
|
bl sub_8017F10
|
|
b _080189C0
|
|
_080189A4:
|
|
movs r0, 0x5
|
|
bl sub_8017F10
|
|
b _080189C0
|
|
_080189AC:
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0x7
|
|
bl sub_8017F10
|
|
b _080189C0
|
|
_080189BA:
|
|
movs r0, 0x5
|
|
bl sub_8017F10
|
|
_080189C0:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8018904
|
|
|
|
thumb_func_start sub_80189C8
|
|
sub_80189C8:
|
|
push {r4,lr}
|
|
sub sp, 0x8
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_801CA08
|
|
ldr r4, _08018A08
|
|
ldr r0, [r4]
|
|
adds r0, 0x70
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080189F8
|
|
ldr r0, [r4]
|
|
adds r0, 0x70
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _080189F8
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x1C]
|
|
_080189F8:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x3
|
|
beq _08018A12
|
|
cmp r0, 0x3
|
|
bgt _08018A0C
|
|
cmp r0, 0x1
|
|
beq _08018AB8
|
|
b _08018ABE
|
|
.align 2, 0
|
|
_08018A08: .4byte gUnknown_203B20C
|
|
_08018A0C:
|
|
cmp r0, 0x4
|
|
beq _08018AB0
|
|
b _08018ABE
|
|
_08018A12:
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
ble _08018A2C
|
|
ldr r0, _08018A28
|
|
ldr r0, [r0]
|
|
adds r0, 0x70
|
|
movs r1, 0x1
|
|
bl sub_8012EA4
|
|
b _08018ABE
|
|
.align 2, 0
|
|
_08018A28: .4byte gUnknown_203B20C
|
|
_08018A2C:
|
|
ldr r4, _08018A44
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0xA]
|
|
bl sub_8090A60
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08018A48
|
|
movs r0, 0xC
|
|
bl sub_8017F10
|
|
b _08018ABE
|
|
.align 2, 0
|
|
_08018A44: .4byte gUnknown_203B20C
|
|
_08018A48:
|
|
ldr r0, _08018A9C
|
|
ldr r1, [r0]
|
|
ldr r3, [r4]
|
|
ldrb r0, [r3, 0xA]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldrb r2, [r3, 0x9]
|
|
ldrh r0, [r1]
|
|
subs r0, r2
|
|
strh r0, [r1]
|
|
ldrb r2, [r3, 0xA]
|
|
ldr r1, _08018AA0
|
|
ldr r0, [sp, 0x4]
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
str r0, [sp, 0x4]
|
|
ldrb r1, [r3, 0x9]
|
|
lsls r1, 8
|
|
ldr r2, _08018AA4
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
str r0, [sp, 0x4]
|
|
add r0, sp, 0x4
|
|
bl sub_8091274
|
|
movs r0, 0x1
|
|
bl sub_801CF14
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08018A90
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
ble _08018AA8
|
|
_08018A90:
|
|
bl sub_801CBB8
|
|
movs r0, 0x1
|
|
bl sub_8017F10
|
|
b _08018ABE
|
|
.align 2, 0
|
|
_08018A9C: .4byte gUnknown_203B460
|
|
_08018AA0: .4byte 0xffffff00
|
|
_08018AA4: .4byte 0xffff00ff
|
|
_08018AA8:
|
|
movs r0, 0xB
|
|
bl sub_8017F10
|
|
b _08018ABE
|
|
_08018AB0:
|
|
movs r0, 0xE
|
|
bl sub_8017F10
|
|
b _08018ABE
|
|
_08018AB8:
|
|
movs r0, 0xB
|
|
bl sub_8017F10
|
|
_08018ABE:
|
|
add sp, 0x8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80189C8
|
|
|
|
thumb_func_start sub_8018AC8
|
|
sub_8018AC8:
|
|
push {lr}
|
|
bl sub_801B410
|
|
cmp r0, 0x1
|
|
bls _08018AE0
|
|
cmp r0, 0x3
|
|
bhi _08018AE0
|
|
bl sub_801B450
|
|
movs r0, 0x5
|
|
bl sub_8017F10
|
|
_08018AE0:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8018AC8
|
|
|
|
thumb_func_start sub_8018AE4
|
|
sub_8018AE4:
|
|
push {lr}
|
|
bl sub_801B410
|
|
cmp r0, 0x1
|
|
bls _08018AFC
|
|
cmp r0, 0x3
|
|
bhi _08018AFC
|
|
bl sub_801B450
|
|
movs r0, 0xB
|
|
bl sub_8017F10
|
|
_08018AFC:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8018AE4
|
|
|
|
thumb_func_start sub_8018B00
|
|
sub_8018B00:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
ldr r5, _08018B30
|
|
movs r0, 0xA4
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
adds r1, r0, 0
|
|
str r1, [r5]
|
|
movs r2, 0
|
|
str r2, [r1, 0x28]
|
|
str r2, [r1, 0x2C]
|
|
str r2, [r1, 0x30]
|
|
str r4, [r1]
|
|
cmp r4, 0x1
|
|
beq _08018B3A
|
|
cmp r4, 0x1
|
|
bcc _08018B34
|
|
cmp r4, 0x2
|
|
beq _08018B44
|
|
cmp r4, 0x3
|
|
beq _08018B80
|
|
b _08018BAE
|
|
.align 2, 0
|
|
_08018B30: .4byte gUnknown_203B210
|
|
_08018B34:
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x4]
|
|
b _08018B46
|
|
_08018B3A:
|
|
strb r4, [r1, 0x4]
|
|
ldr r0, [r5]
|
|
adds r0, 0xE4
|
|
str r2, [r0]
|
|
b _08018B50
|
|
_08018B44:
|
|
strb r2, [r1, 0x4]
|
|
_08018B46:
|
|
ldr r0, [r5]
|
|
adds r1, r0, 0
|
|
adds r1, 0xE4
|
|
adds r0, 0xD4
|
|
str r0, [r1]
|
|
_08018B50:
|
|
ldr r0, _08018B78
|
|
movs r5, 0xBE
|
|
lsls r5, 1
|
|
adds r1, r5, 0
|
|
bl sub_808D8E0
|
|
ldr r4, _08018B7C
|
|
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
|
|
b _08018BAE
|
|
.align 2, 0
|
|
_08018B78: .4byte gUnknown_202E5D8
|
|
_08018B7C: .4byte gUnknown_202E1C8
|
|
_08018B80:
|
|
strb r2, [r1, 0x4]
|
|
ldr r0, [r5]
|
|
adds r0, 0xE4
|
|
str r2, [r0]
|
|
ldr r0, _08018BF8
|
|
movs r5, 0xBE
|
|
lsls r5, 1
|
|
adds r1, r5, 0
|
|
bl sub_808D8E0
|
|
ldr r4, _08018BFC
|
|
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
|
|
_08018BAE:
|
|
movs r0, 0xBE
|
|
lsls r0, 1
|
|
bl sub_808DDD0
|
|
ldr r2, _08018C00
|
|
ldr r3, [r2]
|
|
adds r1, r3, 0
|
|
adds r1, 0xD4
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
ldr r0, [r0, 0x4]
|
|
str r0, [r1]
|
|
adds r0, r3, 0
|
|
adds r0, 0xE0
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
adds r0, 0xE1
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
adds r0, 0xE2
|
|
strb r1, [r0]
|
|
ldr r1, [r2]
|
|
adds r2, r1, 0
|
|
adds r2, 0xDC
|
|
movs r0, 0x2
|
|
strh r0, [r2]
|
|
adds r1, 0xDE
|
|
movs r0, 0x8
|
|
strh r0, [r1]
|
|
movs r0, 0
|
|
bl sub_8018D18
|
|
movs r0, 0x1
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08018BF8: .4byte gUnknown_202E5D8
|
|
_08018BFC: .4byte gUnknown_202E1C8
|
|
_08018C00: .4byte gUnknown_203B210
|
|
thumb_func_end sub_8018B00
|
|
|
|
thumb_func_start sub_8018C04
|
|
sub_8018C04:
|
|
push {lr}
|
|
ldr r0, _08018C1C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x8]
|
|
cmp r0, 0x1F
|
|
bhi _08018CE4
|
|
lsls r0, 2
|
|
ldr r1, _08018C20
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08018C1C: .4byte gUnknown_203B210
|
|
_08018C20: .4byte _08018C24
|
|
.align 2, 0
|
|
_08018C24:
|
|
.4byte _08018CA4
|
|
.4byte _08018CA4
|
|
.4byte _08018CE4
|
|
.4byte _08018CE4
|
|
.4byte _08018CE0
|
|
.4byte _08018CE4
|
|
.4byte _08018CE4
|
|
.4byte _08018CE4
|
|
.4byte _08018CE4
|
|
.4byte _08018CE4
|
|
.4byte _08018CE4
|
|
.4byte _08018CE4
|
|
.4byte _08018CE4
|
|
.4byte _08018CE4
|
|
.4byte _08018CE4
|
|
.4byte _08018CE4
|
|
.4byte _08018CE4
|
|
.4byte _08018CE4
|
|
.4byte _08018CAA
|
|
.4byte _08018CAA
|
|
.4byte _08018CB6
|
|
.4byte _08018CD4
|
|
.4byte _08018CC2
|
|
.4byte _08018CE4
|
|
.4byte _08018CE4
|
|
.4byte _08018CE4
|
|
.4byte _08018CB0
|
|
.4byte _08018CB0
|
|
.4byte _08018CBC
|
|
.4byte _08018CDA
|
|
.4byte _08018CC8
|
|
.4byte _08018CCE
|
|
_08018CA4:
|
|
bl sub_8019730
|
|
b _08018CE8
|
|
_08018CAA:
|
|
bl sub_80199CC
|
|
b _08018CE8
|
|
_08018CB0:
|
|
bl sub_8019B08
|
|
b _08018CE8
|
|
_08018CB6:
|
|
bl sub_8019BBC
|
|
b _08018CE8
|
|
_08018CBC:
|
|
bl sub_8019C78
|
|
b _08018CE8
|
|
_08018CC2:
|
|
bl sub_8019850
|
|
b _08018CE8
|
|
_08018CC8:
|
|
bl sub_80198E8
|
|
b _08018CE8
|
|
_08018CCE:
|
|
bl sub_8019944
|
|
b _08018CE8
|
|
_08018CD4:
|
|
bl sub_8019D30
|
|
b _08018CE8
|
|
_08018CDA:
|
|
bl sub_8019D4C
|
|
b _08018CE8
|
|
_08018CE0:
|
|
movs r0, 0x3
|
|
b _08018CEA
|
|
_08018CE4:
|
|
bl sub_8019D68
|
|
_08018CE8:
|
|
movs r0, 0
|
|
_08018CEA:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8018C04
|
|
|
|
thumb_func_start sub_8018CF0
|
|
sub_8018CF0:
|
|
push {r4,lr}
|
|
ldr r4, _08018D14
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _08018D0C
|
|
adds r0, 0xD4
|
|
ldr r0, [r0]
|
|
bl CloseFile
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_08018D0C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08018D14: .4byte gUnknown_203B210
|
|
thumb_func_end sub_8018CF0
|
|
|
|
thumb_func_start sub_8018D18
|
|
sub_8018D18:
|
|
push {lr}
|
|
ldr r1, _08018D2C
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x8]
|
|
bl sub_8018D30
|
|
bl sub_8018E88
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08018D2C: .4byte gUnknown_203B210
|
|
thumb_func_end sub_8018D18
|
|
|
|
thumb_func_start sub_8018D30
|
|
sub_8018D30:
|
|
push {r4-r7,lr}
|
|
ldr r4, _08018D54
|
|
ldr r0, [r4]
|
|
adds r0, 0xE8
|
|
bl sub_8006518
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x8]
|
|
subs r0, 0x12
|
|
cmp r0, 0xA
|
|
bls _08018D48
|
|
b _08018E44
|
|
_08018D48:
|
|
lsls r0, 2
|
|
ldr r1, _08018D58
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08018D54: .4byte gUnknown_203B210
|
|
_08018D58: .4byte _08018D5C
|
|
.align 2, 0
|
|
_08018D5C:
|
|
.4byte _08018D88
|
|
.4byte _08018D88
|
|
.4byte _08018E24
|
|
.4byte _08018E44
|
|
.4byte _08018E44
|
|
.4byte _08018E44
|
|
.4byte _08018E44
|
|
.4byte _08018E44
|
|
.4byte _08018DDC
|
|
.4byte _08018DDC
|
|
.4byte _08018E24
|
|
_08018D88:
|
|
ldr r3, _08018DCC
|
|
ldr r1, [r3]
|
|
ldr r2, _08018DD0
|
|
adds r1, 0xE8
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4,r5,r7}
|
|
stm r1!, {r4,r5,r7}
|
|
ldr r0, [r3]
|
|
movs r6, 0x8C
|
|
lsls r6, 1
|
|
adds r0, r6
|
|
ldm r2!, {r1,r4,r7}
|
|
stm r0!, {r1,r4,r7}
|
|
ldm r2!, {r5-r7}
|
|
stm r0!, {r5-r7}
|
|
ldr r1, [r3]
|
|
adds r1, 0xE8
|
|
ldr r0, _08018DD4
|
|
ldm r0!, {r2,r4,r5}
|
|
stm r1!, {r2,r4,r5}
|
|
ldm r0!, {r2,r6,r7}
|
|
stm r1!, {r2,r6,r7}
|
|
ldr r1, [r3]
|
|
movs r3, 0x80
|
|
lsls r3, 1
|
|
adds r1, r3
|
|
ldr r0, _08018DD8
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
b _08018E68
|
|
.align 2, 0
|
|
_08018DCC: .4byte gUnknown_203B210
|
|
_08018DD0: .4byte gUnknown_80DB840
|
|
_08018DD4: .4byte gUnknown_80DB870
|
|
_08018DD8: .4byte gUnknown_80DB888
|
|
_08018DDC:
|
|
ldr r3, _08018E18
|
|
ldr r1, [r3]
|
|
ldr r2, _08018E1C
|
|
adds r1, 0xE8
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4,r5,r7}
|
|
stm r1!, {r4,r5,r7}
|
|
ldr r1, [r3]
|
|
movs r4, 0x80
|
|
lsls r4, 1
|
|
adds r1, r4
|
|
adds r0, r2, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldr r0, [r3]
|
|
movs r6, 0x8C
|
|
lsls r6, 1
|
|
adds r0, r6
|
|
ldm r2!, {r1,r5,r7}
|
|
stm r0!, {r1,r5,r7}
|
|
ldm r2!, {r1,r6,r7}
|
|
stm r0!, {r1,r6,r7}
|
|
ldr r1, [r3]
|
|
adds r1, r4
|
|
ldr r0, _08018E20
|
|
b _08018E30
|
|
.align 2, 0
|
|
_08018E18: .4byte gUnknown_203B210
|
|
_08018E1C: .4byte gUnknown_80DB840
|
|
_08018E20: .4byte gUnknown_80DB888
|
|
_08018E24:
|
|
ldr r0, _08018E3C
|
|
ldr r1, [r0]
|
|
movs r0, 0x8C
|
|
lsls r0, 1
|
|
adds r1, r0
|
|
ldr r0, _08018E40
|
|
_08018E30:
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
b _08018E68
|
|
.align 2, 0
|
|
_08018E3C: .4byte gUnknown_203B210
|
|
_08018E40: .4byte gUnknown_80DB858
|
|
_08018E44:
|
|
ldr r0, _08018E80
|
|
mov r12, r0
|
|
ldr r4, _08018E84
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_08018E4E:
|
|
mov r5, r12
|
|
ldr r1, [r5]
|
|
adds r1, r3
|
|
adds r1, 0xE8
|
|
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 _08018E4E
|
|
_08018E68:
|
|
bl sub_8004914
|
|
ldr r0, _08018E80
|
|
ldr r0, [r0]
|
|
adds r0, 0xE8
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08018E80: .4byte gUnknown_203B210
|
|
_08018E84: .4byte gUnknown_80DB840
|
|
thumb_func_end sub_8018D30
|
|
|
|
thumb_func_start sub_8018E88
|
|
sub_8018E88:
|
|
push {r4,lr}
|
|
sub sp, 0x14
|
|
ldr r1, _08018EA4
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x8]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x20
|
|
bls _08018E9A
|
|
b _080194E8
|
|
_08018E9A:
|
|
lsls r0, 2
|
|
ldr r1, _08018EA8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08018EA4: .4byte gUnknown_203B210
|
|
_08018EA8: .4byte _08018EAC
|
|
.align 2, 0
|
|
_08018EAC:
|
|
.4byte _08018F30
|
|
.4byte _08018F58
|
|
.4byte _08018FA8
|
|
.4byte _08018FD0
|
|
.4byte _080194E8
|
|
.4byte _08018FFC
|
|
.4byte _08019024
|
|
.4byte _0801904C
|
|
.4byte _08019070
|
|
.4byte _08019094
|
|
.4byte _080190B8
|
|
.4byte _080190DC
|
|
.4byte _08019104
|
|
.4byte _0801912C
|
|
.4byte _08019164
|
|
.4byte _0801918C
|
|
.4byte _080191B4
|
|
.4byte _08019294
|
|
.4byte _080191DC
|
|
.4byte _080191FA
|
|
.4byte _08019218
|
|
.4byte _080193F4
|
|
.4byte _08019254
|
|
.4byte _08019314
|
|
.4byte _0801933C
|
|
.4byte _080193FE
|
|
.4byte _08019364
|
|
.4byte _08019372
|
|
.4byte _08019380
|
|
.4byte _080193F4
|
|
.4byte _080193B4
|
|
.4byte _0801946C
|
|
.4byte _080194C0
|
|
_08018F30:
|
|
bl sub_8019DAC
|
|
bl sub_80194F8
|
|
movs r0, 0
|
|
bl sub_8019E04
|
|
ldr r2, _08018F50
|
|
ldr r0, _08018F54
|
|
ldr r4, [r0]
|
|
ldr r1, [r4]
|
|
movs r0, 0x5C
|
|
muls r0, r1
|
|
adds r0, r2
|
|
b _08018F76
|
|
.align 2, 0
|
|
_08018F50: .4byte gUnknown_80D5EC8
|
|
_08018F54: .4byte gUnknown_203B210
|
|
_08018F58:
|
|
bl sub_8019DAC
|
|
bl sub_80194F8
|
|
movs r0, 0
|
|
bl sub_8019E04
|
|
ldr r1, _08018FA0
|
|
ldr r0, _08018FA4
|
|
ldr r4, [r0]
|
|
ldr r2, [r4]
|
|
movs r0, 0x5C
|
|
muls r0, r2
|
|
adds r1, 0x4
|
|
adds r0, r1
|
|
_08018F76:
|
|
ldr r0, [r0]
|
|
ldr r2, [r4, 0x28]
|
|
adds r3, r4, 0
|
|
adds r3, 0x34
|
|
adds r1, r4, 0
|
|
adds r1, 0x74
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
str r1, [sp, 0x8]
|
|
adds r1, r4, 0
|
|
adds r1, 0xE4
|
|
ldr r1, [r1]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
bl sub_8014248
|
|
b _080194E8
|
|
.align 2, 0
|
|
_08018FA0: .4byte gUnknown_80D5EC8
|
|
_08018FA4: .4byte gUnknown_203B210
|
|
_08018FA8:
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0
|
|
bl sub_8019E04
|
|
ldr r1, _08018FCC
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r1, 0x58
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r2, 0xE4
|
|
ldr r2, [r2]
|
|
b _08019454
|
|
.align 2, 0
|
|
_08018FCC: .4byte gUnknown_80D5EC8
|
|
_08018FD0:
|
|
ldr r1, [r4]
|
|
movs r0, 0x4
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0
|
|
bl sub_8019E04
|
|
ldr r1, _08018FF4
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r1, 0x8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r2, 0xE4
|
|
ldr r2, [r2]
|
|
ldr r3, _08018FF8
|
|
b _08019456
|
|
.align 2, 0
|
|
_08018FF4: .4byte gUnknown_80D5EC8
|
|
_08018FF8: .4byte 0x0000030d
|
|
_08018FFC:
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0
|
|
bl sub_8019E04
|
|
ldr r1, _08019020
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r1, 0x30
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r2, 0xE4
|
|
ldr r2, [r2]
|
|
b _08019454
|
|
.align 2, 0
|
|
_08019020: .4byte gUnknown_80D5EC8
|
|
_08019024:
|
|
ldr r1, [r4]
|
|
movs r0, 0x10
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0x1
|
|
bl sub_8019E04
|
|
ldr r1, _08019048
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r1, 0x34
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r2, 0xE4
|
|
ldr r2, [r2]
|
|
b _08019454
|
|
.align 2, 0
|
|
_08019048: .4byte gUnknown_80D5EC8
|
|
_0801904C:
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0xC]
|
|
bl sub_8019E04
|
|
ldr r1, _0801906C
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r1, 0x38
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r2, 0xE4
|
|
ldr r2, [r2]
|
|
b _08019454
|
|
.align 2, 0
|
|
_0801906C: .4byte gUnknown_80D5EC8
|
|
_08019070:
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0xC]
|
|
bl sub_8019E04
|
|
ldr r1, _08019090
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r1, 0x3C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r2, 0xE4
|
|
ldr r2, [r2]
|
|
b _08019454
|
|
.align 2, 0
|
|
_08019090: .4byte gUnknown_80D5EC8
|
|
_08019094:
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0xC]
|
|
bl sub_8019E04
|
|
ldr r1, _080190B4
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r1, 0x40
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r2, 0xE4
|
|
ldr r2, [r2]
|
|
b _08019454
|
|
.align 2, 0
|
|
_080190B4: .4byte gUnknown_80D5EC8
|
|
_080190B8:
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0xC]
|
|
bl sub_8019E04
|
|
ldr r1, _080190D8
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r1, 0x44
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r2, 0xE4
|
|
ldr r2, [r2]
|
|
b _08019454
|
|
.align 2, 0
|
|
_080190D8: .4byte gUnknown_80D5EC8
|
|
_080190DC:
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0
|
|
bl sub_8019E04
|
|
ldr r1, _08019100
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r1, 0x48
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r2, 0xE4
|
|
ldr r2, [r2]
|
|
b _08019454
|
|
.align 2, 0
|
|
_08019100: .4byte gUnknown_80D5EC8
|
|
_08019104:
|
|
ldr r1, [r4]
|
|
movs r0, 0x10
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0x1
|
|
bl sub_8019E04
|
|
ldr r1, _08019128
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r1, 0x4C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r2, 0xE4
|
|
ldr r2, [r2]
|
|
b _08019454
|
|
.align 2, 0
|
|
_08019128: .4byte gUnknown_80D5EC8
|
|
_0801912C:
|
|
ldr r0, _0801915C
|
|
ldr r1, [r4]
|
|
adds r1, 0x1C
|
|
movs r2, 0
|
|
bl sub_8090E14
|
|
ldr r1, [r4]
|
|
movs r0, 0x18
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0x1
|
|
bl sub_8019E04
|
|
ldr r1, _08019160
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r1, 0x50
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r2, 0xE4
|
|
ldr r2, [r2]
|
|
b _08019454
|
|
.align 2, 0
|
|
_0801915C: .4byte gUnknown_202DE58
|
|
_08019160: .4byte gUnknown_80D5EC8
|
|
_08019164:
|
|
ldr r1, [r4]
|
|
movs r0, 0x18
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0x1
|
|
bl sub_8019E04
|
|
ldr r1, _08019188
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r1, 0x54
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r2, 0xE4
|
|
ldr r2, [r2]
|
|
b _08019454
|
|
.align 2, 0
|
|
_08019188: .4byte gUnknown_80D5EC8
|
|
_0801918C:
|
|
ldr r1, [r4]
|
|
movs r0, 0x12
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0
|
|
bl sub_8019E04
|
|
ldr r1, _080191B0
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r1, 0xC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r2, 0xE4
|
|
ldr r2, [r2]
|
|
b _08019454
|
|
.align 2, 0
|
|
_080191B0: .4byte gUnknown_80D5EC8
|
|
_080191B4:
|
|
ldr r1, [r4]
|
|
movs r0, 0x13
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0
|
|
bl sub_8019E04
|
|
ldr r1, _080191D8
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r1, 0x10
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r2, 0xE4
|
|
ldr r2, [r2]
|
|
b _08019454
|
|
.align 2, 0
|
|
_080191D8: .4byte gUnknown_80D5EC8
|
|
_080191DC:
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
beq _080191EC
|
|
movs r0, 0x3
|
|
bl sub_8019E40
|
|
b _080191F2
|
|
_080191EC:
|
|
movs r0, 0x3
|
|
bl sub_801A20C
|
|
_080191F2:
|
|
movs r0, 0
|
|
bl sub_801AD34
|
|
b _08019378
|
|
_080191FA:
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
beq _0801920A
|
|
movs r0, 0x1
|
|
bl sub_8019FCC
|
|
b _08019210
|
|
_0801920A:
|
|
movs r0, 0x1
|
|
bl sub_801A398
|
|
_08019210:
|
|
movs r0, 0
|
|
bl sub_801AD34
|
|
b _08019378
|
|
_08019218:
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
beq _08019226
|
|
bl sub_801A0D8
|
|
b _0801922A
|
|
_08019226:
|
|
bl sub_801A4A4
|
|
_0801922A:
|
|
movs r0, 0
|
|
bl sub_801AD34
|
|
movs r0, 0x1
|
|
bl sub_8016C40
|
|
bl sub_80195C0
|
|
ldr r0, _08019250
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x84
|
|
adds r1, r2, 0
|
|
adds r1, 0x34
|
|
adds r3, r2, 0
|
|
adds r3, 0x74
|
|
ldr r2, [r2, 0x30]
|
|
b _080193A0
|
|
.align 2, 0
|
|
_08019250: .4byte gUnknown_203B210
|
|
_08019254:
|
|
bl sub_8019700
|
|
ldr r0, _08019284
|
|
ldr r4, _08019288
|
|
ldr r1, [r4]
|
|
adds r1, 0x1C
|
|
movs r2, 0
|
|
bl sub_8090E14
|
|
ldr r1, _0801928C
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x10]
|
|
str r0, [r1]
|
|
movs r0, 0
|
|
bl sub_8019E04
|
|
ldr r1, _08019290
|
|
ldr r4, [r4]
|
|
ldr r2, [r4]
|
|
movs r0, 0x5C
|
|
muls r0, r2
|
|
adds r1, 0x14
|
|
b _0801948C
|
|
.align 2, 0
|
|
_08019284: .4byte gUnknown_202DE58
|
|
_08019288: .4byte gUnknown_203B210
|
|
_0801928C: .4byte gUnknown_202DE30
|
|
_08019290: .4byte gUnknown_80D5EC8
|
|
_08019294:
|
|
bl sub_8019D8C
|
|
cmp r0, 0
|
|
bne _080192C0
|
|
ldr r0, _080192AC
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
beq _080192B0
|
|
bl sub_801A010
|
|
b _080192B4
|
|
.align 2, 0
|
|
_080192AC: .4byte gUnknown_203B210
|
|
_080192B0:
|
|
bl sub_801A3DC
|
|
_080192B4:
|
|
ldr r0, _080192BC
|
|
ldr r1, [r0]
|
|
movs r0, 0xB
|
|
b _080192F2
|
|
.align 2, 0
|
|
_080192BC: .4byte gUnknown_203B210
|
|
_080192C0:
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
ble _080192EC
|
|
ldr r0, _080192D8
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
beq _080192DC
|
|
bl sub_801A010
|
|
b _080192E0
|
|
.align 2, 0
|
|
_080192D8: .4byte gUnknown_203B210
|
|
_080192DC:
|
|
bl sub_801A3DC
|
|
_080192E0:
|
|
ldr r0, _080192E8
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
b _080192F2
|
|
.align 2, 0
|
|
_080192E8: .4byte gUnknown_203B210
|
|
_080192EC:
|
|
ldr r0, _0801930C
|
|
ldr r1, [r0]
|
|
movs r0, 0x10
|
|
_080192F2:
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0
|
|
bl sub_8019E04
|
|
ldr r2, _08019310
|
|
ldr r0, _0801930C
|
|
ldr r1, [r0]
|
|
ldr r3, [r1]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r2, 0x18
|
|
b _0801944C
|
|
.align 2, 0
|
|
_0801930C: .4byte gUnknown_203B210
|
|
_08019310: .4byte gUnknown_80D5EC8
|
|
_08019314:
|
|
ldr r1, [r4]
|
|
movs r0, 0x1A
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0
|
|
bl sub_8019E04
|
|
ldr r1, _08019338
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r1, 0x1C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r2, 0xE4
|
|
ldr r2, [r2]
|
|
b _08019454
|
|
.align 2, 0
|
|
_08019338: .4byte gUnknown_80D5EC8
|
|
_0801933C:
|
|
ldr r1, [r4]
|
|
movs r0, 0x1B
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0
|
|
bl sub_8019E04
|
|
ldr r1, _08019360
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r1, 0x20
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r2, 0xE4
|
|
ldr r2, [r2]
|
|
b _08019454
|
|
.align 2, 0
|
|
_08019360: .4byte gUnknown_80D5EC8
|
|
_08019364:
|
|
movs r0, 0x4
|
|
movs r1, 0x3
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl sub_801A5D8
|
|
b _08019378
|
|
_08019372:
|
|
movs r0, 0x1
|
|
bl sub_801A8D0
|
|
_08019378:
|
|
movs r0, 0x1
|
|
bl sub_8016C40
|
|
b _080194E8
|
|
_08019380:
|
|
bl sub_801A9E0
|
|
movs r0, 0x1
|
|
bl sub_8016C40
|
|
bl sub_8019660
|
|
ldr r0, _080193B0
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x84
|
|
adds r1, r2, 0
|
|
adds r1, 0x34
|
|
adds r3, r2, 0
|
|
adds r3, 0x74
|
|
ldr r2, [r2, 0x2C]
|
|
_080193A0:
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8012D60
|
|
b _080194E8
|
|
.align 2, 0
|
|
_080193B0: .4byte gUnknown_203B210
|
|
_080193B4:
|
|
bl sub_8019700
|
|
ldr r0, _080193E4
|
|
ldr r4, _080193E8
|
|
ldr r1, [r4]
|
|
adds r1, 0x1C
|
|
movs r2, 0
|
|
bl sub_8090E14
|
|
ldr r1, _080193EC
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x10]
|
|
str r0, [r1]
|
|
movs r0, 0
|
|
bl sub_8019E04
|
|
ldr r1, _080193F0
|
|
ldr r4, [r4]
|
|
ldr r2, [r4]
|
|
movs r0, 0x5C
|
|
muls r0, r2
|
|
adds r1, 0x24
|
|
b _0801948C
|
|
.align 2, 0
|
|
_080193E4: .4byte gUnknown_202DE58
|
|
_080193E8: .4byte gUnknown_203B210
|
|
_080193EC: .4byte gUnknown_202DE30
|
|
_080193F0: .4byte gUnknown_80D5EC8
|
|
_080193F4:
|
|
ldr r0, [r4]
|
|
adds r0, 0x1C
|
|
bl sub_801B3C0
|
|
b _080194E8
|
|
_080193FE:
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
beq _08019418
|
|
ldr r0, _08019424
|
|
ldr r0, [r0]
|
|
movs r1, 0x98
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
ldr r0, _08019428
|
|
cmp r1, r0
|
|
ble _08019430
|
|
_08019418:
|
|
bl sub_801A928
|
|
ldr r0, _0801942C
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
b _08019436
|
|
.align 2, 0
|
|
_08019424: .4byte gUnknown_203B460
|
|
_08019428: .4byte 0x0001869e
|
|
_0801942C: .4byte gUnknown_203B210
|
|
_08019430:
|
|
ldr r0, _08019460
|
|
ldr r1, [r0]
|
|
movs r0, 0x18
|
|
_08019436:
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0
|
|
bl sub_8019E04
|
|
ldr r2, _08019464
|
|
ldr r0, _08019460
|
|
ldr r1, [r0]
|
|
ldr r3, [r1]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r2, 0x2C
|
|
_0801944C:
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r1, 0xE4
|
|
ldr r2, [r1]
|
|
_08019454:
|
|
ldr r3, _08019468
|
|
_08019456:
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
b _080194E8
|
|
.align 2, 0
|
|
_08019460: .4byte gUnknown_203B210
|
|
_08019464: .4byte gUnknown_80D5EC8
|
|
_08019468: .4byte 0x0000010d
|
|
_0801946C:
|
|
bl sub_8019700
|
|
ldr r1, _080194B4
|
|
ldr r4, _080194B8
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x18]
|
|
str r0, [r1]
|
|
movs r0, 0
|
|
bl sub_8019E04
|
|
ldr r1, _080194BC
|
|
ldr r4, [r4]
|
|
ldr r2, [r4]
|
|
movs r0, 0x5C
|
|
muls r0, r2
|
|
adds r1, 0x28
|
|
_0801948C:
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r3, r4, 0
|
|
adds r3, 0x34
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
adds r4, 0xE4
|
|
ldr r1, [r4]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x5
|
|
bl sub_8014248
|
|
b _080194E8
|
|
.align 2, 0
|
|
_080194B4: .4byte gUnknown_202DE30
|
|
_080194B8: .4byte gUnknown_203B210
|
|
_080194BC: .4byte gUnknown_80D5EC8
|
|
_080194C0:
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0
|
|
bl sub_8019E04
|
|
ldr r1, _080194F0
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
movs r0, 0x5C
|
|
muls r0, r3
|
|
adds r1, 0x2C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r2, 0xE4
|
|
ldr r2, [r2]
|
|
ldr r3, _080194F4
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
_080194E8:
|
|
add sp, 0x14
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080194F0: .4byte gUnknown_80D5EC8
|
|
_080194F4: .4byte 0x0000010d
|
|
thumb_func_end sub_8018E88
|
|
|
|
thumb_func_start sub_80194F8
|
|
sub_80194F8:
|
|
push {r4-r7,lr}
|
|
ldr r4, _08019580
|
|
ldr r0, [r4]
|
|
adds r0, 0x74
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r3, [r4]
|
|
movs r2, 0
|
|
ldr r0, _08019584
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x34]
|
|
movs r0, 0x2
|
|
str r0, [r3, 0x38]
|
|
movs r1, 0x1
|
|
ldr r0, _08019588
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x3C]
|
|
movs r0, 0x3
|
|
str r0, [r3, 0x40]
|
|
ldr r0, _0801958C
|
|
str r0, [r3, 0x44]
|
|
movs r0, 0x4
|
|
str r0, [r3, 0x48]
|
|
ldr r0, _08019590
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x4C]
|
|
movs r0, 0x7
|
|
str r0, [r3, 0x50]
|
|
ldr r0, _08019594
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x54]
|
|
str r1, [r3, 0x58]
|
|
movs r6, 0x5
|
|
str r2, [r3, 0x5C]
|
|
str r1, [r3, 0x60]
|
|
movs r5, 0
|
|
mov r12, r3
|
|
adds r3, 0x38
|
|
mov r2, r12
|
|
adds r2, 0x74
|
|
_0801954C:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _0801955C
|
|
ldr r1, [r3]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x28]
|
|
cmp r1, r0
|
|
beq _080195BA
|
|
_0801955C:
|
|
adds r3, 0x8
|
|
adds r2, 0x2
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
blt _0801954C
|
|
movs r5, 0
|
|
cmp r5, r6
|
|
bge _080195BA
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x74
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _08019598
|
|
ldr r0, [r1, 0x38]
|
|
str r0, [r1, 0x28]
|
|
b _080195BA
|
|
.align 2, 0
|
|
_08019580: .4byte gUnknown_203B210
|
|
_08019584: .4byte gUnknown_80D4978
|
|
_08019588: .4byte gUnknown_80D4984
|
|
_0801958C: .4byte gUnknown_80DB8A0
|
|
_08019590: .4byte gUnknown_80D4970
|
|
_08019594: .4byte gUnknown_80D4934
|
|
_08019598:
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
bge _080195BA
|
|
ldr r2, [r4]
|
|
lsls r0, r5, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0x74
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08019598
|
|
lsls r0, r5, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x38
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x28]
|
|
_080195BA:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80194F8
|
|
|
|
thumb_func_start sub_80195C0
|
|
sub_80195C0:
|
|
push {r4-r7,lr}
|
|
ldr r4, _0801962C
|
|
ldr r0, [r4]
|
|
adds r0, 0x74
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r3, [r4]
|
|
movs r2, 0
|
|
ldr r0, _08019630
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x34]
|
|
movs r0, 0x2
|
|
str r0, [r3, 0x38]
|
|
movs r1, 0x1
|
|
ldr r0, _08019634
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x3C]
|
|
movs r0, 0x7
|
|
str r0, [r3, 0x40]
|
|
movs r6, 0x2
|
|
str r2, [r3, 0x44]
|
|
str r1, [r3, 0x48]
|
|
movs r5, 0
|
|
mov r12, r3
|
|
adds r3, 0x38
|
|
mov r2, r12
|
|
adds r2, 0x74
|
|
_080195FA:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _0801960A
|
|
ldr r1, [r3]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x30]
|
|
cmp r1, r0
|
|
beq _0801965A
|
|
_0801960A:
|
|
adds r3, 0x8
|
|
adds r2, 0x2
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
blt _080195FA
|
|
movs r5, 0
|
|
cmp r5, r6
|
|
bge _0801965A
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x74
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _08019638
|
|
ldr r0, [r1, 0x38]
|
|
str r0, [r1, 0x30]
|
|
b _0801965A
|
|
.align 2, 0
|
|
_0801962C: .4byte gUnknown_203B210
|
|
_08019630: .4byte gUnknown_80D4978
|
|
_08019634: .4byte gUnknown_80D4970
|
|
_08019638:
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
bge _0801965A
|
|
ldr r2, [r4]
|
|
lsls r0, r5, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0x74
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08019638
|
|
lsls r0, r5, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x38
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x30]
|
|
_0801965A:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80195C0
|
|
|
|
thumb_func_start sub_8019660
|
|
sub_8019660:
|
|
push {r4-r7,lr}
|
|
ldr r4, _080196CC
|
|
ldr r0, [r4]
|
|
adds r0, 0x74
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r3, [r4]
|
|
movs r2, 0
|
|
ldr r0, _080196D0
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x34]
|
|
movs r0, 0x3
|
|
str r0, [r3, 0x38]
|
|
movs r1, 0x1
|
|
ldr r0, _080196D4
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x3C]
|
|
movs r0, 0x7
|
|
str r0, [r3, 0x40]
|
|
movs r6, 0x2
|
|
str r2, [r3, 0x44]
|
|
str r1, [r3, 0x48]
|
|
movs r5, 0
|
|
mov r12, r3
|
|
adds r3, 0x38
|
|
mov r2, r12
|
|
adds r2, 0x74
|
|
_0801969A:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _080196AA
|
|
ldr r1, [r3]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x2C]
|
|
cmp r1, r0
|
|
beq _080196FA
|
|
_080196AA:
|
|
adds r3, 0x8
|
|
adds r2, 0x2
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
blt _0801969A
|
|
movs r5, 0
|
|
cmp r5, r6
|
|
bge _080196FA
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x74
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _080196D8
|
|
ldr r0, [r1, 0x38]
|
|
str r0, [r1, 0x2C]
|
|
b _080196FA
|
|
.align 2, 0
|
|
_080196CC: .4byte gUnknown_203B210
|
|
_080196D0: .4byte gUnknown_80D4984
|
|
_080196D4: .4byte gUnknown_80D4970
|
|
_080196D8:
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
bge _080196FA
|
|
ldr r2, [r4]
|
|
lsls r0, r5, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0x74
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _080196D8
|
|
lsls r0, r5, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x38
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x2C]
|
|
_080196FA:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8019660
|
|
|
|
thumb_func_start sub_8019700
|
|
sub_8019700:
|
|
ldr r0, _08019724
|
|
ldr r1, [r0]
|
|
movs r3, 0
|
|
ldr r0, _08019728
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x34]
|
|
movs r0, 0x5
|
|
str r0, [r1, 0x38]
|
|
movs r2, 0x1
|
|
ldr r0, _0801972C
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x3C]
|
|
movs r0, 0x6
|
|
str r0, [r1, 0x40]
|
|
str r3, [r1, 0x44]
|
|
str r2, [r1, 0x48]
|
|
bx lr
|
|
.align 2, 0
|
|
_08019724: .4byte gUnknown_203B210
|
|
_08019728: .4byte gUnknown_80D4920
|
|
_0801972C: .4byte gUnknown_80D4928
|
|
thumb_func_end sub_8019700
|
|
|
|
thumb_func_start sub_8019730
|
|
sub_8019730:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
beq _08019740
|
|
b _0801984A
|
|
_08019740:
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _0801974C
|
|
ldr r0, _08019760
|
|
ldr r0, [r0]
|
|
str r1, [r0, 0x28]
|
|
_0801974C:
|
|
ldr r0, [sp]
|
|
subs r0, 0x1
|
|
cmp r0, 0x6
|
|
bls _08019756
|
|
b _0801984A
|
|
_08019756:
|
|
lsls r0, 2
|
|
ldr r1, _08019764
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08019760: .4byte gUnknown_203B210
|
|
_08019764: .4byte _08019768
|
|
.align 2, 0
|
|
_08019768:
|
|
.4byte _08019844
|
|
.4byte _08019784
|
|
.4byte _080197AC
|
|
.4byte _080197E4
|
|
.4byte _0801984A
|
|
.4byte _0801984A
|
|
.4byte _0801983C
|
|
_08019784:
|
|
bl sub_8019D8C
|
|
cmp r0, 0
|
|
bne _08019794
|
|
movs r0, 0x5
|
|
bl sub_8018D18
|
|
b _0801984A
|
|
_08019794:
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
ble _080197A4
|
|
movs r0, 0xA
|
|
bl sub_8018D18
|
|
b _0801984A
|
|
_080197A4:
|
|
movs r0, 0xF
|
|
bl sub_8018D18
|
|
b _0801984A
|
|
_080197AC:
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
beq _080197EC
|
|
ldr r0, _080197D8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x14]
|
|
cmp r0, 0
|
|
beq _080197FE
|
|
ldr r0, _080197DC
|
|
ldr r0, [r0]
|
|
movs r1, 0x98
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
ldr r0, _080197E0
|
|
cmp r1, r0
|
|
bgt _08019822
|
|
movs r0, 0x17
|
|
bl sub_8018D18
|
|
b _0801984A
|
|
.align 2, 0
|
|
_080197D8: .4byte gUnknown_203B210
|
|
_080197DC: .4byte gUnknown_203B460
|
|
_080197E0: .4byte 0x0001869e
|
|
_080197E4:
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
bne _080197F4
|
|
_080197EC:
|
|
movs r0, 0x9
|
|
bl sub_8018D18
|
|
b _0801984A
|
|
_080197F4:
|
|
ldr r0, _08019808
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, 0x14]
|
|
cmp r0, 0
|
|
bne _0801980C
|
|
_080197FE:
|
|
movs r0, 0x8
|
|
bl sub_8018D18
|
|
b _0801984A
|
|
.align 2, 0
|
|
_08019808: .4byte gUnknown_203B210
|
|
_0801980C:
|
|
ldr r0, _0801982C
|
|
ldr r0, [r0]
|
|
movs r2, 0x98
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
ldr r1, [r1, 0x18]
|
|
ldr r0, [r0]
|
|
adds r1, r0
|
|
ldr r0, _08019830
|
|
cmp r1, r0
|
|
ble _08019834
|
|
_08019822:
|
|
movs r0, 0x7
|
|
bl sub_8018D18
|
|
b _0801984A
|
|
.align 2, 0
|
|
_0801982C: .4byte gUnknown_203B460
|
|
_08019830: .4byte 0x0001869f
|
|
_08019834:
|
|
movs r0, 0x1F
|
|
bl sub_8018D18
|
|
b _0801984A
|
|
_0801983C:
|
|
movs r0, 0x2
|
|
bl sub_8018D18
|
|
b _0801984A
|
|
_08019844:
|
|
movs r0, 0x3
|
|
bl sub_8018D18
|
|
_0801984A:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8019730
|
|
|
|
thumb_func_start sub_8019850
|
|
sub_8019850:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080198DE
|
|
ldr r0, [sp]
|
|
cmp r0, 0x5
|
|
beq _08019874
|
|
cmp r0, 0x5
|
|
bgt _0801986E
|
|
cmp r0, 0x1
|
|
beq _080198D8
|
|
b _080198DE
|
|
_0801986E:
|
|
cmp r0, 0x6
|
|
beq _080198D8
|
|
b _080198DE
|
|
_08019874:
|
|
ldr r4, _080198A8
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x10]
|
|
negs r0, r0
|
|
bl sub_80913A0
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x4]
|
|
cmp r0, 0
|
|
beq _080198AC
|
|
adds r0, r1, 0
|
|
adds r0, 0x20
|
|
ldrb r0, [r0]
|
|
bl sub_809185C
|
|
bl sub_8091274
|
|
ldr r0, [r4]
|
|
adds r0, 0x20
|
|
ldrb r0, [r0]
|
|
bl sub_8091840
|
|
bl sub_8091874
|
|
b _080198C8
|
|
.align 2, 0
|
|
_080198A8: .4byte gUnknown_203B210
|
|
_080198AC:
|
|
adds r0, r1, 0
|
|
adds r0, 0x21
|
|
ldrb r0, [r0]
|
|
bl sub_8091A90
|
|
bl sub_8091274
|
|
ldr r0, [r4]
|
|
adds r0, 0x21
|
|
ldrb r0, [r0]
|
|
bl sub_8091A74
|
|
bl sub_8091AA8
|
|
_080198C8:
|
|
movs r0, 0xA6
|
|
lsls r0, 1
|
|
bl sub_8011988
|
|
movs r0, 0x11
|
|
bl sub_8018D18
|
|
b _080198DE
|
|
_080198D8:
|
|
movs r0, 0x10
|
|
bl sub_8018D18
|
|
_080198DE:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8019850
|
|
|
|
thumb_func_start sub_80198E8
|
|
sub_80198E8:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0801993A
|
|
ldr r0, [sp]
|
|
cmp r0, 0x5
|
|
beq _0801990C
|
|
cmp r0, 0x5
|
|
bgt _08019906
|
|
cmp r0, 0x1
|
|
beq _08019934
|
|
b _0801993A
|
|
_08019906:
|
|
cmp r0, 0x6
|
|
beq _08019934
|
|
b _0801993A
|
|
_0801990C:
|
|
ldr r4, _08019930
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x10]
|
|
bl sub_80913A0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x24]
|
|
bl sub_80911F8
|
|
movs r0, 0xA6
|
|
lsls r0, 1
|
|
bl sub_8011988
|
|
movs r0, 0x19
|
|
bl sub_8018D18
|
|
b _0801993A
|
|
.align 2, 0
|
|
_08019930: .4byte gUnknown_203B210
|
|
_08019934:
|
|
movs r0, 0x18
|
|
bl sub_8018D18
|
|
_0801993A:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80198E8
|
|
|
|
thumb_func_start sub_8019944
|
|
sub_8019944:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080199C2
|
|
ldr r0, [sp]
|
|
cmp r0, 0x5
|
|
beq _08019968
|
|
cmp r0, 0x5
|
|
bgt _08019962
|
|
cmp r0, 0x1
|
|
beq _080199BC
|
|
b _080199C2
|
|
_08019962:
|
|
cmp r0, 0x6
|
|
beq _080199BC
|
|
b _080199C2
|
|
_08019968:
|
|
movs r4, 0
|
|
ldr r5, _080199B4
|
|
_0801996C:
|
|
lsls r1, r4, 2
|
|
ldr r0, [r5]
|
|
adds r2, r0, r1
|
|
ldrb r1, [r2]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0801998E
|
|
ldrb r0, [r2, 0x2]
|
|
bl sub_80914E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801998E
|
|
adds r0, r4, 0
|
|
bl sub_8091234
|
|
_0801998E:
|
|
adds r4, 0x1
|
|
cmp r4, 0x13
|
|
ble _0801996C
|
|
bl sub_80910B4
|
|
ldr r0, _080199B8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x18]
|
|
bl sub_80913A0
|
|
movs r0, 0xA6
|
|
lsls r0, 1
|
|
bl sub_8011988
|
|
movs r0, 0x20
|
|
bl sub_8018D18
|
|
b _080199C2
|
|
.align 2, 0
|
|
_080199B4: .4byte gUnknown_203B460
|
|
_080199B8: .4byte gUnknown_203B210
|
|
_080199BC:
|
|
movs r0, 0x1
|
|
bl sub_8018D18
|
|
_080199C2:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8019944
|
|
|
|
thumb_func_start sub_80199CC
|
|
sub_80199CC:
|
|
push {r4,r5,lr}
|
|
ldr r0, _080199E0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
beq _080199E4
|
|
movs r0, 0x1
|
|
bl sub_8019EDC
|
|
b _080199EA
|
|
.align 2, 0
|
|
_080199E0: .4byte gUnknown_203B210
|
|
_080199E4:
|
|
movs r0, 0x1
|
|
bl sub_801A2A8
|
|
_080199EA:
|
|
cmp r0, 0x2
|
|
beq _08019AD4
|
|
cmp r0, 0x2
|
|
bhi _080199FA
|
|
cmp r0, 0x1
|
|
bne _080199F8
|
|
b _08019AF4
|
|
_080199F8:
|
|
b _08019B00
|
|
_080199FA:
|
|
cmp r0, 0x3
|
|
beq _08019A04
|
|
cmp r0, 0x4
|
|
beq _08019A6C
|
|
b _08019B00
|
|
_08019A04:
|
|
ldr r4, _08019A24
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
beq _08019A28
|
|
bl sub_8019FB0
|
|
ldr r1, [r4]
|
|
adds r1, 0x20
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
adds r0, 0x20
|
|
ldrb r0, [r0]
|
|
bl sub_809185C
|
|
b _08019A3C
|
|
.align 2, 0
|
|
_08019A24: .4byte gUnknown_203B210
|
|
_08019A28:
|
|
bl sub_801A37C
|
|
ldr r1, [r4]
|
|
adds r1, 0x21
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
adds r0, 0x21
|
|
ldrb r0, [r0]
|
|
bl sub_8091A90
|
|
_08019A3C:
|
|
adds r5, r0, 0
|
|
ldr r4, _08019A68
|
|
ldr r0, [r4]
|
|
adds r0, 0x1C
|
|
ldrb r1, [r5]
|
|
movs r2, 0
|
|
bl sub_8090A8C
|
|
ldr r1, [r4]
|
|
ldrb r0, [r5, 0x1]
|
|
strb r0, [r1, 0x1D]
|
|
ldr r0, [r4]
|
|
adds r0, 0x1C
|
|
bl sub_8090C7C
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x10]
|
|
movs r0, 0x14
|
|
bl sub_8018D18
|
|
b _08019B00
|
|
.align 2, 0
|
|
_08019A68: .4byte gUnknown_203B210
|
|
_08019A6C:
|
|
ldr r4, _08019A8C
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
beq _08019A90
|
|
bl sub_8019FB0
|
|
ldr r1, [r4]
|
|
adds r1, 0x20
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
adds r0, 0x20
|
|
ldrb r0, [r0]
|
|
bl sub_809185C
|
|
b _08019AA4
|
|
.align 2, 0
|
|
_08019A8C: .4byte gUnknown_203B210
|
|
_08019A90:
|
|
bl sub_801A37C
|
|
ldr r1, [r4]
|
|
adds r1, 0x21
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
adds r0, 0x21
|
|
ldrb r0, [r0]
|
|
bl sub_8091A90
|
|
_08019AA4:
|
|
adds r5, r0, 0
|
|
ldr r4, _08019AD0
|
|
ldr r0, [r4]
|
|
adds r0, 0x1C
|
|
ldrb r1, [r5]
|
|
movs r2, 0
|
|
bl sub_8090A8C
|
|
ldr r1, [r4]
|
|
ldrb r0, [r5, 0x1]
|
|
strb r0, [r1, 0x1D]
|
|
ldr r0, [r4]
|
|
adds r0, 0x1C
|
|
bl sub_8090C7C
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x10]
|
|
movs r0, 0x15
|
|
bl sub_8018D18
|
|
b _08019B00
|
|
.align 2, 0
|
|
_08019AD0: .4byte gUnknown_203B210
|
|
_08019AD4:
|
|
ldr r0, _08019AE4
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
beq _08019AE8
|
|
bl sub_801A010
|
|
b _08019AEC
|
|
.align 2, 0
|
|
_08019AE4: .4byte gUnknown_203B210
|
|
_08019AE8:
|
|
bl sub_801A3DC
|
|
_08019AEC:
|
|
movs r0, 0x1
|
|
bl sub_8018D18
|
|
b _08019B00
|
|
_08019AF4:
|
|
movs r0, 0
|
|
bl sub_801AD34
|
|
movs r0, 0x1
|
|
bl sub_8016C40
|
|
_08019B00:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80199CC
|
|
|
|
thumb_func_start sub_8019B08
|
|
sub_8019B08:
|
|
push {r4,lr}
|
|
movs r0, 0x1
|
|
bl sub_801A6E8
|
|
cmp r0, 0x4
|
|
bhi _08019BB0
|
|
lsls r0, 2
|
|
ldr r1, _08019B20
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08019B20: .4byte _08019B24
|
|
.align 2, 0
|
|
_08019B24:
|
|
.4byte _08019BB6
|
|
.4byte _08019BB0
|
|
.4byte _08019BA4
|
|
.4byte _08019B38
|
|
.4byte _08019B6C
|
|
_08019B38:
|
|
bl sub_801A8AC
|
|
ldr r4, _08019B64
|
|
ldr r2, [r4]
|
|
str r0, [r2, 0x24]
|
|
ldr r1, _08019B68
|
|
ldr r1, [r1]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x1C]
|
|
adds r2, 0x1C
|
|
adds r0, r2, 0
|
|
bl sub_8090CCC
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x10]
|
|
movs r0, 0x1C
|
|
bl sub_8018D18
|
|
b _08019BB6
|
|
.align 2, 0
|
|
_08019B64: .4byte gUnknown_203B210
|
|
_08019B68: .4byte gUnknown_203B460
|
|
_08019B6C:
|
|
bl sub_801A8AC
|
|
ldr r4, _08019B9C
|
|
ldr r2, [r4]
|
|
str r0, [r2, 0x24]
|
|
ldr r1, _08019BA0
|
|
ldr r1, [r1]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x1C]
|
|
adds r2, 0x1C
|
|
adds r0, r2, 0
|
|
bl sub_8090CCC
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x10]
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0x1D
|
|
bl sub_8018D18
|
|
b _08019BB6
|
|
.align 2, 0
|
|
_08019B9C: .4byte gUnknown_203B210
|
|
_08019BA0: .4byte gUnknown_203B460
|
|
_08019BA4:
|
|
bl sub_801A928
|
|
movs r0, 0x1
|
|
bl sub_8018D18
|
|
b _08019BB6
|
|
_08019BB0:
|
|
movs r0, 0x1
|
|
bl sub_8016C40
|
|
_08019BB6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8019B08
|
|
|
|
thumb_func_start sub_8019BBC
|
|
sub_8019BBC:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r0, _08019BD8
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
beq _08019BDC
|
|
movs r0, 0
|
|
bl sub_8019EDC
|
|
b _08019BE2
|
|
.align 2, 0
|
|
_08019BD8: .4byte gUnknown_203B210
|
|
_08019BDC:
|
|
movs r0, 0
|
|
bl sub_801A2A8
|
|
_08019BE2:
|
|
ldr r4, _08019C18
|
|
ldr r0, [r4]
|
|
adds r0, 0x84
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08019C06
|
|
ldr r0, [r4]
|
|
adds r0, 0x84
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _08019C06
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x30]
|
|
_08019C06:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _08019C22
|
|
cmp r0, 0x2
|
|
bgt _08019C1C
|
|
cmp r0, 0x1
|
|
beq _08019C68
|
|
b _08019C6E
|
|
.align 2, 0
|
|
_08019C18: .4byte gUnknown_203B210
|
|
_08019C1C:
|
|
cmp r0, 0x7
|
|
beq _08019C60
|
|
b _08019C6E
|
|
_08019C22:
|
|
ldr r0, _08019C3C
|
|
ldr r0, [r0]
|
|
movs r1, 0x98
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
cmp r1, 0
|
|
bne _08019C40
|
|
movs r0, 0x6
|
|
bl sub_8018D18
|
|
b _08019C6E
|
|
.align 2, 0
|
|
_08019C3C: .4byte gUnknown_203B460
|
|
_08019C40:
|
|
ldr r0, _08019C54
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x10]
|
|
cmp r0, r1
|
|
ble _08019C58
|
|
movs r0, 0xC
|
|
bl sub_8018D18
|
|
b _08019C6E
|
|
.align 2, 0
|
|
_08019C54: .4byte gUnknown_203B210
|
|
_08019C58:
|
|
movs r0, 0x16
|
|
bl sub_8018D18
|
|
b _08019C6E
|
|
_08019C60:
|
|
movs r0, 0x15
|
|
bl sub_8018D18
|
|
b _08019C6E
|
|
_08019C68:
|
|
movs r0, 0x13
|
|
bl sub_8018D18
|
|
_08019C6E:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8019BBC
|
|
|
|
thumb_func_start sub_8019C78
|
|
sub_8019C78:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_801A6E8
|
|
ldr r4, _08019CB8
|
|
ldr r0, [r4]
|
|
adds r0, 0x84
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08019CA8
|
|
ldr r0, [r4]
|
|
adds r0, 0x84
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _08019CA8
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x2C]
|
|
_08019CA8:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x3
|
|
beq _08019CC2
|
|
cmp r0, 0x3
|
|
bgt _08019CBC
|
|
cmp r0, 0x1
|
|
beq _08019D22
|
|
b _08019D28
|
|
.align 2, 0
|
|
_08019CB8: .4byte gUnknown_203B210
|
|
_08019CBC:
|
|
cmp r0, 0x7
|
|
beq _08019D14
|
|
b _08019D28
|
|
_08019CC2:
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
ldr r4, _08019CE0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x1E]
|
|
bl sub_80914E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08019CE4
|
|
movs r0, 0xD
|
|
bl sub_8018D18
|
|
b _08019D28
|
|
.align 2, 0
|
|
_08019CE0: .4byte gUnknown_203B210
|
|
_08019CE4:
|
|
ldr r1, [r4]
|
|
ldr r0, _08019D04
|
|
ldr r0, [r0]
|
|
movs r2, 0x98
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
ldr r1, [r1, 0x10]
|
|
ldr r0, [r0]
|
|
adds r1, r0
|
|
ldr r0, _08019D08
|
|
cmp r1, r0
|
|
ble _08019D0C
|
|
movs r0, 0xE
|
|
bl sub_8018D18
|
|
b _08019D28
|
|
.align 2, 0
|
|
_08019D04: .4byte gUnknown_203B460
|
|
_08019D08: .4byte 0x0001869f
|
|
_08019D0C:
|
|
movs r0, 0x1E
|
|
bl sub_8018D18
|
|
b _08019D28
|
|
_08019D14:
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0x1D
|
|
bl sub_8018D18
|
|
b _08019D28
|
|
_08019D22:
|
|
movs r0, 0x1B
|
|
bl sub_8018D18
|
|
_08019D28:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8019C78
|
|
|
|
thumb_func_start sub_8019D30
|
|
sub_8019D30:
|
|
push {lr}
|
|
bl sub_801B410
|
|
cmp r0, 0x1
|
|
bls _08019D48
|
|
cmp r0, 0x3
|
|
bhi _08019D48
|
|
bl sub_801B450
|
|
movs r0, 0x13
|
|
bl sub_8018D18
|
|
_08019D48:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8019D30
|
|
|
|
thumb_func_start sub_8019D4C
|
|
sub_8019D4C:
|
|
push {lr}
|
|
bl sub_801B410
|
|
cmp r0, 0x1
|
|
bls _08019D64
|
|
cmp r0, 0x3
|
|
bhi _08019D64
|
|
bl sub_801B450
|
|
movs r0, 0x1B
|
|
bl sub_8018D18
|
|
_08019D64:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8019D4C
|
|
|
|
thumb_func_start sub_8019D68
|
|
sub_8019D68:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08019D80
|
|
ldr r0, _08019D88
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0xC]
|
|
bl sub_8018D18
|
|
_08019D80:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08019D88: .4byte gUnknown_203B210
|
|
thumb_func_end sub_8019D68
|
|
|
|
thumb_func_start sub_8019D8C
|
|
sub_8019D8C:
|
|
push {lr}
|
|
ldr r0, _08019DA0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
bne _08019DA4
|
|
bl sub_8091A48
|
|
b _08019DA8
|
|
.align 2, 0
|
|
_08019DA0: .4byte gUnknown_203B210
|
|
_08019DA4:
|
|
bl sub_8091814
|
|
_08019DA8:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8019D8C
|
|
|
|
thumb_func_start sub_8019DAC
|
|
sub_8019DAC:
|
|
push {r4,r5,lr}
|
|
ldr r0, _08019DFC
|
|
ldr r1, [r0]
|
|
movs r0, 0
|
|
str r0, [r1, 0x14]
|
|
str r0, [r1, 0x18]
|
|
movs r5, 0
|
|
_08019DBA:
|
|
ldr r0, _08019E00
|
|
lsls r1, r5, 2
|
|
ldr r0, [r0]
|
|
adds r4, r0, r1
|
|
ldrb r1, [r4]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08019DEE
|
|
ldrb r0, [r4, 0x2]
|
|
bl sub_80914E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08019DEE
|
|
adds r0, r4, 0
|
|
bl sub_8090CCC
|
|
ldr r1, _08019DFC
|
|
ldr r2, [r1]
|
|
ldr r1, [r2, 0x18]
|
|
adds r1, r0
|
|
str r1, [r2, 0x18]
|
|
ldr r0, [r2, 0x14]
|
|
adds r0, 0x1
|
|
str r0, [r2, 0x14]
|
|
_08019DEE:
|
|
adds r5, 0x1
|
|
cmp r5, 0x13
|
|
ble _08019DBA
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08019DFC: .4byte gUnknown_203B210
|
|
_08019E00: .4byte gUnknown_203B460
|
|
thumb_func_end sub_8019DAC
|
|
|
|
thumb_func_start sub_8019E04
|
|
sub_8019E04:
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldr r0, _08019E20
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, 0x4]
|
|
cmp r0, 0
|
|
beq _08019E2A
|
|
cmp r2, 0x1
|
|
bne _08019E24
|
|
adds r0, r1, 0
|
|
adds r0, 0xE0
|
|
strb r2, [r0]
|
|
b _08019E3A
|
|
.align 2, 0
|
|
_08019E20: .4byte gUnknown_203B210
|
|
_08019E24:
|
|
adds r1, 0xE0
|
|
movs r0, 0
|
|
b _08019E38
|
|
_08019E2A:
|
|
cmp r2, 0x1
|
|
bne _08019E34
|
|
adds r1, 0xE0
|
|
movs r0, 0x7
|
|
b _08019E38
|
|
_08019E34:
|
|
adds r1, 0xE0
|
|
movs r0, 0x6
|
|
_08019E38:
|
|
strb r0, [r1]
|
|
_08019E3A:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8019E04
|
|
|
|
thumb_func_start sub_8019E40
|
|
sub_8019E40:
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
bl sub_8091814
|
|
cmp r0, 0
|
|
beq _08019ED4
|
|
ldr r5, _08019EC8
|
|
movs r0, 0xA0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
str r6, [r0, 0x34]
|
|
lsls r1, r6, 1
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, 0x3C
|
|
adds r1, r0, r1
|
|
str r1, [r0, 0x38]
|
|
adds r0, 0x3C
|
|
bl sub_8006518
|
|
ldr r1, [r5]
|
|
ldr r2, [r1, 0x34]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x3C
|
|
ldr r0, _08019ECC
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, 0x38]
|
|
adds r0, 0x9C
|
|
str r0, [r1, 0x14]
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, 0x3C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, [r5]
|
|
bl sub_8091814
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
movs r2, 0xA
|
|
adds r3, r6, 0
|
|
bl sub_8013818
|
|
ldr r0, [r5]
|
|
ldr r1, _08019ED0
|
|
ldrh r1, [r1]
|
|
strh r1, [r0, 0x18]
|
|
bl sub_8013984
|
|
bl sub_801A064
|
|
bl sub_801A0D8
|
|
movs r0, 0x1
|
|
b _08019ED6
|
|
.align 2, 0
|
|
_08019EC8: .4byte gUnknown_203B214
|
|
_08019ECC: .4byte gUnknown_80DB8CC
|
|
_08019ED0: .4byte gUnknown_203B218
|
|
_08019ED4:
|
|
movs r0, 0
|
|
_08019ED6:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8019E40
|
|
|
|
thumb_func_start sub_8019EDC
|
|
sub_8019EDC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08019EF8
|
|
ldr r0, _08019EF4
|
|
ldr r0, [r0]
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _08019FAA
|
|
.align 2, 0
|
|
_08019EF4: .4byte gUnknown_203B214
|
|
_08019EF8:
|
|
ldr r0, _08019F10
|
|
ldr r0, [r0]
|
|
bl GetKeyPress
|
|
cmp r0, 0x2
|
|
beq _08019F1A
|
|
cmp r0, 0x2
|
|
bgt _08019F14
|
|
cmp r0, 0x1
|
|
beq _08019F24
|
|
b _08019F88
|
|
.align 2, 0
|
|
_08019F10: .4byte gUnknown_203B214
|
|
_08019F14:
|
|
cmp r0, 0x4
|
|
beq _08019F7E
|
|
b _08019F88
|
|
_08019F1A:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _08019FAA
|
|
_08019F24:
|
|
bl sub_8019FB0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_809185C
|
|
ldrb r2, [r0]
|
|
lsls r2, 16
|
|
ldr r3, _08019F68
|
|
ldr r1, [sp]
|
|
ands r1, r3
|
|
orrs r1, r2
|
|
str r1, [sp]
|
|
ldrb r0, [r0, 0x1]
|
|
lsls r0, 8
|
|
ldr r2, _08019F6C
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
bl sub_8090C7C
|
|
ldr r1, _08019F70
|
|
ldr r1, [r1]
|
|
movs r2, 0x98
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
cmp r0, r1
|
|
ble _08019F74
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
b _08019F7A
|
|
.align 2, 0
|
|
_08019F68: .4byte 0xff00ffff
|
|
_08019F6C: .4byte 0xffff00ff
|
|
_08019F70: .4byte gUnknown_203B460
|
|
_08019F74:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
_08019F7A:
|
|
movs r0, 0x3
|
|
b _08019FAA
|
|
_08019F7E:
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0x4
|
|
b _08019FAA
|
|
_08019F88:
|
|
ldr r0, _08019F9C
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08019FA0
|
|
movs r0, 0
|
|
b _08019FAA
|
|
.align 2, 0
|
|
_08019F9C: .4byte gUnknown_203B214
|
|
_08019FA0:
|
|
bl sub_801A064
|
|
bl sub_801A0D8
|
|
movs r0, 0x1
|
|
_08019FAA:
|
|
add sp, 0x4
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8019EDC
|
|
|
|
thumb_func_start sub_8019FB0
|
|
sub_8019FB0:
|
|
ldr r0, _08019FC8
|
|
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
|
|
_08019FC8: .4byte gUnknown_203B214
|
|
thumb_func_end sub_8019FB0
|
|
|
|
thumb_func_start sub_8019FCC
|
|
sub_8019FCC:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8004914
|
|
ldr r5, _0801A00C
|
|
ldr r0, [r5]
|
|
adds r0, 0x3C
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
bl sub_8091814
|
|
adds r1, r0, 0
|
|
ldr r0, [r5]
|
|
strh r1, [r0, 0x22]
|
|
bl sub_8013984
|
|
bl sub_801A064
|
|
bl sub_801A0D8
|
|
cmp r4, 0
|
|
beq _0801A006
|
|
ldr r0, [r5]
|
|
bl AddMenuCursorSprite
|
|
_0801A006:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801A00C: .4byte gUnknown_203B214
|
|
thumb_func_end sub_8019FCC
|
|
|
|
thumb_func_start sub_801A010
|
|
sub_801A010:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0801A058
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0801A050
|
|
ldr r1, _0801A05C
|
|
ldrh r0, [r2, 0x18]
|
|
strh r0, [r1]
|
|
ldr r0, [r2, 0x34]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x3C
|
|
ldr r0, _0801A060
|
|
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]
|
|
_0801A050:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801A058: .4byte gUnknown_203B214
|
|
_0801A05C: .4byte gUnknown_203B218
|
|
_0801A060: .4byte gUnknown_80DB8B4
|
|
thumb_func_end sub_801A010
|
|
|
|
thumb_func_start sub_801A064
|
|
sub_801A064:
|
|
push {r4,lr}
|
|
ldr r4, _0801A0D4
|
|
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, 0xA
|
|
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
|
|
_0801A0D4: .4byte gUnknown_203B214
|
|
thumb_func_end sub_801A064
|
|
|
|
thumb_func_start sub_801A0D8
|
|
sub_801A0D8:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0xB4
|
|
ldr r4, _0801A1A4
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_80073B8
|
|
ldr r1, [r4]
|
|
movs r2, 0x1E
|
|
ldrsh r0, [r1, r2]
|
|
lsls r0, 3
|
|
adds r0, 0xA
|
|
ldr r2, _0801A1A8
|
|
ldr r3, [r1, 0x34]
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
bl xxx_call_draw_string
|
|
movs r6, 0
|
|
ldr r0, [r4]
|
|
movs r1, 0x1A
|
|
ldrsh r0, [r0, r1]
|
|
cmp r6, r0
|
|
bge _0801A1EC
|
|
adds r7, r4, 0
|
|
add r4, sp, 0xB0
|
|
mov r9, r6
|
|
add r5, sp, 0x54
|
|
add r2, sp, 0x60
|
|
mov r8, r2
|
|
_0801A122:
|
|
ldr r0, [r7]
|
|
movs r2, 0x1E
|
|
ldrsh r1, [r0, r2]
|
|
movs r2, 0x1C
|
|
ldrsh r0, [r0, r2]
|
|
muls r0, r1
|
|
adds r0, r6
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_809185C
|
|
ldrb r2, [r0]
|
|
lsls r2, 16
|
|
ldr r3, _0801A1AC
|
|
ldr r1, [r4]
|
|
ands r1, r3
|
|
orrs r1, r2
|
|
str r1, [r4]
|
|
ldrb r2, [r0, 0x1]
|
|
lsls r2, 8
|
|
ldr r0, _0801A1B0
|
|
ands r1, r0
|
|
orrs r1, r2
|
|
ldr r0, _0801A1B4
|
|
ands r1, r0
|
|
movs r0, 0x3
|
|
orrs r1, r0
|
|
str r1, [r4]
|
|
movs r1, 0x1
|
|
str r1, [sp, 0x54]
|
|
mov r0, r9
|
|
strb r0, [r5, 0x4]
|
|
movs r0, 0x58
|
|
strh r0, [r5, 0x6]
|
|
strb r1, [r5, 0x8]
|
|
add r0, sp, 0x4
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
bl sub_8090E14
|
|
adds r0, r4, 0
|
|
bl sub_8090C7C
|
|
ldr r1, _0801A1B8
|
|
ldr r1, [r1]
|
|
movs r2, 0x98
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
cmp r0, r1
|
|
bgt _0801A1BC
|
|
ldr r0, [r7]
|
|
adds r1, r6, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x34]
|
|
mov r0, r9
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
b _0801A1E0
|
|
.align 2, 0
|
|
_0801A1A4: .4byte gUnknown_203B214
|
|
_0801A1A8: .4byte gUnknown_80DB8E4
|
|
_0801A1AC: .4byte 0xff00ffff
|
|
_0801A1B0: .4byte 0xffff00ff
|
|
_0801A1B4: .4byte 0xffffff00
|
|
_0801A1B8: .4byte gUnknown_203B460
|
|
_0801A1BC:
|
|
mov r0, r8
|
|
ldr r1, _0801A204
|
|
add r2, sp, 0x4
|
|
bl sub_800D158
|
|
ldr r0, [r7]
|
|
adds r1, r6, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x34]
|
|
mov r2, r9
|
|
str r2, [sp]
|
|
movs r0, 0x8
|
|
mov r2, r8
|
|
bl xxx_call_draw_string
|
|
_0801A1E0:
|
|
adds r6, 0x1
|
|
ldr r0, [r7]
|
|
movs r1, 0x1A
|
|
ldrsh r0, [r0, r1]
|
|
cmp r6, r0
|
|
blt _0801A122
|
|
_0801A1EC:
|
|
ldr r0, _0801A208
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_80073E0
|
|
add sp, 0xB4
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801A204: .4byte gUnknown_80DB8EC
|
|
_0801A208: .4byte gUnknown_203B214
|
|
thumb_func_end sub_801A0D8
|
|
|
|
thumb_func_start sub_801A20C
|
|
sub_801A20C:
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
bl sub_8091A48
|
|
cmp r0, 0
|
|
beq _0801A2A0
|
|
ldr r5, _0801A294
|
|
movs r0, 0xA0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
str r6, [r0, 0x34]
|
|
lsls r1, r6, 1
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, 0x3C
|
|
adds r1, r0, r1
|
|
str r1, [r0, 0x38]
|
|
adds r0, 0x3C
|
|
bl sub_8006518
|
|
ldr r1, [r5]
|
|
ldr r2, [r1, 0x34]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x3C
|
|
ldr r0, _0801A298
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, 0x38]
|
|
adds r0, 0x9C
|
|
str r0, [r1, 0x14]
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, 0x3C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, [r5]
|
|
bl sub_8091A48
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
movs r2, 0xA
|
|
adds r3, r6, 0
|
|
bl sub_8013818
|
|
ldr r0, [r5]
|
|
ldr r1, _0801A29C
|
|
ldrh r1, [r1]
|
|
strh r1, [r0, 0x18]
|
|
bl sub_8013984
|
|
bl sub_801A430
|
|
bl sub_801A4A4
|
|
movs r0, 0x1
|
|
b _0801A2A2
|
|
.align 2, 0
|
|
_0801A294: .4byte gUnknown_203B21C
|
|
_0801A298: .4byte gUnknown_80DB914
|
|
_0801A29C: .4byte gUnknown_203B220
|
|
_0801A2A0:
|
|
movs r0, 0
|
|
_0801A2A2:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801A20C
|
|
|
|
thumb_func_start sub_801A2A8
|
|
sub_801A2A8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801A2C4
|
|
ldr r0, _0801A2C0
|
|
ldr r0, [r0]
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _0801A376
|
|
.align 2, 0
|
|
_0801A2C0: .4byte gUnknown_203B21C
|
|
_0801A2C4:
|
|
ldr r0, _0801A2DC
|
|
ldr r0, [r0]
|
|
bl GetKeyPress
|
|
cmp r0, 0x2
|
|
beq _0801A2E6
|
|
cmp r0, 0x2
|
|
bgt _0801A2E0
|
|
cmp r0, 0x1
|
|
beq _0801A2F0
|
|
b _0801A354
|
|
.align 2, 0
|
|
_0801A2DC: .4byte gUnknown_203B21C
|
|
_0801A2E0:
|
|
cmp r0, 0x4
|
|
beq _0801A34A
|
|
b _0801A354
|
|
_0801A2E6:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0801A376
|
|
_0801A2F0:
|
|
bl sub_801A37C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8091A90
|
|
ldrb r2, [r0]
|
|
lsls r2, 16
|
|
ldr r3, _0801A334
|
|
ldr r1, [sp]
|
|
ands r1, r3
|
|
orrs r1, r2
|
|
str r1, [sp]
|
|
ldrb r0, [r0, 0x1]
|
|
lsls r0, 8
|
|
ldr r2, _0801A338
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
bl sub_8090C7C
|
|
ldr r1, _0801A33C
|
|
ldr r1, [r1]
|
|
movs r2, 0x98
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
cmp r0, r1
|
|
ble _0801A340
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
b _0801A346
|
|
.align 2, 0
|
|
_0801A334: .4byte 0xff00ffff
|
|
_0801A338: .4byte 0xffff00ff
|
|
_0801A33C: .4byte gUnknown_203B460
|
|
_0801A340:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
_0801A346:
|
|
movs r0, 0x3
|
|
b _0801A376
|
|
_0801A34A:
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0x4
|
|
b _0801A376
|
|
_0801A354:
|
|
ldr r0, _0801A368
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801A36C
|
|
movs r0, 0
|
|
b _0801A376
|
|
.align 2, 0
|
|
_0801A368: .4byte gUnknown_203B21C
|
|
_0801A36C:
|
|
bl sub_801A430
|
|
bl sub_801A4A4
|
|
movs r0, 0x1
|
|
_0801A376:
|
|
add sp, 0x4
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801A2A8
|
|
|
|
thumb_func_start sub_801A37C
|
|
sub_801A37C:
|
|
ldr r0, _0801A394
|
|
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
|
|
_0801A394: .4byte gUnknown_203B21C
|
|
thumb_func_end sub_801A37C
|
|
|
|
thumb_func_start sub_801A398
|
|
sub_801A398:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8004914
|
|
ldr r5, _0801A3D8
|
|
ldr r0, [r5]
|
|
adds r0, 0x3C
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
bl sub_8091A48
|
|
adds r1, r0, 0
|
|
ldr r0, [r5]
|
|
strh r1, [r0, 0x22]
|
|
bl sub_8013984
|
|
bl sub_801A430
|
|
bl sub_801A4A4
|
|
cmp r4, 0
|
|
beq _0801A3D2
|
|
ldr r0, [r5]
|
|
bl AddMenuCursorSprite
|
|
_0801A3D2:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801A3D8: .4byte gUnknown_203B21C
|
|
thumb_func_end sub_801A398
|
|
|
|
thumb_func_start sub_801A3DC
|
|
sub_801A3DC:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0801A424
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0801A41C
|
|
ldr r1, _0801A428
|
|
ldrh r0, [r2, 0x18]
|
|
strh r0, [r1]
|
|
ldr r0, [r2, 0x34]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x3C
|
|
ldr r0, _0801A42C
|
|
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]
|
|
_0801A41C:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801A424: .4byte gUnknown_203B21C
|
|
_0801A428: .4byte gUnknown_203B220
|
|
_0801A42C: .4byte gUnknown_80DB8FC
|
|
thumb_func_end sub_801A3DC
|
|
|
|
thumb_func_start sub_801A430
|
|
sub_801A430:
|
|
push {r4,lr}
|
|
ldr r4, _0801A4A0
|
|
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, 0xA
|
|
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
|
|
_0801A4A0: .4byte gUnknown_203B21C
|
|
thumb_func_end sub_801A430
|
|
|
|
thumb_func_start sub_801A4A4
|
|
sub_801A4A4:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0xB4
|
|
ldr r4, _0801A570
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_80073B8
|
|
ldr r1, [r4]
|
|
movs r2, 0x1E
|
|
ldrsh r0, [r1, r2]
|
|
lsls r0, 3
|
|
adds r0, 0xA
|
|
ldr r2, _0801A574
|
|
ldr r3, [r1, 0x34]
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
bl xxx_call_draw_string
|
|
movs r6, 0
|
|
ldr r0, [r4]
|
|
movs r1, 0x1A
|
|
ldrsh r0, [r0, r1]
|
|
cmp r6, r0
|
|
bge _0801A5B8
|
|
adds r7, r4, 0
|
|
add r4, sp, 0xB0
|
|
mov r9, r6
|
|
add r5, sp, 0x54
|
|
add r2, sp, 0x60
|
|
mov r8, r2
|
|
_0801A4EE:
|
|
ldr r0, [r7]
|
|
movs r2, 0x1E
|
|
ldrsh r1, [r0, r2]
|
|
movs r2, 0x1C
|
|
ldrsh r0, [r0, r2]
|
|
muls r0, r1
|
|
adds r0, r6
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8091A90
|
|
ldrb r2, [r0]
|
|
lsls r2, 16
|
|
ldr r3, _0801A578
|
|
ldr r1, [r4]
|
|
ands r1, r3
|
|
orrs r1, r2
|
|
str r1, [r4]
|
|
ldrb r2, [r0, 0x1]
|
|
lsls r2, 8
|
|
ldr r0, _0801A57C
|
|
ands r1, r0
|
|
orrs r1, r2
|
|
ldr r0, _0801A580
|
|
ands r1, r0
|
|
movs r0, 0x3
|
|
orrs r1, r0
|
|
str r1, [r4]
|
|
movs r1, 0x1
|
|
str r1, [sp, 0x54]
|
|
mov r0, r9
|
|
strb r0, [r5, 0x4]
|
|
movs r0, 0x58
|
|
strh r0, [r5, 0x6]
|
|
strb r1, [r5, 0x8]
|
|
add r0, sp, 0x4
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
bl sub_8090E14
|
|
adds r0, r4, 0
|
|
bl sub_8090C7C
|
|
ldr r1, _0801A584
|
|
ldr r1, [r1]
|
|
movs r2, 0x98
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
cmp r0, r1
|
|
bgt _0801A588
|
|
ldr r0, [r7]
|
|
adds r1, r6, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x34]
|
|
mov r0, r9
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
b _0801A5AC
|
|
.align 2, 0
|
|
_0801A570: .4byte gUnknown_203B21C
|
|
_0801A574: .4byte gUnknown_80DB92C
|
|
_0801A578: .4byte 0xff00ffff
|
|
_0801A57C: .4byte 0xffff00ff
|
|
_0801A580: .4byte 0xffffff00
|
|
_0801A584: .4byte gUnknown_203B460
|
|
_0801A588:
|
|
mov r0, r8
|
|
ldr r1, _0801A5D0
|
|
add r2, sp, 0x4
|
|
bl sub_800D158
|
|
ldr r0, [r7]
|
|
adds r1, r6, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x34]
|
|
mov r2, r9
|
|
str r2, [sp]
|
|
movs r0, 0x8
|
|
mov r2, r8
|
|
bl xxx_call_draw_string
|
|
_0801A5AC:
|
|
adds r6, 0x1
|
|
ldr r0, [r7]
|
|
movs r1, 0x1A
|
|
ldrsh r0, [r0, r1]
|
|
cmp r6, r0
|
|
blt _0801A4EE
|
|
_0801A5B8:
|
|
ldr r0, _0801A5D4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_80073E0
|
|
add sp, 0xB4
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801A5D0: .4byte gUnknown_80DB934
|
|
_0801A5D4: .4byte gUnknown_203B21C
|
|
thumb_func_end sub_801A4A4
|
|
|
|
thumb_func_start sub_801A5D8
|
|
sub_801A5D8:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r4, r0, 0
|
|
adds r6, r1, 0
|
|
adds r7, r2, 0
|
|
mov r8, r3
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
bne _0801A5F2
|
|
movs r0, 0
|
|
b _0801A6CC
|
|
_0801A5F2:
|
|
ldr r5, _0801A6D8
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
bne _0801A604
|
|
movs r0, 0xF4
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
_0801A604:
|
|
ldr r0, [r5]
|
|
str r4, [r0]
|
|
bl sub_80910B4
|
|
bl sub_801AE84
|
|
ldr r0, [r5]
|
|
adds r1, r0, 0
|
|
adds r1, 0x88
|
|
str r6, [r1]
|
|
adds r2, r0, 0
|
|
adds r2, 0x8C
|
|
lsls r1, r6, 1
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, 0x90
|
|
adds r1, r0, r1
|
|
str r1, [r2]
|
|
adds r0, 0x90
|
|
bl sub_8006518
|
|
ldr r1, [r5]
|
|
adds r0, r1, 0
|
|
adds r0, 0x88
|
|
ldr r2, [r0]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x90
|
|
ldr r0, _0801A6DC
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r2, [r5]
|
|
adds r0, r2, 0
|
|
adds r0, 0x8C
|
|
ldr r1, [r0]
|
|
adds r0, 0x64
|
|
str r0, [r1, 0x14]
|
|
cmp r7, 0
|
|
beq _0801A66E
|
|
subs r0, 0x68
|
|
ldr r1, [r0]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x98
|
|
adds r1, r0
|
|
ldr r0, [r7]
|
|
str r0, [r1]
|
|
_0801A66E:
|
|
ldr r0, [r5]
|
|
adds r0, 0x8C
|
|
ldr r0, [r0]
|
|
mov r1, r8
|
|
bl sub_8012D08
|
|
movs r0, 0x1
|
|
bl sub_8099690
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, 0x90
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, [r5]
|
|
adds r4, 0x54
|
|
bl sub_8090A34
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
mov r2, r8
|
|
adds r3, r6, 0
|
|
bl sub_8013818
|
|
ldr r2, [r5]
|
|
ldr r0, _0801A6E0
|
|
ldrh r1, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x6C
|
|
strh r1, [r0]
|
|
ldr r0, _0801A6E4
|
|
ldrh r0, [r0]
|
|
adds r1, r2, 0
|
|
adds r1, 0x72
|
|
strh r0, [r1]
|
|
adds r0, r2, 0
|
|
adds r0, 0x54
|
|
bl sub_8013984
|
|
bl sub_801A998
|
|
bl sub_801A9E0
|
|
movs r0, 0x1
|
|
_0801A6CC:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801A6D8: .4byte gUnknown_203B224
|
|
_0801A6DC: .4byte gUnknown_80DB95C
|
|
_0801A6E0: .4byte gUnknown_203B228
|
|
_0801A6E4: .4byte gUnknown_203B22A
|
|
thumb_func_end sub_801A5D8
|
|
|
|
thumb_func_start sub_801A6E8
|
|
sub_801A6E8:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801A704
|
|
ldr r0, _0801A700
|
|
ldr r0, [r0]
|
|
adds r0, 0x54
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _0801A8A2
|
|
.align 2, 0
|
|
_0801A700: .4byte gUnknown_203B224
|
|
_0801A704:
|
|
ldr r0, _0801A720
|
|
ldr r0, [r0]
|
|
adds r0, 0x54
|
|
bl GetKeyPress
|
|
subs r0, 0x1
|
|
cmp r0, 0x5
|
|
bls _0801A716
|
|
b _0801A87C
|
|
_0801A716:
|
|
lsls r0, 2
|
|
ldr r1, _0801A724
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801A720: .4byte gUnknown_203B224
|
|
_0801A724: .4byte _0801A728
|
|
.align 2, 0
|
|
_0801A728:
|
|
.4byte _0801A74A
|
|
.4byte _0801A740
|
|
.4byte _0801A864
|
|
.4byte _0801A806
|
|
.4byte _0801A810
|
|
.4byte _0801A810
|
|
_0801A740:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0801A8A2
|
|
_0801A74A:
|
|
ldr r1, _0801A760
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x5
|
|
bhi _0801A802
|
|
lsls r0, 2
|
|
ldr r1, _0801A764
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801A760: .4byte gUnknown_203B224
|
|
_0801A764: .4byte _0801A768
|
|
.align 2, 0
|
|
_0801A768:
|
|
.4byte _0801A780
|
|
.4byte _0801A780
|
|
.4byte _0801A780
|
|
.4byte _0801A794
|
|
.4byte _0801A7AC
|
|
.4byte _0801A7FC
|
|
_0801A780:
|
|
ldr r4, [r4]
|
|
bl sub_801A8AC
|
|
lsls r0, 2
|
|
adds r4, 0x4
|
|
adds r4, r0
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
bne _0801A7F4
|
|
b _0801A7E2
|
|
_0801A794:
|
|
bl sub_801AEA8
|
|
cmp r0, 0
|
|
bne _0801A7E2
|
|
bl sub_801A8AC
|
|
bl sub_801ADA0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801A7E2
|
|
b _0801A7F4
|
|
_0801A7AC:
|
|
ldr r5, _0801A7EC
|
|
ldr r4, [r5]
|
|
bl sub_801A8AC
|
|
lsls r0, 2
|
|
adds r4, r0
|
|
ldr r0, [r4]
|
|
str r0, [sp]
|
|
mov r0, sp
|
|
ldrb r0, [r0, 0x2]
|
|
bl sub_80914E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801A7F4
|
|
mov r0, sp
|
|
bl sub_8090CCC
|
|
ldr r1, [r5]
|
|
movs r2, 0x98
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
adds r0, r1
|
|
ldr r1, _0801A7F0
|
|
cmp r0, r1
|
|
bgt _0801A7F4
|
|
_0801A7E2:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
b _0801A802
|
|
.align 2, 0
|
|
_0801A7EC: .4byte gUnknown_203B460
|
|
_0801A7F0: .4byte 0x0001869f
|
|
_0801A7F4:
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
b _0801A802
|
|
_0801A7FC:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
_0801A802:
|
|
movs r0, 0x3
|
|
b _0801A8A2
|
|
_0801A806:
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0x4
|
|
b _0801A8A2
|
|
_0801A810:
|
|
ldr r4, _0801A858
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x3
|
|
bne _0801A87C
|
|
bl sub_801A8AC
|
|
adds r1, r0, 0
|
|
ldr r0, [r4]
|
|
lsls r5, r1, 2
|
|
adds r0, 0x4
|
|
adds r0, r5
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
bne _0801A83A
|
|
adds r0, r1, 0
|
|
bl sub_801ADA0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801A85C
|
|
_0801A83A:
|
|
movs r0, 0x6
|
|
bl sub_80119D4
|
|
ldr r0, [r4]
|
|
adds r2, r0, 0x4
|
|
adds r2, r5
|
|
ldr r1, [r2]
|
|
movs r3, 0x1
|
|
eors r1, r3
|
|
str r1, [r2]
|
|
adds r0, 0x54
|
|
movs r1, 0
|
|
bl sub_80138B8
|
|
b _0801A89C
|
|
.align 2, 0
|
|
_0801A858: .4byte gUnknown_203B224
|
|
_0801A85C:
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
b _0801A87C
|
|
_0801A864:
|
|
ldr r0, _0801A894
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x2
|
|
beq _0801A87C
|
|
movs r0, 0x5
|
|
bl sub_80119D4
|
|
bl sub_801AEF8
|
|
bl sub_801A9E0
|
|
_0801A87C:
|
|
ldr r0, _0801A894
|
|
ldr r0, [r0]
|
|
adds r0, 0x54
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801A898
|
|
movs r0, 0
|
|
b _0801A8A2
|
|
.align 2, 0
|
|
_0801A894: .4byte gUnknown_203B224
|
|
_0801A898:
|
|
bl sub_801A998
|
|
_0801A89C:
|
|
bl sub_801A9E0
|
|
movs r0, 0x1
|
|
_0801A8A2:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801A6E8
|
|
|
|
thumb_func_start sub_801A8AC
|
|
sub_801A8AC:
|
|
ldr r0, _0801A8CC
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x72
|
|
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, 0x6C
|
|
movs r2, 0
|
|
ldrsh r1, [r1, r2]
|
|
adds r0, r1
|
|
bx lr
|
|
.align 2, 0
|
|
_0801A8CC: .4byte gUnknown_203B224
|
|
thumb_func_end sub_801A8AC
|
|
|
|
thumb_func_start sub_801A8D0
|
|
sub_801A8D0:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x1
|
|
bl sub_8099690
|
|
bl sub_8004914
|
|
ldr r5, _0801A924
|
|
ldr r0, [r5]
|
|
adds r0, 0x90
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
bl sub_80910B4
|
|
bl sub_8090A34
|
|
adds r1, r0, 0
|
|
ldr r0, [r5]
|
|
adds r2, r0, 0
|
|
adds r2, 0x76
|
|
strh r1, [r2]
|
|
adds r0, 0x54
|
|
bl sub_8013984
|
|
bl sub_801A998
|
|
bl sub_801A9E0
|
|
cmp r4, 0
|
|
beq _0801A91C
|
|
ldr r0, [r5]
|
|
adds r0, 0x54
|
|
bl AddMenuCursorSprite
|
|
_0801A91C:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801A924: .4byte gUnknown_203B224
|
|
thumb_func_end sub_801A8D0
|
|
|
|
thumb_func_start sub_801A928
|
|
sub_801A928:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0801A988
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0801A980
|
|
ldr r1, _0801A98C
|
|
adds r0, r2, 0
|
|
adds r0, 0x6C
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
ldr r1, _0801A990
|
|
adds r0, r2, 0
|
|
adds r0, 0x72
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r0, r2, 0
|
|
adds r0, 0x88
|
|
ldr r0, [r0]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x90
|
|
ldr r0, _0801A994
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x90
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0801A980:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801A988: .4byte gUnknown_203B224
|
|
_0801A98C: .4byte gUnknown_203B228
|
|
_0801A990: .4byte gUnknown_203B22A
|
|
_0801A994: .4byte gUnknown_80DB944
|
|
thumb_func_end sub_801A928
|
|
|
|
thumb_func_start sub_801A998
|
|
sub_801A998:
|
|
push {r4,lr}
|
|
ldr r4, _0801A9DC
|
|
ldr r0, [r4]
|
|
adds r1, r0, 0
|
|
adds r1, 0x74
|
|
ldrh r1, [r1]
|
|
adds r0, 0xF0
|
|
movs r2, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r1, r0, 0
|
|
adds r1, 0x72
|
|
ldrh r1, [r1]
|
|
adds r0, 0xF1
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xF2
|
|
movs r1, 0xB
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xF3
|
|
strb r2, [r0]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x90
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801A9DC: .4byte gUnknown_203B224
|
|
thumb_func_end sub_801A998
|
|
|
|
thumb_func_start sub_801A9E0
|
|
sub_801A9E0:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0xCC
|
|
ldr r4, _0801AA2C
|
|
ldr r0, [r4]
|
|
adds r0, 0x88
|
|
ldr r0, [r0]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
adds r0, 0x88
|
|
ldr r0, [r0]
|
|
bl sub_80073B8
|
|
ldr r4, [r4]
|
|
adds r1, r4, 0
|
|
adds r1, 0x72
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
lsls r0, 3
|
|
adds r5, r0, 0
|
|
adds r5, 0xA
|
|
movs r3, 0
|
|
ldrsh r1, [r1, r3]
|
|
cmp r1, 0
|
|
bne _0801AA34
|
|
ldr r2, _0801AA30
|
|
adds r0, r4, 0
|
|
adds r0, 0x88
|
|
ldr r3, [r0]
|
|
str r1, [sp]
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
b _0801AA48
|
|
.align 2, 0
|
|
_0801AA2C: .4byte gUnknown_203B224
|
|
_0801AA30: .4byte gUnknown_80DB974
|
|
_0801AA34:
|
|
ldr r2, _0801AA58
|
|
adds r0, r4, 0
|
|
adds r0, 0x88
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
_0801AA48:
|
|
movs r7, 0
|
|
ldr r1, _0801AA5C
|
|
ldr r0, [r1]
|
|
adds r0, 0x6E
|
|
movs r4, 0
|
|
ldrsh r0, [r0, r4]
|
|
b _0801AD0A
|
|
.align 2, 0
|
|
_0801AA58: .4byte gUnknown_80DB984
|
|
_0801AA5C: .4byte gUnknown_203B224
|
|
_0801AA60:
|
|
ldr r2, [r1]
|
|
adds r0, r2, 0
|
|
adds r0, 0x72
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
subs r0, 0x2
|
|
movs r4, 0
|
|
ldrsh r0, [r0, r4]
|
|
muls r0, r1
|
|
adds r0, r7
|
|
mov r8, r0
|
|
ldr r0, _0801AA9C
|
|
ldr r0, [r0]
|
|
mov r3, r8
|
|
lsls r1, r3, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
add r1, sp, 0xC8
|
|
str r0, [r1]
|
|
ldr r0, [r2]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x5
|
|
bls _0801AA90
|
|
b _0801ACC4
|
|
_0801AA90:
|
|
lsls r0, 2
|
|
ldr r1, _0801AAA0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801AA9C: .4byte gUnknown_203B460
|
|
_0801AAA0: .4byte _0801AAA4
|
|
.align 2, 0
|
|
_0801AAA4:
|
|
.4byte _0801AABC
|
|
.4byte _0801AAE4
|
|
.4byte _0801AAE4
|
|
.4byte _0801AB18
|
|
.4byte _0801AB90
|
|
.4byte _0801AC50
|
|
_0801AABC:
|
|
add r0, sp, 0x4
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
bl sub_8090E14
|
|
ldr r4, _0801AAE0
|
|
ldr r0, [r4]
|
|
adds r0, 0x54
|
|
adds r1, r7, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r0, [r4]
|
|
adds r0, 0x88
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
b _0801AC8C
|
|
.align 2, 0
|
|
_0801AAE0: .4byte gUnknown_203B224
|
|
_0801AAE4:
|
|
add r2, sp, 0x54
|
|
movs r5, 0
|
|
str r5, [sp, 0x54]
|
|
strb r5, [r2, 0x4]
|
|
movs r0, 0x1
|
|
strb r0, [r2, 0x8]
|
|
strb r0, [r4]
|
|
add r1, sp, 0xC8
|
|
add r0, sp, 0x4
|
|
bl sub_8090E14
|
|
ldr r4, _0801AB14
|
|
ldr r0, [r4]
|
|
adds r0, 0x54
|
|
adds r1, r7, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r0, [r4]
|
|
adds r0, 0x88
|
|
ldr r3, [r0]
|
|
str r5, [sp]
|
|
b _0801AC8C
|
|
.align 2, 0
|
|
_0801AB14: .4byte gUnknown_203B224
|
|
_0801AB18:
|
|
add r2, sp, 0x60
|
|
movs r6, 0
|
|
str r6, [sp, 0x60]
|
|
strb r6, [r2, 0x4]
|
|
movs r0, 0x1
|
|
strb r0, [r2, 0x8]
|
|
strb r0, [r4]
|
|
add r1, sp, 0xC8
|
|
add r0, sp, 0x4
|
|
bl sub_8090E14
|
|
ldr r5, _0801AB60
|
|
ldr r0, [r5]
|
|
mov r4, r8
|
|
lsls r1, r4, 2
|
|
adds r0, 0x4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
bne _0801AB4E
|
|
mov r0, r8
|
|
bl sub_801ADA0
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
beq _0801AB64
|
|
_0801AB4E:
|
|
ldr r0, [r5]
|
|
adds r0, 0x54
|
|
adds r1, r7, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r0, [r5]
|
|
b _0801AC86
|
|
.align 2, 0
|
|
_0801AB60: .4byte gUnknown_203B224
|
|
_0801AB64:
|
|
ldr r0, _0801AB88
|
|
add r1, sp, 0x4
|
|
movs r2, 0x50
|
|
bl strncpy
|
|
ldr r0, [r5]
|
|
adds r0, 0x54
|
|
adds r1, r7, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r2, _0801AB8C
|
|
ldr r0, [r5]
|
|
adds r0, 0x88
|
|
ldr r3, [r0]
|
|
str r4, [sp]
|
|
b _0801AC3C
|
|
.align 2, 0
|
|
_0801AB88: .4byte gUnknown_202DE58
|
|
_0801AB8C: .4byte gUnknown_80DB994
|
|
_0801AB90:
|
|
ldrb r0, [r4, 0x2]
|
|
bl sub_80914E4
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0
|
|
beq _0801AC10
|
|
add r2, sp, 0x6C
|
|
movs r1, 0x3
|
|
str r1, [sp, 0x6C]
|
|
movs r6, 0
|
|
strb r6, [r2, 0x4]
|
|
movs r0, 0x58
|
|
strh r0, [r2, 0x6]
|
|
movs r0, 0x1
|
|
strb r0, [r2, 0x8]
|
|
strb r1, [r4]
|
|
add r0, sp, 0x4
|
|
adds r1, r4, 0
|
|
bl sub_8090E14
|
|
adds r0, r4, 0
|
|
bl sub_8090CCC
|
|
ldr r1, _0801AC00
|
|
ldr r1, [r1]
|
|
movs r2, 0x98
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
adds r0, r1
|
|
ldr r1, _0801AC04
|
|
cmp r0, r1
|
|
ble _0801AC76
|
|
add r5, sp, 0x78
|
|
ldr r1, _0801AC08
|
|
adds r0, r5, 0
|
|
add r2, sp, 0x4
|
|
bl sub_800D158
|
|
ldr r4, _0801AC0C
|
|
ldr r0, [r4]
|
|
adds r0, 0x54
|
|
adds r1, r7, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r0, [r4]
|
|
adds r0, 0x88
|
|
ldr r3, [r0]
|
|
str r6, [sp]
|
|
movs r0, 0x8
|
|
adds r2, r5, 0
|
|
bl xxx_call_draw_string
|
|
b _0801ACC4
|
|
.align 2, 0
|
|
_0801AC00: .4byte gUnknown_203B460
|
|
_0801AC04: .4byte 0x0001869f
|
|
_0801AC08: .4byte gUnknown_80DB9A0
|
|
_0801AC0C: .4byte gUnknown_203B224
|
|
_0801AC10:
|
|
add r0, sp, 0x4
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
bl sub_8090E14
|
|
ldr r0, _0801AC44
|
|
add r1, sp, 0x4
|
|
movs r2, 0x50
|
|
bl strncpy
|
|
ldr r4, _0801AC48
|
|
ldr r0, [r4]
|
|
adds r0, 0x54
|
|
adds r1, r7, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r2, _0801AC4C
|
|
ldr r0, [r4]
|
|
adds r0, 0x88
|
|
ldr r3, [r0]
|
|
str r5, [sp]
|
|
_0801AC3C:
|
|
movs r0, 0x8
|
|
bl sub_8014FF0
|
|
b _0801ACC4
|
|
.align 2, 0
|
|
_0801AC44: .4byte gUnknown_202DE58
|
|
_0801AC48: .4byte gUnknown_203B224
|
|
_0801AC4C: .4byte gUnknown_80DB994
|
|
_0801AC50:
|
|
add r2, sp, 0x78
|
|
movs r6, 0
|
|
str r6, [sp, 0x78]
|
|
strb r6, [r2, 0x4]
|
|
movs r0, 0x1
|
|
strb r0, [r2, 0x8]
|
|
strb r0, [r4]
|
|
add r4, sp, 0xC8
|
|
add r0, sp, 0x4
|
|
adds r1, r4, 0
|
|
bl sub_8090E14
|
|
ldrb r0, [r4, 0x2]
|
|
bl sub_8091764
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0
|
|
beq _0801AC9C
|
|
_0801AC76:
|
|
ldr r4, _0801AC98
|
|
ldr r0, [r4]
|
|
adds r0, 0x54
|
|
adds r1, r7, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r0, [r4]
|
|
_0801AC86:
|
|
adds r0, 0x88
|
|
ldr r3, [r0]
|
|
str r6, [sp]
|
|
_0801AC8C:
|
|
movs r0, 0x8
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
b _0801ACC4
|
|
.align 2, 0
|
|
_0801AC98: .4byte gUnknown_203B224
|
|
_0801AC9C:
|
|
ldr r0, _0801AD28
|
|
add r1, sp, 0x4
|
|
movs r2, 0x50
|
|
bl strncpy
|
|
ldr r4, _0801AD2C
|
|
ldr r0, [r4]
|
|
adds r0, 0x54
|
|
adds r1, r7, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r2, _0801AD30
|
|
ldr r0, [r4]
|
|
adds r0, 0x88
|
|
ldr r3, [r0]
|
|
str r5, [sp]
|
|
movs r0, 0x8
|
|
bl sub_8014FF0
|
|
_0801ACC4:
|
|
mov r0, r8
|
|
bl sub_801AED0
|
|
movs r1, 0x1
|
|
ands r1, r0
|
|
cmp r1, 0
|
|
beq _0801ACFE
|
|
ldr r4, _0801AD2C
|
|
ldr r0, [r4]
|
|
adds r0, 0x54
|
|
adds r1, r7, 0
|
|
bl sub_8013800
|
|
adds r2, r0, 0
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x88
|
|
ldr r0, [r0]
|
|
adds r1, 0x8C
|
|
ldr r1, [r1]
|
|
movs r4, 0xC
|
|
ldrsh r3, [r1, r4]
|
|
subs r3, 0x2
|
|
lsls r3, 3
|
|
movs r1, 0xA
|
|
str r1, [sp]
|
|
movs r1, 0x8
|
|
bl sub_8007B7C
|
|
_0801ACFE:
|
|
adds r7, 0x1
|
|
ldr r1, _0801AD2C
|
|
ldr r0, [r1]
|
|
adds r0, 0x6E
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
_0801AD0A:
|
|
adds r2, r1, 0
|
|
cmp r7, r0
|
|
bge _0801AD12
|
|
b _0801AA60
|
|
_0801AD12:
|
|
ldr r0, [r2]
|
|
adds r0, 0x88
|
|
ldr r0, [r0]
|
|
bl sub_80073E0
|
|
add sp, 0xCC
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801AD28: .4byte gUnknown_202DE58
|
|
_0801AD2C: .4byte gUnknown_203B224
|
|
_0801AD30: .4byte gUnknown_80DB994
|
|
thumb_func_end sub_801A9E0
|
|
|
|
thumb_func_start sub_801AD34
|
|
sub_801AD34:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
adds r4, r0, 0
|
|
bl sub_8008C54
|
|
adds r0, r4, 0
|
|
bl sub_80073B8
|
|
ldr r2, _0801AD98
|
|
movs r6, 0
|
|
str r6, [sp]
|
|
movs r0, 0x6
|
|
movs r1, 0
|
|
adds r3, r4, 0
|
|
bl xxx_call_draw_string
|
|
bl sub_8090A34
|
|
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, _0801AD9C
|
|
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, 0x2B
|
|
movs r1, 0xD
|
|
movs r2, 0x14
|
|
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
|
|
_0801AD98: .4byte gUnknown_80DB9A8
|
|
_0801AD9C: .4byte gUnknown_80DB9B0
|
|
thumb_func_end sub_801AD34
|
|
|
|
thumb_func_start sub_801ADA0
|
|
sub_801ADA0:
|
|
push {r4-r6,lr}
|
|
ldr r5, _0801ADEC
|
|
ldr r1, [r5]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r6, [r1]
|
|
lsls r4, r6, 8
|
|
lsrs r0, r4, 24
|
|
bl sub_8091524
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801AE12
|
|
lsrs r0, r4, 24
|
|
bl sub_8090A60
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801ADF4
|
|
lsrs r0, r4, 24
|
|
bl sub_801AE24
|
|
ldr r2, [r5]
|
|
lsrs r1, r4, 24
|
|
lsls r1, 1
|
|
adds r2, 0x50
|
|
adds r2, r1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldrh r2, [r2]
|
|
adds r0, r2
|
|
lsrs r1, r6, 8
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r1
|
|
ldr r1, _0801ADF0
|
|
b _0801AE0E
|
|
.align 2, 0
|
|
_0801ADEC: .4byte gUnknown_203B460
|
|
_0801ADF0: .4byte 0x000003e7
|
|
_0801ADF4:
|
|
lsrs r0, r4, 24
|
|
bl sub_801AE24
|
|
ldr r2, [r5]
|
|
lsrs r1, r4, 24
|
|
lsls r1, 1
|
|
adds r2, 0x50
|
|
adds r2, r1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldrh r2, [r2]
|
|
adds r0, r2
|
|
ldr r1, _0801AE18
|
|
_0801AE0E:
|
|
cmp r0, r1
|
|
ble _0801AE1C
|
|
_0801AE12:
|
|
movs r0, 0
|
|
b _0801AE1E
|
|
.align 2, 0
|
|
_0801AE18: .4byte 0x000003e6
|
|
_0801AE1C:
|
|
movs r0, 0x1
|
|
_0801AE1E:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801ADA0
|
|
|
|
thumb_func_start sub_801AE24
|
|
sub_801AE24:
|
|
push {r4-r7,lr}
|
|
adds r7, r0, 0
|
|
movs r5, 0
|
|
movs r6, 0
|
|
b _0801AE74
|
|
_0801AE2E:
|
|
ldr r0, _0801AE64
|
|
ldr r0, [r0]
|
|
lsls r1, r6, 2
|
|
adds r0, 0x4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0801AE72
|
|
ldr r0, _0801AE68
|
|
ldr r0, [r0]
|
|
adds r0, r1
|
|
ldr r4, [r0]
|
|
lsls r1, r4, 8
|
|
lsrs r0, r1, 24
|
|
cmp r0, r7
|
|
bne _0801AE72
|
|
bl sub_8090A60
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801AE6C
|
|
lsrs r0, r4, 8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r0, r5, r0
|
|
b _0801AE6E
|
|
.align 2, 0
|
|
_0801AE64: .4byte gUnknown_203B224
|
|
_0801AE68: .4byte gUnknown_203B460
|
|
_0801AE6C:
|
|
adds r0, r5, 0x1
|
|
_0801AE6E:
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
_0801AE72:
|
|
adds r6, 0x1
|
|
_0801AE74:
|
|
bl sub_8090A34
|
|
cmp r6, r0
|
|
blt _0801AE2E
|
|
adds r0, r5, 0
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801AE24
|
|
|
|
thumb_func_start sub_801AE84
|
|
sub_801AE84:
|
|
push {r4,lr}
|
|
movs r2, 0
|
|
ldr r4, _0801AEA4
|
|
movs r3, 0
|
|
_0801AE8C:
|
|
ldr r0, [r4]
|
|
lsls r1, r2, 2
|
|
adds r0, 0x4
|
|
adds r0, r1
|
|
str r3, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0x13
|
|
ble _0801AE8C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801AEA4: .4byte gUnknown_203B224
|
|
thumb_func_end sub_801AE84
|
|
|
|
thumb_func_start sub_801AEA8
|
|
sub_801AEA8:
|
|
push {lr}
|
|
movs r3, 0
|
|
ldr r0, _0801AECC
|
|
ldr r0, [r0]
|
|
adds r1, r0, 0x4
|
|
movs r2, 0x13
|
|
_0801AEB4:
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
beq _0801AEBC
|
|
adds r3, 0x1
|
|
_0801AEBC:
|
|
adds r1, 0x4
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _0801AEB4
|
|
adds r0, r3, 0
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801AECC: .4byte gUnknown_203B224
|
|
thumb_func_end sub_801AEA8
|
|
|
|
thumb_func_start sub_801AED0
|
|
sub_801AED0:
|
|
ldr r1, _0801AEE0
|
|
ldr r1, [r1]
|
|
lsls r0, 2
|
|
adds r1, 0x4
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0801AEE0: .4byte gUnknown_203B224
|
|
thumb_func_end sub_801AED0
|
|
|
|
thumb_func_start sub_801AEE4
|
|
sub_801AEE4:
|
|
ldr r2, _0801AEF4
|
|
ldr r2, [r2]
|
|
lsls r0, 2
|
|
adds r2, 0x4
|
|
adds r2, r0
|
|
str r1, [r2]
|
|
bx lr
|
|
.align 2, 0
|
|
_0801AEF4: .4byte gUnknown_203B224
|
|
thumb_func_end sub_801AEE4
|
|
|
|
thumb_func_start sub_801AEF8
|
|
sub_801AEF8:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
mov r9, r0
|
|
b _0801AF78
|
|
_0801AF08:
|
|
movs r1, 0x1
|
|
add r1, r9
|
|
mov r8, r1
|
|
mov r7, r8
|
|
b _0801AF6E
|
|
_0801AF12:
|
|
ldr r2, _0801AF90
|
|
ldr r0, [r2]
|
|
mov r1, r9
|
|
lsls r6, r1, 2
|
|
adds r0, r6
|
|
ldrb r0, [r0, 0x2]
|
|
str r2, [sp]
|
|
bl sub_8090D44
|
|
adds r4, r0, 0
|
|
ldr r2, [sp]
|
|
ldr r0, [r2]
|
|
lsls r5, r7, 2
|
|
adds r0, r5
|
|
ldrb r0, [r0, 0x2]
|
|
bl sub_8090D44
|
|
ldr r2, [sp]
|
|
cmp r4, r0
|
|
bgt _0801AF4C
|
|
cmp r4, r0
|
|
bne _0801AF6C
|
|
ldr r0, [r2]
|
|
adds r1, r0, r6
|
|
adds r0, r5
|
|
ldrb r1, [r1, 0x1]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r1, r0
|
|
bcs _0801AF6C
|
|
_0801AF4C:
|
|
ldr r0, [r2]
|
|
adds r2, r0, r6
|
|
ldr r3, [r2]
|
|
adds r0, r5
|
|
ldr r1, [r0]
|
|
str r1, [r2]
|
|
str r3, [r0]
|
|
ldr r0, _0801AF94
|
|
ldr r0, [r0]
|
|
adds r0, 0x4
|
|
adds r2, r0, r6
|
|
ldr r3, [r2]
|
|
adds r0, r5
|
|
ldr r1, [r0]
|
|
str r1, [r2]
|
|
str r3, [r0]
|
|
_0801AF6C:
|
|
adds r7, 0x1
|
|
_0801AF6E:
|
|
bl sub_8090A34
|
|
cmp r7, r0
|
|
blt _0801AF12
|
|
mov r9, r8
|
|
_0801AF78:
|
|
bl sub_8090A34
|
|
subs r0, 0x1
|
|
cmp r9, r0
|
|
blt _0801AF08
|
|
add sp, 0x4
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801AF90: .4byte gUnknown_203B460
|
|
_0801AF94: .4byte gUnknown_203B224
|
|
thumb_func_end sub_801AEF8
|
|
|
|
thumb_func_start sub_801AF98
|
|
sub_801AF98:
|
|
ldr r0, _0801AFA0
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0801AFA0: .4byte gUnknown_203B224
|
|
thumb_func_end sub_801AF98
|
|
|
|
thumb_func_start sub_801AFA4
|
|
sub_801AFA4:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
ldr r5, _0801AFEC
|
|
movs r0, 0xA4
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
str r4, [r0, 0x4]
|
|
ldr r1, _0801AFF0
|
|
ldr r1, [r1]
|
|
lsls r4, 2
|
|
adds r1, r4
|
|
ldrb r1, [r1, 0x2]
|
|
strb r1, [r0, 0x8]
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, 0x8]
|
|
bl sub_80913CC
|
|
ldr r1, [r5]
|
|
strh r0, [r1, 0xA]
|
|
ldr r0, _0801AFF4
|
|
ldrh r1, [r1, 0xA]
|
|
bl sub_8092C84
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
bl sub_801B2F4
|
|
cmp r0, 0
|
|
bne _0801AFF8
|
|
movs r0, 0x3
|
|
bl sub_801B064
|
|
b _0801B004
|
|
.align 2, 0
|
|
_0801AFEC: .4byte gUnknown_203B22C
|
|
_0801AFF0: .4byte gUnknown_203B460
|
|
_0801AFF4: .4byte gUnknown_202E1C8
|
|
_0801AFF8:
|
|
ldr r1, [r5]
|
|
movs r0, 0x4
|
|
str r0, [r1, 0x60]
|
|
movs r0, 0
|
|
bl sub_801B064
|
|
_0801B004:
|
|
movs r0, 0x1
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801AFA4
|
|
|
|
thumb_func_start sub_801B00C
|
|
sub_801B00C:
|
|
push {lr}
|
|
ldr r0, _0801B024
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0801B036
|
|
cmp r0, 0x1
|
|
bgt _0801B028
|
|
cmp r0, 0
|
|
beq _0801B030
|
|
b _0801B03C
|
|
.align 2, 0
|
|
_0801B024: .4byte gUnknown_203B22C
|
|
_0801B028:
|
|
cmp r0, 0x4
|
|
bne _0801B03C
|
|
movs r0, 0x3
|
|
b _0801B042
|
|
_0801B030:
|
|
bl sub_801B200
|
|
b _0801B040
|
|
_0801B036:
|
|
bl sub_801B2AC
|
|
b _0801B040
|
|
_0801B03C:
|
|
bl sub_801B2D8
|
|
_0801B040:
|
|
movs r0, 0
|
|
_0801B042:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801B00C
|
|
|
|
thumb_func_start sub_801B048
|
|
sub_801B048:
|
|
push {r4,lr}
|
|
ldr r4, _0801B060
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0801B05A
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0801B05A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801B060: .4byte gUnknown_203B22C
|
|
thumb_func_end sub_801B048
|
|
|
|
thumb_func_start sub_801B064
|
|
sub_801B064:
|
|
push {lr}
|
|
ldr r1, _0801B078
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl nullsub_37
|
|
bl sub_801B080
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801B078: .4byte gUnknown_203B22C
|
|
thumb_func_end sub_801B064
|
|
|
|
thumb_func_start nullsub_37
|
|
nullsub_37:
|
|
bx lr
|
|
thumb_func_end nullsub_37
|
|
|
|
thumb_func_start sub_801B080
|
|
sub_801B080:
|
|
push {r4,lr}
|
|
sub sp, 0x14
|
|
ldr r1, _0801B09C
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x4
|
|
bhi _0801B168
|
|
lsls r0, 2
|
|
ldr r1, _0801B0A0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801B09C: .4byte gUnknown_203B22C
|
|
_0801B0A0: .4byte _0801B0A4
|
|
.align 2, 0
|
|
_0801B0A4:
|
|
.4byte _0801B0B8
|
|
.4byte _0801B0E8
|
|
.4byte _0801B0FC
|
|
.4byte _0801B15C
|
|
.4byte _0801B168
|
|
_0801B0B8:
|
|
bl sub_801B178
|
|
ldr r0, _0801B0E0
|
|
ldr r1, _0801B0E4
|
|
ldr r3, [r1]
|
|
ldr r2, [r3, 0x60]
|
|
adds r3, 0x64
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
movs r1, 0x20
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
bl sub_8014248
|
|
b _0801B168
|
|
.align 2, 0
|
|
_0801B0E0: .4byte gUnknown_80DB9BC
|
|
_0801B0E4: .4byte gUnknown_203B22C
|
|
_0801B0E8:
|
|
ldr r2, [r4]
|
|
adds r0, r2, 0
|
|
adds r0, 0x58
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
adds r2, 0xC
|
|
movs r0, 0x2
|
|
bl sub_801E80C
|
|
b _0801B168
|
|
_0801B0FC:
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0xC
|
|
ldr r1, [r1, 0x5C]
|
|
adds r1, 0x2C
|
|
bl sub_8094060
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x8]
|
|
bl sub_80915A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801B138
|
|
ldr r3, _0801B150
|
|
ldr r1, [r3]
|
|
ldr r2, [r4]
|
|
ldr r0, [r2, 0x4]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrb r0, [r2, 0x8]
|
|
subs r0, 0x7D
|
|
strb r0, [r1, 0x1]
|
|
ldr r1, [r3]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x4]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
movs r0, 0x7C
|
|
strb r0, [r1, 0x2]
|
|
_0801B138:
|
|
movs r0, 0x9C
|
|
lsls r0, 1
|
|
bl sub_8011988
|
|
ldr r0, _0801B154
|
|
ldr r3, _0801B158
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _0801B168
|
|
.align 2, 0
|
|
_0801B150: .4byte gUnknown_203B460
|
|
_0801B154: .4byte gUnknown_80DB9E4
|
|
_0801B158: .4byte 0x00000121
|
|
_0801B15C:
|
|
ldr r0, _0801B170
|
|
ldr r3, _0801B174
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
_0801B168:
|
|
add sp, 0x14
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801B170: .4byte gUnknown_80DBA0C
|
|
_0801B174: .4byte 0x00000121
|
|
thumb_func_end sub_801B080
|
|
|
|
thumb_func_start sub_801B178
|
|
sub_801B178:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
movs r5, 0
|
|
ldr r1, _0801B1F4
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x4C]
|
|
cmp r5, r0
|
|
bge _0801B1D2
|
|
ldr r0, _0801B1F8
|
|
mov r8, r0
|
|
adds r7, r1, 0
|
|
movs r6, 0
|
|
_0801B192:
|
|
ldr r4, _0801B1FC
|
|
adds r4, r6, r4
|
|
ldr r0, [r7]
|
|
lsls r1, r5, 1
|
|
adds r0, 0x50
|
|
adds r0, r1
|
|
movs r2, 0
|
|
ldrsh r1, [r0, r2]
|
|
movs r0, 0x58
|
|
muls r0, r1
|
|
mov r2, r8
|
|
ldr r1, [r2]
|
|
adds r1, r0
|
|
adds r0, r4, 0
|
|
bl sub_808DA34
|
|
ldr r2, [r7]
|
|
lsls r1, r5, 3
|
|
adds r0, r2, 0
|
|
adds r0, 0x64
|
|
adds r0, r1
|
|
str r4, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x68
|
|
adds r0, r1
|
|
adds r1, r5, 0x4
|
|
str r1, [r0]
|
|
adds r6, 0x50
|
|
adds r5, 0x1
|
|
ldr r0, [r2, 0x4C]
|
|
cmp r5, r0
|
|
blt _0801B192
|
|
_0801B1D2:
|
|
ldr r0, _0801B1F4
|
|
ldr r2, [r0]
|
|
lsls r3, r5, 3
|
|
adds r0, r2, 0
|
|
adds r0, 0x64
|
|
adds r0, r3
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
adds r2, 0x68
|
|
adds r2, r3
|
|
movs r0, 0x1
|
|
str r0, [r2]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801B1F4: .4byte gUnknown_203B22C
|
|
_0801B1F8: .4byte gUnknown_203B45C
|
|
_0801B1FC: .4byte gUnknown_202DF98
|
|
thumb_func_end sub_801B178
|
|
|
|
thumb_func_start sub_801B200
|
|
sub_801B200:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0801B2A4
|
|
ldr r5, _0801B228
|
|
ldr r3, [r5]
|
|
ldr r0, [sp]
|
|
str r0, [r3, 0x60]
|
|
ldr r1, [sp]
|
|
cmp r1, 0
|
|
beq _0801B2A4
|
|
cmp r1, 0x1
|
|
bne _0801B22C
|
|
movs r0, 0x4
|
|
bl sub_801B064
|
|
b _0801B2A4
|
|
.align 2, 0
|
|
_0801B228: .4byte gUnknown_203B22C
|
|
_0801B22C:
|
|
subs r1, 0x4
|
|
lsls r1, 1
|
|
adds r0, r3, 0
|
|
adds r0, 0x50
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
adds r1, r3, 0
|
|
adds r1, 0x58
|
|
strh r0, [r1]
|
|
ldr r2, _0801B26C
|
|
movs r0, 0
|
|
ldrsh r1, [r1, r0]
|
|
movs r0, 0x58
|
|
muls r0, r1
|
|
ldr r1, [r2]
|
|
adds r1, r0
|
|
str r1, [r3, 0x5C]
|
|
ldr r0, _0801B270
|
|
bl sub_808DA34
|
|
ldr r1, [r5]
|
|
adds r0, r1, 0
|
|
adds r0, 0xC
|
|
ldr r1, [r1, 0x5C]
|
|
adds r1, 0x2C
|
|
bl sub_809401C
|
|
movs r4, 0
|
|
adds r6, r5, 0
|
|
movs r5, 0xC
|
|
b _0801B278
|
|
.align 2, 0
|
|
_0801B26C: .4byte gUnknown_203B45C
|
|
_0801B270: .4byte gUnknown_202E218
|
|
_0801B274:
|
|
adds r5, 0x8
|
|
adds r4, 0x1
|
|
_0801B278:
|
|
cmp r4, 0x7
|
|
bgt _0801B292
|
|
ldr r3, [r6]
|
|
adds r2, r3, r5
|
|
ldrb r1, [r2]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0801B274
|
|
ldrh r1, [r3, 0xA]
|
|
adds r0, r2, 0
|
|
bl sub_8092AD4
|
|
_0801B292:
|
|
cmp r4, 0x3
|
|
ble _0801B29E
|
|
movs r0, 0x1
|
|
bl sub_801B064
|
|
b _0801B2A4
|
|
_0801B29E:
|
|
movs r0, 0x2
|
|
bl sub_801B064
|
|
_0801B2A4:
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801B200
|
|
|
|
thumb_func_start sub_801B2AC
|
|
sub_801B2AC:
|
|
push {lr}
|
|
bl sub_801E8C0
|
|
cmp r0, 0x2
|
|
beq _0801B2CA
|
|
cmp r0, 0x2
|
|
bcc _0801B2D4
|
|
cmp r0, 0x3
|
|
bne _0801B2D4
|
|
bl sub_801E93C
|
|
movs r0, 0x2
|
|
bl sub_801B064
|
|
b _0801B2D4
|
|
_0801B2CA:
|
|
bl sub_801E93C
|
|
movs r0, 0
|
|
bl sub_801B064
|
|
_0801B2D4:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801B2AC
|
|
|
|
thumb_func_start sub_801B2D8
|
|
sub_801B2D8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0801B2EC
|
|
movs r0, 0x4
|
|
bl sub_801B064
|
|
_0801B2EC:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801B2D8
|
|
|
|
thumb_func_start sub_801B2F4
|
|
sub_801B2F4:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x10
|
|
mov r0, sp
|
|
bl sub_808D580
|
|
adds r6, r0, 0
|
|
ldr r2, _0801B36C
|
|
ldr r1, [r2]
|
|
movs r0, 0
|
|
str r0, [r1, 0x4C]
|
|
movs r5, 0
|
|
cmp r5, r6
|
|
bge _0801B35A
|
|
ldr r0, _0801B370
|
|
mov r8, r0
|
|
adds r7, r2, 0
|
|
mov r4, sp
|
|
_0801B31A:
|
|
ldr r1, [r4]
|
|
movs r0, 0x58
|
|
muls r0, r1
|
|
mov r2, r8
|
|
ldr r1, [r2]
|
|
adds r1, r0
|
|
ldr r0, [r7]
|
|
ldrh r0, [r0, 0xA]
|
|
movs r2, 0x8
|
|
ldrsh r1, [r1, r2]
|
|
bl sub_808E190
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801B352
|
|
ldr r2, [r7]
|
|
ldr r0, [r2, 0x4C]
|
|
lsls r0, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldr r0, [r4]
|
|
strh r0, [r1]
|
|
ldr r0, [r2, 0x4C]
|
|
cmp r0, 0x3
|
|
bgt _0801B35A
|
|
adds r0, 0x1
|
|
str r0, [r2, 0x4C]
|
|
_0801B352:
|
|
adds r4, 0x4
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
blt _0801B31A
|
|
_0801B35A:
|
|
ldr r0, _0801B36C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4C]
|
|
add sp, 0x10
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801B36C: .4byte gUnknown_203B22C
|
|
_0801B370: .4byte gUnknown_203B45C
|
|
thumb_func_end sub_801B2F4
|
|
|
|
thumb_func_start sub_801B374
|
|
sub_801B374:
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0801B3A8
|
|
ldr r4, [r1]
|
|
bl sub_80913CC
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
movs r5, 0
|
|
_0801B388:
|
|
ldrh r0, [r4]
|
|
lsrs r0, 1
|
|
movs r1, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0801B3AC
|
|
movs r0, 0x8
|
|
ldrsh r1, [r4, r0]
|
|
adds r0, r6, 0
|
|
bl sub_808E190
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801B3AC
|
|
movs r0, 0
|
|
b _0801B3BA
|
|
.align 2, 0
|
|
_0801B3A8: .4byte gUnknown_203B45C
|
|
_0801B3AC:
|
|
adds r5, 0x1
|
|
adds r4, 0x58
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
cmp r5, r0
|
|
ble _0801B388
|
|
movs r0, 0x1
|
|
_0801B3BA:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801B374
|
|
|
|
thumb_func_start sub_801B3C0
|
|
sub_801B3C0:
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
movs r0, 0x1
|
|
bl ResetSprites
|
|
ldr r4, _0801B40C
|
|
movs r0, 0x94
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
ldr r1, [r5]
|
|
str r1, [r0, 0x4]
|
|
adds r0, 0x88
|
|
bl sub_801317C
|
|
ldr r0, [r4]
|
|
movs r1, 0
|
|
str r1, [r0, 0x24]
|
|
adds r0, 0x28
|
|
bl sub_80140B4
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x28
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0
|
|
bl sub_801B46C
|
|
movs r0, 0x1
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801B40C: .4byte gUnknown_203B230
|
|
thumb_func_end sub_801B3C0
|
|
|
|
thumb_func_start sub_801B410
|
|
sub_801B410:
|
|
push {lr}
|
|
ldr r0, _0801B428
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0801B43C
|
|
cmp r0, 0x1
|
|
bgt _0801B42C
|
|
cmp r0, 0
|
|
beq _0801B436
|
|
b _0801B446
|
|
.align 2, 0
|
|
_0801B428: .4byte gUnknown_203B230
|
|
_0801B42C:
|
|
cmp r0, 0x2
|
|
beq _0801B446
|
|
cmp r0, 0x3
|
|
beq _0801B442
|
|
b _0801B446
|
|
_0801B436:
|
|
bl sub_801B51C
|
|
b _0801B44A
|
|
_0801B43C:
|
|
bl sub_801B590
|
|
b _0801B44A
|
|
_0801B442:
|
|
movs r0, 0x3
|
|
b _0801B44C
|
|
_0801B446:
|
|
movs r0, 0x2
|
|
b _0801B44C
|
|
_0801B44A:
|
|
movs r0, 0
|
|
_0801B44C:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801B410
|
|
|
|
thumb_func_start sub_801B450
|
|
sub_801B450:
|
|
push {r4,lr}
|
|
ldr r4, _0801B468
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0801B462
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0801B462:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801B468: .4byte gUnknown_203B230
|
|
thumb_func_end sub_801B450
|
|
|
|
thumb_func_start sub_801B46C
|
|
sub_801B46C:
|
|
push {lr}
|
|
ldr r1, _0801B47C
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_801B480
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801B47C: .4byte gUnknown_203B230
|
|
thumb_func_end sub_801B46C
|
|
|
|
thumb_func_start sub_801B480
|
|
sub_801B480:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r5, _0801B4B0
|
|
ldr r0, [r5]
|
|
ldr r4, [r0]
|
|
cmp r4, 0x1
|
|
beq _0801B4B4
|
|
cmp r4, 0x1
|
|
bgt _0801B50C
|
|
cmp r4, 0
|
|
bne _0801B50C
|
|
ldr r0, [r0, 0x24]
|
|
bl sub_8008C54
|
|
ldr r2, [r5]
|
|
adds r0, r2, 0x4
|
|
ldr r1, [r2, 0x24]
|
|
adds r2, 0x10
|
|
bl sub_80913E0
|
|
ldr r1, [r5]
|
|
str r0, [r1, 0xC]
|
|
str r4, [r1, 0x20]
|
|
b _0801B50C
|
|
.align 2, 0
|
|
_0801B4B0: .4byte gUnknown_203B230
|
|
_0801B4B4:
|
|
ldr r0, [r0, 0x24]
|
|
bl sub_8008C54
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x24]
|
|
bl sub_80073B8
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, 0x8]
|
|
lsls r1, 2
|
|
adds r0, 0x10
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
ldr r0, _0801B514
|
|
ldr r1, [r1]
|
|
bl strcpy
|
|
ldr r2, _0801B518
|
|
ldr r0, [r5]
|
|
ldr r3, [r0, 0x24]
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
movs r0, 0x10
|
|
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 r0, [r0]
|
|
ldr r2, [r0, 0x4]
|
|
ldr r3, [r3, 0x24]
|
|
str r4, [sp]
|
|
movs r0, 0x4
|
|
movs r1, 0x10
|
|
bl sub_8014FF0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x24]
|
|
bl sub_80073E0
|
|
_0801B50C:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801B514: .4byte gUnknown_202DF98
|
|
_0801B518: .4byte gUnknown_80DBA4C
|
|
thumb_func_end sub_801B480
|
|
|
|
thumb_func_start sub_801B51C
|
|
sub_801B51C:
|
|
push {r4,lr}
|
|
ldr r0, _0801B558
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, 0xC]
|
|
adds r4, r0, 0
|
|
cmp r1, 0
|
|
beq _0801B540
|
|
ldr r0, [r2, 0x20]
|
|
movs r1, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0801B538
|
|
bl sub_8013F84
|
|
_0801B538:
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x20]
|
|
adds r0, 0x1
|
|
str r0, [r1, 0x20]
|
|
_0801B540:
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x88
|
|
ldr r1, [r1, 0x24]
|
|
bl sub_8012A64
|
|
cmp r0, 0x1
|
|
beq _0801B55C
|
|
cmp r0, 0x2
|
|
beq _0801B57E
|
|
b _0801B58A
|
|
.align 2, 0
|
|
_0801B558: .4byte gUnknown_203B230
|
|
_0801B55C:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0xC]
|
|
cmp r0, 0
|
|
beq _0801B576
|
|
movs r0, 0
|
|
str r0, [r1, 0x8]
|
|
movs r0, 0x1
|
|
bl sub_801B46C
|
|
b _0801B58A
|
|
_0801B576:
|
|
movs r0, 0x3
|
|
bl sub_801B46C
|
|
b _0801B58A
|
|
_0801B57E:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
bl sub_801B46C
|
|
_0801B58A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801B51C
|
|
|
|
thumb_func_start sub_801B590
|
|
sub_801B590:
|
|
push {r4,lr}
|
|
ldr r0, _0801B5D0
|
|
ldr r3, [r0]
|
|
ldr r1, [r3, 0xC]
|
|
subs r1, 0x1
|
|
ldr r2, [r3, 0x8]
|
|
adds r4, r0, 0
|
|
cmp r2, r1
|
|
bge _0801B5B8
|
|
ldr r0, [r3, 0x20]
|
|
movs r1, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0801B5B0
|
|
bl sub_8013F84
|
|
_0801B5B0:
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x20]
|
|
adds r0, 0x1
|
|
str r0, [r1, 0x20]
|
|
_0801B5B8:
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x88
|
|
ldr r1, [r1, 0x24]
|
|
bl sub_8012A64
|
|
cmp r0, 0x1
|
|
beq _0801B5D4
|
|
cmp r0, 0x2
|
|
beq _0801B5F8
|
|
b _0801B604
|
|
.align 2, 0
|
|
_0801B5D0: .4byte gUnknown_203B230
|
|
_0801B5D4:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0x8]
|
|
adds r1, 0x1
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0xC]
|
|
cmp r1, r0
|
|
bge _0801B5F0
|
|
movs r0, 0x1
|
|
bl sub_801B46C
|
|
b _0801B604
|
|
_0801B5F0:
|
|
movs r0, 0
|
|
bl sub_801B46C
|
|
b _0801B604
|
|
_0801B5F8:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
bl sub_801B46C
|
|
_0801B604:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801B590
|
|
|
|
thumb_func_start sub_801B60C
|
|
sub_801B60C:
|
|
push {r4-r7,lr}
|
|
adds r5, r0, 0
|
|
adds r4, r1, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r2, 24
|
|
lsrs r7, r2, 24
|
|
ldr r6, _0801B650
|
|
movs r0, 0xAA
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r6]
|
|
adds r2, r0, 0
|
|
adds r2, 0xC8
|
|
movs r1, 0
|
|
str r1, [r2]
|
|
str r5, [r0]
|
|
strb r4, [r0, 0x12]
|
|
ldr r0, [r6]
|
|
ldrb r0, [r0, 0x12]
|
|
bl sub_8090A60
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _0801B654
|
|
ldr r0, [r6]
|
|
strb r7, [r0, 0x11]
|
|
ldr r0, [r6]
|
|
strb r7, [r0, 0xC]
|
|
b _0801B65E
|
|
.align 2, 0
|
|
_0801B650: .4byte gUnknown_203B234
|
|
_0801B654:
|
|
ldr r0, [r6]
|
|
strb r1, [r0, 0x11]
|
|
ldr r1, [r6]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0xC]
|
|
_0801B65E:
|
|
ldr r5, _0801B6A0
|
|
ldr r0, [r5]
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
strb r2, [r0, 0x10]
|
|
ldr r0, [r5]
|
|
str r1, [r0, 0x14]
|
|
strb r1, [r0, 0x18]
|
|
ldr r0, [r5]
|
|
strb r2, [r0, 0x1C]
|
|
ldr r4, _0801B6A4
|
|
bl sub_808D33C
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
movs r2, 0x6
|
|
bl sub_808D9AC
|
|
ldr r0, _0801B6A8
|
|
ldr r2, [r5]
|
|
adds r1, r2, 0
|
|
adds r1, 0x10
|
|
adds r2, 0x14
|
|
bl sub_8090E14
|
|
movs r0, 0
|
|
bl sub_801B748
|
|
movs r0, 0x1
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801B6A0: .4byte gUnknown_203B234
|
|
_0801B6A4: .4byte gUnknown_202DF98
|
|
_0801B6A8: .4byte gUnknown_202DE58
|
|
thumb_func_end sub_801B60C
|
|
|
|
thumb_func_start sub_801B6AC
|
|
sub_801B6AC:
|
|
push {lr}
|
|
ldr r0, _0801B6C4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
subs r0, 0x6
|
|
cmp r0, 0xA
|
|
bhi _0801B720
|
|
lsls r0, 2
|
|
ldr r1, _0801B6C8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801B6C4: .4byte gUnknown_203B234
|
|
_0801B6C8: .4byte _0801B6CC
|
|
.align 2, 0
|
|
_0801B6CC:
|
|
.4byte _0801B6FC
|
|
.4byte _0801B702
|
|
.4byte _0801B708
|
|
.4byte _0801B708
|
|
.4byte _0801B70E
|
|
.4byte _0801B714
|
|
.4byte _0801B71A
|
|
.4byte _0801B720
|
|
.4byte _0801B720
|
|
.4byte _0801B720
|
|
.4byte _0801B6F8
|
|
_0801B6F8:
|
|
movs r0, 0x3
|
|
b _0801B726
|
|
_0801B6FC:
|
|
bl sub_801BC64
|
|
b _0801B724
|
|
_0801B702:
|
|
bl sub_801BC94
|
|
b _0801B724
|
|
_0801B708:
|
|
bl sub_801BCCC
|
|
b _0801B724
|
|
_0801B70E:
|
|
bl sub_801BD80
|
|
b _0801B724
|
|
_0801B714:
|
|
bl sub_801BEAC
|
|
b _0801B724
|
|
_0801B71A:
|
|
bl sub_801BE30
|
|
b _0801B724
|
|
_0801B720:
|
|
bl sub_801BEC8
|
|
_0801B724:
|
|
movs r0, 0
|
|
_0801B726:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801B6AC
|
|
|
|
thumb_func_start sub_801B72C
|
|
sub_801B72C:
|
|
push {r4,lr}
|
|
ldr r4, _0801B744
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0801B73E
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0801B73E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801B744: .4byte gUnknown_203B234
|
|
thumb_func_end sub_801B72C
|
|
|
|
thumb_func_start sub_801B748
|
|
sub_801B748:
|
|
push {lr}
|
|
ldr r1, _0801B75C
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x4]
|
|
bl sub_801B760
|
|
bl sub_801B874
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801B75C: .4byte gUnknown_203B234
|
|
thumb_func_end sub_801B748
|
|
|
|
thumb_func_start sub_801B760
|
|
sub_801B760:
|
|
push {r4-r7,lr}
|
|
ldr r0, _0801B77C
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, 0x4]
|
|
subs r1, 0x1
|
|
adds r4, r0, 0
|
|
cmp r1, 0xE
|
|
bls _0801B772
|
|
b _0801B86A
|
|
_0801B772:
|
|
lsls r0, r1, 2
|
|
ldr r1, _0801B780
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801B77C: .4byte gUnknown_203B234
|
|
_0801B780: .4byte _0801B784
|
|
.align 2, 0
|
|
_0801B784:
|
|
.4byte _0801B7C0
|
|
.4byte _0801B86A
|
|
.4byte _0801B86A
|
|
.4byte _0801B86A
|
|
.4byte _0801B86A
|
|
.4byte _0801B7C0
|
|
.4byte _0801B7C0
|
|
.4byte _0801B7C0
|
|
.4byte _0801B7C0
|
|
.4byte _0801B800
|
|
.4byte _0801B7C0
|
|
.4byte _0801B840
|
|
.4byte _0801B7C0
|
|
.4byte _0801B7C0
|
|
.4byte _0801B7C0
|
|
_0801B7C0:
|
|
ldr r4, _0801B7F8
|
|
ldr r0, [r4]
|
|
adds r0, 0xF4
|
|
bl sub_8006518
|
|
mov r12, r4
|
|
ldr r4, _0801B7FC
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_0801B7D2:
|
|
mov r0, r12
|
|
ldr r1, [r0]
|
|
adds r1, r3
|
|
adds r1, 0xF4
|
|
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 _0801B7D2
|
|
bl sub_8004914
|
|
ldr r0, _0801B7F8
|
|
ldr r0, [r0]
|
|
b _0801B82E
|
|
.align 2, 0
|
|
_0801B7F8: .4byte gUnknown_203B234
|
|
_0801B7FC: .4byte gUnknown_80DBA58
|
|
_0801B800:
|
|
ldr r0, [r4]
|
|
adds r0, 0xF4
|
|
bl sub_8006518
|
|
bl sub_801BB5C
|
|
ldr r2, [r4]
|
|
movs r0, 0x92
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _0801B83C
|
|
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, 0xCC
|
|
bl sub_8012CAC
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
_0801B82E:
|
|
adds r0, 0xF4
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
b _0801B86A
|
|
.align 2, 0
|
|
_0801B83C: .4byte gUnknown_80DBA70
|
|
_0801B840:
|
|
ldr r0, [r4]
|
|
adds r0, 0xF4
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
movs r6, 0x86
|
|
lsls r6, 1
|
|
adds r1, r6
|
|
ldr r0, _0801B870
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0xF4
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
_0801B86A:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801B870: .4byte gUnknown_80DBA88
|
|
thumb_func_end sub_801B760
|
|
|
|
thumb_func_start sub_801B874
|
|
sub_801B874:
|
|
push {r4,lr}
|
|
sub sp, 0x14
|
|
ldr r1, _0801B890
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x4]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x10
|
|
bls _0801B886
|
|
b _0801BB0E
|
|
_0801B886:
|
|
lsls r0, 2
|
|
ldr r1, _0801B894
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801B890: .4byte gUnknown_203B234
|
|
_0801B894: .4byte _0801B898
|
|
.align 2, 0
|
|
_0801B898:
|
|
.4byte _0801B8DC
|
|
.4byte _0801B9BC
|
|
.4byte _0801B9D8
|
|
.4byte _0801B9E0
|
|
.4byte _0801B9F0
|
|
.4byte _0801B9F8
|
|
.4byte _0801BA08
|
|
.4byte _0801BA34
|
|
.4byte _0801BA60
|
|
.4byte _0801BA6E
|
|
.4byte _0801BA76
|
|
.4byte _0801BA94
|
|
.4byte _0801BA9E
|
|
.4byte _0801BAD0
|
|
.4byte _0801BAE0
|
|
.4byte _0801BAFC
|
|
.4byte _0801BB0E
|
|
_0801B8DC:
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x12]
|
|
cmp r0, 0xEA
|
|
bne _0801B8FE
|
|
movs r0, 0x10
|
|
str r0, [r1, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0x47
|
|
movs r2, 0x1
|
|
bl sub_8001784
|
|
cmp r0, 0
|
|
bne _0801B914
|
|
movs r0, 0
|
|
movs r1, 0x47
|
|
movs r2, 0x1
|
|
b _0801B92A
|
|
_0801B8FE:
|
|
cmp r0, 0xEB
|
|
bne _0801B938
|
|
movs r0, 0x10
|
|
str r0, [r1, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0x47
|
|
movs r2, 0
|
|
bl sub_8001784
|
|
cmp r0, 0
|
|
beq _0801B924
|
|
_0801B914:
|
|
movs r0, 0xFA
|
|
lsls r0, 2
|
|
bl sub_80913A0
|
|
movs r0, 0x4
|
|
bl sub_801B748
|
|
b _0801BB0E
|
|
_0801B924:
|
|
movs r0, 0
|
|
movs r1, 0x47
|
|
movs r2, 0
|
|
_0801B92A:
|
|
movs r3, 0x1
|
|
bl sub_800199C
|
|
movs r0, 0x3
|
|
bl sub_801B748
|
|
b _0801BB0E
|
|
_0801B938:
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
ble _0801B986
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x12]
|
|
bl sub_8091524
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801B968
|
|
ldr r0, _0801B970
|
|
ldr r1, [r0]
|
|
ldr r2, [r4]
|
|
ldrb r0, [r2, 0x12]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r3, r1, r0
|
|
ldrh r1, [r3]
|
|
ldrb r0, [r2, 0xC]
|
|
adds r1, r0
|
|
ldr r0, _0801B974
|
|
cmp r1, r0
|
|
ble _0801B978
|
|
_0801B968:
|
|
ldr r1, [r4]
|
|
movs r0, 0x6
|
|
b _0801B99C
|
|
.align 2, 0
|
|
_0801B970: .4byte gUnknown_203B460
|
|
_0801B974: .4byte 0x000003e7
|
|
_0801B978:
|
|
strh r1, [r3]
|
|
movs r0, 0xCB
|
|
bl sub_8011988
|
|
ldr r1, [r4]
|
|
movs r0, 0x5
|
|
b _0801B99C
|
|
_0801B986:
|
|
ldr r0, [r4]
|
|
adds r0, 0x10
|
|
bl sub_8091290
|
|
bl sub_80910B4
|
|
movs r0, 0xCB
|
|
bl sub_8011988
|
|
ldr r1, [r4]
|
|
movs r0, 0x10
|
|
_0801B99C:
|
|
str r0, [r1, 0x8]
|
|
ldr r0, _0801B9B0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x1
|
|
bne _0801B9B4
|
|
movs r0, 0x2
|
|
bl sub_801B748
|
|
b _0801BB0E
|
|
.align 2, 0
|
|
_0801B9B0: .4byte gUnknown_203B234
|
|
_0801B9B4:
|
|
movs r0, 0x1
|
|
bl sub_801B748
|
|
b _0801BB0E
|
|
_0801B9BC:
|
|
movs r0, 0
|
|
bl sub_808D544
|
|
cmp r0, 0x1
|
|
bgt _0801B9D0
|
|
ldr r0, _0801B9CC
|
|
b _0801BAE8
|
|
.align 2, 0
|
|
_0801B9CC: .4byte gUnknown_80DBAA0
|
|
_0801B9D0:
|
|
ldr r0, _0801B9D4
|
|
b _0801BAE8
|
|
.align 2, 0
|
|
_0801B9D4: .4byte gUnknown_80DBAD0
|
|
_0801B9D8:
|
|
ldr r0, _0801B9DC
|
|
b _0801BAE8
|
|
.align 2, 0
|
|
_0801B9DC: .4byte gUnknown_80DBB08
|
|
_0801B9E0:
|
|
movs r0, 0xD4
|
|
bl sub_8011988
|
|
ldr r0, _0801B9EC
|
|
b _0801BAE8
|
|
.align 2, 0
|
|
_0801B9EC: .4byte gUnknown_80DBB38
|
|
_0801B9F0:
|
|
ldr r0, _0801B9F4
|
|
b _0801BAE8
|
|
.align 2, 0
|
|
_0801B9F4: .4byte gUnknown_80DBB9C
|
|
_0801B9F8:
|
|
ldr r1, [r4]
|
|
movs r0, 0x10
|
|
str r0, [r1, 0x8]
|
|
ldr r0, _0801BA04
|
|
b _0801BAE8
|
|
.align 2, 0
|
|
_0801BA04: .4byte gUnknown_80DBC28
|
|
_0801BA08:
|
|
bl sub_801BB20
|
|
ldr r0, _0801BA2C
|
|
ldr r1, _0801BA30
|
|
ldr r3, [r1]
|
|
adds r3, 0xCC
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
str r2, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x4
|
|
bl sub_8014248
|
|
b _0801BB0E
|
|
.align 2, 0
|
|
_0801BA2C: .4byte gUnknown_80DBC60
|
|
_0801BA30: .4byte gUnknown_203B234
|
|
_0801BA34:
|
|
bl sub_801BC24
|
|
ldr r0, _0801BA58
|
|
ldr r1, _0801BA5C
|
|
ldr r3, [r1]
|
|
adds r3, 0xCC
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
str r2, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x3
|
|
bl sub_8014248
|
|
b _0801BB0E
|
|
.align 2, 0
|
|
_0801BA58: .4byte gUnknown_80DBC98
|
|
_0801BA5C: .4byte gUnknown_203B234
|
|
_0801BA60:
|
|
movs r0, 0x1
|
|
movs r1, 0x3
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl sub_801A5D8
|
|
b _0801BB0E
|
|
_0801BA6E:
|
|
movs r0, 0x1
|
|
bl sub_801A8D0
|
|
b _0801BB0E
|
|
_0801BA76:
|
|
bl sub_801A9E0
|
|
ldr r0, _0801BA90
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x28
|
|
adds r1, r2, 0
|
|
adds r1, 0xCC
|
|
adds r2, 0xC8
|
|
ldr r2, [r2]
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
b _0801BAC0
|
|
.align 2, 0
|
|
_0801BA90: .4byte gUnknown_203B234
|
|
_0801BA94:
|
|
ldr r0, [r4]
|
|
adds r0, 0x20
|
|
bl sub_801B3C0
|
|
b _0801BB0E
|
|
_0801BA9E:
|
|
bl sub_801A9E0
|
|
ldr r4, _0801BACC
|
|
ldr r0, [r4]
|
|
adds r0, 0x28
|
|
movs r1, 0
|
|
bl sub_8012EA4
|
|
bl sub_801BC24
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x78
|
|
adds r1, 0xCC
|
|
movs r2, 0x3
|
|
str r2, [sp]
|
|
movs r2, 0x1
|
|
_0801BAC0:
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8012D60
|
|
b _0801BB0E
|
|
.align 2, 0
|
|
_0801BACC: .4byte gUnknown_203B234
|
|
_0801BAD0:
|
|
ldr r1, [r4]
|
|
movs r0, 0x10
|
|
str r0, [r1, 0x8]
|
|
ldr r0, _0801BADC
|
|
b _0801BAE8
|
|
.align 2, 0
|
|
_0801BADC: .4byte gUnknown_80DBCC4
|
|
_0801BAE0:
|
|
ldr r1, [r4]
|
|
movs r0, 0x10
|
|
str r0, [r1, 0x8]
|
|
ldr r0, _0801BAF4
|
|
_0801BAE8:
|
|
ldr r3, _0801BAF8
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _0801BB0E
|
|
.align 2, 0
|
|
_0801BAF4: .4byte gUnknown_80DBCE8
|
|
_0801BAF8: .4byte 0x00000101
|
|
_0801BAFC:
|
|
ldr r1, [r4]
|
|
movs r0, 0x10
|
|
str r0, [r1, 0x8]
|
|
ldr r0, _0801BB18
|
|
ldr r3, _0801BB1C
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
_0801BB0E:
|
|
add sp, 0x14
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801BB18: .4byte gUnknown_80DBD24
|
|
_0801BB1C: .4byte 0x00000101
|
|
thumb_func_end sub_801B874
|
|
|
|
thumb_func_start sub_801BB20
|
|
sub_801BB20:
|
|
ldr r0, _0801BB50
|
|
ldr r3, [r0]
|
|
movs r2, 0
|
|
adds r1, r3, 0
|
|
adds r1, 0xCC
|
|
ldr r0, _0801BB54
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x4
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
ldr r0, _0801BB58
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x5
|
|
str r0, [r1]
|
|
adds r0, r3, 0
|
|
adds r0, 0xDC
|
|
str r2, [r0]
|
|
adds r1, 0x8
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0801BB50: .4byte gUnknown_203B234
|
|
_0801BB54: .4byte gUnknown_80DBD58
|
|
_0801BB58: .4byte gUnknown_80DBD6C
|
|
thumb_func_end sub_801BB20
|
|
|
|
thumb_func_start sub_801BB5C
|
|
sub_801BB5C:
|
|
push {r4-r7,lr}
|
|
ldr r4, _0801BBEC
|
|
ldr r2, [r4]
|
|
adds r1, r2, 0
|
|
adds r1, 0xCC
|
|
ldr r0, _0801BBF0
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x6
|
|
str r0, [r1]
|
|
ldr r0, [r2, 0x24]
|
|
bl sub_801ADA0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801BB86
|
|
ldr r0, [r4]
|
|
adds r0, 0xD0
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r1, [r0]
|
|
_0801BB86:
|
|
ldr r0, [r4]
|
|
mov r12, r0
|
|
movs r3, 0x1
|
|
movs r2, 0x8
|
|
mov r1, r12
|
|
adds r1, 0xD4
|
|
ldr r0, _0801BBF4
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x7
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
ldr r0, _0801BBF8
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
mov r0, r12
|
|
adds r0, 0xE0
|
|
str r2, [r0]
|
|
movs r5, 0x3
|
|
adds r1, 0x8
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
mov r0, r12
|
|
adds r0, 0xE8
|
|
str r3, [r0]
|
|
movs r3, 0
|
|
adds r6, r4, 0
|
|
movs r7, 0x1
|
|
negs r7, r7
|
|
mov r4, r12
|
|
adds r4, 0xC8
|
|
subs r1, 0x14
|
|
_0801BBC6:
|
|
ldr r2, [r1]
|
|
cmp r2, r7
|
|
beq _0801BBD2
|
|
ldr r0, [r4]
|
|
cmp r2, r0
|
|
beq _0801BC1C
|
|
_0801BBD2:
|
|
adds r1, 0x8
|
|
adds r3, 0x1
|
|
cmp r3, r5
|
|
blt _0801BBC6
|
|
movs r3, 0
|
|
cmp r3, r5
|
|
bge _0801BC1C
|
|
ldr r2, [r6]
|
|
adds r0, r2, 0
|
|
adds r0, 0xD0
|
|
ldr r1, [r0]
|
|
b _0801BC0E
|
|
.align 2, 0
|
|
_0801BBEC: .4byte gUnknown_203B234
|
|
_0801BBF0: .4byte gUnknown_80DBD80
|
|
_0801BBF4: .4byte gUnknown_80DBD88
|
|
_0801BBF8: .4byte gUnknown_80D4970
|
|
_0801BBFC:
|
|
adds r3, 0x1
|
|
cmp r3, r5
|
|
bge _0801BC1C
|
|
ldr r2, [r6]
|
|
lsls r0, r3, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0xD0
|
|
adds r1, r0
|
|
ldr r1, [r1]
|
|
_0801BC0E:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0801BBFC
|
|
adds r0, r2, 0
|
|
adds r0, 0xC8
|
|
str r1, [r0]
|
|
_0801BC1C:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801BB5C
|
|
|
|
thumb_func_start sub_801BC24
|
|
sub_801BC24:
|
|
ldr r0, _0801BC58
|
|
ldr r0, [r0]
|
|
mov r12, r0
|
|
movs r3, 0
|
|
mov r1, r12
|
|
adds r1, 0xCC
|
|
ldr r0, _0801BC5C
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x2
|
|
str r0, [r1]
|
|
movs r2, 0x1
|
|
adds r1, 0x4
|
|
ldr r0, _0801BC60
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x3
|
|
str r0, [r1]
|
|
mov r0, r12
|
|
adds r0, 0xDC
|
|
str r3, [r0]
|
|
adds r0, 0x4
|
|
str r2, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0801BC58: .4byte gUnknown_203B234
|
|
_0801BC5C: .4byte gUnknown_80D4920
|
|
_0801BC60: .4byte gUnknown_80D4928
|
|
thumb_func_end sub_801BC24
|
|
|
|
thumb_func_start sub_801BC64
|
|
sub_801BC64:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0801BC8C
|
|
ldr r0, [sp]
|
|
cmp r0, 0x4
|
|
beq _0801BC7E
|
|
cmp r0, 0x5
|
|
beq _0801BC86
|
|
b _0801BC8C
|
|
_0801BC7E:
|
|
movs r0, 0x8
|
|
bl sub_801B748
|
|
b _0801BC8C
|
|
_0801BC86:
|
|
movs r0, 0x7
|
|
bl sub_801B748
|
|
_0801BC8C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801BC64
|
|
|
|
thumb_func_start sub_801BC94
|
|
sub_801BC94:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0801BCC6
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _0801BCB8
|
|
cmp r0, 0x2
|
|
bgt _0801BCB2
|
|
cmp r0, 0x1
|
|
beq _0801BCC0
|
|
b _0801BCC6
|
|
_0801BCB2:
|
|
cmp r0, 0x3
|
|
beq _0801BCC0
|
|
b _0801BCC6
|
|
_0801BCB8:
|
|
movs r0, 0xD
|
|
bl sub_801B748
|
|
b _0801BCC6
|
|
_0801BCC0:
|
|
movs r0, 0x6
|
|
bl sub_801B748
|
|
_0801BCC6:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801BC94
|
|
|
|
thumb_func_start sub_801BCCC
|
|
sub_801BCCC:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_801A6E8
|
|
cmp r0, 0x4
|
|
bhi _0801BD7A
|
|
lsls r0, 2
|
|
ldr r1, _0801BCE4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801BCE4: .4byte _0801BCE8
|
|
.align 2, 0
|
|
_0801BCE8:
|
|
.4byte _0801BD7A
|
|
.4byte _0801BD7A
|
|
.4byte _0801BD70
|
|
.4byte _0801BCFC
|
|
.4byte _0801BD34
|
|
_0801BCFC:
|
|
bl sub_801A8AC
|
|
ldr r1, _0801BD28
|
|
ldr r2, [r1]
|
|
str r0, [r2, 0x24]
|
|
ldr r1, _0801BD2C
|
|
ldr r1, [r1]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x20]
|
|
ldr r0, _0801BD30
|
|
adds r1, r2, 0
|
|
adds r1, 0x20
|
|
adds r2, 0x14
|
|
bl sub_8090E14
|
|
movs r0, 0xA
|
|
bl sub_801B748
|
|
b _0801BD7A
|
|
.align 2, 0
|
|
_0801BD28: .4byte gUnknown_203B234
|
|
_0801BD2C: .4byte gUnknown_203B460
|
|
_0801BD30: .4byte gUnknown_202DEA8
|
|
_0801BD34:
|
|
bl sub_801A8AC
|
|
ldr r1, _0801BD64
|
|
ldr r2, [r1]
|
|
str r0, [r2, 0x24]
|
|
ldr r1, _0801BD68
|
|
ldr r1, [r1]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x20]
|
|
ldr r0, _0801BD6C
|
|
adds r1, r2, 0
|
|
adds r1, 0x20
|
|
adds r2, 0x14
|
|
bl sub_8090E14
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0xB
|
|
bl sub_801B748
|
|
b _0801BD7A
|
|
.align 2, 0
|
|
_0801BD64: .4byte gUnknown_203B234
|
|
_0801BD68: .4byte gUnknown_203B460
|
|
_0801BD6C: .4byte gUnknown_202DEA8
|
|
_0801BD70:
|
|
bl sub_801A928
|
|
movs r0, 0x6
|
|
bl sub_801B748
|
|
_0801BD7A:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801BCCC
|
|
|
|
thumb_func_start sub_801BD80
|
|
sub_801BD80:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_801A6E8
|
|
ldr r4, _0801BDC4
|
|
ldr r0, [r4]
|
|
adds r0, 0x28
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801BDB2
|
|
ldr r0, [r4]
|
|
adds r0, 0x28
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _0801BDB2
|
|
ldr r0, [r4]
|
|
adds r0, 0xC8
|
|
str r1, [r0]
|
|
_0801BDB2:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x6
|
|
beq _0801BDD2
|
|
cmp r0, 0x6
|
|
bgt _0801BDC8
|
|
cmp r0, 0x1
|
|
beq _0801BE22
|
|
b _0801BE28
|
|
.align 2, 0
|
|
_0801BDC4: .4byte gUnknown_203B234
|
|
_0801BDC8:
|
|
cmp r0, 0x7
|
|
beq _0801BE0C
|
|
cmp r0, 0x8
|
|
beq _0801BE14
|
|
b _0801BE28
|
|
_0801BDD2:
|
|
ldr r4, _0801BE08
|
|
ldr r0, [r4]
|
|
adds r0, 0x20
|
|
bl sub_80917B8
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x24]
|
|
bl sub_80911F8
|
|
ldr r0, [r4]
|
|
adds r0, 0x10
|
|
bl sub_8091290
|
|
bl sub_80910B4
|
|
movs r0, 0xCB
|
|
bl sub_8011988
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
bl sub_801A928
|
|
movs r0, 0xE
|
|
bl sub_801B748
|
|
b _0801BE28
|
|
.align 2, 0
|
|
_0801BE08: .4byte gUnknown_203B234
|
|
_0801BE0C:
|
|
movs r0, 0xC
|
|
bl sub_801B748
|
|
b _0801BE28
|
|
_0801BE14:
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0xB
|
|
bl sub_801B748
|
|
b _0801BE28
|
|
_0801BE22:
|
|
movs r0, 0x9
|
|
bl sub_801B748
|
|
_0801BE28:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801BD80
|
|
|
|
thumb_func_start sub_801BE30
|
|
sub_801BE30:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_801A6E8
|
|
ldr r4, _0801BE70
|
|
ldr r0, [r4]
|
|
adds r0, 0x28
|
|
bl sub_8012FD8
|
|
ldr r0, [r4]
|
|
adds r0, 0x78
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801BE5E
|
|
ldr r0, [r4]
|
|
adds r0, 0x78
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_0801BE5E:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _0801BE80
|
|
cmp r0, 0x2
|
|
bgt _0801BE74
|
|
cmp r0, 0x1
|
|
beq _0801BE78
|
|
b _0801BEA4
|
|
.align 2, 0
|
|
_0801BE70: .4byte gUnknown_203B234
|
|
_0801BE74:
|
|
cmp r0, 0x3
|
|
bne _0801BEA4
|
|
_0801BE78:
|
|
movs r0, 0x9
|
|
bl sub_801B748
|
|
b _0801BEA4
|
|
_0801BE80:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x24]
|
|
bl sub_80911F8
|
|
ldr r0, [r4]
|
|
adds r0, 0x10
|
|
bl sub_8091290
|
|
bl sub_80910B4
|
|
movs r0, 0xCB
|
|
bl sub_8011988
|
|
bl sub_801A928
|
|
movs r0, 0xF
|
|
bl sub_801B748
|
|
_0801BEA4:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801BE30
|
|
|
|
thumb_func_start sub_801BEAC
|
|
sub_801BEAC:
|
|
push {lr}
|
|
bl sub_801B410
|
|
cmp r0, 0x1
|
|
bls _0801BEC4
|
|
cmp r0, 0x3
|
|
bhi _0801BEC4
|
|
bl sub_801B450
|
|
movs r0, 0x9
|
|
bl sub_801B748
|
|
_0801BEC4:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801BEAC
|
|
|
|
thumb_func_start sub_801BEC8
|
|
sub_801BEC8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0801BEE0
|
|
ldr r0, _0801BEE8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x8]
|
|
bl sub_801B748
|
|
_0801BEE0:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801BEE8: .4byte gUnknown_203B234
|
|
thumb_func_end sub_801BEC8
|
|
|
|
thumb_func_start sub_801BEEC
|
|
sub_801BEEC:
|
|
push {r4-r6,lr}
|
|
lsls r0, 16
|
|
asrs r5, r0, 16
|
|
adds r0, r5, 0
|
|
bl sub_801C5F0
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
cmp r6, 0
|
|
bne _0801BF40
|
|
ldr r4, _0801BF38
|
|
movs r0, 0x92
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
str r6, [r0, 0x30]
|
|
strh r5, [r0, 0x4]
|
|
ldr r3, _0801BF3C
|
|
movs r1, 0x58
|
|
adds r2, r5, 0
|
|
muls r2, r1
|
|
ldr r1, [r3]
|
|
adds r1, r2
|
|
str r1, [r0, 0x8]
|
|
adds r0, 0xC
|
|
movs r2, 0x14
|
|
ldrsh r1, [r1, r2]
|
|
bl sub_808EBA8
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x2C]
|
|
movs r0, 0
|
|
bl sub_801BFB4
|
|
movs r0, 0x1
|
|
b _0801BF42
|
|
.align 2, 0
|
|
_0801BF38: .4byte gUnknown_203B238
|
|
_0801BF3C: .4byte gUnknown_203B45C
|
|
_0801BF40:
|
|
movs r0, 0
|
|
_0801BF42:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801BEEC
|
|
|
|
thumb_func_start sub_801BF48
|
|
sub_801BF48:
|
|
push {lr}
|
|
ldr r0, _0801BF60
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x4
|
|
bhi _0801BF90
|
|
lsls r0, 2
|
|
ldr r1, _0801BF64
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801BF60: .4byte gUnknown_203B238
|
|
_0801BF64: .4byte _0801BF68
|
|
.align 2, 0
|
|
_0801BF68:
|
|
.4byte _0801BF80
|
|
.4byte _0801BF80
|
|
.4byte _0801BF86
|
|
.4byte _0801BF8C
|
|
.4byte _0801BF7C
|
|
_0801BF7C:
|
|
movs r0, 0x3
|
|
b _0801BF92
|
|
_0801BF80:
|
|
bl sub_801C118
|
|
b _0801BF90
|
|
_0801BF86:
|
|
bl sub_801C1A0
|
|
b _0801BF90
|
|
_0801BF8C:
|
|
bl sub_801C228
|
|
_0801BF90:
|
|
movs r0, 0
|
|
_0801BF92:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801BF48
|
|
|
|
thumb_func_start sub_801BF98
|
|
sub_801BF98:
|
|
push {r4,lr}
|
|
ldr r4, _0801BFB0
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0801BFAA
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0801BFAA:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801BFB0: .4byte gUnknown_203B238
|
|
thumb_func_end sub_801BF98
|
|
|
|
thumb_func_start sub_801BFB4
|
|
sub_801BFB4:
|
|
push {lr}
|
|
ldr r1, _0801BFC8
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_801BFCC
|
|
bl sub_801C03C
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801BFC8: .4byte gUnknown_203B238
|
|
thumb_func_end sub_801BFB4
|
|
|
|
thumb_func_start sub_801BFCC
|
|
sub_801BFCC:
|
|
push {r4-r7,lr}
|
|
ldr r4, _0801BFF0
|
|
ldr r0, [r4]
|
|
adds r0, 0xC4
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
ldr r0, [r1]
|
|
cmp r0, 0x2
|
|
bne _0801BFF8
|
|
adds r1, 0xF4
|
|
ldr r0, _0801BFF4
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
b _0801C01A
|
|
.align 2, 0
|
|
_0801BFF0: .4byte gUnknown_203B238
|
|
_0801BFF4: .4byte gUnknown_80DBDB0
|
|
_0801BFF8:
|
|
mov r12, r4
|
|
ldr r4, _0801C034
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_0801C000:
|
|
mov r0, r12
|
|
ldr r1, [r0]
|
|
adds r1, r3
|
|
adds r1, 0xC4
|
|
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 _0801C000
|
|
_0801C01A:
|
|
bl sub_8004914
|
|
ldr r0, _0801C038
|
|
ldr r0, [r0]
|
|
adds r0, 0xC4
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801C034: .4byte gUnknown_80DBD98
|
|
_0801C038: .4byte gUnknown_203B238
|
|
thumb_func_end sub_801BFCC
|
|
|
|
thumb_func_start sub_801C03C
|
|
sub_801C03C:
|
|
push {lr}
|
|
sub sp, 0x8
|
|
ldr r1, _0801C058
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r2, r1, 0
|
|
cmp r0, 0x4
|
|
bhi _0801C0C2
|
|
lsls r0, 2
|
|
ldr r1, _0801C05C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801C058: .4byte gUnknown_203B238
|
|
_0801C05C: .4byte _0801C060
|
|
.align 2, 0
|
|
_0801C060:
|
|
.4byte _0801C074
|
|
.4byte _0801C084
|
|
.4byte _0801C08C
|
|
.4byte _0801C0B8
|
|
.4byte _0801C0C2
|
|
_0801C074:
|
|
ldr r0, [r2]
|
|
movs r1, 0x4
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl sub_801C244
|
|
b _0801C0C2
|
|
_0801C084:
|
|
movs r0, 0x1
|
|
bl sub_801C3B0
|
|
b _0801C0C2
|
|
_0801C08C:
|
|
bl sub_801C4C8
|
|
bl sub_801C0C8
|
|
ldr r0, _0801C0B4
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x74
|
|
adds r1, r2, 0
|
|
adds r1, 0x34
|
|
ldr r2, [r2, 0x30]
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8012D60
|
|
b _0801C0C2
|
|
.align 2, 0
|
|
_0801C0B4: .4byte gUnknown_203B238
|
|
_0801C0B8:
|
|
ldr r0, [r2]
|
|
adds r0, 0x28
|
|
ldrb r0, [r0]
|
|
bl sub_801C620
|
|
_0801C0C2:
|
|
add sp, 0x8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801C03C
|
|
|
|
thumb_func_start sub_801C0C8
|
|
sub_801C0C8:
|
|
push {r4,r5,lr}
|
|
ldr r3, _0801C10C
|
|
ldr r1, [r3]
|
|
movs r4, 0
|
|
ldr r0, _0801C110
|
|
str r0, [r1, 0x34]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x38]
|
|
movs r2, 0x1
|
|
ldr r0, _0801C114
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x3C]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x40]
|
|
movs r5, 0x2
|
|
str r4, [r1, 0x44]
|
|
str r2, [r1, 0x48]
|
|
movs r2, 0
|
|
ldr r4, [r1, 0x30]
|
|
adds r1, 0x38
|
|
_0801C0F0:
|
|
ldr r0, [r1]
|
|
cmp r0, r4
|
|
beq _0801C104
|
|
adds r1, 0x8
|
|
adds r2, 0x1
|
|
cmp r2, r5
|
|
blt _0801C0F0
|
|
ldr r1, [r3]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x30]
|
|
_0801C104:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801C10C: .4byte gUnknown_203B238
|
|
_0801C110: .4byte gUnknown_80DBDC8
|
|
_0801C114: .4byte gUnknown_80D4970
|
|
thumb_func_end sub_801C0C8
|
|
|
|
thumb_func_start sub_801C118
|
|
sub_801C118:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_801C308
|
|
cmp r0, 0x4
|
|
bhi _0801C19A
|
|
lsls r0, 2
|
|
ldr r1, _0801C130
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801C130: .4byte _0801C134
|
|
.align 2, 0
|
|
_0801C134:
|
|
.4byte _0801C19A
|
|
.4byte _0801C19A
|
|
.4byte _0801C190
|
|
.4byte _0801C148
|
|
.4byte _0801C16C
|
|
_0801C148:
|
|
bl sub_801C390
|
|
ldr r1, _0801C168
|
|
ldr r2, [r1]
|
|
str r0, [r2, 0x24]
|
|
adds r1, r2, 0
|
|
adds r1, 0xC
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r2, 0x28
|
|
strb r0, [r2]
|
|
movs r0, 0x2
|
|
bl sub_801BFB4
|
|
b _0801C19A
|
|
.align 2, 0
|
|
_0801C168: .4byte gUnknown_203B238
|
|
_0801C16C:
|
|
bl sub_801C390
|
|
ldr r1, _0801C18C
|
|
ldr r2, [r1]
|
|
str r0, [r2, 0x24]
|
|
adds r1, r2, 0
|
|
adds r1, 0xC
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r2, 0x28
|
|
strb r0, [r2]
|
|
movs r0, 0x3
|
|
bl sub_801BFB4
|
|
b _0801C19A
|
|
.align 2, 0
|
|
_0801C18C: .4byte gUnknown_203B238
|
|
_0801C190:
|
|
bl sub_801C3F8
|
|
movs r0, 0x4
|
|
bl sub_801BFB4
|
|
_0801C19A:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801C118
|
|
|
|
thumb_func_start sub_801C1A0
|
|
sub_801C1A0:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_801C308
|
|
ldr r4, _0801C1E0
|
|
ldr r0, [r4]
|
|
adds r0, 0x74
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801C1D0
|
|
ldr r0, [r4]
|
|
adds r0, 0x74
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _0801C1D0
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x30]
|
|
_0801C1D0:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _0801C1EA
|
|
cmp r0, 0x2
|
|
bgt _0801C1E4
|
|
cmp r0, 0x1
|
|
beq _0801C218
|
|
b _0801C21E
|
|
.align 2, 0
|
|
_0801C1E0: .4byte gUnknown_203B238
|
|
_0801C1E4:
|
|
cmp r0, 0x3
|
|
beq _0801C210
|
|
b _0801C21E
|
|
_0801C1EA:
|
|
ldr r0, _0801C208
|
|
bl sub_8011988
|
|
ldr r0, _0801C20C
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, 0x8]
|
|
adds r0, 0x20
|
|
adds r1, 0x28
|
|
ldrb r1, [r1]
|
|
bl sub_808EBF4
|
|
movs r0, 0x1
|
|
bl sub_801BFB4
|
|
b _0801C21E
|
|
.align 2, 0
|
|
_0801C208: .4byte 0x00000133
|
|
_0801C20C: .4byte gUnknown_203B238
|
|
_0801C210:
|
|
movs r0, 0x3
|
|
bl sub_801BFB4
|
|
b _0801C21E
|
|
_0801C218:
|
|
movs r0, 0x1
|
|
bl sub_801BFB4
|
|
_0801C21E:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801C1A0
|
|
|
|
thumb_func_start sub_801C228
|
|
sub_801C228:
|
|
push {lr}
|
|
bl sub_801C674
|
|
cmp r0, 0x1
|
|
bls _0801C240
|
|
cmp r0, 0x3
|
|
bhi _0801C240
|
|
bl sub_801C6B4
|
|
movs r0, 0x1
|
|
bl sub_801BFB4
|
|
_0801C240:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801C228
|
|
|
|
thumb_func_start sub_801C244
|
|
sub_801C244:
|
|
push {r4-r7,lr}
|
|
adds r6, r1, 0
|
|
adds r7, r2, 0
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
adds r4, r0, 0
|
|
bl sub_801C5F0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801C25E
|
|
movs r0, 0
|
|
b _0801C2F6
|
|
_0801C25E:
|
|
ldr r5, _0801C2FC
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
bne _0801C270
|
|
movs r0, 0xC4
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
_0801C270:
|
|
ldr r0, [r5]
|
|
strh r4, [r0]
|
|
ldr r3, _0801C300
|
|
movs r1, 0x58
|
|
adds r2, r4, 0
|
|
muls r2, r1
|
|
ldr r1, [r3]
|
|
adds r1, r2
|
|
str r1, [r0, 0x4]
|
|
adds r0, 0x8
|
|
movs r2, 0x14
|
|
ldrsh r1, [r1, r2]
|
|
bl sub_808EBA8
|
|
adds r1, r0, 0
|
|
ldr r0, [r5]
|
|
str r1, [r0, 0x20]
|
|
str r6, [r0, 0x58]
|
|
lsls r1, r6, 1
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, 0x60
|
|
adds r1, r0, r1
|
|
str r1, [r0, 0x5C]
|
|
adds r0, 0x60
|
|
bl sub_8006518
|
|
ldr r1, [r5]
|
|
ldr r2, [r1, 0x58]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x60
|
|
ldr r0, _0801C304
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r1, [r5]
|
|
ldr r0, [r1, 0x5C]
|
|
adds r1, 0xC0
|
|
str r1, [r0, 0x14]
|
|
adds r1, r7, 0
|
|
bl sub_8012D08
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, 0x60
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r1, [r5]
|
|
adds r0, r1, 0
|
|
adds r0, 0x24
|
|
ldr r1, [r1, 0x20]
|
|
adds r2, r7, 0
|
|
adds r3, r6, 0
|
|
bl sub_8013818
|
|
bl sub_801C440
|
|
bl sub_801C4C8
|
|
movs r0, 0x1
|
|
_0801C2F6:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801C2FC: .4byte gUnknown_203B23C
|
|
_0801C300: .4byte gUnknown_203B45C
|
|
_0801C304: .4byte gUnknown_80DBDF0
|
|
thumb_func_end sub_801C244
|
|
|
|
thumb_func_start sub_801C308
|
|
sub_801C308:
|
|
push {lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801C324
|
|
ldr r0, _0801C320
|
|
ldr r0, [r0]
|
|
adds r0, 0x24
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _0801C38A
|
|
.align 2, 0
|
|
_0801C320: .4byte gUnknown_203B23C
|
|
_0801C324:
|
|
ldr r0, _0801C33C
|
|
ldr r0, [r0]
|
|
adds r0, 0x24
|
|
bl GetKeyPress
|
|
cmp r0, 0x2
|
|
beq _0801C346
|
|
cmp r0, 0x2
|
|
bgt _0801C340
|
|
cmp r0, 0x1
|
|
beq _0801C350
|
|
b _0801C364
|
|
.align 2, 0
|
|
_0801C33C: .4byte gUnknown_203B23C
|
|
_0801C340:
|
|
cmp r0, 0x4
|
|
beq _0801C35A
|
|
b _0801C364
|
|
_0801C346:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0801C38A
|
|
_0801C350:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _0801C38A
|
|
_0801C35A:
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0x4
|
|
b _0801C38A
|
|
_0801C364:
|
|
ldr r0, _0801C37C
|
|
ldr r0, [r0]
|
|
adds r0, 0x24
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801C380
|
|
movs r0, 0
|
|
b _0801C38A
|
|
.align 2, 0
|
|
_0801C37C: .4byte gUnknown_203B23C
|
|
_0801C380:
|
|
bl sub_801C440
|
|
bl sub_801C4C8
|
|
movs r0, 0x1
|
|
_0801C38A:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801C308
|
|
|
|
thumb_func_start sub_801C390
|
|
sub_801C390:
|
|
ldr r0, _0801C3AC
|
|
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
|
|
bx lr
|
|
.align 2, 0
|
|
_0801C3AC: .4byte gUnknown_203B23C
|
|
thumb_func_end sub_801C390
|
|
|
|
thumb_func_start sub_801C3B0
|
|
sub_801C3B0:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8004914
|
|
ldr r5, _0801C3F4
|
|
ldr r0, [r5]
|
|
adds r0, 0x60
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, 0x20]
|
|
adds r2, r0, 0
|
|
adds r2, 0x46
|
|
strh r1, [r2]
|
|
adds r0, 0x24
|
|
bl sub_8013984
|
|
bl sub_801C440
|
|
bl sub_801C4C8
|
|
cmp r4, 0
|
|
beq _0801C3EE
|
|
ldr r0, [r5]
|
|
adds r0, 0x24
|
|
bl AddMenuCursorSprite
|
|
_0801C3EE:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801C3F4: .4byte gUnknown_203B23C
|
|
thumb_func_end sub_801C3B0
|
|
|
|
thumb_func_start sub_801C3F8
|
|
sub_801C3F8:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0801C438
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0801C432
|
|
ldr r0, [r2, 0x58]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x60
|
|
ldr r0, _0801C43C
|
|
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]
|
|
_0801C432:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801C438: .4byte gUnknown_203B23C
|
|
_0801C43C: .4byte gUnknown_80DBDD8
|
|
thumb_func_end sub_801C3F8
|
|
|
|
thumb_func_start sub_801C440
|
|
sub_801C440:
|
|
push {r4,lr}
|
|
ldr r4, _0801C4C4
|
|
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, 0xA
|
|
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
|
|
ldr r2, [r4]
|
|
ldr r3, [r2, 0x58]
|
|
lsls r1, r3, 1
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x6E
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
strh r0, [r1]
|
|
ldr r3, [r2, 0x58]
|
|
lsls r1, r3, 1
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
adds r2, 0x70
|
|
strh r0, [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
|
|
_0801C4C4: .4byte gUnknown_203B23C
|
|
thumb_func_end sub_801C440
|
|
|
|
thumb_func_start sub_801C4C8
|
|
sub_801C4C8:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
ldr r6, _0801C594
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x58]
|
|
bl sub_8008C54
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x58]
|
|
bl sub_80073B8
|
|
ldr r0, [r6]
|
|
adds r1, r0, 0
|
|
adds r1, 0x42
|
|
movs r2, 0
|
|
ldrsh r4, [r1, r2]
|
|
lsls r4, 3
|
|
adds r5, r4, 0
|
|
adds r5, 0xA
|
|
ldr r2, _0801C598
|
|
ldr r3, [r0, 0x58]
|
|
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, 0xC2
|
|
ldrb r0, [r0]
|
|
lsls r0, 3
|
|
adds r5, r4, r0
|
|
adds r0, r1, 0
|
|
adds r0, 0x42
|
|
movs r3, 0
|
|
ldrsh r2, [r0, r3]
|
|
adds r2, 0x1
|
|
movs r0, 0x7
|
|
str r0, [sp]
|
|
ldr r0, [r1, 0x58]
|
|
str r0, [sp, 0x4]
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
movs r3, 0x1
|
|
bl sub_8012BC4
|
|
movs r5, 0
|
|
ldr r0, [r6]
|
|
movs r1, 0x3E
|
|
ldrsh r0, [r0, r1]
|
|
cmp r5, r0
|
|
bge _0801C5CC
|
|
ldr r2, _0801C59C
|
|
mov r8, r2
|
|
_0801C53C:
|
|
ldr r2, [r6]
|
|
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 r1, r0
|
|
adds r1, r5
|
|
adds r0, r2, 0
|
|
adds r0, 0x8
|
|
adds r0, r1
|
|
ldrb r4, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x24
|
|
adds r1, r5, 0
|
|
bl sub_8013800
|
|
adds r7, r0, 0
|
|
adds r0, r4, 0
|
|
bl sub_808EAB0
|
|
adds r1, r0, 0
|
|
mov r0, r8
|
|
movs r2, 0x50
|
|
bl strncpy
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x4]
|
|
adds r0, 0x20
|
|
movs r1, 0x1
|
|
lsls r1, r4
|
|
bl sub_808ECD0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801C5A4
|
|
mov r0, r8
|
|
subs r0, 0x50
|
|
ldr r1, _0801C5A0
|
|
bl strcpy
|
|
b _0801C5AE
|
|
.align 2, 0
|
|
_0801C594: .4byte gUnknown_203B23C
|
|
_0801C598: .4byte gUnknown_80DBE08
|
|
_0801C59C: .4byte gUnknown_202DEA8
|
|
_0801C5A0: .4byte gUnknown_80DBE14
|
|
_0801C5A4:
|
|
mov r0, r8
|
|
subs r0, 0x50
|
|
ldr r1, _0801C5E4
|
|
bl strcpy
|
|
_0801C5AE:
|
|
ldr r0, [r6]
|
|
ldr r3, [r0, 0x58]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xC
|
|
adds r1, r7, 0
|
|
ldr r2, _0801C5E8
|
|
bl sub_8014FF0
|
|
adds r5, 0x1
|
|
ldr r0, [r6]
|
|
movs r1, 0x3E
|
|
ldrsh r0, [r0, r1]
|
|
cmp r5, r0
|
|
blt _0801C53C
|
|
_0801C5CC:
|
|
ldr r0, _0801C5EC
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x58]
|
|
bl sub_80073E0
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801C5E4: .4byte gUnknown_80DBE18
|
|
_0801C5E8: .4byte gUnknown_80DBE1C
|
|
_0801C5EC: .4byte gUnknown_203B23C
|
|
thumb_func_end sub_801C4C8
|
|
|
|
thumb_func_start sub_801C5F0
|
|
sub_801C5F0:
|
|
push {lr}
|
|
sub sp, 0x18
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
ldr r2, _0801C614
|
|
movs r1, 0x58
|
|
muls r1, r0
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
movs r2, 0x14
|
|
ldrsh r1, [r0, r2]
|
|
mov r0, sp
|
|
bl sub_808EBA8
|
|
cmp r0, 0
|
|
beq _0801C618
|
|
movs r0, 0
|
|
b _0801C61A
|
|
.align 2, 0
|
|
_0801C614: .4byte gUnknown_203B45C
|
|
_0801C618:
|
|
movs r0, 0x1
|
|
_0801C61A:
|
|
add sp, 0x18
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801C5F0
|
|
|
|
thumb_func_start sub_801C620
|
|
sub_801C620:
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x1
|
|
bl ResetSprites
|
|
ldr r5, _0801C670
|
|
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 r0, [r5]
|
|
str r6, [r0, 0x24]
|
|
adds r0, 0x28
|
|
bl sub_80140B4
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, 0x28
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0
|
|
bl sub_801C6D0
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801C670: .4byte gUnknown_203B240
|
|
thumb_func_end sub_801C620
|
|
|
|
thumb_func_start sub_801C674
|
|
sub_801C674:
|
|
push {lr}
|
|
ldr r0, _0801C68C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0801C6A0
|
|
cmp r0, 0x1
|
|
bgt _0801C690
|
|
cmp r0, 0
|
|
beq _0801C69A
|
|
b _0801C6AA
|
|
.align 2, 0
|
|
_0801C68C: .4byte gUnknown_203B240
|
|
_0801C690:
|
|
cmp r0, 0x2
|
|
beq _0801C6AA
|
|
cmp r0, 0x3
|
|
beq _0801C6A6
|
|
b _0801C6AA
|
|
_0801C69A:
|
|
bl sub_801C7D4
|
|
b _0801C6AE
|
|
_0801C6A0:
|
|
bl sub_801C848
|
|
b _0801C6AE
|
|
_0801C6A6:
|
|
movs r0, 0x3
|
|
b _0801C6B0
|
|
_0801C6AA:
|
|
movs r0, 0x2
|
|
b _0801C6B0
|
|
_0801C6AE:
|
|
movs r0, 0
|
|
_0801C6B0:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801C674
|
|
|
|
thumb_func_start sub_801C6B4
|
|
sub_801C6B4:
|
|
push {r4,lr}
|
|
ldr r4, _0801C6CC
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0801C6C6
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0801C6C6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801C6CC: .4byte gUnknown_203B240
|
|
thumb_func_end sub_801C6B4
|
|
|
|
thumb_func_start sub_801C6D0
|
|
sub_801C6D0:
|
|
push {lr}
|
|
ldr r1, _0801C6E0
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_801C6E4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801C6E0: .4byte gUnknown_203B240
|
|
thumb_func_end sub_801C6D0
|
|
|
|
thumb_func_start sub_801C6E4
|
|
sub_801C6E4:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r5, _0801C760
|
|
ldr r0, [r5]
|
|
ldr r4, [r0]
|
|
cmp r4, 0x1
|
|
beq _0801C76C
|
|
cmp r4, 0x1
|
|
bgt _0801C7C4
|
|
cmp r4, 0
|
|
bne _0801C7C4
|
|
ldr r0, [r0, 0x24]
|
|
bl sub_8008C54
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x24]
|
|
bl sub_80073B8
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, 0x4]
|
|
bl sub_808EAB0
|
|
adds r1, r0, 0
|
|
ldr r0, _0801C764
|
|
bl strcpy
|
|
ldr r2, _0801C768
|
|
str r4, [sp]
|
|
movs r0, 0x10
|
|
movs r1, 0
|
|
movs r3, 0
|
|
bl sub_8014FF0
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, 0x4]
|
|
bl sub_808EADC
|
|
adds r2, r0, 0
|
|
ldr r0, [r5]
|
|
ldr r3, [r0, 0x24]
|
|
str r4, [sp]
|
|
movs r0, 0x8
|
|
movs r1, 0x10
|
|
bl xxx_call_draw_string
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x24]
|
|
bl sub_80073E0
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, 0x4]
|
|
bl sub_808EADC
|
|
ldr r1, [r5]
|
|
adds r1, 0x10
|
|
bl sub_8097DF0
|
|
ldr r1, [r5]
|
|
str r0, [r1, 0xC]
|
|
str r4, [r1, 0x20]
|
|
b _0801C7C4
|
|
.align 2, 0
|
|
_0801C760: .4byte gUnknown_203B240
|
|
_0801C764: .4byte gUnknown_202DE58
|
|
_0801C768: .4byte gUnknown_80DBE2C
|
|
_0801C76C:
|
|
ldr r0, [r0, 0x24]
|
|
bl sub_8008C54
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x24]
|
|
bl sub_80073B8
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, 0x8]
|
|
lsls r1, 2
|
|
adds r0, 0x10
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
ldr r0, _0801C7CC
|
|
ldr r1, [r1]
|
|
bl strcpy
|
|
ldr r2, _0801C7D0
|
|
ldr r0, [r5]
|
|
ldr r3, [r0, 0x24]
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
movs r0, 0x10
|
|
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 r0, [r0]
|
|
ldr r2, [r0, 0x4]
|
|
ldr r3, [r3, 0x24]
|
|
str r4, [sp]
|
|
movs r0, 0x4
|
|
movs r1, 0x10
|
|
bl sub_8014FF0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x24]
|
|
bl sub_80073E0
|
|
_0801C7C4:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801C7CC: .4byte gUnknown_202DF98
|
|
_0801C7D0: .4byte gUnknown_80DBE30
|
|
thumb_func_end sub_801C6E4
|
|
|
|
thumb_func_start sub_801C7D4
|
|
sub_801C7D4:
|
|
push {r4,lr}
|
|
ldr r0, _0801C810
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, 0xC]
|
|
adds r4, r0, 0
|
|
cmp r1, 0
|
|
beq _0801C7F8
|
|
ldr r0, [r2, 0x20]
|
|
movs r1, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0801C7F0
|
|
bl sub_8013F84
|
|
_0801C7F0:
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x20]
|
|
adds r0, 0x1
|
|
str r0, [r1, 0x20]
|
|
_0801C7F8:
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x88
|
|
ldr r1, [r1, 0x24]
|
|
bl sub_8012A64
|
|
cmp r0, 0x1
|
|
beq _0801C814
|
|
cmp r0, 0x2
|
|
beq _0801C836
|
|
b _0801C842
|
|
.align 2, 0
|
|
_0801C810: .4byte gUnknown_203B240
|
|
_0801C814:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0xC]
|
|
cmp r0, 0
|
|
beq _0801C82E
|
|
movs r0, 0
|
|
str r0, [r1, 0x8]
|
|
movs r0, 0x1
|
|
bl sub_801C6D0
|
|
b _0801C842
|
|
_0801C82E:
|
|
movs r0, 0x3
|
|
bl sub_801C6D0
|
|
b _0801C842
|
|
_0801C836:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
bl sub_801C6D0
|
|
_0801C842:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801C7D4
|
|
|
|
thumb_func_start sub_801C848
|
|
sub_801C848:
|
|
push {r4,lr}
|
|
ldr r0, _0801C888
|
|
ldr r3, [r0]
|
|
ldr r1, [r3, 0xC]
|
|
subs r1, 0x1
|
|
ldr r2, [r3, 0x8]
|
|
adds r4, r0, 0
|
|
cmp r2, r1
|
|
bge _0801C870
|
|
ldr r0, [r3, 0x20]
|
|
movs r1, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0801C868
|
|
bl sub_8013F84
|
|
_0801C868:
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x20]
|
|
adds r0, 0x1
|
|
str r0, [r1, 0x20]
|
|
_0801C870:
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x88
|
|
ldr r1, [r1, 0x24]
|
|
bl sub_8012A64
|
|
cmp r0, 0x1
|
|
beq _0801C88C
|
|
cmp r0, 0x2
|
|
beq _0801C8B0
|
|
b _0801C8BC
|
|
.align 2, 0
|
|
_0801C888: .4byte gUnknown_203B240
|
|
_0801C88C:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0x8]
|
|
adds r1, 0x1
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0xC]
|
|
cmp r1, r0
|
|
bge _0801C8A8
|
|
movs r0, 0x1
|
|
bl sub_801C6D0
|
|
b _0801C8BC
|
|
_0801C8A8:
|
|
movs r0, 0
|
|
bl sub_801C6D0
|
|
b _0801C8BC
|
|
_0801C8B0:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
bl sub_801C6D0
|
|
_0801C8BC:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801C848
|
|
|
|
thumb_func_start sub_801C8C4
|
|
sub_801C8C4:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
adds r4, r0, 0
|
|
adds r6, r1, 0
|
|
mov r9, r2
|
|
mov r10, r3
|
|
bl sub_801CF14
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801C8E4
|
|
movs r0, 0
|
|
b _0801C9D0
|
|
_0801C8E4:
|
|
ldr r5, _0801C9E0
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
bne _0801C8F6
|
|
ldr r0, _0801C9E4
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
_0801C8F6:
|
|
ldr r0, [r5]
|
|
str r4, [r0]
|
|
bl sub_801CF94
|
|
ldr r0, [r5]
|
|
movs r4, 0x9D
|
|
lsls r4, 3
|
|
adds r1, r0, r4
|
|
str r6, [r1]
|
|
ldr r1, _0801C9E8
|
|
mov r8, r1
|
|
adds r2, r0, r1
|
|
lsls r1, r6, 1
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
movs r7, 0x9E
|
|
lsls r7, 3
|
|
adds r1, r7
|
|
adds r1, r0, r1
|
|
str r1, [r2]
|
|
adds r0, r7
|
|
bl sub_8006518
|
|
ldr r1, [r5]
|
|
adds r4, r1, r4
|
|
ldr r2, [r4]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, r7
|
|
ldr r0, _0801C9EC
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r2, [r5]
|
|
mov r1, r8
|
|
adds r0, r2, r1
|
|
ldr r1, [r0]
|
|
movs r3, 0xAA
|
|
lsls r3, 3
|
|
adds r0, r2, r3
|
|
str r0, [r1, 0x14]
|
|
mov r4, r9
|
|
cmp r4, 0
|
|
beq _0801C96C
|
|
movs r1, 0x9D
|
|
lsls r1, 3
|
|
adds r0, r2, r1
|
|
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, [r4]
|
|
str r0, [r1]
|
|
_0801C96C:
|
|
ldr r0, [r5]
|
|
add r0, r8
|
|
ldr r0, [r0]
|
|
mov r1, r10
|
|
bl sub_8012D08
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, r7
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, [r5]
|
|
ldr r0, _0801C9F0
|
|
adds r4, r0
|
|
bl sub_801CE58
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
mov r2, r10
|
|
adds r3, r6, 0
|
|
bl sub_8013818
|
|
ldr r0, _0801C9F4
|
|
ldr r4, [r5]
|
|
ldr r1, [r0]
|
|
ldr r0, [r4]
|
|
cmp r1, r0
|
|
bne _0801C9C6
|
|
ldr r0, _0801C9F8
|
|
ldrh r1, [r0]
|
|
ldr r2, _0801C9FC
|
|
adds r0, r4, r2
|
|
strh r1, [r0]
|
|
ldr r0, _0801CA00
|
|
ldrh r1, [r0]
|
|
ldr r3, _0801CA04
|
|
adds r0, r4, r3
|
|
strh r1, [r0]
|
|
ldr r1, _0801C9F0
|
|
adds r0, r4, r1
|
|
bl sub_8013984
|
|
_0801C9C6:
|
|
bl sub_801CC38
|
|
bl sub_801CCD8
|
|
movs r0, 0x1
|
|
_0801C9D0:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801C9E0: .4byte gUnknown_203B244
|
|
_0801C9E4: .4byte 0x00000554
|
|
_0801C9E8: .4byte 0x000004ec
|
|
_0801C9EC: .4byte gUnknown_80DBE54
|
|
_0801C9F0: .4byte 0x000004b4
|
|
_0801C9F4: .4byte gUnknown_203B248
|
|
_0801C9F8: .4byte gUnknown_203B24C
|
|
_0801C9FC: .4byte 0x000004cc
|
|
_0801CA00: .4byte gUnknown_203B24E
|
|
_0801CA04: .4byte 0x000004d2
|
|
thumb_func_end sub_801C8C4
|
|
|
|
thumb_func_start sub_801CA08
|
|
sub_801CA08:
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801CA28
|
|
ldr r0, _0801CA20
|
|
ldr r0, [r0]
|
|
ldr r1, _0801CA24
|
|
adds r0, r1
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _0801CB1E
|
|
.align 2, 0
|
|
_0801CA20: .4byte gUnknown_203B244
|
|
_0801CA24: .4byte 0x000004b4
|
|
_0801CA28:
|
|
ldr r0, _0801CA44
|
|
ldr r0, [r0]
|
|
ldr r1, _0801CA48
|
|
adds r0, r1
|
|
bl GetKeyPress
|
|
subs r0, 0x1
|
|
cmp r0, 0x5
|
|
bhi _0801CAF2
|
|
lsls r0, 2
|
|
ldr r1, _0801CA4C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801CA44: .4byte gUnknown_203B244
|
|
_0801CA48: .4byte 0x000004b4
|
|
_0801CA4C: .4byte _0801CA50
|
|
.align 2, 0
|
|
_0801CA50:
|
|
.4byte _0801CA72
|
|
.4byte _0801CA68
|
|
.4byte _0801CAF2
|
|
.4byte _0801CAE8
|
|
.4byte _0801CA7C
|
|
.4byte _0801CA7C
|
|
_0801CA68:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0801CB1E
|
|
_0801CA72:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _0801CB1E
|
|
_0801CA7C:
|
|
ldr r0, _0801CAD8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x1
|
|
bne _0801CAF2
|
|
bl sub_801CB24
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r0, r5, 0
|
|
bl sub_801CFE0
|
|
movs r6, 0
|
|
cmp r0, 0
|
|
bne _0801CAB0
|
|
bl sub_8090A34
|
|
adds r4, r0, 0
|
|
bl sub_801CFB8
|
|
adds r4, r0
|
|
cmp r4, 0x13
|
|
bgt _0801CAAC
|
|
movs r6, 0x1
|
|
_0801CAAC:
|
|
cmp r6, 0
|
|
beq _0801CAE0
|
|
_0801CAB0:
|
|
movs r0, 0x6
|
|
bl sub_80119D4
|
|
ldr r0, _0801CAD8
|
|
ldr r0, [r0]
|
|
lsls r1, r5, 2
|
|
adds r2, r0, 0
|
|
adds r2, 0xF4
|
|
adds r2, r1
|
|
ldr r1, [r2]
|
|
movs r3, 0x1
|
|
eors r1, r3
|
|
str r1, [r2]
|
|
ldr r1, _0801CADC
|
|
adds r0, r1
|
|
movs r1, 0
|
|
bl sub_80138B8
|
|
b _0801CB18
|
|
.align 2, 0
|
|
_0801CAD8: .4byte gUnknown_203B244
|
|
_0801CADC: .4byte 0x000004b4
|
|
_0801CAE0:
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
b _0801CAF2
|
|
_0801CAE8:
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0x4
|
|
b _0801CB1E
|
|
_0801CAF2:
|
|
ldr r0, _0801CB0C
|
|
ldr r0, [r0]
|
|
ldr r1, _0801CB10
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801CB14
|
|
movs r0, 0
|
|
b _0801CB1E
|
|
.align 2, 0
|
|
_0801CB0C: .4byte gUnknown_203B244
|
|
_0801CB10: .4byte 0x000004b4
|
|
_0801CB14:
|
|
bl sub_801CC38
|
|
_0801CB18:
|
|
bl sub_801CCD8
|
|
movs r0, 0x1
|
|
_0801CB1E:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801CA08
|
|
|
|
thumb_func_start sub_801CB24
|
|
sub_801CB24:
|
|
ldr r0, _0801CB50
|
|
ldr r0, [r0]
|
|
ldr r2, _0801CB54
|
|
adds r1, r0, r2
|
|
movs r3, 0
|
|
ldrsh r2, [r1, r3]
|
|
movs r3, 0x9A
|
|
lsls r3, 3
|
|
adds r1, r0, r3
|
|
movs r3, 0
|
|
ldrsh r1, [r1, r3]
|
|
muls r2, r1
|
|
ldr r3, _0801CB58
|
|
adds r1, r0, r3
|
|
movs r3, 0
|
|
ldrsh r1, [r1, r3]
|
|
adds r2, r1
|
|
adds r0, 0x4
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0801CB50: .4byte gUnknown_203B244
|
|
_0801CB54: .4byte 0x000004d2
|
|
_0801CB58: .4byte 0x000004cc
|
|
thumb_func_end sub_801CB24
|
|
|
|
thumb_func_start sub_801CB5C
|
|
sub_801CB5C:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8004914
|
|
ldr r5, _0801CBAC
|
|
ldr r0, [r5]
|
|
movs r1, 0x9E
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
bl sub_801CE58
|
|
adds r2, r0, 0
|
|
ldr r0, [r5]
|
|
ldr r3, _0801CBB0
|
|
adds r1, r0, r3
|
|
strh r2, [r1]
|
|
ldr r1, _0801CBB4
|
|
adds r0, r1
|
|
bl sub_8013984
|
|
bl sub_801CC38
|
|
bl sub_801CCD8
|
|
cmp r4, 0
|
|
beq _0801CBA6
|
|
ldr r0, [r5]
|
|
ldr r3, _0801CBB4
|
|
adds r0, r3
|
|
bl AddMenuCursorSprite
|
|
_0801CBA6:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801CBAC: .4byte gUnknown_203B244
|
|
_0801CBB0: .4byte 0x000004d6
|
|
_0801CBB4: .4byte 0x000004b4
|
|
thumb_func_end sub_801CB5C
|
|
|
|
thumb_func_start sub_801CBB8
|
|
sub_801CBB8:
|
|
push {r4-r6,lr}
|
|
ldr r5, _0801CC1C
|
|
ldr r2, [r5]
|
|
cmp r2, 0
|
|
beq _0801CC16
|
|
ldr r1, _0801CC20
|
|
ldr r0, [r2]
|
|
str r0, [r1]
|
|
ldr r1, _0801CC24
|
|
ldr r3, _0801CC28
|
|
adds r0, r2, r3
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
ldr r1, _0801CC2C
|
|
ldr r6, _0801CC30
|
|
adds r0, r2, r6
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
movs r1, 0x9D
|
|
lsls r1, 3
|
|
adds r0, r2, r1
|
|
ldr r0, [r0]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
movs r4, 0x9E
|
|
lsls r4, 3
|
|
adds r1, r4
|
|
ldr r0, _0801CC34
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r5]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r5]
|
|
_0801CC16:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801CC1C: .4byte gUnknown_203B244
|
|
_0801CC20: .4byte gUnknown_203B248
|
|
_0801CC24: .4byte gUnknown_203B24C
|
|
_0801CC28: .4byte 0x000004cc
|
|
_0801CC2C: .4byte gUnknown_203B24E
|
|
_0801CC30: .4byte 0x000004d2
|
|
_0801CC34: .4byte gUnknown_80DBE3C
|
|
thumb_func_end sub_801CBB8
|
|
|
|
thumb_func_start sub_801CC38
|
|
sub_801CC38:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0801CCC4
|
|
ldr r0, [r4]
|
|
movs r1, 0xAA
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r2, 0
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
ldr r1, _0801CCC8
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
movs r1, 0xC
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
ldr r1, _0801CCCC
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
ldr r2, _0801CCD0
|
|
adds r0, r2
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0xC
|
|
bl sub_80095E4
|
|
adds r0, 0x2
|
|
lsls r0, 16
|
|
ldr r3, [r4]
|
|
movs r2, 0x9D
|
|
lsls r2, 3
|
|
adds r5, r3, r2
|
|
ldr r2, [r5]
|
|
lsls r1, r2, 1
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, r3, r1
|
|
ldr r2, _0801CCD4
|
|
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, 0xA0
|
|
lsls r0, 3
|
|
adds r3, r0
|
|
strh r2, [r3]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
movs r1, 0x9E
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801CCC4: .4byte gUnknown_203B244
|
|
_0801CCC8: .4byte 0x00000551
|
|
_0801CCCC: .4byte 0x00000553
|
|
_0801CCD0: .4byte 0x000004ce
|
|
_0801CCD4: .4byte 0x000004fe
|
|
thumb_func_end sub_801CC38
|
|
|
|
thumb_func_start sub_801CCD8
|
|
sub_801CCD8:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x58
|
|
ldr r4, _0801CE38
|
|
ldr r0, [r4]
|
|
movs r5, 0x9D
|
|
lsls r5, 3
|
|
adds r0, r5
|
|
ldr r0, [r0]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
ldr r0, [r0]
|
|
bl sub_80073B8
|
|
ldr r2, _0801CE3C
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
ldr r3, [r4]
|
|
ldr r1, _0801CE40
|
|
adds r0, r3, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 3
|
|
adds r0, 0x4
|
|
ldr r2, _0801CE44
|
|
adds r1, r3, r2
|
|
movs r6, 0
|
|
ldrsh r2, [r1, r6]
|
|
adds r2, 0x1
|
|
movs r1, 0x7
|
|
str r1, [sp]
|
|
adds r3, r5
|
|
ldr r1, [r3]
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
movs r3, 0x2
|
|
bl sub_8012BC4
|
|
movs r7, 0
|
|
ldr r0, [r4]
|
|
ldr r1, _0801CE48
|
|
adds r0, r1
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
cmp r7, r0
|
|
bge _0801CE1A
|
|
adds r6, r4, 0
|
|
ldr r3, _0801CE4C
|
|
mov r9, r3
|
|
mov r8, r5
|
|
_0801CD50:
|
|
ldr r1, [r6]
|
|
ldr r4, _0801CE44
|
|
adds r0, r1, r4
|
|
movs r3, 0
|
|
ldrsh r2, [r0, r3]
|
|
subs r4, 0x2
|
|
adds r0, r1, r4
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
muls r0, r2
|
|
adds r0, r7
|
|
adds r1, 0x4
|
|
adds r1, r0
|
|
ldrb r5, [r1]
|
|
add r0, sp, 0x8
|
|
adds r1, r5, 0
|
|
movs r2, 0
|
|
bl sub_8090DC4
|
|
ldr r0, [r6]
|
|
add r0, r9
|
|
adds r1, r7, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r0, [r6]
|
|
add r0, r8
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
add r2, sp, 0x8
|
|
bl xxx_call_draw_string
|
|
ldr r0, [r6]
|
|
add r0, r9
|
|
adds r1, r7, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r4, [r6]
|
|
ldr r2, _0801CE50
|
|
adds r0, r4, r2
|
|
ldr r0, [r0]
|
|
movs r3, 0xC
|
|
ldrsh r0, [r0, r3]
|
|
lsls r0, 3
|
|
subs r0, 0x2
|
|
ldr r2, _0801CE54
|
|
ldr r2, [r2]
|
|
lsls r3, r5, 1
|
|
adds r2, 0x50
|
|
adds r2, r3
|
|
ldrh r2, [r2]
|
|
movs r3, 0x5
|
|
str r3, [sp]
|
|
add r4, r8
|
|
ldr r3, [r4]
|
|
str r3, [sp, 0x4]
|
|
movs r3, 0x3
|
|
bl sub_8012BC4
|
|
adds r0, r5, 0
|
|
bl sub_801CFE0
|
|
movs r1, 0x1
|
|
ands r1, r0
|
|
cmp r1, 0
|
|
beq _0801CE0A
|
|
ldr r0, [r6]
|
|
ldr r4, _0801CE4C
|
|
adds r0, r4
|
|
adds r1, r7, 0
|
|
bl sub_8013800
|
|
adds r2, r0, 0
|
|
ldr r1, [r6]
|
|
movs r3, 0x9D
|
|
lsls r3, 3
|
|
adds r0, r1, r3
|
|
ldr r0, [r0]
|
|
adds r4, 0x38
|
|
adds r1, r4
|
|
ldr r1, [r1]
|
|
movs r4, 0xC
|
|
ldrsh r3, [r1, r4]
|
|
subs r3, 0x1
|
|
lsls r3, 3
|
|
movs r1, 0xA
|
|
str r1, [sp]
|
|
movs r1, 0x8
|
|
bl sub_8007B7C
|
|
_0801CE0A:
|
|
adds r7, 0x1
|
|
ldr r0, [r6]
|
|
ldr r1, _0801CE48
|
|
adds r0, r1
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
cmp r7, r0
|
|
blt _0801CD50
|
|
_0801CE1A:
|
|
ldr r0, _0801CE38
|
|
ldr r0, [r0]
|
|
movs r3, 0x9D
|
|
lsls r3, 3
|
|
adds r0, r3
|
|
ldr r0, [r0]
|
|
bl sub_80073E0
|
|
add sp, 0x58
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801CE38: .4byte gUnknown_203B244
|
|
_0801CE3C: .4byte gUnknown_80DBE6C
|
|
_0801CE40: .4byte 0x00000552
|
|
_0801CE44: .4byte 0x000004d2
|
|
_0801CE48: .4byte 0x000004ce
|
|
_0801CE4C: .4byte 0x000004b4
|
|
_0801CE50: .4byte 0x000004ec
|
|
_0801CE54: .4byte gUnknown_203B460
|
|
thumb_func_end sub_801CCD8
|
|
|
|
thumb_func_start sub_801CE58
|
|
sub_801CE58:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x4
|
|
movs r3, 0
|
|
movs r6, 0x1
|
|
ldr r4, _0801CF0C
|
|
_0801CE68:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x2
|
|
beq _0801CE92
|
|
ldr r0, _0801CF10
|
|
ldr r0, [r0]
|
|
lsls r1, r6, 1
|
|
adds r0, 0x50
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0801CE9C
|
|
lsls r0, r6, 24
|
|
lsrs r0, 24
|
|
str r3, [sp]
|
|
bl sub_8091524
|
|
lsls r0, 24
|
|
ldr r3, [sp]
|
|
cmp r0, 0
|
|
beq _0801CE9C
|
|
_0801CE92:
|
|
ldr r0, [r4]
|
|
adds r0, 0x4
|
|
adds r0, r3
|
|
strb r6, [r0]
|
|
adds r3, 0x1
|
|
_0801CE9C:
|
|
adds r6, 0x1
|
|
cmp r6, 0xEF
|
|
ble _0801CE68
|
|
movs r6, 0
|
|
subs r0, r3, 0x1
|
|
mov r9, r0
|
|
cmp r6, r9
|
|
bge _0801CEFC
|
|
_0801CEAC:
|
|
adds r0, r6, 0x1
|
|
mov r8, r0
|
|
mov r5, r8
|
|
cmp r8, r3
|
|
bge _0801CEF6
|
|
ldr r7, _0801CF0C
|
|
_0801CEB8:
|
|
ldr r0, [r7]
|
|
adds r0, 0x4
|
|
adds r0, r6
|
|
ldrb r0, [r0]
|
|
str r3, [sp]
|
|
bl sub_8090D44
|
|
adds r4, r0, 0
|
|
ldr r0, [r7]
|
|
adds r0, 0x4
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
bl sub_8090D44
|
|
ldr r3, [sp]
|
|
cmp r4, r0
|
|
ble _0801CEF0
|
|
ldr r0, [r7]
|
|
adds r0, 0x4
|
|
adds r1, r0, r6
|
|
ldrb r2, [r1]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
ldr r0, [r7]
|
|
adds r0, 0x4
|
|
adds r0, r5
|
|
strb r2, [r0]
|
|
_0801CEF0:
|
|
adds r5, 0x1
|
|
cmp r5, r3
|
|
blt _0801CEB8
|
|
_0801CEF6:
|
|
mov r6, r8
|
|
cmp r6, r9
|
|
blt _0801CEAC
|
|
_0801CEFC:
|
|
adds r0, r3, 0
|
|
add sp, 0x4
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801CF0C: .4byte gUnknown_203B244
|
|
_0801CF10: .4byte gUnknown_203B460
|
|
thumb_func_end sub_801CE58
|
|
|
|
thumb_func_start sub_801CF14
|
|
sub_801CF14:
|
|
push {r4,lr}
|
|
cmp r0, 0x2
|
|
bne _0801CF1E
|
|
_0801CF1A:
|
|
movs r0, 0
|
|
b _0801CF46
|
|
_0801CF1E:
|
|
movs r4, 0x1
|
|
_0801CF20:
|
|
ldr r0, _0801CF4C
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 1
|
|
adds r0, 0x50
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0801CF3E
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_8091524
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801CF1A
|
|
_0801CF3E:
|
|
adds r4, 0x1
|
|
cmp r4, 0xEF
|
|
ble _0801CF20
|
|
movs r0, 0x1
|
|
_0801CF46:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801CF4C: .4byte gUnknown_203B460
|
|
thumb_func_end sub_801CF14
|
|
|
|
thumb_func_start sub_801CF50
|
|
sub_801CF50:
|
|
push {r4,r5,lr}
|
|
cmp r0, 0x2
|
|
bne _0801CF5A
|
|
_0801CF56:
|
|
movs r0, 0
|
|
b _0801CF84
|
|
_0801CF5A:
|
|
movs r4, 0x1
|
|
ldr r5, _0801CF8C
|
|
_0801CF5E:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_8091524
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801CF7C
|
|
ldr r0, _0801CF90
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 1
|
|
adds r0, 0x50
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, r5
|
|
bls _0801CF56
|
|
_0801CF7C:
|
|
adds r4, 0x1
|
|
cmp r4, 0xEF
|
|
ble _0801CF5E
|
|
movs r0, 0x1
|
|
_0801CF84:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801CF8C: .4byte 0x000003e6
|
|
_0801CF90: .4byte gUnknown_203B460
|
|
thumb_func_end sub_801CF50
|
|
|
|
thumb_func_start sub_801CF94
|
|
sub_801CF94:
|
|
push {r4,lr}
|
|
movs r2, 0
|
|
ldr r4, _0801CFB4
|
|
movs r3, 0
|
|
_0801CF9C:
|
|
ldr r0, [r4]
|
|
lsls r1, r2, 2
|
|
adds r0, 0xF4
|
|
adds r0, r1
|
|
str r3, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0xEF
|
|
ble _0801CF9C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801CFB4: .4byte gUnknown_203B244
|
|
thumb_func_end sub_801CF94
|
|
|
|
thumb_func_start sub_801CFB8
|
|
sub_801CFB8:
|
|
push {lr}
|
|
movs r3, 0
|
|
ldr r0, _0801CFDC
|
|
ldr r0, [r0]
|
|
adds r1, r0, 0
|
|
adds r1, 0xF4
|
|
movs r2, 0xEF
|
|
_0801CFC6:
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
beq _0801CFCE
|
|
adds r3, 0x1
|
|
_0801CFCE:
|
|
adds r1, 0x4
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _0801CFC6
|
|
adds r0, r3, 0
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801CFDC: .4byte gUnknown_203B244
|
|
thumb_func_end sub_801CFB8
|
|
|
|
thumb_func_start sub_801CFE0
|
|
sub_801CFE0:
|
|
lsls r0, 24
|
|
ldr r1, _0801CFF0
|
|
ldr r1, [r1]
|
|
lsrs r0, 22
|
|
adds r1, 0xF4
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0801CFF0: .4byte gUnknown_203B244
|
|
thumb_func_end sub_801CFE0
|
|
|
|
thumb_func_start sub_801CFF4
|
|
sub_801CFF4:
|
|
lsls r0, 24
|
|
ldr r2, _0801D004
|
|
ldr r2, [r2]
|
|
lsrs r0, 22
|
|
adds r2, 0xF4
|
|
adds r2, r0
|
|
str r1, [r2]
|
|
bx lr
|
|
.align 2, 0
|
|
_0801D004: .4byte gUnknown_203B244
|
|
thumb_func_end sub_801CFF4
|
|
|
|
thumb_func_start sub_801D008
|
|
sub_801D008:
|
|
ldr r0, _0801D010
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0801D010: .4byte gUnknown_203B244
|
|
thumb_func_end sub_801D008
|
|
|
|
thumb_func_start sub_801D014
|
|
sub_801D014:
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, _0801D054
|
|
movs r0, 0x8C
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
adds r2, r0, 0
|
|
str r2, [r4]
|
|
ldr r0, _0801D058
|
|
ldr r0, [r0]
|
|
str r0, [r2, 0x14]
|
|
str r5, [r2]
|
|
cmp r5, 0
|
|
beq _0801D088
|
|
movs r3, 0
|
|
ldr r0, _0801D05C
|
|
ldr r1, [r0]
|
|
adds r4, r0, 0
|
|
cmp r5, r1
|
|
bne _0801D060
|
|
strh r3, [r2, 0x4]
|
|
b _0801D08C
|
|
.align 2, 0
|
|
_0801D054: .4byte gUnknown_203B250
|
|
_0801D058: .4byte gUnknown_203B254
|
|
_0801D05C: .4byte gUnknown_203B45C
|
|
_0801D060:
|
|
adds r3, 0x1
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
cmp r3, r0
|
|
bgt _0801D08C
|
|
ldr r0, _0801D084
|
|
ldr r2, [r0]
|
|
lsls r0, r3, 16
|
|
asrs r0, 16
|
|
movs r1, 0x58
|
|
muls r1, r0
|
|
ldr r0, [r4]
|
|
adds r0, r1
|
|
ldr r1, [r2]
|
|
cmp r1, r0
|
|
bne _0801D060
|
|
strh r3, [r2, 0x4]
|
|
b _0801D08C
|
|
.align 2, 0
|
|
_0801D084: .4byte gUnknown_203B250
|
|
_0801D088:
|
|
ldr r0, _0801D0C4
|
|
strh r0, [r2, 0x4]
|
|
_0801D08C:
|
|
bl sub_80A5728
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_8002658
|
|
ldr r4, _0801D0C8
|
|
ldr r1, [r4]
|
|
movs r5, 0
|
|
strb r0, [r1, 0x6]
|
|
ldr r0, [r4]
|
|
strb r5, [r0, 0x8]
|
|
ldr r0, [r4]
|
|
strb r5, [r0, 0x9]
|
|
bl sub_808D33C
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0xC]
|
|
strb r5, [r1, 0x7]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0801D0CC
|
|
movs r0, 0x5
|
|
bl sub_801D208
|
|
b _0801D0D2
|
|
.align 2, 0
|
|
_0801D0C4: .4byte 0x0000019d
|
|
_0801D0C8: .4byte gUnknown_203B250
|
|
_0801D0CC:
|
|
movs r0, 0
|
|
bl sub_801D208
|
|
_0801D0D2:
|
|
movs r0, 0x1
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801D014
|
|
|
|
thumb_func_start sub_801D0DC
|
|
sub_801D0DC:
|
|
push {lr}
|
|
ldr r0, _0801D0F4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x10]
|
|
cmp r0, 0xC
|
|
bhi _0801D16C
|
|
lsls r0, 2
|
|
ldr r1, _0801D0F8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801D0F4: .4byte gUnknown_203B250
|
|
_0801D0F8: .4byte _0801D0FC
|
|
.align 2, 0
|
|
_0801D0FC:
|
|
.4byte _0801D130
|
|
.4byte _0801D130
|
|
.4byte _0801D16C
|
|
.4byte _0801D136
|
|
.4byte _0801D13C
|
|
.4byte _0801D142
|
|
.4byte _0801D148
|
|
.4byte _0801D148
|
|
.4byte _0801D14E
|
|
.4byte _0801D154
|
|
.4byte _0801D15A
|
|
.4byte _0801D160
|
|
.4byte _0801D166
|
|
_0801D130:
|
|
bl sub_801D680
|
|
b _0801D170
|
|
_0801D136:
|
|
bl sub_801D760
|
|
b _0801D170
|
|
_0801D13C:
|
|
bl sub_801D77C
|
|
b _0801D170
|
|
_0801D142:
|
|
bl sub_801D798
|
|
b _0801D170
|
|
_0801D148:
|
|
bl sub_801D7CC
|
|
b _0801D170
|
|
_0801D14E:
|
|
bl sub_801D808
|
|
b _0801D170
|
|
_0801D154:
|
|
bl sub_801D824
|
|
b _0801D170
|
|
_0801D15A:
|
|
bl sub_801D840
|
|
b _0801D170
|
|
_0801D160:
|
|
bl sub_801D85C
|
|
b _0801D170
|
|
_0801D166:
|
|
bl sub_801D878
|
|
b _0801D170
|
|
_0801D16C:
|
|
movs r0, 0x3
|
|
b _0801D172
|
|
_0801D170:
|
|
movs r0, 0
|
|
_0801D172:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801D0DC
|
|
|
|
thumb_func_start sub_801D178
|
|
sub_801D178:
|
|
push {r4,lr}
|
|
ldr r0, _0801D188
|
|
ldr r4, [r0]
|
|
ldrb r0, [r4, 0x9]
|
|
cmp r0, 0
|
|
beq _0801D18C
|
|
movs r0, 0x2
|
|
b _0801D1CC
|
|
.align 2, 0
|
|
_0801D188: .4byte gUnknown_203B250
|
|
_0801D18C:
|
|
ldrb r0, [r4, 0x7]
|
|
cmp r0, 0
|
|
beq _0801D196
|
|
movs r0, 0x3
|
|
b _0801D1CC
|
|
_0801D196:
|
|
ldrb r0, [r4, 0x8]
|
|
cmp r0, 0
|
|
beq _0801D1A0
|
|
movs r0, 0x1
|
|
b _0801D1CC
|
|
_0801D1A0:
|
|
bl sub_808D33C
|
|
ldr r1, [r4, 0xC]
|
|
cmp r1, r0
|
|
bne _0801D1C6
|
|
movs r0, 0x7
|
|
bl sub_80A7AE8
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
blt _0801D1CA
|
|
bl sub_808D3F8
|
|
ldrh r0, [r0]
|
|
lsrs r0, 1
|
|
movs r1, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0801D1CA
|
|
_0801D1C6:
|
|
movs r0, 0x4
|
|
b _0801D1CC
|
|
_0801D1CA:
|
|
movs r0, 0
|
|
_0801D1CC:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801D178
|
|
|
|
thumb_func_start sub_801D1D4
|
|
sub_801D1D4:
|
|
ldr r0, _0801D1DC
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x7]
|
|
bx lr
|
|
.align 2, 0
|
|
_0801D1DC: .4byte gUnknown_203B250
|
|
thumb_func_end sub_801D1D4
|
|
|
|
thumb_func_start sub_801D1E0
|
|
sub_801D1E0:
|
|
push {r4,lr}
|
|
ldr r4, _0801D200
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0801D1FA
|
|
ldr r0, _0801D204
|
|
ldr r1, [r2, 0x14]
|
|
str r1, [r0]
|
|
adds r0, r2, 0
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0801D1FA:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801D200: .4byte gUnknown_203B250
|
|
_0801D204: .4byte gUnknown_203B254
|
|
thumb_func_end sub_801D1E0
|
|
|
|
thumb_func_start sub_801D208
|
|
sub_801D208:
|
|
push {lr}
|
|
ldr r1, _0801D21C
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x10]
|
|
bl sub_801D220
|
|
bl sub_801D3A8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801D21C: .4byte gUnknown_203B250
|
|
thumb_func_end sub_801D208
|
|
|
|
thumb_func_start sub_801D220
|
|
sub_801D220:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
ldr r4, _0801D248
|
|
ldr r0, [r4]
|
|
adds r0, 0xB8
|
|
bl sub_8006518
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x10]
|
|
cmp r0, 0
|
|
beq _0801D250
|
|
cmp r0, 0x1
|
|
beq _0801D2C0
|
|
movs r2, 0
|
|
adds r7, r4, 0
|
|
ldr r3, _0801D24C
|
|
b _0801D368
|
|
.align 2, 0
|
|
_0801D248: .4byte gUnknown_203B250
|
|
_0801D24C: .4byte gUnknown_80DBE7C
|
|
_0801D250:
|
|
bl sub_801D4C0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0801D290
|
|
adds r7, r4, 0
|
|
ldr r0, _0801D288
|
|
mov r9, r0
|
|
mov r12, r7
|
|
ldr r2, _0801D28C
|
|
mov r8, r2
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_0801D26C:
|
|
mov r4, r12
|
|
ldr r1, [r4]
|
|
adds r1, r3
|
|
adds r1, 0xB8
|
|
mov r0, r8
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _0801D26C
|
|
b _0801D2F6
|
|
.align 2, 0
|
|
_0801D288: .4byte gUnknown_80DBE98
|
|
_0801D28C: .4byte gUnknown_80DBE7C
|
|
_0801D290:
|
|
adds r7, r4, 0
|
|
mov r8, r7
|
|
ldr r6, _0801D2BC
|
|
mov r9, r6
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_0801D29C:
|
|
mov r0, r8
|
|
ldr r1, [r0]
|
|
adds r1, r3
|
|
adds r1, 0xB8
|
|
mov r0, r9
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
movs r0, 0x18
|
|
add r9, r0
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _0801D29C
|
|
b _0801D34E
|
|
.align 2, 0
|
|
_0801D2BC: .4byte gUnknown_80DBEB0
|
|
_0801D2C0:
|
|
bl sub_801D4C0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0801D324
|
|
adds r7, r4, 0
|
|
ldr r2, _0801D31C
|
|
mov r9, r2
|
|
mov r8, r7
|
|
ldr r3, _0801D320
|
|
mov r12, r3
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_0801D2DC:
|
|
mov r4, r8
|
|
ldr r1, [r4]
|
|
adds r1, r3
|
|
adds r1, 0xB8
|
|
mov r0, r12
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _0801D2DC
|
|
_0801D2F6:
|
|
ldr r1, [r7]
|
|
adds r1, 0xB8
|
|
mov r0, r9
|
|
ldm r0!, {r2,r5,r6}
|
|
stm r1!, {r2,r5,r6}
|
|
ldm r0!, {r3-r5}
|
|
stm r1!, {r3-r5}
|
|
ldr r1, [r7]
|
|
adds r0, r1, 0
|
|
adds r0, 0xB8
|
|
adds r1, 0x68
|
|
bl sub_8012CAC
|
|
ldr r0, [r7]
|
|
adds r0, 0xC4
|
|
movs r1, 0x9
|
|
strh r1, [r0]
|
|
b _0801D384
|
|
.align 2, 0
|
|
_0801D31C: .4byte gUnknown_80DBE98
|
|
_0801D320: .4byte gUnknown_80DBE7C
|
|
_0801D324:
|
|
adds r7, r4, 0
|
|
mov r8, r7
|
|
ldr r6, _0801D364
|
|
mov r9, r6
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_0801D330:
|
|
mov r0, r8
|
|
ldr r1, [r0]
|
|
adds r1, r3
|
|
adds r1, 0xB8
|
|
mov r0, r9
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
movs r0, 0x18
|
|
add r9, r0
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _0801D330
|
|
_0801D34E:
|
|
ldr r1, [r7]
|
|
adds r0, r1, 0
|
|
adds r0, 0xB8
|
|
adds r1, 0x68
|
|
bl sub_8012CAC
|
|
ldr r0, [r7]
|
|
adds r0, 0xC4
|
|
movs r1, 0x8
|
|
strh r1, [r0]
|
|
b _0801D384
|
|
.align 2, 0
|
|
_0801D364: .4byte gUnknown_80DBEB0
|
|
_0801D368:
|
|
ldr r0, [r7]
|
|
lsls r1, r2, 1
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
adds r0, 0xB8
|
|
adds r1, r3, 0
|
|
ldm r1!, {r4-r6}
|
|
stm r0!, {r4-r6}
|
|
ldm r1!, {r4-r6}
|
|
stm r0!, {r4-r6}
|
|
adds r2, 0x1
|
|
cmp r2, 0x3
|
|
ble _0801D368
|
|
_0801D384:
|
|
bl sub_8004914
|
|
ldr r0, _0801D3A4
|
|
ldr r0, [r0]
|
|
adds r0, 0xB8
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801D3A4: .4byte gUnknown_203B250
|
|
thumb_func_end sub_801D220
|
|
|
|
thumb_func_start sub_801D3A8
|
|
sub_801D3A8:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
ldr r1, _0801D3C4
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x10]
|
|
adds r6, r1, 0
|
|
cmp r0, 0xC
|
|
bls _0801D3BA
|
|
b _0801D4B6
|
|
_0801D3BA:
|
|
lsls r0, 2
|
|
ldr r1, _0801D3C8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801D3C4: .4byte gUnknown_203B250
|
|
_0801D3C8: .4byte _0801D3CC
|
|
.align 2, 0
|
|
_0801D3CC:
|
|
.4byte _0801D400
|
|
.4byte _0801D400
|
|
.4byte _0801D4B6
|
|
.4byte _0801D458
|
|
.4byte _0801D462
|
|
.4byte _0801D468
|
|
.4byte _0801D472
|
|
.4byte _0801D47A
|
|
.4byte _0801D482
|
|
.4byte _0801D490
|
|
.4byte _0801D49C
|
|
.4byte _0801D4AA
|
|
.4byte _0801D4B2
|
|
_0801D400:
|
|
ldr r0, [r6]
|
|
ldr r5, [r0]
|
|
cmp r5, 0
|
|
beq _0801D438
|
|
ldr r4, _0801D434
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
movs r2, 0x7
|
|
bl sub_808D9AC
|
|
ldr r2, [r6]
|
|
str r4, [r2, 0x18]
|
|
adds r0, r2, 0
|
|
adds r0, 0x18
|
|
adds r1, r2, 0
|
|
adds r1, 0x68
|
|
adds r3, r2, 0
|
|
adds r3, 0xA8
|
|
ldr r2, [r2, 0x14]
|
|
str r2, [sp]
|
|
movs r2, 0
|
|
str r2, [sp, 0x4]
|
|
bl sub_8012D60
|
|
b _0801D4B6
|
|
.align 2, 0
|
|
_0801D434: .4byte gUnknown_202DF98
|
|
_0801D438:
|
|
bl sub_801D894
|
|
ldr r2, [r6]
|
|
adds r0, r2, 0
|
|
adds r0, 0x18
|
|
adds r1, r2, 0
|
|
adds r1, 0x68
|
|
adds r3, r2, 0
|
|
adds r3, 0xA8
|
|
ldr r2, [r2, 0x14]
|
|
str r2, [sp]
|
|
str r5, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8012D60
|
|
b _0801D4B6
|
|
_0801D458:
|
|
ldr r0, [r6]
|
|
ldr r0, [r0]
|
|
bl sub_80227B8
|
|
b _0801D4B6
|
|
_0801D462:
|
|
bl sub_8027074
|
|
b _0801D4B6
|
|
_0801D468:
|
|
ldr r0, [r6]
|
|
ldr r0, [r0]
|
|
bl sub_8025EF4
|
|
b _0801D4B6
|
|
_0801D472:
|
|
movs r0, 0
|
|
bl sub_80252F0
|
|
b _0801D4B6
|
|
_0801D47A:
|
|
movs r0, 0x1
|
|
bl sub_80252F0
|
|
b _0801D4B6
|
|
_0801D482:
|
|
ldr r0, [r6]
|
|
movs r1, 0x4
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0x2
|
|
bl sub_8024458
|
|
b _0801D4B6
|
|
_0801D490:
|
|
ldr r0, [r6]
|
|
movs r1, 0x4
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_801BEEC
|
|
b _0801D4B6
|
|
_0801D49C:
|
|
ldr r0, [r6]
|
|
ldrb r0, [r0, 0x6]
|
|
movs r1, 0x1
|
|
movs r2, 0x2
|
|
bl sub_8021774
|
|
b _0801D4B6
|
|
_0801D4AA:
|
|
movs r0, 0
|
|
bl sub_802C860
|
|
b _0801D4B6
|
|
_0801D4B2:
|
|
bl sub_801DCC4
|
|
_0801D4B6:
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801D3A8
|
|
|
|
thumb_func_start sub_801D4C0
|
|
sub_801D4C0:
|
|
push {r4-r7,lr}
|
|
movs r6, 0
|
|
ldr r4, _0801D554
|
|
ldr r0, [r4]
|
|
adds r0, 0xA8
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x6]
|
|
cmp r0, 0
|
|
bne _0801D568
|
|
bl sub_8096E2C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801D534
|
|
ldr r1, [r4]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x6C]
|
|
ldr r0, _0801D558
|
|
str r0, [r1, 0x68]
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
bne _0801D4FE
|
|
ldr r0, [r4]
|
|
adds r0, 0xA8
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_0801D4FE:
|
|
ldr r1, [r4]
|
|
ldr r0, _0801D55C
|
|
str r0, [r1, 0x70]
|
|
movs r0, 0x4
|
|
str r0, [r1, 0x74]
|
|
movs r6, 0x2
|
|
movs r0, 0x2
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801D534
|
|
ldr r1, [r4]
|
|
ldr r0, _0801D560
|
|
str r0, [r1, 0x78]
|
|
movs r0, 0x9
|
|
str r0, [r1, 0x7C]
|
|
bl sub_802C83C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801D532
|
|
ldr r0, [r4]
|
|
adds r0, 0xAC
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_0801D532:
|
|
movs r6, 0x3
|
|
_0801D534:
|
|
ldr r4, _0801D554
|
|
ldr r2, [r4]
|
|
lsls r3, r6, 3
|
|
adds r0, r2, 0
|
|
adds r0, 0x68
|
|
adds r0, r3
|
|
ldr r1, _0801D564
|
|
str r1, [r0]
|
|
adds r2, 0x6C
|
|
adds r2, r3
|
|
movs r0, 0xB
|
|
str r0, [r2]
|
|
adds r6, 0x1
|
|
adds r7, r4, 0
|
|
b _0801D5E6
|
|
.align 2, 0
|
|
_0801D554: .4byte gUnknown_203B250
|
|
_0801D558: .4byte gUnknown_80DBF10
|
|
_0801D55C: .4byte gUnknown_80DBF18
|
|
_0801D560: .4byte gUnknown_80DBF20
|
|
_0801D564: .4byte gUnknown_80DBF2C
|
|
_0801D568:
|
|
ldr r0, _0801D63C
|
|
ldr r1, _0801D640
|
|
bl strcpy
|
|
bl sub_8096E2C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801D5B6
|
|
ldr r1, [r4]
|
|
ldr r0, _0801D644
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x68]
|
|
movs r0, 0x5
|
|
str r0, [r1, 0x6C]
|
|
movs r0, 0x4
|
|
bl sub_8024108
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801D59A
|
|
ldr r0, [r4]
|
|
adds r0, 0xA8
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_0801D59A:
|
|
movs r6, 0x1
|
|
ldr r1, [r4]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x74]
|
|
ldr r0, _0801D648
|
|
str r0, [r1, 0x70]
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
bne _0801D5B4
|
|
ldr r0, [r4]
|
|
adds r0, 0xAA
|
|
strh r6, [r0]
|
|
_0801D5B4:
|
|
movs r6, 0x2
|
|
_0801D5B6:
|
|
ldr r5, _0801D64C
|
|
ldr r1, [r5]
|
|
lsls r2, r6, 3
|
|
adds r3, r1, 0
|
|
adds r3, 0x68
|
|
adds r4, r3, r2
|
|
ldr r0, _0801D650
|
|
ldr r0, [r0]
|
|
str r0, [r4]
|
|
adds r1, 0x6C
|
|
adds r2, r1, r2
|
|
movs r0, 0x8
|
|
str r0, [r2]
|
|
adds r6, 0x1
|
|
lsls r2, r6, 3
|
|
adds r3, r2
|
|
ldr r0, _0801D654
|
|
ldr r0, [r0]
|
|
str r0, [r3]
|
|
adds r1, r2
|
|
movs r0, 0xA
|
|
str r0, [r1]
|
|
adds r6, 0x1
|
|
adds r7, r5, 0
|
|
_0801D5E6:
|
|
ldr r4, [r7]
|
|
lsls r2, r6, 3
|
|
adds r0, r4, 0
|
|
adds r0, 0x68
|
|
adds r0, r2
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
adds r1, r4, 0
|
|
adds r1, 0x6C
|
|
adds r2, r1, r2
|
|
movs r0, 0x1
|
|
str r0, [r2]
|
|
movs r3, 0
|
|
cmp r3, r6
|
|
bge _0801D622
|
|
adds r5, r4, 0
|
|
adds r4, 0xA8
|
|
adds r2, r1, 0
|
|
_0801D60A:
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
bne _0801D618
|
|
ldr r1, [r2]
|
|
ldr r0, [r5, 0x14]
|
|
cmp r1, r0
|
|
beq _0801D67A
|
|
_0801D618:
|
|
adds r4, 0x2
|
|
adds r2, 0x8
|
|
adds r3, 0x1
|
|
cmp r3, r6
|
|
blt _0801D60A
|
|
_0801D622:
|
|
movs r3, 0
|
|
cmp r3, r6
|
|
bge _0801D67A
|
|
ldr r1, [r7]
|
|
adds r0, r1, 0
|
|
adds r0, 0xA8
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _0801D658
|
|
ldr r0, [r1, 0x6C]
|
|
str r0, [r1, 0x14]
|
|
b _0801D67A
|
|
.align 2, 0
|
|
_0801D63C: .4byte gUnknown_202DF98
|
|
_0801D640: .4byte gUnknown_80DBF34
|
|
_0801D644: .4byte gUnknown_80D49A8
|
|
_0801D648: .4byte gUnknown_80DBF10
|
|
_0801D64C: .4byte gUnknown_203B250
|
|
_0801D650: .4byte gUnknown_80D4970
|
|
_0801D654: .4byte gUnknown_80D49B4
|
|
_0801D658:
|
|
adds r3, 0x1
|
|
cmp r3, r6
|
|
bge _0801D67A
|
|
ldr r2, [r7]
|
|
lsls r0, r3, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0xA8
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _0801D658
|
|
lsls r0, r3, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x6C
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x14]
|
|
_0801D67A:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801D4C0
|
|
|
|
thumb_func_start sub_801D680
|
|
sub_801D680:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r4, _0801D6C0
|
|
ldr r0, [r4]
|
|
adds r0, 0x18
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801D6AC
|
|
ldr r0, [r4]
|
|
adds r0, 0x18
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _0801D6AC
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x14]
|
|
_0801D6AC:
|
|
ldr r0, [sp]
|
|
subs r0, 0x1
|
|
cmp r0, 0xA
|
|
bhi _0801D756
|
|
lsls r0, 2
|
|
ldr r1, _0801D6C4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801D6C0: .4byte gUnknown_203B250
|
|
_0801D6C4: .4byte _0801D6C8
|
|
.align 2, 0
|
|
_0801D6C8:
|
|
.4byte _0801D750
|
|
.4byte _0801D6F4
|
|
.4byte _0801D704
|
|
.4byte _0801D6FC
|
|
.4byte _0801D70C
|
|
.4byte _0801D714
|
|
.4byte _0801D71C
|
|
.4byte _0801D724
|
|
.4byte _0801D72C
|
|
.4byte _0801D734
|
|
.4byte _0801D748
|
|
_0801D6F4:
|
|
movs r0, 0x3
|
|
bl sub_801D208
|
|
b _0801D756
|
|
_0801D6FC:
|
|
movs r0, 0x6
|
|
bl sub_801D208
|
|
b _0801D756
|
|
_0801D704:
|
|
movs r0, 0x4
|
|
bl sub_801D208
|
|
b _0801D756
|
|
_0801D70C:
|
|
movs r0, 0x7
|
|
bl sub_801D208
|
|
b _0801D756
|
|
_0801D714:
|
|
movs r0, 0x8
|
|
bl sub_801D208
|
|
b _0801D756
|
|
_0801D71C:
|
|
movs r0, 0x9
|
|
bl sub_801D208
|
|
b _0801D756
|
|
_0801D724:
|
|
movs r0, 0xA
|
|
bl sub_801D208
|
|
b _0801D756
|
|
_0801D72C:
|
|
movs r0, 0xB
|
|
bl sub_801D208
|
|
b _0801D756
|
|
_0801D734:
|
|
ldr r0, _0801D744
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x9]
|
|
movs r0, 0x2
|
|
bl sub_801D208
|
|
b _0801D756
|
|
.align 2, 0
|
|
_0801D744: .4byte gUnknown_203B250
|
|
_0801D748:
|
|
movs r0, 0xC
|
|
bl sub_801D208
|
|
b _0801D756
|
|
_0801D750:
|
|
movs r0, 0x2
|
|
bl sub_801D208
|
|
_0801D756:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801D680
|
|
|
|
thumb_func_start sub_801D760
|
|
sub_801D760:
|
|
push {lr}
|
|
bl sub_8022860
|
|
cmp r0, 0x1
|
|
bls _0801D778
|
|
cmp r0, 0x3
|
|
bhi _0801D778
|
|
bl sub_8022908
|
|
movs r0, 0x1
|
|
bl sub_801D208
|
|
_0801D778:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801D760
|
|
|
|
thumb_func_start sub_801D77C
|
|
sub_801D77C:
|
|
push {lr}
|
|
bl sub_80270A4
|
|
cmp r0, 0x1
|
|
bls _0801D794
|
|
cmp r0, 0x3
|
|
bhi _0801D794
|
|
bl sub_8027168
|
|
movs r0, 0x1
|
|
bl sub_801D208
|
|
_0801D794:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801D77C
|
|
|
|
thumb_func_start sub_801D798
|
|
sub_801D798:
|
|
push {lr}
|
|
bl sub_8025F68
|
|
cmp r0, 0x1
|
|
bls _0801D7C2
|
|
cmp r0, 0x3
|
|
bhi _0801D7C2
|
|
bl sub_802604C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801D7B8
|
|
ldr r0, _0801D7C8
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, 0x6]
|
|
strb r0, [r1, 0x7]
|
|
_0801D7B8:
|
|
bl sub_8026058
|
|
movs r0, 0x2
|
|
bl sub_801D208
|
|
_0801D7C2:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801D7C8: .4byte gUnknown_203B250
|
|
thumb_func_end sub_801D798
|
|
|
|
thumb_func_start sub_801D7CC
|
|
sub_801D7CC:
|
|
push {r4,lr}
|
|
bl sub_8025354
|
|
cmp r0, 0x1
|
|
bls _0801D802
|
|
cmp r0, 0x3
|
|
bhi _0801D802
|
|
bl sub_802540C
|
|
ldr r4, _0801D7F8
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x7]
|
|
bl sub_8025418
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x7]
|
|
cmp r0, 0
|
|
beq _0801D7FC
|
|
movs r0, 0x2
|
|
bl sub_801D208
|
|
b _0801D802
|
|
.align 2, 0
|
|
_0801D7F8: .4byte gUnknown_203B250
|
|
_0801D7FC:
|
|
movs r0, 0x1
|
|
bl sub_801D208
|
|
_0801D802:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801D7CC
|
|
|
|
thumb_func_start sub_801D808
|
|
sub_801D808:
|
|
push {lr}
|
|
bl sub_80244E4
|
|
cmp r0, 0x1
|
|
bls _0801D820
|
|
cmp r0, 0x3
|
|
bhi _0801D820
|
|
bl sub_802453C
|
|
movs r0, 0x1
|
|
bl sub_801D208
|
|
_0801D820:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801D808
|
|
|
|
thumb_func_start sub_801D824
|
|
sub_801D824:
|
|
push {lr}
|
|
bl sub_801BF48
|
|
cmp r0, 0x1
|
|
bls _0801D83C
|
|
cmp r0, 0x3
|
|
bhi _0801D83C
|
|
bl sub_801BF98
|
|
movs r0, 0x1
|
|
bl sub_801D208
|
|
_0801D83C:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801D824
|
|
|
|
thumb_func_start sub_801D840
|
|
sub_801D840:
|
|
push {lr}
|
|
bl sub_80217EC
|
|
cmp r0, 0x1
|
|
bls _0801D858
|
|
cmp r0, 0x3
|
|
bhi _0801D858
|
|
bl sub_8021830
|
|
movs r0, 0x1
|
|
bl sub_801D208
|
|
_0801D858:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801D840
|
|
|
|
thumb_func_start sub_801D85C
|
|
sub_801D85C:
|
|
push {lr}
|
|
bl sub_802C898
|
|
cmp r0, 0x1
|
|
bls _0801D874
|
|
cmp r0, 0x3
|
|
bhi _0801D874
|
|
bl sub_802C8F4
|
|
movs r0, 0x1
|
|
bl sub_801D208
|
|
_0801D874:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801D85C
|
|
|
|
thumb_func_start sub_801D878
|
|
sub_801D878:
|
|
push {lr}
|
|
bl sub_801DCE8
|
|
cmp r0, 0x1
|
|
bls _0801D890
|
|
cmp r0, 0x3
|
|
bhi _0801D890
|
|
bl sub_801DD50
|
|
movs r0, 0x1
|
|
bl sub_801D208
|
|
_0801D890:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801D878
|
|
|
|
thumb_func_start sub_801D894
|
|
sub_801D894:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x68
|
|
ldr r0, _0801D8A8
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, 0x6]
|
|
cmp r0, 0
|
|
bne _0801D8AC
|
|
bl sub_8098FB4
|
|
b _0801D8B2
|
|
.align 2, 0
|
|
_0801D8A8: .4byte gUnknown_203B250
|
|
_0801D8AC:
|
|
ldrb r0, [r1, 0x6]
|
|
bl sub_8092524
|
|
_0801D8B2:
|
|
add r2, sp, 0x68
|
|
add r1, sp, 0x4
|
|
movs r3, 0
|
|
bl xxx_format_string
|
|
add r0, sp, 0x4
|
|
bl sub_8008ED0
|
|
movs r4, 0x80
|
|
subs r4, r0
|
|
lsrs r0, r4, 31
|
|
adds r4, r0
|
|
asrs r4, 1
|
|
movs r0, 0x1
|
|
bl sub_8008C54
|
|
movs r0, 0x1
|
|
bl sub_80073B8
|
|
movs r6, 0
|
|
str r6, [sp]
|
|
adds r0, r4, 0
|
|
movs r1, 0x4
|
|
add r2, sp, 0x4
|
|
movs r3, 0x1
|
|
bl xxx_call_draw_string
|
|
movs r0, 0x1
|
|
bl sub_80073E0
|
|
movs r0, 0x2
|
|
bl sub_8008C54
|
|
movs r0, 0x2
|
|
bl sub_80073B8
|
|
movs r0, 0x2
|
|
movs r1, 0x8
|
|
movs r2, 0x6
|
|
bl sub_801D970
|
|
ldr r5, _0801D964
|
|
bl sub_8092178
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80921A8
|
|
adds r4, r0, 0
|
|
bl sub_8092110
|
|
adds r3, r0, 0
|
|
add r0, sp, 0x4
|
|
adds r1, r5, 0
|
|
adds r2, r4, 0
|
|
bl sub_800D158
|
|
str r6, [sp]
|
|
movs r0, 0x20
|
|
movs r1, 0x4
|
|
add r2, sp, 0x4
|
|
movs r3, 0x2
|
|
bl xxx_call_draw_string
|
|
ldr r1, _0801D968
|
|
ldr r0, _0801D96C
|
|
ldr r0, [r0]
|
|
movs r2, 0x98
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
ldr r2, [r0]
|
|
add r0, sp, 0x4
|
|
bl sub_800D158
|
|
str r6, [sp]
|
|
movs r0, 0x20
|
|
movs r1, 0x12
|
|
add r2, sp, 0x4
|
|
movs r3, 0x2
|
|
bl xxx_call_draw_string
|
|
movs r0, 0x2
|
|
bl sub_80073E0
|
|
add sp, 0x68
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801D964: .4byte gUnknown_80DBF3C
|
|
_0801D968: .4byte gUnknown_80DBF4C
|
|
_0801D96C: .4byte gUnknown_203B460
|
|
thumb_func_end sub_801D894
|
|
|
|
thumb_func_start sub_801D970
|
|
sub_801D970:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0xC
|
|
mov r8, r0
|
|
mov r9, r1
|
|
mov r10, r2
|
|
ldr r0, _0801D9DC
|
|
ldr r1, _0801D9E0
|
|
bl OpenFileAndGetFileDataPtr
|
|
adds r7, r0, 0
|
|
ldr r0, [r7, 0x4]
|
|
ldr r6, [r0]
|
|
ldr r5, [r0, 0x4]
|
|
movs r4, 0
|
|
_0801D994:
|
|
adds r0, r4, 0
|
|
adds r0, 0xE0
|
|
adds r1, r5, 0
|
|
bl SetBGPaletteBufferColorArray
|
|
adds r5, 0x4
|
|
adds r4, 0x1
|
|
cmp r4, 0xF
|
|
ble _0801D994
|
|
bl sub_8092178
|
|
lsls r0, 24
|
|
lsrs r0, 17
|
|
adds r6, r0
|
|
movs r0, 0x10
|
|
str r0, [sp]
|
|
str r6, [sp, 0x4]
|
|
movs r0, 0xE
|
|
str r0, [sp, 0x8]
|
|
mov r0, r8
|
|
mov r1, r9
|
|
mov r2, r10
|
|
movs r3, 0x10
|
|
bl sub_8007E20
|
|
adds r0, r7, 0
|
|
bl CloseFile
|
|
add sp, 0xC
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801D9DC: .4byte gUnknown_80DBF60
|
|
_0801D9E0: .4byte gUnknown_8380000
|
|
thumb_func_end sub_801D970
|
|
|
|
thumb_func_start sub_801D9E4
|
|
sub_801D9E4:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0801DA50
|
|
movs r0, 0xA0
|
|
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, _0801DA54
|
|
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
|
|
ldr r0, [r4]
|
|
ldr r3, [r0, 0x34]
|
|
movs r1, 0xE5
|
|
movs r2, 0xA
|
|
bl sub_8013818
|
|
bl sub_801DB54
|
|
bl sub_801DBD4
|
|
movs r0, 0x1
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801DA50: .4byte gUnknown_203B258
|
|
_0801DA54: .4byte gUnknown_80DBF88
|
|
thumb_func_end sub_801D9E4
|
|
|
|
thumb_func_start sub_801DA58
|
|
sub_801DA58:
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
ldr r0, _0801DA74
|
|
ldr r0, [r0]
|
|
bl sub_8013878
|
|
bl sub_801DB54
|
|
bl sub_801DBD4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801DA74: .4byte gUnknown_203B258
|
|
thumb_func_end sub_801DA58
|
|
|
|
thumb_func_start sub_801DA78
|
|
sub_801DA78:
|
|
push {r4,lr}
|
|
ldr r4, _0801DA94
|
|
ldr r0, [r4]
|
|
bl GetKeyPress
|
|
cmp r0, 0x1
|
|
beq _0801DA98
|
|
cmp r0, 0x2
|
|
bne _0801DA9C
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0801DAB8
|
|
.align 2, 0
|
|
_0801DA94: .4byte gUnknown_203B258
|
|
_0801DA98:
|
|
movs r0, 0x3
|
|
b _0801DAB8
|
|
_0801DA9C:
|
|
ldr r0, [r4]
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801DAAE
|
|
movs r0, 0
|
|
b _0801DAB8
|
|
_0801DAAE:
|
|
bl sub_801DB54
|
|
bl sub_801DBD4
|
|
movs r0, 0x1
|
|
_0801DAB8:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801DA78
|
|
|
|
thumb_func_start sub_801DAC0
|
|
sub_801DAC0:
|
|
ldr r0, _0801DAD8
|
|
ldr r1, [r0]
|
|
ldrh r2, [r1, 0x1E]
|
|
ldrh r0, [r1, 0x1C]
|
|
adds r3, r0, 0
|
|
muls r3, r2
|
|
adds r0, r3, 0
|
|
ldrh r1, [r1, 0x18]
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bx lr
|
|
.align 2, 0
|
|
_0801DAD8: .4byte gUnknown_203B258
|
|
thumb_func_end sub_801DAC0
|
|
|
|
thumb_func_start sub_801DADC
|
|
sub_801DADC:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r5, _0801DB08
|
|
ldr r0, [r5]
|
|
movs r1, 0xE5
|
|
strh r1, [r0, 0x22]
|
|
bl sub_8013984
|
|
bl sub_801DB54
|
|
bl sub_801DBD4
|
|
cmp r4, 0
|
|
beq _0801DB02
|
|
ldr r0, [r5]
|
|
bl AddMenuCursorSprite
|
|
_0801DB02:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801DB08: .4byte gUnknown_203B258
|
|
thumb_func_end sub_801DADC
|
|
|
|
thumb_func_start sub_801DB0C
|
|
sub_801DB0C:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0801DB4C
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0801DB46
|
|
ldr r0, [r2, 0x34]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x3C
|
|
ldr r0, _0801DB50
|
|
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]
|
|
_0801DB46:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801DB4C: .4byte gUnknown_203B258
|
|
_0801DB50: .4byte gUnknown_80DBF70
|
|
thumb_func_end sub_801DB0C
|
|
|
|
thumb_func_start sub_801DB54
|
|
sub_801DB54:
|
|
push {r4,lr}
|
|
ldr r4, _0801DBD0
|
|
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
|
|
_0801DBD0: .4byte gUnknown_203B258
|
|
thumb_func_end sub_801DB54
|
|
|
|
thumb_func_start sub_801DBD4
|
|
sub_801DBD4:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
ldr r5, _0801DCB4
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_8008C54
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_80073B8
|
|
ldr r2, _0801DCB8
|
|
ldr r0, [r5]
|
|
ldr r3, [r0, 0x34]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
ldr r1, [r5]
|
|
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 r6, 0
|
|
ldr r0, [r5]
|
|
movs r1, 0x1A
|
|
ldrsh r0, [r0, r1]
|
|
cmp r6, r0
|
|
bge _0801DC9C
|
|
adds r7, r5, 0
|
|
mov r8, r6
|
|
_0801DC34:
|
|
ldr r0, [r7]
|
|
ldrh r2, [r0, 0x1E]
|
|
ldrh r1, [r0, 0x1C]
|
|
adds r3, r2, 0
|
|
muls r3, r1
|
|
adds r1, r3, 0
|
|
adds r1, r6
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
lsls r5, r1, 1
|
|
adds r5, r1
|
|
lsls r5, 2
|
|
ldr r1, _0801DCBC
|
|
adds r5, r1
|
|
movs r2, 0x4
|
|
ldrsh r1, [r5, r2]
|
|
lsls r4, r1, 3
|
|
subs r4, r1
|
|
lsls r4, 2
|
|
ldr r1, _0801DCC0
|
|
adds r4, r1
|
|
adds r1, r6, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r2, [r4]
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x34]
|
|
mov r0, r8
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
bl xxx_call_draw_string
|
|
ldr r0, [r7]
|
|
adds r1, r6, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r2, [r5, 0x8]
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x34]
|
|
mov r0, r8
|
|
str r0, [sp]
|
|
movs r0, 0x3E
|
|
bl xxx_call_draw_string
|
|
adds r6, 0x1
|
|
ldr r0, [r7]
|
|
movs r1, 0x1A
|
|
ldrsh r0, [r0, r1]
|
|
cmp r6, r0
|
|
blt _0801DC34
|
|
_0801DC9C:
|
|
ldr r0, _0801DCB4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_80073E0
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801DCB4: .4byte gUnknown_203B258
|
|
_0801DCB8: .4byte gUnknown_80DBFA0
|
|
_0801DCBC: .4byte gUnknown_811BAF4
|
|
_0801DCC0: .4byte gUnknown_81188F0
|
|
thumb_func_end sub_801DBD4
|
|
|
|
thumb_func_start sub_801DCC4
|
|
sub_801DCC4:
|
|
push {r4,lr}
|
|
ldr r4, _0801DCE4
|
|
movs r0, 0x8E
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
movs r0, 0
|
|
bl sub_801DD6C
|
|
movs r0, 0x1
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801DCE4: .4byte gUnknown_203B25C
|
|
thumb_func_end sub_801DCC4
|
|
|
|
thumb_func_start sub_801DCE8
|
|
sub_801DCE8:
|
|
push {lr}
|
|
ldr r0, _0801DD00
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x7
|
|
bhi _0801DD48
|
|
lsls r0, 2
|
|
ldr r1, _0801DD04
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801DD00: .4byte gUnknown_203B25C
|
|
_0801DD04: .4byte _0801DD08
|
|
.align 2, 0
|
|
_0801DD08:
|
|
.4byte _0801DD2C
|
|
.4byte _0801DD2C
|
|
.4byte _0801DD28
|
|
.4byte _0801DD32
|
|
.4byte _0801DD32
|
|
.4byte _0801DD38
|
|
.4byte _0801DD3E
|
|
.4byte _0801DD44
|
|
_0801DD28:
|
|
movs r0, 0x3
|
|
b _0801DD4A
|
|
_0801DD2C:
|
|
bl sub_801E028
|
|
b _0801DD48
|
|
_0801DD32:
|
|
bl sub_801E088
|
|
b _0801DD48
|
|
_0801DD38:
|
|
bl sub_801E0E0
|
|
b _0801DD48
|
|
_0801DD3E:
|
|
bl sub_801E0FC
|
|
b _0801DD48
|
|
_0801DD44:
|
|
bl sub_801E138
|
|
_0801DD48:
|
|
movs r0, 0
|
|
_0801DD4A:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801DCE8
|
|
|
|
thumb_func_start sub_801DD50
|
|
sub_801DD50:
|
|
push {r4,lr}
|
|
ldr r4, _0801DD68
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0801DD62
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0801DD62:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801DD68: .4byte gUnknown_203B25C
|
|
thumb_func_end sub_801DD50
|
|
|
|
thumb_func_start sub_801DD6C
|
|
sub_801DD6C:
|
|
push {lr}
|
|
ldr r1, _0801DD80
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_801DD84
|
|
bl sub_801DED0
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801DD80: .4byte gUnknown_203B25C
|
|
thumb_func_end sub_801DD6C
|
|
|
|
thumb_func_start sub_801DD84
|
|
sub_801DD84:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
ldr r4, _0801DDAC
|
|
ldr r0, [r4]
|
|
adds r0, 0xBC
|
|
bl sub_8006518
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0801DDB4
|
|
cmp r0, 0x1
|
|
beq _0801DE38
|
|
movs r3, 0
|
|
adds r7, r4, 0
|
|
ldr r2, _0801DDB0
|
|
b _0801DE90
|
|
.align 2, 0
|
|
_0801DDAC: .4byte gUnknown_203B25C
|
|
_0801DDB0: .4byte gUnknown_80DBFB0
|
|
_0801DDB4:
|
|
bl sub_801DFA4
|
|
movs r3, 0
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0xAC
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _0801DDCE
|
|
ldr r0, [r1, 0x70]
|
|
str r0, [r1, 0x18]
|
|
adds r7, r4, 0
|
|
b _0801DDF2
|
|
_0801DDCE:
|
|
adds r3, 0x1
|
|
ldr r7, _0801DE2C
|
|
cmp r3, 0x7
|
|
bgt _0801DDF2
|
|
ldr r2, [r7]
|
|
lsls r0, r3, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0xAC
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _0801DDCE
|
|
lsls r0, r3, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x70
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x18]
|
|
_0801DDF2:
|
|
ldr r0, _0801DE30
|
|
mov r9, r0
|
|
ldr r2, _0801DE2C
|
|
mov r12, r2
|
|
ldr r3, _0801DE34
|
|
mov r8, r3
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
_0801DE02:
|
|
mov r4, r12
|
|
ldr r1, [r4]
|
|
adds r1, r2
|
|
adds r1, 0xBC
|
|
mov r0, r8
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
adds r2, 0x18
|
|
subs r3, 0x1
|
|
cmp r3, 0
|
|
bge _0801DE02
|
|
ldr r1, [r7]
|
|
adds r1, 0xBC
|
|
mov r0, r9
|
|
ldm r0!, {r2,r5,r6}
|
|
stm r1!, {r2,r5,r6}
|
|
ldm r0!, {r3-r5}
|
|
stm r1!, {r3-r5}
|
|
b _0801DE70
|
|
.align 2, 0
|
|
_0801DE2C: .4byte gUnknown_203B25C
|
|
_0801DE30: .4byte gUnknown_80DBFCC
|
|
_0801DE34: .4byte gUnknown_80DBFB0
|
|
_0801DE38:
|
|
bl sub_801DFA4
|
|
mov r8, r4
|
|
ldr r6, _0801DE88
|
|
mov r12, r6
|
|
mov r7, r8
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
_0801DE48:
|
|
mov r0, r8
|
|
ldr r1, [r0]
|
|
adds r1, r2
|
|
adds r1, 0xBC
|
|
mov r0, r12
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
adds r2, 0x18
|
|
subs r3, 0x1
|
|
cmp r3, 0
|
|
bge _0801DE48
|
|
ldr r1, [r7]
|
|
adds r1, 0xBC
|
|
ldr r0, _0801DE8C
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2,r5,r6}
|
|
stm r1!, {r2,r5,r6}
|
|
_0801DE70:
|
|
ldr r1, [r7]
|
|
adds r0, r1, 0
|
|
adds r0, 0xBC
|
|
adds r1, 0x6C
|
|
bl sub_8012CAC
|
|
ldr r0, [r7]
|
|
adds r0, 0xC8
|
|
movs r1, 0xA
|
|
strh r1, [r0]
|
|
b _0801DEAC
|
|
.align 2, 0
|
|
_0801DE88: .4byte gUnknown_80DBFB0
|
|
_0801DE8C: .4byte gUnknown_80DBFCC
|
|
_0801DE90:
|
|
ldr r0, [r7]
|
|
lsls r1, r3, 1
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
adds r0, 0xBC
|
|
adds r1, r2, 0
|
|
ldm r1!, {r4-r6}
|
|
stm r0!, {r4-r6}
|
|
ldm r1!, {r4-r6}
|
|
stm r0!, {r4-r6}
|
|
adds r3, 0x1
|
|
cmp r3, 0x3
|
|
ble _0801DE90
|
|
_0801DEAC:
|
|
bl sub_8004914
|
|
ldr r0, _0801DECC
|
|
ldr r0, [r0]
|
|
adds r0, 0xBC
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801DECC: .4byte gUnknown_203B25C
|
|
thumb_func_end sub_801DD84
|
|
|
|
thumb_func_start sub_801DED0
|
|
sub_801DED0:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x14
|
|
ldr r1, _0801DEEC
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r3, r1, 0
|
|
cmp r0, 0x7
|
|
bhi _0801DF94
|
|
lsls r0, 2
|
|
ldr r1, _0801DEF0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801DEEC: .4byte gUnknown_203B25C
|
|
_0801DEF0: .4byte _0801DEF4
|
|
.align 2, 0
|
|
_0801DEF4:
|
|
.4byte _0801DF14
|
|
.4byte _0801DF14
|
|
.4byte _0801DF94
|
|
.4byte _0801DF38
|
|
.4byte _0801DF40
|
|
.4byte _0801DF48
|
|
.4byte _0801DF52
|
|
.4byte _0801DF70
|
|
_0801DF14:
|
|
ldr r2, [r3]
|
|
ldr r0, _0801DF34
|
|
str r0, [r2, 0x1C]
|
|
adds r0, r2, 0
|
|
adds r0, 0x1C
|
|
adds r1, r2, 0
|
|
adds r1, 0x6C
|
|
adds r3, r2, 0
|
|
adds r3, 0xAC
|
|
ldr r2, [r2, 0x18]
|
|
str r2, [sp]
|
|
movs r2, 0
|
|
str r2, [sp, 0x4]
|
|
bl sub_8012D60
|
|
b _0801DF94
|
|
.align 2, 0
|
|
_0801DF34: .4byte gUnknown_80DBFE4
|
|
_0801DF38:
|
|
movs r0, 0
|
|
bl sub_801E3F0
|
|
b _0801DF94
|
|
_0801DF40:
|
|
movs r0, 0x1
|
|
bl sub_801E510
|
|
b _0801DF94
|
|
_0801DF48:
|
|
ldr r0, [r3]
|
|
ldr r0, [r0, 0x4]
|
|
bl sub_801E658
|
|
b _0801DF94
|
|
_0801DF52:
|
|
ldr r1, [r3]
|
|
ldr r0, _0801DF6C
|
|
adds r1, 0x8
|
|
ldr r0, [r0]
|
|
ldm r0!, {r2,r4,r5}
|
|
stm r1!, {r2,r4,r5}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
ldr r0, [r3]
|
|
adds r0, 0x8
|
|
bl sub_801E198
|
|
b _0801DF94
|
|
.align 2, 0
|
|
_0801DF6C: .4byte gUnknown_203B46C
|
|
_0801DF70:
|
|
bl sub_801DFE4
|
|
ldr r0, _0801DF9C
|
|
ldr r1, _0801DFA0
|
|
ldr r3, [r1]
|
|
adds r3, 0x6C
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
movs r1, 0x20
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x4
|
|
bl sub_8014248
|
|
_0801DF94:
|
|
add sp, 0x14
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801DF9C: .4byte gUnknown_80DBFEC
|
|
_0801DFA0: .4byte gUnknown_203B25C
|
|
thumb_func_end sub_801DED0
|
|
|
|
thumb_func_start sub_801DFA4
|
|
sub_801DFA4:
|
|
push {r4,lr}
|
|
ldr r4, _0801DFD8
|
|
ldr r0, [r4]
|
|
adds r0, 0xAC
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r0, [r4]
|
|
movs r3, 0
|
|
ldr r1, _0801DFDC
|
|
str r1, [r0, 0x6C]
|
|
movs r1, 0x3
|
|
str r1, [r0, 0x70]
|
|
movs r2, 0x1
|
|
ldr r1, _0801DFE0
|
|
str r1, [r0, 0x74]
|
|
movs r1, 0x2
|
|
str r1, [r0, 0x78]
|
|
str r3, [r0, 0x7C]
|
|
adds r0, 0x80
|
|
str r2, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801DFD8: .4byte gUnknown_203B25C
|
|
_0801DFDC: .4byte gUnknown_80DC000
|
|
_0801DFE0: .4byte gUnknown_80DC010
|
|
thumb_func_end sub_801DFA4
|
|
|
|
thumb_func_start sub_801DFE4
|
|
sub_801DFE4:
|
|
push {r4,lr}
|
|
ldr r4, _0801E01C
|
|
ldr r0, [r4]
|
|
adds r0, 0xAC
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r1, [r4]
|
|
movs r3, 0
|
|
ldr r0, _0801E020
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x6C]
|
|
movs r0, 0x4
|
|
str r0, [r1, 0x70]
|
|
movs r2, 0x1
|
|
ldr r0, _0801E024
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x74]
|
|
movs r0, 0x5
|
|
str r0, [r1, 0x78]
|
|
str r3, [r1, 0x7C]
|
|
adds r1, 0x80
|
|
str r2, [r1]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801E01C: .4byte gUnknown_203B25C
|
|
_0801E020: .4byte gUnknown_80D4920
|
|
_0801E024: .4byte gUnknown_80D4928
|
|
thumb_func_end sub_801DFE4
|
|
|
|
thumb_func_start sub_801E028
|
|
sub_801E028:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r4, _0801E060
|
|
ldr r0, [r4]
|
|
adds r0, 0x1C
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801E050
|
|
ldr r0, [r4]
|
|
adds r0, 0x1C
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [r4]
|
|
ldr r0, [sp]
|
|
str r0, [r1, 0x18]
|
|
_0801E050:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _0801E06A
|
|
cmp r0, 0x2
|
|
bgt _0801E064
|
|
cmp r0, 0x1
|
|
beq _0801E07A
|
|
b _0801E080
|
|
.align 2, 0
|
|
_0801E060: .4byte gUnknown_203B25C
|
|
_0801E064:
|
|
cmp r0, 0x3
|
|
beq _0801E072
|
|
b _0801E080
|
|
_0801E06A:
|
|
movs r0, 0x3
|
|
bl sub_801DD6C
|
|
b _0801E080
|
|
_0801E072:
|
|
movs r0, 0x6
|
|
bl sub_801DD6C
|
|
b _0801E080
|
|
_0801E07A:
|
|
movs r0, 0x2
|
|
bl sub_801DD6C
|
|
_0801E080:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801E028
|
|
|
|
thumb_func_start sub_801E088
|
|
sub_801E088:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_801E474
|
|
cmp r0, 0x4
|
|
bhi _0801E0DA
|
|
lsls r0, 2
|
|
ldr r1, _0801E0A0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801E0A0: .4byte _0801E0A4
|
|
.align 2, 0
|
|
_0801E0A4:
|
|
.4byte _0801E0DA
|
|
.4byte _0801E0DA
|
|
.4byte _0801E0D0
|
|
.4byte _0801E0B8
|
|
.4byte _0801E0B8
|
|
_0801E0B8:
|
|
bl sub_801E4F4
|
|
ldr r1, _0801E0CC
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0x5
|
|
bl sub_801DD6C
|
|
b _0801E0DA
|
|
.align 2, 0
|
|
_0801E0CC: .4byte gUnknown_203B25C
|
|
_0801E0D0:
|
|
bl sub_801E54C
|
|
movs r0, 0x1
|
|
bl sub_801DD6C
|
|
_0801E0DA:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801E088
|
|
|
|
thumb_func_start sub_801E0E0
|
|
sub_801E0E0:
|
|
push {lr}
|
|
bl sub_801E6CC
|
|
cmp r0, 0x1
|
|
bls _0801E0F8
|
|
cmp r0, 0x3
|
|
bhi _0801E0F8
|
|
bl sub_801E724
|
|
movs r0, 0x4
|
|
bl sub_801DD6C
|
|
_0801E0F8:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801E0E0
|
|
|
|
thumb_func_start sub_801E0FC
|
|
sub_801E0FC:
|
|
push {lr}
|
|
bl sub_801E218
|
|
cmp r0, 0x1
|
|
bls _0801E132
|
|
cmp r0, 0x3
|
|
bhi _0801E132
|
|
bl sub_801E2C4
|
|
ldr r0, _0801E128
|
|
ldr r0, [r0]
|
|
adds r0, 0x8
|
|
bl sub_80949DC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801E12C
|
|
movs r0, 0x1
|
|
bl sub_801DD6C
|
|
b _0801E132
|
|
.align 2, 0
|
|
_0801E128: .4byte gUnknown_203B25C
|
|
_0801E12C:
|
|
movs r0, 0x7
|
|
bl sub_801DD6C
|
|
_0801E132:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801E0FC
|
|
|
|
thumb_func_start sub_801E138
|
|
sub_801E138:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0801E18E
|
|
ldr r0, [sp]
|
|
cmp r0, 0x4
|
|
beq _0801E15C
|
|
cmp r0, 0x4
|
|
bgt _0801E156
|
|
cmp r0, 0x1
|
|
beq _0801E188
|
|
b _0801E18E
|
|
_0801E156:
|
|
cmp r0, 0x5
|
|
beq _0801E188
|
|
b _0801E18E
|
|
_0801E15C:
|
|
ldr r1, _0801E180
|
|
ldr r0, _0801E184
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
adds r0, 0x8
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
bl sub_8094C14
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0x1
|
|
bl sub_801DD6C
|
|
b _0801E18E
|
|
.align 2, 0
|
|
_0801E180: .4byte gUnknown_203B46C
|
|
_0801E184: .4byte gUnknown_203B25C
|
|
_0801E188:
|
|
movs r0, 0x1
|
|
bl sub_801DD6C
|
|
_0801E18E:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801E138
|
|
|
|
thumb_func_start sub_801E198
|
|
sub_801E198:
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
ldr r4, _0801E210
|
|
movs r0, 0xAC
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
stm r0!, {r5}
|
|
bl sub_801317C
|
|
ldr r1, [r4]
|
|
movs r0, 0
|
|
str r0, [r1, 0x44]
|
|
adds r0, r1, 0
|
|
adds r0, 0x4C
|
|
str r0, [r1, 0x48]
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
ldr r2, [r1, 0x44]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x4C
|
|
ldr r0, _0801E214
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x48]
|
|
movs r1, 0x1
|
|
bl sub_8012D08
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x4C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x10
|
|
ldr r3, [r1, 0x44]
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_8013818
|
|
bl nullsub_38
|
|
bl sub_801E310
|
|
movs r0, 0x1
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801E210: .4byte gUnknown_203B260
|
|
_0801E214: .4byte gUnknown_80DC03C
|
|
thumb_func_end sub_801E198
|
|
|
|
thumb_func_start sub_801E218
|
|
sub_801E218:
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
bl sub_8012AE8
|
|
cmp r0, 0x2
|
|
beq _0801E238
|
|
cmp r0, 0x2
|
|
bgt _0801E22E
|
|
cmp r0, 0x1
|
|
beq _0801E242
|
|
b _0801E294
|
|
_0801E22E:
|
|
cmp r0, 0x9
|
|
beq _0801E24C
|
|
cmp r0, 0xA
|
|
beq _0801E26C
|
|
b _0801E294
|
|
_0801E238:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0801E2BE
|
|
_0801E242:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _0801E2BE
|
|
_0801E24C:
|
|
ldr r0, _0801E264
|
|
ldr r1, [r0]
|
|
movs r2, 0x28
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0
|
|
bne _0801E294
|
|
ldr r1, [r1]
|
|
ldrb r0, [r1, 0x8]
|
|
cmp r0, 0
|
|
bne _0801E268
|
|
movs r0, 0x2
|
|
b _0801E28A
|
|
.align 2, 0
|
|
_0801E264: .4byte gUnknown_203B260
|
|
_0801E268:
|
|
subs r0, 0x1
|
|
b _0801E28A
|
|
_0801E26C:
|
|
ldr r0, _0801E284
|
|
ldr r1, [r0]
|
|
movs r2, 0x28
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0
|
|
bne _0801E294
|
|
ldr r1, [r1]
|
|
ldrb r0, [r1, 0x8]
|
|
cmp r0, 0x1
|
|
bls _0801E288
|
|
strb r4, [r1, 0x8]
|
|
b _0801E28C
|
|
.align 2, 0
|
|
_0801E284: .4byte gUnknown_203B260
|
|
_0801E288:
|
|
adds r0, 0x1
|
|
_0801E28A:
|
|
strb r0, [r1, 0x8]
|
|
_0801E28C:
|
|
movs r0, 0x3
|
|
bl sub_80119D4
|
|
movs r4, 0x1
|
|
_0801E294:
|
|
ldr r0, _0801E2B8
|
|
ldr r0, [r0]
|
|
adds r0, 0x10
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801E2AA
|
|
cmp r4, 0x1
|
|
bne _0801E2BC
|
|
_0801E2AA:
|
|
bl nullsub_38
|
|
bl sub_801E310
|
|
movs r0, 0x1
|
|
b _0801E2BE
|
|
.align 2, 0
|
|
_0801E2B8: .4byte gUnknown_203B260
|
|
_0801E2BC:
|
|
movs r0, 0
|
|
_0801E2BE:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801E218
|
|
|
|
thumb_func_start sub_801E2C4
|
|
sub_801E2C4:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0801E304
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0801E2FE
|
|
ldr r0, [r2, 0x44]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x4C
|
|
ldr r0, _0801E308
|
|
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, 0x4C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0801E2FE:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801E304: .4byte gUnknown_203B260
|
|
_0801E308: .4byte gUnknown_80DC020
|
|
thumb_func_end sub_801E2C4
|
|
|
|
thumb_func_start nullsub_38
|
|
nullsub_38:
|
|
bx lr
|
|
thumb_func_end nullsub_38
|
|
|
|
thumb_func_start sub_801E310
|
|
sub_801E310:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
ldr r5, _0801E368
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x44]
|
|
bl sub_8008C54
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x44]
|
|
bl sub_80073B8
|
|
ldr r2, _0801E36C
|
|
ldr r0, [r5]
|
|
ldr r3, [r0, 0x44]
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
movs r0, 0x10
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
ldr r0, [r5]
|
|
adds r0, 0x10
|
|
movs r1, 0
|
|
bl sub_8013800
|
|
adds r6, r0, 0
|
|
ldr r2, _0801E370
|
|
ldr r0, [r5]
|
|
ldr r3, [r0, 0x44]
|
|
str r4, [sp]
|
|
movs r0, 0x8
|
|
adds r1, r6, 0
|
|
bl xxx_call_draw_string
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
cmp r0, 0x1
|
|
beq _0801E384
|
|
cmp r0, 0x1
|
|
bgt _0801E374
|
|
cmp r0, 0
|
|
beq _0801E37A
|
|
b _0801E3D6
|
|
.align 2, 0
|
|
_0801E368: .4byte gUnknown_203B260
|
|
_0801E36C: .4byte gUnknown_80DC054
|
|
_0801E370: .4byte gUnknown_80DC064
|
|
_0801E374:
|
|
cmp r0, 0x2
|
|
beq _0801E3B0
|
|
b _0801E3D6
|
|
_0801E37A:
|
|
ldr r0, _0801E380
|
|
b _0801E386
|
|
.align 2, 0
|
|
_0801E380: .4byte gUnknown_80DC084
|
|
_0801E384:
|
|
ldr r0, _0801E3AC
|
|
_0801E386:
|
|
bl sub_8008ED0
|
|
adds r4, r0, 0
|
|
ldr r1, [r5]
|
|
ldr r0, [r1, 0x44]
|
|
ldr r1, [r1]
|
|
ldrb r2, [r1, 0x8]
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, 0x50
|
|
adds r2, r6, 0
|
|
adds r2, 0xA
|
|
movs r3, 0x7
|
|
str r3, [sp]
|
|
adds r3, r4, 0
|
|
bl sub_80078A4
|
|
b _0801E3D6
|
|
.align 2, 0
|
|
_0801E3AC: .4byte gUnknown_80DC08C
|
|
_0801E3B0:
|
|
ldr r0, _0801E3E8
|
|
bl sub_8008ED0
|
|
adds r4, r0, 0
|
|
ldr r1, [r5]
|
|
ldr r0, [r1, 0x44]
|
|
ldr r1, [r1]
|
|
ldrb r2, [r1, 0x8]
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, 0x50
|
|
adds r2, r6, 0
|
|
adds r2, 0xA
|
|
movs r3, 0x7
|
|
str r3, [sp]
|
|
adds r3, r4, 0
|
|
bl sub_80078A4
|
|
_0801E3D6:
|
|
ldr r0, _0801E3EC
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x44]
|
|
bl sub_80073E0
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801E3E8: .4byte gUnknown_80DC090
|
|
_0801E3EC: .4byte gUnknown_203B260
|
|
thumb_func_end sub_801E310
|
|
|
|
thumb_func_start sub_801E3F0
|
|
sub_801E3F0:
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
ldr r4, _0801E46C
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
bne _0801E406
|
|
movs r0, 0x9C
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
_0801E406:
|
|
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, _0801E470
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x38]
|
|
movs r1, 0xA
|
|
bl sub_8012D08
|
|
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, 0xA
|
|
adds r3, r5, 0
|
|
bl sub_8013818
|
|
bl sub_801E594
|
|
bl sub_801E5E8
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801E46C: .4byte gUnknown_203B264
|
|
_0801E470: .4byte gUnknown_80DC0BC
|
|
thumb_func_end sub_801E3F0
|
|
|
|
thumb_func_start sub_801E474
|
|
sub_801E474:
|
|
push {lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801E48C
|
|
ldr r0, _0801E488
|
|
ldr r0, [r0]
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _0801E4EE
|
|
.align 2, 0
|
|
_0801E488: .4byte gUnknown_203B264
|
|
_0801E48C:
|
|
ldr r0, _0801E4A4
|
|
ldr r0, [r0]
|
|
bl GetKeyPress
|
|
cmp r0, 0x2
|
|
beq _0801E4AE
|
|
cmp r0, 0x2
|
|
bgt _0801E4A8
|
|
cmp r0, 0x1
|
|
beq _0801E4B8
|
|
b _0801E4CC
|
|
.align 2, 0
|
|
_0801E4A4: .4byte gUnknown_203B264
|
|
_0801E4A8:
|
|
cmp r0, 0x4
|
|
beq _0801E4C2
|
|
b _0801E4CC
|
|
_0801E4AE:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0801E4EE
|
|
_0801E4B8:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _0801E4EE
|
|
_0801E4C2:
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0x4
|
|
b _0801E4EE
|
|
_0801E4CC:
|
|
ldr r0, _0801E4E0
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801E4E4
|
|
movs r0, 0
|
|
b _0801E4EE
|
|
.align 2, 0
|
|
_0801E4E0: .4byte gUnknown_203B264
|
|
_0801E4E4:
|
|
bl sub_801E594
|
|
bl sub_801E5E8
|
|
movs r0, 0x1
|
|
_0801E4EE:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801E474
|
|
|
|
thumb_func_start sub_801E4F4
|
|
sub_801E4F4:
|
|
ldr r0, _0801E50C
|
|
ldr r1, [r0]
|
|
movs r0, 0x1E
|
|
ldrsh r2, [r1, r0]
|
|
movs r3, 0x1C
|
|
ldrsh r0, [r1, r3]
|
|
muls r0, r2
|
|
movs r2, 0x18
|
|
ldrsh r1, [r1, r2]
|
|
adds r0, r1
|
|
bx lr
|
|
.align 2, 0
|
|
_0801E50C: .4byte gUnknown_203B264
|
|
thumb_func_end sub_801E4F4
|
|
|
|
thumb_func_start sub_801E510
|
|
sub_801E510:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8004914
|
|
ldr r5, _0801E548
|
|
ldr r0, [r5]
|
|
adds r0, 0x3C
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
ldr r0, [r5]
|
|
bl sub_8013984
|
|
bl sub_801E594
|
|
bl sub_801E5E8
|
|
cmp r4, 0
|
|
beq _0801E542
|
|
ldr r0, [r5]
|
|
bl AddMenuCursorSprite
|
|
_0801E542:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801E548: .4byte gUnknown_203B264
|
|
thumb_func_end sub_801E510
|
|
|
|
thumb_func_start sub_801E54C
|
|
sub_801E54C:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0801E58C
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0801E586
|
|
ldr r0, [r2, 0x34]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x3C
|
|
ldr r0, _0801E590
|
|
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]
|
|
_0801E586:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801E58C: .4byte gUnknown_203B264
|
|
_0801E590: .4byte gUnknown_80DC0A0
|
|
thumb_func_end sub_801E54C
|
|
|
|
thumb_func_start sub_801E594
|
|
sub_801E594:
|
|
push {r4,lr}
|
|
ldr r4, _0801E5E4
|
|
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
|
|
_0801E5E4: .4byte gUnknown_203B264
|
|
thumb_func_end sub_801E594
|
|
|
|
thumb_func_start sub_801E5E8
|
|
sub_801E5E8:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
ldr r4, _0801E64C
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_80073B8
|
|
ldr r2, _0801E650
|
|
ldr r0, [r4]
|
|
ldr r3, [r0, 0x34]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x10
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
movs r5, 0
|
|
adds r6, r4, 0
|
|
ldr r4, _0801E654
|
|
_0801E616:
|
|
ldr r0, [r6]
|
|
adds r1, r5, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r2, [r4]
|
|
ldr r0, [r6]
|
|
ldr r3, [r0, 0x34]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
bl xxx_call_draw_string
|
|
adds r4, 0x8
|
|
adds r5, 0x1
|
|
cmp r5, 0x4
|
|
ble _0801E616
|
|
ldr r0, _0801E64C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_80073E0
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801E64C: .4byte gUnknown_203B264
|
|
_0801E650: .4byte gUnknown_80DC0D4
|
|
_0801E654: .4byte gUnknown_80DAA98
|
|
thumb_func_end sub_801E5E8
|
|
|
|
thumb_func_start sub_801E658
|
|
sub_801E658:
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
ldr r4, _0801E6C4
|
|
movs r0, 0xA0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
movs r1, 0
|
|
str r1, [r0, 0x34]
|
|
adds r1, r0, 0
|
|
adds r1, 0x3C
|
|
str r1, [r0, 0x38]
|
|
adds r0, r1, 0
|
|
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, _0801E6C8
|
|
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]
|
|
ldr r3, [r0, 0x34]
|
|
movs r1, 0x5
|
|
movs r2, 0x1
|
|
bl sub_8013818
|
|
ldr r0, [r4]
|
|
strh r5, [r0, 0x1E]
|
|
bl sub_801E714
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801E6C4: .4byte gUnknown_203B268
|
|
_0801E6C8: .4byte gUnknown_80DC0FC
|
|
thumb_func_end sub_801E658
|
|
|
|
thumb_func_start sub_801E6CC
|
|
sub_801E6CC:
|
|
push {r4,lr}
|
|
ldr r4, _0801E6E8
|
|
ldr r0, [r4]
|
|
bl GetKeyPress
|
|
cmp r0, 0x1
|
|
beq _0801E6EC
|
|
cmp r0, 0x2
|
|
bne _0801E6F6
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0801E70C
|
|
.align 2, 0
|
|
_0801E6E8: .4byte gUnknown_203B268
|
|
_0801E6EC:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _0801E70C
|
|
_0801E6F6:
|
|
ldr r0, [r4]
|
|
bl sub_8013938
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801E706
|
|
movs r0, 0
|
|
b _0801E70C
|
|
_0801E706:
|
|
bl sub_801E714
|
|
movs r0, 0x1
|
|
_0801E70C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801E6CC
|
|
|
|
thumb_func_start sub_801E714
|
|
sub_801E714:
|
|
push {lr}
|
|
bl sub_801E76C
|
|
bl sub_801E7AC
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801E714
|
|
|
|
thumb_func_start sub_801E724
|
|
sub_801E724:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0801E764
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0801E75E
|
|
ldr r0, [r2, 0x34]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x3C
|
|
ldr r0, _0801E768
|
|
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]
|
|
_0801E75E:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801E764: .4byte gUnknown_203B268
|
|
_0801E768: .4byte gUnknown_80DC0E4
|
|
thumb_func_end sub_801E724
|
|
|
|
thumb_func_start sub_801E76C
|
|
sub_801E76C:
|
|
push {r4,lr}
|
|
ldr r4, _0801E7A8
|
|
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, 0xF
|
|
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
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801E7A8: .4byte gUnknown_203B268
|
|
thumb_func_end sub_801E76C
|
|
|
|
thumb_func_start sub_801E7AC
|
|
sub_801E7AC:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
ldr r5, _0801E804
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_80073B8
|
|
ldr r3, [r5]
|
|
movs r0, 0x1E
|
|
ldrsh r1, [r3, r0]
|
|
lsls r1, 3
|
|
adds r0, r1, 0
|
|
adds r0, 0x10
|
|
ldr r4, _0801E808
|
|
adds r1, r4
|
|
ldr r2, [r1]
|
|
ldr r3, [r3, 0x34]
|
|
movs r6, 0
|
|
str r6, [sp]
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
ldr r1, [r5]
|
|
movs r2, 0x1E
|
|
ldrsh r0, [r1, r2]
|
|
lsls r0, 3
|
|
adds r4, 0x4
|
|
adds r0, r4
|
|
ldr r2, [r0]
|
|
ldr r3, [r1, 0x34]
|
|
str r6, [sp]
|
|
movs r0, 0xA
|
|
movs r1, 0x14
|
|
bl xxx_call_draw_string
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_80073E0
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801E804: .4byte gUnknown_203B268
|
|
_0801E808: .4byte gUnknown_80DAA98
|
|
thumb_func_end sub_801E7AC
|
|
|
|
thumb_func_start sub_801E80C
|
|
sub_801E80C:
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
mov r8, r0
|
|
adds r4, r1, 0
|
|
adds r6, r2, 0
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
ldr r5, _0801E84C
|
|
movs r0, 0xC6
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
adds r2, r0, 0
|
|
str r2, [r5]
|
|
mov r0, r8
|
|
str r0, [r2]
|
|
strh r4, [r2, 0xC]
|
|
str r6, [r2, 0x10]
|
|
ldrh r0, [r6, 0x22]
|
|
strh r0, [r2, 0x1C]
|
|
mov r1, r8
|
|
cmp r1, 0
|
|
bne _0801E850
|
|
movs r3, 0x94
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
movs r4, 0x8C
|
|
lsls r4, 1
|
|
adds r0, r2, r4
|
|
b _0801E858
|
|
.align 2, 0
|
|
_0801E84C: .4byte gUnknown_203B26C
|
|
_0801E850:
|
|
movs r0, 0x94
|
|
lsls r0, 1
|
|
adds r1, r2, r0
|
|
movs r0, 0
|
|
_0801E858:
|
|
str r0, [r1]
|
|
ldr r0, _0801E8B4
|
|
bl sub_808DDD0
|
|
ldr r2, _0801E8B8
|
|
ldr r3, [r2]
|
|
movs r4, 0x8C
|
|
lsls r4, 1
|
|
adds r1, r3, r4
|
|
str r0, [r1]
|
|
adds r4, 0x4
|
|
adds r1, r3, r4
|
|
ldr r0, [r0, 0x4]
|
|
str r0, [r1]
|
|
movs r1, 0x92
|
|
lsls r1, 1
|
|
adds r0, r3, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
ldr r3, _0801E8BC
|
|
adds r0, r3
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
adds r4, 0xA
|
|
adds r0, r4
|
|
strb r1, [r0]
|
|
ldr r2, [r2]
|
|
movs r0, 0x90
|
|
lsls r0, 1
|
|
adds r1, r2, r0
|
|
movs r0, 0x2
|
|
strh r0, [r1]
|
|
subs r3, 0x3
|
|
adds r1, r2, r3
|
|
movs r0, 0x8
|
|
strh r0, [r1]
|
|
movs r0, 0
|
|
bl sub_801E968
|
|
movs r0, 0x1
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801E8B4: .4byte 0x00000155
|
|
_0801E8B8: .4byte gUnknown_203B26C
|
|
_0801E8BC: .4byte 0x00000125
|
|
thumb_func_end sub_801E80C
|
|
|
|
thumb_func_start sub_801E8C0
|
|
sub_801E8C0:
|
|
push {lr}
|
|
ldr r0, _0801E8D8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
cmp r0, 0x6
|
|
bhi _0801E928
|
|
lsls r0, 2
|
|
ldr r1, _0801E8DC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801E8D8: .4byte gUnknown_203B26C
|
|
_0801E8DC: .4byte _0801E8E0
|
|
.align 2, 0
|
|
_0801E8E0:
|
|
.4byte _0801E8FC
|
|
.4byte _0801E8FC
|
|
.4byte _0801E902
|
|
.4byte _0801E908
|
|
.4byte _0801E90E
|
|
.4byte _0801E91C
|
|
.4byte _0801E924
|
|
_0801E8FC:
|
|
bl sub_801ECBC
|
|
b _0801E928
|
|
_0801E902:
|
|
bl sub_801ED28
|
|
b _0801E928
|
|
_0801E908:
|
|
bl sub_801EDA4
|
|
b _0801E928
|
|
_0801E90E:
|
|
bl sub_801EDC0
|
|
ldr r0, _0801E920
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
cmp r0, 0x5
|
|
bne _0801E928
|
|
_0801E91C:
|
|
movs r0, 0x3
|
|
b _0801E92A
|
|
.align 2, 0
|
|
_0801E920: .4byte gUnknown_203B26C
|
|
_0801E924:
|
|
movs r0, 0x2
|
|
b _0801E92A
|
|
_0801E928:
|
|
movs r0, 0
|
|
_0801E92A:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801E8C0
|
|
|
|
thumb_func_start sub_801E930
|
|
sub_801E930:
|
|
ldr r0, _0801E938
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0xE]
|
|
bx lr
|
|
.align 2, 0
|
|
_0801E938: .4byte gUnknown_203B26C
|
|
thumb_func_end sub_801E930
|
|
|
|
thumb_func_start sub_801E93C
|
|
sub_801E93C:
|
|
push {r4,lr}
|
|
ldr r4, _0801E964
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0801E95C
|
|
movs r1, 0x8C
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bl CloseFile
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0801E95C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801E964: .4byte gUnknown_203B26C
|
|
thumb_func_end sub_801E93C
|
|
|
|
thumb_func_start sub_801E968
|
|
sub_801E968:
|
|
push {lr}
|
|
ldr r1, _0801E97C
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x4]
|
|
bl sub_801E980
|
|
bl sub_801EA28
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801E97C: .4byte gUnknown_203B26C
|
|
thumb_func_end sub_801E968
|
|
|
|
thumb_func_start sub_801E980
|
|
sub_801E980:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r4, _0801E9D0
|
|
ldr r0, [r4]
|
|
movs r5, 0x96
|
|
lsls r5, 1
|
|
adds r0, r5
|
|
bl sub_8006518
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x4]
|
|
cmp r0, 0x2
|
|
bne _0801E9DC
|
|
bl sub_801EBC4
|
|
ldr r1, [r4]
|
|
movs r0, 0xA2
|
|
lsls r0, 1
|
|
adds r1, r0
|
|
ldr r0, _0801E9D4
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r6,r7}
|
|
stm r1!, {r2,r6,r7}
|
|
ldr r2, [r4]
|
|
movs r0, 0xAE
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _0801E9D8
|
|
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, 0x28
|
|
bl sub_8012CAC
|
|
b _0801EA00
|
|
.align 2, 0
|
|
_0801E9D0: .4byte gUnknown_203B26C
|
|
_0801E9D4: .4byte gUnknown_80DC11C
|
|
_0801E9D8: .4byte gUnknown_80DC134
|
|
_0801E9DC:
|
|
mov r12, r4
|
|
mov r8, r5
|
|
ldr r4, _0801EA20
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
_0801E9E6:
|
|
mov r6, r12
|
|
ldr r1, [r6]
|
|
adds r1, r2
|
|
add r1, r8
|
|
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 _0801E9E6
|
|
_0801EA00:
|
|
bl sub_8004914
|
|
ldr r0, _0801EA24
|
|
ldr r0, [r0]
|
|
movs r7, 0x96
|
|
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
|
|
_0801EA20: .4byte gUnknown_80DC11C
|
|
_0801EA24: .4byte gUnknown_203B26C
|
|
thumb_func_end sub_801E980
|
|
|
|
thumb_func_start sub_801EA28
|
|
sub_801EA28:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x14
|
|
ldr r1, _0801EA44
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x4]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x4
|
|
bls _0801EA3A
|
|
b _0801EBB8
|
|
_0801EA3A:
|
|
lsls r0, 2
|
|
ldr r1, _0801EA48
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801EA44: .4byte gUnknown_203B26C
|
|
_0801EA48: .4byte _0801EA4C
|
|
.align 2, 0
|
|
_0801EA4C:
|
|
.4byte _0801EA60
|
|
.4byte _0801EA80
|
|
.4byte _0801EA8A
|
|
.4byte _0801EAB4
|
|
.4byte _0801EACA
|
|
_0801EA60:
|
|
ldr r0, [r4]
|
|
movs r2, 0xC
|
|
ldrsh r1, [r0, r2]
|
|
ldr r2, [r0, 0x10]
|
|
ldr r0, _0801EA7C
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x2
|
|
movs r3, 0
|
|
bl sub_801EE10
|
|
b _0801EBB8
|
|
.align 2, 0
|
|
_0801EA7C: .4byte gUnknown_80DC164
|
|
_0801EA80:
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
bl sub_801F1B0
|
|
b _0801EBB8
|
|
_0801EA8A:
|
|
movs r0, 0
|
|
bl sub_801F280
|
|
ldr r0, _0801EAB0
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x78
|
|
adds r1, r2, 0
|
|
adds r1, 0x28
|
|
adds r3, r2, 0
|
|
adds r3, 0x68
|
|
ldr r2, [r2, 0x24]
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8012D60
|
|
b _0801EBB8
|
|
.align 2, 0
|
|
_0801EAB0: .4byte gUnknown_203B26C
|
|
_0801EAB4:
|
|
ldr r2, [r4]
|
|
ldr r0, [r2, 0x20]
|
|
ldr r1, [r2, 0x10]
|
|
adds r2, 0x14
|
|
bl sub_8093560
|
|
ldr r0, [r4]
|
|
adds r0, 0x14
|
|
bl sub_801F808
|
|
b _0801EBB8
|
|
_0801EACA:
|
|
bl sub_801EC7C
|
|
ldr r4, _0801EAF8
|
|
ldr r5, _0801EAFC
|
|
ldr r0, [r5]
|
|
ldrh r1, [r0, 0x1C]
|
|
adds r0, r4, 0
|
|
bl sub_8092C84
|
|
adds r4, 0x50
|
|
ldr r0, [r5]
|
|
ldrh r1, [r0, 0x1E]
|
|
adds r0, r4, 0
|
|
bl sub_8092C84
|
|
ldr r2, [r5]
|
|
ldr r3, [r2]
|
|
cmp r3, 0x1
|
|
bls _0801EB00
|
|
cmp r3, 0x2
|
|
beq _0801EB68
|
|
b _0801EBB8
|
|
.align 2, 0
|
|
_0801EAF8: .4byte gUnknown_202DF98
|
|
_0801EAFC: .4byte gUnknown_203B26C
|
|
_0801EB00:
|
|
ldrb r4, [r2, 0xE]
|
|
cmp r4, 0
|
|
beq _0801EB38
|
|
ldr r1, _0801EB34
|
|
movs r0, 0x64
|
|
muls r0, r3
|
|
adds r1, 0x30
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r3, r2, 0
|
|
adds r3, 0x28
|
|
adds r1, r2, 0
|
|
adds r1, 0x68
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
str r1, [sp, 0x8]
|
|
movs r4, 0x94
|
|
lsls r4, 1
|
|
adds r1, r2, r4
|
|
ldr r1, [r1]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
b _0801EB86
|
|
.align 2, 0
|
|
_0801EB34: .4byte gUnknown_80D8888
|
|
_0801EB38:
|
|
ldr r1, _0801EB64
|
|
movs r0, 0x64
|
|
muls r0, r3
|
|
adds r1, 0x2C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r3, r2, 0
|
|
adds r3, 0x28
|
|
adds r1, r2, 0
|
|
adds r1, 0x68
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
movs r4, 0x94
|
|
lsls r4, 1
|
|
adds r1, r2, r4
|
|
ldr r1, [r1]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
b _0801EB86
|
|
.align 2, 0
|
|
_0801EB64: .4byte gUnknown_80D8888
|
|
_0801EB68:
|
|
ldrb r4, [r2, 0xE]
|
|
cmp r4, 0
|
|
beq _0801EB98
|
|
ldr r0, _0801EB94
|
|
adds r3, r2, 0
|
|
adds r3, 0x28
|
|
adds r1, r2, 0
|
|
adds r1, 0x68
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
str r1, [sp, 0x8]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0x20
|
|
_0801EB86:
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x5
|
|
bl sub_8014248
|
|
b _0801EBB8
|
|
.align 2, 0
|
|
_0801EB94: .4byte gUnknown_80DC1A0
|
|
_0801EB98:
|
|
ldr r0, _0801EBC0
|
|
adds r3, r2, 0
|
|
adds r3, 0x28
|
|
adds r1, r2, 0
|
|
adds r1, 0x68
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
movs r1, 0x20
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x5
|
|
bl sub_8014248
|
|
_0801EBB8:
|
|
add sp, 0x14
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801EBC0: .4byte gUnknown_80DC1FC
|
|
thumb_func_end sub_801EA28
|
|
|
|
thumb_func_start sub_801EBC4
|
|
sub_801EBC4:
|
|
push {r4,r5,lr}
|
|
movs r5, 0
|
|
ldr r4, _0801EC48
|
|
ldr r0, [r4]
|
|
adds r0, 0x68
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r1, [r4]
|
|
ldr r0, _0801EC4C
|
|
str r0, [r1, 0x28]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x2C]
|
|
ldrh r0, [r1, 0x1E]
|
|
ldr r1, [r1, 0x10]
|
|
bl sub_80933A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801EBF6
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x20]
|
|
cmp r0, 0x3
|
|
ble _0801EBFE
|
|
_0801EBF6:
|
|
ldr r0, [r4]
|
|
adds r0, 0x68
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_0801EBFE:
|
|
adds r5, 0x1
|
|
ldr r4, _0801EC48
|
|
ldr r0, [r4]
|
|
mov r12, r0
|
|
lsls r1, r5, 3
|
|
mov r3, r12
|
|
adds r3, 0x28
|
|
adds r2, r3, r1
|
|
ldr r0, _0801EC50
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
mov r2, r12
|
|
adds r2, 0x2C
|
|
adds r1, r2, r1
|
|
movs r0, 0x3
|
|
str r0, [r1]
|
|
adds r5, 0x1
|
|
lsls r1, r5, 3
|
|
adds r3, r1
|
|
movs r0, 0
|
|
str r0, [r3]
|
|
adds r2, r1
|
|
movs r0, 0x1
|
|
str r0, [r2]
|
|
movs r3, 0
|
|
cmp r3, r5
|
|
bge _0801EC76
|
|
mov r0, r12
|
|
adds r0, 0x68
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _0801EC54
|
|
mov r1, r12
|
|
ldr r0, [r1, 0x2C]
|
|
str r0, [r1, 0x24]
|
|
b _0801EC76
|
|
.align 2, 0
|
|
_0801EC48: .4byte gUnknown_203B26C
|
|
_0801EC4C: .4byte gUnknown_80DC230
|
|
_0801EC50: .4byte gUnknown_80D4970
|
|
_0801EC54:
|
|
adds r3, 0x1
|
|
cmp r3, r5
|
|
bge _0801EC76
|
|
ldr r2, [r4]
|
|
lsls r0, r3, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0x68
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _0801EC54
|
|
lsls r0, r3, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x2C
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x24]
|
|
_0801EC76:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801EBC4
|
|
|
|
thumb_func_start sub_801EC7C
|
|
sub_801EC7C:
|
|
push {r4,lr}
|
|
ldr r4, _0801ECB0
|
|
ldr r0, [r4]
|
|
adds r0, 0x68
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r1, [r4]
|
|
movs r3, 0
|
|
ldr r0, _0801ECB4
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x28]
|
|
movs r0, 0x4
|
|
str r0, [r1, 0x2C]
|
|
movs r2, 0x1
|
|
ldr r0, _0801ECB8
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x30]
|
|
movs r0, 0x5
|
|
str r0, [r1, 0x34]
|
|
str r3, [r1, 0x38]
|
|
str r2, [r1, 0x3C]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801ECB0: .4byte gUnknown_203B26C
|
|
_0801ECB4: .4byte gUnknown_80D4920
|
|
_0801ECB8: .4byte gUnknown_80D4928
|
|
thumb_func_end sub_801EC7C
|
|
|
|
thumb_func_start sub_801ECBC
|
|
sub_801ECBC:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_801EF38
|
|
cmp r0, 0x3
|
|
beq _0801ECD8
|
|
cmp r0, 0x3
|
|
bhi _0801ECD2
|
|
cmp r0, 0x2
|
|
beq _0801ED18
|
|
b _0801ED22
|
|
_0801ECD2:
|
|
cmp r0, 0x4
|
|
beq _0801ECF8
|
|
b _0801ED22
|
|
_0801ECD8:
|
|
bl sub_801F194
|
|
ldr r1, _0801ECF4
|
|
ldr r2, [r1]
|
|
str r0, [r2, 0x20]
|
|
ldr r1, [r2, 0x10]
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
ldrh r0, [r1, 0x2]
|
|
strh r0, [r2, 0x1E]
|
|
movs r0, 0x2
|
|
bl sub_801E968
|
|
b _0801ED22
|
|
.align 2, 0
|
|
_0801ECF4: .4byte gUnknown_203B26C
|
|
_0801ECF8:
|
|
bl sub_801F194
|
|
ldr r1, _0801ED14
|
|
ldr r2, [r1]
|
|
str r0, [r2, 0x20]
|
|
ldr r1, [r2, 0x10]
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
ldrh r0, [r1, 0x2]
|
|
strh r0, [r2, 0x1E]
|
|
movs r0, 0x3
|
|
bl sub_801E968
|
|
b _0801ED22
|
|
.align 2, 0
|
|
_0801ED14: .4byte gUnknown_203B26C
|
|
_0801ED18:
|
|
bl sub_801F214
|
|
movs r0, 0x6
|
|
bl sub_801E968
|
|
_0801ED22:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801ECBC
|
|
|
|
thumb_func_start sub_801ED28
|
|
sub_801ED28:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_801EF38
|
|
ldr r4, _0801ED60
|
|
ldr r0, [r4]
|
|
adds r0, 0x78
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801ED4E
|
|
ldr r0, [r4]
|
|
adds r0, 0x78
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_0801ED4E:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _0801ED74
|
|
cmp r0, 0x2
|
|
bgt _0801ED64
|
|
cmp r0, 0x1
|
|
beq _0801ED6C
|
|
b _0801ED9A
|
|
.align 2, 0
|
|
_0801ED60: .4byte gUnknown_203B26C
|
|
_0801ED64:
|
|
cmp r0, 0x3
|
|
beq _0801ED94
|
|
cmp r0, 0x5
|
|
bne _0801ED9A
|
|
_0801ED6C:
|
|
movs r0, 0x1
|
|
bl sub_801E968
|
|
b _0801ED9A
|
|
_0801ED74:
|
|
ldr r0, _0801ED90
|
|
bl sub_8011988
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x20]
|
|
ldr r1, [r1, 0x10]
|
|
bl sub_80934B0
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0xE]
|
|
movs r0, 0x4
|
|
bl sub_801E968
|
|
b _0801ED9A
|
|
.align 2, 0
|
|
_0801ED90: .4byte 0x00000133
|
|
_0801ED94:
|
|
movs r0, 0x3
|
|
bl sub_801E968
|
|
_0801ED9A:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801ED28
|
|
|
|
thumb_func_start sub_801EDA4
|
|
sub_801EDA4:
|
|
push {lr}
|
|
bl sub_801F890
|
|
cmp r0, 0x1
|
|
bls _0801EDBC
|
|
cmp r0, 0x3
|
|
bhi _0801EDBC
|
|
bl sub_801F8D0
|
|
movs r0, 0x1
|
|
bl sub_801E968
|
|
_0801EDBC:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801EDA4
|
|
|
|
thumb_func_start sub_801EDC0
|
|
sub_801EDC0:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0801EE06
|
|
ldr r0, [sp]
|
|
cmp r0, 0x4
|
|
beq _0801EDE4
|
|
cmp r0, 0x4
|
|
bgt _0801EDDE
|
|
cmp r0, 0x1
|
|
beq _0801EE00
|
|
b _0801EE06
|
|
_0801EDDE:
|
|
cmp r0, 0x5
|
|
beq _0801EE00
|
|
b _0801EE06
|
|
_0801EDE4:
|
|
bl sub_801F214
|
|
ldr r4, _0801EDFC
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x10]
|
|
ldr r1, [r1, 0x20]
|
|
bl sub_8093CF8
|
|
ldr r1, [r4]
|
|
movs r0, 0x5
|
|
str r0, [r1, 0x4]
|
|
b _0801EE06
|
|
.align 2, 0
|
|
_0801EDFC: .4byte gUnknown_203B26C
|
|
_0801EE00:
|
|
movs r0, 0x1
|
|
bl sub_801E968
|
|
_0801EE06:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801EDC0
|
|
|
|
thumb_func_start sub_801EE10
|
|
sub_801EE10:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
adds r6, r0, 0
|
|
mov r9, r2
|
|
adds r4, r3, 0
|
|
ldr r0, [sp, 0x20]
|
|
mov r8, r0
|
|
lsls r1, 16
|
|
asrs r7, r1, 16
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r5, _0801EF28
|
|
movs r0, 0xBC
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r2, 0
|
|
strb r4, [r0, 0x4]
|
|
ldr r0, [r5]
|
|
movs r1, 0x1
|
|
strb r1, [r0, 0x5]
|
|
ldr r0, [r5]
|
|
strb r1, [r0, 0x6]
|
|
ldr r0, [r5]
|
|
strb r1, [r0, 0x7]
|
|
ldr r0, [r5]
|
|
str r6, [r0]
|
|
cmp r6, 0x1
|
|
bls _0801EE5E
|
|
cmp r6, 0x3
|
|
bhi _0801EE5E
|
|
strb r2, [r0, 0x5]
|
|
ldr r0, [r5]
|
|
strb r2, [r0, 0x6]
|
|
ldr r0, [r5]
|
|
strb r2, [r0, 0x7]
|
|
_0801EE5E:
|
|
ldr r4, _0801EF28
|
|
ldr r3, [r4]
|
|
ldr r2, _0801EF2C
|
|
movs r0, 0x58
|
|
adds r1, r7, 0
|
|
muls r1, r0
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
str r0, [r3, 0x8]
|
|
ldrb r0, [r0, 0x2]
|
|
strb r0, [r3, 0xC]
|
|
ldr r0, [r4]
|
|
mov r1, r9
|
|
str r1, [r0, 0x10]
|
|
adds r0, 0xB8
|
|
ldr r1, [sp, 0x1C]
|
|
str r1, [r0]
|
|
bl sub_801F3F8
|
|
adds r5, r0, 0
|
|
adds r6, r5, 0
|
|
cmp r5, 0x4
|
|
bge _0801EE8E
|
|
movs r6, 0x4
|
|
_0801EE8E:
|
|
ldr r0, [r4]
|
|
adds r0, 0x58
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
mov r2, r8
|
|
str r2, [r1, 0x50]
|
|
lsls r0, r2, 1
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x58
|
|
ldr r0, _0801EF30
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldr r0, [r4]
|
|
adds r0, 0xB8
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0801EED8
|
|
mov r0, r8
|
|
bl sub_8006544
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x54]
|
|
lsls r2, r0, 1
|
|
adds r2, r0
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
adds r1, 0x58
|
|
ldr r0, _0801EF34
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
_0801EED8:
|
|
ldr r0, [r4]
|
|
ldr r2, [r0, 0x50]
|
|
lsls r1, r2, 1
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, 0x58
|
|
adds r0, r1
|
|
adds r1, r6, 0
|
|
bl sub_8012D08
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x58
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
adds r0, 0x1C
|
|
adds r1, r5, 0
|
|
adds r2, r5, 0
|
|
mov r3, r8
|
|
bl sub_8013818
|
|
ldr r0, [r4]
|
|
adds r0, 0x1C
|
|
movs r1, 0
|
|
bl sub_8013780
|
|
movs r0, 0x1
|
|
bl sub_801F280
|
|
movs r0, 0x1
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801EF28: .4byte gUnknown_203B270
|
|
_0801EF2C: .4byte gUnknown_203B45C
|
|
_0801EF30: .4byte gUnknown_80DC25C
|
|
_0801EF34: .4byte gUnknown_80DC274
|
|
thumb_func_end sub_801EE10
|
|
|
|
thumb_func_start sub_801EF38
|
|
sub_801EF38:
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
movs r7, 0
|
|
cmp r0, 0
|
|
bne _0801EF54
|
|
ldr r0, _0801EF50
|
|
ldr r0, [r0]
|
|
adds r0, 0x1C
|
|
bl sub_8013660
|
|
b _0801F18C
|
|
.align 2, 0
|
|
_0801EF50: .4byte gUnknown_203B270
|
|
_0801EF54:
|
|
ldr r0, _0801EF70
|
|
ldr r0, [r0]
|
|
adds r0, 0x1C
|
|
bl GetKeyPress
|
|
subs r0, 0x1
|
|
cmp r0, 0xC
|
|
bls _0801EF66
|
|
b _0801F12E
|
|
_0801EF66:
|
|
lsls r0, 2
|
|
ldr r1, _0801EF74
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801EF70: .4byte gUnknown_203B270
|
|
_0801EF74: .4byte _0801EF78
|
|
.align 2, 0
|
|
_0801EF78:
|
|
.4byte _0801EFB6
|
|
.4byte _0801EFAC
|
|
.4byte _0801F0E4
|
|
.4byte _0801EFC0
|
|
.4byte _0801F12E
|
|
.4byte _0801F12E
|
|
.4byte _0801EFE4
|
|
.4byte _0801EFCA
|
|
.4byte _0801F12E
|
|
.4byte _0801F12E
|
|
.4byte _0801F074
|
|
.4byte _0801F04C
|
|
.4byte _0801F018
|
|
_0801EFAC:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0801F18E
|
|
_0801EFB6:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _0801F18E
|
|
_0801EFC0:
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0x4
|
|
b _0801F18E
|
|
_0801EFCA:
|
|
ldr r5, _0801EFE0
|
|
ldr r0, [r5]
|
|
movs r1, 0x34
|
|
ldrsh r6, [r0, r1]
|
|
adds r4, r0, 0
|
|
adds r4, 0x1C
|
|
ldr r0, [r0, 0x10]
|
|
adds r1, r6, 0
|
|
bl sub_8092E54
|
|
b _0801EFF8
|
|
.align 2, 0
|
|
_0801EFE0: .4byte gUnknown_203B270
|
|
_0801EFE4:
|
|
ldr r5, _0801F014
|
|
ldr r0, [r5]
|
|
movs r1, 0x34
|
|
ldrsh r6, [r0, r1]
|
|
adds r4, r0, 0
|
|
adds r4, 0x1C
|
|
ldr r0, [r0, 0x10]
|
|
adds r1, r6, 0
|
|
bl sub_8092EEC
|
|
_0801EFF8:
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl sub_8013780
|
|
ldr r0, [r5]
|
|
movs r2, 0x34
|
|
ldrsh r0, [r0, r2]
|
|
cmp r6, r0
|
|
bne _0801F00C
|
|
b _0801F12E
|
|
_0801F00C:
|
|
movs r0, 0x3
|
|
bl sub_80119D4
|
|
b _0801F12E
|
|
.align 2, 0
|
|
_0801F014: .4byte gUnknown_203B270
|
|
_0801F018:
|
|
ldr r0, _0801F048
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, 0x5]
|
|
adds r5, r0, 0
|
|
cmp r1, 0
|
|
bne _0801F026
|
|
b _0801F12E
|
|
_0801F026:
|
|
movs r0, 0x34
|
|
ldrsh r4, [r2, r0]
|
|
ldr r0, [r2, 0x10]
|
|
adds r1, r4, 0
|
|
bl sub_809309C
|
|
_0801F032:
|
|
ldr r1, [r5]
|
|
strh r0, [r1, 0x34]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r4, r0
|
|
beq _0801F06C
|
|
movs r0, 0x3
|
|
bl sub_80119D4
|
|
b _0801F182
|
|
.align 2, 0
|
|
_0801F048: .4byte gUnknown_203B270
|
|
_0801F04C:
|
|
ldr r0, _0801F068
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, 0x5]
|
|
adds r5, r0, 0
|
|
cmp r1, 0
|
|
beq _0801F12E
|
|
movs r1, 0x34
|
|
ldrsh r4, [r2, r1]
|
|
ldr r0, [r2, 0x10]
|
|
adds r1, r4, 0
|
|
bl sub_809324C
|
|
b _0801F032
|
|
.align 2, 0
|
|
_0801F068: .4byte gUnknown_203B270
|
|
_0801F06C:
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
b _0801F182
|
|
_0801F074:
|
|
ldr r0, _0801F0C8
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, 0x6]
|
|
adds r5, r0, 0
|
|
cmp r1, 0
|
|
beq _0801F12E
|
|
ldr r0, _0801F0CC
|
|
ldr r0, [r0]
|
|
movs r1, 0x98
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0x95
|
|
ble _0801F0D0
|
|
movs r1, 0x34
|
|
ldrsh r0, [r2, r1]
|
|
ldr r1, [r2, 0x10]
|
|
bl sub_8093318
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801F0D0
|
|
ldr r1, [r5]
|
|
movs r2, 0x34
|
|
ldrsh r0, [r1, r2]
|
|
ldr r1, [r1, 0x10]
|
|
bl sub_8093400
|
|
movs r0, 0x6
|
|
bl sub_80119D4
|
|
movs r7, 0x1
|
|
ldr r1, [r5]
|
|
ldrb r0, [r1, 0x4]
|
|
cmp r0, 0
|
|
bne _0801F12E
|
|
strb r7, [r1, 0x4]
|
|
movs r0, 0xA6
|
|
lsls r0, 1
|
|
bl sub_8011988
|
|
b _0801F12E
|
|
.align 2, 0
|
|
_0801F0C8: .4byte gUnknown_203B270
|
|
_0801F0CC: .4byte gUnknown_203B460
|
|
_0801F0D0:
|
|
ldr r0, _0801F0E0
|
|
ldr r1, [r0]
|
|
movs r2, 0x34
|
|
ldrsh r0, [r1, r2]
|
|
ldr r1, [r1, 0x10]
|
|
bl sub_8093468
|
|
b _0801F0FE
|
|
.align 2, 0
|
|
_0801F0E0: .4byte gUnknown_203B270
|
|
_0801F0E4:
|
|
ldr r0, _0801F10C
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, 0x7]
|
|
cmp r0, 0
|
|
beq _0801F12E
|
|
ldrb r0, [r1, 0xC]
|
|
cmp r0, 0
|
|
beq _0801F110
|
|
movs r2, 0x34
|
|
ldrsh r0, [r1, r2]
|
|
ldr r1, [r1, 0x10]
|
|
bl sub_80934DC
|
|
_0801F0FE:
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801F120
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
b _0801F12E
|
|
.align 2, 0
|
|
_0801F10C: .4byte gUnknown_203B270
|
|
_0801F110:
|
|
movs r2, 0x34
|
|
ldrsh r0, [r1, r2]
|
|
ldr r1, [r1, 0x10]
|
|
bl sub_8093544
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801F128
|
|
_0801F120:
|
|
movs r0, 0x6
|
|
bl sub_80119D4
|
|
b _0801F182
|
|
_0801F128:
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
_0801F12E:
|
|
cmp r7, 0
|
|
bne _0801F182
|
|
movs r3, 0
|
|
ldr r5, _0801F160
|
|
movs r4, 0x1
|
|
_0801F138:
|
|
ldr r2, [r5]
|
|
lsls r0, r3, 3
|
|
ldr r1, [r2, 0x10]
|
|
adds r1, r0
|
|
ldrb r1, [r1]
|
|
adds r0, r4, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0801F16C
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _0801F164
|
|
adds r0, r2, 0
|
|
adds r0, 0x14
|
|
adds r0, r3
|
|
strb r4, [r0]
|
|
b _0801F16C
|
|
.align 2, 0
|
|
_0801F160: .4byte gUnknown_203B270
|
|
_0801F164:
|
|
adds r0, r2, 0
|
|
adds r0, 0x14
|
|
adds r0, r3
|
|
strb r1, [r0]
|
|
_0801F16C:
|
|
adds r3, 0x1
|
|
cmp r3, 0x7
|
|
ble _0801F138
|
|
ldr r1, [r5]
|
|
adds r0, r1, 0
|
|
adds r0, 0x1C
|
|
adds r1, 0x14
|
|
bl AddMenuCursorSprite_
|
|
cmp r7, 0
|
|
beq _0801F18C
|
|
_0801F182:
|
|
movs r0, 0x1
|
|
bl sub_801F280
|
|
movs r0, 0x1
|
|
b _0801F18E
|
|
_0801F18C:
|
|
movs r0, 0
|
|
_0801F18E:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801EF38
|
|
|
|
thumb_func_start sub_801F194
|
|
sub_801F194:
|
|
ldr r0, _0801F1A0
|
|
ldr r0, [r0]
|
|
movs r1, 0x34
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0801F1A0: .4byte gUnknown_203B270
|
|
thumb_func_end sub_801F194
|
|
|
|
thumb_func_start sub_801F1A4
|
|
sub_801F1A4:
|
|
ldr r0, _0801F1AC
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x4]
|
|
bx lr
|
|
.align 2, 0
|
|
_0801F1AC: .4byte gUnknown_203B270
|
|
thumb_func_end sub_801F1A4
|
|
|
|
thumb_func_start sub_801F1B0
|
|
sub_801F1B0:
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldr r4, _0801F210
|
|
ldr r2, [r4]
|
|
ldrb r0, [r2, 0x4]
|
|
cmp r0, 0
|
|
bne _0801F1C6
|
|
strb r1, [r2, 0x4]
|
|
_0801F1C6:
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x58
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
bl sub_801F3F8
|
|
adds r1, r0, 0
|
|
ldr r0, [r4]
|
|
strh r1, [r0, 0x3E]
|
|
adds r0, 0x1C
|
|
bl sub_8013984
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x10]
|
|
movs r2, 0x34
|
|
ldrsh r1, [r1, r2]
|
|
bl sub_8092F4C
|
|
ldr r1, [r4]
|
|
strh r0, [r1, 0x34]
|
|
movs r0, 0x1
|
|
bl sub_801F280
|
|
cmp r5, 0
|
|
beq _0801F208
|
|
ldr r0, [r4]
|
|
adds r0, 0x1C
|
|
bl AddMenuCursorSprite
|
|
_0801F208:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801F210: .4byte gUnknown_203B270
|
|
thumb_func_end sub_801F1B0
|
|
|
|
thumb_func_start sub_801F214
|
|
sub_801F214:
|
|
push {r4-r6,lr}
|
|
ldr r4, _0801F278
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0801F272
|
|
ldr r0, [r2, 0x50]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
ldr r3, _0801F27C
|
|
adds r1, 0x58
|
|
adds r0, r3, 0
|
|
ldm r0!, {r2,r5,r6}
|
|
stm r1!, {r2,r5,r6}
|
|
ldm r0!, {r2,r5,r6}
|
|
stm r1!, {r2,r5,r6}
|
|
ldr r2, [r4]
|
|
adds r0, r2, 0
|
|
adds r0, 0xB8
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0801F258
|
|
ldr r0, [r2, 0x54]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x58
|
|
adds r0, r3, 0
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
_0801F258:
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x58
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0801F272:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801F278: .4byte gUnknown_203B270
|
|
_0801F27C: .4byte gUnknown_80DC240
|
|
thumb_func_end sub_801F214
|
|
|
|
thumb_func_start sub_801F280
|
|
sub_801F280:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x28
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r10, r0
|
|
ldr r4, _0801F30C
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x50]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x50]
|
|
bl sub_80073B8
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0x8]
|
|
adds r1, 0x4C
|
|
add r0, sp, 0x4
|
|
movs r2, 0xA
|
|
bl sub_80922B4
|
|
ldr r0, _0801F310
|
|
add r1, sp, 0x4
|
|
bl strcpy
|
|
ldr r2, _0801F314
|
|
ldr r0, [r4]
|
|
ldr r3, [r0, 0x50]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xC
|
|
movs r1, 0
|
|
bl sub_8014FF0
|
|
movs r7, 0
|
|
ldr r0, [r4]
|
|
movs r1, 0x36
|
|
ldrsh r0, [r0, r1]
|
|
cmp r7, r0
|
|
bge _0801F394
|
|
add r5, sp, 0x18
|
|
mov r8, r4
|
|
movs r0, 0x1
|
|
mov r9, r0
|
|
_0801F2E0:
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
movs r2, 0xC
|
|
bl memset
|
|
movs r0, 0x6A
|
|
str r0, [r5, 0x4]
|
|
mov r1, r8
|
|
ldr r2, [r1]
|
|
lsls r1, r7, 3
|
|
ldr r0, [r2, 0x10]
|
|
adds r4, r0, r1
|
|
ldrb r1, [r4]
|
|
mov r0, r9
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0801F386
|
|
ldrb r0, [r2, 0xC]
|
|
cmp r0, 0
|
|
beq _0801F318
|
|
movs r0, 0x2
|
|
b _0801F31A
|
|
.align 2, 0
|
|
_0801F30C: .4byte gUnknown_203B270
|
|
_0801F310: .4byte gUnknown_202DF98
|
|
_0801F314: .4byte gUnknown_80DC28C
|
|
_0801F318:
|
|
movs r0, 0x4
|
|
_0801F31A:
|
|
str r0, [sp, 0x18]
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
ldrb r0, [r0, 0x6]
|
|
cmp r0, 0
|
|
beq _0801F328
|
|
mov r0, r9
|
|
_0801F328:
|
|
strb r0, [r5, 0x9]
|
|
cmp r7, 0x3
|
|
ble _0801F332
|
|
mov r1, r9
|
|
strb r1, [r5, 0x8]
|
|
_0801F332:
|
|
ldr r0, _0801F3EC
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
bl sub_80928A0
|
|
ldr r2, _0801F3F0
|
|
ldr r0, [r2]
|
|
adds r0, 0x1C
|
|
adds r1, r7, 0
|
|
str r2, [sp, 0x24]
|
|
bl sub_8013800
|
|
adds r6, r0, 0
|
|
ldrb r1, [r4]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
movs r4, 0xD
|
|
ldr r2, [sp, 0x24]
|
|
cmp r0, 0
|
|
bne _0801F372
|
|
movs r4, 0x8
|
|
cmp r7, 0
|
|
beq _0801F372
|
|
ldr r0, [r2]
|
|
ldr r0, [r0, 0x50]
|
|
subs r2, r6, 0x2
|
|
movs r1, 0x7
|
|
str r1, [sp]
|
|
movs r1, 0xC
|
|
movs r3, 0x78
|
|
bl sub_800792C
|
|
_0801F372:
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
ldr r3, [r0, 0x50]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
adds r0, r4, 0
|
|
adds r1, r6, 0
|
|
ldr r2, _0801F3F4
|
|
bl sub_8014FF0
|
|
_0801F386:
|
|
adds r7, 0x1
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
movs r1, 0x36
|
|
ldrsh r0, [r0, r1]
|
|
cmp r7, r0
|
|
blt _0801F2E0
|
|
_0801F394:
|
|
ldr r4, _0801F3F0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x50]
|
|
bl sub_80073E0
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0xB8
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0801F3DC
|
|
mov r0, r10
|
|
cmp r0, 0
|
|
beq _0801F3DC
|
|
ldr r0, [r1, 0x54]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x54]
|
|
bl sub_80073B8
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0xB8
|
|
ldr r2, [r0]
|
|
ldr r3, [r1, 0x54]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
movs r1, 0
|
|
bl sub_8014FF0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x54]
|
|
bl sub_80073E0
|
|
_0801F3DC:
|
|
add sp, 0x28
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801F3EC: .4byte gUnknown_202DE58
|
|
_0801F3F0: .4byte gUnknown_203B270
|
|
_0801F3F4: .4byte gUnknown_80DC2A0
|
|
thumb_func_end sub_801F280
|
|
|
|
thumb_func_start sub_801F3F8
|
|
sub_801F3F8:
|
|
push {r4,r5,lr}
|
|
movs r4, 0
|
|
ldr r0, _0801F424
|
|
ldr r0, [r0]
|
|
movs r5, 0x1
|
|
ldr r2, [r0, 0x10]
|
|
movs r3, 0x7
|
|
_0801F406:
|
|
ldrb r1, [r2]
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0801F412
|
|
adds r4, 0x1
|
|
_0801F412:
|
|
adds r2, 0x8
|
|
subs r3, 0x1
|
|
cmp r3, 0
|
|
bge _0801F406
|
|
adds r0, r4, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801F424: .4byte gUnknown_203B270
|
|
thumb_func_end sub_801F3F8
|
|
|
|
thumb_func_start sub_801F428
|
|
sub_801F428:
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
adds r4, r0, 0
|
|
mov r9, r1
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
ldr r5, _0801F50C
|
|
movs r0, 0xFA
|
|
lsls r0, 2
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
ldr r3, _0801F510
|
|
movs r1, 0x58
|
|
adds r2, r4, 0
|
|
muls r2, r1
|
|
ldr r1, [r3]
|
|
adds r1, r2
|
|
str r1, [r0]
|
|
adds r1, r0, 0
|
|
adds r1, 0x8
|
|
str r1, [r0, 0x4]
|
|
movs r4, 0xDF
|
|
lsls r4, 2
|
|
adds r1, r0, r4
|
|
mov r2, r9
|
|
str r2, [r1]
|
|
movs r6, 0xE0
|
|
lsls r6, 2
|
|
adds r2, r0, r6
|
|
mov r3, r9
|
|
lsls r1, r3, 1
|
|
add r1, r9
|
|
lsls r1, 3
|
|
movs r3, 0xE1
|
|
lsls r3, 2
|
|
mov r8, r3
|
|
add r1, r8
|
|
adds r1, r0, r1
|
|
str r1, [r2]
|
|
add r0, r8
|
|
bl sub_8006518
|
|
ldr r1, [r5]
|
|
adds r4, r1, r4
|
|
ldr r2, [r4]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
add r1, r8
|
|
ldr r0, _0801F514
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r1, [r5]
|
|
adds r6, r1, r6
|
|
ldr r0, [r6]
|
|
movs r4, 0xF9
|
|
lsls r4, 2
|
|
adds r1, r4
|
|
str r1, [r0, 0x14]
|
|
movs r2, 0
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldr r0, [r5]
|
|
ldr r1, _0801F518
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
ldr r0, [r5]
|
|
ldr r3, _0801F51C
|
|
adds r0, r3
|
|
movs r1, 0xC
|
|
strb r1, [r0]
|
|
ldr r0, [r5]
|
|
adds r4, 0x3
|
|
adds r0, r4
|
|
strb r2, [r0]
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
add r0, r8
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, [r5]
|
|
movs r0, 0xD2
|
|
lsls r0, 2
|
|
adds r4, r0
|
|
bl sub_801F7E4
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
movs r2, 0x4
|
|
mov r3, r9
|
|
bl sub_8013818
|
|
bl sub_801F690
|
|
bl sub_801F700
|
|
movs r0, 0x1
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801F50C: .4byte gUnknown_203B274
|
|
_0801F510: .4byte gUnknown_203B45C
|
|
_0801F514: .4byte gUnknown_80DC2C4
|
|
_0801F518: .4byte 0x000003e5
|
|
_0801F51C: .4byte 0x000003e6
|
|
thumb_func_end sub_801F428
|
|
|
|
thumb_func_start sub_801F520
|
|
sub_801F520:
|
|
push {lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801F540
|
|
ldr r0, _0801F53C
|
|
ldr r0, [r0]
|
|
movs r1, 0xD2
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _0801F5AE
|
|
.align 2, 0
|
|
_0801F53C: .4byte gUnknown_203B274
|
|
_0801F540:
|
|
ldr r0, _0801F55C
|
|
ldr r0, [r0]
|
|
movs r1, 0xD2
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl GetKeyPress
|
|
cmp r0, 0x2
|
|
beq _0801F566
|
|
cmp r0, 0x2
|
|
bgt _0801F560
|
|
cmp r0, 0x1
|
|
beq _0801F570
|
|
b _0801F584
|
|
.align 2, 0
|
|
_0801F55C: .4byte gUnknown_203B274
|
|
_0801F560:
|
|
cmp r0, 0x4
|
|
beq _0801F57A
|
|
b _0801F584
|
|
_0801F566:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0801F5AE
|
|
_0801F570:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _0801F5AE
|
|
_0801F57A:
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0x4
|
|
b _0801F5AE
|
|
_0801F584:
|
|
ldr r0, _0801F5A0
|
|
ldr r0, [r0]
|
|
movs r1, 0xD2
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0801F5A4
|
|
movs r0, 0
|
|
b _0801F5AE
|
|
.align 2, 0
|
|
_0801F5A0: .4byte gUnknown_203B274
|
|
_0801F5A4:
|
|
bl sub_801F690
|
|
bl sub_801F700
|
|
movs r0, 0x1
|
|
_0801F5AE:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801F520
|
|
|
|
thumb_func_start sub_801F5B4
|
|
sub_801F5B4:
|
|
push {r4,lr}
|
|
ldr r0, _0801F5E8
|
|
ldr r1, [r0]
|
|
ldr r2, [r1, 0x4]
|
|
ldr r3, _0801F5EC
|
|
adds r0, r1, r3
|
|
movs r4, 0
|
|
ldrsh r3, [r0, r4]
|
|
movs r4, 0xD9
|
|
lsls r4, 2
|
|
adds r0, r1, r4
|
|
movs r4, 0
|
|
ldrsh r0, [r0, r4]
|
|
muls r0, r3
|
|
movs r3, 0xD8
|
|
lsls r3, 2
|
|
adds r1, r3
|
|
movs r4, 0
|
|
ldrsh r1, [r1, r4]
|
|
adds r0, r1
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldrh r0, [r2]
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801F5E8: .4byte gUnknown_203B274
|
|
_0801F5EC: .4byte 0x00000366
|
|
thumb_func_end sub_801F5B4
|
|
|
|
thumb_func_start sub_801F5F0
|
|
sub_801F5F0:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8004914
|
|
ldr r5, _0801F638
|
|
ldr r0, [r5]
|
|
movs r1, 0xE1
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
ldr r0, [r5]
|
|
movs r1, 0xD2
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8013984
|
|
bl sub_801F690
|
|
bl sub_801F700
|
|
cmp r4, 0
|
|
beq _0801F632
|
|
ldr r0, [r5]
|
|
movs r1, 0xD2
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl AddMenuCursorSprite
|
|
_0801F632:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801F638: .4byte gUnknown_203B274
|
|
thumb_func_end sub_801F5F0
|
|
|
|
thumb_func_start sub_801F63C
|
|
sub_801F63C:
|
|
push {r4-r6,lr}
|
|
ldr r5, _0801F688
|
|
ldr r2, [r5]
|
|
cmp r2, 0
|
|
beq _0801F680
|
|
movs r1, 0xDF
|
|
lsls r1, 2
|
|
adds r0, r2, r1
|
|
ldr r0, [r0]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
movs r4, 0xE1
|
|
lsls r4, 2
|
|
adds r1, r4
|
|
ldr r0, _0801F68C
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r5]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r5]
|
|
_0801F680:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801F688: .4byte gUnknown_203B274
|
|
_0801F68C: .4byte gUnknown_80DC2AC
|
|
thumb_func_end sub_801F63C
|
|
|
|
thumb_func_start sub_801F690
|
|
sub_801F690:
|
|
push {r4,r5,lr}
|
|
ldr r5, _0801F6F4
|
|
ldr r0, [r5]
|
|
ldr r1, _0801F6F8
|
|
adds r0, r1
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
movs r1, 0xC
|
|
bl sub_80095E4
|
|
adds r0, 0x2
|
|
lsls r0, 16
|
|
ldr r3, [r5]
|
|
movs r1, 0xDF
|
|
lsls r1, 2
|
|
adds r4, r3, r1
|
|
ldr r2, [r4]
|
|
lsls r1, r2, 1
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, r3, r1
|
|
ldr r2, _0801F6FC
|
|
adds r1, r2
|
|
asrs r2, r0, 16
|
|
lsrs r0, 16
|
|
strh r0, [r1]
|
|
ldr r1, [r4]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r3, r0
|
|
adds r2, 0x2
|
|
movs r0, 0xE5
|
|
lsls r0, 2
|
|
adds r3, r0
|
|
strh r2, [r3]
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
movs r1, 0xE1
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801F6F4: .4byte gUnknown_203B274
|
|
_0801F6F8: .4byte 0x00000362
|
|
_0801F6FC: .4byte 0x00000392
|
|
thumb_func_end sub_801F690
|
|
|
|
thumb_func_start sub_801F700
|
|
sub_801F700:
|
|
push {r4-r7,lr}
|
|
sub sp, 0xB4
|
|
ldr r6, _0801F7D4
|
|
ldr r0, [r6]
|
|
movs r4, 0xDF
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
bl sub_8008C54
|
|
ldr r0, [r6]
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
bl sub_80073B8
|
|
add r5, sp, 0x34
|
|
ldr r1, _0801F7D8
|
|
ldr r0, [r6]
|
|
ldr r3, _0801F7DC
|
|
adds r2, r0, r3
|
|
movs r7, 0
|
|
ldrsh r2, [r2, r7]
|
|
adds r2, 0x1
|
|
adds r3, 0x2
|
|
adds r0, r3
|
|
movs r7, 0
|
|
ldrsh r3, [r0, r7]
|
|
adds r0, r5, 0
|
|
bl sub_800D158
|
|
ldr r0, [r6]
|
|
adds r0, r4
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x10
|
|
movs r1, 0
|
|
adds r2, r5, 0
|
|
bl xxx_call_draw_string
|
|
movs r4, 0
|
|
ldr r0, [r6]
|
|
ldr r1, _0801F7E0
|
|
adds r0, r1
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
cmp r4, r0
|
|
bge _0801F7BC
|
|
adds r5, r6, 0
|
|
_0801F762:
|
|
ldr r1, [r5]
|
|
ldr r2, [r1, 0x4]
|
|
ldr r3, _0801F7DC
|
|
adds r0, r1, r3
|
|
movs r6, 0
|
|
ldrsh r3, [r0, r6]
|
|
movs r7, 0xD9
|
|
lsls r7, 2
|
|
adds r1, r7
|
|
movs r6, 0
|
|
ldrsh r0, [r1, r6]
|
|
muls r0, r3
|
|
adds r0, r4
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldrh r1, [r2]
|
|
add r0, sp, 0x4
|
|
bl sub_8092C84
|
|
ldr r0, [r5]
|
|
subs r7, 0x1C
|
|
adds r0, r7
|
|
adds r1, r4, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r0, [r5]
|
|
movs r2, 0xDF
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
adds r4, 0x1
|
|
ldr r0, [r5]
|
|
ldr r3, _0801F7E0
|
|
adds r0, r3
|
|
movs r6, 0
|
|
ldrsh r0, [r0, r6]
|
|
cmp r4, r0
|
|
blt _0801F762
|
|
_0801F7BC:
|
|
ldr r0, _0801F7D4
|
|
ldr r0, [r0]
|
|
movs r7, 0xDF
|
|
lsls r7, 2
|
|
adds r0, r7
|
|
ldr r0, [r0]
|
|
bl sub_80073E0
|
|
add sp, 0xB4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801F7D4: .4byte gUnknown_203B274
|
|
_0801F7D8: .4byte gUnknown_80DC2DC
|
|
_0801F7DC: .4byte 0x00000366
|
|
_0801F7E0: .4byte 0x00000362
|
|
thumb_func_end sub_801F700
|
|
|
|
thumb_func_start sub_801F7E4
|
|
sub_801F7E4:
|
|
push {r4,lr}
|
|
ldr r4, _0801F804
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x4]
|
|
ldr r1, [r1]
|
|
bl sub_808E218
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x4]
|
|
movs r1, 0xCF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801F804: .4byte gUnknown_203B274
|
|
thumb_func_end sub_801F7E4
|
|
|
|
thumb_func_start sub_801F808
|
|
sub_801F808:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
movs r0, 0x1
|
|
bl ResetSprites
|
|
ldr r5, _0801F88C
|
|
movs r0, 0xD4
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r1, 0
|
|
str r1, [r0, 0x5C]
|
|
adds r1, r0, 0
|
|
adds r1, 0x64
|
|
str r1, [r0, 0x60]
|
|
adds r0, r1, 0
|
|
bl sub_80140B4
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, 0x64
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r5]
|
|
str r4, [r0, 0x4]
|
|
movs r2, 0x4
|
|
ldrh r0, [r4, 0x6]
|
|
cmp r0, 0
|
|
bne _0801F862
|
|
adds r3, r5, 0
|
|
_0801F84C:
|
|
subs r2, 0x1
|
|
cmp r2, 0x1
|
|
ble _0801F862
|
|
ldr r0, [r3]
|
|
ldr r1, [r0, 0x4]
|
|
lsls r0, r2, 1
|
|
adds r0, r1
|
|
subs r0, 0x2
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0801F84C
|
|
_0801F862:
|
|
ldr r4, _0801F88C
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x28
|
|
ldr r3, [r1, 0x5C]
|
|
adds r1, r2, 0
|
|
movs r2, 0x1
|
|
bl sub_8013818
|
|
ldr r0, [r4]
|
|
adds r0, 0xC8
|
|
bl sub_801317C
|
|
movs r0, 0
|
|
bl sub_801F918
|
|
movs r0, 0x1
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801F88C: .4byte gUnknown_203B278
|
|
thumb_func_end sub_801F808
|
|
|
|
thumb_func_start sub_801F890
|
|
sub_801F890:
|
|
push {lr}
|
|
ldr r0, _0801F8A8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0801F8BC
|
|
cmp r0, 0x1
|
|
bgt _0801F8AC
|
|
cmp r0, 0
|
|
beq _0801F8B6
|
|
b _0801F8C6
|
|
.align 2, 0
|
|
_0801F8A8: .4byte gUnknown_203B278
|
|
_0801F8AC:
|
|
cmp r0, 0x2
|
|
beq _0801F8C6
|
|
cmp r0, 0x3
|
|
beq _0801F8C2
|
|
b _0801F8C6
|
|
_0801F8B6:
|
|
bl sub_801FA58
|
|
b _0801F8CA
|
|
_0801F8BC:
|
|
bl sub_801FAD4
|
|
b _0801F8CA
|
|
_0801F8C2:
|
|
movs r0, 0x3
|
|
b _0801F8CC
|
|
_0801F8C6:
|
|
movs r0, 0x2
|
|
b _0801F8CC
|
|
_0801F8CA:
|
|
movs r0, 0
|
|
_0801F8CC:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801F890
|
|
|
|
thumb_func_start sub_801F8D0
|
|
sub_801F8D0:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0801F910
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0801F90A
|
|
ldr r0, [r2, 0x5C]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x64
|
|
ldr r0, _0801F914
|
|
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, 0x64
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0801F90A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801F910: .4byte gUnknown_203B278
|
|
_0801F914: .4byte gUnknown_80DC2F8
|
|
thumb_func_end sub_801F8D0
|
|
|
|
thumb_func_start sub_801F918
|
|
sub_801F918:
|
|
push {lr}
|
|
ldr r1, _0801F92C
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_801F930
|
|
bl sub_801F9A4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801F92C: .4byte gUnknown_203B278
|
|
thumb_func_end sub_801F918
|
|
|
|
thumb_func_start sub_801F930
|
|
sub_801F930:
|
|
push {r4,lr}
|
|
ldr r4, _0801F94C
|
|
ldr r0, [r4]
|
|
adds r0, 0x64
|
|
bl sub_80140B4
|
|
ldr r2, [r4]
|
|
ldr r3, [r2]
|
|
cmp r3, 0
|
|
beq _0801F950
|
|
cmp r3, 0x1
|
|
beq _0801F98C
|
|
b _0801F99C
|
|
.align 2, 0
|
|
_0801F94C: .4byte gUnknown_203B278
|
|
_0801F950:
|
|
ldr r0, [r2, 0x60]
|
|
adds r1, r2, 0
|
|
adds r1, 0xC4
|
|
str r1, [r0, 0x14]
|
|
adds r0, r2, 0
|
|
adds r0, 0x48
|
|
ldrh r0, [r0]
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
adds r1, r0, 0
|
|
adds r1, 0x46
|
|
ldrh r1, [r1]
|
|
adds r0, 0xC5
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xC6
|
|
movs r1, 0x10
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xC7
|
|
strb r3, [r0]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x64
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
b _0801F99C
|
|
_0801F98C:
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x64
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
_0801F99C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801F930
|
|
|
|
thumb_func_start sub_801F9A4
|
|
sub_801F9A4:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r5, _0801F9EC
|
|
ldr r0, [r5]
|
|
ldr r4, [r0]
|
|
cmp r4, 0x1
|
|
beq _0801F9F0
|
|
cmp r4, 0x1
|
|
bgt _0801FA48
|
|
cmp r4, 0
|
|
bne _0801FA48
|
|
ldr r0, [r0, 0x5C]
|
|
bl sub_8008C54
|
|
ldr r3, [r5]
|
|
adds r2, r3, 0
|
|
adds r2, 0x46
|
|
movs r1, 0
|
|
ldrsh r0, [r2, r1]
|
|
ldr r1, [r3, 0x4]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
strh r0, [r3, 0x8]
|
|
movs r1, 0
|
|
ldrsh r0, [r2, r1]
|
|
ldrh r1, [r3, 0x8]
|
|
ldr r2, [r3, 0x5C]
|
|
adds r3, 0x14
|
|
bl sub_8093D9C
|
|
ldr r1, [r5]
|
|
str r0, [r1, 0x10]
|
|
str r4, [r1, 0x24]
|
|
b _0801FA48
|
|
.align 2, 0
|
|
_0801F9EC: .4byte gUnknown_203B278
|
|
_0801F9F0:
|
|
ldr r0, [r0, 0x5C]
|
|
bl sub_8008C54
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x5C]
|
|
bl sub_80073B8
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, 0xC]
|
|
lsls r1, 2
|
|
adds r0, 0x14
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
ldr r0, _0801FA50
|
|
ldr r1, [r1]
|
|
bl strcpy
|
|
ldr r2, _0801FA54
|
|
ldr r0, [r5]
|
|
ldr r3, [r0, 0x5C]
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
movs r0, 0x10
|
|
movs r1, 0
|
|
bl sub_8014FF0
|
|
ldr r3, [r5]
|
|
ldr r1, [r3, 0xC]
|
|
lsls r1, 2
|
|
adds r0, r3, 0
|
|
adds r0, 0x14
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
ldr r2, [r0, 0x4]
|
|
ldr r3, [r3, 0x5C]
|
|
str r4, [sp]
|
|
movs r0, 0x4
|
|
movs r1, 0x10
|
|
bl sub_8014FF0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x5C]
|
|
bl sub_80073E0
|
|
_0801FA48:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801FA50: .4byte gUnknown_202DF98
|
|
_0801FA54: .4byte gUnknown_80DC310
|
|
thumb_func_end sub_801F9A4
|
|
|
|
thumb_func_start sub_801FA58
|
|
sub_801FA58:
|
|
push {r4,lr}
|
|
ldr r0, _0801FAA4
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, 0x10]
|
|
adds r4, r0, 0
|
|
cmp r1, 0
|
|
beq _0801FA7C
|
|
ldr r0, [r2, 0x24]
|
|
movs r1, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0801FA74
|
|
bl sub_8013F84
|
|
_0801FA74:
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x24]
|
|
adds r0, 0x1
|
|
str r0, [r1, 0x24]
|
|
_0801FA7C:
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0xC8
|
|
ldr r1, [r1, 0x5C]
|
|
bl sub_8012A64
|
|
cmp r0, 0x1
|
|
beq _0801FAA8
|
|
cmp r0, 0x2
|
|
beq _0801FAC2
|
|
ldr r0, [r4]
|
|
adds r0, 0x28
|
|
bl sub_8013938
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0801FACE
|
|
movs r0, 0
|
|
b _0801FACA
|
|
.align 2, 0
|
|
_0801FAA4: .4byte gUnknown_203B278
|
|
_0801FAA8:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x10]
|
|
cmp r0, 0
|
|
beq _0801FABE
|
|
movs r0, 0
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0x1
|
|
b _0801FACA
|
|
_0801FABE:
|
|
movs r0, 0x3
|
|
b _0801FACA
|
|
_0801FAC2:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
_0801FACA:
|
|
bl sub_801F918
|
|
_0801FACE:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801FA58
|
|
|
|
thumb_func_start sub_801FAD4
|
|
sub_801FAD4:
|
|
push {r4,lr}
|
|
ldr r0, _0801FB14
|
|
ldr r3, [r0]
|
|
ldr r1, [r3, 0x10]
|
|
subs r1, 0x1
|
|
ldr r2, [r3, 0xC]
|
|
adds r4, r0, 0
|
|
cmp r2, r1
|
|
bge _0801FAFC
|
|
ldr r0, [r3, 0x24]
|
|
movs r1, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0801FAF4
|
|
bl sub_8013F84
|
|
_0801FAF4:
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x24]
|
|
adds r0, 0x1
|
|
str r0, [r1, 0x24]
|
|
_0801FAFC:
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0xC8
|
|
ldr r1, [r1, 0x5C]
|
|
bl sub_8012A64
|
|
cmp r0, 0x1
|
|
beq _0801FB18
|
|
cmp r0, 0x2
|
|
beq _0801FB3C
|
|
b _0801FB48
|
|
.align 2, 0
|
|
_0801FB14: .4byte gUnknown_203B278
|
|
_0801FB18:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0xC]
|
|
adds r1, 0x1
|
|
str r1, [r0, 0xC]
|
|
ldr r0, [r0, 0x10]
|
|
cmp r1, r0
|
|
bge _0801FB34
|
|
movs r0, 0x1
|
|
bl sub_801F918
|
|
b _0801FB48
|
|
_0801FB34:
|
|
movs r0, 0
|
|
bl sub_801F918
|
|
b _0801FB48
|
|
_0801FB3C:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
bl sub_801F918
|
|
_0801FB48:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_801FAD4
|
|
|
|
thumb_func_start sub_801FB50
|
|
sub_801FB50:
|
|
push {r4-r7,lr}
|
|
adds r4, r0, 0
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r6, _0801FBC0
|
|
movs r0, 0xF0
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r6]
|
|
movs r7, 0
|
|
str r7, [r0, 0x70]
|
|
str r7, [r0, 0x74]
|
|
str r7, [r0, 0x78]
|
|
str r4, [r0]
|
|
strb r7, [r0, 0x15]
|
|
ldr r0, _0801FBC4
|
|
ldr r4, _0801FBC8
|
|
adds r1, r4, 0
|
|
bl sub_808D8E0
|
|
ldr r5, _0801FBCC
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_808D8E0
|
|
adds r0, r4, 0
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
adds r0, r5, 0
|
|
subs r0, 0x50
|
|
bl strcpy
|
|
subs r5, 0xF0
|
|
bl sub_808D33C
|
|
adds r1, r0, 0
|
|
adds r0, r5, 0
|
|
bl sub_808DA34
|
|
ldr r2, [r6]
|
|
ldr r0, [r2]
|
|
cmp r0, 0x1
|
|
bne _0801FBD0
|
|
movs r1, 0xBE
|
|
lsls r1, 1
|
|
adds r0, r2, r1
|
|
str r7, [r0]
|
|
b _0801FBDE
|
|
.align 2, 0
|
|
_0801FBC0: .4byte gUnknown_203B27C
|
|
_0801FBC4: .4byte gUnknown_202E5D8
|
|
_0801FBC8: .4byte 0x00000155
|
|
_0801FBCC: .4byte gUnknown_202E1C8
|
|
_0801FBD0:
|
|
movs r3, 0xBE
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
movs r4, 0xB6
|
|
lsls r4, 1
|
|
adds r0, r2, r4
|
|
str r0, [r1]
|
|
_0801FBDE:
|
|
ldr r0, _0801FC34
|
|
bl sub_808DDD0
|
|
ldr r2, _0801FC38
|
|
ldr r3, [r2]
|
|
movs r4, 0xB6
|
|
lsls r4, 1
|
|
adds r1, r3, r4
|
|
str r0, [r1]
|
|
adds r4, 0x4
|
|
adds r1, r3, r4
|
|
ldr r0, [r0, 0x4]
|
|
str r0, [r1]
|
|
movs r1, 0xBC
|
|
lsls r1, 1
|
|
adds r0, r3, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
ldr r3, _0801FC3C
|
|
adds r0, r3
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
adds r4, 0xA
|
|
adds r0, r4
|
|
strb r1, [r0]
|
|
ldr r2, [r2]
|
|
movs r0, 0xBA
|
|
lsls r0, 1
|
|
adds r1, r2, r0
|
|
movs r0, 0x2
|
|
strh r0, [r1]
|
|
subs r3, 0x3
|
|
adds r1, r2, r3
|
|
movs r0, 0x8
|
|
strh r0, [r1]
|
|
movs r0, 0
|
|
bl sub_801FDA8
|
|
movs r0, 0x1
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0801FC34: .4byte 0x00000155
|
|
_0801FC38: .4byte gUnknown_203B27C
|
|
_0801FC3C: .4byte 0x00000179
|
|
thumb_func_end sub_801FB50
|
|
|
|
thumb_func_start sub_801FC40
|
|
sub_801FC40:
|
|
push {lr}
|
|
ldr r1, _0801FC5C
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x4]
|
|
adds r2, r1, 0
|
|
cmp r0, 0x22
|
|
bls _0801FC50
|
|
b _0801FD70
|
|
_0801FC50:
|
|
lsls r0, 2
|
|
ldr r1, _0801FC60
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801FC5C: .4byte gUnknown_203B27C
|
|
_0801FC60: .4byte _0801FC64
|
|
.align 2, 0
|
|
_0801FC64:
|
|
.4byte _0801FCF0
|
|
.4byte _0801FCF0
|
|
.4byte _0801FCF6
|
|
.4byte _0801FD70
|
|
.4byte _0801FD70
|
|
.4byte _0801FD70
|
|
.4byte _0801FD70
|
|
.4byte _0801FCFC
|
|
.4byte _0801FD02
|
|
.4byte _0801FD70
|
|
.4byte _0801FD70
|
|
.4byte _0801FD70
|
|
.4byte _0801FD70
|
|
.4byte _0801FD50
|
|
.4byte _0801FD70
|
|
.4byte _0801FD08
|
|
.4byte _0801FD08
|
|
.4byte _0801FD0E
|
|
.4byte _0801FD14
|
|
.4byte _0801FD1A
|
|
.4byte _0801FD70
|
|
.4byte _0801FD20
|
|
.4byte _0801FD20
|
|
.4byte _0801FD26
|
|
.4byte _0801FD2C
|
|
.4byte _0801FD70
|
|
.4byte _0801FD70
|
|
.4byte _0801FD70
|
|
.4byte _0801FD70
|
|
.4byte _0801FD32
|
|
.4byte _0801FD38
|
|
.4byte _0801FD38
|
|
.4byte _0801FD3E
|
|
.4byte _0801FD44
|
|
.4byte _0801FD4A
|
|
_0801FCF0:
|
|
bl sub_8021154
|
|
b _0801FD74
|
|
_0801FCF6:
|
|
bl sub_80209AC
|
|
b _0801FD74
|
|
_0801FCFC:
|
|
bl sub_80209FC
|
|
b _0801FD74
|
|
_0801FD02:
|
|
bl sub_8020A34
|
|
b _0801FD74
|
|
_0801FD08:
|
|
bl sub_8020A80
|
|
b _0801FD74
|
|
_0801FD0E:
|
|
bl sub_8020B38
|
|
b _0801FD74
|
|
_0801FD14:
|
|
bl sub_8020C2C
|
|
b _0801FD74
|
|
_0801FD1A:
|
|
bl sub_8020C48
|
|
b _0801FD74
|
|
_0801FD20:
|
|
bl sub_8020C64
|
|
b _0801FD74
|
|
_0801FD26:
|
|
bl sub_8020CC0
|
|
b _0801FD74
|
|
_0801FD2C:
|
|
bl sub_8020D74
|
|
b _0801FD74
|
|
_0801FD32:
|
|
bl sub_8020D90
|
|
b _0801FD74
|
|
_0801FD38:
|
|
bl sub_8020DCC
|
|
b _0801FD74
|
|
_0801FD3E:
|
|
bl sub_8020EB4
|
|
b _0801FD74
|
|
_0801FD44:
|
|
bl sub_80210C8
|
|
b _0801FD74
|
|
_0801FD4A:
|
|
bl sub_80210E4
|
|
b _0801FD74
|
|
_0801FD50:
|
|
ldr r0, [r2]
|
|
ldrb r0, [r0, 0x15]
|
|
cmp r0, 0x1
|
|
bne _0801FD68
|
|
ldr r0, _0801FD6C
|
|
ldr r1, [r0]
|
|
movs r0, 0x98
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
subs r0, 0x96
|
|
str r0, [r1]
|
|
_0801FD68:
|
|
movs r0, 0x3
|
|
b _0801FD76
|
|
.align 2, 0
|
|
_0801FD6C: .4byte gUnknown_203B460
|
|
_0801FD70:
|
|
bl sub_8021130
|
|
_0801FD74:
|
|
movs r0, 0
|
|
_0801FD76:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_801FC40
|
|
|
|
thumb_func_start sub_801FD7C
|
|
sub_801FD7C:
|
|
push {r4,lr}
|
|
ldr r4, _0801FDA4
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0801FD9C
|
|
movs r1, 0xB6
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bl CloseFile
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0801FD9C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801FDA4: .4byte gUnknown_203B27C
|
|
thumb_func_end sub_801FD7C
|
|
|
|
thumb_func_start sub_801FDA8
|
|
sub_801FDA8:
|
|
push {lr}
|
|
ldr r1, _0801FDBC
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x4]
|
|
bl sub_801FDC0
|
|
bl sub_801FF28
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801FDBC: .4byte gUnknown_203B27C
|
|
thumb_func_end sub_801FDA8
|
|
|
|
thumb_func_start sub_801FDC0
|
|
sub_801FDC0:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r4, _0801FDE8
|
|
ldr r0, [r4]
|
|
movs r5, 0xC0
|
|
lsls r5, 1
|
|
adds r0, r5
|
|
bl sub_8006518
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0x4]
|
|
cmp r1, 0x11
|
|
beq _0801FE38
|
|
cmp r1, 0x11
|
|
bgt _0801FDEC
|
|
cmp r1, 0x2
|
|
beq _0801FDF6
|
|
b _0801FED4
|
|
.align 2, 0
|
|
_0801FDE8: .4byte gUnknown_203B27C
|
|
_0801FDEC:
|
|
cmp r1, 0x17
|
|
beq _0801FE6C
|
|
cmp r1, 0x20
|
|
beq _0801FE88
|
|
b _0801FED4
|
|
_0801FDF6:
|
|
adds r0, r5
|
|
movs r1, 0x80
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
movs r2, 0xCC
|
|
lsls r2, 1
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
movs r3, 0xD8
|
|
lsls r3, 1
|
|
adds r0, r3
|
|
strb r1, [r0]
|
|
ldr r1, [r4]
|
|
movs r6, 0xE4
|
|
lsls r6, 1
|
|
adds r1, r6
|
|
ldr r0, _0801FE34
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldm r0!, {r2,r6,r7}
|
|
stm r1!, {r2,r6,r7}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
b _0801FF14
|
|
.align 2, 0
|
|
_0801FE34: .4byte gUnknown_80DC37C
|
|
_0801FE38:
|
|
bl sub_80205D0
|
|
ldr r2, [r4]
|
|
movs r0, 0xD8
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _0801FE68
|
|
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, 0x7C
|
|
bl sub_8012CAC
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
movs r6, 0xC0
|
|
lsls r6, 1
|
|
adds r0, r6
|
|
b _0801FEC2
|
|
.align 2, 0
|
|
_0801FE68: .4byte gUnknown_80DC334
|
|
_0801FE6C:
|
|
bl sub_802069C
|
|
ldr r2, [r4]
|
|
movs r0, 0xD8
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _0801FE84
|
|
ldm r1!, {r3,r6,r7}
|
|
stm r2!, {r3,r6,r7}
|
|
ldm r1!, {r3,r6,r7}
|
|
stm r2!, {r3,r6,r7}
|
|
b _0801FEB0
|
|
.align 2, 0
|
|
_0801FE84: .4byte gUnknown_80DC334
|
|
_0801FE88:
|
|
bl sub_802074C
|
|
ldr r1, [r4]
|
|
movs r7, 0xCC
|
|
lsls r7, 1
|
|
adds r1, r7
|
|
ldr r0, _0801FECC
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldr r2, [r4]
|
|
movs r0, 0xD8
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _0801FED0
|
|
ldm r1!, {r3,r6,r7}
|
|
stm r2!, {r3,r6,r7}
|
|
ldm r1!, {r3,r6,r7}
|
|
stm r2!, {r3,r6,r7}
|
|
_0801FEB0:
|
|
ldr r1, [r4]
|
|
adds r0, r1, r0
|
|
adds r1, 0x7C
|
|
bl sub_8012CAC
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
_0801FEC2:
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
b _0801FF14
|
|
.align 2, 0
|
|
_0801FECC: .4byte gUnknown_80DC31C
|
|
_0801FED0: .4byte gUnknown_80DC34C
|
|
_0801FED4:
|
|
ldr r5, _0801FF20
|
|
mov r12, r5
|
|
movs r6, 0xC0
|
|
lsls r6, 1
|
|
mov r8, r6
|
|
ldr r4, _0801FF24
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_0801FEE4:
|
|
mov r7, r12
|
|
ldr r1, [r7]
|
|
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 _0801FEE4
|
|
bl sub_8004914
|
|
ldr r0, _0801FF20
|
|
ldr r0, [r0]
|
|
movs r1, 0xC0
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
_0801FF14:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0801FF20: .4byte gUnknown_203B27C
|
|
_0801FF24: .4byte gUnknown_80DC31C
|
|
thumb_func_end sub_801FDC0
|
|
|
|
thumb_func_start sub_801FF28
|
|
sub_801FF28:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x14
|
|
ldr r1, _0801FF44
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x4]
|
|
adds r5, r1, 0
|
|
cmp r0, 0x23
|
|
bls _0801FF3A
|
|
b _08020562
|
|
_0801FF3A:
|
|
lsls r0, 2
|
|
ldr r1, _0801FF48
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0801FF44: .4byte gUnknown_203B27C
|
|
_0801FF48: .4byte _0801FF4C
|
|
.align 2, 0
|
|
_0801FF4C:
|
|
.4byte _0801FFDC
|
|
.4byte _08020018
|
|
.4byte _08020064
|
|
.4byte _0802006C
|
|
.4byte _08020090
|
|
.4byte _080200B4
|
|
.4byte _080200D8
|
|
.4byte _080200FC
|
|
.4byte _08020144
|
|
.4byte _0802018C
|
|
.4byte _080201B0
|
|
.4byte _080201D4
|
|
.4byte _080201F8
|
|
.4byte _08020562
|
|
.4byte _0802021C
|
|
.4byte _08020240
|
|
.4byte _0802024E
|
|
.4byte _08020256
|
|
.4byte _08020274
|
|
.4byte _08020282
|
|
.4byte _0802028E
|
|
.4byte _080202B0
|
|
.4byte _080202BE
|
|
.4byte _080202C6
|
|
.4byte _080202E4
|
|
.4byte _08020304
|
|
.4byte _08020344
|
|
.4byte _080203B0
|
|
.4byte _080203D4
|
|
.4byte _0802038C
|
|
.4byte _080203F8
|
|
.4byte _08020428
|
|
.4byte _08020434
|
|
.4byte _08020460
|
|
.4byte _08020478
|
|
.4byte _08020500
|
|
_0801FFDC:
|
|
ldr r0, [r5]
|
|
movs r4, 0x2
|
|
str r4, [r0, 0x6C]
|
|
bl sub_8020574
|
|
ldr r5, [r5]
|
|
str r4, [r5, 0x8]
|
|
ldr r2, _08020014
|
|
ldr r1, [r5]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, 0x6C]
|
|
adds r3, r5, 0
|
|
adds r3, 0x7C
|
|
adds r1, r5, 0
|
|
adds r1, 0xBC
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
str r1, [sp, 0x8]
|
|
movs r4, 0xBE
|
|
lsls r4, 1
|
|
adds r1, r5, r4
|
|
b _0802004C
|
|
.align 2, 0
|
|
_08020014: .4byte gUnknown_80D8888
|
|
_08020018:
|
|
bl sub_8020574
|
|
ldr r0, _0802005C
|
|
ldr r4, [r0]
|
|
movs r0, 0x2
|
|
str r0, [r4, 0x8]
|
|
ldr r1, _08020060
|
|
ldr r2, [r4]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
adds r1, 0x4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
ldr r2, [r4, 0x6C]
|
|
adds r3, r4, 0
|
|
adds r3, 0x7C
|
|
adds r1, r4, 0
|
|
adds r1, 0xBC
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
str r1, [sp, 0x8]
|
|
movs r5, 0xBE
|
|
lsls r5, 1
|
|
adds r1, r4, r5
|
|
_0802004C:
|
|
ldr r1, [r1]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
bl sub_8014248
|
|
b _08020562
|
|
.align 2, 0
|
|
_0802005C: .4byte gUnknown_203B27C
|
|
_08020060: .4byte gUnknown_80D8888
|
|
_08020064:
|
|
movs r0, 0x3
|
|
bl sub_8016C40
|
|
b _08020562
|
|
_0802006C:
|
|
ldr r2, [r5]
|
|
movs r0, 0x1F
|
|
str r0, [r2, 0x8]
|
|
ldr r1, _0802008C
|
|
ldr r3, [r2]
|
|
movs r0, 0x64
|
|
muls r0, r3
|
|
adds r1, 0x8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0xBE
|
|
lsls r1, 1
|
|
adds r2, r1
|
|
ldr r2, [r2]
|
|
b _0802052C
|
|
.align 2, 0
|
|
_0802008C: .4byte gUnknown_80D8888
|
|
_08020090:
|
|
ldr r2, [r5]
|
|
movs r0, 0x1F
|
|
str r0, [r2, 0x8]
|
|
ldr r1, _080200B0
|
|
ldr r3, [r2]
|
|
movs r0, 0x64
|
|
muls r0, r3
|
|
adds r1, 0xC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r4, 0xBE
|
|
lsls r4, 1
|
|
adds r2, r4
|
|
ldr r2, [r2]
|
|
b _0802052C
|
|
.align 2, 0
|
|
_080200B0: .4byte gUnknown_80D8888
|
|
_080200B4:
|
|
ldr r2, [r5]
|
|
movs r0, 0x1F
|
|
str r0, [r2, 0x8]
|
|
ldr r1, _080200D4
|
|
ldr r3, [r2]
|
|
movs r0, 0x64
|
|
muls r0, r3
|
|
adds r1, 0x10
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r5, 0xBE
|
|
lsls r5, 1
|
|
adds r2, r5
|
|
ldr r2, [r2]
|
|
b _0802052C
|
|
.align 2, 0
|
|
_080200D4: .4byte gUnknown_80D8888
|
|
_080200D8:
|
|
ldr r2, [r5]
|
|
movs r0, 0x1F
|
|
str r0, [r2, 0x8]
|
|
ldr r1, _080200F8
|
|
ldr r3, [r2]
|
|
movs r0, 0x64
|
|
muls r0, r3
|
|
adds r1, 0x14
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0xBE
|
|
lsls r1, 1
|
|
adds r2, r1
|
|
ldr r2, [r2]
|
|
b _0802052C
|
|
.align 2, 0
|
|
_080200F8: .4byte gUnknown_80D8888
|
|
_080200FC:
|
|
bl sub_8020900
|
|
ldr r1, _0802013C
|
|
ldr r0, _08020140
|
|
ldr r4, [r0]
|
|
ldr r2, [r4]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
adds r1, 0x18
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r3, r4, 0
|
|
adds r3, 0x7C
|
|
adds r1, r4, 0
|
|
adds r1, 0xBC
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
str r1, [sp, 0x8]
|
|
movs r2, 0xBE
|
|
lsls r2, 1
|
|
adds r1, r4, r2
|
|
ldr r1, [r1]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl sub_8014248
|
|
b _08020562
|
|
.align 2, 0
|
|
_0802013C: .4byte gUnknown_80D8888
|
|
_08020140: .4byte gUnknown_203B27C
|
|
_08020144:
|
|
bl sub_8020950
|
|
ldr r1, _08020184
|
|
ldr r0, _08020188
|
|
ldr r4, [r0]
|
|
ldr r2, [r4]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
adds r1, 0x54
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r3, r4, 0
|
|
adds r3, 0x7C
|
|
adds r1, r4, 0
|
|
adds r1, 0xBC
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
str r1, [sp, 0x8]
|
|
movs r5, 0xBE
|
|
lsls r5, 1
|
|
adds r1, r4, r5
|
|
ldr r1, [r1]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0xD
|
|
bl sub_8014248
|
|
b _08020562
|
|
.align 2, 0
|
|
_08020184: .4byte gUnknown_80D8888
|
|
_08020188: .4byte gUnknown_203B27C
|
|
_0802018C:
|
|
ldr r2, [r5]
|
|
movs r0, 0x1
|
|
str r0, [r2, 0x8]
|
|
ldr r1, _080201AC
|
|
ldr r3, [r2]
|
|
movs r0, 0x64
|
|
muls r0, r3
|
|
adds r1, 0x58
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0xBE
|
|
lsls r1, 1
|
|
adds r2, r1
|
|
ldr r2, [r2]
|
|
b _0802052C
|
|
.align 2, 0
|
|
_080201AC: .4byte gUnknown_80D8888
|
|
_080201B0:
|
|
ldr r2, [r5]
|
|
movs r0, 0x1
|
|
str r0, [r2, 0x8]
|
|
ldr r1, _080201D0
|
|
ldr r3, [r2]
|
|
movs r0, 0x64
|
|
muls r0, r3
|
|
adds r1, 0x5C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r4, 0xBE
|
|
lsls r4, 1
|
|
adds r2, r4
|
|
ldr r2, [r2]
|
|
b _0802052C
|
|
.align 2, 0
|
|
_080201D0: .4byte gUnknown_80D8888
|
|
_080201D4:
|
|
ldr r2, [r5]
|
|
movs r0, 0x1
|
|
str r0, [r2, 0x8]
|
|
ldr r1, _080201F4
|
|
ldr r3, [r2]
|
|
movs r0, 0x64
|
|
muls r0, r3
|
|
adds r1, 0x60
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r5, 0xBE
|
|
lsls r5, 1
|
|
adds r2, r5
|
|
ldr r2, [r2]
|
|
b _0802052C
|
|
.align 2, 0
|
|
_080201F4: .4byte gUnknown_80D8888
|
|
_080201F8:
|
|
ldr r2, [r5]
|
|
movs r0, 0xD
|
|
str r0, [r2, 0x8]
|
|
ldr r1, _08020218
|
|
ldr r3, [r2]
|
|
movs r0, 0x64
|
|
muls r0, r3
|
|
adds r1, 0x1C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0xBE
|
|
lsls r1, 1
|
|
adds r2, r1
|
|
ldr r2, [r2]
|
|
b _0802052C
|
|
.align 2, 0
|
|
_08020218: .4byte gUnknown_80D8888
|
|
_0802021C:
|
|
ldr r2, [r5]
|
|
movs r0, 0xF
|
|
str r0, [r2, 0x8]
|
|
ldr r1, _0802023C
|
|
ldr r3, [r2]
|
|
movs r0, 0x64
|
|
muls r0, r3
|
|
adds r1, 0x20
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r4, 0xBE
|
|
lsls r4, 1
|
|
adds r2, r4
|
|
ldr r2, [r2]
|
|
b _0802052C
|
|
.align 2, 0
|
|
_0802023C: .4byte gUnknown_80D8888
|
|
_08020240:
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl sub_8023868
|
|
b _08020562
|
|
_0802024E:
|
|
movs r0, 0x1
|
|
bl sub_8023B7C
|
|
b _08020562
|
|
_08020256:
|
|
bl sub_8023DA4
|
|
ldr r0, _08020270
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0xCC
|
|
adds r1, r2, 0
|
|
adds r1, 0x7C
|
|
adds r3, r2, 0
|
|
adds r3, 0xBC
|
|
ldr r2, [r2, 0x70]
|
|
b _0802044C
|
|
.align 2, 0
|
|
_08020270: .4byte gUnknown_203B27C
|
|
_08020274:
|
|
ldr r0, [r5]
|
|
movs r5, 0xC
|
|
ldrsh r0, [r0, r5]
|
|
movs r1, 0x2
|
|
bl sub_8024458
|
|
b _08020562
|
|
_08020282:
|
|
ldr r0, [r5]
|
|
movs r1, 0xC
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_801BEEC
|
|
b _08020562
|
|
_0802028E:
|
|
ldr r2, [r5]
|
|
movs r0, 0x15
|
|
str r0, [r2, 0x8]
|
|
ldr r1, _080202AC
|
|
ldr r3, [r2]
|
|
movs r0, 0x64
|
|
muls r0, r3
|
|
adds r1, 0x24
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r4, 0xBE
|
|
lsls r4, 1
|
|
adds r2, r4
|
|
ldr r2, [r2]
|
|
b _0802052C
|
|
.align 2, 0
|
|
_080202AC: .4byte gUnknown_80D8888
|
|
_080202B0:
|
|
ldr r0, [r5]
|
|
movs r5, 0xC
|
|
ldrsh r0, [r0, r5]
|
|
movs r1, 0
|
|
bl sub_801F428
|
|
b _08020562
|
|
_080202BE:
|
|
movs r0, 0x1
|
|
bl sub_801F5F0
|
|
b _08020562
|
|
_080202C6:
|
|
bl sub_801F700
|
|
ldr r0, _080202E0
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0xCC
|
|
adds r1, r2, 0
|
|
adds r1, 0x7C
|
|
adds r3, r2, 0
|
|
adds r3, 0xBC
|
|
ldr r2, [r2, 0x74]
|
|
b _0802044C
|
|
.align 2, 0
|
|
_080202E0: .4byte gUnknown_203B27C
|
|
_080202E4:
|
|
ldr r0, [r5]
|
|
ldrh r1, [r0, 0x1C]
|
|
adds r0, 0x64
|
|
strh r1, [r0]
|
|
movs r2, 0x1
|
|
adds r4, r5, 0
|
|
movs r3, 0
|
|
_080202F2:
|
|
ldr r0, [r4]
|
|
lsls r1, r2, 1
|
|
adds r0, 0x64
|
|
adds r0, r1
|
|
strh r3, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0x3
|
|
ble _080202F2
|
|
b _0802046E
|
|
_08020304:
|
|
ldr r1, [r5]
|
|
adds r0, r1, 0
|
|
adds r0, 0x24
|
|
ldr r1, [r1, 0x10]
|
|
adds r1, 0x2C
|
|
bl sub_8094060
|
|
ldr r1, [r5]
|
|
movs r0, 0x10
|
|
str r0, [r1, 0x8]
|
|
ldr r0, _0802033C
|
|
ldrh r1, [r1, 0x1E]
|
|
bl sub_8092C84
|
|
ldr r1, _08020340
|
|
ldr r2, [r5]
|
|
ldr r3, [r2]
|
|
movs r0, 0x64
|
|
muls r0, r3
|
|
adds r1, 0x28
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0xBE
|
|
lsls r1, 1
|
|
adds r2, r1
|
|
ldr r2, [r2]
|
|
b _0802052C
|
|
.align 2, 0
|
|
_0802033C: .4byte gUnknown_202DF98
|
|
_08020340: .4byte gUnknown_80D8888
|
|
_08020344:
|
|
ldr r1, [r5]
|
|
adds r0, r1, 0
|
|
adds r0, 0x24
|
|
ldr r1, [r1, 0x10]
|
|
adds r1, 0x2C
|
|
bl sub_8094060
|
|
ldr r3, [r5]
|
|
movs r0, 0x10
|
|
str r0, [r3, 0x8]
|
|
ldrb r0, [r3, 0x14]
|
|
cmp r0, 0
|
|
beq _08020370
|
|
ldr r1, _0802036C
|
|
ldr r2, [r3]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
adds r1, 0x38
|
|
b _08020520
|
|
.align 2, 0
|
|
_0802036C: .4byte gUnknown_80D8888
|
|
_08020370:
|
|
ldr r1, _08020388
|
|
ldr r2, [r3]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
adds r1, 0x34
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r4, 0xBE
|
|
lsls r4, 1
|
|
adds r1, r3, r4
|
|
b _0802052A
|
|
.align 2, 0
|
|
_08020388: .4byte gUnknown_80D8888
|
|
_0802038C:
|
|
ldr r2, [r5]
|
|
ldr r0, [r2]
|
|
cmp r0, 0
|
|
bne _080203A2
|
|
movs r5, 0xC
|
|
ldrsh r1, [r2, r5]
|
|
adds r2, 0x24
|
|
movs r0, 0
|
|
bl sub_801E80C
|
|
b _08020562
|
|
_080203A2:
|
|
movs r0, 0xC
|
|
ldrsh r1, [r2, r0]
|
|
adds r2, 0x24
|
|
movs r0, 0x1
|
|
bl sub_801E80C
|
|
b _08020562
|
|
_080203B0:
|
|
ldr r2, [r5]
|
|
movs r0, 0x10
|
|
str r0, [r2, 0x8]
|
|
ldr r1, _080203D0
|
|
ldr r3, [r2]
|
|
movs r0, 0x64
|
|
muls r0, r3
|
|
adds r1, 0x3C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0xBE
|
|
lsls r1, 1
|
|
adds r2, r1
|
|
ldr r2, [r2]
|
|
b _0802052C
|
|
.align 2, 0
|
|
_080203D0: .4byte gUnknown_80D8888
|
|
_080203D4:
|
|
ldr r2, [r5]
|
|
movs r0, 0x10
|
|
str r0, [r2, 0x8]
|
|
ldr r1, _080203F4
|
|
ldr r3, [r2]
|
|
movs r0, 0x64
|
|
muls r0, r3
|
|
adds r1, 0x40
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r4, 0xBE
|
|
lsls r4, 1
|
|
adds r2, r4
|
|
ldr r2, [r2]
|
|
b _0802052C
|
|
.align 2, 0
|
|
_080203F4: .4byte gUnknown_80D8888
|
|
_080203F8:
|
|
ldr r1, [r5]
|
|
adds r0, r1, 0
|
|
adds r0, 0x24
|
|
ldr r1, [r1, 0x10]
|
|
adds r1, 0x2C
|
|
bl sub_809401C
|
|
ldr r0, [r5]
|
|
movs r5, 0xC
|
|
ldrsh r1, [r0, r5]
|
|
adds r2, r0, 0
|
|
adds r2, 0x24
|
|
ldrb r3, [r0, 0x15]
|
|
ldr r0, _08020424
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
bl sub_801EE10
|
|
b _08020562
|
|
.align 2, 0
|
|
_08020424: .4byte gUnknown_80DC394
|
|
_08020428:
|
|
ldr r0, [r5]
|
|
ldrb r1, [r0, 0x15]
|
|
movs r0, 0x1
|
|
bl sub_801F1B0
|
|
b _08020562
|
|
_08020434:
|
|
movs r0, 0
|
|
bl sub_801F280
|
|
ldr r0, _0802045C
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0xCC
|
|
adds r1, r2, 0
|
|
adds r1, 0x7C
|
|
adds r3, r2, 0
|
|
adds r3, 0xBC
|
|
ldr r2, [r2, 0x78]
|
|
_0802044C:
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8012D60
|
|
b _08020562
|
|
.align 2, 0
|
|
_0802045C: .4byte gUnknown_203B27C
|
|
_08020460:
|
|
ldr r2, [r5]
|
|
ldr r0, [r2, 0x18]
|
|
adds r1, r2, 0
|
|
adds r1, 0x24
|
|
adds r2, 0x64
|
|
bl sub_8093560
|
|
_0802046E:
|
|
ldr r0, [r5]
|
|
adds r0, 0x64
|
|
bl sub_801F808
|
|
b _08020562
|
|
_08020478:
|
|
bl sub_80208B0
|
|
ldr r0, _080204B8
|
|
ldr r4, _080204BC
|
|
ldr r1, [r4]
|
|
ldrh r1, [r1, 0x20]
|
|
bl sub_8092C84
|
|
ldr r4, [r4]
|
|
ldrb r5, [r4, 0x14]
|
|
cmp r5, 0
|
|
beq _080204C4
|
|
ldr r1, _080204C0
|
|
ldr r2, [r4]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
adds r1, 0x48
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r3, r4, 0
|
|
adds r3, 0x7C
|
|
adds r1, r4, 0
|
|
adds r1, 0xBC
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
str r1, [sp, 0x8]
|
|
movs r2, 0xBE
|
|
lsls r2, 1
|
|
adds r1, r4, r2
|
|
b _080204E8
|
|
.align 2, 0
|
|
_080204B8: .4byte gUnknown_202DFE8
|
|
_080204BC: .4byte gUnknown_203B27C
|
|
_080204C0: .4byte gUnknown_80D8888
|
|
_080204C4:
|
|
ldr r1, _080204FC
|
|
ldr r2, [r4]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
adds r1, 0x44
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r3, r4, 0
|
|
adds r3, 0x7C
|
|
adds r1, r4, 0
|
|
adds r1, 0xBC
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r5, [sp, 0x8]
|
|
movs r5, 0xBE
|
|
lsls r5, 1
|
|
adds r1, r4, r5
|
|
_080204E8:
|
|
ldr r1, [r1]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x11
|
|
bl sub_8014248
|
|
b _08020562
|
|
.align 2, 0
|
|
_080204FC: .4byte gUnknown_80D8888
|
|
_08020500:
|
|
ldr r1, [r5]
|
|
movs r0, 0x1F
|
|
str r0, [r1, 0x8]
|
|
ldr r0, _08020538
|
|
ldrh r1, [r1, 0x20]
|
|
bl sub_8092C84
|
|
ldr r3, [r5]
|
|
ldrb r0, [r3, 0x14]
|
|
cmp r0, 0
|
|
beq _08020544
|
|
ldr r1, _0802053C
|
|
ldr r2, [r3]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
adds r1, 0x50
|
|
_08020520:
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r2, 0xBE
|
|
lsls r2, 1
|
|
adds r1, r3, r2
|
|
_0802052A:
|
|
ldr r2, [r1]
|
|
_0802052C:
|
|
ldr r3, _08020540
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
b _08020562
|
|
.align 2, 0
|
|
_08020538: .4byte gUnknown_202DFE8
|
|
_0802053C: .4byte gUnknown_80D8888
|
|
_08020540: .4byte 0x0000010d
|
|
_08020544:
|
|
ldr r1, _0802056C
|
|
ldr r2, [r3]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
adds r1, 0x4C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r4, 0xBE
|
|
lsls r4, 1
|
|
adds r1, r3, r4
|
|
ldr r2, [r1]
|
|
ldr r3, _08020570
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
_08020562:
|
|
add sp, 0x14
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802056C: .4byte gUnknown_80D8888
|
|
_08020570: .4byte 0x0000010d
|
|
thumb_func_end sub_801FF28
|
|
|
|
thumb_func_start sub_8020574
|
|
sub_8020574:
|
|
push {r4,lr}
|
|
ldr r4, _080205C0
|
|
ldr r0, [r4]
|
|
adds r0, 0xBC
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r4, [r4]
|
|
movs r3, 0
|
|
ldr r0, _080205C4
|
|
str r0, [r4, 0x7C]
|
|
adds r1, r4, 0
|
|
adds r1, 0x80
|
|
movs r0, 0x2
|
|
str r0, [r1]
|
|
movs r2, 0x1
|
|
adds r1, 0x4
|
|
ldr r0, _080205C8
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0xB
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
ldr r0, _080205CC
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r0, r4, 0
|
|
adds r0, 0x90
|
|
str r2, [r0]
|
|
adds r0, 0x4
|
|
str r3, [r0]
|
|
adds r0, 0x4
|
|
str r2, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080205C0: .4byte gUnknown_203B27C
|
|
_080205C4: .4byte gUnknown_80DC3C4
|
|
_080205C8: .4byte gUnknown_80DC3CC
|
|
_080205CC: .4byte gUnknown_80D4934
|
|
thumb_func_end sub_8020574
|
|
|
|
thumb_func_start sub_80205D0
|
|
sub_80205D0:
|
|
push {r4-r7,lr}
|
|
ldr r4, _08020660
|
|
ldr r0, [r4]
|
|
adds r0, 0xBC
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r0, [r4]
|
|
mov r12, r0
|
|
movs r5, 0
|
|
ldr r0, _08020664
|
|
mov r1, r12
|
|
str r0, [r1, 0x7C]
|
|
mov r2, r12
|
|
adds r2, 0x80
|
|
movs r0, 0x4
|
|
str r0, [r2]
|
|
movs r3, 0x1
|
|
adds r1, 0x84
|
|
ldr r0, _08020668
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0xB
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
ldr r0, _0802066C
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0xC
|
|
str r0, [r1]
|
|
movs r6, 0x3
|
|
adds r1, 0x4
|
|
ldr r0, _08020670
|
|
str r0, [r1]
|
|
mov r0, r12
|
|
adds r0, 0x98
|
|
str r6, [r0]
|
|
movs r6, 0x4
|
|
adds r0, 0x4
|
|
str r5, [r0]
|
|
adds r0, 0x4
|
|
str r3, [r0]
|
|
mov r3, r12
|
|
adds r3, 0xBC
|
|
_0802062A:
|
|
ldrh r0, [r3]
|
|
cmp r0, 0
|
|
bne _0802063A
|
|
ldr r1, [r2]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x70]
|
|
cmp r1, r0
|
|
beq _08020696
|
|
_0802063A:
|
|
adds r2, 0x8
|
|
adds r3, 0x2
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
blt _0802062A
|
|
movs r5, 0
|
|
cmp r5, r6
|
|
bge _08020696
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0xBC
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _08020674
|
|
adds r0, r1, 0
|
|
adds r0, 0x80
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x70]
|
|
b _08020696
|
|
.align 2, 0
|
|
_08020660: .4byte gUnknown_203B27C
|
|
_08020664: .4byte gUnknown_80DC3D8
|
|
_08020668: .4byte gUnknown_80DC3E0
|
|
_0802066C: .4byte gUnknown_80DC3E8
|
|
_08020670: .4byte gUnknown_80DC3F4
|
|
_08020674:
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
bge _08020696
|
|
ldr r2, [r4]
|
|
lsls r0, r5, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0xBC
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08020674
|
|
lsls r0, r5, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x80
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x70]
|
|
_08020696:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80205D0
|
|
|
|
thumb_func_start sub_802069C
|
|
sub_802069C:
|
|
push {r4-r7,lr}
|
|
ldr r4, _08020718
|
|
ldr r0, [r4]
|
|
adds r0, 0xBC
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r0, [r4]
|
|
mov r12, r0
|
|
movs r5, 0
|
|
ldr r0, _0802071C
|
|
mov r1, r12
|
|
str r0, [r1, 0x7C]
|
|
mov r3, r12
|
|
adds r3, 0x80
|
|
movs r0, 0x3
|
|
str r0, [r3]
|
|
movs r2, 0x1
|
|
adds r1, 0x84
|
|
ldr r0, _08020720
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0xB
|
|
str r0, [r1]
|
|
movs r6, 0x2
|
|
mov r0, r12
|
|
adds r0, 0x8C
|
|
str r5, [r0]
|
|
adds r0, 0x4
|
|
str r2, [r0]
|
|
mov r2, r12
|
|
adds r2, 0xBC
|
|
_080206E0:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _080206F0
|
|
ldr r1, [r3]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x74]
|
|
cmp r1, r0
|
|
beq _08020746
|
|
_080206F0:
|
|
adds r3, 0x8
|
|
adds r2, 0x2
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
blt _080206E0
|
|
movs r5, 0
|
|
cmp r5, r6
|
|
bge _08020746
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0xBC
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _08020724
|
|
adds r0, r1, 0
|
|
adds r0, 0x80
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x74]
|
|
b _08020746
|
|
.align 2, 0
|
|
_08020718: .4byte gUnknown_203B27C
|
|
_0802071C: .4byte gUnknown_80DC3F4
|
|
_08020720: .4byte gUnknown_80D4970
|
|
_08020724:
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
bge _08020746
|
|
ldr r2, [r4]
|
|
lsls r0, r5, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0xBC
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08020724
|
|
lsls r0, r5, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x80
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x74]
|
|
_08020746:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802069C
|
|
|
|
thumb_func_start sub_802074C
|
|
sub_802074C:
|
|
push {r4-r7,lr}
|
|
movs r7, 0
|
|
ldr r4, _08020780
|
|
ldr r0, [r4]
|
|
adds r0, 0xBC
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x16]
|
|
cmp r0, 0
|
|
beq _0802079C
|
|
ldr r0, [r1, 0x18]
|
|
adds r1, 0x24
|
|
bl sub_80932E0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08020788
|
|
ldr r0, [r4]
|
|
ldr r1, _08020784
|
|
str r1, [r0, 0x7C]
|
|
adds r0, 0x80
|
|
movs r1, 0x6
|
|
b _08020792
|
|
.align 2, 0
|
|
_08020780: .4byte gUnknown_203B27C
|
|
_08020784: .4byte gUnknown_80DC400
|
|
_08020788:
|
|
ldr r0, [r4]
|
|
ldr r1, _08020798
|
|
str r1, [r0, 0x7C]
|
|
adds r0, 0x80
|
|
movs r1, 0x5
|
|
_08020792:
|
|
str r1, [r0]
|
|
mov r12, r4
|
|
b _080207CA
|
|
.align 2, 0
|
|
_08020798: .4byte gUnknown_80DC40C
|
|
_0802079C:
|
|
ldr r0, [r1, 0x18]
|
|
adds r1, 0x24
|
|
bl sub_80932FC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080207B4
|
|
ldr r1, [r4]
|
|
ldr r0, _080207B0
|
|
b _080207B8
|
|
.align 2, 0
|
|
_080207B0: .4byte gUnknown_80DC400
|
|
_080207B4:
|
|
ldr r1, [r4]
|
|
ldr r0, _0802086C
|
|
_080207B8:
|
|
str r0, [r1, 0x7C]
|
|
ldr r2, _08020870
|
|
ldr r0, [r2]
|
|
lsls r1, r7, 3
|
|
adds r0, 0x80
|
|
adds r0, r1
|
|
movs r1, 0x7
|
|
str r1, [r0]
|
|
mov r12, r2
|
|
_080207CA:
|
|
adds r7, 0x1
|
|
mov r0, r12
|
|
ldr r4, [r0]
|
|
lsls r1, r7, 3
|
|
adds r3, r4, 0
|
|
adds r3, 0x7C
|
|
adds r2, r3, r1
|
|
ldr r0, _08020874
|
|
str r0, [r2]
|
|
adds r6, r4, 0
|
|
adds r6, 0x80
|
|
adds r1, r6, r1
|
|
movs r0, 0x8
|
|
str r0, [r1]
|
|
adds r7, 0x1
|
|
lsls r1, r7, 3
|
|
adds r2, r3, r1
|
|
ldr r0, _08020878
|
|
str r0, [r2]
|
|
adds r1, r6, r1
|
|
movs r0, 0x9
|
|
str r0, [r1]
|
|
adds r7, 0x1
|
|
lsls r1, r7, 3
|
|
adds r2, r3, r1
|
|
ldr r0, _0802087C
|
|
str r0, [r2]
|
|
adds r1, r6, r1
|
|
movs r0, 0xA
|
|
str r0, [r1]
|
|
adds r7, 0x1
|
|
lsls r1, r7, 3
|
|
adds r2, r3, r1
|
|
ldr r0, _08020880
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
adds r1, r6, r1
|
|
movs r0, 0xB
|
|
str r0, [r1]
|
|
adds r7, 0x1
|
|
lsls r1, r7, 3
|
|
adds r3, r1
|
|
movs r0, 0
|
|
str r0, [r3]
|
|
adds r1, r6, r1
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
movs r3, 0
|
|
cmp r3, r7
|
|
bge _0802084C
|
|
adds r5, r4, 0
|
|
adds r4, 0xBC
|
|
adds r2, r6, 0
|
|
_08020834:
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
bne _08020842
|
|
ldr r1, [r2]
|
|
ldr r0, [r5, 0x78]
|
|
cmp r1, r0
|
|
beq _080208A8
|
|
_08020842:
|
|
adds r4, 0x2
|
|
adds r2, 0x8
|
|
adds r3, 0x1
|
|
cmp r3, r7
|
|
blt _08020834
|
|
_0802084C:
|
|
movs r3, 0
|
|
cmp r3, r7
|
|
bge _080208A8
|
|
mov r0, r12
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0xBC
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _08020884
|
|
adds r0, r1, 0
|
|
adds r0, 0x80
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x78]
|
|
b _080208A8
|
|
.align 2, 0
|
|
_0802086C: .4byte gUnknown_80DC40C
|
|
_08020870: .4byte gUnknown_203B27C
|
|
_08020874: .4byte gUnknown_80DC410
|
|
_08020878: .4byte gUnknown_80DC418
|
|
_0802087C: .4byte gUnknown_80DC420
|
|
_08020880: .4byte gUnknown_80D4970
|
|
_08020884:
|
|
adds r3, 0x1
|
|
cmp r3, r7
|
|
bge _080208A8
|
|
mov r0, r12
|
|
ldr r2, [r0]
|
|
lsls r0, r3, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0xBC
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08020884
|
|
lsls r0, r3, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x80
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x78]
|
|
_080208A8:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802074C
|
|
|
|
thumb_func_start sub_80208B0
|
|
sub_80208B0:
|
|
push {r4,lr}
|
|
ldr r4, _080208F4
|
|
ldr r0, [r4]
|
|
adds r0, 0xBC
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r4, [r4]
|
|
movs r3, 0
|
|
ldr r0, _080208F8
|
|
ldr r0, [r0]
|
|
str r0, [r4, 0x7C]
|
|
adds r1, r4, 0
|
|
adds r1, 0x80
|
|
movs r0, 0x10
|
|
str r0, [r1]
|
|
movs r2, 0x1
|
|
adds r1, 0x4
|
|
ldr r0, _080208FC
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x11
|
|
str r0, [r1]
|
|
adds r0, r4, 0
|
|
adds r0, 0x8C
|
|
str r3, [r0]
|
|
adds r0, 0x4
|
|
str r2, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080208F4: .4byte gUnknown_203B27C
|
|
_080208F8: .4byte gUnknown_80D4920
|
|
_080208FC: .4byte gUnknown_80D4928
|
|
thumb_func_end sub_80208B0
|
|
|
|
thumb_func_start sub_8020900
|
|
sub_8020900:
|
|
push {r4,lr}
|
|
ldr r4, _08020944
|
|
ldr r0, [r4]
|
|
adds r0, 0xBC
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r3, [r4]
|
|
movs r2, 0
|
|
ldr r0, _08020948
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x7C]
|
|
adds r1, r3, 0
|
|
adds r1, 0x80
|
|
movs r0, 0x10
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
ldr r0, _0802094C
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x11
|
|
str r0, [r1]
|
|
adds r0, r3, 0
|
|
adds r0, 0x8C
|
|
str r2, [r0]
|
|
adds r1, 0x8
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [r1]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08020944: .4byte gUnknown_203B27C
|
|
_08020948: .4byte gUnknown_80D4920
|
|
_0802094C: .4byte gUnknown_80D4928
|
|
thumb_func_end sub_8020900
|
|
|
|
thumb_func_start sub_8020950
|
|
sub_8020950:
|
|
push {r4,lr}
|
|
ldr r4, _0802099C
|
|
ldr r0, [r4]
|
|
adds r0, 0xBC
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r4, [r4]
|
|
movs r3, 0
|
|
ldr r0, _080209A0
|
|
str r0, [r4, 0x7C]
|
|
adds r1, r4, 0
|
|
adds r1, 0x80
|
|
movs r0, 0xD
|
|
str r0, [r1]
|
|
movs r2, 0x1
|
|
adds r1, 0x4
|
|
ldr r0, _080209A4
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0xE
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
ldr r0, _080209A8
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0xF
|
|
str r0, [r1]
|
|
adds r0, r4, 0
|
|
adds r0, 0x94
|
|
str r3, [r0]
|
|
adds r0, 0x4
|
|
str r2, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802099C: .4byte gUnknown_203B27C
|
|
_080209A0: .4byte gUnknown_80DC428
|
|
_080209A4: .4byte gUnknown_80DC438
|
|
_080209A8: .4byte gUnknown_80DC448
|
|
thumb_func_end sub_8020950
|
|
|
|
thumb_func_start sub_80209AC
|
|
sub_80209AC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080209F4
|
|
ldr r0, _080209D4
|
|
ldr r1, [r0]
|
|
ldr r0, [sp]
|
|
str r0, [r1, 0x6C]
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _080209DE
|
|
cmp r0, 0x2
|
|
bgt _080209D8
|
|
cmp r0, 0x1
|
|
beq _080209EE
|
|
b _080209F4
|
|
.align 2, 0
|
|
_080209D4: .4byte gUnknown_203B27C
|
|
_080209D8:
|
|
cmp r0, 0xB
|
|
beq _080209E6
|
|
b _080209F4
|
|
_080209DE:
|
|
movs r0, 0xE
|
|
bl sub_801FDA8
|
|
b _080209F4
|
|
_080209E6:
|
|
movs r0, 0x8
|
|
bl sub_801FDA8
|
|
b _080209F4
|
|
_080209EE:
|
|
movs r0, 0xC
|
|
bl sub_801FDA8
|
|
_080209F4:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80209AC
|
|
|
|
thumb_func_start sub_80209FC
|
|
sub_80209FC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08020A2E
|
|
ldr r0, [sp]
|
|
cmp r0, 0x10
|
|
beq _08020A20
|
|
cmp r0, 0x10
|
|
bgt _08020A1A
|
|
cmp r0, 0x1
|
|
beq _08020A28
|
|
b _08020A2E
|
|
_08020A1A:
|
|
cmp r0, 0x11
|
|
beq _08020A28
|
|
b _08020A2E
|
|
_08020A20:
|
|
movs r0, 0xE
|
|
bl sub_801FDA8
|
|
b _08020A2E
|
|
_08020A28:
|
|
movs r0, 0xC
|
|
bl sub_801FDA8
|
|
_08020A2E:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80209FC
|
|
|
|
thumb_func_start sub_8020A34
|
|
sub_8020A34:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08020A7A
|
|
ldr r0, [sp]
|
|
cmp r0, 0xD
|
|
beq _08020A5C
|
|
cmp r0, 0xD
|
|
bgt _08020A52
|
|
cmp r0, 0x1
|
|
beq _08020A74
|
|
b _08020A7A
|
|
_08020A52:
|
|
cmp r0, 0xE
|
|
beq _08020A64
|
|
cmp r0, 0xF
|
|
beq _08020A6C
|
|
b _08020A7A
|
|
_08020A5C:
|
|
movs r0, 0x9
|
|
bl sub_801FDA8
|
|
b _08020A7A
|
|
_08020A64:
|
|
movs r0, 0xA
|
|
bl sub_801FDA8
|
|
b _08020A7A
|
|
_08020A6C:
|
|
movs r0, 0xB
|
|
bl sub_801FDA8
|
|
b _08020A7A
|
|
_08020A74:
|
|
movs r0, 0x1
|
|
bl sub_801FDA8
|
|
_08020A7A:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8020A34
|
|
|
|
thumb_func_start sub_8020A80
|
|
sub_8020A80:
|
|
push {r4,lr}
|
|
movs r0, 0x1
|
|
bl sub_8023A94
|
|
cmp r0, 0x4
|
|
bhi _08020B32
|
|
lsls r0, 2
|
|
ldr r1, _08020A98
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08020A98: .4byte _08020A9C
|
|
.align 2, 0
|
|
_08020A9C:
|
|
.4byte _08020B32
|
|
.4byte _08020B32
|
|
.4byte _08020B28
|
|
.4byte _08020AB0
|
|
.4byte _08020AEC
|
|
_08020AB0:
|
|
bl sub_8023B44
|
|
ldr r4, _08020AE0
|
|
ldr r1, [r4]
|
|
strh r0, [r1, 0xC]
|
|
ldr r3, _08020AE4
|
|
movs r0, 0xC
|
|
ldrsh r2, [r1, r0]
|
|
movs r0, 0x58
|
|
muls r2, r0
|
|
ldr r0, [r3]
|
|
adds r0, r2
|
|
str r0, [r1, 0x10]
|
|
ldrb r0, [r0, 0x2]
|
|
strb r0, [r1, 0x16]
|
|
ldr r0, _08020AE8
|
|
ldr r1, [r4]
|
|
ldr r1, [r1, 0x10]
|
|
bl sub_808DA34
|
|
movs r0, 0x11
|
|
bl sub_801FDA8
|
|
b _08020B32
|
|
.align 2, 0
|
|
_08020AE0: .4byte gUnknown_203B27C
|
|
_08020AE4: .4byte gUnknown_203B45C
|
|
_08020AE8: .4byte gUnknown_202E128
|
|
_08020AEC:
|
|
bl sub_8023B44
|
|
ldr r4, _08020B1C
|
|
ldr r1, [r4]
|
|
strh r0, [r1, 0xC]
|
|
ldr r3, _08020B20
|
|
movs r0, 0xC
|
|
ldrsh r2, [r1, r0]
|
|
movs r0, 0x58
|
|
muls r2, r0
|
|
ldr r0, [r3]
|
|
adds r0, r2
|
|
str r0, [r1, 0x10]
|
|
ldrb r0, [r0, 0x2]
|
|
strb r0, [r1, 0x16]
|
|
ldr r0, _08020B24
|
|
ldr r1, [r4]
|
|
ldr r1, [r1, 0x10]
|
|
bl sub_808DA34
|
|
movs r0, 0x12
|
|
bl sub_801FDA8
|
|
b _08020B32
|
|
.align 2, 0
|
|
_08020B1C: .4byte gUnknown_203B27C
|
|
_08020B20: .4byte gUnknown_203B45C
|
|
_08020B24: .4byte gUnknown_202E128
|
|
_08020B28:
|
|
bl sub_8023C60
|
|
movs r0, 0x7
|
|
bl sub_801FDA8
|
|
_08020B32:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8020A80
|
|
|
|
thumb_func_start sub_8020B38
|
|
sub_8020B38:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_8023A94
|
|
ldr r4, _08020B7C
|
|
ldr r0, [r4]
|
|
adds r0, 0xCC
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08020B68
|
|
ldr r0, [r4]
|
|
adds r0, 0xCC
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _08020B68
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x70]
|
|
_08020B68:
|
|
ldr r0, [sp]
|
|
subs r0, 0x1
|
|
cmp r0, 0x10
|
|
bhi _08020C24
|
|
lsls r0, 2
|
|
ldr r1, _08020B80
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08020B7C: .4byte gUnknown_203B27C
|
|
_08020B80: .4byte _08020B84
|
|
.align 2, 0
|
|
_08020B84:
|
|
.4byte _08020BC8
|
|
.4byte _08020C24
|
|
.4byte _08020BD0
|
|
.4byte _08020C0E
|
|
.4byte _08020C24
|
|
.4byte _08020C24
|
|
.4byte _08020C24
|
|
.4byte _08020C24
|
|
.4byte _08020C24
|
|
.4byte _08020C24
|
|
.4byte _08020C16
|
|
.4byte _08020C1E
|
|
.4byte _08020C24
|
|
.4byte _08020C24
|
|
.4byte _08020C24
|
|
.4byte _08020C24
|
|
.4byte _08020BC8
|
|
_08020BC8:
|
|
movs r0, 0x10
|
|
bl sub_801FDA8
|
|
b _08020C24
|
|
_08020BD0:
|
|
ldr r0, _08020BF0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x10]
|
|
movs r1, 0x8
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_808E858
|
|
lsls r0, 16
|
|
movs r1, 0xCF
|
|
lsls r1, 17
|
|
cmp r0, r1
|
|
bne _08020BF4
|
|
movs r0, 0x1C
|
|
bl sub_801FDA8
|
|
b _08020C24
|
|
.align 2, 0
|
|
_08020BF0: .4byte gUnknown_203B27C
|
|
_08020BF4:
|
|
bl sub_8021178
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08020C06
|
|
movs r0, 0x1B
|
|
bl sub_801FDA8
|
|
b _08020C24
|
|
_08020C06:
|
|
movs r0, 0x14
|
|
bl sub_801FDA8
|
|
b _08020C24
|
|
_08020C0E:
|
|
movs r0, 0x1E
|
|
bl sub_801FDA8
|
|
b _08020C24
|
|
_08020C16:
|
|
movs r0, 0x12
|
|
bl sub_801FDA8
|
|
b _08020C24
|
|
_08020C1E:
|
|
movs r0, 0x13
|
|
bl sub_801FDA8
|
|
_08020C24:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8020B38
|
|
|
|
thumb_func_start sub_8020C2C
|
|
sub_8020C2C:
|
|
push {lr}
|
|
bl sub_80244E4
|
|
cmp r0, 0x1
|
|
bls _08020C44
|
|
cmp r0, 0x3
|
|
bhi _08020C44
|
|
bl sub_802453C
|
|
movs r0, 0x10
|
|
bl sub_801FDA8
|
|
_08020C44:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8020C2C
|
|
|
|
thumb_func_start sub_8020C48
|
|
sub_8020C48:
|
|
push {lr}
|
|
bl sub_801BF48
|
|
cmp r0, 0x1
|
|
bls _08020C60
|
|
cmp r0, 0x3
|
|
bhi _08020C60
|
|
bl sub_801BF98
|
|
movs r0, 0x10
|
|
bl sub_801FDA8
|
|
_08020C60:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8020C48
|
|
|
|
thumb_func_start sub_8020C64
|
|
sub_8020C64:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_801F520
|
|
cmp r0, 0x3
|
|
beq _08020C80
|
|
cmp r0, 0x3
|
|
bhi _08020C7A
|
|
cmp r0, 0x2
|
|
beq _08020CB0
|
|
b _08020CBA
|
|
_08020C7A:
|
|
cmp r0, 0x4
|
|
beq _08020C98
|
|
b _08020CBA
|
|
_08020C80:
|
|
bl sub_801F5B4
|
|
ldr r1, _08020C94
|
|
ldr r1, [r1]
|
|
strh r0, [r1, 0x1C]
|
|
strh r0, [r1, 0x1E]
|
|
movs r0, 0x17
|
|
bl sub_801FDA8
|
|
b _08020CBA
|
|
.align 2, 0
|
|
_08020C94: .4byte gUnknown_203B27C
|
|
_08020C98:
|
|
bl sub_801F5B4
|
|
ldr r1, _08020CAC
|
|
ldr r1, [r1]
|
|
strh r0, [r1, 0x1C]
|
|
strh r0, [r1, 0x1E]
|
|
movs r0, 0x18
|
|
bl sub_801FDA8
|
|
b _08020CBA
|
|
.align 2, 0
|
|
_08020CAC: .4byte gUnknown_203B27C
|
|
_08020CB0:
|
|
bl sub_801F63C
|
|
movs r0, 0x10
|
|
bl sub_801FDA8
|
|
_08020CBA:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8020C64
|
|
|
|
thumb_func_start sub_8020CC0
|
|
sub_8020CC0:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_801F520
|
|
ldr r4, _08020D00
|
|
ldr r0, [r4]
|
|
adds r0, 0xCC
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08020CF0
|
|
ldr r0, [r4]
|
|
adds r0, 0xCC
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _08020CF0
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x74]
|
|
_08020CF0:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x3
|
|
beq _08020D14
|
|
cmp r0, 0x3
|
|
bgt _08020D04
|
|
cmp r0, 0x1
|
|
beq _08020D0C
|
|
b _08020D6C
|
|
.align 2, 0
|
|
_08020D00: .4byte gUnknown_203B27C
|
|
_08020D04:
|
|
cmp r0, 0xB
|
|
beq _08020D66
|
|
cmp r0, 0x11
|
|
bne _08020D6C
|
|
_08020D0C:
|
|
movs r0, 0x16
|
|
bl sub_801FDA8
|
|
b _08020D6C
|
|
_08020D14:
|
|
bl sub_801F63C
|
|
ldr r4, _08020D30
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x24
|
|
ldr r1, [r1, 0x10]
|
|
adds r1, 0x2C
|
|
bl sub_809401C
|
|
movs r5, 0
|
|
adds r6, r4, 0
|
|
movs r4, 0x24
|
|
b _08020D38
|
|
.align 2, 0
|
|
_08020D30: .4byte gUnknown_203B27C
|
|
_08020D34:
|
|
adds r4, 0x8
|
|
adds r5, 0x1
|
|
_08020D38:
|
|
cmp r5, 0x7
|
|
bgt _08020D52
|
|
ldr r3, [r6]
|
|
adds r2, r3, r4
|
|
ldrb r1, [r2]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08020D34
|
|
ldrh r1, [r3, 0x1E]
|
|
adds r0, r2, 0
|
|
bl sub_8092AD4
|
|
_08020D52:
|
|
cmp r5, 0x3
|
|
ble _08020D5E
|
|
movs r0, 0x1D
|
|
bl sub_801FDA8
|
|
b _08020D6C
|
|
_08020D5E:
|
|
movs r0, 0x19
|
|
bl sub_801FDA8
|
|
b _08020D6C
|
|
_08020D66:
|
|
movs r0, 0x18
|
|
bl sub_801FDA8
|
|
_08020D6C:
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8020CC0
|
|
|
|
thumb_func_start sub_8020D74
|
|
sub_8020D74:
|
|
push {lr}
|
|
bl sub_801F890
|
|
cmp r0, 0x1
|
|
bls _08020D8C
|
|
cmp r0, 0x3
|
|
bhi _08020D8C
|
|
bl sub_801F8D0
|
|
movs r0, 0x16
|
|
bl sub_801FDA8
|
|
_08020D8C:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8020D74
|
|
|
|
thumb_func_start sub_8020D90
|
|
sub_8020D90:
|
|
push {lr}
|
|
bl sub_801E8C0
|
|
cmp r0, 0x2
|
|
beq _08020DBC
|
|
cmp r0, 0x2
|
|
bcc _08020DC6
|
|
cmp r0, 0x3
|
|
bne _08020DC6
|
|
bl sub_801E930
|
|
ldr r1, _08020DB8
|
|
ldr r1, [r1]
|
|
strb r0, [r1, 0x14]
|
|
bl sub_801E93C
|
|
movs r0, 0x1A
|
|
bl sub_801FDA8
|
|
b _08020DC6
|
|
.align 2, 0
|
|
_08020DB8: .4byte gUnknown_203B27C
|
|
_08020DBC:
|
|
bl sub_801E93C
|
|
movs r0, 0x10
|
|
bl sub_801FDA8
|
|
_08020DC6:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8020D90
|
|
|
|
thumb_func_start sub_8020DCC
|
|
sub_8020DCC:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_801EF38
|
|
cmp r0, 0x4
|
|
bhi _08020EAA
|
|
lsls r0, 2
|
|
ldr r1, _08020DE4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08020DE4: .4byte _08020DE8
|
|
.align 2, 0
|
|
_08020DE8:
|
|
.4byte _08020EAA
|
|
.4byte _08020E98
|
|
.4byte _08020E64
|
|
.4byte _08020DFC
|
|
.4byte _08020E30
|
|
_08020DFC:
|
|
bl sub_801F1A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08020E0E
|
|
ldr r0, _08020E2C
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x15]
|
|
_08020E0E:
|
|
bl sub_801F194
|
|
ldr r1, _08020E2C
|
|
ldr r2, [r1]
|
|
str r0, [r2, 0x18]
|
|
lsls r0, 3
|
|
adds r0, r2, r0
|
|
ldrh r1, [r0, 0x26]
|
|
strh r1, [r2, 0x1C]
|
|
ldrh r0, [r0, 0x26]
|
|
strh r0, [r2, 0x20]
|
|
movs r0, 0x20
|
|
bl sub_801FDA8
|
|
b _08020EAA
|
|
.align 2, 0
|
|
_08020E2C: .4byte gUnknown_203B27C
|
|
_08020E30:
|
|
bl sub_801F1A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08020E42
|
|
ldr r0, _08020E60
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x15]
|
|
_08020E42:
|
|
bl sub_801F194
|
|
ldr r1, _08020E60
|
|
ldr r2, [r1]
|
|
str r0, [r2, 0x18]
|
|
lsls r0, 3
|
|
adds r0, r2, r0
|
|
ldrh r1, [r0, 0x26]
|
|
strh r1, [r2, 0x1C]
|
|
ldrh r0, [r0, 0x26]
|
|
strh r0, [r2, 0x20]
|
|
movs r0, 0x21
|
|
bl sub_801FDA8
|
|
b _08020EAA
|
|
.align 2, 0
|
|
_08020E60: .4byte gUnknown_203B27C
|
|
_08020E64:
|
|
bl sub_801F1A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08020E76
|
|
ldr r0, _08020E94
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x15]
|
|
_08020E76:
|
|
bl sub_801F214
|
|
ldr r0, _08020E94
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x24
|
|
ldr r1, [r1, 0x10]
|
|
adds r1, 0x2C
|
|
bl sub_8094060
|
|
movs r0, 0x10
|
|
bl sub_801FDA8
|
|
b _08020EAA
|
|
.align 2, 0
|
|
_08020E94: .4byte gUnknown_203B27C
|
|
_08020E98:
|
|
bl sub_801F1A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08020EAA
|
|
ldr r0, _08020EB0
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x15]
|
|
_08020EAA:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08020EB0: .4byte gUnknown_203B27C
|
|
thumb_func_end sub_8020DCC
|
|
|
|
thumb_func_start sub_8020EB4
|
|
sub_8020EB4:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_801EF38
|
|
ldr r4, _08020EF8
|
|
ldr r0, [r4]
|
|
adds r0, 0xCC
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08020EE4
|
|
ldr r0, [r4]
|
|
adds r0, 0xCC
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _08020EE4
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x78]
|
|
_08020EE4:
|
|
ldr r0, [sp]
|
|
subs r0, 0x1
|
|
cmp r0, 0x10
|
|
bls _08020EEE
|
|
b _080210BE
|
|
_08020EEE:
|
|
lsls r0, 2
|
|
ldr r1, _08020EFC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08020EF8: .4byte gUnknown_203B27C
|
|
_08020EFC: .4byte _08020F00
|
|
.align 2, 0
|
|
_08020F00:
|
|
.4byte _08021068
|
|
.4byte _080210BE
|
|
.4byte _080210BE
|
|
.4byte _080210BE
|
|
.4byte _08020F44
|
|
.4byte _08020F70
|
|
.4byte _08020F8C
|
|
.4byte _08020FB8
|
|
.4byte _08021034
|
|
.4byte _08021074
|
|
.4byte _080210B8
|
|
.4byte _080210BE
|
|
.4byte _080210BE
|
|
.4byte _080210BE
|
|
.4byte _080210BE
|
|
.4byte _080210BE
|
|
.4byte _08021068
|
|
_08020F44:
|
|
ldr r0, _08020F60
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, 0x18]
|
|
adds r1, 0x24
|
|
bl sub_80934DC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08020F68
|
|
ldr r0, _08020F64
|
|
bl sub_8011988
|
|
b _08021068
|
|
.align 2, 0
|
|
_08020F60: .4byte gUnknown_203B27C
|
|
_08020F64: .4byte 0x00000133
|
|
_08020F68:
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
b _08021068
|
|
_08020F70:
|
|
ldr r0, _08020F84
|
|
bl sub_8011988
|
|
ldr r0, _08020F88
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, 0x18]
|
|
adds r1, 0x24
|
|
bl sub_809352C
|
|
b _08021068
|
|
.align 2, 0
|
|
_08020F84: .4byte 0x00000133
|
|
_08020F88: .4byte gUnknown_203B27C
|
|
_08020F8C:
|
|
ldr r0, _08020FA8
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, 0x18]
|
|
adds r1, 0x24
|
|
bl sub_8093544
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08020FB0
|
|
ldr r0, _08020FAC
|
|
bl sub_8011988
|
|
b _08021068
|
|
.align 2, 0
|
|
_08020FA8: .4byte gUnknown_203B27C
|
|
_08020FAC: .4byte 0x00000133
|
|
_08020FB0:
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
b _08021068
|
|
_08020FB8:
|
|
ldr r0, _08020FD8
|
|
ldr r0, [r0]
|
|
movs r1, 0x98
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0x95
|
|
bgt _08020FDC
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
bl sub_801FDA8
|
|
b _080210BE
|
|
.align 2, 0
|
|
_08020FD8: .4byte gUnknown_203B460
|
|
_08020FDC:
|
|
ldr r4, _08020FFC
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x18]
|
|
adds r1, 0x24
|
|
bl sub_8093318
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08021000
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
movs r0, 0x4
|
|
bl sub_801FDA8
|
|
b _080210BE
|
|
.align 2, 0
|
|
_08020FFC: .4byte gUnknown_203B27C
|
|
_08021000:
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x15]
|
|
cmp r0, 0
|
|
bne _08021016
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x15]
|
|
movs r0, 0xA6
|
|
lsls r0, 1
|
|
bl sub_8011988
|
|
b _0802101C
|
|
_08021016:
|
|
ldr r0, _0802102C
|
|
bl sub_8011988
|
|
_0802101C:
|
|
ldr r0, _08021030
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, 0x18]
|
|
adds r1, 0x24
|
|
bl sub_8093400
|
|
b _08021068
|
|
.align 2, 0
|
|
_0802102C: .4byte 0x00000133
|
|
_08021030: .4byte gUnknown_203B27C
|
|
_08021034:
|
|
ldr r4, _08021054
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x18]
|
|
adds r1, 0x24
|
|
bl sub_809333C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08021058
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
movs r0, 0x5
|
|
bl sub_801FDA8
|
|
b _080210BE
|
|
.align 2, 0
|
|
_08021054: .4byte gUnknown_203B27C
|
|
_08021058:
|
|
ldr r0, _08021070
|
|
bl sub_8011988
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x18]
|
|
adds r1, 0x24
|
|
bl sub_8093468
|
|
_08021068:
|
|
movs r0, 0x1F
|
|
bl sub_801FDA8
|
|
b _080210BE
|
|
.align 2, 0
|
|
_08021070: .4byte 0x00000133
|
|
_08021074:
|
|
ldr r4, _08021094
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x18]
|
|
adds r1, 0x24
|
|
bl sub_80933A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08021098
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
movs r0, 0x6
|
|
bl sub_801FDA8
|
|
b _080210BE
|
|
.align 2, 0
|
|
_08021094: .4byte gUnknown_203B27C
|
|
_08021098:
|
|
ldr r0, _080210B4
|
|
bl sub_8011988
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x18]
|
|
adds r1, 0x24
|
|
bl sub_80934B0
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x14]
|
|
movs r0, 0x22
|
|
bl sub_801FDA8
|
|
b _080210BE
|
|
.align 2, 0
|
|
_080210B4: .4byte 0x00000133
|
|
_080210B8:
|
|
movs r0, 0x21
|
|
bl sub_801FDA8
|
|
_080210BE:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8020EB4
|
|
|
|
thumb_func_start sub_80210C8
|
|
sub_80210C8:
|
|
push {lr}
|
|
bl sub_801F890
|
|
cmp r0, 0x1
|
|
bls _080210E0
|
|
cmp r0, 0x3
|
|
bhi _080210E0
|
|
bl sub_801F8D0
|
|
movs r0, 0x1F
|
|
bl sub_801FDA8
|
|
_080210E0:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80210C8
|
|
|
|
thumb_func_start sub_80210E4
|
|
sub_80210E4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802112A
|
|
ldr r0, [sp]
|
|
cmp r0, 0x10
|
|
beq _08021108
|
|
cmp r0, 0x10
|
|
bgt _08021102
|
|
cmp r0, 0x1
|
|
beq _08021124
|
|
b _0802112A
|
|
_08021102:
|
|
cmp r0, 0x11
|
|
beq _08021124
|
|
b _0802112A
|
|
_08021108:
|
|
ldr r0, _08021120
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x24
|
|
ldr r1, [r1, 0x18]
|
|
bl sub_8093CF8
|
|
movs r0, 0x23
|
|
bl sub_801FDA8
|
|
b _0802112A
|
|
.align 2, 0
|
|
_08021120: .4byte gUnknown_203B27C
|
|
_08021124:
|
|
movs r0, 0x1F
|
|
bl sub_801FDA8
|
|
_0802112A:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80210E4
|
|
|
|
thumb_func_start sub_8021130
|
|
sub_8021130:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08021148
|
|
ldr r0, _08021150
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x8]
|
|
bl sub_801FDA8
|
|
_08021148:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08021150: .4byte gUnknown_203B27C
|
|
thumb_func_end sub_8021130
|
|
|
|
thumb_func_start sub_8021154
|
|
sub_8021154:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0x4
|
|
bne _0802116C
|
|
ldr r0, _08021174
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x8]
|
|
bl sub_801FDA8
|
|
_0802116C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08021174: .4byte gUnknown_203B27C
|
|
thumb_func_end sub_8021154
|
|
|
|
thumb_func_start sub_8021178
|
|
sub_8021178:
|
|
push {lr}
|
|
mov r12, r4
|
|
ldr r4, _08021198
|
|
add sp, r4
|
|
mov r4, r12
|
|
ldr r0, _0802119C
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, 0x10]
|
|
mov r0, sp
|
|
bl sub_808E218
|
|
cmp r0, 0
|
|
beq _080211A0
|
|
movs r0, 0
|
|
b _080211A2
|
|
.align 2, 0
|
|
_08021198: .4byte 0xfffffcc0
|
|
_0802119C: .4byte gUnknown_203B27C
|
|
_080211A0:
|
|
movs r0, 0x1
|
|
_080211A2:
|
|
movs r3, 0xD0
|
|
lsls r3, 2
|
|
add sp, r3
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8021178
|
|
|
|
thumb_func_start sub_80211AC
|
|
sub_80211AC:
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
adds r6, r1, 0
|
|
bl sub_8021700
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080211C0
|
|
movs r0, 0
|
|
b _08021258
|
|
_080211C0:
|
|
ldr r5, _08021260
|
|
movs r0, 0xE0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
str r4, [r0, 0x3C]
|
|
str r6, [r0, 0x74]
|
|
lsls r1, r6, 1
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, 0x7C
|
|
adds r1, r0, r1
|
|
str r1, [r0, 0x78]
|
|
adds r0, 0x7C
|
|
bl sub_8006518
|
|
ldr r1, [r5]
|
|
ldr r2, [r1, 0x74]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x7C
|
|
ldr r0, _08021264
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, 0x78]
|
|
adds r0, 0xDC
|
|
str r0, [r1, 0x14]
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, 0x7C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, [r5]
|
|
adds r4, 0x40
|
|
bl sub_8021664
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
movs r2, 0xA
|
|
adds r3, r6, 0
|
|
bl sub_8013818
|
|
ldr r0, _08021268
|
|
ldr r2, [r5]
|
|
ldr r1, [r0]
|
|
ldr r0, [r2, 0x3C]
|
|
cmp r1, r0
|
|
bne _0802124E
|
|
ldr r0, _0802126C
|
|
ldrh r1, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x58
|
|
strh r1, [r0]
|
|
ldr r0, _08021270
|
|
ldrh r0, [r0]
|
|
adds r1, r2, 0
|
|
adds r1, 0x5E
|
|
strh r0, [r1]
|
|
adds r0, r2, 0
|
|
adds r0, 0x40
|
|
bl sub_8013984
|
|
_0802124E:
|
|
bl sub_8021410
|
|
bl sub_8021494
|
|
movs r0, 0x1
|
|
_08021258:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08021260: .4byte gUnknown_203B280
|
|
_08021264: .4byte gUnknown_80DC47C
|
|
_08021268: .4byte gUnknown_203B284
|
|
_0802126C: .4byte gUnknown_203B288
|
|
_08021270: .4byte gUnknown_203B28A
|
|
thumb_func_end sub_80211AC
|
|
|
|
thumb_func_start sub_8021274
|
|
sub_8021274:
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08021290
|
|
ldr r0, _0802128C
|
|
ldr r0, [r0]
|
|
adds r0, 0x40
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _08021326
|
|
.align 2, 0
|
|
_0802128C: .4byte gUnknown_203B280
|
|
_08021290:
|
|
ldr r4, _080212A8
|
|
ldr r0, [r4]
|
|
adds r0, 0x40
|
|
bl GetKeyPress
|
|
cmp r0, 0x2
|
|
beq _080212B2
|
|
cmp r0, 0x2
|
|
bgt _080212AC
|
|
cmp r0, 0x1
|
|
beq _080212BC
|
|
b _08021300
|
|
.align 2, 0
|
|
_080212A8: .4byte gUnknown_203B280
|
|
_080212AC:
|
|
cmp r0, 0x4
|
|
beq _080212F6
|
|
b _08021300
|
|
_080212B2:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _08021326
|
|
_080212BC:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x3C]
|
|
cmp r0, 0x2
|
|
bne _080212EC
|
|
bl sub_802132C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8092544
|
|
ldr r1, _080212E8
|
|
ldr r1, [r1]
|
|
movs r2, 0x98
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
cmp r0, r1
|
|
ble _080212EC
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
b _080212F2
|
|
.align 2, 0
|
|
_080212E8: .4byte gUnknown_203B460
|
|
_080212EC:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
_080212F2:
|
|
movs r0, 0x3
|
|
b _08021326
|
|
_080212F6:
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0x4
|
|
b _08021326
|
|
_08021300:
|
|
ldr r0, _08021318
|
|
ldr r0, [r0]
|
|
adds r0, 0x40
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802131C
|
|
movs r0, 0
|
|
b _08021326
|
|
.align 2, 0
|
|
_08021318: .4byte gUnknown_203B280
|
|
_0802131C:
|
|
bl sub_8021410
|
|
bl sub_8021494
|
|
movs r0, 0x1
|
|
_08021326:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8021274
|
|
|
|
thumb_func_start sub_802132C
|
|
sub_802132C:
|
|
ldr r0, _08021350
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x5E
|
|
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, 0x58
|
|
movs r3, 0
|
|
ldrsh r1, [r1, r3]
|
|
adds r0, r1
|
|
adds r0, r2, r0
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08021350: .4byte gUnknown_203B280
|
|
thumb_func_end sub_802132C
|
|
|
|
thumb_func_start sub_8021354
|
|
sub_8021354:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8004914
|
|
ldr r5, _0802139C
|
|
ldr r0, [r5]
|
|
adds r0, 0x7C
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
bl sub_8021664
|
|
adds r1, r0, 0
|
|
ldr r0, [r5]
|
|
adds r2, r0, 0
|
|
adds r2, 0x62
|
|
strh r1, [r2]
|
|
adds r0, 0x40
|
|
bl sub_8013984
|
|
bl sub_8021410
|
|
bl sub_8021494
|
|
cmp r4, 0
|
|
beq _08021396
|
|
ldr r0, [r5]
|
|
adds r0, 0x40
|
|
bl AddMenuCursorSprite
|
|
_08021396:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802139C: .4byte gUnknown_203B280
|
|
thumb_func_end sub_8021354
|
|
|
|
thumb_func_start sub_80213A0
|
|
sub_80213A0:
|
|
push {r4,r5,lr}
|
|
ldr r4, _080213FC
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _080213F4
|
|
ldr r1, _08021400
|
|
ldr r0, [r2, 0x3C]
|
|
str r0, [r1]
|
|
ldr r1, _08021404
|
|
adds r0, r2, 0
|
|
adds r0, 0x58
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
ldr r1, _08021408
|
|
adds r0, r2, 0
|
|
adds r0, 0x5E
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
ldr r0, [r2, 0x74]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x7C
|
|
ldr r0, _0802140C
|
|
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, 0x7C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_080213F4:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080213FC: .4byte gUnknown_203B280
|
|
_08021400: .4byte gUnknown_203B284
|
|
_08021404: .4byte gUnknown_203B288
|
|
_08021408: .4byte gUnknown_203B28A
|
|
_0802140C: .4byte gUnknown_80DC464
|
|
thumb_func_end sub_80213A0
|
|
|
|
thumb_func_start sub_8021410
|
|
sub_8021410:
|
|
push {r4,lr}
|
|
ldr r4, _08021490
|
|
ldr r0, [r4]
|
|
adds r0, 0xDC
|
|
movs r2, 0
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xDD
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xDE
|
|
movs r1, 0xC
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xDF
|
|
strb r2, [r0]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x7C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
adds r0, 0x5A
|
|
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, 0x74]
|
|
lsls r1, r3, 1
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x8A
|
|
asrs r3, r0, 16
|
|
lsrs r0, 16
|
|
strh r0, [r1]
|
|
ldr r1, [r2, 0x74]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, r0
|
|
adds r3, 0x2
|
|
adds r2, 0x8C
|
|
strh r3, [r2]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x7C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08021490: .4byte gUnknown_203B280
|
|
thumb_func_end sub_8021410
|
|
|
|
thumb_func_start sub_8021494
|
|
sub_8021494:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0xA8
|
|
ldr r4, _08021568
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x74]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x74]
|
|
bl sub_80073B8
|
|
ldr r2, _0802156C
|
|
ldr r0, [r4]
|
|
ldr r3, [r0, 0x74]
|
|
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, 0xDE
|
|
ldrb r0, [r0]
|
|
lsls r0, 3
|
|
adds r0, 0x4
|
|
adds r1, r3, 0
|
|
adds r1, 0x5E
|
|
movs r5, 0
|
|
ldrsh r2, [r1, r5]
|
|
adds r2, 0x1
|
|
movs r1, 0x7
|
|
str r1, [sp]
|
|
ldr r1, [r3, 0x74]
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
movs r3, 0x1
|
|
bl sub_8012BC4
|
|
movs r0, 0
|
|
mov r9, r0
|
|
ldr r0, [r4]
|
|
adds r0, 0x5A
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
cmp r9, r0
|
|
blt _080214FC
|
|
b _08021646
|
|
_080214FC:
|
|
mov r8, r4
|
|
add r2, sp, 0x58
|
|
mov r10, r2
|
|
_08021502:
|
|
mov r3, r8
|
|
ldr r2, [r3]
|
|
adds r0, r2, 0
|
|
adds r0, 0x5E
|
|
movs r5, 0
|
|
ldrsh r1, [r0, r5]
|
|
subs r0, 0x2
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
muls r0, r1
|
|
add r0, r9
|
|
adds r0, r2, r0
|
|
ldrb r5, [r0]
|
|
adds r7, r5, 0
|
|
ldr r6, [r2, 0x3C]
|
|
cmp r6, 0x2
|
|
bne _0802159C
|
|
add r0, sp, 0x8
|
|
adds r1, r5, 0
|
|
movs r2, 0x1
|
|
bl sub_8092578
|
|
adds r0, r5, 0
|
|
bl sub_8092544
|
|
ldr r1, _08021570
|
|
ldr r1, [r1]
|
|
movs r5, 0x98
|
|
lsls r5, 2
|
|
adds r1, r5
|
|
ldr r1, [r1]
|
|
cmp r0, r1
|
|
bgt _08021574
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
adds r0, 0x40
|
|
mov r1, r9
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
mov r2, r8
|
|
ldr r0, [r2]
|
|
ldr r3, [r0, 0x74]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
add r2, sp, 0x8
|
|
bl xxx_call_draw_string
|
|
b _08021632
|
|
.align 2, 0
|
|
_08021568: .4byte gUnknown_203B280
|
|
_0802156C: .4byte gUnknown_80DC494
|
|
_08021570: .4byte gUnknown_203B460
|
|
_08021574:
|
|
mov r0, r10
|
|
ldr r1, _08021598
|
|
add r2, sp, 0x8
|
|
bl sub_800D158
|
|
mov r3, r8
|
|
ldr r0, [r3]
|
|
adds r0, 0x40
|
|
mov r1, r9
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
mov r5, r8
|
|
ldr r0, [r5]
|
|
ldr r3, [r0, 0x74]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
b _080215FE
|
|
.align 2, 0
|
|
_08021598: .4byte gUnknown_80DC4A4
|
|
_0802159C:
|
|
cmp r6, 0
|
|
bne _0802160C
|
|
ldr r0, _080215D4
|
|
ldr r0, [r0]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
bne _080215D8
|
|
adds r0, r2, 0
|
|
adds r0, 0x40
|
|
mov r1, r9
|
|
bl sub_8013800
|
|
adds r4, r0, 0
|
|
adds r0, r5, 0
|
|
bl sub_8092524
|
|
adds r2, r0, 0
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
ldr r3, [r0, 0x74]
|
|
str r6, [sp]
|
|
movs r0, 0x8
|
|
adds r1, r4, 0
|
|
bl xxx_call_draw_string
|
|
b _08021632
|
|
.align 2, 0
|
|
_080215D4: .4byte gUnknown_203B468
|
|
_080215D8:
|
|
adds r0, r5, 0
|
|
bl sub_8092524
|
|
adds r2, r0, 0
|
|
mov r0, r10
|
|
ldr r1, _08021608
|
|
bl sub_800D158
|
|
mov r2, r8
|
|
ldr r0, [r2]
|
|
adds r0, 0x40
|
|
mov r1, r9
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
mov r3, r8
|
|
ldr r0, [r3]
|
|
ldr r3, [r0, 0x74]
|
|
str r6, [sp]
|
|
_080215FE:
|
|
movs r0, 0x8
|
|
mov r2, r10
|
|
bl xxx_call_draw_string
|
|
b _08021632
|
|
.align 2, 0
|
|
_08021608: .4byte gUnknown_80DC4AC
|
|
_0802160C:
|
|
adds r0, r2, 0
|
|
adds r0, 0x40
|
|
mov r1, r9
|
|
bl sub_8013800
|
|
adds r4, r0, 0
|
|
adds r0, r7, 0
|
|
bl sub_8092524
|
|
adds r2, r0, 0
|
|
mov r5, r8
|
|
ldr r0, [r5]
|
|
ldr r3, [r0, 0x74]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
adds r1, r4, 0
|
|
bl xxx_call_draw_string
|
|
_08021632:
|
|
movs r0, 0x1
|
|
add r9, r0
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
adds r0, 0x5A
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
cmp r9, r0
|
|
bge _08021646
|
|
b _08021502
|
|
_08021646:
|
|
ldr r0, _08021660
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x74]
|
|
bl sub_80073E0
|
|
add sp, 0xA8
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08021660: .4byte gUnknown_203B280
|
|
thumb_func_end sub_8021494
|
|
|
|
thumb_func_start sub_8021664
|
|
sub_8021664:
|
|
push {r4-r6,lr}
|
|
movs r5, 0
|
|
ldr r1, _0802167C
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x3C]
|
|
cmp r0, 0x1
|
|
beq _08021692
|
|
cmp r0, 0x1
|
|
bcc _08021680
|
|
cmp r0, 0x2
|
|
beq _080216B4
|
|
b _080216F2
|
|
.align 2, 0
|
|
_0802167C: .4byte gUnknown_203B280
|
|
_08021680:
|
|
movs r4, 0x1
|
|
_08021682:
|
|
ldr r0, [r1]
|
|
adds r0, r5
|
|
strb r4, [r0]
|
|
adds r5, 0x1
|
|
adds r4, 0x1
|
|
cmp r4, 0x39
|
|
ble _08021682
|
|
b _080216F2
|
|
_08021692:
|
|
movs r4, 0x1
|
|
ldr r2, _080216B0
|
|
_08021696:
|
|
ldr r0, [r2]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080216A8
|
|
ldr r0, [r1]
|
|
adds r0, r5
|
|
strb r4, [r0]
|
|
adds r5, 0x1
|
|
_080216A8:
|
|
adds r4, 0x1
|
|
cmp r4, 0x39
|
|
ble _08021696
|
|
b _080216F2
|
|
.align 2, 0
|
|
_080216B0: .4byte gUnknown_203B468
|
|
_080216B4:
|
|
movs r4, 0x1
|
|
adds r6, r1, 0
|
|
_080216B8:
|
|
ldr r0, _080216FC
|
|
ldr r0, [r0]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080216EC
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_8092534
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
beq _080216E4
|
|
cmp r0, 0x1
|
|
bne _080216EC
|
|
movs r0, 0x6
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080216EC
|
|
_080216E4:
|
|
ldr r0, [r6]
|
|
adds r0, r5
|
|
strb r4, [r0]
|
|
adds r5, 0x1
|
|
_080216EC:
|
|
adds r4, 0x1
|
|
cmp r4, 0x39
|
|
ble _080216B8
|
|
_080216F2:
|
|
adds r0, r5, 0
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080216FC: .4byte gUnknown_203B468
|
|
thumb_func_end sub_8021664
|
|
|
|
thumb_func_start sub_8021700
|
|
sub_8021700:
|
|
push {r4,lr}
|
|
cmp r0, 0x1
|
|
beq _08021710
|
|
cmp r0, 0x1
|
|
bcc _08021754
|
|
cmp r0, 0x2
|
|
beq _0802172C
|
|
b _0802176A
|
|
_08021710:
|
|
movs r4, 0x1
|
|
ldr r0, _08021728
|
|
ldr r1, [r0]
|
|
_08021716:
|
|
adds r0, r1, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08021754
|
|
adds r4, 0x1
|
|
cmp r4, 0x39
|
|
ble _08021716
|
|
b _0802176A
|
|
.align 2, 0
|
|
_08021728: .4byte gUnknown_203B468
|
|
_0802172C:
|
|
movs r4, 0x1
|
|
_0802172E:
|
|
ldr r0, _08021750
|
|
ldr r0, [r0]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08021764
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_8092534
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
beq _08021754
|
|
cmp r0, 0x1
|
|
beq _08021758
|
|
b _08021764
|
|
.align 2, 0
|
|
_08021750: .4byte gUnknown_203B468
|
|
_08021754:
|
|
movs r0, 0
|
|
b _0802176C
|
|
_08021758:
|
|
movs r0, 0x6
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08021754
|
|
_08021764:
|
|
adds r4, 0x1
|
|
cmp r4, 0x39
|
|
ble _0802172E
|
|
_0802176A:
|
|
movs r0, 0x1
|
|
_0802176C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8021700
|
|
|
|
thumb_func_start sub_8021774
|
|
sub_8021774:
|
|
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, _080217E4
|
|
movs r0, 0xE0
|
|
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
|
|
bl sub_8021A60
|
|
ldr r0, [r6]
|
|
mov r1, r8
|
|
str r1, [r0, 0x74]
|
|
lsls r1, 1
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, 0x7C
|
|
adds r1, r0, r1
|
|
str r1, [r0, 0x78]
|
|
adds r0, 0x7C
|
|
bl sub_8006518
|
|
ldr r1, [r6]
|
|
ldr r2, [r1, 0x74]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x7C
|
|
ldr r0, _080217E8
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
bl sub_8021820
|
|
movs r0, 0x1
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080217E4: .4byte gUnknown_203B28C
|
|
_080217E8: .4byte gUnknown_80DC4D8
|
|
thumb_func_end sub_8021774
|
|
|
|
thumb_func_start sub_80217EC
|
|
sub_80217EC:
|
|
push {lr}
|
|
ldr r0, _0802180C
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, 0x74]
|
|
bl sub_8012A64
|
|
cmp r0, 0x1
|
|
beq _08021810
|
|
cmp r0, 0x2
|
|
bne _0802181A
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0802181C
|
|
.align 2, 0
|
|
_0802180C: .4byte gUnknown_203B28C
|
|
_08021810:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _0802181C
|
|
_0802181A:
|
|
movs r0, 0
|
|
_0802181C:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80217EC
|
|
|
|
thumb_func_start sub_8021820
|
|
sub_8021820:
|
|
push {lr}
|
|
bl sub_8021878
|
|
bl sub_8021894
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8021820
|
|
|
|
thumb_func_start sub_8021830
|
|
sub_8021830:
|
|
push {r4,r5,lr}
|
|
ldr r4, _08021870
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0802186A
|
|
ldr r0, [r2, 0x74]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x7C
|
|
ldr r0, _08021874
|
|
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, 0x7C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802186A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08021870: .4byte gUnknown_203B28C
|
|
_08021874: .4byte gUnknown_80DC4BC
|
|
thumb_func_end sub_8021830
|
|
|
|
thumb_func_start sub_8021878
|
|
sub_8021878:
|
|
push {lr}
|
|
bl sub_8004914
|
|
ldr r0, _08021890
|
|
ldr r0, [r0]
|
|
adds r0, 0x7C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08021890: .4byte gUnknown_203B28C
|
|
thumb_func_end sub_8021878
|
|
|
|
thumb_func_start sub_8021894
|
|
sub_8021894:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x168
|
|
ldr r4, _080218F8
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x74]
|
|
bl sub_80073B8
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, 0xC]
|
|
add r0, sp, 0x4
|
|
movs r2, 0
|
|
bl sub_8092578
|
|
ldr r0, [r4]
|
|
ldr r3, [r0, 0x74]
|
|
movs r5, 0
|
|
str r5, [sp]
|
|
movs r0, 0x14
|
|
movs r1, 0
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0xC]
|
|
bl sub_80925DC
|
|
adds r2, r0, 0
|
|
ldr r0, [r4]
|
|
ldr r3, [r0, 0x74]
|
|
str r5, [sp]
|
|
movs r0, 0xA
|
|
movs r1, 0x14
|
|
bl xxx_call_draw_string
|
|
ldr r4, [r4]
|
|
ldrb r0, [r4, 0xD]
|
|
cmp r0, 0
|
|
beq _08021900
|
|
ldr r2, _080218FC
|
|
ldr r3, [r4, 0x74]
|
|
str r5, [sp]
|
|
movs r0, 0x20
|
|
movs r1, 0x3C
|
|
bl xxx_call_draw_string
|
|
b _0802190E
|
|
.align 2, 0
|
|
_080218F8: .4byte gUnknown_203B28C
|
|
_080218FC: .4byte gUnknown_80DC4F0
|
|
_08021900:
|
|
ldr r2, _0802193C
|
|
ldr r3, [r4, 0x74]
|
|
str r0, [sp]
|
|
movs r0, 0x20
|
|
movs r1, 0x3C
|
|
bl xxx_call_draw_string
|
|
_0802190E:
|
|
ldr r4, _08021940
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x74]
|
|
movs r5, 0x4
|
|
str r5, [sp]
|
|
movs r1, 0x4
|
|
movs r2, 0x40
|
|
movs r3, 0x14
|
|
bl sub_800792C
|
|
ldr r4, [r4]
|
|
ldrb r0, [r4, 0xD]
|
|
cmp r0, 0
|
|
beq _08021944
|
|
ldr r0, [r4, 0x74]
|
|
str r5, [sp]
|
|
movs r1, 0xB8
|
|
movs r2, 0x40
|
|
movs r3, 0x14
|
|
bl sub_800792C
|
|
b _08021952
|
|
.align 2, 0
|
|
_0802193C: .4byte gUnknown_80DC518
|
|
_08021940: .4byte gUnknown_203B28C
|
|
_08021944:
|
|
ldr r0, [r4, 0x74]
|
|
str r5, [sp]
|
|
movs r1, 0x5E
|
|
movs r2, 0x40
|
|
movs r3, 0x6E
|
|
bl sub_800792C
|
|
_08021952:
|
|
ldr r5, _080219E8
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x74]
|
|
movs r4, 0x4
|
|
str r4, [sp]
|
|
movs r1, 0x4
|
|
movs r2, 0x82
|
|
movs r3, 0xC8
|
|
bl sub_800792C
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x74]
|
|
str r4, [sp]
|
|
movs r1, 0x3
|
|
movs r2, 0x40
|
|
movs r3, 0x43
|
|
bl sub_8007A78
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x74]
|
|
str r4, [sp]
|
|
movs r1, 0xCC
|
|
movs r2, 0x40
|
|
movs r3, 0x43
|
|
bl sub_8007A78
|
|
movs r6, 0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x70]
|
|
cmp r6, r0
|
|
bge _08021A40
|
|
add r7, sp, 0x104
|
|
mov r8, r5
|
|
mov r9, r6
|
|
_08021996:
|
|
adds r0, r6, 0
|
|
movs r1, 0x3
|
|
bl __modsi3
|
|
lsls r1, r0, 6
|
|
subs r1, r0
|
|
adds r5, r1, 0x7
|
|
adds r0, r6, 0
|
|
movs r1, 0x3
|
|
bl __divsi3
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r4, r1, 0
|
|
adds r4, 0x47
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
lsls r1, r6, 1
|
|
adds r0, 0xE
|
|
adds r0, r1
|
|
movs r2, 0
|
|
ldrsh r1, [r0, r2]
|
|
adds r0, r7, 0
|
|
bl sub_808D930
|
|
mov r0, r8
|
|
ldr r3, [r0]
|
|
lsls r1, r6, 2
|
|
adds r0, r3, 0
|
|
adds r0, 0x30
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _08021A04
|
|
cmp r0, 0x1
|
|
bcc _080219EC
|
|
cmp r0, 0x2
|
|
beq _08021A16
|
|
b _08021A34
|
|
.align 2, 0
|
|
_080219E8: .4byte gUnknown_203B28C
|
|
_080219EC:
|
|
ldr r0, _08021A00
|
|
ldr r2, [r0]
|
|
ldr r3, [r3, 0x74]
|
|
mov r1, r9
|
|
str r1, [sp]
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl xxx_call_draw_string
|
|
b _08021A34
|
|
.align 2, 0
|
|
_08021A00: .4byte gUnknown_80D49BC
|
|
_08021A04:
|
|
ldr r3, [r3, 0x74]
|
|
mov r2, r9
|
|
str r2, [sp]
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
adds r2, r7, 0
|
|
bl xxx_call_draw_string
|
|
b _08021A34
|
|
_08021A16:
|
|
add r0, sp, 0x4
|
|
ldr r1, _08021A58
|
|
adds r2, r7, 0
|
|
bl sub_800D158
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
ldr r3, [r0, 0x74]
|
|
mov r2, r9
|
|
str r2, [sp]
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
_08021A34:
|
|
adds r6, 0x1
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x70]
|
|
cmp r6, r0
|
|
blt _08021996
|
|
_08021A40:
|
|
ldr r0, _08021A5C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x74]
|
|
bl sub_80073E0
|
|
add sp, 0x168
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08021A58: .4byte gUnknown_80DC524
|
|
_08021A5C: .4byte gUnknown_203B28C
|
|
thumb_func_end sub_8021894
|
|
|
|
thumb_func_start sub_8021A60
|
|
sub_8021A60:
|
|
push {r4-r7,lr}
|
|
ldr r2, _08021B4C
|
|
ldr r1, [r2]
|
|
movs r0, 0
|
|
str r0, [r1, 0x70]
|
|
movs r6, 0
|
|
adds r4, r2, 0
|
|
movs r3, 0
|
|
_08021A70:
|
|
ldr r1, [r4]
|
|
lsls r2, r6, 1
|
|
adds r0, r1, 0
|
|
adds r0, 0xE
|
|
adds r0, r2
|
|
strh r3, [r0]
|
|
lsls r0, r6, 2
|
|
adds r1, 0x30
|
|
adds r1, r0
|
|
str r3, [r1]
|
|
adds r6, 0x1
|
|
cmp r6, 0xF
|
|
ble _08021A70
|
|
movs r6, 0
|
|
ldr r7, _08021B4C
|
|
_08021A8E:
|
|
lsls r0, r6, 16
|
|
asrs r5, r0, 16
|
|
ldr r4, [r7]
|
|
adds r0, r5, 0
|
|
bl sub_808DBA8
|
|
ldrb r1, [r4, 0xC]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r1, r0
|
|
bne _08021AC4
|
|
adds r0, r5, 0
|
|
bl sub_808E858
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r5, r0
|
|
bne _08021AC4
|
|
ldr r3, [r7]
|
|
ldr r1, [r3, 0x70]
|
|
lsls r2, r1, 1
|
|
adds r0, r3, 0
|
|
adds r0, 0xE
|
|
adds r0, r2
|
|
strh r5, [r0]
|
|
adds r1, 0x1
|
|
str r1, [r3, 0x70]
|
|
_08021AC4:
|
|
adds r6, 0x1
|
|
ldr r0, _08021B50
|
|
cmp r6, r0
|
|
ble _08021A8E
|
|
movs r6, 0
|
|
_08021ACE:
|
|
lsls r0, r6, 16
|
|
asrs r4, r0, 16
|
|
adds r0, r4, 0
|
|
bl sub_8098134
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08021AFC
|
|
adds r0, r4, 0
|
|
bl sub_8021B58
|
|
adds r2, r0, 0
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r2, r0
|
|
beq _08021AFC
|
|
ldr r0, _08021B4C
|
|
ldr r1, [r0]
|
|
lsls r0, r2, 2
|
|
adds r1, 0x30
|
|
adds r1, r0
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
_08021AFC:
|
|
adds r6, 0x1
|
|
ldr r0, _08021B50
|
|
cmp r6, r0
|
|
ble _08021ACE
|
|
movs r6, 0
|
|
ldr r4, _08021B54
|
|
_08021B08:
|
|
movs r0, 0x58
|
|
adds r1, r6, 0
|
|
muls r1, r0
|
|
ldr r0, [r4]
|
|
adds r2, r0, r1
|
|
ldrb r1, [r2]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08021B3C
|
|
movs r1, 0x8
|
|
ldrsh r0, [r2, r1]
|
|
bl sub_8021B58
|
|
adds r2, r0, 0
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r2, r0
|
|
beq _08021B3C
|
|
ldr r0, _08021B4C
|
|
ldr r1, [r0]
|
|
lsls r0, r2, 2
|
|
adds r1, 0x30
|
|
adds r1, r0
|
|
movs r0, 0x2
|
|
str r0, [r1]
|
|
_08021B3C:
|
|
adds r6, 0x1
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
cmp r6, r0
|
|
ble _08021B08
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08021B4C: .4byte gUnknown_203B28C
|
|
_08021B50: .4byte 0x000001a7
|
|
_08021B54: .4byte gUnknown_203B45C
|
|
thumb_func_end sub_8021A60
|
|
|
|
thumb_func_start sub_8021B58
|
|
sub_8021B58:
|
|
push {r4,r5,lr}
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_808E858
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
movs r2, 0
|
|
ldr r0, _08021B84
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, 0x70]
|
|
cmp r2, r1
|
|
bge _08021B90
|
|
adds r3, r1, 0
|
|
adds r1, r0, 0
|
|
adds r1, 0xE
|
|
_08021B78:
|
|
movs r5, 0
|
|
ldrsh r0, [r1, r5]
|
|
cmp r4, r0
|
|
bne _08021B88
|
|
adds r0, r2, 0
|
|
b _08021B94
|
|
.align 2, 0
|
|
_08021B84: .4byte gUnknown_203B28C
|
|
_08021B88:
|
|
adds r1, 0x2
|
|
adds r2, 0x1
|
|
cmp r2, r3
|
|
blt _08021B78
|
|
_08021B90:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_08021B94:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8021B58
|
|
|
|
thumb_func_start sub_8021B9C
|
|
sub_8021B9C:
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r5, _08021BF8
|
|
movs r0, 0x9C
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r6, 0
|
|
str r6, [r0, 0x14]
|
|
str r6, [r0, 0x18]
|
|
str r4, [r0]
|
|
ldr r0, _08021BFC
|
|
movs r1, 0x28
|
|
bl sub_808D8E0
|
|
ldr r4, _08021C00
|
|
adds r0, r4, 0
|
|
movs r1, 0x28
|
|
bl sub_808D8E0
|
|
movs r0, 0x28
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
subs r4, 0x50
|
|
adds r0, r4, 0
|
|
bl strcpy
|
|
ldr r5, [r5]
|
|
ldr r0, [r5]
|
|
cmp r0, 0x1
|
|
bne _08021C04
|
|
adds r0, r5, 0
|
|
adds r0, 0xCC
|
|
str r6, [r0]
|
|
b _08021C0E
|
|
.align 2, 0
|
|
_08021BF8: .4byte gUnknown_203B290
|
|
_08021BFC: .4byte gUnknown_202E5D8
|
|
_08021C00: .4byte gUnknown_202E1C8
|
|
_08021C04:
|
|
adds r1, r5, 0
|
|
adds r1, 0xCC
|
|
adds r0, r5, 0
|
|
adds r0, 0xBC
|
|
str r0, [r1]
|
|
_08021C0E:
|
|
movs r0, 0x28
|
|
bl sub_808DDD0
|
|
ldr r2, _08021C58
|
|
ldr r3, [r2]
|
|
adds r1, r3, 0
|
|
adds r1, 0xBC
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
ldr r0, [r0, 0x4]
|
|
str r0, [r1]
|
|
adds r0, r3, 0
|
|
adds r0, 0xC8
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
adds r0, 0xC9
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
adds r0, 0xCA
|
|
strb r1, [r0]
|
|
ldr r1, [r2]
|
|
adds r2, r1, 0
|
|
adds r2, 0xC4
|
|
movs r0, 0x2
|
|
strh r0, [r2]
|
|
adds r1, 0xC6
|
|
movs r0, 0x8
|
|
strh r0, [r1]
|
|
movs r0, 0
|
|
bl sub_8021D44
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08021C58: .4byte gUnknown_203B290
|
|
thumb_func_end sub_8021B9C
|
|
|
|
thumb_func_start sub_8021C5C
|
|
sub_8021C5C:
|
|
push {lr}
|
|
ldr r0, _08021C74
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
cmp r0, 0x17
|
|
bhi _08021D10
|
|
lsls r0, 2
|
|
ldr r1, _08021C78
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08021C74: .4byte gUnknown_203B290
|
|
_08021C78: .4byte _08021C7C
|
|
.align 2, 0
|
|
_08021C7C:
|
|
.4byte _08021CDC
|
|
.4byte _08021CDC
|
|
.4byte _08021D10
|
|
.4byte _08021D10
|
|
.4byte _08021D0C
|
|
.4byte _08021D10
|
|
.4byte _08021D10
|
|
.4byte _08021D10
|
|
.4byte _08021D10
|
|
.4byte _08021CE2
|
|
.4byte _08021CE2
|
|
.4byte _08021CE8
|
|
.4byte _08021D10
|
|
.4byte _08021CF4
|
|
.4byte _08021CFA
|
|
.4byte _08021D10
|
|
.4byte _08021D00
|
|
.4byte _08021CEE
|
|
.4byte _08021D10
|
|
.4byte _08021D10
|
|
.4byte _08021D10
|
|
.4byte _08021D10
|
|
.4byte _08021D06
|
|
.4byte _08021D06
|
|
_08021CDC:
|
|
bl sub_8022460
|
|
b _08021D14
|
|
_08021CE2:
|
|
bl sub_8022538
|
|
b _08021D14
|
|
_08021CE8:
|
|
bl sub_80225C8
|
|
b _08021D14
|
|
_08021CEE:
|
|
bl sub_80224D4
|
|
b _08021D14
|
|
_08021CF4:
|
|
bl sub_80226F0
|
|
b _08021D14
|
|
_08021CFA:
|
|
bl sub_8022790
|
|
b _08021D14
|
|
_08021D00:
|
|
bl sub_8022668
|
|
b _08021D14
|
|
_08021D06:
|
|
bl sub_8022684
|
|
b _08021D14
|
|
_08021D0C:
|
|
movs r0, 0x3
|
|
b _08021D16
|
|
_08021D10:
|
|
bl sub_80226CC
|
|
_08021D14:
|
|
movs r0, 0
|
|
_08021D16:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8021C5C
|
|
|
|
thumb_func_start sub_8021D1C
|
|
sub_8021D1C:
|
|
push {r4,lr}
|
|
ldr r4, _08021D40
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _08021D38
|
|
adds r0, 0xBC
|
|
ldr r0, [r0]
|
|
bl CloseFile
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_08021D38:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08021D40: .4byte gUnknown_203B290
|
|
thumb_func_end sub_8021D1C
|
|
|
|
thumb_func_start sub_8021D44
|
|
sub_8021D44:
|
|
push {lr}
|
|
ldr r1, _08021D58
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x4]
|
|
bl sub_8021D5C
|
|
bl sub_8021E0C
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08021D58: .4byte gUnknown_203B290
|
|
thumb_func_end sub_8021D44
|
|
|
|
thumb_func_start sub_8021D5C
|
|
sub_8021D5C:
|
|
push {r4-r7,lr}
|
|
ldr r4, _08021D7C
|
|
ldr r0, [r4]
|
|
adds r0, 0xD0
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x4]
|
|
cmp r0, 0x9
|
|
blt _08021DC8
|
|
cmp r0, 0xA
|
|
ble _08021D80
|
|
cmp r0, 0xB
|
|
beq _08021DB0
|
|
b _08021DC8
|
|
.align 2, 0
|
|
_08021D7C: .4byte gUnknown_203B290
|
|
_08021D80:
|
|
ldr r2, _08021DA8
|
|
adds r1, 0xD0
|
|
adds r0, r2, 0
|
|
ldm r0!, {r3,r5,r6}
|
|
stm r1!, {r3,r5,r6}
|
|
ldm r0!, {r3,r5,r7}
|
|
stm r1!, {r3,r5,r7}
|
|
ldr r0, [r4]
|
|
movs r6, 0x80
|
|
lsls r6, 1
|
|
adds r0, r6
|
|
ldm r2!, {r1,r3,r7}
|
|
stm r0!, {r1,r3,r7}
|
|
ldm r2!, {r5-r7}
|
|
stm r0!, {r5-r7}
|
|
ldr r1, [r4]
|
|
adds r1, 0xE8
|
|
ldr r0, _08021DAC
|
|
b _08021DB8
|
|
.align 2, 0
|
|
_08021DA8: .4byte gUnknown_80DC534
|
|
_08021DAC: .4byte gUnknown_80DC564
|
|
_08021DB0:
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
adds r1, r0
|
|
ldr r0, _08021DC4
|
|
_08021DB8:
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
b _08021DEC
|
|
.align 2, 0
|
|
_08021DC4: .4byte gUnknown_80DC54C
|
|
_08021DC8:
|
|
ldr r0, _08021E04
|
|
mov r12, r0
|
|
ldr r4, _08021E08
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_08021DD2:
|
|
mov r5, r12
|
|
ldr r1, [r5]
|
|
adds r1, r3
|
|
adds r1, 0xD0
|
|
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 _08021DD2
|
|
_08021DEC:
|
|
bl sub_8004914
|
|
ldr r0, _08021E04
|
|
ldr r0, [r0]
|
|
adds r0, 0xD0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08021E04: .4byte gUnknown_203B290
|
|
_08021E08: .4byte gUnknown_80DC534
|
|
thumb_func_end sub_8021D5C
|
|
|
|
thumb_func_start sub_8021E0C
|
|
sub_8021E0C:
|
|
push {r4,lr}
|
|
sub sp, 0x20
|
|
ldr r1, _08021E28
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x4]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x1C
|
|
bls _08021E1E
|
|
b _080222B6
|
|
_08021E1E:
|
|
lsls r0, 2
|
|
ldr r1, _08021E2C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08021E28: .4byte gUnknown_203B290
|
|
_08021E2C: .4byte _08021E30
|
|
.align 2, 0
|
|
_08021E30:
|
|
.4byte _08021EA4
|
|
.4byte _08021EC0
|
|
.4byte _08021F38
|
|
.4byte _08021F50
|
|
.4byte _080222B6
|
|
.4byte _08021F78
|
|
.4byte _08021F90
|
|
.4byte _08021F08
|
|
.4byte _08021F20
|
|
.4byte _08021FD8
|
|
.4byte _08021FE2
|
|
.4byte _08021FF0
|
|
.4byte _0802208E
|
|
.4byte _080220B8
|
|
.4byte _080220D8
|
|
.4byte _080220EA
|
|
.4byte _08022080
|
|
.4byte _08022024
|
|
.4byte _08021FA8
|
|
.4byte _08021FC0
|
|
.4byte _08022138
|
|
.4byte _08022150
|
|
.4byte _08022168
|
|
.4byte _08022176
|
|
.4byte _0802217E
|
|
.4byte _08022238
|
|
.4byte _08022250
|
|
.4byte _08022268
|
|
.4byte _08022294
|
|
_08021EA4:
|
|
bl sub_80222C8
|
|
ldr r2, _08021EB8
|
|
ldr r0, _08021EBC
|
|
ldr r4, [r0]
|
|
ldr r1, [r4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
b _08021ED4
|
|
.align 2, 0
|
|
_08021EB8: .4byte gUnknown_80D79A4
|
|
_08021EBC: .4byte gUnknown_203B290
|
|
_08021EC0:
|
|
bl sub_80222C8
|
|
ldr r2, _08021F00
|
|
ldr r0, _08021F04
|
|
ldr r4, [r0]
|
|
ldr r1, [r4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x4
|
|
_08021ED4:
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
ldr r2, [r4, 0x14]
|
|
adds r3, r4, 0
|
|
adds r3, 0x1C
|
|
adds r1, r4, 0
|
|
adds r1, 0x5C
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
str r1, [sp, 0x8]
|
|
adds r1, r4, 0
|
|
adds r1, 0xCC
|
|
ldr r1, [r1]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
bl sub_8014248
|
|
b _080222B6
|
|
.align 2, 0
|
|
_08021F00: .4byte gUnknown_80D79A4
|
|
_08021F04: .4byte gUnknown_203B290
|
|
_08021F08:
|
|
ldr r3, [r4]
|
|
movs r0, 0x9
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _08021F1C
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0xC
|
|
b _0802227A
|
|
.align 2, 0
|
|
_08021F1C: .4byte gUnknown_80D79A4
|
|
_08021F20:
|
|
ldr r3, [r4]
|
|
movs r0, 0xA
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _08021F34
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x10
|
|
b _0802227A
|
|
.align 2, 0
|
|
_08021F34: .4byte gUnknown_80D79A4
|
|
_08021F38:
|
|
ldr r3, [r4]
|
|
movs r0, 0x1
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _08021F4C
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x4C
|
|
b _0802227A
|
|
.align 2, 0
|
|
_08021F4C: .4byte gUnknown_80D79A4
|
|
_08021F50:
|
|
ldr r3, [r4]
|
|
movs r0, 0x4
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _08021F70
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x8
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r3, 0xCC
|
|
ldr r2, [r3]
|
|
ldr r3, _08021F74
|
|
b _08022284
|
|
.align 2, 0
|
|
_08021F70: .4byte gUnknown_80D79A4
|
|
_08021F74: .4byte 0x0000030d
|
|
_08021F78:
|
|
ldr r3, [r4]
|
|
movs r0, 0x3
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _08021F8C
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x20
|
|
b _0802227A
|
|
.align 2, 0
|
|
_08021F8C: .4byte gUnknown_80D79A4
|
|
_08021F90:
|
|
ldr r3, [r4]
|
|
movs r0, 0xA
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _08021FA4
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x24
|
|
b _0802227A
|
|
.align 2, 0
|
|
_08021FA4: .4byte gUnknown_80D79A4
|
|
_08021FA8:
|
|
ldr r3, [r4]
|
|
movs r0, 0x3
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _08021FBC
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x28
|
|
b _0802227A
|
|
.align 2, 0
|
|
_08021FBC: .4byte gUnknown_80D79A4
|
|
_08021FC0:
|
|
ldr r3, [r4]
|
|
movs r0, 0xA
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _08021FD4
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x2C
|
|
b _0802227A
|
|
.align 2, 0
|
|
_08021FD4: .4byte gUnknown_80D79A4
|
|
_08021FD8:
|
|
movs r0, 0x2
|
|
movs r1, 0x3
|
|
bl sub_80211AC
|
|
b _08021FE8
|
|
_08021FE2:
|
|
movs r0, 0x1
|
|
bl sub_8021354
|
|
_08021FE8:
|
|
movs r0, 0x1
|
|
bl sub_8016C40
|
|
b _080222B6
|
|
_08021FF0:
|
|
bl sub_8021494
|
|
movs r0, 0x1
|
|
bl sub_8016C40
|
|
bl sub_8022380
|
|
ldr r0, _08022020
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x6C
|
|
adds r1, r2, 0
|
|
adds r1, 0x1C
|
|
adds r3, r2, 0
|
|
adds r3, 0x5C
|
|
ldr r2, [r2, 0x18]
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8012D60
|
|
b _080222B6
|
|
.align 2, 0
|
|
_08022020: .4byte gUnknown_203B290
|
|
_08022024:
|
|
bl sub_8022420
|
|
ldr r0, _08022070
|
|
ldr r4, _08022074
|
|
ldr r1, [r4]
|
|
ldrb r1, [r1, 0x10]
|
|
movs r2, 0
|
|
bl sub_8092578
|
|
ldr r1, _08022078
|
|
ldr r4, [r4]
|
|
ldr r0, [r4, 0xC]
|
|
str r0, [r1]
|
|
ldr r2, _0802207C
|
|
ldr r1, [r4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x14
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r3, r4, 0
|
|
adds r3, 0x1C
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
adds r4, 0xCC
|
|
ldr r1, [r4]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x5
|
|
bl sub_8014248
|
|
b _080222B6
|
|
.align 2, 0
|
|
_08022070: .4byte gUnknown_202E628
|
|
_08022074: .4byte gUnknown_203B290
|
|
_08022078: .4byte gUnknown_202DE30
|
|
_0802207C: .4byte gUnknown_80D79A4
|
|
_08022080:
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x2
|
|
bl sub_8021774
|
|
b _080222B6
|
|
_0802208E:
|
|
ldr r1, [r4]
|
|
movs r0, 0xD
|
|
str r0, [r1, 0x8]
|
|
ldr r0, _080220B0
|
|
ldrb r1, [r1, 0x10]
|
|
movs r2, 0
|
|
bl sub_8092578
|
|
ldr r2, _080220B4
|
|
ldr r3, [r4]
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x18
|
|
b _0802227A
|
|
.align 2, 0
|
|
_080220B0: .4byte gUnknown_202E628
|
|
_080220B4: .4byte gUnknown_80D79A4
|
|
_080220B8:
|
|
ldr r1, [r4]
|
|
movs r0, 0xE
|
|
str r0, [r1, 0x8]
|
|
ldr r0, _080220D4
|
|
bl sub_8011988
|
|
ldr r0, [r4]
|
|
movs r1, 0x98
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
str r1, [r0]
|
|
b _080222B6
|
|
.align 2, 0
|
|
_080220D4: .4byte 0x0000025b
|
|
_080220D8:
|
|
ldr r0, [r4]
|
|
movs r1, 0xF
|
|
str r1, [r0, 0x8]
|
|
movs r1, 0x9A
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0x1E
|
|
str r1, [r0]
|
|
b _080222B6
|
|
_080220EA:
|
|
movs r0, 0x2
|
|
bl sub_8021700
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08022108
|
|
bl sub_80213A0
|
|
ldr r0, _08022104
|
|
ldr r1, [r0]
|
|
movs r0, 0x12
|
|
b _0802210E
|
|
.align 2, 0
|
|
_08022104: .4byte gUnknown_203B290
|
|
_08022108:
|
|
ldr r0, _08022130
|
|
ldr r1, [r0]
|
|
movs r0, 0x8
|
|
_0802210E:
|
|
str r0, [r1, 0x8]
|
|
movs r0, 0xCE
|
|
bl sub_8011988
|
|
ldr r3, _08022134
|
|
ldr r0, _08022130
|
|
ldr r2, [r0]
|
|
ldr r1, [r2]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r3, 0x1C
|
|
adds r0, r3
|
|
ldr r0, [r0]
|
|
adds r2, 0xCC
|
|
ldr r2, [r2]
|
|
b _08022282
|
|
.align 2, 0
|
|
_08022130: .4byte gUnknown_203B290
|
|
_08022134: .4byte gUnknown_80D79A4
|
|
_08022138:
|
|
ldr r3, [r4]
|
|
movs r0, 0x16
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _0802214C
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x30
|
|
b _0802227A
|
|
.align 2, 0
|
|
_0802214C: .4byte gUnknown_80D79A4
|
|
_08022150:
|
|
ldr r3, [r4]
|
|
movs r0, 0x17
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _08022164
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x34
|
|
b _0802227A
|
|
.align 2, 0
|
|
_08022164: .4byte gUnknown_80D79A4
|
|
_08022168:
|
|
movs r0, 0
|
|
movs r1, 0x3
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl sub_8023144
|
|
b _080222B6
|
|
_08022176:
|
|
movs r0, 0x1
|
|
bl sub_8023354
|
|
b _080222B6
|
|
_0802217E:
|
|
ldr r4, _080221A0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x10]
|
|
add r1, sp, 0x14
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8092638
|
|
add r0, sp, 0x14
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
beq _080221A4
|
|
ldr r1, [r4]
|
|
movs r0, 0x19
|
|
str r0, [r1, 0x8]
|
|
b _080221FA
|
|
.align 2, 0
|
|
_080221A0: .4byte gUnknown_203B290
|
|
_080221A4:
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x10]
|
|
bl sub_8092534
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x2
|
|
beq _080221E0
|
|
cmp r0, 0x2
|
|
bgt _080221BE
|
|
cmp r0, 0x1
|
|
beq _080221C4
|
|
b _080221F0
|
|
_080221BE:
|
|
cmp r0, 0x3
|
|
beq _080221E8
|
|
b _080221F0
|
|
_080221C4:
|
|
movs r0, 0x6
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080221D8
|
|
ldr r1, [r4]
|
|
movs r0, 0x15
|
|
str r0, [r1, 0x8]
|
|
b _080221FA
|
|
_080221D8:
|
|
ldr r1, [r4]
|
|
movs r0, 0x1A
|
|
str r0, [r1, 0x8]
|
|
b _080221FA
|
|
_080221E0:
|
|
ldr r1, [r4]
|
|
movs r0, 0x1B
|
|
str r0, [r1, 0x8]
|
|
b _080221FA
|
|
_080221E8:
|
|
ldr r1, [r4]
|
|
movs r0, 0x1C
|
|
str r0, [r1, 0x8]
|
|
b _080221FA
|
|
_080221F0:
|
|
ldr r2, _08022228
|
|
ldr r1, [r2]
|
|
movs r0, 0x15
|
|
str r0, [r1, 0x8]
|
|
adds r4, r2, 0
|
|
_080221FA:
|
|
ldr r0, [r4]
|
|
movs r1, 0x12
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r0, _0802222C
|
|
bl strcpy
|
|
ldr r0, _08022230
|
|
ldr r1, [r4]
|
|
ldrb r1, [r1, 0x10]
|
|
movs r2, 0
|
|
bl sub_8092578
|
|
ldr r2, _08022234
|
|
ldr r3, [r4]
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x38
|
|
b _0802227A
|
|
.align 2, 0
|
|
_08022228: .4byte gUnknown_203B290
|
|
_0802222C: .4byte gUnknown_202DF98
|
|
_08022230: .4byte gUnknown_202E628
|
|
_08022234: .4byte gUnknown_80D79A4
|
|
_08022238:
|
|
ldr r3, [r4]
|
|
movs r0, 0x15
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _0802224C
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x3C
|
|
b _0802227A
|
|
.align 2, 0
|
|
_0802224C: .4byte gUnknown_80D79A4
|
|
_08022250:
|
|
ldr r3, [r4]
|
|
movs r0, 0x15
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _08022264
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x40
|
|
b _0802227A
|
|
.align 2, 0
|
|
_08022264: .4byte gUnknown_80D79A4
|
|
_08022268:
|
|
ldr r3, [r4]
|
|
movs r0, 0x15
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _0802228C
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x44
|
|
_0802227A:
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r3, 0xCC
|
|
ldr r2, [r3]
|
|
_08022282:
|
|
ldr r3, _08022290
|
|
_08022284:
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
b _080222B6
|
|
.align 2, 0
|
|
_0802228C: .4byte gUnknown_80D79A4
|
|
_08022290: .4byte 0x0000010d
|
|
_08022294:
|
|
ldr r3, [r4]
|
|
movs r0, 0x15
|
|
str r0, [r3, 0x8]
|
|
ldr r2, _080222C0
|
|
ldr r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r2, 0x48
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r3, 0xCC
|
|
ldr r2, [r3]
|
|
ldr r3, _080222C4
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
_080222B6:
|
|
add sp, 0x20
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080222C0: .4byte gUnknown_80D79A4
|
|
_080222C4: .4byte 0x0000010d
|
|
thumb_func_end sub_8021E0C
|
|
|
|
thumb_func_start sub_80222C8
|
|
sub_80222C8:
|
|
push {r4-r7,lr}
|
|
ldr r4, _08022344
|
|
ldr r0, [r4]
|
|
adds r0, 0x5C
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r1, [r4]
|
|
movs r5, 0
|
|
ldr r0, _08022348
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x1C]
|
|
adds r3, r1, 0
|
|
adds r3, 0x20
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x20]
|
|
movs r2, 0x1
|
|
ldr r0, _0802234C
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x24]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x28]
|
|
ldr r0, _08022350
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x2C]
|
|
movs r0, 0x4
|
|
str r0, [r1, 0x30]
|
|
ldr r0, _08022354
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x34]
|
|
str r2, [r1, 0x38]
|
|
movs r7, 0x4
|
|
str r5, [r1, 0x3C]
|
|
str r2, [r3, 0x20]
|
|
adds r6, r1, 0
|
|
adds r2, r6, 0
|
|
adds r2, 0x5C
|
|
_08022314:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _08022322
|
|
ldr r1, [r3]
|
|
ldr r0, [r6, 0x14]
|
|
cmp r1, r0
|
|
beq _0802237A
|
|
_08022322:
|
|
adds r3, 0x8
|
|
adds r2, 0x2
|
|
adds r5, 0x1
|
|
cmp r5, r7
|
|
blt _08022314
|
|
movs r5, 0
|
|
cmp r5, r7
|
|
bge _0802237A
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x5C
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _08022358
|
|
ldr r0, [r1, 0x20]
|
|
str r0, [r1, 0x14]
|
|
b _0802237A
|
|
.align 2, 0
|
|
_08022344: .4byte gUnknown_203B290
|
|
_08022348: .4byte gUnknown_80D4978
|
|
_0802234C: .4byte gUnknown_80D499C
|
|
_08022350: .4byte gUnknown_80D4970
|
|
_08022354: .4byte gUnknown_80D4934
|
|
_08022358:
|
|
adds r5, 0x1
|
|
cmp r5, r7
|
|
bge _0802237A
|
|
ldr r2, [r4]
|
|
lsls r0, r5, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0x5C
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08022358
|
|
lsls r0, r5, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x20
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x14]
|
|
_0802237A:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80222C8
|
|
|
|
thumb_func_start sub_8022380
|
|
sub_8022380:
|
|
push {r4-r7,lr}
|
|
ldr r4, _080223EC
|
|
ldr r0, [r4]
|
|
adds r0, 0x5C
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r3, [r4]
|
|
movs r2, 0
|
|
ldr r0, _080223F0
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x1C]
|
|
movs r0, 0x2
|
|
str r0, [r3, 0x20]
|
|
movs r1, 0x1
|
|
ldr r0, _080223F4
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x24]
|
|
movs r0, 0x4
|
|
str r0, [r3, 0x28]
|
|
movs r6, 0x2
|
|
str r2, [r3, 0x2C]
|
|
str r1, [r3, 0x30]
|
|
movs r5, 0
|
|
mov r12, r3
|
|
adds r3, 0x20
|
|
mov r2, r12
|
|
adds r2, 0x5C
|
|
_080223BA:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _080223CA
|
|
ldr r1, [r3]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x18]
|
|
cmp r1, r0
|
|
beq _0802241A
|
|
_080223CA:
|
|
adds r3, 0x8
|
|
adds r2, 0x2
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
blt _080223BA
|
|
movs r5, 0
|
|
cmp r5, r6
|
|
bge _0802241A
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x5C
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _080223F8
|
|
ldr r0, [r1, 0x20]
|
|
str r0, [r1, 0x18]
|
|
b _0802241A
|
|
.align 2, 0
|
|
_080223EC: .4byte gUnknown_203B290
|
|
_080223F0: .4byte gUnknown_80D4978
|
|
_080223F4: .4byte gUnknown_80D4970
|
|
_080223F8:
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
bge _0802241A
|
|
ldr r2, [r4]
|
|
lsls r0, r5, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0x5C
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _080223F8
|
|
lsls r0, r5, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x20
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x18]
|
|
_0802241A:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8022380
|
|
|
|
thumb_func_start sub_8022420
|
|
sub_8022420:
|
|
push {r4,lr}
|
|
ldr r4, _08022454
|
|
ldr r0, [r4]
|
|
adds r0, 0x5C
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r1, [r4]
|
|
movs r3, 0
|
|
ldr r0, _08022458
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x1C]
|
|
movs r0, 0x5
|
|
str r0, [r1, 0x20]
|
|
movs r2, 0x1
|
|
ldr r0, _0802245C
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x24]
|
|
movs r0, 0x6
|
|
str r0, [r1, 0x28]
|
|
str r3, [r1, 0x2C]
|
|
str r2, [r1, 0x30]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08022454: .4byte gUnknown_203B290
|
|
_08022458: .4byte gUnknown_80D4920
|
|
_0802245C: .4byte gUnknown_80D4928
|
|
thumb_func_end sub_8022420
|
|
|
|
thumb_func_start sub_8022460
|
|
sub_8022460:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080224CC
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _0802247A
|
|
ldr r0, _0802248C
|
|
ldr r0, [r0]
|
|
str r1, [r0, 0x14]
|
|
_0802247A:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _0802249A
|
|
cmp r0, 0x2
|
|
bgt _08022490
|
|
cmp r0, 0x1
|
|
beq _080224C6
|
|
b _080224CC
|
|
.align 2, 0
|
|
_0802248C: .4byte gUnknown_203B290
|
|
_08022490:
|
|
cmp r0, 0x3
|
|
beq _080224B6
|
|
cmp r0, 0x4
|
|
beq _080224BE
|
|
b _080224CC
|
|
_0802249A:
|
|
movs r0, 0x2
|
|
bl sub_8021700
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080224AE
|
|
movs r0, 0x5
|
|
bl sub_8021D44
|
|
b _080224CC
|
|
_080224AE:
|
|
movs r0, 0x7
|
|
bl sub_8021D44
|
|
b _080224CC
|
|
_080224B6:
|
|
movs r0, 0x14
|
|
bl sub_8021D44
|
|
b _080224CC
|
|
_080224BE:
|
|
movs r0, 0x2
|
|
bl sub_8021D44
|
|
b _080224CC
|
|
_080224C6:
|
|
movs r0, 0x3
|
|
bl sub_8021D44
|
|
_080224CC:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8022460
|
|
|
|
thumb_func_start sub_80224D4
|
|
sub_80224D4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08022532
|
|
ldr r0, [sp]
|
|
cmp r0, 0x5
|
|
beq _080224F8
|
|
cmp r0, 0x5
|
|
bgt _080224F2
|
|
cmp r0, 0x1
|
|
beq _0802252C
|
|
b _08022532
|
|
_080224F2:
|
|
cmp r0, 0x6
|
|
beq _0802252C
|
|
b _08022532
|
|
_080224F8:
|
|
ldr r0, _08022524
|
|
ldr r2, [r0]
|
|
movs r0, 0x98
|
|
lsls r0, 2
|
|
adds r2, r0
|
|
ldr r0, _08022528
|
|
ldr r3, [r0]
|
|
ldr r0, [r2]
|
|
ldr r1, [r3, 0xC]
|
|
subs r0, r1
|
|
str r0, [r2]
|
|
ldrb r0, [r3, 0x10]
|
|
bl sub_80925EC
|
|
movs r0, 0xA6
|
|
lsls r0, 1
|
|
bl sub_8011988
|
|
movs r0, 0xC
|
|
bl sub_8021D44
|
|
b _08022532
|
|
.align 2, 0
|
|
_08022524: .4byte gUnknown_203B460
|
|
_08022528: .4byte gUnknown_203B290
|
|
_0802252C:
|
|
movs r0, 0xA
|
|
bl sub_8021D44
|
|
_08022532:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80224D4
|
|
|
|
thumb_func_start sub_8022538
|
|
sub_8022538:
|
|
push {r4,lr}
|
|
movs r0, 0x1
|
|
bl sub_8021274
|
|
cmp r0, 0x4
|
|
bhi _080225BC
|
|
lsls r0, 2
|
|
ldr r1, _08022550
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08022550: .4byte _08022554
|
|
.align 2, 0
|
|
_08022554:
|
|
.4byte _080225C2
|
|
.4byte _080225BC
|
|
.4byte _080225B0
|
|
.4byte _08022568
|
|
.4byte _0802258C
|
|
_08022568:
|
|
bl sub_802132C
|
|
ldr r4, _08022588
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x10]
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x10]
|
|
bl sub_8092544
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0xB
|
|
bl sub_8021D44
|
|
b _080225C2
|
|
.align 2, 0
|
|
_08022588: .4byte gUnknown_203B290
|
|
_0802258C:
|
|
bl sub_802132C
|
|
ldr r4, _080225AC
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x10]
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x10]
|
|
bl sub_8092544
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0x10
|
|
bl sub_8021D44
|
|
b _080225C2
|
|
.align 2, 0
|
|
_080225AC: .4byte gUnknown_203B290
|
|
_080225B0:
|
|
bl sub_80213A0
|
|
movs r0, 0x1
|
|
bl sub_8021D44
|
|
b _080225C2
|
|
_080225BC:
|
|
movs r0, 0x1
|
|
bl sub_8016C40
|
|
_080225C2:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8022538
|
|
|
|
thumb_func_start sub_80225C8
|
|
sub_80225C8:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_8021274
|
|
ldr r4, _08022608
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080225F8
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _080225F8
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x18]
|
|
_080225F8:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _08022612
|
|
cmp r0, 0x2
|
|
bgt _0802260C
|
|
cmp r0, 0x1
|
|
beq _08022658
|
|
b _0802265E
|
|
.align 2, 0
|
|
_08022608: .4byte gUnknown_203B290
|
|
_0802260C:
|
|
cmp r0, 0x4
|
|
beq _08022650
|
|
b _0802265E
|
|
_08022612:
|
|
ldr r0, _0802262C
|
|
ldr r0, [r0]
|
|
movs r1, 0x98
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
cmp r1, 0
|
|
bne _08022630
|
|
movs r0, 0x6
|
|
bl sub_8021D44
|
|
b _0802265E
|
|
.align 2, 0
|
|
_0802262C: .4byte gUnknown_203B460
|
|
_08022630:
|
|
ldr r0, _08022644
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0xC]
|
|
cmp r0, r1
|
|
ble _08022648
|
|
movs r0, 0x13
|
|
bl sub_8021D44
|
|
b _0802265E
|
|
.align 2, 0
|
|
_08022644: .4byte gUnknown_203B290
|
|
_08022648:
|
|
movs r0, 0x11
|
|
bl sub_8021D44
|
|
b _0802265E
|
|
_08022650:
|
|
movs r0, 0x10
|
|
bl sub_8021D44
|
|
b _0802265E
|
|
_08022658:
|
|
movs r0, 0xA
|
|
bl sub_8021D44
|
|
_0802265E:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80225C8
|
|
|
|
thumb_func_start sub_8022668
|
|
sub_8022668:
|
|
push {lr}
|
|
bl sub_80217EC
|
|
cmp r0, 0x1
|
|
bls _08022680
|
|
cmp r0, 0x3
|
|
bhi _08022680
|
|
bl sub_8021830
|
|
movs r0, 0xA
|
|
bl sub_8021D44
|
|
_08022680:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8022668
|
|
|
|
thumb_func_start sub_8022684
|
|
sub_8022684:
|
|
push {r4,lr}
|
|
movs r0, 0x1
|
|
bl sub_8023278
|
|
cmp r0, 0x2
|
|
beq _080226BC
|
|
cmp r0, 0x2
|
|
bcc _080226C6
|
|
cmp r0, 0x3
|
|
bne _080226C6
|
|
bl sub_802331C
|
|
ldr r4, _080226B8
|
|
ldr r1, [r4]
|
|
strh r0, [r1, 0x12]
|
|
movs r2, 0x12
|
|
ldrsh r0, [r1, r2]
|
|
bl sub_808DBA8
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x10]
|
|
movs r0, 0x18
|
|
bl sub_8021D44
|
|
b _080226C6
|
|
.align 2, 0
|
|
_080226B8: .4byte gUnknown_203B290
|
|
_080226BC:
|
|
bl sub_80233A0
|
|
movs r0, 0x1
|
|
bl sub_8021D44
|
|
_080226C6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8022684
|
|
|
|
thumb_func_start sub_80226CC
|
|
sub_80226CC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080226E4
|
|
ldr r0, _080226EC
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x8]
|
|
bl sub_8021D44
|
|
_080226E4:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080226EC: .4byte gUnknown_203B290
|
|
thumb_func_end sub_80226CC
|
|
|
|
thumb_func_start sub_80226F0
|
|
sub_80226F0:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r1, sp
|
|
movs r2, 0
|
|
movs r0, 0x80
|
|
strb r0, [r1]
|
|
strb r0, [r1, 0x1]
|
|
movs r0, 0x10
|
|
strb r0, [r1, 0x2]
|
|
strb r2, [r1, 0x3]
|
|
bl sub_8099B94
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08022782
|
|
ldr r0, _08022728
|
|
ldr r0, [r0]
|
|
movs r1, 0x98
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0x4
|
|
bhi _0802275C
|
|
lsls r0, 2
|
|
ldr r1, _0802272C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08022728: .4byte gUnknown_203B290
|
|
_0802272C: .4byte _08022730
|
|
.align 2, 0
|
|
_08022730:
|
|
.4byte _0802275C
|
|
.4byte _08022744
|
|
.4byte _08022750
|
|
.4byte _08022744
|
|
.4byte _08022750
|
|
_08022744:
|
|
movs r0, 0x5
|
|
movs r1, 0x2
|
|
ldr r2, [sp]
|
|
bl sub_8099AFC
|
|
b _08022772
|
|
_08022750:
|
|
movs r0, 0x5
|
|
movs r1, 0x2
|
|
ldr r2, [sp]
|
|
bl sub_8099A5C
|
|
b _08022772
|
|
_0802275C:
|
|
ldr r4, _0802278C
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x8]
|
|
bl sub_8021D44
|
|
ldr r0, [r4]
|
|
movs r1, 0x98
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
_08022772:
|
|
ldr r0, _0802278C
|
|
ldr r1, [r0]
|
|
movs r0, 0x98
|
|
lsls r0, 1
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
adds r0, 0x1
|
|
str r0, [r1]
|
|
_08022782:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802278C: .4byte gUnknown_203B290
|
|
thumb_func_end sub_80226F0
|
|
|
|
thumb_func_start sub_8022790
|
|
sub_8022790:
|
|
push {lr}
|
|
ldr r0, _080227A8
|
|
ldr r2, [r0]
|
|
movs r0, 0x9A
|
|
lsls r0, 1
|
|
adds r1, r2, r0
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
beq _080227AC
|
|
subs r0, 0x1
|
|
str r0, [r1]
|
|
b _080227B2
|
|
.align 2, 0
|
|
_080227A8: .4byte gUnknown_203B290
|
|
_080227AC:
|
|
ldr r0, [r2, 0x8]
|
|
bl sub_8021D44
|
|
_080227B2:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8022790
|
|
|
|
thumb_func_start sub_80227B8
|
|
sub_80227B8:
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, _08022810
|
|
movs r0, 0xD4
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
adds r2, r0, 0
|
|
adds r2, 0xF4
|
|
movs r1, 0
|
|
str r1, [r2]
|
|
str r5, [r0, 0x48]
|
|
cmp r5, 0
|
|
beq _08022820
|
|
ldr r4, _08022814
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
movs r2, 0x7
|
|
bl sub_808D9AC
|
|
adds r4, 0x50
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
movs r2, 0x6
|
|
bl sub_808D9AC
|
|
bl sub_809177C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08022818
|
|
movs r0, 0
|
|
bl sub_8022924
|
|
b _08022856
|
|
.align 2, 0
|
|
_08022810: .4byte gUnknown_203B294
|
|
_08022814: .4byte gUnknown_202DF98
|
|
_08022818:
|
|
movs r0, 0x11
|
|
bl sub_8022924
|
|
b _08022856
|
|
_08022820:
|
|
ldr r4, _08022848
|
|
ldr r5, _0802284C
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl strcpy
|
|
adds r4, 0x50
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl strcpy
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
bne _08022850
|
|
movs r0, 0x12
|
|
bl sub_8022924
|
|
b _08022856
|
|
.align 2, 0
|
|
_08022848: .4byte gUnknown_202DF98
|
|
_0802284C: .4byte gUnknown_80DC5EC
|
|
_08022850:
|
|
movs r0, 0
|
|
bl sub_8022924
|
|
_08022856:
|
|
movs r0, 0x1
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80227B8
|
|
|
|
thumb_func_start sub_8022860
|
|
sub_8022860:
|
|
push {lr}
|
|
ldr r0, _08022878
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x16
|
|
bhi _080228FE
|
|
lsls r0, 2
|
|
ldr r1, _0802287C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08022878: .4byte gUnknown_203B294
|
|
_0802287C: .4byte _08022880
|
|
.align 2, 0
|
|
_08022880:
|
|
.4byte _080228DC
|
|
.4byte _080228DC
|
|
.4byte _080228E2
|
|
.4byte _080228E8
|
|
.4byte _080228EE
|
|
.4byte _080228FE
|
|
.4byte _080228FE
|
|
.4byte _080228FE
|
|
.4byte _080228FE
|
|
.4byte _080228FE
|
|
.4byte _080228FE
|
|
.4byte _080228FE
|
|
.4byte _080228FE
|
|
.4byte _080228FE
|
|
.4byte _080228FE
|
|
.4byte _080228FE
|
|
.4byte _080228FE
|
|
.4byte _080228FE
|
|
.4byte _080228FE
|
|
.4byte _080228FE
|
|
.4byte _080228FE
|
|
.4byte _080228F4
|
|
.4byte _080228FA
|
|
_080228DC:
|
|
bl sub_8022E78
|
|
b _08022902
|
|
_080228E2:
|
|
bl sub_8022EF4
|
|
b _08022902
|
|
_080228E8:
|
|
bl sub_8023068
|
|
b _08022902
|
|
_080228EE:
|
|
bl sub_80230E8
|
|
b _08022902
|
|
_080228F4:
|
|
bl sub_8023104
|
|
b _08022902
|
|
_080228FA:
|
|
movs r0, 0x3
|
|
b _08022904
|
|
_080228FE:
|
|
bl sub_8023120
|
|
_08022902:
|
|
movs r0, 0
|
|
_08022904:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8022860
|
|
|
|
thumb_func_start sub_8022908
|
|
sub_8022908:
|
|
push {r4,lr}
|
|
ldr r4, _08022920
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0802291A
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802291A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08022920: .4byte gUnknown_203B294
|
|
thumb_func_end sub_8022908
|
|
|
|
thumb_func_start sub_8022924
|
|
sub_8022924:
|
|
push {lr}
|
|
ldr r1, _08022938
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_802293C
|
|
bl sub_8022A10
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08022938: .4byte gUnknown_203B294
|
|
thumb_func_end sub_8022924
|
|
|
|
thumb_func_start sub_802293C
|
|
sub_802293C:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r4, _08022964
|
|
ldr r0, [r4]
|
|
movs r1, 0xA4
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
ldr r0, [r1]
|
|
cmp r0, 0x3
|
|
beq _080229A4
|
|
cmp r0, 0x3
|
|
bgt _08022968
|
|
cmp r0, 0x2
|
|
beq _08022972
|
|
b _080229BC
|
|
.align 2, 0
|
|
_08022964: .4byte gUnknown_203B294
|
|
_08022968:
|
|
cmp r0, 0x10
|
|
bgt _080229BC
|
|
cmp r0, 0xA
|
|
blt _080229BC
|
|
b _080229E6
|
|
_08022972:
|
|
bl sub_8022D2C
|
|
ldr r2, [r4]
|
|
movs r0, 0xBC
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _080229A0
|
|
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, 0xF8
|
|
bl sub_8012CAC
|
|
ldr r0, [r4]
|
|
movs r6, 0xC2
|
|
lsls r6, 1
|
|
adds r0, r6
|
|
movs r1, 0x6
|
|
strh r1, [r0]
|
|
b _080229E6
|
|
.align 2, 0
|
|
_080229A0: .4byte gUnknown_80DC5BC
|
|
_080229A4:
|
|
movs r7, 0xB0
|
|
lsls r7, 1
|
|
adds r1, r7
|
|
ldr r0, _080229B8
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
b _080229E6
|
|
.align 2, 0
|
|
_080229B8: .4byte gUnknown_80DC5D4
|
|
_080229BC:
|
|
ldr r0, _08022A08
|
|
mov r12, r0
|
|
movs r1, 0xA4
|
|
lsls r1, 1
|
|
mov r8, r1
|
|
ldr r4, _08022A0C
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_080229CC:
|
|
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 _080229CC
|
|
_080229E6:
|
|
bl sub_8004914
|
|
ldr r0, _08022A08
|
|
ldr r0, [r0]
|
|
movs r6, 0xA4
|
|
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
|
|
_08022A08: .4byte gUnknown_203B294
|
|
_08022A0C: .4byte gUnknown_80DC5A4
|
|
thumb_func_end sub_802293C
|
|
|
|
thumb_func_start sub_8022A10
|
|
sub_8022A10:
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
ldr r1, _08022A2C
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x16
|
|
bls _08022A22
|
|
b _08022D1E
|
|
_08022A22:
|
|
lsls r0, 2
|
|
ldr r1, _08022A30
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08022A2C: .4byte gUnknown_203B294
|
|
_08022A30: .4byte _08022A34
|
|
.align 2, 0
|
|
_08022A34:
|
|
.4byte _08022A90
|
|
.4byte _08022AAA
|
|
.4byte _08022AB2
|
|
.4byte _08022AE0
|
|
.4byte _08022B10
|
|
.4byte _08022B1A
|
|
.4byte _08022B24
|
|
.4byte _08022B34
|
|
.4byte _08022B44
|
|
.4byte _08022B54
|
|
.4byte _08022B64
|
|
.4byte _08022C28
|
|
.4byte _08022CA0
|
|
.4byte _08022CA8
|
|
.4byte _08022CB0
|
|
.4byte _08022CB8
|
|
.4byte _08022CC0
|
|
.4byte _08022CC8
|
|
.4byte _08022CD8
|
|
.4byte _08022CE8
|
|
.4byte _08022CF8
|
|
.4byte _08022D14
|
|
.4byte _08022D1E
|
|
_08022A90:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x48]
|
|
cmp r0, 0
|
|
beq _08022A9C
|
|
movs r0, 0x5
|
|
b _08022A9E
|
|
_08022A9C:
|
|
movs r0, 0x1
|
|
_08022A9E:
|
|
movs r1, 0x3
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl sub_801A5D8
|
|
b _08022D22
|
|
_08022AAA:
|
|
movs r0, 0x1
|
|
bl sub_801A8D0
|
|
b _08022D22
|
|
_08022AB2:
|
|
bl sub_801A9E0
|
|
ldr r0, _08022ADC
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x54
|
|
adds r1, r2, 0
|
|
adds r1, 0xF8
|
|
movs r4, 0x9C
|
|
lsls r4, 1
|
|
adds r3, r2, r4
|
|
adds r2, 0xF4
|
|
ldr r2, [r2]
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8012D60
|
|
b _08022D22
|
|
.align 2, 0
|
|
_08022ADC: .4byte gUnknown_203B294
|
|
_08022AE0:
|
|
bl sub_801A9E0
|
|
ldr r4, _08022B08
|
|
ldr r0, [r4]
|
|
adds r0, 0x54
|
|
movs r1, 0
|
|
bl sub_8012EA4
|
|
ldr r0, [r4]
|
|
adds r0, 0xA4
|
|
ldr r1, _08022B0C
|
|
movs r2, 0x3
|
|
str r2, [sp]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8012D60
|
|
b _08022D22
|
|
.align 2, 0
|
|
_08022B08: .4byte gUnknown_203B294
|
|
_08022B0C: .4byte gUnknown_80DC584
|
|
_08022B10:
|
|
ldr r0, [r4]
|
|
adds r0, 0x50
|
|
bl sub_801B3C0
|
|
b _08022D22
|
|
_08022B1A:
|
|
ldr r0, _08022B20
|
|
b _08022D00
|
|
.align 2, 0
|
|
_08022B20: .4byte gUnknown_80DC5F4
|
|
_08022B24:
|
|
ldr r0, _08022B2C
|
|
ldr r3, _08022B30
|
|
b _08022D02
|
|
.align 2, 0
|
|
_08022B2C: .4byte gUnknown_80DC618
|
|
_08022B30: .4byte 0x00000101
|
|
_08022B34:
|
|
ldr r0, _08022B3C
|
|
ldr r3, _08022B40
|
|
b _08022D02
|
|
.align 2, 0
|
|
_08022B3C: .4byte gUnknown_80DC674
|
|
_08022B40: .4byte 0x00000101
|
|
_08022B44:
|
|
ldr r0, _08022B4C
|
|
ldr r3, _08022B50
|
|
b _08022D02
|
|
.align 2, 0
|
|
_08022B4C: .4byte gUnknown_80DC6CC
|
|
_08022B50: .4byte 0x00000101
|
|
_08022B54:
|
|
ldr r0, _08022B5C
|
|
ldr r3, _08022B60
|
|
b _08022D02
|
|
.align 2, 0
|
|
_08022B5C: .4byte gUnknown_80DC728
|
|
_08022B60: .4byte 0x00000101
|
|
_08022B64:
|
|
ldr r7, _08022B68
|
|
b _08022B78
|
|
.align 2, 0
|
|
_08022B68: .4byte gUnknown_203B294
|
|
_08022B6C:
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x40]
|
|
adds r0, 0x1
|
|
str r0, [r1, 0x40]
|
|
cmp r0, 0x17
|
|
bgt _08022C10
|
|
_08022B78:
|
|
movs r5, 0
|
|
movs r6, 0
|
|
movs r3, 0
|
|
ldr r2, [r4]
|
|
ldr r0, [r2, 0x38]
|
|
cmp r5, r0
|
|
bge _08022BA4
|
|
ldrb r1, [r2, 0x8]
|
|
b _08022B9C
|
|
_08022B8A:
|
|
adds r3, 0x1
|
|
ldr r2, [r4]
|
|
ldr r0, [r2, 0x38]
|
|
cmp r3, r0
|
|
bge _08022BA4
|
|
adds r0, r2, 0
|
|
adds r0, 0x8
|
|
adds r0, r3
|
|
ldrb r1, [r0]
|
|
_08022B9C:
|
|
ldr r0, [r2, 0x40]
|
|
cmp r1, r0
|
|
bne _08022B8A
|
|
movs r5, 0x1
|
|
_08022BA4:
|
|
movs r3, 0
|
|
ldr r2, [r4]
|
|
ldr r0, [r2, 0x3C]
|
|
cmp r3, r0
|
|
bge _08022BCE
|
|
adds r0, r2, 0
|
|
adds r0, 0x20
|
|
b _08022BC4
|
|
_08022BB4:
|
|
adds r3, 0x1
|
|
ldr r2, [r4]
|
|
ldr r0, [r2, 0x3C]
|
|
cmp r3, r0
|
|
bge _08022BCE
|
|
adds r0, r2, 0
|
|
adds r0, 0x20
|
|
adds r0, r3
|
|
_08022BC4:
|
|
ldrb r1, [r0]
|
|
ldr r0, [r2, 0x40]
|
|
cmp r1, r0
|
|
bne _08022BB4
|
|
movs r6, 0x1
|
|
_08022BCE:
|
|
cmp r5, r6
|
|
beq _08022B6C
|
|
ldr r1, [r7]
|
|
movs r0, 0xA
|
|
str r0, [r1, 0x4]
|
|
ldr r0, [r1, 0x40]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_808EAB0
|
|
adds r1, r0, 0
|
|
ldr r0, _08022C18
|
|
bl strcpy
|
|
movs r0, 0xCB
|
|
bl sub_8011988
|
|
ldr r0, _08022C1C
|
|
movs r1, 0
|
|
movs r2, 0
|
|
ldr r3, _08022C20
|
|
bl sub_80141B4
|
|
ldr r1, [r7]
|
|
ldr r0, [r1, 0x40]
|
|
adds r0, 0x1
|
|
str r0, [r1, 0x40]
|
|
ldr r0, _08022C24
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x40]
|
|
cmp r0, 0x17
|
|
bgt _08022C10
|
|
b _08022D22
|
|
_08022C10:
|
|
movs r0, 0xB
|
|
bl sub_8022924
|
|
b _08022D22
|
|
.align 2, 0
|
|
_08022C18: .4byte gUnknown_202DEA8
|
|
_08022C1C: .4byte gUnknown_80DC788
|
|
_08022C20: .4byte 0x00000101
|
|
_08022C24: .4byte gUnknown_203B294
|
|
_08022C28:
|
|
ldr r1, [r4]
|
|
movs r0, 0x16
|
|
str r0, [r1, 0x4]
|
|
bl nullsub_104
|
|
ldr r0, [r4]
|
|
adds r0, 0x46
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x8
|
|
bhi _08022C98
|
|
lsls r0, 2
|
|
ldr r1, _08022C48
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08022C48: .4byte _08022C4C
|
|
.align 2, 0
|
|
_08022C4C:
|
|
.4byte _08022C70
|
|
.4byte _08022C78
|
|
.4byte _08022C80
|
|
.4byte _08022C98
|
|
.4byte _08022C88
|
|
.4byte _08022C98
|
|
.4byte _08022C98
|
|
.4byte _08022C98
|
|
.4byte _08022C90
|
|
_08022C70:
|
|
movs r0, 0x16
|
|
bl sub_8022924
|
|
b _08022D22
|
|
_08022C78:
|
|
movs r0, 0xD
|
|
bl sub_8022924
|
|
b _08022D22
|
|
_08022C80:
|
|
movs r0, 0xE
|
|
bl sub_8022924
|
|
b _08022D22
|
|
_08022C88:
|
|
movs r0, 0xF
|
|
bl sub_8022924
|
|
b _08022D22
|
|
_08022C90:
|
|
movs r0, 0x10
|
|
bl sub_8022924
|
|
b _08022D22
|
|
_08022C98:
|
|
movs r0, 0xC
|
|
bl sub_8022924
|
|
b _08022D22
|
|
_08022CA0:
|
|
ldr r0, _08022CA4
|
|
b _08022D00
|
|
.align 2, 0
|
|
_08022CA4: .4byte gUnknown_80DC7B4
|
|
_08022CA8:
|
|
ldr r0, _08022CAC
|
|
b _08022D00
|
|
.align 2, 0
|
|
_08022CAC: .4byte gUnknown_80DC7FC
|
|
_08022CB0:
|
|
ldr r0, _08022CB4
|
|
b _08022D00
|
|
.align 2, 0
|
|
_08022CB4: .4byte gUnknown_80DC81C
|
|
_08022CB8:
|
|
ldr r0, _08022CBC
|
|
b _08022D00
|
|
.align 2, 0
|
|
_08022CBC: .4byte gUnknown_80DC844
|
|
_08022CC0:
|
|
ldr r0, _08022CC4
|
|
b _08022D00
|
|
.align 2, 0
|
|
_08022CC4: .4byte gUnknown_80DC864
|
|
_08022CC8:
|
|
ldr r1, [r4]
|
|
movs r0, 0x16
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _08022CD4
|
|
b _08022D00
|
|
.align 2, 0
|
|
_08022CD4: .4byte gUnknown_80DC88C
|
|
_08022CD8:
|
|
ldr r1, [r4]
|
|
movs r0, 0x16
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _08022CE4
|
|
b _08022D00
|
|
.align 2, 0
|
|
_08022CE4: .4byte gUnknown_80DC8AC
|
|
_08022CE8:
|
|
ldr r1, [r4]
|
|
movs r0, 0x16
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _08022CF4
|
|
b _08022D00
|
|
.align 2, 0
|
|
_08022CF4: .4byte gUnknown_80DC8C8
|
|
_08022CF8:
|
|
ldr r1, [r4]
|
|
movs r0, 0x16
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _08022D0C
|
|
_08022D00:
|
|
ldr r3, _08022D10
|
|
_08022D02:
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _08022D22
|
|
.align 2, 0
|
|
_08022D0C: .4byte gUnknown_80DC8DC
|
|
_08022D10: .4byte 0x00000301
|
|
_08022D14:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x4C]
|
|
bl sub_801AFA4
|
|
b _08022D22
|
|
_08022D1E:
|
|
bl sub_801A928
|
|
_08022D22:
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8022A10
|
|
|
|
thumb_func_start sub_8022D2C
|
|
sub_8022D2C:
|
|
push {r4-r7,lr}
|
|
movs r6, 0
|
|
ldr r4, _08022D78
|
|
ldr r0, [r4]
|
|
movs r1, 0x9C
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r2, [r4]
|
|
ldr r0, [r2, 0x48]
|
|
cmp r0, 0
|
|
beq _08022D80
|
|
adds r1, r2, 0
|
|
adds r1, 0xF8
|
|
ldr r0, _08022D7C
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x5
|
|
str r0, [r1]
|
|
adds r0, r2, 0
|
|
adds r0, 0x52
|
|
ldrb r0, [r0]
|
|
bl sub_8091764
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08022D74
|
|
ldr r0, [r4]
|
|
movs r2, 0x9C
|
|
lsls r2, 1
|
|
adds r0, r2
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_08022D74:
|
|
movs r6, 0x1
|
|
b _08022DBE
|
|
.align 2, 0
|
|
_08022D78: .4byte gUnknown_203B294
|
|
_08022D7C: .4byte gUnknown_80DC8F0
|
|
_08022D80:
|
|
adds r0, r2, 0
|
|
adds r0, 0x52
|
|
ldrb r0, [r0]
|
|
bl sub_8090BD0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x5
|
|
bne _08022DA4
|
|
ldr r1, [r4]
|
|
adds r2, r1, 0
|
|
adds r2, 0xF8
|
|
ldr r0, _08022E38
|
|
str r0, [r2]
|
|
adds r1, 0xFC
|
|
movs r0, 0x6
|
|
str r0, [r1]
|
|
movs r6, 0x1
|
|
_08022DA4:
|
|
ldr r2, [r4]
|
|
lsls r3, r6, 3
|
|
adds r0, r2, 0
|
|
adds r0, 0xF8
|
|
adds r0, r3
|
|
ldr r1, _08022E3C
|
|
ldr r1, [r1]
|
|
str r1, [r0]
|
|
adds r2, 0xFC
|
|
adds r2, r3
|
|
movs r0, 0x4
|
|
str r0, [r2]
|
|
adds r6, 0x1
|
|
_08022DBE:
|
|
ldr r4, _08022E40
|
|
ldr r0, [r4]
|
|
mov r12, r0
|
|
lsls r1, r6, 3
|
|
mov r2, r12
|
|
adds r2, 0xF8
|
|
adds r3, r2, r1
|
|
ldr r0, _08022E44
|
|
ldr r0, [r0]
|
|
str r0, [r3]
|
|
mov r3, r12
|
|
adds r3, 0xFC
|
|
adds r1, r3, r1
|
|
movs r0, 0x7
|
|
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 r5, 0
|
|
adds r7, r4, 0
|
|
cmp r5, r6
|
|
bge _08022E16
|
|
mov r4, r12
|
|
adds r4, 0xF4
|
|
movs r2, 0x9C
|
|
lsls r2, 1
|
|
add r2, r12
|
|
_08022DFE:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _08022E0C
|
|
ldr r1, [r3]
|
|
ldr r0, [r4]
|
|
cmp r1, r0
|
|
beq _08022E70
|
|
_08022E0C:
|
|
adds r2, 0x2
|
|
adds r3, 0x8
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
blt _08022DFE
|
|
_08022E16:
|
|
movs r5, 0
|
|
cmp r5, r6
|
|
bge _08022E70
|
|
ldr r1, [r7]
|
|
movs r2, 0x9C
|
|
lsls r2, 1
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _08022E48
|
|
adds r0, r1, 0
|
|
adds r0, 0xF4
|
|
adds r1, 0xFC
|
|
ldr r1, [r1]
|
|
str r1, [r0]
|
|
b _08022E70
|
|
.align 2, 0
|
|
_08022E38: .4byte gUnknown_80DC8F8
|
|
_08022E3C: .4byte gUnknown_80D4940
|
|
_08022E40: .4byte gUnknown_203B294
|
|
_08022E44: .4byte gUnknown_80D4970
|
|
_08022E48:
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
bge _08022E70
|
|
ldr r3, [r7]
|
|
lsls r0, r5, 1
|
|
movs r2, 0x9C
|
|
lsls r2, 1
|
|
adds r1, r3, r2
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08022E48
|
|
adds r2, r3, 0
|
|
adds r2, 0xF4
|
|
lsls r1, r5, 3
|
|
adds r0, r3, 0
|
|
adds r0, 0xFC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
_08022E70:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8022D2C
|
|
|
|
thumb_func_start sub_8022E78
|
|
sub_8022E78:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_801A6E8
|
|
cmp r0, 0x3
|
|
beq _08022E94
|
|
cmp r0, 0x3
|
|
bhi _08022E8E
|
|
cmp r0, 0x2
|
|
beq _08022EE8
|
|
b _08022EEE
|
|
_08022E8E:
|
|
cmp r0, 0x4
|
|
beq _08022EBC
|
|
b _08022EEE
|
|
_08022E94:
|
|
bl sub_801A8AC
|
|
ldr r1, _08022EB4
|
|
ldr r2, [r1]
|
|
str r0, [r2, 0x4C]
|
|
ldr r1, _08022EB8
|
|
ldr r1, [r1]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x50]
|
|
movs r0, 0x2
|
|
bl sub_8022924
|
|
b _08022EEE
|
|
.align 2, 0
|
|
_08022EB4: .4byte gUnknown_203B294
|
|
_08022EB8: .4byte gUnknown_203B460
|
|
_08022EBC:
|
|
bl sub_801A8AC
|
|
ldr r1, _08022EE0
|
|
ldr r2, [r1]
|
|
str r0, [r2, 0x4C]
|
|
ldr r1, _08022EE4
|
|
ldr r1, [r1]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x50]
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0x4
|
|
bl sub_8022924
|
|
b _08022EEE
|
|
.align 2, 0
|
|
_08022EE0: .4byte gUnknown_203B294
|
|
_08022EE4: .4byte gUnknown_203B460
|
|
_08022EE8:
|
|
movs r0, 0x16
|
|
bl sub_8022924
|
|
_08022EEE:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8022E78
|
|
|
|
thumb_func_start sub_8022EF4
|
|
sub_8022EF4:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_801A6E8
|
|
ldr r4, _08022F3C
|
|
ldr r0, [r4]
|
|
adds r0, 0x54
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08022F26
|
|
ldr r0, [r4]
|
|
adds r0, 0x54
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _08022F26
|
|
ldr r0, [r4]
|
|
adds r0, 0xF4
|
|
str r1, [r0]
|
|
_08022F26:
|
|
ldr r0, [sp]
|
|
subs r0, 0x1
|
|
cmp r0, 0x6
|
|
bls _08022F30
|
|
b _08023060
|
|
_08022F30:
|
|
lsls r0, 2
|
|
ldr r1, _08022F40
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08022F3C: .4byte gUnknown_203B294
|
|
_08022F40: .4byte _08022F44
|
|
.align 2, 0
|
|
_08022F44:
|
|
.4byte _08022F60
|
|
.4byte _08023060
|
|
.4byte _08023060
|
|
.4byte _0802304C
|
|
.4byte _08022F68
|
|
.4byte _08023044
|
|
.4byte _08023054
|
|
_08022F60:
|
|
movs r0, 0x1
|
|
bl sub_8022924
|
|
b _08023060
|
|
_08022F68:
|
|
ldr r4, _08022FEC
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
ldr r1, [r1, 0x48]
|
|
movs r2, 0x14
|
|
ldrsh r1, [r1, r2]
|
|
bl sub_808EBA8
|
|
ldr r3, [r4]
|
|
str r0, [r3, 0x38]
|
|
ldr r0, [r3, 0x48]
|
|
adds r1, r3, 0
|
|
adds r1, 0x52
|
|
ldrb r1, [r1]
|
|
adds r3, 0x44
|
|
movs r2, 0
|
|
bl sub_80915F4
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x20
|
|
ldr r1, [r1, 0x48]
|
|
movs r2, 0x14
|
|
ldrsh r1, [r1, r2]
|
|
bl sub_808EBA8
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x3C]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0x40]
|
|
adds r0, r1, 0
|
|
adds r0, 0x44
|
|
movs r2, 0
|
|
ldrsh r5, [r0, r2]
|
|
ldr r0, _08022FF0
|
|
ldr r3, _08022FF4
|
|
ldr r2, [r1, 0x4C]
|
|
lsls r2, 2
|
|
ldr r1, [r3]
|
|
adds r1, r2
|
|
movs r2, 0
|
|
bl sub_8090E14
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r5, r0
|
|
beq _08022FD0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x4C]
|
|
bl sub_80911F8
|
|
_08022FD0:
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
ldr r1, [r4]
|
|
movs r0, 0xA
|
|
str r0, [r1, 0x4]
|
|
adds r0, r5, 0x1
|
|
cmp r0, 0x4
|
|
bhi _08023030
|
|
lsls r0, 2
|
|
ldr r1, _08022FF8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08022FEC: .4byte gUnknown_203B294
|
|
_08022FF0: .4byte gUnknown_202DE58
|
|
_08022FF4: .4byte gUnknown_203B460
|
|
_08022FF8: .4byte _08022FFC
|
|
.align 2, 0
|
|
_08022FFC:
|
|
.4byte _08023030
|
|
.4byte _08023010
|
|
.4byte _08023018
|
|
.4byte _08023020
|
|
.4byte _08023028
|
|
_08023010:
|
|
movs r0, 0x6
|
|
bl sub_8022924
|
|
b _08023060
|
|
_08023018:
|
|
movs r0, 0x7
|
|
bl sub_8022924
|
|
b _08023060
|
|
_08023020:
|
|
movs r0, 0x8
|
|
bl sub_8022924
|
|
b _08023060
|
|
_08023028:
|
|
movs r0, 0x9
|
|
bl sub_8022924
|
|
b _08023060
|
|
_08023030:
|
|
ldr r0, _08023040
|
|
ldr r1, [r0]
|
|
movs r0, 0x16
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0x5
|
|
bl sub_8022924
|
|
b _08023060
|
|
.align 2, 0
|
|
_08023040: .4byte gUnknown_203B294
|
|
_08023044:
|
|
movs r0, 0x15
|
|
bl sub_8022924
|
|
b _08023060
|
|
_0802304C:
|
|
movs r0, 0x3
|
|
bl sub_8022924
|
|
b _08023060
|
|
_08023054:
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0x4
|
|
bl sub_8022924
|
|
_08023060:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8022EF4
|
|
|
|
thumb_func_start sub_8023068
|
|
sub_8023068:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_801A6E8
|
|
ldr r4, _080230A8
|
|
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 _08023096
|
|
ldr r0, [r4]
|
|
adds r0, 0xA4
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_08023096:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _080230B8
|
|
cmp r0, 0x2
|
|
bgt _080230AC
|
|
cmp r0, 0x1
|
|
beq _080230B0
|
|
b _080230E0
|
|
.align 2, 0
|
|
_080230A8: .4byte gUnknown_203B294
|
|
_080230AC:
|
|
cmp r0, 0x3
|
|
bne _080230E0
|
|
_080230B0:
|
|
movs r0, 0x1
|
|
bl sub_8022924
|
|
b _080230E0
|
|
_080230B8:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x4C]
|
|
bl sub_80911F8
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
bne _080230DA
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
bl sub_801A928
|
|
movs r0, 0x14
|
|
bl sub_8022924
|
|
b _080230E0
|
|
_080230DA:
|
|
movs r0, 0x1
|
|
bl sub_8022924
|
|
_080230E0:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8023068
|
|
|
|
thumb_func_start sub_80230E8
|
|
sub_80230E8:
|
|
push {lr}
|
|
bl sub_801B410
|
|
cmp r0, 0x1
|
|
bls _08023100
|
|
cmp r0, 0x3
|
|
bhi _08023100
|
|
bl sub_801B450
|
|
movs r0, 0x1
|
|
bl sub_8022924
|
|
_08023100:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80230E8
|
|
|
|
thumb_func_start sub_8023104
|
|
sub_8023104:
|
|
push {lr}
|
|
bl sub_801B00C
|
|
cmp r0, 0x1
|
|
bls _0802311C
|
|
cmp r0, 0x3
|
|
bhi _0802311C
|
|
bl sub_801B048
|
|
movs r0, 0x1
|
|
bl sub_8022924
|
|
_0802311C:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8023104
|
|
|
|
thumb_func_start sub_8023120
|
|
sub_8023120:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08023138
|
|
ldr r0, _08023140
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
bl sub_8022924
|
|
_08023138:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08023140: .4byte gUnknown_203B294
|
|
thumb_func_end sub_8023120
|
|
|
|
thumb_func_start sub_8023144
|
|
sub_8023144:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
adds r7, r1, 0
|
|
mov r9, r2
|
|
mov r10, r3
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r4, r0, 0
|
|
bl sub_8023704
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08023168
|
|
movs r0, 0
|
|
b _08023252
|
|
_08023168:
|
|
ldr r6, _08023260
|
|
ldr r0, [r6]
|
|
cmp r0, 0
|
|
bne _0802317C
|
|
movs r0, 0xFF
|
|
lsls r0, 2
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r6]
|
|
_0802317C:
|
|
ldr r0, [r6]
|
|
strb r4, [r0]
|
|
ldr r0, [r6]
|
|
ldr r1, _08023264
|
|
ldr r1, [r1]
|
|
str r1, [r0, 0x4]
|
|
movs r4, 0xE4
|
|
lsls r4, 2
|
|
adds r1, r0, r4
|
|
str r7, [r1]
|
|
movs r1, 0xE5
|
|
lsls r1, 2
|
|
mov r8, r1
|
|
adds r2, r0, r1
|
|
lsls r1, r7, 1
|
|
adds r1, r7
|
|
lsls r1, 3
|
|
movs r5, 0xE6
|
|
lsls r5, 2
|
|
adds r1, r5
|
|
adds r1, r0, r1
|
|
str r1, [r2]
|
|
adds r0, r5
|
|
bl sub_8006518
|
|
ldr r1, [r6]
|
|
adds r4, r1, r4
|
|
ldr r2, [r4]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, r5
|
|
ldr r0, _08023268
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r2, [r6]
|
|
mov r1, r8
|
|
adds r0, r2, r1
|
|
ldr r1, [r0]
|
|
movs r3, 0xFE
|
|
lsls r3, 2
|
|
adds r0, r2, r3
|
|
str r0, [r1, 0x14]
|
|
mov r4, r9
|
|
cmp r4, 0
|
|
beq _080231F6
|
|
movs r1, 0xE4
|
|
lsls r1, 2
|
|
adds r0, r2, r1
|
|
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, [r4]
|
|
str r0, [r1]
|
|
_080231F6:
|
|
ldr r0, [r6]
|
|
add r0, r8
|
|
ldr r0, [r0]
|
|
mov r1, r10
|
|
bl sub_8012D08
|
|
bl sub_8004914
|
|
ldr r0, [r6]
|
|
adds r0, r5
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, [r6]
|
|
movs r5, 0xD7
|
|
lsls r5, 2
|
|
adds r4, r5
|
|
bl sub_80236A4
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
mov r2, r10
|
|
adds r3, r7, 0
|
|
bl sub_8013818
|
|
ldr r0, [r6]
|
|
ldr r1, _0802326C
|
|
ldrh r2, [r1]
|
|
movs r4, 0xDD
|
|
lsls r4, 2
|
|
adds r1, r0, r4
|
|
strh r2, [r1]
|
|
ldr r1, _08023270
|
|
ldrh r2, [r1]
|
|
ldr r3, _08023274
|
|
adds r1, r0, r3
|
|
strh r2, [r1]
|
|
adds r0, r5
|
|
bl sub_8013984
|
|
bl sub_8023420
|
|
bl sub_80234BC
|
|
movs r0, 0x1
|
|
_08023252:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08023260: .4byte gUnknown_3001B5C
|
|
_08023264: .4byte gUnknown_203B298
|
|
_08023268: .4byte gUnknown_80DC91C
|
|
_0802326C: .4byte gUnknown_203B29C
|
|
_08023270: .4byte gUnknown_203B29E
|
|
_08023274: .4byte 0x0000037a
|
|
thumb_func_end sub_8023144
|
|
|
|
thumb_func_start sub_8023278
|
|
sub_8023278:
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08023298
|
|
ldr r0, _08023294
|
|
ldr r0, [r0]
|
|
movs r1, 0xD7
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _08023316
|
|
.align 2, 0
|
|
_08023294: .4byte gUnknown_3001B5C
|
|
_08023298:
|
|
ldr r4, _080232B4
|
|
ldr r0, [r4]
|
|
movs r1, 0xD7
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl GetKeyPress
|
|
cmp r0, 0x2
|
|
beq _080232BE
|
|
cmp r0, 0x2
|
|
bgt _080232B8
|
|
cmp r0, 0x1
|
|
beq _080232C8
|
|
b _080232EC
|
|
.align 2, 0
|
|
_080232B4: .4byte gUnknown_3001B5C
|
|
_080232B8:
|
|
cmp r0, 0x3
|
|
beq _080232D2
|
|
b _080232EC
|
|
_080232BE:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _08023316
|
|
_080232C8:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _08023316
|
|
_080232D2:
|
|
movs r0, 0x5
|
|
bl sub_80119D4
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0x4]
|
|
movs r2, 0x1
|
|
cmp r1, 0x1
|
|
bhi _080232E4
|
|
adds r2, r1, 0x1
|
|
_080232E4:
|
|
str r2, [r0, 0x4]
|
|
bl sub_80236A4
|
|
b _0802330C
|
|
_080232EC:
|
|
ldr r0, _08023308
|
|
ldr r0, [r0]
|
|
movs r1, 0xD7
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802330C
|
|
movs r0, 0
|
|
b _08023316
|
|
.align 2, 0
|
|
_08023308: .4byte gUnknown_3001B5C
|
|
_0802330C:
|
|
bl sub_8023420
|
|
bl sub_80234BC
|
|
movs r0, 0x1
|
|
_08023316:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8023278
|
|
|
|
thumb_func_start sub_802331C
|
|
sub_802331C:
|
|
ldr r0, _0802334C
|
|
ldr r0, [r0]
|
|
ldr r2, _08023350
|
|
adds r1, r0, r2
|
|
movs r3, 0
|
|
ldrsh r2, [r1, r3]
|
|
movs r3, 0xDE
|
|
lsls r3, 2
|
|
adds r1, r0, r3
|
|
movs r3, 0
|
|
ldrsh r1, [r1, r3]
|
|
muls r1, r2
|
|
movs r3, 0xDD
|
|
lsls r3, 2
|
|
adds r2, r0, r3
|
|
movs r3, 0
|
|
ldrsh r2, [r2, r3]
|
|
adds r1, r2
|
|
lsls r1, 1
|
|
adds r0, 0xC
|
|
adds r0, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0802334C: .4byte gUnknown_3001B5C
|
|
_08023350: .4byte 0x0000037a
|
|
thumb_func_end sub_802331C
|
|
|
|
thumb_func_start sub_8023354
|
|
sub_8023354:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8004914
|
|
ldr r5, _0802339C
|
|
ldr r0, [r5]
|
|
movs r1, 0xE6
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
ldr r0, [r5]
|
|
movs r1, 0xD7
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8013984
|
|
bl sub_8023420
|
|
bl sub_80234BC
|
|
cmp r4, 0
|
|
beq _08023396
|
|
ldr r0, [r5]
|
|
movs r1, 0xD7
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl AddMenuCursorSprite
|
|
_08023396:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802339C: .4byte gUnknown_3001B5C
|
|
thumb_func_end sub_8023354
|
|
|
|
thumb_func_start sub_80233A0
|
|
sub_80233A0:
|
|
push {r4-r6,lr}
|
|
ldr r5, _08023408
|
|
ldr r2, [r5]
|
|
cmp r2, 0
|
|
beq _08023400
|
|
ldr r1, _0802340C
|
|
ldr r0, [r2, 0x4]
|
|
str r0, [r1]
|
|
ldr r1, _08023410
|
|
movs r3, 0xDD
|
|
lsls r3, 2
|
|
adds r0, r2, r3
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
ldr r1, _08023414
|
|
ldr r6, _08023418
|
|
adds r0, r2, r6
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
movs r1, 0xE4
|
|
lsls r1, 2
|
|
adds r0, r2, r1
|
|
ldr r0, [r0]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
movs r4, 0xE6
|
|
lsls r4, 2
|
|
adds r1, r4
|
|
ldr r0, _0802341C
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r5]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r5]
|
|
_08023400:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08023408: .4byte gUnknown_3001B5C
|
|
_0802340C: .4byte gUnknown_203B298
|
|
_08023410: .4byte gUnknown_203B29C
|
|
_08023414: .4byte gUnknown_203B29E
|
|
_08023418: .4byte 0x0000037a
|
|
_0802341C: .4byte gUnknown_80DC904
|
|
thumb_func_end sub_80233A0
|
|
|
|
thumb_func_start sub_8023420
|
|
sub_8023420:
|
|
push {r4,r5,lr}
|
|
ldr r4, _080234A8
|
|
ldr r0, [r4]
|
|
movs r1, 0xFE
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r2, 0
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
ldr r1, _080234AC
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
movs r1, 0xC
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
ldr r1, _080234B0
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
ldr r2, _080234B4
|
|
adds r0, r2
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0xC
|
|
bl sub_80095E4
|
|
adds r0, 0x2
|
|
ldr r3, [r4]
|
|
movs r2, 0xE4
|
|
lsls r2, 2
|
|
adds r5, r3, r2
|
|
ldr r2, [r5]
|
|
lsls r1, r2, 1
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, r3, r1
|
|
ldr r2, _080234B8
|
|
adds r1, r2
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
strh r0, [r1]
|
|
ldr r2, [r5]
|
|
lsls r1, r2, 1
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r3, r1
|
|
movs r1, 0xEA
|
|
lsls r1, 2
|
|
adds r3, r1
|
|
strh r0, [r3]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
movs r2, 0xE6
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080234A8: .4byte gUnknown_3001B5C
|
|
_080234AC: .4byte 0x000003f9
|
|
_080234B0: .4byte 0x000003fb
|
|
_080234B4: .4byte 0x00000376
|
|
_080234B8: .4byte 0x000003a6
|
|
thumb_func_end sub_8023420
|
|
|
|
thumb_func_start sub_80234BC
|
|
sub_80234BC:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x178
|
|
ldr r5, _0802368C
|
|
ldr r0, [r5]
|
|
movs r4, 0xE4
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
bl sub_8008C54
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
bl sub_80073B8
|
|
ldr r2, _08023690
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
ldr r3, [r5]
|
|
ldr r1, _08023694
|
|
adds r0, r3, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 3
|
|
adds r0, 0x4
|
|
ldr r2, _08023698
|
|
adds r1, r3, r2
|
|
movs r6, 0
|
|
ldrsh r2, [r1, r6]
|
|
adds r2, 0x1
|
|
movs r1, 0x7
|
|
str r1, [sp]
|
|
adds r3, r4
|
|
ldr r1, [r3]
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
movs r3, 0x2
|
|
bl sub_8012BC4
|
|
movs r0, 0
|
|
mov r10, r0
|
|
ldr r0, [r5]
|
|
ldr r1, _0802369C
|
|
adds r0, r1
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
cmp r10, r0
|
|
blt _08023532
|
|
b _0802366C
|
|
_08023532:
|
|
ldr r3, _0802368C
|
|
ldr r0, [r3]
|
|
movs r6, 0xD7
|
|
lsls r6, 2
|
|
adds r0, r6
|
|
mov r1, r10
|
|
bl sub_8013800
|
|
mov r8, r0
|
|
ldr r0, _0802368C
|
|
ldr r1, [r0]
|
|
ldr r2, _08023698
|
|
adds r0, r1, r2
|
|
movs r3, 0
|
|
ldrsh r2, [r0, r3]
|
|
adds r6, 0x1C
|
|
adds r0, r1, r6
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
muls r0, r2
|
|
add r0, r10
|
|
lsls r0, 1
|
|
adds r1, 0xC
|
|
adds r1, r0
|
|
movs r6, 0
|
|
ldrsh r5, [r1, r6]
|
|
adds r0, r5, 0
|
|
bl sub_808DBA8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
add r4, sp, 0x16C
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8092638
|
|
movs r7, 0x7
|
|
ldrb r0, [r4, 0x4]
|
|
cmp r0, 0
|
|
beq _08023594
|
|
adds r0, r5, 0
|
|
bl sub_808E734
|
|
lsls r0, 24
|
|
movs r7, 0x4
|
|
cmp r0, 0
|
|
beq _08023594
|
|
movs r7, 0x5
|
|
_08023594:
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl sub_808DCA0
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
adds r0, r4, 0
|
|
movs r1, 0xA
|
|
bl __modsi3
|
|
adds r2, r0, 0
|
|
adds r2, 0x30
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
ldr r6, _0802368C
|
|
ldr r0, [r6]
|
|
movs r1, 0xE4
|
|
lsls r1, 2
|
|
mov r9, r1
|
|
add r0, r9
|
|
ldr r0, [r0]
|
|
str r0, [sp]
|
|
movs r0, 0x14
|
|
mov r1, r8
|
|
adds r3, r7, 0
|
|
bl sub_8012C60
|
|
cmp r4, 0x9
|
|
ble _08023628
|
|
adds r0, r4, 0
|
|
movs r1, 0xA
|
|
bl __divsi3
|
|
adds r4, r0, 0
|
|
movs r1, 0xA
|
|
bl __modsi3
|
|
adds r2, r0, 0
|
|
adds r2, 0x30
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
ldr r0, [r6]
|
|
movs r3, 0xE4
|
|
lsls r3, 2
|
|
adds r0, r3
|
|
ldr r0, [r0]
|
|
str r0, [sp]
|
|
movs r0, 0xD
|
|
mov r1, r8
|
|
adds r3, r7, 0
|
|
bl sub_8012C60
|
|
cmp r4, 0x9
|
|
ble _08023628
|
|
adds r0, r4, 0
|
|
movs r1, 0xA
|
|
bl __divsi3
|
|
movs r1, 0xA
|
|
bl __modsi3
|
|
adds r2, r0, 0
|
|
adds r2, 0x30
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
ldr r0, [r6]
|
|
add r0, r9
|
|
ldr r0, [r0]
|
|
str r0, [sp]
|
|
movs r0, 0x6
|
|
mov r1, r8
|
|
adds r3, r7, 0
|
|
bl sub_8012C60
|
|
_08023628:
|
|
add r4, sp, 0x108
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_808D930
|
|
add r0, sp, 0x8
|
|
ldr r1, _080236A0
|
|
adds r2, r7, 0
|
|
adds r3, r4, 0
|
|
bl sub_800D158
|
|
ldr r6, _0802368C
|
|
ldr r0, [r6]
|
|
movs r1, 0xE4
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x24
|
|
mov r1, r8
|
|
add r2, sp, 0x8
|
|
bl xxx_call_draw_string
|
|
movs r2, 0x1
|
|
add r10, r2
|
|
ldr r0, [r6]
|
|
ldr r3, _0802369C
|
|
adds r0, r3
|
|
movs r6, 0
|
|
ldrsh r0, [r0, r6]
|
|
cmp r10, r0
|
|
bge _0802366C
|
|
b _08023532
|
|
_0802366C:
|
|
ldr r0, _0802368C
|
|
ldr r0, [r0]
|
|
movs r1, 0xE4
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bl sub_80073E0
|
|
add sp, 0x178
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802368C: .4byte gUnknown_3001B5C
|
|
_08023690: .4byte gUnknown_80DC934
|
|
_08023694: .4byte 0x000003fa
|
|
_08023698: .4byte 0x0000037a
|
|
_0802369C: .4byte 0x00000376
|
|
_080236A0: .4byte gUnknown_80DC93C
|
|
thumb_func_end sub_80234BC
|
|
|
|
thumb_func_start sub_80236A4
|
|
sub_80236A4:
|
|
push {r4,r5,lr}
|
|
ldr r0, _080236FC
|
|
ldr r1, [r0]
|
|
movs r0, 0
|
|
str r0, [r1, 0x8]
|
|
movs r5, 0
|
|
_080236B0:
|
|
lsls r0, r5, 16
|
|
asrs r4, r0, 16
|
|
adds r0, r4, 0
|
|
bl sub_8098134
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080236E2
|
|
adds r0, r4, 0
|
|
bl sub_808E858
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r4, r0
|
|
bne _080236E2
|
|
ldr r0, _080236FC
|
|
ldr r3, [r0]
|
|
ldr r1, [r3, 0x8]
|
|
lsls r2, r1, 1
|
|
adds r0, r3, 0
|
|
adds r0, 0xC
|
|
adds r0, r2
|
|
strh r5, [r0]
|
|
adds r1, 0x1
|
|
str r1, [r3, 0x8]
|
|
_080236E2:
|
|
adds r5, 0x1
|
|
ldr r0, _08023700
|
|
cmp r5, r0
|
|
ble _080236B0
|
|
bl sub_8023730
|
|
ldr r0, _080236FC
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x8]
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080236FC: .4byte gUnknown_3001B5C
|
|
_08023700: .4byte 0x000001a7
|
|
thumb_func_end sub_80236A4
|
|
|
|
thumb_func_start sub_8023704
|
|
sub_8023704:
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_08023708:
|
|
lsls r0, r4, 16
|
|
asrs r0, 16
|
|
bl sub_8098134
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802371A
|
|
movs r0, 0
|
|
b _08023724
|
|
_0802371A:
|
|
adds r4, 0x1
|
|
ldr r0, _0802372C
|
|
cmp r4, r0
|
|
ble _08023708
|
|
movs r0, 0x1
|
|
_08023724:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802372C: .4byte 0x000001a7
|
|
thumb_func_end sub_8023704
|
|
|
|
thumb_func_start sub_8023730
|
|
sub_8023730:
|
|
push {lr}
|
|
ldr r0, _08023744
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
cmp r0, 0x1
|
|
beq _08023748
|
|
cmp r0, 0x2
|
|
beq _0802374E
|
|
b _08023752
|
|
.align 2, 0
|
|
_08023744: .4byte gUnknown_3001B5C
|
|
_08023748:
|
|
bl sub_8023758
|
|
b _08023752
|
|
_0802374E:
|
|
bl sub_80237E0
|
|
_08023752:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8023730
|
|
|
|
thumb_func_start sub_8023758
|
|
sub_8023758:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x4
|
|
ldr r3, _080237DC
|
|
ldr r2, [r3]
|
|
ldr r1, [r2, 0x8]
|
|
lsls r0, r1, 1
|
|
adds r0, 0xA
|
|
adds r2, r0
|
|
mov r9, r2
|
|
movs r2, 0
|
|
subs r1, 0x1
|
|
cmp r2, r1
|
|
bge _080237CC
|
|
_08023778:
|
|
mov r5, r9
|
|
ldr r0, [r3]
|
|
ldr r0, [r0, 0x8]
|
|
subs r7, r0, 0x1
|
|
adds r0, r2, 0x1
|
|
mov r8, r0
|
|
cmp r7, r2
|
|
ble _080237BE
|
|
_08023788:
|
|
subs r6, r5, 0x2
|
|
movs r1, 0
|
|
ldrsh r0, [r6, r1]
|
|
movs r1, 0x1
|
|
str r2, [sp]
|
|
bl sub_808DCDC
|
|
adds r4, r0, 0
|
|
movs r1, 0
|
|
ldrsh r0, [r5, r1]
|
|
movs r1, 0x1
|
|
bl sub_808DCDC
|
|
lsls r4, 16
|
|
lsls r0, 16
|
|
ldr r2, [sp]
|
|
cmp r4, r0
|
|
ble _080237B6
|
|
movs r0, 0
|
|
ldrsh r1, [r5, r0]
|
|
ldrh r0, [r6]
|
|
strh r0, [r5]
|
|
strh r1, [r6]
|
|
_080237B6:
|
|
adds r5, r6, 0
|
|
subs r7, 0x1
|
|
cmp r7, r2
|
|
bgt _08023788
|
|
_080237BE:
|
|
mov r2, r8
|
|
ldr r3, _080237DC
|
|
ldr r0, [r3]
|
|
ldr r0, [r0, 0x8]
|
|
subs r0, 0x1
|
|
cmp r2, r0
|
|
blt _08023778
|
|
_080237CC:
|
|
add sp, 0x4
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080237DC: .4byte gUnknown_3001B5C
|
|
thumb_func_end sub_8023758
|
|
|
|
thumb_func_start sub_80237E0
|
|
sub_80237E0:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x4
|
|
ldr r3, _08023864
|
|
ldr r2, [r3]
|
|
ldr r1, [r2, 0x8]
|
|
lsls r0, r1, 1
|
|
adds r0, 0xA
|
|
adds r2, r0
|
|
mov r9, r2
|
|
movs r2, 0
|
|
subs r1, 0x1
|
|
cmp r2, r1
|
|
bge _08023854
|
|
_08023800:
|
|
mov r5, r9
|
|
ldr r0, [r3]
|
|
ldr r0, [r0, 0x8]
|
|
subs r7, r0, 0x1
|
|
adds r0, r2, 0x1
|
|
mov r8, r0
|
|
cmp r7, r2
|
|
ble _08023846
|
|
_08023810:
|
|
subs r6, r5, 0x2
|
|
movs r1, 0
|
|
ldrsh r0, [r6, r1]
|
|
movs r1, 0
|
|
str r2, [sp]
|
|
bl sub_808DCDC
|
|
adds r4, r0, 0
|
|
movs r1, 0
|
|
ldrsh r0, [r5, r1]
|
|
movs r1, 0
|
|
bl sub_808DCDC
|
|
lsls r4, 16
|
|
lsls r0, 16
|
|
ldr r2, [sp]
|
|
cmp r4, r0
|
|
ble _0802383E
|
|
movs r0, 0
|
|
ldrsh r1, [r5, r0]
|
|
ldrh r0, [r6]
|
|
strh r0, [r5]
|
|
strh r1, [r6]
|
|
_0802383E:
|
|
adds r5, r6, 0
|
|
subs r7, 0x1
|
|
cmp r7, r2
|
|
bgt _08023810
|
|
_08023846:
|
|
mov r2, r8
|
|
ldr r3, _08023864
|
|
ldr r0, [r3]
|
|
ldr r0, [r0, 0x8]
|
|
subs r0, 0x1
|
|
cmp r2, r0
|
|
blt _08023800
|
|
_08023854:
|
|
add sp, 0x4
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08023864: .4byte gUnknown_3001B5C
|
|
thumb_func_end sub_80237E0
|
|
|
|
thumb_func_start sub_8023868
|
|
sub_8023868:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
adds r5, r0, 0
|
|
mov r8, r1
|
|
mov r9, r2
|
|
mov r10, r3
|
|
bl sub_8024108
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08023888
|
|
movs r0, 0
|
|
b _08023A6E
|
|
_08023888:
|
|
ldr r4, _080238AC
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
bne _0802389C
|
|
movs r0, 0xFE
|
|
lsls r0, 2
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
_0802389C:
|
|
ldr r1, [r4]
|
|
str r5, [r1]
|
|
ldr r0, _080238B0
|
|
ldr r0, [r0]
|
|
cmp r0, r5
|
|
beq _080238B4
|
|
movs r0, 0x1
|
|
b _080238B8
|
|
.align 2, 0
|
|
_080238AC: .4byte gUnknown_3001B60
|
|
_080238B0: .4byte gUnknown_203B2A0
|
|
_080238B4:
|
|
ldr r0, _080238E4
|
|
ldr r0, [r0]
|
|
_080238B8:
|
|
str r0, [r1, 0x4]
|
|
ldr r2, _080238E8
|
|
ldr r0, [r2]
|
|
movs r1, 0
|
|
strb r1, [r0, 0x14]
|
|
ldr r0, [r2]
|
|
strb r1, [r0, 0x15]
|
|
ldr r0, [r2]
|
|
strb r1, [r0, 0x16]
|
|
ldr r0, [r2]
|
|
strb r1, [r0, 0x17]
|
|
ldr r0, [r2]
|
|
strb r1, [r0, 0x18]
|
|
ldr r0, [r2]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x4
|
|
bhi _08023980
|
|
lsls r0, 2
|
|
ldr r1, _080238EC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080238E4: .4byte gUnknown_203B2A4
|
|
_080238E8: .4byte gUnknown_3001B60
|
|
_080238EC: .4byte _080238F0
|
|
.align 2, 0
|
|
_080238F0:
|
|
.4byte _08023958
|
|
.4byte _08023904
|
|
.4byte _08023914
|
|
.4byte _08023924
|
|
.4byte _0802393C
|
|
_08023904:
|
|
ldr r0, _08023910
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x18]
|
|
b _08023958
|
|
.align 2, 0
|
|
_08023910: .4byte gUnknown_3001B60
|
|
_08023914:
|
|
ldr r0, _08023920
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x14]
|
|
b _08023958
|
|
.align 2, 0
|
|
_08023920: .4byte gUnknown_3001B60
|
|
_08023924:
|
|
ldr r2, _08023938
|
|
ldr r0, [r2]
|
|
movs r1, 0x1
|
|
strb r1, [r0, 0x17]
|
|
ldr r0, [r2]
|
|
strb r1, [r0, 0x15]
|
|
ldr r0, [r2]
|
|
strb r1, [r0, 0x16]
|
|
b _08023958
|
|
.align 2, 0
|
|
_08023938: .4byte gUnknown_3001B60
|
|
_0802393C:
|
|
ldr r5, _0802397C
|
|
ldr r0, [r5]
|
|
movs r4, 0x1
|
|
strb r4, [r0, 0x18]
|
|
ldr r0, [r5]
|
|
strb r4, [r0, 0x15]
|
|
movs r0, 0x9
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08023958
|
|
ldr r0, [r5]
|
|
strb r4, [r0, 0x16]
|
|
_08023958:
|
|
ldr r4, _0802397C
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x4
|
|
bne _08023980
|
|
bl sub_80A5728
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_8002658
|
|
ldr r1, [r4]
|
|
movs r2, 0xD5
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
b _0802398E
|
|
.align 2, 0
|
|
_0802397C: .4byte gUnknown_3001B60
|
|
_08023980:
|
|
ldr r0, _08023A7C
|
|
ldr r0, [r0]
|
|
movs r3, 0xD5
|
|
lsls r3, 2
|
|
adds r0, r3
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
_0802398E:
|
|
ldr r5, _08023A7C
|
|
ldr r0, [r5]
|
|
movs r4, 0xE3
|
|
lsls r4, 2
|
|
adds r1, r0, r4
|
|
mov r2, r8
|
|
str r2, [r1]
|
|
movs r7, 0xE4
|
|
lsls r7, 2
|
|
adds r2, r0, r7
|
|
mov r3, r8
|
|
lsls r1, r3, 1
|
|
add r1, r8
|
|
lsls r1, 3
|
|
movs r6, 0xE5
|
|
lsls r6, 2
|
|
adds r1, r6
|
|
adds r1, r0, r1
|
|
str r1, [r2]
|
|
adds r0, r6
|
|
bl sub_8006518
|
|
ldr r1, [r5]
|
|
adds r4, r1, r4
|
|
ldr r2, [r4]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, r6
|
|
ldr r0, _08023A80
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r2, [r5]
|
|
adds r0, r2, r7
|
|
ldr r1, [r0]
|
|
movs r4, 0xFD
|
|
lsls r4, 2
|
|
adds r0, r2, r4
|
|
str r0, [r1, 0x14]
|
|
mov r0, r9
|
|
cmp r0, 0
|
|
beq _08023A04
|
|
movs r1, 0xE3
|
|
lsls r1, 2
|
|
adds r0, r2, r1
|
|
ldr r1, [r0]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
movs r3, 0xE7
|
|
lsls r3, 2
|
|
adds r1, r2, r3
|
|
adds r1, r0
|
|
mov r4, r9
|
|
ldr r0, [r4]
|
|
str r0, [r1]
|
|
_08023A04:
|
|
ldr r0, [r5]
|
|
adds r0, r7
|
|
ldr r0, [r0]
|
|
mov r1, r10
|
|
bl sub_8012D08
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, r6
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, [r5]
|
|
movs r0, 0xD6
|
|
lsls r0, 2
|
|
adds r4, r0
|
|
bl sub_8023F8C
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
mov r2, r10
|
|
mov r3, r8
|
|
bl sub_8013818
|
|
ldr r0, _08023A84
|
|
ldr r4, [r5]
|
|
ldr r1, [r0]
|
|
ldr r0, [r4]
|
|
cmp r1, r0
|
|
bne _08023A64
|
|
ldr r0, _08023A88
|
|
ldrh r1, [r0]
|
|
movs r2, 0xDC
|
|
lsls r2, 2
|
|
adds r0, r4, r2
|
|
strh r1, [r0]
|
|
ldr r0, _08023A8C
|
|
ldrh r1, [r0]
|
|
ldr r3, _08023A90
|
|
adds r0, r4, r3
|
|
strh r1, [r0]
|
|
movs r1, 0xD6
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
bl sub_8013984
|
|
_08023A64:
|
|
bl sub_8023CF4
|
|
bl sub_8023DA4
|
|
movs r0, 0x1
|
|
_08023A6E:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08023A7C: .4byte gUnknown_3001B60
|
|
_08023A80: .4byte gUnknown_80DC968
|
|
_08023A84: .4byte gUnknown_203B2A0
|
|
_08023A88: .4byte gUnknown_203B2A8
|
|
_08023A8C: .4byte gUnknown_203B2AA
|
|
_08023A90: .4byte 0x00000376
|
|
thumb_func_end sub_8023868
|
|
|
|
thumb_func_start sub_8023A94
|
|
sub_8023A94:
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08023AB4
|
|
ldr r0, _08023AB0
|
|
ldr r0, [r0]
|
|
movs r1, 0xD6
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _08023B3E
|
|
.align 2, 0
|
|
_08023AB0: .4byte gUnknown_3001B60
|
|
_08023AB4:
|
|
ldr r4, _08023AD0
|
|
ldr r0, [r4]
|
|
movs r1, 0xD6
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl GetKeyPress
|
|
cmp r0, 0x2
|
|
beq _08023ADE
|
|
cmp r0, 0x2
|
|
bgt _08023AD4
|
|
cmp r0, 0x1
|
|
beq _08023AF2
|
|
b _08023B16
|
|
.align 2, 0
|
|
_08023AD0: .4byte gUnknown_3001B60
|
|
_08023AD4:
|
|
cmp r0, 0x3
|
|
beq _08023AFC
|
|
cmp r0, 0x4
|
|
beq _08023AE8
|
|
b _08023B16
|
|
_08023ADE:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _08023B3E
|
|
_08023AE8:
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0x4
|
|
b _08023B3E
|
|
_08023AF2:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _08023B3E
|
|
_08023AFC:
|
|
movs r0, 0x5
|
|
bl sub_80119D4
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0x4]
|
|
movs r2, 0x1
|
|
cmp r1, 0x2
|
|
bhi _08023B0E
|
|
adds r2, r1, 0x1
|
|
_08023B0E:
|
|
str r2, [r0, 0x4]
|
|
bl sub_8023F8C
|
|
b _08023B34
|
|
_08023B16:
|
|
ldr r0, _08023B30
|
|
ldr r0, [r0]
|
|
movs r1, 0xD6
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08023B34
|
|
movs r0, 0
|
|
b _08023B3E
|
|
.align 2, 0
|
|
_08023B30: .4byte gUnknown_3001B60
|
|
_08023B34:
|
|
bl sub_8023CF4
|
|
bl sub_8023DA4
|
|
movs r0, 0x1
|
|
_08023B3E:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8023A94
|
|
|
|
thumb_func_start sub_8023B44
|
|
sub_8023B44:
|
|
ldr r0, _08023B74
|
|
ldr r0, [r0]
|
|
ldr r2, _08023B78
|
|
adds r1, r0, r2
|
|
movs r3, 0
|
|
ldrsh r2, [r1, r3]
|
|
movs r3, 0xDD
|
|
lsls r3, 2
|
|
adds r1, r0, r3
|
|
movs r3, 0
|
|
ldrsh r1, [r1, r3]
|
|
muls r1, r2
|
|
movs r3, 0xDC
|
|
lsls r3, 2
|
|
adds r2, r0, r3
|
|
movs r3, 0
|
|
ldrsh r2, [r2, r3]
|
|
adds r1, r2
|
|
lsls r1, 1
|
|
adds r0, 0x1A
|
|
adds r0, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_08023B74: .4byte gUnknown_3001B60
|
|
_08023B78: .4byte 0x00000376
|
|
thumb_func_end sub_8023B44
|
|
|
|
thumb_func_start sub_8023B7C
|
|
sub_8023B7C:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8004914
|
|
ldr r5, _08023BD0
|
|
ldr r0, [r5]
|
|
movs r1, 0xE5
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
bl sub_8023BD8
|
|
adds r2, r0, 0
|
|
ldr r0, [r5]
|
|
ldr r3, _08023BD4
|
|
adds r1, r0, r3
|
|
strh r2, [r1]
|
|
movs r1, 0xD6
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8013984
|
|
bl sub_8023CF4
|
|
bl sub_8023DA4
|
|
cmp r4, 0
|
|
beq _08023BCA
|
|
ldr r0, [r5]
|
|
movs r3, 0xD6
|
|
lsls r3, 2
|
|
adds r0, r3
|
|
bl AddMenuCursorSprite
|
|
_08023BCA:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08023BD0: .4byte gUnknown_3001B60
|
|
_08023BD4: .4byte 0x0000037a
|
|
thumb_func_end sub_8023B7C
|
|
|
|
thumb_func_start sub_8023BD8
|
|
sub_8023BD8:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
movs r3, 0
|
|
ldr r1, _08023C58
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x8]
|
|
adds r7, r1, 0
|
|
cmp r3, r0
|
|
bge _08023C4A
|
|
ldr r0, _08023C5C
|
|
mov r8, r0
|
|
mov r12, r7
|
|
_08023BF2:
|
|
ldr r2, [r1]
|
|
lsls r4, r3, 1
|
|
adds r0, r2, 0
|
|
adds r0, 0x1A
|
|
adds r0, r4
|
|
movs r5, 0
|
|
ldrsh r1, [r0, r5]
|
|
movs r0, 0x58
|
|
muls r0, r1
|
|
mov r5, r8
|
|
ldr r1, [r5]
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
adds r6, r3, 0x1
|
|
cmp r0, 0
|
|
bne _08023C3E
|
|
ldr r0, [r2, 0x8]
|
|
subs r0, 0x1
|
|
str r0, [r2, 0x8]
|
|
cmp r3, r0
|
|
bge _08023C3E
|
|
mov r5, r12
|
|
adds r4, 0x2
|
|
_08023C24:
|
|
ldr r2, [r5]
|
|
lsls r1, r3, 1
|
|
adds r0, r2, 0
|
|
adds r0, 0x1A
|
|
adds r1, r0, r1
|
|
adds r0, r4
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r4, 0x2
|
|
adds r3, 0x1
|
|
ldr r0, [r2, 0x8]
|
|
cmp r3, r0
|
|
blt _08023C24
|
|
_08023C3E:
|
|
adds r3, r6, 0
|
|
adds r1, r7, 0
|
|
ldr r0, [r7]
|
|
ldr r0, [r0, 0x8]
|
|
cmp r3, r0
|
|
blt _08023BF2
|
|
_08023C4A:
|
|
ldr r0, [r7]
|
|
ldr r0, [r0, 0x8]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08023C58: .4byte gUnknown_3001B60
|
|
_08023C5C: .4byte gUnknown_203B45C
|
|
thumb_func_end sub_8023BD8
|
|
|
|
thumb_func_start sub_8023C60
|
|
sub_8023C60:
|
|
push {r4-r6,lr}
|
|
ldr r5, _08023CCC
|
|
ldr r2, [r5]
|
|
cmp r2, 0
|
|
beq _08023CC6
|
|
ldr r1, _08023CD0
|
|
ldr r0, [r2]
|
|
str r0, [r1]
|
|
ldr r1, _08023CD4
|
|
ldr r0, [r2, 0x4]
|
|
str r0, [r1]
|
|
ldr r1, _08023CD8
|
|
movs r3, 0xDC
|
|
lsls r3, 2
|
|
adds r0, r2, r3
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
ldr r1, _08023CDC
|
|
ldr r6, _08023CE0
|
|
adds r0, r2, r6
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
movs r1, 0xE3
|
|
lsls r1, 2
|
|
adds r0, r2, r1
|
|
ldr r0, [r0]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
movs r4, 0xE5
|
|
lsls r4, 2
|
|
adds r1, r4
|
|
ldr r0, _08023CE4
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r5]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r5]
|
|
_08023CC6:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08023CCC: .4byte gUnknown_3001B60
|
|
_08023CD0: .4byte gUnknown_203B2A0
|
|
_08023CD4: .4byte gUnknown_203B2A4
|
|
_08023CD8: .4byte gUnknown_203B2A8
|
|
_08023CDC: .4byte gUnknown_203B2AA
|
|
_08023CE0: .4byte 0x00000376
|
|
_08023CE4: .4byte gUnknown_80DC950
|
|
thumb_func_end sub_8023C60
|
|
|
|
thumb_func_start sub_8023CE8
|
|
sub_8023CE8:
|
|
ldr r0, _08023CF0
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08023CF0: .4byte gUnknown_3001B60
|
|
thumb_func_end sub_8023CE8
|
|
|
|
thumb_func_start sub_8023CF4
|
|
sub_8023CF4:
|
|
push {r4,r5,lr}
|
|
ldr r2, _08023D28
|
|
ldr r0, [r2]
|
|
movs r1, 0xFD
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r3, 0
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
ldr r1, _08023D2C
|
|
adds r0, r1
|
|
strb r3, [r0]
|
|
ldr r0, [r2]
|
|
adds r1, 0x2
|
|
adds r0, r1
|
|
strb r3, [r0]
|
|
ldr r1, [r2]
|
|
ldr r0, [r1]
|
|
adds r5, r2, 0
|
|
cmp r0, 0x2
|
|
bne _08023D34
|
|
ldr r0, _08023D30
|
|
adds r1, r0
|
|
b _08023D38
|
|
.align 2, 0
|
|
_08023D28: .4byte gUnknown_3001B60
|
|
_08023D2C: .4byte 0x000003f5
|
|
_08023D30: .4byte 0x000003f6
|
|
_08023D34:
|
|
ldr r2, _08023D98
|
|
adds r1, r2
|
|
_08023D38:
|
|
movs r0, 0xC
|
|
strb r0, [r1]
|
|
ldr r0, [r5]
|
|
ldr r1, _08023D9C
|
|
adds r0, r1
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
movs r1, 0xC
|
|
bl sub_80095E4
|
|
adds r0, 0x2
|
|
ldr r3, [r5]
|
|
movs r1, 0xE3
|
|
lsls r1, 2
|
|
adds r4, r3, r1
|
|
ldr r2, [r4]
|
|
lsls r1, r2, 1
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, r3, r1
|
|
ldr r2, _08023DA0
|
|
adds r1, r2
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
strh r0, [r1]
|
|
ldr r2, [r4]
|
|
lsls r1, r2, 1
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r3, r1
|
|
movs r1, 0xE9
|
|
lsls r1, 2
|
|
adds r3, r1
|
|
strh r0, [r3]
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
movs r2, 0xE5
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08023D98: .4byte 0x000003f6
|
|
_08023D9C: .4byte 0x00000372
|
|
_08023DA0: .4byte 0x000003a2
|
|
thumb_func_end sub_8023CF4
|
|
|
|
thumb_func_start sub_8023DA4
|
|
sub_8023DA4:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x58
|
|
ldr r4, _08023DD8
|
|
ldr r0, [r4]
|
|
movs r5, 0xE3
|
|
lsls r5, 2
|
|
adds r0, r5
|
|
ldr r0, [r0]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
ldr r0, [r0]
|
|
bl sub_80073B8
|
|
ldr r0, [r4]
|
|
ldr r1, [r0]
|
|
cmp r1, 0x2
|
|
beq _08023DE0
|
|
cmp r1, 0x4
|
|
beq _08023E00
|
|
ldr r2, _08023DDC
|
|
b _08023E02
|
|
.align 2, 0
|
|
_08023DD8: .4byte gUnknown_3001B60
|
|
_08023DDC: .4byte gUnknown_80DC988
|
|
_08023DE0:
|
|
add r0, sp, 0x8
|
|
bl sub_80920D8
|
|
ldr r0, [r4]
|
|
movs r1, 0xE3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
movs r1, 0
|
|
add r2, sp, 0x8
|
|
bl xxx_call_draw_string
|
|
b _08023E3C
|
|
_08023E00:
|
|
ldr r2, _08023EBC
|
|
_08023E02:
|
|
adds r0, r5
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
ldr r1, [r4]
|
|
ldr r2, _08023EC0
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, 3
|
|
adds r3, r0, 0x4
|
|
ldr r4, _08023EC4
|
|
adds r0, r1, r4
|
|
movs r4, 0
|
|
ldrsh r2, [r0, r4]
|
|
adds r2, 0x1
|
|
movs r0, 0x7
|
|
str r0, [sp]
|
|
adds r1, r5
|
|
ldr r0, [r1]
|
|
str r0, [sp, 0x4]
|
|
adds r0, r3, 0
|
|
movs r1, 0
|
|
movs r3, 0x2
|
|
bl sub_8012BC4
|
|
_08023E3C:
|
|
movs r7, 0
|
|
ldr r1, _08023EC8
|
|
ldr r0, [r1]
|
|
ldr r2, _08023ECC
|
|
adds r0, r2
|
|
movs r4, 0
|
|
ldrsh r0, [r0, r4]
|
|
cmp r7, r0
|
|
blt _08023E50
|
|
b _08023F62
|
|
_08023E50:
|
|
mov r8, r1
|
|
add r0, sp, 0x30
|
|
mov r9, r0
|
|
_08023E56:
|
|
ldr r3, [r1]
|
|
ldr r1, _08023EC4
|
|
adds r0, r3, r1
|
|
movs r2, 0
|
|
ldrsh r1, [r0, r2]
|
|
movs r4, 0xDD
|
|
lsls r4, 2
|
|
adds r0, r3, r4
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
muls r1, r0
|
|
adds r1, r7
|
|
lsls r1, 1
|
|
adds r0, r3, 0
|
|
adds r0, 0x1A
|
|
adds r0, r1
|
|
movs r4, 0
|
|
ldrsh r5, [r0, r4]
|
|
ldr r2, _08023ED0
|
|
movs r0, 0x58
|
|
adds r1, r5, 0
|
|
muls r1, r0
|
|
ldr r0, [r2]
|
|
adds r4, r0, r1
|
|
movs r6, 0x7
|
|
ldrh r0, [r4]
|
|
lsrs r0, 1
|
|
movs r1, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08023ED4
|
|
movs r0, 0
|
|
ldrb r1, [r4, 0x4]
|
|
cmp r1, 0x41
|
|
bne _08023E9E
|
|
movs r0, 0x1
|
|
_08023E9E:
|
|
cmp r0, 0
|
|
beq _08023EA4
|
|
movs r6, 0x6
|
|
_08023EA4:
|
|
movs r0, 0
|
|
cmp r1, 0x40
|
|
bne _08023EAC
|
|
movs r0, 0x1
|
|
_08023EAC:
|
|
cmp r0, 0
|
|
beq _08023EB2
|
|
movs r6, 0x6
|
|
_08023EB2:
|
|
ldrb r0, [r4, 0x2]
|
|
cmp r0, 0
|
|
beq _08023EEA
|
|
movs r6, 0x5
|
|
b _08023EEA
|
|
.align 2, 0
|
|
_08023EBC: .4byte gUnknown_80DC980
|
|
_08023EC0: .4byte 0x000003f6
|
|
_08023EC4: .4byte 0x00000376
|
|
_08023EC8: .4byte gUnknown_3001B60
|
|
_08023ECC: .4byte 0x00000372
|
|
_08023ED0: .4byte gUnknown_203B45C
|
|
_08023ED4:
|
|
ldrb r0, [r3, 0x18]
|
|
cmp r0, 0
|
|
beq _08023EEA
|
|
adds r0, r5, 0
|
|
bl sub_808D750
|
|
lsls r0, 24
|
|
movs r6, 0x2
|
|
cmp r0, 0
|
|
beq _08023EEA
|
|
movs r6, 0x4
|
|
_08023EEA:
|
|
mov r0, r8
|
|
ldr r1, [r0]
|
|
ldr r0, [r1]
|
|
cmp r0, 0x4
|
|
bne _08023F02
|
|
movs r2, 0xD5
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrb r1, [r0]
|
|
adds r0, r4, 0
|
|
bl sub_8024184
|
|
_08023F02:
|
|
adds r1, r4, 0
|
|
adds r1, 0x4C
|
|
mov r0, r9
|
|
movs r2, 0xA
|
|
bl sub_80922B4
|
|
movs r0, 0x8
|
|
ldrsh r1, [r4, r0]
|
|
add r0, sp, 0x44
|
|
bl sub_808D930
|
|
add r0, sp, 0x8
|
|
ldr r1, _08023F80
|
|
adds r2, r6, 0
|
|
mov r3, r9
|
|
bl sub_800D158
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
movs r2, 0xD6
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
adds r1, r7, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
mov r4, r8
|
|
ldr r0, [r4]
|
|
movs r2, 0xE3
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
add r2, sp, 0x8
|
|
bl xxx_call_draw_string
|
|
adds r7, 0x1
|
|
mov r1, r8
|
|
ldr r0, [r4]
|
|
ldr r4, _08023F84
|
|
adds r0, r4
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
cmp r7, r0
|
|
bge _08023F62
|
|
b _08023E56
|
|
_08023F62:
|
|
ldr r0, _08023F88
|
|
ldr r0, [r0]
|
|
movs r4, 0xE3
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
bl sub_80073E0
|
|
add sp, 0x58
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08023F80: .4byte gUnknown_80DC998
|
|
_08023F84: .4byte 0x00000372
|
|
_08023F88: .4byte gUnknown_3001B60
|
|
thumb_func_end sub_8023DA4
|
|
|
|
thumb_func_start sub_8023F8C
|
|
sub_8023F8C:
|
|
push {r4-r7,lr}
|
|
ldr r2, _08023FD0
|
|
ldr r1, [r2]
|
|
movs r0, 0
|
|
str r0, [r1, 0x8]
|
|
ldrb r0, [r1, 0x15]
|
|
adds r6, r2, 0
|
|
cmp r0, 0
|
|
bne _08023FE2
|
|
movs r4, 0
|
|
ldr r2, _08023FD4
|
|
_08023FA2:
|
|
movs r0, 0x58
|
|
adds r1, r4, 0
|
|
muls r1, r0
|
|
ldr r0, [r2]
|
|
adds r1, r0, r1
|
|
ldrb r0, [r1, 0x2]
|
|
cmp r0, 0
|
|
beq _08023FD8
|
|
ldrb r1, [r1]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08023FD8
|
|
ldr r3, [r6]
|
|
ldr r1, [r3, 0x8]
|
|
lsls r2, r1, 1
|
|
adds r0, r3, 0
|
|
adds r0, 0x1A
|
|
adds r0, r2
|
|
strh r4, [r0]
|
|
adds r1, 0x1
|
|
str r1, [r3, 0x8]
|
|
b _08023FE2
|
|
.align 2, 0
|
|
_08023FD0: .4byte gUnknown_3001B60
|
|
_08023FD4: .4byte gUnknown_203B45C
|
|
_08023FD8:
|
|
adds r4, 0x1
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
cmp r4, r0
|
|
ble _08023FA2
|
|
_08023FE2:
|
|
ldr r0, [r6]
|
|
ldrb r0, [r0, 0x16]
|
|
cmp r0, 0
|
|
bne _08024042
|
|
movs r4, 0
|
|
ldr r3, _08024034
|
|
_08023FEE:
|
|
movs r0, 0x58
|
|
adds r1, r4, 0
|
|
muls r1, r0
|
|
ldr r0, [r3]
|
|
adds r1, r0, r1
|
|
movs r2, 0
|
|
ldrb r0, [r1, 0x4]
|
|
cmp r0, 0x41
|
|
bne _08024002
|
|
movs r2, 0x1
|
|
_08024002:
|
|
cmp r2, 0
|
|
beq _08024038
|
|
ldrb r0, [r1, 0x2]
|
|
cmp r0, 0
|
|
bne _08024038
|
|
ldrh r1, [r1]
|
|
lsrs r0, r1, 1
|
|
movs r2, 0x1
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _08024038
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08024038
|
|
ldr r3, [r6]
|
|
ldr r1, [r3, 0x8]
|
|
lsls r2, r1, 1
|
|
adds r0, r3, 0
|
|
adds r0, 0x1A
|
|
adds r0, r2
|
|
strh r4, [r0]
|
|
adds r1, 0x1
|
|
str r1, [r3, 0x8]
|
|
b _08024042
|
|
.align 2, 0
|
|
_08024034: .4byte gUnknown_203B45C
|
|
_08024038:
|
|
adds r4, 0x1
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
cmp r4, r0
|
|
ble _08023FEE
|
|
_08024042:
|
|
ldr r0, [r6]
|
|
ldr r1, [r0, 0x8]
|
|
str r1, [r0, 0xC]
|
|
ldrb r0, [r0, 0x17]
|
|
cmp r0, 0
|
|
bne _080240A4
|
|
movs r4, 0
|
|
ldr r7, _08024100
|
|
movs r5, 0x1
|
|
_08024054:
|
|
movs r0, 0x58
|
|
adds r1, r4, 0
|
|
muls r1, r0
|
|
ldr r0, [r7]
|
|
adds r1, r0, r1
|
|
ldrh r2, [r1]
|
|
lsrs r0, r2, 1
|
|
ands r0, r5
|
|
cmp r0, 0
|
|
beq _0802409A
|
|
adds r0, r5, 0
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _0802409A
|
|
ldrb r0, [r1, 0x2]
|
|
cmp r0, 0
|
|
bne _0802409A
|
|
movs r2, 0
|
|
ldrb r0, [r1, 0x4]
|
|
cmp r0, 0x41
|
|
bne _08024080
|
|
movs r2, 0x1
|
|
_08024080:
|
|
cmp r2, 0
|
|
bne _0802409A
|
|
ldr r3, [r6]
|
|
ldr r1, [r3, 0x8]
|
|
lsls r2, r1, 1
|
|
adds r0, r3, 0
|
|
adds r0, 0x1A
|
|
adds r0, r2
|
|
strh r4, [r0]
|
|
adds r1, 0x1
|
|
str r1, [r3, 0x8]
|
|
cmp r1, 0x3
|
|
bgt _080240A4
|
|
_0802409A:
|
|
adds r4, 0x1
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
cmp r4, r0
|
|
ble _08024054
|
|
_080240A4:
|
|
ldr r0, [r6]
|
|
ldr r1, [r0, 0x8]
|
|
str r1, [r0, 0x10]
|
|
ldrb r0, [r0, 0x14]
|
|
cmp r0, 0
|
|
bne _080240EE
|
|
movs r4, 0
|
|
ldr r7, _08024100
|
|
movs r5, 0x1
|
|
_080240B6:
|
|
movs r0, 0x58
|
|
adds r1, r4, 0
|
|
muls r1, r0
|
|
ldr r0, [r7]
|
|
adds r1, r0, r1
|
|
ldrh r1, [r1]
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080240E4
|
|
lsrs r0, r1, 1
|
|
ands r0, r5
|
|
cmp r0, 0
|
|
bne _080240E4
|
|
ldr r3, [r6]
|
|
ldr r1, [r3, 0x8]
|
|
lsls r2, r1, 1
|
|
adds r0, r3, 0
|
|
adds r0, 0x1A
|
|
adds r0, r2
|
|
strh r4, [r0]
|
|
adds r1, 0x1
|
|
str r1, [r3, 0x8]
|
|
_080240E4:
|
|
adds r4, 0x1
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
cmp r4, r0
|
|
ble _080240B6
|
|
_080240EE:
|
|
bl sub_80241A8
|
|
ldr r0, _08024104
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x8]
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08024100: .4byte gUnknown_203B45C
|
|
_08024104: .4byte gUnknown_3001B60
|
|
thumb_func_end sub_8023F8C
|
|
|
|
thumb_func_start sub_8024108
|
|
sub_8024108:
|
|
push {r4-r7,lr}
|
|
adds r5, r0, 0
|
|
movs r7, 0
|
|
movs r6, 0x1
|
|
_08024110:
|
|
ldr r2, _08024134
|
|
movs r0, 0x58
|
|
adds r1, r7, 0
|
|
muls r1, r0
|
|
ldr r0, [r2]
|
|
adds r4, r0, r1
|
|
ldrh r1, [r4]
|
|
adds r0, r6, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08024172
|
|
cmp r5, 0x2
|
|
bne _08024138
|
|
lsrs r0, r1, 1
|
|
ands r0, r6
|
|
cmp r0, 0
|
|
beq _08024172
|
|
b _0802416E
|
|
.align 2, 0
|
|
_08024134: .4byte gUnknown_203B45C
|
|
_08024138:
|
|
cmp r5, 0x3
|
|
bne _08024140
|
|
lsrs r0, r1, 1
|
|
b _08024168
|
|
_08024140:
|
|
cmp r5, 0x4
|
|
bne _0802416E
|
|
ldrb r0, [r4, 0x2]
|
|
cmp r0, 0
|
|
bne _08024172
|
|
movs r0, 0x9
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802416E
|
|
movs r1, 0
|
|
ldrb r0, [r4, 0x4]
|
|
cmp r0, 0x41
|
|
bne _08024160
|
|
movs r1, 0x1
|
|
_08024160:
|
|
cmp r1, 0
|
|
beq _0802416E
|
|
ldrh r0, [r4]
|
|
lsrs r0, 1
|
|
_08024168:
|
|
ands r0, r6
|
|
cmp r0, 0
|
|
bne _08024172
|
|
_0802416E:
|
|
movs r0, 0
|
|
b _0802417E
|
|
_08024172:
|
|
adds r7, 0x1
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
cmp r7, r0
|
|
ble _08024110
|
|
movs r0, 0x1
|
|
_0802417E:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8024108
|
|
|
|
thumb_func_start sub_8024184
|
|
sub_8024184:
|
|
push {r4,lr}
|
|
lsls r4, r1, 24
|
|
lsrs r4, 24
|
|
movs r1, 0x8
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_808DBA8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r4, r0
|
|
beq _0802419E
|
|
movs r0, 0
|
|
b _080241A0
|
|
_0802419E:
|
|
movs r0, 0x1
|
|
_080241A0:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8024184
|
|
|
|
thumb_func_start sub_80241A8
|
|
sub_80241A8:
|
|
push {r4,lr}
|
|
ldr r4, _080241C0
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x4]
|
|
cmp r0, 0x2
|
|
beq _080241CA
|
|
cmp r0, 0x2
|
|
bhi _080241C4
|
|
cmp r0, 0x1
|
|
beq _08024206
|
|
b _08024222
|
|
.align 2, 0
|
|
_080241C0: .4byte gUnknown_3001B60
|
|
_080241C4:
|
|
cmp r0, 0x3
|
|
beq _080241E8
|
|
b _08024222
|
|
_080241CA:
|
|
ldr r0, [r1, 0xC]
|
|
ldr r1, [r1, 0x10]
|
|
cmp r0, r1
|
|
beq _080241D6
|
|
bl sub_80242D0
|
|
_080241D6:
|
|
ldr r0, [r4]
|
|
ldr r2, [r0, 0x10]
|
|
ldr r1, [r0, 0x8]
|
|
cmp r2, r1
|
|
beq _08024222
|
|
adds r0, r2, 0
|
|
bl sub_80242D0
|
|
b _08024222
|
|
_080241E8:
|
|
ldr r0, [r1, 0xC]
|
|
ldr r1, [r1, 0x10]
|
|
cmp r0, r1
|
|
beq _080241F4
|
|
bl sub_802437C
|
|
_080241F4:
|
|
ldr r0, [r4]
|
|
ldr r2, [r0, 0x10]
|
|
ldr r1, [r0, 0x8]
|
|
cmp r2, r1
|
|
beq _08024222
|
|
adds r0, r2, 0
|
|
bl sub_802437C
|
|
b _08024222
|
|
_08024206:
|
|
ldr r0, [r1, 0xC]
|
|
ldr r1, [r1, 0x10]
|
|
cmp r0, r1
|
|
beq _08024212
|
|
bl sub_8024228
|
|
_08024212:
|
|
ldr r0, [r4]
|
|
ldr r2, [r0, 0x10]
|
|
ldr r1, [r0, 0x8]
|
|
cmp r2, r1
|
|
beq _08024222
|
|
adds r0, r2, 0
|
|
bl sub_8024228
|
|
_08024222:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80241A8
|
|
|
|
thumb_func_start sub_8024228
|
|
sub_8024228:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0xC
|
|
ldr r3, _080242C8
|
|
lsls r2, r1, 1
|
|
adds r2, 0x18
|
|
ldr r3, [r3]
|
|
adds r3, r2
|
|
str r3, [sp]
|
|
adds r2, r0, 0
|
|
subs r1, 0x1
|
|
cmp r2, r1
|
|
bge _080242B8
|
|
str r1, [sp, 0x4]
|
|
_0802424A:
|
|
ldr r5, [sp]
|
|
adds r7, r1, 0
|
|
adds r0, r2, 0x1
|
|
mov r10, r0
|
|
cmp r7, r2
|
|
ble _080242B0
|
|
ldr r3, _080242CC
|
|
mov r9, r3
|
|
movs r0, 0x58
|
|
mov r8, r0
|
|
_0802425E:
|
|
mov r3, r9
|
|
ldr r1, [r3]
|
|
subs r6, r5, 0x2
|
|
movs r3, 0
|
|
ldrsh r0, [r6, r3]
|
|
mov r3, r8
|
|
muls r3, r0
|
|
adds r0, r3, 0
|
|
adds r1, r0
|
|
movs r3, 0x8
|
|
ldrsh r0, [r1, r3]
|
|
str r2, [sp, 0x8]
|
|
bl sub_808DCFC
|
|
adds r4, r0, 0
|
|
mov r0, r9
|
|
ldr r1, [r0]
|
|
movs r3, 0
|
|
ldrsh r0, [r5, r3]
|
|
mov r3, r8
|
|
muls r3, r0
|
|
adds r0, r3, 0
|
|
adds r1, r0
|
|
movs r3, 0x8
|
|
ldrsh r0, [r1, r3]
|
|
bl sub_808DCFC
|
|
lsls r4, 16
|
|
lsls r0, 16
|
|
ldr r2, [sp, 0x8]
|
|
cmp r4, r0
|
|
ble _080242A8
|
|
movs r0, 0
|
|
ldrsh r1, [r5, r0]
|
|
ldrh r0, [r6]
|
|
strh r0, [r5]
|
|
strh r1, [r6]
|
|
_080242A8:
|
|
adds r5, r6, 0
|
|
subs r7, 0x1
|
|
cmp r7, r2
|
|
bgt _0802425E
|
|
_080242B0:
|
|
mov r2, r10
|
|
ldr r1, [sp, 0x4]
|
|
cmp r2, r1
|
|
blt _0802424A
|
|
_080242B8:
|
|
add sp, 0xC
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080242C8: .4byte gUnknown_3001B60
|
|
_080242CC: .4byte gUnknown_203B45C
|
|
thumb_func_end sub_8024228
|
|
|
|
thumb_func_start sub_80242D0
|
|
sub_80242D0:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0xC
|
|
ldr r3, _08024374
|
|
lsls r2, r1, 1
|
|
adds r2, 0x18
|
|
ldr r3, [r3]
|
|
adds r3, r2
|
|
str r3, [sp]
|
|
adds r2, r0, 0
|
|
subs r1, 0x1
|
|
cmp r2, r1
|
|
bge _08024364
|
|
str r1, [sp, 0x4]
|
|
_080242F2:
|
|
ldr r5, [sp]
|
|
adds r7, r1, 0
|
|
adds r0, r2, 0x1
|
|
mov r10, r0
|
|
cmp r7, r2
|
|
ble _0802435C
|
|
ldr r3, _08024378
|
|
mov r9, r3
|
|
movs r0, 0x58
|
|
mov r8, r0
|
|
_08024306:
|
|
mov r3, r9
|
|
ldr r1, [r3]
|
|
subs r6, r5, 0x2
|
|
movs r3, 0
|
|
ldrsh r0, [r6, r3]
|
|
mov r3, r8
|
|
muls r3, r0
|
|
adds r0, r3, 0
|
|
adds r1, r0
|
|
movs r3, 0x8
|
|
ldrsh r0, [r1, r3]
|
|
movs r1, 0
|
|
str r2, [sp, 0x8]
|
|
bl sub_808DCDC
|
|
adds r4, r0, 0
|
|
mov r0, r9
|
|
ldr r1, [r0]
|
|
movs r3, 0
|
|
ldrsh r0, [r5, r3]
|
|
mov r3, r8
|
|
muls r3, r0
|
|
adds r0, r3, 0
|
|
adds r1, r0
|
|
movs r3, 0x8
|
|
ldrsh r0, [r1, r3]
|
|
movs r1, 0
|
|
bl sub_808DCDC
|
|
lsls r4, 16
|
|
lsls r0, 16
|
|
ldr r2, [sp, 0x8]
|
|
cmp r4, r0
|
|
ble _08024354
|
|
movs r0, 0
|
|
ldrsh r1, [r5, r0]
|
|
ldrh r0, [r6]
|
|
strh r0, [r5]
|
|
strh r1, [r6]
|
|
_08024354:
|
|
adds r5, r6, 0
|
|
subs r7, 0x1
|
|
cmp r7, r2
|
|
bgt _08024306
|
|
_0802435C:
|
|
mov r2, r10
|
|
ldr r1, [sp, 0x4]
|
|
cmp r2, r1
|
|
blt _080242F2
|
|
_08024364:
|
|
add sp, 0xC
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08024374: .4byte gUnknown_3001B60
|
|
_08024378: .4byte gUnknown_203B45C
|
|
thumb_func_end sub_80242D0
|
|
|
|
thumb_func_start sub_802437C
|
|
sub_802437C:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
ldr r3, _080243E4
|
|
lsls r2, r1, 1
|
|
adds r2, 0x18
|
|
ldr r3, [r3]
|
|
adds r3, r2
|
|
mov r10, r3
|
|
adds r7, r0, 0
|
|
subs r1, 0x1
|
|
cmp r7, r1
|
|
bge _080243D6
|
|
mov r9, r1
|
|
_0802439C:
|
|
mov r4, r10
|
|
adds r6, r1, 0
|
|
adds r0, r7, 0x1
|
|
mov r8, r0
|
|
cmp r6, r7
|
|
ble _080243CE
|
|
_080243A8:
|
|
subs r5, r4, 0x2
|
|
movs r1, 0
|
|
ldrsh r0, [r5, r1]
|
|
movs r2, 0
|
|
ldrsh r1, [r4, r2]
|
|
bl sub_808D864
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080243C6
|
|
movs r0, 0
|
|
ldrsh r1, [r4, r0]
|
|
ldrh r0, [r5]
|
|
strh r0, [r4]
|
|
strh r1, [r5]
|
|
_080243C6:
|
|
adds r4, r5, 0
|
|
subs r6, 0x1
|
|
cmp r6, r7
|
|
bgt _080243A8
|
|
_080243CE:
|
|
mov r7, r8
|
|
mov r1, r9
|
|
cmp r7, r1
|
|
blt _0802439C
|
|
_080243D6:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080243E4: .4byte gUnknown_3001B60
|
|
thumb_func_end sub_802437C
|
|
|
|
thumb_func_start sub_80243E8
|
|
sub_80243E8:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x3C
|
|
ldr r3, _08024448
|
|
ldr r0, _0802444C
|
|
ldr r0, [r0]
|
|
ldr r2, _08024450
|
|
adds r1, r0, r2
|
|
movs r4, 0
|
|
ldrsh r2, [r1, r4]
|
|
movs r4, 0xDD
|
|
lsls r4, 2
|
|
adds r1, r0, r4
|
|
movs r4, 0
|
|
ldrsh r1, [r1, r4]
|
|
muls r1, r2
|
|
movs r4, 0xDC
|
|
lsls r4, 2
|
|
adds r2, r0, r4
|
|
movs r4, 0
|
|
ldrsh r2, [r2, r4]
|
|
adds r1, r2
|
|
lsls r1, 1
|
|
adds r0, 0x1A
|
|
adds r0, r1
|
|
movs r2, 0
|
|
ldrsh r1, [r0, r2]
|
|
movs r0, 0x58
|
|
muls r0, r1
|
|
ldr r4, [r3]
|
|
adds r4, r0
|
|
add r5, sp, 0x28
|
|
adds r1, r4, 0
|
|
adds r1, 0x4C
|
|
adds r0, r5, 0
|
|
movs r2, 0xA
|
|
bl sub_80922B4
|
|
ldr r1, _08024454
|
|
mov r0, sp
|
|
adds r2, r5, 0
|
|
bl sub_800D158
|
|
adds r0, r4, 0
|
|
add sp, 0x3C
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08024448: .4byte gUnknown_203B45C
|
|
_0802444C: .4byte gUnknown_3001B60
|
|
_08024450: .4byte 0x00000376
|
|
_08024454: .4byte gUnknown_80DC9A4
|
|
thumb_func_end sub_80243E8
|
|
|
|
thumb_func_start sub_8024458
|
|
sub_8024458:
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
ldr r6, _080244DC
|
|
movs r0, 0xA6
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r6]
|
|
adds r1, r0, 0
|
|
adds r1, 0x48
|
|
strh r4, [r1]
|
|
adds r1, 0x98
|
|
str r5, [r1]
|
|
adds r2, r0, 0
|
|
adds r2, 0xE4
|
|
lsls r1, r5, 1
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, 0xE8
|
|
adds r1, r0, r1
|
|
str r1, [r2]
|
|
adds r0, 0xE8
|
|
bl sub_8006518
|
|
ldr r1, [r6]
|
|
adds r0, r1, 0
|
|
adds r0, 0xE0
|
|
ldr r2, [r0]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0xE8
|
|
ldr r0, _080244E0
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r2, [r6]
|
|
adds r0, r2, 0
|
|
adds r0, 0xE4
|
|
ldr r1, [r0]
|
|
movs r3, 0xA4
|
|
lsls r3, 1
|
|
adds r0, r2, r3
|
|
str r0, [r1, 0x14]
|
|
movs r4, 0xA5
|
|
lsls r4, 1
|
|
adds r1, r2, r4
|
|
movs r0, 0xA
|
|
strb r0, [r1]
|
|
bl sub_8024604
|
|
bl sub_802452C
|
|
ldr r0, [r6]
|
|
bl sub_8013984
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080244DC: .4byte gUnknown_203B2AC
|
|
_080244E0: .4byte gUnknown_80DC9C8
|
|
thumb_func_end sub_8024458
|
|
|
|
thumb_func_start sub_80244E4
|
|
sub_80244E4:
|
|
push {r4,lr}
|
|
ldr r4, _08024500
|
|
ldr r0, [r4]
|
|
bl GetKeyPress
|
|
cmp r0, 0x1
|
|
beq _08024504
|
|
cmp r0, 0x2
|
|
bne _0802450E
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _08024524
|
|
.align 2, 0
|
|
_08024500: .4byte gUnknown_203B2AC
|
|
_08024504:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _08024524
|
|
_0802450E:
|
|
ldr r0, [r4]
|
|
bl sub_8013938
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802451E
|
|
movs r0, 0
|
|
b _08024524
|
|
_0802451E:
|
|
bl sub_802452C
|
|
movs r0, 0x1
|
|
_08024524:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80244E4
|
|
|
|
thumb_func_start sub_802452C
|
|
sub_802452C:
|
|
push {lr}
|
|
bl sub_8024588
|
|
bl sub_80245D0
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802452C
|
|
|
|
thumb_func_start sub_802453C
|
|
sub_802453C:
|
|
push {r4,r5,lr}
|
|
ldr r4, _08024580
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0802457A
|
|
adds r0, r2, 0
|
|
adds r0, 0xE0
|
|
ldr r0, [r0]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0xE8
|
|
ldr r0, _08024584
|
|
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, 0xE8
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802457A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08024580: .4byte gUnknown_203B2AC
|
|
_08024584: .4byte gUnknown_80DC9B0
|
|
thumb_func_end sub_802453C
|
|
|
|
thumb_func_start sub_8024588
|
|
sub_8024588:
|
|
push {r4,lr}
|
|
ldr r4, _080245C4
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0, 0x20]
|
|
movs r2, 0xA4
|
|
lsls r2, 1
|
|
adds r0, r2
|
|
movs r2, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0, 0x1E]
|
|
ldr r3, _080245C8
|
|
adds r0, r3
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
ldr r1, _080245CC
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0xE8
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080245C4: .4byte gUnknown_203B2AC
|
|
_080245C8: .4byte 0x00000149
|
|
_080245CC: .4byte 0x0000014b
|
|
thumb_func_end sub_8024588
|
|
|
|
thumb_func_start sub_80245D0
|
|
sub_80245D0:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _08024600
|
|
ldr r4, [r0]
|
|
movs r0, 0x1E
|
|
ldrsh r1, [r4, r0]
|
|
lsls r2, r1, 2
|
|
adds r0, r4, 0
|
|
adds r0, 0x34
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r2, r4, 0
|
|
adds r2, 0x4C
|
|
adds r3, r4, 0
|
|
adds r3, 0xB0
|
|
adds r4, 0xE0
|
|
ldr r4, [r4]
|
|
str r4, [sp]
|
|
bl sub_808F844
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08024600: .4byte gUnknown_203B2AC
|
|
thumb_func_end sub_80245D0
|
|
|
|
thumb_func_start sub_8024604
|
|
sub_8024604:
|
|
push {r4,r5,lr}
|
|
ldr r4, _08024654
|
|
ldr r0, [r4]
|
|
movs r1, 0x2
|
|
str r1, [r0, 0x34]
|
|
movs r1, 0x3
|
|
str r1, [r0, 0x38]
|
|
movs r1, 0x5
|
|
str r1, [r0, 0x3C]
|
|
adds r1, r0, 0
|
|
adds r1, 0xE0
|
|
ldr r3, [r1]
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8013818
|
|
ldr r0, [r4]
|
|
adds r5, r0, 0
|
|
adds r5, 0x4C
|
|
ldr r2, _08024658
|
|
adds r0, 0x48
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
movs r0, 0x58
|
|
muls r0, r1
|
|
ldr r4, [r2]
|
|
adds r4, r0
|
|
movs r0, 0x7
|
|
bl sub_80023E4
|
|
adds r2, r0, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_808FF20
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08024654: .4byte gUnknown_203B2AC
|
|
_08024658: .4byte gUnknown_203B45C
|
|
thumb_func_end sub_8024604
|
|
|
|
thumb_func_start sub_802465C
|
|
sub_802465C:
|
|
push {r4,r5,lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r5, _080246E8
|
|
movs r0, 0xBA
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r4, 0
|
|
str r4, [r0, 0x28]
|
|
str r4, [r0, 0x2C]
|
|
str r4, [r0, 0x30]
|
|
bl sub_808D33C
|
|
ldr r1, [r5]
|
|
str r0, [r1, 0xC]
|
|
bl sub_808D824
|
|
ldr r1, [r5]
|
|
strb r0, [r1, 0x10]
|
|
ldr r0, [r5]
|
|
strb r4, [r0]
|
|
ldr r0, _080246EC
|
|
bl sub_808DDD0
|
|
ldr r2, [r5]
|
|
movs r3, 0x82
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
str r0, [r1]
|
|
adds r3, 0x4
|
|
adds r1, r2, r3
|
|
ldr r0, [r0, 0x4]
|
|
str r0, [r1]
|
|
movs r1, 0x88
|
|
lsls r1, 1
|
|
adds r0, r2, r1
|
|
strb r4, [r0]
|
|
ldr r0, [r5]
|
|
adds r3, 0x9
|
|
adds r0, r3
|
|
strb r4, [r0]
|
|
ldr r0, [r5]
|
|
adds r1, 0x2
|
|
adds r0, r1
|
|
strb r4, [r0]
|
|
ldr r2, [r5]
|
|
subs r3, 0x5
|
|
adds r1, r2, r3
|
|
movs r0, 0x2
|
|
strh r0, [r1]
|
|
movs r0, 0x87
|
|
lsls r0, 1
|
|
adds r1, r2, r0
|
|
movs r0, 0x8
|
|
strh r0, [r1]
|
|
movs r0, 0
|
|
bl sub_80247EC
|
|
movs r0, 0x1
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080246E8: .4byte gUnknown_203B2B0
|
|
_080246EC: .4byte 0x00000155
|
|
thumb_func_end sub_802465C
|
|
|
|
thumb_func_start sub_80246F0
|
|
sub_80246F0:
|
|
push {lr}
|
|
ldr r0, _08024708
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x20]
|
|
cmp r0, 0x15
|
|
bhi _080247A8
|
|
lsls r0, 2
|
|
ldr r1, _0802470C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08024708: .4byte gUnknown_203B2B0
|
|
_0802470C: .4byte _08024710
|
|
.align 2, 0
|
|
_08024710:
|
|
.4byte _08024768
|
|
.4byte _08024768
|
|
.4byte _080247A8
|
|
.4byte _080247A8
|
|
.4byte _080247A4
|
|
.4byte _0802476E
|
|
.4byte _08024774
|
|
.4byte _08024774
|
|
.4byte _0802477A
|
|
.4byte _08024780
|
|
.4byte _08024786
|
|
.4byte _0802478C
|
|
.4byte _0802478C
|
|
.4byte _08024792
|
|
.4byte _08024798
|
|
.4byte _080247A8
|
|
.4byte _080247A8
|
|
.4byte _080247A8
|
|
.4byte _080247A8
|
|
.4byte _080247A8
|
|
.4byte _080247A8
|
|
.4byte _0802479E
|
|
_08024768:
|
|
bl sub_8024E9C
|
|
b _080247AC
|
|
_0802476E:
|
|
bl sub_8024F00
|
|
b _080247AC
|
|
_08024774:
|
|
bl sub_8024FD4
|
|
b _080247AC
|
|
_0802477A:
|
|
bl sub_80250EC
|
|
b _080247AC
|
|
_08024780:
|
|
bl sub_80251CC
|
|
b _080247AC
|
|
_08024786:
|
|
bl sub_8024F70
|
|
b _080247AC
|
|
_0802478C:
|
|
bl sub_8025058
|
|
b _080247AC
|
|
_08024792:
|
|
bl sub_802515C
|
|
b _080247AC
|
|
_08024798:
|
|
bl sub_80251E8
|
|
b _080247AC
|
|
_0802479E:
|
|
bl sub_8025204
|
|
b _080247AC
|
|
_080247A4:
|
|
movs r0, 0x3
|
|
b _080247AE
|
|
_080247A8:
|
|
bl sub_8025230
|
|
_080247AC:
|
|
movs r0, 0
|
|
_080247AE:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80246F0
|
|
|
|
thumb_func_start sub_80247B4
|
|
sub_80247B4:
|
|
ldr r0, _080247BC
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080247BC: .4byte gUnknown_203B2B0
|
|
thumb_func_end sub_80247B4
|
|
|
|
thumb_func_start sub_80247C0
|
|
sub_80247C0:
|
|
push {r4,lr}
|
|
ldr r4, _080247E8
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080247E0
|
|
movs r1, 0x82
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bl CloseFile
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_080247E0:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080247E8: .4byte gUnknown_203B2B0
|
|
thumb_func_end sub_80247C0
|
|
|
|
thumb_func_start sub_80247EC
|
|
sub_80247EC:
|
|
push {lr}
|
|
ldr r1, _08024800
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x20]
|
|
bl sub_8024804
|
|
bl sub_80248FC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08024800: .4byte gUnknown_203B2B0
|
|
thumb_func_end sub_80247EC
|
|
|
|
thumb_func_start sub_8024804
|
|
sub_8024804:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r4, _0802482C
|
|
ldr r0, [r4]
|
|
movs r1, 0x8A
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x20]
|
|
subs r0, 0x8
|
|
cmp r0, 0x14
|
|
bhi _080248A8
|
|
lsls r0, 2
|
|
ldr r1, _08024830
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802482C: .4byte gUnknown_203B2B0
|
|
_08024830: .4byte _08024834
|
|
.align 2, 0
|
|
_08024834:
|
|
.4byte _08024888
|
|
.4byte _080248A8
|
|
.4byte _080248A8
|
|
.4byte _080248A8
|
|
.4byte _080248A8
|
|
.4byte _08024888
|
|
.4byte _080248A8
|
|
.4byte _080248A8
|
|
.4byte _080248A8
|
|
.4byte _080248D2
|
|
.4byte _080248D2
|
|
.4byte _080248D2
|
|
.4byte _080248A8
|
|
.4byte _080248A8
|
|
.4byte _080248D2
|
|
.4byte _080248D2
|
|
.4byte _080248D2
|
|
.4byte _080248D2
|
|
.4byte _080248D2
|
|
.4byte _080248D2
|
|
.4byte _080248D2
|
|
_08024888:
|
|
ldr r0, _080248A0
|
|
ldr r1, [r0]
|
|
movs r2, 0xA2
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r0, _080248A4
|
|
ldm r0!, {r3-r5}
|
|
stm r1!, {r3-r5}
|
|
ldm r0!, {r2,r6,r7}
|
|
stm r1!, {r2,r6,r7}
|
|
b _080248D2
|
|
.align 2, 0
|
|
_080248A0: .4byte gUnknown_203B2B0
|
|
_080248A4: .4byte gUnknown_80DCA00
|
|
_080248A8:
|
|
ldr r3, _080248F4
|
|
mov r12, r3
|
|
movs r4, 0x8A
|
|
lsls r4, 1
|
|
mov r8, r4
|
|
ldr r4, _080248F8
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_080248B8:
|
|
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 _080248B8
|
|
_080248D2:
|
|
bl sub_8004914
|
|
ldr r0, _080248F4
|
|
ldr r0, [r0]
|
|
movs r6, 0x8A
|
|
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
|
|
_080248F4: .4byte gUnknown_203B2B0
|
|
_080248F8: .4byte gUnknown_80DC9E8
|
|
thumb_func_end sub_8024804
|
|
|
|
thumb_func_start sub_80248FC
|
|
sub_80248FC:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x14
|
|
ldr r1, _08024918
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x20]
|
|
adds r5, r1, 0
|
|
cmp r0, 0x1D
|
|
bls _0802490E
|
|
b _08024CF4
|
|
_0802490E:
|
|
lsls r0, 2
|
|
ldr r1, _0802491C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08024918: .4byte gUnknown_203B2B0
|
|
_0802491C: .4byte _08024920
|
|
.align 2, 0
|
|
_08024920:
|
|
.4byte _08024998
|
|
.4byte _080249D0
|
|
.4byte _080249E8
|
|
.4byte _080249F8
|
|
.4byte _08024CF4
|
|
.4byte _08024A14
|
|
.4byte _08024A20
|
|
.4byte _08024A2E
|
|
.4byte _08024A94
|
|
.4byte _08024AC0
|
|
.4byte _08024A36
|
|
.4byte _08024A68
|
|
.4byte _08024A76
|
|
.4byte _08024A94
|
|
.4byte _08024AC0
|
|
.4byte _08024ACA
|
|
.4byte _08024AD8
|
|
.4byte _08024AE8
|
|
.4byte _08024B4C
|
|
.4byte _08024B74
|
|
.4byte _08024C9C
|
|
.4byte _08024CC8
|
|
.4byte _08024C1C
|
|
.4byte _08024C2C
|
|
.4byte _08024C3C
|
|
.4byte _08024C4C
|
|
.4byte _08024C5C
|
|
.4byte _08024C6C
|
|
.4byte _08024C7C
|
|
.4byte _08024C8C
|
|
_08024998:
|
|
bl sub_80252B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080249B0
|
|
ldr r0, _080249AC
|
|
ldr r1, [r0]
|
|
movs r0, 0x3
|
|
b _080249B6
|
|
.align 2, 0
|
|
_080249AC: .4byte gUnknown_203B2B0
|
|
_080249B0:
|
|
ldr r0, _080249C8
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
_080249B6:
|
|
str r0, [r1, 0x28]
|
|
bl sub_8024CFC
|
|
ldr r0, _080249CC
|
|
ldr r1, _080249C8
|
|
ldr r1, [r1]
|
|
ldr r2, [r1, 0x28]
|
|
b _08024A42
|
|
.align 2, 0
|
|
_080249C8: .4byte gUnknown_203B2B0
|
|
_080249CC: .4byte gUnknown_80DCA34
|
|
_080249D0:
|
|
bl sub_8024CFC
|
|
ldr r0, _080249E0
|
|
ldr r1, _080249E4
|
|
ldr r1, [r1]
|
|
ldr r2, [r1, 0x28]
|
|
b _08024A42
|
|
.align 2, 0
|
|
_080249E0: .4byte gUnknown_80DCAB8
|
|
_080249E4: .4byte gUnknown_203B2B0
|
|
_080249E8:
|
|
ldr r1, [r5]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0x24]
|
|
ldr r0, _080249F4
|
|
b _08024CAE
|
|
.align 2, 0
|
|
_080249F4: .4byte gUnknown_80DCAD0
|
|
_080249F8:
|
|
ldr r1, [r5]
|
|
movs r0, 0x4
|
|
str r0, [r1, 0x24]
|
|
movs r0, 0x8
|
|
movs r1, 0x3C
|
|
bl sub_8011900
|
|
ldr r0, _08024A0C
|
|
ldr r3, _08024A10
|
|
b _08024CB0
|
|
.align 2, 0
|
|
_08024A0C: .4byte gUnknown_80DCD5C
|
|
_08024A10: .4byte 0x00000305
|
|
_08024A14:
|
|
bl sub_8024D48
|
|
ldr r0, _08024A1C
|
|
b _08024A3C
|
|
.align 2, 0
|
|
_08024A1C: .4byte gUnknown_80DCD90
|
|
_08024A20:
|
|
movs r0, 0x2
|
|
movs r1, 0x3
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl sub_801A5D8
|
|
b _08024CF4
|
|
_08024A2E:
|
|
movs r0, 0x1
|
|
bl sub_801A8D0
|
|
b _08024CF4
|
|
_08024A36:
|
|
bl sub_8024DBC
|
|
ldr r0, _08024A60
|
|
_08024A3C:
|
|
ldr r1, _08024A64
|
|
ldr r1, [r1]
|
|
ldr r2, [r1, 0x2C]
|
|
_08024A42:
|
|
adds r3, r1, 0
|
|
adds r3, 0x34
|
|
adds r1, 0x74
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
str r1, [sp, 0x8]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0x5
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
bl sub_8014248
|
|
b _08024CF4
|
|
.align 2, 0
|
|
_08024A60: .4byte gUnknown_80DCDB8
|
|
_08024A64: .4byte gUnknown_203B2B0
|
|
_08024A68:
|
|
movs r0, 0x2
|
|
movs r1, 0x3
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl sub_801A5D8
|
|
b _08024A7C
|
|
_08024A76:
|
|
movs r0, 0x1
|
|
bl sub_801A8D0
|
|
_08024A7C:
|
|
ldr r0, _08024A90
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x14]
|
|
movs r1, 0x1
|
|
bl sub_801AEE4
|
|
bl sub_801A9E0
|
|
b _08024CF4
|
|
.align 2, 0
|
|
_08024A90: .4byte gUnknown_203B2B0
|
|
_08024A94:
|
|
bl sub_801A9E0
|
|
bl sub_8024E30
|
|
ldr r0, _08024ABC
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x84
|
|
adds r1, r2, 0
|
|
adds r1, 0x34
|
|
adds r3, r2, 0
|
|
adds r3, 0x74
|
|
ldr r2, [r2, 0x30]
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8012D60
|
|
b _08024CF4
|
|
.align 2, 0
|
|
_08024ABC: .4byte gUnknown_203B2B0
|
|
_08024AC0:
|
|
ldr r0, [r5]
|
|
adds r0, 0x1C
|
|
bl sub_801B3C0
|
|
b _08024CF4
|
|
_08024ACA:
|
|
ldr r1, [r5]
|
|
movs r0, 0x5
|
|
str r0, [r1, 0x24]
|
|
ldr r0, _08024AD4
|
|
b _08024CAE
|
|
.align 2, 0
|
|
_08024AD4: .4byte gUnknown_80DCDDC
|
|
_08024AD8:
|
|
ldr r1, [r5]
|
|
movs r0, 0xA
|
|
str r0, [r1, 0x24]
|
|
ldr r0, _08024AE4
|
|
b _08024CAE
|
|
.align 2, 0
|
|
_08024AE4: .4byte gUnknown_80DCE18
|
|
_08024AE8:
|
|
bl sub_8025254
|
|
ldr r0, _08024B00
|
|
ldr r1, [r0]
|
|
ldrh r2, [r1, 0x8]
|
|
movs r0, 0x1
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _08024B04
|
|
movs r0, 0x12
|
|
b _08024B3A
|
|
.align 2, 0
|
|
_08024B00: .4byte gUnknown_203B2B0
|
|
_08024B04:
|
|
lsls r0, r2, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x4
|
|
bne _08024B10
|
|
movs r0, 0x18
|
|
b _08024B3A
|
|
_08024B10:
|
|
cmp r0, 0x2
|
|
bne _08024B18
|
|
movs r0, 0x17
|
|
b _08024B3A
|
|
_08024B18:
|
|
cmp r0, 0x10
|
|
bne _08024B20
|
|
movs r0, 0x1B
|
|
b _08024B3A
|
|
_08024B20:
|
|
cmp r0, 0x20
|
|
bne _08024B28
|
|
movs r0, 0x19
|
|
b _08024B3A
|
|
_08024B28:
|
|
cmp r0, 0x40
|
|
bne _08024B30
|
|
movs r0, 0x1A
|
|
b _08024B3A
|
|
_08024B30:
|
|
cmp r0, 0x8
|
|
bne _08024B38
|
|
movs r0, 0x1C
|
|
b _08024B3A
|
|
_08024B38:
|
|
movs r0, 0x1D
|
|
_08024B3A:
|
|
str r0, [r1, 0x24]
|
|
movs r0, 0x3C
|
|
bl sub_8011930
|
|
ldr r0, _08024B48
|
|
b _08024CAE
|
|
.align 2, 0
|
|
_08024B48: .4byte gUnknown_80DCE38
|
|
_08024B4C:
|
|
ldr r0, _08024B68
|
|
ldr r1, [r5]
|
|
ldr r1, [r1, 0xC]
|
|
movs r2, 0x5
|
|
bl sub_808D9AC
|
|
ldr r0, _08024B6C
|
|
bl sub_8011988
|
|
ldr r1, [r5]
|
|
movs r0, 0x13
|
|
str r0, [r1, 0x24]
|
|
ldr r0, _08024B70
|
|
b _08024CAE
|
|
.align 2, 0
|
|
_08024B68: .4byte gPlayerName
|
|
_08024B6C: .4byte 0x000001ff
|
|
_08024B70: .4byte gUnknown_80DCE68
|
|
_08024B74:
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0xC]
|
|
movs r1, 0x8
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r4, _08024C10
|
|
adds r0, r4, 0
|
|
bl strcpy
|
|
ldr r0, [r5]
|
|
movs r2, 0xA
|
|
ldrsh r0, [r0, r2]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
adds r4, 0x50
|
|
adds r0, r4, 0
|
|
bl strcpy
|
|
ldr r1, [r5]
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
bl sub_80977D0
|
|
ldr r1, [r5]
|
|
ldr r0, [r1, 0xC]
|
|
movs r2, 0xA
|
|
ldrsh r1, [r1, r2]
|
|
bl sub_808F734
|
|
bl nullsub_104
|
|
bl sub_808D33C
|
|
ldr r1, [r5]
|
|
str r0, [r1, 0xC]
|
|
ldr r0, [r1, 0x14]
|
|
cmp r0, 0x14
|
|
beq _08024BCA
|
|
bl sub_8091234
|
|
_08024BCA:
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x18]
|
|
cmp r0, 0x14
|
|
beq _08024BD6
|
|
bl sub_8091234
|
|
_08024BD6:
|
|
bl sub_80910B4
|
|
ldr r0, _08024C14
|
|
bl sub_801199C
|
|
movs r0, 0xD2
|
|
bl sub_8011988
|
|
ldr r1, [r5]
|
|
ldrb r0, [r1, 0x10]
|
|
cmp r0, 0
|
|
beq _08024C06
|
|
ldr r0, [r1, 0xC]
|
|
adds r4, r0, 0
|
|
adds r4, 0x4C
|
|
movs r1, 0x8
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
movs r2, 0xA
|
|
bl sub_8092310
|
|
_08024C06:
|
|
ldr r1, [r5]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x24]
|
|
ldr r0, _08024C18
|
|
b _08024CAE
|
|
.align 2, 0
|
|
_08024C10: .4byte gUnknown_202DF98
|
|
_08024C14: .4byte 0x000001ff
|
|
_08024C18: .4byte gUnknown_80DCEB0
|
|
_08024C1C:
|
|
ldr r1, [r5]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x24]
|
|
ldr r0, _08024C28
|
|
b _08024CAE
|
|
.align 2, 0
|
|
_08024C28: .4byte gUnknown_80DCEDC
|
|
_08024C2C:
|
|
ldr r1, [r5]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x24]
|
|
ldr r0, _08024C38
|
|
b _08024CAE
|
|
.align 2, 0
|
|
_08024C38: .4byte gUnknown_80DCF44
|
|
_08024C3C:
|
|
ldr r1, [r5]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x24]
|
|
ldr r0, _08024C48
|
|
b _08024CAE
|
|
.align 2, 0
|
|
_08024C48: .4byte gUnknown_80DCF88
|
|
_08024C4C:
|
|
ldr r1, [r5]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x24]
|
|
ldr r0, _08024C58
|
|
b _08024CAE
|
|
.align 2, 0
|
|
_08024C58: .4byte gUnknown_80DCFAC
|
|
_08024C5C:
|
|
ldr r1, [r5]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x24]
|
|
ldr r0, _08024C68
|
|
b _08024CAE
|
|
.align 2, 0
|
|
_08024C68: .4byte gUnknown_80DCFF4
|
|
_08024C6C:
|
|
ldr r1, [r5]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x24]
|
|
ldr r0, _08024C78
|
|
b _08024CAE
|
|
.align 2, 0
|
|
_08024C78: .4byte gUnknown_80DD054
|
|
_08024C7C:
|
|
ldr r1, [r5]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x24]
|
|
ldr r0, _08024C88
|
|
b _08024CAE
|
|
.align 2, 0
|
|
_08024C88: .4byte gUnknown_80DD098
|
|
_08024C8C:
|
|
ldr r1, [r5]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x24]
|
|
ldr r0, _08024C98
|
|
b _08024CAE
|
|
.align 2, 0
|
|
_08024C98: .4byte gUnknown_80DD0E0
|
|
_08024C9C:
|
|
movs r0, 0x8
|
|
movs r1, 0x3C
|
|
bl sub_8011900
|
|
ldr r0, _08024CBC
|
|
ldr r1, [r0]
|
|
movs r0, 0x15
|
|
str r0, [r1, 0x24]
|
|
ldr r0, _08024CC0
|
|
_08024CAE:
|
|
ldr r3, _08024CC4
|
|
_08024CB0:
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _08024CF4
|
|
.align 2, 0
|
|
_08024CBC: .4byte gUnknown_203B2B0
|
|
_08024CC0: .4byte gUnknown_80DD104
|
|
_08024CC4: .4byte 0x00000105
|
|
_08024CC8:
|
|
ldr r1, [r5]
|
|
ldrb r0, [r1, 0x10]
|
|
cmp r0, 0
|
|
beq _08024CE8
|
|
ldr r0, [r1, 0xC]
|
|
adds r4, r0, 0
|
|
adds r4, 0x4C
|
|
movs r2, 0x8
|
|
ldrsh r0, [r0, r2]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
movs r2, 0xA
|
|
bl sub_8092310
|
|
_08024CE8:
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, 0xC]
|
|
adds r1, 0x4C
|
|
movs r0, 0
|
|
bl sub_801602C
|
|
_08024CF4:
|
|
add sp, 0x14
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80248FC
|
|
|
|
thumb_func_start sub_8024CFC
|
|
sub_8024CFC:
|
|
push {r4,lr}
|
|
ldr r4, _08024D38
|
|
ldr r0, [r4]
|
|
adds r0, 0x74
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r1, [r4]
|
|
movs r3, 0
|
|
ldr r0, _08024D3C
|
|
str r0, [r1, 0x34]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x38]
|
|
movs r2, 0x1
|
|
ldr r0, _08024D40
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x3C]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x40]
|
|
ldr r0, _08024D44
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x44]
|
|
str r2, [r1, 0x48]
|
|
str r3, [r1, 0x4C]
|
|
str r2, [r1, 0x50]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08024D38: .4byte gUnknown_203B2B0
|
|
_08024D3C: .4byte gUnknown_80DCA18
|
|
_08024D40: .4byte gUnknown_80D4970
|
|
_08024D44: .4byte gUnknown_80D4934
|
|
thumb_func_end sub_8024CFC
|
|
|
|
thumb_func_start sub_8024D48
|
|
sub_8024D48:
|
|
push {r4-r7,lr}
|
|
ldr r4, _08024DAC
|
|
ldr r0, [r4]
|
|
adds r0, 0x74
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r3, [r4]
|
|
movs r2, 0
|
|
ldr r0, _08024DB0
|
|
str r0, [r3, 0x34]
|
|
movs r0, 0x4
|
|
str r0, [r3, 0x38]
|
|
movs r1, 0x1
|
|
ldr r0, _08024DB4
|
|
str r0, [r3, 0x3C]
|
|
movs r0, 0x5
|
|
str r0, [r3, 0x40]
|
|
ldr r0, _08024DB8
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x44]
|
|
str r1, [r3, 0x48]
|
|
movs r6, 0x3
|
|
str r2, [r3, 0x4C]
|
|
str r1, [r3, 0x50]
|
|
movs r5, 0
|
|
mov r12, r3
|
|
adds r3, 0x38
|
|
mov r2, r12
|
|
adds r2, 0x74
|
|
_08024D86:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _08024D96
|
|
ldr r1, [r3]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x2C]
|
|
cmp r1, r0
|
|
beq _08024DA6
|
|
_08024D96:
|
|
adds r3, 0x8
|
|
adds r2, 0x2
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
blt _08024D86
|
|
ldr r1, [r4]
|
|
movs r0, 0x4
|
|
str r0, [r1, 0x2C]
|
|
_08024DA6:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08024DAC: .4byte gUnknown_203B2B0
|
|
_08024DB0: .4byte gUnknown_80DCA24
|
|
_08024DB4: .4byte gUnknown_80DCA2C
|
|
_08024DB8: .4byte gUnknown_80D4934
|
|
thumb_func_end sub_8024D48
|
|
|
|
thumb_func_start sub_8024DBC
|
|
sub_8024DBC:
|
|
push {r4-r7,lr}
|
|
ldr r4, _08024E20
|
|
ldr r0, [r4]
|
|
adds r0, 0x74
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r3, [r4]
|
|
movs r2, 0
|
|
ldr r0, _08024E24
|
|
str r0, [r3, 0x34]
|
|
movs r0, 0x4
|
|
str r0, [r3, 0x38]
|
|
movs r1, 0x1
|
|
ldr r0, _08024E28
|
|
str r0, [r3, 0x3C]
|
|
movs r0, 0x5
|
|
str r0, [r3, 0x40]
|
|
ldr r0, _08024E2C
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x44]
|
|
str r1, [r3, 0x48]
|
|
movs r6, 0x3
|
|
str r2, [r3, 0x4C]
|
|
str r1, [r3, 0x50]
|
|
movs r5, 0
|
|
mov r12, r3
|
|
adds r3, 0x38
|
|
mov r2, r12
|
|
adds r2, 0x74
|
|
_08024DFA:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _08024E0A
|
|
ldr r1, [r3]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x2C]
|
|
cmp r1, r0
|
|
beq _08024E1A
|
|
_08024E0A:
|
|
adds r3, 0x8
|
|
adds r2, 0x2
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
blt _08024DFA
|
|
ldr r1, [r4]
|
|
movs r0, 0x4
|
|
str r0, [r1, 0x2C]
|
|
_08024E1A:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08024E20: .4byte gUnknown_203B2B0
|
|
_08024E24: .4byte gUnknown_80DCA24
|
|
_08024E28: .4byte gUnknown_80DCA2C
|
|
_08024E2C: .4byte gUnknown_80D4934
|
|
thumb_func_end sub_8024DBC
|
|
|
|
thumb_func_start sub_8024E30
|
|
sub_8024E30:
|
|
push {r4-r7,lr}
|
|
ldr r4, _08024E90
|
|
ldr r0, [r4]
|
|
adds r0, 0x74
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r3, [r4]
|
|
movs r2, 0
|
|
ldr r0, _08024E94
|
|
str r0, [r3, 0x34]
|
|
movs r0, 0x5
|
|
str r0, [r3, 0x38]
|
|
movs r1, 0x1
|
|
ldr r0, _08024E98
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x3C]
|
|
movs r0, 0x2
|
|
str r0, [r3, 0x40]
|
|
movs r6, 0x2
|
|
str r2, [r3, 0x44]
|
|
str r1, [r3, 0x48]
|
|
movs r5, 0
|
|
mov r12, r3
|
|
adds r3, 0x38
|
|
mov r2, r12
|
|
adds r2, 0x74
|
|
_08024E68:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _08024E78
|
|
ldr r1, [r3]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x30]
|
|
cmp r1, r0
|
|
beq _08024E88
|
|
_08024E78:
|
|
adds r3, 0x8
|
|
adds r2, 0x2
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
blt _08024E68
|
|
ldr r1, [r4]
|
|
movs r0, 0x5
|
|
str r0, [r1, 0x30]
|
|
_08024E88:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08024E90: .4byte gUnknown_203B2B0
|
|
_08024E94: .4byte gUnknown_80DCA2C
|
|
_08024E98: .4byte gUnknown_80D4970
|
|
thumb_func_end sub_8024E30
|
|
|
|
thumb_func_start sub_8024E9C
|
|
sub_8024E9C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08024EF8
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _08024EB6
|
|
ldr r0, _08024EC8
|
|
ldr r0, [r0]
|
|
str r1, [r0, 0x28]
|
|
_08024EB6:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _08024EEA
|
|
cmp r0, 0x2
|
|
bgt _08024ECC
|
|
cmp r0, 0x1
|
|
beq _08024EF2
|
|
b _08024EF8
|
|
.align 2, 0
|
|
_08024EC8: .4byte gUnknown_203B2B0
|
|
_08024ECC:
|
|
cmp r0, 0x3
|
|
bne _08024EF8
|
|
bl sub_80252B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08024EE2
|
|
movs r0, 0x5
|
|
bl sub_80247EC
|
|
b _08024EF8
|
|
_08024EE2:
|
|
movs r0, 0x16
|
|
bl sub_80247EC
|
|
b _08024EF8
|
|
_08024EEA:
|
|
movs r0, 0x2
|
|
bl sub_80247EC
|
|
b _08024EF8
|
|
_08024EF2:
|
|
movs r0, 0x3
|
|
bl sub_80247EC
|
|
_08024EF8:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8024E9C
|
|
|
|
thumb_func_start sub_8024F00
|
|
sub_8024F00:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08024F6A
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _08024F1A
|
|
ldr r0, _08024F2C
|
|
ldr r0, [r0]
|
|
str r1, [r0, 0x2C]
|
|
_08024F1A:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x4
|
|
beq _08024F36
|
|
cmp r0, 0x4
|
|
bgt _08024F30
|
|
cmp r0, 0x1
|
|
beq _08024F64
|
|
b _08024F6A
|
|
.align 2, 0
|
|
_08024F2C: .4byte gUnknown_203B2B0
|
|
_08024F30:
|
|
cmp r0, 0x5
|
|
beq _08024F4C
|
|
b _08024F6A
|
|
_08024F36:
|
|
ldr r0, _08024F48
|
|
ldr r1, [r0]
|
|
movs r0, 0x14
|
|
str r0, [r1, 0x14]
|
|
str r0, [r1, 0x18]
|
|
movs r0, 0x11
|
|
bl sub_80247EC
|
|
b _08024F6A
|
|
.align 2, 0
|
|
_08024F48: .4byte gUnknown_203B2B0
|
|
_08024F4C:
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
bne _08024F5C
|
|
movs r0, 0xF
|
|
bl sub_80247EC
|
|
b _08024F6A
|
|
_08024F5C:
|
|
movs r0, 0x6
|
|
bl sub_80247EC
|
|
b _08024F6A
|
|
_08024F64:
|
|
movs r0, 0x1
|
|
bl sub_80247EC
|
|
_08024F6A:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8024F00
|
|
|
|
thumb_func_start sub_8024F70
|
|
sub_8024F70:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08024FCC
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _08024F8A
|
|
ldr r0, _08024F9C
|
|
ldr r0, [r0]
|
|
str r1, [r0, 0x2C]
|
|
_08024F8A:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x4
|
|
beq _08024FA6
|
|
cmp r0, 0x4
|
|
bgt _08024FA0
|
|
cmp r0, 0x1
|
|
beq _08024FC6
|
|
b _08024FCC
|
|
.align 2, 0
|
|
_08024F9C: .4byte gUnknown_203B2B0
|
|
_08024FA0:
|
|
cmp r0, 0x5
|
|
beq _08024FAE
|
|
b _08024FCC
|
|
_08024FA6:
|
|
movs r0, 0x11
|
|
bl sub_80247EC
|
|
b _08024FCC
|
|
_08024FAE:
|
|
bl sub_8090A34
|
|
cmp r0, 0x1
|
|
bgt _08024FBE
|
|
movs r0, 0x10
|
|
bl sub_80247EC
|
|
b _08024FCC
|
|
_08024FBE:
|
|
movs r0, 0xB
|
|
bl sub_80247EC
|
|
b _08024FCC
|
|
_08024FC6:
|
|
movs r0, 0x1
|
|
bl sub_80247EC
|
|
_08024FCC:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8024F70
|
|
|
|
thumb_func_start sub_8024FD4
|
|
sub_8024FD4:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_801A6E8
|
|
cmp r0, 0x3
|
|
beq _08024FF0
|
|
cmp r0, 0x3
|
|
bhi _08024FEA
|
|
cmp r0, 0x2
|
|
beq _08025048
|
|
b _08025052
|
|
_08024FEA:
|
|
cmp r0, 0x4
|
|
beq _0802501C
|
|
b _08025052
|
|
_08024FF0:
|
|
bl sub_801A8AC
|
|
ldr r1, _08025014
|
|
ldr r2, [r1]
|
|
str r0, [r2, 0x14]
|
|
movs r1, 0x14
|
|
str r1, [r2, 0x18]
|
|
ldr r1, _08025018
|
|
ldr r1, [r1]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x1C]
|
|
movs r0, 0x8
|
|
bl sub_80247EC
|
|
b _08025052
|
|
.align 2, 0
|
|
_08025014: .4byte gUnknown_203B2B0
|
|
_08025018: .4byte gUnknown_203B460
|
|
_0802501C:
|
|
bl sub_801A8AC
|
|
ldr r1, _08025040
|
|
ldr r2, [r1]
|
|
ldr r1, _08025044
|
|
ldr r1, [r1]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x1C]
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0x9
|
|
bl sub_80247EC
|
|
b _08025052
|
|
.align 2, 0
|
|
_08025040: .4byte gUnknown_203B2B0
|
|
_08025044: .4byte gUnknown_203B460
|
|
_08025048:
|
|
bl sub_801A928
|
|
movs r0, 0x5
|
|
bl sub_80247EC
|
|
_08025052:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8024FD4
|
|
|
|
thumb_func_start sub_8025058
|
|
sub_8025058:
|
|
push {r4,r5,lr}
|
|
movs r0, 0x1
|
|
bl sub_801A6E8
|
|
cmp r0, 0x3
|
|
beq _08025074
|
|
cmp r0, 0x3
|
|
bhi _0802506E
|
|
cmp r0, 0x2
|
|
beq _080250DC
|
|
b _080250E6
|
|
_0802506E:
|
|
cmp r0, 0x4
|
|
beq _080250B0
|
|
b _080250E6
|
|
_08025074:
|
|
ldr r5, _080250A0
|
|
ldr r4, [r5]
|
|
bl sub_801A8AC
|
|
ldr r1, [r4, 0x14]
|
|
cmp r1, r0
|
|
beq _080250A8
|
|
bl sub_801A8AC
|
|
ldr r2, [r5]
|
|
str r0, [r2, 0x18]
|
|
ldr r1, _080250A4
|
|
ldr r1, [r1]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x1C]
|
|
movs r0, 0xD
|
|
bl sub_80247EC
|
|
b _080250E6
|
|
.align 2, 0
|
|
_080250A0: .4byte gUnknown_203B2B0
|
|
_080250A4: .4byte gUnknown_203B460
|
|
_080250A8:
|
|
movs r0, 0x2
|
|
bl sub_80119D4
|
|
b _080250E6
|
|
_080250B0:
|
|
bl sub_801A8AC
|
|
ldr r1, _080250D4
|
|
ldr r2, [r1]
|
|
ldr r1, _080250D8
|
|
ldr r1, [r1]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x1C]
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0xE
|
|
bl sub_80247EC
|
|
b _080250E6
|
|
.align 2, 0
|
|
_080250D4: .4byte gUnknown_203B2B0
|
|
_080250D8: .4byte gUnknown_203B460
|
|
_080250DC:
|
|
bl sub_801A928
|
|
movs r0, 0xA
|
|
bl sub_80247EC
|
|
_080250E6:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8025058
|
|
|
|
thumb_func_start sub_80250EC
|
|
sub_80250EC:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_801A6E8
|
|
ldr r4, _0802512C
|
|
ldr r0, [r4]
|
|
adds r0, 0x84
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802511C
|
|
ldr r0, [r4]
|
|
adds r0, 0x84
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _0802511C
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x30]
|
|
_0802511C:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _08025140
|
|
cmp r0, 0x2
|
|
bgt _08025130
|
|
cmp r0, 0x1
|
|
beq _0802514E
|
|
b _08025154
|
|
.align 2, 0
|
|
_0802512C: .4byte gUnknown_203B2B0
|
|
_08025130:
|
|
cmp r0, 0x5
|
|
bne _08025154
|
|
bl sub_801A928
|
|
movs r0, 0xA
|
|
bl sub_80247EC
|
|
b _08025154
|
|
_08025140:
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0x9
|
|
bl sub_80247EC
|
|
b _08025154
|
|
_0802514E:
|
|
movs r0, 0x7
|
|
bl sub_80247EC
|
|
_08025154:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80250EC
|
|
|
|
thumb_func_start sub_802515C
|
|
sub_802515C:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_801A6E8
|
|
ldr r4, _0802519C
|
|
ldr r0, [r4]
|
|
adds r0, 0x84
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802518C
|
|
ldr r0, [r4]
|
|
adds r0, 0x84
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _0802518C
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x30]
|
|
_0802518C:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _080251B0
|
|
cmp r0, 0x2
|
|
bgt _080251A0
|
|
cmp r0, 0x1
|
|
beq _080251BE
|
|
b _080251C4
|
|
.align 2, 0
|
|
_0802519C: .4byte gUnknown_203B2B0
|
|
_080251A0:
|
|
cmp r0, 0x5
|
|
bne _080251C4
|
|
bl sub_801A928
|
|
movs r0, 0x11
|
|
bl sub_80247EC
|
|
b _080251C4
|
|
_080251B0:
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0xE
|
|
bl sub_80247EC
|
|
b _080251C4
|
|
_080251BE:
|
|
movs r0, 0xC
|
|
bl sub_80247EC
|
|
_080251C4:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802515C
|
|
|
|
thumb_func_start sub_80251CC
|
|
sub_80251CC:
|
|
push {lr}
|
|
bl sub_801B410
|
|
cmp r0, 0x1
|
|
bls _080251E4
|
|
cmp r0, 0x3
|
|
bhi _080251E4
|
|
bl sub_801B450
|
|
movs r0, 0x7
|
|
bl sub_80247EC
|
|
_080251E4:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80251CC
|
|
|
|
thumb_func_start sub_80251E8
|
|
sub_80251E8:
|
|
push {lr}
|
|
bl sub_801B410
|
|
cmp r0, 0x1
|
|
bls _08025200
|
|
cmp r0, 0x3
|
|
bhi _08025200
|
|
bl sub_801B450
|
|
movs r0, 0xC
|
|
bl sub_80247EC
|
|
_08025200:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80251E8
|
|
|
|
thumb_func_start sub_8025204
|
|
sub_8025204:
|
|
push {r4,lr}
|
|
bl sub_8016080
|
|
cmp r0, 0x3
|
|
bne _08025226
|
|
bl sub_80160D8
|
|
ldr r4, _0802522C
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0xC]
|
|
bl sub_808D824
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x10]
|
|
movs r0, 0x3
|
|
bl sub_80247EC
|
|
_08025226:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802522C: .4byte gUnknown_203B2B0
|
|
thumb_func_end sub_8025204
|
|
|
|
thumb_func_start sub_8025230
|
|
sub_8025230:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08025248
|
|
ldr r0, _08025250
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x24]
|
|
bl sub_80247EC
|
|
_08025248:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08025250: .4byte gUnknown_203B2B0
|
|
thumb_func_end sub_8025230
|
|
|
|
thumb_func_start sub_8025254
|
|
sub_8025254:
|
|
push {lr}
|
|
ldr r0, _08025268
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, 0x14]
|
|
adds r3, r0, 0
|
|
cmp r1, 0x14
|
|
bne _0802526C
|
|
movs r0, 0
|
|
b _08025276
|
|
.align 2, 0
|
|
_08025268: .4byte gUnknown_203B2B0
|
|
_0802526C:
|
|
ldr r0, _08025284
|
|
ldr r0, [r0]
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x2]
|
|
_08025276:
|
|
strb r0, [r2, 0x4]
|
|
ldr r2, [r3]
|
|
ldr r1, [r2, 0x18]
|
|
cmp r1, 0x14
|
|
bne _08025288
|
|
movs r0, 0
|
|
b _08025292
|
|
.align 2, 0
|
|
_08025284: .4byte gUnknown_203B460
|
|
_08025288:
|
|
ldr r0, _080252B0
|
|
ldr r0, [r0]
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x2]
|
|
_08025292:
|
|
strb r0, [r2, 0x5]
|
|
movs r0, 0xFF
|
|
bl RandomCapped
|
|
ldr r2, _080252B4
|
|
ldr r1, [r2]
|
|
strb r0, [r1, 0x6]
|
|
ldr r1, [r2]
|
|
ldr r0, [r1, 0xC]
|
|
adds r1, 0x4
|
|
movs r2, 0x1
|
|
bl sub_808F468
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080252B0: .4byte gUnknown_203B460
|
|
_080252B4: .4byte gUnknown_203B2B0
|
|
thumb_func_end sub_8025254
|
|
|
|
thumb_func_start sub_80252B8
|
|
sub_80252B8:
|
|
push {r4,lr}
|
|
ldr r0, _080252E0
|
|
ldr r1, [r0]
|
|
movs r3, 0
|
|
movs r4, 0x1
|
|
ldr r2, _080252E4
|
|
_080252C4:
|
|
ldrh r0, [r1]
|
|
lsrs r0, 1
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _080252D0
|
|
adds r3, 0x1
|
|
_080252D0:
|
|
subs r2, 0x1
|
|
adds r1, 0x58
|
|
cmp r2, 0
|
|
bne _080252C4
|
|
cmp r3, 0x1
|
|
beq _080252E8
|
|
movs r0, 0
|
|
b _080252EA
|
|
.align 2, 0
|
|
_080252E0: .4byte gUnknown_203B45C
|
|
_080252E4: .4byte 0x0000019d
|
|
_080252E8:
|
|
movs r0, 0x1
|
|
_080252EA:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80252B8
|
|
|
|
thumb_func_start sub_80252F0
|
|
sub_80252F0:
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
cmp r6, 0x2
|
|
bne _08025308
|
|
movs r0, 0x4
|
|
bl sub_8024108
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08025308
|
|
movs r0, 0
|
|
b _0802534C
|
|
_08025308:
|
|
ldr r4, _08025340
|
|
movs r0, 0xBC
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
movs r5, 0
|
|
str r5, [r0, 0x70]
|
|
str r6, [r0]
|
|
bl sub_80A5728
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_8002658
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0xC]
|
|
ldr r0, [r4]
|
|
strb r5, [r0, 0xD]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x2
|
|
bne _08025344
|
|
movs r0, 0
|
|
bl sub_8025434
|
|
b _0802534A
|
|
.align 2, 0
|
|
_08025340: .4byte gUnknown_203B2B4
|
|
_08025344:
|
|
movs r0, 0x1
|
|
bl sub_8025434
|
|
_0802534A:
|
|
movs r0, 0x1
|
|
_0802534C:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80252F0
|
|
|
|
thumb_func_start sub_8025354
|
|
sub_8025354:
|
|
push {lr}
|
|
ldr r0, _0802536C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
subs r0, 0x1
|
|
cmp r0, 0x12
|
|
bhi _08025400
|
|
lsls r0, 2
|
|
ldr r1, _08025370
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802536C: .4byte gUnknown_203B2B4
|
|
_08025370: .4byte _08025374
|
|
.align 2, 0
|
|
_08025374:
|
|
.4byte _080253C4
|
|
.4byte _080253C4
|
|
.4byte _080253CA
|
|
.4byte _080253D0
|
|
.4byte _080253D6
|
|
.4byte _08025400
|
|
.4byte _08025400
|
|
.4byte _08025400
|
|
.4byte _08025400
|
|
.4byte _08025400
|
|
.4byte _080253DC
|
|
.4byte _080253DC
|
|
.4byte _080253E2
|
|
.4byte _080253E8
|
|
.4byte _080253EE
|
|
.4byte _080253EE
|
|
.4byte _080253F4
|
|
.4byte _080253FA
|
|
.4byte _080253C0
|
|
_080253C0:
|
|
movs r0, 0x3
|
|
b _08025406
|
|
_080253C4:
|
|
bl sub_80259F0
|
|
b _08025404
|
|
_080253CA:
|
|
bl sub_8025A84
|
|
b _08025404
|
|
_080253D0:
|
|
bl sub_8025BCC
|
|
b _08025404
|
|
_080253D6:
|
|
bl sub_8025BE8
|
|
b _08025404
|
|
_080253DC:
|
|
bl sub_8025C04
|
|
b _08025404
|
|
_080253E2:
|
|
bl sub_8025CB4
|
|
b _08025404
|
|
_080253E8:
|
|
bl sub_8025D90
|
|
b _08025404
|
|
_080253EE:
|
|
bl sub_8025DAC
|
|
b _08025404
|
|
_080253F4:
|
|
bl sub_8025E08
|
|
b _08025404
|
|
_080253FA:
|
|
bl sub_8025E24
|
|
b _08025404
|
|
_08025400:
|
|
bl sub_8025E44
|
|
_08025404:
|
|
movs r0, 0
|
|
_08025406:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8025354
|
|
|
|
thumb_func_start sub_802540C
|
|
sub_802540C:
|
|
ldr r0, _08025414
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0xD]
|
|
bx lr
|
|
.align 2, 0
|
|
_08025414: .4byte gUnknown_203B2B4
|
|
thumb_func_end sub_802540C
|
|
|
|
thumb_func_start sub_8025418
|
|
sub_8025418:
|
|
push {r4,lr}
|
|
ldr r4, _08025430
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0802542A
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802542A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08025430: .4byte gUnknown_203B2B4
|
|
thumb_func_end sub_8025418
|
|
|
|
thumb_func_start sub_8025434
|
|
sub_8025434:
|
|
push {lr}
|
|
ldr r1, _08025448
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x4]
|
|
bl sub_802544C
|
|
bl sub_8025518
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08025448: .4byte gUnknown_203B2B4
|
|
thumb_func_end sub_8025434
|
|
|
|
thumb_func_start sub_802544C
|
|
sub_802544C:
|
|
push {r4-r7,lr}
|
|
ldr r4, _08025470
|
|
ldr r0, [r4]
|
|
movs r1, 0x8C
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x4]
|
|
cmp r0, 0x3
|
|
beq _08025478
|
|
cmp r0, 0xD
|
|
beq _080254B0
|
|
movs r2, 0
|
|
ldr r3, _08025474
|
|
b _080254D8
|
|
.align 2, 0
|
|
_08025470: .4byte gUnknown_203B2B4
|
|
_08025474: .4byte gUnknown_80DD148
|
|
_08025478:
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
bne _0802548E
|
|
movs r2, 0xB0
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r0, _080254A8
|
|
ldm r0!, {r3,r5,r6}
|
|
stm r1!, {r3,r5,r6}
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
_0802548E:
|
|
bl sub_8025728
|
|
ldr r2, [r4]
|
|
movs r0, 0xA4
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _080254AC
|
|
ldm r1!, {r5-r7}
|
|
stm r2!, {r5-r7}
|
|
ldm r1!, {r3,r5,r6}
|
|
stm r2!, {r3,r5,r6}
|
|
b _080254C6
|
|
.align 2, 0
|
|
_080254A8: .4byte gUnknown_80DD190
|
|
_080254AC: .4byte gUnknown_80DD160
|
|
_080254B0:
|
|
bl sub_802591C
|
|
ldr r2, [r4]
|
|
movs r0, 0xA4
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _080254D4
|
|
ldm r1!, {r3,r5,r7}
|
|
stm r2!, {r3,r5,r7}
|
|
ldm r1!, {r3,r6,r7}
|
|
stm r2!, {r3,r6,r7}
|
|
_080254C6:
|
|
ldr r1, [r4]
|
|
adds r0, r1, r0
|
|
adds r1, 0xC8
|
|
bl sub_8012CAC
|
|
b _080254F8
|
|
.align 2, 0
|
|
_080254D4: .4byte gUnknown_80DD178
|
|
_080254D8:
|
|
ldr r0, [r4]
|
|
lsls r1, r2, 1
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r5, 0x8C
|
|
lsls r5, 1
|
|
adds r0, r5
|
|
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 _080254D8
|
|
_080254F8:
|
|
bl sub_8004914
|
|
ldr r0, _08025514
|
|
ldr r0, [r0]
|
|
movs r6, 0x8C
|
|
lsls r6, 1
|
|
adds r0, r6
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08025514: .4byte gUnknown_203B2B4
|
|
thumb_func_end sub_802544C
|
|
|
|
thumb_func_start sub_8025518
|
|
sub_8025518:
|
|
push {r4,r5,lr}
|
|
sub sp, 0xC
|
|
ldr r1, _08025534
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x4]
|
|
adds r5, r1, 0
|
|
cmp r0, 0x13
|
|
bls _0802552A
|
|
b _08025720
|
|
_0802552A:
|
|
lsls r0, 2
|
|
ldr r1, _08025538
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08025534: .4byte gUnknown_203B2B4
|
|
_08025538: .4byte _0802553C
|
|
.align 2, 0
|
|
_0802553C:
|
|
.4byte _0802558C
|
|
.4byte _080255A0
|
|
.4byte _080255BA
|
|
.4byte _080255C2
|
|
.4byte _0802560C
|
|
.4byte _0802561A
|
|
.4byte _08025720
|
|
.4byte _080256A8
|
|
.4byte _0802567A
|
|
.4byte _08025688
|
|
.4byte _08025698
|
|
.4byte _08025626
|
|
.4byte _08025634
|
|
.4byte _0802563C
|
|
.4byte _08025668
|
|
.4byte _080256CC
|
|
.4byte _080256F2
|
|
.4byte _080256FC
|
|
.4byte _08025714
|
|
.4byte _08025720
|
|
_0802558C:
|
|
ldr r1, [r5]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0x8]
|
|
ldr r0, _08025598
|
|
ldr r3, _0802559C
|
|
b _080256B8
|
|
.align 2, 0
|
|
_08025598: .4byte gUnknown_80DD1A8
|
|
_0802559C: .4byte 0x00000301
|
|
_080255A0:
|
|
movs r1, 0x4
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
bne _080255AC
|
|
movs r1, 0x2
|
|
_080255AC:
|
|
adds r0, r1, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl sub_8023868
|
|
b _08025720
|
|
_080255BA:
|
|
movs r0, 0x1
|
|
bl sub_8023B7C
|
|
b _08025720
|
|
_080255C2:
|
|
ldr r1, [r5]
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
bne _080255D2
|
|
adds r1, 0x18
|
|
movs r0, 0x3
|
|
bl sub_8025E68
|
|
_080255D2:
|
|
bl sub_8023DA4
|
|
ldr r4, _08025608
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, 0x1C]
|
|
adds r0, r4, 0
|
|
movs r2, 0x7
|
|
bl sub_808D9AC
|
|
adds r4, 0x50
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, 0x1C]
|
|
adds r0, r4, 0
|
|
movs r2, 0x6
|
|
bl sub_808D9AC
|
|
ldr r2, [r5]
|
|
adds r0, r2, 0
|
|
adds r0, 0x78
|
|
adds r1, r2, 0
|
|
adds r1, 0xC8
|
|
movs r4, 0x84
|
|
lsls r4, 1
|
|
adds r3, r2, r4
|
|
ldr r2, [r2, 0x70]
|
|
b _08025654
|
|
.align 2, 0
|
|
_08025608: .4byte gUnknown_202DF98
|
|
_0802560C:
|
|
ldr r0, [r5]
|
|
movs r1, 0xE
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0x2
|
|
bl sub_8024458
|
|
b _08025720
|
|
_0802561A:
|
|
ldr r0, [r5]
|
|
movs r4, 0xE
|
|
ldrsh r0, [r0, r4]
|
|
bl sub_801BEEC
|
|
b _08025720
|
|
_08025626:
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl sub_801A5D8
|
|
b _08025720
|
|
_08025634:
|
|
movs r0, 0x1
|
|
bl sub_801A8D0
|
|
b _08025720
|
|
_0802563C:
|
|
bl sub_801A9E0
|
|
ldr r0, _08025664
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x78
|
|
adds r1, r2, 0
|
|
adds r1, 0xC8
|
|
movs r4, 0x84
|
|
lsls r4, 1
|
|
adds r3, r2, r4
|
|
ldr r2, [r2, 0x74]
|
|
_08025654:
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8012D60
|
|
b _08025720
|
|
.align 2, 0
|
|
_08025664: .4byte gUnknown_203B2B4
|
|
_08025668:
|
|
ldr r1, [r5]
|
|
adds r1, 0x14
|
|
add r0, sp, 0x8
|
|
bl sub_8090B64
|
|
add r0, sp, 0x8
|
|
bl sub_801B3C0
|
|
b _08025720
|
|
_0802567A:
|
|
ldr r1, [r5]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x8]
|
|
ldr r0, _08025684
|
|
b _080256B6
|
|
.align 2, 0
|
|
_08025684: .4byte gUnknown_80DD1C8
|
|
_08025688:
|
|
ldr r1, [r5]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x8]
|
|
ldr r0, _08025694
|
|
b _080256B6
|
|
.align 2, 0
|
|
_08025694: .4byte gUnknown_80DD1EC
|
|
_08025698:
|
|
ldr r1, [r5]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x8]
|
|
ldr r0, _080256A4
|
|
b _080256B6
|
|
.align 2, 0
|
|
_080256A4: .4byte gUnknown_80DD240
|
|
_080256A8:
|
|
ldr r1, [r5]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0x8]
|
|
movs r0, 0xCF
|
|
bl sub_8011988
|
|
ldr r0, _080256C4
|
|
_080256B6:
|
|
ldr r3, _080256C8
|
|
_080256B8:
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _08025720
|
|
.align 2, 0
|
|
_080256C4: .4byte gUnknown_80DD270
|
|
_080256C8: .4byte 0x00000101
|
|
_080256CC:
|
|
ldr r1, [r5]
|
|
adds r0, r1, 0
|
|
adds r0, 0x28
|
|
ldr r1, [r1, 0x1C]
|
|
adds r1, 0x2C
|
|
bl sub_809401C
|
|
ldr r2, [r5]
|
|
movs r0, 0xE
|
|
ldrsh r1, [r2, r0]
|
|
adds r2, 0x28
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x3
|
|
movs r3, 0
|
|
bl sub_801EE10
|
|
b _08025720
|
|
_080256F2:
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
bl sub_801F1B0
|
|
b _08025720
|
|
_080256FC:
|
|
ldr r2, [r5]
|
|
ldr r0, [r2, 0x20]
|
|
adds r1, r2, 0
|
|
adds r1, 0x28
|
|
adds r2, 0x68
|
|
bl sub_8093560
|
|
ldr r0, [r5]
|
|
adds r0, 0x68
|
|
bl sub_801F808
|
|
b _08025720
|
|
_08025714:
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, 0x1C]
|
|
adds r1, 0x4C
|
|
movs r0, 0x2
|
|
bl sub_801602C
|
|
_08025720:
|
|
add sp, 0xC
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8025518
|
|
|
|
thumb_func_start sub_8025728
|
|
sub_8025728:
|
|
push {r4-r7,lr}
|
|
ldr r3, _080257CC
|
|
ldr r5, _080257D0
|
|
ldr r0, [r5]
|
|
movs r1, 0xE
|
|
ldrsh r2, [r0, r1]
|
|
movs r1, 0x58
|
|
muls r2, r1
|
|
ldr r1, [r3]
|
|
adds r7, r1, r2
|
|
movs r2, 0x84
|
|
lsls r2, 1
|
|
adds r0, r2
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r4, [r5]
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
bne _080257E0
|
|
adds r1, r4, 0
|
|
adds r1, 0xC8
|
|
ldr r0, _080257D4
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0xA
|
|
str r0, [r1]
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
bne _08025774
|
|
ldr r0, [r5]
|
|
movs r4, 0x84
|
|
lsls r4, 1
|
|
adds r0, r4
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_08025774:
|
|
movs r6, 0x1
|
|
ldr r1, [r5]
|
|
adds r2, r1, 0
|
|
adds r2, 0xD0
|
|
ldr r0, _080257D8
|
|
str r0, [r2]
|
|
adds r1, 0xD4
|
|
movs r0, 0xB
|
|
str r0, [r1]
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
bgt _08025796
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, 0x18]
|
|
cmp r0, 0
|
|
bne _080257A0
|
|
_08025796:
|
|
ldr r0, [r5]
|
|
movs r1, 0x85
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
strh r6, [r0]
|
|
_080257A0:
|
|
adds r6, 0x1
|
|
adds r0, r7, 0
|
|
bl sub_8025EC4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08025810
|
|
ldr r0, _080257D0
|
|
ldr r2, [r0]
|
|
lsls r3, r6, 3
|
|
adds r0, r2, 0
|
|
adds r0, 0xC8
|
|
adds r0, r3
|
|
ldr r1, _080257DC
|
|
str r1, [r0]
|
|
adds r2, 0xCC
|
|
adds r2, r3
|
|
movs r0, 0x9
|
|
str r0, [r2]
|
|
adds r6, 0x1
|
|
b _08025810
|
|
.align 2, 0
|
|
_080257CC: .4byte gUnknown_203B45C
|
|
_080257D0: .4byte gUnknown_203B2B4
|
|
_080257D4: .4byte gUnknown_80DD2B0
|
|
_080257D8: .4byte gUnknown_80DD2B8
|
|
_080257DC: .4byte gUnknown_80DD2C0
|
|
_080257E0:
|
|
adds r1, r4, 0
|
|
adds r1, 0xC8
|
|
ldr r0, _080258D4
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x7
|
|
str r0, [r1]
|
|
ldr r0, [r4, 0x1C]
|
|
movs r2, 0x8
|
|
ldrsh r0, [r0, r2]
|
|
bl sub_808DBA8
|
|
ldrb r1, [r4, 0xC]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r1, r0
|
|
bne _0802580E
|
|
ldr r0, [r5]
|
|
movs r4, 0x84
|
|
lsls r4, 1
|
|
adds r0, r4
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_0802580E:
|
|
movs r6, 0x1
|
|
_08025810:
|
|
movs r0, 0x8
|
|
ldrsh r1, [r7, r0]
|
|
ldr r0, _080258D8
|
|
cmp r1, r0
|
|
bne _08025840
|
|
adds r0, r7, 0
|
|
bl sub_808D824
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08025840
|
|
ldr r0, _080258DC
|
|
ldr r2, [r0]
|
|
lsls r3, r6, 3
|
|
adds r0, r2, 0
|
|
adds r0, 0xC8
|
|
adds r0, r3
|
|
ldr r1, _080258E0
|
|
str r1, [r0]
|
|
adds r2, 0xCC
|
|
adds r2, r3
|
|
movs r0, 0x8
|
|
str r0, [r2]
|
|
adds r6, 0x1
|
|
_08025840:
|
|
ldr r4, _080258DC
|
|
ldr r5, [r4]
|
|
lsls r1, r6, 3
|
|
adds r3, r5, 0
|
|
adds r3, 0xC8
|
|
adds r2, r3, r1
|
|
ldr r0, _080258E4
|
|
str r0, [r2]
|
|
adds r7, r5, 0
|
|
adds r7, 0xCC
|
|
adds r1, r7, r1
|
|
movs r0, 0x4
|
|
str r0, [r1]
|
|
adds r6, 0x1
|
|
lsls r1, r6, 3
|
|
adds r2, r3, r1
|
|
ldr r0, _080258E8
|
|
str r0, [r2]
|
|
adds r1, r7, r1
|
|
movs r0, 0x6
|
|
str r0, [r1]
|
|
adds r6, 0x1
|
|
lsls r1, r6, 3
|
|
adds r2, r3, r1
|
|
ldr r0, _080258EC
|
|
str r0, [r2]
|
|
adds r1, r7, r1
|
|
movs r0, 0x5
|
|
str r0, [r1]
|
|
adds r6, 0x1
|
|
lsls r1, r6, 3
|
|
adds r3, r1
|
|
movs r0, 0
|
|
str r0, [r3]
|
|
adds r1, r7, r1
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
movs r3, 0
|
|
mov r12, r4
|
|
cmp r3, r6
|
|
bge _080258B2
|
|
movs r1, 0x84
|
|
lsls r1, 1
|
|
adds r4, r5, r1
|
|
adds r2, r7, 0
|
|
_0802589A:
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
bne _080258A8
|
|
ldr r1, [r2]
|
|
ldr r0, [r5, 0x70]
|
|
cmp r1, r0
|
|
beq _08025916
|
|
_080258A8:
|
|
adds r4, 0x2
|
|
adds r2, 0x8
|
|
adds r3, 0x1
|
|
cmp r3, r6
|
|
blt _0802589A
|
|
_080258B2:
|
|
movs r3, 0
|
|
cmp r3, r6
|
|
bge _08025916
|
|
mov r2, r12
|
|
ldr r1, [r2]
|
|
movs r4, 0x84
|
|
lsls r4, 1
|
|
adds r0, r1, r4
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _080258F0
|
|
adds r0, r1, 0
|
|
adds r0, 0xCC
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x70]
|
|
b _08025916
|
|
.align 2, 0
|
|
_080258D4: .4byte gUnknown_80DD2CC
|
|
_080258D8: .4byte 0x0000013d
|
|
_080258DC: .4byte gUnknown_203B2B4
|
|
_080258E0: .4byte gUnknown_80DD2D4
|
|
_080258E4: .4byte gUnknown_80DD2DC
|
|
_080258E8: .4byte gUnknown_80DD2E4
|
|
_080258EC: .4byte gUnknown_80DD2EC
|
|
_080258F0:
|
|
adds r3, 0x1
|
|
cmp r3, r6
|
|
bge _08025916
|
|
mov r0, r12
|
|
ldr r2, [r0]
|
|
lsls r0, r3, 1
|
|
movs r4, 0x84
|
|
lsls r4, 1
|
|
adds r1, r2, r4
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _080258F0
|
|
lsls r0, r3, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0xCC
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x70]
|
|
_08025916:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8025728
|
|
|
|
thumb_func_start sub_802591C
|
|
sub_802591C:
|
|
push {r4-r7,lr}
|
|
ldr r5, _080259B8
|
|
ldr r0, [r5]
|
|
movs r7, 0x84
|
|
lsls r7, 1
|
|
adds r0, r7
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r1, [r5]
|
|
adds r2, r1, 0
|
|
adds r2, 0xC8
|
|
ldr r0, _080259BC
|
|
str r0, [r2]
|
|
adds r1, 0xCC
|
|
movs r0, 0xA
|
|
str r0, [r1]
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
bne _08025952
|
|
ldr r0, [r5]
|
|
adds r1, r7, 0
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_08025952:
|
|
ldr r4, [r5]
|
|
movs r2, 0x1
|
|
adds r1, r4, 0
|
|
adds r1, 0xD0
|
|
ldr r0, _080259C0
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x4
|
|
str r0, [r1]
|
|
movs r6, 0x2
|
|
adds r1, 0x4
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
adds r0, r4, 0
|
|
adds r0, 0xDC
|
|
str r2, [r0]
|
|
movs r3, 0
|
|
mov r12, r4
|
|
adds r4, r7
|
|
mov r2, r12
|
|
adds r2, 0xCC
|
|
_0802597E:
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
bne _0802598E
|
|
ldr r1, [r2]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x74]
|
|
cmp r1, r0
|
|
beq _080259E8
|
|
_0802598E:
|
|
adds r4, 0x2
|
|
adds r2, 0x8
|
|
adds r3, 0x1
|
|
cmp r3, r6
|
|
blt _0802597E
|
|
movs r3, 0
|
|
cmp r3, r6
|
|
bge _080259E8
|
|
ldr r1, [r5]
|
|
movs r2, 0x84
|
|
lsls r2, 1
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _080259C4
|
|
adds r0, r1, 0
|
|
adds r0, 0xCC
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x74]
|
|
b _080259E8
|
|
.align 2, 0
|
|
_080259B8: .4byte gUnknown_203B2B4
|
|
_080259BC: .4byte gUnknown_80DD2B0
|
|
_080259C0: .4byte gUnknown_80D4970
|
|
_080259C4:
|
|
adds r3, 0x1
|
|
cmp r3, r6
|
|
bge _080259E8
|
|
ldr r2, [r5]
|
|
lsls r0, r3, 1
|
|
movs r4, 0x84
|
|
lsls r4, 1
|
|
adds r1, r2, r4
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _080259C4
|
|
lsls r0, r3, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0xCC
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x74]
|
|
_080259E8:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802591C
|
|
|
|
thumb_func_start sub_80259F0
|
|
sub_80259F0:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_8023A94
|
|
cmp r0, 0x3
|
|
beq _08025A0C
|
|
cmp r0, 0x3
|
|
bhi _08025A06
|
|
cmp r0, 0x2
|
|
beq _08025A74
|
|
b _08025A7E
|
|
_08025A06:
|
|
cmp r0, 0x4
|
|
beq _08025A40
|
|
b _08025A7E
|
|
_08025A0C:
|
|
bl sub_8023B44
|
|
ldr r1, _08025A38
|
|
ldr r1, [r1]
|
|
strh r0, [r1, 0xE]
|
|
ldr r3, _08025A3C
|
|
movs r0, 0xE
|
|
ldrsh r2, [r1, r0]
|
|
movs r0, 0x58
|
|
muls r2, r0
|
|
ldr r0, [r3]
|
|
adds r0, r2
|
|
str r0, [r1, 0x1C]
|
|
movs r2, 0xE
|
|
ldrsh r0, [r1, r2]
|
|
adds r1, 0x18
|
|
bl sub_808D7DC
|
|
movs r0, 0x3
|
|
bl sub_8025434
|
|
b _08025A7E
|
|
.align 2, 0
|
|
_08025A38: .4byte gUnknown_203B2B4
|
|
_08025A3C: .4byte gUnknown_203B45C
|
|
_08025A40:
|
|
bl sub_8023B44
|
|
ldr r1, _08025A6C
|
|
ldr r1, [r1]
|
|
strh r0, [r1, 0xE]
|
|
ldr r3, _08025A70
|
|
movs r0, 0xE
|
|
ldrsh r2, [r1, r0]
|
|
movs r0, 0x58
|
|
muls r2, r0
|
|
ldr r0, [r3]
|
|
adds r0, r2
|
|
str r0, [r1, 0x1C]
|
|
movs r2, 0xE
|
|
ldrsh r0, [r1, r2]
|
|
adds r1, 0x18
|
|
bl sub_808D7DC
|
|
movs r0, 0x4
|
|
bl sub_8025434
|
|
b _08025A7E
|
|
.align 2, 0
|
|
_08025A6C: .4byte gUnknown_203B2B4
|
|
_08025A70: .4byte gUnknown_203B45C
|
|
_08025A74:
|
|
bl sub_8023C60
|
|
movs r0, 0x13
|
|
bl sub_8025434
|
|
_08025A7E:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80259F0
|
|
|
|
thumb_func_start sub_8025A84
|
|
sub_8025A84:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_8023A94
|
|
ldr r4, _08025AC8
|
|
ldr r0, [r4]
|
|
adds r0, 0x78
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08025AB4
|
|
ldr r0, [r4]
|
|
adds r0, 0x78
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _08025AB4
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x70]
|
|
_08025AB4:
|
|
ldr r0, [sp]
|
|
subs r0, 0x1
|
|
cmp r0, 0xA
|
|
bls _08025ABE
|
|
b _08025BC2
|
|
_08025ABE:
|
|
lsls r0, 2
|
|
ldr r1, _08025ACC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08025AC8: .4byte gUnknown_203B2B4
|
|
_08025ACC: .4byte _08025AD0
|
|
.align 2, 0
|
|
_08025AD0:
|
|
.4byte _08025BBC
|
|
.4byte _08025BC2
|
|
.4byte _08025BC2
|
|
.4byte _08025BAC
|
|
.4byte _08025BB4
|
|
.4byte _08025B9C
|
|
.4byte _08025AFC
|
|
.4byte _08025BA4
|
|
.4byte _08025B70
|
|
.4byte _08025B20
|
|
.4byte _08025B28
|
|
_08025AFC:
|
|
ldr r4, _08025B1C
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x1C]
|
|
movs r1, 0x8
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_808DBA8
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0xD]
|
|
bl sub_8023C60
|
|
movs r0, 0x13
|
|
bl sub_8025434
|
|
b _08025BC2
|
|
.align 2, 0
|
|
_08025B1C: .4byte gUnknown_203B2B4
|
|
_08025B20:
|
|
movs r0, 0xB
|
|
bl sub_8025434
|
|
b _08025BC2
|
|
_08025B28:
|
|
ldr r0, _08025B68
|
|
bl sub_8011988
|
|
ldr r4, _08025B6C
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x18]
|
|
cmp r0, 0
|
|
beq _08025B40
|
|
adds r0, r1, 0
|
|
adds r0, 0x18
|
|
bl sub_8091274
|
|
_08025B40:
|
|
bl sub_80910B4
|
|
ldr r0, [r4]
|
|
movs r1, 0
|
|
strb r1, [r0, 0x18]
|
|
ldr r0, [r4]
|
|
strb r1, [r0, 0x19]
|
|
ldr r1, [r4]
|
|
movs r2, 0xE
|
|
ldrsh r0, [r1, r2]
|
|
adds r1, 0x18
|
|
bl sub_808D800
|
|
bl nullsub_104
|
|
movs r0, 0xA
|
|
bl sub_8025434
|
|
b _08025BC2
|
|
.align 2, 0
|
|
_08025B68: .4byte 0x0000014d
|
|
_08025B6C: .4byte gUnknown_203B2B4
|
|
_08025B70:
|
|
ldr r0, _08025B94
|
|
ldr r0, [r0]
|
|
ldr r2, [r0, 0x1C]
|
|
ldrh r1, [r2]
|
|
ldr r0, _08025B98
|
|
ands r0, r1
|
|
strh r0, [r2]
|
|
bl nullsub_104
|
|
bl sub_808ED00
|
|
bl sub_8023C60
|
|
movs r0, 0x7
|
|
bl sub_8025434
|
|
b _08025BC2
|
|
.align 2, 0
|
|
_08025B94: .4byte gUnknown_203B2B4
|
|
_08025B98: .4byte 0x0000fffd
|
|
_08025B9C:
|
|
movs r0, 0xF
|
|
bl sub_8025434
|
|
b _08025BC2
|
|
_08025BA4:
|
|
movs r0, 0x12
|
|
bl sub_8025434
|
|
b _08025BC2
|
|
_08025BAC:
|
|
movs r0, 0x4
|
|
bl sub_8025434
|
|
b _08025BC2
|
|
_08025BB4:
|
|
movs r0, 0x5
|
|
bl sub_8025434
|
|
b _08025BC2
|
|
_08025BBC:
|
|
movs r0, 0x2
|
|
bl sub_8025434
|
|
_08025BC2:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8025A84
|
|
|
|
thumb_func_start sub_8025BCC
|
|
sub_8025BCC:
|
|
push {lr}
|
|
bl sub_80244E4
|
|
cmp r0, 0x1
|
|
bls _08025BE4
|
|
cmp r0, 0x3
|
|
bhi _08025BE4
|
|
bl sub_802453C
|
|
movs r0, 0x2
|
|
bl sub_8025434
|
|
_08025BE4:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8025BCC
|
|
|
|
thumb_func_start sub_8025BE8
|
|
sub_8025BE8:
|
|
push {lr}
|
|
bl sub_801BF48
|
|
cmp r0, 0x1
|
|
bls _08025C00
|
|
cmp r0, 0x3
|
|
bhi _08025C00
|
|
bl sub_801BF98
|
|
movs r0, 0x2
|
|
bl sub_8025434
|
|
_08025C00:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8025BE8
|
|
|
|
thumb_func_start sub_8025C04
|
|
sub_8025C04:
|
|
push {r4,lr}
|
|
movs r0, 0x1
|
|
bl sub_801A6E8
|
|
cmp r0, 0x4
|
|
bhi _08025CAE
|
|
lsls r0, 2
|
|
ldr r1, _08025C1C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08025C1C: .4byte _08025C20
|
|
.align 2, 0
|
|
_08025C20:
|
|
.4byte _08025CAE
|
|
.4byte _08025CAE
|
|
.4byte _08025CA4
|
|
.4byte _08025C34
|
|
.4byte _08025C68
|
|
_08025C34:
|
|
bl sub_801A8AC
|
|
ldr r4, _08025C60
|
|
ldr r2, [r4]
|
|
str r0, [r2, 0x10]
|
|
ldr r3, _08025C64
|
|
ldr r1, [r3]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x2]
|
|
strb r0, [r2, 0x14]
|
|
ldr r2, [r4]
|
|
ldr r1, [r3]
|
|
ldr r0, [r2, 0x10]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x1]
|
|
strb r0, [r2, 0x15]
|
|
movs r0, 0xD
|
|
bl sub_8025434
|
|
b _08025CAE
|
|
.align 2, 0
|
|
_08025C60: .4byte gUnknown_203B2B4
|
|
_08025C64: .4byte gUnknown_203B460
|
|
_08025C68:
|
|
bl sub_801A8AC
|
|
ldr r4, _08025C9C
|
|
ldr r2, [r4]
|
|
str r0, [r2, 0x10]
|
|
ldr r3, _08025CA0
|
|
ldr r1, [r3]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x2]
|
|
strb r0, [r2, 0x14]
|
|
ldr r2, [r4]
|
|
ldr r1, [r3]
|
|
ldr r0, [r2, 0x10]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x1]
|
|
strb r0, [r2, 0x15]
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0xE
|
|
bl sub_8025434
|
|
b _08025CAE
|
|
.align 2, 0
|
|
_08025C9C: .4byte gUnknown_203B2B4
|
|
_08025CA0: .4byte gUnknown_203B460
|
|
_08025CA4:
|
|
bl sub_801A928
|
|
movs r0, 0x2
|
|
bl sub_8025434
|
|
_08025CAE:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8025C04
|
|
|
|
thumb_func_start sub_8025CB4
|
|
sub_8025CB4:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x14
|
|
movs r0, 0
|
|
str r0, [sp, 0xC]
|
|
bl sub_801A6E8
|
|
ldr r4, _08025CF4
|
|
ldr r0, [r4]
|
|
adds r0, 0x78
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08025CE4
|
|
ldr r0, [r4]
|
|
adds r0, 0x78
|
|
add r1, sp, 0xC
|
|
bl sub_8013114
|
|
ldr r1, [sp, 0xC]
|
|
cmp r1, 0x1
|
|
beq _08025CE4
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x74]
|
|
_08025CE4:
|
|
ldr r0, [sp, 0xC]
|
|
cmp r0, 0x4
|
|
beq _08025D74
|
|
cmp r0, 0x4
|
|
bgt _08025CF8
|
|
cmp r0, 0x1
|
|
beq _08025D82
|
|
b _08025D88
|
|
.align 2, 0
|
|
_08025CF4: .4byte gUnknown_203B2B4
|
|
_08025CF8:
|
|
cmp r0, 0xA
|
|
bne _08025D88
|
|
movs r6, 0x8
|
|
ldr r0, _08025D68
|
|
bl sub_8011988
|
|
ldr r5, _08025D6C
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x10]
|
|
bl sub_80911F8
|
|
bl sub_80910B4
|
|
ldr r1, [r5]
|
|
ldrb r0, [r1, 0x18]
|
|
cmp r0, 0
|
|
beq _08025D24
|
|
adds r0, r1, 0
|
|
adds r0, 0x18
|
|
bl sub_8091274
|
|
movs r6, 0x9
|
|
_08025D24:
|
|
add r4, sp, 0x10
|
|
ldr r1, [r5]
|
|
adds r1, 0x14
|
|
adds r0, r4, 0
|
|
bl sub_8090B64
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
strb r1, [r0, 0x4]
|
|
mov r1, sp
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x8]
|
|
strb r0, [r4]
|
|
ldr r0, _08025D70
|
|
adds r1, r4, 0
|
|
mov r2, sp
|
|
bl sub_8090E14
|
|
ldr r1, [r5]
|
|
movs r2, 0xE
|
|
ldrsh r0, [r1, r2]
|
|
adds r1, 0x14
|
|
bl sub_808D800
|
|
bl sub_801A928
|
|
bl nullsub_104
|
|
adds r0, r6, 0
|
|
bl sub_8025434
|
|
b _08025D88
|
|
.align 2, 0
|
|
_08025D68: .4byte 0x0000014d
|
|
_08025D6C: .4byte gUnknown_203B2B4
|
|
_08025D70: .4byte gUnknown_202DEA8
|
|
_08025D74:
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0xE
|
|
bl sub_8025434
|
|
b _08025D88
|
|
_08025D82:
|
|
movs r0, 0xC
|
|
bl sub_8025434
|
|
_08025D88:
|
|
add sp, 0x14
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8025CB4
|
|
|
|
thumb_func_start sub_8025D90
|
|
sub_8025D90:
|
|
push {lr}
|
|
bl sub_801B410
|
|
cmp r0, 0x1
|
|
bls _08025DA8
|
|
cmp r0, 0x3
|
|
bhi _08025DA8
|
|
bl sub_801B450
|
|
movs r0, 0xC
|
|
bl sub_8025434
|
|
_08025DA8:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8025D90
|
|
|
|
thumb_func_start sub_8025DAC
|
|
sub_8025DAC:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_801EF38
|
|
cmp r0, 0x3
|
|
beq _08025DC6
|
|
cmp r0, 0x3
|
|
bhi _08025DC2
|
|
cmp r0, 0x2
|
|
beq _08025DE4
|
|
b _08025DFE
|
|
_08025DC2:
|
|
cmp r0, 0x4
|
|
bne _08025DFE
|
|
_08025DC6:
|
|
bl sub_801F194
|
|
ldr r1, _08025DE0
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x20]
|
|
lsls r0, 3
|
|
adds r0, r1, r0
|
|
ldrh r0, [r0, 0x2A]
|
|
strh r0, [r1, 0x24]
|
|
movs r0, 0x11
|
|
bl sub_8025434
|
|
b _08025DFE
|
|
.align 2, 0
|
|
_08025DE0: .4byte gUnknown_203B2B4
|
|
_08025DE4:
|
|
bl sub_801F214
|
|
ldr r0, _08025E04
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x28
|
|
ldr r1, [r1, 0x1C]
|
|
adds r1, 0x2C
|
|
bl sub_8094060
|
|
movs r0, 0x2
|
|
bl sub_8025434
|
|
_08025DFE:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08025E04: .4byte gUnknown_203B2B4
|
|
thumb_func_end sub_8025DAC
|
|
|
|
thumb_func_start sub_8025E08
|
|
sub_8025E08:
|
|
push {lr}
|
|
bl sub_801F890
|
|
cmp r0, 0x1
|
|
bls _08025E20
|
|
cmp r0, 0x3
|
|
bhi _08025E20
|
|
bl sub_801F8D0
|
|
movs r0, 0x10
|
|
bl sub_8025434
|
|
_08025E20:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8025E08
|
|
|
|
thumb_func_start sub_8025E24
|
|
sub_8025E24:
|
|
push {lr}
|
|
bl sub_8016080
|
|
cmp r0, 0x3
|
|
bhi _08025E40
|
|
cmp r0, 0x2
|
|
bcc _08025E40
|
|
bl sub_80160D8
|
|
bl nullsub_104
|
|
movs r0, 0x2
|
|
bl sub_8025434
|
|
_08025E40:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8025E24
|
|
|
|
thumb_func_start sub_8025E44
|
|
sub_8025E44:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08025E5C
|
|
ldr r0, _08025E64
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x8]
|
|
bl sub_8025434
|
|
_08025E5C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08025E64: .4byte gUnknown_203B2B4
|
|
thumb_func_end sub_8025E44
|
|
|
|
thumb_func_start sub_8025E68
|
|
sub_8025E68:
|
|
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, _08025EBC
|
|
adds r1, r4, 0
|
|
add r2, sp, 0x4
|
|
bl sub_8090E14
|
|
ldr r2, _08025EC0
|
|
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
|
|
_08025EBC: .4byte gUnknown_202DE58
|
|
_08025EC0: .4byte gUnknown_80DD2F8
|
|
thumb_func_end sub_8025E68
|
|
|
|
thumb_func_start sub_8025EC4
|
|
sub_8025EC4:
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
ldrb r0, [r1, 0x2]
|
|
cmp r0, 0
|
|
bne _08025EE8
|
|
movs r2, 0
|
|
ldrb r0, [r1, 0x4]
|
|
cmp r0, 0x41
|
|
bne _08025ED8
|
|
movs r2, 0x1
|
|
_08025ED8:
|
|
cmp r2, 0
|
|
beq _08025EEC
|
|
movs r0, 0x8
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08025EEC
|
|
_08025EE8:
|
|
movs r0, 0
|
|
b _08025EEE
|
|
_08025EEC:
|
|
movs r0, 0x1
|
|
_08025EEE:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8025EC4
|
|
|
|
thumb_func_start sub_8025EF4
|
|
sub_8025EF4:
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
ldr r6, _08025F1C
|
|
movs r0, 0xA0
|
|
lsls r0, 2
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
adds r1, r0, 0
|
|
str r1, [r6]
|
|
str r4, [r1, 0x18]
|
|
movs r5, 0
|
|
ldr r0, _08025F20
|
|
ldr r0, [r0]
|
|
cmp r4, r0
|
|
bne _08025F24
|
|
strh r5, [r1, 0xA]
|
|
adds r4, r6, 0
|
|
b _08025F48
|
|
.align 2, 0
|
|
_08025F1C: .4byte gUnknown_203B2B8
|
|
_08025F20: .4byte gUnknown_203B45C
|
|
_08025F24:
|
|
adds r5, 0x1
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
ldr r4, _08025F60
|
|
cmp r5, r0
|
|
bgt _08025F48
|
|
ldr r3, [r4]
|
|
ldr r2, _08025F64
|
|
lsls r0, r5, 16
|
|
asrs r0, 16
|
|
movs r1, 0x58
|
|
muls r1, r0
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
ldr r1, [r3, 0x18]
|
|
cmp r1, r0
|
|
bne _08025F24
|
|
strh r5, [r3, 0xA]
|
|
_08025F48:
|
|
ldr r1, [r4]
|
|
movs r0, 0
|
|
str r0, [r1, 0x70]
|
|
str r0, [r1, 0x74]
|
|
str r0, [r1, 0x78]
|
|
strb r0, [r1, 0x8]
|
|
bl sub_8026074
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08025F60: .4byte gUnknown_203B2B8
|
|
_08025F64: .4byte gUnknown_203B45C
|
|
thumb_func_end sub_8025EF4
|
|
|
|
thumb_func_start sub_8025F68
|
|
sub_8025F68:
|
|
push {lr}
|
|
ldr r0, _08025F80
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x19
|
|
bhi _0802603A
|
|
lsls r0, 2
|
|
ldr r1, _08025F84
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08025F80: .4byte gUnknown_203B2B8
|
|
_08025F84: .4byte _08025F88
|
|
.align 2, 0
|
|
_08025F88:
|
|
.4byte _08025FF0
|
|
.4byte _08025FF8
|
|
.4byte _08025FF8
|
|
.4byte _08025FFE
|
|
.4byte _08026004
|
|
.4byte _0802603A
|
|
.4byte _0802603A
|
|
.4byte _0802603A
|
|
.4byte _0802603A
|
|
.4byte _0802603A
|
|
.4byte _0802603A
|
|
.4byte _0802603A
|
|
.4byte _0802600A
|
|
.4byte _08026010
|
|
.4byte _08026016
|
|
.4byte _0802603A
|
|
.4byte _0802603A
|
|
.4byte _0802603A
|
|
.4byte _0802601C
|
|
.4byte _0802601C
|
|
.4byte _08026022
|
|
.4byte _08026028
|
|
.4byte _0802602E
|
|
.4byte _0802602E
|
|
.4byte _08026034
|
|
.4byte _08026040
|
|
_08025FF0:
|
|
movs r0, 0x1
|
|
bl sub_8026074
|
|
b _08026044
|
|
_08025FF8:
|
|
bl sub_80268CC
|
|
b _08026044
|
|
_08025FFE:
|
|
bl sub_8026A78
|
|
b _08026044
|
|
_08026004:
|
|
bl sub_8026A94
|
|
b _08026044
|
|
_0802600A:
|
|
bl sub_8026AB0
|
|
b _08026044
|
|
_08026010:
|
|
bl sub_8026B10
|
|
b _08026044
|
|
_08026016:
|
|
bl sub_8026B48
|
|
b _08026044
|
|
_0802601C:
|
|
bl sub_8026B64
|
|
b _08026044
|
|
_08026022:
|
|
bl sub_8026C14
|
|
b _08026044
|
|
_08026028:
|
|
bl sub_8026CF0
|
|
b _08026044
|
|
_0802602E:
|
|
bl sub_8026D0C
|
|
b _08026044
|
|
_08026034:
|
|
bl sub_8026D6C
|
|
b _08026044
|
|
_0802603A:
|
|
bl sub_8026D88
|
|
b _08026044
|
|
_08026040:
|
|
movs r0, 0x3
|
|
b _08026046
|
|
_08026044:
|
|
movs r0, 0
|
|
_08026046:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8025F68
|
|
|
|
thumb_func_start sub_802604C
|
|
sub_802604C:
|
|
ldr r0, _08026054
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
bx lr
|
|
.align 2, 0
|
|
_08026054: .4byte gUnknown_203B2B8
|
|
thumb_func_end sub_802604C
|
|
|
|
thumb_func_start sub_8026058
|
|
sub_8026058:
|
|
push {r4,lr}
|
|
ldr r4, _08026070
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0802606A
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802606A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08026070: .4byte gUnknown_203B2B8
|
|
thumb_func_end sub_8026058
|
|
|
|
thumb_func_start sub_8026074
|
|
sub_8026074:
|
|
push {lr}
|
|
ldr r1, _08026088
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_802608C
|
|
bl sub_80261D0
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08026088: .4byte gUnknown_203B2B8
|
|
thumb_func_end sub_8026074
|
|
|
|
thumb_func_start sub_802608C
|
|
sub_802608C:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
ldr r4, _080260B8
|
|
ldr r0, [r4]
|
|
movs r5, 0x88
|
|
lsls r5, 2
|
|
adds r0, r5
|
|
bl sub_8006518
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x1
|
|
blt _08026178
|
|
cmp r0, 0x2
|
|
ble _080260BC
|
|
cmp r0, 0x14
|
|
beq _0802614C
|
|
b _08026178
|
|
.align 2, 0
|
|
_080260B8: .4byte gUnknown_203B2B8
|
|
_080260BC:
|
|
ldr r0, _0802613C
|
|
mov r12, r0
|
|
ldr r1, _08026140
|
|
mov r8, r1
|
|
mov r9, r4
|
|
mov r10, r5
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_080260CC:
|
|
mov r5, r9
|
|
ldr r1, [r5]
|
|
adds r1, r3
|
|
add r1, r10
|
|
ldr r0, _08026144
|
|
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 _080260CC
|
|
ldr r1, [r4]
|
|
movs r6, 0x88
|
|
lsls r6, 2
|
|
adds r1, r6
|
|
mov r0, r12
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldr r1, [r4]
|
|
movs r0, 0x9A
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
mov r0, r8
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r6,r7}
|
|
stm r1!, {r2,r6,r7}
|
|
bl sub_80264CC
|
|
ldr r2, [r4]
|
|
movs r0, 0x94
|
|
lsls r0, 2
|
|
adds r2, r0
|
|
ldr r1, _08026148
|
|
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, 0xB6
|
|
lsls r6, 1
|
|
adds r1, r6
|
|
bl sub_8012CAC
|
|
ldr r0, [r4]
|
|
movs r7, 0x97
|
|
lsls r7, 2
|
|
adds r0, r7
|
|
movs r1, 0x9
|
|
strh r1, [r0]
|
|
b _080261A2
|
|
.align 2, 0
|
|
_0802613C: .4byte gUnknown_80DD358
|
|
_08026140: .4byte gUnknown_80DD370
|
|
_08026144: .4byte gUnknown_80DD310
|
|
_08026148: .4byte gUnknown_80DD328
|
|
_0802614C:
|
|
bl sub_802678C
|
|
ldr r2, [r4]
|
|
movs r0, 0x94
|
|
lsls r0, 2
|
|
adds r2, r0
|
|
ldr r1, _08026174
|
|
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, 0xB6
|
|
lsls r6, 1
|
|
adds r1, r6
|
|
bl sub_8012CAC
|
|
b _080261A2
|
|
.align 2, 0
|
|
_08026174: .4byte gUnknown_80DD340
|
|
_08026178:
|
|
ldr r7, _080261C8
|
|
mov r8, r7
|
|
movs r0, 0x88
|
|
lsls r0, 2
|
|
mov r9, r0
|
|
ldr r4, _080261CC
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_08026188:
|
|
mov r5, r8
|
|
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 _08026188
|
|
_080261A2:
|
|
bl sub_8004914
|
|
ldr r0, _080261C8
|
|
ldr r0, [r0]
|
|
movs r6, 0x88
|
|
lsls r6, 2
|
|
adds r0, r6
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080261C8: .4byte gUnknown_203B2B8
|
|
_080261CC: .4byte gUnknown_80DD310
|
|
thumb_func_end sub_802608C
|
|
|
|
thumb_func_start sub_80261D0
|
|
sub_80261D0:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x18
|
|
ldr r1, _080261EC
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x19
|
|
bls _080261E2
|
|
b _080264BA
|
|
_080261E2:
|
|
lsls r0, 2
|
|
ldr r1, _080261F0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080261EC: .4byte gUnknown_203B2B8
|
|
_080261F0: .4byte _080261F4
|
|
.align 2, 0
|
|
_080261F4:
|
|
.4byte _080264BA
|
|
.4byte _0802625C
|
|
.4byte _080262A8
|
|
.4byte _080262EC
|
|
.4byte _080262FA
|
|
.4byte _080263F8
|
|
.4byte _0802640C
|
|
.4byte _08026420
|
|
.4byte _08026434
|
|
.4byte _08026448
|
|
.4byte _0802648A
|
|
.4byte _080264A8
|
|
.4byte _08026392
|
|
.4byte _080263AC
|
|
.4byte _08026306
|
|
.4byte _08026464
|
|
.4byte _08026474
|
|
.4byte _08026484
|
|
.4byte _08026310
|
|
.4byte _0802631E
|
|
.4byte _08026326
|
|
.4byte _08026350
|
|
.4byte _08026362
|
|
.4byte _08026388
|
|
.4byte _080263E0
|
|
.4byte _080264BA
|
|
_0802625C:
|
|
movs r0, 0x3
|
|
bl sub_8026E08
|
|
ldr r5, _080262A0
|
|
ldr r1, [r5]
|
|
adds r1, 0x14
|
|
movs r0, 0
|
|
bl sub_8026DAC
|
|
ldr r4, _080262A4
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, 0x18]
|
|
adds r0, r4, 0
|
|
movs r2, 0x7
|
|
bl sub_808D9AC
|
|
adds r4, 0x50
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, 0x18]
|
|
adds r0, r4, 0
|
|
movs r2, 0x6
|
|
bl sub_808D9AC
|
|
ldr r2, [r5]
|
|
adds r0, r2, 0
|
|
adds r0, 0x7C
|
|
movs r3, 0xB6
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
movs r4, 0x83
|
|
lsls r4, 2
|
|
adds r3, r2, r4
|
|
ldr r2, [r2, 0x70]
|
|
b _0802633E
|
|
.align 2, 0
|
|
_080262A0: .4byte gUnknown_203B2B8
|
|
_080262A4: .4byte gUnknown_202DF98
|
|
_080262A8:
|
|
movs r0, 0x3
|
|
bl sub_8026E08
|
|
ldr r5, _080262E4
|
|
ldr r1, [r5]
|
|
adds r1, 0x14
|
|
movs r0, 0
|
|
bl sub_8026DAC
|
|
ldr r4, _080262E8
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, 0x18]
|
|
adds r0, r4, 0
|
|
movs r2, 0x7
|
|
bl sub_808D9AC
|
|
adds r4, 0x50
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, 0x18]
|
|
adds r0, r4, 0
|
|
movs r2, 0x6
|
|
bl sub_808D9AC
|
|
ldr r0, [r5]
|
|
adds r0, 0x7C
|
|
movs r1, 0x1
|
|
bl sub_8012EA4
|
|
b _080264BA
|
|
.align 2, 0
|
|
_080262E4: .4byte gUnknown_203B2B8
|
|
_080262E8: .4byte gUnknown_202DF98
|
|
_080262EC:
|
|
ldr r0, [r4]
|
|
movs r1, 0xA
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0x2
|
|
bl sub_8024458
|
|
b _080264BA
|
|
_080262FA:
|
|
ldr r0, [r4]
|
|
movs r3, 0xA
|
|
ldrsh r0, [r0, r3]
|
|
bl sub_801BEEC
|
|
b _080264BA
|
|
_08026306:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x18]
|
|
bl sub_80227B8
|
|
b _080264BA
|
|
_08026310:
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl sub_801A5D8
|
|
b _080264BA
|
|
_0802631E:
|
|
movs r0, 0x1
|
|
bl sub_801A8D0
|
|
b _080264BA
|
|
_08026326:
|
|
bl sub_801A9E0
|
|
ldr r0, _0802634C
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0xCC
|
|
movs r4, 0xB6
|
|
lsls r4, 1
|
|
adds r1, r2, r4
|
|
adds r4, 0xA0
|
|
adds r3, r2, r4
|
|
ldr r2, [r2, 0x74]
|
|
_0802633E:
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8012D60
|
|
b _080264BA
|
|
.align 2, 0
|
|
_0802634C: .4byte gUnknown_203B2B8
|
|
_08026350:
|
|
ldr r1, [r4]
|
|
adds r1, 0x10
|
|
add r0, sp, 0x14
|
|
bl sub_8090B64
|
|
add r0, sp, 0x14
|
|
bl sub_801B3C0
|
|
b _080264BA
|
|
_08026362:
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x28
|
|
ldr r1, [r1, 0x18]
|
|
adds r1, 0x2C
|
|
bl sub_809401C
|
|
ldr r2, [r4]
|
|
movs r0, 0xA
|
|
ldrsh r1, [r2, r0]
|
|
adds r2, 0x28
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x3
|
|
movs r3, 0
|
|
bl sub_801EE10
|
|
b _080264BA
|
|
_08026388:
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
bl sub_801F1B0
|
|
b _080264BA
|
|
_08026392:
|
|
bl sub_8026878
|
|
ldr r0, _080263A4
|
|
ldr r1, _080263A8
|
|
ldr r3, [r1]
|
|
movs r1, 0xDE
|
|
lsls r1, 1
|
|
adds r3, r1
|
|
b _080263BC
|
|
.align 2, 0
|
|
_080263A4: .4byte gUnknown_80DD388
|
|
_080263A8: .4byte gUnknown_203B2B8
|
|
_080263AC:
|
|
bl sub_8026878
|
|
ldr r0, _080263D8
|
|
ldr r1, _080263DC
|
|
ldr r3, [r1]
|
|
movs r4, 0xDE
|
|
lsls r4, 1
|
|
adds r3, r4
|
|
_080263BC:
|
|
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 _080264BA
|
|
.align 2, 0
|
|
_080263D8: .4byte gUnknown_80DD420
|
|
_080263DC: .4byte gUnknown_203B2B8
|
|
_080263E0:
|
|
ldr r2, [r4]
|
|
ldr r0, [r2, 0x20]
|
|
adds r1, r2, 0
|
|
adds r1, 0x28
|
|
adds r2, 0x68
|
|
bl sub_8093560
|
|
ldr r0, [r4]
|
|
adds r0, 0x68
|
|
bl sub_801F808
|
|
b _080264BA
|
|
_080263F8:
|
|
ldr r1, [r4]
|
|
movs r0, 0x19
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0xCF
|
|
bl sub_8011988
|
|
ldr r0, _08026408
|
|
b _08026492
|
|
.align 2, 0
|
|
_08026408: .4byte gUnknown_80DD4C4
|
|
_0802640C:
|
|
ldr r1, [r4]
|
|
movs r0, 0x19
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0xCF
|
|
bl sub_8011988
|
|
ldr r0, _0802641C
|
|
b _08026492
|
|
.align 2, 0
|
|
_0802641C: .4byte gUnknown_80DD4F4
|
|
_08026420:
|
|
ldr r1, [r4]
|
|
movs r0, 0x19
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0xCC
|
|
bl sub_8011988
|
|
ldr r0, _08026430
|
|
b _08026492
|
|
.align 2, 0
|
|
_08026430: .4byte gUnknown_80DD534
|
|
_08026434:
|
|
ldr r1, [r4]
|
|
movs r0, 0x9
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0xCA
|
|
bl sub_8011988
|
|
ldr r0, _08026444
|
|
b _08026492
|
|
.align 2, 0
|
|
_08026444: .4byte gUnknown_80DD564
|
|
_08026448:
|
|
bl sub_8026FA4
|
|
ldr r4, _08026460
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x18]
|
|
bl sub_808D31C
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x8]
|
|
b _080264BA
|
|
.align 2, 0
|
|
_08026460: .4byte gUnknown_203B2B8
|
|
_08026464:
|
|
ldr r1, [r4]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _08026470
|
|
b _08026492
|
|
.align 2, 0
|
|
_08026470: .4byte gUnknown_80DD594
|
|
_08026474:
|
|
ldr r1, [r4]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _08026480
|
|
b _08026492
|
|
.align 2, 0
|
|
_08026480: .4byte gUnknown_80DD5B8
|
|
_08026484:
|
|
ldr r1, [r4]
|
|
movs r0, 0x2
|
|
b _0802648E
|
|
_0802648A:
|
|
ldr r1, [r4]
|
|
movs r0, 0x19
|
|
_0802648E:
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _080264A0
|
|
_08026492:
|
|
ldr r3, _080264A4
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _080264BA
|
|
.align 2, 0
|
|
_080264A0: .4byte gUnknown_80DD60C
|
|
_080264A4: .4byte 0x00000101
|
|
_080264A8:
|
|
ldr r1, [r4]
|
|
movs r0, 0x19
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _080264C4
|
|
ldr r3, _080264C8
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
_080264BA:
|
|
add sp, 0x18
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080264C4: .4byte gUnknown_80DD63C
|
|
_080264C8: .4byte 0x00000101
|
|
thumb_func_end sub_80261D0
|
|
|
|
thumb_func_start sub_80264CC
|
|
sub_80264CC:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r3, _08026574
|
|
ldr r4, _08026578
|
|
ldr r0, [r4]
|
|
movs r1, 0xA
|
|
ldrsh r2, [r0, r1]
|
|
movs r1, 0x58
|
|
muls r2, r1
|
|
ldr r1, [r3]
|
|
adds r1, r2
|
|
mov r8, r1
|
|
movs r2, 0x83
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
movs r1, 0
|
|
movs r2, 0x14
|
|
bl MemoryFill16
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x18]
|
|
ldrb r0, [r0, 0x2]
|
|
strb r0, [r1, 0x1C]
|
|
ldr r1, [r4]
|
|
movs r3, 0xA
|
|
ldrsh r0, [r1, r3]
|
|
adds r1, 0x14
|
|
bl sub_808D7DC
|
|
mov r1, r8
|
|
ldrh r0, [r1]
|
|
lsrs r0, 1
|
|
movs r5, 0x1
|
|
ands r0, r5
|
|
cmp r0, 0
|
|
beq _08026584
|
|
ldr r2, [r4]
|
|
movs r3, 0xB6
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
ldr r0, _0802657C
|
|
str r0, [r1]
|
|
movs r0, 0xB8
|
|
lsls r0, 1
|
|
adds r1, r2, r0
|
|
movs r0, 0x7
|
|
str r0, [r1]
|
|
mov r0, r8
|
|
bl sub_8026E88
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08026542
|
|
ldr r0, [r4]
|
|
movs r1, 0x83
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
strh r5, [r0]
|
|
_08026542:
|
|
movs r6, 0x1
|
|
movs r0, 0x8
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080265B4
|
|
mov r2, r8
|
|
ldrb r0, [r2, 0x2]
|
|
cmp r0, 0
|
|
bne _080265B4
|
|
ldr r3, [r4]
|
|
movs r2, 0x8
|
|
movs r4, 0xBA
|
|
lsls r4, 1
|
|
adds r1, r3, r4
|
|
ldr r0, _08026580
|
|
str r0, [r1]
|
|
movs r1, 0xBC
|
|
lsls r1, 1
|
|
adds r0, r3, r1
|
|
str r2, [r0]
|
|
movs r6, 0x2
|
|
b _080265B4
|
|
.align 2, 0
|
|
_08026574: .4byte gUnknown_203B45C
|
|
_08026578: .4byte gUnknown_203B2B8
|
|
_0802657C: .4byte gUnknown_80DD664
|
|
_08026580: .4byte gUnknown_80DD670
|
|
_08026584:
|
|
ldr r2, [r4]
|
|
movs r3, 0xB6
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
ldr r0, _08026734
|
|
str r0, [r1]
|
|
movs r0, 0xB8
|
|
lsls r0, 1
|
|
adds r1, r2, r0
|
|
movs r0, 0x6
|
|
str r0, [r1]
|
|
movs r1, 0xA
|
|
ldrsh r0, [r2, r1]
|
|
bl sub_808D750
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080265B2
|
|
ldr r0, [r4]
|
|
movs r2, 0x83
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
strh r5, [r0]
|
|
_080265B2:
|
|
movs r6, 0x1
|
|
_080265B4:
|
|
ldr r4, _08026738
|
|
ldr r2, [r4]
|
|
lsls r3, r6, 3
|
|
movs r7, 0xB6
|
|
lsls r7, 1
|
|
adds r0, r2, r7
|
|
adds r0, r3
|
|
ldr r1, _0802673C
|
|
str r1, [r0]
|
|
movs r5, 0xB8
|
|
lsls r5, 1
|
|
adds r2, r5
|
|
adds r2, r3
|
|
movs r0, 0xA
|
|
str r0, [r2]
|
|
bl sub_809177C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080265EC
|
|
ldr r0, [r4]
|
|
lsls r1, r6, 1
|
|
movs r3, 0x83
|
|
lsls r3, 2
|
|
adds r0, r3
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_080265EC:
|
|
adds r6, 0x1
|
|
ldr r2, [r4]
|
|
lsls r3, r6, 3
|
|
adds r0, r2, r7
|
|
adds r0, r3
|
|
ldr r1, _08026740
|
|
str r1, [r0]
|
|
adds r2, r5
|
|
adds r2, r3
|
|
movs r0, 0xB
|
|
str r0, [r2]
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
bne _0802661A
|
|
ldr r0, [r4]
|
|
lsls r1, r6, 1
|
|
movs r2, 0x83
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_0802661A:
|
|
adds r6, 0x1
|
|
ldr r2, [r4]
|
|
lsls r3, r6, 3
|
|
adds r0, r2, r7
|
|
adds r0, r3
|
|
ldr r1, _08026744
|
|
str r1, [r0]
|
|
adds r2, r5
|
|
adds r2, r3
|
|
movs r0, 0xC
|
|
str r0, [r2]
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
bgt _08026640
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x14]
|
|
cmp r0, 0
|
|
bne _08026650
|
|
_08026640:
|
|
ldr r0, [r4]
|
|
lsls r1, r6, 1
|
|
movs r3, 0x83
|
|
lsls r3, 2
|
|
adds r0, r3
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_08026650:
|
|
adds r6, 0x1
|
|
mov r4, r8
|
|
ldrh r0, [r4]
|
|
lsrs r0, 1
|
|
movs r5, 0x1
|
|
ands r0, r5
|
|
cmp r0, 0
|
|
bne _0802669A
|
|
ldr r4, _08026738
|
|
ldr r3, [r4]
|
|
lsls r2, r6, 3
|
|
movs r1, 0xB6
|
|
lsls r1, 1
|
|
adds r0, r3, r1
|
|
adds r0, r2
|
|
ldr r1, _08026748
|
|
str r1, [r0]
|
|
movs r1, 0xB8
|
|
lsls r1, 1
|
|
adds r0, r3, r1
|
|
adds r0, r2
|
|
movs r1, 0x9
|
|
str r1, [r0]
|
|
mov r0, r8
|
|
bl sub_8026EB8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08026698
|
|
ldr r0, [r4]
|
|
lsls r1, r6, 1
|
|
movs r2, 0x83
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
adds r0, r1
|
|
strh r5, [r0]
|
|
_08026698:
|
|
adds r6, 0x1
|
|
_0802669A:
|
|
ldr r4, _08026738
|
|
ldr r5, [r4]
|
|
lsls r1, r6, 3
|
|
movs r0, 0xB6
|
|
lsls r0, 1
|
|
adds r3, r5, r0
|
|
adds r2, r3, r1
|
|
ldr r0, _0802674C
|
|
str r0, [r2]
|
|
movs r2, 0xB8
|
|
lsls r2, 1
|
|
adds r7, r5, r2
|
|
adds r1, r7, r1
|
|
movs r0, 0x4
|
|
str r0, [r1]
|
|
adds r6, 0x1
|
|
lsls r1, r6, 3
|
|
adds r2, r3, r1
|
|
ldr r0, _08026750
|
|
str r0, [r2]
|
|
adds r1, r7, r1
|
|
movs r0, 0xD
|
|
str r0, [r1]
|
|
adds r6, 0x1
|
|
lsls r1, r6, 3
|
|
adds r2, r3, r1
|
|
ldr r0, _08026754
|
|
str r0, [r2]
|
|
adds r1, r7, r1
|
|
movs r0, 0x5
|
|
str r0, [r1]
|
|
adds r6, 0x1
|
|
lsls r1, r6, 3
|
|
adds r3, r1
|
|
movs r0, 0
|
|
str r0, [r3]
|
|
adds r1, r7, r1
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
movs r3, 0
|
|
mov r12, r4
|
|
cmp r3, r6
|
|
bge _08026710
|
|
adds r4, r7, 0
|
|
movs r0, 0x83
|
|
lsls r0, 2
|
|
adds r2, r5, r0
|
|
_080266F8:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _08026706
|
|
ldr r1, [r4]
|
|
ldr r0, [r5, 0x70]
|
|
cmp r1, r0
|
|
beq _08026780
|
|
_08026706:
|
|
adds r4, 0x8
|
|
adds r2, 0x2
|
|
adds r3, 0x1
|
|
cmp r3, r6
|
|
blt _080266F8
|
|
_08026710:
|
|
movs r3, 0
|
|
cmp r3, r6
|
|
bge _08026780
|
|
mov r2, r12
|
|
ldr r1, [r2]
|
|
movs r4, 0x83
|
|
lsls r4, 2
|
|
adds r0, r1, r4
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _08026758
|
|
movs r2, 0xB8
|
|
lsls r2, 1
|
|
adds r0, r1, r2
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x70]
|
|
b _08026780
|
|
.align 2, 0
|
|
_08026734: .4byte gUnknown_80DD67C
|
|
_08026738: .4byte gUnknown_203B2B8
|
|
_0802673C: .4byte gUnknown_80DD688
|
|
_08026740: .4byte gUnknown_80DD694
|
|
_08026744: .4byte gUnknown_80DD69C
|
|
_08026748: .4byte gUnknown_80DD6A4
|
|
_0802674C: .4byte gUnknown_80DD6B4
|
|
_08026750: .4byte gUnknown_80DD6BC
|
|
_08026754: .4byte gUnknown_80DD6C4
|
|
_08026758:
|
|
adds r3, 0x1
|
|
cmp r3, r6
|
|
bge _08026780
|
|
mov r4, r12
|
|
ldr r2, [r4]
|
|
lsls r0, r3, 1
|
|
movs r4, 0x83
|
|
lsls r4, 2
|
|
adds r1, r2, r4
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08026758
|
|
lsls r0, r3, 3
|
|
movs r3, 0xB8
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x70]
|
|
_08026780:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80264CC
|
|
|
|
thumb_func_start sub_802678C
|
|
sub_802678C:
|
|
push {r4-r7,lr}
|
|
ldr r5, _08026840
|
|
ldr r0, [r5]
|
|
movs r7, 0x83
|
|
lsls r7, 2
|
|
adds r0, r7
|
|
movs r1, 0
|
|
movs r2, 0x14
|
|
bl MemoryFill16
|
|
ldr r2, [r5]
|
|
movs r0, 0xB6
|
|
lsls r0, 1
|
|
adds r1, r2, r0
|
|
ldr r0, _08026844
|
|
str r0, [r1]
|
|
movs r3, 0xB8
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
movs r0, 0xB
|
|
str r0, [r1]
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
bne _080267C8
|
|
ldr r0, [r5]
|
|
adds r4, r7, 0
|
|
adds r0, r4
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_080267C8:
|
|
ldr r4, [r5]
|
|
movs r2, 0x1
|
|
movs r0, 0xBA
|
|
lsls r0, 1
|
|
adds r1, r4, r0
|
|
ldr r0, _08026848
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r3, 0xBC
|
|
lsls r3, 1
|
|
adds r1, r4, r3
|
|
movs r0, 0x4
|
|
str r0, [r1]
|
|
movs r6, 0x2
|
|
movs r0, 0xBE
|
|
lsls r0, 1
|
|
adds r1, r4, r0
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
movs r1, 0xC0
|
|
lsls r1, 1
|
|
adds r0, r4, r1
|
|
str r2, [r0]
|
|
movs r3, 0
|
|
mov r12, r4
|
|
movs r4, 0xB8
|
|
lsls r4, 1
|
|
add r4, r12
|
|
mov r0, r12
|
|
adds r2, r0, r7
|
|
_08026804:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _08026814
|
|
ldr r1, [r4]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x74]
|
|
cmp r1, r0
|
|
beq _08026872
|
|
_08026814:
|
|
adds r4, 0x8
|
|
adds r2, 0x2
|
|
adds r3, 0x1
|
|
cmp r3, r6
|
|
blt _08026804
|
|
movs r3, 0
|
|
cmp r3, r6
|
|
bge _08026872
|
|
ldr r1, [r5]
|
|
movs r2, 0x83
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _0802684C
|
|
movs r3, 0xB8
|
|
lsls r3, 1
|
|
adds r0, r1, r3
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x74]
|
|
b _08026872
|
|
.align 2, 0
|
|
_08026840: .4byte gUnknown_203B2B8
|
|
_08026844: .4byte gUnknown_80DD694
|
|
_08026848: .4byte gUnknown_80D4970
|
|
_0802684C:
|
|
adds r3, 0x1
|
|
cmp r3, r6
|
|
bge _08026872
|
|
ldr r2, [r5]
|
|
lsls r0, r3, 1
|
|
movs r4, 0x83
|
|
lsls r4, 2
|
|
adds r1, r2, r4
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _0802684C
|
|
lsls r0, r3, 3
|
|
movs r7, 0xB8
|
|
lsls r7, 1
|
|
adds r1, r2, r7
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x74]
|
|
_08026872:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802678C
|
|
|
|
thumb_func_start sub_8026878
|
|
sub_8026878:
|
|
ldr r0, _080268C0
|
|
ldr r0, [r0]
|
|
mov r12, r0
|
|
movs r3, 0
|
|
movs r1, 0xDE
|
|
lsls r1, 1
|
|
add r1, r12
|
|
ldr r0, _080268C4
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r1, 0xE0
|
|
lsls r1, 1
|
|
add r1, r12
|
|
movs r0, 0x2
|
|
str r0, [r1]
|
|
movs r2, 0x1
|
|
movs r1, 0xE2
|
|
lsls r1, 1
|
|
add r1, r12
|
|
ldr r0, _080268C8
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r1, 0xE4
|
|
lsls r1, 1
|
|
add r1, r12
|
|
movs r0, 0x3
|
|
str r0, [r1]
|
|
movs r0, 0xE6
|
|
lsls r0, 1
|
|
add r0, r12
|
|
str r3, [r0]
|
|
movs r0, 0xE8
|
|
lsls r0, 1
|
|
add r0, r12
|
|
str r2, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080268C0: .4byte gUnknown_203B2B8
|
|
_080268C4: .4byte gUnknown_80D4920
|
|
_080268C8: .4byte gUnknown_80D4928
|
|
thumb_func_end sub_8026878
|
|
|
|
thumb_func_start sub_80268CC
|
|
sub_80268CC:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r4, _0802690C
|
|
ldr r0, [r4]
|
|
adds r0, 0x7C
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080268F8
|
|
ldr r0, [r4]
|
|
adds r0, 0x7C
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _080268F8
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x70]
|
|
_080268F8:
|
|
ldr r0, [sp]
|
|
subs r0, 0x1
|
|
cmp r0, 0xC
|
|
bls _08026902
|
|
b _08026A6E
|
|
_08026902:
|
|
lsls r0, 2
|
|
ldr r1, _08026910
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802690C: .4byte gUnknown_203B2B8
|
|
_08026910: .4byte _08026914
|
|
.align 2, 0
|
|
_08026914:
|
|
.4byte _08026A68
|
|
.4byte _08026A6E
|
|
.4byte _08026A6E
|
|
.4byte _08026A58
|
|
.4byte _08026A60
|
|
.4byte _08026948
|
|
.4byte _0802698C
|
|
.4byte _080269B4
|
|
.4byte _080269F0
|
|
.4byte _08026A00
|
|
.4byte _08026A08
|
|
.4byte _08026A10
|
|
.4byte _080269F8
|
|
_08026948:
|
|
ldr r4, _08026984
|
|
ldr r0, [r4]
|
|
movs r1, 0xA
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_808D750
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08026976
|
|
ldr r0, [r4]
|
|
movs r2, 0xA
|
|
ldrsh r1, [r0, r2]
|
|
movs r0, 0x58
|
|
muls r1, r0
|
|
ldr r0, _08026988
|
|
ldr r0, [r0]
|
|
adds r1, r0
|
|
ldrh r2, [r1]
|
|
movs r0, 0x2
|
|
orrs r0, r2
|
|
strh r0, [r1]
|
|
bl nullsub_104
|
|
_08026976:
|
|
bl sub_808ED00
|
|
movs r0, 0x5
|
|
bl sub_8026074
|
|
b _08026A6E
|
|
.align 2, 0
|
|
_08026984: .4byte gUnknown_203B2B8
|
|
_08026988: .4byte gUnknown_203B45C
|
|
_0802698C:
|
|
ldr r0, _080269AC
|
|
ldr r0, [r0]
|
|
ldr r2, [r0, 0x18]
|
|
ldrh r1, [r2]
|
|
ldr r0, _080269B0
|
|
ands r0, r1
|
|
strh r0, [r2]
|
|
bl nullsub_104
|
|
bl sub_808ED00
|
|
movs r0, 0x6
|
|
bl sub_8026074
|
|
b _08026A6E
|
|
.align 2, 0
|
|
_080269AC: .4byte gUnknown_203B2B8
|
|
_080269B0: .4byte 0x0000fffd
|
|
_080269B4:
|
|
ldr r2, _080269E8
|
|
ldr r0, _080269EC
|
|
ldr r0, [r0]
|
|
movs r3, 0xA
|
|
ldrsh r1, [r0, r3]
|
|
movs r0, 0x58
|
|
muls r1, r0
|
|
ldr r0, [r2]
|
|
adds r4, r0, r1
|
|
bl sub_808D33C
|
|
ldrb r1, [r4, 0x2]
|
|
cmp r1, 0
|
|
bne _080269DA
|
|
strb r1, [r0, 0x2]
|
|
movs r0, 0x1
|
|
strb r0, [r4, 0x2]
|
|
bl nullsub_104
|
|
_080269DA:
|
|
bl sub_808ED00
|
|
movs r0, 0x7
|
|
bl sub_8026074
|
|
b _08026A6E
|
|
.align 2, 0
|
|
_080269E8: .4byte gUnknown_203B45C
|
|
_080269EC: .4byte gUnknown_203B2B8
|
|
_080269F0:
|
|
movs r0, 0xC
|
|
bl sub_8026074
|
|
b _08026A6E
|
|
_080269F8:
|
|
movs r0, 0x16
|
|
bl sub_8026074
|
|
b _08026A6E
|
|
_08026A00:
|
|
movs r0, 0xE
|
|
bl sub_8026074
|
|
b _08026A6E
|
|
_08026A08:
|
|
movs r0, 0x12
|
|
bl sub_8026074
|
|
b _08026A6E
|
|
_08026A10:
|
|
ldr r0, _08026A50
|
|
bl sub_8011988
|
|
ldr r4, _08026A54
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x14]
|
|
cmp r0, 0
|
|
beq _08026A28
|
|
adds r0, r1, 0
|
|
adds r0, 0x14
|
|
bl sub_8091274
|
|
_08026A28:
|
|
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, 0xA
|
|
ldrsh r0, [r1, r2]
|
|
adds r1, 0x14
|
|
bl sub_808D800
|
|
bl nullsub_104
|
|
movs r0, 0x11
|
|
bl sub_8026074
|
|
b _08026A6E
|
|
.align 2, 0
|
|
_08026A50: .4byte 0x0000014d
|
|
_08026A54: .4byte gUnknown_203B2B8
|
|
_08026A58:
|
|
movs r0, 0x3
|
|
bl sub_8026074
|
|
b _08026A6E
|
|
_08026A60:
|
|
movs r0, 0x4
|
|
bl sub_8026074
|
|
b _08026A6E
|
|
_08026A68:
|
|
movs r0, 0x19
|
|
bl sub_8026074
|
|
_08026A6E:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80268CC
|
|
|
|
thumb_func_start sub_8026A78
|
|
sub_8026A78:
|
|
push {lr}
|
|
bl sub_80244E4
|
|
cmp r0, 0x1
|
|
bls _08026A90
|
|
cmp r0, 0x3
|
|
bhi _08026A90
|
|
bl sub_802453C
|
|
movs r0, 0x2
|
|
bl sub_8026074
|
|
_08026A90:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8026A78
|
|
|
|
thumb_func_start sub_8026A94
|
|
sub_8026A94:
|
|
push {lr}
|
|
bl sub_801BF48
|
|
cmp r0, 0x1
|
|
bls _08026AAC
|
|
cmp r0, 0x3
|
|
bhi _08026AAC
|
|
bl sub_801BF98
|
|
movs r0, 0x2
|
|
bl sub_8026074
|
|
_08026AAC:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8026A94
|
|
|
|
thumb_func_start sub_8026AB0
|
|
sub_8026AB0:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08026B08
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _08026ADA
|
|
cmp r0, 0x2
|
|
bgt _08026ACE
|
|
cmp r0, 0x1
|
|
beq _08026AD2
|
|
b _08026B08
|
|
_08026ACE:
|
|
cmp r0, 0x3
|
|
bne _08026B08
|
|
_08026AD2:
|
|
movs r0, 0x2
|
|
bl sub_8026074
|
|
b _08026B08
|
|
_08026ADA:
|
|
ldr r0, _08026AF0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x18]
|
|
ldrb r0, [r0, 0x4]
|
|
subs r0, 0x44
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bhi _08026AF4
|
|
movs r0, 0x1
|
|
b _08026AF6
|
|
.align 2, 0
|
|
_08026AF0: .4byte gUnknown_203B2B8
|
|
_08026AF4:
|
|
movs r0, 0
|
|
_08026AF6:
|
|
cmp r0, 0
|
|
beq _08026B02
|
|
movs r0, 0xD
|
|
bl sub_8026074
|
|
b _08026B08
|
|
_08026B02:
|
|
movs r0, 0x8
|
|
bl sub_8026074
|
|
_08026B08:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8026AB0
|
|
|
|
thumb_func_start sub_8026B10
|
|
sub_8026B10:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08026B40
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _08026B3A
|
|
cmp r0, 0x2
|
|
bgt _08026B2E
|
|
cmp r0, 0x1
|
|
beq _08026B32
|
|
b _08026B40
|
|
_08026B2E:
|
|
cmp r0, 0x3
|
|
bne _08026B40
|
|
_08026B32:
|
|
movs r0, 0x2
|
|
bl sub_8026074
|
|
b _08026B40
|
|
_08026B3A:
|
|
movs r0, 0x8
|
|
bl sub_8026074
|
|
_08026B40:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8026B10
|
|
|
|
thumb_func_start sub_8026B48
|
|
sub_8026B48:
|
|
push {lr}
|
|
bl sub_8022860
|
|
cmp r0, 0x1
|
|
bls _08026B60
|
|
cmp r0, 0x3
|
|
bhi _08026B60
|
|
bl sub_8022908
|
|
movs r0, 0x2
|
|
bl sub_8026074
|
|
_08026B60:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8026B48
|
|
|
|
thumb_func_start sub_8026B64
|
|
sub_8026B64:
|
|
push {r4,lr}
|
|
movs r0, 0x1
|
|
bl sub_801A6E8
|
|
cmp r0, 0x4
|
|
bhi _08026C0E
|
|
lsls r0, 2
|
|
ldr r1, _08026B7C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08026B7C: .4byte _08026B80
|
|
.align 2, 0
|
|
_08026B80:
|
|
.4byte _08026C0E
|
|
.4byte _08026C0E
|
|
.4byte _08026C04
|
|
.4byte _08026B94
|
|
.4byte _08026BC8
|
|
_08026B94:
|
|
bl sub_801A8AC
|
|
ldr r4, _08026BC0
|
|
ldr r2, [r4]
|
|
str r0, [r2, 0xC]
|
|
ldr r3, _08026BC4
|
|
ldr r1, [r3]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x2]
|
|
strb r0, [r2, 0x10]
|
|
ldr r2, [r4]
|
|
ldr r1, [r3]
|
|
ldr r0, [r2, 0xC]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x1]
|
|
strb r0, [r2, 0x11]
|
|
movs r0, 0x14
|
|
bl sub_8026074
|
|
b _08026C0E
|
|
.align 2, 0
|
|
_08026BC0: .4byte gUnknown_203B2B8
|
|
_08026BC4: .4byte gUnknown_203B460
|
|
_08026BC8:
|
|
bl sub_801A8AC
|
|
ldr r4, _08026BFC
|
|
ldr r2, [r4]
|
|
str r0, [r2, 0xC]
|
|
ldr r3, _08026C00
|
|
ldr r1, [r3]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x2]
|
|
strb r0, [r2, 0x10]
|
|
ldr r2, [r4]
|
|
ldr r1, [r3]
|
|
ldr r0, [r2, 0xC]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x1]
|
|
strb r0, [r2, 0x11]
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0x15
|
|
bl sub_8026074
|
|
b _08026C0E
|
|
.align 2, 0
|
|
_08026BFC: .4byte gUnknown_203B2B8
|
|
_08026C00: .4byte gUnknown_203B460
|
|
_08026C04:
|
|
bl sub_801A928
|
|
movs r0, 0x2
|
|
bl sub_8026074
|
|
_08026C0E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8026B64
|
|
|
|
thumb_func_start sub_8026C14
|
|
sub_8026C14:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x14
|
|
movs r0, 0
|
|
str r0, [sp, 0xC]
|
|
bl sub_801A6E8
|
|
ldr r4, _08026C54
|
|
ldr r0, [r4]
|
|
adds r0, 0xCC
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08026C44
|
|
ldr r0, [r4]
|
|
adds r0, 0xCC
|
|
add r1, sp, 0xC
|
|
bl sub_8013114
|
|
ldr r1, [sp, 0xC]
|
|
cmp r1, 0x1
|
|
beq _08026C44
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x74]
|
|
_08026C44:
|
|
ldr r0, [sp, 0xC]
|
|
cmp r0, 0x4
|
|
beq _08026CD4
|
|
cmp r0, 0x4
|
|
bgt _08026C58
|
|
cmp r0, 0x1
|
|
beq _08026CE2
|
|
b _08026CE8
|
|
.align 2, 0
|
|
_08026C54: .4byte gUnknown_203B2B8
|
|
_08026C58:
|
|
cmp r0, 0xB
|
|
bne _08026CE8
|
|
movs r6, 0xF
|
|
ldr r0, _08026CC8
|
|
bl sub_8011988
|
|
ldr r5, _08026CCC
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0xC]
|
|
bl sub_80911F8
|
|
bl sub_80910B4
|
|
ldr r1, [r5]
|
|
ldrb r0, [r1, 0x14]
|
|
cmp r0, 0
|
|
beq _08026C84
|
|
adds r0, r1, 0
|
|
adds r0, 0x14
|
|
bl sub_8091274
|
|
movs r6, 0x10
|
|
_08026C84:
|
|
add r4, sp, 0x10
|
|
ldr r1, [r5]
|
|
adds r1, 0x10
|
|
adds r0, r4, 0
|
|
bl sub_8090B64
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
strb r1, [r0, 0x4]
|
|
mov r1, sp
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x8]
|
|
strb r0, [r4]
|
|
ldr r0, _08026CD0
|
|
adds r1, r4, 0
|
|
mov r2, sp
|
|
bl sub_8090E14
|
|
ldr r1, [r5]
|
|
movs r2, 0xA
|
|
ldrsh r0, [r1, r2]
|
|
adds r1, 0x10
|
|
bl sub_808D800
|
|
bl sub_801A928
|
|
bl nullsub_104
|
|
adds r0, r6, 0
|
|
bl sub_8026074
|
|
b _08026CE8
|
|
.align 2, 0
|
|
_08026CC8: .4byte 0x0000014d
|
|
_08026CCC: .4byte gUnknown_203B2B8
|
|
_08026CD0: .4byte gUnknown_202DEA8
|
|
_08026CD4:
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0x15
|
|
bl sub_8026074
|
|
b _08026CE8
|
|
_08026CE2:
|
|
movs r0, 0x13
|
|
bl sub_8026074
|
|
_08026CE8:
|
|
add sp, 0x14
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8026C14
|
|
|
|
thumb_func_start sub_8026CF0
|
|
sub_8026CF0:
|
|
push {lr}
|
|
bl sub_801B410
|
|
cmp r0, 0x1
|
|
bls _08026D08
|
|
cmp r0, 0x3
|
|
bhi _08026D08
|
|
bl sub_801B450
|
|
movs r0, 0x13
|
|
bl sub_8026074
|
|
_08026D08:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8026CF0
|
|
|
|
thumb_func_start sub_8026D0C
|
|
sub_8026D0C:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_801EF38
|
|
cmp r0, 0x4
|
|
bhi _08026D66
|
|
lsls r0, 2
|
|
ldr r1, _08026D24
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08026D24: .4byte _08026D28
|
|
.align 2, 0
|
|
_08026D28:
|
|
.4byte _08026D66
|
|
.4byte _08026D66
|
|
.4byte _08026D5C
|
|
.4byte _08026D3C
|
|
.4byte _08026D3C
|
|
_08026D3C:
|
|
bl sub_801F194
|
|
ldr r1, _08026D58
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x20]
|
|
lsls r0, 3
|
|
adds r0, r1, r0
|
|
ldrh r0, [r0, 0x2A]
|
|
strh r0, [r1, 0x24]
|
|
movs r0, 0x18
|
|
bl sub_8026074
|
|
b _08026D66
|
|
.align 2, 0
|
|
_08026D58: .4byte gUnknown_203B2B8
|
|
_08026D5C:
|
|
bl sub_801F214
|
|
movs r0, 0x2
|
|
bl sub_8026074
|
|
_08026D66:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8026D0C
|
|
|
|
thumb_func_start sub_8026D6C
|
|
sub_8026D6C:
|
|
push {lr}
|
|
bl sub_801F890
|
|
cmp r0, 0x1
|
|
bls _08026D84
|
|
cmp r0, 0x3
|
|
bhi _08026D84
|
|
bl sub_801F8D0
|
|
movs r0, 0x17
|
|
bl sub_8026074
|
|
_08026D84:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8026D6C
|
|
|
|
thumb_func_start sub_8026D88
|
|
sub_8026D88:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08026DA0
|
|
ldr r0, _08026DA8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
bl sub_8026074
|
|
_08026DA0:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08026DA8: .4byte gUnknown_203B2B8
|
|
thumb_func_end sub_8026D88
|
|
|
|
thumb_func_start sub_8026DAC
|
|
sub_8026DAC:
|
|
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, _08026E00
|
|
adds r1, r4, 0
|
|
add r2, sp, 0x4
|
|
bl sub_8090E14
|
|
ldr r2, _08026E04
|
|
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
|
|
_08026E00: .4byte gUnknown_202DE58
|
|
_08026E04: .4byte gUnknown_80DD6D0
|
|
thumb_func_end sub_8026DAC
|
|
|
|
thumb_func_start sub_8026E08
|
|
sub_8026E08:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x40
|
|
adds r5, r0, 0
|
|
bl sub_8008C54
|
|
adds r0, r5, 0
|
|
bl sub_80073B8
|
|
ldr r6, _08026E78
|
|
ldr r4, _08026E7C
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0x18]
|
|
adds r1, 0x4C
|
|
adds r0, r6, 0
|
|
movs r2, 0xA
|
|
bl sub_80922B4
|
|
add r0, sp, 0x2C
|
|
ldr r1, [r4]
|
|
ldr r1, [r1, 0x18]
|
|
movs r2, 0x8
|
|
ldrsh r1, [r1, r2]
|
|
bl sub_808D930
|
|
ldr r1, _08026E80
|
|
add r0, sp, 0x4
|
|
adds r2, r6, 0
|
|
bl sub_800D158
|
|
add r0, sp, 0x4
|
|
bl sub_8008ED0
|
|
adds r1, r0, 0
|
|
ldr r0, _08026E84
|
|
movs r2, 0xC
|
|
ldrsh r0, [r0, r2]
|
|
lsls r0, 3
|
|
subs r0, r1
|
|
lsrs r1, r0, 31
|
|
adds r0, r1
|
|
asrs r0, 1
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r1, 0x3
|
|
add r2, sp, 0x4
|
|
adds r3, r5, 0
|
|
bl xxx_call_draw_string
|
|
adds r0, r5, 0
|
|
bl sub_80073E0
|
|
add sp, 0x40
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08026E78: .4byte gUnknown_202DF98
|
|
_08026E7C: .4byte gUnknown_203B2B8
|
|
_08026E80: .4byte gUnknown_80DD6E0
|
|
_08026E84: .4byte gUnknown_80DD370
|
|
thumb_func_end sub_8026E08
|
|
|
|
thumb_func_start sub_8026E88
|
|
sub_8026E88:
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
ldrb r0, [r1, 0x2]
|
|
cmp r0, 0
|
|
bne _08026EAC
|
|
movs r2, 0
|
|
ldrb r0, [r1, 0x4]
|
|
cmp r0, 0x41
|
|
bne _08026E9C
|
|
movs r2, 0x1
|
|
_08026E9C:
|
|
cmp r2, 0
|
|
beq _08026EB0
|
|
movs r0, 0x8
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08026EB0
|
|
_08026EAC:
|
|
movs r0, 0
|
|
b _08026EB2
|
|
_08026EB0:
|
|
movs r0, 0x1
|
|
_08026EB2:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8026E88
|
|
|
|
thumb_func_start sub_8026EB8
|
|
sub_8026EB8:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
bl sub_808D3BC
|
|
cmp r0, r4
|
|
beq _08026EFA
|
|
bl sub_808D3F8
|
|
cmp r0, r4
|
|
beq _08026EFA
|
|
ldrb r0, [r4, 0x2]
|
|
cmp r0, 0
|
|
bne _08026EFA
|
|
movs r1, 0
|
|
ldrb r0, [r4, 0x4]
|
|
cmp r0, 0x41
|
|
bne _08026EDC
|
|
movs r1, 0x1
|
|
_08026EDC:
|
|
cmp r1, 0
|
|
beq _08026EEC
|
|
movs r0, 0x8
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08026EFA
|
|
_08026EEC:
|
|
adds r0, r4, 0
|
|
bl sub_8026F04
|
|
cmp r0, 0x3
|
|
beq _08026EFA
|
|
movs r0, 0x1
|
|
b _08026EFC
|
|
_08026EFA:
|
|
movs r0, 0
|
|
_08026EFC:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8026EB8
|
|
|
|
thumb_func_start sub_8026F04
|
|
sub_8026F04:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
adds r0, 0x28
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08026F14
|
|
movs r0, 0
|
|
b _08026F32
|
|
_08026F14:
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
bgt _08026F20
|
|
movs r0, 0x1
|
|
b _08026F32
|
|
_08026F20:
|
|
adds r0, r4, 0
|
|
bl sub_8026F38
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08026F30
|
|
movs r0, 0x3
|
|
b _08026F32
|
|
_08026F30:
|
|
movs r0, 0x2
|
|
_08026F32:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8026F04
|
|
|
|
thumb_func_start sub_8026F38
|
|
sub_8026F38:
|
|
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 _08026F74
|
|
ldrb r0, [r4]
|
|
bl sub_8090A60
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08026F80
|
|
ldr r0, _08026F78
|
|
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, _08026F7C
|
|
cmp r1, r0
|
|
ble _08026F94
|
|
_08026F74:
|
|
movs r0, 0
|
|
b _08026F96
|
|
.align 2, 0
|
|
_08026F78: .4byte gUnknown_203B460
|
|
_08026F7C: .4byte 0x000003e7
|
|
_08026F80:
|
|
ldr r0, _08026F9C
|
|
ldr r1, [r0]
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldrh r1, [r1]
|
|
ldr r0, _08026FA0
|
|
cmp r1, r0
|
|
bhi _08026F74
|
|
_08026F94:
|
|
movs r0, 0x1
|
|
_08026F96:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08026F9C: .4byte gUnknown_203B460
|
|
_08026FA0: .4byte 0x000003e6
|
|
thumb_func_end sub_8026F38
|
|
|
|
thumb_func_start sub_8026FA4
|
|
sub_8026FA4:
|
|
push {r4,lr}
|
|
ldr r4, _08026FC0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x18]
|
|
bl sub_8026F04
|
|
cmp r0, 0x1
|
|
beq _08026FC4
|
|
cmp r0, 0x1
|
|
bcc _08027068
|
|
cmp r0, 0x2
|
|
beq _08026FF8
|
|
b _08027068
|
|
.align 2, 0
|
|
_08026FC0: .4byte gUnknown_203B2B8
|
|
_08026FC4:
|
|
ldr r0, _08026FF4
|
|
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, 0xA
|
|
ldrsh r0, [r1, r2]
|
|
adds r1, 0x14
|
|
bl sub_808D800
|
|
movs r0, 0xA
|
|
bl sub_8026074
|
|
b _0802706E
|
|
.align 2, 0
|
|
_08026FF4: .4byte 0x0000014d
|
|
_08026FF8:
|
|
ldr r0, _08027024
|
|
bl sub_8011988
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x14]
|
|
bl sub_8090A60
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802702C
|
|
ldr r0, _08027028
|
|
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 _0802703E
|
|
.align 2, 0
|
|
_08027024: .4byte 0x0000014d
|
|
_08027028: .4byte gUnknown_203B460
|
|
_0802702C:
|
|
ldr r0, _08027060
|
|
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
|
|
_0802703E:
|
|
strh r0, [r1]
|
|
ldr r1, _08027064
|
|
ldr r0, [r1]
|
|
movs r2, 0
|
|
strb r2, [r0, 0x14]
|
|
ldr r0, [r1]
|
|
strb r2, [r0, 0x15]
|
|
ldr r1, [r1]
|
|
movs r2, 0xA
|
|
ldrsh r0, [r1, r2]
|
|
adds r1, 0x14
|
|
bl sub_808D800
|
|
movs r0, 0xB
|
|
bl sub_8026074
|
|
b _0802706E
|
|
.align 2, 0
|
|
_08027060: .4byte gUnknown_203B460
|
|
_08027064: .4byte gUnknown_203B2B8
|
|
_08027068:
|
|
movs r0, 0x19
|
|
bl sub_8026074
|
|
_0802706E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8026FA4
|
|
|
|
thumb_func_start sub_8027074
|
|
sub_8027074:
|
|
push {r4,lr}
|
|
movs r0, 0
|
|
bl ResetSprites
|
|
ldr r4, _080270A0
|
|
movs r0, 0xF0
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
movs r1, 0
|
|
str r1, [r0, 0x70]
|
|
str r1, [r0, 0x74]
|
|
str r1, [r0, 0x78]
|
|
movs r0, 0
|
|
bl sub_8027184
|
|
movs r0, 0x1
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080270A0: .4byte gUnknown_203B2BC
|
|
thumb_func_end sub_8027074
|
|
|
|
thumb_func_start sub_80270A4
|
|
sub_80270A4:
|
|
push {lr}
|
|
ldr r0, _080270BC
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x11
|
|
bhi _08027156
|
|
lsls r0, 2
|
|
ldr r1, _080270C0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080270BC: .4byte gUnknown_203B2BC
|
|
_080270C0: .4byte _080270C4
|
|
.align 2, 0
|
|
_080270C4:
|
|
.4byte _0802710C
|
|
.4byte _08027114
|
|
.4byte _08027114
|
|
.4byte _0802711A
|
|
.4byte _08027120
|
|
.4byte _08027126
|
|
.4byte _08027156
|
|
.4byte _08027156
|
|
.4byte _0802712C
|
|
.4byte _08027132
|
|
.4byte _08027138
|
|
.4byte _08027138
|
|
.4byte _0802713E
|
|
.4byte _08027144
|
|
.4byte _0802714A
|
|
.4byte _0802714A
|
|
.4byte _08027150
|
|
.4byte _0802715C
|
|
_0802710C:
|
|
movs r0, 0x1
|
|
bl sub_8027184
|
|
b _08027160
|
|
_08027114:
|
|
bl sub_80277FC
|
|
b _08027160
|
|
_0802711A:
|
|
bl sub_80278B4
|
|
b _08027160
|
|
_08027120:
|
|
bl sub_8027A40
|
|
b _08027160
|
|
_08027126:
|
|
bl sub_8027A5C
|
|
b _08027160
|
|
_0802712C:
|
|
bl sub_8027A78
|
|
b _08027160
|
|
_08027132:
|
|
bl sub_8027AE4
|
|
b _08027160
|
|
_08027138:
|
|
bl sub_8027B28
|
|
b _08027160
|
|
_0802713E:
|
|
bl sub_8027BD8
|
|
b _08027160
|
|
_08027144:
|
|
bl sub_8027C84
|
|
b _08027160
|
|
_0802714A:
|
|
bl sub_8027CA0
|
|
b _08027160
|
|
_08027150:
|
|
bl sub_8027D00
|
|
b _08027160
|
|
_08027156:
|
|
bl sub_8027D1C
|
|
b _08027160
|
|
_0802715C:
|
|
movs r0, 0x3
|
|
b _08027162
|
|
_08027160:
|
|
movs r0, 0
|
|
_08027162:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80270A4
|
|
|
|
thumb_func_start sub_8027168
|
|
sub_8027168:
|
|
push {r4,lr}
|
|
ldr r4, _08027180
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0802717A
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802717A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08027180: .4byte gUnknown_203B2BC
|
|
thumb_func_end sub_8027168
|
|
|
|
thumb_func_start sub_8027184
|
|
sub_8027184:
|
|
push {lr}
|
|
ldr r1, _08027198
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_802719C
|
|
bl sub_8027274
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08027198: .4byte gUnknown_203B2BC
|
|
thumb_func_end sub_8027184
|
|
|
|
thumb_func_start sub_802719C
|
|
sub_802719C:
|
|
push {r4-r7,lr}
|
|
ldr r4, _080271C0
|
|
ldr r0, [r4]
|
|
movs r1, 0xC0
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
ldr r0, [r1]
|
|
cmp r0, 0x3
|
|
beq _080271C8
|
|
cmp r0, 0xC
|
|
beq _08027208
|
|
movs r2, 0
|
|
ldr r3, _080271C4
|
|
b _08027234
|
|
.align 2, 0
|
|
_080271C0: .4byte gUnknown_203B2BC
|
|
_080271C4: .4byte gUnknown_80DD6EC
|
|
_080271C8:
|
|
movs r2, 0xE4
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r0, _08027200
|
|
ldm r0!, {r3,r5,r6}
|
|
stm r1!, {r3,r5,r6}
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
bl sub_802745C
|
|
ldr r2, [r4]
|
|
movs r0, 0xD8
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _08027204
|
|
ldm r1!, {r5-r7}
|
|
stm r2!, {r5-r7}
|
|
ldm r1!, {r3,r5,r6}
|
|
stm r2!, {r3,r5,r6}
|
|
ldr r1, [r4]
|
|
adds r0, r1, r0
|
|
movs r7, 0x8E
|
|
lsls r7, 1
|
|
adds r1, r7
|
|
bl sub_8012CAC
|
|
b _08027254
|
|
.align 2, 0
|
|
_08027200: .4byte gUnknown_80DD74C
|
|
_08027204: .4byte gUnknown_80DD704
|
|
_08027208:
|
|
bl sub_80276A8
|
|
ldr r2, [r4]
|
|
movs r0, 0xD8
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _08027230
|
|
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, 0x8E
|
|
lsls r6, 1
|
|
adds r1, r6
|
|
bl sub_8012CAC
|
|
b _08027254
|
|
.align 2, 0
|
|
_08027230: .4byte gUnknown_80DD71C
|
|
_08027234:
|
|
ldr r0, [r4]
|
|
lsls r1, r2, 1
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r7, 0xC0
|
|
lsls r7, 1
|
|
adds r0, r7
|
|
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 _08027234
|
|
_08027254:
|
|
bl sub_8004914
|
|
ldr r0, _08027270
|
|
ldr r0, [r0]
|
|
movs r1, 0xC0
|
|
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
|
|
_08027270: .4byte gUnknown_203B2BC
|
|
thumb_func_end sub_802719C
|
|
|
|
thumb_func_start sub_8027274
|
|
sub_8027274:
|
|
push {r4,lr}
|
|
sub sp, 0x18
|
|
ldr r1, _08027290
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x11
|
|
bls _08027286
|
|
b _0802744A
|
|
_08027286:
|
|
lsls r0, 2
|
|
ldr r1, _08027294
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08027290: .4byte gUnknown_203B2BC
|
|
_08027294: .4byte _08027298
|
|
.align 2, 0
|
|
_08027298:
|
|
.4byte _0802744A
|
|
.4byte _080272E0
|
|
.4byte _080272EE
|
|
.4byte _080272F6
|
|
.4byte _0802731A
|
|
.4byte _08027328
|
|
.4byte _0802741C
|
|
.4byte _08027438
|
|
.4byte _080273B6
|
|
.4byte _080273D0
|
|
.4byte _08027334
|
|
.4byte _08027342
|
|
.4byte _0802734A
|
|
.4byte _08027374
|
|
.4byte _08027386
|
|
.4byte _080273AC
|
|
.4byte _08027404
|
|
.4byte _0802744A
|
|
_080272E0:
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x7
|
|
bl sub_8023868
|
|
b _0802744A
|
|
_080272EE:
|
|
movs r0, 0x1
|
|
bl sub_8023B7C
|
|
b _0802744A
|
|
_080272F6:
|
|
ldr r1, [r4]
|
|
adds r1, 0x14
|
|
movs r0, 0x3
|
|
bl sub_8027D40
|
|
bl sub_8023DA4
|
|
ldr r2, [r4]
|
|
adds r0, r2, 0
|
|
adds r0, 0x7C
|
|
movs r3, 0x8E
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
movs r4, 0xB6
|
|
lsls r4, 1
|
|
adds r3, r2, r4
|
|
ldr r2, [r2, 0x70]
|
|
b _08027362
|
|
_0802731A:
|
|
ldr r0, [r4]
|
|
movs r1, 0x8
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0x2
|
|
bl sub_8024458
|
|
b _0802744A
|
|
_08027328:
|
|
ldr r0, [r4]
|
|
movs r3, 0x8
|
|
ldrsh r0, [r0, r3]
|
|
bl sub_801BEEC
|
|
b _0802744A
|
|
_08027334:
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl sub_801A5D8
|
|
b _0802744A
|
|
_08027342:
|
|
movs r0, 0x1
|
|
bl sub_801A8D0
|
|
b _0802744A
|
|
_0802734A:
|
|
bl sub_801A9E0
|
|
ldr r0, _08027370
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x7C
|
|
movs r4, 0x8E
|
|
lsls r4, 1
|
|
adds r1, r2, r4
|
|
adds r4, 0x50
|
|
adds r3, r2, r4
|
|
ldr r2, [r2, 0x74]
|
|
_08027362:
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8012D60
|
|
b _0802744A
|
|
.align 2, 0
|
|
_08027370: .4byte gUnknown_203B2BC
|
|
_08027374:
|
|
ldr r1, [r4]
|
|
adds r1, 0x10
|
|
add r0, sp, 0x14
|
|
bl sub_8090B64
|
|
add r0, sp, 0x14
|
|
bl sub_801B3C0
|
|
b _0802744A
|
|
_08027386:
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x28
|
|
ldr r1, [r1, 0x18]
|
|
adds r1, 0x2C
|
|
bl sub_809401C
|
|
ldr r2, [r4]
|
|
movs r0, 0x8
|
|
ldrsh r1, [r2, r0]
|
|
adds r2, 0x28
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x3
|
|
movs r3, 0
|
|
bl sub_801EE10
|
|
b _0802744A
|
|
_080273AC:
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
bl sub_801F1B0
|
|
b _0802744A
|
|
_080273B6:
|
|
bl sub_8027794
|
|
ldr r0, _080273C8
|
|
ldr r1, _080273CC
|
|
ldr r3, [r1]
|
|
movs r1, 0x8E
|
|
lsls r1, 1
|
|
adds r3, r1
|
|
b _080273E0
|
|
.align 2, 0
|
|
_080273C8: .4byte gUnknown_80DD764
|
|
_080273CC: .4byte gUnknown_203B2BC
|
|
_080273D0:
|
|
bl sub_8027794
|
|
ldr r0, _080273FC
|
|
ldr r1, _08027400
|
|
ldr r3, [r1]
|
|
movs r4, 0x8E
|
|
lsls r4, 1
|
|
adds r3, r4
|
|
_080273E0:
|
|
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 _0802744A
|
|
.align 2, 0
|
|
_080273FC: .4byte gUnknown_80DD7FC
|
|
_08027400: .4byte gUnknown_203B2BC
|
|
_08027404:
|
|
ldr r2, [r4]
|
|
ldr r0, [r2, 0x20]
|
|
adds r1, r2, 0
|
|
adds r1, 0x28
|
|
adds r2, 0x68
|
|
bl sub_8093560
|
|
ldr r0, [r4]
|
|
adds r0, 0x68
|
|
bl sub_801F808
|
|
b _0802744A
|
|
_0802741C:
|
|
ldr r1, [r4]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _08027430
|
|
ldr r3, _08027434
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _0802744A
|
|
.align 2, 0
|
|
_08027430: .4byte gUnknown_80DD8A0
|
|
_08027434: .4byte 0x00000101
|
|
_08027438:
|
|
ldr r1, [r4]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _08027454
|
|
ldr r3, _08027458
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
_0802744A:
|
|
add sp, 0x18
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08027454: .4byte gUnknown_80DD8D0
|
|
_08027458: .4byte 0x00000101
|
|
thumb_func_end sub_8027274
|
|
|
|
thumb_func_start sub_802745C
|
|
sub_802745C:
|
|
push {r4-r7,lr}
|
|
ldr r3, _080274E4
|
|
ldr r4, _080274E8
|
|
ldr r0, [r4]
|
|
movs r1, 0x8
|
|
ldrsh r2, [r0, r1]
|
|
movs r1, 0x58
|
|
muls r2, r1
|
|
ldr r1, [r3]
|
|
adds r5, r1, r2
|
|
movs r2, 0xB6
|
|
lsls r2, 1
|
|
adds r0, r2
|
|
movs r1, 0
|
|
movs r2, 0x14
|
|
bl MemoryFill16
|
|
ldrh r0, [r5]
|
|
lsrs r0, 1
|
|
movs r6, 0x1
|
|
ands r0, r6
|
|
cmp r0, 0
|
|
beq _080274F4
|
|
ldr r2, [r4]
|
|
movs r3, 0x8E
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
ldr r0, _080274EC
|
|
str r0, [r1]
|
|
movs r0, 0x90
|
|
lsls r0, 1
|
|
adds r1, r2, r0
|
|
movs r0, 0x7
|
|
str r0, [r1]
|
|
adds r0, r5, 0
|
|
bl sub_8027D9C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080274B6
|
|
ldr r0, [r4]
|
|
movs r1, 0xB6
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
strh r6, [r0]
|
|
_080274B6:
|
|
movs r7, 0x1
|
|
movs r0, 0x8
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08027552
|
|
ldrb r0, [r5, 0x2]
|
|
cmp r0, 0
|
|
bne _08027552
|
|
ldr r3, [r4]
|
|
movs r2, 0x8
|
|
movs r4, 0x92
|
|
lsls r4, 1
|
|
adds r1, r3, r4
|
|
ldr r0, _080274F0
|
|
str r0, [r1]
|
|
movs r1, 0x94
|
|
lsls r1, 1
|
|
adds r0, r3, r1
|
|
str r2, [r0]
|
|
b _08027550
|
|
.align 2, 0
|
|
_080274E4: .4byte gUnknown_203B45C
|
|
_080274E8: .4byte gUnknown_203B2BC
|
|
_080274EC: .4byte gUnknown_80DD8F8
|
|
_080274F0: .4byte gUnknown_80DD904
|
|
_080274F4:
|
|
ldr r2, [r4]
|
|
movs r3, 0x8E
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
ldr r0, _08027658
|
|
str r0, [r1]
|
|
movs r0, 0x90
|
|
lsls r0, 1
|
|
adds r1, r2, r0
|
|
movs r0, 0x6
|
|
str r0, [r1]
|
|
movs r1, 0x8
|
|
ldrsh r0, [r2, r1]
|
|
bl sub_808D750
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08027522
|
|
ldr r0, [r4]
|
|
movs r2, 0xB6
|
|
lsls r2, 1
|
|
adds r0, r2
|
|
strh r6, [r0]
|
|
_08027522:
|
|
movs r7, 0x1
|
|
ldr r2, [r4]
|
|
movs r3, 0x92
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
ldr r0, _0802765C
|
|
str r0, [r1]
|
|
movs r0, 0x94
|
|
lsls r0, 1
|
|
adds r1, r2, r0
|
|
movs r0, 0x9
|
|
str r0, [r1]
|
|
adds r0, r5, 0
|
|
bl sub_8027DCC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08027550
|
|
ldr r0, [r4]
|
|
movs r1, 0xB7
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
strh r7, [r0]
|
|
_08027550:
|
|
movs r7, 0x2
|
|
_08027552:
|
|
ldr r4, _08027660
|
|
ldr r2, [r4]
|
|
lsls r3, r7, 3
|
|
movs r6, 0x8E
|
|
lsls r6, 1
|
|
adds r0, r2, r6
|
|
adds r0, r3
|
|
ldr r1, _08027664
|
|
str r1, [r0]
|
|
movs r5, 0x90
|
|
lsls r5, 1
|
|
adds r2, r5
|
|
adds r2, r3
|
|
movs r0, 0xA
|
|
str r0, [r2]
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
bne _08027588
|
|
ldr r0, [r4]
|
|
lsls r1, r7, 1
|
|
movs r2, 0xB6
|
|
lsls r2, 1
|
|
adds r0, r2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_08027588:
|
|
adds r7, 0x1
|
|
ldr r2, [r4]
|
|
lsls r3, r7, 3
|
|
adds r0, r2, r6
|
|
adds r0, r3
|
|
ldr r1, _08027668
|
|
str r1, [r0]
|
|
adds r2, r5
|
|
adds r2, r3
|
|
movs r0, 0xB
|
|
str r0, [r2]
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
bgt _080275AE
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x14]
|
|
cmp r0, 0
|
|
bne _080275BE
|
|
_080275AE:
|
|
ldr r0, [r4]
|
|
lsls r1, r7, 1
|
|
movs r3, 0xB6
|
|
lsls r3, 1
|
|
adds r0, r3
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_080275BE:
|
|
adds r7, 0x1
|
|
ldr r4, _08027660
|
|
ldr r5, [r4]
|
|
lsls r1, r7, 3
|
|
movs r0, 0x8E
|
|
lsls r0, 1
|
|
adds r3, r5, r0
|
|
adds r2, r3, r1
|
|
ldr r0, _0802766C
|
|
str r0, [r2]
|
|
movs r2, 0x90
|
|
lsls r2, 1
|
|
adds r6, r5, r2
|
|
adds r1, r6, r1
|
|
movs r0, 0x4
|
|
str r0, [r1]
|
|
adds r7, 0x1
|
|
lsls r1, r7, 3
|
|
adds r2, r3, r1
|
|
ldr r0, _08027670
|
|
str r0, [r2]
|
|
adds r1, r6, r1
|
|
movs r0, 0xC
|
|
str r0, [r1]
|
|
adds r7, 0x1
|
|
lsls r1, r7, 3
|
|
adds r2, r3, r1
|
|
ldr r0, _08027674
|
|
str r0, [r2]
|
|
adds r1, r6, r1
|
|
movs r0, 0x5
|
|
str r0, [r1]
|
|
adds r7, 0x1
|
|
lsls r1, r7, 3
|
|
adds r3, r1
|
|
movs r0, 0
|
|
str r0, [r3]
|
|
adds r1, r6, r1
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
movs r3, 0
|
|
mov r12, r4
|
|
cmp r3, r7
|
|
bge _08027636
|
|
adds r4, r6, 0
|
|
movs r0, 0xB6
|
|
lsls r0, 1
|
|
adds r2, r5, r0
|
|
_0802761E:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _0802762C
|
|
ldr r1, [r4]
|
|
ldr r0, [r5, 0x70]
|
|
cmp r1, r0
|
|
beq _080276A0
|
|
_0802762C:
|
|
adds r4, 0x8
|
|
adds r2, 0x2
|
|
adds r3, 0x1
|
|
cmp r3, r7
|
|
blt _0802761E
|
|
_08027636:
|
|
movs r3, 0
|
|
cmp r3, r7
|
|
bge _080276A0
|
|
mov r2, r12
|
|
ldr r1, [r2]
|
|
movs r4, 0xB6
|
|
lsls r4, 1
|
|
adds r0, r1, r4
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _08027678
|
|
movs r2, 0x90
|
|
lsls r2, 1
|
|
adds r0, r1, r2
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x70]
|
|
b _080276A0
|
|
.align 2, 0
|
|
_08027658: .4byte gUnknown_80DD910
|
|
_0802765C: .4byte gUnknown_80DD91C
|
|
_08027660: .4byte gUnknown_203B2BC
|
|
_08027664: .4byte gUnknown_80DD92C
|
|
_08027668: .4byte gUnknown_80DD934
|
|
_0802766C: .4byte gUnknown_80DD93C
|
|
_08027670: .4byte gUnknown_80DD944
|
|
_08027674: .4byte gUnknown_80DD94C
|
|
_08027678:
|
|
adds r3, 0x1
|
|
cmp r3, r7
|
|
bge _080276A0
|
|
mov r4, r12
|
|
ldr r2, [r4]
|
|
lsls r0, r3, 1
|
|
movs r4, 0xB6
|
|
lsls r4, 1
|
|
adds r1, r2, r4
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08027678
|
|
lsls r0, r3, 3
|
|
movs r3, 0x90
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x70]
|
|
_080276A0:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802745C
|
|
|
|
thumb_func_start sub_80276A8
|
|
sub_80276A8:
|
|
push {r4-r7,lr}
|
|
ldr r5, _0802775C
|
|
ldr r0, [r5]
|
|
movs r7, 0xB6
|
|
lsls r7, 1
|
|
adds r0, r7
|
|
movs r1, 0
|
|
movs r2, 0x14
|
|
bl MemoryFill16
|
|
ldr r2, [r5]
|
|
movs r0, 0x8E
|
|
lsls r0, 1
|
|
adds r1, r2, r0
|
|
ldr r0, _08027760
|
|
str r0, [r1]
|
|
movs r3, 0x90
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
movs r0, 0xA
|
|
str r0, [r1]
|
|
bl sub_8090A34
|
|
cmp r0, 0
|
|
bne _080276E4
|
|
ldr r0, [r5]
|
|
adds r4, r7, 0
|
|
adds r0, r4
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_080276E4:
|
|
ldr r4, [r5]
|
|
movs r2, 0x1
|
|
movs r0, 0x92
|
|
lsls r0, 1
|
|
adds r1, r4, r0
|
|
ldr r0, _08027764
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r3, 0x94
|
|
lsls r3, 1
|
|
adds r1, r4, r3
|
|
movs r0, 0x4
|
|
str r0, [r1]
|
|
movs r6, 0x2
|
|
movs r0, 0x96
|
|
lsls r0, 1
|
|
adds r1, r4, r0
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
movs r1, 0x98
|
|
lsls r1, 1
|
|
adds r0, r4, r1
|
|
str r2, [r0]
|
|
movs r3, 0
|
|
mov r12, r4
|
|
movs r4, 0x90
|
|
lsls r4, 1
|
|
add r4, r12
|
|
mov r0, r12
|
|
adds r2, r0, r7
|
|
_08027720:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _08027730
|
|
ldr r1, [r4]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x74]
|
|
cmp r1, r0
|
|
beq _0802778E
|
|
_08027730:
|
|
adds r4, 0x8
|
|
adds r2, 0x2
|
|
adds r3, 0x1
|
|
cmp r3, r6
|
|
blt _08027720
|
|
movs r3, 0
|
|
cmp r3, r6
|
|
bge _0802778E
|
|
ldr r1, [r5]
|
|
movs r2, 0xB6
|
|
lsls r2, 1
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _08027768
|
|
movs r3, 0x90
|
|
lsls r3, 1
|
|
adds r0, r1, r3
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x74]
|
|
b _0802778E
|
|
.align 2, 0
|
|
_0802775C: .4byte gUnknown_203B2BC
|
|
_08027760: .4byte gUnknown_80DD92C
|
|
_08027764: .4byte gUnknown_80D4970
|
|
_08027768:
|
|
adds r3, 0x1
|
|
cmp r3, r6
|
|
bge _0802778E
|
|
ldr r2, [r5]
|
|
lsls r0, r3, 1
|
|
movs r4, 0xB6
|
|
lsls r4, 1
|
|
adds r1, r2, r4
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08027768
|
|
lsls r0, r3, 3
|
|
movs r7, 0x90
|
|
lsls r7, 1
|
|
adds r1, r2, r7
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x74]
|
|
_0802778E:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80276A8
|
|
|
|
thumb_func_start sub_8027794
|
|
sub_8027794:
|
|
push {r4,lr}
|
|
ldr r4, _080277F0
|
|
ldr r0, [r4]
|
|
movs r1, 0xB6
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0
|
|
movs r2, 0x14
|
|
bl MemoryFill16
|
|
ldr r4, [r4]
|
|
movs r3, 0
|
|
movs r0, 0x8E
|
|
lsls r0, 1
|
|
adds r1, r4, r0
|
|
ldr r0, _080277F4
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r0, 0x90
|
|
lsls r0, 1
|
|
adds r1, r4, r0
|
|
movs r0, 0x2
|
|
str r0, [r1]
|
|
movs r2, 0x1
|
|
movs r0, 0x92
|
|
lsls r0, 1
|
|
adds r1, r4, r0
|
|
ldr r0, _080277F8
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r0, 0x94
|
|
lsls r0, 1
|
|
adds r1, r4, r0
|
|
movs r0, 0x3
|
|
str r0, [r1]
|
|
movs r1, 0x96
|
|
lsls r1, 1
|
|
adds r0, r4, r1
|
|
str r3, [r0]
|
|
adds r1, 0x4
|
|
adds r0, r4, r1
|
|
str r2, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080277F0: .4byte gUnknown_203B2BC
|
|
_080277F4: .4byte gUnknown_80D4920
|
|
_080277F8: .4byte gUnknown_80D4928
|
|
thumb_func_end sub_8027794
|
|
|
|
thumb_func_start sub_80277FC
|
|
sub_80277FC:
|
|
push {r4,lr}
|
|
movs r0, 0x1
|
|
bl sub_8023A94
|
|
cmp r0, 0x4
|
|
bhi _080278AE
|
|
lsls r0, 2
|
|
ldr r1, _08027814
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08027814: .4byte _08027818
|
|
.align 2, 0
|
|
_08027818:
|
|
.4byte _080278AE
|
|
.4byte _080278AE
|
|
.4byte _080278A4
|
|
.4byte _0802782C
|
|
.4byte _08027868
|
|
_0802782C:
|
|
bl sub_8023B44
|
|
ldr r4, _08027860
|
|
ldr r1, [r4]
|
|
strh r0, [r1, 0x8]
|
|
ldr r3, _08027864
|
|
movs r0, 0x8
|
|
ldrsh r2, [r1, r0]
|
|
movs r0, 0x58
|
|
muls r2, r0
|
|
ldr r0, [r3]
|
|
adds r0, r2
|
|
str r0, [r1, 0x18]
|
|
ldrb r0, [r0, 0x2]
|
|
strb r0, [r1, 0x1C]
|
|
ldr r1, [r4]
|
|
movs r2, 0x8
|
|
ldrsh r0, [r1, r2]
|
|
adds r1, 0x14
|
|
bl sub_808D7DC
|
|
movs r0, 0x3
|
|
bl sub_8027184
|
|
b _080278AE
|
|
.align 2, 0
|
|
_08027860: .4byte gUnknown_203B2BC
|
|
_08027864: .4byte gUnknown_203B45C
|
|
_08027868:
|
|
bl sub_8023B44
|
|
ldr r4, _0802789C
|
|
ldr r1, [r4]
|
|
strh r0, [r1, 0x8]
|
|
ldr r3, _080278A0
|
|
movs r0, 0x8
|
|
ldrsh r2, [r1, r0]
|
|
movs r0, 0x58
|
|
muls r2, r0
|
|
ldr r0, [r3]
|
|
adds r0, r2
|
|
str r0, [r1, 0x18]
|
|
ldrb r0, [r0, 0x2]
|
|
strb r0, [r1, 0x1C]
|
|
ldr r1, [r4]
|
|
movs r2, 0x8
|
|
ldrsh r0, [r1, r2]
|
|
adds r1, 0x14
|
|
bl sub_808D7DC
|
|
movs r0, 0x4
|
|
bl sub_8027184
|
|
b _080278AE
|
|
.align 2, 0
|
|
_0802789C: .4byte gUnknown_203B2BC
|
|
_080278A0: .4byte gUnknown_203B45C
|
|
_080278A4:
|
|
bl sub_8023C60
|
|
movs r0, 0x11
|
|
bl sub_8027184
|
|
_080278AE:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80277FC
|
|
|
|
thumb_func_start sub_80278B4
|
|
sub_80278B4:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_8023A94
|
|
ldr r4, _080278F8
|
|
ldr r0, [r4]
|
|
adds r0, 0x7C
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080278E4
|
|
ldr r0, [r4]
|
|
adds r0, 0x7C
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _080278E4
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x70]
|
|
_080278E4:
|
|
ldr r0, [sp]
|
|
subs r0, 0x1
|
|
cmp r0, 0xB
|
|
bls _080278EE
|
|
b _08027A36
|
|
_080278EE:
|
|
lsls r0, 2
|
|
ldr r1, _080278FC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080278F8: .4byte gUnknown_203B2BC
|
|
_080278FC: .4byte _08027900
|
|
.align 2, 0
|
|
_08027900:
|
|
.4byte _08027A30
|
|
.4byte _08027A36
|
|
.4byte _08027A36
|
|
.4byte _08027A20
|
|
.4byte _08027A28
|
|
.4byte _08027930
|
|
.4byte _0802796C
|
|
.4byte _0802798C
|
|
.4byte _080279C0
|
|
.4byte _080279D0
|
|
.4byte _080279D8
|
|
.4byte _080279C8
|
|
_08027930:
|
|
ldr r4, _08027964
|
|
ldr r0, [r4]
|
|
movs r1, 0x8
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_808D750
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802795E
|
|
ldr r0, [r4]
|
|
movs r2, 0x8
|
|
ldrsh r1, [r0, r2]
|
|
movs r0, 0x58
|
|
muls r1, r0
|
|
ldr r0, _08027968
|
|
ldr r0, [r0]
|
|
adds r1, r0
|
|
ldrh r2, [r1]
|
|
movs r0, 0x2
|
|
orrs r0, r2
|
|
strh r0, [r1]
|
|
bl nullsub_104
|
|
_0802795E:
|
|
bl sub_808ED00
|
|
b _08027A0E
|
|
.align 2, 0
|
|
_08027964: .4byte gUnknown_203B2BC
|
|
_08027968: .4byte gUnknown_203B45C
|
|
_0802796C:
|
|
ldr r0, _08027984
|
|
ldr r0, [r0]
|
|
ldr r2, [r0, 0x18]
|
|
ldrh r1, [r2]
|
|
ldr r0, _08027988
|
|
ands r0, r1
|
|
strh r0, [r2]
|
|
bl nullsub_104
|
|
bl sub_808ED00
|
|
b _08027A0E
|
|
.align 2, 0
|
|
_08027984: .4byte gUnknown_203B2BC
|
|
_08027988: .4byte 0x0000fffd
|
|
_0802798C:
|
|
ldr r2, _080279B8
|
|
ldr r0, _080279BC
|
|
ldr r0, [r0]
|
|
movs r3, 0x8
|
|
ldrsh r1, [r0, r3]
|
|
movs r0, 0x58
|
|
muls r1, r0
|
|
ldr r0, [r2]
|
|
adds r4, r0, r1
|
|
bl sub_808D33C
|
|
ldrb r1, [r4, 0x2]
|
|
cmp r1, 0
|
|
bne _080279B2
|
|
strb r1, [r0, 0x2]
|
|
movs r0, 0x1
|
|
strb r0, [r4, 0x2]
|
|
bl nullsub_104
|
|
_080279B2:
|
|
bl sub_808ED00
|
|
b _08027A0E
|
|
.align 2, 0
|
|
_080279B8: .4byte gUnknown_203B45C
|
|
_080279BC: .4byte gUnknown_203B2BC
|
|
_080279C0:
|
|
movs r0, 0x8
|
|
bl sub_8027184
|
|
b _08027A36
|
|
_080279C8:
|
|
movs r0, 0xE
|
|
bl sub_8027184
|
|
b _08027A36
|
|
_080279D0:
|
|
movs r0, 0xA
|
|
bl sub_8027184
|
|
b _08027A36
|
|
_080279D8:
|
|
ldr r0, _08027A18
|
|
bl sub_8011988
|
|
ldr r4, _08027A1C
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x14]
|
|
cmp r0, 0
|
|
beq _080279F0
|
|
adds r0, r1, 0
|
|
adds r0, 0x14
|
|
bl sub_8091274
|
|
_080279F0:
|
|
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
|
|
bl nullsub_104
|
|
_08027A0E:
|
|
movs r0, 0x2
|
|
bl sub_8027184
|
|
b _08027A36
|
|
.align 2, 0
|
|
_08027A18: .4byte 0x0000014d
|
|
_08027A1C: .4byte gUnknown_203B2BC
|
|
_08027A20:
|
|
movs r0, 0x4
|
|
bl sub_8027184
|
|
b _08027A36
|
|
_08027A28:
|
|
movs r0, 0x5
|
|
bl sub_8027184
|
|
b _08027A36
|
|
_08027A30:
|
|
movs r0, 0x2
|
|
bl sub_8027184
|
|
_08027A36:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80278B4
|
|
|
|
thumb_func_start sub_8027A40
|
|
sub_8027A40:
|
|
push {lr}
|
|
bl sub_80244E4
|
|
cmp r0, 0x1
|
|
bls _08027A58
|
|
cmp r0, 0x3
|
|
bhi _08027A58
|
|
bl sub_802453C
|
|
movs r0, 0x2
|
|
bl sub_8027184
|
|
_08027A58:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8027A40
|
|
|
|
thumb_func_start sub_8027A5C
|
|
sub_8027A5C:
|
|
push {lr}
|
|
bl sub_801BF48
|
|
cmp r0, 0x1
|
|
bls _08027A74
|
|
cmp r0, 0x3
|
|
bhi _08027A74
|
|
bl sub_801BF98
|
|
movs r0, 0x2
|
|
bl sub_8027184
|
|
_08027A74:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8027A5C
|
|
|
|
thumb_func_start sub_8027A78
|
|
sub_8027A78:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08027AD8
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _08027AA2
|
|
cmp r0, 0x2
|
|
bgt _08027A96
|
|
cmp r0, 0x1
|
|
beq _08027A9A
|
|
b _08027AD8
|
|
_08027A96:
|
|
cmp r0, 0x3
|
|
bne _08027AD8
|
|
_08027A9A:
|
|
movs r0, 0x2
|
|
bl sub_8027184
|
|
b _08027AD8
|
|
_08027AA2:
|
|
ldr r0, _08027AB8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x18]
|
|
ldrb r0, [r0, 0x4]
|
|
subs r0, 0x44
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bhi _08027ABC
|
|
movs r0, 0x1
|
|
b _08027ABE
|
|
.align 2, 0
|
|
_08027AB8: .4byte gUnknown_203B2BC
|
|
_08027ABC:
|
|
movs r0, 0
|
|
_08027ABE:
|
|
cmp r0, 0
|
|
beq _08027ACA
|
|
movs r0, 0x9
|
|
bl sub_8027184
|
|
b _08027AD8
|
|
_08027ACA:
|
|
bl sub_8027EB8
|
|
ldr r0, _08027AE0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x18]
|
|
bl sub_808D31C
|
|
_08027AD8:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08027AE0: .4byte gUnknown_203B2BC
|
|
thumb_func_end sub_8027A78
|
|
|
|
thumb_func_start sub_8027AE4
|
|
sub_8027AE4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08027B1C
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _08027B0E
|
|
cmp r0, 0x2
|
|
bgt _08027B02
|
|
cmp r0, 0x1
|
|
beq _08027B06
|
|
b _08027B1C
|
|
_08027B02:
|
|
cmp r0, 0x3
|
|
bne _08027B1C
|
|
_08027B06:
|
|
movs r0, 0x2
|
|
bl sub_8027184
|
|
b _08027B1C
|
|
_08027B0E:
|
|
bl sub_8027EB8
|
|
ldr r0, _08027B24
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x18]
|
|
bl sub_808D31C
|
|
_08027B1C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08027B24: .4byte gUnknown_203B2BC
|
|
thumb_func_end sub_8027AE4
|
|
|
|
thumb_func_start sub_8027B28
|
|
sub_8027B28:
|
|
push {r4,lr}
|
|
movs r0, 0x1
|
|
bl sub_801A6E8
|
|
cmp r0, 0x4
|
|
bhi _08027BD2
|
|
lsls r0, 2
|
|
ldr r1, _08027B40
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08027B40: .4byte _08027B44
|
|
.align 2, 0
|
|
_08027B44:
|
|
.4byte _08027BD2
|
|
.4byte _08027BD2
|
|
.4byte _08027BC8
|
|
.4byte _08027B58
|
|
.4byte _08027B8C
|
|
_08027B58:
|
|
bl sub_801A8AC
|
|
ldr r4, _08027B84
|
|
ldr r2, [r4]
|
|
str r0, [r2, 0xC]
|
|
ldr r3, _08027B88
|
|
ldr r1, [r3]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x2]
|
|
strb r0, [r2, 0x10]
|
|
ldr r2, [r4]
|
|
ldr r1, [r3]
|
|
ldr r0, [r2, 0xC]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x1]
|
|
strb r0, [r2, 0x11]
|
|
movs r0, 0xC
|
|
bl sub_8027184
|
|
b _08027BD2
|
|
.align 2, 0
|
|
_08027B84: .4byte gUnknown_203B2BC
|
|
_08027B88: .4byte gUnknown_203B460
|
|
_08027B8C:
|
|
bl sub_801A8AC
|
|
ldr r4, _08027BC0
|
|
ldr r2, [r4]
|
|
str r0, [r2, 0xC]
|
|
ldr r3, _08027BC4
|
|
ldr r1, [r3]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x2]
|
|
strb r0, [r2, 0x10]
|
|
ldr r2, [r4]
|
|
ldr r1, [r3]
|
|
ldr r0, [r2, 0xC]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x1]
|
|
strb r0, [r2, 0x11]
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0xD
|
|
bl sub_8027184
|
|
b _08027BD2
|
|
.align 2, 0
|
|
_08027BC0: .4byte gUnknown_203B2BC
|
|
_08027BC4: .4byte gUnknown_203B460
|
|
_08027BC8:
|
|
bl sub_801A928
|
|
movs r0, 0x2
|
|
bl sub_8027184
|
|
_08027BD2:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8027B28
|
|
|
|
thumb_func_start sub_8027BD8
|
|
sub_8027BD8:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_801A6E8
|
|
ldr r4, _08027C18
|
|
ldr r0, [r4]
|
|
adds r0, 0x7C
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08027C08
|
|
ldr r0, [r4]
|
|
adds r0, 0x7C
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _08027C08
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x74]
|
|
_08027C08:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x4
|
|
beq _08027C68
|
|
cmp r0, 0x4
|
|
bgt _08027C1C
|
|
cmp r0, 0x1
|
|
beq _08027C76
|
|
b _08027C7C
|
|
.align 2, 0
|
|
_08027C18: .4byte gUnknown_203B2BC
|
|
_08027C1C:
|
|
cmp r0, 0xA
|
|
bne _08027C7C
|
|
ldr r0, _08027C60
|
|
bl sub_8011988
|
|
ldr r4, _08027C64
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0xC]
|
|
bl sub_80911F8
|
|
bl sub_80910B4
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x14]
|
|
cmp r0, 0
|
|
beq _08027C44
|
|
adds r0, r1, 0
|
|
adds r0, 0x14
|
|
bl sub_8091274
|
|
_08027C44:
|
|
ldr r1, [r4]
|
|
movs r2, 0x8
|
|
ldrsh r0, [r1, r2]
|
|
adds r1, 0x10
|
|
bl sub_808D800
|
|
bl sub_801A928
|
|
bl nullsub_104
|
|
movs r0, 0x2
|
|
bl sub_8027184
|
|
b _08027C7C
|
|
.align 2, 0
|
|
_08027C60: .4byte 0x0000014d
|
|
_08027C64: .4byte gUnknown_203B2BC
|
|
_08027C68:
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
movs r0, 0xD
|
|
bl sub_8027184
|
|
b _08027C7C
|
|
_08027C76:
|
|
movs r0, 0xB
|
|
bl sub_8027184
|
|
_08027C7C:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8027BD8
|
|
|
|
thumb_func_start sub_8027C84
|
|
sub_8027C84:
|
|
push {lr}
|
|
bl sub_801B410
|
|
cmp r0, 0x1
|
|
bls _08027C9C
|
|
cmp r0, 0x3
|
|
bhi _08027C9C
|
|
bl sub_801B450
|
|
movs r0, 0xB
|
|
bl sub_8027184
|
|
_08027C9C:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8027C84
|
|
|
|
thumb_func_start sub_8027CA0
|
|
sub_8027CA0:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_801EF38
|
|
cmp r0, 0x4
|
|
bhi _08027CFA
|
|
lsls r0, 2
|
|
ldr r1, _08027CB8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08027CB8: .4byte _08027CBC
|
|
.align 2, 0
|
|
_08027CBC:
|
|
.4byte _08027CFA
|
|
.4byte _08027CFA
|
|
.4byte _08027CF0
|
|
.4byte _08027CD0
|
|
.4byte _08027CD0
|
|
_08027CD0:
|
|
bl sub_801F194
|
|
ldr r1, _08027CEC
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x20]
|
|
lsls r0, 3
|
|
adds r0, r1, r0
|
|
ldrh r0, [r0, 0x2A]
|
|
strh r0, [r1, 0x24]
|
|
movs r0, 0x10
|
|
bl sub_8027184
|
|
b _08027CFA
|
|
.align 2, 0
|
|
_08027CEC: .4byte gUnknown_203B2BC
|
|
_08027CF0:
|
|
bl sub_801F214
|
|
movs r0, 0x2
|
|
bl sub_8027184
|
|
_08027CFA:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8027CA0
|
|
|
|
thumb_func_start sub_8027D00
|
|
sub_8027D00:
|
|
push {lr}
|
|
bl sub_801F890
|
|
cmp r0, 0x1
|
|
bls _08027D18
|
|
cmp r0, 0x3
|
|
bhi _08027D18
|
|
bl sub_801F8D0
|
|
movs r0, 0xF
|
|
bl sub_8027184
|
|
_08027D18:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8027D00
|
|
|
|
thumb_func_start sub_8027D1C
|
|
sub_8027D1C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08027D34
|
|
ldr r0, _08027D3C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
bl sub_8027184
|
|
_08027D34:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08027D3C: .4byte gUnknown_203B2BC
|
|
thumb_func_end sub_8027D1C
|
|
|
|
thumb_func_start sub_8027D40
|
|
sub_8027D40:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x14
|
|
adds r6, r0, 0
|
|
adds r5, r1, 0
|
|
bl sub_8008C54
|
|
adds r0, r6, 0
|
|
bl sub_80073B8
|
|
add r4, sp, 0x10
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_8090B64
|
|
movs r5, 0
|
|
str r5, [sp, 0x4]
|
|
add r0, sp, 0x4
|
|
strb r5, [r0, 0x4]
|
|
adds r1, r0, 0
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x8]
|
|
strb r0, [r4]
|
|
ldr r0, _08027D94
|
|
adds r1, r4, 0
|
|
add r2, sp, 0x4
|
|
bl sub_8090E14
|
|
ldr r2, _08027D98
|
|
str r5, [sp]
|
|
movs r0, 0x4
|
|
movs r1, 0x3
|
|
adds r3, r6, 0
|
|
bl sub_8014FF0
|
|
adds r0, r6, 0
|
|
bl sub_80073E0
|
|
add sp, 0x14
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08027D94: .4byte gUnknown_202DE58
|
|
_08027D98: .4byte gUnknown_80DD958
|
|
thumb_func_end sub_8027D40
|
|
|
|
thumb_func_start sub_8027D9C
|
|
sub_8027D9C:
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
ldrb r0, [r1, 0x2]
|
|
cmp r0, 0
|
|
bne _08027DC0
|
|
movs r2, 0
|
|
ldrb r0, [r1, 0x4]
|
|
cmp r0, 0x41
|
|
bne _08027DB0
|
|
movs r2, 0x1
|
|
_08027DB0:
|
|
cmp r2, 0
|
|
beq _08027DC4
|
|
movs r0, 0x8
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08027DC4
|
|
_08027DC0:
|
|
movs r0, 0
|
|
b _08027DC6
|
|
_08027DC4:
|
|
movs r0, 0x1
|
|
_08027DC6:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8027D9C
|
|
|
|
thumb_func_start sub_8027DCC
|
|
sub_8027DCC:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
bl sub_808D3BC
|
|
cmp r0, r4
|
|
beq _08027E0E
|
|
bl sub_808D3F8
|
|
cmp r0, r4
|
|
beq _08027E0E
|
|
ldrb r0, [r4, 0x2]
|
|
cmp r0, 0
|
|
bne _08027E0E
|
|
movs r1, 0
|
|
ldrb r0, [r4, 0x4]
|
|
cmp r0, 0x41
|
|
bne _08027DF0
|
|
movs r1, 0x1
|
|
_08027DF0:
|
|
cmp r1, 0
|
|
beq _08027E00
|
|
movs r0, 0x8
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08027E0E
|
|
_08027E00:
|
|
adds r0, r4, 0
|
|
bl sub_8027E18
|
|
cmp r0, 0x3
|
|
beq _08027E0E
|
|
movs r0, 0x1
|
|
b _08027E10
|
|
_08027E0E:
|
|
movs r0, 0
|
|
_08027E10:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8027DCC
|
|
|
|
thumb_func_start sub_8027E18
|
|
sub_8027E18:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
adds r0, 0x28
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08027E28
|
|
movs r0, 0
|
|
b _08027E46
|
|
_08027E28:
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
bgt _08027E34
|
|
movs r0, 0x1
|
|
b _08027E46
|
|
_08027E34:
|
|
adds r0, r4, 0
|
|
bl sub_8027E4C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08027E44
|
|
movs r0, 0x3
|
|
b _08027E46
|
|
_08027E44:
|
|
movs r0, 0x2
|
|
_08027E46:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8027E18
|
|
|
|
thumb_func_start sub_8027E4C
|
|
sub_8027E4C:
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
adds r4, r5, 0
|
|
adds r4, 0x28
|
|
ldrb r0, [r4]
|
|
bl sub_8091524
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08027E88
|
|
ldrb r0, [r4]
|
|
bl sub_8090A60
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08027E94
|
|
ldr r0, _08027E8C
|
|
ldr r1, [r0]
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldrh r1, [r1]
|
|
adds r0, r5, 0
|
|
adds r0, 0x29
|
|
ldrb r0, [r0]
|
|
adds r1, r0
|
|
ldr r0, _08027E90
|
|
cmp r1, r0
|
|
ble _08027EA8
|
|
_08027E88:
|
|
movs r0, 0
|
|
b _08027EAA
|
|
.align 2, 0
|
|
_08027E8C: .4byte gUnknown_203B460
|
|
_08027E90: .4byte 0x000003e7
|
|
_08027E94:
|
|
ldr r0, _08027EB0
|
|
ldr r1, [r0]
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldrh r1, [r1]
|
|
ldr r0, _08027EB4
|
|
cmp r1, r0
|
|
bhi _08027E88
|
|
_08027EA8:
|
|
movs r0, 0x1
|
|
_08027EAA:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08027EB0: .4byte gUnknown_203B460
|
|
_08027EB4: .4byte 0x000003e6
|
|
thumb_func_end sub_8027E4C
|
|
|
|
thumb_func_start sub_8027EB8
|
|
sub_8027EB8:
|
|
push {r4,lr}
|
|
ldr r4, _08027ED4
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x18]
|
|
bl sub_8027E18
|
|
cmp r0, 0x1
|
|
beq _08027ED8
|
|
cmp r0, 0x1
|
|
bcc _08027F7C
|
|
cmp r0, 0x2
|
|
beq _08027F0C
|
|
b _08027F7C
|
|
.align 2, 0
|
|
_08027ED4: .4byte gUnknown_203B2BC
|
|
_08027ED8:
|
|
ldr r0, _08027F08
|
|
bl sub_8011988
|
|
ldr r0, [r4]
|
|
adds r0, 0x14
|
|
bl sub_8091274
|
|
bl sub_80910B4
|
|
ldr r0, [r4]
|
|
movs r1, 0
|
|
strb r1, [r0, 0x14]
|
|
ldr r0, [r4]
|
|
strb r1, [r0, 0x15]
|
|
ldr r1, [r4]
|
|
movs r2, 0x8
|
|
ldrsh r0, [r1, r2]
|
|
adds r1, 0x14
|
|
bl sub_808D800
|
|
movs r0, 0x6
|
|
bl sub_8027184
|
|
b _08027F82
|
|
.align 2, 0
|
|
_08027F08: .4byte 0x0000014d
|
|
_08027F0C:
|
|
ldr r0, _08027F38
|
|
bl sub_8011988
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x14]
|
|
bl sub_8090A60
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08027F40
|
|
ldr r0, _08027F3C
|
|
ldr r1, [r0]
|
|
ldr r2, [r4]
|
|
ldrb r0, [r2, 0x14]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
ldrb r2, [r2, 0x15]
|
|
adds r0, r2
|
|
b _08027F52
|
|
.align 2, 0
|
|
_08027F38: .4byte 0x0000014d
|
|
_08027F3C: .4byte gUnknown_203B460
|
|
_08027F40:
|
|
ldr r0, _08027F74
|
|
ldr r1, [r0]
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x14]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
_08027F52:
|
|
strh r0, [r1]
|
|
ldr r1, _08027F78
|
|
ldr r0, [r1]
|
|
movs r2, 0
|
|
strb r2, [r0, 0x14]
|
|
ldr r0, [r1]
|
|
strb r2, [r0, 0x15]
|
|
ldr r1, [r1]
|
|
movs r2, 0x8
|
|
ldrsh r0, [r1, r2]
|
|
adds r1, 0x14
|
|
bl sub_808D800
|
|
movs r0, 0x7
|
|
bl sub_8027184
|
|
b _08027F82
|
|
.align 2, 0
|
|
_08027F74: .4byte gUnknown_203B460
|
|
_08027F78: .4byte gUnknown_203B2BC
|
|
_08027F7C:
|
|
movs r0, 0x2
|
|
bl sub_8027184
|
|
_08027F82:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8027EB8
|
|
|
|
thumb_func_start sub_8027F88
|
|
sub_8027F88:
|
|
push {r4-r6,lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r5, _08028050
|
|
movs r4, 0xA9
|
|
lsls r4, 3
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl MemoryFill8
|
|
ldr r1, [r5]
|
|
ldr r2, _08028054
|
|
adds r0, r1, r2
|
|
movs r6, 0
|
|
str r6, [r0]
|
|
movs r3, 0x86
|
|
lsls r3, 2
|
|
adds r1, r3
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
ldr r0, [r5]
|
|
ldr r1, _08028058
|
|
adds r0, r1
|
|
ldr r1, _0802805C
|
|
strh r1, [r0]
|
|
ldr r0, _08028060
|
|
movs r4, 0x98
|
|
lsls r4, 1
|
|
adds r1, r4, 0
|
|
bl sub_808D8E0
|
|
adds r0, r4, 0
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r0, _08028064
|
|
bl strcpy
|
|
adds r0, r4, 0
|
|
bl sub_808DDD0
|
|
ldr r2, [r5]
|
|
movs r3, 0x84
|
|
lsls r3, 3
|
|
adds r1, r2, r3
|
|
str r0, [r1]
|
|
adds r3, 0x4
|
|
adds r1, r2, r3
|
|
ldr r0, [r0, 0x4]
|
|
str r0, [r1]
|
|
ldr r0, _08028068
|
|
adds r2, r0
|
|
strb r6, [r2]
|
|
ldr r0, [r5]
|
|
ldr r1, _0802806C
|
|
adds r0, r1
|
|
strb r6, [r0]
|
|
ldr r0, [r5]
|
|
ldr r2, _08028070
|
|
adds r0, r2
|
|
strb r6, [r0]
|
|
ldr r1, [r5]
|
|
adds r3, 0x4
|
|
adds r2, r1, r3
|
|
movs r0, 0x2
|
|
strh r0, [r2]
|
|
ldr r0, _08028074
|
|
adds r1, r0
|
|
movs r0, 0x8
|
|
strh r0, [r1]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
adds r1, r5, 0
|
|
_0802802E:
|
|
ldr r0, [r5]
|
|
adds r0, 0x8
|
|
adds r0, r2
|
|
strb r3, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0x35
|
|
ble _0802802E
|
|
ldr r1, [r1]
|
|
movs r0, 0x3D
|
|
str r0, [r1]
|
|
movs r0, 0
|
|
bl sub_8028B04
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08028050: .4byte gUnknown_203B2C0
|
|
_08028054: .4byte 0x0000053c
|
|
_08028058: .4byte 0x00000544
|
|
_0802805C: .4byte 0x0000ffff
|
|
_08028060: .4byte gUnknown_202E5D8
|
|
_08028064: .4byte gUnknown_202DF98
|
|
_08028068: .4byte 0x0000042c
|
|
_0802806C: .4byte 0x0000042d
|
|
_08028070: .4byte 0x0000042e
|
|
_08028074: .4byte 0x0000042a
|
|
thumb_func_end sub_8027F88
|
|
|
|
thumb_func_start sub_8028078
|
|
sub_8028078:
|
|
push {lr}
|
|
ldr r0, _08028090
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
cmp r0, 0x3C
|
|
bls _08028086
|
|
b _080282D4
|
|
_08028086:
|
|
lsls r0, 2
|
|
ldr r1, _08028094
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08028090: .4byte gUnknown_203B2C0
|
|
_08028094: .4byte _08028098
|
|
.align 2, 0
|
|
_08028098:
|
|
.4byte _080282C4
|
|
.4byte _080282C4
|
|
.4byte _080282CA
|
|
.4byte _080282D0
|
|
.4byte _08028222
|
|
.4byte _08028234
|
|
.4byte _08028228
|
|
.4byte _0802822E
|
|
.4byte _0802823A
|
|
.4byte _080281FE
|
|
.4byte _08028272
|
|
.4byte _08028278
|
|
.4byte _0802828C
|
|
.4byte _0802827E
|
|
.4byte _0802828C
|
|
.4byte _0802827E
|
|
.4byte _0802828C
|
|
.4byte _08028286
|
|
.4byte _08028294
|
|
.4byte _0802829A
|
|
.4byte _080282B2
|
|
.4byte _080282B8
|
|
.4byte _080282BE
|
|
.4byte _080282A0
|
|
.4byte _080282A6
|
|
.4byte _080282AC
|
|
.4byte _08028240
|
|
.4byte _08028248
|
|
.4byte _0802824E
|
|
.4byte _0802824E
|
|
.4byte _0802825A
|
|
.4byte _0802826C
|
|
.4byte _08028260
|
|
.4byte _08028266
|
|
.4byte _08028254
|
|
.4byte _08028204
|
|
.4byte _0802820A
|
|
.4byte _080282CA
|
|
.4byte _08028210
|
|
.4byte _08028216
|
|
.4byte _0802821C
|
|
.4byte _080281E0
|
|
.4byte _080281F2
|
|
.4byte _080281E6
|
|
.4byte _080281EC
|
|
.4byte _080281DA
|
|
.4byte _080281D4
|
|
.4byte _080281F8
|
|
.4byte _080281CE
|
|
.4byte _080281C2
|
|
.4byte _080281AA
|
|
.4byte _080281B0
|
|
.4byte _080281B6
|
|
.4byte _080281BC
|
|
.4byte _080281C8
|
|
.4byte _080281A4
|
|
.4byte _0802819E
|
|
.4byte _080282CA
|
|
.4byte _08028192
|
|
.4byte _08028198
|
|
.4byte _0802818C
|
|
_0802818C:
|
|
bl sub_8029B34
|
|
b _080282D4
|
|
_08028192:
|
|
bl sub_8029AD8
|
|
b _080282D4
|
|
_08028198:
|
|
bl sub_8029AF4
|
|
b _080282D4
|
|
_0802819E:
|
|
bl sub_8029A88
|
|
b _080282D4
|
|
_080281A4:
|
|
bl sub_8029AB0
|
|
b _080282D4
|
|
_080281AA:
|
|
bl sub_80297B8
|
|
b _080282D4
|
|
_080281B0:
|
|
bl sub_80297D4
|
|
b _080282D4
|
|
_080281B6:
|
|
bl sub_8029884
|
|
b _080282D4
|
|
_080281BC:
|
|
bl sub_8029944
|
|
b _080282D4
|
|
_080281C2:
|
|
bl sub_80299AC
|
|
b _080282D4
|
|
_080281C8:
|
|
bl sub_80299D8
|
|
b _080282D4
|
|
_080281CE:
|
|
bl sub_8029A6C
|
|
b _080282D4
|
|
_080281D4:
|
|
bl sub_8029A18
|
|
b _080282D4
|
|
_080281DA:
|
|
bl sub_80295A8
|
|
b _080282D4
|
|
_080281E0:
|
|
bl sub_8029668
|
|
b _080282D4
|
|
_080281E6:
|
|
bl sub_8029684
|
|
b _080282D4
|
|
_080281EC:
|
|
bl sub_8029740
|
|
b _080282D4
|
|
_080281F2:
|
|
bl sub_80295D8
|
|
b _080282D4
|
|
_080281F8:
|
|
bl sub_802979C
|
|
b _080282D4
|
|
_080281FE:
|
|
bl sub_8029358
|
|
b _080282D4
|
|
_08028204:
|
|
bl sub_8029374
|
|
b _080282D4
|
|
_0802820A:
|
|
bl sub_802939C
|
|
b _080282D4
|
|
_08028210:
|
|
bl sub_80293D8
|
|
b _080282D4
|
|
_08028216:
|
|
bl sub_80293F4
|
|
b _080282D4
|
|
_0802821C:
|
|
bl sub_802955C
|
|
b _080282D4
|
|
_08028222:
|
|
bl sub_80292A4
|
|
b _080282D4
|
|
_08028228:
|
|
bl sub_80292EC
|
|
b _080282D4
|
|
_0802822E:
|
|
bl sub_802933C
|
|
b _080282D4
|
|
_08028234:
|
|
bl sub_802958C
|
|
b _080282D4
|
|
_0802823A:
|
|
bl sub_8029208
|
|
b _080282D4
|
|
_08028240:
|
|
movs r0, 0x1
|
|
bl sub_8028DE8
|
|
b _080282D4
|
|
_08028248:
|
|
bl sub_8028F80
|
|
b _080282D4
|
|
_0802824E:
|
|
bl sub_8028FC0
|
|
b _080282D4
|
|
_08028254:
|
|
bl sub_8028FDC
|
|
b _080282D4
|
|
_0802825A:
|
|
bl sub_80290D4
|
|
b _080282D4
|
|
_08028260:
|
|
bl sub_80290F0
|
|
b _080282D4
|
|
_08028266:
|
|
bl sub_80291AC
|
|
b _080282D4
|
|
_0802826C:
|
|
bl sub_8029044
|
|
b _080282D4
|
|
_08028272:
|
|
bl sub_8028CFC
|
|
b _080282D4
|
|
_08028278:
|
|
bl sub_8028D4C
|
|
b _080282D4
|
|
_0802827E:
|
|
movs r0, 0xA
|
|
bl sub_8028DE8
|
|
b _080282D4
|
|
_08028286:
|
|
bl sub_8028E08
|
|
b _080282D4
|
|
_0802828C:
|
|
movs r0, 0x19
|
|
bl sub_8028DE8
|
|
b _080282D4
|
|
_08028294:
|
|
bl sub_8028E24
|
|
b _080282D4
|
|
_0802829A:
|
|
bl sub_8028E54
|
|
b _080282D4
|
|
_080282A0:
|
|
bl sub_8028E84
|
|
b _080282D4
|
|
_080282A6:
|
|
bl sub_8028EAC
|
|
b _080282D4
|
|
_080282AC:
|
|
bl sub_8028ED4
|
|
b _080282D4
|
|
_080282B2:
|
|
bl sub_8028F04
|
|
b _080282D4
|
|
_080282B8:
|
|
bl sub_8028F30
|
|
b _080282D4
|
|
_080282BE:
|
|
bl sub_8028F58
|
|
b _080282D4
|
|
_080282C4:
|
|
bl sub_8028BF0
|
|
b _080282D4
|
|
_080282CA:
|
|
bl sub_8028CE0
|
|
b _080282D4
|
|
_080282D0:
|
|
movs r0, 0x3
|
|
b _080282D6
|
|
_080282D4:
|
|
movs r0, 0
|
|
_080282D6:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8028078
|
|
|
|
thumb_func_start sub_80282DC
|
|
sub_80282DC:
|
|
ldr r1, _080282F4
|
|
ldr r1, [r1]
|
|
movs r3, 0x86
|
|
lsls r3, 2
|
|
adds r2, r1, r3
|
|
ldrb r2, [r2]
|
|
strb r2, [r0]
|
|
ldr r0, _080282F8
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080282F4: .4byte gUnknown_203B2C0
|
|
_080282F8: .4byte 0x0000053c
|
|
thumb_func_end sub_80282DC
|
|
|
|
thumb_func_start sub_80282FC
|
|
sub_80282FC:
|
|
push {r4,lr}
|
|
ldr r4, _08028340
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _08028338
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bl CloseFile
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
bl sub_8031E10
|
|
bl sub_8023C60
|
|
bl sub_803084C
|
|
bl sub_80155F0
|
|
bl sub_80310B4
|
|
bl sub_8030DE4
|
|
bl sub_802453C
|
|
_08028338:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08028340: .4byte gUnknown_203B2C0
|
|
thumb_func_end sub_80282FC
|
|
|
|
thumb_func_start nullsub_130
|
|
nullsub_130:
|
|
bx lr
|
|
thumb_func_end nullsub_130
|
|
|
|
thumb_func_start sub_8028348
|
|
sub_8028348:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x14
|
|
ldr r1, _08028368
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x4]
|
|
adds r6, r1, 0
|
|
cmp r0, 0x3C
|
|
bls _0802835C
|
|
bl _08028AF2
|
|
_0802835C:
|
|
lsls r0, 2
|
|
ldr r1, _0802836C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08028368: .4byte gUnknown_203B2C0
|
|
_0802836C: .4byte _08028370
|
|
.align 2, 0
|
|
_08028370:
|
|
.4byte _08028A84
|
|
.4byte _08028AB4
|
|
.4byte _08028AE0
|
|
.4byte _08028AF2
|
|
.4byte _08028650
|
|
.4byte _08028660
|
|
.4byte _08028678
|
|
.4byte _08028AF2
|
|
.4byte _08028802
|
|
.4byte _08028640
|
|
.4byte _0802890C
|
|
.4byte _08028948
|
|
.4byte _08028988
|
|
.4byte _08028978
|
|
.4byte _080289A0
|
|
.4byte _08028990
|
|
.4byte _080289B8
|
|
.4byte _080289B0
|
|
.4byte _080289C8
|
|
.4byte _080289E8
|
|
.4byte _08028A48
|
|
.4byte _08028A58
|
|
.4byte _08028A68
|
|
.4byte _080289F8
|
|
.4byte _08028A08
|
|
.4byte _08028A18
|
|
.4byte _08028850
|
|
.4byte _08028860
|
|
.4byte _08028868
|
|
.4byte _08028878
|
|
.4byte _08028890
|
|
.4byte _080288A0
|
|
.4byte _080288C6
|
|
.4byte _08028AF2
|
|
.4byte _08028888
|
|
.4byte _08028790
|
|
.4byte _08028AF2
|
|
.4byte _080287C4
|
|
.4byte _080287D4
|
|
.4byte _080287DC
|
|
.4byte _08028AF2
|
|
.4byte _080285CC
|
|
.4byte _080285DC
|
|
.4byte _080288C6
|
|
.4byte _08028AF2
|
|
.4byte _080285AC
|
|
.4byte _08028610
|
|
.4byte _080285F8
|
|
.4byte _08028600
|
|
.4byte _0802856C
|
|
.4byte _080284F4
|
|
.4byte _0802850C
|
|
.4byte _08028532
|
|
.4byte _08028AF2
|
|
.4byte _0802859C
|
|
.4byte _080284B8
|
|
.4byte _080284A8
|
|
.4byte _080284EC
|
|
.4byte _080284A0
|
|
.4byte _08028464
|
|
.4byte _08028490
|
|
_08028464:
|
|
ldr r0, [r6]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r6]
|
|
movs r2, 0x86
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_8031D70
|
|
b _08028AF2
|
|
_08028490:
|
|
ldr r0, _0802849C
|
|
ldr r2, [r6]
|
|
movs r3, 0x84
|
|
lsls r3, 3
|
|
adds r2, r3
|
|
b _08028A72
|
|
.align 2, 0
|
|
_0802849C: .4byte gUnknown_80DDBA8
|
|
_080284A0:
|
|
ldr r0, _080284A4
|
|
b _08028A6A
|
|
.align 2, 0
|
|
_080284A4: .4byte gUnknown_80DDBFC
|
|
_080284A8:
|
|
ldr r0, _080284B4
|
|
ldr r2, [r6]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
b _08028A72
|
|
.align 2, 0
|
|
_080284B4: .4byte gUnknown_80DDC30
|
|
_080284B8:
|
|
ldr r0, [r6]
|
|
ldr r2, _080284D0
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
cmp r0, 0xE
|
|
bne _080284C6
|
|
b _08028AF2
|
|
_080284C6:
|
|
cmp r0, 0xE
|
|
bhi _080284D4
|
|
cmp r0, 0xD
|
|
beq _080284DA
|
|
b _08028AF2
|
|
.align 2, 0
|
|
_080284D0: .4byte 0x00000534
|
|
_080284D4:
|
|
cmp r0, 0x10
|
|
bls _080284DA
|
|
b _08028AF2
|
|
_080284DA:
|
|
ldr r0, _080284E8
|
|
ldr r2, [r6]
|
|
movs r3, 0x84
|
|
lsls r3, 3
|
|
adds r2, r3
|
|
b _08028A72
|
|
.align 2, 0
|
|
_080284E8: .4byte gUnknown_80DDC70
|
|
_080284EC:
|
|
ldr r0, _080284F0
|
|
b _08028A6A
|
|
.align 2, 0
|
|
_080284F0: .4byte gUnknown_80DDC30
|
|
_080284F4:
|
|
ldr r0, _08028504
|
|
ldr r3, _08028508
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _08028AF2
|
|
.align 2, 0
|
|
_08028504: .4byte gUnknown_80DDCBC
|
|
_08028508: .4byte 0x00000101
|
|
_0802850C:
|
|
bl sub_8023CE8
|
|
cmp r0, 0
|
|
beq _08028516
|
|
b _08028AF2
|
|
_08028516:
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x9
|
|
bl sub_8023868
|
|
b _08028AF2
|
|
_08028532:
|
|
ldr r0, [r6]
|
|
movs r4, 0xD7
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
bl sub_8006518
|
|
ldr r1, [r6]
|
|
movs r5, 0x87
|
|
lsls r5, 2
|
|
adds r0, r1, r5
|
|
adds r1, r4
|
|
ldr r3, _08028564
|
|
ldr r2, _08028568
|
|
str r2, [sp]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
movs r2, 0x3
|
|
bl SetMenuItems
|
|
bl sub_8023DA4
|
|
b _080288F6
|
|
.align 2, 0
|
|
_08028564: .4byte gUnknown_80DDAE4
|
|
_08028568: .4byte gUnknown_80DDAFC
|
|
_0802856C:
|
|
ldr r0, _08028594
|
|
ldr r3, _08028598
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
ldr r1, [r6]
|
|
movs r2, 0x84
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0xA
|
|
bl sub_8014248
|
|
b _08028AF2
|
|
.align 2, 0
|
|
_08028594: .4byte gUnknown_80DDD2C
|
|
_08028598: .4byte gUnknown_80DDAA0
|
|
_0802859C:
|
|
ldr r0, _080285A4
|
|
ldr r3, _080285A8
|
|
b _08028A1C
|
|
.align 2, 0
|
|
_080285A4: .4byte gUnknown_80DDD88
|
|
_080285A8: .4byte gUnknown_80DDA80
|
|
_080285AC:
|
|
ldr r0, _080285C4
|
|
ldr r3, _080285C8
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
ldr r1, [r6]
|
|
movs r2, 0x84
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
b _08028A2E
|
|
.align 2, 0
|
|
_080285C4: .4byte gUnknown_80DDDBC
|
|
_080285C8: .4byte gUnknown_80DDA64
|
|
_080285CC:
|
|
ldr r0, _080285D8
|
|
ldr r2, [r6]
|
|
movs r3, 0x84
|
|
lsls r3, 3
|
|
adds r2, r3
|
|
b _08028A72
|
|
.align 2, 0
|
|
_080285D8: .4byte gUnknown_80DDDD8
|
|
_080285DC:
|
|
bl sub_8030894
|
|
cmp r0, 0
|
|
beq _080285E6
|
|
b _08028AF2
|
|
_080285E6:
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x4
|
|
b _080288BA
|
|
_080285F8:
|
|
ldr r0, _080285FC
|
|
b _08028A6A
|
|
.align 2, 0
|
|
_080285FC: .4byte gUnknown_80DDE20
|
|
_08028600:
|
|
ldr r0, _0802860C
|
|
ldr r2, [r6]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
b _08028A72
|
|
.align 2, 0
|
|
_0802860C: .4byte gUnknown_80DDE58
|
|
_08028610:
|
|
ldr r0, _08028638
|
|
ldr r3, _0802863C
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
ldr r1, [r6]
|
|
movs r2, 0x84
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x11
|
|
bl sub_8014248
|
|
b _08028AF2
|
|
.align 2, 0
|
|
_08028638: .4byte gUnknown_80DDEC0
|
|
_0802863C: .4byte gUnknown_80DDB60
|
|
_08028640:
|
|
ldr r0, _0802864C
|
|
ldr r2, [r6]
|
|
movs r3, 0x84
|
|
lsls r3, 3
|
|
adds r2, r3
|
|
b _08028A72
|
|
.align 2, 0
|
|
_0802864C: .4byte gUnknown_80DDF2C
|
|
_08028650:
|
|
ldr r0, _08028658
|
|
ldr r3, _0802865C
|
|
b _08028A1C
|
|
.align 2, 0
|
|
_08028658: .4byte gUnknown_80DDFB8
|
|
_0802865C: .4byte gUnknown_80DDA48
|
|
_08028660:
|
|
movs r0, 0
|
|
bl nullsub_23
|
|
ldr r0, _08028674
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_80141B4
|
|
b _08028AF2
|
|
.align 2, 0
|
|
_08028674: .4byte gUnknown_80DE01C
|
|
_08028678:
|
|
ldr r1, [r6]
|
|
movs r0, 0
|
|
str r0, [r1, 0x44]
|
|
bl sub_8011830
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x40]
|
|
bl sub_8037B28
|
|
adds r4, r0, 0
|
|
ldr r0, [r6]
|
|
str r4, [r0, 0x44]
|
|
cmp r4, 0
|
|
bne _0802878A
|
|
ldr r1, [r0, 0x40]
|
|
cmp r1, 0x3
|
|
beq _080286A0
|
|
cmp r1, 0x4
|
|
beq _080286C2
|
|
b _08028748
|
|
_080286A0:
|
|
adds r0, 0x48
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
adds r0, 0x78
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r2, [r6]
|
|
ldr r0, [r2, 0x40]
|
|
adds r1, r2, 0
|
|
adds r1, 0x48
|
|
adds r2, 0x78
|
|
b _08028740
|
|
_080286C2:
|
|
adds r0, 0xA8
|
|
movs r1, 0
|
|
movs r2, 0x88
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r5, 0x98
|
|
lsls r5, 1
|
|
adds r0, r5
|
|
movs r1, 0
|
|
movs r2, 0x88
|
|
bl MemoryFill8
|
|
ldr r1, [r6]
|
|
adds r0, r1, 0
|
|
adds r0, 0xE0
|
|
strh r4, [r0]
|
|
movs r2, 0xB4
|
|
lsls r2, 1
|
|
adds r0, r1, r2
|
|
strh r4, [r0]
|
|
movs r3, 0x86
|
|
lsls r3, 2
|
|
adds r0, r1, r3
|
|
ldrb r0, [r0]
|
|
bl sub_8095228
|
|
ldr r1, [r6]
|
|
adds r1, 0xA8
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r2, [r6]
|
|
ldr r4, _08028760
|
|
adds r3, r2, r4
|
|
movs r0, 0
|
|
ldrsh r1, [r3, r0]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _08028736
|
|
adds r0, r2, 0
|
|
adds r0, 0xD8
|
|
ldr r1, _08028764
|
|
ldr r1, [r1]
|
|
movs r2, 0
|
|
ldrsh r3, [r3, r2]
|
|
movs r2, 0x58
|
|
muls r2, r3
|
|
adds r1, r2
|
|
movs r2, 0x58
|
|
bl memcpy
|
|
_08028736:
|
|
ldr r2, [r6]
|
|
ldr r0, [r2, 0x40]
|
|
adds r1, r2, 0
|
|
adds r1, 0xA8
|
|
adds r2, r5
|
|
_08028740:
|
|
bl sub_8037D64
|
|
ldr r1, [r6]
|
|
str r0, [r1, 0x44]
|
|
_08028748:
|
|
ldr r4, _08028768
|
|
ldr r2, [r4]
|
|
ldr r0, [r2, 0x44]
|
|
cmp r0, 0
|
|
bne _0802878A
|
|
ldr r0, [r2, 0x40]
|
|
cmp r0, 0x3
|
|
beq _0802876C
|
|
cmp r0, 0x4
|
|
beq _08028776
|
|
b _0802878A
|
|
.align 2, 0
|
|
_08028760: .4byte 0x00000544
|
|
_08028764: .4byte gUnknown_203B45C
|
|
_08028768: .4byte gUnknown_203B2C0
|
|
_0802876C:
|
|
adds r1, r2, 0
|
|
adds r1, 0x48
|
|
adds r2, 0x78
|
|
movs r0, 0x3
|
|
b _08028782
|
|
_08028776:
|
|
adds r1, r2, 0
|
|
adds r1, 0xA8
|
|
movs r3, 0x98
|
|
lsls r3, 1
|
|
adds r2, r3
|
|
movs r0, 0x4
|
|
_08028782:
|
|
bl sub_80381F4
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x44]
|
|
_0802878A:
|
|
bl sub_8011854
|
|
b _08028AF2
|
|
_08028790:
|
|
ldr r0, [r6]
|
|
ldr r4, _080287A8
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
cmp r0, 0xE
|
|
bne _0802879E
|
|
b _08028AF2
|
|
_0802879E:
|
|
cmp r0, 0xE
|
|
bhi _080287AC
|
|
cmp r0, 0xD
|
|
beq _080287B2
|
|
b _08028AF2
|
|
.align 2, 0
|
|
_080287A8: .4byte 0x00000534
|
|
_080287AC:
|
|
cmp r0, 0x10
|
|
bls _080287B2
|
|
b _08028AF2
|
|
_080287B2:
|
|
ldr r0, _080287C0
|
|
ldr r2, [r6]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
b _08028A72
|
|
.align 2, 0
|
|
_080287C0: .4byte gUnknown_80DE06C
|
|
_080287C4:
|
|
ldr r0, _080287D0
|
|
ldr r2, [r6]
|
|
movs r3, 0x84
|
|
lsls r3, 3
|
|
adds r2, r3
|
|
b _08028A72
|
|
.align 2, 0
|
|
_080287D0: .4byte gUnknown_80DE0C0
|
|
_080287D4:
|
|
ldr r0, _080287D8
|
|
b _08028A6A
|
|
.align 2, 0
|
|
_080287D8: .4byte gUnknown_80DE124
|
|
_080287DC:
|
|
ldr r0, [r6]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r1, [r6]
|
|
adds r1, 0x8
|
|
movs r0, 0x4
|
|
bl sub_80151C0
|
|
b _08028AF2
|
|
_08028802:
|
|
ldr r4, [r6]
|
|
movs r2, 0xA7
|
|
lsls r2, 3
|
|
adds r0, r4, r2
|
|
ldr r2, [r0]
|
|
cmp r2, 0
|
|
beq _08028816
|
|
cmp r2, 0x2
|
|
beq _08028824
|
|
b _08028AF2
|
|
_08028816:
|
|
ldr r0, _0802881C
|
|
ldr r3, _08028820
|
|
b _0802882A
|
|
.align 2, 0
|
|
_0802881C: .4byte gUnknown_80DE178
|
|
_08028820: .4byte gUnknown_80DDB24
|
|
_08028824:
|
|
ldr r0, _08028848
|
|
ldr r3, _0802884C
|
|
movs r2, 0
|
|
_0802882A:
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
movs r2, 0x84
|
|
lsls r2, 3
|
|
adds r1, r4, r2
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0xD
|
|
bl sub_8014248
|
|
b _08028AF2
|
|
.align 2, 0
|
|
_08028848: .4byte gUnknown_80DE1B4
|
|
_0802884C: .4byte gUnknown_80DDB24
|
|
_08028850:
|
|
ldr r0, _0802885C
|
|
ldr r2, [r6]
|
|
movs r3, 0x84
|
|
lsls r3, 3
|
|
adds r2, r3
|
|
b _08028A72
|
|
.align 2, 0
|
|
_0802885C: .4byte gUnknown_80DE1E4
|
|
_08028860:
|
|
ldr r0, _08028864
|
|
b _08028A6A
|
|
.align 2, 0
|
|
_08028864: .4byte gUnknown_80DE280
|
|
_08028868:
|
|
ldr r0, _08028874
|
|
ldr r2, [r6]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
b _08028A72
|
|
.align 2, 0
|
|
_08028874: .4byte gUnknown_80DE2B0
|
|
_08028878:
|
|
ldr r0, _08028884
|
|
ldr r2, [r6]
|
|
movs r3, 0x84
|
|
lsls r3, 3
|
|
adds r2, r3
|
|
b _08028A72
|
|
.align 2, 0
|
|
_08028884: .4byte gUnknown_80DE368
|
|
_08028888:
|
|
ldr r0, _0802888C
|
|
b _08028A1A
|
|
.align 2, 0
|
|
_0802888C: .4byte gUnknown_80DDDBC
|
|
_08028890:
|
|
ldr r0, _0802889C
|
|
ldr r2, [r6]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
b _08028A72
|
|
.align 2, 0
|
|
_0802889C: .4byte gUnknown_80DE430
|
|
_080288A0:
|
|
bl sub_8030894
|
|
cmp r0, 0
|
|
beq _080288AA
|
|
b _08028AF2
|
|
_080288AA:
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x2
|
|
_080288BA:
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x6
|
|
bl sub_80306A8
|
|
b _08028AF2
|
|
_080288C6:
|
|
ldr r0, [r6]
|
|
movs r4, 0xD7
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
bl sub_8006518
|
|
ldr r1, [r6]
|
|
movs r5, 0x87
|
|
lsls r5, 2
|
|
adds r0, r1, r5
|
|
adds r1, r4
|
|
ldr r3, _08028904
|
|
ldr r2, _08028908
|
|
str r2, [sp]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
movs r2, 0x3
|
|
bl SetMenuItems
|
|
bl sub_803092C
|
|
_080288F6:
|
|
ldr r0, [r6]
|
|
adds r0, r5
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
b _08028AF2
|
|
.align 2, 0
|
|
_08028904: .4byte gUnknown_80DDACC
|
|
_08028908: .4byte gUnknown_80DDAFC
|
|
_0802890C:
|
|
bl sub_8095350
|
|
ldr r1, _0802893C
|
|
ldr r1, [r1]
|
|
movs r3, 0xA8
|
|
lsls r3, 3
|
|
adds r2, r1, r3
|
|
str r0, [r2]
|
|
movs r4, 0xA7
|
|
lsls r4, 3
|
|
adds r1, r4
|
|
ldr r1, [r1]
|
|
cmp r1, 0x6
|
|
beq _08028940
|
|
cmp r1, 0x6
|
|
bls _0802892E
|
|
b _08028AF2
|
|
_0802892E:
|
|
cmp r1, 0x5
|
|
beq _08028934
|
|
b _08028AF2
|
|
_08028934:
|
|
movs r0, 0x2
|
|
bl sub_8030F58
|
|
b _08028AF2
|
|
.align 2, 0
|
|
_0802893C: .4byte gUnknown_203B2C0
|
|
_08028940:
|
|
movs r0, 0x4
|
|
bl sub_8030F58
|
|
b _08028AF2
|
|
_08028948:
|
|
ldr r0, _08028970
|
|
ldr r3, _08028974
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
ldr r1, [r6]
|
|
movs r2, 0x84
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x5
|
|
bl sub_8014248
|
|
b _08028AF2
|
|
.align 2, 0
|
|
_08028970: .4byte gUnknown_80DE48C
|
|
_08028974: .4byte gUnknown_80DD9EC
|
|
_08028978:
|
|
ldr r0, _08028984
|
|
ldr r2, [r6]
|
|
movs r3, 0x84
|
|
lsls r3, 3
|
|
adds r2, r3
|
|
b _08028A72
|
|
.align 2, 0
|
|
_08028984: .4byte gUnknown_80DE4B8
|
|
_08028988:
|
|
ldr r0, _0802898C
|
|
b _08028A6A
|
|
.align 2, 0
|
|
_0802898C: .4byte gUnknown_80DE4F0
|
|
_08028990:
|
|
ldr r0, _0802899C
|
|
ldr r2, [r6]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
b _08028A72
|
|
.align 2, 0
|
|
_0802899C: .4byte gUnknown_80DE524
|
|
_080289A0:
|
|
ldr r0, _080289AC
|
|
ldr r2, [r6]
|
|
movs r3, 0x84
|
|
lsls r3, 3
|
|
adds r2, r3
|
|
b _08028A72
|
|
.align 2, 0
|
|
_080289AC: .4byte gUnknown_80DE614
|
|
_080289B0:
|
|
ldr r0, _080289B4
|
|
b _08028A6A
|
|
.align 2, 0
|
|
_080289B4: .4byte gUnknown_80DE648
|
|
_080289B8:
|
|
ldr r0, _080289C4
|
|
ldr r2, [r6]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
b _08028A72
|
|
.align 2, 0
|
|
_080289C4: .4byte gUnknown_80DE694
|
|
_080289C8:
|
|
ldr r0, _080289E0
|
|
ldr r3, _080289E4
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
ldr r1, [r6]
|
|
movs r2, 0x84
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
b _08028A2E
|
|
.align 2, 0
|
|
_080289E0: .4byte gUnknown_80DE6D4
|
|
_080289E4: .4byte gUnknown_80DDA48
|
|
_080289E8:
|
|
ldr r0, _080289F0
|
|
ldr r3, _080289F4
|
|
b _08028A1C
|
|
.align 2, 0
|
|
_080289F0: .4byte gUnknown_80DE754
|
|
_080289F4: .4byte gUnknown_80DDA48
|
|
_080289F8:
|
|
ldr r0, _08028A04
|
|
ldr r2, [r6]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
b _08028A72
|
|
.align 2, 0
|
|
_08028A04: .4byte gUnknown_80DE7B8
|
|
_08028A08:
|
|
ldr r0, _08028A14
|
|
ldr r2, [r6]
|
|
movs r3, 0x84
|
|
lsls r3, 3
|
|
adds r2, r3
|
|
b _08028A72
|
|
.align 2, 0
|
|
_08028A14: .4byte gUnknown_80DE7E8
|
|
_08028A18:
|
|
ldr r0, _08028A40
|
|
_08028A1A:
|
|
ldr r3, _08028A44
|
|
_08028A1C:
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
ldr r1, [r6]
|
|
movs r4, 0x84
|
|
lsls r4, 3
|
|
adds r1, r4
|
|
_08028A2E:
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl sub_8014248
|
|
b _08028AF2
|
|
.align 2, 0
|
|
_08028A40: .4byte gUnknown_80DE808
|
|
_08028A44: .4byte gUnknown_80DDA64
|
|
_08028A48:
|
|
ldr r0, _08028A54
|
|
ldr r2, [r6]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
b _08028A72
|
|
.align 2, 0
|
|
_08028A54: .4byte gUnknown_80DE830
|
|
_08028A58:
|
|
ldr r0, _08028A64
|
|
ldr r2, [r6]
|
|
movs r3, 0x84
|
|
lsls r3, 3
|
|
adds r2, r3
|
|
b _08028A72
|
|
.align 2, 0
|
|
_08028A64: .4byte gUnknown_80DE864
|
|
_08028A68:
|
|
ldr r0, _08028A7C
|
|
_08028A6A:
|
|
ldr r2, [r6]
|
|
movs r4, 0x84
|
|
lsls r4, 3
|
|
adds r2, r4
|
|
_08028A72:
|
|
ldr r3, _08028A80
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
b _08028AF2
|
|
.align 2, 0
|
|
_08028A7C: .4byte gUnknown_80DE7E8
|
|
_08028A80: .4byte 0x0000010d
|
|
_08028A84:
|
|
ldr r0, _08028AAC
|
|
ldr r3, _08028AB0
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
ldr r1, [r6]
|
|
movs r2, 0x84
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_8014248
|
|
b _08028AF2
|
|
.align 2, 0
|
|
_08028AAC: .4byte gUnknown_80DE8B4
|
|
_08028AB0: .4byte gUnknown_80DD970
|
|
_08028AB4:
|
|
ldr r0, _08028AD8
|
|
ldr r3, _08028ADC
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
ldr r1, [r6]
|
|
movs r4, 0x84
|
|
lsls r4, 3
|
|
adds r1, r4
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
bl sub_8014248
|
|
b _08028AF2
|
|
.align 2, 0
|
|
_08028AD8: .4byte gUnknown_80DE918
|
|
_08028ADC: .4byte gUnknown_80DD970
|
|
_08028AE0:
|
|
ldr r0, _08028AFC
|
|
ldr r2, [r6]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
ldr r3, _08028B00
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
_08028AF2:
|
|
add sp, 0x14
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08028AFC: .4byte gUnknown_80DE93C
|
|
_08028B00: .4byte 0x0000010d
|
|
thumb_func_end sub_8028348
|
|
|
|
thumb_func_start sub_8028B04
|
|
sub_8028B04:
|
|
push {lr}
|
|
ldr r1, _08028B18
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x4]
|
|
bl nullsub_130
|
|
bl sub_8028348
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08028B18: .4byte gUnknown_203B2C0
|
|
thumb_func_end sub_8028B04
|
|
|
|
thumb_func_start sub_8028B1C
|
|
sub_8028B1C:
|
|
push {lr}
|
|
cmp r0, 0xF
|
|
bhi _08028BE0
|
|
lsls r0, 2
|
|
ldr r1, _08028B2C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08028B2C: .4byte _08028B30
|
|
.align 2, 0
|
|
_08028B30:
|
|
.4byte _08028BE0
|
|
.4byte _08028BA8
|
|
.4byte _08028BA8
|
|
.4byte _08028B70
|
|
.4byte _08028B78
|
|
.4byte _08028BA8
|
|
.4byte _08028B80
|
|
.4byte _08028B88
|
|
.4byte _08028BE0
|
|
.4byte _08028B90
|
|
.4byte _08028BE0
|
|
.4byte _08028B98
|
|
.4byte _08028BE0
|
|
.4byte _08028BA0
|
|
.4byte _08028BA8
|
|
.4byte _08028BCC
|
|
_08028B70:
|
|
ldr r0, _08028B74
|
|
b _08028BAA
|
|
.align 2, 0
|
|
_08028B74: .4byte gUnknown_80DE98C
|
|
_08028B78:
|
|
ldr r0, _08028B7C
|
|
b _08028BAA
|
|
.align 2, 0
|
|
_08028B7C: .4byte gUnknown_80DE9F0
|
|
_08028B80:
|
|
ldr r0, _08028B84
|
|
b _08028BAA
|
|
.align 2, 0
|
|
_08028B84: .4byte gUnknown_80DEA58
|
|
_08028B88:
|
|
ldr r0, _08028B8C
|
|
b _08028BAA
|
|
.align 2, 0
|
|
_08028B8C: .4byte gUnknown_80DEAB4
|
|
_08028B90:
|
|
ldr r0, _08028B94
|
|
b _08028BAA
|
|
.align 2, 0
|
|
_08028B94: .4byte gUnknown_80DEB18
|
|
_08028B98:
|
|
ldr r0, _08028B9C
|
|
b _08028BAA
|
|
.align 2, 0
|
|
_08028B9C: .4byte gUnknown_80DEB18
|
|
_08028BA0:
|
|
ldr r0, _08028BA4
|
|
b _08028BAA
|
|
.align 2, 0
|
|
_08028BA4: .4byte gUnknown_80DEB54
|
|
_08028BA8:
|
|
ldr r0, _08028BC0
|
|
_08028BAA:
|
|
ldr r1, _08028BC4
|
|
ldr r2, [r1]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
ldr r3, _08028BC8
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
b _08028BE0
|
|
.align 2, 0
|
|
_08028BC0: .4byte gUnknown_80DE954
|
|
_08028BC4: .4byte gUnknown_203B2C0
|
|
_08028BC8: .4byte 0x0000010d
|
|
_08028BCC:
|
|
ldr r0, _08028BE4
|
|
ldr r1, _08028BE8
|
|
ldr r2, [r1]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
ldr r3, _08028BEC
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
_08028BE0:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08028BE4: .4byte gUnknown_80DEC00
|
|
_08028BE8: .4byte gUnknown_203B2C0
|
|
_08028BEC: .4byte 0x0000010d
|
|
thumb_func_end sub_8028B1C
|
|
|
|
thumb_func_start sub_8028BF0
|
|
sub_8028BF0:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08028CDA
|
|
ldr r2, _08028C20
|
|
ldr r0, [r2]
|
|
movs r1, 0x8
|
|
str r1, [r0, 0x40]
|
|
ldr r1, _08028C24
|
|
adds r0, r1
|
|
ldr r1, _08028C28
|
|
strh r1, [r0]
|
|
ldr r0, [sp]
|
|
cmp r0, 0xA
|
|
bhi _08028CDA
|
|
lsls r0, 2
|
|
ldr r1, _08028C2C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08028C20: .4byte gUnknown_203B2C0
|
|
_08028C24: .4byte 0x00000544
|
|
_08028C28: .4byte 0x0000ffff
|
|
_08028C2C: .4byte _08028C30
|
|
.align 2, 0
|
|
_08028C30:
|
|
.4byte _08028C5C
|
|
.4byte _08028C88
|
|
.4byte _08028CA2
|
|
.4byte _08028CCC
|
|
.4byte _08028CDA
|
|
.4byte _08028CDA
|
|
.4byte _08028CDA
|
|
.4byte _08028CDA
|
|
.4byte _08028CDA
|
|
.4byte _08028CDA
|
|
.4byte _08028CD4
|
|
_08028C5C:
|
|
ldr r0, [r2]
|
|
movs r1, 0x3
|
|
str r1, [r0, 0x40]
|
|
movs r1, 0xA7
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
bl sub_8095190
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
beq _08028C80
|
|
movs r0, 0x8
|
|
bl sub_8028B04
|
|
b _08028CDA
|
|
_08028C80:
|
|
movs r0, 0x9
|
|
bl sub_8028B04
|
|
b _08028CDA
|
|
_08028C88:
|
|
movs r0, 0x2
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
beq _08028C9A
|
|
movs r0, 0x1E
|
|
bl sub_8028B04
|
|
b _08028CDA
|
|
_08028C9A:
|
|
movs r0, 0x1A
|
|
bl sub_8028B04
|
|
b _08028CDA
|
|
_08028CA2:
|
|
ldr r0, [r2]
|
|
movs r1, 0x4
|
|
str r1, [r0, 0x40]
|
|
movs r1, 0xA7
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
str r1, [r0]
|
|
movs r0, 0x4
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
beq _08028CC4
|
|
movs r0, 0x29
|
|
bl sub_8028B04
|
|
b _08028CDA
|
|
_08028CC4:
|
|
movs r0, 0x2F
|
|
bl sub_8028B04
|
|
b _08028CDA
|
|
_08028CCC:
|
|
movs r0, 0xB
|
|
bl sub_8028B04
|
|
b _08028CDA
|
|
_08028CD4:
|
|
movs r0, 0x2
|
|
bl sub_8028B04
|
|
_08028CDA:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8028BF0
|
|
|
|
thumb_func_start sub_8028CE0
|
|
sub_8028CE0:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08028CF4
|
|
movs r0, 0x3
|
|
bl sub_8028B04
|
|
_08028CF4:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8028CE0
|
|
|
|
thumb_func_start sub_8028CFC
|
|
sub_8028CFC:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08028D42
|
|
bl sub_8031050
|
|
cmp r0, 0x3
|
|
bhi _08028D42
|
|
cmp r0, 0x2
|
|
bcc _08028D42
|
|
bl sub_8095350
|
|
adds r4, r0, 0
|
|
bl sub_80310B4
|
|
ldr r0, _08028D38
|
|
ldr r0, [r0]
|
|
movs r1, 0xA8
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r4, r0
|
|
beq _08028D3C
|
|
movs r0, 0x17
|
|
bl sub_8028B04
|
|
b _08028D42
|
|
.align 2, 0
|
|
_08028D38: .4byte gUnknown_203B2C0
|
|
_08028D3C:
|
|
movs r0, 0x19
|
|
bl sub_8028B04
|
|
_08028D42:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8028CFC
|
|
|
|
thumb_func_start sub_8028D4C
|
|
sub_8028D4C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08028DE0
|
|
ldr r0, _08028D78
|
|
ldr r0, [r0]
|
|
movs r1, 0xA7
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r1, [sp]
|
|
str r1, [r0]
|
|
cmp r1, 0x6
|
|
beq _08028DA2
|
|
cmp r1, 0x6
|
|
bgt _08028D7C
|
|
cmp r1, 0x5
|
|
beq _08028D86
|
|
b _08028DE0
|
|
.align 2, 0
|
|
_08028D78: .4byte gUnknown_203B2C0
|
|
_08028D7C:
|
|
cmp r1, 0x7
|
|
beq _08028DBE
|
|
cmp r1, 0xA
|
|
beq _08028DDA
|
|
b _08028DE0
|
|
_08028D86:
|
|
movs r0, 0x2
|
|
bl sub_8030C20
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08028D9A
|
|
movs r0, 0xC
|
|
bl sub_8028B04
|
|
b _08028DE0
|
|
_08028D9A:
|
|
movs r0, 0xD
|
|
bl sub_8028B04
|
|
b _08028DE0
|
|
_08028DA2:
|
|
movs r0, 0x4
|
|
bl sub_8030C20
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08028DB6
|
|
movs r0, 0xE
|
|
bl sub_8028B04
|
|
b _08028DE0
|
|
_08028DB6:
|
|
movs r0, 0xF
|
|
bl sub_8028B04
|
|
b _08028DE0
|
|
_08028DBE:
|
|
movs r0, 0
|
|
bl sub_8030C20
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08028DD2
|
|
movs r0, 0x10
|
|
bl sub_8028B04
|
|
b _08028DE0
|
|
_08028DD2:
|
|
movs r0, 0x11
|
|
bl sub_8028B04
|
|
b _08028DE0
|
|
_08028DDA:
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
_08028DE0:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8028D4C
|
|
|
|
thumb_func_start sub_8028DE8
|
|
sub_8028DE8:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08028DFE
|
|
adds r0, r4, 0
|
|
bl sub_8028B04
|
|
_08028DFE:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8028DE8
|
|
|
|
thumb_func_start sub_8028E08
|
|
sub_8028E08:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08028E1C
|
|
movs r0, 0x12
|
|
bl sub_8028B04
|
|
_08028E1C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8028E08
|
|
|
|
thumb_func_start sub_8028E24
|
|
sub_8028E24:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08028E4C
|
|
ldr r0, [sp]
|
|
cmp r0, 0x8
|
|
beq _08028E3E
|
|
cmp r0, 0xA
|
|
beq _08028E46
|
|
b _08028E4C
|
|
_08028E3E:
|
|
movs r0, 0x13
|
|
bl sub_8028B04
|
|
b _08028E4C
|
|
_08028E46:
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
_08028E4C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8028E24
|
|
|
|
thumb_func_start sub_8028E54
|
|
sub_8028E54:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08028E7C
|
|
ldr r0, [sp]
|
|
cmp r0, 0x8
|
|
beq _08028E6E
|
|
cmp r0, 0xA
|
|
beq _08028E76
|
|
b _08028E7C
|
|
_08028E6E:
|
|
movs r0, 0x14
|
|
bl sub_8028B04
|
|
b _08028E7C
|
|
_08028E76:
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
_08028E7C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8028E54
|
|
|
|
thumb_func_start sub_8028E84
|
|
sub_8028E84:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08028EA4
|
|
movs r0, 0x18
|
|
bl sub_8028B04
|
|
movs r0, 0x1
|
|
bl sub_8011C28
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_08028EA4:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8028E84
|
|
|
|
thumb_func_start sub_8028EAC
|
|
sub_8028EAC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08028ECE
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08028ECE
|
|
bl sub_8012750
|
|
movs r0, 0x19
|
|
bl sub_8028B04
|
|
_08028ECE:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8028EAC
|
|
|
|
thumb_func_start sub_8028ED4
|
|
sub_8028ED4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08028EFE
|
|
ldr r0, [sp]
|
|
cmp r0, 0x8
|
|
bne _08028EF0
|
|
movs r0, 0xB
|
|
bl sub_8028B04
|
|
b _08028EFE
|
|
_08028EF0:
|
|
cmp r0, 0x8
|
|
blt _08028EFE
|
|
cmp r0, 0xA
|
|
bgt _08028EFE
|
|
movs r0, 0x2
|
|
bl sub_8028B04
|
|
_08028EFE:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8028ED4
|
|
|
|
thumb_func_start sub_8028F04
|
|
sub_8028F04:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08028F28
|
|
movs r4, 0
|
|
_08028F14:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_8095240
|
|
adds r4, 0x1
|
|
cmp r4, 0x1F
|
|
ble _08028F14
|
|
movs r0, 0x15
|
|
bl sub_8028B04
|
|
_08028F28:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8028F04
|
|
|
|
thumb_func_start sub_8028F30
|
|
sub_8028F30:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08028F50
|
|
movs r0, 0x16
|
|
bl sub_8028B04
|
|
movs r0, 0x1
|
|
bl sub_8011C28
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_08028F50:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8028F30
|
|
|
|
thumb_func_start sub_8028F58
|
|
sub_8028F58:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08028F7A
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08028F7A
|
|
bl sub_8012750
|
|
movs r0, 0x2
|
|
bl sub_8028B04
|
|
_08028F7A:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8028F58
|
|
|
|
thumb_func_start sub_8028F80
|
|
sub_8028F80:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08028FAE
|
|
ldr r4, _08028FB8
|
|
ldr r0, [r4]
|
|
movs r1, 0x86
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl sub_809927C
|
|
ldr r0, [r4]
|
|
ldr r1, _08028FBC
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
str r1, [r0]
|
|
movs r0, 0x3
|
|
bl sub_8028B04
|
|
_08028FAE:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08028FB8: .4byte gUnknown_203B2C0
|
|
_08028FBC: .4byte 0x0000053c
|
|
thumb_func_end sub_8028F80
|
|
|
|
thumb_func_start sub_8028FC0
|
|
sub_8028FC0:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08028FD4
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
_08028FD4:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8028FC0
|
|
|
|
thumb_func_start sub_8028FDC
|
|
sub_8028FDC:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802903C
|
|
ldr r0, [sp]
|
|
cmp r0, 0x8
|
|
beq _08028FFC
|
|
cmp r0, 0x8
|
|
blt _0802903C
|
|
cmp r0, 0xA
|
|
bgt _0802903C
|
|
movs r0, 0x1
|
|
b _08029038
|
|
_08028FFC:
|
|
ldr r0, _08029020
|
|
ldr r0, [r0]
|
|
movs r1, 0x86
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl sub_8095228
|
|
adds r4, r0, 0
|
|
ldrb r0, [r4, 0x4]
|
|
bl sub_80A2824
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08029024
|
|
movs r0, 0x1C
|
|
b _08029038
|
|
.align 2, 0
|
|
_08029020: .4byte gUnknown_203B2C0
|
|
_08029024:
|
|
adds r0, r4, 0
|
|
adds r0, 0x2C
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
bgt _08029036
|
|
movs r0, 0x1D
|
|
b _08029038
|
|
_08029036:
|
|
movs r0, 0x1B
|
|
_08029038:
|
|
bl sub_8028B04
|
|
_0802903C:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8028FDC
|
|
|
|
thumb_func_start sub_8029044
|
|
sub_8029044:
|
|
push {r4,r5,lr}
|
|
movs r0, 0x1
|
|
bl sub_8030768
|
|
cmp r0, 0x3
|
|
beq _0802906C
|
|
cmp r0, 0x3
|
|
bhi _0802905A
|
|
cmp r0, 0x2
|
|
beq _08029060
|
|
b _080290CA
|
|
_0802905A:
|
|
cmp r0, 0x4
|
|
beq _08029088
|
|
b _080290CA
|
|
_08029060:
|
|
bl sub_803084C
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
b _080290CA
|
|
_0802906C:
|
|
bl sub_80307EC
|
|
ldr r1, _08029084
|
|
ldr r1, [r1]
|
|
movs r2, 0x86
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
movs r0, 0x20
|
|
bl sub_8028B04
|
|
b _080290CA
|
|
.align 2, 0
|
|
_08029084: .4byte gUnknown_203B2C0
|
|
_08029088:
|
|
ldr r4, _080290D0
|
|
ldr r1, [r4]
|
|
movs r0, 0x1F
|
|
str r0, [r1]
|
|
bl sub_80307EC
|
|
ldr r1, [r4]
|
|
movs r5, 0x86
|
|
lsls r5, 2
|
|
adds r1, r5
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_8030D40
|
|
movs r0, 0x21
|
|
bl sub_8028B04
|
|
_080290CA:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080290D0: .4byte gUnknown_203B2C0
|
|
thumb_func_end sub_8029044
|
|
|
|
thumb_func_start sub_80290D4
|
|
sub_80290D4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080290E8
|
|
movs r0, 0x1F
|
|
bl sub_8028B04
|
|
_080290E8:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80290D4
|
|
|
|
thumb_func_start sub_80290F0
|
|
sub_80290F0:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
bl sub_8030768
|
|
ldr r4, _08029134
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08029122
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_08029122:
|
|
ldr r0, [sp]
|
|
cmp r0, 0xA
|
|
beq _08029184
|
|
cmp r0, 0xA
|
|
bgt _08029138
|
|
cmp r0, 0x4
|
|
beq _08029184
|
|
b _080291A0
|
|
.align 2, 0
|
|
_08029134: .4byte gUnknown_203B2C0
|
|
_08029138:
|
|
cmp r0, 0xB
|
|
beq _08029142
|
|
cmp r0, 0xC
|
|
beq _0802914E
|
|
b _080291A0
|
|
_08029142:
|
|
bl sub_803084C
|
|
movs r0, 0x22
|
|
bl sub_8028B04
|
|
b _080291A0
|
|
_0802914E:
|
|
ldr r0, [r4]
|
|
movs r1, 0x3D
|
|
str r1, [r0]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
movs r1, 0x86
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_8030D40
|
|
movs r0, 0x21
|
|
bl sub_8028B04
|
|
b _080291A0
|
|
_08029184:
|
|
ldr r0, _080291A8
|
|
ldr r0, [r0]
|
|
movs r1, 0xD7
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
bl sub_8035CC0
|
|
movs r0, 0x1
|
|
bl sub_8030810
|
|
movs r0, 0x1F
|
|
bl sub_8028B04
|
|
_080291A0:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080291A8: .4byte gUnknown_203B2C0
|
|
thumb_func_end sub_80290F0
|
|
|
|
thumb_func_start sub_80291AC
|
|
sub_80291AC:
|
|
push {r4,lr}
|
|
bl sub_8030DA0
|
|
cmp r0, 0x3
|
|
bhi _08029200
|
|
cmp r0, 0x2
|
|
bcc _08029200
|
|
bl sub_8030DE4
|
|
bl sub_8004914
|
|
ldr r4, _080291F8
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
bl sub_803092C
|
|
ldr r4, [r4]
|
|
ldr r0, [r4]
|
|
cmp r0, 0x3D
|
|
bne _080291FC
|
|
movs r1, 0x87
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
movs r0, 0x20
|
|
bl sub_8028B04
|
|
b _08029200
|
|
.align 2, 0
|
|
_080291F8: .4byte gUnknown_203B2C0
|
|
_080291FC:
|
|
bl sub_8028B04
|
|
_08029200:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80291AC
|
|
|
|
thumb_func_start sub_8029208
|
|
sub_8029208:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802929E
|
|
ldr r2, [sp]
|
|
cmp r2, 0xE
|
|
bgt _08029226
|
|
cmp r2, 0xD
|
|
bge _0802922C
|
|
cmp r2, 0xA
|
|
beq _08029298
|
|
b _0802929E
|
|
_08029226:
|
|
cmp r2, 0xF
|
|
beq _08029264
|
|
b _0802929E
|
|
_0802922C:
|
|
ldr r0, _0802924C
|
|
ldr r0, [r0]
|
|
ldr r1, _08029250
|
|
adds r2, r0, r1
|
|
movs r1, 0xD
|
|
str r1, [r2]
|
|
movs r3, 0xA7
|
|
lsls r3, 3
|
|
adds r0, r3
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _08029254
|
|
cmp r0, 0x2
|
|
beq _0802925C
|
|
b _0802929E
|
|
.align 2, 0
|
|
_0802924C: .4byte gUnknown_203B2C0
|
|
_08029250: .4byte 0x00000534
|
|
_08029254:
|
|
movs r0, 0x4
|
|
bl sub_8028B04
|
|
b _0802929E
|
|
_0802925C:
|
|
movs r0, 0x30
|
|
bl sub_8028B04
|
|
b _0802929E
|
|
_08029264:
|
|
ldr r0, _08029280
|
|
ldr r0, [r0]
|
|
ldr r3, _08029284
|
|
adds r1, r0, r3
|
|
str r2, [r1]
|
|
movs r1, 0xA7
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _08029288
|
|
cmp r0, 0x2
|
|
beq _08029290
|
|
b _0802929E
|
|
.align 2, 0
|
|
_08029280: .4byte gUnknown_203B2C0
|
|
_08029284: .4byte 0x00000534
|
|
_08029288:
|
|
movs r0, 0x26
|
|
bl sub_8028B04
|
|
b _0802929E
|
|
_08029290:
|
|
movs r0, 0x3A
|
|
bl sub_8028B04
|
|
b _0802929E
|
|
_08029298:
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
_0802929E:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8029208
|
|
|
|
thumb_func_start sub_80292A4
|
|
sub_80292A4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080292E6
|
|
ldr r0, [sp]
|
|
cmp r0, 0x8
|
|
beq _080292BE
|
|
cmp r0, 0xA
|
|
beq _080292E0
|
|
b _080292E6
|
|
_080292BE:
|
|
ldr r0, _080292DC
|
|
ldr r0, [r0]
|
|
movs r1, 0xA7
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _080292D2
|
|
cmp r0, 0x2
|
|
bne _080292E6
|
|
_080292D2:
|
|
movs r0, 0x5
|
|
bl sub_8028B04
|
|
b _080292E6
|
|
.align 2, 0
|
|
_080292DC: .4byte gUnknown_203B2C0
|
|
_080292E0:
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
_080292E6:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80292A4
|
|
|
|
thumb_func_start sub_80292EC
|
|
sub_80292EC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08029336
|
|
ldr r0, _08029318
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, 0x44]
|
|
cmp r0, 0
|
|
bne _0802932C
|
|
movs r2, 0xA7
|
|
lsls r2, 3
|
|
adds r0, r1, r2
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0802931C
|
|
cmp r0, 0x2
|
|
beq _08029324
|
|
b _08029336
|
|
.align 2, 0
|
|
_08029318: .4byte gUnknown_203B2C0
|
|
_0802931C:
|
|
movs r0, 0x23
|
|
bl sub_8028B04
|
|
b _08029336
|
|
_08029324:
|
|
movs r0, 0x37
|
|
bl sub_8028B04
|
|
b _08029336
|
|
_0802932C:
|
|
bl sub_8028B1C
|
|
movs r0, 0x7
|
|
bl sub_8028B04
|
|
_08029336:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80292EC
|
|
|
|
thumb_func_start sub_802933C
|
|
sub_802933C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08029350
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
_08029350:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802933C
|
|
|
|
thumb_func_start sub_8029358
|
|
sub_8029358:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802936C
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
_0802936C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8029358
|
|
|
|
thumb_func_start sub_8029374
|
|
sub_8029374:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08029394
|
|
movs r0, 0x24
|
|
bl sub_8028B04
|
|
movs r0, 0x1
|
|
bl sub_8011C28
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_08029394:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8029374
|
|
|
|
thumb_func_start sub_802939C
|
|
sub_802939C:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080293D0
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080293D0
|
|
bl sub_8012744
|
|
adds r4, r0, 0
|
|
bl sub_8012750
|
|
cmp r4, 0
|
|
bne _080293CA
|
|
movs r0, 0x25
|
|
bl sub_8028B04
|
|
b _080293D0
|
|
_080293CA:
|
|
movs r0, 0x2
|
|
bl sub_8028B04
|
|
_080293D0:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802939C
|
|
|
|
thumb_func_start sub_80293D8
|
|
sub_80293D8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080293EC
|
|
movs r0, 0x27
|
|
bl sub_8028B04
|
|
_080293EC:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80293D8
|
|
|
|
thumb_func_start sub_80293F4
|
|
sub_80293F4:
|
|
push {r4,lr}
|
|
sub sp, 0x44
|
|
bl sub_80154F0
|
|
adds r4, r0, 0
|
|
add r0, sp, 0x14
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
cmp r4, 0x2
|
|
bne _0802940E
|
|
b _08029530
|
|
_0802940E:
|
|
cmp r4, 0x3
|
|
beq _08029414
|
|
b _08029550
|
|
_08029414:
|
|
ldr r0, _08029434
|
|
ldr r1, [r0]
|
|
adds r1, 0x8
|
|
movs r0, 0x1C
|
|
add r2, sp, 0x14
|
|
bl sub_8039068
|
|
subs r0, 0x7
|
|
cmp r0, 0x11
|
|
bls _0802942A
|
|
b _0802951C
|
|
_0802942A:
|
|
lsls r0, 2
|
|
ldr r1, _08029438
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08029434: .4byte gUnknown_203B2C0
|
|
_08029438: .4byte _0802943C
|
|
.align 2, 0
|
|
_0802943C:
|
|
.4byte _080294C8
|
|
.4byte _0802951C
|
|
.4byte _0802951C
|
|
.4byte _0802951C
|
|
.4byte _0802951C
|
|
.4byte _0802951C
|
|
.4byte _0802951C
|
|
.4byte _0802951C
|
|
.4byte _0802951C
|
|
.4byte _0802951C
|
|
.4byte _08029484
|
|
.4byte _080294C0
|
|
.4byte _0802951C
|
|
.4byte _0802951C
|
|
.4byte _0802951C
|
|
.4byte _080294F0
|
|
.4byte _0802951C
|
|
.4byte _0802951C
|
|
_08029484:
|
|
ldr r0, _080294B4
|
|
ldr r3, _080294B8
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
ldr r1, _080294BC
|
|
ldr r1, [r1]
|
|
movs r2, 0x84
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl sub_8014248
|
|
movs r0, 0x28
|
|
bl sub_8028B04
|
|
b _0802951C
|
|
.align 2, 0
|
|
_080294B4: .4byte gUnknown_80DEC70
|
|
_080294B8: .4byte gUnknown_80DDA48
|
|
_080294BC: .4byte gUnknown_203B2C0
|
|
_080294C0:
|
|
ldr r0, _080294C4
|
|
b _080294CA
|
|
.align 2, 0
|
|
_080294C4: .4byte gUnknown_80DECC0
|
|
_080294C8:
|
|
ldr r0, _080294E4
|
|
_080294CA:
|
|
ldr r1, _080294E8
|
|
ldr r2, [r1]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
ldr r3, _080294EC
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
movs r0, 0x7
|
|
bl sub_8028B04
|
|
b _0802951C
|
|
.align 2, 0
|
|
_080294E4: .4byte gUnknown_80DEAB4
|
|
_080294E8: .4byte gUnknown_203B2C0
|
|
_080294EC: .4byte 0x0000010d
|
|
_080294F0:
|
|
ldr r0, [sp, 0x24]
|
|
bl sub_8095274
|
|
add r1, sp, 0x14
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
adds r0, r1, 0
|
|
bl sub_80951BC
|
|
ldr r0, _08029524
|
|
ldr r1, _08029528
|
|
ldr r2, [r1]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
ldr r3, _0802952C
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
movs r0, 0x23
|
|
bl sub_8028B04
|
|
_0802951C:
|
|
bl sub_80155F0
|
|
b _08029550
|
|
.align 2, 0
|
|
_08029524: .4byte gUnknown_80DECFC
|
|
_08029528: .4byte gUnknown_203B2C0
|
|
_0802952C: .4byte 0x00000101
|
|
_08029530:
|
|
bl sub_80155F0
|
|
bl sub_8004914
|
|
ldr r0, _08029558
|
|
ldr r0, [r0]
|
|
movs r2, 0xEF
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
_08029550:
|
|
add sp, 0x44
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08029558: .4byte gUnknown_203B2C0
|
|
thumb_func_end sub_80293F4
|
|
|
|
thumb_func_start sub_802955C
|
|
sub_802955C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08029584
|
|
ldr r0, [sp]
|
|
cmp r0, 0x8
|
|
beq _08029576
|
|
cmp r0, 0xA
|
|
beq _0802957E
|
|
b _08029584
|
|
_08029576:
|
|
movs r0, 0x26
|
|
bl sub_8028B04
|
|
b _08029584
|
|
_0802957E:
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
_08029584:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802955C
|
|
|
|
thumb_func_start sub_802958C
|
|
sub_802958C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080295A0
|
|
movs r0, 0x6
|
|
bl sub_8028B04
|
|
_080295A0:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802958C
|
|
|
|
thumb_func_start sub_80295A8
|
|
sub_80295A8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080295D2
|
|
ldr r0, [sp]
|
|
cmp r0, 0x8
|
|
bne _080295C4
|
|
movs r0, 0x8
|
|
bl sub_8028B04
|
|
b _080295D2
|
|
_080295C4:
|
|
cmp r0, 0x8
|
|
blt _080295D2
|
|
cmp r0, 0xA
|
|
bgt _080295D2
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
_080295D2:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80295A8
|
|
|
|
thumb_func_start sub_80295D8
|
|
sub_80295D8:
|
|
push {r4,r5,lr}
|
|
movs r0, 0x1
|
|
bl sub_8030768
|
|
cmp r0, 0x3
|
|
beq _08029600
|
|
cmp r0, 0x3
|
|
bhi _080295EE
|
|
cmp r0, 0x2
|
|
beq _080295F4
|
|
b _0802965E
|
|
_080295EE:
|
|
cmp r0, 0x4
|
|
beq _0802961C
|
|
b _0802965E
|
|
_080295F4:
|
|
bl sub_803084C
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
b _0802965E
|
|
_08029600:
|
|
bl sub_80307EC
|
|
ldr r1, _08029618
|
|
ldr r1, [r1]
|
|
movs r2, 0x86
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
movs r0, 0x2B
|
|
bl sub_8028B04
|
|
b _0802965E
|
|
.align 2, 0
|
|
_08029618: .4byte gUnknown_203B2C0
|
|
_0802961C:
|
|
ldr r4, _08029664
|
|
ldr r1, [r4]
|
|
movs r0, 0x2A
|
|
str r0, [r1]
|
|
bl sub_80307EC
|
|
ldr r1, [r4]
|
|
movs r5, 0x86
|
|
lsls r5, 2
|
|
adds r1, r5
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_8030D40
|
|
movs r0, 0x2C
|
|
bl sub_8028B04
|
|
_0802965E:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08029664: .4byte gUnknown_203B2C0
|
|
thumb_func_end sub_80295D8
|
|
|
|
thumb_func_start sub_8029668
|
|
sub_8029668:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802967C
|
|
movs r0, 0x2A
|
|
bl sub_8028B04
|
|
_0802967C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8029668
|
|
|
|
thumb_func_start sub_8029684
|
|
sub_8029684:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
bl sub_8030768
|
|
ldr r4, _080296C8
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080296B6
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_080296B6:
|
|
ldr r0, [sp]
|
|
cmp r0, 0xA
|
|
beq _08029718
|
|
cmp r0, 0xA
|
|
bgt _080296CC
|
|
cmp r0, 0x4
|
|
beq _08029718
|
|
b _08029734
|
|
.align 2, 0
|
|
_080296C8: .4byte gUnknown_203B2C0
|
|
_080296CC:
|
|
cmp r0, 0xB
|
|
beq _080296D6
|
|
cmp r0, 0xC
|
|
beq _080296E2
|
|
b _08029734
|
|
_080296D6:
|
|
bl sub_803084C
|
|
movs r0, 0x2D
|
|
bl sub_8028B04
|
|
b _08029734
|
|
_080296E2:
|
|
ldr r0, [r4]
|
|
movs r1, 0x3D
|
|
str r1, [r0]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
movs r1, 0x86
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_8030D40
|
|
movs r0, 0x2C
|
|
bl sub_8028B04
|
|
b _08029734
|
|
_08029718:
|
|
ldr r0, _0802973C
|
|
ldr r0, [r0]
|
|
movs r1, 0xD7
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
bl sub_8035CC0
|
|
movs r0, 0x1
|
|
bl sub_8030810
|
|
movs r0, 0x2A
|
|
bl sub_8028B04
|
|
_08029734:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802973C: .4byte gUnknown_203B2C0
|
|
thumb_func_end sub_8029684
|
|
|
|
thumb_func_start sub_8029740
|
|
sub_8029740:
|
|
push {r4,lr}
|
|
bl sub_8030DA0
|
|
cmp r0, 0x3
|
|
bhi _08029794
|
|
cmp r0, 0x2
|
|
bcc _08029794
|
|
bl sub_8030DE4
|
|
bl sub_8004914
|
|
ldr r4, _0802978C
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
bl sub_803092C
|
|
ldr r4, [r4]
|
|
ldr r0, [r4]
|
|
cmp r0, 0x3D
|
|
bne _08029790
|
|
movs r1, 0x87
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
movs r0, 0x2B
|
|
bl sub_8028B04
|
|
b _08029794
|
|
.align 2, 0
|
|
_0802978C: .4byte gUnknown_203B2C0
|
|
_08029790:
|
|
bl sub_8028B04
|
|
_08029794:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8029740
|
|
|
|
thumb_func_start sub_802979C
|
|
sub_802979C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080297B0
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
_080297B0:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802979C
|
|
|
|
thumb_func_start sub_80297B8
|
|
sub_80297B8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080297CC
|
|
movs r0, 0x33
|
|
bl sub_8028B04
|
|
_080297CC:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80297B8
|
|
|
|
thumb_func_start sub_80297D4
|
|
sub_80297D4:
|
|
push {r4,r5,lr}
|
|
movs r0, 0x1
|
|
bl sub_8023A94
|
|
cmp r0, 0x3
|
|
beq _08029814
|
|
cmp r0, 0x3
|
|
bhi _080297EA
|
|
cmp r0, 0x2
|
|
beq _080297F0
|
|
b _08029876
|
|
_080297EA:
|
|
cmp r0, 0x4
|
|
beq _08029834
|
|
b _08029876
|
|
_080297F0:
|
|
bl sub_8023C60
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
ldr r0, _08029808
|
|
ldr r0, [r0]
|
|
ldr r1, _0802980C
|
|
adds r0, r1
|
|
ldr r1, _08029810
|
|
strh r1, [r0]
|
|
b _08029876
|
|
.align 2, 0
|
|
_08029808: .4byte gUnknown_203B2C0
|
|
_0802980C: .4byte 0x00000544
|
|
_08029810: .4byte 0x0000ffff
|
|
_08029814:
|
|
bl sub_8023B44
|
|
ldr r1, _0802982C
|
|
ldr r1, [r1]
|
|
ldr r2, _08029830
|
|
adds r1, r2
|
|
strh r0, [r1]
|
|
movs r0, 0x34
|
|
bl sub_8028B04
|
|
b _08029876
|
|
.align 2, 0
|
|
_0802982C: .4byte gUnknown_203B2C0
|
|
_08029830: .4byte 0x00000544
|
|
_08029834:
|
|
ldr r4, _0802987C
|
|
ldr r1, [r4]
|
|
movs r0, 0x33
|
|
str r0, [r1]
|
|
bl sub_8023B44
|
|
adds r2, r0, 0
|
|
ldr r0, [r4]
|
|
ldr r5, _08029880
|
|
adds r1, r0, r5
|
|
strh r2, [r1]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
movs r1, 0
|
|
bl sub_8024458
|
|
movs r0, 0x35
|
|
bl sub_8028B04
|
|
_08029876:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802987C: .4byte gUnknown_203B2C0
|
|
_08029880: .4byte 0x00000544
|
|
thumb_func_end sub_80297D4
|
|
|
|
thumb_func_start sub_8029884
|
|
sub_8029884:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
bl sub_8023A94
|
|
ldr r4, _080298C8
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080298B6
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_080298B6:
|
|
ldr r0, [sp]
|
|
cmp r0, 0xA
|
|
beq _0802991C
|
|
cmp r0, 0xA
|
|
bgt _080298CC
|
|
cmp r0, 0x4
|
|
beq _0802991C
|
|
b _08029938
|
|
.align 2, 0
|
|
_080298C8: .4byte gUnknown_203B2C0
|
|
_080298CC:
|
|
cmp r0, 0xB
|
|
beq _080298D6
|
|
cmp r0, 0xC
|
|
beq _080298E2
|
|
b _08029938
|
|
_080298D6:
|
|
bl sub_8023C60
|
|
movs r0, 0x4
|
|
bl sub_8028B04
|
|
b _08029938
|
|
_080298E2:
|
|
ldr r0, [r4]
|
|
movs r1, 0x3D
|
|
str r1, [r0]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
ldr r1, _08029918
|
|
adds r0, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0
|
|
bl sub_8024458
|
|
movs r0, 0x35
|
|
bl sub_8028B04
|
|
b _08029938
|
|
.align 2, 0
|
|
_08029918: .4byte 0x00000544
|
|
_0802991C:
|
|
ldr r0, _08029940
|
|
ldr r0, [r0]
|
|
movs r1, 0xD7
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x3
|
|
bl sub_8035CC0
|
|
movs r0, 0x1
|
|
bl sub_8023B7C
|
|
movs r0, 0x33
|
|
bl sub_8028B04
|
|
_08029938:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08029940: .4byte gUnknown_203B2C0
|
|
thumb_func_end sub_8029884
|
|
|
|
thumb_func_start sub_8029944
|
|
sub_8029944:
|
|
push {r4,lr}
|
|
bl sub_80244E4
|
|
cmp r0, 0x1
|
|
bne _08029954
|
|
bl sub_802452C
|
|
b _080299A4
|
|
_08029954:
|
|
cmp r0, 0x1
|
|
bcc _080299A4
|
|
cmp r0, 0x3
|
|
bhi _080299A4
|
|
bl sub_802453C
|
|
bl sub_8004914
|
|
ldr r4, _0802999C
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x1
|
|
bl sub_8023B7C
|
|
ldr r4, [r4]
|
|
ldr r0, [r4]
|
|
cmp r0, 0x3D
|
|
bne _080299A0
|
|
movs r1, 0x87
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
movs r0, 0x34
|
|
bl sub_8028B04
|
|
b _080299A4
|
|
.align 2, 0
|
|
_0802999C: .4byte gUnknown_203B2C0
|
|
_080299A0:
|
|
bl sub_8028B04
|
|
_080299A4:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8029944
|
|
|
|
thumb_func_start sub_80299AC
|
|
sub_80299AC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080299D2
|
|
ldr r0, [sp]
|
|
cmp r0, 0xA
|
|
beq _080299CC
|
|
cmp r0, 0x12
|
|
bne _080299D2
|
|
movs r0, 0x4
|
|
bl sub_8028B04
|
|
b _080299D2
|
|
_080299CC:
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
_080299D2:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80299AC
|
|
|
|
thumb_func_start sub_80299D8
|
|
sub_80299D8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08029A12
|
|
ldr r0, [sp]
|
|
cmp r0, 0x9
|
|
beq _08029A04
|
|
cmp r0, 0x9
|
|
bgt _080299F6
|
|
cmp r0, 0x8
|
|
beq _080299FC
|
|
b _08029A12
|
|
_080299F6:
|
|
cmp r0, 0xA
|
|
beq _08029A0C
|
|
b _08029A12
|
|
_080299FC:
|
|
movs r0, 0x4
|
|
bl sub_8028B04
|
|
b _08029A12
|
|
_08029A04:
|
|
movs r0, 0x32
|
|
bl sub_8028B04
|
|
b _08029A12
|
|
_08029A0C:
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
_08029A12:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80299D8
|
|
|
|
thumb_func_start sub_8029A18
|
|
sub_8029A18:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08029A66
|
|
ldr r0, [sp]
|
|
cmp r0, 0x11
|
|
beq _08029A3C
|
|
cmp r0, 0x11
|
|
bgt _08029A36
|
|
cmp r0, 0xA
|
|
beq _08029A60
|
|
b _08029A66
|
|
_08029A36:
|
|
cmp r0, 0x12
|
|
beq _08029A58
|
|
b _08029A66
|
|
_08029A3C:
|
|
movs r0, 0x3
|
|
bl sub_8024108
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08029A50
|
|
movs r0, 0x31
|
|
bl sub_8028B04
|
|
b _08029A66
|
|
_08029A50:
|
|
movs r0, 0x32
|
|
bl sub_8028B04
|
|
b _08029A66
|
|
_08029A58:
|
|
movs r0, 0x4
|
|
bl sub_8028B04
|
|
b _08029A66
|
|
_08029A60:
|
|
movs r0, 0x1
|
|
bl sub_8028B04
|
|
_08029A66:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8029A18
|
|
|
|
thumb_func_start sub_8029A6C
|
|
sub_8029A6C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08029A80
|
|
movs r0, 0x2E
|
|
bl sub_8028B04
|
|
_08029A80:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8029A6C
|
|
|
|
thumb_func_start sub_8029A88
|
|
sub_8029A88:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08029AAA
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08029AAA
|
|
bl sub_8012750
|
|
movs r0, 0x39
|
|
bl sub_8028B04
|
|
_08029AAA:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8029A88
|
|
|
|
thumb_func_start sub_8029AB0
|
|
sub_8029AB0:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08029AD0
|
|
movs r0, 0x38
|
|
bl sub_8028B04
|
|
movs r0, 0x1
|
|
bl sub_8011C28
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_08029AD0:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8029AB0
|
|
|
|
thumb_func_start sub_8029AD8
|
|
sub_8029AD8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08029AEC
|
|
movs r0, 0x3B
|
|
bl sub_8028B04
|
|
_08029AEC:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8029AD8
|
|
|
|
thumb_func_start sub_8029AF4
|
|
sub_8029AF4:
|
|
push {lr}
|
|
bl sub_8031DCC
|
|
cmp r0, 0x1
|
|
beq _08029B2C
|
|
cmp r0, 0x1
|
|
bcc _08029B30
|
|
cmp r0, 0x3
|
|
bhi _08029B30
|
|
bl sub_8031E10
|
|
bl sub_8004914
|
|
ldr r0, _08029B28
|
|
ldr r0, [r0]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x3C
|
|
bl sub_8028B04
|
|
b _08029B30
|
|
.align 2, 0
|
|
_08029B28: .4byte gUnknown_203B2C0
|
|
_08029B2C:
|
|
bl sub_8031E00
|
|
_08029B30:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8029AF4
|
|
|
|
thumb_func_start sub_8029B34
|
|
sub_8029B34:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08029B48
|
|
movs r0, 0x3
|
|
bl sub_8028B04
|
|
_08029B48:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8029B34
|
|
|
|
thumb_func_start sub_8029B50
|
|
sub_8029B50:
|
|
push {r4,r5,lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r5, _08029C3C
|
|
ldr r4, _08029C40
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl MemoryFill8
|
|
ldr r0, _08029C44
|
|
movs r4, 0x98
|
|
lsls r4, 1
|
|
adds r1, r4, 0
|
|
bl sub_808D8E0
|
|
adds r0, r4, 0
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r0, _08029C48
|
|
bl strcpy
|
|
adds r0, r4, 0
|
|
bl sub_808DDD0
|
|
ldr r2, [r5]
|
|
movs r3, 0x84
|
|
lsls r3, 3
|
|
adds r1, r2, r3
|
|
str r0, [r1]
|
|
adds r3, 0x4
|
|
adds r1, r2, r3
|
|
ldr r0, [r0, 0x4]
|
|
str r0, [r1]
|
|
ldr r0, _08029C4C
|
|
adds r2, r0
|
|
movs r1, 0
|
|
strb r1, [r2]
|
|
ldr r0, [r5]
|
|
ldr r2, _08029C50
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
ldr r0, [r5]
|
|
adds r3, 0xA
|
|
adds r0, r3
|
|
strb r1, [r0]
|
|
ldr r1, [r5]
|
|
movs r0, 0x85
|
|
lsls r0, 3
|
|
adds r2, r1, r0
|
|
movs r0, 0x2
|
|
strh r0, [r2]
|
|
ldr r2, _08029C54
|
|
adds r1, r2
|
|
movs r0, 0x8
|
|
strh r0, [r1]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
_08029BD8:
|
|
ldr r0, [r5]
|
|
adds r0, 0x8
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
adds r1, 0x1
|
|
cmp r1, 0x35
|
|
ble _08029BD8
|
|
ldr r5, _08029C3C
|
|
ldr r1, [r5]
|
|
ldr r3, _08029C58
|
|
adds r2, r1, r3
|
|
movs r0, 0x3
|
|
str r0, [r2]
|
|
movs r0, 0xA7
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
movs r0, 0x6
|
|
bl sub_80953D4
|
|
adds r4, r0, 0
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r4, r0
|
|
beq _08029C60
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_8095228
|
|
ldr r1, [r5]
|
|
ldr r2, _08029C5C
|
|
adds r3, r1, r2
|
|
ldr r2, [r0, 0x20]
|
|
str r2, [r3]
|
|
movs r3, 0x86
|
|
lsls r3, 2
|
|
adds r1, r3
|
|
strb r4, [r1]
|
|
ldr r1, [r5]
|
|
movs r2, 0x86
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
ldr r0, [r0, 0x10]
|
|
str r0, [r1]
|
|
movs r0, 0x5
|
|
bl sub_802B2BC
|
|
b _08029C7C
|
|
.align 2, 0
|
|
_08029C3C: .4byte gUnknown_203B2C4
|
|
_08029C40: .4byte 0x00000564
|
|
_08029C44: .4byte gUnknown_202E5D8
|
|
_08029C48: .4byte gUnknown_202DF98
|
|
_08029C4C: .4byte 0x0000042c
|
|
_08029C50: .4byte 0x0000042d
|
|
_08029C54: .4byte 0x0000042a
|
|
_08029C58: .4byte 0x00000534
|
|
_08029C5C: .4byte 0x0000041c
|
|
_08029C60:
|
|
ldr r1, [r5]
|
|
ldr r3, _08029C8C
|
|
adds r2, r1, r3
|
|
ldr r0, _08029C90
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
movs r0, 0x86
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
movs r0, 0
|
|
bl sub_802B2BC
|
|
_08029C7C:
|
|
ldr r0, _08029C94
|
|
ldr r1, [r0]
|
|
movs r0, 0x2B
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0x1
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08029C8C: .4byte 0x0000041c
|
|
_08029C90: .4byte gUnknown_80DED44
|
|
_08029C94: .4byte gUnknown_203B2C4
|
|
thumb_func_end sub_8029B50
|
|
|
|
thumb_func_start sub_8029C98
|
|
sub_8029C98:
|
|
push {lr}
|
|
ldr r0, _08029CB0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x2A
|
|
bls _08029CA6
|
|
b _08029E58
|
|
_08029CA6:
|
|
lsls r0, 2
|
|
ldr r1, _08029CB4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08029CB0: .4byte gUnknown_203B2C4
|
|
_08029CB4: .4byte _08029CB8
|
|
.align 2, 0
|
|
_08029CB8:
|
|
.4byte _08029E48
|
|
.4byte _08029E48
|
|
.4byte _08029E4E
|
|
.4byte _08029E54
|
|
.4byte _08029E42
|
|
.4byte _08029D64
|
|
.4byte _08029E3C
|
|
.4byte _08029E30
|
|
.4byte _08029E36
|
|
.4byte _08029E2A
|
|
.4byte _08029E24
|
|
.4byte _08029E1E
|
|
.4byte _08029E0C
|
|
.4byte _08029E06
|
|
.4byte _08029D76
|
|
.4byte _08029D7C
|
|
.4byte _08029D8E
|
|
.4byte _08029D82
|
|
.4byte _08029D88
|
|
.4byte _08029D94
|
|
.4byte _08029D9A
|
|
.4byte _08029DA0
|
|
.4byte _08029DE8
|
|
.4byte _08029DF4
|
|
.4byte _08029DEE
|
|
.4byte _08029DB2
|
|
.4byte _08029DB8
|
|
.4byte _08029DAC
|
|
.4byte _08029DA6
|
|
.4byte _08029DFA
|
|
.4byte _08029D6A
|
|
.4byte _08029D70
|
|
.4byte _08029E00
|
|
.4byte _08029DDC
|
|
.4byte _08029DE2
|
|
.4byte _08029E58
|
|
.4byte _08029DD6
|
|
.4byte _08029DD0
|
|
.4byte _08029DC4
|
|
.4byte _08029DCA
|
|
.4byte _08029DBE
|
|
.4byte _08029E12
|
|
.4byte _08029E18
|
|
_08029D64:
|
|
bl sub_802AB7C
|
|
b _08029E58
|
|
_08029D6A:
|
|
bl sub_8029F98
|
|
b _08029E58
|
|
_08029D70:
|
|
bl sub_8029EA8
|
|
b _08029E58
|
|
_08029D76:
|
|
bl sub_802A090
|
|
b _08029E58
|
|
_08029D7C:
|
|
bl sub_802A158
|
|
b _08029E58
|
|
_08029D82:
|
|
bl sub_802A174
|
|
b _08029E58
|
|
_08029D88:
|
|
bl sub_802A230
|
|
b _08029E58
|
|
_08029D8E:
|
|
bl sub_802A0C8
|
|
b _08029E58
|
|
_08029D94:
|
|
bl sub_802A28C
|
|
b _08029E58
|
|
_08029D9A:
|
|
bl sub_802A39C
|
|
b _08029E58
|
|
_08029DA0:
|
|
bl sub_802A33C
|
|
b _08029E58
|
|
_08029DA6:
|
|
bl sub_802A458
|
|
b _08029E58
|
|
_08029DAC:
|
|
bl sub_802A4AC
|
|
b _08029E58
|
|
_08029DB2:
|
|
bl sub_802A4D4
|
|
b _08029E58
|
|
_08029DB8:
|
|
bl sub_802A050
|
|
b _08029E58
|
|
_08029DBE:
|
|
bl sub_802A9FC
|
|
b _08029E58
|
|
_08029DC4:
|
|
bl sub_802A4F0
|
|
b _08029E58
|
|
_08029DCA:
|
|
bl sub_802A50C
|
|
b _08029E58
|
|
_08029DD0:
|
|
bl sub_802A6B4
|
|
b _08029E58
|
|
_08029DD6:
|
|
bl sub_802A718
|
|
b _08029E58
|
|
_08029DDC:
|
|
bl sub_802AB60
|
|
b _08029E58
|
|
_08029DE2:
|
|
bl sub_802AB98
|
|
b _08029E58
|
|
_08029DE8:
|
|
bl sub_802A740
|
|
b _08029E58
|
|
_08029DEE:
|
|
bl sub_802A68C
|
|
b _08029E58
|
|
_08029DF4:
|
|
bl sub_802A6F0
|
|
b _08029E58
|
|
_08029DFA:
|
|
bl sub_802A75C
|
|
b _08029E58
|
|
_08029E00:
|
|
bl sub_802A490
|
|
b _08029E58
|
|
_08029E06:
|
|
bl sub_802A474
|
|
b _08029E58
|
|
_08029E0C:
|
|
bl sub_802A798
|
|
b _08029E58
|
|
_08029E12:
|
|
bl sub_802A828
|
|
b _08029E58
|
|
_08029E18:
|
|
bl sub_802A850
|
|
b _08029E58
|
|
_08029E1E:
|
|
bl sub_802A8A0
|
|
b _08029E58
|
|
_08029E24:
|
|
bl sub_802A8BC
|
|
b _08029E58
|
|
_08029E2A:
|
|
bl sub_802A910
|
|
b _08029E58
|
|
_08029E30:
|
|
bl sub_802A98C
|
|
b _08029E58
|
|
_08029E36:
|
|
bl sub_802A9A8
|
|
b _08029E58
|
|
_08029E3C:
|
|
bl sub_802AA28
|
|
b _08029E58
|
|
_08029E42:
|
|
bl sub_802AAAC
|
|
b _08029E58
|
|
_08029E48:
|
|
bl sub_802AAE4
|
|
b _08029E58
|
|
_08029E4E:
|
|
bl sub_802AAC8
|
|
b _08029E58
|
|
_08029E54:
|
|
movs r0, 0x3
|
|
b _08029E5A
|
|
_08029E58:
|
|
movs r0, 0
|
|
_08029E5A:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8029C98
|
|
|
|
thumb_func_start sub_8029E60
|
|
sub_8029E60:
|
|
push {r4,lr}
|
|
ldr r4, _08029EA4
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _08029E9C
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bl CloseFile
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
bl sub_8030DE4
|
|
bl sub_801B450
|
|
bl sub_803084C
|
|
bl sub_801CBB8
|
|
bl sub_80155F0
|
|
bl sub_8031E10
|
|
bl sub_802F2C0
|
|
_08029E9C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08029EA4: .4byte gUnknown_203B2C4
|
|
thumb_func_end sub_8029E60
|
|
|
|
thumb_func_start sub_8029EA8
|
|
sub_8029EA8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08029EBC
|
|
movs r0, 0x1
|
|
bl sub_802B2BC
|
|
_08029EBC:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8029EA8
|
|
|
|
thumb_func_start sub_8029EC4
|
|
sub_8029EC4:
|
|
push {lr}
|
|
cmp r0, 0xF
|
|
bhi _08029F88
|
|
lsls r0, 2
|
|
ldr r1, _08029ED4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08029ED4: .4byte _08029ED8
|
|
.align 2, 0
|
|
_08029ED8:
|
|
.4byte _08029F88
|
|
.4byte _08029F50
|
|
.4byte _08029F50
|
|
.4byte _08029F18
|
|
.4byte _08029F20
|
|
.4byte _08029F50
|
|
.4byte _08029F28
|
|
.4byte _08029F30
|
|
.4byte _08029F88
|
|
.4byte _08029F38
|
|
.4byte _08029F88
|
|
.4byte _08029F40
|
|
.4byte _08029F88
|
|
.4byte _08029F48
|
|
.4byte _08029F50
|
|
.4byte _08029F74
|
|
_08029F18:
|
|
ldr r0, _08029F1C
|
|
b _08029F52
|
|
.align 2, 0
|
|
_08029F1C: .4byte gUnknown_80DEF28
|
|
_08029F20:
|
|
ldr r0, _08029F24
|
|
b _08029F52
|
|
.align 2, 0
|
|
_08029F24: .4byte gUnknown_80DEF80
|
|
_08029F28:
|
|
ldr r0, _08029F2C
|
|
b _08029F52
|
|
.align 2, 0
|
|
_08029F2C: .4byte gUnknown_80DEFDC
|
|
_08029F30:
|
|
ldr r0, _08029F34
|
|
b _08029F52
|
|
.align 2, 0
|
|
_08029F34: .4byte gUnknown_80DF044
|
|
_08029F38:
|
|
ldr r0, _08029F3C
|
|
b _08029F52
|
|
.align 2, 0
|
|
_08029F3C: .4byte gUnknown_80DF0A0
|
|
_08029F40:
|
|
ldr r0, _08029F44
|
|
b _08029F52
|
|
.align 2, 0
|
|
_08029F44: .4byte gUnknown_80DF0A0
|
|
_08029F48:
|
|
ldr r0, _08029F4C
|
|
b _08029F52
|
|
.align 2, 0
|
|
_08029F4C: .4byte gUnknown_80DF0E0
|
|
_08029F50:
|
|
ldr r0, _08029F68
|
|
_08029F52:
|
|
ldr r1, _08029F6C
|
|
ldr r2, [r1]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
ldr r3, _08029F70
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
b _08029F88
|
|
.align 2, 0
|
|
_08029F68: .4byte gUnknown_80DEF04
|
|
_08029F6C: .4byte gUnknown_203B2C4
|
|
_08029F70: .4byte 0x0000010d
|
|
_08029F74:
|
|
ldr r0, _08029F8C
|
|
ldr r1, _08029F90
|
|
ldr r2, [r1]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
ldr r3, _08029F94
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
_08029F88:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08029F8C: .4byte gUnknown_80DF138
|
|
_08029F90: .4byte gUnknown_203B2C4
|
|
_08029F94: .4byte 0x0000010d
|
|
thumb_func_end sub_8029EC4
|
|
|
|
thumb_func_start sub_8029F98
|
|
sub_8029F98:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
adds r6, r0, 0
|
|
cmp r6, 0
|
|
bne _0802A048
|
|
ldr r4, _08029FE4
|
|
ldr r0, [r4]
|
|
ldr r5, _08029FE8
|
|
adds r0, r5
|
|
movs r1, 0
|
|
movs r2, 0x4
|
|
bl MemoryFill8
|
|
ldr r0, [r4]
|
|
ldr r1, _08029FEC
|
|
adds r0, r1
|
|
strb r6, [r0]
|
|
ldr r0, [r4]
|
|
subs r1, 0x1
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
strb r6, [r0]
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0x44]
|
|
cmp r1, 0
|
|
bne _0802A03C
|
|
ldr r1, [r0, 0x40]
|
|
cmp r1, 0x6
|
|
beq _08029FF0
|
|
cmp r1, 0x7
|
|
beq _0802A034
|
|
b _0802A048
|
|
.align 2, 0
|
|
_08029FE4: .4byte gUnknown_203B2C4
|
|
_08029FE8: .4byte 0x0000041c
|
|
_08029FEC: .4byte 0x0000041e
|
|
_08029FF0:
|
|
ldr r1, _0802A004
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0x4
|
|
beq _0802A020
|
|
cmp r0, 0x4
|
|
bgt _0802A008
|
|
cmp r0, 0x3
|
|
beq _0802A00C
|
|
b _0802A020
|
|
.align 2, 0
|
|
_0802A004: .4byte 0x00000534
|
|
_0802A008:
|
|
cmp r0, 0x6
|
|
bgt _0802A020
|
|
_0802A00C:
|
|
ldr r0, _0802A028
|
|
ldr r1, _0802A02C
|
|
ldr r2, [r1]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
ldr r3, _0802A030
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
_0802A020:
|
|
movs r0, 0xD
|
|
bl sub_802B2BC
|
|
b _0802A048
|
|
.align 2, 0
|
|
_0802A028: .4byte gUnknown_80DF194
|
|
_0802A02C: .4byte gUnknown_203B2C4
|
|
_0802A030: .4byte 0x0000010d
|
|
_0802A034:
|
|
movs r0, 0x21
|
|
bl sub_802B2BC
|
|
b _0802A048
|
|
_0802A03C:
|
|
adds r0, r1, 0
|
|
bl sub_8029EC4
|
|
movs r0, 0x1F
|
|
bl sub_802B2BC
|
|
_0802A048:
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8029F98
|
|
|
|
thumb_func_start sub_802A050
|
|
sub_802A050:
|
|
push {lr}
|
|
bl sub_8031DCC
|
|
cmp r0, 0x1
|
|
beq _0802A088
|
|
cmp r0, 0x1
|
|
bcc _0802A08C
|
|
cmp r0, 0x3
|
|
bhi _0802A08C
|
|
bl sub_8031E10
|
|
bl sub_8004914
|
|
ldr r0, _0802A084
|
|
ldr r0, [r0]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x1B
|
|
bl sub_802B2BC
|
|
b _0802A08C
|
|
.align 2, 0
|
|
_0802A084: .4byte gUnknown_203B2C4
|
|
_0802A088:
|
|
bl sub_8031E00
|
|
_0802A08C:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A050
|
|
|
|
thumb_func_start sub_802A090
|
|
sub_802A090:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A0C2
|
|
ldr r0, [sp]
|
|
cmp r0, 0x7
|
|
beq _0802A0B4
|
|
cmp r0, 0x7
|
|
bgt _0802A0AE
|
|
cmp r0, 0
|
|
beq _0802A0BC
|
|
b _0802A0C2
|
|
_0802A0AE:
|
|
cmp r0, 0x8
|
|
beq _0802A0BC
|
|
b _0802A0C2
|
|
_0802A0B4:
|
|
movs r0, 0x6
|
|
bl sub_802B2BC
|
|
b _0802A0C2
|
|
_0802A0BC:
|
|
movs r0, 0x1
|
|
bl sub_802B2BC
|
|
_0802A0C2:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A090
|
|
|
|
thumb_func_start sub_802A0C8
|
|
sub_802A0C8:
|
|
push {r4,r5,lr}
|
|
movs r0, 0x1
|
|
bl sub_8030768
|
|
cmp r0, 0x3
|
|
beq _0802A0F0
|
|
cmp r0, 0x3
|
|
bhi _0802A0DE
|
|
cmp r0, 0x2
|
|
beq _0802A0E4
|
|
b _0802A14E
|
|
_0802A0DE:
|
|
cmp r0, 0x4
|
|
beq _0802A10C
|
|
b _0802A14E
|
|
_0802A0E4:
|
|
bl sub_803084C
|
|
movs r0, 0x1
|
|
bl sub_802B2BC
|
|
b _0802A14E
|
|
_0802A0F0:
|
|
bl sub_80307EC
|
|
ldr r1, _0802A108
|
|
ldr r1, [r1]
|
|
movs r2, 0x86
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
movs r0, 0x11
|
|
bl sub_802B2BC
|
|
b _0802A14E
|
|
.align 2, 0
|
|
_0802A108: .4byte gUnknown_203B2C4
|
|
_0802A10C:
|
|
ldr r4, _0802A154
|
|
ldr r1, [r4]
|
|
movs r0, 0x10
|
|
str r0, [r1, 0x4]
|
|
bl sub_80307EC
|
|
ldr r1, [r4]
|
|
movs r5, 0x86
|
|
lsls r5, 2
|
|
adds r1, r5
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_8030D40
|
|
movs r0, 0x12
|
|
bl sub_802B2BC
|
|
_0802A14E:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802A154: .4byte gUnknown_203B2C4
|
|
thumb_func_end sub_802A0C8
|
|
|
|
thumb_func_start sub_802A158
|
|
sub_802A158:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A16C
|
|
movs r0, 0x10
|
|
bl sub_802B2BC
|
|
_0802A16C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A158
|
|
|
|
thumb_func_start sub_802A174
|
|
sub_802A174:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
bl sub_8030768
|
|
ldr r4, _0802A1B8
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802A1A6
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_0802A1A6:
|
|
ldr r0, [sp]
|
|
cmp r0, 0xB
|
|
beq _0802A1C6
|
|
cmp r0, 0xB
|
|
bgt _0802A1BC
|
|
cmp r0, 0
|
|
beq _0802A208
|
|
b _0802A224
|
|
.align 2, 0
|
|
_0802A1B8: .4byte gUnknown_203B2C4
|
|
_0802A1BC:
|
|
cmp r0, 0xC
|
|
beq _0802A1D2
|
|
cmp r0, 0xD
|
|
beq _0802A208
|
|
b _0802A224
|
|
_0802A1C6:
|
|
bl sub_803084C
|
|
movs r0, 0xE
|
|
bl sub_802B2BC
|
|
b _0802A224
|
|
_0802A1D2:
|
|
ldr r0, [r4]
|
|
movs r1, 0x2B
|
|
str r1, [r0, 0x4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
movs r1, 0x86
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_8030D40
|
|
movs r0, 0x12
|
|
bl sub_802B2BC
|
|
b _0802A224
|
|
_0802A208:
|
|
ldr r0, _0802A22C
|
|
ldr r0, [r0]
|
|
movs r1, 0xD7
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
bl sub_8035CC0
|
|
movs r0, 0x1
|
|
bl sub_8030810
|
|
movs r0, 0x10
|
|
bl sub_802B2BC
|
|
_0802A224:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802A22C: .4byte gUnknown_203B2C4
|
|
thumb_func_end sub_802A174
|
|
|
|
thumb_func_start sub_802A230
|
|
sub_802A230:
|
|
push {r4,lr}
|
|
bl sub_8030DA0
|
|
cmp r0, 0x3
|
|
bhi _0802A284
|
|
cmp r0, 0x2
|
|
bcc _0802A284
|
|
bl sub_8030DE4
|
|
bl sub_8004914
|
|
ldr r4, _0802A27C
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
bl sub_803092C
|
|
ldr r4, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
cmp r0, 0x2B
|
|
bne _0802A280
|
|
movs r1, 0x87
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
movs r0, 0x11
|
|
bl sub_802B2BC
|
|
b _0802A284
|
|
.align 2, 0
|
|
_0802A27C: .4byte gUnknown_203B2C4
|
|
_0802A280:
|
|
bl sub_802B2BC
|
|
_0802A284:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A230
|
|
|
|
thumb_func_start sub_802A28C
|
|
sub_802A28C:
|
|
push {r4-r6,lr}
|
|
ldr r4, _0802A2C0
|
|
ldr r0, [r4]
|
|
ldr r5, _0802A2C4
|
|
adds r0, r5
|
|
movs r2, 0
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
ldr r1, _0802A2C8
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
ldr r6, _0802A2CC
|
|
adds r0, r6
|
|
strb r2, [r0]
|
|
movs r0, 0x1
|
|
bl sub_801CA08
|
|
cmp r0, 0x3
|
|
beq _0802A2E2
|
|
cmp r0, 0x3
|
|
bhi _0802A2D0
|
|
cmp r0, 0x2
|
|
beq _0802A2D6
|
|
b _0802A334
|
|
.align 2, 0
|
|
_0802A2C0: .4byte gUnknown_203B2C4
|
|
_0802A2C4: .4byte 0x0000041e
|
|
_0802A2C8: .4byte 0x0000041d
|
|
_0802A2CC: .4byte 0x0000041c
|
|
_0802A2D0:
|
|
cmp r0, 0x4
|
|
beq _0802A2FC
|
|
b _0802A334
|
|
_0802A2D6:
|
|
bl sub_801CBB8
|
|
movs r0, 0x1
|
|
bl sub_802B2BC
|
|
b _0802A334
|
|
_0802A2E2:
|
|
bl sub_801CB24
|
|
ldr r1, [r4]
|
|
ldr r2, _0802A2F8
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
movs r0, 0x14
|
|
bl sub_802B2BC
|
|
b _0802A334
|
|
.align 2, 0
|
|
_0802A2F8: .4byte 0x0000041e
|
|
_0802A2FC:
|
|
ldr r1, [r4]
|
|
movs r0, 0x13
|
|
str r0, [r1, 0x4]
|
|
bl sub_801CB24
|
|
ldr r1, [r4]
|
|
adds r1, r5
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
adds r0, r6
|
|
bl sub_801B3C0
|
|
movs r0, 0x15
|
|
bl sub_802B2BC
|
|
_0802A334:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A28C
|
|
|
|
thumb_func_start sub_802A33C
|
|
sub_802A33C:
|
|
push {r4,lr}
|
|
bl sub_801B410
|
|
cmp r0, 0x1
|
|
beq _0802A394
|
|
cmp r0, 0x1
|
|
bcc _0802A394
|
|
cmp r0, 0x3
|
|
bhi _0802A394
|
|
bl sub_801B450
|
|
bl sub_8004914
|
|
ldr r4, _0802A38C
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x1
|
|
bl sub_801CB5C
|
|
ldr r4, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
cmp r0, 0x2B
|
|
bne _0802A390
|
|
movs r1, 0x87
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
movs r0, 0x14
|
|
bl sub_802B2BC
|
|
b _0802A394
|
|
.align 2, 0
|
|
_0802A38C: .4byte gUnknown_203B2C4
|
|
_0802A390:
|
|
bl sub_802B2BC
|
|
_0802A394:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A33C
|
|
|
|
thumb_func_start sub_802A39C
|
|
sub_802A39C:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
bl sub_801CA08
|
|
ldr r4, _0802A3E0
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802A3CE
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_0802A3CE:
|
|
ldr r0, [sp]
|
|
cmp r0, 0xB
|
|
beq _0802A3EE
|
|
cmp r0, 0xB
|
|
bgt _0802A3E4
|
|
cmp r0, 0
|
|
beq _0802A430
|
|
b _0802A44A
|
|
.align 2, 0
|
|
_0802A3E0: .4byte gUnknown_203B2C4
|
|
_0802A3E4:
|
|
cmp r0, 0xC
|
|
beq _0802A3FA
|
|
cmp r0, 0xD
|
|
beq _0802A430
|
|
b _0802A44A
|
|
_0802A3EE:
|
|
bl sub_801CBB8
|
|
movs r0, 0xC
|
|
bl sub_802B2BC
|
|
b _0802A44A
|
|
_0802A3FA:
|
|
ldr r0, [r4]
|
|
movs r1, 0x2B
|
|
str r1, [r0, 0x4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
ldr r1, _0802A42C
|
|
adds r0, r1
|
|
bl sub_801B3C0
|
|
movs r0, 0x15
|
|
bl sub_802B2BC
|
|
b _0802A44A
|
|
.align 2, 0
|
|
_0802A42C: .4byte 0x0000041c
|
|
_0802A430:
|
|
ldr r0, _0802A454
|
|
ldr r0, [r0]
|
|
movs r1, 0xD7
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x3
|
|
bl sub_8035CC0
|
|
bl sub_801CCD8
|
|
movs r0, 0x13
|
|
bl sub_802B2BC
|
|
_0802A44A:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802A454: .4byte gUnknown_203B2C4
|
|
thumb_func_end sub_802A39C
|
|
|
|
thumb_func_start sub_802A458
|
|
sub_802A458:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A46C
|
|
movs r0, 0xD
|
|
bl sub_802B2BC
|
|
_0802A46C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A458
|
|
|
|
thumb_func_start sub_802A474
|
|
sub_802A474:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A488
|
|
movs r0, 0x3
|
|
bl sub_802B2BC
|
|
_0802A488:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A474
|
|
|
|
thumb_func_start sub_802A490
|
|
sub_802A490:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A4A4
|
|
movs r0, 0x3
|
|
bl sub_802B2BC
|
|
_0802A4A4:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A490
|
|
|
|
thumb_func_start sub_802A4AC
|
|
sub_802A4AC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A4CC
|
|
movs r0, 0x18
|
|
bl sub_802B2BC
|
|
movs r0, 0x1
|
|
bl sub_8011C28
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_0802A4CC:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A4AC
|
|
|
|
thumb_func_start sub_802A4D4
|
|
sub_802A4D4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A4E8
|
|
movs r0, 0x1A
|
|
bl sub_802B2BC
|
|
_0802A4E8:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A4D4
|
|
|
|
thumb_func_start sub_802A4F0
|
|
sub_802A4F0:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A504
|
|
movs r0, 0x27
|
|
bl sub_802B2BC
|
|
_0802A504:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A4F0
|
|
|
|
thumb_func_start sub_802A50C
|
|
sub_802A50C:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x44
|
|
bl sub_80154F0
|
|
adds r4, r0, 0
|
|
add r0, sp, 0x14
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
cmp r4, 0x2
|
|
bne _0802A526
|
|
b _0802A660
|
|
_0802A526:
|
|
cmp r4, 0x3
|
|
beq _0802A52C
|
|
b _0802A680
|
|
_0802A52C:
|
|
ldr r0, _0802A54C
|
|
ldr r1, [r0]
|
|
adds r1, 0x8
|
|
movs r0, 0x20
|
|
add r2, sp, 0x14
|
|
bl sub_8039068
|
|
subs r0, 0x7
|
|
cmp r0, 0x11
|
|
bls _0802A542
|
|
b _0802A654
|
|
_0802A542:
|
|
lsls r0, 2
|
|
ldr r1, _0802A550
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802A54C: .4byte gUnknown_203B2C4
|
|
_0802A550: .4byte _0802A554
|
|
.align 2, 0
|
|
_0802A554:
|
|
.4byte _0802A654
|
|
.4byte _0802A654
|
|
.4byte _0802A654
|
|
.4byte _0802A654
|
|
.4byte _0802A5F0
|
|
.4byte _0802A654
|
|
.4byte _0802A654
|
|
.4byte _0802A654
|
|
.4byte _0802A654
|
|
.4byte _0802A654
|
|
.4byte _0802A59C
|
|
.4byte _0802A654
|
|
.4byte _0802A654
|
|
.4byte _0802A5D8
|
|
.4byte _0802A654
|
|
.4byte _0802A654
|
|
.4byte _0802A654
|
|
.4byte _0802A618
|
|
_0802A59C:
|
|
ldr r0, _0802A5CC
|
|
ldr r3, _0802A5D0
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
ldr r1, _0802A5D4
|
|
ldr r1, [r1]
|
|
movs r2, 0x84
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x7
|
|
bl sub_8014248
|
|
movs r0, 0x28
|
|
bl sub_802B2BC
|
|
b _0802A654
|
|
.align 2, 0
|
|
_0802A5CC: .4byte gUnknown_80DF1C0
|
|
_0802A5D0: .4byte gUnknown_80DEE44
|
|
_0802A5D4: .4byte gUnknown_203B2C4
|
|
_0802A5D8:
|
|
ldr r0, _0802A5E8
|
|
ldr r1, _0802A5EC
|
|
ldr r2, [r1]
|
|
movs r3, 0x84
|
|
lsls r3, 3
|
|
adds r2, r3
|
|
b _0802A5FC
|
|
.align 2, 0
|
|
_0802A5E8: .4byte gUnknown_80DF208
|
|
_0802A5EC: .4byte gUnknown_203B2C4
|
|
_0802A5F0:
|
|
ldr r0, _0802A60C
|
|
ldr r1, _0802A610
|
|
ldr r2, [r1]
|
|
movs r4, 0x84
|
|
lsls r4, 3
|
|
adds r2, r4
|
|
_0802A5FC:
|
|
ldr r3, _0802A614
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
movs r0, 0x1F
|
|
bl sub_802B2BC
|
|
b _0802A654
|
|
.align 2, 0
|
|
_0802A60C: .4byte gUnknown_80DF0A0
|
|
_0802A610: .4byte gUnknown_203B2C4
|
|
_0802A614: .4byte 0x0000010d
|
|
_0802A618:
|
|
ldr r1, [sp, 0x24]
|
|
movs r0, 0x4
|
|
bl sub_809539C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8095228
|
|
adds r2, r0, 0
|
|
add r1, sp, 0x14
|
|
ldm r1!, {r3-r5}
|
|
stm r2!, {r3-r5}
|
|
ldm r1!, {r3-r5}
|
|
stm r2!, {r3-r5}
|
|
ldm r1!, {r3-r5}
|
|
stm r2!, {r3-r5}
|
|
ldm r1!, {r3-r5}
|
|
stm r2!, {r3-r5}
|
|
movs r1, 0x6
|
|
strb r1, [r0]
|
|
ldr r0, _0802A65C
|
|
ldr r0, [r0]
|
|
movs r5, 0x86
|
|
lsls r5, 3
|
|
adds r0, r5
|
|
ldr r1, [sp, 0x24]
|
|
str r1, [r0]
|
|
movs r0, 0x21
|
|
bl sub_802B2BC
|
|
_0802A654:
|
|
bl sub_80155F0
|
|
b _0802A680
|
|
.align 2, 0
|
|
_0802A65C: .4byte gUnknown_203B2C4
|
|
_0802A660:
|
|
bl sub_80155F0
|
|
bl sub_8004914
|
|
ldr r0, _0802A688
|
|
ldr r0, [r0]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x1
|
|
bl sub_802B2BC
|
|
_0802A680:
|
|
add sp, 0x44
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802A688: .4byte gUnknown_203B2C4
|
|
thumb_func_end sub_802A50C
|
|
|
|
thumb_func_start sub_802A68C
|
|
sub_802A68C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A6AE
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802A6AE
|
|
bl sub_8012750
|
|
movs r0, 0xD
|
|
bl sub_802B2BC
|
|
_0802A6AE:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A68C
|
|
|
|
thumb_func_start sub_802A6B4
|
|
sub_802A6B4:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A6E8
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802A6E8
|
|
bl sub_8012744
|
|
adds r4, r0, 0
|
|
bl sub_8012750
|
|
cmp r4, 0
|
|
bne _0802A6E2
|
|
movs r0, 0x20
|
|
bl sub_802B2BC
|
|
b _0802A6E8
|
|
_0802A6E2:
|
|
movs r0, 0x3
|
|
bl sub_802B2BC
|
|
_0802A6E8:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A6B4
|
|
|
|
thumb_func_start sub_802A6F0
|
|
sub_802A6F0:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A710
|
|
movs r0, 0x18
|
|
bl sub_802B2BC
|
|
movs r0, 0x1
|
|
bl sub_8011C28
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_0802A710:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A6F0
|
|
|
|
thumb_func_start sub_802A718
|
|
sub_802A718:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A738
|
|
movs r0, 0x25
|
|
bl sub_802B2BC
|
|
movs r0, 0x1
|
|
bl sub_8011C28
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_0802A738:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A718
|
|
|
|
thumb_func_start sub_802A740
|
|
sub_802A740:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A754
|
|
movs r0, 0x1E
|
|
bl sub_802B2BC
|
|
_0802A754:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A740
|
|
|
|
thumb_func_start sub_802A75C
|
|
sub_802A75C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A792
|
|
ldr r0, [sp]
|
|
cmp r0, 0
|
|
beq _0802A78C
|
|
cmp r0, 0x7
|
|
bne _0802A792
|
|
ldr r0, _0802A788
|
|
ldr r0, [r0]
|
|
movs r1, 0xA7
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r0, 0x16
|
|
bl sub_802B2BC
|
|
b _0802A792
|
|
.align 2, 0
|
|
_0802A788: .4byte gUnknown_203B2C4
|
|
_0802A78C:
|
|
movs r0, 0x1
|
|
bl sub_802B2BC
|
|
_0802A792:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A75C
|
|
|
|
thumb_func_start sub_802A798
|
|
sub_802A798:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A81E
|
|
ldr r0, [sp]
|
|
cmp r0, 0x7
|
|
beq _0802A7BC
|
|
cmp r0, 0x7
|
|
bgt _0802A7B6
|
|
cmp r0, 0
|
|
beq _0802A818
|
|
b _0802A81E
|
|
_0802A7B6:
|
|
cmp r0, 0x8
|
|
beq _0802A810
|
|
b _0802A81E
|
|
_0802A7BC:
|
|
ldr r4, _0802A800
|
|
ldr r0, [r4]
|
|
movs r1, 0x86
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl sub_8095228
|
|
adds r2, r0, 0
|
|
ldr r1, [r4]
|
|
ldr r3, _0802A804
|
|
adds r0, r1, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0802A7E2
|
|
ldr r5, _0802A808
|
|
adds r0, r1, r5
|
|
ldr r0, [r0]
|
|
str r0, [r2, 0x20]
|
|
_0802A7E2:
|
|
ldr r0, _0802A80C
|
|
ldr r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
subs r0, 0x1
|
|
strh r0, [r1]
|
|
movs r0, 0x29
|
|
bl sub_802B2BC
|
|
b _0802A81E
|
|
.align 2, 0
|
|
_0802A800: .4byte gUnknown_203B2C4
|
|
_0802A804: .4byte 0x0000041e
|
|
_0802A808: .4byte 0x0000041c
|
|
_0802A80C: .4byte gUnknown_203B460
|
|
_0802A810:
|
|
movs r0, 0xB
|
|
bl sub_802B2BC
|
|
b _0802A81E
|
|
_0802A818:
|
|
movs r0, 0x1
|
|
bl sub_802B2BC
|
|
_0802A81E:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A798
|
|
|
|
thumb_func_start sub_802A828
|
|
sub_802A828:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A848
|
|
movs r0, 0x2A
|
|
bl sub_802B2BC
|
|
movs r0, 0x1
|
|
bl sub_8011C28
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_0802A848:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A828
|
|
|
|
thumb_func_start sub_802A850
|
|
sub_802A850:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A89A
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802A89A
|
|
bl sub_8012750
|
|
ldr r0, _0802A884
|
|
ldr r0, [r0]
|
|
ldr r1, _0802A888
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0x3
|
|
blt _0802A89A
|
|
cmp r0, 0x4
|
|
ble _0802A88C
|
|
cmp r0, 0x5
|
|
beq _0802A894
|
|
b _0802A89A
|
|
.align 2, 0
|
|
_0802A884: .4byte gUnknown_203B2C4
|
|
_0802A888: .4byte 0x00000534
|
|
_0802A88C:
|
|
movs r0, 0x1D
|
|
bl sub_802B2BC
|
|
b _0802A89A
|
|
_0802A894:
|
|
movs r0, 0x19
|
|
bl sub_802B2BC
|
|
_0802A89A:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A850
|
|
|
|
thumb_func_start sub_802A8A0
|
|
sub_802A8A0:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A8B4
|
|
movs r0, 0x13
|
|
bl sub_802B2BC
|
|
_0802A8B4:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A8A0
|
|
|
|
thumb_func_start sub_802A8BC
|
|
sub_802A8BC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A90A
|
|
ldr r0, [sp]
|
|
cmp r0, 0
|
|
beq _0802A904
|
|
cmp r0, 0xA
|
|
bne _0802A90A
|
|
ldr r0, _0802A8EC
|
|
ldr r0, [r0]
|
|
ldr r1, _0802A8F0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0x3
|
|
blt _0802A90A
|
|
cmp r0, 0x4
|
|
ble _0802A8F4
|
|
cmp r0, 0x5
|
|
beq _0802A8FC
|
|
b _0802A90A
|
|
.align 2, 0
|
|
_0802A8EC: .4byte gUnknown_203B2C4
|
|
_0802A8F0: .4byte 0x00000534
|
|
_0802A8F4:
|
|
movs r0, 0x1D
|
|
bl sub_802B2BC
|
|
b _0802A90A
|
|
_0802A8FC:
|
|
movs r0, 0x19
|
|
bl sub_802B2BC
|
|
b _0802A90A
|
|
_0802A904:
|
|
movs r0, 0x1
|
|
bl sub_802B2BC
|
|
_0802A90A:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A8BC
|
|
|
|
thumb_func_start sub_802A910
|
|
sub_802A910:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A986
|
|
ldr r0, [sp]
|
|
cmp r0, 0x9
|
|
beq _0802A934
|
|
cmp r0, 0x9
|
|
bgt _0802A92E
|
|
cmp r0, 0
|
|
beq _0802A980
|
|
b _0802A986
|
|
_0802A92E:
|
|
cmp r0, 0xA
|
|
beq _0802A950
|
|
b _0802A986
|
|
_0802A934:
|
|
movs r0, 0
|
|
bl sub_801CF14
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802A948
|
|
movs r0, 0xA
|
|
bl sub_802B2BC
|
|
b _0802A986
|
|
_0802A948:
|
|
movs r0, 0xB
|
|
bl sub_802B2BC
|
|
b _0802A986
|
|
_0802A950:
|
|
ldr r0, _0802A968
|
|
ldr r0, [r0]
|
|
ldr r1, _0802A96C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0x3
|
|
blt _0802A986
|
|
cmp r0, 0x4
|
|
ble _0802A970
|
|
cmp r0, 0x5
|
|
beq _0802A978
|
|
b _0802A986
|
|
.align 2, 0
|
|
_0802A968: .4byte gUnknown_203B2C4
|
|
_0802A96C: .4byte 0x00000534
|
|
_0802A970:
|
|
movs r0, 0x1D
|
|
bl sub_802B2BC
|
|
b _0802A986
|
|
_0802A978:
|
|
movs r0, 0x19
|
|
bl sub_802B2BC
|
|
b _0802A986
|
|
_0802A980:
|
|
movs r0, 0x1
|
|
bl sub_802B2BC
|
|
_0802A986:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A910
|
|
|
|
thumb_func_start sub_802A98C
|
|
sub_802A98C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A9A0
|
|
movs r0, 0x8
|
|
bl sub_802B2BC
|
|
_0802A9A0:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A98C
|
|
|
|
thumb_func_start sub_802A9A8
|
|
sub_802A9A8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802A9F6
|
|
ldr r0, [sp]
|
|
cmp r0, 0
|
|
beq _0802A9F0
|
|
cmp r0, 0x7
|
|
bne _0802A9F6
|
|
ldr r0, _0802A9D8
|
|
ldr r0, [r0]
|
|
ldr r1, _0802A9DC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0x3
|
|
blt _0802A9F6
|
|
cmp r0, 0x4
|
|
ble _0802A9E0
|
|
cmp r0, 0x5
|
|
beq _0802A9E8
|
|
b _0802A9F6
|
|
.align 2, 0
|
|
_0802A9D8: .4byte gUnknown_203B2C4
|
|
_0802A9DC: .4byte 0x00000534
|
|
_0802A9E0:
|
|
movs r0, 0x1D
|
|
bl sub_802B2BC
|
|
b _0802A9F6
|
|
_0802A9E8:
|
|
movs r0, 0x19
|
|
bl sub_802B2BC
|
|
b _0802A9F6
|
|
_0802A9F0:
|
|
movs r0, 0x1
|
|
bl sub_802B2BC
|
|
_0802A9F6:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A9A8
|
|
|
|
thumb_func_start sub_802A9FC
|
|
sub_802A9FC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802AA22
|
|
ldr r0, [sp]
|
|
cmp r0, 0
|
|
beq _0802AA1C
|
|
cmp r0, 0x7
|
|
bne _0802AA22
|
|
movs r0, 0x26
|
|
bl sub_802B2BC
|
|
b _0802AA22
|
|
_0802AA1C:
|
|
movs r0, 0x1
|
|
bl sub_802B2BC
|
|
_0802AA22:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802A9FC
|
|
|
|
thumb_func_start sub_802AA28
|
|
sub_802AA28:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802AAA6
|
|
ldr r2, [sp]
|
|
cmp r2, 0
|
|
beq _0802AAA0
|
|
cmp r2, 0
|
|
blt _0802AAA6
|
|
cmp r2, 0x5
|
|
bgt _0802AAA6
|
|
cmp r2, 0x3
|
|
blt _0802AAA6
|
|
ldr r0, _0802AA7C
|
|
ldr r0, [r0]
|
|
ldr r3, _0802AA80
|
|
adds r1, r0, r3
|
|
str r2, [r1]
|
|
movs r1, 0xA7
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0x1
|
|
bne _0802AA8C
|
|
movs r0, 0x5
|
|
bl sub_80953D4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8095228
|
|
adds r0, 0x22
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0802AA84
|
|
movs r0, 0x7
|
|
bl sub_802B2BC
|
|
b _0802AAA6
|
|
.align 2, 0
|
|
_0802AA7C: .4byte gUnknown_203B2C4
|
|
_0802AA80: .4byte 0x00000534
|
|
_0802AA84:
|
|
movs r0, 0x9
|
|
bl sub_802B2BC
|
|
b _0802AAA6
|
|
_0802AA8C:
|
|
cmp r2, 0x5
|
|
bne _0802AA98
|
|
movs r0, 0x26
|
|
bl sub_802B2BC
|
|
b _0802AAA6
|
|
_0802AA98:
|
|
movs r0, 0x1D
|
|
bl sub_802B2BC
|
|
b _0802AAA6
|
|
_0802AAA0:
|
|
movs r0, 0x1
|
|
bl sub_802B2BC
|
|
_0802AAA6:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802AA28
|
|
|
|
thumb_func_start sub_802AAAC
|
|
sub_802AAAC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802AAC0
|
|
movs r0, 0x1
|
|
bl sub_802B2BC
|
|
_0802AAC0:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802AAAC
|
|
|
|
thumb_func_start sub_802AAC8
|
|
sub_802AAC8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802AADC
|
|
movs r0, 0x3
|
|
bl sub_802B2BC
|
|
_0802AADC:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802AAC8
|
|
|
|
thumb_func_start sub_802AAE4
|
|
sub_802AAE4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802AB5A
|
|
ldr r2, [sp]
|
|
cmp r2, 0x1
|
|
beq _0802AB08
|
|
cmp r2, 0x1
|
|
bgt _0802AB02
|
|
cmp r2, 0
|
|
beq _0802AB54
|
|
b _0802AB5A
|
|
_0802AB02:
|
|
cmp r2, 0x2
|
|
beq _0802AB38
|
|
b _0802AB5A
|
|
_0802AB08:
|
|
ldr r0, _0802AB2C
|
|
ldr r0, [r0]
|
|
movs r1, 0x6
|
|
str r1, [r0, 0x40]
|
|
movs r1, 0xA7
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
str r2, [r0]
|
|
movs r0, 0x5
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
bne _0802AB30
|
|
movs r0, 0x4
|
|
bl sub_802B2BC
|
|
b _0802AB5A
|
|
.align 2, 0
|
|
_0802AB2C: .4byte gUnknown_203B2C4
|
|
_0802AB30:
|
|
movs r0, 0xF
|
|
bl sub_802B2BC
|
|
b _0802AB5A
|
|
_0802AB38:
|
|
ldr r0, _0802AB50
|
|
ldr r0, [r0]
|
|
movs r1, 0x7
|
|
str r1, [r0, 0x40]
|
|
movs r1, 0xA7
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
str r2, [r0]
|
|
movs r0, 0x6
|
|
bl sub_802B2BC
|
|
b _0802AB5A
|
|
.align 2, 0
|
|
_0802AB50: .4byte gUnknown_203B2C4
|
|
_0802AB54:
|
|
movs r0, 0x2
|
|
bl sub_802B2BC
|
|
_0802AB5A:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802AAE4
|
|
|
|
thumb_func_start sub_802AB60
|
|
sub_802AB60:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802AB74
|
|
movs r0, 0x22
|
|
bl sub_802B2BC
|
|
_0802AB74:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802AB60
|
|
|
|
thumb_func_start sub_802AB7C
|
|
sub_802AB7C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802AB90
|
|
movs r0, 0x22
|
|
bl sub_802B2BC
|
|
_0802AB90:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802AB7C
|
|
|
|
thumb_func_start sub_802AB98
|
|
sub_802AB98:
|
|
push {r4,lr}
|
|
bl sub_802F298
|
|
cmp r0, 0x3
|
|
bne _0802ABE0
|
|
bl sub_802F2C0
|
|
ldr r0, _0802ABE8
|
|
movs r4, 0x98
|
|
lsls r4, 1
|
|
adds r1, r4, 0
|
|
bl sub_808D8E0
|
|
adds r0, r4, 0
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r0, _0802ABEC
|
|
bl strcpy
|
|
ldr r0, _0802ABF0
|
|
ldr r0, [r0]
|
|
movs r1, 0x86
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
movs r0, 0x6
|
|
bl sub_809539C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8095240
|
|
movs r0, 0x24
|
|
bl sub_802B2BC
|
|
_0802ABE0:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802ABE8: .4byte gUnknown_202E5D8
|
|
_0802ABEC: .4byte gUnknown_202DF98
|
|
_0802ABF0: .4byte gUnknown_203B2C4
|
|
thumb_func_end sub_802AB98
|
|
|
|
thumb_func_start nullsub_131
|
|
nullsub_131:
|
|
bx lr
|
|
thumb_func_end nullsub_131
|
|
|
|
thumb_func_start sub_802ABF8
|
|
sub_802ABF8:
|
|
push {r4-r6,lr}
|
|
sub sp, 0xB8
|
|
ldr r1, _0802AC14
|
|
ldr r0, [r1]
|
|
ldrb r0, [r0]
|
|
adds r6, r1, 0
|
|
cmp r0, 0x2A
|
|
bls _0802AC0A
|
|
b _0802B2AA
|
|
_0802AC0A:
|
|
lsls r0, 2
|
|
ldr r1, _0802AC18
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802AC14: .4byte gUnknown_203B2C4
|
|
_0802AC18: .4byte _0802AC1C
|
|
.align 2, 0
|
|
_0802AC1C:
|
|
.4byte _0802B1DC
|
|
.4byte _0802B1FC
|
|
.4byte _0802B22C
|
|
.4byte _0802B2AA
|
|
.4byte _0802B1D4
|
|
.4byte _0802ACC8
|
|
.4byte _0802B248
|
|
.4byte _0802B194
|
|
.4byte _0802B1A4
|
|
.4byte _0802B168
|
|
.4byte _0802B138
|
|
.4byte _0802B128
|
|
.4byte _0802B0F0
|
|
.4byte _0802B0AC
|
|
.4byte _0802AD08
|
|
.4byte _0802AD18
|
|
.4byte _0802AD20
|
|
.4byte _0802AD46
|
|
.4byte _0802B2AA
|
|
.4byte _0802AD80
|
|
.4byte _0802ADB0
|
|
.4byte _0802B2AA
|
|
.4byte _0802B07C
|
|
.4byte _0802B094
|
|
.4byte _0802B2AA
|
|
.4byte _0802AF50
|
|
.4byte _0802AF1A
|
|
.4byte _0802AF46
|
|
.4byte _0802B2AA
|
|
.4byte _0802B0A4
|
|
.4byte _0802ADF8
|
|
.4byte _0802B2AA
|
|
.4byte _0802AF70
|
|
.4byte _0802AF78
|
|
.4byte _0802AFAC
|
|
.4byte _0802B2AA
|
|
.4byte _0802AF60
|
|
.4byte _0802B2AA
|
|
.4byte _0802AEEC
|
|
.4byte _0802AEF4
|
|
.4byte _0802B2AA
|
|
.4byte _0802B110
|
|
.4byte _0802B120
|
|
_0802ACC8:
|
|
bl sub_808D33C
|
|
adds r1, r0, 0
|
|
adds r1, 0x4C
|
|
add r0, sp, 0x14
|
|
movs r2, 0xA
|
|
bl sub_80922B4
|
|
ldr r5, _0802ACF8
|
|
ldr r0, [r5]
|
|
ldr r4, _0802ACFC
|
|
adds r0, r4
|
|
ldr r1, _0802AD00
|
|
add r2, sp, 0x14
|
|
bl sub_800D158
|
|
ldr r2, [r5]
|
|
adds r4, r2, r4
|
|
movs r0, 0x84
|
|
lsls r0, 3
|
|
adds r2, r0
|
|
ldr r3, _0802AD04
|
|
adds r0, r4, 0
|
|
b _0802B238
|
|
.align 2, 0
|
|
_0802ACF8: .4byte gUnknown_203B2C4
|
|
_0802ACFC: .4byte 0x00000434
|
|
_0802AD00: .4byte gUnknown_80DF250
|
|
_0802AD04: .4byte 0x0000010d
|
|
_0802AD08:
|
|
ldr r0, _0802AD10
|
|
ldr r3, _0802AD14
|
|
b _0802B1A8
|
|
.align 2, 0
|
|
_0802AD10: .4byte gUnknown_80DF304
|
|
_0802AD14: .4byte gUnknown_80DEE60
|
|
_0802AD18:
|
|
ldr r0, _0802AD1C
|
|
b _0802B22E
|
|
.align 2, 0
|
|
_0802AD1C: .4byte gUnknown_80DF330
|
|
_0802AD20:
|
|
bl sub_8030894
|
|
cmp r0, 0
|
|
beq _0802AD2A
|
|
b _0802B2AA
|
|
_0802AD2A:
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x5
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x6
|
|
bl sub_80306A8
|
|
b _0802B2AA
|
|
_0802AD46:
|
|
ldr r0, [r6]
|
|
movs r4, 0xD7
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
bl sub_8006518
|
|
ldr r1, [r6]
|
|
movs r5, 0x87
|
|
lsls r5, 2
|
|
adds r0, r1, r5
|
|
adds r1, r4
|
|
ldr r3, _0802AD78
|
|
ldr r2, _0802AD7C
|
|
str r2, [sp]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
movs r2, 0x3
|
|
bl SetMenuItems
|
|
bl sub_803092C
|
|
b _0802ADE0
|
|
.align 2, 0
|
|
_0802AD78: .4byte gUnknown_80DED60
|
|
_0802AD7C: .4byte gUnknown_80DED78
|
|
_0802AD80:
|
|
bl sub_801D008
|
|
cmp r0, 0
|
|
beq _0802AD8A
|
|
b _0802B2AA
|
|
_0802AD8A:
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
add r2, sp, 0xB4
|
|
ldr r0, _0802ADAC
|
|
str r0, [r2]
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r3, 0x9
|
|
bl sub_801C8C4
|
|
b _0802B2AA
|
|
.align 2, 0
|
|
_0802ADAC: .4byte 0x00020003
|
|
_0802ADB0:
|
|
ldr r0, [r6]
|
|
movs r4, 0xD7
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
bl sub_8006518
|
|
ldr r1, [r6]
|
|
movs r5, 0x87
|
|
lsls r5, 2
|
|
adds r0, r1, r5
|
|
adds r1, r4
|
|
ldr r3, _0802ADF0
|
|
ldr r2, _0802ADF4
|
|
str r2, [sp]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
movs r2, 0x3
|
|
bl SetMenuItems
|
|
bl sub_801CCD8
|
|
_0802ADE0:
|
|
ldr r0, [r6]
|
|
adds r0, r5
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
b _0802B2AA
|
|
.align 2, 0
|
|
_0802ADF0: .4byte gUnknown_80DED48
|
|
_0802ADF4: .4byte gUnknown_80DED78
|
|
_0802ADF8:
|
|
ldr r1, [r6]
|
|
movs r0, 0
|
|
str r0, [r1, 0x44]
|
|
bl sub_8011830
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x40]
|
|
bl sub_8037B28
|
|
ldr r1, [r6]
|
|
str r0, [r1, 0x44]
|
|
cmp r0, 0
|
|
bne _0802AEE6
|
|
ldr r0, [r1, 0x40]
|
|
cmp r0, 0x6
|
|
beq _0802AE1E
|
|
cmp r0, 0x7
|
|
beq _0802AE5C
|
|
b _0802AE8C
|
|
_0802AE1E:
|
|
movs r4, 0xDC
|
|
lsls r4, 1
|
|
adds r0, r1, r4
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r5, 0x86
|
|
lsls r5, 2
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
bl sub_8095228
|
|
ldr r1, [r6]
|
|
adds r1, r4
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldr r2, [r6]
|
|
ldr r0, [r2, 0x40]
|
|
adds r4, r2, r4
|
|
movs r1, 0xF4
|
|
lsls r1, 1
|
|
adds r2, r1
|
|
b _0802AE82
|
|
_0802AE5C:
|
|
movs r4, 0xDC
|
|
lsls r4, 1
|
|
adds r0, r1, r4
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r5, 0xF4
|
|
lsls r5, 1
|
|
adds r0, r5
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r2, [r6]
|
|
ldr r0, [r2, 0x40]
|
|
adds r4, r2, r4
|
|
adds r2, r5
|
|
_0802AE82:
|
|
adds r1, r4, 0
|
|
bl sub_8037D64
|
|
ldr r1, [r6]
|
|
str r0, [r1, 0x44]
|
|
_0802AE8C:
|
|
ldr r4, _0802AED0
|
|
ldr r2, [r4]
|
|
ldr r0, [r2, 0x44]
|
|
cmp r0, 0
|
|
bne _0802AEE6
|
|
ldr r0, [r2, 0x40]
|
|
cmp r0, 0x7
|
|
bhi _0802AEE6
|
|
cmp r0, 0x6
|
|
bcc _0802AEE6
|
|
movs r3, 0xDC
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
movs r5, 0xF4
|
|
lsls r5, 1
|
|
adds r2, r5
|
|
bl sub_80381F4
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x44]
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802AED4
|
|
ldr r0, [r4]
|
|
movs r2, 0x86
|
|
lsls r2, 3
|
|
adds r1, r0, r2
|
|
movs r3, 0xFC
|
|
lsls r3, 1
|
|
adds r0, r3
|
|
b _0802AEE2
|
|
.align 2, 0
|
|
_0802AED0: .4byte gUnknown_203B2C4
|
|
_0802AED4:
|
|
ldr r0, [r4]
|
|
movs r5, 0x86
|
|
lsls r5, 3
|
|
adds r1, r0, r5
|
|
movs r2, 0xE4
|
|
lsls r2, 1
|
|
adds r0, r2
|
|
_0802AEE2:
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
_0802AEE6:
|
|
bl sub_8011854
|
|
b _0802B2AA
|
|
_0802AEEC:
|
|
ldr r0, _0802AEF0
|
|
b _0802B22E
|
|
.align 2, 0
|
|
_0802AEF0: .4byte gUnknown_80DF380
|
|
_0802AEF4:
|
|
ldr r0, [r6]
|
|
movs r5, 0xEF
|
|
lsls r5, 2
|
|
adds r0, r5
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r1, [r6]
|
|
adds r1, 0x8
|
|
movs r0, 0x4
|
|
bl sub_80151C0
|
|
b _0802B2AA
|
|
_0802AF1A:
|
|
ldr r0, [r6]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r6]
|
|
movs r2, 0x86
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_8031D70
|
|
b _0802B2AA
|
|
_0802AF46:
|
|
ldr r0, _0802AF4C
|
|
b _0802B22E
|
|
.align 2, 0
|
|
_0802AF4C: .4byte gUnknown_80DF3B4
|
|
_0802AF50:
|
|
ldr r0, _0802AF5C
|
|
ldr r2, [r6]
|
|
movs r5, 0x84
|
|
lsls r5, 3
|
|
adds r2, r5
|
|
b _0802B236
|
|
.align 2, 0
|
|
_0802AF5C: .4byte gUnknown_80DF418
|
|
_0802AF60:
|
|
ldr r0, _0802AF6C
|
|
ldr r2, [r6]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
b _0802B236
|
|
.align 2, 0
|
|
_0802AF6C: .4byte gUnknown_80DF44C
|
|
_0802AF70:
|
|
ldr r0, _0802AF74
|
|
b _0802B22E
|
|
.align 2, 0
|
|
_0802AF74: .4byte gUnknown_80DF46C
|
|
_0802AF78:
|
|
ldr r0, [r6]
|
|
ldr r5, _0802AF90
|
|
adds r0, r5
|
|
ldr r0, [r0]
|
|
cmp r0, 0x4
|
|
bne _0802AF86
|
|
b _0802B2AA
|
|
_0802AF86:
|
|
cmp r0, 0x4
|
|
bgt _0802AF94
|
|
cmp r0, 0x3
|
|
beq _0802AF9A
|
|
b _0802B2AA
|
|
.align 2, 0
|
|
_0802AF90: .4byte 0x00000534
|
|
_0802AF94:
|
|
cmp r0, 0x6
|
|
ble _0802AF9A
|
|
b _0802B2AA
|
|
_0802AF9A:
|
|
ldr r0, _0802AFA8
|
|
ldr r2, [r6]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
b _0802B236
|
|
.align 2, 0
|
|
_0802AFA8: .4byte gUnknown_80DF4F4
|
|
_0802AFAC:
|
|
movs r4, 0x98
|
|
lsls r4, 1
|
|
adds r0, r4, 0
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r5, _0802B00C
|
|
ldr r0, [r5]
|
|
ldr r2, _0802B010
|
|
adds r0, r2
|
|
bl strcpy
|
|
ldr r1, [r5]
|
|
movs r3, 0xAA
|
|
lsls r3, 3
|
|
adds r0, r1, r3
|
|
movs r2, 0
|
|
strh r4, [r0]
|
|
ldr r0, _0802B014
|
|
adds r1, r0
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
ldr r0, [r5]
|
|
adds r3, 0x4
|
|
adds r1, r0, r3
|
|
str r2, [r1]
|
|
movs r1, 0x86
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
movs r0, 0x6
|
|
bl sub_809539C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8095228
|
|
adds r2, r0, 0
|
|
adds r0, 0x22
|
|
ldrb r1, [r0]
|
|
cmp r1, 0
|
|
beq _0802B018
|
|
ldr r0, [r5]
|
|
movs r3, 0xAB
|
|
lsls r3, 3
|
|
adds r0, r3
|
|
b _0802B022
|
|
.align 2, 0
|
|
_0802B00C: .4byte gUnknown_203B2C4
|
|
_0802B010: .4byte 0x0000053c
|
|
_0802B014: .4byte 0x00000552
|
|
_0802B018:
|
|
ldr r0, [r5]
|
|
movs r5, 0xAB
|
|
lsls r5, 3
|
|
adds r0, r5
|
|
movs r1, 0
|
|
_0802B022:
|
|
strb r1, [r0]
|
|
ldr r4, _0802B068
|
|
ldr r0, [r4]
|
|
ldr r1, _0802B06C
|
|
adds r0, r1
|
|
movs r5, 0
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
adds r0, r2, 0x4
|
|
movs r1, 0
|
|
bl sub_803C200
|
|
ldr r1, [r4]
|
|
movs r3, 0xAC
|
|
lsls r3, 3
|
|
adds r2, r1, r3
|
|
str r0, [r2]
|
|
ldr r0, _0802B070
|
|
adds r1, r0
|
|
strb r5, [r1]
|
|
ldr r0, [r4]
|
|
ldr r1, _0802B074
|
|
adds r0, r1
|
|
strb r5, [r0]
|
|
ldr r0, [r4]
|
|
ldr r2, _0802B078
|
|
adds r0, r2
|
|
strb r5, [r0]
|
|
ldr r0, [r4]
|
|
subs r3, 0x24
|
|
adds r0, r3
|
|
movs r1, 0
|
|
bl sub_802F204
|
|
b _0802B2AA
|
|
.align 2, 0
|
|
_0802B068: .4byte gUnknown_203B2C4
|
|
_0802B06C: .4byte 0x0000055b
|
|
_0802B070: .4byte 0x00000559
|
|
_0802B074: .4byte 0x0000055a
|
|
_0802B078: .4byte 0x0000055c
|
|
_0802B07C:
|
|
movs r0, 0
|
|
bl nullsub_23
|
|
ldr r0, _0802B090
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_80141B4
|
|
b _0802B2AA
|
|
.align 2, 0
|
|
_0802B090: .4byte gUnknown_80DF544
|
|
_0802B094:
|
|
ldr r0, _0802B0A0
|
|
ldr r2, [r6]
|
|
movs r5, 0x84
|
|
lsls r5, 3
|
|
adds r2, r5
|
|
b _0802B236
|
|
.align 2, 0
|
|
_0802B0A0: .4byte gUnknown_80DF594
|
|
_0802B0A4:
|
|
ldr r0, _0802B0A8
|
|
b _0802B1A6
|
|
.align 2, 0
|
|
_0802B0A8: .4byte gUnknown_80DF5E4
|
|
_0802B0AC:
|
|
bl sub_808D33C
|
|
adds r1, r0, 0
|
|
add r6, sp, 0x64
|
|
adds r1, 0x4C
|
|
adds r0, r6, 0
|
|
movs r2, 0xA
|
|
bl sub_80922B4
|
|
ldr r5, _0802B0E0
|
|
ldr r0, [r5]
|
|
ldr r4, _0802B0E4
|
|
adds r0, r4
|
|
ldr r1, _0802B0E8
|
|
adds r2, r6, 0
|
|
bl sub_800D158
|
|
ldr r2, [r5]
|
|
adds r4, r2, r4
|
|
movs r3, 0x84
|
|
lsls r3, 3
|
|
adds r2, r3
|
|
ldr r3, _0802B0EC
|
|
adds r0, r4, 0
|
|
b _0802B238
|
|
.align 2, 0
|
|
_0802B0E0: .4byte gUnknown_203B2C4
|
|
_0802B0E4: .4byte 0x00000434
|
|
_0802B0E8: .4byte gUnknown_80DF63C
|
|
_0802B0EC: .4byte 0x0000010d
|
|
_0802B0F0:
|
|
ldr r0, _0802B108
|
|
ldr r3, _0802B10C
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
ldr r1, [r6]
|
|
movs r5, 0x84
|
|
lsls r5, 3
|
|
adds r1, r5
|
|
b _0802B1BA
|
|
.align 2, 0
|
|
_0802B108: .4byte gUnknown_80DF694
|
|
_0802B10C: .4byte gUnknown_80DEEE4
|
|
_0802B110:
|
|
ldr r0, _0802B11C
|
|
ldr r2, [r6]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
b _0802B236
|
|
.align 2, 0
|
|
_0802B11C: .4byte gUnknown_80DF44C
|
|
_0802B120:
|
|
ldr r0, _0802B124
|
|
b _0802B22E
|
|
.align 2, 0
|
|
_0802B124: .4byte gUnknown_80DF6F0
|
|
_0802B128:
|
|
ldr r0, _0802B134
|
|
ldr r2, [r6]
|
|
movs r5, 0x84
|
|
lsls r5, 3
|
|
adds r2, r5
|
|
b _0802B236
|
|
.align 2, 0
|
|
_0802B134: .4byte gUnknown_80DF710
|
|
_0802B138:
|
|
ldr r0, _0802B160
|
|
ldr r3, _0802B164
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
ldr r1, [r6]
|
|
movs r2, 0x84
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_8014248
|
|
b _0802B2AA
|
|
.align 2, 0
|
|
_0802B160: .4byte gUnknown_80DF73C
|
|
_0802B164: .4byte gUnknown_80DEEBC
|
|
_0802B168:
|
|
ldr r0, _0802B18C
|
|
ldr r3, _0802B190
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
ldr r1, [r6]
|
|
movs r5, 0x84
|
|
lsls r5, 3
|
|
adds r1, r5
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
bl sub_8014248
|
|
b _0802B2AA
|
|
.align 2, 0
|
|
_0802B18C: .4byte gUnknown_80DF77C
|
|
_0802B190: .4byte gUnknown_80DEE7C
|
|
_0802B194:
|
|
ldr r0, _0802B1A0
|
|
ldr r2, [r6]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
b _0802B236
|
|
.align 2, 0
|
|
_0802B1A0: .4byte gUnknown_80DF7D4
|
|
_0802B1A4:
|
|
ldr r0, _0802B1CC
|
|
_0802B1A6:
|
|
ldr r3, _0802B1D0
|
|
_0802B1A8:
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
ldr r1, [r6]
|
|
movs r2, 0x84
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
_0802B1BA:
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x7
|
|
bl sub_8014248
|
|
b _0802B2AA
|
|
.align 2, 0
|
|
_0802B1CC: .4byte gUnknown_80DF870
|
|
_0802B1D0: .4byte gUnknown_80DEE44
|
|
_0802B1D4:
|
|
ldr r0, _0802B1D8
|
|
b _0802B22E
|
|
.align 2, 0
|
|
_0802B1D8: .4byte gUnknown_80DF8B4
|
|
_0802B1DC:
|
|
ldr r0, _0802B1F4
|
|
ldr r3, _0802B1F8
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
ldr r1, [r6]
|
|
movs r5, 0x84
|
|
lsls r5, 3
|
|
adds r1, r5
|
|
b _0802B212
|
|
.align 2, 0
|
|
_0802B1F4: .4byte gUnknown_80DF8EC
|
|
_0802B1F8: .4byte gUnknown_80DEDB8
|
|
_0802B1FC:
|
|
ldr r0, _0802B224
|
|
ldr r3, _0802B228
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
ldr r1, [r6]
|
|
movs r2, 0x84
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
_0802B212:
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_8014248
|
|
b _0802B2AA
|
|
.align 2, 0
|
|
_0802B224: .4byte gUnknown_80DF928
|
|
_0802B228: .4byte gUnknown_80DEDB8
|
|
_0802B22C:
|
|
ldr r0, _0802B240
|
|
_0802B22E:
|
|
ldr r2, [r6]
|
|
movs r3, 0x84
|
|
lsls r3, 3
|
|
adds r2, r3
|
|
_0802B236:
|
|
ldr r3, _0802B244
|
|
_0802B238:
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
b _0802B2AA
|
|
.align 2, 0
|
|
_0802B240: .4byte gUnknown_80DF94C
|
|
_0802B244: .4byte 0x0000010d
|
|
_0802B248:
|
|
ldr r4, [r6]
|
|
movs r5, 0xA7
|
|
lsls r5, 3
|
|
adds r0, r4, r5
|
|
ldr r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0802B25C
|
|
cmp r0, 0x2
|
|
beq _0802B288
|
|
b _0802B2AA
|
|
_0802B25C:
|
|
ldr r0, _0802B280
|
|
ldr r3, _0802B284
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
movs r2, 0x84
|
|
lsls r2, 3
|
|
adds r1, r4, r2
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x3
|
|
bl sub_8014248
|
|
b _0802B2AA
|
|
.align 2, 0
|
|
_0802B280: .4byte gUnknown_80DF96C
|
|
_0802B284: .4byte gUnknown_80DEE08
|
|
_0802B288:
|
|
ldr r0, _0802B2B4
|
|
ldr r3, _0802B2B8
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
movs r5, 0x84
|
|
lsls r5, 3
|
|
adds r1, r4, r5
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x3
|
|
bl sub_8014248
|
|
_0802B2AA:
|
|
add sp, 0xB8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802B2B4: .4byte gUnknown_80DF9A4
|
|
_0802B2B8: .4byte gUnknown_80DEE08
|
|
thumb_func_end sub_802ABF8
|
|
|
|
thumb_func_start sub_802B2BC
|
|
sub_802B2BC:
|
|
push {lr}
|
|
ldr r1, _0802B2D0
|
|
ldr r1, [r1]
|
|
strb r0, [r1]
|
|
bl nullsub_131
|
|
bl sub_802ABF8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802B2D0: .4byte gUnknown_203B2C4
|
|
thumb_func_end sub_802B2BC
|
|
|
|
thumb_func_start sub_802B2D4
|
|
sub_802B2D4:
|
|
push {r4,r5,lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r5, _0802B348
|
|
movs r4, 0xA0
|
|
lsls r4, 1
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl MemoryFill8
|
|
ldr r1, [r5]
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0x1]
|
|
ldr r0, _0802B34C
|
|
subs r4, 0x10
|
|
adds r1, r4, 0
|
|
bl sub_808D8E0
|
|
adds r0, r4, 0
|
|
bl sub_808DDD0
|
|
ldr r1, [r5]
|
|
str r0, [r1, 0x4]
|
|
ldr r0, [r0, 0x4]
|
|
str r0, [r1, 0x8]
|
|
movs r2, 0
|
|
strb r2, [r1, 0x10]
|
|
ldr r0, [r5]
|
|
strb r2, [r0, 0x11]
|
|
ldr r0, [r5]
|
|
strb r2, [r0, 0x12]
|
|
ldr r0, [r5]
|
|
movs r1, 0x2
|
|
strh r1, [r0, 0xC]
|
|
movs r1, 0x8
|
|
strh r1, [r0, 0xE]
|
|
adds r0, 0x1
|
|
bl sub_8099394
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0802B350
|
|
movs r0, 0
|
|
bl sub_802B548
|
|
movs r0, 0x1
|
|
b _0802B352
|
|
.align 2, 0
|
|
_0802B348: .4byte gUnknown_203B2C8
|
|
_0802B34C: .4byte gUnknown_202E5D8
|
|
_0802B350:
|
|
movs r0, 0
|
|
_0802B352:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802B2D4
|
|
|
|
thumb_func_start sub_802B358
|
|
sub_802B358:
|
|
push {lr}
|
|
ldr r0, _0802B370
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x5
|
|
bhi _0802B3B2
|
|
lsls r0, 2
|
|
ldr r1, _0802B374
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802B370: .4byte gUnknown_203B2C8
|
|
_0802B374: .4byte _0802B378
|
|
.align 2, 0
|
|
_0802B378:
|
|
.4byte _0802B390
|
|
.4byte _0802B396
|
|
.4byte _0802B39C
|
|
.4byte _0802B3A2
|
|
.4byte _0802B3A8
|
|
.4byte _0802B3AE
|
|
_0802B390:
|
|
bl sub_802B560
|
|
b _0802B3B2
|
|
_0802B396:
|
|
bl sub_802B57C
|
|
b _0802B3B2
|
|
_0802B39C:
|
|
bl sub_802B5B8
|
|
b _0802B3B2
|
|
_0802B3A2:
|
|
bl sub_802B5FC
|
|
b _0802B3B2
|
|
_0802B3A8:
|
|
bl sub_802B624
|
|
b _0802B3B2
|
|
_0802B3AE:
|
|
movs r0, 0x3
|
|
b _0802B3B4
|
|
_0802B3B2:
|
|
movs r0, 0
|
|
_0802B3B4:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802B358
|
|
|
|
thumb_func_start sub_802B3B8
|
|
sub_802B3B8:
|
|
push {r4,lr}
|
|
ldr r4, _0802B3D8
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0802B3D2
|
|
ldr r0, [r0, 0x4]
|
|
bl CloseFile
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802B3D2:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802B3D8: .4byte gUnknown_203B2C8
|
|
thumb_func_end sub_802B3B8
|
|
|
|
thumb_func_start nullsub_132
|
|
nullsub_132:
|
|
bx lr
|
|
thumb_func_end nullsub_132
|
|
|
|
thumb_func_start sub_802B3E0
|
|
sub_802B3E0:
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
sub sp, 0x28
|
|
ldr r1, _0802B404
|
|
ldr r0, [r1]
|
|
ldrb r0, [r0]
|
|
adds r2, r1, 0
|
|
cmp r0, 0x5
|
|
bls _0802B3F8
|
|
b _0802B532
|
|
_0802B3F8:
|
|
lsls r0, 2
|
|
ldr r1, _0802B408
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802B404: .4byte gUnknown_203B2C8
|
|
_0802B408: .4byte _0802B40C
|
|
.align 2, 0
|
|
_0802B40C:
|
|
.4byte _0802B424
|
|
.4byte _0802B464
|
|
.4byte _0802B50C
|
|
.4byte _0802B532
|
|
.4byte _0802B524
|
|
.4byte _0802B532
|
|
_0802B424:
|
|
movs r0, 0
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802B438
|
|
mov r0, sp
|
|
bl sub_80920D8
|
|
b _0802B440
|
|
_0802B438:
|
|
ldr r1, _0802B458
|
|
mov r0, sp
|
|
bl strcpy
|
|
_0802B440:
|
|
ldr r4, _0802B45C
|
|
ldr r0, [r4]
|
|
adds r0, 0x14
|
|
ldr r1, _0802B460
|
|
mov r2, sp
|
|
bl sub_800D158
|
|
ldr r2, [r4]
|
|
adds r0, r2, 0
|
|
adds r0, 0x14
|
|
b _0802B510
|
|
.align 2, 0
|
|
_0802B458: .4byte gUnknown_80DF9F0
|
|
_0802B45C: .4byte gUnknown_203B2C8
|
|
_0802B460: .4byte gUnknown_80DF9F8
|
|
_0802B464:
|
|
movs r6, 0x98
|
|
lsls r6, 1
|
|
adds r0, r6, 0
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r5, _0802B500
|
|
ldr r0, [r5]
|
|
movs r2, 0x8A
|
|
lsls r2, 1
|
|
mov r9, r2
|
|
add r0, r9
|
|
bl strcpy
|
|
ldr r2, [r5]
|
|
movs r3, 0x94
|
|
lsls r3, 1
|
|
adds r0, r2, r3
|
|
movs r1, 0
|
|
mov r8, r1
|
|
movs r1, 0
|
|
strh r6, [r0]
|
|
adds r3, 0x2
|
|
adds r2, r3
|
|
movs r0, 0x2
|
|
strb r0, [r2]
|
|
ldr r0, [r5]
|
|
movs r2, 0x96
|
|
lsls r2, 1
|
|
adds r0, r2
|
|
str r1, [r0]
|
|
bl sub_8097790
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, 0x1]
|
|
bl sub_8095228
|
|
adds r4, r0, 0
|
|
adds r4, 0x4
|
|
ldr r2, [r5]
|
|
adds r2, r6
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl sub_803C37C
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl sub_803C200
|
|
ldr r2, [r5]
|
|
movs r3, 0x9C
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
str r0, [r1]
|
|
ldr r1, _0802B504
|
|
adds r0, r2, r1
|
|
mov r2, r8
|
|
strb r2, [r0]
|
|
ldr r0, [r5]
|
|
subs r3, 0x6
|
|
adds r0, r3
|
|
strb r2, [r0]
|
|
ldr r0, [r5]
|
|
ldr r2, _0802B508
|
|
adds r1, r0, r2
|
|
movs r0, 0xA
|
|
strb r0, [r1]
|
|
ldr r0, [r5]
|
|
adds r3, 0x2
|
|
adds r0, r3
|
|
mov r1, r8
|
|
strb r1, [r0]
|
|
ldr r0, [r5]
|
|
add r0, r9
|
|
movs r1, 0
|
|
bl sub_802F204
|
|
b _0802B532
|
|
.align 2, 0
|
|
_0802B500: .4byte gUnknown_203B2C8
|
|
_0802B504: .4byte 0x00000131
|
|
_0802B508: .4byte 0x00000133
|
|
_0802B50C:
|
|
ldr r0, _0802B51C
|
|
ldr r2, [r2]
|
|
_0802B510:
|
|
adds r2, 0x4
|
|
ldr r3, _0802B520
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
b _0802B532
|
|
.align 2, 0
|
|
_0802B51C: .4byte gUnknown_80DFAA8
|
|
_0802B520: .4byte 0x0000010d
|
|
_0802B524:
|
|
ldr r0, _0802B540
|
|
ldr r2, [r2]
|
|
adds r2, 0x4
|
|
ldr r3, _0802B544
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
_0802B532:
|
|
add sp, 0x28
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802B540: .4byte gUnknown_80DFB14
|
|
_0802B544: .4byte 0x0000010d
|
|
thumb_func_end sub_802B3E0
|
|
|
|
thumb_func_start sub_802B548
|
|
sub_802B548:
|
|
push {lr}
|
|
ldr r1, _0802B55C
|
|
ldr r1, [r1]
|
|
strb r0, [r1]
|
|
bl nullsub_132
|
|
bl sub_802B3E0
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802B55C: .4byte gUnknown_203B2C8
|
|
thumb_func_end sub_802B548
|
|
|
|
thumb_func_start sub_802B560
|
|
sub_802B560:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802B574
|
|
movs r0, 0x1
|
|
bl sub_802B548
|
|
_0802B574:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802B560
|
|
|
|
thumb_func_start sub_802B57C
|
|
sub_802B57C:
|
|
push {r4,lr}
|
|
bl sub_802F298
|
|
cmp r0, 0x3
|
|
bne _0802B5AA
|
|
bl sub_802F2C0
|
|
ldr r0, _0802B5B0
|
|
movs r4, 0x98
|
|
lsls r4, 1
|
|
adds r1, r4, 0
|
|
bl sub_808D8E0
|
|
adds r0, r4, 0
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r0, _0802B5B4
|
|
bl strcpy
|
|
movs r0, 0x2
|
|
bl sub_802B548
|
|
_0802B5AA:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802B5B0: .4byte gUnknown_202E5D8
|
|
_0802B5B4: .4byte gUnknown_202DF98
|
|
thumb_func_end sub_802B57C
|
|
|
|
thumb_func_start sub_802B5B8
|
|
sub_802B5B8:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802B5EE
|
|
bl sub_8011C34
|
|
adds r4, r0, 0
|
|
ldr r0, _0802B5F8
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
bl sub_8095228
|
|
movs r1, 0x4
|
|
strb r1, [r0]
|
|
str r4, [r0, 0x28]
|
|
movs r0, 0x3
|
|
bl sub_802B548
|
|
movs r0, 0x1
|
|
bl sub_8011C28
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_0802B5EE:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802B5F8: .4byte gUnknown_203B2C8
|
|
thumb_func_end sub_802B5B8
|
|
|
|
thumb_func_start sub_802B5FC
|
|
sub_802B5FC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802B61E
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802B61E
|
|
bl sub_8012750
|
|
movs r0, 0x4
|
|
bl sub_802B548
|
|
_0802B61E:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802B5FC
|
|
|
|
thumb_func_start sub_802B624
|
|
sub_802B624:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802B638
|
|
movs r0, 0x5
|
|
bl sub_802B548
|
|
_0802B638:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802B624
|
|
|
|
thumb_func_start sub_802B640
|
|
sub_802B640:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r6, r0, 0
|
|
adds r4, r1, 0
|
|
mov r8, r2
|
|
bl sub_802B9D8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802B65A
|
|
movs r0, 0
|
|
b _0802B706
|
|
_0802B65A:
|
|
ldr r5, _0802B710
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
bne _0802B66C
|
|
movs r0, 0xD4
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
_0802B66C:
|
|
ldr r0, [r5]
|
|
str r6, [r0, 0x6C]
|
|
lsls r1, r6, 1
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, 0x74
|
|
adds r1, r0, r1
|
|
str r1, [r0, 0x70]
|
|
adds r0, 0x74
|
|
bl sub_8006518
|
|
ldr r1, [r5]
|
|
ldr r2, [r1, 0x6C]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x74
|
|
ldr r0, _0802B714
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
cmp r4, 0
|
|
beq _0802B6B0
|
|
ldr r1, [r5]
|
|
ldr r2, [r1, 0x6C]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, 0x7C
|
|
adds r1, r0
|
|
ldr r0, [r4]
|
|
str r0, [r1]
|
|
_0802B6B0:
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x70]
|
|
mov r1, r8
|
|
bl sub_8012D08
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, 0x74
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, [r5]
|
|
adds r4, 0x38
|
|
bl sub_802B9A8
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
mov r2, r8
|
|
adds r3, r6, 0
|
|
bl sub_8013818
|
|
ldr r2, [r5]
|
|
ldr r0, _0802B718
|
|
ldrh r1, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x50
|
|
strh r1, [r0]
|
|
ldr r0, _0802B71C
|
|
ldrh r0, [r0]
|
|
adds r1, r2, 0
|
|
adds r1, 0x56
|
|
strh r0, [r1]
|
|
adds r0, r2, 0
|
|
adds r0, 0x38
|
|
bl sub_8013984
|
|
bl sub_802B880
|
|
bl sub_802B8D4
|
|
movs r0, 0x1
|
|
_0802B706:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802B710: .4byte gUnknown_203B2CC
|
|
_0802B714: .4byte gUnknown_80DFBEC
|
|
_0802B718: .4byte gUnknown_203B2D0
|
|
_0802B71C: .4byte gUnknown_203B2D2
|
|
thumb_func_end sub_802B640
|
|
|
|
thumb_func_start sub_802B720
|
|
sub_802B720:
|
|
push {lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802B73C
|
|
ldr r0, _0802B738
|
|
ldr r0, [r0]
|
|
adds r0, 0x38
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _0802B7A2
|
|
.align 2, 0
|
|
_0802B738: .4byte gUnknown_203B2CC
|
|
_0802B73C:
|
|
ldr r0, _0802B754
|
|
ldr r0, [r0]
|
|
adds r0, 0x38
|
|
bl GetKeyPress
|
|
cmp r0, 0x2
|
|
beq _0802B75E
|
|
cmp r0, 0x2
|
|
bgt _0802B758
|
|
cmp r0, 0x1
|
|
beq _0802B768
|
|
b _0802B77C
|
|
.align 2, 0
|
|
_0802B754: .4byte gUnknown_203B2CC
|
|
_0802B758:
|
|
cmp r0, 0x4
|
|
beq _0802B772
|
|
b _0802B77C
|
|
_0802B75E:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0802B7A2
|
|
_0802B768:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _0802B7A2
|
|
_0802B772:
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0x4
|
|
b _0802B7A2
|
|
_0802B77C:
|
|
ldr r0, _0802B794
|
|
ldr r0, [r0]
|
|
adds r0, 0x38
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802B798
|
|
movs r0, 0
|
|
b _0802B7A2
|
|
.align 2, 0
|
|
_0802B794: .4byte gUnknown_203B2CC
|
|
_0802B798:
|
|
bl sub_802B880
|
|
bl sub_802B8D4
|
|
movs r0, 0x1
|
|
_0802B7A2:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802B720
|
|
|
|
thumb_func_start sub_802B7A8
|
|
sub_802B7A8:
|
|
ldr r0, _0802B7CC
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x56
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
subs r0, 0x2
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
muls r0, r1
|
|
adds r1, r2, 0
|
|
adds r1, 0x50
|
|
movs r3, 0
|
|
ldrsh r1, [r1, r3]
|
|
adds r0, r1
|
|
adds r0, r2, r0
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0802B7CC: .4byte gUnknown_203B2CC
|
|
thumb_func_end sub_802B7A8
|
|
|
|
thumb_func_start sub_802B7D0
|
|
sub_802B7D0:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8004914
|
|
ldr r5, _0802B818
|
|
ldr r0, [r5]
|
|
adds r0, 0x74
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
bl sub_802B9A8
|
|
adds r1, r0, 0
|
|
ldr r0, [r5]
|
|
adds r2, r0, 0
|
|
adds r2, 0x5A
|
|
strh r1, [r2]
|
|
adds r0, 0x38
|
|
bl sub_8013984
|
|
bl sub_802B880
|
|
bl sub_802B8D4
|
|
cmp r4, 0
|
|
beq _0802B812
|
|
ldr r0, [r5]
|
|
adds r0, 0x38
|
|
bl AddMenuCursorSprite
|
|
_0802B812:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802B818: .4byte gUnknown_203B2CC
|
|
thumb_func_end sub_802B7D0
|
|
|
|
thumb_func_start sub_802B81C
|
|
sub_802B81C:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0802B870
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0802B86A
|
|
ldr r1, _0802B874
|
|
adds r0, r2, 0
|
|
adds r0, 0x50
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
ldr r1, _0802B878
|
|
adds r0, r2, 0
|
|
adds r0, 0x56
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
ldr r0, [r2, 0x6C]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x74
|
|
ldr r0, _0802B87C
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x74
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802B86A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802B870: .4byte gUnknown_203B2CC
|
|
_0802B874: .4byte gUnknown_203B2D0
|
|
_0802B878: .4byte gUnknown_203B2D2
|
|
_0802B87C: .4byte gUnknown_80DFBD0
|
|
thumb_func_end sub_802B81C
|
|
|
|
thumb_func_start sub_802B880
|
|
sub_802B880:
|
|
push {r4,lr}
|
|
ldr r4, _0802B8D0
|
|
ldr r0, [r4]
|
|
adds r0, 0x52
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0xC
|
|
bl sub_80095E4
|
|
adds r0, 0x2
|
|
lsls r0, 16
|
|
ldr r2, [r4]
|
|
ldr r3, [r2, 0x6C]
|
|
lsls r1, r3, 1
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x82
|
|
asrs r3, r0, 16
|
|
lsrs r0, 16
|
|
strh r0, [r1]
|
|
ldr r1, [r2, 0x6C]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, r0
|
|
adds r3, 0x2
|
|
adds r2, 0x84
|
|
strh r3, [r2]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x74
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802B8D0: .4byte gUnknown_203B2CC
|
|
thumb_func_end sub_802B880
|
|
|
|
thumb_func_start sub_802B8D4
|
|
sub_802B8D4:
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
ldr r4, _0802B99C
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x6C]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x6C]
|
|
bl sub_80073B8
|
|
ldr r2, _0802B9A0
|
|
ldr r0, [r4]
|
|
ldr r3, [r0, 0x6C]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
ldr r0, _0802B9A4
|
|
ldrb r0, [r0, 0x2]
|
|
lsls r0, 3
|
|
adds r0, 0x4
|
|
ldr r3, [r4]
|
|
adds r1, r3, 0
|
|
adds r1, 0x56
|
|
movs r5, 0
|
|
ldrsh r2, [r1, r5]
|
|
adds r2, 0x1
|
|
movs r1, 0x7
|
|
str r1, [sp]
|
|
ldr r1, [r3, 0x6C]
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
movs r3, 0x2
|
|
bl sub_8012BC4
|
|
movs r6, 0
|
|
ldr r0, [r4]
|
|
adds r0, 0x52
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
cmp r6, r0
|
|
bge _0802B98A
|
|
adds r7, r4, 0
|
|
_0802B930:
|
|
ldr r0, [r7]
|
|
adds r0, 0x38
|
|
adds r1, r6, 0
|
|
bl sub_8013800
|
|
adds r5, r0, 0
|
|
ldr r1, [r7]
|
|
adds r0, r1, 0
|
|
adds r0, 0x56
|
|
movs r3, 0
|
|
ldrsh r2, [r0, r3]
|
|
subs r0, 0x2
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
muls r0, r2
|
|
adds r0, r6
|
|
adds r0, r1, r0
|
|
ldrb r4, [r0]
|
|
ldr r3, [r1, 0x6C]
|
|
movs r0, 0xA
|
|
adds r1, r5, 0
|
|
movs r2, 0x6
|
|
bl sub_803B6B0
|
|
bl sub_802BC7C
|
|
adds r0, r4, 0
|
|
bl sub_803C190
|
|
adds r2, r0, 0
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x6C]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x15
|
|
adds r1, r5, 0
|
|
bl sub_8014FF0
|
|
adds r6, 0x1
|
|
ldr r0, [r7]
|
|
adds r0, 0x52
|
|
movs r5, 0
|
|
ldrsh r0, [r0, r5]
|
|
cmp r6, r0
|
|
blt _0802B930
|
|
_0802B98A:
|
|
ldr r0, _0802B99C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x6C]
|
|
bl sub_80073E0
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802B99C: .4byte gUnknown_203B2CC
|
|
_0802B9A0: .4byte gUnknown_80DFC04
|
|
_0802B9A4: .4byte gUnknown_80DFBE8
|
|
thumb_func_end sub_802B8D4
|
|
|
|
thumb_func_start sub_802B9A8
|
|
sub_802B9A8:
|
|
push {r4,r5,lr}
|
|
movs r5, 0
|
|
movs r4, 0
|
|
_0802B9AE:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_8096E14
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802B9C6
|
|
ldr r0, _0802B9D4
|
|
ldr r0, [r0]
|
|
adds r0, r5
|
|
strb r4, [r0]
|
|
adds r5, 0x1
|
|
_0802B9C6:
|
|
adds r4, 0x1
|
|
cmp r4, 0x37
|
|
ble _0802B9AE
|
|
adds r0, r5, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802B9D4: .4byte gUnknown_203B2CC
|
|
thumb_func_end sub_802B9A8
|
|
|
|
thumb_func_start sub_802B9D8
|
|
sub_802B9D8:
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_0802B9DC:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_8096E14
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802B9EE
|
|
movs r0, 0
|
|
b _0802B9F6
|
|
_0802B9EE:
|
|
adds r4, 0x1
|
|
cmp r4, 0x37
|
|
ble _0802B9DC
|
|
movs r0, 0x1
|
|
_0802B9F6:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802B9D8
|
|
|
|
thumb_func_start sub_802B9FC
|
|
sub_802B9FC:
|
|
push {r4-r7,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r5, _0802BA80
|
|
movs r0, 0x94
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r6, 0
|
|
strb r4, [r0, 0x4]
|
|
ldr r0, [r5]
|
|
adds r0, 0x88
|
|
bl sub_801317C
|
|
ldr r1, [r5]
|
|
str r6, [r1, 0x24]
|
|
adds r1, 0x28
|
|
ldr r0, _0802BA84
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldr r1, [r5]
|
|
ldr r2, _0802BA88
|
|
adds r1, 0x40
|
|
adds r0, r2, 0
|
|
ldm r0!, {r3,r4,r7}
|
|
stm r1!, {r3,r4,r7}
|
|
ldm r0!, {r3,r4,r7}
|
|
stm r1!, {r3,r4,r7}
|
|
ldr r1, [r5]
|
|
adds r1, 0x58
|
|
adds r0, r2, 0
|
|
ldm r0!, {r3,r4,r7}
|
|
stm r1!, {r3,r4,r7}
|
|
ldm r0!, {r3,r4,r7}
|
|
stm r1!, {r3,r4,r7}
|
|
ldr r0, [r5]
|
|
adds r0, 0x70
|
|
ldm r2!, {r1,r4,r7}
|
|
stm r0!, {r1,r4,r7}
|
|
ldm r2!, {r3,r4,r7}
|
|
stm r0!, {r3,r4,r7}
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, 0x28
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r5]
|
|
str r6, [r0, 0x8]
|
|
bl sub_802BCC4
|
|
bl sub_802BC7C
|
|
movs r0, 0
|
|
bl sub_802BB14
|
|
movs r0, 0x1
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802BA80: .4byte gUnknown_203B2D4
|
|
_0802BA84: .4byte gUnknown_80DFC34
|
|
_0802BA88: .4byte gUnknown_80DFC18
|
|
thumb_func_end sub_802B9FC
|
|
|
|
thumb_func_start sub_802BA8C
|
|
sub_802BA8C:
|
|
push {lr}
|
|
ldr r0, _0802BAA4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0802BAB8
|
|
cmp r0, 0x1
|
|
bgt _0802BAA8
|
|
cmp r0, 0
|
|
beq _0802BAB2
|
|
b _0802BAC2
|
|
.align 2, 0
|
|
_0802BAA4: .4byte gUnknown_203B2D4
|
|
_0802BAA8:
|
|
cmp r0, 0x2
|
|
beq _0802BAC2
|
|
cmp r0, 0x3
|
|
beq _0802BABE
|
|
b _0802BAC2
|
|
_0802BAB2:
|
|
bl sub_802BB98
|
|
b _0802BAC6
|
|
_0802BAB8:
|
|
bl sub_802BC08
|
|
b _0802BAC6
|
|
_0802BABE:
|
|
movs r0, 0x3
|
|
b _0802BAC8
|
|
_0802BAC2:
|
|
movs r0, 0x2
|
|
b _0802BAC8
|
|
_0802BAC6:
|
|
movs r0, 0
|
|
_0802BAC8:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802BA8C
|
|
|
|
thumb_func_start sub_802BACC
|
|
sub_802BACC:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0802BB0C
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0802BB06
|
|
ldr r0, [r2, 0x24]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x28
|
|
ldr r0, _0802BB10
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x28
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802BB06:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802BB0C: .4byte gUnknown_203B2D4
|
|
_0802BB10: .4byte gUnknown_80DFC18
|
|
thumb_func_end sub_802BACC
|
|
|
|
thumb_func_start sub_802BB14
|
|
sub_802BB14:
|
|
push {lr}
|
|
ldr r1, _0802BB24
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_802BB28
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802BB24: .4byte gUnknown_203B2D4
|
|
thumb_func_end sub_802BB14
|
|
|
|
thumb_func_start sub_802BB28
|
|
sub_802BB28:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r5, _0802BB94
|
|
ldr r1, [r5]
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
blt _0802BB8C
|
|
cmp r0, 0x1
|
|
bgt _0802BB8C
|
|
ldr r0, [r1, 0x24]
|
|
bl sub_8008C54
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x24]
|
|
bl sub_80073B8
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, 0x4]
|
|
bl sub_803C190
|
|
adds r2, r0, 0
|
|
ldr r0, [r5]
|
|
ldr r3, [r0, 0x24]
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
movs r0, 0xA
|
|
movs r1, 0
|
|
bl sub_8014FF0
|
|
ldr r3, [r5]
|
|
ldr r1, [r3, 0x8]
|
|
lsls r1, 2
|
|
adds r0, r3, 0
|
|
adds r0, 0x10
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
ldr r3, [r3, 0x24]
|
|
str r4, [sp]
|
|
movs r0, 0x6
|
|
movs r1, 0x14
|
|
bl sub_8014FF0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x24]
|
|
bl sub_80073E0
|
|
ldr r1, [r5]
|
|
ldr r0, [r1, 0x8]
|
|
adds r0, 0x1
|
|
str r0, [r1, 0x8]
|
|
_0802BB8C:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802BB94: .4byte gUnknown_203B2D4
|
|
thumb_func_end sub_802BB28
|
|
|
|
thumb_func_start sub_802BB98
|
|
sub_802BB98:
|
|
push {r4,lr}
|
|
ldr r0, _0802BBD4
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, 0xC]
|
|
adds r4, r0, 0
|
|
cmp r1, 0
|
|
beq _0802BBBC
|
|
ldr r0, [r2, 0x20]
|
|
movs r1, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0802BBB4
|
|
bl sub_8013E54
|
|
_0802BBB4:
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x20]
|
|
adds r0, 0x1
|
|
str r0, [r1, 0x20]
|
|
_0802BBBC:
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x88
|
|
ldr r1, [r1, 0x24]
|
|
bl sub_8012A64
|
|
cmp r0, 0x1
|
|
beq _0802BBD8
|
|
cmp r0, 0x2
|
|
beq _0802BBF6
|
|
b _0802BC02
|
|
.align 2, 0
|
|
_0802BBD4: .4byte gUnknown_203B2D4
|
|
_0802BBD8:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0xC]
|
|
cmp r0, 0
|
|
beq _0802BBEE
|
|
movs r0, 0x1
|
|
bl sub_802BB14
|
|
b _0802BC02
|
|
_0802BBEE:
|
|
movs r0, 0x3
|
|
bl sub_802BB14
|
|
b _0802BC02
|
|
_0802BBF6:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
bl sub_802BB14
|
|
_0802BC02:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802BB98
|
|
|
|
thumb_func_start sub_802BC08
|
|
sub_802BC08:
|
|
push {r4,lr}
|
|
ldr r0, _0802BC44
|
|
ldr r3, [r0]
|
|
ldr r2, [r3, 0x8]
|
|
ldr r1, [r3, 0xC]
|
|
adds r4, r0, 0
|
|
cmp r2, r1
|
|
bge _0802BC2E
|
|
ldr r0, [r3, 0x20]
|
|
movs r1, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0802BC26
|
|
bl sub_8013E54
|
|
_0802BC26:
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x20]
|
|
adds r0, 0x1
|
|
str r0, [r1, 0x20]
|
|
_0802BC2E:
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x88
|
|
ldr r1, [r1, 0x24]
|
|
bl sub_8012A64
|
|
cmp r0, 0x1
|
|
beq _0802BC48
|
|
cmp r0, 0x2
|
|
beq _0802BC68
|
|
b _0802BC74
|
|
.align 2, 0
|
|
_0802BC44: .4byte gUnknown_203B2D4
|
|
_0802BC48:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0x8]
|
|
ldr r0, [r0, 0xC]
|
|
cmp r1, r0
|
|
bge _0802BC60
|
|
movs r0, 0x1
|
|
bl sub_802BB14
|
|
b _0802BC74
|
|
_0802BC60:
|
|
movs r0, 0x3
|
|
bl sub_802BB14
|
|
b _0802BC74
|
|
_0802BC68:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
bl sub_802BB14
|
|
_0802BC74:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802BC08
|
|
|
|
thumb_func_start sub_802BC7C
|
|
sub_802BC7C:
|
|
push {r4,lr}
|
|
ldr r4, _0802BCA4
|
|
bl sub_808D3BC
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl sub_808DA34
|
|
ldr r0, _0802BCA8
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0x1
|
|
bne _0802BCB0
|
|
adds r0, r4, 0
|
|
adds r0, 0x50
|
|
ldr r1, _0802BCAC
|
|
bl strcpy
|
|
b _0802BCBA
|
|
.align 2, 0
|
|
_0802BCA4: .4byte gUnknown_202DF98
|
|
_0802BCA8: .4byte gUnknown_203B46C
|
|
_0802BCAC: .4byte gUnknown_80DFC4C
|
|
_0802BCB0:
|
|
adds r0, r4, 0
|
|
adds r0, 0x50
|
|
ldr r1, _0802BCC0
|
|
bl strcpy
|
|
_0802BCBA:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802BCC0: .4byte gUnknown_80DFC50
|
|
thumb_func_end sub_802BC7C
|
|
|
|
thumb_func_start sub_802BCC4
|
|
sub_802BCC4:
|
|
push {r4,lr}
|
|
ldr r4, _0802BCDC
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x4]
|
|
bl sub_803C1A0
|
|
adds r3, r0, 0
|
|
ldr r1, [r4]
|
|
movs r0, 0
|
|
str r0, [r1, 0xC]
|
|
str r3, [r1, 0x10]
|
|
b _0802BD08
|
|
.align 2, 0
|
|
_0802BCDC: .4byte gUnknown_203B2D4
|
|
_0802BCE0:
|
|
cmp r0, 0x23
|
|
bne _0802BD06
|
|
ldrb r2, [r3, 0x1]
|
|
cmp r2, 0x50
|
|
beq _0802BCF0
|
|
adds r1, r3, 0x2
|
|
cmp r2, 0x70
|
|
bne _0802BD02
|
|
_0802BCF0:
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0xC]
|
|
adds r1, 0x1
|
|
str r1, [r0, 0xC]
|
|
lsls r1, 2
|
|
adds r0, 0x10
|
|
adds r0, r1
|
|
adds r1, r3, 0x2
|
|
str r1, [r0]
|
|
_0802BD02:
|
|
adds r3, r1, 0
|
|
b _0802BD08
|
|
_0802BD06:
|
|
adds r3, 0x1
|
|
_0802BD08:
|
|
ldrb r0, [r3]
|
|
cmp r0, 0
|
|
bne _0802BCE0
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802BCC4
|
|
|
|
thumb_func_start sub_802BD14
|
|
sub_802BD14:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r6, r0, 0
|
|
adds r4, r1, 0
|
|
mov r8, r2
|
|
bl sub_802C0E8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802BD2E
|
|
movs r0, 0
|
|
b _0802BDD4
|
|
_0802BD2E:
|
|
ldr r5, _0802BDE0
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
bne _0802BD40
|
|
movs r0, 0xA4
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
_0802BD40:
|
|
ldr r0, [r5]
|
|
str r6, [r0, 0x38]
|
|
lsls r1, r6, 1
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, 0x40
|
|
adds r1, r0, r1
|
|
str r1, [r0, 0x3C]
|
|
adds r0, 0x40
|
|
bl sub_8006518
|
|
ldr r1, [r5]
|
|
ldr r2, [r1, 0x38]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x40
|
|
ldr r0, _0802BDE4
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldr r2, [r5]
|
|
ldr r1, [r2, 0x3C]
|
|
adds r0, r2, 0
|
|
adds r0, 0xA0
|
|
str r0, [r1, 0x14]
|
|
cmp r4, 0
|
|
beq _0802BD8E
|
|
ldr r1, [r2, 0x38]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x48
|
|
adds r1, r0
|
|
ldr r0, [r4]
|
|
str r0, [r1]
|
|
_0802BD8E:
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x3C]
|
|
mov r1, r8
|
|
bl sub_8012D34
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, 0x40
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, [r5]
|
|
adds r4, 0x4
|
|
bl sub_802C0B8
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
mov r2, r8
|
|
adds r3, r6, 0
|
|
bl sub_8013848
|
|
ldr r0, [r5]
|
|
ldr r1, _0802BDE8
|
|
ldrh r1, [r1]
|
|
strh r1, [r0, 0x1C]
|
|
adds r0, 0x4
|
|
bl sub_8013984
|
|
bl sub_802BF30
|
|
bl sub_802BFA0
|
|
movs r0, 0x1
|
|
_0802BDD4:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802BDE0: .4byte gUnknown_203B2D8
|
|
_0802BDE4: .4byte gUnknown_80DFC74
|
|
_0802BDE8: .4byte gUnknown_203B2DC
|
|
thumb_func_end sub_802BD14
|
|
|
|
thumb_func_start sub_802BDEC
|
|
sub_802BDEC:
|
|
push {lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802BE08
|
|
ldr r0, _0802BE04
|
|
ldr r0, [r0]
|
|
adds r0, 0x4
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _0802BE6E
|
|
.align 2, 0
|
|
_0802BE04: .4byte gUnknown_203B2D8
|
|
_0802BE08:
|
|
ldr r0, _0802BE20
|
|
ldr r0, [r0]
|
|
adds r0, 0x4
|
|
bl GetKeyPress
|
|
cmp r0, 0x2
|
|
beq _0802BE2A
|
|
cmp r0, 0x2
|
|
bgt _0802BE24
|
|
cmp r0, 0x1
|
|
beq _0802BE34
|
|
b _0802BE48
|
|
.align 2, 0
|
|
_0802BE20: .4byte gUnknown_203B2D8
|
|
_0802BE24:
|
|
cmp r0, 0x4
|
|
beq _0802BE3E
|
|
b _0802BE48
|
|
_0802BE2A:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0802BE6E
|
|
_0802BE34:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _0802BE6E
|
|
_0802BE3E:
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0x4
|
|
b _0802BE6E
|
|
_0802BE48:
|
|
ldr r0, _0802BE60
|
|
ldr r0, [r0]
|
|
adds r0, 0x4
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802BE64
|
|
movs r0, 0
|
|
b _0802BE6E
|
|
.align 2, 0
|
|
_0802BE60: .4byte gUnknown_203B2D8
|
|
_0802BE64:
|
|
bl sub_802BF30
|
|
bl sub_802BFA0
|
|
movs r0, 0x1
|
|
_0802BE6E:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802BDEC
|
|
|
|
thumb_func_start sub_802BE74
|
|
sub_802BE74:
|
|
ldr r0, _0802BE90
|
|
ldr r1, [r0]
|
|
movs r0, 0x22
|
|
ldrsh r2, [r1, r0]
|
|
movs r3, 0x20
|
|
ldrsh r0, [r1, r3]
|
|
muls r0, r2
|
|
movs r3, 0x1C
|
|
ldrsh r2, [r1, r3]
|
|
adds r0, r2
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0802BE90: .4byte gUnknown_203B2D8
|
|
thumb_func_end sub_802BE74
|
|
|
|
thumb_func_start sub_802BE94
|
|
sub_802BE94:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8004914
|
|
ldr r5, _0802BED8
|
|
ldr r0, [r5]
|
|
adds r0, 0x40
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
bl sub_802C0B8
|
|
adds r1, r0, 0
|
|
ldr r0, [r5]
|
|
strh r1, [r0, 0x26]
|
|
adds r0, 0x4
|
|
bl sub_8013984
|
|
bl sub_802BF30
|
|
bl sub_802BFA0
|
|
cmp r4, 0
|
|
beq _0802BED2
|
|
ldr r0, [r5]
|
|
adds r0, 0x4
|
|
bl AddMenuCursorSprite
|
|
_0802BED2:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802BED8: .4byte gUnknown_203B2D8
|
|
thumb_func_end sub_802BE94
|
|
|
|
thumb_func_start sub_802BEDC
|
|
sub_802BEDC:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0802BF24
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0802BF1C
|
|
ldr r1, _0802BF28
|
|
ldrh r0, [r2, 0x1C]
|
|
strh r0, [r1]
|
|
ldr r0, [r2, 0x38]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x40
|
|
ldr r0, _0802BF2C
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x40
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802BF1C:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802BF24: .4byte gUnknown_203B2D8
|
|
_0802BF28: .4byte gUnknown_203B2DC
|
|
_0802BF2C: .4byte gUnknown_80DFC5C
|
|
thumb_func_end sub_802BEDC
|
|
|
|
thumb_func_start sub_802BF30
|
|
sub_802BF30:
|
|
push {r4,lr}
|
|
ldr r4, _0802BF9C
|
|
ldr r0, [r4]
|
|
adds r0, 0xA0
|
|
movs r2, 0
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xA1
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xA2
|
|
movs r1, 0xC
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xA3
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
movs r1, 0x1E
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0x18
|
|
bl sub_8009614
|
|
adds r0, 0x2
|
|
lsls r0, 16
|
|
ldr r2, [r4]
|
|
ldr r3, [r2, 0x38]
|
|
lsls r1, r3, 1
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x4E
|
|
asrs r3, r0, 16
|
|
lsrs r0, 16
|
|
strh r0, [r1]
|
|
ldr r1, [r2, 0x38]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, r0
|
|
adds r3, 0x2
|
|
adds r2, 0x50
|
|
strh r3, [r2]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x40
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802BF9C: .4byte gUnknown_203B2D8
|
|
thumb_func_end sub_802BF30
|
|
|
|
thumb_func_start sub_802BFA0
|
|
sub_802BFA0:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0xDC
|
|
ldr r4, _0802C060
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x38]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x38]
|
|
bl sub_80073B8
|
|
ldr r1, [r4]
|
|
movs r2, 0x22
|
|
ldrsh r0, [r1, r2]
|
|
lsls r0, 3
|
|
adds r0, 0xA
|
|
ldr r2, _0802C064
|
|
ldr r3, [r1, 0x38]
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
bl xxx_call_draw_string
|
|
movs r6, 0
|
|
ldr r0, [r4]
|
|
movs r3, 0x1E
|
|
ldrsh r0, [r0, r3]
|
|
cmp r6, r0
|
|
bge _0802C09A
|
|
adds r7, r4, 0
|
|
ldr r0, _0802C068
|
|
mov r9, r0
|
|
add r1, sp, 0x5C
|
|
mov r8, r1
|
|
_0802BFE8:
|
|
ldr r1, [r7]
|
|
movs r3, 0x22
|
|
ldrsh r2, [r1, r3]
|
|
movs r3, 0x20
|
|
ldrsh r0, [r1, r3]
|
|
muls r0, r2
|
|
adds r0, r6
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
bl sub_8095FE8
|
|
adds r5, r0, 0
|
|
ldr r0, [r7]
|
|
ldr r1, [r0, 0x38]
|
|
str r1, [sp, 0x4]
|
|
adds r0, 0x4
|
|
adds r1, r6, 0
|
|
bl sub_8013800
|
|
str r0, [sp, 0x4C]
|
|
ldrb r0, [r5]
|
|
cmp r0, 0x1
|
|
bne _0802C06C
|
|
ldr r0, [r7]
|
|
adds r0, 0x4
|
|
adds r1, r6, 0
|
|
bl sub_8013800
|
|
adds r4, r0, 0
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x38]
|
|
movs r0, 0xA
|
|
adds r1, r4, 0
|
|
movs r2, 0x6
|
|
bl sub_803B6B0
|
|
bl sub_808D33C
|
|
adds r1, r0, 0
|
|
mov r0, r9
|
|
bl sub_808DA34
|
|
ldrb r0, [r5, 0x5]
|
|
bl sub_803C190
|
|
adds r1, r0, 0
|
|
mov r0, r8
|
|
mov r2, r9
|
|
bl sub_800D158
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x38]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x15
|
|
adds r1, r4, 0
|
|
mov r2, r8
|
|
bl xxx_call_draw_string
|
|
b _0802C08E
|
|
.align 2, 0
|
|
_0802C060: .4byte gUnknown_203B2D8
|
|
_0802C064: .4byte gUnknown_80DFC8C
|
|
_0802C068: .4byte gUnknown_202DF98
|
|
_0802C06C:
|
|
adds r0, r5, 0
|
|
add r1, sp, 0x4
|
|
bl sub_803B35C
|
|
adds r0, r5, 0
|
|
bl sub_80968B0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802C088
|
|
mov r1, sp
|
|
adds r1, 0x47
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
_0802C088:
|
|
add r0, sp, 0x4
|
|
bl sub_803B6D4
|
|
_0802C08E:
|
|
adds r6, 0x1
|
|
ldr r0, [r7]
|
|
movs r1, 0x1E
|
|
ldrsh r0, [r0, r1]
|
|
cmp r6, r0
|
|
blt _0802BFE8
|
|
_0802C09A:
|
|
ldr r0, _0802C0B4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x38]
|
|
bl sub_80073E0
|
|
add sp, 0xDC
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802C0B4: .4byte gUnknown_203B2D8
|
|
thumb_func_end sub_802BFA0
|
|
|
|
thumb_func_start sub_802C0B8
|
|
sub_802C0B8:
|
|
push {r4,r5,lr}
|
|
movs r5, 0
|
|
movs r4, 0
|
|
_0802C0BE:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_8096000
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802C0D6
|
|
ldr r0, _0802C0E4
|
|
ldr r0, [r0]
|
|
adds r0, r5
|
|
strb r4, [r0]
|
|
adds r5, 0x1
|
|
_0802C0D6:
|
|
adds r4, 0x1
|
|
cmp r4, 0x3
|
|
ble _0802C0BE
|
|
adds r0, r5, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802C0E4: .4byte gUnknown_203B2D8
|
|
thumb_func_end sub_802C0B8
|
|
|
|
thumb_func_start sub_802C0E8
|
|
sub_802C0E8:
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_0802C0EC:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_8096000
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802C0FE
|
|
movs r0, 0
|
|
b _0802C106
|
|
_0802C0FE:
|
|
adds r4, 0x1
|
|
cmp r4, 0x3
|
|
ble _0802C0EC
|
|
movs r0, 0x1
|
|
_0802C106:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802C0E8
|
|
|
|
thumb_func_start sub_802C10C
|
|
sub_802C10C:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r6, r0, 0
|
|
adds r4, r1, 0
|
|
mov r8, r2
|
|
bl sub_802C4A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802C126
|
|
movs r0, 0
|
|
b _0802C1CC
|
|
_0802C126:
|
|
ldr r5, _0802C1D8
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
bne _0802C138
|
|
movs r0, 0xA8
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
_0802C138:
|
|
ldr r0, [r5]
|
|
str r6, [r0, 0x3C]
|
|
lsls r1, r6, 1
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, 0x44
|
|
adds r1, r0, r1
|
|
str r1, [r0, 0x40]
|
|
adds r0, 0x44
|
|
bl sub_8006518
|
|
ldr r1, [r5]
|
|
ldr r2, [r1, 0x3C]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x44
|
|
ldr r0, _0802C1DC
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldr r2, [r5]
|
|
ldr r1, [r2, 0x40]
|
|
adds r0, r2, 0
|
|
adds r0, 0xA4
|
|
str r0, [r1, 0x14]
|
|
cmp r4, 0
|
|
beq _0802C186
|
|
ldr r1, [r2, 0x3C]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x4C
|
|
adds r1, r0
|
|
ldr r0, [r4]
|
|
str r0, [r1]
|
|
_0802C186:
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x40]
|
|
mov r1, r8
|
|
bl sub_8012D34
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, 0x44
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, [r5]
|
|
adds r4, 0x8
|
|
bl sub_802C474
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
mov r2, r8
|
|
adds r3, r6, 0
|
|
bl sub_8013848
|
|
ldr r0, [r5]
|
|
ldr r1, _0802C1E0
|
|
ldrh r1, [r1]
|
|
strh r1, [r0, 0x20]
|
|
adds r0, 0x8
|
|
bl sub_8013984
|
|
bl sub_802C328
|
|
bl sub_802C39C
|
|
movs r0, 0x1
|
|
_0802C1CC:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802C1D8: .4byte gUnknown_203B2E0
|
|
_0802C1DC: .4byte gUnknown_80DFCB4
|
|
_0802C1E0: .4byte gUnknown_203B2E4
|
|
thumb_func_end sub_802C10C
|
|
|
|
thumb_func_start sub_802C1E4
|
|
sub_802C1E4:
|
|
push {lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802C200
|
|
ldr r0, _0802C1FC
|
|
ldr r0, [r0]
|
|
adds r0, 0x8
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _0802C266
|
|
.align 2, 0
|
|
_0802C1FC: .4byte gUnknown_203B2E0
|
|
_0802C200:
|
|
ldr r0, _0802C218
|
|
ldr r0, [r0]
|
|
adds r0, 0x8
|
|
bl GetKeyPress
|
|
cmp r0, 0x2
|
|
beq _0802C222
|
|
cmp r0, 0x2
|
|
bgt _0802C21C
|
|
cmp r0, 0x1
|
|
beq _0802C22C
|
|
b _0802C240
|
|
.align 2, 0
|
|
_0802C218: .4byte gUnknown_203B2E0
|
|
_0802C21C:
|
|
cmp r0, 0x4
|
|
beq _0802C236
|
|
b _0802C240
|
|
_0802C222:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0802C266
|
|
_0802C22C:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _0802C266
|
|
_0802C236:
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0x4
|
|
b _0802C266
|
|
_0802C240:
|
|
ldr r0, _0802C258
|
|
ldr r0, [r0]
|
|
adds r0, 0x8
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802C25C
|
|
movs r0, 0
|
|
b _0802C266
|
|
.align 2, 0
|
|
_0802C258: .4byte gUnknown_203B2E0
|
|
_0802C25C:
|
|
bl sub_802C328
|
|
bl sub_802C39C
|
|
movs r0, 0x1
|
|
_0802C266:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802C1E4
|
|
|
|
thumb_func_start sub_802C26C
|
|
sub_802C26C:
|
|
ldr r0, _0802C288
|
|
ldr r1, [r0]
|
|
movs r0, 0x26
|
|
ldrsh r2, [r1, r0]
|
|
movs r3, 0x24
|
|
ldrsh r0, [r1, r3]
|
|
muls r0, r2
|
|
movs r3, 0x20
|
|
ldrsh r2, [r1, r3]
|
|
adds r0, r2
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0802C288: .4byte gUnknown_203B2E0
|
|
thumb_func_end sub_802C26C
|
|
|
|
thumb_func_start sub_802C28C
|
|
sub_802C28C:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8004914
|
|
ldr r5, _0802C2D0
|
|
ldr r0, [r5]
|
|
adds r0, 0x44
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
bl sub_802C474
|
|
adds r1, r0, 0
|
|
ldr r0, [r5]
|
|
strh r1, [r0, 0x2A]
|
|
adds r0, 0x8
|
|
bl sub_8013984
|
|
bl sub_802C328
|
|
bl sub_802C39C
|
|
cmp r4, 0
|
|
beq _0802C2CA
|
|
ldr r0, [r5]
|
|
adds r0, 0x8
|
|
bl AddMenuCursorSprite
|
|
_0802C2CA:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802C2D0: .4byte gUnknown_203B2E0
|
|
thumb_func_end sub_802C28C
|
|
|
|
thumb_func_start sub_802C2D4
|
|
sub_802C2D4:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0802C31C
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0802C314
|
|
ldr r1, _0802C320
|
|
ldrh r0, [r2, 0x20]
|
|
strh r0, [r1]
|
|
ldr r0, [r2, 0x3C]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x44
|
|
ldr r0, _0802C324
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x44
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802C314:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802C31C: .4byte gUnknown_203B2E0
|
|
_0802C320: .4byte gUnknown_203B2E4
|
|
_0802C324: .4byte gUnknown_80DFC9C
|
|
thumb_func_end sub_802C2D4
|
|
|
|
thumb_func_start sub_802C328
|
|
sub_802C328:
|
|
push {r4,lr}
|
|
ldr r4, _0802C398
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0, 0x28]
|
|
adds r0, 0xA4
|
|
movs r2, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0, 0x26]
|
|
adds r0, 0xA5
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xA6
|
|
movs r1, 0xC
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xA7
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
movs r1, 0x22
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0x18
|
|
bl sub_8009614
|
|
adds r0, 0x2
|
|
lsls r0, 16
|
|
ldr r2, [r4]
|
|
ldr r3, [r2, 0x3C]
|
|
lsls r1, r3, 1
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x52
|
|
asrs r3, r0, 16
|
|
lsrs r0, 16
|
|
strh r0, [r1]
|
|
ldr r1, [r2, 0x3C]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, r0
|
|
adds r3, 0x2
|
|
adds r2, 0x54
|
|
strh r3, [r2]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x44
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802C398: .4byte gUnknown_203B2E0
|
|
thumb_func_end sub_802C328
|
|
|
|
thumb_func_start sub_802C39C
|
|
sub_802C39C:
|
|
push {r4-r7,lr}
|
|
sub sp, 0x60
|
|
ldr r7, _0802C3F8
|
|
ldr r0, [r7]
|
|
ldr r0, [r0, 0x3C]
|
|
bl sub_8008C54
|
|
ldr r0, [r7]
|
|
ldr r0, [r0, 0x3C]
|
|
bl sub_80073B8
|
|
ldr r0, [r7]
|
|
movs r1, 0x26
|
|
ldrsh r4, [r0, r1]
|
|
lsls r4, 3
|
|
adds r5, r4, 0
|
|
adds r5, 0xA
|
|
ldr r2, _0802C3FC
|
|
ldr r3, [r0, 0x3C]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
adds r4, 0x4
|
|
ldr r1, [r7]
|
|
adds r0, r1, 0
|
|
adds r0, 0xA6
|
|
ldrb r0, [r0]
|
|
lsls r0, 3
|
|
adds r5, r4, r0
|
|
movs r3, 0x26
|
|
ldrsh r2, [r1, r3]
|
|
adds r2, 0x1
|
|
movs r0, 0x7
|
|
str r0, [sp]
|
|
ldr r0, [r1, 0x3C]
|
|
str r0, [sp, 0x4]
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
movs r3, 0x2
|
|
bl sub_8012BC4
|
|
movs r6, 0
|
|
b _0802C452
|
|
.align 2, 0
|
|
_0802C3F8: .4byte gUnknown_203B2E0
|
|
_0802C3FC: .4byte gUnknown_80DFCCC
|
|
_0802C400:
|
|
ldr r1, [r7]
|
|
movs r3, 0x26
|
|
ldrsh r2, [r1, r3]
|
|
movs r3, 0x24
|
|
ldrsh r0, [r1, r3]
|
|
muls r0, r2
|
|
adds r0, r6
|
|
adds r1, r0
|
|
ldrb r5, [r1]
|
|
adds r0, r5, 0
|
|
bl sub_8096574
|
|
adds r4, r0, 0
|
|
ldr r0, [r7]
|
|
ldr r1, [r0, 0x3C]
|
|
str r1, [sp, 0x8]
|
|
adds r0, 0x8
|
|
adds r1, r6, 0
|
|
bl sub_8013800
|
|
str r0, [sp, 0x50]
|
|
adds r0, r4, 0
|
|
add r1, sp, 0x8
|
|
bl sub_803B35C
|
|
adds r0, r5, 0
|
|
bl sub_8096574
|
|
bl sub_80968B0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802C44A
|
|
mov r1, sp
|
|
adds r1, 0x4B
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
_0802C44A:
|
|
add r0, sp, 0x8
|
|
bl sub_803B6D4
|
|
adds r6, 0x1
|
|
_0802C452:
|
|
ldr r0, [r7]
|
|
movs r1, 0x22
|
|
ldrsh r0, [r0, r1]
|
|
cmp r6, r0
|
|
blt _0802C400
|
|
ldr r0, _0802C470
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x3C]
|
|
bl sub_80073E0
|
|
add sp, 0x60
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802C470: .4byte gUnknown_203B2E0
|
|
thumb_func_end sub_802C39C
|
|
|
|
thumb_func_start sub_802C474
|
|
sub_802C474:
|
|
push {r4,r5,lr}
|
|
movs r5, 0
|
|
movs r4, 0
|
|
_0802C47A:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_809658C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802C492
|
|
ldr r0, _0802C4A0
|
|
ldr r0, [r0]
|
|
adds r0, r5
|
|
strb r4, [r0]
|
|
adds r5, 0x1
|
|
_0802C492:
|
|
adds r4, 0x1
|
|
cmp r4, 0x7
|
|
ble _0802C47A
|
|
adds r0, r5, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802C4A0: .4byte gUnknown_203B2E0
|
|
thumb_func_end sub_802C474
|
|
|
|
thumb_func_start sub_802C4A4
|
|
sub_802C4A4:
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_0802C4A8:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_809658C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802C4BA
|
|
movs r0, 0
|
|
b _0802C4C2
|
|
_0802C4BA:
|
|
adds r4, 0x1
|
|
cmp r4, 0x7
|
|
ble _0802C4A8
|
|
movs r0, 0x1
|
|
_0802C4C2:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802C4A4
|
|
|
|
thumb_func_start sub_802C4C8
|
|
sub_802C4C8:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r6, r0, 0
|
|
adds r4, r1, 0
|
|
mov r8, r2
|
|
bl sub_802C83C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802C4E2
|
|
movs r0, 0
|
|
b _0802C580
|
|
_0802C4E2:
|
|
ldr r5, _0802C58C
|
|
movs r0, 0xA8
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
str r6, [r0, 0x3C]
|
|
lsls r1, r6, 1
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, 0x44
|
|
adds r1, r0, r1
|
|
str r1, [r0, 0x40]
|
|
adds r0, 0x44
|
|
bl sub_8006518
|
|
ldr r1, [r5]
|
|
ldr r2, [r1, 0x3C]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x44
|
|
ldr r0, _0802C590
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldr r2, [r5]
|
|
ldr r1, [r2, 0x40]
|
|
adds r0, r2, 0
|
|
adds r0, 0xA4
|
|
str r0, [r1, 0x14]
|
|
cmp r4, 0
|
|
beq _0802C53A
|
|
ldr r1, [r2, 0x3C]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x4C
|
|
adds r1, r0
|
|
ldr r0, [r4]
|
|
str r0, [r1]
|
|
_0802C53A:
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x40]
|
|
mov r1, r8
|
|
bl sub_8012D34
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, 0x44
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, [r5]
|
|
adds r4, 0x8
|
|
bl sub_802C80C
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
mov r2, r8
|
|
adds r3, r6, 0
|
|
bl sub_8013848
|
|
ldr r0, [r5]
|
|
ldr r1, _0802C594
|
|
ldrh r1, [r1]
|
|
strh r1, [r0, 0x20]
|
|
adds r0, 0x8
|
|
bl sub_8013984
|
|
bl sub_802C6DC
|
|
bl sub_802C750
|
|
movs r0, 0x1
|
|
_0802C580:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802C58C: .4byte gUnknown_203B2E8
|
|
_0802C590: .4byte gUnknown_80DFCFC
|
|
_0802C594: .4byte gUnknown_203B2EC
|
|
thumb_func_end sub_802C4C8
|
|
|
|
thumb_func_start sub_802C598
|
|
sub_802C598:
|
|
push {lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802C5B4
|
|
ldr r0, _0802C5B0
|
|
ldr r0, [r0]
|
|
adds r0, 0x8
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _0802C61A
|
|
.align 2, 0
|
|
_0802C5B0: .4byte gUnknown_203B2E8
|
|
_0802C5B4:
|
|
ldr r0, _0802C5CC
|
|
ldr r0, [r0]
|
|
adds r0, 0x8
|
|
bl GetKeyPress
|
|
cmp r0, 0x2
|
|
beq _0802C5D6
|
|
cmp r0, 0x2
|
|
bgt _0802C5D0
|
|
cmp r0, 0x1
|
|
beq _0802C5E0
|
|
b _0802C5F4
|
|
.align 2, 0
|
|
_0802C5CC: .4byte gUnknown_203B2E8
|
|
_0802C5D0:
|
|
cmp r0, 0x4
|
|
beq _0802C5EA
|
|
b _0802C5F4
|
|
_0802C5D6:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0802C61A
|
|
_0802C5E0:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _0802C61A
|
|
_0802C5EA:
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0x4
|
|
b _0802C61A
|
|
_0802C5F4:
|
|
ldr r0, _0802C60C
|
|
ldr r0, [r0]
|
|
adds r0, 0x8
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802C610
|
|
movs r0, 0
|
|
b _0802C61A
|
|
.align 2, 0
|
|
_0802C60C: .4byte gUnknown_203B2E8
|
|
_0802C610:
|
|
bl sub_802C6DC
|
|
bl sub_802C750
|
|
movs r0, 0x1
|
|
_0802C61A:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802C598
|
|
|
|
thumb_func_start sub_802C620
|
|
sub_802C620:
|
|
ldr r0, _0802C63C
|
|
ldr r1, [r0]
|
|
movs r0, 0x26
|
|
ldrsh r2, [r1, r0]
|
|
movs r3, 0x24
|
|
ldrsh r0, [r1, r3]
|
|
muls r0, r2
|
|
movs r3, 0x20
|
|
ldrsh r2, [r1, r3]
|
|
adds r0, r2
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0802C63C: .4byte gUnknown_203B2E8
|
|
thumb_func_end sub_802C620
|
|
|
|
thumb_func_start sub_802C640
|
|
sub_802C640:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8004914
|
|
ldr r5, _0802C684
|
|
ldr r0, [r5]
|
|
adds r0, 0x44
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
bl sub_802C80C
|
|
adds r1, r0, 0
|
|
ldr r0, [r5]
|
|
strh r1, [r0, 0x2A]
|
|
adds r0, 0x8
|
|
bl sub_8013984
|
|
bl sub_802C6DC
|
|
bl sub_802C750
|
|
cmp r4, 0
|
|
beq _0802C67E
|
|
ldr r0, [r5]
|
|
adds r0, 0x8
|
|
bl AddMenuCursorSprite
|
|
_0802C67E:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802C684: .4byte gUnknown_203B2E8
|
|
thumb_func_end sub_802C640
|
|
|
|
thumb_func_start sub_802C688
|
|
sub_802C688:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0802C6D0
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0802C6C8
|
|
ldr r1, _0802C6D4
|
|
ldrh r0, [r2, 0x20]
|
|
strh r0, [r1]
|
|
ldr r0, [r2, 0x3C]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x44
|
|
ldr r0, _0802C6D8
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x44
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802C6C8:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802C6D0: .4byte gUnknown_203B2E8
|
|
_0802C6D4: .4byte gUnknown_203B2EC
|
|
_0802C6D8: .4byte gUnknown_80DFCE4
|
|
thumb_func_end sub_802C688
|
|
|
|
thumb_func_start sub_802C6DC
|
|
sub_802C6DC:
|
|
push {r4,lr}
|
|
ldr r4, _0802C74C
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0, 0x28]
|
|
adds r0, 0xA4
|
|
movs r2, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0, 0x26]
|
|
adds r0, 0xA5
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xA6
|
|
movs r1, 0xC
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xA7
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
movs r1, 0x22
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0x18
|
|
bl sub_8009614
|
|
adds r0, 0x2
|
|
lsls r0, 16
|
|
ldr r2, [r4]
|
|
ldr r3, [r2, 0x3C]
|
|
lsls r1, r3, 1
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x52
|
|
asrs r3, r0, 16
|
|
lsrs r0, 16
|
|
strh r0, [r1]
|
|
ldr r1, [r2, 0x3C]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, r0
|
|
adds r3, 0x2
|
|
adds r2, 0x54
|
|
strh r3, [r2]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x44
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802C74C: .4byte gUnknown_203B2E8
|
|
thumb_func_end sub_802C6DC
|
|
|
|
thumb_func_start sub_802C750
|
|
sub_802C750:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x60
|
|
ldr r6, _0802C7AC
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x3C]
|
|
bl sub_8008C54
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x3C]
|
|
bl sub_80073B8
|
|
ldr r0, [r6]
|
|
movs r1, 0x26
|
|
ldrsh r4, [r0, r1]
|
|
lsls r4, 3
|
|
adds r5, r4, 0
|
|
adds r5, 0xA
|
|
ldr r2, _0802C7B0
|
|
ldr r3, [r0, 0x3C]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
adds r4, 0x4
|
|
ldr r1, [r6]
|
|
adds r0, r1, 0
|
|
adds r0, 0xA6
|
|
ldrb r0, [r0]
|
|
lsls r0, 3
|
|
adds r5, r4, r0
|
|
movs r3, 0x26
|
|
ldrsh r2, [r1, r3]
|
|
adds r2, 0x1
|
|
movs r0, 0x7
|
|
str r0, [sp]
|
|
ldr r0, [r1, 0x3C]
|
|
str r0, [sp, 0x4]
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
movs r3, 0x2
|
|
bl sub_8012BC4
|
|
movs r5, 0
|
|
b _0802C7EC
|
|
.align 2, 0
|
|
_0802C7AC: .4byte gUnknown_203B2E8
|
|
_0802C7B0: .4byte gUnknown_80DFD14
|
|
_0802C7B4:
|
|
ldr r1, [r6]
|
|
movs r3, 0x26
|
|
ldrsh r2, [r1, r3]
|
|
movs r3, 0x24
|
|
ldrsh r0, [r1, r3]
|
|
muls r0, r2
|
|
adds r0, r5
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
bl sub_8096AB4
|
|
adds r4, r0, 0
|
|
ldr r0, [r6]
|
|
ldr r1, [r0, 0x3C]
|
|
str r1, [sp, 0x8]
|
|
adds r0, 0x8
|
|
adds r1, r5, 0
|
|
bl sub_8013800
|
|
str r0, [sp, 0x50]
|
|
adds r0, r4, 0
|
|
add r1, sp, 0x8
|
|
bl sub_803B35C
|
|
add r0, sp, 0x8
|
|
bl sub_803B6D4
|
|
adds r5, 0x1
|
|
_0802C7EC:
|
|
ldr r0, [r6]
|
|
movs r1, 0x22
|
|
ldrsh r0, [r0, r1]
|
|
cmp r5, r0
|
|
blt _0802C7B4
|
|
ldr r0, _0802C808
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x3C]
|
|
bl sub_80073E0
|
|
add sp, 0x60
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802C808: .4byte gUnknown_203B2E8
|
|
thumb_func_end sub_802C750
|
|
|
|
thumb_func_start sub_802C80C
|
|
sub_802C80C:
|
|
push {r4,r5,lr}
|
|
movs r5, 0
|
|
movs r4, 0
|
|
_0802C812:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_8096ACC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802C82A
|
|
ldr r0, _0802C838
|
|
ldr r0, [r0]
|
|
adds r0, r5
|
|
strb r4, [r0]
|
|
adds r5, 0x1
|
|
_0802C82A:
|
|
adds r4, 0x1
|
|
cmp r4, 0x7
|
|
ble _0802C812
|
|
adds r0, r5, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802C838: .4byte gUnknown_203B2E8
|
|
thumb_func_end sub_802C80C
|
|
|
|
thumb_func_start sub_802C83C
|
|
sub_802C83C:
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_0802C840:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_8096ACC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802C852
|
|
movs r0, 0
|
|
b _0802C85A
|
|
_0802C852:
|
|
adds r4, 0x1
|
|
cmp r4, 0x7
|
|
ble _0802C840
|
|
movs r0, 0x1
|
|
_0802C85A:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802C83C
|
|
|
|
thumb_func_start sub_802C860
|
|
sub_802C860:
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
bl sub_802C83C
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0
|
|
bne _0802C890
|
|
ldr r4, _0802C88C
|
|
movs r0, 0xFE
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
str r5, [r0, 0x68]
|
|
str r6, [r0]
|
|
movs r0, 0
|
|
bl sub_802C910
|
|
movs r0, 0x1
|
|
b _0802C892
|
|
.align 2, 0
|
|
_0802C88C: .4byte gUnknown_203B2F0
|
|
_0802C890:
|
|
movs r0, 0
|
|
_0802C892:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802C860
|
|
|
|
thumb_func_start sub_802C898
|
|
sub_802C898:
|
|
push {lr}
|
|
ldr r0, _0802C8B0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
cmp r0, 0x5
|
|
bhi _0802C8E8
|
|
lsls r0, 2
|
|
ldr r1, _0802C8B4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802C8B0: .4byte gUnknown_203B2F0
|
|
_0802C8B4: .4byte _0802C8B8
|
|
.align 2, 0
|
|
_0802C8B8:
|
|
.4byte _0802C8D0
|
|
.4byte _0802C8D0
|
|
.4byte _0802C8D6
|
|
.4byte _0802C8DC
|
|
.4byte _0802C8E2
|
|
.4byte _0802C8E8
|
|
_0802C8D0:
|
|
bl sub_802CC00
|
|
b _0802C8EC
|
|
_0802C8D6:
|
|
bl sub_802CC70
|
|
b _0802C8EC
|
|
_0802C8DC:
|
|
bl sub_802CD38
|
|
b _0802C8EC
|
|
_0802C8E2:
|
|
bl sub_802CDB8
|
|
b _0802C8EC
|
|
_0802C8E8:
|
|
movs r0, 0x3
|
|
b _0802C8EE
|
|
_0802C8EC:
|
|
movs r0, 0
|
|
_0802C8EE:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802C898
|
|
|
|
thumb_func_start sub_802C8F4
|
|
sub_802C8F4:
|
|
push {r4,lr}
|
|
ldr r4, _0802C90C
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0802C906
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802C906:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802C90C: .4byte gUnknown_203B2F0
|
|
thumb_func_end sub_802C8F4
|
|
|
|
thumb_func_start sub_802C910
|
|
sub_802C910:
|
|
push {lr}
|
|
ldr r1, _0802C924
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x4]
|
|
bl sub_802C928
|
|
bl sub_802C9D8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802C924: .4byte gUnknown_203B2F0
|
|
thumb_func_end sub_802C910
|
|
|
|
thumb_func_start sub_802C928
|
|
sub_802C928:
|
|
push {r4-r7,lr}
|
|
ldr r4, _0802C94C
|
|
ldr r0, [r4]
|
|
movs r1, 0xCE
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x4]
|
|
cmp r0, 0x2
|
|
beq _0802C954
|
|
cmp r0, 0x3
|
|
beq _0802C980
|
|
movs r2, 0
|
|
ldr r3, _0802C950
|
|
b _0802C998
|
|
.align 2, 0
|
|
_0802C94C: .4byte gUnknown_203B2F0
|
|
_0802C950: .4byte gUnknown_80DFD28
|
|
_0802C954:
|
|
bl sub_802CAA4
|
|
ldr r2, [r4]
|
|
movs r0, 0xE6
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _0802C97C
|
|
ldm r1!, {r3,r5,r6}
|
|
stm r2!, {r3,r5,r6}
|
|
ldm r1!, {r3,r5,r7}
|
|
stm r2!, {r3,r5,r7}
|
|
ldr r1, [r4]
|
|
adds r0, r1, r0
|
|
movs r6, 0x86
|
|
lsls r6, 1
|
|
adds r1, r6
|
|
bl sub_8012CAC
|
|
b _0802C9B8
|
|
.align 2, 0
|
|
_0802C97C: .4byte gUnknown_80DFD40
|
|
_0802C980:
|
|
movs r7, 0xF2
|
|
lsls r7, 1
|
|
adds r1, r7
|
|
ldr r0, _0802C994
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
b _0802C9B8
|
|
.align 2, 0
|
|
_0802C994: .4byte gUnknown_80DFD58
|
|
_0802C998:
|
|
ldr r0, [r4]
|
|
lsls r1, r2, 1
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r1, 0xCE
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
adds r1, r3, 0
|
|
ldm r1!, {r5-r7}
|
|
stm r0!, {r5-r7}
|
|
ldm r1!, {r5-r7}
|
|
stm r0!, {r5-r7}
|
|
adds r2, 0x1
|
|
cmp r2, 0x3
|
|
ble _0802C998
|
|
_0802C9B8:
|
|
bl sub_8004914
|
|
ldr r0, _0802C9D4
|
|
ldr r0, [r0]
|
|
movs r1, 0xCE
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802C9D4: .4byte gUnknown_203B2F0
|
|
thumb_func_end sub_802C928
|
|
|
|
thumb_func_start sub_802C9D8
|
|
sub_802C9D8:
|
|
push {r4,lr}
|
|
sub sp, 0x8
|
|
ldr r1, _0802C9F4
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x4]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x5
|
|
bhi _0802CA9C
|
|
lsls r0, 2
|
|
ldr r1, _0802C9F8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802C9F4: .4byte gUnknown_203B2F0
|
|
_0802C9F8: .4byte _0802C9FC
|
|
.align 2, 0
|
|
_0802C9FC:
|
|
.4byte _0802CA14
|
|
.4byte _0802CA20
|
|
.4byte _0802CA28
|
|
.4byte _0802CA48
|
|
.4byte _0802CA80
|
|
.4byte _0802CA9C
|
|
_0802CA14:
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x4
|
|
bl sub_802C4C8
|
|
b _0802CA9C
|
|
_0802CA20:
|
|
movs r0, 0x1
|
|
bl sub_802C640
|
|
b _0802CA9C
|
|
_0802CA28:
|
|
bl sub_802C750
|
|
ldr r0, _0802CA44
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x6C
|
|
movs r3, 0x86
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
ldr r2, [r2, 0x68]
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
b _0802CA6E
|
|
.align 2, 0
|
|
_0802CA44: .4byte gUnknown_203B2F0
|
|
_0802CA48:
|
|
bl sub_802CBAC
|
|
bl sub_802C750
|
|
ldr r4, _0802CA7C
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
movs r1, 0
|
|
bl sub_8012EA4
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0xBC
|
|
movs r2, 0xA6
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
movs r2, 0x6
|
|
str r2, [sp]
|
|
movs r2, 0x3
|
|
_0802CA6E:
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8012D60
|
|
b _0802CA9C
|
|
.align 2, 0
|
|
_0802CA7C: .4byte gUnknown_203B2F0
|
|
_0802CA80:
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0xC]
|
|
bl sub_8096AB4
|
|
ldr r1, [r4]
|
|
adds r1, 0x10
|
|
bl sub_803B35C
|
|
ldr r0, [r4]
|
|
movs r1, 0x3
|
|
str r1, [r0, 0x10]
|
|
adds r0, 0x10
|
|
bl sub_802DE84
|
|
_0802CA9C:
|
|
add sp, 0x8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802C9D8
|
|
|
|
thumb_func_start sub_802CAA4
|
|
sub_802CAA4:
|
|
push {r4-r7,lr}
|
|
movs r7, 0
|
|
ldr r5, _0802CAC8
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, 0xC]
|
|
bl sub_8096AB4
|
|
adds r4, r0, 0
|
|
ldr r2, [r5]
|
|
ldr r0, [r2]
|
|
cmp r0, 0
|
|
bne _0802CB26
|
|
ldrb r0, [r4]
|
|
cmp r0, 0x5
|
|
beq _0802CACC
|
|
cmp r0, 0x6
|
|
beq _0802CB10
|
|
b _0802CB26
|
|
.align 2, 0
|
|
_0802CAC8: .4byte gUnknown_203B2F0
|
|
_0802CACC:
|
|
movs r0, 0x86
|
|
lsls r0, 1
|
|
adds r1, r2, r0
|
|
ldr r0, _0802CAFC
|
|
str r0, [r1]
|
|
adds r0, r4, 0
|
|
bl sub_809693C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802CAEE
|
|
ldrb r0, [r4, 0x4]
|
|
bl sub_80A2824
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802CB00
|
|
_0802CAEE:
|
|
ldr r0, [r5]
|
|
movs r1, 0x88
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
b _0802CB0A
|
|
.align 2, 0
|
|
_0802CAFC: .4byte gUnknown_80DFD70
|
|
_0802CB00:
|
|
ldr r0, [r5]
|
|
movs r1, 0x88
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
_0802CB0A:
|
|
str r1, [r0]
|
|
adds r7, 0x1
|
|
b _0802CB26
|
|
_0802CB10:
|
|
movs r0, 0x86
|
|
lsls r0, 1
|
|
adds r1, r2, r0
|
|
ldr r0, _0802CB9C
|
|
str r0, [r1]
|
|
movs r0, 0x88
|
|
lsls r0, 1
|
|
adds r1, r2, r0
|
|
movs r0, 0x3
|
|
str r0, [r1]
|
|
movs r7, 0x1
|
|
_0802CB26:
|
|
ldr r4, _0802CBA0
|
|
ldr r6, [r4]
|
|
lsls r1, r7, 3
|
|
movs r0, 0x86
|
|
lsls r0, 1
|
|
adds r3, r6, r0
|
|
adds r2, r3, r1
|
|
ldr r0, _0802CBA4
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
movs r0, 0x88
|
|
lsls r0, 1
|
|
adds r5, r6, r0
|
|
adds r1, r5, r1
|
|
movs r0, 0x4
|
|
str r0, [r1]
|
|
adds r7, 0x1
|
|
lsls r1, r7, 3
|
|
adds r2, r3, r1
|
|
ldr r0, _0802CBA8
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
adds r1, r5, r1
|
|
movs r0, 0x7
|
|
str r0, [r1]
|
|
adds r7, 0x1
|
|
lsls r1, r7, 3
|
|
adds r3, r1
|
|
movs r0, 0
|
|
str r0, [r3]
|
|
adds r1, r5, r1
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
movs r3, 0
|
|
mov r12, r4
|
|
cmp r3, r7
|
|
bge _0802CB8C
|
|
adds r4, r6, 0
|
|
adds r1, r5, 0
|
|
movs r5, 0x1
|
|
negs r5, r5
|
|
_0802CB78:
|
|
ldr r2, [r1]
|
|
cmp r2, r5
|
|
beq _0802CB84
|
|
ldr r0, [r4, 0x68]
|
|
cmp r2, r0
|
|
beq _0802CB94
|
|
_0802CB84:
|
|
adds r1, 0x8
|
|
adds r3, 0x1
|
|
cmp r3, r7
|
|
blt _0802CB78
|
|
_0802CB8C:
|
|
mov r0, r12
|
|
ldr r1, [r0]
|
|
movs r0, 0x7
|
|
str r0, [r1, 0x68]
|
|
_0802CB94:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802CB9C: .4byte gUnknown_80DFD7C
|
|
_0802CBA0: .4byte gUnknown_203B2F0
|
|
_0802CBA4: .4byte gUnknown_80D494C
|
|
_0802CBA8: .4byte gUnknown_80D4970
|
|
thumb_func_end sub_802CAA4
|
|
|
|
thumb_func_start sub_802CBAC
|
|
sub_802CBAC:
|
|
ldr r0, _0802CBF4
|
|
ldr r0, [r0]
|
|
mov r12, r0
|
|
movs r3, 0
|
|
movs r1, 0xA6
|
|
lsls r1, 1
|
|
add r1, r12
|
|
ldr r0, _0802CBF8
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r1, 0xA8
|
|
lsls r1, 1
|
|
add r1, r12
|
|
movs r0, 0x5
|
|
str r0, [r1]
|
|
movs r2, 0x1
|
|
movs r1, 0xAA
|
|
lsls r1, 1
|
|
add r1, r12
|
|
ldr r0, _0802CBFC
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r1, 0xAC
|
|
lsls r1, 1
|
|
add r1, r12
|
|
movs r0, 0x6
|
|
str r0, [r1]
|
|
movs r0, 0xAE
|
|
lsls r0, 1
|
|
add r0, r12
|
|
str r3, [r0]
|
|
movs r0, 0xB0
|
|
lsls r0, 1
|
|
add r0, r12
|
|
str r2, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0802CBF4: .4byte gUnknown_203B2F0
|
|
_0802CBF8: .4byte gUnknown_80D4920
|
|
_0802CBFC: .4byte gUnknown_80D4928
|
|
thumb_func_end sub_802CBAC
|
|
|
|
thumb_func_start sub_802CC00
|
|
sub_802CC00:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_802C598
|
|
cmp r0, 0x4
|
|
bhi _0802CC6A
|
|
lsls r0, 2
|
|
ldr r1, _0802CC18
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802CC18: .4byte _0802CC1C
|
|
.align 2, 0
|
|
_0802CC1C:
|
|
.4byte _0802CC6A
|
|
.4byte _0802CC6A
|
|
.4byte _0802CC60
|
|
.4byte _0802CC30
|
|
.4byte _0802CC48
|
|
_0802CC30:
|
|
bl sub_802C620
|
|
ldr r1, _0802CC44
|
|
ldr r1, [r1]
|
|
strb r0, [r1, 0xC]
|
|
movs r0, 0x2
|
|
bl sub_802C910
|
|
b _0802CC6A
|
|
.align 2, 0
|
|
_0802CC44: .4byte gUnknown_203B2F0
|
|
_0802CC48:
|
|
bl sub_802C620
|
|
ldr r1, _0802CC5C
|
|
ldr r1, [r1]
|
|
strb r0, [r1, 0xC]
|
|
movs r0, 0x4
|
|
bl sub_802C910
|
|
b _0802CC6A
|
|
.align 2, 0
|
|
_0802CC5C: .4byte gUnknown_203B2F0
|
|
_0802CC60:
|
|
bl sub_802C688
|
|
movs r0, 0x5
|
|
bl sub_802C910
|
|
_0802CC6A:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802CC00
|
|
|
|
thumb_func_start sub_802CC70
|
|
sub_802CC70:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_802C598
|
|
ldr r4, _0802CCB4
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802CCA0
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _0802CCA0
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x68]
|
|
_0802CCA0:
|
|
ldr r0, [sp]
|
|
subs r0, 0x1
|
|
cmp r0, 0x6
|
|
bhi _0802CD2E
|
|
lsls r0, 2
|
|
ldr r1, _0802CCB8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802CCB4: .4byte gUnknown_203B2F0
|
|
_0802CCB8: .4byte _0802CCBC
|
|
.align 2, 0
|
|
_0802CCBC:
|
|
.4byte _0802CD28
|
|
.4byte _0802CCD8
|
|
.4byte _0802CCF4
|
|
.4byte _0802CD18
|
|
.4byte _0802CD2E
|
|
.4byte _0802CD2E
|
|
.4byte _0802CD20
|
|
_0802CCD8:
|
|
ldr r0, _0802CCEC
|
|
bl sub_8011988
|
|
ldr r0, _0802CCF0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0xC]
|
|
bl sub_8096AB4
|
|
movs r1, 0x6
|
|
b _0802CD06
|
|
.align 2, 0
|
|
_0802CCEC: .4byte 0x00000133
|
|
_0802CCF0: .4byte gUnknown_203B2F0
|
|
_0802CCF4:
|
|
ldr r0, _0802CD10
|
|
bl sub_8011988
|
|
ldr r0, _0802CD14
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0xC]
|
|
bl sub_8096AB4
|
|
movs r1, 0x5
|
|
_0802CD06:
|
|
strb r1, [r0]
|
|
movs r0, 0x1
|
|
bl sub_802C910
|
|
b _0802CD2E
|
|
.align 2, 0
|
|
_0802CD10: .4byte 0x00000133
|
|
_0802CD14: .4byte gUnknown_203B2F0
|
|
_0802CD18:
|
|
movs r0, 0x3
|
|
bl sub_802C910
|
|
b _0802CD2E
|
|
_0802CD20:
|
|
movs r0, 0x4
|
|
bl sub_802C910
|
|
b _0802CD2E
|
|
_0802CD28:
|
|
movs r0, 0x1
|
|
bl sub_802C910
|
|
_0802CD2E:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802CC70
|
|
|
|
thumb_func_start sub_802CD38
|
|
sub_802CD38:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_802C598
|
|
ldr r4, _0802CD78
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
bl sub_8012FD8
|
|
ldr r0, [r4]
|
|
adds r0, 0xBC
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802CD66
|
|
ldr r0, [r4]
|
|
adds r0, 0xBC
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_0802CD66:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x5
|
|
beq _0802CD88
|
|
cmp r0, 0x5
|
|
bgt _0802CD7C
|
|
cmp r0, 0x1
|
|
beq _0802CD80
|
|
b _0802CDB0
|
|
.align 2, 0
|
|
_0802CD78: .4byte gUnknown_203B2F0
|
|
_0802CD7C:
|
|
cmp r0, 0x6
|
|
bne _0802CDB0
|
|
_0802CD80:
|
|
movs r0, 0x1
|
|
bl sub_802C910
|
|
b _0802CDB0
|
|
_0802CD88:
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0xC]
|
|
bl sub_8096C3C
|
|
bl sub_8096C80
|
|
bl sub_802C83C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802CDAA
|
|
bl sub_802C688
|
|
movs r0, 0x5
|
|
bl sub_802C910
|
|
b _0802CDB0
|
|
_0802CDAA:
|
|
movs r0, 0x1
|
|
bl sub_802C910
|
|
_0802CDB0:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802CD38
|
|
|
|
thumb_func_start sub_802CDB8
|
|
sub_802CDB8:
|
|
push {lr}
|
|
bl sub_802DEE0
|
|
cmp r0, 0x1
|
|
bls _0802CDD0
|
|
cmp r0, 0x3
|
|
bhi _0802CDD0
|
|
bl sub_802DF24
|
|
movs r0, 0x1
|
|
bl sub_802C910
|
|
_0802CDD0:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802CDB8
|
|
|
|
thumb_func_start sub_802CDD4
|
|
sub_802CDD4:
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
ldr r4, _0802CE54
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
bne _0802CDEA
|
|
movs r0, 0xA0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
_0802CDEA:
|
|
ldr r0, [r4]
|
|
str r5, [r0, 0x34]
|
|
lsls r1, r5, 1
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, 0x3C
|
|
adds r1, r0, r1
|
|
str r1, [r0, 0x38]
|
|
adds r0, 0x3C
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
ldr r2, [r1, 0x34]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x3C
|
|
ldr r0, _0802CE58
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x38]
|
|
adds r1, 0x9C
|
|
str r1, [r0, 0x14]
|
|
movs r1, 0x4
|
|
bl sub_8012D34
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x3C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
movs r1, 0x5
|
|
movs r2, 0x4
|
|
adds r3, r5, 0
|
|
bl sub_8013848
|
|
bl sub_802CF5C
|
|
bl sub_802CFD0
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802CE54: .4byte gUnknown_203B2F4
|
|
_0802CE58: .4byte gUnknown_80DFDA4
|
|
thumb_func_end sub_802CDD4
|
|
|
|
thumb_func_start sub_802CE5C
|
|
sub_802CE5C:
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802CE74
|
|
ldr r0, _0802CE70
|
|
ldr r0, [r0]
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _0802CEB4
|
|
.align 2, 0
|
|
_0802CE70: .4byte gUnknown_203B2F4
|
|
_0802CE74:
|
|
ldr r4, _0802CE90
|
|
ldr r0, [r4]
|
|
bl GetKeyPress
|
|
cmp r0, 0x1
|
|
beq _0802CE94
|
|
cmp r0, 0x2
|
|
bne _0802CE98
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0802CEB4
|
|
.align 2, 0
|
|
_0802CE90: .4byte gUnknown_203B2F4
|
|
_0802CE94:
|
|
movs r0, 0x3
|
|
b _0802CEB4
|
|
_0802CE98:
|
|
ldr r0, [r4]
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802CEAA
|
|
movs r0, 0
|
|
b _0802CEB4
|
|
_0802CEAA:
|
|
bl sub_802CF5C
|
|
bl sub_802CFD0
|
|
movs r0, 0x1
|
|
_0802CEB4:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802CE5C
|
|
|
|
thumb_func_start sub_802CEBC
|
|
sub_802CEBC:
|
|
ldr r0, _0802CED4
|
|
ldr r1, [r0]
|
|
movs r0, 0x1E
|
|
ldrsh r2, [r1, r0]
|
|
movs r3, 0x1C
|
|
ldrsh r0, [r1, r3]
|
|
muls r0, r2
|
|
ldrb r1, [r1, 0x18]
|
|
adds r0, r1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bx lr
|
|
.align 2, 0
|
|
_0802CED4: .4byte gUnknown_203B2F4
|
|
thumb_func_end sub_802CEBC
|
|
|
|
thumb_func_start sub_802CED8
|
|
sub_802CED8:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8004914
|
|
ldr r5, _0802CF10
|
|
ldr r0, [r5]
|
|
adds r0, 0x3C
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
ldr r0, [r5]
|
|
bl sub_8013984
|
|
bl sub_802CF5C
|
|
bl sub_802CFD0
|
|
cmp r4, 0
|
|
beq _0802CF0A
|
|
ldr r0, [r5]
|
|
bl AddMenuCursorSprite
|
|
_0802CF0A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802CF10: .4byte gUnknown_203B2F4
|
|
thumb_func_end sub_802CED8
|
|
|
|
thumb_func_start sub_802CF14
|
|
sub_802CF14:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0802CF54
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0802CF4E
|
|
ldr r0, [r2, 0x34]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x3C
|
|
ldr r0, _0802CF58
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x3C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802CF4E:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802CF54: .4byte gUnknown_203B2F4
|
|
_0802CF58: .4byte gUnknown_80DFD8C
|
|
thumb_func_end sub_802CF14
|
|
|
|
thumb_func_start sub_802CF5C
|
|
sub_802CF5C:
|
|
push {r4,lr}
|
|
ldr r4, _0802CFCC
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0, 0x20]
|
|
adds r0, 0x9C
|
|
movs r2, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0, 0x1E]
|
|
adds r0, 0x9D
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0x9E
|
|
movs r1, 0xC
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0x9F
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
movs r1, 0x1A
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0x18
|
|
bl sub_8009614
|
|
adds r0, 0x2
|
|
lsls r0, 16
|
|
ldr r2, [r4]
|
|
ldr r3, [r2, 0x34]
|
|
lsls r1, r3, 1
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x4A
|
|
asrs r3, r0, 16
|
|
lsrs r0, 16
|
|
strh r0, [r1]
|
|
ldr r1, [r2, 0x34]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, r0
|
|
adds r3, 0x2
|
|
adds r2, 0x4C
|
|
strh r3, [r2]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x3C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802CFCC: .4byte gUnknown_203B2F4
|
|
thumb_func_end sub_802CF5C
|
|
|
|
thumb_func_start sub_802CFD0
|
|
sub_802CFD0:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x60
|
|
ldr r6, _0802D02C
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_8008C54
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_80073B8
|
|
ldr r0, [r6]
|
|
movs r1, 0x1E
|
|
ldrsh r4, [r0, r1]
|
|
lsls r4, 3
|
|
adds r5, r4, 0
|
|
adds r5, 0xA
|
|
ldr r2, _0802D030
|
|
ldr r3, [r0, 0x34]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
adds r4, 0x4
|
|
ldr r1, [r6]
|
|
adds r0, r1, 0
|
|
adds r0, 0x9E
|
|
ldrb r0, [r0]
|
|
lsls r0, 3
|
|
adds r5, r4, r0
|
|
movs r0, 0x1E
|
|
ldrsh r2, [r1, r0]
|
|
adds r2, 0x1
|
|
movs r0, 0x7
|
|
str r0, [sp]
|
|
ldr r0, [r1, 0x34]
|
|
str r0, [sp, 0x4]
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
movs r3, 0x2
|
|
bl sub_8012BC4
|
|
movs r5, 0
|
|
b _0802D076
|
|
.align 2, 0
|
|
_0802D02C: .4byte gUnknown_203B2F4
|
|
_0802D030: .4byte gUnknown_80DFDBC
|
|
_0802D034:
|
|
ldr r0, [r6]
|
|
movs r2, 0x1E
|
|
ldrsh r1, [r0, r2]
|
|
movs r2, 0x1C
|
|
ldrsh r0, [r0, r2]
|
|
muls r0, r1
|
|
adds r0, r5
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_803B344
|
|
adds r4, r0, 0
|
|
ldr r0, [r6]
|
|
ldr r1, [r0, 0x34]
|
|
str r1, [sp, 0x8]
|
|
adds r1, r5, 0
|
|
bl sub_8013800
|
|
str r0, [sp, 0x50]
|
|
adds r0, r4, 0
|
|
add r1, sp, 0x8
|
|
bl sub_803B35C
|
|
mov r1, sp
|
|
adds r1, 0x4B
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldr r0, [r4, 0x14]
|
|
str r0, [sp, 0x54]
|
|
add r0, sp, 0x8
|
|
bl sub_803B6D4
|
|
adds r5, 0x1
|
|
_0802D076:
|
|
ldr r0, [r6]
|
|
movs r1, 0x1A
|
|
ldrsh r0, [r0, r1]
|
|
cmp r5, r0
|
|
blt _0802D034
|
|
ldr r0, _0802D094
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_80073E0
|
|
add sp, 0x60
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802D094: .4byte gUnknown_203B2F4
|
|
thumb_func_end sub_802CFD0
|
|
|
|
thumb_func_start sub_802D098
|
|
sub_802D098:
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
ldr r6, _0802D0DC
|
|
movs r0, 0x82
|
|
lsls r0, 2
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r6]
|
|
movs r5, 0
|
|
str r5, [r0, 0x6C]
|
|
str r5, [r0, 0x70]
|
|
str r5, [r0, 0x74]
|
|
str r4, [r0, 0xC]
|
|
strb r5, [r0, 0x8]
|
|
ldr r0, [r6]
|
|
adds r0, 0xA
|
|
bl sub_8099328
|
|
ldr r1, [r6]
|
|
strb r0, [r1, 0x9]
|
|
bl sub_8011C1C
|
|
cmp r0, 0x2
|
|
beq _0802D0CE
|
|
ldr r0, [r6]
|
|
strb r5, [r0, 0x9]
|
|
_0802D0CE:
|
|
movs r0, 0
|
|
bl sub_802D1A0
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802D0DC: .4byte gUnknown_203B2F8
|
|
thumb_func_end sub_802D098
|
|
|
|
thumb_func_start sub_802D0E0
|
|
sub_802D0E0:
|
|
push {lr}
|
|
ldr r0, _0802D0F8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x10
|
|
bhi _0802D16C
|
|
lsls r0, 2
|
|
ldr r1, _0802D0FC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802D0F8: .4byte gUnknown_203B2F8
|
|
_0802D0FC: .4byte _0802D100
|
|
.align 2, 0
|
|
_0802D100:
|
|
.4byte _0802D170
|
|
.4byte _0802D144
|
|
.4byte _0802D168
|
|
.4byte _0802D16C
|
|
.4byte _0802D16C
|
|
.4byte _0802D16C
|
|
.4byte _0802D16C
|
|
.4byte _0802D16C
|
|
.4byte _0802D16C
|
|
.4byte _0802D162
|
|
.4byte _0802D16C
|
|
.4byte _0802D14A
|
|
.4byte _0802D14A
|
|
.4byte _0802D150
|
|
.4byte _0802D156
|
|
.4byte _0802D15C
|
|
.4byte _0802D15C
|
|
_0802D144:
|
|
bl sub_802D7D0
|
|
b _0802D170
|
|
_0802D14A:
|
|
bl sub_802D8CC
|
|
b _0802D170
|
|
_0802D150:
|
|
bl sub_802D940
|
|
b _0802D170
|
|
_0802D156:
|
|
bl sub_802D9F0
|
|
b _0802D170
|
|
_0802D15C:
|
|
bl sub_802DA60
|
|
b _0802D170
|
|
_0802D162:
|
|
bl sub_802D82C
|
|
b _0802D170
|
|
_0802D168:
|
|
movs r0, 0x3
|
|
b _0802D172
|
|
_0802D16C:
|
|
bl sub_802DA84
|
|
_0802D170:
|
|
movs r0, 0
|
|
_0802D172:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802D0E0
|
|
|
|
thumb_func_start sub_802D178
|
|
sub_802D178:
|
|
ldr r0, _0802D180
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
bx lr
|
|
.align 2, 0
|
|
_0802D180: .4byte gUnknown_203B2F8
|
|
thumb_func_end sub_802D178
|
|
|
|
thumb_func_start sub_802D184
|
|
sub_802D184:
|
|
push {r4,lr}
|
|
ldr r4, _0802D19C
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0802D196
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802D196:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802D19C: .4byte gUnknown_203B2F8
|
|
thumb_func_end sub_802D184
|
|
|
|
thumb_func_start sub_802D1A0
|
|
sub_802D1A0:
|
|
push {lr}
|
|
ldr r1, _0802D1B4
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_802D1B8
|
|
bl sub_802D2A8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802D1B4: .4byte gUnknown_203B2F8
|
|
thumb_func_end sub_802D1A0
|
|
|
|
thumb_func_start sub_802D1B8
|
|
sub_802D1B8:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r4, _0802D1E0
|
|
ldr r0, [r4]
|
|
movs r1, 0xD4
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0xD
|
|
beq _0802D1EA
|
|
cmp r0, 0xD
|
|
bgt _0802D1E4
|
|
cmp r0, 0x2
|
|
beq _0802D27E
|
|
b _0802D254
|
|
.align 2, 0
|
|
_0802D1E0: .4byte gUnknown_203B2F8
|
|
_0802D1E4:
|
|
cmp r0, 0xE
|
|
beq _0802D21C
|
|
b _0802D254
|
|
_0802D1EA:
|
|
bl sub_802D5A4
|
|
ldr r2, [r4]
|
|
movs r0, 0xEC
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _0802D218
|
|
ldm r1!, {r3,r5,r6}
|
|
stm r2!, {r3,r5,r6}
|
|
ldm r1!, {r3,r5,r7}
|
|
stm r2!, {r3,r5,r7}
|
|
ldr r1, [r4]
|
|
adds r0, r1, r0
|
|
movs r6, 0x8C
|
|
lsls r6, 1
|
|
adds r1, r6
|
|
bl sub_8012CAC
|
|
ldr r0, [r4]
|
|
movs r7, 0xF2
|
|
lsls r7, 1
|
|
b _0802D246
|
|
.align 2, 0
|
|
_0802D218: .4byte gUnknown_80DFE04
|
|
_0802D21C:
|
|
bl sub_802D63C
|
|
ldr r2, [r4]
|
|
movs r0, 0xF8
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _0802D250
|
|
ldm r1!, {r3,r5,r6}
|
|
stm r2!, {r3,r5,r6}
|
|
ldm r1!, {r3,r5,r7}
|
|
stm r2!, {r3,r5,r7}
|
|
ldr r1, [r4]
|
|
adds r0, r1, r0
|
|
movs r6, 0xAC
|
|
lsls r6, 1
|
|
adds r1, r6
|
|
bl sub_8012CAC
|
|
ldr r0, [r4]
|
|
movs r7, 0xFE
|
|
lsls r7, 1
|
|
_0802D246:
|
|
adds r0, r7
|
|
movs r1, 0x6
|
|
strh r1, [r0]
|
|
b _0802D27E
|
|
.align 2, 0
|
|
_0802D250: .4byte gUnknown_80DFE1C
|
|
_0802D254:
|
|
ldr r0, _0802D2A0
|
|
mov r12, r0
|
|
movs r1, 0xD4
|
|
lsls r1, 1
|
|
mov r8, r1
|
|
ldr r4, _0802D2A4
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_0802D264:
|
|
mov r5, r12
|
|
ldr r1, [r5]
|
|
adds r1, r3
|
|
add r1, r8
|
|
adds r0, r4, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _0802D264
|
|
_0802D27E:
|
|
bl sub_8004914
|
|
ldr r0, _0802D2A0
|
|
ldr r0, [r0]
|
|
movs r6, 0xD4
|
|
lsls r6, 1
|
|
adds r0, r6
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802D2A0: .4byte gUnknown_203B2F8
|
|
_0802D2A4: .4byte gUnknown_80DFDD4
|
|
thumb_func_end sub_802D1B8
|
|
|
|
thumb_func_start sub_802D2A8
|
|
sub_802D2A8:
|
|
push {r4,lr}
|
|
sub sp, 0x14
|
|
ldr r1, _0802D2C4
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x10
|
|
bls _0802D2BA
|
|
b _0802D59A
|
|
_0802D2BA:
|
|
lsls r0, 2
|
|
ldr r1, _0802D2C8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802D2C4: .4byte gUnknown_203B2F8
|
|
_0802D2C8: .4byte _0802D2CC
|
|
.align 2, 0
|
|
_0802D2CC:
|
|
.4byte _0802D310
|
|
.4byte _0802D398
|
|
.4byte _0802D59A
|
|
.4byte _0802D3B4
|
|
.4byte _0802D3C4
|
|
.4byte _0802D3D4
|
|
.4byte _0802D3E4
|
|
.4byte _0802D3F4
|
|
.4byte _0802D404
|
|
.4byte _0802D498
|
|
.4byte _0802D4C8
|
|
.4byte _0802D4E4
|
|
.4byte _0802D4F0
|
|
.4byte _0802D4F8
|
|
.4byte _0802D524
|
|
.4byte _0802D558
|
|
.4byte _0802D576
|
|
_0802D310:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0xC]
|
|
bl sub_80968B0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802D326
|
|
movs r0, 0x3
|
|
bl sub_802D1A0
|
|
b _0802D59A
|
|
_0802D326:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0xC]
|
|
bl sub_8096F50
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802D33C
|
|
movs r0, 0x4
|
|
bl sub_802D1A0
|
|
b _0802D59A
|
|
_0802D33C:
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0xC]
|
|
ldrb r0, [r0, 0x2]
|
|
cmp r0, 0x4
|
|
bne _0802D36E
|
|
adds r0, r1, 0
|
|
adds r0, 0x10
|
|
bl sub_8096C08
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802D36E
|
|
bl sub_802DAA8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802D366
|
|
movs r0, 0x9
|
|
bl sub_802D1A0
|
|
b _0802D59A
|
|
_0802D366:
|
|
movs r0, 0x5
|
|
bl sub_802D1A0
|
|
b _0802D59A
|
|
_0802D36E:
|
|
bl sub_80969AC
|
|
cmp r0, 0x7
|
|
ble _0802D390
|
|
bl sub_802DADC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802D388
|
|
movs r0, 0xA
|
|
bl sub_802D1A0
|
|
b _0802D59A
|
|
_0802D388:
|
|
movs r0, 0x6
|
|
bl sub_802D1A0
|
|
b _0802D59A
|
|
_0802D390:
|
|
movs r0, 0x8
|
|
bl sub_802D1A0
|
|
b _0802D59A
|
|
_0802D398:
|
|
bl sub_802D73C
|
|
ldr r0, _0802D3AC
|
|
ldr r1, _0802D3B0
|
|
ldr r3, [r1]
|
|
ldr r2, [r3, 0x70]
|
|
movs r1, 0xAC
|
|
lsls r1, 1
|
|
adds r3, r1
|
|
b _0802D4AA
|
|
.align 2, 0
|
|
_0802D3AC: .4byte gUnknown_80DFE4C
|
|
_0802D3B0: .4byte gUnknown_203B2F8
|
|
_0802D3B4:
|
|
ldr r1, [r4]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _0802D3C0
|
|
b _0802D4D0
|
|
.align 2, 0
|
|
_0802D3C0: .4byte gUnknown_80DFE9C
|
|
_0802D3C4:
|
|
ldr r1, [r4]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _0802D3D0
|
|
b _0802D4D0
|
|
.align 2, 0
|
|
_0802D3D0: .4byte gUnknown_80DFED0
|
|
_0802D3D4:
|
|
ldr r1, [r4]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _0802D3E0
|
|
b _0802D4D0
|
|
.align 2, 0
|
|
_0802D3E0: .4byte gUnknown_80DFF2C
|
|
_0802D3E4:
|
|
ldr r1, [r4]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _0802D3F0
|
|
b _0802D4D0
|
|
.align 2, 0
|
|
_0802D3F0: .4byte gUnknown_80DFFA4
|
|
_0802D3F4:
|
|
ldr r1, [r4]
|
|
movs r0, 0xC
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _0802D400
|
|
b _0802D4D0
|
|
.align 2, 0
|
|
_0802D400: .4byte gUnknown_80E0010
|
|
_0802D404:
|
|
ldr r4, _0802D45C
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x8]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0xC]
|
|
bl sub_8096A78
|
|
bl sub_8096C80
|
|
bl sub_8096D24
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0xC]
|
|
ldrb r0, [r0, 0x2]
|
|
cmp r0, 0x4
|
|
bne _0802D446
|
|
bl sub_8096DD8
|
|
ldr r1, [r4]
|
|
ldr r1, [r1, 0xC]
|
|
ldr r1, [r1, 0x14]
|
|
movs r2, 0x28
|
|
bl MemoryCopy8
|
|
bl sub_8096DE8
|
|
ldr r1, [r4]
|
|
ldr r1, [r1, 0xC]
|
|
ldr r1, [r1, 0x18]
|
|
movs r2, 0x78
|
|
bl MemoryCopy8
|
|
_0802D446:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0xC]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0x2C
|
|
beq _0802D46E
|
|
cmp r0, 0x2C
|
|
bgt _0802D460
|
|
cmp r0, 0x2B
|
|
beq _0802D46A
|
|
b _0802D484
|
|
.align 2, 0
|
|
_0802D45C: .4byte gUnknown_203B2F8
|
|
_0802D460:
|
|
cmp r0, 0x2D
|
|
beq _0802D472
|
|
cmp r0, 0x2E
|
|
beq _0802D47C
|
|
b _0802D484
|
|
_0802D46A:
|
|
movs r0, 0x2A
|
|
b _0802D474
|
|
_0802D46E:
|
|
movs r0, 0x2B
|
|
b _0802D474
|
|
_0802D472:
|
|
movs r0, 0x2C
|
|
_0802D474:
|
|
movs r1, 0x1
|
|
bl sub_8097418
|
|
b _0802D484
|
|
_0802D47C:
|
|
movs r0, 0x2D
|
|
movs r1, 0x1
|
|
bl sub_8097418
|
|
_0802D484:
|
|
ldr r0, _0802D490
|
|
ldr r1, [r0]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _0802D494
|
|
b _0802D4D0
|
|
.align 2, 0
|
|
_0802D490: .4byte gUnknown_203B2F8
|
|
_0802D494: .4byte gUnknown_80E0074
|
|
_0802D498:
|
|
bl sub_802D690
|
|
ldr r0, _0802D4C0
|
|
ldr r1, _0802D4C4
|
|
ldr r3, [r1]
|
|
ldr r2, [r3, 0x74]
|
|
movs r4, 0xAC
|
|
lsls r4, 1
|
|
adds r3, r4
|
|
_0802D4AA:
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
str r4, [sp, 0x10]
|
|
movs r1, 0
|
|
bl sub_8014248
|
|
b _0802D59A
|
|
.align 2, 0
|
|
_0802D4C0: .4byte gUnknown_80E0094
|
|
_0802D4C4: .4byte gUnknown_203B2F8
|
|
_0802D4C8:
|
|
ldr r1, [r4]
|
|
movs r0, 0xB
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _0802D4DC
|
|
_0802D4D0:
|
|
ldr r3, _0802D4E0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _0802D59A
|
|
.align 2, 0
|
|
_0802D4DC: .4byte gUnknown_80E0108
|
|
_0802D4E0: .4byte 0x00000101
|
|
_0802D4E4:
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x4
|
|
bl sub_802C4C8
|
|
b _0802D59A
|
|
_0802D4F0:
|
|
movs r0, 0x1
|
|
bl sub_802C640
|
|
b _0802D59A
|
|
_0802D4F8:
|
|
bl sub_802C750
|
|
ldr r0, _0802D520
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x78
|
|
movs r3, 0x8C
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
movs r4, 0xCC
|
|
lsls r4, 1
|
|
adds r3, r2, r4
|
|
ldr r2, [r2, 0x6C]
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8012D60
|
|
b _0802D59A
|
|
.align 2, 0
|
|
_0802D520: .4byte gUnknown_203B2F8
|
|
_0802D524:
|
|
bl sub_802C750
|
|
ldr r4, _0802D554
|
|
ldr r0, [r4]
|
|
adds r0, 0x78
|
|
movs r1, 0
|
|
bl sub_8012EA4
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0xC8
|
|
movs r2, 0xAC
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
movs r2, 0x4
|
|
str r2, [sp]
|
|
movs r2, 0x3
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8012D60
|
|
b _0802D59A
|
|
.align 2, 0
|
|
_0802D554: .4byte gUnknown_203B2F8
|
|
_0802D558:
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x10]
|
|
bl sub_8096AB4
|
|
ldr r1, [r4]
|
|
adds r1, 0x14
|
|
bl sub_803B35C
|
|
ldr r0, [r4]
|
|
movs r1, 0x3
|
|
str r1, [r0, 0x14]
|
|
adds r0, 0x14
|
|
bl sub_802DE84
|
|
b _0802D59A
|
|
_0802D576:
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0xC]
|
|
adds r1, 0x14
|
|
bl sub_803B35C
|
|
ldr r0, [r4]
|
|
movs r1, 0x3
|
|
str r1, [r0, 0x14]
|
|
adds r0, 0x58
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0xC]
|
|
ldr r1, [r1, 0x18]
|
|
str r1, [r0, 0x64]
|
|
adds r0, 0x14
|
|
bl sub_802DE84
|
|
_0802D59A:
|
|
add sp, 0x14
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802D2A8
|
|
|
|
thumb_func_start sub_802D5A4
|
|
sub_802D5A4:
|
|
push {r4-r7,lr}
|
|
ldr r4, _0802D630
|
|
ldr r0, [r4]
|
|
movs r5, 0xCC
|
|
lsls r5, 1
|
|
adds r0, r5
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r0, [r4]
|
|
mov r12, r0
|
|
movs r3, 0
|
|
movs r1, 0x8C
|
|
lsls r1, 1
|
|
add r1, r12
|
|
ldr r0, _0802D634
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r1, 0x8E
|
|
lsls r1, 1
|
|
add r1, r12
|
|
movs r0, 0x2
|
|
str r0, [r1]
|
|
movs r2, 0x1
|
|
movs r1, 0x90
|
|
lsls r1, 1
|
|
add r1, r12
|
|
ldr r0, _0802D638
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r1, 0x92
|
|
lsls r1, 1
|
|
add r1, r12
|
|
movs r0, 0x5
|
|
str r0, [r1]
|
|
movs r7, 0x2
|
|
movs r0, 0x94
|
|
lsls r0, 1
|
|
add r0, r12
|
|
str r3, [r0]
|
|
movs r0, 0x96
|
|
lsls r0, 1
|
|
add r0, r12
|
|
str r2, [r0]
|
|
movs r6, 0
|
|
movs r3, 0x8E
|
|
lsls r3, 1
|
|
add r3, r12
|
|
mov r0, r12
|
|
adds r2, r0, r5
|
|
_0802D60A:
|
|
ldrh r0, [r2]
|
|
cmp r0, 0
|
|
bne _0802D61A
|
|
ldr r1, [r3]
|
|
mov r5, r12
|
|
ldr r0, [r5, 0x6C]
|
|
cmp r1, r0
|
|
beq _0802D62A
|
|
_0802D61A:
|
|
adds r3, 0x8
|
|
adds r2, 0x2
|
|
adds r6, 0x1
|
|
cmp r6, r7
|
|
blt _0802D60A
|
|
ldr r1, [r4]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x6C]
|
|
_0802D62A:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802D630: .4byte gUnknown_203B2F8
|
|
_0802D634: .4byte gUnknown_80D494C
|
|
_0802D638: .4byte gUnknown_80D4970
|
|
thumb_func_end sub_802D5A4
|
|
|
|
thumb_func_start sub_802D63C
|
|
sub_802D63C:
|
|
ldr r0, _0802D684
|
|
ldr r0, [r0]
|
|
mov r12, r0
|
|
movs r3, 0
|
|
movs r1, 0xAC
|
|
lsls r1, 1
|
|
add r1, r12
|
|
ldr r0, _0802D688
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r1, 0xAE
|
|
lsls r1, 1
|
|
add r1, r12
|
|
movs r0, 0x3
|
|
str r0, [r1]
|
|
movs r2, 0x1
|
|
movs r1, 0xB0
|
|
lsls r1, 1
|
|
add r1, r12
|
|
ldr r0, _0802D68C
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r1, 0xB2
|
|
lsls r1, 1
|
|
add r1, r12
|
|
movs r0, 0x4
|
|
str r0, [r1]
|
|
movs r0, 0xB4
|
|
lsls r0, 1
|
|
add r0, r12
|
|
str r3, [r0]
|
|
movs r0, 0xB6
|
|
lsls r0, 1
|
|
add r0, r12
|
|
str r2, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0802D684: .4byte gUnknown_203B2F8
|
|
_0802D688: .4byte gUnknown_80D4920
|
|
_0802D68C: .4byte gUnknown_80D4928
|
|
thumb_func_end sub_802D63C
|
|
|
|
thumb_func_start sub_802D690
|
|
sub_802D690:
|
|
push {r4,r5,lr}
|
|
ldr r2, _0802D728
|
|
ldr r0, [r2]
|
|
mov r12, r0
|
|
movs r4, 0
|
|
movs r1, 0xAC
|
|
lsls r1, 1
|
|
add r1, r12
|
|
ldr r0, _0802D72C
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r1, 0xAE
|
|
lsls r1, 1
|
|
add r1, r12
|
|
movs r0, 0x3
|
|
str r0, [r1]
|
|
movs r3, 0x1
|
|
movs r1, 0xB0
|
|
lsls r1, 1
|
|
add r1, r12
|
|
ldr r0, _0802D730
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r1, 0xB2
|
|
lsls r1, 1
|
|
add r1, r12
|
|
movs r0, 0x4
|
|
str r0, [r1]
|
|
movs r1, 0xB4
|
|
lsls r1, 1
|
|
add r1, r12
|
|
ldr r0, _0802D734
|
|
str r0, [r1]
|
|
movs r1, 0xB6
|
|
lsls r1, 1
|
|
add r1, r12
|
|
movs r0, 0x6
|
|
str r0, [r1]
|
|
movs r1, 0xB8
|
|
lsls r1, 1
|
|
add r1, r12
|
|
ldr r0, _0802D738
|
|
str r0, [r1]
|
|
movs r1, 0xBA
|
|
lsls r1, 1
|
|
add r1, r12
|
|
movs r0, 0x7
|
|
str r0, [r1]
|
|
movs r5, 0x4
|
|
movs r0, 0xBC
|
|
lsls r0, 1
|
|
add r0, r12
|
|
str r4, [r0]
|
|
movs r0, 0xBE
|
|
lsls r0, 1
|
|
add r0, r12
|
|
str r3, [r0]
|
|
movs r3, 0
|
|
mov r0, r12
|
|
ldr r4, [r0, 0x74]
|
|
movs r1, 0xAE
|
|
lsls r1, 1
|
|
add r1, r12
|
|
_0802D70E:
|
|
ldr r0, [r1]
|
|
cmp r0, r4
|
|
beq _0802D722
|
|
adds r1, 0x8
|
|
adds r3, 0x1
|
|
cmp r3, r5
|
|
blt _0802D70E
|
|
ldr r1, [r2]
|
|
movs r0, 0x4
|
|
str r0, [r1, 0x74]
|
|
_0802D722:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802D728: .4byte gUnknown_203B2F8
|
|
_0802D72C: .4byte gUnknown_80D4920
|
|
_0802D730: .4byte gUnknown_80D4928
|
|
_0802D734: .4byte gUnknown_80E014C
|
|
_0802D738: .4byte gUnknown_80E0158
|
|
thumb_func_end sub_802D690
|
|
|
|
thumb_func_start sub_802D73C
|
|
sub_802D73C:
|
|
push {r4,r5,lr}
|
|
ldr r3, _0802D7C0
|
|
ldr r0, [r3]
|
|
mov r12, r0
|
|
movs r4, 0
|
|
movs r1, 0xAC
|
|
lsls r1, 1
|
|
add r1, r12
|
|
ldr r0, _0802D7C4
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r1, 0xAE
|
|
lsls r1, 1
|
|
add r1, r12
|
|
movs r0, 0x3
|
|
str r0, [r1]
|
|
movs r2, 0x1
|
|
movs r1, 0xB0
|
|
lsls r1, 1
|
|
add r1, r12
|
|
ldr r0, _0802D7C8
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r1, 0xB2
|
|
lsls r1, 1
|
|
add r1, r12
|
|
movs r0, 0x4
|
|
str r0, [r1]
|
|
movs r1, 0xB4
|
|
lsls r1, 1
|
|
add r1, r12
|
|
ldr r0, _0802D7CC
|
|
str r0, [r1]
|
|
movs r1, 0xB6
|
|
lsls r1, 1
|
|
add r1, r12
|
|
movs r0, 0x6
|
|
str r0, [r1]
|
|
movs r5, 0x3
|
|
movs r0, 0xB8
|
|
lsls r0, 1
|
|
add r0, r12
|
|
str r4, [r0]
|
|
movs r0, 0xBA
|
|
lsls r0, 1
|
|
add r0, r12
|
|
str r2, [r0]
|
|
movs r2, 0
|
|
mov r0, r12
|
|
ldr r4, [r0, 0x70]
|
|
movs r1, 0xAE
|
|
lsls r1, 1
|
|
add r1, r12
|
|
_0802D7A6:
|
|
ldr r0, [r1]
|
|
cmp r0, r4
|
|
beq _0802D7BA
|
|
adds r1, 0x8
|
|
adds r2, 0x1
|
|
cmp r2, r5
|
|
blt _0802D7A6
|
|
ldr r1, [r3]
|
|
movs r0, 0x4
|
|
str r0, [r1, 0x70]
|
|
_0802D7BA:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802D7C0: .4byte gUnknown_203B2F8
|
|
_0802D7C4: .4byte gUnknown_80D4920
|
|
_0802D7C8: .4byte gUnknown_80D4928
|
|
_0802D7CC: .4byte gUnknown_80E014C
|
|
thumb_func_end sub_802D73C
|
|
|
|
thumb_func_start sub_802D7D0
|
|
sub_802D7D0:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802D826
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _0802D7EA
|
|
ldr r0, _0802D800
|
|
ldr r0, [r0]
|
|
str r1, [r0, 0x70]
|
|
_0802D7EA:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x3
|
|
beq _0802D804
|
|
cmp r0, 0x3
|
|
ble _0802D820
|
|
cmp r0, 0x4
|
|
beq _0802D820
|
|
cmp r0, 0x6
|
|
beq _0802D80C
|
|
b _0802D820
|
|
.align 2, 0
|
|
_0802D800: .4byte gUnknown_203B2F8
|
|
_0802D804:
|
|
movs r0, 0x2
|
|
bl sub_802D1A0
|
|
b _0802D826
|
|
_0802D80C:
|
|
ldr r0, _0802D81C
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0x10
|
|
bl sub_802D1A0
|
|
b _0802D826
|
|
.align 2, 0
|
|
_0802D81C: .4byte gUnknown_203B2F8
|
|
_0802D820:
|
|
movs r0, 0
|
|
bl sub_802D1A0
|
|
_0802D826:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802D7D0
|
|
|
|
thumb_func_start sub_802D82C
|
|
sub_802D82C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802D8C6
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _0802D846
|
|
ldr r0, _0802D858
|
|
ldr r0, [r0]
|
|
str r1, [r0, 0x74]
|
|
_0802D846:
|
|
ldr r0, [sp]
|
|
subs r0, 0x1
|
|
cmp r0, 0x6
|
|
bhi _0802D8C0
|
|
lsls r0, 2
|
|
ldr r1, _0802D85C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802D858: .4byte gUnknown_203B2F8
|
|
_0802D85C: .4byte _0802D860
|
|
.align 2, 0
|
|
_0802D860:
|
|
.4byte _0802D8C0
|
|
.4byte _0802D8C0
|
|
.4byte _0802D87C
|
|
.4byte _0802D8C0
|
|
.4byte _0802D8C0
|
|
.4byte _0802D898
|
|
.4byte _0802D8AC
|
|
_0802D87C:
|
|
ldr r0, _0802D894
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x10]
|
|
bl sub_8096C3C
|
|
bl sub_8096C80
|
|
movs r0, 0x8
|
|
bl sub_802D1A0
|
|
b _0802D8C6
|
|
.align 2, 0
|
|
_0802D894: .4byte gUnknown_203B2F8
|
|
_0802D898:
|
|
ldr r0, _0802D8A8
|
|
ldr r1, [r0]
|
|
movs r0, 0x9
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0x10
|
|
bl sub_802D1A0
|
|
b _0802D8C6
|
|
.align 2, 0
|
|
_0802D8A8: .4byte gUnknown_203B2F8
|
|
_0802D8AC:
|
|
ldr r0, _0802D8BC
|
|
ldr r1, [r0]
|
|
movs r0, 0x9
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0xF
|
|
bl sub_802D1A0
|
|
b _0802D8C6
|
|
.align 2, 0
|
|
_0802D8BC: .4byte gUnknown_203B2F8
|
|
_0802D8C0:
|
|
movs r0, 0x1
|
|
bl sub_802D1A0
|
|
_0802D8C6:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802D82C
|
|
|
|
thumb_func_start sub_802D8CC
|
|
sub_802D8CC:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_802C598
|
|
cmp r0, 0x4
|
|
bhi _0802D93A
|
|
lsls r0, 2
|
|
ldr r1, _0802D8E4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802D8E4: .4byte _0802D8E8
|
|
.align 2, 0
|
|
_0802D8E8:
|
|
.4byte _0802D93A
|
|
.4byte _0802D93A
|
|
.4byte _0802D930
|
|
.4byte _0802D8FC
|
|
.4byte _0802D914
|
|
_0802D8FC:
|
|
bl sub_802C620
|
|
ldr r1, _0802D910
|
|
ldr r1, [r1]
|
|
strb r0, [r1, 0x10]
|
|
movs r0, 0xD
|
|
bl sub_802D1A0
|
|
b _0802D93A
|
|
.align 2, 0
|
|
_0802D910: .4byte gUnknown_203B2F8
|
|
_0802D914:
|
|
bl sub_802C620
|
|
ldr r2, _0802D92C
|
|
ldr r1, [r2]
|
|
strb r0, [r1, 0x10]
|
|
ldr r1, [r2]
|
|
movs r0, 0xC
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0xF
|
|
bl sub_802D1A0
|
|
b _0802D93A
|
|
.align 2, 0
|
|
_0802D92C: .4byte gUnknown_203B2F8
|
|
_0802D930:
|
|
bl sub_802C688
|
|
movs r0, 0x1
|
|
bl sub_802D1A0
|
|
_0802D93A:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802D8CC
|
|
|
|
thumb_func_start sub_802D940
|
|
sub_802D940:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_802C598
|
|
ldr r4, _0802D980
|
|
ldr r0, [r4]
|
|
adds r0, 0x78
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802D970
|
|
ldr r0, [r4]
|
|
adds r0, 0x78
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _0802D970
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x6C]
|
|
_0802D970:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _0802D98A
|
|
cmp r0, 0x2
|
|
bgt _0802D984
|
|
cmp r0, 0x1
|
|
beq _0802D9E0
|
|
b _0802D9E6
|
|
.align 2, 0
|
|
_0802D980: .4byte gUnknown_203B2F8
|
|
_0802D984:
|
|
cmp r0, 0x5
|
|
beq _0802D9CC
|
|
b _0802D9E6
|
|
_0802D98A:
|
|
ldr r0, _0802D9BC
|
|
ldr r3, [r0]
|
|
ldrb r0, [r3, 0x9]
|
|
cmp r0, 0
|
|
beq _0802D9C4
|
|
ldr r2, _0802D9C0
|
|
ldrb r1, [r3, 0x10]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, 0xF0
|
|
ldr r1, [r2]
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x5
|
|
bls _0802D9C4
|
|
ldrb r0, [r3, 0xA]
|
|
ldrb r1, [r1, 0x4]
|
|
cmp r0, r1
|
|
bne _0802D9C4
|
|
movs r0, 0x7
|
|
bl sub_802D1A0
|
|
b _0802D9E6
|
|
.align 2, 0
|
|
_0802D9BC: .4byte gUnknown_203B2F8
|
|
_0802D9C0: .4byte gUnknown_203B490
|
|
_0802D9C4:
|
|
movs r0, 0xE
|
|
bl sub_802D1A0
|
|
b _0802D9E6
|
|
_0802D9CC:
|
|
ldr r0, _0802D9DC
|
|
ldr r1, [r0]
|
|
movs r0, 0xC
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0xF
|
|
bl sub_802D1A0
|
|
b _0802D9E6
|
|
.align 2, 0
|
|
_0802D9DC: .4byte gUnknown_203B2F8
|
|
_0802D9E0:
|
|
movs r0, 0xC
|
|
bl sub_802D1A0
|
|
_0802D9E6:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802D940
|
|
|
|
thumb_func_start sub_802D9F0
|
|
sub_802D9F0:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_802C598
|
|
ldr r4, _0802DA30
|
|
ldr r0, [r4]
|
|
adds r0, 0x78
|
|
bl sub_8012FD8
|
|
ldr r0, [r4]
|
|
adds r0, 0xC8
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802DA1E
|
|
ldr r0, [r4]
|
|
adds r0, 0xC8
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_0802DA1E:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x3
|
|
beq _0802DA40
|
|
cmp r0, 0x3
|
|
bgt _0802DA34
|
|
cmp r0, 0x1
|
|
beq _0802DA38
|
|
b _0802DA56
|
|
.align 2, 0
|
|
_0802DA30: .4byte gUnknown_203B2F8
|
|
_0802DA34:
|
|
cmp r0, 0x4
|
|
bne _0802DA56
|
|
_0802DA38:
|
|
movs r0, 0xC
|
|
bl sub_802D1A0
|
|
b _0802DA56
|
|
_0802DA40:
|
|
bl sub_802C688
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x10]
|
|
bl sub_8096C3C
|
|
bl sub_8096C80
|
|
movs r0, 0x8
|
|
bl sub_802D1A0
|
|
_0802DA56:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802D9F0
|
|
|
|
thumb_func_start sub_802DA60
|
|
sub_802DA60:
|
|
push {lr}
|
|
bl sub_802DEE0
|
|
cmp r0, 0x1
|
|
bls _0802DA7C
|
|
cmp r0, 0x3
|
|
bhi _0802DA7C
|
|
bl sub_802DF24
|
|
ldr r0, _0802DA80
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
bl sub_802D1A0
|
|
_0802DA7C:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802DA80: .4byte gUnknown_203B2F8
|
|
thumb_func_end sub_802DA60
|
|
|
|
thumb_func_start sub_802DA84
|
|
sub_802DA84:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802DA9C
|
|
ldr r0, _0802DAA4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
bl sub_802D1A0
|
|
_0802DA9C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802DAA4: .4byte gUnknown_203B2F8
|
|
thumb_func_end sub_802DA84
|
|
|
|
thumb_func_start sub_802DAA8
|
|
sub_802DAA8:
|
|
push {r4,lr}
|
|
ldr r4, _0802DAD0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x10]
|
|
bl sub_8096AB4
|
|
adds r1, r0, 0
|
|
ldr r4, [r4]
|
|
ldrb r0, [r4, 0x9]
|
|
cmp r0, 0
|
|
beq _0802DAD4
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x5
|
|
beq _0802DAD4
|
|
ldrb r0, [r4, 0xA]
|
|
ldrb r1, [r1, 0x4]
|
|
cmp r0, r1
|
|
bne _0802DAD4
|
|
movs r0, 0
|
|
b _0802DAD6
|
|
.align 2, 0
|
|
_0802DAD0: .4byte gUnknown_203B2F8
|
|
_0802DAD4:
|
|
movs r0, 0x1
|
|
_0802DAD6:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802DAA8
|
|
|
|
thumb_func_start sub_802DADC
|
|
sub_802DADC:
|
|
push {r4,lr}
|
|
ldr r3, _0802DAEC
|
|
ldr r0, [r3]
|
|
ldrb r0, [r0, 0x9]
|
|
cmp r0, 0
|
|
bne _0802DAF0
|
|
_0802DAE8:
|
|
movs r0, 0x1
|
|
b _0802DB1C
|
|
.align 2, 0
|
|
_0802DAEC: .4byte gUnknown_203B2F8
|
|
_0802DAF0:
|
|
ldr r0, _0802DB24
|
|
ldr r0, [r0]
|
|
adds r1, r0, 0
|
|
adds r1, 0xF0
|
|
movs r2, 0
|
|
_0802DAFA:
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
beq _0802DAE8
|
|
cmp r0, 0x5
|
|
beq _0802DAE8
|
|
cmp r0, 0x5
|
|
bls _0802DB12
|
|
ldr r0, [r3]
|
|
ldrb r0, [r0, 0xA]
|
|
ldrb r4, [r1, 0x4]
|
|
cmp r0, r4
|
|
bne _0802DAE8
|
|
_0802DB12:
|
|
adds r1, 0x14
|
|
adds r2, 0x1
|
|
cmp r2, 0x7
|
|
ble _0802DAFA
|
|
movs r0, 0
|
|
_0802DB1C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802DB24: .4byte gUnknown_203B490
|
|
thumb_func_end sub_802DADC
|
|
|
|
thumb_func_start sub_802DB28
|
|
sub_802DB28:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
adds r2, r1, 0
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
mov r0, sp
|
|
adds r1, r6, 0
|
|
bl sub_8096AF8
|
|
mov r0, sp
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _0802DB4A
|
|
movs r0, 0
|
|
b _0802DBC6
|
|
_0802DB4A:
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, _0802DBD0
|
|
movs r0, 0xA8
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
adds r0, 0x30
|
|
movs r5, 0
|
|
strb r6, [r0]
|
|
adds r0, r6, 0
|
|
bl sub_8096AB4
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x34]
|
|
bl sub_8096EEC
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x34]
|
|
adds r1, 0x8
|
|
bl sub_803C21C
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x34]
|
|
movs r1, 0xC
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_808DDD0
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x38]
|
|
str r5, [r1, 0x3C]
|
|
adds r1, 0x44
|
|
strb r5, [r1]
|
|
ldr r0, [r4]
|
|
adds r0, 0x45
|
|
strb r5, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0x46
|
|
strb r5, [r0]
|
|
ldr r2, [r4]
|
|
adds r1, r2, 0
|
|
adds r1, 0x40
|
|
movs r0, 0x2
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
movs r0, 0x8
|
|
strh r0, [r1]
|
|
ldr r0, [r2, 0x38]
|
|
cmp r0, 0
|
|
beq _0802DBBE
|
|
ldr r0, [r0, 0x4]
|
|
str r0, [r2, 0x3C]
|
|
_0802DBBE:
|
|
movs r0, 0
|
|
bl sub_802DC28
|
|
movs r0, 0x1
|
|
_0802DBC6:
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802DBD0: .4byte gUnknown_203B2FC
|
|
thumb_func_end sub_802DB28
|
|
|
|
thumb_func_start sub_802DBD4
|
|
sub_802DBD4:
|
|
push {lr}
|
|
ldr r0, _0802DBEC
|
|
ldr r0, [r0]
|
|
ldr r1, [r0]
|
|
cmp r1, 0x6
|
|
beq _0802DBF0
|
|
cmp r1, 0x7
|
|
bne _0802DBF6
|
|
ldr r0, [r0, 0x34]
|
|
strb r1, [r0]
|
|
movs r0, 0x3
|
|
b _0802DBFC
|
|
.align 2, 0
|
|
_0802DBEC: .4byte gUnknown_203B2FC
|
|
_0802DBF0:
|
|
bl sub_802DE44
|
|
b _0802DBFA
|
|
_0802DBF6:
|
|
bl sub_802DE60
|
|
_0802DBFA:
|
|
movs r0, 0
|
|
_0802DBFC:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802DBD4
|
|
|
|
thumb_func_start sub_802DC00
|
|
sub_802DC00:
|
|
push {r4,lr}
|
|
ldr r4, _0802DC24
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0802DC1E
|
|
ldr r0, [r0, 0x38]
|
|
cmp r0, 0
|
|
beq _0802DC14
|
|
bl CloseFile
|
|
_0802DC14:
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802DC1E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802DC24: .4byte gUnknown_203B2FC
|
|
thumb_func_end sub_802DC00
|
|
|
|
thumb_func_start sub_802DC28
|
|
sub_802DC28:
|
|
push {lr}
|
|
ldr r1, _0802DC3C
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_802DC40
|
|
bl sub_802DC9C
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802DC3C: .4byte gUnknown_203B2FC
|
|
thumb_func_end sub_802DC28
|
|
|
|
thumb_func_start sub_802DC40
|
|
sub_802DC40:
|
|
push {r4-r7,lr}
|
|
ldr r4, _0802DC94
|
|
ldr r0, [r4]
|
|
adds r0, 0x48
|
|
bl sub_8006518
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0802DC58
|
|
cmp r0, 0x7
|
|
bne _0802DC7A
|
|
_0802DC58:
|
|
mov r12, r4
|
|
ldr r4, _0802DC98
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_0802DC60:
|
|
mov r0, r12
|
|
ldr r1, [r0]
|
|
adds r1, r3
|
|
adds r1, 0x48
|
|
adds r0, r4, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _0802DC60
|
|
_0802DC7A:
|
|
bl sub_8004914
|
|
ldr r0, _0802DC94
|
|
ldr r0, [r0]
|
|
adds r0, 0x48
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802DC94: .4byte gUnknown_203B2FC
|
|
_0802DC98: .4byte gUnknown_80E016C
|
|
thumb_func_end sub_802DC40
|
|
|
|
thumb_func_start sub_802DC9C
|
|
sub_802DC9C:
|
|
push {r4,r5,lr}
|
|
ldr r1, _0802DCB8
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r5, r1, 0
|
|
cmp r0, 0x7
|
|
bls _0802DCAC
|
|
b _0802DE3E
|
|
_0802DCAC:
|
|
lsls r0, 2
|
|
ldr r1, _0802DCBC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802DCB8: .4byte gUnknown_203B2FC
|
|
_0802DCBC: .4byte _0802DCC0
|
|
.align 2, 0
|
|
_0802DCC0:
|
|
.4byte _0802DCE0
|
|
.4byte _0802DDDC
|
|
.4byte _0802DDE4
|
|
.4byte _0802DDEC
|
|
.4byte _0802DDFC
|
|
.4byte _0802DDF4
|
|
.4byte _0802DE34
|
|
.4byte _0802DE3E
|
|
_0802DCE0:
|
|
ldr r0, _0802DD60
|
|
ldr r1, [r5]
|
|
ldr r1, [r1, 0x34]
|
|
movs r2, 0xC
|
|
ldrsh r1, [r1, r2]
|
|
bl sub_808D8E0
|
|
ldr r4, _0802DD64
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x34]
|
|
movs r2, 0xC
|
|
ldrsh r1, [r0, r2]
|
|
adds r0, r4, 0
|
|
bl sub_808D8E0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x34]
|
|
movs r1, 0xC
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r2, _0802DD68
|
|
adds r0, r4, r2
|
|
bl strcpy
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x34]
|
|
movs r1, 0xE
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r2, _0802DD6C
|
|
adds r4, r2
|
|
adds r0, r4, 0
|
|
bl strcpy
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x34]
|
|
movs r1, 0xC
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_8098214
|
|
ldr r0, _0802DD70
|
|
ldr r1, [r5]
|
|
ldr r1, [r1, 0x34]
|
|
ldrb r1, [r1, 0x10]
|
|
movs r2, 0
|
|
bl sub_8090DC4
|
|
ldr r1, [r5]
|
|
movs r0, 0x6
|
|
str r0, [r1, 0x4]
|
|
ldr r0, [r1, 0x34]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x4
|
|
bhi _0802DDD4
|
|
lsls r0, 2
|
|
ldr r1, _0802DD74
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802DD60: .4byte gUnknown_202E5D8
|
|
_0802DD64: .4byte gUnknown_202E1C8
|
|
_0802DD68: .4byte 0xfffffdd0
|
|
_0802DD6C: .4byte 0xfffffe20
|
|
_0802DD70: .4byte gUnknown_202DE58
|
|
_0802DD74: .4byte _0802DD78
|
|
.align 2, 0
|
|
_0802DD78:
|
|
.4byte _0802DDD4
|
|
.4byte _0802DD9C
|
|
.4byte _0802DDB8
|
|
.4byte _0802DD94
|
|
.4byte _0802DD8C
|
|
_0802DD8C:
|
|
movs r0, 0x5
|
|
bl sub_802DC28
|
|
b _0802DE3E
|
|
_0802DD94:
|
|
movs r0, 0x4
|
|
bl sub_802DC28
|
|
b _0802DE3E
|
|
_0802DD9C:
|
|
movs r0, 0x2
|
|
bl sub_802DC28
|
|
ldr r0, _0802DDB4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x34]
|
|
movs r2, 0xE
|
|
ldrsh r0, [r0, r2]
|
|
bl sub_8098214
|
|
b _0802DE3E
|
|
.align 2, 0
|
|
_0802DDB4: .4byte gUnknown_203B2FC
|
|
_0802DDB8:
|
|
movs r0, 0x3
|
|
bl sub_802DC28
|
|
ldr r0, _0802DDD0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x34]
|
|
movs r1, 0xE
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_8098214
|
|
b _0802DE3E
|
|
.align 2, 0
|
|
_0802DDD0: .4byte gUnknown_203B2FC
|
|
_0802DDD4:
|
|
movs r0, 0x1
|
|
bl sub_802DC28
|
|
b _0802DE3E
|
|
_0802DDDC:
|
|
ldr r0, _0802DDE0
|
|
b _0802DE1C
|
|
.align 2, 0
|
|
_0802DDE0: .4byte gUnknown_80E0184
|
|
_0802DDE4:
|
|
ldr r0, _0802DDE8
|
|
b _0802DE1C
|
|
.align 2, 0
|
|
_0802DDE8: .4byte gUnknown_80E01A0
|
|
_0802DDEC:
|
|
ldr r0, _0802DDF0
|
|
b _0802DE1C
|
|
.align 2, 0
|
|
_0802DDF0: .4byte gUnknown_80E01C4
|
|
_0802DDF4:
|
|
ldr r0, _0802DDF8
|
|
b _0802DE1C
|
|
.align 2, 0
|
|
_0802DDF8: .4byte gUnknown_80E01F0
|
|
_0802DDFC:
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x34]
|
|
ldrb r0, [r0, 0x10]
|
|
bl sub_8091130
|
|
adds r1, r0, 0
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0802DE1A
|
|
adds r0, r1, 0
|
|
bl sub_80911F8
|
|
bl sub_80910B4
|
|
_0802DE1A:
|
|
ldr r0, _0802DE2C
|
|
_0802DE1C:
|
|
ldr r2, [r5]
|
|
adds r2, 0x38
|
|
ldr r3, _0802DE30
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
b _0802DE3E
|
|
.align 2, 0
|
|
_0802DE2C: .4byte gUnknown_80E0218
|
|
_0802DE30: .4byte 0x0000010d
|
|
_0802DE34:
|
|
ldr r0, [r5]
|
|
adds r0, 0x8
|
|
movs r1, 0x1
|
|
bl sub_802F204
|
|
_0802DE3E:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802DC9C
|
|
|
|
thumb_func_start sub_802DE44
|
|
sub_802DE44:
|
|
push {lr}
|
|
bl sub_802F298
|
|
cmp r0, 0x1
|
|
bls _0802DE5C
|
|
cmp r0, 0x3
|
|
bhi _0802DE5C
|
|
bl sub_802F2C0
|
|
movs r0, 0x7
|
|
bl sub_802DC28
|
|
_0802DE5C:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802DE44
|
|
|
|
thumb_func_start sub_802DE60
|
|
sub_802DE60:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802DE78
|
|
ldr r0, _0802DE80
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
bl sub_802DC28
|
|
_0802DE78:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802DE80: .4byte gUnknown_203B2FC
|
|
thumb_func_end sub_802DE60
|
|
|
|
thumb_func_start sub_802DE84
|
|
sub_802DE84:
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
ldr r4, _0802DED8
|
|
movs r0, 0x7C
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
str r5, [r0, 0xC]
|
|
bl sub_801317C
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0xC]
|
|
ldr r2, [r1]
|
|
str r2, [r0, 0x10]
|
|
lsls r1, r2, 1
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, 0x18
|
|
adds r1, r0, r1
|
|
str r1, [r0, 0x14]
|
|
adds r0, 0x18
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
ldr r2, [r1, 0x10]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x18
|
|
ldr r0, _0802DEDC
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
bl sub_802DF14
|
|
movs r0, 0x1
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802DED8: .4byte gUnknown_203B300
|
|
_0802DEDC: .4byte gUnknown_80E0264
|
|
thumb_func_end sub_802DE84
|
|
|
|
thumb_func_start sub_802DEE0
|
|
sub_802DEE0:
|
|
push {lr}
|
|
ldr r0, _0802DF00
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, 0x10]
|
|
bl sub_8012A64
|
|
cmp r0, 0x1
|
|
beq _0802DF04
|
|
cmp r0, 0x2
|
|
bne _0802DF0E
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0802DF10
|
|
.align 2, 0
|
|
_0802DF00: .4byte gUnknown_203B300
|
|
_0802DF04:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _0802DF10
|
|
_0802DF0E:
|
|
movs r0, 0
|
|
_0802DF10:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802DEE0
|
|
|
|
thumb_func_start sub_802DF14
|
|
sub_802DF14:
|
|
push {lr}
|
|
bl sub_802DF6C
|
|
bl sub_802DF88
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802DF14
|
|
|
|
thumb_func_start sub_802DF24
|
|
sub_802DF24:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0802DF64
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0802DF5E
|
|
ldr r0, [r2, 0x10]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x18
|
|
ldr r0, _0802DF68
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x18
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802DF5E:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802DF64: .4byte gUnknown_203B300
|
|
_0802DF68: .4byte gUnknown_80E0248
|
|
thumb_func_end sub_802DF24
|
|
|
|
thumb_func_start sub_802DF6C
|
|
sub_802DF6C:
|
|
push {lr}
|
|
bl sub_8004914
|
|
ldr r0, _0802DF84
|
|
ldr r0, [r0]
|
|
adds r0, 0x18
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802DF84: .4byte gUnknown_203B300
|
|
thumb_func_end sub_802DF6C
|
|
|
|
thumb_func_start sub_802DF88
|
|
sub_802DF88:
|
|
push {r4,lr}
|
|
ldr r4, _0802DFAC
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x10]
|
|
bl sub_80073B8
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0xC]
|
|
bl sub_803B98C
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x10]
|
|
bl sub_80073E0
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802DFAC: .4byte gUnknown_203B300
|
|
thumb_func_end sub_802DF88
|
|
|
|
thumb_func_start sub_802DFB0
|
|
sub_802DFB0:
|
|
push {r4,lr}
|
|
ldr r4, _0802DFD4
|
|
movs r0, 0xB6
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
movs r1, 0
|
|
str r1, [r0, 0x64]
|
|
str r1, [r0, 0x68]
|
|
movs r0, 0
|
|
bl sub_802E088
|
|
movs r0, 0x1
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802DFD4: .4byte gUnknown_203B304
|
|
thumb_func_end sub_802DFB0
|
|
|
|
thumb_func_start sub_802DFD8
|
|
sub_802DFD8:
|
|
push {lr}
|
|
ldr r0, _0802DFF0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0xB
|
|
bhi _0802E060
|
|
lsls r0, 2
|
|
ldr r1, _0802DFF4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802DFF0: .4byte gUnknown_203B304
|
|
_0802DFF4: .4byte _0802DFF8
|
|
.align 2, 0
|
|
_0802DFF8:
|
|
.4byte _0802E028
|
|
.4byte _0802E030
|
|
.4byte _0802E036
|
|
.4byte _0802E060
|
|
.4byte _0802E03C
|
|
.4byte _0802E03C
|
|
.4byte _0802E042
|
|
.4byte _0802E048
|
|
.4byte _0802E04E
|
|
.4byte _0802E054
|
|
.4byte _0802E054
|
|
.4byte _0802E05A
|
|
_0802E028:
|
|
movs r0, 0x1
|
|
bl sub_802E088
|
|
b _0802E064
|
|
_0802E030:
|
|
bl sub_802E4B0
|
|
b _0802E064
|
|
_0802E036:
|
|
bl nullsub_133
|
|
b _0802E064
|
|
_0802E03C:
|
|
bl sub_802E578
|
|
b _0802E064
|
|
_0802E042:
|
|
bl sub_802E60C
|
|
b _0802E064
|
|
_0802E048:
|
|
bl sub_802E73C
|
|
b _0802E064
|
|
_0802E04E:
|
|
bl sub_802E758
|
|
b _0802E064
|
|
_0802E054:
|
|
bl sub_802E774
|
|
b _0802E064
|
|
_0802E05A:
|
|
bl sub_802E7D0
|
|
b _0802E064
|
|
_0802E060:
|
|
movs r0, 0x3
|
|
b _0802E066
|
|
_0802E064:
|
|
movs r0, 0
|
|
_0802E066:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802DFD8
|
|
|
|
thumb_func_start sub_802E06C
|
|
sub_802E06C:
|
|
push {r4,lr}
|
|
ldr r4, _0802E084
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0802E07E
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802E07E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802E084: .4byte gUnknown_203B304
|
|
thumb_func_end sub_802E06C
|
|
|
|
thumb_func_start sub_802E088
|
|
sub_802E088:
|
|
push {lr}
|
|
ldr r1, _0802E09C
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_802E0A0
|
|
bl sub_802E1AC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802E09C: .4byte gUnknown_203B304
|
|
thumb_func_end sub_802E088
|
|
|
|
thumb_func_start sub_802E0A0
|
|
sub_802E0A0:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r4, _0802E0C8
|
|
ldr r0, [r4]
|
|
movs r6, 0x86
|
|
lsls r6, 1
|
|
adds r0, r6
|
|
bl sub_8006518
|
|
ldr r0, [r4]
|
|
ldr r5, [r0]
|
|
cmp r5, 0x1
|
|
beq _0802E0D0
|
|
cmp r5, 0x6
|
|
beq _0802E124
|
|
movs r3, 0
|
|
ldr r2, _0802E0CC
|
|
b _0802E168
|
|
.align 2, 0
|
|
_0802E0C8: .4byte gUnknown_203B304
|
|
_0802E0CC: .4byte gUnknown_80E0284
|
|
_0802E0D0:
|
|
mov r12, r6
|
|
ldr r0, _0802E118
|
|
mov r8, r0
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
_0802E0DA:
|
|
ldr r1, [r4]
|
|
adds r1, r2
|
|
add r1, r12
|
|
mov r0, r8
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
adds r2, 0x18
|
|
subs r3, 0x1
|
|
cmp r3, 0
|
|
bge _0802E0DA
|
|
bl sub_802E2B4
|
|
ldr r3, _0802E11C
|
|
ldr r2, [r3]
|
|
movs r0, 0x9E
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _0802E120
|
|
ldm r1!, {r4-r6}
|
|
stm r2!, {r4-r6}
|
|
ldm r1!, {r4,r5,r7}
|
|
stm r2!, {r4,r5,r7}
|
|
ldr r1, [r3]
|
|
adds r0, r1, r0
|
|
adds r1, 0xBC
|
|
bl sub_8012CAC
|
|
b _0802E188
|
|
.align 2, 0
|
|
_0802E118: .4byte gUnknown_80E0284
|
|
_0802E11C: .4byte gUnknown_203B304
|
|
_0802E120: .4byte gUnknown_80E029C
|
|
_0802E124:
|
|
bl sub_802E3B8
|
|
ldr r2, [r4]
|
|
movs r0, 0x9E
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _0802E160
|
|
ldm r1!, {r3,r6,r7}
|
|
stm r2!, {r3,r6,r7}
|
|
ldm r1!, {r3,r6,r7}
|
|
stm r2!, {r3,r6,r7}
|
|
ldr r1, [r4]
|
|
adds r0, r1, r0
|
|
adds r1, 0xBC
|
|
bl sub_8012CAC
|
|
ldr r1, [r4]
|
|
movs r4, 0xA4
|
|
lsls r4, 1
|
|
adds r0, r1, r4
|
|
strh r5, [r0]
|
|
movs r5, 0xAA
|
|
lsls r5, 1
|
|
adds r1, r5
|
|
ldr r0, _0802E164
|
|
ldm r0!, {r2,r6,r7}
|
|
stm r1!, {r2,r6,r7}
|
|
ldm r0!, {r3-r5}
|
|
stm r1!, {r3-r5}
|
|
b _0802E188
|
|
.align 2, 0
|
|
_0802E160: .4byte gUnknown_80E02B4
|
|
_0802E164: .4byte gUnknown_80E02CC
|
|
_0802E168:
|
|
ldr r0, [r4]
|
|
lsls r1, r3, 1
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r6, 0x86
|
|
lsls r6, 1
|
|
adds r0, r6
|
|
adds r1, r2, 0
|
|
ldm r1!, {r5-r7}
|
|
stm r0!, {r5-r7}
|
|
ldm r1!, {r5-r7}
|
|
stm r0!, {r5-r7}
|
|
adds r3, 0x1
|
|
cmp r3, 0x3
|
|
ble _0802E168
|
|
_0802E188:
|
|
bl sub_8004914
|
|
ldr r0, _0802E1A8
|
|
ldr r0, [r0]
|
|
movs r7, 0x86
|
|
lsls r7, 1
|
|
adds r0, r7
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802E1A8: .4byte gUnknown_203B304
|
|
thumb_func_end sub_802E0A0
|
|
|
|
thumb_func_start sub_802E1AC
|
|
sub_802E1AC:
|
|
push {r4,lr}
|
|
sub sp, 0x8
|
|
ldr r1, _0802E1C8
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0xB
|
|
bhi _0802E2AA
|
|
lsls r0, 2
|
|
ldr r1, _0802E1CC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802E1C8: .4byte gUnknown_203B304
|
|
_0802E1CC: .4byte _0802E1D0
|
|
.align 2, 0
|
|
_0802E1D0:
|
|
.4byte _0802E2AA
|
|
.4byte _0802E200
|
|
.4byte _0802E2AA
|
|
.4byte _0802E2AA
|
|
.4byte _0802E21E
|
|
.4byte _0802E22A
|
|
.4byte _0802E232
|
|
.4byte _0802E260
|
|
.4byte _0802E286
|
|
.4byte _0802E28E
|
|
.4byte _0802E29A
|
|
.4byte _0802E2A2
|
|
_0802E200:
|
|
ldr r2, [r4]
|
|
adds r0, r2, 0
|
|
adds r0, 0x6C
|
|
adds r1, r2, 0
|
|
adds r1, 0xBC
|
|
adds r3, r2, 0
|
|
adds r3, 0xFC
|
|
ldr r2, [r2, 0x64]
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8012D60
|
|
b _0802E2AA
|
|
_0802E21E:
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x4
|
|
bl sub_802BD14
|
|
b _0802E2AA
|
|
_0802E22A:
|
|
movs r0, 0x1
|
|
bl sub_802BE94
|
|
b _0802E2AA
|
|
_0802E232:
|
|
bl sub_802BFA0
|
|
movs r0, 0x3
|
|
bl sub_802E7F8
|
|
ldr r0, _0802E25C
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x6C
|
|
adds r1, r2, 0
|
|
adds r1, 0xBC
|
|
ldr r2, [r2, 0x68]
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8012D60
|
|
b _0802E2AA
|
|
.align 2, 0
|
|
_0802E25C: .4byte gUnknown_203B304
|
|
_0802E260:
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x8]
|
|
bl sub_8095FE8
|
|
ldr r1, [r4]
|
|
adds r1, 0xC
|
|
bl sub_803B35C
|
|
ldr r0, [r4]
|
|
movs r1, 0x3
|
|
str r1, [r0, 0xC]
|
|
adds r0, 0x50
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xC
|
|
bl sub_802DE84
|
|
b _0802E2AA
|
|
_0802E286:
|
|
movs r0, 0
|
|
bl sub_802C860
|
|
b _0802E2AA
|
|
_0802E28E:
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl sub_802B640
|
|
b _0802E2AA
|
|
_0802E29A:
|
|
movs r0, 0x1
|
|
bl sub_802B7D0
|
|
b _0802E2AA
|
|
_0802E2A2:
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x9]
|
|
bl sub_802B9FC
|
|
_0802E2AA:
|
|
add sp, 0x8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802E1AC
|
|
|
|
thumb_func_start sub_802E2B4
|
|
sub_802E2B4:
|
|
push {r4-r7,lr}
|
|
ldr r4, _0802E380
|
|
ldr r0, [r4]
|
|
adds r0, 0xFC
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r1, [r4]
|
|
adds r2, r1, 0
|
|
adds r2, 0xBC
|
|
ldr r0, _0802E384
|
|
str r0, [r2]
|
|
adds r1, 0xC0
|
|
movs r0, 0x2
|
|
str r0, [r1]
|
|
bl sub_802C0E8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802E2E6
|
|
ldr r0, [r4]
|
|
adds r0, 0xFC
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_0802E2E6:
|
|
movs r5, 0x1
|
|
ldr r1, [r4]
|
|
movs r6, 0x1
|
|
adds r2, r1, 0
|
|
adds r2, 0xC4
|
|
ldr r0, _0802E388
|
|
str r0, [r2]
|
|
adds r1, 0xC8
|
|
movs r0, 0x3
|
|
str r0, [r1]
|
|
bl sub_802C83C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802E30A
|
|
ldr r0, [r4]
|
|
adds r0, 0xFE
|
|
strh r5, [r0]
|
|
_0802E30A:
|
|
ldr r1, [r4]
|
|
adds r2, r1, 0
|
|
adds r2, 0xCC
|
|
ldr r0, _0802E38C
|
|
str r0, [r2]
|
|
adds r1, 0xD0
|
|
movs r0, 0x4
|
|
str r0, [r1]
|
|
bl sub_802B9D8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802E32E
|
|
ldr r0, [r4]
|
|
movs r1, 0x80
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
strh r6, [r0]
|
|
_0802E32E:
|
|
movs r5, 0x3
|
|
ldr r2, [r4]
|
|
adds r0, r2, 0
|
|
adds r0, 0xD4
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
adds r0, 0x4
|
|
str r6, [r0]
|
|
movs r3, 0
|
|
adds r6, r4, 0
|
|
mov r12, r2
|
|
mov r4, r12
|
|
adds r4, 0xFC
|
|
adds r2, 0xC0
|
|
_0802E34A:
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
bne _0802E35A
|
|
ldr r1, [r2]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x64]
|
|
cmp r1, r0
|
|
beq _0802E3B2
|
|
_0802E35A:
|
|
adds r4, 0x2
|
|
adds r2, 0x8
|
|
adds r3, 0x1
|
|
cmp r3, r5
|
|
blt _0802E34A
|
|
movs r3, 0
|
|
cmp r3, r5
|
|
bge _0802E3B2
|
|
ldr r1, [r6]
|
|
adds r0, r1, 0
|
|
adds r0, 0xFC
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _0802E390
|
|
adds r0, r1, 0
|
|
adds r0, 0xC0
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x64]
|
|
b _0802E3B2
|
|
.align 2, 0
|
|
_0802E380: .4byte gUnknown_203B304
|
|
_0802E384: .4byte gUnknown_80E02E4
|
|
_0802E388: .4byte gUnknown_80E02F0
|
|
_0802E38C: .4byte gUnknown_80E02FC
|
|
_0802E390:
|
|
adds r3, 0x1
|
|
cmp r3, r5
|
|
bge _0802E3B2
|
|
ldr r2, [r6]
|
|
lsls r0, r3, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0xFC
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _0802E390
|
|
lsls r0, r3, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0xC0
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x64]
|
|
_0802E3B2:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802E2B4
|
|
|
|
thumb_func_start sub_802E3B8
|
|
sub_802E3B8:
|
|
push {r4-r7,lr}
|
|
movs r5, 0
|
|
ldr r4, _0802E3F0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x8]
|
|
bl sub_8095FE8
|
|
adds r7, r0, 0
|
|
ldrb r0, [r7]
|
|
cmp r0, 0x1
|
|
bne _0802E3FC
|
|
ldr r2, [r4]
|
|
adds r1, r2, 0
|
|
adds r1, 0xBC
|
|
ldr r0, _0802E3F4
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x6
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
ldr r0, _0802E3F8
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x7
|
|
str r0, [r1]
|
|
movs r5, 0x2
|
|
b _0802E44A
|
|
.align 2, 0
|
|
_0802E3F0: .4byte gUnknown_203B304
|
|
_0802E3F4: .4byte gUnknown_80E0308
|
|
_0802E3F8: .4byte gUnknown_80E0310
|
|
_0802E3FC:
|
|
ldr r1, [r4]
|
|
adds r2, r1, 0
|
|
adds r2, 0xBC
|
|
ldr r0, _0802E494
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
adds r1, 0xC0
|
|
movs r0, 0x5
|
|
str r0, [r1]
|
|
adds r0, r7, 0
|
|
bl sub_80968B0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802E422
|
|
bl sub_80969AC
|
|
cmp r0, 0x7
|
|
ble _0802E42C
|
|
_0802E422:
|
|
ldr r0, [r4]
|
|
adds r0, 0xC0
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r1, [r0]
|
|
_0802E42C:
|
|
adds r5, 0x1
|
|
ldr r4, _0802E498
|
|
ldr r2, [r4]
|
|
lsls r3, r5, 3
|
|
adds r0, r2, 0
|
|
adds r0, 0xBC
|
|
adds r0, r3
|
|
ldr r1, _0802E49C
|
|
ldr r1, [r1]
|
|
str r1, [r0]
|
|
adds r2, 0xC0
|
|
adds r2, r3
|
|
movs r0, 0x8
|
|
str r0, [r2]
|
|
adds r5, 0x1
|
|
_0802E44A:
|
|
mov r12, r4
|
|
mov r0, r12
|
|
ldr r4, [r0]
|
|
lsls r2, r5, 3
|
|
adds r0, r4, 0
|
|
adds r0, 0xBC
|
|
adds r0, r2
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
adds r1, r4, 0
|
|
adds r1, 0xC0
|
|
adds r2, r1, r2
|
|
movs r0, 0x1
|
|
str r0, [r2]
|
|
movs r3, 0
|
|
cmp r3, r5
|
|
bge _0802E486
|
|
movs r6, 0x1
|
|
negs r6, r6
|
|
adds r2, r1, 0
|
|
_0802E472:
|
|
ldr r1, [r2]
|
|
cmp r1, r6
|
|
beq _0802E47E
|
|
ldr r0, [r4, 0x68]
|
|
cmp r1, r0
|
|
beq _0802E4A8
|
|
_0802E47E:
|
|
adds r2, 0x8
|
|
adds r3, 0x1
|
|
cmp r3, r5
|
|
blt _0802E472
|
|
_0802E486:
|
|
ldrb r0, [r7]
|
|
cmp r0, 0x1
|
|
bne _0802E4A0
|
|
mov r0, r12
|
|
ldr r1, [r0]
|
|
movs r0, 0x7
|
|
b _0802E4A6
|
|
.align 2, 0
|
|
_0802E494: .4byte gUnknown_80D4990
|
|
_0802E498: .4byte gUnknown_203B304
|
|
_0802E49C: .4byte gUnknown_80D4970
|
|
_0802E4A0:
|
|
mov r0, r12
|
|
ldr r1, [r0]
|
|
movs r0, 0x8
|
|
_0802E4A6:
|
|
str r0, [r1, 0x68]
|
|
_0802E4A8:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802E3B8
|
|
|
|
thumb_func_start sub_802E4B0
|
|
sub_802E4B0:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r4, _0802E4F0
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802E4DC
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _0802E4DC
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x64]
|
|
_0802E4DC:
|
|
ldr r0, [sp]
|
|
subs r0, 0x1
|
|
cmp r0, 0x7
|
|
bhi _0802E56E
|
|
lsls r0, 2
|
|
ldr r1, _0802E4F4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802E4F0: .4byte gUnknown_203B304
|
|
_0802E4F4: .4byte _0802E4F8
|
|
.align 2, 0
|
|
_0802E4F8:
|
|
.4byte _0802E568
|
|
.4byte _0802E518
|
|
.4byte _0802E52A
|
|
.4byte _0802E53C
|
|
.4byte _0802E56E
|
|
.4byte _0802E56E
|
|
.4byte _0802E56E
|
|
.4byte _0802E560
|
|
_0802E518:
|
|
bl sub_802C0E8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802E54E
|
|
movs r0, 0x4
|
|
bl sub_802E088
|
|
b _0802E56E
|
|
_0802E52A:
|
|
bl sub_802C83C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802E54E
|
|
movs r0, 0x8
|
|
bl sub_802E088
|
|
b _0802E56E
|
|
_0802E53C:
|
|
bl sub_802B9D8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802E54E
|
|
movs r0, 0x9
|
|
bl sub_802E088
|
|
b _0802E56E
|
|
_0802E54E:
|
|
ldr r0, _0802E55C
|
|
ldr r0, [r0]
|
|
adds r0, 0x6C
|
|
movs r1, 0x1
|
|
bl sub_8012EA4
|
|
b _0802E56E
|
|
.align 2, 0
|
|
_0802E55C: .4byte gUnknown_203B304
|
|
_0802E560:
|
|
movs r0, 0x2
|
|
bl sub_802E088
|
|
b _0802E56E
|
|
_0802E568:
|
|
movs r0, 0x3
|
|
bl sub_802E088
|
|
_0802E56E:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802E4B0
|
|
|
|
thumb_func_start sub_802E578
|
|
sub_802E578:
|
|
push {r4,lr}
|
|
movs r0, 0x1
|
|
bl sub_802BDEC
|
|
cmp r0, 0x4
|
|
bhi _0802E606
|
|
lsls r0, 2
|
|
ldr r1, _0802E590
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802E590: .4byte _0802E594
|
|
.align 2, 0
|
|
_0802E594:
|
|
.4byte _0802E606
|
|
.4byte _0802E606
|
|
.4byte _0802E5FC
|
|
.4byte _0802E5A8
|
|
.4byte _0802E5C0
|
|
_0802E5A8:
|
|
bl sub_802BE74
|
|
ldr r1, _0802E5BC
|
|
ldr r1, [r1]
|
|
strb r0, [r1, 0x8]
|
|
movs r0, 0x6
|
|
bl sub_802E088
|
|
b _0802E606
|
|
.align 2, 0
|
|
_0802E5BC: .4byte gUnknown_203B304
|
|
_0802E5C0:
|
|
bl sub_802BE74
|
|
ldr r4, _0802E5F0
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x8]
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x8]
|
|
bl sub_8095FE8
|
|
adds r2, r0, 0
|
|
ldrb r0, [r2]
|
|
cmp r0, 0x1
|
|
bne _0802E5F4
|
|
ldr r1, [r4]
|
|
ldrb r0, [r2, 0x5]
|
|
strb r0, [r1, 0x9]
|
|
ldr r1, [r4]
|
|
movs r0, 0x5
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0xB
|
|
bl sub_802E088
|
|
b _0802E606
|
|
.align 2, 0
|
|
_0802E5F0: .4byte gUnknown_203B304
|
|
_0802E5F4:
|
|
movs r0, 0x7
|
|
bl sub_802E088
|
|
b _0802E606
|
|
_0802E5FC:
|
|
bl sub_802BEDC
|
|
movs r0, 0x1
|
|
bl sub_802E088
|
|
_0802E606:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802E578
|
|
|
|
thumb_func_start sub_802E60C
|
|
sub_802E60C:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_802BDEC
|
|
ldr r4, _0802E650
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802E63C
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _0802E63C
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x68]
|
|
_0802E63C:
|
|
ldr r0, [sp]
|
|
subs r0, 0x1
|
|
cmp r0, 0x7
|
|
bhi _0802E732
|
|
lsls r0, 2
|
|
ldr r1, _0802E654
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802E650: .4byte gUnknown_203B304
|
|
_0802E654: .4byte _0802E658
|
|
.align 2, 0
|
|
_0802E658:
|
|
.4byte _0802E72C
|
|
.4byte _0802E732
|
|
.4byte _0802E732
|
|
.4byte _0802E732
|
|
.4byte _0802E678
|
|
.4byte _0802E6BC
|
|
.4byte _0802E704
|
|
.4byte _0802E6B4
|
|
_0802E678:
|
|
ldr r0, _0802E6AC
|
|
bl sub_8011988
|
|
ldr r4, _0802E6B0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x8]
|
|
bl sub_8095FE8
|
|
bl sub_8096A78
|
|
bl sub_8096C80
|
|
bl sub_8096D24
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x8]
|
|
bl sub_8096040
|
|
bl sub_8096078
|
|
bl sub_802C0E8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802E6E8
|
|
b _0802E6FC
|
|
.align 2, 0
|
|
_0802E6AC: .4byte 0x00000133
|
|
_0802E6B0: .4byte gUnknown_203B304
|
|
_0802E6B4:
|
|
movs r0, 0x7
|
|
bl sub_802E088
|
|
b _0802E732
|
|
_0802E6BC:
|
|
ldr r0, _0802E6F4
|
|
bl sub_8011988
|
|
ldr r4, _0802E6F8
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x8]
|
|
bl sub_8095FE8
|
|
ldrb r0, [r0, 0x5]
|
|
bl sub_8096DF8
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x8]
|
|
bl sub_8096040
|
|
bl sub_8096078
|
|
bl sub_802C0E8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802E6FC
|
|
_0802E6E8:
|
|
bl sub_802BEDC
|
|
movs r0, 0x1
|
|
bl sub_802E088
|
|
b _0802E732
|
|
.align 2, 0
|
|
_0802E6F4: .4byte 0x00000133
|
|
_0802E6F8: .4byte gUnknown_203B304
|
|
_0802E6FC:
|
|
movs r0, 0x5
|
|
bl sub_802E088
|
|
b _0802E732
|
|
_0802E704:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
ldr r4, _0802E728
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x8]
|
|
bl sub_8095FE8
|
|
ldr r1, [r4]
|
|
ldrb r0, [r0, 0x5]
|
|
strb r0, [r1, 0x9]
|
|
ldr r1, [r4]
|
|
movs r0, 0x5
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0xB
|
|
bl sub_802E088
|
|
b _0802E732
|
|
.align 2, 0
|
|
_0802E728: .4byte gUnknown_203B304
|
|
_0802E72C:
|
|
movs r0, 0x5
|
|
bl sub_802E088
|
|
_0802E732:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802E60C
|
|
|
|
thumb_func_start sub_802E73C
|
|
sub_802E73C:
|
|
push {lr}
|
|
bl sub_802DEE0
|
|
cmp r0, 0x1
|
|
bls _0802E754
|
|
cmp r0, 0x3
|
|
bhi _0802E754
|
|
bl sub_802DF24
|
|
movs r0, 0x5
|
|
bl sub_802E088
|
|
_0802E754:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802E73C
|
|
|
|
thumb_func_start sub_802E758
|
|
sub_802E758:
|
|
push {lr}
|
|
bl sub_802C898
|
|
cmp r0, 0x1
|
|
bls _0802E770
|
|
cmp r0, 0x3
|
|
bhi _0802E770
|
|
bl sub_802C8F4
|
|
movs r0, 0x1
|
|
bl sub_802E088
|
|
_0802E770:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802E758
|
|
|
|
thumb_func_start sub_802E774
|
|
sub_802E774:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_802B720
|
|
cmp r0, 0x4
|
|
bhi _0802E7CA
|
|
lsls r0, 2
|
|
ldr r1, _0802E78C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802E78C: .4byte _0802E790
|
|
.align 2, 0
|
|
_0802E790:
|
|
.4byte _0802E7CA
|
|
.4byte _0802E7CA
|
|
.4byte _0802E7C0
|
|
.4byte _0802E7A4
|
|
.4byte _0802E7A4
|
|
_0802E7A4:
|
|
bl sub_802B7A8
|
|
ldr r2, _0802E7BC
|
|
ldr r1, [r2]
|
|
strb r0, [r1, 0x9]
|
|
ldr r1, [r2]
|
|
movs r0, 0xA
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0xB
|
|
bl sub_802E088
|
|
b _0802E7CA
|
|
.align 2, 0
|
|
_0802E7BC: .4byte gUnknown_203B304
|
|
_0802E7C0:
|
|
bl sub_802B81C
|
|
movs r0, 0x1
|
|
bl sub_802E088
|
|
_0802E7CA:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802E774
|
|
|
|
thumb_func_start sub_802E7D0
|
|
sub_802E7D0:
|
|
push {lr}
|
|
bl sub_802BA8C
|
|
cmp r0, 0x1
|
|
bls _0802E7EC
|
|
cmp r0, 0x3
|
|
bhi _0802E7EC
|
|
bl sub_802BACC
|
|
ldr r0, _0802E7F0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
bl sub_802E088
|
|
_0802E7EC:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802E7F0: .4byte gUnknown_203B304
|
|
thumb_func_end sub_802E7D0
|
|
|
|
thumb_func_start nullsub_133
|
|
nullsub_133:
|
|
bx lr
|
|
thumb_func_end nullsub_133
|
|
|
|
thumb_func_start sub_802E7F8
|
|
sub_802E7F8:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
adds r4, r0, 0
|
|
bl sub_8008C54
|
|
adds r0, r4, 0
|
|
bl sub_80073B8
|
|
ldr r2, _0802E85C
|
|
movs r6, 0
|
|
str r6, [sp]
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
adds r3, r4, 0
|
|
bl xxx_call_draw_string
|
|
bl sub_80969AC
|
|
adds r2, r0, 0
|
|
movs r5, 0x7
|
|
str r5, [sp]
|
|
str r4, [sp, 0x4]
|
|
movs r0, 0x12
|
|
movs r1, 0xD
|
|
movs r3, 0x2
|
|
bl sub_8012BC4
|
|
ldr r2, _0802E860
|
|
str r6, [sp]
|
|
movs r0, 0x16
|
|
movs r1, 0xD
|
|
adds r3, r4, 0
|
|
bl xxx_call_draw_string
|
|
str r5, [sp]
|
|
str r4, [sp, 0x4]
|
|
movs r0, 0x23
|
|
movs r1, 0xD
|
|
movs r2, 0x8
|
|
movs r3, 0x2
|
|
bl sub_8012BC4
|
|
adds r0, r4, 0
|
|
bl sub_80073E0
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802E85C: .4byte gUnknown_80E0318
|
|
_0802E860: .4byte gUnknown_80E0324
|
|
thumb_func_end sub_802E7F8
|
|
|
|
thumb_func_start sub_802E864
|
|
sub_802E864:
|
|
push {r4,lr}
|
|
ldr r4, _0802E88C
|
|
movs r0, 0xB6
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
movs r1, 0
|
|
str r1, [r0, 0x64]
|
|
str r1, [r0, 0x68]
|
|
str r1, [r0, 0x4]
|
|
movs r0, 0
|
|
bl sub_802E934
|
|
movs r0, 0x1
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802E88C: .4byte gUnknown_203B308
|
|
thumb_func_end sub_802E864
|
|
|
|
thumb_func_start sub_802E890
|
|
sub_802E890:
|
|
push {lr}
|
|
ldr r0, _0802E8A8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x8
|
|
bhi _0802E900
|
|
lsls r0, 2
|
|
ldr r1, _0802E8AC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802E8A8: .4byte gUnknown_203B308
|
|
_0802E8AC: .4byte _0802E8B0
|
|
.align 2, 0
|
|
_0802E8B0:
|
|
.4byte _0802E8D4
|
|
.4byte _0802E8DC
|
|
.4byte _0802E8E2
|
|
.4byte _0802E900
|
|
.4byte _0802E8E8
|
|
.4byte _0802E8E8
|
|
.4byte _0802E8EE
|
|
.4byte _0802E8F4
|
|
.4byte _0802E8FA
|
|
_0802E8D4:
|
|
movs r0, 0x1
|
|
bl sub_802E934
|
|
b _0802E904
|
|
_0802E8DC:
|
|
bl sub_802ECB4
|
|
b _0802E904
|
|
_0802E8E2:
|
|
bl nullsub_134
|
|
b _0802E904
|
|
_0802E8E8:
|
|
bl sub_802ED4C
|
|
b _0802E904
|
|
_0802E8EE:
|
|
bl sub_802EDBC
|
|
b _0802E904
|
|
_0802E8F4:
|
|
bl sub_802EEA0
|
|
b _0802E904
|
|
_0802E8FA:
|
|
bl sub_802EEBC
|
|
b _0802E904
|
|
_0802E900:
|
|
movs r0, 0x3
|
|
b _0802E906
|
|
_0802E904:
|
|
movs r0, 0
|
|
_0802E906:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802E890
|
|
|
|
thumb_func_start sub_802E90C
|
|
sub_802E90C:
|
|
ldr r0, _0802E914
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
bx lr
|
|
.align 2, 0
|
|
_0802E914: .4byte gUnknown_203B308
|
|
thumb_func_end sub_802E90C
|
|
|
|
thumb_func_start sub_802E918
|
|
sub_802E918:
|
|
push {r4,lr}
|
|
ldr r4, _0802E930
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0802E92A
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802E92A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802E930: .4byte gUnknown_203B308
|
|
thumb_func_end sub_802E918
|
|
|
|
thumb_func_start sub_802E934
|
|
sub_802E934:
|
|
push {lr}
|
|
ldr r1, _0802E948
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_802E94C
|
|
bl sub_802EA58
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802E948: .4byte gUnknown_203B308
|
|
thumb_func_end sub_802E934
|
|
|
|
thumb_func_start sub_802E94C
|
|
sub_802E94C:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r4, _0802E974
|
|
ldr r0, [r4]
|
|
movs r6, 0x86
|
|
lsls r6, 1
|
|
adds r0, r6
|
|
bl sub_8006518
|
|
ldr r0, [r4]
|
|
ldr r5, [r0]
|
|
cmp r5, 0x1
|
|
beq _0802E97C
|
|
cmp r5, 0x6
|
|
beq _0802E9D0
|
|
movs r3, 0
|
|
ldr r2, _0802E978
|
|
b _0802EA14
|
|
.align 2, 0
|
|
_0802E974: .4byte gUnknown_203B308
|
|
_0802E978: .4byte gUnknown_80E0330
|
|
_0802E97C:
|
|
mov r12, r6
|
|
ldr r0, _0802E9C4
|
|
mov r8, r0
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
_0802E986:
|
|
ldr r1, [r4]
|
|
adds r1, r2
|
|
add r1, r12
|
|
mov r0, r8
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
adds r2, 0x18
|
|
subs r3, 0x1
|
|
cmp r3, 0
|
|
bge _0802E986
|
|
bl sub_802EB34
|
|
ldr r3, _0802E9C8
|
|
ldr r2, [r3]
|
|
movs r0, 0x9E
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _0802E9CC
|
|
ldm r1!, {r4-r6}
|
|
stm r2!, {r4-r6}
|
|
ldm r1!, {r4,r5,r7}
|
|
stm r2!, {r4,r5,r7}
|
|
ldr r1, [r3]
|
|
adds r0, r1, r0
|
|
adds r1, 0xBC
|
|
bl sub_8012CAC
|
|
b _0802EA34
|
|
.align 2, 0
|
|
_0802E9C4: .4byte gUnknown_80E0330
|
|
_0802E9C8: .4byte gUnknown_203B308
|
|
_0802E9CC: .4byte gUnknown_80E0348
|
|
_0802E9D0:
|
|
bl sub_802EC10
|
|
ldr r2, [r4]
|
|
movs r0, 0x9E
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _0802EA0C
|
|
ldm r1!, {r3,r6,r7}
|
|
stm r2!, {r3,r6,r7}
|
|
ldm r1!, {r3,r6,r7}
|
|
stm r2!, {r3,r6,r7}
|
|
ldr r1, [r4]
|
|
adds r0, r1, r0
|
|
adds r1, 0xBC
|
|
bl sub_8012CAC
|
|
ldr r1, [r4]
|
|
movs r4, 0xA4
|
|
lsls r4, 1
|
|
adds r0, r1, r4
|
|
strh r5, [r0]
|
|
movs r5, 0xAA
|
|
lsls r5, 1
|
|
adds r1, r5
|
|
ldr r0, _0802EA10
|
|
ldm r0!, {r2,r6,r7}
|
|
stm r1!, {r2,r6,r7}
|
|
ldm r0!, {r3-r5}
|
|
stm r1!, {r3-r5}
|
|
b _0802EA34
|
|
.align 2, 0
|
|
_0802EA0C: .4byte gUnknown_80E0360
|
|
_0802EA10: .4byte gUnknown_80E0378
|
|
_0802EA14:
|
|
ldr r0, [r4]
|
|
lsls r1, r3, 1
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r6, 0x86
|
|
lsls r6, 1
|
|
adds r0, r6
|
|
adds r1, r2, 0
|
|
ldm r1!, {r5-r7}
|
|
stm r0!, {r5-r7}
|
|
ldm r1!, {r5-r7}
|
|
stm r0!, {r5-r7}
|
|
adds r3, 0x1
|
|
cmp r3, 0x3
|
|
ble _0802EA14
|
|
_0802EA34:
|
|
bl sub_8004914
|
|
ldr r0, _0802EA54
|
|
ldr r0, [r0]
|
|
movs r7, 0x86
|
|
lsls r7, 1
|
|
adds r0, r7
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802EA54: .4byte gUnknown_203B308
|
|
thumb_func_end sub_802E94C
|
|
|
|
thumb_func_start sub_802EA58
|
|
sub_802EA58:
|
|
push {r4,lr}
|
|
sub sp, 0x8
|
|
ldr r1, _0802EA74
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x8
|
|
bhi _0802EB2C
|
|
lsls r0, 2
|
|
ldr r1, _0802EA78
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802EA74: .4byte gUnknown_203B308
|
|
_0802EA78: .4byte _0802EA7C
|
|
.align 2, 0
|
|
_0802EA7C:
|
|
.4byte _0802EB2C
|
|
.4byte _0802EAA0
|
|
.4byte _0802EB2C
|
|
.4byte _0802EB2C
|
|
.4byte _0802EABE
|
|
.4byte _0802EACA
|
|
.4byte _0802EAD2
|
|
.4byte _0802EB00
|
|
.4byte _0802EB26
|
|
_0802EAA0:
|
|
ldr r2, [r4]
|
|
adds r0, r2, 0
|
|
adds r0, 0x6C
|
|
adds r1, r2, 0
|
|
adds r1, 0xBC
|
|
adds r3, r2, 0
|
|
adds r3, 0xFC
|
|
ldr r2, [r2, 0x64]
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8012D60
|
|
b _0802EB2C
|
|
_0802EABE:
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x4
|
|
bl sub_802C10C
|
|
b _0802EB2C
|
|
_0802EACA:
|
|
movs r0, 0x1
|
|
bl sub_802C28C
|
|
b _0802EB2C
|
|
_0802EAD2:
|
|
bl sub_802C39C
|
|
movs r0, 0x3
|
|
bl sub_802EEDC
|
|
ldr r0, _0802EAFC
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x6C
|
|
adds r1, r2, 0
|
|
adds r1, 0xBC
|
|
ldr r2, [r2, 0x68]
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8012D60
|
|
b _0802EB2C
|
|
.align 2, 0
|
|
_0802EAFC: .4byte gUnknown_203B308
|
|
_0802EB00:
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x8]
|
|
bl sub_8096574
|
|
ldr r1, [r4]
|
|
adds r1, 0xC
|
|
bl sub_803B35C
|
|
ldr r0, [r4]
|
|
movs r1, 0x3
|
|
str r1, [r0, 0xC]
|
|
adds r0, 0x50
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xC
|
|
bl sub_802DE84
|
|
b _0802EB2C
|
|
_0802EB26:
|
|
movs r0, 0
|
|
bl sub_802C860
|
|
_0802EB2C:
|
|
add sp, 0x8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802EA58
|
|
|
|
thumb_func_start sub_802EB34
|
|
sub_802EB34:
|
|
push {r4-r7,lr}
|
|
ldr r4, _0802EBDC
|
|
ldr r0, [r4]
|
|
adds r0, 0xFC
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r1, [r4]
|
|
adds r2, r1, 0
|
|
adds r2, 0xBC
|
|
ldr r0, _0802EBE0
|
|
str r0, [r2]
|
|
adds r1, 0xC0
|
|
movs r0, 0x2
|
|
str r0, [r1]
|
|
bl sub_802C4A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802EB66
|
|
ldr r0, [r4]
|
|
adds r0, 0xFC
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
_0802EB66:
|
|
movs r5, 0x1
|
|
ldr r1, [r4]
|
|
adds r2, r1, 0
|
|
adds r2, 0xC4
|
|
ldr r0, _0802EBE4
|
|
str r0, [r2]
|
|
adds r1, 0xC8
|
|
movs r0, 0x3
|
|
str r0, [r1]
|
|
bl sub_802C83C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802EB88
|
|
ldr r0, [r4]
|
|
adds r0, 0xFE
|
|
strh r5, [r0]
|
|
_0802EB88:
|
|
movs r5, 0x2
|
|
ldr r2, [r4]
|
|
adds r1, r2, 0
|
|
adds r1, 0xCC
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
movs r3, 0
|
|
adds r6, r4, 0
|
|
mov r12, r2
|
|
mov r4, r12
|
|
adds r4, 0xFC
|
|
adds r2, 0xC0
|
|
_0802EBA6:
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
bne _0802EBB6
|
|
ldr r1, [r2]
|
|
mov r7, r12
|
|
ldr r0, [r7, 0x64]
|
|
cmp r1, r0
|
|
beq _0802EC0A
|
|
_0802EBB6:
|
|
adds r4, 0x2
|
|
adds r2, 0x8
|
|
adds r3, 0x1
|
|
cmp r3, r5
|
|
blt _0802EBA6
|
|
movs r3, 0
|
|
cmp r3, r5
|
|
bge _0802EC0A
|
|
ldr r1, [r6]
|
|
adds r0, r1, 0
|
|
adds r0, 0xFC
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _0802EBE8
|
|
adds r0, r1, 0
|
|
adds r0, 0xC0
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x64]
|
|
b _0802EC0A
|
|
.align 2, 0
|
|
_0802EBDC: .4byte gUnknown_203B308
|
|
_0802EBE0: .4byte gUnknown_80E0390
|
|
_0802EBE4: .4byte gUnknown_80E03A0
|
|
_0802EBE8:
|
|
adds r3, 0x1
|
|
cmp r3, r5
|
|
bge _0802EC0A
|
|
ldr r2, [r6]
|
|
lsls r0, r3, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0xFC
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _0802EBE8
|
|
lsls r0, r3, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0xC0
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0x64]
|
|
_0802EC0A:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802EB34
|
|
|
|
thumb_func_start sub_802EC10
|
|
sub_802EC10:
|
|
push {r4-r7,lr}
|
|
movs r6, 0
|
|
ldr r4, _0802ECA8
|
|
ldr r2, [r4]
|
|
adds r1, r2, 0
|
|
adds r1, 0xBC
|
|
ldr r0, _0802ECAC
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x4
|
|
str r0, [r1]
|
|
ldrb r0, [r2, 0x8]
|
|
bl sub_8096574
|
|
bl sub_80968B0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802EC40
|
|
bl sub_80969AC
|
|
cmp r0, 0x7
|
|
ble _0802EC4A
|
|
_0802EC40:
|
|
ldr r0, [r4]
|
|
adds r0, 0xC0
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r1, [r0]
|
|
_0802EC4A:
|
|
adds r6, 0x1
|
|
ldr r4, _0802ECA8
|
|
ldr r5, [r4]
|
|
lsls r1, r6, 3
|
|
adds r2, r5, 0
|
|
adds r2, 0xBC
|
|
adds r3, r2, r1
|
|
ldr r0, _0802ECB0
|
|
ldr r0, [r0]
|
|
str r0, [r3]
|
|
adds r3, r5, 0
|
|
adds r3, 0xC0
|
|
adds r1, r3, r1
|
|
movs r0, 0x5
|
|
str r0, [r1]
|
|
adds r6, 0x1
|
|
lsls r1, r6, 3
|
|
adds r2, r1
|
|
movs r0, 0
|
|
str r0, [r2]
|
|
adds r1, r3, r1
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
movs r2, 0
|
|
adds r7, r4, 0
|
|
cmp r2, r6
|
|
bge _0802EC9C
|
|
adds r4, r5, 0
|
|
movs r5, 0x1
|
|
negs r5, r5
|
|
adds r1, r3, 0
|
|
_0802EC88:
|
|
ldr r3, [r1]
|
|
cmp r3, r5
|
|
beq _0802EC94
|
|
ldr r0, [r4, 0x68]
|
|
cmp r3, r0
|
|
beq _0802ECA2
|
|
_0802EC94:
|
|
adds r1, 0x8
|
|
adds r2, 0x1
|
|
cmp r2, r6
|
|
blt _0802EC88
|
|
_0802EC9C:
|
|
ldr r1, [r7]
|
|
movs r0, 0x5
|
|
str r0, [r1, 0x68]
|
|
_0802ECA2:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802ECA8: .4byte gUnknown_203B308
|
|
_0802ECAC: .4byte gUnknown_80D4990
|
|
_0802ECB0: .4byte gUnknown_80D4970
|
|
thumb_func_end sub_802EC10
|
|
|
|
thumb_func_start sub_802ECB4
|
|
sub_802ECB4:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r4, _0802ECF0
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802ECE0
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _0802ECE0
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x64]
|
|
_0802ECE0:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _0802ECFE
|
|
cmp r0, 0x2
|
|
bgt _0802ECF4
|
|
cmp r0, 0x1
|
|
beq _0802ED3C
|
|
b _0802ED42
|
|
.align 2, 0
|
|
_0802ECF0: .4byte gUnknown_203B308
|
|
_0802ECF4:
|
|
cmp r0, 0x3
|
|
beq _0802ED10
|
|
cmp r0, 0x5
|
|
beq _0802ED34
|
|
b _0802ED42
|
|
_0802ECFE:
|
|
bl sub_802C4A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802ED22
|
|
movs r0, 0x4
|
|
bl sub_802E934
|
|
b _0802ED42
|
|
_0802ED10:
|
|
bl sub_802C83C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802ED22
|
|
movs r0, 0x8
|
|
bl sub_802E934
|
|
b _0802ED42
|
|
_0802ED22:
|
|
ldr r0, _0802ED30
|
|
ldr r0, [r0]
|
|
adds r0, 0x6C
|
|
movs r1, 0x1
|
|
bl sub_8012EA4
|
|
b _0802ED42
|
|
.align 2, 0
|
|
_0802ED30: .4byte gUnknown_203B308
|
|
_0802ED34:
|
|
movs r0, 0x2
|
|
bl sub_802E934
|
|
b _0802ED42
|
|
_0802ED3C:
|
|
movs r0, 0x3
|
|
bl sub_802E934
|
|
_0802ED42:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802ECB4
|
|
|
|
thumb_func_start sub_802ED4C
|
|
sub_802ED4C:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_802C1E4
|
|
cmp r0, 0x4
|
|
bhi _0802EDB6
|
|
lsls r0, 2
|
|
ldr r1, _0802ED64
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802ED64: .4byte _0802ED68
|
|
.align 2, 0
|
|
_0802ED68:
|
|
.4byte _0802EDB6
|
|
.4byte _0802EDB6
|
|
.4byte _0802EDAC
|
|
.4byte _0802ED7C
|
|
.4byte _0802ED94
|
|
_0802ED7C:
|
|
bl sub_802C26C
|
|
ldr r1, _0802ED90
|
|
ldr r1, [r1]
|
|
strb r0, [r1, 0x8]
|
|
movs r0, 0x6
|
|
bl sub_802E934
|
|
b _0802EDB6
|
|
.align 2, 0
|
|
_0802ED90: .4byte gUnknown_203B308
|
|
_0802ED94:
|
|
bl sub_802C26C
|
|
ldr r1, _0802EDA8
|
|
ldr r1, [r1]
|
|
strb r0, [r1, 0x8]
|
|
movs r0, 0x7
|
|
bl sub_802E934
|
|
b _0802EDB6
|
|
.align 2, 0
|
|
_0802EDA8: .4byte gUnknown_203B308
|
|
_0802EDAC:
|
|
bl sub_802C2D4
|
|
movs r0, 0x1
|
|
bl sub_802E934
|
|
_0802EDB6:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802ED4C
|
|
|
|
thumb_func_start sub_802EDBC
|
|
sub_802EDBC:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_802C1E4
|
|
ldr r4, _0802EDFC
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802EDEC
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
ldr r1, [sp]
|
|
cmp r1, 0x1
|
|
beq _0802EDEC
|
|
ldr r0, [r4]
|
|
str r1, [r0, 0x68]
|
|
_0802EDEC:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x4
|
|
beq _0802EE06
|
|
cmp r0, 0x4
|
|
bgt _0802EE00
|
|
cmp r0, 0x1
|
|
beq _0802EE90
|
|
b _0802EE96
|
|
.align 2, 0
|
|
_0802EDFC: .4byte gUnknown_203B308
|
|
_0802EE00:
|
|
cmp r0, 0x5
|
|
beq _0802EE88
|
|
b _0802EE96
|
|
_0802EE06:
|
|
ldr r0, _0802EE28
|
|
bl sub_8011988
|
|
ldr r4, _0802EE2C
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x8]
|
|
bl sub_8096574
|
|
ldrb r1, [r0]
|
|
cmp r1, 0x3
|
|
beq _0802EE3C
|
|
cmp r1, 0x3
|
|
bgt _0802EE30
|
|
cmp r1, 0x2
|
|
beq _0802EE36
|
|
b _0802EE5E
|
|
.align 2, 0
|
|
_0802EE28: .4byte 0x00000133
|
|
_0802EE2C: .4byte gUnknown_203B308
|
|
_0802EE30:
|
|
cmp r1, 0x4
|
|
beq _0802EE42
|
|
b _0802EE5E
|
|
_0802EE36:
|
|
ldr r0, [r4]
|
|
movs r1, 0x1
|
|
b _0802EE46
|
|
_0802EE3C:
|
|
ldr r0, [r4]
|
|
movs r1, 0x2
|
|
b _0802EE46
|
|
_0802EE42:
|
|
ldr r0, [r4]
|
|
movs r1, 0x3
|
|
_0802EE46:
|
|
str r1, [r0, 0x4]
|
|
ldrb r0, [r0, 0x8]
|
|
bl sub_80965B8
|
|
bl sub_80965F4
|
|
bl sub_802C2D4
|
|
movs r0, 0x3
|
|
bl sub_802E934
|
|
b _0802EE96
|
|
_0802EE5E:
|
|
bl sub_8096A78
|
|
bl sub_8096C80
|
|
bl sub_8096D24
|
|
bl sub_802C4A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802EE80
|
|
bl sub_802C2D4
|
|
movs r0, 0x1
|
|
bl sub_802E934
|
|
b _0802EE96
|
|
_0802EE80:
|
|
movs r0, 0x5
|
|
bl sub_802E934
|
|
b _0802EE96
|
|
_0802EE88:
|
|
movs r0, 0x7
|
|
bl sub_802E934
|
|
b _0802EE96
|
|
_0802EE90:
|
|
movs r0, 0x5
|
|
bl sub_802E934
|
|
_0802EE96:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802EDBC
|
|
|
|
thumb_func_start sub_802EEA0
|
|
sub_802EEA0:
|
|
push {lr}
|
|
bl sub_802DEE0
|
|
cmp r0, 0x1
|
|
bls _0802EEB8
|
|
cmp r0, 0x3
|
|
bhi _0802EEB8
|
|
bl sub_802DF24
|
|
movs r0, 0x5
|
|
bl sub_802E934
|
|
_0802EEB8:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802EEA0
|
|
|
|
thumb_func_start sub_802EEBC
|
|
sub_802EEBC:
|
|
push {lr}
|
|
bl sub_802C898
|
|
cmp r0, 0x1
|
|
bls _0802EED4
|
|
cmp r0, 0x3
|
|
bhi _0802EED4
|
|
bl sub_802C8F4
|
|
movs r0, 0x1
|
|
bl sub_802E934
|
|
_0802EED4:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802EEBC
|
|
|
|
thumb_func_start nullsub_134
|
|
nullsub_134:
|
|
bx lr
|
|
thumb_func_end nullsub_134
|
|
|
|
thumb_func_start sub_802EEDC
|
|
sub_802EEDC:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
adds r4, r0, 0
|
|
bl sub_8008C54
|
|
adds r0, r4, 0
|
|
bl sub_80073B8
|
|
ldr r2, _0802EF40
|
|
movs r6, 0
|
|
str r6, [sp]
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
adds r3, r4, 0
|
|
bl xxx_call_draw_string
|
|
bl sub_80969AC
|
|
adds r2, r0, 0
|
|
movs r5, 0x7
|
|
str r5, [sp]
|
|
str r4, [sp, 0x4]
|
|
movs r0, 0x12
|
|
movs r1, 0xD
|
|
movs r3, 0x2
|
|
bl sub_8012BC4
|
|
ldr r2, _0802EF44
|
|
str r6, [sp]
|
|
movs r0, 0x16
|
|
movs r1, 0xD
|
|
adds r3, r4, 0
|
|
bl xxx_call_draw_string
|
|
str r5, [sp]
|
|
str r4, [sp, 0x4]
|
|
movs r0, 0x23
|
|
movs r1, 0xD
|
|
movs r2, 0x8
|
|
movs r3, 0x2
|
|
bl sub_8012BC4
|
|
adds r0, r4, 0
|
|
bl sub_80073E0
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802EF40: .4byte gUnknown_80E03AC
|
|
_0802EF44: .4byte gUnknown_80E03B8
|
|
thumb_func_end sub_802EEDC
|
|
|
|
thumb_func_start sub_802EF48
|
|
sub_802EF48:
|
|
push {r4,lr}
|
|
ldr r4, _0802EF68
|
|
movs r0, 0xA8
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
movs r0, 0
|
|
bl sub_802EFEC
|
|
movs r0, 0x1
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802EF68: .4byte gUnknown_203B30C
|
|
thumb_func_end sub_802EF48
|
|
|
|
thumb_func_start sub_802EF6C
|
|
sub_802EF6C:
|
|
push {lr}
|
|
ldr r0, _0802EF84
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x5
|
|
bhi _0802EFBA
|
|
lsls r0, 2
|
|
ldr r1, _0802EF88
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802EF84: .4byte gUnknown_203B30C
|
|
_0802EF88: .4byte _0802EF8C
|
|
.align 2, 0
|
|
_0802EF8C:
|
|
.4byte _0802EFA4
|
|
.4byte _0802EFA4
|
|
.4byte _0802EFAA
|
|
.4byte _0802EFB0
|
|
.4byte _0802EFB6
|
|
.4byte _0802EFBA
|
|
_0802EFA4:
|
|
bl sub_802F148
|
|
b _0802EFBE
|
|
_0802EFAA:
|
|
bl sub_802F184
|
|
b _0802EFBE
|
|
_0802EFB0:
|
|
bl sub_802F1E8
|
|
b _0802EFBE
|
|
_0802EFB6:
|
|
movs r0, 0x3
|
|
b _0802EFC0
|
|
_0802EFBA:
|
|
movs r0, 0x2
|
|
b _0802EFC0
|
|
_0802EFBE:
|
|
movs r0, 0
|
|
_0802EFC0:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802EF6C
|
|
|
|
thumb_func_start sub_802EFC4
|
|
sub_802EFC4:
|
|
ldr r0, _0802EFCC
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x4]
|
|
bx lr
|
|
.align 2, 0
|
|
_0802EFCC: .4byte gUnknown_203B30C
|
|
thumb_func_end sub_802EFC4
|
|
|
|
thumb_func_start sub_802EFD0
|
|
sub_802EFD0:
|
|
push {r4,lr}
|
|
ldr r4, _0802EFE8
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0802EFE2
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802EFE2:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802EFE8: .4byte gUnknown_203B30C
|
|
thumb_func_end sub_802EFD0
|
|
|
|
thumb_func_start sub_802EFEC
|
|
sub_802EFEC:
|
|
push {lr}
|
|
ldr r1, _0802F000
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_802F004
|
|
bl sub_802F088
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802F000: .4byte gUnknown_203B30C
|
|
thumb_func_end sub_802EFEC
|
|
|
|
thumb_func_start sub_802F004
|
|
sub_802F004:
|
|
push {r4-r7,lr}
|
|
ldr r4, _0802F03C
|
|
ldr r0, [r4]
|
|
adds r0, 0xF0
|
|
bl sub_8006518
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x2
|
|
bne _0802F044
|
|
bl sub_802F108
|
|
ldr r2, [r4]
|
|
movs r0, 0x90
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _0802F040
|
|
ldm r1!, {r3,r5,r6}
|
|
stm r2!, {r3,r5,r6}
|
|
ldm r1!, {r3,r5,r7}
|
|
stm r2!, {r3,r5,r7}
|
|
ldr r1, [r4]
|
|
adds r0, r1, r0
|
|
adds r1, 0xB0
|
|
bl sub_8012CAC
|
|
b _0802F066
|
|
.align 2, 0
|
|
_0802F03C: .4byte gUnknown_203B30C
|
|
_0802F040: .4byte gUnknown_80E03F4
|
|
_0802F044:
|
|
mov r12, r4
|
|
ldr r4, _0802F080
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
_0802F04C:
|
|
mov r6, r12
|
|
ldr r1, [r6]
|
|
adds r1, r2
|
|
adds r1, 0xF0
|
|
adds r0, r4, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
adds r2, 0x18
|
|
subs r3, 0x1
|
|
cmp r3, 0
|
|
bge _0802F04C
|
|
_0802F066:
|
|
bl sub_8004914
|
|
ldr r0, _0802F084
|
|
ldr r0, [r0]
|
|
adds r0, 0xF0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802F080: .4byte gUnknown_80E03C4
|
|
_0802F084: .4byte gUnknown_203B30C
|
|
thumb_func_end sub_802F004
|
|
|
|
thumb_func_start sub_802F088
|
|
sub_802F088:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
ldr r6, _0802F0A0
|
|
ldr r0, [r6]
|
|
ldr r5, [r0]
|
|
cmp r5, 0x1
|
|
beq _0802F0B6
|
|
cmp r5, 0x1
|
|
bgt _0802F0A4
|
|
cmp r5, 0
|
|
beq _0802F0AE
|
|
b _0802F100
|
|
.align 2, 0
|
|
_0802F0A0: .4byte gUnknown_203B30C
|
|
_0802F0A4:
|
|
cmp r5, 0x2
|
|
beq _0802F0BE
|
|
cmp r5, 0x3
|
|
beq _0802F0DA
|
|
b _0802F100
|
|
_0802F0AE:
|
|
movs r0, 0
|
|
bl sub_802CDD4
|
|
b _0802F100
|
|
_0802F0B6:
|
|
movs r0, 0x1
|
|
bl sub_802CED8
|
|
b _0802F100
|
|
_0802F0BE:
|
|
bl sub_802CFD0
|
|
ldr r1, [r6]
|
|
adds r0, r1, 0
|
|
adds r0, 0x60
|
|
adds r1, 0xB0
|
|
movs r2, 0x3
|
|
str r2, [sp]
|
|
str r5, [sp, 0x4]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8012D60
|
|
b _0802F100
|
|
_0802F0DA:
|
|
ldrb r0, [r0, 0x4]
|
|
bl sub_803B344
|
|
adds r4, r0, 0
|
|
ldr r1, [r6]
|
|
adds r1, 0x8
|
|
bl sub_803B35C
|
|
ldr r0, [r6]
|
|
str r5, [r0, 0x8]
|
|
adds r0, 0x4C
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r6]
|
|
ldr r1, [r4, 0x18]
|
|
str r1, [r0, 0x58]
|
|
adds r0, 0x8
|
|
bl sub_802DE84
|
|
_0802F100:
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802F088
|
|
|
|
thumb_func_start sub_802F108
|
|
sub_802F108:
|
|
ldr r0, _0802F13C
|
|
ldr r0, [r0]
|
|
mov r12, r0
|
|
movs r3, 0
|
|
mov r1, r12
|
|
adds r1, 0xB0
|
|
ldr r0, _0802F140
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x2
|
|
str r0, [r1]
|
|
movs r2, 0x1
|
|
adds r1, 0x4
|
|
ldr r0, _0802F144
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x3
|
|
str r0, [r1]
|
|
mov r0, r12
|
|
adds r0, 0xC0
|
|
str r3, [r0]
|
|
adds r0, 0x4
|
|
str r2, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0802F13C: .4byte gUnknown_203B30C
|
|
_0802F140: .4byte gUnknown_80E040C
|
|
_0802F144: .4byte gUnknown_80D4970
|
|
thumb_func_end sub_802F108
|
|
|
|
thumb_func_start sub_802F148
|
|
sub_802F148:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_802CE5C
|
|
cmp r0, 0x2
|
|
beq _0802F174
|
|
cmp r0, 0x2
|
|
bcc _0802F17E
|
|
cmp r0, 0x3
|
|
bne _0802F17E
|
|
bl sub_802CEBC
|
|
ldr r1, _0802F170
|
|
ldr r1, [r1]
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x2
|
|
bl sub_802EFEC
|
|
b _0802F17E
|
|
.align 2, 0
|
|
_0802F170: .4byte gUnknown_203B30C
|
|
_0802F174:
|
|
bl sub_802CF14
|
|
movs r0, 0x5
|
|
bl sub_802EFEC
|
|
_0802F17E:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802F148
|
|
|
|
thumb_func_start sub_802F184
|
|
sub_802F184:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_802CE5C
|
|
ldr r4, _0802F1BC
|
|
ldr r0, [r4]
|
|
adds r0, 0x60
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802F1AA
|
|
ldr r0, [r4]
|
|
adds r0, 0x60
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_0802F1AA:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _0802F1C6
|
|
cmp r0, 0x2
|
|
bgt _0802F1C0
|
|
cmp r0, 0x1
|
|
beq _0802F1DA
|
|
b _0802F1E0
|
|
.align 2, 0
|
|
_0802F1BC: .4byte gUnknown_203B30C
|
|
_0802F1C0:
|
|
cmp r0, 0x3
|
|
beq _0802F1D2
|
|
b _0802F1E0
|
|
_0802F1C6:
|
|
bl sub_802CF14
|
|
movs r0, 0x4
|
|
bl sub_802EFEC
|
|
b _0802F1E0
|
|
_0802F1D2:
|
|
movs r0, 0x3
|
|
bl sub_802EFEC
|
|
b _0802F1E0
|
|
_0802F1DA:
|
|
movs r0, 0x1
|
|
bl sub_802EFEC
|
|
_0802F1E0:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802F184
|
|
|
|
thumb_func_start sub_802F1E8
|
|
sub_802F1E8:
|
|
push {lr}
|
|
bl sub_802DEE0
|
|
cmp r0, 0x1
|
|
bls _0802F200
|
|
cmp r0, 0x3
|
|
bhi _0802F200
|
|
bl sub_802DF24
|
|
movs r0, 0x1
|
|
bl sub_802EFEC
|
|
_0802F200:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802F1E8
|
|
|
|
thumb_func_start sub_802F204
|
|
sub_802F204:
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
lsls r4, r1, 24
|
|
lsrs r4, 24
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r5, _0802F28C
|
|
movs r0, 0x84
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
str r6, [r0, 0x10]
|
|
movs r6, 0
|
|
str r6, [r0, 0xC]
|
|
strb r4, [r0, 0x8]
|
|
ldr r1, [r5]
|
|
ldr r0, _0802F290
|
|
ldr r1, [r1, 0x10]
|
|
bl strcpy
|
|
ldr r4, _0802F294
|
|
bl sub_808D33C
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl sub_808DA34
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x10]
|
|
movs r1, 0x14
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_808DDD0
|
|
ldr r1, [r5]
|
|
str r0, [r1, 0x14]
|
|
str r6, [r1, 0x18]
|
|
adds r1, 0x20
|
|
strb r6, [r1]
|
|
ldr r0, [r5]
|
|
adds r0, 0x21
|
|
strb r6, [r0]
|
|
ldr r0, [r5]
|
|
adds r0, 0x22
|
|
strb r6, [r0]
|
|
ldr r5, [r5]
|
|
movs r0, 0x2
|
|
strh r0, [r5, 0x1C]
|
|
movs r0, 0x8
|
|
strh r0, [r5, 0x1E]
|
|
ldr r0, [r5, 0x14]
|
|
cmp r0, 0
|
|
beq _0802F27C
|
|
ldr r0, [r0, 0x4]
|
|
str r0, [r5, 0x18]
|
|
_0802F27C:
|
|
movs r0, 0
|
|
bl sub_802F2E8
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802F28C: .4byte gUnknown_203B310
|
|
_0802F290: .4byte gUnknown_202E5D8
|
|
_0802F294: .4byte gUnknown_202DF98
|
|
thumb_func_end sub_802F204
|
|
|
|
thumb_func_start sub_802F298
|
|
sub_802F298:
|
|
push {lr}
|
|
ldr r0, _0802F2AC
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x5
|
|
beq _0802F2B0
|
|
cmp r0, 0x9
|
|
bne _0802F2B6
|
|
movs r0, 0x3
|
|
b _0802F2BC
|
|
.align 2, 0
|
|
_0802F2AC: .4byte gUnknown_203B310
|
|
_0802F2B0:
|
|
bl sub_802F6FC
|
|
b _0802F2BA
|
|
_0802F2B6:
|
|
bl sub_802F718
|
|
_0802F2BA:
|
|
movs r0, 0
|
|
_0802F2BC:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802F298
|
|
|
|
thumb_func_start sub_802F2C0
|
|
sub_802F2C0:
|
|
push {r4,lr}
|
|
ldr r4, _0802F2E4
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0802F2DE
|
|
ldr r0, [r0, 0x14]
|
|
cmp r0, 0
|
|
beq _0802F2D4
|
|
bl CloseFile
|
|
_0802F2D4:
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802F2DE:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802F2E4: .4byte gUnknown_203B310
|
|
thumb_func_end sub_802F2C0
|
|
|
|
thumb_func_start sub_802F2E8
|
|
sub_802F2E8:
|
|
push {lr}
|
|
ldr r1, _0802F2FC
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_802F300
|
|
bl sub_802F358
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802F2FC: .4byte gUnknown_203B310
|
|
thumb_func_end sub_802F2E8
|
|
|
|
thumb_func_start sub_802F300
|
|
sub_802F300:
|
|
push {r4-r7,lr}
|
|
ldr r4, _0802F350
|
|
ldr r1, [r4]
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
bne _0802F348
|
|
adds r0, r1, 0
|
|
adds r0, 0x24
|
|
bl sub_8006518
|
|
mov r12, r4
|
|
ldr r4, _0802F354
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_0802F31C:
|
|
mov r0, r12
|
|
ldr r1, [r0]
|
|
adds r1, r3
|
|
adds r1, 0x24
|
|
adds r0, r4, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _0802F31C
|
|
bl sub_8004914
|
|
ldr r0, _0802F350
|
|
ldr r0, [r0]
|
|
adds r0, 0x24
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
_0802F348:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802F350: .4byte gUnknown_203B310
|
|
_0802F354: .4byte gUnknown_80E041C
|
|
thumb_func_end sub_802F300
|
|
|
|
thumb_func_start sub_802F358
|
|
sub_802F358:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x10
|
|
ldr r1, _0802F374
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r6, r1, 0
|
|
cmp r0, 0x9
|
|
bls _0802F36A
|
|
b _0802F6E4
|
|
_0802F36A:
|
|
lsls r0, 2
|
|
ldr r1, _0802F378
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802F374: .4byte gUnknown_203B310
|
|
_0802F378: .4byte _0802F37C
|
|
.align 2, 0
|
|
_0802F37C:
|
|
.4byte _0802F3A4
|
|
.4byte _0802F3E8
|
|
.4byte _0802F444
|
|
.4byte _0802F494
|
|
.4byte _0802F524
|
|
.4byte _0802F5CC
|
|
.4byte _0802F614
|
|
.4byte _0802F630
|
|
.4byte _0802F6A4
|
|
.4byte _0802F6E4
|
|
_0802F3A4:
|
|
ldr r2, [r6]
|
|
ldr r0, [r2, 0x10]
|
|
ldr r1, [r0, 0x18]
|
|
cmp r1, 0
|
|
bne _0802F3B6
|
|
movs r0, 0x2
|
|
bl sub_802F2E8
|
|
b _0802F6E4
|
|
_0802F3B6:
|
|
ldr r0, _0802F3D4
|
|
str r1, [r0]
|
|
ldrb r0, [r2, 0x8]
|
|
cmp r0, 0
|
|
beq _0802F3E0
|
|
ldr r0, _0802F3D8
|
|
adds r2, 0x14
|
|
ldr r3, _0802F3DC
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
ldr r1, [r6]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0x4]
|
|
b _0802F6E4
|
|
.align 2, 0
|
|
_0802F3D4: .4byte gUnknown_202DE30
|
|
_0802F3D8: .4byte gUnknown_80E0434
|
|
_0802F3DC: .4byte 0x0000010d
|
|
_0802F3E0:
|
|
movs r0, 0x1
|
|
bl sub_802F2E8
|
|
b _0802F6E4
|
|
_0802F3E8:
|
|
movs r0, 0xCB
|
|
bl sub_8011988
|
|
ldr r0, _0802F414
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x10]
|
|
ldr r0, [r0, 0x18]
|
|
bl sub_80913A0
|
|
movs r0, 0
|
|
bl sub_808D544
|
|
cmp r0, 0x1
|
|
bgt _0802F420
|
|
ldr r0, _0802F418
|
|
ldr r3, _0802F41C
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _0802F42C
|
|
.align 2, 0
|
|
_0802F414: .4byte gUnknown_203B310
|
|
_0802F418: .4byte gUnknown_80E045C
|
|
_0802F41C: .4byte 0x00000101
|
|
_0802F420:
|
|
ldr r0, _0802F438
|
|
ldr r3, _0802F43C
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
_0802F42C:
|
|
ldr r0, _0802F440
|
|
ldr r1, [r0]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x4]
|
|
b _0802F6E4
|
|
.align 2, 0
|
|
_0802F438: .4byte gUnknown_80E0484
|
|
_0802F43C: .4byte 0x00000101
|
|
_0802F440: .4byte gUnknown_203B310
|
|
_0802F444:
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x10]
|
|
adds r1, r0, 0
|
|
adds r1, 0x20
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
bne _0802F45A
|
|
movs r0, 0x4
|
|
bl sub_802F2E8
|
|
b _0802F6E4
|
|
_0802F45A:
|
|
ldr r0, _0802F480
|
|
ldrb r1, [r1]
|
|
movs r2, 0
|
|
bl sub_8092578
|
|
ldr r2, [r6]
|
|
ldrb r0, [r2, 0x8]
|
|
cmp r0, 0
|
|
beq _0802F48C
|
|
ldr r0, _0802F484
|
|
adds r2, 0x14
|
|
ldr r3, _0802F488
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
ldr r1, [r6]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x4]
|
|
b _0802F6E4
|
|
.align 2, 0
|
|
_0802F480: .4byte gUnknown_202E628
|
|
_0802F484: .4byte gUnknown_80E04B4
|
|
_0802F488: .4byte 0x0000010d
|
|
_0802F48C:
|
|
movs r0, 0x3
|
|
bl sub_802F2E8
|
|
b _0802F6E4
|
|
_0802F494:
|
|
ldr r4, _0802F4B4
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x10]
|
|
adds r0, 0x20
|
|
ldrb r0, [r0]
|
|
bl sub_8092600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802F4BC
|
|
movs r0, 0xFA
|
|
lsls r0, 2
|
|
bl sub_80913A0
|
|
ldr r0, _0802F4B8
|
|
b _0802F4DA
|
|
.align 2, 0
|
|
_0802F4B4: .4byte gUnknown_203B310
|
|
_0802F4B8: .4byte gUnknown_80E04F4
|
|
_0802F4BC:
|
|
movs r0, 0
|
|
bl sub_808D544
|
|
cmp r0, 0x1
|
|
bgt _0802F4F0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x10]
|
|
adds r0, 0x20
|
|
ldrb r0, [r0]
|
|
bl sub_80925EC
|
|
movs r0, 0xCE
|
|
bl sub_8011988
|
|
ldr r0, _0802F4E8
|
|
_0802F4DA:
|
|
ldr r3, _0802F4EC
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _0802F50E
|
|
.align 2, 0
|
|
_0802F4E8: .4byte gUnknown_80E05C0
|
|
_0802F4EC: .4byte 0x00000101
|
|
_0802F4F0:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x10]
|
|
adds r0, 0x20
|
|
ldrb r0, [r0]
|
|
bl sub_80925EC
|
|
movs r0, 0xCE
|
|
bl sub_8011988
|
|
ldr r0, _0802F518
|
|
ldr r3, _0802F51C
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
_0802F50E:
|
|
ldr r0, _0802F520
|
|
ldr r1, [r0]
|
|
movs r0, 0x4
|
|
str r0, [r1, 0x4]
|
|
b _0802F6E4
|
|
.align 2, 0
|
|
_0802F518: .4byte gUnknown_80E05FC
|
|
_0802F51C: .4byte 0x00000101
|
|
_0802F520: .4byte gUnknown_203B310
|
|
_0802F524:
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x10]
|
|
ldrb r2, [r0, 0x1C]
|
|
cmp r2, 0
|
|
beq _0802F628
|
|
ldr r0, [r0, 0x18]
|
|
cmp r0, 0
|
|
bne _0802F620
|
|
lsls r2, 16
|
|
ldr r1, _0802F564
|
|
ldr r0, [sp, 0xC]
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
str r0, [sp, 0xC]
|
|
lsrs r0, 16
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8090A60
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802F56C
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x10]
|
|
ldrb r1, [r0, 0x1F]
|
|
lsls r1, 8
|
|
ldr r2, _0802F568
|
|
ldr r0, [sp, 0xC]
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
b _0802F572
|
|
.align 2, 0
|
|
_0802F564: .4byte 0xff00ffff
|
|
_0802F568: .4byte 0xffff00ff
|
|
_0802F56C:
|
|
ldr r1, _0802F5B4
|
|
ldr r0, [sp, 0xC]
|
|
ands r0, r1
|
|
_0802F572:
|
|
str r0, [sp, 0xC]
|
|
ldr r1, _0802F5B8
|
|
ldr r0, [sp, 0xC]
|
|
ands r0, r1
|
|
movs r2, 0x1
|
|
orrs r0, r2
|
|
str r0, [sp, 0xC]
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
strb r1, [r0, 0x4]
|
|
strb r2, [r0, 0x8]
|
|
ldr r0, _0802F5BC
|
|
add r1, sp, 0xC
|
|
mov r2, sp
|
|
bl sub_8090E14
|
|
ldr r4, _0802F5C0
|
|
ldr r2, [r4]
|
|
ldrb r0, [r2, 0x8]
|
|
cmp r0, 0
|
|
beq _0802F620
|
|
ldr r0, _0802F5C4
|
|
adds r2, 0x14
|
|
ldr r3, _0802F5C8
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
ldr r1, [r4]
|
|
movs r0, 0x5
|
|
str r0, [r1, 0x4]
|
|
b _0802F6E4
|
|
.align 2, 0
|
|
_0802F5B4: .4byte 0xffff00ff
|
|
_0802F5B8: .4byte 0xffffff00
|
|
_0802F5BC: .4byte gUnknown_202DEA8
|
|
_0802F5C0: .4byte gUnknown_203B310
|
|
_0802F5C4: .4byte gUnknown_80E0640
|
|
_0802F5C8: .4byte 0x0000010d
|
|
_0802F5CC:
|
|
ldr r0, [r6]
|
|
ldr r2, [r0, 0x10]
|
|
adds r1, r2, 0
|
|
adds r1, 0x1C
|
|
ldr r3, [r0, 0xC]
|
|
adds r1, r3
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
bne _0802F5E6
|
|
movs r0, 0x6
|
|
bl sub_802F2E8
|
|
b _0802F6E4
|
|
_0802F5E6:
|
|
cmp r3, 0
|
|
bne _0802F5FC
|
|
ldr r0, [r2, 0x18]
|
|
cmp r0, 0
|
|
bne _0802F5FC
|
|
ldrb r1, [r2, 0x1C]
|
|
ldrb r2, [r2, 0x1F]
|
|
movs r0, 0
|
|
bl sub_801B60C
|
|
b _0802F6E4
|
|
_0802F5FC:
|
|
ldr r1, [r6]
|
|
ldr r2, [r1, 0x10]
|
|
adds r0, r2, 0
|
|
adds r0, 0x1C
|
|
ldr r1, [r1, 0xC]
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
ldrb r2, [r2, 0x1F]
|
|
movs r0, 0x1
|
|
bl sub_801B60C
|
|
b _0802F6E4
|
|
_0802F614:
|
|
ldr r1, [r6]
|
|
ldr r0, [r1, 0xC]
|
|
adds r0, 0x1
|
|
str r0, [r1, 0xC]
|
|
cmp r0, 0x2
|
|
bgt _0802F628
|
|
_0802F620:
|
|
movs r0, 0x5
|
|
bl sub_802F2E8
|
|
b _0802F6E4
|
|
_0802F628:
|
|
movs r0, 0x7
|
|
bl sub_802F2E8
|
|
b _0802F6E4
|
|
_0802F630:
|
|
adds r5, r6, 0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x10]
|
|
ldr r0, [r0, 0x24]
|
|
cmp r0, 0
|
|
bne _0802F644
|
|
movs r0, 0x9
|
|
bl sub_802F2E8
|
|
b _0802F6E4
|
|
_0802F644:
|
|
bl sub_8092178
|
|
ldr r1, [r5]
|
|
strb r0, [r1, 0x9]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x10]
|
|
ldr r0, [r0, 0x24]
|
|
bl sub_8092158
|
|
movs r0, 0xCB
|
|
bl sub_8011988
|
|
ldr r4, [r5]
|
|
bl sub_8092178
|
|
ldrb r1, [r4, 0x9]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r1, r0
|
|
beq _0802F672
|
|
ldr r1, [r5]
|
|
movs r0, 0x8
|
|
b _0802F676
|
|
_0802F672:
|
|
ldr r1, [r6]
|
|
movs r0, 0x9
|
|
_0802F676:
|
|
str r0, [r1, 0x4]
|
|
ldr r1, _0802F694
|
|
ldr r0, _0802F698
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x10]
|
|
ldr r0, [r0, 0x24]
|
|
str r0, [r1]
|
|
ldr r0, _0802F69C
|
|
ldr r3, _0802F6A0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _0802F6E4
|
|
.align 2, 0
|
|
_0802F694: .4byte gUnknown_202DE30
|
|
_0802F698: .4byte gUnknown_203B310
|
|
_0802F69C: .4byte gUnknown_80E0670
|
|
_0802F6A0: .4byte 0x00000101
|
|
_0802F6A4:
|
|
movs r0, 0xC9
|
|
bl sub_8011988
|
|
ldr r0, _0802F6EC
|
|
ldr r1, [r0]
|
|
movs r0, 0x9
|
|
str r0, [r1, 0x4]
|
|
ldrb r0, [r1, 0x9]
|
|
bl sub_80921A8
|
|
adds r1, r0, 0
|
|
ldr r4, _0802F6F0
|
|
adds r0, r4, 0
|
|
bl strcpy
|
|
bl sub_8092178
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80921A8
|
|
adds r1, r0, 0
|
|
adds r4, 0x50
|
|
adds r0, r4, 0
|
|
bl strcpy
|
|
ldr r0, _0802F6F4
|
|
ldr r3, _0802F6F8
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
_0802F6E4:
|
|
add sp, 0x10
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802F6EC: .4byte gUnknown_203B310
|
|
_0802F6F0: .4byte gUnknown_202E038
|
|
_0802F6F4: .4byte gUnknown_80E06A8
|
|
_0802F6F8: .4byte 0x00000101
|
|
thumb_func_end sub_802F358
|
|
|
|
thumb_func_start sub_802F6FC
|
|
sub_802F6FC:
|
|
push {lr}
|
|
bl sub_801B6AC
|
|
cmp r0, 0x1
|
|
bls _0802F714
|
|
cmp r0, 0x3
|
|
bhi _0802F714
|
|
bl sub_801B72C
|
|
movs r0, 0x6
|
|
bl sub_802F2E8
|
|
_0802F714:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_802F6FC
|
|
|
|
thumb_func_start sub_802F718
|
|
sub_802F718:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0802F730
|
|
ldr r0, _0802F738
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
bl sub_802F2E8
|
|
_0802F730:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802F738: .4byte gUnknown_203B310
|
|
thumb_func_end sub_802F718
|
|
|
|
thumb_func_start sub_802F73C
|
|
sub_802F73C:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r5, r0, 0
|
|
adds r7, r1, 0
|
|
mov r8, r2
|
|
lsls r3, 24
|
|
lsrs r6, r3, 24
|
|
bl sub_802FCF0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802F75A
|
|
movs r0, 0
|
|
b _0802F836
|
|
_0802F75A:
|
|
ldr r4, _0802F7AC
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
bne _0802F76E
|
|
movs r0, 0xAE
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
_0802F76E:
|
|
ldr r0, [r4]
|
|
adds r0, 0xB8
|
|
strb r6, [r0]
|
|
ldr r0, [r4]
|
|
adds r1, r0, 0
|
|
adds r1, 0xF0
|
|
str r5, [r1]
|
|
adds r2, r0, 0
|
|
adds r2, 0xF4
|
|
lsls r1, r5, 1
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, 0xF8
|
|
adds r1, r0, r1
|
|
str r1, [r2]
|
|
adds r0, 0xF8
|
|
bl sub_8006518
|
|
cmp r6, 0
|
|
beq _0802F7B4
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0xF0
|
|
ldr r2, [r0]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0xF8
|
|
ldr r0, _0802F7B0
|
|
b _0802F7C8
|
|
.align 2, 0
|
|
_0802F7AC: .4byte gUnknown_203B314
|
|
_0802F7B0: .4byte gUnknown_80E072C
|
|
_0802F7B4:
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0xF0
|
|
ldr r2, [r0]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0xF8
|
|
ldr r0, _0802F840
|
|
_0802F7C8:
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r4, _0802F844
|
|
ldr r2, [r4]
|
|
adds r0, r2, 0
|
|
adds r0, 0xF4
|
|
ldr r1, [r0]
|
|
movs r3, 0xAC
|
|
lsls r3, 1
|
|
adds r0, r2, r3
|
|
str r0, [r1, 0x14]
|
|
cmp r7, 0
|
|
beq _0802F7FC
|
|
adds r0, r2, 0
|
|
adds r0, 0xF0
|
|
ldr r1, [r0]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
subs r3, 0x58
|
|
adds r1, r2, r3
|
|
adds r1, r0
|
|
ldr r0, [r7]
|
|
str r0, [r1]
|
|
_0802F7FC:
|
|
ldr r0, [r4]
|
|
adds r0, 0xF4
|
|
ldr r0, [r0]
|
|
mov r1, r8
|
|
bl sub_8012D08
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0xF8
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, [r4]
|
|
adds r4, 0xBC
|
|
bl sub_802FBF4
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
mov r2, r8
|
|
adds r3, r5, 0
|
|
bl sub_8013818
|
|
bl sub_802F9C0
|
|
bl sub_802FA50
|
|
movs r0, 0x1
|
|
_0802F836:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802F840: .4byte gUnknown_80E0714
|
|
_0802F844: .4byte gUnknown_203B314
|
|
thumb_func_end sub_802F73C
|
|
|
|
thumb_func_start sub_802F848
|
|
sub_802F848:
|
|
push {r4,r5,lr}
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
movs r3, 0
|
|
ldr r1, _0802F858
|
|
ldr r0, [r1]
|
|
b _0802F884
|
|
.align 2, 0
|
|
_0802F858: .4byte gUnknown_203B314
|
|
_0802F85C:
|
|
ldr r2, [r1]
|
|
lsls r0, r3, 1
|
|
adds r0, r2, r0
|
|
movs r5, 0
|
|
ldrsh r0, [r0, r5]
|
|
cmp r0, r4
|
|
bne _0802F880
|
|
adds r0, r2, 0
|
|
adds r0, 0xBC
|
|
adds r1, r3, 0
|
|
bl sub_8013878
|
|
bl sub_802F9C0
|
|
bl sub_802FA50
|
|
movs r0, 0x1
|
|
b _0802F89A
|
|
_0802F880:
|
|
adds r3, 0x1
|
|
adds r0, r2, 0
|
|
_0802F884:
|
|
adds r0, 0xDE
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
cmp r3, r0
|
|
blt _0802F85C
|
|
ldr r0, [r1]
|
|
adds r0, 0xBC
|
|
movs r1, 0
|
|
bl sub_8013878
|
|
movs r0, 0
|
|
_0802F89A:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802F848
|
|
|
|
thumb_func_start sub_802F8A0
|
|
sub_802F8A0:
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802F8BC
|
|
ldr r0, _0802F8B8
|
|
ldr r0, [r0]
|
|
adds r0, 0xBC
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _0802F904
|
|
.align 2, 0
|
|
_0802F8B8: .4byte gUnknown_203B314
|
|
_0802F8BC:
|
|
ldr r4, _0802F8D8
|
|
ldr r0, [r4]
|
|
adds r0, 0xBC
|
|
bl GetKeyPress
|
|
cmp r0, 0x1
|
|
beq _0802F8DC
|
|
cmp r0, 0x2
|
|
bne _0802F8E6
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0802F904
|
|
.align 2, 0
|
|
_0802F8D8: .4byte gUnknown_203B314
|
|
_0802F8DC:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _0802F904
|
|
_0802F8E6:
|
|
ldr r0, [r4]
|
|
adds r0, 0xBC
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802F8FA
|
|
movs r0, 0
|
|
b _0802F904
|
|
_0802F8FA:
|
|
bl sub_802F9C0
|
|
bl sub_802FA50
|
|
movs r0, 0x1
|
|
_0802F904:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802F8A0
|
|
|
|
thumb_func_start sub_802F90C
|
|
sub_802F90C:
|
|
ldr r0, _0802F934
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0xDA
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
subs r0, 0x2
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
muls r0, r1
|
|
adds r1, r2, 0
|
|
adds r1, 0xD4
|
|
movs r3, 0
|
|
ldrsh r1, [r1, r3]
|
|
adds r0, r1
|
|
lsls r0, 1
|
|
adds r0, r2, r0
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0802F934: .4byte gUnknown_203B314
|
|
thumb_func_end sub_802F90C
|
|
|
|
thumb_func_start sub_802F938
|
|
sub_802F938:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_802FBF4
|
|
adds r1, r0, 0
|
|
ldr r5, _0802F970
|
|
ldr r0, [r5]
|
|
adds r2, r0, 0
|
|
adds r2, 0xDE
|
|
strh r1, [r2]
|
|
adds r0, 0xBC
|
|
bl sub_8013984
|
|
bl sub_802F9C0
|
|
bl sub_802FA50
|
|
cmp r4, 0
|
|
beq _0802F96A
|
|
ldr r0, [r5]
|
|
adds r0, 0xBC
|
|
bl AddMenuCursorSprite
|
|
_0802F96A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802F970: .4byte gUnknown_203B314
|
|
thumb_func_end sub_802F938
|
|
|
|
thumb_func_start sub_802F974
|
|
sub_802F974:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0802F9B8
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0802F9B2
|
|
adds r0, r2, 0
|
|
adds r0, 0xF0
|
|
ldr r0, [r0]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0xF8
|
|
ldr r0, _0802F9BC
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0xF8
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802F9B2:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802F9B8: .4byte gUnknown_203B314
|
|
_0802F9BC: .4byte gUnknown_80E06FC
|
|
thumb_func_end sub_802F974
|
|
|
|
thumb_func_start sub_802F9C0
|
|
sub_802F9C0:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0802FA44
|
|
ldr r0, [r4]
|
|
movs r1, 0xAC
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r2, 0
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
ldr r3, _0802FA48
|
|
adds r0, r3
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
adds r3, 0x1
|
|
adds r1, r0, r3
|
|
movs r0, 0x8
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
ldr r1, _0802FA4C
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xD6
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
movs r1, 0xC
|
|
bl sub_80095E4
|
|
adds r0, 0x2
|
|
lsls r0, 16
|
|
ldr r3, [r4]
|
|
adds r5, r3, 0
|
|
adds r5, 0xF0
|
|
ldr r2, [r5]
|
|
lsls r1, r2, 1
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, r3, r1
|
|
movs r2, 0x83
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
asrs r2, r0, 16
|
|
lsrs r0, 16
|
|
strh r0, [r1]
|
|
ldr r1, [r5]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r3, r0
|
|
adds r2, 0x2
|
|
movs r0, 0x84
|
|
lsls r0, 1
|
|
adds r3, r0
|
|
strh r2, [r3]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0xF8
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802FA44: .4byte gUnknown_203B314
|
|
_0802FA48: .4byte 0x00000159
|
|
_0802FA4C: .4byte 0x0000015b
|
|
thumb_func_end sub_802F9C0
|
|
|
|
thumb_func_start sub_802FA50
|
|
sub_802FA50:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
ldr r4, _0802FB1C
|
|
ldr r0, [r4]
|
|
adds r0, 0xF0
|
|
ldr r0, [r0]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
adds r0, 0xF0
|
|
ldr r0, [r0]
|
|
bl sub_80073B8
|
|
ldr r2, _0802FB20
|
|
ldr r0, [r4]
|
|
adds r0, 0xF0
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
ldr r3, [r4]
|
|
movs r1, 0xAD
|
|
lsls r1, 1
|
|
adds r0, r3, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 3
|
|
adds r0, 0x4
|
|
adds r1, r3, 0
|
|
adds r1, 0xDA
|
|
movs r5, 0
|
|
ldrsh r2, [r1, r5]
|
|
adds r2, 0x1
|
|
movs r1, 0x7
|
|
str r1, [sp]
|
|
adds r1, r3, 0
|
|
adds r1, 0xF0
|
|
ldr r1, [r1]
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
movs r3, 0x2
|
|
bl sub_8012BC4
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0xB8
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0802FB78
|
|
movs r6, 0
|
|
adds r0, r1, 0
|
|
adds r0, 0xD6
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
cmp r6, r0
|
|
blt _0802FACA
|
|
b _0802FBD6
|
|
_0802FACA:
|
|
mov r8, r4
|
|
_0802FACC:
|
|
mov r2, r8
|
|
ldr r0, [r2]
|
|
adds r0, 0xBC
|
|
adds r1, r6, 0
|
|
bl sub_8013800
|
|
adds r5, r0, 0
|
|
mov r3, r8
|
|
ldr r2, [r3]
|
|
adds r0, r2, 0
|
|
adds r0, 0xDA
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
subs r0, 0x2
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
muls r0, r1
|
|
adds r1, r0, r6
|
|
lsls r0, r1, 1
|
|
adds r0, r2, r0
|
|
movs r3, 0
|
|
ldrsh r7, [r0, r3]
|
|
adds r0, r2, 0
|
|
adds r0, 0x5C
|
|
adds r0, r1
|
|
ldrb r4, [r0]
|
|
cmp r4, 0
|
|
beq _0802FB28
|
|
adds r0, r2, 0
|
|
adds r0, 0xF0
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
adds r1, r5, 0
|
|
ldr r2, _0802FB24
|
|
bl xxx_call_draw_string
|
|
b _0802FB46
|
|
.align 2, 0
|
|
_0802FB1C: .4byte gUnknown_203B314
|
|
_0802FB20: .4byte gUnknown_80E0744
|
|
_0802FB24: .4byte gUnknown_80E0750
|
|
_0802FB28:
|
|
adds r0, r2, 0
|
|
adds r0, 0x8A
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0802FB46
|
|
adds r0, r2, 0
|
|
adds r0, 0xF0
|
|
ldr r3, [r0]
|
|
str r4, [sp]
|
|
movs r0, 0xA
|
|
adds r1, r5, 0
|
|
ldr r2, _0802FB74
|
|
bl xxx_call_draw_string
|
|
_0802FB46:
|
|
adds r0, r7, 0
|
|
bl sub_80974A0
|
|
adds r2, r0, 0
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
adds r0, 0xF0
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x18
|
|
adds r1, r5, 0
|
|
bl xxx_call_draw_string
|
|
adds r6, 0x1
|
|
mov r2, r8
|
|
ldr r0, [r2]
|
|
adds r0, 0xD6
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
cmp r6, r0
|
|
blt _0802FACC
|
|
b _0802FBD6
|
|
.align 2, 0
|
|
_0802FB74: .4byte gUnknown_80E0754
|
|
_0802FB78:
|
|
movs r6, 0
|
|
adds r0, r1, 0
|
|
adds r0, 0xD6
|
|
movs r5, 0
|
|
ldrsh r0, [r0, r5]
|
|
cmp r6, r0
|
|
bge _0802FBD6
|
|
adds r5, r4, 0
|
|
_0802FB88:
|
|
ldr r0, [r5]
|
|
adds r0, 0xBC
|
|
adds r1, r6, 0
|
|
bl sub_8013800
|
|
adds r4, r0, 0
|
|
ldr r1, [r5]
|
|
adds r0, r1, 0
|
|
adds r0, 0xDA
|
|
movs r3, 0
|
|
ldrsh r2, [r0, r3]
|
|
subs r0, 0x2
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
muls r0, r2
|
|
adds r0, r6
|
|
lsls r0, 1
|
|
adds r1, r0
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
bl sub_80974A0
|
|
adds r2, r0, 0
|
|
ldr r0, [r5]
|
|
adds r0, 0xF0
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
adds r1, r4, 0
|
|
bl xxx_call_draw_string
|
|
adds r6, 0x1
|
|
ldr r0, [r5]
|
|
adds r0, 0xD6
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
cmp r6, r0
|
|
blt _0802FB88
|
|
_0802FBD6:
|
|
ldr r0, _0802FBF0
|
|
ldr r0, [r0]
|
|
adds r0, 0xF0
|
|
ldr r0, [r0]
|
|
bl sub_80073E0
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802FBF0: .4byte gUnknown_203B314
|
|
thumb_func_end sub_802FA50
|
|
|
|
thumb_func_start sub_802FBF4
|
|
sub_802FBF4:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
mov r8, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
_0802FC08:
|
|
ldr r1, [sp]
|
|
lsls r0, r1, 16
|
|
asrs r4, r0, 16
|
|
mov r10, r4
|
|
adds r0, r4, 0
|
|
bl sub_80A27CC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802FCCE
|
|
cmp r4, 0x13
|
|
beq _0802FCCE
|
|
cmp r4, 0x1D
|
|
beq _0802FCCE
|
|
ldr r7, _0802FC88
|
|
ldr r1, [r7]
|
|
mov r0, r8
|
|
lsls r6, r0, 1
|
|
adds r0, r1, r6
|
|
strh r4, [r0]
|
|
adds r1, 0x5C
|
|
add r1, r8
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
ldr r0, [r7]
|
|
adds r0, 0x8A
|
|
add r0, r8
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r7]
|
|
adds r0, 0xB8
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0802FCCA
|
|
cmp r4, 0xD
|
|
beq _0802FCCA
|
|
adds r0, r4, 0
|
|
bl sub_80A270C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
movs r5, 0
|
|
cmp r4, 0x1E
|
|
bgt _0802FCA8
|
|
adds r0, r4, 0
|
|
bl sub_8097384
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802FCA6
|
|
cmp r4, 0x6
|
|
bne _0802FC8C
|
|
movs r0, 0x13
|
|
bl sub_8097384
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802FCA8
|
|
ldr r0, [r7]
|
|
adds r0, r6
|
|
movs r1, 0x13
|
|
b _0802FCA4
|
|
.align 2, 0
|
|
_0802FC88: .4byte gUnknown_203B314
|
|
_0802FC8C:
|
|
mov r0, r10
|
|
cmp r0, 0xA
|
|
bne _0802FCA8
|
|
movs r0, 0x1D
|
|
bl sub_8097384
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802FCA8
|
|
ldr r0, [r7]
|
|
adds r0, r6
|
|
movs r1, 0x1D
|
|
_0802FCA4:
|
|
strh r1, [r0]
|
|
_0802FCA6:
|
|
movs r5, 0x1
|
|
_0802FCA8:
|
|
ldr r4, _0802FCEC
|
|
ldr r0, [r4]
|
|
adds r0, 0x5C
|
|
add r0, r8
|
|
strb r5, [r0]
|
|
cmp r5, 0
|
|
bne _0802FCCA
|
|
mov r0, r9
|
|
bl sub_80969D0
|
|
cmp r0, 0
|
|
ble _0802FCCA
|
|
ldr r0, [r4]
|
|
adds r0, 0x8A
|
|
add r0, r8
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
_0802FCCA:
|
|
movs r1, 0x1
|
|
add r8, r1
|
|
_0802FCCE:
|
|
ldr r0, [sp]
|
|
adds r0, 0x1
|
|
str r0, [sp]
|
|
cmp r0, 0x2D
|
|
ble _0802FC08
|
|
mov r0, r8
|
|
add sp, 0x4
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802FCEC: .4byte gUnknown_203B314
|
|
thumb_func_end sub_802FBF4
|
|
|
|
thumb_func_start sub_802FCF0
|
|
sub_802FCF0:
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_0802FCF4:
|
|
lsls r0, r4, 16
|
|
asrs r0, 16
|
|
bl sub_80A27CC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802FD06
|
|
movs r0, 0
|
|
b _0802FD0E
|
|
_0802FD06:
|
|
adds r4, 0x1
|
|
cmp r4, 0x2D
|
|
ble _0802FCF4
|
|
movs r0, 0x1
|
|
_0802FD0E:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802FCF0
|
|
|
|
thumb_func_start sub_802FD14
|
|
sub_802FD14:
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, _0802FD48
|
|
movs r0, 0xCC
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
ldr r1, _0802FD4C
|
|
strh r1, [r0, 0x10]
|
|
str r5, [r0]
|
|
cmp r5, 0x7
|
|
bhi _0802FDC0
|
|
lsls r0, r5, 2
|
|
ldr r1, _0802FD50
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802FD48: .4byte gUnknown_203B318
|
|
_0802FD4C: .4byte 0x0000ffff
|
|
_0802FD50: .4byte _0802FD54
|
|
.align 2, 0
|
|
_0802FD54:
|
|
.4byte _0802FD74
|
|
.4byte _0802FD84
|
|
.4byte _0802FD94
|
|
.4byte _0802FDA4
|
|
.4byte _0802FDB4
|
|
.4byte _0802FDB8
|
|
.4byte _0802FDBC
|
|
.4byte _0802FDC0
|
|
_0802FD74:
|
|
movs r6, 0
|
|
ldr r1, _0802FD80
|
|
ldr r0, [r1]
|
|
str r6, [r0, 0x4]
|
|
b _0802FDCC
|
|
.align 2, 0
|
|
_0802FD80: .4byte gUnknown_203B318
|
|
_0802FD84:
|
|
movs r6, 0x7
|
|
ldr r2, _0802FD90
|
|
ldr r1, [r2]
|
|
movs r0, 0
|
|
b _0802FDC8
|
|
.align 2, 0
|
|
_0802FD90: .4byte gUnknown_203B318
|
|
_0802FD94:
|
|
movs r6, 0x6
|
|
ldr r2, _0802FDA0
|
|
ldr r1, [r2]
|
|
movs r0, 0
|
|
b _0802FDC8
|
|
.align 2, 0
|
|
_0802FDA0: .4byte gUnknown_203B318
|
|
_0802FDA4:
|
|
movs r6, 0x8
|
|
ldr r2, _0802FDB0
|
|
ldr r1, [r2]
|
|
movs r0, 0
|
|
b _0802FDC8
|
|
.align 2, 0
|
|
_0802FDB0: .4byte gUnknown_203B318
|
|
_0802FDB4:
|
|
movs r6, 0
|
|
b _0802FDC2
|
|
_0802FDB8:
|
|
movs r6, 0x7
|
|
b _0802FDC2
|
|
_0802FDBC:
|
|
movs r6, 0x6
|
|
b _0802FDC2
|
|
_0802FDC0:
|
|
movs r6, 0x8
|
|
_0802FDC2:
|
|
ldr r2, _0802FDD8
|
|
ldr r1, [r2]
|
|
movs r0, 0x1
|
|
_0802FDC8:
|
|
str r0, [r1, 0x4]
|
|
adds r1, r2, 0
|
|
_0802FDCC:
|
|
ldr r1, [r1]
|
|
ldr r0, [r1, 0x4]
|
|
cmp r0, 0x1
|
|
bne _0802FDDC
|
|
movs r0, 0
|
|
b _0802FDE0
|
|
.align 2, 0
|
|
_0802FDD8: .4byte gUnknown_203B318
|
|
_0802FDDC:
|
|
adds r0, r1, 0
|
|
adds r0, 0x58
|
|
_0802FDE0:
|
|
str r0, [r1, 0x68]
|
|
ldr r0, _0802FE48
|
|
ldr r5, _0802FE4C
|
|
adds r1, r5, 0
|
|
bl sub_808D8E0
|
|
ldr r4, _0802FE50
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_808D8E0
|
|
adds r0, r5, 0
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
subs r4, 0x50
|
|
adds r0, r4, 0
|
|
bl strcpy
|
|
adds r0, r5, 0
|
|
bl sub_808DDD0
|
|
ldr r3, _0802FE54
|
|
ldr r1, [r3]
|
|
str r0, [r1, 0x58]
|
|
ldr r0, [r0, 0x4]
|
|
str r0, [r1, 0x5C]
|
|
adds r1, 0x64
|
|
movs r2, 0
|
|
strb r2, [r1]
|
|
ldr r0, [r3]
|
|
adds r0, 0x65
|
|
strb r2, [r0]
|
|
ldr r0, [r3]
|
|
adds r0, 0x66
|
|
strb r2, [r0]
|
|
ldr r1, [r3]
|
|
adds r2, r1, 0
|
|
adds r2, 0x60
|
|
movs r0, 0x2
|
|
strh r0, [r2]
|
|
adds r1, 0x62
|
|
movs r0, 0x8
|
|
strh r0, [r1]
|
|
adds r0, r6, 0
|
|
bl sub_802FF04
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0802FE48: .4byte gUnknown_202E5D8
|
|
_0802FE4C: .4byte 0x00000141
|
|
_0802FE50: .4byte gUnknown_202E1C8
|
|
_0802FE54: .4byte gUnknown_203B318
|
|
thumb_func_end sub_802FD14
|
|
|
|
thumb_func_start sub_802FE58
|
|
sub_802FE58:
|
|
push {lr}
|
|
ldr r0, _0802FE70
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x8]
|
|
cmp r0, 0xD
|
|
bhi _0802FEC6
|
|
lsls r0, 2
|
|
ldr r1, _0802FE74
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802FE70: .4byte gUnknown_203B318
|
|
_0802FE74: .4byte _0802FE78
|
|
.align 2, 0
|
|
_0802FE78:
|
|
.4byte _0802FEB0
|
|
.4byte _0802FEB0
|
|
.4byte _0802FEC6
|
|
.4byte _0802FEC6
|
|
.4byte _0802FEB6
|
|
.4byte _0802FEC6
|
|
.4byte _0802FEC6
|
|
.4byte _0802FEC6
|
|
.4byte _0802FEC6
|
|
.4byte _0802FEC6
|
|
.4byte _0802FEC6
|
|
.4byte _0802FEBC
|
|
.4byte _0802FEC6
|
|
.4byte _0802FEC2
|
|
_0802FEB0:
|
|
bl sub_8030208
|
|
b _0802FECA
|
|
_0802FEB6:
|
|
bl sub_8030258
|
|
b _0802FECA
|
|
_0802FEBC:
|
|
bl sub_80302A8
|
|
b _0802FECA
|
|
_0802FEC2:
|
|
movs r0, 0x3
|
|
b _0802FECC
|
|
_0802FEC6:
|
|
bl sub_80302C4
|
|
_0802FECA:
|
|
movs r0, 0
|
|
_0802FECC:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_802FE58
|
|
|
|
thumb_func_start sub_802FED0
|
|
sub_802FED0:
|
|
ldr r0, _0802FEDC
|
|
ldr r0, [r0]
|
|
movs r1, 0x10
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0802FEDC: .4byte gUnknown_203B318
|
|
thumb_func_end sub_802FED0
|
|
|
|
thumb_func_start sub_802FEE0
|
|
sub_802FEE0:
|
|
push {r4,lr}
|
|
ldr r4, _0802FF00
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0802FEFA
|
|
ldr r0, [r0, 0x58]
|
|
bl CloseFile
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0802FEFA:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802FF00: .4byte gUnknown_203B318
|
|
thumb_func_end sub_802FEE0
|
|
|
|
thumb_func_start sub_802FF04
|
|
sub_802FF04:
|
|
push {lr}
|
|
ldr r1, _0802FF18
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x8]
|
|
bl sub_802FF1C
|
|
bl sub_802FF88
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802FF18: .4byte gUnknown_203B318
|
|
thumb_func_end sub_802FF04
|
|
|
|
thumb_func_start sub_802FF1C
|
|
sub_802FF1C:
|
|
push {r4-r7,lr}
|
|
ldr r4, _0802FF3C
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
bl sub_8006518
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x8]
|
|
cmp r0, 0x4
|
|
beq _0802FF44
|
|
cmp r0, 0x4
|
|
bgt _0802FF40
|
|
cmp r0, 0
|
|
beq _0802FF44
|
|
b _0802FF68
|
|
.align 2, 0
|
|
_0802FF3C: .4byte gUnknown_203B318
|
|
_0802FF40:
|
|
cmp r0, 0xD
|
|
bne _0802FF68
|
|
_0802FF44:
|
|
ldr r0, _0802FF80
|
|
mov r12, r0
|
|
ldr r4, _0802FF84
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_0802FF4E:
|
|
mov r5, r12
|
|
ldr r1, [r5]
|
|
adds r1, r3
|
|
adds r1, 0x6C
|
|
adds r0, r4, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _0802FF4E
|
|
_0802FF68:
|
|
bl sub_8004914
|
|
ldr r0, _0802FF80
|
|
ldr r0, [r0]
|
|
adds r0, 0x6C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0802FF80: .4byte gUnknown_203B318
|
|
_0802FF84: .4byte gUnknown_80E0760
|
|
thumb_func_end sub_802FF1C
|
|
|
|
thumb_func_start sub_802FF88
|
|
sub_802FF88:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x18
|
|
ldr r1, _0802FFA4
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x8]
|
|
adds r5, r1, 0
|
|
cmp r0, 0xD
|
|
bls _0802FF9A
|
|
b _080301A0
|
|
_0802FF9A:
|
|
lsls r0, 2
|
|
ldr r1, _0802FFA8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0802FFA4: .4byte gUnknown_203B318
|
|
_0802FFA8: .4byte _0802FFAC
|
|
.align 2, 0
|
|
_0802FFAC:
|
|
.4byte _0802FFE4
|
|
.4byte _08030000
|
|
.4byte _08030038
|
|
.4byte _08030050
|
|
.4byte _08030068
|
|
.4byte _08030074
|
|
.4byte _080300DC
|
|
.4byte _080300C4
|
|
.4byte _080300F4
|
|
.4byte _0803010C
|
|
.4byte _08030148
|
|
.4byte _08030174
|
|
.4byte _08030180
|
|
.4byte _080301A0
|
|
_0802FFE4:
|
|
bl sub_80301B0
|
|
ldr r2, _0802FFF8
|
|
ldr r0, _0802FFFC
|
|
ldr r5, [r0]
|
|
ldr r1, [r5, 0x4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
b _0803000E
|
|
.align 2, 0
|
|
_0802FFF8: .4byte gUnknown_80D9FC8
|
|
_0802FFFC: .4byte gUnknown_203B318
|
|
_08030000:
|
|
ldr r2, _08030034
|
|
ldr r5, [r5]
|
|
ldr r1, [r5, 0x4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, 0x4
|
|
_0803000E:
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, 0x14]
|
|
adds r3, r5, 0
|
|
adds r3, 0x18
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
ldr r1, [r5, 0x68]
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
bl sub_8014248
|
|
b _080301A0
|
|
.align 2, 0
|
|
_08030034: .4byte gUnknown_80D9FC8
|
|
_08030038:
|
|
ldr r3, [r5]
|
|
movs r0, 0xD
|
|
str r0, [r3, 0xC]
|
|
ldr r2, _0803004C
|
|
ldr r1, [r3, 0x4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, 0x8
|
|
b _0803015A
|
|
.align 2, 0
|
|
_0803004C: .4byte gUnknown_80D9FC8
|
|
_08030050:
|
|
ldr r3, [r5]
|
|
movs r0, 0x4
|
|
str r0, [r3, 0xC]
|
|
ldr r2, _08030064
|
|
ldr r1, [r3, 0x4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, 0xC
|
|
b _0803015A
|
|
.align 2, 0
|
|
_08030064: .4byte gUnknown_80D9FC8
|
|
_08030068:
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
movs r2, 0xA
|
|
bl sub_80302E8
|
|
b _080301A0
|
|
_08030074:
|
|
ldr r1, [r5]
|
|
movs r0, 0xD
|
|
str r0, [r1, 0xC]
|
|
movs r2, 0x10
|
|
ldrsh r0, [r1, r2]
|
|
bl sub_80A2740
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080300B4
|
|
ldr r1, [sp, 0x14]
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
ldr r0, _080300B8
|
|
ands r1, r0
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
orrs r1, r0
|
|
str r1, [sp, 0x14]
|
|
ldr r0, _080300BC
|
|
add r1, sp, 0x14
|
|
bl sub_8090208
|
|
ldr r2, _080300C0
|
|
ldr r3, [r5]
|
|
ldr r1, [r3, 0x4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, 0x10
|
|
b _0803015A
|
|
.align 2, 0
|
|
_080300B4: .4byte 0xffffff00
|
|
_080300B8: .4byte 0xffff00ff
|
|
_080300BC: .4byte gUnknown_202DF98
|
|
_080300C0: .4byte gUnknown_80D9FC8
|
|
_080300C4:
|
|
ldr r3, [r5]
|
|
movs r0, 0xD
|
|
str r0, [r3, 0xC]
|
|
ldr r2, _080300D8
|
|
ldr r1, [r3, 0x4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, 0x18
|
|
b _0803015A
|
|
.align 2, 0
|
|
_080300D8: .4byte gUnknown_80D9FC8
|
|
_080300DC:
|
|
ldr r3, [r5]
|
|
movs r0, 0xD
|
|
str r0, [r3, 0xC]
|
|
ldr r2, _080300F0
|
|
ldr r1, [r3, 0x4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, 0x14
|
|
b _0803015A
|
|
.align 2, 0
|
|
_080300F0: .4byte gUnknown_80D9FC8
|
|
_080300F4:
|
|
ldr r3, [r5]
|
|
movs r0, 0x9
|
|
str r0, [r3, 0xC]
|
|
ldr r2, _08030108
|
|
ldr r1, [r3, 0x4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, 0x1C
|
|
b _0803015A
|
|
.align 2, 0
|
|
_08030108: .4byte gUnknown_80D9FC8
|
|
_0803010C:
|
|
ldr r4, _08030138
|
|
bl sub_808D33C
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
movs r2, 0x6
|
|
bl sub_808D9AC
|
|
ldr r0, _0803013C
|
|
ldr r1, [r0]
|
|
movs r0, 0xB
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0xCB
|
|
bl sub_8011988
|
|
ldr r0, _08030140
|
|
ldr r3, _08030144
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _080301A0
|
|
.align 2, 0
|
|
_08030138: .4byte gPlayerName
|
|
_0803013C: .4byte gUnknown_203B318
|
|
_08030140: .4byte gUnknown_80E0778
|
|
_08030144: .4byte 0x00000101
|
|
_08030148:
|
|
ldr r3, [r5]
|
|
movs r0, 0xD
|
|
str r0, [r3, 0xC]
|
|
ldr r2, _0803016C
|
|
ldr r1, [r3, 0x4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, 0x20
|
|
_0803015A:
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
ldr r2, [r3, 0x68]
|
|
ldr r3, _08030170
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
b _080301A0
|
|
.align 2, 0
|
|
_0803016C: .4byte gUnknown_80D9FC8
|
|
_08030170: .4byte 0x0000010d
|
|
_08030174:
|
|
movs r0, 0x1
|
|
movs r1, 0x49
|
|
movs r2, 0x1
|
|
bl sub_801B60C
|
|
b _080301A0
|
|
_08030180:
|
|
ldr r3, [r5]
|
|
movs r0, 0x1
|
|
str r0, [r3, 0xC]
|
|
ldr r2, _080301A8
|
|
ldr r1, [r3, 0x4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, 0x24
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
ldr r2, [r3, 0x68]
|
|
ldr r3, _080301AC
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
_080301A0:
|
|
add sp, 0x18
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080301A8: .4byte gUnknown_80D9FC8
|
|
_080301AC: .4byte 0x0000010d
|
|
thumb_func_end sub_802FF88
|
|
|
|
thumb_func_start sub_80301B0
|
|
sub_80301B0:
|
|
push {r4,lr}
|
|
ldr r4, _080301F8
|
|
ldr r1, [r4]
|
|
movs r2, 0x2
|
|
str r2, [r1, 0x14]
|
|
ldr r0, _080301FC
|
|
str r0, [r1, 0x18]
|
|
str r2, [r1, 0x1C]
|
|
bl sub_80306A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080301D6
|
|
ldr r0, [r4]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r1, [r0, 0x1C]
|
|
movs r1, 0x1
|
|
str r1, [r0, 0x14]
|
|
_080301D6:
|
|
ldr r1, [r4]
|
|
movs r2, 0x1
|
|
ldr r0, _08030200
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x20]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x24]
|
|
ldr r0, _08030204
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x28]
|
|
str r2, [r1, 0x2C]
|
|
movs r0, 0
|
|
str r0, [r1, 0x30]
|
|
str r2, [r1, 0x34]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080301F8: .4byte gUnknown_203B318
|
|
_080301FC: .4byte gUnknown_80E07D8
|
|
_08030200: .4byte gUnknown_80D4970
|
|
_08030204: .4byte gUnknown_80D4934
|
|
thumb_func_end sub_80301B0
|
|
|
|
thumb_func_start sub_8030208
|
|
sub_8030208:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08030250
|
|
ldr r0, _08030230
|
|
ldr r1, [r0]
|
|
ldr r0, [sp]
|
|
str r0, [r1, 0x14]
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _0803023A
|
|
cmp r0, 0x2
|
|
bgt _08030234
|
|
cmp r0, 0x1
|
|
beq _0803024A
|
|
b _08030250
|
|
.align 2, 0
|
|
_08030230: .4byte gUnknown_203B318
|
|
_08030234:
|
|
cmp r0, 0x3
|
|
beq _08030242
|
|
b _08030250
|
|
_0803023A:
|
|
movs r0, 0x3
|
|
bl sub_802FF04
|
|
b _08030250
|
|
_08030242:
|
|
movs r0, 0xC
|
|
bl sub_802FF04
|
|
b _08030250
|
|
_0803024A:
|
|
movs r0, 0x2
|
|
bl sub_802FF04
|
|
_08030250:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8030208
|
|
|
|
thumb_func_start sub_8030258
|
|
sub_8030258:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_80303AC
|
|
cmp r0, 0x2
|
|
beq _08030288
|
|
cmp r0, 0x2
|
|
bcc _0803029A
|
|
cmp r0, 0x3
|
|
bne _0803029A
|
|
bl sub_8030418
|
|
ldr r1, _08030284
|
|
ldr r1, [r1]
|
|
strh r0, [r1, 0x10]
|
|
bl sub_8030480
|
|
movs r0, 0x5
|
|
bl sub_802FF04
|
|
b _0803029A
|
|
.align 2, 0
|
|
_08030284: .4byte gUnknown_203B318
|
|
_08030288:
|
|
bl sub_8030480
|
|
ldr r0, _080302A0
|
|
ldr r1, [r0]
|
|
ldr r0, _080302A4
|
|
strh r0, [r1, 0x10]
|
|
movs r0, 0x1
|
|
bl sub_802FF04
|
|
_0803029A:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080302A0: .4byte gUnknown_203B318
|
|
_080302A4: .4byte 0x0000ffff
|
|
thumb_func_end sub_8030258
|
|
|
|
thumb_func_start sub_80302A8
|
|
sub_80302A8:
|
|
push {lr}
|
|
bl sub_801B6AC
|
|
cmp r0, 0x1
|
|
bls _080302C0
|
|
cmp r0, 0x3
|
|
bhi _080302C0
|
|
bl sub_801B72C
|
|
movs r0, 0xA
|
|
bl sub_802FF04
|
|
_080302C0:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80302A8
|
|
|
|
thumb_func_start sub_80302C4
|
|
sub_80302C4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080302DC
|
|
ldr r0, _080302E4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0xC]
|
|
bl sub_802FF04
|
|
_080302DC:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080302E4: .4byte gUnknown_203B318
|
|
thumb_func_end sub_80302C4
|
|
|
|
thumb_func_start sub_80302E8
|
|
sub_80302E8:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
mov r8, r2
|
|
bl sub_80306A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08030302
|
|
movs r0, 0
|
|
b _0803039A
|
|
_08030302:
|
|
ldr r4, _080303A4
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
bne _08030314
|
|
movs r0, 0xD0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
_08030314:
|
|
ldr r0, [r4]
|
|
str r5, [r0, 0x64]
|
|
lsls r1, r5, 1
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, 0x6C
|
|
adds r1, r0, r1
|
|
str r1, [r0, 0x68]
|
|
adds r0, 0x6C
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
ldr r2, [r1, 0x64]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x6C
|
|
ldr r0, _080303A8
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldr r2, [r4]
|
|
ldr r1, [r2, 0x68]
|
|
adds r0, r2, 0
|
|
adds r0, 0xCC
|
|
str r0, [r1, 0x14]
|
|
cmp r6, 0
|
|
beq _08030362
|
|
ldr r1, [r2, 0x64]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x74
|
|
adds r1, r0
|
|
ldr r0, [r6]
|
|
str r0, [r1]
|
|
_08030362:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x68]
|
|
mov r1, r8
|
|
bl sub_8012D08
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, [r4]
|
|
adds r4, 0x30
|
|
bl sub_8030668
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
mov r2, r8
|
|
adds r3, r5, 0
|
|
bl sub_8013818
|
|
bl sub_80304C8
|
|
bl sub_803053C
|
|
movs r0, 0x1
|
|
_0803039A:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080303A4: .4byte gUnknown_203B31C
|
|
_080303A8: .4byte gUnknown_80E0804
|
|
thumb_func_end sub_80302E8
|
|
|
|
thumb_func_start sub_80303AC
|
|
sub_80303AC:
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080303C8
|
|
ldr r0, _080303C4
|
|
ldr r0, [r0]
|
|
adds r0, 0x30
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _08030410
|
|
.align 2, 0
|
|
_080303C4: .4byte gUnknown_203B31C
|
|
_080303C8:
|
|
ldr r4, _080303E4
|
|
ldr r0, [r4]
|
|
adds r0, 0x30
|
|
bl GetKeyPress
|
|
cmp r0, 0x1
|
|
beq _080303E8
|
|
cmp r0, 0x2
|
|
bne _080303F2
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _08030410
|
|
.align 2, 0
|
|
_080303E4: .4byte gUnknown_203B31C
|
|
_080303E8:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _08030410
|
|
_080303F2:
|
|
ldr r0, [r4]
|
|
adds r0, 0x30
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08030406
|
|
movs r0, 0
|
|
b _08030410
|
|
_08030406:
|
|
bl sub_80304C8
|
|
bl sub_803053C
|
|
movs r0, 0x1
|
|
_08030410:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80303AC
|
|
|
|
thumb_func_start sub_8030418
|
|
sub_8030418:
|
|
ldr r0, _08030440
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x4E
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
subs r0, 0x2
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
muls r0, r1
|
|
adds r1, r2, 0
|
|
adds r1, 0x48
|
|
movs r3, 0
|
|
ldrsh r1, [r1, r3]
|
|
adds r0, r1
|
|
lsls r0, 1
|
|
adds r0, r2, r0
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_08030440: .4byte gUnknown_203B31C
|
|
thumb_func_end sub_8030418
|
|
|
|
thumb_func_start sub_8030444
|
|
sub_8030444:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8030668
|
|
adds r1, r0, 0
|
|
ldr r5, _0803047C
|
|
ldr r0, [r5]
|
|
adds r2, r0, 0
|
|
adds r2, 0x52
|
|
strh r1, [r2]
|
|
adds r0, 0x30
|
|
bl sub_8013984
|
|
bl sub_80304C8
|
|
bl sub_803053C
|
|
cmp r4, 0
|
|
beq _08030476
|
|
ldr r0, [r5]
|
|
adds r0, 0x30
|
|
bl AddMenuCursorSprite
|
|
_08030476:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803047C: .4byte gUnknown_203B31C
|
|
thumb_func_end sub_8030444
|
|
|
|
thumb_func_start sub_8030480
|
|
sub_8030480:
|
|
push {r4,r5,lr}
|
|
ldr r4, _080304C0
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _080304BA
|
|
ldr r0, [r2, 0x64]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x6C
|
|
ldr r0, _080304C4
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_080304BA:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080304C0: .4byte gUnknown_203B31C
|
|
_080304C4: .4byte gUnknown_80E07EC
|
|
thumb_func_end sub_8030480
|
|
|
|
thumb_func_start sub_80304C8
|
|
sub_80304C8:
|
|
push {r4,lr}
|
|
ldr r4, _08030538
|
|
ldr r0, [r4]
|
|
adds r0, 0xCC
|
|
movs r2, 0
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xCD
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xCE
|
|
movs r1, 0x8
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xCF
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0x4A
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0xC
|
|
bl sub_80095E4
|
|
adds r0, 0x2
|
|
lsls r0, 16
|
|
ldr r2, [r4]
|
|
ldr r3, [r2, 0x64]
|
|
lsls r1, r3, 1
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x7A
|
|
asrs r3, r0, 16
|
|
lsrs r0, 16
|
|
strh r0, [r1]
|
|
ldr r1, [r2, 0x64]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, r0
|
|
adds r3, 0x2
|
|
adds r2, 0x7C
|
|
strh r3, [r2]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x6C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030538: .4byte gUnknown_203B31C
|
|
thumb_func_end sub_80304C8
|
|
|
|
thumb_func_start sub_803053C
|
|
sub_803053C:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x108
|
|
ldr r4, _08030658
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x64]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x64]
|
|
bl sub_80073B8
|
|
ldr r2, _0803065C
|
|
ldr r0, [r4]
|
|
ldr r3, [r0, 0x64]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
ldr r3, [r4]
|
|
adds r0, r3, 0
|
|
adds r0, 0xCE
|
|
ldrb r0, [r0]
|
|
lsls r0, 3
|
|
adds r0, 0x4
|
|
adds r1, r3, 0
|
|
adds r1, 0x4E
|
|
movs r5, 0
|
|
ldrsh r2, [r1, r5]
|
|
adds r2, 0x1
|
|
movs r1, 0x7
|
|
str r1, [sp]
|
|
ldr r1, [r3, 0x64]
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
movs r3, 0x2
|
|
bl sub_8012BC4
|
|
movs r0, 0
|
|
mov r9, r0
|
|
ldr r0, [r4]
|
|
adds r0, 0x4A
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
cmp r9, r0
|
|
bge _0803063E
|
|
mov r8, r4
|
|
_080305A2:
|
|
mov r3, r8
|
|
ldr r1, [r3]
|
|
adds r0, r1, 0
|
|
adds r0, 0x4E
|
|
movs r5, 0
|
|
ldrsh r2, [r0, r5]
|
|
subs r0, 0x2
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
muls r0, r2
|
|
add r0, r9
|
|
lsls r0, 1
|
|
adds r1, r0
|
|
movs r5, 0
|
|
ldrsh r4, [r1, r5]
|
|
adds r0, r4, 0
|
|
bl sub_80A2740
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
adds r0, r4, 0
|
|
bl sub_80A2668
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
adds r0, 0x30
|
|
mov r1, r9
|
|
bl sub_8013800
|
|
adds r6, r0, 0
|
|
movs r5, 0x7
|
|
adds r0, r4, 0
|
|
bl sub_809758C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08030608
|
|
mov r3, r8
|
|
ldr r0, [r3]
|
|
ldr r3, [r0, 0x64]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
adds r1, r6, 0
|
|
ldr r2, _08030660
|
|
bl xxx_call_draw_string
|
|
movs r5, 0x4
|
|
_08030608:
|
|
adds r0, r7, 0
|
|
bl GetDungeonName1
|
|
adds r3, r0, 0
|
|
add r0, sp, 0x8
|
|
ldr r1, _08030664
|
|
adds r2, r5, 0
|
|
bl sub_800D158
|
|
mov r5, r8
|
|
ldr r0, [r5]
|
|
ldr r3, [r0, 0x64]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x10
|
|
adds r1, r6, 0
|
|
add r2, sp, 0x8
|
|
bl xxx_call_draw_string
|
|
movs r0, 0x1
|
|
add r9, r0
|
|
ldr r0, [r5]
|
|
adds r0, 0x4A
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
cmp r9, r0
|
|
blt _080305A2
|
|
_0803063E:
|
|
ldr r0, _08030658
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x64]
|
|
bl sub_80073E0
|
|
add sp, 0x108
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030658: .4byte gUnknown_203B31C
|
|
_0803065C: .4byte gUnknown_80E081C
|
|
_08030660: .4byte gUnknown_80E0824
|
|
_08030664: .4byte gUnknown_80E0828
|
|
thumb_func_end sub_803053C
|
|
|
|
thumb_func_start sub_8030668
|
|
sub_8030668:
|
|
push {r4-r6,lr}
|
|
movs r6, 0
|
|
movs r5, 0
|
|
_0803066E:
|
|
lsls r0, r5, 16
|
|
asrs r4, r0, 16
|
|
adds r0, r4, 0
|
|
bl sub_8097504
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08030690
|
|
adds r0, r4, 0
|
|
bl sub_80A26CC
|
|
ldr r1, _080306A0
|
|
ldr r1, [r1]
|
|
lsls r2, r6, 1
|
|
adds r1, r2
|
|
strh r0, [r1]
|
|
adds r6, 0x1
|
|
_08030690:
|
|
adds r5, 0x1
|
|
cmp r5, 0x16
|
|
ble _0803066E
|
|
adds r0, r6, 0
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080306A0: .4byte gUnknown_203B31C
|
|
thumb_func_end sub_8030668
|
|
|
|
thumb_func_start sub_80306A4
|
|
sub_80306A4:
|
|
movs r0, 0
|
|
bx lr
|
|
thumb_func_end sub_80306A4
|
|
|
|
thumb_func_start sub_80306A8
|
|
sub_80306A8:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
adds r7, r2, 0
|
|
mov r8, r3
|
|
bl sub_8030C20
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080306C4
|
|
movs r0, 0
|
|
b _08030756
|
|
_080306C4:
|
|
ldr r6, _08030760
|
|
movs r0, 0xC4
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r6]
|
|
str r4, [r0, 0x20]
|
|
str r5, [r0, 0x58]
|
|
lsls r1, r5, 1
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, 0x60
|
|
adds r1, r0, r1
|
|
str r1, [r0, 0x5C]
|
|
adds r0, 0x60
|
|
bl sub_8006518
|
|
ldr r1, [r6]
|
|
ldr r2, [r1, 0x58]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x60
|
|
ldr r0, _08030764
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r2, [r6]
|
|
ldr r1, [r2, 0x5C]
|
|
adds r0, r2, 0
|
|
adds r0, 0xC0
|
|
str r0, [r1, 0x14]
|
|
cmp r7, 0
|
|
beq _0803071E
|
|
ldr r1, [r2, 0x58]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x68
|
|
adds r1, r0
|
|
ldr r0, [r7]
|
|
str r0, [r1]
|
|
_0803071E:
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x5C]
|
|
mov r1, r8
|
|
bl sub_8012D08
|
|
bl sub_8004914
|
|
ldr r0, [r6]
|
|
adds r0, 0x60
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, [r6]
|
|
adds r4, 0x24
|
|
bl sub_8030A74
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
mov r2, r8
|
|
adds r3, r5, 0
|
|
bl sub_8013818
|
|
bl sub_80308A0
|
|
bl sub_803092C
|
|
movs r0, 0x1
|
|
_08030756:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08030760: .4byte gUnknown_203B320
|
|
_08030764: .4byte gUnknown_80E0854
|
|
thumb_func_end sub_80306A8
|
|
|
|
thumb_func_start sub_8030768
|
|
sub_8030768:
|
|
push {lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08030784
|
|
ldr r0, _08030780
|
|
ldr r0, [r0]
|
|
adds r0, 0x24
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _080307E6
|
|
.align 2, 0
|
|
_08030780: .4byte gUnknown_203B320
|
|
_08030784:
|
|
ldr r0, _0803079C
|
|
ldr r0, [r0]
|
|
adds r0, 0x24
|
|
bl GetKeyPress
|
|
cmp r0, 0x2
|
|
beq _080307AE
|
|
cmp r0, 0x2
|
|
bgt _080307A0
|
|
cmp r0, 0x1
|
|
beq _080307B8
|
|
b _080307C2
|
|
.align 2, 0
|
|
_0803079C: .4byte gUnknown_203B320
|
|
_080307A0:
|
|
cmp r0, 0x4
|
|
bne _080307C2
|
|
movs r0, 0x4
|
|
bl sub_80119D4
|
|
movs r0, 0x4
|
|
b _080307E6
|
|
_080307AE:
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _080307E6
|
|
_080307B8:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _080307E6
|
|
_080307C2:
|
|
ldr r0, _080307D8
|
|
ldr r0, [r0]
|
|
adds r0, 0x24
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080307DC
|
|
movs r0, 0
|
|
b _080307E6
|
|
.align 2, 0
|
|
_080307D8: .4byte gUnknown_203B320
|
|
_080307DC:
|
|
bl sub_80308A0
|
|
bl sub_803092C
|
|
movs r0, 0x1
|
|
_080307E6:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8030768
|
|
|
|
thumb_func_start sub_80307EC
|
|
sub_80307EC:
|
|
ldr r0, _0803080C
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x42
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
subs r0, 0x2
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
muls r0, r1
|
|
movs r3, 0x3C
|
|
ldrsh r1, [r2, r3]
|
|
adds r0, r1
|
|
adds r2, r0
|
|
ldrb r0, [r2]
|
|
bx lr
|
|
.align 2, 0
|
|
_0803080C: .4byte gUnknown_203B320
|
|
thumb_func_end sub_80307EC
|
|
|
|
thumb_func_start sub_8030810
|
|
sub_8030810:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8030A74
|
|
adds r1, r0, 0
|
|
ldr r5, _08030848
|
|
ldr r0, [r5]
|
|
adds r2, r0, 0
|
|
adds r2, 0x46
|
|
strh r1, [r2]
|
|
adds r0, 0x24
|
|
bl sub_8013984
|
|
bl sub_80308A0
|
|
bl sub_803092C
|
|
cmp r4, 0
|
|
beq _08030842
|
|
ldr r0, [r5]
|
|
adds r0, 0x24
|
|
bl AddMenuCursorSprite
|
|
_08030842:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030848: .4byte gUnknown_203B320
|
|
thumb_func_end sub_8030810
|
|
|
|
thumb_func_start sub_803084C
|
|
sub_803084C:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0803088C
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _08030886
|
|
ldr r0, [r2, 0x58]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x60
|
|
ldr r0, _08030890
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x60
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_08030886:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803088C: .4byte gUnknown_203B320
|
|
_08030890: .4byte gUnknown_80E083C
|
|
thumb_func_end sub_803084C
|
|
|
|
thumb_func_start sub_8030894
|
|
sub_8030894:
|
|
ldr r0, _0803089C
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0803089C: .4byte gUnknown_203B320
|
|
thumb_func_end sub_8030894
|
|
|
|
thumb_func_start sub_80308A0
|
|
sub_80308A0:
|
|
push {r4,lr}
|
|
ldr r4, _08030928
|
|
ldr r0, [r4]
|
|
adds r1, r0, 0
|
|
adds r1, 0x44
|
|
ldrh r1, [r1]
|
|
adds r0, 0xC0
|
|
movs r2, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r1, r0, 0
|
|
adds r1, 0x42
|
|
ldrh r1, [r1]
|
|
adds r0, 0xC1
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xC2
|
|
movs r1, 0xC
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0xC3
|
|
strb r2, [r0]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x60
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
movs r1, 0x3E
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0xC
|
|
bl sub_80095E4
|
|
adds r0, 0x2
|
|
lsls r0, 16
|
|
ldr r2, [r4]
|
|
ldr r3, [r2, 0x58]
|
|
lsls r1, r3, 1
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x6E
|
|
asrs r3, r0, 16
|
|
lsrs r0, 16
|
|
strh r0, [r1]
|
|
ldr r1, [r2, 0x58]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, r0
|
|
adds r3, 0x2
|
|
adds r2, 0x70
|
|
strh r3, [r2]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x60
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030928: .4byte gUnknown_203B320
|
|
thumb_func_end sub_80308A0
|
|
|
|
thumb_func_start sub_803092C
|
|
sub_803092C:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x60
|
|
ldr r7, _08030A24
|
|
ldr r0, [r7]
|
|
ldr r0, [r0, 0x58]
|
|
bl sub_8008C54
|
|
ldr r0, [r7]
|
|
ldr r0, [r0, 0x58]
|
|
bl sub_80073B8
|
|
ldr r1, [r7]
|
|
adds r0, r1, 0
|
|
adds r0, 0x42
|
|
movs r2, 0
|
|
ldrsh r4, [r0, r2]
|
|
lsls r4, 3
|
|
adds r5, r4, 0
|
|
adds r5, 0xA
|
|
ldr r2, _08030A28
|
|
ldr r0, [r1, 0x20]
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldr r2, [r0]
|
|
ldr r3, [r1, 0x58]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
adds r4, 0x4
|
|
ldr r3, [r7]
|
|
adds r0, r3, 0
|
|
adds r0, 0xC2
|
|
ldrb r0, [r0]
|
|
lsls r0, 3
|
|
adds r5, r4, r0
|
|
adds r0, r3, 0
|
|
adds r0, 0x42
|
|
movs r1, 0
|
|
ldrsh r2, [r0, r1]
|
|
adds r2, 0x1
|
|
movs r0, 0x7
|
|
str r0, [sp]
|
|
ldr r0, [r3, 0x58]
|
|
str r0, [sp, 0x4]
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
movs r3, 0x1
|
|
bl sub_8012BC4
|
|
movs r6, 0
|
|
ldr r0, [r7]
|
|
movs r2, 0x3E
|
|
ldrsh r0, [r0, r2]
|
|
cmp r6, r0
|
|
bge _08030A56
|
|
mov r9, r7
|
|
mov r8, r6
|
|
add r7, sp, 0x8
|
|
mov r5, sp
|
|
adds r5, 0x4B
|
|
_080309B0:
|
|
mov r3, r9
|
|
ldr r1, [r3]
|
|
adds r0, r1, 0
|
|
adds r0, 0x42
|
|
movs r3, 0
|
|
ldrsh r2, [r0, r3]
|
|
subs r0, 0x2
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
muls r0, r2
|
|
adds r0, r6
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
bl sub_8095228
|
|
adds r4, r0, 0
|
|
mov r1, r9
|
|
ldr r0, [r1]
|
|
ldr r1, [r0, 0x58]
|
|
str r1, [sp, 0x8]
|
|
adds r0, 0x24
|
|
adds r1, r6, 0
|
|
bl sub_8013800
|
|
str r0, [sp, 0x50]
|
|
add r1, sp, 0x48
|
|
movs r0, 0x7
|
|
strb r0, [r1]
|
|
mov r0, sp
|
|
adds r0, 0x4A
|
|
mov r2, r8
|
|
strb r2, [r0]
|
|
add r0, sp, 0x4C
|
|
strb r2, [r0]
|
|
adds r0, r4, 0x4
|
|
str r0, [sp, 0x10]
|
|
adds r0, 0x10
|
|
str r0, [sp, 0x14]
|
|
ldrh r0, [r4, 0xC]
|
|
strh r0, [r7, 0x10]
|
|
ldrh r0, [r4, 0xC]
|
|
strh r0, [r7, 0x12]
|
|
strb r2, [r7, 0x14]
|
|
subs r1, 0x12
|
|
movs r0, 0x5
|
|
strb r0, [r1]
|
|
ldrb r0, [r4]
|
|
cmp r0, 0x4
|
|
beq _08030A32
|
|
cmp r0, 0x4
|
|
bgt _08030A2C
|
|
cmp r0, 0x2
|
|
bgt _08030A3E
|
|
cmp r0, 0x1
|
|
blt _08030A3E
|
|
movs r0, 0x1
|
|
strb r0, [r5]
|
|
b _08030A42
|
|
.align 2, 0
|
|
_08030A24: .4byte gUnknown_203B320
|
|
_08030A28: .4byte gUnknown_80E086C
|
|
_08030A2C:
|
|
cmp r0, 0x5
|
|
beq _08030A38
|
|
b _08030A3E
|
|
_08030A32:
|
|
movs r0, 0x3
|
|
strb r0, [r5]
|
|
b _08030A42
|
|
_08030A38:
|
|
movs r0, 0x4
|
|
strb r0, [r5]
|
|
b _08030A42
|
|
_08030A3E:
|
|
mov r3, r8
|
|
strb r3, [r5]
|
|
_08030A42:
|
|
add r0, sp, 0x8
|
|
bl sub_803B6D4
|
|
adds r6, 0x1
|
|
mov r1, r9
|
|
ldr r0, [r1]
|
|
movs r2, 0x3E
|
|
ldrsh r0, [r0, r2]
|
|
cmp r6, r0
|
|
blt _080309B0
|
|
_08030A56:
|
|
ldr r0, _08030A70
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x58]
|
|
bl sub_80073E0
|
|
add sp, 0x60
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030A70: .4byte gUnknown_203B320
|
|
thumb_func_end sub_803092C
|
|
|
|
thumb_func_start sub_8030A74
|
|
sub_8030A74:
|
|
push {r4,r5,lr}
|
|
movs r2, 0
|
|
ldr r0, _08030A90
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x20]
|
|
cmp r0, 0x7
|
|
bls _08030A84
|
|
b _08030C0E
|
|
_08030A84:
|
|
lsls r0, 2
|
|
ldr r1, _08030A94
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08030A90: .4byte gUnknown_203B320
|
|
_08030A94: .4byte _08030A98
|
|
.align 2, 0
|
|
_08030A98:
|
|
.4byte _08030AB8
|
|
.4byte _08030B10
|
|
.4byte _08030B3C
|
|
.4byte _08030B94
|
|
.4byte _08030B68
|
|
.4byte _08030BC0
|
|
.4byte _08030AE4
|
|
.4byte _08030BEC
|
|
_08030AB8:
|
|
movs r1, 0
|
|
ldr r5, _08030ADC
|
|
ldr r4, _08030AE0
|
|
movs r3, 0
|
|
_08030AC0:
|
|
ldr r0, [r5]
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08030AD2
|
|
ldr r0, [r4]
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
_08030AD2:
|
|
adds r3, 0x30
|
|
adds r1, 0x1
|
|
cmp r1, 0x1F
|
|
ble _08030AC0
|
|
b _08030C0E
|
|
.align 2, 0
|
|
_08030ADC: .4byte gUnknown_203B480
|
|
_08030AE0: .4byte gUnknown_203B320
|
|
_08030AE4:
|
|
movs r1, 0
|
|
ldr r5, _08030B08
|
|
ldr r4, _08030B0C
|
|
movs r3, 0
|
|
_08030AEC:
|
|
ldr r0, [r5]
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x6
|
|
bne _08030AFE
|
|
ldr r0, [r4]
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
_08030AFE:
|
|
adds r3, 0x30
|
|
adds r1, 0x1
|
|
cmp r1, 0x1F
|
|
ble _08030AEC
|
|
b _08030C0E
|
|
.align 2, 0
|
|
_08030B08: .4byte gUnknown_203B480
|
|
_08030B0C: .4byte gUnknown_203B320
|
|
_08030B10:
|
|
movs r1, 0
|
|
ldr r5, _08030B34
|
|
ldr r4, _08030B38
|
|
movs r3, 0
|
|
_08030B18:
|
|
ldr r0, [r5]
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
bne _08030B2A
|
|
ldr r0, [r4]
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
_08030B2A:
|
|
adds r3, 0x30
|
|
adds r1, 0x1
|
|
cmp r1, 0x1F
|
|
ble _08030B18
|
|
b _08030C0E
|
|
.align 2, 0
|
|
_08030B34: .4byte gUnknown_203B480
|
|
_08030B38: .4byte gUnknown_203B320
|
|
_08030B3C:
|
|
movs r1, 0
|
|
ldr r5, _08030B60
|
|
ldr r4, _08030B64
|
|
movs r3, 0
|
|
_08030B44:
|
|
ldr r0, [r5]
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x2
|
|
bne _08030B56
|
|
ldr r0, [r4]
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
_08030B56:
|
|
adds r3, 0x30
|
|
adds r1, 0x1
|
|
cmp r1, 0x1F
|
|
ble _08030B44
|
|
b _08030C0E
|
|
.align 2, 0
|
|
_08030B60: .4byte gUnknown_203B480
|
|
_08030B64: .4byte gUnknown_203B320
|
|
_08030B68:
|
|
movs r1, 0
|
|
ldr r5, _08030B8C
|
|
ldr r4, _08030B90
|
|
movs r3, 0
|
|
_08030B70:
|
|
ldr r0, [r5]
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x4
|
|
bne _08030B82
|
|
ldr r0, [r4]
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
_08030B82:
|
|
adds r3, 0x30
|
|
adds r1, 0x1
|
|
cmp r1, 0x1F
|
|
ble _08030B70
|
|
b _08030C0E
|
|
.align 2, 0
|
|
_08030B8C: .4byte gUnknown_203B480
|
|
_08030B90: .4byte gUnknown_203B320
|
|
_08030B94:
|
|
movs r1, 0
|
|
ldr r5, _08030BB8
|
|
ldr r4, _08030BBC
|
|
movs r3, 0
|
|
_08030B9C:
|
|
ldr r0, [r5]
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x3
|
|
bne _08030BAE
|
|
ldr r0, [r4]
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
_08030BAE:
|
|
adds r3, 0x30
|
|
adds r1, 0x1
|
|
cmp r1, 0x1F
|
|
ble _08030B9C
|
|
b _08030C0E
|
|
.align 2, 0
|
|
_08030BB8: .4byte gUnknown_203B480
|
|
_08030BBC: .4byte gUnknown_203B320
|
|
_08030BC0:
|
|
movs r1, 0
|
|
ldr r5, _08030BE4
|
|
ldr r4, _08030BE8
|
|
movs r3, 0
|
|
_08030BC8:
|
|
ldr r0, [r5]
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x5
|
|
bne _08030BDA
|
|
ldr r0, [r4]
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
_08030BDA:
|
|
adds r3, 0x30
|
|
adds r1, 0x1
|
|
cmp r1, 0x1F
|
|
ble _08030BC8
|
|
b _08030C0E
|
|
.align 2, 0
|
|
_08030BE4: .4byte gUnknown_203B480
|
|
_08030BE8: .4byte gUnknown_203B320
|
|
_08030BEC:
|
|
movs r1, 0
|
|
ldr r5, _08030C18
|
|
ldr r4, _08030C1C
|
|
movs r3, 0
|
|
_08030BF4:
|
|
ldr r0, [r5]
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x7
|
|
bne _08030C06
|
|
ldr r0, [r4]
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
_08030C06:
|
|
adds r3, 0x30
|
|
adds r1, 0x1
|
|
cmp r1, 0x1F
|
|
ble _08030BF4
|
|
_08030C0E:
|
|
adds r0, r2, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08030C18: .4byte gUnknown_203B480
|
|
_08030C1C: .4byte gUnknown_203B320
|
|
thumb_func_end sub_8030A74
|
|
|
|
thumb_func_start sub_8030C20
|
|
sub_8030C20:
|
|
push {lr}
|
|
cmp r0, 0x7
|
|
bls _08030C28
|
|
b _08030D34
|
|
_08030C28:
|
|
lsls r0, 2
|
|
ldr r1, _08030C34
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08030C34: .4byte _08030C38
|
|
.align 2, 0
|
|
_08030C38:
|
|
.4byte _08030C58
|
|
.4byte _08030C90
|
|
.4byte _08030CAC
|
|
.4byte _08030CE4
|
|
.4byte _08030CC8
|
|
.4byte _08030D00
|
|
.4byte _08030C74
|
|
.4byte _08030D20
|
|
_08030C58:
|
|
movs r1, 0
|
|
ldr r0, _08030C70
|
|
ldr r2, [r0]
|
|
_08030C5E:
|
|
ldrb r0, [r2]
|
|
cmp r0, 0
|
|
bne _08030D1C
|
|
adds r2, 0x30
|
|
adds r1, 0x1
|
|
cmp r1, 0x1F
|
|
ble _08030C5E
|
|
b _08030D34
|
|
.align 2, 0
|
|
_08030C70: .4byte gUnknown_203B480
|
|
_08030C74:
|
|
movs r1, 0
|
|
ldr r0, _08030C8C
|
|
ldr r2, [r0]
|
|
_08030C7A:
|
|
ldrb r0, [r2]
|
|
cmp r0, 0x6
|
|
beq _08030D1C
|
|
adds r2, 0x30
|
|
adds r1, 0x1
|
|
cmp r1, 0x1F
|
|
ble _08030C7A
|
|
b _08030D34
|
|
.align 2, 0
|
|
_08030C8C: .4byte gUnknown_203B480
|
|
_08030C90:
|
|
movs r1, 0
|
|
ldr r0, _08030CA8
|
|
ldr r2, [r0]
|
|
_08030C96:
|
|
ldrb r0, [r2]
|
|
cmp r0, 0x1
|
|
beq _08030D1C
|
|
adds r2, 0x30
|
|
adds r1, 0x1
|
|
cmp r1, 0x1F
|
|
ble _08030C96
|
|
b _08030D34
|
|
.align 2, 0
|
|
_08030CA8: .4byte gUnknown_203B480
|
|
_08030CAC:
|
|
movs r1, 0
|
|
ldr r0, _08030CC4
|
|
ldr r2, [r0]
|
|
_08030CB2:
|
|
ldrb r0, [r2]
|
|
cmp r0, 0x2
|
|
beq _08030D1C
|
|
adds r2, 0x30
|
|
adds r1, 0x1
|
|
cmp r1, 0x1F
|
|
ble _08030CB2
|
|
b _08030D34
|
|
.align 2, 0
|
|
_08030CC4: .4byte gUnknown_203B480
|
|
_08030CC8:
|
|
movs r1, 0
|
|
ldr r0, _08030CE0
|
|
ldr r2, [r0]
|
|
_08030CCE:
|
|
ldrb r0, [r2]
|
|
cmp r0, 0x4
|
|
beq _08030D1C
|
|
adds r2, 0x30
|
|
adds r1, 0x1
|
|
cmp r1, 0x1F
|
|
ble _08030CCE
|
|
b _08030D34
|
|
.align 2, 0
|
|
_08030CE0: .4byte gUnknown_203B480
|
|
_08030CE4:
|
|
movs r1, 0
|
|
ldr r0, _08030CFC
|
|
ldr r2, [r0]
|
|
_08030CEA:
|
|
ldrb r0, [r2]
|
|
cmp r0, 0x3
|
|
beq _08030D1C
|
|
adds r2, 0x30
|
|
adds r1, 0x1
|
|
cmp r1, 0x1F
|
|
ble _08030CEA
|
|
b _08030D34
|
|
.align 2, 0
|
|
_08030CFC: .4byte gUnknown_203B480
|
|
_08030D00:
|
|
movs r1, 0
|
|
ldr r0, _08030D18
|
|
ldr r2, [r0]
|
|
_08030D06:
|
|
ldrb r0, [r2]
|
|
cmp r0, 0x5
|
|
beq _08030D1C
|
|
adds r2, 0x30
|
|
adds r1, 0x1
|
|
cmp r1, 0x1F
|
|
ble _08030D06
|
|
b _08030D34
|
|
.align 2, 0
|
|
_08030D18: .4byte gUnknown_203B480
|
|
_08030D1C:
|
|
movs r0, 0
|
|
b _08030D36
|
|
_08030D20:
|
|
movs r1, 0
|
|
ldr r0, _08030D3C
|
|
ldr r2, [r0]
|
|
_08030D26:
|
|
ldrb r0, [r2]
|
|
cmp r0, 0x7
|
|
beq _08030D1C
|
|
adds r2, 0x30
|
|
adds r1, 0x1
|
|
cmp r1, 0x1F
|
|
ble _08030D26
|
|
_08030D34:
|
|
movs r0, 0x1
|
|
_08030D36:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08030D3C: .4byte gUnknown_203B480
|
|
thumb_func_end sub_8030C20
|
|
|
|
thumb_func_start sub_8030D40
|
|
sub_8030D40:
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r6, _08030D98
|
|
movs r0, 0x78
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r6]
|
|
strb r4, [r0, 0xC]
|
|
ldr r0, [r6]
|
|
bl sub_801317C
|
|
ldr r0, [r6]
|
|
str r5, [r0, 0x10]
|
|
lsls r1, r5, 1
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, 0x18
|
|
adds r1, r0, r1
|
|
str r1, [r0, 0x14]
|
|
adds r0, 0x18
|
|
bl sub_8006518
|
|
ldr r1, [r6]
|
|
ldr r2, [r1, 0x10]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x18
|
|
ldr r0, _08030D9C
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
bl sub_8030DD4
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08030D98: .4byte gUnknown_203B324
|
|
_08030D9C: .4byte gUnknown_80E091C
|
|
thumb_func_end sub_8030D40
|
|
|
|
thumb_func_start sub_8030DA0
|
|
sub_8030DA0:
|
|
push {lr}
|
|
ldr r0, _08030DC0
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, 0x10]
|
|
bl sub_8012A64
|
|
cmp r0, 0x1
|
|
beq _08030DC4
|
|
cmp r0, 0x2
|
|
bne _08030DCE
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _08030DD0
|
|
.align 2, 0
|
|
_08030DC0: .4byte gUnknown_203B324
|
|
_08030DC4:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _08030DD0
|
|
_08030DCE:
|
|
movs r0, 0
|
|
_08030DD0:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8030DA0
|
|
|
|
thumb_func_start sub_8030DD4
|
|
sub_8030DD4:
|
|
push {lr}
|
|
bl sub_8030E2C
|
|
bl sub_8030E48
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8030DD4
|
|
|
|
thumb_func_start sub_8030DE4
|
|
sub_8030DE4:
|
|
push {r4,r5,lr}
|
|
ldr r4, _08030E24
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _08030E1E
|
|
ldr r0, [r2, 0x10]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x18
|
|
ldr r0, _08030E28
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x18
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_08030E1E:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030E24: .4byte gUnknown_203B324
|
|
_08030E28: .4byte gUnknown_80E0900
|
|
thumb_func_end sub_8030DE4
|
|
|
|
thumb_func_start sub_8030E2C
|
|
sub_8030E2C:
|
|
push {lr}
|
|
bl sub_8004914
|
|
ldr r0, _08030E44
|
|
ldr r0, [r0]
|
|
adds r0, 0x18
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030E44: .4byte gUnknown_203B324
|
|
thumb_func_end sub_8030E2C
|
|
|
|
thumb_func_start sub_8030E48
|
|
sub_8030E48:
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
sub sp, 0x15C
|
|
ldr r3, _08030EA8
|
|
ldr r4, _08030EAC
|
|
ldr r2, [r4]
|
|
ldrb r1, [r2, 0xC]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
ldr r1, [r3]
|
|
adds r5, r1, r0
|
|
ldr r0, [r2, 0x10]
|
|
bl sub_80073B8
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x10]
|
|
str r0, [sp, 0x4]
|
|
add r1, sp, 0x44
|
|
movs r2, 0
|
|
movs r0, 0x7
|
|
strb r0, [r1]
|
|
mov r0, sp
|
|
adds r0, 0x46
|
|
strb r2, [r0]
|
|
add r0, sp, 0x48
|
|
strb r2, [r0]
|
|
adds r0, r5, 0x4
|
|
str r0, [sp, 0xC]
|
|
adds r0, 0x10
|
|
str r0, [sp, 0x10]
|
|
add r1, sp, 0x4
|
|
ldrh r0, [r5, 0xC]
|
|
strh r0, [r1, 0x10]
|
|
ldrh r0, [r5, 0xC]
|
|
strh r0, [r1, 0x12]
|
|
adds r0, r1, 0
|
|
strb r2, [r0, 0x14]
|
|
adds r2, r5, 0
|
|
adds r2, 0x22
|
|
ldrb r0, [r2]
|
|
cmp r0, 0
|
|
bne _08030EB0
|
|
adds r1, 0x2E
|
|
movs r0, 0x5
|
|
strb r0, [r1]
|
|
b _08030EBE
|
|
.align 2, 0
|
|
_08030EA8: .4byte gUnknown_203B480
|
|
_08030EAC: .4byte gUnknown_203B324
|
|
_08030EB0:
|
|
mov r1, sp
|
|
adds r1, 0x32
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
ldrb r1, [r2]
|
|
add r0, sp, 0x38
|
|
strb r1, [r0]
|
|
_08030EBE:
|
|
ldrb r0, [r5]
|
|
cmp r0, 0x2
|
|
beq _08030ED2
|
|
cmp r0, 0x2
|
|
ble _08030EE2
|
|
cmp r0, 0x4
|
|
beq _08030ED2
|
|
cmp r0, 0x5
|
|
beq _08030EDA
|
|
b _08030EE2
|
|
_08030ED2:
|
|
mov r1, sp
|
|
adds r1, 0x45
|
|
movs r0, 0xA
|
|
b _08030EE8
|
|
_08030EDA:
|
|
mov r1, sp
|
|
adds r1, 0x45
|
|
movs r0, 0xB
|
|
b _08030EE8
|
|
_08030EE2:
|
|
mov r1, sp
|
|
adds r1, 0x45
|
|
movs r0, 0x9
|
|
_08030EE8:
|
|
strb r0, [r1]
|
|
add r0, sp, 0x4
|
|
bl sub_803B98C
|
|
ldrh r0, [r5, 0x10]
|
|
ldr r1, _08030F48
|
|
bl __umodsi3
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
ldr r2, _08030F4C
|
|
ldr r5, _08030F50
|
|
ldr r0, [r5]
|
|
ldr r3, [r0, 0x10]
|
|
movs r0, 0
|
|
mov r8, r0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
movs r1, 0x68
|
|
bl xxx_call_draw_string
|
|
add r6, sp, 0x5C
|
|
ldr r1, _08030F54
|
|
adds r0, r6, 0
|
|
adds r2, r4, 0
|
|
bl sub_800D158
|
|
ldr r0, [r5]
|
|
ldr r3, [r0, 0x10]
|
|
mov r0, r8
|
|
str r0, [sp]
|
|
movs r0, 0x44
|
|
movs r1, 0x68
|
|
adds r2, r6, 0
|
|
bl xxx_call_draw_string
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x10]
|
|
bl sub_80073E0
|
|
add sp, 0x15C
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08030F48: .4byte 0x00002710
|
|
_08030F4C: .4byte gUnknown_80E0934
|
|
_08030F50: .4byte gUnknown_203B324
|
|
_08030F54: .4byte gUnknown_80E0938
|
|
thumb_func_end sub_8030E48
|
|
|
|
thumb_func_start sub_8030F58
|
|
sub_8030F58:
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r5, _08030FF4
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
bne _08030F88
|
|
movs r4, 0x8E
|
|
lsls r4, 1
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl MemoryFill8
|
|
_08030F88:
|
|
ldr r0, [r5]
|
|
movs r1, 0x8C
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
str r6, [r0]
|
|
movs r0, 0x98
|
|
lsls r0, 1
|
|
bl sub_808DDD0
|
|
ldr r2, [r5]
|
|
movs r4, 0x84
|
|
lsls r4, 1
|
|
adds r1, r2, r4
|
|
str r0, [r1]
|
|
movs r3, 0x86
|
|
lsls r3, 1
|
|
adds r1, r2, r3
|
|
ldr r0, [r0, 0x4]
|
|
str r0, [r1]
|
|
movs r0, 0x8A
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
movs r1, 0
|
|
strb r1, [r2]
|
|
ldr r0, [r5]
|
|
ldr r2, _08030FF8
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
ldr r0, [r5]
|
|
adds r3, 0xA
|
|
adds r0, r3
|
|
strb r1, [r0]
|
|
ldr r2, [r5]
|
|
movs r0, 0x88
|
|
lsls r0, 1
|
|
adds r1, r2, r0
|
|
movs r0, 0x2
|
|
strh r0, [r1]
|
|
subs r3, 0x4
|
|
adds r1, r2, r3
|
|
movs r0, 0x8
|
|
strh r0, [r1]
|
|
adds r0, r6, 0
|
|
bl sub_8030C20
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _08031038
|
|
cmp r6, 0x2
|
|
beq _08030FFC
|
|
cmp r6, 0x4
|
|
beq _08031014
|
|
b _08031022
|
|
.align 2, 0
|
|
_08030FF4: .4byte gUnknown_203B328
|
|
_08030FF8: .4byte 0x00000115
|
|
_08030FFC:
|
|
ldr r0, _0803100C
|
|
ldr r2, [r5]
|
|
adds r2, r4
|
|
ldr r3, _08031010
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
b _08031022
|
|
.align 2, 0
|
|
_0803100C: .4byte gUnknown_80E09D8
|
|
_08031010: .4byte 0x00000101
|
|
_08031014:
|
|
ldr r0, _0803102C
|
|
ldr r2, [r5]
|
|
adds r2, r4
|
|
ldr r3, _08031030
|
|
movs r1, 0
|
|
bl sub_80141B4
|
|
_08031022:
|
|
ldr r0, _08031034
|
|
ldr r1, [r0]
|
|
movs r0, 0x5
|
|
str r0, [r1]
|
|
b _08031048
|
|
.align 2, 0
|
|
_0803102C: .4byte gUnknown_80E0A0C
|
|
_08031030: .4byte 0x00000101
|
|
_08031034: .4byte gUnknown_203B328
|
|
_08031038:
|
|
ldr r0, [r5]
|
|
str r1, [r0]
|
|
adds r0, r6, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x8
|
|
bl sub_80306A8
|
|
_08031048:
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8030F58
|
|
|
|
thumb_func_start sub_8031050
|
|
sub_8031050:
|
|
push {lr}
|
|
ldr r1, _08031068
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r2, r1, 0
|
|
cmp r0, 0x6
|
|
bhi _080310AC
|
|
lsls r0, 2
|
|
ldr r1, _0803106C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08031068: .4byte gUnknown_203B328
|
|
_0803106C: .4byte _08031070
|
|
.align 2, 0
|
|
_08031070:
|
|
.4byte _0803108C
|
|
.4byte _08031092
|
|
.4byte _08031098
|
|
.4byte _08031098
|
|
.4byte _080310A2
|
|
.4byte _080310A8
|
|
.4byte _080310A8
|
|
_0803108C:
|
|
bl sub_8031300
|
|
b _080310AC
|
|
_08031092:
|
|
bl sub_803136C
|
|
b _080310AC
|
|
_08031098:
|
|
ldr r0, [r2]
|
|
ldr r0, [r0]
|
|
bl sub_80313D8
|
|
b _080310AC
|
|
_080310A2:
|
|
bl sub_8031498
|
|
b _080310AC
|
|
_080310A8:
|
|
movs r0, 0x3
|
|
b _080310AE
|
|
_080310AC:
|
|
movs r0, 0
|
|
_080310AE:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8031050
|
|
|
|
thumb_func_start sub_80310B4
|
|
sub_80310B4:
|
|
push {r4,lr}
|
|
bl sub_803084C
|
|
ldr r4, _080310E0
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080310D8
|
|
movs r1, 0x84
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bl CloseFile
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_080310D8:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080310E0: .4byte gUnknown_203B328
|
|
thumb_func_end sub_80310B4
|
|
|
|
thumb_func_start sub_80310E4
|
|
sub_80310E4:
|
|
push {lr}
|
|
ldr r1, _080310F8
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_80310FC
|
|
bl sub_8031258
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080310F8: .4byte gUnknown_203B328
|
|
thumb_func_end sub_80310E4
|
|
|
|
thumb_func_start sub_80310FC
|
|
sub_80310FC:
|
|
push {r4-r6,lr}
|
|
ldr r4, _0803111C
|
|
ldr r0, [r4]
|
|
adds r0, 0xA8
|
|
bl sub_8006518
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x6
|
|
bls _08031112
|
|
b _0803122C
|
|
_08031112:
|
|
lsls r0, 2
|
|
ldr r1, _08031120
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803111C: .4byte gUnknown_203B328
|
|
_08031120: .4byte _08031124
|
|
.align 2, 0
|
|
_08031124:
|
|
.4byte _08031140
|
|
.4byte _08031178
|
|
.4byte _080311C0
|
|
.4byte _080311C0
|
|
.4byte _080311E8
|
|
.4byte _0803122C
|
|
.4byte _0803122C
|
|
_08031140:
|
|
ldr r3, _08031170
|
|
ldr r1, [r3]
|
|
ldr r2, _08031174
|
|
adds r1, 0xC0
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldr r1, [r3]
|
|
adds r1, 0xD8
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldr r0, [r3]
|
|
adds r0, 0xF0
|
|
ldm r2!, {r1,r3,r4}
|
|
stm r0!, {r1,r3,r4}
|
|
ldm r2!, {r1,r5,r6}
|
|
stm r0!, {r1,r5,r6}
|
|
b _0803123A
|
|
.align 2, 0
|
|
_08031170: .4byte gUnknown_203B328
|
|
_08031174: .4byte gUnknown_80E0990
|
|
_08031178:
|
|
ldr r3, _080311B0
|
|
ldr r1, [r3]
|
|
adds r1, 0xC0
|
|
ldr r0, _080311B4
|
|
ldm r0!, {r2,r4,r5}
|
|
stm r1!, {r2,r4,r5}
|
|
ldm r0!, {r2,r4,r6}
|
|
stm r1!, {r2,r4,r6}
|
|
ldr r1, [r3]
|
|
ldr r2, _080311B8
|
|
adds r1, 0xD8
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldr r0, [r3]
|
|
adds r0, 0xF0
|
|
ldm r2!, {r1,r5,r6}
|
|
stm r0!, {r1,r5,r6}
|
|
ldm r2!, {r4-r6}
|
|
stm r0!, {r4-r6}
|
|
ldr r0, [r3]
|
|
adds r0, 0xC0
|
|
ldr r1, _080311BC
|
|
bl sub_8012CAC
|
|
b _0803123A
|
|
.align 2, 0
|
|
_080311B0: .4byte gUnknown_203B328
|
|
_080311B4: .4byte gUnknown_80E09A8
|
|
_080311B8: .4byte gUnknown_80E0990
|
|
_080311BC: .4byte gUnknown_80E0968
|
|
_080311C0:
|
|
ldr r2, _080311DC
|
|
ldr r1, [r2]
|
|
adds r1, 0xD8
|
|
ldr r0, _080311E0
|
|
ldm r0!, {r3-r5}
|
|
stm r1!, {r3-r5}
|
|
ldm r0!, {r3,r4,r6}
|
|
stm r1!, {r3,r4,r6}
|
|
ldr r0, [r2]
|
|
adds r0, 0xD8
|
|
ldr r1, _080311E4
|
|
bl sub_8012CAC
|
|
b _0803123A
|
|
.align 2, 0
|
|
_080311DC: .4byte gUnknown_203B328
|
|
_080311E0: .4byte gUnknown_80E09C0
|
|
_080311E4: .4byte gUnknown_80E0948
|
|
_080311E8:
|
|
ldr r3, _08031224
|
|
ldr r1, [r3]
|
|
ldr r2, _08031228
|
|
adds r1, 0xA8
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldr r1, [r3]
|
|
adds r1, 0xC0
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldr r1, [r3]
|
|
adds r1, 0xD8
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldr r0, [r3]
|
|
adds r0, 0xF0
|
|
ldm r2!, {r1,r5,r6}
|
|
stm r0!, {r1,r5,r6}
|
|
ldm r2!, {r3-r5}
|
|
stm r0!, {r3-r5}
|
|
b _0803123A
|
|
.align 2, 0
|
|
_08031224: .4byte gUnknown_203B328
|
|
_08031228: .4byte gUnknown_80E0990
|
|
_0803122C:
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
_0803123A:
|
|
bl sub_8004914
|
|
ldr r0, _08031254
|
|
ldr r0, [r0]
|
|
adds r0, 0xA8
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08031254: .4byte gUnknown_203B328
|
|
thumb_func_end sub_80310FC
|
|
|
|
thumb_func_start sub_8031258
|
|
sub_8031258:
|
|
push {r4,lr}
|
|
sub sp, 0x8
|
|
ldr r1, _08031274
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r2, r1, 0
|
|
cmp r0, 0x6
|
|
bhi _080312F6
|
|
lsls r0, 2
|
|
ldr r1, _08031278
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08031274: .4byte gUnknown_203B328
|
|
_08031278: .4byte _0803127C
|
|
.align 2, 0
|
|
_0803127C:
|
|
.4byte _08031298
|
|
.4byte _080312A0
|
|
.4byte _080312BC
|
|
.4byte _080312BC
|
|
.4byte _080312EC
|
|
.4byte _080312F6
|
|
.4byte _080312F6
|
|
_08031298:
|
|
movs r0, 0x1
|
|
bl sub_8030810
|
|
b _080312F6
|
|
_080312A0:
|
|
bl sub_803092C
|
|
ldr r0, _080312B4
|
|
ldr r0, [r0]
|
|
adds r0, 0x8
|
|
ldr r1, _080312B8
|
|
movs r2, 0x4
|
|
str r2, [sp]
|
|
movs r2, 0x1
|
|
b _080312D8
|
|
.align 2, 0
|
|
_080312B4: .4byte gUnknown_203B328
|
|
_080312B8: .4byte gUnknown_80E0968
|
|
_080312BC:
|
|
bl sub_803092C
|
|
ldr r4, _080312E4
|
|
ldr r0, [r4]
|
|
adds r0, 0x8
|
|
movs r1, 0
|
|
bl sub_8012EA4
|
|
ldr r0, [r4]
|
|
adds r0, 0x58
|
|
ldr r1, _080312E8
|
|
movs r2, 0x3
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
_080312D8:
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8012D60
|
|
b _080312F6
|
|
.align 2, 0
|
|
_080312E4: .4byte gUnknown_203B328
|
|
_080312E8: .4byte gUnknown_80E0948
|
|
_080312EC:
|
|
ldr r0, [r2]
|
|
ldrb r0, [r0, 0x4]
|
|
movs r1, 0x3
|
|
bl sub_8030D40
|
|
_080312F6:
|
|
add sp, 0x8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8031258
|
|
|
|
thumb_func_start sub_8031300
|
|
sub_8031300:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_8030768
|
|
cmp r0, 0x4
|
|
bhi _08031366
|
|
lsls r0, 2
|
|
ldr r1, _08031318
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08031318: .4byte _0803131C
|
|
.align 2, 0
|
|
_0803131C:
|
|
.4byte _08031366
|
|
.4byte _08031366
|
|
.4byte _08031360
|
|
.4byte _08031330
|
|
.4byte _08031348
|
|
_08031330:
|
|
bl sub_80307EC
|
|
ldr r1, _08031344
|
|
ldr r1, [r1]
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x1
|
|
bl sub_80310E4
|
|
b _08031366
|
|
.align 2, 0
|
|
_08031344: .4byte gUnknown_203B328
|
|
_08031348:
|
|
bl sub_80307EC
|
|
ldr r1, _0803135C
|
|
ldr r1, [r1]
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x4
|
|
bl sub_80310E4
|
|
b _08031366
|
|
.align 2, 0
|
|
_0803135C: .4byte gUnknown_203B328
|
|
_08031360:
|
|
movs r0, 0x6
|
|
bl sub_80310E4
|
|
_08031366:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8031300
|
|
|
|
thumb_func_start sub_803136C
|
|
sub_803136C:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_8030768
|
|
ldr r4, _080313A4
|
|
ldr r0, [r4]
|
|
adds r0, 0x8
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08031392
|
|
ldr r0, [r4]
|
|
adds r0, 0x8
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_08031392:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x4
|
|
beq _080313C2
|
|
cmp r0, 0x4
|
|
bgt _080313A8
|
|
cmp r0, 0x1
|
|
beq _080313B2
|
|
b _080313D0
|
|
.align 2, 0
|
|
_080313A4: .4byte gUnknown_203B328
|
|
_080313A8:
|
|
cmp r0, 0x5
|
|
beq _080313CA
|
|
cmp r0, 0x6
|
|
beq _080313BA
|
|
b _080313D0
|
|
_080313B2:
|
|
movs r0, 0
|
|
bl sub_80310E4
|
|
b _080313D0
|
|
_080313BA:
|
|
movs r0, 0x3
|
|
bl sub_80310E4
|
|
b _080313D0
|
|
_080313C2:
|
|
movs r0, 0x2
|
|
bl sub_80310E4
|
|
b _080313D0
|
|
_080313CA:
|
|
movs r0, 0x4
|
|
bl sub_80310E4
|
|
_080313D0:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803136C
|
|
|
|
thumb_func_start sub_80313D8
|
|
sub_80313D8:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
adds r5, r0, 0
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_8030768
|
|
ldr r4, _08031418
|
|
ldr r0, [r4]
|
|
adds r0, 0x8
|
|
bl sub_8012FD8
|
|
ldr r0, [r4]
|
|
adds r0, 0x58
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08031408
|
|
ldr r0, [r4]
|
|
adds r0, 0x58
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_08031408:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _08031428
|
|
cmp r0, 0x2
|
|
bgt _0803141C
|
|
cmp r0, 0x1
|
|
beq _08031420
|
|
b _0803148E
|
|
.align 2, 0
|
|
_08031418: .4byte gUnknown_203B328
|
|
_0803141C:
|
|
cmp r0, 0x3
|
|
bne _0803148E
|
|
_08031420:
|
|
movs r0, 0
|
|
bl sub_80310E4
|
|
b _0803148E
|
|
_08031428:
|
|
cmp r5, 0x2
|
|
beq _08031432
|
|
cmp r5, 0x3
|
|
beq _0803143C
|
|
b _0803145A
|
|
_08031432:
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x4]
|
|
bl sub_8095240
|
|
b _0803145A
|
|
_0803143C:
|
|
ldr r4, _08031480
|
|
movs r3, 0
|
|
movs r1, 0
|
|
movs r2, 0x1F
|
|
_08031444:
|
|
ldr r0, [r4]
|
|
adds r0, r1
|
|
strb r3, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, r1
|
|
adds r0, 0x22
|
|
strb r3, [r0]
|
|
adds r1, 0x30
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _08031444
|
|
_0803145A:
|
|
ldr r0, _08031484
|
|
ldr r0, [r0]
|
|
movs r1, 0x8C
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0x2
|
|
beq _0803146E
|
|
cmp r0, 0x4
|
|
bne _0803148E
|
|
_0803146E:
|
|
bl sub_8030C20
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08031488
|
|
movs r0, 0x5
|
|
bl sub_80310E4
|
|
b _0803148E
|
|
.align 2, 0
|
|
_08031480: .4byte gUnknown_203B480
|
|
_08031484: .4byte gUnknown_203B328
|
|
_08031488:
|
|
movs r0, 0
|
|
bl sub_80310E4
|
|
_0803148E:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80313D8
|
|
|
|
thumb_func_start sub_8031498
|
|
sub_8031498:
|
|
push {lr}
|
|
bl sub_8030DA0
|
|
cmp r0, 0x1
|
|
bls _080314B0
|
|
cmp r0, 0x3
|
|
bhi _080314B0
|
|
bl sub_8030DE4
|
|
movs r0, 0
|
|
bl sub_80310E4
|
|
_080314B0:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8031498
|
|
|
|
thumb_func_start sub_80314B4
|
|
sub_80314B4:
|
|
push {r4-r6,lr}
|
|
lsls r0, 16
|
|
asrs r5, r0, 16
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r6, _08031534
|
|
movs r0, 0x18
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r6]
|
|
ldr r0, _08031538
|
|
adds r1, r5, 0
|
|
bl sub_808D8E0
|
|
adds r0, r5, 0
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r0, _0803153C
|
|
bl strcpy
|
|
ldr r0, [r6]
|
|
movs r4, 0
|
|
str r4, [r0, 0x8]
|
|
str r4, [r0, 0xC]
|
|
cmp r5, 0
|
|
beq _0803151E
|
|
adds r0, r5, 0
|
|
bl sub_808DDD0
|
|
ldr r1, [r6]
|
|
str r0, [r1, 0x8]
|
|
strb r4, [r1, 0x14]
|
|
ldr r0, [r6]
|
|
strb r4, [r0, 0x15]
|
|
ldr r0, [r6]
|
|
strb r4, [r0, 0x16]
|
|
ldr r1, [r6]
|
|
movs r0, 0x2
|
|
strh r0, [r1, 0x10]
|
|
movs r0, 0x8
|
|
strh r0, [r1, 0x12]
|
|
ldr r0, [r1, 0x8]
|
|
cmp r0, 0
|
|
beq _0803151E
|
|
ldr r0, [r0, 0x4]
|
|
str r0, [r1, 0xC]
|
|
_0803151E:
|
|
ldr r0, _08031534
|
|
ldr r1, [r0]
|
|
movs r0, 0
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0x1
|
|
bl sub_80317C0
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08031534: .4byte gUnknown_203B32C
|
|
_08031538: .4byte gUnknown_202E5D8
|
|
_0803153C: .4byte gUnknown_202DF98
|
|
thumb_func_end sub_80314B4
|
|
|
|
thumb_func_start sub_8031540
|
|
sub_8031540:
|
|
push {lr}
|
|
ldr r0, _08031558
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x9
|
|
bhi _080315BA
|
|
lsls r0, 2
|
|
ldr r1, _0803155C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08031558: .4byte gUnknown_203B32C
|
|
_0803155C: .4byte _08031560
|
|
.align 2, 0
|
|
_08031560:
|
|
.4byte _080315AC
|
|
.4byte _08031588
|
|
.4byte _08031588
|
|
.4byte _0803158E
|
|
.4byte _08031594
|
|
.4byte _0803159A
|
|
.4byte _080315A0
|
|
.4byte _080315A6
|
|
.4byte _080315B0
|
|
.4byte _080315B6
|
|
_08031588:
|
|
bl sub_80317D8
|
|
b _080315BA
|
|
_0803158E:
|
|
bl sub_8031848
|
|
b _080315BA
|
|
_08031594:
|
|
bl sub_8031864
|
|
b _080315BA
|
|
_0803159A:
|
|
bl sub_80318D0
|
|
b _080315BA
|
|
_080315A0:
|
|
bl sub_80318EC
|
|
b _080315BA
|
|
_080315A6:
|
|
bl sub_803192C
|
|
b _080315BA
|
|
_080315AC:
|
|
movs r0, 0x3
|
|
b _080315BC
|
|
_080315B0:
|
|
bl sub_8031948
|
|
b _080315BA
|
|
_080315B6:
|
|
bl sub_8031988
|
|
_080315BA:
|
|
movs r0, 0
|
|
_080315BC:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8031540
|
|
|
|
thumb_func_start sub_80315C0
|
|
sub_80315C0:
|
|
push {r4,lr}
|
|
ldr r4, _080315E4
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080315DE
|
|
ldr r0, [r0, 0x8]
|
|
cmp r0, 0
|
|
beq _080315D4
|
|
bl CloseFile
|
|
_080315D4:
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_080315DE:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080315E4: .4byte gUnknown_203B32C
|
|
thumb_func_end sub_80315C0
|
|
|
|
thumb_func_start nullsub_39
|
|
nullsub_39:
|
|
bx lr
|
|
thumb_func_end nullsub_39
|
|
|
|
thumb_func_start sub_80315EC
|
|
sub_80315EC:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x14
|
|
movs r5, 0
|
|
ldr r0, _08031618
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, 0x8]
|
|
adds r3, r0, 0
|
|
cmp r1, 0
|
|
beq _08031602
|
|
adds r5, r2, 0
|
|
adds r5, 0x8
|
|
_08031602:
|
|
ldrb r0, [r2]
|
|
subs r0, 0x1
|
|
cmp r0, 0x8
|
|
bls _0803160C
|
|
b _080317B0
|
|
_0803160C:
|
|
lsls r0, 2
|
|
ldr r1, _0803161C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08031618: .4byte gUnknown_203B32C
|
|
_0803161C: .4byte _08031620
|
|
.align 2, 0
|
|
_08031620:
|
|
.4byte _08031700
|
|
.4byte _08031714
|
|
.4byte _08031728
|
|
.4byte _08031758
|
|
.4byte _08031780
|
|
.4byte _08031694
|
|
.4byte _080316A8
|
|
.4byte _08031644
|
|
.4byte _08031658
|
|
_08031644:
|
|
ldr r0, _08031650
|
|
ldr r1, [r3]
|
|
ldr r2, [r1, 0x4]
|
|
ldr r3, _08031654
|
|
b _08031760
|
|
.align 2, 0
|
|
_08031650: .4byte gUnknown_80E0C4C
|
|
_08031654: .4byte gUnknown_80E0BD4
|
|
_08031658:
|
|
ldr r0, [r3]
|
|
ldr r0, [r0, 0x4]
|
|
cmp r0, 0x10
|
|
beq _0803167C
|
|
cmp r0, 0x10
|
|
bgt _0803166A
|
|
cmp r0, 0xF
|
|
beq _08031674
|
|
b _080317B0
|
|
_0803166A:
|
|
cmp r0, 0x11
|
|
beq _08031684
|
|
cmp r0, 0x12
|
|
beq _0803168C
|
|
b _080317B0
|
|
_08031674:
|
|
ldr r0, _08031678
|
|
b _08031790
|
|
.align 2, 0
|
|
_08031678: .4byte gUnknown_80E0C70
|
|
_0803167C:
|
|
ldr r0, _08031680
|
|
b _08031790
|
|
.align 2, 0
|
|
_08031680: .4byte gUnknown_80E0DD0
|
|
_08031684:
|
|
ldr r0, _08031688
|
|
b _08031790
|
|
.align 2, 0
|
|
_08031688: .4byte gUnknown_80E0ED8
|
|
_0803168C:
|
|
ldr r0, _08031690
|
|
b _08031790
|
|
.align 2, 0
|
|
_08031690: .4byte gUnknown_80E10C8
|
|
_08031694:
|
|
ldr r0, _080316A0
|
|
ldr r1, [r3]
|
|
ldr r2, [r1, 0x4]
|
|
ldr r3, _080316A4
|
|
b _08031760
|
|
.align 2, 0
|
|
_080316A0: .4byte gUnknown_80E0C4C
|
|
_080316A4: .4byte gUnknown_80E0B3C
|
|
_080316A8:
|
|
ldr r0, [r3]
|
|
ldr r0, [r0, 0x4]
|
|
subs r0, 0xA
|
|
cmp r0, 0x4
|
|
bls _080316B4
|
|
b _080317B0
|
|
_080316B4:
|
|
lsls r0, 2
|
|
ldr r1, _080316C0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080316C0: .4byte _080316C4
|
|
.align 2, 0
|
|
_080316C4:
|
|
.4byte _080316D8
|
|
.4byte _080316E0
|
|
.4byte _080316F0
|
|
.4byte _080316E8
|
|
.4byte _080316F8
|
|
_080316D8:
|
|
ldr r0, _080316DC
|
|
b _08031790
|
|
.align 2, 0
|
|
_080316DC: .4byte gUnknown_80E120C
|
|
_080316E0:
|
|
ldr r0, _080316E4
|
|
b _08031790
|
|
.align 2, 0
|
|
_080316E4: .4byte gUnknown_80E136C
|
|
_080316E8:
|
|
ldr r0, _080316EC
|
|
b _08031790
|
|
.align 2, 0
|
|
_080316EC: .4byte gUnknown_80E1420
|
|
_080316F0:
|
|
ldr r0, _080316F4
|
|
b _08031790
|
|
.align 2, 0
|
|
_080316F4: .4byte gUnknown_80E157C
|
|
_080316F8:
|
|
ldr r0, _080316FC
|
|
b _08031790
|
|
.align 2, 0
|
|
_080316FC: .4byte gUnknown_80E169C
|
|
_08031700:
|
|
ldr r0, _0803170C
|
|
ldr r1, [r3]
|
|
ldr r2, [r1, 0x4]
|
|
ldr r3, _08031710
|
|
b _08031760
|
|
.align 2, 0
|
|
_0803170C: .4byte gUnknown_80E17C8
|
|
_08031710: .4byte gUnknown_80E0A48
|
|
_08031714:
|
|
ldr r0, _08031720
|
|
ldr r1, [r3]
|
|
ldr r2, [r1, 0x4]
|
|
ldr r3, _08031724
|
|
b _08031760
|
|
.align 2, 0
|
|
_08031720: .4byte gUnknown_80E183C
|
|
_08031724: .4byte gUnknown_80E0A48
|
|
_08031728:
|
|
ldr r0, [r3]
|
|
ldr r0, [r0, 0x4]
|
|
cmp r0, 0x1
|
|
beq _08031748
|
|
cmp r0, 0x1
|
|
bgt _0803173A
|
|
cmp r0, 0
|
|
beq _08031740
|
|
b _080317B0
|
|
_0803173A:
|
|
cmp r0, 0x2
|
|
beq _08031750
|
|
b _080317B0
|
|
_08031740:
|
|
ldr r0, _08031744
|
|
b _08031790
|
|
.align 2, 0
|
|
_08031744: .4byte gUnknown_80E1868
|
|
_08031748:
|
|
ldr r0, _0803174C
|
|
b _08031790
|
|
.align 2, 0
|
|
_0803174C: .4byte gUnknown_80E1A30
|
|
_08031750:
|
|
ldr r0, _08031754
|
|
b _08031790
|
|
.align 2, 0
|
|
_08031754: .4byte gUnknown_80E1AD8
|
|
_08031758:
|
|
ldr r0, _08031778
|
|
ldr r1, [r3]
|
|
ldr r2, [r1, 0x4]
|
|
ldr r3, _0803177C
|
|
_08031760:
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
str r5, [sp, 0xC]
|
|
movs r1, 0xC
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
bl sub_8014248
|
|
b _080317B0
|
|
.align 2, 0
|
|
_08031778: .4byte gUnknown_80E0C4C
|
|
_0803177C: .4byte gUnknown_80E0ABC
|
|
_08031780:
|
|
ldr r0, [r3]
|
|
ldr r0, [r0, 0x4]
|
|
cmp r0, 0x6
|
|
beq _0803178E
|
|
cmp r0, 0x9
|
|
beq _080317A4
|
|
b _080317B0
|
|
_0803178E:
|
|
ldr r0, _0803179C
|
|
_08031790:
|
|
ldr r3, _080317A0
|
|
movs r1, 0
|
|
adds r2, r5, 0
|
|
bl sub_80141B4
|
|
b _080317B0
|
|
.align 2, 0
|
|
_0803179C: .4byte gUnknown_80E1B88
|
|
_080317A0: .4byte 0x0000010d
|
|
_080317A4:
|
|
ldr r0, _080317B8
|
|
ldr r3, _080317BC
|
|
movs r1, 0
|
|
adds r2, r5, 0
|
|
bl sub_80141B4
|
|
_080317B0:
|
|
add sp, 0x14
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080317B8: .4byte gUnknown_80E1D84
|
|
_080317BC: .4byte 0x0000010d
|
|
thumb_func_end sub_80315EC
|
|
|
|
thumb_func_start sub_80317C0
|
|
sub_80317C0:
|
|
push {lr}
|
|
ldr r1, _080317D4
|
|
ldr r1, [r1]
|
|
strb r0, [r1]
|
|
bl nullsub_39
|
|
bl sub_80315EC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080317D4: .4byte gUnknown_203B32C
|
|
thumb_func_end sub_80317C0
|
|
|
|
thumb_func_start sub_80317D8
|
|
sub_80317D8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803183C
|
|
ldr r2, [sp]
|
|
cmp r2, 0x5
|
|
bhi _0803183C
|
|
lsls r0, r2, 2
|
|
ldr r1, _080317F8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080317F8: .4byte _080317FC
|
|
.align 2, 0
|
|
_080317FC:
|
|
.4byte _08031830
|
|
.4byte _08031830
|
|
.4byte _08031830
|
|
.4byte _0803181C
|
|
.4byte _08031814
|
|
.4byte _08031814
|
|
_08031814:
|
|
movs r0, 0
|
|
bl sub_80317C0
|
|
b _0803183C
|
|
_0803181C:
|
|
ldr r0, _0803182C
|
|
ldr r0, [r0]
|
|
str r2, [r0, 0x4]
|
|
movs r0, 0x4
|
|
bl sub_80317C0
|
|
b _0803183C
|
|
.align 2, 0
|
|
_0803182C: .4byte gUnknown_203B32C
|
|
_08031830:
|
|
ldr r0, _08031844
|
|
ldr r0, [r0]
|
|
str r2, [r0, 0x4]
|
|
movs r0, 0x3
|
|
bl sub_80317C0
|
|
_0803183C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08031844: .4byte gUnknown_203B32C
|
|
thumb_func_end sub_80317D8
|
|
|
|
thumb_func_start sub_8031848
|
|
sub_8031848:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803185C
|
|
movs r0, 0x2
|
|
bl sub_80317C0
|
|
_0803185C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8031848
|
|
|
|
thumb_func_start sub_8031864
|
|
sub_8031864:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080318C4
|
|
ldr r0, [sp]
|
|
subs r1, r0, 0x5
|
|
adds r2, r0, 0
|
|
cmp r1, 0x4
|
|
bhi _080318C4
|
|
lsls r0, r1, 2
|
|
ldr r1, _08031888
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08031888: .4byte _0803188C
|
|
.align 2, 0
|
|
_0803188C:
|
|
.4byte _080318A0
|
|
.4byte _080318B8
|
|
.4byte _080318A8
|
|
.4byte _080318B0
|
|
.4byte _080318B8
|
|
_080318A0:
|
|
movs r0, 0x2
|
|
bl sub_80317C0
|
|
b _080318C4
|
|
_080318A8:
|
|
movs r0, 0x6
|
|
bl sub_80317C0
|
|
b _080318C4
|
|
_080318B0:
|
|
movs r0, 0x8
|
|
bl sub_80317C0
|
|
b _080318C4
|
|
_080318B8:
|
|
ldr r0, _080318CC
|
|
ldr r0, [r0]
|
|
str r2, [r0, 0x4]
|
|
movs r0, 0x5
|
|
bl sub_80317C0
|
|
_080318C4:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080318CC: .4byte gUnknown_203B32C
|
|
thumb_func_end sub_8031864
|
|
|
|
thumb_func_start sub_80318D0
|
|
sub_80318D0:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080318E4
|
|
movs r0, 0x4
|
|
bl sub_80317C0
|
|
_080318E4:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80318D0
|
|
|
|
thumb_func_start sub_80318EC
|
|
sub_80318EC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08031920
|
|
ldr r1, [sp]
|
|
cmp r1, 0x5
|
|
bne _08031908
|
|
movs r0, 0x4
|
|
bl sub_80317C0
|
|
b _08031920
|
|
_08031908:
|
|
cmp r1, 0x5
|
|
blt _08031920
|
|
cmp r1, 0xE
|
|
bgt _08031920
|
|
cmp r1, 0xA
|
|
blt _08031920
|
|
ldr r0, _08031928
|
|
ldr r0, [r0]
|
|
str r1, [r0, 0x4]
|
|
movs r0, 0x7
|
|
bl sub_80317C0
|
|
_08031920:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08031928: .4byte gUnknown_203B32C
|
|
thumb_func_end sub_80318EC
|
|
|
|
thumb_func_start sub_803192C
|
|
sub_803192C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08031940
|
|
movs r0, 0x6
|
|
bl sub_80317C0
|
|
_08031940:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803192C
|
|
|
|
thumb_func_start sub_8031948
|
|
sub_8031948:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803197C
|
|
ldr r1, [sp]
|
|
cmp r1, 0x5
|
|
bne _08031964
|
|
movs r0, 0x4
|
|
bl sub_80317C0
|
|
b _0803197C
|
|
_08031964:
|
|
cmp r1, 0x5
|
|
blt _0803197C
|
|
cmp r1, 0x12
|
|
bgt _0803197C
|
|
cmp r1, 0xF
|
|
blt _0803197C
|
|
ldr r0, _08031984
|
|
ldr r0, [r0]
|
|
str r1, [r0, 0x4]
|
|
movs r0, 0x9
|
|
bl sub_80317C0
|
|
_0803197C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08031984: .4byte gUnknown_203B32C
|
|
thumb_func_end sub_8031948
|
|
|
|
thumb_func_start sub_8031988
|
|
sub_8031988:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803199C
|
|
movs r0, 0x8
|
|
bl sub_80317C0
|
|
_0803199C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8031988
|
|
|
|
thumb_func_start sub_80319A4
|
|
sub_80319A4:
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
mov r8, r2
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldr r6, _080319F4
|
|
movs r0, 0x78
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r6]
|
|
strb r4, [r0, 0xC]
|
|
ldr r0, [r6]
|
|
strb r5, [r0, 0xD]
|
|
ldr r0, [r6]
|
|
bl sub_801317C
|
|
ldr r1, [r6]
|
|
mov r0, r8
|
|
str r0, [r1, 0x10]
|
|
lsls r0, 1
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, 0x18
|
|
adds r0, r1, r0
|
|
str r0, [r1, 0x14]
|
|
bl sub_8031A2C
|
|
movs r0, 0x1
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080319F4: .4byte gUnknown_203B330
|
|
thumb_func_end sub_80319A4
|
|
|
|
thumb_func_start sub_80319F8
|
|
sub_80319F8:
|
|
push {lr}
|
|
ldr r0, _08031A18
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, 0x10]
|
|
bl sub_8012A64
|
|
cmp r0, 0x1
|
|
beq _08031A1C
|
|
cmp r0, 0x2
|
|
bne _08031A26
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _08031A28
|
|
.align 2, 0
|
|
_08031A18: .4byte gUnknown_203B330
|
|
_08031A1C:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _08031A28
|
|
_08031A26:
|
|
movs r0, 0
|
|
_08031A28:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80319F8
|
|
|
|
thumb_func_start sub_8031A2C
|
|
sub_8031A2C:
|
|
push {lr}
|
|
bl sub_8031A84
|
|
bl sub_8031AE8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8031A2C
|
|
|
|
thumb_func_start sub_8031A3C
|
|
sub_8031A3C:
|
|
push {r4,r5,lr}
|
|
ldr r4, _08031A7C
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _08031A76
|
|
ldr r0, [r2, 0x10]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x18
|
|
ldr r0, _08031A80
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x18
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_08031A76:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08031A7C: .4byte gUnknown_203B330
|
|
_08031A80: .4byte gUnknown_80E1EFC
|
|
thumb_func_end sub_8031A3C
|
|
|
|
thumb_func_start sub_8031A84
|
|
sub_8031A84:
|
|
push {r4,r5,lr}
|
|
ldr r4, _08031AE0
|
|
ldr r0, [r4]
|
|
adds r0, 0x18
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
ldr r2, [r1, 0x10]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x18
|
|
ldr r0, _08031AE4
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0xC]
|
|
cmp r0, 0x2
|
|
bne _08031AC6
|
|
ldrb r0, [r1, 0xD]
|
|
bl sub_80969D0
|
|
adds r1, r0, 0
|
|
cmp r1, 0
|
|
bne _08031ABE
|
|
movs r1, 0x1
|
|
_08031ABE:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x14]
|
|
bl sub_8012D08
|
|
_08031AC6:
|
|
bl sub_8004914
|
|
ldr r0, _08031AE0
|
|
ldr r0, [r0]
|
|
adds r0, 0x18
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08031AE0: .4byte gUnknown_203B330
|
|
_08031AE4: .4byte gUnknown_80E1F18
|
|
thumb_func_end sub_8031A84
|
|
|
|
thumb_func_start sub_8031AE8
|
|
sub_8031AE8:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0xDC
|
|
ldr r7, _08031B24
|
|
ldr r0, [r7]
|
|
ldr r0, [r0, 0x10]
|
|
bl sub_80073B8
|
|
ldr r2, _08031B28
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x10]
|
|
movs r6, 0
|
|
str r6, [sp]
|
|
movs r0, 0xA
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
ldr r1, [r7]
|
|
ldrb r0, [r1, 0xC]
|
|
cmp r0, 0x1
|
|
beq _08031B2C
|
|
cmp r0, 0x1
|
|
bgt _08031B1E
|
|
b _08031CD4
|
|
_08031B1E:
|
|
cmp r0, 0x2
|
|
beq _08031B94
|
|
b _08031CD4
|
|
.align 2, 0
|
|
_08031B24: .4byte gUnknown_203B330
|
|
_08031B28: .4byte gUnknown_80E1F30
|
|
_08031B2C:
|
|
add r4, sp, 0x68
|
|
adds r0, r4, 0
|
|
bl sub_8099394
|
|
ldrb r0, [r4]
|
|
bl sub_8095228
|
|
adds r5, r0, 0
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x10]
|
|
movs r0, 0xA
|
|
movs r1, 0x10
|
|
movs r2, 0x3
|
|
bl sub_803B6B0
|
|
ldr r1, _08031B8C
|
|
ldrb r2, [r5, 0x5]
|
|
add r0, sp, 0x4
|
|
bl sub_800D158
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x10]
|
|
str r6, [sp]
|
|
movs r0, 0x15
|
|
movs r1, 0x10
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
ldr r4, _08031B90
|
|
movs r1, 0xC
|
|
ldrsh r0, [r5, r1]
|
|
bl sub_808D994
|
|
adds r2, r0, 0
|
|
add r0, sp, 0x4
|
|
adds r1, r4, 0
|
|
bl sub_800D158
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x10]
|
|
str r6, [sp]
|
|
movs r0, 0x28
|
|
movs r1, 0x10
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
b _08031D4E
|
|
.align 2, 0
|
|
_08031B8C: .4byte gUnknown_80E1F3C
|
|
_08031B90: .4byte gUnknown_80E1F40
|
|
_08031B94:
|
|
ldrb r0, [r1, 0xD]
|
|
bl sub_80969D0
|
|
adds r1, r0, 0
|
|
cmp r1, 0
|
|
bne _08031BB0
|
|
ldr r2, _08031BAC
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x10]
|
|
str r1, [sp]
|
|
b _08031D2C
|
|
.align 2, 0
|
|
_08031BAC: .4byte gUnknown_80E1F54
|
|
_08031BB0:
|
|
movs r6, 0x10
|
|
movs r2, 0
|
|
mov r10, r2
|
|
mov r8, r2
|
|
ldr r0, _08031C28
|
|
mov r9, r0
|
|
mov r1, sp
|
|
adds r1, 0x6C
|
|
str r1, [sp, 0xD8]
|
|
_08031BC2:
|
|
mov r2, r10
|
|
lsls r0, r2, 24
|
|
lsrs r0, 24
|
|
bl sub_8096AB4
|
|
adds r4, r0, 0
|
|
ldr r1, [r7]
|
|
ldrb r0, [r4, 0x4]
|
|
ldrb r2, [r1, 0xD]
|
|
cmp r0, r2
|
|
bne _08031CC2
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
beq _08031CC2
|
|
cmp r0, 0x5
|
|
beq _08031CC2
|
|
cmp r0, 0x7
|
|
beq _08031CC2
|
|
ldr r3, [r1, 0x10]
|
|
movs r0, 0xA
|
|
adds r1, r6, 0
|
|
movs r2, 0x3
|
|
bl sub_803B6B0
|
|
ldrb r0, [r4, 0x1]
|
|
add r5, sp, 0x6C
|
|
cmp r0, 0x3
|
|
beq _08031C16
|
|
ldrb r2, [r4, 0x5]
|
|
ldr r0, [sp, 0xD8]
|
|
ldr r1, _08031C2C
|
|
bl sub_800D158
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x10]
|
|
mov r0, r8
|
|
str r0, [sp]
|
|
movs r0, 0x15
|
|
adds r1, r6, 0
|
|
ldr r2, [sp, 0xD8]
|
|
bl xxx_call_draw_string
|
|
_08031C16:
|
|
ldrb r0, [r4, 0x1]
|
|
cmp r0, 0x3
|
|
beq _08031C58
|
|
cmp r0, 0x3
|
|
bgt _08031C30
|
|
cmp r0, 0x2
|
|
beq _08031C70
|
|
b _08031C9C
|
|
.align 2, 0
|
|
_08031C28: .4byte gUnknown_202DE58
|
|
_08031C2C: .4byte gUnknown_80E1F3C
|
|
_08031C30:
|
|
cmp r0, 0x4
|
|
bne _08031C9C
|
|
ldrb r1, [r4, 0x10]
|
|
mov r0, r9
|
|
movs r2, 0
|
|
bl sub_8090DC4
|
|
adds r0, r5, 0
|
|
ldr r1, _08031C54
|
|
mov r2, r9
|
|
bl sub_800D158
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x10]
|
|
mov r1, r8
|
|
str r1, [sp]
|
|
b _08031C8A
|
|
.align 2, 0
|
|
_08031C54: .4byte gUnknown_80E1F60
|
|
_08031C58:
|
|
ldrb r1, [r4, 0x10]
|
|
mov r0, r9
|
|
movs r2, 0
|
|
bl sub_8090DC4
|
|
adds r0, r5, 0
|
|
ldr r1, _08031C6C
|
|
mov r2, r9
|
|
b _08031C7E
|
|
.align 2, 0
|
|
_08031C6C: .4byte gUnknown_80E1F70
|
|
_08031C70:
|
|
movs r1, 0xE
|
|
ldrsh r0, [r4, r1]
|
|
bl sub_808D994
|
|
adds r2, r0, 0
|
|
adds r0, r5, 0
|
|
ldr r1, _08031C98
|
|
_08031C7E:
|
|
bl sub_800D158
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x10]
|
|
mov r2, r8
|
|
str r2, [sp]
|
|
_08031C8A:
|
|
movs r0, 0x28
|
|
adds r1, r6, 0
|
|
adds r2, r5, 0
|
|
bl xxx_call_draw_string
|
|
b _08031CC0
|
|
.align 2, 0
|
|
_08031C98: .4byte gUnknown_80E1F80
|
|
_08031C9C:
|
|
movs r1, 0xE
|
|
ldrsh r0, [r4, r1]
|
|
bl sub_808D994
|
|
adds r2, r0, 0
|
|
adds r0, r5, 0
|
|
ldr r1, _08031CD0
|
|
bl sub_800D158
|
|
ldr r0, [r7]
|
|
ldr r3, [r0, 0x10]
|
|
mov r2, r8
|
|
str r2, [sp]
|
|
movs r0, 0x28
|
|
adds r1, r6, 0
|
|
adds r2, r5, 0
|
|
bl xxx_call_draw_string
|
|
_08031CC0:
|
|
adds r6, 0xC
|
|
_08031CC2:
|
|
movs r0, 0x1
|
|
add r10, r0
|
|
mov r1, r10
|
|
cmp r1, 0x7
|
|
bgt _08031CCE
|
|
b _08031BC2
|
|
_08031CCE:
|
|
b _08031D4E
|
|
.align 2, 0
|
|
_08031CD0: .4byte gUnknown_80E1F40
|
|
_08031CD4:
|
|
add r0, sp, 0xD0
|
|
mov r4, sp
|
|
adds r4, 0xD2
|
|
adds r1, r4, 0
|
|
bl sub_80992E0
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0
|
|
beq _08031D04
|
|
movs r2, 0
|
|
ldrsh r0, [r4, r2]
|
|
bl sub_80974C4
|
|
adds r2, r0, 0
|
|
ldr r0, _08031D00
|
|
ldr r0, [r0]
|
|
ldr r3, [r0, 0x10]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
b _08031D2C
|
|
.align 2, 0
|
|
_08031D00: .4byte gUnknown_203B330
|
|
_08031D04:
|
|
add r4, sp, 0xD4
|
|
adds r0, r4, 0
|
|
bl sub_8099360
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _08031D3C
|
|
ldrb r0, [r4]
|
|
bl sub_80A2688
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80975DC
|
|
adds r2, r0, 0
|
|
ldr r0, _08031D38
|
|
ldr r0, [r0]
|
|
ldr r3, [r0, 0x10]
|
|
str r5, [sp]
|
|
_08031D2C:
|
|
movs r0, 0xA
|
|
movs r1, 0x10
|
|
bl xxx_call_draw_string
|
|
b _08031D4E
|
|
.align 2, 0
|
|
_08031D38: .4byte gUnknown_203B330
|
|
_08031D3C:
|
|
ldr r2, _08031D68
|
|
ldr r0, _08031D6C
|
|
ldr r0, [r0]
|
|
ldr r3, [r0, 0x10]
|
|
str r1, [sp]
|
|
movs r0, 0xA
|
|
movs r1, 0x10
|
|
bl xxx_call_draw_string
|
|
_08031D4E:
|
|
ldr r0, _08031D6C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x10]
|
|
bl sub_80073E0
|
|
add sp, 0xDC
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08031D68: .4byte gUnknown_80E1F94
|
|
_08031D6C: .4byte gUnknown_203B330
|
|
thumb_func_end sub_8031AE8
|
|
|
|
thumb_func_start sub_8031D70
|
|
sub_8031D70:
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
adds r4, r1, 0
|
|
ldr r5, _08031DC4
|
|
movs r0, 0x7C
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
stm r0!, {r6}
|
|
bl sub_801317C
|
|
ldr r0, [r5]
|
|
str r4, [r0, 0x10]
|
|
lsls r1, r4, 1
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, 0x18
|
|
adds r1, r0, r1
|
|
str r1, [r0, 0x14]
|
|
adds r0, 0x18
|
|
bl sub_8006518
|
|
ldr r1, [r5]
|
|
ldr r2, [r1, 0x10]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x18
|
|
ldr r0, _08031DC8
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
bl sub_8031E00
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08031DC4: .4byte gUnknown_203B334
|
|
_08031DC8: .4byte gUnknown_80E1FC4
|
|
thumb_func_end sub_8031D70
|
|
|
|
thumb_func_start sub_8031DCC
|
|
sub_8031DCC:
|
|
push {lr}
|
|
ldr r0, _08031DEC
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
ldr r1, [r1, 0x10]
|
|
bl sub_8012A64
|
|
cmp r0, 0x1
|
|
beq _08031DF0
|
|
cmp r0, 0x2
|
|
bne _08031DFA
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _08031DFC
|
|
.align 2, 0
|
|
_08031DEC: .4byte gUnknown_203B334
|
|
_08031DF0:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _08031DFC
|
|
_08031DFA:
|
|
movs r0, 0
|
|
_08031DFC:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8031DCC
|
|
|
|
thumb_func_start sub_8031E00
|
|
sub_8031E00:
|
|
push {lr}
|
|
bl sub_8031E58
|
|
bl sub_8031E74
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8031E00
|
|
|
|
thumb_func_start sub_8031E10
|
|
sub_8031E10:
|
|
push {r4,r5,lr}
|
|
ldr r4, _08031E50
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _08031E4A
|
|
ldr r0, [r2, 0x10]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x18
|
|
ldr r0, _08031E54
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x18
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_08031E4A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08031E50: .4byte gUnknown_203B334
|
|
_08031E54: .4byte gUnknown_80E1FA8
|
|
thumb_func_end sub_8031E10
|
|
|
|
thumb_func_start sub_8031E58
|
|
sub_8031E58:
|
|
push {lr}
|
|
bl sub_8004914
|
|
ldr r0, _08031E70
|
|
ldr r0, [r0]
|
|
adds r0, 0x18
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08031E70: .4byte gUnknown_203B334
|
|
thumb_func_end sub_8031E58
|
|
|
|
thumb_func_start sub_8031E74
|
|
sub_8031E74:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x3C
|
|
ldr r3, _08031EC0
|
|
ldr r5, _08031EC4
|
|
ldr r2, [r5]
|
|
ldr r1, [r2]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
ldr r4, [r3]
|
|
adds r4, r0
|
|
ldr r0, [r2, 0x10]
|
|
bl sub_80073B8
|
|
ldr r2, _08031EC8
|
|
ldr r0, [r5]
|
|
ldr r3, [r0, 0x10]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x14
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
add r0, sp, 0x4
|
|
adds r1, r4, 0
|
|
bl sub_803D2C0
|
|
movs r7, 0
|
|
mov r8, r5
|
|
_08031EB2:
|
|
cmp r7, 0x4
|
|
ble _08031ED0
|
|
cmp r7, 0xC
|
|
bgt _08031ECC
|
|
movs r6, 0x6
|
|
movs r5, 0x16
|
|
b _08031F00
|
|
.align 2, 0
|
|
_08031EC0: .4byte gUnknown_203B480
|
|
_08031EC4: .4byte gUnknown_203B334
|
|
_08031EC8: .4byte gUnknown_80E1FDC
|
|
_08031ECC:
|
|
cmp r7, 0x11
|
|
bgt _08031ED6
|
|
_08031ED0:
|
|
movs r6, 0x7
|
|
movs r5, 0x15
|
|
b _08031F00
|
|
_08031ED6:
|
|
cmp r7, 0x16
|
|
ble _08031EE8
|
|
cmp r7, 0x1E
|
|
bgt _08031EE4
|
|
movs r6, 0x6
|
|
movs r5, 0x25
|
|
b _08031F00
|
|
_08031EE4:
|
|
cmp r7, 0x23
|
|
bgt _08031EEE
|
|
_08031EE8:
|
|
movs r6, 0x7
|
|
movs r5, 0x24
|
|
b _08031F00
|
|
_08031EEE:
|
|
cmp r7, 0x28
|
|
ble _08031EFC
|
|
cmp r7, 0x30
|
|
bgt _08031EFC
|
|
movs r6, 0x6
|
|
movs r5, 0x34
|
|
b _08031F00
|
|
_08031EFC:
|
|
movs r6, 0x7
|
|
movs r5, 0x33
|
|
_08031F00:
|
|
adds r0, r7, 0
|
|
movs r1, 0x12
|
|
bl __modsi3
|
|
movs r1, 0xB
|
|
adds r4, r0, 0
|
|
muls r4, r1
|
|
adds r4, 0x6
|
|
mov r0, sp
|
|
adds r0, r7
|
|
adds r0, 0x4
|
|
ldrb r2, [r0]
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x10]
|
|
str r0, [sp]
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
adds r3, r6, 0
|
|
bl sub_8012C60
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x10]
|
|
adds r2, r5, 0
|
|
adds r2, 0xA
|
|
movs r1, 0x5
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r3, 0xA
|
|
bl sub_80078A4
|
|
adds r7, 0x1
|
|
cmp r7, 0x35
|
|
ble _08031EB2
|
|
ldr r0, _08031F5C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x10]
|
|
bl sub_80073E0
|
|
add sp, 0x3C
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08031F5C: .4byte gUnknown_203B334
|
|
thumb_func_end sub_8031E74
|
|
|
|
thumb_func_start sub_8031F60
|
|
sub_8031F60:
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
ldr r4, _08031FD0
|
|
movs r0, 0xA0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
str r5, [r0, 0x34]
|
|
lsls r1, r5, 1
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, 0x3C
|
|
adds r1, r0, r1
|
|
str r1, [r0, 0x38]
|
|
adds r0, 0x3C
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
ldr r2, [r1, 0x34]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x3C
|
|
ldr r0, _08031FD4
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0x38]
|
|
adds r0, 0x9C
|
|
str r0, [r1, 0x14]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x3C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
movs r1, 0x20
|
|
movs r2, 0x8
|
|
adds r3, r5, 0
|
|
bl sub_8013818
|
|
bl sub_8032084
|
|
bl sub_80320F8
|
|
movs r0, 0x1
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08031FD0: .4byte gUnknown_203B338
|
|
_08031FD4: .4byte gUnknown_80E2008
|
|
thumb_func_end sub_8031F60
|
|
|
|
thumb_func_start sub_8031FD8
|
|
sub_8031FD8:
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08031FF0
|
|
ldr r0, _08031FEC
|
|
ldr r0, [r0]
|
|
bl sub_8013660
|
|
movs r0, 0
|
|
b _08032034
|
|
.align 2, 0
|
|
_08031FEC: .4byte gUnknown_203B338
|
|
_08031FF0:
|
|
ldr r4, _0803200C
|
|
ldr r0, [r4]
|
|
bl GetKeyPress
|
|
cmp r0, 0x1
|
|
beq _08032010
|
|
cmp r0, 0x2
|
|
bne _0803201A
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _08032034
|
|
.align 2, 0
|
|
_0803200C: .4byte gUnknown_203B338
|
|
_08032010:
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
movs r0, 0x3
|
|
b _08032034
|
|
_0803201A:
|
|
ldr r0, [r4]
|
|
bl sub_8013938
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0803202A
|
|
movs r0, 0
|
|
b _08032034
|
|
_0803202A:
|
|
bl sub_8032084
|
|
bl sub_80320F8
|
|
movs r0, 0x1
|
|
_08032034:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8031FD8
|
|
|
|
thumb_func_start sub_803203C
|
|
sub_803203C:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0803207C
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _08032076
|
|
ldr r0, [r2, 0x34]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x3C
|
|
ldr r0, _08032080
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x3C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_08032076:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803207C: .4byte gUnknown_203B338
|
|
_08032080: .4byte gUnknown_80E1FF0
|
|
thumb_func_end sub_803203C
|
|
|
|
thumb_func_start sub_8032084
|
|
sub_8032084:
|
|
push {r4,lr}
|
|
ldr r4, _080320F4
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0, 0x20]
|
|
adds r0, 0x9C
|
|
movs r2, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0, 0x1E]
|
|
adds r0, 0x9D
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0x9E
|
|
movs r1, 0xB
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0x9F
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
movs r1, 0x1A
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0xC
|
|
bl sub_80095E4
|
|
adds r0, 0x2
|
|
lsls r0, 16
|
|
ldr r2, [r4]
|
|
ldr r3, [r2, 0x34]
|
|
lsls r1, r3, 1
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x4A
|
|
asrs r3, r0, 16
|
|
lsrs r0, 16
|
|
strh r0, [r1]
|
|
ldr r1, [r2, 0x34]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, r0
|
|
adds r3, 0x2
|
|
adds r2, 0x4C
|
|
strh r3, [r2]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x3C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080320F4: .4byte gUnknown_203B338
|
|
thumb_func_end sub_8032084
|
|
|
|
thumb_func_start sub_80320F8
|
|
sub_80320F8:
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
ldr r5, _08032158
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_8008C54
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_80073B8
|
|
ldr r0, [r5]
|
|
movs r1, 0x1E
|
|
ldrsh r4, [r0, r1]
|
|
lsls r4, 3
|
|
adds r6, r4, 0
|
|
adds r6, 0xA
|
|
ldr r2, _0803215C
|
|
ldr r3, [r0, 0x34]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
adds r0, r6, 0
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
adds r4, 0x4
|
|
ldr r1, [r5]
|
|
adds r0, r1, 0
|
|
adds r0, 0x9E
|
|
ldrb r0, [r0]
|
|
lsls r0, 3
|
|
adds r6, r4, r0
|
|
movs r0, 0x1E
|
|
ldrsh r2, [r1, r0]
|
|
adds r2, 0x1
|
|
movs r0, 0x7
|
|
str r0, [sp]
|
|
ldr r0, [r1, 0x34]
|
|
str r0, [sp, 0x4]
|
|
adds r0, r6, 0
|
|
movs r1, 0
|
|
movs r3, 0x1
|
|
bl sub_8012BC4
|
|
movs r7, 0
|
|
ldr r0, [r5]
|
|
b _0803223A
|
|
.align 2, 0
|
|
_08032158: .4byte gUnknown_203B338
|
|
_0803215C: .4byte gUnknown_80E2020
|
|
_08032160:
|
|
ldr r5, _08032194
|
|
ldr r0, [r5]
|
|
movs r2, 0x1E
|
|
ldrsh r1, [r0, r2]
|
|
movs r2, 0x1C
|
|
ldrsh r0, [r0, r2]
|
|
muls r0, r1
|
|
adds r0, r7
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
adds r0, r6, 0
|
|
bl sub_8097710
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
beq _0803221C
|
|
subs r0, r6, 0x7
|
|
cmp r0, 0x5
|
|
bhi _080321EC
|
|
lsls r0, 2
|
|
ldr r1, _08032198
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08032194: .4byte gUnknown_203B338
|
|
_08032198: .4byte _0803219C
|
|
.align 2, 0
|
|
_0803219C:
|
|
.4byte _080321BA
|
|
.4byte _080321C6
|
|
.4byte _080321D4
|
|
.4byte _080321E0
|
|
.4byte _080321C0
|
|
.4byte _080321B4
|
|
_080321B4:
|
|
bl sub_80978B8
|
|
b _080321E4
|
|
_080321BA:
|
|
bl sub_8097880
|
|
b _080321E4
|
|
_080321C0:
|
|
bl sub_8097838
|
|
b _080321E4
|
|
_080321C6:
|
|
bl sub_80977B8
|
|
ldr r1, _080321D0
|
|
b _080321EA
|
|
.align 2, 0
|
|
_080321D0: .4byte gUnknown_202DE30
|
|
_080321D4:
|
|
bl sub_80977F8
|
|
ldr r1, _080321DC
|
|
b _080321EA
|
|
.align 2, 0
|
|
_080321DC: .4byte gUnknown_202DE30
|
|
_080321E0:
|
|
bl sub_8097870
|
|
_080321E4:
|
|
ldr r1, _08032214
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
_080321EA:
|
|
str r0, [r1]
|
|
_080321EC:
|
|
ldr r4, _08032218
|
|
ldr r0, [r4]
|
|
adds r1, r7, 0
|
|
bl sub_8013800
|
|
adds r5, r0, 0
|
|
adds r0, r6, 0
|
|
bl sub_8097738
|
|
adds r2, r0, 0
|
|
ldr r0, [r4]
|
|
ldr r3, [r0, 0x34]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
adds r1, r5, 0
|
|
bl sub_8014FF0
|
|
b _08032234
|
|
.align 2, 0
|
|
_08032214: .4byte gUnknown_202DE30
|
|
_08032218: .4byte gUnknown_203B338
|
|
_0803221C:
|
|
ldr r0, [r5]
|
|
adds r1, r7, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r2, _08032254
|
|
ldr r0, [r5]
|
|
ldr r3, [r0, 0x34]
|
|
str r4, [sp]
|
|
movs r0, 0x8
|
|
bl xxx_call_draw_string
|
|
_08032234:
|
|
adds r7, 0x1
|
|
ldr r0, _08032258
|
|
ldr r0, [r0]
|
|
_0803223A:
|
|
movs r1, 0x1A
|
|
ldrsh r0, [r0, r1]
|
|
cmp r7, r0
|
|
blt _08032160
|
|
ldr r0, _08032258
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_80073E0
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08032254: .4byte gUnknown_80E2030
|
|
_08032258: .4byte gUnknown_203B338
|
|
thumb_func_end sub_80320F8
|
|
|
|
thumb_func_start sub_803225C
|
|
sub_803225C:
|
|
push {r4,r5,lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r5, _08032300
|
|
movs r4, 0xAD
|
|
lsls r4, 3
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl MemoryFill8
|
|
ldr r1, [r5]
|
|
movs r0, 0xA6
|
|
lsls r0, 3
|
|
adds r2, r1, r0
|
|
movs r0, 0
|
|
str r0, [r2]
|
|
movs r2, 0x86
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
ldr r0, [r5]
|
|
movs r1, 0xA7
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r1, _08032304
|
|
strh r1, [r0]
|
|
ldr r0, _08032308
|
|
movs r4, 0x98
|
|
lsls r4, 1
|
|
adds r1, r4, 0
|
|
bl sub_808D8E0
|
|
adds r0, r4, 0
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r0, _0803230C
|
|
bl strcpy
|
|
movs r1, 0
|
|
movs r2, 0
|
|
adds r4, r5, 0
|
|
_080322C6:
|
|
ldr r0, [r5]
|
|
adds r0, 0x8
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
adds r1, 0x1
|
|
cmp r1, 0x35
|
|
ble _080322C6
|
|
ldr r1, [r4]
|
|
movs r0, 0x7E
|
|
str r0, [r1, 0x4]
|
|
bl sub_8039880
|
|
ldr r1, [r4]
|
|
ldr r2, _08032310
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
adds r2, r0, r2
|
|
ldrb r1, [r2]
|
|
ldr r2, _08032314
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
movs r0, 0
|
|
bl sub_80338C4
|
|
movs r0, 0x1
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08032300: .4byte gUnknown_203B33C
|
|
_08032304: .4byte 0x0000ffff
|
|
_08032308: .4byte gUnknown_202E5D8
|
|
_0803230C: .4byte gUnknown_202DF98
|
|
_08032310: .4byte 0x0000052c
|
|
_08032314: .4byte 0x0000052d
|
|
thumb_func_end sub_803225C
|
|
|
|
thumb_func_start sub_8032318
|
|
sub_8032318:
|
|
push {lr}
|
|
ldr r0, _08032330
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x7D
|
|
bls _08032326
|
|
b _080327DC
|
|
_08032326:
|
|
lsls r0, 2
|
|
ldr r1, _08032334
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08032330: .4byte gUnknown_203B33C
|
|
_08032334: .4byte _08032338
|
|
.align 2, 0
|
|
_08032338:
|
|
.4byte _080326A6
|
|
.4byte _080326A6
|
|
.4byte _080326AC
|
|
.4byte _0803255A
|
|
.4byte _0803255A
|
|
.4byte _0803266C
|
|
.4byte _08032672
|
|
.4byte _08032678
|
|
.4byte _0803267E
|
|
.4byte _08032684
|
|
.4byte _0803268A
|
|
.4byte _08032690
|
|
.4byte _08032690
|
|
.4byte _08032698
|
|
.4byte _080326A0
|
|
.4byte _080327CE
|
|
.4byte _080327CE
|
|
.4byte _0803262C
|
|
.4byte _08032634
|
|
.4byte _0803263A
|
|
.4byte _08032640
|
|
.4byte _08032646
|
|
.4byte _0803264C
|
|
.4byte _08032652
|
|
.4byte _08032764
|
|
.4byte _08032658
|
|
.4byte _08032660
|
|
.4byte _08032666
|
|
.4byte _08032612
|
|
.4byte _08032626
|
|
.4byte _0803261A
|
|
.4byte _08032620
|
|
.4byte _0803260C
|
|
.4byte _080325CE
|
|
.4byte _080327CE
|
|
.4byte _080325C6
|
|
.4byte _080325BA
|
|
.4byte _080325A0
|
|
.4byte _080325A8
|
|
.4byte _080325AE
|
|
.4byte _080325B4
|
|
.4byte _080325C0
|
|
.4byte _0803258C
|
|
.4byte _0803259A
|
|
.4byte _08032594
|
|
.4byte _0803257E
|
|
.4byte _08032586
|
|
.4byte _08032764
|
|
.4byte _080327CE
|
|
.4byte _080325D4
|
|
.4byte _080325DC
|
|
.4byte _080325E2
|
|
.4byte _080325E8
|
|
.4byte _080325EE
|
|
.4byte _080327DC
|
|
.4byte _080325FA
|
|
.4byte _080325F4
|
|
.4byte _08032600
|
|
.4byte _08032606
|
|
.4byte _08032764
|
|
.4byte _080327CE
|
|
.4byte _08032560
|
|
.4byte _08032566
|
|
.4byte _0803256C
|
|
.4byte _08032572
|
|
.4byte _08032578
|
|
.4byte _08032764
|
|
.4byte _08032658
|
|
.4byte _080327CE
|
|
.4byte _080327CE
|
|
.4byte _08032794
|
|
.4byte _0803279C
|
|
.4byte _080327A2
|
|
.4byte _080327A8
|
|
.4byte _080327AE
|
|
.4byte _080327B4
|
|
.4byte _080327BA
|
|
.4byte _080327C0
|
|
.4byte _080327C0
|
|
.4byte _080327C8
|
|
.4byte _08032722
|
|
.4byte _080327D6
|
|
.4byte _0803278E
|
|
.4byte _08032780
|
|
.4byte _08032788
|
|
.4byte _0803277A
|
|
.4byte _08032774
|
|
.4byte _0803276C
|
|
.4byte _08032752
|
|
.4byte _08032764
|
|
.4byte _080326BC
|
|
.4byte _080326C2
|
|
.4byte _080326D6
|
|
.4byte _080326CA
|
|
.4byte _080326D0
|
|
.4byte _080326DC
|
|
.4byte _080326E2
|
|
.4byte _080326E8
|
|
.4byte _08032730
|
|
.4byte _08032744
|
|
.4byte _0803273E
|
|
.4byte _08032738
|
|
.4byte _080326F4
|
|
.4byte _080326FC
|
|
.4byte _080326EE
|
|
.4byte _0803274C
|
|
.4byte _080326B0
|
|
.4byte _080326B6
|
|
.4byte _08032764
|
|
.4byte _08032722
|
|
.4byte _0803272A
|
|
.4byte _08032744
|
|
.4byte _0803271C
|
|
.4byte _08032716
|
|
.4byte _08032708
|
|
.4byte _08032710
|
|
.4byte _08032702
|
|
.4byte _08032758
|
|
.4byte _0803275E
|
|
.4byte _08032764
|
|
.4byte _08032530
|
|
.4byte _08032536
|
|
.4byte _0803253E
|
|
.4byte _08032544
|
|
.4byte _0803254C
|
|
.4byte _08032552
|
|
_08032530:
|
|
bl sub_8035300
|
|
b _080327DC
|
|
_08032536:
|
|
movs r0, 0x78
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_0803253E:
|
|
bl sub_8035374
|
|
b _080327DC
|
|
_08032544:
|
|
movs r0, 0x7A
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_0803254C:
|
|
bl sub_80353BC
|
|
b _080327DC
|
|
_08032552:
|
|
movs r0, 0x7C
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_0803255A:
|
|
bl sub_8033A2C
|
|
b _080327DC
|
|
_08032560:
|
|
bl sub_803477C
|
|
b _080327DC
|
|
_08032566:
|
|
bl sub_80347AC
|
|
b _080327DC
|
|
_0803256C:
|
|
bl sub_80347C8
|
|
b _080327DC
|
|
_08032572:
|
|
bl sub_80347E4
|
|
b _080327DC
|
|
_08032578:
|
|
bl sub_8034804
|
|
b _080327DC
|
|
_0803257E:
|
|
movs r0, 0x2E
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_08032586:
|
|
bl sub_80344C0
|
|
b _080327DC
|
|
_0803258C:
|
|
movs r0, 0xD
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_08032594:
|
|
bl sub_8034478
|
|
b _080327DC
|
|
_0803259A:
|
|
bl sub_80344A0
|
|
b _080327DC
|
|
_080325A0:
|
|
movs r0, 0x26
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_080325A8:
|
|
bl sub_803418C
|
|
b _080327DC
|
|
_080325AE:
|
|
bl sub_8034254
|
|
b _080327DC
|
|
_080325B4:
|
|
bl sub_8034310
|
|
b _080327DC
|
|
_080325BA:
|
|
bl sub_8034378
|
|
b _080327DC
|
|
_080325C0:
|
|
bl sub_80343C4
|
|
b _080327DC
|
|
_080325C6:
|
|
movs r0, 0x21
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_080325CE:
|
|
bl sub_8034404
|
|
b _080327DC
|
|
_080325D4:
|
|
movs r0, 0x32
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_080325DC:
|
|
bl sub_8034500
|
|
b _080327DC
|
|
_080325E2:
|
|
bl sub_8034590
|
|
b _080327DC
|
|
_080325E8:
|
|
bl sub_803464C
|
|
b _080327DC
|
|
_080325EE:
|
|
bl sub_80346A8
|
|
b _080327DC
|
|
_080325F4:
|
|
bl sub_80346D8
|
|
b _080327DC
|
|
_080325FA:
|
|
bl sub_8034700
|
|
b _080327DC
|
|
_08032600:
|
|
bl sub_8034720
|
|
b _080327DC
|
|
_08032606:
|
|
bl sub_803473C
|
|
b _080327DC
|
|
_0803260C:
|
|
bl sub_8033FB4
|
|
b _080327DC
|
|
_08032612:
|
|
movs r0, 0x1D
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_0803261A:
|
|
bl sub_8034074
|
|
b _080327DC
|
|
_08032620:
|
|
bl sub_8034130
|
|
b _080327DC
|
|
_08032626:
|
|
bl sub_8033FE4
|
|
b _080327DC
|
|
_0803262C:
|
|
movs r0, 0x12
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_08032634:
|
|
bl nullsub_42
|
|
b _080327DC
|
|
_0803263A:
|
|
bl nullsub_43
|
|
b _080327DC
|
|
_08032640:
|
|
bl nullsub_44
|
|
b _080327DC
|
|
_08032646:
|
|
bl nullsub_45
|
|
b _080327DC
|
|
_0803264C:
|
|
bl sub_8033D74
|
|
b _080327DC
|
|
_08032652:
|
|
bl sub_8033D94
|
|
b _080327DC
|
|
_08032658:
|
|
movs r0, 0x1A
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_08032660:
|
|
bl sub_8033DBC
|
|
b _080327DC
|
|
_08032666:
|
|
bl sub_8033F64
|
|
b _080327DC
|
|
_0803266C:
|
|
bl sub_8033C54
|
|
b _080327DC
|
|
_08032672:
|
|
bl nullsub_41
|
|
b _080327DC
|
|
_08032678:
|
|
bl sub_8033CAC
|
|
b _080327DC
|
|
_0803267E:
|
|
bl sub_8033D48
|
|
b _080327DC
|
|
_08032684:
|
|
bl sub_8035424
|
|
b _080327DC
|
|
_0803268A:
|
|
bl nullsub_50
|
|
b _080327DC
|
|
_08032690:
|
|
movs r0, 0x6
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_08032698:
|
|
movs r0, 0x7
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_080326A0:
|
|
bl sub_8033B8C
|
|
b _080327DC
|
|
_080326A6:
|
|
bl sub_80339C8
|
|
b _080327DC
|
|
_080326AC:
|
|
movs r0, 0x3
|
|
b _080327DE
|
|
_080326B0:
|
|
bl sub_80348C4
|
|
b _080327DC
|
|
_080326B6:
|
|
bl sub_803482C
|
|
b _080327DC
|
|
_080326BC:
|
|
bl sub_80349B0
|
|
b _080327DC
|
|
_080326C2:
|
|
movs r0, 0x5C
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_080326CA:
|
|
bl sub_8034A70
|
|
b _080327DC
|
|
_080326D0:
|
|
bl sub_8034B2C
|
|
b _080327DC
|
|
_080326D6:
|
|
bl sub_80349E0
|
|
b _080327DC
|
|
_080326DC:
|
|
bl sub_8034B88
|
|
b _080327DC
|
|
_080326E2:
|
|
bl sub_8034C98
|
|
b _080327DC
|
|
_080326E8:
|
|
bl sub_8034C38
|
|
b _080327DC
|
|
_080326EE:
|
|
bl sub_8034D54
|
|
b _080327DC
|
|
_080326F4:
|
|
movs r0, 0x67
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_080326FC:
|
|
bl sub_8034970
|
|
b _080327DC
|
|
_08032702:
|
|
bl sub_80351E0
|
|
b _080327DC
|
|
_08032708:
|
|
movs r0, 0x73
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_08032710:
|
|
bl sub_8034D74
|
|
b _080327DC
|
|
_08032716:
|
|
bl sub_8034EF0
|
|
b _080327DC
|
|
_0803271C:
|
|
bl sub_8034F38
|
|
b _080327DC
|
|
_08032722:
|
|
movs r0, 0x6E
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_0803272A:
|
|
bl sub_80352A4
|
|
b _080327DC
|
|
_08032730:
|
|
movs r0, 0x6A
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_08032738:
|
|
bl sub_8034EC8
|
|
b _080327DC
|
|
_0803273E:
|
|
bl sub_8034F18
|
|
b _080327DC
|
|
_08032744:
|
|
movs r0, 0x62
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_0803274C:
|
|
bl sub_8034F58
|
|
b _080327DC
|
|
_08032752:
|
|
bl sub_8034F88
|
|
b _080327DC
|
|
_08032758:
|
|
bl sub_8035018
|
|
b _080327DC
|
|
_0803275E:
|
|
bl sub_8035038
|
|
b _080327DC
|
|
_08032764:
|
|
movs r0, 0x2
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_0803276C:
|
|
movs r0, 0x5F
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_08032774:
|
|
bl sub_8035094
|
|
b _080327DC
|
|
_0803277A:
|
|
bl sub_80350F4
|
|
b _080327DC
|
|
_08032780:
|
|
movs r0, 0x54
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_08032788:
|
|
bl sub_803517C
|
|
b _080327DC
|
|
_0803278E:
|
|
bl sub_8035210
|
|
b _080327DC
|
|
_08032794:
|
|
movs r0, 0x47
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_0803279C:
|
|
bl nullsub_46
|
|
b _080327DC
|
|
_080327A2:
|
|
bl nullsub_47
|
|
b _080327DC
|
|
_080327A8:
|
|
bl nullsub_48
|
|
b _080327DC
|
|
_080327AE:
|
|
bl nullsub_49
|
|
b _080327DC
|
|
_080327B4:
|
|
bl sub_8035430
|
|
b _080327DC
|
|
_080327BA:
|
|
bl nullsub_51
|
|
b _080327DC
|
|
_080327C0:
|
|
movs r0, 0x4F
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_080327C8:
|
|
bl sub_8034848
|
|
b _080327DC
|
|
_080327CE:
|
|
movs r0, 0x1
|
|
bl sub_8035404
|
|
b _080327DC
|
|
_080327D6:
|
|
movs r0, 0x1
|
|
bl sub_8035404
|
|
_080327DC:
|
|
movs r0, 0
|
|
_080327DE:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8032318
|
|
|
|
thumb_func_start sub_80327E4
|
|
sub_80327E4:
|
|
push {r4,lr}
|
|
ldr r4, _08032820
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0803281A
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
bl sub_803084C
|
|
bl sub_8031E10
|
|
bl sub_8023C60
|
|
bl sub_80155F0
|
|
bl sub_801CBB8
|
|
bl sub_802F2C0
|
|
bl sub_8030DE4
|
|
bl sub_802453C
|
|
bl sub_801B450
|
|
_0803281A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08032820: .4byte gUnknown_203B33C
|
|
thumb_func_end sub_80327E4
|
|
|
|
thumb_func_start nullsub_40
|
|
nullsub_40:
|
|
bx lr
|
|
thumb_func_end nullsub_40
|
|
|
|
thumb_func_start sub_8032828
|
|
sub_8032828:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x68
|
|
ldr r1, _08032848
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r6, r1, 0
|
|
cmp r0, 0x7D
|
|
bls _0803283C
|
|
bl _080338B4
|
|
_0803283C:
|
|
lsls r0, 2
|
|
ldr r1, _0803284C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08032848: .4byte gUnknown_203B33C
|
|
_0803284C: .4byte _08032850
|
|
.align 2, 0
|
|
_08032850:
|
|
.4byte _08032A48
|
|
.4byte _08032AD0
|
|
.4byte _080338B4
|
|
.4byte _08032B80
|
|
.4byte _08032BC4
|
|
.4byte _08032FD0
|
|
.4byte _080338B4
|
|
.4byte _08032FF0
|
|
.4byte _080338B4
|
|
.4byte _080338B4
|
|
.4byte _08032FD8
|
|
.4byte _08032FE0
|
|
.4byte _08032FE8
|
|
.4byte _0803356C
|
|
.4byte _08032C50
|
|
.4byte _08033200
|
|
.4byte _080331CC
|
|
.4byte _080331D4
|
|
.4byte _080331DC
|
|
.4byte _080336B2
|
|
.4byte _080338B4
|
|
.4byte _080331F8
|
|
.4byte _08033208
|
|
.4byte _080338B4
|
|
.4byte _08033234
|
|
.4byte _0803323C
|
|
.4byte _08033244
|
|
.4byte _080338B4
|
|
.4byte _08032F8C
|
|
.4byte _08032F98
|
|
.4byte _080336B2
|
|
.4byte _080338B4
|
|
.4byte _08032FB6
|
|
.4byte _08032EB8
|
|
.4byte _08032FC4
|
|
.4byte _08032EAC
|
|
.4byte _08032F54
|
|
.4byte _08032EE0
|
|
.4byte _08032EEC
|
|
.4byte _08032F16
|
|
.4byte _080338B4
|
|
.4byte _08032F7C
|
|
.4byte _08032E60
|
|
.4byte _08032E6C
|
|
.4byte _08032EA0
|
|
.4byte _08032E48
|
|
.4byte _0803341C
|
|
.4byte _08032E54
|
|
.4byte _08032D84
|
|
.4byte _08032D90
|
|
.4byte _08032D9C
|
|
.4byte _080336B2
|
|
.4byte _080338B4
|
|
.4byte _08032DBC
|
|
.4byte _080338B4
|
|
.4byte _08032DCC
|
|
.4byte _08032E00
|
|
.4byte _08032E3C
|
|
.4byte _08032E0C
|
|
.4byte _08032E30
|
|
.4byte _08032D04
|
|
.4byte _08032D10
|
|
.4byte _08032D2C
|
|
.4byte _08032D38
|
|
.4byte _08032D44
|
|
.4byte _080338B4
|
|
.4byte _08032D78
|
|
.4byte _08032D20
|
|
.4byte _08033720
|
|
.4byte _08033728
|
|
.4byte _08033684
|
|
.4byte _0803368C
|
|
.4byte _080336B2
|
|
.4byte _080338B4
|
|
.4byte _080336F8
|
|
.4byte _080338B4
|
|
.4byte _08032FD8
|
|
.4byte _08032FE0
|
|
.4byte _08032FE8
|
|
.4byte _080338B4
|
|
.4byte _08033468
|
|
.4byte _08033730
|
|
.4byte _08033738
|
|
.4byte _0803366C
|
|
.4byte _08033674
|
|
.4byte _08033644
|
|
.4byte _0803361C
|
|
.4byte _08033614
|
|
.4byte _080335F4
|
|
.4byte _080335C0
|
|
.4byte _0803324E
|
|
.4byte _0803325C
|
|
.4byte _0803368C
|
|
.4byte _08033264
|
|
.4byte _080338B4
|
|
.4byte _08033288
|
|
.4byte _080332B8
|
|
.4byte _080338B4
|
|
.4byte _0803356C
|
|
.4byte _080335B0
|
|
.4byte _08033584
|
|
.4byte _080338B4
|
|
.4byte _08033412
|
|
.4byte _0803341C
|
|
.4byte _08033448
|
|
.4byte _080335B8
|
|
.4byte _080332F4
|
|
.4byte _080338B4
|
|
.4byte _08033460
|
|
.4byte _08033470
|
|
.4byte _0803349C
|
|
.4byte _08033450
|
|
.4byte _08033458
|
|
.4byte _080338B4
|
|
.4byte _080333E4
|
|
.4byte _080333EC
|
|
.4byte _080338B4
|
|
.4byte _08033604
|
|
.4byte _0803360C
|
|
.4byte _080338B4
|
|
.4byte _0803384C
|
|
.4byte _0803387C
|
|
.4byte _080337D4
|
|
.4byte _080337F0
|
|
.4byte _08033770
|
|
.4byte _0803378C
|
|
_08032A48:
|
|
movs r0, 0x1
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
bne _08032A9C
|
|
movs r0, 0x5
|
|
bl sub_8095324
|
|
adds r4, r0, 0
|
|
cmp r4, 0
|
|
bne _08032A9C
|
|
ldr r0, _08032A7C
|
|
ldr r0, [r0]
|
|
ldr r1, _08032A80
|
|
adds r0, r1
|
|
ldrb r2, [r0]
|
|
cmp r2, 0
|
|
beq _08032A8C
|
|
ldr r0, _08032A84
|
|
ldr r3, _08032A88
|
|
str r4, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
b _08032B66
|
|
.align 2, 0
|
|
_08032A7C: .4byte gUnknown_203B33C
|
|
_08032A80: .4byte 0x0000052c
|
|
_08032A84: .4byte gUnknown_80E25F4
|
|
_08032A88: .4byte gUnknown_80E2108
|
|
_08032A8C:
|
|
ldr r0, _08032A94
|
|
ldr r3, _08032A98
|
|
b _08032B5C
|
|
.align 2, 0
|
|
_08032A94: .4byte gUnknown_80E25F4
|
|
_08032A98: .4byte gUnknown_80E20B8
|
|
_08032A9C:
|
|
ldr r0, _08032AC0
|
|
ldr r0, [r0]
|
|
ldr r2, _08032AC4
|
|
adds r0, r2
|
|
ldrb r2, [r0]
|
|
cmp r2, 0
|
|
beq _08032B58
|
|
ldr r0, _08032AC8
|
|
ldr r3, _08032ACC
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
bl _08033864
|
|
.align 2, 0
|
|
_08032AC0: .4byte gUnknown_203B33C
|
|
_08032AC4: .4byte 0x0000052c
|
|
_08032AC8: .4byte gUnknown_80E25F4
|
|
_08032ACC: .4byte gUnknown_80E20E0
|
|
_08032AD0:
|
|
movs r0, 0x1
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
bne _08032B24
|
|
movs r0, 0x5
|
|
bl sub_8095324
|
|
adds r4, r0, 0
|
|
cmp r4, 0
|
|
bne _08032B24
|
|
ldr r0, _08032B04
|
|
ldr r0, [r0]
|
|
ldr r3, _08032B08
|
|
adds r0, r3
|
|
ldrb r2, [r0]
|
|
cmp r2, 0
|
|
beq _08032B14
|
|
ldr r0, _08032B0C
|
|
ldr r3, _08032B10
|
|
str r4, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
b _08032B66
|
|
.align 2, 0
|
|
_08032B04: .4byte gUnknown_203B33C
|
|
_08032B08: .4byte 0x0000052c
|
|
_08032B0C: .4byte gUnknown_80E25F4
|
|
_08032B10: .4byte gUnknown_80E2108
|
|
_08032B14:
|
|
ldr r0, _08032B1C
|
|
ldr r3, _08032B20
|
|
b _08032B5C
|
|
.align 2, 0
|
|
_08032B1C: .4byte gUnknown_80E25F4
|
|
_08032B20: .4byte gUnknown_80E20B8
|
|
_08032B24:
|
|
ldr r0, _08032B48
|
|
ldr r0, [r0]
|
|
ldr r4, _08032B4C
|
|
adds r0, r4
|
|
ldrb r2, [r0]
|
|
cmp r2, 0
|
|
beq _08032B58
|
|
ldr r0, _08032B50
|
|
ldr r3, _08032B54
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
bl _08033864
|
|
.align 2, 0
|
|
_08032B48: .4byte gUnknown_203B33C
|
|
_08032B4C: .4byte 0x0000052c
|
|
_08032B50: .4byte gUnknown_80E25F4
|
|
_08032B54: .4byte gUnknown_80E20E0
|
|
_08032B58:
|
|
ldr r0, _08032B78
|
|
ldr r3, _08032B7C
|
|
_08032B5C:
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
_08032B66:
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_8014248
|
|
bl _080338B4
|
|
.align 2, 0
|
|
_08032B78: .4byte gUnknown_80E25F4
|
|
_08032B7C: .4byte gUnknown_80E2068
|
|
_08032B80:
|
|
movs r0, 0x4
|
|
bl sub_8095324
|
|
adds r2, r0, 0
|
|
cmp r2, 0
|
|
beq _08032B9C
|
|
ldr r0, _08032B94
|
|
ldr r3, _08032B98
|
|
movs r2, 0
|
|
b _08032BA0
|
|
.align 2, 0
|
|
_08032B94: .4byte gUnknown_80E25F4
|
|
_08032B98: .4byte gUnknown_80E2130
|
|
_08032B9C:
|
|
ldr r0, _08032BBC
|
|
ldr r3, _08032BC0
|
|
_08032BA0:
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x3
|
|
bl sub_8014248
|
|
bl _080338B4
|
|
.align 2, 0
|
|
_08032BBC: .4byte gUnknown_80E25F4
|
|
_08032BC0: .4byte gUnknown_80E2190
|
|
_08032BC4:
|
|
movs r0, 0x1
|
|
bl sub_8095324
|
|
adds r4, r0, 0
|
|
cmp r4, 0
|
|
bne _08032C0C
|
|
movs r0, 0x5
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
bne _08032BF4
|
|
ldr r0, _08032BEC
|
|
ldr r3, _08032BF0
|
|
str r4, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
b _08032C38
|
|
.align 2, 0
|
|
_08032BEC: .4byte gUnknown_80E25F4
|
|
_08032BF0: .4byte gUnknown_80E2268
|
|
_08032BF4:
|
|
ldr r0, _08032C04
|
|
ldr r3, _08032C08
|
|
str r4, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
b _08032C38
|
|
.align 2, 0
|
|
_08032C04: .4byte gUnknown_80E25F4
|
|
_08032C08: .4byte gUnknown_80E2218
|
|
_08032C0C:
|
|
movs r0, 0x5
|
|
bl sub_8095324
|
|
adds r2, r0, 0
|
|
cmp r2, 0
|
|
bne _08032C28
|
|
ldr r0, _08032C20
|
|
ldr r3, _08032C24
|
|
b _08032C2E
|
|
.align 2, 0
|
|
_08032C20: .4byte gUnknown_80E25F4
|
|
_08032C24: .4byte gUnknown_80E2240
|
|
_08032C28:
|
|
ldr r0, _08032C48
|
|
ldr r3, _08032C4C
|
|
movs r2, 0
|
|
_08032C2E:
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
_08032C38:
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x11
|
|
bl sub_8014248
|
|
bl _080338B4
|
|
.align 2, 0
|
|
_08032C48: .4byte gUnknown_80E25F4
|
|
_08032C4C: .4byte gUnknown_80E21B8
|
|
_08032C50:
|
|
ldr r0, [r6]
|
|
movs r5, 0xA5
|
|
lsls r5, 3
|
|
adds r0, r5
|
|
ldr r0, [r0]
|
|
subs r0, 0x3
|
|
cmp r0, 0x11
|
|
bls _08032C64
|
|
bl _080338B4
|
|
_08032C64:
|
|
lsls r0, 2
|
|
ldr r1, _08032C70
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08032C70: .4byte _08032C74
|
|
.align 2, 0
|
|
_08032C74:
|
|
.4byte _08032CC8
|
|
.4byte _08032CD4
|
|
.4byte _080338B4
|
|
.4byte _080338B4
|
|
.4byte _080338B4
|
|
.4byte _080338B4
|
|
.4byte _080338B4
|
|
.4byte _080338B4
|
|
.4byte _080338B4
|
|
.4byte _080338B4
|
|
.4byte _080338B4
|
|
.4byte _080338B4
|
|
.4byte _080338B4
|
|
.4byte _080338B4
|
|
.4byte _08032CBC
|
|
.4byte _08032CE0
|
|
.4byte _08032CEC
|
|
.4byte _08032CF8
|
|
_08032CBC:
|
|
ldr r0, _08032CC4
|
|
bl _0803374A
|
|
.align 2, 0
|
|
_08032CC4: .4byte gUnknown_80E2610
|
|
_08032CC8:
|
|
ldr r0, _08032CD0
|
|
bl _0803374A
|
|
.align 2, 0
|
|
_08032CD0: .4byte gUnknown_80E2640
|
|
_08032CD4:
|
|
ldr r0, _08032CDC
|
|
bl _0803374A
|
|
.align 2, 0
|
|
_08032CDC: .4byte gUnknown_80E2680
|
|
_08032CE0:
|
|
ldr r0, _08032CE8
|
|
bl _0803374A
|
|
.align 2, 0
|
|
_08032CE8: .4byte gUnknown_80E26B0
|
|
_08032CEC:
|
|
ldr r0, _08032CF4
|
|
bl _0803374A
|
|
.align 2, 0
|
|
_08032CF4: .4byte gUnknown_80E26F0
|
|
_08032CF8:
|
|
ldr r0, _08032D00
|
|
bl _0803374A
|
|
.align 2, 0
|
|
_08032D00: .4byte gUnknown_80E2728
|
|
_08032D04:
|
|
ldr r0, _08032D0C
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032D0C: .4byte gUnknown_80E276C
|
|
_08032D10:
|
|
ldr r0, _08032D18
|
|
ldr r3, _08032D1C
|
|
bl _080336FC
|
|
.align 2, 0
|
|
_08032D18: .4byte gUnknown_80E27A4
|
|
_08032D1C: .4byte gUnknown_80E2458
|
|
_08032D20:
|
|
ldr r0, _08032D28
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032D28: .4byte gUnknown_80E2814
|
|
_08032D2C:
|
|
ldr r0, _08032D34
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032D34: .4byte gUnknown_80E2840
|
|
_08032D38:
|
|
ldr r0, _08032D40
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032D40: .4byte gUnknown_80E2874
|
|
_08032D44:
|
|
ldr r0, [r6]
|
|
ldr r1, _08032D60
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0xC
|
|
bne _08032D54
|
|
bl _080338B4
|
|
_08032D54:
|
|
cmp r0, 0xC
|
|
bhi _08032D64
|
|
cmp r0, 0xB
|
|
beq _08032D6C
|
|
bl _080338B4
|
|
.align 2, 0
|
|
_08032D60: .4byte 0x00000524
|
|
_08032D64:
|
|
cmp r0, 0xE
|
|
bls _08032D6C
|
|
bl _080338B4
|
|
_08032D6C:
|
|
ldr r0, _08032D74
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032D74: .4byte gUnknown_80E2898
|
|
_08032D78:
|
|
ldr r0, _08032D80
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032D80: .4byte gUnknown_80E28D8
|
|
_08032D84:
|
|
ldr r0, _08032D8C
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032D8C: .4byte gUnknown_80E2904
|
|
_08032D90:
|
|
ldr r0, _08032D98
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032D98: .4byte gUnknown_80E296C
|
|
_08032D9C:
|
|
bl sub_8030894
|
|
cmp r0, 0
|
|
beq _08032DA8
|
|
bl _080338B4
|
|
_08032DA8:
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x1
|
|
bl _080336A6
|
|
_08032DBC:
|
|
ldr r0, _08032DC4
|
|
ldr r3, _08032DC8
|
|
bl _080336FC
|
|
.align 2, 0
|
|
_08032DC4: .4byte gUnknown_80E29A0
|
|
_08032DC8: .4byte gUnknown_80E22B4
|
|
_08032DCC:
|
|
ldr r0, [r6]
|
|
ldr r2, _08032DE8
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
cmp r0, 0xC
|
|
bne _08032DDC
|
|
bl _080338B4
|
|
_08032DDC:
|
|
cmp r0, 0xC
|
|
bhi _08032DEC
|
|
cmp r0, 0xB
|
|
beq _08032DF4
|
|
bl _080338B4
|
|
.align 2, 0
|
|
_08032DE8: .4byte 0x00000524
|
|
_08032DEC:
|
|
cmp r0, 0xE
|
|
bls _08032DF4
|
|
bl _080338B4
|
|
_08032DF4:
|
|
ldr r0, _08032DFC
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032DFC: .4byte gUnknown_80E29D0
|
|
_08032E00:
|
|
ldr r0, _08032E08
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032E08: .4byte gUnknown_80E2A0C
|
|
_08032E0C:
|
|
ldr r0, [r6]
|
|
movs r3, 0xEF
|
|
lsls r3, 2
|
|
adds r0, r3
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r6]
|
|
movs r4, 0x86
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
b _0803343E
|
|
_08032E30:
|
|
ldr r0, _08032E38
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032E38: .4byte gUnknown_80E2A1C
|
|
_08032E3C:
|
|
ldr r0, _08032E44
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032E44: .4byte gUnknown_80E2A5C
|
|
_08032E48:
|
|
ldr r0, _08032E50
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032E50: .4byte gUnknown_80E2A80
|
|
_08032E54:
|
|
ldr r0, _08032E5C
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032E5C: .4byte gUnknown_80E2AA8
|
|
_08032E60:
|
|
ldr r0, _08032E68
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032E68: .4byte gUnknown_80E2AE4
|
|
_08032E6C:
|
|
ldr r0, [r6]
|
|
ldr r2, _08032E88
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
cmp r0, 0xC
|
|
bne _08032E7C
|
|
bl _080338B4
|
|
_08032E7C:
|
|
cmp r0, 0xC
|
|
bhi _08032E8C
|
|
cmp r0, 0xB
|
|
beq _08032E94
|
|
bl _080338B4
|
|
.align 2, 0
|
|
_08032E88: .4byte 0x00000524
|
|
_08032E8C:
|
|
cmp r0, 0xE
|
|
bls _08032E94
|
|
bl _080338B4
|
|
_08032E94:
|
|
ldr r0, _08032E9C
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032E9C: .4byte gUnknown_80E2B54
|
|
_08032EA0:
|
|
ldr r0, _08032EA8
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032EA8: .4byte gUnknown_80E2A0C
|
|
_08032EAC:
|
|
ldr r0, _08032EB4
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032EB4: .4byte gUnknown_80E2B90
|
|
_08032EB8:
|
|
ldr r0, _08032ED8
|
|
ldr r3, _08032EDC
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0xF
|
|
bl sub_8014248
|
|
bl _080338B4
|
|
.align 2, 0
|
|
_08032ED8: .4byte gUnknown_80E2BE0
|
|
_08032EDC: .4byte gUnknown_80E23A8
|
|
_08032EE0:
|
|
ldr r0, _08032EE8
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032EE8: .4byte gUnknown_80E2C48
|
|
_08032EEC:
|
|
bl sub_8023CE8
|
|
cmp r0, 0
|
|
beq _08032EF8
|
|
bl sub_8023C60
|
|
_08032EF8:
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x9
|
|
bl sub_8023868
|
|
bl _080338B4
|
|
_08032F16:
|
|
ldr r0, [r6]
|
|
movs r4, 0xD7
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
bl sub_8006518
|
|
ldr r1, [r6]
|
|
movs r5, 0x87
|
|
lsls r5, 2
|
|
adds r0, r1, r5
|
|
adds r1, r4
|
|
ldr r3, _08032F4C
|
|
ldr r2, _08032F50
|
|
str r2, [sp]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
movs r2, 0x3
|
|
bl SetMenuItems
|
|
bl sub_8023DA4
|
|
bl _080336E2
|
|
.align 2, 0
|
|
_08032F4C: .4byte gUnknown_80E2334
|
|
_08032F50: .4byte gUnknown_80E234C
|
|
_08032F54:
|
|
ldr r0, _08032F74
|
|
ldr r3, _08032F78
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl sub_8014248
|
|
bl _080338B4
|
|
.align 2, 0
|
|
_08032F74: .4byte gUnknown_80E2C94
|
|
_08032F78: .4byte gUnknown_80E22F0
|
|
_08032F7C:
|
|
ldr r0, _08032F84
|
|
ldr r3, _08032F88
|
|
bl _080336FC
|
|
.align 2, 0
|
|
_08032F84: .4byte gUnknown_80E2CD4
|
|
_08032F88: .4byte gUnknown_80E22D0
|
|
_08032F8C:
|
|
ldr r0, _08032F94
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032F94: .4byte gUnknown_80E2CE8
|
|
_08032F98:
|
|
bl sub_8030894
|
|
cmp r0, 0
|
|
beq _08032FA4
|
|
bl _080338B4
|
|
_08032FA4:
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x4
|
|
b _080336A6
|
|
_08032FB6:
|
|
ldr r0, _08032FBC
|
|
ldr r3, _08032FC0
|
|
b _080336FC
|
|
.align 2, 0
|
|
_08032FBC: .4byte gUnknown_80E2D30
|
|
_08032FC0: .4byte gUnknown_80E22B4
|
|
_08032FC4:
|
|
ldr r0, _08032FCC
|
|
bl _0803388E
|
|
.align 2, 0
|
|
_08032FCC: .4byte gUnknown_80E2D60
|
|
_08032FD0:
|
|
ldr r0, _08032FD4
|
|
b _080336FA
|
|
.align 2, 0
|
|
_08032FD4: .4byte gUnknown_80E2D7C
|
|
_08032FD8:
|
|
ldr r0, _08032FDC
|
|
b _080336FA
|
|
.align 2, 0
|
|
_08032FDC: .4byte gUnknown_80E2E20
|
|
_08032FE0:
|
|
ldr r0, _08032FE4
|
|
b _08033574
|
|
.align 2, 0
|
|
_08032FE4: .4byte gUnknown_80E2E54
|
|
_08032FE8:
|
|
ldr r0, _08032FEC
|
|
b _08033574
|
|
.align 2, 0
|
|
_08032FEC: .4byte gUnknown_80E2EB4
|
|
_08032FF0:
|
|
ldr r1, [r6]
|
|
movs r0, 0
|
|
str r0, [r1, 0x44]
|
|
bl sub_8011830
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x40]
|
|
bl sub_8037B28
|
|
adds r4, r0, 0
|
|
ldr r0, [r6]
|
|
str r4, [r0, 0x44]
|
|
cmp r4, 0
|
|
beq _0803300E
|
|
b _080333DE
|
|
_0803300E:
|
|
ldr r1, [r0, 0x40]
|
|
cmp r1, 0x3
|
|
beq _08033028
|
|
cmp r1, 0x3
|
|
bhi _0803301E
|
|
cmp r1, 0x2
|
|
beq _0803304A
|
|
b _0803313C
|
|
_0803301E:
|
|
cmp r1, 0x4
|
|
beq _080330B4
|
|
cmp r1, 0x5
|
|
beq _0803308E
|
|
b _0803313C
|
|
_08033028:
|
|
adds r0, 0x48
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
adds r0, 0x78
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r2, [r6]
|
|
ldr r0, [r2, 0x40]
|
|
adds r1, r2, 0
|
|
adds r1, 0x48
|
|
adds r2, 0x78
|
|
b _08033134
|
|
_0803304A:
|
|
adds r0, 0x48
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
adds r0, 0x78
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r3, 0x86
|
|
lsls r3, 2
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
bl sub_8095228
|
|
ldr r1, [r6]
|
|
adds r1, 0x48
|
|
ldm r0!, {r2,r4,r5}
|
|
stm r1!, {r2,r4,r5}
|
|
ldm r0!, {r3-r5}
|
|
stm r1!, {r3-r5}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldr r2, [r6]
|
|
ldr r0, [r2, 0x40]
|
|
adds r1, r2, 0
|
|
adds r1, 0x48
|
|
adds r2, 0x78
|
|
b _08033134
|
|
_0803308E:
|
|
adds r0, 0xA8
|
|
movs r1, 0
|
|
movs r2, 0x88
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r4, 0x98
|
|
lsls r4, 1
|
|
adds r0, r4
|
|
movs r1, 0
|
|
movs r2, 0x88
|
|
bl MemoryFill8
|
|
ldr r2, [r6]
|
|
ldr r0, [r2, 0x40]
|
|
adds r1, r2, 0
|
|
adds r1, 0xA8
|
|
adds r2, r4
|
|
b _08033134
|
|
_080330B4:
|
|
adds r0, 0xA8
|
|
movs r1, 0
|
|
movs r2, 0x88
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r5, 0x98
|
|
lsls r5, 1
|
|
adds r0, r5
|
|
movs r1, 0
|
|
movs r2, 0x88
|
|
bl MemoryFill8
|
|
ldr r1, [r6]
|
|
adds r0, r1, 0
|
|
adds r0, 0xE0
|
|
strh r4, [r0]
|
|
movs r2, 0xB4
|
|
lsls r2, 1
|
|
adds r0, r1, r2
|
|
strh r4, [r0]
|
|
movs r3, 0x86
|
|
lsls r3, 2
|
|
adds r0, r1, r3
|
|
ldrb r0, [r0]
|
|
bl sub_8095228
|
|
ldr r1, [r6]
|
|
adds r1, 0xA8
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r2, [r6]
|
|
movs r4, 0xA7
|
|
lsls r4, 3
|
|
adds r3, r2, r4
|
|
movs r0, 0
|
|
ldrsh r1, [r3, r0]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0803312A
|
|
adds r0, r2, 0
|
|
adds r0, 0xD8
|
|
ldr r1, _08033188
|
|
ldr r1, [r1]
|
|
movs r2, 0
|
|
ldrsh r3, [r3, r2]
|
|
movs r2, 0x58
|
|
muls r2, r3
|
|
adds r1, r2
|
|
movs r2, 0x58
|
|
bl memcpy
|
|
_0803312A:
|
|
ldr r2, [r6]
|
|
ldr r0, [r2, 0x40]
|
|
adds r1, r2, 0
|
|
adds r1, 0xA8
|
|
adds r2, r5
|
|
_08033134:
|
|
bl sub_8037D64
|
|
ldr r1, [r6]
|
|
str r0, [r1, 0x44]
|
|
_0803313C:
|
|
ldr r4, _0803318C
|
|
ldr r2, [r4]
|
|
ldr r0, [r2, 0x44]
|
|
cmp r0, 0
|
|
beq _08033148
|
|
b _080333DE
|
|
_08033148:
|
|
ldr r0, [r2, 0x40]
|
|
cmp r0, 0x2
|
|
bcs _08033150
|
|
b _080333DE
|
|
_08033150:
|
|
cmp r0, 0x3
|
|
bls _08033190
|
|
cmp r0, 0x5
|
|
bls _0803315A
|
|
b _080333DE
|
|
_0803315A:
|
|
adds r1, r2, 0
|
|
adds r1, 0xA8
|
|
movs r3, 0x98
|
|
lsls r3, 1
|
|
adds r2, r3
|
|
bl sub_80381F4
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x44]
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080331C0
|
|
ldr r0, [r4]
|
|
movs r4, 0x84
|
|
lsls r4, 3
|
|
adds r1, r0, r4
|
|
movs r5, 0xA0
|
|
lsls r5, 1
|
|
adds r0, r5
|
|
b _080333DA
|
|
.align 2, 0
|
|
_08033188: .4byte gUnknown_203B45C
|
|
_0803318C: .4byte gUnknown_203B33C
|
|
_08033190:
|
|
adds r1, r2, 0
|
|
adds r1, 0x48
|
|
adds r2, 0x78
|
|
bl sub_80381F4
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x44]
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080331B4
|
|
ldr r0, [r4]
|
|
movs r2, 0x84
|
|
lsls r2, 3
|
|
adds r1, r0, r2
|
|
adds r0, 0x88
|
|
b _080333DA
|
|
_080331B4:
|
|
ldr r0, [r4]
|
|
movs r3, 0x84
|
|
lsls r3, 3
|
|
adds r1, r0, r3
|
|
ldr r0, [r0, 0x58]
|
|
b _080333DC
|
|
_080331C0:
|
|
ldr r0, [r4]
|
|
movs r4, 0x84
|
|
lsls r4, 3
|
|
adds r1, r0, r4
|
|
adds r0, 0xB8
|
|
b _080333DA
|
|
_080331CC:
|
|
ldr r0, _080331D0
|
|
b _0803388E
|
|
.align 2, 0
|
|
_080331D0: .4byte gUnknown_80E2F14
|
|
_080331D4:
|
|
ldr r0, _080331D8
|
|
b _0803388E
|
|
.align 2, 0
|
|
_080331D8: .4byte gUnknown_80E2F44
|
|
_080331DC:
|
|
bl sub_8030894
|
|
cmp r0, 0
|
|
beq _080331E6
|
|
b _080338B4
|
|
_080331E6:
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x1
|
|
b _080336A6
|
|
_080331F8:
|
|
ldr r0, _080331FC
|
|
b _080336FA
|
|
.align 2, 0
|
|
_080331FC: .4byte gUnknown_80E2F78
|
|
_08033200:
|
|
ldr r0, _08033204
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033204: .4byte gUnknown_80E2FA0
|
|
_08033208:
|
|
ldr r0, [r6]
|
|
ldr r5, _08033220
|
|
adds r0, r5
|
|
ldr r0, [r0]
|
|
cmp r0, 0xC
|
|
bne _08033216
|
|
b _080338B4
|
|
_08033216:
|
|
cmp r0, 0xC
|
|
bhi _08033224
|
|
cmp r0, 0xB
|
|
beq _0803322A
|
|
b _080338B4
|
|
.align 2, 0
|
|
_08033220: .4byte 0x00000524
|
|
_08033224:
|
|
cmp r0, 0xE
|
|
bls _0803322A
|
|
b _080338B4
|
|
_0803322A:
|
|
ldr r0, _08033230
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033230: .4byte gUnknown_80E2FEC
|
|
_08033234:
|
|
ldr r0, _08033238
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033238: .4byte gUnknown_80E3030
|
|
_0803323C:
|
|
ldr r0, _08033240
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033240: .4byte gUnknown_80E3078
|
|
_08033244:
|
|
ldr r0, [r6]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
b _080333F4
|
|
_0803324E:
|
|
ldr r0, _08033254
|
|
ldr r3, _08033258
|
|
b _080336FC
|
|
.align 2, 0
|
|
_08033254: .4byte gUnknown_80E30A4
|
|
_08033258: .4byte gUnknown_80E2458
|
|
_0803325C:
|
|
ldr r0, _08033260
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033260: .4byte gUnknown_80E30D0
|
|
_08033264:
|
|
ldr r0, [r6]
|
|
movs r4, 0xD7
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
bl sub_8006518
|
|
ldr r1, [r6]
|
|
movs r5, 0x87
|
|
lsls r5, 2
|
|
adds r0, r1, r5
|
|
adds r1, r4
|
|
ldr r3, _08033280
|
|
ldr r2, _08033284
|
|
b _080336CC
|
|
.align 2, 0
|
|
_08033280: .4byte gUnknown_80E231C
|
|
_08033284: .4byte gUnknown_80E2408
|
|
_08033288:
|
|
bl sub_801D008
|
|
cmp r0, 0
|
|
beq _08033292
|
|
b _080338B4
|
|
_08033292:
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, _080332B4
|
|
str r0, [sp, 0x64]
|
|
add r2, sp, 0x64
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r3, 0x9
|
|
bl sub_801C8C4
|
|
b _080338B4
|
|
.align 2, 0
|
|
_080332B4: .4byte 0x00020003
|
|
_080332B8:
|
|
ldr r0, [r6]
|
|
movs r4, 0xD7
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
bl sub_8006518
|
|
ldr r1, [r6]
|
|
movs r5, 0x87
|
|
lsls r5, 2
|
|
adds r0, r1, r5
|
|
adds r1, r4
|
|
ldr r3, _080332EC
|
|
ldr r2, _080332F0
|
|
str r2, [sp]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
movs r2, 0x3
|
|
bl SetMenuItems
|
|
bl sub_801CCD8
|
|
b _080336E2
|
|
.align 2, 0
|
|
_080332EC: .4byte gUnknown_80E23F0
|
|
_080332F0: .4byte gUnknown_80E2408
|
|
_080332F4:
|
|
ldr r1, [r6]
|
|
movs r0, 0
|
|
str r0, [r1, 0x44]
|
|
bl sub_8011830
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x40]
|
|
bl sub_8037B28
|
|
ldr r1, [r6]
|
|
str r0, [r1, 0x44]
|
|
cmp r0, 0
|
|
bne _080333DE
|
|
ldr r0, [r1, 0x40]
|
|
cmp r0, 0x6
|
|
beq _0803331A
|
|
cmp r0, 0x7
|
|
beq _08033358
|
|
b _08033388
|
|
_0803331A:
|
|
movs r4, 0xDC
|
|
lsls r4, 1
|
|
adds r0, r1, r4
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r2, 0x86
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
bl sub_8095228
|
|
ldr r1, [r6]
|
|
adds r1, r4
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldr r2, [r6]
|
|
ldr r0, [r2, 0x40]
|
|
adds r4, r2, r4
|
|
movs r3, 0xF4
|
|
lsls r3, 1
|
|
adds r2, r3
|
|
b _0803337E
|
|
_08033358:
|
|
movs r4, 0xDC
|
|
lsls r4, 1
|
|
adds r0, r1, r4
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r5, 0xF4
|
|
lsls r5, 1
|
|
adds r0, r5
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r2, [r6]
|
|
ldr r0, [r2, 0x40]
|
|
adds r4, r2, r4
|
|
adds r2, r5
|
|
_0803337E:
|
|
adds r1, r4, 0
|
|
bl sub_8037D64
|
|
ldr r1, [r6]
|
|
str r0, [r1, 0x44]
|
|
_08033388:
|
|
ldr r4, _080333C8
|
|
ldr r2, [r4]
|
|
ldr r0, [r2, 0x44]
|
|
cmp r0, 0
|
|
bne _080333DE
|
|
ldr r0, [r2, 0x40]
|
|
cmp r0, 0x7
|
|
bhi _080333DE
|
|
cmp r0, 0x6
|
|
bcc _080333DE
|
|
movs r5, 0xDC
|
|
lsls r5, 1
|
|
adds r1, r2, r5
|
|
movs r3, 0xF4
|
|
lsls r3, 1
|
|
adds r2, r3
|
|
bl sub_80381F4
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x44]
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080333CC
|
|
ldr r0, [r4]
|
|
movs r4, 0x84
|
|
lsls r4, 3
|
|
adds r1, r0, r4
|
|
adds r5, 0x40
|
|
adds r0, r5
|
|
b _080333DA
|
|
.align 2, 0
|
|
_080333C8: .4byte gUnknown_203B33C
|
|
_080333CC:
|
|
ldr r0, [r4]
|
|
movs r2, 0x84
|
|
lsls r2, 3
|
|
adds r1, r0, r2
|
|
movs r3, 0xE4
|
|
lsls r3, 1
|
|
adds r0, r3
|
|
_080333DA:
|
|
ldr r0, [r0]
|
|
_080333DC:
|
|
str r0, [r1]
|
|
_080333DE:
|
|
bl sub_8011854
|
|
b _080338B4
|
|
_080333E4:
|
|
ldr r0, _080333E8
|
|
b _0803388E
|
|
.align 2, 0
|
|
_080333E8: .4byte gUnknown_80E311C
|
|
_080333EC:
|
|
ldr r0, [r6]
|
|
movs r4, 0xEF
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
_080333F4:
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r1, [r6]
|
|
adds r1, 0x8
|
|
movs r0, 0x4
|
|
bl sub_80151C0
|
|
b _080338B4
|
|
_08033412:
|
|
ldr r0, _08033418
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033418: .4byte gUnknown_80E314C
|
|
_0803341C:
|
|
ldr r0, [r6]
|
|
movs r5, 0xEF
|
|
lsls r5, 2
|
|
adds r0, r5
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r6]
|
|
movs r1, 0x86
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
_0803343E:
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_8031D70
|
|
b _080338B4
|
|
_08033448:
|
|
ldr r0, _0803344C
|
|
b _0803388E
|
|
.align 2, 0
|
|
_0803344C: .4byte gUnknown_80E317C
|
|
_08033450:
|
|
ldr r0, _08033454
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033454: .4byte gUnknown_80E319C
|
|
_08033458:
|
|
ldr r0, _0803345C
|
|
b _0803388E
|
|
.align 2, 0
|
|
_0803345C: .4byte gUnknown_80E317C
|
|
_08033460:
|
|
ldr r0, _08033464
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033464: .4byte gUnknown_80E31D8
|
|
_08033468:
|
|
ldr r0, _0803346C
|
|
b _0803388E
|
|
.align 2, 0
|
|
_0803346C: .4byte gUnknown_80E31FC
|
|
_08033470:
|
|
ldr r0, [r6]
|
|
ldr r2, _08033488
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
cmp r0, 0xC
|
|
bne _0803347E
|
|
b _080338B4
|
|
_0803347E:
|
|
cmp r0, 0xC
|
|
bhi _0803348C
|
|
cmp r0, 0xB
|
|
beq _08033492
|
|
b _080338B4
|
|
.align 2, 0
|
|
_08033488: .4byte 0x00000524
|
|
_0803348C:
|
|
cmp r0, 0xE
|
|
bls _08033492
|
|
b _080338B4
|
|
_08033492:
|
|
ldr r0, _08033498
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033498: .4byte gUnknown_80E3220
|
|
_0803349C:
|
|
movs r0, 0x98
|
|
lsls r0, 1
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r4, _080334F8
|
|
ldr r0, [r4]
|
|
ldr r3, _080334FC
|
|
adds r0, r3
|
|
bl strcpy
|
|
ldr r1, [r4]
|
|
movs r5, 0xAA
|
|
lsls r5, 3
|
|
adds r0, r1, r5
|
|
movs r2, 0
|
|
strh r2, [r0]
|
|
ldr r0, _08033500
|
|
adds r1, r0
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
ldr r3, _08033504
|
|
adds r1, r0, r3
|
|
str r2, [r1]
|
|
movs r5, 0x84
|
|
lsls r5, 3
|
|
adds r0, r5
|
|
ldr r1, [r0]
|
|
movs r0, 0x6
|
|
bl sub_809539C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8095228
|
|
adds r2, r0, 0
|
|
adds r0, 0x22
|
|
ldrb r1, [r0]
|
|
cmp r1, 0
|
|
beq _08033508
|
|
ldr r0, [r4]
|
|
movs r3, 0xAB
|
|
lsls r3, 3
|
|
adds r0, r3
|
|
b _08033512
|
|
.align 2, 0
|
|
_080334F8: .4byte gUnknown_203B33C
|
|
_080334FC: .4byte 0x0000053c
|
|
_08033500: .4byte 0x00000552
|
|
_08033504: .4byte 0x00000554
|
|
_08033508:
|
|
ldr r0, [r4]
|
|
movs r4, 0xAB
|
|
lsls r4, 3
|
|
adds r0, r4
|
|
movs r1, 0
|
|
_08033512:
|
|
strb r1, [r0]
|
|
ldr r4, _08033558
|
|
ldr r0, [r4]
|
|
ldr r5, _0803355C
|
|
adds r0, r5
|
|
movs r5, 0
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
adds r0, r2, 0x4
|
|
movs r1, 0
|
|
bl sub_803C200
|
|
ldr r1, [r4]
|
|
movs r3, 0xAC
|
|
lsls r3, 3
|
|
adds r2, r1, r3
|
|
str r0, [r2]
|
|
ldr r0, _08033560
|
|
adds r1, r0
|
|
strb r5, [r1]
|
|
ldr r0, [r4]
|
|
ldr r1, _08033564
|
|
adds r0, r1
|
|
strb r5, [r0]
|
|
ldr r0, [r4]
|
|
ldr r2, _08033568
|
|
adds r0, r2
|
|
strb r5, [r0]
|
|
ldr r0, [r4]
|
|
subs r3, 0x24
|
|
adds r0, r3
|
|
movs r1, 0
|
|
bl sub_802F204
|
|
b _080338B4
|
|
.align 2, 0
|
|
_08033558: .4byte gUnknown_203B33C
|
|
_0803355C: .4byte 0x0000055b
|
|
_08033560: .4byte 0x00000559
|
|
_08033564: .4byte 0x0000055a
|
|
_08033568: .4byte 0x0000055c
|
|
_0803356C:
|
|
movs r0, 0
|
|
bl nullsub_23
|
|
ldr r0, _08033580
|
|
_08033574:
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_80141B4
|
|
b _080338B4
|
|
.align 2, 0
|
|
_08033580: .4byte gUnknown_80E2DD0
|
|
_08033584:
|
|
ldr r0, [r6]
|
|
ldr r4, _0803359C
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
cmp r0, 0xC
|
|
bne _08033592
|
|
b _080338B4
|
|
_08033592:
|
|
cmp r0, 0xC
|
|
bhi _080335A0
|
|
cmp r0, 0xB
|
|
beq _080335A6
|
|
b _080338B4
|
|
.align 2, 0
|
|
_0803359C: .4byte 0x00000524
|
|
_080335A0:
|
|
cmp r0, 0xE
|
|
bls _080335A6
|
|
b _080338B4
|
|
_080335A6:
|
|
ldr r0, _080335AC
|
|
b _0803388E
|
|
.align 2, 0
|
|
_080335AC: .4byte gUnknown_80E3248
|
|
_080335B0:
|
|
ldr r0, _080335B4
|
|
b _0803388E
|
|
.align 2, 0
|
|
_080335B4: .4byte gUnknown_80E3288
|
|
_080335B8:
|
|
ldr r0, _080335BC
|
|
b _080336FA
|
|
.align 2, 0
|
|
_080335BC: .4byte gUnknown_80E2D7C
|
|
_080335C0:
|
|
bl sub_808D33C
|
|
adds r1, r0, 0
|
|
adds r1, 0x4C
|
|
add r0, sp, 0x14
|
|
movs r2, 0xA
|
|
bl sub_80922B4
|
|
ldr r5, _080335E8
|
|
ldr r0, [r5]
|
|
ldr r4, _080335EC
|
|
adds r0, r4
|
|
ldr r1, _080335F0
|
|
add r2, sp, 0x14
|
|
bl sub_800D158
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
b _0803388E
|
|
.align 2, 0
|
|
_080335E8: .4byte gUnknown_203B33C
|
|
_080335EC: .4byte 0x00000424
|
|
_080335F0: .4byte gUnknown_80E32C4
|
|
_080335F4:
|
|
ldr r0, _080335FC
|
|
ldr r3, _08033600
|
|
b _080336FC
|
|
.align 2, 0
|
|
_080335FC: .4byte gUnknown_80E331C
|
|
_08033600: .4byte gUnknown_80E24D8
|
|
_08033604:
|
|
ldr r0, _08033608
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033608: .4byte gUnknown_80E317C
|
|
_0803360C:
|
|
ldr r0, _08033610
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033610: .4byte gUnknown_80E2A0C
|
|
_08033614:
|
|
ldr r0, _08033618
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033618: .4byte gUnknown_80E3378
|
|
_0803361C:
|
|
ldr r0, _0803363C
|
|
ldr r3, _08033640
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x16
|
|
bl sub_8014248
|
|
b _080338B4
|
|
.align 2, 0
|
|
_0803363C: .4byte gUnknown_80E339C
|
|
_08033640: .4byte gUnknown_80E24B0
|
|
_08033644:
|
|
ldr r0, _08033664
|
|
ldr r3, _08033668
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x15
|
|
bl sub_8014248
|
|
b _080338B4
|
|
.align 2, 0
|
|
_08033664: .4byte gUnknown_80E33D8
|
|
_08033668: .4byte gUnknown_80E2470
|
|
_0803366C:
|
|
ldr r0, _08033670
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033670: .4byte gUnknown_80E3430
|
|
_08033674:
|
|
ldr r0, _0803367C
|
|
ldr r3, _08033680
|
|
b _080336FC
|
|
.align 2, 0
|
|
_0803367C: .4byte gUnknown_80E34B0
|
|
_08033680: .4byte gUnknown_80E2440
|
|
_08033684:
|
|
ldr r0, _08033688
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033688: .4byte gUnknown_80E34F0
|
|
_0803368C:
|
|
bl sub_8030894
|
|
cmp r0, 0
|
|
beq _08033696
|
|
b _080338B4
|
|
_08033696:
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x5
|
|
_080336A6:
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x6
|
|
bl sub_80306A8
|
|
b _080338B4
|
|
_080336B2:
|
|
ldr r0, [r6]
|
|
movs r4, 0xD7
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
bl sub_8006518
|
|
ldr r1, [r6]
|
|
movs r5, 0x87
|
|
lsls r5, 2
|
|
adds r0, r1, r5
|
|
adds r1, r4
|
|
ldr r3, _080336F0
|
|
ldr r2, _080336F4
|
|
_080336CC:
|
|
str r2, [sp]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
movs r2, 0x3
|
|
bl SetMenuItems
|
|
bl sub_803092C
|
|
_080336E2:
|
|
ldr r0, [r6]
|
|
adds r0, r5
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
b _080338B4
|
|
.align 2, 0
|
|
_080336F0: .4byte gUnknown_80E231C
|
|
_080336F4: .4byte gUnknown_80E234C
|
|
_080336F8:
|
|
ldr r0, _08033718
|
|
_080336FA:
|
|
ldr r3, _0803371C
|
|
_080336FC:
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x6
|
|
bl sub_8014248
|
|
b _080338B4
|
|
.align 2, 0
|
|
_08033718: .4byte gUnknown_80E352C
|
|
_0803371C: .4byte gUnknown_80E2290
|
|
_08033720:
|
|
ldr r0, _08033724
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033724: .4byte gUnknown_80E355C
|
|
_08033728:
|
|
ldr r0, _0803372C
|
|
b _0803388E
|
|
.align 2, 0
|
|
_0803372C: .4byte gUnknown_80E35AC
|
|
_08033730:
|
|
ldr r0, _08033734
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033734: .4byte gUnknown_80E35E8
|
|
_08033738:
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x40]
|
|
cmp r0, 0x6
|
|
bne _08033748
|
|
ldr r0, _08033744
|
|
b _0803374A
|
|
.align 2, 0
|
|
_08033744: .4byte gUnknown_80E360C
|
|
_08033748:
|
|
ldr r0, _08033768
|
|
_0803374A:
|
|
ldr r3, _0803376C
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0xB
|
|
bl sub_8014248
|
|
b _080338B4
|
|
.align 2, 0
|
|
_08033768: .4byte gUnknown_80E3644
|
|
_0803376C: .4byte gUnknown_80E236C
|
|
_08033770:
|
|
ldr r0, _08033780
|
|
ldr r1, [r6]
|
|
ldr r5, _08033784
|
|
adds r1, r5
|
|
ldr r2, [r1]
|
|
ldr r3, _08033788
|
|
b _08033858
|
|
.align 2, 0
|
|
_08033780: .4byte gUnknown_80E367C
|
|
_08033784: .4byte 0x00000564
|
|
_08033788: .4byte gUnknown_80E25B4
|
|
_0803378C:
|
|
ldr r0, [r6]
|
|
ldr r1, _080337A4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0x24
|
|
beq _080337BC
|
|
cmp r0, 0x24
|
|
bgt _080337A8
|
|
cmp r0, 0x23
|
|
beq _080337B2
|
|
b _080338B4
|
|
.align 2, 0
|
|
_080337A4: .4byte 0x00000564
|
|
_080337A8:
|
|
cmp r0, 0x25
|
|
beq _080337C4
|
|
cmp r0, 0x26
|
|
beq _080337CC
|
|
b _080338B4
|
|
_080337B2:
|
|
ldr r0, _080337B8
|
|
b _0803388E
|
|
.align 2, 0
|
|
_080337B8: .4byte gUnknown_80E3690
|
|
_080337BC:
|
|
ldr r0, _080337C0
|
|
b _0803388E
|
|
.align 2, 0
|
|
_080337C0: .4byte gUnknown_80E3818
|
|
_080337C4:
|
|
ldr r0, _080337C8
|
|
b _0803388E
|
|
.align 2, 0
|
|
_080337C8: .4byte gUnknown_80E3998
|
|
_080337CC:
|
|
ldr r0, _080337D0
|
|
b _0803388E
|
|
.align 2, 0
|
|
_080337D0: .4byte gUnknown_80E3B1C
|
|
_080337D4:
|
|
ldr r0, _080337E4
|
|
ldr r1, [r6]
|
|
ldr r2, _080337E8
|
|
adds r1, r2
|
|
ldr r2, [r1]
|
|
ldr r3, _080337EC
|
|
b _08033858
|
|
.align 2, 0
|
|
_080337E4: .4byte gUnknown_80E367C
|
|
_080337E8: .4byte 0x00000564
|
|
_080337EC: .4byte gUnknown_80E2554
|
|
_080337F0:
|
|
ldr r0, [r6]
|
|
ldr r3, _08033808
|
|
adds r0, r3
|
|
ldr r0, [r0]
|
|
subs r0, 0x1E
|
|
cmp r0, 0x4
|
|
bhi _080338B4
|
|
lsls r0, 2
|
|
ldr r1, _0803380C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08033808: .4byte 0x00000564
|
|
_0803380C: .4byte _08033810
|
|
.align 2, 0
|
|
_08033810:
|
|
.4byte _08033824
|
|
.4byte _0803382C
|
|
.4byte _0803383C
|
|
.4byte _08033834
|
|
.4byte _08033844
|
|
_08033824:
|
|
ldr r0, _08033828
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033828: .4byte gUnknown_80E3BF8
|
|
_0803382C:
|
|
ldr r0, _08033830
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033830: .4byte gUnknown_80E3DE4
|
|
_08033834:
|
|
ldr r0, _08033838
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033838: .4byte gUnknown_80E3E98
|
|
_0803383C:
|
|
ldr r0, _08033840
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033840: .4byte gUnknown_80E4014
|
|
_08033844:
|
|
ldr r0, _08033848
|
|
b _0803388E
|
|
.align 2, 0
|
|
_08033848: .4byte gUnknown_80E4130
|
|
_0803384C:
|
|
ldr r0, _08033870
|
|
ldr r1, [r6]
|
|
ldr r4, _08033874
|
|
adds r1, r4
|
|
ldr r2, [r1]
|
|
ldr r3, _08033878
|
|
_08033858:
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
_08033864:
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
bl sub_8014248
|
|
b _080338B4
|
|
.align 2, 0
|
|
_08033870: .4byte gUnknown_80E367C
|
|
_08033874: .4byte 0x00000564
|
|
_08033878: .4byte gUnknown_80E24F8
|
|
_0803387C:
|
|
ldr r0, [r6]
|
|
ldr r5, _0803389C
|
|
adds r0, r5
|
|
ldr r0, [r0]
|
|
cmp r0, 0x1A
|
|
beq _080338A8
|
|
cmp r0, 0x1D
|
|
bne _080338B4
|
|
ldr r0, _080338A0
|
|
_0803388E:
|
|
ldr r3, _080338A4
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _080338B4
|
|
.align 2, 0
|
|
_0803389C: .4byte 0x00000564
|
|
_080338A0: .4byte gUnknown_80E41DC
|
|
_080338A4: .4byte 0x00000101
|
|
_080338A8:
|
|
ldr r0, _080338BC
|
|
ldr r3, _080338C0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
_080338B4:
|
|
add sp, 0x68
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080338BC: .4byte gUnknown_80E4314
|
|
_080338C0: .4byte 0x00000101
|
|
thumb_func_end sub_8032828
|
|
|
|
thumb_func_start sub_80338C4
|
|
sub_80338C4:
|
|
push {lr}
|
|
ldr r1, _080338D8
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl nullsub_40
|
|
bl sub_8032828
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080338D8: .4byte gUnknown_203B33C
|
|
thumb_func_end sub_80338C4
|
|
|
|
thumb_func_start sub_80338DC
|
|
sub_80338DC:
|
|
push {lr}
|
|
cmp r0, 0x10
|
|
bls _080338E4
|
|
b _080339BC
|
|
_080338E4:
|
|
lsls r0, 2
|
|
ldr r1, _080338F0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080338F0: .4byte _080338F4
|
|
.align 2, 0
|
|
_080338F4:
|
|
.4byte _080339BC
|
|
.4byte _08033998
|
|
.4byte _08033940
|
|
.4byte _08033938
|
|
.4byte _08033948
|
|
.4byte _08033998
|
|
.4byte _08033950
|
|
.4byte _08033958
|
|
.4byte _08033960
|
|
.4byte _08033968
|
|
.4byte _08033970
|
|
.4byte _08033978
|
|
.4byte _08033980
|
|
.4byte _08033990
|
|
.4byte _08033998
|
|
.4byte _080339B0
|
|
.4byte _08033988
|
|
_08033938:
|
|
ldr r0, _0803393C
|
|
b _0803399A
|
|
.align 2, 0
|
|
_0803393C: .4byte gUnknown_80E44A4
|
|
_08033940:
|
|
ldr r0, _08033944
|
|
b _0803399A
|
|
.align 2, 0
|
|
_08033944: .4byte gUnknown_80E4500
|
|
_08033948:
|
|
ldr r0, _0803394C
|
|
b _0803399A
|
|
.align 2, 0
|
|
_0803394C: .4byte gUnknown_80E4550
|
|
_08033950:
|
|
ldr r0, _08033954
|
|
b _0803399A
|
|
.align 2, 0
|
|
_08033954: .4byte gUnknown_80E45B4
|
|
_08033958:
|
|
ldr r0, _0803395C
|
|
b _0803399A
|
|
.align 2, 0
|
|
_0803395C: .4byte gUnknown_80E460C
|
|
_08033960:
|
|
ldr r0, _08033964
|
|
b _0803399A
|
|
.align 2, 0
|
|
_08033964: .4byte gUnknown_80E4650
|
|
_08033968:
|
|
ldr r0, _0803396C
|
|
b _0803399A
|
|
.align 2, 0
|
|
_0803396C: .4byte gUnknown_80E468C
|
|
_08033970:
|
|
ldr r0, _08033974
|
|
b _0803399A
|
|
.align 2, 0
|
|
_08033974: .4byte gUnknown_80E46C8
|
|
_08033978:
|
|
ldr r0, _0803397C
|
|
b _0803399A
|
|
.align 2, 0
|
|
_0803397C: .4byte gUnknown_80E4704
|
|
_08033980:
|
|
ldr r0, _08033984
|
|
b _0803399A
|
|
.align 2, 0
|
|
_08033984: .4byte gUnknown_80E4744
|
|
_08033988:
|
|
ldr r0, _0803398C
|
|
b _0803399A
|
|
.align 2, 0
|
|
_0803398C: .4byte gUnknown_80E4788
|
|
_08033990:
|
|
ldr r0, _08033994
|
|
b _0803399A
|
|
.align 2, 0
|
|
_08033994: .4byte gUnknown_80E47D8
|
|
_08033998:
|
|
ldr r0, _080339A8
|
|
_0803399A:
|
|
ldr r3, _080339AC
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _080339BC
|
|
.align 2, 0
|
|
_080339A8: .4byte gUnknown_80E4480
|
|
_080339AC: .4byte 0x00000101
|
|
_080339B0:
|
|
ldr r0, _080339C0
|
|
ldr r3, _080339C4
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
_080339BC:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080339C0: .4byte gUnknown_80E482C
|
|
_080339C4: .4byte 0x00000101
|
|
thumb_func_end sub_80338DC
|
|
|
|
thumb_func_start sub_80339C8
|
|
sub_80339C8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08033A24
|
|
ldr r0, _080339F4
|
|
ldr r0, [r0]
|
|
movs r1, 0xA7
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r1, _080339F8
|
|
strh r1, [r0]
|
|
ldr r0, [sp]
|
|
cmp r0, 0x1
|
|
beq _08033A0E
|
|
cmp r0, 0x1
|
|
bgt _080339FC
|
|
cmp r0, 0
|
|
beq _08033A06
|
|
b _08033A24
|
|
.align 2, 0
|
|
_080339F4: .4byte gUnknown_203B33C
|
|
_080339F8: .4byte 0x0000ffff
|
|
_080339FC:
|
|
cmp r0, 0x8
|
|
beq _08033A1E
|
|
cmp r0, 0x17
|
|
beq _08033A16
|
|
b _08033A24
|
|
_08033A06:
|
|
movs r0, 0x3
|
|
bl sub_80338C4
|
|
b _08033A24
|
|
_08033A0E:
|
|
movs r0, 0x4
|
|
bl sub_80338C4
|
|
b _08033A24
|
|
_08033A16:
|
|
movs r0, 0x78
|
|
bl sub_80338C4
|
|
b _08033A24
|
|
_08033A1E:
|
|
movs r0, 0x2
|
|
bl sub_80338C4
|
|
_08033A24:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80339C8
|
|
|
|
thumb_func_start sub_8033A2C
|
|
sub_8033A2C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
beq _08033A3C
|
|
b _08033B86
|
|
_08033A3C:
|
|
ldr r2, _08033A58
|
|
ldr r1, [r2]
|
|
movs r0, 0x8
|
|
str r0, [r1, 0x40]
|
|
ldr r0, [sp]
|
|
subs r0, 0x3
|
|
cmp r0, 0x11
|
|
bls _08033A4E
|
|
b _08033B86
|
|
_08033A4E:
|
|
lsls r0, 2
|
|
ldr r1, _08033A5C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08033A58: .4byte gUnknown_203B33C
|
|
_08033A5C: .4byte _08033A60
|
|
.align 2, 0
|
|
_08033A60:
|
|
.4byte _08033ACA
|
|
.4byte _08033AEC
|
|
.4byte _08033B86
|
|
.4byte _08033B86
|
|
.4byte _08033B86
|
|
.4byte _08033B80
|
|
.4byte _08033B86
|
|
.4byte _08033B86
|
|
.4byte _08033B86
|
|
.4byte _08033B86
|
|
.4byte _08033B86
|
|
.4byte _08033B86
|
|
.4byte _08033B86
|
|
.4byte _08033B86
|
|
.4byte _08033AA8
|
|
.4byte _08033B14
|
|
.4byte _08033B3E
|
|
.4byte _08033B68
|
|
_08033AA8:
|
|
ldr r0, [r2]
|
|
movs r1, 0x2
|
|
str r1, [r0, 0x40]
|
|
movs r1, 0xA5
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r1, 0x11
|
|
str r1, [r0]
|
|
movs r0, 0x1
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
beq _08033B0C
|
|
movs r0, 0x31
|
|
bl sub_80338C4
|
|
b _08033B86
|
|
_08033ACA:
|
|
ldr r0, [r2]
|
|
movs r1, 0x3
|
|
str r1, [r0, 0x40]
|
|
movs r2, 0xA5
|
|
lsls r2, 3
|
|
adds r0, r2
|
|
str r1, [r0]
|
|
bl sub_8095190
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
bne _08033B36
|
|
movs r0, 0xF
|
|
bl sub_80338C4
|
|
b _08033B86
|
|
_08033AEC:
|
|
ldr r0, [r2]
|
|
movs r1, 0x4
|
|
str r1, [r0, 0x40]
|
|
movs r2, 0xA5
|
|
lsls r2, 3
|
|
adds r0, r2
|
|
str r1, [r0]
|
|
movs r0, 0x4
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
beq _08033B0C
|
|
movs r0, 0x1C
|
|
bl sub_80338C4
|
|
b _08033B86
|
|
_08033B0C:
|
|
movs r0, 0x22
|
|
bl sub_80338C4
|
|
b _08033B86
|
|
_08033B14:
|
|
ldr r0, [r2]
|
|
movs r1, 0x5
|
|
str r1, [r0, 0x40]
|
|
movs r1, 0xA5
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r1, 0x12
|
|
str r1, [r0]
|
|
movs r0, 0x5
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
beq _08033B36
|
|
movs r0, 0x3D
|
|
bl sub_80338C4
|
|
b _08033B86
|
|
_08033B36:
|
|
movs r0, 0xE
|
|
bl sub_80338C4
|
|
b _08033B86
|
|
_08033B3E:
|
|
ldr r0, [r2]
|
|
movs r1, 0x6
|
|
str r1, [r0, 0x40]
|
|
movs r2, 0xA5
|
|
lsls r2, 3
|
|
adds r0, r2
|
|
movs r1, 0x13
|
|
str r1, [r0]
|
|
movs r0, 0x5
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
bne _08033B60
|
|
movs r0, 0x51
|
|
bl sub_80338C4
|
|
b _08033B86
|
|
_08033B60:
|
|
movs r0, 0x5B
|
|
bl sub_80338C4
|
|
b _08033B86
|
|
_08033B68:
|
|
ldr r0, [r2]
|
|
movs r1, 0x7
|
|
str r1, [r0, 0x40]
|
|
movs r1, 0xA5
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r1, 0x14
|
|
str r1, [r0]
|
|
movs r0, 0x52
|
|
bl sub_80338C4
|
|
b _08033B86
|
|
_08033B80:
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_08033B86:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8033A2C
|
|
|
|
thumb_func_start sub_8033B8C
|
|
sub_8033B8C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08033C4C
|
|
ldr r2, [sp]
|
|
cmp r2, 0xC
|
|
bgt _08033BAA
|
|
cmp r2, 0xB
|
|
bge _08033BB0
|
|
cmp r2, 0x8
|
|
beq _08033C46
|
|
b _08033C4C
|
|
_08033BAA:
|
|
cmp r2, 0xD
|
|
beq _08033BF4
|
|
b _08033C4C
|
|
_08033BB0:
|
|
ldr r0, _08033BD4
|
|
ldr r0, [r0]
|
|
ldr r1, _08033BD8
|
|
adds r2, r0, r1
|
|
movs r1, 0xB
|
|
str r1, [r2]
|
|
movs r3, 0xA5
|
|
lsls r3, 3
|
|
adds r0, r3
|
|
ldr r0, [r0]
|
|
cmp r0, 0x4
|
|
beq _08033BEC
|
|
cmp r0, 0x4
|
|
bhi _08033BDC
|
|
cmp r0, 0x3
|
|
beq _08033BE4
|
|
b _08033C4C
|
|
.align 2, 0
|
|
_08033BD4: .4byte gUnknown_203B33C
|
|
_08033BD8: .4byte 0x00000524
|
|
_08033BDC:
|
|
cmp r0, 0x12
|
|
bhi _08033C4C
|
|
cmp r0, 0x11
|
|
bcc _08033C4C
|
|
_08033BE4:
|
|
movs r0, 0x5
|
|
bl sub_80338C4
|
|
b _08033C4C
|
|
_08033BEC:
|
|
movs r0, 0x23
|
|
bl sub_80338C4
|
|
b _08033C4C
|
|
_08033BF4:
|
|
ldr r0, _08033C14
|
|
ldr r0, [r0]
|
|
ldr r3, _08033C18
|
|
adds r1, r0, r3
|
|
str r2, [r1]
|
|
movs r1, 0xA5
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0x4
|
|
beq _08033C3E
|
|
cmp r0, 0x4
|
|
bhi _08033C1C
|
|
cmp r0, 0x3
|
|
beq _08033C26
|
|
b _08033C4C
|
|
.align 2, 0
|
|
_08033C14: .4byte gUnknown_203B33C
|
|
_08033C18: .4byte 0x00000524
|
|
_08033C1C:
|
|
cmp r0, 0x11
|
|
beq _08033C2E
|
|
cmp r0, 0x12
|
|
beq _08033C36
|
|
b _08033C4C
|
|
_08033C26:
|
|
movs r0, 0x19
|
|
bl sub_80338C4
|
|
b _08033C4C
|
|
_08033C2E:
|
|
movs r0, 0x39
|
|
bl sub_80338C4
|
|
b _08033C4C
|
|
_08033C36:
|
|
movs r0, 0x43
|
|
bl sub_80338C4
|
|
b _08033C4C
|
|
_08033C3E:
|
|
movs r0, 0x2D
|
|
bl sub_80338C4
|
|
b _08033C4C
|
|
_08033C46:
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_08033C4C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8033B8C
|
|
|
|
thumb_func_start sub_8033C54
|
|
sub_8033C54:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08033CA2
|
|
ldr r0, [sp]
|
|
cmp r0, 0x6
|
|
beq _08033C6E
|
|
cmp r0, 0x8
|
|
beq _08033C9C
|
|
b _08033CA2
|
|
_08033C6E:
|
|
ldr r0, _08033C88
|
|
ldr r0, [r0]
|
|
movs r1, 0xA5
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0x4
|
|
beq _08033C94
|
|
cmp r0, 0x4
|
|
bhi _08033C8C
|
|
cmp r0, 0x3
|
|
beq _08033C94
|
|
b _08033CA2
|
|
.align 2, 0
|
|
_08033C88: .4byte gUnknown_203B33C
|
|
_08033C8C:
|
|
cmp r0, 0x11
|
|
beq _08033C94
|
|
cmp r0, 0x12
|
|
bne _08033CA2
|
|
_08033C94:
|
|
movs r0, 0xD
|
|
bl sub_80338C4
|
|
b _08033CA2
|
|
_08033C9C:
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_08033CA2:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8033C54
|
|
|
|
thumb_func_start nullsub_41
|
|
nullsub_41:
|
|
bx lr
|
|
thumb_func_end nullsub_41
|
|
|
|
thumb_func_start sub_8033CAC
|
|
sub_8033CAC:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08033D40
|
|
ldr r4, _08033CDC
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x44]
|
|
cmp r0, 0
|
|
bne _08033D36
|
|
movs r2, 0xA5
|
|
lsls r2, 3
|
|
adds r0, r1, r2
|
|
ldr r0, [r0]
|
|
cmp r0, 0x4
|
|
beq _08033D2E
|
|
cmp r0, 0x4
|
|
bhi _08033CE0
|
|
cmp r0, 0x3
|
|
beq _08033CEA
|
|
b _08033D40
|
|
.align 2, 0
|
|
_08033CDC: .4byte gUnknown_203B33C
|
|
_08033CE0:
|
|
cmp r0, 0x11
|
|
beq _08033CF2
|
|
cmp r0, 0x12
|
|
beq _08033CFA
|
|
b _08033D40
|
|
_08033CEA:
|
|
movs r0, 0x16
|
|
bl sub_80338C4
|
|
b _08033D40
|
|
_08033CF2:
|
|
movs r0, 0x37
|
|
bl sub_80338C4
|
|
b _08033D40
|
|
_08033CFA:
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08033D12
|
|
ldr r0, [r4]
|
|
movs r1, 0xB4
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
b _08033D1A
|
|
_08033D12:
|
|
ldr r0, [r4]
|
|
adds r0, 0xE0
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
_08033D1A:
|
|
cmp r0, 0
|
|
beq _08033D26
|
|
movs r0, 0x3F
|
|
bl sub_80338C4
|
|
b _08033D40
|
|
_08033D26:
|
|
movs r0, 0x40
|
|
bl sub_80338C4
|
|
b _08033D40
|
|
_08033D2E:
|
|
movs r0, 0x2B
|
|
bl sub_80338C4
|
|
b _08033D40
|
|
_08033D36:
|
|
bl sub_80338DC
|
|
movs r0, 0x8
|
|
bl sub_80338C4
|
|
_08033D40:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8033CAC
|
|
|
|
thumb_func_start sub_8033D48
|
|
sub_8033D48:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08033D5C
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_08033D5C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8033D48
|
|
|
|
thumb_func_start nullsub_42
|
|
nullsub_42:
|
|
bx lr
|
|
thumb_func_end nullsub_42
|
|
|
|
thumb_func_start nullsub_43
|
|
nullsub_43:
|
|
bx lr
|
|
thumb_func_end nullsub_43
|
|
|
|
thumb_func_start nullsub_44
|
|
nullsub_44:
|
|
bx lr
|
|
thumb_func_end nullsub_44
|
|
|
|
thumb_func_start nullsub_45
|
|
nullsub_45:
|
|
bx lr
|
|
thumb_func_end nullsub_45
|
|
|
|
thumb_func_start sub_8033D74
|
|
sub_8033D74:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08033D8E
|
|
movs r0, 0x17
|
|
bl sub_80338C4
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_08033D8E:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8033D74
|
|
|
|
thumb_func_start sub_8033D94
|
|
sub_8033D94:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08033DB6
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08033DB6
|
|
bl sub_8012750
|
|
movs r0, 0x18
|
|
bl sub_80338C4
|
|
_08033DB6:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8033D94
|
|
|
|
thumb_func_start sub_8033DBC
|
|
sub_8033DBC:
|
|
push {r4,lr}
|
|
sub sp, 0x44
|
|
bl sub_80154F0
|
|
adds r4, r0, 0
|
|
add r0, sp, 0x14
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
cmp r4, 0x2
|
|
bne _08033DD6
|
|
b _08033F38
|
|
_08033DD6:
|
|
cmp r4, 0x3
|
|
beq _08033DDC
|
|
b _08033F58
|
|
_08033DDC:
|
|
ldr r2, _08033DF4
|
|
ldr r1, _08033DF8
|
|
ldr r0, [r1]
|
|
movs r3, 0xA5
|
|
lsls r3, 3
|
|
adds r0, r3
|
|
ldr r0, [r0]
|
|
cmp r0, 0x3
|
|
beq _08033DFC
|
|
cmp r0, 0x12
|
|
beq _08033E00
|
|
b _08033E02
|
|
.align 2, 0
|
|
_08033DF4: .4byte 0x0000ffdc
|
|
_08033DF8: .4byte gUnknown_203B33C
|
|
_08033DFC:
|
|
movs r2, 0x1C
|
|
b _08033E02
|
|
_08033E00:
|
|
movs r2, 0x1E
|
|
_08033E02:
|
|
ldr r1, [r1]
|
|
adds r1, 0x8
|
|
adds r0, r2, 0
|
|
add r2, sp, 0x14
|
|
bl sub_8039068
|
|
subs r0, 0x7
|
|
cmp r0, 0x11
|
|
bls _08033E16
|
|
b _08033F2E
|
|
_08033E16:
|
|
lsls r0, 2
|
|
ldr r1, _08033E20
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08033E20: .4byte _08033E24
|
|
.align 2, 0
|
|
_08033E24:
|
|
.4byte _08033EA0
|
|
.4byte _08033F2E
|
|
.4byte _08033EE0
|
|
.4byte _08033F2E
|
|
.4byte _08033F2E
|
|
.4byte _08033F2E
|
|
.4byte _08033F2E
|
|
.4byte _08033F2E
|
|
.4byte _08033F2E
|
|
.4byte _08033F2E
|
|
.4byte _08033E6C
|
|
.4byte _08033E98
|
|
.4byte _08033ED8
|
|
.4byte _08033F2E
|
|
.4byte _08033F2E
|
|
.4byte _08033EA8
|
|
.4byte _08033EFC
|
|
.4byte _08033F2E
|
|
_08033E6C:
|
|
ldr r0, _08033E90
|
|
ldr r3, _08033E94
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x6
|
|
bl sub_8014248
|
|
movs r0, 0x1B
|
|
bl sub_80338C4
|
|
b _08033F2E
|
|
.align 2, 0
|
|
_08033E90: .4byte gUnknown_80E48A8
|
|
_08033E94: .4byte gUnknown_80E2290
|
|
_08033E98:
|
|
ldr r0, _08033E9C
|
|
b _08033EE2
|
|
.align 2, 0
|
|
_08033E9C: .4byte gUnknown_80E48E8
|
|
_08033EA0:
|
|
ldr r0, _08033EA4
|
|
b _08033EE2
|
|
.align 2, 0
|
|
_08033EA4: .4byte gUnknown_80E460C
|
|
_08033EA8:
|
|
ldr r0, [sp, 0x24]
|
|
bl sub_8095274
|
|
add r1, sp, 0x14
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
adds r0, r1, 0
|
|
bl sub_80951BC
|
|
ldr r0, _08033ED0
|
|
ldr r3, _08033ED4
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
movs r0, 0x16
|
|
bl sub_80338C4
|
|
b _08033F2E
|
|
.align 2, 0
|
|
_08033ED0: .4byte gUnknown_80E4928
|
|
_08033ED4: .4byte 0x00000101
|
|
_08033ED8:
|
|
ldr r0, _08033EDC
|
|
b _08033EE2
|
|
.align 2, 0
|
|
_08033EDC: .4byte gUnknown_80E4964
|
|
_08033EE0:
|
|
ldr r0, _08033EF4
|
|
_08033EE2:
|
|
ldr r3, _08033EF8
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
movs r0, 0x8
|
|
bl sub_80338C4
|
|
b _08033F2E
|
|
.align 2, 0
|
|
_08033EF4: .4byte gUnknown_80E499C
|
|
_08033EF8: .4byte 0x00000101
|
|
_08033EFC:
|
|
add r1, sp, 0x14
|
|
movs r0, 0x5
|
|
strb r0, [r1]
|
|
adds r0, r1, 0
|
|
bl sub_80951FC
|
|
ldr r1, [sp, 0x24]
|
|
movs r0, 0x1
|
|
bl sub_809539C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8095228
|
|
movs r1, 0x7
|
|
strb r1, [r0]
|
|
ldr r0, _08033F34
|
|
ldr r0, [r0]
|
|
movs r1, 0
|
|
movs r2, 0x5C
|
|
bl MemoryFill8
|
|
movs r0, 0x40
|
|
bl sub_80338C4
|
|
_08033F2E:
|
|
bl sub_80155F0
|
|
b _08033F58
|
|
.align 2, 0
|
|
_08033F34: .4byte gUnknown_203B484
|
|
_08033F38:
|
|
bl sub_80155F0
|
|
bl sub_8004914
|
|
ldr r0, _08033F60
|
|
ldr r0, [r0]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_08033F58:
|
|
add sp, 0x44
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08033F60: .4byte gUnknown_203B33C
|
|
thumb_func_end sub_8033DBC
|
|
|
|
thumb_func_start sub_8033F64
|
|
sub_8033F64:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08033FAE
|
|
ldr r0, [sp]
|
|
cmp r0, 0x6
|
|
beq _08033F7E
|
|
cmp r0, 0x8
|
|
beq _08033FA8
|
|
b _08033FAE
|
|
_08033F7E:
|
|
ldr r0, _08033F94
|
|
ldr r0, [r0]
|
|
movs r1, 0xA5
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0x3
|
|
beq _08033F98
|
|
cmp r0, 0x12
|
|
beq _08033FA0
|
|
b _08033FAE
|
|
.align 2, 0
|
|
_08033F94: .4byte gUnknown_203B33C
|
|
_08033F98:
|
|
movs r0, 0x19
|
|
bl sub_80338C4
|
|
b _08033FAE
|
|
_08033FA0:
|
|
movs r0, 0x43
|
|
bl sub_80338C4
|
|
b _08033FAE
|
|
_08033FA8:
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_08033FAE:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8033F64
|
|
|
|
thumb_func_start sub_8033FB4
|
|
sub_8033FB4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08033FDE
|
|
ldr r0, [sp]
|
|
cmp r0, 0x6
|
|
bne _08033FD0
|
|
movs r0, 0xE
|
|
bl sub_80338C4
|
|
b _08033FDE
|
|
_08033FD0:
|
|
cmp r0, 0x6
|
|
blt _08033FDE
|
|
cmp r0, 0x8
|
|
bgt _08033FDE
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_08033FDE:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8033FB4
|
|
|
|
thumb_func_start sub_8033FE4
|
|
sub_8033FE4:
|
|
push {r4,r5,lr}
|
|
movs r0, 0x1
|
|
bl sub_8030768
|
|
cmp r0, 0x3
|
|
beq _0803400C
|
|
cmp r0, 0x3
|
|
bhi _08033FFA
|
|
cmp r0, 0x2
|
|
beq _08034000
|
|
b _0803406A
|
|
_08033FFA:
|
|
cmp r0, 0x4
|
|
beq _08034028
|
|
b _0803406A
|
|
_08034000:
|
|
bl sub_803084C
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
b _0803406A
|
|
_0803400C:
|
|
bl sub_80307EC
|
|
ldr r1, _08034024
|
|
ldr r1, [r1]
|
|
movs r2, 0x86
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
movs r0, 0x1E
|
|
bl sub_80338C4
|
|
b _0803406A
|
|
.align 2, 0
|
|
_08034024: .4byte gUnknown_203B33C
|
|
_08034028:
|
|
ldr r4, _08034070
|
|
ldr r1, [r4]
|
|
movs r0, 0x1D
|
|
str r0, [r1, 0x4]
|
|
bl sub_80307EC
|
|
ldr r1, [r4]
|
|
movs r5, 0x86
|
|
lsls r5, 2
|
|
adds r1, r5
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_8030D40
|
|
movs r0, 0x1F
|
|
bl sub_80338C4
|
|
_0803406A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08034070: .4byte gUnknown_203B33C
|
|
thumb_func_end sub_8033FE4
|
|
|
|
thumb_func_start sub_8034074
|
|
sub_8034074:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
bl sub_8030768
|
|
ldr r4, _080340B8
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080340A6
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_080340A6:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x8
|
|
beq _08034108
|
|
cmp r0, 0x8
|
|
bgt _080340BC
|
|
cmp r0, 0x5
|
|
beq _08034108
|
|
b _08034124
|
|
.align 2, 0
|
|
_080340B8: .4byte gUnknown_203B33C
|
|
_080340BC:
|
|
cmp r0, 0x9
|
|
beq _080340C6
|
|
cmp r0, 0xA
|
|
beq _080340D2
|
|
b _08034124
|
|
_080340C6:
|
|
bl sub_803084C
|
|
movs r0, 0x20
|
|
bl sub_80338C4
|
|
b _08034124
|
|
_080340D2:
|
|
ldr r0, [r4]
|
|
movs r1, 0x7E
|
|
str r1, [r0, 0x4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
movs r1, 0x86
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_8030D40
|
|
movs r0, 0x1F
|
|
bl sub_80338C4
|
|
b _08034124
|
|
_08034108:
|
|
ldr r0, _0803412C
|
|
ldr r0, [r0]
|
|
movs r1, 0xD7
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
bl sub_8035CC0
|
|
movs r0, 0x1
|
|
bl sub_8030810
|
|
movs r0, 0x1D
|
|
bl sub_80338C4
|
|
_08034124:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803412C: .4byte gUnknown_203B33C
|
|
thumb_func_end sub_8034074
|
|
|
|
thumb_func_start sub_8034130
|
|
sub_8034130:
|
|
push {r4,lr}
|
|
bl sub_8030DA0
|
|
cmp r0, 0x3
|
|
bhi _08034184
|
|
cmp r0, 0x2
|
|
bcc _08034184
|
|
bl sub_8030DE4
|
|
bl sub_8004914
|
|
ldr r4, _0803417C
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
bl sub_803092C
|
|
ldr r4, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
cmp r0, 0x7E
|
|
bne _08034180
|
|
movs r1, 0x87
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
movs r0, 0x1E
|
|
bl sub_80338C4
|
|
b _08034184
|
|
.align 2, 0
|
|
_0803417C: .4byte gUnknown_203B33C
|
|
_08034180:
|
|
bl sub_80338C4
|
|
_08034184:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034130
|
|
|
|
thumb_func_start sub_803418C
|
|
sub_803418C:
|
|
push {r4,r5,lr}
|
|
movs r0, 0x1
|
|
bl sub_8023A94
|
|
cmp r0, 0x3
|
|
beq _080341D0
|
|
cmp r0, 0x3
|
|
bhi _080341A2
|
|
cmp r0, 0x2
|
|
beq _080341A8
|
|
b _08034248
|
|
_080341A2:
|
|
cmp r0, 0x4
|
|
beq _08034204
|
|
b _08034248
|
|
_080341A8:
|
|
bl sub_8023C60
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
bl sub_8035D1C
|
|
ldr r0, _080341C8
|
|
ldr r0, [r0]
|
|
movs r1, 0xA7
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r1, _080341CC
|
|
strh r1, [r0]
|
|
b _08034248
|
|
.align 2, 0
|
|
_080341C8: .4byte gUnknown_203B33C
|
|
_080341CC: .4byte 0x0000ffff
|
|
_080341D0:
|
|
bl sub_8023B44
|
|
ldr r1, _080341F4
|
|
ldr r1, [r1]
|
|
movs r3, 0xA7
|
|
lsls r3, 3
|
|
adds r2, r1, r3
|
|
strh r0, [r2]
|
|
ldr r0, _080341F8
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
cmp r0, 0xE
|
|
bne _080341FC
|
|
movs r0, 0x9
|
|
bl sub_80338C4
|
|
b _08034248
|
|
.align 2, 0
|
|
_080341F4: .4byte gUnknown_203B33C
|
|
_080341F8: .4byte 0x00000524
|
|
_080341FC:
|
|
movs r0, 0x27
|
|
bl sub_80338C4
|
|
b _08034248
|
|
_08034204:
|
|
ldr r4, _08034250
|
|
ldr r1, [r4]
|
|
movs r0, 0x26
|
|
str r0, [r1, 0x4]
|
|
bl sub_8023B44
|
|
adds r2, r0, 0
|
|
ldr r0, [r4]
|
|
movs r5, 0xA7
|
|
lsls r5, 3
|
|
adds r1, r0, r5
|
|
strh r2, [r1]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
movs r1, 0
|
|
bl sub_8024458
|
|
movs r0, 0x28
|
|
bl sub_80338C4
|
|
_08034248:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08034250: .4byte gUnknown_203B33C
|
|
thumb_func_end sub_803418C
|
|
|
|
thumb_func_start sub_8034254
|
|
sub_8034254:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
bl sub_8023A94
|
|
ldr r4, _08034298
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08034286
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_08034286:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x8
|
|
beq _080342EA
|
|
cmp r0, 0x8
|
|
bgt _0803429C
|
|
cmp r0, 0x5
|
|
beq _080342EA
|
|
b _08034304
|
|
.align 2, 0
|
|
_08034298: .4byte gUnknown_203B33C
|
|
_0803429C:
|
|
cmp r0, 0x9
|
|
beq _080342A6
|
|
cmp r0, 0xA
|
|
beq _080342B2
|
|
b _08034304
|
|
_080342A6:
|
|
bl sub_8023C60
|
|
movs r0, 0x29
|
|
bl sub_80338C4
|
|
b _08034304
|
|
_080342B2:
|
|
ldr r0, [r4]
|
|
movs r1, 0x7E
|
|
str r1, [r0, 0x4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
movs r1, 0xA7
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0
|
|
bl sub_8024458
|
|
movs r0, 0x28
|
|
bl sub_80338C4
|
|
b _08034304
|
|
_080342EA:
|
|
ldr r0, _0803430C
|
|
ldr r0, [r0]
|
|
movs r1, 0xD7
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x3
|
|
bl sub_8035CC0
|
|
bl sub_8023DA4
|
|
movs r0, 0x26
|
|
bl sub_80338C4
|
|
_08034304:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803430C: .4byte gUnknown_203B33C
|
|
thumb_func_end sub_8034254
|
|
|
|
thumb_func_start sub_8034310
|
|
sub_8034310:
|
|
push {r4,lr}
|
|
bl sub_80244E4
|
|
cmp r0, 0x1
|
|
bne _08034320
|
|
bl sub_802452C
|
|
b _08034370
|
|
_08034320:
|
|
cmp r0, 0x1
|
|
bcc _08034370
|
|
cmp r0, 0x3
|
|
bhi _08034370
|
|
bl sub_802453C
|
|
bl sub_8004914
|
|
ldr r4, _08034368
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x1
|
|
bl sub_8023B7C
|
|
ldr r4, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
cmp r0, 0x7E
|
|
bne _0803436C
|
|
movs r1, 0x87
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
movs r0, 0x27
|
|
bl sub_80338C4
|
|
b _08034370
|
|
.align 2, 0
|
|
_08034368: .4byte gUnknown_203B33C
|
|
_0803436C:
|
|
bl sub_80338C4
|
|
_08034370:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034310
|
|
|
|
thumb_func_start sub_8034378
|
|
sub_8034378:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080343BE
|
|
ldr r0, [sp]
|
|
cmp r0, 0x8
|
|
beq _080343B8
|
|
cmp r0, 0x10
|
|
bne _080343BE
|
|
ldr r0, _080343A8
|
|
ldr r0, [r0]
|
|
ldr r1, _080343AC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0xE
|
|
bne _080343B0
|
|
movs r0, 0x9
|
|
bl sub_80338C4
|
|
b _080343BE
|
|
.align 2, 0
|
|
_080343A8: .4byte gUnknown_203B33C
|
|
_080343AC: .4byte 0x00000524
|
|
_080343B0:
|
|
movs r0, 0x5
|
|
bl sub_80338C4
|
|
b _080343BE
|
|
_080343B8:
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_080343BE:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034378
|
|
|
|
thumb_func_start sub_80343C4
|
|
sub_80343C4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080343FE
|
|
ldr r0, [sp]
|
|
cmp r0, 0x7
|
|
beq _080343F0
|
|
cmp r0, 0x7
|
|
bgt _080343E2
|
|
cmp r0, 0x6
|
|
beq _080343E8
|
|
b _080343FE
|
|
_080343E2:
|
|
cmp r0, 0x8
|
|
beq _080343F8
|
|
b _080343FE
|
|
_080343E8:
|
|
movs r0, 0x5
|
|
bl sub_80338C4
|
|
b _080343FE
|
|
_080343F0:
|
|
movs r0, 0x25
|
|
bl sub_80338C4
|
|
b _080343FE
|
|
_080343F8:
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_080343FE:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80343C4
|
|
|
|
thumb_func_start sub_8034404
|
|
sub_8034404:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08034472
|
|
ldr r0, [sp]
|
|
cmp r0, 0xF
|
|
beq _08034428
|
|
cmp r0, 0xF
|
|
bgt _08034422
|
|
cmp r0, 0x8
|
|
beq _0803446C
|
|
b _08034472
|
|
_08034422:
|
|
cmp r0, 0x10
|
|
beq _08034444
|
|
b _08034472
|
|
_08034428:
|
|
movs r0, 0x3
|
|
bl sub_8024108
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803443C
|
|
movs r0, 0x24
|
|
bl sub_80338C4
|
|
b _08034472
|
|
_0803443C:
|
|
movs r0, 0x25
|
|
bl sub_80338C4
|
|
b _08034472
|
|
_08034444:
|
|
ldr r0, _0803445C
|
|
ldr r0, [r0]
|
|
ldr r1, _08034460
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0xE
|
|
bne _08034464
|
|
movs r0, 0x9
|
|
bl sub_80338C4
|
|
b _08034472
|
|
.align 2, 0
|
|
_0803445C: .4byte gUnknown_203B33C
|
|
_08034460: .4byte 0x00000524
|
|
_08034464:
|
|
movs r0, 0x5
|
|
bl sub_80338C4
|
|
b _08034472
|
|
_0803446C:
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_08034472:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034404
|
|
|
|
thumb_func_start sub_8034478
|
|
sub_8034478:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803449A
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0803449A
|
|
bl sub_8012750
|
|
movs r0, 0x2
|
|
bl sub_80338C4
|
|
_0803449A:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034478
|
|
|
|
thumb_func_start sub_80344A0
|
|
sub_80344A0:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080344BA
|
|
movs r0, 0x2C
|
|
bl sub_80338C4
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_080344BA:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80344A0
|
|
|
|
thumb_func_start sub_80344C0
|
|
sub_80344C0:
|
|
push {lr}
|
|
bl sub_8031DCC
|
|
cmp r0, 0x1
|
|
beq _080344F8
|
|
cmp r0, 0x1
|
|
bcc _080344FC
|
|
cmp r0, 0x3
|
|
bhi _080344FC
|
|
bl sub_8031E10
|
|
bl sub_8004914
|
|
ldr r0, _080344F4
|
|
ldr r0, [r0]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x2F
|
|
bl sub_80338C4
|
|
b _080344FC
|
|
.align 2, 0
|
|
_080344F4: .4byte gUnknown_203B33C
|
|
_080344F8:
|
|
bl sub_8031E00
|
|
_080344FC:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80344C0
|
|
|
|
thumb_func_start sub_8034500
|
|
sub_8034500:
|
|
push {r4,r5,lr}
|
|
movs r0, 0x1
|
|
bl sub_8030768
|
|
cmp r0, 0x3
|
|
beq _08034528
|
|
cmp r0, 0x3
|
|
bhi _08034516
|
|
cmp r0, 0x2
|
|
beq _0803451C
|
|
b _08034586
|
|
_08034516:
|
|
cmp r0, 0x4
|
|
beq _08034544
|
|
b _08034586
|
|
_0803451C:
|
|
bl sub_803084C
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
b _08034586
|
|
_08034528:
|
|
bl sub_80307EC
|
|
ldr r1, _08034540
|
|
ldr r1, [r1]
|
|
movs r2, 0x86
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
movs r0, 0x33
|
|
bl sub_80338C4
|
|
b _08034586
|
|
.align 2, 0
|
|
_08034540: .4byte gUnknown_203B33C
|
|
_08034544:
|
|
ldr r4, _0803458C
|
|
ldr r1, [r4]
|
|
movs r0, 0x32
|
|
str r0, [r1, 0x4]
|
|
bl sub_80307EC
|
|
ldr r1, [r4]
|
|
movs r5, 0x86
|
|
lsls r5, 2
|
|
adds r1, r5
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_8030D40
|
|
movs r0, 0x34
|
|
bl sub_80338C4
|
|
_08034586:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803458C: .4byte gUnknown_203B33C
|
|
thumb_func_end sub_8034500
|
|
|
|
thumb_func_start sub_8034590
|
|
sub_8034590:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
bl sub_8030768
|
|
ldr r4, _080345D4
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080345C2
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_080345C2:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x8
|
|
beq _08034624
|
|
cmp r0, 0x8
|
|
bgt _080345D8
|
|
cmp r0, 0x5
|
|
beq _08034624
|
|
b _08034640
|
|
.align 2, 0
|
|
_080345D4: .4byte gUnknown_203B33C
|
|
_080345D8:
|
|
cmp r0, 0x9
|
|
beq _080345E2
|
|
cmp r0, 0xA
|
|
beq _080345EE
|
|
b _08034640
|
|
_080345E2:
|
|
bl sub_803084C
|
|
movs r0, 0x35
|
|
bl sub_80338C4
|
|
b _08034640
|
|
_080345EE:
|
|
ldr r0, [r4]
|
|
movs r1, 0x7E
|
|
str r1, [r0, 0x4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
movs r1, 0x86
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_8030D40
|
|
movs r0, 0x34
|
|
bl sub_80338C4
|
|
b _08034640
|
|
_08034624:
|
|
ldr r0, _08034648
|
|
ldr r0, [r0]
|
|
movs r1, 0xD7
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
bl sub_8035CC0
|
|
movs r0, 0x1
|
|
bl sub_8030810
|
|
movs r0, 0x32
|
|
bl sub_80338C4
|
|
_08034640:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08034648: .4byte gUnknown_203B33C
|
|
thumb_func_end sub_8034590
|
|
|
|
thumb_func_start sub_803464C
|
|
sub_803464C:
|
|
push {r4,lr}
|
|
bl sub_8030DA0
|
|
cmp r0, 0x3
|
|
bhi _080346A0
|
|
cmp r0, 0x2
|
|
bcc _080346A0
|
|
bl sub_8030DE4
|
|
bl sub_8004914
|
|
ldr r4, _08034698
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
bl sub_803092C
|
|
ldr r4, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
cmp r0, 0x7E
|
|
bne _0803469C
|
|
movs r1, 0x87
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
movs r0, 0x33
|
|
bl sub_80338C4
|
|
b _080346A0
|
|
.align 2, 0
|
|
_08034698: .4byte gUnknown_203B33C
|
|
_0803469C:
|
|
bl sub_80338C4
|
|
_080346A0:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803464C
|
|
|
|
thumb_func_start sub_80346A8
|
|
sub_80346A8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080346D2
|
|
ldr r0, [sp]
|
|
cmp r0, 0x6
|
|
bne _080346C4
|
|
movs r0, 0xE
|
|
bl sub_80338C4
|
|
b _080346D2
|
|
_080346C4:
|
|
cmp r0, 0x6
|
|
blt _080346D2
|
|
cmp r0, 0x8
|
|
bgt _080346D2
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_080346D2:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80346A8
|
|
|
|
thumb_func_start sub_80346D8
|
|
sub_80346D8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080346FA
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080346FA
|
|
bl sub_8012750
|
|
movs r0, 0x2
|
|
bl sub_80338C4
|
|
_080346FA:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80346D8
|
|
|
|
thumb_func_start sub_8034700
|
|
sub_8034700:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803471A
|
|
movs r0, 0x38
|
|
bl sub_80338C4
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_0803471A:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034700
|
|
|
|
thumb_func_start sub_8034720
|
|
sub_8034720:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08034734
|
|
movs r0, 0x3A
|
|
bl sub_80338C4
|
|
_08034734:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034720
|
|
|
|
thumb_func_start sub_803473C
|
|
sub_803473C:
|
|
push {lr}
|
|
bl sub_8031DCC
|
|
cmp r0, 0x1
|
|
beq _08034774
|
|
cmp r0, 0x1
|
|
bcc _08034778
|
|
cmp r0, 0x3
|
|
bhi _08034778
|
|
bl sub_8031E10
|
|
bl sub_8004914
|
|
ldr r0, _08034770
|
|
ldr r0, [r0]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x3B
|
|
bl sub_80338C4
|
|
b _08034778
|
|
.align 2, 0
|
|
_08034770: .4byte gUnknown_203B33C
|
|
_08034774:
|
|
bl sub_8031E00
|
|
_08034778:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803473C
|
|
|
|
thumb_func_start sub_803477C
|
|
sub_803477C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080347A6
|
|
ldr r0, [sp]
|
|
cmp r0, 0x6
|
|
bne _08034798
|
|
movs r0, 0xE
|
|
bl sub_80338C4
|
|
b _080347A6
|
|
_08034798:
|
|
cmp r0, 0x6
|
|
blt _080347A6
|
|
cmp r0, 0x8
|
|
bgt _080347A6
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_080347A6:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803477C
|
|
|
|
thumb_func_start sub_80347AC
|
|
sub_80347AC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080347C0
|
|
movs r0, 0xD
|
|
bl sub_80338C4
|
|
_080347C0:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80347AC
|
|
|
|
thumb_func_start sub_80347C8
|
|
sub_80347C8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080347DC
|
|
movs r0, 0x40
|
|
bl sub_80338C4
|
|
_080347DC:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80347C8
|
|
|
|
thumb_func_start sub_80347E4
|
|
sub_80347E4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080347FE
|
|
movs r0, 0x41
|
|
bl sub_80338C4
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_080347FE:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80347E4
|
|
|
|
thumb_func_start sub_8034804
|
|
sub_8034804:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08034826
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08034826
|
|
bl sub_8012750
|
|
movs r0, 0x42
|
|
bl sub_80338C4
|
|
_08034826:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034804
|
|
|
|
thumb_func_start sub_803482C
|
|
sub_803482C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08034840
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_08034840:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803482C
|
|
|
|
thumb_func_start sub_8034848
|
|
sub_8034848:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
adds r6, r0, 0
|
|
cmp r6, 0
|
|
bne _080348BA
|
|
ldr r4, _0803489C
|
|
ldr r0, [r4]
|
|
ldr r5, _080348A0
|
|
adds r0, r5
|
|
movs r1, 0
|
|
movs r2, 0x4
|
|
bl MemoryFill8
|
|
ldr r0, [r4]
|
|
ldr r1, _080348A4
|
|
adds r0, r1
|
|
strb r6, [r0]
|
|
ldr r0, [r4]
|
|
subs r1, 0x1
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
strb r6, [r0]
|
|
ldr r4, [r4]
|
|
ldr r0, [r4, 0x44]
|
|
cmp r0, 0
|
|
bne _080348B0
|
|
ldr r4, [r4, 0x40]
|
|
cmp r4, 0x6
|
|
beq _080348A8
|
|
cmp r4, 0x7
|
|
bne _080348BA
|
|
movs r0, 0x6D
|
|
bl sub_80338C4
|
|
b _080348BA
|
|
.align 2, 0
|
|
_0803489C: .4byte gUnknown_203B33C
|
|
_080348A0: .4byte 0x0000041c
|
|
_080348A4: .4byte 0x0000041e
|
|
_080348A8:
|
|
movs r0, 0x50
|
|
bl sub_80338C4
|
|
b _080348BA
|
|
_080348B0:
|
|
bl sub_80338DC
|
|
movs r0, 0x6B
|
|
bl sub_80338C4
|
|
_080348BA:
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034848
|
|
|
|
thumb_func_start sub_80348C4
|
|
sub_80348C4:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
adds r6, r0, 0
|
|
cmp r6, 0
|
|
bne _08034968
|
|
ldr r4, _08034910
|
|
ldr r0, [r4]
|
|
ldr r5, _08034914
|
|
adds r0, r5
|
|
movs r1, 0
|
|
movs r2, 0x4
|
|
bl MemoryFill8
|
|
ldr r0, [r4]
|
|
ldr r1, _08034918
|
|
adds r0, r1
|
|
strb r6, [r0]
|
|
ldr r0, [r4]
|
|
subs r1, 0x1
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
strb r6, [r0]
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0x44]
|
|
cmp r1, 0
|
|
bne _0803495C
|
|
ldr r1, [r0, 0x40]
|
|
cmp r1, 0x6
|
|
beq _0803491C
|
|
cmp r1, 0x7
|
|
beq _08034954
|
|
b _08034968
|
|
.align 2, 0
|
|
_08034910: .4byte gUnknown_203B33C
|
|
_08034914: .4byte 0x0000041c
|
|
_08034918: .4byte 0x0000041e
|
|
_0803491C:
|
|
ldr r1, _08034930
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0xC
|
|
beq _08034944
|
|
cmp r0, 0xC
|
|
bhi _08034934
|
|
cmp r0, 0xB
|
|
beq _08034938
|
|
b _08034944
|
|
.align 2, 0
|
|
_08034930: .4byte 0x00000524
|
|
_08034934:
|
|
cmp r0, 0xE
|
|
bhi _08034944
|
|
_08034938:
|
|
ldr r0, _0803494C
|
|
ldr r3, _08034950
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
_08034944:
|
|
movs r0, 0x77
|
|
bl sub_80338C4
|
|
b _08034968
|
|
.align 2, 0
|
|
_0803494C: .4byte gUnknown_80E31FC
|
|
_08034950: .4byte 0x00000101
|
|
_08034954:
|
|
movs r0, 0x6D
|
|
bl sub_80338C4
|
|
b _08034968
|
|
_0803495C:
|
|
adds r0, r1, 0
|
|
bl sub_80338DC
|
|
movs r0, 0x6B
|
|
bl sub_80338C4
|
|
_08034968:
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80348C4
|
|
|
|
thumb_func_start sub_8034970
|
|
sub_8034970:
|
|
push {lr}
|
|
bl sub_8031DCC
|
|
cmp r0, 0x1
|
|
beq _080349A8
|
|
cmp r0, 0x1
|
|
bcc _080349AC
|
|
cmp r0, 0x3
|
|
bhi _080349AC
|
|
bl sub_8031E10
|
|
bl sub_8004914
|
|
ldr r0, _080349A4
|
|
ldr r0, [r0]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x68
|
|
bl sub_80338C4
|
|
b _080349AC
|
|
.align 2, 0
|
|
_080349A4: .4byte gUnknown_203B33C
|
|
_080349A8:
|
|
bl sub_8031E00
|
|
_080349AC:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034970
|
|
|
|
thumb_func_start sub_80349B0
|
|
sub_80349B0:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080349DA
|
|
ldr r0, [sp]
|
|
cmp r0, 0x6
|
|
bne _080349CC
|
|
movs r0, 0x52
|
|
bl sub_80338C4
|
|
b _080349DA
|
|
_080349CC:
|
|
cmp r0, 0x6
|
|
blt _080349DA
|
|
cmp r0, 0x8
|
|
bgt _080349DA
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_080349DA:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80349B0
|
|
|
|
thumb_func_start sub_80349E0
|
|
sub_80349E0:
|
|
push {r4,r5,lr}
|
|
movs r0, 0x1
|
|
bl sub_8030768
|
|
cmp r0, 0x3
|
|
beq _08034A08
|
|
cmp r0, 0x3
|
|
bhi _080349F6
|
|
cmp r0, 0x2
|
|
beq _080349FC
|
|
b _08034A66
|
|
_080349F6:
|
|
cmp r0, 0x4
|
|
beq _08034A24
|
|
b _08034A66
|
|
_080349FC:
|
|
bl sub_803084C
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
b _08034A66
|
|
_08034A08:
|
|
bl sub_80307EC
|
|
ldr r1, _08034A20
|
|
ldr r1, [r1]
|
|
movs r2, 0x86
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
movs r0, 0x5D
|
|
bl sub_80338C4
|
|
b _08034A66
|
|
.align 2, 0
|
|
_08034A20: .4byte gUnknown_203B33C
|
|
_08034A24:
|
|
ldr r4, _08034A6C
|
|
ldr r1, [r4]
|
|
movs r0, 0x5C
|
|
str r0, [r1, 0x4]
|
|
bl sub_80307EC
|
|
ldr r1, [r4]
|
|
movs r5, 0x86
|
|
lsls r5, 2
|
|
adds r1, r5
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_8030D40
|
|
movs r0, 0x5E
|
|
bl sub_80338C4
|
|
_08034A66:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08034A6C: .4byte gUnknown_203B33C
|
|
thumb_func_end sub_80349E0
|
|
|
|
thumb_func_start sub_8034A70
|
|
sub_8034A70:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
bl sub_8030768
|
|
ldr r4, _08034AB4
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08034AA2
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_08034AA2:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x8
|
|
beq _08034B04
|
|
cmp r0, 0x8
|
|
bgt _08034AB8
|
|
cmp r0, 0x5
|
|
beq _08034B04
|
|
b _08034B20
|
|
.align 2, 0
|
|
_08034AB4: .4byte gUnknown_203B33C
|
|
_08034AB8:
|
|
cmp r0, 0x9
|
|
beq _08034AC2
|
|
cmp r0, 0xA
|
|
beq _08034ACE
|
|
b _08034B20
|
|
_08034AC2:
|
|
bl sub_803084C
|
|
movs r0, 0x5A
|
|
bl sub_80338C4
|
|
b _08034B20
|
|
_08034ACE:
|
|
ldr r0, [r4]
|
|
movs r1, 0x7E
|
|
str r1, [r0, 0x4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
movs r1, 0x86
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_8030D40
|
|
movs r0, 0x5E
|
|
bl sub_80338C4
|
|
b _08034B20
|
|
_08034B04:
|
|
ldr r0, _08034B28
|
|
ldr r0, [r0]
|
|
movs r1, 0xD7
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
bl sub_8035CC0
|
|
movs r0, 0x1
|
|
bl sub_8030810
|
|
movs r0, 0x5C
|
|
bl sub_80338C4
|
|
_08034B20:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08034B28: .4byte gUnknown_203B33C
|
|
thumb_func_end sub_8034A70
|
|
|
|
thumb_func_start sub_8034B2C
|
|
sub_8034B2C:
|
|
push {r4,lr}
|
|
bl sub_8030DA0
|
|
cmp r0, 0x3
|
|
bhi _08034B80
|
|
cmp r0, 0x2
|
|
bcc _08034B80
|
|
bl sub_8030DE4
|
|
bl sub_8004914
|
|
ldr r4, _08034B78
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
bl sub_803092C
|
|
ldr r4, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
cmp r0, 0x7E
|
|
bne _08034B7C
|
|
movs r1, 0x87
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
movs r0, 0x5D
|
|
bl sub_80338C4
|
|
b _08034B80
|
|
.align 2, 0
|
|
_08034B78: .4byte gUnknown_203B33C
|
|
_08034B7C:
|
|
bl sub_80338C4
|
|
_08034B80:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034B2C
|
|
|
|
thumb_func_start sub_8034B88
|
|
sub_8034B88:
|
|
push {r4-r6,lr}
|
|
ldr r4, _08034BBC
|
|
ldr r0, [r4]
|
|
ldr r5, _08034BC0
|
|
adds r0, r5
|
|
movs r2, 0
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
ldr r1, _08034BC4
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
ldr r6, _08034BC8
|
|
adds r0, r6
|
|
strb r2, [r0]
|
|
movs r0, 0x1
|
|
bl sub_801CA08
|
|
cmp r0, 0x3
|
|
beq _08034BDE
|
|
cmp r0, 0x3
|
|
bhi _08034BCC
|
|
cmp r0, 0x2
|
|
beq _08034BD2
|
|
b _08034C30
|
|
.align 2, 0
|
|
_08034BBC: .4byte gUnknown_203B33C
|
|
_08034BC0: .4byte 0x0000041e
|
|
_08034BC4: .4byte 0x0000041d
|
|
_08034BC8: .4byte 0x0000041c
|
|
_08034BCC:
|
|
cmp r0, 0x4
|
|
beq _08034BF8
|
|
b _08034C30
|
|
_08034BD2:
|
|
bl sub_801CBB8
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
b _08034C30
|
|
_08034BDE:
|
|
bl sub_801CB24
|
|
ldr r1, [r4]
|
|
ldr r2, _08034BF4
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
movs r0, 0x60
|
|
bl sub_80338C4
|
|
b _08034C30
|
|
.align 2, 0
|
|
_08034BF4: .4byte 0x0000041e
|
|
_08034BF8:
|
|
ldr r1, [r4]
|
|
movs r0, 0x5F
|
|
str r0, [r1, 0x4]
|
|
bl sub_801CB24
|
|
ldr r1, [r4]
|
|
adds r1, r5
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
adds r0, r6
|
|
bl sub_801B3C0
|
|
movs r0, 0x61
|
|
bl sub_80338C4
|
|
_08034C30:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034B88
|
|
|
|
thumb_func_start sub_8034C38
|
|
sub_8034C38:
|
|
push {r4,lr}
|
|
bl sub_801B410
|
|
cmp r0, 0x1
|
|
beq _08034C90
|
|
cmp r0, 0x1
|
|
bcc _08034C90
|
|
cmp r0, 0x3
|
|
bhi _08034C90
|
|
bl sub_801B450
|
|
bl sub_8004914
|
|
ldr r4, _08034C88
|
|
ldr r0, [r4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x1
|
|
bl sub_801CB5C
|
|
ldr r4, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
cmp r0, 0x7E
|
|
bne _08034C8C
|
|
movs r1, 0x87
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
movs r0, 0x60
|
|
bl sub_80338C4
|
|
b _08034C90
|
|
.align 2, 0
|
|
_08034C88: .4byte gUnknown_203B33C
|
|
_08034C8C:
|
|
bl sub_80338C4
|
|
_08034C90:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034C38
|
|
|
|
thumb_func_start sub_8034C98
|
|
sub_8034C98:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
bl sub_801CA08
|
|
ldr r4, _08034CDC
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08034CCA
|
|
ldr r0, [r4]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_08034CCA:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x8
|
|
beq _08034D2C
|
|
cmp r0, 0x8
|
|
bgt _08034CE0
|
|
cmp r0, 0x5
|
|
beq _08034D2C
|
|
b _08034D48
|
|
.align 2, 0
|
|
_08034CDC: .4byte gUnknown_203B33C
|
|
_08034CE0:
|
|
cmp r0, 0x9
|
|
beq _08034CEA
|
|
cmp r0, 0xA
|
|
beq _08034CF6
|
|
b _08034D48
|
|
_08034CEA:
|
|
bl sub_801CBB8
|
|
movs r0, 0x58
|
|
bl sub_80338C4
|
|
b _08034D48
|
|
_08034CF6:
|
|
ldr r0, [r4]
|
|
movs r1, 0x7E
|
|
str r1, [r0, 0x4]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
ldr r1, _08034D28
|
|
adds r0, r1
|
|
bl sub_801B3C0
|
|
movs r0, 0x61
|
|
bl sub_80338C4
|
|
b _08034D48
|
|
.align 2, 0
|
|
_08034D28: .4byte 0x0000041c
|
|
_08034D2C:
|
|
ldr r0, _08034D50
|
|
ldr r0, [r0]
|
|
movs r1, 0xD7
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x3
|
|
bl sub_8035CC0
|
|
movs r0, 0x1
|
|
bl sub_801CB5C
|
|
movs r0, 0x5F
|
|
bl sub_80338C4
|
|
_08034D48:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08034D50: .4byte gUnknown_203B33C
|
|
thumb_func_end sub_8034C98
|
|
|
|
thumb_func_start sub_8034D54
|
|
sub_8034D54:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08034D6E
|
|
movs r0, 0x65
|
|
bl sub_80338C4
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_08034D6E:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034D54
|
|
|
|
thumb_func_start sub_8034D74
|
|
sub_8034D74:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x44
|
|
bl sub_80154F0
|
|
adds r4, r0, 0
|
|
add r0, sp, 0x14
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
cmp r4, 0x2
|
|
bne _08034D8E
|
|
b _08034E9C
|
|
_08034D8E:
|
|
cmp r4, 0x3
|
|
beq _08034D94
|
|
b _08034EBC
|
|
_08034D94:
|
|
ldr r0, _08034DB4
|
|
ldr r1, [r0]
|
|
adds r1, 0x8
|
|
movs r0, 0x20
|
|
add r2, sp, 0x14
|
|
bl sub_8039068
|
|
subs r0, 0x7
|
|
cmp r0, 0x11
|
|
bhi _08034E90
|
|
lsls r0, 2
|
|
ldr r1, _08034DB8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08034DB4: .4byte gUnknown_203B33C
|
|
_08034DB8: .4byte _08034DBC
|
|
.align 2, 0
|
|
_08034DBC:
|
|
.4byte _08034E90
|
|
.4byte _08034E90
|
|
.4byte _08034E90
|
|
.4byte _08034E90
|
|
.4byte _08034E38
|
|
.4byte _08034E90
|
|
.4byte _08034E90
|
|
.4byte _08034E90
|
|
.4byte _08034E90
|
|
.4byte _08034E90
|
|
.4byte _08034E04
|
|
.4byte _08034E90
|
|
.4byte _08034E90
|
|
.4byte _08034E30
|
|
.4byte _08034E90
|
|
.4byte _08034E90
|
|
.4byte _08034E90
|
|
.4byte _08034E54
|
|
_08034E04:
|
|
ldr r0, _08034E28
|
|
ldr r3, _08034E2C
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x6
|
|
bl sub_8014248
|
|
movs r0, 0x74
|
|
bl sub_80338C4
|
|
b _08034E90
|
|
.align 2, 0
|
|
_08034E28: .4byte gUnknown_80E48A8
|
|
_08034E2C: .4byte gUnknown_80E2440
|
|
_08034E30:
|
|
ldr r0, _08034E34
|
|
b _08034E3A
|
|
.align 2, 0
|
|
_08034E34: .4byte gUnknown_80E49C4
|
|
_08034E38:
|
|
ldr r0, _08034E4C
|
|
_08034E3A:
|
|
ldr r3, _08034E50
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
movs r0, 0x6B
|
|
bl sub_80338C4
|
|
b _08034E90
|
|
.align 2, 0
|
|
_08034E4C: .4byte gUnknown_80E4704
|
|
_08034E50: .4byte 0x00000101
|
|
_08034E54:
|
|
ldr r1, [sp, 0x24]
|
|
movs r0, 0x4
|
|
bl sub_809539C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8095228
|
|
adds r2, r0, 0
|
|
add r1, sp, 0x14
|
|
ldm r1!, {r3-r5}
|
|
stm r2!, {r3-r5}
|
|
ldm r1!, {r3-r5}
|
|
stm r2!, {r3-r5}
|
|
ldm r1!, {r3-r5}
|
|
stm r2!, {r3-r5}
|
|
ldm r1!, {r3-r5}
|
|
stm r2!, {r3-r5}
|
|
movs r1, 0x6
|
|
strb r1, [r0]
|
|
ldr r0, _08034E98
|
|
ldr r0, [r0]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r1, [sp, 0x24]
|
|
str r1, [r0]
|
|
movs r0, 0x6D
|
|
bl sub_80338C4
|
|
_08034E90:
|
|
bl sub_80155F0
|
|
b _08034EBC
|
|
.align 2, 0
|
|
_08034E98: .4byte gUnknown_203B33C
|
|
_08034E9C:
|
|
bl sub_80155F0
|
|
bl sub_8004914
|
|
ldr r0, _08034EC4
|
|
ldr r0, [r0]
|
|
movs r3, 0xEF
|
|
lsls r3, 2
|
|
adds r0, r3
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_08034EBC:
|
|
add sp, 0x44
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08034EC4: .4byte gUnknown_203B33C
|
|
thumb_func_end sub_8034D74
|
|
|
|
thumb_func_start sub_8034EC8
|
|
sub_8034EC8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08034EEA
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08034EEA
|
|
bl sub_8012750
|
|
movs r0, 0x2
|
|
bl sub_80338C4
|
|
_08034EEA:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034EC8
|
|
|
|
thumb_func_start sub_8034EF0
|
|
sub_8034EF0:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08034F12
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08034F12
|
|
bl sub_8012750
|
|
movs r0, 0x2
|
|
bl sub_80338C4
|
|
_08034F12:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034EF0
|
|
|
|
thumb_func_start sub_8034F18
|
|
sub_8034F18:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08034F32
|
|
movs r0, 0x65
|
|
bl sub_80338C4
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_08034F32:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034F18
|
|
|
|
thumb_func_start sub_8034F38
|
|
sub_8034F38:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08034F52
|
|
movs r0, 0x71
|
|
bl sub_80338C4
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_08034F52:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034F38
|
|
|
|
thumb_func_start sub_8034F58
|
|
sub_8034F58:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08034F80
|
|
ldr r0, [sp]
|
|
cmp r0, 0x6
|
|
beq _08034F72
|
|
cmp r0, 0x8
|
|
beq _08034F7A
|
|
b _08034F80
|
|
_08034F72:
|
|
movs r0, 0x62
|
|
bl sub_80338C4
|
|
b _08034F80
|
|
_08034F7A:
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_08034F80:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034F58
|
|
|
|
thumb_func_start sub_8034F88
|
|
sub_8034F88:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803500E
|
|
ldr r0, [sp]
|
|
cmp r0, 0x7
|
|
beq _08035000
|
|
cmp r0, 0x7
|
|
bgt _08034FA6
|
|
cmp r0, 0x6
|
|
beq _08034FAC
|
|
b _0803500E
|
|
_08034FA6:
|
|
cmp r0, 0x8
|
|
beq _08035008
|
|
b _0803500E
|
|
_08034FAC:
|
|
ldr r4, _08034FF0
|
|
ldr r0, [r4]
|
|
movs r1, 0x86
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl sub_8095228
|
|
adds r2, r0, 0
|
|
ldr r1, [r4]
|
|
ldr r3, _08034FF4
|
|
adds r0, r1, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08034FD2
|
|
ldr r5, _08034FF8
|
|
adds r0, r1, r5
|
|
ldr r0, [r0]
|
|
str r0, [r2, 0x20]
|
|
_08034FD2:
|
|
ldr r0, _08034FFC
|
|
ldr r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
subs r0, 0x1
|
|
strh r0, [r1]
|
|
movs r0, 0x75
|
|
bl sub_80338C4
|
|
b _0803500E
|
|
.align 2, 0
|
|
_08034FF0: .4byte gUnknown_203B33C
|
|
_08034FF4: .4byte 0x0000041e
|
|
_08034FF8: .4byte 0x0000041c
|
|
_08034FFC: .4byte gUnknown_203B460
|
|
_08035000:
|
|
movs r0, 0x57
|
|
bl sub_80338C4
|
|
b _0803500E
|
|
_08035008:
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_0803500E:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8034F88
|
|
|
|
thumb_func_start sub_8035018
|
|
sub_8035018:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08035032
|
|
movs r0, 0x76
|
|
bl sub_80338C4
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_08035032:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8035018
|
|
|
|
thumb_func_start sub_8035038
|
|
sub_8035038:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803508E
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0803508E
|
|
bl sub_8012750
|
|
ldr r0, _0803506C
|
|
ldr r0, [r0]
|
|
ldr r1, _08035070
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0xD
|
|
beq _08035080
|
|
cmp r0, 0xD
|
|
bls _08035074
|
|
cmp r0, 0xE
|
|
beq _08035088
|
|
b _0803508E
|
|
.align 2, 0
|
|
_0803506C: .4byte gUnknown_203B33C
|
|
_08035070: .4byte 0x00000524
|
|
_08035074:
|
|
cmp r0, 0xB
|
|
bcc _0803508E
|
|
movs r0, 0x69
|
|
bl sub_80338C4
|
|
b _0803508E
|
|
_08035080:
|
|
movs r0, 0x66
|
|
bl sub_80338C4
|
|
b _0803508E
|
|
_08035088:
|
|
movs r0, 0x4B
|
|
bl sub_80338C4
|
|
_0803508E:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8035038
|
|
|
|
thumb_func_start sub_8035094
|
|
sub_8035094:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080350EE
|
|
ldr r0, [sp]
|
|
cmp r0, 0x8
|
|
beq _080350E8
|
|
cmp r0, 0x16
|
|
bne _080350EE
|
|
ldr r0, _080350C4
|
|
ldr r0, [r0]
|
|
ldr r1, _080350C8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0xD
|
|
beq _080350D8
|
|
cmp r0, 0xD
|
|
bls _080350CC
|
|
cmp r0, 0xE
|
|
beq _080350E0
|
|
b _080350EE
|
|
.align 2, 0
|
|
_080350C4: .4byte gUnknown_203B33C
|
|
_080350C8: .4byte 0x00000524
|
|
_080350CC:
|
|
cmp r0, 0xB
|
|
bcc _080350EE
|
|
movs r0, 0x69
|
|
bl sub_80338C4
|
|
b _080350EE
|
|
_080350D8:
|
|
movs r0, 0x66
|
|
bl sub_80338C4
|
|
b _080350EE
|
|
_080350E0:
|
|
movs r0, 0x4B
|
|
bl sub_80338C4
|
|
b _080350EE
|
|
_080350E8:
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_080350EE:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8035094
|
|
|
|
thumb_func_start sub_80350F4
|
|
sub_80350F4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08035176
|
|
ldr r0, [sp]
|
|
cmp r0, 0x15
|
|
beq _08035118
|
|
cmp r0, 0x15
|
|
bgt _08035112
|
|
cmp r0, 0x8
|
|
beq _08035170
|
|
b _08035176
|
|
_08035112:
|
|
cmp r0, 0x16
|
|
beq _08035134
|
|
b _08035176
|
|
_08035118:
|
|
movs r0, 0
|
|
bl sub_801CF14
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803512C
|
|
movs r0, 0x56
|
|
bl sub_80338C4
|
|
b _08035176
|
|
_0803512C:
|
|
movs r0, 0x57
|
|
bl sub_80338C4
|
|
b _08035176
|
|
_08035134:
|
|
ldr r0, _0803514C
|
|
ldr r0, [r0]
|
|
ldr r1, _08035150
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0xD
|
|
beq _08035160
|
|
cmp r0, 0xD
|
|
bls _08035154
|
|
cmp r0, 0xE
|
|
beq _08035168
|
|
b _08035176
|
|
.align 2, 0
|
|
_0803514C: .4byte gUnknown_203B33C
|
|
_08035150: .4byte 0x00000524
|
|
_08035154:
|
|
cmp r0, 0xB
|
|
bcc _08035176
|
|
movs r0, 0x69
|
|
bl sub_80338C4
|
|
b _08035176
|
|
_08035160:
|
|
movs r0, 0x66
|
|
bl sub_80338C4
|
|
b _08035176
|
|
_08035168:
|
|
movs r0, 0x4B
|
|
bl sub_80338C4
|
|
b _08035176
|
|
_08035170:
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_08035176:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80350F4
|
|
|
|
thumb_func_start sub_803517C
|
|
sub_803517C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080351DA
|
|
ldr r0, [sp]
|
|
cmp r0, 0x6
|
|
beq _08035196
|
|
cmp r0, 0x8
|
|
beq _080351D4
|
|
b _080351DA
|
|
_08035196:
|
|
ldr r0, _080351B0
|
|
ldr r0, [r0]
|
|
ldr r1, _080351B4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0xD
|
|
beq _080351C4
|
|
cmp r0, 0xD
|
|
bls _080351B8
|
|
cmp r0, 0xE
|
|
beq _080351CC
|
|
b _080351DA
|
|
.align 2, 0
|
|
_080351B0: .4byte gUnknown_203B33C
|
|
_080351B4: .4byte 0x00000524
|
|
_080351B8:
|
|
cmp r0, 0xB
|
|
bcc _080351DA
|
|
movs r0, 0x69
|
|
bl sub_80338C4
|
|
b _080351DA
|
|
_080351C4:
|
|
movs r0, 0x66
|
|
bl sub_80338C4
|
|
b _080351DA
|
|
_080351CC:
|
|
movs r0, 0x4B
|
|
bl sub_80338C4
|
|
b _080351DA
|
|
_080351D4:
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_080351DA:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803517C
|
|
|
|
thumb_func_start sub_80351E0
|
|
sub_80351E0:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08035208
|
|
ldr r0, [sp]
|
|
cmp r0, 0x6
|
|
beq _080351FA
|
|
cmp r0, 0x8
|
|
beq _08035202
|
|
b _08035208
|
|
_080351FA:
|
|
movs r0, 0x72
|
|
bl sub_80338C4
|
|
b _08035208
|
|
_08035202:
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_08035208:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80351E0
|
|
|
|
thumb_func_start sub_8035210
|
|
sub_8035210:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803528C
|
|
ldr r0, _08035238
|
|
ldr r2, [r0]
|
|
ldr r1, _0803523C
|
|
adds r0, r2, r1
|
|
ldr r1, [sp]
|
|
str r1, [r0]
|
|
cmp r1, 0xD
|
|
bgt _0803528C
|
|
cmp r1, 0xB
|
|
bge _08035240
|
|
cmp r1, 0x8
|
|
beq _08035286
|
|
b _0803528C
|
|
.align 2, 0
|
|
_08035238: .4byte gUnknown_203B33C
|
|
_0803523C: .4byte 0x00000524
|
|
_08035240:
|
|
movs r3, 0xA5
|
|
lsls r3, 3
|
|
adds r0, r2, r3
|
|
ldr r0, [r0]
|
|
cmp r0, 0x13
|
|
bne _08035272
|
|
movs r0, 0x5
|
|
bl sub_80953D4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8095228
|
|
adds r0, 0x22
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0803526A
|
|
movs r0, 0x53
|
|
bl sub_80338C4
|
|
b _0803528C
|
|
_0803526A:
|
|
movs r0, 0x55
|
|
bl sub_80338C4
|
|
b _0803528C
|
|
_08035272:
|
|
cmp r1, 0xD
|
|
beq _0803527E
|
|
movs r0, 0x69
|
|
bl sub_80338C4
|
|
b _0803528C
|
|
_0803527E:
|
|
movs r0, 0x72
|
|
bl sub_80338C4
|
|
b _0803528C
|
|
_08035286:
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
_0803528C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8035210
|
|
|
|
thumb_func_start nullsub_46
|
|
nullsub_46:
|
|
bx lr
|
|
thumb_func_end nullsub_46
|
|
|
|
thumb_func_start nullsub_47
|
|
nullsub_47:
|
|
bx lr
|
|
thumb_func_end nullsub_47
|
|
|
|
thumb_func_start nullsub_48
|
|
nullsub_48:
|
|
bx lr
|
|
thumb_func_end nullsub_48
|
|
|
|
thumb_func_start nullsub_49
|
|
nullsub_49:
|
|
bx lr
|
|
thumb_func_end nullsub_49
|
|
|
|
thumb_func_start sub_80352A4
|
|
sub_80352A4:
|
|
push {r4,lr}
|
|
bl sub_802F298
|
|
cmp r0, 0x3
|
|
bne _080352EC
|
|
bl sub_802F2C0
|
|
ldr r0, _080352F4
|
|
movs r4, 0x98
|
|
lsls r4, 1
|
|
adds r1, r4, 0
|
|
bl sub_808D8E0
|
|
adds r0, r4, 0
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r0, _080352F8
|
|
bl strcpy
|
|
ldr r0, _080352FC
|
|
ldr r0, [r0]
|
|
movs r1, 0x84
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
movs r0, 0x6
|
|
bl sub_809539C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8095240
|
|
movs r0, 0x70
|
|
bl sub_80338C4
|
|
_080352EC:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080352F4: .4byte gUnknown_202E5D8
|
|
_080352F8: .4byte gUnknown_202DF98
|
|
_080352FC: .4byte gUnknown_203B33C
|
|
thumb_func_end sub_80352A4
|
|
|
|
thumb_func_start sub_8035300
|
|
sub_8035300:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08035364
|
|
ldr r0, [sp]
|
|
adds r1, r0, 0
|
|
subs r1, 0x19
|
|
adds r2, r0, 0
|
|
cmp r1, 0x4
|
|
bhi _08035364
|
|
lsls r0, r1, 2
|
|
ldr r1, _08035324
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08035324: .4byte _08035328
|
|
.align 2, 0
|
|
_08035328:
|
|
.4byte _0803533C
|
|
.4byte _08035354
|
|
.4byte _08035344
|
|
.4byte _0803534C
|
|
.4byte _08035354
|
|
_0803533C:
|
|
movs r0, 0x1
|
|
bl sub_80338C4
|
|
b _08035364
|
|
_08035344:
|
|
movs r0, 0x7A
|
|
bl sub_80338C4
|
|
b _08035364
|
|
_0803534C:
|
|
movs r0, 0x7C
|
|
bl sub_80338C4
|
|
b _08035364
|
|
_08035354:
|
|
ldr r0, _0803536C
|
|
ldr r0, [r0]
|
|
ldr r1, _08035370
|
|
adds r0, r1
|
|
str r2, [r0]
|
|
movs r0, 0x79
|
|
bl sub_80338C4
|
|
_08035364:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803536C: .4byte gUnknown_203B33C
|
|
_08035370: .4byte 0x00000564
|
|
thumb_func_end sub_8035300
|
|
|
|
thumb_func_start sub_8035374
|
|
sub_8035374:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080353AC
|
|
ldr r1, [sp]
|
|
cmp r1, 0x19
|
|
bne _08035390
|
|
movs r0, 0x78
|
|
bl sub_80338C4
|
|
b _080353AC
|
|
_08035390:
|
|
cmp r1, 0x19
|
|
blt _080353AC
|
|
cmp r1, 0x22
|
|
bgt _080353AC
|
|
cmp r1, 0x1E
|
|
blt _080353AC
|
|
ldr r0, _080353B4
|
|
ldr r0, [r0]
|
|
ldr r2, _080353B8
|
|
adds r0, r2
|
|
str r1, [r0]
|
|
movs r0, 0x7B
|
|
bl sub_80338C4
|
|
_080353AC:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080353B4: .4byte gUnknown_203B33C
|
|
_080353B8: .4byte 0x00000564
|
|
thumb_func_end sub_8035374
|
|
|
|
thumb_func_start sub_80353BC
|
|
sub_80353BC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080353F4
|
|
ldr r1, [sp]
|
|
cmp r1, 0x19
|
|
bne _080353D8
|
|
movs r0, 0x78
|
|
bl sub_80338C4
|
|
b _080353F4
|
|
_080353D8:
|
|
cmp r1, 0x19
|
|
blt _080353F4
|
|
cmp r1, 0x26
|
|
bgt _080353F4
|
|
cmp r1, 0x23
|
|
blt _080353F4
|
|
ldr r0, _080353FC
|
|
ldr r0, [r0]
|
|
ldr r2, _08035400
|
|
adds r0, r2
|
|
str r1, [r0]
|
|
movs r0, 0x7D
|
|
bl sub_80338C4
|
|
_080353F4:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080353FC: .4byte gUnknown_203B33C
|
|
_08035400: .4byte 0x00000564
|
|
thumb_func_end sub_80353BC
|
|
|
|
thumb_func_start sub_8035404
|
|
sub_8035404:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803541A
|
|
adds r0, r4, 0
|
|
bl sub_80338C4
|
|
_0803541A:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8035404
|
|
|
|
thumb_func_start sub_8035424
|
|
sub_8035424:
|
|
push {lr}
|
|
movs r0, 0x6
|
|
bl sub_80338C4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8035424
|
|
|
|
thumb_func_start sub_8035430
|
|
sub_8035430:
|
|
push {lr}
|
|
movs r0, 0x4F
|
|
bl sub_80338C4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8035430
|
|
|
|
thumb_func_start nullsub_50
|
|
nullsub_50:
|
|
bx lr
|
|
thumb_func_end nullsub_50
|
|
|
|
thumb_func_start nullsub_51
|
|
nullsub_51:
|
|
bx lr
|
|
thumb_func_end nullsub_51
|
|
|
|
thumb_func_start sub_8035444
|
|
sub_8035444:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x84
|
|
mov r8, r0
|
|
adds r5, r1, 0
|
|
ldr r4, _080354C0
|
|
movs r0, 0x6C
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
movs r1, 0
|
|
str r1, [r0, 0x60]
|
|
str r5, [r0, 0x64]
|
|
mov r1, r8
|
|
str r1, [r0, 0x68]
|
|
ldr r2, _080354C4
|
|
mov r12, r2
|
|
mov r9, r4
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_08035472:
|
|
ldr r1, [r4]
|
|
adds r1, r3
|
|
mov r0, r12
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _08035472
|
|
mov r0, r9
|
|
ldr r1, [r0]
|
|
ldr r0, _080354C8
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
bl sub_8004914
|
|
mov r1, r9
|
|
ldr r0, [r1]
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x2
|
|
bl sub_8099690
|
|
movs r0, 0
|
|
bl sub_80073B8
|
|
mov r2, r8
|
|
lsls r0, r2, 2
|
|
ldr r1, _080354CC
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
movs r5, 0
|
|
b _08035542
|
|
.align 2, 0
|
|
_080354C0: .4byte gUnknown_203B340
|
|
_080354C4: .4byte gUnknown_80E4A10
|
|
_080354C8: .4byte gUnknown_80E4A28
|
|
_080354CC: .4byte gUnknown_80E591C
|
|
_080354D0:
|
|
ldr r2, [r1, 0x8]
|
|
movs r3, 0x4
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0
|
|
blt _080354DE
|
|
adds r5, r0, 0
|
|
b _080354E4
|
|
_080354DE:
|
|
movs r6, 0x4
|
|
ldrsh r0, [r1, r6]
|
|
subs r5, r0
|
|
_080354E4:
|
|
movs r7, 0x2
|
|
ldrsh r6, [r1, r7]
|
|
movs r3, 0
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0x1
|
|
beq _080354FA
|
|
cmp r0, 0x2
|
|
beq _08035514
|
|
adds r4, r1, 0
|
|
adds r4, 0xC
|
|
b _08035532
|
|
_080354FA:
|
|
add r3, sp, 0x4
|
|
ldrb r0, [r2]
|
|
adds r4, r1, 0
|
|
adds r4, 0xC
|
|
cmp r0, 0
|
|
beq _0803552C
|
|
_08035506:
|
|
strb r0, [r3]
|
|
adds r2, 0x1
|
|
adds r3, 0x1
|
|
ldrb r0, [r2]
|
|
cmp r0, 0
|
|
bne _08035506
|
|
b _0803552C
|
|
_08035514:
|
|
add r3, sp, 0x4
|
|
ldrb r0, [r2]
|
|
adds r4, r1, 0
|
|
adds r4, 0xC
|
|
cmp r0, 0
|
|
beq _0803552C
|
|
_08035520:
|
|
strb r0, [r3]
|
|
adds r2, 0x1
|
|
adds r3, 0x1
|
|
ldrb r0, [r2]
|
|
cmp r0, 0
|
|
bne _08035520
|
|
_0803552C:
|
|
movs r0, 0
|
|
strb r0, [r3]
|
|
add r2, sp, 0x4
|
|
_08035532:
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
movs r3, 0
|
|
bl xxx_call_draw_string
|
|
adds r1, r4, 0
|
|
_08035542:
|
|
ldr r0, [r1, 0x8]
|
|
cmp r0, 0
|
|
bne _080354D0
|
|
movs r0, 0
|
|
bl sub_80073E0
|
|
movs r0, 0
|
|
bl sub_80063CC
|
|
ldr r2, _08035570
|
|
movs r0, 0x9
|
|
movs r1, 0
|
|
ldr r2, [r2]
|
|
bl sub_8099AFC
|
|
movs r0, 0x1
|
|
add sp, 0x84
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08035570: .4byte gCreditsTable
|
|
thumb_func_end sub_8035444
|
|
|
|
thumb_func_start sub_8035574
|
|
sub_8035574:
|
|
push {r4,lr}
|
|
ldr r1, _0803558C
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x60]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x4
|
|
bhi _08035654
|
|
lsls r0, 2
|
|
ldr r1, _08035590
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803558C: .4byte gUnknown_203B340
|
|
_08035590: .4byte _08035594
|
|
.align 2, 0
|
|
_08035594:
|
|
.4byte _080355A8
|
|
.4byte _080355D0
|
|
.4byte _080355E8
|
|
.4byte _08035610
|
|
.4byte _08035638
|
|
_080355A8:
|
|
bl sub_8099B94
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08035654
|
|
ldr r0, _080355C8
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0x60]
|
|
ldr r2, _080355CC
|
|
movs r0, 0x9
|
|
movs r1, 0x1E
|
|
ldr r2, [r2]
|
|
bl sub_8099A5C
|
|
b _08035654
|
|
.align 2, 0
|
|
_080355C8: .4byte gUnknown_203B340
|
|
_080355CC: .4byte gCreditsTable
|
|
_080355D0:
|
|
bl sub_8099B94
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08035654
|
|
ldr r0, _080355E4
|
|
ldr r1, [r0]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x60]
|
|
b _08035654
|
|
.align 2, 0
|
|
_080355E4: .4byte gUnknown_203B340
|
|
_080355E8:
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x64]
|
|
cmp r0, 0
|
|
bgt _08035600
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x60]
|
|
ldr r2, _0803560C
|
|
movs r0, 0x9
|
|
movs r1, 0x1E
|
|
ldr r2, [r2]
|
|
bl sub_8099AFC
|
|
_08035600:
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x64]
|
|
subs r0, 0x1
|
|
str r0, [r1, 0x64]
|
|
b _08035654
|
|
.align 2, 0
|
|
_0803560C: .4byte gCreditsTable
|
|
_08035610:
|
|
bl sub_8099B94
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08035654
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, _08035634
|
|
ldr r1, [r0]
|
|
movs r0, 0x4
|
|
str r0, [r1, 0x60]
|
|
b _08035654
|
|
.align 2, 0
|
|
_08035634: .4byte gUnknown_203B340
|
|
_08035638:
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
ldr r2, _08035650
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
ldr r2, [r2]
|
|
bl sub_8099A5C
|
|
movs r0, 0x3
|
|
b _08035656
|
|
.align 2, 0
|
|
_08035650: .4byte gCreditsTable
|
|
_08035654:
|
|
movs r0, 0
|
|
_08035656:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8035574
|
|
|
|
thumb_func_start sub_803565C
|
|
sub_803565C:
|
|
push {r4,lr}
|
|
ldr r4, _08035674
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0803566E
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0803566E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08035674: .4byte gUnknown_203B340
|
|
thumb_func_end sub_803565C
|
|
|
|
thumb_func_start sub_8035678
|
|
sub_8035678:
|
|
push {r4,lr}
|
|
ldr r4, _0803569C
|
|
movs r0, 0x8
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
str r1, [r0, 0x4]
|
|
movs r0, 0
|
|
movs r1, 0x39
|
|
bl sub_80015C0
|
|
movs r0, 0x1
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0803569C: .4byte gUnknown_203B344
|
|
thumb_func_end sub_8035678
|
|
|
|
thumb_func_start sub_80356A0
|
|
sub_80356A0:
|
|
push {r4,lr}
|
|
ldr r0, _080356C4
|
|
ldrh r4, [r0]
|
|
ldr r3, _080356C8
|
|
ldr r2, _080356CC
|
|
ldr r1, [r2]
|
|
ldr r0, [r1, 0x4]
|
|
lsls r0, 1
|
|
adds r0, r3
|
|
ldrh r3, [r0]
|
|
ldr r0, [r1]
|
|
cmp r0, 0x4
|
|
bhi _08035734
|
|
lsls r0, 2
|
|
ldr r1, _080356D0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080356C4: .4byte gUnknown_20255F0
|
|
_080356C8: .4byte gUnknown_80E5990
|
|
_080356CC: .4byte gUnknown_203B344
|
|
_080356D0: .4byte _080356D4
|
|
.align 2, 0
|
|
_080356D4:
|
|
.4byte _08035728
|
|
.4byte _080356E8
|
|
.4byte _08035710
|
|
.4byte _0803574C
|
|
.4byte _08035730
|
|
_080356E8:
|
|
cmp r3, 0
|
|
bne _080356F4
|
|
ldr r1, [r2]
|
|
movs r0, 0x4
|
|
str r0, [r1]
|
|
b _08035734
|
|
_080356F4:
|
|
cmp r4, r3
|
|
bne _08035700
|
|
ldr r1, [r2]
|
|
movs r0, 0x2
|
|
str r0, [r1]
|
|
b _08035734
|
|
_08035700:
|
|
ands r3, r4
|
|
cmp r3, r4
|
|
bne _08035728
|
|
ldr r1, [r2]
|
|
ldr r0, [r1, 0x4]
|
|
cmp r0, 0
|
|
bne _08035734
|
|
b _0803572A
|
|
_08035710:
|
|
cmp r4, 0
|
|
bne _08035722
|
|
ldr r1, [r2]
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
ldr r0, [r1, 0x4]
|
|
adds r0, 0x1
|
|
str r0, [r1, 0x4]
|
|
b _08035734
|
|
_08035722:
|
|
ands r3, r4
|
|
cmp r3, r4
|
|
beq _08035734
|
|
_08035728:
|
|
ldr r1, [r2]
|
|
_0803572A:
|
|
movs r0, 0x3
|
|
str r0, [r1]
|
|
b _08035734
|
|
_08035730:
|
|
movs r0, 0x3
|
|
b _0803574E
|
|
_08035734:
|
|
movs r0, 0
|
|
movs r1, 0x39
|
|
bl sub_8001658
|
|
cmp r0, 0
|
|
bne _08035744
|
|
movs r0, 0
|
|
b _0803574E
|
|
_08035744:
|
|
ldr r0, _08035754
|
|
ldr r1, [r0]
|
|
movs r0, 0x3
|
|
str r0, [r1]
|
|
_0803574C:
|
|
movs r0, 0x2
|
|
_0803574E:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08035754: .4byte gUnknown_203B344
|
|
thumb_func_end sub_80356A0
|
|
|
|
thumb_func_start sub_8035758
|
|
sub_8035758:
|
|
push {r4,lr}
|
|
ldr r4, _08035770
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0803576A
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0803576A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08035770: .4byte gUnknown_203B344
|
|
thumb_func_end sub_8035758
|
|
|
|
thumb_func_start InitMainMenu
|
|
InitMainMenu:
|
|
push {r4,r5,lr}
|
|
ldr r5, _080357C8
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
bne _08035790
|
|
movs r0, 0x40
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r1, 0
|
|
movs r2, 0x40
|
|
bl MemoryFill8
|
|
_08035790:
|
|
ldr r0, [r5]
|
|
ldr r1, _080357CC
|
|
str r1, [r0]
|
|
movs r2, 0x1
|
|
str r2, [r0, 0x4]
|
|
str r2, [r0, 0x8]
|
|
adds r1, 0x23
|
|
strh r1, [r0, 0x38]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r1, [r0, 0x3C]
|
|
adds r0, 0x2E
|
|
movs r4, 0
|
|
strb r4, [r0]
|
|
ldr r0, [r5]
|
|
adds r0, 0x2C
|
|
strb r2, [r0]
|
|
ldr r0, [r5]
|
|
adds r0, 0x2D
|
|
strb r4, [r0]
|
|
bl sub_8035DA0
|
|
ldr r0, [r5]
|
|
adds r0, 0x3A
|
|
strb r4, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080357C8: .4byte gUnknown_203B348
|
|
_080357CC: .4byte 0x0000ffdc
|
|
thumb_func_end InitMainMenu
|
|
|
|
thumb_func_start sub_80357D0
|
|
sub_80357D0:
|
|
push {r4,lr}
|
|
ldr r4, _080357E8
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080357E2
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_080357E2:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080357E8: .4byte gUnknown_203B348
|
|
thumb_func_end sub_80357D0
|
|
|
|
thumb_func_start SetUpMenu
|
|
SetUpMenu:
|
|
push {lr}
|
|
ldr r0, _08035810
|
|
ldr r0, [r0]
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
cmp r1, r0
|
|
bne _080357FC
|
|
b _08035958
|
|
_080357FC:
|
|
subs r0, 0x1
|
|
cmp r0, 0x2D
|
|
bls _08035804
|
|
b _08035950
|
|
_08035804:
|
|
lsls r0, 2
|
|
ldr r1, _08035814
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08035810: .4byte gUnknown_203B348
|
|
_08035814: .4byte _08035818
|
|
.align 2, 0
|
|
_08035818:
|
|
.4byte _080358D0
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _080358E0
|
|
.4byte _080358E0
|
|
.4byte _080358E0
|
|
.4byte _080358E0
|
|
.4byte _08035934
|
|
.4byte _0803590C
|
|
.4byte _080358F0
|
|
.4byte _08035912
|
|
.4byte _08035918
|
|
.4byte _0803591E
|
|
.4byte _0803594C
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _080358F6
|
|
.4byte _080358F6
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _08035924
|
|
.4byte _08035924
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _08035950
|
|
.4byte _0803593A
|
|
.4byte _0803593A
|
|
.4byte _0803593A
|
|
.4byte _0803593A
|
|
.4byte _0803593A
|
|
.4byte _0803593A
|
|
_080358D0:
|
|
bl sub_8094C14
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
bl sub_8035E10
|
|
b _08035950
|
|
_080358E0:
|
|
ldr r0, _080358EC
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
bl sub_8039254
|
|
b _08035950
|
|
.align 2, 0
|
|
_080358EC: .4byte gUnknown_203B348
|
|
_080358F0:
|
|
bl sub_8036400
|
|
b _08035950
|
|
_080358F6:
|
|
ldr r0, _08035908
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
bl sub_8035DB4
|
|
bl sub_8036FDC
|
|
b _08035950
|
|
.align 2, 0
|
|
_08035908: .4byte gUnknown_203B348
|
|
_0803590C:
|
|
bl sub_803225C
|
|
b _08035950
|
|
_08035912:
|
|
bl sub_80398AC
|
|
b _08035950
|
|
_08035918:
|
|
bl sub_803A1D8
|
|
b _08035950
|
|
_0803591E:
|
|
bl sub_803A1E4
|
|
b _08035950
|
|
_08035924:
|
|
ldr r0, _08035930
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
bl sub_8038900
|
|
b _08035950
|
|
.align 2, 0
|
|
_08035930: .4byte gUnknown_203B348
|
|
_08035934:
|
|
bl sub_80382A0
|
|
b _08035950
|
|
_0803593A:
|
|
ldr r0, _08035948
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
bl sub_803850C
|
|
b _08035950
|
|
.align 2, 0
|
|
_08035948: .4byte gUnknown_203B348
|
|
_0803594C:
|
|
bl sub_803A200
|
|
_08035950:
|
|
ldr r0, _0803595C
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, 0x4]
|
|
str r0, [r1]
|
|
_08035958:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803595C: .4byte gUnknown_203B348
|
|
thumb_func_end SetUpMenu
|
|
|
|
thumb_func_start UpdateMenu
|
|
UpdateMenu:
|
|
push {lr}
|
|
ldr r2, _0803597C
|
|
ldr r0, _08035980
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
subs r0, 0x1
|
|
cmp r0, 0x2D
|
|
bls _08035972
|
|
b _08035AA6
|
|
_08035972:
|
|
lsls r0, 2
|
|
ldr r1, _08035984
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803597C: .4byte 0x0000ffdc
|
|
_08035980: .4byte gUnknown_203B348
|
|
_08035984: .4byte _08035988
|
|
.align 2, 0
|
|
_08035988:
|
|
.4byte _08035A40
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035A46
|
|
.4byte _08035A46
|
|
.4byte _08035A46
|
|
.4byte _08035A46
|
|
.4byte _08035A8E
|
|
.4byte _08035A52
|
|
.4byte _08035A4C
|
|
.4byte _08035A58
|
|
.4byte _08035A5E
|
|
.4byte _08035A70
|
|
.4byte _08035AA0
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035AA6
|
|
.4byte _08035A88
|
|
.4byte _08035A88
|
|
.4byte _08035AA6
|
|
.4byte _08035A94
|
|
.4byte _08035A94
|
|
.4byte _08035A94
|
|
.4byte _08035A94
|
|
.4byte _08035A94
|
|
.4byte _08035A9A
|
|
.4byte _08035A9A
|
|
.4byte _08035A9A
|
|
.4byte _08035A9A
|
|
.4byte _08035A9A
|
|
.4byte _08035A9A
|
|
_08035A40:
|
|
bl sub_8035EEC
|
|
b _08035AA4
|
|
_08035A46:
|
|
bl sub_803941C
|
|
b _08035AA4
|
|
_08035A4C:
|
|
bl sub_8036448
|
|
b _08035A62
|
|
_08035A52:
|
|
bl sub_8032318
|
|
b _08035A62
|
|
_08035A58:
|
|
bl sub_8039928
|
|
b _08035A62
|
|
_08035A5E:
|
|
bl sub_803A1DC
|
|
_08035A62:
|
|
movs r2, 0x1
|
|
cmp r0, 0x3
|
|
beq _08035AA6
|
|
ldr r2, _08035A6C
|
|
b _08035AA6
|
|
.align 2, 0
|
|
_08035A6C: .4byte 0x0000ffdc
|
|
_08035A70:
|
|
bl sub_803A1E8
|
|
movs r2, 0x5
|
|
cmp r0, 0x3
|
|
beq _08035AA6
|
|
ldr r2, _08035A84
|
|
cmp r0, 0x2
|
|
bne _08035AA6
|
|
movs r2, 0x1
|
|
b _08035AA6
|
|
.align 2, 0
|
|
_08035A84: .4byte 0x0000ffdc
|
|
_08035A88:
|
|
bl sub_8038A90
|
|
b _08035AA4
|
|
_08035A8E:
|
|
bl sub_80382C0
|
|
b _08035AA4
|
|
_08035A94:
|
|
bl sub_80383D4
|
|
b _08035AA4
|
|
_08035A9A:
|
|
bl sub_8038630
|
|
b _08035AA4
|
|
_08035AA0:
|
|
bl sub_803A2A4
|
|
_08035AA4:
|
|
adds r2, r0, 0
|
|
_08035AA6:
|
|
ldr r0, _08035AB8
|
|
cmp r2, r0
|
|
beq _08035AB2
|
|
ldr r0, _08035ABC
|
|
ldr r0, [r0]
|
|
str r2, [r0, 0x4]
|
|
_08035AB2:
|
|
adds r0, r2, 0
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08035AB8: .4byte 0x0000ffdc
|
|
_08035ABC: .4byte gUnknown_203B348
|
|
thumb_func_end UpdateMenu
|
|
|
|
thumb_func_start CleanUpMenu
|
|
CleanUpMenu:
|
|
push {lr}
|
|
ldr r0, _08035AE4
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x4]
|
|
cmp r1, r0
|
|
bne _08035AD0
|
|
b _08035BF8
|
|
_08035AD0:
|
|
subs r0, r1, 0x1
|
|
cmp r0, 0x2D
|
|
bls _08035AD8
|
|
b _08035BF0
|
|
_08035AD8:
|
|
lsls r0, 2
|
|
ldr r1, _08035AE8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08035AE4: .4byte gUnknown_203B348
|
|
_08035AE8: .4byte _08035AEC
|
|
.align 2, 0
|
|
_08035AEC:
|
|
.4byte _08035BA4
|
|
.4byte _08035BF0
|
|
.4byte _08035BF0
|
|
.4byte _08035BF0
|
|
.4byte _08035BF0
|
|
.4byte _08035BAA
|
|
.4byte _08035BAA
|
|
.4byte _08035BAA
|
|
.4byte _08035BAA
|
|
.4byte _08035BDA
|
|
.4byte _08035BBC
|
|
.4byte _08035BB0
|
|
.4byte _08035BC2
|
|
.4byte _08035BC8
|
|
.4byte _08035BCE
|
|
.4byte _08035BEC
|
|
.4byte _08035BF0
|
|
.4byte _08035BF0
|
|
.4byte _08035BB6
|
|
.4byte _08035BB6
|
|
.4byte _08035BF0
|
|
.4byte _08035BF0
|
|
.4byte _08035BF0
|
|
.4byte _08035BF0
|
|
.4byte _08035BF0
|
|
.4byte _08035BF0
|
|
.4byte _08035BF0
|
|
.4byte _08035BF0
|
|
.4byte _08035BF0
|
|
.4byte _08035BF0
|
|
.4byte _08035BF0
|
|
.4byte _08035BF0
|
|
.4byte _08035BD4
|
|
.4byte _08035BD4
|
|
.4byte _08035BF0
|
|
.4byte _08035BE0
|
|
.4byte _08035BE0
|
|
.4byte _08035BE0
|
|
.4byte _08035BE0
|
|
.4byte _08035BE0
|
|
.4byte _08035BE6
|
|
.4byte _08035BE6
|
|
.4byte _08035BE6
|
|
.4byte _08035BE6
|
|
.4byte _08035BE6
|
|
.4byte _08035BE6
|
|
_08035BA4:
|
|
bl sub_8035EC0
|
|
b _08035BF0
|
|
_08035BAA:
|
|
bl sub_80393F0
|
|
b _08035BF0
|
|
_08035BB0:
|
|
bl sub_8036B04
|
|
b _08035BF0
|
|
_08035BB6:
|
|
bl sub_80370D4
|
|
b _08035BF0
|
|
_08035BBC:
|
|
bl sub_80327E4
|
|
b _08035BF0
|
|
_08035BC2:
|
|
bl sub_80399E4
|
|
b _08035BF0
|
|
_08035BC8:
|
|
bl nullsub_55
|
|
b _08035BF0
|
|
_08035BCE:
|
|
bl sub_803A1EC
|
|
b _08035BF0
|
|
_08035BD4:
|
|
bl sub_8038A5C
|
|
b _08035BF0
|
|
_08035BDA:
|
|
bl sub_80382AC
|
|
b _08035BF0
|
|
_08035BE0:
|
|
bl sub_80383A8
|
|
b _08035BF0
|
|
_08035BE6:
|
|
bl sub_8038604
|
|
b _08035BF0
|
|
_08035BEC:
|
|
bl sub_803A278
|
|
_08035BF0:
|
|
ldr r0, _08035BFC
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, 0x4]
|
|
str r0, [r1, 0x8]
|
|
_08035BF8:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08035BFC: .4byte gUnknown_203B348
|
|
thumb_func_end CleanUpMenu
|
|
|
|
thumb_func_start sub_8035C00
|
|
sub_8035C00:
|
|
ldr r1, _08035C0C
|
|
ldr r1, [r1]
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x2C]
|
|
bx lr
|
|
.align 2, 0
|
|
_08035C0C: .4byte gUnknown_203B348
|
|
thumb_func_end sub_8035C00
|
|
|
|
thumb_func_start sub_8035C10
|
|
sub_8035C10:
|
|
ldr r0, _08035C18
|
|
ldr r0, [r0]
|
|
adds r0, 0x2C
|
|
bx lr
|
|
.align 2, 0
|
|
_08035C18: .4byte gUnknown_203B348
|
|
thumb_func_end sub_8035C10
|
|
|
|
thumb_func_start sub_8035C1C
|
|
sub_8035C1C:
|
|
ldr r2, _08035C38
|
|
ldr r0, [r2]
|
|
adds r0, 0x2E
|
|
movs r3, 0
|
|
strb r3, [r0]
|
|
ldr r0, [r2]
|
|
adds r0, 0x2C
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
adds r0, 0x2D
|
|
strb r3, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08035C38: .4byte gUnknown_203B348
|
|
thumb_func_end sub_8035C1C
|
|
|
|
thumb_func_start SetMenuItems
|
|
SetMenuItems:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
adds r6, r0, 0
|
|
adds r4, r1, 0
|
|
adds r5, r2, 0
|
|
ldr r0, [sp, 0x24]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
lsls r0, r5, 1
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r4
|
|
ldm r3!, {r1,r2,r7}
|
|
stm r0!, {r1,r2,r7}
|
|
ldm r3!, {r1,r2,r7}
|
|
stm r0!, {r1,r2,r7}
|
|
bl sub_8004914
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
mov r0, r8
|
|
cmp r0, 0
|
|
beq _08035C90
|
|
lsls r4, r5, 2
|
|
adds r0, r4, r5
|
|
lsls r0, 4
|
|
adds r0, r6, r0
|
|
ldr r1, [sp, 0x28]
|
|
str r1, [sp]
|
|
str r5, [sp, 0x4]
|
|
ldr r1, [sp, 0x20]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8012D60
|
|
b _08035CA8
|
|
_08035C90:
|
|
lsls r4, r5, 2
|
|
adds r0, r4, r5
|
|
lsls r0, 4
|
|
adds r0, r6, r0
|
|
mov r1, r8
|
|
str r1, [sp]
|
|
str r5, [sp, 0x4]
|
|
ldr r1, [sp, 0x20]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8012E04
|
|
_08035CA8:
|
|
adds r0, r4, r5
|
|
lsls r0, 4
|
|
adds r0, r6
|
|
adds r0, 0x4C
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end SetMenuItems
|
|
|
|
thumb_func_start sub_8035CC0
|
|
sub_8035CC0:
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
adds r4, r1, 0
|
|
bl sub_8006518
|
|
lsls r1, r4, 1
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r5
|
|
ldr r0, _08035CF0
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
bl sub_8004914
|
|
adds r0, r5, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08035CF0: .4byte gUnknown_80E59A8
|
|
thumb_func_end sub_8035CC0
|
|
|
|
thumb_func_start sub_8035CF4
|
|
sub_8035CF4:
|
|
push {lr}
|
|
adds r3, r0, 0
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r0, r3
|
|
adds r1, r0, 0
|
|
adds r1, 0x4C
|
|
strb r2, [r1]
|
|
adds r2, r0, 0
|
|
adds r2, 0x4D
|
|
movs r1, 0x1
|
|
strb r1, [r2]
|
|
subs r1, 0x2
|
|
str r1, [r0, 0x48]
|
|
bl sub_8012EBC
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8035CF4
|
|
|
|
thumb_func_start sub_8035D1C
|
|
sub_8035D1C:
|
|
ldr r0, _08035D28
|
|
ldr r1, [r0]
|
|
ldr r0, _08035D2C
|
|
strh r0, [r1, 0x38]
|
|
bx lr
|
|
.align 2, 0
|
|
_08035D28: .4byte gUnknown_203B348
|
|
_08035D2C: .4byte 0x0000ffff
|
|
thumb_func_end sub_8035D1C
|
|
|
|
thumb_func_start sub_8035D30
|
|
sub_8035D30:
|
|
ldr r1, _08035D38
|
|
ldr r1, [r1]
|
|
strh r0, [r1, 0x38]
|
|
bx lr
|
|
.align 2, 0
|
|
_08035D38: .4byte gUnknown_203B348
|
|
thumb_func_end sub_8035D30
|
|
|
|
thumb_func_start sub_8035D3C
|
|
sub_8035D3C:
|
|
ldr r0, _08035D48
|
|
ldr r0, [r0]
|
|
movs r1, 0x38
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_08035D48: .4byte gUnknown_203B348
|
|
thumb_func_end sub_8035D3C
|
|
|
|
thumb_func_start sub_8035D4C
|
|
sub_8035D4C:
|
|
ldr r0, _08035D54
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08035D54: .4byte gUnknown_203B348
|
|
thumb_func_end sub_8035D4C
|
|
|
|
thumb_func_start sub_8035D58
|
|
sub_8035D58:
|
|
ldr r0, _08035D64
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [r1, 0x3C]
|
|
bx lr
|
|
.align 2, 0
|
|
_08035D64: .4byte gUnknown_203B348
|
|
thumb_func_end sub_8035D58
|
|
|
|
thumb_func_start sub_8035D68
|
|
sub_8035D68:
|
|
ldr r1, _08035D70
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x3C]
|
|
bx lr
|
|
.align 2, 0
|
|
_08035D70: .4byte gUnknown_203B348
|
|
thumb_func_end sub_8035D68
|
|
|
|
thumb_func_start sub_8035D74
|
|
sub_8035D74:
|
|
ldr r0, _08035D7C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x3C]
|
|
bx lr
|
|
.align 2, 0
|
|
_08035D7C: .4byte gUnknown_203B348
|
|
thumb_func_end sub_8035D74
|
|
|
|
thumb_func_start sub_8035D80
|
|
sub_8035D80:
|
|
ldr r1, _08035D90
|
|
ldr r2, [r1]
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
str r0, [r2, 0x30]
|
|
str r1, [r2, 0x34]
|
|
bx lr
|
|
.align 2, 0
|
|
_08035D90: .4byte gUnknown_203B348
|
|
thumb_func_end sub_8035D80
|
|
|
|
thumb_func_start sub_8035D94
|
|
sub_8035D94:
|
|
ldr r0, _08035D9C
|
|
ldr r0, [r0]
|
|
adds r0, 0x30
|
|
bx lr
|
|
.align 2, 0
|
|
_08035D9C: .4byte gUnknown_203B348
|
|
thumb_func_end sub_8035D94
|
|
|
|
thumb_func_start sub_8035DA0
|
|
sub_8035DA0:
|
|
ldr r2, _08035DB0
|
|
ldr r0, [r2]
|
|
adds r0, 0x30
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
str r1, [r0, 0x34]
|
|
bx lr
|
|
.align 2, 0
|
|
_08035DB0: .4byte gUnknown_203B348
|
|
thumb_func_end sub_8035DA0
|
|
|
|
thumb_func_start sub_8035DB4
|
|
sub_8035DB4:
|
|
push {lr}
|
|
movs r1, 0x8
|
|
subs r0, 0x13
|
|
cmp r0, 0x7
|
|
bhi _08035E0A
|
|
lsls r0, 2
|
|
ldr r1, _08035DC8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08035DC8: .4byte _08035DCC
|
|
.align 2, 0
|
|
_08035DCC:
|
|
.4byte _08035DEC
|
|
.4byte _08035DF0
|
|
.4byte _08035DF4
|
|
.4byte _08035DF8
|
|
.4byte _08035DFC
|
|
.4byte _08035E00
|
|
.4byte _08035E04
|
|
.4byte _08035E08
|
|
_08035DEC:
|
|
movs r1, 0
|
|
b _08035E0A
|
|
_08035DF0:
|
|
movs r1, 0x1
|
|
b _08035E0A
|
|
_08035DF4:
|
|
movs r1, 0x2
|
|
b _08035E0A
|
|
_08035DF8:
|
|
movs r1, 0x3
|
|
b _08035E0A
|
|
_08035DFC:
|
|
movs r1, 0x4
|
|
b _08035E0A
|
|
_08035E00:
|
|
movs r1, 0x5
|
|
b _08035E0A
|
|
_08035E04:
|
|
movs r1, 0x6
|
|
b _08035E0A
|
|
_08035E08:
|
|
movs r1, 0x7
|
|
_08035E0A:
|
|
adds r0, r1, 0
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8035DB4
|
|
|
|
thumb_func_start sub_8035E10
|
|
sub_8035E10:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r5, _08035EB8
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
bne _08035E34
|
|
movs r4, 0xD4
|
|
lsls r4, 1
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl MemoryFill8
|
|
_08035E34:
|
|
mov r12, r5
|
|
movs r0, 0xA2
|
|
lsls r0, 1
|
|
mov r8, r0
|
|
ldr r4, _08035EBC
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_08035E42:
|
|
mov r5, r12
|
|
ldr r1, [r5]
|
|
adds r1, r3
|
|
add r1, r8
|
|
adds r0, r4, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _08035E42
|
|
bl sub_8004914
|
|
ldr r4, _08035EB8
|
|
ldr r0, [r4]
|
|
movs r6, 0xA2
|
|
lsls r6, 1
|
|
adds r0, r6
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
bl sub_803628C
|
|
ldr r0, [r4]
|
|
movs r7, 0xD2
|
|
lsls r7, 1
|
|
adds r0, r7
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r1, [r0]
|
|
bl SetMainMenuType
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08035E9A
|
|
ldr r0, [r4]
|
|
adds r0, 0x4
|
|
movs r1, 0x2
|
|
movs r2, 0
|
|
bl sub_8035CF4
|
|
_08035E9A:
|
|
ldr r0, [r4]
|
|
adds r0, 0x4
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08035EB8: .4byte gUnknown_203B34C
|
|
_08035EBC: .4byte gUnknown_80E59C8
|
|
thumb_func_end sub_8035E10
|
|
|
|
thumb_func_start sub_8035EC0
|
|
sub_8035EC0:
|
|
push {r4,lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, _08035EE8
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _08035EE0
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_08035EE0:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08035EE8: .4byte gUnknown_203B34C
|
|
thumb_func_end sub_8035EC0
|
|
|
|
thumb_func_start sub_8035EEC
|
|
sub_8035EEC:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
ldr r6, _08035F64
|
|
str r6, [sp]
|
|
ldr r4, _08035F68
|
|
ldr r0, [r4]
|
|
ldr r5, [r0]
|
|
cmp r5, 0xC
|
|
beq _08035FB8
|
|
cmp r5, 0xC
|
|
bls _08035F04
|
|
b _0803601A
|
|
_08035F04:
|
|
cmp r5, 0x1
|
|
beq _08035F0A
|
|
b _0803601A
|
|
_08035F0A:
|
|
adds r0, 0xA4
|
|
bl sub_8012FD8
|
|
ldr r0, [r4]
|
|
adds r0, 0x4
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08035F28
|
|
ldr r0, [r4]
|
|
adds r0, 0x4
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_08035F28:
|
|
bl SetMainMenuType
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08035F4A
|
|
ldr r0, [r4]
|
|
adds r0, 0x4
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
ldr r0, [r4]
|
|
adds r0, 0x4
|
|
movs r1, 0x2
|
|
movs r2, 0
|
|
bl sub_8035CF4
|
|
_08035F4A:
|
|
ldr r1, [sp]
|
|
cmp r1, 0xC
|
|
beq _08035FA8
|
|
cmp r1, 0xC
|
|
bhi _08035F6C
|
|
cmp r1, 0x3
|
|
beq _08035FAC
|
|
cmp r1, 0x3
|
|
bcc _0803601A
|
|
cmp r1, 0x6
|
|
bcc _0803601A
|
|
b _08035FAC
|
|
.align 2, 0
|
|
_08035F64: .4byte 0x0000ffdc
|
|
_08035F68: .4byte gUnknown_203B34C
|
|
_08035F6C:
|
|
cmp r1, r6
|
|
beq _08035FF2
|
|
cmp r1, r6
|
|
bhi _08035F7A
|
|
cmp r1, 0x10
|
|
bhi _0803601A
|
|
b _08035FAC
|
|
_08035F7A:
|
|
ldr r0, _08035FA4
|
|
cmp r1, r0
|
|
bne _0803601A
|
|
ldr r0, [r4]
|
|
str r5, [r0]
|
|
str r6, [sp]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x4
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
ldr r0, [r4]
|
|
adds r0, 0x4
|
|
movs r1, 0x2
|
|
movs r2, 0
|
|
bl sub_8035CF4
|
|
b _0803601A
|
|
.align 2, 0
|
|
_08035FA4: .4byte 0x0000ffdd
|
|
_08035FA8:
|
|
bl sub_8035DA0
|
|
_08035FAC:
|
|
ldr r1, _08035FB4
|
|
ldr r0, [sp]
|
|
str r0, [r1]
|
|
b _0803601A
|
|
.align 2, 0
|
|
_08035FB4: .4byte gUnknown_203B350
|
|
_08035FB8:
|
|
adds r0, 0x54
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08035FCE
|
|
ldr r0, [r4]
|
|
adds r0, 0x54
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_08035FCE:
|
|
ldr r1, [sp]
|
|
cmp r1, 0x12
|
|
beq _08036008
|
|
cmp r1, 0x12
|
|
bhi _08035FDE
|
|
cmp r1, 0x11
|
|
beq _08035FFC
|
|
b _0803601A
|
|
_08035FDE:
|
|
cmp r1, r6
|
|
beq _08036018
|
|
ldr r0, _08035FF8
|
|
cmp r1, r0
|
|
bne _0803601A
|
|
bl sub_803623C
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
_08035FF2:
|
|
str r6, [sp]
|
|
b _0803601A
|
|
.align 2, 0
|
|
_08035FF8: .4byte 0x0000ffdd
|
|
_08035FFC:
|
|
ldr r0, _08036004
|
|
str r1, [r0]
|
|
str r5, [sp]
|
|
b _0803601A
|
|
.align 2, 0
|
|
_08036004: .4byte gUnknown_203B354
|
|
_08036008:
|
|
ldr r0, _08036014
|
|
str r1, [r0]
|
|
movs r0, 0x14
|
|
str r0, [sp]
|
|
b _0803601A
|
|
.align 2, 0
|
|
_08036014: .4byte gUnknown_203B354
|
|
_08036018:
|
|
str r1, [sp]
|
|
_0803601A:
|
|
ldr r0, [sp]
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8035EEC
|
|
|
|
thumb_func_start SetMainMenuType
|
|
SetMainMenuType:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x10
|
|
ldr r6, _08036048
|
|
ldr r2, [r6]
|
|
ldr r0, [r2, 0x8]
|
|
movs r3, 0x30
|
|
ldrsh r1, [r2, r3]
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r5, [r1, 0x4]
|
|
movs r0, 0xD2
|
|
lsls r0, 1
|
|
adds r1, r2, r0
|
|
ldr r0, [r1]
|
|
cmp r0, r5
|
|
bne _0803604C
|
|
movs r0, 0
|
|
b _08036226
|
|
.align 2, 0
|
|
_08036048: .4byte gUnknown_203B34C
|
|
_0803604C:
|
|
str r5, [r1]
|
|
movs r4, 0xA2
|
|
lsls r4, 1
|
|
adds r0, r2, r4
|
|
movs r1, 0x2
|
|
bl sub_8035CC0
|
|
ldr r0, [r6]
|
|
adds r0, r4
|
|
movs r1, 0x3
|
|
bl sub_8035CC0
|
|
subs r0, r5, 0x3
|
|
cmp r0, 0xD
|
|
bls _0803606C
|
|
b _08036224
|
|
_0803606C:
|
|
lsls r0, 2
|
|
ldr r1, _08036078
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08036078: .4byte _0803607C
|
|
.align 2, 0
|
|
_0803607C:
|
|
.4byte _08036114
|
|
.4byte _08036224
|
|
.4byte _08036224
|
|
.4byte _080360F4
|
|
.4byte _08036134
|
|
.4byte _08036154
|
|
.4byte _08036224
|
|
.4byte _08036174
|
|
.4byte _08036194
|
|
.4byte _080361B4
|
|
.4byte _080360D4
|
|
.4byte _080361D4
|
|
.4byte _080360B4
|
|
.4byte _08036204
|
|
_080360B4:
|
|
ldr r0, _080360C8
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r2, 0xA2
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _080360CC
|
|
ldr r2, _080360D0
|
|
b _080361E4
|
|
.align 2, 0
|
|
_080360C8: .4byte gUnknown_203B34C
|
|
_080360CC: .4byte gUnknown_80E5CB4
|
|
_080360D0: .4byte gUnknown_80E6030
|
|
_080360D4:
|
|
ldr r0, _080360E8
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r3, 0xA2
|
|
lsls r3, 1
|
|
adds r1, r3
|
|
ldr r3, _080360EC
|
|
ldr r2, _080360F0
|
|
b _080361E4
|
|
.align 2, 0
|
|
_080360E8: .4byte gUnknown_203B34C
|
|
_080360EC: .4byte gUnknown_80E5CB4
|
|
_080360F0: .4byte gUnknown_80E5F80
|
|
_080360F4:
|
|
ldr r0, _08036108
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r2, 0xA2
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _0803610C
|
|
ldr r2, _08036110
|
|
b _080361E4
|
|
.align 2, 0
|
|
_08036108: .4byte gUnknown_203B34C
|
|
_0803610C: .4byte gUnknown_80E5CB4
|
|
_08036110: .4byte gUnknown_80E5F1C
|
|
_08036114:
|
|
ldr r0, _08036128
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r3, 0xA2
|
|
lsls r3, 1
|
|
adds r1, r3
|
|
ldr r3, _0803612C
|
|
ldr r2, _08036130
|
|
b _080361E4
|
|
.align 2, 0
|
|
_08036128: .4byte gUnknown_203B34C
|
|
_0803612C: .4byte gUnknown_80E5CB4
|
|
_08036130: .4byte gUnknown_80E5CCC
|
|
_08036134:
|
|
ldr r0, _08036148
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r2, 0xA2
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _0803614C
|
|
ldr r2, _08036150
|
|
b _080361E4
|
|
.align 2, 0
|
|
_08036148: .4byte gUnknown_203B34C
|
|
_0803614C: .4byte gUnknown_80E5CB4
|
|
_08036150: .4byte gUnknown_80E5DA0
|
|
_08036154:
|
|
ldr r0, _08036168
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r3, 0xA2
|
|
lsls r3, 1
|
|
adds r1, r3
|
|
ldr r3, _0803616C
|
|
ldr r2, _08036170
|
|
b _080361E4
|
|
.align 2, 0
|
|
_08036168: .4byte gUnknown_203B34C
|
|
_0803616C: .4byte gUnknown_80E5CB4
|
|
_08036170: .4byte gUnknown_80E5DF0
|
|
_08036174:
|
|
ldr r0, _08036188
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r2, 0xA2
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _0803618C
|
|
ldr r2, _08036190
|
|
b _080361E4
|
|
.align 2, 0
|
|
_08036188: .4byte gUnknown_203B34C
|
|
_0803618C: .4byte gUnknown_80E5CB4
|
|
_08036190: .4byte gUnknown_80E5D0C
|
|
_08036194:
|
|
ldr r0, _080361A8
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r3, 0xA2
|
|
lsls r3, 1
|
|
adds r1, r3
|
|
ldr r3, _080361AC
|
|
ldr r2, _080361B0
|
|
b _080361E4
|
|
.align 2, 0
|
|
_080361A8: .4byte gUnknown_203B34C
|
|
_080361AC: .4byte gUnknown_80E5CB4
|
|
_080361B0: .4byte gUnknown_80E5E5C
|
|
_080361B4:
|
|
ldr r0, _080361C8
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r2, 0xA2
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _080361CC
|
|
ldr r2, _080361D0
|
|
b _080361E4
|
|
.align 2, 0
|
|
_080361C8: .4byte gUnknown_203B34C
|
|
_080361CC: .4byte gUnknown_80E5CB4
|
|
_080361D0: .4byte gUnknown_80E5EBC
|
|
_080361D4:
|
|
ldr r0, _080361F8
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r3, 0xA2
|
|
lsls r3, 1
|
|
adds r1, r3
|
|
ldr r3, _080361FC
|
|
ldr r2, _08036200
|
|
_080361E4:
|
|
str r2, [sp]
|
|
movs r2, 0
|
|
str r2, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
movs r2, 0x2
|
|
bl SetMenuItems
|
|
b _08036224
|
|
.align 2, 0
|
|
_080361F8: .4byte gUnknown_203B34C
|
|
_080361FC: .4byte gUnknown_80E5CB4
|
|
_08036200: .4byte gUnknown_80E5FCC
|
|
_08036204:
|
|
ldr r0, _08036230
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r2, 0xA2
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08036234
|
|
ldr r2, _08036238
|
|
str r2, [sp]
|
|
movs r2, 0
|
|
str r2, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
movs r2, 0x2
|
|
bl SetMenuItems
|
|
_08036224:
|
|
movs r0, 0x1
|
|
_08036226:
|
|
add sp, 0x10
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08036230: .4byte gUnknown_203B34C
|
|
_08036234: .4byte gUnknown_80E5CB4
|
|
_08036238: .4byte gUnknown_80E5D48
|
|
thumb_func_end SetMainMenuType
|
|
|
|
thumb_func_start sub_803623C
|
|
sub_803623C:
|
|
push {r4,lr}
|
|
ldr r4, _08036288
|
|
ldr r0, [r4]
|
|
movs r1, 0xA2
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
bl sub_8035CC0
|
|
bl sub_803628C
|
|
ldr r0, [r4]
|
|
movs r1, 0xD2
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r1, [r0]
|
|
bl SetMainMenuType
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08036276
|
|
ldr r0, [r4]
|
|
adds r0, 0x4
|
|
movs r1, 0x2
|
|
movs r2, 0
|
|
bl sub_8035CF4
|
|
_08036276:
|
|
ldr r0, [r4]
|
|
adds r0, 0x4
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08036288: .4byte gUnknown_203B34C
|
|
thumb_func_end sub_803623C
|
|
|
|
thumb_func_start sub_803628C
|
|
sub_803628C:
|
|
push {r4,lr}
|
|
sub sp, 0x10
|
|
bl sub_8011C34
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
bne _0803629E
|
|
b _080363A4
|
|
_0803629E:
|
|
movs r0, 0x1
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
bne _08036344
|
|
movs r0, 0x7
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
beq _080362FC
|
|
bl sub_803D0D8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080362DC
|
|
ldr r0, _080362D0
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r2, 0xA2
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _080362D4
|
|
ldr r2, _080362D8
|
|
b _0803637C
|
|
.align 2, 0
|
|
_080362D0: .4byte gUnknown_203B34C
|
|
_080362D4: .4byte gUnknown_80E5A78
|
|
_080362D8: .4byte gUnknown_80E5C18
|
|
_080362DC:
|
|
ldr r0, _080362F0
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r2, 0xA2
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _080362F4
|
|
ldr r2, _080362F8
|
|
b _0803637C
|
|
.align 2, 0
|
|
_080362F0: .4byte gUnknown_203B34C
|
|
_080362F4: .4byte gUnknown_80E5BC4
|
|
_080362F8: .4byte gUnknown_80E5BDC
|
|
_080362FC:
|
|
bl sub_803D0D8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08036324
|
|
ldr r0, _08036318
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r2, 0xA2
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _0803631C
|
|
ldr r2, _08036320
|
|
b _0803637C
|
|
.align 2, 0
|
|
_08036318: .4byte gUnknown_203B34C
|
|
_0803631C: .4byte gUnknown_80E5A78
|
|
_08036320: .4byte gUnknown_80E5AFC
|
|
_08036324:
|
|
ldr r0, _08036338
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r2, 0xA2
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _0803633C
|
|
ldr r2, _08036340
|
|
b _0803637C
|
|
.align 2, 0
|
|
_08036338: .4byte gUnknown_203B34C
|
|
_0803633C: .4byte gUnknown_80E5A60
|
|
_08036340: .4byte gUnknown_80E5A90
|
|
_08036344:
|
|
bl sub_803D0D8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803636C
|
|
ldr r0, _08036360
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r2, 0xA2
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08036364
|
|
ldr r2, _08036368
|
|
b _0803637C
|
|
.align 2, 0
|
|
_08036360: .4byte gUnknown_203B34C
|
|
_08036364: .4byte gUnknown_80E5A78
|
|
_08036368: .4byte gUnknown_80E5B8C
|
|
_0803636C:
|
|
ldr r0, _08036394
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r2, 0xA2
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08036398
|
|
ldr r2, _0803639C
|
|
_0803637C:
|
|
str r2, [sp]
|
|
movs r4, 0x1
|
|
str r4, [sp, 0x4]
|
|
ldr r2, _080363A0
|
|
ldr r2, [r2]
|
|
str r2, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
movs r2, 0
|
|
bl SetMenuItems
|
|
b _080363C8
|
|
.align 2, 0
|
|
_08036394: .4byte gUnknown_203B34C
|
|
_08036398: .4byte gUnknown_80E5B34
|
|
_0803639C: .4byte gUnknown_80E5B4C
|
|
_080363A0: .4byte gUnknown_203B350
|
|
_080363A4:
|
|
ldr r0, _080363D0
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0x4
|
|
movs r2, 0xA2
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _080363D4
|
|
ldr r2, _080363D8
|
|
str r2, [sp]
|
|
movs r4, 0x1
|
|
str r4, [sp, 0x4]
|
|
ldr r2, _080363DC
|
|
ldr r2, [r2]
|
|
str r2, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
movs r2, 0
|
|
bl SetMenuItems
|
|
_080363C8:
|
|
add sp, 0x10
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080363D0: .4byte gUnknown_203B34C
|
|
_080363D4: .4byte gUnknown_80E59E0
|
|
_080363D8: .4byte gUnknown_80E59F8
|
|
_080363DC: .4byte gUnknown_203B350
|
|
thumb_func_end sub_803628C
|
|
|
|
thumb_func_start sub_80363E0
|
|
sub_80363E0:
|
|
push {lr}
|
|
ldr r0, _080363F4
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _080363F8
|
|
ldr r0, [r0]
|
|
cmp r0, 0xC
|
|
beq _080363F8
|
|
movs r0, 0x1
|
|
b _080363FA
|
|
.align 2, 0
|
|
_080363F4: .4byte gUnknown_203B34C
|
|
_080363F8:
|
|
movs r0, 0
|
|
_080363FA:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80363E0
|
|
|
|
thumb_func_start sub_8036400
|
|
sub_8036400:
|
|
push {r4,r5,lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r5, _08036444
|
|
movs r4, 0xE8
|
|
lsls r4, 2
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl MemoryFill8
|
|
bl sub_8035C1C
|
|
bl sub_8035DA0
|
|
ldr r1, [r5]
|
|
movs r0, 0x13
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0
|
|
bl sub_8036FC4
|
|
movs r0, 0x1
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08036444: .4byte gUnknown_203B358
|
|
thumb_func_end sub_8036400
|
|
|
|
thumb_func_start sub_8036448
|
|
sub_8036448:
|
|
push {lr}
|
|
ldr r0, _08036460
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x12
|
|
bhi _08036524
|
|
lsls r0, 2
|
|
ldr r1, _08036464
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08036460: .4byte gUnknown_203B358
|
|
_08036464: .4byte _08036468
|
|
.align 2, 0
|
|
_08036468:
|
|
.4byte _080364B4
|
|
.4byte _080364BA
|
|
.4byte _080364C0
|
|
.4byte _080364C6
|
|
.4byte _080364D2
|
|
.4byte _080364CC
|
|
.4byte _080364D8
|
|
.4byte _080364DE
|
|
.4byte _080364E4
|
|
.4byte _080364F0
|
|
.4byte _080364F6
|
|
.4byte _080364FC
|
|
.4byte _08036502
|
|
.4byte _08036514
|
|
.4byte _08036508
|
|
.4byte _080364EA
|
|
.4byte _0803650E
|
|
.4byte _0803651A
|
|
.4byte _08036520
|
|
_080364B4:
|
|
bl sub_803652C
|
|
b _08036524
|
|
_080364BA:
|
|
bl sub_8036590
|
|
b _08036524
|
|
_080364C0:
|
|
bl sub_80365AC
|
|
b _08036524
|
|
_080364C6:
|
|
bl sub_8036674
|
|
b _08036524
|
|
_080364CC:
|
|
bl sub_8036728
|
|
b _08036524
|
|
_080364D2:
|
|
bl sub_8036788
|
|
b _08036524
|
|
_080364D8:
|
|
bl sub_8036830
|
|
b _08036524
|
|
_080364DE:
|
|
bl sub_803689C
|
|
b _08036524
|
|
_080364E4:
|
|
bl sub_80368D4
|
|
b _08036524
|
|
_080364EA:
|
|
bl sub_8036A7C
|
|
b _08036524
|
|
_080364F0:
|
|
bl sub_8036934
|
|
b _08036524
|
|
_080364F6:
|
|
bl sub_8036950
|
|
b _08036524
|
|
_080364FC:
|
|
bl sub_8036AA4
|
|
b _08036524
|
|
_08036502:
|
|
bl sub_80369FC
|
|
b _08036524
|
|
_08036508:
|
|
bl sub_8036A34
|
|
b _08036524
|
|
_0803650E:
|
|
bl sub_8036A54
|
|
b _08036524
|
|
_08036514:
|
|
bl sub_8036A18
|
|
b _08036524
|
|
_0803651A:
|
|
bl sub_8036ADC
|
|
b _08036524
|
|
_08036520:
|
|
movs r0, 0x3
|
|
b _08036526
|
|
_08036524:
|
|
movs r0, 0
|
|
_08036526:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8036448
|
|
|
|
thumb_func_start sub_803652C
|
|
sub_803652C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
adds r1, r0, 0
|
|
cmp r1, 0
|
|
bne _0803658A
|
|
ldr r2, [sp]
|
|
cmp r2, 0x1
|
|
beq _08036556
|
|
cmp r2, 0x1
|
|
bgt _0803654C
|
|
cmp r2, 0
|
|
beq _08036584
|
|
b _0803658A
|
|
_0803654C:
|
|
cmp r2, 0x2
|
|
beq _0803656C
|
|
cmp r2, 0x7
|
|
beq _08036584
|
|
b _0803658A
|
|
_08036556:
|
|
ldr r0, _08036568
|
|
ldr r0, [r0]
|
|
str r1, [r0, 0x8]
|
|
str r2, [r0, 0x10]
|
|
movs r0, 0x1
|
|
bl sub_8036FC4
|
|
b _0803658A
|
|
.align 2, 0
|
|
_08036568: .4byte gUnknown_203B358
|
|
_0803656C:
|
|
ldr r0, _08036580
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0x8]
|
|
str r2, [r1, 0x10]
|
|
movs r0, 0x7
|
|
bl sub_8036FC4
|
|
b _0803658A
|
|
.align 2, 0
|
|
_08036580: .4byte gUnknown_203B358
|
|
_08036584:
|
|
movs r0, 0x12
|
|
bl sub_8036FC4
|
|
_0803658A:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803652C
|
|
|
|
thumb_func_start sub_8036590
|
|
sub_8036590:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080365A4
|
|
movs r0, 0x2
|
|
bl sub_8036FC4
|
|
_080365A4:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8036590
|
|
|
|
thumb_func_start sub_80365AC
|
|
sub_80365AC:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r4, _080365E8
|
|
ldr r0, [r4]
|
|
ldr r7, _080365EC
|
|
adds r0, r7
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
ldr r6, _080365F0
|
|
adds r0, r6
|
|
movs r5, 0x1
|
|
strb r5, [r0]
|
|
ldr r0, [r4]
|
|
movs r2, 0x97
|
|
lsls r2, 2
|
|
mov r8, r2
|
|
add r0, r8
|
|
strb r1, [r0]
|
|
movs r0, 0x1
|
|
bl sub_801CA08
|
|
cmp r0, 0x3
|
|
beq _08036606
|
|
cmp r0, 0x3
|
|
bhi _080365F4
|
|
cmp r0, 0x2
|
|
beq _080365FA
|
|
b _0803666A
|
|
.align 2, 0
|
|
_080365E8: .4byte gUnknown_203B358
|
|
_080365EC: .4byte 0x0000025e
|
|
_080365F0: .4byte 0x0000025d
|
|
_080365F4:
|
|
cmp r0, 0x4
|
|
beq _0803662C
|
|
b _0803666A
|
|
_080365FA:
|
|
bl sub_801CBB8
|
|
movs r0, 0
|
|
bl sub_8036FC4
|
|
b _0803666A
|
|
_08036606:
|
|
bl sub_801CB24
|
|
ldr r1, [r4]
|
|
ldr r2, _08036624
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
ldr r1, _08036628
|
|
adds r0, r1
|
|
strb r5, [r0]
|
|
movs r0, 0x3
|
|
bl sub_8036FC4
|
|
b _0803666A
|
|
.align 2, 0
|
|
_08036624: .4byte 0x0000025e
|
|
_08036628: .4byte 0x0000025d
|
|
_0803662C:
|
|
ldr r1, [r4]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x4]
|
|
bl sub_801CB24
|
|
ldr r1, [r4]
|
|
adds r1, r7
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
adds r0, r6
|
|
strb r5, [r0]
|
|
ldr r0, [r4]
|
|
movs r2, 0xF2
|
|
lsls r2, 1
|
|
adds r0, r2
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
add r0, r8
|
|
bl sub_801B3C0
|
|
movs r0, 0x5
|
|
bl sub_8036FC4
|
|
_0803666A:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80365AC
|
|
|
|
thumb_func_start sub_8036674
|
|
sub_8036674:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
bl sub_801CA08
|
|
ldr r4, _080366B8
|
|
ldr r0, [r4]
|
|
movs r1, 0x9A
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080366A6
|
|
ldr r0, [r4]
|
|
movs r1, 0x9A
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_080366A6:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x3
|
|
beq _080366C6
|
|
cmp r0, 0x3
|
|
bgt _080366BC
|
|
cmp r0, 0
|
|
beq _08036700
|
|
b _0803671A
|
|
.align 2, 0
|
|
_080366B8: .4byte gUnknown_203B358
|
|
_080366BC:
|
|
cmp r0, 0x4
|
|
beq _080366CE
|
|
cmp r0, 0x7
|
|
beq _08036700
|
|
b _0803671A
|
|
_080366C6:
|
|
movs r0, 0x4
|
|
bl sub_8036FC4
|
|
b _0803671A
|
|
_080366CE:
|
|
ldr r0, [r4]
|
|
movs r1, 0x13
|
|
str r1, [r0, 0x4]
|
|
movs r1, 0xF2
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
movs r1, 0x97
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_801B3C0
|
|
movs r0, 0x5
|
|
bl sub_8036FC4
|
|
b _0803671A
|
|
_08036700:
|
|
ldr r0, _08036724
|
|
ldr r0, [r0]
|
|
movs r1, 0xC2
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0x3
|
|
bl sub_8035CC0
|
|
bl sub_801CCD8
|
|
movs r0, 0x2
|
|
bl sub_8036FC4
|
|
_0803671A:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08036724: .4byte gUnknown_203B358
|
|
thumb_func_end sub_8036674
|
|
|
|
thumb_func_start sub_8036728
|
|
sub_8036728:
|
|
push {r4,lr}
|
|
bl sub_801B410
|
|
cmp r0, 0x1
|
|
beq _08036780
|
|
cmp r0, 0x1
|
|
bcc _08036780
|
|
cmp r0, 0x3
|
|
bhi _08036780
|
|
bl sub_801B450
|
|
bl sub_8004914
|
|
ldr r4, _08036778
|
|
ldr r0, [r4]
|
|
movs r1, 0xF2
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x1
|
|
bl sub_801CB5C
|
|
ldr r4, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
cmp r0, 0x13
|
|
bne _0803677C
|
|
adds r0, r4, 0
|
|
adds r0, 0x44
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
movs r0, 0x3
|
|
bl sub_8036FC4
|
|
b _08036780
|
|
.align 2, 0
|
|
_08036778: .4byte gUnknown_203B358
|
|
_0803677C:
|
|
bl sub_8036FC4
|
|
_08036780:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8036728
|
|
|
|
thumb_func_start sub_8036788
|
|
sub_8036788:
|
|
push {r4,lr}
|
|
ldr r4, _080367B8
|
|
ldr r0, [r4]
|
|
movs r1, 0x9A
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
bl sub_8012FD8
|
|
movs r0, 0
|
|
bl sub_801CA08
|
|
ldr r0, [r4]
|
|
adds r0, 0x14
|
|
bl sub_8013BBC
|
|
cmp r0, 0x1
|
|
beq _080367BC
|
|
cmp r0, 0x1
|
|
bcc _08036824
|
|
cmp r0, 0x2
|
|
beq _080367D2
|
|
cmp r0, 0x3
|
|
beq _080367F8
|
|
b _08036824
|
|
.align 2, 0
|
|
_080367B8: .4byte gUnknown_203B358
|
|
_080367BC:
|
|
bl sub_801CCD8
|
|
ldr r0, [r4]
|
|
adds r0, 0x44
|
|
movs r1, 0x3
|
|
movs r2, 0
|
|
bl sub_8035CF4
|
|
bl sub_8036F30
|
|
b _08036824
|
|
_080367D2:
|
|
ldr r0, [r4]
|
|
movs r2, 0xC2
|
|
lsls r2, 1
|
|
adds r0, r2
|
|
movs r1, 0x2
|
|
bl sub_8035CC0
|
|
bl sub_801CCD8
|
|
ldr r0, [r4]
|
|
adds r0, 0x44
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
movs r0, 0x3
|
|
bl sub_8036FC4
|
|
b _08036824
|
|
_080367F8:
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0x14]
|
|
ldr r2, _0803682C
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r2, 0x1
|
|
adds r1, r0, r2
|
|
ldrb r1, [r1]
|
|
subs r2, 0xA
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r2, 0x4
|
|
adds r1, r0, r2
|
|
ldr r0, [r0, 0x14]
|
|
str r0, [r1]
|
|
bl sub_801CBB8
|
|
movs r0, 0x6
|
|
bl sub_8036FC4
|
|
_08036824:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803682C: .4byte 0x0000025d
|
|
thumb_func_end sub_8036788
|
|
|
|
thumb_func_start sub_8036830
|
|
sub_8036830:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08036896
|
|
ldr r0, [sp]
|
|
cmp r0, 0x5
|
|
beq _08036854
|
|
cmp r0, 0x5
|
|
bgt _0803684E
|
|
cmp r0, 0
|
|
beq _08036890
|
|
b _08036896
|
|
_0803684E:
|
|
cmp r0, 0x6
|
|
beq _08036890
|
|
b _08036896
|
|
_08036854:
|
|
bl sub_801CBB8
|
|
ldr r0, _08036884
|
|
ldr r2, [r0]
|
|
ldr r0, _08036888
|
|
ldr r1, [r0]
|
|
ldr r3, _0803688C
|
|
adds r0, r1, r3
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r2, 0x50
|
|
adds r2, r0
|
|
ldrh r0, [r2]
|
|
ldr r1, [r1, 0x14]
|
|
subs r0, r1
|
|
strh r0, [r2]
|
|
movs r0, 0xF
|
|
bl sub_8036FC4
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
b _08036896
|
|
.align 2, 0
|
|
_08036884: .4byte gUnknown_203B460
|
|
_08036888: .4byte gUnknown_203B358
|
|
_0803688C: .4byte 0x0000025e
|
|
_08036890:
|
|
movs r0, 0
|
|
bl sub_8036FC4
|
|
_08036896:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8036830
|
|
|
|
thumb_func_start sub_803689C
|
|
sub_803689C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080368CE
|
|
ldr r0, [sp]
|
|
cmp r0, 0x5
|
|
beq _080368C0
|
|
cmp r0, 0x5
|
|
bgt _080368BA
|
|
cmp r0, 0
|
|
beq _080368C8
|
|
b _080368CE
|
|
_080368BA:
|
|
cmp r0, 0x7
|
|
beq _080368C8
|
|
b _080368CE
|
|
_080368C0:
|
|
movs r0, 0x9
|
|
bl sub_8036FC4
|
|
b _080368CE
|
|
_080368C8:
|
|
movs r0, 0x12
|
|
bl sub_8036FC4
|
|
_080368CE:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803689C
|
|
|
|
thumb_func_start sub_80368D4
|
|
sub_80368D4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803692A
|
|
ldr r0, [sp]
|
|
cmp r0, 0x5
|
|
beq _080368F8
|
|
cmp r0, 0x5
|
|
bgt _080368F2
|
|
cmp r0, 0
|
|
beq _08036900
|
|
b _0803692A
|
|
_080368F2:
|
|
cmp r0, 0x7
|
|
beq _08036900
|
|
b _0803692A
|
|
_080368F8:
|
|
movs r0, 0x9
|
|
bl sub_8036FC4
|
|
b _0803692A
|
|
_08036900:
|
|
ldr r0, _08036930
|
|
ldr r1, [r0]
|
|
movs r2, 0x95
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0803692A
|
|
adds r2, 0x4
|
|
adds r0, r1, r2
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0803692A
|
|
bl sub_80369D0
|
|
movs r0, 0x11
|
|
bl sub_8036FC4
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_0803692A:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08036930: .4byte gUnknown_203B358
|
|
thumb_func_end sub_80368D4
|
|
|
|
thumb_func_start sub_8036934
|
|
sub_8036934:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08036948
|
|
movs r0, 0xA
|
|
bl sub_8036FC4
|
|
_08036948:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8036934
|
|
|
|
thumb_func_start sub_8036950
|
|
sub_8036950:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _080369C8
|
|
ldr r0, _08036978
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, 0xC]
|
|
adds r3, r0, 0
|
|
cmp r1, 0
|
|
bne _0803698C
|
|
ldr r0, [r2, 0x8]
|
|
cmp r0, 0
|
|
beq _0803697C
|
|
cmp r0, 0x1
|
|
beq _08036984
|
|
b _080369C8
|
|
.align 2, 0
|
|
_08036978: .4byte gUnknown_203B358
|
|
_0803697C:
|
|
movs r0, 0xD
|
|
bl sub_8036FC4
|
|
b _080369C8
|
|
_08036984:
|
|
movs r0, 0xE
|
|
bl sub_8036FC4
|
|
b _080369C8
|
|
_0803698C:
|
|
ldr r0, [r2, 0x8]
|
|
cmp r0, 0
|
|
bne _080369BA
|
|
movs r1, 0x95
|
|
lsls r1, 2
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080369BA
|
|
adds r1, 0x4
|
|
adds r0, r2, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _080369BA
|
|
bl sub_80369D0
|
|
movs r0, 0xB
|
|
bl sub_8036FC4
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
b _080369C8
|
|
_080369BA:
|
|
ldr r0, [r3]
|
|
ldr r0, [r0, 0xC]
|
|
bl sub_8036E18
|
|
movs r0, 0xC
|
|
bl sub_8036FC4
|
|
_080369C8:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8036950
|
|
|
|
thumb_func_start sub_80369D0
|
|
sub_80369D0:
|
|
ldr r0, _080369F4
|
|
ldr r2, [r0]
|
|
ldr r0, _080369F8
|
|
ldr r1, [r0]
|
|
movs r3, 0x95
|
|
lsls r3, 2
|
|
adds r0, r1, r3
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r2, 0x50
|
|
adds r2, r0
|
|
ldrh r0, [r2]
|
|
adds r3, 0x4
|
|
adds r1, r3
|
|
ldr r1, [r1]
|
|
adds r0, r1
|
|
strh r0, [r2]
|
|
bx lr
|
|
.align 2, 0
|
|
_080369F4: .4byte gUnknown_203B460
|
|
_080369F8: .4byte gUnknown_203B358
|
|
thumb_func_end sub_80369D0
|
|
|
|
thumb_func_start sub_80369FC
|
|
sub_80369FC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08036A10
|
|
movs r0, 0
|
|
bl sub_8036FC4
|
|
_08036A10:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80369FC
|
|
|
|
thumb_func_start sub_8036A18
|
|
sub_8036A18:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08036A2C
|
|
movs r0, 0x12
|
|
bl sub_8036FC4
|
|
_08036A2C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8036A18
|
|
|
|
thumb_func_start sub_8036A34
|
|
sub_8036A34:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08036A4E
|
|
movs r0, 0x10
|
|
bl sub_8036FC4
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_08036A4E:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8036A34
|
|
|
|
thumb_func_start sub_8036A54
|
|
sub_8036A54:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08036A76
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08036A76
|
|
bl sub_8012750
|
|
movs r0, 0x12
|
|
bl sub_8036FC4
|
|
_08036A76:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8036A54
|
|
|
|
thumb_func_start sub_8036A7C
|
|
sub_8036A7C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08036A9E
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08036A9E
|
|
bl sub_8012750
|
|
movs r0, 0x8
|
|
bl sub_8036FC4
|
|
_08036A9E:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8036A7C
|
|
|
|
thumb_func_start sub_8036AA4
|
|
sub_8036AA4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08036AD0
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08036AD0
|
|
bl sub_8012750
|
|
ldr r0, _08036AD8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0xC]
|
|
bl sub_8036E18
|
|
movs r0, 0xC
|
|
bl sub_8036FC4
|
|
_08036AD0:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08036AD8: .4byte gUnknown_203B358
|
|
thumb_func_end sub_8036AA4
|
|
|
|
thumb_func_start sub_8036ADC
|
|
sub_8036ADC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08036AFE
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08036AFE
|
|
bl sub_8012750
|
|
movs r0, 0x12
|
|
bl sub_8036FC4
|
|
_08036AFE:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8036ADC
|
|
|
|
thumb_func_start sub_8036B04
|
|
sub_8036B04:
|
|
push {r4,lr}
|
|
ldr r4, _08036B20
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _08036B1A
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
bl sub_801CBB8
|
|
_08036B1A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08036B20: .4byte gUnknown_203B358
|
|
thumb_func_end sub_8036B04
|
|
|
|
thumb_func_start nullsub_52
|
|
nullsub_52:
|
|
bx lr
|
|
thumb_func_end nullsub_52
|
|
|
|
thumb_func_start sub_8036B28
|
|
sub_8036B28:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x18
|
|
ldr r1, _08036B44
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r5, r1, 0
|
|
cmp r0, 0x12
|
|
bls _08036B3A
|
|
b _08036DFA
|
|
_08036B3A:
|
|
lsls r0, 2
|
|
ldr r1, _08036B48
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08036B44: .4byte gUnknown_203B358
|
|
_08036B48: .4byte _08036B4C
|
|
.align 2, 0
|
|
_08036B4C:
|
|
.4byte _08036B98
|
|
.4byte _08036BDC
|
|
.4byte _08036BE4
|
|
.4byte _08036C14
|
|
.4byte _08036C58
|
|
.4byte _08036DFA
|
|
.4byte _08036C5E
|
|
.4byte _08036C90
|
|
.4byte _08036C98
|
|
.4byte _08036CC0
|
|
.4byte _08036CD8
|
|
.4byte _08036DFA
|
|
.4byte _08036DFA
|
|
.4byte _08036DD8
|
|
.4byte _08036D70
|
|
.4byte _08036DFA
|
|
.4byte _08036DFA
|
|
.4byte _08036DFA
|
|
.4byte _08036DFA
|
|
_08036B98:
|
|
movs r0, 0
|
|
bl sub_801CF14
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
beq _08036BB8
|
|
ldr r0, _08036BB0
|
|
ldr r3, _08036BB4
|
|
movs r2, 0
|
|
b _08036BBC
|
|
.align 2, 0
|
|
_08036BB0: .4byte gUnknown_80E61A4
|
|
_08036BB4: .4byte gUnknown_80E60D4
|
|
_08036BB8:
|
|
ldr r0, _08036BD4
|
|
ldr r3, _08036BD8
|
|
_08036BBC:
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_8014248
|
|
b _08036DFA
|
|
.align 2, 0
|
|
_08036BD4: .4byte gUnknown_80E61A4
|
|
_08036BD8: .4byte gUnknown_80E60A0
|
|
_08036BDC:
|
|
ldr r0, _08036BE0
|
|
b _08036DBA
|
|
.align 2, 0
|
|
_08036BE0: .4byte gUnknown_80E61C0
|
|
_08036BE4:
|
|
bl sub_801D008
|
|
cmp r0, 0
|
|
beq _08036BEE
|
|
b _08036DFA
|
|
_08036BEE:
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, _08036C10
|
|
str r0, [sp, 0x14]
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
add r2, sp, 0x14
|
|
movs r3, 0x9
|
|
bl sub_801C8C4
|
|
b _08036DFA
|
|
.align 2, 0
|
|
_08036C10: .4byte 0x00020003
|
|
_08036C14:
|
|
ldr r0, [r5]
|
|
movs r4, 0xC2
|
|
lsls r4, 1
|
|
adds r0, r4
|
|
bl sub_8006518
|
|
ldr r1, [r5]
|
|
adds r0, r1, 0
|
|
adds r0, 0x44
|
|
adds r1, r4
|
|
ldr r3, _08036C50
|
|
ldr r2, _08036C54
|
|
str r2, [sp]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
movs r2, 0x3
|
|
bl SetMenuItems
|
|
bl sub_801CCD8
|
|
ldr r0, [r5]
|
|
adds r0, 0x44
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
b _08036DFA
|
|
.align 2, 0
|
|
_08036C50: .4byte gUnknown_80E60EC
|
|
_08036C54: .4byte gUnknown_80E6104
|
|
_08036C58:
|
|
bl sub_8036F74
|
|
b _08036DFA
|
|
_08036C5E:
|
|
ldr r2, _08036C7C
|
|
ldr r1, [r5]
|
|
ldr r0, [r1, 0x14]
|
|
str r0, [r2]
|
|
ldr r0, _08036C80
|
|
ldr r2, _08036C84
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
movs r2, 0
|
|
bl sub_8090DC4
|
|
ldr r0, _08036C88
|
|
ldr r3, _08036C8C
|
|
b _08036C9C
|
|
.align 2, 0
|
|
_08036C7C: .4byte gUnknown_202DE30
|
|
_08036C80: .4byte gUnknown_202DE58
|
|
_08036C84: .4byte 0x0000025e
|
|
_08036C88: .4byte gUnknown_80E61E4
|
|
_08036C8C: .4byte gUnknown_80E6154
|
|
_08036C90:
|
|
ldr r0, _08036C94
|
|
b _08036C9A
|
|
.align 2, 0
|
|
_08036C94: .4byte gUnknown_80E6214
|
|
_08036C98:
|
|
ldr r0, _08036CB8
|
|
_08036C9A:
|
|
ldr r3, _08036CBC
|
|
_08036C9C:
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x5
|
|
bl sub_8014248
|
|
b _08036DFA
|
|
.align 2, 0
|
|
_08036CB8: .4byte gUnknown_80E6268
|
|
_08036CBC: .4byte gUnknown_80E618C
|
|
_08036CC0:
|
|
movs r0, 0
|
|
bl nullsub_23
|
|
ldr r0, _08036CD4
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_80141B4
|
|
b _08036DFA
|
|
.align 2, 0
|
|
_08036CD4: .4byte gUnknown_80E62C4
|
|
_08036CD8:
|
|
ldr r4, _08036D18
|
|
ldr r1, [r4]
|
|
movs r0, 0
|
|
str r0, [r1, 0xC]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
movs r5, 0x91
|
|
lsls r5, 2
|
|
adds r0, r1, r5
|
|
str r2, [r0]
|
|
str r3, [r0, 0x4]
|
|
movs r0, 0x93
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
str r2, [r1]
|
|
str r3, [r1, 0x4]
|
|
bl sub_8011830
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x8]
|
|
bl sub_8037B28
|
|
ldr r4, [r4]
|
|
str r0, [r4, 0xC]
|
|
cmp r0, 0
|
|
bne _08036D44
|
|
ldr r0, [r4, 0x8]
|
|
cmp r0, 0
|
|
beq _08036D1C
|
|
cmp r0, 0x1
|
|
beq _08036D2C
|
|
b _08036D44
|
|
.align 2, 0
|
|
_08036D18: .4byte gUnknown_203B358
|
|
_08036D1C:
|
|
adds r2, r4, r5
|
|
movs r1, 0x95
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
str r1, [r2, 0x4]
|
|
_08036D2C:
|
|
ldr r4, _08036D6C
|
|
ldr r2, [r4]
|
|
ldr r0, [r2, 0x8]
|
|
movs r3, 0x91
|
|
lsls r3, 2
|
|
adds r1, r2, r3
|
|
adds r3, 0x8
|
|
adds r2, r3
|
|
bl sub_8037D64
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0xC]
|
|
_08036D44:
|
|
ldr r4, _08036D6C
|
|
ldr r2, [r4]
|
|
ldr r0, [r2, 0xC]
|
|
cmp r0, 0
|
|
bne _08036D66
|
|
ldr r0, [r2, 0x8]
|
|
cmp r0, 0x1
|
|
bhi _08036D66
|
|
movs r3, 0x91
|
|
lsls r3, 2
|
|
adds r1, r2, r3
|
|
adds r3, 0x8
|
|
adds r2, r3
|
|
bl sub_80381F4
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0xC]
|
|
_08036D66:
|
|
bl sub_8011854
|
|
b _08036DFA
|
|
.align 2, 0
|
|
_08036D6C: .4byte gUnknown_203B358
|
|
_08036D70:
|
|
ldr r2, [r5]
|
|
movs r1, 0x94
|
|
lsls r1, 2
|
|
adds r0, r2, r1
|
|
ldr r1, [r0]
|
|
cmp r1, 0
|
|
bne _08036DA4
|
|
ldr r1, _08036D9C
|
|
movs r3, 0x92
|
|
lsls r3, 2
|
|
adds r0, r2, r3
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
ldr r0, _08036DA0
|
|
subs r3, 0x4
|
|
adds r1, r2, r3
|
|
ldrb r1, [r1]
|
|
movs r2, 0
|
|
bl sub_8090DC4
|
|
b _08036DB8
|
|
.align 2, 0
|
|
_08036D9C: .4byte gUnknown_202DE30
|
|
_08036DA0: .4byte gUnknown_202DE58
|
|
_08036DA4:
|
|
ldr r0, _08036DC8
|
|
str r1, [r0]
|
|
ldr r0, _08036DCC
|
|
movs r3, 0x93
|
|
lsls r3, 2
|
|
adds r1, r2, r3
|
|
ldrb r1, [r1]
|
|
movs r2, 0
|
|
bl sub_8090DC4
|
|
_08036DB8:
|
|
ldr r0, _08036DD0
|
|
_08036DBA:
|
|
ldr r3, _08036DD4
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _08036DFA
|
|
.align 2, 0
|
|
_08036DC8: .4byte gUnknown_202DE30
|
|
_08036DCC: .4byte gUnknown_202DE58
|
|
_08036DD0: .4byte gUnknown_80E6314
|
|
_08036DD4: .4byte 0x00000101
|
|
_08036DD8:
|
|
ldr r2, _08036E04
|
|
ldr r1, [r5]
|
|
ldr r0, [r1, 0x14]
|
|
str r0, [r2]
|
|
ldr r0, _08036E08
|
|
ldr r2, _08036E0C
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
movs r2, 0
|
|
bl sub_8090DC4
|
|
ldr r0, _08036E10
|
|
ldr r3, _08036E14
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
_08036DFA:
|
|
add sp, 0x18
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08036E04: .4byte gUnknown_202DE30
|
|
_08036E08: .4byte gUnknown_202DE58
|
|
_08036E0C: .4byte 0x0000025e
|
|
_08036E10: .4byte gUnknown_80E6358
|
|
_08036E14: .4byte 0x00000101
|
|
thumb_func_end sub_8036B28
|
|
|
|
thumb_func_start sub_8036E18
|
|
sub_8036E18:
|
|
push {lr}
|
|
cmp r0, 0xF
|
|
bhi _08036EB4
|
|
lsls r0, 2
|
|
ldr r1, _08036E28
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08036E28: .4byte _08036E2C
|
|
.align 2, 0
|
|
_08036E2C:
|
|
.4byte _08036EC0
|
|
.4byte _08036E6C
|
|
.4byte _08036E7C
|
|
.4byte _08036E74
|
|
.4byte _08036E84
|
|
.4byte _08036E8C
|
|
.4byte _08036EB4
|
|
.4byte _08036EB4
|
|
.4byte _08036EB4
|
|
.4byte _08036EB4
|
|
.4byte _08036EB4
|
|
.4byte _08036EB4
|
|
.4byte _08036EB4
|
|
.4byte _08036EB4
|
|
.4byte _08036E94
|
|
.4byte _08036E9C
|
|
_08036E6C:
|
|
ldr r0, _08036E70
|
|
b _08036E9E
|
|
.align 2, 0
|
|
_08036E70: .4byte gUnknown_80E6378
|
|
_08036E74:
|
|
ldr r0, _08036E78
|
|
b _08036E9E
|
|
.align 2, 0
|
|
_08036E78: .4byte gUnknown_80E639C
|
|
_08036E7C:
|
|
ldr r0, _08036E80
|
|
b _08036E9E
|
|
.align 2, 0
|
|
_08036E80: .4byte gUnknown_80E63F8
|
|
_08036E84:
|
|
ldr r0, _08036E88
|
|
b _08036E9E
|
|
.align 2, 0
|
|
_08036E88: .4byte gUnknown_80E6448
|
|
_08036E8C:
|
|
ldr r0, _08036E90
|
|
b _08036E9E
|
|
.align 2, 0
|
|
_08036E90: .4byte gUnknown_80E6378
|
|
_08036E94:
|
|
ldr r0, _08036E98
|
|
b _08036E9E
|
|
.align 2, 0
|
|
_08036E98: .4byte gUnknown_80E6378
|
|
_08036E9C:
|
|
ldr r0, _08036EAC
|
|
_08036E9E:
|
|
ldr r3, _08036EB0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _08036EC0
|
|
.align 2, 0
|
|
_08036EAC: .4byte gUnknown_80E64AC
|
|
_08036EB0: .4byte 0x00000101
|
|
_08036EB4:
|
|
ldr r0, _08036EC4
|
|
ldr r3, _08036EC8
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
_08036EC0:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08036EC4: .4byte gUnknown_80E6378
|
|
_08036EC8: .4byte 0x00000101
|
|
thumb_func_end sub_8036E18
|
|
|
|
thumb_func_start sub_8036ECC
|
|
sub_8036ECC:
|
|
push {r4-r6,lr}
|
|
adds r3, r0, 0
|
|
ldr r6, _08036F28
|
|
ldr r0, [r6]
|
|
movs r2, 0x3
|
|
str r2, [r0, 0x24]
|
|
movs r2, 0x1
|
|
str r2, [r0, 0x18]
|
|
str r2, [r0, 0x1C]
|
|
str r1, [r0, 0x20]
|
|
movs r1, 0x2C
|
|
str r1, [r0, 0x30]
|
|
movs r1, 0x12
|
|
str r1, [r0, 0x34]
|
|
str r3, [r0, 0x28]
|
|
lsls r4, r3, 1
|
|
adds r4, r3
|
|
lsls r4, 3
|
|
movs r5, 0xC2
|
|
lsls r5, 1
|
|
adds r1, r4, r5
|
|
adds r1, r0, r1
|
|
str r1, [r0, 0x2C]
|
|
adds r0, 0x14
|
|
bl sub_8013AA0
|
|
ldr r1, [r6]
|
|
adds r1, r4
|
|
adds r1, r5
|
|
ldr r0, _08036F2C
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
bl sub_8004914
|
|
ldr r0, [r6]
|
|
adds r0, r5
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08036F28: .4byte gUnknown_203B358
|
|
_08036F2C: .4byte gUnknown_80E6174
|
|
thumb_func_end sub_8036ECC
|
|
|
|
thumb_func_start sub_8036F30
|
|
sub_8036F30:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r5, _08036F6C
|
|
ldr r0, [r5]
|
|
ldr r4, [r0, 0x28]
|
|
adds r0, r4, 0
|
|
bl sub_8008C54
|
|
adds r0, r4, 0
|
|
bl sub_80073B8
|
|
ldr r2, _08036F70
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
adds r3, r4, 0
|
|
bl xxx_call_draw_string
|
|
ldr r0, [r5]
|
|
adds r0, 0x14
|
|
bl sub_8013C68
|
|
adds r0, r4, 0
|
|
bl sub_80073E0
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08036F6C: .4byte gUnknown_203B358
|
|
_08036F70: .4byte gUnknown_80E6528
|
|
thumb_func_end sub_8036F30
|
|
|
|
thumb_func_start sub_8036F74
|
|
sub_8036F74:
|
|
push {r4,lr}
|
|
ldr r4, _08036FB8
|
|
ldr r0, [r4]
|
|
movs r1, 0xC2
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
ldr r0, _08036FBC
|
|
ldr r1, [r0]
|
|
ldr r0, [r4]
|
|
ldr r2, _08036FC0
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldrh r1, [r1]
|
|
movs r0, 0x2
|
|
bl sub_8036ECC
|
|
bl sub_801CCD8
|
|
ldr r0, [r4]
|
|
adds r0, 0x44
|
|
movs r1, 0x3
|
|
movs r2, 0
|
|
bl sub_8035CF4
|
|
bl sub_8036F30
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08036FB8: .4byte gUnknown_203B358
|
|
_08036FBC: .4byte gUnknown_203B460
|
|
_08036FC0: .4byte 0x0000025e
|
|
thumb_func_end sub_8036F74
|
|
|
|
thumb_func_start sub_8036FC4
|
|
sub_8036FC4:
|
|
push {lr}
|
|
ldr r1, _08036FD8
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl nullsub_52
|
|
bl sub_8036B28
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08036FD8: .4byte gUnknown_203B358
|
|
thumb_func_end sub_8036FC4
|
|
|
|
thumb_func_start sub_8036FDC
|
|
sub_8036FDC:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x10
|
|
adds r6, r0, 0
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0
|
|
bl ResetSprites
|
|
ldr r5, _080370C0
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
bne _08037016
|
|
ldr r4, _080370C4
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl MemoryFill8
|
|
_08037016:
|
|
ldr r0, [r5]
|
|
str r6, [r0]
|
|
movs r1, 0
|
|
str r1, [r0, 0x4]
|
|
str r1, [r0, 0x8]
|
|
movs r3, 0
|
|
adds r7, r5, 0
|
|
movs r6, 0xE0
|
|
lsls r6, 1
|
|
movs r4, 0
|
|
movs r5, 0xDE
|
|
lsls r5, 1
|
|
_0803702E:
|
|
ldr r0, [r7]
|
|
lsls r2, r3, 3
|
|
adds r1, r0, r6
|
|
adds r1, r2
|
|
str r4, [r1]
|
|
adds r0, r2
|
|
adds r0, r5
|
|
strb r4, [r0]
|
|
adds r3, 0x1
|
|
cmp r3, 0x1
|
|
ble _0803702E
|
|
ldr r0, _080370C0
|
|
mov r12, r0
|
|
movs r5, 0xAE
|
|
lsls r5, 1
|
|
mov r8, r5
|
|
ldr r4, _080370C8
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_08037054:
|
|
mov r6, r12
|
|
ldr r1, [r6]
|
|
adds r1, r3
|
|
add r1, r8
|
|
adds r0, r4, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _08037054
|
|
movs r6, 0
|
|
bl sub_8004914
|
|
ldr r5, _080370C0
|
|
ldr r0, [r5]
|
|
movs r4, 0xAE
|
|
lsls r4, 1
|
|
adds r0, r4
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r1, [r5]
|
|
adds r0, r1, 0
|
|
adds r0, 0x1C
|
|
adds r1, r4
|
|
ldr r3, _080370CC
|
|
ldr r2, _080370D0
|
|
str r2, [sp]
|
|
str r6, [sp, 0x4]
|
|
movs r2, 0x6
|
|
str r2, [sp, 0x8]
|
|
str r6, [sp, 0xC]
|
|
movs r2, 0
|
|
bl SetMenuItems
|
|
ldr r0, [r5]
|
|
adds r0, 0x1C
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
bl sub_80376CC
|
|
add sp, 0x10
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080370C0: .4byte gUnknown_203B35C
|
|
_080370C4: .4byte 0x00000504
|
|
_080370C8: .4byte gUnknown_80E653C
|
|
_080370CC: .4byte gUnknown_80E6CD0
|
|
_080370D0: .4byte gUnknown_80E6CE8
|
|
thumb_func_end sub_8036FDC
|
|
|
|
thumb_func_start sub_80370D4
|
|
sub_80370D4:
|
|
push {r4,lr}
|
|
ldr r4, _080370EC
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080370E6
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_080370E6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080370EC: .4byte gUnknown_203B35C
|
|
thumb_func_end sub_80370D4
|
|
|
|
thumb_func_start sub_80370F0
|
|
sub_80370F0:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x4
|
|
str r0, [sp]
|
|
ldr r5, _08037110
|
|
ldr r4, _08037114
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x8]
|
|
cmp r0, 0x1
|
|
beq _08037148
|
|
cmp r0, 0x1
|
|
bcc _08037118
|
|
cmp r0, 0x2
|
|
beq _08037158
|
|
b _080371A8
|
|
.align 2, 0
|
|
_08037110: .4byte 0x0000ffdc
|
|
_08037114: .4byte gUnknown_203B35C
|
|
_08037118:
|
|
adds r0, r1, 0
|
|
adds r0, 0x1C
|
|
bl sub_80130A8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08037130
|
|
ldr r0, [r4]
|
|
adds r0, 0x1C
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_08037130:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x4
|
|
bne _0803713C
|
|
bl sub_8037748
|
|
b _080371A8
|
|
_0803713C:
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0x8]
|
|
bl sub_8037900
|
|
b _080371A8
|
|
_08037148:
|
|
bl sub_80376CC
|
|
ldr r1, [r4]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x8]
|
|
bl sub_80371B8
|
|
b _080371A8
|
|
_08037158:
|
|
ldr r0, [r1]
|
|
cmp r0, 0x1
|
|
bhi _08037172
|
|
ldr r0, [r1, 0x4]
|
|
cmp r0, 0
|
|
bne _08037172
|
|
movs r0, 0
|
|
bl sub_8037C10
|
|
cmp r0, 0
|
|
bne _08037172
|
|
movs r0, 0x29
|
|
b _080371AA
|
|
_08037172:
|
|
ldr r4, _080371B4
|
|
ldr r0, [r4]
|
|
adds r0, 0x1C
|
|
bl sub_80130A8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0803718C
|
|
ldr r0, [r4]
|
|
adds r0, 0x1C
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_0803718C:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x4
|
|
beq _080371A4
|
|
movs r0, 0x3
|
|
bl sub_80119D4
|
|
bl sub_8037798
|
|
adds r5, r0, 0
|
|
ldr r1, [r4]
|
|
movs r0, 0x4
|
|
str r0, [r1, 0x8]
|
|
_080371A4:
|
|
bl sub_8037748
|
|
_080371A8:
|
|
adds r0, r5, 0
|
|
_080371AA:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080371B4: .4byte gUnknown_203B35C
|
|
thumb_func_end sub_80370F0
|
|
|
|
thumb_func_start sub_80371B8
|
|
sub_80371B8:
|
|
push {r4-r7,lr}
|
|
sub sp, 0x10
|
|
movs r6, 0
|
|
movs r5, 0
|
|
bl sub_8037400
|
|
ldr r7, _0803721C
|
|
ldr r1, [r7]
|
|
ldr r0, [r1]
|
|
cmp r0, 0x1
|
|
bhi _08037228
|
|
ldr r0, [r1, 0x4]
|
|
cmp r0, 0
|
|
bne _08037228
|
|
movs r0, 0
|
|
bl sub_8037C10
|
|
cmp r0, 0
|
|
bne _080371E0
|
|
b _080373AC
|
|
_080371E0:
|
|
bl sub_80376CC
|
|
ldr r0, [r7]
|
|
movs r4, 0xAE
|
|
lsls r4, 1
|
|
adds r0, r4
|
|
movs r1, 0
|
|
bl sub_8035CC0
|
|
ldr r1, [r7]
|
|
adds r0, r1, 0
|
|
adds r0, 0x1C
|
|
adds r1, r4
|
|
ldr r3, _08037220
|
|
ldr r2, _08037224
|
|
str r2, [sp]
|
|
str r6, [sp, 0x4]
|
|
movs r2, 0x6
|
|
str r2, [sp, 0x8]
|
|
str r6, [sp, 0xC]
|
|
movs r2, 0
|
|
bl SetMenuItems
|
|
ldr r0, [r7]
|
|
adds r0, 0x1C
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
b _080373AC
|
|
.align 2, 0
|
|
_0803721C: .4byte gUnknown_203B35C
|
|
_08037220: .4byte gUnknown_80E6C50
|
|
_08037224: .4byte gUnknown_80E6C68
|
|
_08037228:
|
|
bl sub_80376CC
|
|
ldr r4, _08037250
|
|
ldr r0, [r4]
|
|
movs r1, 0xAE
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0
|
|
bl sub_8035CC0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x4]
|
|
cmp r0, 0xF
|
|
bls _08037246
|
|
b _0803734C
|
|
_08037246:
|
|
lsls r0, 2
|
|
ldr r1, _08037254
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08037250: .4byte gUnknown_203B35C
|
|
_08037254: .4byte _08037258
|
|
.align 2, 0
|
|
_08037258:
|
|
.4byte _08037298
|
|
.4byte _080372D8
|
|
.4byte _080372B8
|
|
.4byte _080372A8
|
|
.4byte _080372C8
|
|
.4byte _080372D8
|
|
.4byte _080372E8
|
|
.4byte _080372F8
|
|
.4byte _0803734C
|
|
.4byte _08037308
|
|
.4byte _0803734C
|
|
.4byte _08037318
|
|
.4byte _0803734C
|
|
.4byte _08037328
|
|
.4byte _08037338
|
|
.4byte _08037348
|
|
_08037298:
|
|
ldr r6, _080372A0
|
|
ldr r5, _080372A4
|
|
b _0803734C
|
|
.align 2, 0
|
|
_080372A0: .4byte gUnknown_80E66BC
|
|
_080372A4: .4byte gUnknown_80E66D4
|
|
_080372A8:
|
|
ldr r6, _080372B0
|
|
ldr r5, _080372B4
|
|
b _0803734C
|
|
.align 2, 0
|
|
_080372B0: .4byte gUnknown_80E6D54
|
|
_080372B4: .4byte gUnknown_80E6D6C
|
|
_080372B8:
|
|
ldr r6, _080372C0
|
|
ldr r5, _080372C4
|
|
b _0803734C
|
|
.align 2, 0
|
|
_080372C0: .4byte gUnknown_80E6DDC
|
|
_080372C4: .4byte gUnknown_80E6DF4
|
|
_080372C8:
|
|
ldr r6, _080372D0
|
|
ldr r5, _080372D4
|
|
b _0803734C
|
|
.align 2, 0
|
|
_080372D0: .4byte gUnknown_80E67D4
|
|
_080372D4: .4byte gUnknown_80E67EC
|
|
_080372D8:
|
|
ldr r6, _080372E0
|
|
ldr r5, _080372E4
|
|
b _0803734C
|
|
.align 2, 0
|
|
_080372E0: .4byte gUnknown_80E6748
|
|
_080372E4: .4byte gUnknown_80E6760
|
|
_080372E8:
|
|
ldr r6, _080372F0
|
|
ldr r5, _080372F4
|
|
b _0803734C
|
|
.align 2, 0
|
|
_080372F0: .4byte gUnknown_80E689C
|
|
_080372F4: .4byte gUnknown_80E68B4
|
|
_080372F8:
|
|
ldr r6, _08037300
|
|
ldr r5, _08037304
|
|
b _0803734C
|
|
.align 2, 0
|
|
_08037300: .4byte gUnknown_80E6938
|
|
_08037304: .4byte gUnknown_80E6950
|
|
_08037308:
|
|
ldr r6, _08037310
|
|
ldr r5, _08037314
|
|
b _0803734C
|
|
.align 2, 0
|
|
_08037310: .4byte gUnknown_80E69B0
|
|
_08037314: .4byte gUnknown_80E69C8
|
|
_08037318:
|
|
ldr r6, _08037320
|
|
ldr r5, _08037324
|
|
b _0803734C
|
|
.align 2, 0
|
|
_08037320: .4byte gUnknown_80E6A10
|
|
_08037324: .4byte gUnknown_80E6A28
|
|
_08037328:
|
|
ldr r6, _08037330
|
|
ldr r5, _08037334
|
|
b _0803734C
|
|
.align 2, 0
|
|
_08037330: .4byte gUnknown_80E6A74
|
|
_08037334: .4byte gUnknown_80E6A8C
|
|
_08037338:
|
|
ldr r6, _08037340
|
|
ldr r5, _08037344
|
|
b _0803734C
|
|
.align 2, 0
|
|
_08037340: .4byte gUnknown_80E6B78
|
|
_08037344: .4byte gUnknown_80E6B90
|
|
_08037348:
|
|
ldr r6, _080373B4
|
|
ldr r5, _080373B8
|
|
_0803734C:
|
|
ldr r4, _080373BC
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x1C
|
|
movs r2, 0xAE
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
str r5, [sp]
|
|
movs r3, 0
|
|
str r3, [sp, 0x4]
|
|
movs r2, 0x6
|
|
str r2, [sp, 0x8]
|
|
str r3, [sp, 0xC]
|
|
movs r2, 0
|
|
adds r3, r6, 0
|
|
bl SetMenuItems
|
|
ldr r0, [r4]
|
|
adds r0, 0x1C
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
ldr r4, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
cmp r0, 0
|
|
beq _080373AC
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
bne _080373AC
|
|
bl sub_8035D94
|
|
adds r2, r0, 0
|
|
ldrb r0, [r2]
|
|
cmp r0, 0
|
|
beq _080373AC
|
|
ldr r3, [r2, 0x4]
|
|
cmp r3, 0
|
|
beq _080373AC
|
|
ldr r0, _080373C0
|
|
ldr r1, [r0]
|
|
ldrb r0, [r2]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, r3
|
|
strh r0, [r1]
|
|
_080373AC:
|
|
add sp, 0x10
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080373B4: .4byte gUnknown_80E6BF4
|
|
_080373B8: .4byte gUnknown_80E6C0C
|
|
_080373BC: .4byte gUnknown_203B35C
|
|
_080373C0: .4byte gUnknown_203B460
|
|
thumb_func_end sub_80371B8
|
|
|
|
thumb_func_start sub_80373C4
|
|
sub_80373C4:
|
|
push {lr}
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_8005838
|
|
bl sub_80060EC
|
|
bl sub_800CB20
|
|
bl sub_800485C
|
|
bl TransferBGPaletteBuffer
|
|
bl xxx_call_update_bg_vram
|
|
bl sub_8009908
|
|
bl xxx_call_update_bg_sound_input
|
|
movs r0, 0
|
|
bl ResetSprites
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80373C4
|
|
|
|
thumb_func_start sub_80373F4
|
|
sub_80373F4:
|
|
ldr r0, _080373FC
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080373FC: .4byte gUnknown_203B35C
|
|
thumb_func_end sub_80373F4
|
|
|
|
thumb_func_start sub_8037400
|
|
sub_8037400:
|
|
push {r4-r6,lr}
|
|
movs r6, 0
|
|
movs r5, 0
|
|
bl sub_8037810
|
|
bl sub_8011830
|
|
ldr r4, _08037434
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl sub_8037B28
|
|
ldr r4, [r4]
|
|
str r0, [r4, 0x4]
|
|
cmp r0, 0
|
|
beq _08037422
|
|
b _080376BE
|
|
_08037422:
|
|
ldr r0, [r4]
|
|
cmp r0, 0xA
|
|
bls _0803742A
|
|
b _080375E8
|
|
_0803742A:
|
|
lsls r0, 2
|
|
ldr r1, _08037438
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08037434: .4byte gUnknown_203B35C
|
|
_08037438: .4byte _0803743C
|
|
.align 2, 0
|
|
_0803743C:
|
|
.4byte _08037494
|
|
.4byte _080374B8
|
|
.4byte _08037534
|
|
.4byte _0803751C
|
|
.4byte _0803756C
|
|
.4byte _080375D8
|
|
.4byte _080374E4
|
|
.4byte _080374D0
|
|
.4byte _080375E8
|
|
.4byte _08037480
|
|
.4byte _08037468
|
|
_08037468:
|
|
ldr r0, _0803747C
|
|
ldr r0, [r0]
|
|
movs r1, 0xE7
|
|
lsls r1, 2
|
|
adds r6, r0, r1
|
|
movs r2, 0x8A
|
|
lsls r2, 3
|
|
adds r5, r0, r2
|
|
b _080375E8
|
|
.align 2, 0
|
|
_0803747C: .4byte gUnknown_203B35C
|
|
_08037480:
|
|
ldr r0, _08037490
|
|
ldr r0, [r0]
|
|
movs r3, 0xE7
|
|
lsls r3, 2
|
|
adds r6, r0, r3
|
|
movs r4, 0x8A
|
|
lsls r4, 3
|
|
b _080375E6
|
|
.align 2, 0
|
|
_08037490: .4byte gUnknown_203B35C
|
|
_08037494:
|
|
bl sub_8035D94
|
|
ldr r1, _080374B4
|
|
ldr r3, [r1]
|
|
movs r5, 0xDE
|
|
lsls r5, 1
|
|
adds r2, r3, r5
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
str r1, [r2, 0x4]
|
|
adds r6, r2, 0
|
|
movs r0, 0xE2
|
|
lsls r0, 1
|
|
adds r5, r3, r0
|
|
b _080375E8
|
|
.align 2, 0
|
|
_080374B4: .4byte gUnknown_203B35C
|
|
_080374B8:
|
|
ldr r0, _080374CC
|
|
ldr r0, [r0]
|
|
movs r1, 0xDE
|
|
lsls r1, 1
|
|
adds r6, r0, r1
|
|
movs r2, 0xE2
|
|
lsls r2, 1
|
|
adds r5, r0, r2
|
|
b _080375E8
|
|
.align 2, 0
|
|
_080374CC: .4byte gUnknown_203B35C
|
|
_080374D0:
|
|
ldr r0, _080374E0
|
|
ldr r0, [r0]
|
|
movs r3, 0xE6
|
|
lsls r3, 1
|
|
adds r6, r0, r3
|
|
movs r4, 0xFE
|
|
lsls r4, 1
|
|
b _080375E6
|
|
.align 2, 0
|
|
_080374E0: .4byte gUnknown_203B35C
|
|
_080374E4:
|
|
bl sub_8035D74
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8095228
|
|
ldr r3, _08037518
|
|
ldr r1, [r3]
|
|
movs r2, 0xE6
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldr r0, [r3]
|
|
adds r6, r0, r2
|
|
movs r1, 0xFE
|
|
lsls r1, 1
|
|
adds r5, r0, r1
|
|
b _080375E8
|
|
.align 2, 0
|
|
_08037518: .4byte gUnknown_203B35C
|
|
_0803751C:
|
|
ldr r0, _08037530
|
|
ldr r0, [r0]
|
|
movs r2, 0x8B
|
|
lsls r2, 2
|
|
adds r6, r0, r2
|
|
movs r3, 0x97
|
|
lsls r3, 2
|
|
adds r5, r0, r3
|
|
b _080375E8
|
|
.align 2, 0
|
|
_08037530: .4byte gUnknown_203B35C
|
|
_08037534:
|
|
bl sub_8035D74
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8095228
|
|
ldr r3, _08037568
|
|
ldr r1, [r3]
|
|
movs r2, 0x8B
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldr r0, [r3]
|
|
adds r6, r0, r2
|
|
movs r1, 0x97
|
|
lsls r1, 2
|
|
adds r5, r0, r1
|
|
b _080375E8
|
|
.align 2, 0
|
|
_08037568: .4byte gUnknown_203B35C
|
|
_0803756C:
|
|
bl sub_8035D74
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8095228
|
|
ldr r4, _080375CC
|
|
ldr r1, [r4]
|
|
movs r5, 0xA3
|
|
lsls r5, 2
|
|
adds r1, r5
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
bl sub_8035D3C
|
|
lsls r0, 16
|
|
ldr r1, _080375D0
|
|
cmp r0, r1
|
|
beq _080375BE
|
|
bl sub_8035D3C
|
|
ldr r3, [r4]
|
|
movs r1, 0xAF
|
|
lsls r1, 2
|
|
adds r3, r1
|
|
ldr r1, _080375D4
|
|
ldr r1, [r1]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
movs r2, 0x58
|
|
muls r0, r2
|
|
adds r1, r0
|
|
adds r0, r3, 0
|
|
bl memcpy
|
|
_080375BE:
|
|
ldr r0, [r4]
|
|
adds r6, r0, r5
|
|
movs r2, 0xC5
|
|
lsls r2, 2
|
|
adds r5, r0, r2
|
|
b _080375E8
|
|
.align 2, 0
|
|
_080375CC: .4byte gUnknown_203B35C
|
|
_080375D0: .4byte 0xffff0000
|
|
_080375D4: .4byte gUnknown_203B45C
|
|
_080375D8:
|
|
ldr r0, _08037610
|
|
ldr r0, [r0]
|
|
movs r3, 0xA3
|
|
lsls r3, 2
|
|
adds r6, r0, r3
|
|
movs r4, 0xC5
|
|
lsls r4, 2
|
|
_080375E6:
|
|
adds r5, r0, r4
|
|
_080375E8:
|
|
ldr r4, _08037610
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
adds r1, r6, 0
|
|
adds r2, r5, 0
|
|
bl sub_8037D64
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x4]
|
|
cmp r0, 0
|
|
bne _080376BE
|
|
ldr r0, [r1]
|
|
cmp r0, 0xA
|
|
bhi _080376AE
|
|
lsls r0, 2
|
|
ldr r1, _08037614
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08037610: .4byte gUnknown_203B35C
|
|
_08037614: .4byte _08037618
|
|
.align 2, 0
|
|
_08037618:
|
|
.4byte _08037644
|
|
.4byte _08037644
|
|
.4byte _08037658
|
|
.4byte _08037658
|
|
.4byte _0803766C
|
|
.4byte _0803766C
|
|
.4byte _08037684
|
|
.4byte _08037684
|
|
.4byte _080376AE
|
|
.4byte _0803769C
|
|
.4byte _0803769C
|
|
_08037644:
|
|
ldr r0, _08037654
|
|
ldr r2, [r0]
|
|
movs r5, 0xDE
|
|
lsls r5, 1
|
|
adds r6, r2, r5
|
|
movs r1, 0xE2
|
|
lsls r1, 1
|
|
b _0803767A
|
|
.align 2, 0
|
|
_08037654: .4byte gUnknown_203B35C
|
|
_08037658:
|
|
ldr r0, _08037668
|
|
ldr r2, [r0]
|
|
movs r3, 0x8B
|
|
lsls r3, 2
|
|
adds r6, r2, r3
|
|
movs r4, 0x97
|
|
lsls r4, 2
|
|
b _08037692
|
|
.align 2, 0
|
|
_08037668: .4byte gUnknown_203B35C
|
|
_0803766C:
|
|
ldr r0, _08037680
|
|
ldr r2, [r0]
|
|
movs r5, 0xA3
|
|
lsls r5, 2
|
|
adds r6, r2, r5
|
|
movs r1, 0xC5
|
|
lsls r1, 2
|
|
_0803767A:
|
|
adds r5, r2, r1
|
|
adds r4, r0, 0
|
|
b _080376AE
|
|
.align 2, 0
|
|
_08037680: .4byte gUnknown_203B35C
|
|
_08037684:
|
|
ldr r0, _08037698
|
|
ldr r2, [r0]
|
|
movs r3, 0xE6
|
|
lsls r3, 1
|
|
adds r6, r2, r3
|
|
movs r4, 0xFE
|
|
lsls r4, 1
|
|
_08037692:
|
|
adds r5, r2, r4
|
|
adds r4, r0, 0
|
|
b _080376AE
|
|
.align 2, 0
|
|
_08037698: .4byte gUnknown_203B35C
|
|
_0803769C:
|
|
ldr r1, _080376C8
|
|
ldr r0, [r1]
|
|
movs r5, 0xE7
|
|
lsls r5, 2
|
|
adds r6, r0, r5
|
|
movs r2, 0x8A
|
|
lsls r2, 3
|
|
adds r5, r0, r2
|
|
adds r4, r1, 0
|
|
_080376AE:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
adds r1, r6, 0
|
|
adds r2, r5, 0
|
|
bl sub_80381F4
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x4]
|
|
_080376BE:
|
|
bl sub_8011854
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080376C8: .4byte gUnknown_203B35C
|
|
thumb_func_end sub_8037400
|
|
|
|
thumb_func_start sub_80376CC
|
|
sub_80376CC:
|
|
push {r4,lr}
|
|
ldr r0, _08037728
|
|
ldr r3, [r0]
|
|
ldrh r1, [r3, 0xC]
|
|
ldr r0, _0803772C
|
|
ands r0, r1
|
|
ldr r1, _08037730
|
|
ands r0, r1
|
|
ldr r4, _08037734
|
|
ands r0, r4
|
|
ldr r1, _08037738
|
|
ands r0, r1
|
|
ldr r1, _0803773C
|
|
ands r0, r1
|
|
movs r2, 0x80
|
|
lsls r2, 7
|
|
ldr r1, _08037740
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strh r0, [r3, 0xC]
|
|
movs r2, 0xFC
|
|
lsls r2, 2
|
|
ldrh r1, [r3, 0x10]
|
|
movs r0, 0xFC
|
|
lsls r0, 8
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
ands r0, r4
|
|
movs r2, 0xF
|
|
movs r4, 0xF0
|
|
lsls r4, 8
|
|
ldr r1, _08037744
|
|
ands r0, r1
|
|
orrs r0, r4
|
|
strh r0, [r3, 0x10]
|
|
movs r0, 0
|
|
strh r0, [r3, 0xE]
|
|
movs r1, 0xC0
|
|
lsls r1, 4
|
|
ldrh r0, [r3, 0x12]
|
|
ands r2, r0
|
|
orrs r2, r1
|
|
strh r2, [r3, 0x12]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08037728: .4byte gUnknown_203B35C
|
|
_0803772C: .4byte 0x0000feff
|
|
_08037730: .4byte 0x0000fdff
|
|
_08037734: .4byte 0x0000f3ff
|
|
_08037738: .4byte 0x0000efff
|
|
_0803773C: .4byte 0x0000dfff
|
|
_08037740: .4byte 0x00003fff
|
|
_08037744: .4byte 0x00000fff
|
|
thumb_func_end sub_80376CC
|
|
|
|
thumb_func_start sub_8037748
|
|
sub_8037748:
|
|
push {r4,lr}
|
|
ldr r4, _08037794
|
|
ldr r3, [r4]
|
|
ldrh r1, [r3, 0xE]
|
|
movs r0, 0xFE
|
|
lsls r0, 8
|
|
ands r0, r1
|
|
movs r1, 0x70
|
|
orrs r0, r1
|
|
strh r0, [r3, 0xE]
|
|
movs r2, 0xD0
|
|
lsls r2, 3
|
|
ldrh r1, [r3, 0x12]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strh r0, [r3, 0x12]
|
|
ldr r0, [r3, 0x14]
|
|
movs r1, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08037782
|
|
adds r0, r3, 0
|
|
adds r0, 0xC
|
|
adds r1, 0xF8
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl AddSprite
|
|
_08037782:
|
|
bl xxx_draw_string_80144C4
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, 0x14]
|
|
adds r0, 0x1
|
|
str r0, [r1, 0x14]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08037794: .4byte gUnknown_203B35C
|
|
thumb_func_end sub_8037748
|
|
|
|
thumb_func_start sub_8037798
|
|
sub_8037798:
|
|
push {lr}
|
|
ldr r2, _080377B4
|
|
ldr r1, _080377B8
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r3, r1, 0
|
|
cmp r0, 0xA
|
|
bhi _0803780A
|
|
lsls r0, 2
|
|
ldr r1, _080377BC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080377B4: .4byte 0x0000ffdc
|
|
_080377B8: .4byte gUnknown_203B35C
|
|
_080377BC: .4byte _080377C0
|
|
.align 2, 0
|
|
_080377C0:
|
|
.4byte _080377EC
|
|
.4byte _080377EC
|
|
.4byte _080377F0
|
|
.4byte _080377F0
|
|
.4byte _080377F0
|
|
.4byte _080377F0
|
|
.4byte _080377F0
|
|
.4byte _080377F0
|
|
.4byte _0803780A
|
|
.4byte _080377FE
|
|
.4byte _080377FE
|
|
_080377EC:
|
|
movs r2, 0x1
|
|
b _0803780A
|
|
_080377F0:
|
|
ldr r0, [r3]
|
|
ldr r0, [r0, 0x4]
|
|
movs r2, 0x1
|
|
cmp r0, 0
|
|
bne _0803780A
|
|
movs r2, 0x2A
|
|
b _0803780A
|
|
_080377FE:
|
|
ldr r0, [r3]
|
|
ldr r0, [r0, 0x4]
|
|
movs r2, 0xD
|
|
cmp r0, 0
|
|
bne _0803780A
|
|
movs r2, 0x2B
|
|
_0803780A:
|
|
adds r0, r2, 0
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8037798
|
|
|
|
thumb_func_start sub_8037810
|
|
sub_8037810:
|
|
push {r4-r6,lr}
|
|
ldr r6, _080378FC
|
|
ldr r0, [r6]
|
|
movs r5, 0xDE
|
|
lsls r5, 1
|
|
adds r0, r5
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r4, 0xE2
|
|
lsls r4, 1
|
|
adds r0, r4
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
adds r5, r0, r5
|
|
movs r1, 0
|
|
movs r2, 0
|
|
str r1, [r5]
|
|
str r2, [r5, 0x4]
|
|
adds r4, r0, r4
|
|
str r1, [r4]
|
|
str r2, [r4, 0x4]
|
|
movs r2, 0xE6
|
|
lsls r2, 1
|
|
adds r0, r2
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r3, 0xFE
|
|
lsls r3, 1
|
|
adds r0, r3
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r1, 0x8B
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r2, 0x97
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r3, 0xA3
|
|
lsls r3, 2
|
|
adds r0, r3
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r1, 0xC5
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r2, 0xAF
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
movs r1, 0
|
|
movs r2, 0x58
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r3, 0xD1
|
|
lsls r3, 2
|
|
adds r0, r3
|
|
movs r1, 0
|
|
movs r2, 0x58
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r1, 0xE7
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0
|
|
movs r2, 0xB4
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r2, 0x8A
|
|
lsls r2, 3
|
|
adds r0, r2
|
|
movs r1, 0
|
|
movs r2, 0xB4
|
|
bl MemoryFill8
|
|
ldr r2, [r6]
|
|
movs r3, 0xB1
|
|
lsls r3, 2
|
|
adds r0, r2, r3
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
adds r3, 0x88
|
|
adds r0, r2, r3
|
|
strh r1, [r0]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080378FC: .4byte gUnknown_203B35C
|
|
thumb_func_end sub_8037810
|
|
|
|
thumb_func_start sub_8037900
|
|
sub_8037900:
|
|
push {r4,lr}
|
|
sub sp, 0x10
|
|
ldr r4, _08037928
|
|
ldr r0, [r4]
|
|
movs r1, 0xAE
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0
|
|
bl sub_8035CC0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0xA
|
|
bls _0803791E
|
|
b _08037A14
|
|
_0803791E:
|
|
lsls r0, 2
|
|
ldr r1, _0803792C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08037928: .4byte gUnknown_203B35C
|
|
_0803792C: .4byte _08037930
|
|
.align 2, 0
|
|
_08037930:
|
|
.4byte _0803795C
|
|
.4byte _0803795C
|
|
.4byte _0803797C
|
|
.4byte _0803797C
|
|
.4byte _0803799C
|
|
.4byte _0803799C
|
|
.4byte _080379BC
|
|
.4byte _080379BC
|
|
.4byte _08037A14
|
|
.4byte _080379F0
|
|
.4byte _080379F0
|
|
_0803795C:
|
|
ldr r0, _08037970
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x1C
|
|
movs r2, 0xAE
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08037974
|
|
ldr r2, _08037978
|
|
b _080379CE
|
|
.align 2, 0
|
|
_08037970: .4byte gUnknown_203B35C
|
|
_08037974: .4byte gUnknown_80E6554
|
|
_08037978: .4byte gUnknown_80E656C
|
|
_0803797C:
|
|
ldr r0, _08037990
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x1C
|
|
movs r2, 0xAE
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08037994
|
|
ldr r2, _08037998
|
|
b _080379CE
|
|
.align 2, 0
|
|
_08037990: .4byte gUnknown_203B35C
|
|
_08037994: .4byte gUnknown_80E6554
|
|
_08037998: .4byte gUnknown_80E65D8
|
|
_0803799C:
|
|
ldr r0, _080379B0
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x1C
|
|
movs r2, 0xAE
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _080379B4
|
|
ldr r2, _080379B8
|
|
b _080379CE
|
|
.align 2, 0
|
|
_080379B0: .4byte gUnknown_203B35C
|
|
_080379B4: .4byte gUnknown_80E6554
|
|
_080379B8: .4byte gUnknown_80E661C
|
|
_080379BC:
|
|
ldr r0, _080379E4
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x1C
|
|
movs r2, 0xAE
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _080379E8
|
|
ldr r2, _080379EC
|
|
_080379CE:
|
|
str r2, [sp]
|
|
movs r4, 0
|
|
str r4, [sp, 0x4]
|
|
movs r2, 0x6
|
|
str r2, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
movs r2, 0
|
|
bl SetMenuItems
|
|
b _08037A14
|
|
.align 2, 0
|
|
_080379E4: .4byte gUnknown_203B35C
|
|
_080379E8: .4byte gUnknown_80E6554
|
|
_080379EC: .4byte gUnknown_80E665C
|
|
_080379F0:
|
|
ldr r0, _08037A38
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x1C
|
|
movs r2, 0xAE
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08037A3C
|
|
ldr r2, _08037A40
|
|
str r2, [sp]
|
|
movs r4, 0
|
|
str r4, [sp, 0x4]
|
|
movs r2, 0x6
|
|
str r2, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
movs r2, 0
|
|
bl SetMenuItems
|
|
_08037A14:
|
|
ldr r4, _08037A38
|
|
ldr r0, [r4]
|
|
adds r0, 0x1C
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
bl sub_80373C4
|
|
ldr r0, [r4]
|
|
adds r0, 0x1C
|
|
bl sub_80130A8
|
|
add sp, 0x10
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08037A38: .4byte gUnknown_203B35C
|
|
_08037A3C: .4byte gUnknown_80E6554
|
|
_08037A40: .4byte gUnknown_80E667C
|
|
thumb_func_end sub_8037900
|
|
|
|
thumb_func_start nullsub_202
|
|
nullsub_202:
|
|
bx lr
|
|
thumb_func_end nullsub_202
|
|
|
|
thumb_func_start sub_8037A48
|
|
sub_8037A48:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x28
|
|
movs r6, 0x1
|
|
movs r0, 0
|
|
mov r1, sp
|
|
movs r2, 0x14
|
|
bl sub_800D670
|
|
add r4, sp, 0x14
|
|
movs r0, 0x1
|
|
adds r1, r4, 0
|
|
movs r2, 0x14
|
|
bl sub_800D670
|
|
ldr r1, _08037AAC
|
|
movs r3, 0x8
|
|
adds r2, r1, 0
|
|
adds r0, r2, 0x4
|
|
_08037A6C:
|
|
str r3, [r0]
|
|
subs r0, 0x4
|
|
cmp r0, r1
|
|
bge _08037A6C
|
|
ldr r0, [sp, 0x10]
|
|
str r0, [r2]
|
|
ldr r0, [r4, 0x10]
|
|
str r0, [r2, 0x4]
|
|
ldr r5, _08037AB0
|
|
mov r0, sp
|
|
adds r1, r5, 0
|
|
bl strcmp
|
|
cmp r0, 0
|
|
beq _08037A8C
|
|
movs r0, 0x1
|
|
_08037A8C:
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08037AA6
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl strcmp
|
|
cmp r0, 0
|
|
beq _08037AA0
|
|
movs r0, 0x1
|
|
_08037AA0:
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08037AB4
|
|
_08037AA6:
|
|
movs r0, 0
|
|
b _08037B1E
|
|
.align 2, 0
|
|
_08037AAC: .4byte gUnknown_202EC40
|
|
_08037AB0: .4byte gUnknown_80E6E50
|
|
_08037AB4:
|
|
ldr r1, [sp, 0x10]
|
|
cmp r1, 0
|
|
bne _08037AC0
|
|
ldr r0, [r4, 0x10]
|
|
cmp r0, 0x1
|
|
beq _08037B1C
|
|
_08037AC0:
|
|
cmp r1, 0x1
|
|
bne _08037ACA
|
|
ldr r0, [r4, 0x10]
|
|
cmp r0, 0
|
|
beq _08037B1C
|
|
_08037ACA:
|
|
cmp r1, 0x2
|
|
bne _08037AD4
|
|
ldr r0, [r4, 0x10]
|
|
cmp r0, 0x3
|
|
beq _08037B1C
|
|
_08037AD4:
|
|
cmp r1, 0x3
|
|
bne _08037ADE
|
|
ldr r0, [r4, 0x10]
|
|
cmp r0, 0x2
|
|
beq _08037B1C
|
|
_08037ADE:
|
|
cmp r1, 0x9
|
|
bne _08037AE8
|
|
ldr r0, [r4, 0x10]
|
|
cmp r0, 0xA
|
|
beq _08037B1C
|
|
_08037AE8:
|
|
cmp r1, 0xA
|
|
bne _08037AF2
|
|
ldr r0, [r4, 0x10]
|
|
cmp r0, 0x9
|
|
beq _08037B1C
|
|
_08037AF2:
|
|
cmp r1, 0x4
|
|
bne _08037AFC
|
|
ldr r0, [r4, 0x10]
|
|
cmp r0, 0x5
|
|
beq _08037B1C
|
|
_08037AFC:
|
|
cmp r1, 0x5
|
|
bne _08037B06
|
|
ldr r0, [r4, 0x10]
|
|
cmp r0, 0x4
|
|
beq _08037B1C
|
|
_08037B06:
|
|
cmp r1, 0x6
|
|
bne _08037B10
|
|
ldr r0, [r4, 0x10]
|
|
cmp r0, 0x7
|
|
beq _08037B1C
|
|
_08037B10:
|
|
cmp r1, 0x7
|
|
bne _08037B1A
|
|
ldr r0, [r4, 0x10]
|
|
cmp r0, 0x6
|
|
beq _08037B1C
|
|
_08037B1A:
|
|
movs r6, 0
|
|
_08037B1C:
|
|
adds r0, r6, 0
|
|
_08037B1E:
|
|
add sp, 0x28
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8037A48
|
|
|
|
thumb_func_start sub_8037B28
|
|
sub_8037B28:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x14
|
|
adds r4, r0, 0
|
|
movs r5, 0
|
|
bl sub_800D414
|
|
ldr r0, _08037B58
|
|
str r5, [r0]
|
|
ldr r5, _08037B5C
|
|
mov r0, sp
|
|
movs r1, 0
|
|
movs r2, 0x14
|
|
bl MemoryFill8
|
|
mov r0, sp
|
|
adds r1, r5, 0
|
|
bl strcpy
|
|
str r4, [sp, 0x10]
|
|
mov r0, sp
|
|
movs r1, 0x14
|
|
bl sub_800D59C
|
|
b _08037B7A
|
|
.align 2, 0
|
|
_08037B58: .4byte gUnknown_202EC38
|
|
_08037B5C: .4byte gUnknown_80E6E50
|
|
_08037B60:
|
|
cmp r5, 0x3
|
|
beq _08037BCC
|
|
cmp r5, 0x4
|
|
beq _08037BD8
|
|
cmp r5, 0x5
|
|
beq _08037BF0
|
|
ldr r2, _08037BC0
|
|
ldr r1, [r2]
|
|
ldr r0, _08037BC4
|
|
cmp r1, r0
|
|
bgt _08037BE4
|
|
adds r0, r1, 0x1
|
|
str r0, [r2]
|
|
_08037B7A:
|
|
movs r4, 0
|
|
_08037B7C:
|
|
bl sub_80373C4
|
|
bl sub_8012AE8
|
|
cmp r0, 0x3
|
|
bgt _08037B8C
|
|
cmp r0, 0x2
|
|
bge _08037BF0
|
|
_08037B8C:
|
|
adds r4, 0x1
|
|
cmp r4, 0
|
|
ble _08037B7C
|
|
bl sub_800D33C
|
|
adds r5, r0, 0
|
|
bl sub_800D570
|
|
cmp r5, 0x2
|
|
bne _08037B60
|
|
bl sub_800D600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08037BFC
|
|
bl sub_8037A48
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08037BC8
|
|
movs r4, 0x4
|
|
bl sub_800D520
|
|
bl sub_800D510
|
|
b _08037C06
|
|
.align 2, 0
|
|
_08037BC0: .4byte gUnknown_202EC38
|
|
_08037BC4: .4byte 0x00000707
|
|
_08037BC8:
|
|
movs r4, 0
|
|
b _08037C06
|
|
_08037BCC:
|
|
bl sub_800D520
|
|
bl sub_800D510
|
|
movs r0, 0x2
|
|
b _08037C08
|
|
_08037BD8:
|
|
bl sub_800D520
|
|
bl sub_800D510
|
|
movs r0, 0x3
|
|
b _08037C08
|
|
_08037BE4:
|
|
bl sub_800D520
|
|
bl sub_800D510
|
|
movs r0, 0xF
|
|
b _08037C08
|
|
_08037BF0:
|
|
bl sub_800D520
|
|
bl sub_800D510
|
|
movs r0, 0x1
|
|
b _08037C08
|
|
_08037BFC:
|
|
movs r4, 0x5
|
|
bl sub_800D520
|
|
bl sub_800D510
|
|
_08037C06:
|
|
adds r0, r4, 0
|
|
_08037C08:
|
|
add sp, 0x14
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8037B28
|
|
|
|
thumb_func_start sub_8037C10
|
|
sub_8037C10:
|
|
push {lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08037C24
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08037C38
|
|
b _08037C2E
|
|
_08037C24:
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08037C38
|
|
_08037C2E:
|
|
ldr r0, _08037C34
|
|
ldr r0, [r0, 0x4]
|
|
b _08037C3C
|
|
.align 2, 0
|
|
_08037C34: .4byte gUnknown_202EC40
|
|
_08037C38:
|
|
ldr r0, _08037C40
|
|
ldr r0, [r0]
|
|
_08037C3C:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08037C40: .4byte gUnknown_202EC40
|
|
thumb_func_end sub_8037C10
|
|
|
|
thumb_func_start sub_8037C44
|
|
sub_8037C44:
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
adds r5, r1, 0
|
|
movs r4, 0
|
|
_08037C4C:
|
|
adds r0, r4, 0
|
|
bl sub_800D68C
|
|
adds r4, 0x1
|
|
cmp r4, 0x1
|
|
ble _08037C4C
|
|
cmp r6, 0xA
|
|
bhi _08037CBE
|
|
lsls r0, r6, 2
|
|
ldr r1, _08037C68
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08037C68: .4byte _08037C6C
|
|
.align 2, 0
|
|
_08037C6C:
|
|
.4byte _08037C98
|
|
.4byte _08037C98
|
|
.4byte _08037CA2
|
|
.4byte _08037CA2
|
|
.4byte _08037CAC
|
|
.4byte _08037CAC
|
|
.4byte _08037CA2
|
|
.4byte _08037CA2
|
|
.4byte _08037CBE
|
|
.4byte _08037CB6
|
|
.4byte _08037CB6
|
|
_08037C98:
|
|
adds r0, r5, 0
|
|
movs r1, 0x8
|
|
bl sub_800D59C
|
|
b _08037CBE
|
|
_08037CA2:
|
|
adds r0, r5, 0
|
|
movs r1, 0x30
|
|
bl sub_800D59C
|
|
b _08037CBE
|
|
_08037CAC:
|
|
adds r0, r5, 0
|
|
movs r1, 0x88
|
|
bl sub_800D59C
|
|
b _08037CBE
|
|
_08037CB6:
|
|
adds r0, r5, 0
|
|
movs r1, 0xB4
|
|
bl sub_800D59C
|
|
_08037CBE:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8037C44
|
|
|
|
thumb_func_start sub_8037CC4
|
|
sub_8037CC4:
|
|
push {r4,lr}
|
|
adds r3, r1, 0
|
|
adds r4, r2, 0
|
|
cmp r0, 0xA
|
|
bhi _08037D5E
|
|
lsls r0, 2
|
|
ldr r1, _08037CD8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08037CD8: .4byte _08037CDC
|
|
.align 2, 0
|
|
_08037CDC:
|
|
.4byte _08037D08
|
|
.4byte _08037D08
|
|
.4byte _08037D1E
|
|
.4byte _08037D1E
|
|
.4byte _08037D34
|
|
.4byte _08037D34
|
|
.4byte _08037D1E
|
|
.4byte _08037D1E
|
|
.4byte _08037D5E
|
|
.4byte _08037D4A
|
|
.4byte _08037D4A
|
|
_08037D08:
|
|
movs r0, 0
|
|
adds r1, r3, 0
|
|
movs r2, 0x8
|
|
bl sub_800D670
|
|
movs r0, 0x1
|
|
adds r1, r4, 0
|
|
movs r2, 0x8
|
|
bl sub_800D670
|
|
b _08037D5E
|
|
_08037D1E:
|
|
movs r0, 0
|
|
adds r1, r3, 0
|
|
movs r2, 0x30
|
|
bl sub_800D670
|
|
movs r0, 0x1
|
|
adds r1, r4, 0
|
|
movs r2, 0x30
|
|
bl sub_800D670
|
|
b _08037D5E
|
|
_08037D34:
|
|
movs r0, 0
|
|
adds r1, r3, 0
|
|
movs r2, 0x88
|
|
bl sub_800D670
|
|
movs r0, 0x1
|
|
adds r1, r4, 0
|
|
movs r2, 0x88
|
|
bl sub_800D670
|
|
b _08037D5E
|
|
_08037D4A:
|
|
movs r0, 0
|
|
adds r1, r3, 0
|
|
movs r2, 0xB4
|
|
bl sub_800D670
|
|
movs r0, 0x1
|
|
adds r1, r4, 0
|
|
movs r2, 0xB4
|
|
bl sub_800D670
|
|
_08037D5E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8037CC4
|
|
|
|
thumb_func_start sub_8037D64
|
|
sub_8037D64:
|
|
push {r4-r7,lr}
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
adds r7, r2, 0
|
|
movs r4, 0
|
|
ldr r0, _08037D80
|
|
str r4, [r0]
|
|
bl sub_800D494
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
bl sub_8037C44
|
|
b _08037D96
|
|
.align 2, 0
|
|
_08037D80: .4byte gUnknown_202EC48
|
|
_08037D84:
|
|
subs r0, r4, 0x3
|
|
cmp r0, 0x2
|
|
bls _08037DBC
|
|
ldr r1, _08037DB8
|
|
ldr r0, [r1]
|
|
cmp r0, 0x63
|
|
bgt _08037DC8
|
|
adds r0, 0x1
|
|
str r0, [r1]
|
|
_08037D96:
|
|
bl sub_80373C4
|
|
bl sub_800D33C
|
|
adds r4, r0, 0
|
|
bl sub_800D570
|
|
cmp r4, 0x2
|
|
bne _08037D84
|
|
bl sub_800D600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08037DD4
|
|
movs r4, 0
|
|
b _08037DDE
|
|
.align 2, 0
|
|
_08037DB8: .4byte gUnknown_202EC48
|
|
_08037DBC:
|
|
bl sub_800D520
|
|
bl sub_800D510
|
|
movs r0, 0x1
|
|
b _08037DEA
|
|
_08037DC8:
|
|
bl sub_800D520
|
|
bl sub_800D510
|
|
movs r0, 0xF
|
|
b _08037DEA
|
|
_08037DD4:
|
|
bl sub_800D520
|
|
bl sub_800D510
|
|
movs r4, 0x5
|
|
_08037DDE:
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
adds r2, r7, 0
|
|
bl sub_8037CC4
|
|
adds r0, r4, 0
|
|
_08037DEA:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8037D64
|
|
|
|
thumb_func_start sub_8037DF0
|
|
sub_8037DF0:
|
|
push {r4,lr}
|
|
sub sp, 0x8
|
|
movs r4, 0
|
|
movs r0, 0
|
|
mov r1, sp
|
|
movs r2, 0x4
|
|
bl sub_800D670
|
|
add r1, sp, 0x4
|
|
movs r0, 0x1
|
|
movs r2, 0x4
|
|
bl sub_800D670
|
|
ldr r0, [sp]
|
|
cmp r0, 0
|
|
bne _08037E16
|
|
ldr r0, [sp, 0x4]
|
|
cmp r0, 0
|
|
beq _08037E2C
|
|
_08037E16:
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08037E24
|
|
ldr r4, [sp, 0x4]
|
|
b _08037E26
|
|
_08037E24:
|
|
ldr r4, [sp]
|
|
_08037E26:
|
|
cmp r4, 0
|
|
bne _08037E2C
|
|
movs r4, 0xE
|
|
_08037E2C:
|
|
adds r0, r4, 0
|
|
add sp, 0x8
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8037DF0
|
|
|
|
thumb_func_start sub_8037E38
|
|
sub_8037E38:
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
adds r5, r1, 0
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
adds r4, r6, 0
|
|
cmp r0, 0
|
|
bne _08037E4C
|
|
adds r4, r5, 0
|
|
_08037E4C:
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
adds r3, r5, 0
|
|
cmp r0, 0
|
|
bne _08037E5A
|
|
adds r3, r6, 0
|
|
_08037E5A:
|
|
ldrb r0, [r4]
|
|
ldrb r1, [r3]
|
|
cmp r0, r1
|
|
bne _08037E70
|
|
ldr r0, _08037E6C
|
|
ldr r1, [r0]
|
|
ldrb r0, [r4]
|
|
b _08037E76
|
|
.align 2, 0
|
|
_08037E6C: .4byte gUnknown_203B460
|
|
_08037E70:
|
|
ldr r0, _08037E8C
|
|
ldr r1, [r0]
|
|
ldrb r0, [r3]
|
|
_08037E76:
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldrh r2, [r1]
|
|
ldr r0, [r3, 0x4]
|
|
adds r2, r0
|
|
strh r2, [r1]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08037E8C: .4byte gUnknown_203B460
|
|
thumb_func_end sub_8037E38
|
|
|
|
thumb_func_start sub_8037E90
|
|
sub_8037E90:
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
adds r4, r1, 0
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08037EA2
|
|
adds r4, r5, 0
|
|
_08037EA2:
|
|
movs r0, 0x2
|
|
strb r0, [r4]
|
|
adds r0, r4, 0
|
|
bl sub_80951BC
|
|
ldr r0, [r4, 0x10]
|
|
bl sub_8095274
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8037E90
|
|
|
|
thumb_func_start nullsub_53
|
|
nullsub_53:
|
|
bx lr
|
|
thumb_func_end nullsub_53
|
|
|
|
thumb_func_start sub_8037EBC
|
|
sub_8037EBC:
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
adds r4, r1, 0
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
adds r5, r4, 0
|
|
cmp r0, 0
|
|
bne _08037ED0
|
|
adds r5, r6, 0
|
|
_08037ED0:
|
|
ldr r1, [r5, 0x10]
|
|
movs r0, 0x1
|
|
bl sub_809539C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8095228
|
|
adds r4, r0, 0
|
|
adds r1, r4, 0
|
|
adds r0, r5, 0
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
movs r0, 0x5
|
|
strb r0, [r4]
|
|
adds r0, r4, 0
|
|
bl sub_80951FC
|
|
movs r0, 0x7
|
|
strb r0, [r4]
|
|
movs r0, 0x38
|
|
ldrsh r6, [r5, r0]
|
|
cmp r6, 0
|
|
beq _08037F30
|
|
ldr r4, _08037F2C
|
|
ldr r0, [r4]
|
|
ldr r1, [r5, 0x10]
|
|
stm r0!, {r1}
|
|
adds r1, r5, 0
|
|
adds r1, 0x30
|
|
movs r2, 0x58
|
|
bl memcpy
|
|
ldr r1, [r4]
|
|
movs r0, 0x42
|
|
strb r0, [r1, 0x8]
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x9]
|
|
b _08037F40
|
|
.align 2, 0
|
|
_08037F2C: .4byte gUnknown_203B484
|
|
_08037F30:
|
|
ldr r4, _08037F48
|
|
ldr r0, [r4]
|
|
movs r1, 0
|
|
movs r2, 0x5C
|
|
bl MemoryFill8
|
|
ldr r0, [r4]
|
|
strh r6, [r0, 0xC]
|
|
_08037F40:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08037F48: .4byte gUnknown_203B484
|
|
thumb_func_end sub_8037EBC
|
|
|
|
thumb_func_start sub_8037F4C
|
|
sub_8037F4C:
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
adds r4, r1, 0
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08037F5E
|
|
adds r4, r5, 0
|
|
_08037F5E:
|
|
ldr r1, [r4, 0x10]
|
|
movs r0, 0x4
|
|
bl sub_809539C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8095228
|
|
adds r2, r0, 0
|
|
adds r1, r4, 0
|
|
ldm r1!, {r3-r5}
|
|
stm r2!, {r3-r5}
|
|
ldm r1!, {r3-r5}
|
|
stm r2!, {r3-r5}
|
|
ldm r1!, {r3-r5}
|
|
stm r2!, {r3-r5}
|
|
ldm r1!, {r3-r5}
|
|
stm r2!, {r3-r5}
|
|
movs r1, 0x6
|
|
strb r1, [r0]
|
|
bl sub_8035D4C
|
|
cmp r0, 0
|
|
beq _08037F96
|
|
adds r1, r0, 0
|
|
adds r1, 0x3A
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
_08037F96:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8037F4C
|
|
|
|
thumb_func_start sub_8037F9C
|
|
sub_8037F9C:
|
|
push {lr}
|
|
adds r3, r1, 0
|
|
cmp r0, 0xA
|
|
bhi _08038010
|
|
lsls r0, 2
|
|
ldr r1, _08037FB0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08037FB0: .4byte _08037FB4
|
|
.align 2, 0
|
|
_08037FB4:
|
|
.4byte _08037FE0
|
|
.4byte _08037FE0
|
|
.4byte _08038010
|
|
.4byte _08037FF4
|
|
.4byte _08038010
|
|
.4byte _08037FFE
|
|
.4byte _08038010
|
|
.4byte _08037FEA
|
|
.4byte _08038010
|
|
.4byte _08038010
|
|
.4byte _08038008
|
|
_08037FE0:
|
|
adds r0, r3, 0
|
|
adds r1, r2, 0
|
|
bl sub_8037E38
|
|
b _08038010
|
|
_08037FEA:
|
|
adds r0, r3, 0
|
|
adds r1, r2, 0
|
|
bl sub_8037F4C
|
|
b _08038010
|
|
_08037FF4:
|
|
adds r0, r3, 0
|
|
adds r1, r2, 0
|
|
bl sub_8037E90
|
|
b _08038010
|
|
_08037FFE:
|
|
adds r0, r3, 0
|
|
adds r1, r2, 0
|
|
bl sub_8037EBC
|
|
b _08038010
|
|
_08038008:
|
|
adds r0, r3, 0
|
|
adds r1, r2, 0
|
|
bl nullsub_53
|
|
_08038010:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8037F9C
|
|
|
|
thumb_func_start sub_8038014
|
|
sub_8038014:
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
adds r5, r1, 0
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
adds r4, r6, 0
|
|
cmp r0, 0
|
|
bne _08038028
|
|
adds r4, r5, 0
|
|
_08038028:
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
adds r3, r5, 0
|
|
cmp r0, 0
|
|
bne _08038036
|
|
adds r3, r6, 0
|
|
_08038036:
|
|
ldrb r0, [r4]
|
|
ldrb r1, [r3]
|
|
cmp r0, r1
|
|
bne _0803804C
|
|
ldr r0, _08038048
|
|
ldr r1, [r0]
|
|
ldrb r0, [r4]
|
|
b _08038052
|
|
.align 2, 0
|
|
_08038048: .4byte gUnknown_203B460
|
|
_0803804C:
|
|
ldr r0, _08038070
|
|
ldr r1, [r0]
|
|
ldrb r0, [r3]
|
|
_08038052:
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldrh r2, [r1]
|
|
ldr r0, [r3, 0x4]
|
|
adds r2, r0
|
|
ldr r0, _08038074
|
|
movs r1, 0
|
|
cmp r2, r0
|
|
ble _08038068
|
|
movs r1, 0x6
|
|
_08038068:
|
|
adds r0, r1, 0
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08038070: .4byte gUnknown_203B460
|
|
_08038074: .4byte 0x000003e7
|
|
thumb_func_end sub_8038014
|
|
|
|
thumb_func_start sub_8038078
|
|
sub_8038078:
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
adds r4, r1, 0
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0803808A
|
|
adds r4, r5, 0
|
|
_0803808A:
|
|
ldr r6, [r4, 0x10]
|
|
ldr r0, _08038098
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0803809C
|
|
ldr r5, [r0, 0x50]
|
|
b _080380A2
|
|
.align 2, 0
|
|
_08038098: .4byte gUnknown_203B184
|
|
_0803809C:
|
|
bl sub_8011C34
|
|
adds r5, r0, 0
|
|
_080380A2:
|
|
movs r0, 0x4
|
|
adds r1, r6, 0
|
|
bl sub_80952F0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080380BA
|
|
ldr r0, [r4, 0x28]
|
|
cmp r0, r5
|
|
bne _080380BA
|
|
movs r0, 0
|
|
b _080380BC
|
|
_080380BA:
|
|
movs r0, 0xB
|
|
_080380BC:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8038078
|
|
|
|
thumb_func_start sub_80380C4
|
|
sub_80380C4:
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
adds r4, r1, 0
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
adds r5, r4, 0
|
|
cmp r0, 0
|
|
bne _080380D8
|
|
adds r5, r6, 0
|
|
_080380D8:
|
|
ldr r4, [r5, 0x10]
|
|
movs r0, 0x2
|
|
adds r1, r4, 0
|
|
bl sub_80952F0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08038110
|
|
movs r0, 0x4
|
|
adds r1, r4, 0
|
|
bl sub_80952F0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08038110
|
|
movs r0, 0x6
|
|
adds r1, r4, 0
|
|
bl sub_80952F0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08038110
|
|
ldr r0, [r5, 0x10]
|
|
bl sub_8095298
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08038114
|
|
_08038110:
|
|
movs r0, 0x7
|
|
b _08038126
|
|
_08038114:
|
|
bl sub_8095190
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
beq _08038124
|
|
movs r0, 0
|
|
b _08038126
|
|
_08038124:
|
|
movs r0, 0xD
|
|
_08038126:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80380C4
|
|
|
|
thumb_func_start sub_803812C
|
|
sub_803812C:
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
adds r4, r1, 0
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0803813E
|
|
adds r4, r5, 0
|
|
_0803813E:
|
|
ldr r1, [r4, 0x10]
|
|
movs r0, 0x1
|
|
bl sub_80952F0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08038150
|
|
movs r0, 0x9
|
|
b _08038152
|
|
_08038150:
|
|
movs r0, 0
|
|
_08038152:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803812C
|
|
|
|
thumb_func_start sub_8038158
|
|
sub_8038158:
|
|
movs r0, 0
|
|
bx lr
|
|
thumb_func_end sub_8038158
|
|
|
|
thumb_func_start sub_803815C
|
|
sub_803815C:
|
|
push {r4,lr}
|
|
adds r3, r1, 0
|
|
movs r4, 0
|
|
cmp r0, 0xA
|
|
bhi _080381D2
|
|
lsls r0, 2
|
|
ldr r1, _08038170
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08038170: .4byte _08038174
|
|
.align 2, 0
|
|
_08038174:
|
|
.4byte _080381A0
|
|
.4byte _080381A0
|
|
.4byte _080381D2
|
|
.4byte _080381B4
|
|
.4byte _080381D2
|
|
.4byte _080381BE
|
|
.4byte _080381D2
|
|
.4byte _080381AA
|
|
.4byte _080381D2
|
|
.4byte _080381D2
|
|
.4byte _080381C8
|
|
_080381A0:
|
|
adds r0, r3, 0
|
|
adds r1, r2, 0
|
|
bl sub_8038014
|
|
b _080381D0
|
|
_080381AA:
|
|
adds r0, r3, 0
|
|
adds r1, r2, 0
|
|
bl sub_8038078
|
|
b _080381D0
|
|
_080381B4:
|
|
adds r0, r3, 0
|
|
adds r1, r2, 0
|
|
bl sub_80380C4
|
|
b _080381D0
|
|
_080381BE:
|
|
adds r0, r3, 0
|
|
adds r1, r2, 0
|
|
bl sub_803812C
|
|
b _080381D0
|
|
_080381C8:
|
|
adds r0, r3, 0
|
|
adds r1, r2, 0
|
|
bl sub_8038158
|
|
_080381D0:
|
|
adds r4, r0, 0
|
|
_080381D2:
|
|
adds r0, r4, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803815C
|
|
|
|
thumb_func_start sub_80381DC
|
|
sub_80381DC:
|
|
push {lr}
|
|
bl sub_8037F9C
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80381DC
|
|
|
|
thumb_func_start sub_80381E8
|
|
sub_80381E8:
|
|
push {lr}
|
|
bl sub_803815C
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80381E8
|
|
|
|
thumb_func_start sub_80381F4
|
|
sub_80381F4:
|
|
push {r4-r7,lr}
|
|
sub sp, 0x4
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
adds r7, r2, 0
|
|
movs r4, 0
|
|
bl sub_803815C
|
|
str r0, [sp]
|
|
ldr r0, _08038218
|
|
str r4, [r0]
|
|
bl sub_800D494
|
|
mov r0, sp
|
|
movs r1, 0x4
|
|
bl sub_800D59C
|
|
b _0803822E
|
|
.align 2, 0
|
|
_08038218: .4byte gUnknown_202EC4C
|
|
_0803821C:
|
|
subs r0, r4, 0x3
|
|
cmp r0, 0x2
|
|
bls _08038272
|
|
ldr r1, _08038250
|
|
ldr r0, [r1]
|
|
cmp r0, 0x63
|
|
bgt _0803827E
|
|
adds r0, 0x1
|
|
str r0, [r1]
|
|
_0803822E:
|
|
bl sub_80373C4
|
|
bl sub_800D33C
|
|
adds r4, r0, 0
|
|
bl sub_800D570
|
|
cmp r4, 0x2
|
|
bne _0803821C
|
|
bl sub_800D600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08038254
|
|
bl sub_8037DF0
|
|
b _0803825E
|
|
.align 2, 0
|
|
_08038250: .4byte gUnknown_202EC4C
|
|
_08038254:
|
|
bl sub_800D520
|
|
bl sub_800D510
|
|
movs r0, 0x5
|
|
_0803825E:
|
|
str r0, [sp]
|
|
ldr r0, [sp]
|
|
cmp r0, 0
|
|
bne _0803828A
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
adds r2, r7, 0
|
|
bl sub_8037F9C
|
|
b _08038292
|
|
_08038272:
|
|
bl sub_800D520
|
|
bl sub_800D510
|
|
movs r0, 0x1
|
|
b _08038298
|
|
_0803827E:
|
|
bl sub_800D520
|
|
bl sub_800D510
|
|
movs r0, 0xF
|
|
b _08038298
|
|
_0803828A:
|
|
bl sub_800D520
|
|
bl sub_800D510
|
|
_08038292:
|
|
bl sub_800D520
|
|
ldr r0, [sp]
|
|
_08038298:
|
|
add sp, 0x4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80381F4
|
|
|
|
thumb_func_start sub_80382A0
|
|
sub_80382A0:
|
|
push {lr}
|
|
movs r0, 0
|
|
bl sub_8031F60
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80382A0
|
|
|
|
thumb_func_start sub_80382AC
|
|
sub_80382AC:
|
|
push {lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80382AC
|
|
|
|
thumb_func_start sub_80382C0
|
|
sub_80382C0:
|
|
push {r4,lr}
|
|
ldr r4, _080382E0
|
|
movs r0, 0x1
|
|
bl sub_8031FD8
|
|
cmp r0, 0x1
|
|
bls _080382D8
|
|
cmp r0, 0x3
|
|
bhi _080382D8
|
|
bl sub_803203C
|
|
movs r4, 0x1
|
|
_080382D8:
|
|
adds r0, r4, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080382E0: .4byte 0x0000ffdc
|
|
thumb_func_end sub_80382C0
|
|
|
|
thumb_func_start sub_80382E4
|
|
sub_80382E4:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x10
|
|
mov r8, r0
|
|
ldr r5, _08038398
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
bne _0803830E
|
|
movs r4, 0xDA
|
|
lsls r4, 1
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl MemoryFill8
|
|
_0803830E:
|
|
mov r12, r5
|
|
movs r0, 0xA4
|
|
lsls r0, 1
|
|
mov r9, r0
|
|
ldr r4, _0803839C
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_0803831C:
|
|
mov r5, r12
|
|
ldr r1, [r5]
|
|
adds r1, r3
|
|
add r1, r9
|
|
adds r0, r4, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _0803831C
|
|
bl sub_8004914
|
|
ldr r5, _08038398
|
|
ldr r0, [r5]
|
|
movs r6, 0xA4
|
|
lsls r6, 1
|
|
adds r0, r6
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
mov r7, r8
|
|
cmp r7, 0x25
|
|
bne _08038370
|
|
ldr r1, [r5]
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
adds r1, r6
|
|
ldr r3, _080383A0
|
|
ldr r2, _080383A4
|
|
str r2, [sp]
|
|
movs r4, 0
|
|
str r4, [sp, 0x4]
|
|
movs r2, 0x4
|
|
str r2, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
movs r2, 0
|
|
bl SetMenuItems
|
|
_08038370:
|
|
ldr r0, [r5]
|
|
adds r0, 0x8
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
ldr r1, [r5]
|
|
mov r0, r8
|
|
str r0, [r1]
|
|
movs r0, 0
|
|
str r0, [r1, 0x4]
|
|
bl sub_8038440
|
|
add sp, 0x10
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08038398: .4byte gUnknown_203B360
|
|
_0803839C: .4byte gUnknown_80E6E7C
|
|
_080383A0: .4byte gUnknown_80E6E94
|
|
_080383A4: .4byte gUnknown_80E6EAC
|
|
thumb_func_end sub_80382E4
|
|
|
|
thumb_func_start sub_80383A8
|
|
sub_80383A8:
|
|
push {r4,lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, _080383D0
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080383C8
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_080383C8:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080383D0: .4byte gUnknown_203B360
|
|
thumb_func_end sub_80383A8
|
|
|
|
thumb_func_start sub_80383D4
|
|
sub_80383D4:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
ldr r6, _08038410
|
|
ldr r4, _08038414
|
|
ldr r0, [r4]
|
|
ldr r5, [r0, 0x4]
|
|
cmp r5, 0
|
|
bne _08038434
|
|
adds r0, 0x8
|
|
bl sub_80130A8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080383FE
|
|
ldr r0, [r4]
|
|
adds r0, 0x8
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_080383FE:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _0803842C
|
|
cmp r0, 0x2
|
|
bhi _08038418
|
|
cmp r0, 0x1
|
|
beq _0803841C
|
|
b _08038430
|
|
.align 2, 0
|
|
_08038410: .4byte 0x0000ffdc
|
|
_08038414: .4byte gUnknown_203B360
|
|
_08038418:
|
|
cmp r0, 0x3
|
|
bne _08038430
|
|
_0803841C:
|
|
ldr r0, _08038428
|
|
ldr r1, [r0]
|
|
movs r0, 0
|
|
str r0, [r1, 0x4]
|
|
movs r6, 0x1
|
|
b _08038430
|
|
.align 2, 0
|
|
_08038428: .4byte gUnknown_203B360
|
|
_0803842C:
|
|
ldr r0, [r4]
|
|
str r5, [r0, 0x4]
|
|
_08038430:
|
|
bl sub_80384D0
|
|
_08038434:
|
|
adds r0, r6, 0
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80383D4
|
|
|
|
thumb_func_start sub_8038440
|
|
sub_8038440:
|
|
push {r4,r5,lr}
|
|
movs r5, 0
|
|
ldr r0, _080384B0
|
|
ldr r0, [r0]
|
|
mov r12, r0
|
|
movs r3, 0xD4
|
|
lsls r3, 1
|
|
add r3, r12
|
|
ldrh r1, [r3]
|
|
ldr r0, _080384B4
|
|
ands r0, r1
|
|
ldr r1, _080384B8
|
|
ands r0, r1
|
|
ldr r4, _080384BC
|
|
ands r0, r4
|
|
ldr r1, _080384C0
|
|
ands r0, r1
|
|
ldr r1, _080384C4
|
|
ands r0, r1
|
|
movs r2, 0x80
|
|
lsls r2, 7
|
|
ldr r1, _080384C8
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strh r0, [r3]
|
|
movs r2, 0xFC
|
|
lsls r2, 2
|
|
ldrh r1, [r3, 0x4]
|
|
movs r0, 0xFC
|
|
lsls r0, 8
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
ands r0, r4
|
|
movs r2, 0xF
|
|
movs r4, 0xF0
|
|
lsls r4, 8
|
|
ldr r1, _080384CC
|
|
ands r0, r1
|
|
orrs r0, r4
|
|
strh r0, [r3, 0x4]
|
|
movs r0, 0x70
|
|
strh r0, [r3, 0x2]
|
|
movs r1, 0xE0
|
|
lsls r1, 3
|
|
ldrh r0, [r3, 0x6]
|
|
ands r2, r0
|
|
orrs r2, r1
|
|
strh r2, [r3, 0x6]
|
|
movs r0, 0xD8
|
|
lsls r0, 1
|
|
add r0, r12
|
|
str r5, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080384B0: .4byte gUnknown_203B360
|
|
_080384B4: .4byte 0x0000feff
|
|
_080384B8: .4byte 0x0000fdff
|
|
_080384BC: .4byte 0x0000f3ff
|
|
_080384C0: .4byte 0x0000efff
|
|
_080384C4: .4byte 0x0000dfff
|
|
_080384C8: .4byte 0x00003fff
|
|
_080384CC: .4byte 0x00000fff
|
|
thumb_func_end sub_8038440
|
|
|
|
thumb_func_start sub_80384D0
|
|
sub_80384D0:
|
|
push {r4,r5,lr}
|
|
ldr r5, _08038508
|
|
ldr r2, [r5]
|
|
movs r4, 0xD8
|
|
lsls r4, 1
|
|
adds r0, r2, r4
|
|
ldr r0, [r0]
|
|
movs r1, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080384F6
|
|
movs r1, 0xD4
|
|
lsls r1, 1
|
|
adds r0, r2, r1
|
|
subs r1, 0xA8
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl AddSprite
|
|
_080384F6:
|
|
ldr r1, [r5]
|
|
adds r1, r4
|
|
ldr r0, [r1]
|
|
adds r0, 0x1
|
|
str r0, [r1]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08038508: .4byte gUnknown_203B360
|
|
thumb_func_end sub_80384D0
|
|
|
|
thumb_func_start sub_803850C
|
|
sub_803850C:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x10
|
|
mov r8, r0
|
|
ldr r5, _0803859C
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
bne _08038536
|
|
movs r4, 0xDA
|
|
lsls r4, 1
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl MemoryFill8
|
|
_08038536:
|
|
mov r12, r5
|
|
movs r0, 0xA4
|
|
lsls r0, 1
|
|
mov r9, r0
|
|
ldr r4, _080385A0
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_08038544:
|
|
mov r5, r12
|
|
ldr r1, [r5]
|
|
adds r1, r3
|
|
add r1, r9
|
|
adds r0, r4, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _08038544
|
|
bl sub_8004914
|
|
ldr r4, _0803859C
|
|
ldr r0, [r4]
|
|
movs r6, 0xA4
|
|
lsls r6, 1
|
|
adds r0, r6
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
mov r7, r8
|
|
cmp r7, 0x2E
|
|
bne _080385AC
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
adds r1, r6
|
|
ldr r3, _080385A4
|
|
ldr r2, _080385A8
|
|
str r2, [sp]
|
|
movs r4, 0
|
|
str r4, [sp, 0x4]
|
|
movs r2, 0x6
|
|
str r2, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
movs r2, 0
|
|
bl SetMenuItems
|
|
b _080385CE
|
|
.align 2, 0
|
|
_0803859C: .4byte gUnknown_203B364
|
|
_080385A0: .4byte gUnknown_80E6F20
|
|
_080385A4: .4byte gUnknown_80E6F38
|
|
_080385A8: .4byte gUnknown_80E7090
|
|
_080385AC:
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
movs r2, 0xA4
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _080385F8
|
|
ldr r2, _080385FC
|
|
str r2, [sp]
|
|
movs r4, 0
|
|
str r4, [sp, 0x4]
|
|
movs r2, 0x6
|
|
str r2, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
movs r2, 0
|
|
bl SetMenuItems
|
|
_080385CE:
|
|
ldr r4, _08038600
|
|
ldr r0, [r4]
|
|
adds r0, 0x8
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
ldr r1, [r4]
|
|
movs r0, 0
|
|
str r0, [r1, 0x4]
|
|
mov r5, r8
|
|
str r5, [r1]
|
|
bl sub_8038830
|
|
add sp, 0x10
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080385F8: .4byte gUnknown_80E6F38
|
|
_080385FC: .4byte gUnknown_80E6F50
|
|
_08038600: .4byte gUnknown_203B364
|
|
thumb_func_end sub_803850C
|
|
|
|
thumb_func_start sub_8038604
|
|
sub_8038604:
|
|
push {r4,lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, _0803862C
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _08038624
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_08038624:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803862C: .4byte gUnknown_203B364
|
|
thumb_func_end sub_8038604
|
|
|
|
thumb_func_start sub_8038630
|
|
sub_8038630:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x18
|
|
ldr r5, _080386A8
|
|
movs r0, 0x3
|
|
str r0, [sp, 0x14]
|
|
ldr r6, _080386AC
|
|
ldr r0, [r6]
|
|
ldr r4, [r0, 0x4]
|
|
cmp r4, 0x1
|
|
bne _08038646
|
|
b _08038798
|
|
_08038646:
|
|
cmp r4, 0x1
|
|
bcc _0803864C
|
|
b _08038824
|
|
_0803864C:
|
|
adds r0, 0x8
|
|
bl sub_8012FD8
|
|
movs r5, 0
|
|
str r5, [sp, 0x10]
|
|
bl sub_80140F8
|
|
bl sub_8011C1C
|
|
adds r1, r0, 0
|
|
add r0, sp, 0x10
|
|
bl sub_801203C
|
|
adds r4, r0, 0
|
|
bl sub_8014114
|
|
cmp r4, 0
|
|
beq _080386B8
|
|
cmp r4, 0x1
|
|
beq _08038738
|
|
ldr r0, [r6]
|
|
movs r4, 0xA4
|
|
lsls r4, 1
|
|
adds r0, r4
|
|
movs r1, 0
|
|
bl sub_8035CC0
|
|
ldr r1, [r6]
|
|
ldr r0, [r1]
|
|
cmp r0, 0x2E
|
|
bne _08038750
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
adds r1, r4
|
|
ldr r3, _080386B0
|
|
ldr r2, _080386B4
|
|
str r2, [sp]
|
|
str r5, [sp, 0x4]
|
|
movs r2, 0x6
|
|
str r2, [sp, 0x8]
|
|
str r5, [sp, 0xC]
|
|
movs r2, 0
|
|
bl SetMenuItems
|
|
b _0803876E
|
|
.align 2, 0
|
|
_080386A8: .4byte 0x0000ffdc
|
|
_080386AC: .4byte gUnknown_203B364
|
|
_080386B0: .4byte gUnknown_80E6F38
|
|
_080386B4: .4byte gUnknown_80E7114
|
|
_080386B8:
|
|
ldr r0, [r6]
|
|
movs r1, 0xA4
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0
|
|
bl sub_8035CC0
|
|
ldr r1, [r6]
|
|
ldr r0, [r1]
|
|
cmp r0, 0x2E
|
|
bne _080386F8
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
movs r2, 0xA4
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _080386F0
|
|
ldr r2, _080386F4
|
|
str r2, [sp]
|
|
str r5, [sp, 0x4]
|
|
movs r2, 0x6
|
|
str r2, [sp, 0x8]
|
|
str r5, [sp, 0xC]
|
|
movs r2, 0
|
|
bl SetMenuItems
|
|
b _08038716
|
|
.align 2, 0
|
|
_080386F0: .4byte gUnknown_80E6F38
|
|
_080386F4: .4byte gUnknown_80E70CC
|
|
_080386F8:
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
movs r2, 0xA4
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08038728
|
|
ldr r2, _0803872C
|
|
str r2, [sp]
|
|
str r5, [sp, 0x4]
|
|
movs r2, 0x6
|
|
str r2, [sp, 0x8]
|
|
str r5, [sp, 0xC]
|
|
movs r2, 0
|
|
bl SetMenuItems
|
|
_08038716:
|
|
ldr r4, _08038730
|
|
ldr r1, [r4]
|
|
ldr r0, [r1]
|
|
cmp r0, 0x2D
|
|
bne _08038734
|
|
movs r0, 0x1
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0x13
|
|
b _08038826
|
|
.align 2, 0
|
|
_08038728: .4byte gUnknown_80E6F38
|
|
_0803872C: .4byte gUnknown_80E6FBC
|
|
_08038730: .4byte gUnknown_203B364
|
|
_08038734:
|
|
adds r0, r1, 0
|
|
b _08038772
|
|
_08038738:
|
|
ldr r0, _0803874C
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_80141B4
|
|
ldr r1, [r6]
|
|
movs r0, 0x5
|
|
b _08038780
|
|
.align 2, 0
|
|
_0803874C: .4byte gUnknown_80E7178
|
|
_08038750:
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
movs r2, 0xA4
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08038788
|
|
ldr r2, _0803878C
|
|
str r2, [sp]
|
|
str r5, [sp, 0x4]
|
|
movs r2, 0x6
|
|
str r2, [sp, 0x8]
|
|
str r5, [sp, 0xC]
|
|
movs r2, 0
|
|
bl SetMenuItems
|
|
_0803876E:
|
|
ldr r4, _08038790
|
|
ldr r0, [r4]
|
|
_08038772:
|
|
adds r0, 0x8
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
_08038780:
|
|
str r0, [r1, 0x4]
|
|
ldr r5, _08038794
|
|
b _08038824
|
|
.align 2, 0
|
|
_08038788: .4byte gUnknown_80E6F38
|
|
_0803878C: .4byte gUnknown_80E701C
|
|
_08038790: .4byte gUnknown_203B364
|
|
_08038794: .4byte 0x0000ffdc
|
|
_08038798:
|
|
adds r0, 0x8
|
|
bl sub_80130A8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080387AE
|
|
ldr r0, [r6]
|
|
adds r0, 0x8
|
|
add r1, sp, 0x14
|
|
bl sub_8013114
|
|
_080387AE:
|
|
ldr r0, [sp, 0x14]
|
|
cmp r0, 0x3
|
|
beq _0803881C
|
|
cmp r0, 0x3
|
|
bhi _080387BE
|
|
cmp r0, 0x2
|
|
beq _080387C2
|
|
b _08038820
|
|
_080387BE:
|
|
cmp r0, 0x4
|
|
bne _08038820
|
|
_080387C2:
|
|
ldr r4, _080387D8
|
|
ldr r1, [r4]
|
|
ldr r0, [r1]
|
|
cmp r0, 0x29
|
|
beq _080387D0
|
|
cmp r0, 0x2E
|
|
bne _080387DC
|
|
_080387D0:
|
|
movs r0, 0x1
|
|
str r0, [r1, 0x4]
|
|
movs r5, 0x1
|
|
b _08038820
|
|
.align 2, 0
|
|
_080387D8: .4byte gUnknown_203B364
|
|
_080387DC:
|
|
cmp r0, 0x2D
|
|
bne _080387E8
|
|
movs r0, 0x1
|
|
str r0, [r1, 0x4]
|
|
movs r5, 0x13
|
|
b _08038820
|
|
_080387E8:
|
|
cmp r0, 0x2C
|
|
bne _080387F4
|
|
movs r0, 0x1
|
|
str r0, [r1, 0x4]
|
|
movs r5, 0x1F
|
|
b _08038820
|
|
_080387F4:
|
|
bl sub_8035D4C
|
|
adds r0, 0x3A
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0803880A
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0x4]
|
|
movs r5, 0x35
|
|
b _08038820
|
|
_0803880A:
|
|
ldr r0, [r4]
|
|
movs r1, 0x1
|
|
str r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
movs r5, 0xB
|
|
cmp r0, 0x2B
|
|
bne _08038820
|
|
movs r5, 0xD
|
|
b _08038820
|
|
_0803881C:
|
|
ldr r0, [r6]
|
|
str r4, [r0, 0x4]
|
|
_08038820:
|
|
bl sub_80388C4
|
|
_08038824:
|
|
adds r0, r5, 0
|
|
_08038826:
|
|
add sp, 0x18
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8038630
|
|
|
|
thumb_func_start sub_8038830
|
|
sub_8038830:
|
|
push {r4,r5,lr}
|
|
movs r5, 0
|
|
ldr r0, _080388A4
|
|
ldr r0, [r0]
|
|
mov r12, r0
|
|
movs r3, 0xD4
|
|
lsls r3, 1
|
|
add r3, r12
|
|
ldrh r1, [r3]
|
|
ldr r0, _080388A8
|
|
ands r0, r1
|
|
ldr r1, _080388AC
|
|
ands r0, r1
|
|
ldr r4, _080388B0
|
|
ands r0, r4
|
|
ldr r1, _080388B4
|
|
ands r0, r1
|
|
ldr r1, _080388B8
|
|
ands r0, r1
|
|
movs r2, 0x80
|
|
lsls r2, 7
|
|
ldr r1, _080388BC
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strh r0, [r3]
|
|
movs r2, 0xFC
|
|
lsls r2, 2
|
|
ldrh r1, [r3, 0x4]
|
|
movs r0, 0xFC
|
|
lsls r0, 8
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
ands r0, r4
|
|
movs r2, 0xF
|
|
movs r4, 0xF0
|
|
lsls r4, 8
|
|
ldr r1, _080388C0
|
|
ands r0, r1
|
|
orrs r0, r4
|
|
strh r0, [r3, 0x4]
|
|
movs r0, 0x70
|
|
strh r0, [r3, 0x2]
|
|
movs r1, 0xD0
|
|
lsls r1, 3
|
|
ldrh r0, [r3, 0x6]
|
|
ands r2, r0
|
|
orrs r2, r1
|
|
strh r2, [r3, 0x6]
|
|
movs r0, 0xD8
|
|
lsls r0, 1
|
|
add r0, r12
|
|
str r5, [r0]
|
|
movs r0, 0
|
|
bl ResetSprites
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080388A4: .4byte gUnknown_203B364
|
|
_080388A8: .4byte 0x0000feff
|
|
_080388AC: .4byte 0x0000fdff
|
|
_080388B0: .4byte 0x0000f3ff
|
|
_080388B4: .4byte 0x0000efff
|
|
_080388B8: .4byte 0x0000dfff
|
|
_080388BC: .4byte 0x00003fff
|
|
_080388C0: .4byte 0x00000fff
|
|
thumb_func_end sub_8038830
|
|
|
|
thumb_func_start sub_80388C4
|
|
sub_80388C4:
|
|
push {r4,r5,lr}
|
|
ldr r5, _080388FC
|
|
ldr r2, [r5]
|
|
movs r4, 0xD8
|
|
lsls r4, 1
|
|
adds r0, r2, r4
|
|
ldr r0, [r0]
|
|
movs r1, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080388EA
|
|
movs r1, 0xD4
|
|
lsls r1, 1
|
|
adds r0, r2, r1
|
|
subs r1, 0xA8
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl AddSprite
|
|
_080388EA:
|
|
ldr r1, [r5]
|
|
adds r1, r4
|
|
ldr r0, [r1]
|
|
adds r0, 0x1
|
|
str r0, [r1]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080388FC: .4byte gUnknown_203B364
|
|
thumb_func_end sub_80388C4
|
|
|
|
thumb_func_start sub_8038900
|
|
sub_8038900:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
adds r6, r0, 0
|
|
ldr r5, _080389B8
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
bne _0803892A
|
|
movs r4, 0x85
|
|
lsls r4, 2
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl MemoryFill8
|
|
_0803892A:
|
|
movs r0, 0x1B
|
|
negs r0, r0
|
|
adds r0, r6
|
|
mov r8, r0
|
|
mov r12, r5
|
|
movs r1, 0xA4
|
|
lsls r1, 1
|
|
mov r9, r1
|
|
ldr r4, _080389BC
|
|
mov r10, r4
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_08038942:
|
|
mov r5, r12
|
|
ldr r1, [r5]
|
|
adds r1, r3
|
|
add r1, r9
|
|
mov r0, r10
|
|
ldm r0!, {r4,r5,r7}
|
|
stm r1!, {r4,r5,r7}
|
|
ldm r0!, {r4,r5,r7}
|
|
stm r1!, {r4,r5,r7}
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _08038942
|
|
bl sub_8004914
|
|
ldr r4, _080389B8
|
|
ldr r0, [r4]
|
|
movs r7, 0xA4
|
|
lsls r7, 1
|
|
adds r0, r7
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r2, _080389C0
|
|
ldrb r0, [r2]
|
|
cmp r0, 0
|
|
bne _08038986
|
|
ldr r0, _080389C4
|
|
ldr r1, [r0]
|
|
adds r7, r4, 0
|
|
adds r5, r0, 0
|
|
cmp r1, r6
|
|
beq _080389A0
|
|
_08038986:
|
|
adds r7, r4, 0
|
|
adds r3, r2, 0
|
|
ldr r5, _080389C4
|
|
ldr r1, _080389C8
|
|
movs r2, 0
|
|
adds r0, r1, 0
|
|
adds r0, 0x35
|
|
_08038994:
|
|
strb r2, [r0]
|
|
subs r0, 0x1
|
|
cmp r0, r1
|
|
bge _08038994
|
|
movs r0, 0
|
|
strb r0, [r3]
|
|
_080389A0:
|
|
ldr r0, [r7]
|
|
str r6, [r0]
|
|
str r6, [r5]
|
|
mov r0, r8
|
|
cmp r0, 0x7
|
|
bhi _08038A36
|
|
lsls r0, 2
|
|
ldr r1, _080389CC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080389B8: .4byte gUnknown_203B370
|
|
_080389BC: .4byte gUnknown_80E71E4
|
|
_080389C0: .4byte gUnknown_203B368
|
|
_080389C4: .4byte gUnknown_203B36C
|
|
_080389C8: .4byte gUnknown_202EC50
|
|
_080389CC: .4byte _080389D0
|
|
.align 2, 0
|
|
_080389D0:
|
|
.4byte _080389F0
|
|
.4byte _080389FC
|
|
.4byte _080389F0
|
|
.4byte _080389FC
|
|
.4byte _080389F0
|
|
.4byte _080389FC
|
|
.4byte _08038A0C
|
|
.4byte _08038A2E
|
|
_080389F0:
|
|
bl sub_8035D74
|
|
movs r1, 0
|
|
bl sub_8031D70
|
|
b _08038A36
|
|
_080389FC:
|
|
ldr r1, _08038A08
|
|
movs r0, 0x4
|
|
bl sub_80151C0
|
|
b _08038A36
|
|
.align 2, 0
|
|
_08038A08: .4byte gUnknown_202EC50
|
|
_08038A0C:
|
|
movs r0, 0x1F
|
|
bl sub_8095228
|
|
adds r4, r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
movs r1, 0
|
|
movs r0, 0x2
|
|
strb r0, [r4]
|
|
adds r4, 0x22
|
|
strb r1, [r4]
|
|
movs r0, 0x1F
|
|
bl sub_8031D70
|
|
b _08038A36
|
|
_08038A2E:
|
|
ldr r1, _08038A54
|
|
movs r0, 0x4
|
|
bl sub_80151C0
|
|
_08038A36:
|
|
adds r0, r6, 0
|
|
bl sub_8039000
|
|
ldr r1, _08038A58
|
|
ldr r1, [r1]
|
|
str r0, [r1, 0x4]
|
|
bl sub_8039174
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08038A54: .4byte gUnknown_202EC50
|
|
_08038A58: .4byte gUnknown_203B370
|
|
thumb_func_end sub_8038900
|
|
|
|
thumb_func_start sub_8038A5C
|
|
sub_8038A5C:
|
|
push {r4,lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, _08038A8C
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _08038A86
|
|
bl sub_80155F0
|
|
bl sub_8031E10
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_08038A86:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08038A8C: .4byte gUnknown_203B370
|
|
thumb_func_end sub_8038A5C
|
|
|
|
thumb_func_start sub_8038A90
|
|
sub_8038A90:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x34
|
|
movs r0, 0xB
|
|
str r0, [sp, 0x30]
|
|
ldr r5, _08038AB4
|
|
ldr r1, _08038AB8
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x4]
|
|
adds r6, r1, 0
|
|
cmp r0, 0x9
|
|
bls _08038AA8
|
|
b _08038DB0
|
|
_08038AA8:
|
|
lsls r0, 2
|
|
ldr r1, _08038ABC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08038AB4: .4byte 0x0000ffdc
|
|
_08038AB8: .4byte gUnknown_203B370
|
|
_08038ABC: .4byte _08038AC0
|
|
.align 2, 0
|
|
_08038AC0:
|
|
.4byte _08038AE8
|
|
.4byte _08038AFC
|
|
.4byte _08038AE8
|
|
.4byte _08038AFC
|
|
.4byte _08038AE8
|
|
.4byte _08038AFC
|
|
.4byte _08038C78
|
|
.4byte _08038C8C
|
|
.4byte _08038CC2
|
|
.4byte _08038D38
|
|
_08038AE8:
|
|
bl sub_8031DCC
|
|
ldr r5, _08038AF8
|
|
cmp r0, 0
|
|
bne _08038AF4
|
|
b _08038DB0
|
|
_08038AF4:
|
|
movs r5, 0xB
|
|
b _08038DB0
|
|
.align 2, 0
|
|
_08038AF8: .4byte 0x0000ffdc
|
|
_08038AFC:
|
|
bl sub_80154F0
|
|
adds r4, r0, 0
|
|
mov r0, sp
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
cmp r4, 0x1
|
|
bne _08038B12
|
|
b _08038CBC
|
|
_08038B12:
|
|
cmp r4, 0x1
|
|
bcs _08038B18
|
|
b _08038CB0
|
|
_08038B18:
|
|
cmp r4, 0x2
|
|
beq _08038AF4
|
|
cmp r4, 0x3
|
|
beq _08038B22
|
|
b _08038DB0
|
|
_08038B22:
|
|
ldr r0, _08038B44
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
ldr r1, _08038B48
|
|
mov r2, sp
|
|
bl sub_8039068
|
|
subs r0, 0x7
|
|
cmp r0, 0x11
|
|
bls _08038B38
|
|
b _08038DB0
|
|
_08038B38:
|
|
lsls r0, 2
|
|
ldr r1, _08038B4C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08038B44: .4byte gUnknown_203B370
|
|
_08038B48: .4byte gUnknown_202EC50
|
|
_08038B4C: .4byte _08038B50
|
|
.align 2, 0
|
|
_08038B50:
|
|
.4byte _08038BA4
|
|
.4byte _08038DB0
|
|
.4byte _08038BD8
|
|
.4byte _08038DB0
|
|
.4byte _08038C28
|
|
.4byte _08038DB0
|
|
.4byte _08038B9C
|
|
.4byte _08038DB0
|
|
.4byte _08038DB0
|
|
.4byte _08038DB0
|
|
.4byte _08038B98
|
|
.4byte _08038BA0
|
|
.4byte _08038BD4
|
|
.4byte _08038C24
|
|
.4byte _08038DB0
|
|
.4byte _08038BA8
|
|
.4byte _08038BDC
|
|
.4byte _08038C2C
|
|
_08038B98:
|
|
movs r0, 0x11
|
|
b _08038CA4
|
|
_08038B9C:
|
|
movs r0, 0xD
|
|
b _08038CA4
|
|
_08038BA0:
|
|
movs r0, 0x12
|
|
b _08038CA4
|
|
_08038BA4:
|
|
movs r0, 0x7
|
|
b _08038CA4
|
|
_08038BA8:
|
|
ldr r0, [sp, 0x10]
|
|
bl sub_8095274
|
|
bl sub_8038F98
|
|
ldr r0, _08038BCC
|
|
ldr r1, [r0]
|
|
movs r0, 0x9
|
|
str r0, [r1, 0x4]
|
|
ldr r5, _08038BD0
|
|
mov r1, sp
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
mov r0, sp
|
|
bl sub_80951BC
|
|
b _08038DB0
|
|
.align 2, 0
|
|
_08038BCC: .4byte gUnknown_203B370
|
|
_08038BD0: .4byte 0x0000ffdc
|
|
_08038BD4:
|
|
movs r0, 0x13
|
|
b _08038CA4
|
|
_08038BD8:
|
|
movs r0, 0x9
|
|
b _08038CA4
|
|
_08038BDC:
|
|
bl sub_8038F98
|
|
ldr r0, _08038C18
|
|
ldr r1, [r0]
|
|
movs r0, 0x9
|
|
str r0, [r1, 0x4]
|
|
ldr r5, _08038C1C
|
|
mov r1, sp
|
|
movs r0, 0x5
|
|
strb r0, [r1]
|
|
mov r0, sp
|
|
bl sub_80951FC
|
|
ldr r1, [sp, 0x10]
|
|
movs r0, 0x1
|
|
bl sub_809539C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8095228
|
|
movs r1, 0x7
|
|
strb r1, [r0]
|
|
ldr r0, _08038C20
|
|
movs r1, 0
|
|
movs r2, 0x5C
|
|
bl MemoryFill8
|
|
b _08038DB0
|
|
.align 2, 0
|
|
_08038C18: .4byte gUnknown_203B370
|
|
_08038C1C: .4byte 0x0000ffdc
|
|
_08038C20: .4byte gUnknown_203B484
|
|
_08038C24:
|
|
movs r0, 0x14
|
|
b _08038CA4
|
|
_08038C28:
|
|
movs r0, 0xB
|
|
b _08038CA4
|
|
_08038C2C:
|
|
bl sub_8038F98
|
|
ldr r0, _08038C70
|
|
ldr r1, [r0]
|
|
movs r0, 0x9
|
|
str r0, [r1, 0x4]
|
|
ldr r5, _08038C74
|
|
ldr r1, [sp, 0x10]
|
|
movs r0, 0x4
|
|
bl sub_809539C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8095228
|
|
adds r2, r0, 0
|
|
mov r1, sp
|
|
ldm r1!, {r3,r4,r6}
|
|
stm r2!, {r3,r4,r6}
|
|
ldm r1!, {r3,r4,r6}
|
|
stm r2!, {r3,r4,r6}
|
|
ldm r1!, {r3,r4,r6}
|
|
stm r2!, {r3,r4,r6}
|
|
ldm r1!, {r3,r4,r6}
|
|
stm r2!, {r3,r4,r6}
|
|
movs r1, 0x6
|
|
strb r1, [r0]
|
|
bl sub_8035D4C
|
|
adds r0, 0x3A
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
b _08038DB0
|
|
.align 2, 0
|
|
_08038C70: .4byte gUnknown_203B370
|
|
_08038C74: .4byte 0x0000ffdc
|
|
_08038C78:
|
|
bl sub_8031DCC
|
|
ldr r5, _08038C88
|
|
cmp r0, 0
|
|
bne _08038C84
|
|
b _08038DB0
|
|
_08038C84:
|
|
movs r5, 0xD
|
|
b _08038DB0
|
|
.align 2, 0
|
|
_08038C88: .4byte 0x0000ffdc
|
|
_08038C8C:
|
|
bl sub_80154F0
|
|
cmp r0, 0x1
|
|
beq _08038CBC
|
|
cmp r0, 0x1
|
|
bcc _08038CB0
|
|
cmp r0, 0x2
|
|
beq _08038C84
|
|
cmp r0, 0x3
|
|
beq _08038CA2
|
|
b _08038DB0
|
|
_08038CA2:
|
|
movs r0, 0x15
|
|
_08038CA4:
|
|
bl sub_8038DC0
|
|
ldr r0, _08038CB4
|
|
ldr r1, [r0]
|
|
movs r0, 0x8
|
|
str r0, [r1, 0x4]
|
|
_08038CB0:
|
|
ldr r5, _08038CB8
|
|
b _08038DB0
|
|
.align 2, 0
|
|
_08038CB4: .4byte gUnknown_203B370
|
|
_08038CB8: .4byte 0x0000ffdc
|
|
_08038CBC:
|
|
bl sub_8031E00
|
|
b _08038CB0
|
|
_08038CC2:
|
|
ldr r0, [r6]
|
|
adds r0, 0x8
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08038CDA
|
|
ldr r0, [r6]
|
|
adds r0, 0x8
|
|
add r1, sp, 0x30
|
|
bl sub_8013114
|
|
_08038CDA:
|
|
ldr r0, [sp, 0x30]
|
|
cmp r0, 0xB
|
|
beq _08038D24
|
|
cmp r0, 0xB
|
|
bhi _08038CEA
|
|
cmp r0, 0xA
|
|
beq _08038CEE
|
|
b _08038DB0
|
|
_08038CEA:
|
|
cmp r0, 0xC
|
|
bne _08038DB0
|
|
_08038CEE:
|
|
bl sub_8039174
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r1, _08038D1C
|
|
movs r0, 0x4
|
|
bl sub_80151C0
|
|
ldr r0, _08038D20
|
|
ldr r1, [r0]
|
|
movs r0, 0x8
|
|
str r0, [r1, 0x4]
|
|
ldr r0, [r1]
|
|
subs r0, 0x21
|
|
movs r5, 0xB
|
|
cmp r0, 0x1
|
|
bhi _08038DB0
|
|
b _08038C84
|
|
.align 2, 0
|
|
_08038D1C: .4byte gUnknown_202EC50
|
|
_08038D20: .4byte gUnknown_203B370
|
|
_08038D24:
|
|
ldr r1, [r6]
|
|
movs r0, 0x8
|
|
str r0, [r1, 0x4]
|
|
ldr r5, _08038D34
|
|
bl sub_80391F8
|
|
b _08038DB0
|
|
.align 2, 0
|
|
_08038D34: .4byte 0x0000ffdc
|
|
_08038D38:
|
|
adds r4, r6, 0
|
|
ldr r0, [r4]
|
|
adds r0, 0x8
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08038D52
|
|
ldr r0, [r4]
|
|
adds r0, 0x8
|
|
add r1, sp, 0x30
|
|
bl sub_8013114
|
|
_08038D52:
|
|
ldr r0, [sp, 0x30]
|
|
cmp r0, 0xB
|
|
beq _08038DA4
|
|
cmp r0, 0xB
|
|
bhi _08038D62
|
|
cmp r0, 0xA
|
|
beq _08038D66
|
|
b _08038DB0
|
|
_08038D62:
|
|
cmp r0, 0xC
|
|
bne _08038DB0
|
|
_08038D66:
|
|
bl sub_8039174
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r1, _08038D9C
|
|
movs r0, 0x4
|
|
bl sub_80151C0
|
|
ldr r4, _08038DA0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl sub_8039000
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x4]
|
|
ldr r0, [r1]
|
|
subs r0, 0x21
|
|
movs r5, 0x2A
|
|
cmp r0, 0x1
|
|
bhi _08038DB0
|
|
movs r5, 0x2B
|
|
b _08038DB0
|
|
.align 2, 0
|
|
_08038D9C: .4byte gUnknown_202EC50
|
|
_08038DA0: .4byte gUnknown_203B370
|
|
_08038DA4:
|
|
ldr r1, [r6]
|
|
movs r0, 0x9
|
|
str r0, [r1, 0x4]
|
|
ldr r5, _08038DBC
|
|
bl sub_80391F8
|
|
_08038DB0:
|
|
adds r0, r5, 0
|
|
add sp, 0x34
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08038DBC: .4byte 0x0000ffdc
|
|
thumb_func_end sub_8038A90
|
|
|
|
thumb_func_start sub_8038DC0
|
|
sub_8038DC0:
|
|
push {r4,lr}
|
|
sub sp, 0x10
|
|
adds r4, r0, 0
|
|
ldr r0, _08038DF8
|
|
ldr r0, [r0]
|
|
movs r1, 0xD4
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
bl sub_80155F0
|
|
subs r0, r4, 0x7
|
|
cmp r0, 0xE
|
|
bls _08038DEE
|
|
b _08038F74
|
|
_08038DEE:
|
|
lsls r0, 2
|
|
ldr r1, _08038DFC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08038DF8: .4byte gUnknown_203B370
|
|
_08038DFC: .4byte _08038E00
|
|
.align 2, 0
|
|
_08038E00:
|
|
.4byte _08038E7C
|
|
.4byte _08038F74
|
|
.4byte _08038EDC
|
|
.4byte _08038F74
|
|
.4byte _08038F1C
|
|
.4byte _08038F74
|
|
.4byte _08038E9C
|
|
.4byte _08038F74
|
|
.4byte _08038F74
|
|
.4byte _08038F74
|
|
.4byte _08038E3C
|
|
.4byte _08038E5C
|
|
.4byte _08038EBC
|
|
.4byte _08038EFC
|
|
.4byte _08038F50
|
|
_08038E3C:
|
|
ldr r0, _08038E50
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
movs r2, 0xA4
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08038E54
|
|
ldr r2, _08038E58
|
|
b _08038F2E
|
|
.align 2, 0
|
|
_08038E50: .4byte gUnknown_203B370
|
|
_08038E54: .4byte gUnknown_80E71FC
|
|
_08038E58: .4byte gUnknown_80E7214
|
|
_08038E5C:
|
|
ldr r0, _08038E70
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
movs r2, 0xA4
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08038E74
|
|
ldr r2, _08038E78
|
|
b _08038F2E
|
|
.align 2, 0
|
|
_08038E70: .4byte gUnknown_203B370
|
|
_08038E74: .4byte gUnknown_80E72EC
|
|
_08038E78: .4byte gUnknown_80E7304
|
|
_08038E7C:
|
|
ldr r0, _08038E90
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
movs r2, 0xA4
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08038E94
|
|
ldr r2, _08038E98
|
|
b _08038F2E
|
|
.align 2, 0
|
|
_08038E90: .4byte gUnknown_203B370
|
|
_08038E94: .4byte gUnknown_80E7344
|
|
_08038E98: .4byte gUnknown_80E735C
|
|
_08038E9C:
|
|
ldr r0, _08038EB0
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
movs r2, 0xA4
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08038EB4
|
|
ldr r2, _08038EB8
|
|
b _08038F2E
|
|
.align 2, 0
|
|
_08038EB0: .4byte gUnknown_203B370
|
|
_08038EB4: .4byte gUnknown_80E7588
|
|
_08038EB8: .4byte gUnknown_80E75A0
|
|
_08038EBC:
|
|
ldr r0, _08038ED0
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
movs r2, 0xA4
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08038ED4
|
|
ldr r2, _08038ED8
|
|
b _08038F2E
|
|
.align 2, 0
|
|
_08038ED0: .4byte gUnknown_203B370
|
|
_08038ED4: .4byte gUnknown_80E73AC
|
|
_08038ED8: .4byte gUnknown_80E73C4
|
|
_08038EDC:
|
|
ldr r0, _08038EF0
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
movs r2, 0xA4
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08038EF4
|
|
ldr r2, _08038EF8
|
|
b _08038F2E
|
|
.align 2, 0
|
|
_08038EF0: .4byte gUnknown_203B370
|
|
_08038EF4: .4byte gUnknown_80E7408
|
|
_08038EF8: .4byte gUnknown_80E7420
|
|
_08038EFC:
|
|
ldr r0, _08038F10
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
movs r2, 0xA4
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08038F14
|
|
ldr r2, _08038F18
|
|
b _08038F2E
|
|
.align 2, 0
|
|
_08038F10: .4byte gUnknown_203B370
|
|
_08038F14: .4byte gUnknown_80E7468
|
|
_08038F18: .4byte gUnknown_80E7480
|
|
_08038F1C:
|
|
ldr r0, _08038F44
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
movs r2, 0xA4
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08038F48
|
|
ldr r2, _08038F4C
|
|
_08038F2E:
|
|
str r2, [sp]
|
|
movs r4, 0
|
|
str r4, [sp, 0x4]
|
|
movs r2, 0xD
|
|
str r2, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
movs r2, 0
|
|
bl SetMenuItems
|
|
b _08038F74
|
|
.align 2, 0
|
|
_08038F44: .4byte gUnknown_203B370
|
|
_08038F48: .4byte gUnknown_80E74C8
|
|
_08038F4C: .4byte gUnknown_80E74E0
|
|
_08038F50:
|
|
ldr r0, _08038F8C
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
movs r2, 0xA4
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08038F90
|
|
ldr r2, _08038F94
|
|
str r2, [sp]
|
|
movs r4, 0
|
|
str r4, [sp, 0x4]
|
|
movs r2, 0xD
|
|
str r2, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
movs r2, 0
|
|
bl SetMenuItems
|
|
_08038F74:
|
|
ldr r0, _08038F8C
|
|
ldr r0, [r0]
|
|
adds r0, 0x8
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
add sp, 0x10
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08038F8C: .4byte gUnknown_203B370
|
|
_08038F90: .4byte gUnknown_80E752C
|
|
_08038F94: .4byte gUnknown_80E7544
|
|
thumb_func_end sub_8038DC0
|
|
|
|
thumb_func_start sub_8038F98
|
|
sub_8038F98:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x10
|
|
ldr r5, _08038FF4
|
|
ldr r0, [r5]
|
|
movs r1, 0xD4
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
bl sub_80155F0
|
|
ldr r1, [r5]
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
movs r2, 0xA4
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
ldr r3, _08038FF8
|
|
ldr r2, _08038FFC
|
|
str r2, [sp]
|
|
movs r4, 0
|
|
str r4, [sp, 0x4]
|
|
movs r2, 0xD
|
|
str r2, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
movs r2, 0
|
|
bl SetMenuItems
|
|
ldr r0, [r5]
|
|
adds r0, 0x8
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
add sp, 0x10
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08038FF4: .4byte gUnknown_203B370
|
|
_08038FF8: .4byte gUnknown_80E7278
|
|
_08038FFC: .4byte gUnknown_80E7290
|
|
thumb_func_end sub_8038F98
|
|
|
|
thumb_func_start sub_8039000
|
|
sub_8039000:
|
|
push {lr}
|
|
movs r1, 0xB
|
|
ldr r0, _0803901C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
subs r0, 0x1B
|
|
cmp r0, 0x7
|
|
bhi _08039062
|
|
lsls r0, 2
|
|
ldr r1, _08039020
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803901C: .4byte gUnknown_203B370
|
|
_08039020: .4byte _08039024
|
|
.align 2, 0
|
|
_08039024:
|
|
.4byte _08039044
|
|
.4byte _08039054
|
|
.4byte _0803904C
|
|
.4byte _0803905C
|
|
.4byte _08039048
|
|
.4byte _08039058
|
|
.4byte _08039050
|
|
.4byte _08039060
|
|
_08039044:
|
|
movs r1, 0
|
|
b _08039062
|
|
_08039048:
|
|
movs r1, 0x4
|
|
b _08039062
|
|
_0803904C:
|
|
movs r1, 0x2
|
|
b _08039062
|
|
_08039050:
|
|
movs r1, 0x6
|
|
b _08039062
|
|
_08039054:
|
|
movs r1, 0x1
|
|
b _08039062
|
|
_08039058:
|
|
movs r1, 0x5
|
|
b _08039062
|
|
_0803905C:
|
|
movs r1, 0x3
|
|
b _08039062
|
|
_08039060:
|
|
movs r1, 0x7
|
|
_08039062:
|
|
adds r0, r1, 0
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8039000
|
|
|
|
thumb_func_start sub_8039068
|
|
sub_8039068:
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
adds r0, r1, 0
|
|
adds r5, r2, 0
|
|
adds r1, r5, 0
|
|
bl sub_803D204
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080390AC
|
|
ldrb r0, [r5]
|
|
cmp r0, 0x7
|
|
bhi _080390AC
|
|
ldrb r4, [r5, 0x5]
|
|
ldrb r0, [r5, 0x4]
|
|
bl sub_8090298
|
|
cmp r4, r0
|
|
bge _080390AC
|
|
movs r0, 0xC
|
|
ldrsh r1, [r5, r0]
|
|
cmp r1, 0
|
|
beq _080390AC
|
|
ldr r0, _080390B0
|
|
cmp r1, r0
|
|
bgt _080390AC
|
|
adds r0, r5, 0
|
|
adds r0, 0x22
|
|
ldrb r0, [r0]
|
|
bl sub_8092040
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080390B4
|
|
_080390AC:
|
|
movs r0, 0x11
|
|
b _0803916E
|
|
.align 2, 0
|
|
_080390B0: .4byte 0x000001a7
|
|
_080390B4:
|
|
cmp r6, 0x1E
|
|
beq _08039120
|
|
cmp r6, 0x1E
|
|
bhi _080390C2
|
|
cmp r6, 0x1C
|
|
beq _080390C8
|
|
b _0803916A
|
|
_080390C2:
|
|
cmp r6, 0x20
|
|
beq _08039140
|
|
b _0803916A
|
|
_080390C8:
|
|
ldrb r0, [r5]
|
|
cmp r0, 0x1
|
|
beq _080390D2
|
|
movs r0, 0x12
|
|
b _0803916E
|
|
_080390D2:
|
|
ldr r1, [r5, 0x10]
|
|
movs r0, 0x2
|
|
bl sub_80952F0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08039108
|
|
ldr r1, [r5, 0x10]
|
|
movs r0, 0x4
|
|
bl sub_80952F0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08039108
|
|
ldr r1, [r5, 0x10]
|
|
movs r0, 0x6
|
|
bl sub_80952F0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08039108
|
|
ldr r0, [r5, 0x10]
|
|
bl sub_8095298
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803910C
|
|
_08039108:
|
|
movs r0, 0x7
|
|
b _0803916E
|
|
_0803910C:
|
|
bl sub_8095190
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
bne _0803911C
|
|
movs r0, 0xD
|
|
b _0803916E
|
|
_0803911C:
|
|
movs r0, 0x16
|
|
b _0803916E
|
|
_08039120:
|
|
ldrb r0, [r5]
|
|
cmp r0, 0x4
|
|
beq _0803912A
|
|
movs r0, 0x13
|
|
b _0803916E
|
|
_0803912A:
|
|
ldr r1, [r5, 0x10]
|
|
movs r0, 0x1
|
|
bl sub_80952F0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0803913C
|
|
movs r0, 0x9
|
|
b _0803916E
|
|
_0803913C:
|
|
movs r0, 0x17
|
|
b _0803916E
|
|
_08039140:
|
|
ldrb r0, [r5]
|
|
cmp r0, 0x5
|
|
beq _0803914A
|
|
movs r0, 0x14
|
|
b _0803916E
|
|
_0803914A:
|
|
ldr r1, [r5, 0x10]
|
|
movs r0, 0x4
|
|
bl sub_80952F0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08039162
|
|
bl sub_8011C34
|
|
ldr r1, [r5, 0x28]
|
|
cmp r1, r0
|
|
beq _08039166
|
|
_08039162:
|
|
movs r0, 0xB
|
|
b _0803916E
|
|
_08039166:
|
|
movs r0, 0x18
|
|
b _0803916E
|
|
_0803916A:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_0803916E:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8039068
|
|
|
|
thumb_func_start sub_8039174
|
|
sub_8039174:
|
|
push {r4,lr}
|
|
ldr r0, _080391D8
|
|
ldr r3, [r0]
|
|
movs r0, 0x82
|
|
lsls r0, 2
|
|
adds r3, r0
|
|
ldrh r1, [r3]
|
|
ldr r0, _080391DC
|
|
ands r0, r1
|
|
ldr r1, _080391E0
|
|
ands r0, r1
|
|
ldr r4, _080391E4
|
|
ands r0, r4
|
|
ldr r1, _080391E8
|
|
ands r0, r1
|
|
ldr r1, _080391EC
|
|
ands r0, r1
|
|
movs r2, 0x80
|
|
lsls r2, 7
|
|
ldr r1, _080391F0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strh r0, [r3]
|
|
movs r2, 0xFC
|
|
lsls r2, 2
|
|
ldrh r1, [r3, 0x4]
|
|
movs r0, 0xFC
|
|
lsls r0, 8
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
ands r0, r4
|
|
movs r2, 0xF
|
|
movs r4, 0xF0
|
|
lsls r4, 8
|
|
ldr r1, _080391F4
|
|
ands r0, r1
|
|
orrs r0, r4
|
|
strh r0, [r3, 0x4]
|
|
movs r0, 0
|
|
strh r0, [r3, 0x2]
|
|
movs r1, 0xC0
|
|
lsls r1, 4
|
|
ldrh r0, [r3, 0x6]
|
|
ands r2, r0
|
|
orrs r2, r1
|
|
strh r2, [r3, 0x6]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080391D8: .4byte gUnknown_203B370
|
|
_080391DC: .4byte 0x0000feff
|
|
_080391E0: .4byte 0x0000fdff
|
|
_080391E4: .4byte 0x0000f3ff
|
|
_080391E8: .4byte 0x0000efff
|
|
_080391EC: .4byte 0x0000dfff
|
|
_080391F0: .4byte 0x00003fff
|
|
_080391F4: .4byte 0x00000fff
|
|
thumb_func_end sub_8039174
|
|
|
|
thumb_func_start sub_80391F8
|
|
sub_80391F8:
|
|
push {r4-r6,lr}
|
|
ldr r6, _08039250
|
|
ldr r2, [r6]
|
|
movs r0, 0x82
|
|
lsls r0, 2
|
|
adds r4, r2, r0
|
|
ldrh r1, [r4, 0x2]
|
|
movs r0, 0xFE
|
|
lsls r0, 8
|
|
ands r0, r1
|
|
movs r1, 0x70
|
|
orrs r0, r1
|
|
strh r0, [r4, 0x2]
|
|
movs r3, 0xE0
|
|
lsls r3, 3
|
|
ldrh r1, [r4, 0x6]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
orrs r0, r3
|
|
strh r0, [r4, 0x6]
|
|
movs r5, 0x84
|
|
lsls r5, 2
|
|
adds r2, r5
|
|
ldr r0, [r2]
|
|
movs r1, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0803923C
|
|
adds r1, 0xF8
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl AddSprite
|
|
_0803923C:
|
|
bl xxx_draw_string_80144C4
|
|
ldr r1, [r6]
|
|
adds r1, r5
|
|
ldr r0, [r1]
|
|
adds r0, 0x1
|
|
str r0, [r1]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08039250: .4byte gUnknown_203B370
|
|
thumb_func_end sub_80391F8
|
|
|
|
thumb_func_start sub_8039254
|
|
sub_8039254:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x10
|
|
adds r6, r0, 0
|
|
ldr r5, _080392EC
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
bne _0803927C
|
|
movs r4, 0x9F
|
|
lsls r4, 2
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl MemoryFill8
|
|
_0803927C:
|
|
ldr r0, [r5]
|
|
str r6, [r0]
|
|
mov r12, r5
|
|
movs r0, 0xA2
|
|
lsls r0, 1
|
|
mov r8, r0
|
|
ldr r4, _080392F0
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_0803928E:
|
|
mov r5, r12
|
|
ldr r1, [r5]
|
|
adds r1, r3
|
|
add r1, r8
|
|
adds r0, r4, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _0803928E
|
|
bl sub_8004914
|
|
ldr r6, _080392EC
|
|
ldr r0, [r6]
|
|
movs r5, 0xA2
|
|
lsls r5, 1
|
|
adds r0, r5
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r1, [r6]
|
|
adds r0, r1, 0x4
|
|
adds r1, r5
|
|
ldr r3, _080392F4
|
|
ldr r2, _080392F8
|
|
str r2, [sp]
|
|
movs r4, 0
|
|
str r4, [sp, 0x4]
|
|
movs r7, 0x6
|
|
str r7, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
movs r2, 0
|
|
bl SetMenuItems
|
|
ldr r1, [r6]
|
|
ldr r0, [r1]
|
|
cmp r0, 0x7
|
|
beq _08039306
|
|
cmp r0, 0x7
|
|
bhi _080392FC
|
|
cmp r0, 0x6
|
|
beq _08039338
|
|
b _08039382
|
|
.align 2, 0
|
|
_080392EC: .4byte gUnknown_203B374
|
|
_080392F0: .4byte gUnknown_80E75F8
|
|
_080392F4: .4byte gUnknown_80E7610
|
|
_080392F8: .4byte gUnknown_203B378
|
|
_080392FC:
|
|
cmp r0, 0x8
|
|
beq _0803934C
|
|
cmp r0, 0x9
|
|
beq _0803936C
|
|
b _08039382
|
|
_08039306:
|
|
bl sub_8039844
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08039324
|
|
ldr r1, [r6]
|
|
adds r0, r1, 0x4
|
|
adds r1, r5
|
|
ldr r3, _0803931C
|
|
ldr r2, _08039320
|
|
b _08039354
|
|
.align 2, 0
|
|
_0803931C: .4byte gUnknown_80E762C
|
|
_08039320: .4byte gUnknown_80E7644
|
|
_08039324:
|
|
ldr r1, [r6]
|
|
adds r0, r1, 0x4
|
|
adds r1, r5
|
|
ldr r3, _08039330
|
|
ldr r2, _08039334
|
|
b _08039354
|
|
.align 2, 0
|
|
_08039330: .4byte gUnknown_80E762C
|
|
_08039334: .4byte gUnknown_80E7684
|
|
_08039338:
|
|
adds r0, r1, 0x4
|
|
adds r1, r5
|
|
ldr r3, _08039344
|
|
ldr r2, _08039348
|
|
b _08039354
|
|
.align 2, 0
|
|
_08039344: .4byte gUnknown_80E762C
|
|
_08039348: .4byte gUnknown_80E76B8
|
|
_0803934C:
|
|
adds r0, r1, 0x4
|
|
adds r1, r5
|
|
ldr r3, _08039364
|
|
ldr r2, _08039368
|
|
_08039354:
|
|
str r2, [sp]
|
|
str r4, [sp, 0x4]
|
|
str r7, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
movs r2, 0x1
|
|
bl SetMenuItems
|
|
b _08039382
|
|
.align 2, 0
|
|
_08039364: .4byte gUnknown_80E762C
|
|
_08039368: .4byte gUnknown_80E76E8
|
|
_0803936C:
|
|
adds r0, r1, 0x4
|
|
adds r1, r5
|
|
ldr r3, _080393DC
|
|
ldr r2, _080393E0
|
|
str r2, [sp]
|
|
str r4, [sp, 0x4]
|
|
str r7, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
movs r2, 0x1
|
|
bl SetMenuItems
|
|
_08039382:
|
|
ldr r4, _080393E4
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0x4
|
|
movs r6, 0xA2
|
|
lsls r6, 1
|
|
adds r1, r6
|
|
ldr r3, _080393E8
|
|
ldr r2, _080393EC
|
|
str r2, [sp]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x8]
|
|
movs r2, 0
|
|
str r2, [sp, 0xC]
|
|
movs r2, 0x2
|
|
bl SetMenuItems
|
|
ldr r0, [r4]
|
|
adds r0, 0x4
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_8035CF4
|
|
ldr r0, [r4]
|
|
adds r0, 0x4
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_8035CF4
|
|
ldr r0, [r4]
|
|
adds r0, 0x4
|
|
movs r1, 0x2
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
bl sub_80394A4
|
|
add sp, 0x10
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080393DC: .4byte gUnknown_80E762C
|
|
_080393E0: .4byte gUnknown_80E7730
|
|
_080393E4: .4byte gUnknown_203B374
|
|
_080393E8: .4byte gUnknown_80E7784
|
|
_080393EC: .4byte gUnknown_80E779C
|
|
thumb_func_end sub_8039254
|
|
|
|
thumb_func_start sub_80393F0
|
|
sub_80393F0:
|
|
push {r4,lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, _08039418
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _08039410
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_08039410:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08039418: .4byte gUnknown_203B374
|
|
thumb_func_end sub_80393F0
|
|
|
|
thumb_func_start sub_803941C
|
|
sub_803941C:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r5, _08039458
|
|
movs r0, 0x4
|
|
str r0, [sp]
|
|
ldr r4, _0803945C
|
|
ldr r0, [r4]
|
|
adds r0, 0x54
|
|
bl sub_8012FD8
|
|
ldr r0, [r4]
|
|
adds r0, 0xA4
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08039448
|
|
ldr r0, [r4]
|
|
adds r0, 0xA4
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_08039448:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x3
|
|
bhi _08039498
|
|
cmp r0, 0x2
|
|
bcs _08039460
|
|
cmp r0, 0x1
|
|
beq _08039464
|
|
b _08039498
|
|
.align 2, 0
|
|
_08039458: .4byte 0x0000ffdc
|
|
_0803945C: .4byte gUnknown_203B374
|
|
_08039460:
|
|
movs r5, 0x1
|
|
b _08039498
|
|
_08039464:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x7
|
|
beq _08039480
|
|
cmp r0, 0x7
|
|
bhi _08039476
|
|
cmp r0, 0x6
|
|
beq _08039484
|
|
b _08039498
|
|
_08039476:
|
|
cmp r0, 0x8
|
|
beq _0803948E
|
|
cmp r0, 0x9
|
|
beq _08039492
|
|
b _08039498
|
|
_08039480:
|
|
movs r5, 0x2
|
|
b _08039498
|
|
_08039484:
|
|
movs r0, 0
|
|
bl sub_8095240
|
|
movs r5, 0x4
|
|
b _08039498
|
|
_0803948E:
|
|
movs r5, 0x9
|
|
b _08039498
|
|
_08039492:
|
|
bl sub_80122A8
|
|
movs r5, 0x2E
|
|
_08039498:
|
|
adds r0, r5, 0
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803941C
|
|
|
|
thumb_func_start sub_80394A4
|
|
sub_80394A4:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x150
|
|
bl sub_8011FA8
|
|
mov r8, r0
|
|
movs r0, 0
|
|
bl sub_8008C54
|
|
movs r0, 0
|
|
bl sub_80073B8
|
|
ldr r2, _0803952C
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
movs r0, 0x8
|
|
movs r1, 0
|
|
movs r3, 0
|
|
bl xxx_call_draw_string
|
|
ldr r2, _08039530
|
|
str r4, [sp]
|
|
movs r0, 0x8
|
|
movs r1, 0xC
|
|
movs r3, 0
|
|
bl xxx_call_draw_string
|
|
ldr r2, _08039534
|
|
str r4, [sp]
|
|
movs r0, 0x8
|
|
movs r1, 0x18
|
|
movs r3, 0
|
|
bl xxx_call_draw_string
|
|
ldr r2, _08039538
|
|
str r4, [sp]
|
|
movs r0, 0x8
|
|
movs r1, 0x24
|
|
movs r3, 0
|
|
bl xxx_call_draw_string
|
|
ldr r2, _0803953C
|
|
str r4, [sp]
|
|
movs r0, 0x8
|
|
movs r1, 0x30
|
|
movs r3, 0
|
|
bl xxx_call_draw_string
|
|
ldr r2, _08039540
|
|
str r4, [sp]
|
|
movs r0, 0x8
|
|
movs r1, 0x3C
|
|
movs r3, 0
|
|
bl xxx_call_draw_string
|
|
movs r0, 0
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08039544
|
|
add r4, sp, 0x68
|
|
adds r0, r4, 0
|
|
bl sub_80920D8
|
|
adds r2, r4, 0
|
|
b _0803954E
|
|
.align 2, 0
|
|
_0803952C: .4byte gUnknown_80E77BC
|
|
_08039530: .4byte gUnknown_80E77C4
|
|
_08039534: .4byte gUnknown_80E77CC
|
|
_08039538: .4byte gUnknown_80E77D8
|
|
_0803953C: .4byte gUnknown_80E77E4
|
|
_08039540: .4byte gUnknown_80E77F0
|
|
_08039544:
|
|
ldr r1, _08039588
|
|
add r0, sp, 0x68
|
|
bl strcpy
|
|
add r2, sp, 0x68
|
|
_0803954E:
|
|
ldr r5, _0803958C
|
|
ldr r0, [r5]
|
|
movs r4, 0xD2
|
|
lsls r4, 1
|
|
adds r0, r4
|
|
ldr r1, _08039590
|
|
bl sub_800D158
|
|
ldr r2, [r5]
|
|
adds r2, r4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x40
|
|
movs r1, 0
|
|
movs r3, 0
|
|
bl xxx_call_draw_string
|
|
bl sub_808D33C
|
|
cmp r0, 0
|
|
bne _08039598
|
|
add r4, sp, 0x90
|
|
ldr r1, _08039594
|
|
adds r0, r4, 0
|
|
movs r2, 0xA
|
|
bl sub_80922B4
|
|
b _080395A6
|
|
.align 2, 0
|
|
_08039588: .4byte gUnknown_80E77F8
|
|
_0803958C: .4byte gUnknown_203B374
|
|
_08039590: .4byte gUnknown_80E7804
|
|
_08039594: .4byte gUnknown_80E7808
|
|
_08039598:
|
|
add r4, sp, 0x90
|
|
adds r1, r0, 0
|
|
adds r1, 0x4C
|
|
adds r0, r4, 0
|
|
movs r2, 0xA
|
|
bl sub_80922B4
|
|
_080395A6:
|
|
adds r2, r4, 0
|
|
ldr r5, _080395F0
|
|
ldr r0, [r5]
|
|
movs r4, 0xE4
|
|
lsls r4, 1
|
|
adds r0, r4
|
|
ldr r6, _080395F4
|
|
adds r1, r6, 0
|
|
bl sub_800D158
|
|
ldr r2, [r5]
|
|
adds r2, r4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x40
|
|
movs r1, 0xC
|
|
movs r3, 0
|
|
bl xxx_call_draw_string
|
|
movs r0, 0x1
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
bne _080395E0
|
|
movs r0, 0x7
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
beq _08039606
|
|
_080395E0:
|
|
ldr r0, _080395F8
|
|
cmp r8, r0
|
|
bne _080395FC
|
|
ldr r4, [r5]
|
|
movs r0, 0xF6
|
|
lsls r0, 1
|
|
adds r4, r0
|
|
b _08039676
|
|
.align 2, 0
|
|
_080395F0: .4byte gUnknown_203B374
|
|
_080395F4: .4byte gUnknown_80E7804
|
|
_080395F8: .4byte 0x000f1207
|
|
_080395FC:
|
|
ldr r0, [r5]
|
|
movs r1, 0xF6
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
b _08039690
|
|
_08039606:
|
|
bl sub_8011C1C
|
|
cmp r0, 0x1
|
|
beq _08039624
|
|
cmp r0, 0x2
|
|
beq _08039668
|
|
ldr r0, [r5]
|
|
movs r2, 0xF6
|
|
lsls r2, 1
|
|
adds r0, r2
|
|
ldr r1, _08039620
|
|
b _08039692
|
|
.align 2, 0
|
|
_08039620: .4byte gUnknown_80E7824
|
|
_08039624:
|
|
movs r0, 0
|
|
movs r1, 0x18
|
|
bl sub_8001658
|
|
cmp r0, 0x7
|
|
beq _08039658
|
|
cmp r0, 0xB
|
|
beq _08039658
|
|
bl sub_8098FB4
|
|
adds r2, r0, 0
|
|
add r0, sp, 0x4
|
|
adds r1, r6, 0
|
|
bl sub_800D158
|
|
ldr r0, [r5]
|
|
movs r3, 0xF6
|
|
lsls r3, 1
|
|
adds r1, r0, r3
|
|
adds r3, 0x24
|
|
adds r2, r0, r3
|
|
add r0, sp, 0x4
|
|
movs r3, 0
|
|
bl xxx_format_string
|
|
b _08039696
|
|
_08039658:
|
|
ldr r0, _08039664
|
|
ldr r0, [r0]
|
|
movs r1, 0xF6
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
b _08039690
|
|
.align 2, 0
|
|
_08039664: .4byte gUnknown_203B374
|
|
_08039668:
|
|
ldr r0, _08039684
|
|
cmp r8, r0
|
|
bne _08039688
|
|
ldr r4, [r5]
|
|
movs r2, 0xF6
|
|
lsls r2, 1
|
|
adds r4, r2
|
|
_08039676:
|
|
bl sub_809769C
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl sub_8090228
|
|
b _08039696
|
|
.align 2, 0
|
|
_08039684: .4byte 0x000f1207
|
|
_08039688:
|
|
ldr r0, [r5]
|
|
movs r3, 0xF6
|
|
lsls r3, 1
|
|
adds r0, r3
|
|
_08039690:
|
|
ldr r1, _0803974C
|
|
_08039692:
|
|
bl sub_800D158
|
|
_08039696:
|
|
ldr r7, _08039750
|
|
ldr r2, [r7]
|
|
movs r0, 0xF6
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
movs r6, 0
|
|
str r6, [sp]
|
|
movs r0, 0x40
|
|
movs r1, 0x18
|
|
movs r3, 0
|
|
bl xxx_call_draw_string
|
|
ldr r0, _08039754
|
|
ldr r0, [r0]
|
|
add r1, sp, 0x144
|
|
add r2, sp, 0x148
|
|
add r3, sp, 0x14C
|
|
bl sub_8095014
|
|
ldr r0, [r7]
|
|
movs r5, 0x84
|
|
lsls r5, 2
|
|
adds r0, r5
|
|
ldr r1, _08039758
|
|
add r2, sp, 0x144
|
|
ldr r2, [r2]
|
|
add r3, sp, 0x148
|
|
ldr r3, [r3]
|
|
add r4, sp, 0x14C
|
|
ldr r4, [r4]
|
|
str r4, [sp]
|
|
bl sub_800D158
|
|
ldr r2, [r7]
|
|
adds r2, r5
|
|
str r6, [sp]
|
|
movs r0, 0x40
|
|
movs r1, 0x24
|
|
movs r3, 0
|
|
bl xxx_call_draw_string
|
|
bl sub_8097778
|
|
adds r2, r0, 0
|
|
ldr r0, [r7]
|
|
movs r4, 0x8D
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
ldr r1, _0803975C
|
|
bl sub_800D158
|
|
ldr r2, [r7]
|
|
adds r2, r4
|
|
str r6, [sp]
|
|
movs r0, 0x40
|
|
movs r1, 0x30
|
|
movs r3, 0
|
|
bl xxx_call_draw_string
|
|
ldr r0, _08039760
|
|
cmp r8, r0
|
|
bne _0803976C
|
|
ldr r0, _08039764
|
|
ldr r6, [r0]
|
|
movs r1, 0xC
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, 0
|
|
beq _0803976C
|
|
add r5, sp, 0x130
|
|
adds r1, r0, 0
|
|
adds r0, r5, 0
|
|
bl sub_808D930
|
|
add r4, sp, 0xE0
|
|
adds r1, r6, 0
|
|
adds r1, 0x50
|
|
adds r0, r4, 0
|
|
movs r2, 0xA
|
|
bl sub_80922B4
|
|
ldr r0, [r7]
|
|
movs r3, 0x96
|
|
lsls r3, 2
|
|
adds r0, r3
|
|
ldr r1, _08039768
|
|
adds r2, r4, 0
|
|
adds r3, r5, 0
|
|
bl sub_800D158
|
|
b _0803977C
|
|
.align 2, 0
|
|
_0803974C: .4byte gUnknown_80E780C
|
|
_08039750: .4byte gUnknown_203B374
|
|
_08039754: .4byte gUnknown_203B47C
|
|
_08039758: .4byte gUnknown_80E7838
|
|
_0803975C: .4byte gUnknown_80E7848
|
|
_08039760: .4byte 0x000f1207
|
|
_08039764: .4byte gUnknown_203B484
|
|
_08039768: .4byte gUnknown_80E784C
|
|
_0803976C:
|
|
ldr r0, _080397AC
|
|
ldr r0, [r0]
|
|
movs r1, 0x96
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r1, _080397B0
|
|
bl sub_800D158
|
|
_0803977C:
|
|
ldr r0, _080397AC
|
|
ldr r2, [r0]
|
|
movs r3, 0x96
|
|
lsls r3, 2
|
|
adds r2, r3
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x40
|
|
movs r1, 0x3C
|
|
movs r3, 0
|
|
bl xxx_call_draw_string
|
|
bl sub_80397B4
|
|
movs r0, 0
|
|
bl sub_80073E0
|
|
add sp, 0x150
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080397AC: .4byte gUnknown_203B374
|
|
_080397B0: .4byte gUnknown_80E7854
|
|
thumb_func_end sub_80394A4
|
|
|
|
thumb_func_start sub_80397B4
|
|
sub_80397B4:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0xC
|
|
ldr r0, _08039834
|
|
ldr r1, _08039838
|
|
bl OpenFileAndGetFileDataPtr
|
|
adds r6, r0, 0
|
|
movs r4, 0
|
|
_080397C8:
|
|
adds r0, r4, 0
|
|
adds r0, 0xB0
|
|
ldr r1, [r6, 0x4]
|
|
lsls r2, r4, 2
|
|
ldr r1, [r1, 0x4]
|
|
adds r1, r2
|
|
bl SetBGPaletteBufferColorArray
|
|
adds r4, 0x1
|
|
cmp r4, 0x3F
|
|
ble _080397C8
|
|
movs r7, 0x8
|
|
movs r0, 0x49
|
|
mov r8, r0
|
|
movs r4, 0
|
|
_080397E6:
|
|
ldr r0, _0803983C
|
|
lsls r5, r4, 2
|
|
adds r0, r5, r0
|
|
ldr r0, [r0]
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803981C
|
|
movs r0, 0x10
|
|
str r0, [sp]
|
|
ldr r0, [r6, 0x4]
|
|
lsls r1, r4, 7
|
|
ldr r0, [r0]
|
|
adds r0, r1
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _08039840
|
|
adds r0, r5, r0
|
|
ldr r0, [r0]
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0
|
|
adds r1, r7, 0
|
|
mov r2, r8
|
|
movs r3, 0x10
|
|
bl sub_8007E20
|
|
adds r7, 0x10
|
|
_0803981C:
|
|
adds r4, 0x1
|
|
cmp r4, 0xB
|
|
ble _080397E6
|
|
adds r0, r6, 0
|
|
bl CloseFile
|
|
add sp, 0xC
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08039834: .4byte gUnknown_80E785C
|
|
_08039838: .4byte gUnknown_8380000
|
|
_0803983C: .4byte gUnknown_203B3B8
|
|
_08039840: .4byte gUnknown_203B388
|
|
thumb_func_end sub_80397B4
|
|
|
|
thumb_func_start sub_8039844
|
|
sub_8039844:
|
|
push {r4,r5,lr}
|
|
bl sub_8011FA8
|
|
adds r5, r0, 0
|
|
movs r4, 0
|
|
movs r0, 0x1
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
bne _0803986A
|
|
movs r0, 0x7
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
bne _0803986A
|
|
bl sub_8011C1C
|
|
cmp r0, 0x2
|
|
bne _08039872
|
|
_0803986A:
|
|
ldr r0, _0803987C
|
|
cmp r5, r0
|
|
bne _08039872
|
|
movs r4, 0x1
|
|
_08039872:
|
|
adds r0, r4, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0803987C: .4byte 0x000f1207
|
|
thumb_func_end sub_8039844
|
|
|
|
thumb_func_start sub_8039880
|
|
sub_8039880:
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
movs r0, 0x1
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
bne _080398A0
|
|
movs r0, 0x7
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
bne _080398A0
|
|
bl sub_8011C1C
|
|
cmp r0, 0x2
|
|
bne _080398A2
|
|
_080398A0:
|
|
movs r4, 0x1
|
|
_080398A2:
|
|
adds r0, r4, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8039880
|
|
|
|
thumb_func_start sub_80398AC
|
|
sub_80398AC:
|
|
push {r4,r5,lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r5, _0803991C
|
|
ldr r4, _08039920
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl MemoryFill8
|
|
movs r1, 0
|
|
movs r2, 0
|
|
adds r4, r5, 0
|
|
_080398D8:
|
|
ldr r0, [r5]
|
|
adds r0, 0x1
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
adds r1, 0x1
|
|
cmp r1, 0x35
|
|
ble _080398D8
|
|
ldr r1, [r4]
|
|
movs r3, 0x92
|
|
lsls r3, 3
|
|
adds r2, r1, r3
|
|
movs r0, 0x3
|
|
str r0, [r2]
|
|
ldr r0, _08039924
|
|
adds r2, r1, r0
|
|
movs r0, 0x2
|
|
str r0, [r2]
|
|
movs r0, 0x93
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
adds r0, r3
|
|
movs r1, 0x5
|
|
str r1, [r0]
|
|
movs r0, 0x11
|
|
bl sub_803A1C0
|
|
movs r0, 0x1
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0803991C: .4byte gUnknown_203B3E8
|
|
_08039920: .4byte 0x0000049c
|
|
_08039924: .4byte 0x00000494
|
|
thumb_func_end sub_80398AC
|
|
|
|
thumb_func_start sub_8039928
|
|
sub_8039928:
|
|
push {lr}
|
|
ldr r0, _08039940
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
subs r0, 0x4
|
|
cmp r0, 0xF
|
|
bhi _080399DE
|
|
lsls r0, 2
|
|
ldr r1, _08039944
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08039940: .4byte gUnknown_203B3E8
|
|
_08039944: .4byte _08039948
|
|
.align 2, 0
|
|
_08039948:
|
|
.4byte _08039988
|
|
.4byte _0803998E
|
|
.4byte _0803999E
|
|
.4byte _080399AA
|
|
.4byte _08039992
|
|
.4byte _080399A4
|
|
.4byte _080399C8
|
|
.4byte _080399DE
|
|
.4byte _08039998
|
|
.4byte _080399B0
|
|
.4byte _080399B6
|
|
.4byte _080399BC
|
|
.4byte _080399C2
|
|
.4byte _080399CE
|
|
.4byte _080399D4
|
|
.4byte _080399DA
|
|
_08039988:
|
|
bl sub_8039A18
|
|
b _080399DE
|
|
_0803998E:
|
|
movs r0, 0x3
|
|
b _080399E0
|
|
_08039992:
|
|
bl sub_8039AA8
|
|
b _080399DE
|
|
_08039998:
|
|
bl sub_8039B14
|
|
b _080399DE
|
|
_0803999E:
|
|
bl sub_8039B20
|
|
b _080399DE
|
|
_080399A4:
|
|
bl sub_8039B58
|
|
b _080399DE
|
|
_080399AA:
|
|
bl sub_8039D88
|
|
b _080399DE
|
|
_080399B0:
|
|
bl sub_8039D28
|
|
b _080399DE
|
|
_080399B6:
|
|
bl sub_8039D68
|
|
b _080399DE
|
|
_080399BC:
|
|
bl sub_8039DA4
|
|
b _080399DE
|
|
_080399C2:
|
|
bl sub_8039DCC
|
|
b _080399DE
|
|
_080399C8:
|
|
bl sub_8039B3C
|
|
b _080399DE
|
|
_080399CE:
|
|
bl sub_8039D0C
|
|
b _080399DE
|
|
_080399D4:
|
|
bl sub_8039C60
|
|
b _080399DE
|
|
_080399DA:
|
|
bl sub_8039DE8
|
|
_080399DE:
|
|
movs r0, 0
|
|
_080399E0:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8039928
|
|
|
|
thumb_func_start sub_80399E4
|
|
sub_80399E4:
|
|
push {r4,lr}
|
|
ldr r4, _08039A14
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _08039A0E
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
bl sub_8030DE4
|
|
bl sub_801B450
|
|
bl sub_803084C
|
|
bl sub_801CBB8
|
|
bl sub_80155F0
|
|
bl sub_8031E10
|
|
_08039A0E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08039A14: .4byte gUnknown_203B3E8
|
|
thumb_func_end sub_80399E4
|
|
|
|
thumb_func_start sub_8039A18
|
|
sub_8039A18:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08039AA2
|
|
ldr r0, _08039A48
|
|
ldr r1, [r0]
|
|
movs r2, 0x93
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
movs r2, 0xA
|
|
str r2, [r1]
|
|
ldr r1, [sp]
|
|
adds r2, r0, 0
|
|
cmp r1, 0x8
|
|
bhi _08039AA2
|
|
lsls r0, r1, 2
|
|
ldr r1, _08039A4C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08039A48: .4byte gUnknown_203B3E8
|
|
_08039A4C: .4byte _08039A50
|
|
.align 2, 0
|
|
_08039A50:
|
|
.4byte _08039A9C
|
|
.4byte _08039AA2
|
|
.4byte _08039AA2
|
|
.4byte _08039A74
|
|
.4byte _08039A74
|
|
.4byte _08039A88
|
|
.4byte _08039AA2
|
|
.4byte _08039AA2
|
|
.4byte _08039A9C
|
|
_08039A74:
|
|
ldr r0, [r2]
|
|
movs r1, 0x92
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r1, 0x3
|
|
str r1, [r0]
|
|
movs r0, 0x8
|
|
bl sub_803A1C0
|
|
b _08039AA2
|
|
_08039A88:
|
|
ldr r0, [r2]
|
|
movs r2, 0x92
|
|
lsls r2, 3
|
|
adds r0, r2
|
|
movs r1, 0x5
|
|
str r1, [r0]
|
|
movs r0, 0x11
|
|
bl sub_803A1C0
|
|
b _08039AA2
|
|
_08039A9C:
|
|
movs r0, 0x5
|
|
bl sub_803A1C0
|
|
_08039AA2:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039A18
|
|
|
|
thumb_func_start sub_8039AA8
|
|
sub_8039AA8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08039B0E
|
|
ldr r0, [sp]
|
|
cmp r0, 0
|
|
beq _08039AE8
|
|
cmp r0, 0x6
|
|
bne _08039B0E
|
|
ldr r0, _08039AD8
|
|
ldr r0, [r0]
|
|
ldr r1, _08039ADC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0x1
|
|
bne _08039AE0
|
|
movs r0, 0x2
|
|
bl sub_803A1C0
|
|
b _08039B0E
|
|
.align 2, 0
|
|
_08039AD8: .4byte gUnknown_203B3E8
|
|
_08039ADC: .4byte 0x00000494
|
|
_08039AE0:
|
|
movs r0, 0xC
|
|
bl sub_803A1C0
|
|
b _08039B0E
|
|
_08039AE8:
|
|
ldr r0, _08039B00
|
|
ldr r0, [r0]
|
|
ldr r1, _08039B04
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0x1
|
|
bne _08039B08
|
|
movs r0, 0x1
|
|
bl sub_803A1C0
|
|
b _08039B0E
|
|
.align 2, 0
|
|
_08039B00: .4byte gUnknown_203B3E8
|
|
_08039B04: .4byte 0x00000494
|
|
_08039B08:
|
|
movs r0, 0x4
|
|
bl sub_803A1C0
|
|
_08039B0E:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039AA8
|
|
|
|
thumb_func_start sub_8039B14
|
|
sub_8039B14:
|
|
push {lr}
|
|
movs r0, 0x6
|
|
bl sub_803A1C0
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039B14
|
|
|
|
thumb_func_start sub_8039B20
|
|
sub_8039B20:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08039B34
|
|
movs r0, 0x9
|
|
bl sub_803A1C0
|
|
_08039B34:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039B20
|
|
|
|
thumb_func_start sub_8039B3C
|
|
sub_8039B3C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08039B50
|
|
movs r0, 0x4
|
|
bl sub_803A1C0
|
|
_08039B50:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039B3C
|
|
|
|
thumb_func_start sub_8039B58
|
|
sub_8039B58:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08039BA6
|
|
ldr r0, _08039B88
|
|
ldr r1, [r0]
|
|
movs r2, 0x94
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
bne _08039B9C
|
|
subs r2, 0x4
|
|
adds r0, r1, r2
|
|
ldr r0, [r0]
|
|
cmp r0, 0x9
|
|
beq _08039B8C
|
|
cmp r0, 0xA
|
|
beq _08039B94
|
|
b _08039BA6
|
|
.align 2, 0
|
|
_08039B88: .4byte gUnknown_203B3E8
|
|
_08039B8C:
|
|
movs r0, 0x7
|
|
bl sub_803A1C0
|
|
b _08039BA6
|
|
_08039B94:
|
|
movs r0, 0xD
|
|
bl sub_803A1C0
|
|
b _08039BA6
|
|
_08039B9C:
|
|
bl sub_8039BAC
|
|
movs r0, 0xA
|
|
bl sub_803A1C0
|
|
_08039BA6:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039B58
|
|
|
|
thumb_func_start sub_8039BAC
|
|
sub_8039BAC:
|
|
push {lr}
|
|
cmp r0, 0xF
|
|
bhi _08039C48
|
|
lsls r0, 2
|
|
ldr r1, _08039BBC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08039BBC: .4byte _08039BC0
|
|
.align 2, 0
|
|
_08039BC0:
|
|
.4byte _08039C54
|
|
.4byte _08039C00
|
|
.4byte _08039C10
|
|
.4byte _08039C08
|
|
.4byte _08039C18
|
|
.4byte _08039C20
|
|
.4byte _08039C48
|
|
.4byte _08039C48
|
|
.4byte _08039C48
|
|
.4byte _08039C48
|
|
.4byte _08039C48
|
|
.4byte _08039C48
|
|
.4byte _08039C48
|
|
.4byte _08039C48
|
|
.4byte _08039C28
|
|
.4byte _08039C30
|
|
_08039C00:
|
|
ldr r0, _08039C04
|
|
b _08039C32
|
|
.align 2, 0
|
|
_08039C04: .4byte gUnknown_80E7914
|
|
_08039C08:
|
|
ldr r0, _08039C0C
|
|
b _08039C32
|
|
.align 2, 0
|
|
_08039C0C: .4byte gUnknown_80E7938
|
|
_08039C10:
|
|
ldr r0, _08039C14
|
|
b _08039C32
|
|
.align 2, 0
|
|
_08039C14: .4byte gUnknown_80E7994
|
|
_08039C18:
|
|
ldr r0, _08039C1C
|
|
b _08039C32
|
|
.align 2, 0
|
|
_08039C1C: .4byte gUnknown_80E79E4
|
|
_08039C20:
|
|
ldr r0, _08039C24
|
|
b _08039C32
|
|
.align 2, 0
|
|
_08039C24: .4byte gUnknown_80E7914
|
|
_08039C28:
|
|
ldr r0, _08039C2C
|
|
b _08039C32
|
|
.align 2, 0
|
|
_08039C2C: .4byte gUnknown_80E7914
|
|
_08039C30:
|
|
ldr r0, _08039C40
|
|
_08039C32:
|
|
ldr r3, _08039C44
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _08039C54
|
|
.align 2, 0
|
|
_08039C40: .4byte gUnknown_80E7A48
|
|
_08039C44: .4byte 0x00000101
|
|
_08039C48:
|
|
ldr r0, _08039C58
|
|
ldr r3, _08039C5C
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
_08039C54:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08039C58: .4byte gUnknown_80E7914
|
|
_08039C5C: .4byte 0x00000101
|
|
thumb_func_end sub_8039BAC
|
|
|
|
thumb_func_start sub_8039C60
|
|
sub_8039C60:
|
|
push {r4,r5,lr}
|
|
bl sub_80154F0
|
|
adds r4, r0, 0
|
|
ldr r5, _08039CBC
|
|
ldr r0, [r5]
|
|
adds r0, 0x38
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
cmp r4, 0x2
|
|
beq _08039CE6
|
|
cmp r4, 0x3
|
|
bne _08039D04
|
|
bl sub_80155F0
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
movs r1, 0xF6
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r1, [r5]
|
|
adds r0, r1, 0x1
|
|
adds r1, 0x38
|
|
bl sub_803D358
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08039CB4
|
|
ldr r0, [r5]
|
|
adds r0, 0x38
|
|
bl sub_80959C0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08039CC0
|
|
_08039CB4:
|
|
movs r0, 0x13
|
|
bl sub_803A1C0
|
|
b _08039D04
|
|
.align 2, 0
|
|
_08039CBC: .4byte gUnknown_203B3E8
|
|
_08039CC0:
|
|
ldr r0, [r5]
|
|
movs r2, 0xF0
|
|
lsls r2, 2
|
|
adds r1, r0, r2
|
|
adds r0, 0x38
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r3,r4}
|
|
stm r1!, {r3,r4}
|
|
ldr r0, [r5]
|
|
movs r1, 0x93
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
movs r0, 0xD
|
|
bl sub_803A1C0
|
|
b _08039D04
|
|
_08039CE6:
|
|
bl sub_80155F0
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
movs r2, 0xF6
|
|
lsls r2, 1
|
|
adds r0, r2
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r0, 0x5
|
|
bl sub_803A1C0
|
|
_08039D04:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039C60
|
|
|
|
thumb_func_start sub_8039D0C
|
|
sub_8039D0C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08039D20
|
|
movs r0, 0x12
|
|
bl sub_803A1C0
|
|
_08039D20:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039D0C
|
|
|
|
thumb_func_start sub_8039D28
|
|
sub_8039D28:
|
|
push {r4,r5,lr}
|
|
bl sub_802D0E0
|
|
cmp r0, 0x3
|
|
bne _08039D62
|
|
bl sub_802D178
|
|
ldr r5, _08039D58
|
|
ldr r1, [r5]
|
|
movs r4, 0x93
|
|
lsls r4, 3
|
|
adds r1, r4
|
|
strb r0, [r1]
|
|
bl sub_802D184
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08039D5C
|
|
movs r0, 0xE
|
|
bl sub_803A1C0
|
|
b _08039D62
|
|
.align 2, 0
|
|
_08039D58: .4byte gUnknown_203B3E8
|
|
_08039D5C:
|
|
movs r0, 0x10
|
|
bl sub_803A1C0
|
|
_08039D62:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039D28
|
|
|
|
thumb_func_start sub_8039D68
|
|
sub_8039D68:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08039D82
|
|
movs r0, 0xF
|
|
bl sub_803A1C0
|
|
movs r0, 0
|
|
bl sub_8012574
|
|
_08039D82:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039D68
|
|
|
|
thumb_func_start sub_8039D88
|
|
sub_8039D88:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08039D9C
|
|
movs r0, 0x8
|
|
bl sub_803A1C0
|
|
_08039D9C:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039D88
|
|
|
|
thumb_func_start sub_8039DA4
|
|
sub_8039DA4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08039DC6
|
|
bl sub_8012600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08039DC6
|
|
bl sub_8012750
|
|
movs r0, 0x10
|
|
bl sub_803A1C0
|
|
_08039DC6:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039DA4
|
|
|
|
thumb_func_start sub_8039DCC
|
|
sub_8039DCC:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08039DE0
|
|
movs r0, 0x5
|
|
bl sub_803A1C0
|
|
_08039DE0:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039DCC
|
|
|
|
thumb_func_start sub_8039DE8
|
|
sub_8039DE8:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _08039E0E
|
|
ldr r0, [sp]
|
|
cmp r0, 0
|
|
beq _08039E08
|
|
cmp r0, 0x6
|
|
bne _08039E0E
|
|
movs r0, 0x11
|
|
bl sub_803A1C0
|
|
b _08039E0E
|
|
_08039E08:
|
|
movs r0, 0x5
|
|
bl sub_803A1C0
|
|
_08039E0E:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8039DE8
|
|
|
|
thumb_func_start nullsub_54
|
|
nullsub_54:
|
|
bx lr
|
|
thumb_func_end nullsub_54
|
|
|
|
thumb_func_start sub_8039E18
|
|
sub_8039E18:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x14
|
|
ldr r1, _08039E38
|
|
ldr r0, [r1]
|
|
ldrb r0, [r0]
|
|
adds r6, r1, 0
|
|
cmp r0, 0x13
|
|
bls _08039E2E
|
|
b _0803A1AA
|
|
_08039E2E:
|
|
lsls r0, 2
|
|
ldr r1, _08039E3C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08039E38: .4byte gUnknown_203B3E8
|
|
_08039E3C: .4byte _08039E40
|
|
.align 2, 0
|
|
_08039E40:
|
|
.4byte _08039E90
|
|
.4byte _08039EB8
|
|
.4byte _0803A1AA
|
|
.4byte _08039EC8
|
|
.4byte _08039EDC
|
|
.4byte _0803A1AA
|
|
.4byte _08039FF4
|
|
.4byte _08039FA4
|
|
.4byte _08039FCC
|
|
.4byte _0803A00C
|
|
.4byte _0803A1AA
|
|
.4byte _0803A1AA
|
|
.4byte _0803A1AA
|
|
.4byte _08039F04
|
|
.4byte _08039F68
|
|
.4byte _0803A1AA
|
|
.4byte _08039FAC
|
|
.4byte _0803A152
|
|
.4byte _0803A168
|
|
.4byte _0803A18E
|
|
_08039E90:
|
|
ldr r0, _08039EB0
|
|
ldr r3, _08039EB4
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_8014248
|
|
b _0803A1AA
|
|
.align 2, 0
|
|
_08039EB0: .4byte gUnknown_80E7AC4
|
|
_08039EB4: .4byte gUnknown_80E786C
|
|
_08039EB8:
|
|
ldr r0, _08039EC0
|
|
ldr r3, _08039EC4
|
|
b _08039EE0
|
|
.align 2, 0
|
|
_08039EC0: .4byte gUnknown_80E7AE0
|
|
_08039EC4: .4byte gUnknown_80E7894
|
|
_08039EC8:
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
bl sub_802EF48
|
|
b _0803A1AA
|
|
_08039EDC:
|
|
ldr r0, _08039EFC
|
|
ldr r3, _08039F00
|
|
_08039EE0:
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x3
|
|
bl sub_8014248
|
|
b _0803A1AA
|
|
.align 2, 0
|
|
_08039EFC: .4byte gUnknown_80E7B14
|
|
_08039F00: .4byte gUnknown_80E78D8
|
|
_08039F04:
|
|
ldr r0, [r6]
|
|
ldr r2, _08039F3C
|
|
adds r1, r0, r2
|
|
movs r3, 0xF0
|
|
lsls r3, 2
|
|
adds r0, r3
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2,r4}
|
|
stm r1!, {r2,r4}
|
|
ldr r2, [r6]
|
|
ldr r3, _08039F40
|
|
adds r0, r2, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x4
|
|
bne _08039F44
|
|
movs r4, 0x91
|
|
lsls r4, 3
|
|
adds r1, r2, r4
|
|
subs r3, 0xA2
|
|
adds r0, r2, r3
|
|
str r0, [r1]
|
|
adds r4, 0x4
|
|
adds r1, r2, r4
|
|
adds r3, 0x28
|
|
adds r0, r2, r3
|
|
str r0, [r1]
|
|
b _08039F54
|
|
.align 2, 0
|
|
_08039F3C: .4byte 0x00000474
|
|
_08039F40: .4byte 0x00000476
|
|
_08039F44:
|
|
movs r4, 0x91
|
|
lsls r4, 3
|
|
adds r0, r2, r4
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
ldr r3, _08039F60
|
|
adds r0, r2, r3
|
|
str r1, [r0]
|
|
_08039F54:
|
|
ldr r0, [r6]
|
|
ldr r4, _08039F64
|
|
adds r0, r4
|
|
bl sub_802D098
|
|
b _0803A1AA
|
|
.align 2, 0
|
|
_08039F60: .4byte 0x0000048c
|
|
_08039F64: .4byte 0x00000474
|
|
_08039F68:
|
|
ldr r1, [r6]
|
|
movs r2, 0x93
|
|
lsls r2, 3
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08039F9C
|
|
movs r3, 0x92
|
|
lsls r3, 3
|
|
adds r0, r1, r3
|
|
ldr r0, [r0]
|
|
cmp r0, 0x4
|
|
bne _08039F84
|
|
b _0803A1AA
|
|
_08039F84:
|
|
cmp r0, 0x4
|
|
bgt _08039F8E
|
|
cmp r0, 0x3
|
|
beq _08039F94
|
|
b _0803A1AA
|
|
_08039F8E:
|
|
cmp r0, 0x5
|
|
beq _08039F94
|
|
b _0803A1AA
|
|
_08039F94:
|
|
ldr r0, _08039F98
|
|
b _0803A154
|
|
.align 2, 0
|
|
_08039F98: .4byte gUnknown_80E7B48
|
|
_08039F9C:
|
|
ldr r0, _08039FA0
|
|
b _0803A154
|
|
.align 2, 0
|
|
_08039FA0: .4byte gUnknown_80E7B48
|
|
_08039FA4:
|
|
ldr r0, _08039FA8
|
|
b _0803A154
|
|
.align 2, 0
|
|
_08039FA8: .4byte gUnknown_80E7B68
|
|
_08039FAC:
|
|
ldr r0, [r6]
|
|
movs r4, 0x93
|
|
lsls r4, 3
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08039FC4
|
|
ldr r0, _08039FC0
|
|
b _0803A154
|
|
.align 2, 0
|
|
_08039FC0: .4byte gUnknown_80E7B88
|
|
_08039FC4:
|
|
ldr r0, _08039FC8
|
|
b _0803A154
|
|
.align 2, 0
|
|
_08039FC8: .4byte gUnknown_80E7BC8
|
|
_08039FCC:
|
|
ldr r0, _08039FEC
|
|
ldr r3, _08039FF0
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x6
|
|
bl sub_8014248
|
|
b _0803A1AA
|
|
.align 2, 0
|
|
_08039FEC: .4byte gUnknown_80E7BEC
|
|
_08039FF0: .4byte gUnknown_80E78F8
|
|
_08039FF4:
|
|
movs r0, 0
|
|
bl nullsub_23
|
|
ldr r0, _0803A008
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_80141B4
|
|
b _0803A1AA
|
|
.align 2, 0
|
|
_0803A008: .4byte gUnknown_80E7C48
|
|
_0803A00C:
|
|
ldr r0, [r6]
|
|
movs r1, 0x94
|
|
lsls r1, 2
|
|
mov r8, r1
|
|
add r0, r8
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
bl sub_8011830
|
|
ldr r0, [r6]
|
|
movs r7, 0x93
|
|
lsls r7, 2
|
|
adds r0, r7
|
|
ldr r0, [r0]
|
|
bl sub_8037B28
|
|
ldr r2, [r6]
|
|
mov r3, r8
|
|
adds r1, r2, r3
|
|
str r0, [r1]
|
|
cmp r0, 0
|
|
beq _0803A03A
|
|
b _0803A14C
|
|
_0803A03A:
|
|
adds r4, r7, 0
|
|
adds r0, r2, r4
|
|
ldr r0, [r0]
|
|
cmp r0, 0x9
|
|
beq _0803A04A
|
|
cmp r0, 0xA
|
|
beq _0803A0AA
|
|
b _0803A0DE
|
|
_0803A04A:
|
|
movs r5, 0x95
|
|
lsls r5, 2
|
|
adds r0, r2, r5
|
|
movs r1, 0
|
|
movs r2, 0xB4
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r1, 0xEF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl sub_803B344
|
|
adds r4, r0, 0
|
|
ldr r1, [r4, 0x14]
|
|
cmp r1, 0
|
|
beq _0803A08C
|
|
ldr r0, [r6]
|
|
movs r2, 0x9A
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
movs r2, 0x28
|
|
bl MemoryCopy8
|
|
ldr r0, [r6]
|
|
movs r3, 0xA4
|
|
lsls r3, 2
|
|
adds r0, r3
|
|
ldr r1, [r4, 0x18]
|
|
movs r2, 0x78
|
|
bl MemoryCopy8
|
|
_0803A08C:
|
|
ldr r1, [r6]
|
|
adds r1, r5
|
|
adds r0, r4, 0
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2,r4}
|
|
stm r1!, {r2,r4}
|
|
ldr r2, [r6]
|
|
adds r0, r2, r7
|
|
ldr r0, [r0]
|
|
adds r1, r2, r5
|
|
movs r3, 0xC2
|
|
lsls r3, 2
|
|
adds r2, r3
|
|
b _0803A0D4
|
|
_0803A0AA:
|
|
movs r4, 0x95
|
|
lsls r4, 2
|
|
adds r0, r2, r4
|
|
movs r1, 0
|
|
movs r2, 0xB4
|
|
bl MemoryFill8
|
|
ldr r0, [r6]
|
|
movs r5, 0xC2
|
|
lsls r5, 2
|
|
adds r0, r5
|
|
movs r1, 0
|
|
movs r2, 0xB4
|
|
bl MemoryFill8
|
|
ldr r2, [r6]
|
|
adds r0, r2, r7
|
|
ldr r0, [r0]
|
|
adds r4, r2, r4
|
|
adds r2, r5
|
|
adds r1, r4, 0
|
|
_0803A0D4:
|
|
bl sub_8037D64
|
|
ldr r1, [r6]
|
|
add r1, r8
|
|
str r0, [r1]
|
|
_0803A0DE:
|
|
ldr r4, _0803A134
|
|
ldr r2, [r4]
|
|
movs r5, 0x94
|
|
lsls r5, 2
|
|
adds r0, r2, r5
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
bne _0803A14C
|
|
movs r1, 0x93
|
|
lsls r1, 2
|
|
adds r0, r2, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0xA
|
|
bhi _0803A14C
|
|
cmp r0, 0x9
|
|
bcc _0803A14C
|
|
movs r3, 0x95
|
|
lsls r3, 2
|
|
adds r1, r2, r3
|
|
adds r3, 0xB4
|
|
adds r2, r3
|
|
bl sub_80381F4
|
|
ldr r1, [r4]
|
|
adds r1, r5
|
|
str r0, [r1]
|
|
bl sub_800D588
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803A138
|
|
ldr r1, [r4]
|
|
movs r4, 0xF0
|
|
lsls r4, 2
|
|
adds r0, r1, r4
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
movs r2, 0xB4
|
|
bl memcpy
|
|
b _0803A14C
|
|
.align 2, 0
|
|
_0803A134: .4byte gUnknown_203B3E8
|
|
_0803A138:
|
|
ldr r1, [r4]
|
|
movs r3, 0xF0
|
|
lsls r3, 2
|
|
adds r0, r1, r3
|
|
movs r4, 0x95
|
|
lsls r4, 2
|
|
adds r1, r4
|
|
movs r2, 0xB4
|
|
bl memcpy
|
|
_0803A14C:
|
|
bl sub_8011854
|
|
b _0803A1AA
|
|
_0803A152:
|
|
ldr r0, _0803A160
|
|
_0803A154:
|
|
ldr r3, _0803A164
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
b _0803A1AA
|
|
.align 2, 0
|
|
_0803A160: .4byte gUnknown_80E7C98
|
|
_0803A164: .4byte 0x00000101
|
|
_0803A168:
|
|
ldr r0, [r6]
|
|
movs r1, 0xF6
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
bl sub_8006518
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r1, [r6]
|
|
adds r1, 0x1
|
|
movs r0, 0x5
|
|
bl sub_80151C0
|
|
b _0803A1AA
|
|
_0803A18E:
|
|
ldr r0, _0803A1B8
|
|
ldr r3, _0803A1BC
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
adds r1, 0xFD
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x6
|
|
bl sub_8014248
|
|
_0803A1AA:
|
|
add sp, 0x14
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A1B8: .4byte gUnknown_80E7CC4
|
|
_0803A1BC: .4byte gUnknown_80E78F8
|
|
thumb_func_end sub_8039E18
|
|
|
|
thumb_func_start sub_803A1C0
|
|
sub_803A1C0:
|
|
push {lr}
|
|
ldr r1, _0803A1D4
|
|
ldr r1, [r1]
|
|
strb r0, [r1]
|
|
bl nullsub_54
|
|
bl sub_8039E18
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A1D4: .4byte gUnknown_203B3E8
|
|
thumb_func_end sub_803A1C0
|
|
|
|
thumb_func_start sub_803A1D8
|
|
sub_803A1D8:
|
|
movs r0, 0x1
|
|
bx lr
|
|
thumb_func_end sub_803A1D8
|
|
|
|
thumb_func_start sub_803A1DC
|
|
sub_803A1DC:
|
|
movs r0, 0
|
|
bx lr
|
|
thumb_func_end sub_803A1DC
|
|
|
|
thumb_func_start nullsub_55
|
|
nullsub_55:
|
|
bx lr
|
|
thumb_func_end nullsub_55
|
|
|
|
thumb_func_start sub_803A1E4
|
|
sub_803A1E4:
|
|
movs r0, 0x1
|
|
bx lr
|
|
thumb_func_end sub_803A1E4
|
|
|
|
thumb_func_start sub_803A1E8
|
|
sub_803A1E8:
|
|
movs r0, 0x2
|
|
bx lr
|
|
thumb_func_end sub_803A1E8
|
|
|
|
thumb_func_start sub_803A1EC
|
|
sub_803A1EC:
|
|
push {lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803A1EC
|
|
|
|
thumb_func_start sub_803A200
|
|
sub_803A200:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r5, _0803A270
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
bne _0803A224
|
|
movs r4, 0xD2
|
|
lsls r4, 1
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r5]
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl MemoryFill8
|
|
_0803A224:
|
|
mov r12, r5
|
|
movs r0, 0xA0
|
|
lsls r0, 1
|
|
mov r8, r0
|
|
ldr r4, _0803A274
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_0803A232:
|
|
mov r5, r12
|
|
ldr r1, [r5]
|
|
adds r1, r3
|
|
add r1, r8
|
|
adds r0, r4, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _0803A232
|
|
bl sub_8004914
|
|
ldr r0, _0803A270
|
|
ldr r0, [r0]
|
|
movs r6, 0xA0
|
|
lsls r6, 1
|
|
adds r0, r6
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
bl SetDebugMenuItems
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A270: .4byte gUnknown_203B3EC
|
|
_0803A274: .4byte gUnknown_80E7D40
|
|
thumb_func_end sub_803A200
|
|
|
|
thumb_func_start sub_803A278
|
|
sub_803A278:
|
|
push {r4,lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, _0803A2A0
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0803A298
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0803A298:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A2A0: .4byte gUnknown_203B3EC
|
|
thumb_func_end sub_803A278
|
|
|
|
thumb_func_start sub_803A2A4
|
|
sub_803A2A4:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r4, _0803A2D4
|
|
movs r0, 0xB
|
|
str r0, [sp]
|
|
ldr r5, _0803A2D8
|
|
ldr r0, [r5]
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0803A2C4
|
|
ldr r0, [r5]
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_0803A2C4:
|
|
ldr r0, [sp]
|
|
cmp r0, 0xB
|
|
bhi _0803A34E
|
|
lsls r0, 2
|
|
ldr r1, _0803A2DC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803A2D4: .4byte 0x0000ffdc
|
|
_0803A2D8: .4byte gUnknown_203B3EC
|
|
_0803A2DC: .4byte _0803A2E0
|
|
.align 2, 0
|
|
_0803A2E0:
|
|
.4byte _0803A310
|
|
.4byte _0803A314
|
|
.4byte _0803A318
|
|
.4byte _0803A31C
|
|
.4byte _0803A320
|
|
.4byte _0803A324
|
|
.4byte _0803A328
|
|
.4byte _0803A34E
|
|
.4byte _0803A34E
|
|
.4byte _0803A330
|
|
.4byte _0803A344
|
|
.4byte _0803A34C
|
|
_0803A310:
|
|
movs r4, 0x2F
|
|
b _0803A34E
|
|
_0803A314:
|
|
movs r4, 0x30
|
|
b _0803A34E
|
|
_0803A318:
|
|
movs r4, 0x31
|
|
b _0803A34E
|
|
_0803A31C:
|
|
movs r4, 0x32
|
|
b _0803A34E
|
|
_0803A320:
|
|
movs r4, 0x33
|
|
b _0803A34E
|
|
_0803A324:
|
|
movs r4, 0x34
|
|
b _0803A34E
|
|
_0803A328:
|
|
bl sub_803A3BC
|
|
movs r4, 0x1
|
|
b _0803A34E
|
|
_0803A330:
|
|
movs r4, 0
|
|
_0803A332:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_80976F8
|
|
adds r4, 0x1
|
|
cmp r4, 0x1F
|
|
ble _0803A332
|
|
movs r4, 0x1
|
|
b _0803A34E
|
|
_0803A344:
|
|
bl sub_803A3A0
|
|
movs r4, 0x1
|
|
b _0803A34E
|
|
_0803A34C:
|
|
ldr r4, _0803A358
|
|
_0803A34E:
|
|
adds r0, r4, 0
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0803A358: .4byte 0x0000ffdc
|
|
thumb_func_end sub_803A2A4
|
|
|
|
thumb_func_start SetDebugMenuItems
|
|
SetDebugMenuItems:
|
|
push {r4,lr}
|
|
sub sp, 0x10
|
|
ldr r4, _0803A394
|
|
ldr r0, [r4]
|
|
movs r2, 0xA0
|
|
lsls r2, 1
|
|
adds r1, r0, r2
|
|
ldr r3, _0803A398
|
|
ldr r2, _0803A39C
|
|
str r2, [sp]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0xD
|
|
str r2, [sp, 0x8]
|
|
movs r2, 0
|
|
str r2, [sp, 0xC]
|
|
bl SetMenuItems
|
|
ldr r0, [r4]
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_8035CF4
|
|
add sp, 0x10
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A394: .4byte gUnknown_203B3EC
|
|
_0803A398: .4byte gUnknown_80E7D58
|
|
_0803A39C: .4byte gUnknown_80E7D70
|
|
thumb_func_end SetDebugMenuItems
|
|
|
|
thumb_func_start sub_803A3A0
|
|
sub_803A3A0:
|
|
push {lr}
|
|
ldr r0, _0803A3B8
|
|
ldr r0, [r0]
|
|
movs r1, 0xA0
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0
|
|
bl sub_8035CC0
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A3B8: .4byte gUnknown_203B3EC
|
|
thumb_func_end sub_803A3A0
|
|
|
|
thumb_func_start sub_803A3BC
|
|
sub_803A3BC:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x84
|
|
movs r5, 0x1
|
|
add r4, sp, 0x60
|
|
add r6, sp, 0x68
|
|
add r0, sp, 0x7C
|
|
mov r8, r0
|
|
add r0, sp, 0x80
|
|
mov r10, r0
|
|
_0803A3D6:
|
|
lsls r0, r5, 24
|
|
lsrs r0, 24
|
|
bl sub_80925EC
|
|
adds r5, 0x1
|
|
cmp r5, 0x39
|
|
ble _0803A3D6
|
|
movs r5, 0
|
|
adds r7, r4, 0
|
|
_0803A3E8:
|
|
movs r0, 0
|
|
mov r9, r0
|
|
ldr r0, _0803A454
|
|
str r0, [sp, 0x7C]
|
|
adds r5, 0x1
|
|
lsls r4, r5, 16
|
|
asrs r4, 16
|
|
adds r0, r7, 0
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl memset
|
|
movs r0, 0x27
|
|
strh r0, [r7]
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
bl sub_808D8BC
|
|
adds r0, r6, 0
|
|
adds r1, r6, 0
|
|
bl sub_80922F4
|
|
movs r0, 0x40
|
|
strb r0, [r6]
|
|
mov r0, r8
|
|
str r0, [sp]
|
|
str r7, [sp, 0x4]
|
|
add r0, sp, 0x8
|
|
adds r1, r4, 0
|
|
adds r2, r6, 0
|
|
movs r3, 0x43
|
|
bl sub_808CFD0
|
|
add r0, sp, 0x8
|
|
bl sub_808D1DC
|
|
ldr r0, _0803A458
|
|
cmp r5, r0
|
|
ble _0803A3E8
|
|
mov r0, r9
|
|
str r0, [sp, 0x80]
|
|
mov r0, r10
|
|
movs r1, 0x1
|
|
bl sub_801203C
|
|
add sp, 0x84
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A454: .4byte 0x00001006
|
|
_0803A458: .4byte 0x0000012b
|
|
thumb_func_end sub_803A3BC
|
|
|
|
thumb_func_start sub_803A45C
|
|
sub_803A45C:
|
|
push {r4,lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, _0803A488
|
|
movs r0, 0x9C
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
movs r0, 0
|
|
bl sub_803A504
|
|
movs r0, 0x1
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0803A488: .4byte gUnknown_203B3F0
|
|
thumb_func_end sub_803A45C
|
|
|
|
thumb_func_start sub_803A48C
|
|
sub_803A48C:
|
|
push {lr}
|
|
ldr r0, _0803A4A4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x5
|
|
bhi _0803A4E0
|
|
lsls r0, 2
|
|
ldr r1, _0803A4A8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803A4A4: .4byte gUnknown_203B3F0
|
|
_0803A4A8: .4byte _0803A4AC
|
|
.align 2, 0
|
|
_0803A4AC:
|
|
.4byte _0803A4C4
|
|
.4byte _0803A4C4
|
|
.4byte _0803A4CA
|
|
.4byte _0803A4D0
|
|
.4byte _0803A4D6
|
|
.4byte _0803A4DC
|
|
_0803A4C4:
|
|
bl sub_803A740
|
|
b _0803A4E0
|
|
_0803A4CA:
|
|
bl sub_803A7B0
|
|
b _0803A4E0
|
|
_0803A4D0:
|
|
bl sub_803A810
|
|
b _0803A4E0
|
|
_0803A4D6:
|
|
bl sub_803A86C
|
|
b _0803A4E0
|
|
_0803A4DC:
|
|
movs r0, 0x3
|
|
b _0803A4E2
|
|
_0803A4E0:
|
|
movs r0, 0
|
|
_0803A4E2:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803A48C
|
|
|
|
thumb_func_start sub_803A4E8
|
|
sub_803A4E8:
|
|
push {r4,lr}
|
|
ldr r4, _0803A500
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0803A4FA
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0803A4FA:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A500: .4byte gUnknown_203B3F0
|
|
thumb_func_end sub_803A4E8
|
|
|
|
thumb_func_start sub_803A504
|
|
sub_803A504:
|
|
push {lr}
|
|
ldr r1, _0803A518
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_803A51C
|
|
bl sub_803A5A0
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A518: .4byte gUnknown_203B3F0
|
|
thumb_func_end sub_803A504
|
|
|
|
thumb_func_start sub_803A51C
|
|
sub_803A51C:
|
|
push {r4-r7,lr}
|
|
ldr r4, _0803A53C
|
|
ldr r0, [r4]
|
|
adds r0, 0xD8
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
ldr r0, [r1]
|
|
cmp r0, 0x2
|
|
beq _0803A544
|
|
cmp r0, 0x3
|
|
bne _0803A55C
|
|
adds r1, 0xF0
|
|
ldr r0, _0803A540
|
|
b _0803A54C
|
|
.align 2, 0
|
|
_0803A53C: .4byte gUnknown_203B3F0
|
|
_0803A540: .4byte gUnknown_80E7E64
|
|
_0803A544:
|
|
movs r0, 0x84
|
|
lsls r0, 1
|
|
adds r1, r0
|
|
ldr r0, _0803A558
|
|
_0803A54C:
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
b _0803A57E
|
|
.align 2, 0
|
|
_0803A558: .4byte gUnknown_80E7E4C
|
|
_0803A55C:
|
|
mov r12, r4
|
|
ldr r4, _0803A598
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_0803A564:
|
|
mov r0, r12
|
|
ldr r1, [r0]
|
|
adds r1, r3
|
|
adds r1, 0xD8
|
|
adds r0, r4, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _0803A564
|
|
_0803A57E:
|
|
bl sub_8004914
|
|
ldr r0, _0803A59C
|
|
ldr r0, [r0]
|
|
adds r0, 0xD8
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A598: .4byte gUnknown_80E7E34
|
|
_0803A59C: .4byte gUnknown_203B3F0
|
|
thumb_func_end sub_803A51C
|
|
|
|
thumb_func_start sub_803A5A0
|
|
sub_803A5A0:
|
|
push {lr}
|
|
sub sp, 0xC
|
|
ldr r1, _0803A5BC
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r2, r1, 0
|
|
cmp r0, 0x5
|
|
bhi _0803A68A
|
|
lsls r0, 2
|
|
ldr r1, _0803A5C0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803A5BC: .4byte gUnknown_203B3F0
|
|
_0803A5C0: .4byte _0803A5C4
|
|
.align 2, 0
|
|
_0803A5C4:
|
|
.4byte _0803A5DC
|
|
.4byte _0803A5EA
|
|
.4byte _0803A5F2
|
|
.4byte _0803A61C
|
|
.4byte _0803A678
|
|
.4byte _0803A68A
|
|
_0803A5DC:
|
|
movs r0, 0x2
|
|
movs r1, 0x3
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl sub_801C8C4
|
|
b _0803A68A
|
|
_0803A5EA:
|
|
movs r0, 0x1
|
|
bl sub_801CB5C
|
|
b _0803A68A
|
|
_0803A5F2:
|
|
bl sub_801CCD8
|
|
bl sub_803A6F0
|
|
ldr r0, _0803A618
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x4C
|
|
adds r1, r2, 0
|
|
adds r1, 0xC
|
|
ldr r2, [r2, 0x8]
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8012D60
|
|
b _0803A68A
|
|
.align 2, 0
|
|
_0803A618: .4byte gUnknown_203B3F0
|
|
_0803A61C:
|
|
ldr r3, [r2]
|
|
adds r1, r3, 0
|
|
adds r1, 0xAC
|
|
movs r0, 0x3
|
|
str r0, [r1]
|
|
subs r1, 0x8
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
ldr r0, _0803A670
|
|
str r0, [r1]
|
|
adds r2, r3, 0
|
|
adds r2, 0xA0
|
|
ldr r0, _0803A674
|
|
ldr r1, [r0]
|
|
ldrb r0, [r3, 0x4]
|
|
lsls r0, 1
|
|
adds r1, 0x50
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
str r0, [r2]
|
|
adds r1, r3, 0
|
|
adds r1, 0xB0
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
adds r0, r3, 0
|
|
adds r0, 0xF0
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x2C
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x12
|
|
str r0, [r1]
|
|
adds r0, r3, 0
|
|
adds r0, 0x9C
|
|
bl sub_8013AA0
|
|
bl sub_803A690
|
|
b _0803A68A
|
|
.align 2, 0
|
|
_0803A670: .4byte 0x000003e7
|
|
_0803A674: .4byte gUnknown_203B460
|
|
_0803A678:
|
|
ldr r0, [r2]
|
|
ldrb r1, [r0, 0x4]
|
|
add r0, sp, 0x8
|
|
movs r2, 0
|
|
bl sub_8090A8C
|
|
add r0, sp, 0x8
|
|
bl sub_801B3C0
|
|
_0803A68A:
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803A5A0
|
|
|
|
thumb_func_start sub_803A690
|
|
sub_803A690:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r4, _0803A6E8
|
|
ldr r0, [r4]
|
|
adds r0, 0xB0
|
|
ldr r0, [r0]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
adds r0, 0xB0
|
|
ldr r0, [r0]
|
|
bl sub_80073B8
|
|
ldr r2, _0803A6EC
|
|
ldr r0, [r4]
|
|
adds r0, 0xB0
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x4
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
ldr r0, [r4]
|
|
adds r0, 0x9C
|
|
bl sub_8013C68
|
|
ldr r0, [r4]
|
|
adds r0, 0xB0
|
|
ldr r0, [r0]
|
|
bl sub_80073E0
|
|
bl sub_801CCD8
|
|
ldr r0, [r4]
|
|
adds r0, 0x4C
|
|
movs r1, 0
|
|
bl sub_8012EA4
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A6E8: .4byte gUnknown_203B3F0
|
|
_0803A6EC: .4byte gUnknown_80E7E7C
|
|
thumb_func_end sub_803A690
|
|
|
|
thumb_func_start sub_803A6F0
|
|
sub_803A6F0:
|
|
push {r4,lr}
|
|
ldr r4, _0803A734
|
|
ldr r1, [r4]
|
|
ldr r0, _0803A738
|
|
str r0, [r1, 0xC]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x10]
|
|
str r0, [r1, 0x8]
|
|
ldrb r0, [r1, 0x4]
|
|
bl sub_8091524
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0803A718
|
|
ldr r0, [r4]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r1, [r0, 0x10]
|
|
movs r1, 0x3
|
|
str r1, [r0, 0x8]
|
|
_0803A718:
|
|
ldr r1, [r4]
|
|
movs r2, 0x1
|
|
ldr r0, _0803A73C
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x14]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x18]
|
|
movs r0, 0
|
|
str r0, [r1, 0x1C]
|
|
str r2, [r1, 0x20]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A734: .4byte gUnknown_203B3F0
|
|
_0803A738: .4byte gUnknown_80E7E7C
|
|
_0803A73C: .4byte gUnknown_80D4970
|
|
thumb_func_end sub_803A6F0
|
|
|
|
thumb_func_start sub_803A740
|
|
sub_803A740:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_801CA08
|
|
cmp r0, 0x4
|
|
bhi _0803A7AA
|
|
lsls r0, 2
|
|
ldr r1, _0803A758
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803A758: .4byte _0803A75C
|
|
.align 2, 0
|
|
_0803A75C:
|
|
.4byte _0803A7AA
|
|
.4byte _0803A7AA
|
|
.4byte _0803A7A0
|
|
.4byte _0803A770
|
|
.4byte _0803A788
|
|
_0803A770:
|
|
bl sub_801CB24
|
|
ldr r1, _0803A784
|
|
ldr r1, [r1]
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x2
|
|
bl sub_803A504
|
|
b _0803A7AA
|
|
.align 2, 0
|
|
_0803A784: .4byte gUnknown_203B3F0
|
|
_0803A788:
|
|
bl sub_801CB24
|
|
ldr r1, _0803A79C
|
|
ldr r1, [r1]
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x4
|
|
bl sub_803A504
|
|
b _0803A7AA
|
|
.align 2, 0
|
|
_0803A79C: .4byte gUnknown_203B3F0
|
|
_0803A7A0:
|
|
bl sub_801CBB8
|
|
movs r0, 0x5
|
|
bl sub_803A504
|
|
_0803A7AA:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803A740
|
|
|
|
thumb_func_start sub_803A7B0
|
|
sub_803A7B0:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_801CA08
|
|
ldr r4, _0803A7E8
|
|
ldr r0, [r4]
|
|
adds r0, 0x4C
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0803A7D6
|
|
ldr r0, [r4]
|
|
adds r0, 0x4C
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_0803A7D6:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _0803A7F2
|
|
cmp r0, 0x2
|
|
bgt _0803A7EC
|
|
cmp r0, 0x1
|
|
beq _0803A802
|
|
b _0803A808
|
|
.align 2, 0
|
|
_0803A7E8: .4byte gUnknown_203B3F0
|
|
_0803A7EC:
|
|
cmp r0, 0x3
|
|
beq _0803A7FA
|
|
b _0803A808
|
|
_0803A7F2:
|
|
movs r0, 0x3
|
|
bl sub_803A504
|
|
b _0803A808
|
|
_0803A7FA:
|
|
movs r0, 0x4
|
|
bl sub_803A504
|
|
b _0803A808
|
|
_0803A802:
|
|
movs r0, 0x1
|
|
bl sub_803A504
|
|
_0803A808:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803A7B0
|
|
|
|
thumb_func_start sub_803A810
|
|
sub_803A810:
|
|
push {r4,lr}
|
|
movs r0, 0
|
|
bl sub_801CA08
|
|
ldr r4, _0803A838
|
|
ldr r0, [r4]
|
|
adds r0, 0x4C
|
|
bl sub_8012FD8
|
|
ldr r0, [r4]
|
|
adds r0, 0x9C
|
|
bl sub_8013BBC
|
|
cmp r0, 0x2
|
|
beq _0803A854
|
|
cmp r0, 0x2
|
|
bhi _0803A83C
|
|
cmp r0, 0x1
|
|
beq _0803A860
|
|
b _0803A864
|
|
.align 2, 0
|
|
_0803A838: .4byte gUnknown_203B3F0
|
|
_0803A83C:
|
|
cmp r0, 0x3
|
|
bne _0803A864
|
|
ldr r0, _0803A85C
|
|
ldr r2, [r0]
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x4]
|
|
lsls r0, 1
|
|
adds r2, 0x50
|
|
adds r2, r0
|
|
adds r1, 0x9C
|
|
ldr r0, [r1]
|
|
strh r0, [r2]
|
|
_0803A854:
|
|
movs r0, 0x1
|
|
bl sub_803A504
|
|
b _0803A864
|
|
.align 2, 0
|
|
_0803A85C: .4byte gUnknown_203B460
|
|
_0803A860:
|
|
bl sub_803A690
|
|
_0803A864:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803A810
|
|
|
|
thumb_func_start sub_803A86C
|
|
sub_803A86C:
|
|
push {lr}
|
|
bl sub_801B410
|
|
cmp r0, 0x1
|
|
bls _0803A884
|
|
cmp r0, 0x3
|
|
bhi _0803A884
|
|
bl sub_801B450
|
|
movs r0, 0x1
|
|
bl sub_803A504
|
|
_0803A884:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803A86C
|
|
|
|
thumb_func_start sub_803A888
|
|
sub_803A888:
|
|
push {r4,lr}
|
|
bl sub_8004914
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, _0803A8B4
|
|
movs r0, 0xFC
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
movs r0, 0
|
|
bl sub_803A924
|
|
movs r0, 0x1
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0803A8B4: .4byte gUnknown_203B3F4
|
|
thumb_func_end sub_803A888
|
|
|
|
thumb_func_start sub_803A8B8
|
|
sub_803A8B8:
|
|
push {lr}
|
|
ldr r0, _0803A8D0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x4
|
|
bhi _0803A902
|
|
lsls r0, 2
|
|
ldr r1, _0803A8D4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803A8D0: .4byte gUnknown_203B3F4
|
|
_0803A8D4: .4byte _0803A8D8
|
|
.align 2, 0
|
|
_0803A8D8:
|
|
.4byte _0803A8EC
|
|
.4byte _0803A8EC
|
|
.4byte _0803A8F2
|
|
.4byte _0803A8F8
|
|
.4byte _0803A8FE
|
|
_0803A8EC:
|
|
bl sub_803AAC4
|
|
b _0803A902
|
|
_0803A8F2:
|
|
bl sub_803AB34
|
|
b _0803A902
|
|
_0803A8F8:
|
|
bl sub_803ABAC
|
|
b _0803A902
|
|
_0803A8FE:
|
|
movs r0, 0x3
|
|
b _0803A904
|
|
_0803A902:
|
|
movs r0, 0
|
|
_0803A904:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803A8B8
|
|
|
|
thumb_func_start sub_803A908
|
|
sub_803A908:
|
|
push {r4,lr}
|
|
ldr r4, _0803A920
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0803A91A
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0803A91A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A920: .4byte gUnknown_203B3F4
|
|
thumb_func_end sub_803A908
|
|
|
|
thumb_func_start sub_803A924
|
|
sub_803A924:
|
|
push {lr}
|
|
ldr r1, _0803A938
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_803A93C
|
|
bl sub_803A9AC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A938: .4byte gUnknown_203B3F4
|
|
thumb_func_end sub_803A924
|
|
|
|
thumb_func_start sub_803A93C
|
|
sub_803A93C:
|
|
push {r4-r7,lr}
|
|
ldr r4, _0803A960
|
|
ldr r0, [r4]
|
|
adds r0, 0x9C
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
ldr r0, [r1]
|
|
cmp r0, 0x2
|
|
bne _0803A968
|
|
adds r1, 0xCC
|
|
ldr r0, _0803A964
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
b _0803A98A
|
|
.align 2, 0
|
|
_0803A960: .4byte gUnknown_203B3F4
|
|
_0803A964: .4byte gUnknown_80E7EA4
|
|
_0803A968:
|
|
mov r12, r4
|
|
ldr r4, _0803A9A4
|
|
movs r3, 0
|
|
movs r2, 0x3
|
|
_0803A970:
|
|
mov r0, r12
|
|
ldr r1, [r0]
|
|
adds r1, r3
|
|
adds r1, 0x9C
|
|
adds r0, r4, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
adds r3, 0x18
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _0803A970
|
|
_0803A98A:
|
|
bl sub_8004914
|
|
ldr r0, _0803A9A8
|
|
ldr r0, [r0]
|
|
adds r0, 0x9C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803A9A4: .4byte gUnknown_80E7E8C
|
|
_0803A9A8: .4byte gUnknown_203B3F4
|
|
thumb_func_end sub_803A93C
|
|
|
|
thumb_func_start sub_803A9AC
|
|
sub_803A9AC:
|
|
push {lr}
|
|
sub sp, 0x8
|
|
ldr r1, _0803A9C8
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r2, r1, 0
|
|
cmp r0, 0x4
|
|
bhi _0803AA2C
|
|
lsls r0, 2
|
|
ldr r1, _0803A9CC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803A9C8: .4byte gUnknown_203B3F4
|
|
_0803A9CC: .4byte _0803A9D0
|
|
.align 2, 0
|
|
_0803A9D0:
|
|
.4byte _0803A9E4
|
|
.4byte _0803A9EE
|
|
.4byte _0803A9F6
|
|
.4byte _0803AA20
|
|
.4byte _0803AA2C
|
|
_0803A9E4:
|
|
movs r0, 0
|
|
movs r1, 0x3
|
|
bl sub_80211AC
|
|
b _0803AA2C
|
|
_0803A9EE:
|
|
movs r0, 0x1
|
|
bl sub_8021354
|
|
b _0803AA2C
|
|
_0803A9F6:
|
|
bl sub_8021494
|
|
bl sub_803AA34
|
|
ldr r0, _0803AA1C
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x4C
|
|
adds r1, r2, 0
|
|
adds r1, 0xC
|
|
ldr r2, [r2, 0x8]
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8012D60
|
|
b _0803AA2C
|
|
.align 2, 0
|
|
_0803AA1C: .4byte gUnknown_203B3F4
|
|
_0803AA20:
|
|
ldr r0, [r2]
|
|
ldrb r0, [r0, 0x4]
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_8021774
|
|
_0803AA2C:
|
|
add sp, 0x8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803A9AC
|
|
|
|
thumb_func_start sub_803AA34
|
|
sub_803AA34:
|
|
push {r4,r5,lr}
|
|
movs r4, 0
|
|
ldr r0, _0803AA64
|
|
ldr r1, [r0]
|
|
ldr r2, _0803AA68
|
|
ldr r3, [r2]
|
|
ldrb r0, [r3, 0x4]
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r5, r2, 0
|
|
cmp r0, 0
|
|
beq _0803AA7A
|
|
ldr r0, _0803AA6C
|
|
str r0, [r3, 0xC]
|
|
bl sub_803ABC8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803AA70
|
|
ldr r1, [r5]
|
|
movs r0, 0x3
|
|
str r0, [r1, 0x10]
|
|
b _0803AA82
|
|
.align 2, 0
|
|
_0803AA64: .4byte gUnknown_203B468
|
|
_0803AA68: .4byte gUnknown_203B3F4
|
|
_0803AA6C: .4byte gUnknown_80E7EBC
|
|
_0803AA70:
|
|
ldr r1, [r5]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [r1, 0x10]
|
|
b _0803AA82
|
|
_0803AA7A:
|
|
ldr r0, _0803AABC
|
|
str r0, [r3, 0xC]
|
|
movs r0, 0x2
|
|
str r0, [r3, 0x10]
|
|
_0803AA82:
|
|
adds r4, 0x1
|
|
ldr r5, [r5]
|
|
mov r12, r5
|
|
lsls r1, r4, 3
|
|
mov r3, r12
|
|
adds r3, 0xC
|
|
adds r2, r3, r1
|
|
ldr r0, _0803AAC0
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
mov r2, r12
|
|
adds r2, 0x10
|
|
adds r1, r2, r1
|
|
movs r0, 0x4
|
|
str r0, [r1]
|
|
adds r4, 0x1
|
|
lsls r1, r4, 3
|
|
adds r3, r1
|
|
movs r0, 0
|
|
str r0, [r3]
|
|
adds r2, r1
|
|
movs r0, 0x1
|
|
str r0, [r2]
|
|
mov r1, r12
|
|
ldr r0, [r1, 0x10]
|
|
str r0, [r1, 0x8]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803AABC: .4byte gUnknown_80E7EC4
|
|
_0803AAC0: .4byte gUnknown_80D4970
|
|
thumb_func_end sub_803AA34
|
|
|
|
thumb_func_start sub_803AAC4
|
|
sub_803AAC4:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_8021274
|
|
cmp r0, 0x4
|
|
bhi _0803AB2E
|
|
lsls r0, 2
|
|
ldr r1, _0803AADC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803AADC: .4byte _0803AAE0
|
|
.align 2, 0
|
|
_0803AAE0:
|
|
.4byte _0803AB2E
|
|
.4byte _0803AB2E
|
|
.4byte _0803AB24
|
|
.4byte _0803AAF4
|
|
.4byte _0803AB0C
|
|
_0803AAF4:
|
|
bl sub_802132C
|
|
ldr r1, _0803AB08
|
|
ldr r1, [r1]
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x2
|
|
bl sub_803A924
|
|
b _0803AB2E
|
|
.align 2, 0
|
|
_0803AB08: .4byte gUnknown_203B3F4
|
|
_0803AB0C:
|
|
bl sub_802132C
|
|
ldr r1, _0803AB20
|
|
ldr r1, [r1]
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x3
|
|
bl sub_803A924
|
|
b _0803AB2E
|
|
.align 2, 0
|
|
_0803AB20: .4byte gUnknown_203B3F4
|
|
_0803AB24:
|
|
bl sub_80213A0
|
|
movs r0, 0x4
|
|
bl sub_803A924
|
|
_0803AB2E:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803AAC4
|
|
|
|
thumb_func_start sub_803AB34
|
|
sub_803AB34:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_8021274
|
|
ldr r4, _0803AB6C
|
|
ldr r0, [r4]
|
|
adds r0, 0x4C
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0803AB5A
|
|
ldr r0, [r4]
|
|
adds r0, 0x4C
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_0803AB5A:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x2
|
|
beq _0803AB7A
|
|
cmp r0, 0x2
|
|
bgt _0803AB70
|
|
cmp r0, 0x1
|
|
beq _0803AB9E
|
|
b _0803ABA4
|
|
.align 2, 0
|
|
_0803AB6C: .4byte gUnknown_203B3F4
|
|
_0803AB70:
|
|
cmp r0, 0x3
|
|
beq _0803AB84
|
|
cmp r0, 0x4
|
|
beq _0803AB96
|
|
b _0803ABA4
|
|
_0803AB7A:
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x4]
|
|
bl sub_80925EC
|
|
b _0803AB8E
|
|
_0803AB84:
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x4]
|
|
movs r1, 0x1
|
|
bl sub_809249C
|
|
_0803AB8E:
|
|
movs r0, 0x1
|
|
bl sub_803A924
|
|
b _0803ABA4
|
|
_0803AB96:
|
|
movs r0, 0x3
|
|
bl sub_803A924
|
|
b _0803ABA4
|
|
_0803AB9E:
|
|
movs r0, 0x1
|
|
bl sub_803A924
|
|
_0803ABA4:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803AB34
|
|
|
|
thumb_func_start sub_803ABAC
|
|
sub_803ABAC:
|
|
push {lr}
|
|
bl sub_80217EC
|
|
cmp r0, 0x1
|
|
bls _0803ABC4
|
|
cmp r0, 0x3
|
|
bhi _0803ABC4
|
|
bl sub_8021830
|
|
movs r0, 0x1
|
|
bl sub_803A924
|
|
_0803ABC4:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803ABAC
|
|
|
|
thumb_func_start sub_803ABC8
|
|
sub_803ABC8:
|
|
push {r4-r6,lr}
|
|
movs r5, 0
|
|
movs r6, 0x1
|
|
_0803ABCE:
|
|
ldr r2, _0803AC08
|
|
movs r0, 0x58
|
|
adds r1, r5, 0
|
|
muls r1, r0
|
|
ldr r0, [r2]
|
|
adds r2, r0, r1
|
|
ldrh r1, [r2]
|
|
adds r0, r6, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0803AC10
|
|
lsrs r0, r1, 1
|
|
ands r0, r6
|
|
cmp r0, 0
|
|
beq _0803AC10
|
|
ldr r0, _0803AC0C
|
|
ldr r4, [r0]
|
|
movs r1, 0x8
|
|
ldrsh r0, [r2, r1]
|
|
bl sub_808DBA8
|
|
ldrb r1, [r4, 0x4]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r1, r0
|
|
bne _0803AC10
|
|
movs r0, 0
|
|
b _0803AC1C
|
|
.align 2, 0
|
|
_0803AC08: .4byte gUnknown_203B45C
|
|
_0803AC0C: .4byte gUnknown_203B3F4
|
|
_0803AC10:
|
|
adds r5, 0x1
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
cmp r5, r0
|
|
ble _0803ABCE
|
|
movs r0, 0x1
|
|
_0803AC1C:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803ABC8
|
|
|
|
thumb_func_start sub_803AC24
|
|
sub_803AC24:
|
|
push {r4,lr}
|
|
ldr r4, _0803AC44
|
|
movs r0, 0xA0
|
|
lsls r0, 1
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
movs r0, 0
|
|
bl sub_803ACD0
|
|
movs r0, 0x1
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0803AC44: .4byte gUnknown_203B3F8
|
|
thumb_func_end sub_803AC24
|
|
|
|
thumb_func_start sub_803AC48
|
|
sub_803AC48:
|
|
push {lr}
|
|
ldr r0, _0803AC60
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0x7
|
|
bhi _0803ACA8
|
|
lsls r0, 2
|
|
ldr r1, _0803AC64
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803AC60: .4byte gUnknown_203B3F8
|
|
_0803AC64: .4byte _0803AC68
|
|
.align 2, 0
|
|
_0803AC68:
|
|
.4byte _0803AC88
|
|
.4byte _0803AC90
|
|
.4byte _0803AC90
|
|
.4byte _0803AC96
|
|
.4byte _0803ACA8
|
|
.4byte _0803AC9C
|
|
.4byte _0803ACA2
|
|
.4byte _0803ACA8
|
|
_0803AC88:
|
|
movs r0, 0x1
|
|
bl sub_803ACD0
|
|
b _0803ACAC
|
|
_0803AC90:
|
|
bl sub_803AF38
|
|
b _0803ACAC
|
|
_0803AC96:
|
|
bl sub_803AF88
|
|
b _0803ACAC
|
|
_0803AC9C:
|
|
bl sub_803AFE8
|
|
b _0803ACAC
|
|
_0803ACA2:
|
|
bl sub_803B034
|
|
b _0803ACAC
|
|
_0803ACA8:
|
|
movs r0, 0x3
|
|
b _0803ACAE
|
|
_0803ACAC:
|
|
movs r0, 0
|
|
_0803ACAE:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803AC48
|
|
|
|
thumb_func_start sub_803ACB4
|
|
sub_803ACB4:
|
|
push {r4,lr}
|
|
ldr r4, _0803ACCC
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0803ACC6
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0803ACC6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803ACCC: .4byte gUnknown_203B3F8
|
|
thumb_func_end sub_803ACB4
|
|
|
|
thumb_func_start sub_803ACD0
|
|
sub_803ACD0:
|
|
push {lr}
|
|
ldr r1, _0803ACE4
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bl sub_803ACE8
|
|
bl sub_803AD88
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803ACE4: .4byte gUnknown_203B3F8
|
|
thumb_func_end sub_803ACD0
|
|
|
|
thumb_func_start sub_803ACE8
|
|
sub_803ACE8:
|
|
push {r4-r7,lr}
|
|
ldr r4, _0803AD08
|
|
ldr r0, [r4]
|
|
adds r0, 0xE0
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
ldr r0, [r1]
|
|
cmp r0, 0x3
|
|
beq _0803AD10
|
|
cmp r0, 0x5
|
|
beq _0803AD38
|
|
movs r2, 0
|
|
ldr r3, _0803AD0C
|
|
b _0803AD50
|
|
.align 2, 0
|
|
_0803AD08: .4byte gUnknown_203B3F8
|
|
_0803AD0C: .4byte gUnknown_80E7ED4
|
|
_0803AD10:
|
|
bl sub_803AEB0
|
|
ldr r2, [r4]
|
|
movs r0, 0x88
|
|
lsls r0, 1
|
|
adds r2, r0
|
|
ldr r1, _0803AD34
|
|
ldm r1!, {r3,r5,r6}
|
|
stm r2!, {r3,r5,r6}
|
|
ldm r1!, {r3,r5,r7}
|
|
stm r2!, {r3,r5,r7}
|
|
ldr r1, [r4]
|
|
adds r0, r1, r0
|
|
adds r1, 0x90
|
|
bl sub_8012CAC
|
|
b _0803AD6C
|
|
.align 2, 0
|
|
_0803AD34: .4byte gUnknown_80E7EEC
|
|
_0803AD38:
|
|
movs r6, 0x94
|
|
lsls r6, 1
|
|
adds r1, r6
|
|
ldr r0, _0803AD4C
|
|
ldm r0!, {r2,r3,r7}
|
|
stm r1!, {r2,r3,r7}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
b _0803AD6C
|
|
.align 2, 0
|
|
_0803AD4C: .4byte gUnknown_80E7F04
|
|
_0803AD50:
|
|
ldr r0, [r4]
|
|
lsls r1, r2, 1
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
adds r0, 0xE0
|
|
adds r1, r3, 0
|
|
ldm r1!, {r5-r7}
|
|
stm r0!, {r5-r7}
|
|
ldm r1!, {r5-r7}
|
|
stm r0!, {r5-r7}
|
|
adds r2, 0x1
|
|
cmp r2, 0x3
|
|
ble _0803AD50
|
|
_0803AD6C:
|
|
bl sub_8004914
|
|
ldr r0, _0803AD84
|
|
ldr r0, [r0]
|
|
adds r0, 0xE0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803AD84: .4byte gUnknown_203B3F8
|
|
thumb_func_end sub_803ACE8
|
|
|
|
thumb_func_start sub_803AD88
|
|
sub_803AD88:
|
|
push {lr}
|
|
sub sp, 0x8
|
|
ldr r1, _0803ADA4
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
adds r2, r1, 0
|
|
cmp r0, 0x7
|
|
bhi _0803AE50
|
|
lsls r0, 2
|
|
ldr r1, _0803ADA8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803ADA4: .4byte gUnknown_203B3F8
|
|
_0803ADA8: .4byte _0803ADAC
|
|
.align 2, 0
|
|
_0803ADAC:
|
|
.4byte _0803AE50
|
|
.4byte _0803ADCC
|
|
.4byte _0803ADDA
|
|
.4byte _0803ADE2
|
|
.4byte _0803AE50
|
|
.4byte _0803AE0C
|
|
.4byte _0803AE44
|
|
.4byte _0803AE50
|
|
_0803ADCC:
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl sub_8023868
|
|
b _0803AE50
|
|
_0803ADDA:
|
|
movs r0, 0x1
|
|
bl sub_8023B7C
|
|
b _0803AE50
|
|
_0803ADE2:
|
|
bl sub_8023DA4
|
|
ldr r0, _0803AE08
|
|
ldr r2, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x10
|
|
adds r1, r2, 0
|
|
adds r1, 0x90
|
|
adds r3, r2, 0
|
|
adds r3, 0xD0
|
|
ldr r2, [r2, 0xC]
|
|
str r2, [sp]
|
|
movs r2, 0x2
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8012D60
|
|
b _0803AE50
|
|
.align 2, 0
|
|
_0803AE08: .4byte gUnknown_203B3F8
|
|
_0803AE0C:
|
|
ldr r2, [r2]
|
|
movs r1, 0x3
|
|
str r1, [r2, 0x70]
|
|
movs r0, 0x1
|
|
str r0, [r2, 0x68]
|
|
movs r0, 0x64
|
|
str r0, [r2, 0x6C]
|
|
ldr r0, [r2, 0x8]
|
|
ldrb r0, [r0, 0x3]
|
|
str r0, [r2, 0x64]
|
|
str r1, [r2, 0x74]
|
|
movs r1, 0x94
|
|
lsls r1, 1
|
|
adds r0, r2, r1
|
|
str r0, [r2, 0x78]
|
|
movs r0, 0x2C
|
|
str r0, [r2, 0x7C]
|
|
adds r1, r2, 0
|
|
adds r1, 0x80
|
|
movs r0, 0x12
|
|
str r0, [r1]
|
|
adds r0, r2, 0
|
|
adds r0, 0x60
|
|
bl sub_8013AA0
|
|
bl sub_803AE58
|
|
b _0803AE50
|
|
_0803AE44:
|
|
ldr r0, [r2]
|
|
ldr r1, [r0, 0x8]
|
|
adds r1, 0x4C
|
|
movs r0, 0x2
|
|
bl sub_801602C
|
|
_0803AE50:
|
|
add sp, 0x8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803AD88
|
|
|
|
thumb_func_start sub_803AE58
|
|
sub_803AE58:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r4, _0803AEA8
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x74]
|
|
bl sub_8008C54
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x74]
|
|
bl sub_80073B8
|
|
ldr r2, _0803AEAC
|
|
ldr r0, [r4]
|
|
ldr r3, [r0, 0x74]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x4
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
ldr r0, [r4]
|
|
adds r0, 0x60
|
|
bl sub_8013C68
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x74]
|
|
bl sub_80073E0
|
|
bl sub_8023DA4
|
|
ldr r0, [r4]
|
|
adds r0, 0x10
|
|
movs r1, 0
|
|
bl sub_8012EA4
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803AEA8: .4byte gUnknown_203B3F8
|
|
_0803AEAC: .4byte gUnknown_80E7F1C
|
|
thumb_func_end sub_803AE58
|
|
|
|
thumb_func_start sub_803AEB0
|
|
sub_803AEB0:
|
|
push {r4-r6,lr}
|
|
ldr r4, _0803AEFC
|
|
ldr r0, [r4]
|
|
adds r0, 0xD0
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl MemoryFill16
|
|
ldr r4, [r4]
|
|
movs r3, 0
|
|
adds r1, r4, 0
|
|
adds r1, 0x90
|
|
ldr r0, _0803AF00
|
|
str r0, [r1]
|
|
adds r5, r4, 0
|
|
adds r5, 0x94
|
|
movs r0, 0x4
|
|
str r0, [r5]
|
|
movs r2, 0x1
|
|
adds r1, 0x8
|
|
ldr r0, _0803AF04
|
|
str r0, [r1]
|
|
adds r1, 0x4
|
|
movs r0, 0x5
|
|
str r0, [r1]
|
|
movs r6, 0x2
|
|
adds r0, r4, 0
|
|
adds r0, 0xA0
|
|
str r3, [r0]
|
|
adds r0, 0x4
|
|
str r2, [r0]
|
|
adds r0, 0x2C
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _0803AF08
|
|
ldr r0, [r5]
|
|
str r0, [r4, 0xC]
|
|
b _0803AF2C
|
|
.align 2, 0
|
|
_0803AEFC: .4byte gUnknown_203B3F8
|
|
_0803AF00: .4byte gUnknown_80E7F24
|
|
_0803AF04: .4byte gUnknown_80E7F2C
|
|
_0803AF08:
|
|
adds r3, 0x1
|
|
cmp r3, r6
|
|
bge _0803AF2C
|
|
ldr r0, _0803AF34
|
|
ldr r2, [r0]
|
|
lsls r1, r3, 1
|
|
adds r0, r2, 0
|
|
adds r0, 0xD0
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _0803AF08
|
|
lsls r0, r3, 3
|
|
adds r1, r2, 0
|
|
adds r1, 0x94
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2, 0xC]
|
|
_0803AF2C:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803AF34: .4byte gUnknown_203B3F8
|
|
thumb_func_end sub_803AEB0
|
|
|
|
thumb_func_start sub_803AF38
|
|
sub_803AF38:
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_8023A94
|
|
cmp r0, 0x2
|
|
beq _0803AF78
|
|
cmp r0, 0x2
|
|
bcc _0803AF82
|
|
cmp r0, 0x3
|
|
bne _0803AF82
|
|
bl sub_8023B44
|
|
ldr r1, _0803AF70
|
|
ldr r1, [r1]
|
|
strh r0, [r1, 0x4]
|
|
ldr r3, _0803AF74
|
|
movs r0, 0x4
|
|
ldrsh r2, [r1, r0]
|
|
movs r0, 0x58
|
|
muls r2, r0
|
|
ldr r0, [r3]
|
|
adds r0, r2
|
|
str r0, [r1, 0x8]
|
|
movs r0, 0x3
|
|
bl sub_803ACD0
|
|
b _0803AF82
|
|
.align 2, 0
|
|
_0803AF70: .4byte gUnknown_203B3F8
|
|
_0803AF74: .4byte gUnknown_203B45C
|
|
_0803AF78:
|
|
bl sub_8023C60
|
|
movs r0, 0x7
|
|
bl sub_803ACD0
|
|
_0803AF82:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803AF38
|
|
|
|
thumb_func_start sub_803AF88
|
|
sub_803AF88:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
bl sub_8023A94
|
|
ldr r4, _0803AFC0
|
|
ldr r0, [r4]
|
|
adds r0, 0x10
|
|
bl sub_8012FD8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0803AFAE
|
|
ldr r0, [r4]
|
|
adds r0, 0x10
|
|
mov r1, sp
|
|
bl sub_8013114
|
|
_0803AFAE:
|
|
ldr r0, [sp]
|
|
cmp r0, 0x4
|
|
beq _0803AFCA
|
|
cmp r0, 0x4
|
|
bgt _0803AFC4
|
|
cmp r0, 0x1
|
|
beq _0803AFDA
|
|
b _0803AFE0
|
|
.align 2, 0
|
|
_0803AFC0: .4byte gUnknown_203B3F8
|
|
_0803AFC4:
|
|
cmp r0, 0x5
|
|
beq _0803AFD2
|
|
b _0803AFE0
|
|
_0803AFCA:
|
|
movs r0, 0x5
|
|
bl sub_803ACD0
|
|
b _0803AFE0
|
|
_0803AFD2:
|
|
movs r0, 0x6
|
|
bl sub_803ACD0
|
|
b _0803AFE0
|
|
_0803AFDA:
|
|
movs r0, 0x2
|
|
bl sub_803ACD0
|
|
_0803AFE0:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803AF88
|
|
|
|
thumb_func_start sub_803AFE8
|
|
sub_803AFE8:
|
|
push {r4,lr}
|
|
movs r0, 0
|
|
bl sub_8023A94
|
|
ldr r4, _0803B010
|
|
ldr r0, [r4]
|
|
adds r0, 0x10
|
|
bl sub_8012FD8
|
|
ldr r0, [r4]
|
|
adds r0, 0x60
|
|
bl sub_8013BBC
|
|
cmp r0, 0x2
|
|
beq _0803B020
|
|
cmp r0, 0x2
|
|
bhi _0803B014
|
|
cmp r0, 0x1
|
|
beq _0803B028
|
|
b _0803B02C
|
|
.align 2, 0
|
|
_0803B010: .4byte gUnknown_203B3F8
|
|
_0803B014:
|
|
cmp r0, 0x3
|
|
bne _0803B02C
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x60]
|
|
strb r0, [r1, 0x3]
|
|
_0803B020:
|
|
movs r0, 0x2
|
|
bl sub_803ACD0
|
|
b _0803B02C
|
|
_0803B028:
|
|
bl sub_803AE58
|
|
_0803B02C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803AFE8
|
|
|
|
thumb_func_start sub_803B034
|
|
sub_803B034:
|
|
push {lr}
|
|
bl sub_8016080
|
|
cmp r0, 0x3
|
|
bhi _0803B04C
|
|
cmp r0, 0x2
|
|
bcc _0803B04C
|
|
bl sub_80160D8
|
|
movs r0, 0x2
|
|
bl sub_803ACD0
|
|
_0803B04C:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803B034
|
|
|
|
thumb_func_start sub_803B050
|
|
sub_803B050:
|
|
push {r4-r7,lr}
|
|
ldr r4, _0803B0F4
|
|
movs r0, 0xF4
|
|
lsls r0, 2
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
movs r1, 0x3
|
|
str r1, [r0, 0x34]
|
|
adds r1, r0, 0
|
|
adds r1, 0x84
|
|
str r1, [r0, 0x38]
|
|
adds r0, 0x3C
|
|
bl sub_8006518
|
|
ldr r1, [r4]
|
|
ldr r2, [r1, 0x34]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x3C
|
|
ldr r0, _0803B0F8
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldr r0, [r4]
|
|
ldr r1, [r0, 0x38]
|
|
adds r0, 0x9C
|
|
str r0, [r1, 0x14]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x3C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
movs r2, 0
|
|
movs r3, 0
|
|
movs r7, 0xCB
|
|
lsls r7, 1
|
|
movs r6, 0x80
|
|
lsls r6, 9
|
|
movs r5, 0
|
|
_0803B0AE:
|
|
ldr r0, _0803B0FC
|
|
adds r0, r5, r0
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
ldr r4, _0803B0F4
|
|
cmp r0, 0xA
|
|
bne _0803B0C8
|
|
ldr r0, [r4]
|
|
lsls r1, r2, 1
|
|
adds r0, 0xA0
|
|
adds r0, r1
|
|
strh r3, [r0]
|
|
adds r2, 0x1
|
|
_0803B0C8:
|
|
adds r0, r6, 0
|
|
movs r3, 0x80
|
|
lsls r3, 9
|
|
adds r6, r3
|
|
adds r5, 0xC
|
|
asrs r3, r0, 16
|
|
cmp r3, r7
|
|
ble _0803B0AE
|
|
ldr r0, [r4]
|
|
ldr r3, [r0, 0x34]
|
|
adds r1, r2, 0
|
|
movs r2, 0xA
|
|
bl sub_8013818
|
|
bl sub_803B204
|
|
bl sub_803B284
|
|
movs r0, 0x1
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0803B0F4: .4byte gUnknown_203B3FC
|
|
_0803B0F8: .4byte gUnknown_80E7F54
|
|
_0803B0FC: .4byte gUnknown_812F1F8
|
|
thumb_func_end sub_803B050
|
|
|
|
thumb_func_start sub_803B100
|
|
sub_803B100:
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
ldr r0, _0803B11C
|
|
ldr r0, [r0]
|
|
bl sub_8013878
|
|
bl sub_803B204
|
|
bl sub_803B284
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803B11C: .4byte gUnknown_203B3FC
|
|
thumb_func_end sub_803B100
|
|
|
|
thumb_func_start sub_803B120
|
|
sub_803B120:
|
|
push {r4,lr}
|
|
ldr r4, _0803B13C
|
|
ldr r0, [r4]
|
|
bl GetKeyPress
|
|
cmp r0, 0x1
|
|
beq _0803B140
|
|
cmp r0, 0x2
|
|
bne _0803B144
|
|
movs r0, 0x1
|
|
bl sub_80119D4
|
|
movs r0, 0x2
|
|
b _0803B160
|
|
.align 2, 0
|
|
_0803B13C: .4byte gUnknown_203B3FC
|
|
_0803B140:
|
|
movs r0, 0x3
|
|
b _0803B160
|
|
_0803B144:
|
|
ldr r0, [r4]
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0803B156
|
|
movs r0, 0
|
|
b _0803B160
|
|
_0803B156:
|
|
bl sub_803B204
|
|
bl sub_803B284
|
|
movs r0, 0x1
|
|
_0803B160:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803B120
|
|
|
|
thumb_func_start sub_803B168
|
|
sub_803B168:
|
|
ldr r0, _0803B188
|
|
ldr r0, [r0]
|
|
movs r1, 0x1E
|
|
ldrsh r2, [r0, r1]
|
|
movs r3, 0x1C
|
|
ldrsh r1, [r0, r3]
|
|
muls r1, r2
|
|
movs r3, 0x18
|
|
ldrsh r2, [r0, r3]
|
|
adds r1, r2
|
|
lsls r1, 1
|
|
adds r0, 0xA0
|
|
adds r0, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0803B188: .4byte gUnknown_203B3FC
|
|
thumb_func_end sub_803B168
|
|
|
|
thumb_func_start sub_803B18C
|
|
sub_803B18C:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r5, _0803B1B8
|
|
ldr r0, [r5]
|
|
movs r1, 0xE5
|
|
strh r1, [r0, 0x22]
|
|
bl sub_8013984
|
|
bl sub_803B204
|
|
bl sub_803B284
|
|
cmp r4, 0
|
|
beq _0803B1B2
|
|
ldr r0, [r5]
|
|
bl AddMenuCursorSprite
|
|
_0803B1B2:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803B1B8: .4byte gUnknown_203B3FC
|
|
thumb_func_end sub_803B18C
|
|
|
|
thumb_func_start sub_803B1BC
|
|
sub_803B1BC:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0803B1FC
|
|
ldr r2, [r4]
|
|
cmp r2, 0
|
|
beq _0803B1F6
|
|
ldr r0, [r2, 0x34]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x3C
|
|
ldr r0, _0803B200
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x3C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0803B1F6:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803B1FC: .4byte gUnknown_203B3FC
|
|
_0803B200: .4byte gUnknown_80E7F3C
|
|
thumb_func_end sub_803B1BC
|
|
|
|
thumb_func_start sub_803B204
|
|
sub_803B204:
|
|
push {r4,lr}
|
|
ldr r4, _0803B280
|
|
ldr r0, [r4]
|
|
adds r0, 0x9C
|
|
movs r2, 0
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0x9D
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0x9E
|
|
movs r1, 0x8
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, 0x9F
|
|
strb r2, [r0]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x3C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r4]
|
|
movs r1, 0x1A
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0xC
|
|
bl sub_80095E4
|
|
adds r0, 0x2
|
|
lsls r0, 16
|
|
ldr r2, [r4]
|
|
ldr r3, [r2, 0x34]
|
|
lsls r1, r3, 1
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x4A
|
|
asrs r3, r0, 16
|
|
lsrs r0, 16
|
|
strh r0, [r1]
|
|
ldr r1, [r2, 0x34]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, r0
|
|
adds r3, 0x2
|
|
adds r2, 0x4C
|
|
strh r3, [r2]
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x3C
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803B280: .4byte gUnknown_203B3FC
|
|
thumb_func_end sub_803B204
|
|
|
|
thumb_func_start sub_803B284
|
|
sub_803B284:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
ldr r6, _0803B338
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_8008C54
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_80073B8
|
|
ldr r2, _0803B33C
|
|
ldr r0, [r6]
|
|
ldr r3, [r0, 0x34]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
ldr r1, [r6]
|
|
adds r0, r1, 0
|
|
adds r0, 0x9E
|
|
ldrb r4, [r0]
|
|
lsls r4, 3
|
|
subs r4, 0x2
|
|
movs r0, 0x1E
|
|
ldrsh r2, [r1, r0]
|
|
adds r2, 0x1
|
|
movs r0, 0x7
|
|
str r0, [sp]
|
|
ldr r0, [r1, 0x34]
|
|
str r0, [sp, 0x4]
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
movs r3, 0x2
|
|
bl sub_8012BC4
|
|
movs r5, 0
|
|
ldr r0, [r6]
|
|
movs r1, 0x1A
|
|
ldrsh r0, [r0, r1]
|
|
cmp r5, r0
|
|
bge _0803B324
|
|
_0803B2DC:
|
|
ldr r0, [r6]
|
|
movs r3, 0x1E
|
|
ldrsh r2, [r0, r3]
|
|
movs r3, 0x1C
|
|
ldrsh r1, [r0, r3]
|
|
muls r2, r1
|
|
adds r2, r5
|
|
lsls r2, 1
|
|
adds r1, r0, 0
|
|
adds r1, 0xA0
|
|
adds r1, r2
|
|
movs r2, 0
|
|
ldrsh r1, [r1, r2]
|
|
lsls r4, r1, 1
|
|
adds r4, r1
|
|
lsls r4, 2
|
|
ldr r1, _0803B340
|
|
adds r4, r1
|
|
adds r1, r5, 0
|
|
bl sub_8013800
|
|
adds r1, r0, 0
|
|
ldr r2, [r4, 0x4]
|
|
ldr r0, [r6]
|
|
ldr r3, [r0, 0x34]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
bl xxx_call_draw_string
|
|
adds r5, 0x1
|
|
ldr r0, [r6]
|
|
movs r3, 0x1A
|
|
ldrsh r0, [r0, r3]
|
|
cmp r5, r0
|
|
blt _0803B2DC
|
|
_0803B324:
|
|
ldr r0, _0803B338
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x34]
|
|
bl sub_80073E0
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803B338: .4byte gUnknown_203B3FC
|
|
_0803B33C: .4byte gUnknown_80E7F6C
|
|
_0803B340: .4byte gUnknown_812F1F8
|
|
thumb_func_end sub_803B284
|
|
|
|
thumb_func_start sub_803B344
|
|
sub_803B344:
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
lsls r0, r1, 3
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _0803B358
|
|
adds r0, r1
|
|
bx lr
|
|
.align 2, 0
|
|
_0803B358: .4byte gUnknown_80E7F94
|
|
thumb_func_end sub_803B344
|
|
|
|
thumb_func_start sub_803B35C
|
|
sub_803B35C:
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
adds r4, r1, 0
|
|
adds r1, 0x18
|
|
bl sub_803C21C
|
|
ldrb r0, [r5, 0x2]
|
|
subs r0, 0x1
|
|
cmp r0, 0x8
|
|
bls _0803B372
|
|
b _0803B4FA
|
|
_0803B372:
|
|
lsls r0, 2
|
|
ldr r1, _0803B37C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803B37C: .4byte _0803B380
|
|
.align 2, 0
|
|
_0803B380:
|
|
.4byte _0803B3A4
|
|
.4byte _0803B3BE
|
|
.4byte _0803B3D8
|
|
.4byte _0803B3F2
|
|
.4byte _0803B414
|
|
.4byte _0803B442
|
|
.4byte _0803B470
|
|
.4byte _0803B49E
|
|
.4byte _0803B4CC
|
|
_0803B3A4:
|
|
adds r0, r4, 0
|
|
adds r0, 0x40
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
adds r0, 0x1
|
|
strb r1, [r0]
|
|
adds r1, r4, 0
|
|
adds r1, 0x42
|
|
movs r0, 0x6
|
|
strb r0, [r1]
|
|
subs r1, 0x14
|
|
movs r0, 0x5
|
|
b _0803B576
|
|
_0803B3BE:
|
|
adds r0, r4, 0
|
|
adds r0, 0x40
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
adds r0, 0x1
|
|
strb r1, [r0]
|
|
adds r1, r4, 0
|
|
adds r1, 0x42
|
|
movs r0, 0x6
|
|
strb r0, [r1]
|
|
subs r1, 0x14
|
|
movs r0, 0x5
|
|
b _0803B576
|
|
_0803B3D8:
|
|
adds r0, r4, 0
|
|
adds r0, 0x40
|
|
movs r1, 0x2
|
|
strb r1, [r0]
|
|
adds r0, 0x1
|
|
strb r1, [r0]
|
|
adds r1, r4, 0
|
|
adds r1, 0x42
|
|
movs r0, 0x6
|
|
strb r0, [r1]
|
|
subs r1, 0x14
|
|
movs r0, 0x5
|
|
b _0803B576
|
|
_0803B3F2:
|
|
adds r0, r4, 0
|
|
adds r0, 0x40
|
|
movs r1, 0x3
|
|
strb r1, [r0]
|
|
adds r0, 0x1
|
|
strb r1, [r0]
|
|
adds r1, r4, 0
|
|
adds r1, 0x42
|
|
movs r0, 0x6
|
|
strb r0, [r1]
|
|
bl sub_8096DD8
|
|
str r0, [r4, 0x4C]
|
|
bl sub_8096DE8
|
|
str r0, [r4, 0x50]
|
|
b _0803B578
|
|
_0803B414:
|
|
ldrb r0, [r5, 0x1]
|
|
cmp r0, 0x3
|
|
bne _0803B42A
|
|
adds r0, r4, 0
|
|
adds r0, 0x40
|
|
movs r1, 0xB
|
|
strb r1, [r0]
|
|
adds r1, r4, 0
|
|
adds r1, 0x42
|
|
movs r0, 0x1
|
|
b _0803B438
|
|
_0803B42A:
|
|
adds r0, r4, 0
|
|
adds r0, 0x40
|
|
movs r1, 0xC
|
|
strb r1, [r0]
|
|
adds r1, r4, 0
|
|
adds r1, 0x42
|
|
movs r0, 0x2
|
|
_0803B438:
|
|
strb r0, [r1]
|
|
adds r1, r4, 0
|
|
adds r1, 0x41
|
|
movs r0, 0x4
|
|
b _0803B576
|
|
_0803B442:
|
|
ldrb r0, [r5, 0x1]
|
|
cmp r0, 0x3
|
|
bne _0803B458
|
|
adds r0, r4, 0
|
|
adds r0, 0x40
|
|
movs r1, 0xB
|
|
strb r1, [r0]
|
|
adds r1, r4, 0
|
|
adds r1, 0x42
|
|
movs r0, 0x1
|
|
b _0803B466
|
|
_0803B458:
|
|
adds r0, r4, 0
|
|
adds r0, 0x40
|
|
movs r1, 0xC
|
|
strb r1, [r0]
|
|
adds r1, r4, 0
|
|
adds r1, 0x42
|
|
movs r0, 0x2
|
|
_0803B466:
|
|
strb r0, [r1]
|
|
adds r1, r4, 0
|
|
adds r1, 0x41
|
|
movs r0, 0x5
|
|
b _0803B576
|
|
_0803B470:
|
|
adds r0, r5, 0
|
|
bl sub_803B600
|
|
str r0, [r4, 0x4]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
bne _0803B488
|
|
adds r1, r4, 0
|
|
adds r1, 0x40
|
|
movs r0, 0x9
|
|
b _0803B48E
|
|
_0803B488:
|
|
adds r1, r4, 0
|
|
adds r1, 0x40
|
|
movs r0, 0x4
|
|
_0803B48E:
|
|
strb r0, [r1]
|
|
adds r1, r4, 0
|
|
adds r1, 0x41
|
|
movs r0, 0x6
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0x4
|
|
b _0803B576
|
|
_0803B49E:
|
|
adds r0, r5, 0
|
|
bl sub_803B628
|
|
str r0, [r4, 0x4]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
bne _0803B4B6
|
|
adds r1, r4, 0
|
|
adds r1, 0x40
|
|
movs r0, 0x9
|
|
b _0803B4BC
|
|
_0803B4B6:
|
|
adds r1, r4, 0
|
|
adds r1, 0x40
|
|
movs r0, 0x5
|
|
_0803B4BC:
|
|
strb r0, [r1]
|
|
adds r1, r4, 0
|
|
adds r1, 0x41
|
|
movs r0, 0x7
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0x4
|
|
b _0803B576
|
|
_0803B4CC:
|
|
adds r0, r5, 0
|
|
bl sub_803B66C
|
|
str r0, [r4, 0x4]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
bne _0803B4E4
|
|
adds r1, r4, 0
|
|
adds r1, 0x40
|
|
movs r0, 0xA
|
|
b _0803B4EA
|
|
_0803B4E4:
|
|
adds r1, r4, 0
|
|
adds r1, 0x40
|
|
movs r0, 0x6
|
|
_0803B4EA:
|
|
strb r0, [r1]
|
|
adds r1, r4, 0
|
|
adds r1, 0x41
|
|
movs r0, 0x8
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0x5
|
|
b _0803B576
|
|
_0803B4FA:
|
|
ldrb r0, [r5, 0x1]
|
|
cmp r0, 0x2
|
|
beq _0803B528
|
|
cmp r0, 0x2
|
|
bgt _0803B50A
|
|
cmp r0, 0x1
|
|
beq _0803B514
|
|
b _0803B564
|
|
_0803B50A:
|
|
cmp r0, 0x3
|
|
beq _0803B53C
|
|
cmp r0, 0x4
|
|
beq _0803B550
|
|
b _0803B564
|
|
_0803B514:
|
|
adds r1, r4, 0
|
|
adds r1, 0x40
|
|
movs r0, 0x9
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0xD
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0x4
|
|
b _0803B576
|
|
_0803B528:
|
|
adds r1, r4, 0
|
|
adds r1, 0x40
|
|
movs r0, 0xA
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0xE
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0x5
|
|
b _0803B576
|
|
_0803B53C:
|
|
adds r1, r4, 0
|
|
adds r1, 0x40
|
|
movs r0, 0xB
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0xF
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0x1
|
|
b _0803B576
|
|
_0803B550:
|
|
adds r1, r4, 0
|
|
adds r1, 0x40
|
|
movs r0, 0xC
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0x10
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0x2
|
|
b _0803B576
|
|
_0803B564:
|
|
adds r1, r4, 0
|
|
adds r1, 0x40
|
|
movs r0, 0x8
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0xC
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0x3
|
|
_0803B576:
|
|
strb r0, [r1]
|
|
_0803B578:
|
|
adds r0, r5, 0x4
|
|
str r0, [r4, 0x8]
|
|
movs r0, 0
|
|
str r0, [r4, 0xC]
|
|
ldrh r0, [r5, 0xC]
|
|
movs r1, 0
|
|
strh r0, [r4, 0x10]
|
|
ldrh r0, [r5, 0xE]
|
|
strh r0, [r4, 0x12]
|
|
ldrb r0, [r5, 0x10]
|
|
strb r0, [r4, 0x14]
|
|
ldrb r0, [r5]
|
|
subs r0, 0x2
|
|
cmp r0, 0x7
|
|
bhi _0803B5EC
|
|
lsls r0, 2
|
|
ldr r1, _0803B5A0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803B5A0: .4byte _0803B5A4
|
|
.align 2, 0
|
|
_0803B5A4:
|
|
.4byte _0803B5C4
|
|
.4byte _0803B5C4
|
|
.4byte _0803B5C4
|
|
.4byte _0803B5C4
|
|
.4byte _0803B5DC
|
|
.4byte _0803B5CC
|
|
.4byte _0803B5DC
|
|
.4byte _0803B5DC
|
|
_0803B5C4:
|
|
adds r0, r4, 0
|
|
adds r0, 0x43
|
|
movs r1, 0x1
|
|
b _0803B5F0
|
|
_0803B5CC:
|
|
adds r1, r4, 0
|
|
adds r1, 0x43
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0x3
|
|
strb r0, [r1]
|
|
b _0803B5F6
|
|
_0803B5DC:
|
|
adds r1, r4, 0
|
|
adds r1, 0x43
|
|
movs r0, 0x3
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
b _0803B5F6
|
|
_0803B5EC:
|
|
adds r0, r4, 0
|
|
adds r0, 0x43
|
|
_0803B5F0:
|
|
strb r1, [r0]
|
|
adds r0, 0x1
|
|
strb r1, [r0]
|
|
_0803B5F6:
|
|
str r5, [r4, 0x54]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803B35C
|
|
|
|
thumb_func_start sub_803B600
|
|
sub_803B600:
|
|
push {lr}
|
|
ldr r2, _0803B614
|
|
movs r1, 0
|
|
ldr r3, [r0, 0xC]
|
|
_0803B608:
|
|
ldr r0, [r2]
|
|
cmp r0, r3
|
|
bne _0803B618
|
|
adds r0, r1, 0
|
|
b _0803B624
|
|
.align 2, 0
|
|
_0803B614: .4byte gUnknown_80E9920
|
|
_0803B618:
|
|
adds r2, 0x8
|
|
adds r1, 0x1
|
|
cmp r1, 0x14
|
|
ble _0803B608
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_0803B624:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803B600
|
|
|
|
thumb_func_start sub_803B628
|
|
sub_803B628:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
ldr r2, _0803B654
|
|
movs r3, 0
|
|
_0803B630:
|
|
ldr r1, [r2]
|
|
ldr r0, [r4, 0xC]
|
|
cmp r1, r0
|
|
beq _0803B650
|
|
movs r0, 0x2
|
|
ldrsh r1, [r2, r0]
|
|
movs r5, 0xC
|
|
ldrsh r0, [r4, r5]
|
|
cmp r1, r0
|
|
bne _0803B658
|
|
movs r0, 0
|
|
ldrsh r1, [r2, r0]
|
|
movs r5, 0xE
|
|
ldrsh r0, [r4, r5]
|
|
cmp r1, r0
|
|
bne _0803B658
|
|
_0803B650:
|
|
adds r0, r3, 0
|
|
b _0803B664
|
|
.align 2, 0
|
|
_0803B654: .4byte gUnknown_80E9F8C
|
|
_0803B658:
|
|
adds r2, 0xC
|
|
adds r3, 0x1
|
|
cmp r3, 0x2C
|
|
ble _0803B630
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_0803B664:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803B628
|
|
|
|
thumb_func_start sub_803B66C
|
|
sub_803B66C:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
ldr r2, _0803B698
|
|
movs r3, 0
|
|
_0803B674:
|
|
ldr r1, [r2]
|
|
ldr r0, [r4, 0xC]
|
|
cmp r1, r0
|
|
beq _0803B694
|
|
movs r0, 0x2
|
|
ldrsh r1, [r2, r0]
|
|
movs r5, 0xC
|
|
ldrsh r0, [r4, r5]
|
|
cmp r1, r0
|
|
bne _0803B69C
|
|
movs r0, 0
|
|
ldrsh r1, [r2, r0]
|
|
movs r5, 0xE
|
|
ldrsh r0, [r4, r5]
|
|
cmp r1, r0
|
|
bne _0803B69C
|
|
_0803B694:
|
|
adds r0, r3, 0
|
|
b _0803B6A8
|
|
.align 2, 0
|
|
_0803B698: .4byte gUnknown_80E8168
|
|
_0803B69C:
|
|
adds r2, 0x4
|
|
adds r3, 0x1
|
|
cmp r3, 0x5
|
|
ble _0803B674
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_0803B6A8:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803B66C
|
|
|
|
thumb_func_start sub_803B6B0
|
|
sub_803B6B0:
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
lsls r2, 24
|
|
ldr r4, _0803B6D0
|
|
lsrs r2, 22
|
|
adds r2, r4
|
|
ldr r2, [r2]
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
bl xxx_call_draw_string
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803B6D0: .4byte gUnknown_80E8B94
|
|
thumb_func_end sub_803B6B0
|
|
|
|
thumb_func_start sub_803B6D4
|
|
sub_803B6D4:
|
|
push {r4-r7,lr}
|
|
sub sp, 0x144
|
|
adds r7, r0, 0
|
|
ldr r1, [r7, 0x48]
|
|
adds r0, 0x43
|
|
ldrb r2, [r0]
|
|
ldr r3, [r7]
|
|
movs r0, 0xA
|
|
bl sub_803B6B0
|
|
adds r0, r7, 0
|
|
adds r0, 0x40
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xC
|
|
bls _0803B6F4
|
|
b _0803B86C
|
|
_0803B6F4:
|
|
lsls r0, 2
|
|
ldr r1, _0803B700
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803B700: .4byte _0803B704
|
|
.align 2, 0
|
|
_0803B704:
|
|
.4byte _0803B73E
|
|
.4byte _0803B748
|
|
.4byte _0803B754
|
|
.4byte _0803B738
|
|
.4byte _0803B7A4
|
|
.4byte _0803B7B0
|
|
.4byte _0803B7C8
|
|
.4byte _0803B760
|
|
.4byte _0803B86C
|
|
.4byte _0803B818
|
|
.4byte _0803B7E0
|
|
.4byte _0803B788
|
|
.4byte _0803B76A
|
|
_0803B738:
|
|
ldr r1, [r7, 0x48]
|
|
ldr r2, [r7, 0x4C]
|
|
b _0803B7CC
|
|
_0803B73E:
|
|
ldr r1, [r7, 0x48]
|
|
ldr r2, _0803B744
|
|
b _0803B7CC
|
|
.align 2, 0
|
|
_0803B744: .4byte gUnknown_80E87DC
|
|
_0803B748:
|
|
ldr r1, [r7, 0x48]
|
|
ldr r2, _0803B750
|
|
b _0803B7CC
|
|
.align 2, 0
|
|
_0803B750: .4byte gUnknown_80E87F4
|
|
_0803B754:
|
|
ldr r1, [r7, 0x48]
|
|
ldr r2, _0803B75C
|
|
b _0803B7CC
|
|
.align 2, 0
|
|
_0803B75C: .4byte gUnknown_80E8818
|
|
_0803B760:
|
|
ldr r1, [r7, 0x8]
|
|
add r0, sp, 0x4
|
|
bl sub_8090208
|
|
b _0803B850
|
|
_0803B76A:
|
|
ldr r4, _0803B780
|
|
ldrb r1, [r7, 0x14]
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
bl sub_8090DC4
|
|
ldr r1, _0803B784
|
|
add r0, sp, 0x4
|
|
adds r2, r4, 0
|
|
b _0803B84C
|
|
.align 2, 0
|
|
_0803B780: .4byte gUnknown_202DE58
|
|
_0803B784: .4byte gUnknown_80E8830
|
|
_0803B788:
|
|
ldr r4, _0803B79C
|
|
ldrb r1, [r7, 0x14]
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
bl sub_8090DC4
|
|
ldr r1, _0803B7A0
|
|
add r0, sp, 0x4
|
|
adds r2, r4, 0
|
|
b _0803B84C
|
|
.align 2, 0
|
|
_0803B79C: .4byte gUnknown_202DE58
|
|
_0803B7A0: .4byte gUnknown_80E8848
|
|
_0803B7A4:
|
|
ldr r1, [r7, 0x48]
|
|
ldr r2, _0803B7AC
|
|
b _0803B7CC
|
|
.align 2, 0
|
|
_0803B7AC: .4byte gUnknown_80E885C
|
|
_0803B7B0:
|
|
ldr r1, [r7, 0x48]
|
|
ldr r3, _0803B7C4
|
|
ldr r2, [r7, 0x4]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r3, 0x4
|
|
adds r0, r3
|
|
ldr r2, [r0]
|
|
b _0803B7CC
|
|
.align 2, 0
|
|
_0803B7C4: .4byte gUnknown_80E9F8C
|
|
_0803B7C8:
|
|
ldr r1, [r7, 0x48]
|
|
ldr r2, _0803B7DC
|
|
_0803B7CC:
|
|
ldr r3, [r7]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x15
|
|
bl xxx_call_draw_string
|
|
b _0803B8B4
|
|
.align 2, 0
|
|
_0803B7DC: .4byte gUnknown_80E886C
|
|
_0803B7E0:
|
|
ldr r0, [r7, 0x8]
|
|
ldr r4, [r0, 0x4]
|
|
ldrb r0, [r0]
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r1, 0x12
|
|
ldrsh r0, [r7, r1]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r5, _0803B810
|
|
adds r0, r5, 0
|
|
bl strcpy
|
|
ldr r1, _0803B814
|
|
movs r0, 0x3
|
|
ands r4, r0
|
|
lsls r4, 2
|
|
adds r4, r1
|
|
ldr r1, [r4]
|
|
add r0, sp, 0x4
|
|
adds r2, r5, 0
|
|
b _0803B84C
|
|
.align 2, 0
|
|
_0803B810: .4byte gUnknown_202DF98
|
|
_0803B814: .4byte gUnknown_80EAE5C
|
|
_0803B818:
|
|
ldr r0, [r7, 0x8]
|
|
ldr r4, [r0, 0x4]
|
|
ldrb r0, [r0]
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r1, 0x12
|
|
ldrsh r0, [r7, r1]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r6, _0803B864
|
|
adds r0, r6, 0
|
|
bl strcpy
|
|
ldr r5, _0803B868
|
|
adds r0, r4, 0
|
|
movs r1, 0xA
|
|
bl __umodsi3
|
|
lsls r0, 24
|
|
lsrs r0, 22
|
|
adds r0, r5
|
|
ldr r1, [r0]
|
|
add r0, sp, 0x4
|
|
adds r2, r6, 0
|
|
_0803B84C:
|
|
bl sub_800D158
|
|
_0803B850:
|
|
ldr r1, [r7, 0x48]
|
|
ldr r3, [r7]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x15
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
b _0803B8B4
|
|
.align 2, 0
|
|
_0803B864: .4byte gUnknown_202DF98
|
|
_0803B868: .4byte gUnknown_80E910C
|
|
_0803B86C:
|
|
ldr r0, [r7, 0x8]
|
|
ldr r4, [r0, 0x4]
|
|
ldrb r0, [r0]
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r1, 0x12
|
|
ldrsh r0, [r7, r1]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r6, _0803B8E8
|
|
adds r0, r6, 0
|
|
bl strcpy
|
|
ldr r5, _0803B8EC
|
|
adds r0, r4, 0
|
|
movs r1, 0xF
|
|
bl __umodsi3
|
|
lsls r0, 24
|
|
lsrs r0, 22
|
|
adds r0, r5
|
|
ldr r1, [r0]
|
|
add r0, sp, 0x4
|
|
adds r2, r6, 0
|
|
bl sub_800D158
|
|
ldr r1, [r7, 0x48]
|
|
ldr r3, [r7]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x15
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
_0803B8B4:
|
|
adds r0, r7, 0
|
|
adds r0, 0x40
|
|
ldrb r1, [r0]
|
|
adds r6, r0, 0
|
|
cmp r1, 0x7
|
|
bne _0803B916
|
|
ldr r5, [r7, 0xC]
|
|
cmp r5, 0
|
|
bne _0803B8F0
|
|
bl sub_8016028
|
|
movs r4, 0xB2
|
|
subs r4, r0
|
|
movs r1, 0x10
|
|
ldrsh r0, [r7, r1]
|
|
bl sub_808D994
|
|
adds r2, r0, 0
|
|
ldr r1, [r7, 0x48]
|
|
ldr r3, [r7]
|
|
str r5, [sp]
|
|
adds r0, r4, 0
|
|
bl xxx_call_draw_string
|
|
b _0803B956
|
|
.align 2, 0
|
|
_0803B8E8: .4byte gUnknown_202DF98
|
|
_0803B8EC: .4byte gUnknown_80E8C98
|
|
_0803B8F0:
|
|
add r4, sp, 0xCC
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
movs r2, 0xA
|
|
bl sub_80922B4
|
|
bl sub_8016028
|
|
adds r1, r0, 0
|
|
movs r0, 0xB2
|
|
subs r0, r1
|
|
ldr r1, [r7, 0x48]
|
|
ldr r3, [r7]
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
adds r2, r4, 0
|
|
bl xxx_call_draw_string
|
|
b _0803B956
|
|
_0803B916:
|
|
adds r0, r7, 0
|
|
adds r0, 0x42
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
bne _0803B93C
|
|
add r4, sp, 0xE0
|
|
ldr r1, [r7, 0x8]
|
|
adds r0, r4, 0
|
|
bl sub_8090228
|
|
ldr r1, _0803B938
|
|
add r0, sp, 0x4
|
|
adds r2, r4, 0
|
|
bl sub_800D158
|
|
b _0803B944
|
|
.align 2, 0
|
|
_0803B938: .4byte gUnknown_80E8884
|
|
_0803B93C:
|
|
ldr r1, [r7, 0x8]
|
|
add r0, sp, 0x4
|
|
bl sub_8090228
|
|
_0803B944:
|
|
ldr r1, [r7, 0x48]
|
|
adds r1, 0xC
|
|
ldr r3, [r7]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x1D
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
_0803B956:
|
|
ldrb r0, [r6]
|
|
cmp r0, 0x7
|
|
bne _0803B962
|
|
ldr r0, [r7, 0x8]
|
|
movs r1, 0
|
|
b _0803B968
|
|
_0803B962:
|
|
ldr r0, [r7, 0x8]
|
|
ldr r1, [r7, 0x54]
|
|
ldrb r1, [r1, 0x1]
|
|
_0803B968:
|
|
bl sub_803C1D0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_803C1F0
|
|
adds r2, r0, 0
|
|
ldr r1, [r7, 0x48]
|
|
ldr r3, [r7]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xB4
|
|
bl xxx_call_draw_string
|
|
add sp, 0x144
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803B6D4
|
|
|
|
thumb_func_start sub_803B98C
|
|
sub_803B98C:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x1FC
|
|
adds r7, r0, 0
|
|
movs r0, 0
|
|
mov r9, r0
|
|
ldr r2, _0803B9E0
|
|
ldr r3, [r7]
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
ldr r1, _0803B9E4
|
|
adds r0, r7, 0
|
|
adds r0, 0x44
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
ldr r3, [r7]
|
|
mov r1, r9
|
|
str r1, [sp]
|
|
movs r0, 0x6C
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
movs r0, 0x10
|
|
mov r9, r0
|
|
adds r0, r7, 0
|
|
adds r0, 0x41
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x10
|
|
bls _0803B9D6
|
|
b _0803BCC0
|
|
_0803B9D6:
|
|
lsls r0, 2
|
|
ldr r1, _0803B9E8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803B9E0: .4byte gUnknown_80E888C
|
|
_0803B9E4: .4byte gUnknown_80E8BCC
|
|
_0803B9E8: .4byte _0803B9EC
|
|
.align 2, 0
|
|
_0803B9EC:
|
|
.4byte _0803BA34
|
|
.4byte _0803BA3C
|
|
.4byte _0803BA44
|
|
.4byte _0803BA30
|
|
.4byte _0803BA4C
|
|
.4byte _0803BA6C
|
|
.4byte _0803BA8C
|
|
.4byte _0803BAA0
|
|
.4byte _0803BBF0
|
|
.4byte _0803BAE8
|
|
.4byte _0803BAF0
|
|
.4byte _0803BAF8
|
|
.4byte _0803BCC0
|
|
.4byte _0803BC58
|
|
.4byte _0803BB74
|
|
.4byte _0803BB10
|
|
.4byte _0803BB10
|
|
_0803BA30:
|
|
ldr r2, [r7, 0x50]
|
|
b _0803BAFA
|
|
_0803BA34:
|
|
ldr r2, _0803BA38
|
|
b _0803BAFA
|
|
.align 2, 0
|
|
_0803BA38: .4byte gUnknown_80E88A0
|
|
_0803BA3C:
|
|
ldr r2, _0803BA40
|
|
b _0803BAFA
|
|
.align 2, 0
|
|
_0803BA40: .4byte gUnknown_80E88C8
|
|
_0803BA44:
|
|
ldr r2, _0803BA48
|
|
b _0803BAFA
|
|
.align 2, 0
|
|
_0803BA48: .4byte gUnknown_80E8920
|
|
_0803BA4C:
|
|
ldr r4, _0803BA64
|
|
ldrb r1, [r7, 0x14]
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
bl sub_8090DC4
|
|
ldr r1, _0803BA68
|
|
add r0, sp, 0x4
|
|
adds r2, r4, 0
|
|
bl sub_800D158
|
|
b _0803BACC
|
|
.align 2, 0
|
|
_0803BA64: .4byte gUnknown_202DE58
|
|
_0803BA68: .4byte gUnknown_80E8968
|
|
_0803BA6C:
|
|
ldr r4, _0803BA84
|
|
ldrb r1, [r7, 0x14]
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
bl sub_8090DC4
|
|
ldr r1, _0803BA88
|
|
add r0, sp, 0x4
|
|
adds r2, r4, 0
|
|
bl sub_800D158
|
|
b _0803BACC
|
|
.align 2, 0
|
|
_0803BA84: .4byte gUnknown_202DE58
|
|
_0803BA88: .4byte gUnknown_80E89B0
|
|
_0803BA8C:
|
|
ldr r1, _0803BA9C
|
|
ldr r0, [r7, 0x4]
|
|
lsls r0, 3
|
|
adds r1, 0x4
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
b _0803BAFA
|
|
.align 2, 0
|
|
_0803BA9C: .4byte gUnknown_80E9920
|
|
_0803BAA0:
|
|
movs r1, 0x12
|
|
ldrsh r0, [r7, r1]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r4, _0803BAE0
|
|
adds r0, r4, 0
|
|
bl strcpy
|
|
ldr r2, _0803BAE4
|
|
ldr r1, [r7, 0x4]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x8
|
|
adds r0, r2
|
|
ldr r1, [r0]
|
|
add r0, sp, 0x4
|
|
adds r2, r4, 0
|
|
adds r3, r4, 0
|
|
bl sub_800D158
|
|
_0803BACC:
|
|
ldr r3, [r7]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
mov r1, r9
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
b _0803BD42
|
|
.align 2, 0
|
|
_0803BAE0: .4byte gUnknown_202DF98
|
|
_0803BAE4: .4byte gUnknown_80E9F8C
|
|
_0803BAE8:
|
|
ldr r2, _0803BAEC
|
|
b _0803BAFA
|
|
.align 2, 0
|
|
_0803BAEC: .4byte gUnknown_80E89FC
|
|
_0803BAF0:
|
|
ldr r2, _0803BAF4
|
|
b _0803BAFA
|
|
.align 2, 0
|
|
_0803BAF4: .4byte gUnknown_80E8A40
|
|
_0803BAF8:
|
|
ldr r2, _0803BB0C
|
|
_0803BAFA:
|
|
ldr r3, [r7]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
mov r1, r9
|
|
bl xxx_call_draw_string
|
|
b _0803BD42
|
|
.align 2, 0
|
|
_0803BB0C: .4byte gUnknown_80E8A7C
|
|
_0803BB10:
|
|
ldr r0, [r7, 0x8]
|
|
ldr r5, [r0, 0x4]
|
|
ldrb r4, [r0]
|
|
adds r4, r5, r4
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldrb r0, [r0, 0x1]
|
|
adds r5, r0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldr r0, _0803BB68
|
|
mov r8, r0
|
|
ldrb r1, [r7, 0x14]
|
|
movs r2, 0
|
|
bl sub_8090DC4
|
|
ldr r6, _0803BB6C
|
|
adds r0, r4, 0
|
|
movs r1, 0x16
|
|
bl __umodsi3
|
|
lsls r0, 24
|
|
lsrs r0, 22
|
|
adds r0, r6
|
|
ldr r1, [r0]
|
|
add r0, sp, 0x4
|
|
mov r2, r8
|
|
bl sub_800D158
|
|
ldr r3, [r7]
|
|
movs r6, 0
|
|
str r6, [sp]
|
|
movs r0, 0xA
|
|
mov r1, r9
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
movs r1, 0xC
|
|
add r9, r1
|
|
ldr r4, _0803BB70
|
|
adds r0, r5, 0
|
|
movs r1, 0x16
|
|
b _0803BD1A
|
|
.align 2, 0
|
|
_0803BB68: .4byte gUnknown_202DE58
|
|
_0803BB6C: .4byte gUnknown_80EB3F8
|
|
_0803BB70: .4byte gUnknown_80EB72C
|
|
_0803BB74:
|
|
ldr r0, [r7, 0x8]
|
|
ldr r5, [r0, 0x4]
|
|
ldrb r4, [r0]
|
|
adds r4, r5, r4
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldrb r0, [r0, 0x1]
|
|
adds r5, r0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
movs r1, 0x12
|
|
ldrsh r0, [r7, r1]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r0, _0803BBE4
|
|
mov r8, r0
|
|
bl strcpy
|
|
ldr r6, _0803BBE8
|
|
adds r0, r4, 0
|
|
movs r1, 0x14
|
|
bl __umodsi3
|
|
lsls r0, 24
|
|
lsrs r0, 22
|
|
adds r0, r6
|
|
ldr r1, [r0]
|
|
add r0, sp, 0x4
|
|
mov r2, r8
|
|
bl sub_800D158
|
|
ldr r3, [r7]
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
movs r0, 0xA
|
|
mov r1, r9
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
movs r1, 0xC
|
|
add r9, r1
|
|
ldr r1, _0803BBEC
|
|
movs r0, 0x3
|
|
ands r5, r0
|
|
lsls r5, 2
|
|
adds r5, r1
|
|
ldr r1, [r5]
|
|
add r0, sp, 0x4
|
|
mov r2, r8
|
|
bl sub_800D158
|
|
ldr r3, [r7]
|
|
str r4, [sp]
|
|
b _0803BD32
|
|
.align 2, 0
|
|
_0803BBE4: .4byte gUnknown_202DF98
|
|
_0803BBE8: .4byte gUnknown_80EAEB8
|
|
_0803BBEC: .4byte gUnknown_80EB198
|
|
_0803BBF0:
|
|
ldr r0, [r7, 0x8]
|
|
ldr r5, [r0, 0x4]
|
|
ldrb r4, [r0]
|
|
adds r4, r5, r4
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldrb r0, [r0, 0x1]
|
|
adds r5, r0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
movs r1, 0x12
|
|
ldrsh r0, [r7, r1]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r0, _0803BC4C
|
|
mov r8, r0
|
|
bl strcpy
|
|
ldr r6, _0803BC50
|
|
adds r0, r4, 0
|
|
movs r1, 0x6
|
|
bl __umodsi3
|
|
lsls r0, 24
|
|
lsrs r0, 22
|
|
adds r0, r6
|
|
ldr r1, [r0]
|
|
add r0, sp, 0x4
|
|
mov r2, r8
|
|
bl sub_800D158
|
|
ldr r3, [r7]
|
|
movs r6, 0
|
|
str r6, [sp]
|
|
movs r0, 0xA
|
|
mov r1, r9
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
movs r1, 0xC
|
|
add r9, r1
|
|
ldr r4, _0803BC54
|
|
adds r0, r5, 0
|
|
movs r1, 0x6
|
|
b _0803BD1A
|
|
.align 2, 0
|
|
_0803BC4C: .4byte gUnknown_202DF98
|
|
_0803BC50: .4byte gUnknown_80EB220
|
|
_0803BC54: .4byte gUnknown_80EB2F0
|
|
_0803BC58:
|
|
ldr r0, [r7, 0x8]
|
|
ldr r5, [r0, 0x4]
|
|
ldrb r4, [r0]
|
|
adds r4, r5, r4
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldrb r0, [r0, 0x1]
|
|
adds r5, r0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
movs r1, 0x12
|
|
ldrsh r0, [r7, r1]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r0, _0803BCB4
|
|
mov r8, r0
|
|
bl strcpy
|
|
ldr r6, _0803BCB8
|
|
adds r0, r4, 0
|
|
movs r1, 0x2D
|
|
bl __umodsi3
|
|
lsls r0, 24
|
|
lsrs r0, 22
|
|
adds r0, r6
|
|
ldr r1, [r0]
|
|
add r0, sp, 0x4
|
|
mov r2, r8
|
|
bl sub_800D158
|
|
ldr r3, [r7]
|
|
movs r6, 0
|
|
str r6, [sp]
|
|
movs r0, 0xA
|
|
mov r1, r9
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
movs r1, 0xC
|
|
add r9, r1
|
|
ldr r4, _0803BCBC
|
|
adds r0, r5, 0
|
|
movs r1, 0xA
|
|
b _0803BD1A
|
|
.align 2, 0
|
|
_0803BCB4: .4byte gUnknown_202DF98
|
|
_0803BCB8: .4byte gUnknown_80E91D4
|
|
_0803BCBC: .4byte gUnknown_80E9820
|
|
_0803BCC0:
|
|
ldr r0, [r7, 0x8]
|
|
ldr r5, [r0, 0x4]
|
|
ldrb r4, [r0]
|
|
adds r4, r5, r4
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldrb r0, [r0, 0x1]
|
|
adds r5, r0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
movs r1, 0x10
|
|
ldrsh r0, [r7, r1]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r0, _0803BD78
|
|
mov r8, r0
|
|
bl strcpy
|
|
ldr r6, _0803BD7C
|
|
adds r0, r4, 0
|
|
movs r1, 0xD
|
|
bl __umodsi3
|
|
lsls r0, 24
|
|
lsrs r0, 22
|
|
adds r0, r6
|
|
ldr r1, [r0]
|
|
add r0, sp, 0x4
|
|
mov r2, r8
|
|
bl sub_800D158
|
|
ldr r3, [r7]
|
|
movs r6, 0
|
|
str r6, [sp]
|
|
movs r0, 0xA
|
|
mov r1, r9
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
movs r1, 0xC
|
|
add r9, r1
|
|
ldr r4, _0803BD80
|
|
adds r0, r5, 0
|
|
movs r1, 0xD
|
|
_0803BD1A:
|
|
bl __umodsi3
|
|
lsls r0, 24
|
|
lsrs r0, 22
|
|
adds r0, r4
|
|
ldr r1, [r0]
|
|
add r0, sp, 0x4
|
|
mov r2, r8
|
|
bl sub_800D158
|
|
ldr r3, [r7]
|
|
str r6, [sp]
|
|
_0803BD32:
|
|
movs r0, 0xA
|
|
mov r1, r9
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
movs r0, 0xC
|
|
negs r0, r0
|
|
add r9, r0
|
|
_0803BD42:
|
|
movs r1, 0x1C
|
|
add r9, r1
|
|
ldr r2, _0803BD84
|
|
ldr r3, [r7]
|
|
movs r0, 0
|
|
mov r8, r0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
mov r1, r9
|
|
bl xxx_call_draw_string
|
|
ldr r1, [r7, 0xC]
|
|
cmp r1, 0
|
|
bne _0803BD88
|
|
movs r1, 0x10
|
|
ldrsh r0, [r7, r1]
|
|
bl sub_808D994
|
|
adds r2, r0, 0
|
|
ldr r3, [r7]
|
|
mov r0, r8
|
|
str r0, [sp]
|
|
movs r0, 0x44
|
|
mov r1, r9
|
|
bl xxx_call_draw_string
|
|
b _0803BDBC
|
|
.align 2, 0
|
|
_0803BD78: .4byte gUnknown_202DF98
|
|
_0803BD7C: .4byte gUnknown_80E8DE4
|
|
_0803BD80: .4byte gUnknown_80E8FB0
|
|
_0803BD84: .4byte gUnknown_80E8AC8
|
|
_0803BD88:
|
|
add r6, sp, 0x158
|
|
adds r0, r6, 0
|
|
movs r2, 0xA
|
|
bl sub_80922B4
|
|
add r4, sp, 0x16C
|
|
movs r0, 0x10
|
|
ldrsh r1, [r7, r0]
|
|
adds r0, r4, 0
|
|
bl sub_808D930
|
|
add r5, sp, 0x130
|
|
ldr r1, _0803BDE8
|
|
adds r0, r5, 0
|
|
adds r2, r6, 0
|
|
adds r3, r4, 0
|
|
bl sub_800D158
|
|
ldr r3, [r7]
|
|
mov r1, r8
|
|
str r1, [sp]
|
|
movs r0, 0x44
|
|
mov r1, r9
|
|
adds r2, r5, 0
|
|
bl xxx_call_draw_string
|
|
_0803BDBC:
|
|
movs r0, 0xC
|
|
add r9, r0
|
|
ldr r2, _0803BDEC
|
|
ldr r3, [r7]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
mov r1, r9
|
|
bl xxx_call_draw_string
|
|
adds r0, r7, 0
|
|
adds r0, 0x42
|
|
ldrb r1, [r0]
|
|
adds r5, r0, 0
|
|
cmp r1, 0x6
|
|
bhi _0803BEB8
|
|
lsls r0, r1, 2
|
|
ldr r1, _0803BDF0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803BDE8: .4byte gUnknown_80E8AD0
|
|
_0803BDEC: .4byte gUnknown_80E8AE0
|
|
_0803BDF0: .4byte _0803BDF4
|
|
.align 2, 0
|
|
_0803BDF4:
|
|
.4byte _0803BE10
|
|
.4byte _0803BE30
|
|
.4byte _0803BE18
|
|
.4byte _0803BE48
|
|
.4byte _0803BE80
|
|
.4byte _0803BE60
|
|
.4byte _0803BEB8
|
|
_0803BE10:
|
|
ldr r2, _0803BE14
|
|
b _0803BE4A
|
|
.align 2, 0
|
|
_0803BE14: .4byte gUnknown_80E8AEC
|
|
_0803BE18:
|
|
ldr r4, _0803BE28
|
|
ldrb r1, [r7, 0x14]
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
bl sub_8090DC4
|
|
ldr r1, _0803BE2C
|
|
b _0803BE94
|
|
.align 2, 0
|
|
_0803BE28: .4byte gUnknown_202DE58
|
|
_0803BE2C: .4byte gUnknown_80E8AFC
|
|
_0803BE30:
|
|
ldr r4, _0803BE40
|
|
ldrb r1, [r7, 0x14]
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
bl sub_8090DC4
|
|
ldr r1, _0803BE44
|
|
b _0803BE94
|
|
.align 2, 0
|
|
_0803BE40: .4byte gUnknown_202DE58
|
|
_0803BE44: .4byte gUnknown_80E8B10
|
|
_0803BE48:
|
|
ldr r2, _0803BE5C
|
|
_0803BE4A:
|
|
ldr r3, [r7]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x44
|
|
mov r1, r9
|
|
bl xxx_call_draw_string
|
|
b _0803BEC8
|
|
.align 2, 0
|
|
_0803BE5C: .4byte gUnknown_80E8B20
|
|
_0803BE60:
|
|
movs r1, 0x12
|
|
ldrsh r0, [r7, r1]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r4, _0803BE78
|
|
adds r0, r4, 0
|
|
bl strcpy
|
|
ldr r1, _0803BE7C
|
|
b _0803BE94
|
|
.align 2, 0
|
|
_0803BE78: .4byte gUnknown_202DF98
|
|
_0803BE7C: .4byte gUnknown_80E8B2C
|
|
_0803BE80:
|
|
movs r1, 0x12
|
|
ldrsh r0, [r7, r1]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
ldr r4, _0803BEB0
|
|
adds r0, r4, 0
|
|
bl strcpy
|
|
ldr r1, _0803BEB4
|
|
_0803BE94:
|
|
add r0, sp, 0x4
|
|
adds r2, r4, 0
|
|
bl sub_800D158
|
|
ldr r3, [r7]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x44
|
|
mov r1, r9
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
b _0803BEC8
|
|
.align 2, 0
|
|
_0803BEB0: .4byte gUnknown_202DF98
|
|
_0803BEB4: .4byte gUnknown_80E8B40
|
|
_0803BEB8:
|
|
ldr r2, _0803BEF8
|
|
ldr r3, [r7]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x44
|
|
mov r1, r9
|
|
bl xxx_call_draw_string
|
|
_0803BEC8:
|
|
movs r0, 0xC
|
|
add r9, r0
|
|
ldr r2, _0803BEFC
|
|
ldr r3, [r7]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
mov r1, r9
|
|
bl xxx_call_draw_string
|
|
ldrb r0, [r5]
|
|
cmp r0, 0x1
|
|
bne _0803BF04
|
|
add r4, sp, 0x180
|
|
ldr r1, [r7, 0x8]
|
|
adds r0, r4, 0
|
|
bl sub_8090228
|
|
ldr r1, _0803BF00
|
|
add r0, sp, 0x4
|
|
adds r2, r4, 0
|
|
bl sub_800D158
|
|
b _0803BF0C
|
|
.align 2, 0
|
|
_0803BEF8: .4byte gUnknown_80E8B50
|
|
_0803BEFC: .4byte gUnknown_80E8B60
|
|
_0803BF00: .4byte gUnknown_80E8884
|
|
_0803BF04:
|
|
ldr r1, [r7, 0x8]
|
|
add r0, sp, 0x4
|
|
bl sub_8090228
|
|
_0803BF0C:
|
|
ldr r3, [r7]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x44
|
|
mov r1, r9
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
ldrb r0, [r5]
|
|
cmp r0, 0
|
|
bne _0803BF28
|
|
ldr r0, [r7, 0x8]
|
|
movs r1, 0
|
|
b _0803BF2E
|
|
_0803BF28:
|
|
ldr r0, [r7, 0x8]
|
|
ldr r1, [r7, 0x54]
|
|
ldrb r1, [r1, 0x1]
|
|
_0803BF2E:
|
|
bl sub_803C1D0
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r1, 0xC
|
|
add r9, r1
|
|
ldr r2, _0803BF88
|
|
ldr r3, [r7]
|
|
movs r6, 0
|
|
str r6, [sp]
|
|
movs r0, 0xA
|
|
mov r1, r9
|
|
bl xxx_call_draw_string
|
|
adds r0, r4, 0
|
|
bl sub_803C1F0
|
|
adds r2, r0, 0
|
|
ldr r3, [r7]
|
|
str r6, [sp]
|
|
movs r0, 0x44
|
|
mov r1, r9
|
|
bl xxx_call_draw_string
|
|
movs r0, 0xC
|
|
add r9, r0
|
|
ldr r2, _0803BF8C
|
|
ldr r3, [r7]
|
|
str r6, [sp]
|
|
movs r0, 0xA
|
|
mov r1, r9
|
|
bl xxx_call_draw_string
|
|
adds r0, r7, 0
|
|
adds r0, 0x2E
|
|
ldrb r2, [r0]
|
|
adds r5, r0, 0
|
|
cmp r2, 0x4
|
|
bhi _0803C02C
|
|
lsls r0, r2, 2
|
|
ldr r1, _0803BF90
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803BF88: .4byte gUnknown_80E8B68
|
|
_0803BF8C: .4byte gUnknown_80E8B74
|
|
_0803BF90: .4byte _0803BF94
|
|
.align 2, 0
|
|
_0803BF94:
|
|
.4byte _0803BFA8
|
|
.4byte _0803BFBC
|
|
.4byte _0803BFD0
|
|
.4byte _0803BFD0
|
|
.4byte _0803C00C
|
|
_0803BFA8:
|
|
ldr r1, _0803BFB8
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
ldr r2, [r7, 0x30]
|
|
add r0, sp, 0x4
|
|
b _0803BFEE
|
|
.align 2, 0
|
|
_0803BFB8: .4byte gUnknown_80E8C48
|
|
_0803BFBC:
|
|
ldr r1, _0803BFCC
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
ldr r2, [r7, 0x30]
|
|
add r0, sp, 0x4
|
|
b _0803BFEE
|
|
.align 2, 0
|
|
_0803BFCC: .4byte gUnknown_80E8C48
|
|
_0803BFD0:
|
|
ldr r4, _0803C004
|
|
adds r0, r7, 0
|
|
adds r0, 0x34
|
|
ldrb r1, [r0]
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
bl sub_8090DC4
|
|
ldr r1, _0803C008
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
add r0, sp, 0x4
|
|
adds r2, r4, 0
|
|
_0803BFEE:
|
|
bl sub_800D158
|
|
ldr r3, [r7]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x44
|
|
mov r1, r9
|
|
add r2, sp, 0x4
|
|
bl xxx_call_draw_string
|
|
b _0803C040
|
|
.align 2, 0
|
|
_0803C004: .4byte gUnknown_202DE58
|
|
_0803C008: .4byte gUnknown_80E8C48
|
|
_0803C00C:
|
|
ldr r1, _0803C028
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
ldr r3, [r7]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x44
|
|
mov r1, r9
|
|
bl xxx_call_draw_string
|
|
b _0803C040
|
|
.align 2, 0
|
|
_0803C028: .4byte gUnknown_80E8C48
|
|
_0803C02C:
|
|
ldr r1, _0803C0D4
|
|
lsls r0, r2, 2
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
ldr r3, [r7]
|
|
str r6, [sp]
|
|
movs r0, 0x44
|
|
mov r1, r9
|
|
bl xxx_call_draw_string
|
|
_0803C040:
|
|
movs r1, 0xC
|
|
add r9, r1
|
|
adds r0, r7, 0
|
|
adds r0, 0x41
|
|
ldrb r1, [r0]
|
|
adds r0, r1, 0
|
|
subs r0, 0x9
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x2
|
|
bls _0803C0C6
|
|
cmp r1, 0x3
|
|
beq _0803C0C6
|
|
ldr r0, [r7, 0x54]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x5
|
|
bne _0803C0C6
|
|
ldr r2, _0803C0D8
|
|
ldr r3, [r7]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
mov r1, r9
|
|
bl xxx_call_draw_string
|
|
add r0, sp, 0x1E4
|
|
ldr r1, [r7, 0x54]
|
|
bl sub_803D414
|
|
movs r4, 0
|
|
_0803C07C:
|
|
cmp r4, 0xC
|
|
bne _0803C084
|
|
movs r0, 0xC
|
|
add r9, r0
|
|
_0803C084:
|
|
movs r5, 0x7
|
|
cmp r4, 0x3
|
|
ble _0803C09C
|
|
movs r5, 0x6
|
|
cmp r4, 0x7
|
|
ble _0803C09C
|
|
movs r5, 0x7
|
|
cmp r4, 0xF
|
|
ble _0803C09C
|
|
cmp r4, 0x13
|
|
bgt _0803C09C
|
|
movs r5, 0x6
|
|
_0803C09C:
|
|
adds r0, r4, 0
|
|
movs r1, 0xC
|
|
bl __modsi3
|
|
adds r1, r0, 0
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 1
|
|
adds r0, 0x54
|
|
add r1, sp, 0x1E4
|
|
adds r1, r4
|
|
ldrb r2, [r1]
|
|
ldr r1, [r7]
|
|
str r1, [sp]
|
|
mov r1, r9
|
|
adds r3, r5, 0
|
|
bl sub_8012C60
|
|
adds r4, 0x1
|
|
cmp r4, 0x17
|
|
ble _0803C07C
|
|
_0803C0C6:
|
|
add sp, 0x1FC
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803C0D4: .4byte gUnknown_80E8C48
|
|
_0803C0D8: .4byte gUnknown_80E8B7C
|
|
thumb_func_end sub_803B98C
|
|
|
|
thumb_func_start sub_803C0DC
|
|
sub_803C0DC:
|
|
push {lr}
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_808E770
|
|
lsls r0, 16
|
|
asrs r2, r0, 16
|
|
ldr r1, _0803C0F0
|
|
b _0803C102
|
|
.align 2, 0
|
|
_0803C0F0: .4byte gUnknown_80E80E0
|
|
_0803C0F4:
|
|
movs r3, 0
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, r2
|
|
bne _0803C100
|
|
movs r0, 0
|
|
b _0803C10C
|
|
_0803C100:
|
|
adds r1, 0x2
|
|
_0803C102:
|
|
movs r3, 0
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0
|
|
bne _0803C0F4
|
|
movs r0, 0x1
|
|
_0803C10C:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803C0DC
|
|
|
|
thumb_func_start sub_803C110
|
|
sub_803C110:
|
|
push {r4,lr}
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
adds r0, r4, 0
|
|
bl sub_8098134
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803C180
|
|
adds r0, r4, 0
|
|
bl sub_808E770
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r4, r0
|
|
bne _0803C180
|
|
adds r0, r4, 0
|
|
bl sub_803C0DC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803C180
|
|
movs r0, 0x6
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0803C188
|
|
ldr r1, _0803C184
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0
|
|
beq _0803C168
|
|
adds r2, r1, 0
|
|
_0803C154:
|
|
movs r3, 0
|
|
ldrsh r0, [r2, r3]
|
|
cmp r0, r4
|
|
beq _0803C180
|
|
adds r1, 0x2
|
|
adds r2, 0x2
|
|
movs r3, 0
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0
|
|
bne _0803C154
|
|
_0803C168:
|
|
bl sub_808D33C
|
|
movs r1, 0x8
|
|
ldrsh r0, [r0, r1]
|
|
cmp r0, r4
|
|
beq _0803C180
|
|
bl sub_808D378
|
|
movs r2, 0x8
|
|
ldrsh r0, [r0, r2]
|
|
cmp r0, r4
|
|
bne _0803C188
|
|
_0803C180:
|
|
movs r0, 0
|
|
b _0803C18A
|
|
.align 2, 0
|
|
_0803C184: .4byte gUnknown_80E8126
|
|
_0803C188:
|
|
movs r0, 0x1
|
|
_0803C18A:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803C110
|
|
|
|
thumb_func_start sub_803C190
|
|
sub_803C190:
|
|
lsls r0, 24
|
|
ldr r1, _0803C19C
|
|
lsrs r0, 21
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0803C19C: .4byte gUnknown_80EBA18
|
|
thumb_func_end sub_803C190
|
|
|
|
thumb_func_start sub_803C1A0
|
|
sub_803C1A0:
|
|
lsls r0, 24
|
|
ldr r1, _0803C1B0
|
|
lsrs r0, 21
|
|
adds r1, 0x4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0803C1B0: .4byte gUnknown_80EBA18
|
|
thumb_func_end sub_803C1A0
|
|
|
|
thumb_func_start sub_803C1B4
|
|
sub_803C1B4:
|
|
push {r4,lr}
|
|
lsls r4, r1, 24
|
|
lsrs r4, 24
|
|
bl sub_80908D8
|
|
cmp r4, 0x2
|
|
bne _0803C1C4
|
|
adds r0, 0x2
|
|
_0803C1C4:
|
|
cmp r0, 0xF
|
|
ble _0803C1CA
|
|
movs r0, 0xF
|
|
_0803C1CA:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803C1B4
|
|
|
|
thumb_func_start sub_803C1D0
|
|
sub_803C1D0:
|
|
push {lr}
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
bl sub_803C1B4
|
|
adds r1, r0, 0
|
|
lsrs r0, r1, 31
|
|
adds r0, r1, r0
|
|
asrs r1, r0, 1
|
|
lsls r0, r1, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x6
|
|
bls _0803C1EC
|
|
movs r0, 0x6
|
|
_0803C1EC:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803C1D0
|
|
|
|
thumb_func_start sub_803C1F0
|
|
sub_803C1F0:
|
|
lsls r0, 24
|
|
ldr r1, _0803C1FC
|
|
lsrs r0, 22
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0803C1FC: .4byte gUnknown_80E8BF8
|
|
thumb_func_end sub_803C1F0
|
|
|
|
thumb_func_start sub_803C200
|
|
sub_803C200:
|
|
push {lr}
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
bl sub_803C1B4
|
|
ldr r1, _0803C218
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0803C218: .4byte gUnknown_80E80A0
|
|
thumb_func_end sub_803C200
|
|
|
|
thumb_func_start sub_803C21C
|
|
sub_803C21C:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r6, r0, 0
|
|
adds r4, r1, 0
|
|
adds r0, r6, 0x4
|
|
ldrb r1, [r6, 0x1]
|
|
bl sub_803C1D0
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
movs r0, 0
|
|
str r0, [r4, 0x18]
|
|
movs r3, 0
|
|
movs r1, 0x2
|
|
adds r0, r4, 0
|
|
adds r0, 0x1E
|
|
_0803C23E:
|
|
strb r3, [r0]
|
|
subs r0, 0x1
|
|
subs r1, 0x1
|
|
cmp r1, 0
|
|
bge _0803C23E
|
|
adds r0, r4, 0
|
|
adds r0, 0x20
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
movs r1, 0xA
|
|
strb r1, [r4, 0x1F]
|
|
ldrb r1, [r6, 0x11]
|
|
adds r3, r0, 0
|
|
cmp r1, 0x9
|
|
bhi _0803C354
|
|
lsls r0, r1, 2
|
|
ldr r1, _0803C268
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803C268: .4byte _0803C26C
|
|
.align 2, 0
|
|
_0803C26C:
|
|
.4byte _0803C294
|
|
.4byte _0803C2A2
|
|
.4byte _0803C2B4
|
|
.4byte _0803C2BE
|
|
.4byte _0803C354
|
|
.4byte _0803C2E0
|
|
.4byte _0803C2EE
|
|
.4byte _0803C300
|
|
.4byte _0803C30A
|
|
.4byte _0803C34A
|
|
_0803C294:
|
|
movs r0, 0
|
|
strb r0, [r4, 0x16]
|
|
adds r1, r2, 0x1
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
str r0, [r4, 0x18]
|
|
b _0803C358
|
|
_0803C2A2:
|
|
movs r0, 0x1
|
|
strb r0, [r4, 0x16]
|
|
adds r1, r2, 0x1
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
str r0, [r4, 0x18]
|
|
ldrb r0, [r6, 0x12]
|
|
strb r0, [r4, 0x1C]
|
|
b _0803C358
|
|
_0803C2B4:
|
|
movs r0, 0x2
|
|
strb r0, [r4, 0x16]
|
|
ldrb r0, [r6, 0x12]
|
|
strb r0, [r4, 0x1C]
|
|
b _0803C358
|
|
_0803C2BE:
|
|
movs r0, 0x3
|
|
strb r0, [r4, 0x16]
|
|
ldrb r0, [r6, 0x12]
|
|
strb r0, [r4, 0x1C]
|
|
adds r5, r6, 0x4
|
|
adds r7, r4, 0
|
|
adds r7, 0x1D
|
|
_0803C2CC:
|
|
ldrb r1, [r6, 0x1]
|
|
adds r0, r5, 0
|
|
adds r2, r7, 0
|
|
bl sub_803C37C
|
|
ldrb r0, [r4, 0x1C]
|
|
ldrb r1, [r4, 0x1D]
|
|
cmp r0, r1
|
|
beq _0803C2CC
|
|
b _0803C35A
|
|
_0803C2E0:
|
|
movs r0, 0
|
|
strb r0, [r4, 0x16]
|
|
adds r1, r2, 0x1
|
|
movs r0, 0xC8
|
|
muls r0, r1
|
|
str r0, [r4, 0x18]
|
|
b _0803C358
|
|
_0803C2EE:
|
|
movs r0, 0x1
|
|
strb r0, [r4, 0x16]
|
|
adds r1, r2, 0x1
|
|
movs r0, 0xC8
|
|
muls r0, r1
|
|
str r0, [r4, 0x18]
|
|
ldrb r0, [r6, 0x12]
|
|
strb r0, [r4, 0x1C]
|
|
b _0803C358
|
|
_0803C300:
|
|
movs r0, 0x2
|
|
strb r0, [r4, 0x16]
|
|
ldrb r0, [r6, 0x12]
|
|
strb r0, [r4, 0x1C]
|
|
b _0803C358
|
|
_0803C30A:
|
|
movs r0, 0x3
|
|
strb r0, [r4, 0x16]
|
|
ldrb r0, [r6, 0x12]
|
|
strb r0, [r4, 0x1C]
|
|
adds r5, r6, 0x4
|
|
adds r7, r4, 0
|
|
adds r7, 0x1D
|
|
movs r0, 0x1E
|
|
adds r0, r4
|
|
mov r8, r0
|
|
_0803C31E:
|
|
ldrb r1, [r6, 0x1]
|
|
adds r0, r5, 0
|
|
adds r2, r7, 0
|
|
bl sub_803C37C
|
|
ldrb r0, [r4, 0x1C]
|
|
ldrb r1, [r4, 0x1D]
|
|
cmp r0, r1
|
|
beq _0803C31E
|
|
_0803C330:
|
|
ldrb r1, [r6, 0x1]
|
|
adds r0, r5, 0
|
|
mov r2, r8
|
|
bl sub_803C37C
|
|
ldrb r0, [r4, 0x1C]
|
|
ldrb r1, [r4, 0x1E]
|
|
cmp r0, r1
|
|
beq _0803C330
|
|
ldrb r0, [r4, 0x1D]
|
|
cmp r0, r1
|
|
beq _0803C330
|
|
b _0803C35A
|
|
_0803C34A:
|
|
movs r0, 0x4
|
|
strb r0, [r4, 0x16]
|
|
ldrb r0, [r6, 0x13]
|
|
strb r0, [r3]
|
|
b _0803C358
|
|
_0803C354:
|
|
movs r0, 0x5
|
|
strb r0, [r4, 0x16]
|
|
_0803C358:
|
|
adds r5, r6, 0x4
|
|
_0803C35A:
|
|
movs r0, 0xC
|
|
ldrsh r1, [r6, r0]
|
|
adds r0, r4, 0
|
|
bl sub_808D8E0
|
|
ldrh r0, [r6, 0xC]
|
|
strh r0, [r4, 0x14]
|
|
ldrb r1, [r6, 0x1]
|
|
adds r0, r5, 0
|
|
bl sub_803C200
|
|
str r0, [r4, 0x24]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803C21C
|
|
|
|
thumb_func_start sub_803C37C
|
|
sub_803C37C:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r6, r0, 0
|
|
mov r8, r2
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
bl sub_803C1B4
|
|
adds r7, r0, 0
|
|
adds r0, r6, 0
|
|
adds r1, r7, 0
|
|
bl sub_8090910
|
|
_0803C398:
|
|
movs r5, 0
|
|
adds r0, r6, 0
|
|
adds r1, r7, 0
|
|
bl sub_8090910
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0xEA
|
|
bne _0803C3BA
|
|
movs r0, 0
|
|
movs r1, 0x47
|
|
movs r2, 0x1
|
|
bl sub_8001784
|
|
negs r1, r0
|
|
orrs r1, r0
|
|
lsrs r5, r1, 31
|
|
_0803C3BA:
|
|
cmp r4, 0xEB
|
|
bne _0803C3CE
|
|
movs r0, 0
|
|
movs r1, 0x47
|
|
movs r2, 0
|
|
bl sub_8001784
|
|
cmp r0, 0
|
|
beq _0803C3CE
|
|
movs r5, 0x1
|
|
_0803C3CE:
|
|
cmp r5, 0
|
|
bne _0803C398
|
|
mov r0, r8
|
|
strb r4, [r0]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_803C37C
|
|
|
|
thumb_func_start sub_803C3E0
|
|
sub_803C3E0:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x54
|
|
adds r7, r0, 0
|
|
movs r6, 0
|
|
ldr r5, _0803C42C
|
|
movs r4, 0
|
|
mov r8, sp
|
|
_0803C3F2:
|
|
movs r1, 0
|
|
ldrsh r0, [r5, r1]
|
|
bl sub_803C110
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803C41A
|
|
movs r1, 0x2
|
|
ldrsh r0, [r5, r1]
|
|
bl sub_803C110
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803C41A
|
|
mov r0, r8
|
|
adds r0, 0x4
|
|
mov r8, r0
|
|
subs r0, 0x4
|
|
stm r0!, {r4}
|
|
adds r6, 0x1
|
|
_0803C41A:
|
|
adds r5, 0x8
|
|
adds r4, 0x1
|
|
cmp r4, 0x14
|
|
ble _0803C3F2
|
|
ldr r5, _0803C42C
|
|
cmp r6, 0
|
|
bne _0803C430
|
|
movs r0, 0
|
|
b _0803C44E
|
|
.align 2, 0
|
|
_0803C42C: .4byte gUnknown_80E9920
|
|
_0803C430:
|
|
adds r0, r6, 0
|
|
bl RandomCapped
|
|
lsls r0, 2
|
|
add r0, sp
|
|
ldr r4, [r0]
|
|
lsls r0, r4, 3
|
|
adds r5, r0, r5
|
|
ldrh r0, [r5]
|
|
strh r0, [r7, 0xC]
|
|
ldrh r0, [r5, 0x2]
|
|
strh r0, [r7, 0xE]
|
|
movs r0, 0x7
|
|
strb r0, [r7, 0x2]
|
|
movs r0, 0x1
|
|
_0803C44E:
|
|
add sp, 0x54
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803C3E0
|
|
|
|
thumb_func_start sub_803C45C
|
|
sub_803C45C:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0xB4
|
|
adds r7, r0, 0
|
|
movs r6, 0
|
|
ldr r5, _0803C4CC
|
|
movs r4, 0
|
|
mov r8, sp
|
|
_0803C46E:
|
|
movs r1, 0
|
|
ldrsh r0, [r5, r1]
|
|
bl sub_803C110
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803C496
|
|
movs r1, 0x2
|
|
ldrsh r0, [r5, r1]
|
|
bl sub_803C110
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803C496
|
|
mov r0, r8
|
|
adds r0, 0x4
|
|
mov r8, r0
|
|
subs r0, 0x4
|
|
stm r0!, {r4}
|
|
adds r6, 0x1
|
|
_0803C496:
|
|
adds r5, 0xC
|
|
adds r4, 0x1
|
|
cmp r4, 0x2C
|
|
ble _0803C46E
|
|
ldr r5, _0803C4CC
|
|
cmp r6, 0
|
|
beq _0803C4E0
|
|
adds r0, r6, 0
|
|
bl RandomCapped
|
|
lsls r0, 2
|
|
add r0, sp
|
|
ldr r4, [r0]
|
|
lsls r0, r4, 1
|
|
adds r0, r4
|
|
lsls r0, 2
|
|
adds r5, r0, r5
|
|
bl Random
|
|
movs r1, 0x10
|
|
ands r1, r0
|
|
cmp r1, 0
|
|
beq _0803C4D0
|
|
ldrh r0, [r5]
|
|
strh r0, [r7, 0xC]
|
|
ldrh r0, [r5, 0x2]
|
|
b _0803C4D6
|
|
.align 2, 0
|
|
_0803C4CC: .4byte gUnknown_80E9F8C
|
|
_0803C4D0:
|
|
ldrh r0, [r5, 0x2]
|
|
strh r0, [r7, 0xC]
|
|
ldrh r0, [r5]
|
|
_0803C4D6:
|
|
strh r0, [r7, 0xE]
|
|
movs r0, 0x8
|
|
strb r0, [r7, 0x2]
|
|
movs r0, 0x1
|
|
b _0803C4E2
|
|
_0803C4E0:
|
|
movs r0, 0
|
|
_0803C4E2:
|
|
add sp, 0xB4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803C45C
|
|
|
|
thumb_func_start sub_803C4F0
|
|
sub_803C4F0:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x18
|
|
adds r7, r0, 0
|
|
movs r6, 0
|
|
ldr r5, _0803C55C
|
|
movs r4, 0
|
|
mov r8, sp
|
|
_0803C502:
|
|
movs r1, 0
|
|
ldrsh r0, [r5, r1]
|
|
bl sub_803C110
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803C52A
|
|
movs r1, 0x2
|
|
ldrsh r0, [r5, r1]
|
|
bl sub_803C110
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803C52A
|
|
mov r0, r8
|
|
adds r0, 0x4
|
|
mov r8, r0
|
|
subs r0, 0x4
|
|
stm r0!, {r4}
|
|
adds r6, 0x1
|
|
_0803C52A:
|
|
adds r5, 0x4
|
|
adds r4, 0x1
|
|
cmp r4, 0x5
|
|
ble _0803C502
|
|
ldr r5, _0803C55C
|
|
cmp r6, 0
|
|
beq _0803C570
|
|
adds r0, r6, 0
|
|
bl RandomCapped
|
|
lsls r0, 2
|
|
add r0, sp
|
|
ldr r4, [r0]
|
|
lsls r0, r4, 2
|
|
adds r5, r0, r5
|
|
bl Random
|
|
movs r1, 0x10
|
|
ands r1, r0
|
|
cmp r1, 0
|
|
beq _0803C560
|
|
ldrh r0, [r5]
|
|
strh r0, [r7, 0xC]
|
|
ldrh r0, [r5, 0x2]
|
|
b _0803C566
|
|
.align 2, 0
|
|
_0803C55C: .4byte gUnknown_80E8168
|
|
_0803C560:
|
|
ldrh r0, [r5, 0x2]
|
|
strh r0, [r7, 0xC]
|
|
ldrh r0, [r5]
|
|
_0803C566:
|
|
strh r0, [r7, 0xE]
|
|
movs r0, 0x9
|
|
strb r0, [r7, 0x2]
|
|
movs r0, 0x1
|
|
b _0803C572
|
|
_0803C570:
|
|
movs r0, 0
|
|
_0803C572:
|
|
add sp, 0x18
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803C4F0
|
|
|
|
thumb_func_start sub_803C580
|
|
sub_803C580:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x54
|
|
adds r6, r0, 0
|
|
movs r7, 0
|
|
ldr r5, _0803C5D8
|
|
movs r0, 0x6
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803C5D2
|
|
movs r4, 0
|
|
mov r8, sp
|
|
_0803C59E:
|
|
movs r1, 0
|
|
ldrsh r0, [r5, r1]
|
|
bl sub_803C110
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803C5C6
|
|
ldrb r0, [r6, 0x4]
|
|
ldrb r1, [r5, 0x2]
|
|
bl sub_8091E60
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803C5C6
|
|
mov r0, r8
|
|
adds r0, 0x4
|
|
mov r8, r0
|
|
subs r0, 0x4
|
|
stm r0!, {r4}
|
|
adds r7, 0x1
|
|
_0803C5C6:
|
|
adds r5, 0x4
|
|
adds r4, 0x1
|
|
cmp r4, 0x14
|
|
ble _0803C59E
|
|
cmp r7, 0
|
|
bne _0803C5DC
|
|
_0803C5D2:
|
|
movs r0, 0
|
|
b _0803C600
|
|
.align 2, 0
|
|
_0803C5D8: .4byte gUnknown_80E8180
|
|
_0803C5DC:
|
|
adds r0, r7, 0
|
|
bl RandomCapped
|
|
lsls r0, 2
|
|
add r0, sp
|
|
ldr r4, [r0]
|
|
lsls r1, r4, 2
|
|
ldr r0, _0803C60C
|
|
adds r5, r1, r0
|
|
ldrh r0, [r5]
|
|
strh r0, [r6, 0xC]
|
|
ldrh r0, [r5]
|
|
strh r0, [r6, 0xE]
|
|
ldrb r0, [r5, 0x2]
|
|
strb r0, [r6, 0x10]
|
|
movs r0, 0x5
|
|
strb r0, [r6, 0x2]
|
|
movs r0, 0x1
|
|
_0803C600:
|
|
add sp, 0x54
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0803C60C: .4byte gUnknown_80E8180
|
|
thumb_func_end sub_803C580
|
|
|
|
thumb_func_start sub_803C610
|
|
sub_803C610:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r4, _0803C660
|
|
add sp, r4
|
|
adds r6, r0, 0
|
|
movs r7, 0
|
|
ldr r4, _0803C664
|
|
movs r5, 0
|
|
mov r8, sp
|
|
_0803C624:
|
|
movs r1, 0
|
|
ldrsh r0, [r4, r1]
|
|
bl sub_803C110
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803C64C
|
|
ldrb r0, [r6, 0x4]
|
|
ldrb r1, [r4, 0x2]
|
|
bl sub_8091E60
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803C64C
|
|
mov r0, r8
|
|
adds r0, 0x4
|
|
mov r8, r0
|
|
subs r0, 0x4
|
|
stm r0!, {r5}
|
|
adds r7, 0x1
|
|
_0803C64C:
|
|
adds r4, 0x4
|
|
adds r5, 0x1
|
|
ldr r0, _0803C668
|
|
cmp r5, r0
|
|
ble _0803C624
|
|
cmp r7, 0
|
|
bne _0803C66C
|
|
movs r0, 0
|
|
b _0803C690
|
|
.align 2, 0
|
|
_0803C660: .4byte 0xfffff9f8
|
|
_0803C664: .4byte gUnknown_80E81D4
|
|
_0803C668: .4byte 0x00000181
|
|
_0803C66C:
|
|
adds r0, r7, 0
|
|
bl RandomCapped
|
|
lsls r0, 2
|
|
add r0, sp
|
|
ldr r5, [r0]
|
|
lsls r1, r5, 2
|
|
ldr r0, _0803C6A0
|
|
adds r4, r1, r0
|
|
ldrh r0, [r4]
|
|
strh r0, [r6, 0xC]
|
|
ldrh r0, [r4]
|
|
strh r0, [r6, 0xE]
|
|
ldrb r0, [r4, 0x2]
|
|
strb r0, [r6, 0x10]
|
|
movs r0, 0x6
|
|
strb r0, [r6, 0x2]
|
|
movs r0, 0x1
|
|
_0803C690:
|
|
movs r3, 0xC1
|
|
lsls r3, 3
|
|
add sp, r3
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0803C6A0: .4byte gUnknown_80E81D4
|
|
thumb_func_end sub_803C610
|
|
|
|
thumb_func_start sub_803C6A4
|
|
sub_803C6A4:
|
|
push {r4,lr}
|
|
ldr r4, _0803C6CC
|
|
movs r0, 0xC0
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
adds r0, 0xB4
|
|
bl sub_801317C
|
|
bl sub_803C6D0
|
|
movs r0, 0x1
|
|
bl sub_8099690
|
|
movs r0, 0x1
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0803C6CC: .4byte gUnknown_203B400
|
|
thumb_func_end sub_803C6A4
|
|
|
|
thumb_func_start sub_803C6D0
|
|
sub_803C6D0:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0803C72C
|
|
ldr r0, [r4]
|
|
adds r0, 0x4
|
|
bl sub_8001024
|
|
ldr r1, [r4]
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
str r0, [r1, 0x34]
|
|
str r0, [r1, 0x38]
|
|
movs r2, 0
|
|
movs r5, 0
|
|
adds r3, r4, 0
|
|
_0803C6EC:
|
|
ldr r0, [r4]
|
|
lsls r1, r2, 2
|
|
adds r0, 0x44
|
|
adds r0, r1
|
|
str r5, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0xC
|
|
ble _0803C6EC
|
|
ldr r1, [r3]
|
|
movs r0, 0
|
|
str r0, [r1, 0x3C]
|
|
movs r2, 0
|
|
adds r4, r3, 0
|
|
movs r1, 0
|
|
_0803C708:
|
|
ldr r0, [r4]
|
|
adds r0, 0x78
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0x36
|
|
ble _0803C708
|
|
ldr r0, [r3]
|
|
adds r0, 0x40
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r3]
|
|
adds r0, 0xB0
|
|
str r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803C72C: .4byte gUnknown_203B400
|
|
thumb_func_end sub_803C6D0
|
|
|
|
thumb_func_start sub_803C730
|
|
sub_803C730:
|
|
push {r4,r5,lr}
|
|
ldr r0, _0803C750
|
|
ldr r1, [r0]
|
|
ldr r0, [r1]
|
|
adds r0, 0x1
|
|
str r0, [r1]
|
|
ldr r0, [r1, 0x34]
|
|
cmp r0, 0xF
|
|
bls _0803C744
|
|
b _0803C848
|
|
_0803C744:
|
|
lsls r0, 2
|
|
ldr r1, _0803C754
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0803C750: .4byte gUnknown_203B400
|
|
_0803C754: .4byte _0803C758
|
|
.align 2, 0
|
|
_0803C758:
|
|
.4byte _0803C798
|
|
.4byte _0803C79E
|
|
.4byte _0803C7A4
|
|
.4byte _0803C7AA
|
|
.4byte _0803C7B0
|
|
.4byte _0803C7B6
|
|
.4byte _0803C7BC
|
|
.4byte _0803C7C2
|
|
.4byte _0803C7C8
|
|
.4byte _0803C7CE
|
|
.4byte _0803C7D4
|
|
.4byte _0803C7DA
|
|
.4byte _0803C7E0
|
|
.4byte _0803C7E6
|
|
.4byte _0803C7EC
|
|
.4byte _0803C7F2
|
|
_0803C798:
|
|
bl sub_803C870
|
|
b _0803C848
|
|
_0803C79E:
|
|
bl sub_803C908
|
|
b _0803C848
|
|
_0803C7A4:
|
|
bl sub_803C920
|
|
b _0803C848
|
|
_0803C7AA:
|
|
bl sub_803C98C
|
|
b _0803C848
|
|
_0803C7B0:
|
|
bl sub_803C9D8
|
|
b _0803C848
|
|
_0803C7B6:
|
|
bl sub_803CA54
|
|
b _0803C848
|
|
_0803C7BC:
|
|
bl sub_803CA8C
|
|
b _0803C848
|
|
_0803C7C2:
|
|
bl sub_803CAAC
|
|
b _0803C848
|
|
_0803C7C8:
|
|
bl sub_803CAD4
|
|
b _0803C848
|
|
_0803C7CE:
|
|
bl sub_803CAF4
|
|
b _0803C848
|
|
_0803C7D4:
|
|
bl sub_803CB14
|
|
b _0803C848
|
|
_0803C7DA:
|
|
bl sub_803CB5C
|
|
b _0803C848
|
|
_0803C7E0:
|
|
bl sub_803CB7C
|
|
b _0803C848
|
|
_0803C7E6:
|
|
bl sub_803CBB0
|
|
b _0803C848
|
|
_0803C7EC:
|
|
bl sub_803CBE4
|
|
b _0803C848
|
|
_0803C7F2:
|
|
bl Random
|
|
ldr r4, _0803C844
|
|
ldr r1, [r4]
|
|
ldr r1, [r1]
|
|
adds r5, r0, 0
|
|
muls r5, r1
|
|
bl Random
|
|
bl sub_8094D28
|
|
movs r1, 0
|
|
ldr r0, [r4]
|
|
adds r2, r0, 0
|
|
adds r2, 0x44
|
|
_0803C810:
|
|
ldm r2!, {r0}
|
|
adds r0, r1
|
|
adds r0, 0x3
|
|
muls r5, r0
|
|
adds r1, 0x1
|
|
cmp r1, 0xC
|
|
ble _0803C810
|
|
bl sub_8094E4C
|
|
adds r5, r0
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r5, r0
|
|
bne _0803C838
|
|
adds r4, r5, 0
|
|
_0803C82E:
|
|
bl sub_8094E4C
|
|
adds r5, r0
|
|
cmp r5, r4
|
|
beq _0803C82E
|
|
_0803C838:
|
|
adds r0, r5, 0
|
|
bl sub_8011C40
|
|
movs r0, 0x3
|
|
b _0803C84A
|
|
.align 2, 0
|
|
_0803C844: .4byte gUnknown_203B400
|
|
_0803C848:
|
|
movs r0, 0
|
|
_0803C84A:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_803C730
|
|
|
|
thumb_func_start sub_803C850
|
|
sub_803C850:
|
|
push {r4,lr}
|
|
ldr r4, _0803C86C
|
|
ldr r0, [r4]
|
|
adds r0, 0x4
|
|
bl sub_8001044
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803C86C: .4byte gUnknown_203B400
|
|
thumb_func_end sub_803C850
|
|
|
|
thumb_func_start sub_803C870
|
|
sub_803C870:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x14
|
|
ldr r5, _0803C8A4
|
|
ldr r1, [r5]
|
|
ldr r0, [r1, 0x38]
|
|
adds r0, 0x1
|
|
str r0, [r1, 0x38]
|
|
cmp r0, 0x8
|
|
ble _0803C8B4
|
|
ldr r0, _0803C8A8
|
|
ldr r3, _0803C8AC
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r4, 0x3
|
|
str r4, [sp, 0x4]
|
|
str r1, [sp, 0x8]
|
|
str r1, [sp, 0xC]
|
|
ldr r1, _0803C8B0
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_8014248
|
|
ldr r0, [r5]
|
|
str r4, [r0, 0x34]
|
|
b _0803C8F8
|
|
.align 2, 0
|
|
_0803C8A4: .4byte gUnknown_203B400
|
|
_0803C8A8: .4byte gGenderText
|
|
_0803C8AC: .4byte gUnknown_80F275C
|
|
_0803C8B0: .4byte 0x00000101
|
|
_0803C8B4:
|
|
adds r4, r5, 0
|
|
_0803C8B6:
|
|
movs r0, 0x37
|
|
bl RandomCapped
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x3C]
|
|
adds r1, 0x78
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x1
|
|
beq _0803C8B6
|
|
ldr r2, _0803C900
|
|
ldr r1, _0803C904
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, 0x3C]
|
|
adds r0, r2
|
|
ldrb r4, [r0]
|
|
movs r3, 0
|
|
adds r6, r1, 0
|
|
movs r5, 0x1
|
|
_0803C8DC:
|
|
adds r0, r3, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, r4
|
|
bne _0803C8EC
|
|
ldr r0, [r1]
|
|
adds r0, 0x78
|
|
adds r0, r3
|
|
strb r5, [r0]
|
|
_0803C8EC:
|
|
adds r3, 0x1
|
|
cmp r3, 0x36
|
|
ble _0803C8DC
|
|
ldr r1, [r6]
|
|
movs r0, 0x1
|
|
str r0, [r1, 0x34]
|
|
_0803C8F8:
|
|
add sp, 0x14
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803C900: .4byte gNatureQuestionTable
|
|
_0803C904: .4byte gUnknown_203B400
|
|
thumb_func_end sub_803C870
|
|
|
|
thumb_func_start sub_803C908
|
|
sub_803C908:
|
|
push {lr}
|
|
bl sub_803CC04
|
|
ldr r0, _0803C91C
|
|
ldr r1, [r0]
|
|
movs r0, 0x2
|
|
str r0, [r1, 0x34]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803C91C: .4byte gUnknown_203B400
|
|
thumb_func_end sub_803C908
|
|
|
|
thumb_func_start sub_803C920
|
|
sub_803C920:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803C97C
|
|
ldr r3, [sp]
|
|
cmp r3, 0x63
|
|
bne _0803C944
|
|
ldr r0, _0803C940
|
|
ldr r1, [r0]
|
|
movs r0, 0x37
|
|
str r0, [r1, 0x3C]
|
|
movs r0, 0x1
|
|
b _0803C97A
|
|
.align 2, 0
|
|
_0803C940: .4byte gUnknown_203B400
|
|
_0803C944:
|
|
ldr r1, _0803C984
|
|
ldr r2, _0803C988
|
|
ldr r0, [r2]
|
|
ldr r0, [r0, 0x3C]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
ldr r4, [r0, 0x8]
|
|
lsls r0, r3, 4
|
|
adds r4, r0
|
|
movs r3, 0
|
|
adds r6, r2, 0
|
|
adds r5, r6, 0
|
|
_0803C95E:
|
|
ldr r1, [r5]
|
|
lsls r0, r3, 2
|
|
adds r1, 0x44
|
|
adds r1, r0
|
|
adds r0, r4, r3
|
|
ldrb r2, [r0]
|
|
ldr r0, [r1]
|
|
adds r0, r2
|
|
str r0, [r1]
|
|
adds r3, 0x1
|
|
cmp r3, 0xC
|
|
ble _0803C95E
|
|
ldr r1, [r6]
|
|
movs r0, 0
|
|
_0803C97A:
|
|
str r0, [r1, 0x34]
|
|
_0803C97C:
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803C984: .4byte gPersonalityQuestionPointerTable
|
|
_0803C988: .4byte gUnknown_203B400
|
|
thumb_func_end sub_803C920
|
|
|
|
thumb_func_start sub_803C98C
|
|
sub_803C98C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803C9CA
|
|
ldr r1, [sp]
|
|
cmp r1, 0
|
|
bne _0803C9AC
|
|
ldr r0, _0803C9A8
|
|
ldr r0, [r0]
|
|
adds r0, 0xB0
|
|
b _0803C9B4
|
|
.align 2, 0
|
|
_0803C9A8: .4byte gUnknown_203B400
|
|
_0803C9AC:
|
|
ldr r0, _0803C9D0
|
|
ldr r0, [r0]
|
|
adds r0, 0xB0
|
|
movs r1, 0x1
|
|
_0803C9B4:
|
|
str r1, [r0]
|
|
ldr r0, _0803C9D4
|
|
ldr r0, [r0]
|
|
strb r1, [r0, 0xB]
|
|
movs r0, 0
|
|
bl sub_8099690
|
|
ldr r0, _0803C9D0
|
|
ldr r1, [r0]
|
|
movs r0, 0x4
|
|
str r0, [r1, 0x34]
|
|
_0803C9CA:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803C9D0: .4byte gUnknown_203B400
|
|
_0803C9D4: .4byte gUnknown_203B46C
|
|
thumb_func_end sub_803C98C
|
|
|
|
thumb_func_start sub_803C9D8
|
|
sub_803C9D8:
|
|
push {r4-r7,lr}
|
|
movs r0, 0xD
|
|
bl RandomCapped
|
|
ldr r2, _0803CA4C
|
|
ldr r1, [r2]
|
|
adds r1, 0x40
|
|
strb r0, [r1]
|
|
ldr r0, [r2]
|
|
adds r0, 0x40
|
|
ldrb r3, [r0]
|
|
adds r7, r2, 0
|
|
movs r5, 0xB
|
|
_0803C9F2:
|
|
adds r3, 0x1
|
|
cmp r3, 0xC
|
|
ble _0803C9FA
|
|
movs r3, 0
|
|
_0803C9FA:
|
|
ldr r0, [r7]
|
|
lsls r2, r3, 2
|
|
adds r1, r0, 0
|
|
adds r1, 0x44
|
|
adds r2, r1, r2
|
|
adds r4, r0, 0
|
|
adds r4, 0x40
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r2, [r2]
|
|
ldr r0, [r1]
|
|
ldr r6, _0803CA4C
|
|
cmp r2, r0
|
|
ble _0803CA1A
|
|
strb r3, [r4]
|
|
_0803CA1A:
|
|
subs r5, 0x1
|
|
cmp r5, 0
|
|
bge _0803C9F2
|
|
ldr r3, [r6]
|
|
ldr r2, _0803CA50
|
|
adds r0, r3, 0
|
|
adds r0, 0xB0
|
|
ldr r1, [r0]
|
|
lsls r1, 1
|
|
subs r0, 0x70
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
strh r0, [r3, 0x8]
|
|
bl sub_803CC40
|
|
ldr r1, [r6]
|
|
movs r0, 0x5
|
|
str r0, [r1, 0x34]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CA4C: .4byte gUnknown_203B400
|
|
_0803CA50: .4byte gStarters
|
|
thumb_func_end sub_803C9D8
|
|
|
|
thumb_func_start sub_803CA54
|
|
sub_803CA54:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803CA7A
|
|
ldr r0, _0803CA80
|
|
ldr r3, _0803CA84
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
bl sub_803CC80
|
|
ldr r0, _0803CA88
|
|
ldr r1, [r0]
|
|
movs r0, 0x6
|
|
str r0, [r1, 0x34]
|
|
_0803CA7A:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CA80: .4byte gStarterReveal
|
|
_0803CA84: .4byte 0x00000101
|
|
_0803CA88: .4byte gUnknown_203B400
|
|
thumb_func_end sub_803CA54
|
|
|
|
thumb_func_start sub_803CA8C
|
|
sub_803CA8C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803CAA2
|
|
ldr r0, _0803CAA8
|
|
ldr r1, [r0]
|
|
movs r0, 0x7
|
|
str r0, [r1, 0x34]
|
|
_0803CAA2:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CAA8: .4byte gUnknown_203B400
|
|
thumb_func_end sub_803CA8C
|
|
|
|
thumb_func_start sub_803CAAC
|
|
sub_803CAAC:
|
|
push {lr}
|
|
ldr r0, _0803CAC8
|
|
ldr r3, _0803CACC
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
ldr r0, _0803CAD0
|
|
ldr r1, [r0]
|
|
movs r0, 0x8
|
|
str r0, [r1, 0x34]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CAC8: .4byte gUnknown_80F27DC
|
|
_0803CACC: .4byte 0x00000301
|
|
_0803CAD0: .4byte gUnknown_203B400
|
|
thumb_func_end sub_803CAAC
|
|
|
|
thumb_func_start sub_803CAD4
|
|
sub_803CAD4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803CAEA
|
|
ldr r0, _0803CAF0
|
|
ldr r1, [r0]
|
|
movs r0, 0x9
|
|
str r0, [r1, 0x34]
|
|
_0803CAEA:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CAF0: .4byte gUnknown_203B400
|
|
thumb_func_end sub_803CAD4
|
|
|
|
thumb_func_start sub_803CAF4
|
|
sub_803CAF4:
|
|
push {r4,lr}
|
|
ldr r4, _0803CB10
|
|
ldr r0, [r4]
|
|
movs r1, 0x8
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_803CD08
|
|
ldr r1, [r4]
|
|
movs r0, 0xA
|
|
str r0, [r1, 0x34]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CB10: .4byte gUnknown_203B400
|
|
thumb_func_end sub_803CAF4
|
|
|
|
thumb_func_start sub_803CB14
|
|
sub_803CB14:
|
|
push {r4,r5,lr}
|
|
bl sub_803CDC0
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
ldr r0, _0803CB4C
|
|
cmp r5, r0
|
|
beq _0803CB46
|
|
subs r0, 0x1
|
|
cmp r5, r0
|
|
beq _0803CB46
|
|
bl sub_803CE6C
|
|
ldr r4, _0803CB50
|
|
ldr r0, [r4]
|
|
strh r5, [r0, 0xA]
|
|
ldr r0, _0803CB54
|
|
ldr r3, _0803CB58
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
ldr r1, [r4]
|
|
movs r0, 0xB
|
|
str r0, [r1, 0x34]
|
|
_0803CB46:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CB4C: .4byte 0x0000ffff
|
|
_0803CB50: .4byte gUnknown_203B400
|
|
_0803CB54: .4byte gUnknown_80F286C
|
|
_0803CB58: .4byte 0x00000301
|
|
thumb_func_end sub_803CB14
|
|
|
|
thumb_func_start sub_803CB5C
|
|
sub_803CB5C:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803CB72
|
|
ldr r0, _0803CB78
|
|
ldr r1, [r0]
|
|
movs r0, 0xC
|
|
str r0, [r1, 0x34]
|
|
_0803CB72:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CB78: .4byte gUnknown_203B400
|
|
thumb_func_end sub_803CB5C
|
|
|
|
thumb_func_start sub_803CB7C
|
|
sub_803CB7C:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0803CBAC
|
|
ldr r0, [r4]
|
|
adds r5, r0, 0
|
|
adds r5, 0x20
|
|
movs r1, 0xA
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_808D994
|
|
adds r1, r0, 0
|
|
adds r0, r5, 0
|
|
bl sub_80922F4
|
|
ldr r1, [r4]
|
|
adds r1, 0x20
|
|
movs r0, 0x3
|
|
bl sub_801602C
|
|
ldr r1, [r4]
|
|
movs r0, 0xD
|
|
str r0, [r1, 0x34]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CBAC: .4byte gUnknown_203B400
|
|
thumb_func_end sub_803CB7C
|
|
|
|
thumb_func_start sub_803CBB0
|
|
sub_803CBB0:
|
|
push {lr}
|
|
bl sub_8016080
|
|
cmp r0, 0
|
|
beq _0803CBD2
|
|
bl sub_80160D8
|
|
ldr r0, _0803CBD8
|
|
ldr r3, _0803CBDC
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
ldr r0, _0803CBE0
|
|
ldr r1, [r0]
|
|
movs r0, 0xE
|
|
str r0, [r1, 0x34]
|
|
_0803CBD2:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CBD8: .4byte gUnknown_80F2898
|
|
_0803CBDC: .4byte 0x00000301
|
|
_0803CBE0: .4byte gUnknown_203B400
|
|
thumb_func_end sub_803CBB0
|
|
|
|
thumb_func_start sub_803CBE4
|
|
sub_803CBE4:
|
|
push {lr}
|
|
sub sp, 0x4
|
|
mov r0, sp
|
|
bl sub_80144A4
|
|
cmp r0, 0
|
|
bne _0803CBFA
|
|
ldr r0, _0803CC00
|
|
ldr r1, [r0]
|
|
movs r0, 0xF
|
|
str r0, [r1, 0x34]
|
|
_0803CBFA:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CC00: .4byte gUnknown_203B400
|
|
thumb_func_end sub_803CBE4
|
|
|
|
thumb_func_start sub_803CC04
|
|
sub_803CC04:
|
|
push {lr}
|
|
sub sp, 0x14
|
|
ldr r1, _0803CC38
|
|
ldr r0, _0803CC3C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x3C]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
ldr r0, [r1]
|
|
ldr r3, [r1, 0x4]
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r1, 0x3
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
str r2, [sp, 0xC]
|
|
adds r1, 0xFE
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0
|
|
bl sub_8014248
|
|
add sp, 0x14
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CC38: .4byte gPersonalityQuestionPointerTable
|
|
_0803CC3C: .4byte gUnknown_203B400
|
|
thumb_func_end sub_803CC04
|
|
|
|
thumb_func_start sub_803CC40
|
|
sub_803CC40:
|
|
push {r4,lr}
|
|
ldr r0, _0803CC70
|
|
ldr r4, _0803CC74
|
|
ldr r1, [r4]
|
|
movs r2, 0x8
|
|
ldrsh r1, [r1, r2]
|
|
bl sub_808D8BC
|
|
ldr r1, _0803CC78
|
|
ldr r0, [r4]
|
|
adds r0, 0x40
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
ldr r3, _0803CC7C
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80141B4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CC70: .4byte gUnknown_202DF98
|
|
_0803CC74: .4byte gUnknown_203B400
|
|
_0803CC78: .4byte gPersonalityTypeDescriptionTable
|
|
_0803CC7C: .4byte 0x00000101
|
|
thumb_func_end sub_803CC40
|
|
|
|
thumb_func_start sub_803CC80
|
|
sub_803CC80:
|
|
push {r4-r7,lr}
|
|
sub sp, 0x60
|
|
ldr r0, _0803CD00
|
|
ldr r0, [r0]
|
|
movs r1, 0x8
|
|
ldrsh r4, [r0, r1]
|
|
mov r0, sp
|
|
bl sub_8006518
|
|
add r1, sp, 0x18
|
|
ldr r0, _0803CD04
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
bl sub_8004914
|
|
mov r0, sp
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_800641C
|
|
movs r0, 0x1
|
|
bl sub_8008C54
|
|
movs r0, 0x1
|
|
bl sub_80073B8
|
|
adds r0, r4, 0
|
|
bl sub_808DDD0
|
|
adds r5, r0, 0
|
|
ldr r0, [r5, 0x4]
|
|
ldr r6, [r0, 0xC]
|
|
movs r4, 0
|
|
movs r7, 0x8
|
|
_0803CCC8:
|
|
adds r0, r4, 0
|
|
adds r0, 0xE0
|
|
ldr r1, [r5, 0x4]
|
|
adds r1, r7
|
|
lsls r2, r4, 2
|
|
ldr r1, [r1]
|
|
adds r1, r2
|
|
bl SetBGPaletteBufferColorArray
|
|
adds r4, 0x1
|
|
cmp r4, 0xF
|
|
ble _0803CCC8
|
|
movs r0, 0x1
|
|
adds r1, r6, 0
|
|
movs r2, 0xE
|
|
bl sub_800836C
|
|
adds r0, r5, 0
|
|
bl CloseFile
|
|
movs r0, 0x1
|
|
bl sub_80073E0
|
|
add sp, 0x60
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CD00: .4byte gUnknown_203B400
|
|
_0803CD04: .4byte gUnknown_80F4244
|
|
thumb_func_end sub_803CC80
|
|
|
|
thumb_func_start sub_803CD08
|
|
sub_803CD08:
|
|
push {r4-r7,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
bl sub_803CEAC
|
|
ldr r5, _0803CDB0
|
|
ldr r0, [r5]
|
|
movs r3, 0
|
|
movs r1, 0
|
|
strh r4, [r0]
|
|
str r1, [r0, 0x4C]
|
|
adds r1, r0, 0
|
|
adds r1, 0x54
|
|
str r1, [r0, 0x50]
|
|
ldr r0, _0803CDB4
|
|
ldm r0!, {r2,r4,r6}
|
|
stm r1!, {r2,r4,r6}
|
|
ldm r0!, {r2,r4,r7}
|
|
stm r1!, {r2,r4,r7}
|
|
ldr r1, [r5]
|
|
adds r1, 0x6C
|
|
ldr r0, _0803CDB8
|
|
ldm r0!, {r2,r6,r7}
|
|
stm r1!, {r2,r6,r7}
|
|
ldm r0!, {r4,r6,r7}
|
|
stm r1!, {r4,r6,r7}
|
|
ldr r1, [r5]
|
|
ldr r2, _0803CDBC
|
|
adds r1, 0x84
|
|
adds r0, r2, 0
|
|
ldm r0!, {r4,r6,r7}
|
|
stm r1!, {r4,r6,r7}
|
|
ldm r0!, {r4,r6,r7}
|
|
stm r1!, {r4,r6,r7}
|
|
ldr r0, [r5]
|
|
adds r0, 0x9C
|
|
ldm r2!, {r1,r4,r6}
|
|
stm r0!, {r1,r4,r6}
|
|
ldm r2!, {r1,r4,r7}
|
|
stm r0!, {r1,r4,r7}
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, 0x50]
|
|
adds r0, 0xB4
|
|
str r0, [r1, 0x14]
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r5]
|
|
adds r0, 0xB5
|
|
strb r3, [r0]
|
|
ldr r0, [r5]
|
|
adds r0, 0xB6
|
|
movs r1, 0x6
|
|
strb r1, [r0]
|
|
ldr r0, [r5]
|
|
adds r0, 0xB7
|
|
strb r3, [r0]
|
|
bl sub_8004914
|
|
ldr r0, [r5]
|
|
adds r0, 0x54
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r4, [r5]
|
|
adds r4, 0x18
|
|
bl sub_803D030
|
|
adds r1, r0, 0
|
|
ldr r0, [r5]
|
|
ldr r3, [r0, 0x4C]
|
|
adds r0, r4, 0
|
|
movs r2, 0xA
|
|
bl sub_8013818
|
|
bl sub_803CEF0
|
|
bl sub_803CFC0
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CDB0: .4byte gUnknown_203B404
|
|
_0803CDB4: .4byte gUnknown_80F4290
|
|
_0803CDB8: .4byte gUnknown_80F42A8
|
|
_0803CDBC: .4byte gUnknown_80F4278
|
|
thumb_func_end sub_803CD08
|
|
|
|
thumb_func_start sub_803CDC0
|
|
sub_803CDC0:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0803CDF0
|
|
ldr r1, [r4]
|
|
movs r0, 0x30
|
|
ldrsh r5, [r1, r0]
|
|
movs r0, 0
|
|
strb r0, [r1, 0x16]
|
|
ldr r0, [r4]
|
|
adds r0, 0x18
|
|
bl GetKeyPress
|
|
cmp r0, 0x1
|
|
bne _0803CDF4
|
|
movs r0, 0
|
|
bl sub_80119D4
|
|
ldr r0, [r4]
|
|
movs r2, 0x30
|
|
ldrsh r1, [r0, r2]
|
|
lsls r1, 1
|
|
adds r0, 0x2
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
b _0803CE2A
|
|
.align 2, 0
|
|
_0803CDF0: .4byte gUnknown_203B404
|
|
_0803CDF4:
|
|
ldr r0, [r4]
|
|
adds r0, 0x18
|
|
movs r1, 0x1
|
|
bl sub_80138B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0803CE08
|
|
bl sub_803CEF0
|
|
_0803CE08:
|
|
ldr r0, [r4]
|
|
movs r1, 0x30
|
|
ldrsh r0, [r0, r1]
|
|
cmp r5, r0
|
|
beq _0803CE16
|
|
bl sub_803CFC0
|
|
_0803CE16:
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x16]
|
|
cmp r0, 0
|
|
bne _0803CE28
|
|
ldr r0, _0803CE24
|
|
b _0803CE2A
|
|
.align 2, 0
|
|
_0803CE24: .4byte 0x0000ffff
|
|
_0803CE28:
|
|
ldr r0, _0803CE30
|
|
_0803CE2A:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0803CE30: .4byte 0x0000fffe
|
|
thumb_func_end sub_803CDC0
|
|
|
|
thumb_func_start sub_803CE34
|
|
sub_803CE34:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_803D030
|
|
adds r1, r0, 0
|
|
ldr r5, _0803CE68
|
|
ldr r0, [r5]
|
|
strh r1, [r0, 0x3A]
|
|
adds r0, 0x18
|
|
bl sub_8013984
|
|
bl sub_803CEF0
|
|
bl sub_803CFC0
|
|
cmp r4, 0
|
|
beq _0803CE62
|
|
ldr r0, [r5]
|
|
adds r0, 0x18
|
|
bl AddMenuCursorSprite
|
|
_0803CE62:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CE68: .4byte gUnknown_203B404
|
|
thumb_func_end sub_803CE34
|
|
|
|
thumb_func_start sub_803CE6C
|
|
sub_803CE6C:
|
|
push {r4,r5,lr}
|
|
ldr r4, _0803CEA4
|
|
ldr r1, [r4]
|
|
ldr r2, [r1, 0x4C]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, 0x54
|
|
ldr r0, _0803CEA8
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
bl sub_8004914
|
|
ldr r0, [r4]
|
|
adds r0, 0x54
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
bl sub_803CECC
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CEA4: .4byte gUnknown_203B404
|
|
_0803CEA8: .4byte gUnknown_80F4278
|
|
thumb_func_end sub_803CE6C
|
|
|
|
thumb_func_start sub_803CEAC
|
|
sub_803CEAC:
|
|
push {r4,lr}
|
|
ldr r4, _0803CEC4
|
|
movs r0, 0xB8
|
|
movs r1, 0x8
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
bl nullsub_135
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CEC4: .4byte gUnknown_203B404
|
|
thumb_func_end sub_803CEAC
|
|
|
|
thumb_func_start nullsub_135
|
|
nullsub_135:
|
|
bx lr
|
|
thumb_func_end nullsub_135
|
|
|
|
thumb_func_start sub_803CECC
|
|
sub_803CECC:
|
|
push {r4,lr}
|
|
ldr r4, _0803CEEC
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0803CEE4
|
|
bl nullsub_135
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0803CEE4:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CEEC: .4byte gUnknown_203B404
|
|
thumb_func_end sub_803CECC
|
|
|
|
thumb_func_start sub_803CEF0
|
|
sub_803CEF0:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
ldr r6, _0803CF60
|
|
ldr r0, [r6]
|
|
movs r1, 0x32
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0xC
|
|
bl sub_80095E4
|
|
adds r0, 0x2
|
|
lsls r0, 16
|
|
ldr r2, [r6]
|
|
ldr r3, [r2, 0x4C]
|
|
lsls r1, r3, 1
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r1, r2, r1
|
|
adds r1, 0x62
|
|
movs r4, 0
|
|
asrs r3, r0, 16
|
|
lsrs r0, 16
|
|
strh r0, [r1]
|
|
ldr r1, [r2, 0x4C]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, r0
|
|
adds r3, 0x2
|
|
adds r2, 0x64
|
|
strh r3, [r2]
|
|
bl sub_8004914
|
|
ldr r0, [r6]
|
|
adds r0, 0x54
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_800641C
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x4C]
|
|
bl sub_8008C54
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, 0x4C]
|
|
bl sub_80073B8
|
|
ldr r2, _0803CF64
|
|
ldr r0, [r6]
|
|
ldr r3, [r0, 0x4C]
|
|
str r4, [sp]
|
|
movs r0, 0xC
|
|
movs r1, 0
|
|
bl xxx_call_draw_string
|
|
movs r5, 0
|
|
b _0803CF98
|
|
.align 2, 0
|
|
_0803CF60: .4byte gUnknown_203B404
|
|
_0803CF64: .4byte gUnknown_80F42C0
|
|
_0803CF68:
|
|
ldr r0, [r6]
|
|
adds r0, 0x18
|
|
adds r1, r5, 0
|
|
bl sub_8013800
|
|
adds r4, r0, 0
|
|
ldr r0, [r6]
|
|
lsls r1, r5, 1
|
|
adds r0, 0x2
|
|
adds r0, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_808D994
|
|
adds r2, r0, 0
|
|
ldr r0, [r6]
|
|
ldr r3, [r0, 0x4C]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
adds r1, r4, 0
|
|
bl xxx_call_draw_string
|
|
adds r5, 0x1
|
|
_0803CF98:
|
|
ldr r0, [r6]
|
|
movs r1, 0x32
|
|
ldrsh r0, [r0, r1]
|
|
cmp r5, r0
|
|
blt _0803CF68
|
|
ldr r4, _0803CFBC
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, 0x4C]
|
|
bl sub_80073E0
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x16]
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803CFBC: .4byte gUnknown_203B404
|
|
thumb_func_end sub_803CEF0
|
|
|
|
thumb_func_start sub_803CFC0
|
|
sub_803CFC0:
|
|
push {r4-r7,lr}
|
|
ldr r0, _0803D02C
|
|
ldr r0, [r0]
|
|
movs r2, 0x30
|
|
ldrsh r1, [r0, r2]
|
|
lsls r1, 1
|
|
adds r0, 0x2
|
|
adds r0, r1
|
|
movs r1, 0
|
|
ldrsh r4, [r0, r1]
|
|
movs r0, 0x1
|
|
bl sub_8008C54
|
|
movs r0, 0x1
|
|
bl sub_80073B8
|
|
adds r0, r4, 0
|
|
bl sub_808DDD0
|
|
adds r5, r0, 0
|
|
ldr r0, [r5, 0x4]
|
|
ldr r6, [r0, 0x4]
|
|
movs r4, 0
|
|
movs r7, 0
|
|
_0803CFF0:
|
|
adds r0, r4, 0
|
|
adds r0, 0xE0
|
|
ldr r1, [r5, 0x4]
|
|
adds r1, r7
|
|
lsls r2, r4, 2
|
|
ldr r1, [r1]
|
|
adds r1, r2
|
|
bl SetBGPaletteBufferColorArray
|
|
adds r4, 0x1
|
|
cmp r4, 0xF
|
|
ble _0803CFF0
|
|
movs r0, 0x1
|
|
adds r1, r6, 0
|
|
movs r2, 0xE
|
|
bl sub_800836C
|
|
adds r0, r5, 0
|
|
bl CloseFile
|
|
movs r0, 0x1
|
|
bl sub_80073E0
|
|
ldr r0, _0803D02C
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x16]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0803D02C: .4byte gUnknown_203B404
|
|
thumb_func_end sub_803CFC0
|
|
|
|
thumb_func_start sub_803D030
|
|
sub_803D030:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
movs r0, 0
|
|
mov r8, r0
|
|
ldr r4, _0803D0D0
|
|
ldr r0, [r4]
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0
|
|
bl sub_808DC68
|
|
mov r1, sp
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
movs r1, 0x1
|
|
bl sub_808DC68
|
|
mov r1, sp
|
|
strb r0, [r1, 0x1]
|
|
movs r7, 0
|
|
add r6, sp, 0x4
|
|
mov r5, sp
|
|
_0803D064:
|
|
ldr r0, _0803D0D4
|
|
lsls r1, r7, 1
|
|
adds r1, r0
|
|
movs r0, 0
|
|
ldrsh r4, [r1, r0]
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl sub_808DC68
|
|
strb r0, [r6]
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_808DC68
|
|
adds r2, r0, 0
|
|
strb r2, [r6, 0x1]
|
|
ldrb r1, [r6]
|
|
cmp r1, 0
|
|
beq _0803D096
|
|
ldrb r0, [r5]
|
|
cmp r1, r0
|
|
beq _0803D0BC
|
|
ldrb r0, [r5, 0x1]
|
|
cmp r1, r0
|
|
beq _0803D0BC
|
|
_0803D096:
|
|
lsls r0, r2, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _0803D0AA
|
|
ldrb r2, [r5]
|
|
cmp r1, r2
|
|
beq _0803D0BC
|
|
ldrb r0, [r5, 0x1]
|
|
cmp r1, r0
|
|
beq _0803D0BC
|
|
_0803D0AA:
|
|
ldr r0, _0803D0D0
|
|
ldr r0, [r0]
|
|
mov r2, r8
|
|
lsls r1, r2, 1
|
|
adds r0, 0x2
|
|
adds r0, r1
|
|
strh r4, [r0]
|
|
movs r0, 0x1
|
|
add r8, r0
|
|
_0803D0BC:
|
|
adds r7, 0x1
|
|
cmp r7, 0x9
|
|
ble _0803D064
|
|
mov r0, r8
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0803D0D0: .4byte gUnknown_203B404
|
|
_0803D0D4: .4byte gPartners
|
|
thumb_func_end sub_803D030
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|