mirror of
https://github.com/pret/pokeheartgold.git
synced 2024-11-28 15:40:59 +00:00
6077 lines
109 KiB
ArmAsm
6077 lines
109 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
|
|
.text
|
|
|
|
thumb_func_start ov27_02259F80
|
|
ov27_02259F80: ; 0x02259F80
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r2, #0
|
|
add r6, r0, #0
|
|
str r1, [sp, #0x10]
|
|
ldr r2, _0225A170 ; =0x00018D00
|
|
mov r0, #3
|
|
mov r1, #8
|
|
bl sub_0201A910
|
|
mov r0, #0
|
|
bl sub_020CDA64
|
|
mov r0, #0x80
|
|
bl GX_SetBankForSubBG
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
bl GX_SetBankForSubOBJ
|
|
ldr r2, _0225A174 ; =0x04001000
|
|
ldr r0, _0225A178 ; =0xFFCFFFEF
|
|
ldr r1, [r2]
|
|
mov r3, #0
|
|
and r1, r0
|
|
mov r0, #0x10
|
|
orr r0, r1
|
|
str r0, [r2]
|
|
ldr r2, _0225A17C ; =0x0225D000
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
bl sub_0201B1E4
|
|
ldr r2, _0225A180 ; =0x0225D01C
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
mov r3, #0
|
|
bl sub_0201B1E4
|
|
mov r1, #0x15
|
|
ldr r0, _0225A184 ; =ov27_0225A320
|
|
lsl r1, r1, #6
|
|
mov r2, #0xa
|
|
mov r3, #8
|
|
bl sub_02007200
|
|
add r7, r0, #0
|
|
bl sub_0201F988
|
|
add r4, r0, #0
|
|
str r7, [r4, #8]
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
ldr r0, [sp, #0x10]
|
|
str r6, [r4, #4]
|
|
str r0, [r4, #0xc]
|
|
add r0, r5, #0
|
|
str r5, [r4, #0x10]
|
|
bl ov27_0225BD50
|
|
ldr r3, _0225A188 ; =0x0000051C
|
|
add r2, r0, #0
|
|
ldr r1, [r4, r3]
|
|
mov r0, #0x1e
|
|
bic r1, r0
|
|
lsl r0, r2, #0x1c
|
|
lsr r0, r0, #0x1b
|
|
orr r0, r1
|
|
str r0, [r4, r3]
|
|
ldr r1, [r4, r3]
|
|
mov r0, #0x20
|
|
bic r1, r0
|
|
str r1, [r4, r3]
|
|
mov r3, #0x3f
|
|
lsl r3, r3, #4
|
|
add r0, r4, r3
|
|
str r0, [sp]
|
|
add r2, r3, #0
|
|
sub r2, #0x20
|
|
sub r3, #0x10
|
|
ldr r1, [r4]
|
|
add r0, r6, #0
|
|
add r2, r4, r2
|
|
add r3, r4, r3
|
|
bl ov27_0225AC00
|
|
mov r0, #4
|
|
mov r1, #8
|
|
bl sub_02002CEC
|
|
mov r0, #8
|
|
bl ScrStrBufs_new
|
|
ldr r1, _0225A18C ; =0x000004AC
|
|
mov r2, #0xc4
|
|
str r0, [r4, r1]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
mov r3, #8
|
|
bl NewMsgDataFromNarc
|
|
ldr r1, _0225A190 ; =0x000004A8
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov27_0225C10C
|
|
add r1, r5, #0
|
|
add r1, #0xd3
|
|
ldrb r1, [r1]
|
|
add r0, r4, #0
|
|
bl ov27_0225C1AC
|
|
str r0, [r4, #0x14]
|
|
add r0, r4, #0
|
|
bl ov27_0225C1EC
|
|
add r0, r4, #0
|
|
bl ov27_0225AD0C
|
|
add r0, r4, #0
|
|
bl ov27_0225B010
|
|
ldr r1, [r4, #0x10]
|
|
add r0, r4, #0
|
|
add r1, #0xd2
|
|
ldrb r1, [r1]
|
|
lsl r1, r1, #0x1a
|
|
lsr r1, r1, #0x1a
|
|
bl ov27_0225BB6C
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r2, #0x3d
|
|
ldr r0, _0225A194 ; =0x000F0100
|
|
str r3, [sp, #4]
|
|
str r0, [sp, #8]
|
|
lsl r2, r2, #4
|
|
add r0, r4, r2
|
|
str r3, [sp, #0xc]
|
|
add r2, #0xe4
|
|
ldr r2, [r4, r2]
|
|
mov r1, #4
|
|
bl sub_020200FC
|
|
mov r1, #0
|
|
mov r2, #0x3e
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225A194 ; =0x000F0100
|
|
lsl r2, r2, #4
|
|
str r0, [sp, #8]
|
|
add r0, r4, r2
|
|
str r1, [sp, #0xc]
|
|
add r2, #0xe4
|
|
ldr r2, [r4, r2]
|
|
add r3, r1, #0
|
|
bl sub_020200FC
|
|
add r0, r4, #0
|
|
bl ov27_0225BCE8
|
|
add r0, r4, #0
|
|
bl ov27_0225BC84
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov27_0225A690
|
|
add r0, r4, #0
|
|
bl ov27_0225C0E0
|
|
mov r0, #0x52
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
add r1, r4, #0
|
|
bl ov27_0225BDDC
|
|
mov r0, #0x43
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl sub_020183F0
|
|
cmp r0, #0
|
|
bne _0225A102
|
|
add r0, r5, #0
|
|
add r0, #0xd2
|
|
ldrb r1, [r0]
|
|
mov r0, #0x80
|
|
add r5, #0xd2
|
|
bic r1, r0
|
|
strb r1, [r5]
|
|
b _0225A11A
|
|
_0225A102:
|
|
add r0, r5, #0
|
|
bl sub_02050590
|
|
cmp r0, #0
|
|
bne _0225A11A
|
|
add r0, r5, #0
|
|
add r0, #0xd2
|
|
ldrb r1, [r0]
|
|
mov r0, #0x80
|
|
add r5, #0xd2
|
|
orr r0, r1
|
|
strb r0, [r5]
|
|
_0225A11A:
|
|
add r0, r4, #0
|
|
bl ov27_0225A714
|
|
cmp r0, #0
|
|
bne _0225A12A
|
|
add sp, #0x14
|
|
add r0, r7, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0225A12A:
|
|
add r0, r4, #0
|
|
bl ov27_0225A7FC
|
|
ldr r0, [r4, #0x18]
|
|
bl sub_0202457C
|
|
ldr r2, _0225A174 ; =0x04001000
|
|
ldr r0, _0225A198 ; =0xFFFF1FFF
|
|
ldr r1, [r2]
|
|
and r0, r1
|
|
str r0, [r2]
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl sub_02022CC8
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl sub_02022CC8
|
|
mov r0, #4
|
|
mov r1, #0
|
|
bl sub_02022CC8
|
|
mov r0, #8
|
|
mov r1, #0
|
|
bl sub_02022CC8
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl sub_02022CC8
|
|
add r0, r7, #0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225A170: .word 0x00018D00
|
|
_0225A174: .word 0x04001000
|
|
_0225A178: .word 0xFFCFFFEF
|
|
_0225A17C: .word 0x0225D000
|
|
_0225A180: .word 0x0225D01C
|
|
_0225A184: .word ov27_0225A320
|
|
_0225A188: .word 0x0000051C
|
|
_0225A18C: .word 0x000004AC
|
|
_0225A190: .word 0x000004A8
|
|
_0225A194: .word 0x000F0100
|
|
_0225A198: .word 0xFFFF1FFF
|
|
thumb_func_end ov27_02259F80
|
|
|
|
thumb_func_start ov27_0225A19C
|
|
ov27_0225A19C: ; 0x0225A19C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
str r0, [sp]
|
|
add r0, r1, #0
|
|
str r1, [sp, #4]
|
|
bl sub_0201F988
|
|
add r6, r0, #0
|
|
ldr r1, _0225A2B0 ; =SDK_OVERLAY_OVY_123_ID
|
|
mov r0, #0
|
|
bl FS_LoadOverlay
|
|
ldr r0, _0225A2B4 ; =ov27_0225C238
|
|
blx ov123_0225F430
|
|
cmp r0, #0
|
|
beq _0225A1C8
|
|
mov r1, #0xfa
|
|
mov r0, #3
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeapAtEnd
|
|
_0225A1C8:
|
|
mov r0, #0x52
|
|
lsl r0, r0, #4
|
|
add r0, r6, r0
|
|
bl ov27_0225BEB0
|
|
ldr r0, _0225A2B8 ; =0x000004A8
|
|
ldr r0, [r6, r0]
|
|
bl DestroyMsgData
|
|
ldr r0, _0225A2BC ; =0x000004AC
|
|
ldr r0, [r6, r0]
|
|
bl ScrStrBufs_delete
|
|
mov r7, #0x55
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
lsl r7, r7, #2
|
|
_0225A1EA:
|
|
ldr r0, [r5, r7]
|
|
bl sub_0200AEB0
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #0xb
|
|
blt _0225A1EA
|
|
mov r7, #0x56
|
|
mov r5, #0
|
|
add r4, r6, #0
|
|
lsl r7, r7, #2
|
|
_0225A200:
|
|
ldr r0, [r4, r7]
|
|
bl sub_0200B0A8
|
|
add r5, r5, #1
|
|
add r4, #0x10
|
|
cmp r5, #0xb
|
|
blt _0225A200
|
|
mov r7, #0x51
|
|
mov r5, #0
|
|
add r4, r6, #0
|
|
lsl r7, r7, #2
|
|
_0225A216:
|
|
ldr r0, [r4, r7]
|
|
bl sub_0200A0D0
|
|
add r5, r5, #1
|
|
add r4, r4, #4
|
|
cmp r5, #4
|
|
blt _0225A216
|
|
ldr r0, _0225A2C0 ; =ov27_0225C248
|
|
blx ov123_0225F598
|
|
cmp r0, #0
|
|
bne _0225A238
|
|
mov r1, #0xfa
|
|
mov r0, #3
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeapAtEnd
|
|
_0225A238:
|
|
ldr r0, [r6, #0x18]
|
|
bl sub_02024504
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #4
|
|
mov r5, #0
|
|
add r4, r6, r0
|
|
_0225A246:
|
|
add r0, r4, #0
|
|
bl RemoveWindow
|
|
add r5, r5, #1
|
|
add r4, #0x10
|
|
cmp r5, #8
|
|
blt _0225A246
|
|
mov r0, #0x3e
|
|
lsl r0, r0, #4
|
|
add r0, r6, r0
|
|
bl RemoveWindow
|
|
mov r0, #0x3d
|
|
lsl r0, r0, #4
|
|
add r0, r6, r0
|
|
bl RemoveWindow
|
|
add r0, r6, #0
|
|
bl ov27_0225BC34
|
|
mov r0, #4
|
|
bl sub_02002DB4
|
|
ldr r0, [sp, #4]
|
|
bl sub_02007234
|
|
ldr r0, [sp]
|
|
mov r1, #5
|
|
bl sub_0201BB4C
|
|
ldr r0, [sp]
|
|
mov r1, #4
|
|
bl sub_0201BB4C
|
|
mov r0, #8
|
|
bl sub_0201A9C4
|
|
ldr r0, _0225A2C4 ; =ov27_0225C24C
|
|
blx ov123_0225F688
|
|
cmp r0, #0
|
|
bne _0225A2A4
|
|
mov r1, #0xfa
|
|
mov r0, #3
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeapAtEnd
|
|
_0225A2A4:
|
|
ldr r1, _0225A2B0 ; =SDK_OVERLAY_OVY_123_ID
|
|
mov r0, #0
|
|
bl FS_UnloadOverlay
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225A2B0: .word SDK_OVERLAY_OVY_123_ID
|
|
_0225A2B4: .word ov27_0225C238
|
|
_0225A2B8: .word 0x000004A8
|
|
_0225A2BC: .word 0x000004AC
|
|
_0225A2C0: .word ov27_0225C248
|
|
_0225A2C4: .word ov27_0225C24C
|
|
thumb_func_end ov27_0225A19C
|
|
|
|
thumb_func_start ov27_0225A2C8
|
|
ov27_0225A2C8: ; 0x0225A2C8
|
|
mov r0, #1
|
|
bx lr
|
|
thumb_func_end ov27_0225A2C8
|
|
|
|
thumb_func_start ov27_0225A2CC
|
|
ov27_0225A2CC: ; 0x0225A2CC
|
|
push {r4, lr}
|
|
bl sub_0201F988
|
|
add r4, r0, #0
|
|
bne _0225A2DA
|
|
bl GF_AssertFail
|
|
_0225A2DA:
|
|
ldr r1, _0225A2E8 ; =0x0000051C
|
|
mov r0, #0x20
|
|
ldr r2, [r4, r1]
|
|
orr r0, r2
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
nop
|
|
_0225A2E8: .word 0x0000051C
|
|
thumb_func_end ov27_0225A2CC
|
|
|
|
thumb_func_start ov27_0225A2EC
|
|
ov27_0225A2EC: ; 0x0225A2EC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
bl sub_0201F988
|
|
add r4, r0, #0
|
|
bne _0225A2FC
|
|
bl GF_AssertFail
|
|
_0225A2FC:
|
|
cmp r5, #1
|
|
beq _0225A308
|
|
cmp r5, #2
|
|
beq _0225A308
|
|
bl GF_AssertFail
|
|
_0225A308:
|
|
ldr r1, _0225A31C ; =0x0000051C
|
|
mov r0, #0xc0
|
|
ldr r2, [r4, r1]
|
|
bic r2, r0
|
|
lsl r0, r5, #0x1e
|
|
lsr r0, r0, #0x18
|
|
orr r0, r2
|
|
str r0, [r4, r1]
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225A31C: .word 0x0000051C
|
|
thumb_func_end ov27_0225A2EC
|
|
|
|
thumb_func_start ov27_0225A320
|
|
ov27_0225A320: ; 0x0225A320
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
ldr r0, [r5, #0x10]
|
|
bl ov27_0225A89C
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
bl sub_0203E13C
|
|
add r6, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
add r0, #0xd2
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1f
|
|
beq _0225A366
|
|
cmp r6, #0
|
|
beq _0225A35E
|
|
bl sub_0200FB5C
|
|
cmp r0, #0
|
|
beq _0225A35E
|
|
ldr r2, [r5, #0x10]
|
|
add r0, r2, #0
|
|
add r0, #0xd2
|
|
ldrb r1, [r0]
|
|
mov r0, #0x80
|
|
add r2, #0xd2
|
|
bic r1, r0
|
|
strb r1, [r2]
|
|
b _0225A36E
|
|
_0225A35E:
|
|
ldr r0, _0225A45C ; =0x04001050
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
b _0225A36E
|
|
_0225A366:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov27_0225A8E8
|
|
_0225A36E:
|
|
ldr r0, _0225A460 ; =0x0000051C
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x1a
|
|
lsr r0, r0, #0x1f
|
|
beq _0225A38A
|
|
ldr r0, [r5, #0x14]
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldr r0, [r1, r0]
|
|
mov r1, #2
|
|
bl sub_02024950
|
|
_0225A38A:
|
|
ldr r0, _0225A460 ; =0x0000051C
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1e
|
|
cmp r0, #1
|
|
bne _0225A3AE
|
|
mov r0, #0xeb
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #2
|
|
bl sub_020248F0
|
|
ldr r1, _0225A460 ; =0x0000051C
|
|
mov r0, #0xc0
|
|
ldr r2, [r5, r1]
|
|
bic r2, r0
|
|
str r2, [r5, r1]
|
|
b _0225A3C8
|
|
_0225A3AE:
|
|
cmp r0, #2
|
|
bne _0225A3C8
|
|
mov r0, #0x3b
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #2
|
|
bl sub_020248F0
|
|
ldr r1, _0225A460 ; =0x0000051C
|
|
mov r0, #0xc0
|
|
ldr r2, [r5, r1]
|
|
bic r2, r0
|
|
str r2, [r5, r1]
|
|
_0225A3C8:
|
|
ldr r0, [r5, #0x10]
|
|
bl sub_02050590
|
|
cmp r0, #0
|
|
beq _0225A3DA
|
|
add r0, r5, #0
|
|
bl ov27_0225A7FC
|
|
b _0225A412
|
|
_0225A3DA:
|
|
ldr r0, [r5, #0x10]
|
|
add r0, #0xd2
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1a
|
|
lsr r0, r0, #0x1a
|
|
cmp r0, #2
|
|
bne _0225A3FE
|
|
add r0, r5, #0
|
|
bl ov27_0225A86C
|
|
ldr r2, [r5, #0x10]
|
|
add r0, r2, #0
|
|
add r0, #0xd2
|
|
ldrb r1, [r0]
|
|
mov r0, #0x3f
|
|
add r2, #0xd2
|
|
bic r1, r0
|
|
strb r1, [r2]
|
|
_0225A3FE:
|
|
cmp r6, #0
|
|
beq _0225A408
|
|
add r0, r5, #0
|
|
bl ov27_0225A66C
|
|
_0225A408:
|
|
cmp r4, #0
|
|
bne _0225A412
|
|
add r0, r5, #0
|
|
bl ov27_0225B4D8
|
|
_0225A412:
|
|
ldr r0, _0225A464 ; =0x0225CECC
|
|
bl sub_02025204
|
|
add r6, r0, #0
|
|
ldr r0, _0225A464 ; =0x0225CECC
|
|
bl sub_02025224
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl ov27_0225A530
|
|
ldr r0, _0225A460 ; =0x0000051C
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _0225A44A
|
|
add r0, r5, #0
|
|
bl ov27_0225A4D0
|
|
cmp r0, #0
|
|
beq _0225A44A
|
|
cmp r4, #0
|
|
bne _0225A44A
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl ov27_0225A48C
|
|
_0225A44A:
|
|
mov r0, #0x52
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
bl ov27_0225BDFC
|
|
ldr r0, [r5, #0x18]
|
|
bl sub_0202457C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225A45C: .word 0x04001050
|
|
_0225A460: .word 0x0000051C
|
|
_0225A464: .word 0x0225CECC
|
|
thumb_func_end ov27_0225A320
|
|
|
|
thumb_func_start ov27_0225A468
|
|
ov27_0225A468: ; 0x0225A468
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
mov r0, #0xf1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
lsl r2, r4, #2
|
|
mov r1, #0xb
|
|
sub r1, r1, r2
|
|
bl sub_020248F0
|
|
mov r0, #0xef
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #3
|
|
bl sub_020248F0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov27_0225A468
|
|
|
|
thumb_func_start ov27_0225A48C
|
|
ov27_0225A48C: ; 0x0225A48C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
cmp r1, #0
|
|
bne _0225A4B6
|
|
ldr r0, [r5, #0x10]
|
|
bl sub_0205CA1C
|
|
add r6, r0, #0
|
|
bl sub_0205CB38
|
|
add r4, r0, #0
|
|
mov r1, #1
|
|
eor r4, r1
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov27_0225A468
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl sub_0205CB40
|
|
_0225A4B6:
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov27_0225A48C
|
|
|
|
thumb_func_start ov27_0225A4B8
|
|
ov27_0225A4B8: ; 0x0225A4B8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
bl sub_0205CA1C
|
|
bl sub_0205CB38
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov27_0225A468
|
|
pop {r4, pc}
|
|
thumb_func_end ov27_0225A4B8
|
|
|
|
thumb_func_start ov27_0225A4D0
|
|
ov27_0225A4D0: ; 0x0225A4D0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl ov27_0225BDC8
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x40]
|
|
bl sub_0205C700
|
|
cmp r0, #1
|
|
beq _0225A4F2
|
|
ldr r0, [r5, #0x10]
|
|
add r0, #0xd2
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1a
|
|
lsr r0, r0, #0x1a
|
|
beq _0225A4F4
|
|
_0225A4F2:
|
|
mov r4, #0
|
|
_0225A4F4:
|
|
cmp r4, #0
|
|
beq _0225A512
|
|
mov r0, #0xef
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
mov r0, #0xf1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
b _0225A52A
|
|
_0225A512:
|
|
mov r0, #0xef
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0xf1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
_0225A52A:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225A4D0
|
|
|
|
thumb_func_start ov27_0225A530
|
|
ov27_0225A530: ; 0x0225A530
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0xf
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
bl sub_020249A8
|
|
add r6, r0, #0
|
|
mov r0, #0xf
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
bl sub_020248B8
|
|
cmp r0, #0
|
|
beq _0225A58C
|
|
cmp r4, #1
|
|
bne _0225A570
|
|
bl sub_02025358
|
|
cmp r0, #0
|
|
beq _0225A570
|
|
ldr r0, _0225A590 ; =gMain
|
|
mov r1, #1
|
|
str r1, [r0, #0x5c]
|
|
mov r0, #0xf
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
mov r1, #6
|
|
bl sub_020248F0
|
|
pop {r4, r5, r6, pc}
|
|
_0225A570:
|
|
cmp r4, #1
|
|
bne _0225A580
|
|
cmp r6, #6
|
|
bne _0225A580
|
|
ldr r0, _0225A590 ; =gMain
|
|
mov r1, #1
|
|
str r1, [r0, #0x5c]
|
|
pop {r4, r5, r6, pc}
|
|
_0225A580:
|
|
mov r0, #0xf
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
mov r1, #5
|
|
bl sub_020248F0
|
|
_0225A58C:
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0225A590: .word gMain
|
|
thumb_func_end ov27_0225A530
|
|
|
|
thumb_func_start ov27_0225A594
|
|
ov27_0225A594: ; 0x0225A594
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x10]
|
|
add r0, r4, #0
|
|
bl ov27_0225BD44
|
|
cmp r0, #0
|
|
beq _0225A5A8
|
|
mov r0, #4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225A5A8:
|
|
add r0, r4, #0
|
|
bl sub_0203E13C
|
|
cmp r0, #0
|
|
bne _0225A5E6
|
|
add r0, r4, #0
|
|
bl sub_0205CA1C
|
|
bl sub_0205C6DC
|
|
add r7, r0, #0
|
|
bl sub_0205F330
|
|
add r6, r0, #0
|
|
add r0, r7, #0
|
|
bl sub_0205F25C
|
|
sub r0, #0xbc
|
|
cmp r0, #1
|
|
bhi _0225A5DC
|
|
cmp r6, #1
|
|
bne _0225A5D8
|
|
mov r0, #3
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225A5D8:
|
|
mov r0, #4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225A5DC:
|
|
mov r0, #0x51
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #4
|
|
bne _0225A61A
|
|
_0225A5E6:
|
|
add r0, r4, #0
|
|
bl ov01_021E7F54
|
|
add r5, r0, #0
|
|
cmp r5, #1
|
|
bne _0225A618
|
|
add r0, r4, #0
|
|
add r1, sp, #0
|
|
bl sub_0203DBF8
|
|
ldr r0, [sp]
|
|
bl sub_0205F27C
|
|
bl ov01_021F6BD0
|
|
cmp r0, #0
|
|
bne _0225A616
|
|
ldr r0, [sp]
|
|
bl sub_0205F25C
|
|
bl ov01_021F6BB0
|
|
cmp r0, #0
|
|
beq _0225A618
|
|
_0225A616:
|
|
mov r5, #0
|
|
_0225A618:
|
|
add r0, r5, #0
|
|
_0225A61A:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov27_0225A594
|
|
|
|
thumb_func_start ov27_0225A61C
|
|
ov27_0225A61C: ; 0x0225A61C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #0x3d
|
|
lsl r0, r0, #4
|
|
add r4, r1, #0
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r6, _0225A664 ; =0x0225D108
|
|
mov r3, #0
|
|
ldrb r4, [r6, r4]
|
|
str r3, [sp]
|
|
mov r2, #0x3d
|
|
lsl r4, r4, #2
|
|
ldr r0, _0225A668 ; =0x000F0100
|
|
str r3, [sp, #4]
|
|
str r0, [sp, #8]
|
|
lsl r2, r2, #4
|
|
add r0, r5, r2
|
|
str r3, [sp, #0xc]
|
|
add r4, r5, r4
|
|
add r2, #0xe0
|
|
ldr r2, [r4, r2]
|
|
mov r1, #4
|
|
bl sub_020200FC
|
|
mov r0, #0xf
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0225A664: .word 0x0225D108
|
|
_0225A668: .word 0x000F0100
|
|
thumb_func_end ov27_0225A61C
|
|
|
|
thumb_func_start ov27_0225A66C
|
|
ov27_0225A66C: ; 0x0225A66C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl ov27_0225A594
|
|
add r4, r0, #0
|
|
mov r0, #0x51
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
cmp r0, r4
|
|
beq _0225A68E
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov27_0225A61C
|
|
mov r0, #0x51
|
|
lsl r0, r0, #4
|
|
str r4, [r5, r0]
|
|
_0225A68E:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov27_0225A66C
|
|
|
|
thumb_func_start ov27_0225A690
|
|
ov27_0225A690: ; 0x0225A690
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
beq _0225A6C0
|
|
ldr r2, _0225A710 ; =0x0000051C
|
|
mov r1, #1
|
|
ldr r3, [r4, r2]
|
|
bic r3, r1
|
|
mov r1, #1
|
|
orr r1, r3
|
|
str r1, [r4, r2]
|
|
bl ov27_0225A4D0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov27_0225A9C0
|
|
mov r0, #0xf
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
pop {r4, pc}
|
|
_0225A6C0:
|
|
ldr r1, _0225A710 ; =0x0000051C
|
|
mov r0, #1
|
|
ldr r2, [r4, r1]
|
|
bic r2, r0
|
|
mov r0, #0x3d
|
|
lsl r0, r0, #4
|
|
str r2, [r4, r1]
|
|
add r0, r4, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x3d
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
bl CopyWindowToVram
|
|
mov r0, #0xf
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0xef
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0xf1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov27_0225A9C0
|
|
pop {r4, pc}
|
|
nop
|
|
_0225A710: .word 0x0000051C
|
|
thumb_func_end ov27_0225A690
|
|
|
|
thumb_func_start ov27_0225A714
|
|
ov27_0225A714: ; 0x0225A714
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
bne _0225A722
|
|
bl GF_AssertFail
|
|
_0225A722:
|
|
ldr r4, [r5, #0x10]
|
|
ldr r6, [r5, #0xc]
|
|
add r0, r4, #0
|
|
add r0, #0xd2
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1a
|
|
lsr r0, r0, #0x1a
|
|
cmp r0, #4
|
|
bne _0225A75C
|
|
mov r0, #0x43
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl sub_020183F0
|
|
cmp r0, #0
|
|
bne _0225A74C
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov27_0225A8E8
|
|
b _0225A7AC
|
|
_0225A74C:
|
|
add r0, r4, #0
|
|
add r0, #0xd2
|
|
ldrb r1, [r0]
|
|
mov r0, #0x3f
|
|
add r4, #0xd2
|
|
bic r1, r0
|
|
strb r1, [r4]
|
|
b _0225A7AC
|
|
_0225A75C:
|
|
cmp r0, #3
|
|
bne _0225A7AC
|
|
mov r0, #0x43
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl sub_020183F0
|
|
cmp r0, #1
|
|
bne _0225A792
|
|
mov r0, #1
|
|
strh r0, [r6]
|
|
add r0, r4, #0
|
|
add r0, #0xd2
|
|
ldrb r1, [r0]
|
|
mov r0, #0x3f
|
|
bic r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0xd2
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xd2
|
|
ldrb r1, [r0]
|
|
mov r0, #0x80
|
|
add r4, #0xd2
|
|
orr r0, r1
|
|
strb r0, [r4]
|
|
b _0225A7AC
|
|
_0225A792:
|
|
ldr r1, [r5, #0x14]
|
|
add r0, r5, #0
|
|
bl ov27_0225B398
|
|
add r0, r4, #0
|
|
add r0, #0xd2
|
|
ldrb r1, [r0]
|
|
mov r0, #0x3f
|
|
add r4, #0xd2
|
|
bic r1, r0
|
|
mov r0, #1
|
|
orr r0, r1
|
|
strb r0, [r4]
|
|
_0225A7AC:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov27_0225A714
|
|
|
|
thumb_func_start ov27_0225A7B0
|
|
ov27_0225A7B0: ; 0x0225A7B0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
bl sub_0203DF8C
|
|
cmp r0, #1
|
|
bne _0225A7C4
|
|
add r0, r4, #0
|
|
bl ov27_0225A66C
|
|
_0225A7C4:
|
|
ldr r0, _0225A7D8 ; =0x0000051C
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x1c
|
|
bne _0225A7D4
|
|
add r0, r4, #0
|
|
bl ov27_0225AAD4
|
|
_0225A7D4:
|
|
pop {r4, pc}
|
|
nop
|
|
_0225A7D8: .word 0x0000051C
|
|
thumb_func_end ov27_0225A7B0
|
|
|
|
thumb_func_start ov27_0225A7DC
|
|
ov27_0225A7DC: ; 0x0225A7DC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #7
|
|
blt _0225A7EA
|
|
bl GF_AssertFail
|
|
_0225A7EA:
|
|
ldr r1, [r4, #0x14]
|
|
add r0, r4, #0
|
|
bl ov27_0225B398
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov27_0225A690
|
|
pop {r4, pc}
|
|
thumb_func_end ov27_0225A7DC
|
|
|
|
thumb_func_start ov27_0225A7FC
|
|
ov27_0225A7FC: ; 0x0225A7FC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #0x10]
|
|
add r2, r1, #0
|
|
add r2, #0xd2
|
|
ldrb r2, [r2]
|
|
lsl r2, r2, #0x1a
|
|
lsr r2, r2, #0x1a
|
|
cmp r2, #4
|
|
bhi _0225A866
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_0225A81C: ; jump table
|
|
.short _0225A826 - _0225A81C - 2 ; case 0
|
|
.short _0225A82C - _0225A81C - 2 ; case 1
|
|
.short _0225A846 - _0225A81C - 2 ; case 2
|
|
.short _0225A866 - _0225A81C - 2 ; case 3
|
|
.short _0225A866 - _0225A81C - 2 ; case 4
|
|
_0225A826:
|
|
bl ov27_0225A7B0
|
|
pop {r4, pc}
|
|
_0225A82C:
|
|
bl ov27_0225A7DC
|
|
ldr r2, [r4, #0x10]
|
|
add r0, r2, #0
|
|
add r0, #0xd2
|
|
ldrb r1, [r0]
|
|
mov r0, #0x3f
|
|
add r2, #0xd2
|
|
bic r1, r0
|
|
mov r0, #2
|
|
orr r0, r1
|
|
strb r0, [r2]
|
|
pop {r4, pc}
|
|
_0225A846:
|
|
ldr r0, [r1, #0x6c]
|
|
cmp r0, #0
|
|
beq _0225A86A
|
|
bl sub_0200FB5C
|
|
cmp r0, #0
|
|
beq _0225A86A
|
|
add r0, r4, #0
|
|
bl ov27_0225B4D8
|
|
cmp r0, #0
|
|
beq _0225A86A
|
|
add r0, r4, #0
|
|
bl ov27_0225B404
|
|
pop {r4, pc}
|
|
_0225A866:
|
|
bl GF_AssertFail
|
|
_0225A86A:
|
|
pop {r4, pc}
|
|
thumb_func_end ov27_0225A7FC
|
|
|
|
thumb_func_start ov27_0225A86C
|
|
ov27_0225A86C: ; 0x0225A86C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov27_0225A594
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov27_0225A61C
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
mvn r1, r1
|
|
bl ov27_0225B398
|
|
mov r0, #0x3d
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
bl CopyWindowToVram
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov27_0225A690
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225A86C
|
|
|
|
thumb_func_start ov27_0225A89C
|
|
ov27_0225A89C: ; 0x0225A89C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_0200FB5C
|
|
cmp r0, #0
|
|
beq _0225A8E0
|
|
ldr r0, [r4, #0x6c]
|
|
cmp r0, #0
|
|
beq _0225A8E0
|
|
add r0, r4, #0
|
|
add r0, #0xd2
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1a
|
|
lsr r0, r0, #0x1a
|
|
bne _0225A8E0
|
|
add r0, r4, #0
|
|
bl sub_0203E13C
|
|
cmp r0, #0
|
|
beq _0225A8E0
|
|
add r0, r4, #0
|
|
bl ov27_0225BD44
|
|
cmp r0, #0
|
|
bne _0225A8E0
|
|
add r0, r4, #0
|
|
bl sub_020407AC
|
|
cmp r0, #0
|
|
bne _0225A8E0
|
|
bl sub_02058AA0
|
|
cmp r0, #0
|
|
beq _0225A8E4
|
|
_0225A8E0:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_0225A8E4:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov27_0225A89C
|
|
|
|
thumb_func_start ov27_0225A8E8
|
|
ov27_0225A8E8: ; 0x0225A8E8
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
beq _0225A9AE
|
|
ldr r1, _0225A9B8 ; =0x0000051C
|
|
ldr r1, [r4, r1]
|
|
lsl r1, r1, #0x1b
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, #5
|
|
bne _0225A912
|
|
ldr r1, [r4, #0x10]
|
|
add r1, #0xd2
|
|
ldrb r1, [r1]
|
|
lsl r1, r1, #0x1a
|
|
lsr r1, r1, #0x1a
|
|
bne _0225A912
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
bl ov27_0225B398
|
|
_0225A912:
|
|
mov r0, #0xef
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024B78
|
|
mov r0, #0xf1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024B78
|
|
mov r0, #0xeb
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024B78
|
|
mov r0, #0xed
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024B78
|
|
mov r0, #0x3b
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024B78
|
|
mov r0, #0xee
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024B78
|
|
ldr r0, [r4, #0x10]
|
|
add r0, #0xd2
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1a
|
|
lsr r0, r0, #0x1a
|
|
beq _0225A974
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldr r1, [r4, #0x14]
|
|
add r0, r4, r0
|
|
bl ov27_0225B4AC
|
|
b _0225A982
|
|
_0225A974:
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
mvn r1, r1
|
|
bl ov27_0225B4AC
|
|
_0225A982:
|
|
ldr r0, _0225A9B8 ; =0x0000051C
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x1c
|
|
cmp r0, #2
|
|
bne _0225A99A
|
|
mov r0, #0xea
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024B78
|
|
_0225A99A:
|
|
mov r0, #9
|
|
str r0, [sp]
|
|
ldr r0, _0225A9BC ; =0x04001050
|
|
mov r1, #0
|
|
mov r2, #0x23
|
|
mov r3, #6
|
|
bl sub_020CF15C
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
_0225A9AE:
|
|
ldr r0, _0225A9BC ; =0x04001050
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
_0225A9B8: .word 0x0000051C
|
|
_0225A9BC: .word 0x04001050
|
|
thumb_func_end ov27_0225A8E8
|
|
|
|
thumb_func_start ov27_0225A9C0
|
|
ov27_0225A9C0: ; 0x0225A9C0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov27_0225BDAC
|
|
cmp r0, #0
|
|
bne _0225A9D0
|
|
mov r4, #0
|
|
_0225A9D0:
|
|
cmp r4, #0
|
|
beq _0225AA2E
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0xc]
|
|
bl sub_0207879C
|
|
add r4, r0, #0
|
|
bl sub_020781C4
|
|
cmp r0, #0
|
|
beq _0225A9EA
|
|
mov r6, #1
|
|
b _0225A9EC
|
|
_0225A9EA:
|
|
mov r6, #0
|
|
_0225A9EC:
|
|
add r0, r4, #0
|
|
bl sub_020781D0
|
|
cmp r0, #0
|
|
beq _0225A9FA
|
|
mov r4, #1
|
|
b _0225A9FC
|
|
_0225A9FA:
|
|
mov r4, #0
|
|
_0225A9FC:
|
|
mov r0, #0xeb
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
bl sub_02024830
|
|
mov r0, #0xed
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
bl sub_02024830
|
|
mov r0, #0x3b
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl sub_02024830
|
|
mov r0, #0xee
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl sub_02024830
|
|
pop {r4, r5, r6, pc}
|
|
_0225AA2E:
|
|
mov r0, #0xeb
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0xed
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0x3b
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0xee
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov27_0225A9C0
|
|
|
|
thumb_func_start ov27_0225AA60
|
|
ov27_0225AA60: ; 0x0225AA60
|
|
push {r3, r4}
|
|
mov r4, #0
|
|
add r3, r4, #0
|
|
cmp r1, #0
|
|
ble _0225AA74
|
|
_0225AA6A:
|
|
ldrb r2, [r0, r3]
|
|
add r3, r3, #1
|
|
add r4, r4, r2
|
|
cmp r3, r1
|
|
blt _0225AA6A
|
|
_0225AA74:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
pop {r3, r4}
|
|
bx lr
|
|
thumb_func_end ov27_0225AA60
|
|
|
|
thumb_func_start ov27_0225AA7C
|
|
ov27_0225AA7C: ; 0x0225AA7C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r7, _0225AACC ; =0x00000514
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
_0225AA86:
|
|
mov r0, #0x39
|
|
add r1, r6, r4
|
|
lsl r0, r0, #4
|
|
ldrb r1, [r1, r7]
|
|
ldr r0, [r5, r0]
|
|
bl sub_02024830
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #7
|
|
blt _0225AA86
|
|
ldr r0, _0225AAD0 ; =0x0000050C
|
|
mov r1, #1
|
|
strb r1, [r6, r0]
|
|
add r0, r6, #0
|
|
bl ov27_0225BDC8
|
|
cmp r0, #0
|
|
bne _0225AACA
|
|
mov r0, #0xef
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0xf1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
ldr r0, _0225AAD0 ; =0x0000050C
|
|
mov r1, #0
|
|
strb r1, [r6, r0]
|
|
_0225AACA:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225AACC: .word 0x00000514
|
|
_0225AAD0: .word 0x0000050C
|
|
thumb_func_end ov27_0225AA7C
|
|
|
|
thumb_func_start ov27_0225AAD4
|
|
ov27_0225AAD4: ; 0x0225AAD4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, _0225ABF4 ; =0x00000514
|
|
mov r1, #7
|
|
add r0, r5, r0
|
|
bl ov27_0225AA60
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
ldr r4, _0225ABF8 ; =0x0225CF10
|
|
mov r6, #0
|
|
add r7, r5, #0
|
|
str r0, [sp, #0xc]
|
|
_0225AAF6:
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r6, #0
|
|
bl sub_0203C3CC
|
|
cmp r0, #1
|
|
bne _0225AB62
|
|
ldr r0, _0225ABF4 ; =0x00000514
|
|
add r1, r5, r6
|
|
ldrb r0, [r1, r0]
|
|
str r1, [sp]
|
|
cmp r0, #0
|
|
bne _0225AB62
|
|
ldrh r0, [r4]
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldr r0, [r1, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
ldrh r0, [r4]
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldr r0, [r1, r0]
|
|
ldrh r1, [r4, #2]
|
|
bl sub_020248F0
|
|
ldrb r0, [r4, #4]
|
|
lsl r1, r0, #4
|
|
ldr r0, [sp, #0xc]
|
|
add r0, r0, r1
|
|
bl CopyWindowToVram
|
|
ldr r1, [sp]
|
|
ldr r0, _0225ABF4 ; =0x00000514
|
|
mov r2, #1
|
|
strb r2, [r1, r0]
|
|
add r1, r2, #0
|
|
sub r0, #0xa4
|
|
strb r1, [r7, r0]
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r0, #0
|
|
add r1, #0xd2
|
|
ldrb r2, [r1]
|
|
mov r1, #0x80
|
|
add r0, #0xd2
|
|
orr r1, r2
|
|
strb r1, [r0]
|
|
ldr r0, [sp, #8]
|
|
add r0, r0, #1
|
|
str r0, [sp, #8]
|
|
_0225AB62:
|
|
add r6, r6, #1
|
|
add r4, r4, #6
|
|
add r7, #8
|
|
cmp r6, #7
|
|
blt _0225AAF6
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #0
|
|
beq _0225AB8E
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #0
|
|
bne _0225AB8E
|
|
mov r0, #0xf2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
mov r0, #0x3e
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
bl CopyWindowToVram
|
|
_0225AB8E:
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [sp, #8]
|
|
cmp r1, r0
|
|
beq _0225ABB2
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0
|
|
add r0, #0xd3
|
|
strb r1, [r0]
|
|
ldr r1, [r5, #0x10]
|
|
add r0, r5, #0
|
|
add r1, #0xd3
|
|
ldrb r1, [r1]
|
|
bl ov27_0225C1AC
|
|
str r0, [r5, #0x14]
|
|
add r0, r5, #0
|
|
bl ov27_0225C1EC
|
|
_0225ABB2:
|
|
add r0, r5, #0
|
|
bl ov27_0225BDC8
|
|
cmp r0, #1
|
|
bne _0225ABEE
|
|
ldr r0, _0225ABFC ; =0x0000050C
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _0225ABEE
|
|
mov r0, #0xef
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
mov r0, #0xf1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
mov r0, #0xef
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0xa
|
|
bl sub_020248F0
|
|
ldr r0, _0225ABFC ; =0x0000050C
|
|
mov r1, #1
|
|
strb r1, [r5, r0]
|
|
_0225ABEE:
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225ABF4: .word 0x00000514
|
|
_0225ABF8: .word 0x0225CF10
|
|
_0225ABFC: .word 0x0000050C
|
|
thumb_func_end ov27_0225AAD4
|
|
|
|
thumb_func_start ov27_0225AC00
|
|
ov27_0225AC00: ; 0x0225AC00
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
str r0, [sp, #0x14]
|
|
add r4, r1, #0
|
|
mov r0, #0xc
|
|
mul r4, r0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r1, _0225ACFC ; =0x0225CEF0
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
add r5, r2, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
add r6, r3, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r1, [r1, r4]
|
|
ldr r2, [sp, #0x14]
|
|
mov r0, #0xe
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadCharData
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r1, _0225AD00 ; =0x0225CEF4
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
str r0, [sp, #0xc]
|
|
ldr r1, [r1, r4]
|
|
ldr r2, [sp, #0x14]
|
|
mov r0, #0xe
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadScrnData
|
|
mov r0, #2
|
|
ldr r1, _0225AD04 ; =0x0225CEEC
|
|
lsl r0, r0, #8
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
ldr r1, [r1, r4]
|
|
mov r0, #0xe
|
|
mov r2, #4
|
|
mov r3, #0
|
|
bl GfGfxLoader_GXLoadPal
|
|
mov r0, #0x14
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #4
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xd2
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r5, #0
|
|
mov r2, #5
|
|
mov r3, #0x18
|
|
bl sub_0201D40C
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0xa
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #4
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xe2
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r6, #0
|
|
mov r2, #5
|
|
mov r3, #9
|
|
bl sub_0201D40C
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r4, _0225AD08 ; =0x0225D074
|
|
ldr r5, [sp, #0x30]
|
|
mov r7, #0
|
|
mov r6, #0xf6
|
|
_0225ACB8:
|
|
ldr r0, [r4, #4]
|
|
add r1, r5, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #9
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #4
|
|
str r0, [sp, #0xc]
|
|
lsl r0, r6, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldr r3, [r4]
|
|
ldr r0, [sp, #0x14]
|
|
lsl r3, r3, #0x18
|
|
mov r2, #5
|
|
lsr r3, r3, #0x18
|
|
bl sub_0201D40C
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r7, r7, #1
|
|
add r6, #0x12
|
|
add r4, #8
|
|
add r5, #0x10
|
|
cmp r7, #8
|
|
blt _0225ACB8
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225ACFC: .word 0x0225CEF0
|
|
_0225AD00: .word 0x0225CEF4
|
|
_0225AD04: .word 0x0225CEEC
|
|
_0225AD08: .word 0x0225D074
|
|
thumb_func_end ov27_0225AC00
|
|
|
|
thumb_func_start ov27_0225AD0C
|
|
ov27_0225AD0C: ; 0x0225AD0C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
add r1, r5, #0
|
|
mov r0, #0x10
|
|
add r1, #0x1c
|
|
mov r2, #8
|
|
bl sub_02009F40
|
|
str r0, [r5, #0x18]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
add r0, #0x1c
|
|
mov r1, #0
|
|
lsl r2, r2, #0x14
|
|
bl sub_02009FC8
|
|
mov r7, #0x51
|
|
mov r6, #0
|
|
add r4, r5, #0
|
|
lsl r7, r7, #2
|
|
_0225AD36:
|
|
mov r0, #0xb
|
|
add r1, r6, #0
|
|
mov r2, #8
|
|
bl sub_0200A090
|
|
str r0, [r4, r7]
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, #4
|
|
blt _0225AD36
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
mov r4, #0
|
|
add r6, r5, r0
|
|
_0225AD52:
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0xc]
|
|
bl Sav2_PlayerData_GetProfileAddr
|
|
bl PlayerProfile_GetTrainerGender
|
|
add r7, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0xc]
|
|
bl sub_0207879C
|
|
add r1, r4, #0
|
|
add r1, #0x64
|
|
str r1, [sp]
|
|
str r7, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, _0225AE84 ; =0x0000051C
|
|
mov r1, #0x51
|
|
ldr r0, [r5, r0]
|
|
lsl r1, r1, #2
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x1c
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r5, r1
|
|
add r2, r6, #0
|
|
add r3, r4, #0
|
|
bl ov27_0225AEA8
|
|
add r4, r4, #1
|
|
add r6, #0x10
|
|
cmp r4, #0xb
|
|
blt _0225AD52
|
|
mov r1, #0x64
|
|
str r1, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
add r1, #0xe8
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0xe
|
|
mov r2, #0x10
|
|
mov r3, #1
|
|
bl sub_0200A294
|
|
mov r1, #0x57
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r1, #0x64
|
|
str r1, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
add r1, #0xec
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0xe
|
|
mov r2, #0x11
|
|
mov r3, #1
|
|
bl sub_0200A294
|
|
mov r1, #0x16
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
mov r1, #0x65
|
|
str r1, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
add r1, #0xe7
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0xe
|
|
mov r2, #0x44
|
|
mov r3, #1
|
|
bl sub_0200A294
|
|
mov r1, #0x5b
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r1, #0x65
|
|
str r1, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
add r1, #0xeb
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0xe
|
|
mov r2, #0x45
|
|
mov r3, #1
|
|
bl sub_0200A294
|
|
mov r1, #0x17
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
mov r1, #0x66
|
|
str r1, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
add r1, #0xe6
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0xe
|
|
mov r2, #0x36
|
|
mov r3, #1
|
|
bl sub_0200A294
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r1, #0x66
|
|
str r1, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
add r1, #0xea
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0xe
|
|
mov r2, #0x37
|
|
mov r3, #1
|
|
bl sub_0200A294
|
|
mov r1, #6
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
mov r0, #0xe
|
|
add r1, r0, #0
|
|
add r2, sp, #0x10
|
|
mov r3, #8
|
|
bl GfGfxLoader_GetPlttData
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x40
|
|
ldr r0, [r0, #0xc]
|
|
bl DC_FlushRange
|
|
ldr r0, [sp, #0x10]
|
|
ldr r1, _0225AE88 ; =0x000004CC
|
|
ldr r0, [r0, #0xc]
|
|
add r1, r5, r1
|
|
mov r2, #0x40
|
|
bl sub_020D48B4
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225AE84: .word 0x0000051C
|
|
_0225AE88: .word 0x000004CC
|
|
thumb_func_end ov27_0225AD0C
|
|
|
|
thumb_func_start ov27_0225AE8C
|
|
ov27_0225AE8C: ; 0x0225AE8C
|
|
cmp r0, #1
|
|
bne _0225AE94
|
|
mov r0, #5
|
|
bx lr
|
|
_0225AE94:
|
|
cmp r0, #3
|
|
bne _0225AE9E
|
|
mov r0, #0x7d
|
|
lsl r0, r0, #2
|
|
bx lr
|
|
_0225AE9E:
|
|
ldr r0, _0225AEA4 ; =0x000001F3
|
|
bx lr
|
|
nop
|
|
_0225AEA4: .word 0x000001F3
|
|
thumb_func_end ov27_0225AE8C
|
|
|
|
thumb_func_start ov27_0225AEA8
|
|
ov27_0225AEA8: ; 0x0225AEA8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
mov ip, r0
|
|
ldr r0, [sp, #0x44]
|
|
str r1, [sp, #0x10]
|
|
lsl r1, r0, #3
|
|
ldr r0, _0225B004 ; =0x0225CFC8
|
|
add r5, r3, #0
|
|
add r0, r0, r1
|
|
ldrb r1, [r5, r0]
|
|
mov r0, #1
|
|
mov r6, #0xe
|
|
add r4, r2, #0
|
|
mov r2, #0x12
|
|
ldr r7, [sp, #0x40]
|
|
str r6, [sp, #0x20]
|
|
str r0, [sp, #0x1c]
|
|
str r0, [sp, #0x18]
|
|
cmp r1, #0xd
|
|
beq _0225AF22
|
|
cmp r1, #2
|
|
bne _0225AEDE
|
|
ldr r0, [sp, #0x3c]
|
|
cmp r0, #1
|
|
bne _0225AEDE
|
|
mov r2, #0x1b
|
|
b _0225AF22
|
|
_0225AEDE:
|
|
ldr r0, _0225B008 ; =0x0225CF94
|
|
lsl r1, r1, #2
|
|
ldrh r2, [r0, r1]
|
|
ldr r0, _0225B00C ; =0x0000FFFF
|
|
cmp r2, r0
|
|
bne _0225AF22
|
|
mov r0, ip
|
|
bl sub_0206DB28
|
|
str r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
bne _0225AEFA
|
|
bl GF_AssertFail
|
|
_0225AEFA:
|
|
ldr r0, [sp, #0x14]
|
|
ldrb r0, [r0, #0x17]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _0225AF20
|
|
mov r0, #0
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #3
|
|
mov r6, #0x14
|
|
str r0, [sp, #0x18]
|
|
bl sub_02074490
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r0, [r0, #0x10]
|
|
bl sub_020741B0
|
|
add r2, r0, #0
|
|
b _0225AF22
|
|
_0225AF20:
|
|
mov r2, #0x12
|
|
_0225AF22:
|
|
cmp r5, #7
|
|
bne _0225AF4A
|
|
mov r0, #0
|
|
str r0, [sp, #0x1c]
|
|
add r0, r7, #0
|
|
mov r6, #0x12
|
|
bl sub_020781C4
|
|
mov r1, #2
|
|
bl sub_02077C18
|
|
str r0, [sp, #0x20]
|
|
add r0, r7, #0
|
|
bl sub_020781C4
|
|
mov r1, #1
|
|
bl sub_02077C18
|
|
add r2, r0, #0
|
|
b _0225AFAC
|
|
_0225AF4A:
|
|
cmp r5, #8
|
|
bne _0225AF72
|
|
mov r0, #0
|
|
str r0, [sp, #0x1c]
|
|
add r0, r7, #0
|
|
mov r6, #0x12
|
|
bl sub_020781D0
|
|
mov r1, #2
|
|
bl sub_02077C18
|
|
str r0, [sp, #0x20]
|
|
add r0, r7, #0
|
|
bl sub_020781D0
|
|
mov r1, #1
|
|
bl sub_02077C18
|
|
add r2, r0, #0
|
|
b _0225AFAC
|
|
_0225AF72:
|
|
cmp r5, #9
|
|
bne _0225AF82
|
|
mov r0, #7
|
|
str r0, [sp, #0x20]
|
|
mov r0, #4
|
|
mov r2, #0x46
|
|
str r0, [sp, #0x18]
|
|
b _0225AFAC
|
|
_0225AF82:
|
|
cmp r5, #0xa
|
|
bne _0225AFAC
|
|
ldr r0, [sp, #0x44]
|
|
bl ov27_0225AE8C
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp, #0x1c]
|
|
lsl r0, r5, #0x10
|
|
lsr r0, r0, #0x10
|
|
mov r1, #2
|
|
mov r6, #0x12
|
|
bl sub_02077C18
|
|
str r0, [sp, #0x20]
|
|
lsl r0, r5, #0x10
|
|
lsr r0, r0, #0x10
|
|
mov r1, #1
|
|
bl sub_02077C18
|
|
add r2, r0, #0
|
|
_0225AFAC:
|
|
ldr r0, [sp, #0x38]
|
|
ldr r3, [sp, #0x1c]
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x10]
|
|
add r1, r6, #0
|
|
ldr r0, [r0]
|
|
bl sub_0200A1D8
|
|
str r0, [r4]
|
|
ldr r0, [sp, #0x38]
|
|
ldr r2, [sp, #0x20]
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x18]
|
|
add r1, r6, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
mov r3, #0
|
|
ldr r0, [r0, #4]
|
|
bl sub_0200A234
|
|
str r0, [r4, #4]
|
|
ldr r0, [r4]
|
|
bl sub_0200ADA4
|
|
ldr r0, [r4]
|
|
bl sub_0200A740
|
|
ldr r0, [r4, #4]
|
|
bl sub_0200B00C
|
|
ldr r0, [r4, #4]
|
|
bl sub_0200A740
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225B004: .word 0x0225CFC8
|
|
_0225B008: .word 0x0225CF94
|
|
_0225B00C: .word 0x0000FFFF
|
|
thumb_func_end ov27_0225AEA8
|
|
|
|
thumb_func_start ov27_0225B010
|
|
ov27_0225B010: ; 0x0225B010
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x6c
|
|
add r5, r0, #0
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
ldr r4, _0225B350 ; =0x0225CF3C
|
|
mov r7, #0
|
|
add r6, r5, r0
|
|
_0225B020:
|
|
ldr r3, [r4]
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r7, #0
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, #0x64
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r2, r1, #0
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
str r0, [sp, #0x20]
|
|
mov r0, #0
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
add r0, r6, #0
|
|
bl sub_02009D48
|
|
add r7, r7, #1
|
|
add r4, r4, #4
|
|
add r6, #0x24
|
|
cmp r7, #0xb
|
|
blt _0225B020
|
|
ldr r0, [r5, #0x18]
|
|
add r1, sp, #0x3c
|
|
str r0, [sp, #0x3c]
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
add r7, r5, r0
|
|
mov r0, #0
|
|
str r0, [sp, #0x2c]
|
|
str r0, [sp, #0x4c]
|
|
mov r0, #1
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x50]
|
|
str r0, [sp, #0x54]
|
|
str r0, [sp, #0x58]
|
|
ldr r0, [sp, #0x2c]
|
|
str r7, [sp, #0x40]
|
|
strh r0, [r1, #0x20]
|
|
mov r0, #1
|
|
str r0, [sp, #0x60]
|
|
mov r0, #2
|
|
str r0, [sp, #0x64]
|
|
mov r0, #8
|
|
ldr r6, _0225B354 ; =0x0225D038
|
|
str r0, [sp, #0x68]
|
|
add r4, r5, #0
|
|
_0225B0A0:
|
|
ldrh r0, [r6]
|
|
str r7, [sp, #0x40]
|
|
cmp r0, #0
|
|
beq _0225B0BA
|
|
lsl r0, r0, #0xc
|
|
bl _itof
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0225B0C8
|
|
_0225B0BA:
|
|
lsl r0, r0, #0xc
|
|
bl _itof
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0225B0C8:
|
|
bl _ftoi
|
|
str r0, [sp, #0x44]
|
|
ldrh r0, [r6, #2]
|
|
cmp r0, #0
|
|
beq _0225B0E6
|
|
lsl r0, r0, #0xc
|
|
bl _itof
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0225B0F4
|
|
_0225B0E6:
|
|
lsl r0, r0, #0xc
|
|
bl _itof
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0225B0F4:
|
|
bl _ftoi
|
|
mov r1, #1
|
|
lsl r1, r1, #0x14
|
|
add r0, r0, r1
|
|
str r0, [sp, #0x48]
|
|
add r0, sp, #0x3c
|
|
bl sub_02024624
|
|
mov r1, #0x39
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_0202484C
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024A04
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_0202487C
|
|
ldr r0, [sp, #0x2c]
|
|
add r7, #0x24
|
|
add r0, r0, #1
|
|
add r6, r6, #4
|
|
add r4, r4, #4
|
|
str r0, [sp, #0x2c]
|
|
cmp r0, #9
|
|
blt _0225B0A0
|
|
mov r0, #9
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0xd2
|
|
lsl r0, r0, #2
|
|
add r4, r5, #0
|
|
mov r7, #0x3f
|
|
add r0, r5, r0
|
|
ldr r6, _0225B358 ; =0x0225D05C
|
|
add r4, #0x24
|
|
lsl r7, r7, #0x18
|
|
str r0, [sp, #0x38]
|
|
_0225B154:
|
|
ldr r0, [sp, #0x38]
|
|
str r0, [sp, #0x40]
|
|
ldrh r0, [r6]
|
|
cmp r0, #0
|
|
beq _0225B16E
|
|
lsl r0, r0, #0xc
|
|
bl _itof
|
|
add r1, r0, #0
|
|
add r0, r7, #0
|
|
bl _fadd
|
|
b _0225B17A
|
|
_0225B16E:
|
|
lsl r0, r0, #0xc
|
|
bl _itof
|
|
add r1, r7, #0
|
|
bl _fsub
|
|
_0225B17A:
|
|
bl _ftoi
|
|
str r0, [sp, #0x44]
|
|
ldrh r0, [r6, #2]
|
|
cmp r0, #0
|
|
beq _0225B196
|
|
lsl r0, r0, #0xc
|
|
bl _itof
|
|
add r1, r0, #0
|
|
add r0, r7, #0
|
|
bl _fadd
|
|
b _0225B1A2
|
|
_0225B196:
|
|
lsl r0, r0, #0xc
|
|
bl _itof
|
|
add r1, r7, #0
|
|
bl _fsub
|
|
_0225B1A2:
|
|
bl _ftoi
|
|
mov r1, #1
|
|
lsl r1, r1, #0x14
|
|
add r0, r0, r1
|
|
str r0, [sp, #0x48]
|
|
add r0, sp, #0x3c
|
|
bl sub_02024624
|
|
mov r1, #0x39
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_0202484C
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #2
|
|
bl sub_02024A04
|
|
ldr r0, [sp, #0x30]
|
|
add r6, r6, #4
|
|
add r0, r0, #1
|
|
add r4, r4, #4
|
|
str r0, [sp, #0x30]
|
|
cmp r0, #0xf
|
|
blt _0225B154
|
|
ldr r0, _0225B35C ; =0x0000051C
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x1b
|
|
lsr r1, r0, #0x1c
|
|
sub r0, r1, #1
|
|
cmp r0, #2
|
|
bhi _0225B27E
|
|
cmp r1, #1
|
|
bne _0225B1F6
|
|
mov r0, #0x90
|
|
str r0, [sp, #0x34]
|
|
b _0225B200
|
|
_0225B1F6:
|
|
sub r0, r1, #2
|
|
cmp r0, #1
|
|
bhi _0225B200
|
|
mov r0, #0x68
|
|
str r0, [sp, #0x34]
|
|
_0225B200:
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x40]
|
|
mov r0, #0x19
|
|
lsl r0, r0, #0xe
|
|
bl _itof
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
bl _ftoi
|
|
str r0, [sp, #0x44]
|
|
ldr r0, [sp, #0x34]
|
|
cmp r0, #0
|
|
ble _0225B238
|
|
lsl r0, r0, #0xc
|
|
bl _itof
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0225B246
|
|
_0225B238:
|
|
lsl r0, r0, #0xc
|
|
bl _itof
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0225B246:
|
|
bl _ftoi
|
|
mov r1, #1
|
|
lsl r1, r1, #0x14
|
|
add r0, r0, r1
|
|
str r0, [sp, #0x48]
|
|
add r0, sp, #0x3c
|
|
bl sub_02024624
|
|
mov r1, #0xf3
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #1
|
|
bl sub_0202484C
|
|
mov r0, #0xf3
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_02024A04
|
|
mov r0, #0xf3
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #6
|
|
bl sub_020248F0
|
|
_0225B27E:
|
|
ldr r0, _0225B35C ; =0x0000051C
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x1c
|
|
cmp r0, #2
|
|
bne _0225B2D2
|
|
ldr r0, [r5, #0x10]
|
|
bl sub_0206DB28
|
|
add r4, r0, #0
|
|
bne _0225B298
|
|
bl GF_AssertFail
|
|
_0225B298:
|
|
ldrb r0, [r4, #0x17]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _0225B2E2
|
|
mov r0, #0xea
|
|
lsl r0, r0, #2
|
|
mov r3, #1
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x68
|
|
mov r2, #0x88
|
|
lsl r3, r3, #0x14
|
|
bl sub_0200DDC4
|
|
ldr r0, [r4, #0x10]
|
|
bl sub_02074484
|
|
add r1, r0, #0
|
|
mov r0, #0xea
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl sub_02024AA8
|
|
mov r0, #0xea
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #6
|
|
bl sub_020248F0
|
|
b _0225B2E2
|
|
_0225B2D2:
|
|
cmp r0, #3
|
|
bne _0225B2E2
|
|
mov r0, #0xea
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
_0225B2E2:
|
|
mov r0, #0xed
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_020248F0
|
|
mov r0, #0xee
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #8
|
|
bl sub_020248F0
|
|
mov r0, #0xef
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #3
|
|
bl sub_020248F0
|
|
mov r0, #0xf
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
mov r1, #5
|
|
bl sub_020248F0
|
|
mov r0, #0xf2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0xc
|
|
bl sub_020248F0
|
|
mov r0, #0xf2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0xf1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl sub_02024A04
|
|
add r0, r5, #0
|
|
bl ov27_0225A4B8
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov27_0225A9C0
|
|
add r0, r5, #0
|
|
bl ov27_0225AA7C
|
|
add sp, #0x6c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225B350: .word 0x0225CF3C
|
|
_0225B354: .word 0x0225D038
|
|
_0225B358: .word 0x0225D05C
|
|
_0225B35C: .word 0x0000051C
|
|
thumb_func_end ov27_0225B010
|
|
|
|
thumb_func_start ov27_0225B360
|
|
ov27_0225B360: ; 0x0225B360
|
|
push {r3, r4, r5, r6}
|
|
mov r5, #0xc
|
|
mul r5, r0
|
|
ldr r6, _0225B394 ; =0x0225D0B4
|
|
lsl r0, r1, #1
|
|
mov r4, #0
|
|
add r5, r6, r5
|
|
add r0, r1, r0
|
|
mvn r4, r4
|
|
mov r3, #0
|
|
add r5, r5, r0
|
|
_0225B376:
|
|
ldrb r1, [r5]
|
|
lsl r0, r1, #3
|
|
ldrb r0, [r2, r0]
|
|
cmp r0, #0
|
|
beq _0225B384
|
|
add r4, r1, #0
|
|
b _0225B38C
|
|
_0225B384:
|
|
add r3, r3, #1
|
|
add r5, r5, #1
|
|
cmp r3, #3
|
|
blt _0225B376
|
|
_0225B38C:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
nop
|
|
_0225B394: .word 0x0225D0B4
|
|
thumb_func_end ov27_0225B360
|
|
|
|
thumb_func_start ov27_0225B398
|
|
ov27_0225B398: ; 0x0225B398
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
cmp r1, #7
|
|
blt _0225B3A6
|
|
bl GF_AssertFail
|
|
_0225B3A6:
|
|
ldr r0, _0225B3F0 ; =0x000004CC
|
|
mov r4, #0
|
|
add r5, r4, #0
|
|
add r7, r6, r0
|
|
_0225B3AE:
|
|
ldr r0, _0225B3F4 ; =0x0000051C
|
|
ldr r0, [r6, r0]
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x1c
|
|
lsl r1, r0, #3
|
|
ldr r0, _0225B3F8 ; =0x0225CFC8
|
|
add r0, r0, r1
|
|
ldrb r1, [r4, r0]
|
|
ldr r0, _0225B3FC ; =0x0225CF94
|
|
lsl r2, r1, #2
|
|
ldrh r0, [r0, r2]
|
|
mov r2, #0
|
|
cmp r1, #0xd
|
|
beq _0225B3E4
|
|
ldr r1, _0225B400 ; =0x0000FFFF
|
|
cmp r0, r1
|
|
beq _0225B3E4
|
|
ldr r0, [sp]
|
|
cmp r4, r0
|
|
bne _0225B3D8
|
|
mov r2, #0x10
|
|
_0225B3D8:
|
|
lsl r0, r2, #1
|
|
add r0, r7, r0
|
|
add r1, r5, #0
|
|
mov r2, #0x20
|
|
bl GXS_LoadOBJPltt
|
|
_0225B3E4:
|
|
add r4, r4, #1
|
|
add r5, #0x20
|
|
cmp r4, #7
|
|
blt _0225B3AE
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225B3F0: .word 0x000004CC
|
|
_0225B3F4: .word 0x0000051C
|
|
_0225B3F8: .word 0x0225CFC8
|
|
_0225B3FC: .word 0x0225CF94
|
|
_0225B400: .word 0x0000FFFF
|
|
thumb_func_end ov27_0225B398
|
|
|
|
thumb_func_start ov27_0225B404
|
|
ov27_0225B404: ; 0x0225B404
|
|
push {r3, r4, r5, lr}
|
|
ldr r1, _0225B4A8 ; =gMain
|
|
add r5, r0, #0
|
|
ldr r1, [r1, #0x48]
|
|
mov r4, #0
|
|
mov r2, #0x40
|
|
mvn r4, r4
|
|
ldr r0, [r5, #0x14]
|
|
tst r2, r1
|
|
beq _0225B41C
|
|
mov r4, #0
|
|
b _0225B438
|
|
_0225B41C:
|
|
mov r2, #0x80
|
|
tst r2, r1
|
|
beq _0225B426
|
|
mov r4, #1
|
|
b _0225B438
|
|
_0225B426:
|
|
mov r2, #0x20
|
|
tst r2, r1
|
|
beq _0225B430
|
|
mov r4, #2
|
|
b _0225B438
|
|
_0225B430:
|
|
mov r2, #0x10
|
|
tst r1, r2
|
|
beq _0225B438
|
|
mov r4, #3
|
|
_0225B438:
|
|
cmp r4, #0
|
|
blt _0225B448
|
|
mov r2, #0x47
|
|
lsl r2, r2, #4
|
|
add r1, r4, #0
|
|
add r2, r5, r2
|
|
bl ov27_0225B360
|
|
_0225B448:
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0225B4A6
|
|
ldr r1, [r5, #0x14]
|
|
cmp r1, r0
|
|
beq _0225B4A6
|
|
str r0, [r5, #0x14]
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #4
|
|
bl PlaySE
|
|
cmp r4, #1
|
|
bhi _0225B478
|
|
ldr r0, [r5, #0x14]
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldr r0, [r1, r0]
|
|
mov r1, #3
|
|
bl sub_020248F0
|
|
b _0225B490
|
|
_0225B478:
|
|
sub r0, r4, #2
|
|
cmp r0, #1
|
|
bhi _0225B490
|
|
ldr r0, [r5, #0x14]
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldr r0, [r1, r0]
|
|
mov r1, #1
|
|
bl sub_020248F0
|
|
_0225B490:
|
|
ldr r1, [r5, #0x14]
|
|
add r0, r5, #0
|
|
bl ov27_0225B398
|
|
ldr r1, [r5, #0x14]
|
|
add r0, r5, #0
|
|
bl ov27_0225C170
|
|
ldr r1, [r5, #0x10]
|
|
add r1, #0xd3
|
|
strb r0, [r1]
|
|
_0225B4A6:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_0225B4A8: .word gMain
|
|
thumb_func_end ov27_0225B404
|
|
|
|
thumb_func_start ov27_0225B4AC
|
|
ov27_0225B4AC: ; 0x0225B4AC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r4, #0
|
|
mov r7, #1
|
|
_0225B4B6:
|
|
ldr r0, [r5]
|
|
cmp r0, #0
|
|
beq _0225B4CE
|
|
cmp r6, r4
|
|
beq _0225B4C8
|
|
add r1, r7, #0
|
|
bl sub_02024B78
|
|
b _0225B4CE
|
|
_0225B4C8:
|
|
mov r1, #0
|
|
bl sub_02024B78
|
|
_0225B4CE:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #9
|
|
blt _0225B4B6
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov27_0225B4AC
|
|
|
|
thumb_func_start ov27_0225B4D8
|
|
ov27_0225B4D8: ; 0x0225B4D8
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x40]
|
|
bl sub_0205C6D4
|
|
cmp r0, #0
|
|
bne _0225B4F2
|
|
ldr r0, _0225B624 ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0xf0
|
|
tst r0, r1
|
|
beq _0225B4F6
|
|
_0225B4F2:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_0225B4F6:
|
|
ldr r0, _0225B628 ; =0x0000051C
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x1c
|
|
cmp r0, #5
|
|
bne _0225B53E
|
|
bl sub_0203769C
|
|
add r4, r0, #0
|
|
bl sub_02058740
|
|
cmp r0, #0
|
|
beq _0225B53A
|
|
bl sub_02058258
|
|
cmp r0, #0
|
|
beq _0225B53A
|
|
bl sub_02056EE0
|
|
cmp r0, #0
|
|
beq _0225B53A
|
|
bl sub_02057A0C
|
|
cmp r0, #0
|
|
beq _0225B53A
|
|
add r0, r4, #0
|
|
bl sub_02057F18
|
|
cmp r0, #0
|
|
bne _0225B53A
|
|
bl sub_02037958
|
|
cmp r0, #0
|
|
beq _0225B53E
|
|
_0225B53A:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_0225B53E:
|
|
bl sub_0200FB5C
|
|
cmp r0, #0
|
|
bne _0225B54A
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_0225B54A:
|
|
ldr r0, _0225B628 ; =0x0000051C
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x1a
|
|
lsr r0, r0, #0x1f
|
|
cmp r0, #1
|
|
bne _0225B55A
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_0225B55A:
|
|
ldr r0, _0225B62C ; =0x0225CF68
|
|
bl sub_02025224
|
|
add r4, r0, #0
|
|
cmp r4, #0
|
|
ble _0225B57E
|
|
cmp r4, #8
|
|
bge _0225B57E
|
|
sub r0, r4, #1
|
|
lsl r0, r0, #3
|
|
add r1, r5, r0
|
|
mov r0, #0x47
|
|
lsl r0, r0, #4
|
|
ldrb r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _0225B57E
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_0225B57E:
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0xc]
|
|
bl sub_0207879C
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
sub r0, #8
|
|
cmp r0, #1
|
|
bhi _0225B5AC
|
|
ldr r0, _0225B628 ; =0x0000051C
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
bne _0225B59E
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_0225B59E:
|
|
add r0, r5, #0
|
|
bl ov27_0225BDAC
|
|
cmp r0, #0
|
|
bne _0225B5AC
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_0225B5AC:
|
|
cmp r4, #8
|
|
bne _0225B5BE
|
|
add r0, r6, #0
|
|
bl sub_020781C4
|
|
cmp r0, #0
|
|
bne _0225B5D0
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_0225B5BE:
|
|
cmp r4, #9
|
|
bne _0225B5D0
|
|
add r0, r6, #0
|
|
bl sub_020781D0
|
|
cmp r0, #0
|
|
bne _0225B5D0
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_0225B5D0:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _0225B620
|
|
cmp r4, #0
|
|
bne _0225B5E4
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
strh r1, [r0]
|
|
b _0225B61C
|
|
_0225B5E4:
|
|
sub r1, r4, #1
|
|
lsl r0, r1, #2
|
|
add r2, r5, r0
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldr r0, [r2, r0]
|
|
cmp r0, #0
|
|
beq _0225B61C
|
|
cmp r4, #8
|
|
bge _0225B60E
|
|
str r1, [r5, #0x14]
|
|
add r0, r5, #0
|
|
bl ov27_0225C170
|
|
ldr r1, [r5, #0x10]
|
|
add r1, #0xd3
|
|
strb r0, [r1]
|
|
ldr r1, [r5, #0x14]
|
|
add r0, r5, #0
|
|
bl ov27_0225B398
|
|
_0225B60E:
|
|
add r0, r5, #0
|
|
sub r1, r4, #1
|
|
bl ov27_0225C170
|
|
add r1, r0, #2
|
|
ldr r0, [r5, #0xc]
|
|
strh r1, [r0]
|
|
_0225B61C:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_0225B620:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0225B624: .word gMain
|
|
_0225B628: .word 0x0000051C
|
|
_0225B62C: .word 0x0225CF68
|
|
thumb_func_end ov27_0225B4D8
|
|
|
|
thumb_func_start ov27_0225B630
|
|
ov27_0225B630: ; 0x0225B630
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r7, r0, #0
|
|
str r1, [sp, #0x10]
|
|
ldr r6, [r7]
|
|
bl GetWindowX
|
|
add r5, r0, #0
|
|
add r0, r7, #0
|
|
bl GetWindowY
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
bl GetWindowWidth
|
|
str r0, [sp, #0x14]
|
|
add r0, r7, #0
|
|
bl GetWindowHeight
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #1
|
|
beq _0225B666
|
|
cmp r0, #2
|
|
bne _0225B664
|
|
b _0225B8C2
|
|
_0225B664:
|
|
b _0225BB1E
|
|
_0225B666:
|
|
sub r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #3
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #0xa9
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
sub r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #0xaa
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
sub r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #0xab
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
sub r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x14]
|
|
lsl r3, r5, #0x18
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
mov r2, #0xac
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
ldr r0, [sp, #0x14]
|
|
mov r1, #5
|
|
add r7, r5, r0
|
|
sub r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r7, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r2, #0xad
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #3
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #0x64
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #0x65
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #0x66
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r7, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
mov r2, #0x68
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #3
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #0x84
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #0x85
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #0x86
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r7, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
mov r2, #0x88
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
ldr r0, [sp, #0x18]
|
|
sub r3, r5, #3
|
|
add r4, r4, r0
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #0xa4
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #0xa5
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #0xa6
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x14]
|
|
lsl r3, r5, #0x18
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
mov r2, #0xa7
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r7, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
mov r2, #0xa8
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
b _0225BB22
|
|
_0225B8C2:
|
|
sub r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #3
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #7
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
sub r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #7
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
sub r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #7
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
sub r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x14]
|
|
lsl r3, r5, #0x18
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
ldr r0, [sp, #0x14]
|
|
mov r1, #5
|
|
add r7, r5, r0
|
|
sub r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r7, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r2, #0
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #3
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #7
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #7
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #7
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r7, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #3
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #7
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #7
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #7
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r7, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
ldr r0, [sp, #0x18]
|
|
sub r3, r5, #3
|
|
add r4, r4, r0
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #7
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #7
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
sub r3, r5, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
mov r2, #7
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x14]
|
|
lsl r3, r5, #0x18
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
lsl r3, r7, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
b _0225BB22
|
|
_0225BB1E:
|
|
bl GF_AssertFail
|
|
_0225BB22:
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225B630
|
|
|
|
thumb_func_start ov27_0225BB38
|
|
ov27_0225BB38: ; 0x0225BB38
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r6, r1, #0
|
|
ldr r1, _0225BB68 ; =0x0225CEC4
|
|
lsl r2, r2, #2
|
|
ldr r4, [r1, r2]
|
|
add r5, r0, #0
|
|
lsl r1, r4, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl FillWindowPixelBuffer
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
str r4, [sp, #8]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
mov r3, #3
|
|
str r1, [sp, #0xc]
|
|
bl sub_020200FC
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0225BB68: .word 0x0225CEC4
|
|
thumb_func_end ov27_0225BB38
|
|
|
|
thumb_func_start ov27_0225BB6C
|
|
ov27_0225BB6C: ; 0x0225BB6C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0xc]
|
|
bl Sav2_PlayerData_GetProfileAddr
|
|
add r2, r0, #0
|
|
ldr r0, _0225BC10 ; =0x000004AC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl BufferPlayersName
|
|
ldr r7, _0225BC14 ; =0x0225CFC8
|
|
mov r4, #0
|
|
add r6, r5, #0
|
|
_0225BB8A:
|
|
ldr r0, _0225BC18 ; =0x0000051C
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x1c
|
|
lsl r0, r0, #3
|
|
add r0, r7, r0
|
|
ldrb r2, [r4, r0]
|
|
cmp r2, #0xd
|
|
beq _0225BBBA
|
|
lsl r3, r2, #2
|
|
ldr r2, _0225BC1C ; =0x0225CF94
|
|
ldr r0, _0225BC10 ; =0x000004AC
|
|
add r2, r2, r3
|
|
ldrh r2, [r2, #2]
|
|
ldr r1, _0225BC20 ; =0x000004A8
|
|
ldr r0, [r5, r0]
|
|
lsl r2, r2, #0x11
|
|
ldr r1, [r5, r1]
|
|
lsr r2, r2, #0x11
|
|
mov r3, #8
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
ldr r1, _0225BC24 ; =0x00000474
|
|
str r0, [r6, r1]
|
|
_0225BBBA:
|
|
add r4, r4, #1
|
|
add r6, #8
|
|
cmp r4, #7
|
|
blt _0225BB8A
|
|
ldr r4, _0225BC28 ; =0x0225CED8
|
|
mov r7, #0
|
|
add r6, r5, #0
|
|
_0225BBC8:
|
|
ldr r0, _0225BC20 ; =0x000004A8
|
|
ldr r1, [r4]
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x4b
|
|
lsl r1, r1, #4
|
|
str r0, [r6, r1]
|
|
add r7, r7, #1
|
|
add r4, r4, #4
|
|
add r6, r6, #4
|
|
cmp r7, #5
|
|
blt _0225BBC8
|
|
sub r1, r1, #4
|
|
ldr r0, [r5, r1]
|
|
sub r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
mov r2, #0xc
|
|
mov r3, #8
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
ldr r1, _0225BC2C ; =0x000004C4
|
|
mov r2, #0xd
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
sub r0, #0x18
|
|
sub r1, #0x1c
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
mov r3, #8
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
ldr r1, _0225BC30 ; =0x000004C8
|
|
str r0, [r5, r1]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225BC10: .word 0x000004AC
|
|
_0225BC14: .word 0x0225CFC8
|
|
_0225BC18: .word 0x0000051C
|
|
_0225BC1C: .word 0x0225CF94
|
|
_0225BC20: .word 0x000004A8
|
|
_0225BC24: .word 0x00000474
|
|
_0225BC28: .word 0x0225CED8
|
|
_0225BC2C: .word 0x000004C4
|
|
_0225BC30: .word 0x000004C8
|
|
thumb_func_end ov27_0225BB6C
|
|
|
|
thumb_func_start ov27_0225BC34
|
|
ov27_0225BC34: ; 0x0225BC34
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0225BC78 ; =0x000004C8
|
|
ldr r0, [r5, r0]
|
|
bl String_dtor
|
|
ldr r0, _0225BC7C ; =0x000004C4
|
|
ldr r0, [r5, r0]
|
|
bl String_dtor
|
|
mov r7, #0x4b
|
|
mov r6, #0
|
|
add r4, r5, #0
|
|
lsl r7, r7, #4
|
|
_0225BC50:
|
|
ldr r0, [r4, r7]
|
|
bl String_dtor
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, #5
|
|
blt _0225BC50
|
|
ldr r6, _0225BC80 ; =0x00000474
|
|
mov r4, #0
|
|
_0225BC62:
|
|
ldr r0, [r5, r6]
|
|
cmp r0, #0
|
|
beq _0225BC6C
|
|
bl String_dtor
|
|
_0225BC6C:
|
|
add r4, r4, #1
|
|
add r5, #8
|
|
cmp r4, #7
|
|
blt _0225BC62
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225BC78: .word 0x000004C8
|
|
_0225BC7C: .word 0x000004C4
|
|
_0225BC80: .word 0x00000474
|
|
thumb_func_end ov27_0225BC34
|
|
|
|
thumb_func_start ov27_0225BC84
|
|
ov27_0225BC84: ; 0x0225BC84
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
mov r7, #0
|
|
str r0, [sp]
|
|
add r4, r7, #0
|
|
add r5, sp, #4
|
|
_0225BC90:
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
ldr r0, [r0, #0x10]
|
|
bl sub_0203C3CC
|
|
add r4, r4, #1
|
|
stmia r5!, {r0}
|
|
cmp r4, #8
|
|
blt _0225BC90
|
|
mov r1, #0x3f
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #4
|
|
mov r6, #0
|
|
add r4, sp, #4
|
|
add r5, r0, r1
|
|
_0225BCAE:
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
beq _0225BCBC
|
|
add r0, r5, #0
|
|
bl CopyWindowToVram
|
|
add r7, r7, #1
|
|
_0225BCBC:
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
add r5, #0x10
|
|
cmp r6, #8
|
|
blt _0225BCAE
|
|
cmp r7, #0
|
|
beq _0225BCE4
|
|
mov r1, #0xf2
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
mov r1, #0x3e
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #4
|
|
add r0, r0, r1
|
|
bl CopyWindowToVram
|
|
_0225BCE4:
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov27_0225BC84
|
|
|
|
thumb_func_start ov27_0225BCE8
|
|
ov27_0225BCE8: ; 0x0225BCE8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #4
|
|
mov r6, #0
|
|
add r4, r5, r0
|
|
_0225BCF6:
|
|
ldr r0, _0225BD3C ; =0x00000474
|
|
ldr r1, [r5, r0]
|
|
cmp r1, #0
|
|
beq _0225BD2C
|
|
mov r0, #0
|
|
add r2, r0, #0
|
|
bl sub_02002F30
|
|
mov r1, #0x48
|
|
sub r3, r1, r0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225BD40 ; =0x000E0200
|
|
lsr r7, r3, #0x1f
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r2, _0225BD3C ; =0x00000474
|
|
add r7, r3, r7
|
|
ldr r2, [r5, r2]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
asr r3, r7, #1
|
|
bl sub_020200FC
|
|
_0225BD2C:
|
|
add r6, r6, #1
|
|
add r5, #8
|
|
add r4, #0x10
|
|
cmp r6, #7
|
|
blt _0225BCF6
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225BD3C: .word 0x00000474
|
|
_0225BD40: .word 0x000E0200
|
|
thumb_func_end ov27_0225BCE8
|
|
|
|
thumb_func_start ov27_0225BD44
|
|
ov27_0225BD44: ; 0x0225BD44
|
|
add r0, #0xd2
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x19
|
|
lsr r0, r0, #0x1f
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225BD44
|
|
|
|
thumb_func_start ov27_0225BD50
|
|
ov27_0225BD50: ; 0x0225BD50
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
bl sub_020503D0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl sub_02067584
|
|
cmp r0, #0
|
|
beq _0225BD6A
|
|
mov r0, #6
|
|
pop {r3, r4, r5, pc}
|
|
_0225BD6A:
|
|
add r0, r5, #0
|
|
bl sub_02066860
|
|
cmp r0, #0
|
|
beq _0225BD78
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_0225BD78:
|
|
add r0, r5, #0
|
|
bl sub_02066870
|
|
cmp r0, #0
|
|
beq _0225BD86
|
|
mov r0, #2
|
|
pop {r3, r4, r5, pc}
|
|
_0225BD86:
|
|
add r0, r5, #0
|
|
bl sub_020668A0
|
|
cmp r0, #0
|
|
beq _0225BD94
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
_0225BD94:
|
|
ldr r0, [r4, #0x18]
|
|
cmp r0, #3
|
|
bne _0225BD9E
|
|
mov r0, #4
|
|
pop {r3, r4, r5, pc}
|
|
_0225BD9E:
|
|
ldr r0, [r4, #0x70]
|
|
cmp r0, #3
|
|
bne _0225BDA8
|
|
mov r0, #5
|
|
pop {r3, r4, r5, pc}
|
|
_0225BDA8:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov27_0225BD50
|
|
|
|
thumb_func_start ov27_0225BDAC
|
|
ov27_0225BDAC: ; 0x0225BDAC
|
|
ldr r1, _0225BDC4 ; =0x0000051C
|
|
ldr r0, [r0, r1]
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x1c
|
|
sub r0, r0, #2
|
|
cmp r0, #4
|
|
bls _0225BDBE
|
|
mov r0, #1
|
|
bx lr
|
|
_0225BDBE:
|
|
mov r0, #0
|
|
bx lr
|
|
nop
|
|
_0225BDC4: .word 0x0000051C
|
|
thumb_func_end ov27_0225BDAC
|
|
|
|
thumb_func_start ov27_0225BDC8
|
|
ov27_0225BDC8: ; 0x0225BDC8
|
|
push {r3, lr}
|
|
ldr r0, [r0, #0x10]
|
|
ldr r0, [r0, #0xc]
|
|
bl sub_0203B9C4
|
|
bl sub_0203B9B4
|
|
bl sub_0205C7C8
|
|
pop {r3, pc}
|
|
thumb_func_end ov27_0225BDC8
|
|
|
|
thumb_func_start ov27_0225BDDC
|
|
ov27_0225BDDC: ; 0x0225BDDC
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
bl sub_02092DEC
|
|
str r0, [r5, #4]
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
str r0, [r5, #8]
|
|
ldr r0, [r4, #4]
|
|
str r0, [r5]
|
|
mov r0, #0
|
|
str r0, [r5, #0x1c]
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov27_0225BDDC
|
|
|
|
thumb_func_start ov27_0225BDFC
|
|
ov27_0225BDFC: ; 0x0225BDFC
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
bl sub_02092E08
|
|
ldr r1, [r5, #0x1c]
|
|
cmp r1, #0
|
|
bne _0225BE8A
|
|
cmp r0, #1
|
|
bne _0225BEAA
|
|
cmp r1, #0
|
|
bne _0225BEAA
|
|
ldr r0, [r5, #4]
|
|
mov r1, #8
|
|
bl ov02_02251E74
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
bl sub_02002F30
|
|
asr r1, r0, #2
|
|
lsr r1, r1, #0x1d
|
|
add r1, r0, r1
|
|
asr r0, r1, #3
|
|
add r1, r0, #2
|
|
cmp r1, #9
|
|
ble _0225BE3A
|
|
mov r1, #9
|
|
_0225BE3A:
|
|
mov r0, #0x13
|
|
str r0, [sp]
|
|
lsl r0, r1, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #4
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xc0
|
|
str r0, [sp, #0x10]
|
|
add r1, r5, #0
|
|
ldr r0, [r5]
|
|
add r1, #0xc
|
|
mov r2, #5
|
|
mov r3, #0xb
|
|
bl sub_0201D40C
|
|
add r0, r5, #0
|
|
add r0, #0xc
|
|
mov r1, #1
|
|
bl ov27_0225B630
|
|
add r0, r5, #0
|
|
add r0, #0xc
|
|
add r1, r4, #0
|
|
mov r2, #1
|
|
bl ov27_0225BB38
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
ldr r0, [r5, #8]
|
|
mov r1, #5
|
|
bl sub_02024950
|
|
mov r0, #1
|
|
add sp, #0x14
|
|
str r0, [r5, #0x1c]
|
|
pop {r4, r5, pc}
|
|
_0225BE8A:
|
|
cmp r0, #0
|
|
ldr r0, [r5, #8]
|
|
beq _0225BE9A
|
|
mov r1, #5
|
|
bl sub_02024950
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
_0225BE9A:
|
|
mov r1, #0
|
|
bl sub_02024950
|
|
add r0, r5, #0
|
|
bl ov27_0225BEB0
|
|
mov r0, #0
|
|
str r0, [r5, #0x1c]
|
|
_0225BEAA:
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225BDFC
|
|
|
|
thumb_func_start ov27_0225BEB0
|
|
ov27_0225BEB0: ; 0x0225BEB0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x1c]
|
|
cmp r0, #0
|
|
beq _0225BED4
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
mov r1, #2
|
|
bl ov27_0225B630
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r4, #0xc
|
|
add r0, r4, #0
|
|
bl RemoveWindow
|
|
_0225BED4:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225BEB0
|
|
|
|
thumb_func_start ov27_0225BED8
|
|
ov27_0225BED8: ; 0x0225BED8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
ldr r5, [sp, #0x44]
|
|
add r4, r0, #0
|
|
str r3, [sp]
|
|
add r0, sp, #0x28
|
|
add r7, r1, #0
|
|
ldrb r1, [r0, #0x10]
|
|
add r6, r2, #0
|
|
mov r2, #5
|
|
str r1, [sp, #4]
|
|
ldrb r0, [r0, #0x14]
|
|
add r1, sp, #0x14
|
|
add r3, r6, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #4
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x40]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
bl sub_0201D40C
|
|
add r0, sp, #0x14
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r1, _0225BF7C ; =0x000004AC
|
|
add r2, r7, #0
|
|
ldr r0, [r4, r1]
|
|
sub r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r3, #8
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _0225BF48
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
bl sub_02002F30
|
|
add r1, sp, #0x28
|
|
ldrb r1, [r1, #0x10]
|
|
lsl r1, r1, #3
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
asr r1, r0, #0x10
|
|
lsr r0, r1, #0x1f
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0xf
|
|
asr r5, r0, #0x10
|
|
_0225BF48:
|
|
add r1, sp, #0x28
|
|
mov r0, #0x20
|
|
ldrsh r0, [r1, r0]
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225BF80 ; =0x000E0200
|
|
add r3, r5, #0
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0x14
|
|
str r1, [sp, #0xc]
|
|
bl sub_020200FC
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
add r0, sp, #0x14
|
|
bl CopyWindowToVram
|
|
add r0, sp, #0x14
|
|
bl RemoveWindow
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225BF7C: .word 0x000004AC
|
|
_0225BF80: .word 0x000E0200
|
|
thumb_func_end ov27_0225BED8
|
|
|
|
thumb_func_start ov27_0225BF84
|
|
ov27_0225BF84: ; 0x0225BF84
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r4, r1, #0
|
|
mov r1, #0
|
|
add r5, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225BFC4 ; =0x000004AC
|
|
add r6, r2, #0
|
|
add r2, r3, #0
|
|
ldr r0, [r5, r0]
|
|
mov r3, #2
|
|
bl BufferIntegerAsString
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225BFC8 ; =0x00000186
|
|
mov r1, #0x1f
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
add r3, r6, #0
|
|
bl ov27_0225BED8
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0225BFC4: .word 0x000004AC
|
|
_0225BFC8: .word 0x00000186
|
|
thumb_func_end ov27_0225BF84
|
|
|
|
thumb_func_start ov27_0225BFCC
|
|
ov27_0225BFCC: ; 0x0225BFCC
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
ldr r0, [r1, #0x10]
|
|
mov r1, #0xa1
|
|
mov r2, #0
|
|
bl GetMonData
|
|
mov r1, #0
|
|
add r2, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225C014 ; =0x000004AC
|
|
mov r3, #3
|
|
ldr r0, [r4, r0]
|
|
bl BufferIntegerAsString
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225C018 ; =0x00000192
|
|
mov r1, #0x21
|
|
str r0, [sp, #8]
|
|
mov r0, #4
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
add r0, r4, #0
|
|
mov r2, #0xc
|
|
mov r3, #0x15
|
|
bl ov27_0225BED8
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
_0225C014: .word 0x000004AC
|
|
_0225C018: .word 0x00000192
|
|
thumb_func_end ov27_0225BFCC
|
|
|
|
thumb_func_start ov27_0225C01C
|
|
ov27_0225C01C: ; 0x0225C01C
|
|
push {lr}
|
|
sub sp, #0x14
|
|
mov r1, #9
|
|
str r1, [sp]
|
|
mov r2, #2
|
|
mov r1, #0x5d
|
|
str r2, [sp, #4]
|
|
lsl r1, r1, #2
|
|
str r1, [sp, #8]
|
|
sub r1, r2, #3
|
|
str r1, [sp, #0xc]
|
|
mov r1, #0
|
|
str r1, [sp, #0x10]
|
|
mov r1, #0x20
|
|
mov r2, #0xb
|
|
mov r3, #0x15
|
|
bl ov27_0225BED8
|
|
add sp, #0x14
|
|
pop {pc}
|
|
thumb_func_end ov27_0225C01C
|
|
|
|
thumb_func_start ov27_0225C044
|
|
ov27_0225C044: ; 0x0225C044
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0xc]
|
|
bl sub_0203B9C4
|
|
bl sub_0203B9B8
|
|
add r3, r0, #0
|
|
ldrh r3, [r3]
|
|
add r0, r4, #0
|
|
mov r1, #0xe
|
|
mov r2, #0x13
|
|
bl ov27_0225BF84
|
|
add r0, r4, #0
|
|
bl ov27_0225C01C
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225C044
|
|
|
|
thumb_func_start ov27_0225C06C
|
|
ov27_0225C06C: ; 0x0225C06C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
bl sub_020558BC
|
|
add r3, r0, #0
|
|
mov r1, #0xe
|
|
lsl r3, r3, #0x10
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
lsr r3, r3, #0x10
|
|
bl ov27_0225BF84
|
|
pop {r4, pc}
|
|
thumb_func_end ov27_0225C06C
|
|
|
|
thumb_func_start ov27_0225C088
|
|
ov27_0225C088: ; 0x0225C088
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
bl sub_0206DB28
|
|
add r4, r0, #0
|
|
bne _0225C09A
|
|
bl GF_AssertFail
|
|
_0225C09A:
|
|
add r0, r4, #0
|
|
bl sub_0206DB30
|
|
add r3, r0, #0
|
|
mov r1, #0xe
|
|
ldrh r3, [r3]
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov27_0225BF84
|
|
ldrb r0, [r4, #0x17]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _0225C0BE
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov27_0225BFCC
|
|
_0225C0BE:
|
|
ldrb r1, [r4, #0x17]
|
|
mov r0, #0xea
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #0x1f
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0x1f
|
|
bl sub_02024830
|
|
ldr r0, _0225C0DC ; =0x0000051A
|
|
mov r1, #0
|
|
strb r1, [r5, r0]
|
|
sub r0, #0x7a
|
|
strb r1, [r5, r0]
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225C0DC: .word 0x0000051A
|
|
thumb_func_end ov27_0225C088
|
|
|
|
thumb_func_start ov27_0225C0E0
|
|
ov27_0225C0E0: ; 0x0225C0E0
|
|
push {r3, lr}
|
|
ldr r1, _0225C108 ; =0x0000051C
|
|
ldr r1, [r0, r1]
|
|
lsl r1, r1, #0x1b
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, #1
|
|
bne _0225C0F4
|
|
bl ov27_0225C044
|
|
pop {r3, pc}
|
|
_0225C0F4:
|
|
cmp r1, #2
|
|
bne _0225C0FE
|
|
bl ov27_0225C088
|
|
pop {r3, pc}
|
|
_0225C0FE:
|
|
cmp r1, #3
|
|
bne _0225C106
|
|
bl ov27_0225C06C
|
|
_0225C106:
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_0225C108: .word 0x0000051C
|
|
thumb_func_end ov27_0225C0E0
|
|
|
|
thumb_func_start ov27_0225C10C
|
|
ov27_0225C10C: ; 0x0225C10C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r7, _0225C160 ; =0x0225CFC8
|
|
mov r4, #0
|
|
add r6, r5, #0
|
|
_0225C116:
|
|
ldr r0, _0225C164 ; =0x0000051C
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x1c
|
|
lsl r0, r0, #3
|
|
add r0, r7, r0
|
|
ldrb r1, [r4, r0]
|
|
cmp r1, #0xd
|
|
beq _0225C14C
|
|
cmp r1, #7
|
|
bge _0225C13A
|
|
ldr r0, [r5, #0x10]
|
|
bl sub_0203C3CC
|
|
ldr r1, _0225C168 ; =0x00000514
|
|
add r2, r5, r4
|
|
strb r0, [r2, r1]
|
|
b _0225C14C
|
|
_0225C13A:
|
|
ldr r0, _0225C16C ; =0x0225CF94
|
|
lsl r1, r1, #2
|
|
add r0, r0, r1
|
|
ldrh r0, [r0, #2]
|
|
add r1, r5, r4
|
|
lsl r0, r0, #0x10
|
|
lsr r2, r0, #0x1f
|
|
ldr r0, _0225C168 ; =0x00000514
|
|
strb r2, [r1, r0]
|
|
_0225C14C:
|
|
ldr r0, _0225C168 ; =0x00000514
|
|
add r1, r5, r4
|
|
ldrb r1, [r1, r0]
|
|
sub r0, #0xa4
|
|
add r4, r4, #1
|
|
strb r1, [r6, r0]
|
|
add r6, #8
|
|
cmp r4, #7
|
|
blt _0225C116
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225C160: .word 0x0225CFC8
|
|
_0225C164: .word 0x0000051C
|
|
_0225C168: .word 0x00000514
|
|
_0225C16C: .word 0x0225CF94
|
|
thumb_func_end ov27_0225C10C
|
|
|
|
thumb_func_start ov27_0225C170
|
|
ov27_0225C170: ; 0x0225C170
|
|
push {r3, r4, r5, lr}
|
|
mov r4, #0
|
|
sub r2, r1, #7
|
|
mvn r4, r4
|
|
cmp r2, #1
|
|
bhi _0225C180
|
|
add r0, r1, #0
|
|
pop {r3, r4, r5, pc}
|
|
_0225C180:
|
|
add r3, r1, #1
|
|
mov r5, #0
|
|
cmp r3, #0
|
|
ble _0225C19C
|
|
mov r1, #0x47
|
|
lsl r1, r1, #4
|
|
_0225C18C:
|
|
ldrb r2, [r0, r1]
|
|
cmp r2, #0
|
|
beq _0225C194
|
|
add r4, r4, #1
|
|
_0225C194:
|
|
add r5, r5, #1
|
|
add r0, #8
|
|
cmp r5, r3
|
|
blt _0225C18C
|
|
_0225C19C:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _0225C1A8
|
|
bl GF_AssertFail
|
|
_0225C1A8:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov27_0225C170
|
|
|
|
thumb_func_start ov27_0225C1AC
|
|
ov27_0225C1AC: ; 0x0225C1AC
|
|
push {r4, r5, r6, r7}
|
|
mov r5, #0
|
|
mov r6, #0
|
|
mov r2, #0x47
|
|
mvn r5, r5
|
|
add r4, r6, #0
|
|
add r7, r0, #0
|
|
lsl r2, r2, #4
|
|
_0225C1BC:
|
|
ldrb r3, [r7, r2]
|
|
cmp r3, #0
|
|
beq _0225C1CC
|
|
cmp r1, r6
|
|
bne _0225C1CA
|
|
add r5, r4, #0
|
|
b _0225C1D4
|
|
_0225C1CA:
|
|
add r6, r6, #1
|
|
_0225C1CC:
|
|
add r4, r4, #1
|
|
add r7, #8
|
|
cmp r4, #7
|
|
blt _0225C1BC
|
|
_0225C1D4:
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r5, r1
|
|
bne _0225C1E4
|
|
ldr r0, [r0, #0x10]
|
|
mov r5, #0
|
|
add r0, #0xd3
|
|
strb r5, [r0]
|
|
_0225C1E4:
|
|
add r0, r5, #0
|
|
pop {r4, r5, r6, r7}
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225C1AC
|
|
|
|
thumb_func_start ov27_0225C1EC
|
|
ov27_0225C1EC: ; 0x0225C1EC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
bne _0225C1FA
|
|
bl GF_AssertFail
|
|
_0225C1FA:
|
|
ldr r0, [r4, #0x14]
|
|
lsl r0, r0, #3
|
|
add r1, r4, r0
|
|
mov r0, #0x47
|
|
lsl r0, r0, #4
|
|
ldrb r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _0225C236
|
|
mov r0, #0x47
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
lsl r0, r0, #4
|
|
_0225C212:
|
|
ldrb r1, [r3, r0]
|
|
cmp r1, #0
|
|
beq _0225C22E
|
|
ldr r0, [r4, #0x10]
|
|
add r0, #0xd3
|
|
strb r2, [r0]
|
|
ldr r1, [r4, #0x10]
|
|
add r0, r4, #0
|
|
add r1, #0xd3
|
|
ldrb r1, [r1]
|
|
bl ov27_0225C1AC
|
|
str r0, [r4, #0x14]
|
|
pop {r4, pc}
|
|
_0225C22E:
|
|
add r2, r2, #1
|
|
add r3, #8
|
|
cmp r2, #7
|
|
blt _0225C212
|
|
_0225C236:
|
|
pop {r4, pc}
|
|
thumb_func_end ov27_0225C1EC
|
|
|
|
thumb_func_start ov27_0225C238
|
|
ov27_0225C238: ; 0x0225C238
|
|
ldr r3, _0225C244 ; =AllocFromHeapAtEnd
|
|
mov r1, #0xfa
|
|
mov r0, #3
|
|
lsl r1, r1, #2
|
|
bx r3
|
|
nop
|
|
_0225C244: .word AllocFromHeapAtEnd
|
|
thumb_func_end ov27_0225C238
|
|
|
|
thumb_func_start ov27_0225C248
|
|
ov27_0225C248: ; 0x0225C248
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225C248
|
|
|
|
thumb_func_start ov27_0225C24C
|
|
ov27_0225C24C: ; 0x0225C24C
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225C24C
|
|
|
|
thumb_func_start ov27_0225C250
|
|
ov27_0225C250: ; 0x0225C250
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
mov r0, #3
|
|
str r2, [sp]
|
|
mov r1, #8
|
|
lsl r2, r0, #0xf
|
|
str r3, [sp, #4]
|
|
bl sub_0201A910
|
|
mov r0, #0
|
|
bl sub_020CDA64
|
|
mov r0, #0x80
|
|
bl GX_SetBankForSubBG
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
bl GX_SetBankForSubOBJ
|
|
ldr r2, _0225C37C ; =0x04001000
|
|
ldr r0, _0225C380 ; =0xFFCFFFEF
|
|
ldr r1, [r2]
|
|
mov r3, #0
|
|
and r1, r0
|
|
mov r0, #0x10
|
|
orr r0, r1
|
|
str r0, [r2]
|
|
ldr r2, _0225C384 ; =0x0225D370
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
bl sub_0201B1E4
|
|
ldr r2, _0225C388 ; =0x0225D38C
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
mov r3, #0
|
|
bl sub_0201B1E4
|
|
ldr r2, _0225C38C ; =0x0225D3A8
|
|
add r0, r5, #0
|
|
mov r1, #6
|
|
mov r3, #0
|
|
bl sub_0201B1E4
|
|
mov r0, #4
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
add r3, r0, #0
|
|
bl sub_0201C1C4
|
|
mov r0, #5
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #4
|
|
bl sub_0201C1C4
|
|
mov r0, #6
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #4
|
|
bl sub_0201C1C4
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
bl sub_0201CAE0
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl sub_0201CAE0
|
|
mov r1, #0xe9
|
|
ldr r0, _0225C390 ; =ov27_0225C434
|
|
lsl r1, r1, #2
|
|
mov r2, #0xa
|
|
mov r3, #8
|
|
bl sub_02007200
|
|
add r6, r0, #0
|
|
bl sub_0201F988
|
|
add r4, r0, #0
|
|
str r6, [r4, #0x1c]
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r5, [r4, #0x18]
|
|
ldr r1, [sp]
|
|
str r7, [r4, #0x20]
|
|
str r1, [r4, #0x24]
|
|
str r0, [r4, #0x48]
|
|
ldr r1, [sp, #4]
|
|
str r0, [r4]
|
|
str r1, [r4, #4]
|
|
mov r1, #0xe7
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
add r1, r1, #4
|
|
str r0, [r4, r1]
|
|
str r0, [r4, #0x34]
|
|
str r0, [r4, #0x44]
|
|
mov r0, #4
|
|
mov r1, #8
|
|
bl sub_02002CEC
|
|
ldr r1, [r4, #0x24]
|
|
add r0, r4, #0
|
|
add r1, #0xd2
|
|
ldrb r1, [r1]
|
|
lsl r1, r1, #0x1a
|
|
lsr r1, r1, #0x1a
|
|
bl ov27_0225C914
|
|
add r0, r4, #0
|
|
bl ov27_0225C4AC
|
|
add r0, r4, #0
|
|
bl ov27_0225C72C
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov27_0225C80C
|
|
ldr r2, _0225C37C ; =0x04001000
|
|
ldr r0, _0225C394 ; =0xFFFF1FFF
|
|
ldr r1, [r2]
|
|
and r0, r1
|
|
str r0, [r2]
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl sub_02022CC8
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl sub_02022CC8
|
|
mov r0, #4
|
|
mov r1, #1
|
|
bl sub_02022CC8
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl sub_02022CC8
|
|
mov r0, #1
|
|
bl sub_02002B8C
|
|
add r0, r6, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225C37C: .word 0x04001000
|
|
_0225C380: .word 0xFFCFFFEF
|
|
_0225C384: .word 0x0225D370
|
|
_0225C388: .word 0x0225D38C
|
|
_0225C38C: .word 0x0225D3A8
|
|
_0225C390: .word ov27_0225C434
|
|
_0225C394: .word 0xFFFF1FFF
|
|
thumb_func_end ov27_0225C250
|
|
|
|
thumb_func_start ov27_0225C398
|
|
ov27_0225C398: ; 0x0225C398
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
str r0, [sp]
|
|
add r0, r1, #0
|
|
str r1, [sp, #4]
|
|
bl sub_0201F988
|
|
add r7, r0, #0
|
|
mov r0, #0xd5
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
bl sub_0200AEB0
|
|
mov r0, #0xd6
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
bl sub_0200B0A8
|
|
mov r6, #0xd1
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
lsl r6, r6, #2
|
|
_0225C3C4:
|
|
ldr r0, [r5, r6]
|
|
bl sub_0200A0D0
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _0225C3C4
|
|
mov r0, #0x86
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
bl sub_02024504
|
|
mov r0, #0
|
|
bl sub_02002B8C
|
|
add r0, r7, #0
|
|
bl ov27_0225C930
|
|
mov r0, #4
|
|
bl sub_02002DB4
|
|
ldr r0, [sp, #4]
|
|
bl sub_02007234
|
|
ldr r0, [sp]
|
|
mov r1, #6
|
|
bl sub_0201BB4C
|
|
ldr r0, [sp]
|
|
mov r1, #5
|
|
bl sub_0201BB4C
|
|
ldr r0, [sp]
|
|
mov r1, #4
|
|
bl sub_0201BB4C
|
|
mov r0, #8
|
|
bl sub_0201A9C4
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225C398
|
|
|
|
thumb_func_start ov27_0225C418
|
|
ov27_0225C418: ; 0x0225C418
|
|
mov r0, #1
|
|
bx lr
|
|
thumb_func_end ov27_0225C418
|
|
|
|
thumb_func_start ov27_0225C41C
|
|
ov27_0225C41C: ; 0x0225C41C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
bl sub_0201F988
|
|
mov r1, #0xe7
|
|
lsl r1, r1, #2
|
|
str r5, [r0, r1]
|
|
add r1, r1, #4
|
|
str r4, [r0, r1]
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225C41C
|
|
|
|
thumb_func_start ov27_0225C434
|
|
ov27_0225C434: ; 0x0225C434
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
ldr r0, [r4, #0x24]
|
|
bl sub_02050590
|
|
cmp r0, #0
|
|
bne _0225C46C
|
|
ldr r0, [r4, #0x24]
|
|
add r1, r0, #0
|
|
add r1, #0xd2
|
|
ldrb r1, [r1]
|
|
lsl r1, r1, #0x1a
|
|
lsr r1, r1, #0x1a
|
|
cmp r1, #2
|
|
bne _0225C464
|
|
add r1, r0, #0
|
|
add r1, #0xd2
|
|
ldrb r2, [r1]
|
|
mov r1, #0x3f
|
|
add r0, #0xd2
|
|
bic r2, r1
|
|
mov r1, #3
|
|
orr r1, r2
|
|
strb r1, [r0]
|
|
_0225C464:
|
|
ldr r0, _0225C4A4 ; =0x04001050
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
b _0225C496
|
|
_0225C46C:
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
lsl r2, r1, #2
|
|
ldr r1, _0225C4A8 ; =0x0225D4D4
|
|
ldr r1, [r1, r2]
|
|
blx r1
|
|
cmp r0, #1
|
|
bne _0225C496
|
|
ldr r2, [r4, #0x24]
|
|
add r0, r2, #0
|
|
add r0, #0xd2
|
|
ldrb r1, [r0]
|
|
mov r0, #0x3f
|
|
add r2, #0xd2
|
|
bic r1, r0
|
|
strb r1, [r2]
|
|
mov r1, #0
|
|
ldr r0, [r4, #0x24]
|
|
add r2, r1, #0
|
|
bl ov01_021F6A9C
|
|
_0225C496:
|
|
mov r0, #0x86
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_0202457C
|
|
pop {r4, pc}
|
|
nop
|
|
_0225C4A4: .word 0x04001050
|
|
_0225C4A8: .word 0x0225D4D4
|
|
thumb_func_end ov27_0225C434
|
|
|
|
thumb_func_start ov27_0225C4AC
|
|
ov27_0225C4AC: ; 0x0225C4AC
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
mov r0, #0xef
|
|
mov r1, #8
|
|
bl NARC_ctor
|
|
mov r1, #0
|
|
ldr r2, _0225C53C ; =0x04001050
|
|
add r3, r1, #0
|
|
strh r1, [r2]
|
|
mov r2, #0xa0
|
|
str r2, [sp]
|
|
mov r2, #8
|
|
str r2, [sp, #4]
|
|
mov r2, #4
|
|
add r4, r0, #0
|
|
bl sub_02007B8C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #0x18]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r3, #6
|
|
bl sub_02007B44
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #0x18]
|
|
add r0, r4, #0
|
|
mov r1, #9
|
|
mov r3, #6
|
|
bl sub_02007B68
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #9
|
|
mov r2, #0
|
|
add r3, sp, #0x10
|
|
bl sub_02007C2C
|
|
ldr r3, [sp, #0x10]
|
|
add r6, r0, #0
|
|
add r2, r3, #0
|
|
ldr r0, [r5, #0x18]
|
|
ldr r3, [r3, #8]
|
|
mov r1, #6
|
|
add r2, #0xc
|
|
bl BG_LoadScreenTilemapData
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #6
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
bl NARC_dtor
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0225C53C: .word 0x04001050
|
|
thumb_func_end ov27_0225C4AC
|
|
|
|
thumb_func_start ov27_0225C540
|
|
ov27_0225C540: ; 0x0225C540
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
mov r0, #0xef
|
|
mov r1, #8
|
|
bl NARC_ctor
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
str r1, [sp, #8]
|
|
mov r1, #8
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r5, #0x18]
|
|
mov r1, #1
|
|
mov r3, #4
|
|
add r4, r0, #0
|
|
bl sub_02007B44
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #0x18]
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
mov r3, #4
|
|
bl sub_02007B68
|
|
add r0, r4, #0
|
|
bl NARC_dtor
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #4
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x80
|
|
str r0, [sp, #0x10]
|
|
add r1, r5, #0
|
|
ldr r0, [r5, #0x18]
|
|
add r1, #0x28
|
|
mov r2, #5
|
|
mov r3, #0xc
|
|
bl sub_0201D40C
|
|
mov r0, #0xe
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #4
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x90
|
|
str r0, [sp, #0x10]
|
|
add r1, r5, #0
|
|
ldr r0, [r5, #0x18]
|
|
add r1, #0x38
|
|
mov r2, #5
|
|
mov r3, #0xc
|
|
bl sub_0201D40C
|
|
add r0, r5, #0
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, #0x28
|
|
mov r2, #0x2e
|
|
bl ov27_0225C8D0
|
|
add r0, r5, #0
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, #0x38
|
|
mov r2, #0x2f
|
|
bl ov27_0225C8D0
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225C540
|
|
|
|
thumb_func_start ov27_0225C5E4
|
|
ov27_0225C5E4: ; 0x0225C5E4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #4
|
|
bl sub_0201CAE0
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #5
|
|
bl sub_0201CAE0
|
|
ldr r0, [r4, #0x34]
|
|
cmp r0, #0
|
|
beq _0225C606
|
|
add r0, r4, #0
|
|
add r0, #0x28
|
|
bl RemoveWindow
|
|
_0225C606:
|
|
ldr r0, [r4, #0x44]
|
|
cmp r0, #0
|
|
beq _0225C614
|
|
add r4, #0x38
|
|
add r0, r4, #0
|
|
bl RemoveWindow
|
|
_0225C614:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225C5E4
|
|
|
|
thumb_func_start ov27_0225C618
|
|
ov27_0225C618: ; 0x0225C618
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r0, #0xc]
|
|
bl ov01_021EEF58
|
|
add r7, r0, #0
|
|
ldr r0, [sp, #0x10]
|
|
ldr r0, [r0, #0xc]
|
|
bl ov01_021EEF60
|
|
add r6, r0, #0
|
|
mov r0, #0xef
|
|
mov r1, #8
|
|
bl NARC_ctor
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
str r1, [sp, #8]
|
|
mov r1, #8
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
mov r1, #1
|
|
ldr r2, [r2, #0x18]
|
|
mov r3, #4
|
|
add r4, r0, #0
|
|
bl sub_02007B44
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
add r0, r4, #0
|
|
ldr r2, [r2, #0x18]
|
|
add r1, r6, #0
|
|
mov r3, #4
|
|
bl sub_02007B68
|
|
add r0, r4, #0
|
|
bl NARC_dtor
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
cmp r6, #0
|
|
ble _0225C6A6
|
|
add r4, r0, #0
|
|
ldr r5, [sp, #0x10]
|
|
sub r0, r6, #2
|
|
lsl r0, r0, #2
|
|
add r5, #0x54
|
|
str r0, [sp, #0x18]
|
|
_0225C686:
|
|
ldr r3, _0225C6F0 ; =0x0225D4B8
|
|
ldr r2, [sp, #0x18]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r2, [r3, r2]
|
|
ldr r0, [r0, #0x18]
|
|
add r1, r5, #0
|
|
add r2, r2, r4
|
|
bl AddWindow
|
|
ldr r0, [sp, #0x14]
|
|
add r4, #8
|
|
add r0, r0, #1
|
|
add r5, #0x10
|
|
str r0, [sp, #0x14]
|
|
cmp r0, r6
|
|
blt _0225C686
|
|
_0225C6A6:
|
|
mov r5, #0
|
|
cmp r6, #0
|
|
ble _0225C6E4
|
|
ldr r4, [sp, #0x10]
|
|
add r4, #0x54
|
|
_0225C6B0:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225C6F4 ; =0x00020100
|
|
mov r1, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r7]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl sub_020200FC
|
|
add r0, r4, #0
|
|
bl sub_0201D5C8
|
|
add r5, r5, #1
|
|
add r4, #0x10
|
|
add r7, #8
|
|
cmp r5, r6
|
|
blt _0225C6B0
|
|
_0225C6E4:
|
|
mov r1, #0x85
|
|
ldr r0, [sp, #0x10]
|
|
lsl r1, r1, #2
|
|
str r6, [r0, r1]
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225C6F0: .word 0x0225D4B8
|
|
_0225C6F4: .word 0x00020100
|
|
thumb_func_end ov27_0225C618
|
|
|
|
thumb_func_start ov27_0225C6F8
|
|
ov27_0225C6F8: ; 0x0225C6F8
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
bl ov01_021EEF60
|
|
add r6, r0, #0
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #4
|
|
bl sub_0201CAE0
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #5
|
|
bl sub_0201CAE0
|
|
mov r4, #0
|
|
cmp r6, #0
|
|
ble _0225C72A
|
|
add r5, #0x54
|
|
_0225C71C:
|
|
add r0, r5, #0
|
|
bl RemoveWindow
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, r6
|
|
blt _0225C71C
|
|
_0225C72A:
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov27_0225C6F8
|
|
|
|
thumb_func_start ov27_0225C72C
|
|
ov27_0225C72C: ; 0x0225C72C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
mov r1, #0x87
|
|
add r6, r0, #0
|
|
lsl r1, r1, #2
|
|
mov r0, #0x15
|
|
add r1, r6, r1
|
|
mov r2, #8
|
|
bl sub_02009F40
|
|
mov r1, #0x86
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
add r0, r1, #4
|
|
mov r2, #1
|
|
add r0, r6, r0
|
|
mov r1, #0
|
|
lsl r2, r2, #0x14
|
|
bl sub_02009FC8
|
|
mov r7, #0xd1
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
lsl r7, r7, #2
|
|
_0225C75C:
|
|
mov r0, #0xa
|
|
add r1, r4, #0
|
|
mov r2, #8
|
|
bl sub_0200A090
|
|
str r0, [r5, r7]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _0225C75C
|
|
mov r0, #0xa
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0xef
|
|
mov r2, #0xc
|
|
mov r3, #0
|
|
bl sub_0200A1D8
|
|
mov r1, #0xd5
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
mov r0, #0xa
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
sub r1, #0xc
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r6, r1]
|
|
mov r1, #0xef
|
|
mov r2, #0xb
|
|
mov r3, #0
|
|
bl sub_0200A234
|
|
mov r1, #0xd6
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
mov r0, #0xa
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
sub r1, #0xc
|
|
str r0, [sp, #8]
|
|
ldr r0, [r6, r1]
|
|
mov r1, #0xef
|
|
mov r2, #0xd
|
|
mov r3, #0
|
|
bl sub_0200A294
|
|
mov r1, #0xd7
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
mov r0, #0xa
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
sub r1, #0xc
|
|
str r0, [sp, #8]
|
|
ldr r0, [r6, r1]
|
|
mov r1, #0xef
|
|
mov r2, #0xe
|
|
mov r3, #0
|
|
bl sub_0200A294
|
|
mov r1, #0x36
|
|
lsl r1, r1, #4
|
|
str r0, [r6, r1]
|
|
sub r1, #0xc
|
|
ldr r0, [r6, r1]
|
|
bl sub_0200ADA4
|
|
mov r0, #0xd6
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
bl sub_0200B00C
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov27_0225C72C
|
|
|
|
thumb_func_start ov27_0225C80C
|
|
ov27_0225C80C: ; 0x0225C80C
|
|
push {r4, r5, lr}
|
|
sub sp, #0x5c
|
|
add r4, r1, #0
|
|
mov r1, #0xa
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
str r1, [sp]
|
|
sub r0, #0xb
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
mov r0, #0xd1
|
|
str r2, [sp, #0x10]
|
|
lsl r0, r0, #2
|
|
ldr r3, [r5, r0]
|
|
str r3, [sp, #0x14]
|
|
add r3, r0, #4
|
|
ldr r3, [r5, r3]
|
|
str r3, [sp, #0x18]
|
|
add r3, r0, #0
|
|
add r3, #8
|
|
ldr r3, [r5, r3]
|
|
str r3, [sp, #0x1c]
|
|
add r3, r0, #0
|
|
add r3, #0xc
|
|
ldr r3, [r5, r3]
|
|
add r0, #0x20
|
|
str r3, [sp, #0x20]
|
|
str r2, [sp, #0x24]
|
|
str r2, [sp, #0x28]
|
|
add r0, r5, r0
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl sub_02009D48
|
|
mov r0, #0x86
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, _0225C8C8 ; =0x0225D118
|
|
lsl r2, r4, #2
|
|
ldrh r1, [r1, r2]
|
|
str r0, [sp, #0x2c]
|
|
mov r0, #0xd9
|
|
lsl r1, r1, #0xc
|
|
str r1, [sp, #0x34]
|
|
ldr r1, _0225C8CC ; =0x0225D11A
|
|
lsl r0, r0, #2
|
|
ldrh r2, [r1, r2]
|
|
mov r1, #1
|
|
lsl r1, r1, #8
|
|
add r2, r2, r1
|
|
lsl r1, r1, #4
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0
|
|
lsl r2, r2, #0xc
|
|
str r0, [sp, #0x3c]
|
|
str r2, [sp, #0x38]
|
|
str r1, [sp, #0x40]
|
|
str r1, [sp, #0x44]
|
|
str r1, [sp, #0x48]
|
|
add r1, sp, #0x2c
|
|
strh r0, [r1, #0x20]
|
|
mov r0, #1
|
|
str r0, [sp, #0x50]
|
|
mov r0, #2
|
|
str r0, [sp, #0x54]
|
|
mov r0, #8
|
|
str r0, [sp, #0x58]
|
|
add r0, sp, #0x2c
|
|
bl sub_02024624
|
|
mov r1, #0xe2
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #1
|
|
bl sub_020248F0
|
|
mov r0, #0xe2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl sub_0202484C
|
|
mov r0, #0xe2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
add sp, #0x5c
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_0225C8C8: .word 0x0225D118
|
|
_0225C8CC: .word 0x0225D11A
|
|
thumb_func_end ov27_0225C80C
|
|
|
|
thumb_func_start ov27_0225C8D0
|
|
ov27_0225C8D0: ; 0x0225C8D0
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
add r1, r2, #0
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225C910 ; =0x00020100
|
|
mov r1, #4
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
str r3, [sp, #0xc]
|
|
bl sub_020200FC
|
|
add r0, r5, #0
|
|
bl sub_0201D5C8
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_0225C910: .word 0x00020100
|
|
thumb_func_end ov27_0225C8D0
|
|
|
|
thumb_func_start ov27_0225C914
|
|
ov27_0225C914: ; 0x0225C914
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #8
|
|
bl ScrStrBufs_new
|
|
str r0, [r4, #0x50]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
mov r2, #0xbf
|
|
mov r3, #8
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r4, #0x4c]
|
|
pop {r4, pc}
|
|
thumb_func_end ov27_0225C914
|
|
|
|
thumb_func_start ov27_0225C930
|
|
ov27_0225C930: ; 0x0225C930
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x4c]
|
|
bl DestroyMsgData
|
|
ldr r0, [r4, #0x50]
|
|
bl ScrStrBufs_delete
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225C930
|
|
|
|
thumb_func_start ov27_0225C944
|
|
ov27_0225C944: ; 0x0225C944
|
|
mov r1, #1
|
|
str r1, [r0]
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end ov27_0225C944
|
|
|
|
thumb_func_start ov27_0225C94C
|
|
ov27_0225C94C: ; 0x0225C94C
|
|
push {r4, lr}
|
|
mov r1, #0xe5
|
|
add r4, r0, #0
|
|
mov r2, #0
|
|
lsl r1, r1, #2
|
|
str r2, [r4, r1]
|
|
bl ov27_0225C540
|
|
mov r0, #0xe2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
mov r1, #0xe5
|
|
lsl r1, r1, #2
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov27_0225CCE0
|
|
mov r0, #0xe2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_020248F0
|
|
mov r0, #4
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov27_0225C94C
|
|
|
|
thumb_func_start ov27_0225C988
|
|
ov27_0225C988: ; 0x0225C988
|
|
push {r3, lr}
|
|
bl ov27_0225CD94
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225C988
|
|
|
|
thumb_func_start ov27_0225C994
|
|
ov27_0225C994: ; 0x0225C994
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xe2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_02024B68
|
|
cmp r0, #0
|
|
bne _0225C9C6
|
|
mov r0, #0xe2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
add r0, r4, #0
|
|
bl ov27_0225C5E4
|
|
mov r0, #0xe5
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r0]
|
|
ldr r0, [r4, #4]
|
|
strh r1, [r0]
|
|
mov r0, #6
|
|
str r0, [r4]
|
|
_0225C9C6:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225C994
|
|
|
|
thumb_func_start ov27_0225C9CC
|
|
ov27_0225C9CC: ; 0x0225C9CC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xe2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov27_0225C9CC
|
|
|
|
thumb_func_start ov27_0225C9E4
|
|
ov27_0225C9E4: ; 0x0225C9E4
|
|
ldr r1, [r0, #0x10]
|
|
add r1, r1, #1
|
|
str r1, [r0, #0x10]
|
|
cmp r1, #0x14
|
|
ble _0225C9F2
|
|
mov r0, #1
|
|
bx lr
|
|
_0225C9F2:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225C9E4
|
|
|
|
thumb_func_start ov27_0225C9F8
|
|
ov27_0225C9F8: ; 0x0225C9F8
|
|
ldr r0, _0225CA0C ; =gMain + 0x40
|
|
ldrh r0, [r0, #0x26]
|
|
cmp r0, #0
|
|
beq _0225CA06
|
|
ldr r0, _0225CA10 ; =gMain
|
|
mov r1, #1
|
|
str r1, [r0, #0x5c]
|
|
_0225CA06:
|
|
mov r0, #0
|
|
bx lr
|
|
nop
|
|
_0225CA0C: .word gMain + 0x40
|
|
_0225CA10: .word gMain
|
|
thumb_func_end ov27_0225C9F8
|
|
|
|
thumb_func_start ov27_0225CA14
|
|
ov27_0225CA14: ; 0x0225CA14
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #8
|
|
str r1, [r4]
|
|
mov r1, #0xe5
|
|
mov r2, #0
|
|
lsl r1, r1, #2
|
|
str r2, [r4, r1]
|
|
bl ov27_0225C618
|
|
mov r0, #0xe2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
mov r1, #0x85
|
|
mov r2, #0xe5
|
|
lsl r1, r1, #2
|
|
lsl r2, r2, #2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, [r4, r2]
|
|
add r0, r4, #0
|
|
bl ov27_0225CD18
|
|
mov r1, #0xe7
|
|
lsl r1, r1, #2
|
|
ldr r2, [r4, r1]
|
|
cmp r2, #0
|
|
beq _0225CA5A
|
|
add r0, r1, #4
|
|
sub r1, #8
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
blx r2
|
|
_0225CA5A:
|
|
ldr r1, _0225CA64 ; =0x0000EEEE
|
|
ldr r0, [r4, #4]
|
|
strh r1, [r0]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0225CA64: .word 0x0000EEEE
|
|
thumb_func_end ov27_0225CA14
|
|
|
|
thumb_func_start ov27_0225CA68
|
|
ov27_0225CA68: ; 0x0225CA68
|
|
push {r3, r4}
|
|
sub r1, r1, #2
|
|
lsl r4, r1, #2
|
|
ldr r1, _0225CA94 ; =0x0225D480
|
|
ldr r3, [r0]
|
|
ldr r4, [r1, r4]
|
|
lsl r1, r3, #2
|
|
add r1, r4, r1
|
|
ldrsb r2, [r2, r1]
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r2, r1
|
|
beq _0225CA86
|
|
cmp r3, r2
|
|
bne _0225CA8C
|
|
_0225CA86:
|
|
mov r0, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
_0225CA8C:
|
|
str r2, [r0]
|
|
mov r0, #1
|
|
pop {r3, r4}
|
|
bx lr
|
|
.balign 4, 0
|
|
_0225CA94: .word 0x0225D480
|
|
thumb_func_end ov27_0225CA68
|
|
|
|
thumb_func_start ov27_0225CA98
|
|
ov27_0225CA98: ; 0x0225CA98
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x85
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
sub r0, r0, #2
|
|
lsl r1, r0, #2
|
|
ldr r0, _0225CC84 ; =0x0225D49C
|
|
ldr r0, [r0, r1]
|
|
bl sub_02025224
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0225CAF6
|
|
mov r2, #0xe5
|
|
lsl r2, r2, #2
|
|
str r0, [r4, r2]
|
|
mov r1, #0x85
|
|
lsl r1, r1, #2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, [r4, r2]
|
|
add r0, r4, #0
|
|
bl ov27_0225CD18
|
|
ldr r0, _0225CC88 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r0, #9
|
|
mov r1, #0x85
|
|
str r0, [r4]
|
|
lsl r1, r1, #2
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov27_0225CD74
|
|
mov r1, #0xe7
|
|
lsl r1, r1, #2
|
|
ldr r2, [r4, r1]
|
|
cmp r2, #0
|
|
beq _0225CB60
|
|
add r0, r1, #4
|
|
sub r1, #8
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
blx r2
|
|
b _0225CC80
|
|
_0225CAF6:
|
|
ldr r0, _0225CC8C ; =gMain
|
|
mov r1, #0x40
|
|
ldr r0, [r0, #0x48]
|
|
tst r1, r0
|
|
beq _0225CB44
|
|
mov r1, #0x85
|
|
mov r0, #0xe5
|
|
lsl r1, r1, #2
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, r0
|
|
mov r2, #0
|
|
bl ov27_0225CA68
|
|
cmp r0, #0
|
|
beq _0225CB60
|
|
mov r1, #0x85
|
|
mov r2, #0xe5
|
|
lsl r1, r1, #2
|
|
lsl r2, r2, #2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, [r4, r2]
|
|
add r0, r4, #0
|
|
bl ov27_0225CD18
|
|
ldr r0, _0225CC88 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r1, #0xe7
|
|
lsl r1, r1, #2
|
|
ldr r2, [r4, r1]
|
|
cmp r2, #0
|
|
beq _0225CB60
|
|
add r0, r1, #4
|
|
sub r1, #8
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
blx r2
|
|
b _0225CC80
|
|
_0225CB44:
|
|
mov r1, #0x80
|
|
tst r1, r0
|
|
beq _0225CB90
|
|
mov r1, #0x85
|
|
mov r0, #0xe5
|
|
lsl r1, r1, #2
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, r0
|
|
mov r2, #1
|
|
bl ov27_0225CA68
|
|
cmp r0, #0
|
|
bne _0225CB62
|
|
_0225CB60:
|
|
b _0225CC80
|
|
_0225CB62:
|
|
mov r1, #0x85
|
|
mov r2, #0xe5
|
|
lsl r1, r1, #2
|
|
lsl r2, r2, #2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, [r4, r2]
|
|
add r0, r4, #0
|
|
bl ov27_0225CD18
|
|
ldr r0, _0225CC88 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r1, #0xe7
|
|
lsl r1, r1, #2
|
|
ldr r2, [r4, r1]
|
|
cmp r2, #0
|
|
beq _0225CC80
|
|
add r0, r1, #4
|
|
sub r1, #8
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
blx r2
|
|
b _0225CC80
|
|
_0225CB90:
|
|
mov r1, #0x20
|
|
tst r1, r0
|
|
beq _0225CBDA
|
|
mov r1, #0x85
|
|
mov r0, #0xe5
|
|
lsl r1, r1, #2
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, r0
|
|
mov r2, #2
|
|
bl ov27_0225CA68
|
|
cmp r0, #0
|
|
beq _0225CC80
|
|
mov r1, #0x85
|
|
mov r2, #0xe5
|
|
lsl r1, r1, #2
|
|
lsl r2, r2, #2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, [r4, r2]
|
|
add r0, r4, #0
|
|
bl ov27_0225CD18
|
|
ldr r0, _0225CC88 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r1, #0xe7
|
|
lsl r1, r1, #2
|
|
ldr r2, [r4, r1]
|
|
cmp r2, #0
|
|
beq _0225CC80
|
|
add r0, r1, #4
|
|
sub r1, #8
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
blx r2
|
|
b _0225CC80
|
|
_0225CBDA:
|
|
mov r1, #0x10
|
|
tst r1, r0
|
|
beq _0225CC24
|
|
mov r1, #0x85
|
|
mov r0, #0xe5
|
|
lsl r1, r1, #2
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, r0
|
|
mov r2, #3
|
|
bl ov27_0225CA68
|
|
cmp r0, #0
|
|
beq _0225CC80
|
|
mov r1, #0x85
|
|
mov r2, #0xe5
|
|
lsl r1, r1, #2
|
|
lsl r2, r2, #2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, [r4, r2]
|
|
add r0, r4, #0
|
|
bl ov27_0225CD18
|
|
ldr r0, _0225CC88 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r1, #0xe7
|
|
lsl r1, r1, #2
|
|
ldr r2, [r4, r1]
|
|
cmp r2, #0
|
|
beq _0225CC80
|
|
add r0, r1, #4
|
|
sub r1, #8
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
blx r2
|
|
b _0225CC80
|
|
_0225CC24:
|
|
mov r1, #1
|
|
tst r1, r0
|
|
beq _0225CC42
|
|
mov r1, #0x85
|
|
lsl r1, r1, #2
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov27_0225CD74
|
|
mov r0, #9
|
|
str r0, [r4]
|
|
ldr r0, _0225CC88 ; =0x000005DC
|
|
bl PlaySE
|
|
b _0225CC80
|
|
_0225CC42:
|
|
mov r1, #2
|
|
tst r0, r1
|
|
beq _0225CC80
|
|
ldr r0, [r4, #0xc]
|
|
bl ov01_021EF00C
|
|
cmp r0, #0
|
|
beq _0225CC80
|
|
mov r1, #0x85
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
mov r2, #0xe5
|
|
sub r0, r0, #1
|
|
lsl r2, r2, #2
|
|
str r0, [r4, r2]
|
|
ldr r1, [r4, r1]
|
|
ldr r2, [r4, r2]
|
|
add r0, r4, #0
|
|
bl ov27_0225CD18
|
|
mov r1, #0x85
|
|
lsl r1, r1, #2
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov27_0225CD74
|
|
mov r0, #9
|
|
str r0, [r4]
|
|
ldr r0, _0225CC88 ; =0x000005DC
|
|
bl PlaySE
|
|
_0225CC80:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0225CC84: .word 0x0225D49C
|
|
_0225CC88: .word 0x000005DC
|
|
_0225CC8C: .word gMain
|
|
thumb_func_end ov27_0225CA98
|
|
|
|
thumb_func_start ov27_0225CC90
|
|
ov27_0225CC90: ; 0x0225CC90
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xe2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_02024B68
|
|
cmp r0, #0
|
|
bne _0225CCB8
|
|
mov r0, #0xe2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
add r0, r4, #0
|
|
bl ov27_0225C6F8
|
|
mov r0, #0xa
|
|
str r0, [r4]
|
|
_0225CCB8:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov27_0225CC90
|
|
|
|
thumb_func_start ov27_0225CCBC
|
|
ov27_0225CCBC: ; 0x0225CCBC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
bl ov01_021EEF58
|
|
mov r1, #0xe5
|
|
lsl r1, r1, #2
|
|
ldr r1, [r4, r1]
|
|
lsl r1, r1, #3
|
|
add r0, r0, r1
|
|
ldr r1, [r0, #4]
|
|
ldr r0, [r4, #4]
|
|
strh r1, [r0]
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov27_0225CCBC
|
|
|
|
thumb_func_start ov27_0225CCE0
|
|
ov27_0225CCE0: ; 0x0225CCE0
|
|
push {lr}
|
|
sub sp, #0xc
|
|
lsl r2, r1, #2
|
|
ldr r1, _0225CD10 ; =0x0225D118
|
|
ldrh r1, [r1, r2]
|
|
lsl r1, r1, #0xc
|
|
str r1, [sp]
|
|
ldr r1, _0225CD14 ; =0x0225D11A
|
|
ldrh r2, [r1, r2]
|
|
mov r1, #1
|
|
lsl r1, r1, #8
|
|
add r1, r2, r1
|
|
lsl r1, r1, #0xc
|
|
str r1, [sp, #4]
|
|
mov r1, #0
|
|
str r1, [sp, #8]
|
|
mov r1, #0xe2
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
add r1, sp, #0
|
|
bl sub_020247D4
|
|
add sp, #0xc
|
|
pop {pc}
|
|
.balign 4, 0
|
|
_0225CD10: .word 0x0225D118
|
|
_0225CD14: .word 0x0225D11A
|
|
thumb_func_end ov27_0225CCE0
|
|
|
|
thumb_func_start ov27_0225CD18
|
|
ov27_0225CD18: ; 0x0225CD18
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
lsl r0, r2, #1
|
|
sub r3, r1, #2
|
|
add r2, r2, r0
|
|
add r1, r3, #0
|
|
mov r0, #0x18
|
|
mul r1, r0
|
|
ldr r3, _0225CD68 ; =0x0225D3C4
|
|
add r0, #0xe8
|
|
add r3, r3, r1
|
|
ldrb r3, [r2, r3]
|
|
lsl r3, r3, #0xc
|
|
str r3, [sp]
|
|
ldr r3, _0225CD6C ; =0x0225D3C5
|
|
add r3, r3, r1
|
|
ldrb r3, [r2, r3]
|
|
add r0, r3, r0
|
|
lsl r0, r0, #0xc
|
|
ldr r3, _0225CD70 ; =0x0225D3C6
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0xe2
|
|
add r1, r3, r1
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r2, r1]
|
|
ldr r0, [r4, r0]
|
|
bl sub_020248F0
|
|
mov r0, #0xe2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0
|
|
bl sub_020247D4
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_0225CD68: .word 0x0225D3C4
|
|
_0225CD6C: .word 0x0225D3C5
|
|
_0225CD70: .word 0x0225D3C6
|
|
thumb_func_end ov27_0225CD18
|
|
|
|
thumb_func_start ov27_0225CD74
|
|
ov27_0225CD74: ; 0x0225CD74
|
|
mov r2, #0xe2
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0, r2]
|
|
sub r2, r1, #2
|
|
mov r1, #0x18
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
ldr r1, _0225CD8C ; =0x0225D3C6
|
|
ldrb r1, [r1, r3]
|
|
ldr r3, _0225CD90 ; =sub_020248F0
|
|
add r1, r1, #2
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225CD8C: .word 0x0225D3C6
|
|
_0225CD90: .word sub_020248F0
|
|
thumb_func_end ov27_0225CD74
|
|
|
|
thumb_func_start ov27_0225CD94
|
|
ov27_0225CD94: ; 0x0225CD94
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0225CEA0 ; =0x0225D120
|
|
bl sub_02025224
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0225CDFE
|
|
cmp r0, #0
|
|
bne _0225CDD2
|
|
mov r1, #0xe5
|
|
mov r0, #0
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov27_0225CCE0
|
|
mov r0, #0xe2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #3
|
|
bl sub_020248F0
|
|
ldr r0, _0225CEA4 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r0, #5
|
|
str r0, [r4]
|
|
b _0225CE9C
|
|
_0225CDD2:
|
|
cmp r0, #1
|
|
bne _0225CE9C
|
|
mov r1, #0xe5
|
|
mov r0, #1
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov27_0225CCE0
|
|
mov r0, #0xe2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #3
|
|
bl sub_020248F0
|
|
ldr r0, _0225CEA4 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r0, #5
|
|
str r0, [r4]
|
|
b _0225CE9C
|
|
_0225CDFE:
|
|
ldr r0, _0225CEA8 ; =gMain
|
|
mov r1, #0x40
|
|
ldr r0, [r0, #0x48]
|
|
tst r1, r0
|
|
beq _0225CE2A
|
|
mov r0, #0xe5
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _0225CE18
|
|
ldr r0, _0225CEA4 ; =0x000005DC
|
|
bl PlaySE
|
|
_0225CE18:
|
|
mov r1, #0xe5
|
|
mov r0, #0
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov27_0225CCE0
|
|
b _0225CE9C
|
|
_0225CE2A:
|
|
mov r1, #0x80
|
|
tst r1, r0
|
|
beq _0225CE52
|
|
mov r0, #0xe5
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0225CE40
|
|
ldr r0, _0225CEA4 ; =0x000005DC
|
|
bl PlaySE
|
|
_0225CE40:
|
|
mov r1, #0xe5
|
|
mov r0, #1
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov27_0225CCE0
|
|
b _0225CE9C
|
|
_0225CE52:
|
|
mov r2, #1
|
|
add r1, r0, #0
|
|
tst r1, r2
|
|
beq _0225CE72
|
|
mov r0, #0xe2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #3
|
|
bl sub_020248F0
|
|
mov r0, #5
|
|
str r0, [r4]
|
|
ldr r0, _0225CEA4 ; =0x000005DC
|
|
bl PlaySE
|
|
b _0225CE9C
|
|
_0225CE72:
|
|
mov r1, #2
|
|
tst r0, r1
|
|
beq _0225CE9C
|
|
mov r1, #0xe5
|
|
lsl r1, r1, #2
|
|
str r2, [r4, r1]
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov27_0225CCE0
|
|
mov r0, #0xe2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #3
|
|
bl sub_020248F0
|
|
ldr r0, _0225CEA4 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r0, #5
|
|
str r0, [r4]
|
|
_0225CE9C:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0225CEA0: .word 0x0225D120
|
|
_0225CEA4: .word 0x000005DC
|
|
_0225CEA8: .word gMain
|
|
thumb_func_end ov27_0225CD94
|
|
|
|
thumb_func_start ov27_0225CEAC
|
|
ov27_0225CEAC: ; 0x0225CEAC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov27_0225C5E4
|
|
add r0, r4, #0
|
|
bl ov27_0225C9CC
|
|
pop {r4, pc}
|
|
thumb_func_end ov27_0225CEAC
|
|
|
|
.rodata
|
|
|
|
_0225CEBC:
|
|
.byte 0x07, 0x04, 0x02, 0x05
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0F, 0x07, 0x0E, 0x00, 0x03, 0x04, 0x05, 0x00, 0x56, 0x86, 0xB8, 0xFC
|
|
.byte 0x90, 0xBC, 0xA8, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00
|
|
.byte 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x05, 0x00
|
|
.byte 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
|
|
.byte 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00
|
|
.byte 0x65, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0xA0, 0x16, 0x36, 0x10, 0x4C
|
|
.byte 0x3E, 0x5E, 0x10, 0x4C, 0x66, 0x86, 0x10, 0x4C, 0x8E, 0xAE, 0x10, 0x4C, 0x16, 0x36, 0x60, 0x9C
|
|
.byte 0x3E, 0x5E, 0x60, 0x9C, 0x66, 0x86, 0x60, 0x9C, 0x08, 0x27, 0xCB, 0xFF, 0x2E, 0x4D, 0xCB, 0xFF
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x80, 0x15, 0x00, 0x01, 0x80, 0x18, 0x00, 0x02, 0x80
|
|
.byte 0x1E, 0x00, 0x0E, 0x80, 0x21, 0x00, 0x03, 0x80, 0x24, 0x00, 0x04, 0x80, 0x27, 0x00, 0x05, 0x80
|
|
.byte 0x2A, 0x00, 0x08, 0x80, 0x12, 0x00, 0x20, 0x00, 0x12, 0x00, 0x20, 0x00, 0xFF, 0xFF, 0x20, 0x00
|
|
.byte 0x2D, 0x00, 0x22, 0x80, 0x30, 0x00, 0x23, 0x80, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x0D
|
|
.byte 0x07, 0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x08, 0x07, 0x00, 0x01, 0x03, 0x04, 0x06, 0x0A, 0x0D
|
|
.byte 0x07, 0x00, 0x01, 0x03, 0x04, 0x06, 0x09, 0x0D, 0x0B, 0x00, 0x01, 0x02, 0x0C, 0x04, 0x06, 0x0D
|
|
.byte 0x01, 0x02, 0x04, 0x06, 0x0D, 0x0D, 0x0D, 0x0D, 0x01, 0x04, 0x06, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x0D, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0E, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x16, 0x00, 0x18, 0x00, 0x3E, 0x00
|
|
.byte 0x18, 0x00, 0x66, 0x00, 0x18, 0x00, 0x8E, 0x00, 0x68, 0x00, 0x16, 0x00, 0x68, 0x00, 0x3E, 0x00
|
|
.byte 0x68, 0x00, 0x66, 0x00, 0xDC, 0x00, 0x0B, 0x00, 0xDC, 0x00, 0x33, 0x00, 0xC8, 0x00, 0x08, 0x00
|
|
.byte 0xC8, 0x00, 0x30, 0x00, 0xB8, 0x00, 0x56, 0x00, 0xA8, 0x00, 0x90, 0x00, 0xD2, 0x00, 0x5E, 0x00
|
|
.byte 0x36, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x15, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x15, 0x00, 0x00, 0x00, 0x03, 0x02, 0x01, 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00
|
|
.byte 0x00, 0x03, 0x02, 0x02, 0x03, 0x00, 0x05, 0x01, 0x00, 0x05, 0x01, 0x00, 0x01, 0x00, 0x03, 0x03
|
|
.byte 0x00, 0x01, 0x06, 0x02, 0x00, 0x06, 0x02, 0x00, 0x02, 0x01, 0x00, 0x00, 0x01, 0x02, 0x06, 0x03
|
|
.byte 0x00, 0x06, 0x03, 0x00, 0x06, 0x05, 0x04, 0x05, 0x06, 0x04, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00
|
|
.byte 0x04, 0x06, 0x05, 0x06, 0x04, 0x05, 0x01, 0x05, 0x00, 0x01, 0x05, 0x00, 0x05, 0x04, 0x06, 0x04
|
|
.byte 0x05, 0x06, 0x02, 0x06, 0x00, 0x02, 0x06, 0x00, 0x01, 0x00, 0x01, 0x03, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x00, 0x48, 0x00, 0x80, 0x00, 0x78, 0x00
|
|
.byte 0x32, 0x5C, 0x03, 0xFB, 0x63, 0x8C, 0x03, 0xFB, 0xFF, 0x00, 0x00, 0x00, 0x32, 0x5C, 0x03, 0xFB
|
|
.byte 0x63, 0x8C, 0x03, 0xFB, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x02, 0xFF, 0xFF
|
|
.byte 0x01, 0x02, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x02, 0xFF, 0xFF, 0x01, 0x03, 0xFF, 0xFF
|
|
.byte 0x02, 0x03, 0xFF, 0xFF, 0x1B, 0x44, 0x03, 0xFB, 0x4A, 0x73, 0x03, 0xFB, 0x7B, 0xA4, 0x03, 0xFB
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x05, 0x02, 0x08, 0x1C, 0x02, 0x04, 0x80, 0x00, 0x05, 0x02, 0x0E, 0x1C
|
|
.byte 0x02, 0x04, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x01, 0x01, 0x03, 0x00, 0x01, 0x00, 0x04, 0x02, 0x03
|
|
.byte 0x01, 0x04, 0x02, 0x03, 0x03, 0x04, 0xFF, 0xFF, 0x02, 0x2B, 0x03, 0xFB, 0x34, 0x5C, 0x03, 0xFB
|
|
.byte 0x63, 0x8C, 0x03, 0xFB, 0x94, 0xBC, 0x03, 0xFB, 0xFF, 0x00, 0x00, 0x00, 0x19, 0x44, 0x03, 0x7B
|
|
.byte 0x19, 0x44, 0x83, 0xFC, 0x4B, 0x73, 0x03, 0x7B, 0x4B, 0x73, 0x83, 0xFC, 0x7B, 0xA3, 0x83, 0xFC
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x04, 0x02, 0x03
|
|
.byte 0x01, 0x05, 0x02, 0x03, 0x02, 0x04, 0x04, 0x05, 0x03, 0x05, 0x04, 0x05, 0x05, 0x02, 0x05, 0x1C
|
|
.byte 0x02, 0x04, 0x80, 0x00, 0x05, 0x02, 0x0B, 0x1C, 0x02, 0x04, 0xB8, 0x00, 0x05, 0x02, 0x11, 0x1C
|
|
.byte 0x02, 0x04, 0xF0, 0x00, 0x19, 0x44, 0x03, 0x7B, 0x19, 0x44, 0x83, 0xFC, 0x4B, 0x73, 0x03, 0x7B
|
|
.byte 0x4B, 0x73, 0x83, 0xFC, 0x7B, 0xA3, 0x03, 0x7B, 0x7B, 0xA3, 0x83, 0xFC, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x02, 0x00, 0x01, 0x01, 0x03, 0x00, 0x01, 0x00, 0x04, 0x02, 0x03, 0x01, 0x05, 0x02, 0x03
|
|
.byte 0x02, 0x06, 0x04, 0x05, 0x03, 0x06, 0x04, 0x05, 0x05, 0x06, 0xFF, 0xFF, 0x03, 0x2C, 0x03, 0x7B
|
|
.byte 0x03, 0x2C, 0x83, 0xFC, 0x33, 0x5B, 0x03, 0x7B, 0x33, 0x5B, 0x83, 0xFC, 0x64, 0x8B, 0x03, 0x7B
|
|
.byte 0x64, 0x8B, 0x83, 0xFC, 0x93, 0xBC, 0x83, 0xFC, 0xFF, 0x00, 0x00, 0x00, 0x05, 0x02, 0x02, 0x1C
|
|
.byte 0x02, 0x04, 0x80, 0x00, 0x05, 0x02, 0x08, 0x1C, 0x02, 0x04, 0xB8, 0x00, 0x05, 0x02, 0x0E, 0x1C
|
|
.byte 0x02, 0x04, 0xF0, 0x00, 0x05, 0x02, 0x14, 0x1C, 0x02, 0x04, 0x28, 0x01, 0x00, 0x02, 0x00, 0x01
|
|
.byte 0x00, 0x03, 0x00, 0x01, 0x00, 0x04, 0x02, 0x03, 0x01, 0x05, 0x02, 0x03, 0x02, 0x06, 0x04, 0x05
|
|
.byte 0x03, 0x07, 0x04, 0x05, 0x04, 0x06, 0x06, 0x07, 0x05, 0x07, 0x06, 0x07, 0x03, 0x2C, 0x03, 0x7B
|
|
.byte 0x03, 0x2C, 0x83, 0xFC, 0x33, 0x5B, 0x03, 0x7B, 0x33, 0x5B, 0x83, 0xFC, 0x64, 0x8B, 0x03, 0x7B
|
|
.byte 0x64, 0x8B, 0x83, 0xFC, 0x93, 0xBC, 0x03, 0x7B, 0x93, 0xBC, 0x83, 0xFC, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x02, 0x04, 0x0D, 0x04, 0x04, 0x80, 0x00, 0x05, 0x12, 0x04, 0x0D, 0x04, 0x04, 0xB4, 0x00
|
|
.byte 0x05, 0x02, 0x0A, 0x0D, 0x04, 0x04, 0xE8, 0x00, 0x05, 0x12, 0x0A, 0x0D, 0x04, 0x04, 0x1C, 0x01
|
|
.byte 0x05, 0x12, 0x10, 0x0D, 0x04, 0x04, 0x50, 0x01, 0x05, 0x02, 0x04, 0x0C, 0x04, 0x04, 0x80, 0x00
|
|
.byte 0x05, 0x12, 0x04, 0x0C, 0x04, 0x04, 0xB0, 0x00, 0x05, 0x02, 0x0A, 0x0C, 0x04, 0x04, 0xE0, 0x00
|
|
.byte 0x05, 0x12, 0x0A, 0x0C, 0x04, 0x04, 0x10, 0x01, 0x05, 0x02, 0x10, 0x0C, 0x04, 0x04, 0x40, 0x01
|
|
.byte 0x05, 0x12, 0x10, 0x0C, 0x04, 0x04, 0x70, 0x01, 0x05, 0x02, 0x01, 0x0C, 0x04, 0x04, 0x80, 0x00
|
|
.byte 0x05, 0x12, 0x01, 0x0C, 0x04, 0x04, 0xB0, 0x00, 0x05, 0x02, 0x07, 0x0C, 0x04, 0x04, 0xE0, 0x00
|
|
.byte 0x05, 0x12, 0x07, 0x0C, 0x04, 0x04, 0x10, 0x01, 0x05, 0x02, 0x0D, 0x0C, 0x04, 0x04, 0x40, 0x01
|
|
.byte 0x05, 0x12, 0x0D, 0x0C, 0x04, 0x04, 0x70, 0x01, 0x05, 0x12, 0x13, 0x0C, 0x04, 0x04, 0xA0, 0x01
|
|
.byte 0x05, 0x02, 0x01, 0x0C, 0x04, 0x04, 0x80, 0x00, 0x05, 0x12, 0x01, 0x0C, 0x04, 0x04, 0xB0, 0x00
|
|
.byte 0x05, 0x02, 0x07, 0x0C, 0x04, 0x04, 0xE0, 0x00, 0x05, 0x12, 0x07, 0x0C, 0x04, 0x04, 0x10, 0x01
|
|
.byte 0x05, 0x02, 0x0D, 0x0C, 0x04, 0x04, 0x40, 0x01, 0x05, 0x12, 0x0D, 0x0C, 0x04, 0x04, 0x70, 0x01
|
|
.byte 0x05, 0x02, 0x13, 0x0C, 0x04, 0x04, 0xA0, 0x01, 0x05, 0x12, 0x13, 0x0C, 0x04, 0x04, 0xD0, 0x01
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x0D, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0E, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0C, 0x01, 0x00, 0x02, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x48, 0x01, 0x80, 0x78, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x30, 0x01, 0x80
|
|
.byte 0x60, 0x01, 0x80, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x18, 0x01, 0x80, 0x48, 0x01, 0x80, 0x78, 0x01, 0x80, 0xA8, 0x01
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x30, 0x00, 0xC0
|
|
.byte 0x30, 0x00, 0x40, 0x60, 0x00, 0xC0, 0x60, 0x00, 0xC0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x30, 0x00, 0xC0, 0x30, 0x00, 0x40, 0x60, 0x00, 0xC0, 0x60, 0x00
|
|
.byte 0x40, 0x90, 0x00, 0xC0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x18, 0x00, 0xC0
|
|
.byte 0x18, 0x00, 0x40, 0x48, 0x00, 0xC0, 0x48, 0x00, 0x40, 0x78, 0x00, 0xC0, 0x78, 0x00, 0xC0, 0xA8
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x18, 0x00, 0xC0, 0x18, 0x00, 0x40, 0x48, 0x00, 0xC0, 0x48, 0x00
|
|
.byte 0x40, 0x78, 0x00, 0xC0, 0x78, 0x00, 0x40, 0xA8, 0x00, 0xC0, 0xA8, 0x00
|
|
|
|
.data
|
|
|
|
_0225D480:
|
|
.byte 0x10, 0xD1, 0x25, 0x02, 0x38, 0xD1, 0x25, 0x02, 0x44, 0xD1, 0x25, 0x02, 0x74, 0xD1, 0x25, 0x02
|
|
.byte 0xB4, 0xD1, 0x25, 0x02, 0x00, 0xD2, 0x25, 0x02, 0x5C, 0xD2, 0x25, 0x02, 0x2C, 0xD1, 0x25, 0x02
|
|
.byte 0x54, 0xD1, 0x25, 0x02, 0x88, 0xD1, 0x25, 0x02, 0x9C, 0xD1, 0x25, 0x02, 0xE4, 0xD1, 0x25, 0x02
|
|
.byte 0x1C, 0xD2, 0x25, 0x02, 0x7C, 0xD2, 0x25, 0x02, 0x64, 0xD1, 0x25, 0x02, 0xCC, 0xD1, 0x25, 0x02
|
|
.byte 0x3C, 0xD2, 0x25, 0x02, 0xA0, 0xD2, 0x25, 0x02, 0xC8, 0xD2, 0x25, 0x02, 0xF8, 0xD2, 0x25, 0x02
|
|
.byte 0x30, 0xD3, 0x25, 0x02, 0x45, 0xC9, 0x25, 0x02, 0xF9, 0xC9, 0x25, 0x02, 0xE5, 0xC9, 0x25, 0x02
|
|
.byte 0x4D, 0xC9, 0x25, 0x02, 0x89, 0xC9, 0x25, 0x02, 0x95, 0xC9, 0x25, 0x02, 0xCD, 0xC9, 0x25, 0x02
|
|
.byte 0x15, 0xCA, 0x25, 0x02, 0x99, 0xCA, 0x25, 0x02, 0x91, 0xCC, 0x25, 0x02, 0xBD, 0xCC, 0x25, 0x02
|
|
.byte 0xAD, 0xCE, 0x25, 0x02, 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
|