pokeheartgold/asm/overlay_27.s
2021-09-06 09:41:18 -04:00

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