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

37246 lines
668 KiB
ArmAsm

.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start ov14_021E5900
ov14_021E5900: ; 0x021E5900
push {r3, r4, r5, lr}
mov r2, #1
add r5, r0, #0
mov r0, #3
mov r1, #9
lsl r2, r2, #0x10
bl sub_0201A910
add r0, r5, #0
mov r1, #0x38
mov r2, #9
bl sub_02007280
mov r1, #0
mov r2, #0x38
add r4, r0, #0
bl MIi_CpuFill8
add r0, r5, #0
bl sub_020072A4
str r0, [r4]
ldr r0, [r0]
bl sub_020270D8
str r0, [r4, #4]
bl sub_02073D4C
strb r0, [r4, #0x1f]
ldr r0, [r4]
ldr r0, [r0]
bl SavArray_PlayerParty_get
str r0, [r4, #8]
ldr r0, [r4]
ldr r0, [r0]
bl sub_0207879C
str r0, [r4, #0xc]
ldr r0, [r4]
ldr r0, [r0]
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #0x10]
add r0, r4, #0
mov r1, #0xff
add r0, #0x21
strb r1, [r0]
mov r0, #0
str r0, [r4, #0x2c]
mov r0, #0xb
str r0, [r4, #0x30]
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end ov14_021E5900
thumb_func_start ov14_021E596C
ov14_021E596C: ; 0x021E596C
push {r4, lr}
add r4, r1, #0
bl sub_02007290
add r1, r4, #0
bl ov14_021EAF8C
cmp r0, #0
bne _021E5982
mov r0, #1
pop {r4, pc}
_021E5982:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021E596C
thumb_func_start ov14_021E5988
ov14_021E5988: ; 0x021E5988
push {r4, lr}
add r4, r0, #0
bl sub_02007290
add r1, r0, #0
ldr r0, [r1, #4]
ldrb r1, [r1, #0x1f]
bl sub_02073E84
add r0, r4, #0
bl sub_02007294
mov r0, #9
bl sub_0201A9C4
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021E5988
thumb_func_start ov14_021E59AC
ov14_021E59AC: ; 0x021E59AC
push {r4, lr}
add r4, r1, #0
ldr r0, [r4, #0x34]
ldr r1, [r0, #4]
cmp r1, #0
beq _021E59C6
add r0, r4, #0
blx r1
cmp r0, #0
bne _021E59C6
ldr r0, [r4, #0x34]
mov r1, #0
str r1, [r0, #4]
_021E59C6:
add r0, r4, #0
bl ov14_021E5A14
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x18]
bl sub_0200398C
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x14]
bl sub_0201EEB4
ldr r0, [r4, #0x34]
bl ov14_021F29C4
ldr r1, [r4, #0x34]
ldr r0, _021E5A08 ; =0x000088D2
ldrh r0, [r1, r0]
cmp r0, #0
bne _021E59FA
mov r0, #0xbe
lsl r0, r0, #2
ldr r0, [r1, r0]
bl sub_0200D020
bl sub_0200D034
_021E59FA:
ldr r3, _021E5A0C ; =0x027E0000
ldr r1, _021E5A10 ; =0x00003FF8
mov r0, #1
ldr r2, [r3, r1]
orr r0, r2
str r0, [r3, r1]
pop {r4, pc}
.balign 4, 0
_021E5A08: .word 0x000088D2
_021E5A0C: .word 0x027E0000
_021E5A10: .word 0x00003FF8
thumb_func_end ov14_021E59AC
thumb_func_start ov14_021E5A14
ov14_021E5A14: ; 0x021E5A14
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
ldr r1, [r4, #0x34]
ldr r0, [r0, #8]
cmp r0, #3
beq _021E5A30
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0x10
bl sub_02019978
pop {r4, pc}
_021E5A30:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0x10
bl sub_02019978
ldr r0, [r4, #0x34]
bl ov14_021F3BC0
pop {r4, pc}
thumb_func_end ov14_021E5A14
thumb_func_start ov14_021E5A44
ov14_021E5A44: ; 0x021E5A44
mov r2, #0
strh r2, [r0, #0x10]
strh r2, [r0, #0x12]
str r1, [r0, #4]
str r2, [r0, #8]
bx lr
thumb_func_end ov14_021E5A44
thumb_func_start ov14_021E5A50
ov14_021E5A50: ; 0x021E5A50
str r1, [r0, #8]
bx lr
thumb_func_end ov14_021E5A50
thumb_func_start ov14_021E5A54
ov14_021E5A54: ; 0x021E5A54
ldr r3, _021E5A5C ; =ov14_021E5A44
ldr r1, [r0, #8]
bx r3
nop
_021E5A5C: .word ov14_021E5A44
thumb_func_end ov14_021E5A54
thumb_func_start ov14_021E5A60
ov14_021E5A60: ; 0x021E5A60
ldr r3, _021E5A68 ; =GX_SetBanks
ldr r0, _021E5A6C ; =0x021F7CE4
bx r3
nop
_021E5A68: .word GX_SetBanks
_021E5A6C: .word 0x021F7CE4
thumb_func_end ov14_021E5A60
thumb_func_start ov14_021E5A70
ov14_021E5A70: ; 0x021E5A70
push {r4, r5, lr}
sub sp, #0xd4
add r4, r0, #0
mov r0, #0xa
bl sub_0201AC88
ldr r1, [r4, #0x34]
add r3, sp, #0xc4
ldr r5, _021E5BE0 ; =0x021F7BC8
str r0, [r1, #0x14]
add r2, r3, #0
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
add r0, r2, #0
bl sub_0201ACB0
ldr r5, _021E5BE4 ; =0x021F7C20
add r3, sp, #0xa8
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #0
str r0, [r3]
ldr r0, [r4, #0x34]
add r3, r1, #0
ldr r0, [r0, #0x14]
bl sub_0201B1E4
ldr r0, [r4, #0x34]
mov r1, #0
ldr r0, [r0, #0x14]
bl sub_0201CAE0
mov r0, #0
mov r1, #0x20
add r2, r0, #0
mov r3, #0xa
bl sub_0201C1C4
ldr r5, _021E5BE8 ; =0x021F7C3C
add r3, sp, #0x8c
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #1
str r0, [r3]
ldr r0, [r4, #0x34]
mov r3, #0
ldr r0, [r0, #0x14]
bl sub_0201B1E4
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x14]
bl sub_0201CAE0
mov r0, #1
mov r1, #0x20
mov r2, #0
mov r3, #0xa
bl sub_0201C1C4
ldr r5, _021E5BEC ; =0x021F7C74
add r3, sp, #0x70
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
str r0, [r3]
ldr r0, [r4, #0x34]
mov r1, #2
ldr r0, [r0, #0x14]
mov r3, #0
bl sub_0201B1E4
ldr r5, _021E5BF0 ; =0x021F7C90
add r3, sp, #0x54
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #3
str r0, [r3]
ldr r0, [r4, #0x34]
mov r3, #0
ldr r0, [r0, #0x14]
bl sub_0201B1E4
ldr r5, _021E5BF4 ; =0x021F7C58
add r3, sp, #0x38
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #4
str r0, [r3]
ldr r0, [r4, #0x34]
mov r3, #0
ldr r0, [r0, #0x14]
bl sub_0201B1E4
ldr r0, [r4, #0x34]
mov r1, #4
ldr r0, [r0, #0x14]
bl sub_0201CAE0
mov r0, #4
mov r1, #0x20
mov r2, #0
mov r3, #0xa
bl sub_0201C1C4
ldr r5, _021E5BF8 ; =0x021F7CAC
add r3, sp, #0x1c
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #5
str r0, [r3]
ldr r0, [r4, #0x34]
mov r3, #0
ldr r0, [r0, #0x14]
bl sub_0201B1E4
ldr r5, _021E5BFC ; =0x021F7CC8
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #6
str r0, [r3]
ldr r0, [r4, #0x34]
mov r3, #0
ldr r0, [r0, #0x14]
bl sub_0201B1E4
ldr r0, [r4, #0x34]
mov r1, #6
ldr r0, [r0, #0x14]
bl sub_0201CAE0
mov r0, #6
mov r1, #0x20
mov r2, #0
mov r3, #0xa
bl sub_0201C1C4
add sp, #0xd4
pop {r4, r5, pc}
nop
_021E5BE0: .word 0x021F7BC8
_021E5BE4: .word 0x021F7C20
_021E5BE8: .word 0x021F7C3C
_021E5BEC: .word 0x021F7C74
_021E5BF0: .word 0x021F7C90
_021E5BF4: .word 0x021F7C58
_021E5BF8: .word 0x021F7CAC
_021E5BFC: .word 0x021F7CC8
thumb_func_end ov14_021E5A70
thumb_func_start ov14_021E5C00
ov14_021E5C00: ; 0x021E5C00
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #6
ldr r0, [r0, #0x14]
bl sub_0201BB4C
ldr r0, [r4, #0x34]
mov r1, #5
ldr r0, [r0, #0x14]
bl sub_0201BB4C
ldr r0, [r4, #0x34]
mov r1, #4
ldr r0, [r0, #0x14]
bl sub_0201BB4C
ldr r0, [r4, #0x34]
mov r1, #3
ldr r0, [r0, #0x14]
bl sub_0201BB4C
ldr r0, [r4, #0x34]
mov r1, #2
ldr r0, [r0, #0x14]
bl sub_0201BB4C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x14]
bl sub_0201BB4C
ldr r0, [r4, #0x34]
mov r1, #0
ldr r0, [r0, #0x14]
bl sub_0201BB4C
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x14]
bl FreeToHeap
pop {r4, pc}
thumb_func_end ov14_021E5C00
thumb_func_start ov14_021E5C54
ov14_021E5C54: ; 0x021E5C54
push {r4, lr}
sub sp, #0x10
mov r3, #0
str r3, [sp]
add r4, r0, #0
str r3, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0xa
str r0, [sp, #0xc]
ldr r2, [r4, #0x34]
mov r0, #0x13
ldr r2, [r2, #0x14]
mov r1, #0xe
bl GfGfxLoader_LoadCharData
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0xa
str r0, [sp, #0xc]
ldr r2, [r4, #0x34]
mov r0, #0x13
ldr r2, [r2, #0x14]
mov r1, #0xe
bl GfGfxLoader_LoadCharData
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0xa
str r0, [sp, #0xc]
ldr r2, [r4, #0x34]
mov r0, #0x13
ldr r2, [r2, #0x14]
mov r1, #3
mov r3, #2
bl GfGfxLoader_LoadCharData
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0xa
str r0, [sp, #0xc]
ldr r2, [r4, #0x34]
mov r1, #2
ldr r2, [r2, #0x14]
mov r0, #0x13
add r3, r1, #0
bl GfGfxLoader_LoadScrnData
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r1, #1
str r1, [sp, #8]
mov r0, #0xa
str r0, [sp, #0xc]
ldr r2, [r4, #0x34]
mov r0, #0x13
ldr r2, [r2, #0x14]
mov r3, #3
bl GfGfxLoader_LoadCharData
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0xa
str r0, [sp, #0xc]
ldr r2, [r4, #0x34]
mov r0, #0x13
ldr r2, [r2, #0x14]
mov r3, #3
bl GfGfxLoader_LoadScrnData
mov r0, #0x80
str r0, [sp]
mov r0, #0xa
mov r2, #0
str r0, [sp, #4]
mov r0, #0x13
mov r1, #4
add r3, r2, #0
bl GfGfxLoader_GXLoadPal
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0xa
str r0, [sp, #0xc]
ldr r2, [r4, #0x34]
mov r0, #0x13
ldr r2, [r2, #0x14]
mov r1, #6
mov r3, #5
bl GfGfxLoader_LoadCharData
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0xa
str r0, [sp, #0xc]
ldr r2, [r4, #0x34]
mov r1, #5
ldr r2, [r2, #0x14]
mov r0, #0x13
add r3, r1, #0
bl GfGfxLoader_LoadScrnData
mov r3, #0
str r3, [sp]
mov r0, #0xa
str r0, [sp, #4]
mov r0, #0x13
mov r1, #7
mov r2, #4
bl GfGfxLoader_GXLoadPal
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0xa
str r0, [sp, #0xc]
ldr r2, [r4, #0x34]
mov r1, #6
ldr r2, [r2, #0x14]
mov r0, #0x13
add r3, r1, #0
bl GfGfxLoader_LoadCharData
add sp, #0x10
pop {r4, pc}
thumb_func_end ov14_021E5C54
thumb_func_start ov14_021E5D78
ov14_021E5D78: ; 0x021E5D78
push {r4, lr}
add r4, r0, #0
mov r0, #0
mov r1, #0x1b
mov r2, #0x18
mov r3, #0xa
bl NewMsgDataFromNarc
ldr r1, [r4, #0x34]
mov r2, #0
str r0, [r1, #0x20]
mov r0, #1
mov r1, #2
mov r3, #0xa
bl MessagePrinter_new
ldr r1, [r4, #0x34]
str r0, [r1, #0x1c]
mov r0, #0xa
bl ScrStrBufs_new
ldr r1, [r4, #0x34]
str r0, [r1, #0x24]
mov r0, #1
lsl r0, r0, #0xa
mov r1, #0xa
bl String_ctor
ldr r1, [r4, #0x34]
str r0, [r1, #0x28]
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021E5D78
thumb_func_start ov14_021E5DB8
ov14_021E5DB8: ; 0x021E5DB8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x28]
bl String_dtor
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x24]
bl ScrStrBufs_delete
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x1c]
bl MessagePrinter_delete
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x20]
bl DestroyMsgData
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021E5DB8
thumb_func_start ov14_021E5DE0
ov14_021E5DE0: ; 0x021E5DE0
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
mov r0, #0xfa
ldr r4, [r5, #0x34]
lsl r0, r0, #2
str r0, [sp]
sub r0, #0xe8
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0xa
str r0, [sp, #0xc]
ldr r2, [r4, #0x14]
mov r0, #0x13
mov r1, #0x40
mov r3, #0
bl GfGfxLoader_LoadCharData
mov r0, #0xfa
lsl r0, r0, #2
str r0, [sp]
sub r0, #0xe8
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0xa
str r0, [sp, #0xc]
ldr r2, [r4, #0x14]
mov r0, #0x13
mov r1, #0x40
bl GfGfxLoader_LoadCharData
mov r0, #0x40
str r0, [sp]
mov r0, #0xa
mov r3, #6
str r0, [sp, #4]
mov r0, #0x13
mov r1, #0x41
mov r2, #0
lsl r3, r3, #6
bl GfGfxLoader_GXLoadPal
ldr r0, [r5, #0x10]
bl sub_0202ADCC
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r3, #0xa
str r3, [sp, #4]
ldr r0, [r4, #0x14]
ldr r2, _021E5E70 ; =0x0000038E
mov r1, #0
bl sub_0200E644
mov r1, #0x16
mov r0, #0
lsl r1, r1, #4
mov r2, #0xa
bl sub_0200304C
mov r1, #0x1e
mov r0, #4
lsl r1, r1, #4
mov r2, #0xa
bl sub_02003030
add sp, #0x10
pop {r3, r4, r5, pc}
nop
_021E5E70: .word 0x0000038E
thumb_func_end ov14_021E5DE0
thumb_func_start ov14_021E5E74
ov14_021E5E74: ; 0x021E5E74
push {r4, lr}
add r4, r0, #0
mov r0, #0xa
bl sub_020030E8
ldr r1, [r4, #0x34]
mov r2, #2
str r0, [r1, #0x18]
ldr r0, [r4, #0x34]
mov r1, #0
ldr r0, [r0, #0x18]
lsl r2, r2, #8
mov r3, #0xa
bl PaletteData_AllocBuffers
pop {r4, pc}
thumb_func_end ov14_021E5E74
thumb_func_start ov14_021E5E94
ov14_021E5E94: ; 0x021E5E94
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0
ldr r0, [r0, #0x18]
bl PaletteData_FreeBuffers
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x18]
bl sub_02003104
pop {r4, pc}
thumb_func_end ov14_021E5E94
thumb_func_start ov14_021E5EAC
ov14_021E5EAC: ; 0x021E5EAC
push {r3, lr}
cmp r0, #1
bne _021E5EC4
mov r0, #0xa
str r0, [sp]
ldr r0, _021E5ECC ; =0x04000050
mov r1, #0
mov r2, #0x2a
mov r3, #6
bl sub_020CF15C
pop {r3, pc}
_021E5EC4:
ldr r0, _021E5ECC ; =0x04000050
mov r1, #0
strh r1, [r0]
pop {r3, pc}
.balign 4, 0
_021E5ECC: .word 0x04000050
thumb_func_end ov14_021E5EAC
thumb_func_start ov14_021E5ED0
ov14_021E5ED0: ; 0x021E5ED0
push {r4, lr}
add r4, r0, #0
mov r0, #0xa
bl sub_0201660C
ldr r2, [r4, #0x34]
ldr r1, _021E5EE4 ; =0x00000434
str r0, [r2, r1]
pop {r4, pc}
nop
_021E5EE4: .word 0x00000434
thumb_func_end ov14_021E5ED0
thumb_func_start ov14_021E5EE8
ov14_021E5EE8: ; 0x021E5EE8
ldr r1, [r0, #0x34]
ldr r0, _021E5EF4 ; =0x00000434
ldr r3, _021E5EF8 ; =sub_02016624
ldr r0, [r1, r0]
bx r3
nop
_021E5EF4: .word 0x00000434
_021E5EF8: .word sub_02016624
thumb_func_end ov14_021E5EE8
thumb_func_start ov14_021E5EFC
ov14_021E5EFC: ; 0x021E5EFC
push {r3, r4, r5, r6, lr}
sub sp, #0x14
ldr r2, [r0, #0x34]
mov r4, #0xeb
ldr r2, [r2, #0x14]
mov r5, #0
str r2, [sp]
lsl r4, r4, #2
mov r2, #8
str r4, [sp, #8]
str r2, [sp, #0xc]
str r5, [sp, #4]
mov r3, #0x19
add r2, sp, #0
strb r3, [r2, #0x10]
mov r3, #0xc
strb r3, [r2, #0x11]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
lsl r1, r1, #0x1c
ldrb r6, [r2, #0x12]
mov r3, #0xf
lsr r1, r1, #0x18
bic r6, r3
strb r6, [r2, #0x12]
ldrb r3, [r2, #0x12]
mov r6, #0xf0
add r4, #0x88
bic r3, r6
orr r1, r3
strb r1, [r2, #0x12]
strb r5, [r2, #0x13]
ldr r0, [r0, #0x34]
add r1, sp, #0
ldr r0, [r0, r4]
bl sub_020166FC
add sp, #0x14
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov14_021E5EFC
thumb_func_start ov14_021E5F4C
ov14_021E5F4C: ; 0x021E5F4C
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r1, _021E6044 ; =0x000088D4
add r4, r0, r1
ldrb r1, [r4, #2]
cmp r1, #0
beq _021E5F68
cmp r1, #1
beq _021E5FC0
cmp r1, #2
beq _021E602C
b _021E603E
_021E5F68:
ldrb r1, [r4]
lsl r2, r1, #0x1f
lsr r2, r2, #0x1f
bne _021E5F8A
lsl r1, r1, #0x18
lsr r1, r1, #0x19
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
ldrb r1, [r4, #1]
lsl r1, r1, #0x1c
lsr r1, r1, #0x1c
bl sub_0200DD10
b _021E5FB8
_021E5F8A:
ldrb r1, [r4, #6]
str r1, [sp]
ldrb r1, [r4, #7]
str r1, [sp, #4]
ldrb r1, [r4, #1]
lsl r1, r1, #0x1c
lsr r1, r1, #0x1c
str r1, [sp, #8]
ldrb r1, [r4]
ldrb r2, [r4, #4]
ldrb r3, [r4, #5]
lsl r1, r1, #0x18
ldr r0, [r0, #0x14]
lsr r1, r1, #0x19
bl sub_0201CA4C
ldrb r1, [r4]
ldr r0, [r5, #0x34]
lsl r1, r1, #0x18
ldr r0, [r0, #0x14]
lsr r1, r1, #0x19
bl ScheduleBgTilemapBufferTransfer
_021E5FB8:
ldrb r0, [r4, #2]
add r0, r0, #1
strb r0, [r4, #2]
b _021E603E
_021E5FC0:
ldrb r0, [r4, #3]
add r0, r0, #1
strb r0, [r4, #3]
ldrb r0, [r4, #3]
cmp r0, #4
bne _021E603E
ldrb r0, [r4]
lsl r1, r0, #0x1f
lsr r1, r1, #0x1f
bne _021E5FF0
lsl r0, r0, #0x18
lsr r0, r0, #0x19
ldr r1, [r5, #0x34]
lsl r0, r0, #2
add r1, r1, r0
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
ldrb r1, [r4, #1]
lsl r1, r1, #0x18
lsr r1, r1, #0x1c
bl sub_0200DD10
b _021E6020
_021E5FF0:
ldrb r0, [r4, #6]
str r0, [sp]
ldrb r0, [r4, #7]
str r0, [sp, #4]
ldrb r0, [r4, #1]
lsl r0, r0, #0x18
lsr r0, r0, #0x1c
str r0, [sp, #8]
ldrb r1, [r4]
ldr r0, [r5, #0x34]
ldrb r2, [r4, #4]
lsl r1, r1, #0x18
ldrb r3, [r4, #5]
ldr r0, [r0, #0x14]
lsr r1, r1, #0x19
bl sub_0201CA4C
ldrb r1, [r4]
ldr r0, [r5, #0x34]
lsl r1, r1, #0x18
ldr r0, [r0, #0x14]
lsr r1, r1, #0x19
bl ScheduleBgTilemapBufferTransfer
_021E6020:
mov r0, #0
strb r0, [r4, #3]
ldrb r0, [r4, #2]
add r0, r0, #1
strb r0, [r4, #2]
b _021E603E
_021E602C:
ldrb r0, [r4, #3]
add r0, r0, #1
strb r0, [r4, #3]
ldrb r0, [r4, #3]
cmp r0, #2
bne _021E603E
add sp, #0xc
mov r0, #0
pop {r4, r5, pc}
_021E603E:
mov r0, #1
add sp, #0xc
pop {r4, r5, pc}
.balign 4, 0
_021E6044: .word 0x000088D4
thumb_func_end ov14_021E5F4C
thumb_func_start ov14_021E6048
ov14_021E6048: ; 0x021E6048
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F90
cmp r0, #1
ldr r0, [r4]
bne _021E6064
ldr r0, [r0, #4]
mov r1, #0
bl sub_02018410
pop {r4, pc}
_021E6064:
ldr r0, [r0, #4]
mov r1, #1
bl sub_02018410
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021E6048
thumb_func_start ov14_021E6070
ov14_021E6070: ; 0x021E6070
push {r4, r5, r6, lr}
add r6, r1, #0
ldrb r1, [r0, #0x1f]
add r5, r2, #0
add r2, r6, #0
add r4, r3, #0
bl ov14_021E60C0
cmp r0, #0
bne _021E6088
mov r0, #0
pop {r4, r5, r6, pc}
_021E6088:
add r1, r5, #0
add r2, r4, #0
bl GetBoxMonData
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov14_021E6070
thumb_func_start ov14_021E6094
ov14_021E6094: ; 0x021E6094
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r4, r1, #0
ldrb r1, [r5, #0x1f]
add r6, r2, #0
add r2, r4, #0
add r7, r3, #0
bl ov14_021E60C0
cmp r0, #0
beq _021E60BE
add r1, r6, #0
add r2, r7, #0
bl sub_0206ED70
cmp r4, #0x1e
bhs _021E60BE
ldrb r1, [r5, #0x1f]
ldr r0, [r5, #4]
bl sub_020740D8
_021E60BE:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov14_021E6094
thumb_func_start ov14_021E60C0
ov14_021E60C0: ; 0x021E60C0
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r2, #0
cmp r1, #0xff
beq _021E60CE
cmp r4, #0x1e
blo _021E60F0
_021E60CE:
cmp r4, #0x1e
blo _021E60D4
sub r4, #0x1e
_021E60D4:
ldr r0, [r5, #8]
bl GetPartyCount
cmp r0, r4
bls _021E60EC
ldr r0, [r5, #8]
add r1, r4, #0
bl GetPartyMonByIndex
bl sub_02070DB0
pop {r3, r4, r5, pc}
_021E60EC:
mov r0, #0
pop {r3, r4, r5, pc}
_021E60F0:
cmp r4, #0xff
bne _021E60F8
mov r0, #0
pop {r3, r4, r5, pc}
_021E60F8:
ldr r0, [r5, #4]
bl sub_02074058
pop {r3, r4, r5, pc}
thumb_func_end ov14_021E60C0
thumb_func_start ov14_021E6100
ov14_021E6100: ; 0x021E6100
push {r3, lr}
cmp r2, #0x1e
bhs _021E610E
ldr r0, [r0, #4]
bl sub_02073D10
pop {r3, pc}
_021E610E:
sub r2, #0x1e
ldr r0, [r0, #8]
add r1, r2, #0
bl sub_0207456C
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E6100
thumb_func_start ov14_021E611C
ov14_021E611C: ; 0x021E611C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
add r4, r2, #0
ldrb r1, [r5, #0x1f]
ldr r2, [r6, #4]
bl ov14_021E60C0
ldr r1, [r6]
bl sub_02071780
ldr r7, [r4, #4]
ldr r0, [r5, #8]
sub r7, #0x1e
add r1, r7, #0
bl GetPartyMonByIndex
ldr r1, [r4]
bl sub_0207188C
mov r1, #0
add r0, sp, #0
strb r1, [r0]
ldr r0, [r4]
mov r1, #0xbb
add r2, sp, #0
bl sub_0206EC40
ldr r0, [r5, #8]
ldr r2, [r6]
add r1, r7, #0
bl sub_02074740
ldr r0, [r4]
bl sub_02070DB0
add r3, r0, #0
ldrb r1, [r5, #0x1f]
ldr r0, [r5, #4]
ldr r2, [r4, #8]
bl sub_02073C6C
ldrb r1, [r5, #0x1f]
add r0, r5, #0
bl ov14_021F4958
ldrb r1, [r5, #0x1f]
add r0, r5, #0
bl ov14_021F4A20
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021E611C
thumb_func_start ov14_021E6184
ov14_021E6184: ; 0x021E6184
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
ldrb r1, [r5, #0x1f]
ldr r2, [r4, #4]
bl ov14_021E60C0
ldr r1, [r4]
bl sub_02071780
ldr r0, [r5, #8]
ldr r1, [r4]
bl sub_02074524
ldrb r1, [r5, #0x1f]
ldr r2, [r4, #4]
add r0, r5, #0
bl ov14_021E6100
ldrb r1, [r5, #0x1f]
add r0, r5, #0
bl ov14_021F4958
ldrb r1, [r5, #0x1f]
add r0, r5, #0
bl ov14_021F4A20
pop {r3, r4, r5, pc}
thumb_func_end ov14_021E6184
thumb_func_start ov14_021E61BC
ov14_021E61BC: ; 0x021E61BC
push {r3, r4, r5, r6, lr}
sub sp, #4
add r4, r1, #0
add r5, r0, #0
ldr r1, [r4, #4]
ldr r0, [r5, #8]
sub r1, #0x1e
bl GetPartyMonByIndex
mov r2, #0
add r1, sp, #0
strb r2, [r1]
add r6, r0, #0
mov r1, #0xbb
add r2, sp, #0
bl sub_0206EC40
add r0, r6, #0
bl sub_02070DB0
add r3, r0, #0
ldrb r1, [r5, #0x1f]
ldr r0, [r5, #4]
ldr r2, [r4, #8]
bl sub_02073C6C
ldrb r1, [r5, #0x1f]
ldr r2, [r4, #4]
add r0, r5, #0
bl ov14_021E6100
ldrb r1, [r5, #0x1f]
add r0, r5, #0
bl ov14_021F4958
ldrb r1, [r5, #0x1f]
add r0, r5, #0
bl ov14_021F4A20
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov14_021E61BC
thumb_func_start ov14_021E6210
ov14_021E6210: ; 0x021E6210
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r6, r1, #0
ldr r7, [r6, #4]
add r5, r0, #0
ldr r4, [r6, #8]
sub r7, #0x1e
ldr r0, [r5, #8]
add r1, r7, #0
sub r4, #0x1e
bl GetPartyMonByIndex
ldr r1, [r6]
bl sub_0207188C
add r1, sp, #4
ldr r0, [r5, #8]
add r1, #1
add r2, r7, #0
bl sub_02074670
ldr r0, [r5, #8]
add r1, sp, #0
add r2, r4, #0
bl sub_02074670
ldr r0, [r5, #8]
add r1, r4, #0
bl GetPartyMonByIndex
add r2, r0, #0
ldr r0, [r5, #8]
add r1, r7, #0
bl sub_02074740
ldr r0, [r5, #8]
ldr r2, [r6]
add r1, r4, #0
bl sub_02074740
ldr r0, [r5, #8]
add r1, sp, #0
add r2, r7, #0
bl sub_020746BC
add r1, sp, #4
ldr r0, [r5, #8]
add r1, #1
add r2, r4, #0
bl sub_020746BC
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021E6210
thumb_func_start ov14_021E627C
ov14_021E627C: ; 0x021E627C
push {r4, r5, r6, lr}
sub sp, #8
add r4, r1, #0
ldr r6, [r4, #4]
add r5, r0, #0
sub r6, #0x1e
ldr r0, [r5, #8]
add r1, r6, #0
bl GetPartyMonByIndex
ldr r1, [r4]
bl sub_0207188C
ldr r0, [r5, #8]
add r1, sp, #0
add r2, r6, #0
bl sub_02074670
ldrb r1, [r5, #0x1f]
ldr r2, [r4, #4]
add r0, r5, #0
bl ov14_021E6100
ldr r0, [r5, #8]
ldr r1, [r4]
bl sub_02074524
ldr r0, [r5, #8]
bl GetPartyCount
sub r2, r0, #1
ldr r0, [r5, #8]
add r1, sp, #0
bl sub_020746BC
add sp, #8
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov14_021E627C
thumb_func_start ov14_021E62C8
ov14_021E62C8: ; 0x021E62C8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r4, r1, #0
ldrb r1, [r5, #0x1f]
ldr r2, [r4, #4]
bl ov14_021E60C0
add r6, r0, #0
ldr r1, [r4, #8]
add r0, r5, #0
bl ov14_021E6464
add r7, r0, #0
ldr r0, [r5, #4]
add r1, r7, #0
add r2, r6, #0
bl sub_02073BFC
ldrb r1, [r5, #0x1f]
ldr r0, [r5, #4]
ldr r2, [r4, #4]
bl sub_02073D10
ldrb r1, [r5, #0x1f]
add r0, r5, #0
bl ov14_021F4958
ldrb r1, [r5, #0x1f]
add r0, r5, #0
bl ov14_021F4A20
add r0, r5, #0
add r1, r7, #0
bl ov14_021F4958
add r0, r5, #0
add r1, r7, #0
bl ov14_021F4A20
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov14_021E62C8
thumb_func_start ov14_021E6318
ov14_021E6318: ; 0x021E6318
push {r4, r5, r6, lr}
add r4, r1, #0
ldr r1, [r4, #8]
add r5, r0, #0
bl ov14_021E6464
ldr r1, [r4, #4]
add r6, r0, #0
ldr r0, [r5, #8]
sub r1, #0x1e
bl GetPartyMonByIndex
ldr r1, [r4]
bl sub_0207188C
ldr r0, [r4]
mov r1, #5
mov r2, #0
bl GetMonData
mov r1, #0x7b
lsl r1, r1, #2
cmp r0, r1
bne _021E6350
ldr r0, [r4]
mov r1, #0
bl sub_02071D6C
_021E6350:
ldr r0, [r4]
bl sub_02070DB0
add r2, r0, #0
ldr r0, [r5, #4]
add r1, r6, #0
bl sub_02073BFC
ldrb r1, [r5, #0x1f]
ldr r2, [r4, #4]
add r0, r5, #0
bl ov14_021E6100
add r0, r5, #0
add r1, r6, #0
bl ov14_021F4958
add r0, r5, #0
add r1, r6, #0
bl ov14_021F4A20
pop {r4, r5, r6, pc}
thumb_func_end ov14_021E6318
thumb_func_start ov14_021E637C
ov14_021E637C: ; 0x021E637C
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r4, [r0, #0xc]
add r0, r4, #0
add r0, #0xe4
ldr r0, [r0]
cmp r0, #0xff
beq _021E6462
ldr r0, [r5, #8]
bl GetPartyCount
add r1, r4, #0
add r1, #0xe8
ldr r3, [r1]
mov r1, #0x80
tst r1, r3
beq _021E63CA
add r0, r5, #0
add r1, r3, #0
bl ov14_021E6464
add r0, r4, #0
add r0, #0xe4
ldr r1, [r0]
cmp r1, #0x1e
bhs _021E63BC
add r0, r5, #0
add r1, r4, #0
bl ov14_021E62C8
pop {r3, r4, r5, pc}
_021E63BC:
sub r1, #0x1e
lsl r1, r1, #5
add r0, r5, #0
add r1, r4, r1
bl ov14_021E6318
pop {r3, r4, r5, pc}
_021E63CA:
add r1, r4, #0
add r1, #0xe4
ldr r2, [r1]
cmp r2, #0x1e
bhs _021E6410
cmp r3, #0x1e
bhs _021E63F2
ldrb r1, [r5, #0x1f]
ldr r0, [r5, #4]
bl sub_02073CC0
ldrb r1, [r5, #0x1f]
add r0, r5, #0
bl ov14_021F4958
ldrb r1, [r5, #0x1f]
add r0, r5, #0
bl ov14_021F4A20
pop {r3, r4, r5, pc}
_021E63F2:
sub r3, #0x1e
cmp r3, r0
bhs _021E6406
add r1, r4, #0
add r4, #0x20
add r0, r5, #0
add r2, r4, #0
bl ov14_021E611C
pop {r3, r4, r5, pc}
_021E6406:
add r0, r5, #0
add r1, r4, #0
bl ov14_021E6184
pop {r3, r4, r5, pc}
_021E6410:
cmp r3, #0x1e
bhs _021E6446
add r1, r3, #0
add r0, r5, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021E6432
add r1, r4, #0
add r0, r5, #0
add r1, #0x20
add r2, r4, #0
bl ov14_021E611C
pop {r3, r4, r5, pc}
_021E6432:
add r1, r4, #0
add r1, #0xe4
ldr r1, [r1]
add r0, r5, #0
sub r1, #0x1e
lsl r1, r1, #5
add r1, r4, r1
bl ov14_021E61BC
pop {r3, r4, r5, pc}
_021E6446:
sub r3, #0x1e
cmp r3, r0
bhs _021E6456
add r0, r5, #0
add r1, r4, #0
bl ov14_021E6210
pop {r3, r4, r5, pc}
_021E6456:
sub r2, #0x1e
lsl r1, r2, #5
add r0, r5, #0
add r1, r4, r1
bl ov14_021E627C
_021E6462:
pop {r3, r4, r5, pc}
thumb_func_end ov14_021E637C
thumb_func_start ov14_021E6464
ov14_021E6464: ; 0x021E6464
push {r4, lr}
add r0, #0x25
ldrb r0, [r0]
add r4, r1, #0
mov r1, #6
bl _s32_div_f
mov r1, #0x7f
add r2, r4, #0
and r2, r1
mov r1, #6
mul r1, r0
add r0, r2, r1
pop {r4, pc}
thumb_func_end ov14_021E6464
thumb_func_start ov14_021E6480
ov14_021E6480: ; 0x021E6480
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #8]
add r7, r1, #0
mov r4, #0
bl GetPartyCount
cmp r0, #0
bls _021E64CA
_021E6492:
cmp r4, r7
beq _021E64BE
ldr r0, [r5, #8]
add r1, r4, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r6, r0, #0
bl GetMonData
cmp r0, #0
bne _021E64BE
add r0, r6, #0
mov r1, #0xa3
mov r2, #0
bl GetMonData
cmp r0, #0
beq _021E64BE
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_021E64BE:
ldr r0, [r5, #8]
add r4, r4, #1
bl GetPartyCount
cmp r4, r0
blo _021E6492
_021E64CA:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021E6480
thumb_func_start ov14_021E64D0
ov14_021E64D0: ; 0x021E64D0
push {r3, r4, r5, lr}
mov r1, #5
mov r2, #0
add r4, r0, #0
bl GetBoxMonData
lsl r0, r0, #0x10
lsr r1, r0, #0x10
ldr r0, _021E6544 ; =0x000001ED
cmp r1, r0
bne _021E6510
add r0, r4, #0
mov r1, #0x70
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x10
lsr r5, r0, #0x10
add r0, r4, #0
bl sub_02071BD0
add r0, r4, #0
mov r1, #0x70
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
cmp r5, r0
beq _021E6540
mov r0, #1
pop {r3, r4, r5, pc}
_021E6510:
sub r0, r0, #6
cmp r1, r0
bne _021E6540
add r0, r4, #0
mov r1, #0x70
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x10
lsr r5, r0, #0x10
add r0, r4, #0
bl sub_02071CBC
add r0, r4, #0
mov r1, #0x70
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
cmp r5, r0
beq _021E6540
mov r0, #1
pop {r3, r4, r5, pc}
_021E6540:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
_021E6544: .word 0x000001ED
thumb_func_end ov14_021E64D0
thumb_func_start ov14_021E6548
ov14_021E6548: ; 0x021E6548
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
cmp r4, #0x1e
bhs _021E6556
cmp r2, #0x1e
blo _021E65BC
_021E6556:
cmp r4, #0x1e
blo _021E655E
cmp r2, #0x1e
bhs _021E65BC
_021E655E:
cmp r4, #0x1e
blo _021E6564
add r4, r2, #0
_021E6564:
add r0, r5, #0
add r1, r4, #0
mov r2, #5
mov r3, #0
bl ov14_021E6070
mov r1, #0x7b
lsl r1, r1, #2
cmp r0, r1
bne _021E65BC
add r0, r5, #0
add r1, r4, #0
mov r2, #0x70
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021E65BC
ldrb r1, [r5, #0x1f]
add r0, r5, #0
add r2, r4, #0
bl ov14_021E60C0
mov r1, #0
bl sub_02071D7C
ldr r3, [r5, #0x34]
ldrb r1, [r5, #0x1f]
add r6, r3, r4
ldr r3, _021E65C0 ; =0x00004094
add r0, r5, #0
ldrb r3, [r6, r3]
add r2, r4, #0
bl ov14_021F2ED0
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, r4
bne _021E65BC
add r0, r5, #0
add r1, r4, #0
bl ov14_021E7588
_021E65BC:
pop {r4, r5, r6, pc}
nop
_021E65C0: .word 0x00004094
thumb_func_end ov14_021E6548
thumb_func_start ov14_021E65C4
ov14_021E65C4: ; 0x021E65C4
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r6, [r0, #0xc]
add r0, r6, #0
add r0, #0xe0
ldr r0, [r0]
cmp r0, #8
bne _021E665E
mov r7, #0
_021E65DA:
ldr r0, [r6, #0xc]
cmp r0, #0
beq _021E6650
ldr r1, [r6, #4]
ldr r0, [r5, #0x34]
add r2, r0, r1
ldr r0, _021E66F0 ; =0x00004094
ldrb r4, [r2, r0]
ldr r0, [r6, #8]
mov r2, #0x80
tst r2, r0
add r2, sp, #4
bne _021E6604
add r3, r5, #0
add r3, #0x22
ldrb r3, [r3]
add r1, sp, #4
add r1, #2
bl ov14_021F2F88
b _021E6634
_021E6604:
cmp r1, #0x1e
blo _021E661A
add r3, r5, #0
add r3, #0x22
ldrb r3, [r3]
add r1, sp, #4
mov r0, #0x23
add r1, #2
bl ov14_021F2F88
b _021E662A
_021E661A:
add r3, r5, #0
add r3, #0x22
ldrb r3, [r3]
add r0, r1, #0
add r1, sp, #4
add r1, #2
bl ov14_021F2F88
_021E662A:
ldr r0, [r5, #0x34]
add r1, r4, #0
mov r2, #0
bl ov14_021F2A18
_021E6634:
ldr r1, [r5, #0x34]
lsl r0, r4, #2
add r1, r1, r0
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r2, sp, #4
mov r1, #2
ldrsh r1, [r2, r1]
add r3, r2, #0
mov r2, #0
ldrsh r2, [r3, r2]
bl sub_0200DDB8
_021E6650:
add r7, r7, #1
add r6, #0x20
cmp r7, #7
blo _021E65DA
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E665E:
add r0, r6, #0
add r0, #0xe0
ldr r0, [r0]
add r4, r6, #0
add r1, r0, #1
add r0, r6, #0
add r0, #0xe0
str r1, [r0]
mov r0, #0
str r0, [sp]
add r7, sp, #4
_021E6674:
ldr r0, [r4, #0xc]
cmp r0, #0
beq _021E66DE
ldr r1, [r5, #0x34]
ldr r0, [r4, #4]
add r1, r1, r0
ldr r0, _021E66F0 ; =0x00004094
ldrb r0, [r1, r0]
mov r1, #0x18
ldrsh r3, [r4, r1]
add r1, r6, #0
add r1, #0xe0
ldr r2, [r1]
ldr r1, [r4, #0x10]
mov ip, r0
mov r0, #0x1c
mul r1, r2
lsr r1, r1, #0x10
ldrsh r0, [r4, r0]
mul r1, r3
add r0, r0, r1
strh r0, [r7, #2]
mov r1, #0x1a
ldrsh r3, [r4, r1]
add r1, r6, #0
add r1, #0xe0
ldr r2, [r1]
ldr r1, [r4, #0x14]
mov r0, #0x1e
mul r1, r2
lsr r1, r1, #0x10
ldrsh r0, [r4, r0]
mul r1, r3
mov r2, #0
add r0, r0, r1
strh r0, [r7]
mov r1, ip
ldr r0, [r5, #0x34]
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #2
ldrsh r1, [r7, r1]
ldrsh r2, [r7, r2]
bl sub_0200DDB8
ldr r0, [r5, #0x34]
ldr r1, [r4, #4]
mov r2, #0
bl ov14_021F3190
_021E66DE:
ldr r0, [sp]
add r4, #0x20
add r0, r0, #1
str r0, [sp]
cmp r0, #7
blo _021E6674
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021E66F0: .word 0x00004094
thumb_func_end ov14_021E65C4
thumb_func_start ov14_021E66F4
ov14_021E66F4: ; 0x021E66F4
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r4, [r0, #0xc]
add r0, r4, #0
add r0, #0xe0
ldr r0, [r0]
cmp r0, #8
bne _021E676E
mov r6, #0
_021E670A:
ldr r0, [r4, #0xc]
cmp r0, #0
beq _021E6760
ldr r1, [r5, #0x34]
ldr r0, [r4, #4]
add r3, r5, #0
add r1, r1, r0
ldr r0, _021E6810 ; =0x00004094
add r3, #0x22
ldrb r7, [r1, r0]
add r1, sp, #4
ldrb r3, [r3]
ldr r0, [r4, #8]
add r1, #2
add r2, sp, #4
bl ov14_021F2F88
add r0, r5, #0
add r0, #0x21
ldrb r1, [r0]
ldr r0, [r4, #8]
cmp r1, r0
beq _021E6744
add r1, sp, #4
mov r0, #0
ldrsh r1, [r1, r0]
add r0, sp, #4
add r1, #0x90
strh r1, [r0]
_021E6744:
ldr r1, [r5, #0x34]
lsl r0, r7, #2
add r1, r1, r0
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r2, sp, #4
mov r1, #2
ldrsh r1, [r2, r1]
add r3, r2, #0
mov r2, #0
ldrsh r2, [r3, r2]
bl sub_0200DDB8
_021E6760:
add r6, r6, #1
add r4, #0x20
cmp r6, #7
blo _021E670A
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E676E:
add r0, r4, #0
add r0, #0xe0
ldr r0, [r0]
add r1, r0, #1
add r0, r4, #0
add r0, #0xe0
str r1, [r0]
mov r1, #0
add r0, r4, #0
_021E6780:
ldr r2, [r0, #0xc]
cmp r2, #0
beq _021E6802
add r2, r5, #0
add r2, #0x21
ldrb r3, [r2]
ldr r2, [r0, #8]
cmp r3, r2
bne _021E6802
lsl r6, r1, #5
add r0, r4, #4
str r0, [sp]
ldr r1, [r5, #0x34]
ldr r0, [r0, r6]
add r1, r1, r0
ldr r0, _021E6810 ; =0x00004094
ldrb r3, [r1, r0]
add r0, r4, r6
mov r1, #0x1c
ldrsh r7, [r0, r1]
mov r1, #0x18
ldrsh r1, [r0, r1]
mov ip, r1
add r1, r4, #0
add r1, #0xe0
ldr r2, [r1]
ldr r1, [r0, #0x10]
add r4, #0xe0
mul r1, r2
lsr r1, r1, #0x10
mov r2, ip
mul r1, r2
add r1, r7, r1
add r7, sp, #4
strh r1, [r7, #2]
mov r1, #0x1e
ldrsh r2, [r0, r1]
mov r1, #0x1a
ldrsh r1, [r0, r1]
ldr r4, [r4]
ldr r0, [r0, #0x14]
mul r0, r4
lsr r0, r0, #0x10
mul r0, r1
add r0, r2, r0
strh r0, [r7]
mov r2, #0
ldr r1, [r5, #0x34]
lsl r0, r3, #2
add r1, r1, r0
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #2
ldrsh r1, [r7, r1]
ldrsh r2, [r7, r2]
bl sub_0200DDB8
ldr r1, [sp]
ldr r0, [r5, #0x34]
ldr r1, [r1, r6]
mov r2, #0
bl ov14_021F3190
b _021E680A
_021E6802:
add r1, r1, #1
add r0, #0x20
cmp r1, #7
blo _021E6780
_021E680A:
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021E6810: .word 0x00004094
thumb_func_end ov14_021E66F4
thumb_func_start ov14_021E6814
ov14_021E6814: ; 0x021E6814
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r6, r0, #0
ldr r0, [r6, #0x34]
ldr r5, [r0, #0xc]
add r0, r5, #0
add r0, #0xe0
ldr r0, [r0]
cmp r0, #8
bne _021E6876
mov r4, #0
_021E682A:
ldr r0, [r5, #0xc]
cmp r0, #0
beq _021E6868
ldr r1, [r6, #0x34]
ldr r0, [r5, #4]
add r3, r6, #0
add r1, r1, r0
ldr r0, _021E6908 ; =0x00004094
add r3, #0x22
ldrb r7, [r1, r0]
add r1, sp, #4
ldrb r3, [r3]
ldr r0, [r5, #8]
add r1, #2
add r2, sp, #4
bl ov14_021F2F88
add r2, sp, #4
ldr r1, [r6, #0x34]
lsl r0, r7, #2
add r1, r1, r0
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #2
ldrsh r1, [r2, r1]
add r3, r2, #0
mov r2, #0
ldrsh r2, [r3, r2]
bl sub_0200DDB8
_021E6868:
add r4, r4, #1
add r5, #0x20
cmp r4, #7
blo _021E682A
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E6876:
add r0, r5, #0
add r0, #0xe0
ldr r0, [r0]
add r4, r5, #0
add r1, r0, #1
add r0, r5, #0
add r0, #0xe0
str r1, [r0]
mov r0, #0
str r0, [sp]
add r7, sp, #4
_021E688C:
ldr r0, [r4, #0xc]
cmp r0, #0
beq _021E68F6
ldr r1, [r6, #0x34]
ldr r0, [r4, #4]
add r1, r1, r0
ldr r0, _021E6908 ; =0x00004094
ldrb r0, [r1, r0]
mov r1, #0x18
ldrsh r3, [r4, r1]
add r1, r5, #0
add r1, #0xe0
ldr r2, [r1]
ldr r1, [r4, #0x10]
mov ip, r0
mov r0, #0x1c
mul r1, r2
lsr r1, r1, #0x10
ldrsh r0, [r4, r0]
mul r1, r3
add r0, r0, r1
strh r0, [r7, #2]
mov r1, #0x1a
ldrsh r3, [r4, r1]
add r1, r5, #0
add r1, #0xe0
ldr r2, [r1]
ldr r1, [r4, #0x14]
mov r0, #0x1e
mul r1, r2
lsr r1, r1, #0x10
ldrsh r0, [r4, r0]
mul r1, r3
mov r2, #0
add r0, r0, r1
strh r0, [r7]
mov r1, ip
ldr r0, [r6, #0x34]
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #2
ldrsh r1, [r7, r1]
ldrsh r2, [r7, r2]
bl sub_0200DDB8
ldr r0, [r6, #0x34]
ldr r1, [r4, #4]
ldr r2, [r4, #8]
bl ov14_021F31E0
_021E68F6:
ldr r0, [sp]
add r4, #0x20
add r0, r0, #1
str r0, [sp]
cmp r0, #7
blo _021E688C
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021E6908: .word 0x00004094
thumb_func_end ov14_021E6814
thumb_func_start ov14_021E690C
ov14_021E690C: ; 0x021E690C
push {r3, r4, r5, r6, r7, lr}
add r4, r2, #0
add r6, r1, #0
add r1, r4, #0
mov r2, #0xac
mov r3, #0
add r5, r0, #0
bl ov14_021E6070
mov r0, #0x80
tst r0, r4
beq _021E694C
add r0, r5, #0
add r1, r4, #0
bl ov14_021E6464
ldrb r1, [r5, #0x1f]
str r0, [sp]
cmp r0, r1
beq _021E6940
ldr r0, [r5, #4]
ldr r1, [sp]
bl sub_02073F64
cmp r0, #0x1e
bne _021E6944
_021E6940:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E6944:
mov r0, #0x80
eor r4, r0
mov r7, #0
b _021E695E
_021E694C:
ldrb r0, [r5, #0x1f]
add r1, r4, #0
mov r2, #0xac
str r0, [sp]
add r0, r5, #0
mov r3, #0
bl ov14_021E6070
add r7, r0, #0
_021E695E:
cmp r6, #0x1e
blo _021E69D6
add r1, r6, #0
add r0, r5, #0
sub r1, #0x1e
bl ov14_021E6480
cmp r0, #0
bne _021E699C
cmp r7, #0
bne _021E6984
cmp r4, #0x1e
blo _021E6980
ldrb r1, [r5, #0x1f]
ldr r0, [sp]
cmp r0, r1
beq _021E699C
_021E6980:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E6984:
add r0, r5, #0
add r1, r4, #0
mov r2, #0x4c
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021E699C
cmp r4, #0x1e
bhs _021E699C
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E699C:
cmp r4, #0x1e
bhs _021E6A36
sub r6, #0x1e
ldr r0, [r5, #8]
add r1, r6, #0
bl GetPartyMonByIndex
mov r1, #6
mov r2, #0
add r4, r0, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_02078068
cmp r0, #1
bne _021E69C4
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E69C4:
add r0, r4, #0
mov r1, #0xa2
mov r2, #0
bl GetMonData
cmp r0, #0
beq _021E6A36
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E69D6:
cmp r4, #0x1e
blo _021E6A36
cmp r7, #0
beq _021E6A36
add r1, r4, #0
ldr r0, [r5, #8]
sub r1, #0x1e
bl GetPartyMonByIndex
mov r1, #6
mov r2, #0
add r7, r0, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_02078068
cmp r0, #1
bne _021E6A02
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E6A02:
add r0, r7, #0
mov r1, #0xa2
mov r2, #0
bl GetMonData
cmp r0, #0
beq _021E6A14
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E6A14:
add r0, r5, #0
add r1, r6, #0
mov r2, #0x4c
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021E6A36
sub r4, #0x1e
add r0, r5, #0
add r1, r4, #0
bl ov14_021E6480
cmp r0, #0
bne _021E6A36
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E6A36:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021E690C
thumb_func_start ov14_021E6A3C
ov14_021E6A3C: ; 0x021E6A3C
push {r3, r4, r5, lr}
add r4, r1, #0
add r1, r2, #0
mov r2, #0xac
mov r3, #0
add r5, r0, #0
bl ov14_021E6070
cmp r0, #0
beq _021E6A54
mov r0, #0
pop {r3, r4, r5, pc}
_021E6A54:
add r1, r4, #0
add r0, r5, #0
sub r1, #0x1e
bl ov14_021E6480
cmp r0, #0
bne _021E6A66
mov r0, #0
pop {r3, r4, r5, pc}
_021E6A66:
sub r4, #0x1e
ldr r0, [r5, #8]
add r1, r4, #0
bl GetPartyMonByIndex
mov r1, #6
mov r2, #0
add r4, r0, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_02078068
cmp r0, #1
bne _021E6A8A
mov r0, #0
pop {r3, r4, r5, pc}
_021E6A8A:
add r0, r4, #0
mov r1, #0xa2
mov r2, #0
bl GetMonData
cmp r0, #0
bne _021E6A9C
mov r0, #1
pop {r3, r4, r5, pc}
_021E6A9C:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end ov14_021E6A3C
thumb_func_start ov14_021E6AA0
ov14_021E6AA0: ; 0x021E6AA0
push {r3, r4, r5, r6, r7, lr}
add r6, r2, #0
add r4, r1, #0
add r1, r6, #0
mov r2, #0xac
mov r3, #0
add r5, r0, #0
bl ov14_021E6070
cmp r0, #0
bne _021E6ABA
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E6ABA:
add r0, r5, #0
add r1, r6, #0
mov r2, #0x4c
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021E6ACE
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E6ACE:
add r0, r5, #0
add r1, r4, #0
mov r2, #6
mov r3, #0
bl ov14_021E6070
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp]
bl sub_02078068
cmp r0, #1
bne _021E6AEC
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E6AEC:
add r0, r5, #0
add r1, r6, #0
mov r2, #6
mov r3, #0
bl ov14_021E6070
lsl r0, r0, #0x10
lsr r7, r0, #0x10
add r0, r7, #0
bl sub_02078068
cmp r0, #1
bne _021E6B0A
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E6B0A:
ldr r0, [sp]
cmp r0, #0x70
bne _021E6B26
add r0, r5, #0
add r1, r6, #0
mov r2, #5
mov r3, #0
bl ov14_021E6070
ldr r1, _021E6B44 ; =0x000001E7
cmp r0, r1
beq _021E6B26
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E6B26:
cmp r7, #0x70
bne _021E6B40
add r0, r5, #0
add r1, r4, #0
mov r2, #5
mov r3, #0
bl ov14_021E6070
ldr r1, _021E6B44 ; =0x000001E7
cmp r0, r1
beq _021E6B40
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E6B40:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021E6B44: .word 0x000001E7
thumb_func_end ov14_021E6AA0
thumb_func_start ov14_021E6B48
ov14_021E6B48: ; 0x021E6B48
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
ldr r0, [r5, #0x34]
ldr r1, [r4, #4]
add r2, r0, r1
ldr r1, _021E6C08 ; =0x00004094
ldrb r1, [r2, r1]
add r2, r4, #0
add r2, #0x1e
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, r4, #0
add r1, #0x1c
bl sub_0200DE44
ldr r2, [r4, #8]
mov r0, #0x80
tst r0, r2
bne _021E6B88
add r5, #0x22
ldrb r3, [r5]
add r1, sp, #0
add r0, r2, #0
add r1, #2
add r2, sp, #0
bl ov14_021F2F88
b _021E6B98
_021E6B88:
mov r1, #0x7f
and r1, r2
add r2, sp, #0
ldr r0, [r5, #0x34]
add r2, #2
add r3, sp, #0
bl ov14_021F4940
_021E6B98:
mov r0, #0x1c
add r2, sp, #0
mov r1, #2
ldrsh r5, [r4, r0]
ldrsh r3, [r2, r1]
cmp r5, r3
bgt _021E6BB2
mov r3, #1
strh r3, [r4, #0x18]
ldrsh r1, [r2, r1]
ldrsh r0, [r4, r0]
sub r0, r1, r0
b _021E6BBC
_021E6BB2:
sub r3, r1, #3
strh r3, [r4, #0x18]
ldrsh r3, [r4, r0]
ldrsh r0, [r2, r1]
sub r0, r3, r0
_021E6BBC:
lsl r1, r0, #0x10
asr r0, r1, #2
lsr r0, r0, #0x1d
add r0, r1, r0
asr r0, r0, #3
str r0, [r4, #0x10]
mov r0, #0x1e
add r2, sp, #0
mov r1, #0
ldrsh r5, [r4, r0]
ldrsh r3, [r2, r1]
cmp r5, r3
bgt _021E6BEE
mov r3, #1
strh r3, [r4, #0x1a]
ldrsh r1, [r2, r1]
ldrsh r0, [r4, r0]
sub r0, r1, r0
lsl r1, r0, #0x10
asr r0, r1, #2
lsr r0, r0, #0x1d
add r0, r1, r0
asr r0, r0, #3
str r0, [r4, #0x14]
pop {r3, r4, r5, pc}
_021E6BEE:
sub r3, r1, #1
strh r3, [r4, #0x1a]
ldrsh r3, [r4, r0]
ldrsh r0, [r2, r1]
sub r0, r3, r0
lsl r1, r0, #0x10
asr r0, r1, #2
lsr r0, r0, #0x1d
add r0, r1, r0
asr r0, r0, #3
str r0, [r4, #0x14]
pop {r3, r4, r5, pc}
nop
_021E6C08: .word 0x00004094
thumb_func_end ov14_021E6B48
thumb_func_start ov14_021E6C0C
ov14_021E6C0C: ; 0x021E6C0C
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
add r4, r1, #0
ldr r0, [r5, #0x34]
ldr r1, [r4, #8]
add r2, r0, r1
ldr r1, _021E6CC4 ; =0x00004094
ldrb r6, [r2, r1]
ldr r2, [r4, #4]
add r2, r0, r2
ldrb r1, [r2, r1]
add r2, r4, #0
add r2, #0x1e
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, r4, #0
add r1, #0x1c
bl sub_0200DE44
ldr r1, [r5, #0x34]
lsl r0, r6, #2
add r1, r1, r0
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
add r2, sp, #0
bl sub_0200DE44
mov r0, #0x1c
add r2, sp, #0
mov r1, #2
ldrsh r5, [r4, r0]
ldrsh r3, [r2, r1]
cmp r5, r3
bgt _021E6C6A
mov r3, #1
strh r3, [r4, #0x18]
ldrsh r1, [r2, r1]
ldrsh r0, [r4, r0]
sub r0, r1, r0
b _021E6C74
_021E6C6A:
sub r3, r1, #3
strh r3, [r4, #0x18]
ldrsh r3, [r4, r0]
ldrsh r0, [r2, r1]
sub r0, r3, r0
_021E6C74:
lsl r1, r0, #0x10
asr r0, r1, #2
lsr r0, r0, #0x1d
add r0, r1, r0
asr r0, r0, #3
str r0, [r4, #0x10]
mov r0, #0x1e
add r2, sp, #0
mov r1, #0
ldrsh r5, [r4, r0]
ldrsh r3, [r2, r1]
cmp r5, r3
bgt _021E6CA8
mov r3, #1
strh r3, [r4, #0x1a]
ldrsh r1, [r2, r1]
ldrsh r0, [r4, r0]
add sp, #4
sub r0, r1, r0
lsl r1, r0, #0x10
asr r0, r1, #2
lsr r0, r0, #0x1d
add r0, r1, r0
asr r0, r0, #3
str r0, [r4, #0x14]
pop {r3, r4, r5, r6, pc}
_021E6CA8:
sub r3, r1, #1
strh r3, [r4, #0x1a]
ldrsh r3, [r4, r0]
ldrsh r0, [r2, r1]
sub r0, r3, r0
lsl r1, r0, #0x10
asr r0, r1, #2
lsr r0, r0, #0x1d
add r0, r1, r0
asr r0, r0, #3
str r0, [r4, #0x14]
add sp, #4
pop {r3, r4, r5, r6, pc}
nop
_021E6CC4: .word 0x00004094
thumb_func_end ov14_021E6C0C
thumb_func_start ov14_021E6CC8
ov14_021E6CC8: ; 0x021E6CC8
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r1, #0
ldr r1, [r7, #0x34]
add r6, r2, #0
ldr r4, [r1, #0xc]
mov r1, #1
str r5, [r4, #4]
str r6, [r4, #8]
str r1, [r4, #0xc]
add r1, r4, #0
bl ov14_021E6B48
str r6, [r4, #0x24]
str r5, [r4, #0x28]
mov r0, #1
str r0, [r4, #0x2c]
add r4, #0x20
add r0, r7, #0
add r1, r4, #0
bl ov14_021E6B48
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021E6CC8
thumb_func_start ov14_021E6CF8
ov14_021E6CF8: ; 0x021E6CF8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r6, r0, #0
str r2, [sp, #4]
ldr r2, [r6, #0x34]
str r1, [sp]
ldr r0, [r2, #0xc]
mov r1, #1
str r0, [sp, #0x14]
ldr r0, _021E6F38 ; =0x000040C4
str r1, [r2, r0]
mov r1, #0
ldr r2, [sp, #0x14]
add r0, r1, #0
_021E6D14:
str r0, [r2, #4]
str r0, [r2, #8]
str r0, [r2, #0xc]
add r1, r1, #1
add r2, #0x20
cmp r1, #7
blo _021E6D14
ldr r1, [sp, #0x14]
ldr r0, [sp, #4]
add r1, #0xec
str r0, [r1]
cmp r0, #0xff
beq _021E6D40
ldr r1, [sp]
cmp r1, r0
beq _021E6D40
ldr r2, [sp, #4]
add r0, r6, #0
bl ov14_021E690C
cmp r0, #0
bne _021E6D66
_021E6D40:
ldr r0, [sp, #0x14]
mov r1, #0xff
add r0, #0xe4
str r1, [r0]
ldr r0, [sp, #0x14]
add r0, #0xe8
str r1, [r0]
ldr r1, [sp]
ldr r0, [sp, #0x14]
str r1, [r0, #4]
str r1, [r0, #8]
mov r1, #1
str r1, [r0, #0xc]
ldr r1, [sp, #0x14]
add r0, r6, #0
bl ov14_021E6B48
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
_021E6D66:
ldr r1, [sp, #0x14]
ldr r0, [sp]
add r1, #0xe4
str r0, [r1]
ldr r1, [sp, #0x14]
ldr r0, [sp, #4]
add r1, #0xe8
str r0, [r1]
ldr r0, [r6, #8]
bl GetPartyCount
add r7, r0, #0
ldr r0, [sp, #4]
mov r1, #0x80
tst r0, r1
beq _021E6E06
ldr r0, [sp]
cmp r0, #0x1e
bhs _021E6DAE
add r1, r0, #0
ldr r0, [sp, #0x14]
str r1, [r0, #4]
ldr r1, [sp, #4]
str r1, [r0, #8]
mov r1, #1
str r1, [r0, #0xc]
ldr r1, [sp, #0x14]
add r0, r6, #0
bl ov14_021E6B48
ldr r1, [r6, #0x34]
ldr r0, _021E6F38 ; =0x000040C4
mov r2, #0
str r2, [r1, r0]
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
_021E6DAE:
str r0, [sp, #0x10]
sub r0, #0x1e
add r5, r0, #1
str r0, [sp, #0x10]
cmp r5, #6
bhs _021E6DE0
ldr r0, [sp, #0x14]
lsl r1, r5, #5
add r4, r0, r1
mov r7, #1
_021E6DC2:
add r0, r5, #0
add r0, #0x1e
str r0, [r4, #4]
add r0, r5, #0
add r0, #0x1d
str r0, [r4, #8]
add r0, r6, #0
add r1, r4, #0
str r7, [r4, #0xc]
bl ov14_021E6B48
add r5, r5, #1
add r4, #0x20
cmp r5, #6
blo _021E6DC2
_021E6DE0:
ldr r0, [sp, #0x10]
lsl r1, r0, #5
ldr r0, [sp, #0x14]
add r1, r0, r1
ldr r0, [sp]
str r0, [r1, #4]
ldr r0, [sp, #4]
str r0, [r1, #8]
mov r0, #1
str r0, [r1, #0xc]
add r0, r6, #0
bl ov14_021E6B48
ldr r1, [r6, #0x34]
ldr r0, _021E6F38 ; =0x000040C4
mov r2, #0
str r2, [r1, r0]
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
_021E6E06:
ldr r0, [sp]
cmp r0, #0x1e
bhs _021E6E44
ldr r0, [sp, #4]
cmp r0, #0x1e
bhs _021E6E20
ldr r1, [sp]
ldr r2, [sp, #4]
add r0, r6, #0
bl ov14_021E6CC8
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
_021E6E20:
sub r0, #0x1e
cmp r0, r7
bhs _021E6E34
ldr r1, [sp]
ldr r2, [sp, #4]
add r0, r6, #0
bl ov14_021E6CC8
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
_021E6E34:
add r7, #0x1e
ldr r1, [sp]
add r0, r6, #0
add r2, r7, #0
bl ov14_021E6CC8
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
_021E6E44:
ldr r0, [sp, #4]
cmp r0, #0x1e
bhs _021E6ED2
ldr r1, [sp, #4]
add r0, r6, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021E6E68
ldr r1, [sp]
ldr r2, [sp, #4]
add r0, r6, #0
bl ov14_021E6CC8
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
_021E6E68:
ldr r0, [sp]
str r0, [sp, #8]
sub r0, #0x1e
add r5, r0, #1
str r0, [sp, #8]
cmp r5, r7
bhs _021E6E9C
ldr r0, [sp, #0x14]
lsl r1, r5, #5
add r4, r0, r1
_021E6E7C:
add r0, r5, #0
add r0, #0x1e
str r0, [r4, #4]
add r0, r5, #0
add r0, #0x1d
str r0, [r4, #8]
mov r0, #1
str r0, [r4, #0xc]
add r0, r6, #0
add r1, r4, #0
bl ov14_021E6B48
add r5, r5, #1
add r4, #0x20
cmp r5, r7
blo _021E6E7C
_021E6E9C:
ldr r0, [sp, #8]
lsl r1, r0, #5
ldr r0, [sp, #0x14]
add r1, r0, r1
ldr r0, [sp]
str r0, [r1, #4]
ldr r0, [sp, #4]
str r0, [r1, #8]
mov r0, #1
str r0, [r1, #0xc]
add r0, r6, #0
bl ov14_021E6B48
lsl r1, r7, #5
ldr r0, [sp, #0x14]
add r7, #0x1d
add r1, r0, r1
ldr r0, [sp, #4]
str r0, [r1, #4]
str r7, [r1, #8]
mov r0, #1
str r0, [r1, #0xc]
add r0, r6, #0
bl ov14_021E6B48
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
_021E6ED2:
sub r0, #0x1e
cmp r0, r7
bhs _021E6EE6
ldr r1, [sp]
ldr r2, [sp, #4]
add r0, r6, #0
bl ov14_021E6CC8
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
_021E6EE6:
ldr r0, [sp]
str r0, [sp, #0xc]
sub r0, #0x1e
add r5, r0, #1
str r0, [sp, #0xc]
cmp r5, r7
bhs _021E6F1A
ldr r0, [sp, #0x14]
lsl r1, r5, #5
add r4, r0, r1
_021E6EFA:
add r0, r5, #0
add r0, #0x1e
str r0, [r4, #4]
add r0, r5, #0
add r0, #0x1d
str r0, [r4, #8]
mov r0, #1
str r0, [r4, #0xc]
add r0, r6, #0
add r1, r4, #0
bl ov14_021E6B48
add r5, r5, #1
add r4, #0x20
cmp r5, r7
blo _021E6EFA
_021E6F1A:
ldr r0, [sp, #0xc]
add r7, #0x1d
lsl r1, r0, #5
ldr r0, [sp, #0x14]
add r1, r0, r1
ldr r0, [sp]
str r0, [r1, #4]
str r7, [r1, #8]
mov r0, #1
str r0, [r1, #0xc]
add r0, r6, #0
bl ov14_021E6B48
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021E6F38: .word 0x000040C4
thumb_func_end ov14_021E6CF8
thumb_func_start ov14_021E6F3C
ov14_021E6F3C: ; 0x021E6F3C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r6, r0, #0
str r2, [sp, #4]
ldr r2, [r6, #0x34]
str r1, [sp]
ldr r0, [r2, #0xc]
mov r1, #1
str r0, [sp, #0xc]
ldr r0, _021E7030 ; =0x000040C4
str r1, [r2, r0]
mov r1, #0
ldr r2, [sp, #0xc]
add r0, r1, #0
_021E6F58:
str r0, [r2, #4]
str r0, [r2, #8]
str r0, [r2, #0xc]
add r1, r1, #1
add r2, #0x20
cmp r1, #7
blo _021E6F58
ldr r0, [sp, #4]
cmp r0, #0xff
beq _021E6F7A
ldr r1, [sp]
ldr r2, [sp, #4]
add r0, r6, #0
bl ov14_021E6A3C
cmp r0, #0
bne _021E6FA0
_021E6F7A:
ldr r0, [sp, #0xc]
mov r1, #0xff
add r0, #0xe4
str r1, [r0]
ldr r0, [sp, #0xc]
add r0, #0xe8
str r1, [r0]
ldr r1, [sp]
ldr r0, [sp, #0xc]
str r1, [r0, #4]
str r1, [r0, #8]
mov r1, #1
str r1, [r0, #0xc]
ldr r1, [sp, #0xc]
add r0, r6, #0
bl ov14_021E6B48
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
_021E6FA0:
ldr r1, [sp, #0xc]
ldr r0, [sp]
add r1, #0xe4
str r0, [r1]
ldr r1, [sp, #0xc]
ldr r0, [sp, #4]
add r1, #0xe8
str r0, [r1]
ldr r0, [r6, #8]
bl GetPartyCount
add r7, r0, #0
ldr r0, [sp, #4]
cmp r0, #0x1e
bhs _021E702C
ldr r0, [sp]
str r0, [sp, #8]
sub r0, #0x1e
add r5, r0, #1
str r0, [sp, #8]
cmp r5, r7
bhs _021E6FF2
ldr r0, [sp, #0xc]
lsl r1, r5, #5
add r4, r0, r1
_021E6FD2:
add r0, r5, #0
add r0, #0x1e
str r0, [r4, #4]
add r0, r5, #0
add r0, #0x1d
str r0, [r4, #8]
mov r0, #1
str r0, [r4, #0xc]
add r0, r6, #0
add r1, r4, #0
bl ov14_021E6C0C
add r5, r5, #1
add r4, #0x20
cmp r5, r7
blo _021E6FD2
_021E6FF2:
ldr r0, [sp, #8]
lsl r1, r0, #5
ldr r0, [sp, #0xc]
add r1, r0, r1
ldr r0, [sp]
str r0, [r1, #4]
ldr r0, [sp, #4]
str r0, [r1, #8]
mov r0, #1
str r0, [r1, #0xc]
add r0, r6, #0
bl ov14_021E6C0C
lsl r1, r7, #5
ldr r0, [sp, #0xc]
add r7, #0x1d
add r1, r0, r1
ldr r0, [sp, #4]
str r0, [r1, #4]
str r7, [r1, #8]
mov r0, #1
str r0, [r1, #0xc]
add r0, r6, #0
bl ov14_021E6C0C
ldr r1, [r6, #0x34]
ldr r0, _021E7030 ; =0x000040C4
mov r2, #0
str r2, [r1, r0]
_021E702C:
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021E7030: .word 0x000040C4
thumb_func_end ov14_021E6F3C
thumb_func_start ov14_021E7034
ov14_021E7034: ; 0x021E7034
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r7, r2, #0
ldr r2, [r5, #0x34]
ldr r0, _021E70AC ; =0x000040C4
add r6, r1, #0
ldr r4, [r2, #0xc]
mov r1, #1
str r1, [r2, r0]
mov r0, #0
add r1, r4, #0
add r3, r0, #0
_021E704C:
str r3, [r1, #4]
str r3, [r1, #8]
str r3, [r1, #0xc]
add r0, r0, #1
add r1, #0x20
cmp r0, #7
blo _021E704C
cmp r7, #0xff
beq _021E706C
add r0, r5, #0
add r1, r7, #0
mov r2, #0xac
bl ov14_021E6070
cmp r0, #0
beq _021E708C
_021E706C:
add r0, r4, #0
mov r1, #0xff
add r0, #0xe4
str r1, [r0]
add r0, r4, #0
add r0, #0xe8
str r1, [r0]
str r6, [r4, #4]
str r6, [r4, #8]
mov r0, #1
str r0, [r4, #0xc]
add r0, r5, #0
add r1, r4, #0
bl ov14_021E6B48
pop {r3, r4, r5, r6, r7, pc}
_021E708C:
add r0, r4, #0
add r0, #0xe4
str r6, [r0]
add r4, #0xe8
str r7, [r4]
ldr r0, [r5, #8]
bl GetPartyCount
add r2, r0, #0
add r0, r5, #0
add r1, r6, #0
add r2, #0x1e
bl ov14_021E6CC8
pop {r3, r4, r5, r6, r7, pc}
nop
_021E70AC: .word 0x000040C4
thumb_func_end ov14_021E7034
thumb_func_start ov14_021E70B0
ov14_021E70B0: ; 0x021E70B0
push {r3, r4}
ldr r0, [r0, #0x34]
mov r3, #0
ldr r2, [r0, #0xc]
add r4, r2, #0
_021E70BA:
ldr r0, [r4, #0xc]
cmp r0, #1
bne _021E70D0
ldr r0, [r4, #4]
cmp r1, r0
bne _021E70D0
lsl r0, r3, #5
add r0, r2, r0
ldr r0, [r0, #8]
pop {r3, r4}
bx lr
_021E70D0:
add r3, r3, #1
add r4, #0x20
cmp r3, #7
blo _021E70BA
mov r0, #0xff
pop {r3, r4}
bx lr
.balign 4, 0
thumb_func_end ov14_021E70B0
thumb_func_start ov14_021E70E0
ov14_021E70E0: ; 0x021E70E0
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
ldr r0, [r6, #0x34]
str r1, [sp]
ldr r7, [r0, #0xc]
sub r1, #0x1e
mov r2, #0
str r1, [sp]
add r3, r7, #0
add r1, r2, #0
_021E70F4:
add r0, r2, #0
add r0, #0x1e
str r0, [r3, #4]
str r0, [r3, #8]
str r1, [r3, #0xc]
add r2, r2, #1
add r3, #0x20
cmp r2, #6
blo _021E70F4
lsl r0, r2, #5
add r0, r7, r0
str r1, [r0, #0xc]
ldr r0, [sp]
add r5, r0, #1
cmp r5, #6
bhs _021E7132
lsl r0, r5, #5
add r4, r7, r0
_021E7118:
add r0, r5, #0
add r0, #0x1d
str r0, [r4, #8]
mov r0, #1
str r0, [r4, #0xc]
add r0, r6, #0
add r1, r4, #0
bl ov14_021E6B48
add r5, r5, #1
add r4, #0x20
cmp r5, #6
blo _021E7118
_021E7132:
ldr r0, [sp]
lsl r1, r0, #5
mov r0, #0x23
add r1, r7, r1
str r0, [r1, #8]
mov r0, #1
str r0, [r1, #0xc]
add r0, r6, #0
bl ov14_021E6B48
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov14_021E70E0
thumb_func_start ov14_021E7148
ov14_021E7148: ; 0x021E7148
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r1, #0
ldr r7, _021E71C0 ; =0x00004094
add r5, r0, #0
mov r2, #0
add r3, r4, #0
add r6, sp, #0
_021E7158:
ldr r0, [r3, #0xc]
cmp r0, #0
beq _021E7168
ldr r1, [r5, #0x34]
ldr r0, [r3, #4]
add r0, r1, r0
ldrb r0, [r0, r7]
strb r0, [r6]
_021E7168:
add r2, r2, #1
add r3, #0x20
add r6, r6, #1
cmp r2, #7
blo _021E7158
mov r7, #0
add r6, sp, #0
_021E7176:
ldr r0, [r4, #0xc]
cmp r0, #0
beq _021E71B2
ldr r1, [r4, #8]
mov r0, #0x80
tst r0, r1
bne _021E719A
ldr r2, [r5, #0x34]
ldrb r0, [r6]
add r2, r2, r1
ldr r1, _021E71C0 ; =0x00004094
strb r0, [r2, r1]
ldr r0, [r5, #0x34]
ldr r1, [r4, #8]
mov r2, #1
bl ov14_021F3190
b _021E71B2
_021E719A:
ldr r0, [r4, #4]
cmp r0, #0x1e
blo _021E71A8
ldrb r2, [r6]
ldr r1, [r5, #0x34]
ldr r0, _021E71C4 ; =0x000040B7
strb r2, [r1, r0]
_021E71A8:
ldr r0, [r5, #0x34]
ldr r1, [r4, #4]
mov r2, #1
bl ov14_021F3190
_021E71B2:
add r7, r7, #1
add r4, #0x20
add r6, r6, #1
cmp r7, #7
blo _021E7176
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021E71C0: .word 0x00004094
_021E71C4: .word 0x000040B7
thumb_func_end ov14_021E7148
thumb_func_start ov14_021E71C8
ov14_021E71C8: ; 0x021E71C8
ldr r3, _021E71E4 ; =0x021F7BC0
mov r2, #0
_021E71CC:
ldrh r1, [r3]
cmp r0, r1
bne _021E71D6
add r0, r2, #0
bx lr
_021E71D6:
add r2, r2, #1
add r3, r3, #2
cmp r2, #4
blo _021E71CC
mov r0, #0
mvn r0, r0
bx lr
.balign 4, 0
_021E71E4: .word 0x021F7BC0
thumb_func_end ov14_021E71C8
thumb_func_start ov14_021E71E8
ov14_021E71E8: ; 0x021E71E8
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
mov r0, #0xa
mov r1, #0xc
bl AllocFromHeapAtEnd
ldr r2, [r4, #0x34]
ldr r1, _021E725C ; =0x000088DC
str r0, [r2, r1]
ldr r0, [r4, #0x34]
ldr r6, [r0, r1]
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r2, r0, r1
ldr r1, _021E7260 ; =0x00004094
ldrb r1, [r2, r1]
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
str r0, [r6]
mov r0, #0
strh r0, [r6, #4]
strb r0, [r6, #6]
add r0, r4, #0
ldrb r1, [r4, #0x1f]
add r4, #0x21
ldrb r2, [r4]
bl ov14_021E60C0
mov r5, #0
add r4, r0, #0
sub r7, r5, #1
_021E722E:
add r1, r5, #0
add r0, r4, #0
add r1, #0x36
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl ov14_021E71C8
cmp r0, r7
beq _021E7254
ldrb r2, [r6, #6]
mov r1, #1
lsl r1, r0
add r0, r2, #0
orr r0, r1
strb r0, [r6, #6]
pop {r3, r4, r5, r6, r7, pc}
_021E7254:
add r5, r5, #1
cmp r5, #4
blo _021E722E
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021E725C: .word 0x000088DC
_021E7260: .word 0x00004094
thumb_func_end ov14_021E71E8
thumb_func_start ov14_021E7264
ov14_021E7264: ; 0x021E7264
ldr r1, [r0, #0x34]
ldr r0, _021E7270 ; =0x000088DC
ldr r3, _021E7274 ; =FreeToHeap
ldr r0, [r1, r0]
bx r3
nop
_021E7270: .word 0x000088DC
_021E7274: .word FreeToHeap
thumb_func_end ov14_021E7264
thumb_func_start ov14_021E7278
ov14_021E7278: ; 0x021E7278
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
ldr r1, [r7, #0x34]
ldr r0, _021E7350 ; =0x000088DC
ldr r4, [r1, r0]
ldr r0, _021E7354 ; =0x00000222
ldrh r5, [r4, #4]
cmp r5, r0
bne _021E728E
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E728E:
mov r0, #0
str r0, [sp]
_021E7292:
mov r0, #0x87
lsl r0, r0, #2
cmp r5, r0
bhs _021E72CE
add r0, r5, #0
mov r1, #0x1e
bl _s32_div_f
add r6, r0, #0
add r0, r5, #0
mov r1, #0x1e
bl _s32_div_f
ldrb r0, [r7, #0x1f]
add r2, r1, #0
cmp r6, r0
bne _021E72C2
add r0, r7, #0
add r0, #0x21
ldrb r0, [r0]
cmp r2, r0
bne _021E72C2
mov r6, #0
b _021E72EA
_021E72C2:
add r0, r7, #0
add r1, r6, #0
bl ov14_021E60C0
add r6, r0, #0
b _021E72EA
_021E72CE:
sub r2, r5, r0
add r0, r7, #0
add r0, #0x21
ldrb r0, [r0]
sub r0, #0x1e
cmp r2, r0
bne _021E72E0
mov r6, #0
b _021E72EA
_021E72E0:
add r0, r7, #0
mov r1, #0xff
bl ov14_021E60C0
add r6, r0, #0
_021E72EA:
cmp r6, #0
beq _021E732E
add r0, r6, #0
mov r1, #0xac
mov r2, #0
bl GetBoxMonData
cmp r0, #0
beq _021E732E
mov r5, #0
_021E72FE:
add r1, r5, #0
add r0, r6, #0
add r1, #0x36
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl ov14_021E71C8
mov r1, #0
mvn r1, r1
cmp r0, r1
beq _021E7328
mov r1, #1
lsl r1, r0
mov r0, #0xff
ldrb r2, [r4, #6]
eor r0, r1
and r0, r2
strb r0, [r4, #6]
_021E7328:
add r5, r5, #1
cmp r5, #4
blo _021E72FE
_021E732E:
ldrh r0, [r4, #4]
add r0, r0, #1
strh r0, [r4, #4]
ldrh r5, [r4, #4]
ldr r0, _021E7354 ; =0x00000222
cmp r5, r0
bne _021E7340
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E7340:
ldr r0, [sp]
add r0, r0, #1
str r0, [sp]
cmp r0, #0xf
blo _021E7292
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
nop
_021E7350: .word 0x000088DC
_021E7354: .word 0x00000222
thumb_func_end ov14_021E7278
thumb_func_start ov14_021E7358
ov14_021E7358: ; 0x021E7358
push {r3, r4, r5, r6, r7, lr}
mov r1, #0xac
mov r2, #0
add r7, r0, #0
bl GetBoxMonData
cmp r0, #0
beq _021E7460
mov r0, #0xa
mov r1, #0x1c
bl AllocFromHeap
add r6, r0, #0
str r7, [r6]
add r0, r7, #0
mov r1, #5
mov r2, #0
bl GetBoxMonData
strh r0, [r6, #4]
add r0, r7, #0
mov r1, #6
mov r2, #0
bl GetBoxMonData
mov r1, #0
strh r0, [r6, #6]
add r0, r7, #0
add r2, r1, #0
bl GetBoxMonData
str r0, [r6, #8]
add r0, r7, #0
mov r1, #0xb1
mov r2, #0
bl GetBoxMonData
strb r0, [r6, #0xc]
add r0, r7, #0
mov r1, #0xb2
mov r2, #0
bl GetBoxMonData
strb r0, [r6, #0xd]
add r0, r7, #0
mov r1, #0xa
mov r2, #0
bl GetBoxMonData
strb r0, [r6, #0xe]
add r0, r7, #0
bl sub_0206FE04
strb r0, [r6, #0xf]
add r0, r7, #0
mov r1, #0xb
mov r2, #0
bl GetBoxMonData
strh r0, [r6, #0x10]
add r0, r7, #0
mov r1, #0xa1
mov r2, #0
bl GetBoxMonData
ldrb r1, [r6, #0x12]
mov r2, #0x7f
lsl r0, r0, #0x18
bic r1, r2
lsr r2, r0, #0x18
mov r0, #0x7f
and r0, r2
orr r0, r1
strb r0, [r6, #0x12]
add r0, r7, #0
mov r1, #0x4c
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x18
lsr r0, r0, #0x18
lsl r0, r0, #0x1f
ldrb r1, [r6, #0x12]
mov r2, #0x80
lsr r0, r0, #0x18
bic r1, r2
orr r0, r1
strb r0, [r6, #0x12]
add r0, r7, #0
bl sub_0206FF90
add r2, r6, #0
ldrb r1, [r6, #0x13]
mov r3, #0x7f
add r2, #0x13
bic r1, r3
mov r3, #0x7f
and r0, r3
orr r0, r1
strb r0, [r6, #0x13]
ldrh r0, [r6, #4]
cmp r0, #0x1d
beq _021E743C
cmp r0, #0x20
beq _021E743C
ldrb r0, [r6, #0x12]
lsl r0, r0, #0x18
lsr r0, r0, #0x1f
bne _021E743C
ldrb r1, [r2]
mov r0, #0x80
orr r0, r1
strb r0, [r2]
b _021E7444
_021E743C:
ldrb r1, [r6, #0x13]
mov r0, #0x80
bic r1, r0
strb r1, [r6, #0x13]
_021E7444:
mov r4, #0
add r5, r6, #0
_021E7448:
add r1, r4, #0
add r0, r7, #0
add r1, #0x36
mov r2, #0
bl GetBoxMonData
strh r0, [r5, #0x14]
add r4, r4, #1
add r5, r5, #2
cmp r4, #4
blo _021E7448
b _021E7462
_021E7460:
mov r6, #0
_021E7462:
add r0, r6, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021E7358
thumb_func_start ov14_021E7468
ov14_021E7468: ; 0x021E7468
ldr r3, _021E746C ; =FreeToHeap
bx r3
.balign 4, 0
_021E746C: .word FreeToHeap
thumb_func_end ov14_021E7468
thumb_func_start ov14_021E7470
ov14_021E7470: ; 0x021E7470
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
str r1, [sp]
bl ov14_021F5404
mov r7, #0x2f
add r6, r0, #0
mov r4, #0
lsl r7, r7, #4
_021E7482:
ldr r2, [r5, #0x34]
add r3, r6, r4
ldr r0, [r2, r7]
add r2, #0x30
lsl r3, r3, #4
mov r1, #0x10
add r2, r2, r3
bl sub_02019A60
add r4, r4, #1
cmp r4, #4
blo _021E7482
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88A4
ldr r1, [sp]
add r0, r5, #0
mov r2, #2
bl ov14_021F36DC
ldr r0, [r5, #0x34]
ldr r1, _021E74EC ; =0x000088D0
mov r2, #1
ldrh r1, [r0, r1]
eor r1, r2
add r1, r1, #2
bl ov14_021F2A18
ldr r0, [r5, #0x34]
ldr r1, _021E74EC ; =0x000088D0
mov r2, #0
ldrh r1, [r0, r1]
add r1, r1, #2
bl ov14_021F2A18
ldr r0, [r5, #0x34]
ldr r1, [sp]
bl ov14_021F3D70
ldr r1, [sp]
add r0, r5, #0
bl ov14_021F5368
ldr r1, [sp]
add r0, r5, #0
ldrh r1, [r1, #0x10]
bl ov14_021E895C
pop {r3, r4, r5, r6, r7, pc}
nop
_021E74EC: .word 0x000088D0
thumb_func_end ov14_021E7470
thumb_func_start ov14_021E74F0
ov14_021E74F0: ; 0x021E74F0
push {r4, r5, r6, lr}
add r4, r1, #0
ldrh r1, [r4, #6]
add r5, r0, #0
cmp r1, #0
beq _021E7534
bl ov14_021F5564
add r6, r0, #0
mov r0, #0x2f
ldr r2, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r2, r0]
add r2, #0x30
lsl r3, r6, #4
mov r1, #0x10
add r2, r2, r3
bl sub_02019A60
mov r0, #0x2f
add r3, r6, #1
ldr r2, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r2, r0]
add r2, #0x30
lsl r3, r3, #4
mov r1, #0x10
add r2, r2, r3
bl sub_02019A60
ldrh r1, [r4, #6]
ldr r0, [r5, #0x34]
bl ov14_021F38B0
_021E7534:
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8944
add r0, r5, #0
add r1, r4, #0
mov r2, #2
bl ov14_021F36DC
ldr r0, [r5, #0x34]
ldr r1, _021E7584 ; =0x000088D0
mov r2, #1
ldrh r1, [r0, r1]
eor r1, r2
add r1, r1, #2
bl ov14_021F2A18
ldr r0, [r5, #0x34]
ldr r1, _021E7584 ; =0x000088D0
mov r2, #0
ldrh r1, [r0, r1]
add r1, r1, #2
bl ov14_021F2A18
ldr r0, [r5, #0x34]
add r1, r4, #0
bl ov14_021F3D70
add r0, r5, #0
add r1, r4, #0
bl ov14_021F5368
ldrh r1, [r4, #0x10]
add r0, r5, #0
bl ov14_021E895C
pop {r4, r5, r6, pc}
nop
_021E7584: .word 0x000088D0
thumb_func_end ov14_021E74F0
thumb_func_start ov14_021E7588
ov14_021E7588: ; 0x021E7588
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r2, r1, #0
ldrb r1, [r5, #0x1f]
bl ov14_021E60C0
add r4, r0, #0
beq _021E75E6
bl sub_0206DDD8
add r7, r0, #0
add r0, r4, #0
bl ov14_021E7358
add r6, r0, #0
beq _021E75CA
ldr r0, [r5]
ldr r0, [r0, #8]
cmp r0, #3
bne _021E75BA
add r0, r5, #0
add r1, r6, #0
bl ov14_021E74F0
b _021E75C2
_021E75BA:
add r0, r5, #0
add r1, r6, #0
bl ov14_021E7470
_021E75C2:
add r0, r6, #0
bl ov14_021E7468
b _021E75DC
_021E75CA:
add r0, r5, #0
bl ov14_021E765C
add r0, r4, #0
add r1, r7, #0
bl sub_0206DE00
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E75DC:
add r0, r4, #0
add r1, r7, #0
bl sub_0206DE00
b _021E75F0
_021E75E6:
add r0, r5, #0
bl ov14_021E765C
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E75F0:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov14_021E7588
thumb_func_start ov14_021E75F4
ov14_021E75F4: ; 0x021E75F4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r2, r1, #0
ldrb r1, [r5, #0x1f]
bl ov14_021E60C0
add r4, r0, #0
bl sub_0206DDD8
add r7, r0, #0
add r0, r4, #0
bl ov14_021E7358
add r6, r0, #0
add r0, r5, #0
add r1, r6, #0
mov r2, #2
bl ov14_021F36DC
ldr r0, [r5, #0x34]
ldr r1, _021E7658 ; =0x000088D0
mov r2, #1
ldrh r1, [r0, r1]
eor r1, r2
add r1, r1, #2
bl ov14_021F2A18
ldr r0, [r5, #0x34]
ldr r1, _021E7658 ; =0x000088D0
mov r2, #0
ldrh r1, [r0, r1]
add r1, r1, #2
bl ov14_021F2A18
ldr r0, [r5, #0x34]
add r1, r6, #0
bl ov14_021F3D70
add r0, r5, #0
add r1, r6, #0
bl ov14_021F5368
add r0, r6, #0
bl ov14_021E7468
add r0, r4, #0
add r1, r7, #0
bl sub_0206DE00
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021E7658: .word 0x000088D0
thumb_func_end ov14_021E75F4
thumb_func_start ov14_021E765C
ov14_021E765C: ; 0x021E765C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #2
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #0x34]
mov r1, #3
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #0x34]
mov r1, #0xd
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #0x34]
mov r1, #0xe
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #0x34]
bl ov14_021F53C0
add r0, r4, #0
mov r1, #0
bl ov14_021E895C
ldr r0, [r4]
ldr r1, [r4, #0x34]
ldr r0, [r0, #8]
cmp r0, #3
bne _021E76AC
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8944
pop {r4, pc}
_021E76AC:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88A4
pop {r4, pc}
thumb_func_end ov14_021E765C
thumb_func_start ov14_021E76B8
ov14_021E76B8: ; 0x021E76B8
push {r4, lr}
add r4, r0, #0
bl ov14_021E765C
add r0, r4, #0
mov r1, #0
bl ov14_021F40E8
mov r0, #0xff
add r4, #0x21
strb r0, [r4]
pop {r4, pc}
thumb_func_end ov14_021E76B8
thumb_func_start ov14_021E76D0
ov14_021E76D0: ; 0x021E76D0
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
mov r0, #0xa
add r4, r3, #0
str r0, [sp]
mov r0, #0x13
add r1, #0x10
mov r2, #1
add r3, sp, #4
bl GfGfxLoader_GetCharData
ldr r3, [sp, #4]
add r6, r0, #0
str r4, [sp]
ldr r0, [r5, #0x34]
ldr r2, [r3, #0x14]
ldr r0, [r0, #0x14]
ldr r3, [r3, #0x10]
mov r1, #3
bl BG_LoadCharTilesData
mov r0, #3
str r0, [sp]
ldr r1, [sp, #4]
add r4, #0x15
ldr r2, [r1, #0x14]
mov r1, #0x2a
lsl r1, r1, #4
add r1, r2, r1
add r0, r5, #0
add r2, r4, #0
mov r3, #0x15
bl ov14_021F5718
add r0, r6, #0
bl FreeToHeap
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end ov14_021E76D0
thumb_func_start ov14_021E7720
ov14_021E7720: ; 0x021E7720
push {r3, lr}
sub sp, #8
mov r0, #0x20
add r3, r2, #0
str r0, [sp]
mov r0, #0xa
str r0, [sp, #4]
mov r0, #0x13
add r1, #0x28
mov r2, #0
lsl r3, r3, #5
bl GfGfxLoader_GXLoadPal
add sp, #8
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E7720
thumb_func_start ov14_021E7740
ov14_021E7740: ; 0x021E7740
push {r4, r5, r6, r7, lr}
sub sp, #0x34
str r0, [sp, #0x10]
mov r0, #0xa
str r2, [sp, #0x14]
str r3, [sp, #0x18]
str r0, [sp]
mov r0, #0x13
mov r1, #0xf
mov r2, #1
add r3, sp, #0x30
bl GfGfxLoader_GetScrnData
str r0, [sp, #0x28]
ldr r0, [sp, #0x30]
str r0, [sp, #0x24]
add r0, #0xc
str r0, [sp, #0x24]
mov r0, #0
str r0, [sp, #0x20]
ldr r0, [sp, #0x48]
lsl r0, r0, #0xc
str r0, [sp, #0x1c]
_021E776E:
ldr r0, [sp, #0x20]
mov r1, #0x15
mul r1, r0
ldr r0, [sp, #0x24]
lsl r1, r1, #1
add r6, r0, r1
ldr r0, [sp, #0x20]
ldr r4, [sp, #0x14]
add r0, r0, #1
lsl r0, r0, #0x18
mov r5, #0
lsr r7, r0, #0x18
_021E7786:
lsl r0, r5, #1
ldrh r1, [r6, r0]
ldr r0, _021E7800 ; =0x00000FFF
lsl r3, r4, #0x18
and r1, r0
ldr r0, [sp, #0x1c]
add r2, sp, #0x2c
add r1, r0, r1
ldr r0, [sp, #0x18]
lsr r3, r3, #0x18
add r1, r0, r1
add r0, sp, #0x2c
strh r1, [r0]
str r7, [sp]
mov r0, #1
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, [sp, #0x10]
mov r1, #3
ldr r0, [r0, #0x34]
ldr r0, [r0, #0x14]
bl sub_0201C4C4
add r4, r4, #1
cmp r4, #0x40
blo _021E77BC
mov r4, #0
_021E77BC:
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #0x15
blo _021E7786
ldr r0, [sp, #0x20]
add r0, r0, #1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x20]
cmp r0, #0x14
blo _021E776E
ldr r0, [sp, #0x28]
bl FreeToHeap
mov r0, #0
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
mov r0, #0x14
str r0, [sp, #8]
mov r0, #0x11
str r0, [sp, #0xc]
ldr r0, [sp, #0x10]
lsl r3, r4, #0x18
ldr r0, [r0, #0x34]
ldr r2, _021E7804 ; =0x00001001
ldr r0, [r0, #0x14]
mov r1, #3
lsr r3, r3, #0x18
bl FillBgTilemapRect
add sp, #0x34
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_021E7800: .word 0x00000FFF
_021E7804: .word 0x00001001
thumb_func_end ov14_021E7740
thumb_func_start ov14_021E7808
ov14_021E7808: ; 0x021E7808
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
add r7, r3, #0
bl ov14_021E76D0
ldr r2, [sp, #0x18]
add r0, r5, #0
add r1, r4, #0
bl ov14_021E7720
ldr r0, [sp, #0x18]
add r1, r4, #0
str r0, [sp]
add r0, r5, #0
add r2, r6, #0
add r3, r7, #0
bl ov14_021E7740
ldr r0, [r5, #0x34]
mov r1, #3
ldr r0, [r0, #0x14]
bl ScheduleBgTilemapBufferTransfer
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov14_021E7808
thumb_func_start ov14_021E783C
ov14_021E783C: ; 0x021E783C
push {r3, r4, r5, r6, r7, lr}
cmp r2, #0
bne _021E785A
ldr r4, [r0, #0x34]
ldr r2, _021E78A4 ; =0x00000448
ldrsb r3, [r4, r2]
sub r3, #0x17
strb r3, [r4, r2]
ldr r4, [r0, #0x34]
ldrsb r3, [r4, r2]
cmp r3, #0
bge _021E7874
add r3, #0x40
strb r3, [r4, r2]
b _021E7874
_021E785A:
cmp r2, #1
bne _021E7874
ldr r4, [r0, #0x34]
ldr r2, _021E78A4 ; =0x00000448
ldrsb r3, [r4, r2]
add r3, #0x17
strb r3, [r4, r2]
ldr r4, [r0, #0x34]
ldrsb r3, [r4, r2]
cmp r3, #0x40
blt _021E7874
sub r3, #0x40
strb r3, [r4, r2]
_021E7874:
ldr r6, [r0, #0x34]
ldr r2, _021E78A8 ; =0x00000449
ldrb r2, [r6, r2]
cmp r2, #0
bne _021E7886
mov r3, #0x97
lsl r3, r3, #2
mov r5, #0xe
b _021E788A
_021E7886:
mov r3, #0xb8
mov r5, #0xf
_021E788A:
ldr r7, _021E78A8 ; =0x00000449
mov r2, #1
ldrb r4, [r6, r7]
eor r2, r4
strb r2, [r6, r7]
str r5, [sp]
ldr r4, [r0, #0x34]
sub r2, r7, #1
ldrsb r2, [r4, r2]
bl ov14_021E7808
pop {r3, r4, r5, r6, r7, pc}
nop
_021E78A4: .word 0x00000448
_021E78A8: .word 0x00000449
thumb_func_end ov14_021E783C
thumb_func_start ov14_021E78AC
ov14_021E78AC: ; 0x021E78AC
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
add r7, r1, #0
ldr r0, [r5, #0x34]
ldr r1, _021E7928 ; =0x00000449
ldrb r1, [r0, r1]
cmp r1, #0
bne _021E78C6
mov r6, #0x97
lsl r6, r6, #2
mov r4, #0xe
b _021E78CA
_021E78C6:
mov r6, #0xb8
mov r4, #0xf
_021E78CA:
ldr r1, _021E7928 ; =0x00000449
ldr r3, _021E7928 ; =0x00000449
ldrb r2, [r0, r1]
mov r1, #1
sub r3, r3, #1
eor r2, r1
ldr r1, _021E7928 ; =0x00000449
strb r2, [r0, r1]
ldr r2, [r5, #0x34]
add r0, r5, #0
ldrsb r2, [r2, r3]
add r1, r7, #0
add r3, r6, #0
bl ov14_021E76D0
mov r0, #0
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
lsl r0, r4, #0x14
lsr r0, r0, #0x10
str r0, [sp, #8]
ldr r0, [r5, #0x34]
add r2, r7, #0
ldr r0, [r0, #0x18]
mov r1, #0x13
add r2, #0x28
mov r3, #0xa
bl PaletteData_LoadNarc
str r4, [sp]
ldr r3, [r5, #0x34]
ldr r2, _021E792C ; =0x00000448
add r0, r5, #0
ldrsb r2, [r3, r2]
add r1, r7, #0
add r3, r6, #0
bl ov14_021E7740
ldr r0, [r5, #0x34]
mov r1, #3
ldr r0, [r0, #0x14]
bl ScheduleBgTilemapBufferTransfer
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
_021E7928: .word 0x00000449
_021E792C: .word 0x00000448
thumb_func_end ov14_021E78AC
thumb_func_start ov14_021E7930
ov14_021E7930: ; 0x021E7930
push {r3, lr}
ldr r0, [r0, #4]
bl sub_02073E98
cmp r0, #0x10
blo _021E793E
sub r0, #0x10
_021E793E:
pop {r3, pc}
thumb_func_end ov14_021E7930
thumb_func_start ov14_021E7940
ov14_021E7940: ; 0x021E7940
ldrb r3, [r2]
cmp r0, r3
blt _021E795C
ldrb r3, [r2, #1]
cmp r0, r3
bgt _021E795C
ldrb r0, [r2, #2]
cmp r1, r0
blt _021E795C
ldrb r0, [r2, #3]
cmp r1, r0
bge _021E795C
mov r0, #1
bx lr
_021E795C:
mov r0, #0
bx lr
thumb_func_end ov14_021E7940
thumb_func_start ov14_021E7960
ov14_021E7960: ; 0x021E7960
push {r3, r4, r5, lr}
ldr r2, _021E79A8 ; =_021F7BBC
add r5, r0, #0
add r4, r1, #0
bl ov14_021E7940
cmp r0, #1
bne _021E79A4
cmp r5, #0xc
bge _021E7978
mov r5, #0
b _021E798E
_021E7978:
cmp r5, #0x9c
blt _021E7980
mov r5, #5
b _021E798E
_021E7980:
sub r5, #0xc
add r0, r5, #0
mov r1, #0x18
bl _s32_div_f
lsl r0, r0, #0x10
asr r5, r0, #0x10
_021E798E:
sub r4, #0x28
add r0, r4, #0
mov r1, #0x18
bl _s32_div_f
lsl r0, r0, #0x10
asr r1, r0, #0x10
mov r0, #6
mul r0, r1
add r0, r5, r0
pop {r3, r4, r5, pc}
_021E79A4:
mov r0, #0xff
pop {r3, r4, r5, pc}
.balign 4, 0
_021E79A8: .word _021F7BBC
thumb_func_end ov14_021E7960
thumb_func_start ov14_021E79AC
ov14_021E79AC: ; 0x021E79AC
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
add r7, r1, #0
add r5, r2, #0
mov r4, #0
_021E79B6:
add r0, r6, #0
add r1, r7, #0
add r2, r5, #0
bl ov14_021E7940
cmp r0, #1
bne _021E79CA
add r4, #0x1e
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_021E79CA:
add r4, r4, #1
add r5, r5, #4
cmp r4, #6
blo _021E79B6
mov r0, #0xff
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021E79AC
thumb_func_start ov14_021E79D8
ov14_021E79D8: ; 0x021E79D8
push {r3, r4, r5, r6, r7, lr}
ldr r5, _021E7A04 ; =0x021F7BD8
add r6, r0, #0
add r7, r1, #0
mov r4, #0
_021E79E2:
add r0, r6, #0
add r1, r7, #0
add r2, r5, #0
bl ov14_021E7940
cmp r0, #1
bne _021E79F6
add r4, #0x80
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_021E79F6:
add r4, r4, #1
add r5, r5, #4
cmp r4, #6
blo _021E79E2
mov r0, #0xff
pop {r3, r4, r5, r6, r7, pc}
nop
_021E7A04: .word 0x021F7BD8
thumb_func_end ov14_021E79D8
thumb_func_start ov14_021E7A08
ov14_021E7A08: ; 0x021E7A08
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r7, r1, #0
ldr r1, [r0, #0x34]
mov r0, #0xca
lsl r0, r0, #2
add r5, r2, #0
ldr r4, [r1, #0xc]
ldr r0, [r1, r0]
add r1, sp, #4
add r1, #2
add r2, sp, #4
add r6, r3, #0
bl sub_0200DE44
add r1, sp, #0
add r0, r5, #0
add r1, #2
add r2, sp, #0
add r3, r6, #0
bl ov14_021F2F88
ldr r0, [sp, #0x20]
add r1, sp, #0
cmp r0, #1
bne _021E7A4C
mov r0, #2
ldrsh r0, [r1, r0]
add r0, #8
strh r0, [r1, #2]
mov r0, #0
ldrsh r0, [r1, r0]
add r0, #8
b _021E7A52
_021E7A4C:
mov r0, #0
ldrsh r0, [r1, r0]
add r0, r0, #4
_021E7A52:
strh r0, [r1]
strh r5, [r4]
strh r7, [r4, #2]
ldr r2, [r4, #0x18]
mov r0, #3
and r0, r2
str r0, [r4, #0x18]
str r6, [r4, #4]
add r3, sp, #0
mov r0, #2
mov r2, #6
add r1, r4, #0
ldrsh r0, [r3, r0]
ldrsh r2, [r3, r2]
add r1, #0x18
cmp r2, r0
ldr r5, [r1]
ble _021E7A84
mov r3, #1
bic r5, r3
mov r3, #1
orr r3, r5
str r3, [r1]
sub r0, r2, r0
b _021E7A8C
_021E7A84:
mov r3, #1
bic r5, r3
str r5, [r1]
sub r0, r0, r2
_021E7A8C:
lsl r1, r0, #8
asr r0, r1, #2
lsr r0, r0, #0x1d
add r0, r1, r0
asr r0, r0, #3
str r0, [r4, #0x10]
add r3, sp, #0
mov r0, #0
mov r1, #4
ldrsh r0, [r3, r0]
ldrsh r1, [r3, r1]
cmp r1, r0
ldr r5, [r4, #0x18]
ble _021E7AB2
mov r3, #2
orr r3, r5
str r3, [r4, #0x18]
sub r0, r1, r0
b _021E7ABA
_021E7AB2:
mov r3, #2
bic r5, r3
str r5, [r4, #0x18]
sub r0, r0, r1
_021E7ABA:
lsl r3, r0, #8
asr r0, r3, #2
lsr r0, r0, #0x1d
add r0, r3, r0
asr r0, r0, #3
str r0, [r4, #0x14]
lsl r0, r2, #8
str r0, [r4, #8]
lsl r0, r1, #8
str r0, [r4, #0xc]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021E7A08
thumb_func_start ov14_021E7AD4
ov14_021E7AD4: ; 0x021E7AD4
push {r3, r4, lr}
sub sp, #4
mov r4, #1
str r4, [sp]
bl ov14_021E7A08
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov14_021E7AD4
thumb_func_start ov14_021E7AE4
ov14_021E7AE4: ; 0x021E7AE4
push {r3, r4, lr}
sub sp, #4
add r4, r1, #0
mov r1, #0
str r1, [sp]
add r3, r2, #0
ldr r2, [r0, #0x34]
ldr r1, _021E7B00 ; =0x0000044C
ldrb r1, [r2, r1]
add r2, r4, #0
bl ov14_021E7A08
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_021E7B00: .word 0x0000044C
thumb_func_end ov14_021E7AE4
thumb_func_start ov14_021E7B04
ov14_021E7B04: ; 0x021E7B04
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r4, [r0, #0xc]
ldr r2, [r4, #0x18]
lsr r3, r2, #2
cmp r3, #8
bne _021E7B32
cmp r1, #1
ldrh r1, [r4]
bne _021E7B22
ldr r2, [r4, #4]
bl ov14_021F396C
b _021E7B28
_021E7B22:
ldr r2, [r4, #4]
bl ov14_021F39A0
_021E7B28:
ldr r0, [r5, #0x34]
bl ov14_021F3B5C
mov r0, #0
pop {r3, r4, r5, pc}
_021E7B32:
lsl r0, r2, #0x1f
lsr r0, r0, #0x1f
ldr r1, [r4, #8]
bne _021E7B40
ldr r0, [r4, #0x10]
add r0, r1, r0
b _021E7B44
_021E7B40:
ldr r0, [r4, #0x10]
sub r0, r1, r0
_021E7B44:
str r0, [r4, #8]
ldr r0, [r4, #0x18]
ldr r1, [r4, #0xc]
lsl r0, r0, #0x1e
lsr r0, r0, #0x1f
bne _021E7B56
ldr r0, [r4, #0x14]
add r0, r1, r0
b _021E7B5A
_021E7B56:
ldr r0, [r4, #0x14]
sub r0, r1, r0
_021E7B5A:
str r0, [r4, #0xc]
ldr r1, [r4, #8]
ldr r2, [r4, #0xc]
lsl r1, r1, #8
lsl r2, r2, #8
ldr r0, [r5, #0x34]
asr r1, r1, #0x10
asr r2, r2, #0x10
bl ov14_021F395C
ldr r0, [r5, #0x34]
bl ov14_021F3B5C
ldr r1, [r4, #0x18]
mov r0, #3
add r2, r1, #0
and r2, r0
lsr r0, r1, #2
add r0, r0, #1
lsl r0, r0, #2
orr r0, r2
str r0, [r4, #0x18]
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021E7B04
thumb_func_start ov14_021E7B8C
ov14_021E7B8C: ; 0x021E7B8C
ldr r3, _021E7B94 ; =ov14_021E7B04
mov r1, #1
bx r3
nop
_021E7B94: .word ov14_021E7B04
thumb_func_end ov14_021E7B8C
thumb_func_start ov14_021E7B98
ov14_021E7B98: ; 0x021E7B98
ldr r3, _021E7BA0 ; =ov14_021E7B04
mov r1, #0
bx r3
nop
_021E7BA0: .word ov14_021E7B04
thumb_func_end ov14_021E7B98
thumb_func_start ov14_021E7BA4
ov14_021E7BA4: ; 0x021E7BA4
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #2
ldr r0, [r0, #0x14]
mov r2, #0x11
mov r3, #0xa
bl sub_0201956C
mov r1, #0x2f
ldr r2, [r4, #0x34]
lsl r1, r1, #4
str r0, [r2, r1]
mov r0, #7
str r0, [sp]
ldr r0, [r4, #0x34]
mov r2, #1
ldr r0, [r0, r1]
mov r1, #0xd
mov r3, #0x20
bl sub_020195F4
mov r0, #0x12
str r0, [sp]
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #1
add r2, r1, #0
mov r3, #0xb
bl sub_020195F4
mov r0, #0x12
str r0, [sp]
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #2
mov r2, #0
mov r3, #0xb
bl sub_020195F4
mov r0, #6
str r0, [sp]
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xc
mov r2, #0
mov r3, #0xb
bl sub_020195F4
ldr r0, [r4, #0x34]
bl ov14_021F6244
ldr r0, [r4, #0x34]
bl ov14_021F62CC
ldr r0, [r4, #0x34]
bl ov14_021F62E4
ldr r0, [r4, #0x34]
bl ov14_021F62FC
add r0, r4, #0
bl ov14_021F6314
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #0
bne _021E7C62
mov r0, #7
str r0, [sp]
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0
add r2, r1, #0
mov r3, #0x20
bl sub_020195F4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0
mov r2, #0xc
bl ov14_021E7D8C
b _021E7C88
_021E7C62:
mov r0, #6
str r0, [sp]
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0
mov r2, #1
mov r3, #0x20
bl sub_020195F4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0
mov r2, #0xb
bl ov14_021E7D8C
_021E7C88:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xd
add r2, r1, #0
bl ov14_021E7D8C
ldr r0, [r4]
ldr r1, [r4, #0x34]
ldr r0, [r0, #8]
cmp r0, #1
bhi _021E7CB2
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #1
mov r2, #9
bl ov14_021E7D8C
b _021E7CC4
_021E7CB2:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #1
bl ov14_021E81A8
ldr r0, [r4, #0x34]
bl ov14_021F63F0
_021E7CC4:
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #3
bne _021E7D06
mov r0, #9
str r0, [sp]
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0x10
mov r2, #6
mov r3, #0x20
bl sub_020195F4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0x10
mov r2, #0
mov r3, #0x18
bl sub_020196E8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0x10
mov r2, #0x55
bl ov14_021E7D8C
b _021E7D3E
_021E7D06:
mov r0, #0xa
str r0, [sp]
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0x10
mov r2, #6
mov r3, #0xc
bl sub_020195F4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0x10
mov r2, #0x20
mov r3, #0xc
bl sub_020196E8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0x10
mov r2, #0x56
bl ov14_021E7D8C
_021E7D3E:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #2
mov r2, #0xa
bl ov14_021E7D8C
ldr r0, [r4, #0x34]
bl ov14_021F63C8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8394
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85AC
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8600
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov14_021E7BA4
thumb_func_start ov14_021E7D7C
ov14_021E7D7C: ; 0x021E7D7C
mov r1, #0x2f
lsl r1, r1, #4
ldr r3, _021E7D88 ; =sub_020195C0
ldr r0, [r0, r1]
bx r3
nop
_021E7D88: .word sub_020195C0
thumb_func_end ov14_021E7D7C
thumb_func_start ov14_021E7D8C
ov14_021E7D8C: ; 0x021E7D8C
push {r3, lr}
add r3, r2, #0
mov r2, #1
str r2, [sp]
mov r2, #0x13
bl sub_02019688
pop {r3, pc}
thumb_func_end ov14_021E7D8C
thumb_func_start ov14_021E7D9C
ov14_021E7D9C: ; 0x021E7D9C
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #2
bl sub_02019B08
lsr r2, r4, #1
lsl r1, r2, #1
add r1, r2, r1
add r1, r1, #2
lsl r1, r1, #0x18
lsr r2, r1, #0x18
mov r1, #0xb
mul r1, r2
lsl r1, r1, #1
add r1, r0, r1
lsl r0, r4, #0x1f
lsr r0, r0, #0x1d
add r0, r0, #3
lsl r0, r0, #0x18
ldr r3, [r5, #0x34]
ldr r2, _021E7DF4 ; =0x000040C0
lsr r0, r0, #0x17
ldr r3, [r3, r2]
mov r2, #1
lsl r2, r4
tst r2, r3
bne _021E7DE0
add r4, #0xb
b _021E7DE2
_021E7DE0:
add r4, #0x2b
_021E7DE2:
lsl r2, r4, #0x10
lsr r4, r2, #0x10
mov r2, #0xf
ldrh r3, [r1, r0]
lsl r2, r2, #0xc
and r2, r3
add r2, r2, r4
strh r2, [r1, r0]
pop {r3, r4, r5, pc}
.balign 4, 0
_021E7DF4: .word 0x000040C0
thumb_func_end ov14_021E7D9C
thumb_func_start ov14_021E7DF8
ov14_021E7DF8: ; 0x021E7DF8
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_021E7DFE:
add r0, r5, #0
add r1, r4, #0
bl ov14_021E7D9C
add r4, r4, #1
cmp r4, #6
blo _021E7DFE
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021E7DF8
thumb_func_start ov14_021E7E10
ov14_021E7E10: ; 0x021E7E10
push {r4, r5, r6, lr}
add r4, r0, #0
ldr r5, [r4, #0x34]
ldr r6, _021E7E3C ; =0x000040C0
mov r2, #1
ldr r3, [r5, r6]
lsl r2, r1
eor r2, r3
str r2, [r5, r6]
bl ov14_021E7D9C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #2
mov r2, #0x15
mov r3, #6
bl sub_020196E8
pop {r4, r5, r6, pc}
nop
_021E7E3C: .word 0x000040C0
thumb_func_end ov14_021E7E10
thumb_func_start ov14_021E7E40
ov14_021E7E40: ; 0x021E7E40
push {r3, r4, lr}
sub sp, #4
mov r1, #2
mov r2, #0x15
mov r3, #0x18
add r4, r0, #0
bl sub_020196E8
mov r0, #0x12
mov r2, #0
str r0, [sp]
add r0, r4, #0
mov r1, #2
sub r3, r2, #1
bl sub_020198FC
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov14_021E7E40
thumb_func_start ov14_021E7E64
ov14_021E7E64: ; 0x021E7E64
push {r3, lr}
mov r1, #0x12
str r1, [sp]
mov r1, #2
mov r2, #0
mov r3, #1
bl sub_020198FC
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E7E64
thumb_func_start ov14_021E7E78
ov14_021E7E78: ; 0x021E7E78
push {r3, lr}
mov r1, #1
mov r2, #2
mov r3, #6
bl sub_020196E8
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E7E78
thumb_func_start ov14_021E7E88
ov14_021E7E88: ; 0x021E7E88
push {r3, lr}
mov r1, #1
mov r2, #0x15
mov r3, #6
bl sub_020196E8
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E7E88
thumb_func_start ov14_021E7E98
ov14_021E7E98: ; 0x021E7E98
push {r3, lr}
sub sp, #0x10
mov r1, #0x15
str r1, [sp]
mov r1, #0xb
str r1, [sp, #4]
mov r1, #0x12
str r1, [sp, #8]
mov r1, #0x10
str r1, [sp, #0xc]
ldr r0, [r0, #0x34]
mov r1, #1
ldr r0, [r0, #0x14]
mov r2, #0
mov r3, #2
bl FillBgTilemapRect
add sp, #0x10
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E7E98
thumb_func_start ov14_021E7EC0
ov14_021E7EC0: ; 0x021E7EC0
push {r3, lr}
mov r1, #1
mov r2, #2
mov r3, #0x18
bl sub_020196E8
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E7EC0
thumb_func_start ov14_021E7ED0
ov14_021E7ED0: ; 0x021E7ED0
push {r3, lr}
mov r1, #1
mov r2, #0x15
mov r3, #0x18
bl sub_020196E8
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E7ED0
thumb_func_start ov14_021E7EE0
ov14_021E7EE0: ; 0x021E7EE0
push {r3, r4, r5, lr}
sub sp, #8
add r2, sp, #4
mov r1, #1
add r2, #1
add r3, sp, #4
add r4, r0, #0
bl sub_02019B1C
add r0, sp, #4
mov r2, #0
ldrsb r0, [r0, r2]
cmp r0, #6
beq _021E7F46
sub r0, r0, #6
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r1, #1
str r0, [sp]
add r0, r4, #0
sub r3, r1, #2
bl sub_020198FC
add r5, sp, #4
mov r0, #1
ldrsb r0, [r5, r0]
cmp r0, #2
bne _021E7F46
mov r3, #0
ldrsb r3, [r5, r3]
add r0, r4, #0
mov r1, #0xa
add r3, #0xf
lsl r3, r3, #0x18
mov r2, #0x18
asr r3, r3, #0x18
bl sub_020196E8
mov r1, #0xa
add r3, r1, #0
add r0, r5, #0
mov r2, #0
ldrsb r0, [r0, r2]
sub r3, #0xb
sub r0, r0, #6
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
add r0, r4, #0
bl sub_020198FC
_021E7F46:
add sp, #8
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021E7EE0
thumb_func_start ov14_021E7F4C
ov14_021E7F4C: ; 0x021E7F4C
push {r3, r4, r5, lr}
sub sp, #8
add r2, sp, #4
mov r1, #1
add r2, #1
add r3, sp, #4
add r4, r0, #0
bl sub_02019B1C
add r0, sp, #4
mov r2, #0
ldrsb r1, [r0, r2]
cmp r1, #0x18
beq _021E7FB4
mov r0, #0x18
sub r0, r0, r1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r1, #1
str r0, [sp]
add r0, r4, #0
add r3, r1, #0
bl sub_020198FC
add r5, sp, #4
mov r0, #1
ldrsb r0, [r5, r0]
cmp r0, #2
bne _021E7FB4
mov r3, #0
ldrsb r3, [r5, r3]
add r0, r4, #0
mov r1, #0xa
add r3, #0xf
lsl r3, r3, #0x18
mov r2, #0x18
asr r3, r3, #0x18
bl sub_020196E8
add r0, r5, #0
mov r2, #0
ldrsb r1, [r0, r2]
mov r0, #0x18
mov r3, #1
sub r0, r0, r1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
add r0, r4, #0
mov r1, #0xa
bl sub_020198FC
_021E7FB4:
add sp, #8
pop {r3, r4, r5, pc}
thumb_func_end ov14_021E7F4C
thumb_func_start ov14_021E7FB8
ov14_021E7FB8: ; 0x021E7FB8
push {r4, lr}
sub sp, #8
add r2, sp, #4
mov r1, #1
add r2, #1
add r3, sp, #4
add r4, r0, #0
bl sub_02019B1C
add r0, sp, #4
mov r2, #0
ldrsb r1, [r0, r2]
cmp r1, #0x18
beq _021E7FE8
mov r0, #0x18
sub r0, r0, r1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r1, #1
str r0, [sp]
add r0, r4, #0
add r3, r1, #0
bl sub_020198FC
_021E7FE8:
add sp, #8
pop {r4, pc}
thumb_func_end ov14_021E7FB8
thumb_func_start ov14_021E7FEC
ov14_021E7FEC: ; 0x021E7FEC
push {r4, lr}
sub sp, #8
add r2, sp, #4
mov r1, #1
add r2, #1
add r3, sp, #4
add r4, r0, #0
bl sub_02019B1C
add r0, sp, #4
mov r2, #0
ldrsb r0, [r0, r2]
cmp r0, #6
beq _021E801A
sub r0, r0, #6
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r1, #1
str r0, [sp]
add r0, r4, #0
sub r3, r1, #2
bl sub_020198FC
_021E801A:
add sp, #8
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021E7FEC
thumb_func_start ov14_021E8020
ov14_021E8020: ; 0x021E8020
push {r3, r4, lr}
sub sp, #4
mov r1, #0x13
str r1, [sp]
mov r1, #1
add r2, r1, #0
mov r3, #0
add r4, r0, #0
bl sub_020198FC
mov r0, #0x13
str r0, [sp]
add r0, r4, #0
mov r1, #0xa
mov r2, #1
mov r3, #0
bl sub_020198FC
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov14_021E8020
thumb_func_start ov14_021E8048
ov14_021E8048: ; 0x021E8048
push {r3, lr}
mov r1, #0x13
str r1, [sp]
mov r1, #1
add r2, r1, #0
mov r3, #0
bl sub_020198FC
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E8048
thumb_func_start ov14_021E805C
ov14_021E805C: ; 0x021E805C
push {r3, r4, lr}
sub sp, #4
mov r1, #0x13
str r1, [sp]
mov r1, #1
add r4, r0, #0
sub r2, r1, #2
mov r3, #0
bl sub_020198FC
add r0, r4, #0
mov r1, #0xa
mov r2, #0x2b
mov r3, #0x15
bl sub_020196E8
mov r1, #0xa
mov r0, #0x13
add r2, r1, #0
str r0, [sp]
add r0, r4, #0
sub r2, #0xb
mov r3, #0
bl sub_020198FC
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov14_021E805C
thumb_func_start ov14_021E8094
ov14_021E8094: ; 0x021E8094
push {r3, lr}
mov r1, #0x13
str r1, [sp]
mov r1, #1
sub r2, r1, #2
mov r3, #0
bl sub_020198FC
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E8094
thumb_func_start ov14_021E80A8
ov14_021E80A8: ; 0x021E80A8
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r2, sp, #0
add r3, sp, #0
mov r1, #1
add r2, #3
add r3, #2
bl sub_02019B1C
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #1
bl sub_02019978
add r6, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
bl sub_02019978
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xf
bl sub_02019978
mov r0, #0x2f
add r2, sp, #0
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #1
add r2, #1
add r3, sp, #0
bl sub_02019B1C
add r0, sp, #0
mov r1, #3
ldrsb r2, [r0, r1]
mov r1, #1
ldrsb r1, [r0, r1]
cmp r2, r1
bne _021E8120
mov r1, #2
ldrsb r2, [r0, r1]
mov r1, #0
ldrsb r0, [r0, r1]
cmp r2, r0
beq _021E8126
_021E8120:
add r0, r5, #0
bl ov14_021F32E0
_021E8126:
cmp r6, #0
bne _021E8134
cmp r4, #0
bne _021E8134
add sp, #4
mov r0, #0
pop {r3, r4, r5, r6, pc}
_021E8134:
mov r0, #1
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov14_021E80A8
thumb_func_start ov14_021E813C
ov14_021E813C: ; 0x021E813C
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r2, sp, #0
add r3, sp, #0
mov r1, #1
add r2, #3
add r3, #2
bl sub_02019B1C
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #1
bl sub_02019978
add r4, r0, #0
mov r0, #0x2f
add r2, sp, #0
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #1
add r2, #1
add r3, sp, #0
bl sub_02019B1C
add r1, sp, #0
mov r0, #3
ldrsb r2, [r1, r0]
mov r0, #1
ldrsb r0, [r1, r0]
cmp r2, r0
bne _021E8194
mov r0, #2
ldrsb r2, [r1, r0]
mov r0, #0
ldrsb r0, [r1, r0]
cmp r2, r0
beq _021E819A
_021E8194:
add r0, r5, #0
bl ov14_021F32E0
_021E819A:
cmp r4, #0
beq _021E81A2
mov r0, #1
pop {r3, r4, r5, pc}
_021E81A2:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021E813C
thumb_func_start ov14_021E81A8
ov14_021E81A8: ; 0x021E81A8
ldr r3, _021E81B0 ; =ov14_021E7D8C
mov r2, #8
bx r3
nop
_021E81B0: .word ov14_021E7D8C
thumb_func_end ov14_021E81A8
thumb_func_start ov14_021E81B4
ov14_021E81B4: ; 0x021E81B4
push {r3, r4, lr}
sub sp, #4
mov r2, #0
mov r1, #0xd
sub r3, r2, #7
add r4, r0, #0
bl sub_020196E8
mov r0, #7
str r0, [sp]
add r0, r4, #0
mov r1, #0xd
mov r2, #0
mov r3, #1
bl sub_020198FC
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov14_021E81B4
thumb_func_start ov14_021E81D8
ov14_021E81D8: ; 0x021E81D8
push {r3, r4, lr}
sub sp, #4
mov r2, #0
mov r1, #0xd
add r3, r2, #0
add r4, r0, #0
bl sub_020196E8
mov r0, #7
mov r2, #0
str r0, [sp]
add r0, r4, #0
mov r1, #0xd
sub r3, r2, #1
bl sub_020198FC
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov14_021E81D8
thumb_func_start ov14_021E81FC
ov14_021E81FC: ; 0x021E81FC
push {r4, lr}
add r4, r0, #0
mov r1, #0
bl ov14_021F5C84
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #8
mov r2, #0
mov r3, #0x15
bl sub_020196E8
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021E81FC
thumb_func_start ov14_021E821C
ov14_021E821C: ; 0x021E821C
push {r3, lr}
ldr r1, [r0, #0x34]
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #8
mov r2, #0
mov r3, #0x18
bl sub_020196E8
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E821C
thumb_func_start ov14_021E8234
ov14_021E8234: ; 0x021E8234
push {r3, lr}
mov r1, #3
str r1, [sp]
mov r1, #8
mov r2, #0
mov r3, #1
bl sub_020198FC
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E8234
thumb_func_start ov14_021E8248
ov14_021E8248: ; 0x021E8248
push {r3, lr}
mov r1, #3
mov r2, #0
str r1, [sp]
mov r1, #8
sub r3, r2, #1
bl sub_020198FC
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E8248
thumb_func_start ov14_021E825C
ov14_021E825C: ; 0x021E825C
push {r4, lr}
add r4, r0, #0
mov r1, #0
bl ov14_021F5E94
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #9
mov r2, #0xc
mov r3, #0x15
bl sub_020196E8
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021E825C
thumb_func_start ov14_021E827C
ov14_021E827C: ; 0x021E827C
push {r3, lr}
ldr r1, [r0, #0x34]
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #9
mov r2, #0xc
mov r3, #0x18
bl sub_020196E8
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E827C
thumb_func_start ov14_021E8294
ov14_021E8294: ; 0x021E8294
push {r3, lr}
mov r1, #3
str r1, [sp]
mov r1, #9
mov r2, #0
mov r3, #1
bl sub_020198FC
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E8294
thumb_func_start ov14_021E82A8
ov14_021E82A8: ; 0x021E82A8
push {r3, lr}
mov r1, #3
mov r2, #0
str r1, [sp]
mov r1, #9
sub r3, r2, #1
bl sub_020198FC
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E82A8
thumb_func_start ov14_021E82BC
ov14_021E82BC: ; 0x021E82BC
push {r4, lr}
add r4, r0, #0
mov r1, #0
bl ov14_021F5EB4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
mov r2, #0x18
mov r3, #0x15
bl sub_020196E8
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021E82BC
thumb_func_start ov14_021E82DC
ov14_021E82DC: ; 0x021E82DC
push {r4, lr}
add r4, r0, #0
mov r1, #0
bl ov14_021F5EC4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
mov r2, #0x18
mov r3, #0x15
bl sub_020196E8
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021E82DC
thumb_func_start ov14_021E82FC
ov14_021E82FC: ; 0x021E82FC
push {r4, lr}
mov r1, #0xa
add r4, r0, #0
bl sub_0201980C
mov r2, #0x18
add r0, r4, #0
mov r1, #0xa
add r3, r2, #0
bl sub_020196E8
pop {r4, pc}
thumb_func_end ov14_021E82FC
thumb_func_start ov14_021E8314
ov14_021E8314: ; 0x021E8314
push {r3, lr}
mov r1, #3
str r1, [sp]
mov r1, #0xa
mov r2, #0
mov r3, #1
bl sub_020198FC
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E8314
thumb_func_start ov14_021E8328
ov14_021E8328: ; 0x021E8328
push {r3, r4, lr}
sub sp, #4
mov r2, #0x18
mov r1, #0xa
add r3, r2, #0
add r4, r0, #0
bl sub_020196E8
mov r0, #3
mov r2, #0
str r0, [sp]
add r0, r4, #0
mov r1, #0xa
sub r3, r2, #1
bl sub_020198FC
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov14_021E8328
thumb_func_start ov14_021E834C
ov14_021E834C: ; 0x021E834C
push {r3, lr}
add r2, sp, #0
mov r1, #0xb
add r2, #1
add r3, sp, #0
bl sub_02019B1C
add r1, sp, #0
mov r0, #0
ldrsb r1, [r1, r0]
cmp r1, #0x15
bne _021E8366
mov r0, #1
_021E8366:
pop {r3, pc}
thumb_func_end ov14_021E834C
thumb_func_start ov14_021E8368
ov14_021E8368: ; 0x021E8368
push {r4, lr}
add r4, r0, #0
mov r1, #8
bl sub_0201980C
add r0, r4, #0
mov r1, #9
bl sub_0201980C
add r0, r4, #0
mov r1, #8
mov r2, #0
mov r3, #0x18
bl sub_020196E8
add r0, r4, #0
mov r1, #9
mov r2, #0xc
mov r3, #0x18
bl sub_020196E8
pop {r4, pc}
thumb_func_end ov14_021E8368
thumb_func_start ov14_021E8394
ov14_021E8394: ; 0x021E8394
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
mov r4, #0
mov r5, #5
mov r7, #0x20
_021E839E:
lsl r3, r5, #0x18
add r0, r6, #0
add r1, r4, #3
add r2, r7, #0
asr r3, r3, #0x18
bl sub_020196E8
add r4, r4, #1
add r5, r5, #3
cmp r4, #5
blo _021E839E
mov r2, #0x18
add r0, r6, #0
mov r1, #0xb
add r3, r2, #0
bl sub_020196E8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021E8394
thumb_func_start ov14_021E83C4
ov14_021E83C4: ; 0x021E83C4
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
mov r4, #0
mov r5, #5
mov r7, #0x15
_021E83CE:
lsl r3, r5, #0x18
add r0, r6, #0
add r1, r4, #3
add r2, r7, #0
asr r3, r3, #0x18
bl sub_020196E8
add r4, r4, #1
add r5, r5, #3
cmp r4, #5
blo _021E83CE
add r0, r6, #0
mov r1, #0xb
mov r2, #0x18
mov r3, #0x15
bl sub_020196E8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021E83C4
thumb_func_start ov14_021E83F4
ov14_021E83F4: ; 0x021E83F4
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
mov r4, #0
mov r5, #5
mov r7, #0x20
_021E83FE:
add r0, r6, #0
add r1, r4, #3
bl sub_0201980C
lsl r3, r5, #0x18
add r0, r6, #0
add r1, r4, #3
add r2, r7, #0
asr r3, r3, #0x18
bl sub_020196E8
add r4, r4, #1
add r5, r5, #3
cmp r4, #5
blo _021E83FE
add r0, r6, #0
mov r1, #0xb
bl sub_0201980C
mov r2, #0x18
add r0, r6, #0
mov r1, #0xb
add r3, r2, #0
bl sub_020196E8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021E83F4
thumb_func_start ov14_021E8434
ov14_021E8434: ; 0x021E8434
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r2, sp, #4
mov r1, #3
add r2, #1
add r3, sp, #4
add r5, r0, #0
bl sub_02019B1C
add r6, sp, #4
mov r0, #1
ldrsb r0, [r6, r0]
cmp r0, #0x15
beq _021E849E
mov r4, #0
mov r7, #1
_021E8454:
ldrsb r0, [r6, r7]
mov r2, #0
add r1, r4, #3
sub r0, #0x15
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
add r0, r5, #0
mvn r2, r2
mov r3, #0
bl sub_020198FC
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, #5
blo _021E8454
add r2, sp, #4
add r0, r5, #0
mov r1, #0xb
add r2, #1
add r3, sp, #4
bl sub_02019B1C
mov r1, #0xb
add r3, r1, #0
add r0, sp, #4
mov r2, #0
ldrsb r0, [r0, r2]
sub r3, #0xc
sub r0, #0x15
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
add r0, r5, #0
bl sub_020198FC
_021E849E:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021E8434
thumb_func_start ov14_021E84A4
ov14_021E84A4: ; 0x021E84A4
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r2, sp, #4
mov r1, #3
add r2, #1
add r3, sp, #4
add r5, r0, #0
bl sub_02019B1C
add r6, sp, #4
mov r0, #1
ldrsb r0, [r6, r0]
cmp r0, #0x20
beq _021E850E
mov r4, #0
mov r7, #0x20
_021E84C4:
mov r0, #1
ldrsb r0, [r6, r0]
add r1, r4, #3
mov r2, #1
sub r0, r7, r0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
add r0, r5, #0
mov r3, #0
bl sub_020198FC
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, #5
blo _021E84C4
add r2, sp, #4
add r0, r5, #0
mov r1, #0xb
add r2, #1
add r3, sp, #4
bl sub_02019B1C
add r0, sp, #4
mov r2, #0
ldrsb r1, [r0, r2]
mov r0, #0x18
mov r3, #1
sub r0, r0, r1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
add r0, r5, #0
mov r1, #0xb
bl sub_020198FC
_021E850E:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021E84A4
thumb_func_start ov14_021E8514
ov14_021E8514: ; 0x021E8514
push {r3, r4, r5, r6, r7, lr}
mov r6, #0
add r5, r0, #0
add r4, r6, #0
mov r7, #1
_021E851E:
add r0, r5, #0
add r1, r4, #3
bl sub_02019978
cmp r0, #1
bne _021E852C
add r6, r7, #0
_021E852C:
add r4, r4, #1
cmp r4, #5
blo _021E851E
add r0, r5, #0
mov r1, #0xb
bl sub_02019978
cmp r0, #1
bne _021E8540
mov r6, #1
_021E8540:
add r0, r6, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov14_021E8514
thumb_func_start ov14_021E8544
ov14_021E8544: ; 0x021E8544
push {r3, lr}
add r2, sp, #0
mov r1, #3
add r2, #1
add r3, sp, #0
bl sub_02019B1C
add r1, sp, #0
mov r0, #1
ldrsb r1, [r1, r0]
cmp r1, #0x20
bne _021E855E
mov r0, #0
_021E855E:
pop {r3, pc}
thumb_func_end ov14_021E8544
thumb_func_start ov14_021E8560
ov14_021E8560: ; 0x021E8560
push {r3, r4, lr}
sub sp, #4
mov r1, #0xc
mov r2, #0x20
mov r3, #0xe
add r4, r0, #0
bl sub_020196E8
mov r1, #0xc
mov r0, #0xb
add r2, r1, #0
str r0, [sp]
add r0, r4, #0
sub r2, #0xd
mov r3, #0
bl sub_020198FC
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov14_021E8560
thumb_func_start ov14_021E8588
ov14_021E8588: ; 0x021E8588
push {r3, r4, lr}
sub sp, #4
mov r1, #0xc
mov r2, #0x15
mov r3, #0xe
add r4, r0, #0
bl sub_020196E8
mov r0, #0xb
str r0, [sp]
add r0, r4, #0
mov r1, #0xc
mov r2, #1
mov r3, #0
bl sub_020198FC
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov14_021E8588
thumb_func_start ov14_021E85AC
ov14_021E85AC: ; 0x021E85AC
push {r3, lr}
mov r1, #0xe
mov r2, #0
mov r3, #0x18
bl sub_020196E8
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E85AC
thumb_func_start ov14_021E85BC
ov14_021E85BC: ; 0x021E85BC
push {r3, lr}
mov r1, #3
mov r2, #0
str r1, [sp]
mov r1, #0xe
sub r3, r2, #1
bl sub_020198FC
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E85BC
thumb_func_start ov14_021E85D0
ov14_021E85D0: ; 0x021E85D0
push {r3, lr}
mov r1, #3
str r1, [sp]
mov r1, #0xe
mov r2, #0
mov r3, #1
bl sub_020198FC
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E85D0
thumb_func_start ov14_021E85E4
ov14_021E85E4: ; 0x021E85E4
push {r3, lr}
add r2, sp, #0
mov r1, #0xe
add r2, #1
add r3, sp, #0
bl sub_02019B1C
add r1, sp, #0
mov r0, #0
ldrsb r1, [r1, r0]
cmp r1, #0x15
bne _021E85FE
mov r0, #1
_021E85FE:
pop {r3, pc}
thumb_func_end ov14_021E85E4
thumb_func_start ov14_021E8600
ov14_021E8600: ; 0x021E8600
push {r3, lr}
mov r1, #0xf
mov r2, #0
mov r3, #0x18
bl sub_020196E8
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E8600
thumb_func_start ov14_021E8610
ov14_021E8610: ; 0x021E8610
push {r3, lr}
mov r1, #0xf
mov r2, #0
mov r3, #0x15
bl sub_020196E8
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E8610
thumb_func_start ov14_021E8620
ov14_021E8620: ; 0x021E8620
push {r3, lr}
mov r1, #3
mov r2, #0
str r1, [sp]
mov r1, #0xf
sub r3, r2, #1
bl sub_020198FC
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E8620
thumb_func_start ov14_021E8634
ov14_021E8634: ; 0x021E8634
push {r3, lr}
mov r1, #3
str r1, [sp]
mov r1, #0xf
mov r2, #0
mov r3, #1
bl sub_020198FC
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E8634
thumb_func_start ov14_021E8648
ov14_021E8648: ; 0x021E8648
push {r3, lr}
add r2, sp, #0
mov r1, #0xf
add r2, #1
add r3, sp, #0
bl sub_02019B1C
add r1, sp, #0
mov r0, #0
ldrsb r1, [r1, r0]
cmp r1, #0x15
bne _021E8662
mov r0, #1
_021E8662:
pop {r3, pc}
thumb_func_end ov14_021E8648
thumb_func_start ov14_021E8664
ov14_021E8664: ; 0x021E8664
push {r4, lr}
add r4, r0, #0
bl ov14_021E82DC
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #8
bl sub_0201980C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #9
bl sub_0201980C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #8
mov r2, #0
mov r3, #0x18
bl sub_020196E8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #9
mov r2, #0xc
mov r3, #0x18
bl sub_020196E8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0
add r2, r1, #0
add r3, r1, #0
bl sub_020196E8
add r0, r4, #0
bl ov14_021F57B8
add r0, r4, #0
bl ov14_021F4720
add r0, r4, #0
bl ov14_021F4848
add r0, r4, #0
bl ov14_021F48B4
add r0, r4, #0
mov r1, #0x30
bl ov14_021F47B8
pop {r4, pc}
thumb_func_end ov14_021E8664
thumb_func_start ov14_021E86E0
ov14_021E86E0: ; 0x021E86E0
push {r3, r4, lr}
sub sp, #4
mov r1, #0
add r2, r1, #0
sub r3, r1, #6
add r4, r0, #0
bl sub_020196E8
mov r0, #6
mov r1, #0
str r0, [sp]
add r0, r4, #0
add r2, r1, #0
mov r3, #1
bl sub_020198FC
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov14_021E86E0
thumb_func_start ov14_021E8704
ov14_021E8704: ; 0x021E8704
push {r3, lr}
mov r1, #6
str r1, [sp]
mov r1, #0
add r2, r1, #0
sub r3, r1, #1
bl sub_020198FC
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E8704
thumb_func_start ov14_021E8718
ov14_021E8718: ; 0x021E8718
push {r4, lr}
add r4, r0, #0
mov r1, #0xc
mov r2, #0x15
mov r3, #8
bl sub_020196E8
add r0, r4, #0
mov r1, #6
mov r2, #0x15
mov r3, #0xe
bl sub_020196E8
add r0, r4, #0
mov r1, #7
mov r2, #0x15
mov r3, #0x11
bl sub_020196E8
pop {r4, pc}
thumb_func_end ov14_021E8718
thumb_func_start ov14_021E8740
ov14_021E8740: ; 0x021E8740
push {r4, lr}
add r4, r0, #0
bl ov14_021E8664
add r0, r4, #0
bl ov14_021F6070
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8718
pop {r4, pc}
thumb_func_end ov14_021E8740
thumb_func_start ov14_021E875C
ov14_021E875C: ; 0x021E875C
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
mov r1, #0xc
mov r2, #0x20
mov r3, #8
bl sub_020196E8
add r0, r4, #0
mov r1, #6
mov r2, #0x20
mov r3, #0xe
bl sub_020196E8
add r0, r4, #0
mov r1, #7
mov r2, #0x20
mov r3, #0x11
bl sub_020196E8
mov r1, #0xc
mov r0, #0xb
add r2, r1, #0
str r0, [sp]
add r0, r4, #0
sub r2, #0xd
mov r3, #0
bl sub_020198FC
mov r0, #0xb
mov r1, #6
str r0, [sp]
add r0, r4, #0
sub r2, r1, #7
mov r3, #0
bl sub_020198FC
mov r1, #7
mov r0, #0xb
add r2, r1, #0
str r0, [sp]
add r0, r4, #0
sub r2, #8
mov r3, #0
bl sub_020198FC
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov14_021E875C
thumb_func_start ov14_021E87BC
ov14_021E87BC: ; 0x021E87BC
push {r3, r4, lr}
sub sp, #4
mov r1, #0xb
str r1, [sp]
mov r1, #0xc
mov r2, #1
mov r3, #0
add r4, r0, #0
bl sub_020198FC
mov r0, #0xb
str r0, [sp]
add r0, r4, #0
mov r1, #6
mov r2, #1
mov r3, #0
bl sub_020198FC
mov r0, #0xb
str r0, [sp]
add r0, r4, #0
mov r1, #7
mov r2, #1
mov r3, #0
bl sub_020198FC
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov14_021E87BC
thumb_func_start ov14_021E87F4
ov14_021E87F4: ; 0x021E87F4
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #8
bl sub_0201980C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #9
bl sub_0201980C
add r0, r4, #0
bl ov14_021E821C
add r0, r4, #0
bl ov14_021E827C
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021E87F4
thumb_func_start ov14_021E8824
ov14_021E8824: ; 0x021E8824
push {r3, lr}
ldr r1, _021E8848 ; =0x0000044E
ldrb r1, [r0, r1]
lsl r1, r1, #0x19
lsr r1, r1, #0x1d
beq _021E8846
mov r1, #0xc
str r1, [sp]
mov r1, #0x2f
lsl r1, r1, #4
ldr r0, [r0, r1]
mov r1, #0x10
add r2, r1, #0
sub r2, #0x11
mov r3, #0
bl sub_020198FC
_021E8846:
pop {r3, pc}
.balign 4, 0
_021E8848: .word 0x0000044E
thumb_func_end ov14_021E8824
thumb_func_start ov14_021E884C
ov14_021E884C: ; 0x021E884C
push {r3, lr}
ldr r1, _021E8870 ; =0x0000044E
ldrb r1, [r0, r1]
lsl r1, r1, #0x19
lsr r1, r1, #0x1d
beq _021E886C
mov r1, #0xc
str r1, [sp]
mov r1, #0x2f
lsl r1, r1, #4
ldr r0, [r0, r1]
mov r1, #0x10
mov r2, #1
mov r3, #0
bl sub_020198FC
_021E886C:
pop {r3, pc}
nop
_021E8870: .word 0x0000044E
thumb_func_end ov14_021E884C
thumb_func_start ov14_021E8874
ov14_021E8874: ; 0x021E8874
push {r4, lr}
add r4, r0, #0
ldr r0, _021E88A0 ; =0x0000044E
ldrb r0, [r4, r0]
lsl r0, r0, #0x19
lsr r0, r0, #0x1d
beq _021E889E
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0x10
bl sub_0201980C
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0x10
mov r2, #0x14
mov r3, #0xc
bl sub_020196E8
_021E889E:
pop {r4, pc}
.balign 4, 0
_021E88A0: .word 0x0000044E
thumb_func_end ov14_021E8874
thumb_func_start ov14_021E88A4
ov14_021E88A4: ; 0x021E88A4
push {r4, lr}
add r4, r0, #0
mov r1, #0x10
bl sub_0201980C
add r0, r4, #0
mov r1, #0x10
mov r2, #0x20
mov r3, #0xc
bl sub_020196E8
pop {r4, pc}
thumb_func_end ov14_021E88A4
thumb_func_start ov14_021E88BC
ov14_021E88BC: ; 0x021E88BC
push {r4, lr}
sub sp, #8
add r2, sp, #4
mov r1, #0x10
add r2, #1
add r3, sp, #4
add r4, r0, #0
bl sub_02019B1C
add r0, sp, #4
mov r2, #0
ldrsb r1, [r0, r2]
cmp r1, #0xf
beq _021E88F2
mov r0, #0x18
sub r1, r0, r1
mov r0, #9
sub r0, r0, r1
lsl r0, r0, #0x18
mov r1, #0x10
lsr r0, r0, #0x18
add r3, r1, #0
str r0, [sp]
add r0, r4, #0
sub r3, #0x11
bl sub_020198FC
_021E88F2:
add sp, #8
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021E88BC
thumb_func_start ov14_021E88F8
ov14_021E88F8: ; 0x021E88F8
push {r4, lr}
sub sp, #8
add r2, sp, #4
mov r1, #0x10
add r2, #1
add r3, sp, #4
add r4, r0, #0
bl sub_02019B1C
add r0, sp, #4
mov r2, #0
ldrsb r1, [r0, r2]
cmp r1, #0x18
beq _021E8928
mov r0, #0x18
sub r0, r0, r1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
add r0, r4, #0
mov r1, #0x10
mov r3, #1
bl sub_020198FC
_021E8928:
add sp, #8
pop {r4, pc}
thumb_func_end ov14_021E88F8
thumb_func_start ov14_021E892C
ov14_021E892C: ; 0x021E892C
push {r4, lr}
add r4, r0, #0
mov r1, #0x10
bl sub_0201980C
add r0, r4, #0
mov r1, #0x10
mov r2, #0
mov r3, #0xf
bl sub_020196E8
pop {r4, pc}
thumb_func_end ov14_021E892C
thumb_func_start ov14_021E8944
ov14_021E8944: ; 0x021E8944
push {r4, lr}
add r4, r0, #0
mov r1, #0x10
bl sub_0201980C
add r0, r4, #0
mov r1, #0x10
mov r2, #0
mov r3, #0x18
bl sub_020196E8
pop {r4, pc}
thumb_func_end ov14_021E8944
thumb_func_start ov14_021E895C
ov14_021E895C: ; 0x021E895C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
add r6, r1, #0
mov r4, #0
mov r7, #1
_021E8968:
add r0, r7, #0
lsl r0, r4
tst r0, r6
beq _021E8976
add r0, r4, #0
add r0, #0x3a
b _021E897A
_021E8976:
add r0, r4, #0
add r0, #0x1a
_021E897A:
lsl r0, r0, #0x10
lsr r2, r0, #0x10
mov r0, #0x12
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r0, [r5, #0x34]
add r3, r4, #0
add r3, #0xf
lsl r3, r3, #0x18
ldr r0, [r0, #0x14]
mov r1, #5
lsr r3, r3, #0x18
bl FillBgTilemapRect
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, #6
blo _021E8968
ldr r0, [r5, #0x34]
mov r1, #5
ldr r0, [r0, #0x14]
bl ScheduleBgTilemapBufferTransfer
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021E895C
thumb_func_start ov14_021E89B8
ov14_021E89B8: ; 0x021E89B8
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #9
mov r1, #0x3c
bl AllocFromHeap
str r0, [r5, #0x18]
add r4, r0, #0
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
bhs _021E89EE
ldrb r1, [r5, #0x1f]
add r0, r5, #0
mov r2, #0
bl ov14_021E60C0
str r0, [r4]
mov r0, #2
strb r0, [r4, #0x11]
mov r0, #0x1e
strb r0, [r4, #0x13]
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
b _021E8A06
_021E89EE:
ldr r0, [r5, #8]
str r0, [r4]
mov r0, #1
strb r0, [r4, #0x11]
ldr r0, [r5, #8]
bl GetPartyCount
strb r0, [r4, #0x13]
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
sub r0, #0x1e
_021E8A06:
strb r0, [r4, #0x14]
ldr r0, [r5, #0x10]
str r0, [r4, #4]
ldr r0, [r5]
ldr r0, [r0]
bl Sav2_PlayerData_GetProfileAddr
add r1, r0, #0
add r0, r4, #0
bl sub_0208AD34
mov r0, #0
strb r0, [r4, #0x12]
ldr r1, _021E8A74 ; =0x021F7D0C
add r0, r4, #0
bl sub_02089D40
mov r0, #0
strb r0, [r4, #0x16]
strb r0, [r4, #0x17]
strh r0, [r4, #0x18]
ldr r0, [r5]
ldr r0, [r0]
bl sub_02074910
str r0, [r4, #0x1c]
ldr r0, [r5]
ldr r0, [r0]
bl sub_0202D95C
str r0, [r4, #0x20]
mov r0, #0
str r0, [r4, #0x24]
str r0, [r4, #0x28]
ldr r0, [r5]
ldr r0, [r0]
bl sub_02088288
str r0, [r4, #0x2c]
ldr r0, [r5]
ldr r0, [r0]
bl sub_0208828C
str r0, [r4, #0x34]
ldr r0, [r5]
add r1, r4, #0
ldr r0, [r0, #4]
mov r2, #9
str r0, [r4, #0x30]
ldr r0, _021E8A78 ; =0x02103A1C
bl OverlayManager_new
str r0, [r5, #0x14]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
_021E8A74: .word 0x021F7D0C
_021E8A78: .word 0x02103A1C
thumb_func_end ov14_021E89B8
thumb_func_start ov14_021E8A7C
ov14_021E8A7C: ; 0x021E8A7C
push {r4, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x27
ldrb r1, [r1]
ldr r0, [r4, #0x18]
cmp r1, #0
bne _021E8AA8
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldrb r2, [r0, #0x14]
cmp r1, #0x1e
bhs _021E8AA0
add r1, r4, #0
add r1, #0x21
strb r2, [r1]
b _021E8AA8
_021E8AA0:
add r1, r4, #0
add r2, #0x1e
add r1, #0x21
strb r2, [r1]
_021E8AA8:
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
cmp r1, #0x1e
bhs _021E8AC0
ldr r0, [r0, #0x38]
cmp r0, #1
bne _021E8AC0
ldrb r1, [r4, #0x1f]
ldr r0, [r4, #4]
bl sub_020740D8
_021E8AC0:
ldr r0, [r4, #0x18]
bl FreeToHeap
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021E8A7C
thumb_func_start ov14_021E8ACC
ov14_021E8ACC: ; 0x021E8ACC
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldr r0, [r4]
ldr r0, [r0]
bl sub_0207879C
ldr r1, _021E8B10 ; =0x021F7D14
mov r2, #9
bl sub_02078644
str r0, [r4, #0x18]
ldr r1, [r4]
mov r2, #1
ldr r0, [r1, #4]
mov r3, #0
str r0, [sp]
ldr r0, [r4, #0x18]
ldr r1, [r1]
bl sub_0207789C
ldr r0, _021E8B14 ; =SDK_OVERLAY_OVY_15_ID
mov r1, #2
bl HandleLoadOverlay
ldr r0, _021E8B18 ; =0x022008B8
ldr r1, [r4, #0x18]
mov r2, #9
bl OverlayManager_new
str r0, [r4, #0x14]
mov r0, #0
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_021E8B10: .word 0x021F7D14
_021E8B14: .word SDK_OVERLAY_OVY_15_ID
_021E8B18: .word 0x022008B8
thumb_func_end ov14_021E8ACC
thumb_func_start ov14_021E8B1C
ov14_021E8B1C: ; 0x021E8B1C
push {r4, lr}
add r4, r0, #0
ldr r0, _021E8B38 ; =SDK_OVERLAY_OVY_15_ID
bl UnloadOverlayByID
ldr r0, [r4, #0x18]
bl sub_02077904
strh r0, [r4, #0x1c]
ldr r0, [r4, #0x18]
bl FreeToHeap
mov r0, #0
pop {r4, pc}
.balign 4, 0
_021E8B38: .word SDK_OVERLAY_OVY_15_ID
thumb_func_end ov14_021E8B1C
thumb_func_start ov14_021E8B3C
ov14_021E8B3C: ; 0x021E8B3C
push {r4, lr}
sub sp, #8
add r4, r0, #0
ldr r0, [r4, #0x10]
mov r1, #2
str r0, [sp]
ldr r0, [r4]
mov r2, #0
ldr r0, [r0, #4]
mov r3, #8
str r0, [sp, #4]
mov r0, #9
bl sub_020830D8
str r0, [r4, #0x18]
add r1, r4, #0
add r1, #0x25
ldr r2, [r4, #0x18]
ldrb r1, [r1]
ldr r0, [r4, #4]
ldr r2, [r2, #0x18]
bl sub_02073F00
ldr r0, _021E8B7C ; =0x02102610
ldr r1, [r4, #0x18]
mov r2, #9
bl OverlayManager_new
str r0, [r4, #0x14]
mov r0, #0
add sp, #8
pop {r4, pc}
.balign 4, 0
_021E8B7C: .word 0x02102610
thumb_func_end ov14_021E8B3C
thumb_func_start ov14_021E8B80
ov14_021E8B80: ; 0x021E8B80
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
ldr r4, [r5, #0x18]
add r1, #0x25
ldrb r1, [r1]
ldr r0, [r5, #4]
ldr r2, [r4, #0x18]
bl sub_02073F34
ldr r0, [r4, #0x14]
strh r0, [r5, #0x1c]
ldr r0, [r5, #0x18]
bl sub_0208311C
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021E8B80
thumb_func_start ov14_021E8BA4
ov14_021E8BA4: ; 0x021E8BA4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
mov r0, #0x2f
ldr r4, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r4, r0]
bl ov14_021E8514
add r6, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #8
bl sub_02019978
add r7, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #9
bl sub_02019978
str r0, [sp]
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
bl sub_02019978
str r0, [sp, #4]
ldrh r0, [r4, #0x10]
cmp r0, #0
beq _021E8BF4
cmp r0, #1
beq _021E8CCC
b _021E8D0C
_021E8BF4:
add r0, sp, #0xc
add r1, sp, #8
bl sub_02025364
cmp r0, #0
bne _021E8C86
add r0, r5, #0
add r0, #0x24
ldrb r0, [r0]
mov r6, #0xff
cmp r0, #0
beq _021E8C24
ldr r1, [r5, #0x34]
ldr r2, _021E8D14 ; =0x000040B8
ldr r0, [r1, r2]
add r2, r2, #4
ldr r1, [r1, r2]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
asr r0, r0, #0x10
asr r1, r1, #0x10
bl ov14_021E79D8
add r6, r0, #0
_021E8C24:
cmp r6, #0xff
bne _021E8C40
ldr r1, [r5, #0x34]
ldr r2, _021E8D14 ; =0x000040B8
ldr r0, [r1, r2]
add r2, r2, #4
ldr r1, [r1, r2]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
asr r0, r0, #0x10
asr r1, r1, #0x10
bl ov14_021E7960
add r6, r0, #0
_021E8C40:
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
add r2, r6, #0
bl ov14_021E6CF8
add r0, r5, #0
mov r1, #0
bl ov14_021F40E8
mov r0, #0x80
tst r0, r6
bne _021E8C6E
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
bl ov14_021E70B0
add r1, r5, #0
add r1, #0x21
strb r0, [r1]
_021E8C6E:
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8434
ldr r0, [r5, #0x34]
bl ov14_021E8824
mov r0, #1
strh r0, [r4, #0x10]
b _021E8D0C
_021E8C86:
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
add r2, r0, r1
ldr r1, _021E8D18 ; =0x00004094
ldrb r1, [r2, r1]
ldr r2, [sp, #8]
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
lsl r2, r2, #0x10
ldr r0, [r1, r0]
ldr r1, [sp, #0xc]
asr r2, r2, #0x10
sub r2, #8
lsl r1, r1, #0x10
lsl r2, r2, #0x10
asr r1, r1, #0x10
asr r2, r2, #0x10
bl sub_0200DDB8
add r0, r5, #0
bl ov14_021F4174
ldr r2, [sp, #0xc]
ldr r1, [r5, #0x34]
ldr r0, _021E8D14 ; =0x000040B8
str r2, [r1, r0]
ldr r2, [sp, #8]
ldr r1, [r5, #0x34]
add r0, r0, #4
str r2, [r1, r0]
b _021E8D0C
_021E8CCC:
add r0, r5, #0
bl ov14_021E65C4
cmp r0, #0
bne _021E8D0C
cmp r6, #0
bne _021E8D0C
cmp r7, #0
bne _021E8D0C
ldr r0, [sp]
cmp r0, #0
bne _021E8D0C
ldr r0, [sp, #4]
cmp r0, #0
bne _021E8D0C
ldr r1, [r4, #0xc]
add r0, r5, #0
bl ov14_021E7148
add r0, r5, #0
bl ov14_021F4174
ldr r2, [r5, #0x34]
ldr r1, _021E8D1C ; =0x000040C4
add r0, r5, #0
ldr r1, [r2, r1]
bl ov14_021F40E8
mov r0, #0
add sp, #0x10
strh r0, [r4, #0x10]
pop {r3, r4, r5, r6, r7, pc}
_021E8D0C:
mov r0, #1
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_021E8D14: .word 0x000040B8
_021E8D18: .word 0x00004094
_021E8D1C: .word 0x000040C4
thumb_func_end ov14_021E8BA4
thumb_func_start ov14_021E8D20
ov14_021E8D20: ; 0x021E8D20
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r0, #0
mov r0, #0x2f
ldr r5, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r5, r0]
bl ov14_021E8514
add r7, r0, #0
ldrh r0, [r5, #0x10]
cmp r0, #0
bne _021E8D5C
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
add r2, r0, r1
ldr r1, _021E8FC0 ; =0x00004094
ldrb r1, [r2, r1]
add r2, sp, #0
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
bl sub_0200DE44
_021E8D5C:
add r0, r4, #0
bl ov14_021E80A8
add r6, r0, #0
ldrh r0, [r5, #0x10]
cmp r0, #5
bls _021E8D6C
b _021E8FB8
_021E8D6C:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021E8D78: ; jump table
.short _021E8D84 - _021E8D78 - 2 ; case 0
.short _021E8F1E - _021E8D78 - 2 ; case 1
.short _021E8F1E - _021E8D78 - 2 ; case 2
.short _021E8F62 - _021E8D78 - 2 ; case 3
.short _021E8F96 - _021E8D78 - 2 ; case 4
.short _021E8FA0 - _021E8D78 - 2 ; case 5
_021E8D84:
ldr r0, [r4, #0x34]
ldr r1, _021E8FC4 ; =0x0000044A
ldrb r2, [r0, r1]
cmp r2, #1
bne _021E8DA8
cmp r6, #0
bne _021E8DA8
mov r2, #2
strb r2, [r0, r1]
add r0, r4, #0
mov r1, #0x28
bl ov14_021F69F0
add r0, r4, #0
mov r1, #1
mov r2, #0
bl ov14_021F3488
_021E8DA8:
add r0, sp, #8
add r1, sp, #4
bl sub_02025364
cmp r0, #0
bne _021E8EA8
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
add r3, sp, #0
add r2, r0, r1
ldr r1, _021E8FC0 ; =0x00004094
ldrb r1, [r2, r1]
mov r2, #0
ldrsh r2, [r3, r2]
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #2
ldrsh r1, [r3, r1]
bl sub_0200DDB8
ldr r1, [r4, #0x34]
ldr r0, _021E8FC4 ; =0x0000044A
ldr r2, _021E8FC8 ; =0x000040B8
ldrb r0, [r1, r0]
cmp r0, #2
bne _021E8DFA
ldr r0, [r1, r2]
add r2, r2, #4
ldr r1, [r1, r2]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
asr r0, r0, #0x10
asr r1, r1, #0x10
bl ov14_021E7960
b _021E8E0E
_021E8DFA:
ldr r0, [r1, r2]
add r2, r2, #4
ldr r1, [r1, r2]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
ldr r2, _021E8FCC ; =0x021F7BF0
asr r0, r0, #0x10
asr r1, r1, #0x10
bl ov14_021E79AC
_021E8E0E:
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r2, r0, #0
add r0, r4, #0
bl ov14_021E6CF8
add r0, r4, #0
mov r1, #0
bl ov14_021F40E8
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r4, #0
bl ov14_021E70B0
add r1, r4, #0
add r1, #0x21
strb r0, [r1]
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
bhs _021E8E44
mov r2, #0
b _021E8E46
_021E8E44:
mov r2, #1
_021E8E46:
ldr r1, [r4, #0x34]
ldr r0, _021E8FD0 ; =0x000040C4
str r2, [r1, r0]
add r0, r4, #0
add r0, #0x21
ldrb r1, [r0]
cmp r1, #0x1e
bhs _021E8E84
add r0, r4, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
bne _021E8E6A
mov r0, #3
strh r0, [r5, #0x10]
b _021E8FB8
_021E8E6A:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7EE0
add r0, r4, #0
mov r1, #0xff
bl ov14_021E7588
mov r0, #1
strh r0, [r5, #0x10]
b _021E8FB8
_021E8E84:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7FEC
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8434
ldr r0, [r4, #0x34]
bl ov14_021E8824
mov r0, #1
strh r0, [r5, #0x10]
b _021E8FB8
_021E8EA8:
cmp r7, #0
bne _021E8ED8
ldr r0, [r4, #0x34]
ldr r1, _021E8FC4 ; =0x0000044A
ldrb r1, [r0, r1]
cmp r1, #0
bne _021E8ED8
ldr r2, [sp, #8]
cmp r2, #0x10
blo _021E8EC6
ldr r1, [sp, #4]
cmp r1, #0x30
blo _021E8EC6
cmp r2, #0x68
blo _021E8ED8
_021E8EC6:
ldr r1, _021E8FC4 ; =0x0000044A
mov r2, #1
strb r2, [r0, r1]
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7FB8
_021E8ED8:
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
add r2, r0, r1
ldr r1, _021E8FC0 ; =0x00004094
ldrb r1, [r2, r1]
ldr r2, [sp, #4]
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
lsl r2, r2, #0x10
ldr r0, [r1, r0]
ldr r1, [sp, #8]
asr r2, r2, #0x10
sub r2, #8
lsl r1, r1, #0x10
lsl r2, r2, #0x10
asr r1, r1, #0x10
asr r2, r2, #0x10
bl sub_0200DDB8
add r0, r4, #0
bl ov14_021F4174
ldr r2, [sp, #8]
ldr r1, [r4, #0x34]
ldr r0, _021E8FC8 ; =0x000040B8
str r2, [r1, r0]
ldr r2, [sp, #4]
ldr r1, [r4, #0x34]
add r0, r0, #4
str r2, [r1, r0]
b _021E8FB8
_021E8F1E:
add r0, r4, #0
bl ov14_021E6814
cmp r0, #0
bne _021E8FB8
cmp r7, #0
bne _021E8FB8
cmp r6, #0
bne _021E8FB8
ldr r1, [r5, #0xc]
add r0, r4, #0
bl ov14_021E7148
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
bhs _021E8F4A
add r0, r4, #0
mov r1, #0xff
add r0, #0x21
strb r1, [r0]
_021E8F4A:
add r0, r4, #0
bl ov14_021F4174
ldr r2, [r4, #0x34]
ldr r1, _021E8FD0 ; =0x000040C4
add r0, r4, #0
ldr r1, [r2, r1]
bl ov14_021F40E8
mov r0, #5
strh r0, [r5, #0x10]
b _021E8FB8
_021E8F62:
add r0, r4, #0
bl ov14_021E66F4
cmp r0, #0
bne _021E8FB8
ldr r1, [r5, #0xc]
add r0, r4, #0
bl ov14_021E7148
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7EE0
add r0, r4, #0
mov r1, #0xff
bl ov14_021E7588
mov r0, #0xff
add r4, #0x21
strb r0, [r4]
ldrh r0, [r5, #0x10]
add r0, r0, #1
strh r0, [r5, #0x10]
b _021E8FB8
_021E8F96:
cmp r6, #0
bne _021E8FB8
mov r0, #5
strh r0, [r5, #0x10]
b _021E8FB8
_021E8FA0:
mov r1, #1
add r0, r4, #0
add r2, r1, #0
bl ov14_021F3488
ldr r2, [r4, #0x34]
ldr r1, _021E8FC4 ; =0x0000044A
mov r0, #0
strb r0, [r2, r1]
add sp, #0xc
strh r0, [r5, #0x10]
pop {r4, r5, r6, r7, pc}
_021E8FB8:
mov r0, #1
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
_021E8FC0: .word 0x00004094
_021E8FC4: .word 0x0000044A
_021E8FC8: .word 0x000040B8
_021E8FCC: .word 0x021F7BF0
_021E8FD0: .word 0x000040C4
thumb_func_end ov14_021E8D20
thumb_func_start ov14_021E8FD4
ov14_021E8FD4: ; 0x021E8FD4
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
mov r0, #0x2f
ldr r4, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0xe
bl sub_02019978
add r6, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xf
bl sub_02019978
add r7, r0, #0
ldrh r0, [r4, #0x10]
cmp r0, #0
beq _021E900C
cmp r0, #1
beq _021E90F8
cmp r0, #2
bne _021E900A
b _021E914E
_021E900A:
b _021E9180
_021E900C:
add r0, sp, #4
add r1, sp, #0
bl sub_02025364
cmp r0, #0
bne _021E90B2
add r0, r5, #0
add r0, #0x24
ldrb r0, [r0]
mov r6, #0xff
cmp r0, #0
beq _021E903C
ldr r1, [r5, #0x34]
ldr r2, _021E9188 ; =0x000040B8
ldr r0, [r1, r2]
add r2, r2, #4
ldr r1, [r1, r2]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
asr r0, r0, #0x10
asr r1, r1, #0x10
bl ov14_021E79D8
add r6, r0, #0
_021E903C:
cmp r6, #0xff
bne _021E9058
ldr r1, [r5, #0x34]
ldr r2, _021E9188 ; =0x000040B8
ldr r0, [r1, r2]
add r2, r2, #4
ldr r1, [r1, r2]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
asr r0, r0, #0x10
asr r1, r1, #0x10
bl ov14_021E7960
add r6, r0, #0
_021E9058:
cmp r6, #0xff
bne _021E9076
ldr r1, [r5, #0x34]
ldr r2, _021E9188 ; =0x000040B8
ldr r0, [r1, r2]
add r2, r2, #4
ldr r1, [r1, r2]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
ldr r2, _021E918C ; =0x021F7C08
asr r0, r0, #0x10
asr r1, r1, #0x10
bl ov14_021E79AC
add r6, r0, #0
_021E9076:
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
add r2, r6, #0
bl ov14_021E6CF8
add r0, r5, #0
mov r1, #0
bl ov14_021F40E8
mov r0, #0x80
tst r0, r6
bne _021E90A4
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
bl ov14_021E70B0
add r1, r5, #0
add r1, #0x21
strb r0, [r1]
_021E90A4:
ldr r0, [r5, #0x34]
bl ov14_021E884C
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
b _021E9180
_021E90B2:
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
add r2, r0, r1
ldr r1, _021E9190 ; =0x00004094
ldrb r1, [r2, r1]
ldr r2, [sp]
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
lsl r2, r2, #0x10
ldr r0, [r1, r0]
ldr r1, [sp, #4]
asr r2, r2, #0x10
sub r2, #8
lsl r1, r1, #0x10
lsl r2, r2, #0x10
asr r1, r1, #0x10
asr r2, r2, #0x10
bl sub_0200DDB8
add r0, r5, #0
bl ov14_021F4174
ldr r2, [sp, #4]
ldr r1, [r5, #0x34]
ldr r0, _021E9188 ; =0x000040B8
str r2, [r1, r0]
ldr r2, [sp]
ldr r1, [r5, #0x34]
add r0, r0, #4
str r2, [r1, r0]
b _021E9180
_021E90F8:
cmp r6, #0
bne _021E914E
cmp r7, #0
bne _021E914E
ldr r6, [r4, #0xc]
add r0, r6, #0
add r0, #0xe8
ldr r1, [r0]
cmp r1, #0xff
beq _021E913C
mov r0, #0x80
tst r0, r1
beq _021E913C
add r0, r6, #0
add r0, #0xe4
ldr r0, [r0]
cmp r0, #0x1e
blo _021E9148
ldr r0, [r5, #8]
bl GetPartyCount
add r6, #0xe4
ldr r1, [r6]
sub r0, r0, #1
sub r1, #0x1e
cmp r1, r0
bhs _021E9148
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8620
b _021E9148
_021E913C:
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8620
_021E9148:
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
_021E914E:
add r0, r5, #0
bl ov14_021E65C4
cmp r0, #0
bne _021E9180
cmp r7, #0
bne _021E9180
ldrh r0, [r4, #0x10]
cmp r0, #2
bne _021E9180
ldr r1, [r4, #0xc]
add r0, r5, #0
bl ov14_021E7148
add r0, r5, #0
bl ov14_021F4174
add r0, r5, #0
mov r1, #0
bl ov14_021F40E8
mov r0, #0
add sp, #8
strh r0, [r4, #0x10]
pop {r3, r4, r5, r6, r7, pc}
_021E9180:
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_021E9188: .word 0x000040B8
_021E918C: .word 0x021F7C08
_021E9190: .word 0x00004094
thumb_func_end ov14_021E8FD4
thumb_func_start ov14_021E9194
ov14_021E9194: ; 0x021E9194
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0x2f
ldr r4, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0xa
bl sub_02019978
ldrh r0, [r4, #0x10]
cmp r0, #0
beq _021E91B2
cmp r0, #1
beq _021E91C4
b _021E91DC
_021E91B2:
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
bl ov14_021E70E0
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
_021E91C4:
add r0, r5, #0
bl ov14_021E65C4
cmp r0, #0
bne _021E91DC
ldr r1, [r4, #0xc]
add r0, r5, #0
bl ov14_021E7148
mov r0, #0
strh r0, [r4, #0x10]
pop {r3, r4, r5, pc}
_021E91DC:
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end ov14_021E9194
thumb_func_start ov14_021E91E0
ov14_021E91E0: ; 0x021E91E0
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r4, [r5, #0x34]
ldrh r1, [r4, #0x10]
cmp r1, #0
beq _021E91F2
cmp r1, #1
beq _021E9218
b _021E922E
_021E91F2:
ldr r0, [r5, #8]
bl GetPartyCount
add r2, r0, #0
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r2, #0x1e
add r0, r5, #0
bl ov14_021E6CF8
add r0, r5, #0
mov r1, #0
bl ov14_021F40E8
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
b _021E922E
_021E9218:
bl ov14_021E65C4
cmp r0, #0
bne _021E922E
ldr r1, [r4, #0xc]
add r0, r5, #0
bl ov14_021E7148
mov r0, #0
strh r0, [r4, #0x10]
pop {r3, r4, r5, pc}
_021E922E:
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021E91E0
thumb_func_start ov14_021E9234
ov14_021E9234: ; 0x021E9234
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
ldr r4, [r5, #0x34]
ldrh r1, [r4, #0x10]
cmp r1, #0
beq _021E9248
cmp r1, #1
beq _021E927E
b _021E92A6
_021E9248:
ldrb r0, [r5, #0x1f]
add r1, sp, #0
add r2, sp, #4
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
ldr r0, [r5, #4]
bl sub_02073D9C
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r2, [sp, #4]
add r0, r5, #0
bl ov14_021E6CF8
add r0, r5, #0
mov r1, #0
bl ov14_021F40E8
mov r0, #0xff
add r5, #0x21
strb r0, [r5]
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
b _021E92A6
_021E927E:
bl ov14_021E65C4
cmp r0, #0
bne _021E92A6
ldr r6, [r4, #0xc]
ldr r0, [r5, #0x34]
add r1, r6, #0
add r1, #0xe4
ldr r1, [r1]
mov r2, #1
bl ov14_021F34C8
add r0, r5, #0
add r1, r6, #0
bl ov14_021E7148
mov r0, #0
add sp, #8
strh r0, [r4, #0x10]
pop {r4, r5, r6, pc}
_021E92A6:
mov r0, #1
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end ov14_021E9234
thumb_func_start ov14_021E92AC
ov14_021E92AC: ; 0x021E92AC
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r1, [r5, #0x34]
ldrh r0, [r1, #0x12]
cmp r0, #0x17
bne _021E92D8
ldr r0, [r1, #0x2c]
bl sub_02019F90
cmp r0, #1
bne _021E92CC
ldr r0, [r5, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
_021E92CC:
ldr r1, [r5, #0x34]
mov r0, #0
strh r0, [r1, #0x12]
ldr r1, [r5, #0x34]
strh r0, [r1, #0x10]
pop {r3, r4, r5, pc}
_021E92D8:
ldr r0, [r1, #0x14]
mov r1, #3
mov r2, #2
mov r3, #8
bl sub_0201F238
add r0, r5, #0
mov r1, #8
bl ov14_021F3210
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xe
bl sub_02019978
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
bl sub_02019978
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #8
bl sub_02019978
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #9
bl sub_02019978
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xb
bl sub_020199E4
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8514
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xb
bl sub_020199E4
cmp r4, #1
bne _021E9362
cmp r0, #0
bne _021E9362
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
_021E9362:
ldr r1, [r5, #0x34]
ldrh r0, [r1, #0x12]
add r0, r0, #1
strh r0, [r1, #0x12]
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021E92AC
thumb_func_start ov14_021E9370
ov14_021E9370: ; 0x021E9370
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r1, [r5, #0x34]
ldrh r0, [r1, #0x12]
cmp r0, #0x17
bne _021E939C
ldr r0, [r1, #0x2c]
bl sub_02019F90
cmp r0, #1
bne _021E9390
ldr r0, [r5, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
_021E9390:
ldr r1, [r5, #0x34]
mov r0, #0
strh r0, [r1, #0x12]
ldr r1, [r5, #0x34]
strh r0, [r1, #0x10]
pop {r3, r4, r5, pc}
_021E939C:
ldr r0, [r1, #0x14]
mov r1, #3
mov r2, #1
mov r3, #8
bl sub_0201F238
mov r1, #7
add r0, r5, #0
mvn r1, r1
bl ov14_021F3210
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xe
bl sub_02019978
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
bl sub_02019978
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #8
bl sub_02019978
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #9
bl sub_02019978
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xb
bl sub_020199E4
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8514
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xb
bl sub_020199E4
cmp r4, #1
bne _021E9428
cmp r0, #0
bne _021E9428
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
_021E9428:
ldr r1, [r5, #0x34]
ldrh r0, [r1, #0x12]
add r0, r0, #1
strh r0, [r1, #0x12]
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end ov14_021E9370
thumb_func_start ov14_021E9434
ov14_021E9434: ; 0x021E9434
push {r3, lr}
ldr r1, [r0, #0x34]
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8514
cmp r0, #0
beq _021E944A
mov r0, #1
pop {r3, pc}
_021E944A:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E9434
thumb_func_start ov14_021E9450
ov14_021E9450: ; 0x021E9450
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8514
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #8
bl sub_02019978
add r6, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #9
bl sub_02019978
add r7, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
bl sub_02019978
cmp r4, #0
bne _021E94A4
cmp r6, #0
bne _021E94A4
cmp r7, #0
bne _021E94A4
cmp r0, #0
bne _021E94A4
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E94A4:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov14_021E9450
thumb_func_start ov14_021E94A8
ov14_021E94A8: ; 0x021E94A8
ldr r1, [r0, #0x34]
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
ldr r3, _021E94B8 ; =sub_02019978
mov r1, #2
bx r3
nop
_021E94B8: .word sub_02019978
thumb_func_end ov14_021E94A8
thumb_func_start ov14_021E94BC
ov14_021E94BC: ; 0x021E94BC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #8
bl sub_02019978
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #9
bl sub_02019978
add r6, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
bl sub_02019978
add r7, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xb
bl sub_02019978
cmp r4, #0
bne _021E9512
cmp r6, #0
bne _021E9512
cmp r7, #0
bne _021E9512
cmp r0, #0
bne _021E9512
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021E9512:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021E94BC
thumb_func_start ov14_021E9518
ov14_021E9518: ; 0x021E9518
push {r3, lr}
bl ov14_021E80A8
cmp r0, #0
beq _021E9526
mov r0, #1
pop {r3, pc}
_021E9526:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021E9518
thumb_func_start ov14_021E952C
ov14_021E952C: ; 0x021E952C
push {r4, lr}
add r4, r0, #0
bl ov14_021E80A8
cmp r0, #0
bne _021E953C
mov r0, #0
pop {r4, pc}
_021E953C:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8514
mov r0, #1
pop {r4, pc}
thumb_func_end ov14_021E952C
thumb_func_start ov14_021E954C
ov14_021E954C: ; 0x021E954C
ldr r3, _021E9550 ; =ov14_021E9518
bx r3
.balign 4, 0
_021E9550: .word ov14_021E9518
thumb_func_end ov14_021E954C
thumb_func_start ov14_021E9554
ov14_021E9554: ; 0x021E9554
push {r4, r5, r6, lr}
add r5, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0
bl sub_02019978
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xf
bl sub_02019978
add r6, r0, #0
add r0, r5, #0
mov r1, #8
bl ov14_021F47B8
cmp r4, #0
bne _021E958C
cmp r6, #0
bne _021E958C
mov r0, #0
pop {r4, r5, r6, pc}
_021E958C:
mov r0, #1
pop {r4, r5, r6, pc}
thumb_func_end ov14_021E9554
thumb_func_start ov14_021E9590
ov14_021E9590: ; 0x021E9590
push {r3, r4, r5, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0
bl sub_02019978
mov r1, #7
add r5, r0, #0
add r0, r4, #0
mvn r1, r1
bl ov14_021F47B8
add r0, r5, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021E9590
thumb_func_start ov14_021E95B4
ov14_021E95B4: ; 0x021E95B4
ldr r1, [r0, #0x34]
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
ldr r3, _021E95C4 ; =sub_02019978
mov r1, #0xa
bx r3
nop
_021E95C4: .word sub_02019978
thumb_func_end ov14_021E95B4
thumb_func_start ov14_021E95C8
ov14_021E95C8: ; 0x021E95C8
push {r4, lr}
ldr r4, [r0, #0x34]
ldrh r1, [r4, #0x10]
cmp r1, #0
beq _021E95D8
cmp r1, #1
beq _021E95E8
b _021E95FE
_021E95D8:
bl ov14_021E9434
cmp r0, #0
bne _021E95FE
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
b _021E95FE
_021E95E8:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0xc
bl sub_02019978
cmp r0, #0
bne _021E95FE
mov r0, #0
strh r0, [r4, #0x10]
pop {r4, pc}
_021E95FE:
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021E95C8
thumb_func_start ov14_021E9604
ov14_021E9604: ; 0x021E9604
ldr r1, [r0, #0x34]
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
ldr r3, _021E9614 ; =sub_02019978
mov r1, #0xc
bx r3
nop
_021E9614: .word sub_02019978
thumb_func_end ov14_021E9604
thumb_func_start ov14_021E9618
ov14_021E9618: ; 0x021E9618
push {r4, r5, r6, lr}
add r5, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xc
bl sub_02019978
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #6
bl sub_02019978
add r6, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #7
bl sub_02019978
cmp r4, #0
bne _021E965A
cmp r6, #0
bne _021E965A
cmp r0, #0
bne _021E965A
mov r0, #0
pop {r4, r5, r6, pc}
_021E965A:
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov14_021E9618
thumb_func_start ov14_021E9660
ov14_021E9660: ; 0x021E9660
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r4, [r5, #0x34]
ldrh r1, [r4, #0x10]
cmp r1, #0
beq _021E9672
cmp r1, #1
beq _021E9682
b _021E96A2
_021E9672:
bl ov14_021E9618
cmp r0, #0
bne _021E96A2
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
b _021E96A2
_021E9682:
add r0, r4, #0
mov r1, #8
bl ov14_021F44B4
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xd
bl sub_02019978
cmp r0, #0
bne _021E96A2
mov r0, #0
strh r0, [r4, #0x10]
pop {r3, r4, r5, pc}
_021E96A2:
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021E9660
thumb_func_start ov14_021E96A8
ov14_021E96A8: ; 0x021E96A8
push {r4, lr}
add r4, r0, #0
mov r1, #7
ldr r0, [r4, #0x34]
mvn r1, r1
bl ov14_021F44B4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xd
bl sub_02019978
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021E96A8
thumb_func_start ov14_021E96C8
ov14_021E96C8: ; 0x021E96C8
push {r3, r4, r5, r6, lr}
sub sp, #0x1c
add r4, r0, #0
mov r0, #0x2f
ldr r6, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r6, r0]
mov r1, #0
bl sub_02019B08
add r5, r0, #0
ldrh r0, [r6, #0x10]
cmp r0, #0xa
bls _021E96E6
b _021E988A
_021E96E6:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021E96F2: ; jump table
.short _021E9708 - _021E96F2 - 2 ; case 0
.short _021E972E - _021E96F2 - 2 ; case 1
.short _021E9776 - _021E96F2 - 2 ; case 2
.short _021E97DA - _021E96F2 - 2 ; case 3
.short _021E97FC - _021E96F2 - 2 ; case 4
.short _021E9844 - _021E96F2 - 2 ; case 5
.short _021E988A - _021E96F2 - 2 ; case 6
.short _021E988A - _021E96F2 - 2 ; case 7
.short _021E988A - _021E96F2 - 2 ; case 8
.short _021E988A - _021E96F2 - 2 ; case 9
.short _021E97BC - _021E96F2 - 2 ; case 10
_021E9708:
mov r2, #0x20
str r2, [sp]
mov r0, #1
str r0, [sp, #4]
str r5, [sp, #8]
mov r1, #0
str r1, [sp, #0xc]
mov r0, #3
str r0, [sp, #0x10]
str r2, [sp, #0x14]
mov r0, #7
str r0, [sp, #0x18]
ldr r0, [r4, #0x34]
add r2, r1, #0
ldr r0, [r0, #0x14]
mov r3, #9
bl sub_0201C4EC
b _021E988A
_021E972E:
mov r2, #0x20
str r2, [sp]
mov r0, #1
str r0, [sp, #4]
str r5, [sp, #8]
mov r1, #0
str r1, [sp, #0xc]
str r1, [sp, #0x10]
str r2, [sp, #0x14]
mov r0, #7
str r0, [sp, #0x18]
ldr r0, [r4, #0x34]
add r2, r1, #0
ldr r0, [r0, #0x14]
mov r3, #8
bl sub_0201C4EC
mov r2, #0x20
str r2, [sp]
mov r0, #1
str r0, [sp, #4]
str r5, [sp, #8]
mov r1, #0
str r1, [sp, #0xc]
mov r0, #6
str r0, [sp, #0x10]
str r2, [sp, #0x14]
mov r0, #7
str r0, [sp, #0x18]
ldr r0, [r4, #0x34]
add r2, r1, #0
ldr r0, [r0, #0x14]
mov r3, #0xa
bl sub_0201C4EC
b _021E988A
_021E9776:
mov r2, #0x20
str r2, [sp]
mov r0, #2
str r0, [sp, #4]
str r5, [sp, #8]
mov r1, #0
str r1, [sp, #0xc]
str r1, [sp, #0x10]
str r2, [sp, #0x14]
mov r3, #7
str r3, [sp, #0x18]
ldr r0, [r4, #0x34]
add r2, r1, #0
ldr r0, [r0, #0x14]
bl sub_0201C4EC
mov r2, #0x20
str r2, [sp]
mov r0, #2
str r0, [sp, #4]
str r5, [sp, #8]
mov r1, #0
str r1, [sp, #0xc]
mov r0, #5
str r0, [sp, #0x10]
str r2, [sp, #0x14]
mov r0, #7
str r0, [sp, #0x18]
ldr r0, [r4, #0x34]
add r2, r1, #0
ldr r0, [r0, #0x14]
mov r3, #0xa
bl sub_0201C4EC
b _021E988A
_021E97BC:
mov r0, #4
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #0xb
str r0, [sp, #8]
mov r1, #0
mov r0, #0x10
str r0, [sp, #0xc]
ldr r0, [r4, #0x34]
add r2, r1, #0
ldr r0, [r0, #0x14]
add r3, r1, #0
bl FillBgTilemapRect
_021E97DA:
mov r2, #0x20
str r2, [sp]
mov r0, #7
str r0, [sp, #4]
str r5, [sp, #8]
mov r1, #0
str r1, [sp, #0xc]
str r1, [sp, #0x10]
str r2, [sp, #0x14]
str r0, [sp, #0x18]
ldr r0, [r4, #0x34]
add r2, r1, #0
ldr r0, [r0, #0x14]
mov r3, #6
bl sub_0201C4EC
b _021E988A
_021E97FC:
mov r2, #0x20
str r2, [sp]
mov r0, #2
str r0, [sp, #4]
str r5, [sp, #8]
mov r1, #0
str r1, [sp, #0xc]
str r1, [sp, #0x10]
str r2, [sp, #0x14]
mov r0, #7
str r0, [sp, #0x18]
ldr r0, [r4, #0x34]
add r2, r1, #0
ldr r0, [r0, #0x14]
mov r3, #5
bl sub_0201C4EC
mov r2, #0x20
str r2, [sp]
mov r0, #2
str r0, [sp, #4]
str r5, [sp, #8]
mov r1, #0
str r1, [sp, #0xc]
mov r0, #5
str r0, [sp, #0x10]
str r2, [sp, #0x14]
mov r0, #7
str r0, [sp, #0x18]
ldr r0, [r4, #0x34]
add r2, r1, #0
ldr r0, [r0, #0x14]
mov r3, #0xc
bl sub_0201C4EC
b _021E988A
_021E9844:
mov r2, #0x20
str r2, [sp]
mov r0, #2
str r0, [sp, #4]
str r5, [sp, #8]
mov r1, #0
str r1, [sp, #0xc]
str r1, [sp, #0x10]
str r2, [sp, #0x14]
mov r0, #7
str r0, [sp, #0x18]
ldr r0, [r4, #0x34]
add r2, r1, #0
ldr r0, [r0, #0x14]
mov r3, #4
bl sub_0201C4EC
mov r2, #0x20
str r2, [sp]
mov r0, #2
str r0, [sp, #4]
str r5, [sp, #8]
mov r1, #0
str r1, [sp, #0xc]
mov r0, #5
str r0, [sp, #0x10]
str r2, [sp, #0x14]
mov r0, #7
str r0, [sp, #0x18]
ldr r0, [r4, #0x34]
add r2, r1, #0
ldr r0, [r0, #0x14]
mov r3, #0xd
bl sub_0201C4EC
_021E988A:
ldr r0, [r4, #0x34]
mov r1, #0
ldr r0, [r0, #0x14]
bl ScheduleBgTilemapBufferTransfer
ldrh r0, [r6, #0x10]
cmp r0, #0xa
bne _021E98A2
mov r0, #0
add sp, #0x1c
strh r0, [r6, #0x10]
pop {r3, r4, r5, r6, pc}
_021E98A2:
add r0, r0, #1
strh r0, [r6, #0x10]
mov r0, #1
add sp, #0x1c
pop {r3, r4, r5, r6, pc}
thumb_func_end ov14_021E96C8
thumb_func_start ov14_021E98AC
ov14_021E98AC: ; 0x021E98AC
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
ldr r4, [r5, #0x34]
mov r1, #0
ldrh r0, [r4, #0x10]
add r2, r1, #0
add r3, r1, #0
add r0, r0, #6
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
ldr r0, [r4, #0x14]
bl FillBgTilemapRect
ldrh r1, [r4, #0x10]
mov r0, #0xc
sub r0, r0, r1
mov r1, #0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
ldr r0, [r5, #0x34]
add r2, r1, #0
ldr r0, [r0, #0x14]
add r3, r1, #0
bl FillBgTilemapRect
ldr r0, [r5, #0x34]
mov r1, #0
ldr r0, [r0, #0x14]
bl ScheduleBgTilemapBufferTransfer
ldrh r0, [r4, #0x10]
cmp r0, #3
bne _021E9914
mov r0, #0
add sp, #0x10
strh r0, [r4, #0x10]
pop {r3, r4, r5, pc}
_021E9914:
add r0, r0, #1
strh r0, [r4, #0x10]
mov r0, #1
add sp, #0x10
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021E98AC
thumb_func_start ov14_021E9920
ov14_021E9920: ; 0x021E9920
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r4, [r5, #0x34]
ldrh r0, [r4, #0x10]
cmp r0, #0
beq _021E9932
cmp r0, #1
beq _021E9956
b _021E996C
_021E9932:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0xf
bl sub_02019978
cmp r0, #0
bne _021E996C
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85BC
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
b _021E996C
_021E9956:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0xe
bl sub_02019978
cmp r0, #0
bne _021E996C
mov r0, #0
strh r0, [r4, #0x10]
pop {r3, r4, r5, pc}
_021E996C:
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end ov14_021E9920
thumb_func_start ov14_021E9970
ov14_021E9970: ; 0x021E9970
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xf
bl sub_02019978
cmp r0, #0
bne _021E999C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xe
bl sub_02019978
cmp r0, #0
bne _021E999C
mov r0, #0
pop {r4, pc}
_021E999C:
mov r0, #1
pop {r4, pc}
thumb_func_end ov14_021E9970
thumb_func_start ov14_021E99A0
ov14_021E99A0: ; 0x021E99A0
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r4, [r5, #0x34]
ldrh r0, [r4, #0x10]
cmp r0, #0
beq _021E99B2
cmp r0, #1
beq _021E99D6
b _021E99EC
_021E99B2:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0xe
bl sub_02019978
cmp r0, #0
bne _021E99EC
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8620
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
b _021E99EC
_021E99D6:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0xf
bl sub_02019978
cmp r0, #0
bne _021E99EC
mov r0, #0
strh r0, [r4, #0x10]
pop {r3, r4, r5, pc}
_021E99EC:
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end ov14_021E99A0
thumb_func_start ov14_021E99F0
ov14_021E99F0: ; 0x021E99F0
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xc
bl sub_02019978
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
bl sub_02019978
cmp r4, #0
bne _021E9A1E
cmp r0, #0
bne _021E9A1E
mov r0, #0
pop {r3, r4, r5, pc}
_021E9A1E:
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021E99F0
thumb_func_start ov14_021E9A24
ov14_021E9A24: ; 0x021E9A24
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r0, #0
ldr r5, [r4, #0x34]
ldrh r0, [r5, #0x10]
cmp r0, #1
bhi _021E9A52
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
add r2, sp, #4
add r1, r5, r0
ldr r0, _021E9C78 ; =0x00004094
ldrb r0, [r1, r0]
lsl r0, r0, #2
add r1, r5, r0
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #4
add r1, #2
bl sub_0200DE44
_021E9A52:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8514
add r7, r0, #0
add r0, r4, #0
bl ov14_021E813C
add r6, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
bl sub_02019978
str r0, [sp]
ldrh r0, [r5, #0x10]
cmp r0, #7
bls _021E9A80
b _021E9C70
_021E9A80:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021E9A8C: ; jump table
.short _021E9A9C - _021E9A8C - 2 ; case 0
.short _021E9AA0 - _021E9A8C - 2 ; case 1
.short _021E9BE2 - _021E9A8C - 2 ; case 2
.short _021E9BE2 - _021E9A8C - 2 ; case 3
.short _021E9BE2 - _021E9A8C - 2 ; case 4
.short _021E9C14 - _021E9A8C - 2 ; case 5
.short _021E9C44 - _021E9A8C - 2 ; case 6
.short _021E9C4E - _021E9A8C - 2 ; case 7
_021E9A9C:
mov r0, #1
strh r0, [r5, #0x10]
_021E9AA0:
ldr r0, [r4, #0x34]
ldr r1, _021E9C7C ; =0x0000044A
ldrb r2, [r0, r1]
cmp r2, #1
bne _021E9ABA
cmp r6, #0
bne _021E9ABA
mov r2, #2
strb r2, [r0, r1]
add r0, r4, #0
mov r1, #0x28
bl ov14_021F69F0
_021E9ABA:
add r0, sp, #0xc
add r1, sp, #8
bl sub_02025364
cmp r0, #0
ldr r0, [r4, #0x34]
bne _021E9B68
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r3, sp, #4
add r2, r0, r1
ldr r1, _021E9C78 ; =0x00004094
ldrb r1, [r2, r1]
mov r2, #0
ldrsh r2, [r3, r2]
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #2
ldrsh r1, [r3, r1]
bl sub_0200DDB8
ldr r1, [r4, #0x34]
ldr r0, _021E9C7C ; =0x0000044A
mov r2, #0xff
ldrb r0, [r1, r0]
cmp r0, #2
bne _021E9B0E
ldr r2, _021E9C80 ; =0x000040B8
ldr r0, [r1, r2]
add r2, r2, #4
ldr r1, [r1, r2]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
asr r0, r0, #0x10
asr r1, r1, #0x10
bl ov14_021E7960
add r2, r0, #0
_021E9B0E:
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r4, #0
bl ov14_021E6F3C
add r0, r4, #0
mov r1, #0
bl ov14_021F40E8
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r4, #0
bl ov14_021E70B0
add r1, r4, #0
add r1, #0x21
strb r0, [r1]
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
bhs _021E9B44
mov r0, #5
strh r0, [r5, #0x10]
b _021E9C70
_021E9B44:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7FEC
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8434
ldr r0, [r4, #0x34]
bl ov14_021E8824
mov r0, #2
strh r0, [r5, #0x10]
b _021E9C70
_021E9B68:
ldr r1, _021E9C7C ; =0x0000044A
ldrb r1, [r0, r1]
cmp r1, #0
bne _021E9B9C
cmp r7, #0
bne _021E9B9C
ldr r1, [sp]
cmp r1, #0
bne _021E9B9C
ldr r2, [sp, #0xc]
cmp r2, #0x10
blo _021E9B8A
ldr r1, [sp, #8]
cmp r1, #0x30
blo _021E9B8A
cmp r2, #0x68
blo _021E9B9C
_021E9B8A:
ldr r1, _021E9C7C ; =0x0000044A
mov r2, #1
strb r2, [r0, r1]
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7FB8
_021E9B9C:
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
add r2, r0, r1
ldr r1, _021E9C78 ; =0x00004094
ldrb r1, [r2, r1]
ldr r2, [sp, #8]
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
lsl r2, r2, #0x10
ldr r0, [r1, r0]
ldr r1, [sp, #0xc]
asr r2, r2, #0x10
sub r2, #8
lsl r1, r1, #0x10
lsl r2, r2, #0x10
asr r1, r1, #0x10
asr r2, r2, #0x10
bl sub_0200DDB8
add r0, r4, #0
bl ov14_021F4174
ldr r2, [sp, #0xc]
ldr r1, [r4, #0x34]
ldr r0, _021E9C80 ; =0x000040B8
str r2, [r1, r0]
ldr r2, [sp, #8]
ldr r1, [r4, #0x34]
add r0, r0, #4
str r2, [r1, r0]
b _021E9C70
_021E9BE2:
add r0, r4, #0
bl ov14_021E65C4
cmp r0, #0
bne _021E9C70
cmp r6, #0
bne _021E9C70
cmp r7, #0
bne _021E9C70
ldr r1, [r5, #0xc]
add r0, r4, #0
bl ov14_021E7148
add r0, r4, #0
bl ov14_021F4174
ldr r2, [r4, #0x34]
ldr r1, _021E9C84 ; =0x000040C4
add r0, r4, #0
ldr r1, [r2, r1]
bl ov14_021F40E8
mov r0, #7
strh r0, [r5, #0x10]
b _021E9C70
_021E9C14:
add r0, r4, #0
bl ov14_021E66F4
cmp r0, #0
bne _021E9C70
ldr r1, [r5, #0xc]
add r0, r4, #0
bl ov14_021E7148
add r0, r4, #0
bl ov14_021E765C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7EE0
mov r0, #0xff
add r4, #0x21
strb r0, [r4]
mov r0, #6
strh r0, [r5, #0x10]
b _021E9C70
_021E9C44:
cmp r6, #0
bne _021E9C70
mov r0, #7
strh r0, [r5, #0x10]
b _021E9C70
_021E9C4E:
mov r1, #1
add r0, r4, #0
add r2, r1, #0
bl ov14_021F3488
add r0, r4, #0
mov r1, #2
mov r2, #0
bl ov14_021F3488
ldr r2, [r4, #0x34]
ldr r1, _021E9C7C ; =0x0000044A
mov r0, #0
strb r0, [r2, r1]
add sp, #0x10
strh r0, [r5, #0x10]
pop {r3, r4, r5, r6, r7, pc}
_021E9C70:
mov r0, #1
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_021E9C78: .word 0x00004094
_021E9C7C: .word 0x0000044A
_021E9C80: .word 0x000040B8
_021E9C84: .word 0x000040C4
thumb_func_end ov14_021E9A24
thumb_func_start ov14_021E9C88
ov14_021E9C88: ; 0x021E9C88
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #0x2f
ldr r5, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r5, r0]
bl ov14_021E8514
str r0, [sp]
add r0, r4, #0
bl ov14_021E80A8
add r6, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
bl sub_02019978
add r7, r0, #0
ldrh r0, [r5, #0x10]
cmp r0, #8
bls _021E9CBC
b _021E9F04
_021E9CBC:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021E9CC8: ; jump table
.short _021E9CDA - _021E9CC8 - 2 ; case 0
.short _021E9CDE - _021E9CC8 - 2 ; case 1
.short _021E9E30 - _021E9CC8 - 2 ; case 2
.short _021E9E4A - _021E9CC8 - 2 ; case 3
.short _021E9E4A - _021E9CC8 - 2 ; case 4
.short _021E9E8C - _021E9CC8 - 2 ; case 5
.short _021E9EBA - _021E9CC8 - 2 ; case 6
.short _021E9ED8 - _021E9CC8 - 2 ; case 7
.short _021E9EE2 - _021E9CC8 - 2 ; case 8
_021E9CDA:
mov r0, #1
strh r0, [r5, #0x10]
_021E9CDE:
ldr r0, [r4, #0x34]
ldr r1, _021E9F0C ; =0x0000044A
ldrb r2, [r0, r1]
cmp r2, #1
bne _021E9CF8
cmp r6, #0
bne _021E9CF8
mov r2, #2
strb r2, [r0, r1]
add r0, r4, #0
mov r1, #0x28
bl ov14_021F69F0
_021E9CF8:
add r0, sp, #0xc
add r1, sp, #8
bl sub_02025364
cmp r0, #0
ldr r0, _021E9F0C ; =0x0000044A
bne _021E9D78
ldr r1, [r4, #0x34]
mov r2, #0xff
ldrb r0, [r1, r0]
cmp r0, #2
bne _021E9D28
ldr r2, _021E9F10 ; =0x000040B8
ldr r0, [r1, r2]
add r2, r2, #4
ldr r1, [r1, r2]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
ldr r2, _021E9F14 ; =0x021F7C08
asr r0, r0, #0x10
asr r1, r1, #0x10
bl ov14_021E79AC
add r2, r0, #0
_021E9D28:
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r4, #0
bl ov14_021E7034
add r0, r4, #0
mov r1, #0
bl ov14_021F40E8
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r4, #0
bl ov14_021E70B0
add r1, r4, #0
add r1, #0x21
strb r0, [r1]
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
blo _021E9D5E
mov r0, #5
strh r0, [r5, #0x10]
b _021E9F04
_021E9D5E:
ldr r1, [r4, #0x34]
ldr r0, _021E9F0C ; =0x0000044A
ldrb r0, [r1, r0]
cmp r0, #0
beq _021E9D72
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7F4C
_021E9D72:
mov r0, #2
strh r0, [r5, #0x10]
b _021E9F04
_021E9D78:
ldr r1, [r4, #0x34]
ldrb r0, [r1, r0]
cmp r0, #0
bne _021E9DEA
ldr r0, [sp]
cmp r0, #0
bne _021E9DEA
cmp r7, #0
bne _021E9DEA
add r0, r4, #0
add r3, r4, #0
add r0, #0x21
add r3, #0x22
add r1, sp, #4
ldrb r0, [r0]
ldrb r3, [r3]
add r1, #2
add r2, sp, #4
bl ov14_021F2F88
add r1, sp, #4
mov r0, #2
ldrsh r3, [r1, r0]
ldr r2, [sp, #0xc]
add r0, r3, #0
sub r0, #0x10
cmp r2, r0
blo _021E9DCA
add r3, #0x10
cmp r2, r3
bhs _021E9DCA
mov r0, #0
ldrsh r2, [r1, r0]
ldr r1, [sp, #8]
add r0, r2, #0
sub r0, #0x10
cmp r1, r0
blo _021E9DCA
add r2, #0x10
cmp r1, r2
blo _021E9DEA
_021E9DCA:
ldr r1, [r4, #0x34]
ldr r0, _021E9F0C ; =0x0000044A
mov r2, #1
strb r2, [r1, r0]
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7ED0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7EE0
_021E9DEA:
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
add r2, r0, r1
ldr r1, _021E9F18 ; =0x00004094
ldrb r1, [r2, r1]
ldr r2, [sp, #8]
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
lsl r2, r2, #0x10
ldr r0, [r1, r0]
ldr r1, [sp, #0xc]
asr r2, r2, #0x10
sub r2, #8
lsl r1, r1, #0x10
lsl r2, r2, #0x10
asr r1, r1, #0x10
asr r2, r2, #0x10
bl sub_0200DDB8
add r0, r4, #0
bl ov14_021F4174
ldr r2, [sp, #0xc]
ldr r1, [r4, #0x34]
ldr r0, _021E9F10 ; =0x000040B8
str r2, [r1, r0]
ldr r2, [sp, #8]
ldr r1, [r4, #0x34]
add r0, r0, #4
str r2, [r1, r0]
b _021E9F04
_021E9E30:
cmp r6, #0
bne _021E9E4A
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8434
ldr r0, [r4, #0x34]
bl ov14_021E8824
mov r0, #3
strh r0, [r5, #0x10]
_021E9E4A:
add r0, r4, #0
bl ov14_021E65C4
cmp r0, #0
bne _021E9E80
ldrh r0, [r5, #0x10]
cmp r0, #4
bne _021E9E80
ldr r0, [sp]
cmp r0, #0
bne _021E9E80
ldr r1, [r5, #0xc]
add r0, r4, #0
bl ov14_021E7148
add r0, r4, #0
bl ov14_021F4174
ldr r2, [r4, #0x34]
ldr r1, _021E9F1C ; =0x000040C4
add r0, r4, #0
ldr r1, [r2, r1]
bl ov14_021F40E8
mov r0, #8
strh r0, [r5, #0x10]
b _021E9F04
_021E9E80:
ldrh r0, [r5, #0x10]
cmp r0, #3
bne _021E9F04
mov r0, #4
strh r0, [r5, #0x10]
b _021E9F04
_021E9E8C:
add r0, r4, #0
bl ov14_021E65C4
cmp r0, #0
bne _021E9F04
ldr r1, [r5, #0xc]
add r0, r4, #0
bl ov14_021E7148
add r0, r4, #0
mov r1, #0xff
add r0, #0x21
strb r1, [r0]
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7F4C
ldrh r0, [r5, #0x10]
add r0, r0, #1
strh r0, [r5, #0x10]
b _021E9F04
_021E9EBA:
cmp r6, #0
bne _021E9F04
add r0, r4, #0
bl ov14_021E765C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldrh r0, [r5, #0x10]
add r0, r0, #1
strh r0, [r5, #0x10]
b _021E9F04
_021E9ED8:
cmp r7, #0
bne _021E9F04
mov r0, #8
strh r0, [r5, #0x10]
b _021E9F04
_021E9EE2:
add r0, r4, #0
mov r1, #1
mov r2, #0
bl ov14_021F3488
add r0, r4, #0
mov r1, #2
mov r2, #0
bl ov14_021F3488
ldr r2, [r4, #0x34]
ldr r1, _021E9F0C ; =0x0000044A
mov r0, #0
strb r0, [r2, r1]
add sp, #0x10
strh r0, [r5, #0x10]
pop {r3, r4, r5, r6, r7, pc}
_021E9F04:
mov r0, #1
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_021E9F0C: .word 0x0000044A
_021E9F10: .word 0x000040B8
_021E9F14: .word 0x021F7C08
_021E9F18: .word 0x00004094
_021E9F1C: .word 0x000040C4
thumb_func_end ov14_021E9C88
thumb_func_start ov14_021E9F20
ov14_021E9F20: ; 0x021E9F20
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r1, [r5, #0x34]
mov r0, #0x2f
lsl r0, r0, #4
ldr r4, [r1, #0xc]
ldr r0, [r1, r0]
mov r1, #0xf
bl sub_02019978
ldr r1, [r4, #4]
lsr r2, r1, #2
bne _021E9F98
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
ldrb r1, [r4]
ldrb r2, [r4, #1]
bl sub_0200DDB8
ldr r0, [r5, #0x34]
ldr r1, _021EA060 ; =0x0000044B
ldrb r1, [r0, r1]
cmp r1, #1
bne _021E9F94
ldr r1, [r5]
ldr r1, [r1, #8]
cmp r1, #3
bne _021E9F72
ldrb r2, [r4, #1]
mov r1, #0xca
lsl r1, r1, #2
ldr r0, [r0, r1]
add r2, #8
lsl r2, r2, #0x10
ldrb r1, [r4]
asr r2, r2, #0x10
bl sub_0200DDB8
b _021E9F94
_021E9F72:
add r5, #0x21
ldrb r1, [r5]
add r2, r0, r1
ldr r1, _021EA064 ; =0x00004094
ldrb r1, [r2, r1]
ldrb r2, [r4, #1]
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r2, r2, #4
lsl r2, r2, #0x10
ldrb r1, [r4]
asr r2, r2, #0x10
bl sub_0200DDB8
_021E9F94:
mov r0, #0
pop {r3, r4, r5, pc}
_021E9F98:
mov r0, #3
and r1, r0
sub r0, r2, #1
lsl r0, r0, #2
orr r0, r1
str r0, [r4, #4]
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
add r2, sp, #0
bl sub_0200DE44
ldr r0, [r4, #4]
add r1, sp, #0
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
bne _021E9FCA
mov r0, #2
ldrsh r2, [r1, r0]
ldrb r0, [r4, #2]
add r0, r2, r0
b _021E9FD2
_021E9FCA:
mov r0, #2
ldrsh r2, [r1, r0]
ldrb r0, [r4, #2]
sub r0, r2, r0
_021E9FD2:
strh r0, [r1, #2]
ldr r0, [r4, #4]
add r1, sp, #0
lsl r0, r0, #0x1e
lsr r0, r0, #0x1f
bne _021E9FE8
mov r0, #0
ldrsh r2, [r1, r0]
ldrb r0, [r4, #3]
add r0, r2, r0
b _021E9FF0
_021E9FE8:
mov r0, #0
ldrsh r2, [r1, r0]
ldrb r0, [r4, #3]
sub r0, r2, r0
_021E9FF0:
strh r0, [r1]
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r3, sp, #0
mov r1, #2
mov r2, #0
ldrsh r1, [r3, r1]
ldrsh r2, [r3, r2]
bl sub_0200DDB8
ldr r0, [r5, #0x34]
ldr r1, _021EA060 ; =0x0000044B
ldrb r1, [r0, r1]
cmp r1, #1
bne _021EA05C
ldr r1, [r5]
add r3, sp, #0
ldr r1, [r1, #8]
cmp r1, #3
bne _021EA036
mov r2, #0
mov r1, #0xca
ldrsh r2, [r3, r2]
lsl r1, r1, #2
ldr r0, [r0, r1]
mov r1, #2
add r2, #8
lsl r2, r2, #0x10
ldrsh r1, [r3, r1]
asr r2, r2, #0x10
bl sub_0200DDB8
b _021EA05C
_021EA036:
add r5, #0x21
ldrb r1, [r5]
add r2, r0, r1
ldr r1, _021EA064 ; =0x00004094
ldrb r1, [r2, r1]
mov r2, #0
ldrsh r2, [r3, r2]
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #2
add r2, r2, #4
lsl r2, r2, #0x10
ldrsh r1, [r3, r1]
asr r2, r2, #0x10
bl sub_0200DDB8
_021EA05C:
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_021EA060: .word 0x0000044B
_021EA064: .word 0x00004094
thumb_func_end ov14_021E9F20
thumb_func_start ov14_021EA068
ov14_021EA068: ; 0x021EA068
push {r4, r5, r6, lr}
add r6, r0, #0
ldr r5, [r6, #0x34]
ldrh r0, [r5, #0x10]
cmp r0, #0
beq _021EA07A
cmp r0, #1
beq _021EA092
b _021EA0B2
_021EA07A:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r5, r0]
mov r1, #0xa
bl sub_02019978
cmp r0, #0
bne _021EA0B2
ldrh r0, [r5, #0x10]
add r0, r0, #1
strh r0, [r5, #0x10]
b _021EA0B2
_021EA092:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r5, r0]
bl ov14_021E8514
add r4, r0, #0
add r0, r6, #0
bl ov14_021E9F20
cmp r4, #0
bne _021EA0B2
cmp r0, #0
bne _021EA0B2
mov r0, #0
strh r0, [r5, #0x10]
pop {r4, r5, r6, pc}
_021EA0B2:
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov14_021EA068
thumb_func_start ov14_021EA0B8
ov14_021EA0B8: ; 0x021EA0B8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r4, [r5, #0x34]
ldrh r1, [r4, #0x10]
cmp r1, #0
beq _021EA0CA
cmp r1, #1
beq _021EA10A
b _021EA12A
_021EA0CA:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #8
bl sub_02019978
add r6, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #9
bl sub_02019978
add r7, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
bl sub_02019978
cmp r6, #0
bne _021EA12A
cmp r7, #0
bne _021EA12A
cmp r0, #0
bne _021EA12A
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
b _021EA12A
_021EA10A:
bl ov14_021E9F20
add r6, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8514
cmp r6, #0
bne _021EA12A
cmp r0, #0
bne _021EA12A
mov r0, #0
strh r0, [r4, #0x10]
pop {r3, r4, r5, r6, r7, pc}
_021EA12A:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021EA0B8
thumb_func_start ov14_021EA130
ov14_021EA130: ; 0x021EA130
push {r4, r5, r6, lr}
add r6, r0, #0
ldr r5, [r6, #0x34]
ldrh r0, [r5, #0x10]
cmp r0, #0
beq _021EA142
cmp r0, #1
beq _021EA164
b _021EA17A
_021EA142:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r5, r0]
bl ov14_021E8514
add r4, r0, #0
add r0, r6, #0
bl ov14_021E9F20
cmp r4, #0
bne _021EA17A
cmp r0, #0
bne _021EA17A
ldrh r0, [r5, #0x10]
add r0, r0, #1
strh r0, [r5, #0x10]
b _021EA17A
_021EA164:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r5, r0]
mov r1, #0xa
bl sub_02019978
cmp r0, #0
bne _021EA17A
mov r0, #0
strh r0, [r5, #0x10]
pop {r4, r5, r6, pc}
_021EA17A:
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov14_021EA130
thumb_func_start ov14_021EA180
ov14_021EA180: ; 0x021EA180
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r4, [r5, #0x34]
ldrh r1, [r4, #0x10]
cmp r1, #0
beq _021EA192
cmp r1, #1
beq _021EA1AE
b _021EA1EC
_021EA192:
bl ov14_021E9F20
add r6, r0, #0
add r0, r5, #0
bl ov14_021E9434
cmp r6, #0
bne _021EA1EC
cmp r0, #0
bne _021EA1EC
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
b _021EA1EC
_021EA1AE:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #8
bl sub_02019978
add r6, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #9
bl sub_02019978
add r7, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
bl sub_02019978
cmp r6, #0
bne _021EA1EC
cmp r7, #0
bne _021EA1EC
cmp r0, #0
bne _021EA1EC
mov r0, #0
strh r0, [r4, #0x10]
pop {r3, r4, r5, r6, r7, pc}
_021EA1EC:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov14_021EA180
thumb_func_start ov14_021EA1F0
ov14_021EA1F0: ; 0x021EA1F0
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0xa
bl ov14_021F29E4
mov r0, #0x32
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
add r2, sp, #0
bl sub_0200DE44
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
add r3, sp, #0
add r2, r0, r1
ldr r1, _021EA250 ; =0x00004094
ldrb r1, [r2, r1]
mov r2, #0
ldrsh r2, [r3, r2]
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #2
add r2, r2, #4
lsl r2, r2, #0x10
ldrsh r1, [r3, r1]
asr r2, r2, #0x10
bl sub_0200DDB8
ldr r0, [r4, #0x34]
add r4, #0x21
ldrb r1, [r4]
mov r2, #0
bl ov14_021F3190
add sp, #4
pop {r3, r4, pc}
nop
_021EA250: .word 0x00004094
thumb_func_end ov14_021EA1F0
thumb_func_start ov14_021EA254
ov14_021EA254: ; 0x021EA254
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
mov r0, #0x2f
ldr r4, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0xf
bl sub_02019978
ldrh r0, [r4, #0x10]
cmp r0, #3
bhi _021EA36E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021EA27A: ; jump table
.short _021EA282 - _021EA27A - 2 ; case 0
.short _021EA292 - _021EA27A - 2 ; case 1
.short _021EA2DA - _021EA27A - 2 ; case 2
.short _021EA2EA - _021EA27A - 2 ; case 3
_021EA282:
mov r1, #9
ldr r0, [r5, #0x34]
add r2, r1, #0
bl ov14_021F29E4
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
_021EA292:
ldrh r0, [r4, #0x12]
cmp r0, #4
bne _021EA2A4
mov r0, #0
strh r0, [r4, #0x12]
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
b _021EA36E
_021EA2A4:
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
add r2, sp, #0
bl sub_0200DE44
mov r0, #0x32
add r3, sp, #0
mov r2, #0
ldrsh r2, [r3, r2]
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #2
add r2, r2, #2
lsl r2, r2, #0x10
ldrsh r1, [r3, r1]
asr r2, r2, #0x10
bl sub_0200DDB8
ldrh r0, [r4, #0x12]
add r0, r0, #1
strh r0, [r4, #0x12]
b _021EA36E
_021EA2DA:
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #0xa
bl ov14_021F29E4
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
_021EA2EA:
ldrh r0, [r4, #0x12]
cmp r0, #4
bne _021EA2FA
mov r0, #0
strh r0, [r4, #0x12]
add sp, #4
strh r0, [r4, #0x10]
pop {r3, r4, r5, r6, pc}
_021EA2FA:
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
add r2, sp, #0
bl sub_0200DE44
mov r0, #0x32
add r3, sp, #0
mov r2, #0
ldrsh r2, [r3, r2]
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #2
sub r2, r2, #2
lsl r2, r2, #0x10
ldrsh r1, [r3, r1]
asr r2, r2, #0x10
bl sub_0200DDB8
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
add r2, r0, r1
ldr r1, _021EA374 ; =0x00004094
ldrb r1, [r2, r1]
add r2, sp, #0
lsl r6, r1, #2
add r1, r0, r6
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
bl sub_0200DE44
ldr r0, [r5, #0x34]
add r3, sp, #0
mov r2, #0
add r1, r0, r6
mov r0, #0xbf
ldrsh r2, [r3, r2]
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #2
sub r2, r2, #2
lsl r2, r2, #0x10
ldrsh r1, [r3, r1]
asr r2, r2, #0x10
bl sub_0200DDB8
ldrh r0, [r4, #0x12]
add r0, r0, #1
strh r0, [r4, #0x12]
_021EA36E:
mov r0, #1
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_021EA374: .word 0x00004094
thumb_func_end ov14_021EA254
thumb_func_start ov14_021EA378
ov14_021EA378: ; 0x021EA378
push {r4, r5, r6, lr}
add r5, r0, #0
mov r0, #0x2f
ldr r4, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0xf
bl sub_02019978
ldrh r0, [r4, #0x10]
cmp r0, #0
beq _021EA396
cmp r0, #1
beq _021EA3DC
b _021EA3FE
_021EA396:
mov r1, #9
ldr r0, [r5, #0x34]
add r2, r1, #0
bl ov14_021F29E4
ldr r1, [r5, #0x34]
ldr r0, _021EA404 ; =0x0000044C
ldrb r6, [r1, r0]
cmp r6, #0x25
blo _021EA3B0
cmp r6, #0x2a
bhi _021EA3B0
add r6, #0x5b
_021EA3B0:
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
add r2, r6, #0
bl ov14_021E6CF8
mov r0, #0x80
tst r0, r6
bne _021EA3D6
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
bl ov14_021E70B0
add r1, r5, #0
add r1, #0x21
strb r0, [r1]
_021EA3D6:
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
_021EA3DC:
add r0, r5, #0
bl ov14_021E65C4
cmp r0, #0
bne _021EA3FE
ldr r1, [r4, #0xc]
add r0, r5, #0
bl ov14_021E7148
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
mov r0, #0
strh r0, [r4, #0x10]
pop {r4, r5, r6, pc}
_021EA3FE:
mov r0, #1
pop {r4, r5, r6, pc}
nop
_021EA404: .word 0x0000044C
thumb_func_end ov14_021EA378
thumb_func_start ov14_021EA408
ov14_021EA408: ; 0x021EA408
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r4, [r5, #0x34]
ldrh r1, [r4, #0x10]
cmp r1, #0
beq _021EA41E
cmp r1, #1
beq _021EA448
cmp r1, #2
beq _021EA48A
b _021EA4C0
_021EA41E:
ldr r0, _021EA4C4 ; =0x000088C8
ldrh r0, [r4, r0]
cmp r0, #0
beq _021EA442
add r0, r4, #0
mov r1, #1
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F29E4
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F2A18
_021EA442:
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
_021EA448:
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #8
bl sub_02019978
add r6, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #9
bl sub_02019978
add r7, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
bl sub_02019978
cmp r6, #0
bne _021EA4C0
cmp r7, #0
bne _021EA4C0
cmp r0, #0
bne _021EA4C0
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
b _021EA4C0
_021EA48A:
bl ov14_021E9F20
add r6, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8514
cmp r6, #0
bne _021EA4C0
cmp r0, #0
bne _021EA4C0
ldr r0, [r5, #0x34]
ldr r1, _021EA4C4 ; =0x000088C8
ldrh r1, [r0, r1]
cmp r1, #0
beq _021EA4BA
mov r1, #0
bl ov14_021F391C
ldr r0, [r5, #0x34]
bl ov14_021F3B3C
_021EA4BA:
mov r0, #0
strh r0, [r4, #0x10]
pop {r3, r4, r5, r6, r7, pc}
_021EA4C0:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021EA4C4: .word 0x000088C8
thumb_func_end ov14_021EA408
thumb_func_start ov14_021EA4C8
ov14_021EA4C8: ; 0x021EA4C8
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
mov r0, #0x2f
ldr r5, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r5, r0]
bl ov14_021E8514
add r6, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #8
bl sub_02019978
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #9
bl sub_02019978
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
bl sub_02019978
ldrh r0, [r5, #0x10]
cmp r0, #0xa
bls _021EA50E
b _021EA664
_021EA50E:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021EA51A: ; jump table
.short _021EA530 - _021EA51A - 2 ; case 0
.short _021EA56A - _021EA51A - 2 ; case 1
.short _021EA588 - _021EA51A - 2 ; case 2
.short _021EA632 - _021EA51A - 2 ; case 3
.short _021EA664 - _021EA51A - 2 ; case 4
.short _021EA664 - _021EA51A - 2 ; case 5
.short _021EA664 - _021EA51A - 2 ; case 6
.short _021EA664 - _021EA51A - 2 ; case 7
.short _021EA664 - _021EA51A - 2 ; case 8
.short _021EA664 - _021EA51A - 2 ; case 9
.short _021EA642 - _021EA51A - 2 ; case 10
_021EA530:
ldr r0, [r4, #0x34]
ldr r1, _021EA66C ; =0x000088C8
ldrh r1, [r0, r1]
cmp r1, #0
beq _021EA55A
mov r1, #1
bl ov14_021F391C
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F29E4
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F2A18
mov r0, #1
strh r0, [r5, #0x10]
b _021EA664
_021EA55A:
mov r1, #0x2f
lsl r1, r1, #4
ldr r0, [r0, r1]
bl ov14_021E8434
mov r0, #0xa
strh r0, [r5, #0x10]
b _021EA664
_021EA56A:
ldr r0, [r4, #0x34]
mov r1, #0xb
bl ov14_021F2A04
cmp r0, #1
beq _021EA664
ldr r0, [r4, #0x34]
mov r1, #0
bl ov14_021F391C
ldr r0, [r4, #0x34]
bl ov14_021F3B3C
mov r0, #2
strh r0, [r5, #0x10]
_021EA588:
add r0, sp, #4
add r1, sp, #0
bl sub_02025364
cmp r0, #0
bne _021EA608
ldr r1, [r4, #0x34]
ldr r2, _021EA670 ; =0x000040B8
ldr r0, [r1, r2]
add r2, r2, #4
ldr r1, [r1, r2]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
asr r0, r0, #0x10
asr r1, r1, #0x10
bl ov14_021E7960
lsl r0, r0, #0x10
lsr r6, r0, #0x10
add r7, r6, #0
cmp r6, #0xff
bne _021EA5BC
add r0, r4, #0
add r0, #0x21
ldrb r6, [r0]
b _021EA5D4
_021EA5BC:
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r4, #0
add r2, r6, #0
bl ov14_021E6AA0
cmp r0, #0
bne _021EA5D4
add r0, r4, #0
add r0, #0x21
ldrb r6, [r0]
_021EA5D4:
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
cmp r6, r0
ldr r1, [r4, #0x34]
bne _021EA5EC
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8434
b _021EA5F6
_021EA5EC:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88F8
_021EA5F6:
add r0, r4, #0
add r1, r7, #0
add r2, r6, #0
mov r3, #2
bl ov14_021E7AD4
mov r0, #3
strh r0, [r5, #0x10]
b _021EA664
_021EA608:
ldr r1, [sp, #4]
ldr r2, [sp]
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r0, [r4, #0x34]
asr r1, r1, #0x10
asr r2, r2, #0x10
bl ov14_021F395C
ldr r0, [r4, #0x34]
bl ov14_021F3B5C
ldr r2, [sp, #4]
ldr r1, [r4, #0x34]
ldr r0, _021EA670 ; =0x000040B8
str r2, [r1, r0]
ldr r2, [sp]
ldr r1, [r4, #0x34]
add r0, r0, #4
str r2, [r1, r0]
b _021EA664
_021EA632:
add r0, r4, #0
bl ov14_021E7B8C
cmp r0, #0
bne _021EA664
mov r0, #0xa
strh r0, [r5, #0x10]
b _021EA664
_021EA642:
cmp r6, #0
bne _021EA664
ldr r0, [r4, #0x34]
ldr r1, _021EA66C ; =0x000088C8
ldrh r1, [r0, r1]
cmp r1, #0
beq _021EA65C
mov r1, #0
bl ov14_021F391C
ldr r0, [r4, #0x34]
bl ov14_021F3B3C
_021EA65C:
mov r0, #0
add sp, #8
strh r0, [r5, #0x10]
pop {r3, r4, r5, r6, r7, pc}
_021EA664:
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_021EA66C: .word 0x000088C8
_021EA670: .word 0x000040B8
thumb_func_end ov14_021EA4C8
thumb_func_start ov14_021EA674
ov14_021EA674: ; 0x021EA674
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r4, [r5, #0x34]
ldrh r0, [r4, #0x10]
cmp r0, #0
beq _021EA68A
cmp r0, #1
beq _021EA6AA
cmp r0, #2
beq _021EA6C8
b _021EA720
_021EA68A:
ldr r0, _021EA724 ; =0x000088C8
ldrh r0, [r4, r0]
cmp r0, #0
beq _021EA6A4
add r0, r4, #0
mov r1, #1
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #2
bl ov14_021F29E4
_021EA6A4:
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
_021EA6AA:
add r0, r5, #0
bl ov14_021E9F20
add r6, r0, #0
add r0, r5, #0
bl ov14_021E9434
cmp r6, #0
bne _021EA720
cmp r0, #0
bne _021EA720
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
b _021EA720
_021EA6C8:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #8
bl sub_02019978
add r6, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #9
bl sub_02019978
add r7, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
bl sub_02019978
cmp r6, #0
bne _021EA720
cmp r7, #0
bne _021EA720
cmp r0, #0
bne _021EA720
ldr r0, [r5, #0x34]
ldr r1, _021EA724 ; =0x000088C8
ldrh r1, [r0, r1]
cmp r1, #0
beq _021EA71A
mov r1, #0
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
_021EA71A:
mov r0, #0
strh r0, [r4, #0x10]
pop {r3, r4, r5, r6, r7, pc}
_021EA720:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021EA724: .word 0x000088C8
thumb_func_end ov14_021EA674
thumb_func_start ov14_021EA728
ov14_021EA728: ; 0x021EA728
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r4, [r5, #0x34]
ldrh r1, [r4, #0x10]
cmp r1, #0
beq _021EA73A
cmp r1, #1
beq _021EA766
b _021EA774
_021EA73A:
add r0, r4, #0
mov r1, #0xb
bl ov14_021F2A04
cmp r0, #1
beq _021EA774
add r0, r5, #0
add r0, #0x21
ldrb r1, [r0]
ldr r0, [r4, #0xc]
mov r3, #2
ldrh r2, [r0]
add r0, r5, #0
add r0, #0x21
strb r2, [r0]
add r0, r5, #0
add r2, r1, #0
bl ov14_021E7AD4
mov r0, #1
strh r0, [r4, #0x10]
b _021EA774
_021EA766:
bl ov14_021E7B8C
cmp r0, #0
bne _021EA774
mov r0, #0
strh r0, [r4, #0x10]
pop {r3, r4, r5, pc}
_021EA774:
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end ov14_021EA728
thumb_func_start ov14_021EA778
ov14_021EA778: ; 0x021EA778
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
mov r0, #0x2f
ldr r5, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r5, r0]
mov r1, #0xe
bl sub_02019978
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xf
bl sub_02019978
ldrh r0, [r5, #0x10]
cmp r0, #6
bhi _021EA7E8
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021EA7AC: ; jump table
.short _021EA7BA - _021EA7AC - 2 ; case 0
.short _021EA7DC - _021EA7AC - 2 ; case 1
.short _021EA7FE - _021EA7AC - 2 ; case 2
.short _021EA8A6 - _021EA7AC - 2 ; case 3
.short _021EA8C8 - _021EA7AC - 2 ; case 4
.short _021EA8E8 - _021EA7AC - 2 ; case 5
.short _021EA90C - _021EA7AC - 2 ; case 6
_021EA7BA:
ldr r0, [r4, #0x34]
mov r1, #1
bl ov14_021F391C
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F29E4
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F2A18
mov r0, #1
strh r0, [r5, #0x10]
b _021EA914
_021EA7DC:
ldr r0, [r4, #0x34]
mov r1, #0xb
bl ov14_021F2A04
cmp r0, #0
beq _021EA7EA
_021EA7E8:
b _021EA914
_021EA7EA:
ldr r0, [r4, #0x34]
mov r1, #0
bl ov14_021F391C
ldr r0, [r4, #0x34]
bl ov14_021F3B3C
mov r0, #2
strh r0, [r5, #0x10]
b _021EA914
_021EA7FE:
add r0, sp, #4
add r1, sp, #0
bl sub_02025364
cmp r0, #0
bne _021EA87C
ldr r1, [r4, #0x34]
ldr r2, _021EA91C ; =0x000040B8
ldr r0, [r1, r2]
add r2, r2, #4
ldr r1, [r1, r2]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
asr r0, r0, #0x10
asr r1, r1, #0x10
bl ov14_021E7960
lsl r0, r0, #0x10
lsr r6, r0, #0x10
cmp r6, #0xff
bne _021EA844
ldr r1, [r4, #0x34]
ldr r2, _021EA91C ; =0x000040B8
ldr r0, [r1, r2]
add r2, r2, #4
ldr r1, [r1, r2]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
ldr r2, _021EA920 ; =0x021F7C08
asr r0, r0, #0x10
asr r1, r1, #0x10
bl ov14_021E79AC
lsl r0, r0, #0x10
lsr r6, r0, #0x10
_021EA844:
add r7, r6, #0
cmp r6, #0xff
bne _021EA852
add r0, r4, #0
add r0, #0x21
ldrb r6, [r0]
b _021EA86A
_021EA852:
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r4, #0
add r2, r6, #0
bl ov14_021E6AA0
cmp r0, #0
bne _021EA86A
add r0, r4, #0
add r0, #0x21
ldrb r6, [r0]
_021EA86A:
add r0, r4, #0
add r1, r7, #0
add r2, r6, #0
mov r3, #2
bl ov14_021E7AD4
mov r0, #3
strh r0, [r5, #0x10]
b _021EA914
_021EA87C:
ldr r1, [sp, #4]
ldr r2, [sp]
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r0, [r4, #0x34]
asr r1, r1, #0x10
asr r2, r2, #0x10
bl ov14_021F395C
ldr r0, [r4, #0x34]
bl ov14_021F3B5C
ldr r2, [sp, #4]
ldr r1, [r4, #0x34]
ldr r0, _021EA91C ; =0x000040B8
str r2, [r1, r0]
ldr r2, [sp]
ldr r1, [r4, #0x34]
add r0, r0, #4
str r2, [r1, r0]
b _021EA914
_021EA8A6:
add r0, r4, #0
bl ov14_021E7B8C
cmp r0, #0
bne _021EA914
ldr r0, _021EA924 ; =0x000005EA
bl PlaySE
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8620
mov r0, #4
strh r0, [r5, #0x10]
b _021EA914
_021EA8C8:
ldr r0, [r4, #0x34]
mov r1, #1
bl ov14_021F391C
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #2
bl ov14_021F29E4
add r0, r4, #0
mov r1, #0
bl ov14_021F40E8
mov r0, #5
strh r0, [r5, #0x10]
b _021EA914
_021EA8E8:
ldr r0, [r4, #0x34]
mov r1, #0xb
bl ov14_021F2A04
cmp r0, #0
bne _021EA914
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #0x34]
mov r1, #0
bl ov14_021F391C
mov r0, #6
strh r0, [r5, #0x10]
b _021EA914
_021EA90C:
mov r0, #0
add sp, #8
strh r0, [r5, #0x10]
pop {r3, r4, r5, r6, r7, pc}
_021EA914:
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_021EA91C: .word 0x000040B8
_021EA920: .word 0x021F7C08
_021EA924: .word 0x000005EA
thumb_func_end ov14_021EA778
thumb_func_start ov14_021EA928
ov14_021EA928: ; 0x021EA928
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r4, [r5, #0x34]
ldrh r1, [r4, #0x10]
cmp r1, #6
bhi _021EA9FC
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_021EA940: ; jump table
.short _021EA94E - _021EA940 - 2 ; case 0
.short _021EA970 - _021EA940 - 2 ; case 1
.short _021EA98A - _021EA940 - 2 ; case 2
.short _021EA9A6 - _021EA940 - 2 ; case 3
.short _021EA9BA - _021EA940 - 2 ; case 4
.short _021EA9D2 - _021EA940 - 2 ; case 5
.short _021EA9F6 - _021EA940 - 2 ; case 6
_021EA94E:
add r0, r4, #0
mov r1, #1
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F29E4
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F2A18
mov r0, #1
strh r0, [r4, #0x10]
b _021EA9FC
_021EA970:
add r0, r4, #0
mov r1, #0xb
bl ov14_021F2A04
cmp r0, #0
bne _021EA9FC
ldr r0, [r5, #0x34]
mov r1, #0
bl ov14_021F391C
mov r0, #2
strh r0, [r4, #0x10]
b _021EA9FC
_021EA98A:
add r1, r5, #0
ldr r2, [r4, #0xc]
add r1, #0x21
ldrb r1, [r1]
ldrh r2, [r2]
add r5, #0x21
mov r3, #2
strb r2, [r5]
add r2, r1, #0
bl ov14_021E7AD4
mov r0, #3
strh r0, [r4, #0x10]
b _021EA9FC
_021EA9A6:
bl ov14_021E7B8C
cmp r0, #0
bne _021EA9FC
ldr r0, _021EAA00 ; =0x000005EA
bl PlaySE
mov r0, #4
strh r0, [r4, #0x10]
b _021EA9FC
_021EA9BA:
add r0, r4, #0
mov r1, #1
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #2
bl ov14_021F29E4
mov r0, #5
strh r0, [r4, #0x10]
b _021EA9FC
_021EA9D2:
add r0, r4, #0
mov r1, #0xb
bl ov14_021F2A04
cmp r0, #0
bne _021EA9FC
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
ldr r0, [r5, #0x34]
mov r1, #0
bl ov14_021F391C
mov r0, #6
strh r0, [r4, #0x10]
b _021EA9FC
_021EA9F6:
mov r0, #0
strh r0, [r4, #0x10]
pop {r3, r4, r5, pc}
_021EA9FC:
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_021EAA00: .word 0x000005EA
thumb_func_end ov14_021EA928
thumb_func_start ov14_021EAA04
ov14_021EAA04: ; 0x021EAA04
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0x2f
ldr r4, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0xf
bl sub_02019978
ldrh r0, [r4, #0x10]
cmp r0, #5
bls _021EAA1E
b _021EAB4E
_021EAA1E:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021EAA2A: ; jump table
.short _021EAA36 - _021EAA2A - 2 ; case 0
.short _021EAA5A - _021EAA2A - 2 ; case 1
.short _021EAA76 - _021EAA2A - 2 ; case 2
.short _021EAA86 - _021EAA2A - 2 ; case 3
.short _021EAACE - _021EAA2A - 2 ; case 4
.short _021EAADE - _021EAA2A - 2 ; case 5
_021EAA36:
ldr r0, [r5, #0x34]
mov r1, #1
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F29E4
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F2A18
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
b _021EAB4E
_021EAA5A:
ldr r0, [r5, #0x34]
mov r1, #0xb
bl ov14_021F2A04
cmp r0, #0
bne _021EAB4E
ldr r0, [r5, #0x34]
mov r1, #0
bl ov14_021F391C
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
b _021EAB4E
_021EAA76:
mov r1, #9
ldr r0, [r5, #0x34]
add r2, r1, #0
bl ov14_021F29E4
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
_021EAA86:
ldrh r0, [r4, #0x12]
cmp r0, #4
bne _021EAA98
mov r0, #0
strh r0, [r4, #0x12]
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
b _021EAB4E
_021EAA98:
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
add r2, sp, #0
bl sub_0200DE44
mov r0, #0x32
add r3, sp, #0
mov r2, #0
ldrsh r2, [r3, r2]
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #2
add r2, r2, #2
lsl r2, r2, #0x10
ldrsh r1, [r3, r1]
asr r2, r2, #0x10
bl sub_0200DDB8
ldrh r0, [r4, #0x12]
add r0, r0, #1
strh r0, [r4, #0x12]
b _021EAB4E
_021EAACE:
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #0xa
bl ov14_021F29E4
ldrh r0, [r4, #0x10]
add r0, r0, #1
strh r0, [r4, #0x10]
_021EAADE:
ldrh r0, [r4, #0x12]
cmp r0, #4
bne _021EAAEC
mov r0, #0
strh r0, [r4, #0x12]
strh r0, [r4, #0x10]
pop {r3, r4, r5, pc}
_021EAAEC:
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
add r2, sp, #0
bl sub_0200DE44
mov r0, #0x32
add r3, sp, #0
mov r2, #0
ldrsh r2, [r3, r2]
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #2
sub r2, r2, #2
lsl r2, r2, #0x10
ldrsh r1, [r3, r1]
asr r2, r2, #0x10
bl sub_0200DDB8
mov r0, #0xca
ldr r1, [r5, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
add r2, sp, #0
bl sub_0200DE44
mov r0, #0xca
add r3, sp, #0
mov r2, #0
ldrsh r2, [r3, r2]
ldr r1, [r5, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #2
sub r2, r2, #2
lsl r2, r2, #0x10
ldrsh r1, [r3, r1]
asr r2, r2, #0x10
bl sub_0200DDB8
ldrh r0, [r4, #0x12]
add r0, r0, #1
strh r0, [r4, #0x12]
_021EAB4E:
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021EAA04
thumb_func_start ov14_021EAB54
ov14_021EAB54: ; 0x021EAB54
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r4, [r5, #0x34]
ldrh r0, [r4, #0x10]
cmp r0, #4
bhi _021EAC20
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021EAB6C: ; jump table
.short _021EAB76 - _021EAB6C - 2 ; case 0
.short _021EAB84 - _021EAB6C - 2 ; case 1
.short _021EABCA - _021EAB6C - 2 ; case 2
.short _021EABEC - _021EAB6C - 2 ; case 3
.short _021EAC10 - _021EAB6C - 2 ; case 4
_021EAB76:
mov r1, #9
add r0, r4, #0
add r2, r1, #0
bl ov14_021F29E4
mov r0, #1
strh r0, [r4, #0x10]
_021EAB84:
ldrh r0, [r4, #0x12]
cmp r0, #4
bne _021EAB94
mov r0, #0
strh r0, [r4, #0x12]
mov r0, #2
strh r0, [r4, #0x10]
b _021EAC20
_021EAB94:
mov r0, #0xca
ldr r1, [r5, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
add r2, sp, #0
bl sub_0200DE44
mov r0, #0xca
add r3, sp, #0
mov r2, #0
ldrsh r2, [r3, r2]
ldr r1, [r5, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #2
add r2, r2, #2
lsl r2, r2, #0x10
ldrsh r1, [r3, r1]
asr r2, r2, #0x10
bl sub_0200DDB8
ldrh r0, [r4, #0x12]
add r0, r0, #1
strh r0, [r4, #0x12]
b _021EAC20
_021EABCA:
add r0, r4, #0
mov r1, #9
mov r2, #8
bl ov14_021F29E4
ldr r0, [r5, #0x34]
mov r1, #1
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #2
bl ov14_021F29E4
mov r0, #3
strh r0, [r4, #0x10]
b _021EAC20
_021EABEC:
add r0, r4, #0
mov r1, #0xb
bl ov14_021F2A04
cmp r0, #0
bne _021EAC20
ldr r0, [r5, #0x34]
mov r1, #0
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
mov r0, #4
strh r0, [r4, #0x10]
b _021EAC20
_021EAC10:
add r0, r4, #0
mov r1, #9
mov r2, #8
bl ov14_021F29E4
mov r0, #0
strh r0, [r4, #0x10]
pop {r3, r4, r5, pc}
_021EAC20:
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end ov14_021EAB54
thumb_func_start ov14_021EAC24
ov14_021EAC24: ; 0x021EAC24
push {r3, r4, r5, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r5, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r5, r0]
mov r1, #0xf
bl sub_02019978
ldrh r0, [r5, #0x10]
cmp r0, #4
bhi _021EACCC
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021EAC48: ; jump table
.short _021EAC52 - _021EAC48 - 2 ; case 0
.short _021EAC70 - _021EAC48 - 2 ; case 1
.short _021EAC80 - _021EAC48 - 2 ; case 2
.short _021EAC98 - _021EAC48 - 2 ; case 3
.short _021EACBC - _021EAC48 - 2 ; case 4
_021EAC52:
mov r1, #9
ldr r0, [r4, #0x34]
add r2, r1, #0
bl ov14_021F29E4
ldr r2, [r4, #0x34]
ldr r1, _021EACD0 ; =0x000088CA
add r0, r4, #0
ldrh r1, [r2, r1]
mov r2, #2
bl ov14_021E7AE4
mov r0, #1
strh r0, [r5, #0x10]
b _021EACCC
_021EAC70:
add r0, r4, #0
bl ov14_021E7B98
cmp r0, #0
bne _021EACCC
mov r0, #2
strh r0, [r5, #0x10]
b _021EACCC
_021EAC80:
ldr r0, [r4, #0x34]
mov r1, #1
bl ov14_021F391C
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #2
bl ov14_021F29E4
mov r0, #3
strh r0, [r5, #0x10]
b _021EACCC
_021EAC98:
ldr r0, [r4, #0x34]
mov r1, #0xb
bl ov14_021F2A04
cmp r0, #0
bne _021EACCC
ldr r0, [r4, #0x34]
mov r1, #0
bl ov14_021F391C
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
mov r0, #4
strh r0, [r5, #0x10]
b _021EACCC
_021EACBC:
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
mov r0, #0
strh r0, [r5, #0x10]
pop {r3, r4, r5, pc}
_021EACCC:
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_021EACD0: .word 0x000088CA
thumb_func_end ov14_021EAC24
thumb_func_start ov14_021EACD4
ov14_021EACD4: ; 0x021EACD4
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
mov r0, #0x2f
ldr r5, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r5, r0]
bl ov14_021E8514
add r7, r0, #0
add r0, r4, #0
bl ov14_021E80A8
add r6, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xa
bl sub_02019978
ldrh r0, [r5, #0x10]
cmp r0, #0xa
bhi _021EAD6C
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021EAD10: ; jump table
.short _021EAD26 - _021EAD10 - 2 ; case 0
.short _021EAD60 - _021EAD10 - 2 ; case 1
.short _021EAD80 - _021EAD10 - 2 ; case 2
.short _021EAEBA - _021EAD10 - 2 ; case 3
.short _021EAEF0 - _021EAD10 - 2 ; case 4
.short _021EAEF0 - _021EAD10 - 2 ; case 5
.short _021EAEF0 - _021EAD10 - 2 ; case 6
.short _021EAEF0 - _021EAD10 - 2 ; case 7
.short _021EAEF0 - _021EAD10 - 2 ; case 8
.short _021EAEF0 - _021EAD10 - 2 ; case 9
.short _021EAECA - _021EAD10 - 2 ; case 10
_021EAD26:
ldr r0, [r4, #0x34]
ldr r1, _021EAEF8 ; =0x000088C8
ldrh r1, [r0, r1]
cmp r1, #0
beq _021EAD50
mov r1, #1
bl ov14_021F391C
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F29E4
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F2A18
mov r0, #1
strh r0, [r5, #0x10]
b _021EAEF0
_021EAD50:
mov r1, #0x2f
lsl r1, r1, #4
ldr r0, [r0, r1]
bl ov14_021E8434
mov r0, #0xa
strh r0, [r5, #0x10]
b _021EAEF0
_021EAD60:
ldr r0, [r4, #0x34]
mov r1, #0xb
bl ov14_021F2A04
cmp r0, #1
bne _021EAD6E
_021EAD6C:
b _021EAEF0
_021EAD6E:
ldr r0, [r4, #0x34]
mov r1, #0
bl ov14_021F391C
ldr r0, [r4, #0x34]
bl ov14_021F3B3C
mov r0, #2
strh r0, [r5, #0x10]
_021EAD80:
ldr r0, [r4, #0x34]
ldr r1, _021EAEFC ; =0x0000044A
ldrb r2, [r0, r1]
cmp r2, #1
bne _021EADA4
cmp r6, #0
bne _021EADA4
mov r2, #2
strb r2, [r0, r1]
add r0, r4, #0
mov r1, #0x28
bl ov14_021F69F0
add r0, r4, #0
mov r1, #0x81
mov r2, #0
bl ov14_021F3488
_021EADA4:
add r0, sp, #4
add r1, sp, #0
bl sub_02025364
cmp r0, #0
bne _021EAE60
ldr r1, [r4, #0x34]
ldr r0, _021EAEFC ; =0x0000044A
ldr r2, _021EAF00 ; =0x000040B8
ldrb r0, [r1, r0]
cmp r0, #2
bne _021EADD0
ldr r0, [r1, r2]
add r2, r2, #4
ldr r1, [r1, r2]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
asr r0, r0, #0x10
asr r1, r1, #0x10
bl ov14_021E7960
b _021EADE4
_021EADD0:
ldr r0, [r1, r2]
add r2, r2, #4
ldr r1, [r1, r2]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
ldr r2, _021EAF04 ; =0x021F7BF0
asr r0, r0, #0x10
asr r1, r1, #0x10
bl ov14_021E79AC
_021EADE4:
lsl r0, r0, #0x10
lsr r6, r0, #0x10
add r7, r6, #0
cmp r6, #0xff
bne _021EADF6
add r0, r4, #0
add r0, #0x21
ldrb r6, [r0]
b _021EAE0E
_021EADF6:
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r4, #0
add r2, r6, #0
bl ov14_021E6AA0
cmp r0, #0
bne _021EAE0E
add r0, r4, #0
add r0, #0x21
ldrb r6, [r0]
_021EAE0E:
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
cmp r6, r0
ldr r1, [r4, #0x34]
bne _021EAE44
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8434
ldr r0, [r4, #0x34]
ldr r1, _021EAEFC ; =0x0000044A
ldrb r1, [r0, r1]
cmp r1, #0
beq _021EAE4E
mov r1, #0x2f
lsl r1, r1, #4
ldr r0, [r0, r1]
bl ov14_021E7FEC
mov r1, #1
add r0, r4, #0
add r2, r1, #0
bl ov14_021F3488
b _021EAE4E
_021EAE44:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88F8
_021EAE4E:
add r0, r4, #0
add r1, r7, #0
add r2, r6, #0
mov r3, #1
bl ov14_021E7AD4
mov r0, #3
strh r0, [r5, #0x10]
b _021EAEF0
_021EAE60:
cmp r7, #0
bne _021EAE90
ldr r0, [r4, #0x34]
ldr r1, _021EAEFC ; =0x0000044A
ldrb r1, [r0, r1]
cmp r1, #0
bne _021EAE90
ldr r2, [sp, #4]
cmp r2, #0x10
blo _021EAE7E
ldr r1, [sp]
cmp r1, #0x30
blo _021EAE7E
cmp r2, #0x68
blo _021EAE90
_021EAE7E:
ldr r1, _021EAEFC ; =0x0000044A
mov r2, #1
strb r2, [r0, r1]
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7FB8
_021EAE90:
ldr r1, [sp, #4]
ldr r2, [sp]
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r0, [r4, #0x34]
asr r1, r1, #0x10
asr r2, r2, #0x10
bl ov14_021F395C
ldr r0, [r4, #0x34]
bl ov14_021F3B5C
ldr r2, [sp, #4]
ldr r1, [r4, #0x34]
ldr r0, _021EAF00 ; =0x000040B8
str r2, [r1, r0]
ldr r2, [sp]
ldr r1, [r4, #0x34]
add r0, r0, #4
str r2, [r1, r0]
b _021EAEF0
_021EAEBA:
add r0, r4, #0
bl ov14_021E7B8C
cmp r0, #0
bne _021EAEF0
mov r0, #0xa
strh r0, [r5, #0x10]
b _021EAEF0
_021EAECA:
cmp r7, #0
bne _021EAEF0
cmp r6, #0
bne _021EAEF0
ldr r0, [r4, #0x34]
ldr r1, _021EAEF8 ; =0x000088C8
ldrh r1, [r0, r1]
cmp r1, #0
beq _021EAEE8
mov r1, #0
bl ov14_021F391C
ldr r0, [r4, #0x34]
bl ov14_021F3B3C
_021EAEE8:
mov r0, #0
add sp, #8
strh r0, [r5, #0x10]
pop {r3, r4, r5, r6, r7, pc}
_021EAEF0:
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_021EAEF8: .word 0x000088C8
_021EAEFC: .word 0x0000044A
_021EAF00: .word 0x000040B8
_021EAF04: .word 0x021F7BF0
thumb_func_end ov14_021EACD4
thumb_func_start ov14_021EAF08
ov14_021EAF08: ; 0x021EAF08
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r4, [r5, #0x34]
bl ov14_021E80A8
add r6, r0, #0
ldrh r0, [r4, #0x10]
cmp r0, #0
beq _021EAF20
cmp r0, #1
beq _021EAF70
b _021EAF84
_021EAF20:
ldr r0, [r5, #0x34]
mov r1, #0xb
bl ov14_021F2A04
cmp r0, #0
bne _021EAF84
add r0, r5, #0
add r0, #0x21
ldrb r1, [r0]
ldr r0, [r4, #0xc]
mov r3, #1
ldrh r2, [r0]
add r0, r5, #0
add r0, #0x21
strb r2, [r0]
add r0, r5, #0
add r2, r1, #0
bl ov14_021E7AD4
ldr r2, [r5, #0x34]
ldr r0, _021EAF88 ; =0x0000044A
ldrb r1, [r2, r0]
cmp r1, #0
beq _021EAF6A
mov r1, #0
strb r1, [r2, r0]
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7FEC
mov r1, #1
add r0, r5, #0
add r2, r1, #0
bl ov14_021F3488
_021EAF6A:
mov r0, #1
strh r0, [r4, #0x10]
b _021EAF84
_021EAF70:
add r0, r5, #0
bl ov14_021E7B8C
cmp r0, #0
bne _021EAF84
cmp r6, #0
bne _021EAF84
mov r0, #0
strh r0, [r4, #0x10]
pop {r4, r5, r6, pc}
_021EAF84:
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
_021EAF88: .word 0x0000044A
thumb_func_end ov14_021EAF08
thumb_func_start ov14_021EAF8C
ov14_021EAF8C: ; 0x021EAF8C
push {r4, lr}
add r4, r1, #0
ldr r1, [r4]
lsl r2, r1, #2
ldr r1, _021EAFA8 ; =0x021F7D9C
ldr r1, [r1, r2]
blx r1
str r0, [r4]
cmp r0, #0xb3
beq _021EAFA4
mov r0, #1
pop {r4, pc}
_021EAFA4:
mov r0, #0
pop {r4, pc}
.balign 4, 0
_021EAFA8: .word 0x021F7D9C
thumb_func_end ov14_021EAF8C
thumb_func_start ov14_021EAFAC
ov14_021EAFAC: ; 0x021EAFAC
push {r4, lr}
add r4, r0, #0
mov r0, #0
add r1, r0, #0
bl sub_0201A0FC
bl sub_0201A108
mov r0, #0
bl sub_02022C9C
mov r0, #0
bl sub_02022D04
ldr r0, _021EB0C8 ; =0x04000050
mov r1, #0
strh r1, [r0]
ldr r0, _021EB0CC ; =0x04001050
strh r1, [r0]
bl sub_020210BC
mov r0, #4
bl sub_02021148
ldr r2, _021EB0D0 ; =0x04000304
ldr r0, _021EB0D4 ; =0xFFFF7FFF
ldrh r1, [r2]
and r0, r1
strh r0, [r2]
mov r2, #2
mov r0, #3
mov r1, #0xa
lsl r2, r2, #0x12
bl sub_0201A910
ldr r1, _021EB0D8 ; =0x000088E0
mov r0, #0xa
bl AllocFromHeap
ldr r2, _021EB0D8 ; =0x000088E0
mov r1, #0
str r0, [r4, #0x34]
bl MIi_CpuFill8
mov r0, #2
mov r1, #0xa
bl NARC_ctor
mov r1, #0x45
ldr r2, [r4, #0x34]
lsl r1, r1, #4
str r0, [r2, r1]
mov r0, #0x14
mov r1, #0xa
bl NARC_ctor
ldr r2, [r4, #0x34]
ldr r1, _021EB0DC ; =0x00000454
str r0, [r2, r1]
bl ov14_021E5A60
add r0, r4, #0
bl ov14_021E5A70
add r0, r4, #0
bl ov14_021E5E74
add r0, r4, #0
bl ov14_021E5C54
add r0, r4, #0
bl ov14_021E5D78
add r0, r4, #0
bl ov14_021E5DE0
add r0, r4, #0
bl ov14_021F4ED0
add r0, r4, #0
bl ov14_021F297C
add r0, r4, #0
bl ov14_021F2F20
add r0, r4, #0
bl ov14_021F2F3C
ldrb r1, [r4, #0x1f]
add r0, r4, #0
bl ov14_021E7930
add r1, r0, #0
add r0, r4, #0
mov r2, #2
bl ov14_021E783C
add r0, r4, #0
bl ov14_021E7BA4
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #1
beq _021EB08C
cmp r0, #0
beq _021EB08C
add r0, r4, #0
bl ov14_021E81FC
add r0, r4, #0
bl ov14_021E825C
_021EB08C:
add r0, r4, #0
bl ov14_021E82BC
add r0, r4, #0
bl ov14_021E5ED0
add r0, r4, #0
bl ov14_021F5620
add r0, r4, #0
bl ov14_021F566C
add r0, r4, #0
bl ov14_021F49C8
add r0, r4, #0
bl ov14_021F6A44
ldr r0, _021EB0E0 ; =ov14_021E59AC
add r1, r4, #0
mov r2, #0
bl sub_0200E33C
ldr r1, [r4, #0x34]
str r0, [r1]
mov r0, #1
bl ov14_021E5EAC
ldr r0, [r4, #0x30]
pop {r4, pc}
.balign 4, 0
_021EB0C8: .word 0x04000050
_021EB0CC: .word 0x04001050
_021EB0D0: .word 0x04000304
_021EB0D4: .word 0xFFFF7FFF
_021EB0D8: .word 0x000088E0
_021EB0DC: .word 0x00000454
_021EB0E0: .word ov14_021E59AC
thumb_func_end ov14_021EAFAC
thumb_func_start ov14_021EB0E4
ov14_021EB0E4: ; 0x021EB0E4
push {r4, lr}
add r4, r0, #0
bl ov14_021E6048
ldr r0, [r4, #0x34]
ldr r0, [r0]
bl sub_0200E390
add r0, r4, #0
bl ov14_021F6B10
add r0, r4, #0
bl ov14_021E5EE8
ldr r0, [r4, #0x34]
bl ov14_021E7D7C
ldr r0, [r4, #0x34]
bl ov14_021F29AC
add r0, r4, #0
bl ov14_021F4F00
add r0, r4, #0
bl ov14_021E5DB8
add r0, r4, #0
bl ov14_021E5E94
add r0, r4, #0
bl ov14_021E5C00
ldr r1, [r4, #0x34]
ldr r0, _021EB164 ; =0x00000454
ldr r0, [r1, r0]
bl NARC_dtor
mov r0, #0x45
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl NARC_dtor
bl sub_02021238
ldr r1, _021EB168 ; =0x04000050
mov r0, #0
strh r0, [r1]
ldr r1, _021EB16C ; =0x04001050
strh r0, [r1]
bl sub_02022C9C
mov r0, #0
bl sub_02022D04
ldr r0, [r4, #0x34]
bl FreeToHeap
mov r0, #0xa
bl sub_0201A9C4
ldr r0, [r4, #0x30]
pop {r4, pc}
nop
_021EB164: .word 0x00000454
_021EB168: .word 0x04000050
_021EB16C: .word 0x04001050
thumb_func_end ov14_021EB0E4
thumb_func_start ov14_021EB170
ov14_021EB170: ; 0x021EB170
push {r4, lr}
add r4, r0, #0
bl sub_0200FB5C
cmp r0, #1
bne _021EB186
mov r0, #0x11
ldr r1, [r4, #0x34]
lsl r0, r0, #6
ldr r0, [r1, r0]
pop {r4, pc}
_021EB186:
mov r0, #2
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021EB170
thumb_func_start ov14_021EB18C
ov14_021EB18C: ; 0x021EB18C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x18]
bl sub_02003B44
cmp r0, #0
bne _021EB1A0
ldr r0, [r4, #0x30]
pop {r4, pc}
_021EB1A0:
mov r0, #3
pop {r4, pc}
thumb_func_end ov14_021EB18C
thumb_func_start ov14_021EB1A4
ov14_021EB1A4: ; 0x021EB1A4
ldr r3, [r0, #0x34]
ldr r1, _021EB1BC ; =0x00000444
ldr r2, [r3, r1]
cmp r2, #0
bne _021EB1B2
ldr r0, [r0, #0x30]
bx lr
_021EB1B2:
sub r0, r2, #1
str r0, [r3, r1]
mov r0, #4
bx lr
nop
_021EB1BC: .word 0x00000444
thumb_func_end ov14_021EB1A4
thumb_func_start ov14_021EB1C0
ov14_021EB1C0: ; 0x021EB1C0
push {r3, lr}
ldr r1, [r0, #0x34]
ldr r1, [r1, #4]
cmp r1, #0
bne _021EB1D6
ldr r1, [r0, #0x30]
lsl r2, r1, #2
ldr r1, _021EB1DC ; =0x021F7D9C
ldr r1, [r1, r2]
blx r1
pop {r3, pc}
_021EB1D6:
mov r0, #5
pop {r3, pc}
nop
_021EB1DC: .word 0x021F7D9C
thumb_func_end ov14_021EB1C0
thumb_func_start ov14_021EB1E0
ov14_021EB1E0: ; 0x021EB1E0
push {r4, lr}
add r4, r0, #0
bl sub_02025358
cmp r0, #1
bne _021EB1F6
ldr r0, _021EB210 ; =0x000005DD
bl PlaySE
ldr r0, [r4, #0x30]
pop {r4, pc}
_021EB1F6:
ldr r0, _021EB214 ; =gMain
ldr r1, [r0, #0x48]
mov r0, #3
tst r0, r1
beq _021EB20A
ldr r0, _021EB210 ; =0x000005DD
bl PlaySE
ldr r0, [r4, #0x30]
pop {r4, pc}
_021EB20A:
mov r0, #6
pop {r4, pc}
nop
_021EB210: .word 0x000005DD
_021EB214: .word gMain
thumb_func_end ov14_021EB1E0
thumb_func_start ov14_021EB218
ov14_021EB218: ; 0x021EB218
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #0x34]
ldr r0, _021EB26C ; =0x00000434
ldr r0, [r1, r0]
bl sub_020168F4
cmp r0, #1
beq _021EB230
cmp r0, #2
beq _021EB24C
b _021EB268
_021EB230:
ldr r1, [r4, #0x34]
ldr r0, _021EB26C ; =0x00000434
ldr r0, [r1, r0]
bl sub_020169CC
ldr r2, [r4, #0x34]
ldr r1, _021EB270 ; =0x00000438
add r0, r4, #0
ldrh r1, [r2, r1]
lsl r2, r1, #3
ldr r1, _021EB274 ; =0x021F7D74
ldr r1, [r1, r2]
blx r1
pop {r4, pc}
_021EB24C:
ldr r1, [r4, #0x34]
ldr r0, _021EB26C ; =0x00000434
ldr r0, [r1, r0]
bl sub_020169CC
ldr r2, [r4, #0x34]
ldr r1, _021EB270 ; =0x00000438
add r0, r4, #0
ldrh r1, [r2, r1]
lsl r2, r1, #3
ldr r1, _021EB278 ; =0x021F7D78
ldr r1, [r1, r2]
blx r1
pop {r4, pc}
_021EB268:
mov r0, #7
pop {r4, pc}
.balign 4, 0
_021EB26C: .word 0x00000434
_021EB270: .word 0x00000438
_021EB274: .word 0x021F7D74
_021EB278: .word 0x021F7D78
thumb_func_end ov14_021EB218
thumb_func_start ov14_021EB27C
ov14_021EB27C: ; 0x021EB27C
push {r4, lr}
add r4, r0, #0
bl ov14_021E5F4C
cmp r0, #0
bne _021EB28C
ldr r0, [r4, #0x30]
pop {r4, pc}
_021EB28C:
mov r0, #8
pop {r4, pc}
thumb_func_end ov14_021EB27C
thumb_func_start ov14_021EB290
ov14_021EB290: ; 0x021EB290
push {r3, lr}
ldrb r2, [r0, #0x1e]
mov r1, #0xc
add r3, r2, #0
mul r3, r1
ldr r1, _021EB2A4 ; =0x021F7D50
ldr r1, [r1, r3]
blx r1
mov r0, #0xa
pop {r3, pc}
.balign 4, 0
_021EB2A4: .word 0x021F7D50
thumb_func_end ov14_021EB290
thumb_func_start ov14_021EB2A8
ov14_021EB2A8: ; 0x021EB2A8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x14]
bl OverlayManager_run
cmp r0, #0
bne _021EB2BA
mov r0, #0xa
pop {r4, pc}
_021EB2BA:
ldr r0, [r4, #0x14]
bl OverlayManager_delete
ldrb r2, [r4, #0x1e]
mov r1, #0xc
add r0, r4, #0
add r3, r2, #0
mul r3, r1
ldr r1, _021EB2E4 ; =0x021F7D54
ldr r1, [r1, r3]
blx r1
ldrb r1, [r4, #0x1e]
mov r0, #0xc
add r2, r1, #0
mul r2, r0
ldr r0, _021EB2E8 ; =0x021F7D58
ldr r0, [r0, r2]
str r0, [r4, #0x30]
mov r0, #0
pop {r4, pc}
nop
_021EB2E4: .word 0x021F7D54
_021EB2E8: .word 0x021F7D58
thumb_func_end ov14_021EB2A8
thumb_func_start ov14_021EB2EC
ov14_021EB2EC: ; 0x021EB2EC
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, _021EB384 ; =0x0000060C
bl PlaySE
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #3
bhi _021EB37A
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021EB30A: ; jump table
.short _021EB312 - _021EB30A - 2 ; case 0
.short _021EB342 - _021EB30A - 2 ; case 1
.short _021EB35A - _021EB30A - 2 ; case 2
.short _021EB366 - _021EB30A - 2 ; case 3
_021EB312:
add r0, r4, #0
bl ov14_021F0BF4
mov r1, #0
add r0, r4, #0
add r2, r1, #0
mov r3, #0x27
bl ov14_021F685C
ldr r0, [r4, #0x34]
mov r1, #0
bl ov14_021F43F4
mov r1, #1
add r0, r4, #0
add r2, r1, #0
bl ov14_021F3488
add r0, r4, #0
mov r1, #0x1e
bl ov14_021E7588
mov r5, #0x5b
b _021EB37A
_021EB342:
mov r1, #0
add r0, r4, #0
add r2, r1, #0
mov r3, #0x27
bl ov14_021F685C
add r0, r4, #0
mov r1, #0
bl ov14_021E7588
mov r5, #0x51
b _021EB37A
_021EB35A:
add r0, r4, #0
mov r1, #0
bl ov14_021E7588
mov r5, #0xc
b _021EB37A
_021EB366:
add r0, r4, #0
mov r1, #0x81
mov r2, #1
bl ov14_021F3488
add r0, r4, #0
mov r1, #0
bl ov14_021E7588
mov r5, #0x75
_021EB37A:
add r0, r4, #0
add r1, r5, #0
bl ov14_021F01D8
pop {r3, r4, r5, pc}
.balign 4, 0
_021EB384: .word 0x0000060C
thumb_func_end ov14_021EB2EC
thumb_func_start ov14_021EB388
ov14_021EB388: ; 0x021EB388
push {r3, r4, r5, lr}
add r4, r0, #0
bl ov14_021F6A14
add r5, r0, #0
mov r0, #0
mvn r0, r0
cmp r5, r0
beq _021EB490
add r0, r4, #0
add r1, r5, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EB3F4
ldr r0, _021EB6E4 ; =0x000005EB
bl PlaySE
ldr r2, [r4, #0x34]
ldr r1, _021EB6E8 ; =0x000040B8
add r0, r2, r1
add r1, r1, #4
add r1, r2, r1
bl sub_02025380
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021EB3D8
ldr r1, _021EB6EC ; =0x021F7D3C
add r0, r4, #0
mov r2, #5
bl ov14_021F5EE4
_021EB3D8:
add r0, r4, #0
add r1, r5, #0
bl ov14_021E7588
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
add r0, r4, #0
add r1, r5, #0
bl ov14_021F039C
pop {r3, r4, r5, pc}
_021EB3F4:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #1
bne _021EB470
add r0, r4, #0
add r0, #0x21
ldrb r5, [r0]
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
add r1, r5, #0
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
add r1, r5, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8248
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E82A8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r0, [r4, #0x34]
bl ov14_021E884C
add r0, r4, #0
mov r1, #0
bl ov14_021F40E8
ldr r1, _021EB6F0 ; =ov14_021EA180
add r0, r4, #0
mov r2, #0x4a
bl ov14_021F0234
pop {r3, r4, r5, pc}
_021EB470:
ldr r0, [r4, #0x34]
lsl r1, r5, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
add r0, r4, #0
bl ov14_021E765C
mov r0, #0xc
pop {r3, r4, r5, pc}
_021EB490:
add r0, r4, #0
bl ov14_021F6F94
mov r1, #2
add r5, r0, #0
mvn r1, r1
cmp r5, r1
bhi _021EB4DC
blo _021EB4A4
b _021EB684
_021EB4A4:
cmp r5, #0x29
bhi _021EB4D0
sub r0, #0x1e
bmi _021EB4DA
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021EB4B8: ; jump table
.short _021EB4F2 - _021EB4B8 - 2 ; case 0
.short _021EB506 - _021EB4B8 - 2 ; case 1
.short _021EB530 - _021EB4B8 - 2 ; case 2
.short _021EB55A - _021EB4B8 - 2 ; case 3
.short _021EB56C - _021EB4B8 - 2 ; case 4
.short _021EB6C8 - _021EB4B8 - 2 ; case 5
.short _021EB58C - _021EB4B8 - 2 ; case 6
.short _021EB5BA - _021EB4B8 - 2 ; case 7
.short _021EB5D0 - _021EB4B8 - 2 ; case 8
.short _021EB5E2 - _021EB4B8 - 2 ; case 9
.short _021EB5F4 - _021EB4B8 - 2 ; case 10
.short _021EB606 - _021EB4B8 - 2 ; case 11
_021EB4D0:
mov r0, #3
mvn r0, r0
cmp r5, r0
bne _021EB4DA
b _021EB714
_021EB4DA:
b _021EB750
_021EB4DC:
add r0, r1, #1
cmp r5, r0
bhi _021EB4E8
bne _021EB4E6
b _021EB6E0
_021EB4E6:
b _021EB750
_021EB4E8:
add r0, r1, #2
cmp r5, r0
bne _021EB4F0
b _021EB63A
_021EB4F0:
b _021EB750
_021EB4F2:
ldr r0, _021EB6F4 ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
bl ov14_021F1128
pop {r3, r4, r5, pc}
_021EB506:
ldr r0, _021EB6F8 ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #0x34]
mov r1, #0x1e
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r4, #0
mov r1, #0xc
bl ov14_021F028C
pop {r3, r4, r5, pc}
_021EB530:
ldr r0, _021EB6F8 ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #0x34]
mov r1, #0x1e
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r4, #0
mov r1, #0xc
bl ov14_021F0314
pop {r3, r4, r5, pc}
_021EB55A:
ldr r0, _021EB6FC ; =0x00000632
bl PlaySE
add r0, r4, #0
mov r1, #8
mov r2, #0x95
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EB56C:
ldr r0, _021EB6FC ; =0x00000632
bl PlaySE
add r0, r4, #0
mov r1, #0
add r0, #0x2a
strb r1, [r0]
add r0, r4, #0
add r0, #0x2b
strb r1, [r0]
add r0, r4, #0
mov r1, #9
mov r2, #0x96
bl ov14_021F2330
pop {r3, r4, r5, pc}
_021EB58C:
ldr r0, _021EB6F4 ; =0x000005DD
bl PlaySE
bl sub_02025358
cmp r0, #0
bne _021EB5A2
add r0, r4, #0
mov r1, #1
add r0, #0x2a
strb r1, [r0]
_021EB5A2:
add r0, r4, #0
add r0, #0x21
ldrb r1, [r0]
add r0, r4, #0
add r0, #0x2b
strb r1, [r0]
add r0, r4, #0
mov r1, #3
mov r2, #0xb2
bl ov14_021F2330
pop {r3, r4, r5, pc}
_021EB5BA:
ldr r0, _021EB6F4 ; =0x000005DD
bl PlaySE
mov r0, #0x25
str r0, [r4, #0x2c]
add r0, r4, #0
mov r1, #4
mov r2, #0x97
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EB5D0:
ldr r0, _021EB6F4 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #5
mov r2, #0x98
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EB5E2:
ldr r0, _021EB6F4 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #6
mov r2, #0x99
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EB5F4:
ldr r0, _021EB6F4 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #7
mov r2, #0x9b
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EB606:
ldr r0, _021EB6F8 ; =0x000005DC
bl PlaySE
add r0, r4, #0
add r0, #0x21
ldrb r5, [r0]
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
add r1, r5, #0
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
add r1, r5, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r4, #0
mov r1, #0xb
mov r2, #0x9c
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EB63A:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
cmp r0, #0x1e
bne _021EB66C
ldr r0, _021EB700 ; =gMain
ldr r1, [r0, #0x48]
mov r0, #0x20
tst r0, r1
beq _021EB666
ldr r0, _021EB6F8 ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #0xc
bl ov14_021F028C
pop {r3, r4, r5, pc}
_021EB666:
mov r0, #0x10
tst r0, r1
bne _021EB66E
_021EB66C:
b _021EB79E
_021EB66E:
ldr r0, _021EB6F8 ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #0xc
bl ov14_021F0314
pop {r3, r4, r5, pc}
_021EB684:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
cmp r1, #0x1e
bhs _021EB69A
add r0, r4, #0
bl ov14_021E7588
b _021EB6B8
_021EB69A:
cmp r1, #0x24
beq _021EB6B8
cmp r1, #0x25
beq _021EB6B8
cmp r1, #0x26
beq _021EB6B8
cmp r1, #0x27
beq _021EB6B8
cmp r1, #0x28
beq _021EB6B8
cmp r1, #0x29
beq _021EB6B8
add r0, r4, #0
bl ov14_021E765C
_021EB6B8:
ldr r0, _021EB6F8 ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #0x4a
bl ov14_021F0244
pop {r3, r4, r5, pc}
_021EB6C8:
ldr r0, _021EB6F4 ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E765C
add r0, r4, #0
mov r1, #0xa
mov r2, #0x93
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EB6E0:
ldr r0, _021EB6F4 ; =0x000005DD
b _021EB704
.balign 4, 0
_021EB6E4: .word 0x000005EB
_021EB6E8: .word 0x000040B8
_021EB6EC: .word 0x021F7D3C
_021EB6F0: .word ov14_021EA180
_021EB6F4: .word 0x000005DD
_021EB6F8: .word 0x000005DC
_021EB6FC: .word 0x00000632
_021EB700: .word gMain
_021EB704:
bl PlaySE
add r0, r4, #0
mov r1, #0xa
mov r2, #0x94
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EB714:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
cmp r1, #0x1e
bhs _021EB72A
add r0, r4, #0
bl ov14_021E7588
b _021EB748
_021EB72A:
cmp r1, #0x24
beq _021EB748
cmp r1, #0x25
beq _021EB748
cmp r1, #0x26
beq _021EB748
cmp r1, #0x27
beq _021EB748
cmp r1, #0x28
beq _021EB748
cmp r1, #0x29
beq _021EB748
add r0, r4, #0
bl ov14_021E765C
_021EB748:
ldr r0, _021EB7A4 ; =0x000005DC
bl PlaySE
b _021EB79E
_021EB750:
add r0, r4, #0
add r1, r5, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EB79E
ldr r0, _021EB7A8 ; =0x000005DD
bl PlaySE
ldr r1, _021EB7AC ; =0x021F7D3C
add r0, r4, #0
mov r2, #5
bl ov14_021F5EE4
add r0, r4, #0
add r1, r5, #0
bl ov14_021E7588
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0x24
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
mov r1, #0x24
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r4, #0
add r1, r5, #0
bl ov14_021F0530
pop {r3, r4, r5, pc}
_021EB79E:
mov r0, #0xc
pop {r3, r4, r5, pc}
nop
_021EB7A4: .word 0x000005DC
_021EB7A8: .word 0x000005DD
_021EB7AC: .word 0x021F7D3C
thumb_func_end ov14_021EB388
thumb_func_start ov14_021EB7B0
ov14_021EB7B0: ; 0x021EB7B0
push {r4, lr}
add r4, r0, #0
ldr r0, _021EB7E0 ; =0x000005EA
bl PlaySE
add r0, r4, #0
bl ov14_021E637C
add r0, r4, #0
bl ov14_021F08F0
ldr r0, [r4, #0x34]
mov r1, #0x24
ldr r0, [r0, #0x2c]
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0xc
pop {r4, pc}
nop
_021EB7E0: .word 0x000005EA
thumb_func_end ov14_021EB7B0
thumb_func_start ov14_021EB7E4
ov14_021EB7E4: ; 0x021EB7E4
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
mov r1, #0x25
bl ov14_021F6688
ldr r0, [r5]
ldr r0, [r0, #8]
cmp r0, #0
beq _021EB81E
cmp r0, #1
beq _021EB800
cmp r0, #2
b _021EB83C
_021EB800:
ldr r1, _021EB8AC ; =0x021F7D2C
add r0, r5, #0
mov r2, #4
bl ov14_021F5EE4
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
mov r2, #1
mov r3, #0x27
bl ov14_021F685C
mov r4, #0x5a
b _021EB856
_021EB81E:
ldr r1, _021EB8B0 ; =0x021F7D1C
add r0, r5, #0
mov r2, #4
bl ov14_021F5EE4
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
mov r2, #1
mov r3, #0x27
bl ov14_021F685C
mov r4, #0x72
b _021EB856
_021EB83C:
ldr r1, _021EB8B4 ; =0x021F7D3C
add r0, r5, #0
mov r2, #5
bl ov14_021F5EE4
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
bhs _021EB854
mov r4, #0x4d
b _021EB856
_021EB854:
mov r4, #0x4e
_021EB856:
ldr r0, [r5, #0x34]
ldr r2, _021EB8B8 ; =0x0000044E
ldrb r3, [r0, r2]
lsl r1, r3, #0x18
lsr r1, r1, #0x1f
cmp r1, #1
bne _021EB892
mov r1, #0x80
bic r3, r1
strb r3, [r0, r2]
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
blo _021EB880
add r0, r5, #0
mov r1, #2
mov r2, #0
bl ov14_021F3488
b _021EB892
_021EB880:
ldr r0, [r5, #0x34]
mov r1, #1
bl ov14_021F43F4
add r0, r5, #0
mov r1, #1
mov r2, #0
bl ov14_021F3488
_021EB892:
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8434
ldr r1, _021EB8BC ; =ov14_021E9434
add r0, r5, #0
add r2, r4, #0
bl ov14_021F0234
pop {r3, r4, r5, pc}
nop
_021EB8AC: .word 0x021F7D2C
_021EB8B0: .word 0x021F7D1C
_021EB8B4: .word 0x021F7D3C
_021EB8B8: .word 0x0000044E
_021EB8BC: .word ov14_021E9434
thumb_func_end ov14_021EB7E4
thumb_func_start ov14_021EB8C0
ov14_021EB8C0: ; 0x021EB8C0
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
bl ov14_021E7588
add r0, r5, #0
add r0, #0x26
ldrb r0, [r0]
cmp r0, #0
bne _021EB9D4
ldr r0, [r5]
ldr r0, [r0, #8]
cmp r0, #1
bne _021EB8EC
ldr r1, _021EBAD8 ; =0x021F7D2C
add r0, r5, #0
mov r2, #4
bl ov14_021F5EE4
b _021EB954
_021EB8EC:
cmp r0, #0
bne _021EB90E
ldr r0, [r5, #0x34]
mov r1, #0
bl ov14_021F43F4
mov r1, #1
add r0, r5, #0
add r2, r1, #0
bl ov14_021F3488
ldr r1, _021EBADC ; =0x021F7D1C
add r0, r5, #0
mov r2, #4
bl ov14_021F5EE4
b _021EB954
_021EB90E:
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
blo _021EB934
mov r1, #1
add r0, r5, #0
add r2, r1, #0
bl ov14_021F3488
add r0, r5, #0
add r0, #0x24
ldrb r0, [r0]
cmp r0, #0
beq _021EB944
add r0, r5, #0
bl ov14_021E8664
b _021EB944
_021EB934:
add r0, r5, #0
add r0, #0x24
ldrb r0, [r0]
cmp r0, #0
beq _021EB944
add r0, r5, #0
bl ov14_021E8664
_021EB944:
ldr r1, _021EBAE0 ; =0x021F7D3C
add r0, r5, #0
mov r2, #5
bl ov14_021F5EE4
add r0, r5, #0
bl ov14_021E87F4
_021EB954:
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E83C4
add r0, r5, #0
add r0, #0x21
ldrb r1, [r0]
ldr r0, [r5]
cmp r1, #0x1e
bhs _021EB984
ldr r0, [r0, #8]
cmp r0, #1
bne _021EB980
add r0, r5, #0
mov r2, #1
mov r3, #0x27
bl ov14_021F685C
mov r4, #0x51
b _021EB9BE
_021EB980:
mov r4, #0xc
b _021EB9BE
_021EB984:
ldr r0, [r0, #8]
cmp r0, #0
bne _021EB9A4
add r0, r5, #0
bl ov14_021F0BF4
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
mov r2, #1
mov r3, #0x27
bl ov14_021F685C
mov r4, #0x5b
b _021EB9BE
_021EB9A4:
add r0, r5, #0
bl ov14_021F0B70
ldr r0, [r5, #0x34]
mov r1, #0
bl ov14_021F43F4
add r0, r5, #0
mov r1, #5
mov r2, #9
bl ov14_021F6AC0
mov r4, #0x24
_021EB9BE:
add r0, r5, #0
bl ov14_021F3F6C
ldr r0, [r5]
ldr r0, [r0, #8]
cmp r0, #3
beq _021EBACC
ldr r0, [r5, #0x34]
bl ov14_021E8874
b _021EBACC
_021EB9D4:
add r0, r5, #0
bl ov14_021F0BB4
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8610
add r0, r5, #0
bl ov14_021F4720
add r0, r5, #0
bl ov14_021F4848
add r0, r5, #0
bl ov14_021F48B4
add r0, r5, #0
bl ov14_021F57B8
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E86E0
_021EBA0A:
add r0, r5, #0
bl ov14_021E9554
cmp r0, #0
bne _021EBA0A
add r0, r5, #0
add r0, #0x27
ldrb r0, [r0]
cmp r0, #0
bne _021EBA2E
add r2, r5, #0
add r2, #0x21
ldrb r2, [r2]
add r0, r5, #0
mov r1, #4
bl ov14_021F6AC0
b _021EBA4A
_021EBA2E:
add r2, r5, #0
add r2, #0x28
ldrb r2, [r2]
add r0, r5, #0
mov r1, #4
bl ov14_021F6AC0
ldr r1, [r5, #0x34]
ldr r0, _021EBAE4 ; =0x0000044B
mov r2, #1
strb r2, [r1, r0]
add r0, r5, #0
bl ov14_021EA1F0
_021EBA4A:
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
ldr r2, [r5, #0x34]
ldr r0, _021EBAE8 ; =0x0000043C
add r1, #0x25
str r1, [r2, r0]
ldr r0, [r5]
ldr r0, [r0, #8]
cmp r0, #3
bne _021EBA7E
add r0, r5, #0
mov r1, #0x81
mov r2, #1
bl ov14_021F3488
add r0, r5, #0
mov r1, #0x82
mov r2, #1
bl ov14_021F3488
mov r4, #0x82
b _021EBA8E
_021EBA7E:
add r0, r5, #0
add r0, #0x27
ldrb r0, [r0]
cmp r0, #0
bne _021EBA8C
mov r4, #0x29
b _021EBA8E
_021EBA8C:
mov r4, #0x73
_021EBA8E:
ldr r0, [r5]
ldr r0, [r0, #8]
cmp r0, #3
beq _021EBAA6
add r0, r5, #0
add r0, #0x27
ldrb r0, [r0]
cmp r0, #0
beq _021EBAA6
ldr r0, [r5, #0x34]
bl ov14_021E8874
_021EBAA6:
add r0, r5, #0
add r0, #0x29
ldrb r0, [r0]
cmp r0, #1
bne _021EBAB8
ldr r0, [r5, #0x34]
mov r1, #0
bl ov14_021F43F4
_021EBAB8:
add r0, r5, #0
mov r1, #0
add r0, #0x26
strb r1, [r0]
add r0, r5, #0
add r0, #0x28
strb r1, [r0]
add r0, r5, #0
add r0, #0x27
strb r1, [r0]
_021EBACC:
add r0, r5, #0
add r1, r4, #0
bl ov14_021F01D8
pop {r3, r4, r5, pc}
nop
_021EBAD8: .word 0x021F7D2C
_021EBADC: .word 0x021F7D1C
_021EBAE0: .word 0x021F7D3C
_021EBAE4: .word 0x0000044B
_021EBAE8: .word 0x0000043C
thumb_func_end ov14_021EB8C0
thumb_func_start ov14_021EBAEC
ov14_021EBAEC: ; 0x021EBAEC
push {r4, lr}
add r4, r0, #0
mov r1, #9
mov r2, #0xa
bl ov14_021F6AC0
add r0, r4, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
ldr r2, [r4, #0x34]
ldr r0, _021EBB38 ; =0x0000043C
str r1, [r2, r0]
add r0, r4, #0
bl ov14_021E8740
add r0, r4, #0
mov r1, #0
mov r2, #0x27
bl ov14_021F6844
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #3
bne _021EBB2C
add r0, r4, #0
mov r1, #0x81
mov r2, #1
bl ov14_021F3488
_021EBB2C:
add r0, r4, #0
mov r1, #0x3d
bl ov14_021F01D8
pop {r4, pc}
nop
_021EBB38: .word 0x0000043C
thumb_func_end ov14_021EBAEC
thumb_func_start ov14_021EBB3C
ov14_021EBB3C: ; 0x021EBB3C
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
cmp r1, #0x1e
blo _021EBB62
bl ov14_021F0B70
ldr r0, [r5, #0x34]
mov r1, #0
bl ov14_021F43F4
mov r1, #1
add r0, r5, #0
add r2, r1, #0
bl ov14_021F3488
_021EBB62:
ldr r0, [r5]
ldr r0, [r0, #8]
cmp r0, #3
beq _021EBB70
add r0, r5, #0
bl ov14_021F3F6C
_021EBB70:
ldr r0, [r5]
ldr r0, [r0, #8]
sub r0, r0, #2
cmp r0, #1
bhi _021EBB8C
add r0, r5, #0
bl ov14_021E87F4
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E82FC
_021EBB8C:
ldrh r0, [r5, #0x1c]
cmp r0, #0
bne _021EBC04
ldr r0, [r5]
ldr r0, [r0, #8]
cmp r0, #3
bne _021EBBD2
add r0, r5, #0
mov r1, #0
bl ov14_021F5FBC
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
bhs _021EBBBA
add r0, r5, #0
mov r1, #0x81
mov r2, #1
bl ov14_021F3488
mov r4, #0x75
b _021EBBF6
_021EBBBA:
add r0, r5, #0
mov r1, #0x82
mov r2, #1
bl ov14_021F3488
add r0, r5, #0
mov r1, #7
mov r2, #8
bl ov14_021F6AC0
mov r4, #0x8b
b _021EBBF6
_021EBBD2:
ldr r1, _021EBDBC ; =0x021F7D3C
add r0, r5, #0
mov r2, #5
bl ov14_021F5EE4
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
bhs _021EBBEA
mov r4, #0xc
b _021EBBF6
_021EBBEA:
add r0, r5, #0
mov r1, #5
mov r2, #0xa
bl ov14_021F6AC0
mov r4, #0x24
_021EBBF6:
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E83C4
b _021EBD82
_021EBC04:
mov r4, #0
cmp r0, #0x70
bne _021EBC24
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
mov r2, #5
add r3, r4, #0
bl ov14_021E6070
ldr r1, _021EBDC0 ; =0x000001E7
cmp r0, r1
beq _021EBC24
mov r4, #1
b _021EBC72
_021EBC24:
add r2, r5, #0
add r2, #0x21
ldrb r1, [r5, #0x1f]
ldrb r2, [r2]
add r0, r5, #0
bl ov14_021E60C0
add r1, r5, #0
add r1, #0x21
add r3, r5, #0
add r6, r0, #0
ldrb r1, [r1]
add r0, r5, #0
mov r2, #6
add r3, #0x1c
bl ov14_021E6094
add r0, r6, #0
bl ov14_021E64D0
cmp r0, #1
bne _021EBC66
add r0, r5, #0
add r0, #0x21
ldrb r2, [r0]
ldr r3, [r5, #0x34]
ldrb r1, [r5, #0x1f]
add r6, r3, r2
ldr r3, _021EBDC4 ; =0x00004094
add r0, r5, #0
ldrb r3, [r6, r3]
bl ov14_021F2ED0
_021EBC66:
ldrh r1, [r5, #0x1c]
ldr r0, [r5, #0xc]
mov r2, #1
mov r3, #0xa
bl sub_02078434
_021EBC72:
add r0, r5, #0
add r0, #0x21
ldrb r2, [r0]
ldr r0, [r5]
cmp r2, #0x1e
blo _021EBC9C
ldr r0, [r0, #8]
cmp r0, #3
bne _021EBC90
add r0, r5, #0
mov r1, #7
sub r2, #0x1e
bl ov14_021F6AC0
b _021EBCD6
_021EBC90:
add r0, r5, #0
mov r1, #5
mov r2, #0xa
bl ov14_021F6AC0
b _021EBCD6
_021EBC9C:
ldr r0, [r0, #8]
cmp r0, #3
bne _021EBCD6
ldr r0, [r5, #0x34]
add r1, r2, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r1, r5, #0
ldr r0, [r5, #0x34]
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r0, #0x2c]
bl sub_0201A018
add r1, sp, #0
add r1, #1
add r2, sp, #0
bl sub_02020A0C
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r2, sp, #0
ldr r0, [r1, r0]
ldrb r1, [r2, #1]
ldrb r2, [r2]
bl sub_0200DDB8
_021EBCD6:
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
ldr r0, [r5]
ldr r0, [r0, #8]
cmp r0, #3
bne _021EBD78
cmp r4, #0
bne _021EBD50
ldrh r2, [r5, #0x1c]
ldr r0, [r5, #0x34]
ldr r1, _021EBDC8 ; =0x000088C8
strh r2, [r0, r1]
ldr r0, [r5, #0x34]
ldrh r1, [r0, r1]
bl ov14_021F3844
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F2A18
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
blo _021EBD2A
add r0, r5, #0
mov r1, #0x82
mov r2, #1
bl ov14_021F3488
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
mov r2, #1
bl ov14_021F396C
b _021EBD42
_021EBD2A:
add r0, r5, #0
mov r1, #0x81
mov r2, #1
bl ov14_021F3488
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
mov r2, #0
bl ov14_021F396C
_021EBD42:
ldr r0, [r5, #0x34]
bl ov14_021F39D0
ldr r0, [r5, #0x34]
bl ov14_021F3B3C
b _021EBD74
_021EBD50:
mov r0, #0
strh r0, [r5, #0x1c]
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
blo _021EBD6A
add r0, r5, #0
mov r1, #0x82
mov r2, #1
bl ov14_021F3488
b _021EBD74
_021EBD6A:
add r0, r5, #0
mov r1, #0x81
mov r2, #1
bl ov14_021F3488
_021EBD74:
mov r4, #0x7d
b _021EBD82
_021EBD78:
cmp r4, #1
bne _021EBD80
mov r0, #0
strh r0, [r5, #0x1c]
_021EBD80:
mov r4, #0x12
_021EBD82:
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
bl ov14_021E7588
ldr r0, [r5]
ldr r0, [r0, #8]
cmp r0, #3
beq _021EBD9E
ldr r0, [r5, #0x34]
bl ov14_021E8874
b _021EBDB0
_021EBD9E:
ldrh r0, [r5, #0x1c]
cmp r0, #0
beq _021EBDB0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E892C
_021EBDB0:
add r0, r5, #0
add r1, r4, #0
bl ov14_021F01D8
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_021EBDBC: .word 0x021F7D3C
_021EBDC0: .word 0x000001E7
_021EBDC4: .word 0x00004094
_021EBDC8: .word 0x000088C8
thumb_func_end ov14_021EBB3C
thumb_func_start ov14_021EBDCC
ov14_021EBDCC: ; 0x021EBDCC
push {r4, lr}
add r4, r0, #0
ldrh r1, [r4, #0x1c]
mov r2, #0x25
bl ov14_021F6768
mov r0, #0xe
str r0, [r4, #0x30]
mov r0, #6
pop {r4, pc}
thumb_func_end ov14_021EBDCC
thumb_func_start ov14_021EBDE0
ov14_021EBDE0: ; 0x021EBDE0
ldr r3, _021EBDE4 ; =ov14_021EBDE8
bx r3
.balign 4, 0
_021EBDE4: .word ov14_021EBDE8
thumb_func_end ov14_021EBDE0
thumb_func_start ov14_021EBDE8
ov14_021EBDE8: ; 0x021EBDE8
push {r4, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
mov r2, #0xb
mov r3, #0
bl ov14_021E6070
ldr r2, [r4, #0x34]
ldr r1, _021EBE24 ; =0x000040C0
str r0, [r2, r1]
add r0, r4, #0
bl ov14_021E7DF8
ldr r0, [r4, #0x34]
bl ov14_021F638C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7E40
ldr r1, _021EBE28 ; =ov14_021E94A8
add r0, r4, #0
mov r2, #0x15
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021EBE24: .word 0x000040C0
_021EBE28: .word ov14_021E94A8
thumb_func_end ov14_021EBDE8
thumb_func_start ov14_021EBE2C
ov14_021EBE2C: ; 0x021EBE2C
push {r4, lr}
mov r1, #8
mov r2, #0
add r4, r0, #0
bl ov14_021F6AC0
mov r1, #1
add r0, r4, #0
add r2, r1, #0
bl ov14_021F3488
add r0, r4, #0
mov r1, #2
mov r2, #1
bl ov14_021F3488
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #0
bl ov14_021F34C8
add r0, r4, #0
mov r1, #0x26
bl ov14_021F67A4
mov r0, #0x16
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021EBE2C
thumb_func_start ov14_021EBE68
ov14_021EBE68: ; 0x021EBE68
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019D18
mov r1, #3
mvn r1, r1
cmp r0, r1
bhi _021EBEA0
bhs _021EBF72
cmp r0, #7
bhi _021EBF78
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_021EBE90: ; jump table
.short _021EBEB4 - _021EBE90 - 2 ; case 0
.short _021EBEC4 - _021EBE90 - 2 ; case 1
.short _021EBED4 - _021EBE90 - 2 ; case 2
.short _021EBEE4 - _021EBE90 - 2 ; case 3
.short _021EBEF4 - _021EBE90 - 2 ; case 4
.short _021EBF04 - _021EBE90 - 2 ; case 5
.short _021EBF14 - _021EBE90 - 2 ; case 6
.short _021EBF4C - _021EBE90 - 2 ; case 7
_021EBEA0:
mov r1, #2
mvn r1, r1
cmp r0, r1
bhi _021EBEAC
beq _021EBF60
b _021EBF78
_021EBEAC:
add r1, r1, #1
cmp r0, r1
beq _021EBF4C
b _021EBF78
_021EBEB4:
ldr r0, _021EBF80 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #0
bl ov14_021E7E10
b _021EBF78
_021EBEC4:
ldr r0, _021EBF80 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #1
bl ov14_021E7E10
b _021EBF78
_021EBED4:
ldr r0, _021EBF80 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #2
bl ov14_021E7E10
b _021EBF78
_021EBEE4:
ldr r0, _021EBF80 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #3
bl ov14_021E7E10
b _021EBF78
_021EBEF4:
ldr r0, _021EBF80 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #4
bl ov14_021E7E10
b _021EBF78
_021EBF04:
ldr r0, _021EBF80 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #5
bl ov14_021E7E10
b _021EBF78
_021EBF14:
ldr r1, [r4, #0x34]
ldr r0, _021EBF84 ; =0x000040C0
mov r2, #0xb
ldr r1, [r1, r0]
add r0, sp, #0
strb r1, [r0]
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r4, #0
add r3, sp, #0
bl ov14_021E6094
add r1, sp, #0
ldrb r1, [r1]
add r0, r4, #0
bl ov14_021E895C
ldr r0, _021EBF80 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #0
mov r2, #0x9a
bl ov14_021F23F0
add sp, #4
pop {r3, r4, pc}
_021EBF4C:
ldr r0, _021EBF88 ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #1
mov r2, #0x9a
bl ov14_021F23F0
add sp, #4
pop {r3, r4, pc}
_021EBF60:
ldr r0, _021EBF88 ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #0x18
bl ov14_021F0244
add sp, #4
pop {r3, r4, pc}
_021EBF72:
ldr r0, _021EBF88 ; =0x000005DC
bl PlaySE
_021EBF78:
mov r0, #0x16
add sp, #4
pop {r3, r4, pc}
nop
_021EBF80: .word 0x000005DD
_021EBF84: .word 0x000040C0
_021EBF88: .word 0x000005DC
thumb_func_end ov14_021EBE68
thumb_func_start ov14_021EBF8C
ov14_021EBF8C: ; 0x021EBF8C
ldr r3, _021EBF94 ; =ov14_021F0234
ldr r1, _021EBF98 ; =ov14_021E94BC
mov r2, #0xe
bx r3
.balign 4, 0
_021EBF94: .word ov14_021F0234
_021EBF98: .word ov14_021E94BC
thumb_func_end ov14_021EBF8C
thumb_func_start ov14_021EBF9C
ov14_021EBF9C: ; 0x021EBF9C
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
cmp r1, #0x1e
blo _021EC070
mov r1, #2
mov r2, #1
bl ov14_021F3488
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
mov r2, #0
bl ov14_021F34C8
add r0, r5, #0
add r0, #0x21
ldrb r4, [r0]
add r0, r5, #0
sub r4, #0x1e
add r1, r4, #0
bl ov14_021E6480
cmp r0, #0
bne _021EBFF8
ldr r0, _021EC0E4 ; =0x000005F3
bl PlaySE
add r0, r5, #0
mov r1, #6
mov r2, #0x25
bl ov14_021F67B0
ldr r3, [r5, #0x34]
ldr r1, _021EC0E8 ; =0x0000044E
mov r0, #0x80
ldrb r2, [r3, r1]
orr r0, r2
strb r0, [r3, r1]
mov r0, #0xe
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, pc}
_021EBFF8:
ldr r0, [r5, #8]
add r1, r4, #0
bl GetPartyMonByIndex
mov r1, #6
mov r2, #0
add r4, r0, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_02078068
cmp r0, #1
bne _021EC03C
ldr r0, _021EC0E4 ; =0x000005F3
bl PlaySE
add r0, r5, #0
mov r1, #0
mov r2, #6
mov r3, #0x25
bl ov14_021F685C
ldr r3, [r5, #0x34]
ldr r1, _021EC0E8 ; =0x0000044E
mov r0, #0x80
ldrb r2, [r3, r1]
orr r0, r2
strb r0, [r3, r1]
mov r0, #0xe
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, pc}
_021EC03C:
add r0, r4, #0
mov r1, #0xa2
mov r2, #0
bl GetMonData
cmp r0, #0
beq _021EC090
ldr r0, _021EC0E4 ; =0x000005F3
bl PlaySE
add r0, r5, #0
mov r1, #0
mov r2, #5
mov r3, #0x25
bl ov14_021F685C
ldr r3, [r5, #0x34]
ldr r1, _021EC0E8 ; =0x0000044E
mov r0, #0x80
ldrb r2, [r3, r1]
orr r0, r2
strb r0, [r3, r1]
mov r0, #0xe
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, pc}
_021EC070:
ldr r0, [r5, #0x34]
mov r1, #0
bl ov14_021F43F4
mov r1, #1
add r0, r5, #0
add r2, r1, #0
bl ov14_021F3488
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
mov r2, #0
bl ov14_021F34C8
_021EC090:
add r2, r5, #0
add r2, #0x21
ldrb r1, [r5, #0x1f]
ldrb r2, [r2]
add r0, r5, #0
bl ov14_021E60C0
mov r1, #0x4c
mov r2, #0
bl GetBoxMonData
cmp r0, #0
beq _021EC0CE
ldr r0, _021EC0E4 ; =0x000005F3
bl PlaySE
add r0, r5, #0
mov r1, #3
mov r2, #0x25
bl ov14_021F67B0
ldr r3, [r5, #0x34]
ldr r1, _021EC0E8 ; =0x0000044E
mov r0, #0x80
ldrb r2, [r3, r1]
orr r0, r2
strb r0, [r3, r1]
mov r0, #0xe
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, pc}
_021EC0CE:
add r0, r5, #0
mov r1, #0
mov r2, #0x25
bl ov14_021F67B0
add r0, r5, #0
mov r1, #1
bl ov14_021F0254
pop {r3, r4, r5, pc}
nop
_021EC0E4: .word 0x000005F3
_021EC0E8: .word 0x0000044E
thumb_func_end ov14_021EBF9C
thumb_func_start ov14_021EC0EC
ov14_021EC0EC: ; 0x021EC0EC
push {r4, lr}
add r4, r0, #0
bl ov14_021E7278
ldr r1, [r4, #0x34]
ldr r0, _021EC124 ; =0x000088DC
ldr r0, [r1, r0]
bl ov14_021F3380
cmp r0, #0
bne _021EC120
ldr r1, [r4, #0x34]
ldr r0, _021EC124 ; =0x000088DC
ldr r0, [r1, r0]
ldrb r1, [r0, #6]
cmp r1, #0
beq _021EC112
mov r0, #0x1e
pop {r4, pc}
_021EC112:
bl ov14_021F33E8
add r0, r4, #0
bl ov14_021E7264
mov r0, #0x1b
pop {r4, pc}
_021EC120:
mov r0, #0x1a
pop {r4, pc}
.balign 4, 0
_021EC124: .word 0x000088DC
thumb_func_end ov14_021EC0EC
thumb_func_start ov14_021EC128
ov14_021EC128: ; 0x021EC128
push {r4, lr}
mov r1, #1
mov r2, #0x25
add r4, r0, #0
bl ov14_021F67B0
mov r0, #0x1c
str r0, [r4, #0x30]
mov r0, #6
pop {r4, pc}
thumb_func_end ov14_021EC128
thumb_func_start ov14_021EC13C
ov14_021EC13C: ; 0x021EC13C
push {r4, lr}
mov r1, #2
mov r2, #0x25
add r4, r0, #0
bl ov14_021F67B0
mov r0, #0x1d
str r0, [r4, #0x30]
mov r0, #6
pop {r4, pc}
thumb_func_end ov14_021EC13C
thumb_func_start ov14_021EC150
ov14_021EC150: ; 0x021EC150
push {r4, lr}
add r4, r0, #0
add r2, r4, #0
add r2, #0x21
ldrb r1, [r4, #0x1f]
ldrb r2, [r2]
bl ov14_021E6100
ldr r0, [r4, #0x34]
mov r1, #0x25
bl ov14_021F6654
add r0, r4, #0
bl ov14_021E765C
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
bhs _021EC200
ldrb r1, [r4, #0x1f]
add r0, r4, #0
bl ov14_021F4958
ldrb r1, [r4, #0x1f]
add r0, r4, #0
bl ov14_021F4A20
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #1
bne _021EC1A2
mov r1, #0
add r0, r4, #0
add r2, r1, #0
mov r3, #0x27
bl ov14_021F685C
mov r0, #0x51
str r0, [r4, #0x30]
b _021EC1BE
_021EC1A2:
mov r0, #0xc
str r0, [r4, #0x30]
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8248
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E82A8
_021EC1BE:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
add r1, r4, #0
ldr r0, [r4, #0x34]
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r0, #0x2c]
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
ldr r0, [r4, #0x34]
mov r1, #1
bl ov14_021F43F4
add r0, r4, #0
mov r1, #1
mov r2, #0
bl ov14_021F3488
add r0, r4, #0
mov r1, #0xff
add r0, #0x21
strb r1, [r0]
ldr r1, _021EC234 ; =ov14_021E9450
b _021EC22A
_021EC200:
add r0, r4, #0
bl ov14_021F08BC
add r0, r4, #0
mov r1, #1
add r0, #0x22
strb r1, [r0]
mov r0, #0x21
str r0, [r4, #0x30]
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
add r0, r4, #0
mov r1, #2
mov r2, #0
bl ov14_021F3488
ldr r1, _021EC238 ; =ov14_021E9194
_021EC22A:
ldr r2, [r4, #0x30]
add r0, r4, #0
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021EC234: .word ov14_021E9450
_021EC238: .word ov14_021E9194
thumb_func_end ov14_021EC150
thumb_func_start ov14_021EC23C
ov14_021EC23C: ; 0x021EC23C
push {r4, lr}
add r4, r0, #0
bl ov14_021F08F0
add r0, r4, #0
add r0, #0x24
ldrb r0, [r0]
cmp r0, #0
beq _021EC254
add r0, r4, #0
bl ov14_021F57B8
_021EC254:
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r4, #0
bl ov14_021E7588
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
sub r1, #0x1e
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
add r0, r4, #0
mov r1, #0xff
add r0, #0x21
strb r1, [r0]
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #0
bne _021EC29E
mov r1, #0
add r0, r4, #0
add r2, r1, #0
mov r3, #0x27
bl ov14_021F685C
mov r0, #0x5b
pop {r4, pc}
_021EC29E:
mov r0, #0x24
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021EC23C
thumb_func_start ov14_021EC2A4
ov14_021EC2A4: ; 0x021EC2A4
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #0x34]
ldr r0, _021EC2E8 ; =0x000088DC
ldr r0, [r1, r0]
bl ov14_021F33B0
cmp r0, #0
bne _021EC2E4
ldr r1, [r4, #0x34]
ldr r0, _021EC2E8 ; =0x000088DC
ldr r0, [r1, r0]
bl ov14_021F33FC
add r0, r4, #0
bl ov14_021E7264
add r0, r4, #0
bl ov14_021F3F6C
add r0, r4, #0
mov r1, #4
mov r2, #0x25
bl ov14_021F67B0
ldr r0, [r4, #0x34]
bl ov14_021E8824
mov r0, #0x1f
str r0, [r4, #0x30]
mov r0, #6
pop {r4, pc}
_021EC2E4:
mov r0, #0x1e
pop {r4, pc}
.balign 4, 0
_021EC2E8: .word 0x000088DC
thumb_func_end ov14_021EC2A4
thumb_func_start ov14_021EC2EC
ov14_021EC2EC: ; 0x021EC2EC
push {r4, lr}
mov r1, #5
mov r2, #0x25
add r4, r0, #0
bl ov14_021F67B0
mov r0, #0x20
str r0, [r4, #0x30]
mov r0, #6
pop {r4, pc}
thumb_func_end ov14_021EC2EC
thumb_func_start ov14_021EC300
ov14_021EC300: ; 0x021EC300
push {r4, lr}
add r4, r0, #0
mov r1, #1
bl ov14_021F40E8
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
bhs _021EC328
ldr r0, [r4, #0x34]
mov r1, #1
bl ov14_021F43F4
add r0, r4, #0
mov r1, #1
mov r2, #0
bl ov14_021F3488
b _021EC332
_021EC328:
add r0, r4, #0
mov r1, #2
mov r2, #0
bl ov14_021F3488
_021EC332:
ldr r1, _021EC340 ; =ov14_021E9450
add r0, r4, #0
mov r2, #0xe
bl ov14_021F0234
pop {r4, pc}
nop
_021EC340: .word ov14_021E9450
thumb_func_end ov14_021EC300
thumb_func_start ov14_021EC344
ov14_021EC344: ; 0x021EC344
push {r3, lr}
ldr r0, [r0, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x5b
pop {r3, pc}
thumb_func_end ov14_021EC344
thumb_func_start ov14_021EC354
ov14_021EC354: ; 0x021EC354
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #1
bl ov14_021E81A8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7EC0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7EE0
ldr r0, [r4, #0x34]
bl ov14_021F63F0
ldr r0, [r4, #0x34]
bl ov14_021F63A8
add r0, r4, #0
mov r1, #0
bl ov14_021F5EC4
add r0, r4, #0
bl ov14_021F2FDC
ldr r1, _021EC3A4 ; =ov14_021E9518
add r0, r4, #0
mov r2, #0x23
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021EC3A4: .word ov14_021E9518
thumb_func_end ov14_021EC354
thumb_func_start ov14_021EC3A8
ov14_021EC3A8: ; 0x021EC3A8
push {r4, lr}
add r4, r0, #0
mov r1, #0x1e
bl ov14_021E7588
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #3
bne _021EC3C8
add r0, r4, #0
mov r1, #7
mov r2, #0
bl ov14_021F6AC0
mov r0, #0x8b
pop {r4, pc}
_021EC3C8:
add r0, r4, #0
mov r1, #5
mov r2, #0
bl ov14_021F6AC0
mov r0, #0x24
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021EC3A8
thumb_func_start ov14_021EC3D8
ov14_021EC3D8: ; 0x021EC3D8
push {r3, r4, r5, lr}
add r4, r0, #0
bl ov14_021F6A24
add r5, r0, #0
mov r0, #0
mvn r0, r0
cmp r5, r0
beq _021EC4D4
add r1, r5, #0
add r0, r4, #0
add r1, #0x1e
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EC44A
ldr r0, _021EC6F4 ; =0x000005EB
bl PlaySE
ldr r2, [r4, #0x34]
ldr r1, _021EC6F8 ; =0x000040B8
add r0, r2, r1
add r1, r1, #4
add r1, r2, r1
bl sub_02025380
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021EC42A
ldr r1, _021EC6FC ; =0x021F7D3C
add r0, r4, #0
mov r2, #5
bl ov14_021F5EE4
_021EC42A:
add r1, r5, #0
add r0, r4, #0
add r1, #0x1e
bl ov14_021E7588
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
add r5, #0x1e
add r0, r4, #0
add r1, r5, #0
bl ov14_021F0594
pop {r3, r4, r5, pc}
_021EC44A:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #1
bne _021EC4B4
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
sub r0, #0x1e
lsl r0, r0, #0x18
lsr r5, r0, #0x18
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
add r1, r5, #0
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
add r1, r5, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r0, [r4, #0x34]
bl ov14_021E884C
add r0, r4, #0
mov r1, #0
bl ov14_021F40E8
ldr r1, _021EC700 ; =ov14_021EA180
add r0, r4, #0
mov r2, #0x4c
bl ov14_021F0234
pop {r3, r4, r5, pc}
_021EC4B4:
ldr r0, [r4, #0x34]
lsl r1, r5, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
add r0, r4, #0
bl ov14_021E765C
mov r0, #0x24
pop {r3, r4, r5, pc}
_021EC4D4:
add r0, r4, #0
bl ov14_021F7388
mov r1, #2
add r5, r0, #0
mvn r1, r1
cmp r5, r1
bhi _021EC51E
bhs _021EC5CA
cmp r5, #0xd
bhi _021EC512
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021EC4F6: ; jump table
.short _021EC69A - _021EC4F6 - 2 ; case 0
.short _021EC69A - _021EC4F6 - 2 ; case 1
.short _021EC69A - _021EC4F6 - 2 ; case 2
.short _021EC69A - _021EC4F6 - 2 ; case 3
.short _021EC69A - _021EC4F6 - 2 ; case 4
.short _021EC69A - _021EC4F6 - 2 ; case 5
.short _021EC532 - _021EC4F6 - 2 ; case 6
.short _021EC610 - _021EC4F6 - 2 ; case 7
.short _021EC550 - _021EC4F6 - 2 ; case 8
.short _021EC57E - _021EC4F6 - 2 ; case 9
.short _021EC594 - _021EC4F6 - 2 ; case 10
.short _021EC5A6 - _021EC4F6 - 2 ; case 11
.short _021EC5B8 - _021EC4F6 - 2 ; case 12
.short _021EC622 - _021EC4F6 - 2 ; case 13
_021EC512:
mov r0, #3
mvn r0, r0
cmp r5, r0
bne _021EC51C
b _021EC65C
_021EC51C:
b _021EC69A
_021EC51E:
add r0, r1, #1
cmp r5, r0
bhi _021EC528
beq _021EC610
b _021EC69A
_021EC528:
add r0, r1, #2
cmp r5, r0
bne _021EC530
b _021EC6EE
_021EC530:
b _021EC69A
_021EC532:
ldr r0, _021EC704 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #0
add r0, #0x2a
strb r1, [r0]
add r0, r4, #0
add r0, #0x2b
strb r1, [r0]
add r0, r4, #0
mov r2, #0x9d
bl ov14_021F2490
pop {r3, r4, r5, pc}
_021EC550:
ldr r0, _021EC704 ; =0x000005DD
bl PlaySE
bl sub_02025358
cmp r0, #0
bne _021EC566
add r0, r4, #0
mov r1, #2
add r0, #0x2a
strb r1, [r0]
_021EC566:
add r0, r4, #0
add r0, #0x21
ldrb r1, [r0]
add r0, r4, #0
add r0, #0x2b
strb r1, [r0]
add r0, r4, #0
mov r1, #3
mov r2, #0x9d
bl ov14_021F2330
pop {r3, r4, r5, pc}
_021EC57E:
ldr r0, _021EC704 ; =0x000005DD
bl PlaySE
mov r0, #9
str r0, [r4, #0x2c]
add r0, r4, #0
mov r1, #4
mov r2, #0x97
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EC594:
ldr r0, _021EC704 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #5
mov r2, #0x98
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EC5A6:
ldr r0, _021EC704 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #6
mov r2, #0x99
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EC5B8:
ldr r0, _021EC704 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #7
mov r2, #0x9b
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EC5CA:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
cmp r1, #5
bhi _021EC5E2
add r0, r4, #0
add r1, #0x1e
bl ov14_021E7588
b _021EC600
_021EC5E2:
cmp r1, #8
beq _021EC600
cmp r1, #9
beq _021EC600
cmp r1, #0xa
beq _021EC600
cmp r1, #0xb
beq _021EC600
cmp r1, #0xc
beq _021EC600
cmp r1, #0xd
beq _021EC600
add r0, r4, #0
bl ov14_021E765C
_021EC600:
ldr r0, _021EC708 ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #0x4c
bl ov14_021F0244
pop {r3, r4, r5, pc}
_021EC610:
ldr r0, _021EC70C ; =0x00000633
bl PlaySE
add r0, r4, #0
mov r1, #0xa
mov r2, #0x9f
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EC622:
ldr r0, _021EC708 ; =0x000005DC
bl PlaySE
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
sub r0, #0x1e
lsl r0, r0, #0x18
lsr r5, r0, #0x18
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
add r1, r5, #0
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
add r1, r5, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r4, #0
mov r1, #0xb
mov r2, #0x9e
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EC65C:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
cmp r1, #5
bhi _021EC674
add r0, r4, #0
add r1, #0x1e
bl ov14_021E7588
b _021EC692
_021EC674:
cmp r1, #8
beq _021EC692
cmp r1, #9
beq _021EC692
cmp r1, #0xa
beq _021EC692
cmp r1, #0xb
beq _021EC692
cmp r1, #0xc
beq _021EC692
cmp r1, #0xd
beq _021EC692
add r0, r4, #0
bl ov14_021E765C
_021EC692:
ldr r0, _021EC708 ; =0x000005DC
bl PlaySE
b _021EC6EE
_021EC69A:
add r1, r5, #0
add r0, r4, #0
add r1, #0x1e
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EC6EE
ldr r0, _021EC704 ; =0x000005DD
bl PlaySE
ldr r1, _021EC6FC ; =0x021F7D3C
add r0, r4, #0
mov r2, #5
bl ov14_021F5EE4
add r1, r5, #0
add r0, r4, #0
add r1, #0x1e
bl ov14_021E7588
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
mov r1, #8
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
mov r1, #8
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r5, #0x1e
add r0, r4, #0
add r1, r5, #0
bl ov14_021F07F0
pop {r3, r4, r5, pc}
_021EC6EE:
mov r0, #0x24
pop {r3, r4, r5, pc}
nop
_021EC6F4: .word 0x000005EB
_021EC6F8: .word 0x000040B8
_021EC6FC: .word 0x021F7D3C
_021EC700: .word ov14_021EA180
_021EC704: .word 0x000005DD
_021EC708: .word 0x000005DC
_021EC70C: .word 0x00000633
thumb_func_end ov14_021EC3D8
thumb_func_start ov14_021EC710
ov14_021EC710: ; 0x021EC710
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7F4C
ldr r1, _021EC72C ; =ov14_021E9518
add r0, r4, #0
mov r2, #0x26
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021EC72C: .word ov14_021E9518
thumb_func_end ov14_021EC710
thumb_func_start ov14_021EC730
ov14_021EC730: ; 0x021EC730
push {r4, lr}
add r4, r0, #0
bl ov14_021E7E98
ldr r0, [r4, #0x34]
mov r1, #1
bl ov14_021F43F4
add r0, r4, #0
mov r1, #0
bl ov14_021F5C84
add r0, r4, #0
mov r1, #0
bl ov14_021F5E94
add r0, r4, #0
add r0, #0x24
ldrb r0, [r0]
cmp r0, #0
bne _021EC762
add r0, r4, #0
mov r1, #0
bl ov14_021F5EB4
_021EC762:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8248
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E82A8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #3
bne _021EC7AE
add r0, r4, #0
mov r1, #0x81
mov r2, #1
bl ov14_021F3488
add r0, r4, #0
mov r1, #6
mov r2, #0x21
bl ov14_021F6AC0
ldr r1, _021EC7D0 ; =ov14_021E94BC
add r0, r4, #0
mov r2, #0x75
bl ov14_021F0234
pop {r4, pc}
_021EC7AE:
add r0, r4, #0
mov r1, #1
mov r2, #0
bl ov14_021F3488
add r0, r4, #0
mov r1, #3
mov r2, #0x21
bl ov14_021F6AC0
ldr r1, _021EC7D0 ; =ov14_021E94BC
add r0, r4, #0
mov r2, #0xc
bl ov14_021F0234
pop {r4, pc}
nop
_021EC7D0: .word ov14_021E94BC
thumb_func_end ov14_021EC730
thumb_func_start ov14_021EC7D4
ov14_021EC7D4: ; 0x021EC7D4
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r4, [r0, #0xc]
add r1, r4, #0
add r1, #0xe4
ldr r6, [r1]
mov r1, #0x28
bl ov14_021F6654
ldr r0, _021EC850 ; =0x000005EA
bl PlaySE
add r0, r5, #0
bl ov14_021E637C
add r1, r4, #0
add r1, #0xe4
add r4, #0xe8
ldr r1, [r1]
ldr r2, [r4]
add r0, r5, #0
bl ov14_021E6548
add r0, r5, #0
bl ov14_021F08F0
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0xff
ldr r0, [r5, #0x34]
bne _021EC838
add r1, r6, #0
sub r1, #0x1e
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r5, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
add r0, r5, #0
add r1, r6, #0
bl ov14_021E7588
b _021EC84A
_021EC838:
ldr r0, [r0, #0x2c]
mov r1, #8
bl sub_02019F7C
ldr r0, [r5, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
_021EC84A:
mov r0, #0x24
pop {r4, r5, r6, pc}
nop
_021EC850: .word 0x000005EA
thumb_func_end ov14_021EC7D4
thumb_func_start ov14_021EC854
ov14_021EC854: ; 0x021EC854
push {r4, lr}
add r4, r0, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
ldr r2, [r4, #0x34]
ldr r0, _021EC8CC ; =0x0000043C
add r1, #0x25
str r1, [r2, r0]
add r0, r4, #0
add r0, #0x2a
ldrb r0, [r0]
cmp r0, #0
beq _021EC8A2
add r2, r4, #0
add r2, #0x2b
ldrb r2, [r2]
add r0, r4, #0
mov r1, #4
bl ov14_021F6AC0
add r0, r4, #0
add r0, #0x2b
ldrb r1, [r0]
add r0, r4, #0
add r0, #0x21
strb r1, [r0]
add r1, r4, #0
add r1, #0x2b
ldrb r1, [r1]
add r0, r4, #0
bl ov14_021F1580
mov r1, #0
add r4, #0x2a
strb r1, [r4]
pop {r4, pc}
_021EC8A2:
add r2, r4, #0
add r2, #0x2b
ldrb r2, [r2]
add r0, r4, #0
mov r1, #4
bl ov14_021F6AC0
add r1, r4, #0
add r1, #0x2b
ldrb r1, [r1]
add r0, r4, #0
bl ov14_021E7588
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #3
bne _021EC8C8
mov r0, #0x82
pop {r4, pc}
_021EC8C8:
mov r0, #0x29
pop {r4, pc}
.balign 4, 0
_021EC8CC: .word 0x0000043C
thumb_func_end ov14_021EC854
thumb_func_start ov14_021EC8D0
ov14_021EC8D0: ; 0x021EC8D0
push {r3, r4, r5, lr}
add r4, r0, #0
bl ov14_021F6A34
add r5, r0, #0
mov r0, #0
mvn r0, r0
cmp r5, r0
beq _021EC97E
add r1, r5, #0
add r0, r4, #0
add r1, #0x1e
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EC928
ldr r0, _021ECC30 ; =0x000005EB
bl PlaySE
ldr r2, [r4, #0x34]
ldr r1, _021ECC34 ; =0x000040B8
add r0, r2, r1
add r1, r1, #4
add r1, r2, r1
bl sub_02025380
add r1, r5, #0
add r0, r4, #0
add r1, #0x1e
bl ov14_021E7588
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
add r5, #0x1e
add r0, r4, #0
add r1, r5, #0
bl ov14_021F083C
pop {r3, r4, r5, pc}
_021EC928:
add r0, r4, #0
bl ov14_021E765C
ldr r0, [r4, #0x34]
add r5, #0x1e
lsl r1, r5, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #1
bne _021EC960
add r0, r4, #0
mov r1, #0x29
bl ov14_021F0EE8
pop {r3, r4, r5, pc}
_021EC960:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021EC97A
add r0, r4, #0
mov r1, #0x29
bl ov14_021F0D34
pop {r3, r4, r5, pc}
_021EC97A:
mov r0, #0x29
pop {r3, r4, r5, pc}
_021EC97E:
bl ov14_021F6A14
add r5, r0, #0
mov r0, #0
mvn r0, r0
cmp r5, r0
beq _021ECA20
add r0, r4, #0
add r1, r5, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EC9CC
ldr r0, _021ECC30 ; =0x000005EB
bl PlaySE
ldr r2, [r4, #0x34]
ldr r1, _021ECC34 ; =0x000040B8
add r0, r2, r1
add r1, r1, #4
add r1, r2, r1
bl sub_02025380
add r0, r4, #0
add r1, r5, #0
bl ov14_021E7588
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
add r0, r4, #0
add r1, r5, #0
bl ov14_021F083C
pop {r3, r4, r5, pc}
_021EC9CC:
add r0, r4, #0
bl ov14_021E765C
ldr r0, [r4, #0x34]
lsl r1, r5, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #1
bne _021ECA02
add r0, r4, #0
mov r1, #0x29
bl ov14_021F0EE8
pop {r3, r4, r5, pc}
_021ECA02:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021ECA1C
add r0, r4, #0
mov r1, #0x29
bl ov14_021F0D34
pop {r3, r4, r5, pc}
_021ECA1C:
mov r0, #0x29
pop {r3, r4, r5, pc}
_021ECA20:
add r0, r4, #0
bl ov14_021F7B7C
cmp r0, #1
bne _021ECA68
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r5, r0, #0
add r0, r4, #0
add r1, r5, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021ECA64
ldr r0, _021ECC38 ; =0x000005DD
bl PlaySE
add r0, r4, #0
add r0, #0x21
strb r5, [r0]
add r0, r4, #0
mov r1, #1
add r0, #0x26
strb r1, [r0]
add r0, r4, #0
mov r1, #0xf
mov r2, #0x97
bl ov14_021F2330
pop {r3, r4, r5, pc}
_021ECA64:
mov r0, #0x29
pop {r3, r4, r5, pc}
_021ECA68:
add r0, r4, #0
bl ov14_021F70C0
mov r1, #2
add r5, r0, #0
mvn r1, r1
cmp r5, r1
bhi _021ECAAE
blo _021ECA7C
b _021ECC6A
_021ECA7C:
cmp r5, #0x2d
bhi _021ECAA4
sub r0, #0x24
bmi _021ECAAC
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021ECA90: ; jump table
.short _021ECCFE - _021ECA90 - 2 ; case 0
.short _021ECAC4 - _021ECA90 - 2 ; case 1
.short _021ECADA - _021ECA90 - 2 ; case 2
.short _021ECAF0 - _021ECA90 - 2 ; case 3
.short _021ECB06 - _021ECA90 - 2 ; case 4
.short _021ECB1C - _021ECA90 - 2 ; case 5
.short _021ECB32 - _021ECA90 - 2 ; case 6
.short _021ECB48 - _021ECA90 - 2 ; case 7
.short _021ECBBA - _021ECA90 - 2 ; case 8
.short _021ECC2A - _021ECA90 - 2 ; case 9
_021ECAA4:
mov r0, #3
mvn r0, r0
cmp r5, r0
beq _021ECAC0
_021ECAAC:
b _021ECD70
_021ECAAE:
add r0, r1, #1
cmp r5, r0
bhi _021ECABA
bne _021ECAB8
b _021ECD1A
_021ECAB8:
b _021ECD70
_021ECABA:
add r0, r1, #2
cmp r5, r0
bne _021ECAC2
_021ECAC0:
b _021ECD98
_021ECAC2:
b _021ECD70
_021ECAC4:
ldr r0, _021ECC38 ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #0
bl ov14_021F0D58
pop {r3, r4, r5, pc}
_021ECADA:
ldr r0, _021ECC38 ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #1
bl ov14_021F0D58
pop {r3, r4, r5, pc}
_021ECAF0:
ldr r0, _021ECC38 ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #2
bl ov14_021F0D58
pop {r3, r4, r5, pc}
_021ECB06:
ldr r0, _021ECC38 ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #3
bl ov14_021F0D58
pop {r3, r4, r5, pc}
_021ECB1C:
ldr r0, _021ECC38 ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #4
bl ov14_021F0D58
pop {r3, r4, r5, pc}
_021ECB32:
ldr r0, _021ECC38 ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #5
bl ov14_021F0D58
pop {r3, r4, r5, pc}
_021ECB48:
ldr r0, _021ECC3C ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl ov14_021F1004
add r0, r4, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
ldr r0, [r4, #0x34]
add r1, #0x25
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #1
bne _021ECB9C
add r0, r4, #0
mov r1, #0x29
bl ov14_021F0EE8
pop {r3, r4, r5, pc}
_021ECB9C:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021ECBB6
add r0, r4, #0
mov r1, #0x29
bl ov14_021F0D34
pop {r3, r4, r5, pc}
_021ECBB6:
mov r0, #0x29
pop {r3, r4, r5, pc}
_021ECBBA:
ldr r0, _021ECC3C ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #1
bl ov14_021F1004
add r0, r4, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
ldr r0, [r4, #0x34]
add r1, #0x25
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #1
bne _021ECC0C
add r0, r4, #0
mov r1, #0x29
bl ov14_021F0EE8
pop {r3, r4, r5, pc}
_021ECC0C:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021ECC26
add r0, r4, #0
mov r1, #0x29
bl ov14_021F0D34
pop {r3, r4, r5, pc}
_021ECC26:
mov r0, #0x29
pop {r3, r4, r5, pc}
_021ECC2A:
ldr r0, _021ECC3C ; =0x000005DC
b _021ECC40
nop
_021ECC30: .word 0x000005EB
_021ECC34: .word 0x000040B8
_021ECC38: .word 0x000005DD
_021ECC3C: .word 0x000005DC
_021ECC40:
bl PlaySE
add r0, r4, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
ldr r0, [r4, #0x34]
add r1, #0x25
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
add r0, r4, #0
mov r1, #0xe
mov r2, #0xa0
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021ECC6A:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
cmp r1, #0x25
bhs _021ECCC4
add r0, r4, #0
bl ov14_021E7588
cmp r0, #1
ldr r1, [r4, #0x34]
bne _021ECCA8
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #0
bne _021ECCE6
add r0, r4, #0
mov r1, #0
bl ov14_021F6408
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8620
b _021ECCE6
_021ECCA8:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021ECCE6
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
b _021ECCE6
_021ECCC4:
add r0, r4, #0
bl ov14_021E765C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021ECCE6
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
_021ECCE6:
ldr r0, _021ECD9C ; =0x000005DC
bl PlaySE
ldr r0, [r4, #0x34]
ldr r0, [r0, #8]
cmp r0, #0
beq _021ECD98
add r0, r4, #0
mov r1, #0x4b
bl ov14_021F0244
pop {r3, r4, r5, pc}
_021ECCFE:
ldr r0, _021ECDA0 ; =0x00000633
bl PlaySE
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
add r0, r4, #0
mov r1, #1
mov r2, #0xa1
bl ov14_021F2490
pop {r3, r4, r5, pc}
_021ECD1A:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #0
bne _021ECD3C
ldr r0, _021ECDA0 ; =0x00000633
bl PlaySE
add r0, r4, #0
mov r1, #1
mov r2, #0xa1
bl ov14_021F2490
pop {r3, r4, r5, pc}
_021ECD3C:
ldr r0, _021ECD9C ; =0x000005DC
bl PlaySE
add r0, r4, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
ldr r0, [r4, #0x34]
add r1, #0x25
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
add r0, r4, #0
mov r1, #0x29
bl ov14_021F0EE8
pop {r3, r4, r5, pc}
_021ECD70:
add r0, r4, #0
add r1, r5, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021ECD98
ldr r0, _021ECDA4 ; =0x000005EB
bl PlaySE
add r0, r4, #0
add r1, r5, #0
bl ov14_021E7588
add r0, r4, #0
add r1, r5, #0
bl ov14_021F1580
pop {r3, r4, r5, pc}
_021ECD98:
mov r0, #0x29
pop {r3, r4, r5, pc}
.balign 4, 0
_021ECD9C: .word 0x000005DC
_021ECDA0: .word 0x00000633
_021ECDA4: .word 0x000005EB
thumb_func_end ov14_021EC8D0
thumb_func_start ov14_021ECDA8
ov14_021ECDA8: ; 0x021ECDA8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r7, [r0, #0xc]
add r0, r7, #0
add r0, #0xe8
ldr r6, [r0]
add r0, r7, #0
add r0, #0xec
ldr r4, [r0]
ldr r0, _021ECF50 ; =0x000005EA
bl PlaySE
add r0, r5, #0
bl ov14_021E637C
mov r0, #0x80
and r0, r6
str r0, [sp]
bne _021ECDE0
add r1, r7, #0
add r1, #0xe4
add r7, #0xe8
ldr r1, [r1]
ldr r2, [r7]
add r0, r5, #0
bl ov14_021E6548
_021ECDE0:
add r0, r5, #0
bl ov14_021F08F0
add r1, r5, #0
ldr r0, [r5, #0x34]
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r5, #0
add r0, #0x24
ldrb r0, [r0]
cmp r0, #0
beq _021ECE04
add r0, r5, #0
bl ov14_021F57B8
_021ECE04:
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
bne _021ECE20
add r0, r5, #0
bl ov14_021E765C
b _021ECF40
_021ECE20:
cmp r6, #0xff
beq _021ECE3A
ldr r0, [sp]
cmp r0, #0
bne _021ECE2C
b _021ECF40
_021ECE2C:
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
bl ov14_021E7588
b _021ECF40
_021ECE3A:
add r0, r5, #0
add r0, #0x21
ldrb r6, [r0]
cmp r6, #0x1e
blo _021ECECE
cmp r4, r6
beq _021ECECE
sub r6, #0x1e
ldr r0, [r5, #8]
add r1, r6, #0
bl GetPartyMonByIndex
mov r1, #6
mov r2, #0
add r7, r0, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_02078068
cmp r0, #1
bne _021ECE82
ldr r0, _021ECF54 ; =0x000005F3
bl PlaySE
add r0, r5, #0
mov r1, #0
mov r2, #6
mov r3, #0x25
bl ov14_021F685C
mov r0, #0x2c
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, r6, r7, pc}
_021ECE82:
add r0, r7, #0
mov r1, #0xa2
mov r2, #0
bl GetMonData
cmp r0, #0
beq _021ECEAA
ldr r0, _021ECF54 ; =0x000005F3
bl PlaySE
add r0, r5, #0
mov r1, #0
mov r2, #5
mov r3, #0x25
bl ov14_021F685C
mov r0, #0x2c
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, r6, r7, pc}
_021ECEAA:
add r0, r5, #0
add r1, r6, #0
bl ov14_021E6480
cmp r0, #0
bne _021ECECE
ldr r0, _021ECF54 ; =0x000005F3
bl PlaySE
add r0, r5, #0
mov r1, #6
mov r2, #0x25
bl ov14_021F67B0
mov r0, #0x2c
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, r6, r7, pc}
_021ECECE:
cmp r4, #0xff
beq _021ECF40
mov r0, #0x80
tst r0, r4
beq _021ECF40
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
mov r2, #0x80
add r3, r4, #0
eor r3, r2
mov r2, #6
mul r2, r0
ldrb r1, [r5, #0x1f]
add r0, r3, r2
cmp r1, r0
beq _021ECF40
add r0, r5, #0
add r0, #0x21
ldrb r1, [r0]
cmp r1, #0x1e
bhs _021ECF0E
add r0, r5, #0
mov r1, #0
mov r2, #4
mov r3, #0x25
bl ov14_021F685C
b _021ECF32
_021ECF0E:
add r0, r5, #0
sub r1, #0x1e
bl ov14_021E6480
cmp r0, #1
bne _021ECF28
add r0, r5, #0
mov r1, #0
mov r2, #4
mov r3, #0x25
bl ov14_021F685C
b _021ECF32
_021ECF28:
add r0, r5, #0
mov r1, #6
mov r2, #0x25
bl ov14_021F67B0
_021ECF32:
ldr r0, _021ECF54 ; =0x000005F3
bl PlaySE
mov r0, #0x2c
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, r6, r7, pc}
_021ECF40:
ldr r0, [r5, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x29
pop {r3, r4, r5, r6, r7, pc}
nop
_021ECF50: .word 0x000005EA
_021ECF54: .word 0x000005F3
thumb_func_end ov14_021ECDA8
thumb_func_start ov14_021ECF58
ov14_021ECF58: ; 0x021ECF58
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r4, [r0, #0xc]
add r0, r4, #0
add r0, #0xe8
ldr r6, [r0]
ldr r0, _021ED1A0 ; =0x000005EA
bl PlaySE
add r0, r5, #0
bl ov14_021E637C
mov r0, #0x80
tst r0, r6
bne _021ECF88
add r1, r4, #0
add r1, #0xe4
add r4, #0xe8
ldr r1, [r1]
ldr r2, [r4]
add r0, r5, #0
bl ov14_021E6548
_021ECF88:
add r0, r5, #0
bl ov14_021F08F0
add r0, r5, #0
add r0, #0x24
ldrb r0, [r0]
cmp r0, #0
beq _021ECF9E
add r0, r5, #0
bl ov14_021F57B8
_021ECF9E:
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r4, r0, #0
ldr r1, [r5, #0x34]
ldr r0, _021ED1A4 ; =0x000088CC
ldr r0, [r1, r0]
cmp r0, #0
bne _021ECFC0
cmp r6, #0xff
bne _021ECFC0
add r0, r5, #0
add r0, #0x21
ldrb r6, [r0]
cmp r4, r6
bne _021ECFC2
_021ECFC0:
b _021ED15C
_021ECFC2:
cmp r6, #0x1e
blo _021ED0B2
sub r6, #0x1e
ldr r0, [r5, #8]
add r1, r6, #0
bl GetPartyMonByIndex
mov r1, #6
mov r2, #0
add r7, r0, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_02078068
cmp r0, #1
bne _021ED022
ldr r0, _021ED1A8 ; =0x000005F3
bl PlaySE
add r1, r5, #0
ldr r0, [r5, #0x34]
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r0, #0x2c]
bl sub_02019F7C
ldr r0, [r5, #0x34]
mov r1, #0
ldr r0, [r0, #0x2c]
bl sub_02019F94
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
add r0, r5, #0
mov r1, #0
mov r2, #6
mov r3, #0x25
bl ov14_021F685C
mov r0, #0x2c
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, r6, r7, pc}
_021ED022:
add r0, r7, #0
mov r1, #0xa2
mov r2, #0
bl GetMonData
cmp r0, #0
beq _021ED06C
ldr r0, _021ED1A8 ; =0x000005F3
bl PlaySE
add r1, r5, #0
ldr r0, [r5, #0x34]
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r0, #0x2c]
bl sub_02019F7C
ldr r0, [r5, #0x34]
mov r1, #0
ldr r0, [r0, #0x2c]
bl sub_02019F94
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
add r0, r5, #0
mov r1, #0
mov r2, #5
mov r3, #0x25
bl ov14_021F685C
mov r0, #0x2c
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, r6, r7, pc}
_021ED06C:
add r0, r5, #0
add r1, r6, #0
bl ov14_021E6480
cmp r0, #0
bne _021ED0B2
ldr r0, _021ED1A8 ; =0x000005F3
bl PlaySE
add r1, r5, #0
ldr r0, [r5, #0x34]
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r0, #0x2c]
bl sub_02019F7C
ldr r0, [r5, #0x34]
mov r1, #0
ldr r0, [r0, #0x2c]
bl sub_02019F94
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
add r0, r5, #0
mov r1, #6
mov r2, #0x25
bl ov14_021F67B0
mov r0, #0x2c
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, r6, r7, pc}
_021ED0B2:
cmp r4, #0x25
blo _021ED142
cmp r4, #0x2a
bhi _021ED142
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
add r3, r4, #0
mov r2, #6
ldrb r1, [r5, #0x1f]
sub r3, #0x25
mul r2, r0
add r0, r3, r2
cmp r1, r0
beq _021ED142
add r0, r5, #0
add r0, #0x21
ldrb r1, [r0]
cmp r1, #0x1e
bhs _021ED0EE
add r0, r5, #0
mov r1, #0
mov r2, #4
mov r3, #0x25
bl ov14_021F685C
b _021ED112
_021ED0EE:
add r0, r5, #0
sub r1, #0x1e
bl ov14_021E6480
cmp r0, #1
bne _021ED108
add r0, r5, #0
mov r1, #0
mov r2, #4
mov r3, #0x25
bl ov14_021F685C
b _021ED112
_021ED108:
add r0, r5, #0
mov r1, #6
mov r2, #0x25
bl ov14_021F67B0
_021ED112:
ldr r0, _021ED1A8 ; =0x000005F3
bl PlaySE
add r1, r5, #0
ldr r0, [r5, #0x34]
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r0, #0x2c]
bl sub_02019F7C
ldr r0, [r5, #0x34]
mov r1, #0
ldr r0, [r0, #0x2c]
bl sub_02019F94
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
mov r0, #0x2c
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, r6, r7, pc}
_021ED142:
add r0, r5, #0
add r0, #0x2a
ldrb r0, [r0]
cmp r0, #0
bne _021ED15C
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
add r0, r5, #0
bl ov14_021E7588
_021ED15C:
add r0, r5, #0
add r0, #0x2a
ldrb r0, [r0]
cmp r0, #0
beq _021ED17E
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
add r0, r5, #0
bl ov14_021E76B8
add r0, r5, #0
bl ov14_021F0CD8
pop {r3, r4, r5, r6, r7, pc}
_021ED17E:
cmp r4, #0x25
blo _021ED192
cmp r4, #0x2a
bhi _021ED192
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #0xe
bl ov14_021F29E4
b _021ED19C
_021ED192:
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
_021ED19C:
mov r0, #0x29
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021ED1A0: .word 0x000005EA
_021ED1A4: .word 0x000088CC
_021ED1A8: .word 0x000005F3
thumb_func_end ov14_021ECF58
thumb_func_start ov14_021ED1AC
ov14_021ED1AC: ; 0x021ED1AC
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0x25
bl ov14_021F6688
add r0, r4, #0
add r0, #0x2a
ldrb r0, [r0]
cmp r0, #0
ldr r0, [r4, #0x34]
beq _021ED1DA
mov r1, #9
mov r2, #8
bl ov14_021F29E4
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
bl ov14_021F0CD8
pop {r4, pc}
_021ED1DA:
ldr r0, [r0, #0x2c]
mov r1, #1
bl sub_02019F94
mov r0, #0x29
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021ED1AC
thumb_func_start ov14_021ED1E8
ov14_021ED1E8: ; 0x021ED1E8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
bl ov14_021F63B8
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #3
bne _021ED206
add r0, r4, #0
mov r1, #0x81
mov r2, #1
bl ov14_021F3488
b _021ED210
_021ED206:
add r0, r4, #0
mov r1, #1
mov r2, #0
bl ov14_021F3488
_021ED210:
add r1, r4, #0
add r1, #0x2b
ldrb r1, [r1]
add r0, r4, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021ED238
add r0, r4, #0
mov r1, #0
bl ov14_021F6408
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8620
_021ED238:
add r0, r4, #0
mov r1, #1
add r0, #0x24
strb r1, [r0]
add r0, r4, #0
add r0, #0x29
strb r1, [r0]
add r0, r4, #0
ldrb r1, [r4, #0x1f]
add r0, #0x25
strb r1, [r0]
add r0, r4, #0
mov r1, #0x28
bl ov14_021F1058
pop {r4, pc}
thumb_func_end ov14_021ED1E8
thumb_func_start ov14_021ED258
ov14_021ED258: ; 0x021ED258
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
bl ov14_021F63A8
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #3
bne _021ED28A
add r0, r4, #0
mov r1, #7
mov r2, #0
bl ov14_021F6AC0
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
add r0, r4, #0
add r1, #0x1e
bl ov14_021E7588
mov r0, #0x8b
pop {r4, pc}
_021ED28A:
add r0, r4, #0
add r0, #0x2a
ldrb r0, [r0]
cmp r0, #0
beq _021ED2A6
add r2, r4, #0
add r2, #0x2b
ldrb r2, [r2]
add r0, r4, #0
mov r1, #5
sub r2, #0x1e
bl ov14_021F6AC0
b _021ED2B0
_021ED2A6:
add r0, r4, #0
mov r1, #5
mov r2, #0
bl ov14_021F6AC0
_021ED2B0:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
add r0, r4, #0
add r1, #0x1e
bl ov14_021E7588
mov r0, #0x24
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021ED258
thumb_func_start ov14_021ED2C8
ov14_021ED2C8: ; 0x021ED2C8
ldrb r2, [r0, #0x1f]
add r1, r0, #0
add r1, #0x25
strb r2, [r1]
ldr r3, _021ED2D8 ; =ov14_021F1058
mov r1, #0x30
bx r3
nop
_021ED2D8: .word ov14_021F1058
thumb_func_end ov14_021ED2C8
thumb_func_start ov14_021ED2DC
ov14_021ED2DC: ; 0x021ED2DC
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #1
bl ov14_021E81A8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7ED0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7EE0
ldr r0, [r4, #0x34]
bl ov14_021F63F0
ldr r0, [r4, #0x34]
bl ov14_021F63B8
add r0, r4, #0
bl ov14_021F3044
add r0, r4, #0
mov r1, #0
bl ov14_021F6408
add r1, r4, #0
add r1, #0x2b
ldrb r1, [r1]
add r0, r4, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021ED340
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8620
_021ED340:
ldr r1, _021ED34C ; =ov14_021E9518
add r0, r4, #0
mov r2, #0x28
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021ED34C: .word ov14_021E9518
thumb_func_end ov14_021ED2DC
thumb_func_start ov14_021ED350
ov14_021ED350: ; 0x021ED350
ldr r3, _021ED358 ; =ov14_021F1090
mov r1, #0x32
bx r3
nop
_021ED358: .word ov14_021F1090
thumb_func_end ov14_021ED350
thumb_func_start ov14_021ED35C
ov14_021ED35C: ; 0x021ED35C
push {r4, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x29
ldrb r1, [r1]
cmp r1, #1
bne _021ED370
bl ov14_021F0C58
pop {r4, pc}
_021ED370:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7F4C
ldr r1, _021ED388 ; =ov14_021E9518
add r0, r4, #0
mov r2, #0x33
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021ED388: .word ov14_021E9518
thumb_func_end ov14_021ED35C
thumb_func_start ov14_021ED38C
ov14_021ED38C: ; 0x021ED38C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r1, [r5]
ldr r1, [r1, #8]
cmp r1, #3
bne _021ED3A0
mov r7, #6
mov r6, #0x22
mov r4, #0x75
b _021ED3BC
_021ED3A0:
add r1, r5, #0
add r1, #0x2a
ldrb r1, [r1]
mov r7, #3
mov r6, #0x22
mov r4, #0xc
cmp r1, #0
beq _021ED3BC
add r1, r5, #0
add r1, #0x2b
ldrb r6, [r1]
add r1, r6, #0
bl ov14_021E7588
_021ED3BC:
add r0, r5, #0
add r1, r7, #0
add r2, r6, #0
bl ov14_021F6AC0
add r0, r5, #0
mov r1, #0
bl ov14_021F5C84
add r0, r5, #0
mov r1, #0
bl ov14_021F5E94
add r0, r5, #0
mov r1, #0
bl ov14_021F5EB4
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8248
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E82A8
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r1, _021ED410 ; =ov14_021E94BC
add r0, r5, #0
add r2, r4, #0
bl ov14_021F0234
pop {r3, r4, r5, r6, r7, pc}
nop
_021ED410: .word ov14_021E94BC
thumb_func_end ov14_021ED38C
thumb_func_start ov14_021ED414
ov14_021ED414: ; 0x021ED414
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019D18
mov r1, #3
mvn r1, r1
cmp r0, r1
bhi _021ED454
blo _021ED42C
b _021ED57C
_021ED42C:
cmp r0, #0xb
bhi _021ED45E
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_021ED43C: ; jump table
.short _021ED46A - _021ED43C - 2 ; case 0
.short _021ED47A - _021ED43C - 2 ; case 1
.short _021ED48A - _021ED43C - 2 ; case 2
.short _021ED49A - _021ED43C - 2 ; case 3
.short _021ED4AA - _021ED43C - 2 ; case 4
.short _021ED4BA - _021ED43C - 2 ; case 5
.short _021ED4CA - _021ED43C - 2 ; case 6
.short _021ED4DC - _021ED43C - 2 ; case 7
.short _021ED4EC - _021ED43C - 2 ; case 8
.short _021ED526 - _021ED43C - 2 ; case 9
.short _021ED542 - _021ED43C - 2 ; case 10
.short _021ED584 - _021ED43C - 2 ; case 11
_021ED454:
mov r1, #2
mvn r1, r1
cmp r0, r1
bhi _021ED460
beq _021ED55E
_021ED45E:
b _021ED5A0
_021ED460:
add r1, r1, #1
cmp r0, r1
bne _021ED468
b _021ED58E
_021ED468:
b _021ED5A0
_021ED46A:
ldr r0, _021ED5A4 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #0
bl ov14_021F1170
pop {r4, pc}
_021ED47A:
ldr r0, _021ED5A4 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #1
bl ov14_021F1170
pop {r4, pc}
_021ED48A:
ldr r0, _021ED5A4 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #2
bl ov14_021F1170
pop {r4, pc}
_021ED49A:
ldr r0, _021ED5A4 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #3
bl ov14_021F1170
pop {r4, pc}
_021ED4AA:
ldr r0, _021ED5A4 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #4
bl ov14_021F1170
pop {r4, pc}
_021ED4BA:
ldr r0, _021ED5A4 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #5
bl ov14_021F1170
pop {r4, pc}
_021ED4CA:
ldr r0, _021ED5A8 ; =0x000005DC
bl PlaySE
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl ov14_021F11F8
pop {r4, pc}
_021ED4DC:
ldr r0, _021ED5A8 ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #1
bl ov14_021F11F8
pop {r4, pc}
_021ED4EC:
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
add r0, r4, #0
add r0, #0x25
ldrb r1, [r4, #0x1f]
ldrb r0, [r0]
cmp r1, r0
bne _021ED514
ldr r0, _021ED5AC ; =0x000005F3
bl PlaySE
add r0, r4, #0
mov r1, #0xc
mov r2, #0x3d
bl ov14_021F2270
pop {r4, pc}
_021ED514:
ldr r0, _021ED5A8 ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #0xc
mov r2, #0xa2
bl ov14_021F2270
pop {r4, pc}
_021ED526:
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
ldr r0, _021ED5A4 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #6
mov r2, #0xa3
bl ov14_021F2270
pop {r4, pc}
_021ED542:
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
ldr r0, _021ED5A4 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #7
mov r2, #0xa4
bl ov14_021F2270
pop {r4, pc}
_021ED55E:
ldr r0, _021ED5A8 ; =0x000005DC
bl PlaySE
ldr r0, [r4, #0x34]
ldr r0, [r0, #8]
cmp r0, #0
beq _021ED5A0
ldr r0, _021ED5A8 ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #0x3e
bl ov14_021F0244
pop {r4, pc}
_021ED57C:
ldr r0, _021ED5A8 ; =0x000005DC
bl PlaySE
b _021ED5A0
_021ED584:
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
_021ED58E:
ldr r0, _021ED5A8 ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #0xa
mov r2, #0x39
bl ov14_021F2270
pop {r4, pc}
_021ED5A0:
mov r0, #0x3d
pop {r4, pc}
.balign 4, 0
_021ED5A4: .word 0x000005DD
_021ED5A8: .word 0x000005DC
_021ED5AC: .word 0x000005F3
thumb_func_end ov14_021ED414
thumb_func_start ov14_021ED5B0
ov14_021ED5B0: ; 0x021ED5B0
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
ldr r1, [r4, #0x34]
ldr r0, [r0, #8]
cmp r0, #1
bne _021ED5DA
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E834C
cmp r0, #0
bne _021ED5FC
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
b _021ED5FC
_021ED5DA:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8234
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8294
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
_021ED5FC:
ldr r1, _021ED608 ; =ov14_021E94BC
add r0, r4, #0
mov r2, #0x35
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021ED608: .word ov14_021E94BC
thumb_func_end ov14_021ED5B0
thumb_func_start ov14_021ED60C
ov14_021ED60C: ; 0x021ED60C
ldrb r2, [r0, #0x1f]
add r1, r0, #0
add r1, #0x25
strb r2, [r1]
ldr r3, _021ED61C ; =ov14_021F1058
mov r1, #0x36
bx r3
nop
_021ED61C: .word ov14_021F1058
thumb_func_end ov14_021ED60C
thumb_func_start ov14_021ED620
ov14_021ED620: ; 0x021ED620
ldr r3, _021ED628 ; =ov14_021F10B4
mov r1, #0x37
bx r3
nop
_021ED628: .word ov14_021F10B4
thumb_func_end ov14_021ED620
thumb_func_start ov14_021ED62C
ov14_021ED62C: ; 0x021ED62C
push {r4, lr}
add r4, r0, #0
bl ov14_021F6070
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E875C
ldr r1, _021ED64C ; =ov14_021E9618
add r0, r4, #0
mov r2, #0x38
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021ED64C: .word ov14_021E9618
thumb_func_end ov14_021ED62C
thumb_func_start ov14_021ED650
ov14_021ED650: ; 0x021ED650
push {r4, lr}
add r4, r0, #0
ldr r2, [r4, #0x2c]
mov r1, #9
bl ov14_021F6AC0
ldr r0, [r4, #0x2c]
cmp r0, #5
ldr r0, [r4, #0x34]
bhi _021ED66E
mov r1, #9
mov r2, #0xe
bl ov14_021F29E4
b _021ED676
_021ED66E:
mov r1, #9
mov r2, #8
bl ov14_021F29E4
_021ED676:
add r0, r4, #0
mov r1, #0
mov r2, #0x27
bl ov14_021F6844
mov r0, #0x3d
pop {r4, pc}
thumb_func_end ov14_021ED650
thumb_func_start ov14_021ED684
ov14_021ED684: ; 0x021ED684
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #0x34]
mov r1, #0x27
bl ov14_021F6654
add r0, r4, #0
mov r1, #0x3a
bl ov14_021F10DC
pop {r4, pc}
thumb_func_end ov14_021ED684
thumb_func_start ov14_021ED6A4
ov14_021ED6A4: ; 0x021ED6A4
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E87BC
ldr r1, _021ED6C0 ; =ov14_021E9618
add r0, r4, #0
mov r2, #0x3b
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021ED6C0: .word ov14_021E9618
thumb_func_end ov14_021ED6A4
thumb_func_start ov14_021ED6C4
ov14_021ED6C4: ; 0x021ED6C4
ldr r3, _021ED6CC ; =ov14_021F1090
mov r1, #0x3c
bx r3
nop
_021ED6CC: .word ov14_021F1090
thumb_func_end ov14_021ED6C4
thumb_func_start ov14_021ED6D0
ov14_021ED6D0: ; 0x021ED6D0
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
add r0, r4, #0
mov r1, #0
bl ov14_021F5EB4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #1
bne _021ED71A
add r0, r4, #0
mov r1, #2
mov r2, #0x1e
bl ov14_021F6AC0
ldr r1, _021ED758 ; =ov14_021E95B4
add r0, r4, #0
mov r2, #0x52
bl ov14_021F0234
pop {r4, pc}
_021ED71A:
cmp r0, #3
bne _021ED72A
add r0, r4, #0
mov r1, #6
mov r2, #0x1e
bl ov14_021F6AC0
b _021ED734
_021ED72A:
add r0, r4, #0
mov r1, #3
mov r2, #0x1e
bl ov14_021F6AC0
_021ED734:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8248
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E82A8
ldr r1, _021ED75C ; =ov14_021E94BC
add r0, r4, #0
mov r2, #0x4d
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021ED758: .word ov14_021E95B4
_021ED75C: .word ov14_021E94BC
thumb_func_end ov14_021ED6D0
thumb_func_start ov14_021ED760
ov14_021ED760: ; 0x021ED760
push {r4, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x25
ldrb r1, [r1]
bl ov14_021E7930
ldr r2, [r4, #0x34]
ldr r1, _021ED7B0 ; =0x0000044D
strb r0, [r2, r1]
add r0, r4, #0
bl ov14_021F4428
add r0, r4, #0
bl ov14_021F4530
add r0, r4, #0
bl ov14_021F459C
add r0, r4, #0
bl ov14_021F58B8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E87BC
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E81B4
ldr r1, _021ED7B4 ; =ov14_021E9660
add r0, r4, #0
mov r2, #0x40
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021ED7B0: .word 0x0000044D
_021ED7B4: .word ov14_021E9660
thumb_func_end ov14_021ED760
thumb_func_start ov14_021ED7B8
ov14_021ED7B8: ; 0x021ED7B8
push {r4, lr}
add r4, r0, #0
bl ov14_021F6094
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8560
ldr r1, _021ED7D8 ; =ov14_021E95C8
add r0, r4, #0
mov r2, #0x41
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021ED7D8: .word ov14_021E95C8
thumb_func_end ov14_021ED7B8
thumb_func_start ov14_021ED7DC
ov14_021ED7DC: ; 0x021ED7DC
push {r4, r5, r6, lr}
add r4, r0, #0
ldr r1, [r4, #0x34]
ldr r2, _021ED81C ; =0x0000044D
ldrb r3, [r1, r2]
lsr r6, r3, #0x1f
lsl r5, r3, #0x1e
sub r5, r5, r6
mov r3, #0x1e
ror r5, r3
add r3, r2, #0
add r5, r6, r5
sub r3, #0x11
str r5, [r1, r3]
ldr r3, [r4, #0x34]
sub r2, #0x11
ldr r2, [r3, r2]
mov r1, #0xa
bl ov14_021F6AC0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0xe
bl ov14_021F29E4
add r0, r4, #0
mov r1, #1
mov r2, #0x27
bl ov14_021F6844
mov r0, #0x42
pop {r4, r5, r6, pc}
.balign 4, 0
_021ED81C: .word 0x0000044D
thumb_func_end ov14_021ED7DC
thumb_func_start ov14_021ED820
ov14_021ED820: ; 0x021ED820
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019D18
mov r1, #2
mvn r1, r1
cmp r0, r1
bhi _021ED856
bhs _021ED8E0
cmp r0, #7
bhi _021ED914
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_021ED846: ; jump table
.short _021ED860 - _021ED846 - 2 ; case 0
.short _021ED872 - _021ED846 - 2 ; case 1
.short _021ED884 - _021ED846 - 2 ; case 2
.short _021ED896 - _021ED846 - 2 ; case 3
.short _021ED8A8 - _021ED846 - 2 ; case 4
.short _021ED8BC - _021ED846 - 2 ; case 5
.short _021ED8CE - _021ED846 - 2 ; case 6
.short _021ED8F8 - _021ED846 - 2 ; case 7
_021ED856:
mov r1, #1
mvn r1, r1
cmp r0, r1
beq _021ED902
b _021ED914
_021ED860:
ldr r0, _021ED918 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #0
bl ov14_021F129C
mov r0, #0x42
pop {r4, pc}
_021ED872:
ldr r0, _021ED918 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #1
bl ov14_021F129C
mov r0, #0x42
pop {r4, pc}
_021ED884:
ldr r0, _021ED918 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #2
bl ov14_021F129C
mov r0, #0x42
pop {r4, pc}
_021ED896:
ldr r0, _021ED918 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #3
bl ov14_021F129C
mov r0, #0x42
pop {r4, pc}
_021ED8A8:
ldr r0, _021ED91C ; =0x000005DC
bl PlaySE
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl ov14_021F1228
mov r0, #0x42
pop {r4, pc}
_021ED8BC:
ldr r0, _021ED91C ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #1
bl ov14_021F1228
mov r0, #0x42
pop {r4, pc}
_021ED8CE:
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
add r0, r4, #0
bl ov14_021F131C
pop {r4, pc}
_021ED8E0:
ldr r0, _021ED91C ; =0x000005DC
bl PlaySE
ldr r0, [r4, #0x34]
ldr r0, [r0, #8]
cmp r0, #0
beq _021ED914
add r0, r4, #0
mov r1, #0x49
bl ov14_021F0244
pop {r4, pc}
_021ED8F8:
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
_021ED902:
ldr r0, _021ED91C ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #0xa
mov r2, #0xa6
bl ov14_021F2270
pop {r4, pc}
_021ED914:
mov r0, #0x42
pop {r4, pc}
.balign 4, 0
_021ED918: .word 0x000005DD
_021ED91C: .word 0x000005DC
thumb_func_end ov14_021ED820
thumb_func_start ov14_021ED920
ov14_021ED920: ; 0x021ED920
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8588
ldr r1, _021ED93C ; =ov14_021E9604
add r0, r4, #0
mov r2, #0x44
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021ED93C: .word ov14_021E9604
thumb_func_end ov14_021ED920
thumb_func_start ov14_021ED940
ov14_021ED940: ; 0x021ED940
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E81D8
ldr r1, _021ED95C ; =ov14_021E96A8
add r0, r4, #0
mov r2, #0x45
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021ED95C: .word ov14_021E96A8
thumb_func_end ov14_021ED940
thumb_func_start ov14_021ED960
ov14_021ED960: ; 0x021ED960
ldr r3, _021ED968 ; =ov14_021F1058
mov r1, #0x37
bx r3
nop
_021ED968: .word ov14_021F1058
thumb_func_end ov14_021ED960
thumb_func_start ov14_021ED96C
ov14_021ED96C: ; 0x021ED96C
push {r4, lr}
add r4, r0, #0
ldr r2, [r4, #0x34]
ldr r1, _021ED9A8 ; =0x0000044D
ldrb r1, [r2, r1]
bl ov14_021E78AC
ldr r1, [r4, #0x34]
ldr r0, _021ED9A8 ; =0x0000044D
ldrb r2, [r1, r0]
ldr r0, [r4, #4]
cmp r2, #0x10
bhs _021ED98E
ldrb r1, [r4, #0x1f]
bl sub_02073EC8
b _021ED996
_021ED98E:
ldrb r1, [r4, #0x1f]
add r2, #0x10
bl sub_02073EC8
_021ED996:
add r0, r4, #0
bl ov14_021F4530
ldrb r1, [r4, #0x1f]
add r0, r4, #0
bl ov14_021F4958
mov r0, #0x48
pop {r4, pc}
.balign 4, 0
_021ED9A8: .word 0x0000044D
thumb_func_end ov14_021ED96C
thumb_func_start ov14_021ED9AC
ov14_021ED9AC: ; 0x021ED9AC
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0
mov r3, #2
ldr r0, [r0, #0x18]
add r2, r1, #0
lsl r3, r3, #8
bl sub_020032A4
mov r3, #0
mov r2, #3
str r3, [sp]
mov r0, #0x10
str r0, [sp, #4]
ldr r0, _021ED9E8 ; =0x00007FFF
mov r1, #1
str r0, [sp, #8]
ldr r0, [r4, #0x34]
lsl r2, r2, #0xe
ldr r0, [r0, #0x18]
bl sub_02003370
mov r0, #0x46
str r0, [r4, #0x30]
mov r0, #3
add sp, #0xc
pop {r3, r4, pc}
nop
_021ED9E8: .word 0x00007FFF
thumb_func_end ov14_021ED9AC
thumb_func_start ov14_021ED9EC
ov14_021ED9EC: ; 0x021ED9EC
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
mov r0, #0x10
str r0, [sp]
mov r3, #0
ldr r0, _021EDA18 ; =0x00007FFF
str r3, [sp, #4]
str r0, [sp, #8]
ldr r0, [r4, #0x34]
mov r2, #3
ldr r0, [r0, #0x18]
mov r1, #1
lsl r2, r2, #0xe
bl sub_02003370
mov r0, #0x42
str r0, [r4, #0x30]
mov r0, #3
add sp, #0xc
pop {r3, r4, pc}
nop
_021EDA18: .word 0x00007FFF
thumb_func_end ov14_021ED9EC
thumb_func_start ov14_021EDA1C
ov14_021EDA1C: ; 0x021EDA1C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #1
bl ov14_021F2A18
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #3
bne _021EDA36
mov r0, #0x75
pop {r4, pc}
_021EDA36:
mov r0, #0xc
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021EDA1C
thumb_func_start ov14_021EDA3C
ov14_021EDA3C: ; 0x021EDA3C
push {r3, lr}
ldr r0, [r0, #0x34]
mov r1, #9
mov r2, #1
bl ov14_021F2A18
mov r0, #0x24
pop {r3, pc}
thumb_func_end ov14_021EDA3C
thumb_func_start ov14_021EDA4C
ov14_021EDA4C: ; 0x021EDA4C
push {r3, r4, r5, lr}
add r4, r0, #0
bl ov14_021F6A14
add r5, r0, #0
mov r0, #0
mvn r0, r0
cmp r5, r0
beq _021EDB3C
add r0, r4, #0
add r1, r5, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EDAB8
ldr r2, [r4, #0x34]
ldr r1, _021EDDA4 ; =0x000040B8
add r0, r2, r1
add r1, r1, #4
add r1, r2, r1
bl sub_02025380
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021EDA96
ldr r1, _021EDDA8 ; =0x021F7D2C
add r0, r4, #0
mov r2, #4
bl ov14_021F5EE4
_021EDA96:
ldr r0, _021EDDAC ; =0x000005EB
bl PlaySE
add r0, r4, #0
add r1, r5, #0
bl ov14_021E7588
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
add r0, r4, #0
add r1, r5, #0
bl ov14_021F0418
pop {r3, r4, r5, pc}
_021EDAB8:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #1
bne _021EDB1C
add r0, r4, #0
add r0, #0x21
ldrb r5, [r0]
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
add r1, r5, #0
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
add r1, r5, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r0, [r4, #0x34]
bl ov14_021E884C
add r0, r4, #0
mov r1, #0
bl ov14_021F40E8
ldr r1, _021EDDB0 ; =ov14_021EA130
add r0, r4, #0
mov r2, #0x59
bl ov14_021F0234
pop {r3, r4, r5, pc}
_021EDB1C:
ldr r0, [r4, #0x34]
lsl r1, r5, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
add r0, r4, #0
bl ov14_021E765C
mov r0, #0x51
pop {r3, r4, r5, pc}
_021EDB3C:
add r0, r4, #0
bl ov14_021F6E8C
mov r1, #2
add r5, r0, #0
mvn r1, r1
cmp r5, r1
bhi _021EDB82
blo _021EDB50
b _021EDCBA
_021EDB50:
cmp r5, #0x26
bhi _021EDB76
sub r0, #0x1e
bmi _021EDB80
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021EDB64: ; jump table
.short _021EDC32 - _021EDB64 - 2 ; case 0
.short _021EDC4E - _021EDB64 - 2 ; case 1
.short _021EDC84 - _021EDB64 - 2 ; case 2
.short _021EDCFA - _021EDB64 - 2 ; case 3
.short _021EDB98 - _021EDB64 - 2 ; case 4
.short _021EDBBC - _021EDB64 - 2 ; case 5
.short _021EDBD2 - _021EDB64 - 2 ; case 6
.short _021EDBEC - _021EDB64 - 2 ; case 7
.short _021EDBFE - _021EDB64 - 2 ; case 8
_021EDB76:
mov r0, #3
mvn r0, r0
cmp r5, r0
bne _021EDB80
b _021EDD6C
_021EDB80:
b _021EDDC4
_021EDB82:
add r0, r1, #1
cmp r5, r0
bhi _021EDB8E
bne _021EDB8C
b _021EDD12
_021EDB8C:
b _021EDDC4
_021EDB8E:
add r0, r1, #2
cmp r5, r0
bne _021EDB96
b _021EDD24
_021EDB96:
b _021EDDC4
_021EDB98:
ldr r0, [r4, #8]
bl GetPartyCount
cmp r0, #6
beq _021EDBAA
ldr r0, _021EDDB4 ; =0x000005DD
bl PlaySE
b _021EDBB0
_021EDBAA:
ldr r0, _021EDDB8 ; =0x000005F3
bl PlaySE
_021EDBB0:
add r0, r4, #0
mov r1, #4
mov r2, #0xa7
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EDBBC:
ldr r0, _021EDDB4 ; =0x000005DD
bl PlaySE
mov r0, #0x23
str r0, [r4, #0x2c]
add r0, r4, #0
mov r1, #5
mov r2, #0x97
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EDBD2:
ldr r0, _021EDDB4 ; =0x000005DD
bl PlaySE
ldr r0, [r4, #0x34]
mov r1, #0x27
bl ov14_021F6654
add r0, r4, #0
mov r1, #6
mov r2, #0x99
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EDBEC:
ldr r0, _021EDDB4 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #7
mov r2, #0x9b
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EDBFE:
add r0, r4, #0
add r0, #0x21
ldrb r5, [r0]
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
add r1, r5, #0
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
add r1, r5, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
ldr r0, _021EDDBC ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #0xb
mov r2, #0xa8
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EDC32:
ldr r0, _021EDDB4 ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
ldr r0, [r4, #0x34]
mov r1, #0x27
bl ov14_021F6654
add r0, r4, #0
bl ov14_021F1128
pop {r3, r4, r5, pc}
_021EDC4E:
ldr r0, _021EDDBC ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #0x34]
mov r1, #0x1e
ldr r0, [r0, #0x2c]
bl sub_02019F7C
mov r1, #0
add r0, r4, #0
add r2, r1, #0
mov r3, #0x27
bl ov14_021F685C
add r0, r4, #0
mov r1, #0x51
bl ov14_021F028C
pop {r3, r4, r5, pc}
_021EDC84:
ldr r0, _021EDDBC ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #0x34]
mov r1, #0x1e
ldr r0, [r0, #0x2c]
bl sub_02019F7C
mov r1, #0
add r0, r4, #0
add r2, r1, #0
mov r3, #0x27
bl ov14_021F685C
add r0, r4, #0
mov r1, #0x51
bl ov14_021F0314
pop {r3, r4, r5, pc}
_021EDCBA:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
cmp r1, #0x1e
bhs _021EDCD0
add r0, r4, #0
bl ov14_021E7588
b _021EDCEA
_021EDCD0:
cmp r1, #0x22
beq _021EDCEA
cmp r1, #0x23
beq _021EDCEA
cmp r1, #0x24
beq _021EDCEA
cmp r1, #0x25
beq _021EDCEA
cmp r1, #0x26
beq _021EDCEA
add r0, r4, #0
bl ov14_021E765C
_021EDCEA:
ldr r0, _021EDDBC ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #0x58
bl ov14_021F0244
pop {r3, r4, r5, pc}
_021EDCFA:
ldr r0, _021EDDB4 ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E765C
add r0, r4, #0
mov r1, #0xa
mov r2, #0x93
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EDD12:
ldr r0, _021EDDB4 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #0xa
mov r2, #0x94
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EDD24:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
cmp r0, #0x1e
bne _021EDE12
ldr r0, _021EDDC0 ; =gMain
ldr r1, [r0, #0x48]
mov r0, #0x20
tst r0, r1
beq _021EDD50
ldr r0, _021EDDBC ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #0x51
bl ov14_021F028C
pop {r3, r4, r5, pc}
_021EDD50:
mov r0, #0x10
tst r0, r1
beq _021EDE12
ldr r0, _021EDDBC ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #0x51
bl ov14_021F0314
pop {r3, r4, r5, pc}
_021EDD6C:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
cmp r1, #0x1e
bhs _021EDD82
add r0, r4, #0
bl ov14_021E7588
b _021EDD9C
_021EDD82:
cmp r1, #0x22
beq _021EDD9C
cmp r1, #0x23
beq _021EDD9C
cmp r1, #0x24
beq _021EDD9C
cmp r1, #0x25
beq _021EDD9C
cmp r1, #0x26
beq _021EDD9C
add r0, r4, #0
bl ov14_021E765C
_021EDD9C:
ldr r0, _021EDDBC ; =0x000005DC
bl PlaySE
b _021EDE12
.balign 4, 0
_021EDDA4: .word 0x000040B8
_021EDDA8: .word 0x021F7D2C
_021EDDAC: .word 0x000005EB
_021EDDB0: .word ov14_021EA130
_021EDDB4: .word 0x000005DD
_021EDDB8: .word 0x000005F3
_021EDDBC: .word 0x000005DC
_021EDDC0: .word gMain
_021EDDC4:
add r0, r4, #0
add r1, r5, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EDE12
ldr r0, _021EDE18 ; =0x000005DD
bl PlaySE
ldr r1, _021EDE1C ; =0x021F7D2C
add r0, r4, #0
mov r2, #4
bl ov14_021F5EE4
add r0, r4, #0
add r1, r5, #0
bl ov14_021E7588
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0x22
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
mov r1, #0x22
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r4, #0
add r1, r5, #0
bl ov14_021F04D4
pop {r3, r4, r5, pc}
_021EDE12:
mov r0, #0x51
pop {r3, r4, r5, pc}
nop
_021EDE18: .word 0x000005DD
_021EDE1C: .word 0x021F7D2C
thumb_func_end ov14_021EDA4C
thumb_func_start ov14_021EDE20
ov14_021EDE20: ; 0x021EDE20
push {r4, lr}
mov r1, #0
add r4, r0, #0
add r2, r1, #0
mov r3, #0x27
bl ov14_021F685C
add r0, r4, #0
bl ov14_021EDF90
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021EDE20
thumb_func_start ov14_021EDE38
ov14_021EDE38: ; 0x021EDE38
push {r4, lr}
add r4, r0, #0
bl ov14_021F3044
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7ED0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7EE0
add r0, r4, #0
mov r1, #2
add r0, #0x22
strb r1, [r0]
ldr r1, _021EDE6C ; =ov14_021E9518
add r0, r4, #0
mov r2, #0x54
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021EDE6C: .word ov14_021E9518
thumb_func_end ov14_021EDE38
thumb_func_start ov14_021EDE70
ov14_021EDE70: ; 0x021EDE70
push {r4, lr}
add r4, r0, #0
bl ov14_021F08BC
ldr r1, _021EDE84 ; =ov14_021E91E0
add r0, r4, #0
mov r2, #0x55
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021EDE84: .word ov14_021E91E0
thumb_func_end ov14_021EDE70
thumb_func_start ov14_021EDE88
ov14_021EDE88: ; 0x021EDE88
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldr r0, _021EDF00 ; =0x000005EA
bl PlaySE
add r1, r4, #0
ldr r0, [r4, #0x34]
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r1, r4, #0
ldr r0, [r4, #0x34]
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r0, #0x2c]
bl sub_0201A018
add r1, sp, #0
add r1, #1
add r2, sp, #0
bl sub_02020A0C
mov r0, #0x32
ldr r1, [r4, #0x34]
lsl r0, r0, #4
add r2, sp, #0
ldr r0, [r1, r0]
ldrb r1, [r2, #1]
ldrb r2, [r2]
bl sub_0200DDB8
add r0, r4, #0
mov r1, #0xff
add r0, #0x21
strb r1, [r0]
add r0, r4, #0
bl ov14_021E637C
add r0, r4, #0
bl ov14_021F08F0
add r0, r4, #0
bl ov14_021E765C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7F4C
ldr r1, _021EDF04 ; =ov14_021E9518
add r0, r4, #0
mov r2, #0x56
bl ov14_021F0234
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_021EDF00: .word 0x000005EA
_021EDF04: .word ov14_021E9518
thumb_func_end ov14_021EDE88
thumb_func_start ov14_021EDF08
ov14_021EDF08: ; 0x021EDF08
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r1, _021EDF24 ; =ov14_021E95B4
add r0, r4, #0
mov r2, #0x52
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021EDF24: .word ov14_021E95B4
thumb_func_end ov14_021EDF08
thumb_func_start ov14_021EDF28
ov14_021EDF28: ; 0x021EDF28
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0xc]
add r0, #0xe4
ldr r4, [r0]
ldr r0, _021EDF8C ; =0x000005EA
bl PlaySE
add r0, r5, #0
bl ov14_021E637C
add r0, r5, #0
bl ov14_021F08F0
ldr r0, [r5, #0x34]
mov r1, #0x28
bl ov14_021F6678
add r0, r5, #0
add r0, #0x21
ldrb r1, [r0]
cmp r1, #0xff
bne _021EDF66
mov r1, #0
add r0, r5, #0
add r2, r1, #0
mov r3, #0x27
bl ov14_021F685C
b _021EDF72
_021EDF66:
add r0, r5, #0
mov r2, #1
mov r3, #0x27
bl ov14_021F685C
mov r4, #0x22
_021EDF72:
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r5, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x51
pop {r3, r4, r5, pc}
.balign 4, 0
_021EDF8C: .word 0x000005EA
thumb_func_end ov14_021EDF28
thumb_func_start ov14_021EDF90
ov14_021EDF90: ; 0x021EDF90
push {r3, lr}
ldr r0, [r0, #0x34]
mov r1, #9
mov r2, #1
bl ov14_021F2A18
mov r0, #0x51
pop {r3, pc}
thumb_func_end ov14_021EDF90
thumb_func_start ov14_021EDFA0
ov14_021EDFA0: ; 0x021EDFA0
push {r3, r4, r5, lr}
add r4, r0, #0
bl ov14_021F6A24
add r5, r0, #0
mov r0, #0
mvn r0, r0
cmp r5, r0
beq _021EE0A4
add r1, r5, #0
add r0, r4, #0
add r1, #0x1e
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EE012
ldr r2, [r4, #0x34]
ldr r1, _021EE254 ; =0x000040B8
add r0, r2, r1
add r1, r1, #4
add r1, r2, r1
bl sub_02025380
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021EDFEC
ldr r1, _021EE258 ; =0x021F7D1C
add r0, r4, #0
mov r2, #4
bl ov14_021F5EE4
_021EDFEC:
ldr r0, _021EE25C ; =0x000005EB
bl PlaySE
add r1, r5, #0
add r0, r4, #0
add r1, #0x1e
bl ov14_021E7588
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
add r5, #0x1e
add r0, r4, #0
add r1, r5, #0
bl ov14_021F0660
pop {r3, r4, r5, pc}
_021EE012:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #1
bne _021EE084
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
sub r0, #0x1e
lsl r0, r0, #0x18
lsr r5, r0, #0x18
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
add r1, r5, #0
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
add r1, r5, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r4, #0
mov r1, #0
bl ov14_021F5EB4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r0, [r4, #0x34]
bl ov14_021E884C
add r0, r4, #0
mov r1, #0
bl ov14_021F40E8
ldr r1, _021EE260 ; =ov14_021EA130
add r0, r4, #0
mov r2, #0x70
bl ov14_021F0234
pop {r3, r4, r5, pc}
_021EE084:
ldr r0, [r4, #0x34]
lsl r1, r5, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
add r0, r4, #0
bl ov14_021E765C
mov r0, #0x5b
pop {r3, r4, r5, pc}
_021EE0A4:
add r0, r4, #0
bl ov14_021F6BC0
mov r1, #2
add r5, r0, #0
mvn r1, r1
cmp r5, r1
bhi _021EE0E8
bhs _021EE1AA
cmp r5, #0xb
bhi _021EE0DE
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021EE0C6: ; jump table
.short _021EE1FA - _021EE0C6 - 2 ; case 0
.short _021EE1FA - _021EE0C6 - 2 ; case 1
.short _021EE1FA - _021EE0C6 - 2 ; case 2
.short _021EE1FA - _021EE0C6 - 2 ; case 3
.short _021EE1FA - _021EE0C6 - 2 ; case 4
.short _021EE1FA - _021EE0C6 - 2 ; case 5
.short _021EE1D0 - _021EE0C6 - 2 ; case 6
.short _021EE0FC - _021EE0C6 - 2 ; case 7
.short _021EE10E - _021EE0C6 - 2 ; case 8
.short _021EE124 - _021EE0C6 - 2 ; case 9
.short _021EE13E - _021EE0C6 - 2 ; case 10
.short _021EE150 - _021EE0C6 - 2 ; case 11
_021EE0DE:
mov r0, #3
mvn r0, r0
cmp r5, r0
beq _021EE18A
b _021EE1FA
_021EE0E8:
add r0, r1, #1
cmp r5, r0
bhi _021EE0F2
beq _021EE1E8
b _021EE1FA
_021EE0F2:
add r0, r1, #2
cmp r5, r0
bne _021EE0FA
b _021EE24E
_021EE0FA:
b _021EE1FA
_021EE0FC:
ldr r0, _021EE264 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #4
mov r2, #0xa9
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EE10E:
ldr r0, _021EE264 ; =0x000005DD
bl PlaySE
mov r0, #8
str r0, [r4, #0x2c]
add r0, r4, #0
mov r1, #5
mov r2, #0x97
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EE124:
ldr r0, _021EE264 ; =0x000005DD
bl PlaySE
ldr r0, [r4, #0x34]
mov r1, #0x27
bl ov14_021F6654
add r0, r4, #0
mov r1, #6
mov r2, #0x99
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EE13E:
ldr r0, _021EE264 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #7
mov r2, #0x9b
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EE150:
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
sub r0, #0x1e
lsl r0, r0, #0x18
lsr r5, r0, #0x18
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
add r1, r5, #0
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
add r1, r5, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
ldr r0, _021EE268 ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #0xb
mov r2, #0xaa
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EE18A:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
cmp r1, #6
bhi _021EE1A0
add r0, r4, #0
add r1, #0x1e
bl ov14_021E7588
_021EE1A0:
ldr r0, _021EE268 ; =0x000005DC
bl PlaySE
mov r0, #0x5b
pop {r3, r4, r5, pc}
_021EE1AA:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
cmp r1, #6
bhi _021EE1C0
add r0, r4, #0
add r1, #0x1e
bl ov14_021E7588
_021EE1C0:
ldr r0, _021EE268 ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #0x6f
bl ov14_021F0244
pop {r3, r4, r5, pc}
_021EE1D0:
ldr r0, _021EE264 ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E765C
add r0, r4, #0
mov r1, #0xa
mov r2, #0x93
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EE1E8:
ldr r0, _021EE264 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #0xa
mov r2, #0x94
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EE1FA:
add r1, r5, #0
add r0, r4, #0
add r1, #0x1e
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EE24E
ldr r0, _021EE264 ; =0x000005DD
bl PlaySE
ldr r1, _021EE258 ; =0x021F7D1C
add r0, r4, #0
mov r2, #4
bl ov14_021F5EE4
add r1, r5, #0
add r0, r4, #0
add r1, #0x1e
bl ov14_021E7588
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
mov r1, #7
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
mov r1, #7
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r5, #0x1e
add r0, r4, #0
add r1, r5, #0
bl ov14_021F0794
pop {r3, r4, r5, pc}
_021EE24E:
mov r0, #0x5b
pop {r3, r4, r5, pc}
nop
_021EE254: .word 0x000040B8
_021EE258: .word 0x021F7D1C
_021EE25C: .word 0x000005EB
_021EE260: .word ov14_021EA130
_021EE264: .word 0x000005DD
_021EE268: .word 0x000005DC
thumb_func_end ov14_021EDFA0
thumb_func_start ov14_021EE26C
ov14_021EE26C: ; 0x021EE26C
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x21
ldrb r4, [r1]
sub r4, #0x1e
add r1, r4, #0
bl ov14_021E6480
cmp r0, #0
bne _021EE29A
ldr r0, _021EE320 ; =0x000005F3
bl PlaySE
add r0, r5, #0
mov r1, #6
mov r2, #0x25
bl ov14_021F67B0
mov r0, #0x5d
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, pc}
_021EE29A:
ldr r0, [r5, #8]
add r1, r4, #0
bl GetPartyMonByIndex
mov r1, #6
mov r2, #0
add r4, r0, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_02078068
cmp r0, #1
bne _021EE2D2
ldr r0, _021EE320 ; =0x000005F3
bl PlaySE
add r0, r5, #0
mov r1, #0
mov r2, #6
mov r3, #0x25
bl ov14_021F685C
mov r0, #0x5d
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, pc}
_021EE2D2:
add r0, r4, #0
mov r1, #0xa2
mov r2, #0
bl GetMonData
cmp r0, #0
beq _021EE2FA
ldr r0, _021EE320 ; =0x000005F3
bl PlaySE
add r0, r5, #0
mov r1, #0
mov r2, #5
mov r3, #0x25
bl ov14_021F685C
mov r0, #0x5d
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, pc}
_021EE2FA:
ldrb r1, [r5, #0x1f]
add r0, r5, #0
add r0, #0x25
strb r1, [r0]
add r0, r5, #0
mov r1, #2
mov r2, #1
bl ov14_021F3488
add r0, r5, #0
bl ov14_021F40DC
ldr r1, _021EE324 ; =ov14_021E96C8
add r0, r5, #0
mov r2, #0x5e
bl ov14_021F0234
pop {r3, r4, r5, pc}
nop
_021EE320: .word 0x000005F3
_021EE324: .word ov14_021E96C8
thumb_func_end ov14_021EE26C
thumb_func_start ov14_021EE328
ov14_021EE328: ; 0x021EE328
ldr r3, _021EE330 ; =ov14_021F0234
ldr r1, _021EE334 ; =ov14_021E9450
mov r2, #0xe
bx r3
.balign 4, 0
_021EE330: .word ov14_021F0234
_021EE334: .word ov14_021E9450
thumb_func_end ov14_021EE328
thumb_func_start ov14_021EE338
ov14_021EE338: ; 0x021EE338
push {r4, lr}
add r4, r0, #0
bl ov14_021F4BC0
add r0, r4, #0
bl ov14_021F4848
add r0, r4, #0
bl ov14_021F48B4
add r0, r4, #0
bl ov14_021F57B8
add r0, r4, #0
mov r1, #0x5f
bl ov14_021F10B4
pop {r4, pc}
thumb_func_end ov14_021EE338
thumb_func_start ov14_021EE35C
ov14_021EE35C: ; 0x021EE35C
push {r4, lr}
add r4, r0, #0
bl ov14_021F60A8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8560
ldr r1, _021EE37C ; =ov14_021E95C8
add r0, r4, #0
mov r2, #0x60
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021EE37C: .word ov14_021E95C8
thumb_func_end ov14_021EE35C
thumb_func_start ov14_021EE380
ov14_021EE380: ; 0x021EE380
push {r4, lr}
add r4, r0, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
ldr r0, [r4, #0x34]
ldr r2, _021EE3C4 ; =0x0000043C
str r1, [r0, r2]
ldr r3, [r4, #0x34]
add r0, r4, #0
ldr r2, [r3, r2]
mov r1, #1
bl ov14_021F6AC0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0xe
bl ov14_021F29E4
ldr r0, [r4, #0x34]
mov r1, #0x25
bl ov14_021F6654
add r0, r4, #0
mov r1, #0
mov r2, #3
mov r3, #0x27
bl ov14_021F685C
mov r0, #0x61
pop {r4, pc}
nop
_021EE3C4: .word 0x0000043C
thumb_func_end ov14_021EE380
thumb_func_start ov14_021EE3C8
ov14_021EE3C8: ; 0x021EE3C8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019D18
mov r1, #2
mvn r1, r1
cmp r0, r1
bhi _021EE402
bhs _021EE472
cmp r0, #9
bhi _021EE4A4
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_021EE3EE: ; jump table
.short _021EE40C - _021EE3EE - 2 ; case 0
.short _021EE416 - _021EE3EE - 2 ; case 1
.short _021EE420 - _021EE3EE - 2 ; case 2
.short _021EE42A - _021EE3EE - 2 ; case 3
.short _021EE434 - _021EE3EE - 2 ; case 4
.short _021EE43E - _021EE3EE - 2 ; case 5
.short _021EE448 - _021EE3EE - 2 ; case 6
.short _021EE45A - _021EE3EE - 2 ; case 7
.short _021EE46A - _021EE3EE - 2 ; case 8
.short _021EE48A - _021EE3EE - 2 ; case 9
_021EE402:
mov r1, #1
mvn r1, r1
cmp r0, r1
beq _021EE494
b _021EE4A4
_021EE40C:
add r0, r4, #0
mov r1, #0
bl ov14_021F1448
pop {r4, pc}
_021EE416:
add r0, r4, #0
mov r1, #1
bl ov14_021F1448
pop {r4, pc}
_021EE420:
add r0, r4, #0
mov r1, #2
bl ov14_021F1448
pop {r4, pc}
_021EE42A:
add r0, r4, #0
mov r1, #3
bl ov14_021F1448
pop {r4, pc}
_021EE434:
add r0, r4, #0
mov r1, #4
bl ov14_021F1448
pop {r4, pc}
_021EE43E:
add r0, r4, #0
mov r1, #5
bl ov14_021F1448
pop {r4, pc}
_021EE448:
ldr r0, _021EE4A8 ; =0x000005DC
bl PlaySE
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl ov14_021F1504
pop {r4, pc}
_021EE45A:
ldr r0, _021EE4A8 ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #1
bl ov14_021F1504
pop {r4, pc}
_021EE46A:
add r0, r4, #0
bl ov14_021F1540
pop {r4, pc}
_021EE472:
ldr r0, _021EE4A8 ; =0x000005DC
bl PlaySE
ldr r0, [r4, #0x34]
ldr r0, [r0, #8]
cmp r0, #0
beq _021EE4A4
add r0, r4, #0
mov r1, #0x71
bl ov14_021F0244
pop {r4, pc}
_021EE48A:
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
_021EE494:
ldr r0, _021EE4A8 ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #0
bl ov14_021F1534
pop {r4, pc}
_021EE4A4:
mov r0, #0x61
pop {r4, pc}
.balign 4, 0
_021EE4A8: .word 0x000005DC
thumb_func_end ov14_021EE3C8
thumb_func_start ov14_021EE4AC
ov14_021EE4AC: ; 0x021EE4AC
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8588
ldr r1, _021EE4D4 ; =ov14_021E9604
add r0, r4, #0
mov r2, #0x63
bl ov14_021F0234
pop {r4, pc}
nop
_021EE4D4: .word ov14_021E9604
thumb_func_end ov14_021EE4AC
thumb_func_start ov14_021EE4D8
ov14_021EE4D8: ; 0x021EE4D8
ldr r3, _021EE4E0 ; =ov14_021F10DC
mov r1, #0x64
bx r3
nop
_021EE4E0: .word ov14_021F10DC
thumb_func_end ov14_021EE4D8
thumb_func_start ov14_021EE4E4
ov14_021EE4E4: ; 0x021EE4E4
push {r4, lr}
add r4, r0, #0
bl ov14_021F4CA0
ldr r1, _021EE4F8 ; =ov14_021E98AC
add r0, r4, #0
mov r2, #0x65
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021EE4F8: .word ov14_021E98AC
thumb_func_end ov14_021EE4E4
thumb_func_start ov14_021EE4FC
ov14_021EE4FC: ; 0x021EE4FC
push {r4, lr}
add r4, r0, #0
mov r1, #0
mov r2, #7
bl ov14_021F6AC0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
add r0, r4, #0
bl ov14_021F3F6C
add r0, r4, #0
mov r1, #1
bl ov14_021F40E8
add r0, r4, #0
mov r1, #2
mov r2, #0
bl ov14_021F3488
mov r0, #0xe
pop {r4, pc}
thumb_func_end ov14_021EE4FC
thumb_func_start ov14_021EE538
ov14_021EE538: ; 0x021EE538
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8588
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
ldr r1, _021EE574 ; =ov14_021E99F0
add r0, r4, #0
mov r2, #0x67
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021EE574: .word ov14_021E99F0
thumb_func_end ov14_021EE538
thumb_func_start ov14_021EE578
ov14_021EE578: ; 0x021EE578
push {r4, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x25
ldrb r1, [r1]
ldr r0, [r4, #4]
bl sub_02073F64
cmp r0, #0x1e
bne _021EE5A0
add r0, r4, #0
mov r1, #0
mov r2, #4
mov r3, #0x25
bl ov14_021F685C
mov r0, #0x5e
str r0, [r4, #0x30]
mov r0, #6
pop {r4, pc}
_021EE5A0:
add r0, r4, #0
mov r1, #2
mov r2, #0
bl ov14_021F3488
ldr r0, [r4, #0x34]
mov r1, #0x27
bl ov14_021F6654
add r0, r4, #0
bl ov14_021F4CA0
ldr r1, _021EE5C4 ; =ov14_021E98AC
add r0, r4, #0
mov r2, #0x68
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021EE5C4: .word ov14_021E98AC
thumb_func_end ov14_021EE578
thumb_func_start ov14_021EE5C8
ov14_021EE5C8: ; 0x021EE5C8
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8048
ldr r1, _021EE5E4 ; =ov14_021E952C
add r0, r4, #0
mov r2, #0x69
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021EE5E4: .word ov14_021E952C
thumb_func_end ov14_021EE5C8
thumb_func_start ov14_021EE5E8
ov14_021EE5E8: ; 0x021EE5E8
push {r4, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x25
ldrb r2, [r4, #0x1f]
ldrb r1, [r1]
strb r1, [r4, #0x1f]
add r1, r4, #0
add r1, #0x25
ldrb r1, [r1]
cmp r2, r1
bne _021EE604
mov r0, #0x6a
pop {r4, pc}
_021EE604:
cmp r2, r1
ldrb r1, [r4, #0x1f]
bls _021EE62E
bl ov14_021F2DE8
ldrb r1, [r4, #0x1f]
add r0, r4, #0
bl ov14_021E7930
add r1, r0, #0
add r0, r4, #0
mov r2, #0
bl ov14_021E783C
ldr r0, [r4, #0x34]
mov r1, #0
ldr r0, [r0, #0x2c]
bl sub_02019F94
ldr r1, _021EE65C ; =ov14_021E92AC
b _021EE650
_021EE62E:
bl ov14_021F2DE8
ldrb r1, [r4, #0x1f]
add r0, r4, #0
bl ov14_021E7930
add r1, r0, #0
add r0, r4, #0
mov r2, #1
bl ov14_021E783C
ldr r0, [r4, #0x34]
mov r1, #0
ldr r0, [r0, #0x2c]
bl sub_02019F94
ldr r1, _021EE660 ; =ov14_021E9370
_021EE650:
add r0, r4, #0
mov r2, #0x6a
bl ov14_021F0234
pop {r4, pc}
nop
_021EE65C: .word ov14_021E92AC
_021EE660: .word ov14_021E9370
thumb_func_end ov14_021EE5E8
thumb_func_start ov14_021EE664
ov14_021EE664: ; 0x021EE664
push {r4, lr}
add r4, r0, #0
add r1, r4, #0
mov r2, #2
add r1, #0x22
strb r2, [r1]
bl ov14_021F08BC
ldr r1, _021EE680 ; =ov14_021E9234
add r0, r4, #0
mov r2, #0x6b
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021EE680: .word ov14_021E9234
thumb_func_end ov14_021EE664
thumb_func_start ov14_021EE684
ov14_021EE684: ; 0x021EE684
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r4, [r0, #0xc]
ldr r0, _021EE6C8 ; =0x000005EA
bl PlaySE
add r0, r5, #0
bl ov14_021E637C
add r1, r4, #0
add r1, #0xe4
add r4, #0xe8
ldr r1, [r1]
ldr r2, [r4]
add r0, r5, #0
bl ov14_021E6548
add r0, r5, #0
bl ov14_021F08F0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8094
ldr r1, _021EE6CC ; =ov14_021E954C
add r0, r5, #0
mov r2, #0x6c
bl ov14_021F0234
pop {r3, r4, r5, pc}
nop
_021EE6C8: .word 0x000005EA
_021EE6CC: .word ov14_021E954C
thumb_func_end ov14_021EE684
thumb_func_start ov14_021EE6D0
ov14_021EE6D0: ; 0x021EE6D0
push {r4, lr}
add r4, r0, #0
mov r1, #0
bl ov14_021F5EB4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r1, _021EE6F4 ; =ov14_021E95B4
add r0, r4, #0
mov r2, #0x6d
bl ov14_021F0234
pop {r4, pc}
nop
_021EE6F4: .word ov14_021E95B4
thumb_func_end ov14_021EE6D0
thumb_func_start ov14_021EE6F8
ov14_021EE6F8: ; 0x021EE6F8
push {r4, lr}
mov r1, #0
add r2, r1, #0
add r4, r0, #0
bl ov14_021F6AC0
mov r1, #0
add r0, r4, #0
add r2, r1, #0
mov r3, #0x27
bl ov14_021F685C
add r0, r4, #0
mov r1, #0x1e
bl ov14_021E7588
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
mov r0, #0x5b
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021EE6F8
thumb_func_start ov14_021EE728
ov14_021EE728: ; 0x021EE728
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r4, [r0, #0xc]
ldr r0, _021EE7B0 ; =0x000005EA
bl PlaySE
add r0, r5, #0
bl ov14_021E637C
add r1, r4, #0
add r1, #0xe4
add r4, #0xe8
ldr r1, [r1]
ldr r2, [r4]
add r0, r5, #0
bl ov14_021E6548
add r0, r5, #0
bl ov14_021F08F0
ldr r0, [r5, #0x34]
mov r1, #0x28
bl ov14_021F6678
add r0, r5, #0
add r0, #0x21
ldrb r1, [r0]
cmp r1, #0xff
bne _021EE78E
mov r1, #0
add r0, r5, #0
add r2, r1, #0
mov r3, #0x27
bl ov14_021F685C
ldr r0, [r5, #0x34]
mov r1, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
ldr r0, [r5, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
add r0, r5, #0
mov r1, #0x1e
bl ov14_021E7588
b _021EE7AC
_021EE78E:
add r0, r5, #0
mov r2, #1
mov r3, #0x27
bl ov14_021F685C
ldr r0, [r5, #0x34]
mov r1, #7
ldr r0, [r0, #0x2c]
bl sub_02019F7C
ldr r0, [r5, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
_021EE7AC:
mov r0, #0x5b
pop {r3, r4, r5, pc}
.balign 4, 0
_021EE7B0: .word 0x000005EA
thumb_func_end ov14_021EE728
thumb_func_start ov14_021EE7B4
ov14_021EE7B4: ; 0x021EE7B4
push {r3, lr}
ldr r0, [r0, #0x34]
ldr r0, [r0, #0xc]
bl FreeToHeap
mov r0, #0xc
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021EE7B4
thumb_func_start ov14_021EE7C4
ov14_021EE7C4: ; 0x021EE7C4
push {r3, lr}
ldr r0, [r0, #0x34]
ldr r0, [r0, #0xc]
bl FreeToHeap
mov r0, #0x29
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021EE7C4
thumb_func_start ov14_021EE7D4
ov14_021EE7D4: ; 0x021EE7D4
push {r3, lr}
ldr r0, [r0, #0x34]
ldr r0, [r0, #0xc]
bl FreeToHeap
mov r0, #0x24
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021EE7D4
thumb_func_start ov14_021EE7E4
ov14_021EE7E4: ; 0x021EE7E4
push {r3, lr}
ldr r0, [r0, #0x34]
ldr r0, [r0, #0xc]
bl FreeToHeap
mov r0, #0x5b
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021EE7E4
thumb_func_start ov14_021EE7F4
ov14_021EE7F4: ; 0x021EE7F4
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
ldr r0, [r0, #0xc]
bl FreeToHeap
mov r1, #0
add r0, r4, #0
add r2, r1, #0
mov r3, #0x27
bl ov14_021F685C
mov r0, #0x5b
pop {r4, pc}
thumb_func_end ov14_021EE7F4
thumb_func_start ov14_021EE810
ov14_021EE810: ; 0x021EE810
push {r3, lr}
ldr r0, [r0, #0x34]
ldr r0, [r0, #0xc]
bl FreeToHeap
mov r0, #0x61
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021EE810
thumb_func_start ov14_021EE820
ov14_021EE820: ; 0x021EE820
push {r3, lr}
ldr r0, [r0, #0x34]
ldr r0, [r0, #0xc]
bl FreeToHeap
mov r0, #0x16
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021EE820
thumb_func_start ov14_021EE830
ov14_021EE830: ; 0x021EE830
push {r3, lr}
ldr r0, [r0, #0x34]
ldr r0, [r0, #0xc]
bl FreeToHeap
mov r0, #0x3d
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021EE830
thumb_func_start ov14_021EE840
ov14_021EE840: ; 0x021EE840
push {r3, lr}
ldr r0, [r0, #0x34]
ldr r0, [r0, #0xc]
bl FreeToHeap
mov r0, #0x42
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021EE840
thumb_func_start ov14_021EE850
ov14_021EE850: ; 0x021EE850
push {r3, lr}
ldr r0, [r0, #0x34]
ldr r0, [r0, #0xc]
bl FreeToHeap
mov r0, #0x51
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021EE850
thumb_func_start ov14_021EE860
ov14_021EE860: ; 0x021EE860
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
ldr r0, [r0, #0xc]
bl FreeToHeap
mov r1, #0
add r0, r4, #0
add r2, r1, #0
mov r3, #0x27
bl ov14_021F685C
mov r0, #0x51
pop {r4, pc}
thumb_func_end ov14_021EE860
thumb_func_start ov14_021EE87C
ov14_021EE87C: ; 0x021EE87C
push {r3, r4, r5, lr}
add r4, r0, #0
bl ov14_021F6A14
add r5, r0, #0
mov r0, #0
mvn r0, r0
cmp r5, r0
beq _021EE976
add r0, r4, #0
add r1, r5, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EE8CE
ldr r0, _021EEBDC ; =0x000005EB
bl PlaySE
ldr r2, [r4, #0x34]
ldr r1, _021EEBE0 ; =0x000040B8
add r0, r2, r1
add r1, r1, #4
add r1, r2, r1
bl sub_02025380
add r0, r4, #0
add r1, r5, #0
bl ov14_021E7588
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
add r0, r4, #0
add r1, r5, #0
bl ov14_021F18B0
pop {r3, r4, r5, pc}
_021EE8CE:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #1
bne _021EE956
add r0, r4, #0
add r0, #0x21
ldrb r5, [r0]
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
add r1, r5, #0
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
add r1, r5, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8248
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E82A8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
add r0, r4, #0
bl ov14_021F40DC
ldr r1, [r4, #0x34]
ldr r0, _021EEBE4 ; =0x000088C8
ldrh r0, [r1, r0]
cmp r0, #0
beq _021EE94A
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88F8
_021EE94A:
ldr r1, _021EEBE8 ; =ov14_021EA674
add r0, r4, #0
mov r2, #0x76
bl ov14_021F0234
pop {r3, r4, r5, pc}
_021EE956:
ldr r0, [r4, #0x34]
lsl r1, r5, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
add r0, r4, #0
bl ov14_021E765C
mov r0, #0x75
pop {r3, r4, r5, pc}
_021EE976:
add r0, r4, #0
bl ov14_021F74B0
mov r1, #2
add r5, r0, #0
mvn r1, r1
cmp r5, r1
bhi _021EE9BA
blo _021EE98A
b _021EEB08
_021EE98A:
cmp r5, #0x25
bhi _021EE9AE
sub r0, #0x1e
bmi _021EE9B8
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021EE99E: ; jump table
.short _021EE9CE - _021EE99E - 2 ; case 0
.short _021EE9EC - _021EE99E - 2 ; case 1
.short _021EEA20 - _021EE99E - 2 ; case 2
.short _021EEA54 - _021EE99E - 2 ; case 3
.short _021EEA66 - _021EE99E - 2 ; case 4
.short _021EEB3C - _021EE99E - 2 ; case 5
.short _021EEA78 - _021EE99E - 2 ; case 6
.short _021EEA8A - _021EE99E - 2 ; case 7
_021EE9AE:
mov r0, #3
mvn r0, r0
cmp r5, r0
bne _021EE9B8
b _021EEB66
_021EE9B8:
b _021EEB92
_021EE9BA:
add r0, r1, #1
cmp r5, r0
bhi _021EE9C6
bne _021EE9C4
b _021EEB54
_021EE9C4:
b _021EEB92
_021EE9C6:
add r0, r1, #2
cmp r5, r0
beq _021EEABE
b _021EEB92
_021EE9CE:
ldr r0, _021EEBEC ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
add r0, r4, #0
bl ov14_021F1128
pop {r3, r4, r5, pc}
_021EE9EC:
ldr r0, _021EEBF0 ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #0x34]
mov r1, #0x1e
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r4, #0
mov r1, #0x75
bl ov14_021F028C
pop {r3, r4, r5, pc}
_021EEA20:
ldr r0, _021EEBF0 ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #0x34]
mov r1, #0x1e
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r4, #0
mov r1, #0x75
bl ov14_021F0314
pop {r3, r4, r5, pc}
_021EEA54:
ldr r0, _021EEBF4 ; =0x00000632
bl PlaySE
add r0, r4, #0
mov r1, #8
mov r2, #0xab
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EEA66:
ldr r0, _021EEBF4 ; =0x00000632
bl PlaySE
add r0, r4, #0
mov r1, #9
mov r2, #0xac
bl ov14_021F2330
pop {r3, r4, r5, pc}
_021EEA78:
ldr r0, _021EEBEC ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #7
mov r2, #0xad
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EEA8A:
ldr r0, _021EEBF0 ; =0x000005DC
bl PlaySE
add r0, r4, #0
add r0, #0x21
ldrb r5, [r0]
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
add r1, r5, #0
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
add r1, r5, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r4, #0
mov r1, #0xb
mov r2, #0xae
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EEABE:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
cmp r0, #0x1e
beq _021EEACC
b _021EEBD6
_021EEACC:
ldr r0, _021EEBF8 ; =gMain
ldr r1, [r0, #0x48]
mov r0, #0x20
tst r0, r1
beq _021EEAEC
ldr r0, _021EEBF0 ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #0x75
bl ov14_021F028C
pop {r3, r4, r5, pc}
_021EEAEC:
mov r0, #0x10
tst r0, r1
beq _021EEBD6
ldr r0, _021EEBF0 ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #0x75
bl ov14_021F0314
pop {r3, r4, r5, pc}
_021EEB08:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
cmp r1, #0x1e
bhs _021EEB1E
add r0, r4, #0
bl ov14_021E7588
b _021EEB2C
_021EEB1E:
cmp r1, #0x24
beq _021EEB2C
cmp r1, #0x25
beq _021EEB2C
add r0, r4, #0
bl ov14_021E765C
_021EEB2C:
ldr r0, _021EEBF0 ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #0x76
bl ov14_021F0244
pop {r3, r4, r5, pc}
_021EEB3C:
ldr r0, _021EEBEC ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E765C
add r0, r4, #0
mov r1, #0xa
mov r2, #0x93
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EEB54:
ldr r0, _021EEBEC ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #0xa
mov r2, #0x94
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EEB66:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
cmp r1, #0x1e
bhs _021EEB7C
add r0, r4, #0
bl ov14_021E7588
b _021EEB8A
_021EEB7C:
cmp r1, #0x24
beq _021EEB8A
cmp r1, #0x25
beq _021EEB8A
add r0, r4, #0
bl ov14_021E765C
_021EEB8A:
ldr r0, _021EEBF0 ; =0x000005DC
bl PlaySE
b _021EEBD6
_021EEB92:
add r0, r4, #0
add r1, r5, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EEBD6
ldr r0, _021EEBEC ; =0x000005DD
bl PlaySE
add r0, r4, #0
add r1, r5, #0
bl ov14_021E7588
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0x24
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
mov r1, #0x24
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r4, #0
add r1, r5, #0
bl ov14_021F1808
pop {r3, r4, r5, pc}
_021EEBD6:
mov r0, #0x75
pop {r3, r4, r5, pc}
nop
_021EEBDC: .word 0x000005EB
_021EEBE0: .word 0x000040B8
_021EEBE4: .word 0x000088C8
_021EEBE8: .word ov14_021EA674
_021EEBEC: .word 0x000005DD
_021EEBF0: .word 0x000005DC
_021EEBF4: .word 0x00000632
_021EEBF8: .word gMain
thumb_func_end ov14_021EE87C
thumb_func_start ov14_021EEBFC
ov14_021EEBFC: ; 0x021EEBFC
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0xb
bl ov14_021F2A44
cmp r0, #1
bne _021EEC30
add r0, r4, #0
bl ov14_021F40DC
ldr r0, [r4, #0x34]
mov r1, #1
bl ov14_021F391C
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #2
bl ov14_021F29E4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88F8
_021EEC30:
ldr r0, [r4, #0x34]
mov r1, #0x25
bl ov14_021F6654
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
bhs _021EEC72
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8248
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E82A8
add r0, r4, #0
mov r1, #0x81
mov r2, #1
bl ov14_021F3488
b _021EEC7C
_021EEC72:
add r0, r4, #0
mov r1, #0x82
mov r2, #1
bl ov14_021F3488
_021EEC7C:
ldr r1, _021EEC88 ; =ov14_021E9450
add r0, r4, #0
mov r2, #0x7b
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021EEC88: .word ov14_021E9450
thumb_func_end ov14_021EEBFC
thumb_func_start ov14_021EEC8C
ov14_021EEC8C: ; 0x021EEC8C
push {r3, lr}
ldr r0, [r0, #0x34]
ldr r0, [r0, #0xc]
bl FreeToHeap
mov r0, #0x75
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021EEC8C
thumb_func_start ov14_021EEC9C
ov14_021EEC9C: ; 0x021EEC9C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
blo _021EED0C
ldr r1, [r5, #0x34]
ldr r0, _021EED20 ; =0x000088C8
ldrh r0, [r1, r0]
bl sub_02078068
cmp r0, #1
bne _021EED0C
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
sub r0, #0x1e
lsl r0, r0, #0x10
lsr r4, r0, #0x10
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r5, #0x34]
add r1, r4, #0
ldr r0, [r0, #0x2c]
bl sub_0201A018
add r1, sp, #0
add r1, #1
add r2, sp, #0
bl sub_02020A0C
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r2, sp, #0
ldr r0, [r1, r0]
ldrb r1, [r2, #1]
ldrb r2, [r2]
bl sub_0200DDB8
ldr r0, _021EED24 ; =0x000005F3
bl PlaySE
add r0, r5, #0
mov r1, #4
mov r2, #0x25
bl ov14_021F68C0
mov r0, #0x77
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, pc}
_021EED0C:
add r0, r5, #0
mov r1, #2
mov r2, #0x25
bl ov14_021F68C0
add r0, r5, #0
mov r1, #2
bl ov14_021F0254
pop {r3, r4, r5, pc}
.balign 4, 0
_021EED20: .word 0x000088C8
_021EED24: .word 0x000005F3
thumb_func_end ov14_021EEC9C
thumb_func_start ov14_021EED28
ov14_021EED28: ; 0x021EED28
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
mov r1, #0xb
bl ov14_021F2A04
cmp r0, #0
bne _021EEDAE
add r0, r5, #0
add r0, #0x21
ldrb r4, [r0]
cmp r4, #0x1e
blo _021EED48
sub r4, #0x1e
lsl r0, r4, #0x10
lsr r4, r0, #0x10
_021EED48:
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r5, #0x34]
add r1, r4, #0
ldr r0, [r0, #0x2c]
bl sub_0201A018
add r1, sp, #0
add r1, #1
add r2, sp, #0
bl sub_02020A0C
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r2, sp, #0
ldr r0, [r1, r0]
ldrb r1, [r2, #1]
ldrb r2, [r2]
bl sub_0200DDB8
ldr r0, [r5, #0x34]
mov r1, #0
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
add r0, r5, #0
mov r1, #3
mov r2, #0x25
bl ov14_021F68C0
add r0, r5, #0
mov r1, #0
bl ov14_021F5FBC
ldr r1, [r5, #0x34]
ldr r0, _021EEDB4 ; =0x000088C8
mov r2, #0
strh r2, [r1, r0]
mov r0, #0x77
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, pc}
_021EEDAE:
mov r0, #0x79
pop {r3, r4, r5, pc}
nop
_021EEDB4: .word 0x000088C8
thumb_func_end ov14_021EED28
thumb_func_start ov14_021EEDB8
ov14_021EEDB8: ; 0x021EEDB8
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x21
ldrb r4, [r1]
cmp r4, #0x1e
bhs _021EEDEA
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8248
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E82A8
add r0, r5, #0
mov r1, #0x81
mov r2, #1
bl ov14_021F3488
b _021EEDF8
_021EEDEA:
sub r4, #0x1e
lsl r1, r4, #0x10
lsr r4, r1, #0x10
mov r1, #0x82
mov r2, #1
bl ov14_021F3488
_021EEDF8:
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r5, #0x34]
add r1, r4, #0
ldr r0, [r0, #0x2c]
bl sub_0201A018
add r1, sp, #0
add r1, #1
add r2, sp, #0
bl sub_02020A0C
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r2, sp, #0
ldr r0, [r1, r0]
ldrb r1, [r2, #1]
ldrb r2, [r2]
bl sub_0200DDB8
add r0, r5, #0
bl ov14_021F40DC
ldr r0, [r5, #0x34]
mov r1, #1
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #2
bl ov14_021F29E4
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88F8
ldr r0, [r5, #0x34]
mov r1, #0x25
bl ov14_021F6654
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
bhs _021EEE78
add r0, r5, #0
mov r1, #0x81
mov r2, #1
bl ov14_021F3488
b _021EEE82
_021EEE78:
add r0, r5, #0
mov r1, #0x82
mov r2, #1
bl ov14_021F3488
_021EEE82:
ldr r1, _021EEE90 ; =ov14_021E9450
add r0, r5, #0
mov r2, #0x7b
bl ov14_021F0234
pop {r3, r4, r5, pc}
nop
_021EEE90: .word ov14_021E9450
thumb_func_end ov14_021EEDB8
thumb_func_start ov14_021EEE94
ov14_021EEE94: ; 0x021EEE94
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0xb
bl ov14_021F2A04
cmp r0, #1
bne _021EEEA8
mov r0, #0x7b
pop {r4, pc}
_021EEEA8:
ldr r0, [r4, #0x34]
mov r1, #0
bl ov14_021F391C
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #1
bl ov14_021F2A18
add r4, #0x21
ldrb r0, [r4]
cmp r0, #0x1e
blo _021EEED0
mov r0, #0x8b
pop {r4, pc}
_021EEED0:
mov r0, #0x75
pop {r4, pc}
thumb_func_end ov14_021EEE94
thumb_func_start ov14_021EEED4
ov14_021EEED4: ; 0x021EEED4
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x21
ldrb r4, [r0]
cmp r4, #0x1e
blo _021EEEE6
sub r4, #0x1e
lsl r0, r4, #0x10
lsr r4, r0, #0x10
_021EEEE6:
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r5, #0x34]
add r1, r4, #0
ldr r0, [r0, #0x2c]
bl sub_0201A018
add r1, sp, #0
add r1, #1
add r2, sp, #0
bl sub_02020A0C
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r2, sp, #0
ldr r0, [r1, r0]
ldrb r1, [r2, #1]
ldrb r2, [r2]
bl sub_0200DDB8
ldr r0, _021EEF30 ; =0x000005F3
bl PlaySE
add r0, r5, #0
mov r1, #5
mov r2, #0x25
bl ov14_021F68C0
mov r0, #0x77
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, pc}
.balign 4, 0
_021EEF30: .word 0x000005F3
thumb_func_end ov14_021EEED4
thumb_func_start ov14_021EEF34
ov14_021EEF34: ; 0x021EEF34
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x21
ldrb r4, [r0]
cmp r4, #0x1e
blo _021EEF46
sub r4, #0x1e
lsl r0, r4, #0x10
lsr r4, r0, #0x10
_021EEF46:
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r5, #0x34]
add r1, r4, #0
ldr r0, [r0, #0x2c]
bl sub_0201A018
add r1, sp, #0
add r1, #1
add r2, sp, #0
bl sub_02020A0C
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r2, sp, #0
ldr r0, [r1, r0]
ldrb r1, [r2, #1]
ldrb r2, [r2]
bl sub_0200DDB8
ldrh r1, [r5, #0x1c]
add r0, r5, #0
mov r2, #0x25
bl ov14_021F6768
mov r0, #0x77
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021EEF34
thumb_func_start ov14_021EEF8C
ov14_021EEF8C: ; 0x021EEF8C
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r2, [r5, #0x34]
add r0, #0x21
ldr r4, [r2, #0xc]
ldrb r0, [r0]
ldrh r1, [r4]
cmp r1, r0
beq _021EEFA6
ldr r0, _021EF01C ; =0x000088C8
ldrh r0, [r2, r0]
cmp r0, #0
bne _021EEFE2
_021EEFA6:
add r0, r5, #0
bl ov14_021F1F38
ldr r1, [r5, #0x34]
ldr r0, _021EF01C ; =0x000088C8
ldrh r0, [r1, r0]
cmp r0, #0
beq _021EEFCA
ldr r0, _021EF020 ; =0x000005EA
bl PlaySE
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
mov r2, #0
bl ov14_021F34C8
_021EEFCA:
ldr r0, [r5, #0x34]
mov r1, #0x24
ldr r0, [r0, #0x2c]
bl sub_02019F7C
ldr r0, [r5, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x75
pop {r3, r4, r5, pc}
_021EEFE2:
ldr r0, _021EF020 ; =0x000005EA
bl PlaySE
ldrh r1, [r4]
ldr r0, [r5, #0x34]
mov r2, #0
bl ov14_021F34C8
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
mov r2, #1
bl ov14_021F34C8
add r0, r5, #0
bl ov14_021F40DC
ldr r0, [r5, #0x34]
mov r1, #1
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #2
bl ov14_021F29E4
mov r0, #0x7f
pop {r3, r4, r5, pc}
.balign 4, 0
_021EF01C: .word 0x000088C8
_021EF020: .word 0x000005EA
thumb_func_end ov14_021EEF8C
thumb_func_start ov14_021EF024
ov14_021EF024: ; 0x021EF024
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
mov r1, #0xb
bl ov14_021F2A04
cmp r0, #1
bne _021EF038
mov r0, #0x7f
pop {r3, r4, r5, r6, r7, pc}
_021EF038:
ldr r0, [r5, #0x34]
mov r1, #0
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
ldr r0, [r5, #0x34]
mov r2, #6
ldr r4, [r0, #0xc]
add r0, r5, #0
ldrh r1, [r4]
mov r3, #0
bl ov14_021E6070
lsl r0, r0, #0x10
lsr r7, r0, #0x10
ldrh r1, [r4]
ldr r6, [r5, #0x34]
ldr r3, _021EF17C ; =0x000088C8
add r0, r5, #0
mov r2, #6
add r3, r6, r3
bl ov14_021E6094
ldrb r1, [r5, #0x1f]
ldrh r2, [r4]
add r0, r5, #0
bl ov14_021E60C0
bl ov14_021E64D0
cmp r0, #1
bne _021EF092
ldrh r2, [r4]
ldr r3, [r5, #0x34]
ldrb r1, [r5, #0x1f]
add r6, r3, r2
ldr r3, _021EF180 ; =0x00004094
add r0, r5, #0
ldrb r3, [r6, r3]
bl ov14_021F2ED0
_021EF092:
ldrh r1, [r4]
add r0, r5, #0
bl ov14_021E7588
add r1, r5, #0
ldr r0, [r5, #0x34]
ldr r3, _021EF17C ; =0x000088C8
add r1, #0x21
strh r7, [r0, r3]
ldr r6, [r5, #0x34]
ldrb r1, [r1]
add r0, r5, #0
mov r2, #6
add r3, r6, r3
bl ov14_021E6094
add r2, r5, #0
add r2, #0x21
ldrb r1, [r5, #0x1f]
ldrb r2, [r2]
add r0, r5, #0
bl ov14_021E60C0
bl ov14_021E64D0
cmp r0, #1
bne _021EF0DE
add r0, r5, #0
add r0, #0x21
ldrb r2, [r0]
ldr r3, [r5, #0x34]
ldrb r1, [r5, #0x1f]
add r6, r3, r2
ldr r3, _021EF180 ; =0x00004094
add r0, r5, #0
ldrb r3, [r6, r3]
bl ov14_021F2ED0
_021EF0DE:
ldr r1, [r5, #0x34]
ldr r0, _021EF17C ; =0x000088C8
ldrh r0, [r1, r0]
cmp r0, #0
bne _021EF13E
ldrh r1, [r4]
add r0, r5, #0
add r0, #0x21
strb r1, [r0]
add r0, r5, #0
bl ov14_021F1F38
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8248
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E82A8
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
add r1, r5, #0
ldr r0, [r5, #0x34]
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r0, #0x2c]
bl sub_02019F7C
ldr r0, [r5, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
ldr r1, _021EF184 ; =ov14_021E94BC
add r0, r5, #0
mov r2, #0x75
bl ov14_021F0234
pop {r3, r4, r5, r6, r7, pc}
_021EF13E:
ldr r0, _021EF188 ; =0x000005EB
bl PlaySE
ldr r0, [r5, #0x34]
ldr r1, _021EF17C ; =0x000088C8
ldrh r1, [r0, r1]
bl ov14_021F3844
ldr r0, [r5, #0x34]
mov r1, #1
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F29E4
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F2A18
ldr r0, [r5, #0x34]
bl ov14_021F39D0
ldr r1, _021EF18C ; =ov14_021EA728
add r0, r5, #0
mov r2, #0x80
bl ov14_021F0234
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021EF17C: .word 0x000088C8
_021EF180: .word 0x00004094
_021EF184: .word ov14_021E94BC
_021EF188: .word 0x000005EB
_021EF18C: .word ov14_021EA728
thumb_func_end ov14_021EF024
thumb_func_start ov14_021EF190
ov14_021EF190: ; 0x021EF190
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
mov r2, #0
ldr r4, [r0, #0xc]
ldrh r1, [r4]
bl ov14_021F34C8
ldr r0, _021EF1E8 ; =0x000005EA
bl PlaySE
add r0, r5, #0
bl ov14_021F40DC
ldr r0, [r5, #0x34]
mov r1, #1
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #2
bl ov14_021F29E4
add r1, r5, #0
ldr r0, [r5, #0x34]
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r0, #0x2c]
bl sub_02019F7C
ldr r0, [r5, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
add r0, r5, #0
ldrh r1, [r4]
add r0, #0x21
strb r1, [r0]
add r0, r5, #0
bl ov14_021F1F38
mov r0, #0x81
pop {r3, r4, r5, pc}
.balign 4, 0
_021EF1E8: .word 0x000005EA
thumb_func_end ov14_021EF190
thumb_func_start ov14_021EF1EC
ov14_021EF1EC: ; 0x021EF1EC
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0xb
bl ov14_021F2A04
cmp r0, #1
bne _021EF200
mov r0, #0x81
pop {r4, pc}
_021EF200:
ldr r0, [r4, #0x34]
mov r1, #0
bl ov14_021F391C
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8248
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E82A8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r1, _021EF244 ; =ov14_021E94BC
add r0, r4, #0
mov r2, #0x75
bl ov14_021F0234
pop {r4, pc}
nop
_021EF244: .word ov14_021E94BC
thumb_func_end ov14_021EF1EC
thumb_func_start ov14_021EF248
ov14_021EF248: ; 0x021EF248
push {r3, r4, r5, lr}
add r4, r0, #0
bl ov14_021F6A34
add r5, r0, #0
mov r0, #0
mvn r0, r0
cmp r5, r0
beq _021EF2E2
add r1, r5, #0
add r0, r4, #0
add r1, #0x1e
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EF28C
add r1, r5, #0
add r0, r4, #0
add r1, #0x1e
bl ov14_021E7588
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
add r5, #0x1e
add r0, r4, #0
add r1, r5, #0
bl ov14_021F19F0
pop {r3, r4, r5, pc}
_021EF28C:
add r0, r4, #0
bl ov14_021E765C
ldr r0, [r4, #0x34]
add r5, #0x1e
lsl r1, r5, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #1
bne _021EF2C4
add r0, r4, #0
mov r1, #0x82
bl ov14_021F0EE8
pop {r3, r4, r5, pc}
_021EF2C4:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021EF2DE
add r0, r4, #0
mov r1, #0x82
bl ov14_021F0D34
pop {r3, r4, r5, pc}
_021EF2DE:
mov r0, #0x82
pop {r3, r4, r5, pc}
_021EF2E2:
bl ov14_021F6A14
add r5, r0, #0
mov r0, #0
mvn r0, r0
cmp r5, r0
beq _021EF370
add r0, r4, #0
add r1, r5, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EF31C
add r0, r4, #0
add r1, r5, #0
bl ov14_021E7588
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
add r0, r4, #0
add r1, r5, #0
bl ov14_021F19F0
pop {r3, r4, r5, pc}
_021EF31C:
add r0, r4, #0
bl ov14_021E765C
ldr r0, [r4, #0x34]
lsl r1, r5, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #1
bne _021EF352
add r0, r4, #0
mov r1, #0x82
bl ov14_021F0EE8
pop {r3, r4, r5, pc}
_021EF352:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021EF36C
add r0, r4, #0
mov r1, #0x82
bl ov14_021F0D34
pop {r3, r4, r5, pc}
_021EF36C:
mov r0, #0x82
pop {r3, r4, r5, pc}
_021EF370:
add r0, r4, #0
bl ov14_021F7B7C
cmp r0, #1
bne _021EF3B8
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r5, r0, #0
add r0, r4, #0
add r1, r5, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EF3B4
ldr r0, _021EF6C8 ; =0x000005DD
bl PlaySE
add r0, r4, #0
add r0, #0x21
strb r5, [r0]
add r0, r4, #0
mov r1, #1
add r0, #0x26
strb r1, [r0]
add r0, r4, #0
mov r1, #0xf
mov r2, #0x97
bl ov14_021F2330
pop {r3, r4, r5, pc}
_021EF3B4:
mov r0, #0x82
pop {r3, r4, r5, pc}
_021EF3B8:
add r0, r4, #0
bl ov14_021F70C0
mov r1, #2
add r5, r0, #0
mvn r1, r1
cmp r5, r1
bhi _021EF3FE
blo _021EF3CC
b _021EF5A6
_021EF3CC:
cmp r5, #0x2d
bhi _021EF3F4
sub r0, #0x24
bmi _021EF3FC
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021EF3E0: ; jump table
.short _021EF63A - _021EF3E0 - 2 ; case 0
.short _021EF414 - _021EF3E0 - 2 ; case 1
.short _021EF42A - _021EF3E0 - 2 ; case 2
.short _021EF440 - _021EF3E0 - 2 ; case 3
.short _021EF456 - _021EF3E0 - 2 ; case 4
.short _021EF46C - _021EF3E0 - 2 ; case 5
.short _021EF482 - _021EF3E0 - 2 ; case 6
.short _021EF498 - _021EF3E0 - 2 ; case 7
.short _021EF50A - _021EF3E0 - 2 ; case 8
.short _021EF57A - _021EF3E0 - 2 ; case 9
_021EF3F4:
mov r0, #3
mvn r0, r0
cmp r5, r0
beq _021EF410
_021EF3FC:
b _021EF6A2
_021EF3FE:
add r0, r1, #1
cmp r5, r0
bhi _021EF40A
bne _021EF408
b _021EF64C
_021EF408:
b _021EF6A2
_021EF40A:
add r0, r1, #2
cmp r5, r0
bne _021EF412
_021EF410:
b _021EF6C4
_021EF412:
b _021EF6A2
_021EF414:
ldr r0, _021EF6C8 ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #0
bl ov14_021F0D58
pop {r3, r4, r5, pc}
_021EF42A:
ldr r0, _021EF6C8 ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #1
bl ov14_021F0D58
pop {r3, r4, r5, pc}
_021EF440:
ldr r0, _021EF6C8 ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #2
bl ov14_021F0D58
pop {r3, r4, r5, pc}
_021EF456:
ldr r0, _021EF6C8 ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #3
bl ov14_021F0D58
pop {r3, r4, r5, pc}
_021EF46C:
ldr r0, _021EF6C8 ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #4
bl ov14_021F0D58
pop {r3, r4, r5, pc}
_021EF482:
ldr r0, _021EF6C8 ; =0x000005DD
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #5
bl ov14_021F0D58
pop {r3, r4, r5, pc}
_021EF498:
ldr r0, _021EF6CC ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl ov14_021F1004
add r0, r4, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
ldr r0, [r4, #0x34]
add r1, #0x25
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #1
bne _021EF4EC
add r0, r4, #0
mov r1, #0x82
bl ov14_021F0EE8
pop {r3, r4, r5, pc}
_021EF4EC:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021EF506
add r0, r4, #0
mov r1, #0x82
bl ov14_021F0D34
pop {r3, r4, r5, pc}
_021EF506:
mov r0, #0x82
pop {r3, r4, r5, pc}
_021EF50A:
ldr r0, _021EF6CC ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #1
bl ov14_021F1004
add r0, r4, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
ldr r0, [r4, #0x34]
add r1, #0x25
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #1
bne _021EF55C
add r0, r4, #0
mov r1, #0x82
bl ov14_021F0EE8
pop {r3, r4, r5, pc}
_021EF55C:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021EF576
add r0, r4, #0
mov r1, #0x82
bl ov14_021F0D34
pop {r3, r4, r5, pc}
_021EF576:
mov r0, #0x82
pop {r3, r4, r5, pc}
_021EF57A:
ldr r0, _021EF6CC ; =0x000005DC
bl PlaySE
add r0, r4, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
ldr r0, [r4, #0x34]
add r1, #0x25
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
add r0, r4, #0
mov r1, #0xe
mov r2, #0xaf
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EF5A6:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
cmp r1, #0x24
bhs _021EF600
add r0, r4, #0
bl ov14_021E7588
cmp r0, #1
ldr r1, [r4, #0x34]
bne _021EF5E4
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #0
bne _021EF622
add r0, r4, #0
mov r1, #0
bl ov14_021F6408
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8620
b _021EF622
_021EF5E4:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021EF622
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
b _021EF622
_021EF600:
add r0, r4, #0
bl ov14_021E765C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021EF622
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
_021EF622:
ldr r0, _021EF6CC ; =0x000005DC
bl PlaySE
ldr r0, [r4, #0x34]
ldr r0, [r0, #8]
cmp r0, #0
beq _021EF6C4
add r0, r4, #0
mov r1, #0x83
bl ov14_021F0244
pop {r3, r4, r5, pc}
_021EF63A:
ldr r0, _021EF6D0 ; =0x00000633
bl PlaySE
add r0, r4, #0
mov r1, #1
mov r2, #0xa1
bl ov14_021F2490
pop {r3, r4, r5, pc}
_021EF64C:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #0
bne _021EF66E
ldr r0, _021EF6D0 ; =0x00000633
bl PlaySE
add r0, r4, #0
mov r1, #1
mov r2, #0xa1
bl ov14_021F2490
pop {r3, r4, r5, pc}
_021EF66E:
ldr r0, _021EF6CC ; =0x000005DC
bl PlaySE
add r0, r4, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
ldr r0, [r4, #0x34]
add r1, #0x25
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
add r0, r4, #0
mov r1, #0x82
bl ov14_021F0EE8
pop {r3, r4, r5, pc}
_021EF6A2:
add r0, r4, #0
add r1, r5, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EF6C4
add r0, r4, #0
add r1, r5, #0
bl ov14_021E7588
add r0, r4, #0
add r1, r5, #0
bl ov14_021F1B4C
pop {r3, r4, r5, pc}
_021EF6C4:
mov r0, #0x82
pop {r3, r4, r5, pc}
.balign 4, 0
_021EF6C8: .word 0x000005DD
_021EF6CC: .word 0x000005DC
_021EF6D0: .word 0x00000633
thumb_func_end ov14_021EF248
thumb_func_start ov14_021EF6D4
ov14_021EF6D4: ; 0x021EF6D4
push {r3, lr}
ldr r0, [r0, #0x34]
ldr r0, [r0, #0xc]
bl FreeToHeap
mov r0, #0x82
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021EF6D4
thumb_func_start ov14_021EF6E4
ov14_021EF6E4: ; 0x021EF6E4
push {r4, lr}
add r4, r0, #0
bl ov14_021F40DC
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88F8
mov r0, #0x85
pop {r4, pc}
thumb_func_end ov14_021EF6E4
thumb_func_start ov14_021EF6FC
ov14_021EF6FC: ; 0x021EF6FC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r1, [r5, #0x34]
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
ldr r4, [r1, #0xc]
mov r1, #0x10
bl sub_020199E4
cmp r0, #0
beq _021EF718
mov r0, #0x85
pop {r3, r4, r5, r6, r7, pc}
_021EF718:
add r0, r5, #0
add r0, #0x21
ldrh r1, [r4]
ldrb r0, [r0]
cmp r1, r0
bne _021EF784
add r0, r5, #0
ldrh r4, [r4, #2]
bl ov14_021F1F38
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
mov r2, #0
bl ov14_021F34C8
add r1, r5, #0
ldr r0, [r5, #0x34]
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r0, #0x2c]
bl sub_02019F7C
ldr r1, [r5, #0x34]
ldr r0, _021EF898 ; =0x000088C8
ldrh r0, [r1, r0]
bl sub_02078068
cmp r0, #1
bne _021EF776
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
cmp r4, r0
beq _021EF776
ldr r0, _021EF89C ; =0x000005F3
bl PlaySE
add r0, r5, #0
mov r1, #0x25
bl ov14_021F6730
mov r0, #0x87
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, r6, r7, pc}
_021EF776:
ldr r0, [r5, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x82
pop {r3, r4, r5, r6, r7, pc}
_021EF784:
ldr r0, [r5, #0x34]
mov r2, #0
bl ov14_021F34C8
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
mov r2, #1
bl ov14_021F34C8
ldrh r1, [r4]
add r0, r5, #0
mov r2, #6
mov r3, #0
bl ov14_021E6070
lsl r0, r0, #0x10
lsr r7, r0, #0x10
ldrh r1, [r4]
ldr r6, [r5, #0x34]
ldr r3, _021EF898 ; =0x000088C8
add r0, r5, #0
mov r2, #6
add r3, r6, r3
bl ov14_021E6094
ldrb r1, [r5, #0x1f]
ldrh r2, [r4]
add r0, r5, #0
bl ov14_021E60C0
bl ov14_021E64D0
cmp r0, #1
bne _021EF7DE
ldrh r2, [r4]
ldr r3, [r5, #0x34]
ldrb r1, [r5, #0x1f]
add r6, r3, r2
ldr r3, _021EF8A0 ; =0x00004094
add r0, r5, #0
ldrb r3, [r6, r3]
bl ov14_021F2ED0
_021EF7DE:
ldrh r1, [r4]
add r0, r5, #0
bl ov14_021E7588
ldrh r1, [r4]
ldr r0, [r5, #0x34]
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
add r1, r5, #0
ldr r0, [r5, #0x34]
ldr r3, _021EF898 ; =0x000088C8
add r1, #0x21
strh r7, [r0, r3]
ldr r6, [r5, #0x34]
ldrb r1, [r1]
add r0, r5, #0
mov r2, #6
add r3, r6, r3
bl ov14_021E6094
add r2, r5, #0
add r2, #0x21
ldrb r1, [r5, #0x1f]
ldrb r2, [r2]
add r0, r5, #0
bl ov14_021E60C0
bl ov14_021E64D0
cmp r0, #1
bne _021EF838
add r0, r5, #0
add r0, #0x21
ldrb r2, [r0]
ldr r3, [r5, #0x34]
ldrb r1, [r5, #0x1f]
add r6, r3, r2
ldr r3, _021EF8A0 ; =0x00004094
add r0, r5, #0
ldrb r3, [r6, r3]
bl ov14_021F2ED0
_021EF838:
ldr r0, [r5, #0x34]
ldr r1, _021EF898 ; =0x000088C8
ldrh r1, [r0, r1]
cmp r1, #0
bne _021EF85E
ldrh r1, [r4]
add r0, r5, #0
add r0, #0x21
strb r1, [r0]
add r0, r5, #0
bl ov14_021F1F38
ldr r0, [r5, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x82
pop {r3, r4, r5, r6, r7, pc}
_021EF85E:
bl ov14_021F3844
ldr r0, [r5, #0x34]
mov r1, #1
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F29E4
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F2A18
ldr r0, [r5, #0x34]
bl ov14_021F39D0
ldr r0, _021EF8A4 ; =0x000005EB
bl PlaySE
ldr r1, _021EF8A8 ; =ov14_021EA928
add r0, r5, #0
mov r2, #0x86
bl ov14_021F0234
pop {r3, r4, r5, r6, r7, pc}
nop
_021EF898: .word 0x000088C8
_021EF89C: .word 0x000005F3
_021EF8A0: .word 0x00004094
_021EF8A4: .word 0x000005EB
_021EF8A8: .word ov14_021EA928
thumb_func_end ov14_021EF6FC
thumb_func_start ov14_021EF8AC
ov14_021EF8AC: ; 0x021EF8AC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
mov r2, #0
ldr r7, [r0, #0xc]
ldrh r1, [r7]
bl ov14_021F34C8
add r0, r5, #0
add r0, #0x21
ldrb r6, [r0]
add r0, r5, #0
ldrh r4, [r7, #2]
ldrh r1, [r7]
add r0, #0x21
strb r1, [r0]
add r0, r5, #0
bl ov14_021F1F38
ldr r3, [r5, #0x34]
ldr r1, _021EF918 ; =0x000088C8
mov r2, #0
ldrh r0, [r3, r1]
strh r2, [r3, r1]
bl sub_02078068
cmp r0, #1
bne _021EF908
cmp r4, r6
beq _021EF908
ldr r0, _021EF91C ; =0x000005F3
bl PlaySE
ldr r0, [r5, #0x34]
mov r1, #0
ldr r0, [r0, #0x2c]
bl sub_02019F94
add r0, r5, #0
mov r1, #0x25
bl ov14_021F6730
mov r0, #0x87
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, r6, r7, pc}
_021EF908:
ldr r0, [r5, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x82
pop {r3, r4, r5, r6, r7, pc}
nop
_021EF918: .word 0x000088C8
_021EF91C: .word 0x000005F3
thumb_func_end ov14_021EF8AC
thumb_func_start ov14_021EF920
ov14_021EF920: ; 0x021EF920
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0x25
bl ov14_021F6688
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x82
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021EF920
thumb_func_start ov14_021EF93C
ov14_021EF93C: ; 0x021EF93C
push {r3, r4, r5, lr}
add r5, r0, #0
bl ov14_021F7A50
add r4, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F90
cmp r0, #0
bne _021EF956
mov r4, #1
mvn r4, r4
_021EF956:
cmp r4, #0x24
bhi _021EF95E
beq _021EF990
b _021EF9A0
_021EF95E:
add r0, r4, #4
cmp r0, #3
bhi _021EF9A0
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021EF970: ; jump table
.short _021EF988 - _021EF970 - 2 ; case 0
.short _021EF978 - _021EF970 - 2 ; case 1
.short _021EF990 - _021EF970 - 2 ; case 2
.short _021EF9B0 - _021EF970 - 2 ; case 3
_021EF978:
ldr r0, _021EF9B4 ; =0x000005DC
bl PlaySE
add r0, r5, #0
mov r1, #0x89
bl ov14_021F0244
pop {r3, r4, r5, pc}
_021EF988:
ldr r0, _021EF9B4 ; =0x000005DC
bl PlaySE
b _021EF9B0
_021EF990:
ldr r0, _021EF9B8 ; =0x000005EA
bl PlaySE
add r0, r5, #0
mov r1, #0xff
bl ov14_021F1C4C
pop {r3, r4, r5, pc}
_021EF9A0:
ldr r0, _021EF9B8 ; =0x000005EA
bl PlaySE
add r0, r5, #0
add r1, r4, #0
bl ov14_021F1C4C
pop {r3, r4, r5, pc}
_021EF9B0:
mov r0, #0x88
pop {r3, r4, r5, pc}
.balign 4, 0
_021EF9B4: .word 0x000005DC
_021EF9B8: .word 0x000005EA
thumb_func_end ov14_021EF93C
thumb_func_start ov14_021EF9BC
ov14_021EF9BC: ; 0x021EF9BC
push {r3, lr}
ldr r0, [r0, #0x34]
ldr r0, [r0, #0xc]
bl FreeToHeap
mov r0, #0x88
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021EF9BC
thumb_func_start ov14_021EF9CC
ov14_021EF9CC: ; 0x021EF9CC
push {r4, r5, r6, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
ldr r1, _021EFB48 ; =0x0000044C
mov r2, #0
ldrb r1, [r0, r1]
bl ov14_021F34C8
ldr r0, [r4, #0x34]
ldr r2, _021EFB48 ; =0x0000044C
ldr r3, _021EFB4C ; =0x000088CA
ldrb r1, [r0, r2]
ldrh r5, [r0, r3]
cmp r1, r5
bne _021EFA12
mov r5, #0
sub r1, r3, #2
strh r5, [r0, r1]
ldr r1, [r4, #0x34]
add r0, r4, #0
ldrb r1, [r1, r2]
bl ov14_021E7588
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8620
ldr r1, _021EFB50 ; =ov14_021E9970
add r0, r4, #0
mov r2, #0x82
bl ov14_021F0234
pop {r4, r5, r6, pc}
_021EFA12:
add r0, r4, #0
mov r2, #6
mov r3, #0
bl ov14_021E6070
lsl r0, r0, #0x10
lsr r5, r0, #0x10
ldr r3, [r4, #0x34]
ldr r1, _021EFB48 ; =0x0000044C
ldr r6, _021EFB54 ; =0x000088C8
ldrb r1, [r3, r1]
add r0, r4, #0
mov r2, #6
add r3, r3, r6
bl ov14_021E6094
ldr r3, [r4, #0x34]
ldr r2, _021EFB48 ; =0x0000044C
ldrb r1, [r4, #0x1f]
ldrb r2, [r3, r2]
add r0, r4, #0
bl ov14_021E60C0
bl ov14_021E64D0
cmp r0, #1
bne _021EFA5C
ldr r3, [r4, #0x34]
ldr r0, _021EFB48 ; =0x0000044C
ldrb r1, [r4, #0x1f]
ldrb r2, [r3, r0]
add r0, r4, #0
add r6, r3, r2
ldr r3, _021EFB58 ; =0x00004094
ldrb r3, [r6, r3]
bl ov14_021F2ED0
_021EFA5C:
ldr r2, [r4, #0x34]
ldr r1, _021EFB48 ; =0x0000044C
add r0, r4, #0
ldrb r1, [r2, r1]
bl ov14_021E7588
ldr r3, _021EFB54 ; =0x000088C8
ldr r0, [r4, #0x34]
add r1, r3, #2
strh r5, [r0, r3]
ldr r5, [r4, #0x34]
add r0, r4, #0
ldrh r1, [r5, r1]
mov r2, #6
add r3, r5, r3
bl ov14_021E6094
ldr r3, [r4, #0x34]
ldr r2, _021EFB4C ; =0x000088CA
ldrb r1, [r4, #0x1f]
ldrh r2, [r3, r2]
add r0, r4, #0
bl ov14_021E60C0
bl ov14_021E64D0
cmp r0, #1
bne _021EFAA8
ldr r3, [r4, #0x34]
ldr r0, _021EFB4C ; =0x000088CA
ldrb r1, [r4, #0x1f]
ldrh r2, [r3, r0]
add r0, r4, #0
add r5, r3, r2
ldr r3, _021EFB58 ; =0x00004094
ldrb r3, [r5, r3]
bl ov14_021F2ED0
_021EFAA8:
ldr r2, [r4, #0x34]
ldr r0, _021EFB54 ; =0x000088C8
ldrh r0, [r2, r0]
cmp r0, #0
bne _021EFAC8
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r2, r0]
bl ov14_021E8620
ldr r1, _021EFB50 ; =ov14_021E9970
add r0, r4, #0
mov r2, #0x82
bl ov14_021F0234
pop {r4, r5, r6, pc}
_021EFAC8:
ldr r0, _021EFB5C ; =0x0000044B
mov r1, #1
strb r1, [r2, r0]
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #0x34]
ldr r1, _021EFB48 ; =0x0000044C
mov r2, #2
ldrb r1, [r0, r1]
bl ov14_021F39A0
ldr r0, [r4, #0x34]
ldr r1, _021EFB54 ; =0x000088C8
ldrh r1, [r0, r1]
bl ov14_021F3844
ldr r2, [r4, #0x34]
ldr r1, _021EFB54 ; =0x000088C8
add r0, r4, #0
ldrh r1, [r2, r1]
bl ov14_021F5564
add r5, r0, #0
mov r0, #0x2f
ldr r3, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r3, r0]
add r3, #0x30
lsl r2, r5, #4
mov r1, #0x10
add r2, r3, r2
bl sub_02019A60
mov r0, #0x2f
add r3, r5, #1
ldr r2, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r2, r0]
add r2, #0x30
lsl r3, r3, #4
mov r1, #0x10
add r2, r2, r3
bl sub_02019A60
ldr r0, [r4, #0x34]
ldr r1, _021EFB54 ; =0x000088C8
ldrh r1, [r0, r1]
bl ov14_021F38B0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88BC
ldr r1, _021EFB60 ; =ov14_021EAA04
add r0, r4, #0
mov r2, #0x88
bl ov14_021F0234
pop {r4, r5, r6, pc}
.balign 4, 0
_021EFB48: .word 0x0000044C
_021EFB4C: .word 0x000088CA
_021EFB50: .word ov14_021E9970
_021EFB54: .word 0x000088C8
_021EFB58: .word 0x00004094
_021EFB5C: .word 0x0000044B
_021EFB60: .word ov14_021EAA04
thumb_func_end ov14_021EF9CC
thumb_func_start ov14_021EFB64
ov14_021EFB64: ; 0x021EFB64
push {r3, r4, r5, lr}
add r4, r0, #0
bl ov14_021F6A24
add r5, r0, #0
mov r0, #0
mvn r0, r0
cmp r5, r0
beq _021EFC52
add r1, r5, #0
add r0, r4, #0
add r1, #0x1e
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EFBBC
ldr r0, _021EFDC8 ; =0x000005EB
bl PlaySE
ldr r2, [r4, #0x34]
ldr r1, _021EFDCC ; =0x000040B8
add r0, r2, r1
add r1, r1, #4
add r1, r2, r1
bl sub_02025380
add r1, r5, #0
add r0, r4, #0
add r1, #0x1e
bl ov14_021E7588
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
add r5, #0x1e
add r0, r4, #0
add r1, r5, #0
bl ov14_021F1D6C
pop {r3, r4, r5, pc}
_021EFBBC:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #1
bne _021EFC32
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
sub r0, #0x1e
lsl r0, r0, #0x18
lsr r5, r0, #0x18
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
add r1, r5, #0
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
add r1, r5, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
add r0, r4, #0
bl ov14_021F40DC
ldr r1, [r4, #0x34]
ldr r0, _021EFDD0 ; =0x000088C8
ldrh r0, [r1, r0]
cmp r0, #0
beq _021EFC26
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88F8
_021EFC26:
ldr r1, _021EFDD4 ; =ov14_021EA674
add r0, r4, #0
mov r2, #0x8c
bl ov14_021F0234
pop {r3, r4, r5, pc}
_021EFC32:
ldr r0, [r4, #0x34]
lsl r1, r5, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
add r0, r4, #0
bl ov14_021E765C
mov r0, #0x8b
pop {r3, r4, r5, pc}
_021EFC52:
add r0, r4, #0
bl ov14_021F75C8
mov r1, #2
add r5, r0, #0
mvn r1, r1
cmp r5, r1
bhi _021EFC92
bhs _021EFCCA
cmp r5, #9
bhi _021EFC88
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021EFC74: ; jump table
.short _021EFD7A - _021EFC74 - 2 ; case 0
.short _021EFD7A - _021EFC74 - 2 ; case 1
.short _021EFD7A - _021EFC74 - 2 ; case 2
.short _021EFD7A - _021EFC74 - 2 ; case 3
.short _021EFD7A - _021EFC74 - 2 ; case 4
.short _021EFD7A - _021EFC74 - 2 ; case 5
.short _021EFCA6 - _021EFC74 - 2 ; case 6
.short _021EFD00 - _021EFC74 - 2 ; case 7
.short _021EFCB8 - _021EFC74 - 2 ; case 8
.short _021EFD12 - _021EFC74 - 2 ; case 9
_021EFC88:
mov r0, #3
mvn r0, r0
cmp r5, r0
beq _021EFD4C
b _021EFD7A
_021EFC92:
add r0, r1, #1
cmp r5, r0
bhi _021EFC9C
beq _021EFD00
b _021EFD7A
_021EFC9C:
add r0, r1, #2
cmp r5, r0
bne _021EFCA4
b _021EFDC4
_021EFCA4:
b _021EFD7A
_021EFCA6:
ldr r0, _021EFDD8 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #0
mov r2, #0xb0
bl ov14_021F2490
pop {r3, r4, r5, pc}
_021EFCB8:
ldr r0, _021EFDD8 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #7
mov r2, #0xad
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EFCCA:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
cmp r1, #5
bhi _021EFCE2
add r0, r4, #0
add r1, #0x1e
bl ov14_021E7588
b _021EFCF0
_021EFCE2:
cmp r1, #8
beq _021EFCF0
cmp r1, #9
beq _021EFCF0
add r0, r4, #0
bl ov14_021E765C
_021EFCF0:
ldr r0, _021EFDDC ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #0x8c
bl ov14_021F0244
pop {r3, r4, r5, pc}
_021EFD00:
ldr r0, _021EFDE0 ; =0x00000633
bl PlaySE
add r0, r4, #0
mov r1, #0xa
mov r2, #0x9f
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EFD12:
ldr r0, _021EFDDC ; =0x000005DC
bl PlaySE
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
sub r0, #0x1e
lsl r0, r0, #0x18
lsr r5, r0, #0x18
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
add r1, r5, #0
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
add r1, r5, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r4, #0
mov r1, #0xb
mov r2, #0xb1
bl ov14_021F2270
pop {r3, r4, r5, pc}
_021EFD4C:
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
cmp r1, #5
bhi _021EFD64
add r0, r4, #0
add r1, #0x1e
bl ov14_021E7588
b _021EFD72
_021EFD64:
cmp r1, #8
beq _021EFD72
cmp r1, #9
beq _021EFD72
add r0, r4, #0
bl ov14_021E765C
_021EFD72:
ldr r0, _021EFDDC ; =0x000005DC
bl PlaySE
b _021EFDC4
_021EFD7A:
add r1, r5, #0
add r0, r4, #0
add r1, #0x1e
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021EFDC4
ldr r0, _021EFDD8 ; =0x000005DD
bl PlaySE
add r1, r5, #0
add r0, r4, #0
add r1, #0x1e
bl ov14_021E7588
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r0, [r4, #0x34]
mov r1, #8
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
mov r1, #8
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r5, #0x1e
add r0, r4, #0
add r1, r5, #0
bl ov14_021F1CDC
pop {r3, r4, r5, pc}
_021EFDC4:
mov r0, #0x8b
pop {r3, r4, r5, pc}
.balign 4, 0
_021EFDC8: .word 0x000005EB
_021EFDCC: .word 0x000040B8
_021EFDD0: .word 0x000088C8
_021EFDD4: .word ov14_021EA674
_021EFDD8: .word 0x000005DD
_021EFDDC: .word 0x000005DC
_021EFDE0: .word 0x00000633
thumb_func_end ov14_021EFB64
thumb_func_start ov14_021EFDE4
ov14_021EFDE4: ; 0x021EFDE4
push {r3, lr}
ldr r0, [r0, #0x34]
ldr r0, [r0, #0xc]
bl FreeToHeap
mov r0, #0x8b
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021EFDE4
thumb_func_start ov14_021EFDF4
ov14_021EFDF4: ; 0x021EFDF4
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
add r1, r4, #0
ldr r5, [r0, #0xc]
add r1, #0x21
ldrh r2, [r5]
ldrb r1, [r1]
cmp r2, r1
beq _021EFE10
ldr r1, _021EFEF0 ; =0x000088C8
ldrh r1, [r0, r1]
cmp r1, #0
bne _021EFEB0
_021EFE10:
add r0, r4, #0
ldrh r5, [r5, #2]
bl ov14_021F1F38
ldr r0, [r4, #0x34]
ldr r1, _021EFEF4 ; =0x0000044A
ldrb r1, [r0, r1]
cmp r1, #0
bne _021EFE6C
ldr r1, _021EFEF0 ; =0x000088C8
ldrh r0, [r0, r1]
bl sub_02078068
cmp r0, #1
bne _021EFE7A
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
cmp r5, r0
beq _021EFE7A
ldr r0, _021EFEF8 ; =0x000005F3
bl PlaySE
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #7
bl sub_0201980C
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #0
bl ov14_021F34C8
add r0, r4, #0
mov r1, #7
mov r2, #0x28
bl ov14_021F68C0
mov r0, #0x92
str r0, [r4, #0x30]
mov r0, #6
pop {r3, r4, r5, pc}
_021EFE6C:
mov r1, #0x28
bl ov14_021F6654
ldr r1, [r4, #0x34]
ldr r0, _021EFEF4 ; =0x0000044A
mov r2, #0
strb r2, [r1, r0]
_021EFE7A:
ldr r1, [r4, #0x34]
ldr r0, _021EFEF0 ; =0x000088C8
ldrh r0, [r1, r0]
cmp r0, #0
beq _021EFE98
ldr r0, _021EFEFC ; =0x000005EA
bl PlaySE
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #0
bl ov14_021F34C8
_021EFE98:
ldr r0, [r4, #0x34]
mov r1, #8
ldr r0, [r0, #0x2c]
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x8b
pop {r3, r4, r5, pc}
_021EFEB0:
mov r1, #0x28
bl ov14_021F6654
ldr r0, _021EFEFC ; =0x000005EA
bl PlaySE
ldrh r1, [r5]
ldr r0, [r4, #0x34]
mov r2, #0
bl ov14_021F34C8
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #1
bl ov14_021F34C8
add r0, r4, #0
bl ov14_021F40DC
ldr r0, [r4, #0x34]
mov r1, #1
bl ov14_021F391C
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #2
bl ov14_021F29E4
mov r0, #0x8e
pop {r3, r4, r5, pc}
.balign 4, 0
_021EFEF0: .word 0x000088C8
_021EFEF4: .word 0x0000044A
_021EFEF8: .word 0x000005F3
_021EFEFC: .word 0x000005EA
thumb_func_end ov14_021EFDF4
thumb_func_start ov14_021EFF00
ov14_021EFF00: ; 0x021EFF00
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
mov r1, #0xb
bl ov14_021F2A04
cmp r0, #1
bne _021EFF14
mov r0, #0x8e
pop {r3, r4, r5, r6, r7, pc}
_021EFF14:
ldr r0, [r5, #0x34]
mov r1, #0
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
ldr r0, [r5, #0x34]
mov r2, #6
ldr r4, [r0, #0xc]
add r0, r5, #0
ldrh r1, [r4]
mov r3, #0
bl ov14_021E6070
lsl r0, r0, #0x10
lsr r7, r0, #0x10
ldrh r1, [r4]
ldr r6, [r5, #0x34]
ldr r3, _021F0084 ; =0x000088C8
add r0, r5, #0
mov r2, #6
add r3, r6, r3
bl ov14_021E6094
ldrb r1, [r5, #0x1f]
ldrh r2, [r4]
add r0, r5, #0
bl ov14_021E60C0
bl ov14_021E64D0
cmp r0, #1
bne _021EFF6E
ldrh r2, [r4]
ldr r3, [r5, #0x34]
ldrb r1, [r5, #0x1f]
add r6, r3, r2
ldr r3, _021F0088 ; =0x00004094
add r0, r5, #0
ldrb r3, [r6, r3]
bl ov14_021F2ED0
_021EFF6E:
ldrh r1, [r4]
add r0, r5, #0
bl ov14_021E7588
add r1, r5, #0
ldr r0, [r5, #0x34]
ldr r3, _021F0084 ; =0x000088C8
add r1, #0x21
strh r7, [r0, r3]
ldr r6, [r5, #0x34]
ldrb r1, [r1]
add r0, r5, #0
mov r2, #6
add r3, r6, r3
bl ov14_021E6094
add r2, r5, #0
add r2, #0x21
ldrb r1, [r5, #0x1f]
ldrb r2, [r2]
add r0, r5, #0
bl ov14_021E60C0
bl ov14_021E64D0
cmp r0, #1
bne _021EFFBA
add r0, r5, #0
add r0, #0x21
ldrb r2, [r0]
ldr r3, [r5, #0x34]
ldrb r1, [r5, #0x1f]
add r6, r3, r2
ldr r3, _021F0088 ; =0x00004094
add r0, r5, #0
ldrb r3, [r6, r3]
bl ov14_021F2ED0
_021EFFBA:
ldr r0, [r5, #0x34]
ldr r1, _021F0084 ; =0x000088C8
ldrh r1, [r0, r1]
cmp r1, #0
bne _021F0046
ldr r1, _021F008C ; =0x0000044A
ldrb r2, [r0, r1]
cmp r2, #0
bne _021F0006
ldrh r1, [r4]
add r0, r5, #0
add r0, #0x21
strb r1, [r0]
add r0, r5, #0
bl ov14_021F1F38
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
sub r1, #0x1e
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r1, _021F0090 ; =ov14_021E94BC
add r0, r5, #0
mov r2, #0x8f
bl ov14_021F0234
pop {r3, r4, r5, r6, r7, pc}
_021F0006:
mov r2, #0
strb r2, [r0, r1]
add r0, r5, #0
bl ov14_021F1F38
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
sub r1, #0x1e
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7EE0
mov r1, #1
add r0, r5, #0
add r2, r1, #0
bl ov14_021F3488
ldr r1, _021F0094 ; =ov14_021E9518
add r0, r5, #0
mov r2, #0x8f
bl ov14_021F0234
pop {r3, r4, r5, r6, r7, pc}
_021F0046:
ldr r0, _021F0098 ; =0x000005EB
bl PlaySE
ldr r0, [r5, #0x34]
ldr r1, _021F0084 ; =0x000088C8
ldrh r1, [r0, r1]
bl ov14_021F3844
ldr r0, [r5, #0x34]
mov r1, #1
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F29E4
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #1
bl ov14_021F2A18
ldr r0, [r5, #0x34]
bl ov14_021F39D0
ldr r1, _021F009C ; =ov14_021EAF08
add r0, r5, #0
mov r2, #0x90
bl ov14_021F0234
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F0084: .word 0x000088C8
_021F0088: .word 0x00004094
_021F008C: .word 0x0000044A
_021F0090: .word ov14_021E94BC
_021F0094: .word ov14_021E9518
_021F0098: .word 0x000005EB
_021F009C: .word ov14_021EAF08
thumb_func_end ov14_021EFF00
thumb_func_start ov14_021F00A0
ov14_021F00A0: ; 0x021F00A0
push {r4, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
bl ov14_021E7588
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x8b
pop {r4, pc}
thumb_func_end ov14_021F00A0
thumb_func_start ov14_021F00BC
ov14_021F00BC: ; 0x021F00BC
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
mov r2, #0
ldr r4, [r0, #0xc]
ldrh r1, [r4]
bl ov14_021F34C8
ldr r0, _021F011C ; =0x000005EA
bl PlaySE
add r0, r5, #0
bl ov14_021F40DC
ldr r0, [r5, #0x34]
mov r1, #1
bl ov14_021F391C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #2
bl ov14_021F29E4
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
bhs _021F00FC
ldrh r1, [r4]
add r0, r5, #0
add r0, #0x21
strb r1, [r0]
_021F00FC:
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
sub r1, #0x1e
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
add r0, r5, #0
bl ov14_021F1F38
mov r0, #0x91
pop {r3, r4, r5, pc}
nop
_021F011C: .word 0x000005EA
thumb_func_end ov14_021F00BC
thumb_func_start ov14_021F0120
ov14_021F0120: ; 0x021F0120
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0xb
bl ov14_021F2A04
cmp r0, #1
bne _021F0134
mov r0, #0x91
pop {r4, pc}
_021F0134:
ldr r0, [r4, #0x34]
mov r1, #0
bl ov14_021F391C
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r1, _021F0160 ; =ov14_021E94BC
add r0, r4, #0
mov r2, #0x8f
bl ov14_021F0234
pop {r4, pc}
nop
_021F0160: .word ov14_021E94BC
thumb_func_end ov14_021F0120
thumb_func_start ov14_021F0164
ov14_021F0164: ; 0x021F0164
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0x28
bl ov14_021F6654
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #7
bl sub_020197F4
ldr r0, [r4, #0x34]
mov r1, #8
ldr r0, [r0, #0x2c]
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x8b
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F0164
thumb_func_start ov14_021F0198
ov14_021F0198: ; 0x021F0198
push {r4, lr}
add r4, r0, #0
ldr r0, _021F01B4 ; =0x000005F3
bl PlaySE
add r0, r4, #0
mov r1, #5
mov r2, #0x25
bl ov14_021F68C0
mov r0, #0xe
str r0, [r4, #0x30]
mov r0, #6
pop {r4, pc}
.balign 4, 0
_021F01B4: .word 0x000005F3
thumb_func_end ov14_021F0198
thumb_func_start ov14_021F01B8
ov14_021F01B8: ; 0x021F01B8
push {r4, lr}
add r4, r0, #0
ldr r0, _021F01D4 ; =0x000005F3
bl PlaySE
add r0, r4, #0
mov r1, #0x25
bl ov14_021F6724
mov r0, #0xe
str r0, [r4, #0x30]
mov r0, #6
pop {r4, pc}
nop
_021F01D4: .word 0x000005F3
thumb_func_end ov14_021F01B8
thumb_func_start ov14_021F01D8
ov14_021F01D8: ; 0x021F01D8
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
mov r0, #6
add r4, r1, #0
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0xa
str r0, [sp, #8]
mov r0, #0
add r2, r1, #0
add r3, r0, #0
bl sub_0200FA24
mov r0, #0x11
ldr r1, [r5, #0x34]
lsl r0, r0, #6
str r4, [r1, r0]
mov r0, #2
add sp, #0xc
pop {r4, r5, pc}
thumb_func_end ov14_021F01D8
thumb_func_start ov14_021F0204
ov14_021F0204: ; 0x021F0204
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0xa
str r0, [sp, #8]
mov r0, #0
add r4, r1, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl sub_0200FA24
mov r0, #0x11
ldr r1, [r5, #0x34]
lsl r0, r0, #6
str r4, [r1, r0]
mov r0, #2
add sp, #0xc
pop {r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021F0204
thumb_func_start ov14_021F0234
ov14_021F0234: ; 0x021F0234
push {r3, lr}
str r2, [r0, #0x30]
ldr r0, [r0, #0x34]
bl ov14_021E5A44
mov r0, #5
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021F0234
thumb_func_start ov14_021F0244
ov14_021F0244: ; 0x021F0244
push {r3, lr}
str r1, [r0, #0x30]
ldr r0, [r0, #0x34]
bl ov14_021E5A54
mov r0, #5
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021F0244
thumb_func_start ov14_021F0254
ov14_021F0254: ; 0x021F0254
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
cmp r4, #1
bne _021F0266
mov r1, #1
bl ov14_021E5EFC
b _021F026C
_021F0266:
mov r1, #0
bl ov14_021E5EFC
_021F026C:
ldr r1, [r5, #0x34]
ldr r0, _021F0278 ; =0x00000438
strh r4, [r1, r0]
mov r0, #7
pop {r3, r4, r5, pc}
nop
_021F0278: .word 0x00000438
thumb_func_end ov14_021F0254
thumb_func_start ov14_021F027C
ov14_021F027C: ; 0x021F027C
ldr r3, _021F0288 ; =ov14_021F0204
strb r1, [r0, #0x1e]
mov r1, #9
str r1, [r0, #0x30]
mov r1, #1
bx r3
.balign 4, 0
_021F0288: .word ov14_021F0204
thumb_func_end ov14_021F027C
thumb_func_start ov14_021F028C
ov14_021F028C: ; 0x021F028C
push {r3, r4, r5, lr}
add r5, r0, #0
ldrb r0, [r5, #0x1f]
add r4, r1, #0
cmp r0, #0
bne _021F029C
mov r0, #0x11
b _021F029E
_021F029C:
sub r0, r0, #1
_021F029E:
strb r0, [r5, #0x1f]
ldrb r1, [r5, #0x1f]
add r0, r5, #0
bl ov14_021F2DE8
ldrb r1, [r5, #0x1f]
add r0, r5, #0
bl ov14_021E7930
add r1, r0, #0
add r0, r5, #0
mov r2, #0
bl ov14_021E783C
ldr r0, [r5, #0x34]
mov r1, #0
mov r2, #2
bl ov14_021F29E4
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #1
bne _021F0302
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
ldr r0, [r5]
ldr r0, [r0, #8]
sub r0, r0, #2
cmp r0, #1
bhi _021F0302
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8248
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E82A8
_021F0302:
ldr r1, _021F0310 ; =ov14_021E92AC
add r0, r5, #0
add r2, r4, #0
bl ov14_021F0234
pop {r3, r4, r5, pc}
nop
_021F0310: .word ov14_021E92AC
thumb_func_end ov14_021F028C
thumb_func_start ov14_021F0314
ov14_021F0314: ; 0x021F0314
push {r3, r4, r5, lr}
add r5, r0, #0
ldrb r0, [r5, #0x1f]
add r4, r1, #0
cmp r0, #0x11
bne _021F0324
mov r0, #0
b _021F0326
_021F0324:
add r0, r0, #1
_021F0326:
strb r0, [r5, #0x1f]
ldrb r1, [r5, #0x1f]
add r0, r5, #0
bl ov14_021F2DE8
ldrb r1, [r5, #0x1f]
add r0, r5, #0
bl ov14_021E7930
add r1, r0, #0
add r0, r5, #0
mov r2, #1
bl ov14_021E783C
ldr r0, [r5, #0x34]
mov r1, #1
mov r2, #4
bl ov14_021F29E4
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #1
bne _021F038A
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
ldr r0, [r5]
ldr r0, [r0, #8]
sub r0, r0, #2
cmp r0, #1
bhi _021F038A
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8248
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E82A8
_021F038A:
ldr r1, _021F0398 ; =ov14_021E9370
add r0, r5, #0
add r2, r4, #0
bl ov14_021F0234
pop {r3, r4, r5, pc}
nop
_021F0398: .word ov14_021E9370
thumb_func_end ov14_021F0314
thumb_func_start ov14_021F039C
ov14_021F039C: ; 0x021F039C
push {r4, lr}
add r4, r0, #0
add r0, #0x21
strb r1, [r0]
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #0
bl ov14_021F3190
add r0, r4, #0
bl ov14_021F3F6C
add r0, r4, #0
bl ov14_021F08BC
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021F03F2
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8234
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8294
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
_021F03F2:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
add r0, r4, #0
mov r1, #0
add r0, #0x22
strb r1, [r0]
ldr r1, _021F0414 ; =ov14_021E8BA4
add r0, r4, #0
mov r2, #0xd
bl ov14_021F0234
pop {r4, pc}
nop
_021F0414: .word ov14_021E8BA4
thumb_func_end ov14_021F039C
thumb_func_start ov14_021F0418
ov14_021F0418: ; 0x021F0418
push {r4, lr}
add r4, r0, #0
add r0, #0x21
strb r1, [r0]
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #0
bl ov14_021F3190
add r0, r4, #0
bl ov14_021F3F6C
add r0, r4, #0
bl ov14_021F3044
mov r1, #1
add r0, r4, #0
add r2, r1, #0
bl ov14_021F3488
add r0, r4, #0
mov r1, #2
mov r2, #1
bl ov14_021F3488
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #0
bl ov14_021F34C8
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r4, #0
mov r2, #1
mov r3, #0x27
bl ov14_021F685C
ldr r0, [r4, #8]
bl GetPartyCount
cmp r0, #6
beq _021F0482
add r0, r4, #0
mov r1, #0x28
mov r2, #1
bl ov14_021F6928
b _021F048C
_021F0482:
add r0, r4, #0
mov r1, #0x28
mov r2, #3
bl ov14_021F6928
_021F048C:
add r0, r4, #0
bl ov14_021F08BC
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021F04BA
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
_021F04BA:
add r0, r4, #0
mov r1, #2
add r0, #0x22
strb r1, [r0]
ldr r1, _021F04D0 ; =ov14_021E9C88
add r0, r4, #0
mov r2, #0x57
bl ov14_021F0234
pop {r4, pc}
nop
_021F04D0: .word ov14_021E9C88
thumb_func_end ov14_021F0418
thumb_func_start ov14_021F04D4
ov14_021F04D4: ; 0x021F04D4
push {r4, lr}
add r4, r0, #0
add r0, #0x21
strb r1, [r0]
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #1
bl ov14_021F3190
add r0, r4, #0
bl ov14_021F3F6C
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r4, #0
mov r2, #1
mov r3, #0x27
bl ov14_021F685C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8434
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
ldr r0, [r4, #0x34]
bl ov14_021E8824
ldr r1, _021F052C ; =ov14_021EA068
add r0, r4, #0
mov r2, #0x58
bl ov14_021F0234
pop {r4, pc}
nop
_021F052C: .word ov14_021EA068
thumb_func_end ov14_021F04D4
thumb_func_start ov14_021F0530
ov14_021F0530: ; 0x021F0530
push {r4, lr}
add r4, r0, #0
add r0, #0x21
strb r1, [r0]
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #1
bl ov14_021F3190
add r0, r4, #0
bl ov14_021F3F6C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8434
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8234
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8294
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
ldr r0, [r4, #0x34]
bl ov14_021E8824
ldr r1, _021F0590 ; =ov14_021EA0B8
add r0, r4, #0
mov r2, #0x4a
bl ov14_021F0234
pop {r4, pc}
nop
_021F0590: .word ov14_021EA0B8
thumb_func_end ov14_021F0530
thumb_func_start ov14_021F0594
ov14_021F0594: ; 0x021F0594
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
add r0, #0x21
add r1, r5, #0
strb r4, [r0]
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
mov r2, #0
bl ov14_021F3190
add r0, r5, #0
bl ov14_021F3F6C
add r1, r4, #0
ldr r0, [r5, #8]
sub r1, #0x1e
bl GetPartyMonByIndex
sub r4, #0x1e
add r6, r0, #0
add r0, r5, #0
add r1, r4, #0
bl ov14_021E6480
cmp r0, #0
bne _021F05E4
ldrb r1, [r5, #0x1f]
ldr r0, [r5, #4]
bl sub_02073FA8
cmp r0, #0
bne _021F05E4
add r0, r5, #0
mov r1, #0x28
mov r2, #8
bl ov14_021F6928
b _021F062A
_021F05E4:
add r0, r6, #0
mov r1, #6
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_02078068
cmp r0, #1
bne _021F0606
add r0, r5, #0
mov r1, #0x28
mov r2, #6
bl ov14_021F6928
b _021F062A
_021F0606:
add r0, r6, #0
mov r1, #0xa2
mov r2, #0
bl GetMonData
cmp r0, #0
beq _021F0620
add r0, r5, #0
mov r1, #0x28
mov r2, #7
bl ov14_021F6928
b _021F062A
_021F0620:
add r0, r5, #0
mov r1, #0x28
mov r2, #0
bl ov14_021F6928
_021F062A:
add r0, r5, #0
bl ov14_021F08BC
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
add r0, r5, #0
mov r1, #1
add r0, #0x22
strb r1, [r0]
ldr r1, _021F065C ; =ov14_021E8D20
add r0, r5, #0
mov r2, #0x27
bl ov14_021F0234
pop {r4, r5, r6, pc}
.balign 4, 0
_021F065C: .word ov14_021E8D20
thumb_func_end ov14_021F0594
thumb_func_start ov14_021F0660
ov14_021F0660: ; 0x021F0660
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
str r1, [sp]
add r1, r5, #0
ldr r0, [sp]
add r1, #0x21
strb r0, [r1]
mov r4, #0x1e
mov r7, #1
mov r6, #0
_021F0674:
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
cmp r4, r0
ldr r0, [r5, #0x34]
bne _021F068A
add r1, r4, #0
add r2, r6, #0
bl ov14_021F3190
b _021F0692
_021F068A:
add r1, r4, #0
add r2, r7, #0
bl ov14_021F3190
_021F0692:
add r4, r4, #1
cmp r4, #0x24
blo _021F0674
add r0, r5, #0
bl ov14_021F3F6C
add r0, r5, #0
mov r1, #2
mov r2, #1
bl ov14_021F3488
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
mov r2, #0
bl ov14_021F34C8
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
mov r2, #1
mov r3, #0x27
bl ov14_021F685C
ldr r1, [sp]
ldr r0, [r5, #8]
sub r1, #0x1e
bl GetPartyMonByIndex
ldr r1, [sp]
add r4, r0, #0
sub r1, #0x1e
add r0, r5, #0
str r1, [sp]
bl ov14_021E6480
cmp r0, #0
bne _021F06EE
add r0, r5, #0
mov r1, #0x28
mov r2, #8
bl ov14_021F6928
b _021F074C
_021F06EE:
add r0, r4, #0
mov r1, #6
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_02078068
cmp r0, #1
bne _021F0710
add r0, r5, #0
mov r1, #0x28
mov r2, #6
bl ov14_021F6928
b _021F074C
_021F0710:
add r0, r4, #0
mov r1, #0xa2
mov r2, #0
bl GetMonData
cmp r0, #0
beq _021F072A
add r0, r5, #0
mov r1, #0x28
mov r2, #7
bl ov14_021F6928
b _021F074C
_021F072A:
ldrb r1, [r5, #0x1f]
ldr r0, [r5, #4]
bl sub_02073E40
cmp r0, #0
bne _021F0742
add r0, r5, #0
mov r1, #0x28
mov r2, #2
bl ov14_021F6928
b _021F074C
_021F0742:
add r0, r5, #0
mov r1, #0x28
mov r2, #0
bl ov14_021F6928
_021F074C:
add r0, r5, #0
bl ov14_021F08BC
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021F077A
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
_021F077A:
add r0, r5, #0
mov r1, #1
add r0, #0x22
strb r1, [r0]
ldr r1, _021F0790 ; =ov14_021E9A24
add r0, r5, #0
mov r2, #0x6e
bl ov14_021F0234
pop {r3, r4, r5, r6, r7, pc}
nop
_021F0790: .word ov14_021E9A24
thumb_func_end ov14_021F0660
thumb_func_start ov14_021F0794
ov14_021F0794: ; 0x021F0794
push {r4, lr}
add r4, r0, #0
add r0, #0x21
strb r1, [r0]
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #1
bl ov14_021F3190
add r0, r4, #0
bl ov14_021F3F6C
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r4, #0
mov r2, #1
mov r3, #0x27
bl ov14_021F685C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8434
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
ldr r0, [r4, #0x34]
bl ov14_021E8824
ldr r1, _021F07EC ; =ov14_021EA068
add r0, r4, #0
mov r2, #0x6f
bl ov14_021F0234
pop {r4, pc}
nop
_021F07EC: .word ov14_021EA068
thumb_func_end ov14_021F0794
thumb_func_start ov14_021F07F0
ov14_021F07F0: ; 0x021F07F0
push {r4, lr}
add r4, r0, #0
add r0, #0x21
strb r1, [r0]
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #1
bl ov14_021F3190
add r0, r4, #0
bl ov14_021F3F6C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8434
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
ldr r0, [r4, #0x34]
bl ov14_021E8824
ldr r1, _021F0838 ; =ov14_021EA0B8
add r0, r4, #0
mov r2, #0x4c
bl ov14_021F0234
pop {r4, pc}
nop
_021F0838: .word ov14_021EA0B8
thumb_func_end ov14_021F07F0
thumb_func_start ov14_021F083C
ov14_021F083C: ; 0x021F083C
push {r4, lr}
add r4, r0, #0
add r0, #0x21
strb r1, [r0]
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #0
bl ov14_021F3190
add r0, r4, #0
bl ov14_021F3F6C
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #1
ldr r1, [r4, #0x34]
bne _021F0876
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85D0
b _021F0890
_021F0876:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021F0890
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
_021F0890:
ldr r0, [r4, #0x34]
bl ov14_021E8824
add r0, r4, #0
mov r1, #0
bl ov14_021F6408
add r0, r4, #0
bl ov14_021F08BC
add r0, r4, #0
mov r1, #2
add r0, #0x22
strb r1, [r0]
ldr r1, _021F08B8 ; =ov14_021E8FD4
add r0, r4, #0
mov r2, #0x2a
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021F08B8: .word ov14_021E8FD4
thumb_func_end ov14_021F083C
thumb_func_start ov14_021F08BC
ov14_021F08BC: ; 0x021F08BC
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
mov r0, #0xa
mov r1, #0xf0
bl AllocFromHeap
str r0, [sp]
mov r4, #0
add r5, r0, #0
mov r6, #0xa
_021F08D0:
add r0, r6, #0
bl AllocMonZeroed
str r0, [r5]
add r4, r4, #1
add r5, #0x20
cmp r4, #7
blo _021F08D0
ldr r0, [sp]
mov r1, #0
add r0, #0xe0
str r1, [r0]
ldr r1, [r7, #0x34]
ldr r0, [sp]
str r0, [r1, #0xc]
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov14_021F08BC
thumb_func_start ov14_021F08F0
ov14_021F08F0: ; 0x021F08F0
push {r4, r5, r6, lr}
ldr r0, [r0, #0x34]
mov r4, #0
ldr r6, [r0, #0xc]
add r5, r6, #0
_021F08FA:
ldr r0, [r5]
bl FreeToHeap
add r4, r4, #1
add r5, #0x20
cmp r4, #7
blo _021F08FA
add r0, r6, #0
bl FreeToHeap
pop {r4, r5, r6, pc}
thumb_func_end ov14_021F08F0
thumb_func_start ov14_021F0910
ov14_021F0910: ; 0x021F0910
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
mov r2, #0x4c
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021F0948
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
ldr r1, _021F09B8 ; =ov14_021E9450
add r0, r5, #0
mov r2, #0x4f
bl ov14_021F0234
pop {r3, r4, r5, pc}
_021F0948:
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
mov r2, #6
mov r3, #0
bl ov14_021E6070
add r4, r0, #0
bne _021F096A
mov r0, #0x26
str r0, [r5, #0x2c]
add r0, r5, #0
mov r1, #1
bl ov14_021F027C
pop {r3, r4, r5, pc}
_021F096A:
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
lsl r0, r4, #0x10
lsr r0, r0, #0x10
bl sub_02078068
cmp r0, #1
ldr r1, [r5, #0x34]
bne _021F0998
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
ldr r1, _021F09B8 ; =ov14_021E9450
add r0, r5, #0
mov r2, #0x50
bl ov14_021F0234
pop {r3, r4, r5, pc}
_021F0998:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E83F4
add r0, r5, #0
add r1, r4, #0
mov r2, #0x25
bl ov14_021F6704
add r0, r5, #0
mov r1, #0
bl ov14_021F0254
pop {r3, r4, r5, pc}
nop
_021F09B8: .word ov14_021E9450
thumb_func_end ov14_021F0910
thumb_func_start ov14_021F09BC
ov14_021F09BC: ; 0x021F09BC
push {r4, lr}
add r4, r0, #0
ldr r1, [r4]
ldr r1, [r1, #8]
cmp r1, #0
beq _021F09D0
cmp r1, #1
beq _021F09DA
cmp r1, #2
b _021F09E4
_021F09D0:
mov r1, #0
mov r2, #9
bl ov14_021F6AC0
b _021F0A04
_021F09DA:
mov r1, #2
mov r2, #0x24
bl ov14_021F6AC0
b _021F0A04
_021F09E4:
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
bhs _021F09FA
add r0, r4, #0
mov r1, #3
mov r2, #0x27
bl ov14_021F6AC0
b _021F0A04
_021F09FA:
add r0, r4, #0
mov r1, #5
mov r2, #0xb
bl ov14_021F6AC0
_021F0A04:
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #0x34]
mov r1, #0x26
bl ov14_021F6654
add r0, r4, #0
add r0, #0x24
ldrb r0, [r0]
cmp r0, #0
beq _021F0A26
add r0, r4, #0
bl ov14_021F57B8
_021F0A26:
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
bhs _021F0A3A
add r0, r4, #0
mov r1, #1
mov r2, #0
bl ov14_021F3488
_021F0A3A:
add r0, r4, #0
mov r1, #2
mov r2, #0
bl ov14_021F3488
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7E64
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #2
bne _021F0A6E
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0x1e
bhs _021F0A6E
ldr r1, _021F0A7C ; =ov14_021E94A8
add r0, r4, #0
mov r2, #0x17
bl ov14_021F0234
pop {r4, pc}
_021F0A6E:
ldr r1, _021F0A7C ; =ov14_021E94A8
add r0, r4, #0
mov r2, #0xe
bl ov14_021F0234
pop {r4, pc}
nop
_021F0A7C: .word ov14_021E94A8
thumb_func_end ov14_021F09BC
thumb_func_start ov14_021F0A80
ov14_021F0A80: ; 0x021F0A80
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
ldr r1, _021F0AA8 ; =ov14_021E9434
add r0, r4, #0
mov r2, #0x13
bl ov14_021F0234
pop {r4, pc}
nop
_021F0AA8: .word ov14_021E9434
thumb_func_end ov14_021F0A80
thumb_func_start ov14_021F0AAC
ov14_021F0AAC: ; 0x021F0AAC
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
ldr r1, _021F0AD4 ; =ov14_021E9450
add r0, r4, #0
mov r2, #0x19
bl ov14_021F0234
pop {r4, pc}
nop
_021F0AD4: .word ov14_021E9450
thumb_func_end ov14_021F0AAC
thumb_func_start ov14_021F0AD8
ov14_021F0AD8: ; 0x021F0AD8
push {r4, lr}
add r4, r0, #0
mov r1, #1
add r0, #0x23
strb r1, [r0]
ldr r0, [r4, #0x34]
mov r1, #0
bl ov14_021F43F4
mov r1, #1
add r0, r4, #0
add r2, r1, #0
bl ov14_021F3488
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8234
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8294
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
ldr r1, _021F0B30 ; =ov14_021E94BC
add r0, r4, #0
mov r2, #0x22
bl ov14_021F0234
pop {r4, pc}
nop
_021F0B30: .word ov14_021E94BC
thumb_func_end ov14_021F0AD8
thumb_func_start ov14_021F0B34
ov14_021F0B34: ; 0x021F0B34
push {r4, lr}
add r4, r0, #0
mov r2, #0
add r0, #0x23
strb r2, [r0]
ldr r0, [r4, #0x34]
mov r1, #9
bl ov14_021F2A18
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021F0B5E
add r0, r4, #0
bl ov14_021EC710
pop {r4, pc}
_021F0B5E:
add r0, r4, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #0x25
bl ov14_021F1100
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F0B34
thumb_func_start ov14_021F0B70
ov14_021F0B70: ; 0x021F0B70
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #1
bl ov14_021E81A8
ldr r0, [r4, #0x34]
bl ov14_021F63F0
ldr r0, [r4, #0x34]
bl ov14_021F63A8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8368
add r0, r4, #0
bl ov14_021E82DC
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7E78
add r0, r4, #0
bl ov14_021F30B0
pop {r4, pc}
thumb_func_end ov14_021F0B70
thumb_func_start ov14_021F0BB4
ov14_021F0BB4: ; 0x021F0BB4
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #1
bl ov14_021E81A8
ldr r0, [r4, #0x34]
bl ov14_021F63F0
ldr r0, [r4, #0x34]
bl ov14_021F63B8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8368
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7E88
add r0, r4, #0
bl ov14_021F311C
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F0BB4
thumb_func_start ov14_021F0BF4
ov14_021F0BF4: ; 0x021F0BF4
push {r4, lr}
add r4, r0, #0
bl ov14_021F30B0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E7E78
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F0BF4
thumb_func_start ov14_021F0C0C
ov14_021F0C0C: ; 0x021F0C0C
push {r4, lr}
add r4, r0, #0
mov r1, #0xff
add r0, #0x21
strb r1, [r0]
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8020
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #1
bne _021F0C48
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
_021F0C48:
ldr r1, _021F0C54 ; =ov14_021E952C
add r0, r4, #0
mov r2, #0x2d
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021F0C54: .word ov14_021E952C
thumb_func_end ov14_021F0C0C
thumb_func_start ov14_021F0C58
ov14_021F0C58: ; 0x021F0C58
push {r4, lr}
add r4, r0, #0
add r1, r4, #0
mov r2, #0xff
add r1, #0x21
strb r2, [r1]
mov r1, #1
add r2, r1, #0
bl ov14_021F3488
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E805C
ldr r1, _021F0C84 ; =ov14_021E954C
add r0, r4, #0
mov r2, #0x2e
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021F0C84: .word ov14_021E954C
thumb_func_end ov14_021F0C58
thumb_func_start ov14_021F0C88
ov14_021F0C88: ; 0x021F0C88
push {r4, lr}
add r4, r0, #0
mov r1, #1
add r0, #0x24
strb r1, [r0]
add r0, r4, #0
mov r2, #0
add r0, #0x29
strb r2, [r0]
ldr r0, [r4, #0x34]
mov r1, #9
bl ov14_021F2A18
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8234
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8294
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
ldr r1, _021F0CD4 ; =ov14_021E94BC
add r0, r4, #0
mov r2, #0x2f
bl ov14_021F0234
pop {r4, pc}
nop
_021F0CD4: .word ov14_021E94BC
thumb_func_end ov14_021F0C88
thumb_func_start ov14_021F0CD8
ov14_021F0CD8: ; 0x021F0CD8
push {r4, lr}
add r4, r0, #0
mov r1, #0
add r0, #0x24
strb r1, [r0]
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #1
bne _021F0D10
add r0, r4, #0
mov r1, #0x31
bl ov14_021F0EE8
pop {r4, pc}
_021F0D10:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021F0D2A
add r0, r4, #0
mov r1, #0x31
bl ov14_021F0D34
pop {r4, pc}
_021F0D2A:
add r0, r4, #0
mov r1, #0x32
bl ov14_021F1090
pop {r4, pc}
thumb_func_end ov14_021F0CD8
thumb_func_start ov14_021F0D34
ov14_021F0D34: ; 0x021F0D34
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
ldr r1, _021F0D54 ; =ov14_021E9970
add r0, r5, #0
add r2, r4, #0
bl ov14_021F0234
pop {r3, r4, r5, pc}
nop
_021F0D54: .word ov14_021E9970
thumb_func_end ov14_021F0D34
thumb_func_start ov14_021F0D58
ov14_021F0D58: ; 0x021F0D58
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5]
add r6, r1, #0
ldr r0, [r0, #8]
cmp r0, #3
bne _021F0D6A
mov r4, #0x82
b _021F0D6C
_021F0D6A:
mov r4, #0x29
_021F0D6C:
add r0, r5, #0
add r0, #0x25
ldrb r7, [r0]
mov r1, #6
add r0, r7, #0
bl _s32_div_f
mov r1, #6
mul r1, r0
add r1, r6, r1
cmp r1, r7
beq _021F0D96
add r0, r5, #0
add r0, #0x25
strb r1, [r0]
add r0, r5, #0
bl ov14_021F48B4
add r0, r5, #0
bl ov14_021F57B8
_021F0D96:
add r0, r5, #0
add r0, #0x25
ldrb r1, [r0]
ldrb r0, [r5, #0x1f]
cmp r1, r0
bne _021F0E4E
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #1
bne _021F0DEA
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
ldr r0, [r5, #0x34]
add r1, #0x25
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r5, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #0xe
bl ov14_021F29E4
add r0, r5, #0
add r1, r4, #0
bl ov14_021F0EE8
pop {r3, r4, r5, r6, r7, pc}
_021F0DEA:
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021F0E40
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
ldr r0, [r5, #0x34]
add r1, #0x25
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r5, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #0xe
bl ov14_021F29E4
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
ldr r1, _021F0EE0 ; =ov14_021E9970
add r0, r5, #0
add r2, r4, #0
bl ov14_021F0234
pop {r3, r4, r5, r6, r7, pc}
_021F0E40:
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #0xe
bl ov14_021F29E4
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_021F0E4E:
ldr r0, [r5, #0x34]
mov r1, #0x2d
ldr r0, [r0, #0x2c]
bl sub_02019F7C
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F90
cmp r0, #1
bne _021F0E9E
ldr r0, [r5, #0x34]
mov r1, #0x2d
ldr r0, [r0, #0x2c]
bl sub_0201A018
add r1, sp, #0
add r1, #1
add r2, sp, #0
bl sub_02020A0C
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r2, sp, #0
ldr r0, [r1, r0]
ldrb r1, [r2, #1]
ldrb r2, [r2]
bl sub_0200DDB8
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #1
bl ov14_021F2A18
_021F0E9E:
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #1
bne _021F0EB2
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_021F0EB2:
add r0, r5, #0
bl ov14_021F604C
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021F0ED4
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
_021F0ED4:
ldr r1, _021F0EE4 ; =ov14_021E9920
add r0, r5, #0
add r2, r4, #0
bl ov14_021F0234
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F0EE0: .word ov14_021E9970
_021F0EE4: .word ov14_021E9920
thumb_func_end ov14_021F0D58
thumb_func_start ov14_021F0EE8
ov14_021F0EE8: ; 0x021F0EE8
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85D0
ldr r1, _021F0F08 ; =ov14_021E9970
add r0, r5, #0
add r2, r4, #0
bl ov14_021F0234
pop {r3, r4, r5, pc}
nop
_021F0F08: .word ov14_021E9970
thumb_func_end ov14_021F0EE8
thumb_func_start ov14_021F0F0C
ov14_021F0F0C: ; 0x021F0F0C
push {r4, r5, r6, lr}
add r4, r0, #0
add r2, r4, #0
add r2, #0x25
add r5, r1, #0
ldrb r1, [r4, #0x1f]
ldrb r2, [r2]
strb r2, [r4, #0x1f]
add r2, r4, #0
add r2, #0x25
ldrb r2, [r2]
cmp r1, r2
ldrb r1, [r4, #0x1f]
bls _021F0F42
bl ov14_021F2DE8
ldrb r1, [r4, #0x1f]
add r0, r4, #0
bl ov14_021E7930
add r1, r0, #0
add r0, r4, #0
mov r2, #0
bl ov14_021E783C
ldr r6, _021F0FFC ; =ov14_021E92AC
b _021F0F5A
_021F0F42:
bl ov14_021F2DE8
ldrb r1, [r4, #0x1f]
add r0, r4, #0
bl ov14_021E7930
add r1, r0, #0
add r0, r4, #0
mov r2, #1
bl ov14_021E783C
ldr r6, _021F1000 ; =ov14_021E9370
_021F0F5A:
cmp r5, #4
bhi _021F0FF0
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021F0F6A: ; jump table
.short _021F0F74 - _021F0F6A - 2 ; case 0
.short _021F0F90 - _021F0F6A - 2 ; case 1
.short _021F0F9C - _021F0F6A - 2 ; case 2
.short _021F0FA2 - _021F0F6A - 2 ; case 3
.short _021F0FCA - _021F0F6A - 2 ; case 4
_021F0F74:
add r0, r4, #0
bl ov14_021F4848
add r0, r4, #0
add r0, #0x23
ldrb r0, [r0]
cmp r0, #0
bne _021F0F8A
mov r0, #0xc
str r0, [r4, #0x30]
b _021F0FF0
_021F0F8A:
mov r0, #0x24
str r0, [r4, #0x30]
b _021F0FF0
_021F0F90:
add r0, r4, #0
bl ov14_021F4848
mov r0, #0x3d
str r0, [r4, #0x30]
b _021F0FF0
_021F0F9C:
mov r0, #0x47
str r0, [r4, #0x30]
b _021F0FF0
_021F0FA2:
add r0, r4, #0
bl ov14_021F4848
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #1
bne _021F0FC4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85D0
_021F0FC4:
mov r0, #0x29
str r0, [r4, #0x30]
b _021F0FF0
_021F0FCA:
add r0, r4, #0
bl ov14_021F4848
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #1
bne _021F0FEC
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85D0
_021F0FEC:
mov r0, #0x82
str r0, [r4, #0x30]
_021F0FF0:
ldr r2, [r4, #0x30]
add r0, r4, #0
add r1, r6, #0
bl ov14_021F0234
pop {r4, r5, r6, pc}
.balign 4, 0
_021F0FFC: .word ov14_021E92AC
_021F1000: .word ov14_021E9370
thumb_func_end ov14_021F0F0C
thumb_func_start ov14_021F1004
ov14_021F1004: ; 0x021F1004
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x25
add r4, r1, #0
ldrb r1, [r0]
mov r0, #6
mul r0, r4
add r1, r1, r0
bpl _021F101A
add r1, #0x12
b _021F1020
_021F101A:
cmp r1, #0x12
blt _021F1020
sub r1, #0x12
_021F1020:
add r0, r5, #0
add r0, #0x25
strb r1, [r0]
add r0, r5, #0
bl ov14_021F49E0
add r0, r5, #0
bl ov14_021F48B4
add r0, r5, #0
bl ov14_021F4848
add r0, r5, #0
bl ov14_021F57B8
cmp r4, #0
ldr r0, [r5, #0x34]
ble _021F104E
mov r1, #5
mov r2, #4
bl ov14_021F29E4
pop {r3, r4, r5, pc}
_021F104E:
mov r1, #4
mov r2, #2
bl ov14_021F29E4
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F1004
thumb_func_start ov14_021F1058
ov14_021F1058: ; 0x021F1058
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl ov14_021F4720
add r0, r5, #0
bl ov14_021F4848
add r0, r5, #0
bl ov14_021F48B4
add r0, r5, #0
bl ov14_021F57B8
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E86E0
ldr r1, _021F108C ; =ov14_021E9554
add r0, r5, #0
add r2, r4, #0
bl ov14_021F0234
pop {r3, r4, r5, pc}
.balign 4, 0
_021F108C: .word ov14_021E9554
thumb_func_end ov14_021F1058
thumb_func_start ov14_021F1090
ov14_021F1090: ; 0x021F1090
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8704
ldr r1, _021F10B0 ; =ov14_021E9590
add r0, r5, #0
add r2, r4, #0
bl ov14_021F0234
pop {r3, r4, r5, pc}
nop
_021F10B0: .word ov14_021E9590
thumb_func_end ov14_021F1090
thumb_func_start ov14_021F10B4
ov14_021F10B4: ; 0x021F10B4
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
mov r1, #0
bl ov14_021F5EC4
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r1, _021F10D8 ; =ov14_021E95B4
add r0, r5, #0
add r2, r4, #0
bl ov14_021F0234
pop {r3, r4, r5, pc}
.balign 4, 0
_021F10D8: .word ov14_021E95B4
thumb_func_end ov14_021F10B4
thumb_func_start ov14_021F10DC
ov14_021F10DC: ; 0x021F10DC
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
ldr r1, _021F10FC ; =ov14_021E95B4
add r0, r5, #0
add r2, r4, #0
bl ov14_021F0234
pop {r3, r4, r5, pc}
nop
_021F10FC: .word ov14_021E95B4
thumb_func_end ov14_021F10DC
thumb_func_start ov14_021F1100
ov14_021F1100: ; 0x021F1100
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
mov r1, #0xff
add r0, #0x21
strb r1, [r0]
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
ldr r1, _021F1124 ; =ov14_021E9434
add r0, r5, #0
add r2, r4, #0
bl ov14_021F0234
pop {r3, r4, r5, pc}
.balign 4, 0
_021F1124: .word ov14_021E9434
thumb_func_end ov14_021F1100
thumb_func_start ov14_021F1128
ov14_021F1128: ; 0x021F1128
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
ldrb r0, [r4, #0x1f]
mov r1, #6
bl _s32_div_f
ldr r2, [r4, #0x34]
ldr r0, _021F116C ; =0x0000043C
str r1, [r2, r0]
ldr r1, [r4, #0x34]
ldr r0, [r1, r0]
str r0, [r4, #0x2c]
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021F1162
add r0, r4, #0
bl ov14_021ED5B0
pop {r4, pc}
_021F1162:
add r0, r4, #0
mov r1, #0x35
bl ov14_021F1100
pop {r4, pc}
.balign 4, 0
_021F116C: .word 0x0000043C
thumb_func_end ov14_021F1128
thumb_func_start ov14_021F1170
ov14_021F1170: ; 0x021F1170
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x25
ldrb r0, [r0]
add r4, r1, #0
mov r1, #6
bl _s32_div_f
mov r1, #6
mul r1, r0
add r0, r5, #0
add r1, r4, r1
add r0, #0x25
strb r1, [r0]
add r0, r5, #0
bl ov14_021F48B4
add r0, r5, #0
bl ov14_021F57B8
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r1, [r5, #0x34]
ldr r0, _021F11F4 ; =0x0000043C
add r3, r2, #0
str r2, [r1, r0]
ldr r0, [r5, #0x34]
mov r1, #8
ldr r0, [r0, #0x2c]
bl sub_02019F88
ldr r0, [r5, #0x34]
mov r1, #8
ldr r0, [r0, #0x2c]
bl sub_0201A018
add r1, sp, #0
add r1, #1
add r2, sp, #0
bl sub_02020A0C
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r2, sp, #0
ldr r0, [r1, r0]
ldrb r1, [r2, #1]
ldrb r2, [r2]
bl sub_0200DDB8
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #1
bl ov14_021F2A18
mov r0, #0x3d
pop {r3, r4, r5, pc}
nop
_021F11F4: .word 0x0000043C
thumb_func_end ov14_021F1170
thumb_func_start ov14_021F11F8
ov14_021F11F8: ; 0x021F11F8
push {r4, lr}
add r4, r0, #0
bl ov14_021F1004
add r0, r4, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
ldr r0, [r4, #0x34]
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x3d
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F11F8
thumb_func_start ov14_021F1228
ov14_021F1228: ; 0x021F1228
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
ldr r2, _021F1298 ; =0x0000044D
ldrb r3, [r0, r2]
lsl r2, r1, #2
add r3, r3, r2
bpl _021F123C
add r3, #0x18
b _021F1242
_021F123C:
cmp r3, #0x18
blt _021F1242
sub r3, #0x18
_021F1242:
ldr r2, _021F1298 ; =0x0000044D
cmp r1, #0
strb r3, [r0, r2]
ldr r0, [r4, #0x34]
ble _021F1256
mov r1, #5
mov r2, #4
bl ov14_021F29E4
b _021F125E
_021F1256:
mov r1, #4
mov r2, #2
bl ov14_021F29E4
_021F125E:
add r0, r4, #0
bl ov14_021F462C
add r0, r4, #0
bl ov14_021F4530
add r0, r4, #0
bl ov14_021F58B8
ldr r2, [r4, #0x34]
ldr r1, _021F1298 ; =0x0000044D
ldr r0, [r2, #0x2c]
ldrb r1, [r2, r1]
lsr r3, r1, #0x1f
lsl r2, r1, #0x1e
sub r2, r2, r3
mov r1, #0x1e
ror r2, r1
add r1, r3, r2
lsl r1, r1, #0x18
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
pop {r4, pc}
.balign 4, 0
_021F1298: .word 0x0000044D
thumb_func_end ov14_021F1228
thumb_func_start ov14_021F129C
ov14_021F129C: ; 0x021F129C
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r2, [r4, #0x34]
ldr r3, _021F1314 ; =0x0000044D
ldrb r5, [r2, r3]
lsr r5, r5, #2
lsl r5, r5, #2
add r1, r1, r5
strb r1, [r2, r3]
bl ov14_021F459C
add r0, r4, #0
bl ov14_021F58B8
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
ldr r2, [r4, #0x34]
ldr r1, _021F1318 ; =0x0000043C
str r0, [r2, r1]
ldr r0, [r4, #0x34]
ldr r2, [r0, r1]
ldr r0, [r0, #0x2c]
lsl r2, r2, #0x18
lsr r2, r2, #0x18
mov r1, #6
add r3, r2, #0
bl sub_02019F88
ldr r0, [r4, #0x34]
mov r1, #6
ldr r0, [r0, #0x2c]
bl sub_0201A018
add r1, sp, #0
add r1, #1
add r2, sp, #0
bl sub_02020A0C
mov r0, #0x32
ldr r1, [r4, #0x34]
lsl r0, r0, #4
add r2, sp, #0
ldr r0, [r1, r0]
ldrb r1, [r2, #1]
ldrb r2, [r2]
bl sub_0200DDB8
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #1
bl ov14_021F2A18
pop {r3, r4, r5, pc}
.balign 4, 0
_021F1314: .word 0x0000044D
_021F1318: .word 0x0000043C
thumb_func_end ov14_021F129C
thumb_func_start ov14_021F131C
ov14_021F131C: ; 0x021F131C
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #0x34]
ldr r0, _021F13A0 ; =0x0000044D
ldrb r1, [r1, r0]
cmp r1, #0x10
blo _021F1348
ldr r0, [r4, #4]
sub r1, #0x10
bl sub_020740B4
cmp r0, #0
bne _021F1348
ldr r0, _021F13A4 ; =0x000005F3
bl PlaySE
add r0, r4, #0
mov r1, #0xc
mov r2, #0x42
bl ov14_021F2270
pop {r4, pc}
_021F1348:
add r1, r4, #0
add r1, #0x25
ldrb r1, [r1]
add r0, r4, #0
bl ov14_021E7930
ldr r2, [r4, #0x34]
ldr r1, _021F13A0 ; =0x0000044D
ldrb r1, [r2, r1]
cmp r1, r0
bne _021F1370
ldr r0, _021F13A4 ; =0x000005F3
bl PlaySE
add r0, r4, #0
mov r1, #0xc
mov r2, #0x42
bl ov14_021F2270
pop {r4, pc}
_021F1370:
add r0, r4, #0
add r0, #0x25
ldrb r1, [r0]
ldrb r0, [r4, #0x1f]
cmp r1, r0
beq _021F138E
ldr r0, _021F13A8 ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #0xc
mov r2, #0xa5
bl ov14_021F2270
pop {r4, pc}
_021F138E:
ldr r0, _021F13AC ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #0xc
mov r2, #0x47
bl ov14_021F2270
pop {r4, pc}
.balign 4, 0
_021F13A0: .word 0x0000044D
_021F13A4: .word 0x000005F3
_021F13A8: .word 0x000005DC
_021F13AC: .word 0x000005DD
thumb_func_end ov14_021F131C
thumb_func_start ov14_021F13B0
ov14_021F13B0: ; 0x021F13B0
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4, #8]
bl GetPartyCount
cmp r0, #6
beq _021F13EE
ldr r0, [r4, #0x34]
mov r1, #0x27
bl ov14_021F6654
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
ldr r0, [r4, #0x34]
bl ov14_021E884C
ldr r1, _021F1410 ; =ov14_021E9434
add r0, r4, #0
mov r2, #0x53
bl ov14_021F0234
pop {r4, pc}
_021F13EE:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E83F4
add r0, r4, #0
mov r1, #0
mov r2, #2
mov r3, #0x25
bl ov14_021F685C
mov r0, #0xe
str r0, [r4, #0x30]
mov r0, #6
pop {r4, pc}
nop
_021F1410: .word ov14_021E9434
thumb_func_end ov14_021F13B0
thumb_func_start ov14_021F1414
ov14_021F1414: ; 0x021F1414
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0x27
bl ov14_021F6654
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
ldr r1, _021F1444 ; =ov14_021E9450
add r0, r4, #0
mov r2, #0x5c
bl ov14_021F0234
pop {r4, pc}
nop
_021F1444: .word ov14_021E9450
thumb_func_end ov14_021F1414
thumb_func_start ov14_021F1448
ov14_021F1448: ; 0x021F1448
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x25
ldrb r0, [r0]
add r4, r1, #0
mov r1, #6
bl _s32_div_f
mov r1, #6
mul r1, r0
add r0, r5, #0
add r1, r4, r1
add r0, #0x25
strb r1, [r0]
bl sub_02025358
cmp r0, #0
bne _021F148C
ldr r0, [r5, #4]
add r5, #0x25
ldrb r1, [r5]
bl sub_02073F64
cmp r0, #0x1e
bne _021F1482
ldr r0, _021F14F8 ; =0x000005F3
bl PlaySE
b _021F1488
_021F1482:
ldr r0, _021F14FC ; =0x000005DD
bl PlaySE
_021F1488:
mov r0, #0x66
pop {r3, r4, r5, pc}
_021F148C:
ldr r0, _021F14FC ; =0x000005DD
bl PlaySE
add r0, r5, #0
bl ov14_021F48B4
add r0, r5, #0
bl ov14_021F57B8
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r2, r0, #0
ldr r1, [r5, #0x34]
ldr r0, _021F1500 ; =0x0000043C
add r3, r2, #0
str r2, [r1, r0]
ldr r0, [r5, #0x34]
mov r1, #8
ldr r0, [r0, #0x2c]
bl sub_02019F88
ldr r0, [r5, #0x34]
mov r1, #8
ldr r0, [r0, #0x2c]
bl sub_0201A018
add r1, sp, #0
add r1, #1
add r2, sp, #0
bl sub_02020A0C
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r2, sp, #0
ldr r0, [r1, r0]
ldrb r1, [r2, #1]
ldrb r2, [r2]
bl sub_0200DDB8
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #1
bl ov14_021F2A18
mov r0, #0x61
pop {r3, r4, r5, pc}
.balign 4, 0
_021F14F8: .word 0x000005F3
_021F14FC: .word 0x000005DD
_021F1500: .word 0x0000043C
thumb_func_end ov14_021F1448
thumb_func_start ov14_021F1504
ov14_021F1504: ; 0x021F1504
push {r4, lr}
add r4, r0, #0
bl ov14_021F1004
add r0, r4, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
ldr r0, [r4, #0x34]
lsl r1, r1, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x61
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F1504
thumb_func_start ov14_021F1534
ov14_021F1534: ; 0x021F1534
ldr r3, _021F153C ; =ov14_021F2270
mov r1, #0xa
mov r2, #0x62
bx r3
.balign 4, 0
_021F153C: .word ov14_021F2270
thumb_func_end ov14_021F1534
thumb_func_start ov14_021F1540
ov14_021F1540: ; 0x021F1540
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
add r1, r4, #0
add r1, #0x25
ldrb r1, [r1]
ldr r0, [r4, #4]
bl sub_02073F64
cmp r0, #0x1e
bne _021F1566
ldr r0, _021F1578 ; =0x000005F3
bl PlaySE
b _021F156C
_021F1566:
ldr r0, _021F157C ; =0x000005DD
bl PlaySE
_021F156C:
add r0, r4, #0
mov r1, #0xc
mov r2, #0x66
bl ov14_021F2270
pop {r4, pc}
.balign 4, 0
_021F1578: .word 0x000005F3
_021F157C: .word 0x000005DD
thumb_func_end ov14_021F1540
thumb_func_start ov14_021F1580
ov14_021F1580: ; 0x021F1580
push {r4, lr}
add r4, r0, #0
add r0, #0x21
strb r1, [r0]
ldr r1, [r4, #0x34]
ldr r0, _021F15C0 ; =0x0000044B
mov r2, #1
strb r2, [r1, r0]
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #0
bl ov14_021F3190
add r0, r4, #0
bl ov14_021F40DC
add r0, r4, #0
add r0, #0x2a
ldrb r0, [r0]
cmp r0, #0
bne _021F15B4
ldr r0, [r4, #0x34]
bl ov14_021E8824
_021F15B4:
ldr r1, _021F15C4 ; =ov14_021EA254
add r0, r4, #0
mov r2, #0x73
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021F15C0: .word 0x0000044B
_021F15C4: .word ov14_021EA254
thumb_func_end ov14_021F1580
thumb_func_start ov14_021F15C8
ov14_021F15C8: ; 0x021F15C8
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r5, r0, #0
cmp r4, #0xff
bne _021F15D6
mov r2, #1
b _021F15D8
_021F15D6:
mov r2, #0
_021F15D8:
ldr r1, [r5, #0x34]
ldr r0, _021F17F8 ; =0x000088CC
str r2, [r1, r0]
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
add r2, sp, #0
bl sub_0200DE44
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
add r3, sp, #0
add r2, r0, r1
ldr r1, _021F17FC ; =0x00004094
ldrb r1, [r2, r1]
mov r2, #0
ldrsh r2, [r3, r2]
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #2
add r2, r2, #4
lsl r2, r2, #0x10
ldrsh r1, [r3, r1]
asr r2, r2, #0x10
bl sub_0200DDB8
cmp r4, #0x24
bhs _021F1684
cmp r4, #0x1e
blo _021F167C
ldr r0, [r5, #8]
bl GetPartyCount
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
cmp r1, #0x1e
bhs _021F1658
add r1, r4, #0
sub r1, #0x1e
cmp r1, r0
bls _021F1650
add r0, r5, #0
bl ov14_021E765C
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
b _021F17D0
_021F1650:
ldr r0, [r5, #0x34]
bl ov14_021E884C
b _021F17D0
_021F1658:
add r1, r4, #0
sub r1, #0x1e
cmp r1, r0
blo _021F1674
add r0, r5, #0
bl ov14_021E765C
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
b _021F17D0
_021F1674:
ldr r0, [r5, #0x34]
bl ov14_021E884C
b _021F17D0
_021F167C:
ldr r0, [r5, #0x34]
bl ov14_021E884C
b _021F17D0
_021F1684:
cmp r4, #0xff
bne _021F168A
b _021F1798
_021F168A:
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
mov r1, #6
mul r1, r0
add r1, r4, r1
add r0, r5, #0
sub r1, #0x25
add r0, #0x25
strb r1, [r0]
add r0, r5, #0
bl ov14_021F48B4
add r0, r5, #0
bl ov14_021F57B8
add r0, r5, #0
add r0, #0x21
ldrb r6, [r0]
cmp r6, #0x1e
blo _021F1752
sub r6, #0x1e
ldr r0, [r5, #8]
add r1, r6, #0
bl GetPartyMonByIndex
mov r1, #6
mov r2, #0
add r7, r0, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_02078068
cmp r0, #1
bne _021F16E2
ldr r0, [r5, #0x34]
bl ov14_021E884C
b _021F17D0
_021F16E2:
add r0, r7, #0
mov r1, #0xa2
mov r2, #0
bl GetMonData
cmp r0, #0
beq _021F16F8
ldr r0, [r5, #0x34]
bl ov14_021E884C
b _021F17D0
_021F16F8:
add r0, r5, #0
add r1, r6, #0
bl ov14_021E6480
cmp r0, #0
bne _021F170C
ldr r0, [r5, #0x34]
bl ov14_021E884C
b _021F17D0
_021F170C:
add r0, r5, #0
add r0, #0x25
ldrb r1, [r0]
ldrb r0, [r5, #0x1f]
cmp r1, r0
bne _021F172C
add r0, r5, #0
bl ov14_021E765C
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
b _021F17D0
_021F172C:
ldr r0, [r5, #4]
bl sub_02073E40
cmp r0, #0
bne _021F173E
ldr r0, [r5, #0x34]
bl ov14_021E884C
b _021F17D0
_021F173E:
add r0, r5, #0
bl ov14_021E765C
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
b _021F17D0
_021F1752:
add r0, r5, #0
add r0, #0x25
ldrb r1, [r0]
ldrb r0, [r5, #0x1f]
cmp r1, r0
bne _021F1772
add r0, r5, #0
bl ov14_021E765C
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
b _021F17D0
_021F1772:
ldr r0, [r5, #4]
bl sub_02073E40
cmp r0, #0
bne _021F1784
ldr r0, [r5, #0x34]
bl ov14_021E884C
b _021F17D0
_021F1784:
add r0, r5, #0
bl ov14_021E765C
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
b _021F17D0
_021F1798:
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
cmp r1, #0x24
bhs _021F17BE
add r0, r5, #0
bl ov14_021E7588
cmp r0, #0
bne _021F17D0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
b _021F17D0
_021F17BE:
add r0, r5, #0
bl ov14_021E765C
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
_021F17D0:
ldr r1, [r5, #0x34]
ldr r0, _021F1800 ; =0x0000044C
mov r2, #0
strb r4, [r1, r0]
ldr r1, [r5, #0x34]
sub r0, r0, #1
strb r2, [r1, r0]
add r0, r5, #0
bl ov14_021F08BC
add r0, r5, #0
mov r1, #2
add r0, #0x22
strb r1, [r0]
ldr r1, _021F1804 ; =ov14_021EA378
add r0, r5, #0
mov r2, #0x2b
bl ov14_021F0234
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F17F8: .word 0x000088CC
_021F17FC: .word 0x00004094
_021F1800: .word 0x0000044C
_021F1804: .word ov14_021EA378
thumb_func_end ov14_021F15C8
thumb_func_start ov14_021F1808
ov14_021F1808: ; 0x021F1808
push {r4, lr}
add r4, r0, #0
add r2, r4, #0
add r2, #0x21
strb r1, [r2]
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
mov r2, #6
mov r3, #0
bl ov14_021E6070
ldr r2, [r4, #0x34]
ldr r1, _021F18A8 ; =0x000088C8
strh r0, [r2, r1]
ldr r2, [r4, #0x34]
add r0, r4, #0
ldrh r1, [r2, r1]
bl ov14_021F5FBC
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8434
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8234
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8294
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
ldr r0, [r4, #0x34]
ldr r1, _021F18A8 ; =0x000088C8
ldrh r1, [r0, r1]
cmp r1, #0
beq _021F189C
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #0
bl ov14_021F396C
ldr r0, [r4, #0x34]
ldr r1, _021F18A8 ; =0x000088C8
ldrh r1, [r0, r1]
bl ov14_021F3844
ldr r0, [r4, #0x34]
bl ov14_021F39D0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88BC
_021F189C:
ldr r1, _021F18AC ; =ov14_021EA408
add r0, r4, #0
mov r2, #0x76
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021F18A8: .word 0x000088C8
_021F18AC: .word ov14_021EA408
thumb_func_end ov14_021F1808
thumb_func_start ov14_021F18B0
ov14_021F18B0: ; 0x021F18B0
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r3, [r5, #0x34]
ldr r2, _021F19E4 ; =0x000088C8
ldrh r4, [r3, r2]
add r2, r5, #0
add r2, #0x21
strb r1, [r2]
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
mov r2, #6
mov r3, #0
bl ov14_021E6070
ldr r2, [r5, #0x34]
ldr r1, _021F19E4 ; =0x000088C8
strh r0, [r2, r1]
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #1
bne _021F190E
cmp r4, #0
bne _021F18F2
ldr r1, [r5, #0x34]
ldr r0, _021F19E4 ; =0x000088C8
ldrh r0, [r1, r0]
cmp r0, #0
beq _021F1900
_021F18F2:
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E83F4
b _021F1932
_021F1900:
beq _021F1932
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
b _021F1932
_021F190E:
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8234
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8294
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
_021F1932:
ldr r2, [r5, #0x34]
ldr r1, _021F19E4 ; =0x000088C8
add r0, r5, #0
ldrh r1, [r2, r1]
bl ov14_021F5FBC
ldr r0, [r5, #0x34]
ldr r1, _021F19E4 ; =0x000088C8
ldrh r1, [r0, r1]
cmp r1, #0
beq _021F198A
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
mov r2, #0
bl ov14_021F396C
ldr r0, [r5, #0x34]
ldr r1, _021F19E4 ; =0x000088C8
ldrh r1, [r0, r1]
bl ov14_021F3844
ldr r0, [r5, #0x34]
bl ov14_021F39D0
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
mov r2, #1
bl ov14_021F34C8
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88BC
b _021F19A4
_021F198A:
mov r1, #0xb
bl ov14_021F2A44
cmp r0, #1
bne _021F19A4
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
add r0, r5, #0
bl ov14_021F40DC
_021F19A4:
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
add r1, sp, #0
add r1, #2
add r2, sp, #0
mov r3, #0
bl ov14_021F2F88
add r2, sp, #0
mov r0, #2
ldrsh r3, [r2, r0]
ldr r1, [r5, #0x34]
ldr r0, _021F19E8 ; =0x000040B8
add r3, #8
str r3, [r1, r0]
mov r1, #0
ldrsh r2, [r2, r1]
ldr r1, [r5, #0x34]
add r0, r0, #4
add r2, #8
str r2, [r1, r0]
add r0, r5, #0
bl ov14_021F1F24
ldr r1, _021F19EC ; =ov14_021EA4C8
add r0, r5, #0
mov r2, #0x7e
bl ov14_021F0234
pop {r3, r4, r5, pc}
nop
_021F19E4: .word 0x000088C8
_021F19E8: .word 0x000040B8
_021F19EC: .word ov14_021EA4C8
thumb_func_end ov14_021F18B0
thumb_func_start ov14_021F19F0
ov14_021F19F0: ; 0x021F19F0
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
add r2, r4, #0
add r2, #0x21
strb r1, [r2]
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
mov r2, #6
mov r3, #0
bl ov14_021E6070
ldr r2, [r4, #0x34]
ldr r1, _021F1B38 ; =0x000088C8
strh r0, [r2, r1]
add r0, r4, #0
mov r1, #0
bl ov14_021F6408
ldr r1, [r4, #0x34]
ldr r0, _021F1B38 ; =0x000088C8
ldrh r0, [r1, r0]
cmp r0, #0
bne _021F1A78
ldr r0, [r1, #0x2c]
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
bl sub_02019F7C
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021F1A4E
add sp, #4
mov r0, #0x82
pop {r3, r4, pc}
_021F1A4E:
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #1
bne _021F1A6A
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85D0
_021F1A6A:
ldr r1, _021F1B3C ; =ov14_021E99A0
add r0, r4, #0
mov r2, #0x82
bl ov14_021F0234
add sp, #4
pop {r3, r4, pc}
_021F1A78:
ldr r0, _021F1B40 ; =0x000005EB
bl PlaySE
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #2
bl ov14_021F396C
ldr r0, [r4, #0x34]
ldr r1, _021F1B38 ; =0x000088C8
ldrh r1, [r0, r1]
bl ov14_021F3844
ldr r0, [r4, #0x34]
bl ov14_021F39D0
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #1
bl ov14_021F34C8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88BC
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #1
ldr r1, [r4, #0x34]
bne _021F1ADE
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85D0
b _021F1AF8
_021F1ADE:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021F1AF8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
_021F1AF8:
add r0, r4, #0
add r0, #0x21
ldrb r0, [r0]
add r1, sp, #0
add r1, #2
add r2, sp, #0
mov r3, #2
bl ov14_021F2F88
add r2, sp, #0
mov r0, #2
ldrsh r3, [r2, r0]
ldr r1, [r4, #0x34]
ldr r0, _021F1B44 ; =0x000040B8
add r3, #8
str r3, [r1, r0]
mov r1, #0
ldrsh r2, [r2, r1]
ldr r1, [r4, #0x34]
add r0, r0, #4
add r2, #8
str r2, [r1, r0]
add r0, r4, #0
bl ov14_021F1F24
ldr r1, _021F1B48 ; =ov14_021EA778
add r0, r4, #0
mov r2, #0x84
bl ov14_021F0234
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_021F1B38: .word 0x000088C8
_021F1B3C: .word ov14_021E99A0
_021F1B40: .word 0x000005EB
_021F1B44: .word 0x000040B8
_021F1B48: .word ov14_021EA778
thumb_func_end ov14_021F19F0
thumb_func_start ov14_021F1B4C
ov14_021F1B4C: ; 0x021F1B4C
push {r4, lr}
add r4, r0, #0
add r2, r4, #0
add r2, #0x21
strb r1, [r2]
ldr r3, [r4, #0x34]
ldr r2, _021F1BF0 ; =0x000088CA
strh r1, [r3, r2]
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
mov r2, #6
mov r3, #0
bl ov14_021E6070
ldr r2, [r4, #0x34]
ldr r1, _021F1BF4 ; =0x000088C8
strh r0, [r2, r1]
ldr r0, [r4, #0x34]
ldrh r0, [r0, r1]
cmp r0, #0
bne _021F1B7C
mov r0, #0x82
pop {r4, pc}
_021F1B7C:
ldr r0, _021F1BF8 ; =0x000005EB
bl PlaySE
ldr r1, [r4, #0x34]
ldr r0, _021F1BFC ; =0x0000044B
mov r2, #1
strb r2, [r1, r0]
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #2
bl ov14_021F39A0
ldr r0, [r4, #0x34]
ldr r1, _021F1BF4 ; =0x000088C8
ldrh r1, [r0, r1]
bl ov14_021F3844
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #1
bl ov14_021F34C8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88BC
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #1
bne _021F1BE2
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8634
_021F1BE2:
ldr r1, _021F1C00 ; =ov14_021EAA04
add r0, r4, #0
mov r2, #0x88
bl ov14_021F0234
pop {r4, pc}
nop
_021F1BF0: .word 0x000088CA
_021F1BF4: .word 0x000088C8
_021F1BF8: .word 0x000005EB
_021F1BFC: .word 0x0000044B
_021F1C00: .word ov14_021EAA04
thumb_func_end ov14_021F1B4C
thumb_func_start ov14_021F1C04
ov14_021F1C04: ; 0x021F1C04
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r0, #0
cmp r1, #0x24
bhs _021F1C2E
add r0, r4, #0
bl ov14_021E7588
cmp r0, #1
bne _021F1C34
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8620
b _021F1C34
_021F1C2E:
add r0, r4, #0
bl ov14_021E765C
_021F1C34:
add r0, r4, #0
bl ov14_021F1F24
ldr r1, _021F1C48 ; =ov14_021EAC24
add r0, r4, #0
mov r2, #0x86
bl ov14_021F0234
pop {r4, pc}
nop
_021F1C48: .word ov14_021EAC24
thumb_func_end ov14_021F1C04
thumb_func_start ov14_021F1C4C
ov14_021F1C4C: ; 0x021F1C4C
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
ldr r1, [r5, #0x34]
ldr r0, _021F1CD4 ; =0x0000044C
mov r2, #0
strb r4, [r1, r0]
ldr r1, [r5, #0x34]
sub r0, r0, #1
strb r2, [r1, r0]
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
add r2, sp, #0
bl sub_0200DE44
mov r0, #0xca
add r3, sp, #0
mov r2, #0
ldrsh r2, [r3, r2]
ldr r1, [r5, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #2
add r2, #8
lsl r2, r2, #0x10
ldrsh r1, [r3, r1]
asr r2, r2, #0x10
bl sub_0200DDB8
ldr r1, [r5, #0x34]
ldr r0, _021F1CD4 ; =0x0000044C
ldrb r0, [r1, r0]
cmp r0, #0xff
bne _021F1CA0
add r0, r5, #0
bl ov14_021F1C04
pop {r3, r4, r5, pc}
_021F1CA0:
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
add r2, r4, #0
bl ov14_021E6AA0
cmp r0, #0
bne _021F1CBA
add r0, r5, #0
bl ov14_021F1C04
pop {r3, r4, r5, pc}
_021F1CBA:
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88F8
ldr r1, _021F1CD8 ; =ov14_021EAB54
add r0, r5, #0
mov r2, #0x8a
bl ov14_021F0234
pop {r3, r4, r5, pc}
nop
_021F1CD4: .word 0x0000044C
_021F1CD8: .word ov14_021EAB54
thumb_func_end ov14_021F1C4C
thumb_func_start ov14_021F1CDC
ov14_021F1CDC: ; 0x021F1CDC
push {r4, lr}
add r4, r0, #0
add r2, r4, #0
add r2, #0x21
strb r1, [r2]
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
mov r2, #6
mov r3, #0
bl ov14_021E6070
ldr r2, [r4, #0x34]
ldr r1, _021F1D64 ; =0x000088C8
strh r0, [r2, r1]
ldr r2, [r4, #0x34]
add r0, r4, #0
ldrh r1, [r2, r1]
bl ov14_021F5FBC
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8434
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
ldr r0, [r4, #0x34]
ldr r1, _021F1D64 ; =0x000088C8
ldrh r1, [r0, r1]
cmp r1, #0
beq _021F1D58
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r4, #0x34]
mov r2, #1
bl ov14_021F396C
ldr r0, [r4, #0x34]
ldr r1, _021F1D64 ; =0x000088C8
ldrh r1, [r0, r1]
bl ov14_021F3844
ldr r0, [r4, #0x34]
bl ov14_021F39D0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88BC
_021F1D58:
ldr r1, _021F1D68 ; =ov14_021EA408
add r0, r4, #0
mov r2, #0x8c
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021F1D64: .word 0x000088C8
_021F1D68: .word ov14_021EA408
thumb_func_end ov14_021F1CDC
thumb_func_start ov14_021F1D6C
ov14_021F1D6C: ; 0x021F1D6C
push {r3, r4, r5, lr}
add r5, r0, #0
add r2, r5, #0
add r2, #0x21
strb r1, [r2]
ldr r2, [r5, #0x34]
ldr r1, _021F1EAC ; =0x000088C8
mov r3, #0
ldrh r4, [r2, r1]
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
mov r2, #6
bl ov14_021E6070
ldr r2, [r5, #0x34]
ldr r1, _021F1EAC ; =0x000088C8
strh r0, [r2, r1]
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #1
bne _021F1DCA
cmp r4, #0
bne _021F1DAE
ldr r1, [r5, #0x34]
ldr r0, _021F1EAC ; =0x000088C8
ldrh r0, [r1, r0]
cmp r0, #0
beq _021F1DBC
_021F1DAE:
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E83F4
b _021F1DD6
_021F1DBC:
beq _021F1DD6
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
b _021F1DD6
_021F1DCA:
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8314
_021F1DD6:
ldr r2, [r5, #0x34]
ldr r1, _021F1EAC ; =0x000088C8
add r0, r5, #0
ldrh r1, [r2, r1]
bl ov14_021F5FBC
ldr r0, [r5, #0x34]
ldr r1, _021F1EAC ; =0x000088C8
ldrh r1, [r0, r1]
cmp r1, #0
beq _021F1E52
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
mov r2, #1
bl ov14_021F396C
ldr r0, [r5, #0x34]
ldr r1, _021F1EAC ; =0x000088C8
ldrh r1, [r0, r1]
bl ov14_021F3844
ldr r0, [r5, #0x34]
bl ov14_021F39D0
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
ldr r0, [r5, #0x34]
mov r2, #1
bl ov14_021F34C8
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88BC
ldr r1, [r5, #0x34]
ldr r0, _021F1EAC ; =0x000088C8
ldrh r0, [r1, r0]
bl sub_02078068
cmp r0, #1
bne _021F1E46
add r0, r5, #0
mov r1, #0x28
mov r2, #9
bl ov14_021F6928
b _021F1E6C
_021F1E46:
add r0, r5, #0
mov r1, #0x28
mov r2, #0xa
bl ov14_021F6928
b _021F1E6C
_021F1E52:
mov r1, #0xb
bl ov14_021F2A44
cmp r0, #1
bne _021F1E6C
ldr r0, [r5, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
add r0, r5, #0
bl ov14_021F40DC
_021F1E6C:
add r0, r5, #0
add r0, #0x21
ldrb r0, [r0]
add r1, sp, #0
add r1, #2
add r2, sp, #0
mov r3, #1
bl ov14_021F2F88
add r2, sp, #0
mov r0, #2
ldrsh r3, [r2, r0]
ldr r1, [r5, #0x34]
ldr r0, _021F1EB0 ; =0x000040B8
add r3, #8
str r3, [r1, r0]
mov r1, #0
ldrsh r2, [r2, r1]
ldr r1, [r5, #0x34]
add r0, r0, #4
add r2, #8
str r2, [r1, r0]
add r0, r5, #0
bl ov14_021F1F24
ldr r1, _021F1EB4 ; =ov14_021EACD4
add r0, r5, #0
mov r2, #0x8d
bl ov14_021F0234
pop {r3, r4, r5, pc}
nop
_021F1EAC: .word 0x000088C8
_021F1EB0: .word 0x000040B8
_021F1EB4: .word ov14_021EACD4
thumb_func_end ov14_021F1D6C
thumb_func_start ov14_021F1EB8
ov14_021F1EB8: ; 0x021F1EB8
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r1, _021F1F1C ; =0x000088C8
ldrh r1, [r0, r1]
cmp r1, #0
bne _021F1EFA
mov r1, #9
mov r2, #0
bl ov14_021F2A18
add r2, r5, #0
add r2, #0x21
ldrb r1, [r5, #0x1f]
ldrb r2, [r2]
add r0, r5, #0
bl ov14_021E60C0
mov r1, #0x4c
mov r2, #0
bl GetBoxMonData
cmp r0, #0
bne _021F1EF6
mov r0, #0x24
str r0, [r5, #0x2c]
add r0, r5, #0
mov r1, #1
bl ov14_021F027C
pop {r3, r4, r5, pc}
_021F1EF6:
mov r4, #0x7c
b _021F1F04
_021F1EFA:
mov r1, #9
mov r2, #0
bl ov14_021F2A18
mov r4, #0x78
_021F1F04:
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
ldr r1, _021F1F20 ; =ov14_021E9450
add r0, r5, #0
add r2, r4, #0
bl ov14_021F0234
pop {r3, r4, r5, pc}
.balign 4, 0
_021F1F1C: .word 0x000088C8
_021F1F20: .word ov14_021E9450
thumb_func_end ov14_021F1EB8
thumb_func_start ov14_021F1F24
ov14_021F1F24: ; 0x021F1F24
push {r4, lr}
add r4, r0, #0
mov r0, #0xa
mov r1, #0x1c
bl AllocFromHeap
ldr r1, [r4, #0x34]
str r0, [r1, #0xc]
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F1F24
thumb_func_start ov14_021F1F38
ov14_021F1F38: ; 0x021F1F38
ldr r0, [r0, #0x34]
ldr r3, _021F1F40 ; =FreeToHeap
ldr r0, [r0, #0xc]
bx r3
.balign 4, 0
_021F1F40: .word FreeToHeap
thumb_func_end ov14_021F1F38
thumb_func_start ov14_021F1F44
ov14_021F1F44: ; 0x021F1F44
push {r3, r4, r5, lr}
add r5, r0, #0
bl ov14_021F7B7C
cmp r0, #1
bne _021F1F7E
ldr r0, _021F2008 ; =0x000005DD
bl PlaySE
add r0, r5, #0
mov r1, #1
add r0, #0x26
strb r1, [r0]
add r0, r5, #0
add r0, #0x27
strb r1, [r0]
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r1, r5, #0
add r1, #0x28
strb r0, [r1]
add r0, r5, #0
mov r1, #0xf
mov r2, #0x97
bl ov14_021F2330
pop {r3, r4, r5, pc}
_021F1F7E:
add r0, r5, #0
bl ov14_021F7340
add r4, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F90
cmp r0, #0
bne _021F1F96
mov r4, #1
mvn r4, r4
_021F1F96:
mov r1, #2
mvn r1, r1
cmp r4, r1
bhi _021F1FCE
bhs _021F1FE0
cmp r4, #0x2a
bhi _021F1FC4
add r0, r4, #0
sub r0, #0x24
bmi _021F1FFA
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021F1FB6: ; jump table
.short _021F1FF0 - _021F1FB6 - 2 ; case 0
.short _021F1FFA - _021F1FB6 - 2 ; case 1
.short _021F1FFA - _021F1FB6 - 2 ; case 2
.short _021F1FFA - _021F1FB6 - 2 ; case 3
.short _021F1FFA - _021F1FB6 - 2 ; case 4
.short _021F1FFA - _021F1FB6 - 2 ; case 5
.short _021F1FFA - _021F1FB6 - 2 ; case 6
_021F1FC4:
mov r0, #3
mvn r0, r0
cmp r4, r0
beq _021F2004
b _021F1FFA
_021F1FCE:
add r0, r1, #1
cmp r4, r0
bhi _021F1FD8
beq _021F1FF0
b _021F1FFA
_021F1FD8:
add r0, r1, #2
cmp r4, r0
beq _021F2004
b _021F1FFA
_021F1FE0:
ldr r0, _021F200C ; =0x000005DC
bl PlaySE
add r0, r5, #0
mov r1, #0x74
bl ov14_021F0244
pop {r3, r4, r5, pc}
_021F1FF0:
add r0, r5, #0
mov r1, #0xff
bl ov14_021F15C8
pop {r3, r4, r5, pc}
_021F1FFA:
add r0, r5, #0
add r1, r4, #0
bl ov14_021F15C8
pop {r3, r4, r5, pc}
_021F2004:
mov r0, #0x73
pop {r3, r4, r5, pc}
.balign 4, 0
_021F2008: .word 0x000005DD
_021F200C: .word 0x000005DC
thumb_func_end ov14_021F1F44
thumb_func_start ov14_021F2010
ov14_021F2010: ; 0x021F2010
push {r3, lr}
ldr r0, [r0, #0x34]
ldr r0, [r0, #0xc]
bl FreeToHeap
mov r0, #0x73
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021F2010
thumb_func_start ov14_021F2020
ov14_021F2020: ; 0x021F2020
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
mov r2, #6
mov r3, #0
bl ov14_021E6070
add r1, r0, #0
str r1, [sp]
lsl r1, r1, #0x10
ldr r0, [r5, #0xc]
lsr r1, r1, #0x10
mov r2, #1
mov r3, #0xa
bl sub_02078398
cmp r0, #1
bne _021F20A4
add r2, r5, #0
add r2, #0x21
ldrb r1, [r5, #0x1f]
ldrb r2, [r2]
add r0, r5, #0
bl ov14_021E60C0
add r4, r0, #0
ldr r1, [sp]
add r0, r5, #0
mov r2, #0x25
bl ov14_021F673C
mov r0, #0
add r1, r5, #0
str r0, [sp]
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
mov r2, #6
add r3, sp, #0
bl ov14_021E6094
add r0, r4, #0
bl ov14_021E64D0
cmp r0, #1
bne _021F2096
add r0, r5, #0
add r0, #0x21
ldrb r2, [r0]
ldr r3, [r5, #0x34]
ldrb r1, [r5, #0x1f]
add r4, r3, r2
ldr r3, _021F20BC ; =0x00004094
add r0, r5, #0
ldrb r3, [r4, r3]
bl ov14_021F2ED0
_021F2096:
add r1, r5, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r5, #0
bl ov14_021E75F4
b _021F20B2
_021F20A4:
ldr r0, _021F20C0 ; =0x000005F3
bl PlaySE
add r0, r5, #0
mov r1, #0x25
bl ov14_021F675C
_021F20B2:
mov r0, #0xe
str r0, [r5, #0x30]
mov r0, #6
pop {r3, r4, r5, pc}
nop
_021F20BC: .word 0x00004094
_021F20C0: .word 0x000005F3
thumb_func_end ov14_021F2020
thumb_func_start ov14_021F20C4
ov14_021F20C4: ; 0x021F20C4
push {r4, lr}
add r4, r0, #0
bl ov14_021F40DC
ldr r0, [r4, #0x34]
mov r1, #0x25
bl ov14_021F6654
add r0, r4, #0
bl ov14_021E71E8
ldr r1, [r4, #0x34]
ldr r0, _021F20F0 ; =0x000088DC
ldr r0, [r1, r0]
bl ov14_021F3354
ldr r0, [r4, #0x34]
bl ov14_021E884C
mov r0, #0x1a
pop {r4, pc}
nop
_021F20F0: .word 0x000088DC
thumb_func_end ov14_021F20C4
thumb_func_start ov14_021F20F4
ov14_021F20F4: ; 0x021F20F4
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4]
ldr r0, [r0]
bl sub_0207879C
ldr r2, [r4, #0x34]
ldr r1, _021F21A8 ; =0x000088C8
mov r3, #0xa
ldrh r1, [r2, r1]
mov r2, #1
bl sub_02078398
cmp r0, #0
bne _021F212A
ldr r0, _021F21AC ; =0x000005F3
bl PlaySE
add r0, r4, #0
mov r1, #6
mov r2, #0x25
bl ov14_021F68C0
mov r0, #0x7a
str r0, [r4, #0x30]
mov r0, #6
pop {r3, r4, r5, pc}
_021F212A:
mov r1, #0
add r0, sp, #0
strh r1, [r0]
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r4, #0
mov r2, #6
add r3, sp, #0
bl ov14_021E6094
add r2, r4, #0
add r2, #0x21
ldrb r1, [r4, #0x1f]
ldrb r2, [r2]
add r0, r4, #0
bl ov14_021E60C0
bl ov14_021E64D0
cmp r0, #1
bne _021F216C
add r0, r4, #0
add r0, #0x21
ldrb r2, [r0]
ldr r3, [r4, #0x34]
ldrb r1, [r4, #0x1f]
add r5, r3, r2
ldr r3, _021F21B0 ; =0x00004094
add r0, r4, #0
ldrb r3, [r5, r3]
bl ov14_021F2ED0
_021F216C:
add r1, r4, #0
add r1, #0x21
ldrb r1, [r1]
add r0, r4, #0
bl ov14_021E7588
add r0, r4, #0
bl ov14_021F40DC
ldr r0, [r4, #0x34]
mov r1, #0x25
bl ov14_021F6654
ldr r0, [r4, #0x34]
mov r1, #1
bl ov14_021F391C
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #2
bl ov14_021F29E4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88F8
mov r0, #0x79
pop {r3, r4, r5, pc}
.balign 4, 0
_021F21A8: .word 0x000088C8
_021F21AC: .word 0x000005F3
_021F21B0: .word 0x00004094
thumb_func_end ov14_021F20F4
thumb_func_start ov14_021F21B4
ov14_021F21B4: ; 0x021F21B4
push {r4, lr}
add r4, r0, #0
ldr r0, _021F21CC ; =0x0000060D
bl PlaySE
mov r0, #0xb3
str r0, [r4, #0x30]
add r0, r4, #0
mov r1, #1
bl ov14_021F0204
pop {r4, pc}
.balign 4, 0
_021F21CC: .word 0x0000060D
thumb_func_end ov14_021F21B4
thumb_func_start ov14_021F21D0
ov14_021F21D0: ; 0x021F21D0
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0x25
bl ov14_021F6654
ldr r0, [r4, #0x34]
mov r1, #1
ldr r0, [r0, #0x2c]
bl sub_02019F94
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #3
bhi _021F226A
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021F21FA: ; jump table
.short _021F2202 - _021F21FA - 2 ; case 0
.short _021F221C - _021F21FA - 2 ; case 1
.short _021F223E - _021F21FA - 2 ; case 2
.short _021F2254 - _021F21FA - 2 ; case 3
_021F2202:
mov r1, #0
add r0, r4, #0
add r2, r1, #0
mov r3, #0x27
bl ov14_021F685C
add r0, r4, #0
mov r1, #2
mov r2, #0
bl ov14_021F3488
mov r0, #0x5b
pop {r4, pc}
_021F221C:
mov r1, #0
add r0, r4, #0
add r2, r1, #0
mov r3, #0x27
bl ov14_021F685C
ldr r0, [r4, #0x34]
mov r1, #1
bl ov14_021F43F4
add r0, r4, #0
mov r1, #1
mov r2, #0
bl ov14_021F3488
mov r0, #0x51
pop {r4, pc}
_021F223E:
ldr r0, [r4, #0x34]
mov r1, #1
bl ov14_021F43F4
add r0, r4, #0
mov r1, #1
mov r2, #0
bl ov14_021F3488
mov r0, #0xc
pop {r4, pc}
_021F2254:
ldr r0, [r4, #0x34]
mov r1, #1
bl ov14_021F43F4
add r0, r4, #0
mov r1, #0x81
mov r2, #0
bl ov14_021F3488
mov r0, #0x75
pop {r4, pc}
_021F226A:
mov r0, #0xc
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F21D0
thumb_func_start ov14_021F2270
ov14_021F2270: ; 0x021F2270
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
add r6, r2, #0
mov r0, #0x2f
ldr r2, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r2, r0]
add r2, sp, #0
add r2, #1
add r3, sp, #0
add r4, r1, #0
bl sub_02019B1C
mov r0, #0x2f
add r3, sp, #0
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r4, #0
add r2, sp, #4
add r3, #2
bl sub_02019B44
ldr r2, [r5, #0x34]
ldr r0, _021F232C ; =0x000088D4
mov r3, #1
ldrb r1, [r2, r0]
bic r1, r3
mov r3, #1
orr r1, r3
strb r1, [r2, r0]
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r4, #0
bl sub_02019B10
lsl r0, r0, #0x19
ldr r3, [r5, #0x34]
ldr r1, _021F232C ; =0x000088D4
mov r4, #0xfe
ldrb r2, [r3, r1]
lsr r0, r0, #0x18
bic r2, r4
orr r0, r2
strb r0, [r3, r1]
ldr r0, [r5, #0x34]
add r2, r1, #1
ldrb r3, [r0, r2]
mov r2, #0xf
bic r3, r2
mov r2, #0xd
orr r3, r2
add r2, r1, #1
strb r3, [r0, r2]
ldr r0, [r5, #0x34]
ldrb r3, [r0, r2]
mov r2, #0xf0
bic r3, r2
mov r2, #0xc0
orr r3, r2
add r2, r1, #1
strb r3, [r0, r2]
ldr r3, [r5, #0x34]
mov r2, #0
add r0, r1, #2
strb r2, [r3, r0]
ldr r3, [r5, #0x34]
add r0, r1, #3
strb r2, [r3, r0]
add r0, sp, #0
mov r3, #1
ldrsb r7, [r0, r3]
ldr r4, [r5, #0x34]
add r3, r1, #4
strb r7, [r4, r3]
ldrsb r4, [r0, r2]
ldr r3, [r5, #0x34]
add r2, r1, #5
strb r4, [r3, r2]
ldrh r4, [r0, #4]
ldr r3, [r5, #0x34]
add r2, r1, #6
strb r4, [r3, r2]
ldrh r3, [r0, #2]
ldr r2, [r5, #0x34]
add r0, r1, #7
strb r3, [r2, r0]
str r6, [r5, #0x30]
mov r0, #8
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F232C: .word 0x000088D4
thumb_func_end ov14_021F2270
thumb_func_start ov14_021F2330
ov14_021F2330: ; 0x021F2330
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
add r6, r2, #0
mov r0, #0x2f
ldr r2, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r2, r0]
add r2, sp, #0
add r2, #1
add r3, sp, #0
add r4, r1, #0
bl sub_02019B1C
mov r0, #0x2f
add r3, sp, #0
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r4, #0
add r2, sp, #4
add r3, #2
bl sub_02019B44
ldr r2, [r5, #0x34]
ldr r0, _021F23EC ; =0x000088D4
mov r3, #1
ldrb r1, [r2, r0]
bic r1, r3
mov r3, #1
orr r1, r3
strb r1, [r2, r0]
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r4, #0
bl sub_02019B10
lsl r0, r0, #0x19
ldr r3, [r5, #0x34]
ldr r1, _021F23EC ; =0x000088D4
mov r4, #0xfe
ldrb r2, [r3, r1]
lsr r0, r0, #0x18
bic r2, r4
orr r0, r2
strb r0, [r3, r1]
ldr r0, [r5, #0x34]
add r2, r1, #1
ldrb r3, [r0, r2]
mov r2, #0xf
bic r3, r2
mov r2, #3
orr r3, r2
add r2, r1, #1
strb r3, [r0, r2]
ldr r0, [r5, #0x34]
ldrb r3, [r0, r2]
mov r2, #0xf0
bic r3, r2
mov r2, #0x20
orr r3, r2
add r2, r1, #1
strb r3, [r0, r2]
ldr r3, [r5, #0x34]
mov r2, #0
add r0, r1, #2
strb r2, [r3, r0]
ldr r3, [r5, #0x34]
add r0, r1, #3
strb r2, [r3, r0]
add r0, sp, #0
mov r3, #1
ldrsb r7, [r0, r3]
ldr r4, [r5, #0x34]
add r3, r1, #4
strb r7, [r4, r3]
ldrsb r4, [r0, r2]
ldr r3, [r5, #0x34]
add r2, r1, #5
strb r4, [r3, r2]
ldrh r4, [r0, #4]
ldr r3, [r5, #0x34]
add r2, r1, #6
strb r4, [r3, r2]
ldrh r3, [r0, #2]
ldr r2, [r5, #0x34]
add r0, r1, #7
strb r3, [r2, r0]
str r6, [r5, #0x30]
mov r0, #8
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F23EC: .word 0x000088D4
thumb_func_end ov14_021F2330
thumb_func_start ov14_021F23F0
ov14_021F23F0: ; 0x021F23F0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r2, #0
ldr r2, [r5, #0x34]
ldr r0, _021F2488 ; =0x000088D4
add r4, r1, #0
ldrb r1, [r2, r0]
mov r3, #1
bic r1, r3
mov r3, #1
orr r1, r3
strb r1, [r2, r0]
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #2
bl sub_02019B10
lsl r0, r0, #0x19
ldr r3, [r5, #0x34]
ldr r1, _021F2488 ; =0x000088D4
mov r7, #0xfe
ldrb r2, [r3, r1]
lsr r0, r0, #0x18
bic r2, r7
orr r0, r2
strb r0, [r3, r1]
ldr r0, [r5, #0x34]
add r2, r1, #1
ldrb r3, [r0, r2]
mov r2, #0xf
bic r3, r2
mov r2, #3
orr r3, r2
add r2, r1, #1
strb r3, [r0, r2]
ldr r0, [r5, #0x34]
ldrb r3, [r0, r2]
mov r2, #0xf0
bic r3, r2
mov r2, #0x20
orr r3, r2
add r2, r1, #1
strb r3, [r0, r2]
ldr r3, [r5, #0x34]
mov r0, #0
add r2, r1, #2
strb r0, [r3, r2]
add r2, r1, #3
ldr r3, [r5, #0x34]
cmp r4, #0
strb r0, [r3, r2]
bne _021F2460
mov r3, #0x10
b _021F2462
_021F2460:
mov r3, #0x14
_021F2462:
ldr r2, [r5, #0x34]
add r0, r1, #5
strb r3, [r2, r0]
ldr r1, [r5, #0x34]
ldr r0, _021F248C ; =0x000088D8
mov r2, #0x16
strb r2, [r1, r0]
add r1, r0, #2
ldr r2, [r5, #0x34]
mov r3, #9
strb r3, [r2, r1]
ldr r1, [r5, #0x34]
mov r2, #4
add r0, r0, #3
strb r2, [r1, r0]
str r6, [r5, #0x30]
mov r0, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_021F2488: .word 0x000088D4
_021F248C: .word 0x000088D8
thumb_func_end ov14_021F23F0
thumb_func_start ov14_021F2490
ov14_021F2490: ; 0x021F2490
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r3, [r5, #0x34]
ldr r0, _021F252C ; =0x000088D4
add r6, r2, #0
ldrb r2, [r3, r0]
add r4, r1, #0
mov r1, #1
bic r2, r1
mov r1, #1
orr r2, r1
strb r2, [r3, r0]
mov r0, #0x2f
ldr r2, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r2, r0]
bl sub_02019B10
lsl r0, r0, #0x19
ldr r3, [r5, #0x34]
ldr r1, _021F252C ; =0x000088D4
mov r7, #0xfe
ldrb r2, [r3, r1]
lsr r0, r0, #0x18
bic r2, r7
orr r0, r2
strb r0, [r3, r1]
ldr r2, [r5, #0x34]
add r0, r1, #1
ldrb r3, [r2, r0]
mov r0, #0xf
bic r3, r0
add r7, r3, #0
mov r0, #3
orr r7, r0
add r3, r1, #1
strb r7, [r2, r3]
ldr r3, [r5, #0x34]
add r2, r1, #1
ldrb r2, [r3, r2]
mov r7, #0xf0
bic r2, r7
mov r7, #0x20
orr r7, r2
add r2, r1, #1
strb r7, [r3, r2]
ldr r7, [r5, #0x34]
mov r2, #0
add r3, r1, #2
strb r2, [r7, r3]
add r3, r1, #3
ldr r7, [r5, #0x34]
cmp r4, #0
strb r2, [r7, r3]
bne _021F2506
ldr r2, [r5, #0x34]
add r1, r1, #4
strb r0, [r2, r1]
b _021F250E
_021F2506:
ldr r2, [r5, #0x34]
mov r3, #0x16
add r0, r1, #4
strb r3, [r2, r0]
_021F250E:
ldr r1, [r5, #0x34]
ldr r0, _021F2530 ; =0x000088D9
mov r2, #0x14
strb r2, [r1, r0]
add r1, r0, #1
ldr r2, [r5, #0x34]
mov r3, #9
strb r3, [r2, r1]
ldr r1, [r5, #0x34]
mov r2, #4
add r0, r0, #2
strb r2, [r1, r0]
str r6, [r5, #0x30]
mov r0, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F252C: .word 0x000088D4
_021F2530: .word 0x000088D9
thumb_func_end ov14_021F2490
thumb_func_start ov14_021F2534
ov14_021F2534: ; 0x021F2534
push {r4, lr}
add r4, r0, #0
ldr r1, [r4]
ldr r1, [r1, #8]
cmp r1, #3
bhi _021F2570
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_021F254C: ; jump table
.short _021F2554 - _021F254C - 2 ; case 0
.short _021F255E - _021F254C - 2 ; case 1
.short _021F255E - _021F254C - 2 ; case 2
.short _021F255E - _021F254C - 2 ; case 3
_021F2554:
mov r1, #2
mov r2, #1
bl ov14_021F3488
pop {r4, pc}
_021F255E:
ldr r0, [r4, #0x34]
mov r1, #0
bl ov14_021F43F4
mov r1, #1
add r0, r4, #0
add r2, r1, #0
bl ov14_021F3488
_021F2570:
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F2534
thumb_func_start ov14_021F2574
ov14_021F2574: ; 0x021F2574
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
add r0, r4, #0
mov r1, #0x25
mov r2, #1
bl ov14_021F66E8
add r0, r4, #0
bl ov14_021F2534
add r0, r4, #0
mov r1, #3
bl ov14_021F0254
pop {r4, pc}
thumb_func_end ov14_021F2574
thumb_func_start ov14_021F259C
ov14_021F259C: ; 0x021F259C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
add r0, r4, #0
mov r1, #0x25
mov r2, #0
bl ov14_021F66E8
add r0, r4, #0
bl ov14_021F2534
add r0, r4, #0
mov r1, #4
bl ov14_021F0254
pop {r4, pc}
thumb_func_end ov14_021F259C
thumb_func_start ov14_021F25C4
ov14_021F25C4: ; 0x021F25C4
push {r4, lr}
add r4, r0, #0
bl ov14_021E76B8
add r0, r4, #0
bl ov14_021F0AD8
pop {r4, pc}
thumb_func_end ov14_021F25C4
thumb_func_start ov14_021F25D4
ov14_021F25D4: ; 0x021F25D4
push {r4, lr}
add r4, r0, #0
bl ov14_021E76B8
add r0, r4, #0
bl ov14_021F0C88
pop {r4, pc}
thumb_func_end ov14_021F25D4
thumb_func_start ov14_021F25E4
ov14_021F25E4: ; 0x021F25E4
push {r4, lr}
add r4, r0, #0
mov r1, #0
bl ov14_021F40E8
add r0, r4, #0
mov r1, #1
add r0, #0x24
strb r1, [r0]
add r0, r4, #0
mov r2, #0
add r0, #0x29
strb r2, [r0]
ldr r0, [r4, #0x34]
mov r1, #9
bl ov14_021F2A18
add r0, r4, #0
mov r1, #0x2f
bl ov14_021F1100
pop {r4, pc}
thumb_func_end ov14_021F25E4
thumb_func_start ov14_021F2610
ov14_021F2610: ; 0x021F2610
ldr r3, _021F2618 ; =ov14_021F027C
mov r1, #0
bx r3
nop
_021F2618: .word ov14_021F027C
thumb_func_end ov14_021F2610
thumb_func_start ov14_021F261C
ov14_021F261C: ; 0x021F261C
ldr r3, _021F2620 ; =ov14_021F0910
bx r3
.balign 4, 0
_021F2620: .word ov14_021F0910
thumb_func_end ov14_021F261C
thumb_func_start ov14_021F2624
ov14_021F2624: ; 0x021F2624
ldr r3, _021F2628 ; =ov14_021F0A80
bx r3
.balign 4, 0
_021F2628: .word ov14_021F0A80
thumb_func_end ov14_021F2624
thumb_func_start ov14_021F262C
ov14_021F262C: ; 0x021F262C
ldr r3, _021F2630 ; =ov14_021F09BC
bx r3
.balign 4, 0
_021F2630: .word ov14_021F09BC
thumb_func_end ov14_021F262C
thumb_func_start ov14_021F2634
ov14_021F2634: ; 0x021F2634
ldr r3, _021F2638 ; =ov14_021F0AAC
bx r3
.balign 4, 0
_021F2638: .word ov14_021F0AAC
thumb_func_end ov14_021F2634
thumb_func_start ov14_021F263C
ov14_021F263C: ; 0x021F263C
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8248
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E82A8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r0, [r4, #0x34]
bl ov14_021E884C
add r0, r4, #0
mov r1, #0
bl ov14_021F40E8
ldr r1, _021F268C ; =ov14_021EA180
add r0, r4, #0
mov r2, #0x4a
bl ov14_021F0234
pop {r4, pc}
nop
_021F268C: .word ov14_021EA180
thumb_func_end ov14_021F263C
thumb_func_start ov14_021F2690
ov14_021F2690: ; 0x021F2690
push {r4, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x2b
ldrb r1, [r1]
cmp r1, #0
bne _021F26A4
bl ov14_021E76B8
b _021F26AA
_021F26A4:
mov r1, #0
bl ov14_021F40E8
_021F26AA:
add r0, r4, #0
bl ov14_021F0C0C
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F2690
thumb_func_start ov14_021F26B4
ov14_021F26B4: ; 0x021F26B4
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r0, [r4, #0x34]
bl ov14_021E884C
add r0, r4, #0
mov r1, #0
bl ov14_021F40E8
ldr r1, _021F26EC ; =ov14_021EA180
add r0, r4, #0
mov r2, #0x4c
bl ov14_021F0234
pop {r4, pc}
nop
_021F26EC: .word ov14_021EA180
thumb_func_end ov14_021F26B4
thumb_func_start ov14_021F26F0
ov14_021F26F0: ; 0x021F26F0
push {r4, lr}
add r4, r0, #0
bl ov14_021E76B8
add r0, r4, #0
bl ov14_021F0B34
pop {r4, pc}
thumb_func_end ov14_021F26F0
thumb_func_start ov14_021F2700
ov14_021F2700: ; 0x021F2700
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
add r0, r4, #0
mov r1, #3
bl ov14_021F0F0C
pop {r4, pc}
thumb_func_end ov14_021F2700
thumb_func_start ov14_021F2718
ov14_021F2718: ; 0x021F2718
push {r4, lr}
add r4, r0, #0
bl ov14_021E76B8
add r0, r4, #0
bl ov14_021F0CD8
pop {r4, pc}
thumb_func_end ov14_021F2718
thumb_func_start ov14_021F2728
ov14_021F2728: ; 0x021F2728
ldr r3, _021F2730 ; =ov14_021F0F0C
mov r1, #1
bx r3
nop
_021F2730: .word ov14_021F0F0C
thumb_func_end ov14_021F2728
thumb_func_start ov14_021F2734
ov14_021F2734: ; 0x021F2734
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0x27
bl ov14_021F6654
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
mov r1, #1
add r0, r4, #0
add r2, r1, #0
bl ov14_021F3488
add r0, r4, #0
mov r1, #0x3f
bl ov14_021F1090
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F2734
thumb_func_start ov14_021F2760
ov14_021F2760: ; 0x021F2760
ldr r3, _021F2768 ; =ov14_021F027C
mov r1, #2
bx r3
nop
_021F2768: .word ov14_021F027C
thumb_func_end ov14_021F2760
thumb_func_start ov14_021F276C
ov14_021F276C: ; 0x021F276C
ldr r3, _021F2774 ; =ov14_021F0F0C
mov r1, #2
bx r3
nop
_021F2774: .word ov14_021F0F0C
thumb_func_end ov14_021F276C
thumb_func_start ov14_021F2778
ov14_021F2778: ; 0x021F2778
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0x27
bl ov14_021F6654
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #3
bne _021F27A2
add r0, r4, #0
mov r1, #0x81
mov r2, #0
bl ov14_021F3488
b _021F27AC
_021F27A2:
add r0, r4, #0
mov r1, #1
mov r2, #0
bl ov14_021F3488
_021F27AC:
add r0, r4, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
ldr r2, [r4, #0x34]
ldr r0, _021F27C8 ; =0x0000043C
str r1, [r2, r0]
mov r0, #9
str r0, [r4, #0x2c]
mov r0, #0x43
pop {r4, pc}
nop
_021F27C8: .word 0x0000043C
thumb_func_end ov14_021F2778
thumb_func_start ov14_021F27CC
ov14_021F27CC: ; 0x021F27CC
ldr r3, _021F27D0 ; =ov14_021F13B0
bx r3
.balign 4, 0
_021F27D0: .word ov14_021F13B0
thumb_func_end ov14_021F27CC
thumb_func_start ov14_021F27D4
ov14_021F27D4: ; 0x021F27D4
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r0, [r4, #0x34]
bl ov14_021E884C
add r0, r4, #0
mov r1, #0
bl ov14_021F40E8
ldr r1, _021F280C ; =ov14_021EA130
add r0, r4, #0
mov r2, #0x59
bl ov14_021F0234
pop {r4, pc}
nop
_021F280C: .word ov14_021EA130
thumb_func_end ov14_021F27D4
thumb_func_start ov14_021F2810
ov14_021F2810: ; 0x021F2810
ldr r3, _021F2814 ; =ov14_021F1414
bx r3
.balign 4, 0
_021F2814: .word ov14_021F1414
thumb_func_end ov14_021F2810
thumb_func_start ov14_021F2818
ov14_021F2818: ; 0x021F2818
push {r4, lr}
add r4, r0, #0
mov r1, #0
bl ov14_021F5EB4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
ldr r0, [r4, #0x34]
bl ov14_021E884C
add r0, r4, #0
mov r1, #0
bl ov14_021F40E8
ldr r1, _021F2854 ; =ov14_021EA130
add r0, r4, #0
mov r2, #0x70
bl ov14_021F0234
pop {r4, pc}
.balign 4, 0
_021F2854: .word ov14_021EA130
thumb_func_end ov14_021F2818
thumb_func_start ov14_021F2858
ov14_021F2858: ; 0x021F2858
push {r4, lr}
add r4, r0, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #0x82
mov r2, #1
bl ov14_021F3488
add r0, r4, #0
bl ov14_021F0AD8
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F2858
thumb_func_start ov14_021F2874
ov14_021F2874: ; 0x021F2874
push {r4, lr}
add r4, r0, #0
bl ov14_021E76B8
add r0, r4, #0
mov r1, #0x82
mov r2, #1
bl ov14_021F3488
add r0, r4, #0
bl ov14_021F0C88
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F2874
thumb_func_start ov14_021F2890
ov14_021F2890: ; 0x021F2890
ldr r3, _021F2894 ; =ov14_021F1EB8
bx r3
.balign 4, 0
_021F2894: .word ov14_021F1EB8
thumb_func_end ov14_021F2890
thumb_func_start ov14_021F2898
ov14_021F2898: ; 0x021F2898
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8248
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E82A8
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
add r0, r4, #0
bl ov14_021F40DC
ldr r1, [r4, #0x34]
ldr r0, _021F28F4 ; =0x000088C8
ldrh r0, [r1, r0]
cmp r0, #0
beq _021F28E6
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88F8
_021F28E6:
ldr r1, _021F28F8 ; =ov14_021EA674
add r0, r4, #0
mov r2, #0x76
bl ov14_021F0234
pop {r4, pc}
nop
_021F28F4: .word 0x000088C8
_021F28F8: .word ov14_021EA674
thumb_func_end ov14_021F2898
thumb_func_start ov14_021F28FC
ov14_021F28FC: ; 0x021F28FC
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #0
bl ov14_021F2A18
add r0, r4, #0
mov r1, #4
bl ov14_021F0F0C
pop {r4, pc}
thumb_func_end ov14_021F28FC
thumb_func_start ov14_021F2914
ov14_021F2914: ; 0x021F2914
push {r4, lr}
add r4, r0, #0
bl ov14_021E76B8
ldr r0, [r4, #0x34]
mov r1, #0xb
mov r2, #0
bl ov14_021F2A18
add r0, r4, #0
bl ov14_021F0C0C
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F2914
thumb_func_start ov14_021F2930
ov14_021F2930: ; 0x021F2930
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E84A4
mov r0, #0x2f
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8328
add r0, r4, #0
bl ov14_021F40DC
ldr r1, [r4, #0x34]
ldr r0, _021F2974 ; =0x000088C8
ldrh r0, [r1, r0]
cmp r0, #0
beq _021F2966
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E88F8
_021F2966:
ldr r1, _021F2978 ; =ov14_021EA674
add r0, r4, #0
mov r2, #0x8c
bl ov14_021F0234
pop {r4, pc}
nop
_021F2974: .word 0x000088C8
_021F2978: .word ov14_021EA674
thumb_func_end ov14_021F2930
thumb_func_start ov14_021F297C
ov14_021F297C: ; 0x021F297C
push {r4, lr}
add r4, r0, #0
mov r0, #0x10
mov r1, #1
bl GX_EngineAToggleLayers
mov r0, #0x10
mov r1, #1
bl sub_02022CC8
ldr r0, [r4, #0x34]
bl ov14_021F2AC8
ldr r0, [r4, #0x34]
bl ov14_021F2B88
add r0, r4, #0
bl ov14_021F2BB8
ldr r0, [r4, #0x34]
bl ov14_021F4D10
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F297C
thumb_func_start ov14_021F29AC
ov14_021F29AC: ; 0x021F29AC
push {r4, lr}
add r4, r0, #0
bl ov14_021F4E68
add r0, r4, #0
bl ov14_021F2C04
add r0, r4, #0
bl ov14_021F2B68
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F29AC
thumb_func_start ov14_021F29C4
ov14_021F29C4: ; 0x021F29C4
push {r4, r5, r6, lr}
mov r6, #0xbf
add r5, r0, #0
mov r4, #0
lsl r6, r6, #2
_021F29CE:
ldr r0, [r5, r6]
cmp r0, #0
beq _021F29D8
bl sub_0200DC18
_021F29D8:
add r4, r4, #1
add r5, r5, #4
cmp r4, #0xf
blo _021F29CE
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov14_021F29C4
thumb_func_start ov14_021F29E4
ov14_021F29E4: ; 0x021F29E4
push {r4, r5, r6, lr}
add r6, r2, #0
mov r2, #0xbf
lsl r2, r2, #2
lsl r4, r1, #2
add r5, r0, r2
ldr r0, [r5, r4]
mov r1, #0
bl sub_0200DCC0
ldr r0, [r5, r4]
add r1, r6, #0
bl sub_0200DC4C
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov14_021F29E4
thumb_func_start ov14_021F2A04
ov14_021F2A04: ; 0x021F2A04
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r3, _021F2A14 ; =sub_0200DCA0
ldr r0, [r1, r0]
bx r3
nop
_021F2A14: .word sub_0200DCA0
thumb_func_end ov14_021F2A04
thumb_func_start ov14_021F2A18
ov14_021F2A18: ; 0x021F2A18
push {r3, lr}
cmp r2, #1
bne _021F2A30
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #1
bl sub_0200DCE8
pop {r3, pc}
_021F2A30:
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #0
bl sub_0200DCE8
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021F2A18
thumb_func_start ov14_021F2A44
ov14_021F2A44: ; 0x021F2A44
push {r3, lr}
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
bl sub_0200DCFC
cmp r0, #1
bne _021F2A5C
mov r0, #1
pop {r3, pc}
_021F2A5C:
mov r0, #0
pop {r3, pc}
thumb_func_end ov14_021F2A44
thumb_func_start ov14_021F2A60
ov14_021F2A60: ; 0x021F2A60
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
ldr r3, _021F2A70 ; =sub_0200DD54
add r1, r2, #0
bx r3
.balign 4, 0
_021F2A70: .word sub_0200DD54
thumb_func_end ov14_021F2A60
thumb_func_start ov14_021F2A74
ov14_021F2A74: ; 0x021F2A74
push {r4, lr}
add r4, r0, #0
ldr r0, _021F2A98 ; =0x000088D2
mov r3, #1
strh r3, [r4, r0]
lsl r0, r1, #2
add r1, r4, r0
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, r2, #0
bl sub_0200DD68
ldr r0, _021F2A98 ; =0x000088D2
mov r1, #0
strh r1, [r4, r0]
pop {r4, pc}
nop
_021F2A98: .word 0x000088D2
thumb_func_end ov14_021F2A74
thumb_func_start ov14_021F2A9C
ov14_021F2A9C: ; 0x021F2A9C
push {r3, lr}
cmp r2, #1
bne _021F2AB4
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #1
bl sub_0200E0FC
pop {r3, pc}
_021F2AB4:
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #0
bl sub_0200E0FC
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021F2A9C
thumb_func_start ov14_021F2AC8
ov14_021F2AC8: ; 0x021F2AC8
push {r4, r5, r6, r7, lr}
sub sp, #0x4c
ldr r3, _021F2B5C ; =0x021F80D4
add r2, sp, #0x34
add r4, r0, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
mov r0, #0xa
bl sub_0200CF18
mov r1, #0xbd
lsl r1, r1, #2
str r0, [r4, r1]
ldr r0, [r4, r1]
bl sub_0200CF38
mov r7, #0xbe
lsl r7, r7, #2
add r2, sp, #0x14
ldr r3, _021F2B60 ; =0x021F80EC
str r0, [r4, r7]
ldmia r3!, {r0, r1}
add r6, r2, #0
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
ldr r5, _021F2B64 ; =0x021F80A8
stmia r2!, {r0, r1}
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
add r1, r6, #0
str r0, [r3]
sub r0, r7, #4
ldr r0, [r4, r0]
mov r3, #0x20
bl sub_0200CF70
sub r1, r7, #4
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #0x67
bl sub_0200CFF4
sub r1, r7, #4
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
add r2, sp, #0x34
bl sub_0200D3F8
sub r0, r7, #4
ldr r0, [r4, r0]
bl sub_0200CF6C
mov r2, #2
mov r1, #0
lsl r2, r2, #0x14
bl sub_02009FC8
add sp, #0x4c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_021F2B5C: .word 0x021F80D4
_021F2B60: .word 0x021F80EC
_021F2B64: .word 0x021F80A8
thumb_func_end ov14_021F2AC8
thumb_func_start ov14_021F2B68
ov14_021F2B68: ; 0x021F2B68
push {r4, lr}
mov r1, #0xbd
add r4, r0, #0
lsl r1, r1, #2
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
bl sub_0200D998
mov r0, #0xbd
lsl r0, r0, #2
ldr r0, [r4, r0]
bl sub_0200D108
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F2B68
thumb_func_start ov14_021F2B88
ov14_021F2B88: ; 0x021F2B88
push {r4, lr}
add r4, r0, #0
bl ov14_021F41E4
add r0, r4, #0
bl ov14_021F42EC
add r0, r4, #0
bl ov14_021F2C84
add r0, r4, #0
bl ov14_021F3DE8
add r0, r4, #0
bl ov14_021F3714
add r0, r4, #0
bl ov14_021F34EC
add r0, r4, #0
bl ov14_021F3C08
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F2B88
thumb_func_start ov14_021F2BB8
ov14_021F2BB8: ; 0x021F2BB8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
bl ov14_021F4278
ldr r0, [r4, #0x34]
bl ov14_021F4380
ldr r0, [r4, #0x34]
bl ov14_021F2D1C
ldr r0, [r4, #0x34]
bl ov14_021F3E70
ldr r0, [r4, #0x34]
bl ov14_021F37F4
add r0, r4, #0
bl ov14_021F35BC
ldr r0, [r4, #0x34]
bl ov14_021F3CB4
pop {r4, pc}
thumb_func_end ov14_021F2BB8
thumb_func_start ov14_021F2BE8
ov14_021F2BE8: ; 0x021F2BE8
push {r3, r4, r5, lr}
lsl r5, r1, #2
mov r1, #0xbf
lsl r1, r1, #2
add r4, r0, r1
ldr r0, [r4, r5]
cmp r0, #0
beq _021F2C00
bl sub_0200D9DC
mov r0, #0
str r0, [r4, r5]
_021F2C00:
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021F2BE8
thumb_func_start ov14_021F2C04
ov14_021F2C04: ; 0x021F2C04
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_021F2C0A:
add r0, r5, #0
add r1, r4, #0
bl ov14_021F2BE8
add r4, r4, #1
cmp r4, #0x45
blo _021F2C0A
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021F2C04
thumb_func_start ov14_021F2C1C
ov14_021F2C1C: ; 0x021F2C1C
push {r4, r5, r6, lr}
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r5, r2, #0
ldr r0, [r0]
add r4, r3, #0
bl sub_02024B1C
mov r1, #1
bl sub_020B802C
add r6, r0, #0
add r0, r5, #0
add r1, r4, #0
bl DC_FlushRange
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl sub_020CFE74
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov14_021F2C1C
thumb_func_start ov14_021F2C50
ov14_021F2C50: ; 0x021F2C50
push {r4, r5, r6, lr}
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r5, r2, #0
ldr r0, [r0]
add r4, r3, #0
bl sub_02024B1C
mov r1, #2
bl sub_020B802C
add r6, r0, #0
add r0, r5, #0
add r1, r4, #0
bl DC_FlushRange
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl sub_020CFECC
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov14_021F2C50
thumb_func_start ov14_021F2C84
ov14_021F2C84: ; 0x021F2C84
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
mov r7, #0xbe
add r5, r0, #0
mov r4, #0
mov r6, #1
lsl r7, r7, #2
_021F2C92:
ldr r0, _021F2D18 ; =0x0000C0F9
str r6, [sp]
str r6, [sp, #4]
add r0, r4, r0
str r0, [sp, #8]
mov r0, #0xbd
lsl r0, r0, #2
ldr r0, [r5, r0]
ldr r1, [r5, r7]
mov r2, #0x13
mov r3, #0x4e
bl sub_0200D4A4
add r4, r4, #1
cmp r4, #0x24
blo _021F2C92
bl sub_02074490
add r3, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, _021F2D18 ; =0x0000C0F9
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #0xc]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
mov r2, #0x14
bl sub_0200D564
bl sub_0207449C
add r3, r0, #0
mov r0, #0
str r0, [sp]
ldr r0, _021F2D18 ; =0x0000C0F9
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
mov r2, #0x14
bl sub_0200D6D4
bl sub_020744A8
add r3, r0, #0
mov r0, #0
str r0, [sp]
ldr r0, _021F2D18 ; =0x0000C0F9
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
mov r2, #0x14
bl sub_0200D704
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F2D18: .word 0x0000C0F9
thumb_func_end ov14_021F2C84
thumb_func_start ov14_021F2D1C
ov14_021F2D1C: ; 0x021F2D1C
push {r4, r5, r6, r7, lr}
sub sp, #0x6c
add r5, r0, #0
mov r4, #0
ldr r3, _021F2DB8 ; =0x021F810C
str r4, [sp]
add r7, r5, #0
add r2, sp, #4
mov r6, #6
_021F2D2E:
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
sub r6, r6, #1
bne _021F2D2E
ldr r0, [r3]
str r0, [r2]
_021F2D3A:
add r6, sp, #4
add r3, sp, #0x38
mov r2, #6
_021F2D40:
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _021F2D40
ldr r0, [r6]
mov r1, #6
str r0, [r3]
add r0, r4, #0
bl _u32_div_f
mov r3, #0x18
add r0, sp, #4
mov r2, #0x34
ldrsh r2, [r0, r2]
mul r3, r1
add r1, r2, r3
strh r1, [r0, #0x34]
add r0, r4, #0
mov r1, #6
bl _u32_div_f
mov r3, #0x18
add r1, sp, #4
mov r2, #0x36
ldrsh r2, [r1, r2]
mul r3, r0
add r0, r2, r3
strh r0, [r1, #0x36]
ldr r0, [sp]
mov r1, #0x74
sub r0, r1, r0
str r0, [sp, #0x40]
ldr r0, _021F2DBC ; =0x0000C0F9
mov r1, #0xbd
add r0, r4, r0
lsl r1, r1, #2
str r0, [sp, #0x4c]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, sp, #0x38
bl sub_0200D734
mov r1, #0x36
lsl r1, r1, #4
str r0, [r7, r1]
add r2, r4, #0
add r1, r5, r4
ldr r0, _021F2DC0 ; =0x00004094
add r2, #0x19
strb r2, [r1, r0]
ldr r0, [sp]
add r4, r4, #1
add r0, r0, #2
add r7, r7, #4
str r0, [sp]
cmp r4, #0x24
blo _021F2D3A
add sp, #0x6c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_021F2DB8: .word 0x021F810C
_021F2DBC: .word 0x0000C0F9
_021F2DC0: .word 0x00004094
thumb_func_end ov14_021F2D1C
thumb_func_start ov14_021F2DC4
ov14_021F2DC4: ; 0x021F2DC4
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, r1, #0
add r4, r2, #0
bl sub_02074170
add r1, r0, #0
mov r0, #0xa
str r0, [sp]
ldr r0, _021F2DE4 ; =0x00000454
mov r2, #0
ldr r0, [r5, r0]
add r3, r4, #0
bl sub_02007C10
pop {r3, r4, r5, pc}
.balign 4, 0
_021F2DE4: .word 0x00000454
thumb_func_end ov14_021F2DC4
thumb_func_start ov14_021F2DE8
ov14_021F2DE8: ; 0x021F2DE8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
mov r4, #0
add r5, r0, #0
str r1, [sp, #4]
add r6, r4, #0
_021F2DF4:
mov r0, #0
str r0, [sp]
ldr r0, [r5, #4]
ldr r1, [sp, #4]
add r2, r4, #0
mov r3, #0xac
bl sub_02074014
cmp r0, #0
bne _021F2E10
ldr r0, [r5, #0x34]
mov r1, #0
add r2, r0, r4
b _021F2E56
_021F2E10:
ldr r1, [sp, #4]
add r0, r5, #0
add r2, r4, #0
bl ov14_021E60C0
add r7, r0, #0
ldr r0, [r5, #0x34]
add r1, r7, #0
add r2, sp, #0xc
bl ov14_021F2DC4
str r0, [sp, #8]
ldr r0, [sp, #0xc]
ldr r2, [r5, #0x34]
ldr r1, _021F2E6C ; =0x00000458
ldr r0, [r0, #0x14]
add r1, r2, r1
mov r2, #2
add r1, r1, r6
lsl r2, r2, #8
bl MIi_CpuCopy32
ldr r0, [sp, #8]
bl FreeToHeap
add r0, r7, #0
bl sub_02074444
ldr r1, [r5, #0x34]
add r2, r1, r4
ldr r1, _021F2E70 ; =0x00004076
strb r0, [r2, r1]
ldr r0, [r5, #0x34]
mov r1, #1
add r2, r0, r4
_021F2E56:
ldr r0, _021F2E74 ; =0x00004058
add r4, r4, #1
strb r1, [r2, r0]
mov r0, #2
lsl r0, r0, #8
add r6, r6, r0
cmp r4, #0x1e
blo _021F2DF4
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_021F2E6C: .word 0x00000458
_021F2E70: .word 0x00004076
_021F2E74: .word 0x00004058
thumb_func_end ov14_021F2DE8
thumb_func_start ov14_021F2E78
ov14_021F2E78: ; 0x021F2E78
push {r3, r4, r5, r6, r7, lr}
add r6, r3, #0
mov r3, #2
add r7, r1, #0
add r4, r2, #0
add r1, r4, #0
add r2, r7, #0
lsl r3, r3, #8
add r5, r0, #0
bl ov14_021F2C1C
lsl r0, r4, #2
add r1, r5, r0
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, r6, #3
bl sub_0200DD10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov14_021F2E78
thumb_func_start ov14_021F2EA0
ov14_021F2EA0: ; 0x021F2EA0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
add r6, r2, #0
add r4, r1, #0
add r2, sp, #0
bl ov14_021F2DC4
add r7, r0, #0
add r0, r4, #0
bl sub_02074444
ldr r1, [sp]
add r3, r0, #0
ldr r0, [r5, #0x34]
ldr r1, [r1, #0x14]
add r2, r6, #0
bl ov14_021F2E78
add r0, r7, #0
bl FreeToHeap
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021F2EA0
thumb_func_start ov14_021F2ED0
ov14_021F2ED0: ; 0x021F2ED0
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
str r1, [sp]
mov r0, #0xbf
add r4, r3, #0
ldr r1, [r5, #0x34]
lsl r0, r0, #2
add r6, r1, r0
lsl r7, r4, #2
ldr r0, [r6, r7]
str r2, [sp, #4]
mov r1, #0
bl sub_0200DCE8
ldr r1, [sp, #4]
add r0, r5, #0
mov r2, #0xac
mov r3, #0
bl ov14_021E6070
cmp r0, #0
beq _021F2F1A
ldr r1, [sp]
ldr r2, [sp, #4]
add r0, r5, #0
bl ov14_021E60C0
add r1, r0, #0
add r0, r5, #0
add r2, r4, #0
bl ov14_021F2EA0
ldr r0, [r6, r7]
mov r1, #1
bl sub_0200DCE8
_021F2F1A:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021F2ED0
thumb_func_start ov14_021F2F20
ov14_021F2F20: ; 0x021F2F20
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_021F2F26:
ldrb r1, [r5, #0x1f]
add r3, r4, #0
add r0, r5, #0
add r2, r4, #0
add r3, #0x19
bl ov14_021F2ED0
add r4, r4, #1
cmp r4, #0x1e
blo _021F2F26
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F2F20
thumb_func_start ov14_021F2F3C
ov14_021F2F3C: ; 0x021F2F3C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #8]
bl GetPartyCount
add r6, r0, #0
ldr r4, _021F2F80 ; =0x00000000
beq _021F2F7C
ldr r7, _021F2F84 ; =0x000040B2
_021F2F4E:
ldr r0, [r5, #8]
add r1, r4, #0
bl GetPartyMonByIndex
bl sub_02070DB0
ldr r2, [r5, #0x34]
add r1, r0, #0
add r3, r2, r4
ldr r2, _021F2F84 ; =0x000040B2
add r0, r5, #0
ldrb r2, [r3, r2]
bl ov14_021F2EA0
ldr r0, [r5, #0x34]
mov r2, #0
add r1, r0, r4
ldrb r1, [r1, r7]
bl ov14_021F2A18
add r4, r4, #1
cmp r4, r6
blo _021F2F4E
_021F2F7C:
pop {r3, r4, r5, r6, r7, pc}
nop
_021F2F80: .word 0x00000000
_021F2F84: .word 0x000040B2
thumb_func_end ov14_021F2F3C
thumb_func_start ov14_021F2F88
ov14_021F2F88: ; 0x021F2F88
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
cmp r5, #0x1e
bhs _021F2FB4
mov r1, #6
bl _u32_div_f
add r1, r1, #1
mov r0, #0x18
mul r0, r1
strh r0, [r4]
add r0, r5, #0
mov r1, #6
bl _u32_div_f
mov r1, #0x18
mul r1, r0
add r1, #0x30
strh r1, [r6]
pop {r4, r5, r6, pc}
_021F2FB4:
sub r5, #0x1e
ldr r0, _021F2FD4 ; =0x021F80BC
lsl r1, r5, #2
ldrsh r0, [r0, r1]
strh r0, [r4]
ldr r0, _021F2FD8 ; =0x021F80BE
ldrsh r0, [r0, r1]
sub r0, #0x90
strh r0, [r6]
cmp r3, #2
bne _021F2FD2
mov r0, #0
ldrsh r0, [r4, r0]
add r0, #0x98
strh r0, [r4]
_021F2FD2:
pop {r4, r5, r6, pc}
.balign 4, 0
_021F2FD4: .word 0x021F80BC
_021F2FD8: .word 0x021F80BE
thumb_func_end ov14_021F2F88
thumb_func_start ov14_021F2FDC
ov14_021F2FDC: ; 0x021F2FDC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #8]
bl GetPartyCount
ldr r6, _021F303C ; =0x021F80BC
str r0, [sp]
mov r4, #0
_021F2FEC:
ldr r0, [r5, #0x34]
ldr r1, _021F3040 ; =0x000040B2
add r2, r0, r4
ldrb r7, [r2, r1]
mov r2, #2
ldrsh r2, [r6, r2]
lsl r1, r7, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #0
ldrsh r1, [r6, r1]
bl sub_0200DDB8
add r1, r4, #0
ldr r0, [r5, #0x34]
add r1, #0x1e
mov r2, #1
bl ov14_021F3190
ldr r0, [sp]
cmp r4, r0
ldr r0, [r5, #0x34]
bhs _021F3028
add r1, r7, #0
mov r2, #1
bl ov14_021F2A18
b _021F3030
_021F3028:
add r1, r7, #0
mov r2, #0
bl ov14_021F2A18
_021F3030:
add r4, r4, #1
add r6, r6, #4
cmp r4, #6
blo _021F2FEC
pop {r3, r4, r5, r6, r7, pc}
nop
_021F303C: .word 0x021F80BC
_021F3040: .word 0x000040B2
thumb_func_end ov14_021F2FDC
thumb_func_start ov14_021F3044
ov14_021F3044: ; 0x021F3044
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #8]
bl GetPartyCount
ldr r6, _021F30A8 ; =0x021F80BC
str r0, [sp]
mov r4, #0
_021F3054:
ldr r0, [r5, #0x34]
ldr r1, _021F30AC ; =0x000040B2
add r2, r0, r4
ldrb r7, [r2, r1]
mov r2, #2
ldrsh r2, [r6, r2]
lsl r1, r7, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #0
ldrsh r1, [r6, r1]
add r1, #0x98
lsl r1, r1, #0x10
asr r1, r1, #0x10
bl sub_0200DDB8
add r1, r4, #0
ldr r0, [r5, #0x34]
add r1, #0x1e
mov r2, #1
bl ov14_021F3190
ldr r0, [sp]
cmp r4, r0
ldr r0, [r5, #0x34]
bhs _021F3096
add r1, r7, #0
mov r2, #1
bl ov14_021F2A18
b _021F309E
_021F3096:
add r1, r7, #0
mov r2, #0
bl ov14_021F2A18
_021F309E:
add r4, r4, #1
add r6, r6, #4
cmp r4, #6
blo _021F3054
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F30A8: .word 0x021F80BC
_021F30AC: .word 0x000040B2
thumb_func_end ov14_021F3044
thumb_func_start ov14_021F30B0
ov14_021F30B0: ; 0x021F30B0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #8]
bl GetPartyCount
ldr r6, _021F3114 ; =0x021F80BC
str r0, [sp]
mov r4, #0
_021F30C0:
ldr r0, [r5, #0x34]
ldr r1, _021F3118 ; =0x000040B2
add r2, r0, r4
ldrb r7, [r2, r1]
mov r2, #2
ldrsh r2, [r6, r2]
lsl r1, r7, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #0
sub r2, #0x90
lsl r2, r2, #0x10
ldrsh r1, [r6, r1]
asr r2, r2, #0x10
bl sub_0200DDB8
add r1, r4, #0
ldr r0, [r5, #0x34]
add r1, #0x1e
mov r2, #1
bl ov14_021F3190
ldr r0, [sp]
cmp r4, r0
ldr r0, [r5, #0x34]
bhs _021F3102
add r1, r7, #0
mov r2, #1
bl ov14_021F2A18
b _021F310A
_021F3102:
add r1, r7, #0
mov r2, #0
bl ov14_021F2A18
_021F310A:
add r4, r4, #1
add r6, r6, #4
cmp r4, #6
blo _021F30C0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F3114: .word 0x021F80BC
_021F3118: .word 0x000040B2
thumb_func_end ov14_021F30B0
thumb_func_start ov14_021F311C
ov14_021F311C: ; 0x021F311C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #8]
bl GetPartyCount
ldr r6, _021F3188 ; =0x021F80BC
str r0, [sp]
mov r4, #0
_021F312C:
ldr r0, [r5, #0x34]
ldr r1, _021F318C ; =0x000040B2
add r2, r0, r4
ldrb r7, [r2, r1]
mov r2, #2
ldrsh r2, [r6, r2]
lsl r1, r7, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #0
ldrsh r1, [r6, r1]
sub r2, #0x90
lsl r2, r2, #0x10
add r1, #0x98
lsl r1, r1, #0x10
asr r1, r1, #0x10
asr r2, r2, #0x10
bl sub_0200DDB8
add r1, r4, #0
ldr r0, [r5, #0x34]
add r1, #0x1e
mov r2, #1
bl ov14_021F3190
ldr r0, [sp]
cmp r4, r0
ldr r0, [r5, #0x34]
bhs _021F3174
add r1, r7, #0
mov r2, #1
bl ov14_021F2A18
b _021F317C
_021F3174:
add r1, r7, #0
mov r2, #0
bl ov14_021F2A18
_021F317C:
add r4, r4, #1
add r6, r6, #4
cmp r4, #6
blo _021F312C
pop {r3, r4, r5, r6, r7, pc}
nop
_021F3188: .word 0x021F80BC
_021F318C: .word 0x000040B2
thumb_func_end ov14_021F311C
thumb_func_start ov14_021F3190
ov14_021F3190: ; 0x021F3190
push {r4, r5, r6, lr}
add r6, r1, #0
add r5, r0, #0
add r3, r5, r6
ldr r1, _021F31DC ; =0x00004094
cmp r2, #0
ldrb r4, [r3, r1]
bne _021F31B4
add r1, r4, #0
mov r2, #0
bl ov14_021F2A60
add r0, r5, #0
add r1, r4, #0
mov r2, #0x14
bl ov14_021F2A74
pop {r4, r5, r6, pc}
_021F31B4:
cmp r6, #0x1e
bhs _021F31C2
add r1, r4, #0
mov r2, #3
bl ov14_021F2A60
b _021F31CA
_021F31C2:
add r1, r4, #0
mov r2, #1
bl ov14_021F2A60
_021F31CA:
lsl r3, r6, #1
mov r2, #0x74
add r0, r5, #0
add r1, r4, #0
sub r2, r2, r3
bl ov14_021F2A74
pop {r4, r5, r6, pc}
nop
_021F31DC: .word 0x00004094
thumb_func_end ov14_021F3190
thumb_func_start ov14_021F31E0
ov14_021F31E0: ; 0x021F31E0
push {r3, r4, r5, lr}
add r4, r0, #0
add r3, r4, r1
ldr r1, _021F320C ; =0x00004094
cmp r2, #0x1e
ldrb r5, [r3, r1]
bhs _021F31F8
add r1, r5, #0
mov r2, #3
bl ov14_021F2A60
b _021F3200
_021F31F8:
add r1, r5, #0
mov r2, #1
bl ov14_021F2A60
_021F3200:
add r0, r4, #0
add r1, r5, #0
mov r2, #0x14
bl ov14_021F2A74
pop {r3, r4, r5, pc}
.balign 4, 0
_021F320C: .word 0x00004094
thumb_func_end ov14_021F31E0
thumb_func_start ov14_021F3210
ov14_021F3210: ; 0x021F3210
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
str r1, [sp]
cmp r1, #0
blt _021F3228
mov r0, #0xb0
str r0, [sp, #8]
str r0, [sp, #0xc]
sub r0, #0xb8
str r0, [sp, #0xc]
b _021F3232
_021F3228:
mov r0, #7
mvn r0, r0
str r0, [sp, #8]
mov r0, #0xb0
str r0, [sp, #0xc]
_021F3232:
mov r4, #0
add r7, sp, #0x14
_021F3236:
ldr r0, [r5, #0x34]
ldr r1, _021F32D0 ; =0x00004094
add r2, r0, r4
ldrb r1, [r2, r1]
add r2, sp, #0x14
str r1, [sp, #4]
lsl r1, r1, #2
str r1, [sp, #0x10]
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #0x14
add r1, #2
bl sub_0200DE44
mov r0, #2
ldrsh r1, [r7, r0]
ldr r0, [sp]
add r0, r1, r0
strh r0, [r7, #2]
mov r0, #2
ldrsh r1, [r7, r0]
ldr r0, [sp, #8]
cmp r1, r0
bne _021F32AA
ldr r0, [sp, #0xc]
ldr r1, _021F32D4 ; =0x00000458
strh r0, [r7, #2]
ldr r0, [r5, #0x34]
ldr r3, _021F32D8 ; =0x00004076
add r6, r0, r4
add r2, r0, r1
lsl r1, r4, #9
add r1, r2, r1
ldrb r3, [r6, r3]
ldr r2, [sp, #4]
bl ov14_021F2E78
ldr r1, [r5, #0x34]
ldr r0, [sp, #0x10]
add r2, r1, r0
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r2, r0]
add r2, r1, r4
ldr r1, _021F32DC ; =0x00004058
ldrb r1, [r2, r1]
bl sub_0200DCE8
ldr r0, [r5]
ldr r0, [r0, #8]
cmp r0, #3
bne _021F32AA
add r0, r5, #0
add r1, r4, #0
bl ov14_021F34DC
_021F32AA:
ldr r1, [r5, #0x34]
ldr r0, [sp, #0x10]
mov r2, #0
add r1, r1, r0
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #2
ldrsh r1, [r7, r1]
ldrsh r2, [r7, r2]
bl sub_0200DDB8
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, #0x1e
blo _021F3236
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F32D0: .word 0x00004094
_021F32D4: .word 0x00000458
_021F32D8: .word 0x00004076
_021F32DC: .word 0x00004058
thumb_func_end ov14_021F3210
thumb_func_start ov14_021F32E0
ov14_021F32E0: ; 0x021F32E0
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
str r0, [sp]
ldr r1, [r0, #0x34]
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
add r2, sp, #4
mov r1, #1
add r2, #1
add r3, sp, #4
bl sub_02019B1C
mov r4, #0
add r1, sp, #4
ldrsb r0, [r1, r4]
lsl r0, r0, #0x13
asr r7, r0, #0x10
mov r0, #1
ldrsb r0, [r1, r0]
lsl r0, r0, #0x13
asr r5, r0, #0x10
_021F330C:
ldr r0, _021F334C ; =0x021F808C
lsl r1, r4, #1
add r2, r0, r1
ldr r0, [sp]
ldrb r2, [r2, #1]
ldr r6, [r0, #0x34]
ldr r0, _021F3350 ; =0x000040B2
add r3, r6, r4
ldrb r0, [r3, r0]
add r2, r7, r2
lsl r2, r2, #0x10
lsl r0, r0, #2
add r3, r6, r0
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r3, r0]
ldr r3, _021F334C ; =0x021F808C
asr r2, r2, #0x10
ldrb r1, [r3, r1]
add r1, r5, r1
lsl r1, r1, #0x10
asr r1, r1, #0x10
bl sub_0200DDB8
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, #6
blo _021F330C
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_021F334C: .word 0x021F808C
_021F3350: .word 0x000040B2
thumb_func_end ov14_021F32E0
thumb_func_start ov14_021F3354
ov14_021F3354: ; 0x021F3354
push {r4, lr}
add r4, r0, #0
mov r0, #0xfe
lsl r0, r0, #0x16
str r0, [r4, #8]
mov r0, #0
strb r0, [r4, #7]
ldr r0, [r4]
mov r1, #1
bl sub_0200DF98
ldr r1, [r4, #8]
ldr r0, [r4]
add r2, r1, #0
bl sub_0200E024
ldr r0, [r4]
mov r1, #0
mov r2, #8
bl sub_0200E0CC
pop {r4, pc}
thumb_func_end ov14_021F3354
thumb_func_start ov14_021F3380
ov14_021F3380: ; 0x021F3380
push {r4, lr}
add r4, r0, #0
ldrb r0, [r4, #7]
ldr r1, _021F33AC ; =0x3CCCCCCD
add r0, r0, #1
strb r0, [r4, #7]
ldr r0, [r4, #8]
bl _fsub
str r0, [r4, #8]
ldrb r0, [r4, #7]
cmp r0, #0x28
bne _021F339E
mov r0, #0
pop {r4, pc}
_021F339E:
ldr r1, [r4, #8]
ldr r0, [r4]
add r2, r1, #0
bl sub_0200E024
mov r0, #1
pop {r4, pc}
.balign 4, 0
_021F33AC: .word 0x3CCCCCCD
thumb_func_end ov14_021F3380
thumb_func_start ov14_021F33B0
ov14_021F33B0: ; 0x021F33B0
push {r4, lr}
add r4, r0, #0
ldrb r0, [r4, #7]
ldr r1, _021F33E4 ; =0x3CCCCCCD
sub r0, r0, #2
strb r0, [r4, #7]
ldr r0, [r4, #8]
bl _fadd
ldr r1, _021F33E4 ; =0x3CCCCCCD
str r0, [r4, #8]
bl _fadd
str r0, [r4, #8]
ldrb r0, [r4, #7]
cmp r0, #0
bne _021F33D6
mov r0, #0
pop {r4, pc}
_021F33D6:
ldr r1, [r4, #8]
ldr r0, [r4]
add r2, r1, #0
bl sub_0200E024
mov r0, #1
pop {r4, pc}
.balign 4, 0
_021F33E4: .word 0x3CCCCCCD
thumb_func_end ov14_021F33B0
thumb_func_start ov14_021F33E8
ov14_021F33E8: ; 0x021F33E8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
mov r1, #0
bl sub_0200DCE8
add r0, r4, #0
bl ov14_021F33FC
pop {r4, pc}
thumb_func_end ov14_021F33E8
thumb_func_start ov14_021F33FC
ov14_021F33FC: ; 0x021F33FC
push {r4, lr}
add r4, r0, #0
mov r1, #0
ldr r0, [r4]
add r2, r1, #0
bl sub_0200E0CC
mov r1, #0xfe
lsl r1, r1, #0x16
ldr r0, [r4]
add r2, r1, #0
bl sub_0200E024
ldr r0, [r4]
mov r1, #0
bl sub_0200DF98
pop {r4, pc}
thumb_func_end ov14_021F33FC
thumb_func_start ov14_021F3420
ov14_021F3420: ; 0x021F3420
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [sp, #0x18]
add r7, r1, #0
add r4, r2, #0
add r6, r3, #0
cmp r0, #1
bne _021F3468
cmp r4, r6
bhs _021F3480
ldr r7, _021F3484 ; =0x00004094
_021F3436:
add r0, r5, #0
add r1, r4, #0
mov r2, #6
mov r3, #0
bl ov14_021E6070
cmp r0, #0
ldr r0, [r5, #0x34]
bne _021F3454
add r1, r0, r4
ldrb r1, [r1, r7]
mov r2, #1
bl ov14_021F2A9C
b _021F3460
_021F3454:
ldr r1, _021F3484 ; =0x00004094
add r2, r0, r4
ldrb r1, [r2, r1]
mov r2, #0
bl ov14_021F2A9C
_021F3460:
add r4, r4, #1
cmp r4, r6
blo _021F3436
pop {r3, r4, r5, r6, r7, pc}
_021F3468:
cmp r4, r6
bhs _021F3480
_021F346C:
ldr r0, [r5, #0x34]
ldr r1, _021F3484 ; =0x00004094
add r2, r0, r4
ldrb r1, [r2, r1]
add r2, r7, #0
bl ov14_021F2A9C
add r4, r4, #1
cmp r4, r6
blo _021F346C
_021F3480:
pop {r3, r4, r5, r6, r7, pc}
nop
_021F3484: .word 0x00004094
thumb_func_end ov14_021F3420
thumb_func_start ov14_021F3488
ov14_021F3488: ; 0x021F3488
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
add r5, r1, #0
mov r0, #0x80
add r7, r2, #0
tst r0, r5
beq _021F349A
mov r4, #1
b _021F349C
_021F349A:
mov r4, #0
_021F349C:
mov r0, #1
tst r0, r5
beq _021F34B0
add r0, r6, #0
add r1, r7, #0
mov r2, #0
mov r3, #0x1e
str r4, [sp]
bl ov14_021F3420
_021F34B0:
mov r0, #2
tst r0, r5
beq _021F34C4
add r0, r6, #0
add r1, r7, #0
mov r2, #0x1e
mov r3, #0x24
str r4, [sp]
bl ov14_021F3420
_021F34C4:
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021F3488
thumb_func_start ov14_021F34C8
ov14_021F34C8: ; 0x021F34C8
add r3, r0, r1
ldr r1, _021F34D4 ; =0x00004094
ldrb r1, [r3, r1]
ldr r3, _021F34D8 ; =ov14_021F2A9C
bx r3
nop
_021F34D4: .word 0x00004094
_021F34D8: .word ov14_021F2A9C
thumb_func_end ov14_021F34C8
thumb_func_start ov14_021F34DC
ov14_021F34DC: ; 0x021F34DC
push {r3, lr}
add r2, r1, #0
mov r1, #1
add r3, r2, #1
str r1, [sp]
bl ov14_021F3420
pop {r3, pc}
thumb_func_end ov14_021F34DC
thumb_func_start ov14_021F34EC
ov14_021F34EC: ; 0x021F34EC
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, _021F35AC ; =0x0000C11D
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #8]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #8
mov r3, #0x4c
bl sub_0200D4A4
mov r0, #0
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, _021F35B0 ; =0x0000C11E
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #8]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #8
mov r3, #0x4c
bl sub_0200D4A4
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
ldr r0, _021F35B4 ; =0x0000C0FA
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #0xc]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #8
mov r3, #0x4b
bl sub_0200D564
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
ldr r0, _021F35B8 ; =0x0000C0FB
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #0xc]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #8
mov r3, #0x4b
bl sub_0200D564
mov r0, #0
str r0, [sp]
ldr r0, _021F35B4 ; =0x0000C0FA
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #4]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #8
mov r3, #0x4d
bl sub_0200D6D4
mov r0, #0
str r0, [sp]
ldr r0, _021F35B4 ; =0x0000C0FA
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #4]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #8
mov r3, #0x4e
bl sub_0200D704
add sp, #0x10
pop {r4, pc}
nop
_021F35AC: .word 0x0000C11D
_021F35B0: .word 0x0000C11E
_021F35B4: .word 0x0000C0FA
_021F35B8: .word 0x0000C0FB
thumb_func_end ov14_021F34EC
thumb_func_start ov14_021F35BC
ov14_021F35BC: ; 0x021F35BC
push {r4, lr}
mov r1, #0xbd
ldr r4, [r0, #0x34]
lsl r1, r1, #2
ldr r0, [r4, r1]
add r1, r1, #4
mov r3, #2
ldr r1, [r4, r1]
ldr r2, _021F360C ; =0x021F8210
lsl r3, r3, #0x14
bl sub_0200D740
mov r1, #0xc1
lsl r1, r1, #2
str r0, [r4, r1]
add r0, r1, #0
sub r0, #0x10
sub r1, #0xc
mov r3, #2
ldr r0, [r4, r0]
ldr r1, [r4, r1]
ldr r2, _021F3610 ; =0x021F8244
lsl r3, r3, #0x14
bl sub_0200D740
mov r1, #0xc2
lsl r1, r1, #2
str r0, [r4, r1]
sub r0, r1, #4
ldr r0, [r4, r0]
mov r1, #0
bl sub_0200DCE8
mov r0, #0xc2
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0
bl sub_0200DCE8
pop {r4, pc}
.balign 4, 0
_021F360C: .word 0x021F8210
_021F3610: .word 0x021F8244
thumb_func_end ov14_021F35BC
thumb_func_start ov14_021F3614
ov14_021F3614: ; 0x021F3614
push {r4, r5, r6, r7, lr}
sub sp, #0x34
ldr r3, _021F36D4 ; =0x021F8098
add r7, r2, #0
add r2, sp, #0x14
add r6, r0, #0
add r4, r1, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
mov r1, #0x32
mov r0, #0xa
lsl r1, r1, #6
bl AllocFromHeapAtEnd
add r5, r0, #0
ldr r1, [r4]
add r0, sp, #0x24
mov r2, #2
mov r3, #0
bl sub_0207013C
ldrb r0, [r4, #0x12]
lsl r0, r0, #0x18
lsr r0, r0, #0x1f
cmp r0, #1
bne _021F3658
ldrh r1, [r4, #4]
ldr r0, _021F36D8 ; =0x00000147
cmp r1, r0
bne _021F3658
add r0, #0xa7
b _021F365A
_021F3658:
ldrh r0, [r4, #4]
_021F365A:
str r5, [sp]
ldr r1, [r4, #8]
mov r2, #0xa
str r1, [sp, #4]
mov r1, #0
str r1, [sp, #8]
mov r1, #2
str r1, [sp, #0xc]
str r0, [sp, #0x10]
add r1, sp, #0x14
ldrh r0, [r1, #0x10]
ldrh r1, [r1, #0x12]
add r3, sp, #0x14
bl sub_02014510
mov r0, #0xbf
lsl r0, r0, #2
add r4, r6, r0
lsl r6, r7, #2
ldr r0, [r4, r6]
ldr r0, [r0]
bl sub_02024B1C
mov r1, #2
bl sub_020B802C
mov r1, #0x32
add r7, r0, #0
add r0, r5, #0
lsl r1, r1, #6
bl DC_FlushRange
mov r2, #0x32
add r0, r5, #0
add r1, r7, #0
lsl r2, r2, #6
bl sub_020CFECC
ldr r0, [r4, r6]
ldr r0, [r0]
bl sub_02024B34
mov r1, #2
bl sub_020B8078
add r3, r0, #0
mov r0, #0x20
str r0, [sp]
mov r0, #0xa
str r0, [sp, #4]
add r1, sp, #0x14
ldrh r0, [r1, #0x10]
ldrh r1, [r1, #0x14]
mov r2, #5
bl GfGfxLoader_GXLoadPal
add r0, r5, #0
bl FreeToHeap
add sp, #0x34
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_021F36D4: .word 0x021F8098
_021F36D8: .word 0x00000147
thumb_func_end ov14_021F3614
thumb_func_start ov14_021F36DC
ov14_021F36DC: ; 0x021F36DC
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r2, #0
ldr r0, [r5, #0x34]
ldr r2, _021F3710 ; =0x000088D0
ldrh r2, [r0, r2]
add r4, r4, r2
add r2, r4, #0
bl ov14_021F3614
ldr r1, [r5, #0x34]
lsl r0, r4, #2
add r1, r1, r0
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #1
bl sub_0200DCE8
ldr r3, [r5, #0x34]
ldr r1, _021F3710 ; =0x000088D0
mov r0, #1
ldrh r2, [r3, r1]
eor r0, r2
strh r0, [r3, r1]
pop {r3, r4, r5, pc}
.balign 4, 0
_021F3710: .word 0x000088D0
thumb_func_end ov14_021F36DC
thumb_func_start ov14_021F3714
ov14_021F3714: ; 0x021F3714
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #1
str r0, [sp]
str r0, [sp, #4]
ldr r0, _021F37E0 ; =0x0000C11F
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #8]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #0x13
mov r3, #0x4f
bl sub_0200D4A4
mov r0, #0
mov r1, #2
bl sub_02077C18
add r3, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _021F37E4 ; =0x0000C0FC
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #0xc]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #0x12
bl sub_0200D564
mov r0, #1
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, _021F37E8 ; =0x0000C120
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #8]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #0x13
mov r3, #0x4f
bl sub_0200D4A4
mov r0, #0
mov r1, #2
bl sub_02077C18
add r3, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
ldr r0, _021F37EC ; =0x0000C0FD
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #0xc]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #0x12
bl sub_0200D564
mov r0, #1
str r0, [sp]
ldr r0, _021F37F0 ; =0x0000C0FB
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #4]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #0x13
mov r3, #0x50
bl sub_0200D6D4
mov r0, #1
str r0, [sp]
ldr r0, _021F37F0 ; =0x0000C0FB
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #4]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #0x13
mov r3, #0x51
bl sub_0200D704
add sp, #0x10
pop {r4, pc}
nop
_021F37E0: .word 0x0000C11F
_021F37E4: .word 0x0000C0FC
_021F37E8: .word 0x0000C120
_021F37EC: .word 0x0000C0FD
_021F37F0: .word 0x0000C0FB
thumb_func_end ov14_021F3714
thumb_func_start ov14_021F37F4
ov14_021F37F4: ; 0x021F37F4
push {r4, lr}
mov r1, #0xbd
add r4, r0, #0
lsl r1, r1, #2
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
ldr r2, _021F383C ; =0x021F83E4
bl sub_0200D734
mov r1, #0xca
lsl r1, r1, #2
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #0
bl sub_0200DCE8
mov r1, #0xbd
lsl r1, r1, #2
ldr r0, [r4, r1]
add r1, r1, #4
mov r3, #2
ldr r1, [r4, r1]
ldr r2, _021F3840 ; =0x021F8418
lsl r3, r3, #0x14
bl sub_0200D740
mov r1, #0xcb
lsl r1, r1, #2
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #0
bl sub_0200DCE8
pop {r4, pc}
nop
_021F383C: .word 0x021F83E4
_021F3840: .word 0x021F8418
thumb_func_end ov14_021F37F4
thumb_func_start ov14_021F3844
ov14_021F3844: ; 0x021F3844
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r6, r1, #0
add r5, r0, #0
add r0, r6, #0
mov r1, #1
bl sub_02077C18
add r1, r0, #0
mov r0, #0xa
str r0, [sp]
mov r0, #0x12
mov r2, #0
add r3, sp, #8
bl GfGfxLoader_GetCharData
ldr r2, [sp, #8]
mov r3, #2
add r4, r0, #0
ldr r2, [r2, #0x14]
add r0, r5, #0
mov r1, #0xb
lsl r3, r3, #8
bl ov14_021F2C1C
add r0, r4, #0
bl FreeToHeap
mov r0, #0xca
lsl r0, r0, #2
ldr r0, [r5, r0]
ldr r0, [r0]
bl sub_02024B34
mov r1, #1
bl sub_020B8078
add r4, r0, #0
add r0, r6, #0
mov r1, #2
bl sub_02077C18
add r1, r0, #0
mov r0, #0x20
str r0, [sp]
mov r0, #0xa
str r0, [sp, #4]
mov r0, #0x12
mov r2, #1
add r3, r4, #0
bl GfGfxLoader_GXLoadPal
add sp, #0xc
pop {r3, r4, r5, r6, pc}
thumb_func_end ov14_021F3844
thumb_func_start ov14_021F38B0
ov14_021F38B0: ; 0x021F38B0
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r6, r1, #0
add r5, r0, #0
add r0, r6, #0
mov r1, #1
bl sub_02077C18
add r1, r0, #0
mov r0, #0xa
str r0, [sp]
mov r0, #0x12
mov r2, #0
add r3, sp, #8
bl GfGfxLoader_GetCharData
ldr r2, [sp, #8]
mov r3, #2
add r4, r0, #0
ldr r2, [r2, #0x14]
add r0, r5, #0
mov r1, #0xc
lsl r3, r3, #8
bl ov14_021F2C50
add r0, r4, #0
bl FreeToHeap
mov r0, #0xcb
lsl r0, r0, #2
ldr r0, [r5, r0]
ldr r0, [r0]
bl sub_02024B34
mov r1, #2
bl sub_020B8078
add r4, r0, #0
add r0, r6, #0
mov r1, #2
bl sub_02077C18
add r1, r0, #0
mov r0, #0x20
str r0, [sp]
mov r0, #0xa
str r0, [sp, #4]
mov r0, #0x12
mov r2, #5
add r3, r4, #0
bl GfGfxLoader_GXLoadPal
add sp, #0xc
pop {r3, r4, r5, r6, pc}
thumb_func_end ov14_021F38B0
thumb_func_start ov14_021F391C
ov14_021F391C: ; 0x021F391C
push {r4, lr}
add r4, r0, #0
cmp r1, #1
bne _021F3940
mov r0, #0xca
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #1
bl sub_0200DF98
mov r0, #0xca
lsl r0, r0, #2
mov r1, #0xc
ldr r0, [r4, r0]
add r2, r1, #0
bl sub_0200E0CC
pop {r4, pc}
_021F3940:
mov r0, #0xca
lsl r0, r0, #2
mov r1, #0
ldr r0, [r4, r0]
add r2, r1, #0
bl sub_0200E0CC
mov r0, #0xca
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0
bl sub_0200DF98
pop {r4, pc}
thumb_func_end ov14_021F391C
thumb_func_start ov14_021F395C
ov14_021F395C: ; 0x021F395C
mov r3, #0xca
lsl r3, r3, #2
ldr r0, [r0, r3]
ldr r3, _021F3968 ; =sub_0200DDB8
bx r3
nop
_021F3968: .word sub_0200DDB8
thumb_func_end ov14_021F395C
thumb_func_start ov14_021F396C
ov14_021F396C: ; 0x021F396C
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
add r0, r1, #0
add r1, sp, #0
add r3, r2, #0
add r1, #2
add r2, sp, #0
bl ov14_021F2F88
add r3, sp, #0
mov r1, #2
mov r2, #0
ldrsh r1, [r3, r1]
ldrsh r2, [r3, r2]
add r0, r4, #0
add r1, #8
add r2, #8
lsl r1, r1, #0x10
lsl r2, r2, #0x10
asr r1, r1, #0x10
asr r2, r2, #0x10
bl ov14_021F395C
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov14_021F396C
thumb_func_start ov14_021F39A0
ov14_021F39A0: ; 0x021F39A0
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
add r0, r1, #0
add r1, sp, #0
add r3, r2, #0
add r1, #2
add r2, sp, #0
bl ov14_021F2F88
add r3, sp, #0
mov r2, #0
ldrsh r2, [r3, r2]
mov r1, #2
ldrsh r1, [r3, r1]
add r2, r2, #4
lsl r2, r2, #0x10
add r0, r4, #0
asr r2, r2, #0x10
bl ov14_021F395C
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov14_021F39A0
thumb_func_start ov14_021F39D0
ov14_021F39D0: ; 0x021F39D0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x48
add r5, r0, #0
ldr r0, _021F3B24 ; =0x000088C8
ldrh r0, [r5, r0]
cmp r0, #0
bne _021F39E0
b _021F3B1E
_021F39E0:
mov r0, #0xca
lsl r0, r0, #2
add r1, sp, #0x10
ldr r0, [r5, r0]
add r1, #2
add r2, sp, #0x10
bl sub_0200DE44
mov r0, #0x3f
lsl r0, r0, #4
ldr r1, [r5, r0]
cmp r1, #0
bne _021F3AA0
ldr r4, _021F3B28 ; =0x021F83E4
add r3, sp, #0x14
mov r2, #6
_021F3A00:
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _021F3A00
ldr r0, [r4]
str r0, [r3]
mov r0, #0xca
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_0200DD7C
add r0, r0, #1
str r0, [sp, #0x1c]
mov r0, #0xca
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_0200DD48
str r0, [sp, #0x40]
ldr r0, _021F3B2C ; =0x0000C11F
mov r1, #1
str r0, [sp, #0x28]
ldr r0, _021F3B30 ; =0x000088D2
ldr r7, _021F3B34 ; =0x021F8070
strh r1, [r5, r0]
mov r0, #0
ldr r6, _021F3B38 ; =0x021F8078
str r0, [sp, #8]
add r4, r5, #0
_021F3A3A:
add r1, sp, #0x10
mov r0, #2
ldrsh r1, [r1, r0]
mov r0, #0
ldrsb r0, [r7, r0]
add r2, sp, #0x14
add r1, r1, r0
add r0, sp, #0x10
strh r1, [r0, #4]
add r1, r0, #0
mov r0, #0
ldrsh r1, [r1, r0]
ldrsb r0, [r6, r0]
add r1, r1, r0
add r0, sp, #0x10
strh r1, [r0, #6]
mov r0, #0xbd
mov r1, #0xbe
lsl r0, r0, #2
lsl r1, r1, #2
ldr r0, [r5, r0]
ldr r1, [r5, r1]
bl sub_0200D734
mov r1, #0x3f
lsl r1, r1, #4
str r0, [r4, r1]
add r0, r1, #0
ldr r0, [r4, r0]
mov r1, #8
bl sub_0200DD10
mov r0, #0x3f
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl sub_0200DCE8
ldr r0, [sp, #8]
add r7, r7, #1
add r0, r0, #1
add r6, r6, #1
add r4, r4, #4
str r0, [sp, #8]
cmp r0, #8
blo _021F3A3A
ldr r0, _021F3B30 ; =0x000088D2
mov r1, #0
add sp, #0x48
strh r1, [r5, r0]
pop {r3, r4, r5, r6, r7, pc}
_021F3AA0:
sub r0, #0xc8
ldr r0, [r5, r0]
bl sub_0200DD7C
str r0, [sp, #0xc]
mov r0, #0xca
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_0200DD48
str r0, [sp, #4]
mov r0, #0
ldr r7, _021F3B38 ; =0x021F8078
ldr r6, _021F3B34 ; =0x021F8070
str r0, [sp]
add r4, r5, #0
_021F3AC0:
add r2, sp, #0x10
mov r1, #2
ldrsh r1, [r2, r1]
mov r2, #0
ldrsb r2, [r6, r2]
add r3, sp, #0x10
mov r0, #0x3f
add r1, r1, r2
mov r2, #0
ldrsh r3, [r3, r2]
ldrsb r2, [r7, r2]
lsl r0, r0, #4
lsl r1, r1, #0x10
add r2, r3, r2
lsl r2, r2, #0x10
ldr r0, [r4, r0]
asr r1, r1, #0x10
asr r2, r2, #0x10
bl sub_0200DDB8
ldr r1, [sp]
ldr r2, [sp, #0xc]
add r0, r5, #0
add r1, #0x3d
add r2, r2, #1
bl ov14_021F2A74
mov r0, #0x3f
lsl r0, r0, #4
ldr r0, [r4, r0]
ldr r1, [sp, #4]
bl sub_0200DD54
mov r0, #0x3f
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl sub_0200DCE8
ldr r0, [sp]
add r7, r7, #1
add r0, r0, #1
add r6, r6, #1
add r4, r4, #4
str r0, [sp]
cmp r0, #8
blo _021F3AC0
_021F3B1E:
add sp, #0x48
pop {r3, r4, r5, r6, r7, pc}
nop
_021F3B24: .word 0x000088C8
_021F3B28: .word 0x021F83E4
_021F3B2C: .word 0x0000C11F
_021F3B30: .word 0x000088D2
_021F3B34: .word 0x021F8070
_021F3B38: .word 0x021F8078
thumb_func_end ov14_021F39D0
thumb_func_start ov14_021F3B3C
ov14_021F3B3C: ; 0x021F3B3C
push {r3, r4, r5, r6, r7, lr}
mov r6, #0x3f
add r5, r0, #0
mov r4, #0
mov r7, #1
lsl r6, r6, #4
_021F3B48:
ldr r0, [r5, r6]
add r1, r7, #0
bl sub_0200DCE8
add r4, r4, #1
add r5, r5, #4
cmp r4, #8
blo _021F3B48
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021F3B3C
thumb_func_start ov14_021F3B5C
ov14_021F3B5C: ; 0x021F3B5C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #0xca
lsl r0, r0, #2
add r1, sp, #0
ldr r0, [r5, r0]
add r1, #2
add r2, sp, #0
bl sub_0200DE44
mov r0, #0x3f
lsl r0, r0, #4
ldr r0, [r5, r0]
cmp r0, #0
beq _021F3BB6
ldr r6, _021F3BB8 ; =0x021F8078
ldr r4, _021F3BBC ; =0x021F8070
mov r7, #0
_021F3B80:
add r2, sp, #0
mov r1, #2
ldrsh r1, [r2, r1]
mov r2, #0
ldrsb r2, [r4, r2]
add r3, sp, #0
mov r0, #0x3f
add r1, r1, r2
mov r2, #0
ldrsh r2, [r3, r2]
mov r3, #0
ldrsb r3, [r6, r3]
lsl r0, r0, #4
lsl r1, r1, #0x10
add r2, r2, r3
lsl r2, r2, #0x10
ldr r0, [r5, r0]
asr r1, r1, #0x10
asr r2, r2, #0x10
bl sub_0200DDB8
add r7, r7, #1
add r6, r6, #1
add r4, r4, #1
add r5, r5, #4
cmp r7, #8
blo _021F3B80
_021F3BB6:
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F3BB8: .word 0x021F8078
_021F3BBC: .word 0x021F8070
thumb_func_end ov14_021F3B5C
thumb_func_start ov14_021F3BC0
ov14_021F3BC0: ; 0x021F3BC0
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
mov r0, #0x2f
lsl r0, r0, #4
add r2, sp, #0
ldr r0, [r4, r0]
mov r1, #0x10
add r2, #1
add r3, sp, #0
bl sub_02019B1C
mov r0, #0xcb
lsl r0, r0, #2
add r3, sp, #0
mov r2, #0
ldrsb r2, [r3, r2]
ldr r0, [r4, r0]
mov r1, #0x12
lsl r3, r2, #3
mov r2, #0x5a
lsl r2, r2, #2
add r2, r3, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl sub_0200DDB8
mov r0, #0xcb
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #1
bl sub_0200DCE8
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov14_021F3BC0
thumb_func_start ov14_021F3C08
ov14_021F3C08: ; 0x021F3C08
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #1
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, _021F3CA4 ; =0x0000C121
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #8]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #0x13
mov r3, #0x52
bl sub_0200D4A4
mov r0, #1
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, _021F3CA8 ; =0x0000C122
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #8]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #0x13
mov r3, #0x52
bl sub_0200D4A4
mov r0, #0
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
ldr r0, _021F3CAC ; =0x0000C0FE
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #0xc]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #8
mov r3, #0x4a
bl sub_0200D564
mov r0, #1
str r0, [sp]
ldr r0, _021F3CB0 ; =0x0000C0FC
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #4]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #0x13
mov r3, #0x53
bl sub_0200D6D4
mov r0, #1
str r0, [sp]
ldr r0, _021F3CB0 ; =0x0000C0FC
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #4]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #0x13
mov r3, #0x54
bl sub_0200D704
add sp, #0x10
pop {r4, pc}
.balign 4, 0
_021F3CA4: .word 0x0000C121
_021F3CA8: .word 0x0000C122
_021F3CAC: .word 0x0000C0FE
_021F3CB0: .word 0x0000C0FC
thumb_func_end ov14_021F3C08
thumb_func_start ov14_021F3CB4
ov14_021F3CB4: ; 0x021F3CB4
push {r4, lr}
mov r1, #0xbd
add r4, r0, #0
lsl r1, r1, #2
ldr r0, [r4, r1]
add r1, r1, #4
mov r3, #2
ldr r1, [r4, r1]
ldr r2, _021F3D04 ; =0x021F844C
lsl r3, r3, #0x14
bl sub_0200D740
mov r1, #0x33
lsl r1, r1, #4
str r0, [r4, r1]
add r0, r1, #0
sub r0, #0x3c
sub r1, #0x38
mov r3, #2
ldr r0, [r4, r0]
ldr r1, [r4, r1]
ldr r2, _021F3D08 ; =0x021F8480
lsl r3, r3, #0x14
bl sub_0200D740
mov r1, #0xcd
lsl r1, r1, #2
str r0, [r4, r1]
sub r0, r1, #4
ldr r0, [r4, r0]
mov r1, #0
bl sub_0200DCE8
mov r0, #0xcd
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0
bl sub_0200DCE8
pop {r4, pc}
.balign 4, 0
_021F3D04: .word 0x021F844C
_021F3D08: .word 0x021F8480
thumb_func_end ov14_021F3CB4
thumb_func_start ov14_021F3D0C
ov14_021F3D0C: ; 0x021F3D0C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r7, r1, #0
add r5, r0, #0
add r4, r2, #0
bl sub_020776B4
add r6, r0, #0
add r0, r7, #0
bl sub_02077678
add r1, r0, #0
mov r0, #0xa
str r0, [sp]
add r0, r6, #0
mov r2, #1
add r3, sp, #4
bl GfGfxLoader_GetCharData
ldr r2, [sp, #4]
mov r3, #1
add r6, r0, #0
ldr r2, [r2, #0x14]
add r0, r5, #0
add r1, r4, #0
lsl r3, r3, #8
bl ov14_021F2C50
add r0, r6, #0
bl FreeToHeap
mov r0, #0xbf
lsl r0, r0, #2
add r5, r5, r0
lsl r4, r4, #2
ldr r0, [r5, r4]
bl sub_0200DD30
add r6, r0, #0
add r0, r7, #0
bl sub_0207769C
add r1, r0, #0
ldr r0, [r5, r4]
add r1, r6, r1
bl sub_0200DD10
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021F3D0C
thumb_func_start ov14_021F3D70
ov14_021F3D70: ; 0x021F3D70
push {r3, r4, r5, lr}
add r4, r1, #0
ldrb r1, [r4, #0x12]
add r5, r0, #0
lsl r1, r1, #0x18
lsr r1, r1, #0x1f
beq _021F3D98
mov r0, #0x33
lsl r0, r0, #4
ldr r0, [r5, r0]
mov r1, #0
bl sub_0200DCE8
mov r0, #0xcd
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #0
bl sub_0200DCE8
pop {r3, r4, r5, pc}
_021F3D98:
ldrb r1, [r4, #0xc]
ldr r3, _021F3DE0 ; =0x0000C121
mov r2, #0xd
bl ov14_021F3D0C
mov r0, #0x33
lsl r0, r0, #4
ldr r0, [r5, r0]
mov r1, #1
bl sub_0200DCE8
ldrb r1, [r4, #0xd]
cmp r1, #0
beq _021F3DD2
ldrb r0, [r4, #0xc]
cmp r0, r1
beq _021F3DD2
ldr r3, _021F3DE4 ; =0x0000C122
add r0, r5, #0
mov r2, #0xe
bl ov14_021F3D0C
mov r0, #0xcd
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #1
bl sub_0200DCE8
pop {r3, r4, r5, pc}
_021F3DD2:
mov r0, #0xcd
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #0
bl sub_0200DCE8
pop {r3, r4, r5, pc}
.balign 4, 0
_021F3DE0: .word 0x0000C121
_021F3DE4: .word 0x0000C122
thumb_func_end ov14_021F3D70
thumb_func_start ov14_021F3DE8
ov14_021F3DE8: ; 0x021F3DE8
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #1
str r0, [sp]
str r0, [sp, #4]
ldr r0, _021F3E64 ; =0x0000C12D
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #8]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #0x13
mov r3, #0x42
bl sub_0200D4A4
mov r0, #0
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, _021F3E68 ; =0x0000C101
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #0xc]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #0x13
mov r3, #0x45
bl sub_0200D564
mov r0, #1
str r0, [sp]
ldr r0, _021F3E6C ; =0x0000C0FF
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #4]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #0x13
mov r3, #0x43
bl sub_0200D6D4
mov r0, #1
str r0, [sp]
ldr r0, _021F3E6C ; =0x0000C0FF
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #4]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
mov r2, #0x13
mov r3, #0x44
bl sub_0200D704
add sp, #0x10
pop {r4, pc}
.balign 4, 0
_021F3E64: .word 0x0000C12D
_021F3E68: .word 0x0000C101
_021F3E6C: .word 0x0000C0FF
thumb_func_end ov14_021F3DE8
thumb_func_start ov14_021F3E70
ov14_021F3E70: ; 0x021F3E70
push {r4, lr}
mov r1, #0xbd
add r4, r0, #0
lsl r1, r1, #2
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
ldr r2, _021F3F48 ; =0x021F81A8
bl sub_0200D734
mov r1, #0xbf
lsl r1, r1, #2
str r0, [r4, r1]
add r0, r1, #0
sub r0, #8
sub r1, r1, #4
ldr r0, [r4, r0]
ldr r1, [r4, r1]
ldr r2, _021F3F4C ; =0x021F81DC
bl sub_0200D734
mov r1, #3
lsl r1, r1, #8
str r0, [r4, r1]
add r0, r1, #0
sub r0, #0xc
sub r1, #8
ldr r0, [r4, r0]
ldr r1, [r4, r1]
ldr r2, _021F3F50 ; =0x021F8278
bl sub_0200D734
mov r1, #0xc3
lsl r1, r1, #2
str r0, [r4, r1]
add r0, r1, #0
sub r0, #0x18
sub r1, #0x14
ldr r0, [r4, r0]
ldr r1, [r4, r1]
ldr r2, _021F3F54 ; =0x021F82AC
bl sub_0200D734
mov r1, #0x31
lsl r1, r1, #4
str r0, [r4, r1]
add r0, r1, #0
sub r0, #0x1c
sub r1, #0x18
ldr r0, [r4, r0]
ldr r1, [r4, r1]
ldr r2, _021F3F58 ; =0x021F82E0
bl sub_0200D734
mov r1, #0xc5
lsl r1, r1, #2
str r0, [r4, r1]
add r0, r1, #0
sub r0, #0x20
sub r1, #0x1c
ldr r0, [r4, r0]
ldr r1, [r4, r1]
ldr r2, _021F3F5C ; =0x021F8314
bl sub_0200D734
mov r1, #0xc6
lsl r1, r1, #2
str r0, [r4, r1]
add r0, r1, #0
sub r0, #0x24
sub r1, #0x20
ldr r0, [r4, r0]
ldr r1, [r4, r1]
ldr r2, _021F3F60 ; =0x021F8348
bl sub_0200D734
mov r1, #0xc7
lsl r1, r1, #2
str r0, [r4, r1]
add r0, r1, #0
sub r0, #0x28
sub r1, #0x24
ldr r0, [r4, r0]
ldr r1, [r4, r1]
ldr r2, _021F3F64 ; =0x021F837C
bl sub_0200D734
mov r1, #0x32
lsl r1, r1, #4
str r0, [r4, r1]
add r0, r1, #0
sub r0, #0x2c
sub r1, #0x28
ldr r0, [r4, r0]
ldr r1, [r4, r1]
ldr r2, _021F3F68 ; =0x021F83B0
bl sub_0200D734
mov r1, #0xc9
lsl r1, r1, #2
str r0, [r4, r1]
add r0, r4, #0
mov r1, #0xa
mov r2, #0
bl ov14_021F2A18
pop {r4, pc}
nop
_021F3F48: .word 0x021F81A8
_021F3F4C: .word 0x021F81DC
_021F3F50: .word 0x021F8278
_021F3F54: .word 0x021F82AC
_021F3F58: .word 0x021F82E0
_021F3F5C: .word 0x021F8314
_021F3F60: .word 0x021F8348
_021F3F64: .word 0x021F837C
_021F3F68: .word 0x021F83B0
thumb_func_end ov14_021F3E70
thumb_func_start ov14_021F3F6C
ov14_021F3F6C: ; 0x021F3F6C
push {r4, r5, r6, r7, lr}
sub sp, #0x4c
add r6, r0, #0
add r0, #0x21
ldrb r0, [r0]
cmp r0, #0xff
bne _021F3F7C
b _021F40C0
_021F3F7C:
ldr r4, [r6, #0x34]
add r2, sp, #0x14
add r1, r4, r0
ldr r0, _021F40C4 ; =0x00004094
ldrb r0, [r1, r0]
add r1, sp, #0x14
add r1, #2
str r0, [sp, #0xc]
lsl r5, r0, #2
mov r0, #0xbf
lsl r0, r0, #2
add r7, r4, r0
ldr r0, [r7, r5]
bl sub_0200DE44
mov r0, #0x3f
lsl r0, r0, #4
ldr r0, [r4, r0]
cmp r0, #0
bne _021F402C
ldr r3, _021F40C8 ; =0x021F810C
add r2, sp, #0x18
mov r6, #6
_021F3FAA:
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
sub r6, r6, #1
bne _021F3FAA
ldr r0, [r3]
str r0, [r2]
ldr r0, [r7, r5]
bl sub_0200DD7C
add r0, r0, #1
str r0, [sp, #0x20]
ldr r0, [r7, r5]
bl sub_0200DD48
str r0, [sp, #0x44]
ldr r1, _021F40CC ; =0x0000C0E0
ldr r0, [sp, #0xc]
mov r5, #0
add r0, r0, r1
str r0, [sp, #0x2c]
ldr r0, _021F40D0 ; =0x000088D2
mov r1, #1
strh r1, [r4, r0]
add r7, sp, #0x14
_021F3FDA:
mov r0, #2
ldrsh r1, [r7, r0]
ldr r0, _021F40D4 ; =0x021F8070
add r2, sp, #0x18
ldrsb r0, [r0, r5]
add r0, r1, r0
strh r0, [r7, #4]
mov r0, #0
ldrsh r1, [r7, r0]
ldr r0, _021F40D8 ; =0x021F8078
ldrsb r0, [r0, r5]
add r0, r1, r0
strh r0, [r7, #6]
lsl r0, r5, #2
add r6, r4, r0
mov r0, #0xbd
mov r1, #0xbe
lsl r0, r0, #2
lsl r1, r1, #2
ldr r0, [r4, r0]
ldr r1, [r4, r1]
bl sub_0200D734
mov r1, #0x3f
lsl r1, r1, #4
str r0, [r6, r1]
add r0, r1, #0
ldr r0, [r6, r0]
mov r1, #8
bl sub_0200DD10
add r0, r5, #1
lsl r0, r0, #0x10
lsr r5, r0, #0x10
cmp r5, #8
blo _021F3FDA
ldr r0, _021F40D0 ; =0x000088D2
mov r1, #0
add sp, #0x4c
strh r1, [r4, r0]
pop {r4, r5, r6, r7, pc}
_021F402C:
ldr r0, [r7, r5]
ldr r0, [r0]
bl sub_02024B1C
str r0, [sp, #8]
ldr r0, [r7, r5]
bl sub_0200DD7C
str r0, [sp, #0x10]
ldr r0, [r7, r5]
bl sub_0200DD48
str r0, [sp, #4]
mov r5, #0
_021F4048:
lsl r7, r5, #2
mov r0, #0x3f
add r1, r4, r7
lsl r0, r0, #4
ldr r0, [r1, r0]
str r1, [sp]
ldr r0, [r0]
ldr r1, [sp, #8]
bl sub_02024B00
mov r0, #0x3f
ldr r1, [sp]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r2, sp, #0x14
mov r1, #2
ldrsh r1, [r2, r1]
ldr r2, _021F40D4 ; =0x021F8070
add r3, sp, #0x14
ldrsb r2, [r2, r5]
add r1, r1, r2
mov r2, #0
ldrsh r3, [r3, r2]
ldr r2, _021F40D8 ; =0x021F8078
lsl r1, r1, #0x10
ldrsb r2, [r2, r5]
asr r1, r1, #0x10
add r2, r3, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl sub_0200DDB8
ldr r2, [sp, #0x10]
add r1, r5, #0
ldr r0, [r6, #0x34]
add r1, #0x3d
add r2, r2, #1
bl ov14_021F2A74
ldr r0, [r6, #0x34]
add r1, r0, r7
mov r0, #0x3f
lsl r0, r0, #4
ldr r0, [r1, r0]
ldr r1, [sp, #4]
bl sub_0200DD54
ldr r0, [r6, #0x34]
add r1, r0, r7
mov r0, #0x3f
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #1
bl sub_0200DCE8
add r0, r5, #1
lsl r0, r0, #0x10
lsr r5, r0, #0x10
cmp r5, #8
blo _021F4048
_021F40C0:
add sp, #0x4c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_021F40C4: .word 0x00004094
_021F40C8: .word 0x021F810C
_021F40CC: .word 0x0000C0E0
_021F40D0: .word 0x000088D2
_021F40D4: .word 0x021F8070
_021F40D8: .word 0x021F8078
thumb_func_end ov14_021F3F6C
thumb_func_start ov14_021F40DC
ov14_021F40DC: ; 0x021F40DC
ldr r3, _021F40E4 ; =ov14_021F40E8
mov r1, #0
bx r3
nop
_021F40E4: .word ov14_021F40E8
thumb_func_end ov14_021F40DC
thumb_func_start ov14_021F40E8
ov14_021F40E8: ; 0x021F40E8
push {r3, r4, r5, r6, r7, lr}
add r7, r1, #0
add r5, r0, #0
cmp r7, #1
bne _021F40F6
mov r7, #1
b _021F40F8
_021F40F6:
mov r7, #0
_021F40F8:
mov r6, #0
add r4, r6, #0
_021F40FC:
ldr r0, [r5, #0x34]
add r1, r0, r4
mov r0, #0x3f
lsl r0, r0, #4
ldr r0, [r1, r0]
cmp r0, #0
beq _021F4164
add r1, r7, #0
bl sub_0200DCE8
cmp r7, #1
bne _021F4164
add r0, r5, #0
add r0, #0x21
ldrb r1, [r0]
cmp r1, #0xff
beq _021F4164
ldr r0, [r5, #0x34]
add r2, r0, r1
ldr r1, _021F4170 ; =0x00004094
ldrb r1, [r2, r1]
lsl r1, r1, #2
str r1, [sp]
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
bl sub_0200DD7C
add r2, r0, #0
add r1, r6, #0
ldr r0, [r5, #0x34]
add r1, #0x3d
add r2, r2, #1
bl ov14_021F2A74
ldr r1, [r5, #0x34]
ldr r0, [sp]
add r1, r1, r0
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
bl sub_0200DD48
add r1, r0, #0
ldr r0, [r5, #0x34]
add r2, r0, r4
mov r0, #0x3f
lsl r0, r0, #4
ldr r0, [r2, r0]
bl sub_0200DD54
_021F4164:
add r6, r6, #1
add r4, r4, #4
cmp r6, #8
blo _021F40FC
pop {r3, r4, r5, r6, r7, pc}
nop
_021F4170: .word 0x00004094
thumb_func_end ov14_021F40E8
thumb_func_start ov14_021F4174
ov14_021F4174: ; 0x021F4174
push {r3, r4, r5, r6, r7, lr}
add r1, r0, #0
add r1, #0x21
ldrb r1, [r1]
cmp r1, #0xff
beq _021F41D4
ldr r4, [r0, #0x34]
ldr r0, _021F41D8 ; =0x00004094
add r1, r4, r1
ldrb r0, [r1, r0]
add r2, sp, #0
lsl r0, r0, #2
add r1, r4, r0
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
bl sub_0200DE44
ldr r7, _021F41DC ; =0x021F8070
mov r5, #0
add r6, sp, #0
_021F41A2:
lsl r0, r5, #2
add r1, r4, r0
mov r0, #0x3f
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #2
ldrsh r2, [r6, r1]
ldrsb r1, [r7, r5]
ldr r3, _021F41E0 ; =0x021F8078
add r1, r2, r1
mov r2, #0
lsl r1, r1, #0x10
ldrsh r2, [r6, r2]
ldrsb r3, [r3, r5]
asr r1, r1, #0x10
add r2, r2, r3
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl sub_0200DDB8
add r0, r5, #1
lsl r0, r0, #0x10
lsr r5, r0, #0x10
cmp r5, #8
blo _021F41A2
_021F41D4:
pop {r3, r4, r5, r6, r7, pc}
nop
_021F41D8: .word 0x00004094
_021F41DC: .word 0x021F8070
_021F41E0: .word 0x021F8078
thumb_func_end ov14_021F4174
thumb_func_start ov14_021F41E4
ov14_021F41E4: ; 0x021F41E4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
mov r4, #0
add r5, r0, #0
add r6, r4, #0
mov r7, #1
_021F41F0:
ldr r0, _021F426C ; =0x0000C123
str r6, [sp]
str r7, [sp, #4]
add r0, r4, r0
str r0, [sp, #8]
mov r0, #0xbd
mov r1, #0xbe
lsl r0, r0, #2
lsl r1, r1, #2
ldr r0, [r5, r0]
ldr r1, [r5, r1]
mov r2, #0x13
mov r3, #0x46
bl sub_0200D4A4
add r4, r4, #1
cmp r4, #6
blo _021F41F0
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _021F4270 ; =0x0000C0FF
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #0xc]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
mov r2, #0x13
mov r3, #0x47
bl sub_0200D564
mov r0, #1
str r0, [sp]
ldr r0, _021F4274 ; =0x0000C0FD
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
mov r2, #0x13
mov r3, #0x48
bl sub_0200D6D4
mov r0, #1
str r0, [sp]
ldr r0, _021F4274 ; =0x0000C0FD
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
mov r2, #0x13
mov r3, #0x49
bl sub_0200D704
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F426C: .word 0x0000C123
_021F4270: .word 0x0000C0FF
_021F4274: .word 0x0000C0FD
thumb_func_end ov14_021F41E4
thumb_func_start ov14_021F4278
ov14_021F4278: ; 0x021F4278
push {r4, r5, r6, r7, lr}
sub sp, #0x6c
mov r7, #0
ldr r3, _021F42E4 ; =0x021F8140
str r0, [sp]
add r4, r7, #0
add r5, r0, #0
add r2, sp, #4
mov r6, #6
_021F428A:
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
sub r6, r6, #1
bne _021F428A
ldr r0, [r3]
str r0, [r2]
_021F4296:
add r6, sp, #4
add r3, sp, #0x38
mov r2, #6
_021F429C:
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _021F429C
ldr r0, [r6]
add r1, sp, #4
str r0, [r3]
mov r0, #0x34
ldrsh r0, [r1, r0]
add r1, r0, r4
add r0, sp, #4
strh r1, [r0, #0x34]
ldr r0, _021F42E8 ; =0x0000C123
ldr r1, [sp]
add r0, r7, r0
str r0, [sp, #0x4c]
mov r0, #0xbd
lsl r0, r0, #2
ldr r0, [r1, r0]
add r2, r1, #0
mov r1, #0xbe
lsl r1, r1, #2
ldr r1, [r2, r1]
add r2, sp, #0x38
bl sub_0200D734
mov r1, #0xce
lsl r1, r1, #2
str r0, [r5, r1]
add r7, r7, #1
add r4, #0x22
add r5, r5, #4
cmp r7, #6
blo _021F4296
add sp, #0x6c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_021F42E4: .word 0x021F8140
_021F42E8: .word 0x0000C123
thumb_func_end ov14_021F4278
thumb_func_start ov14_021F42EC
ov14_021F42EC: ; 0x021F42EC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
mov r4, #0
add r5, r0, #0
add r6, r4, #0
mov r7, #1
_021F42F8:
ldr r0, _021F4378 ; =0x0000C129
str r6, [sp]
str r7, [sp, #4]
add r0, r4, r0
str r0, [sp, #8]
mov r0, #0xbd
mov r1, #0xbe
lsl r0, r0, #2
lsl r1, r1, #2
ldr r0, [r5, r0]
ldr r1, [r5, r1]
mov r2, #0x13
mov r3, #0x4a
bl sub_0200D4A4
add r4, r4, #1
cmp r4, #4
blo _021F42F8
mov r0, #0
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0xc1
mov r1, #0xbd
lsl r0, r0, #8
lsl r1, r1, #2
str r0, [sp, #0xc]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
mov r2, #0x13
mov r3, #0x4b
bl sub_0200D564
mov r0, #1
str r0, [sp]
ldr r0, _021F437C ; =0x0000C0FE
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
mov r2, #0x13
mov r3, #0x4c
bl sub_0200D6D4
mov r0, #1
str r0, [sp]
ldr r0, _021F437C ; =0x0000C0FE
mov r1, #0xbd
lsl r1, r1, #2
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
mov r2, #0x13
mov r3, #0x4d
bl sub_0200D704
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F4378: .word 0x0000C129
_021F437C: .word 0x0000C0FE
thumb_func_end ov14_021F42EC
thumb_func_start ov14_021F4380
ov14_021F4380: ; 0x021F4380
push {r4, r5, r6, r7, lr}
sub sp, #0x6c
mov r7, #0
ldr r3, _021F43EC ; =0x021F8174
str r0, [sp]
add r4, r7, #0
add r5, r0, #0
add r2, sp, #4
mov r6, #6
_021F4392:
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
sub r6, r6, #1
bne _021F4392
ldr r0, [r3]
str r0, [r2]
_021F439E:
add r6, sp, #4
add r3, sp, #0x38
mov r2, #6
_021F43A4:
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _021F43A4
ldr r0, [r6]
add r1, sp, #4
str r0, [r3]
mov r0, #0x34
ldrsh r0, [r1, r0]
add r1, r0, r4
add r0, sp, #4
strh r1, [r0, #0x34]
ldr r0, _021F43F0 ; =0x0000C129
ldr r1, [sp]
add r0, r7, r0
str r0, [sp, #0x4c]
mov r0, #0xbd
lsl r0, r0, #2
ldr r0, [r1, r0]
add r2, r1, #0
mov r1, #0xbe
lsl r1, r1, #2
ldr r1, [r2, r1]
add r2, sp, #0x38
bl sub_0200D734
mov r1, #0x35
lsl r1, r1, #4
str r0, [r5, r1]
add r7, r7, #1
add r4, #0x2e
add r5, r5, #4
cmp r7, #4
blo _021F439E
add sp, #0x6c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_021F43EC: .word 0x021F8174
_021F43F0: .word 0x0000C129
thumb_func_end ov14_021F4380
thumb_func_start ov14_021F43F4
ov14_021F43F4: ; 0x021F43F4
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
mov r1, #0
add r2, r4, #0
bl ov14_021F2A18
add r0, r5, #0
mov r1, #1
add r2, r4, #0
bl ov14_021F2A18
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021F43F4
thumb_func_start ov14_021F4410
ov14_021F4410: ; 0x021F4410
ldr r1, _021F4420 ; =0x00000414
ldr r3, _021F4424 ; =sub_020136B4
ldr r0, [r0, r1]
mov r1, #0x2f
mvn r1, r1
add r2, r1, #0
add r2, #0x28
bx r3
.balign 4, 0
_021F4420: .word 0x00000414
_021F4424: .word sub_020136B4
thumb_func_end ov14_021F4410
thumb_func_start ov14_021F4428
ov14_021F4428: ; 0x021F4428
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0xc3
mov r1, #0xc
add r2, r1, #0
ldr r4, [r5, #0x34]
lsl r0, r0, #2
ldr r0, [r4, r0]
sub r2, #0x21
bl sub_0200DDB8
mov r0, #0x31
lsl r0, r0, #4
mov r2, #0x14
ldr r0, [r4, r0]
mov r1, #0xf4
mvn r2, r2
bl sub_0200DDB8
mov r0, #0xc5
lsl r0, r0, #2
mov r1, #0x2b
add r2, r1, #0
ldr r0, [r4, r0]
sub r2, #0x40
bl sub_0200DDB8
mov r0, #0xc6
lsl r0, r0, #2
mov r1, #0x80
add r2, r1, #0
ldr r0, [r4, r0]
sub r2, #0xa8
bl sub_0200DDB8
mov r0, #0xc7
lsl r0, r0, #2
mov r1, #0x80
add r2, r1, #0
ldr r0, [r4, r0]
sub r2, #0x9c
bl sub_0200DDB8
add r0, r5, #0
bl ov14_021F462C
mov r1, #7
add r0, r4, #0
add r2, r1, #0
bl ov14_021F29E4
add r0, r4, #0
bl ov14_021F4410
ldr r0, _021F44AC ; =0x00000414
mov r1, #1
ldr r0, [r4, r0]
bl sub_020137C0
ldr r0, _021F44B0 ; =0x00000424
mov r1, #0
ldr r0, [r4, r0]
bl sub_020137C0
pop {r3, r4, r5, pc}
nop
_021F44AC: .word 0x00000414
_021F44B0: .word 0x00000424
thumb_func_end ov14_021F4428
thumb_func_start ov14_021F44B4
ov14_021F44B4: ; 0x021F44B4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r4, r5, #0
add r6, r1, #0
mov r7, #4
add r4, #0x10
_021F44C0:
mov r0, #0xbf
lsl r0, r0, #2
add r1, sp, #0
ldr r0, [r4, r0]
add r1, #2
add r2, sp, #0
bl sub_0200DE44
add r2, sp, #0
mov r1, #2
mov r0, #0xbf
lsl r0, r0, #2
ldrsh r1, [r2, r1]
add r3, r2, #0
mov r2, #0
ldrsh r2, [r3, r2]
ldr r0, [r4, r0]
add r2, r2, r6
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl sub_0200DDB8
add r7, r7, #1
add r4, r4, #4
cmp r7, #8
bls _021F44C0
add r0, r5, #0
bl ov14_021F4410
mov r4, #0
add r7, sp, #0
_021F44FE:
mov r0, #0x35
lsl r0, r0, #4
add r1, sp, #0
ldr r0, [r5, r0]
add r1, #2
add r2, sp, #0
bl sub_0200DE44
mov r2, #0
ldrsh r2, [r7, r2]
mov r0, #0x35
mov r1, #2
lsl r0, r0, #4
add r2, r2, r6
lsl r2, r2, #0x10
ldrsh r1, [r7, r1]
ldr r0, [r5, r0]
asr r2, r2, #0x10
bl sub_0200DDB8
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blo _021F44FE
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov14_021F44B4
thumb_func_start ov14_021F4530
ov14_021F4530: ; 0x021F4530
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x25
ldrb r1, [r1]
bl ov14_021E7930
add r4, r0, #0
ldr r0, [r5, #0x34]
ldr r1, _021F4598 ; =0x0000044D
ldrb r1, [r0, r1]
lsr r2, r1, #2
lsr r1, r4, #2
cmp r2, r1
bne _021F4558
mov r1, #6
mov r2, #1
bl ov14_021F2A18
b _021F4560
_021F4558:
mov r1, #6
mov r2, #0
bl ov14_021F2A18
_021F4560:
mov r0, #0xc5
ldr r1, [r5, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
add r2, sp, #0
bl sub_0200DE44
mov r0, #0xc5
ldr r1, [r5, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #3
add r2, r4, #0
and r2, r1
mov r1, #0x2e
mul r1, r2
add r1, #0x3b
lsl r1, r1, #0x10
add r3, sp, #0
mov r2, #0
ldrsh r2, [r3, r2]
asr r1, r1, #0x10
bl sub_0200DDB8
pop {r3, r4, r5, pc}
nop
_021F4598: .word 0x0000044D
thumb_func_end ov14_021F4530
thumb_func_start ov14_021F459C
ov14_021F459C: ; 0x021F459C
push {r4, lr}
sub sp, #8
add r4, r0, #0
ldr r0, [r4, #0x34]
ldr r1, _021F4628 ; =0x0000044D
ldrb r1, [r0, r1]
lsr r3, r1, #0x1f
lsl r2, r1, #0x1e
sub r2, r2, r3
mov r1, #0x1e
ror r2, r1
add r1, r3, r2
lsl r1, r1, #0x10
lsr r1, r1, #0x10
add r1, #0x15
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r2, sp, #0
add r1, sp, #0
add r2, #2
bl sub_0200DE44
mov r0, #0xc6
add r2, sp, #0
ldr r1, [r4, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #4
add r2, #2
bl sub_0200DE44
mov r0, #0xc6
ldr r1, [r4, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
add r3, sp, #0
mov r1, #0
mov r2, #2
ldrsh r1, [r3, r1]
ldrsh r2, [r3, r2]
bl sub_0200DDB8
mov r0, #0xc7
add r2, sp, #0
ldr r1, [r4, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #4
add r2, #2
bl sub_0200DE44
mov r0, #0xc7
ldr r1, [r4, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
add r3, sp, #0
mov r1, #0
mov r2, #2
ldrsh r1, [r3, r1]
ldrsh r2, [r3, r2]
bl sub_0200DDB8
ldr r0, [r4, #0x34]
bl ov14_021F4410
add sp, #8
pop {r4, pc}
.balign 4, 0
_021F4628: .word 0x0000044D
thumb_func_end ov14_021F459C
thumb_func_start ov14_021F462C
ov14_021F462C: ; 0x021F462C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r7, r0, #0
ldr r1, [r7, #0x34]
ldr r0, _021F46AC ; =0x0000044D
mov r6, #0x15
ldrb r0, [r1, r0]
mov r1, #9
lsl r1, r1, #6
lsr r0, r0, #2
lsl r5, r0, #2
mov r0, #0xa
bl AllocFromHeapAtEnd
add r4, r0, #0
mov r0, #0x13
mov r1, #0x4a
mov r2, #0xa
bl AllocAtEndAndReadWholeNarcMemberByIdPair
add r1, sp, #0xc
str r0, [sp, #8]
bl NNS_G2dGetUnpackedCharacterData
mov r0, #0
str r0, [sp, #4]
_021F4660:
ldr r0, [sp, #0xc]
mov r2, #9
ldr r0, [r0, #0x14]
add r1, r4, #0
lsl r2, r2, #6
bl MIi_CpuCopy8
mov r0, #9
lsl r0, r0, #6
str r0, [sp]
add r0, r7, #0
add r1, r4, #0
add r2, r5, #0
mov r3, #0x1e
bl ov14_021F46B0
mov r3, #9
ldr r0, [r7, #0x34]
add r1, r6, #0
add r2, r4, #0
lsl r3, r3, #6
bl ov14_021F2C1C
ldr r0, [sp, #4]
add r6, r6, #1
add r0, r0, #1
add r5, r5, #1
str r0, [sp, #4]
cmp r0, #4
blo _021F4660
ldr r0, [sp, #8]
bl FreeToHeap
add r0, r4, #0
bl FreeToHeap
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F46AC: .word 0x0000044D
thumb_func_end ov14_021F462C
thumb_func_start ov14_021F46B0
ov14_021F46B0: ; 0x021F46B0
push {r3, r4, r5, r6, r7, lr}
add r7, r2, #0
add r5, r1, #0
add r6, r3, #0
ldr r4, [sp, #0x18]
cmp r7, #0x10
blo _021F46D8
add r1, r7, #0
ldr r0, [r0, #4]
sub r1, #0x10
bl sub_020740B4
cmp r0, #0
bne _021F46D0
mov r2, #0x28
b _021F46DE
_021F46D0:
add r7, #0x10
lsl r0, r7, #0x18
lsr r2, r0, #0x18
b _021F46DE
_021F46D8:
add r7, #0x10
lsl r0, r7, #0x18
lsr r2, r0, #0x18
_021F46DE:
mov r1, #0
cmp r4, #0
bls _021F46F2
_021F46E4:
ldrb r0, [r5, r1]
cmp r6, r0
bne _021F46EC
strb r2, [r5, r1]
_021F46EC:
add r1, r1, #1
cmp r1, r4
blo _021F46E4
_021F46F2:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov14_021F46B0
thumb_func_start ov14_021F46F4
ov14_021F46F4: ; 0x021F46F4
push {r4, lr}
add r4, r0, #0
ldr r0, _021F4718 ; =0x00000414
mov r1, #0x47
mvn r1, r1
add r2, r1, #0
ldr r0, [r4, r0]
add r2, #0x40
bl sub_020136B4
ldr r0, _021F471C ; =0x00000424
mov r1, #0x20
add r2, r1, #0
ldr r0, [r4, r0]
sub r2, #0x28
bl sub_020136B4
pop {r4, pc}
.balign 4, 0
_021F4718: .word 0x00000414
_021F471C: .word 0x00000424
thumb_func_end ov14_021F46F4
thumb_func_start ov14_021F4720
ov14_021F4720: ; 0x021F4720
push {r4, lr}
add r4, r0, #0
mov r0, #0xc3
ldr r1, [r4, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #0xc
add r2, r1, #0
sub r2, #0x21
bl sub_0200DDB8
mov r0, #0x31
mov r2, #0x14
ldr r1, [r4, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #0xf4
mvn r2, r2
bl sub_0200DDB8
mov r0, #0xc5
ldr r1, [r4, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #0x2b
add r2, r1, #0
sub r2, #0x40
bl sub_0200DDB8
mov r0, #0xc6
ldr r1, [r4, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #0x80
add r2, r1, #0
sub r2, #0xa8
bl sub_0200DDB8
mov r0, #0xc7
ldr r1, [r4, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #0x80
add r2, r1, #0
sub r2, #0x9c
bl sub_0200DDB8
add r0, r4, #0
bl ov14_021F49E0
ldr r0, [r4, #0x34]
mov r1, #7
mov r2, #5
bl ov14_021F29E4
ldr r0, [r4, #0x34]
bl ov14_021F46F4
ldr r1, [r4, #0x34]
ldr r0, _021F47B0 ; =0x00000414
ldr r0, [r1, r0]
mov r1, #1
bl sub_020137C0
ldr r1, [r4, #0x34]
ldr r0, _021F47B4 ; =0x00000424
ldr r0, [r1, r0]
mov r1, #1
bl sub_020137C0
pop {r4, pc}
nop
_021F47B0: .word 0x00000414
_021F47B4: .word 0x00000424
thumb_func_end ov14_021F4720
thumb_func_start ov14_021F47B8
ov14_021F47B8: ; 0x021F47B8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r7, r1, #0
mov r6, #4
mov r4, #0x10
_021F47C2:
ldr r0, [r5, #0x34]
add r2, sp, #0
add r1, r0, r4
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
bl sub_0200DE44
ldr r0, [r5, #0x34]
add r2, sp, #0
add r1, r0, r4
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #2
ldrsh r1, [r2, r1]
add r3, r2, #0
mov r2, #0
ldrsh r2, [r3, r2]
add r2, r2, r7
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl sub_0200DDB8
add r6, r6, #1
add r4, r4, #4
cmp r6, #8
bls _021F47C2
ldr r0, [r5, #0x34]
bl ov14_021F46F4
mov r6, #0
add r4, r6, #0
_021F4808:
ldr r0, [r5, #0x34]
add r2, sp, #0
add r1, r0, r4
mov r0, #0xce
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
bl sub_0200DE44
ldr r0, [r5, #0x34]
add r2, sp, #0
add r1, r0, r4
mov r0, #0xce
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #2
ldrsh r1, [r2, r1]
add r3, r2, #0
mov r2, #0
ldrsh r2, [r3, r2]
add r2, r2, r7
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl sub_0200DDB8
add r6, r6, #1
add r4, r4, #4
cmp r6, #6
blo _021F4808
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021F47B8
thumb_func_start ov14_021F4848
ov14_021F4848: ; 0x021F4848
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
add r4, r0, #0
ldrb r0, [r5, #0x1f]
mov r1, #6
bl _s32_div_f
cmp r4, r0
ldr r0, [r5, #0x34]
bne _021F4870
mov r1, #6
mov r2, #1
bl ov14_021F2A18
b _021F4878
_021F4870:
mov r1, #6
mov r2, #0
bl ov14_021F2A18
_021F4878:
ldrb r0, [r5, #0x1f]
mov r1, #6
bl _s32_div_f
add r4, r1, #0
mov r0, #0xc5
ldr r1, [r5, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #0
add r1, #2
add r2, sp, #0
bl sub_0200DE44
mov r0, #0xc5
ldr r1, [r5, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #0x22
mul r1, r4
add r1, #0x2b
lsl r1, r1, #0x10
add r3, sp, #0
mov r2, #0
ldrsh r2, [r3, r2]
asr r1, r1, #0x10
bl sub_0200DDB8
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021F4848
thumb_func_start ov14_021F48B4
ov14_021F48B4: ; 0x021F48B4
push {r3, r4, r5, lr}
sub sp, #8
add r5, r0, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
lsl r0, r1, #0x10
lsr r4, r0, #0x10
mov r0, #0xc6
add r2, sp, #0
ldr r1, [r5, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #4
add r2, #2
bl sub_0200DE44
mov r0, #0xc6
ldr r1, [r5, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
ldr r1, _021F493C ; =0x021F8068
add r3, sp, #0
mov r2, #2
ldrb r1, [r1, r4]
ldrsh r2, [r3, r2]
bl sub_0200DDB8
add r4, #0xf
add r2, sp, #0
ldr r1, [r5, #0x34]
lsl r0, r4, #2
add r1, r1, r0
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #0
add r2, #2
bl sub_0200DE44
mov r0, #0xc7
add r2, sp, #0
ldr r1, [r5, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #4
add r2, #2
bl sub_0200DE44
mov r0, #0xc7
ldr r1, [r5, #0x34]
lsl r0, r0, #2
ldr r0, [r1, r0]
add r3, sp, #0
mov r1, #0
mov r2, #2
ldrsh r1, [r3, r1]
ldrsh r2, [r3, r2]
bl sub_0200DDB8
ldr r0, [r5, #0x34]
bl ov14_021F46F4
add sp, #8
pop {r3, r4, r5, pc}
nop
_021F493C: .word 0x021F8068
thumb_func_end ov14_021F48B4
thumb_func_start ov14_021F4940
ov14_021F4940: ; 0x021F4940
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0xce
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, r2, #0
add r2, r3, #0
ldr r3, _021F4954 ; =sub_0200DE44
bx r3
nop
_021F4954: .word sub_0200DE44
thumb_func_end ov14_021F4940
thumb_func_start ov14_021F4958
ov14_021F4958: ; 0x021F4958
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
add r6, r1, #0
mov r0, #0x13
mov r1, #0x46
mov r2, #0xa
bl AllocAtEndAndReadWholeNarcMemberByIdPair
add r1, sp, #4
add r7, r0, #0
bl NNS_G2dGetUnpackedCharacterData
ldr r0, [sp, #4]
ldr r2, [r5, #0x34]
ldr r1, _021F49C4 ; =0x000040C8
lsl r4, r6, #0xa
add r1, r2, r1
mov r2, #1
ldr r0, [r0, #0x14]
add r1, r1, r4
lsl r2, r2, #0xa
bl MIi_CpuCopy8
add r0, r7, #0
bl FreeToHeap
add r0, r5, #0
add r1, r6, #0
bl ov14_021E7930
add r2, r0, #0
mov r0, #1
lsl r0, r0, #0xa
str r0, [sp]
ldr r3, [r5, #0x34]
ldr r1, _021F49C4 ; =0x000040C8
add r0, r5, #0
add r1, r3, r1
add r1, r1, r4
mov r3, #8
bl ov14_021F46B0
ldr r3, [r5, #0x34]
ldr r2, _021F49C4 ; =0x000040C8
add r0, r5, #0
add r2, r3, r2
add r1, r6, #0
add r2, r2, r4
bl ov14_021F4A64
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_021F49C4: .word 0x000040C8
thumb_func_end ov14_021F4958
thumb_func_start ov14_021F49C8
ov14_021F49C8: ; 0x021F49C8
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_021F49CE:
add r0, r5, #0
add r1, r4, #0
bl ov14_021F4958
add r4, r4, #1
cmp r4, #0x12
blo _021F49CE
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021F49C8
thumb_func_start ov14_021F49E0
ov14_021F49E0: ; 0x021F49E0
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
mov r1, #6
mul r1, r0
mov r4, #0xf
mov r6, #0
lsl r5, r1, #0xa
_021F49F8:
ldr r0, [r7, #0x34]
ldr r2, _021F4A1C ; =0x000040C8
mov r3, #1
add r2, r0, r2
add r1, r4, #0
add r2, r2, r5
lsl r3, r3, #0xa
bl ov14_021F2C1C
mov r0, #1
lsl r0, r0, #0xa
add r6, r6, #1
add r4, r4, #1
add r5, r5, r0
cmp r6, #6
blo _021F49F8
pop {r3, r4, r5, r6, r7, pc}
nop
_021F4A1C: .word 0x000040C8
thumb_func_end ov14_021F49E0
thumb_func_start ov14_021F4A20
ov14_021F4A20: ; 0x021F4A20
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x25
ldrb r0, [r0]
add r4, r1, #0
mov r1, #6
bl _s32_div_f
add r6, r0, #0
add r0, r4, #0
mov r1, #6
bl _u32_div_f
cmp r6, r0
bne _021F4A5C
add r0, r4, #0
mov r1, #6
ldr r5, [r5, #0x34]
bl _u32_div_f
ldr r2, _021F4A60 ; =0x000040C8
add r0, r5, #0
add r3, r5, r2
lsl r2, r4, #0xa
add r2, r3, r2
mov r3, #1
add r1, #0xf
lsl r3, r3, #0xa
bl ov14_021F2C1C
_021F4A5C:
pop {r4, r5, r6, pc}
nop
_021F4A60: .word 0x000040C8
thumb_func_end ov14_021F4A20
thumb_func_start ov14_021F4A64
ov14_021F4A64: ; 0x021F4A64
push {r4, r5, r6, r7, lr}
sub sp, #0x2c
str r0, [sp]
mov r0, #0xb
str r0, [sp, #0x10]
mov r0, #0
str r1, [sp, #4]
str r2, [sp, #8]
str r0, [sp, #0x20]
_021F4A76:
mov r0, #0xa
str r0, [sp, #0x18]
mov r0, #0
str r0, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r1, #6
mul r1, r0
ldr r0, [sp, #0x10]
str r1, [sp, #0x14]
add r5, r0, #2
_021F4A8A:
ldr r0, [sp]
ldr r3, [sp, #0x1c]
ldr r2, [sp, #0x14]
ldr r0, [r0, #4]
ldr r1, [sp, #4]
add r2, r3, r2
bl sub_02074058
str r0, [sp, #0x28]
bl sub_0206DDD8
str r0, [sp, #0x24]
ldr r0, [sp, #0x28]
mov r1, #5
mov r2, #0
bl GetBoxMonData
add r4, r0, #0
ldr r0, [sp, #0x28]
mov r1, #0xac
mov r2, #0
bl GetBoxMonData
cmp r0, #0
beq _021F4B4A
ldr r0, [sp, #0x28]
mov r1, #0x4c
mov r2, #0
bl GetBoxMonData
cmp r0, #0
bne _021F4AF0
ldr r0, [sp, #0x28]
mov r1, #0x70
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x10
lsr r2, r0, #0x10
ldr r0, [sp]
mov r3, #0x1b
ldr r1, [r0, #0x34]
mov r0, #0x45
lsl r0, r0, #4
ldr r0, [r1, r0]
add r1, r4, #0
bl sub_0206FC08
lsl r0, r0, #0x10
lsr r1, r0, #0x10
b _021F4AFC
_021F4AF0:
ldr r0, _021F4B88 ; =0x000001EA
cmp r4, r0
bne _021F4AFA
mov r1, #1
b _021F4AFC
_021F4AFA:
mov r1, #8
_021F4AFC:
ldr r0, _021F4B8C ; =0x021F8080
ldr r4, [sp, #0x10]
ldrb r0, [r0, r1]
add r0, #0x20
lsl r0, r0, #0x10
lsr r1, r0, #0x10
lsl r0, r1, #8
orr r0, r1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0xc]
add r0, r4, #0
cmp r0, r5
bge _021F4B4A
ldr r0, [sp, #0x18]
add r1, r0, #0
asr r7, r0, #3
mov r0, #7
add r6, r1, #0
and r6, r0
_021F4B24:
asr r2, r4, #3
lsl r2, r2, #2
lsl r1, r4, #0x1d
add r2, r2, r7
lsr r1, r1, #0x1a
lsl r2, r2, #6
add r1, r1, r2
add r2, r6, r1
ldr r1, [sp, #8]
ldr r0, [sp, #0xc]
add r1, r1, r2
mov r2, #2
bl sub_020D4790
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, r5
blt _021F4B24
_021F4B4A:
ldr r0, [sp, #0x28]
ldr r1, [sp, #0x24]
bl sub_0206DE00
ldr r0, [sp, #0x18]
add r0, r0, #2
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x18]
ldr r0, [sp, #0x1c]
add r0, r0, #1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x1c]
cmp r0, #6
blo _021F4A8A
ldr r0, [sp, #0x10]
add r0, r0, #2
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x10]
ldr r0, [sp, #0x20]
add r0, r0, #1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x20]
cmp r0, #5
bhs _021F4B84
b _021F4A76
_021F4B84:
add sp, #0x2c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_021F4B88: .word 0x000001EA
_021F4B8C: .word 0x021F8080
thumb_func_end ov14_021F4A64
thumb_func_start ov14_021F4B90
ov14_021F4B90: ; 0x021F4B90
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
lsl r0, r4, #2
add r1, r5, r0
mov r0, #0xbf
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, r2, #0
add r2, r3, #0
bl sub_0200DDB8
ldr r2, [sp, #0x10]
add r0, r5, #0
add r1, r4, #0
bl ov14_021F2A18
add r0, r5, #0
add r1, r4, #0
mov r2, #0
bl ov14_021F2A60
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021F4B90
thumb_func_start ov14_021F4BC0
ov14_021F4BC0: ; 0x021F4BC0
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
mov r0, #1
str r0, [sp]
ldr r0, [r5, #0x34]
mov r1, #4
mov r2, #0xc
mov r3, #0x54
bl ov14_021F4B90
mov r0, #1
str r0, [sp]
ldr r0, [r5, #0x34]
mov r1, #5
mov r2, #0xf4
mov r3, #0x54
bl ov14_021F4B90
mov r0, #1
str r0, [sp]
ldr r0, [r5, #0x34]
mov r1, #6
mov r2, #0x2b
mov r3, #0x54
bl ov14_021F4B90
mov r0, #1
str r0, [sp]
ldr r0, [r5, #0x34]
mov r1, #7
mov r2, #0x80
mov r3, #0x41
bl ov14_021F4B90
mov r0, #1
str r0, [sp]
ldr r0, [r5, #0x34]
mov r1, #8
mov r2, #0x80
mov r3, #0x4d
bl ov14_021F4B90
mov r6, #0
add r4, r6, #0
mov r7, #1
_021F4C1C:
ldr r0, [r5, #0x34]
add r2, sp, #4
add r1, r0, r4
mov r0, #0xce
lsl r0, r0, #2
ldr r0, [r1, r0]
add r1, sp, #4
add r1, #2
bl sub_0200DE44
str r7, [sp]
add r1, r6, #0
add r3, sp, #4
mov r2, #2
ldrsh r2, [r3, r2]
ldr r0, [r5, #0x34]
add r1, #0xf
mov r3, #0x54
bl ov14_021F4B90
add r6, r6, #1
add r4, r4, #4
cmp r6, #6
blo _021F4C1C
add r0, r5, #0
bl ov14_021F49E0
ldr r0, [r5, #0x34]
mov r1, #7
mov r2, #5
bl ov14_021F29E4
ldr r0, [r5, #0x34]
bl ov14_021F46F4
ldr r1, [r5, #0x34]
ldr r0, _021F4C98 ; =0x00000414
ldr r0, [r1, r0]
mov r1, #1
bl sub_020137C0
ldr r1, [r5, #0x34]
ldr r0, _021F4C9C ; =0x00000424
ldr r0, [r1, r0]
mov r1, #1
bl sub_020137C0
ldr r1, [r5, #0x34]
ldr r0, _021F4C98 ; =0x00000414
ldr r0, [r1, r0]
mov r1, #0
bl sub_020137F0
ldr r1, [r5, #0x34]
ldr r0, _021F4C9C ; =0x00000424
ldr r0, [r1, r0]
mov r1, #0
bl sub_020137F0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_021F4C98: .word 0x00000414
_021F4C9C: .word 0x00000424
thumb_func_end ov14_021F4BC0
thumb_func_start ov14_021F4CA0
ov14_021F4CA0: ; 0x021F4CA0
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
mov r1, #4
mov r2, #0
bl ov14_021F2A18
ldr r0, [r5, #0x34]
mov r1, #5
mov r2, #0
bl ov14_021F2A18
ldr r0, [r5, #0x34]
mov r1, #6
mov r2, #0
bl ov14_021F2A18
ldr r0, [r5, #0x34]
mov r1, #7
mov r2, #0
bl ov14_021F2A18
ldr r0, [r5, #0x34]
mov r1, #8
mov r2, #0
bl ov14_021F2A18
mov r4, #0
add r6, r4, #0
_021F4CDA:
add r1, r4, #0
ldr r0, [r5, #0x34]
add r1, #0xf
add r2, r6, #0
bl ov14_021F2A18
add r4, r4, #1
cmp r4, #6
blo _021F4CDA
ldr r1, [r5, #0x34]
ldr r0, _021F4D08 ; =0x00000414
ldr r0, [r1, r0]
mov r1, #0
bl sub_020137C0
ldr r1, [r5, #0x34]
ldr r0, _021F4D0C ; =0x00000424
ldr r0, [r1, r0]
mov r1, #0
bl sub_020137C0
pop {r4, r5, r6, pc}
nop
_021F4D08: .word 0x00000414
_021F4D0C: .word 0x00000424
thumb_func_end ov14_021F4CA0
thumb_func_start ov14_021F4D10
ov14_021F4D10: ; 0x021F4D10
push {r3, r4, r5, lr}
sub sp, #0x48
add r4, r0, #0
mov r0, #2
mov r1, #0xa
bl sub_02013534
mov r1, #0x41
lsl r1, r1, #4
str r0, [r4, r1]
add r0, r1, #4
add r5, r4, r0
add r0, sp, #0x38
bl sub_0201D3C4
mov r0, #0
str r0, [sp]
mov r3, #2
str r3, [sp, #4]
ldr r0, [r4, #0x14]
add r1, sp, #0x38
mov r2, #0xc
bl sub_0201D494
add r0, sp, #0x38
mov r1, #1
mov r2, #0xa
bl sub_02013688
mov r1, #1
add r2, r1, #0
add r3, r5, #4
bl sub_02021AC8
mov r0, #0x41
lsl r0, r0, #4
ldr r0, [r4, r0]
str r0, [sp, #8]
add r0, sp, #0x38
str r0, [sp, #0xc]
mov r0, #0xbe
lsl r0, r0, #2
ldr r0, [r4, r0]
bl sub_0200E2B0
str r0, [sp, #0x10]
mov r0, #0xbe
lsl r0, r0, #2
ldr r0, [r4, r0]
ldr r1, _021F4E5C ; =0x0000C101
bl sub_0200D934
str r0, [sp, #0x14]
mov r0, #0xc6
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #1
ldr r0, [r0]
str r0, [sp, #0x18]
ldr r0, [r5, #8]
str r0, [sp, #0x1c]
mov r0, #0x80
str r0, [sp, #0x20]
sub r0, #0x9c
str r0, [sp, #0x24]
mov r0, #4
str r0, [sp, #0x2c]
mov r0, #0xa
str r0, [sp, #0x34]
add r0, sp, #8
str r1, [sp, #0x28]
str r1, [sp, #0x30]
bl sub_020135D8
ldr r1, _021F4E60 ; =0x00000414
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #1
bl sub_020138B0
ldr r0, _021F4E60 ; =0x00000414
mov r1, #1
ldr r0, [r4, r0]
bl sub_020138E0
add r0, sp, #0x38
bl RemoveWindow
ldr r0, _021F4E64 ; =0x00000424
add r5, r4, r0
add r0, sp, #0x38
bl sub_0201D3C4
mov r0, #0
str r0, [sp]
mov r3, #2
str r3, [sp, #4]
ldr r0, [r4, #0x14]
add r1, sp, #0x38
mov r2, #5
bl sub_0201D494
add r0, sp, #0x38
mov r1, #1
mov r2, #0xa
bl sub_02013688
mov r1, #1
add r2, r1, #0
add r3, r5, #4
bl sub_02021AC8
mov r0, #0x41
lsl r0, r0, #4
ldr r0, [r4, r0]
str r0, [sp, #8]
add r0, sp, #0x38
str r0, [sp, #0xc]
mov r0, #0xbe
lsl r0, r0, #2
ldr r0, [r4, r0]
bl sub_0200E2B0
str r0, [sp, #0x10]
mov r0, #0xbe
lsl r0, r0, #2
ldr r0, [r4, r0]
ldr r1, _021F4E5C ; =0x0000C101
bl sub_0200D934
str r0, [sp, #0x14]
mov r0, #0xc6
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #1
ldr r0, [r0]
str r0, [sp, #0x18]
ldr r0, [r5, #8]
str r0, [sp, #0x1c]
mov r0, #0x80
str r0, [sp, #0x20]
sub r0, #0x9c
str r0, [sp, #0x24]
mov r0, #4
str r0, [sp, #0x2c]
mov r0, #0xa
str r0, [sp, #0x34]
str r1, [sp, #0x28]
str r1, [sp, #0x30]
add r0, sp, #8
bl sub_020135D8
str r0, [r5]
mov r1, #1
bl sub_020138B0
ldr r0, [r5]
mov r1, #1
bl sub_020138E0
add r0, sp, #0x38
bl RemoveWindow
add sp, #0x48
pop {r3, r4, r5, pc}
nop
_021F4E5C: .word 0x0000C101
_021F4E60: .word 0x00000414
_021F4E64: .word 0x00000424
thumb_func_end ov14_021F4D10
thumb_func_start ov14_021F4E68
ov14_021F4E68: ; 0x021F4E68
push {r3, r4, r5, r6, r7, lr}
ldr r1, _021F4E9C ; =0x00000418
str r0, [sp]
mov r6, #0
add r4, r0, r1
add r5, r0, #0
sub r7, r1, #4
_021F4E76:
add r0, r4, #0
bl sub_02021B5C
ldr r0, [r5, r7]
bl sub_02013660
add r6, r6, #1
add r4, #0x10
add r5, #0x10
cmp r6, #2
blo _021F4E76
mov r1, #0x41
ldr r0, [sp]
lsl r1, r1, #4
ldr r0, [r0, r1]
bl sub_020135AC
pop {r3, r4, r5, r6, r7, pc}
nop
_021F4E9C: .word 0x00000418
thumb_func_end ov14_021F4E68
thumb_func_start ov14_021F4EA0
ov14_021F4EA0: ; 0x021F4EA0
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r5, r0, #0
add r6, r2, #0
add r0, r4, #0
mov r1, #0xa
bl sub_02013910
add r7, r0, #0
lsl r0, r6, #4
add r1, r5, r0
ldr r0, _021F4ECC ; =0x00000414
add r2, r4, #0
ldr r0, [r1, r0]
add r1, r7, #0
mov r3, #0xa
bl sub_020139D0
add r0, r7, #0
bl sub_02013938
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F4ECC: .word 0x00000414
thumb_func_end ov14_021F4EA0
thumb_func_start ov14_021F4ED0
ov14_021F4ED0: ; 0x021F4ED0
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
mov r0, #4
mov r1, #0xa
bl sub_02002CEC
mov r6, #0
ldr r4, _021F4EFC ; =0x021F84B4
add r5, r6, #0
_021F4EE2:
ldr r1, [r7, #0x34]
add r2, r4, #0
ldr r0, [r1, #0x14]
add r1, #0x30
add r1, r1, r5
bl AddWindow
add r6, r6, #1
add r4, #8
add r5, #0x10
cmp r6, #0x2c
blo _021F4EE2
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F4EFC: .word 0x021F84B4
thumb_func_end ov14_021F4ED0
thumb_func_start ov14_021F4F00
ov14_021F4F00: ; 0x021F4F00
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_021F4F06:
ldr r1, [r5, #0x34]
lsl r0, r4, #4
add r1, #0x30
add r0, r1, r0
bl RemoveWindow
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, #0x2c
blo _021F4F06
mov r0, #4
bl sub_02002DB4
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F4F00
thumb_func_start ov14_021F4F24
ov14_021F4F24: ; 0x021F4F24
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r7, r0, #0
ldr r0, [sp, #0x30]
str r1, [sp, #0x10]
add r5, r2, #0
add r6, r3, #0
ldr r4, [sp, #0x28]
cmp r0, #1
bne _021F4F44
add r0, r4, #0
mov r2, #0
bl sub_02002F30
sub r5, r5, r0
b _021F4F66
_021F4F44:
cmp r0, #2
bne _021F4F56
add r0, r4, #0
mov r2, #0
bl sub_02002F30
lsr r0, r0, #1
sub r5, r5, r0
b _021F4F66
_021F4F56:
cmp r0, #3
bne _021F4F66
add r0, r4, #0
mov r2, #0
bl sub_02003068
lsr r0, r0, #1
sub r5, r5, r0
_021F4F66:
str r6, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, [sp, #0x2c]
ldr r2, [sp, #0x10]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
add r0, r7, #0
add r1, r4, #0
add r3, r5, #0
bl sub_020200FC
add sp, #0x14
pop {r4, r5, r6, r7, pc}
thumb_func_end ov14_021F4F24
thumb_func_start ov14_021F4F84
ov14_021F4F84: ; 0x021F4F84
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r0, #0
add r0, r1, #0
add r1, r3, #0
add r4, r2, #0
bl NewString_ReadMsgData
add r6, r0, #0
ldr r0, [sp, #0x28]
add r5, #0x30
str r0, [sp]
ldr r0, [sp, #0x2c]
ldr r2, [sp, #0x20]
str r0, [sp, #4]
ldr r0, [sp, #0x30]
ldr r3, [sp, #0x24]
str r0, [sp, #8]
lsl r0, r4, #4
add r0, r5, r0
add r1, r6, #0
bl ov14_021F4F24
add r0, r6, #0
bl String_dtor
add sp, #0xc
pop {r3, r4, r5, r6, pc}
thumb_func_end ov14_021F4F84
thumb_func_start ov14_021F4FBC
ov14_021F4FBC: ; 0x021F4FBC
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r0, #0
add r0, r1, #0
add r1, r3, #0
add r4, r2, #0
bl NewString_ReadMsgData
add r6, r0, #0
ldr r0, [r5, #0x24]
ldr r1, [r5, #0x28]
add r2, r6, #0
bl StringExpandPlaceholders
ldr r0, [sp, #0x28]
add r1, r5, #0
str r0, [sp]
ldr r0, [sp, #0x2c]
add r1, #0x30
str r0, [sp, #4]
ldr r0, [sp, #0x30]
ldr r2, [sp, #0x20]
str r0, [sp, #8]
lsl r0, r4, #4
add r0, r1, r0
ldr r1, [r5, #0x28]
ldr r3, [sp, #0x24]
bl ov14_021F4F24
add r0, r6, #0
bl String_dtor
add sp, #0xc
pop {r3, r4, r5, r6, pc}
thumb_func_end ov14_021F4FBC
thumb_func_start ov14_021F5000
ov14_021F5000: ; 0x021F5000
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
add r4, r5, #0
add r0, r2, #0
add r6, r1, #0
add r4, #0x30
lsl r7, r0, #4
add r0, r4, r7
mov r1, #0
str r2, [sp, #0x14]
bl FillWindowPixelBuffer
ldrb r0, [r6, #0x12]
lsl r0, r0, #0x18
lsr r0, r0, #0x1f
bne _021F5044
ldr r0, [r5, #0x24]
ldr r2, [r6]
mov r1, #0
bl BufferBoxMonSpeciesName
mov r3, #0
str r3, [sp]
str r3, [sp, #4]
ldr r0, _021F5050 ; =0x00010200
str r3, [sp, #8]
str r0, [sp, #0xc]
str r3, [sp, #0x10]
ldr r1, [r5, #0x20]
ldr r2, [sp, #0x14]
add r0, r5, #0
bl ov14_021F4FBC
_021F5044:
add r0, r4, r7
bl sub_0201D5C8
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_021F5050: .word 0x00010200
thumb_func_end ov14_021F5000
thumb_func_start ov14_021F5054
ov14_021F5054: ; 0x021F5054
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
add r4, r5, #0
add r0, r2, #0
add r7, r1, #0
add r4, #0x30
lsl r6, r0, #4
add r0, r4, r6
mov r1, #0
str r2, [sp, #0x14]
bl FillWindowPixelBuffer
ldr r0, [r5, #0x24]
ldr r2, [r7]
mov r1, #0
bl BufferBoxMonNickname
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _021F509C ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
ldr r1, [r5, #0x20]
ldr r2, [sp, #0x14]
add r0, r5, #0
mov r3, #1
bl ov14_021F4FBC
add r0, r4, r6
bl sub_0201D5C8
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F509C: .word 0x00010200
thumb_func_end ov14_021F5054
thumb_func_start ov14_021F50A0
ov14_021F50A0: ; 0x021F50A0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
add r4, r5, #0
add r0, r2, #0
add r7, r1, #0
add r4, #0x30
lsl r6, r0, #4
add r0, r4, r6
mov r1, #0
str r2, [sp, #0x14]
bl FillWindowPixelBuffer
ldrb r0, [r7, #0x12]
lsl r0, r0, #0x18
lsr r0, r0, #0x1f
bne _021F5104
mov r0, #5
str r0, [sp]
ldr r0, [r5, #0x1c]
mov r1, #1
add r2, r4, r6
mov r3, #0
bl sub_0200CDAC
mov r1, #0
str r1, [sp]
mov r0, #1
str r0, [sp, #4]
ldrb r2, [r7, #0x12]
ldr r0, [r5, #0x24]
mov r3, #3
lsl r2, r2, #0x19
lsr r2, r2, #0x19
bl BufferIntegerAsString
mov r0, #0x10
str r0, [sp]
mov r1, #0
str r1, [sp, #4]
ldr r0, _021F5110 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
ldr r1, [r5, #0x20]
ldr r2, [sp, #0x14]
add r0, r5, #0
mov r3, #0x5a
bl ov14_021F4FBC
_021F5104:
add r0, r4, r6
bl sub_0201D5C8
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_021F5110: .word 0x00010200
thumb_func_end ov14_021F50A0
thumb_func_start ov14_021F5114
ov14_021F5114: ; 0x021F5114
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r6, r0, #0
add r4, r6, #0
add r0, r2, #0
add r5, r1, #0
add r4, #0x30
lsl r7, r0, #4
add r0, r4, r7
mov r1, #0
str r2, [sp, #0x14]
bl FillWindowPixelBuffer
ldrb r0, [r5, #0x12]
lsl r0, r0, #0x18
lsr r0, r0, #0x1f
bne _021F5182
ldrb r0, [r5, #0x13]
lsl r1, r0, #0x18
lsr r1, r1, #0x1f
cmp r1, #1
bne _021F5182
lsl r0, r0, #0x19
lsr r0, r0, #0x19
bne _021F5162
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _021F518C ; =0x00070800
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
ldr r1, [r6, #0x20]
ldr r2, [sp, #0x14]
add r0, r6, #0
mov r3, #0x52
bl ov14_021F4F84
b _021F5182
_021F5162:
cmp r0, #1
bne _021F5182
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
mov r0, #0xc1
str r1, [sp, #8]
lsl r0, r0, #0xa
str r0, [sp, #0xc]
str r1, [sp, #0x10]
ldr r1, [r6, #0x20]
ldr r2, [sp, #0x14]
add r0, r6, #0
mov r3, #0x53
bl ov14_021F4F84
_021F5182:
add r0, r4, r7
bl sub_0201D5C8
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F518C: .word 0x00070800
thumb_func_end ov14_021F5114
thumb_func_start ov14_021F5190
ov14_021F5190: ; 0x021F5190
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
ldr r0, [r5, #0x34]
add r7, r2, #0
lsl r4, r7, #4
add r0, #0x30
add r6, r1, #0
add r0, r0, r4
mov r1, #0
bl FillWindowPixelBuffer
ldrb r0, [r6, #0x12]
lsl r0, r0, #0x18
lsr r0, r0, #0x1f
bne _021F5208
ldr r0, [r5]
ldr r0, [r0]
bl sub_02074910
ldrh r1, [r6, #4]
bl sub_02074930
add r6, r0, #0
beq _021F5208
ldr r2, [r5, #0x34]
mov r0, #5
str r0, [sp]
ldr r0, [r2, #0x1c]
add r2, #0x30
mov r1, #2
add r2, r2, r4
mov r3, #0
bl sub_0200CDAC
mov r0, #2
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r5, #0x34]
mov r1, #0
ldr r0, [r0, #0x24]
add r2, r6, #0
mov r3, #3
bl BufferIntegerAsString
ldr r0, [r5, #0x34]
mov r1, #0x10
str r1, [sp]
mov r2, #0
str r2, [sp, #4]
ldr r1, _021F5218 ; =0x00010200
str r2, [sp, #8]
str r1, [sp, #0xc]
str r2, [sp, #0x10]
ldr r1, [r0, #0x20]
add r2, r7, #0
mov r3, #0x5b
bl ov14_021F4FBC
_021F5208:
ldr r0, [r5, #0x34]
add r0, #0x30
add r0, r0, r4
bl sub_0201D5C8
add sp, #0x14
pop {r4, r5, r6, r7, pc}
nop
_021F5218: .word 0x00010200
thumb_func_end ov14_021F5190
thumb_func_start ov14_021F521C
ov14_021F521C: ; 0x021F521C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
add r4, r5, #0
add r0, r2, #0
add r6, r1, #0
add r4, #0x30
lsl r7, r0, #4
add r0, r4, r7
mov r1, #0
str r2, [sp, #0x14]
bl FillWindowPixelBuffer
ldrb r0, [r6, #0x12]
lsl r0, r0, #0x18
lsr r0, r0, #0x1f
bne _021F5264
ldrb r2, [r6, #0xf]
ldr r0, [r5, #0x24]
mov r1, #0
bl BufferNatureName
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _021F5288 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
ldr r1, [r5, #0x20]
ldr r2, [sp, #0x14]
add r0, r5, #0
mov r3, #0x55
bl ov14_021F4FBC
b _021F527E
_021F5264:
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _021F5288 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
ldr r1, [r5, #0x20]
ldr r2, [sp, #0x14]
add r0, r5, #0
mov r3, #0x5d
bl ov14_021F4F84
_021F527E:
add r0, r4, r7
bl sub_0201D5C8
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F5288: .word 0x00010200
thumb_func_end ov14_021F521C
thumb_func_start ov14_021F528C
ov14_021F528C: ; 0x021F528C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
add r4, r5, #0
add r0, r2, #0
add r6, r1, #0
add r4, #0x30
lsl r7, r0, #4
add r0, r4, r7
mov r1, #0
str r2, [sp, #0x14]
bl FillWindowPixelBuffer
ldrb r0, [r6, #0x12]
lsl r0, r0, #0x18
lsr r0, r0, #0x1f
bne _021F52D4
ldrb r2, [r6, #0xe]
ldr r0, [r5, #0x24]
mov r1, #0
bl BufferAbilityName
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _021F52F8 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
ldr r1, [r5, #0x20]
ldr r2, [sp, #0x14]
add r0, r5, #0
mov r3, #0x54
bl ov14_021F4FBC
b _021F52EE
_021F52D4:
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _021F52F8 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
ldr r1, [r5, #0x20]
ldr r2, [sp, #0x14]
add r0, r5, #0
mov r3, #0x5d
bl ov14_021F4F84
_021F52EE:
add r0, r4, r7
bl sub_0201D5C8
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F52F8: .word 0x00010200
thumb_func_end ov14_021F528C
thumb_func_start ov14_021F52FC
ov14_021F52FC: ; 0x021F52FC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
add r4, r5, #0
add r0, r2, #0
add r7, r1, #0
add r4, #0x30
lsl r6, r0, #4
add r0, r4, r6
mov r1, #0
str r2, [sp, #0x14]
bl FillWindowPixelBuffer
ldrh r2, [r7, #6]
cmp r2, #0
beq _021F5340
ldr r0, [r5, #0x24]
mov r1, #0
bl BufferItemName
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _021F5364 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
ldr r1, [r5, #0x20]
ldr r2, [sp, #0x14]
add r0, r5, #0
mov r3, #0x56
bl ov14_021F4FBC
b _021F535A
_021F5340:
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _021F5364 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
ldr r1, [r5, #0x20]
ldr r2, [sp, #0x14]
add r0, r5, #0
mov r3, #0x5c
bl ov14_021F4F84
_021F535A:
add r0, r4, r6
bl sub_0201D5C8
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F5364: .word 0x00010200
thumb_func_end ov14_021F52FC
thumb_func_start ov14_021F5368
ov14_021F5368: ; 0x021F5368
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
mov r2, #0
add r4, r1, #0
bl ov14_021F5000
ldr r0, [r5, #0x34]
add r1, r4, #0
mov r2, #1
bl ov14_021F5054
ldr r0, [r5, #0x34]
add r1, r4, #0
mov r2, #2
bl ov14_021F50A0
ldr r0, [r5, #0x34]
add r1, r4, #0
mov r2, #4
bl ov14_021F5114
add r0, r5, #0
add r1, r4, #0
mov r2, #5
bl ov14_021F5190
ldr r0, [r5, #0x34]
add r1, r4, #0
mov r2, #6
bl ov14_021F521C
ldr r0, [r5, #0x34]
add r1, r4, #0
mov r2, #7
bl ov14_021F528C
ldr r0, [r5, #0x34]
add r1, r4, #0
mov r2, #8
bl ov14_021F52FC
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021F5368
thumb_func_start ov14_021F53C0
ov14_021F53C0: ; 0x021F53C0
push {r4, lr}
add r4, r0, #0
add r0, #0x30
bl sub_0201D8E4
add r0, r4, #0
add r0, #0x40
bl sub_0201D8E4
add r0, r4, #0
add r0, #0x50
bl sub_0201D8E4
add r0, r4, #0
add r0, #0x70
bl sub_0201D8E4
add r0, r4, #0
add r0, #0x80
bl sub_0201D8E4
add r0, r4, #0
add r0, #0x90
bl sub_0201D8E4
add r0, r4, #0
add r0, #0xa0
bl sub_0201D8E4
add r4, #0xb0
add r0, r4, #0
bl sub_0201D8E4
pop {r4, pc}
thumb_func_end ov14_021F53C0
thumb_func_start ov14_021F5404
ov14_021F5404: ; 0x021F5404
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x40
add r6, r0, #0
ldr r3, [r6, #0x34]
ldr r0, _021F5558 ; =0x0000044E
str r1, [sp, #0x1c]
ldrb r0, [r3, r0]
lsl r0, r0, #0x1c
lsr r0, r0, #0x1c
bne _021F541E
mov r0, #9
str r0, [sp, #0x20]
b _021F5422
_021F541E:
mov r0, #0xd
str r0, [sp, #0x20]
_021F5422:
ldr r0, _021F5558 ; =0x0000044E
mov r2, #0xf
ldrb r4, [r3, r0]
add r1, r4, #0
bic r1, r2
lsl r2, r4, #0x1c
lsr r4, r2, #0x1c
mov r2, #1
eor r4, r2
lsl r4, r4, #0x18
lsr r5, r4, #0x18
mov r4, #0xf
and r4, r5
orr r1, r4
strb r1, [r3, r0]
mov r0, #0xa
str r0, [sp]
mov r0, #0x13
mov r1, #6
add r3, sp, #0x3c
bl GfGfxLoader_GetCharData
str r0, [sp, #0x34]
ldr r0, [sp, #0x3c]
ldr r2, _021F555C ; =0x000002EE
ldr r0, [r0, #0x14]
mov r1, #0x1b
str r0, [sp, #0x30]
mov r0, #0
mov r3, #0xa
bl NewMsgDataFromNarc
str r0, [sp, #0x2c]
ldr r0, [sp, #0x1c]
ldrb r0, [r0, #0x12]
lsl r0, r0, #0x18
lsr r0, r0, #0x1f
bne _021F553A
mov r0, #0
str r0, [sp, #0x28]
_021F5472:
ldr r1, [sp, #0x20]
ldr r0, [sp, #0x28]
mov r4, #0
add r0, r1, r0
str r0, [sp, #0x24]
lsl r7, r0, #4
ldr r0, [sp, #0x30]
str r0, [sp, #0x38]
add r0, #0x20
str r0, [sp, #0x38]
_021F5486:
mov r0, #8
str r0, [sp]
lsl r5, r4, #3
str r0, [sp, #4]
lsl r0, r5, #0x10
lsr r0, r0, #0x10
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
mov r0, #8
str r0, [sp, #0x10]
str r0, [sp, #0x14]
mov r0, #0xff
str r0, [sp, #0x18]
ldr r0, [r6, #0x34]
mov r1, #0x16
add r0, #0x30
ldr r2, [sp, #0x30]
lsl r1, r1, #4
add r1, r2, r1
mov r2, #0
add r0, r0, r7
add r3, r2, #0
bl sub_0201DA04
mov r0, #8
str r0, [sp]
str r0, [sp, #4]
lsl r0, r5, #0x10
lsr r0, r0, #0x10
str r0, [sp, #8]
mov r0, #8
str r0, [sp, #0xc]
str r0, [sp, #0x10]
str r0, [sp, #0x14]
mov r0, #0xff
str r0, [sp, #0x18]
ldr r0, [r6, #0x34]
mov r2, #0
add r0, #0x30
ldr r1, [sp, #0x38]
add r0, r0, r7
add r3, r2, #0
bl sub_0201DA04
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, #0xb
blo _021F5486
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _021F5560 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
ldr r3, [sp, #0x28]
ldr r0, [r6, #0x34]
lsl r4, r3, #1
ldr r3, [sp, #0x1c]
ldr r1, [sp, #0x2c]
add r3, r3, r4
ldrh r3, [r3, #0x14]
ldr r2, [sp, #0x24]
bl ov14_021F4F84
ldr r1, [r6, #0x34]
ldr r0, [sp, #0x24]
add r1, #0x30
lsl r0, r0, #4
add r0, r1, r0
bl sub_0201D8A0
ldr r0, [sp, #0x28]
add r0, r0, #1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x28]
cmp r0, #4
blo _021F5472
ldr r3, [r6, #0x34]
ldr r1, _021F5558 ; =0x0000044E
mov r0, #0x70
ldrb r2, [r3, r1]
bic r2, r0
mov r0, #0x10
orr r0, r2
strb r0, [r3, r1]
b _021F5546
_021F553A:
ldr r3, [r6, #0x34]
ldr r1, _021F5558 ; =0x0000044E
mov r0, #0x70
ldrb r2, [r3, r1]
bic r2, r0
strb r2, [r3, r1]
_021F5546:
ldr r0, [sp, #0x2c]
bl DestroyMsgData
ldr r0, [sp, #0x34]
bl FreeToHeap
ldr r0, [sp, #0x20]
add sp, #0x40
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F5558: .word 0x0000044E
_021F555C: .word 0x000002EE
_021F5560: .word 0x00010200
thumb_func_end ov14_021F5404
thumb_func_start ov14_021F5564
ov14_021F5564: ; 0x021F5564
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
str r1, [sp, #0xc]
add r6, r0, #0
ldr r0, [r6, #0x34]
ldr r1, _021F5618 ; =0x0000044E
ldrb r1, [r0, r1]
lsl r1, r1, #0x1c
lsr r1, r1, #0x1c
bne _021F557C
mov r7, #0x14
b _021F557E
_021F557C:
mov r7, #0x16
_021F557E:
ldr r1, _021F5618 ; =0x0000044E
add r5, r0, #0
ldrb r2, [r0, r1]
mov r1, #0xf
add r5, #0x30
add r3, r2, #0
bic r3, r1
lsl r1, r2, #0x1c
lsr r2, r1, #0x1c
mov r1, #1
eor r1, r2
lsl r1, r1, #0x18
lsr r2, r1, #0x18
mov r1, #0xf
and r1, r2
add r2, r3, #0
orr r2, r1
ldr r1, _021F5618 ; =0x0000044E
lsl r4, r7, #4
strb r2, [r0, r1]
add r0, r5, r4
mov r1, #0xd
bl FillWindowPixelBuffer
add r0, r5, r4
add r0, #0x10
mov r1, #0xd
bl FillWindowPixelBuffer
ldr r0, [sp, #0xc]
cmp r0, #0
beq _021F5612
ldr r0, [r6, #0x34]
ldr r1, [sp, #0xc]
ldr r0, [r0, #0x28]
mov r2, #0xa
bl sub_02077D40
mov r2, #0
ldr r0, _021F561C ; =0x00010200
str r2, [sp]
str r0, [sp, #4]
str r2, [sp, #8]
ldr r1, [r6, #0x34]
add r0, r5, r4
ldr r1, [r1, #0x28]
add r3, r2, #0
bl ov14_021F4F24
add r0, r5, r4
bl sub_0201D8A0
ldr r0, [r6, #0x34]
ldr r1, [sp, #0xc]
ldr r0, [r0, #0x28]
mov r2, #0xa
bl sub_02077D64
mov r2, #0
ldr r0, _021F561C ; =0x00010200
str r2, [sp]
str r0, [sp, #4]
str r2, [sp, #8]
ldr r1, [r6, #0x34]
add r0, r5, r4
ldr r1, [r1, #0x28]
add r0, #0x10
add r3, r2, #0
bl ov14_021F4F24
add r0, r5, r4
add r0, #0x10
bl sub_0201D8A0
_021F5612:
add r0, r7, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F5618: .word 0x0000044E
_021F561C: .word 0x00010200
thumb_func_end ov14_021F5564
thumb_func_start ov14_021F5620
ov14_021F5620: ; 0x021F5620
push {r4, r5, lr}
sub sp, #0x14
add r5, r0, #0
bl ov14_021F6628
add r4, r0, #0
ldr r0, [r5, #0x34]
mov r1, #0
add r0, #0x60
bl FillWindowPixelBuffer
mov r1, #0
str r1, [sp]
mov r0, #8
str r0, [sp, #4]
ldr r0, _021F5668 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
ldr r3, [r5]
ldr r0, [r5, #0x34]
ldr r3, [r3, #8]
add r1, r4, #0
mov r2, #3
add r3, #0x32
bl ov14_021F4F84
add r0, r4, #0
bl DestroyMsgData
ldr r0, [r5, #0x34]
add r0, #0x60
bl CopyWindowToVram
add sp, #0x14
pop {r4, r5, pc}
.balign 4, 0
_021F5668: .word 0x00010200
thumb_func_end ov14_021F5620
thumb_func_start ov14_021F566C
ov14_021F566C: ; 0x021F566C
push {r3, r4, lr}
sub sp, #0x14
add r4, r0, #0
mov r0, #5
ldr r1, [r4, #0x34]
lsl r0, r0, #6
add r0, r1, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x15
ldr r1, [r4, #0x34]
lsl r0, r0, #4
add r0, r1, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x16
ldr r1, [r4, #0x34]
lsl r0, r0, #4
add r0, r1, r0
mov r1, #0
bl FillWindowPixelBuffer
ldr r0, [r4, #0x34]
mov r2, #0
str r2, [sp]
str r2, [sp, #4]
ldr r1, _021F5714 ; =0x00010200
str r2, [sp, #8]
str r1, [sp, #0xc]
str r2, [sp, #0x10]
ldr r1, [r0, #0x20]
mov r2, #0x11
mov r3, #0x57
bl ov14_021F4F84
ldr r0, [r4, #0x34]
mov r2, #0
str r2, [sp]
str r2, [sp, #4]
ldr r1, _021F5714 ; =0x00010200
str r2, [sp, #8]
str r1, [sp, #0xc]
str r2, [sp, #0x10]
ldr r1, [r0, #0x20]
mov r2, #0x12
mov r3, #0x58
bl ov14_021F4F84
ldr r0, [r4, #0x34]
mov r2, #0
str r2, [sp]
str r2, [sp, #4]
ldr r1, _021F5714 ; =0x00010200
str r2, [sp, #8]
str r1, [sp, #0xc]
str r2, [sp, #0x10]
ldr r1, [r0, #0x20]
mov r2, #0x13
mov r3, #0x59
bl ov14_021F4F84
mov r0, #5
ldr r1, [r4, #0x34]
lsl r0, r0, #6
add r0, r1, r0
bl CopyWindowToVram
mov r0, #0x15
ldr r1, [r4, #0x34]
lsl r0, r0, #4
add r0, r1, r0
bl CopyWindowToVram
mov r0, #0x16
ldr r1, [r4, #0x34]
lsl r0, r0, #4
add r0, r1, r0
bl CopyWindowToVram
add sp, #0x14
pop {r3, r4, pc}
nop
_021F5714: .word 0x00010200
thumb_func_end ov14_021F566C
thumb_func_start ov14_021F5718
ov14_021F5718: ; 0x021F5718
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r6, r0, #0
str r1, [sp, #0x14]
add r5, r3, #0
mov r0, #0xa
mov r1, #0x10
add r7, r2, #0
bl AllocFromHeapAtEnd
add r4, r0, #0
mov r3, #0
lsl r0, r5, #0x18
str r3, [sp]
lsr r0, r0, #0x18
str r0, [sp, #4]
ldr r0, [sp, #0x30]
add r1, r4, #0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
lsl r0, r7, #0x10
str r3, [sp, #0xc]
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r0, [r6, #0x34]
mov r2, #3
ldr r0, [r0, #0x14]
bl sub_0201D40C
ldr r2, [sp, #0x30]
ldr r0, [sp, #0x14]
mul r2, r5
ldr r1, [r4, #0xc]
lsl r2, r2, #5
bl MIi_CpuCopy32
mov r0, #0x14
mov r1, #0xa
bl String_ctor
add r7, r0, #0
ldrb r1, [r6, #0x1f]
ldr r0, [r6, #4]
add r2, r7, #0
bl sub_02073F00
mov r0, #0
ldr r3, [sp, #0x30]
str r0, [sp]
ldr r0, _021F57B4 ; =0x00020100
lsl r3, r3, #3
str r0, [sp, #4]
mov r0, #2
lsl r2, r5, #3
lsr r3, r3, #1
str r0, [sp, #8]
add r0, r4, #0
add r1, r7, #0
lsr r2, r2, #1
sub r3, #8
bl ov14_021F4F24
add r0, r7, #0
bl String_dtor
add r0, r4, #0
bl sub_0201D8A0
add r0, r4, #0
bl RemoveWindow
add r0, r4, #0
bl FreeToHeap
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_021F57B4: .word 0x00020100
thumb_func_end ov14_021F5718
thumb_func_start ov14_021F57B8
ov14_021F57B8: ; 0x021F57B8
push {r4, r5, lr}
sub sp, #0x1c
add r4, r0, #0
add r0, sp, #0xc
bl sub_0201D3C4
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, [r4, #0x34]
add r1, sp, #0xc
ldr r0, [r0, #0x14]
mov r2, #0xc
mov r3, #2
bl sub_0201D494
mov r0, #0x14
mov r1, #0xa
bl String_ctor
add r5, r0, #0
add r1, r4, #0
add r1, #0x25
ldrb r1, [r1]
ldr r0, [r4, #4]
add r2, r5, #0
bl sub_02073F00
mov r3, #0
ldr r0, _021F58B4 ; =0x00010200
str r3, [sp]
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
add r0, sp, #0xc
add r1, r5, #0
mov r2, #0x30
bl ov14_021F4F24
add r0, r5, #0
bl String_dtor
ldr r0, [r4, #0x34]
add r1, sp, #0xc
mov r2, #0
bl ov14_021F4EA0
add r0, sp, #0xc
bl RemoveWindow
add r0, sp, #0xc
bl sub_0201D3C4
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, [r4, #0x34]
add r1, sp, #0xc
ldr r0, [r0, #0x14]
mov r2, #5
mov r3, #2
bl sub_0201D494
ldr r0, [r4, #0x34]
mov r1, #0x18
ldr r0, [r0, #0x20]
bl NewString_ReadMsgData
add r1, r4, #0
add r1, #0x25
add r5, r0, #0
ldrb r1, [r1]
ldr r0, [r4, #4]
bl sub_02073F64
mov r1, #0
add r2, r0, #0
str r1, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r4, #0x34]
mov r3, #2
ldr r0, [r0, #0x24]
bl BufferIntegerAsString
mov r0, #0
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
ldr r0, [r4, #0x34]
mov r2, #0x1e
ldr r0, [r0, #0x24]
mov r3, #2
bl BufferIntegerAsString
ldr r1, [r4, #0x34]
add r2, r5, #0
ldr r0, [r1, #0x24]
ldr r1, [r1, #0x28]
bl StringExpandPlaceholders
mov r3, #0
ldr r0, _021F58B4 ; =0x00010200
str r3, [sp]
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
ldr r1, [r4, #0x34]
add r0, sp, #0xc
ldr r1, [r1, #0x28]
mov r2, #0x14
bl ov14_021F4F24
add r0, r5, #0
bl String_dtor
ldr r0, [r4, #0x34]
add r1, sp, #0xc
mov r2, #1
bl ov14_021F4EA0
add r0, sp, #0xc
bl RemoveWindow
add sp, #0x1c
pop {r4, r5, pc}
.balign 4, 0
_021F58B4: .word 0x00010200
thumb_func_end ov14_021F57B8
thumb_func_start ov14_021F58B8
ov14_021F58B8: ; 0x021F58B8
push {r4, r5, lr}
sub sp, #0x1c
add r5, r0, #0
add r0, sp, #0xc
bl sub_0201D3C4
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, [r5, #0x34]
add r1, sp, #0xc
ldr r0, [r0, #0x14]
mov r2, #0xc
mov r3, #2
bl sub_0201D494
ldr r2, [r5, #0x34]
ldr r0, _021F5948 ; =0x0000044D
ldrb r1, [r2, r0]
cmp r1, #0x10
blo _021F590E
ldr r0, [r5, #4]
sub r1, #0x10
bl sub_020740B4
cmp r0, #0
bne _021F58FC
ldr r0, [r5, #0x34]
mov r1, #0x3b
ldr r0, [r0, #0x20]
bl NewString_ReadMsgData
add r4, r0, #0
b _021F5918
_021F58FC:
ldr r2, [r5, #0x34]
ldr r1, _021F5948 ; =0x0000044D
ldr r0, [r2, #0x20]
ldrb r1, [r2, r1]
add r1, #0x23
bl NewString_ReadMsgData
add r4, r0, #0
b _021F5918
_021F590E:
ldr r0, [r2, #0x20]
add r1, #0x23
bl NewString_ReadMsgData
add r4, r0, #0
_021F5918:
mov r3, #0
ldr r0, _021F594C ; =0x00010200
str r3, [sp]
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
add r0, sp, #0xc
add r1, r4, #0
mov r2, #0x30
bl ov14_021F4F24
add r0, r4, #0
bl String_dtor
ldr r0, [r5, #0x34]
add r1, sp, #0xc
mov r2, #0
bl ov14_021F4EA0
add r0, sp, #0xc
bl RemoveWindow
add sp, #0x1c
pop {r4, r5, pc}
.balign 4, 0
_021F5948: .word 0x0000044D
_021F594C: .word 0x00010200
thumb_func_end ov14_021F58B8
thumb_func_start ov14_021F5950
ov14_021F5950: ; 0x021F5950
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x70
ldr r5, [r0, #0x34]
lsl r4, r1, #4
add r5, #0x30
str r0, [sp, #0x1c]
add r0, r5, r4
str r2, [sp, #0x20]
add r6, r3, #0
bl GetWindowBgId
add r0, r5, r4
bl GetWindowX
add r0, r5, r4
bl GetWindowY
add r0, r5, r4
bl GetWindowWidth
str r0, [sp, #0x30]
add r0, r5, r4
bl GetWindowHeight
str r0, [sp, #0x3c]
cmp r6, #1
bne _021F599A
add r0, r5, r4
mov r1, #0xb
bl FillWindowPixelBuffer
ldr r0, _021F5BD4 ; =0x000E0F00
str r0, [sp, #0x4c]
mov r0, #6
lsl r0, r0, #6
str r0, [sp, #0x40]
b _021F59AA
_021F599A:
add r0, r5, r4
mov r1, #4
bl FillWindowPixelBuffer
ldr r0, _021F5BD4 ; =0x000E0F00
str r0, [sp, #0x4c]
mov r0, #0
str r0, [sp, #0x40]
_021F59AA:
mov r0, #0xa
str r0, [sp]
mov r0, #0x13
mov r1, #0x40
mov r2, #1
add r3, sp, #0x6c
bl GfGfxLoader_GetCharData
str r0, [sp, #0x50]
ldr r0, [sp, #0x6c]
mov r2, #0
ldr r6, [r0, #0x14]
mov r0, #8
str r0, [sp]
str r0, [sp, #4]
str r2, [sp, #8]
str r2, [sp, #0xc]
str r0, [sp, #0x10]
ldr r1, [sp, #0x40]
str r0, [sp, #0x14]
mov r0, #0xff
str r0, [sp, #0x18]
add r0, r5, r4
add r1, r6, r1
add r3, r2, #0
bl sub_0201DA04
ldr r0, [sp, #0x30]
mov r2, #0
sub r0, r0, #1
lsl r7, r0, #3
str r0, [sp, #0x2c]
mov r0, #8
str r0, [sp]
lsl r1, r7, #0x10
str r0, [sp, #4]
lsr r1, r1, #0x10
str r1, [sp, #8]
str r2, [sp, #0xc]
ldr r1, [sp, #0x40]
str r0, [sp, #0x10]
str r0, [sp, #0x14]
mov r0, #0xff
add r1, #0x40
str r0, [sp, #0x18]
add r0, r5, r4
add r1, r6, r1
add r3, r2, #0
bl sub_0201DA04
ldr r0, [sp, #0x3c]
mov r3, #0
sub r0, r0, #1
str r0, [sp, #0x38]
lsl r0, r0, #3
str r0, [sp, #0x34]
mov r0, #8
ldr r1, [sp, #0x34]
str r0, [sp]
str r0, [sp, #4]
lsl r1, r1, #0x10
str r3, [sp, #8]
lsr r1, r1, #0x10
str r1, [sp, #0xc]
str r0, [sp, #0x10]
str r0, [sp, #0x14]
mov r2, #0xff
str r2, [sp, #0x18]
ldr r1, [sp, #0x40]
add r2, #0x21
add r1, r1, r2
add r0, r5, r4
add r1, r6, r1
add r2, r3, #0
bl sub_0201DA04
mov r0, #8
str r0, [sp]
lsl r1, r7, #0x10
str r0, [sp, #4]
lsr r1, r1, #0x10
str r1, [sp, #8]
ldr r1, [sp, #0x34]
mov r2, #0xff
lsl r1, r1, #0x10
lsr r1, r1, #0x10
str r1, [sp, #0xc]
str r0, [sp, #0x10]
str r0, [sp, #0x14]
str r2, [sp, #0x18]
ldr r1, [sp, #0x40]
add r2, #0x61
add r1, r1, r2
mov r2, #0
add r0, r5, r4
add r1, r6, r1
add r3, r2, #0
bl sub_0201DA04
ldr r0, [sp, #0x38]
mov r7, #1
cmp r0, #1
ble _021F5AFE
ldr r0, [sp, #0x40]
ldr r1, [sp, #0x40]
str r0, [sp, #0x54]
add r0, #0x60
str r0, [sp, #0x54]
ldr r0, [sp, #0x30]
str r1, [sp, #0x58]
sub r0, r0, #1
add r1, #0xa0
lsl r0, r0, #3
str r1, [sp, #0x58]
ldr r1, [sp, #0x3c]
lsl r0, r0, #0x10
sub r1, r1, #1
lsr r0, r0, #0x10
str r1, [sp, #0x44]
str r0, [sp, #0x5c]
_021F5A9A:
lsl r0, r7, #3
str r0, [sp, #0x28]
mov r0, #8
str r0, [sp]
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
ldr r0, [sp, #0x28]
ldr r1, [sp, #0x54]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0xc]
mov r0, #8
str r0, [sp, #0x10]
str r0, [sp, #0x14]
mov r0, #0xff
mov r2, #0
str r0, [sp, #0x18]
add r0, r5, r4
add r1, r6, r1
add r3, r2, #0
bl sub_0201DA04
mov r0, #8
str r0, [sp]
str r0, [sp, #4]
ldr r0, [sp, #0x5c]
ldr r1, [sp, #0x58]
str r0, [sp, #8]
ldr r0, [sp, #0x28]
mov r2, #0
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0xc]
mov r0, #8
str r0, [sp, #0x10]
str r0, [sp, #0x14]
mov r0, #0xff
str r0, [sp, #0x18]
add r0, r5, r4
add r1, r6, r1
add r3, r2, #0
bl sub_0201DA04
add r0, r7, #1
lsl r0, r0, #0x18
lsr r7, r0, #0x18
ldr r0, [sp, #0x44]
cmp r7, r0
blt _021F5A9A
_021F5AFE:
ldr r0, [sp, #0x2c]
mov r7, #1
cmp r0, #1
ble _021F5B8E
ldr r0, [sp, #0x40]
mov r2, #5
str r0, [sp, #0x60]
add r0, #0x20
str r0, [sp, #0x60]
ldr r0, [sp, #0x3c]
ldr r1, [sp, #0x40]
lsl r2, r2, #6
sub r0, r0, #1
add r1, r1, r2
lsl r0, r0, #3
str r1, [sp, #0x64]
ldr r1, [sp, #0x30]
lsl r0, r0, #0x10
sub r1, r1, #1
lsr r0, r0, #0x10
str r1, [sp, #0x48]
str r0, [sp, #0x68]
_021F5B2A:
lsl r0, r7, #3
str r0, [sp, #0x24]
mov r0, #8
str r0, [sp]
str r0, [sp, #4]
ldr r0, [sp, #0x24]
ldr r1, [sp, #0x60]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
mov r0, #8
str r0, [sp, #0x10]
str r0, [sp, #0x14]
mov r0, #0xff
mov r2, #0
str r0, [sp, #0x18]
add r0, r5, r4
add r1, r6, r1
add r3, r2, #0
bl sub_0201DA04
mov r0, #8
str r0, [sp]
str r0, [sp, #4]
ldr r0, [sp, #0x24]
ldr r1, [sp, #0x64]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #8]
ldr r0, [sp, #0x68]
mov r2, #0
str r0, [sp, #0xc]
mov r0, #8
str r0, [sp, #0x10]
str r0, [sp, #0x14]
mov r0, #0xff
str r0, [sp, #0x18]
add r0, r5, r4
add r1, r6, r1
add r3, r2, #0
bl sub_0201DA04
add r0, r7, #1
lsl r0, r0, #0x18
lsr r7, r0, #0x18
ldr r0, [sp, #0x48]
cmp r7, r0
blt _021F5B2A
_021F5B8E:
ldr r0, [sp, #0x50]
bl FreeToHeap
ldr r0, [sp, #0x1c]
ldr r1, [sp, #0x20]
ldr r0, [r0, #0x34]
ldr r0, [r0, #0x20]
bl NewString_ReadMsgData
add r6, r0, #0
ldr r2, [sp, #0x30]
mov r7, #4
lsl r3, r2, #3
lsr r2, r3, #0x1f
add r2, r3, r2
ldr r0, [sp, #0x4c]
str r7, [sp]
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
add r0, r5, r4
add r1, r6, #0
asr r2, r2, #1
add r3, r7, #0
bl ov14_021F4F24
add r0, r6, #0
bl String_dtor
add r0, r5, r4
bl sub_0201D8A0
add sp, #0x70
pop {r3, r4, r5, r6, r7, pc}
nop
_021F5BD4: .word 0x000E0F00
thumb_func_end ov14_021F5950
thumb_func_start ov14_021F5BD8
ov14_021F5BD8: ; 0x021F5BD8
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r7, r0, #0
ldr r5, [r7, #0x34]
lsl r4, r1, #4
add r5, #0x30
add r0, r5, r4
str r2, [sp, #0xc]
add r6, r3, #0
bl GetWindowBgId
add r0, r5, r4
bl GetWindowX
add r0, r5, r4
bl GetWindowY
add r0, r5, r4
bl GetWindowWidth
str r0, [sp, #0x10]
add r0, r5, r4
bl GetWindowHeight
cmp r6, #1
bne _021F5C16
add r0, r5, r4
mov r1, #0xb
bl FillWindowPixelBuffer
b _021F5C1E
_021F5C16:
add r0, r5, r4
mov r1, #4
bl FillWindowPixelBuffer
_021F5C1E:
ldr r0, [r7, #0x34]
ldr r1, [sp, #0xc]
ldr r0, [r0, #0x20]
ldr r6, _021F5C80 ; =0x000E0F00
bl NewString_ReadMsgData
add r7, r0, #0
add r0, sp, #0x18
ldrb r0, [r0, #0x10]
add r1, r0, #0
add r1, #0xfe
lsl r1, r1, #0x18
lsr r1, r1, #0x18
cmp r1, #1
bhi _021F5C5A
mov r1, #4
str r1, [sp]
str r6, [sp, #4]
str r0, [sp, #8]
ldr r2, [sp, #0x10]
add r0, r5, r4
lsl r3, r2, #3
lsr r2, r3, #0x1f
add r2, r3, r2
add r1, r7, #0
asr r2, r2, #1
mov r3, #0
bl ov14_021F4F24
b _021F5C6E
_021F5C5A:
mov r1, #4
str r1, [sp]
str r6, [sp, #4]
mov r2, #0
str r0, [sp, #8]
add r0, r5, r4
add r1, r7, #0
add r3, r2, #0
bl ov14_021F4F24
_021F5C6E:
add r0, r7, #0
bl String_dtor
add r0, r5, r4
bl sub_0201D8A0
add sp, #0x14
pop {r4, r5, r6, r7, pc}
nop
_021F5C80: .word 0x000E0F00
thumb_func_end ov14_021F5BD8
thumb_func_start ov14_021F5C84
ov14_021F5C84: ; 0x021F5C84
push {r3, lr}
add r3, r1, #0
mov r1, #0x18
mov r2, #0x3c
bl ov14_021F5950
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021F5C84
thumb_func_start ov14_021F5C94
ov14_021F5C94: ; 0x021F5C94
push {r4, r5, r6, r7, lr}
sub sp, #0x3c
ldr r5, [r0, #0x34]
lsl r4, r1, #4
add r5, #0x30
str r0, [sp, #0x1c]
add r0, r5, r4
str r2, [sp, #0x20]
bl GetWindowWidth
str r0, [sp, #0x2c]
mov r0, #0xa
str r0, [sp]
mov r0, #0x13
mov r1, #0xe
mov r2, #1
add r3, sp, #0x38
bl GfGfxLoader_GetCharData
str r0, [sp, #0x34]
ldr r0, [sp, #0x38]
mov r2, #0
ldr r6, [r0, #0x14]
mov r1, #0x18
str r1, [sp]
mov r0, #8
str r0, [sp, #4]
str r2, [sp, #8]
str r2, [sp, #0xc]
str r1, [sp, #0x10]
mov r1, #0xae
str r0, [sp, #0x14]
mov r0, #0xff
lsl r1, r1, #4
str r0, [sp, #0x18]
add r0, r5, r4
add r1, r6, r1
add r3, r2, #0
bl sub_0201DA04
mov r1, #0x18
mov r2, #0
str r1, [sp]
mov r0, #8
str r0, [sp, #4]
str r2, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
mov r1, #0xb6
str r0, [sp, #0x14]
mov r0, #0xff
lsl r1, r1, #4
str r0, [sp, #0x18]
add r0, r5, r4
add r1, r6, r1
add r3, r2, #0
bl sub_0201DA04
mov r3, #0x18
str r3, [sp]
mov r1, #8
str r1, [sp, #4]
mov r2, #0
str r2, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
str r3, [sp, #0x10]
str r1, [sp, #0x14]
mov r1, #0xb2
mov r0, #0xff
lsl r1, r1, #4
str r0, [sp, #0x18]
add r0, r5, r4
add r1, r6, r1
add r3, r2, #0
bl sub_0201DA04
ldr r0, [sp, #0x2c]
sub r0, r0, #1
str r0, [sp, #0x28]
lsl r7, r0, #3
mov r0, #8
str r0, [sp]
lsl r1, r7, #0x10
mov r2, #0
str r0, [sp, #4]
lsr r1, r1, #0x10
str r1, [sp, #8]
str r2, [sp, #0xc]
str r0, [sp, #0x10]
mov r1, #0xd6
str r0, [sp, #0x14]
mov r0, #0xff
lsl r1, r1, #4
str r0, [sp, #0x18]
add r0, r5, r4
add r1, r6, r1
add r3, r2, #0
bl sub_0201DA04
mov r1, #8
str r1, [sp]
lsl r0, r7, #0x10
mov r2, #0
str r1, [sp, #4]
lsr r0, r0, #0x10
str r0, [sp, #8]
str r1, [sp, #0xc]
str r1, [sp, #0x10]
str r1, [sp, #0x14]
mov r1, #0xd2
mov r0, #0xff
lsl r1, r1, #4
str r0, [sp, #0x18]
add r0, r5, r4
add r1, r6, r1
add r3, r2, #0
bl sub_0201DA04
mov r0, #8
str r0, [sp]
lsl r1, r7, #0x10
mov r2, #0
str r0, [sp, #4]
lsr r1, r1, #0x10
str r1, [sp, #8]
mov r1, #0x10
str r1, [sp, #0xc]
str r0, [sp, #0x10]
mov r1, #0x35
str r0, [sp, #0x14]
mov r0, #0xff
lsl r1, r1, #6
str r0, [sp, #0x18]
add r0, r5, r4
add r1, r6, r1
add r3, r2, #0
bl sub_0201DA04
ldr r0, [sp, #0x28]
mov r7, #1
cmp r0, #1
ble _021F5E4A
ldr r0, [sp, #0x2c]
sub r0, r0, #1
str r0, [sp, #0x30]
_021F5DB8:
lsl r0, r7, #3
str r0, [sp, #0x24]
mov r0, #8
str r0, [sp]
str r0, [sp, #4]
ldr r0, [sp, #0x24]
mov r1, #0xb
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
mov r0, #8
str r0, [sp, #0x10]
str r0, [sp, #0x14]
mov r0, #0xff
lsl r1, r1, #8
mov r2, #0
str r0, [sp, #0x18]
add r0, r5, r4
add r1, r6, r1
add r3, r2, #0
bl sub_0201DA04
mov r0, #8
str r0, [sp]
str r0, [sp, #4]
ldr r0, [sp, #0x24]
mov r1, #0x2e
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #8]
mov r0, #8
str r0, [sp, #0xc]
str r0, [sp, #0x10]
str r0, [sp, #0x14]
mov r0, #0xff
lsl r1, r1, #6
mov r2, #0
str r0, [sp, #0x18]
add r0, r5, r4
add r1, r6, r1
add r3, r2, #0
bl sub_0201DA04
mov r0, #8
str r0, [sp]
str r0, [sp, #4]
ldr r0, [sp, #0x24]
mov r1, #0x2d
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
mov r0, #8
str r0, [sp, #0x10]
str r0, [sp, #0x14]
mov r0, #0xff
lsl r1, r1, #6
mov r2, #0
str r0, [sp, #0x18]
add r0, r5, r4
add r1, r6, r1
add r3, r2, #0
bl sub_0201DA04
add r0, r7, #1
lsl r0, r0, #0x18
lsr r7, r0, #0x18
ldr r0, [sp, #0x30]
cmp r7, r0
blt _021F5DB8
_021F5E4A:
ldr r0, [sp, #0x34]
bl FreeToHeap
ldr r0, [sp, #0x1c]
ldr r1, [sp, #0x20]
ldr r0, [r0, #0x34]
ldr r0, [r0, #0x20]
bl NewString_ReadMsgData
add r6, r0, #0
ldr r2, [sp, #0x2c]
mov r7, #4
lsl r3, r2, #3
lsr r2, r3, #0x1f
add r2, r3, r2
ldr r0, _021F5E90 ; =0x00090A00
str r7, [sp]
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
add r0, r5, r4
add r1, r6, #0
asr r2, r2, #1
add r3, r7, #0
bl ov14_021F4F24
add r0, r6, #0
bl String_dtor
add r0, r5, r4
bl sub_0201D8A0
add sp, #0x3c
pop {r4, r5, r6, r7, pc}
nop
_021F5E90: .word 0x00090A00
thumb_func_end ov14_021F5C94
thumb_func_start ov14_021F5E94
ov14_021F5E94: ; 0x021F5E94
push {r3, lr}
ldr r1, [r0]
ldr r1, [r1, #8]
cmp r1, #3
bne _021F5EA8
mov r1, #0x19
mov r2, #0x40
bl ov14_021F5C94
pop {r3, pc}
_021F5EA8:
mov r1, #0x19
mov r2, #0x3d
bl ov14_021F5C94
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021F5E94
thumb_func_start ov14_021F5EB4
ov14_021F5EB4: ; 0x021F5EB4
push {r3, lr}
add r3, r1, #0
mov r1, #0x1a
mov r2, #0x3e
bl ov14_021F5950
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021F5EB4
thumb_func_start ov14_021F5EC4
ov14_021F5EC4: ; 0x021F5EC4
push {r3, lr}
add r3, r1, #0
mov r1, #0x1b
mov r2, #0x4c
bl ov14_021F5950
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021F5EC4
thumb_func_start ov14_021F5ED4
ov14_021F5ED4: ; 0x021F5ED4
push {r3, lr}
add r3, r1, #0
mov r1, #0x1c
mov r2, #0x47
bl ov14_021F5950
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021F5ED4
thumb_func_start ov14_021F5EE4
ov14_021F5EE4: ; 0x021F5EE4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
str r1, [sp, #0xc]
mov r0, #0x2f
add r6, r2, #0
add r2, sp, #0x14
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #3
add r2, #2
add r3, sp, #0x14
bl sub_02019B44
mov r4, #0
cmp r6, #0
bls _021F5F90
sub r0, r6, #1
str r0, [sp, #0x10]
add r7, sp, #0x14
_021F5F0E:
ldr r0, [sp, #0x10]
sub r0, r0, r4
lsl r1, r0, #2
ldr r0, [sp, #0xc]
add r2, r0, r1
ldrh r0, [r2, #2]
cmp r0, #0
bne _021F5F56
ldrh r2, [r2]
mov r1, #0x21
add r0, r5, #0
sub r1, r1, r4
mov r3, #0
bl ov14_021F5950
ldrh r0, [r7, #2]
mov r2, #0
add r3, r2, #0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldrh r0, [r7]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
mov r0, #0xc
str r0, [sp, #8]
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #7
sub r1, r1, r4
bl sub_020199F4
b _021F5F8A
_021F5F56:
ldrh r2, [r2]
mov r1, #0x21
add r0, r5, #0
sub r1, r1, r4
bl ov14_021F5C94
ldrh r0, [r7, #2]
mov r2, #0
add r3, r2, #0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldrh r0, [r7]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #7
sub r1, r1, r4
bl sub_020199F4
_021F5F8A:
add r4, r4, #1
cmp r4, r6
blo _021F5F0E
_021F5F90:
cmp r6, #5
bhs _021F5FB6
mov r7, #0x21
_021F5F96:
sub r0, r7, r6
lsl r4, r0, #4
ldr r0, [r5, #0x34]
mov r1, #0
add r0, #0x30
add r0, r0, r4
bl FillWindowPixelBuffer
ldr r0, [r5, #0x34]
add r0, #0x30
add r0, r0, r4
bl sub_0201D8A0
add r6, r6, #1
cmp r6, #5
blo _021F5F96
_021F5FB6:
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov14_021F5EE4
thumb_func_start ov14_021F5FBC
ov14_021F5FBC: ; 0x021F5FBC
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
mov r0, #2
ldr r1, [r5, #0x34]
lsl r0, r0, #8
add r0, r1, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x21
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r0, r1, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x22
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r0, r1, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x23
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r0, r1, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #2
ldr r1, [r5, #0x34]
lsl r0, r0, #8
add r0, r1, r0
bl sub_0201D8A0
mov r0, #0x21
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r0, r1, r0
bl sub_0201D8A0
mov r0, #0x22
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r0, r1, r0
bl sub_0201D8A0
mov r0, #0x23
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r0, r1, r0
bl sub_0201D8A0
cmp r4, #0
bne _021F603C
add r0, r5, #0
mov r1, #0x21
mov r2, #0x51
mov r3, #0
bl ov14_021F5950
pop {r3, r4, r5, pc}
_021F603C:
add r0, r5, #0
mov r1, #0x21
mov r2, #0x50
mov r3, #0
bl ov14_021F5950
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021F5FBC
thumb_func_start ov14_021F604C
ov14_021F604C: ; 0x021F604C
push {r3, lr}
mov r1, #0x2a
mov r2, #0x3f
mov r3, #0
bl ov14_021F5950
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021F604C
thumb_func_start ov14_021F605C
ov14_021F605C: ; 0x021F605C
push {r3, lr}
mov r1, #3
str r1, [sp]
mov r1, #0x29
mov r2, #0x4d
mov r3, #0
bl ov14_021F5BD8
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021F605C
thumb_func_start ov14_021F6070
ov14_021F6070: ; 0x021F6070
push {r4, lr}
add r4, r0, #0
bl ov14_021F605C
add r0, r4, #0
mov r1, #0x20
mov r2, #0x1a
mov r3, #0
bl ov14_021F5950
add r0, r4, #0
mov r1, #0x21
mov r2, #0x1b
mov r3, #0
bl ov14_021F5950
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F6070
thumb_func_start ov14_021F6094
ov14_021F6094: ; 0x021F6094
push {r3, lr}
mov r1, #3
str r1, [sp]
mov r1, #0x29
mov r2, #0x4e
mov r3, #0
bl ov14_021F5BD8
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021F6094
thumb_func_start ov14_021F60A8
ov14_021F60A8: ; 0x021F60A8
push {r3, lr}
mov r1, #3
str r1, [sp]
mov r1, #0x29
mov r2, #0x4f
mov r3, #0
bl ov14_021F5BD8
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021F60A8
thumb_func_start ov14_021F60BC
ov14_021F60BC: ; 0x021F60BC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
add r6, r1, #0
add r4, r2, #0
bl sub_02019B08
add r2, sp, #0xc
add r7, r0, #0
add r0, r5, #0
add r1, r6, #0
add r2, #2
add r3, sp, #0xc
bl sub_02019B44
add r0, r4, #0
bl sub_0201EEA0
add r2, r0, #0
ldrb r0, [r4, #9]
add r3, sp, #0xc
lsl r0, r0, #0x1c
lsr r5, r0, #0x10
mov r0, #0xfa
lsl r0, r0, #2
add r1, r5, r0
strh r1, [r7]
ldrh r4, [r3, #2]
add r1, r0, #2
add r1, r5, r1
sub r4, r4, #1
lsl r4, r4, #1
strh r1, [r7, r4]
ldrh r4, [r3]
add r1, r0, #0
add r1, #9
ldrh r6, [r3, #2]
sub r4, r4, #1
add r1, r5, r1
mul r4, r6
lsl r4, r4, #1
strh r1, [r7, r4]
add r1, r0, #0
add r1, #0xb
add r6, r5, r1
ldrh r4, [r3, #2]
ldrh r1, [r3]
mul r1, r4
sub r1, r1, #1
lsl r1, r1, #1
strh r6, [r7, r1]
ldrh r4, [r3, #2]
mov r1, #0
sub r4, r4, #2
cmp r4, #0
ble _021F6164
add r4, r0, #1
add r0, #0xa
add r0, r5, r0
add r4, r5, r4
lsl r0, r0, #0x10
lsl r4, r4, #0x10
lsr r0, r0, #0x10
lsr r6, r4, #0x10
str r0, [sp, #4]
_021F613E:
lsl r0, r1, #1
add r0, r7, r0
strh r6, [r0, #2]
ldrh r4, [r3]
ldrh r0, [r3, #2]
sub r4, r4, #1
mul r4, r0
add r0, r1, r4
lsl r0, r0, #1
add r4, r7, r0
ldr r0, [sp, #4]
strh r0, [r4, #2]
add r0, r1, #1
lsl r0, r0, #0x10
lsr r1, r0, #0x10
ldrh r0, [r3, #2]
sub r0, r0, #2
cmp r1, r0
blt _021F613E
_021F6164:
add r6, sp, #0xc
ldrh r1, [r6]
mov r0, #0
sub r1, r1, #2
cmp r1, #0
ble _021F61AE
ldr r1, _021F6204 ; =0x000003EB
add r3, r5, r1
add r1, r1, #2
add r1, r5, r1
lsl r3, r3, #0x10
lsl r1, r1, #0x10
lsr r3, r3, #0x10
lsr r1, r1, #0x10
str r3, [sp, #8]
mov ip, r1
_021F6184:
ldrh r1, [r6, #2]
add r4, r0, #1
add r0, r0, #2
add r3, r1, #0
mul r3, r4
ldr r1, [sp, #8]
lsl r3, r3, #1
strh r1, [r7, r3]
ldrh r1, [r6, #2]
mul r0, r1
lsl r0, r0, #1
add r0, r7, r0
sub r1, r0, #2
mov r0, ip
strh r0, [r1]
ldrh r1, [r6]
lsl r0, r4, #0x10
lsr r0, r0, #0x10
sub r1, r1, #2
cmp r0, r1
blt _021F6184
_021F61AE:
mov r0, #0
str r0, [sp]
cmp r1, #0
ble _021F6200
_021F61B6:
add r0, sp, #0xc
ldrh r6, [r0, #2]
mov r3, #0
sub r0, r6, #2
cmp r0, #0
ble _021F61EA
ldr r0, [sp]
add r4, r0, #1
_021F61C6:
add r0, r6, #0
mul r0, r4
add r0, r3, r0
lsl r0, r0, #1
add r1, r5, r2
add r0, r7, r0
strh r1, [r0, #2]
add r0, r2, #1
lsl r0, r0, #0x10
lsr r2, r0, #0x10
add r0, r3, #1
lsl r0, r0, #0x10
lsr r3, r0, #0x10
add r0, sp, #0xc
ldrh r6, [r0, #2]
sub r0, r6, #2
cmp r3, r0
blt _021F61C6
_021F61EA:
ldr r0, [sp]
add r0, r0, #1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp]
add r0, sp, #0xc
ldrh r0, [r0]
sub r1, r0, #2
ldr r0, [sp]
cmp r0, r1
blt _021F61B6
_021F6200:
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F6204: .word 0x000003EB
thumb_func_end ov14_021F60BC
thumb_func_start ov14_021F6208
ov14_021F6208: ; 0x021F6208
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r6, r2, #0
add r5, r0, #0
add r0, r6, #0
add r4, r1, #0
bl GetWindowBgId
add r7, r0, #0
add r0, r6, #0
bl GetWindowWidth
str r0, [sp, #4]
add r0, r6, #0
bl GetWindowHeight
str r0, [sp]
ldr r3, [sp, #4]
add r0, r5, #0
add r1, r4, #0
add r2, r7, #0
bl sub_020195F4
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl sub_02019A60
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov14_021F6208
thumb_func_start ov14_021F6244
ov14_021F6244: ; 0x021F6244
push {r4, lr}
mov r2, #0x2f
add r4, r0, #0
lsl r2, r2, #4
ldr r0, [r4, r2]
sub r2, #0xf0
mov r1, #3
add r2, r4, r2
bl ov14_021F6208
mov r2, #0x2f
lsl r2, r2, #4
ldr r0, [r4, r2]
sub r2, #0xe0
mov r1, #4
add r2, r4, r2
bl ov14_021F6208
mov r2, #0x2f
lsl r2, r2, #4
ldr r0, [r4, r2]
sub r2, #0xd0
mov r1, #5
add r2, r4, r2
bl ov14_021F6208
mov r2, #0x2f
lsl r2, r2, #4
ldr r0, [r4, r2]
sub r2, #0xc0
mov r1, #6
add r2, r4, r2
bl ov14_021F6208
mov r2, #0x2f
lsl r2, r2, #4
ldr r0, [r4, r2]
sub r2, #0xb0
mov r1, #7
add r2, r4, r2
bl ov14_021F6208
mov r2, #0x2f
lsl r2, r2, #4
ldr r0, [r4, r2]
sub r2, #0x30
mov r1, #0xc
add r2, r4, r2
bl ov14_021F60BC
mov r2, #0x2f
lsl r2, r2, #4
ldr r0, [r4, r2]
sub r2, #0x20
mov r1, #0xe
add r2, r4, r2
bl ov14_021F6208
mov r2, #0x2f
lsl r2, r2, #4
ldr r0, [r4, r2]
sub r2, #0x10
mov r1, #0xf
add r2, r4, r2
bl ov14_021F6208
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F6244
thumb_func_start ov14_021F62CC
ov14_021F62CC: ; 0x021F62CC
add r3, r0, #0
mov r0, #0x2f
mov r2, #0x1b
lsl r0, r0, #4
lsl r2, r2, #4
ldr r0, [r3, r0]
add r2, r3, r2
ldr r3, _021F62E0 ; =ov14_021F6208
mov r1, #8
bx r3
.balign 4, 0
_021F62E0: .word ov14_021F6208
thumb_func_end ov14_021F62CC
thumb_func_start ov14_021F62E4
ov14_021F62E4: ; 0x021F62E4
add r3, r0, #0
mov r0, #0x2f
mov r2, #7
lsl r0, r0, #4
lsl r2, r2, #6
ldr r0, [r3, r0]
add r2, r3, r2
ldr r3, _021F62F8 ; =ov14_021F6208
mov r1, #9
bx r3
.balign 4, 0
_021F62F8: .word ov14_021F6208
thumb_func_end ov14_021F62E4
thumb_func_start ov14_021F62FC
ov14_021F62FC: ; 0x021F62FC
add r3, r0, #0
mov r0, #0x2f
mov r2, #0x1d
lsl r0, r0, #4
lsl r2, r2, #4
ldr r0, [r3, r0]
add r2, r3, r2
ldr r3, _021F6310 ; =ov14_021F6208
mov r1, #0xa
bx r3
.balign 4, 0
_021F6310: .word ov14_021F6208
thumb_func_end ov14_021F62FC
thumb_func_start ov14_021F6314
ov14_021F6314: ; 0x021F6314
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
mov r2, #0x1f
ldr r3, [r4, #0x34]
lsl r0, r0, #4
lsl r2, r2, #4
ldr r0, [r3, r0]
mov r1, #0xb
add r2, r3, r2
bl ov14_021F6208
add r0, r4, #0
mov r1, #0
bl ov14_021F5ED4
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F6314
thumb_func_start ov14_021F6338
ov14_021F6338: ; 0x021F6338
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r7, r0, #0
add r6, r1, #0
add r5, r7, #0
add r5, #0x30
lsl r4, r6, #4
add r0, r5, r4
mov r1, #0xd
str r2, [sp, #0x14]
bl FillWindowPixelBuffer
add r0, r5, r4
bl GetWindowWidth
lsl r1, r0, #3
lsr r0, r1, #0x1f
add r0, r1, r0
lsl r0, r0, #0x17
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
ldr r0, _021F6388 ; =0x00090A0D
ldr r3, [sp, #0x14]
str r0, [sp, #0xc]
mov r0, #2
str r0, [sp, #0x10]
ldr r1, [r7, #0x20]
add r0, r7, #0
add r2, r6, #0
bl ov14_021F4F84
add r0, r5, r4
bl sub_0201D8A0
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F6388: .word 0x00090A0D
thumb_func_end ov14_021F6338
thumb_func_start ov14_021F638C
ov14_021F638C: ; 0x021F638C
push {r4, lr}
add r4, r0, #0
mov r1, #0x22
mov r2, #0x48
mov r3, #0
bl ov14_021F6338
add r0, r4, #0
mov r1, #0x23
mov r2, #0x49
mov r3, #0
bl ov14_021F6338
pop {r4, pc}
thumb_func_end ov14_021F638C
thumb_func_start ov14_021F63A8
ov14_021F63A8: ; 0x021F63A8
push {r3, lr}
mov r1, #0x24
mov r2, #0x4a
mov r3, #0
bl ov14_021F6338
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021F63A8
thumb_func_start ov14_021F63B8
ov14_021F63B8: ; 0x021F63B8
push {r3, lr}
mov r1, #0x24
mov r2, #0x4b
mov r3, #0
bl ov14_021F6338
pop {r3, pc}
.balign 4, 0
thumb_func_end ov14_021F63B8
thumb_func_start ov14_021F63C8
ov14_021F63C8: ; 0x021F63C8
push {r4, lr}
mov r2, #0x2f
add r4, r0, #0
lsl r2, r2, #4
ldr r0, [r4, r2]
sub r2, #0xa0
mov r1, #2
add r2, r4, r2
bl sub_02019A60
mov r2, #0x2f
lsl r2, r2, #4
ldr r0, [r4, r2]
sub r2, #0x90
mov r1, #2
add r2, r4, r2
bl sub_02019A60
pop {r4, pc}
.balign 4, 0
thumb_func_end ov14_021F63C8
thumb_func_start ov14_021F63F0
ov14_021F63F0: ; 0x021F63F0
mov r2, #0x2f
add r3, r0, #0
lsl r2, r2, #4
ldr r0, [r3, r2]
sub r2, #0x80
add r2, r3, r2
ldr r3, _021F6404 ; =sub_02019A60
mov r1, #1
bx r3
nop
_021F6404: .word sub_02019A60
thumb_func_end ov14_021F63F0
thumb_func_start ov14_021F6408
ov14_021F6408: ; 0x021F6408
push {r4, r5, r6, r7, lr}
sub sp, #0x34
str r0, [sp, #0x1c]
ldr r4, [r0, #0x34]
mov r0, #0x2e
lsl r0, r0, #4
add r0, r4, r0
bl GetWindowWidth
str r0, [sp, #0x20]
mov r0, #0xa
str r0, [sp]
mov r0, #0x13
mov r1, #0xe
mov r2, #1
add r3, sp, #0x30
bl GfGfxLoader_GetCharData
str r0, [sp, #0x28]
ldr r0, [sp, #0x30]
mov r2, #0
ldr r5, [r0, #0x14]
mov r1, #0x18
str r1, [sp]
mov r0, #8
str r0, [sp, #4]
str r2, [sp, #8]
str r2, [sp, #0xc]
str r1, [sp, #0x10]
str r0, [sp, #0x14]
mov r0, #0xff
str r0, [sp, #0x18]
mov r0, #0x2e
mov r1, #0x7a
lsl r0, r0, #4
lsl r1, r1, #4
add r0, r4, r0
add r1, r5, r1
add r3, r2, #0
bl sub_0201DA04
mov r1, #0x18
mov r2, #0
str r1, [sp]
mov r0, #8
str r0, [sp, #4]
str r2, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
str r0, [sp, #0x14]
mov r0, #0xff
str r0, [sp, #0x18]
mov r0, #0x2e
mov r1, #0xba
lsl r0, r0, #4
lsl r1, r1, #4
add r0, r4, r0
add r1, r5, r1
add r3, r2, #0
bl sub_0201DA04
mov r3, #0x18
str r3, [sp]
mov r1, #8
str r1, [sp, #4]
mov r2, #0
str r2, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
str r3, [sp, #0x10]
str r1, [sp, #0x14]
mov r0, #0xff
str r0, [sp, #0x18]
mov r0, #0x2e
mov r1, #0xfa
lsl r0, r0, #4
lsl r1, r1, #4
add r0, r4, r0
add r1, r5, r1
add r3, r2, #0
bl sub_0201DA04
ldr r0, [sp, #0x20]
mov r1, #8
sub r0, r0, #1
str r1, [sp]
mov r2, #0
lsl r6, r0, #3
str r0, [sp, #0x2c]
lsl r0, r6, #0x10
str r1, [sp, #4]
lsr r0, r0, #0x10
str r0, [sp, #8]
str r2, [sp, #0xc]
str r1, [sp, #0x10]
str r1, [sp, #0x14]
mov r0, #0xff
str r0, [sp, #0x18]
mov r0, #0x2e
mov r1, #0xd
lsl r0, r0, #4
lsl r1, r1, #8
add r0, r4, r0
add r1, r5, r1
add r3, r2, #0
bl sub_0201DA04
mov r1, #8
str r1, [sp]
lsl r0, r6, #0x10
str r1, [sp, #4]
lsr r0, r0, #0x10
str r0, [sp, #8]
str r1, [sp, #0xc]
str r1, [sp, #0x10]
str r1, [sp, #0x14]
mov r0, #0xff
str r0, [sp, #0x18]
mov r0, #0x2e
mov r1, #0xce
lsl r0, r0, #4
lsl r1, r1, #4
mov r2, #0
add r0, r4, r0
add r1, r5, r1
add r3, r2, #0
bl sub_0201DA04
mov r1, #8
str r1, [sp]
lsl r0, r6, #0x10
mov r2, #0
str r1, [sp, #4]
lsr r0, r0, #0x10
str r0, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
str r1, [sp, #0x10]
str r1, [sp, #0x14]
mov r0, #0xff
str r0, [sp, #0x18]
mov r0, #0x2e
mov r1, #0x33
lsl r0, r0, #4
lsl r1, r1, #6
add r0, r4, r0
add r1, r5, r1
add r3, r2, #0
bl sub_0201DA04
ldr r0, [sp, #0x2c]
mov r7, #3
cmp r0, #3
ble _021F65D8
ldr r0, [sp, #0x20]
sub r0, r0, #1
str r0, [sp, #0x24]
_021F6542:
mov r0, #8
str r0, [sp]
lsl r6, r7, #3
str r0, [sp, #4]
lsl r0, r6, #0x10
lsr r0, r0, #0x10
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
mov r0, #8
str r0, [sp, #0x10]
str r0, [sp, #0x14]
mov r0, #0xff
str r0, [sp, #0x18]
mov r0, #0x2e
mov r1, #0xc2
lsl r0, r0, #4
lsl r1, r1, #4
mov r2, #0
add r0, r4, r0
add r1, r5, r1
add r3, r2, #0
bl sub_0201DA04
mov r0, #8
str r0, [sp]
str r0, [sp, #4]
lsl r0, r6, #0x10
lsr r0, r0, #0x10
str r0, [sp, #8]
mov r0, #8
str r0, [sp, #0xc]
str r0, [sp, #0x10]
str r0, [sp, #0x14]
mov r0, #0xff
str r0, [sp, #0x18]
mov r0, #0x2e
mov r1, #0xca
lsl r0, r0, #4
lsl r1, r1, #4
mov r2, #0
add r0, r4, r0
add r1, r5, r1
add r3, r2, #0
bl sub_0201DA04
mov r0, #8
str r0, [sp]
str r0, [sp, #4]
lsl r0, r6, #0x10
lsr r0, r0, #0x10
str r0, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
mov r0, #8
str r0, [sp, #0x10]
str r0, [sp, #0x14]
mov r0, #0xff
str r0, [sp, #0x18]
mov r0, #0x2e
mov r1, #0x32
lsl r0, r0, #4
lsl r1, r1, #6
mov r2, #0
add r0, r4, r0
add r1, r5, r1
add r3, r2, #0
bl sub_0201DA04
add r0, r7, #1
lsl r0, r0, #0x18
lsr r7, r0, #0x18
ldr r0, [sp, #0x24]
cmp r7, r0
blt _021F6542
_021F65D8:
ldr r0, [sp, #0x28]
bl FreeToHeap
ldr r0, [sp, #0x1c]
mov r1, #0x41
ldr r0, [r0, #0x34]
ldr r0, [r0, #0x20]
bl NewString_ReadMsgData
add r5, r0, #0
mov r3, #4
ldr r2, [sp, #0x20]
ldr r0, _021F6624 ; =0x00090A00
str r3, [sp]
str r0, [sp, #4]
mov r0, #2
lsl r6, r2, #3
str r0, [sp, #8]
mov r0, #0x2e
lsr r2, r6, #0x1f
lsl r0, r0, #4
add r2, r6, r2
add r0, r4, r0
add r1, r5, #0
asr r2, r2, #1
bl ov14_021F4F24
add r0, r5, #0
bl String_dtor
mov r0, #0x2e
lsl r0, r0, #4
add r0, r4, r0
bl sub_0201D8A0
add sp, #0x34
pop {r4, r5, r6, r7, pc}
nop
_021F6624: .word 0x00090A00
thumb_func_end ov14_021F6408
thumb_func_start ov14_021F6628
ov14_021F6628: ; 0x021F6628
push {r3, lr}
mov r0, #1
mov r1, #0x1b
mov r2, #0x19
mov r3, #0xa
bl NewMsgDataFromNarc
pop {r3, pc}
thumb_func_end ov14_021F6628
thumb_func_start ov14_021F6638
ov14_021F6638: ; 0x021F6638
push {r4, lr}
mov r1, #0xf
add r4, r0, #0
bl FillWindowPixelBuffer
ldr r1, _021F6650 ; =0x0000038E
add r0, r4, #0
mov r2, #0xa
bl sub_0200E948
pop {r4, pc}
nop
_021F6650: .word 0x0000038E
thumb_func_end ov14_021F6638
thumb_func_start ov14_021F6654
ov14_021F6654: ; 0x021F6654
push {r4, r5, r6, lr}
add r6, r0, #0
add r5, r6, #0
lsl r4, r1, #4
add r5, #0x30
add r0, r5, r4
mov r1, #1
bl sub_0200E9BC
add r0, r5, r4
bl GetWindowBgId
add r1, r0, #0
ldr r0, [r6, #0x14]
bl ScheduleBgTilemapBufferTransfer
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov14_021F6654
thumb_func_start ov14_021F6678
ov14_021F6678: ; 0x021F6678
ldr r3, _021F6684 ; =sub_0200E9BC
add r0, #0x30
lsl r1, r1, #4
add r0, r0, r1
mov r1, #1
bx r3
.balign 4, 0
_021F6684: .word sub_0200E9BC
thumb_func_end ov14_021F6678
thumb_func_start ov14_021F6688
ov14_021F6688: ; 0x021F6688
ldr r3, _021F6694 ; =sub_0200E9BC
add r0, #0x30
lsl r1, r1, #4
add r0, r0, r1
mov r1, #0
bx r3
.balign 4, 0
_021F6694: .word sub_0200E9BC
thumb_func_end ov14_021F6688
thumb_func_start ov14_021F6698
ov14_021F6698: ; 0x021F6698
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
str r1, [sp, #0x14]
add r4, r2, #0
bl ov14_021F6628
add r7, r0, #0
ldr r0, [r5, #0x34]
lsl r6, r4, #4
add r0, #0x30
add r0, r0, r6
bl ov14_021F6638
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, _021F66E4 ; =0x0001020F
ldr r3, [sp, #0x14]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
ldr r0, [r5, #0x34]
add r1, r7, #0
add r2, r4, #0
bl ov14_021F4FBC
ldr r0, [r5, #0x34]
add r0, #0x30
add r0, r0, r6
bl sub_0201D5C8
add r0, r7, #0
bl DestroyMsgData
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F66E4: .word 0x0001020F
thumb_func_end ov14_021F6698
thumb_func_start ov14_021F66E8
ov14_021F66E8: ; 0x021F66E8
push {r3, lr}
add r3, r1, #0
cmp r2, #1
bne _021F66FA
mov r1, #0xb
add r2, r3, #0
bl ov14_021F6698
pop {r3, pc}
_021F66FA:
mov r1, #0xc
add r2, r3, #0
bl ov14_021F6698
pop {r3, pc}
thumb_func_end ov14_021F66E8
thumb_func_start ov14_021F6704
ov14_021F6704: ; 0x021F6704
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
add r3, r1, #0
ldr r0, [r0, #0x24]
add r4, r2, #0
mov r1, #0
add r2, r3, #0
bl BufferItemName
add r0, r5, #0
mov r1, #0x17
add r2, r4, #0
bl ov14_021F6698
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F6704
thumb_func_start ov14_021F6724
ov14_021F6724: ; 0x021F6724
ldr r3, _021F672C ; =ov14_021F6698
add r2, r1, #0
mov r1, #0x18
bx r3
.balign 4, 0
_021F672C: .word ov14_021F6698
thumb_func_end ov14_021F6724
thumb_func_start ov14_021F6730
ov14_021F6730: ; 0x021F6730
ldr r3, _021F6738 ; =ov14_021F6698
add r2, r1, #0
mov r1, #0x36
bx r3
.balign 4, 0
_021F6738: .word ov14_021F6698
thumb_func_end ov14_021F6730
thumb_func_start ov14_021F673C
ov14_021F673C: ; 0x021F673C
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
add r3, r1, #0
ldr r0, [r0, #0x24]
add r4, r2, #0
mov r1, #0
add r2, r3, #0
bl BufferItemName
add r0, r5, #0
mov r1, #0xf
add r2, r4, #0
bl ov14_021F6698
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F673C
thumb_func_start ov14_021F675C
ov14_021F675C: ; 0x021F675C
ldr r3, _021F6764 ; =ov14_021F6698
add r2, r1, #0
mov r1, #0xe
bx r3
.balign 4, 0
_021F6764: .word ov14_021F6698
thumb_func_end ov14_021F675C
thumb_func_start ov14_021F6768
ov14_021F6768: ; 0x021F6768
push {r3, r4, r5, lr}
add r5, r0, #0
add r3, r1, #0
add r4, r2, #0
cmp r3, #0
ldr r0, [r5, #0x34]
bne _021F678C
ldr r0, [r0, #0x24]
mov r1, #0
mov r2, #0x70
bl BufferItemName
add r0, r5, #0
mov r1, #0x37
add r2, r4, #0
bl ov14_021F6698
pop {r3, r4, r5, pc}
_021F678C:
ldr r0, [r0, #0x24]
mov r1, #0
add r2, r3, #0
bl BufferItemName
add r0, r5, #0
mov r1, #0x10
add r2, r4, #0
bl ov14_021F6698
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov14_021F6768
thumb_func_start ov14_021F67A4
ov14_021F67A4: ; 0x021F67A4
ldr r3, _021F67AC ; =ov14_021F6698
add r2, r1, #0
mov r1, #0x23
bx r3
.balign 4, 0
_021F67AC: .word ov14_021F6698
thumb_func_end ov14_021F67A4
thumb_func_start ov14_021F67B0
ov14_021F67B0: ; 0x021F67B0
push {r4, r5, r6, lr}
add r4, r0, #0
add r6, r2, #0
cmp r1, #6
bhi _021F6836
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_021F67C6: ; jump table
.short _021F67D4 - _021F67C6 - 2 ; case 0
.short _021F67D8 - _021F67C6 - 2 ; case 1
.short _021F67F4 - _021F67C6 - 2 ; case 2
.short _021F6810 - _021F67C6 - 2 ; case 3
.short _021F6814 - _021F67C6 - 2 ; case 4
.short _021F6830 - _021F67C6 - 2 ; case 5
.short _021F6834 - _021F67C6 - 2 ; case 6
_021F67D4:
mov r5, #2
b _021F6836
_021F67D8:
add r2, r4, #0
add r2, #0x21
ldrb r1, [r4, #0x1f]
ldrb r2, [r2]
mov r5, #3
bl ov14_021E60C0
add r2, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0
ldr r0, [r0, #0x24]
bl BufferBoxMonNickname
b _021F6836
_021F67F4:
add r2, r4, #0
add r2, #0x21
ldrb r1, [r4, #0x1f]
ldrb r2, [r2]
mov r5, #4
bl ov14_021E60C0
add r2, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0
ldr r0, [r0, #0x24]
bl BufferBoxMonNickname
b _021F6836
_021F6810:
mov r5, #0x1f
b _021F6836
_021F6814:
add r2, r4, #0
add r2, #0x21
ldrb r1, [r4, #0x1f]
ldrb r2, [r2]
mov r5, #0x20
bl ov14_021E60C0
add r2, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0
ldr r0, [r0, #0x24]
bl BufferBoxMonNickname
b _021F6836
_021F6830:
mov r5, #0x21
b _021F6836
_021F6834:
mov r5, #6
_021F6836:
add r0, r4, #0
add r1, r5, #0
add r2, r6, #0
bl ov14_021F6698
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov14_021F67B0
thumb_func_start ov14_021F6844
ov14_021F6844: ; 0x021F6844
cmp r1, #0
beq _021F684E
cmp r1, #1
beq _021F6852
b _021F6854
_021F684E:
mov r1, #7
b _021F6854
_021F6852:
mov r1, #0xa
_021F6854:
ldr r3, _021F6858 ; =ov14_021F6698
bx r3
.balign 4, 0
_021F6858: .word ov14_021F6698
thumb_func_end ov14_021F6844
thumb_func_start ov14_021F685C
ov14_021F685C: ; 0x021F685C
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r3, #0
cmp r2, #6
bhi _021F68B2
add r1, r2, r2
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_021F6872: ; jump table
.short _021F6880 - _021F6872 - 2 ; case 0
.short _021F6884 - _021F6872 - 2 ; case 1
.short _021F68A0 - _021F6872 - 2 ; case 2
.short _021F68A4 - _021F6872 - 2 ; case 3
.short _021F68A8 - _021F6872 - 2 ; case 4
.short _021F68AC - _021F6872 - 2 ; case 5
.short _021F68B0 - _021F6872 - 2 ; case 6
_021F6880:
mov r4, #0x12
b _021F68B2
_021F6884:
add r2, r5, #0
add r2, #0x21
ldrb r1, [r5, #0x1f]
ldrb r2, [r2]
mov r4, #0
bl ov14_021E60C0
add r2, r0, #0
ldr r0, [r5, #0x34]
add r1, r4, #0
ldr r0, [r0, #0x24]
bl BufferBoxMonNickname
b _021F68B2
_021F68A0:
mov r4, #5
b _021F68B2
_021F68A4:
mov r4, #0x13
b _021F68B2
_021F68A8:
mov r4, #0xd
b _021F68B2
_021F68AC:
mov r4, #0x1d
b _021F68B2
_021F68B0:
mov r4, #0x1e
_021F68B2:
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl ov14_021F6698
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov14_021F685C
thumb_func_start ov14_021F68C0
ov14_021F68C0: ; 0x021F68C0
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r2, #0
cmp r1, #7
bhi _021F6918
add r0, r1, r1
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021F68D6: ; jump table
.short _021F6918 - _021F68D6 - 2 ; case 0
.short _021F6918 - _021F68D6 - 2 ; case 1
.short _021F68E6 - _021F68D6 - 2 ; case 2
.short _021F68F8 - _021F68D6 - 2 ; case 3
.short _021F690A - _021F68D6 - 2 ; case 4
.short _021F690E - _021F68D6 - 2 ; case 5
.short _021F6912 - _021F68D6 - 2 ; case 6
.short _021F6916 - _021F68D6 - 2 ; case 7
_021F68E6:
ldr r3, [r5, #0x34]
ldr r2, _021F6924 ; =0x000088C8
ldr r0, [r3, #0x24]
ldrh r2, [r3, r2]
mov r1, #0
mov r4, #0x1a
bl BufferItemName
b _021F6918
_021F68F8:
ldr r3, [r5, #0x34]
ldr r2, _021F6924 ; =0x000088C8
ldr r0, [r3, #0x24]
ldrh r2, [r3, r2]
mov r1, #0
mov r4, #0x1b
bl BufferItemName
b _021F6918
_021F690A:
mov r4, #0x18
b _021F6918
_021F690E:
mov r4, #0x22
b _021F6918
_021F6912:
mov r4, #0xe
b _021F6918
_021F6916:
mov r4, #0x3b
_021F6918:
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl ov14_021F6698
pop {r4, r5, r6, pc}
.balign 4, 0
_021F6924: .word 0x000088C8
thumb_func_end ov14_021F68C0
thumb_func_start ov14_021F6928
ov14_021F6928: ; 0x021F6928
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
add r6, r1, #0
add r4, r2, #0
bl ov14_021F6628
add r7, r0, #0
cmp r4, #0xa
bhi _021F6996
add r0, r4, r4
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021F6948: ; jump table
.short _021F695E - _021F6948 - 2 ; case 0
.short _021F6962 - _021F6948 - 2 ; case 1
.short _021F6966 - _021F6948 - 2 ; case 2
.short _021F696A - _021F6948 - 2 ; case 3
.short _021F696E - _021F6948 - 2 ; case 4
.short _021F6972 - _021F6948 - 2 ; case 5
.short _021F6984 - _021F6948 - 2 ; case 6
.short _021F6988 - _021F6948 - 2 ; case 7
.short _021F698C - _021F6948 - 2 ; case 8
.short _021F6990 - _021F6948 - 2 ; case 9
.short _021F6994 - _021F6948 - 2 ; case 10
_021F695E:
mov r4, #0x24
b _021F6996
_021F6962:
mov r4, #0x25
b _021F6996
_021F6966:
mov r4, #0x26
b _021F6996
_021F696A:
mov r4, #0x27
b _021F6996
_021F696E:
mov r4, #0x1c
b _021F6996
_021F6972:
ldr r3, [r5, #0x34]
ldr r2, _021F69E8 ; =0x000088C8
ldr r0, [r3, #0x24]
ldrh r2, [r3, r2]
mov r1, #0
mov r4, #0x19
bl BufferItemName
b _021F6996
_021F6984:
mov r4, #0x38
b _021F6996
_021F6988:
mov r4, #0x39
b _021F6996
_021F698C:
mov r4, #0x3a
b _021F6996
_021F6990:
mov r4, #0x3b
b _021F6996
_021F6994:
mov r4, #0x3c
_021F6996:
add r0, r7, #0
add r1, r4, #0
bl NewString_ReadMsgData
add r4, r0, #0
ldr r1, [r5, #0x34]
add r2, r4, #0
ldr r0, [r1, #0x24]
ldr r1, [r1, #0x28]
bl StringExpandPlaceholders
add r0, r4, #0
bl String_dtor
ldr r0, [r5, #0x34]
lsl r4, r6, #4
add r0, #0x30
add r0, r0, r4
mov r1, #0xf
bl FillWindowPixelBuffer
ldr r2, [r5, #0x34]
mov r3, #0
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _021F69EC ; =0x0001020F
mov r1, #1
str r0, [sp, #8]
add r0, r2, #0
str r3, [sp, #0xc]
add r0, #0x30
ldr r2, [r2, #0x28]
add r0, r0, r4
bl sub_020200FC
add r0, r7, #0
bl DestroyMsgData
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F69E8: .word 0x000088C8
_021F69EC: .word 0x0001020F
thumb_func_end ov14_021F6928
thumb_func_start ov14_021F69F0
ov14_021F69F0: ; 0x021F69F0
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
lsl r4, r1, #4
add r0, #0x30
ldr r1, _021F6A10 ; =0x0000038E
add r0, r0, r4
mov r2, #0xa
bl sub_0200E948
ldr r0, [r5, #0x34]
add r0, #0x30
add r0, r0, r4
bl sub_0201D5C8
pop {r3, r4, r5, pc}
.balign 4, 0
_021F6A10: .word 0x0000038E
thumb_func_end ov14_021F69F0
thumb_func_start ov14_021F6A14
ov14_021F6A14: ; 0x021F6A14
ldr r3, _021F6A1C ; =sub_02025224
ldr r0, _021F6A20 ; =0x021F864C
bx r3
nop
_021F6A1C: .word sub_02025224
_021F6A20: .word 0x021F864C
thumb_func_end ov14_021F6A14
thumb_func_start ov14_021F6A24
ov14_021F6A24: ; 0x021F6A24
ldr r3, _021F6A2C ; =sub_02025224
ldr r0, _021F6A30 ; =0x021F8614
bx r3
nop
_021F6A2C: .word sub_02025224
_021F6A30: .word 0x021F8614
thumb_func_end ov14_021F6A24
thumb_func_start ov14_021F6A34
ov14_021F6A34: ; 0x021F6A34
ldr r3, _021F6A3C ; =sub_02025224
ldr r0, _021F6A40 ; =0x021F8630
bx r3
nop
_021F6A3C: .word sub_02025224
_021F6A40: .word 0x021F8630
thumb_func_end ov14_021F6A34
thumb_func_start ov14_021F6A44
ov14_021F6A44: ; 0x021F6A44
push {r4, r5, lr}
sub sp, #0xc
add r4, r0, #0
ldr r0, [r4]
ldr r0, [r0, #8]
cmp r0, #3
bhi _021F6A74
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021F6A5E: ; jump table
.short _021F6A66 - _021F6A5E - 2 ; case 0
.short _021F6A6A - _021F6A5E - 2 ; case 1
.short _021F6A6E - _021F6A5E - 2 ; case 2
.short _021F6A72 - _021F6A5E - 2 ; case 3
_021F6A66:
mov r5, #0
b _021F6A74
_021F6A6A:
mov r5, #2
b _021F6A74
_021F6A6E:
mov r5, #3
b _021F6A74
_021F6A72:
mov r5, #6
_021F6A74:
add r0, r4, #0
bl ov14_021F6B10
mov r0, #0xc
add r2, r5, #0
mul r2, r0
mov r0, #1
str r0, [sp]
ldr r0, [r4, #0x2c]
ldr r1, _021F6AB4 ; =0x021F8B14
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
mov r0, #0xa
str r0, [sp, #8]
ldr r0, _021F6AB8 ; =0x021F8B10
ldr r3, _021F6ABC ; =0x021F8B18
ldr r0, [r0, r2]
ldr r1, [r1, r2]
ldr r2, [r3, r2]
add r3, r4, #0
bl sub_02019BA4
ldr r1, [r4, #0x34]
str r0, [r1, #0x2c]
ldr r1, [r4, #0x2c]
add r0, r4, #0
bl ov14_021F6B28
add sp, #0xc
pop {r4, r5, pc}
nop
_021F6AB4: .word 0x021F8B14
_021F6AB8: .word 0x021F8B10
_021F6ABC: .word 0x021F8B18
thumb_func_end ov14_021F6A44
thumb_func_start ov14_021F6AC0
ov14_021F6AC0: ; 0x021F6AC0
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r6, r1, #0
add r5, r0, #0
add r4, r2, #0
bl ov14_021F6B10
mov r0, #0xc
add r2, r6, #0
mul r2, r0
mov r0, #1
str r0, [sp]
lsl r0, r4, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
mov r0, #0xa
str r0, [sp, #8]
ldr r0, _021F6B04 ; =0x021F8B10
ldr r1, _021F6B08 ; =0x021F8B14
ldr r3, _021F6B0C ; =0x021F8B18
ldr r0, [r0, r2]
ldr r1, [r1, r2]
ldr r2, [r3, r2]
add r3, r5, #0
bl sub_02019BA4
ldr r1, [r5, #0x34]
str r0, [r1, #0x2c]
add r0, r5, #0
add r1, r4, #0
bl ov14_021F6B28
add sp, #0xc
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_021F6B04: .word 0x021F8B10
_021F6B08: .word 0x021F8B14
_021F6B0C: .word 0x021F8B18
thumb_func_end ov14_021F6AC0
thumb_func_start ov14_021F6B10
ov14_021F6B10: ; 0x021F6B10
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
cmp r0, #0
beq _021F6B26
bl sub_02019BDC
ldr r0, [r4, #0x34]
mov r1, #0
str r1, [r0, #0x2c]
_021F6B26:
pop {r4, pc}
thumb_func_end ov14_021F6B10
thumb_func_start ov14_021F6B28
ov14_021F6B28: ; 0x021F6B28
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
ldr r0, [r0, #0x2c]
bl sub_0201A018
add r5, r0, #0
ldr r0, [r4, #0x34]
mov r1, #9
mov r2, #1
bl ov14_021F2A18
add r1, sp, #0
add r0, r5, #0
add r1, #1
add r2, sp, #0
bl sub_02020A0C
mov r0, #0x32
ldr r1, [r4, #0x34]
lsl r0, r0, #4
add r2, sp, #0
ldr r0, [r1, r0]
ldrb r1, [r2, #1]
ldrb r2, [r2]
bl sub_0200DDB8
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F6B28
thumb_func_start ov14_021F6B60
ov14_021F6B60: ; 0x021F6B60
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
add r4, r1, #0
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
add r0, r5, #0
add r1, r4, #0
bl ov14_021F6B28
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F6B60
thumb_func_start ov14_021F6B7C
ov14_021F6B7C: ; 0x021F6B7C
ldr r3, _021F6B88 ; =ov14_021F2A18
ldr r0, [r0, #0x34]
mov r1, #9
mov r2, #0
bx r3
nop
_021F6B88: .word ov14_021F2A18
thumb_func_end ov14_021F6B7C
thumb_func_start ov14_021F6B8C
ov14_021F6B8C: ; 0x021F6B8C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
ldr r1, _021F6BA0 ; =ov14_021E9F20
bl ov14_021E5A50
pop {r4, pc}
.balign 4, 0
_021F6BA0: .word ov14_021E9F20
thumb_func_end ov14_021F6B8C
thumb_func_start ov14_021F6BA4
ov14_021F6BA4: ; 0x021F6BA4
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
add r4, r1, #0
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
add r0, r5, #0
add r1, r4, #0
bl ov14_021F6B28
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F6BA4
thumb_func_start ov14_021F6BC0
ov14_021F6BC0: ; 0x021F6BC0
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r6, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019D18
add r4, r0, #0
cmp r4, #0xc
ldr r1, [r5, #0x34]
bhs _021F6C18
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021F6C0C
cmp r4, #7
blo _021F6C14
cmp r4, #0xb
bhi _021F6C14
ldr r0, [r5, #0x34]
add r1, r6, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r5, #0
add r1, r6, #0
bl ov14_021F6B28
mov r0, #0
mvn r0, r0
pop {r4, r5, r6, pc}
_021F6C0C:
cmp r4, #6
bne _021F6C14
mov r0, #0xb
pop {r4, r5, r6, pc}
_021F6C14:
add r0, r4, #0
pop {r4, r5, r6, pc}
_021F6C18:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #1
bne _021F6C36
cmp r4, #6
beq _021F6C32
mov r0, #1
mvn r0, r0
cmp r4, r0
bne _021F6C36
_021F6C32:
mov r0, #0xb
pop {r4, r5, r6, pc}
_021F6C36:
add r0, r4, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov14_021F6BC0
thumb_func_start ov14_021F6C3C
ov14_021F6C3C: ; 0x021F6C3C
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0
mvn r0, r0
add r4, r1, #0
cmp r2, r0
beq _021F6C7E
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021F6C70
add r0, r5, #0
add r0, #0x21
ldrb r4, [r0]
cmp r4, #0xff
beq _021F6C6C
cmp r4, #0x1e
blo _021F6C6C
sub r4, #0x1e
b _021F6C7E
_021F6C6C:
mov r4, #0
b _021F6C7E
_021F6C70:
cmp r4, #8
beq _021F6C7E
cmp r4, #9
beq _021F6C7E
cmp r4, #0xa
beq _021F6C7E
mov r4, #7
_021F6C7E:
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
add r0, r5, #0
add r1, r4, #0
bl ov14_021F6B28
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F6C3C
thumb_func_start ov14_021F6C94
ov14_021F6C94: ; 0x021F6C94
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
sub r0, r4, #6
cmp r0, #1
bhi _021F6CB4
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
add r4, r1, #0
ldr r1, [r5, #0x34]
ldr r0, _021F6D10 ; =0x0000043C
str r4, [r1, r0]
_021F6CB4:
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r5, #0x34]
add r1, r4, #0
ldr r0, [r0, #0x2c]
bl sub_0201A018
add r1, sp, #0
add r1, #1
add r2, sp, #0
bl sub_02020A0C
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r2, sp, #0
ldr r0, [r1, r0]
ldrb r1, [r2, #1]
ldrb r2, [r2]
bl sub_0200DDB8
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #1
bl ov14_021F2A18
cmp r4, #0
blt _021F6D04
cmp r4, #5
bgt _021F6D04
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #0xe
bl ov14_021F29E4
pop {r3, r4, r5, pc}
_021F6D04:
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
pop {r3, r4, r5, pc}
.balign 4, 0
_021F6D10: .word 0x0000043C
thumb_func_end ov14_021F6C94
thumb_func_start ov14_021F6D14
ov14_021F6D14: ; 0x021F6D14
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
add r6, r2, #0
cmp r4, #0
blt _021F6D30
cmp r4, #5
bgt _021F6D30
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #0xe
bl ov14_021F29E4
b _021F6D3A
_021F6D30:
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
_021F6D3A:
cmp r6, #8
bne _021F6D56
cmp r4, #0
bne _021F6D56
ldr r1, [r5, #0x34]
ldr r0, _021F6E60 ; =0x0000043C
mov r2, #8
ldr r4, [r1, r0]
ldr r0, [r1, #0x2c]
lsl r1, r4, #0x18
lsr r1, r1, #0x18
add r3, r2, #0
bl sub_02019F88
_021F6D56:
cmp r4, #0
blt _021F6D64
cmp r4, #5
bgt _021F6D64
ldr r1, [r5, #0x34]
ldr r0, _021F6E60 ; =0x0000043C
str r4, [r1, r0]
_021F6D64:
cmp r4, #0
bne _021F6DC0
cmp r6, #5
bne _021F6DC0
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
add r0, r0, #1
cmp r0, #0x12
blt _021F6D7C
mov r1, #0
b _021F6D84
_021F6D7C:
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
add r1, r0, #1
_021F6D84:
add r0, r5, #0
add r0, #0x25
strb r1, [r0]
add r0, r5, #0
bl ov14_021F49E0
add r0, r5, #0
bl ov14_021F48B4
add r0, r5, #0
bl ov14_021F4848
add r0, r5, #0
bl ov14_021F57B8
ldr r0, [r5, #0x34]
mov r1, #5
mov r2, #4
bl ov14_021F29E4
ldr r0, [r5, #0x34]
add r1, r4, #0
add r2, r6, #0
bl ov14_021F7AC4
ldr r0, [r5, #0x34]
ldr r1, _021F6E64 ; =ov14_021E9F20
bl ov14_021E5A50
pop {r4, r5, r6, pc}
_021F6DC0:
cmp r4, #5
bne _021F6E1A
cmp r6, #0
bne _021F6E1A
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
sub r0, r0, #1
bpl _021F6DD6
mov r1, #0x11
b _021F6DDE
_021F6DD6:
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
sub r1, r0, #1
_021F6DDE:
add r0, r5, #0
add r0, #0x25
strb r1, [r0]
add r0, r5, #0
bl ov14_021F49E0
add r0, r5, #0
bl ov14_021F48B4
add r0, r5, #0
bl ov14_021F4848
add r0, r5, #0
bl ov14_021F57B8
ldr r0, [r5, #0x34]
mov r1, #4
mov r2, #2
bl ov14_021F29E4
ldr r0, [r5, #0x34]
add r1, r4, #0
add r2, r6, #0
bl ov14_021F7AC4
ldr r0, [r5, #0x34]
ldr r1, _021F6E64 ; =ov14_021E9F20
bl ov14_021E5A50
pop {r4, r5, r6, pc}
_021F6E1A:
cmp r4, #0
blt _021F6E4A
cmp r4, #5
bgt _021F6E4A
cmp r6, #8
beq _021F6E4A
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
mov r1, #6
mul r1, r0
add r0, r5, #0
add r1, r4, r1
add r0, #0x25
strb r1, [r0]
add r0, r5, #0
bl ov14_021F48B4
add r0, r5, #0
bl ov14_021F57B8
_021F6E4A:
ldr r0, [r5, #0x34]
add r1, r4, #0
add r2, r6, #0
bl ov14_021F7AC4
ldr r0, [r5, #0x34]
ldr r1, _021F6E64 ; =ov14_021E9F20
bl ov14_021E5A50
pop {r4, r5, r6, pc}
nop
_021F6E60: .word 0x0000043C
_021F6E64: .word ov14_021E9F20
thumb_func_end ov14_021F6D14
thumb_func_start ov14_021F6E68
ov14_021F6E68: ; 0x021F6E68
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
add r4, r1, #0
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
cmp r4, #6
beq _021F6E8A
cmp r4, #7
beq _021F6E8A
add r0, r5, #0
add r1, r4, #0
bl ov14_021F6B28
_021F6E8A:
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F6E68
thumb_func_start ov14_021F6E8C
ov14_021F6E8C: ; 0x021F6E8C
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r6, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019D18
add r4, r0, #0
cmp r4, #0x27
ldr r1, [r5, #0x34]
bhs _021F6EE4
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021F6ED8
cmp r4, #0x22
blo _021F6EE0
cmp r4, #0x26
bhi _021F6EE0
ldr r0, [r5, #0x34]
add r1, r6, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r5, #0
add r1, r6, #0
bl ov14_021F6B28
mov r0, #0
mvn r0, r0
pop {r4, r5, r6, pc}
_021F6ED8:
cmp r4, #0x21
bne _021F6EE0
mov r0, #0x26
pop {r4, r5, r6, pc}
_021F6EE0:
add r0, r4, #0
pop {r4, r5, r6, pc}
_021F6EE4:
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #1
bne _021F6F02
cmp r4, #0x21
beq _021F6EFE
mov r0, #1
mvn r0, r0
cmp r4, r0
bne _021F6F02
_021F6EFE:
mov r0, #0x26
pop {r4, r5, r6, pc}
_021F6F02:
add r0, r4, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov14_021F6E8C
thumb_func_start ov14_021F6F08
ov14_021F6F08: ; 0x021F6F08
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0
mvn r0, r0
add r4, r1, #0
cmp r2, r0
beq _021F6F5A
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021F6F4C
add r0, r4, #0
sub r0, #0x1f
cmp r0, #1
bhi _021F6F32
mov r4, #0x1e
b _021F6F5A
_021F6F32:
cmp r4, #0x1e
beq _021F6F5A
cmp r4, #0x21
beq _021F6F5A
add r0, r5, #0
add r0, #0x21
ldrb r4, [r0]
cmp r4, #0xff
beq _021F6F48
cmp r4, #0x1e
blo _021F6F5A
_021F6F48:
mov r4, #0
b _021F6F5A
_021F6F4C:
cmp r4, #0x23
beq _021F6F5A
cmp r4, #0x24
beq _021F6F5A
cmp r4, #0x25
beq _021F6F5A
mov r4, #0x22
_021F6F5A:
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
add r0, r5, #0
add r1, r4, #0
bl ov14_021F6B28
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F6F08
thumb_func_start ov14_021F6F70
ov14_021F6F70: ; 0x021F6F70
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
add r4, r1, #0
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
cmp r4, #0x1f
beq _021F6F92
cmp r4, #0x20
beq _021F6F92
add r0, r5, #0
add r1, r4, #0
bl ov14_021F6B28
_021F6F92:
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F6F70
thumb_func_start ov14_021F6F94
ov14_021F6F94: ; 0x021F6F94
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r6, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019D18
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021F6FDC
cmp r4, #0x24
blo _021F700C
cmp r4, #0x28
bhi _021F700C
ldr r0, [r5, #0x34]
add r1, r6, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r5, #0
add r1, r6, #0
bl ov14_021F6B28
mov r0, #0
mvn r0, r0
pop {r4, r5, r6, pc}
_021F6FDC:
add r0, r4, #0
sub r0, #0x21
cmp r0, #1
bhi _021F6FFC
ldr r0, [r5, #0x34]
add r1, r6, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r5, #0
add r1, r6, #0
bl ov14_021F6B28
mov r0, #0
mvn r0, r0
pop {r4, r5, r6, pc}
_021F6FFC:
cmp r4, #0x23
beq _021F7008
mov r0, #1
mvn r0, r0
cmp r4, r0
bne _021F700C
_021F7008:
mov r0, #0x29
pop {r4, r5, r6, pc}
_021F700C:
add r0, r4, #0
pop {r4, r5, r6, pc}
thumb_func_end ov14_021F6F94
thumb_func_start ov14_021F7010
ov14_021F7010: ; 0x021F7010
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0
mvn r0, r0
add r4, r1, #0
cmp r2, r0
beq _021F7076
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021F7060
add r0, r4, #0
sub r0, #0x1e
cmp r0, #5
bhi _021F7052
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021F7042: ; jump table
.short _021F7076 - _021F7042 - 2 ; case 0
.short _021F704E - _021F7042 - 2 ; case 1
.short _021F704E - _021F7042 - 2 ; case 2
.short _021F7076 - _021F7042 - 2 ; case 3
.short _021F7076 - _021F7042 - 2 ; case 4
.short _021F7076 - _021F7042 - 2 ; case 5
_021F704E:
mov r4, #0x1e
b _021F7076
_021F7052:
add r0, r5, #0
add r0, #0x21
ldrb r4, [r0]
cmp r4, #0x1e
blo _021F7076
mov r4, #0
b _021F7076
_021F7060:
cmp r4, #0x24
bne _021F7074
cmp r4, #0x25
bne _021F7074
cmp r4, #0x26
bne _021F7074
cmp r4, #0x27
bne _021F7074
cmp r4, #0x28
beq _021F7076
_021F7074:
mov r4, #0x24
_021F7076:
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
add r0, r5, #0
add r1, r4, #0
bl ov14_021F6B28
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F7010
thumb_func_start ov14_021F708C
ov14_021F708C: ; 0x021F708C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
ldr r1, _021F70A0 ; =ov14_021E9F20
bl ov14_021E5A50
pop {r4, pc}
.balign 4, 0
_021F70A0: .word ov14_021E9F20
thumb_func_end ov14_021F708C
thumb_func_start ov14_021F70A4
ov14_021F70A4: ; 0x021F70A4
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
add r4, r1, #0
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
add r0, r5, #0
add r1, r4, #0
bl ov14_021F6B28
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F70A4
thumb_func_start ov14_021F70C0
ov14_021F70C0: ; 0x021F70C0
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #0
bne _021F70DE
ldr r0, [r5, #0x34]
mov r1, #0x2d
ldr r0, [r0, #0x2c]
bl sub_02019FD0
_021F70DE:
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019D18
add r4, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019FC4
add r0, r4, #0
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F70C0
thumb_func_start ov14_021F70F4
ov14_021F70F4: ; 0x021F70F4
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
sub r0, #0x2b
cmp r0, #1
bhi _021F7118
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
add r4, r1, #0
ldr r1, [r5, #0x34]
ldr r0, _021F717C ; =0x0000043C
add r4, #0x25
str r4, [r1, r0]
_021F7118:
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r5, #0x34]
add r1, r4, #0
ldr r0, [r0, #0x2c]
bl sub_0201A018
add r1, sp, #0
add r1, #1
add r2, sp, #0
bl sub_02020A0C
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r2, sp, #0
ldr r0, [r1, r0]
ldrb r1, [r2, #1]
ldrb r2, [r2]
bl sub_0200DDB8
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #1
bl ov14_021F2A18
ldr r0, [r5, #0x34]
ldr r1, _021F7180 ; =0x0000044B
ldrb r1, [r0, r1]
cmp r1, #0
bne _021F7178
cmp r4, #0x25
blt _021F7170
cmp r4, #0x2a
bgt _021F7170
mov r1, #9
mov r2, #0xe
bl ov14_021F29E4
pop {r3, r4, r5, pc}
_021F7170:
mov r1, #9
mov r2, #8
bl ov14_021F29E4
_021F7178:
pop {r3, r4, r5, pc}
nop
_021F717C: .word 0x0000043C
_021F7180: .word 0x0000044B
thumb_func_end ov14_021F70F4
thumb_func_start ov14_021F7184
ov14_021F7184: ; 0x021F7184
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
ldr r0, [r5, #0x34]
ldr r1, _021F72FC ; =0x0000044B
add r6, r2, #0
ldrb r1, [r0, r1]
cmp r1, #0
bne _021F71B0
cmp r4, #0x25
blt _021F71A8
cmp r4, #0x2a
bgt _021F71A8
mov r1, #9
mov r2, #0xe
bl ov14_021F29E4
b _021F71B0
_021F71A8:
mov r1, #9
mov r2, #8
bl ov14_021F29E4
_021F71B0:
cmp r4, #0x25
bne _021F71EE
cmp r6, #0
blt _021F71BC
cmp r6, #5
ble _021F71D0
_021F71BC:
cmp r6, #0x18
blt _021F71C4
cmp r6, #0x1d
ble _021F71D0
_021F71C4:
cmp r6, #0x1e
blt _021F71CC
cmp r6, #0x1f
ble _021F71D0
_021F71CC:
cmp r6, #0x24
bne _021F71EE
_021F71D0:
ldr r1, [r5, #0x34]
ldr r0, _021F7300 ; =0x0000043C
ldr r4, [r1, r0]
ldr r0, [r1, #0x2c]
bl sub_02019F78
add r3, r0, #0
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
lsl r2, r6, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
lsr r2, r2, #0x18
bl sub_02019F88
_021F71EE:
cmp r4, #0x25
blt _021F71FC
cmp r4, #0x2a
bgt _021F71FC
ldr r1, [r5, #0x34]
ldr r0, _021F7300 ; =0x0000043C
str r4, [r1, r0]
_021F71FC:
cmp r4, #0x25
bne _021F7258
cmp r6, #0x2a
bne _021F7258
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
add r0, r0, #1
cmp r0, #0x12
blt _021F7214
mov r1, #0
b _021F721C
_021F7214:
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
add r1, r0, #1
_021F721C:
add r0, r5, #0
add r0, #0x25
strb r1, [r0]
add r0, r5, #0
bl ov14_021F49E0
add r0, r5, #0
bl ov14_021F48B4
add r0, r5, #0
bl ov14_021F4848
add r0, r5, #0
bl ov14_021F57B8
ldr r0, [r5, #0x34]
mov r1, #5
mov r2, #4
bl ov14_021F29E4
ldr r0, [r5, #0x34]
add r1, r4, #0
add r2, r6, #0
bl ov14_021F7AC4
ldr r0, [r5, #0x34]
ldr r1, _021F7304 ; =ov14_021E9F20
bl ov14_021E5A50
pop {r4, r5, r6, pc}
_021F7258:
cmp r4, #0x2a
bne _021F72B2
cmp r6, #0x25
bne _021F72B2
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
sub r0, r0, #1
bpl _021F726E
mov r1, #0x11
b _021F7276
_021F726E:
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
sub r1, r0, #1
_021F7276:
add r0, r5, #0
add r0, #0x25
strb r1, [r0]
add r0, r5, #0
bl ov14_021F49E0
add r0, r5, #0
bl ov14_021F48B4
add r0, r5, #0
bl ov14_021F4848
add r0, r5, #0
bl ov14_021F57B8
ldr r0, [r5, #0x34]
mov r1, #4
mov r2, #2
bl ov14_021F29E4
ldr r0, [r5, #0x34]
add r1, r4, #0
add r2, r6, #0
bl ov14_021F7AC4
ldr r0, [r5, #0x34]
ldr r1, _021F7304 ; =ov14_021E9F20
bl ov14_021E5A50
pop {r4, r5, r6, pc}
_021F72B2:
cmp r4, #0x25
blt _021F72E8
cmp r4, #0x2a
bgt _021F72E8
cmp r6, #0x25
blt _021F72E8
cmp r6, #0x2a
bgt _021F72E8
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
mov r1, #6
mul r1, r0
add r1, r4, r1
add r0, r5, #0
sub r1, #0x25
add r0, #0x25
strb r1, [r0]
add r0, r5, #0
bl ov14_021F48B4
add r0, r5, #0
bl ov14_021F57B8
_021F72E8:
ldr r0, [r5, #0x34]
add r1, r4, #0
add r2, r6, #0
bl ov14_021F7AC4
ldr r0, [r5, #0x34]
ldr r1, _021F7304 ; =ov14_021E9F20
bl ov14_021E5A50
pop {r4, r5, r6, pc}
.balign 4, 0
_021F72FC: .word 0x0000044B
_021F7300: .word 0x0000043C
_021F7304: .word ov14_021E9F20
thumb_func_end ov14_021F7184
thumb_func_start ov14_021F7308
ov14_021F7308: ; 0x021F7308
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
cmp r4, #0x25
blt _021F731C
cmp r4, #0x2a
bgt _021F731C
ldr r1, [r5, #0x34]
ldr r0, _021F733C ; =0x0000043C
str r4, [r1, r0]
_021F731C:
cmp r4, #0x2b
beq _021F7338
cmp r4, #0x2c
beq _021F7338
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
add r0, r5, #0
add r1, r4, #0
bl ov14_021F6B28
_021F7338:
pop {r3, r4, r5, pc}
nop
_021F733C: .word 0x0000043C
thumb_func_end ov14_021F7308
thumb_func_start ov14_021F7340
ov14_021F7340: ; 0x021F7340
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E85E4
cmp r0, #0
bne _021F735E
ldr r0, [r5, #0x34]
mov r1, #0x2d
ldr r0, [r0, #0x2c]
bl sub_02019FD0
_021F735E:
ldr r0, [r5, #0x34]
mov r1, #0x2b
ldr r0, [r0, #0x2c]
bl sub_02019FD0
ldr r0, [r5, #0x34]
mov r1, #0x2c
ldr r0, [r0, #0x2c]
bl sub_02019FD0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019D18
add r4, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019FC4
add r0, r4, #0
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F7340
thumb_func_start ov14_021F7388
ov14_021F7388: ; 0x021F7388
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r6, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019D18
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021F73D0
cmp r4, #8
blo _021F73E0
cmp r4, #0xc
bhi _021F73E0
ldr r0, [r5, #0x34]
add r1, r6, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r5, #0
add r1, r6, #0
bl ov14_021F6B28
mov r0, #0
mvn r0, r0
pop {r4, r5, r6, pc}
_021F73D0:
cmp r4, #7
beq _021F73DC
mov r0, #1
mvn r0, r0
cmp r4, r0
bne _021F73E0
_021F73DC:
mov r0, #0xd
pop {r4, r5, r6, pc}
_021F73E0:
add r0, r4, #0
pop {r4, r5, r6, pc}
thumb_func_end ov14_021F7388
thumb_func_start ov14_021F73E4
ov14_021F73E4: ; 0x021F73E4
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0
mvn r0, r0
add r4, r1, #0
cmp r2, r0
beq _021F742E
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021F7418
cmp r4, #8
blt _021F742E
add r0, r5, #0
add r0, #0x21
ldrb r4, [r0]
cmp r4, #0x1e
blo _021F7414
sub r4, #0x1e
b _021F742E
_021F7414:
mov r4, #0
b _021F742E
_021F7418:
cmp r4, #8
bne _021F742C
cmp r4, #9
bne _021F742C
cmp r4, #0xa
bne _021F742C
cmp r4, #0xb
bne _021F742C
cmp r4, #0xc
beq _021F742E
_021F742C:
mov r4, #8
_021F742E:
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
add r0, r5, #0
add r1, r4, #0
bl ov14_021F6B28
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F73E4
thumb_func_start ov14_021F7444
ov14_021F7444: ; 0x021F7444
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
add r6, r2, #0
bl ov14_021E8544
cmp r0, #1
bne _021F747E
cmp r4, #6
bgt _021F7492
cmp r6, #7
blt _021F7492
add r0, r5, #0
bl ov14_021E76B8
ldr r0, [r5, #0x34]
add r1, r4, #0
add r2, r6, #0
bl ov14_021F7AC4
ldr r0, [r5, #0x34]
ldr r1, _021F74A8 ; =ov14_021EA180
bl ov14_021E5A50
pop {r4, r5, r6, pc}
_021F747E:
cmp r4, #0xc
bne _021F7492
cmp r6, #7
bne _021F7492
ldr r0, [r5, #0x34]
mov r1, #7
ldr r0, [r0, #0x2c]
bl sub_02019F7C
mov r4, #7
_021F7492:
ldr r0, [r5, #0x34]
add r1, r4, #0
add r2, r6, #0
bl ov14_021F7AC4
ldr r0, [r5, #0x34]
ldr r1, _021F74AC ; =ov14_021E9F20
bl ov14_021E5A50
pop {r4, r5, r6, pc}
nop
_021F74A8: .word ov14_021EA180
_021F74AC: .word ov14_021E9F20
thumb_func_end ov14_021F7444
thumb_func_start ov14_021F74B0
ov14_021F74B0: ; 0x021F74B0
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r6, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019D18
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021F74F4
cmp r4, #0x24
bne _021F7524
ldr r0, [r5, #0x34]
add r1, r6, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r5, #0
add r1, r6, #0
bl ov14_021F6B28
mov r0, #0
mvn r0, r0
pop {r4, r5, r6, pc}
_021F74F4:
add r0, r4, #0
sub r0, #0x21
cmp r0, #1
bhi _021F7514
ldr r0, [r5, #0x34]
add r1, r6, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r5, #0
add r1, r6, #0
bl ov14_021F6B28
mov r0, #0
mvn r0, r0
pop {r4, r5, r6, pc}
_021F7514:
cmp r4, #0x23
beq _021F7520
mov r0, #1
mvn r0, r0
cmp r4, r0
bne _021F7524
_021F7520:
mov r0, #0x25
pop {r4, r5, r6, pc}
_021F7524:
add r0, r4, #0
pop {r4, r5, r6, pc}
thumb_func_end ov14_021F74B0
thumb_func_start ov14_021F7528
ov14_021F7528: ; 0x021F7528
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0
mvn r0, r0
add r4, r1, #0
cmp r2, r0
beq _021F757E
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021F7578
add r0, r4, #0
sub r0, #0x1e
cmp r0, #5
bhi _021F756A
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021F755A: ; jump table
.short _021F757E - _021F755A - 2 ; case 0
.short _021F7566 - _021F755A - 2 ; case 1
.short _021F7566 - _021F755A - 2 ; case 2
.short _021F757E - _021F755A - 2 ; case 3
.short _021F757E - _021F755A - 2 ; case 4
.short _021F757E - _021F755A - 2 ; case 5
_021F7566:
mov r4, #0x1e
b _021F757E
_021F756A:
add r0, r5, #0
add r0, #0x21
ldrb r4, [r0]
cmp r4, #0x1e
blo _021F757E
mov r4, #0
b _021F757E
_021F7578:
cmp r4, #0x24
beq _021F757E
mov r4, #0x24
_021F757E:
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
add r0, r5, #0
add r1, r4, #0
bl ov14_021F6B28
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F7528
thumb_func_start ov14_021F7594
ov14_021F7594: ; 0x021F7594
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
ldr r1, _021F75A8 ; =ov14_021E9F20
bl ov14_021E5A50
pop {r4, pc}
.balign 4, 0
_021F75A8: .word ov14_021E9F20
thumb_func_end ov14_021F7594
thumb_func_start ov14_021F75AC
ov14_021F75AC: ; 0x021F75AC
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
add r4, r1, #0
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
add r0, r5, #0
add r1, r4, #0
bl ov14_021F6B28
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F75AC
thumb_func_start ov14_021F75C8
ov14_021F75C8: ; 0x021F75C8
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019F74
add r6, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019D18
add r4, r0, #0
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021F760C
cmp r4, #8
bne _021F761C
ldr r0, [r5, #0x34]
add r1, r6, #0
ldr r0, [r0, #0x2c]
bl sub_02019F7C
add r0, r5, #0
add r1, r6, #0
bl ov14_021F6B28
mov r0, #0
mvn r0, r0
pop {r4, r5, r6, pc}
_021F760C:
cmp r4, #7
beq _021F7618
mov r0, #1
mvn r0, r0
cmp r4, r0
bne _021F761C
_021F7618:
mov r0, #9
pop {r4, r5, r6, pc}
_021F761C:
add r0, r4, #0
pop {r4, r5, r6, pc}
thumb_func_end ov14_021F75C8
thumb_func_start ov14_021F7620
ov14_021F7620: ; 0x021F7620
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0
mvn r0, r0
add r4, r1, #0
cmp r2, r0
beq _021F765A
mov r0, #0x2f
ldr r1, [r5, #0x34]
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8544
cmp r0, #0
bne _021F7654
cmp r4, #8
blt _021F765A
add r0, r5, #0
add r0, #0x21
ldrb r4, [r0]
cmp r4, #0x1e
blo _021F7650
sub r4, #0x1e
b _021F765A
_021F7650:
mov r4, #0
b _021F765A
_021F7654:
cmp r4, #8
beq _021F765A
mov r4, #8
_021F765A:
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
add r0, r5, #0
add r1, r4, #0
bl ov14_021F6B28
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F7620
thumb_func_start ov14_021F7670
ov14_021F7670: ; 0x021F7670
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
bl ov14_021F7AC4
ldr r0, [r4, #0x34]
ldr r1, _021F7684 ; =ov14_021E9F20
bl ov14_021E5A50
pop {r4, pc}
.balign 4, 0
_021F7684: .word ov14_021E9F20
thumb_func_end ov14_021F7670
thumb_func_start ov14_021F7688
ov14_021F7688: ; 0x021F7688
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
sub r0, r4, #6
cmp r0, #1
bhi _021F76A8
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
add r4, r1, #0
ldr r1, [r5, #0x34]
ldr r0, _021F76FC ; =0x0000043C
str r4, [r1, r0]
_021F76A8:
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r5, #0x34]
add r1, r4, #0
ldr r0, [r0, #0x2c]
bl sub_0201A018
add r1, sp, #0
add r1, #1
add r2, sp, #0
bl sub_02020A0C
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r2, sp, #0
ldr r0, [r1, r0]
ldrb r1, [r2, #1]
ldrb r2, [r2]
bl sub_0200DDB8
cmp r4, #0
blt _021F76EE
cmp r4, #5
bgt _021F76EE
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #0xe
bl ov14_021F29E4
pop {r3, r4, r5, pc}
_021F76EE:
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
pop {r3, r4, r5, pc}
nop
_021F76FC: .word 0x0000043C
thumb_func_end ov14_021F7688
thumb_func_start ov14_021F7700
ov14_021F7700: ; 0x021F7700
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
add r6, r2, #0
cmp r4, #0
blt _021F771C
cmp r4, #5
bgt _021F771C
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #0xe
bl ov14_021F29E4
b _021F7726
_021F771C:
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
_021F7726:
cmp r6, #8
bne _021F7742
cmp r4, #0
bne _021F7742
ldr r1, [r5, #0x34]
ldr r0, _021F784C ; =0x0000043C
mov r2, #8
ldr r4, [r1, r0]
ldr r0, [r1, #0x2c]
lsl r1, r4, #0x18
lsr r1, r1, #0x18
add r3, r2, #0
bl sub_02019F88
_021F7742:
cmp r4, #0
blt _021F7750
cmp r4, #5
bgt _021F7750
ldr r1, [r5, #0x34]
ldr r0, _021F784C ; =0x0000043C
str r4, [r1, r0]
_021F7750:
cmp r4, #0
bne _021F77AC
cmp r6, #5
bne _021F77AC
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
add r0, r0, #1
cmp r0, #0x12
blt _021F7768
mov r1, #0
b _021F7770
_021F7768:
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
add r1, r0, #1
_021F7770:
add r0, r5, #0
add r0, #0x25
strb r1, [r0]
add r0, r5, #0
bl ov14_021F49E0
add r0, r5, #0
bl ov14_021F48B4
add r0, r5, #0
bl ov14_021F4848
add r0, r5, #0
bl ov14_021F57B8
ldr r0, [r5, #0x34]
mov r1, #5
mov r2, #4
bl ov14_021F29E4
ldr r0, [r5, #0x34]
add r1, r4, #0
add r2, r6, #0
bl ov14_021F7AC4
ldr r0, [r5, #0x34]
ldr r1, _021F7850 ; =ov14_021E9F20
bl ov14_021E5A50
pop {r4, r5, r6, pc}
_021F77AC:
cmp r4, #5
bne _021F7806
cmp r6, #0
bne _021F7806
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
sub r0, r0, #1
bpl _021F77C2
mov r1, #0x11
b _021F77CA
_021F77C2:
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
sub r1, r0, #1
_021F77CA:
add r0, r5, #0
add r0, #0x25
strb r1, [r0]
add r0, r5, #0
bl ov14_021F49E0
add r0, r5, #0
bl ov14_021F48B4
add r0, r5, #0
bl ov14_021F4848
add r0, r5, #0
bl ov14_021F57B8
ldr r0, [r5, #0x34]
mov r1, #4
mov r2, #2
bl ov14_021F29E4
ldr r0, [r5, #0x34]
add r1, r4, #0
add r2, r6, #0
bl ov14_021F7AC4
ldr r0, [r5, #0x34]
ldr r1, _021F7850 ; =ov14_021E9F20
bl ov14_021E5A50
pop {r4, r5, r6, pc}
_021F7806:
cmp r4, #0
blt _021F7836
cmp r4, #5
bgt _021F7836
cmp r6, #8
beq _021F7836
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
mov r1, #6
bl _s32_div_f
mov r1, #6
mul r1, r0
add r0, r5, #0
add r1, r4, r1
add r0, #0x25
strb r1, [r0]
add r0, r5, #0
bl ov14_021F48B4
add r0, r5, #0
bl ov14_021F57B8
_021F7836:
ldr r0, [r5, #0x34]
add r1, r4, #0
add r2, r6, #0
bl ov14_021F7AC4
ldr r0, [r5, #0x34]
ldr r1, _021F7850 ; =ov14_021E9F20
bl ov14_021E5A50
pop {r4, r5, r6, pc}
nop
_021F784C: .word 0x0000043C
_021F7850: .word ov14_021E9F20
thumb_func_end ov14_021F7700
thumb_func_start ov14_021F7854
ov14_021F7854: ; 0x021F7854
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
add r4, r1, #0
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
cmp r4, #6
beq _021F7876
cmp r4, #7
beq _021F7876
add r0, r5, #0
add r1, r4, #0
bl ov14_021F6B28
_021F7876:
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F7854
thumb_func_start ov14_021F7878
ov14_021F7878: ; 0x021F7878
push {r3, r4, r5, r6, lr}
sub sp, #4
add r4, r1, #0
add r5, r0, #0
sub r0, r4, #4
cmp r0, #1
bhi _021F789C
ldr r0, [r5, #0x34]
ldr r6, _021F78F4 ; =0x0000044D
ldrb r1, [r0, r6]
sub r6, #0x11
lsr r3, r1, #0x1f
lsl r2, r1, #0x1e
sub r2, r2, r3
mov r1, #0x1e
ror r2, r1
add r4, r3, r2
str r4, [r0, r6]
_021F789C:
ldr r0, [r5, #0x34]
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
ldr r0, [r5, #0x34]
add r1, r4, #0
ldr r0, [r0, #0x2c]
bl sub_0201A018
add r1, sp, #0
add r1, #1
add r2, sp, #0
bl sub_02020A0C
mov r0, #0x32
ldr r1, [r5, #0x34]
lsl r0, r0, #4
add r2, sp, #0
ldr r0, [r1, r0]
ldrb r1, [r2, #1]
ldrb r2, [r2]
bl sub_0200DDB8
cmp r4, #0
blt _021F78E4
cmp r4, #3
bgt _021F78E4
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #0xe
bl ov14_021F29E4
add sp, #4
pop {r3, r4, r5, r6, pc}
_021F78E4:
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
add sp, #4
pop {r3, r4, r5, r6, pc}
nop
_021F78F4: .word 0x0000044D
thumb_func_end ov14_021F7878
thumb_func_start ov14_021F78F8
ov14_021F78F8: ; 0x021F78F8
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
add r6, r2, #0
cmp r4, #0
blt _021F7914
cmp r4, #3
bgt _021F7914
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #0xe
bl ov14_021F29E4
b _021F791E
_021F7914:
ldr r0, [r5, #0x34]
mov r1, #9
mov r2, #8
bl ov14_021F29E4
_021F791E:
cmp r6, #6
bne _021F793A
cmp r4, #0
bne _021F793A
ldr r1, [r5, #0x34]
ldr r0, _021F7A20 ; =0x0000043C
mov r2, #6
ldr r4, [r1, r0]
ldr r0, [r1, #0x2c]
lsl r1, r4, #0x18
lsr r1, r1, #0x18
add r3, r2, #0
bl sub_02019F88
_021F793A:
cmp r4, #0
blt _021F7948
cmp r4, #3
bgt _021F7948
ldr r1, [r5, #0x34]
ldr r0, _021F7A20 ; =0x0000043C
str r4, [r1, r0]
_021F7948:
cmp r4, #0
bne _021F7998
cmp r6, #3
bne _021F7998
ldr r0, [r5, #0x34]
ldr r1, _021F7A24 ; =0x0000044D
ldrb r2, [r0, r1]
add r2, r2, #1
cmp r2, #0x18
blt _021F7960
mov r2, #0
b _021F7960
_021F7960:
strb r2, [r0, r1]
add r0, r5, #0
bl ov14_021F462C
add r0, r5, #0
bl ov14_021F4530
add r0, r5, #0
bl ov14_021F459C
add r0, r5, #0
bl ov14_021F58B8
ldr r0, [r5, #0x34]
mov r1, #5
mov r2, #4
bl ov14_021F29E4
ldr r0, [r5, #0x34]
add r1, r4, #0
add r2, r6, #0
bl ov14_021F7AC4
ldr r0, [r5, #0x34]
ldr r1, _021F7A28 ; =ov14_021E9F20
bl ov14_021E5A50
pop {r4, r5, r6, pc}
_021F7998:
cmp r4, #3
bne _021F79E6
cmp r6, #0
bne _021F79E6
ldr r0, [r5, #0x34]
ldr r1, _021F7A24 ; =0x0000044D
ldrb r2, [r0, r1]
sub r2, r2, #1
bpl _021F79AE
mov r2, #0x17
b _021F79AE
_021F79AE:
strb r2, [r0, r1]
add r0, r5, #0
bl ov14_021F462C
add r0, r5, #0
bl ov14_021F4530
add r0, r5, #0
bl ov14_021F459C
add r0, r5, #0
bl ov14_021F58B8
ldr r0, [r5, #0x34]
mov r1, #4
mov r2, #2
bl ov14_021F29E4
ldr r0, [r5, #0x34]
add r1, r4, #0
add r2, r6, #0
bl ov14_021F7AC4
ldr r0, [r5, #0x34]
ldr r1, _021F7A28 ; =ov14_021E9F20
bl ov14_021E5A50
pop {r4, r5, r6, pc}
_021F79E6:
cmp r4, #0
blt _021F7A0C
cmp r4, #3
bgt _021F7A0C
cmp r6, #6
beq _021F7A0C
ldr r0, [r5, #0x34]
ldr r1, _021F7A24 ; =0x0000044D
ldrb r2, [r0, r1]
lsr r2, r2, #2
lsl r2, r2, #2
add r2, r4, r2
strb r2, [r0, r1]
add r0, r5, #0
bl ov14_021F459C
add r0, r5, #0
bl ov14_021F58B8
_021F7A0C:
ldr r0, [r5, #0x34]
add r1, r4, #0
add r2, r6, #0
bl ov14_021F7AC4
ldr r0, [r5, #0x34]
ldr r1, _021F7A28 ; =ov14_021E9F20
bl ov14_021E5A50
pop {r4, r5, r6, pc}
.balign 4, 0
_021F7A20: .word 0x0000043C
_021F7A24: .word 0x0000044D
_021F7A28: .word ov14_021E9F20
thumb_func_end ov14_021F78F8
thumb_func_start ov14_021F7A2C
ov14_021F7A2C: ; 0x021F7A2C
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
add r4, r1, #0
lsl r1, r4, #0x18
ldr r0, [r0, #0x2c]
lsr r1, r1, #0x18
bl sub_02019F7C
cmp r4, #4
beq _021F7A4E
cmp r4, #5
beq _021F7A4E
add r0, r5, #0
add r1, r4, #0
bl ov14_021F6B28
_021F7A4E:
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F7A2C
thumb_func_start ov14_021F7A50
ov14_021F7A50: ; 0x021F7A50
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
mov r1, #0x2b
ldr r0, [r0, #0x2c]
bl sub_02019FD0
ldr r0, [r5, #0x34]
mov r1, #0x2c
ldr r0, [r0, #0x2c]
bl sub_02019FD0
ldr r0, [r5, #0x34]
mov r1, #0x2d
ldr r0, [r0, #0x2c]
bl sub_02019FD0
ldr r0, [r5, #0x34]
mov r1, #0x25
ldr r0, [r0, #0x2c]
bl sub_02019FD0
ldr r0, [r5, #0x34]
mov r1, #0x26
ldr r0, [r0, #0x2c]
bl sub_02019FD0
ldr r0, [r5, #0x34]
mov r1, #0x27
ldr r0, [r0, #0x2c]
bl sub_02019FD0
ldr r0, [r5, #0x34]
mov r1, #0x28
ldr r0, [r0, #0x2c]
bl sub_02019FD0
ldr r0, [r5, #0x34]
mov r1, #0x29
ldr r0, [r0, #0x2c]
bl sub_02019FD0
ldr r0, [r5, #0x34]
mov r1, #0x2a
ldr r0, [r0, #0x2c]
bl sub_02019FD0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019D18
add r4, r0, #0
ldr r0, [r5, #0x34]
ldr r0, [r0, #0x2c]
bl sub_02019FC4
add r0, r4, #0
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F7A50
thumb_func_start ov14_021F7AC4
ov14_021F7AC4: ; 0x021F7AC4
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x2c]
add r4, r2, #0
bl sub_0201A018
add r1, sp, #0
add r2, sp, #0
add r1, #3
add r2, #2
bl sub_02020A0C
ldr r0, [r5, #0x2c]
add r1, r4, #0
bl sub_0201A018
add r1, sp, #0
add r1, #1
add r2, sp, #0
bl sub_02020A0C
mov r0, #0xa
mov r1, #8
bl AllocFromHeap
add r4, r0, #0
ldr r1, [r4, #4]
mov r0, #3
and r1, r0
mov r0, #0x10
orr r0, r1
str r0, [r4, #4]
add r0, sp, #0
ldrb r1, [r0, #3]
strb r1, [r4]
ldrb r1, [r0, #2]
strb r1, [r4, #1]
ldrb r1, [r0, #1]
ldrb r0, [r0, #3]
cmp r0, r1
blo _021F7B24
sub r0, r0, r1
strb r0, [r4, #2]
ldr r1, [r4, #4]
mov r0, #1
bic r1, r0
str r1, [r4, #4]
b _021F7B34
_021F7B24:
sub r0, r1, r0
strb r0, [r4, #2]
ldr r1, [r4, #4]
mov r0, #1
bic r1, r0
mov r0, #1
orr r0, r1
str r0, [r4, #4]
_021F7B34:
add r0, sp, #0
ldrb r1, [r0]
ldrb r0, [r0, #2]
cmp r0, r1
blo _021F7B4C
sub r0, r0, r1
strb r0, [r4, #3]
ldr r1, [r4, #4]
mov r0, #2
bic r1, r0
str r1, [r4, #4]
b _021F7B58
_021F7B4C:
sub r0, r1, r0
strb r0, [r4, #3]
ldr r1, [r4, #4]
mov r0, #2
orr r0, r1
str r0, [r4, #4]
_021F7B58:
ldrb r0, [r4, #2]
ldr r1, [r4, #4]
lsl r0, r0, #8
lsr r1, r1, #2
bl _u32_div_f
lsr r0, r0, #8
strb r0, [r4, #2]
ldrb r0, [r4, #3]
ldr r1, [r4, #4]
lsl r0, r0, #8
lsr r1, r1, #2
bl _u32_div_f
lsr r0, r0, #8
strb r0, [r4, #3]
str r4, [r5, #0xc]
pop {r3, r4, r5, pc}
thumb_func_end ov14_021F7AC4
thumb_func_start ov14_021F7B7C
ov14_021F7B7C: ; 0x021F7B7C
push {r3, lr}
ldr r1, [r0, #0x34]
mov r0, #0x2f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov14_021E8648
cmp r0, #0
bne _021F7B92
mov r0, #0
pop {r3, pc}
_021F7B92:
ldr r0, _021F7BB4 ; =gMain
ldr r1, [r0, #0x48]
mov r0, #2
lsl r0, r0, #0xa
tst r0, r1
beq _021F7BA2
mov r0, #1
pop {r3, pc}
_021F7BA2:
ldr r0, _021F7BB8 ; =0x021F86C8
bl sub_02025320
cmp r0, #1
bne _021F7BB0
mov r0, #1
pop {r3, pc}
_021F7BB0:
mov r0, #0
pop {r3, pc}
.balign 4, 0
_021F7BB4: .word gMain
_021F7BB8: .word 0x021F86C8
thumb_func_end ov14_021F7B7C
.rodata
_021F7BBC:
.byte 0x08, 0x9F, 0x28, 0x9F
.byte 0x39, 0x00, 0xAF, 0x01, 0x7F, 0x00, 0x13, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x36, 0x0F, 0x26, 0x41, 0x58, 0x0F, 0x26
.byte 0x63, 0x7A, 0x0F, 0x26, 0x85, 0x9C, 0x0F, 0x26, 0xA7, 0xBE, 0x0F, 0x26, 0xC9, 0xE0, 0x0F, 0x26
.byte 0x1A, 0x39, 0x3A, 0x51, 0x3E, 0x5D, 0x42, 0x59, 0x1A, 0x39, 0x5A, 0x71, 0x3E, 0x5D, 0x62, 0x79
.byte 0x1A, 0x39, 0x7A, 0x91, 0x3E, 0x5D, 0x82, 0x99, 0xB2, 0xD1, 0x3A, 0x51, 0xD6, 0xF5, 0x42, 0x59
.byte 0xB2, 0xD1, 0x5A, 0x71, 0xD6, 0xF5, 0x62, 0x79, 0xB2, 0xD1, 0x7A, 0x91, 0xD6, 0xF5, 0x82, 0x99
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x1F, 0x06, 0x00, 0x00, 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, 0x1E, 0x04
.byte 0x00, 0x01, 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, 0x1F, 0x04, 0x00, 0x01, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x1B, 0x00, 0x00, 0x03, 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, 0x1E, 0x00
.byte 0x00, 0x02, 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, 0x1D, 0x06, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x07, 0xFF, 0x46, 0x00, 0x00, 0x00
.byte 0x41, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00
.byte 0x41, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x01, 0x00
.byte 0x41, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00
.byte 0xB9, 0x89, 0x1E, 0x02, 0x7D, 0x8A, 0x1E, 0x02, 0x0F, 0x00, 0x00, 0x00, 0xCD, 0x8A, 0x1E, 0x02
.byte 0x1D, 0x8B, 0x1E, 0x02, 0x11, 0x00, 0x00, 0x00, 0x3D, 0x8B, 0x1E, 0x02, 0x81, 0x8B, 0x1E, 0x02
.byte 0x10, 0x00, 0x00, 0x00, 0x21, 0x20, 0x1F, 0x02, 0xE5, 0xB7, 0x1E, 0x02, 0xC5, 0x20, 0x1F, 0x02
.byte 0x01, 0xC3, 0x1E, 0x02, 0xF5, 0x20, 0x1F, 0x02, 0xB9, 0xED, 0x1E, 0x02, 0xB5, 0x21, 0x1F, 0x02
.byte 0xD1, 0x21, 0x1F, 0x02, 0xD1, 0x21, 0x1F, 0x02, 0xB5, 0x21, 0x1F, 0x02, 0xAD, 0xAF, 0x1E, 0x02
.byte 0xE5, 0xB0, 0x1E, 0x02, 0x71, 0xB1, 0x1E, 0x02, 0x8D, 0xB1, 0x1E, 0x02, 0xA5, 0xB1, 0x1E, 0x02
.byte 0xC1, 0xB1, 0x1E, 0x02, 0xE1, 0xB1, 0x1E, 0x02, 0x19, 0xB2, 0x1E, 0x02, 0x7D, 0xB2, 0x1E, 0x02
.byte 0x91, 0xB2, 0x1E, 0x02, 0xA9, 0xB2, 0x1E, 0x02, 0xED, 0xB2, 0x1E, 0x02, 0x89, 0xB3, 0x1E, 0x02
.byte 0xB1, 0xB7, 0x1E, 0x02, 0xE5, 0xB7, 0x1E, 0x02, 0xC1, 0xB8, 0x1E, 0x02, 0xED, 0xBA, 0x1E, 0x02
.byte 0x3D, 0xBB, 0x1E, 0x02, 0xCD, 0xBD, 0x1E, 0x02, 0xE1, 0xBD, 0x1E, 0x02, 0xE9, 0xBD, 0x1E, 0x02
.byte 0x2D, 0xBE, 0x1E, 0x02, 0x69, 0xBE, 0x1E, 0x02, 0x8D, 0xBF, 0x1E, 0x02, 0x21, 0xE8, 0x1E, 0x02
.byte 0x9D, 0xBF, 0x1E, 0x02, 0xED, 0xC0, 0x1E, 0x02, 0x29, 0xC1, 0x1E, 0x02, 0x3D, 0xC1, 0x1E, 0x02
.byte 0x51, 0xC1, 0x1E, 0x02, 0xA5, 0xC2, 0x1E, 0x02, 0xED, 0xC2, 0x1E, 0x02, 0x01, 0xC3, 0x1E, 0x02
.byte 0x3D, 0xC2, 0x1E, 0x02, 0x55, 0xC3, 0x1E, 0x02, 0xA9, 0xC3, 0x1E, 0x02, 0xD9, 0xC3, 0x1E, 0x02
.byte 0x11, 0xC7, 0x1E, 0x02, 0x31, 0xC7, 0x1E, 0x02, 0xD5, 0xC7, 0x1E, 0x02, 0x55, 0xC8, 0x1E, 0x02
.byte 0xD1, 0xC8, 0x1E, 0x02, 0xA9, 0xCD, 0x1E, 0x02, 0x59, 0xCF, 0x1E, 0x02, 0xAD, 0xD1, 0x1E, 0x02
.byte 0xE9, 0xD1, 0x1E, 0x02, 0x59, 0xD2, 0x1E, 0x02, 0xC9, 0xD2, 0x1E, 0x02, 0xDD, 0xD2, 0x1E, 0x02
.byte 0x51, 0xD3, 0x1E, 0x02, 0x5D, 0xD3, 0x1E, 0x02, 0x8D, 0xD3, 0x1E, 0x02, 0xB1, 0xD5, 0x1E, 0x02
.byte 0x0D, 0xD6, 0x1E, 0x02, 0x21, 0xD6, 0x1E, 0x02, 0x2D, 0xD6, 0x1E, 0x02, 0x51, 0xD6, 0x1E, 0x02
.byte 0x85, 0xD6, 0x1E, 0x02, 0xA5, 0xD6, 0x1E, 0x02, 0xC5, 0xD6, 0x1E, 0x02, 0xD1, 0xD6, 0x1E, 0x02
.byte 0x15, 0xD4, 0x1E, 0x02, 0x31, 0xE8, 0x1E, 0x02, 0x61, 0xD7, 0x1E, 0x02, 0xB9, 0xD7, 0x1E, 0x02
.byte 0xDD, 0xD7, 0x1E, 0x02, 0x21, 0xD8, 0x1E, 0x02, 0x21, 0xD9, 0x1E, 0x02, 0x41, 0xD9, 0x1E, 0x02
.byte 0x61, 0xD9, 0x1E, 0x02, 0x6D, 0xD9, 0x1E, 0x02, 0xAD, 0xD9, 0x1E, 0x02, 0xED, 0xD9, 0x1E, 0x02
.byte 0x41, 0xE8, 0x1E, 0x02, 0xB5, 0xE7, 0x1E, 0x02, 0xC5, 0xE7, 0x1E, 0x02, 0xD5, 0xE7, 0x1E, 0x02
.byte 0x1D, 0xDA, 0x1E, 0x02, 0x3D, 0xDA, 0x1E, 0x02, 0x99, 0x01, 0x1F, 0x02, 0xB9, 0x01, 0x1F, 0x02
.byte 0x4D, 0xDA, 0x1E, 0x02, 0x21, 0xDE, 0x1E, 0x02, 0x39, 0xDE, 0x1E, 0x02, 0x71, 0xDE, 0x1E, 0x02
.byte 0x89, 0xDE, 0x1E, 0x02, 0x09, 0xDF, 0x1E, 0x02, 0x29, 0xDF, 0x1E, 0x02, 0x51, 0xE8, 0x1E, 0x02
.byte 0x61, 0xE8, 0x1E, 0x02, 0x91, 0xDF, 0x1E, 0x02, 0xA1, 0xDF, 0x1E, 0x02, 0x6D, 0xE2, 0x1E, 0x02
.byte 0x29, 0xE3, 0x1E, 0x02, 0x39, 0xE3, 0x1E, 0x02, 0x5D, 0xE3, 0x1E, 0x02, 0x81, 0xE3, 0x1E, 0x02
.byte 0xC9, 0xE3, 0x1E, 0x02, 0xAD, 0xE4, 0x1E, 0x02, 0xD9, 0xE4, 0x1E, 0x02, 0xE5, 0xE4, 0x1E, 0x02
.byte 0xFD, 0xE4, 0x1E, 0x02, 0x39, 0xE5, 0x1E, 0x02, 0x79, 0xE5, 0x1E, 0x02, 0xC9, 0xE5, 0x1E, 0x02
.byte 0xE9, 0xE5, 0x1E, 0x02, 0x65, 0xE6, 0x1E, 0x02, 0x85, 0xE6, 0x1E, 0x02, 0xD1, 0xE6, 0x1E, 0x02
.byte 0xF9, 0xE6, 0x1E, 0x02, 0x29, 0xE7, 0x1E, 0x02, 0xE5, 0xE7, 0x1E, 0x02, 0xF5, 0xE7, 0x1E, 0x02
.byte 0x11, 0xE8, 0x1E, 0x02, 0x45, 0xC3, 0x1E, 0x02, 0x45, 0x1F, 0x1F, 0x02, 0x11, 0x20, 0x1F, 0x02
.byte 0x7D, 0xE8, 0x1E, 0x02, 0x8D, 0xEC, 0x1E, 0x02, 0xFD, 0xEB, 0x1E, 0x02, 0x9D, 0xEC, 0x1E, 0x02
.byte 0x29, 0xED, 0x1E, 0x02, 0xB9, 0xED, 0x1E, 0x02, 0x95, 0xEE, 0x1E, 0x02, 0xD5, 0xEE, 0x1E, 0x02
.byte 0x35, 0xEF, 0x1E, 0x02, 0x8D, 0xEF, 0x1E, 0x02, 0x25, 0xF0, 0x1E, 0x02, 0x91, 0xF1, 0x1E, 0x02
.byte 0xED, 0xF1, 0x1E, 0x02, 0x49, 0xF2, 0x1E, 0x02, 0xD5, 0xF6, 0x1E, 0x02, 0xE5, 0xF6, 0x1E, 0x02
.byte 0xFD, 0xF6, 0x1E, 0x02, 0xAD, 0xF8, 0x1E, 0x02, 0x21, 0xF9, 0x1E, 0x02, 0x3D, 0xF9, 0x1E, 0x02
.byte 0xBD, 0xF9, 0x1E, 0x02, 0xCD, 0xF9, 0x1E, 0x02, 0x65, 0xFB, 0x1E, 0x02, 0xE5, 0xFD, 0x1E, 0x02
.byte 0xF5, 0xFD, 0x1E, 0x02, 0x01, 0xFF, 0x1E, 0x02, 0xA1, 0x00, 0x1F, 0x02, 0xBD, 0x00, 0x1F, 0x02
.byte 0x21, 0x01, 0x1F, 0x02, 0x65, 0x01, 0x1F, 0x02, 0x75, 0x25, 0x1F, 0x02, 0x9D, 0x25, 0x1F, 0x02
.byte 0xC5, 0x25, 0x1F, 0x02, 0xD5, 0x25, 0x1F, 0x02, 0x11, 0x26, 0x1F, 0x02, 0x1D, 0x26, 0x1F, 0x02
.byte 0x25, 0x26, 0x1F, 0x02, 0x2D, 0x26, 0x1F, 0x02, 0x35, 0x26, 0x1F, 0x02, 0x3D, 0x26, 0x1F, 0x02
.byte 0x91, 0x26, 0x1F, 0x02, 0xB5, 0x26, 0x1F, 0x02, 0xF1, 0x26, 0x1F, 0x02, 0x01, 0x27, 0x1F, 0x02
.byte 0x19, 0x27, 0x1F, 0x02, 0x29, 0x27, 0x1F, 0x02, 0x35, 0x27, 0x1F, 0x02, 0x61, 0x27, 0x1F, 0x02
.byte 0x6D, 0x27, 0x1F, 0x02, 0x79, 0x27, 0x1F, 0x02, 0xCD, 0x27, 0x1F, 0x02, 0xD5, 0x27, 0x1F, 0x02
.byte 0x11, 0x28, 0x1F, 0x02, 0x19, 0x28, 0x1F, 0x02, 0x59, 0x28, 0x1F, 0x02, 0x75, 0x28, 0x1F, 0x02
.byte 0x91, 0x28, 0x1F, 0x02, 0x99, 0x28, 0x1F, 0x02, 0xFD, 0x28, 0x1F, 0x02, 0x15, 0x29, 0x1F, 0x02
.byte 0x31, 0x29, 0x1F, 0x02, 0xE5, 0x25, 0x1F, 0x02, 0x50, 0x60, 0x70, 0x90, 0xA0, 0xB0, 0x00, 0x00
.byte 0x01, 0xFF, 0x00, 0x00, 0x01, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0xFF, 0x01, 0xFF, 0x01, 0xFF
.byte 0x0E, 0x0F, 0x05, 0x02, 0x0D, 0x0C, 0x06, 0x0B, 0x0A, 0x09, 0x00, 0x00, 0x18, 0x10, 0x40, 0x18
.byte 0x18, 0x30, 0x40, 0x38, 0x18, 0x50, 0x40, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00
.byte 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x28, 0x00, 0xD0, 0x00
.byte 0x50, 0x00, 0xD8, 0x00, 0x28, 0x00, 0xF0, 0x00, 0x50, 0x00, 0xF8, 0x00, 0x28, 0x00, 0x10, 0x01
.byte 0x50, 0x00, 0x18, 0x01, 0x35, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
.byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x18, 0x00, 0x30, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0xF9, 0xC0, 0x00, 0x00, 0xF9, 0xC0, 0x00, 0x00, 0xF9, 0xC0, 0x00, 0x00, 0xF9, 0xC0, 0x00, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x2B, 0x00, 0xEB, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x23, 0xC1, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0xFD, 0xC0, 0x00, 0x00
.byte 0xFD, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x3B, 0x00, 0xEB, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x29, 0xC1, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x00
.byte 0xFE, 0xC0, 0x00, 0x00, 0xFE, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x01, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2D, 0xC1, 0x00, 0x00
.byte 0x01, 0xC1, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x1C, 0x00
.byte 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x2D, 0xC1, 0x00, 0x00, 0x01, 0xC1, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x8C, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0x00, 0x00, 0xFA, 0xC0, 0x00, 0x00, 0xFA, 0xC0, 0x00, 0x00
.byte 0xFA, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1E, 0xC1, 0x00, 0x00, 0xFB, 0xC0, 0x00, 0x00
.byte 0xFA, 0xC0, 0x00, 0x00, 0xFA, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0xEB, 0xFF, 0x00, 0x00, 0x01, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2D, 0xC1, 0x00, 0x00
.byte 0x01, 0xC1, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0xEB, 0xFF
.byte 0x00, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x2D, 0xC1, 0x00, 0x00, 0x01, 0xC1, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x2B, 0x00, 0xEB, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x2D, 0xC1, 0x00, 0x00, 0x01, 0xC1, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00
.byte 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xD8, 0xFF, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2D, 0xC1, 0x00, 0x00, 0x01, 0xC1, 0x00, 0x00
.byte 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xE4, 0xFF, 0x00, 0x00, 0x06, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2D, 0xC1, 0x00, 0x00
.byte 0x01, 0xC1, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x2D, 0xC1, 0x00, 0x00, 0x01, 0xC1, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x80, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x2D, 0xC1, 0x00, 0x00, 0x01, 0xC1, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00
.byte 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1F, 0xC1, 0x00, 0x00, 0xFC, 0xC0, 0x00, 0x00
.byte 0xFB, 0xC0, 0x00, 0x00, 0xFB, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0xC1, 0x00, 0x00
.byte 0xFD, 0xC0, 0x00, 0x00, 0xFB, 0xC0, 0x00, 0x00, 0xFB, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x30, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x21, 0xC1, 0x00, 0x00, 0xFE, 0xC0, 0x00, 0x00, 0xFC, 0xC0, 0x00, 0x00, 0xFC, 0xC0, 0x00, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0xC2, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x22, 0xC1, 0x00, 0x00, 0xFE, 0xC0, 0x00, 0x00, 0xFC, 0xC0, 0x00, 0x00
.byte 0xFC, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x05, 0x08, 0x02, 0x0F, 0x69, 0x00, 0x04, 0x01, 0x07, 0x08
.byte 0x02, 0x0F, 0x79, 0x00, 0x04, 0x04, 0x09, 0x06, 0x02, 0x0F, 0x89, 0x00, 0x04, 0x01, 0x00, 0x1E
.byte 0x03, 0x0F, 0x0F, 0x00, 0x04, 0x10, 0x05, 0x02, 0x02, 0x0F, 0x95, 0x00, 0x04, 0x01, 0x05, 0x06
.byte 0x02, 0x0F, 0x99, 0x00, 0x04, 0x01, 0x0D, 0x08, 0x02, 0x0F, 0xA5, 0x00, 0x04, 0x01, 0x11, 0x0B
.byte 0x02, 0x0F, 0xB5, 0x00, 0x04, 0x01, 0x15, 0x0C, 0x02, 0x0F, 0xCB, 0x00, 0x06, 0x01, 0x01, 0x0B
.byte 0x02, 0x01, 0xEA, 0x03, 0x06, 0x01, 0x03, 0x0B, 0x02, 0x01, 0xD4, 0x03, 0x06, 0x01, 0x05, 0x0B
.byte 0x02, 0x01, 0xBE, 0x03, 0x06, 0x01, 0x07, 0x0B, 0x02, 0x01, 0xA8, 0x03, 0x06, 0x01, 0x01, 0x0B
.byte 0x02, 0x01, 0x92, 0x03, 0x06, 0x01, 0x03, 0x0B, 0x02, 0x01, 0x7C, 0x03, 0x06, 0x01, 0x05, 0x0B
.byte 0x02, 0x01, 0x66, 0x03, 0x06, 0x01, 0x07, 0x0B, 0x02, 0x01, 0x50, 0x03, 0x04, 0x01, 0x0B, 0x08
.byte 0x02, 0x0F, 0xE3, 0x00, 0x04, 0x01, 0x0F, 0x0B, 0x02, 0x0F, 0xF3, 0x00, 0x04, 0x01, 0x13, 0x0C
.byte 0x02, 0x0F, 0x09, 0x01, 0x06, 0x01, 0x01, 0x0C, 0x02, 0x01, 0xE8, 0x03, 0x06, 0x04, 0x03, 0x1B
.byte 0x06, 0x01, 0x2E, 0x03, 0x06, 0x01, 0x01, 0x0C, 0x02, 0x01, 0xD0, 0x03, 0x06, 0x04, 0x03, 0x1B
.byte 0x06, 0x01, 0x8C, 0x02, 0x01, 0x00, 0x00, 0x0B, 0x03, 0x0C, 0xC7, 0x03, 0x01, 0x00, 0x00, 0x0B
.byte 0x03, 0x02, 0xA6, 0x03, 0x01, 0x00, 0x00, 0x08, 0x03, 0x0C, 0x8E, 0x03, 0x01, 0x00, 0x00, 0x08
.byte 0x03, 0x0C, 0x8E, 0x03, 0x01, 0x00, 0x00, 0x08, 0x03, 0x0C, 0x76, 0x03, 0x00, 0x00, 0x00, 0x0B
.byte 0x03, 0x0C, 0x6D, 0x03, 0x00, 0x00, 0x00, 0x0B, 0x03, 0x0C, 0x4C, 0x03, 0x00, 0x00, 0x00, 0x0B
.byte 0x03, 0x0C, 0x2B, 0x03, 0x00, 0x00, 0x00, 0x0B, 0x03, 0x0C, 0x0A, 0x03, 0x00, 0x00, 0x00, 0x0B
.byte 0x03, 0x0C, 0xE9, 0x02, 0x00, 0x02, 0x0B, 0x07, 0x02, 0x01, 0x80, 0x03, 0x00, 0x02, 0x0F, 0x07
.byte 0x02, 0x01, 0x72, 0x03, 0x01, 0x02, 0x0F, 0x07, 0x02, 0x01, 0x68, 0x03, 0x00, 0x02, 0x15, 0x1B
.byte 0x02, 0x0B, 0xB3, 0x02, 0x00, 0x02, 0x01, 0x1B, 0x02, 0x0B, 0xB3, 0x02, 0x00, 0x02, 0x15, 0x13
.byte 0x02, 0x0B, 0xB3, 0x02, 0x00, 0x02, 0x15, 0x1B, 0x02, 0x0B, 0x7D, 0x02, 0x00, 0x16, 0x10, 0x09
.byte 0x04, 0x0C, 0x59, 0x02, 0x01, 0x00, 0x00, 0x11, 0x03, 0x0C, 0x35, 0x03, 0x01, 0x00, 0x00, 0x11
.byte 0x03, 0x02, 0x02, 0x03, 0x38, 0x4F, 0x1E, 0x35, 0x40, 0x57, 0x42, 0x59, 0x58, 0x6F, 0x1E, 0x35
.byte 0x60, 0x77, 0x42, 0x59, 0x78, 0x8F, 0x1E, 0x35, 0x80, 0x97, 0x42, 0x59, 0xFF, 0x00, 0x00, 0x00
.byte 0x38, 0x4F, 0xB6, 0xCD, 0x40, 0x57, 0xDA, 0xF1, 0x58, 0x6F, 0xB6, 0xCD, 0x60, 0x77, 0xDA, 0xF1
.byte 0x78, 0x8F, 0xB6, 0xCD, 0x80, 0x97, 0xDA, 0xF1, 0xFF, 0x00, 0x00, 0x00, 0x28, 0x3F, 0x0C, 0x23
.byte 0x28, 0x3F, 0x24, 0x3B, 0x28, 0x3F, 0x3C, 0x53, 0x28, 0x3F, 0x54, 0x6B, 0x28, 0x3F, 0x6C, 0x83
.byte 0x28, 0x3F, 0x84, 0x9B, 0x40, 0x57, 0x0C, 0x23, 0x40, 0x57, 0x24, 0x3B, 0x40, 0x57, 0x3C, 0x53
.byte 0x40, 0x57, 0x54, 0x6B, 0x40, 0x57, 0x6C, 0x83, 0x40, 0x57, 0x84, 0x9B, 0x58, 0x6F, 0x0C, 0x23
.byte 0x58, 0x6F, 0x24, 0x3B, 0x58, 0x6F, 0x3C, 0x53, 0x58, 0x6F, 0x54, 0x6B, 0x58, 0x6F, 0x6C, 0x83
.byte 0x58, 0x6F, 0x84, 0x9B, 0x70, 0x87, 0x0C, 0x23, 0x70, 0x87, 0x24, 0x3B, 0x70, 0x87, 0x3C, 0x53
.byte 0x70, 0x87, 0x54, 0x6B, 0x70, 0x87, 0x6C, 0x83, 0x70, 0x87, 0x84, 0x9B, 0x88, 0x9F, 0x0C, 0x23
.byte 0x88, 0x9F, 0x24, 0x3B, 0x88, 0x9F, 0x3C, 0x53, 0x88, 0x9F, 0x54, 0x6B, 0x88, 0x9F, 0x6C, 0x83
.byte 0x88, 0x9F, 0x84, 0x9B, 0xFF, 0x00, 0x00, 0x00, 0xA8, 0xBF, 0x00, 0x87, 0x79, 0x78, 0x1F, 0x02
.byte 0x7D, 0x6B, 0x1F, 0x02, 0xF9, 0x78, 0x1F, 0x02, 0x2D, 0x7A, 0x1F, 0x02, 0x09, 0x6F, 0x1F, 0x02
.byte 0x7D, 0x6B, 0x1F, 0x02, 0x8D, 0x6B, 0x1F, 0x02, 0x71, 0x6F, 0x1F, 0x02, 0x3D, 0x6C, 0x1F, 0x02
.byte 0x7D, 0x6B, 0x1F, 0x02, 0x8D, 0x6B, 0x1F, 0x02, 0xA5, 0x6B, 0x1F, 0x02, 0x95, 0x6C, 0x1F, 0x02
.byte 0x7D, 0x6B, 0x1F, 0x02, 0x15, 0x6D, 0x1F, 0x02, 0x69, 0x6E, 0x1F, 0x02, 0x89, 0x76, 0x1F, 0x02
.byte 0x7D, 0x6B, 0x1F, 0x02, 0x01, 0x77, 0x1F, 0x02, 0x55, 0x78, 0x1F, 0x02, 0xE5, 0x73, 0x1F, 0x02
.byte 0x7D, 0x6B, 0x1F, 0x02, 0x45, 0x74, 0x1F, 0x02, 0xA5, 0x6B, 0x1F, 0x02, 0xF5, 0x70, 0x1F, 0x02
.byte 0x7D, 0x6B, 0x1F, 0x02, 0x85, 0x71, 0x1F, 0x02, 0x09, 0x73, 0x1F, 0x02, 0x11, 0x70, 0x1F, 0x02
.byte 0x7D, 0x6B, 0x1F, 0x02, 0x8D, 0x70, 0x1F, 0x02, 0xA5, 0x70, 0x1F, 0x02, 0x61, 0x6B, 0x1F, 0x02
.byte 0x7D, 0x6B, 0x1F, 0x02, 0x8D, 0x6B, 0x1F, 0x02, 0xA5, 0x6B, 0x1F, 0x02, 0x21, 0x76, 0x1F, 0x02
.byte 0x7D, 0x6B, 0x1F, 0x02, 0x71, 0x76, 0x1F, 0x02, 0xA5, 0x6B, 0x1F, 0x02, 0x29, 0x75, 0x1F, 0x02
.byte 0x7D, 0x6B, 0x1F, 0x02, 0x95, 0x75, 0x1F, 0x02, 0xAD, 0x75, 0x1F, 0x02, 0x3C, 0x4B, 0xBC, 0xCB
.byte 0x3C, 0x4B, 0xDC, 0xEB, 0x54, 0x63, 0xBC, 0xCB, 0x54, 0x63, 0xDC, 0xEB, 0x6C, 0x7B, 0xBC, 0xCB
.byte 0x6C, 0x7B, 0xDC, 0xEB, 0x82, 0x9D, 0xB2, 0xF5, 0xA2, 0xBD, 0xB2, 0xF5, 0xFF, 0x00, 0x00, 0x00
.byte 0x17, 0x2E, 0x2F, 0x46, 0x17, 0x2E, 0x5D, 0x74, 0x17, 0x2E, 0x8B, 0xA2, 0x17, 0x2E, 0xB9, 0xD0
.byte 0x17, 0x2E, 0x02, 0x17, 0x17, 0x2E, 0xE8, 0xFD, 0x70, 0x9F, 0xA8, 0xFF, 0xA8, 0xBF, 0xC0, 0xFF
.byte 0xFF, 0x00, 0x00, 0x00, 0x38, 0x4F, 0x1E, 0x35, 0x40, 0x57, 0x42, 0x59, 0x58, 0x6F, 0x1E, 0x35
.byte 0x60, 0x77, 0x42, 0x59, 0x78, 0x8F, 0x1E, 0x35, 0x80, 0x97, 0x42, 0x59, 0xA2, 0xBD, 0x1A, 0x5D
.byte 0xA8, 0xBF, 0xC0, 0xFF, 0x88, 0x9F, 0xA8, 0xFF, 0xA8, 0xBF, 0xC0, 0xFF, 0xFF, 0x00, 0x00, 0x00
.byte 0x47, 0x5E, 0x1F, 0x36, 0x47, 0x5E, 0x41, 0x58, 0x47, 0x5E, 0x63, 0x7A, 0x47, 0x5E, 0x85, 0x9C
.byte 0x47, 0x5E, 0xA7, 0xBE, 0x47, 0x5E, 0xC9, 0xE0, 0x47, 0x5E, 0x01, 0x16, 0x47, 0x5E, 0xE9, 0xFE
.byte 0x70, 0x9F, 0xA8, 0xFF, 0xA8, 0xBF, 0xC0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x38, 0x4F, 0x1E, 0x35
.byte 0x40, 0x57, 0x42, 0x59, 0x58, 0x6F, 0x1E, 0x35, 0x60, 0x77, 0x42, 0x59, 0x78, 0x8F, 0x1E, 0x35
.byte 0x80, 0x97, 0x42, 0x59, 0xA8, 0xBF, 0xC0, 0xFF, 0x40, 0x57, 0xA8, 0xFF, 0x58, 0x6F, 0xA8, 0xFF
.byte 0x70, 0x87, 0xA8, 0xFF, 0x88, 0x9F, 0xA8, 0xFF, 0xA8, 0xBF, 0xC0, 0xFF, 0xFF, 0x00, 0x00, 0x00
.byte 0x0F, 0x26, 0x1F, 0x36, 0x0F, 0x26, 0x41, 0x58, 0x0F, 0x26, 0x63, 0x7A, 0x0F, 0x26, 0x85, 0x9C
.byte 0x0F, 0x26, 0xA7, 0xBE, 0x0F, 0x26, 0xC9, 0xE0, 0x0F, 0x26, 0x01, 0x16, 0x0F, 0x26, 0xE9, 0xFE
.byte 0x40, 0x6F, 0xA8, 0xFF, 0x70, 0x87, 0xA8, 0xFF, 0x88, 0x9F, 0xA8, 0xFF, 0xA8, 0xBF, 0xC0, 0xFF
.byte 0xFF, 0x00, 0x00, 0x00, 0x38, 0x4F, 0x1E, 0x35, 0x40, 0x57, 0x42, 0x59, 0x58, 0x6F, 0x1E, 0x35
.byte 0x60, 0x77, 0x42, 0x59, 0x78, 0x8F, 0x1E, 0x35, 0x80, 0x97, 0x42, 0x59, 0xA2, 0xBD, 0x1A, 0x5D
.byte 0xA8, 0xBF, 0xC0, 0xFF, 0x28, 0x3F, 0xA8, 0xFF, 0x40, 0x57, 0xA8, 0xFF, 0x58, 0x6F, 0xA8, 0xFF
.byte 0x70, 0x87, 0xA8, 0xFF, 0x88, 0x9F, 0xA8, 0xFF, 0xA8, 0xBF, 0xC0, 0xFF, 0xFF, 0x00, 0x00, 0x00
.byte 0xCC, 0x38, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0xEC, 0x38, 0x00, 0x00, 0x01, 0x03, 0x00, 0x01
.byte 0xCC, 0x50, 0x00, 0x00, 0x00, 0x04, 0x02, 0x03, 0xEC, 0x50, 0x00, 0x00, 0x01, 0x05, 0x02, 0x03
.byte 0xCC, 0x68, 0x00, 0x00, 0x02, 0x06, 0x04, 0x05, 0xEC, 0x68, 0x00, 0x00, 0x03, 0x06, 0x04, 0x05
.byte 0xD4, 0x82, 0x00, 0x00, 0x84, 0x07, 0x06, 0x06, 0xD4, 0xA2, 0x00, 0x00, 0x06, 0x07, 0x07, 0x07
.byte 0x3B, 0x1F, 0x00, 0x00, 0x00, 0x06, 0x03, 0x01, 0x69, 0x1F, 0x00, 0x00, 0x01, 0x06, 0x00, 0x02
.byte 0x97, 0x1F, 0x00, 0x00, 0x02, 0x06, 0x01, 0x03, 0xC5, 0x1F, 0x00, 0x00, 0x03, 0x06, 0x02, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05
.byte 0xD4, 0x70, 0x00, 0x00, 0x00, 0x07, 0x06, 0x06, 0xE0, 0xA8, 0x00, 0x00, 0x06, 0x07, 0x07, 0x07
.byte 0x2B, 0x53, 0x00, 0x00, 0x00, 0x08, 0x05, 0x01, 0x4D, 0x53, 0x00, 0x00, 0x01, 0x08, 0x00, 0x02
.byte 0x6F, 0x53, 0x00, 0x00, 0x02, 0x08, 0x01, 0x03, 0x91, 0x53, 0x00, 0x00, 0x03, 0x08, 0x02, 0x04
.byte 0xB3, 0x53, 0x00, 0x00, 0x04, 0x08, 0x03, 0x05, 0xD5, 0x53, 0x00, 0x00, 0x05, 0x08, 0x04, 0x00
.byte 0x0C, 0x53, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0xF4, 0x53, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07
.byte 0xD4, 0x70, 0x00, 0x00, 0x00, 0x09, 0x08, 0x08, 0xE0, 0xA8, 0x00, 0x00, 0x08, 0x09, 0x09, 0x09
.byte 0x28, 0x34, 0x00, 0x00, 0x04, 0x02, 0x00, 0x01, 0x50, 0x3C, 0x00, 0x00, 0x05, 0x03, 0x00, 0x02
.byte 0x28, 0x54, 0x00, 0x00, 0x00, 0x04, 0x01, 0x03, 0x50, 0x5C, 0x00, 0x00, 0x01, 0x05, 0x02, 0x04
.byte 0x28, 0x74, 0x00, 0x00, 0x02, 0x06, 0x03, 0x05, 0x50, 0x7C, 0x00, 0x00, 0x03, 0x06, 0x04, 0x06
.byte 0x3C, 0xA2, 0x00, 0x00, 0x85, 0x07, 0x05, 0x07, 0xE0, 0xA8, 0x00, 0x00, 0x06, 0x07, 0x06, 0x07
.byte 0xD4, 0x88, 0x00, 0x00, 0x09, 0x09, 0x08, 0x08, 0xE0, 0xA8, 0x00, 0x00, 0x08, 0x08, 0x09, 0x09
.byte 0x2B, 0x17, 0x00, 0x00, 0x00, 0x08, 0x05, 0x01, 0x4D, 0x17, 0x00, 0x00, 0x01, 0x08, 0x00, 0x02
.byte 0x6F, 0x17, 0x00, 0x00, 0x02, 0x08, 0x01, 0x03, 0x91, 0x17, 0x00, 0x00, 0x03, 0x08, 0x02, 0x04
.byte 0xB3, 0x17, 0x00, 0x00, 0x04, 0x08, 0x03, 0x05, 0xD5, 0x17, 0x00, 0x00, 0x05, 0x08, 0x04, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07
.byte 0xD4, 0x40, 0x00, 0x00, 0x00, 0x09, 0x08, 0x08, 0xD4, 0x70, 0x00, 0x00, 0x08, 0x0A, 0x09, 0x09
.byte 0xD4, 0x88, 0x00, 0x00, 0x09, 0x0B, 0x0A, 0x0A, 0xE0, 0xA8, 0x00, 0x00, 0x0A, 0x0B, 0x0B, 0x0B
.byte 0x28, 0x34, 0x00, 0x00, 0x06, 0x02, 0x00, 0x01, 0x50, 0x3C, 0x00, 0x00, 0x06, 0x03, 0x00, 0x02
.byte 0x28, 0x54, 0x00, 0x00, 0x00, 0x04, 0x01, 0x03, 0x50, 0x5C, 0x00, 0x00, 0x01, 0x05, 0x02, 0x04
.byte 0x28, 0x74, 0x00, 0x00, 0x02, 0x06, 0x03, 0x05, 0x50, 0x7C, 0x00, 0x00, 0x03, 0x06, 0x04, 0x06
.byte 0xE0, 0xA8, 0x00, 0x00, 0x85, 0x00, 0x05, 0x06, 0xD4, 0x40, 0x00, 0x00, 0x0B, 0x08, 0x07, 0x07
.byte 0xD4, 0x58, 0x00, 0x00, 0x07, 0x09, 0x08, 0x08, 0xD4, 0x70, 0x00, 0x00, 0x08, 0x0A, 0x09, 0x09
.byte 0xD4, 0x88, 0x00, 0x00, 0x09, 0x0B, 0x0A, 0x0A, 0xE0, 0xA8, 0x00, 0x00, 0x0A, 0x07, 0x0B, 0x0B
.byte 0x28, 0x34, 0x00, 0x00, 0x07, 0x02, 0x00, 0x01, 0x50, 0x3C, 0x00, 0x00, 0x07, 0x03, 0x00, 0x02
.byte 0x28, 0x54, 0x00, 0x00, 0x00, 0x04, 0x01, 0x03, 0x50, 0x5C, 0x00, 0x00, 0x01, 0x05, 0x02, 0x04
.byte 0x28, 0x74, 0x00, 0x00, 0x02, 0x06, 0x03, 0x05, 0x50, 0x7C, 0x00, 0x00, 0x03, 0x06, 0x04, 0x06
.byte 0x3C, 0xA2, 0x00, 0x00, 0x85, 0x07, 0x05, 0x07, 0xE0, 0xA8, 0x00, 0x00, 0x06, 0x00, 0x06, 0x07
.byte 0xD4, 0x28, 0x00, 0x00, 0x0D, 0x09, 0x08, 0x08, 0xD4, 0x40, 0x00, 0x00, 0x08, 0x0A, 0x09, 0x09
.byte 0xD4, 0x58, 0x00, 0x00, 0x09, 0x0B, 0x0A, 0x0A, 0xD4, 0x70, 0x00, 0x00, 0x0A, 0x0C, 0x0B, 0x0B
.byte 0xD4, 0x88, 0x00, 0x00, 0x0B, 0x0D, 0x0C, 0x0C, 0xE0, 0xA8, 0x00, 0x00, 0x0C, 0x08, 0x0D, 0x0D
.byte 0x1C, 0x88, 0x1F, 0x02, 0x40, 0x8A, 0x1F, 0x02, 0xEC, 0x86, 0x1F, 0x02, 0xF0, 0x87, 0x1F, 0x02
.byte 0x40, 0x89, 0x1F, 0x02, 0xFC, 0x86, 0x1F, 0x02, 0x30, 0x8C, 0x1F, 0x02, 0x68, 0x8F, 0x1F, 0x02
.byte 0xDC, 0x86, 0x1F, 0x02, 0xD0, 0x8C, 0x1F, 0x02, 0xA0, 0x90, 0x1F, 0x02, 0x3C, 0x87, 0x1F, 0x02
.byte 0x7C, 0x8D, 0x1F, 0x02, 0xF0, 0x91, 0x1F, 0x02, 0x2C, 0x87, 0x1F, 0x02, 0x84, 0x88, 0x1F, 0x02
.byte 0xA0, 0x8A, 0x1F, 0x02, 0x1C, 0x87, 0x1F, 0x02, 0x94, 0x8B, 0x1F, 0x02, 0x38, 0x8E, 0x1F, 0x02
.byte 0x6C, 0x87, 0x1F, 0x02, 0xC4, 0x87, 0x1F, 0x02, 0x90, 0x89, 0x1F, 0x02, 0x5C, 0x87, 0x1F, 0x02
.byte 0x7C, 0x87, 0x1F, 0x02, 0xC0, 0x88, 0x1F, 0x02, 0x4C, 0x87, 0x1F, 0x02, 0x50, 0x88, 0x1F, 0x02
.byte 0xE0, 0x89, 0x1F, 0x02, 0x0C, 0x87, 0x1F, 0x02, 0xA0, 0x87, 0x1F, 0x02, 0x00, 0x89, 0x1F, 0x02
.byte 0xCC, 0x86, 0x1F, 0x02, 0x28, 0x3F, 0x0C, 0x23, 0x28, 0x3F, 0x24, 0x3B, 0x28, 0x3F, 0x3C, 0x53
.byte 0x28, 0x3F, 0x54, 0x6B, 0x28, 0x3F, 0x6C, 0x83, 0x28, 0x3F, 0x84, 0x9B, 0x40, 0x57, 0x0C, 0x23
.byte 0x40, 0x57, 0x24, 0x3B, 0x40, 0x57, 0x3C, 0x53, 0x40, 0x57, 0x54, 0x6B, 0x40, 0x57, 0x6C, 0x83
.byte 0x40, 0x57, 0x84, 0x9B, 0x58, 0x6F, 0x0C, 0x23, 0x58, 0x6F, 0x24, 0x3B, 0x58, 0x6F, 0x3C, 0x53
.byte 0x58, 0x6F, 0x54, 0x6B, 0x58, 0x6F, 0x6C, 0x83, 0x58, 0x6F, 0x84, 0x9B, 0x70, 0x87, 0x0C, 0x23
.byte 0x70, 0x87, 0x24, 0x3B, 0x70, 0x87, 0x3C, 0x53, 0x70, 0x87, 0x54, 0x6B, 0x70, 0x87, 0x6C, 0x83
.byte 0x70, 0x87, 0x84, 0x9B, 0x88, 0x9F, 0x0C, 0x23, 0x88, 0x9F, 0x24, 0x3B, 0x88, 0x9F, 0x3C, 0x53
.byte 0x88, 0x9F, 0x54, 0x6B, 0x88, 0x9F, 0x6C, 0x83, 0x88, 0x9F, 0x84, 0x9B, 0x11, 0x27, 0x1A, 0x8D
.byte 0x11, 0x26, 0x01, 0x16, 0x11, 0x26, 0x91, 0xA6, 0xA8, 0xBF, 0x00, 0x57, 0xA8, 0xBF, 0x60, 0xB7
.byte 0xA8, 0xBF, 0xC0, 0xFF, 0x88, 0x9F, 0xA8, 0xFF, 0xA8, 0xBF, 0xC0, 0xFF, 0xFF, 0x00, 0x00, 0x00
.byte 0x28, 0x3F, 0x0C, 0x23, 0x28, 0x3F, 0x24, 0x3B, 0x28, 0x3F, 0x3C, 0x53, 0x28, 0x3F, 0x54, 0x6B
.byte 0x28, 0x3F, 0x6C, 0x83, 0x28, 0x3F, 0x84, 0x9B, 0x40, 0x57, 0x0C, 0x23, 0x40, 0x57, 0x24, 0x3B
.byte 0x40, 0x57, 0x3C, 0x53, 0x40, 0x57, 0x54, 0x6B, 0x40, 0x57, 0x6C, 0x83, 0x40, 0x57, 0x84, 0x9B
.byte 0x58, 0x6F, 0x0C, 0x23, 0x58, 0x6F, 0x24, 0x3B, 0x58, 0x6F, 0x3C, 0x53, 0x58, 0x6F, 0x54, 0x6B
.byte 0x58, 0x6F, 0x6C, 0x83, 0x58, 0x6F, 0x84, 0x9B, 0x70, 0x87, 0x0C, 0x23, 0x70, 0x87, 0x24, 0x3B
.byte 0x70, 0x87, 0x3C, 0x53, 0x70, 0x87, 0x54, 0x6B, 0x70, 0x87, 0x6C, 0x83, 0x70, 0x87, 0x84, 0x9B
.byte 0x88, 0x9F, 0x0C, 0x23, 0x88, 0x9F, 0x24, 0x3B, 0x88, 0x9F, 0x3C, 0x53, 0x88, 0x9F, 0x54, 0x6B
.byte 0x88, 0x9F, 0x6C, 0x83, 0x88, 0x9F, 0x84, 0x9B, 0x11, 0x27, 0x1A, 0x8D, 0x11, 0x26, 0x01, 0x16
.byte 0x11, 0x26, 0x91, 0xA6, 0xA8, 0xBF, 0xC0, 0xFF, 0x40, 0x57, 0xA8, 0xFF, 0x58, 0x6F, 0xA8, 0xFF
.byte 0x70, 0x87, 0xA8, 0xFF, 0x88, 0x9F, 0xA8, 0xFF, 0xA8, 0xBF, 0xC0, 0xFF, 0xFF, 0x00, 0x00, 0x00
.byte 0x28, 0x3F, 0x0C, 0x23, 0x28, 0x3F, 0x24, 0x3B, 0x28, 0x3F, 0x3C, 0x53, 0x28, 0x3F, 0x54, 0x6B
.byte 0x28, 0x3F, 0x6C, 0x83, 0x28, 0x3F, 0x84, 0x9B, 0x40, 0x57, 0x0C, 0x23, 0x40, 0x57, 0x24, 0x3B
.byte 0x40, 0x57, 0x3C, 0x53, 0x40, 0x57, 0x54, 0x6B, 0x40, 0x57, 0x6C, 0x83, 0x40, 0x57, 0x84, 0x9B
.byte 0x58, 0x6F, 0x0C, 0x23, 0x58, 0x6F, 0x24, 0x3B, 0x58, 0x6F, 0x3C, 0x53, 0x58, 0x6F, 0x54, 0x6B
.byte 0x58, 0x6F, 0x6C, 0x83, 0x58, 0x6F, 0x84, 0x9B, 0x70, 0x87, 0x0C, 0x23, 0x70, 0x87, 0x24, 0x3B
.byte 0x70, 0x87, 0x3C, 0x53, 0x70, 0x87, 0x54, 0x6B, 0x70, 0x87, 0x6C, 0x83, 0x70, 0x87, 0x84, 0x9B
.byte 0x88, 0x9F, 0x0C, 0x23, 0x88, 0x9F, 0x24, 0x3B, 0x88, 0x9F, 0x3C, 0x53, 0x88, 0x9F, 0x54, 0x6B
.byte 0x88, 0x9F, 0x6C, 0x83, 0x88, 0x9F, 0x84, 0x9B, 0x11, 0x27, 0x1A, 0x8D, 0x11, 0x26, 0x01, 0x16
.byte 0x11, 0x26, 0x91, 0xA6, 0xA8, 0xBF, 0x00, 0x57, 0xA8, 0xBF, 0x60, 0xB7, 0xA8, 0xBF, 0xC0, 0xFF
.byte 0x28, 0x3F, 0xA8, 0xFF, 0x40, 0x57, 0xA8, 0xFF, 0x58, 0x6F, 0xA8, 0xFF, 0x70, 0x87, 0xA8, 0xFF
.byte 0x88, 0x9F, 0xA8, 0xFF, 0xA8, 0xBF, 0xC0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x28, 0x3F, 0x0C, 0x23
.byte 0x28, 0x3F, 0x24, 0x3B, 0x28, 0x3F, 0x3C, 0x53, 0x28, 0x3F, 0x54, 0x6B, 0x28, 0x3F, 0x6C, 0x83
.byte 0x28, 0x3F, 0x84, 0x9B, 0x40, 0x57, 0x0C, 0x23, 0x40, 0x57, 0x24, 0x3B, 0x40, 0x57, 0x3C, 0x53
.byte 0x40, 0x57, 0x54, 0x6B, 0x40, 0x57, 0x6C, 0x83, 0x40, 0x57, 0x84, 0x9B, 0x58, 0x6F, 0x0C, 0x23
.byte 0x58, 0x6F, 0x24, 0x3B, 0x58, 0x6F, 0x3C, 0x53, 0x58, 0x6F, 0x54, 0x6B, 0x58, 0x6F, 0x6C, 0x83
.byte 0x58, 0x6F, 0x84, 0x9B, 0x70, 0x87, 0x0C, 0x23, 0x70, 0x87, 0x24, 0x3B, 0x70, 0x87, 0x3C, 0x53
.byte 0x70, 0x87, 0x54, 0x6B, 0x70, 0x87, 0x6C, 0x83, 0x70, 0x87, 0x84, 0x9B, 0x88, 0x9F, 0x0C, 0x23
.byte 0x88, 0x9F, 0x24, 0x3B, 0x88, 0x9F, 0x3C, 0x53, 0x88, 0x9F, 0x54, 0x6B, 0x88, 0x9F, 0x6C, 0x83
.byte 0x88, 0x9F, 0x84, 0x9B, 0x38, 0x4F, 0xB6, 0xCD, 0x40, 0x57, 0xDA, 0xF1, 0x58, 0x6F, 0xB6, 0xCD
.byte 0x60, 0x77, 0xDA, 0xF1, 0x78, 0x8F, 0xB6, 0xCD, 0x80, 0x97, 0xDA, 0xF1, 0xA2, 0xBD, 0xB2, 0xF5
.byte 0x0F, 0x26, 0x1F, 0x36, 0x0F, 0x26, 0x41, 0x58, 0x0F, 0x26, 0x63, 0x7A, 0x0F, 0x26, 0x85, 0x9C
.byte 0x0F, 0x26, 0xA7, 0xBE, 0x0F, 0x26, 0xC9, 0xE0, 0x0F, 0x26, 0x01, 0x16, 0x0F, 0x26, 0xE9, 0xFE
.byte 0xA8, 0xBF, 0x00, 0x87, 0xFF, 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x00, 0x1E, 0x06, 0x05, 0x01
.byte 0x30, 0x24, 0x00, 0x00, 0x1E, 0x07, 0x00, 0x02, 0x48, 0x24, 0x00, 0x00, 0x1E, 0x08, 0x01, 0x03
.byte 0x60, 0x24, 0x00, 0x00, 0x1E, 0x09, 0x02, 0x04, 0x78, 0x24, 0x00, 0x00, 0x1E, 0x0A, 0x03, 0x05
.byte 0x90, 0x24, 0x00, 0x00, 0x1E, 0x0B, 0x04, 0x00, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x0C, 0x0B, 0x07
.byte 0x30, 0x3C, 0x00, 0x00, 0x01, 0x0D, 0x06, 0x08, 0x48, 0x3C, 0x00, 0x00, 0x02, 0x0E, 0x07, 0x09
.byte 0x60, 0x3C, 0x00, 0x00, 0x03, 0x0F, 0x08, 0x0A, 0x78, 0x3C, 0x00, 0x00, 0x04, 0x10, 0x09, 0x0B
.byte 0x90, 0x3C, 0x00, 0x00, 0x05, 0x11, 0x0A, 0x06, 0x18, 0x54, 0x00, 0x00, 0x06, 0x12, 0x11, 0x0D
.byte 0x30, 0x54, 0x00, 0x00, 0x07, 0x13, 0x0C, 0x0E, 0x48, 0x54, 0x00, 0x00, 0x08, 0x14, 0x0D, 0x0F
.byte 0x60, 0x54, 0x00, 0x00, 0x09, 0x15, 0x0E, 0x10, 0x78, 0x54, 0x00, 0x00, 0x0A, 0x16, 0x0F, 0x11
.byte 0x90, 0x54, 0x00, 0x00, 0x0B, 0x17, 0x10, 0x0C, 0x18, 0x6C, 0x00, 0x00, 0x0C, 0x18, 0x17, 0x13
.byte 0x30, 0x6C, 0x00, 0x00, 0x0D, 0x19, 0x12, 0x14, 0x48, 0x6C, 0x00, 0x00, 0x0E, 0x1A, 0x13, 0x15
.byte 0x60, 0x6C, 0x00, 0x00, 0x0F, 0x1B, 0x14, 0x16, 0x78, 0x6C, 0x00, 0x00, 0x10, 0x1C, 0x15, 0x17
.byte 0x90, 0x6C, 0x00, 0x00, 0x11, 0x1D, 0x16, 0x12, 0x18, 0x84, 0x00, 0x00, 0x12, 0xA1, 0x1D, 0x19
.byte 0x30, 0x84, 0x00, 0x00, 0x13, 0xA1, 0x18, 0x1A, 0x48, 0x84, 0x00, 0x00, 0x14, 0xA1, 0x19, 0x1B
.byte 0x60, 0x84, 0x00, 0x00, 0x15, 0xA1, 0x1A, 0x1C, 0x78, 0x84, 0x00, 0x00, 0x16, 0xA1, 0x1B, 0x1D
.byte 0x90, 0x84, 0x00, 0x00, 0x17, 0xA1, 0x1C, 0x18, 0x54, 0x10, 0x00, 0x00, 0x21, 0x80, 0x1E, 0x1E
.byte 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20
.byte 0x2C, 0xA8, 0x00, 0x00, 0x98, 0x1E, 0x21, 0x22, 0x8C, 0xA8, 0x00, 0x00, 0x98, 0x1E, 0x21, 0x23
.byte 0xE0, 0xA8, 0x00, 0x00, 0x98, 0x1E, 0x22, 0x23, 0xD4, 0x88, 0x00, 0x00, 0x25, 0x25, 0x24, 0x24
.byte 0xE0, 0xA8, 0x00, 0x00, 0x24, 0x24, 0x25, 0x25, 0x18, 0x24, 0x00, 0x00, 0x1E, 0x06, 0x05, 0x01
.byte 0x30, 0x24, 0x00, 0x00, 0x1E, 0x07, 0x00, 0x02, 0x48, 0x24, 0x00, 0x00, 0x1E, 0x08, 0x01, 0x03
.byte 0x60, 0x24, 0x00, 0x00, 0x1E, 0x09, 0x02, 0x04, 0x78, 0x24, 0x00, 0x00, 0x1E, 0x0A, 0x03, 0x05
.byte 0x90, 0x24, 0x00, 0x00, 0x1E, 0x0B, 0x04, 0x00, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x0C, 0x0B, 0x07
.byte 0x30, 0x3C, 0x00, 0x00, 0x01, 0x0D, 0x06, 0x08, 0x48, 0x3C, 0x00, 0x00, 0x02, 0x0E, 0x07, 0x09
.byte 0x60, 0x3C, 0x00, 0x00, 0x03, 0x0F, 0x08, 0x0A, 0x78, 0x3C, 0x00, 0x00, 0x04, 0x10, 0x09, 0x0B
.byte 0x90, 0x3C, 0x00, 0x00, 0x05, 0x11, 0x0A, 0x06, 0x18, 0x54, 0x00, 0x00, 0x06, 0x12, 0x11, 0x0D
.byte 0x30, 0x54, 0x00, 0x00, 0x07, 0x13, 0x0C, 0x0E, 0x48, 0x54, 0x00, 0x00, 0x08, 0x14, 0x0D, 0x0F
.byte 0x60, 0x54, 0x00, 0x00, 0x09, 0x15, 0x0E, 0x10, 0x78, 0x54, 0x00, 0x00, 0x0A, 0x16, 0x0F, 0x11
.byte 0x90, 0x54, 0x00, 0x00, 0x0B, 0x17, 0x10, 0x0C, 0x18, 0x6C, 0x00, 0x00, 0x0C, 0x18, 0x17, 0x13
.byte 0x30, 0x6C, 0x00, 0x00, 0x0D, 0x19, 0x12, 0x14, 0x48, 0x6C, 0x00, 0x00, 0x0E, 0x1A, 0x13, 0x15
.byte 0x60, 0x6C, 0x00, 0x00, 0x0F, 0x1B, 0x14, 0x16, 0x78, 0x6C, 0x00, 0x00, 0x10, 0x1C, 0x15, 0x17
.byte 0x90, 0x6C, 0x00, 0x00, 0x11, 0x1D, 0x16, 0x12, 0x18, 0x84, 0x00, 0x00, 0x12, 0x21, 0x1D, 0x19
.byte 0x30, 0x84, 0x00, 0x00, 0x13, 0x21, 0x18, 0x1A, 0x48, 0x84, 0x00, 0x00, 0x14, 0x21, 0x19, 0x1B
.byte 0x60, 0x84, 0x00, 0x00, 0x15, 0x21, 0x1A, 0x1C, 0x78, 0x84, 0x00, 0x00, 0x16, 0x21, 0x1B, 0x1D
.byte 0x90, 0x84, 0x00, 0x00, 0x17, 0x21, 0x1C, 0x18, 0x54, 0x10, 0x00, 0x00, 0x21, 0x80, 0x1E, 0x1E
.byte 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20
.byte 0xE0, 0xA8, 0x00, 0x00, 0x98, 0x1E, 0x21, 0x21, 0xD4, 0x40, 0x00, 0x00, 0x26, 0x23, 0x22, 0x22
.byte 0xD4, 0x58, 0x00, 0x00, 0x22, 0x24, 0x23, 0x23, 0xD4, 0x70, 0x00, 0x00, 0x23, 0x25, 0x24, 0x24
.byte 0xD4, 0x88, 0x00, 0x00, 0x24, 0x26, 0x25, 0x25, 0xE0, 0xA8, 0x00, 0x00, 0x25, 0x22, 0x26, 0x26
.byte 0x18, 0x24, 0x00, 0x00, 0x1E, 0x06, 0x05, 0x01, 0x30, 0x24, 0x00, 0x00, 0x1E, 0x07, 0x00, 0x02
.byte 0x48, 0x24, 0x00, 0x00, 0x1E, 0x08, 0x01, 0x03, 0x60, 0x24, 0x00, 0x00, 0x1E, 0x09, 0x02, 0x04
.byte 0x78, 0x24, 0x00, 0x00, 0x1E, 0x0A, 0x03, 0x05, 0x90, 0x24, 0x00, 0x00, 0x1E, 0x0B, 0x04, 0x00
.byte 0x18, 0x3C, 0x00, 0x00, 0x00, 0x0C, 0x0B, 0x07, 0x30, 0x3C, 0x00, 0x00, 0x01, 0x0D, 0x06, 0x08
.byte 0x48, 0x3C, 0x00, 0x00, 0x02, 0x0E, 0x07, 0x09, 0x60, 0x3C, 0x00, 0x00, 0x03, 0x0F, 0x08, 0x0A
.byte 0x78, 0x3C, 0x00, 0x00, 0x04, 0x10, 0x09, 0x0B, 0x90, 0x3C, 0x00, 0x00, 0x05, 0x11, 0x0A, 0x06
.byte 0x18, 0x54, 0x00, 0x00, 0x06, 0x12, 0x11, 0x0D, 0x30, 0x54, 0x00, 0x00, 0x07, 0x13, 0x0C, 0x0E
.byte 0x48, 0x54, 0x00, 0x00, 0x08, 0x14, 0x0D, 0x0F, 0x60, 0x54, 0x00, 0x00, 0x09, 0x15, 0x0E, 0x10
.byte 0x78, 0x54, 0x00, 0x00, 0x0A, 0x16, 0x0F, 0x11, 0x90, 0x54, 0x00, 0x00, 0x0B, 0x17, 0x10, 0x0C
.byte 0x18, 0x6C, 0x00, 0x00, 0x0C, 0x18, 0x17, 0x13, 0x30, 0x6C, 0x00, 0x00, 0x0D, 0x19, 0x12, 0x14
.byte 0x48, 0x6C, 0x00, 0x00, 0x0E, 0x1A, 0x13, 0x15, 0x60, 0x6C, 0x00, 0x00, 0x0F, 0x1B, 0x14, 0x16
.byte 0x78, 0x6C, 0x00, 0x00, 0x10, 0x1C, 0x15, 0x17, 0x90, 0x6C, 0x00, 0x00, 0x11, 0x1D, 0x16, 0x12
.byte 0x18, 0x84, 0x00, 0x00, 0x12, 0xA1, 0x1D, 0x19, 0x30, 0x84, 0x00, 0x00, 0x13, 0xA1, 0x18, 0x1A
.byte 0x48, 0x84, 0x00, 0x00, 0x14, 0xA1, 0x19, 0x1B, 0x60, 0x84, 0x00, 0x00, 0x15, 0xA1, 0x1A, 0x1C
.byte 0x78, 0x84, 0x00, 0x00, 0x16, 0xA1, 0x1B, 0x1D, 0x90, 0x84, 0x00, 0x00, 0x17, 0xA1, 0x1C, 0x18
.byte 0x54, 0x10, 0x00, 0x00, 0x21, 0x80, 0x1E, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x1F
.byte 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x2C, 0xA8, 0x00, 0x00, 0x98, 0x1E, 0x21, 0x22
.byte 0x8C, 0xA8, 0x00, 0x00, 0x98, 0x1E, 0x21, 0x23, 0xE0, 0xA8, 0x00, 0x00, 0x98, 0x1E, 0x22, 0x23
.byte 0xD4, 0x28, 0x00, 0x00, 0x29, 0x25, 0x24, 0x24, 0xD4, 0x40, 0x00, 0x00, 0x24, 0x26, 0x25, 0x25
.byte 0xD4, 0x58, 0x00, 0x00, 0x25, 0x27, 0x26, 0x26, 0xD4, 0x70, 0x00, 0x00, 0x26, 0x28, 0x27, 0x27
.byte 0xD4, 0x88, 0x00, 0x00, 0x27, 0x29, 0x28, 0x28, 0xE0, 0xA8, 0x00, 0x00, 0x28, 0x24, 0x29, 0x29
.byte 0x18, 0x24, 0x00, 0x00, 0x25, 0x06, 0x1F, 0x01, 0x30, 0x24, 0x00, 0x00, 0x25, 0x07, 0x00, 0x02
.byte 0x48, 0x24, 0x00, 0x00, 0x25, 0x08, 0x01, 0x03, 0x60, 0x24, 0x00, 0x00, 0x25, 0x09, 0x02, 0x04
.byte 0x78, 0x24, 0x00, 0x00, 0x25, 0x0A, 0x03, 0x05, 0x90, 0x24, 0x00, 0x00, 0x25, 0x0B, 0x04, 0x9E
.byte 0x18, 0x3C, 0x00, 0x00, 0x00, 0x0C, 0x1F, 0x07, 0x30, 0x3C, 0x00, 0x00, 0x01, 0x0D, 0x06, 0x08
.byte 0x48, 0x3C, 0x00, 0x00, 0x02, 0x0E, 0x07, 0x09, 0x60, 0x3C, 0x00, 0x00, 0x03, 0x0F, 0x08, 0x0A
.byte 0x78, 0x3C, 0x00, 0x00, 0x04, 0x10, 0x09, 0x0B, 0x90, 0x3C, 0x00, 0x00, 0x05, 0x11, 0x0A, 0x9E
.byte 0x18, 0x54, 0x00, 0x00, 0x06, 0x12, 0x21, 0x0D, 0x30, 0x54, 0x00, 0x00, 0x07, 0x13, 0x0C, 0x0E
.byte 0x48, 0x54, 0x00, 0x00, 0x08, 0x14, 0x0D, 0x0F, 0x60, 0x54, 0x00, 0x00, 0x09, 0x15, 0x0E, 0x10
.byte 0x78, 0x54, 0x00, 0x00, 0x0A, 0x16, 0x0F, 0x11, 0x90, 0x54, 0x00, 0x00, 0x0B, 0x17, 0x10, 0xA0
.byte 0x18, 0x6C, 0x00, 0x00, 0x0C, 0x18, 0x21, 0x13, 0x30, 0x6C, 0x00, 0x00, 0x0D, 0x19, 0x12, 0x14
.byte 0x48, 0x6C, 0x00, 0x00, 0x0E, 0x1A, 0x13, 0x15, 0x60, 0x6C, 0x00, 0x00, 0x0F, 0x1B, 0x14, 0x16
.byte 0x78, 0x6C, 0x00, 0x00, 0x10, 0x1C, 0x15, 0x17, 0x90, 0x6C, 0x00, 0x00, 0x11, 0x1D, 0x16, 0xA2
.byte 0x18, 0x84, 0x00, 0x00, 0x12, 0x25, 0x23, 0x19, 0x30, 0x84, 0x00, 0x00, 0x13, 0x25, 0x18, 0x1A
.byte 0x48, 0x84, 0x00, 0x00, 0x14, 0x25, 0x19, 0x1B, 0x60, 0x84, 0x00, 0x00, 0x15, 0x25, 0x1A, 0x1C
.byte 0x78, 0x84, 0x00, 0x00, 0x16, 0x25, 0x1B, 0x1D, 0x90, 0x84, 0x00, 0x00, 0x17, 0x25, 0x1C, 0xA2
.byte 0xC0, 0x34, 0x00, 0x00, 0x25, 0x20, 0x85, 0x1F, 0xE8, 0x3C, 0x00, 0x00, 0x25, 0x21, 0x1E, 0x80
.byte 0xC0, 0x54, 0x00, 0x00, 0x1E, 0x22, 0x91, 0x21, 0xE8, 0x5C, 0x00, 0x00, 0x1F, 0x23, 0x20, 0x8C
.byte 0xC0, 0x74, 0x00, 0x00, 0x20, 0x24, 0x97, 0x23, 0xE8, 0x7C, 0x00, 0x00, 0x21, 0x24, 0x22, 0x98
.byte 0xD4, 0xA2, 0x00, 0x00, 0xA3, 0x25, 0x24, 0x24, 0x2B, 0x17, 0x00, 0x00, 0x18, 0x80, 0x2A, 0x26
.byte 0x4D, 0x17, 0x00, 0x00, 0x18, 0x80, 0x25, 0x27, 0x6F, 0x17, 0x00, 0x00, 0x18, 0x80, 0x26, 0x28
.byte 0x91, 0x17, 0x00, 0x00, 0x18, 0x80, 0x27, 0x29, 0xB3, 0x17, 0x00, 0x00, 0x18, 0x80, 0x28, 0x2A
.byte 0xD5, 0x17, 0x00, 0x00, 0x18, 0x80, 0x29, 0x25, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x2B, 0x2B, 0x2B
.byte 0x00, 0x00, 0x00, 0x00, 0x2C, 0x2C, 0x2C, 0x2C, 0x44, 0xA8, 0x00, 0x00, 0x2D, 0x2D, 0x2D, 0x2D