mirror of
https://github.com/pret/pokeheartgold.git
synced 2024-11-24 21:59:54 +00:00
10624 lines
192 KiB
ArmAsm
10624 lines
192 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
|
|
.text
|
|
|
|
thumb_func_start ov03_02253E20
|
|
ov03_02253E20: ; 0x02253E20
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _02253ECC ; =0x022598A0
|
|
add r4, r1, #0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
bne _02253E42
|
|
ldr r0, _02253ECC ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_020200A0
|
|
_02253E42:
|
|
cmp r4, #0
|
|
beq _02253E64
|
|
ldr r0, _02253ECC ; =0x022598A0
|
|
add r1, r5, #0
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x74]
|
|
ldr r2, [r2, #0x10]
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, _02253ECC ; =0x022598A0
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x58]
|
|
ldr r1, [r2, #0x14]
|
|
ldr r2, [r2, #0x10]
|
|
bl StringExpandPlaceholders
|
|
b _02253E72
|
|
_02253E64:
|
|
ldr r0, _02253ECC ; =0x022598A0
|
|
add r1, r5, #0
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x74]
|
|
ldr r2, [r2, #0x14]
|
|
bl ReadMsgDataIntoString
|
|
_02253E72:
|
|
ldr r0, _02253ECC ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x40
|
|
bl sub_0201D3F0
|
|
cmp r0, #0
|
|
bne _02253E90
|
|
ldr r0, _02253ECC ; =0x022598A0
|
|
mov r2, #3
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x68]
|
|
add r1, #0x40
|
|
ldr r0, [r0, #8]
|
|
bl sub_0205B514
|
|
_02253E90:
|
|
ldr r0, _02253ECC ; =0x022598A0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x68]
|
|
ldr r0, [r0, #0xc]
|
|
bl Sav2_PlayerData_GetOptionsAddr
|
|
add r1, r0, #0
|
|
ldr r0, _02253ECC ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x40
|
|
bl sub_0205B564
|
|
ldr r0, _02253ECC ; =0x022598A0
|
|
ldr r4, [r0]
|
|
ldr r0, [r4, #0x68]
|
|
ldr r0, [r0, #0xc]
|
|
bl Sav2_PlayerData_GetOptionsAddr
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
ldr r1, [r4, #0x14]
|
|
add r0, #0x40
|
|
mov r3, #1
|
|
bl sub_0205B5B4
|
|
ldr r1, _02253ECC ; =0x022598A0
|
|
ldr r1, [r1]
|
|
add r1, #0x94
|
|
strb r0, [r1]
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02253ECC: .word 0x022598A0
|
|
thumb_func_end ov03_02253E20
|
|
|
|
thumb_func_start ov03_02253ED0
|
|
ov03_02253ED0: ; 0x02253ED0
|
|
push {r0, r1, r2, r3}
|
|
push {r3, r4, lr}
|
|
sub sp, #0x34
|
|
ldr r0, _02253F6C ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x20
|
|
bl sub_0201D3F0
|
|
cmp r0, #0
|
|
bne _02253F14
|
|
ldr r0, _02253F6C ; =0x022598A0
|
|
add r3, sp, #0x60
|
|
ldr r1, [r0]
|
|
add r0, sp, #0x64
|
|
ldrb r0, [r0]
|
|
ldrb r3, [r3]
|
|
mov r2, #3
|
|
str r0, [sp]
|
|
add r0, sp, #0x68
|
|
ldrb r0, [r0]
|
|
str r0, [sp, #4]
|
|
add r0, sp, #0x6c
|
|
ldrb r0, [r0]
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0x40
|
|
ldrh r0, [r0, #0x30]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r1, #0x68]
|
|
add r1, #0x20
|
|
ldr r0, [r0, #8]
|
|
bl sub_0201D40C
|
|
_02253F14:
|
|
ldr r0, _02253F6C ; =0x022598A0
|
|
ldr r2, _02253F70 ; =0x000003D9
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
add r0, #0x20
|
|
mov r3, #0xb
|
|
bl sub_0200E580
|
|
add r4, sp, #0x40
|
|
add r3, sp, #0x14
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, _02253F6C ; =0x022598A0
|
|
mov r3, #4
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x64]
|
|
add r1, #0x20
|
|
str r1, [sp, #0x20]
|
|
str r0, [sp, #0x14]
|
|
mov r1, #0
|
|
add r0, r2, #0
|
|
add r2, r1, #0
|
|
bl ListMenuInit
|
|
ldr r1, _02253F6C ; =0x022598A0
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x5c]
|
|
ldr r0, [r1]
|
|
add r0, #0x20
|
|
bl CopyWindowToVram
|
|
add sp, #0x34
|
|
pop {r3, r4}
|
|
pop {r3}
|
|
add sp, #0x10
|
|
bx r3
|
|
nop
|
|
_02253F6C: .word 0x022598A0
|
|
_02253F70: .word 0x000003D9
|
|
thumb_func_end ov03_02253ED0
|
|
|
|
thumb_func_start ov03_02253F74
|
|
ov03_02253F74: ; 0x02253F74
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02254050 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _02253F84
|
|
bl GF_AssertFail
|
|
_02253F84:
|
|
mov r0, #4
|
|
mov r1, #0xac
|
|
bl AllocFromHeap
|
|
ldr r1, _02254050 ; =0x022598A0
|
|
mov r2, #0xac
|
|
str r0, [r1]
|
|
mov r1, #0
|
|
bl MIi_CpuFill8
|
|
ldr r0, _02254050 ; =0x022598A0
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
mov r3, #4
|
|
add r1, #0x88
|
|
str r2, [r1]
|
|
ldr r1, [r0]
|
|
str r4, [r1, #0x68]
|
|
ldr r0, [r0]
|
|
mov r1, #0x1b
|
|
add r0, #0x97
|
|
strb r2, [r0]
|
|
mov r0, #1
|
|
mov r2, #0xb6
|
|
bl NewMsgDataFromNarc
|
|
ldr r1, _02254050 ; =0x022598A0
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x74]
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, #0x68]
|
|
bl sub_0203E344
|
|
bl Sav2_PlayerData_GetProfileAddr
|
|
ldr r1, _02254050 ; =0x022598A0
|
|
ldr r1, [r1]
|
|
str r0, [r1, #0x78]
|
|
mov r0, #4
|
|
bl sub_02028ED0
|
|
ldr r1, _02254050 ; =0x022598A0
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x7c]
|
|
ldr r0, [r1]
|
|
add r0, #0x20
|
|
bl sub_0201D3C4
|
|
ldr r0, _02254050 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x30
|
|
bl sub_0201D3C4
|
|
ldr r0, _02254050 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x40
|
|
bl sub_0201D3C4
|
|
mov r0, #4
|
|
bl ScrStrBufs_new
|
|
ldr r1, _02254050 ; =0x022598A0
|
|
ldr r1, [r1]
|
|
str r0, [r1, #0x50]
|
|
mov r0, #4
|
|
bl ScrStrBufs_new
|
|
ldr r1, _02254050 ; =0x022598A0
|
|
ldr r1, [r1]
|
|
str r0, [r1, #0x54]
|
|
mov r0, #4
|
|
bl ScrStrBufs_new
|
|
ldr r1, _02254050 ; =0x022598A0
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x58]
|
|
ldr r0, [r1]
|
|
mov r2, #0
|
|
add r0, #0x98
|
|
strb r2, [r0]
|
|
add r5, r2, #0
|
|
_02254026:
|
|
ldr r0, [r1]
|
|
add r0, r0, r2
|
|
add r0, #0x80
|
|
add r2, r2, #1
|
|
strb r5, [r0]
|
|
cmp r2, #8
|
|
blt _02254026
|
|
ldr r6, _02254050 ; =0x022598A0
|
|
add r4, r5, #0
|
|
mov r7, #0x8c
|
|
_0225403A:
|
|
add r0, r7, #0
|
|
mov r1, #4
|
|
bl String_ctor
|
|
ldr r1, [r6]
|
|
add r5, r5, #1
|
|
str r0, [r1, r4]
|
|
add r4, r4, #4
|
|
cmp r5, #8
|
|
blt _0225403A
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02254050: .word 0x022598A0
|
|
thumb_func_end ov03_02253F74
|
|
|
|
thumb_func_start ov03_02254054
|
|
ov03_02254054: ; 0x02254054
|
|
push {r4, r5, r6, lr}
|
|
mov r4, #0
|
|
ldr r6, _022540E4 ; =0x022598A0
|
|
add r5, r4, #0
|
|
_0225405C:
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, r5]
|
|
bl String_dtor
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #8
|
|
blt _0225405C
|
|
ldr r0, _022540E4 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x7c]
|
|
bl FreeToHeap
|
|
ldr r0, _022540E4 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x50]
|
|
cmp r0, #0
|
|
beq _0225408C
|
|
bl ScrStrBufs_delete
|
|
ldr r0, _022540E4 ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x50]
|
|
_0225408C:
|
|
ldr r0, _022540E4 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x54]
|
|
cmp r0, #0
|
|
beq _022540A2
|
|
bl ScrStrBufs_delete
|
|
ldr r0, _022540E4 ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x54]
|
|
_022540A2:
|
|
ldr r0, _022540E4 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x58]
|
|
cmp r0, #0
|
|
beq _022540B8
|
|
bl ScrStrBufs_delete
|
|
ldr r0, _022540E4 ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x58]
|
|
_022540B8:
|
|
ldr r0, _022540E4 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x74]
|
|
bl DestroyMsgData
|
|
ldr r0, _022540E4 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #0x4c]
|
|
cmp r1, #0
|
|
beq _022540D2
|
|
add r0, #0x40
|
|
bl RemoveWindow
|
|
_022540D2:
|
|
ldr r0, _022540E4 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
bl FreeToHeap
|
|
ldr r0, _022540E4 ; =0x022598A0
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_022540E4: .word 0x022598A0
|
|
thumb_func_end ov03_02254054
|
|
|
|
thumb_func_start ov03_022540E8
|
|
ov03_022540E8: ; 0x022540E8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov03_02255B98
|
|
add r2, r0, #0
|
|
ldr r0, [r4, #0x68]
|
|
add r4, #0x91
|
|
ldrb r1, [r4]
|
|
bl sub_02058124
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_022540E8
|
|
|
|
thumb_func_start ov03_02254100
|
|
ov03_02254100: ; 0x02254100
|
|
push {r3, lr}
|
|
ldr r0, _02254118 ; =0x022598A0
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
add r0, #0x98
|
|
strb r1, [r0]
|
|
cmp r2, #0
|
|
bne _02254116
|
|
ldr r0, _0225411C ; =0x000005DC
|
|
bl PlaySE
|
|
_02254116:
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02254118: .word 0x022598A0
|
|
_0225411C: .word 0x000005DC
|
|
thumb_func_end ov03_02254100
|
|
|
|
thumb_func_start ov03_02254120
|
|
ov03_02254120: ; 0x02254120
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r1, #3
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
bl ListMenuGetTemplateField
|
|
cmp r0, #0
|
|
bls _0225414E
|
|
add r6, r4, #0
|
|
mov r7, #3
|
|
_02254134:
|
|
lsl r2, r4, #0x18
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
lsr r2, r2, #0x18
|
|
bl ov03_02254150
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
add r4, r4, #1
|
|
bl ListMenuGetTemplateField
|
|
cmp r4, r0
|
|
blo _02254134
|
|
_0225414E:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov03_02254120
|
|
|
|
thumb_func_start ov03_02254150
|
|
ov03_02254150: ; 0x02254150
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r2, #0
|
|
bl sub_0203511C
|
|
add r4, r0, #0
|
|
mov r2, #0
|
|
add r0, sp, #0xc
|
|
strh r2, [r0]
|
|
ldr r0, _022542C4 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x5c]
|
|
cmp r0, #0
|
|
beq _02254172
|
|
add r1, sp, #0xc
|
|
bl ListMenuGetScrollAndRow
|
|
_02254172:
|
|
add r0, sp, #0xc
|
|
ldrh r1, [r0]
|
|
add r1, r1, r5
|
|
strh r1, [r0]
|
|
ldr r0, _022542C4 ; =0x022598A0
|
|
lsl r5, r5, #4
|
|
ldr r0, [r0]
|
|
add r0, #0x20
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #3
|
|
sub r0, #8
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
ldr r0, _022542C4 ; =0x022598A0
|
|
lsl r3, r5, #0x10
|
|
ldr r0, [r0]
|
|
mov r1, #0xf
|
|
add r0, #0x20
|
|
mov r2, #8
|
|
lsr r3, r3, #0x10
|
|
bl FillWindowPixelRect
|
|
add r0, sp, #0xc
|
|
ldrh r2, [r0]
|
|
cmp r2, r4
|
|
bge _02254274
|
|
ldr r1, _022542C4 ; =0x022598A0
|
|
add r0, r2, #0
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #0x7c]
|
|
bl sub_020351DC
|
|
mov r3, #2
|
|
str r3, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _022542C4 ; =0x022598A0
|
|
add r2, sp, #0xc
|
|
ldr r0, [r0]
|
|
ldrh r2, [r2]
|
|
ldr r0, [r0, #0x50]
|
|
mov r1, #0
|
|
add r2, r2, #1
|
|
bl BufferIntegerAsString
|
|
ldr r0, _022542C4 ; =0x022598A0
|
|
mov r1, #1
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x50]
|
|
ldr r2, [r2, #0x7c]
|
|
bl BufferPlayersName
|
|
ldr r0, _022542C4 ; =0x022598A0
|
|
mov r1, #0x4c
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x74]
|
|
ldr r2, [r2, #4]
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, _022542C4 ; =0x022598A0
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x50]
|
|
ldmia r2!, {r1, r2}
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _022542C4 ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r2, [r0]
|
|
mov r0, #0xff
|
|
str r5, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r2, #0
|
|
str r1, [sp, #8]
|
|
ldr r2, [r2]
|
|
add r0, #0x20
|
|
mov r3, #8
|
|
bl AddTextPrinterParameterized
|
|
ldr r0, _022542C4 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x7c]
|
|
bl PlayerProfile_GetTrainerID
|
|
add r2, r0, #0
|
|
mov r1, #2
|
|
lsl r2, r2, #0x10
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _022542C4 ; =0x022598A0
|
|
lsr r2, r2, #0x10
|
|
ldr r0, [r0]
|
|
mov r3, #5
|
|
ldr r0, [r0, #0x50]
|
|
bl BufferIntegerAsString
|
|
ldr r0, _022542C4 ; =0x022598A0
|
|
mov r1, #0x4e
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x74]
|
|
ldr r2, [r2, #0xc]
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, _022542C4 ; =0x022598A0
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x50]
|
|
ldr r1, [r2, #8]
|
|
ldr r2, [r2, #0xc]
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _022542C4 ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r2, [r0]
|
|
mov r0, #0xff
|
|
str r5, [sp]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
add r0, r2, #0
|
|
ldr r2, [r2, #8]
|
|
add r0, #0x20
|
|
mov r3, #0x58
|
|
bl AddTextPrinterParameterized
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
_02254274:
|
|
mov r3, #2
|
|
str r3, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _022542C4 ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r2, r2, #1
|
|
ldr r0, [r0, #0x50]
|
|
bl BufferIntegerAsString
|
|
ldr r0, _022542C4 ; =0x022598A0
|
|
mov r1, #0x4d
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x74]
|
|
ldr r2, [r2, #4]
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, _022542C4 ; =0x022598A0
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x50]
|
|
ldmia r2!, {r1, r2}
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _022542C4 ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r2, [r0]
|
|
mov r0, #0xff
|
|
str r5, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r2, #0
|
|
str r1, [sp, #8]
|
|
ldr r2, [r2]
|
|
add r0, #0x20
|
|
mov r3, #8
|
|
bl AddTextPrinterParameterized
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_022542C4: .word 0x022598A0
|
|
thumb_func_end ov03_02254150
|
|
|
|
thumb_func_start ov03_022542C8
|
|
ov03_022542C8: ; 0x022542C8
|
|
push {r4, lr}
|
|
sub sp, #0x68
|
|
add r4, r0, #0
|
|
ldr r0, _02254398 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x30
|
|
bl sub_0201D3F0
|
|
cmp r0, #0
|
|
bne _02254302
|
|
ldr r0, _02254398 ; =0x022598A0
|
|
mov r2, #3
|
|
ldr r1, [r0]
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xc9
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r1, #0x68]
|
|
add r1, #0x30
|
|
ldr r0, [r0, #8]
|
|
mov r3, #0x17
|
|
bl sub_0201D40C
|
|
_02254302:
|
|
ldr r0, _02254398 ; =0x022598A0
|
|
ldr r2, _0225439C ; =0x000003D9
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
add r0, #0x30
|
|
mov r3, #0xb
|
|
bl sub_0200E580
|
|
ldr r0, _02254398 ; =0x022598A0
|
|
mov r1, #0xf
|
|
ldr r0, [r0]
|
|
add r0, #0x30
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02254398 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x30
|
|
bl CopyWindowToVram
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0x97
|
|
strb r1, [r0]
|
|
ldr r0, _022543A0 ; =ov03_02254D64
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl sub_0200E320
|
|
ldr r0, _02254398 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
bl ov03_022543AC
|
|
ldr r3, _022543A4 ; =0x0225927A
|
|
add r2, sp, #0x14
|
|
mov r1, #0x29
|
|
_02254348:
|
|
ldrh r0, [r3]
|
|
add r3, r3, #2
|
|
strh r0, [r2]
|
|
add r2, r2, #2
|
|
sub r1, r1, #1
|
|
bne _02254348
|
|
ldr r0, _02254398 ; =0x022598A0
|
|
ldr r1, [r0]
|
|
add r0, r1, #0
|
|
add r0, #0x91
|
|
ldrb r0, [r0]
|
|
cmp r0, #8
|
|
bne _02254370
|
|
add r1, #0x92
|
|
ldrb r0, [r1]
|
|
mov r1, #0
|
|
add r0, #0x7a
|
|
bl ov03_02253E20
|
|
b _0225438E
|
|
_02254370:
|
|
cmp r0, #0x28
|
|
bne _02254382
|
|
add r1, #0x92
|
|
ldrb r0, [r1]
|
|
mov r1, #0
|
|
add r0, #0x94
|
|
bl ov03_02253E20
|
|
b _0225438E
|
|
_02254382:
|
|
lsl r1, r0, #1
|
|
add r0, sp, #0x14
|
|
ldrh r0, [r0, r1]
|
|
mov r1, #0
|
|
bl ov03_02253E20
|
|
_0225438E:
|
|
ldr r0, _022543A8 ; =ov03_02254420
|
|
bl ov03_02254B4C
|
|
add sp, #0x68
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02254398: .word 0x022598A0
|
|
_0225439C: .word 0x000003D9
|
|
_022543A0: .word ov03_02254D64
|
|
_022543A4: .word 0x0225927A
|
|
_022543A8: .word ov03_02254420
|
|
thumb_func_end ov03_022542C8
|
|
|
|
thumb_func_start ov03_022543AC
|
|
ov03_022543AC: ; 0x022543AC
|
|
push {lr}
|
|
sub sp, #0xc
|
|
ldr r0, _0225441C ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x54]
|
|
ldr r2, [r2, #0x78]
|
|
bl BufferPlayersName
|
|
ldr r0, _0225441C ; =0x022598A0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x78]
|
|
bl PlayerProfile_GetTrainerID
|
|
add r2, r0, #0
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
lsl r2, r2, #0x10
|
|
ldr r0, _0225441C ; =0x022598A0
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0]
|
|
lsr r2, r2, #0x10
|
|
ldr r0, [r0, #0x54]
|
|
mov r3, #5
|
|
bl BufferIntegerAsString
|
|
ldr r0, _0225441C ; =0x022598A0
|
|
mov r1, #0x4b
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x74]
|
|
ldr r2, [r2, #0x18]
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, _0225441C ; =0x022598A0
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x54]
|
|
ldr r1, [r2, #0x1c]
|
|
ldr r2, [r2, #0x18]
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _0225441C ; =0x022598A0
|
|
mov r3, #2
|
|
ldr r2, [r0]
|
|
mov r1, #0
|
|
str r3, [sp]
|
|
str r1, [sp, #4]
|
|
add r0, r2, #0
|
|
str r1, [sp, #8]
|
|
ldr r2, [r2, #0x1c]
|
|
add r0, #0x30
|
|
bl AddTextPrinterParameterized
|
|
add sp, #0xc
|
|
pop {pc}
|
|
nop
|
|
_0225441C: .word 0x022598A0
|
|
thumb_func_end ov03_022543AC
|
|
|
|
thumb_func_start ov03_02254420
|
|
ov03_02254420: ; 0x02254420
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
ldr r0, _022544EC ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _022544E6
|
|
mov r0, #0x10
|
|
mov r1, #4
|
|
bl ListMenuItems_ctor
|
|
ldr r4, _022544EC ; =0x022598A0
|
|
mov r5, #0
|
|
ldr r1, [r4]
|
|
mov r6, #2
|
|
str r0, [r1, #0x64]
|
|
mov r7, #1
|
|
_02254448:
|
|
str r6, [sp]
|
|
str r7, [sp, #4]
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x50]
|
|
add r2, r5, #1
|
|
add r3, r6, #0
|
|
bl BufferIntegerAsString
|
|
ldr r2, [r4]
|
|
mov r1, #0x4d
|
|
ldr r0, [r2, #0x74]
|
|
ldr r2, [r2, #4]
|
|
bl ReadMsgDataIntoString
|
|
ldr r2, [r4]
|
|
ldr r0, [r2, #0x50]
|
|
ldmia r2!, {r1, r2}
|
|
bl StringExpandPlaceholders
|
|
ldr r1, [r4]
|
|
mov r2, #0
|
|
ldr r0, [r1, #0x64]
|
|
ldr r1, [r1]
|
|
bl ListMenuItems_AddItem
|
|
add r5, r5, #1
|
|
cmp r5, #0x10
|
|
blt _02254448
|
|
mov r1, #1
|
|
str r1, [sp, #0x10]
|
|
mov r0, #2
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x14
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0xa
|
|
mov r4, sp
|
|
str r0, [sp, #0x1c]
|
|
sub r4, #0x10
|
|
ldr r3, _022544F0 ; =0x02259164
|
|
str r1, [sp, #0x20]
|
|
add r2, r4, #0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r4!, {r0, r1, r2, r3}
|
|
bl ov03_02253ED0
|
|
ldr r0, _022544EC ; =0x022598A0
|
|
ldr r2, _022544F4 ; =0x02259134
|
|
ldr r1, [r0]
|
|
add r1, #0x9c
|
|
str r2, [r1]
|
|
ldr r1, [r0]
|
|
mov r2, #2
|
|
add r1, #0xa0
|
|
strb r2, [r1]
|
|
ldr r1, [r0]
|
|
ldr r2, _022544F8 ; =0x0000FFFF
|
|
add r1, #0xa2
|
|
strh r2, [r1]
|
|
ldr r1, [r0]
|
|
mov r2, #0
|
|
add r1, #0xa1
|
|
strb r2, [r1]
|
|
ldr r2, [r0]
|
|
mov r1, #7
|
|
ldr r0, [r2, #0x68]
|
|
add r2, #0x9c
|
|
bl ov01_021F6A9C
|
|
ldr r0, _022544FC ; =ov03_02254500
|
|
bl ov03_02254B4C
|
|
_022544E6:
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_022544EC: .word 0x022598A0
|
|
_022544F0: .word 0x02259164
|
|
_022544F4: .word 0x02259134
|
|
_022544F8: .word 0x0000FFFF
|
|
_022544FC: .word ov03_02254500
|
|
thumb_func_end ov03_02254420
|
|
|
|
thumb_func_start ov03_02254500
|
|
ov03_02254500: ; 0x02254500
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl ov03_022543AC
|
|
ldr r0, [r4, #0x68]
|
|
bl ov01_021F6B10
|
|
cmp r0, #1
|
|
bne _022545F2
|
|
bl sub_02037700
|
|
cmp r0, #0
|
|
beq _02254536
|
|
ldr r0, _022545F4 ; =0x022598A0
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
add r0, #0x88
|
|
str r1, [r0]
|
|
bl ov03_02254B44
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_0225574C
|
|
pop {r3, r4, r5, pc}
|
|
_02254536:
|
|
bl sub_02035184
|
|
cmp r0, #0
|
|
bne _02254574
|
|
ldr r0, _022545F4 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x5c]
|
|
bl ListMenu_ProcessInput
|
|
mov r2, #0
|
|
mvn r2, r2
|
|
cmp r0, r2
|
|
bne _02254578
|
|
add r1, r4, #0
|
|
add r1, #0xa2
|
|
ldrh r1, [r1]
|
|
cmp r1, #0
|
|
bne _0225456C
|
|
ldr r0, _022545F4 ; =0x022598A0
|
|
add r1, sp, #0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x5c]
|
|
bl ListMenuGetCurrentItemArrayId
|
|
add r0, sp, #0
|
|
ldrh r0, [r0]
|
|
b _02254578
|
|
_0225456C:
|
|
cmp r1, #1
|
|
bne _02254578
|
|
sub r0, r2, #1
|
|
b _02254578
|
|
_02254574:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
_02254578:
|
|
mov r1, #1
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0225458E
|
|
add r1, r1, #1
|
|
cmp r0, r1
|
|
bne _022545AC
|
|
add r0, r4, #0
|
|
bl ov03_02254600
|
|
pop {r3, r4, r5, pc}
|
|
_0225458E:
|
|
ldr r0, _022545F8 ; =0x000005DC
|
|
bl PlaySE
|
|
ldr r0, _022545F4 ; =0x022598A0
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
add r0, #0x88
|
|
str r1, [r0]
|
|
bl ov03_02254B44
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_0225574C
|
|
pop {r3, r4, r5, pc}
|
|
_022545AC:
|
|
ldr r0, _022545F8 ; =0x000005DC
|
|
bl PlaySE
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #0x5c]
|
|
add r1, #0x8e
|
|
bl ListMenuGetCurrentItemArrayId
|
|
bl sub_0203511C
|
|
add r1, r4, #0
|
|
add r1, #0x8e
|
|
ldrh r1, [r1]
|
|
cmp r0, r1
|
|
ble _022545F2
|
|
add r0, r4, #0
|
|
bl ov03_02254600
|
|
add r0, r4, #0
|
|
add r0, #0x8e
|
|
ldrh r0, [r0]
|
|
bl sub_02035150
|
|
add r1, r4, #0
|
|
add r1, #0x8e
|
|
add r4, #0x8e
|
|
strh r0, [r1]
|
|
ldrh r0, [r4]
|
|
bl sub_02058164
|
|
bl sub_02037BC8
|
|
ldr r0, _022545FC ; =ov03_02254660
|
|
bl ov03_02254B4C
|
|
_022545F2:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_022545F4: .word 0x022598A0
|
|
_022545F8: .word 0x000005DC
|
|
_022545FC: .word ov03_02254660
|
|
thumb_func_end ov03_02254500
|
|
|
|
thumb_func_start ov03_02254600
|
|
ov03_02254600: ; 0x02254600
|
|
push {r3, lr}
|
|
sub sp, #8
|
|
bl sub_02035184
|
|
cmp r0, #0
|
|
bne _02254618
|
|
ldr r0, _0225465C ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x98
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _02254656
|
|
_02254618:
|
|
ldr r0, _0225465C ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r0, #0x98
|
|
strb r1, [r0]
|
|
bl sub_02035198
|
|
mov r0, #0xc
|
|
str r0, [sp]
|
|
mov r0, #0x50
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225465C ; =0x022598A0
|
|
mov r1, #0xf
|
|
ldr r0, [r0]
|
|
mov r2, #8
|
|
add r0, #0x20
|
|
mov r3, #0
|
|
bl FillWindowPixelRect
|
|
ldr r0, _0225465C ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x5c]
|
|
bl ov03_02254120
|
|
ldr r0, _0225465C ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x20
|
|
bl CopyWindowToVram
|
|
_02254656:
|
|
add sp, #8
|
|
pop {r3, pc}
|
|
nop
|
|
_0225465C: .word 0x022598A0
|
|
thumb_func_end ov03_02254600
|
|
|
|
thumb_func_start ov03_02254660
|
|
ov03_02254660: ; 0x02254660
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl sub_02037700
|
|
cmp r0, #0
|
|
beq _02254690
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_0225574C
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl ov03_02253E20
|
|
add r0, r4, #0
|
|
bl ov03_02255ADC
|
|
ldr r0, _022546AC ; =0x022598A0
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
add r0, #0xa1
|
|
strb r1, [r0]
|
|
pop {r3, r4, r5, pc}
|
|
_02254690:
|
|
bl sub_0203769C
|
|
bl sub_02034818
|
|
cmp r0, #0
|
|
beq _022546A8
|
|
bl sub_02037BC8
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_022546B0
|
|
_022546A8:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_022546AC: .word 0x022598A0
|
|
thumb_func_end ov03_02254660
|
|
|
|
thumb_func_start ov03_022546B0
|
|
ov03_022546B0: ; 0x022546B0
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl sub_02037700
|
|
cmp r0, #0
|
|
beq _022546E4
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_0225574C
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl ov03_02253E20
|
|
add r0, r4, #0
|
|
bl ov03_02255ADC
|
|
ldr r0, _022547D0 ; =0x022598A0
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
add sp, #0xc
|
|
add r0, #0xa1
|
|
strb r1, [r0]
|
|
pop {r4, r5, pc}
|
|
_022546E4:
|
|
ldr r1, _022547D0 ; =0x022598A0
|
|
add r0, r4, #0
|
|
add r0, #0x8e
|
|
ldr r1, [r1]
|
|
ldrh r0, [r0]
|
|
ldr r1, [r1, #0x7c]
|
|
bl sub_020351DC
|
|
ldr r2, _022547D0 ; =0x022598A0
|
|
ldr r0, [r4, #0x58]
|
|
ldr r2, [r2]
|
|
mov r1, #1
|
|
ldr r2, [r2, #0x7c]
|
|
bl BufferPlayersName
|
|
bl ov03_02255B70
|
|
cmp r0, #2
|
|
bgt _02254714
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl ov03_02253E20
|
|
b _022547B4
|
|
_02254714:
|
|
ldr r0, _022547D0 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
bne _02254730
|
|
ldr r0, _022547D0 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_020200A0
|
|
_02254730:
|
|
ldr r0, _022547D0 ; =0x022598A0
|
|
mov r1, #2
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x74]
|
|
ldr r2, [r2, #0x10]
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, _022547D0 ; =0x022598A0
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x58]
|
|
ldr r1, [r2, #0x14]
|
|
ldr r2, [r2, #0x10]
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _022547D0 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x40
|
|
bl sub_0201D3F0
|
|
cmp r0, #0
|
|
bne _0225476A
|
|
ldr r0, _022547D0 ; =0x022598A0
|
|
mov r2, #3
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x68]
|
|
add r1, #0x40
|
|
ldr r0, [r0, #8]
|
|
bl sub_0205B514
|
|
_0225476A:
|
|
ldr r0, _022547D0 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x68]
|
|
ldr r0, [r0, #0xc]
|
|
bl Sav2_PlayerData_GetOptionsAddr
|
|
add r1, r0, #0
|
|
ldr r0, _022547D0 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x40
|
|
bl sub_0205B564
|
|
mov r0, #1
|
|
bl TextFlags_SetCanABSpeedUpPrint
|
|
mov r0, #0
|
|
bl sub_02002B50
|
|
mov r0, #0
|
|
bl sub_02002B8C
|
|
ldr r0, _022547D0 ; =0x022598A0
|
|
mov r3, #0
|
|
ldr r2, [r0]
|
|
mov r1, #1
|
|
str r3, [sp]
|
|
str r1, [sp, #4]
|
|
add r0, r2, #0
|
|
str r3, [sp, #8]
|
|
ldr r2, [r2, #0x14]
|
|
add r0, #0x40
|
|
bl AddTextPrinterParameterized
|
|
ldr r1, _022547D0 ; =0x022598A0
|
|
ldr r1, [r1]
|
|
add r1, #0x94
|
|
strb r0, [r1]
|
|
_022547B4:
|
|
ldr r0, _022547D0 ; =0x022598A0
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
add r1, #0xa8
|
|
str r2, [r1]
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
add r0, #0xa1
|
|
strb r1, [r0]
|
|
ldr r0, _022547D4 ; =ov03_022548E0
|
|
bl ov03_02254B4C
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_022547D0: .word 0x022598A0
|
|
_022547D4: .word ov03_022548E0
|
|
thumb_func_end ov03_022546B0
|
|
|
|
thumb_func_start ov03_022547D8
|
|
ov03_022547D8: ; 0x022547D8
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
add r4, r1, #0
|
|
bl sub_02037700
|
|
cmp r0, #0
|
|
beq _022547FE
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov03_0225574C
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl ov03_02253E20
|
|
add r0, r4, #0
|
|
bl ov03_02255ADC
|
|
b _022548D2
|
|
_022547FE:
|
|
mov r0, #0
|
|
mov r1, #3
|
|
bl sub_02037BA0
|
|
add r5, r0, #0
|
|
bl sub_0203769C
|
|
cmp r5, r0
|
|
bne _02254824
|
|
bl sub_02037BC8
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov03_0225574C
|
|
add r0, r4, #0
|
|
bl ov03_02255A70
|
|
b _022548D2
|
|
_02254824:
|
|
mov r0, #0
|
|
mov r1, #5
|
|
bl sub_02037BA0
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _02254848
|
|
bl sub_02037BC8
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov03_0225574C
|
|
add r0, r4, #0
|
|
bl ov03_02255A70
|
|
b _022548D2
|
|
_02254848:
|
|
mov r0, #0
|
|
mov r1, #4
|
|
bl sub_02037BA0
|
|
add r5, r0, #0
|
|
bl sub_0203769C
|
|
cmp r5, r0
|
|
bne _0225486A
|
|
mov r0, #0x74
|
|
mov r1, #0
|
|
bl ov03_02253E20
|
|
ldr r0, _022548D8 ; =ov03_02255280
|
|
bl ov03_02254B4C
|
|
b _022548D2
|
|
_0225486A:
|
|
mov r0, #0
|
|
mov r1, #2
|
|
bl sub_02037BA0
|
|
add r5, r0, #0
|
|
bl sub_0203769C
|
|
cmp r5, r0
|
|
bne _022548B6
|
|
bl sub_02037BC8
|
|
bl sub_020347A0
|
|
add r1, r4, #0
|
|
add r1, #0x90
|
|
strb r0, [r1]
|
|
ldr r0, _022548DC ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
bne _022548A6
|
|
ldr r0, _022548DC ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_020200A0
|
|
_022548A6:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov03_0225574C
|
|
add r0, r4, #0
|
|
bl ov03_02255804
|
|
b _022548D2
|
|
_022548B6:
|
|
bl ov03_02255C80
|
|
cmp r0, #0
|
|
beq _022548CE
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov03_0225574C
|
|
add r0, r4, #0
|
|
bl ov03_02255A70
|
|
b _022548D2
|
|
_022548CE:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_022548D2:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_022548D8: .word ov03_02255280
|
|
_022548DC: .word 0x022598A0
|
|
thumb_func_end ov03_022547D8
|
|
|
|
thumb_func_start ov03_022548E0
|
|
ov03_022548E0: ; 0x022548E0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _02254984 ; =0x022598A0
|
|
add r4, r1, #0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _02254980
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _02254936
|
|
ldr r0, _02254984 ; =0x022598A0
|
|
ldr r2, _02254988 ; =0x0225912C
|
|
ldr r1, [r0]
|
|
add r1, #0x9c
|
|
str r2, [r1]
|
|
ldr r1, [r0]
|
|
mov r2, #1
|
|
add r1, #0xa0
|
|
strb r2, [r1]
|
|
ldr r1, [r0]
|
|
ldr r2, _0225498C ; =0x0000FFFF
|
|
add r1, #0xa2
|
|
strh r2, [r1]
|
|
ldr r1, [r0]
|
|
mov r2, #0
|
|
add r1, #0xa1
|
|
strb r2, [r1]
|
|
ldr r2, [r0]
|
|
mov r1, #7
|
|
ldr r0, [r2, #0x68]
|
|
add r2, #0x9c
|
|
bl ov01_021F6A9C
|
|
mov r0, #1
|
|
add r4, #0xa8
|
|
str r0, [r4]
|
|
pop {r3, r4, r5, pc}
|
|
_02254936:
|
|
ldr r0, [r4, #0x68]
|
|
bl ov01_021F6B10
|
|
cmp r0, #1
|
|
bne _02254980
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_022547D8
|
|
cmp r0, #0
|
|
beq _02254954
|
|
mov r0, #2
|
|
add r4, #0xa1
|
|
strb r0, [r4]
|
|
pop {r3, r4, r5, pc}
|
|
_02254954:
|
|
ldr r0, _02254990 ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
bne _02254968
|
|
add r0, r4, #0
|
|
add r0, #0xa2
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
bne _02254980
|
|
_02254968:
|
|
ldr r0, _02254994 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r1, #0
|
|
add r4, #0xa8
|
|
mov r0, #3
|
|
str r1, [r4]
|
|
bl ov03_02253E20
|
|
ldr r0, _02254998 ; =ov03_0225499C
|
|
bl ov03_02254B4C
|
|
_02254980:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02254984: .word 0x022598A0
|
|
_02254988: .word 0x0225912C
|
|
_0225498C: .word 0x0000FFFF
|
|
_02254990: .word gMain
|
|
_02254994: .word 0x000005DC
|
|
_02254998: .word ov03_0225499C
|
|
thumb_func_end ov03_022548E0
|
|
|
|
thumb_func_start ov03_0225499C
|
|
ov03_0225499C: ; 0x0225499C
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl ov03_022547D8
|
|
cmp r0, #0
|
|
beq _022549B0
|
|
mov r0, #2
|
|
add r4, #0xa1
|
|
strb r0, [r4]
|
|
pop {r4, pc}
|
|
_022549B0:
|
|
ldr r0, _022549D0 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _022549CC
|
|
add r0, r4, #0
|
|
bl ov03_02255C84
|
|
ldr r0, _022549D4 ; =ov03_022549D8
|
|
bl ov03_02254B4C
|
|
_022549CC:
|
|
pop {r4, pc}
|
|
nop
|
|
_022549D0: .word 0x022598A0
|
|
_022549D4: .word ov03_022549D8
|
|
thumb_func_end ov03_0225499C
|
|
|
|
thumb_func_start ov03_022549D8
|
|
ov03_022549D8: ; 0x022549D8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _022549FA
|
|
add r0, r4, #0
|
|
bl ov03_02255CA0
|
|
cmp r0, #1
|
|
bne _02254A4E
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0xa8
|
|
str r1, [r0]
|
|
_022549FA:
|
|
add r0, r4, #0
|
|
bl ov03_02255CD0
|
|
cmp r0, #0
|
|
beq _02254A4E
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_022547D8
|
|
cmp r0, #0
|
|
beq _02254A18
|
|
add r0, r4, #0
|
|
bl ov03_02255CE4
|
|
pop {r3, r4, r5, pc}
|
|
_02254A18:
|
|
ldr r0, [r4, #0x68]
|
|
bl ov01_021F6AEC
|
|
cmp r0, #6
|
|
bne _02254A4E
|
|
add r0, r4, #0
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _02254A44
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_0225574C
|
|
mov r0, #6
|
|
mov r1, #0
|
|
bl ov03_02253E20
|
|
add r0, r4, #0
|
|
bl ov03_02255ADC
|
|
pop {r3, r4, r5, pc}
|
|
_02254A44:
|
|
cmp r0, #1
|
|
bne _02254A4E
|
|
ldr r0, _02254A50 ; =ov03_022546B0
|
|
bl ov03_02254B4C
|
|
_02254A4E:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02254A50: .word ov03_022546B0
|
|
thumb_func_end ov03_022549D8
|
|
|
|
thumb_func_start ov03_02254A54
|
|
ov03_02254A54: ; 0x02254A54
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r2, #0
|
|
mov r2, #0
|
|
add r0, sp, #0xc
|
|
strh r2, [r0]
|
|
ldr r0, _02254B28 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x5c]
|
|
cmp r0, #0
|
|
beq _02254A70
|
|
add r1, sp, #0xc
|
|
bl ListMenuGetScrollAndRow
|
|
_02254A70:
|
|
add r0, sp, #0xc
|
|
ldrh r1, [r0]
|
|
add r1, r1, r4
|
|
strh r1, [r0]
|
|
ldrh r0, [r0]
|
|
bl sub_02034818
|
|
cmp r0, #0
|
|
beq _02254B22
|
|
add r0, sp, #0xc
|
|
ldrh r0, [r0]
|
|
bl sub_02034818
|
|
add r2, r0, #0
|
|
ldr r0, _02254B28 ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x50]
|
|
bl BufferPlayersName
|
|
ldr r0, _02254B28 ; =0x022598A0
|
|
mov r1, #0x4f
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x74]
|
|
ldr r2, [r2, #4]
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, _02254B28 ; =0x022598A0
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x50]
|
|
ldmia r2!, {r1, r2}
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _02254B28 ; =0x022598A0
|
|
lsl r4, r4, #4
|
|
ldr r2, [r0]
|
|
mov r1, #0
|
|
str r4, [sp]
|
|
str r1, [sp, #4]
|
|
add r0, r2, #0
|
|
str r1, [sp, #8]
|
|
ldr r2, [r2]
|
|
add r0, #0x20
|
|
mov r3, #8
|
|
bl AddTextPrinterParameterized
|
|
add r0, sp, #0xc
|
|
ldrh r0, [r0]
|
|
bl sub_02034818
|
|
bl sub_02028F88
|
|
mov r1, #2
|
|
add r2, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _02254B28 ; =0x022598A0
|
|
mov r3, #5
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x50]
|
|
bl BufferIntegerAsString
|
|
ldr r0, _02254B28 ; =0x022598A0
|
|
mov r1, #0x4e
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x74]
|
|
ldr r2, [r2, #0xc]
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, _02254B28 ; =0x022598A0
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x50]
|
|
ldr r1, [r2, #8]
|
|
ldr r2, [r2, #0xc]
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _02254B28 ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r2, [r0]
|
|
mov r3, #0x48
|
|
str r4, [sp]
|
|
str r1, [sp, #4]
|
|
add r0, r2, #0
|
|
str r1, [sp, #8]
|
|
ldr r2, [r2, #8]
|
|
add r0, #0x20
|
|
bl AddTextPrinterParameterized
|
|
_02254B22:
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
nop
|
|
_02254B28: .word 0x022598A0
|
|
thumb_func_end ov03_02254A54
|
|
|
|
thumb_func_start ov03_02254B2C
|
|
ov03_02254B2C: ; 0x02254B2C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov03_02255B98
|
|
add r2, r0, #0
|
|
ldr r0, [r4, #0x68]
|
|
add r4, #0x91
|
|
ldrb r1, [r4]
|
|
bl sub_020580E4
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02254B2C
|
|
|
|
thumb_func_start ov03_02254B44
|
|
ov03_02254B44: ; 0x02254B44
|
|
ldr r3, _02254B48 ; =sub_02058284
|
|
bx r3
|
|
.balign 4, 0
|
|
_02254B48: .word sub_02058284
|
|
thumb_func_end ov03_02254B44
|
|
|
|
thumb_func_start ov03_02254B4C
|
|
ov03_02254B4C: ; 0x02254B4C
|
|
ldr r1, _02254B54 ; =0x022598A0
|
|
ldr r1, [r1]
|
|
str r0, [r1, #0x6c]
|
|
bx lr
|
|
.balign 4, 0
|
|
_02254B54: .word 0x022598A0
|
|
thumb_func_end ov03_02254B4C
|
|
|
|
thumb_func_start ov03_02254B58
|
|
ov03_02254B58: ; 0x02254B58
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
ldr r0, _02254BDC ; =ov03_02254D64
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl sub_0200E320
|
|
bl ov03_02254BEC
|
|
ldr r0, _02254BE0 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x30
|
|
bl sub_0201D3F0
|
|
cmp r0, #0
|
|
bne _02254BA0
|
|
ldr r0, _02254BE0 ; =0x022598A0
|
|
mov r2, #3
|
|
ldr r1, [r0]
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #9
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xcd
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r1, #0x68]
|
|
add r1, #0x30
|
|
ldr r0, [r0, #8]
|
|
mov r3, #0x16
|
|
bl sub_0201D40C
|
|
_02254BA0:
|
|
ldr r0, _02254BE0 ; =0x022598A0
|
|
ldr r2, _02254BE4 ; =0x000003D9
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
add r0, #0x30
|
|
mov r3, #0xb
|
|
bl sub_0200E580
|
|
ldr r0, _02254BE0 ; =0x022598A0
|
|
mov r1, #0xf
|
|
ldr r0, [r0]
|
|
add r0, #0x30
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02254BE0 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x30
|
|
bl CopyWindowToVram
|
|
mov r0, #1
|
|
add r4, #0x97
|
|
strb r0, [r4]
|
|
mov r0, #0
|
|
bl sub_0203476C
|
|
ldr r0, _02254BE8 ; =ov03_02254D78
|
|
bl ov03_02254B4C
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
_02254BDC: .word ov03_02254D64
|
|
_02254BE0: .word 0x022598A0
|
|
_02254BE4: .word 0x000003D9
|
|
_02254BE8: .word ov03_02254D78
|
|
thumb_func_end ov03_02254B58
|
|
|
|
thumb_func_start ov03_02254BEC
|
|
ov03_02254BEC: ; 0x02254BEC
|
|
push {lr}
|
|
sub sp, #0x54
|
|
ldr r3, _02254C94 ; =0x0225931E
|
|
add r2, sp, #0
|
|
mov r1, #0x29
|
|
_02254BF6:
|
|
ldrh r0, [r3]
|
|
add r3, r3, #2
|
|
strh r0, [r2]
|
|
add r2, r2, #2
|
|
sub r1, r1, #1
|
|
bne _02254BF6
|
|
ldr r0, _02254C98 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x91
|
|
ldrb r0, [r0]
|
|
cmp r0, #0x29
|
|
blo _02254C12
|
|
bl GF_AssertFail
|
|
_02254C12:
|
|
ldr r0, _02254C98 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x91
|
|
ldrb r0, [r0]
|
|
cmp r0, #8
|
|
bne _02254C4E
|
|
bl sub_020347A0
|
|
cmp r0, #1
|
|
ble _02254C3A
|
|
ldr r0, _02254C98 ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r0, #0x92
|
|
ldrb r0, [r0]
|
|
add r0, #0x7f
|
|
bl ov03_02253E20
|
|
add sp, #0x54
|
|
pop {pc}
|
|
_02254C3A:
|
|
ldr r0, _02254C98 ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r0, #0x92
|
|
ldrb r0, [r0]
|
|
add r0, #0x75
|
|
bl ov03_02253E20
|
|
add sp, #0x54
|
|
pop {pc}
|
|
_02254C4E:
|
|
cmp r0, #0x28
|
|
bne _02254C82
|
|
bl sub_020347A0
|
|
cmp r0, #1
|
|
ble _02254C6E
|
|
ldr r0, _02254C98 ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r0, #0x92
|
|
ldrb r0, [r0]
|
|
add r0, #0x9a
|
|
bl ov03_02253E20
|
|
add sp, #0x54
|
|
pop {pc}
|
|
_02254C6E:
|
|
ldr r0, _02254C98 ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r0, #0x92
|
|
ldrb r0, [r0]
|
|
add r0, #0x8e
|
|
bl ov03_02253E20
|
|
add sp, #0x54
|
|
pop {pc}
|
|
_02254C82:
|
|
lsl r1, r0, #1
|
|
add r0, sp, #0
|
|
ldrh r0, [r0, r1]
|
|
mov r1, #0
|
|
bl ov03_02253E20
|
|
add sp, #0x54
|
|
pop {pc}
|
|
nop
|
|
_02254C94: .word 0x0225931E
|
|
_02254C98: .word 0x022598A0
|
|
thumb_func_end ov03_02254BEC
|
|
|
|
thumb_func_start ov03_02254C9C
|
|
ov03_02254C9C: ; 0x02254C9C
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
bl sub_020347A0
|
|
add r4, r0, #0
|
|
bl ov03_02255B70
|
|
cmp r4, r0
|
|
blt _02254CB8
|
|
bl sub_020347A0
|
|
add r2, r0, #0
|
|
mov r4, #0x51
|
|
b _02254CC6
|
|
_02254CB8:
|
|
bl ov03_02255B70
|
|
add r4, r0, #0
|
|
bl sub_020347A0
|
|
sub r2, r4, r0
|
|
mov r4, #0x50
|
|
_02254CC6:
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _02254D20 ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
mov r3, #2
|
|
ldr r0, [r0, #0x54]
|
|
bl BufferIntegerAsString
|
|
ldr r0, _02254D20 ; =0x022598A0
|
|
mov r1, #0xf
|
|
ldr r0, [r0]
|
|
add r0, #0x30
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02254D20 ; =0x022598A0
|
|
add r1, r4, #0
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x74]
|
|
ldr r2, [r2, #0x1c]
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, _02254D20 ; =0x022598A0
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x54]
|
|
ldr r1, [r2, #0x18]
|
|
ldr r2, [r2, #0x1c]
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _02254D20 ; =0x022598A0
|
|
mov r3, #2
|
|
ldr r2, [r0]
|
|
mov r1, #0
|
|
str r3, [sp]
|
|
str r1, [sp, #4]
|
|
add r0, r2, #0
|
|
str r1, [sp, #8]
|
|
ldr r2, [r2, #0x18]
|
|
add r0, #0x30
|
|
bl AddTextPrinterParameterized
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
_02254D20: .word 0x022598A0
|
|
thumb_func_end ov03_02254C9C
|
|
|
|
thumb_func_start ov03_02254D24
|
|
ov03_02254D24: ; 0x02254D24
|
|
push {r4, r5, lr}
|
|
sub sp, #0x54
|
|
ldr r5, _02254D60 ; =0x02259370
|
|
add r4, r1, #0
|
|
add r3, sp, #0
|
|
mov r2, #0x29
|
|
_02254D30:
|
|
ldrh r1, [r5]
|
|
add r5, r5, #2
|
|
strh r1, [r3]
|
|
add r3, r3, #2
|
|
sub r2, r2, #1
|
|
bne _02254D30
|
|
bl sub_02034818
|
|
add r2, r0, #0
|
|
beq _02254D4C
|
|
ldr r0, [r4, #0x58]
|
|
mov r1, #1
|
|
bl BufferPlayersName
|
|
_02254D4C:
|
|
add r4, #0x91
|
|
ldrb r0, [r4]
|
|
lsl r1, r0, #1
|
|
add r0, sp, #0
|
|
ldrh r0, [r0, r1]
|
|
mov r1, #1
|
|
bl ov03_02253E20
|
|
add sp, #0x54
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_02254D60: .word 0x02259370
|
|
thumb_func_end ov03_02254D24
|
|
|
|
thumb_func_start ov03_02254D64
|
|
ov03_02254D64: ; 0x02254D64
|
|
push {r3, lr}
|
|
ldr r2, _02254D74 ; =0x022598A0
|
|
ldr r2, [r2]
|
|
ldr r2, [r2, #0x6c]
|
|
cmp r2, #0
|
|
beq _02254D72
|
|
blx r2
|
|
_02254D72:
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02254D74: .word 0x022598A0
|
|
thumb_func_end ov03_02254D64
|
|
|
|
thumb_func_start ov03_02254D78
|
|
ov03_02254D78: ; 0x02254D78
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
add r0, r1, #0
|
|
bl ov03_02254C9C
|
|
ldr r0, _02254E58 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _02254E52
|
|
mov r0, #5
|
|
mov r1, #4
|
|
bl ListMenuItems_ctor
|
|
ldr r4, _02254E58 ; =0x022598A0
|
|
mov r5, #0
|
|
ldr r1, [r4]
|
|
mov r6, #0x52
|
|
str r0, [r1, #0x64]
|
|
add r7, r5, #0
|
|
_02254DA6:
|
|
ldr r1, [r4]
|
|
add r2, r6, #0
|
|
ldr r0, [r1, #0x64]
|
|
ldr r1, [r1, #0x74]
|
|
add r3, r7, #0
|
|
bl ListMenuItems_AppendFromMsgData
|
|
add r5, r5, #1
|
|
cmp r5, #5
|
|
blt _02254DA6
|
|
ldr r1, _02254E58 ; =0x022598A0
|
|
mov r2, #1
|
|
ldr r0, [r1]
|
|
mov r3, #0
|
|
add r0, #0x98
|
|
strb r2, [r0]
|
|
add r2, r3, #0
|
|
_02254DC8:
|
|
ldr r0, [r1]
|
|
add r0, r0, r3
|
|
add r0, #0x80
|
|
add r3, r3, #1
|
|
strb r2, [r0]
|
|
cmp r3, #8
|
|
blt _02254DC8
|
|
mov r1, #1
|
|
str r1, [sp, #0x10]
|
|
mov r0, #2
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x11
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0xc
|
|
mov r4, sp
|
|
str r0, [sp, #0x1c]
|
|
sub r4, #0x10
|
|
ldr r3, _02254E5C ; =0x02259144
|
|
str r1, [sp, #0x20]
|
|
add r2, r4, #0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r4!, {r0, r1, r2, r3}
|
|
bl ov03_02253ED0
|
|
ldr r0, _02254E60 ; =ov03_02254E70
|
|
bl ov03_02254B4C
|
|
bl ov03_02255B84
|
|
cmp r0, #2
|
|
ble _02254E22
|
|
ldr r0, _02254E58 ; =0x022598A0
|
|
ldr r2, _02254E64 ; =0x0225913C
|
|
ldr r1, [r0]
|
|
add r1, #0x9c
|
|
str r2, [r1]
|
|
mov r1, #2
|
|
b _02254E2E
|
|
_02254E22:
|
|
ldr r0, _02254E58 ; =0x022598A0
|
|
ldr r2, _02254E68 ; =0x02259130
|
|
ldr r1, [r0]
|
|
add r1, #0x9c
|
|
str r2, [r1]
|
|
mov r1, #1
|
|
_02254E2E:
|
|
ldr r0, [r0]
|
|
ldr r2, _02254E6C ; =0x0000FFFF
|
|
add r0, #0xa0
|
|
strb r1, [r0]
|
|
ldr r0, _02254E58 ; =0x022598A0
|
|
ldr r1, [r0]
|
|
add r1, #0xa2
|
|
strh r2, [r1]
|
|
ldr r1, [r0]
|
|
mov r2, #0
|
|
add r1, #0xa1
|
|
strb r2, [r1]
|
|
ldr r2, [r0]
|
|
mov r1, #7
|
|
ldr r0, [r2, #0x68]
|
|
add r2, #0x9c
|
|
bl ov01_021F6A9C
|
|
_02254E52:
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02254E58: .word 0x022598A0
|
|
_02254E5C: .word 0x02259144
|
|
_02254E60: .word ov03_02254E70
|
|
_02254E64: .word 0x0225913C
|
|
_02254E68: .word 0x02259130
|
|
_02254E6C: .word 0x0000FFFF
|
|
thumb_func_end ov03_02254D78
|
|
|
|
thumb_func_start ov03_02254E70
|
|
ov03_02254E70: ; 0x02254E70
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x5c
|
|
str r0, [sp]
|
|
ldr r0, [r1, #0x68]
|
|
str r1, [sp, #4]
|
|
bl ov01_021F6B10
|
|
cmp r0, #1
|
|
beq _02254E84
|
|
b _02255058
|
|
_02254E84:
|
|
ldr r0, [sp, #4]
|
|
bl ov03_02254C9C
|
|
mov r7, #1
|
|
ldr r4, _0225505C ; =0x022598A0
|
|
mov r5, #0
|
|
add r6, r7, #0
|
|
_02254E92:
|
|
add r0, r5, #0
|
|
bl sub_02034714
|
|
cmp r0, #0
|
|
beq _02254EB0
|
|
cmp r5, #0
|
|
beq _02254EB0
|
|
ldr r0, [r4]
|
|
add r0, r0, r5
|
|
add r0, #0x80
|
|
strb r6, [r0]
|
|
ldr r0, [r4]
|
|
add r0, #0x98
|
|
strb r6, [r0]
|
|
b _02254EFA
|
|
_02254EB0:
|
|
add r0, r5, #0
|
|
bl sub_02034818
|
|
cmp r0, #0
|
|
beq _02254ED4
|
|
ldr r1, [r4]
|
|
add r0, r1, r5
|
|
add r0, #0x80
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _02254ED4
|
|
add r0, r1, r5
|
|
add r0, #0x80
|
|
strb r7, [r0]
|
|
ldr r0, [r4]
|
|
add r0, #0x98
|
|
strb r7, [r0]
|
|
b _02254EFA
|
|
_02254ED4:
|
|
add r0, r5, #0
|
|
bl sub_02034818
|
|
cmp r0, #0
|
|
bne _02254EFA
|
|
ldr r1, [r4]
|
|
add r0, r1, r5
|
|
add r0, #0x80
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _02254EFA
|
|
add r1, r1, r5
|
|
add r1, #0x80
|
|
mov r0, #0
|
|
strb r0, [r1]
|
|
ldr r1, [r4]
|
|
mov r0, #1
|
|
add r1, #0x98
|
|
strb r0, [r1]
|
|
_02254EFA:
|
|
add r5, r5, #1
|
|
cmp r5, #8
|
|
blt _02254E92
|
|
ldr r1, _0225505C ; =0x022598A0
|
|
ldr r2, [r1]
|
|
add r0, r2, #0
|
|
add r0, #0x98
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _02254F52
|
|
mov r0, #0
|
|
add r2, #0x98
|
|
strb r0, [r2]
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, #0x5c]
|
|
bl RedrawListMenu
|
|
ldr r0, _0225505C ; =0x022598A0
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
mov r5, #0
|
|
ldr r0, [r0, #0x5c]
|
|
bl ListMenuGetTemplateField
|
|
cmp r0, #0
|
|
bls _02254F52
|
|
ldr r4, _0225505C ; =0x022598A0
|
|
add r6, r5, #0
|
|
mov r7, #3
|
|
_02254F34:
|
|
ldr r0, [r4]
|
|
lsl r2, r5, #0x18
|
|
ldr r0, [r0, #0x5c]
|
|
add r1, r6, #0
|
|
lsr r2, r2, #0x18
|
|
bl ov03_02254A54
|
|
ldr r0, [r4]
|
|
add r1, r7, #0
|
|
ldr r0, [r0, #0x5c]
|
|
add r5, r5, #1
|
|
bl ListMenuGetTemplateField
|
|
cmp r5, r0
|
|
blo _02254F34
|
|
_02254F52:
|
|
ldr r0, [sp, #4]
|
|
ldr r0, [r0, #0x5c]
|
|
bl ListMenu_ProcessInput
|
|
add r4, r0, #0
|
|
bl sub_02034780
|
|
cmp r0, #0xff
|
|
beq _02254F92
|
|
bl sub_02034780
|
|
ldr r1, [sp, #4]
|
|
add r1, #0x95
|
|
strb r0, [r1]
|
|
ldr r0, _02255060 ; =0x0000060C
|
|
bl PlaySE
|
|
ldr r0, [sp, #4]
|
|
mov r1, #1
|
|
add r0, #0xa1
|
|
strb r1, [r0]
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #4]
|
|
add r0, #0x95
|
|
ldrb r0, [r0]
|
|
bl ov03_02254D24
|
|
ldr r0, _02255064 ; =ov03_02255714
|
|
bl ov03_02254B4C
|
|
add sp, #0x5c
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02254F92:
|
|
bl sub_02037700
|
|
cmp r0, #0
|
|
beq _02254FB4
|
|
bl ov03_02254B44
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #4]
|
|
bl ov03_0225574C
|
|
ldr r0, _0225505C ; =0x022598A0
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
add sp, #0x5c
|
|
add r0, #0x88
|
|
str r1, [r0]
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02254FB4:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _02254FEE
|
|
bl ov03_02255B84
|
|
cmp r0, #2
|
|
ble _02254FDE
|
|
ldr r0, _0225505C ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0xa2
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
bne _02254FD4
|
|
mov r4, #0
|
|
b _02254FEE
|
|
_02254FD4:
|
|
cmp r0, #1
|
|
bne _02254FEE
|
|
mov r4, #1
|
|
mvn r4, r4
|
|
b _02254FEE
|
|
_02254FDE:
|
|
ldr r0, _0225505C ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0xa2
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
bne _02254FEE
|
|
mov r4, #1
|
|
mvn r4, r4
|
|
_02254FEE:
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _02254FFE
|
|
add r0, r0, #1
|
|
cmp r4, r0
|
|
beq _02255058
|
|
b _0225500E
|
|
_02254FFE:
|
|
ldr r0, _02255068 ; =0x000005DC
|
|
bl PlaySE
|
|
ldr r0, _0225506C ; =ov03_0225558C
|
|
bl ov03_02254B4C
|
|
add sp, #0x5c
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0225500E:
|
|
bl ov03_02255B70
|
|
add r4, r0, #0
|
|
bl sub_020347A0
|
|
cmp r4, r0
|
|
bgt _02255058
|
|
ldr r3, _02255070 ; =0x02259184
|
|
add r2, sp, #8
|
|
mov r1, #0x29
|
|
_02255022:
|
|
ldrh r0, [r3]
|
|
add r3, r3, #2
|
|
strh r0, [r2]
|
|
add r2, r2, #2
|
|
sub r1, r1, #1
|
|
bne _02255022
|
|
ldr r0, _02255068 ; =0x000005DC
|
|
bl PlaySE
|
|
bl sub_020347A0
|
|
ldr r1, [sp, #4]
|
|
add r1, #0x90
|
|
strb r0, [r1]
|
|
ldr r0, [sp, #4]
|
|
add r0, #0x91
|
|
str r0, [sp, #4]
|
|
ldrb r0, [r0]
|
|
lsl r1, r0, #1
|
|
add r0, sp, #8
|
|
ldrh r0, [r0, r1]
|
|
mov r1, #0
|
|
bl ov03_02253E20
|
|
ldr r0, _02255074 ; =ov03_022553C8
|
|
bl ov03_02254B4C
|
|
_02255058:
|
|
add sp, #0x5c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225505C: .word 0x022598A0
|
|
_02255060: .word 0x0000060C
|
|
_02255064: .word ov03_02255714
|
|
_02255068: .word 0x000005DC
|
|
_0225506C: .word ov03_0225558C
|
|
_02255070: .word 0x02259184
|
|
_02255074: .word ov03_022553C8
|
|
thumb_func_end ov03_02254E70
|
|
|
|
thumb_func_start ov03_02255078
|
|
ov03_02255078: ; 0x02255078
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl ov03_02254C9C
|
|
add r0, r5, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _022550A0
|
|
add r0, r5, #0
|
|
bl ov03_02255CA0
|
|
cmp r0, #1
|
|
bne _022550AA
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r0, #0xa8
|
|
str r1, [r0]
|
|
_022550A0:
|
|
add r0, r5, #0
|
|
bl ov03_02255CD0
|
|
cmp r0, #0
|
|
bne _022550AC
|
|
_022550AA:
|
|
b _0225526E
|
|
_022550AC:
|
|
add r0, r5, #0
|
|
add r0, #0x95
|
|
ldrb r0, [r0]
|
|
bl sub_020373B4
|
|
cmp r0, #0
|
|
bne _02255128
|
|
add r0, r5, #0
|
|
bl ov03_02255CE4
|
|
add r0, r5, #0
|
|
add r0, #0x91
|
|
ldrb r0, [r0]
|
|
cmp r0, #8
|
|
beq _022550CE
|
|
cmp r0, #0x28
|
|
bne _02255110
|
|
_022550CE:
|
|
mov r5, #1
|
|
bl ov03_02255B84
|
|
cmp r0, #1
|
|
ble _02255100
|
|
mov r4, #5
|
|
_022550DA:
|
|
lsl r0, r5, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl sub_020373B4
|
|
cmp r0, #0
|
|
beq _022550F6
|
|
add r0, r5, #0
|
|
bl sub_020346E8
|
|
lsl r1, r5, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl sub_02037B8C
|
|
_022550F6:
|
|
add r5, r5, #1
|
|
bl ov03_02255B84
|
|
cmp r5, r0
|
|
blt _022550DA
|
|
_02255100:
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl ov03_02253E20
|
|
ldr r0, _02255270 ; =ov03_022552C8
|
|
bl ov03_02254B4C
|
|
pop {r4, r5, r6, pc}
|
|
_02255110:
|
|
add r5, #0x95
|
|
ldrb r0, [r5]
|
|
bl sub_020346E8
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl ov03_02253E20
|
|
ldr r0, _02255270 ; =ov03_022552C8
|
|
bl ov03_02254B4C
|
|
pop {r4, r5, r6, pc}
|
|
_02255128:
|
|
bl sub_02037700
|
|
cmp r0, #0
|
|
bne _02255138
|
|
bl ov03_02255C80
|
|
cmp r0, #0
|
|
beq _02255156
|
|
_02255138:
|
|
add r0, r5, #0
|
|
bl ov03_02255CE4
|
|
add r5, #0x95
|
|
ldrb r0, [r5]
|
|
bl sub_020346E8
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl ov03_02253E20
|
|
ldr r0, _02255270 ; =ov03_022552C8
|
|
bl ov03_02254B4C
|
|
pop {r4, r5, r6, pc}
|
|
_02255156:
|
|
ldr r0, [r5, #0x68]
|
|
bl ov01_021F6AEC
|
|
cmp r0, #6
|
|
beq _02255162
|
|
b _0225526E
|
|
_02255162:
|
|
add r0, r5, #0
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _02255200
|
|
add r0, r5, #0
|
|
add r0, #0x91
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
beq _02255184
|
|
cmp r0, #2
|
|
beq _02255184
|
|
add r0, #0xdb
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _022551A6
|
|
_02255184:
|
|
bl sub_020348F0
|
|
cmp r0, #0
|
|
bne _022551A6
|
|
mov r0, #0x74
|
|
mov r1, #0
|
|
bl ov03_02253E20
|
|
ldr r0, _02255274 ; =ov03_02255280
|
|
bl ov03_02254B4C
|
|
add r5, #0x95
|
|
ldrb r1, [r5]
|
|
mov r0, #4
|
|
bl sub_02037B8C
|
|
pop {r4, r5, r6, pc}
|
|
_022551A6:
|
|
add r0, r5, #0
|
|
add r0, #0x95
|
|
ldrb r0, [r0]
|
|
bl sub_0203476C
|
|
add r1, r5, #0
|
|
add r1, #0x95
|
|
ldrb r1, [r1]
|
|
mov r0, #2
|
|
bl sub_02037B8C
|
|
bl ov03_02255B84
|
|
add r4, r0, #0
|
|
bl sub_020347A0
|
|
cmp r4, r0
|
|
bne _022551F4
|
|
bl sub_020347A0
|
|
add r1, r5, #0
|
|
add r1, #0x90
|
|
strb r0, [r1]
|
|
bl ov03_02255B84
|
|
cmp r0, #2
|
|
ble _022551E4
|
|
ldr r0, _02255278 ; =ov03_02255388
|
|
bl ov03_02254B4C
|
|
pop {r4, r5, r6, pc}
|
|
_022551E4:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl ov03_0225574C
|
|
add r0, r5, #0
|
|
bl ov03_022557CC
|
|
pop {r4, r5, r6, pc}
|
|
_022551F4:
|
|
bl ov03_02254BEC
|
|
ldr r0, _0225527C ; =ov03_0225530C
|
|
bl ov03_02254B4C
|
|
pop {r4, r5, r6, pc}
|
|
_02255200:
|
|
cmp r0, #1
|
|
bne _0225526E
|
|
add r0, r5, #0
|
|
add r0, #0x91
|
|
ldrb r0, [r0]
|
|
cmp r0, #8
|
|
beq _02255212
|
|
cmp r0, #0x28
|
|
bne _02255250
|
|
_02255212:
|
|
mov r5, #1
|
|
bl ov03_02255B84
|
|
cmp r0, #1
|
|
ble _02255244
|
|
mov r4, #5
|
|
_0225521E:
|
|
lsl r0, r5, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl sub_020373B4
|
|
cmp r0, #0
|
|
beq _0225523A
|
|
add r0, r5, #0
|
|
bl sub_020346E8
|
|
lsl r1, r5, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl sub_02037B8C
|
|
_0225523A:
|
|
add r5, r5, #1
|
|
bl ov03_02255B84
|
|
cmp r5, r0
|
|
blt _0225521E
|
|
_02255244:
|
|
bl ov03_02254BEC
|
|
ldr r0, _0225527C ; =ov03_0225530C
|
|
bl ov03_02254B4C
|
|
pop {r4, r5, r6, pc}
|
|
_02255250:
|
|
add r0, r5, #0
|
|
add r0, #0x95
|
|
ldrb r0, [r0]
|
|
bl sub_020346E8
|
|
add r5, #0x95
|
|
ldrb r1, [r5]
|
|
mov r0, #3
|
|
bl sub_02037B8C
|
|
bl ov03_02254BEC
|
|
ldr r0, _0225527C ; =ov03_0225530C
|
|
bl ov03_02254B4C
|
|
_0225526E:
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_02255270: .word ov03_022552C8
|
|
_02255274: .word ov03_02255280
|
|
_02255278: .word ov03_02255388
|
|
_0225527C: .word ov03_0225530C
|
|
thumb_func_end ov03_02255078
|
|
|
|
thumb_func_start ov03_02255280
|
|
ov03_02255280: ; 0x02255280
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _022552C0 ; =0x022598A0
|
|
add r4, r1, #0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _022552BE
|
|
ldr r0, _022552C4 ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
bne _022552A8
|
|
bl sub_02025358
|
|
cmp r0, #1
|
|
bne _022552BE
|
|
_022552A8:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_0225574C
|
|
bl ov03_02254B44
|
|
ldr r0, _022552C0 ; =0x022598A0
|
|
mov r1, #4
|
|
ldr r0, [r0]
|
|
add r0, #0x88
|
|
str r1, [r0]
|
|
_022552BE:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_022552C0: .word 0x022598A0
|
|
_022552C4: .word gMain
|
|
thumb_func_end ov03_02255280
|
|
|
|
thumb_func_start ov03_022552C8
|
|
ov03_022552C8: ; 0x022552C8
|
|
push {r3, lr}
|
|
add r0, r1, #0
|
|
bl ov03_02254C9C
|
|
ldr r0, _02255300 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _022552FC
|
|
ldr r0, _02255304 ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
bne _022552F2
|
|
bl sub_02025358
|
|
cmp r0, #1
|
|
bne _022552FC
|
|
_022552F2:
|
|
bl ov03_02254BEC
|
|
ldr r0, _02255308 ; =ov03_0225530C
|
|
bl ov03_02254B4C
|
|
_022552FC:
|
|
pop {r3, pc}
|
|
nop
|
|
_02255300: .word 0x022598A0
|
|
_02255304: .word gMain
|
|
_02255308: .word ov03_0225530C
|
|
thumb_func_end ov03_022552C8
|
|
|
|
thumb_func_start ov03_0225530C
|
|
ov03_0225530C: ; 0x0225530C
|
|
push {r3, lr}
|
|
add r0, r1, #0
|
|
bl ov03_02254C9C
|
|
ldr r0, _02255374 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _02255370
|
|
ldr r0, _02255378 ; =ov03_02254E70
|
|
bl ov03_02254B4C
|
|
bl ov03_02255B84
|
|
cmp r0, #2
|
|
ble _02255340
|
|
ldr r0, _02255374 ; =0x022598A0
|
|
ldr r2, _0225537C ; =0x0225913C
|
|
ldr r1, [r0]
|
|
add r1, #0x9c
|
|
str r2, [r1]
|
|
mov r1, #2
|
|
b _0225534C
|
|
_02255340:
|
|
ldr r0, _02255374 ; =0x022598A0
|
|
ldr r2, _02255380 ; =0x02259130
|
|
ldr r1, [r0]
|
|
add r1, #0x9c
|
|
str r2, [r1]
|
|
mov r1, #1
|
|
_0225534C:
|
|
ldr r0, [r0]
|
|
ldr r2, _02255384 ; =0x0000FFFF
|
|
add r0, #0xa0
|
|
strb r1, [r0]
|
|
ldr r0, _02255374 ; =0x022598A0
|
|
ldr r1, [r0]
|
|
add r1, #0xa2
|
|
strh r2, [r1]
|
|
ldr r1, [r0]
|
|
mov r2, #0
|
|
add r1, #0xa1
|
|
strb r2, [r1]
|
|
ldr r2, [r0]
|
|
mov r1, #7
|
|
ldr r0, [r2, #0x68]
|
|
add r2, #0x9c
|
|
bl ov01_021F6A9C
|
|
_02255370:
|
|
pop {r3, pc}
|
|
nop
|
|
_02255374: .word 0x022598A0
|
|
_02255378: .word ov03_02254E70
|
|
_0225537C: .word 0x0225913C
|
|
_02255380: .word 0x02259130
|
|
_02255384: .word 0x0000FFFF
|
|
thumb_func_end ov03_0225530C
|
|
|
|
thumb_func_start ov03_02255388
|
|
ov03_02255388: ; 0x02255388
|
|
push {r3, r4, lr}
|
|
sub sp, #0x54
|
|
ldr r3, _022553C0 ; =0x022591D6
|
|
add r4, r1, #0
|
|
add r2, sp, #0
|
|
mov r1, #0x29
|
|
_02255394:
|
|
ldrh r0, [r3]
|
|
add r3, r3, #2
|
|
strh r0, [r2]
|
|
add r2, r2, #2
|
|
sub r1, r1, #1
|
|
bne _02255394
|
|
add r0, r4, #0
|
|
bl ov03_02254C9C
|
|
add r4, #0x91
|
|
ldrb r0, [r4]
|
|
lsl r1, r0, #1
|
|
add r0, sp, #0
|
|
ldrh r0, [r0, r1]
|
|
mov r1, #0
|
|
bl ov03_02253E20
|
|
ldr r0, _022553C4 ; =ov03_022553C8
|
|
bl ov03_02254B4C
|
|
add sp, #0x54
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
_022553C0: .word 0x022591D6
|
|
_022553C4: .word ov03_022553C8
|
|
thumb_func_end ov03_02255388
|
|
|
|
thumb_func_start ov03_022553C8
|
|
ov03_022553C8: ; 0x022553C8
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
bl ov03_02254C9C
|
|
mov r0, #0
|
|
bl sub_02037EC0
|
|
ldr r0, [r4, #0x5c]
|
|
bl ListMenu_ProcessInput
|
|
ldr r0, _022553FC ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _022553FA
|
|
add r0, r4, #0
|
|
bl ov03_02255C84
|
|
ldr r0, _02255400 ; =ov03_02255404
|
|
bl ov03_02254B4C
|
|
_022553FA:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_022553FC: .word 0x022598A0
|
|
_02255400: .word ov03_02255404
|
|
thumb_func_end ov03_022553C8
|
|
|
|
thumb_func_start ov03_02255404
|
|
ov03_02255404: ; 0x02255404
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl ov03_02254C9C
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _0225542C
|
|
add r0, r4, #0
|
|
bl ov03_02255CA0
|
|
cmp r0, #1
|
|
bne _022554D0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0xa8
|
|
str r1, [r0]
|
|
_0225542C:
|
|
add r0, r4, #0
|
|
bl ov03_02255CD0
|
|
cmp r0, #0
|
|
beq _022554D0
|
|
bl sub_02037700
|
|
cmp r0, #0
|
|
bne _0225544C
|
|
bl sub_02037454
|
|
add r1, r4, #0
|
|
add r1, #0x90
|
|
ldrb r1, [r1]
|
|
cmp r1, r0
|
|
beq _0225545A
|
|
_0225544C:
|
|
add r0, r4, #0
|
|
bl ov03_02255CE4
|
|
ldr r0, _022554D4 ; =ov03_022554E0
|
|
bl ov03_02254B4C
|
|
pop {r3, r4, r5, pc}
|
|
_0225545A:
|
|
ldr r0, [r4, #0x68]
|
|
bl ov01_021F6AEC
|
|
cmp r0, #6
|
|
bne _022554D0
|
|
add r0, r4, #0
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _022554B0
|
|
add r4, #0x91
|
|
ldrb r0, [r4]
|
|
cmp r0, #8
|
|
beq _0225547A
|
|
cmp r0, #0x28
|
|
bne _022554A2
|
|
_0225547A:
|
|
mov r4, #1
|
|
bl sub_02037454
|
|
cmp r0, #1
|
|
ble _022554A2
|
|
_02255484:
|
|
lsl r0, r4, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl sub_020373B4
|
|
cmp r0, #0
|
|
bne _02255498
|
|
ldr r0, _022554D4 ; =ov03_022554E0
|
|
bl ov03_02254B4C
|
|
pop {r3, r4, r5, pc}
|
|
_02255498:
|
|
add r4, r4, #1
|
|
bl sub_02037454
|
|
cmp r4, r0
|
|
blt _02255484
|
|
_022554A2:
|
|
mov r0, #0xa
|
|
bl sub_02037AC0
|
|
ldr r0, _022554D8 ; =ov03_022556BC
|
|
bl ov03_02254B4C
|
|
pop {r3, r4, r5, pc}
|
|
_022554B0:
|
|
cmp r0, #1
|
|
bne _022554D0
|
|
mov r0, #1
|
|
bl sub_02037EC0
|
|
bl ov03_02254B44
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_0225574C
|
|
ldr r0, _022554DC ; =0x022598A0
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
add r0, #0x88
|
|
str r1, [r0]
|
|
_022554D0:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_022554D4: .word ov03_022554E0
|
|
_022554D8: .word ov03_022556BC
|
|
_022554DC: .word 0x022598A0
|
|
thumb_func_end ov03_02255404
|
|
|
|
thumb_func_start ov03_022554E0
|
|
ov03_022554E0: ; 0x022554E0
|
|
push {r4, r5, lr}
|
|
sub sp, #0x54
|
|
ldr r5, _02255540 ; =0x022592CC
|
|
add r4, r1, #0
|
|
add r3, sp, #0
|
|
mov r2, #0x29
|
|
_022554EC:
|
|
ldrh r1, [r5]
|
|
add r5, r5, #2
|
|
strh r1, [r3]
|
|
add r3, r3, #2
|
|
sub r2, r2, #1
|
|
bne _022554EC
|
|
add r1, r4, #0
|
|
bl ov03_0225574C
|
|
ldr r0, _02255544 ; =0x022598A0
|
|
ldr r1, [r0]
|
|
add r0, r1, #0
|
|
add r0, #0x91
|
|
ldrb r0, [r0]
|
|
cmp r0, #8
|
|
bne _0225551A
|
|
add r1, #0x92
|
|
ldrb r0, [r1]
|
|
mov r1, #0
|
|
add r0, #0x89
|
|
bl ov03_02253E20
|
|
b _0225552C
|
|
_0225551A:
|
|
add r0, r4, #0
|
|
add r0, #0x91
|
|
ldrb r0, [r0]
|
|
lsl r1, r0, #1
|
|
add r0, sp, #0
|
|
ldrh r0, [r0, r1]
|
|
mov r1, #0
|
|
bl ov03_02253E20
|
|
_0225552C:
|
|
bl sub_02058284
|
|
ldr r0, _02255548 ; =ov03_0225554C
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl sub_0200E320
|
|
add sp, #0x54
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_02255540: .word 0x022592CC
|
|
_02255544: .word 0x022598A0
|
|
_02255548: .word ov03_0225554C
|
|
thumb_func_end ov03_022554E0
|
|
|
|
thumb_func_start ov03_0225554C
|
|
ov03_0225554C: ; 0x0225554C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02255584 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _02255582
|
|
ldr r0, _02255588 ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
bne _02255572
|
|
bl sub_02025358
|
|
cmp r0, #1
|
|
bne _02255582
|
|
_02255572:
|
|
ldr r0, _02255584 ; =0x022598A0
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
add r0, #0x88
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
bl sub_0200E390
|
|
_02255582:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02255584: .word 0x022598A0
|
|
_02255588: .word gMain
|
|
thumb_func_end ov03_0225554C
|
|
|
|
thumb_func_start ov03_0225558C
|
|
ov03_0225558C: ; 0x0225558C
|
|
push {r4, r5, lr}
|
|
sub sp, #0x54
|
|
ldr r3, _022555E8 ; =0x022593C2
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r2, sp, #0
|
|
mov r1, #0x29
|
|
_0225559A:
|
|
ldrh r0, [r3]
|
|
add r3, r3, #2
|
|
strh r0, [r2]
|
|
add r2, r2, #2
|
|
sub r1, r1, #1
|
|
bne _0225559A
|
|
add r0, r4, #0
|
|
bl ov03_02254C9C
|
|
bl sub_020347A0
|
|
cmp r0, #1
|
|
ble _022555CE
|
|
add r4, #0x91
|
|
ldrb r0, [r4]
|
|
lsl r1, r0, #1
|
|
add r0, sp, #0
|
|
ldrh r0, [r0, r1]
|
|
mov r1, #0
|
|
bl ov03_02253E20
|
|
ldr r0, _022555EC ; =ov03_022555F4
|
|
bl ov03_02254B4C
|
|
add sp, #0x54
|
|
pop {r4, r5, pc}
|
|
_022555CE:
|
|
bl ov03_02254B44
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_0225574C
|
|
ldr r0, _022555F0 ; =0x022598A0
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
add r0, #0x88
|
|
str r1, [r0]
|
|
add sp, #0x54
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_022555E8: .word 0x022593C2
|
|
_022555EC: .word ov03_022555F4
|
|
_022555F0: .word 0x022598A0
|
|
thumb_func_end ov03_0225558C
|
|
|
|
thumb_func_start ov03_022555F4
|
|
ov03_022555F4: ; 0x022555F4
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
bl ov03_02254C9C
|
|
ldr r0, [r4, #0x5c]
|
|
bl ListMenu_ProcessInput
|
|
ldr r0, _02255624 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _02255620
|
|
add r0, r4, #0
|
|
bl ov03_02255C84
|
|
ldr r0, _02255628 ; =ov03_0225562C
|
|
bl ov03_02254B4C
|
|
_02255620:
|
|
pop {r4, pc}
|
|
nop
|
|
_02255624: .word 0x022598A0
|
|
_02255628: .word ov03_0225562C
|
|
thumb_func_end ov03_022555F4
|
|
|
|
thumb_func_start ov03_0225562C
|
|
ov03_0225562C: ; 0x0225562C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl ov03_02254C9C
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _02255654
|
|
add r0, r4, #0
|
|
bl ov03_02255CA0
|
|
cmp r0, #1
|
|
bne _022556B2
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0xa8
|
|
str r1, [r0]
|
|
_02255654:
|
|
add r0, r4, #0
|
|
bl ov03_02255CD0
|
|
cmp r0, #0
|
|
beq _022556B2
|
|
bl sub_02037700
|
|
cmp r0, #0
|
|
beq _02255678
|
|
add r0, r4, #0
|
|
bl ov03_02255CE4
|
|
bl ov03_02254BEC
|
|
ldr r0, _022556B4 ; =ov03_0225530C
|
|
bl ov03_02254B4C
|
|
pop {r3, r4, r5, pc}
|
|
_02255678:
|
|
ldr r0, [r4, #0x68]
|
|
bl ov01_021F6AEC
|
|
cmp r0, #6
|
|
bne _022556B2
|
|
add r0, r4, #0
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _022556A4
|
|
bl ov03_02254B44
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_0225574C
|
|
ldr r0, _022556B8 ; =0x022598A0
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
add r0, #0x88
|
|
str r1, [r0]
|
|
pop {r3, r4, r5, pc}
|
|
_022556A4:
|
|
cmp r0, #1
|
|
bne _022556B2
|
|
bl ov03_02254BEC
|
|
ldr r0, _022556B4 ; =ov03_0225530C
|
|
bl ov03_02254B4C
|
|
_022556B2:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_022556B4: .word ov03_0225530C
|
|
_022556B8: .word 0x022598A0
|
|
thumb_func_end ov03_0225562C
|
|
|
|
thumb_func_start ov03_022556BC
|
|
ov03_022556BC: ; 0x022556BC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl sub_02037700
|
|
cmp r0, #0
|
|
bne _022556D8
|
|
bl sub_02037454
|
|
add r1, r4, #0
|
|
add r1, #0x90
|
|
ldrb r1, [r1]
|
|
cmp r1, r0
|
|
beq _022556E0
|
|
_022556D8:
|
|
ldr r0, _02255710 ; =ov03_022554E0
|
|
bl ov03_02254B4C
|
|
pop {r3, r4, r5, pc}
|
|
_022556E0:
|
|
add r0, r4, #0
|
|
bl ov03_02254C9C
|
|
ldr r0, [r4, #0x5c]
|
|
bl ListMenu_ProcessInput
|
|
mov r0, #0xa
|
|
bl sub_02037B38
|
|
cmp r0, #0
|
|
beq _0225570C
|
|
bl sub_02037A10
|
|
cmp r0, #0
|
|
beq _0225570C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_0225574C
|
|
add r0, r4, #0
|
|
bl ov03_02255B44
|
|
_0225570C:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02255710: .word ov03_022554E0
|
|
thumb_func_end ov03_022556BC
|
|
|
|
thumb_func_start ov03_02255714
|
|
ov03_02255714: ; 0x02255714
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
bl ov03_02254C9C
|
|
ldr r0, [r4, #0x5c]
|
|
bl ListMenu_ProcessInput
|
|
ldr r0, _02255744 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _02255740
|
|
add r0, r4, #0
|
|
bl ov03_02255C84
|
|
ldr r0, _02255748 ; =ov03_02255078
|
|
bl ov03_02254B4C
|
|
_02255740:
|
|
pop {r4, pc}
|
|
nop
|
|
_02255744: .word 0x022598A0
|
|
_02255748: .word ov03_02255078
|
|
thumb_func_end ov03_02255714
|
|
|
|
thumb_func_start ov03_0225574C
|
|
ov03_0225574C: ; 0x0225574C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _022557C8 ; =0x022598A0
|
|
add r4, r1, #0
|
|
ldr r0, [r0]
|
|
mov r1, #0xf
|
|
add r0, #0x40
|
|
bl FillWindowPixelBuffer
|
|
add r0, r4, #0
|
|
add r0, #0x20
|
|
mov r1, #0
|
|
bl sub_0200E5D4
|
|
ldr r0, [r4, #0x64]
|
|
bl ListMenuItems_dtor
|
|
mov r1, #0
|
|
ldr r0, [r4, #0x5c]
|
|
add r2, r1, #0
|
|
bl DestroyListMenu
|
|
mov r0, #0
|
|
str r0, [r4, #0x5c]
|
|
add r0, r4, #0
|
|
add r0, #0x20
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r4, #0
|
|
add r0, #0x20
|
|
bl RemoveWindow
|
|
add r0, r4, #0
|
|
add r0, #0x97
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _022557BC
|
|
ldr r0, _022557C8 ; =0x022598A0
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r0, #0x30
|
|
bl sub_0200E5D4
|
|
ldr r0, _022557C8 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x30
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
ldr r0, _022557C8 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x30
|
|
bl RemoveWindow
|
|
mov r0, #0
|
|
add r4, #0x97
|
|
strb r0, [r4]
|
|
_022557BC:
|
|
cmp r5, #0
|
|
beq _022557C6
|
|
add r0, r5, #0
|
|
bl sub_0200E390
|
|
_022557C6:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_022557C8: .word 0x022598A0
|
|
thumb_func_end ov03_0225574C
|
|
|
|
thumb_func_start ov03_022557CC
|
|
ov03_022557CC: ; 0x022557CC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
bl sub_02034818
|
|
add r2, r0, #0
|
|
ldr r0, [r4, #0x58]
|
|
mov r1, #1
|
|
bl BufferPlayersName
|
|
mov r0, #0x45
|
|
mov r1, #1
|
|
bl ov03_02253E20
|
|
ldr r0, _022557FC ; =ov03_02254D64
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl sub_0200E320
|
|
ldr r0, _02255800 ; =ov03_02255860
|
|
bl ov03_02254B4C
|
|
pop {r4, pc}
|
|
nop
|
|
_022557FC: .word ov03_02254D64
|
|
_02255800: .word ov03_02255860
|
|
thumb_func_end ov03_022557CC
|
|
|
|
thumb_func_start ov03_02255804
|
|
ov03_02255804: ; 0x02255804
|
|
push {r4, lr}
|
|
ldr r1, _02255854 ; =0x022598A0
|
|
add r4, r0, #0
|
|
add r0, #0x8e
|
|
ldr r1, [r1]
|
|
ldrh r0, [r0]
|
|
ldr r1, [r1, #0x7c]
|
|
bl sub_020351DC
|
|
ldr r2, _02255854 ; =0x022598A0
|
|
ldr r0, [r4, #0x58]
|
|
ldr r2, [r2]
|
|
mov r1, #1
|
|
ldr r2, [r2, #0x7c]
|
|
bl BufferPlayersName
|
|
mov r0, #4
|
|
mov r1, #1
|
|
bl ov03_02253E20
|
|
bl sub_02037454
|
|
add r1, r4, #0
|
|
add r1, #0x90
|
|
strb r0, [r1]
|
|
ldr r0, _02255858 ; =ov03_02254D64
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl sub_0200E320
|
|
ldr r0, _0225585C ; =ov03_02255860
|
|
bl ov03_02254B4C
|
|
ldr r0, _02255854 ; =0x022598A0
|
|
mov r1, #0x5a
|
|
ldr r0, [r0]
|
|
add r0, #0x96
|
|
strb r1, [r0]
|
|
pop {r4, pc}
|
|
nop
|
|
_02255854: .word 0x022598A0
|
|
_02255858: .word ov03_02254D64
|
|
_0225585C: .word ov03_02255860
|
|
thumb_func_end ov03_02255804
|
|
|
|
thumb_func_start ov03_02255860
|
|
ov03_02255860: ; 0x02255860
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl sub_0203769C
|
|
cmp r0, #0
|
|
bne _02255880
|
|
bl sub_02037454
|
|
add r4, #0x90
|
|
ldrb r1, [r4]
|
|
cmp r1, r0
|
|
beq _02255880
|
|
ldr r0, _022558B8 ; =ov03_02255A00
|
|
bl ov03_02254B4C
|
|
pop {r4, pc}
|
|
_02255880:
|
|
bl ov03_02255C80
|
|
cmp r0, #0
|
|
bne _02255890
|
|
bl sub_02037700
|
|
cmp r0, #0
|
|
beq _02255898
|
|
_02255890:
|
|
ldr r0, _022558B8 ; =ov03_02255A00
|
|
bl ov03_02254B4C
|
|
pop {r4, pc}
|
|
_02255898:
|
|
ldr r0, _022558BC ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _022558B4
|
|
mov r0, #0xa
|
|
bl sub_02037AC0
|
|
ldr r0, _022558C0 ; =ov03_022558C4
|
|
bl ov03_02254B4C
|
|
_022558B4:
|
|
pop {r4, pc}
|
|
nop
|
|
_022558B8: .word ov03_02255A00
|
|
_022558BC: .word 0x022598A0
|
|
_022558C0: .word ov03_022558C4
|
|
thumb_func_end ov03_02255860
|
|
|
|
thumb_func_start ov03_022558C4
|
|
ov03_022558C4: ; 0x022558C4
|
|
push {r4, r5, lr}
|
|
sub sp, #0x54
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl sub_0203769C
|
|
cmp r0, #0
|
|
bne _022558EA
|
|
bl sub_02037454
|
|
add r1, r4, #0
|
|
add r1, #0x90
|
|
ldrb r1, [r1]
|
|
cmp r1, r0
|
|
beq _022558EA
|
|
ldr r0, _022559F4 ; =ov03_02255A00
|
|
bl ov03_02254B4C
|
|
b _0225597A
|
|
_022558EA:
|
|
bl ov03_02255C80
|
|
cmp r0, #0
|
|
bne _022558FA
|
|
bl sub_02037700
|
|
cmp r0, #0
|
|
beq _02255904
|
|
_022558FA:
|
|
ldr r0, _022559F4 ; =ov03_02255A00
|
|
bl ov03_02254B4C
|
|
add sp, #0x54
|
|
pop {r4, r5, pc}
|
|
_02255904:
|
|
mov r0, #0
|
|
bl sub_020373B4
|
|
cmp r0, #0
|
|
bne _02255918
|
|
ldr r0, _022559F4 ; =ov03_02255A00
|
|
bl ov03_02254B4C
|
|
add sp, #0x54
|
|
pop {r4, r5, pc}
|
|
_02255918:
|
|
mov r0, #0
|
|
mov r1, #5
|
|
bl sub_02037BA0
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _02255932
|
|
ldr r0, _022559F4 ; =ov03_02255A00
|
|
bl ov03_02254B4C
|
|
add sp, #0x54
|
|
pop {r4, r5, pc}
|
|
_02255932:
|
|
mov r0, #0xa
|
|
bl sub_02037B38
|
|
cmp r0, #0
|
|
beq _0225597A
|
|
bl sub_02037A10
|
|
cmp r0, #0
|
|
beq _0225597A
|
|
ldr r0, _022559F8 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
bne _02255960
|
|
ldr r0, _022559F8 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_020200A0
|
|
_02255960:
|
|
bl sub_02037454
|
|
add r1, r4, #0
|
|
add r1, #0x90
|
|
strb r0, [r1]
|
|
add r0, r4, #0
|
|
bl ov03_02255B44
|
|
add r0, r5, #0
|
|
bl sub_0200E390
|
|
add sp, #0x54
|
|
pop {r4, r5, pc}
|
|
_0225597A:
|
|
ldr r2, _022559F8 ; =0x022598A0
|
|
ldr r0, [r2]
|
|
add r1, r0, #0
|
|
add r1, #0x96
|
|
ldrb r1, [r1]
|
|
cmp r1, #0
|
|
beq _022559F0
|
|
add r1, r0, #0
|
|
add r1, #0x96
|
|
ldrb r1, [r1]
|
|
add r0, #0x96
|
|
sub r1, r1, #1
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
add r1, r0, #0
|
|
add r1, #0x96
|
|
ldrb r1, [r1]
|
|
cmp r1, #0
|
|
bne _022559F0
|
|
ldr r5, _022559FC ; =0x02259228
|
|
add r3, sp, #0
|
|
mov r2, #0x29
|
|
_022559A6:
|
|
ldrh r1, [r5]
|
|
add r5, r5, #2
|
|
strh r1, [r3]
|
|
add r3, r3, #2
|
|
sub r2, r2, #1
|
|
bne _022559A6
|
|
add r1, r0, #0
|
|
add r1, #0x91
|
|
ldrb r1, [r1]
|
|
cmp r1, #8
|
|
bne _022559CC
|
|
add r0, #0x92
|
|
ldrb r0, [r0]
|
|
mov r1, #0
|
|
add r0, #0x84
|
|
bl ov03_02253E20
|
|
add sp, #0x54
|
|
pop {r4, r5, pc}
|
|
_022559CC:
|
|
cmp r1, #0x28
|
|
bne _022559E0
|
|
add r0, #0x92
|
|
ldrb r0, [r0]
|
|
mov r1, #0
|
|
add r0, #0xa0
|
|
bl ov03_02253E20
|
|
add sp, #0x54
|
|
pop {r4, r5, pc}
|
|
_022559E0:
|
|
add r4, #0x91
|
|
ldrb r0, [r4]
|
|
lsl r1, r0, #1
|
|
add r0, sp, #0
|
|
ldrh r0, [r0, r1]
|
|
mov r1, #0
|
|
bl ov03_02253E20
|
|
_022559F0:
|
|
add sp, #0x54
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_022559F4: .word ov03_02255A00
|
|
_022559F8: .word 0x022598A0
|
|
_022559FC: .word 0x02259228
|
|
thumb_func_end ov03_022558C4
|
|
|
|
thumb_func_start ov03_02255A00
|
|
ov03_02255A00: ; 0x02255A00
|
|
push {r3, lr}
|
|
ldr r0, _02255A24 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _02255A20
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl ov03_02253E20
|
|
ldr r0, _02255A28 ; =ov03_02255A2C
|
|
bl ov03_02254B4C
|
|
_02255A20:
|
|
pop {r3, pc}
|
|
nop
|
|
_02255A24: .word 0x022598A0
|
|
_02255A28: .word ov03_02255A2C
|
|
thumb_func_end ov03_02255A00
|
|
|
|
thumb_func_start ov03_02255A2C
|
|
ov03_02255A2C: ; 0x02255A2C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02255A68 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _02255A66
|
|
ldr r0, _02255A6C ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
bne _02255A52
|
|
bl sub_02025358
|
|
cmp r0, #1
|
|
bne _02255A66
|
|
_02255A52:
|
|
add r0, r4, #0
|
|
bl sub_0200E390
|
|
bl ov03_02254B44
|
|
ldr r0, _02255A68 ; =0x022598A0
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
add r0, #0x88
|
|
str r1, [r0]
|
|
_02255A66:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02255A68: .word 0x022598A0
|
|
_02255A6C: .word gMain
|
|
thumb_func_end ov03_02255A2C
|
|
|
|
thumb_func_start ov03_02255A70
|
|
ov03_02255A70: ; 0x02255A70
|
|
push {r4, lr}
|
|
ldr r1, _02255AA8 ; =0x022598A0
|
|
add r4, r0, #0
|
|
add r0, #0x8e
|
|
ldr r1, [r1]
|
|
ldrh r0, [r0]
|
|
ldr r1, [r1, #0x7c]
|
|
bl sub_020351DC
|
|
ldr r2, _02255AA8 ; =0x022598A0
|
|
ldr r0, [r4, #0x58]
|
|
ldr r2, [r2]
|
|
mov r1, #1
|
|
ldr r2, [r2, #0x7c]
|
|
bl BufferPlayersName
|
|
mov r0, #5
|
|
mov r1, #1
|
|
bl ov03_02253E20
|
|
bl sub_02058180
|
|
ldr r0, _02255AAC ; =ov03_02255AB0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl sub_0200E320
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02255AA8: .word 0x022598A0
|
|
_02255AAC: .word ov03_02255AB0
|
|
thumb_func_end ov03_02255A70
|
|
|
|
thumb_func_start ov03_02255AB0
|
|
ov03_02255AB0: ; 0x02255AB0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _02255AD8 ; =0x022598A0
|
|
add r4, r1, #0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _02255AD6
|
|
bl sub_02058180
|
|
add r0, r4, #0
|
|
bl ov03_022542C8
|
|
add r0, r5, #0
|
|
bl sub_0200E390
|
|
_02255AD6:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02255AD8: .word 0x022598A0
|
|
thumb_func_end ov03_02255AB0
|
|
|
|
thumb_func_start ov03_02255ADC
|
|
ov03_02255ADC: ; 0x02255ADC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl sub_02058180
|
|
mov r4, #0
|
|
_02255AE6:
|
|
add r0, r4, #0
|
|
bl sub_020346E8
|
|
add r4, r4, #1
|
|
cmp r4, #8
|
|
blt _02255AE6
|
|
ldr r0, _02255B00 ; =ov03_02255B04
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl sub_0200E320
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02255B00: .word ov03_02255B04
|
|
thumb_func_end ov03_02255ADC
|
|
|
|
thumb_func_start ov03_02255B04
|
|
ov03_02255B04: ; 0x02255B04
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _02255B3C ; =0x022598A0
|
|
add r4, r1, #0
|
|
ldr r0, [r0]
|
|
add r0, #0x94
|
|
ldrb r0, [r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _02255B38
|
|
ldr r0, _02255B40 ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
bne _02255B2C
|
|
bl sub_02025358
|
|
cmp r0, #1
|
|
bne _02255B38
|
|
_02255B2C:
|
|
add r0, r4, #0
|
|
bl ov03_022542C8
|
|
add r0, r5, #0
|
|
bl sub_0200E390
|
|
_02255B38:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02255B3C: .word 0x022598A0
|
|
_02255B40: .word gMain
|
|
thumb_func_end ov03_02255B04
|
|
|
|
thumb_func_start ov03_02255B44
|
|
ov03_02255B44: ; 0x02255B44
|
|
push {r3, lr}
|
|
mov r0, #0
|
|
bl sub_02037EC0
|
|
ldr r0, _02255B6C ; =0x022598A0
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
add r0, #0x88
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl sub_020398D4
|
|
bl sub_02034434
|
|
mov r0, #1
|
|
bl sub_020356C0
|
|
pop {r3, pc}
|
|
nop
|
|
_02255B6C: .word 0x022598A0
|
|
thumb_func_end ov03_02255B44
|
|
|
|
thumb_func_start ov03_02255B70
|
|
ov03_02255B70: ; 0x02255B70
|
|
ldr r0, _02255B7C ; =0x022598A0
|
|
ldr r3, _02255B80 ; =sub_0203775C
|
|
ldr r0, [r0]
|
|
add r0, #0x91
|
|
ldrb r0, [r0]
|
|
bx r3
|
|
.balign 4, 0
|
|
_02255B7C: .word 0x022598A0
|
|
_02255B80: .word sub_0203775C
|
|
thumb_func_end ov03_02255B70
|
|
|
|
thumb_func_start ov03_02255B84
|
|
ov03_02255B84: ; 0x02255B84
|
|
ldr r0, _02255B90 ; =0x022598A0
|
|
ldr r3, _02255B94 ; =sub_0203774C
|
|
ldr r0, [r0]
|
|
add r0, #0x91
|
|
ldrb r0, [r0]
|
|
bx r3
|
|
.balign 4, 0
|
|
_02255B90: .word 0x022598A0
|
|
_02255B94: .word sub_0203774C
|
|
thumb_func_end ov03_02255B84
|
|
|
|
thumb_func_start ov03_02255B98
|
|
ov03_02255B98: ; 0x02255B98
|
|
ldr r0, _02255BAC ; =0x022598A0
|
|
ldr r2, [r0]
|
|
add r0, r2, #0
|
|
add r0, #0x92
|
|
add r2, #0x93
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r2]
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
bx lr
|
|
.balign 4, 0
|
|
_02255BAC: .word 0x022598A0
|
|
thumb_func_end ov03_02255B98
|
|
|
|
thumb_func_start ov03_02255BB0
|
|
ov03_02255BB0: ; 0x02255BB0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
bl ov03_02253F74
|
|
ldr r0, _02255BE8 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x91
|
|
strb r4, [r0]
|
|
sub r0, r4, #3
|
|
cmp r0, #1
|
|
bhi _02255BD2
|
|
mov r0, #0
|
|
add r5, #0xa4
|
|
str r0, [r5]
|
|
_02255BD2:
|
|
ldr r0, _02255BE8 ; =0x022598A0
|
|
ldr r1, [r0]
|
|
add r1, #0x92
|
|
strb r6, [r1]
|
|
ldr r1, [r0]
|
|
add r1, #0x93
|
|
strb r7, [r1]
|
|
ldr r0, [r0]
|
|
bl ov03_022540E8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02255BE8: .word 0x022598A0
|
|
thumb_func_end ov03_02255BB0
|
|
|
|
thumb_func_start ov03_02255BEC
|
|
ov03_02255BEC: ; 0x02255BEC
|
|
ldr r0, _02255BF4 ; =0x022598A0
|
|
ldr r3, _02255BF8 ; =ov03_022542C8
|
|
ldr r0, [r0]
|
|
bx r3
|
|
.balign 4, 0
|
|
_02255BF4: .word 0x022598A0
|
|
_02255BF8: .word ov03_022542C8
|
|
thumb_func_end ov03_02255BEC
|
|
|
|
thumb_func_start ov03_02255BFC
|
|
ov03_02255BFC: ; 0x02255BFC
|
|
push {r4, lr}
|
|
ldr r0, _02255C14 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x88
|
|
ldr r4, [r0]
|
|
cmp r4, #0
|
|
beq _02255C0E
|
|
bl ov03_02254054
|
|
_02255C0E:
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_02255C14: .word 0x022598A0
|
|
thumb_func_end ov03_02255BFC
|
|
|
|
thumb_func_start ov03_02255C18
|
|
ov03_02255C18: ; 0x02255C18
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
bl ov03_02253F74
|
|
ldr r0, _02255C50 ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x91
|
|
strb r4, [r0]
|
|
sub r0, r4, #3
|
|
cmp r0, #1
|
|
bhi _02255C3A
|
|
mov r0, #0
|
|
add r5, #0xa4
|
|
str r0, [r5]
|
|
_02255C3A:
|
|
ldr r0, _02255C50 ; =0x022598A0
|
|
ldr r1, [r0]
|
|
add r1, #0x92
|
|
strb r6, [r1]
|
|
ldr r1, [r0]
|
|
add r1, #0x93
|
|
strb r7, [r1]
|
|
ldr r0, [r0]
|
|
bl ov03_02254B2C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02255C50: .word 0x022598A0
|
|
thumb_func_end ov03_02255C18
|
|
|
|
thumb_func_start ov03_02255C54
|
|
ov03_02255C54: ; 0x02255C54
|
|
ldr r0, _02255C5C ; =0x022598A0
|
|
ldr r3, _02255C60 ; =ov03_02254B58
|
|
ldr r0, [r0]
|
|
bx r3
|
|
.balign 4, 0
|
|
_02255C5C: .word 0x022598A0
|
|
_02255C60: .word ov03_02254B58
|
|
thumb_func_end ov03_02255C54
|
|
|
|
thumb_func_start ov03_02255C64
|
|
ov03_02255C64: ; 0x02255C64
|
|
push {r4, lr}
|
|
ldr r0, _02255C7C ; =0x022598A0
|
|
ldr r0, [r0]
|
|
add r0, #0x88
|
|
ldr r4, [r0]
|
|
cmp r4, #0
|
|
beq _02255C76
|
|
bl ov03_02254054
|
|
_02255C76:
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_02255C7C: .word 0x022598A0
|
|
thumb_func_end ov03_02255C64
|
|
|
|
thumb_func_start ov03_02255C80
|
|
ov03_02255C80: ; 0x02255C80
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end ov03_02255C80
|
|
|
|
thumb_func_start ov03_02255C84
|
|
ov03_02255C84: ; 0x02255C84
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x68]
|
|
mov r1, #3
|
|
mov r2, #0
|
|
bl ov01_021F6A9C
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0xa8
|
|
str r1, [r0]
|
|
add r4, #0xa4
|
|
str r1, [r4]
|
|
pop {r4, pc}
|
|
thumb_func_end ov03_02255C84
|
|
|
|
thumb_func_start ov03_02255CA0
|
|
ov03_02255CA0: ; 0x02255CA0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x68]
|
|
bl ov01_021F6B00
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0x68]
|
|
bl ov01_021F6B10
|
|
cmp r4, #3
|
|
bne _02255CCC
|
|
cmp r0, #1
|
|
bne _02255CCC
|
|
ldr r0, [r5, #0x68]
|
|
mov r1, #3
|
|
add r5, #0xa4
|
|
add r2, r1, #0
|
|
add r3, r5, #0
|
|
bl ov01_021F6ABC
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_02255CCC:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov03_02255CA0
|
|
|
|
thumb_func_start ov03_02255CD0
|
|
ov03_02255CD0: ; 0x02255CD0
|
|
push {r3, lr}
|
|
ldr r0, [r0, #0x68]
|
|
bl ov01_021F6AEC
|
|
cmp r0, #4
|
|
blt _02255CE0
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02255CE0:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov03_02255CD0
|
|
|
|
thumb_func_start ov03_02255CE4
|
|
ov03_02255CE4: ; 0x02255CE4
|
|
push {r3, lr}
|
|
add r3, r0, #0
|
|
ldr r0, [r3, #0x68]
|
|
mov r1, #3
|
|
mov r2, #0xb
|
|
add r3, #0xa4
|
|
bl ov01_021F6ABC
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02255CE4
|
|
|
|
thumb_func_start ov03_02255CF8
|
|
ov03_02255CF8: ; 0x02255CF8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x54
|
|
add r4, r1, #0
|
|
bl sub_0201D3F0
|
|
cmp r0, #0
|
|
bne _02255D32
|
|
add r0, r5, #0
|
|
add r0, #0x54
|
|
bl sub_0201D3C4
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r5, #0
|
|
ldr r0, [r0, #8]
|
|
add r1, #0x54
|
|
mov r2, #3
|
|
bl sub_0205B514
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0xc]
|
|
bl Sav2_PlayerData_GetOptionsAddr
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x54
|
|
bl sub_0205B564
|
|
b _02255D3A
|
|
_02255D32:
|
|
add r0, r5, #0
|
|
add r0, #0x54
|
|
bl sub_0205B5A8
|
|
_02255D3A:
|
|
ldr r0, [r5, #0x68]
|
|
ldr r2, [r5, #0x14]
|
|
add r1, r4, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r5, #0x64]
|
|
ldr r1, [r5, #0x18]
|
|
ldr r2, [r5, #0x14]
|
|
bl StringExpandPlaceholders
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0xc]
|
|
bl Sav2_PlayerData_GetOptionsAddr
|
|
add r2, r0, #0
|
|
add r0, r5, #0
|
|
ldr r1, [r5, #0x18]
|
|
add r0, #0x54
|
|
mov r3, #1
|
|
bl sub_0205B5B4
|
|
str r0, [r5, #0x74]
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov03_02255CF8
|
|
|
|
thumb_func_start ov03_02255D68
|
|
ov03_02255D68: ; 0x02255D68
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
beq _02255D80
|
|
add r0, #0x54
|
|
mov r1, #0
|
|
bl sub_0200E9BC
|
|
add r0, r4, #0
|
|
add r0, #0x54
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
_02255D80:
|
|
add r4, #0x54
|
|
add r0, r4, #0
|
|
bl RemoveWindow
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02255D68
|
|
|
|
thumb_func_start ov03_02255D8C
|
|
ov03_02255D8C: ; 0x02255D8C
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
ldr r2, [r4, #0x1c]
|
|
ldr r0, [r0, #0xc]
|
|
mov r3, #4
|
|
bl sub_0202921C
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r1, #0
|
|
ldr r0, [r4, #0x64]
|
|
ldr r2, [r4, #0x1c]
|
|
add r3, r1, #0
|
|
bl BufferString
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02255D8C
|
|
|
|
thumb_func_start ov03_02255DB8
|
|
ov03_02255DB8: ; 0x02255DB8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
add r4, r5, #0
|
|
ldr r0, [r0, #0xc]
|
|
mov r1, #0
|
|
add r4, #0x34
|
|
bl sub_020291A4
|
|
mov r6, #5
|
|
cmp r0, #0
|
|
beq _02255DD4
|
|
add r6, r6, #1
|
|
_02255DD4:
|
|
add r0, r4, #0
|
|
bl sub_0201D3F0
|
|
cmp r0, #0
|
|
bne _02255E66
|
|
add r0, r6, #2
|
|
mov r1, #4
|
|
bl ListMenuItems_ctor
|
|
str r0, [r5, #8]
|
|
mov r3, #1
|
|
str r3, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
add r0, r6, #2
|
|
lsl r0, r0, #0x19
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #0
|
|
ldr r0, [r0, #8]
|
|
mov r2, #3
|
|
bl sub_0201D40C
|
|
add r0, r5, #0
|
|
ldr r2, _02255EB4 ; =0x000003D9
|
|
add r0, #0x34
|
|
mov r1, #1
|
|
mov r3, #0xb
|
|
bl sub_0200E580
|
|
ldr r0, [r5, #8]
|
|
ldr r1, [r5, #0x68]
|
|
mov r2, #0x8a
|
|
mov r3, #0xc
|
|
bl ListMenuItems_AppendFromMsgData
|
|
mov r4, #0
|
|
cmp r6, #0
|
|
ble _02255E58
|
|
mov r7, #0x80
|
|
_02255E2C:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_02255D8C
|
|
ldr r0, [r5, #0x68]
|
|
ldr r2, [r5, #0x1c]
|
|
add r1, r7, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r5, #0x64]
|
|
ldr r1, [r5, #0x20]
|
|
ldr r2, [r5, #0x1c]
|
|
bl StringExpandPlaceholders
|
|
ldr r0, [r5, #8]
|
|
ldr r1, [r5, #0x20]
|
|
add r2, r4, #0
|
|
bl ListMenuItems_AddItem
|
|
add r4, r4, #1
|
|
cmp r4, r6
|
|
blt _02255E2C
|
|
_02255E58:
|
|
mov r2, #0x81
|
|
add r3, r2, #0
|
|
ldr r0, [r5, #8]
|
|
ldr r1, [r5, #0x68]
|
|
sub r3, #0x83
|
|
bl ListMenuItems_AppendFromMsgData
|
|
_02255E66:
|
|
ldr r4, _02255EB8 ; =0x0225943C
|
|
add r3, sp, #0x14
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r6, #2
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
add r0, sp, #0x14
|
|
strh r1, [r0, #0x10]
|
|
strh r1, [r0, #0x12]
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0
|
|
str r0, [sp, #0x14]
|
|
add r0, r5, #0
|
|
add r0, #0x34
|
|
str r0, [sp, #0x20]
|
|
add r0, r2, #0
|
|
add r2, r5, #0
|
|
str r5, [sp, #0x30]
|
|
add r2, #0x78
|
|
ldrh r2, [r2]
|
|
mov r3, #4
|
|
bl ListMenuInit
|
|
str r0, [r5]
|
|
add r5, #0x34
|
|
add r0, r5, #0
|
|
bl CopyWindowToVram
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02255EB4: .word 0x000003D9
|
|
_02255EB8: .word 0x0225943C
|
|
thumb_func_end ov03_02255DB8
|
|
|
|
thumb_func_start ov03_02255EBC
|
|
ov03_02255EBC: ; 0x02255EBC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
beq _02255EF6
|
|
mov r1, #0
|
|
add r2, r1, #0
|
|
bl DestroyListMenu
|
|
add r0, r4, #0
|
|
add r0, #0x34
|
|
mov r1, #1
|
|
bl sub_0200E5D4
|
|
add r1, r4, #0
|
|
add r1, #0x38
|
|
ldrb r1, [r1]
|
|
ldr r0, [r4, #0x34]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add r0, r4, #0
|
|
add r0, #0x34
|
|
bl RemoveWindow
|
|
ldr r0, [r4, #8]
|
|
bl ListMenuItems_dtor
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
_02255EF6:
|
|
pop {r4, pc}
|
|
thumb_func_end ov03_02255EBC
|
|
|
|
thumb_func_start ov03_02255EF8
|
|
ov03_02255EF8: ; 0x02255EF8
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
bl ListMenu_ProcessInput
|
|
add r4, r0, #0
|
|
add r2, r5, #0
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
add r2, #0x78
|
|
bl ListMenuGetScrollAndRow
|
|
add r0, r5, #0
|
|
add r0, #0x80
|
|
ldrh r6, [r0]
|
|
add r1, r5, #0
|
|
ldr r0, [r5]
|
|
add r1, #0x80
|
|
bl ListMenuGetCurrentItemArrayId
|
|
add r0, r5, #0
|
|
add r0, #0x80
|
|
ldrh r0, [r0]
|
|
cmp r6, r0
|
|
beq _02255F30
|
|
ldr r0, _02255F94 ; =0x000005DC
|
|
bl PlaySE
|
|
_02255F30:
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _02255F60
|
|
add r0, r0, #1
|
|
cmp r4, r0
|
|
beq _02255F44
|
|
cmp r4, #0xc
|
|
beq _02255F48
|
|
b _02255F7A
|
|
_02255F44:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02255F48:
|
|
ldr r0, _02255F94 ; =0x000005DC
|
|
bl PlaySE
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0
|
|
add r0, #0xa4
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
bl ov03_02255EBC
|
|
mov r0, #2
|
|
pop {r4, r5, r6, pc}
|
|
_02255F60:
|
|
ldr r0, _02255F94 ; =0x000005DC
|
|
bl PlaySE
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0
|
|
add r0, #0xa4
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
bl ov03_02255EBC
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_02255F7A:
|
|
ldr r0, _02255F94 ; =0x000005DC
|
|
bl PlaySE
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #0
|
|
ldr r0, [r0, #0xc]
|
|
bl sub_020291E8
|
|
ldr r1, [r5, #0x10]
|
|
add r1, #0xa4
|
|
str r0, [r1]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_02255F94: .word 0x000005DC
|
|
thumb_func_end ov03_02255EF8
|
|
|
|
thumb_func_start ov03_02255F98
|
|
ov03_02255F98: ; 0x02255F98
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x34
|
|
add r5, r0, #0
|
|
mov r0, #3
|
|
mov r1, #4
|
|
ldr r4, _0225603C ; =0x02259838
|
|
bl ListMenuItems_ctor
|
|
str r0, [r5, #0xc]
|
|
mov r0, #0xa
|
|
str r0, [sp]
|
|
mov r0, #9
|
|
str r0, [sp, #4]
|
|
mov r0, #6
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _02256040 ; =0x00000201
|
|
add r1, r5, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x10]
|
|
add r1, #0x44
|
|
ldr r0, [r0, #8]
|
|
mov r2, #3
|
|
mov r3, #0x16
|
|
bl sub_0201D40C
|
|
add r0, r5, #0
|
|
ldr r2, _02256044 ; =0x000003D9
|
|
add r0, #0x44
|
|
mov r1, #1
|
|
mov r3, #0xb
|
|
bl sub_0200E580
|
|
mov r6, #0
|
|
_02255FDE:
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [r5, #0x68]
|
|
ldr r2, [r4]
|
|
ldr r3, [r4, #4]
|
|
bl ListMenuItems_AppendFromMsgData
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
cmp r6, #3
|
|
blt _02255FDE
|
|
ldr r4, _02256048 ; =0x0225943C
|
|
add r3, sp, #0x14
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
mov r1, #3
|
|
add r0, sp, #0x14
|
|
strh r1, [r0, #0x10]
|
|
strh r1, [r0, #0x12]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
str r0, [sp, #0x14]
|
|
add r0, r5, #0
|
|
add r0, #0x44
|
|
str r0, [sp, #0x20]
|
|
add r0, r2, #0
|
|
add r2, r5, #0
|
|
str r5, [sp, #0x30]
|
|
add r2, #0x7a
|
|
ldrh r2, [r2]
|
|
mov r3, #4
|
|
bl ListMenuInit
|
|
str r0, [r5, #4]
|
|
add r5, #0x44
|
|
add r0, r5, #0
|
|
bl CopyWindowToVram
|
|
add sp, #0x34
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_0225603C: .word 0x02259838
|
|
_02256040: .word 0x00000201
|
|
_02256044: .word 0x000003D9
|
|
_02256048: .word 0x0225943C
|
|
thumb_func_end ov03_02255F98
|
|
|
|
thumb_func_start ov03_0225604C
|
|
ov03_0225604C: ; 0x0225604C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
bl ListMenu_ProcessInput
|
|
add r4, r0, #0
|
|
add r2, r5, #0
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0
|
|
add r2, #0x7a
|
|
bl ListMenuGetScrollAndRow
|
|
add r0, r5, #0
|
|
add r0, #0x82
|
|
ldrh r6, [r0]
|
|
add r1, r5, #0
|
|
ldr r0, [r5, #4]
|
|
add r1, #0x82
|
|
bl ListMenuGetCurrentItemArrayId
|
|
add r0, r5, #0
|
|
add r0, #0x82
|
|
ldrh r0, [r0]
|
|
cmp r6, r0
|
|
beq _02256084
|
|
ldr r0, _022560E8 ; =0x000005DC
|
|
bl PlaySE
|
|
_02256084:
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _02256096
|
|
add r0, r0, #1
|
|
cmp r4, r0
|
|
bne _022560A2
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02256096:
|
|
ldr r0, _022560E8 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r4, #0
|
|
mvn r4, r4
|
|
b _022560AE
|
|
_022560A2:
|
|
ldr r0, _022560E8 ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
bl ov03_02255EBC
|
|
_022560AE:
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _022560E4
|
|
mov r1, #0
|
|
add r2, r1, #0
|
|
bl DestroyListMenu
|
|
add r0, r5, #0
|
|
add r0, #0x44
|
|
mov r1, #1
|
|
bl sub_0200E5D4
|
|
add r1, r5, #0
|
|
add r1, #0x48
|
|
ldrb r1, [r1]
|
|
ldr r0, [r5, #0x44]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add r0, r5, #0
|
|
add r0, #0x44
|
|
bl RemoveWindow
|
|
ldr r0, [r5, #0xc]
|
|
bl ListMenuItems_dtor
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
_022560E4:
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_022560E8: .word 0x000005DC
|
|
thumb_func_end ov03_0225604C
|
|
|
|
thumb_func_start ov03_022560EC
|
|
ov03_022560EC: ; 0x022560EC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
str r0, [sp, #0x14]
|
|
ldr r6, [r0, #0x64]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
mov r2, #0xb6
|
|
mov r3, #4
|
|
bl NewMsgDataFromNarc
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0xb4
|
|
mov r1, #4
|
|
bl String_ctor
|
|
str r0, [sp, #0x2c]
|
|
mov r0, #0xb4
|
|
mov r1, #4
|
|
bl String_ctor
|
|
str r0, [sp, #0x28]
|
|
ldr r0, [sp, #0x14]
|
|
mov r2, #3
|
|
str r0, [sp, #0x24]
|
|
add r0, #0x24
|
|
str r0, [sp, #0x24]
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r0, #0x13
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #1
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x24]
|
|
ldr r0, [r0, #0x10]
|
|
mov r3, #4
|
|
ldr r0, [r0, #8]
|
|
bl sub_0201D40C
|
|
ldr r0, [sp, #0x24]
|
|
ldr r2, _022563B8 ; =0x000003D9
|
|
mov r1, #1
|
|
mov r3, #0xb
|
|
bl sub_0200E580
|
|
ldr r0, [sp, #0x24]
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r0, #0
|
|
add r1, #0x78
|
|
ldrh r1, [r1]
|
|
sub r1, r1, #1
|
|
bl ov03_02255D8C
|
|
ldr r0, [sp, #0x30]
|
|
ldr r2, [sp, #0x2c]
|
|
mov r1, #0x71
|
|
bl ReadMsgDataIntoString
|
|
ldr r1, [sp, #0x28]
|
|
ldr r2, [sp, #0x2c]
|
|
add r0, r6, #0
|
|
bl StringExpandPlaceholders
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x24]
|
|
ldr r2, [sp, #0x28]
|
|
mov r3, #0x39
|
|
str r1, [sp, #8]
|
|
bl AddTextPrinterParameterized
|
|
mov r5, #0
|
|
mov r4, #0x10
|
|
mov r7, #0xff
|
|
_02256192:
|
|
add r1, r5, #0
|
|
ldr r0, [sp, #0x30]
|
|
ldr r2, [sp, #0x2c]
|
|
add r1, #0x5d
|
|
bl ReadMsgDataIntoString
|
|
str r4, [sp]
|
|
str r7, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x24]
|
|
ldr r2, [sp, #0x2c]
|
|
mov r1, #0
|
|
mov r3, #2
|
|
bl AddTextPrinterParameterized
|
|
add r5, r5, #1
|
|
add r4, #0xf
|
|
cmp r5, #9
|
|
blt _02256192
|
|
mov r0, #0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, _022563BC ; =0x0225982C
|
|
ldr r7, _022563C0 ; =0x02259820
|
|
str r0, [sp, #0x20]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x1c]
|
|
_022561C8:
|
|
ldr r0, [sp, #0x14]
|
|
ldrb r1, [r7]
|
|
ldr r0, [r0, #0x10]
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
bl sub_020290FC
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x20]
|
|
ldrb r5, [r0]
|
|
ldrb r0, [r7]
|
|
cmp r0, #0xb
|
|
bls _022561E4
|
|
b _02256348
|
|
_022561E4:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022561F0: ; jump table
|
|
.short _02256348 - _022561F0 - 2 ; case 0
|
|
.short _02256208 - _022561F0 - 2 ; case 1
|
|
.short _0225621C - _022561F0 - 2 ; case 2
|
|
.short _02256232 - _022561F0 - 2 ; case 3
|
|
.short _02256342 - _022561F0 - 2 ; case 4
|
|
.short _02256250 - _022561F0 - 2 ; case 5
|
|
.short _02256348 - _022561F0 - 2 ; case 6
|
|
.short _022562CE - _022561F0 - 2 ; case 7
|
|
.short _02256348 - _022561F0 - 2 ; case 8
|
|
.short _02256342 - _022561F0 - 2 ; case 9
|
|
.short _02256342 - _022561F0 - 2 ; case 10
|
|
.short _02256320 - _022561F0 - 2 ; case 11
|
|
_02256208:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
mov r3, #1
|
|
bl BufferIntegerAsString
|
|
b _02256348
|
|
_0225621C:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
b _02256348
|
|
_02256232:
|
|
cmp r4, #0
|
|
bne _0225623A
|
|
mov r5, #0x72
|
|
b _02256348
|
|
_0225623A:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
b _02256348
|
|
_02256250:
|
|
cmp r4, #0
|
|
ldr r0, _022563C4 ; =0x00002710
|
|
blt _0225626A
|
|
mul r0, r4
|
|
mov r1, #0xfe
|
|
bl _s32_div_f
|
|
add r0, r0, #5
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
add r4, r0, #0
|
|
b _0225627E
|
|
_0225626A:
|
|
neg r1, r4
|
|
mul r0, r1
|
|
mov r1, #0xfe
|
|
bl _s32_div_f
|
|
add r0, r0, #5
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
neg r4, r0
|
|
_0225627E:
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
bl _s32_div_f
|
|
bl abs
|
|
add r2, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
mov r3, #2
|
|
bl BufferIntegerAsString
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
bl _s32_div_f
|
|
add r0, r1, #0
|
|
bl abs
|
|
add r2, r0, #0
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
mov r3, #2
|
|
bl BufferIntegerAsString
|
|
cmp r4, #0
|
|
bne _022562C8
|
|
mov r5, #0x72
|
|
b _02256348
|
|
_022562C8:
|
|
ble _02256348
|
|
add r5, r5, #1
|
|
b _02256348
|
|
_022562CE:
|
|
cmp r4, #0
|
|
ldr r0, _022563C8 ; =0x00035D2E
|
|
blt _022562E6
|
|
add r1, r4, #0
|
|
mul r1, r0
|
|
ldr r0, _022563CC ; =0x0000C350
|
|
add r0, r1, r0
|
|
ldr r1, _022563D0 ; =0x000186A0
|
|
bl _s32_div_f
|
|
add r4, r0, #0
|
|
b _022562F8
|
|
_022562E6:
|
|
neg r1, r4
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
ldr r0, _022563CC ; =0x0000C350
|
|
ldr r1, _022563D0 ; =0x000186A0
|
|
add r0, r2, r0
|
|
bl _s32_div_f
|
|
neg r4, r0
|
|
_022562F8:
|
|
add r0, r4, #0
|
|
bl abs
|
|
add r2, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
cmp r4, #0
|
|
bne _0225631A
|
|
mov r5, #0x72
|
|
b _02256348
|
|
_0225631A:
|
|
ble _02256348
|
|
add r5, r5, #1
|
|
b _02256348
|
|
_02256320:
|
|
ldr r0, [sp, #0x14]
|
|
mov r1, #0xd
|
|
ldr r0, [r0, #0x10]
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
bl sub_020290FC
|
|
mov r1, #2
|
|
lsl r1, r1, #0xe
|
|
cmp r0, r1
|
|
bne _0225633A
|
|
mov r5, #0x73
|
|
b _02256348
|
|
_0225633A:
|
|
cmp r4, #0
|
|
bne _02256348
|
|
add r5, r5, #1
|
|
b _02256348
|
|
_02256342:
|
|
cmp r4, #0
|
|
bne _02256348
|
|
add r5, r5, #1
|
|
_02256348:
|
|
ldr r0, [sp, #0x30]
|
|
ldr r2, [sp, #0x2c]
|
|
add r1, r5, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r1, [sp, #0x28]
|
|
ldr r2, [sp, #0x2c]
|
|
add r0, r6, #0
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0
|
|
ldr r1, [sp, #0x28]
|
|
add r2, r0, #0
|
|
bl sub_02002F30
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x1c]
|
|
mov r3, #0xbf
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x24]
|
|
ldr r2, [sp, #0x28]
|
|
mov r1, #0
|
|
sub r3, r3, r4
|
|
bl AddTextPrinterParameterized
|
|
ldr r0, [sp, #0x20]
|
|
add r7, r7, #1
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x1c]
|
|
add r0, #0xf
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x18]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x18]
|
|
cmp r0, #9
|
|
bge _0225639C
|
|
b _022561C8
|
|
_0225639C:
|
|
ldr r0, [sp, #0x2c]
|
|
bl String_dtor
|
|
ldr r0, [sp, #0x28]
|
|
bl String_dtor
|
|
ldr r0, [sp, #0x30]
|
|
bl DestroyMsgData
|
|
ldr r0, [sp, #0x24]
|
|
bl CopyWindowToVram
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022563B8: .word 0x000003D9
|
|
_022563BC: .word 0x0225982C
|
|
_022563C0: .word 0x02259820
|
|
_022563C4: .word 0x00002710
|
|
_022563C8: .word 0x00035D2E
|
|
_022563CC: .word 0x0000C350
|
|
_022563D0: .word 0x000186A0
|
|
thumb_func_end ov03_022560EC
|
|
|
|
thumb_func_start ov03_022563D4
|
|
ov03_022563D4: ; 0x022563D4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0x24
|
|
mov r1, #1
|
|
bl sub_0200E5D4
|
|
add r1, r4, #0
|
|
add r1, #0x28
|
|
ldrb r1, [r1]
|
|
ldr r0, [r4, #0x24]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add r4, #0x24
|
|
add r0, r4, #0
|
|
bl RemoveWindow
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_022563D4
|
|
|
|
thumb_func_start ov03_022563F8
|
|
ov03_022563F8: ; 0x022563F8
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0xc]
|
|
bl SavArray_PlayerParty_get
|
|
add r1, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
ldr r2, [r4, #0x6c]
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
bl sub_02074CD0
|
|
cmp r0, #0
|
|
beq _02256422
|
|
cmp r0, #1
|
|
beq _02256462
|
|
cmp r0, #4
|
|
beq _02256428
|
|
b _02256462
|
|
_02256422:
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02256428:
|
|
ldr r0, _022564A4 ; =0x000005F3
|
|
bl PlaySE
|
|
add r1, r4, #0
|
|
add r1, #0x78
|
|
ldrh r1, [r1]
|
|
add r0, r4, #0
|
|
sub r1, r1, #1
|
|
bl ov03_02255D8C
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #1
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
bl sub_020290FC
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
add r2, r0, #0
|
|
ldr r0, [r4, #0x64]
|
|
add r3, r1, #0
|
|
bl BufferIntegerAsString
|
|
add r0, r4, #0
|
|
mov r1, #0x7a
|
|
bl ov03_02255CF8
|
|
b _0225649C
|
|
_02256462:
|
|
ldr r0, _022564A4 ; =0x000005F3
|
|
bl PlaySE
|
|
add r1, r4, #0
|
|
add r1, #0x78
|
|
ldrh r1, [r1]
|
|
add r0, r4, #0
|
|
sub r1, r1, #1
|
|
bl ov03_02255D8C
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #3
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
bl sub_020290FC
|
|
add r2, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
ldr r0, [r4, #0x64]
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
add r0, r4, #0
|
|
mov r1, #0x88
|
|
bl ov03_02255CF8
|
|
_0225649C:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
nop
|
|
_022564A4: .word 0x000005F3
|
|
thumb_func_end ov03_022563F8
|
|
|
|
thumb_func_start ov03_022564A8
|
|
ov03_022564A8: ; 0x022564A8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_0205064C
|
|
add r0, r4, #0
|
|
bl sub_02050650
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #0x7c]
|
|
cmp r1, #0xb
|
|
bls _022564C0
|
|
b _02256636
|
|
_022564C0:
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_022564CC: ; jump table
|
|
.short _022564E4 - _022564CC - 2 ; case 0
|
|
.short _022564F2 - _022564CC - 2 ; case 1
|
|
.short _02256510 - _022564CC - 2 ; case 2
|
|
.short _02256542 - _022564CC - 2 ; case 3
|
|
.short _0225654E - _022564CC - 2 ; case 4
|
|
.short _02256574 - _022564CC - 2 ; case 5
|
|
.short _0225658E - _022564CC - 2 ; case 6
|
|
.short _022565AC - _022564CC - 2 ; case 7
|
|
.short _022565C0 - _022564CC - 2 ; case 8
|
|
.short _022565E2 - _022564CC - 2 ; case 9
|
|
.short _0225663A - _022564CC - 2 ; case 10
|
|
.short _022565F6 - _022564CC - 2 ; case 11
|
|
_022564E4:
|
|
mov r1, #0x78
|
|
bl ov03_02255CF8
|
|
ldr r0, [r4, #0x7c]
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x7c]
|
|
b _0225663A
|
|
_022564F2:
|
|
ldr r0, [r4, #0x74]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
bne _02256502
|
|
b _0225663A
|
|
_02256502:
|
|
add r0, r4, #0
|
|
bl ov03_02255DB8
|
|
ldr r0, [r4, #0x7c]
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x7c]
|
|
b _0225663A
|
|
_02256510:
|
|
bl ov03_02255EF8
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _02256528
|
|
ldr r0, [r4, #0x70]
|
|
mov r1, #2
|
|
strh r1, [r0]
|
|
mov r0, #0xb
|
|
str r0, [r4, #0x7c]
|
|
b _0225663A
|
|
_02256528:
|
|
cmp r0, #2
|
|
bne _02256538
|
|
ldr r0, [r4, #0x70]
|
|
mov r1, #3
|
|
strh r1, [r0]
|
|
mov r0, #0xb
|
|
str r0, [r4, #0x7c]
|
|
b _0225663A
|
|
_02256538:
|
|
cmp r0, #1
|
|
bne _0225663A
|
|
mov r0, #3
|
|
str r0, [r4, #0x7c]
|
|
b _0225663A
|
|
_02256542:
|
|
bl ov03_02255F98
|
|
ldr r0, [r4, #0x7c]
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x7c]
|
|
b _0225663A
|
|
_0225654E:
|
|
bl ov03_0225604C
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _02256560
|
|
mov r0, #2
|
|
str r0, [r4, #0x7c]
|
|
b _0225663A
|
|
_02256560:
|
|
cmp r0, #1
|
|
bne _0225656A
|
|
mov r0, #5
|
|
str r0, [r4, #0x7c]
|
|
b _0225663A
|
|
_0225656A:
|
|
cmp r0, #2
|
|
bne _0225663A
|
|
mov r0, #7
|
|
str r0, [r4, #0x7c]
|
|
b _0225663A
|
|
_02256574:
|
|
bl ov03_022563F8
|
|
cmp r0, #0
|
|
beq _02256588
|
|
ldr r0, [r4, #0x70]
|
|
mov r1, #1
|
|
strh r1, [r0]
|
|
mov r0, #0xb
|
|
str r0, [r4, #0x7c]
|
|
b _0225663A
|
|
_02256588:
|
|
mov r0, #6
|
|
str r0, [r4, #0x7c]
|
|
b _0225663A
|
|
_0225658E:
|
|
ldr r0, [r4, #0x74]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _0225663A
|
|
ldr r0, _02256640 ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _0225663A
|
|
mov r0, #0
|
|
str r0, [r4, #0x7c]
|
|
b _0225663A
|
|
_022565AC:
|
|
mov r1, #1
|
|
bl ov03_02255D68
|
|
add r0, r4, #0
|
|
bl ov03_022560EC
|
|
ldr r0, [r4, #0x7c]
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x7c]
|
|
b _0225663A
|
|
_022565C0:
|
|
ldr r1, _02256640 ; =gMain
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #3
|
|
tst r1, r2
|
|
beq _0225663A
|
|
bl ov03_022563D4
|
|
add r0, r4, #0
|
|
mov r1, #0x78
|
|
bl ov03_02255CF8
|
|
add r0, r4, #0
|
|
bl ov03_02255DB8
|
|
mov r0, #9
|
|
str r0, [r4, #0x7c]
|
|
b _0225663A
|
|
_022565E2:
|
|
ldr r0, [r4, #0x74]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
beq _0225663A
|
|
mov r0, #3
|
|
str r0, [r4, #0x7c]
|
|
b _0225663A
|
|
_022565F6:
|
|
bl ov03_02255EBC
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov03_02255D68
|
|
ldr r0, [r4, #0x64]
|
|
bl ScrStrBufs_delete
|
|
ldr r0, [r4, #0x68]
|
|
bl DestroyMsgData
|
|
ldr r0, [r4, #0x14]
|
|
bl String_dtor
|
|
ldr r0, [r4, #0x18]
|
|
bl String_dtor
|
|
ldr r0, [r4, #0x1c]
|
|
bl String_dtor
|
|
ldr r0, [r4, #0x20]
|
|
bl String_dtor
|
|
ldr r0, [r4, #0x6c]
|
|
bl sub_0207495C
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02256636:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_0225663A:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_02256640: .word gMain
|
|
thumb_func_end ov03_022564A8
|
|
|
|
thumb_func_start ov03_02256644
|
|
ov03_02256644: ; 0x02256644
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0xb
|
|
mov r1, #0x84
|
|
bl AllocFromHeapAtEnd
|
|
mov r1, #0
|
|
mov r2, #0x84
|
|
add r4, r0, #0
|
|
bl MIi_CpuFill8
|
|
mov r0, #0
|
|
str r0, [r4, #0x7c]
|
|
str r5, [r4, #0x10]
|
|
add r5, #0xa4
|
|
str r0, [r5]
|
|
mov r0, #4
|
|
bl ScrStrBufs_new
|
|
str r0, [r4, #0x64]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
mov r2, #0x2e
|
|
mov r3, #4
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r4, #0x68]
|
|
mov r0, #0xb4
|
|
mov r1, #4
|
|
bl String_ctor
|
|
str r0, [r4, #0x14]
|
|
mov r0, #0xb4
|
|
mov r1, #4
|
|
bl String_ctor
|
|
str r0, [r4, #0x18]
|
|
mov r0, #0xb4
|
|
mov r1, #4
|
|
bl String_ctor
|
|
str r0, [r4, #0x1c]
|
|
mov r0, #0xb4
|
|
mov r1, #4
|
|
bl String_ctor
|
|
str r0, [r4, #0x20]
|
|
mov r0, #0xb
|
|
bl sub_02074944
|
|
str r0, [r4, #0x6c]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02256644
|
|
|
|
thumb_func_start ov03_022566B0
|
|
ov03_022566B0: ; 0x022566B0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl sub_0205064C
|
|
bl ov03_02256644
|
|
add r2, r0, #0
|
|
ldr r1, _022566CC ; =ov03_022564A8
|
|
add r0, r5, #0
|
|
str r4, [r2, #0x70]
|
|
bl sub_02050530
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_022566CC: .word ov03_022564A8
|
|
thumb_func_end ov03_022566B0
|
|
|
|
thumb_func_start ov03_022566D0
|
|
ov03_022566D0: ; 0x022566D0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r0, #0xb4
|
|
mov r1, #4
|
|
add r7, r2, #0
|
|
bl String_ctor
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
add r1, r7, #0
|
|
add r2, r4, #0
|
|
mov r3, #4
|
|
bl sub_0202921C
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
add r2, r4, #0
|
|
add r3, r1, #0
|
|
bl BufferString
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_022566D0
|
|
|
|
thumb_func_start ov03_02256710
|
|
ov03_02256710: ; 0x02256710
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #0xc
|
|
beq _0225671C
|
|
cmp r1, #6
|
|
bne _02256724
|
|
_0225671C:
|
|
mov r0, #0
|
|
add r4, #0xa4
|
|
str r0, [r4]
|
|
pop {r4, pc}
|
|
_02256724:
|
|
ldr r0, [r4, #0xc]
|
|
bl sub_020291E8
|
|
add r4, #0xa4
|
|
str r0, [r4]
|
|
pop {r4, pc}
|
|
thumb_func_end ov03_02256710
|
|
|
|
thumb_func_start ov03_02256730
|
|
ov03_02256730: ; 0x02256730
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
str r0, [sp, #0x14]
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r0, #0x13
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #1
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
add r4, r2, #0
|
|
ldr r0, [r0, #8]
|
|
mov r2, #3
|
|
mov r3, #4
|
|
str r1, [sp, #0x18]
|
|
bl sub_0201D40C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, _02256A10 ; =0x000003D9
|
|
ldr r0, [r0, #8]
|
|
mov r1, #3
|
|
mov r3, #0xb
|
|
bl sub_0200E3DC
|
|
ldr r0, [sp, #0x18]
|
|
ldr r2, _02256A10 ; =0x000003D9
|
|
mov r1, #1
|
|
mov r3, #0xb
|
|
bl sub_0200E580
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
mov r2, #0xb6
|
|
mov r3, #4
|
|
bl NewMsgDataFromNarc
|
|
str r0, [sp, #0x30]
|
|
mov r0, #4
|
|
bl ScrStrBufs_new
|
|
add r6, r0, #0
|
|
mov r0, #0xb4
|
|
mov r1, #4
|
|
bl String_ctor
|
|
add r7, r0, #0
|
|
mov r0, #0xb4
|
|
mov r1, #4
|
|
bl String_ctor
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl ov03_022566D0
|
|
ldr r0, [sp, #0x30]
|
|
mov r1, #0x71
|
|
add r2, r7, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r1, [sp, #0x2c]
|
|
add r0, r6, #0
|
|
add r2, r7, #0
|
|
bl StringExpandPlaceholders
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x18]
|
|
ldr r2, [sp, #0x2c]
|
|
mov r3, #0x39
|
|
str r1, [sp, #8]
|
|
bl AddTextPrinterParameterized
|
|
mov r0, #0
|
|
str r0, [sp, #0x28]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, _02256A14 ; =0x02259820
|
|
str r0, [sp, #0x24]
|
|
ldr r0, _02256A18 ; =0x0225982C
|
|
str r0, [sp, #0x20]
|
|
_022567F0:
|
|
ldr r1, [sp, #0x28]
|
|
ldr r0, [sp, #0x30]
|
|
add r1, #0x5d
|
|
add r2, r7, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [sp, #0x1c]
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x18]
|
|
add r2, r7, #0
|
|
mov r3, #2
|
|
bl AddTextPrinterParameterized
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x24]
|
|
add r0, #0xa4
|
|
ldrb r1, [r1]
|
|
ldr r0, [r0]
|
|
bl sub_020290FC
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x20]
|
|
ldrb r5, [r0]
|
|
ldr r0, [sp, #0x24]
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xb
|
|
bls _02256832
|
|
b _02256994
|
|
_02256832:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225683E: ; jump table
|
|
.short _02256994 - _0225683E - 2 ; case 0
|
|
.short _02256856 - _0225683E - 2 ; case 1
|
|
.short _0225686A - _0225683E - 2 ; case 2
|
|
.short _02256880 - _0225683E - 2 ; case 3
|
|
.short _0225698E - _0225683E - 2 ; case 4
|
|
.short _0225689E - _0225683E - 2 ; case 5
|
|
.short _02256994 - _0225683E - 2 ; case 6
|
|
.short _0225691C - _0225683E - 2 ; case 7
|
|
.short _02256994 - _0225683E - 2 ; case 8
|
|
.short _0225698E - _0225683E - 2 ; case 9
|
|
.short _0225698E - _0225683E - 2 ; case 10
|
|
.short _0225696E - _0225683E - 2 ; case 11
|
|
_02256856:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
mov r3, #1
|
|
bl BufferIntegerAsString
|
|
b _02256994
|
|
_0225686A:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
b _02256994
|
|
_02256880:
|
|
cmp r4, #0
|
|
bne _02256888
|
|
mov r5, #0x72
|
|
b _02256994
|
|
_02256888:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
b _02256994
|
|
_0225689E:
|
|
cmp r4, #0
|
|
ldr r0, _02256A1C ; =0x00002710
|
|
blt _022568B8
|
|
mul r0, r4
|
|
mov r1, #0xfe
|
|
bl _s32_div_f
|
|
add r0, r0, #5
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
add r4, r0, #0
|
|
b _022568CC
|
|
_022568B8:
|
|
neg r1, r4
|
|
mul r0, r1
|
|
mov r1, #0xfe
|
|
bl _s32_div_f
|
|
add r0, r0, #5
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
neg r4, r0
|
|
_022568CC:
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
bl _s32_div_f
|
|
bl abs
|
|
add r2, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
mov r3, #2
|
|
bl BufferIntegerAsString
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
bl _s32_div_f
|
|
add r0, r1, #0
|
|
bl abs
|
|
add r2, r0, #0
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
mov r3, #2
|
|
bl BufferIntegerAsString
|
|
cmp r4, #0
|
|
bne _02256916
|
|
mov r5, #0x72
|
|
b _02256994
|
|
_02256916:
|
|
ble _02256994
|
|
add r5, r5, #1
|
|
b _02256994
|
|
_0225691C:
|
|
cmp r4, #0
|
|
ldr r0, _02256A20 ; =0x00035D2E
|
|
blt _02256934
|
|
add r1, r4, #0
|
|
mul r1, r0
|
|
ldr r0, _02256A24 ; =0x0000C350
|
|
add r0, r1, r0
|
|
ldr r1, _02256A28 ; =0x000186A0
|
|
bl _s32_div_f
|
|
add r4, r0, #0
|
|
b _02256946
|
|
_02256934:
|
|
neg r1, r4
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
ldr r0, _02256A24 ; =0x0000C350
|
|
ldr r1, _02256A28 ; =0x000186A0
|
|
add r0, r2, r0
|
|
bl _s32_div_f
|
|
neg r4, r0
|
|
_02256946:
|
|
add r0, r4, #0
|
|
bl abs
|
|
add r2, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
cmp r4, #0
|
|
bne _02256968
|
|
mov r5, #0x72
|
|
b _02256994
|
|
_02256968:
|
|
ble _02256994
|
|
add r5, r5, #1
|
|
b _02256994
|
|
_0225696E:
|
|
ldr r0, [sp, #0x14]
|
|
mov r1, #0xd
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
bl sub_020290FC
|
|
mov r1, #2
|
|
lsl r1, r1, #0xe
|
|
cmp r0, r1
|
|
bne _02256986
|
|
mov r5, #0x73
|
|
b _02256994
|
|
_02256986:
|
|
cmp r4, #0
|
|
bne _02256994
|
|
add r5, r5, #1
|
|
b _02256994
|
|
_0225698E:
|
|
cmp r4, #0
|
|
bne _02256994
|
|
add r5, r5, #1
|
|
_02256994:
|
|
ldr r0, [sp, #0x30]
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r1, [sp, #0x2c]
|
|
add r0, r6, #0
|
|
add r2, r7, #0
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0
|
|
ldr r1, [sp, #0x2c]
|
|
add r2, r0, #0
|
|
bl sub_02002F30
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x1c]
|
|
mov r3, #0xbf
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x18]
|
|
ldr r2, [sp, #0x2c]
|
|
mov r1, #0
|
|
sub r3, r3, r4
|
|
bl AddTextPrinterParameterized
|
|
ldr r0, [sp, #0x1c]
|
|
add r0, #0xf
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x24]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x20]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x28]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x28]
|
|
cmp r0, #9
|
|
bge _022569EC
|
|
b _022567F0
|
|
_022569EC:
|
|
ldr r0, [sp, #0x2c]
|
|
bl String_dtor
|
|
add r0, r7, #0
|
|
bl String_dtor
|
|
add r0, r6, #0
|
|
bl ScrStrBufs_delete
|
|
ldr r0, [sp, #0x30]
|
|
bl DestroyMsgData
|
|
ldr r0, [sp, #0x18]
|
|
bl CopyWindowToVram
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02256A10: .word 0x000003D9
|
|
_02256A14: .word 0x02259820
|
|
_02256A18: .word 0x0225982C
|
|
_02256A1C: .word 0x00002710
|
|
_02256A20: .word 0x00035D2E
|
|
_02256A24: .word 0x0000C350
|
|
_02256A28: .word 0x000186A0
|
|
thumb_func_end ov03_02256730
|
|
|
|
thumb_func_start ov03_02256A2C
|
|
ov03_02256A2C: ; 0x02256A2C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r0, #0xc]
|
|
str r1, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
bl SavArray_PlayerParty_get
|
|
add r6, r0, #0
|
|
mov r0, #0xb
|
|
bl sub_02074944
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0xa
|
|
bne _02256A84
|
|
add r0, r6, #0
|
|
bl GetPartyCount
|
|
add r7, r0, #0
|
|
add r5, r7, #0
|
|
mov r4, #0
|
|
cmp r7, #0
|
|
ble _02256A78
|
|
_02256A5C:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl GetPartyMonByIndex
|
|
mov r1, #0x4c
|
|
mov r2, #0
|
|
bl GetMonData
|
|
cmp r0, #0
|
|
beq _02256A72
|
|
sub r5, r5, #1
|
|
_02256A72:
|
|
add r4, r4, #1
|
|
cmp r4, r7
|
|
blt _02256A5C
|
|
_02256A78:
|
|
cmp r5, #2
|
|
bge _02256A80
|
|
mov r4, #7
|
|
b _02256A94
|
|
_02256A80:
|
|
mov r4, #0
|
|
b _02256A94
|
|
_02256A84:
|
|
ldr r0, [sp, #8]
|
|
ldr r2, [sp, #0x14]
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
add r1, r6, #0
|
|
bl sub_02074CD0
|
|
add r4, r0, #0
|
|
_02256A94:
|
|
ldr r0, [sp, #0x14]
|
|
bl sub_0207495C
|
|
cmp r4, #7
|
|
bhi _02256B0E
|
|
add r0, r4, r4
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02256AAA: ; jump table
|
|
.short _02256ABA - _02256AAA - 2 ; case 0
|
|
.short _02256B0E - _02256AAA - 2 ; case 1
|
|
.short _02256B0E - _02256AAA - 2 ; case 2
|
|
.short _02256B0E - _02256AAA - 2 ; case 3
|
|
.short _02256AC0 - _02256AAA - 2 ; case 4
|
|
.short _02256B0E - _02256AAA - 2 ; case 5
|
|
.short _02256B0E - _02256AAA - 2 ; case 6
|
|
.short _02256AEE - _02256AAA - 2 ; case 7
|
|
_02256ABA:
|
|
add sp, #0x18
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02256AC0:
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
bl ov03_022566D0
|
|
ldr r0, [sp, #8]
|
|
mov r1, #1
|
|
add r0, #0xa4
|
|
str r0, [sp, #8]
|
|
ldr r0, [r0]
|
|
bl sub_020290FC
|
|
mov r1, #1
|
|
add r2, r0, #0
|
|
str r1, [sp]
|
|
ldr r0, [sp, #0xc]
|
|
add r3, r1, #0
|
|
str r1, [sp, #4]
|
|
bl BufferIntegerAsString
|
|
add sp, #0x18
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02256AEE:
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
bl ov03_022566D0
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #2
|
|
add r3, r1, #0
|
|
str r1, [sp, #4]
|
|
bl BufferIntegerAsString
|
|
add sp, #0x18
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02256B0E:
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
bl ov03_022566D0
|
|
ldr r0, [sp, #8]
|
|
mov r1, #3
|
|
add r0, #0xa4
|
|
str r0, [sp, #8]
|
|
ldr r0, [r0]
|
|
bl sub_020290FC
|
|
add r2, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
ldr r0, [sp, #0xc]
|
|
mov r3, #3
|
|
str r1, [sp, #4]
|
|
bl BufferIntegerAsString
|
|
mov r0, #2
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02256A2C
|
|
|
|
thumb_func_start ov03_02256B40
|
|
ov03_02256B40: ; 0x02256B40
|
|
cmp r0, #0xb
|
|
bhi _02256B7E
|
|
add r1, r0, r0
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02256B50: ; jump table
|
|
.short _02256B7E - _02256B50 - 2 ; case 0
|
|
.short _02256B7E - _02256B50 - 2 ; case 1
|
|
.short _02256B7E - _02256B50 - 2 ; case 2
|
|
.short _02256B7E - _02256B50 - 2 ; case 3
|
|
.short _02256B7E - _02256B50 - 2 ; case 4
|
|
.short _02256B7E - _02256B50 - 2 ; case 5
|
|
.short _02256B68 - _02256B50 - 2 ; case 6
|
|
.short _02256B6C - _02256B50 - 2 ; case 7
|
|
.short _02256B70 - _02256B50 - 2 ; case 8
|
|
.short _02256B74 - _02256B50 - 2 ; case 9
|
|
.short _02256B78 - _02256B50 - 2 ; case 10
|
|
.short _02256B78 - _02256B50 - 2 ; case 11
|
|
_02256B68:
|
|
mov r0, #0xff
|
|
bx lr
|
|
_02256B6C:
|
|
mov r0, #0
|
|
bx lr
|
|
_02256B70:
|
|
mov r0, #3
|
|
bx lr
|
|
_02256B74:
|
|
mov r0, #4
|
|
bx lr
|
|
_02256B78:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
bx lr
|
|
_02256B7E:
|
|
cmp r0, #9
|
|
blo _02256B84
|
|
mov r0, #0xff
|
|
_02256B84:
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02256B40
|
|
|
|
thumb_func_start ov03_02256B88
|
|
ov03_02256B88: ; 0x02256B88
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_02256B8E:
|
|
add r0, r5, #0
|
|
add r0, #0x80
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r0]
|
|
lsr r1, r1, #0x18
|
|
bl ov03_02256BA8
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _02256B8E
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02256B88
|
|
|
|
thumb_func_start ov03_02256BA8
|
|
ov03_02256BA8: ; 0x02256BA8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
ldr r0, _02256BE8 ; =0x0225945C
|
|
lsl r1, r6, #1
|
|
ldrh r4, [r0, r1]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
add r1, r4, #0
|
|
bl ov01_022040D0
|
|
add r7, r0, #0
|
|
bne _02256BCA
|
|
bl GF_AssertFail
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02256BCA:
|
|
ldr r0, [r5, #0xc]
|
|
bl sub_020503D0
|
|
add r1, r6, #0
|
|
bl sub_020669B4
|
|
add r1, r0, #0
|
|
ldr r0, [r5, #0x54]
|
|
mov r2, #1
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r3, r7, #0
|
|
bl ov01_021E8970
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02256BE8: .word 0x0225945C
|
|
thumb_func_end ov03_02256BA8
|
|
|
|
thumb_func_start ov03_02256BEC
|
|
ov03_02256BEC: ; 0x02256BEC
|
|
push {r3, r4}
|
|
sub r2, r2, #3
|
|
cmp r2, #1
|
|
ldr r3, _02256C28 ; =0x0000FFFF
|
|
bhi _02256C0C
|
|
mov r0, #1
|
|
mov r2, #0
|
|
lsl r0, r0, #8
|
|
_02256BFC:
|
|
ldrh r4, [r1]
|
|
cmp r4, r3
|
|
beq _02256C20
|
|
add r2, r2, #1
|
|
add r1, r1, #4
|
|
cmp r2, r0
|
|
blt _02256BFC
|
|
b _02256C20
|
|
_02256C0C:
|
|
mov r1, #1
|
|
mov r2, #0
|
|
lsl r1, r1, #8
|
|
_02256C12:
|
|
ldrh r4, [r0]
|
|
cmp r4, r3
|
|
beq _02256C20
|
|
add r2, r2, #1
|
|
add r0, r0, #2
|
|
cmp r2, r1
|
|
blt _02256C12
|
|
_02256C20:
|
|
add r0, r2, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
nop
|
|
_02256C28: .word 0x0000FFFF
|
|
thumb_func_end ov03_02256BEC
|
|
|
|
thumb_func_start ov03_02256C2C
|
|
ov03_02256C2C: ; 0x02256C2C
|
|
push {r4, r5, r6, r7}
|
|
add r4, r0, #0
|
|
mov r0, #0x27
|
|
lsl r0, r0, #4
|
|
ldrb r7, [r4, r0]
|
|
add r3, r1, #0
|
|
mov r1, #0
|
|
add r0, r1, #0
|
|
mov ip, r2
|
|
cmp r7, #0
|
|
ble _02256C80
|
|
_02256C42:
|
|
mov r2, ip
|
|
cmp r2, #0
|
|
ldrh r6, [r3]
|
|
bne _02256C6C
|
|
cmp r6, #4
|
|
bne _02256C5E
|
|
mov r2, #0x27
|
|
lsl r2, r2, #4
|
|
ldrb r2, [r4, r2]
|
|
sub r5, r2, #1
|
|
mov r2, #0x27
|
|
lsl r2, r2, #4
|
|
strb r5, [r4, r2]
|
|
b _02256C78
|
|
_02256C5E:
|
|
mov r2, #0x9a
|
|
lsl r2, r2, #2
|
|
ldr r5, [r4, r2]
|
|
lsl r2, r1, #1
|
|
strh r6, [r5, r2]
|
|
add r1, r1, #1
|
|
b _02256C78
|
|
_02256C6C:
|
|
mov r2, #0x9a
|
|
lsl r2, r2, #2
|
|
ldr r5, [r4, r2]
|
|
lsl r2, r1, #1
|
|
strh r6, [r5, r2]
|
|
add r1, r1, #1
|
|
_02256C78:
|
|
add r0, r0, #1
|
|
add r3, r3, #2
|
|
cmp r0, r7
|
|
blt _02256C42
|
|
_02256C80:
|
|
pop {r4, r5, r6, r7}
|
|
bx lr
|
|
thumb_func_end ov03_02256C2C
|
|
|
|
thumb_func_start ov03_02256C84
|
|
ov03_02256C84: ; 0x02256C84
|
|
push {r4, r5, r6, r7}
|
|
mov r3, #0x27
|
|
lsl r3, r3, #4
|
|
ldrb r3, [r0, r3]
|
|
mov r2, #0
|
|
cmp r3, #0
|
|
ble _02256CAE
|
|
mov r4, #0x9a
|
|
lsl r4, r4, #2
|
|
add r5, r4, #0
|
|
add r3, r2, #0
|
|
add r5, #8
|
|
_02256C9C:
|
|
ldrh r7, [r1]
|
|
ldr r6, [r0, r4]
|
|
add r2, r2, #1
|
|
strh r7, [r6, r3]
|
|
ldrb r6, [r0, r5]
|
|
add r3, r3, #2
|
|
add r1, r1, #4
|
|
cmp r2, r6
|
|
blt _02256C9C
|
|
_02256CAE:
|
|
pop {r4, r5, r6, r7}
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02256C84
|
|
|
|
thumb_func_start ov03_02256CB4
|
|
ov03_02256CB4: ; 0x02256CB4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r2, #0
|
|
ldr r2, _02256D14 ; =0x00000283
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r7, r3, #0
|
|
ldrb r2, [r5, r2]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl ov03_02256BEC
|
|
mov r1, #0x27
|
|
lsl r1, r1, #4
|
|
strb r0, [r5, r1]
|
|
ldrb r0, [r5, r1]
|
|
cmp r0, #0xff
|
|
blo _02256CDA
|
|
bl GF_AssertFail
|
|
_02256CDA:
|
|
mov r1, #0x27
|
|
lsl r1, r1, #4
|
|
ldrb r1, [r5, r1]
|
|
mov r0, #0xb
|
|
lsl r1, r1, #1
|
|
bl AllocFromHeap
|
|
mov r1, #0x9a
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add r1, #0x1b
|
|
ldrb r0, [r5, r1]
|
|
add r0, #0xfd
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _02256D06
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl ov03_02256C84
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02256D06:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl ov03_02256C2C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02256D14: .word 0x00000283
|
|
thumb_func_end ov03_02256CB4
|
|
|
|
thumb_func_start ov03_02256D18
|
|
ov03_02256D18: ; 0x02256D18
|
|
push {r4, lr}
|
|
mov r1, #0xa9
|
|
mov r0, #0xb
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeap
|
|
mov r2, #0xa9
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
add r4, r0, #0
|
|
bl memset
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov03_02256D18
|
|
|
|
thumb_func_start ov03_02256D34
|
|
ov03_02256D34: ; 0x02256D34
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r7, r0, #0
|
|
str r2, [sp]
|
|
add r6, r3, #0
|
|
bl ov03_02256D18
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0xb
|
|
str r0, [r4]
|
|
mov r0, #0x60
|
|
bl String_ctor
|
|
mov r1, #0x9d
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r5, #0xc]
|
|
bl Sav2_PlayerData_GetProfileAddr
|
|
mov r1, #0x92
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r5, #0xc]
|
|
bl Sav2_PlayerData_GetOptionsAddr
|
|
mov r1, #0x25
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
ldr r0, [r5, #0xc]
|
|
bl sub_0202CF54
|
|
mov r1, #0x97
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r5, #0xc]
|
|
bl sub_020503D0
|
|
mov r1, #0x26
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
ldr r0, [r5, #0xc]
|
|
bl sub_02031B14
|
|
mov r1, #0x96
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0
|
|
ldr r2, [sp, #0x1c]
|
|
add r0, #0xc
|
|
str r2, [r4, r0]
|
|
add r0, r1, #0
|
|
add r0, #0x2b
|
|
add r2, r1, #0
|
|
strb r6, [r4, r0]
|
|
mov r0, #0
|
|
add r2, #0x19
|
|
strb r0, [r4, r2]
|
|
add r2, r1, #0
|
|
add r2, #0x38
|
|
str r0, [r4, r2]
|
|
add r2, r1, #0
|
|
sub r3, r0, #1
|
|
add r2, #0x3c
|
|
str r3, [r4, r2]
|
|
add r1, #0x40
|
|
str r0, [r4, r1]
|
|
ldr r0, [r5, #0xc]
|
|
bl sub_02031968
|
|
mov r1, #0x95
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0
|
|
ldr r2, [sp, #0x20]
|
|
add r0, #0x18
|
|
str r2, [r4, r0]
|
|
add r0, sp, #8
|
|
ldrb r2, [r0, #0x10]
|
|
add r0, r1, #0
|
|
add r0, #0x1f
|
|
add r1, #0x2f
|
|
strb r2, [r4, r0]
|
|
ldrb r0, [r4, r1]
|
|
cmp r0, #0
|
|
beq _02256DEA
|
|
add r0, #0xfd
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _02256DF8
|
|
_02256DEA:
|
|
ldr r0, [r5, #0xc]
|
|
bl sub_0207879C
|
|
mov r1, #0x93
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
b _02256E04
|
|
_02256DF8:
|
|
ldr r0, [r5, #0xc]
|
|
bl sub_0202CBE8
|
|
mov r1, #0x93
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
_02256E04:
|
|
mov r0, #0x26
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl sub_02066A00
|
|
add r2, r0, #0
|
|
ldr r1, [sp]
|
|
ldr r3, [sp, #0x20]
|
|
add r0, r4, #0
|
|
bl ov03_02256CB4
|
|
ldr r1, _02256E28 ; =ov03_02256E2C
|
|
add r0, r7, #0
|
|
add r2, r4, #0
|
|
bl sub_02050530
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02256E28: .word ov03_02256E2C
|
|
thumb_func_end ov03_02256D34
|
|
|
|
thumb_func_start ov03_02256E2C
|
|
ov03_02256E2C: ; 0x02256E2C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
bl sub_0205064C
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
bl sub_02050650
|
|
ldr r1, _02257064 ; =0x00000272
|
|
add r4, r0, #0
|
|
ldrb r2, [r4, r1]
|
|
cmp r2, #0x1b
|
|
bhi _02256F08
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_02256E52: ; jump table
|
|
.short _02256E8A - _02256E52 - 2 ; case 0
|
|
.short _02256EA6 - _02256E52 - 2 ; case 1
|
|
.short _02256EC0 - _02256E52 - 2 ; case 2
|
|
.short _02256ECE - _02256E52 - 2 ; case 3
|
|
.short _02256EF6 - _02256E52 - 2 ; case 4
|
|
.short _02256F2C - _02256E52 - 2 ; case 5
|
|
.short _02256EFC - _02256E52 - 2 ; case 6
|
|
.short _02256F36 - _02256E52 - 2 ; case 7
|
|
.short _02256F5E - _02256E52 - 2 ; case 8
|
|
.short _02256F68 - _02256E52 - 2 ; case 9
|
|
.short _02256F72 - _02256E52 - 2 ; case 10
|
|
.short _02256F7C - _02256E52 - 2 ; case 11
|
|
.short _02256F9A - _02256E52 - 2 ; case 12
|
|
.short _02256FA4 - _02256E52 - 2 ; case 13
|
|
.short _02256FAE - _02256E52 - 2 ; case 14
|
|
.short _02256FB8 - _02256E52 - 2 ; case 15
|
|
.short _02256FC2 - _02256E52 - 2 ; case 16
|
|
.short _02256FCC - _02256E52 - 2 ; case 17
|
|
.short _02256FE0 - _02256E52 - 2 ; case 18
|
|
.short _02256FEE - _02256E52 - 2 ; case 19
|
|
.short _02256FF8 - _02256E52 - 2 ; case 20
|
|
.short _02257002 - _02256E52 - 2 ; case 21
|
|
.short _0225700C - _02256E52 - 2 ; case 22
|
|
.short _02257016 - _02256E52 - 2 ; case 23
|
|
.short _02257036 - _02256E52 - 2 ; case 24
|
|
.short _02257036 - _02256E52 - 2 ; case 25
|
|
.short _0225701E - _02256E52 - 2 ; case 26
|
|
.short _0225702C - _02256E52 - 2 ; case 27
|
|
_02256E8A:
|
|
bl ov03_0225706C
|
|
ldr r0, _02257068 ; =0x00000273
|
|
ldrb r1, [r4, r0]
|
|
cmp r1, #0
|
|
bne _02256E9E
|
|
mov r1, #1
|
|
sub r0, r0, #1
|
|
strb r1, [r4, r0]
|
|
b _02257036
|
|
_02256E9E:
|
|
mov r1, #0x16
|
|
sub r0, r0, #1
|
|
strb r1, [r4, r0]
|
|
b _02257036
|
|
_02256EA6:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_022570D4
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
add r2, r4, #0
|
|
bl ov01_021F6A9C
|
|
ldr r0, _02257064 ; =0x00000272
|
|
mov r1, #2
|
|
strb r1, [r4, r0]
|
|
b _02257036
|
|
_02256EC0:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_02257334
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_02256ECE:
|
|
add r1, #0x22
|
|
mov r2, #0
|
|
ldr r1, [r4, r1]
|
|
mvn r2, r2
|
|
cmp r1, r2
|
|
bne _02256EE4
|
|
bl ov03_02257510
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_02256EE4:
|
|
bl ov03_0225761C
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
add r1, #0x22
|
|
str r0, [r4, r1]
|
|
b _02257036
|
|
_02256EF6:
|
|
mov r0, #3
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_02256EFC:
|
|
sub r1, #0x52
|
|
ldr r0, [r4, r1]
|
|
bl sub_02024B68
|
|
cmp r0, #0
|
|
beq _02256F0A
|
|
_02256F08:
|
|
b _02257036
|
|
_02256F0A:
|
|
mov r3, #0x9a
|
|
lsl r3, r3, #2
|
|
add r2, r3, #0
|
|
ldr r1, [r4, r3]
|
|
add r2, #0x28
|
|
add r3, #9
|
|
ldr r5, [r4, r2]
|
|
ldrb r2, [r4, r3]
|
|
add r0, r4, #0
|
|
add r2, r5, r2
|
|
lsl r2, r2, #1
|
|
ldrh r1, [r1, r2]
|
|
bl ov03_02257874
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_02256F2C:
|
|
bl ov03_02257944
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_02256F36:
|
|
add r1, #0x22
|
|
mov r2, #0
|
|
ldr r1, [r4, r1]
|
|
mvn r2, r2
|
|
cmp r1, r2
|
|
bne _02256F4C
|
|
bl ov03_02257ADC
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_02256F4C:
|
|
bl ov03_02257B4C
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
add r1, #0x22
|
|
str r0, [r4, r1]
|
|
b _02257036
|
|
_02256F5E:
|
|
bl ov03_022579E0
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_02256F68:
|
|
bl ov03_02257A70
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_02256F72:
|
|
bl ov03_02257D6C
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_02256F7C:
|
|
add r1, #0x22
|
|
mov r2, #0
|
|
ldr r1, [r4, r1]
|
|
mvn r2, r2
|
|
cmp r1, r2
|
|
beq _02257036
|
|
bl ov03_02257D90
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
add r1, #0x22
|
|
str r0, [r4, r1]
|
|
b _02257036
|
|
_02256F9A:
|
|
bl ov03_02257E6C
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_02256FA4:
|
|
bl ov03_02257F24
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_02256FAE:
|
|
bl ov03_02257FF8
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_02256FB8:
|
|
bl ov03_02258078
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_02256FC2:
|
|
bl ov03_022577D0
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_02256FCC:
|
|
bl ov03_022572EC
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_02258164
|
|
ldr r0, _02257064 ; =0x00000272
|
|
mov r1, #0x12
|
|
strb r1, [r4, r0]
|
|
b _02257036
|
|
_02256FE0:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_02258170
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_02256FEE:
|
|
bl ov03_022576F8
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_02256FF8:
|
|
bl ov03_02257728
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_02257002:
|
|
bl ov03_022586E0
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_0225700C:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_0225874C
|
|
b _02257036
|
|
_02257016:
|
|
add r0, r6, #0
|
|
bl ov03_02258764
|
|
b _02257036
|
|
_0225701E:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_022587D4
|
|
ldr r1, _02257064 ; =0x00000272
|
|
strb r0, [r4, r1]
|
|
b _02257036
|
|
_0225702C:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_0225709C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02257036:
|
|
mov r7, #0x7e
|
|
mov r6, #0
|
|
add r5, r4, #0
|
|
lsl r7, r7, #2
|
|
_0225703E:
|
|
ldr r0, [r5, r7]
|
|
cmp r0, #0
|
|
beq _0225704C
|
|
mov r1, #1
|
|
lsl r1, r1, #0xc
|
|
bl sub_020249B0
|
|
_0225704C:
|
|
add r6, r6, #1
|
|
add r5, r5, #4
|
|
cmp r6, #0x13
|
|
blt _0225703E
|
|
add r4, #0x94
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
beq _02257060
|
|
bl sub_0202457C
|
|
_02257060:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02257064: .word 0x00000272
|
|
_02257068: .word 0x00000273
|
|
thumb_func_end ov03_02256E2C
|
|
|
|
thumb_func_start ov03_0225706C
|
|
ov03_0225706C: ; 0x0225706C
|
|
ldr r3, _02257070 ; =ov03_02257074
|
|
bx r3
|
|
.balign 4, 0
|
|
_02257070: .word ov03_02257074
|
|
thumb_func_end ov03_0225706C
|
|
|
|
thumb_func_start ov03_02257074
|
|
ov03_02257074: ; 0x02257074
|
|
push {r4, lr}
|
|
ldr r2, _02257098 ; =0x000001B3
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
mov r3, #0xb
|
|
bl NewMsgDataFromNarc
|
|
add r1, r4, #0
|
|
add r1, #0x88
|
|
str r0, [r1]
|
|
mov r0, #0xb
|
|
bl ScrStrBufs_new
|
|
add r4, #0x8c
|
|
str r0, [r4]
|
|
pop {r4, pc}
|
|
nop
|
|
_02257098: .word 0x000001B3
|
|
thumb_func_end ov03_02257074
|
|
|
|
thumb_func_start ov03_0225709C
|
|
ov03_0225709C: ; 0x0225709C
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
bl DestroyMsgData
|
|
add r0, r4, #0
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
bl ScrStrBufs_delete
|
|
mov r0, #0x9d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl String_dtor
|
|
mov r0, #0x9a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_0225709C
|
|
|
|
thumb_func_start ov03_022570D4
|
|
ov03_022570D4: ; 0x022570D4
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #0x12
|
|
str r0, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
mov r0, #6
|
|
mov r2, #0
|
|
str r0, [sp, #8]
|
|
add r4, r1, #0
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r4]
|
|
mov r1, #3
|
|
add r3, r2, #0
|
|
bl FillBgTilemapRect
|
|
ldr r0, [r4]
|
|
mov r1, #3
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add r0, r4, #0
|
|
bl ov03_02257134
|
|
mov r0, #0xb
|
|
bl sub_02023114
|
|
add r1, r4, #0
|
|
add r1, #0x90
|
|
str r0, [r1]
|
|
add r1, r4, #0
|
|
add r1, #0x90
|
|
ldr r0, [r5, #0x24]
|
|
ldr r1, [r1]
|
|
bl sub_02023128
|
|
add r0, r4, #0
|
|
add r0, #0x90
|
|
ldr r0, [r0]
|
|
bl sub_0202313C
|
|
ldr r0, _02257130 ; =0x00000281
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02257130: .word 0x00000281
|
|
thumb_func_end ov03_022570D4
|
|
|
|
thumb_func_start ov03_02257134
|
|
ov03_02257134: ; 0x02257134
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
ldr r7, _02257178 ; =0x022594C6
|
|
mov r6, #0
|
|
add r4, #8
|
|
_02257140:
|
|
ldr r0, _0225717C ; =0x00000283
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _02257160
|
|
cmp r0, #3
|
|
beq _02257160
|
|
cmp r0, #4
|
|
beq _02257160
|
|
cmp r6, #1
|
|
bne _02257160
|
|
ldr r0, [r5]
|
|
ldr r2, _02257180 ; =0x02259464
|
|
add r1, r4, #0
|
|
bl AddWindow
|
|
b _0225716A
|
|
_02257160:
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
bl AddWindow
|
|
_0225716A:
|
|
add r6, r6, #1
|
|
add r4, #0x10
|
|
add r7, #8
|
|
cmp r6, #6
|
|
blo _02257140
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02257178: .word 0x022594C6
|
|
_0225717C: .word 0x00000283
|
|
_02257180: .word 0x02259464
|
|
thumb_func_end ov03_02257134
|
|
|
|
thumb_func_start ov03_02257184
|
|
ov03_02257184: ; 0x02257184
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x28
|
|
mov r1, #1
|
|
bl sub_0200E5D4
|
|
mov r4, #0
|
|
add r5, #8
|
|
_02257194:
|
|
add r0, r5, #0
|
|
bl sub_0201D8E4
|
|
add r0, r5, #0
|
|
bl RemoveWindow
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #6
|
|
blo _02257194
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02257184
|
|
|
|
thumb_func_start ov03_022571AC
|
|
ov03_022571AC: ; 0x022571AC
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
add r4, r0, #0
|
|
str r1, [sp, #8]
|
|
mov r0, #0xb
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4]
|
|
mov r0, #0x3c
|
|
mov r3, #1
|
|
bl GfGfxLoader_LoadCharData
|
|
ldr r0, _02257258 ; =0x00000283
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _022571DA
|
|
add r0, #0xfd
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _022571F4
|
|
_022571DA:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0xb
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4]
|
|
mov r0, #0x3c
|
|
mov r1, #2
|
|
mov r3, #1
|
|
bl GfGfxLoader_LoadScrnData
|
|
b _0225720C
|
|
_022571F4:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0xb
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4]
|
|
mov r0, #0x3c
|
|
mov r1, #3
|
|
mov r3, #1
|
|
bl GfGfxLoader_LoadScrnData
|
|
_0225720C:
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0xb
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3c
|
|
mov r1, #1
|
|
add r3, r2, #0
|
|
bl GfGfxLoader_GXLoadPal
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r3, #0xb
|
|
str r3, [sp, #4]
|
|
ldr r0, [r4]
|
|
mov r1, #3
|
|
mov r2, #0x1f
|
|
bl sub_0200E3DC
|
|
mov r0, #0x25
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl sub_0202ADCC
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0xb
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
mov r1, #3
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl sub_0200E644
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
nop
|
|
_02257258: .word 0x00000283
|
|
thumb_func_end ov03_022571AC
|
|
|
|
thumb_func_start ov03_0225725C
|
|
ov03_0225725C: ; 0x0225725C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_02022D68
|
|
mov r1, #0x9f
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl sub_0201CC2C
|
|
mov r1, #0x9e
|
|
lsl r1, r1, #2
|
|
strb r0, [r4, r1]
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
bl sub_0201CC2C
|
|
ldr r1, _022572E0 ; =0x00000279
|
|
strb r0, [r4, r1]
|
|
ldr r0, [r4]
|
|
mov r1, #2
|
|
bl sub_0201CC2C
|
|
ldr r1, _022572E4 ; =0x0000027A
|
|
strb r0, [r4, r1]
|
|
ldr r0, [r4]
|
|
mov r1, #3
|
|
bl sub_0201CC2C
|
|
ldr r1, _022572E8 ; =0x0000027B
|
|
strb r0, [r4, r1]
|
|
mov r0, #0
|
|
mov r1, #3
|
|
bl sub_0201BB68
|
|
mov r0, #1
|
|
mov r1, #2
|
|
bl sub_0201BB68
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl sub_0201BB68
|
|
mov r0, #3
|
|
mov r1, #0
|
|
bl sub_0201BB68
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #4
|
|
mov r1, #1
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #8
|
|
mov r1, #1
|
|
bl GX_EngineAToggleLayers
|
|
pop {r4, pc}
|
|
nop
|
|
_022572E0: .word 0x00000279
|
|
_022572E4: .word 0x0000027A
|
|
_022572E8: .word 0x0000027B
|
|
thumb_func_end ov03_0225725C
|
|
|
|
thumb_func_start ov03_022572EC
|
|
ov03_022572EC: ; 0x022572EC
|
|
push {r4, lr}
|
|
mov r1, #0x9e
|
|
add r4, r0, #0
|
|
lsl r1, r1, #2
|
|
ldrb r1, [r4, r1]
|
|
mov r0, #0
|
|
bl sub_0201BB68
|
|
ldr r1, _02257328 ; =0x00000279
|
|
mov r0, #1
|
|
ldrb r1, [r4, r1]
|
|
bl sub_0201BB68
|
|
ldr r1, _0225732C ; =0x0000027A
|
|
mov r0, #2
|
|
ldrb r1, [r4, r1]
|
|
bl sub_0201BB68
|
|
ldr r1, _02257330 ; =0x0000027B
|
|
mov r0, #3
|
|
ldrb r1, [r4, r1]
|
|
bl sub_0201BB68
|
|
mov r0, #0x9f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_02022C9C
|
|
pop {r4, pc}
|
|
nop
|
|
_02257328: .word 0x00000279
|
|
_0225732C: .word 0x0000027A
|
|
_02257330: .word 0x0000027B
|
|
thumb_func_end ov03_022572EC
|
|
|
|
thumb_func_start ov03_02257334
|
|
ov03_02257334: ; 0x02257334
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl ov01_021F6B10
|
|
cmp r0, #1
|
|
beq _02257344
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
_02257344:
|
|
ldr r0, _02257374 ; =0x00000281
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
add r0, r4, #0
|
|
bl ov03_022571AC
|
|
add r0, r4, #0
|
|
bl ov03_0225725C
|
|
mov r1, #0x29
|
|
lsl r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov03_022573D4
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_02257374: .word 0x00000281
|
|
thumb_func_end ov03_02257334
|
|
|
|
thumb_func_start ov03_02257378
|
|
ov03_02257378: ; 0x02257378
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
cmp r2, #0
|
|
beq _0225738A
|
|
cmp r2, #1
|
|
beq _022573C0
|
|
cmp r2, #2
|
|
pop {r3, r4, r5, pc}
|
|
_0225738A:
|
|
mov r1, #0x22
|
|
lsl r1, r1, #4
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x70
|
|
ldr r1, [r4, r1]
|
|
lsl r2, r1, #2
|
|
ldr r1, _022573C4 ; =0x022594A0
|
|
ldrb r1, [r1, r2]
|
|
bl sub_020248F0
|
|
mov r0, #0x22
|
|
lsl r0, r0, #4
|
|
ldr r1, _022573C8 ; =0x022594A1
|
|
lsl r5, r5, #2
|
|
ldrb r1, [r1, r5]
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200DD08
|
|
ldr r1, _022573CC ; =0x0225949E
|
|
ldr r2, _022573D0 ; =0x0225949F
|
|
mov r0, #0x22
|
|
lsl r0, r0, #4
|
|
ldrb r1, [r1, r5]
|
|
ldrb r2, [r2, r5]
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200DD88
|
|
_022573C0:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_022573C4: .word 0x022594A0
|
|
_022573C8: .word 0x022594A1
|
|
_022573CC: .word 0x0225949E
|
|
_022573D0: .word 0x0225949F
|
|
thumb_func_end ov03_02257378
|
|
|
|
thumb_func_start ov03_022573D4
|
|
ov03_022573D4: ; 0x022573D4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
mov r3, #0x9a
|
|
lsl r3, r3, #2
|
|
add r4, r0, #0
|
|
add r2, r3, #0
|
|
ldr r0, [r4, r3]
|
|
add r2, #0x28
|
|
add r3, #9
|
|
ldr r5, [r4, r2]
|
|
ldrb r2, [r4, r3]
|
|
add r2, r5, r2
|
|
lsl r2, r2, #1
|
|
ldrh r5, [r0, r2]
|
|
cmp r1, #8
|
|
bls _022573F6
|
|
b _02257504
|
|
_022573F6:
|
|
add r0, r1, r1
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02257402: ; jump table
|
|
.short _02257414 - _02257402 - 2 ; case 0
|
|
.short _02257414 - _02257402 - 2 ; case 1
|
|
.short _02257414 - _02257402 - 2 ; case 2
|
|
.short _02257414 - _02257402 - 2 ; case 3
|
|
.short _02257414 - _02257402 - 2 ; case 4
|
|
.short _02257414 - _02257402 - 2 ; case 5
|
|
.short _02257504 - _02257402 - 2 ; case 6
|
|
.short _02257504 - _02257402 - 2 ; case 7
|
|
.short _022574EA - _02257402 - 2 ; case 8
|
|
_02257414:
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r2, #0x29
|
|
lsl r2, r2, #4
|
|
add r0, r2, #0
|
|
sub r0, #0x1f
|
|
ldrb r0, [r4, r0]
|
|
ldr r1, [r4, r2]
|
|
add r1, r1, r0
|
|
add r0, r2, #0
|
|
sub r0, #0x20
|
|
ldrb r0, [r4, r0]
|
|
cmp r1, r0
|
|
bge _022574D4
|
|
add r0, r2, #0
|
|
sub r0, #0xd
|
|
ldrb r1, [r4, r0]
|
|
cmp r1, #0
|
|
beq _0225744C
|
|
add r0, r1, #0
|
|
add r0, #0xfd
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _02257460
|
|
_0225744C:
|
|
mov r0, #0x82
|
|
mov r1, #0xb
|
|
bl String_ctor
|
|
add r1, r5, #0
|
|
mov r2, #0xb
|
|
add r6, r0, #0
|
|
bl sub_02077D64
|
|
b _022574AA
|
|
_02257460:
|
|
cmp r1, #1
|
|
bne _02257484
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
add r2, #0x51
|
|
mov r3, #0xb
|
|
bl NewMsgDataFromNarc
|
|
add r1, r5, #0
|
|
add r7, r0, #0
|
|
add r1, #0x8a
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0
|
|
add r0, r7, #0
|
|
bl DestroyMsgData
|
|
b _022574AA
|
|
_02257484:
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
sub r2, #0xde
|
|
mov r3, #0xb
|
|
bl NewMsgDataFromNarc
|
|
add r7, r0, #0
|
|
lsl r0, r5, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl sub_020910B8
|
|
add r1, r0, #0
|
|
add r0, r7, #0
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0
|
|
add r0, r7, #0
|
|
bl DestroyMsgData
|
|
_022574AA:
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02257508 ; =0x000F0E00
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
add r3, r1, #0
|
|
str r1, [sp, #0xc]
|
|
bl sub_020200FC
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov03_022585A4
|
|
b _022574DE
|
|
_022574D4:
|
|
sub r2, #0x8c
|
|
ldr r0, [r4, r2]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
_022574DE:
|
|
add r4, #0x18
|
|
add r0, r4, #0
|
|
bl sub_0201D5C8
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022574EA:
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r1, _0225750C ; =0x0000FFFF
|
|
add r0, r4, #0
|
|
bl ov03_022585A4
|
|
add r4, #0x18
|
|
add r0, r4, #0
|
|
bl sub_0201D5C8
|
|
_02257504:
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02257508: .word 0x000F0E00
|
|
_0225750C: .word 0x0000FFFF
|
|
thumb_func_end ov03_022573D4
|
|
|
|
thumb_func_start ov03_02257510
|
|
ov03_02257510: ; 0x02257510
|
|
push {r4, r5, r6, lr}
|
|
ldr r1, _02257604 ; =gMain
|
|
mov r2, #0x40
|
|
ldr r1, [r1, #0x48]
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
tst r2, r1
|
|
beq _02257538
|
|
mov r0, #0x29
|
|
lsl r0, r0, #4
|
|
ldr r1, [r5, r0]
|
|
lsl r2, r1, #2
|
|
ldr r1, _02257608 ; =0x0225947A
|
|
ldrb r1, [r1, r2]
|
|
str r1, [r5, r0]
|
|
ldr r0, _0225760C ; =0x000005DC
|
|
bl PlaySE
|
|
add r4, r4, #1
|
|
b _022575B0
|
|
_02257538:
|
|
mov r2, #0x80
|
|
tst r2, r1
|
|
beq _02257556
|
|
mov r0, #0x29
|
|
lsl r0, r0, #4
|
|
ldr r1, [r5, r0]
|
|
lsl r2, r1, #2
|
|
ldr r1, _02257610 ; =0x0225947B
|
|
ldrb r1, [r1, r2]
|
|
str r1, [r5, r0]
|
|
ldr r0, _0225760C ; =0x000005DC
|
|
bl PlaySE
|
|
add r4, r4, #1
|
|
b _022575B0
|
|
_02257556:
|
|
mov r2, #0x20
|
|
tst r2, r1
|
|
beq _02257584
|
|
mov r2, #0x29
|
|
lsl r2, r2, #4
|
|
ldr r1, [r5, r2]
|
|
ldr r3, _02257614 ; =0x0225947C
|
|
lsl r6, r1, #2
|
|
ldrb r3, [r3, r6]
|
|
cmp r3, #6
|
|
bne _02257574
|
|
mov r1, #6
|
|
bl ov03_0225761C
|
|
pop {r4, r5, r6, pc}
|
|
_02257574:
|
|
cmp r1, #8
|
|
beq _022575B0
|
|
ldr r0, _0225760C ; =0x000005DC
|
|
str r3, [r5, r2]
|
|
bl PlaySE
|
|
add r4, r4, #1
|
|
b _022575B0
|
|
_02257584:
|
|
mov r2, #0x10
|
|
tst r1, r2
|
|
beq _022575B0
|
|
mov r2, #0x29
|
|
lsl r2, r2, #4
|
|
ldr r1, [r5, r2]
|
|
ldr r3, _02257618 ; =0x0225947D
|
|
lsl r6, r1, #2
|
|
ldrb r3, [r3, r6]
|
|
cmp r3, #7
|
|
bne _022575A2
|
|
mov r1, #7
|
|
bl ov03_0225761C
|
|
pop {r4, r5, r6, pc}
|
|
_022575A2:
|
|
cmp r1, #8
|
|
beq _022575B0
|
|
ldr r0, _0225760C ; =0x000005DC
|
|
str r3, [r5, r2]
|
|
bl PlaySE
|
|
add r4, r4, #1
|
|
_022575B0:
|
|
cmp r4, #0
|
|
beq _022575CE
|
|
mov r1, #0x29
|
|
lsl r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov03_02257378
|
|
mov r1, #0x29
|
|
lsl r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, #0
|
|
bl ov03_022573D4
|
|
_022575CE:
|
|
ldr r0, _02257604 ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _022575EC
|
|
mov r0, #0x25
|
|
lsl r0, r0, #6
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
mov r1, #0xd
|
|
mov r2, #0x10
|
|
bl ov03_022586CC
|
|
pop {r4, r5, r6, pc}
|
|
_022575EC:
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _02257600
|
|
mov r1, #0x29
|
|
lsl r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, #0
|
|
bl ov03_0225761C
|
|
pop {r4, r5, r6, pc}
|
|
_02257600:
|
|
mov r0, #3
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_02257604: .word gMain
|
|
_02257608: .word 0x0225947A
|
|
_0225760C: .word 0x000005DC
|
|
_02257610: .word 0x0225947B
|
|
_02257614: .word 0x0225947C
|
|
_02257618: .word 0x0225947D
|
|
thumb_func_end ov03_02257510
|
|
|
|
thumb_func_start ov03_0225761C
|
|
ov03_0225761C: ; 0x0225761C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #8
|
|
bhi _022576EA
|
|
add r2, r1, r1
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_02257630: ; jump table
|
|
.short _02257642 - _02257630 - 2 ; case 0
|
|
.short _02257642 - _02257630 - 2 ; case 1
|
|
.short _02257642 - _02257630 - 2 ; case 2
|
|
.short _02257642 - _02257630 - 2 ; case 3
|
|
.short _02257642 - _02257630 - 2 ; case 4
|
|
.short _02257642 - _02257630 - 2 ; case 5
|
|
.short _02257682 - _02257630 - 2 ; case 6
|
|
.short _0225769C - _02257630 - 2 ; case 7
|
|
.short _022576BC - _02257630 - 2 ; case 8
|
|
_02257642:
|
|
ldr r3, _022576F0 ; =0x00000271
|
|
ldrb r2, [r4, r3]
|
|
add r5, r1, r2
|
|
sub r2, r3, #1
|
|
ldrb r2, [r4, r2]
|
|
cmp r5, r2
|
|
bhs _022576EA
|
|
add r2, r3, #0
|
|
add r2, #0x1f
|
|
str r1, [r4, r2]
|
|
add r3, #0x1f
|
|
ldr r1, [r4, r3]
|
|
mov r2, #0
|
|
bl ov03_02257378
|
|
mov r0, #0x22
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x13
|
|
bl sub_020248F0
|
|
ldr r0, _022576F4 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r1, #0x29
|
|
lsl r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov03_022573D4
|
|
mov r0, #6
|
|
pop {r3, r4, r5, pc}
|
|
_02257682:
|
|
ldr r0, _022576F0 ; =0x00000271
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _022576EA
|
|
ldr r0, _022576F4 ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #0xb
|
|
mov r2, #0x13
|
|
bl ov03_022586CC
|
|
pop {r3, r4, r5, pc}
|
|
_0225769C:
|
|
ldr r0, _022576F0 ; =0x00000271
|
|
ldrb r1, [r4, r0]
|
|
sub r0, r0, #1
|
|
ldrb r0, [r4, r0]
|
|
add r1, r1, #6
|
|
cmp r1, r0
|
|
bge _022576EA
|
|
ldr r0, _022576F4 ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
mov r2, #0x14
|
|
bl ov03_022586CC
|
|
pop {r3, r4, r5, pc}
|
|
_022576BC:
|
|
mov r2, #0
|
|
bl ov03_02257378
|
|
mov r0, #0x22
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #7
|
|
bl sub_020248F0
|
|
mov r0, #0x25
|
|
lsl r0, r0, #6
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #8
|
|
bl ov03_022573D4
|
|
add r0, r4, #0
|
|
mov r1, #0xd
|
|
mov r2, #0x10
|
|
bl ov03_022586CC
|
|
pop {r3, r4, r5, pc}
|
|
_022576EA:
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_022576F0: .word 0x00000271
|
|
_022576F4: .word 0x000005DC
|
|
thumb_func_end ov03_0225761C
|
|
|
|
thumb_func_start ov03_022576F8
|
|
ov03_022576F8: ; 0x022576F8
|
|
push {r4, lr}
|
|
ldr r2, _02257724 ; =0x00000271
|
|
add r4, r0, #0
|
|
ldrb r1, [r4, r2]
|
|
sub r1, r1, #6
|
|
strb r1, [r4, r2]
|
|
ldrb r1, [r4, r2]
|
|
sub r2, r2, #1
|
|
ldrb r2, [r4, r2]
|
|
bl ov03_02257758
|
|
mov r1, #0xa6
|
|
mov r0, #1
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
sub r1, #8
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov03_022573D4
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02257724: .word 0x00000271
|
|
thumb_func_end ov03_022576F8
|
|
|
|
thumb_func_start ov03_02257728
|
|
ov03_02257728: ; 0x02257728
|
|
push {r4, lr}
|
|
ldr r2, _02257754 ; =0x00000271
|
|
add r4, r0, #0
|
|
ldrb r1, [r4, r2]
|
|
add r1, r1, #6
|
|
strb r1, [r4, r2]
|
|
ldrb r1, [r4, r2]
|
|
sub r2, r2, #1
|
|
ldrb r2, [r4, r2]
|
|
bl ov03_02257758
|
|
mov r1, #0xa6
|
|
mov r0, #1
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
sub r1, #8
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov03_022573D4
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02257754: .word 0x00000271
|
|
thumb_func_end ov03_02257728
|
|
|
|
thumb_func_start ov03_02257758
|
|
ov03_02257758: ; 0x02257758
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
mov r4, #0
|
|
str r0, [sp]
|
|
add r5, r0, #0
|
|
lsl r0, r1, #1
|
|
str r4, [sp, #8]
|
|
sub r7, r2, r1
|
|
str r0, [sp, #4]
|
|
_0225776A:
|
|
cmp r7, #6
|
|
ble _02257772
|
|
mov r0, #6
|
|
b _0225777C
|
|
_02257772:
|
|
cmp r7, #0
|
|
bge _0225777A
|
|
mov r0, #0
|
|
b _0225777C
|
|
_0225777A:
|
|
add r0, r7, #0
|
|
_0225777C:
|
|
cmp r4, r0
|
|
bge _022577A8
|
|
ldr r0, [sp]
|
|
mov r3, #0x9a
|
|
add r6, r0, #0
|
|
lsl r3, r3, #2
|
|
ldr r6, [r6, r3]
|
|
ldr r3, [sp, #4]
|
|
add r1, r4, #3
|
|
add r6, r3, r6
|
|
ldr r3, [sp, #8]
|
|
add r2, r4, #2
|
|
ldrh r3, [r3, r6]
|
|
bl ov03_02258648
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
b _022577B4
|
|
_022577A8:
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
_022577B4:
|
|
ldr r0, [sp, #8]
|
|
add r4, r4, #1
|
|
add r0, r0, #2
|
|
add r5, r5, #4
|
|
str r0, [sp, #8]
|
|
cmp r4, #6
|
|
blt _0225776A
|
|
ldr r0, [sp]
|
|
mov r1, #0
|
|
bl ov03_022582C0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02257758
|
|
|
|
thumb_func_start ov03_022577D0
|
|
ov03_022577D0: ; 0x022577D0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov03_02257184
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl sub_0201CB28
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0x11
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_022577D0
|
|
|
|
thumb_func_start ov03_022577F4
|
|
ov03_022577F4: ; 0x022577F4
|
|
push {r3, lr}
|
|
sub r1, r1, #3
|
|
cmp r1, #1
|
|
bhi _02257808
|
|
mov r1, #0x95
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
bl sub_02031A6C
|
|
pop {r3, pc}
|
|
_02257808:
|
|
mov r1, #0x92
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
bl sub_02029024
|
|
pop {r3, pc}
|
|
thumb_func_end ov03_022577F4
|
|
|
|
thumb_func_start ov03_02257814
|
|
ov03_02257814: ; 0x02257814
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldr r1, _02257870 ; =0x00000283
|
|
add r5, r0, #0
|
|
ldrb r0, [r5, r1]
|
|
cmp r0, #3
|
|
bne _02257840
|
|
add r0, r1, #0
|
|
add r2, r1, #0
|
|
sub r1, #0x12
|
|
add r2, #0xd
|
|
sub r0, #0x2f
|
|
ldrb r1, [r5, r1]
|
|
ldr r2, [r5, r2]
|
|
ldr r0, [r5, r0]
|
|
add r1, r2, r1
|
|
bl sub_02031AB8
|
|
cmp r0, #0
|
|
beq _0225785E
|
|
mov r0, #2
|
|
pop {r3, r4, r5, pc}
|
|
_02257840:
|
|
cmp r0, #4
|
|
bne _0225785E
|
|
add r2, r1, #1
|
|
add r0, r1, #0
|
|
sub r0, #0x2f
|
|
ldrh r2, [r5, r2]
|
|
sub r1, #0x8a
|
|
ldr r0, [r5, r0]
|
|
sub r1, r2, r1
|
|
bl sub_02031A78
|
|
cmp r0, #0
|
|
beq _0225785E
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
_0225785E:
|
|
mov r0, #0xa3
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r4, r0
|
|
bhs _0225786C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_0225786C:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02257870: .word 0x00000283
|
|
thumb_func_end ov03_02257814
|
|
|
|
thumb_func_start ov03_02257874
|
|
ov03_02257874: ; 0x02257874
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
bl sub_020248B8
|
|
mov r1, #0x91
|
|
lsl r1, r1, #2
|
|
strh r0, [r5, r1]
|
|
sub r1, #0x48
|
|
ldr r0, [r5, r1]
|
|
bl sub_020248B8
|
|
ldr r1, _0225793C ; =0x00000246
|
|
strh r0, [r5, r1]
|
|
sub r1, #0x4e
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0x7f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov03_022586BC
|
|
mov r1, #0xa1
|
|
lsl r1, r1, #2
|
|
strh r4, [r5, r1]
|
|
mov r2, #1
|
|
add r0, r1, #2
|
|
strh r2, [r5, r0]
|
|
ldrh r1, [r5, r1]
|
|
add r0, r5, #0
|
|
bl ov03_02258120
|
|
mov r1, #0xa3
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
sub r1, #9
|
|
ldrb r1, [r5, r1]
|
|
add r0, r5, #0
|
|
bl ov03_022577F4
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov03_02257814
|
|
cmp r0, #0
|
|
beq _022578F2
|
|
mov r0, #0xa6
|
|
mov r1, #0xa
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
mov r0, #0xe
|
|
pop {r3, r4, r5, pc}
|
|
_022578F2:
|
|
mov r1, #0xa3
|
|
lsl r1, r1, #2
|
|
ldr r1, [r5, r1]
|
|
add r0, r4, #0
|
|
bl _u32_div_f
|
|
mov r1, #0xa2
|
|
lsl r1, r1, #2
|
|
strh r0, [r5, r1]
|
|
ldrh r0, [r5, r1]
|
|
cmp r0, #0x63
|
|
bls _0225790E
|
|
mov r0, #0x63
|
|
strh r0, [r5, r1]
|
|
_0225790E:
|
|
ldr r0, _02257940 ; =0x00000283
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #1
|
|
beq _02257920
|
|
add r0, #0xfd
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _02257928
|
|
_02257920:
|
|
add r0, r5, #0
|
|
bl ov03_02257CA0
|
|
pop {r3, r4, r5, pc}
|
|
_02257928:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov03_022582C0
|
|
mov r0, #0xa6
|
|
mov r1, #2
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
mov r0, #5
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_0225793C: .word 0x00000246
|
|
_02257940: .word 0x00000283
|
|
thumb_func_end ov03_02257874
|
|
|
|
thumb_func_start ov03_02257944
|
|
ov03_02257944: ; 0x02257944
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xa
|
|
lsl r0, r0, #6
|
|
ldrb r0, [r4, r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
bne _0225795A
|
|
mov r0, #5
|
|
pop {r4, pc}
|
|
_0225795A:
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0x7f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #7
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02257944
|
|
|
|
thumb_func_start ov03_02257978
|
|
ov03_02257978: ; 0x02257978
|
|
push {r4, lr}
|
|
ldr r3, _022579D8 ; =0x00000283
|
|
add r2, r0, #0
|
|
ldrb r4, [r2, r3]
|
|
cmp r4, #0
|
|
beq _02257994
|
|
cmp r4, #1
|
|
beq _02257994
|
|
add r0, r4, #0
|
|
add r0, #0xfd
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _022579C0
|
|
_02257994:
|
|
ldr r3, _022579DC ; =0x000001E5
|
|
cmp r1, r3
|
|
blt _022579AE
|
|
add r0, r3, #6
|
|
cmp r1, r0
|
|
bgt _022579AE
|
|
add r0, r3, #0
|
|
add r0, #0x73
|
|
ldr r0, [r2, r0]
|
|
sub r1, r1, r3
|
|
bl sub_02031BA4
|
|
pop {r4, pc}
|
|
_022579AE:
|
|
mov r1, #0x93
|
|
lsl r1, r1, #2
|
|
ldr r0, [r2, r1]
|
|
add r1, #0x38
|
|
ldrh r1, [r2, r1]
|
|
mov r2, #0xb
|
|
bl sub_02078550
|
|
pop {r4, pc}
|
|
_022579C0:
|
|
cmp r4, #2
|
|
bne _022579D4
|
|
add r0, r3, #0
|
|
add r1, r3, #1
|
|
sub r0, #0x37
|
|
ldrh r1, [r2, r1]
|
|
ldr r0, [r2, r0]
|
|
bl sub_0202CD94
|
|
pop {r4, pc}
|
|
_022579D4:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_022579D8: .word 0x00000283
|
|
_022579DC: .word 0x000001E5
|
|
thumb_func_end ov03_02257978
|
|
|
|
thumb_func_start ov03_022579E0
|
|
ov03_022579E0: ; 0x022579E0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0x7f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
mov r1, #1
|
|
bl sub_0200E5D4
|
|
add r0, r4, #0
|
|
add r0, #0x38
|
|
mov r1, #1
|
|
bl sub_0200E5D4
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0xa6
|
|
mov r1, #7
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
sub r0, #0x58
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0x8b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0x23
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0x8d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0x8e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0x8f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
add r0, r4, #0
|
|
bl ov03_02257CA0
|
|
pop {r4, pc}
|
|
thumb_func_end ov03_022579E0
|
|
|
|
thumb_func_start ov03_02257A70
|
|
ov03_02257A70: ; 0x02257A70
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0x48
|
|
mov r1, #1
|
|
bl sub_0200E5D4
|
|
add r0, r4, #0
|
|
add r0, #0x38
|
|
mov r1, #1
|
|
bl sub_0200E5D4
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
mov r1, #0
|
|
bl sub_0200E9BC
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov03_02258560
|
|
mov r1, #0x7e
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x4c
|
|
ldrh r1, [r4, r1]
|
|
bl sub_02024830
|
|
mov r1, #0x7f
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x4a
|
|
ldrh r1, [r4, r1]
|
|
bl sub_02024830
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov03_022586BC
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov03_022582C0
|
|
mov r0, #0xa6
|
|
mov r1, #4
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
sub r0, #0x6c
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02257A70
|
|
|
|
thumb_func_start ov03_02257ADC
|
|
ov03_02257ADC: ; 0x02257ADC
|
|
push {r4, lr}
|
|
ldr r1, _02257B3C ; =0x00000286
|
|
add r4, r0, #0
|
|
add r0, r4, r1
|
|
add r1, r1, #2
|
|
ldrh r1, [r4, r1]
|
|
bl sub_020881C0
|
|
cmp r0, #0
|
|
beq _02257B02
|
|
ldr r0, _02257B40 ; =0x00000637
|
|
bl PlaySE
|
|
mov r0, #0xa6
|
|
mov r1, #6
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r0, #7
|
|
pop {r4, pc}
|
|
_02257B02:
|
|
ldr r0, _02257B44 ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _02257B1E
|
|
ldr r0, _02257B48 ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #0x12
|
|
mov r2, #8
|
|
bl ov03_022586CC
|
|
pop {r4, pc}
|
|
_02257B1E:
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _02257B38
|
|
mov r0, #0x25
|
|
lsl r0, r0, #6
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #0xd
|
|
mov r2, #9
|
|
bl ov03_022586CC
|
|
pop {r4, pc}
|
|
_02257B38:
|
|
mov r0, #7
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02257B3C: .word 0x00000286
|
|
_02257B40: .word 0x00000637
|
|
_02257B44: .word gMain
|
|
_02257B48: .word 0x000005DC
|
|
thumb_func_end ov03_02257ADC
|
|
|
|
thumb_func_start ov03_02257B4C
|
|
ov03_02257B4C: ; 0x02257B4C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #5
|
|
bhi _02257B76
|
|
add r0, r1, r1
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02257B60: ; jump table
|
|
.short _02257B6C - _02257B60 - 2 ; case 0
|
|
.short _02257BAC - _02257B60 - 2 ; case 1
|
|
.short _02257BEA - _02257B60 - 2 ; case 2
|
|
.short _02257C2A - _02257B60 - 2 ; case 3
|
|
.short _02257C6A - _02257B60 - 2 ; case 4
|
|
.short _02257C7C - _02257B60 - 2 ; case 5
|
|
_02257B6C:
|
|
mov r0, #0xa2
|
|
lsl r0, r0, #2
|
|
ldrh r1, [r4, r0]
|
|
cmp r1, #0xa
|
|
bhs _02257B78
|
|
_02257B76:
|
|
b _02257C90
|
|
_02257B78:
|
|
sub r0, r0, #2
|
|
ldrsh r0, [r4, r0]
|
|
mov r2, #0xa
|
|
bl ov03_022587E8
|
|
ldr r1, _02257C94 ; =0x00000286
|
|
strh r0, [r4, r1]
|
|
sub r1, #0x56
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0
|
|
bl sub_020249D4
|
|
mov r0, #0x23
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xd
|
|
bl sub_020248F0
|
|
ldr r0, _02257C98 ; =0x00000637
|
|
bl PlaySE
|
|
mov r0, #0xa6
|
|
mov r1, #6
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
b _02257C90
|
|
_02257BAC:
|
|
mov r0, #0xa2
|
|
lsl r0, r0, #2
|
|
ldrh r1, [r4, r0]
|
|
cmp r1, #1
|
|
beq _02257C90
|
|
sub r0, r0, #2
|
|
ldrsh r0, [r4, r0]
|
|
mov r2, #1
|
|
bl ov03_022587E8
|
|
ldr r1, _02257C94 ; =0x00000286
|
|
strh r0, [r4, r1]
|
|
sub r1, #0x52
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0
|
|
bl sub_020249D4
|
|
mov r0, #0x8d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xd
|
|
bl sub_020248F0
|
|
ldr r0, _02257C98 ; =0x00000637
|
|
bl PlaySE
|
|
mov r0, #0xa6
|
|
mov r1, #6
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
b _02257C90
|
|
_02257BEA:
|
|
mov r0, #0xa2
|
|
lsl r0, r0, #2
|
|
ldrh r1, [r4, r0]
|
|
cmp r1, #0xa
|
|
blo _02257C90
|
|
sub r0, r0, #2
|
|
ldrsh r0, [r4, r0]
|
|
mov r2, #9
|
|
mvn r2, r2
|
|
bl ov03_022587E8
|
|
ldr r1, _02257C94 ; =0x00000286
|
|
strh r0, [r4, r1]
|
|
sub r1, #0x4e
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0
|
|
bl sub_020249D4
|
|
mov r0, #0x8e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xf
|
|
bl sub_020248F0
|
|
ldr r0, _02257C98 ; =0x00000637
|
|
bl PlaySE
|
|
mov r0, #0xa6
|
|
mov r1, #6
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
b _02257C90
|
|
_02257C2A:
|
|
mov r0, #0xa2
|
|
lsl r0, r0, #2
|
|
ldrh r1, [r4, r0]
|
|
cmp r1, #1
|
|
beq _02257C90
|
|
sub r0, r0, #2
|
|
ldrsh r0, [r4, r0]
|
|
mov r2, #0
|
|
mvn r2, r2
|
|
bl ov03_022587E8
|
|
ldr r1, _02257C94 ; =0x00000286
|
|
strh r0, [r4, r1]
|
|
sub r1, #0x4a
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0
|
|
bl sub_020249D4
|
|
mov r0, #0x8f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xf
|
|
bl sub_020248F0
|
|
ldr r0, _02257C98 ; =0x00000637
|
|
bl PlaySE
|
|
mov r0, #0xa6
|
|
mov r1, #6
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
b _02257C90
|
|
_02257C6A:
|
|
ldr r0, _02257C9C ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #0x12
|
|
mov r2, #8
|
|
bl ov03_022586CC
|
|
pop {r4, pc}
|
|
_02257C7C:
|
|
mov r0, #0x25
|
|
lsl r0, r0, #6
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #0xd
|
|
mov r2, #9
|
|
bl ov03_022586CC
|
|
pop {r4, pc}
|
|
_02257C90:
|
|
mov r0, #7
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02257C94: .word 0x00000286
|
|
_02257C98: .word 0x00000637
|
|
_02257C9C: .word 0x000005DC
|
|
thumb_func_end ov03_02257B4C
|
|
|
|
thumb_func_start ov03_02257CA0
|
|
ov03_02257CA0: ; 0x02257CA0
|
|
push {r4, lr}
|
|
ldr r2, _02257D64 ; =0x00000283
|
|
add r4, r0, #0
|
|
ldrb r0, [r4, r2]
|
|
cmp r0, #0
|
|
bne _02257CC2
|
|
add r0, r2, #0
|
|
add r1, r2, #1
|
|
add r2, r2, #3
|
|
sub r0, #0x37
|
|
ldrh r1, [r4, r1]
|
|
ldrh r2, [r4, r2]
|
|
ldr r0, [r4, r0]
|
|
mov r3, #0xb
|
|
bl sub_02078384
|
|
b _02257D4C
|
|
_02257CC2:
|
|
cmp r0, #1
|
|
bne _02257CCA
|
|
mov r0, #0
|
|
b _02257D4C
|
|
_02257CCA:
|
|
add r0, #0xfd
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _02257D3A
|
|
add r0, r2, #1
|
|
ldrh r1, [r4, r0]
|
|
add r0, r2, #0
|
|
sub r0, #0x9e
|
|
cmp r1, r0
|
|
blo _02257D06
|
|
add r0, r2, #0
|
|
sub r0, #0x98
|
|
cmp r1, r0
|
|
bhi _02257D06
|
|
add r0, r2, #0
|
|
sub r0, #0x2b
|
|
sub r2, #0x9e
|
|
ldr r0, [r4, r0]
|
|
sub r1, r1, r2
|
|
bl sub_02031BA4
|
|
cmp r0, #0x63
|
|
bne _02257D26
|
|
mov r0, #0xa6
|
|
mov r1, #0xc
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r0, #0xe
|
|
pop {r4, pc}
|
|
_02257D06:
|
|
mov r2, #0x93
|
|
lsl r2, r2, #2
|
|
ldr r0, [r4, r2]
|
|
add r2, #0x3a
|
|
ldrh r2, [r4, r2]
|
|
mov r3, #0xb
|
|
bl sub_02078384
|
|
cmp r0, #0
|
|
bne _02257D26
|
|
mov r0, #0xa6
|
|
mov r1, #0xc
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r0, #0xe
|
|
pop {r4, pc}
|
|
_02257D26:
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl ov03_022582C0
|
|
mov r0, #0xa6
|
|
mov r1, #3
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r0, #0xa
|
|
pop {r4, pc}
|
|
_02257D3A:
|
|
add r0, r2, #0
|
|
add r1, r2, #1
|
|
add r2, r2, #3
|
|
sub r0, #0x37
|
|
ldrh r1, [r4, r1]
|
|
ldrsh r2, [r4, r2]
|
|
ldr r0, [r4, r0]
|
|
bl sub_0202CD3C
|
|
_02257D4C:
|
|
cmp r0, #0
|
|
bne _02257D60
|
|
ldr r0, _02257D68 ; =0x00000286
|
|
mov r1, #0
|
|
strh r1, [r4, r0]
|
|
mov r1, #0xb
|
|
add r0, #0x12
|
|
str r1, [r4, r0]
|
|
mov r0, #0xd
|
|
pop {r4, pc}
|
|
_02257D60:
|
|
mov r0, #0xa
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02257D64: .word 0x00000283
|
|
_02257D68: .word 0x00000286
|
|
thumb_func_end ov03_02257CA0
|
|
|
|
thumb_func_start ov03_02257D6C
|
|
ov03_02257D6C: ; 0x02257D6C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xa
|
|
lsl r0, r0, #6
|
|
ldrb r0, [r4, r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
bne _02257D82
|
|
mov r0, #0xa
|
|
pop {r4, pc}
|
|
_02257D82:
|
|
mov r0, #0xa6
|
|
mov r1, #8
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r0, #0xb
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02257D6C
|
|
|
|
thumb_func_start ov03_02257D90
|
|
ov03_02257D90: ; 0x02257D90
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
beq _02257D9E
|
|
cmp r1, #1
|
|
beq _02257DAA
|
|
b _02257DF2
|
|
_02257D9E:
|
|
mov r0, #0xa6
|
|
mov r1, #9
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r0, #0xc
|
|
pop {r4, pc}
|
|
_02257DAA:
|
|
add r0, #0x58
|
|
mov r1, #0
|
|
bl sub_0200E9BC
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov03_02258560
|
|
mov r1, #0x7e
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x4c
|
|
ldrh r1, [r4, r1]
|
|
bl sub_02024830
|
|
mov r1, #0x7f
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x4a
|
|
ldrh r1, [r4, r1]
|
|
bl sub_02024830
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov03_022586BC
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov03_022582C0
|
|
mov r0, #0xa6
|
|
mov r1, #4
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
_02257DF2:
|
|
mov r0, #0xb
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02257D90
|
|
|
|
thumb_func_start ov03_02257DF8
|
|
ov03_02257DF8: ; 0x02257DF8
|
|
push {r4, lr}
|
|
ldr r3, _02257E30 ; =0x00000283
|
|
add r2, r0, #0
|
|
ldrb r0, [r2, r3]
|
|
add r0, #0xfd
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _02257E18
|
|
sub r3, #0x2f
|
|
lsl r1, r1, #0x10
|
|
ldr r0, [r2, r3]
|
|
lsr r1, r1, #0x10
|
|
bl sub_02031A54
|
|
pop {r4, pc}
|
|
_02257E18:
|
|
add r1, r3, #0
|
|
add r1, #9
|
|
ldr r4, [r2, r1]
|
|
add r1, r3, #3
|
|
add r0, r3, #0
|
|
ldrsh r1, [r2, r1]
|
|
sub r0, #0x3b
|
|
ldr r0, [r2, r0]
|
|
mul r1, r4
|
|
bl sub_02029068
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02257E30: .word 0x00000283
|
|
thumb_func_end ov03_02257DF8
|
|
|
|
thumb_func_start ov03_02257E34
|
|
ov03_02257E34: ; 0x02257E34
|
|
push {r3, lr}
|
|
ldr r2, _02257E68 ; =0x000001E5
|
|
add r3, r0, #0
|
|
cmp r1, r2
|
|
blt _02257E54
|
|
add r0, r2, #6
|
|
cmp r1, r0
|
|
bgt _02257E54
|
|
add r0, r2, #0
|
|
add r0, #0x73
|
|
ldr r0, [r3, r0]
|
|
sub r1, r1, r2
|
|
mov r2, #1
|
|
bl sub_02031B68
|
|
pop {r3, pc}
|
|
_02257E54:
|
|
mov r1, #0x93
|
|
lsl r1, r1, #2
|
|
ldr r0, [r3, r1]
|
|
add r1, #0x38
|
|
ldrh r1, [r3, r1]
|
|
mov r2, #1
|
|
mov r3, #0xb
|
|
bl sub_02078398
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02257E68: .word 0x000001E5
|
|
thumb_func_end ov03_02257E34
|
|
|
|
thumb_func_start ov03_02257E6C
|
|
ov03_02257E6C: ; 0x02257E6C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xa
|
|
lsl r0, r0, #6
|
|
ldrb r0, [r4, r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
bne _02257E82
|
|
mov r0, #0xc
|
|
pop {r3, r4, r5, pc}
|
|
_02257E82:
|
|
ldr r2, _02257F20 ; =0x00000283
|
|
ldrb r0, [r4, r2]
|
|
cmp r0, #0
|
|
bne _02257EA0
|
|
add r0, r2, #0
|
|
add r1, r2, #1
|
|
add r2, r2, #3
|
|
sub r0, #0x37
|
|
ldrh r1, [r4, r1]
|
|
ldrh r2, [r4, r2]
|
|
ldr r0, [r4, r0]
|
|
mov r3, #0xb
|
|
bl sub_02078398
|
|
b _02257EF0
|
|
_02257EA0:
|
|
cmp r0, #3
|
|
bne _02257EC6
|
|
add r1, r2, #1
|
|
ldrh r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov03_02257E34
|
|
mov r2, #0x95
|
|
lsl r2, r2, #2
|
|
add r1, r2, #0
|
|
ldr r0, [r4, r2]
|
|
add r1, #0x3c
|
|
add r2, #0x1d
|
|
ldr r3, [r4, r1]
|
|
ldrb r1, [r4, r2]
|
|
add r1, r3, r1
|
|
bl sub_02031ACC
|
|
b _02257EF0
|
|
_02257EC6:
|
|
cmp r0, #4
|
|
bne _02257EDE
|
|
add r1, r2, #1
|
|
add r0, r2, #0
|
|
sub r0, #0x2f
|
|
ldrh r1, [r4, r1]
|
|
sub r2, #0x8a
|
|
ldr r0, [r4, r0]
|
|
sub r1, r1, r2
|
|
bl sub_02031A98
|
|
b _02257EF0
|
|
_02257EDE:
|
|
add r0, r2, #0
|
|
add r1, r2, #1
|
|
add r2, r2, #3
|
|
sub r0, #0x37
|
|
ldrh r1, [r4, r1]
|
|
ldrsh r2, [r4, r2]
|
|
ldr r0, [r4, r0]
|
|
bl sub_0202CCAC
|
|
_02257EF0:
|
|
mov r1, #0xa3
|
|
lsl r1, r1, #2
|
|
ldr r2, [r4, r1]
|
|
sub r1, r1, #6
|
|
ldrsh r1, [r4, r1]
|
|
add r0, r4, #0
|
|
mul r1, r2
|
|
bl ov03_02257DF8
|
|
mov r3, #0x97
|
|
lsl r3, r3, #2
|
|
add r2, r3, #0
|
|
ldr r0, [r4, r3]
|
|
add r2, #0x30
|
|
add r3, #0x2a
|
|
ldr r5, [r4, r2]
|
|
ldrsh r2, [r4, r3]
|
|
mov r1, #0x24
|
|
mul r2, r5
|
|
bl sub_0202D144
|
|
mov r0, #0xd
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02257F20: .word 0x00000283
|
|
thumb_func_end ov03_02257E6C
|
|
|
|
thumb_func_start ov03_02257F24
|
|
ov03_02257F24: ; 0x02257F24
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xa
|
|
lsl r0, r0, #6
|
|
ldrb r0, [r4, r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
bne _02257F3A
|
|
mov r0, #0xd
|
|
pop {r4, pc}
|
|
_02257F3A:
|
|
ldr r0, _02257FEC ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
bne _02257F4C
|
|
ldr r0, _02257FF0 ; =gMain + 0x40
|
|
ldrh r0, [r0, #0x24]
|
|
cmp r0, #0
|
|
beq _02257FE6
|
|
_02257F4C:
|
|
mov r0, #0x99
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #1
|
|
bne _02257F5E
|
|
sub r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl sub_02066D80
|
|
_02257F5E:
|
|
ldr r1, _02257FF4 ; =0x00000283
|
|
ldrb r0, [r4, r1]
|
|
cmp r0, #0
|
|
bne _02257F9E
|
|
add r0, r1, #1
|
|
ldrh r0, [r4, r0]
|
|
cmp r0, #4
|
|
bne _02257F9E
|
|
add r0, r1, #3
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #0xa
|
|
blt _02257F9E
|
|
sub r1, #0x37
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0xc
|
|
mov r2, #1
|
|
mov r3, #0xb
|
|
bl sub_02078398
|
|
cmp r0, #1
|
|
bne _02257F9E
|
|
mov r0, #0xa6
|
|
mov r1, #0xd
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
sub r0, #0x3c
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x33
|
|
bl sub_0202D0FC
|
|
mov r0, #0xf
|
|
pop {r4, pc}
|
|
_02257F9E:
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
mov r1, #0
|
|
bl sub_0200E9BC
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov03_02258560
|
|
mov r1, #0x7e
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x4c
|
|
ldrh r1, [r4, r1]
|
|
bl sub_02024830
|
|
mov r1, #0x7f
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x4a
|
|
ldrh r1, [r4, r1]
|
|
bl sub_02024830
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov03_022586BC
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov03_022582C0
|
|
mov r1, #0xa6
|
|
mov r0, #4
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
_02257FE6:
|
|
mov r0, #0xd
|
|
pop {r4, pc}
|
|
nop
|
|
_02257FEC: .word gMain
|
|
_02257FF0: .word gMain + 0x40
|
|
_02257FF4: .word 0x00000283
|
|
thumb_func_end ov03_02257F24
|
|
|
|
thumb_func_start ov03_02257FF8
|
|
ov03_02257FF8: ; 0x02257FF8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xa
|
|
lsl r0, r0, #6
|
|
ldrb r0, [r4, r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
bne _0225800E
|
|
mov r0, #0xe
|
|
pop {r4, pc}
|
|
_0225800E:
|
|
ldr r0, _02258070 ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
bne _02258020
|
|
ldr r0, _02258074 ; =gMain + 0x40
|
|
ldrh r0, [r0, #0x24]
|
|
cmp r0, #0
|
|
beq _0225806A
|
|
_02258020:
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
mov r1, #0
|
|
bl sub_0200E9BC
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov03_02258560
|
|
mov r1, #0x7e
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x4c
|
|
ldrh r1, [r4, r1]
|
|
bl sub_02024830
|
|
mov r1, #0x7f
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x4a
|
|
ldrh r1, [r4, r1]
|
|
bl sub_02024830
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov03_022586BC
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov03_022582C0
|
|
mov r0, #0xa6
|
|
mov r1, #5
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r0, #4
|
|
pop {r4, pc}
|
|
_0225806A:
|
|
mov r0, #0xe
|
|
pop {r4, pc}
|
|
nop
|
|
_02258070: .word gMain
|
|
_02258074: .word gMain + 0x40
|
|
thumb_func_end ov03_02257FF8
|
|
|
|
thumb_func_start ov03_02258078
|
|
ov03_02258078: ; 0x02258078
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xa
|
|
lsl r0, r0, #6
|
|
ldrb r0, [r4, r0]
|
|
bl sub_0205B624
|
|
cmp r0, #0
|
|
bne _0225808E
|
|
mov r0, #0xf
|
|
pop {r4, pc}
|
|
_0225808E:
|
|
ldr r0, _022580F0 ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
bne _022580A0
|
|
ldr r0, _022580F4 ; =gMain + 0x40
|
|
ldrh r0, [r0, #0x24]
|
|
cmp r0, #0
|
|
beq _022580EA
|
|
_022580A0:
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
mov r1, #0
|
|
bl sub_0200E9BC
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov03_02258560
|
|
mov r1, #0x7e
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x4c
|
|
ldrh r1, [r4, r1]
|
|
bl sub_02024830
|
|
mov r1, #0x7f
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x4a
|
|
ldrh r1, [r4, r1]
|
|
bl sub_02024830
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov03_022586BC
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov03_022582C0
|
|
mov r0, #0xa6
|
|
mov r1, #4
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
_022580EA:
|
|
mov r0, #0xf
|
|
pop {r4, pc}
|
|
nop
|
|
_022580F0: .word gMain
|
|
_022580F4: .word gMain + 0x40
|
|
thumb_func_end ov03_02258078
|
|
|
|
thumb_func_start ov03_022580F8
|
|
ov03_022580F8: ; 0x022580F8
|
|
push {r3, r4, r5, lr}
|
|
mov r4, #0
|
|
cmp r2, #0
|
|
ble _02258118
|
|
add r5, r1, #0
|
|
_02258102:
|
|
ldrh r3, [r5]
|
|
cmp r0, r3
|
|
bne _02258110
|
|
lsl r0, r4, #2
|
|
add r0, r1, r0
|
|
ldrh r0, [r0, #2]
|
|
pop {r3, r4, r5, pc}
|
|
_02258110:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, r2
|
|
blt _02258102
|
|
_02258118:
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov03_022580F8
|
|
|
|
thumb_func_start ov03_02258120
|
|
ov03_02258120: ; 0x02258120
|
|
push {r3, lr}
|
|
ldr r3, _02258160 ; =0x00000283
|
|
add r2, r0, #0
|
|
ldrb r0, [r2, r3]
|
|
cmp r0, #0
|
|
bne _02258138
|
|
add r0, r1, #0
|
|
mov r1, #0
|
|
mov r2, #0xb
|
|
bl sub_02077D88
|
|
pop {r3, pc}
|
|
_02258138:
|
|
cmp r0, #1
|
|
bne _02258140
|
|
mov r0, #0x64
|
|
pop {r3, pc}
|
|
_02258140:
|
|
add r0, #0xfd
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _0225815C
|
|
add r0, r1, #0
|
|
add r1, r3, #0
|
|
sub r1, #0x17
|
|
sub r3, #0x13
|
|
ldr r1, [r2, r1]
|
|
ldrb r2, [r2, r3]
|
|
bl ov03_022580F8
|
|
pop {r3, pc}
|
|
_0225815C:
|
|
mov r0, #0x64
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02258160: .word 0x00000283
|
|
thumb_func_end ov03_02258120
|
|
|
|
thumb_func_start ov03_02258164
|
|
ov03_02258164: ; 0x02258164
|
|
ldr r3, _0225816C ; =ov01_021F6A9C
|
|
ldr r1, [r0, #0x1c]
|
|
mov r2, #0
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225816C: .word ov01_021F6A9C
|
|
thumb_func_end ov03_02258164
|
|
|
|
thumb_func_start ov03_02258170
|
|
ov03_02258170: ; 0x02258170
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov01_021F6B10
|
|
cmp r0, #0
|
|
bne _0225818C
|
|
add r0, r5, #0
|
|
bl ov01_021F6B00
|
|
cmp r0, #1
|
|
beq _0225818C
|
|
mov r0, #0x12
|
|
pop {r3, r4, r5, pc}
|
|
_0225818C:
|
|
ldr r0, _022581B8 ; =0x00000281
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r5, #0x24]
|
|
bl sub_02023128
|
|
add r0, r4, #0
|
|
add r0, #0x90
|
|
ldr r0, [r0]
|
|
bl sub_02023120
|
|
ldr r0, [r5, #0x24]
|
|
bl sub_0202313C
|
|
add r0, r4, #0
|
|
bl ov03_02258288
|
|
mov r0, #0x1b
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_022581B8: .word 0x00000281
|
|
thumb_func_end ov03_02258170
|
|
|
|
thumb_func_start ov03_022581BC
|
|
ov03_022581BC: ; 0x022581BC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r1, _0225827C ; =0x0225946C
|
|
add r7, r0, #0
|
|
add r0, #0x94
|
|
mov r2, #0x13
|
|
mov r3, #0xb
|
|
bl ov01_021E7FDC
|
|
add r0, r7, #0
|
|
str r0, [sp]
|
|
add r0, #0x94
|
|
ldr r4, _02258280 ; =0x022594F8
|
|
mov r6, #0
|
|
add r5, r7, #0
|
|
str r0, [sp]
|
|
_022581DA:
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl ov01_021E81F0
|
|
mov r1, #0x7e
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add r6, r6, #1
|
|
add r4, #0x28
|
|
add r5, r5, #4
|
|
cmp r6, #0x13
|
|
blo _022581DA
|
|
add r0, r1, #0
|
|
add r0, #0x34
|
|
ldr r0, [r7, r0]
|
|
mov r1, #1
|
|
bl sub_02024A04
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r7, r0]
|
|
mov r1, #1
|
|
bl sub_02024A04
|
|
mov r0, #0x22
|
|
lsl r0, r0, #4
|
|
ldr r0, [r7, r0]
|
|
mov r1, #1
|
|
bl sub_0202484C
|
|
mov r0, #2
|
|
lsl r0, r0, #8
|
|
ldr r0, [r7, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0x7f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl sub_02022CC8
|
|
add r0, r7, #0
|
|
mov r1, #0
|
|
bl ov03_022582C0
|
|
mov r1, #0x29
|
|
lsl r1, r1, #4
|
|
ldr r1, [r7, r1]
|
|
add r0, r7, #0
|
|
mov r2, #0
|
|
bl ov03_02257378
|
|
ldr r2, _02258284 ; =0x00000271
|
|
add r0, r7, #0
|
|
ldrb r1, [r7, r2]
|
|
sub r2, r2, #1
|
|
ldrb r2, [r7, r2]
|
|
bl ov03_02257758
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225827C: .word 0x0225946C
|
|
_02258280: .word 0x022594F8
|
|
_02258284: .word 0x00000271
|
|
thumb_func_end ov03_022581BC
|
|
|
|
thumb_func_start ov03_02258288
|
|
ov03_02258288: ; 0x02258288
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r4, #0
|
|
mov r7, #0x7e
|
|
str r0, [sp]
|
|
add r5, r0, #0
|
|
add r6, r4, #0
|
|
lsl r7, r7, #2
|
|
_02258296:
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl sub_02024758
|
|
str r6, [r5, r7]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0x13
|
|
blo _02258296
|
|
ldr r0, [sp]
|
|
add r0, #0x94
|
|
bl ov01_021E8194
|
|
ldr r0, [sp]
|
|
mov r1, #0
|
|
add r0, #0x94
|
|
str r0, [sp]
|
|
str r1, [r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02258288
|
|
|
|
thumb_func_start ov03_022582C0
|
|
ov03_022582C0: ; 0x022582C0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
add r5, r0, #0
|
|
cmp r1, #0
|
|
beq _022582DA
|
|
cmp r1, #1
|
|
bne _022582D0
|
|
b _022583F4
|
|
_022582D0:
|
|
cmp r1, #2
|
|
bne _022582D6
|
|
b _022584F2
|
|
_022582D6:
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
_022582DA:
|
|
ldr r4, _02258554 ; =0x022594F8
|
|
mov r7, #0
|
|
add r6, r5, #0
|
|
_022582E0:
|
|
mov r0, #0xa4
|
|
ldrsh r0, [r4, r0]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0xa6
|
|
ldrsh r0, [r4, r0]
|
|
lsl r1, r0, #0xc
|
|
mov r0, #3
|
|
lsl r0, r0, #0x12
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #0xa8
|
|
ldrsh r0, [r4, r0]
|
|
add r1, sp, #0x18
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x20]
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
bl sub_020247D4
|
|
add r7, r7, #1
|
|
add r4, #0x28
|
|
add r6, r6, #4
|
|
cmp r7, #6
|
|
blt _022582E0
|
|
mov r7, #0x27
|
|
ldr r4, _02258558 ; =0x02259850
|
|
mov r6, #0
|
|
lsl r7, r7, #4
|
|
_0225831C:
|
|
ldrb r1, [r4, #1]
|
|
cmp r1, #4
|
|
bne _02258354
|
|
ldr r0, _0225855C ; =0x00000271
|
|
ldrb r0, [r5, r0]
|
|
add r1, r0, #6
|
|
ldrb r0, [r5, r7]
|
|
cmp r1, r0
|
|
ldrb r0, [r4]
|
|
bge _02258342
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
b _022583D0
|
|
_02258342:
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
b _022583D0
|
|
_02258354:
|
|
cmp r1, #3
|
|
bne _02258386
|
|
ldr r0, _0225855C ; =0x00000271
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
ldrb r0, [r4]
|
|
bne _02258374
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
b _022583D0
|
|
_02258374:
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
b _022583D0
|
|
_02258386:
|
|
cmp r1, #5
|
|
bne _022583C0
|
|
ldr r0, _0225855C ; =0x00000271
|
|
ldrb r0, [r5, r0]
|
|
add r1, r0, r6
|
|
mov r0, #0x27
|
|
lsl r0, r0, #4
|
|
ldrb r0, [r5, r0]
|
|
cmp r1, r0
|
|
ldrb r0, [r4]
|
|
bge _022583AE
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
b _022583D0
|
|
_022583AE:
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
b _022583D0
|
|
_022583C0:
|
|
ldrb r0, [r4]
|
|
lsl r0, r0, #2
|
|
add r2, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r2, r0]
|
|
bl sub_02024830
|
|
_022583D0:
|
|
add r6, r6, #1
|
|
add r4, r4, #3
|
|
cmp r6, #0xf
|
|
blo _0225831C
|
|
mov r0, #0x8b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_020249D4
|
|
mov r0, #0x8b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #6
|
|
bl sub_020248F0
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
_022583F4:
|
|
mov r7, #0x56
|
|
ldr r4, _02258558 ; =0x02259850
|
|
mov r6, #0
|
|
lsl r7, r7, #0xc
|
|
_022583FC:
|
|
ldrb r1, [r4, #2]
|
|
cmp r1, #2
|
|
bne _02258452
|
|
mov r0, #0x29
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
cmp r0, r6
|
|
bne _0225843E
|
|
mov r0, #0x43
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
ldrb r0, [r4]
|
|
str r7, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
add r1, sp, #0xc
|
|
bl sub_020247D4
|
|
ldrb r0, [r4]
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
b _022584CE
|
|
_0225843E:
|
|
ldrb r0, [r4]
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
b _022584CE
|
|
_02258452:
|
|
ldrb r0, [r4]
|
|
cmp r0, #0xe
|
|
beq _0225845C
|
|
cmp r0, #0x10
|
|
bne _0225848A
|
|
_0225845C:
|
|
mov r1, #0xa2
|
|
lsl r1, r1, #2
|
|
ldrh r1, [r5, r1]
|
|
cmp r1, #0xa
|
|
bhs _02258478
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
b _022584CE
|
|
_02258478:
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
b _022584CE
|
|
_0225848A:
|
|
cmp r0, #0xf
|
|
beq _02258492
|
|
cmp r0, #0x11
|
|
bne _022584C0
|
|
_02258492:
|
|
mov r1, #0xa2
|
|
lsl r1, r1, #2
|
|
ldrh r1, [r5, r1]
|
|
cmp r1, #1
|
|
bne _022584AE
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
b _022584CE
|
|
_022584AE:
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
b _022584CE
|
|
_022584C0:
|
|
lsl r0, r0, #2
|
|
add r2, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r2, r0]
|
|
bl sub_02024830
|
|
_022584CE:
|
|
add r6, r6, #1
|
|
add r4, r4, #3
|
|
cmp r6, #0xf
|
|
blo _022583FC
|
|
mov r0, #0x8b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_020249D4
|
|
mov r0, #0x8b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x1a
|
|
bl sub_020248F0
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
_022584F2:
|
|
mov r7, #0x56
|
|
ldr r4, _02258558 ; =0x02259850
|
|
mov r6, #0
|
|
lsl r7, r7, #0xc
|
|
_022584FA:
|
|
mov r0, #0x29
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
cmp r0, r6
|
|
bne _02258536
|
|
mov r0, #0x43
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldrb r0, [r4]
|
|
str r7, [sp]
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
add r1, sp, #0
|
|
bl sub_020247D4
|
|
ldrb r0, [r4]
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
b _02258548
|
|
_02258536:
|
|
ldrb r0, [r4]
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
_02258548:
|
|
add r6, r6, #1
|
|
add r4, r4, #3
|
|
cmp r6, #0xf
|
|
blo _022584FA
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02258554: .word 0x022594F8
|
|
_02258558: .word 0x02259850
|
|
_0225855C: .word 0x00000271
|
|
thumb_func_end ov03_022582C0
|
|
|
|
thumb_func_start ov03_02258560
|
|
ov03_02258560: ; 0x02258560
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
bne _02258586
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xb1
|
|
mov r2, #8
|
|
bl sub_0200DD88
|
|
mov r0, #0x7f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xb1
|
|
mov r2, #0x84
|
|
bl sub_0200DD88
|
|
pop {r4, pc}
|
|
_02258586:
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xa2
|
|
mov r2, #0x6c
|
|
bl sub_0200DD88
|
|
mov r0, #0x7f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xa2
|
|
mov r2, #0x84
|
|
bl sub_0200DD88
|
|
pop {r4, pc}
|
|
thumb_func_end ov03_02258560
|
|
|
|
thumb_func_start ov03_022585A4
|
|
ov03_022585A4: ; 0x022585A4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
ldr r0, _02258644 ; =0x00000283
|
|
add r6, r1, #0
|
|
ldrb r1, [r4, r0]
|
|
cmp r1, #0
|
|
beq _022585CA
|
|
cmp r1, #3
|
|
beq _022585CA
|
|
cmp r1, #4
|
|
beq _022585CA
|
|
sub r0, #0x7f
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
_022585CA:
|
|
mov r0, #0x71
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #2
|
|
bl sub_0200A7BC
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl sub_02077C18
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0xb
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, r5, #0
|
|
mov r2, #0x12
|
|
bl sub_0200A2E4
|
|
add r0, r5, #0
|
|
bl sub_0200AE8C
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_0200A7BC
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
mov r1, #2
|
|
bl sub_02077C18
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0xb
|
|
str r0, [sp, #4]
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, r5, #0
|
|
mov r2, #0x12
|
|
bl sub_0200A350
|
|
add r0, r5, #0
|
|
bl sub_0200B084
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02258644: .word 0x00000283
|
|
thumb_func_end ov03_022585A4
|
|
|
|
thumb_func_start ov03_02258648
|
|
ov03_02258648: ; 0x02258648
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
mov r0, #0x71
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r6, r3, #0
|
|
add r7, r2, #0
|
|
bl sub_0200A7BC
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl sub_02077C18
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0xb
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, r5, #0
|
|
mov r2, #0x12
|
|
bl sub_0200A2E4
|
|
add r0, r5, #0
|
|
bl sub_0200AE8C
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, r7, #0
|
|
bl sub_0200A7BC
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
mov r1, #2
|
|
bl sub_02077C18
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0xb
|
|
str r0, [sp, #4]
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, r5, #0
|
|
mov r2, #0x12
|
|
bl sub_0200A350
|
|
add r0, r5, #0
|
|
bl sub_0200B084
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov03_02258648
|
|
|
|
thumb_func_start ov03_022586BC
|
|
ov03_022586BC: ; 0x022586BC
|
|
mov r2, #2
|
|
lsl r2, r2, #8
|
|
ldr r3, _022586C8 ; =sub_0200DD08
|
|
ldr r0, [r0, r2]
|
|
bx r3
|
|
nop
|
|
_022586C8: .word sub_0200DD08
|
|
thumb_func_end ov03_022586BC
|
|
|
|
thumb_func_start ov03_022586CC
|
|
ov03_022586CC: ; 0x022586CC
|
|
mov r3, #0xa7
|
|
lsl r3, r3, #2
|
|
add r3, r0, r3
|
|
strb r1, [r3]
|
|
mov r0, #0
|
|
strb r0, [r3, #1]
|
|
strb r0, [r3, #2]
|
|
strb r2, [r3, #3]
|
|
mov r0, #0x15
|
|
bx lr
|
|
thumb_func_end ov03_022586CC
|
|
|
|
thumb_func_start ov03_022586E0
|
|
ov03_022586E0: ; 0x022586E0
|
|
push {r4, lr}
|
|
mov r1, #0xa7
|
|
lsl r1, r1, #2
|
|
add r4, r0, r1
|
|
ldrb r2, [r4, #1]
|
|
cmp r2, #0
|
|
beq _022586F8
|
|
cmp r2, #1
|
|
beq _02258710
|
|
cmp r2, #2
|
|
beq _02258738
|
|
b _02258748
|
|
_022586F8:
|
|
ldrb r2, [r4]
|
|
sub r1, #0xa4
|
|
lsl r2, r2, #2
|
|
add r0, r0, r2
|
|
ldr r0, [r0, r1]
|
|
mov r1, #7
|
|
bl sub_0200DD08
|
|
ldrb r0, [r4, #1]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #1]
|
|
b _02258748
|
|
_02258710:
|
|
ldrb r2, [r4, #2]
|
|
add r2, r2, #1
|
|
strb r2, [r4, #2]
|
|
ldrb r2, [r4, #2]
|
|
cmp r2, #4
|
|
bne _02258748
|
|
ldrb r2, [r4]
|
|
sub r1, #0xa4
|
|
lsl r2, r2, #2
|
|
add r0, r0, r2
|
|
ldr r0, [r0, r1]
|
|
mov r1, #6
|
|
bl sub_0200DD08
|
|
mov r0, #0
|
|
strb r0, [r4, #2]
|
|
ldrb r0, [r4, #1]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #1]
|
|
b _02258748
|
|
_02258738:
|
|
ldrb r0, [r4, #2]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #2]
|
|
ldrb r0, [r4, #2]
|
|
cmp r0, #2
|
|
bne _02258748
|
|
ldrb r0, [r4, #3]
|
|
pop {r4, pc}
|
|
_02258748:
|
|
mov r0, #0x15
|
|
pop {r4, pc}
|
|
thumb_func_end ov03_022586E0
|
|
|
|
thumb_func_start ov03_0225874C
|
|
ov03_0225874C: ; 0x0225874C
|
|
push {r4, lr}
|
|
mov r0, #0
|
|
add r4, r1, #0
|
|
bl ov01_021E636C
|
|
ldr r0, _02258760 ; =0x00000272
|
|
mov r1, #0x17
|
|
strb r1, [r4, r0]
|
|
pop {r4, pc}
|
|
nop
|
|
_02258760: .word 0x00000272
|
|
thumb_func_end ov03_0225874C
|
|
|
|
thumb_func_start ov03_02258764
|
|
ov03_02258764: ; 0x02258764
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r6, r0, #0
|
|
bl sub_0200FB5C
|
|
cmp r0, #0
|
|
beq _022587C2
|
|
add r0, r6, #0
|
|
bl sub_0205064C
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
bl sub_02050650
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
bl sub_0207879C
|
|
ldr r1, _022587C8 ; =0x022597F0
|
|
mov r2, #0xb
|
|
bl sub_02078644
|
|
str r0, [r4, #4]
|
|
mov r0, #0x43
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
str r0, [sp]
|
|
add r3, r5, #0
|
|
add r3, #0x94
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [r5, #0xc]
|
|
ldr r3, [r3]
|
|
mov r2, #2
|
|
bl sub_0207789C
|
|
ldr r1, [r4, #4]
|
|
add r0, r5, #0
|
|
bl sub_0203E3D4
|
|
ldr r1, _022587CC ; =0x02092B05
|
|
add r0, r6, #0
|
|
add r2, r4, #0
|
|
bl sub_02050510
|
|
ldr r0, _022587D0 ; =0x00000272
|
|
mov r1, #0x18
|
|
strb r1, [r4, r0]
|
|
_022587C2:
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_022587C8: .word 0x022597F0
|
|
_022587CC: .word 0x02092B05
|
|
_022587D0: .word 0x00000272
|
|
thumb_func_end ov03_02258764
|
|
|
|
thumb_func_start ov03_022587D4
|
|
ov03_022587D4: ; 0x022587D4
|
|
push {r3, lr}
|
|
bl sub_0200FB5C
|
|
cmp r0, #0
|
|
bne _022587E2
|
|
mov r0, #0x1a
|
|
pop {r3, pc}
|
|
_022587E2:
|
|
mov r0, #0x1b
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_022587D4
|
|
|
|
thumb_func_start ov03_022587E8
|
|
ov03_022587E8: ; 0x022587E8
|
|
cmp r2, #0
|
|
ble _022587FE
|
|
cmp r0, r1
|
|
bne _022587F4
|
|
mov r0, #1
|
|
bx lr
|
|
_022587F4:
|
|
add r0, r0, r2
|
|
cmp r0, r1
|
|
ble _0225880E
|
|
add r0, r1, #0
|
|
bx lr
|
|
_022587FE:
|
|
cmp r0, #1
|
|
bne _02258806
|
|
add r0, r1, #0
|
|
bx lr
|
|
_02258806:
|
|
add r0, r0, r2
|
|
cmp r0, #0
|
|
bgt _0225880E
|
|
mov r0, #1
|
|
_0225880E:
|
|
bx lr
|
|
thumb_func_end ov03_022587E8
|
|
|
|
thumb_func_start ov03_02258810
|
|
ov03_02258810: ; 0x02258810
|
|
str r0, [r1]
|
|
bx lr
|
|
thumb_func_end ov03_02258810
|
|
|
|
thumb_func_start ov03_02258814
|
|
ov03_02258814: ; 0x02258814
|
|
ldr r3, _02258820 ; =sub_0203410C
|
|
add r2, r0, #0
|
|
ldr r0, _02258824 ; =0x022597FC
|
|
mov r1, #1
|
|
bx r3
|
|
nop
|
|
_02258820: .word sub_0203410C
|
|
_02258824: .word 0x022597FC
|
|
thumb_func_end ov03_02258814
|
|
|
|
thumb_func_start ov03_02258828
|
|
ov03_02258828: ; 0x02258828
|
|
mov r0, #0xba
|
|
lsl r0, r0, #2
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02258828
|
|
|
|
thumb_func_start ov03_02258830
|
|
ov03_02258830: ; 0x02258830
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
cmp r5, #2
|
|
blt _0225883E
|
|
bl GF_AssertFail
|
|
_0225883E:
|
|
mov r0, #0xba
|
|
lsl r0, r0, #2
|
|
add r4, #8
|
|
mul r0, r5
|
|
add r0, r4, r0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02258830
|
|
|
|
thumb_func_start ov03_0225884C
|
|
ov03_0225884C: ; 0x0225884C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
add r4, r3, #0
|
|
bl sub_0203769C
|
|
cmp r5, r0
|
|
beq _02258876
|
|
ldr r0, [r4, #4]
|
|
mov r1, #1
|
|
add r2, r6, #0
|
|
bl sub_0202F680
|
|
add r0, r5, #0
|
|
bl sub_02034818
|
|
add r1, r0, #0
|
|
ldr r0, [r4, #4]
|
|
mov r2, #0xb
|
|
bl sub_0202F7D8
|
|
_02258876:
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov03_0225884C
|
|
|
|
thumb_func_start ov03_02258878
|
|
ov03_02258878: ; 0x02258878
|
|
push {r4, lr}
|
|
ldr r1, _02258890 ; =0x000005D8
|
|
mov r0, #0xb
|
|
bl AllocFromHeapAtEnd
|
|
ldr r2, _02258890 ; =0x000005D8
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
bl MIi_CpuFill8
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02258890: .word 0x000005D8
|
|
thumb_func_end ov03_02258878
|
|
|
|
thumb_func_start ov03_02258894
|
|
ov03_02258894: ; 0x02258894
|
|
push {r3, lr}
|
|
bl sub_02050650
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
bne _022588A8
|
|
bl FreeToHeap
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_022588A8:
|
|
blx r1
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02258894
|
|
|
|
thumb_func_start ov03_022588B0
|
|
ov03_022588B0: ; 0x022588B0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xd
|
|
bl sub_02037B38
|
|
cmp r0, #0
|
|
beq _022588D2
|
|
bl sub_0203769C
|
|
mov r1, #1
|
|
sub r0, r1, r0
|
|
bl sub_02034818
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
bl ov03_02258810
|
|
_022588D2:
|
|
pop {r4, pc}
|
|
thumb_func_end ov03_022588B0
|
|
|
|
thumb_func_start ov03_022588D4
|
|
ov03_022588D4: ; 0x022588D4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xc
|
|
bl sub_02037B38
|
|
cmp r0, #0
|
|
beq _0225890A
|
|
mov r0, #1
|
|
bl sub_02034818
|
|
cmp r0, #0
|
|
beq _0225890A
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0
|
|
bl sub_0202F630
|
|
add r1, r0, #0
|
|
mov r0, #0x16
|
|
bl sub_020376D4
|
|
mov r0, #0xd
|
|
bl sub_02037AC0
|
|
ldr r0, _0225890C ; =ov03_022588B0
|
|
add r1, r4, #0
|
|
bl ov03_02258810
|
|
_0225890A:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0225890C: .word ov03_022588B0
|
|
thumb_func_end ov03_022588D4
|
|
|
|
thumb_func_start ov03_02258910
|
|
ov03_02258910: ; 0x02258910
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl ov03_02258878
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
bl sub_0202F57C
|
|
str r0, [r4, #4]
|
|
add r0, r4, #0
|
|
bl ov03_02258814
|
|
mov r0, #0xc
|
|
bl sub_02037AC0
|
|
ldr r0, _02258944 ; =ov03_022588D4
|
|
add r1, r4, #0
|
|
bl ov03_02258810
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, _02258948 ; =ov03_02258894
|
|
add r2, r4, #0
|
|
bl sub_02050530
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02258944: .word ov03_022588D4
|
|
_02258948: .word ov03_02258894
|
|
thumb_func_end ov03_02258910
|
|
|
|
thumb_func_start ov03_0225894C
|
|
ov03_0225894C: ; 0x0225894C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
mov r1, #0x14
|
|
bl sub_020402F0
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
bl sub_0203EB08
|
|
str r0, [r4]
|
|
ldr r1, _02258974 ; =0x02042975
|
|
add r0, r5, #0
|
|
bl sub_0203FD58
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02258974: .word 0x02042975
|
|
thumb_func_end ov03_0225894C
|
|
|
|
thumb_func_start ov03_02258978
|
|
ov03_02258978: ; 0x02258978
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_0203FE2C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
bl sub_02040374
|
|
add r1, r0, #0
|
|
ldr r0, [r4, #0x74]
|
|
bl sub_02097720
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end ov03_02258978
|
|
|
|
thumb_func_start ov03_02258998
|
|
ov03_02258998: ; 0x02258998
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
mov r1, #0x10
|
|
bl sub_020402F0
|
|
ldr r1, [r5, #8]
|
|
add r6, r0, #0
|
|
add r0, r1, #1
|
|
str r0, [r5, #8]
|
|
add r0, r5, #0
|
|
ldrb r4, [r1]
|
|
bl sub_0203FE2C
|
|
add r5, #0x80
|
|
add r1, r0, #0
|
|
ldr r0, [r5]
|
|
bl sub_020403AC
|
|
add r2, r0, #0
|
|
lsl r2, r2, #0x18
|
|
ldr r0, [r6]
|
|
add r1, r4, #0
|
|
lsr r2, r2, #0x18
|
|
bl sub_0200CA4C
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02258998
|
|
|
|
thumb_func_start ov03_022589D4
|
|
ov03_022589D4: ; 0x022589D4
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x80
|
|
ldr r6, [r0]
|
|
mov r1, #0x10
|
|
add r0, r6, #0
|
|
bl sub_020402F0
|
|
add r0, r5, #0
|
|
bl sub_0203FE2C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
bl sub_02040374
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl sub_0203FE2C
|
|
add r5, #0x80
|
|
add r1, r0, #0
|
|
ldr r0, [r5]
|
|
bl sub_02040374
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl ov02_0224E754
|
|
strh r0, [r4]
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_022589D4
|
|
|
|
thumb_func_start ov03_02258A18
|
|
ov03_02258A18: ; 0x02258A18
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
add r4, r0, #0
|
|
add r0, #0x80
|
|
ldr r5, [r0]
|
|
mov r1, #0x10
|
|
add r0, r5, #0
|
|
bl sub_020402F0
|
|
add r0, r4, #0
|
|
bl sub_0203FE2C
|
|
add r4, #0x80
|
|
add r1, r0, #0
|
|
ldr r0, [r4]
|
|
bl sub_020403AC
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x40]
|
|
bl sub_0205C654
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0x40]
|
|
bl sub_0205C67C
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl sub_02060F0C
|
|
add r7, r0, #0
|
|
ldr r0, [r5, #0x40]
|
|
bl sub_0205C688
|
|
str r0, [sp, #0x14]
|
|
add r0, r4, #0
|
|
bl sub_02060F18
|
|
add r2, r6, r7
|
|
sub r2, #0x20
|
|
asr r1, r2, #4
|
|
lsr r1, r1, #0x1b
|
|
add r1, r2, r1
|
|
ldr r2, [sp, #0x14]
|
|
asr r1, r1, #5
|
|
add r2, r2, r0
|
|
sub r2, #0x20
|
|
asr r0, r2, #4
|
|
lsr r0, r0, #0x1b
|
|
add r0, r2, r0
|
|
asr r2, r0, #5
|
|
lsl r0, r2, #1
|
|
add r0, r2, r0
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0xc]
|
|
bl sub_0202F57C
|
|
mov r1, #0
|
|
bl sub_0202F630
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x2c]
|
|
bl ov01_021F6320
|
|
add r4, r0, #0
|
|
lsl r0, r4, #0x18
|
|
ldr r1, [r5, #0x2c]
|
|
lsr r0, r0, #0x18
|
|
add r2, sp, #0x20
|
|
bl ov01_021F630C
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r5, #0x2c]
|
|
lsr r1, r1, #0x18
|
|
bl ov01_021F65E4
|
|
str r0, [sp, #8]
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r5, #0x2c]
|
|
lsr r1, r1, #0x18
|
|
bl ov01_021F65F0
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x7a
|
|
mul r1, r0
|
|
ldr r0, [sp, #0xc]
|
|
add r0, r0, r1
|
|
add r1, r0, #2
|
|
ldr r0, [sp]
|
|
lsl r0, r0, #2
|
|
add r4, r1, r0
|
|
ldr r0, [r5, #0xc]
|
|
bl Sav2_PlayerData_GetProfileAddr
|
|
bl PlayerProfile_GetTrainerGender
|
|
add r2, r0, #0
|
|
lsl r2, r2, #0x18
|
|
ldrb r1, [r4]
|
|
add r0, sp, #0x1c
|
|
lsr r2, r2, #0x18
|
|
bl sub_02097268
|
|
ldrb r0, [r4, #3]
|
|
mov ip, r0
|
|
add r0, sp, #0x1c
|
|
ldrb r0, [r0, #1]
|
|
lsl r0, r0, #0x19
|
|
lsr r1, r0, #0x1d
|
|
mov r0, ip
|
|
sub r1, r0, r1
|
|
mov r0, ip
|
|
cmp r0, r1
|
|
ble _02258B54
|
|
mov r0, ip
|
|
lsl r6, r0, #5
|
|
_02258B02:
|
|
add r7, sp, #0x1c
|
|
ldrb r0, [r7, #1]
|
|
ldrb r1, [r4, #1]
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1d
|
|
add r0, r1, r0
|
|
cmp r1, r0
|
|
bge _02258B3A
|
|
ldr r0, [sp, #4]
|
|
lsl r3, r6, #1
|
|
add r0, r0, r6
|
|
add r2, r0, r1
|
|
ldr r0, [sp, #8]
|
|
add r3, r0, r3
|
|
lsl r0, r1, #1
|
|
add r3, r3, r0
|
|
_02258B22:
|
|
ldrb r0, [r2]
|
|
add r1, r1, #1
|
|
add r2, r2, #1
|
|
strh r0, [r3]
|
|
ldrb r5, [r7, #1]
|
|
ldrb r0, [r4, #1]
|
|
add r3, r3, #2
|
|
lsl r5, r5, #0x1c
|
|
lsr r5, r5, #0x1d
|
|
add r0, r0, r5
|
|
cmp r1, r0
|
|
blt _02258B22
|
|
_02258B3A:
|
|
add r1, sp, #0x1c
|
|
mov r0, ip
|
|
ldrb r1, [r1, #1]
|
|
sub r0, r0, #1
|
|
mov ip, r0
|
|
lsl r1, r1, #0x19
|
|
ldrb r0, [r4, #3]
|
|
lsr r1, r1, #0x1d
|
|
sub r6, #0x20
|
|
sub r1, r0, r1
|
|
mov r0, ip
|
|
cmp r0, r1
|
|
bgt _02258B02
|
|
_02258B54:
|
|
mov r5, #0
|
|
_02258B56:
|
|
lsl r1, r5, #0x18
|
|
ldr r0, [sp, #0x20]
|
|
lsr r1, r1, #0x18
|
|
bl ov01_021F3B44
|
|
str r0, [sp, #0x18]
|
|
bl ov01_021F3B30
|
|
cmp r0, #0
|
|
beq _02258BC0
|
|
ldr r1, [sp, #0x18]
|
|
add r0, sp, #0x24
|
|
bl ov01_021F3B0C
|
|
ldr r0, [sp, #0x2c]
|
|
ldrb r2, [r4, #1]
|
|
asr r1, r0, #0xc
|
|
add r1, #0xf8
|
|
asr r0, r1, #3
|
|
lsr r0, r0, #0x1c
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0xc
|
|
asr r3, r0, #0x10
|
|
ldr r0, [sp, #0x24]
|
|
asr r1, r0, #0xc
|
|
add r1, #0xf8
|
|
asr r0, r1, #3
|
|
lsr r0, r0, #0x1c
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0xc
|
|
asr r1, r0, #0x10
|
|
cmp r1, r2
|
|
blt _02258BC0
|
|
ldrb r0, [r4, #3]
|
|
cmp r3, r0
|
|
bgt _02258BC0
|
|
add r6, sp, #0x1c
|
|
ldrb r7, [r6, #1]
|
|
lsl r6, r7, #0x1c
|
|
lsr r6, r6, #0x1d
|
|
add r2, r2, r6
|
|
cmp r1, r2
|
|
bge _02258BC0
|
|
lsl r1, r7, #0x19
|
|
lsr r1, r1, #0x1d
|
|
sub r0, r0, r1
|
|
cmp r3, r0
|
|
ble _02258BC0
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #1
|
|
bl ov01_021F3B2C
|
|
b _02258BC6
|
|
_02258BC0:
|
|
add r5, r5, #1
|
|
cmp r5, #0x20
|
|
blt _02258B56
|
|
_02258BC6:
|
|
ldr r2, [sp]
|
|
ldr r0, [sp, #0xc]
|
|
lsl r2, r2, #0x18
|
|
ldr r1, [sp, #0x10]
|
|
lsr r2, r2, #0x18
|
|
bl sub_0202F968
|
|
mov r0, #0
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov03_02258A18
|
|
|
|
thumb_func_start ov03_02258BDC
|
|
ov03_02258BDC: ; 0x02258BDC
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl sub_0203FE2C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
bl sub_02040374
|
|
add r4, #0x80
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
bl ov02_0224E698
|
|
strh r0, [r5]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov03_02258BDC
|
|
|
|
thumb_func_start ov03_02258C00
|
|
ov03_02258C00: ; 0x02258C00
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
ldr r2, _02258CD4 ; =0x02259808
|
|
add r1, sp, #0x14
|
|
ldrh r3, [r2]
|
|
ldrh r2, [r2, #2]
|
|
add r5, r0, #0
|
|
strh r3, [r1]
|
|
strh r2, [r1, #2]
|
|
add r1, r5, #0
|
|
add r1, #0x80
|
|
ldr r2, [r5, #8]
|
|
ldr r4, [r1]
|
|
add r1, r2, #1
|
|
str r1, [r5, #8]
|
|
ldrb r1, [r2]
|
|
str r1, [sp, #8]
|
|
bl sub_0203FE2C
|
|
add r5, #0x80
|
|
add r1, r0, #0
|
|
ldr r0, [r5]
|
|
bl sub_02040374
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
bl SavArray_PlayerParty_get
|
|
str r0, [sp, #4]
|
|
bl GetPartyCount
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
bl Sav2_PlayerData_GetProfileAddr
|
|
bl PlayerProfile_GetTrainerID
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _02258CD8 ; =0x00000165
|
|
bl sub_0203B36C
|
|
lsl r0, r0, #0x10
|
|
lsr r7, r0, #0x10
|
|
mov r5, #0
|
|
cmp r6, #0
|
|
ble _02258CCA
|
|
ldr r0, [sp, #8]
|
|
lsl r0, r0, #1
|
|
str r0, [sp, #0x10]
|
|
_02258C62:
|
|
ldr r0, [sp, #4]
|
|
add r1, r5, #0
|
|
bl GetPartyMonByIndex
|
|
mov r1, #0x4c
|
|
mov r2, #0
|
|
add r4, r0, #0
|
|
bl GetMonData
|
|
cmp r0, #0
|
|
bne _02258CC4
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
mov r2, #0
|
|
bl GetMonData
|
|
ldr r1, [sp, #0xc]
|
|
cmp r1, r0
|
|
bne _02258CC4
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl GetMonData
|
|
ldr r1, [sp, #0x10]
|
|
add r2, sp, #0x14
|
|
ldrh r1, [r2, r1]
|
|
cmp r1, r0
|
|
bne _02258CC4
|
|
add r0, r4, #0
|
|
mov r1, #0x98
|
|
mov r2, #0
|
|
bl GetMonData
|
|
cmp r0, #0
|
|
bne _02258CC4
|
|
add r0, r4, #0
|
|
mov r1, #0x99
|
|
mov r2, #0
|
|
bl GetMonData
|
|
cmp r7, r0
|
|
bne _02258CC4
|
|
ldr r0, [sp]
|
|
mov r1, #1
|
|
strh r1, [r0]
|
|
add sp, #0x18
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02258CC4:
|
|
add r5, r5, #1
|
|
cmp r5, r6
|
|
blt _02258C62
|
|
_02258CCA:
|
|
ldr r1, [sp]
|
|
mov r0, #0
|
|
strh r0, [r1]
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02258CD4: .word 0x02259808
|
|
_02258CD8: .word 0x00000165
|
|
thumb_func_end ov03_02258C00
|
|
|
|
thumb_func_start ov03_02258CDC
|
|
ov03_02258CDC: ; 0x02258CDC
|
|
push {r3, r4, r5, lr}
|
|
add r0, #0x80
|
|
ldr r5, [r0]
|
|
ldr r0, [r5, #0xc]
|
|
bl sub_0202F57C
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
bl sub_02028EC0
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl sub_0202F784
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov03_02258CDC
|
|
|
|
thumb_func_start ov03_02258CFC
|
|
ov03_02258CFC: ; 0x02258CFC
|
|
push {r4, r5, r6, lr}
|
|
add r6, r1, #0
|
|
bl sub_0205064C
|
|
add r5, r0, #0
|
|
mov r0, #0xb
|
|
mov r1, #0x40
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
str r6, [r4, #4]
|
|
ldr r0, [r5, #8]
|
|
str r0, [r4, #0xc]
|
|
str r5, [r4, #8]
|
|
ldr r0, [r5, #0xc]
|
|
bl sub_02031968
|
|
str r0, [r4, #0x20]
|
|
bl sub_0203199C
|
|
str r0, [r4, #0x24]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, _02258D38 ; =ov03_02258D3C
|
|
add r2, r4, #0
|
|
bl sub_02050530
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02258D38: .word ov03_02258D3C
|
|
thumb_func_end ov03_02258CFC
|
|
|
|
thumb_func_start ov03_02258D3C
|
|
ov03_02258D3C: ; 0x02258D3C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_0205064C
|
|
add r0, r4, #0
|
|
bl sub_02050650
|
|
add r4, r0, #0
|
|
ldr r1, [r4]
|
|
cmp r1, #0
|
|
beq _02258D58
|
|
cmp r1, #1
|
|
beq _02258D6C
|
|
b _02258D84
|
|
_02258D58:
|
|
bl ov03_02258DE8
|
|
ldr r1, [r4, #4]
|
|
add r0, r4, #0
|
|
bl ov03_02258EE8
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _02258D84
|
|
_02258D6C:
|
|
bl ov03_02258D88
|
|
cmp r0, #0
|
|
beq _02258D84
|
|
add r0, r4, #0
|
|
bl ov03_02258E88
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02258D84:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov03_02258D3C
|
|
|
|
thumb_func_start ov03_02258D88
|
|
ov03_02258D88: ; 0x02258D88
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_02025358
|
|
cmp r0, #0
|
|
beq _02258DAC
|
|
ldr r0, _02258DDC ; =0x000005DD
|
|
bl PlaySE
|
|
mov r0, #0x43
|
|
ldr r1, [r4, #8]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
bl sub_02018410
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02258DAC:
|
|
ldr r0, _02258DE0 ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
ldr r0, _02258DE4 ; =0x00000CF3
|
|
tst r0, r1
|
|
beq _02258DC4
|
|
mov r0, #0x43
|
|
ldr r1, [r4, #8]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl sub_02018410
|
|
_02258DC4:
|
|
ldr r0, _02258DE0 ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _02258DD8
|
|
ldr r0, _02258DDC ; =0x000005DD
|
|
bl PlaySE
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02258DD8:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02258DDC: .word 0x000005DD
|
|
_02258DE0: .word gMain
|
|
_02258DE4: .word 0x00000CF3
|
|
thumb_func_end ov03_02258D88
|
|
|
|
thumb_func_start ov03_02258DE8
|
|
ov03_02258DE8: ; 0x02258DE8
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
mov r1, #1
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0x1c
|
|
str r0, [sp, #4]
|
|
mov r0, #0x16
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #0xc]
|
|
add r1, #0x10
|
|
mov r2, #3
|
|
mov r3, #2
|
|
bl sub_0201D40C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r2, _02258E84 ; =0x000003D9
|
|
mov r1, #3
|
|
mov r3, #0xb
|
|
bl sub_0200E3DC
|
|
add r0, r4, #0
|
|
ldr r2, _02258E84 ; =0x000003D9
|
|
add r0, #0x10
|
|
mov r1, #1
|
|
mov r3, #0xb
|
|
bl sub_0200E580
|
|
add r0, r4, #0
|
|
add r0, #0x10
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
mov r1, #0x1b
|
|
add r2, r1, #0
|
|
mov r0, #0
|
|
add r2, #0xfa
|
|
mov r3, #4
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r4, #0x28]
|
|
mov r0, #3
|
|
mov r1, #0x10
|
|
mov r2, #4
|
|
bl ScrStrBufs_new_custom
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #0x80
|
|
mov r1, #4
|
|
bl String_ctor
|
|
str r0, [r4, #0x30]
|
|
mov r0, #0x80
|
|
mov r1, #4
|
|
bl String_ctor
|
|
str r0, [r4, #0x34]
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #1
|
|
bl NewString_ReadMsgData
|
|
str r0, [r4, #0x38]
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #3
|
|
bl NewString_ReadMsgData
|
|
str r0, [r4, #0x3c]
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02258E84: .word 0x000003D9
|
|
thumb_func_end ov03_02258DE8
|
|
|
|
thumb_func_start ov03_02258E88
|
|
ov03_02258E88: ; 0x02258E88
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x3c]
|
|
bl String_dtor
|
|
ldr r0, [r4, #0x38]
|
|
bl String_dtor
|
|
ldr r0, [r4, #0x34]
|
|
bl String_dtor
|
|
ldr r0, [r4, #0x30]
|
|
bl String_dtor
|
|
ldr r0, [r4, #0x2c]
|
|
bl ScrStrBufs_delete
|
|
ldr r0, [r4, #0x28]
|
|
bl DestroyMsgData
|
|
add r0, r4, #0
|
|
add r0, #0x10
|
|
mov r1, #1
|
|
bl sub_0200E5D4
|
|
add r0, r4, #0
|
|
add r0, #0x10
|
|
bl RemoveWindow
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #3
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
pop {r4, pc}
|
|
thumb_func_end ov03_02258E88
|
|
|
|
thumb_func_start ov03_02258ECC
|
|
ov03_02258ECC: ; 0x02258ECC
|
|
push {r3, lr}
|
|
ldr r2, _02258EE4 ; =0x02259880
|
|
ldrb r1, [r2, r1]
|
|
cmp r1, #0
|
|
bne _02258EDA
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02258EDA:
|
|
ldr r0, [r0, #0x20]
|
|
sub r1, r1, #1
|
|
bl sub_02031A78
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02258EE4: .word 0x02259880
|
|
thumb_func_end ov03_02258ECC
|
|
|
|
thumb_func_start ov03_02258EE8
|
|
ov03_02258EE8: ; 0x02258EE8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r2, _02258F44 ; =0x0225980C
|
|
add r6, r0, #0
|
|
lsl r0, r1, #2
|
|
str r0, [sp]
|
|
ldr r0, [r2, r0]
|
|
mov r7, #0
|
|
cmp r0, #0
|
|
ble _02258F32
|
|
mov r0, #0xa
|
|
add r4, r1, #0
|
|
mul r4, r0
|
|
mov r5, #8
|
|
_02258F02:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov03_02258ECC
|
|
cmp r0, #0
|
|
beq _02258F1A
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl ov03_02258F8C
|
|
b _02258F22
|
|
_02258F1A:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl ov03_02258F48
|
|
_02258F22:
|
|
ldr r1, _02258F44 ; =0x0225980C
|
|
ldr r0, [sp]
|
|
add r7, r7, #1
|
|
ldr r0, [r1, r0]
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r7, r0
|
|
blt _02258F02
|
|
_02258F32:
|
|
add r0, r6, #0
|
|
add r0, #0x10
|
|
bl sub_0201D5C8
|
|
ldr r0, [r6, #0xc]
|
|
mov r1, #3
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02258F44: .word 0x0225980C
|
|
thumb_func_end ov03_02258EE8
|
|
|
|
thumb_func_start ov03_02258F48
|
|
ov03_02258F48: ; 0x02258F48
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
str r4, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02258F88 ; =0x0001020F
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
add r0, r5, #0
|
|
ldr r2, [r5, #0x3c]
|
|
add r0, #0x10
|
|
mov r3, #8
|
|
bl sub_020200FC
|
|
str r4, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02258F88 ; =0x0001020F
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
add r0, r5, #0
|
|
ldr r2, [r5, #0x38]
|
|
add r0, #0x10
|
|
mov r3, #8
|
|
bl sub_020200FC
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02258F88: .word 0x0001020F
|
|
thumb_func_end ov03_02258F48
|
|
|
|
thumb_func_start ov03_02258F8C
|
|
ov03_02258F8C: ; 0x02258F8C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
add r4, r1, #0
|
|
ldr r0, [r5, #0x28]
|
|
ldr r2, [r5, #0x34]
|
|
add r1, r6, #4
|
|
bl ReadMsgDataIntoString
|
|
str r4, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02259064 ; =0x0001020F
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
add r0, r5, #0
|
|
ldr r2, [r5, #0x34]
|
|
add r0, #0x10
|
|
mov r3, #8
|
|
bl sub_020200FC
|
|
ldr r0, [r5, #0x24]
|
|
add r1, r6, #0
|
|
bl ov03_02259070
|
|
add r7, r0, #0
|
|
ldr r0, _02259068 ; =0x0098967F
|
|
cmp r7, r0
|
|
blo _02258FCC
|
|
add r7, r0, #0
|
|
_02258FCC:
|
|
cmp r6, #9
|
|
bne _02259028
|
|
ldr r0, [r5, #0x28]
|
|
ldr r2, [r5, #0x30]
|
|
mov r1, #2
|
|
bl ReadMsgDataIntoString
|
|
add r0, r7, #0
|
|
mov r1, #0x3c
|
|
bl _u32_div_f
|
|
lsl r0, r0, #0x10
|
|
lsr r6, r0, #0x10
|
|
add r0, r7, #0
|
|
mov r1, #0x3c
|
|
bl _u32_div_f
|
|
lsl r0, r1, #0x10
|
|
lsr r7, r0, #0x10
|
|
ldr r0, _0225906C ; =0x000003E7
|
|
cmp r6, r0
|
|
bls _02258FFA
|
|
add r6, r0, #0
|
|
_02258FFA:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x2c]
|
|
mov r1, #0
|
|
add r2, r6, #0
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
mov r3, #2
|
|
str r3, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0x2c]
|
|
add r2, r7, #0
|
|
bl BufferIntegerAsString
|
|
ldr r0, [r5, #0x2c]
|
|
ldr r1, [r5, #0x34]
|
|
ldr r2, [r5, #0x30]
|
|
bl StringExpandPlaceholders
|
|
b _02259036
|
|
_02259028:
|
|
mov r3, #1
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0x34]
|
|
add r1, r7, #0
|
|
mov r2, #7
|
|
bl String16_FormatInteger
|
|
_02259036:
|
|
mov r0, #0
|
|
ldr r1, [r5, #0x34]
|
|
add r2, r0, #0
|
|
bl sub_02002F30
|
|
mov r1, #0xe0
|
|
sub r3, r1, r0
|
|
str r4, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02259064 ; =0x0001020F
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
add r0, r5, #0
|
|
ldr r2, [r5, #0x34]
|
|
add r0, #0x10
|
|
sub r3, #8
|
|
bl sub_020200FC
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02259064: .word 0x0001020F
|
|
_02259068: .word 0x0098967F
|
|
_0225906C: .word 0x000003E7
|
|
thumb_func_end ov03_02258F8C
|
|
|
|
thumb_func_start ov03_02259070
|
|
ov03_02259070: ; 0x02259070
|
|
cmp r1, #0xa
|
|
blt _02259082
|
|
cmp r1, #0x13
|
|
bgt _02259082
|
|
sub r1, #0xa
|
|
lsl r1, r1, #2
|
|
add r0, r0, r1
|
|
ldr r0, [r0, #0x44]
|
|
bx lr
|
|
_02259082:
|
|
cmp r1, #0x1c
|
|
bhi _02259128
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02259092: ; jump table
|
|
.short _022590CC - _02259092 - 2 ; case 0
|
|
.short _022590D0 - _02259092 - 2 ; case 1
|
|
.short _022590D4 - _02259092 - 2 ; case 2
|
|
.short _022590D8 - _02259092 - 2 ; case 3
|
|
.short _022590DC - _02259092 - 2 ; case 4
|
|
.short _022590F0 - _02259092 - 2 ; case 5
|
|
.short _022590F4 - _02259092 - 2 ; case 6
|
|
.short _022590F8 - _02259092 - 2 ; case 7
|
|
.short _022590FC - _02259092 - 2 ; case 8
|
|
.short _02259100 - _02259092 - 2 ; case 9
|
|
.short _02259128 - _02259092 - 2 ; case 10
|
|
.short _02259128 - _02259092 - 2 ; case 11
|
|
.short _02259128 - _02259092 - 2 ; case 12
|
|
.short _02259128 - _02259092 - 2 ; case 13
|
|
.short _02259128 - _02259092 - 2 ; case 14
|
|
.short _02259128 - _02259092 - 2 ; case 15
|
|
.short _02259128 - _02259092 - 2 ; case 16
|
|
.short _02259128 - _02259092 - 2 ; case 17
|
|
.short _02259128 - _02259092 - 2 ; case 18
|
|
.short _02259128 - _02259092 - 2 ; case 19
|
|
.short _02259104 - _02259092 - 2 ; case 20
|
|
.short _02259108 - _02259092 - 2 ; case 21
|
|
.short _0225910C - _02259092 - 2 ; case 22
|
|
.short _02259110 - _02259092 - 2 ; case 23
|
|
.short _02259114 - _02259092 - 2 ; case 24
|
|
.short _02259118 - _02259092 - 2 ; case 25
|
|
.short _0225911C - _02259092 - 2 ; case 26
|
|
.short _02259120 - _02259092 - 2 ; case 27
|
|
.short _02259124 - _02259092 - 2 ; case 28
|
|
_022590CC:
|
|
ldr r0, [r0, #4]
|
|
bx lr
|
|
_022590D0:
|
|
ldr r0, [r0, #8]
|
|
bx lr
|
|
_022590D4:
|
|
ldr r0, [r0, #0xc]
|
|
bx lr
|
|
_022590D8:
|
|
ldr r0, [r0, #0x10]
|
|
bx lr
|
|
_022590DC:
|
|
mov r3, #0
|
|
add r2, r3, #0
|
|
_022590E0:
|
|
ldr r1, [r0, #0x44]
|
|
add r2, r2, #1
|
|
add r3, r3, r1
|
|
add r0, r0, #4
|
|
cmp r2, #0xa
|
|
blt _022590E0
|
|
add r0, r3, #0
|
|
bx lr
|
|
_022590F0:
|
|
ldr r0, [r0, #0x6c]
|
|
bx lr
|
|
_022590F4:
|
|
ldr r0, [r0, #0x38]
|
|
bx lr
|
|
_022590F8:
|
|
ldr r0, [r0, #0x3c]
|
|
bx lr
|
|
_022590FC:
|
|
ldr r0, [r0, #0x40]
|
|
bx lr
|
|
_02259100:
|
|
ldr r0, [r0]
|
|
bx lr
|
|
_02259104:
|
|
ldr r0, [r0, #0x14]
|
|
bx lr
|
|
_02259108:
|
|
ldr r0, [r0, #0x2c]
|
|
bx lr
|
|
_0225910C:
|
|
ldr r0, [r0, #0x1c]
|
|
bx lr
|
|
_02259110:
|
|
ldr r0, [r0, #0x24]
|
|
bx lr
|
|
_02259114:
|
|
ldr r0, [r0, #0x30]
|
|
bx lr
|
|
_02259118:
|
|
ldr r0, [r0, #0x34]
|
|
bx lr
|
|
_0225911C:
|
|
ldr r0, [r0, #0x20]
|
|
bx lr
|
|
_02259120:
|
|
ldr r0, [r0, #0x18]
|
|
bx lr
|
|
_02259124:
|
|
ldr r0, [r0, #0x28]
|
|
bx lr
|
|
_02259128:
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end ov03_02259070
|
|
|
|
.rodata
|
|
|
|
_0225912C:
|
|
.byte 0x4F, 0x01, 0x00, 0x00
|
|
.byte 0x4E, 0x01, 0x00, 0x00, 0x4D, 0x01, 0x00, 0x00, 0x4E, 0x01, 0x00, 0x00, 0x50, 0x01, 0x00, 0x00
|
|
.byte 0x4E, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x00, 0x01, 0x00, 0x10, 0x2F, 0x00, 0x80, 0x80
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x41, 0x25, 0x02, 0x21, 0x41, 0x25, 0x02
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x08, 0x00, 0x10, 0x2F, 0x00, 0x80, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x00, 0x26, 0x00, 0x26, 0x00
|
|
.byte 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x00, 0x26, 0x00
|
|
.byte 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00
|
|
.byte 0x46, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00
|
|
.byte 0x34, 0x00, 0x33, 0x00, 0x33, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x3C, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x3F, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x35, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x07, 0x00
|
|
.byte 0x08, 0x00, 0x09, 0x00, 0x0B, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x10, 0x00, 0x11, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x18, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x1B, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x25, 0x00, 0x1F, 0x00
|
|
.byte 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x21, 0x00, 0x00, 0x00, 0x22, 0x00, 0x23, 0x00
|
|
.byte 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1D, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x2B, 0x00, 0x2B, 0x00, 0x2C, 0x00
|
|
.byte 0x2D, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x2F, 0x00, 0xBF, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x37, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x37, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x10, 0x2F, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x00, 0x98, 0x00
|
|
.byte 0x99, 0x00, 0x00, 0x00, 0x02, 0x01, 0x12, 0x1B, 0x06, 0x0D, 0xFD, 0x00, 0x42, 0x00, 0x43, 0x00
|
|
.byte 0x41, 0x00, 0x40, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x58, 0x00, 0x04, 0x02, 0x06, 0x01, 0x08, 0x03
|
|
.byte 0x00, 0x07, 0x00, 0x04, 0x06, 0x03, 0x01, 0x05, 0x02, 0x07, 0x02, 0x00, 0x06, 0x05, 0x03, 0x08
|
|
.byte 0x04, 0x07, 0x04, 0x00, 0x08, 0x08, 0x04, 0x00, 0x08, 0x08, 0x05, 0x01, 0x08, 0x08, 0x30, 0x38
|
|
.byte 0x00, 0x07, 0xB0, 0x38, 0x00, 0x07, 0x30, 0x60, 0x00, 0x07, 0xB0, 0x60, 0x00, 0x07, 0x30, 0x88
|
|
.byte 0x00, 0x07, 0xB0, 0x88, 0x00, 0x07, 0x18, 0xB0, 0x04, 0x07, 0x40, 0xB0, 0x04, 0x07, 0xE0, 0xB0
|
|
.byte 0x07, 0x07, 0xA0, 0xB0, 0x07, 0x07, 0x02, 0x0D, 0x02, 0x12, 0x0E, 0x0D, 0x01, 0x00, 0x02, 0x05
|
|
.byte 0x12, 0x1B, 0x06, 0x0D, 0xFD, 0x00, 0x03, 0x01, 0x01, 0x0A, 0x04, 0x0D, 0x28, 0x00, 0x03, 0x13
|
|
.byte 0x0D, 0x0C, 0x04, 0x0D, 0x50, 0x00, 0x03, 0x01, 0x0F, 0x0E, 0x02, 0x0D, 0x80, 0x00, 0x03, 0x02
|
|
.byte 0x13, 0x1B, 0x04, 0x0C, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x08, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x84, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x18, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x16, 0x00, 0x3B, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x98, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x16, 0x00, 0x64, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x98, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0x00, 0x8B, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x98, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x18, 0x00, 0xB0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x40, 0x00, 0xB0, 0x00
|
|
.byte 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0xE0, 0x00, 0xB0, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x88, 0x00, 0x68, 0x00
|
|
.byte 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x68, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x88, 0x00, 0x98, 0x00
|
|
.byte 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x98, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x88, 0x00, 0xB0, 0x00
|
|
.byte 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0xFF, 0x00, 0x00, 0x00, 0x4D, 0x88, 0x25, 0x02
|
|
.byte 0x29, 0x88, 0x25, 0x02, 0x31, 0x88, 0x25, 0x02, 0x4A, 0x00, 0x1B, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
|
|
.data
|
|
|
|
.byte 0x01, 0x02, 0x03, 0x05, 0x07, 0x04, 0x0B, 0x0A, 0x09, 0x00, 0x00, 0x00, 0x66, 0x67, 0x68, 0x69
|
|
.byte 0x6B, 0x6D, 0x6D, 0x6D, 0x6F, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x83, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x04, 0x05, 0x02, 0x05, 0x05, 0x02, 0x06, 0x05, 0x02, 0x07, 0x05, 0x02, 0x08, 0x05, 0x02, 0x09
|
|
.byte 0x05, 0x02, 0x0A, 0x01, 0x00, 0x0B, 0x03, 0x00, 0x0C, 0x04, 0x00, 0x0D, 0x01, 0x01, 0x0E, 0x00
|
|
.byte 0x01, 0x0F, 0x00, 0x01, 0x10, 0x00, 0x01, 0x11, 0x00, 0x01, 0x12, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x01, 0x02, 0x19, 0x15, 0x16, 0x00, 0x13, 0x14, 0x1B, 0x05, 0x07, 0x12, 0x08, 0x09, 0x11
|
|
.byte 0x06, 0x10, 0x0A, 0x18, 0x1A, 0x03, 0x04, 0x0E, 0x17, 0x0D, 0x0B, 0x0C, 0x0F, 0x00, 0x00, 0x00
|
|
|
|
.bss
|
|
.space 0x20
|