pokeheartgold/asm/overlay_70.s
2023-07-12 00:55:43 +01:00

28384 lines
528 KiB
ArmAsm

#include "config.h"
#include "constants/pokemon.h"
.include "asm/macros.inc"
.include "overlay_70.inc"
.include "global.inc"
.text
thumb_func_start ov70_022378C0
ov70_022378C0: ; 0x022378C0
push {r3, r4}
ldr r3, _022378D8 ; =_02246800
mov r4, #1
str r4, [r3]
mov r4, #0
str r4, [r3, #4]
str r0, [r3, #8]
str r1, [r3, #0xc]
str r2, [r3, #0x10]
pop {r3, r4}
bx lr
nop
_022378D8: .word _02246800
thumb_func_end ov70_022378C0
thumb_func_start ov70_022378DC
ov70_022378DC: ; 0x022378DC
push {r3, lr}
ldr r1, _02237BC0 ; =_02246800
ldr r0, [r1]
cmp r0, #0x18
bls _022378E8
b _02237F24
_022378E8:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022378F4: ; jump table
.short _02237F24 - _022378F4 - 2 ; case 0
.short _02237F24 - _022378F4 - 2 ; case 1
.short _02237926 - _022378F4 - 2 ; case 2
.short _02237F18 - _022378F4 - 2 ; case 3
.short _022379D4 - _022378F4 - 2 ; case 4
.short _02237F18 - _022378F4 - 2 ; case 5
.short _02237A5A - _022378F4 - 2 ; case 6
.short _02237F18 - _022378F4 - 2 ; case 7
.short _02237ADA - _022378F4 - 2 ; case 8
.short _02237F18 - _022378F4 - 2 ; case 9
.short _02237B6E - _022378F4 - 2 ; case 10
.short _02237F18 - _022378F4 - 2 ; case 11
.short _02237BEC - _022378F4 - 2 ; case 12
.short _02237F18 - _022378F4 - 2 ; case 13
.short _02237C72 - _022378F4 - 2 ; case 14
.short _02237F18 - _022378F4 - 2 ; case 15
.short _02237CEA - _022378F4 - 2 ; case 16
.short _02237F18 - _022378F4 - 2 ; case 17
.short _02237DBC - _022378F4 - 2 ; case 18
.short _02237F18 - _022378F4 - 2 ; case 19
.short _02237E10 - _022378F4 - 2 ; case 20
.short _02237F18 - _022378F4 - 2 ; case 21
.short _02237E80 - _022378F4 - 2 ; case 22
.short _02237F18 - _022378F4 - 2 ; case 23
.short _02237F24 - _022378F4 - 2 ; case 24
_02237926:
bl ov38_0221BF48
cmp r0, #1
beq _02237934
cmp r0, #7
beq _0223794C
pop {r3, pc}
_02237934:
ldr r0, _02237BC0 ; =_02246800
mov r1, #0x18
str r1, [r0]
bl ov38_0221C014
bl ov70_02238398
ldr r1, _02237BC0 ; =_02246800
str r0, [r1, #4]
bl ov38_0221BFEC
pop {r3, pc}
_0223794C:
ldr r0, _02237BC0 ; =_02246800
mov r1, #0x18
ldr r2, _02237BC4 ; =ov70_02246920
str r1, [r0]
ldrb r2, [r2, #0x1c]
cmp r2, #0xe
bhi _022379C6
add r2, r2, r2
add r2, pc
ldrh r2, [r2, #6]
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
_02237966: ; jump table
.short _022379C6 - _02237966 - 2 ; case 0
.short _02237984 - _02237966 - 2 ; case 1
.short _0223798A - _02237966 - 2 ; case 2
.short _02237990 - _02237966 - 2 ; case 3
.short _022379C6 - _02237966 - 2 ; case 4
.short _022379C6 - _02237966 - 2 ; case 5
.short _022379C6 - _02237966 - 2 ; case 6
.short _02237996 - _02237966 - 2 ; case 7
.short _022379A8 - _02237966 - 2 ; case 8
.short _022379AE - _02237966 - 2 ; case 9
.short _022379B4 - _02237966 - 2 ; case 10
.short _022379BA - _02237966 - 2 ; case 11
.short _0223799C - _02237966 - 2 ; case 12
.short _022379A2 - _02237966 - 2 ; case 13
.short _022379C0 - _02237966 - 2 ; case 14
_02237984:
mov r1, #0
str r1, [r0, #4]
b _022379CE
_0223798A:
sub r1, #0x1d
str r1, [r0, #4]
b _022379CE
_02237990:
sub r1, #0x1c
str r1, [r0, #4]
b _022379CE
_02237996:
sub r1, #0x19
str r1, [r0, #4]
b _022379CE
_0223799C:
sub r1, #0x1e
str r1, [r0, #4]
b _022379CE
_022379A2:
sub r1, #0x1f
str r1, [r0, #4]
b _022379CE
_022379A8:
sub r1, #0x20
str r1, [r0, #4]
b _022379CE
_022379AE:
sub r1, #0x21
str r1, [r0, #4]
b _022379CE
_022379B4:
sub r1, #0x22
str r1, [r0, #4]
b _022379CE
_022379BA:
sub r1, #0x23
str r1, [r0, #4]
b _022379CE
_022379C0:
sub r1, #0x1a
str r1, [r0, #4]
b _022379CE
_022379C6:
mov r1, #0xc
ldr r0, _02237BC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
_022379CE:
bl ov38_0221BFEC
pop {r3, pc}
_022379D4:
bl ov38_0221BF48
cmp r0, #1
beq _022379E2
cmp r0, #7
beq _022379FA
pop {r3, pc}
_022379E2:
ldr r0, _02237BC0 ; =_02246800
mov r1, #0x18
str r1, [r0]
bl ov38_0221C014
bl ov70_02238398
ldr r1, _02237BC0 ; =_02246800
str r0, [r1, #4]
bl ov38_0221BFEC
pop {r3, pc}
_022379FA:
ldr r0, _02237BC0 ; =_02246800
mov r2, #0x18
ldr r1, _02237BC4 ; =ov70_02246920
str r2, [r0]
ldrb r1, [r1, #0x1c]
cmp r1, #5
bgt _02237A24
cmp r1, #0
blt _02237A4C
add r3, r1, r1
add r3, pc
ldrh r3, [r3, #6]
lsl r3, r3, #0x10
asr r3, r3, #0x10
add pc, r3
_02237A18: ; jump table
.short _02237A4C - _02237A18 - 2 ; case 0
.short _02237A2A - _02237A18 - 2 ; case 1
.short _02237A30 - _02237A18 - 2 ; case 2
.short _02237A36 - _02237A18 - 2 ; case 3
.short _02237A4C - _02237A18 - 2 ; case 4
.short _02237A3C - _02237A18 - 2 ; case 5
_02237A24:
cmp r1, #0xe
beq _02237A42
b _02237A4C
_02237A2A:
mov r1, #0
str r1, [r0, #4]
b _02237A54
_02237A30:
sub r2, #0x1d
str r2, [r0, #4]
b _02237A54
_02237A36:
sub r2, #0x1c
str r2, [r0, #4]
b _02237A54
_02237A3C:
sub r2, #0x1b
str r2, [r0, #4]
b _02237A54
_02237A42:
mov r1, #1
ldr r0, _02237BC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237A54
_02237A4C:
mov r1, #0xc
ldr r0, _02237BC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
_02237A54:
bl ov38_0221BFEC
pop {r3, pc}
_02237A5A:
bl ov38_0221BF48
cmp r0, #1
beq _02237A68
cmp r0, #7
beq _02237A80
pop {r3, pc}
_02237A68:
ldr r0, _02237BC0 ; =_02246800
mov r1, #0x18
str r1, [r0]
bl ov38_0221C014
bl ov70_02238398
ldr r1, _02237BC0 ; =_02246800
str r0, [r1, #4]
bl ov38_0221BFEC
pop {r3, pc}
_02237A80:
ldr r0, _02237BC0 ; =_02246800
mov r1, #0x18
str r1, [r0]
bl ov38_0221C020
mov r1, #0x49
lsl r1, r1, #2
cmp r0, r1
bne _02237A9A
ldr r0, _02237BC0 ; =_02246800
mov r1, #0
str r1, [r0, #4]
b _02237AD4
_02237A9A:
ldr r0, _02237BC8 ; =ov70_02246900
ldr r0, [r0, #0x40]
ldrb r0, [r0]
cmp r0, #3
beq _02237AB8
cmp r0, #5
beq _02237AAE
cmp r0, #0xe
beq _02237AC2
b _02237ACC
_02237AAE:
mov r1, #2
ldr r0, _02237BC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237AD4
_02237AB8:
mov r1, #3
ldr r0, _02237BC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237AD4
_02237AC2:
mov r1, #1
ldr r0, _02237BC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237AD4
_02237ACC:
mov r1, #0xc
ldr r0, _02237BC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
_02237AD4:
bl ov38_0221BFEC
pop {r3, pc}
_02237ADA:
bl ov38_0221BF48
cmp r0, #1
beq _02237AE8
cmp r0, #7
beq _02237B00
pop {r3, pc}
_02237AE8:
ldr r0, _02237BC0 ; =_02246800
mov r1, #0x18
str r1, [r0]
bl ov38_0221C014
bl ov70_02238398
ldr r1, _02237BC0 ; =_02246800
str r0, [r1, #4]
bl ov38_0221BFEC
pop {r3, pc}
_02237B00:
ldr r0, _02237BC0 ; =_02246800
mov r1, #0x18
str r1, [r0]
bl ov38_0221C020
mov r1, #0x49
lsl r1, r1, #2
cmp r0, r1
bne _02237B1A
ldr r0, _02237BC0 ; =_02246800
mov r1, #1
str r1, [r0, #4]
b _02237B68
_02237B1A:
ldr r0, _02237BC8 ; =ov70_02246900
ldr r0, [r0, #0x40]
ldrb r0, [r0]
cmp r0, #5
bgt _02237B34
cmp r0, #3
blt _02237B60
beq _02237B44
cmp r0, #4
beq _02237B4E
cmp r0, #5
beq _02237B3A
b _02237B60
_02237B34:
cmp r0, #0xe
beq _02237B56
b _02237B60
_02237B3A:
mov r1, #2
ldr r0, _02237BC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237B68
_02237B44:
mov r1, #3
ldr r0, _02237BC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237B68
_02237B4E:
ldr r0, _02237BC0 ; =_02246800
mov r1, #0
str r1, [r0, #4]
b _02237B68
_02237B56:
mov r1, #1
ldr r0, _02237BC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237B68
_02237B60:
mov r1, #0xc
ldr r0, _02237BC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
_02237B68:
bl ov38_0221BFEC
pop {r3, pc}
_02237B6E:
bl ov38_0221BF48
cmp r0, #1
beq _02237B7C
cmp r0, #7
beq _02237B94
pop {r3, pc}
_02237B7C:
ldr r0, _02237BC0 ; =_02246800
mov r1, #0x18
str r1, [r0]
bl ov38_0221C014
bl ov70_02238398
ldr r1, _02237BC0 ; =_02246800
str r0, [r1, #4]
bl ov38_0221BFEC
pop {r3, pc}
_02237B94:
ldr r1, _02237BC0 ; =_02246800
mov r2, #0x18
ldr r0, _02237BC4 ; =ov70_02246920
str r2, [r1]
ldrb r0, [r0, #0x1c]
cmp r0, #5
bgt _02237BB2
cmp r0, #1
blt _02237BDE
beq _02237BB8
cmp r0, #3
beq _02237BD2
cmp r0, #5
beq _02237BCC
b _02237BDE
_02237BB2:
cmp r0, #0xe
beq _02237BD8
b _02237BDE
_02237BB8:
mov r0, #0
str r0, [r1, #4]
b _02237BE6
nop
_02237BC0: .word _02246800
_02237BC4: .word ov70_02246920
_02237BC8: .word ov70_02246900
_02237BCC:
sub r2, #0x1b
str r2, [r1, #4]
b _02237BE6
_02237BD2:
sub r2, #0x1c
str r2, [r1, #4]
b _02237BE6
_02237BD8:
sub r2, #0x1a
str r2, [r1, #4]
b _02237BE6
_02237BDE:
mov r1, #0xc
ldr r0, _02237EC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
_02237BE6:
bl ov38_0221BFEC
pop {r3, pc}
_02237BEC:
bl ov38_0221BF48
cmp r0, #1
beq _02237BFA
cmp r0, #7
beq _02237C12
pop {r3, pc}
_02237BFA:
ldr r0, _02237EC0 ; =_02246800
mov r1, #0x18
str r1, [r0]
bl ov38_0221C014
bl ov70_02238398
ldr r1, _02237EC0 ; =_02246800
str r0, [r1, #4]
bl ov38_0221BFEC
pop {r3, pc}
_02237C12:
ldr r0, _02237EC0 ; =_02246800
mov r2, #0x18
ldr r1, _02237EC4 ; =ov70_02246920
str r2, [r0]
ldrb r1, [r1, #0x1c]
cmp r1, #5
bgt _02237C3C
cmp r1, #0
blt _02237C64
add r3, r1, r1
add r3, pc
ldrh r3, [r3, #6]
lsl r3, r3, #0x10
asr r3, r3, #0x10
add pc, r3
_02237C30: ; jump table
.short _02237C64 - _02237C30 - 2 ; case 0
.short _02237C42 - _02237C30 - 2 ; case 1
.short _02237C4E - _02237C30 - 2 ; case 2
.short _02237C54 - _02237C30 - 2 ; case 3
.short _02237C64 - _02237C30 - 2 ; case 4
.short _02237C48 - _02237C30 - 2 ; case 5
_02237C3C:
cmp r1, #0xe
beq _02237C5A
b _02237C64
_02237C42:
mov r1, #0
str r1, [r0, #4]
b _02237C6C
_02237C48:
sub r2, #0x1b
str r2, [r0, #4]
b _02237C6C
_02237C4E:
sub r2, #0x1d
str r2, [r0, #4]
b _02237C6C
_02237C54:
sub r2, #0x1c
str r2, [r0, #4]
b _02237C6C
_02237C5A:
mov r1, #1
ldr r0, _02237EC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237C6C
_02237C64:
mov r1, #0xc
ldr r0, _02237EC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
_02237C6C:
bl ov38_0221BFEC
pop {r3, pc}
_02237C72:
bl ov38_0221BF48
cmp r0, #1
beq _02237C80
cmp r0, #7
beq _02237C98
pop {r3, pc}
_02237C80:
ldr r0, _02237EC0 ; =_02246800
mov r1, #0x18
str r1, [r0]
bl ov38_0221C014
bl ov70_02238398
ldr r1, _02237EC0 ; =_02246800
str r0, [r1, #4]
bl ov38_0221BFEC
pop {r3, pc}
_02237C98:
ldr r0, _02237EC0 ; =_02246800
mov r1, #0x18
str r1, [r0]
bl ov38_0221C020
mov r1, #0x49
lsl r1, r1, #2
cmp r0, r1
blo _02237CBC
bl ov38_0221C020
mov r1, #0x49
lsl r1, r1, #2
bl _u32_div_f
ldr r1, _02237EC0 ; =_02246800
str r0, [r1, #4]
b _02237CE4
_02237CBC:
cmp r0, #0
bne _02237CC8
ldr r0, _02237EC0 ; =_02246800
mov r1, #0
str r1, [r0, #4]
b _02237CE4
_02237CC8:
ldr r0, _02237EC8 ; =ov70_02246900
ldr r0, [r0, #0x40]
ldrb r0, [r0]
cmp r0, #0xe
bne _02237CDC
mov r1, #1
ldr r0, _02237EC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237CE4
_02237CDC:
mov r1, #0xc
ldr r0, _02237EC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
_02237CE4:
bl ov38_0221BFEC
pop {r3, pc}
_02237CEA:
bl ov38_0221BF48
cmp r0, #1
beq _02237CF8
cmp r0, #7
beq _02237D10
pop {r3, pc}
_02237CF8:
ldr r0, _02237EC0 ; =_02246800
mov r1, #0x18
str r1, [r0]
bl ov38_0221C014
bl ov70_02238398
ldr r1, _02237EC0 ; =_02246800
str r0, [r1, #4]
bl ov38_0221BFEC
pop {r3, pc}
_02237D10:
ldr r0, _02237EC0 ; =_02246800
mov r1, #0x18
str r1, [r0]
bl ov38_0221C020
mov r1, #0x49
lsl r1, r1, #2
cmp r0, r1
bne _02237D2A
ldr r0, _02237EC0 ; =_02246800
mov r1, #0
str r1, [r0, #4]
b _02237DB6
_02237D2A:
ldr r0, _02237EC8 ; =ov70_02246900
ldr r0, [r0, #0x40]
ldrb r0, [r0]
cmp r0, #0xe
bhi _02237DAE
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237D40: ; jump table
.short _02237DAE - _02237D40 - 2 ; case 0
.short _02237DAE - _02237D40 - 2 ; case 1
.short _02237D5E - _02237D40 - 2 ; case 2
.short _02237DAE - _02237D40 - 2 ; case 3
.short _02237DAE - _02237D40 - 2 ; case 4
.short _02237DAE - _02237D40 - 2 ; case 5
.short _02237DAE - _02237D40 - 2 ; case 6
.short _02237DAE - _02237D40 - 2 ; case 7
.short _02237D7C - _02237D40 - 2 ; case 8
.short _02237D86 - _02237D40 - 2 ; case 9
.short _02237D90 - _02237D40 - 2 ; case 10
.short _02237D9A - _02237D40 - 2 ; case 11
.short _02237D68 - _02237D40 - 2 ; case 12
.short _02237D72 - _02237D40 - 2 ; case 13
.short _02237DA4 - _02237D40 - 2 ; case 14
_02237D5E:
mov r1, #4
ldr r0, _02237EC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237DB6
_02237D68:
mov r1, #5
ldr r0, _02237EC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237DB6
_02237D72:
mov r1, #6
ldr r0, _02237EC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237DB6
_02237D7C:
mov r1, #7
ldr r0, _02237EC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237DB6
_02237D86:
mov r1, #8
ldr r0, _02237EC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237DB6
_02237D90:
mov r1, #9
ldr r0, _02237EC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237DB6
_02237D9A:
mov r1, #0xa
ldr r0, _02237EC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237DB6
_02237DA4:
mov r1, #1
ldr r0, _02237EC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237DB6
_02237DAE:
mov r1, #0xc
ldr r0, _02237EC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
_02237DB6:
bl ov38_0221BFEC
pop {r3, pc}
_02237DBC:
bl ov38_0221BF48
cmp r0, #1
beq _02237DCA
cmp r0, #7
beq _02237DE2
pop {r3, pc}
_02237DCA:
ldr r0, _02237EC0 ; =_02246800
mov r1, #0x18
str r1, [r0]
bl ov38_0221C014
bl ov70_02238398
ldr r1, _02237EC0 ; =_02246800
str r0, [r1, #4]
bl ov38_0221BFEC
pop {r3, pc}
_02237DE2:
ldr r1, _02237EC0 ; =_02246800
mov r2, #0x18
ldr r0, _02237EC4 ; =ov70_02246920
str r2, [r1]
ldrb r0, [r0, #0x1c]
cmp r0, #1
beq _02237DFA
cmp r0, #2
beq _02237E06
cmp r0, #0xe
beq _02237E00
b _02237E0A
_02237DFA:
mov r0, #0
str r0, [r1, #4]
b _02237E0A
_02237E00:
sub r2, #0x1a
str r2, [r1, #4]
b _02237E0A
_02237E06:
sub r2, #0x1d
str r2, [r1, #4]
_02237E0A:
bl ov38_0221BFEC
pop {r3, pc}
_02237E10:
bl ov38_0221BF48
cmp r0, #1
beq _02237E1E
cmp r0, #7
beq _02237E36
pop {r3, pc}
_02237E1E:
ldr r0, _02237EC0 ; =_02246800
mov r1, #0x18
str r1, [r0]
bl ov38_0221C014
bl ov70_02238398
ldr r1, _02237EC0 ; =_02246800
str r0, [r1, #4]
bl ov38_0221BFEC
pop {r3, pc}
_02237E36:
ldr r1, _02237EC0 ; =_02246800
mov r2, #0x18
ldr r0, _02237EC4 ; =ov70_02246920
str r2, [r1]
ldrb r0, [r0, #0x1c]
cmp r0, #7
bgt _02237E54
cmp r0, #1
blt _02237E72
beq _02237E5A
cmp r0, #6
beq _02237E60
cmp r0, #7
beq _02237E66
b _02237E72
_02237E54:
cmp r0, #0xe
beq _02237E6C
b _02237E72
_02237E5A:
mov r0, #0
str r0, [r1, #4]
b _02237E7A
_02237E60:
mov r0, #1
str r0, [r1, #4]
b _02237E7A
_02237E66:
mov r0, #2
str r0, [r1, #4]
b _02237E7A
_02237E6C:
sub r2, #0x1a
str r2, [r1, #4]
b _02237E7A
_02237E72:
mov r1, #0xc
ldr r0, _02237EC0 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
_02237E7A:
bl ov38_0221BFEC
pop {r3, pc}
_02237E80:
bl ov38_0221BF48
cmp r0, #1
beq _02237E8E
cmp r0, #7
beq _02237EA6
pop {r3, pc}
_02237E8E:
ldr r0, _02237EC0 ; =_02246800
mov r1, #0x18
str r1, [r0]
bl ov38_0221C014
bl ov70_02238398
ldr r1, _02237EC0 ; =_02246800
str r0, [r1, #4]
bl ov38_0221BFEC
pop {r3, pc}
_02237EA6:
ldr r0, _02237EC0 ; =_02246800
mov r1, #0x18
str r1, [r0]
bl ov38_0221C020
cmp r0, #8
bne _02237EBC
ldr r0, _02237EC0 ; =_02246800
mov r1, #0
str r1, [r0, #4]
b _02237F12
_02237EBC:
ldr r0, _02237EC4 ; =ov70_02246920
b _02237ECC
.balign 4, 0
_02237EC0: .word _02246800
_02237EC4: .word ov70_02246920
_02237EC8: .word ov70_02246900
_02237ECC:
ldrb r0, [r0, #0x1c]
cmp r0, #7
bgt _02237EE2
cmp r0, #1
blt _02237F0A
beq _02237EE8
cmp r0, #6
beq _02237EF0
cmp r0, #7
beq _02237EF8
b _02237F0A
_02237EE2:
cmp r0, #0xe
beq _02237F00
b _02237F0A
_02237EE8:
ldr r0, _02237F28 ; =_02246800
mov r1, #0
str r1, [r0, #4]
b _02237F12
_02237EF0:
ldr r0, _02237F28 ; =_02246800
mov r1, #1
str r1, [r0, #4]
b _02237F12
_02237EF8:
ldr r0, _02237F28 ; =_02246800
mov r1, #2
str r1, [r0, #4]
b _02237F12
_02237F00:
mov r1, #1
ldr r0, _02237F28 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
b _02237F12
_02237F0A:
mov r1, #0xc
ldr r0, _02237F28 ; =_02246800
mvn r1, r1
str r1, [r0, #4]
_02237F12:
bl ov38_0221BFEC
pop {r3, pc}
_02237F18:
mov r0, #0x18
str r0, [r1]
sub r0, #0x24
str r0, [r1, #4]
bl ov38_0221BFEC
_02237F24:
pop {r3, pc}
nop
_02237F28: .word _02246800
thumb_func_end ov70_022378DC
thumb_func_start ov70_02237F2C
ov70_02237F2C: ; 0x02237F2C
ldr r0, _02237F34 ; =_02246800
mov r1, #0
str r1, [r0]
bx lr
.balign 4, 0
_02237F34: .word _02246800
thumb_func_end ov70_02237F2C
thumb_func_start ov70_02237F38
ov70_02237F38: ; 0x02237F38
ldr r1, _02237F54 ; =_02246800
ldr r0, [r1]
cmp r0, #1
beq _02237F46
cmp r0, #0x18
beq _02237F4A
b _02237F50
_02237F46:
mov r0, #1
bx lr
_02237F4A:
mov r0, #1
str r0, [r1]
bx lr
_02237F50:
mov r0, #0
bx lr
.balign 4, 0
_02237F54: .word _02246800
thumb_func_end ov70_02237F38
thumb_func_start ov70_02237F58
ov70_02237F58: ; 0x02237F58
ldr r0, _02237F60 ; =_02246800
ldr r0, [r0, #4]
bx lr
nop
_02237F60: .word _02246800
thumb_func_end ov70_02237F58
thumb_func_start ov70_02237F64
ov70_02237F64: ; 0x02237F64
push {r3, lr}
add r1, r0, #0
mov r2, #0x49
ldr r0, _02237FA4 ; =ov70_02246814
lsl r2, r2, #2
bl memcpy
bl ov38_0221BE84
mov r0, #2
str r0, [sp]
mov r2, #0x49
ldr r0, _02237FA8 ; =ov70_022460A0
ldr r1, _02237FA4 ; =ov70_02246814
ldr r3, _02237FAC ; =ov70_0224693C
lsl r2, r2, #2
bl ov70_02238360
cmp r0, #0
beq _02237F94
ldr r0, _02237FB0 ; =_02246800
mov r1, #2
str r1, [r0]
pop {r3, pc}
_02237F94:
ldr r0, _02237FB0 ; =_02246800
mov r1, #0x18
str r1, [r0]
sub r1, #0x25
str r1, [r0, #4]
bl ov38_0221BFEC
pop {r3, pc}
.balign 4, 0
_02237FA4: .word ov70_02246814
_02237FA8: .word ov70_022460A0
_02237FAC: .word ov70_0224693C
_02237FB0: .word _02246800
thumb_func_end ov70_02237F64
thumb_func_start ov70_02237FB4
ov70_02237FB4: ; 0x02237FB4
push {r3, lr}
ldr r0, _02237FF4 ; =ov70_0224680C
ldr r2, _02237FF8 ; =ov70_02246814
ldr r1, [r0]
ldr r0, [r0, #4]
str r1, [r2]
str r0, [r2, #4]
bl ov38_0221BE84
mov r0, #2
str r0, [sp]
ldr r0, _02237FFC ; =ov70_022460EC
ldr r1, _02237FF8 ; =ov70_02246814
ldr r3, _02238000 ; =ov70_0224693C
mov r2, #8
bl ov70_02238360
cmp r0, #0
beq _02237FE2
ldr r0, _02238004 ; =_02246800
mov r1, #4
str r1, [r0]
pop {r3, pc}
_02237FE2:
ldr r0, _02238004 ; =_02246800
mov r1, #0x18
str r1, [r0]
sub r1, #0x25
str r1, [r0, #4]
bl ov38_0221BFEC
pop {r3, pc}
nop
_02237FF4: .word ov70_0224680C
_02237FF8: .word ov70_02246814
_02237FFC: .word ov70_022460EC
_02238000: .word ov70_0224693C
_02238004: .word _02246800
thumb_func_end ov70_02237FB4
thumb_func_start ov70_02238008
ov70_02238008: ; 0x02238008
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldr r0, _02238048 ; =ov70_02246900
str r4, [r0, #0x40]
bl ov38_0221BE84
mov r0, #0x49
lsl r0, r0, #2
str r0, [sp]
ldr r0, _0223804C ; =ov70_0224613C
ldr r1, _02238050 ; =ov70_02246814
mov r2, #0
add r3, r4, #0
bl ov70_02238360
cmp r0, #0
beq _02238036
ldr r0, _02238054 ; =_02246800
mov r1, #6
str r1, [r0]
add sp, #4
pop {r3, r4, pc}
_02238036:
ldr r0, _02238054 ; =_02246800
mov r1, #0x18
str r1, [r0]
sub r1, #0x25
str r1, [r0, #4]
bl ov38_0221BFEC
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_02238048: .word ov70_02246900
_0223804C: .word ov70_0224613C
_02238050: .word ov70_02246814
_02238054: .word _02246800
thumb_func_end ov70_02238008
thumb_func_start ov70_02238058
ov70_02238058: ; 0x02238058
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldr r0, _02238098 ; =ov70_02246900
str r4, [r0, #0x40]
bl ov38_0221BE84
mov r0, #0x49
lsl r0, r0, #2
str r0, [sp]
ldr r0, _0223809C ; =ov70_02246184
ldr r1, _022380A0 ; =ov70_02246814
mov r2, #0
add r3, r4, #0
bl ov70_02238360
cmp r0, #0
beq _02238086
ldr r0, _022380A4 ; =_02246800
mov r1, #8
str r1, [r0]
add sp, #4
pop {r3, r4, pc}
_02238086:
ldr r0, _022380A4 ; =_02246800
mov r1, #0x18
str r1, [r0]
sub r1, #0x25
str r1, [r0, #4]
bl ov38_0221BFEC
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_02238098: .word ov70_02246900
_0223809C: .word ov70_02246184
_022380A0: .word ov70_02246814
_022380A4: .word _02246800
thumb_func_end ov70_02238058
thumb_func_start ov70_022380A8
ov70_022380A8: ; 0x022380A8
push {r3, lr}
bl ov38_0221BE84
mov r0, #2
str r0, [sp]
ldr r0, _022380DC ; =ov70_022461D0
ldr r1, _022380E0 ; =ov70_02246814
ldr r3, _022380E4 ; =ov70_0224693C
mov r2, #0
bl ov70_02238360
cmp r0, #0
beq _022380CA
ldr r0, _022380E8 ; =_02246800
mov r1, #0xa
str r1, [r0]
pop {r3, pc}
_022380CA:
ldr r0, _022380E8 ; =_02246800
mov r1, #0x18
str r1, [r0]
sub r1, #0x25
str r1, [r0, #4]
bl ov38_0221BFEC
pop {r3, pc}
nop
_022380DC: .word ov70_022461D0
_022380E0: .word ov70_02246814
_022380E4: .word ov70_0224693C
_022380E8: .word _02246800
thumb_func_end ov70_022380A8
thumb_func_start ov70_022380EC
ov70_022380EC: ; 0x022380EC
push {r3, lr}
bl ov38_0221BE84
mov r0, #2
str r0, [sp]
ldr r0, _02238120 ; =ov70_0224621C
ldr r1, _02238124 ; =ov70_02246814
ldr r3, _02238128 ; =ov70_0224693C
mov r2, #0
bl ov70_02238360
cmp r0, #0
beq _0223810E
ldr r0, _0223812C ; =_02246800
mov r1, #0xc
str r1, [r0]
pop {r3, pc}
_0223810E:
ldr r0, _0223812C ; =_02246800
mov r1, #0x18
str r1, [r0]
sub r1, #0x25
str r1, [r0, #4]
bl ov38_0221BFEC
pop {r3, pc}
nop
_02238120: .word ov70_0224621C
_02238124: .word ov70_02246814
_02238128: .word ov70_0224693C
_0223812C: .word _02246800
thumb_func_end ov70_022380EC
thumb_func_start ov70_02238130
ov70_02238130: ; 0x02238130
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
ldr r0, _02238194 ; =ov70_02246900
add r6, r2, #0
str r6, [r0, #0x40]
add r4, r1, #0
bl ov38_0221BE84
ldrb r0, [r5]
ldr r1, _02238198 ; =ov70_02246814
mov r2, #7
strb r0, [r1]
ldrb r0, [r5, #1]
add r3, r6, #0
strb r0, [r1, #1]
ldrb r0, [r5, #2]
strb r0, [r1, #2]
ldrb r0, [r5, #3]
strb r0, [r1, #3]
ldrb r0, [r5, #4]
strb r0, [r1, #4]
ldrb r0, [r5, #5]
strb r0, [r1, #5]
ldr r0, _0223819C ; =_02246800
strb r4, [r0, #0x1a]
mov r0, #0x49
lsl r0, r0, #2
mul r0, r4
str r0, [sp]
ldr r0, _022381A0 ; =ov70_02246268
bl ov70_02238360
cmp r0, #0
beq _02238180
ldr r0, _0223819C ; =_02246800
mov r1, #0xe
str r1, [r0]
add sp, #4
pop {r3, r4, r5, r6, pc}
_02238180:
ldr r0, _0223819C ; =_02246800
mov r1, #0x18
str r1, [r0]
sub r1, #0x25
str r1, [r0, #4]
bl ov38_0221BFEC
add sp, #4
pop {r3, r4, r5, r6, pc}
nop
_02238194: .word ov70_02246900
_02238198: .word ov70_02246814
_0223819C: .word _02246800
_022381A0: .word ov70_02246268
thumb_func_end ov70_02238130
thumb_func_start ov70_022381A4
ov70_022381A4: ; 0x022381A4
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _022381F8 ; =ov70_02246900
add r4, r1, #0
str r4, [r0, #0x40]
bl ov38_0221BE84
ldr r3, _022381FC ; =ov70_02246814
add r2, r5, #0
mov r1, #8
_022381B8:
ldrb r0, [r2]
add r2, r2, #1
strb r0, [r3]
add r3, r3, #1
sub r1, r1, #1
bne _022381B8
mov r0, #6
ldrsb r1, [r5, r0]
mov r0, #0x49
lsl r0, r0, #2
mul r0, r1
str r0, [sp]
ldr r0, _02238200 ; =ov70_02246268
ldr r1, _022381FC ; =ov70_02246814
mov r2, #8
add r3, r4, #0
bl ov70_02238360
cmp r0, #0
beq _022381E8
ldr r0, _02238204 ; =_02246800
mov r1, #0xe
str r1, [r0]
pop {r3, r4, r5, pc}
_022381E8:
ldr r0, _02238204 ; =_02246800
mov r1, #0x18
str r1, [r0]
sub r1, #0x25
str r1, [r0, #4]
bl ov38_0221BFEC
pop {r3, r4, r5, pc}
.balign 4, 0
_022381F8: .word ov70_02246900
_022381FC: .word ov70_02246814
_02238200: .word ov70_02246268
_02238204: .word _02246800
thumb_func_end ov70_022381A4
thumb_func_start ov70_02238208
ov70_02238208: ; 0x02238208
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
ldr r0, _0223825C ; =ov70_02246900
add r6, r2, #0
add r4, r1, #0
str r6, [r0, #0x40]
bl ov38_0221BE84
mov r2, #0x49
ldr r0, _02238260 ; =ov70_02246814
add r1, r4, #0
lsl r2, r2, #2
bl memcpy
ldr r0, _0223825C ; =ov70_02246900
mov r2, #0x49
str r5, [r0, #0x38]
lsl r2, r2, #2
str r2, [sp]
ldr r0, _02238264 ; =ov70_022462B4
ldr r1, _02238260 ; =ov70_02246814
add r2, r2, #4
add r3, r6, #0
bl ov70_02238360
cmp r0, #0
beq _0223824A
ldr r0, _02238268 ; =_02246800
mov r1, #0x10
str r1, [r0]
add sp, #4
pop {r3, r4, r5, r6, pc}
_0223824A:
ldr r0, _02238268 ; =_02246800
mov r1, #0x18
str r1, [r0]
sub r1, #0x25
str r1, [r0, #4]
bl ov38_0221BFEC
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_0223825C: .word ov70_02246900
_02238260: .word ov70_02246814
_02238264: .word ov70_022462B4
_02238268: .word _02246800
thumb_func_end ov70_02238208
thumb_func_start ov70_0223826C
ov70_0223826C: ; 0x0223826C
push {r3, lr}
ldr r0, _022382AC ; =ov70_0224680C
ldr r2, _022382B0 ; =ov70_02246814
ldr r1, [r0]
ldr r0, [r0, #4]
str r1, [r2]
str r0, [r2, #4]
bl ov38_0221BE84
mov r0, #2
str r0, [sp]
ldr r0, _022382B4 ; =ov70_02246304
ldr r1, _022382B0 ; =ov70_02246814
ldr r3, _022382B8 ; =ov70_0224693C
mov r2, #8
bl ov70_02238360
cmp r0, #0
beq _0223829A
ldr r0, _022382BC ; =_02246800
mov r1, #0x12
str r1, [r0]
pop {r3, pc}
_0223829A:
ldr r0, _022382BC ; =_02246800
mov r1, #0x18
str r1, [r0]
sub r1, #0x25
str r1, [r0, #4]
bl ov38_0221BFEC
pop {r3, pc}
nop
_022382AC: .word ov70_0224680C
_022382B0: .word ov70_02246814
_022382B4: .word ov70_02246304
_022382B8: .word ov70_0224693C
_022382BC: .word _02246800
thumb_func_end ov70_0223826C
thumb_func_start ov70_022382C0
ov70_022382C0: ; 0x022382C0
push {r3, lr}
bl ov38_0221BE84
mov r0, #2
str r0, [sp]
ldr r0, _022382F4 ; =ov70_02246358
ldr r1, _022382F8 ; =ov70_02246814
ldr r3, _022382FC ; =ov70_0224693C
mov r2, #0
bl ov70_02238360
cmp r0, #0
beq _022382E2
ldr r0, _02238300 ; =_02246800
mov r1, #0x14
str r1, [r0]
pop {r3, pc}
_022382E2:
ldr r0, _02238300 ; =_02246800
mov r1, #0x18
str r1, [r0]
sub r1, #0x25
str r1, [r0, #4]
bl ov38_0221BFEC
pop {r3, pc}
nop
_022382F4: .word ov70_02246358
_022382F8: .word ov70_02246814
_022382FC: .word ov70_0224693C
_02238300: .word _02246800
thumb_func_end ov70_022382C0
thumb_func_start ov70_02238304
ov70_02238304: ; 0x02238304
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x1c
add r4, r1, #0
bl OS_GetMacAddress
ldr r0, _02238350 ; =ov70_02246814
add r1, r5, #0
mov r2, #0x64
bl memcpy
ldr r0, _02238354 ; =ov70_02246900
str r4, [r0, #0x40]
bl ov38_0221BE84
mov r0, #8
str r0, [sp]
ldr r3, _02238354 ; =ov70_02246900
ldr r0, _02238358 ; =ov70_022463A4
ldr r1, _02238350 ; =ov70_02246814
ldr r3, [r3, #0x40]
mov r2, #0x64
bl ov70_02238360
cmp r0, #0
beq _02238340
ldr r0, _0223835C ; =_02246800
mov r1, #0x16
str r1, [r0]
pop {r3, r4, r5, pc}
_02238340:
ldr r0, _0223835C ; =_02246800
mov r1, #0x18
str r1, [r0]
sub r1, #0x25
str r1, [r0, #4]
bl ov38_0221BFEC
pop {r3, r4, r5, pc}
.balign 4, 0
_02238350: .word ov70_02246814
_02238354: .word ov70_02246900
_02238358: .word ov70_022463A4
_0223835C: .word _02246800
thumb_func_end ov70_02238304
thumb_func_start ov70_02238360
ov70_02238360: ; 0x02238360
push {r3, r4, r5, lr}
sub sp, #8
add r5, r1, #0
ldr r1, [sp, #0x18]
str r3, [sp]
str r1, [sp, #4]
add r4, r2, #0
ldr r1, _02238394 ; =_02246800
add r2, r5, #0
ldr r1, [r1, #8]
add r3, r4, #0
bl ov38_0221BEA8
cmp r0, #0
beq _02238386
cmp r0, #1
beq _0223838C
cmp r0, #2
b _0223838C
_02238386:
add sp, #8
mov r0, #1
pop {r3, r4, r5, pc}
_0223838C:
mov r0, #0
add sp, #8
pop {r3, r4, r5, pc}
nop
_02238394: .word _02246800
thumb_func_end ov70_02238360
thumb_func_start ov70_02238398
ov70_02238398: ; 0x02238398
push {r4, lr}
cmp r0, #0x20
bhi _02238410
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022383AA: ; jump table
.short _022383EC - _022383AA - 2 ; case 0
.short _022383EC - _022383AA - 2 ; case 1
.short _022383F2 - _022383AA - 2 ; case 2
.short _022383EC - _022383AA - 2 ; case 3
.short _022383EC - _022383AA - 2 ; case 4
.short _022383EC - _022383AA - 2 ; case 5
.short _022383EC - _022383AA - 2 ; case 6
.short _02238410 - _022383AA - 2 ; case 7
.short _022383F2 - _022383AA - 2 ; case 8
.short _022383EC - _022383AA - 2 ; case 9
.short _022383EC - _022383AA - 2 ; case 10
.short _022383F8 - _022383AA - 2 ; case 11
.short _022383FE - _022383AA - 2 ; case 12
.short _022383FE - _022383AA - 2 ; case 13
.short _022383EC - _022383AA - 2 ; case 14
.short _0223840A - _022383AA - 2 ; case 15
.short _02238404 - _022383AA - 2 ; case 16
.short _02238404 - _022383AA - 2 ; case 17
.short _02238404 - _022383AA - 2 ; case 18
.short _02238404 - _022383AA - 2 ; case 19
.short _022383EC - _022383AA - 2 ; case 20
.short _022383EC - _022383AA - 2 ; case 21
.short _022383EC - _022383AA - 2 ; case 22
.short _022383EC - _022383AA - 2 ; case 23
.short _02238410 - _022383AA - 2 ; case 24
.short _022383F2 - _022383AA - 2 ; case 25
.short _02238404 - _022383AA - 2 ; case 26
.short _02238404 - _022383AA - 2 ; case 27
.short _02238404 - _022383AA - 2 ; case 28
.short _02238404 - _022383AA - 2 ; case 29
.short _0223840A - _022383AA - 2 ; case 30
.short _02238404 - _022383AA - 2 ; case 31
.short _022383EC - _022383AA - 2 ; case 32
_022383EC:
mov r4, #0xc
mvn r4, r4
b _02238414
_022383F2:
mov r4, #0xc
mvn r4, r4
b _02238414
_022383F8:
mov r4, #0xe
mvn r4, r4
b _02238414
_022383FE:
mov r4, #0xe
mvn r4, r4
b _02238414
_02238404:
mov r4, #1
mvn r4, r4
b _02238414
_0223840A:
mov r4, #1
mvn r4, r4
b _02238414
_02238410:
mov r4, #0xc
mvn r4, r4
_02238414:
mov r0, #0xc
mvn r0, r0
cmp r4, r0
beq _0223842C
bl WCM_GetPhase
cmp r0, #9
beq _02238428
mov r4, #0xd
mvn r4, r4
_02238428:
bl ov00_021EC210
_0223842C:
add r0, r4, #0
pop {r4, pc}
thumb_func_end ov70_02238398
thumb_func_start ov70_02238430
ov70_02238430: ; 0x02238430
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r1, #0
add r6, r0, #0
ldr r0, [r5]
cmp r0, #0
beq _02238446
cmp r0, #1
bne _02238444
b _0223856E
_02238444:
b _02238582
_02238446:
mov r0, #0
add r1, r0, #0
bl Main_SetVBlankIntrCB
bl HBlankInterruptDisable
bl GX_DisableEngineALayers
bl GX_DisableEngineBLayers
mov r2, #1
lsl r2, r2, #0x1a
ldr r1, [r2]
ldr r0, _02238588 ; =0xFFFFE0FF
and r1, r0
str r1, [r2]
ldr r2, _0223858C ; =0x04001000
ldr r1, [r2]
and r0, r1
str r0, [r2]
bl ov70_02238880
mov r2, #7
mov r0, #3
mov r1, #0x3d
lsl r2, r2, #0x10
bl CreateHeap
bl LoadDwcOverlay
bl LoadOVY38
mov r0, #0x3d
bl sub_02039FD8
ldr r1, _02238590 ; =0x00001608
add r0, r6, #0
mov r2, #0x3d
bl OverlayManager_CreateAndGetData
ldr r2, _02238590 ; =0x00001608
mov r1, #0
add r4, r0, #0
bl memset
mov r0, #0x3d
bl BgConfig_Alloc
str r0, [r4, #4]
ldr r0, _02238594 ; =ov70_02246944
add r2, sp, #0
ldr r3, _02238598 ; =ov70_022451F8
str r4, [r0, #4]
add r7, r2, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
add r0, r7, #0
bl SetBothScreensModesAndDisable
mov r0, #4
mov r1, #0x3d
bl FontID_Alloc
mov r0, #0xb
mov r1, #0x40
mov r2, #0x3d
bl MessageFormat_New_Custom
ldr r1, _0223859C ; =0x00000B9C
ldr r2, _022385A0 ; =0x00000307
str r0, [r4, r1]
mov r0, #0
mov r1, #0x1b
mov r3, #0x3d
bl NewMsgDataFromNarc
mov r1, #0xba
lsl r1, r1, #4
str r0, [r4, r1]
ldr r2, _022385A4 ; =0x0000030A
mov r0, #0
mov r1, #0x1b
mov r3, #0x3d
bl NewMsgDataFromNarc
ldr r1, _022385A8 ; =0x00000BA8
mov r2, #0x32
str r0, [r4, r1]
mov r0, #0
mov r1, #0x1b
lsl r2, r2, #4
mov r3, #0x3d
bl NewMsgDataFromNarc
ldr r1, _022385AC ; =0x00000BAC
mov r2, #0xed
str r0, [r4, r1]
mov r0, #0
mov r1, #0x1b
mov r3, #0x3d
bl NewMsgDataFromNarc
ldr r1, _022385B0 ; =0x00000BA4
ldr r2, _022385B4 ; =0x0000031E
str r0, [r4, r1]
mov r0, #0
mov r1, #0x1b
mov r3, #0x3d
bl NewMsgDataFromNarc
mov r1, #0xbb
lsl r1, r1, #4
str r0, [r4, r1]
mov r0, #4
mov r1, #8
bl SetKeyRepeatTimers
add r0, r4, #0
add r1, r6, #0
bl ov70_02238818
add r0, r4, #0
bl ov70_02238E70
ldr r1, _022385B8 ; =0x0000047D
mov r0, #0xb
mov r2, #1
bl sub_02004EC4
ldr r1, _022385BC ; =0x00020020
mov r0, #0x3d
bl AllocFromHeap
str r0, [r4, #0x4c]
add r0, #0x1f
mov r1, #0x1f
bic r0, r1
mov r1, #2
lsl r1, r1, #0x10
mov r2, #0
bl NNS_FndCreateExpHeapEx
str r0, [r4, #0x50]
mov r0, #1
str r0, [r5]
b _02238582
_0223856E:
bl sub_02034D8C
mov r0, #1
bl sub_02002B8C
mov r0, #0
str r0, [r5]
add sp, #0x10
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02238582:
mov r0, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02238588: .word 0xFFFFE0FF
_0223858C: .word 0x04001000
_02238590: .word 0x00001608
_02238594: .word ov70_02246944
_02238598: .word ov70_022451F8
_0223859C: .word 0x00000B9C
_022385A0: .word 0x00000307
_022385A4: .word 0x0000030A
_022385A8: .word 0x00000BA8
_022385AC: .word 0x00000BAC
_022385B0: .word 0x00000BA4
_022385B4: .word 0x0000031E
_022385B8: .word 0x0000047D
_022385BC: .word 0x00020020
thumb_func_end ov70_02238430
thumb_func_start ov70_022385C0
ov70_022385C0: ; 0x022385C0
push {r4, r5, r6, lr}
add r5, r1, #0
bl OverlayManager_GetData
add r4, r0, #0
bl ov00_021ECB40
bl ov70_022378DC
ldr r1, [r5]
cmp r1, #5
bhi _022386BA
add r0, r1, r1
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022385E4: ; jump table
.short _022385F0 - _022385E4 - 2 ; case 0
.short _0223860C - _022385E4 - 2 ; case 1
.short _02238634 - _022385E4 - 2 ; case 2
.short _02238642 - _022385E4 - 2 ; case 3
.short _02238656 - _022385E4 - 2 ; case 4
.short _022386B6 - _022385E4 - 2 ; case 5
_022385F0:
bl sub_02034DB8
cmp r0, #0
beq _022386BA
ldr r1, [r4, #0x50]
ldr r0, _022386D8 ; =ov70_02246944
str r1, [r0]
ldr r0, _022386DC ; =ov70_02238DF8
ldr r1, _022386E0 ; =ov70_02238E20
bl ov00_021EC294
mov r0, #1
str r0, [r5]
b _022386BA
_0223860C:
ldr r3, [r4, #0x14]
mov r2, #0xc
add r6, r3, #0
mul r6, r2
ldr r2, _022386E4 ; =ov70_022463EC
add r0, r4, #0
ldr r2, [r2, r6]
blx r2
str r0, [r5]
bl ov70_02238880
mov r0, #0x45
lsl r0, r0, #2
ldr r0, [r4, r0]
cmp r0, #0
beq _022386BA
add r0, r4, #0
bl ov70_02238E98
b _022386BA
_02238634:
bl IsPaletteFadeFinished
cmp r0, #0
beq _022386BA
mov r0, #3
str r0, [r5]
b _022386BA
_02238642:
ldr r3, [r4, #0x14]
mov r2, #0xc
add r6, r3, #0
mul r6, r2
ldr r2, _022386E8 ; =ov70_022463EC + 4
add r0, r4, #0
ldr r2, [r2, r6]
blx r2
str r0, [r5]
b _022386BA
_02238656:
bl IsPaletteFadeFinished
cmp r0, #0
beq _022386BA
mov r0, #0x45
lsl r0, r0, #2
ldr r0, [r4, r0]
cmp r0, #0
beq _022386A0
add r0, r4, #0
bl ov70_02238E70
ldr r0, [r4]
ldr r0, [r0, #0x1c]
bl PlayerProfile_GetTrainerGender
add r1, r0, #0
add r0, r4, #0
bl ov70_02240D74
mov r1, #0x4a
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, r4, #0
mov r2, #0
bl ov70_02241184
add r0, r4, #0
bl ov70_02239C6C
add r0, r4, #0
bl ov70_02239CF8
mov r0, #0x45
mov r1, #0
lsl r0, r0, #2
str r1, [r4, r0]
_022386A0:
ldr r3, [r4, #0x14]
mov r2, #0xc
add r6, r3, #0
mul r6, r2
ldr r2, _022386EC ; =ov70_022463EC + 8
ldr r1, [r5]
ldr r2, [r2, r6]
add r0, r4, #0
blx r2
str r0, [r5]
b _022386BA
_022386B6:
mov r0, #1
pop {r4, r5, r6, pc}
_022386BA:
add r0, r4, #0
bl ov70_02238F04
add r0, r4, #0
bl ov70_02238F24
ldr r0, _022386F0 ; =0x00000BF4
ldr r0, [r4, r0]
cmp r0, #0
beq _022386D2
bl sub_0202457C
_022386D2:
mov r0, #0
pop {r4, r5, r6, pc}
nop
_022386D8: .word ov70_02246944
_022386DC: .word ov70_02238DF8
_022386E0: .word ov70_02238E20
_022386E4: .word ov70_022463EC
_022386E8: .word ov70_022463EC + 4
_022386EC: .word ov70_022463EC + 8
_022386F0: .word 0x00000BF4
thumb_func_end ov70_022385C0
thumb_func_start ov70_022386F4
ov70_022386F4: ; 0x022386F4
push {r3, r4, r5, lr}
add r5, r0, #0
bl OverlayManager_GetData
add r4, r0, #0
ldr r0, [r4, #0x4c]
bl FreeToHeap
bl UnloadOVY38
bl UnloadDwcOverlay
add r0, r4, #0
bl ov70_02238E98
ldr r0, _02238794 ; =0x00000BA4
ldr r0, [r4, r0]
bl DestroyMsgData
ldr r0, _02238798 ; =0x00000BAC
ldr r0, [r4, r0]
bl DestroyMsgData
ldr r0, _0223879C ; =0x00000BA8
ldr r0, [r4, r0]
bl DestroyMsgData
mov r0, #0xba
lsl r0, r0, #4
ldr r0, [r4, r0]
bl DestroyMsgData
mov r0, #0xbb
lsl r0, r0, #4
ldr r0, [r4, r0]
bl DestroyMsgData
ldr r0, _022387A0 ; =0x00000B9C
ldr r0, [r4, r0]
bl MessageFormat_Delete
add r0, r4, #0
bl ov70_0223887C
bl sub_02034DE0
mov r0, #0
bl sub_02002B8C
ldr r0, [r4, #4]
bl FreeToHeap
ldr r0, [r4]
bl FreeToHeap
add r0, r5, #0
bl OverlayManager_FreeData
mov r0, #4
bl FontID_Release
mov r2, #1
lsl r2, r2, #0x1a
ldr r1, [r2]
ldr r0, _022387A4 ; =0xFFFF1FFF
and r1, r0
str r1, [r2]
ldr r2, _022387A8 ; =0x04001000
ldr r1, [r2]
and r0, r1
str r0, [r2]
mov r0, #0
add r1, r0, #0
bl Main_SetVBlankIntrCB
mov r0, #0x3d
bl DestroyHeap
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_02238794: .word 0x00000BA4
_02238798: .word 0x00000BAC
_0223879C: .word 0x00000BA8
_022387A0: .word 0x00000B9C
_022387A4: .word 0xFFFF1FFF
_022387A8: .word 0x04001000
thumb_func_end ov70_022386F4
thumb_func_start ov70_022387AC
ov70_022387AC: ; 0x022387AC
push {r4, lr}
ldr r1, _022387E8 ; =0x00001204
add r4, r0, #0
ldr r1, [r4, r1]
cmp r1, #0
beq _022387C0
blx r1
ldr r0, _022387E8 ; =0x00001204
mov r1, #0
str r1, [r4, r0]
_022387C0:
ldr r0, _022387EC ; =0x00001208
ldr r1, [r4, r0]
cmp r1, #0
beq _022387CC
add r0, r4, #0
blx r1
_022387CC:
ldr r0, [r4, #4]
bl DoScheduledBgGpuUpdates
bl GF_RunVramTransferTasks
bl OamManager_ApplyAndResetBuffers
ldr r3, _022387F0 ; =0x027E0000
ldr r1, _022387F4 ; =0x00003FF8
mov r0, #1
ldr r2, [r3, r1]
orr r0, r2
str r0, [r3, r1]
pop {r4, pc}
.balign 4, 0
_022387E8: .word 0x00001204
_022387EC: .word 0x00001208
_022387F0: .word 0x027E0000
_022387F4: .word 0x00003FF8
thumb_func_end ov70_022387AC
thumb_func_start ov70_022387F8
ov70_022387F8: ; 0x022387F8
push {r4, lr}
sub sp, #0x28
ldr r4, _02238814 ; =ov70_02245218
add r3, sp, #0
mov r2, #5
_02238802:
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _02238802
add r0, sp, #0
bl GX_SetBanks
add sp, #0x28
pop {r4, pc}
.balign 4, 0
_02238814: .word ov70_02245218
thumb_func_end ov70_022387F8
thumb_func_start ov70_02238818
ov70_02238818: ; 0x02238818
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
bl OverlayManager_GetArgs
mov r1, #0
str r0, [r4]
add r0, r4, #0
add r2, r1, #0
str r1, [r4, #0x14]
bl ov70_02238E50
mov r1, #0x47
mov r0, #0
lsl r1, r1, #2
strh r0, [r4, r1]
ldr r1, _02238874 ; =0x00000B8A
mov r3, #3
strh r0, [r4, r1]
add r2, r1, #2
strb r3, [r4, r2]
add r2, r1, #3
strb r0, [r4, r2]
add r2, r1, #4
strb r0, [r4, r2]
add r1, r1, #6
ldr r2, _02238878 ; =0x000011DC
strh r0, [r4, r1]
mov r3, #0x12
strh r0, [r4, r2]
lsl r1, r3, #4
strh r3, [r4, r1]
add r1, r2, #0
add r1, #0x1c
strh r0, [r4, r1]
add r1, r2, #0
add r1, #0x1e
strh r0, [r4, r1]
add r1, r2, #2
strh r0, [r4, r1]
add r1, r2, #0
sub r1, #0x20
str r0, [r4, r1]
add r2, #0xf0
str r0, [r4, r2]
pop {r4, pc}
.balign 4, 0
_02238874: .word 0x00000B8A
_02238878: .word 0x000011DC
thumb_func_end ov70_02238818
thumb_func_start ov70_0223887C
ov70_0223887C: ; 0x0223887C
bx lr
.balign 4, 0
thumb_func_end ov70_0223887C
thumb_func_start ov70_02238880
ov70_02238880: ; 0x02238880
ldr r3, _022388C0 ; =0x04001000
ldr r0, _022388C4 ; =0xFFFF1FFF
ldr r1, [r3]
lsl r2, r3, #0xe
and r1, r0
str r1, [r3]
ldr r1, [r2]
and r1, r0
lsr r0, r3, #0xd
orr r0, r1
str r0, [r2]
ldr r0, _022388C8 ; =0x04000048
mov r1, #0x3f
ldrh r3, [r0]
mov r2, #0x1f
bic r3, r1
orr r3, r2
strh r3, [r0]
ldrh r3, [r0, #2]
bic r3, r1
orr r2, r3
mov r1, #0x20
orr r1, r2
strh r1, [r0, #2]
add r1, r0, #0
ldr r2, _022388CC ; =0x0000F0FF
sub r1, #8
strh r2, [r1]
mov r1, #0x10
sub r0, r0, #4
strh r1, [r0]
bx lr
.balign 4, 0
_022388C0: .word 0x04001000
_022388C4: .word 0xFFFF1FFF
_022388C8: .word 0x04000048
_022388CC: .word 0x0000F0FF
thumb_func_end ov70_02238880
thumb_func_start ov70_022388D0
ov70_022388D0: ; 0x022388D0
push {r4, lr}
sub sp, #0x10
ldr r4, _022388FC ; =ov70_02245208
add r3, sp, #0
add r2, r3, #0
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
add r0, r2, #0
bl sub_020215A0
mov r0, #0x14
mov r1, #0x3d
bl sub_02022588
bl sub_020216C8
bl sub_02022638
add sp, #0x10
pop {r4, pc}
.balign 4, 0
_022388FC: .word ov70_02245208
thumb_func_end ov70_022388D0
thumb_func_start ov70_02238900
ov70_02238900: ; 0x02238900
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r0, #0
mov r0, #0x64
mov r1, #0x3d
bl NARC_New
str r0, [sp, #0x18]
bl NNS_G2dInitOamManagerModule
mov r2, #1
lsl r2, r2, #0x1a
ldr r1, [r2]
ldr r0, _02238B2C ; =0xFFCFFFEF
add r3, r1, #0
and r3, r0
mov r1, #0x10
orr r3, r1
str r3, [r2]
ldr r3, _02238B30 ; =0x04001000
ldr r2, [r3]
and r0, r2
orr r0, r1
str r0, [r3]
mov r0, #0
str r0, [sp]
mov r1, #0x7e
str r1, [sp, #4]
str r0, [sp, #8]
mov r3, #0x20
str r3, [sp, #0xc]
mov r1, #0x3d
str r1, [sp, #0x10]
mov r1, #0x7a
add r2, r0, #0
bl OamManager_Create
ldr r1, _02238B34 ; =0x00000BF8
mov r0, #0x54
add r1, r5, r1
mov r2, #0x3d
bl G2dRenderer_Init
ldr r1, _02238B38 ; =0x00000BF4
mov r2, #1
str r0, [r5, r1]
add r0, r1, #4
add r0, r5, r0
mov r1, #0
lsl r2, r2, #0x14
bl G2dRenderer_SetSubSurfaceCoords
mov r7, #0xd2
mov r6, #0
add r4, r5, #0
lsl r7, r7, #4
_02238970:
mov r0, #3
add r1, r6, #0
mov r2, #0x3d
bl Create2DGfxResObjMan
str r0, [r4, r7]
add r6, r6, #1
add r4, r4, #4
cmp r6, #4
blt _02238970
mov r0, #0
str r0, [sp]
mov r3, #1
str r3, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0xd2
lsl r0, r0, #4
ldr r0, [r5, r0]
ldr r1, [sp, #0x18]
mov r2, #0x15
bl AddCharResObjFromOpenNarc
mov r1, #0xd3
lsl r1, r1, #4
str r0, [r5, r1]
mov r3, #0
str r3, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #3
str r0, [sp, #8]
mov r0, #0x3d
sub r1, #0xc
str r0, [sp, #0xc]
ldr r0, [r5, r1]
ldr r1, [sp, #0x18]
mov r2, #0xa
bl AddPlttResObjFromOpenNarc
ldr r1, _02238B3C ; =0x00000D34
mov r2, #0x16
str r0, [r5, r1]
mov r0, #0
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
mov r0, #0x3d
sub r1, #0xc
str r0, [sp, #8]
ldr r0, [r5, r1]
ldr r1, [sp, #0x18]
mov r3, #1
bl AddCellOrAnimResObjFromOpenNarc
ldr r1, _02238B40 ; =0x00000D38
mov r2, #0x17
str r0, [r5, r1]
mov r0, #0
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #0x3d
sub r1, #0xc
str r0, [sp, #8]
ldr r0, [r5, r1]
ldr r1, [sp, #0x18]
mov r3, #1
bl AddCellOrAnimResObjFromOpenNarc
ldr r1, _02238B44 ; =0x00000D3C
mov r3, #1
str r0, [r5, r1]
str r3, [sp]
mov r0, #2
str r0, [sp, #4]
mov r0, #0x3d
sub r1, #0x1c
str r0, [sp, #8]
ldr r0, [r5, r1]
ldr r1, [sp, #0x18]
mov r2, #0x2b
bl AddCharResObjFromOpenNarc
mov r1, #0x35
lsl r1, r1, #6
str r0, [r5, r1]
mov r0, #1
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
mov r0, #0xa
str r0, [sp, #8]
mov r0, #0x3d
sub r1, #0x1c
str r0, [sp, #0xc]
ldr r0, [r5, r1]
ldr r1, [sp, #0x18]
mov r2, #9
mov r3, #0
bl AddPlttResObjFromOpenNarc
ldr r1, _02238B48 ; =0x00000D44
mov r3, #1
str r0, [r5, r1]
str r3, [sp]
mov r0, #2
str r0, [sp, #4]
mov r0, #0x3d
sub r1, #0x1c
str r0, [sp, #8]
ldr r0, [r5, r1]
ldr r1, [sp, #0x18]
mov r2, #0x2c
bl AddCellOrAnimResObjFromOpenNarc
ldr r1, _02238B4C ; =0x00000D48
mov r3, #1
str r0, [r5, r1]
str r3, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #0x3d
sub r1, #0x1c
str r0, [sp, #8]
ldr r0, [r5, r1]
ldr r1, [sp, #0x18]
mov r2, #0x2d
bl AddCellOrAnimResObjFromOpenNarc
ldr r1, _02238B50 ; =0x00000D4C
str r0, [r5, r1]
sub r1, #0x1c
ldr r0, [r5, r1]
bl sub_0200ACF0
mov r0, #0x35
lsl r0, r0, #6
ldr r0, [r5, r0]
bl sub_0200ACF0
ldr r0, _02238B3C ; =0x00000D34
ldr r0, [r5, r0]
bl sub_0200AF94
ldr r0, _02238B48 ; =0x00000D44
ldr r0, [r5, r0]
bl sub_0200AF94
bl sub_02074490
add r1, r0, #0
mov r0, #0x14
add r2, sp, #0x1c
mov r3, #0x3d
bl GfGfxLoader_GetPlttData
str r0, [sp, #0x14]
ldr r0, [sp, #0x1c]
mov r1, #0x60
ldr r0, [r0, #0xc]
bl DC_FlushRange
ldr r0, [sp, #0x1c]
mov r1, #0x60
ldr r0, [r0, #0xc]
add r2, r1, #0
bl GX_LoadOBJPltt
ldr r0, [sp, #0x1c]
mov r7, #0x1f
ldr r4, [r0, #0xc]
mov r3, #0
add r5, r7, #0
_02238ACC:
ldrh r2, [r4]
mov r0, #0x1f
add r3, r3, #1
add r1, r2, #0
and r1, r0
lsr r0, r1, #0x1f
add r0, r1, r0
asr r1, r0, #1
asr r0, r2, #0xa
add r6, r0, #0
and r6, r7
lsr r0, r6, #0x1f
add r0, r6, r0
asr r2, r2, #5
add r6, r2, #0
and r6, r5
lsr r2, r6, #0x1f
add r2, r6, r2
asr r0, r0, #1
asr r2, r2, #1
lsl r0, r0, #0xa
lsl r2, r2, #5
orr r0, r2
orr r0, r1
strh r0, [r4]
add r4, r4, #2
cmp r3, #0x30
blt _02238ACC
ldr r0, [sp, #0x1c]
mov r1, #0x60
ldr r0, [r0, #0xc]
bl DC_FlushRange
ldr r0, [sp, #0x1c]
mov r1, #0xc0
ldr r0, [r0, #0xc]
mov r2, #0x60
bl GX_LoadOBJPltt
ldr r0, [sp, #0x14]
bl FreeToHeap
ldr r0, [sp, #0x18]
bl NARC_Delete
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
nop
_02238B2C: .word 0xFFCFFFEF
_02238B30: .word 0x04001000
_02238B34: .word 0x00000BF8
_02238B38: .word 0x00000BF4
_02238B3C: .word 0x00000D34
_02238B40: .word 0x00000D38
_02238B44: .word 0x00000D3C
_02238B48: .word 0x00000D44
_02238B4C: .word 0x00000D48
_02238B50: .word 0x00000D4C
thumb_func_end ov70_02238900
thumb_func_start ov70_02238B54
ov70_02238B54: ; 0x02238B54
push {r3, r4}
ldr r4, _02238B7C ; =0x00000BF4
ldr r1, [r1, r4]
str r1, [r0]
str r2, [r0, #4]
mov r2, #0
mov r1, #1
str r2, [r0, #0x10]
lsl r1, r1, #0xc
str r1, [r0, #0x14]
str r1, [r0, #0x18]
str r1, [r0, #0x1c]
strh r2, [r0, #0x20]
mov r1, #1
str r1, [r0, #0x24]
str r3, [r0, #0x28]
mov r1, #0x3d
str r1, [r0, #0x2c]
pop {r3, r4}
bx lr
.balign 4, 0
_02238B7C: .word 0x00000BF4
thumb_func_end ov70_02238B54
thumb_func_start ov70_02238B80
ov70_02238B80: ; 0x02238B80
push {r3, r4, lr}
sub sp, #0x2c
mov r1, #0
add r4, r0, #0
str r1, [sp]
sub r0, r1, #1
str r0, [sp, #4]
str r0, [sp, #8]
str r1, [sp, #0xc]
mov r2, #0xd2
str r1, [sp, #0x10]
lsl r2, r2, #4
ldr r0, [r4, r2]
add r3, r1, #0
str r0, [sp, #0x14]
add r0, r2, #4
ldr r0, [r4, r0]
str r0, [sp, #0x18]
add r0, r2, #0
add r0, #8
ldr r0, [r4, r0]
str r0, [sp, #0x1c]
add r0, r2, #0
add r0, #0xc
ldr r0, [r4, r0]
add r2, #0x40
str r0, [sp, #0x20]
str r1, [sp, #0x24]
add r0, r4, r2
add r2, r1, #0
str r1, [sp, #0x28]
bl CreateSpriteResourcesHeader
mov r1, #1
mov r3, #0xd2
str r1, [sp]
sub r0, r1, #2
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
str r0, [sp, #0x10]
lsl r3, r3, #4
ldr r2, [r4, r3]
str r2, [sp, #0x14]
add r2, r3, #4
ldr r2, [r4, r2]
str r2, [sp, #0x18]
add r2, r3, #0
add r2, #8
ldr r2, [r4, r2]
str r2, [sp, #0x1c]
add r2, r3, #0
add r2, #0xc
ldr r2, [r4, r2]
add r3, #0x64
str r2, [sp, #0x20]
str r0, [sp, #0x24]
str r0, [sp, #0x28]
add r0, r4, r3
add r2, r1, #0
add r3, r1, #0
bl CreateSpriteResourcesHeader
mov r0, #0x10
mov r1, #1
bl GX_EngineAToggleLayers
mov r0, #0x10
mov r1, #1
bl GX_EngineBToggleLayers
add sp, #0x2c
pop {r3, r4, pc}
thumb_func_end ov70_02238B80
thumb_func_start ov70_02238C14
ov70_02238C14: ; 0x02238C14
push {r4, lr}
sub sp, #8
mov r4, #0
str r4, [sp]
add r4, sp, #0
ldrb r4, [r4, #0x10]
str r4, [sp, #4]
bl ov70_02238C2C
add sp, #8
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02238C14
thumb_func_start ov70_02238C2C
ov70_02238C2C: ; 0x02238C2C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
mov r0, #0x3d
add r4, r1, #0
add r6, r2, #0
add r7, r3, #0
bl sub_0201660C
str r0, [sp]
add r0, sp, #0x20
ldrb r0, [r0, #0x14]
cmp r0, #0
beq _02238C56
ldr r1, [sp, #0x30]
mov r0, #0
cmp r1, #3
bgt _02238C52
mov r0, #1
_02238C52:
bl ov70_02238FB4
_02238C56:
ldr r0, [sp, #0x30]
str r5, [sp, #4]
str r0, [sp, #8]
str r6, [sp, #0xc]
str r7, [sp, #0x10]
mov r0, #0x18
add r1, sp, #4
strb r0, [r1, #0x10]
strb r4, [r1, #0x11]
ldrb r2, [r1, #0x12]
mov r0, #0xf
bic r2, r0
strb r2, [r1, #0x12]
ldrb r2, [r1, #0x12]
mov r0, #0xf0
bic r2, r0
strb r2, [r1, #0x12]
mov r0, #0
strb r0, [r1, #0x13]
ldr r0, [sp]
add r1, sp, #4
bl sub_020166FC
ldr r0, [sp]
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov70_02238C2C
thumb_func_start ov70_02238C8C
ov70_02238C8C: ; 0x02238C8C
push {r4, lr}
ldr r1, _02238CA8 ; =0x000011C8
ldr r0, [r0, r1]
bl sub_020168F4
add r4, r0, #0
sub r0, r4, #1
cmp r0, #1
bhi _02238CA2
bl ov70_02238FE0
_02238CA2:
add r0, r4, #0
pop {r4, pc}
nop
_02238CA8: .word 0x000011C8
thumb_func_end ov70_02238C8C
thumb_func_start ov70_02238CAC
ov70_02238CAC: ; 0x02238CAC
push {r4, r5, r6, lr}
sub sp, #0x30
add r5, r0, #0
add r4, r1, #0
mov r0, #0x3d
mov r1, #0
add r6, r2, #0
bl sub_02018424
ldr r1, _02238D28 ; =0x000011CC
mov r2, #0x18
str r0, [r5, r1]
add r0, sp, #0x18
mov r1, #0
bl MI_CpuFill8
ldr r2, _02238D2C ; =_022451EC
add r0, sp, #0x18
ldrh r3, [r2]
add r1, sp, #0x18
strh r3, [r0]
ldrh r3, [r2, #2]
strh r3, [r0, #2]
ldrh r3, [r2, #4]
strh r3, [r0, #4]
ldrh r3, [r2, #6]
strh r3, [r0, #6]
ldrh r3, [r2, #8]
ldrh r2, [r2, #0xa]
strh r3, [r0, #8]
ldr r3, _02238D30 ; =0x000011AC
strh r2, [r0, #0xa]
ldr r2, [r5, r3]
add r3, #0x20
str r2, [sp, #0x24]
ldr r2, [r5, #4]
str r2, [sp, #0x28]
strb r4, [r0, #0x14]
lsl r0, r6, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0xa
str r0, [sp, #4]
mov r2, #0
ldr r0, _02238D34 ; =ov70_02238D38
str r2, [sp, #8]
str r0, [sp, #0xc]
str r2, [sp, #0x10]
mov r0, #1
str r0, [sp, #0x14]
ldr r0, [r5, r3]
mov r3, #0x14
bl sub_02018648
add r4, r0, #0
mov r0, #1
bl ov70_02238FB4
add r0, r4, #0
add sp, #0x30
pop {r4, r5, r6, pc}
nop
_02238D28: .word 0x000011CC
_02238D2C: .word _022451EC
_02238D30: .word 0x000011AC
_02238D34: .word ov70_02238D38
thumb_func_end ov70_02238CAC
thumb_func_start ov70_02238D38
ov70_02238D38: ; 0x02238D38
push {r3, lr}
cmp r3, #3
bhi _02238D58
add r0, r3, r3
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02238D4A: ; jump table
.short _02238D58 - _02238D4A - 2 ; case 0
.short _02238D52 - _02238D4A - 2 ; case 1
.short _02238D52 - _02238D4A - 2 ; case 2
.short _02238D52 - _02238D4A - 2 ; case 3
_02238D52:
ldr r0, _02238D5C ; =0x000005DC
bl PlaySE
_02238D58:
pop {r3, pc}
nop
_02238D5C: .word 0x000005DC
thumb_func_end ov70_02238D38
thumb_func_start ov70_02238D60
ov70_02238D60: ; 0x02238D60
push {r4, lr}
add r4, r0, #0
ldr r0, _02238D7C ; =0x000011D0
ldr r0, [r4, r0]
bl sub_02018680
ldr r0, _02238D80 ; =0x000011CC
ldr r0, [r4, r0]
bl sub_02018474
bl ov70_02238FE0
pop {r4, pc}
nop
_02238D7C: .word 0x000011D0
_02238D80: .word 0x000011CC
thumb_func_end ov70_02238D60
thumb_func_start ov70_02238D84
ov70_02238D84: ; 0x02238D84
str r1, [r0, #0x2c]
str r2, [r0, #0x30]
bx lr
.balign 4, 0
thumb_func_end ov70_02238D84
thumb_func_start ov70_02238D8C
ov70_02238D8C: ; 0x02238D8C
push {r4, r5, lr}
sub sp, #0xc
add r4, r0, #0
add r5, r2, #0
cmp r1, #0
ble _02238DAA
lsl r0, r1, #0xc
bl _fflt
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _02238DB8
_02238DAA:
lsl r0, r1, #0xc
bl _fflt
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_02238DB8:
bl _ffix
str r0, [sp]
cmp r5, #0
ble _02238DD4
lsl r0, r5, #0xc
bl _fflt
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _02238DE2
_02238DD4:
lsl r0, r5, #0xc
bl _fflt
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_02238DE2:
bl _ffix
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
add r0, r4, #0
add r1, sp, #0
bl sub_020247D4
add sp, #0xc
pop {r4, r5, pc}
thumb_func_end ov70_02238D8C
thumb_func_start ov70_02238DF8
ov70_02238DF8: ; 0x02238DF8
push {r4, r5, r6, lr}
add r5, r1, #0
add r4, r2, #0
bl OS_DisableInterrupts
add r6, r0, #0
ldr r0, _02238E1C ; =ov70_02246944
add r1, r5, #0
ldr r0, [r0]
add r2, r4, #0
bl NNS_FndAllocFromExpHeapEx
add r4, r0, #0
add r0, r6, #0
bl OS_RestoreInterrupts
add r0, r4, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_02238E1C: .word ov70_02246944
thumb_func_end ov70_02238DF8
thumb_func_start ov70_02238E20
ov70_02238E20: ; 0x02238E20
push {r3, r4, r5, lr}
add r5, r1, #0
beq _02238E3C
bl OS_DisableInterrupts
add r4, r0, #0
ldr r0, _02238E40 ; =ov70_02246944
add r1, r5, #0
ldr r0, [r0]
bl NNS_FndFreeToExpHeap
add r0, r4, #0
bl OS_RestoreInterrupts
_02238E3C:
pop {r3, r4, r5, pc}
nop
_02238E40: .word ov70_02246944
thumb_func_end ov70_02238E20
thumb_func_start ov70_02238E44
ov70_02238E44: ; 0x02238E44
push {r3, lr}
bl ov00_021EC9D4
mov r1, #3
sub r0, r1, r0
pop {r3, pc}
thumb_func_end ov70_02238E44
thumb_func_start ov70_02238E50
ov70_02238E50: ; 0x02238E50
str r1, [r0, #0x18]
str r2, [r0, #0x24]
bx lr
.balign 4, 0
thumb_func_end ov70_02238E50
thumb_func_start ov70_02238E58
ov70_02238E58: ; 0x02238E58
ldr r1, [r0, #0x14]
str r1, [r0, #0x20]
ldr r1, [r0, #0x18]
str r1, [r0, #0x14]
bx lr
.balign 4, 0
thumb_func_end ov70_02238E58
thumb_func_start ov70_02238E64
ov70_02238E64: ; 0x02238E64
ldr r0, [r0]
ldr r3, _02238E6C ; =Options_GetTextFrameDelay
ldr r0, [r0, #0x24]
bx r3
.balign 4, 0
_02238E6C: .word Options_GetTextFrameDelay
thumb_func_end ov70_02238E64
thumb_func_start ov70_02238E70
ov70_02238E70: ; 0x02238E70
push {r4, lr}
add r4, r0, #0
bl ov70_022387F8
bl ov70_022388D0
add r0, r4, #0
bl ov70_02238900
add r0, r4, #0
bl ov70_02238B80
ldr r0, _02238E94 ; =ov70_022387AC
add r1, r4, #0
bl Main_SetVBlankIntrCB
pop {r4, pc}
nop
_02238E94: .word ov70_022387AC
thumb_func_end ov70_02238E70
thumb_func_start ov70_02238E98
ov70_02238E98: ; 0x02238E98
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
bl ov70_02241308
mov r0, #0xd3
lsl r0, r0, #4
ldr r0, [r6, r0]
bl sub_0200AEB0
mov r0, #0x35
lsl r0, r0, #6
ldr r0, [r6, r0]
bl sub_0200AEB0
ldr r0, _02238EF8 ; =0x00000D34
ldr r0, [r6, r0]
bl sub_0200B0A8
ldr r0, _02238EFC ; =0x00000D44
ldr r0, [r6, r0]
bl sub_0200B0A8
mov r7, #0xd2
mov r4, #0
add r5, r6, #0
lsl r7, r7, #4
_02238ECC:
ldr r0, [r5, r7]
bl Destroy2DGfxResObjMan
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blt _02238ECC
ldr r0, _02238F00 ; =0x00000BF4
ldr r0, [r6, r0]
bl sub_02024504
ldr r0, _02238F00 ; =0x00000BF4
mov r1, #0
str r1, [r6, r0]
bl OamManager_Free
bl sub_0202168C
bl sub_02022608
pop {r3, r4, r5, r6, r7, pc}
nop
_02238EF8: .word 0x00000D34
_02238EFC: .word 0x00000D44
_02238F00: .word 0x00000BF4
thumb_func_end ov70_02238E98
thumb_func_start ov70_02238F04
ov70_02238F04: ; 0x02238F04
ldrh r1, [r0, #0x3a]
cmp r1, #0
beq _02238F0E
sub r1, r1, #1
strh r1, [r0, #0x3a]
_02238F0E:
bx lr
thumb_func_end ov70_02238F04
thumb_func_start ov70_02238F10
ov70_02238F10: ; 0x02238F10
ldr r1, _02238F20 ; =0x000011FA
mov r2, #1
strh r2, [r0, r1]
mov r2, #0
sub r1, r1, #2
strh r2, [r0, r1]
bx lr
nop
_02238F20: .word 0x000011FA
thumb_func_end ov70_02238F10
thumb_func_start ov70_02238F24
ov70_02238F24: ; 0x02238F24
push {r4, lr}
add r4, r0, #0
ldr r0, _02238F5C ; =0x000011FA
ldrh r1, [r4, r0]
cmp r1, #0
beq _02238F58
ldr r0, [r4]
sub r1, r1, #1
ldr r0, [r0, #0xc]
bl PCStorage_CountMonsAndEggsInBox
ldr r1, _02238F60 ; =0x000011F8
ldrh r2, [r4, r1]
add r0, r2, r0
strh r0, [r4, r1]
add r0, r1, #2
ldrh r0, [r4, r0]
add r2, r0, #1
add r0, r1, #2
strh r2, [r4, r0]
ldrh r0, [r4, r0]
cmp r0, #0x13
bne _02238F58
mov r2, #0
add r0, r1, #2
strh r2, [r4, r0]
_02238F58:
pop {r4, pc}
nop
_02238F5C: .word 0x000011FA
_02238F60: .word 0x000011F8
thumb_func_end ov70_02238F24
thumb_func_start ov70_02238F64
ov70_02238F64: ; 0x02238F64
push {r4, lr}
add r4, r0, #0
ldr r0, _02238F78 ; =0x00000F18
mov r1, #1
add r0, r4, r0
bl WaitingIcon_New
ldr r1, _02238F7C ; =0x000011BC
str r0, [r4, r1]
pop {r4, pc}
.balign 4, 0
_02238F78: .word 0x00000F18
_02238F7C: .word 0x000011BC
thumb_func_end ov70_02238F64
thumb_func_start ov70_02238F80
ov70_02238F80: ; 0x02238F80
push {r4, lr}
add r4, r0, #0
ldr r0, _02238F98 ; =0x000011BC
ldr r0, [r4, r0]
cmp r0, #0
beq _02238F96
bl sub_0200F450
ldr r0, _02238F98 ; =0x000011BC
mov r1, #0
str r1, [r4, r0]
_02238F96:
pop {r4, pc}
.balign 4, 0
_02238F98: .word 0x000011BC
thumb_func_end ov70_02238F80
thumb_func_start ov70_02238F9C
ov70_02238F9C: ; 0x02238F9C
push {lr}
sub sp, #0xc
lsl r1, r1, #0xc
str r1, [sp]
lsl r1, r2, #0xc
str r1, [sp, #4]
add r1, sp, #0
bl sub_020247D4
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end ov70_02238F9C
thumb_func_start ov70_02238FB4
ov70_02238FB4: ; 0x02238FB4
push {r3, lr}
cmp r0, #0
beq _02238FC8
mov r1, #0x1e
add r2, r1, #0
ldr r0, _02238FD8 ; =0x04000050
sub r2, #0x25
bl G2x_SetBlendBrightness_
pop {r3, pc}
_02238FC8:
mov r1, #0x1e
add r2, r1, #0
ldr r0, _02238FDC ; =0x04001050
sub r2, #0x25
bl G2x_SetBlendBrightness_
pop {r3, pc}
nop
_02238FD8: .word 0x04000050
_02238FDC: .word 0x04001050
thumb_func_end ov70_02238FB4
thumb_func_start ov70_02238FE0
ov70_02238FE0: ; 0x02238FE0
ldr r0, _02238FEC ; =0x04000050
mov r1, #0
strh r1, [r0]
ldr r0, _02238FF0 ; =0x04001050
strh r1, [r0]
bx lr
.balign 4, 0
_02238FEC: .word 0x04000050
_02238FF0: .word 0x04001050
thumb_func_end ov70_02238FE0
thumb_func_start ov70_02238FF4
ov70_02238FF4: ; 0x02238FF4
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
bl ov70_02239614
ldr r2, _022390C8 ; =0x04000304
ldr r0, _022390CC ; =0xFFFF7FFF
ldrh r1, [r2]
and r0, r1
strh r0, [r2]
ldr r0, [r4, #4]
bl ov70_02239134
add r0, r4, #0
bl ov70_02239330
add r0, r4, #0
bl ov70_022394B8
add r0, r4, #0
bl ov70_02239414
add r0, r4, #0
bl ov70_02245124
add r0, r4, #0
bl ov70_02239B00
ldr r1, _022390D0 ; =0x00000484
mov r0, #0x17
mov r2, #1
bl sub_02004EC4
ldrh r0, [r4, #0x34]
cmp r0, #0
bne _02239072
add r0, r4, #0
bl ov70_02239304
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0
add r2, r1, #0
add r3, r0, #0
bl BeginNormalPaletteFade
mov r0, #0
str r0, [r4, #0x2c]
mov r0, #1
strh r0, [r4, #0x34]
ldr r0, [r4]
ldr r0, [r0, #0x1c]
bl PlayerProfile_GetTrainerGender
add r1, r0, #0
add r0, r4, #0
bl ov70_02240EF4
b _022390BC
_02239072:
ldr r0, _022390D4 ; =0x000011FC
ldr r0, [r4, r0]
cmp r0, #1
bne _022390A2
ldr r0, _022390D8 ; =0x0400106C
bl GXx_GetMasterBrightness_
cmp r0, #0
beq _022390A2
add r0, r4, #0
bl ov70_02241358
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0
add r2, r1, #0
add r3, r0, #0
bl BeginNormalPaletteFade
b _022390B8
_022390A2:
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
mov r3, #0
bl BeginNormalPaletteFade
_022390B8:
mov r0, #5
str r0, [r4, #0x2c]
_022390BC:
ldr r0, _022390D4 ; =0x000011FC
mov r1, #0
str r1, [r4, r0]
mov r0, #2
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
_022390C8: .word 0x04000304
_022390CC: .word 0xFFFF7FFF
_022390D0: .word 0x00000484
_022390D4: .word 0x000011FC
_022390D8: .word 0x0400106C
thumb_func_end ov70_02238FF4
thumb_func_start ov70_022390DC
ov70_022390DC: ; 0x022390DC
push {r4, lr}
add r4, r0, #0
bl ov70_02238E44
bl sub_0203A930
ldr r1, [r4, #0x2c]
add r0, r4, #0
lsl r2, r1, #2
ldr r1, _022390F8 ; =ov70_02246464
ldr r1, [r1, r2]
blx r1
pop {r4, pc}
nop
_022390F8: .word ov70_02246464
thumb_func_end ov70_022390DC
thumb_func_start ov70_022390FC
ov70_022390FC: ; 0x022390FC
push {r4, lr}
add r4, r0, #0
bl sub_0203A914
add r0, r4, #0
bl ov70_022394A8
add r0, r4, #0
bl ov70_0223963C
add r0, r4, #0
bl ov70_022395C4
ldr r0, [r4, #4]
bl ov70_022392E0
mov r0, #0xf1
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl Set2dSpriteVisibleFlag
add r0, r4, #0
bl ov70_02238E58
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_022390FC
thumb_func_start ov70_02239134
ov70_02239134: ; 0x02239134
push {r4, r5, lr}
sub sp, #0x64
ldr r5, _022391E0 ; =ov70_0224525C
add r3, sp, #0x54
add r4, r0, #0
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 SetBothScreensModesAndDisable
ldr r5, _022391E4 ; =ov70_022452F4
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, #0
str r0, [r3]
add r0, r4, #0
add r3, r1, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #0
bl BgClearTilemapBufferAndCommit
ldr r5, _022391E8 ; =ov70_022452D8
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, #1
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
ldr r5, _022391EC ; =ov70_02245310
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, #2
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl ov70_022391F0
mov r0, #0
mov r1, #0x20
add r2, r0, #0
mov r3, #0x3d
bl BG_ClearCharDataRange
mov r0, #0x10
mov r1, #1
bl GX_EngineAToggleLayers
mov r0, #0x10
mov r1, #1
bl GX_EngineBToggleLayers
add sp, #0x64
pop {r4, r5, pc}
.balign 4, 0
_022391E0: .word ov70_0224525C
_022391E4: .word ov70_022452F4
_022391E8: .word ov70_022452D8
_022391EC: .word ov70_02245310
thumb_func_end ov70_02239134
thumb_func_start ov70_022391F0
ov70_022391F0: ; 0x022391F0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x70
ldr r3, _022392AC ; =ov70_022452A0
add r6, r2, #0
add r5, r0, #0
add r4, r1, #0
add r2, sp, #0x54
ldmia r3!, {r0, r1}
add r7, r2, #0
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3]
mov r1, #4
str r0, [r2]
add r0, r5, #0
add r2, r7, #0
mov r3, #0
bl InitBgFromTemplate
add r0, r5, #0
mov r1, #4
bl BgClearTilemapBufferAndCommit
ldr r3, _022392B0 ; =ov70_02245284
add r2, sp, #0x38
ldmia r3!, {r0, r1}
add r7, r2, #0
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3]
mov r1, #6
str r0, [r2]
add r0, r5, #0
add r2, r7, #0
mov r3, #0
bl InitBgFromTemplate
cmp r6, #0
bne _02239252
add r0, r5, #0
mov r1, #6
bl BgClearTilemapBufferAndCommit
_02239252:
ldr r6, _022392B4 ; =ov70_022452BC
add r3, sp, #0x1c
ldmia r6!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r6]
mov r1, #5
str r0, [r3]
add r0, r5, #0
mov r3, #0
str r4, [sp, #0x20]
bl InitBgFromTemplate
mov r0, #4
mov r1, #0x20
mov r2, #0
mov r3, #0x3d
bl BG_ClearCharDataRange
ldr r4, _022392B8 ; =ov70_0224532C
add r3, sp, #0
ldmia r4!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r4]
mov r1, #7
str r0, [r3]
add r0, r5, #0
mov r3, #0
bl InitBgFromTemplate
add r0, r5, #0
mov r1, #7
bl BgClearTilemapBufferAndCommit
add sp, #0x70
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_022392AC: .word ov70_022452A0
_022392B0: .word ov70_02245284
_022392B4: .word ov70_022452BC
_022392B8: .word ov70_0224532C
thumb_func_end ov70_022391F0
thumb_func_start ov70_022392BC
ov70_022392BC: ; 0x022392BC
push {r4, lr}
add r4, r0, #0
mov r1, #6
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #5
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #4
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #7
bl FreeBgTilemapBuffer
pop {r4, pc}
thumb_func_end ov70_022392BC
thumb_func_start ov70_022392E0
ov70_022392E0: ; 0x022392E0
push {r4, lr}
add r4, r0, #0
bl ov70_022392BC
add r0, r4, #0
mov r1, #2
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #1
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #0
bl FreeBgTilemapBuffer
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_022392E0
thumb_func_start ov70_02239304
ov70_02239304: ; 0x02239304
push {r4, lr}
add r4, r0, #0
mov r0, #1
mov r1, #0
bl GX_EngineAToggleLayers
mov r0, #2
mov r1, #0
bl GX_EngineAToggleLayers
mov r0, #4
mov r1, #0
bl GX_EngineAToggleLayers
ldr r0, _0223932C ; =0x00000DCC
mov r1, #0
ldr r0, [r4, r0]
bl Set2dSpriteVisibleFlag
pop {r4, pc}
.balign 4, 0
_0223932C: .word 0x00000DCC
thumb_func_end ov70_02239304
thumb_func_start ov70_02239330
ov70_02239330: ; 0x02239330
push {r4, r5, r6, lr}
sub sp, #0x10
add r5, r0, #0
ldr r4, [r5, #4]
mov r0, #0x64
mov r1, #0x3d
bl NARC_New
mov r1, #0x60
str r1, [sp]
mov r1, #0x3d
mov r2, #0
str r1, [sp, #4]
mov r1, #4
add r3, r2, #0
add r6, r0, #0
bl GfGfxLoader_GXLoadPalFromOpenNarc
mov r1, #0x1a
mov r0, #0
lsl r1, r1, #4
mov r2, #0x3d
bl LoadFontPal1
ldr r0, [r5]
ldr r0, [r0, #0x24]
bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r4, #0
mov r1, #0
mov r2, #1
mov r3, #0xe
bl LoadUserFrameGfx2
mov r1, #0
str r1, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r4, #0
mov r2, #0x1f
mov r3, #0xb
bl LoadUserFrameGfx1
mov r0, #0
str r0, [sp]
mov r0, #3
lsl r0, r0, #0xa
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
add r0, r6, #0
mov r1, #0x10
add r2, r4, #0
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
add r0, r6, #0
mov r1, #0x27
add r2, r4, #0
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
add r0, r6, #0
mov r1, #0x26
add r2, r4, #0
mov r3, #2
bl GfGfxLoader_LoadScrnDataFromOpenNarc
add r0, r5, #0
bl ov70_02239C6C
ldrh r0, [r5, #0x34]
cmp r0, #0
beq _02239402
add r0, r5, #0
bl ov70_02239CF8
mov r0, #1
add r1, r0, #0
bl GX_EngineBToggleLayers
b _0223940A
_02239402:
mov r0, #1
mov r1, #0
bl GX_EngineBToggleLayers
_0223940A:
add r0, r6, #0
bl NARC_Delete
add sp, #0x10
pop {r4, r5, r6, pc}
thumb_func_end ov70_02239330
thumb_func_start ov70_02239414
ov70_02239414: ; 0x02239414
push {r4, lr}
sub sp, #0x80
mov r1, #0
add r4, r0, #0
str r1, [sp]
sub r0, r1, #1
str r0, [sp, #4]
str r0, [sp, #8]
mov r2, #0xd2
str r1, [sp, #0xc]
mov r0, #1
lsl r2, r2, #4
str r0, [sp, #0x10]
ldr r0, [r4, r2]
add r3, r1, #0
str r0, [sp, #0x14]
add r0, r2, #4
ldr r0, [r4, r0]
str r0, [sp, #0x18]
add r0, r2, #0
add r0, #8
ldr r0, [r4, r0]
add r2, #0xc
str r0, [sp, #0x1c]
ldr r0, [r4, r2]
add r2, r1, #0
str r0, [sp, #0x20]
str r1, [sp, #0x24]
add r0, sp, #0x2c
str r1, [sp, #0x28]
bl CreateSpriteResourcesHeader
add r0, sp, #0x50
add r1, r4, #0
add r2, sp, #0x2c
mov r3, #1
bl ov70_02238B54
mov r0, #0x47
lsl r0, r0, #2
ldrh r1, [r4, r0]
lsl r2, r1, #2
ldr r1, _0223949C ; =ov70_02245240
ldrh r1, [r1, r2]
lsl r1, r1, #0xc
str r1, [sp, #0x58]
ldrh r0, [r4, r0]
lsl r1, r0, #2
ldr r0, _022394A0 ; =ov70_02245242
ldrh r0, [r0, r1]
lsl r0, r0, #0xc
str r0, [sp, #0x5c]
add r0, sp, #0x50
bl CreateSprite
ldr r1, _022394A4 ; =0x00000DCC
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
ldr r0, _022394A4 ; =0x00000DCC
mov r1, #0x2b
ldr r0, [r4, r0]
bl Set2dSpriteAnimSeqNo
add sp, #0x80
pop {r4, pc}
.balign 4, 0
_0223949C: .word ov70_02245240
_022394A0: .word ov70_02245242
_022394A4: .word 0x00000DCC
thumb_func_end ov70_02239414
thumb_func_start ov70_022394A8
ov70_022394A8: ; 0x022394A8
ldr r1, _022394B0 ; =0x00000DCC
ldr r3, _022394B4 ; =Sprite_Delete
ldr r0, [r0, r1]
bx r3
.balign 4, 0
_022394B0: .word 0x00000DCC
_022394B4: .word Sprite_Delete
thumb_func_end ov70_022394A8
thumb_func_start ov70_022394B8
ov70_022394B8: ; 0x022394B8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
mov r2, #1
add r7, r0, #0
str r2, [sp]
mov r0, #0x1c
str r0, [sp, #4]
mov r3, #2
ldr r1, _022395B0 ; =0x00000F38
str r3, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
mov r0, #0x28
str r0, [sp, #0x10]
ldr r0, [r7, #4]
add r1, r7, r1
bl AddWindowParameterized
ldr r0, _022395B0 ; =0x00000F38
mov r1, #0
add r0, r7, r0
bl FillWindowPixelBuffer
mov r0, #2
str r0, [sp]
mov r3, #0
mov r2, #0x2f
ldr r0, _022395B4 ; =0x000F0600
str r3, [sp, #4]
str r0, [sp, #8]
ldr r0, _022395B0 ; =0x00000F38
str r3, [sp, #0xc]
lsl r2, r2, #6
ldr r2, [r7, r2]
add r0, r7, r0
mov r1, #1
bl AddTextPrinterParameterized2
mov r0, #0
str r0, [sp, #0x14]
ldr r0, _022395B8 ; =0x00000F58
mov r6, #0x61
mov r4, #6
add r5, r7, r0
_02239510:
lsl r0, r4, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0xf
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
lsl r0, r6, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r0, [r7, #4]
add r1, r5, #0
mov r2, #1
mov r3, #9
bl AddWindowParameterized
add r0, r5, #0
mov r1, #0
bl FillWindowPixelBuffer
ldr r0, [sp, #0x14]
add r6, #0x1e
add r0, r0, #1
add r4, r4, #5
add r5, #0x10
str r0, [sp, #0x14]
cmp r0, #3
blt _02239510
mov r0, #0x15
str r0, [sp]
mov r0, #0x1b
str r0, [sp, #4]
mov r3, #2
ldr r1, _022395BC ; =0x00000F18
str r3, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
mov r0, #0x60
str r0, [sp, #0x10]
ldr r0, [r7, #4]
add r1, r7, r1
mov r2, #0
bl AddWindowParameterized
ldr r0, _022395BC ; =0x00000F18
mov r1, #0xf
add r0, r7, r0
bl FillWindowPixelBuffer
mov r0, #0x13
str r0, [sp]
mov r0, #0x1b
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
mov r0, #0x96
ldr r1, _022395C0 ; =0x00001158
str r0, [sp, #0x10]
ldr r0, [r7, #4]
add r1, r7, r1
mov r2, #0
mov r3, #2
bl AddWindowParameterized
ldr r0, _022395C0 ; =0x00001158
mov r1, #0xf
add r0, r7, r0
bl FillWindowPixelBuffer
add r0, r7, #0
mov r1, #0
bl ov70_02239D44
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_022395B0: .word 0x00000F38
_022395B4: .word 0x000F0600
_022395B8: .word 0x00000F58
_022395BC: .word 0x00000F18
_022395C0: .word 0x00001158
thumb_func_end ov70_022394B8
thumb_func_start ov70_022395C4
ov70_022395C4: ; 0x022395C4
push {r4, r5, r6, lr}
add r6, r0, #0
ldr r0, _02239600 ; =0x00001198
add r0, r6, r0
bl RemoveWindow
ldr r0, _02239604 ; =0x00001158
add r0, r6, r0
bl RemoveWindow
ldr r0, _02239608 ; =0x00000F18
add r0, r6, r0
bl RemoveWindow
ldr r0, _0223960C ; =0x00000F58
mov r4, #0
add r5, r6, r0
_022395E6:
add r0, r5, #0
bl RemoveWindow
add r4, r4, #1
add r5, #0x10
cmp r4, #3
blt _022395E6
ldr r0, _02239610 ; =0x00000F38
add r0, r6, r0
bl RemoveWindow
pop {r4, r5, r6, pc}
nop
_02239600: .word 0x00001198
_02239604: .word 0x00001158
_02239608: .word 0x00000F18
_0223960C: .word 0x00000F58
_02239610: .word 0x00000F38
thumb_func_end ov70_022395C4
thumb_func_start ov70_02239614
ov70_02239614: ; 0x02239614
push {r4, lr}
add r4, r0, #0
mov r0, #0xb4
mov r1, #0x3d
bl String_New
ldr r1, _02239638 ; =0x00000BBC
str r0, [r4, r1]
sub r1, #0x1c
ldr r0, [r4, r1]
mov r1, #0x27
bl NewString_ReadMsgData
mov r1, #0x2f
lsl r1, r1, #6
str r0, [r4, r1]
pop {r4, pc}
nop
_02239638: .word 0x00000BBC
thumb_func_end ov70_02239614
thumb_func_start ov70_0223963C
ov70_0223963C: ; 0x0223963C
push {r4, lr}
add r4, r0, #0
ldr r0, _02239654 ; =0x00000BBC
ldr r0, [r4, r0]
bl String_Delete
mov r0, #0x2f
lsl r0, r0, #6
ldr r0, [r4, r0]
bl String_Delete
pop {r4, pc}
.balign 4, 0
_02239654: .word 0x00000BBC
thumb_func_end ov70_0223963C
thumb_func_start ov70_02239658
ov70_02239658: ; 0x02239658
push {r4, lr}
add r4, r0, #0
ldr r0, _02239694 ; =0x000011DC
ldrh r0, [r4, r0]
cmp r0, #0
beq _0223968E
mov r0, #1
mov r1, #0
bl GX_EngineAToggleLayers
mov r0, #2
mov r1, #0
bl GX_EngineAToggleLayers
mov r0, #4
mov r1, #0
bl GX_EngineAToggleLayers
add r0, r4, #0
mov r1, #7
mov r2, #0xb
bl ov70_02238E50
mov r0, #1
str r0, [r4, #0x1c]
mov r0, #9
str r0, [r4, #0x2c]
_0223968E:
mov r0, #3
pop {r4, pc}
nop
_02239694: .word 0x000011DC
thumb_func_end ov70_02239658
thumb_func_start ov70_02239698
ov70_02239698: ; 0x02239698
push {r3, lr}
mov r1, #0xa
mov r2, #2
bl ov70_02238D84
mov r0, #3
pop {r3, pc}
.balign 4, 0
thumb_func_end ov70_02239698
thumb_func_start ov70_022396A8
ov70_022396A8: ; 0x022396A8
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
mov r3, #0
bl BeginNormalPaletteFade
mov r0, #3
str r0, [r4, #0x2c]
add sp, #0xc
pop {r3, r4, pc}
thumb_func_end ov70_022396A8
thumb_func_start ov70_022396CC
ov70_022396CC: ; 0x022396CC
push {r4, lr}
add r4, r0, #0
bl IsPaletteFadeFinished
cmp r0, #0
beq _022396DC
mov r0, #5
str r0, [r4, #0x2c]
_022396DC:
mov r0, #3
pop {r4, pc}
thumb_func_end ov70_022396CC
thumb_func_start ov70_022396E0
ov70_022396E0: ; 0x022396E0
push {r4, lr}
add r4, r0, #0
bl IsPaletteFadeFinished
cmp r0, #0
beq _022396F0
mov r0, #5
str r0, [r4, #0x2c]
_022396F0:
mov r0, #3
pop {r4, pc}
thumb_func_end ov70_022396E0
thumb_func_start ov70_022396F4
ov70_022396F4: ; 0x022396F4
push {r3, r4, lr}
sub sp, #4
ldr r1, _02239728 ; =0x00000F0F
add r4, r0, #0
str r1, [sp]
mov r1, #4
mov r2, #1
mov r3, #0
bl ov70_02239B84
add r0, r4, #0
mov r1, #0xa
mov r2, #6
bl ov70_02238D84
ldr r0, _0223972C ; =0x00000DCC
mov r1, #1
ldr r0, [r4, r0]
bl Set2dSpriteAnimActiveFlag
add r0, r4, #0
bl ov70_02238F10
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_02239728: .word 0x00000F0F
_0223972C: .word 0x00000DCC
thumb_func_end ov70_022396F4
thumb_func_start ov70_02239730
ov70_02239730: ; 0x02239730
ldr r3, _02239738 ; =sub_02025224
ldr r0, _0223973C ; =ov70_0224524C
bx r3
nop
_02239738: .word sub_02025224
_0223973C: .word ov70_0224524C
thumb_func_end ov70_02239730
thumb_func_start ov70_02239740
ov70_02239740: ; 0x02239740
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
cmp r1, #0
beq _02239756
cmp r1, #1
beq _022397CC
cmp r1, #2
beq _022397E8
add sp, #4
pop {r3, r4, pc}
_02239756:
ldrh r1, [r4, #0x36]
cmp r1, #0
bne _02239772
mov r1, #5
add r2, r1, #0
bl ov70_02238E50
mov r0, #9
str r0, [r4, #0x2c]
ldr r0, _0223981C ; =0x000005DC
bl PlaySE
add sp, #4
pop {r3, r4, pc}
_02239772:
ldrh r1, [r4, #0x3a]
cmp r1, #0
bne _02239796
mov r1, #7
mov r2, #0xb
bl ov70_02238E50
mov r0, #2
str r0, [r4, #0x1c]
mov r0, #9
str r0, [r4, #0x2c]
ldr r0, _02239820 ; =0x00000708
strh r0, [r4, #0x3a]
ldr r0, _0223981C ; =0x000005DC
bl PlaySE
add sp, #4
pop {r3, r4, pc}
_02239796:
ldr r0, _02239824 ; =0x00000DCC
mov r1, #0
ldr r0, [r4, r0]
bl Set2dSpriteAnimActiveFlag
ldr r0, _02239828 ; =0x00000F0F
mov r1, #0x22
str r0, [sp]
add r0, r4, #0
mov r2, #1
mov r3, #0
bl ov70_02239B84
add r0, r4, #0
mov r1, #0xb
mov r2, #5
bl ov70_02238D84
ldr r0, _0223982C ; =0x000005F3
bl PlaySE
mov r0, #0x47
mov r1, #0
lsl r0, r0, #6
add sp, #4
str r1, [r4, r0]
pop {r3, r4, pc}
_022397CC:
ldr r1, _02239830 ; =0x000011DE
mov r2, #0
strh r2, [r4, r1]
mov r1, #4
mov r2, #0xd
bl ov70_02238E50
mov r0, #9
str r0, [r4, #0x2c]
ldr r0, _0223981C ; =0x000005DC
bl PlaySE
add sp, #4
pop {r3, r4, pc}
_022397E8:
bl ov70_02238E64
add r2, r0, #0
ldr r0, _02239828 ; =0x00000F0F
mov r1, #7
str r0, [sp]
add r0, r4, #0
mov r3, #0
bl ov70_02239BDC
add r0, r4, #0
mov r1, #0xa
mov r2, #0xc
bl ov70_02238D84
ldr r0, _02239824 ; =0x00000DCC
mov r1, #0
ldr r0, [r4, r0]
bl Set2dSpriteAnimActiveFlag
ldr r0, _0223981C ; =0x000005DC
bl PlaySE
add sp, #4
pop {r3, r4, pc}
nop
_0223981C: .word 0x000005DC
_02239820: .word 0x00000708
_02239824: .word 0x00000DCC
_02239828: .word 0x00000F0F
_0223982C: .word 0x000005F3
_02239830: .word 0x000011DE
thumb_func_end ov70_02239740
thumb_func_start ov70_02239834
ov70_02239834: ; 0x02239834
push {r3, r4, r5, lr}
add r5, r0, #0
bl ov70_02239730
add r4, r0, #0
mov r0, #0
mvn r0, r0
cmp r4, r0
beq _02239876
mov r0, #0x47
lsl r0, r0, #2
strh r4, [r5, r0]
ldr r0, _0223993C ; =0x000005DC
bl PlaySE
mov r0, #0x47
lsl r0, r0, #2
ldrh r0, [r5, r0]
ldr r1, _02239940 ; =ov70_02245240
ldr r3, _02239944 ; =ov70_02245242
lsl r2, r0, #2
ldr r0, _02239948 ; =0x00000DCC
ldrh r1, [r1, r2]
ldrh r2, [r3, r2]
ldr r0, [r5, r0]
bl ov70_02238D8C
add r0, r5, #0
add r1, r4, #0
bl ov70_02239740
mov r0, #3
pop {r3, r4, r5, pc}
_02239876:
ldr r0, _0223994C ; =gSystem
mov r1, #2
ldr r0, [r0, #0x48]
tst r1, r0
beq _022398AC
add r0, r5, #0
bl ov70_02238E64
add r2, r0, #0
ldr r0, _02239950 ; =0x00000F0F
mov r1, #7
str r0, [sp]
add r0, r5, #0
mov r3, #0
bl ov70_02239BDC
add r0, r5, #0
mov r1, #0xa
mov r2, #0xc
bl ov70_02238D84
ldr r0, _02239948 ; =0x00000DCC
mov r1, #0
ldr r0, [r5, r0]
bl Set2dSpriteAnimActiveFlag
b _02239938
_022398AC:
mov r1, #1
tst r1, r0
beq _022398C0
mov r1, #0x47
lsl r1, r1, #2
ldrh r1, [r5, r1]
add r0, r5, #0
bl ov70_02239740
b _02239938
_022398C0:
mov r1, #0x40
add r2, r0, #0
tst r2, r1
beq _022398FE
add r0, r1, #0
add r0, #0xdc
ldrh r0, [r5, r0]
cmp r0, #0
beq _02239938
add r0, r1, #0
add r0, #0xdc
ldrh r0, [r5, r0]
add r1, #0xdc
sub r0, r0, #1
strh r0, [r5, r1]
ldr r0, _0223993C ; =0x000005DC
bl PlaySE
mov r0, #0x47
lsl r0, r0, #2
ldrh r0, [r5, r0]
ldr r1, _02239940 ; =ov70_02245240
ldr r2, _02239944 ; =ov70_02245242
lsl r3, r0, #2
ldr r0, _02239948 ; =0x00000DCC
ldrh r1, [r1, r3]
ldrh r2, [r2, r3]
ldr r0, [r5, r0]
bl ov70_02238D8C
b _02239938
_022398FE:
mov r1, #0x80
tst r0, r1
beq _02239938
add r0, r1, #0
add r0, #0x9c
ldrh r0, [r5, r0]
cmp r0, #2
bhs _02239938
add r0, r1, #0
add r0, #0x9c
ldrh r0, [r5, r0]
add r1, #0x9c
add r0, r0, #1
strh r0, [r5, r1]
ldr r0, _0223993C ; =0x000005DC
bl PlaySE
mov r0, #0x47
lsl r0, r0, #2
ldrh r0, [r5, r0]
ldr r1, _02239940 ; =ov70_02245240
ldr r2, _02239944 ; =ov70_02245242
lsl r3, r0, #2
ldr r0, _02239948 ; =0x00000DCC
ldrh r1, [r1, r3]
ldrh r2, [r2, r3]
ldr r0, [r5, r0]
bl ov70_02238D8C
_02239938:
mov r0, #3
pop {r3, r4, r5, pc}
.balign 4, 0
_0223993C: .word 0x000005DC
_02239940: .word ov70_02245240
_02239944: .word ov70_02245242
_02239948: .word 0x00000DCC
_0223994C: .word gSystem
_02239950: .word 0x00000F0F
thumb_func_end ov70_02239834
thumb_func_start ov70_02239954
ov70_02239954: ; 0x02239954
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
ldr r0, [r0, #0x1c]
bl PlayerProfile_GetTrainerGender
add r1, r0, #0
add r0, r4, #0
bl ov70_02241004
mov r0, #8
str r0, [r4, #0x2c]
ldr r0, _02239978 ; =0x000011DC
mov r1, #0
strh r1, [r4, r0]
mov r0, #3
pop {r4, pc}
nop
_02239978: .word 0x000011DC
thumb_func_end ov70_02239954
thumb_func_start ov70_0223997C
ov70_0223997C: ; 0x0223997C
ldr r1, _0223998C ; =0x000011DC
ldrh r1, [r0, r1]
cmp r1, #0
beq _02239988
mov r1, #9
str r1, [r0, #0x2c]
_02239988:
mov r0, #3
bx lr
.balign 4, 0
_0223998C: .word 0x000011DC
thumb_func_end ov70_0223997C
thumb_func_start ov70_02239990
ov70_02239990: ; 0x02239990
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldr r0, [r4, #0x18]
cmp r0, #0
bne _022399B6
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl BeginNormalPaletteFade
b _022399CE
_022399B6:
mov r0, #6
str r0, [sp]
mov r1, #0
mov r0, #1
str r0, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
add r3, r1, #0
bl BeginNormalPaletteFade
_022399CE:
mov r0, #0
str r0, [r4, #0x2c]
mov r0, #4
add sp, #0xc
pop {r3, r4, pc}
thumb_func_end ov70_02239990
thumb_func_start ov70_022399D8
ov70_022399D8: ; 0x022399D8
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
mov r0, #1
mov r1, #0xa
str r0, [sp]
add r2, r1, #0
ldr r0, [r4, #4]
add r2, #0xf8
mov r3, #3
bl ov70_02238C14
ldr r1, _02239A08 ; =0x000011C8
str r0, [r4, r1]
mov r0, #0xd
str r0, [r4, #0x2c]
ldr r0, _02239A0C ; =0x00000DCC
mov r1, #0
ldr r0, [r4, r0]
bl Set2dSpriteVisibleFlag
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_02239A08: .word 0x000011C8
_02239A0C: .word 0x00000DCC
thumb_func_end ov70_022399D8
thumb_func_start ov70_02239A10
ov70_02239A10: ; 0x02239A10
push {r4, lr}
add r4, r0, #0
bl ov70_02238C8C
cmp r0, #1
bne _02239A62
ldr r0, _02239A9C ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
ldr r0, _02239AA0 ; =0x00001158
mov r1, #1
add r0, r4, r0
bl ClearFrameAndWindow2
ldr r0, _02239AA0 ; =0x00001158
add r0, r4, r0
bl ClearWindowTilemapAndCopyToVram
ldr r0, _02239AA4 ; =0x00001198
add r0, r4, r0
bl ClearWindowTilemapAndCopyToVram
mov r0, #6
mov r1, #0
bl ToggleBgLayer
mov r0, #0xf1
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl ov70_02238E50
mov r0, #7
str r0, [r4, #0x2c]
b _02239A98
_02239A62:
cmp r0, #2
bne _02239A98
ldr r0, _02239A9C ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
ldr r0, _02239AA0 ; =0x00001158
mov r1, #1
add r0, r4, r0
bl ClearFrameAndWindow2
ldr r0, _02239AA0 ; =0x00001158
add r0, r4, r0
bl ClearWindowTilemapAndCopyToVram
ldr r0, _02239AA8 ; =0x00000DCC
mov r1, #1
ldr r0, [r4, r0]
bl Set2dSpriteAnimActiveFlag
mov r0, #5
str r0, [r4, #0x2c]
ldr r0, _02239AA8 ; =0x00000DCC
mov r1, #1
ldr r0, [r4, r0]
bl Set2dSpriteVisibleFlag
_02239A98:
mov r0, #3
pop {r4, pc}
.balign 4, 0
_02239A9C: .word 0x000011C8
_02239AA0: .word 0x00001158
_02239AA4: .word 0x00001198
_02239AA8: .word 0x00000DCC
thumb_func_end ov70_02239A10
thumb_func_start ov70_02239AAC
ov70_02239AAC: ; 0x02239AAC
push {r4, lr}
add r4, r0, #0
mov r0, #0xbf
lsl r0, r0, #4
ldr r0, [r4, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl TextPrinterCheckActive
cmp r0, #0
bne _02239AC6
ldr r0, [r4, #0x30]
str r0, [r4, #0x2c]
_02239AC6:
mov r0, #3
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02239AAC
thumb_func_start ov70_02239ACC
ov70_02239ACC: ; 0x02239ACC
push {r4, lr}
add r4, r0, #0
mov r0, #0xbf
lsl r0, r0, #4
ldr r0, [r4, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl TextPrinterCheckActive
cmp r0, #0
bne _02239AFA
mov r0, #0x47
lsl r0, r0, #6
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
cmp r1, #0x2d
ble _02239AFA
mov r1, #0
str r1, [r4, r0]
ldr r0, [r4, #0x30]
str r0, [r4, #0x2c]
_02239AFA:
mov r0, #3
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02239ACC
thumb_func_start ov70_02239B00
ov70_02239B00: ; 0x02239B00
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r7, r0, #0
ldr r0, _02239B7C ; =0x00000F58
ldrh r1, [r7, #0x36]
add r4, r7, r0
mov r0, #0xc
ldr r2, _02239B80 ; =ov70_0224526C
mul r0, r1
mov r6, #0
add r5, r2, r0
_02239B16:
mov r0, #0x78
str r0, [sp]
mov r0, #8
mov r2, #0
str r0, [sp, #4]
add r0, r4, #0
mov r1, #0xf
add r3, r2, #0
bl FillWindowPixelRect
mov r0, #0x78
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
add r0, r4, #0
mov r1, #0xe
mov r2, #0
mov r3, #8
bl FillWindowPixelRect
mov r0, #0x78
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
add r0, r4, #0
mov r1, #0xd
mov r2, #0
mov r3, #0xa
bl FillWindowPixelRect
mov r0, #0
str r0, [sp]
mov r1, #0xba
lsl r1, r1, #4
ldr r1, [r7, r1]
ldr r3, [r5]
add r0, r4, #0
mov r2, #4
bl ov70_02239C34
add r0, r4, #0
bl CopyWindowToVram
add r6, r6, #1
add r4, #0x10
add r5, r5, #4
cmp r6, #3
blt _02239B16
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_02239B7C: .word 0x00000F58
_02239B80: .word ov70_0224526C
thumb_func_end ov70_02239B00
thumb_func_start ov70_02239B84
ov70_02239B84: ; 0x02239B84
push {r4, r5, lr}
sub sp, #0xc
add r4, r2, #0
mov r2, #0xba
add r5, r0, #0
lsl r2, r2, #4
ldr r0, [r5, r2]
add r2, #0x1c
ldr r2, [r5, r2]
bl ReadMsgDataIntoString
ldr r0, _02239BD4 ; =0x00000F18
mov r1, #0xf
add r0, r5, r0
bl FillWindowPixelBuffer
ldr r0, _02239BD4 ; =0x00000F18
mov r1, #0
add r0, r5, r0
mov r2, #1
mov r3, #0xe
bl DrawFrameAndWindow2
mov r3, #0
str r3, [sp]
str r4, [sp, #4]
ldr r0, _02239BD4 ; =0x00000F18
ldr r2, _02239BD8 ; =0x00000BBC
str r3, [sp, #8]
ldr r2, [r5, r2]
add r0, r5, r0
mov r1, #1
bl AddTextPrinterParameterized
mov r1, #0xbf
lsl r1, r1, #4
str r0, [r5, r1]
add sp, #0xc
pop {r4, r5, pc}
nop
_02239BD4: .word 0x00000F18
_02239BD8: .word 0x00000BBC
thumb_func_end ov70_02239B84
thumb_func_start ov70_02239BDC
ov70_02239BDC: ; 0x02239BDC
push {r4, r5, lr}
sub sp, #0xc
add r4, r2, #0
mov r2, #0xba
add r5, r0, #0
lsl r2, r2, #4
ldr r0, [r5, r2]
add r2, #0x1c
ldr r2, [r5, r2]
bl ReadMsgDataIntoString
ldr r0, _02239C2C ; =0x00001158
mov r1, #0xf
add r0, r5, r0
bl FillWindowPixelBuffer
ldr r0, _02239C2C ; =0x00001158
mov r1, #0
add r0, r5, r0
mov r2, #1
mov r3, #0xe
bl DrawFrameAndWindow2
mov r3, #0
str r3, [sp]
str r4, [sp, #4]
ldr r0, _02239C2C ; =0x00001158
ldr r2, _02239C30 ; =0x00000BBC
str r3, [sp, #8]
ldr r2, [r5, r2]
add r0, r5, r0
mov r1, #1
bl AddTextPrinterParameterized
mov r1, #0xbf
lsl r1, r1, #4
str r0, [r5, r1]
add sp, #0xc
pop {r4, r5, pc}
nop
_02239C2C: .word 0x00001158
_02239C30: .word 0x00000BBC
thumb_func_end ov70_02239BDC
thumb_func_start ov70_02239C34
ov70_02239C34: ; 0x02239C34
push {r4, r5, r6, lr}
sub sp, #0x10
add r5, r0, #0
add r0, r1, #0
add r1, r3, #0
add r6, r2, #0
bl NewString_ReadMsgData
add r4, r0, #0
mov r3, #0
str r3, [sp]
ldr r0, _02239C68 ; =0x000A0900
str r3, [sp, #4]
str r0, [sp, #8]
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
str r3, [sp, #0xc]
bl AddTextPrinterParameterized2
add r0, r4, #0
bl String_Delete
add sp, #0x10
pop {r4, r5, r6, pc}
nop
_02239C68: .word 0x000A0900
thumb_func_end ov70_02239C34
thumb_func_start ov70_02239C6C
ov70_02239C6C: ; 0x02239C6C
push {r4, lr}
sub sp, #0x10
ldr r4, [r0, #4]
mov r0, #2
lsl r0, r0, #8
str r0, [sp]
mov r0, #0x3d
str r0, [sp, #4]
mov r0, #0x64
mov r1, #5
mov r2, #4
mov r3, #0
bl GfGfxLoader_GXLoadPal
mov r0, #0
str r0, [sp]
mov r0, #0x2a
lsl r0, r0, #0xa
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
mov r0, #0x64
mov r1, #0x11
add r2, r4, #0
mov r3, #5
bl GfGfxLoader_LoadCharData
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
mov r0, #0x64
mov r1, #0x28
add r2, r4, #0
mov r3, #5
bl GfGfxLoader_LoadScrnData
mov r0, #0x18
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #8
str r0, [sp, #8]
mov r0, #0x11
mov r2, #0
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #5
add r3, r2, #0
bl FillBgTilemapRect
add r0, r4, #0
mov r1, #5
bl BgCommitTilemapBufferToVram
mov r0, #4
mov r1, #0x20
mov r2, #0x3d
bl LoadFontPal1
add sp, #0x10
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02239C6C
thumb_func_start ov70_02239CF8
ov70_02239CF8: ; 0x02239CF8
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
ldr r2, [r4, #4]
mov r0, #0x64
mov r1, #0x12
mov r3, #6
bl GfGfxLoader_LoadCharData
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
ldr r2, [r4, #4]
mov r0, #0x64
mov r1, #0x29
mov r3, #6
bl GfGfxLoader_LoadScrnData
mov r0, #0xf1
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #1
bl Set2dSpriteVisibleFlag
add sp, #0x10
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02239CF8
thumb_func_start ov70_02239D44
ov70_02239D44: ; 0x02239D44
push {r4, r5, lr}
sub sp, #0x14
add r5, r0, #0
mov r0, #0x13
str r0, [sp]
mov r0, #0x10
str r0, [sp, #4]
mov r2, #4
add r4, r1, #0
ldr r1, _02239D88 ; =0x00001198
str r2, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
str r0, [sp, #0x10]
ldr r0, [r5, #4]
add r1, r5, r1
mov r3, #0xd
bl AddWindowParameterized
ldr r0, _02239D88 ; =0x00001198
mov r1, #0
add r0, r5, r0
bl FillWindowPixelBuffer
mov r1, #0xba
ldr r0, _02239D88 ; =0x00001198
lsl r1, r1, #4
ldr r1, [r5, r1]
add r0, r5, r0
add r2, r4, #0
bl ov70_022450EC
add sp, #0x14
pop {r4, r5, pc}
.balign 4, 0
_02239D88: .word 0x00001198
thumb_func_end ov70_02239D44
thumb_func_start ov70_02239D8C
ov70_02239D8C: ; 0x02239D8C
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
bl ov70_0223A1E4
ldr r0, [r4, #4]
bl ov70_02239EAC
add r0, r4, #0
bl ov70_02239FA4
add r0, r4, #0
bl ov70_0223A0D4
add r0, r4, #0
bl ov70_0223A06C
mov r0, #0x4f
lsl r0, r0, #2
add r0, r4, r0
bl Mon_GetBoxMon
str r0, [sp]
mov r0, #0x8a
lsl r0, r0, #2
mov r2, #0xba
add r0, r4, r0
lsl r2, r2, #4
str r0, [sp, #4]
add r1, r2, #4
ldr r0, [r4, r2]
sub r2, r2, #4
ldr r3, _02239E58 ; =0x00001058
ldr r1, [r4, r1]
ldr r2, [r4, r2]
add r3, r4, r3
bl ov70_0223A578
ldr r1, _02239E5C ; =0x00001118
mov r2, #0x92
add r0, r4, r1
str r0, [sp]
mov r0, #0xba
lsl r0, r0, #4
mov r3, #0x4f
sub r1, #0x50
lsl r2, r2, #2
lsl r3, r3, #2
ldr r0, [r4, r0]
add r1, r4, r1
add r2, r4, r2
add r3, r4, r3
bl ov70_0223A72C
ldr r1, _02239E60 ; =0x0000022F
mov r2, #0
ldrsb r0, [r4, r1]
add r1, r1, #1
ldrsb r1, [r4, r1]
bl ov70_0223F864
mov r1, #0x8b
lsl r1, r1, #2
ldrsh r2, [r4, r1]
ldr r3, _02239E64 ; =0x000010E8
add r1, r1, #2
str r2, [sp]
ldrsb r1, [r4, r1]
mov r2, #0xba
lsl r2, r2, #4
str r1, [sp, #4]
str r0, [sp, #8]
add r1, r2, #4
ldr r0, [r4, r2]
sub r2, r2, #4
ldr r1, [r4, r1]
ldr r2, [r4, r2]
add r3, r4, r3
bl ov70_0223F470
mov r0, #0x4f
lsl r0, r0, #2
add r0, r4, r0
bl ov70_0223A7E4
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
mov r3, #0
bl BeginNormalPaletteFade
mov r0, #0
str r0, [r4, #0x2c]
mov r0, #2
add sp, #0xc
pop {r3, r4, pc}
nop
_02239E58: .word 0x00001058
_02239E5C: .word 0x00001118
_02239E60: .word 0x0000022F
_02239E64: .word 0x000010E8
thumb_func_end ov70_02239D8C
thumb_func_start ov70_02239E68
ov70_02239E68: ; 0x02239E68
push {r3, lr}
ldr r1, [r0, #0x2c]
lsl r2, r1, #2
ldr r1, _02239E78 ; =ov70_022464A8
ldr r1, [r1, r2]
blx r1
pop {r3, pc}
nop
_02239E78: .word ov70_022464A8
thumb_func_end ov70_02239E68
thumb_func_start ov70_02239E7C
ov70_02239E7C: ; 0x02239E7C
push {r4, lr}
add r4, r0, #0
bl ov70_0223A0C4
add r0, r4, #0
bl ov70_0223A224
add r0, r4, #0
bl ov70_0223A1A0
ldr r0, [r4, #4]
bl ov70_02239F78
mov r0, #0xf1
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl Set2dSpriteVisibleFlag
add r0, r4, #0
bl ov70_02238E58
mov r0, #1
pop {r4, pc}
thumb_func_end ov70_02239E7C
thumb_func_start ov70_02239EAC
ov70_02239EAC: ; 0x02239EAC
push {r3, r4, r5, lr}
sub sp, #0x70
ldr r5, _02239F68 ; =ov70_0224539C
add r4, r0, #0
ldmia r5!, {r0, r1}
add r3, sp, #0x54
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]
add r0, r4, #0
add r3, r1, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #0
bl BgClearTilemapBufferAndCommit
ldr r5, _02239F6C ; =ov70_02245380
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, #1
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
ldr r5, _02239F70 ; =ov70_02245364
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, #2
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
ldr r5, _02239F74 ; =ov70_02245348
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, #3
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #3
bl BgClearTilemapBufferAndCommit
mov r0, #0
mov r1, #0x20
add r2, r0, #0
mov r3, #0x3d
bl BG_ClearCharDataRange
mov r0, #3
mov r1, #0x20
mov r2, #0
mov r3, #0x3d
bl BG_ClearCharDataRange
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl ov70_022391F0
add sp, #0x70
pop {r3, r4, r5, pc}
.balign 4, 0
_02239F68: .word ov70_0224539C
_02239F6C: .word ov70_02245380
_02239F70: .word ov70_02245364
_02239F74: .word ov70_02245348
thumb_func_end ov70_02239EAC
thumb_func_start ov70_02239F78
ov70_02239F78: ; 0x02239F78
push {r4, lr}
add r4, r0, #0
bl ov70_022392BC
add r0, r4, #0
mov r1, #2
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #1
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #0
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #3
bl FreeBgTilemapBuffer
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02239F78
thumb_func_start ov70_02239FA4
ov70_02239FA4: ; 0x02239FA4
push {r4, r5, r6, lr}
sub sp, #0x10
add r6, r0, #0
ldr r5, [r6, #4]
mov r0, #0x64
mov r1, #0x3d
bl NARC_New
mov r1, #0x60
str r1, [sp]
mov r1, #0x3d
mov r2, #0
str r1, [sp, #4]
mov r1, #8
add r3, r2, #0
add r4, r0, #0
bl GfGfxLoader_GXLoadPalFromOpenNarc
mov r0, #1
lsl r0, r0, #8
str r0, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r4, #0
mov r1, #5
mov r2, #4
mov r3, #0
bl GfGfxLoader_GXLoadPalFromOpenNarc
mov r1, #0x1a
mov r0, #0
lsl r1, r1, #4
mov r2, #0x3d
bl LoadFontPal1
ldr r0, [r6]
ldr r0, [r0, #0x24]
bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r5, #0
mov r1, #0
mov r2, #1
mov r3, #0xe
bl LoadUserFrameGfx2
mov r1, #0
str r1, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r5, #0
mov r2, #0x1f
mov r3, #0xb
bl LoadUserFrameGfx1
mov r0, #0
str r0, [sp]
mov r0, #0xa
lsl r0, r0, #8
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #0x14
add r2, r5, #0
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #0x1c
add r2, r5, #0
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #4
mov r1, #0x20
mov r2, #0x3d
bl LoadFontPal1
add r0, r6, #0
bl ov70_02239CF8
add r0, r4, #0
bl NARC_Delete
add sp, #0x10
pop {r4, r5, r6, pc}
thumb_func_end ov70_02239FA4
thumb_func_start ov70_0223A06C
ov70_0223A06C: ; 0x0223A06C
push {r4, lr}
sub sp, #0x30
mov r2, #0xd6
add r4, r0, #0
lsl r2, r2, #4
add r0, sp, #0
add r1, r4, #0
add r2, r4, r2
mov r3, #1
bl ov70_02238B54
mov r0, #0xd
lsl r0, r0, #0x10
str r0, [sp, #8]
mov r0, #0x3a
lsl r0, r0, #0xc
str r0, [sp, #0xc]
add r0, sp, #0
bl CreateSprite
mov r1, #0xee
lsl r1, r1, #4
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
mov r0, #0xee
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0x25
bl Set2dSpriteAnimSeqNo
mov r0, #0xee
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #1
bl sub_02024A04
bl sub_0203A880
add sp, #0x30
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_0223A06C
thumb_func_start ov70_0223A0C4
ov70_0223A0C4: ; 0x0223A0C4
mov r1, #0xee
lsl r1, r1, #4
ldr r3, _0223A0D0 ; =Sprite_Delete
ldr r0, [r0, r1]
bx r3
nop
_0223A0D0: .word Sprite_Delete
thumb_func_end ov70_0223A0C4
thumb_func_start ov70_0223A0D4
ov70_0223A0D4: ; 0x0223A0D4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r7, r0, #0
mov r0, #0x15
str r0, [sp]
mov r0, #0x1b
str r0, [sp, #4]
mov r3, #2
ldr r1, _0223A190 ; =0x00000F18
str r3, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
mov r0, #0x28
str r0, [sp, #0x10]
ldr r0, [r7, #4]
add r1, r7, r1
mov r2, #0
bl AddWindowParameterized
ldr r0, _0223A190 ; =0x00000F18
mov r1, #0
add r0, r7, r0
bl FillWindowPixelBuffer
mov r0, #0xf
str r0, [sp]
mov r0, #0xa
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
mov r0, #0x5e
ldr r1, _0223A194 ; =0x00000F58
str r0, [sp, #0x10]
ldr r0, [r7, #4]
add r1, r7, r1
mov r2, #0
mov r3, #0x15
bl AddWindowParameterized
mov r0, #0
str r0, [sp, #0x14]
ldr r0, _0223A198 ; =0x00001058
ldr r4, _0223A19C ; =ov70_022453B8
mov r6, #0x86
add r5, r7, r0
_0223A132:
ldr r0, [r4, #4]
add r1, r5, #0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldr r0, [r4, #8]
mov r2, #3
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
ldr r0, [r4, #0xc]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
lsl r0, r6, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r3, [r4]
ldr r0, [r7, #4]
lsl r3, r3, #0x18
lsr r3, r3, #0x18
bl AddWindowParameterized
add r0, r5, #0
mov r1, #0
bl FillWindowPixelBuffer
ldr r1, [r4, #8]
ldr r0, [r4, #0xc]
add r4, #0x10
mul r0, r1
add r6, r6, r0
ldr r0, [sp, #0x14]
add r5, #0x10
add r0, r0, #1
str r0, [sp, #0x14]
cmp r0, #0xe
blt _0223A132
add r0, r7, #0
mov r1, #2
bl ov70_02239D44
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_0223A190: .word 0x00000F18
_0223A194: .word 0x00000F58
_0223A198: .word 0x00001058
_0223A19C: .word ov70_022453B8
thumb_func_end ov70_0223A0D4
thumb_func_start ov70_0223A1A0
ov70_0223A1A0: ; 0x0223A1A0
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _0223A1D4 ; =0x00001198
add r0, r5, r0
bl RemoveWindow
ldr r0, _0223A1D8 ; =0x00000F18
add r0, r5, r0
bl RemoveWindow
ldr r0, _0223A1DC ; =0x00000F58
add r0, r5, r0
bl RemoveWindow
ldr r0, _0223A1E0 ; =0x00001058
mov r4, #0
add r5, r5, r0
_0223A1C2:
add r0, r5, #0
bl RemoveWindow
add r4, r4, #1
add r5, #0x10
cmp r4, #0xe
blt _0223A1C2
pop {r3, r4, r5, pc}
nop
_0223A1D4: .word 0x00001198
_0223A1D8: .word 0x00000F18
_0223A1DC: .word 0x00000F58
_0223A1E0: .word 0x00001058
thumb_func_end ov70_0223A1A0
thumb_func_start ov70_0223A1E4
ov70_0223A1E4: ; 0x0223A1E4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #0xb4
mov r1, #0x3d
bl String_New
ldr r1, _0223A220 ; =0x00000BBC
str r0, [r5, r1]
sub r1, #0x1c
ldr r0, [r5, r1]
mov r1, #0x27
bl NewString_ReadMsgData
mov r1, #0x2f
lsl r1, r1, #6
str r0, [r5, r1]
mov r4, #0
mov r7, #0x14
add r6, r1, #4
_0223A20A:
add r0, r7, #0
mov r1, #0x3d
bl String_New
str r0, [r5, r6]
add r4, r4, #1
add r5, r5, #4
cmp r4, #0xa
blt _0223A20A
pop {r3, r4, r5, r6, r7, pc}
nop
_0223A220: .word 0x00000BBC
thumb_func_end ov70_0223A1E4
thumb_func_start ov70_0223A224
ov70_0223A224: ; 0x0223A224
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
ldr r6, _0223A250 ; =0x00000BC4
mov r4, #0
add r5, r7, #0
_0223A22E:
ldr r0, [r5, r6]
bl String_Delete
add r4, r4, #1
add r5, r5, #4
cmp r4, #0xa
blt _0223A22E
ldr r0, _0223A254 ; =0x00000BBC
ldr r0, [r7, r0]
bl String_Delete
mov r0, #0x2f
lsl r0, r0, #6
ldr r0, [r7, r0]
bl String_Delete
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0223A250: .word 0x00000BC4
_0223A254: .word 0x00000BBC
thumb_func_end ov70_0223A224
thumb_func_start ov70_0223A258
ov70_0223A258: ; 0x0223A258
mov r1, #1
str r1, [r0, #0x2c]
mov r0, #3
bx lr
thumb_func_end ov70_0223A258
thumb_func_start ov70_0223A260
ov70_0223A260: ; 0x0223A260
push {r4, lr}
sub sp, #8
ldr r1, _0223A2C0 ; =gSystem
add r4, r0, #0
ldr r2, [r1, #0x48]
mov r1, #1
add r3, r2, #0
tst r3, r1
bne _0223A27A
ldr r3, _0223A2C4 ; =gSystem + 0x40
ldrh r3, [r3, #0x24]
cmp r3, #0
beq _0223A2A4
_0223A27A:
ldr r0, _0223A2C8 ; =0x00000F0F
mov r1, #5
str r0, [sp]
mov r0, #0x4f
lsl r0, r0, #2
add r0, r4, r0
str r0, [sp, #4]
add r0, r4, #0
mov r2, #1
mov r3, #0
bl ov70_0223A4F4
add r0, r4, #0
mov r1, #3
mov r2, #7
bl ov70_02238D84
ldr r0, _0223A2CC ; =0x000005DC
bl PlaySE
b _0223A2B8
_0223A2A4:
mov r3, #2
tst r2, r3
beq _0223A2B8
mov r2, #0
str r3, [r4, #0x2c]
bl ov70_02238E50
ldr r0, _0223A2CC ; =0x000005DC
bl PlaySE
_0223A2B8:
mov r0, #3
add sp, #8
pop {r4, pc}
nop
_0223A2C0: .word gSystem
_0223A2C4: .word gSystem + 0x40
_0223A2C8: .word 0x00000F0F
_0223A2CC: .word 0x000005DC
thumb_func_end ov70_0223A260
thumb_func_start ov70_0223A2D0
ov70_0223A2D0: ; 0x0223A2D0
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
mov r0, #6
mov r1, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
add r3, r1, #0
bl BeginNormalPaletteFade
mov r0, #0
str r0, [r4, #0x2c]
mov r0, #4
add sp, #0xc
pop {r3, r4, pc}
thumb_func_end ov70_0223A2D0
thumb_func_start ov70_0223A2F8
ov70_0223A2F8: ; 0x0223A2F8
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
mov r0, #1
str r0, [sp]
ldr r0, [r4, #4]
ldr r2, _0223A31C ; =0x0000016A
mov r1, #0xc
mov r3, #8
bl ov70_02238C14
ldr r1, _0223A320 ; =0x000011C8
str r0, [r4, r1]
mov r0, #6
str r0, [r4, #0x2c]
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0223A31C: .word 0x0000016A
_0223A320: .word 0x000011C8
thumb_func_end ov70_0223A2F8
thumb_func_start ov70_0223A324
ov70_0223A324: ; 0x0223A324
push {r4, lr}
add r4, r0, #0
bl ov70_02238C8C
cmp r0, #1
bne _0223A354
ldr r0, _0223A378 ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
mov r0, #2
str r0, [r4, #0x2c]
ldr r0, _0223A37C ; =0x000011FC
mov r1, #1
str r1, [r4, r0]
add r0, r4, #0
mov r1, #7
mov r2, #8
bl ov70_02238E50
add r0, r4, #0
bl ov70_0223A874
b _0223A372
_0223A354:
cmp r0, #2
bne _0223A372
ldr r0, _0223A378 ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
ldr r0, _0223A380 ; =0x00000F18
mov r1, #0
add r0, r4, r0
str r1, [r4, #0x2c]
bl ClearFrameAndWindow2
add r0, r4, #0
bl ov70_0223A874
_0223A372:
mov r0, #3
pop {r4, pc}
nop
_0223A378: .word 0x000011C8
_0223A37C: .word 0x000011FC
_0223A380: .word 0x00000F18
thumb_func_end ov70_0223A324
thumb_func_start ov70_0223A384
ov70_0223A384: ; 0x0223A384
push {r4, lr}
add r4, r0, #0
mov r0, #2
mov r1, #0x3d
bl ListMenuItems_New
ldr r1, _0223A3D4 ; =0x000011AC
mov r2, #0x37
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #0xba
lsl r1, r1, #4
ldr r1, [r4, r1]
mov r3, #1
bl ListMenuItems_AppendFromMsgData
ldr r0, _0223A3D4 ; =0x000011AC
mov r1, #0xba
lsl r1, r1, #4
ldr r0, [r4, r0]
ldr r1, [r4, r1]
mov r2, #0x38
mov r3, #2
bl ListMenuItems_AppendFromMsgData
add r0, r4, #0
mov r1, #2
mov r2, #0xd
bl ov70_02238CAC
ldr r1, _0223A3D8 ; =0x000011D0
str r0, [r4, r1]
mov r0, #1
bl ov70_02238FB4
mov r0, #8
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
nop
_0223A3D4: .word 0x000011AC
_0223A3D8: .word 0x000011D0
thumb_func_end ov70_0223A384
thumb_func_start ov70_0223A3DC
ov70_0223A3DC: ; 0x0223A3DC
push {r3, r4, r5, lr}
sub sp, #8
add r5, r0, #0
ldr r0, _0223A494 ; =0x000011D0
ldr r0, [r5, r0]
bl sub_020186A4
cmp r0, #1
bne _0223A45E
add r0, r5, #0
bl ov70_02238D60
ldr r0, _0223A498 ; =0x000011AC
ldr r0, [r5, r0]
bl ListMenuItems_Delete
mov r0, #0x4f
lsl r0, r0, #2
add r4, r5, r0
add r0, r4, #0
bl ov70_0223E76C
cmp r0, #0
beq _0223A43A
ldr r0, [r5]
ldr r0, [r0, #8]
bl GetPartyCount
cmp r0, #6
bne _0223A43A
ldr r0, _0223A49C ; =0x00000F0F
mov r1, #0x24
str r0, [sp]
add r0, r5, #0
mov r2, #1
mov r3, #0
str r4, [sp, #4]
bl ov70_0223A4F4
add r0, r5, #0
mov r1, #3
mov r2, #1
bl ov70_02238D84
add sp, #8
mov r0, #3
pop {r3, r4, r5, pc}
_0223A43A:
ldr r0, _0223A49C ; =0x00000F0F
mov r1, #6
str r0, [sp]
add r0, r5, #0
mov r2, #1
mov r3, #0
str r4, [sp, #4]
bl ov70_0223A4F4
add r0, r5, #0
mov r1, #3
mov r2, #5
bl ov70_02238D84
add r0, r5, #0
bl ov70_0223A874
b _0223A48C
_0223A45E:
cmp r0, #2
beq _0223A46A
mov r1, #1
mvn r1, r1
cmp r0, r1
bne _0223A48C
_0223A46A:
add r0, r5, #0
bl ov70_02238D60
ldr r0, _0223A498 ; =0x000011AC
ldr r0, [r5, r0]
bl ListMenuItems_Delete
mov r0, #2
str r0, [r5, #0x2c]
add r0, r5, #0
mov r1, #1
mov r2, #0
bl ov70_02238E50
add r0, r5, #0
bl ov70_0223A874
_0223A48C:
mov r0, #3
add sp, #8
pop {r3, r4, r5, pc}
nop
_0223A494: .word 0x000011D0
_0223A498: .word 0x000011AC
_0223A49C: .word 0x00000F0F
thumb_func_end ov70_0223A3DC
thumb_func_start ov70_0223A4A0
ov70_0223A4A0: ; 0x0223A4A0
push {r4, lr}
add r4, r0, #0
mov r0, #0xbf
lsl r0, r0, #4
ldr r0, [r4, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl TextPrinterCheckActive
cmp r0, #0
bne _0223A4BA
ldr r0, [r4, #0x30]
str r0, [r4, #0x2c]
_0223A4BA:
mov r0, #3
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_0223A4A0
thumb_func_start ov70_0223A4C0
ov70_0223A4C0: ; 0x0223A4C0
push {r4, lr}
add r4, r0, #0
mov r0, #0xbf
lsl r0, r0, #4
ldr r0, [r4, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl TextPrinterCheckActive
cmp r0, #0
bne _0223A4EE
mov r0, #0x47
lsl r0, r0, #6
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
cmp r1, #0x2d
ble _0223A4EE
mov r1, #0
str r1, [r4, r0]
ldr r0, [r4, #0x30]
str r0, [r4, #0x2c]
_0223A4EE:
mov r0, #3
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_0223A4C0
thumb_func_start ov70_0223A4F4
ov70_0223A4F4: ; 0x0223A4F4
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r0, #0
ldr r0, [sp, #0x24]
add r6, r1, #0
add r4, r2, #0
bl Mon_GetBoxMon
add r2, r0, #0
ldr r0, _0223A56C ; =0x00000B9C
mov r1, #0
ldr r0, [r5, r0]
bl BufferBoxMonSpeciesName
mov r0, #0xba
lsl r0, r0, #4
ldr r0, [r5, r0]
add r1, r6, #0
bl NewString_ReadMsgData
add r6, r0, #0
ldr r1, _0223A56C ; =0x00000B9C
add r2, r6, #0
ldr r0, [r5, r1]
add r1, #0x20
ldr r1, [r5, r1]
bl StringExpandPlaceholders
ldr r0, _0223A570 ; =0x00000F18
mov r1, #0xf
add r0, r5, r0
bl FillWindowPixelBuffer
ldr r0, _0223A570 ; =0x00000F18
mov r1, #0
add r0, r5, r0
mov r2, #1
mov r3, #0xe
bl DrawFrameAndWindow2
mov r3, #0
str r3, [sp]
str r4, [sp, #4]
ldr r0, _0223A570 ; =0x00000F18
ldr r2, _0223A574 ; =0x00000BBC
str r3, [sp, #8]
ldr r2, [r5, r2]
add r0, r5, r0
mov r1, #1
bl AddTextPrinterParameterized
mov r1, #0xbf
lsl r1, r1, #4
str r0, [r5, r1]
add r0, r6, #0
bl String_Delete
add sp, #0xc
pop {r3, r4, r5, r6, pc}
nop
_0223A56C: .word 0x00000B9C
_0223A570: .word 0x00000F18
_0223A574: .word 0x00000BBC
thumb_func_end ov70_0223A4F4
thumb_func_start ov70_0223A578
ov70_0223A578: ; 0x0223A578
push {r4, r5, r6, r7, lr}
sub sp, #0x3c
add r5, r0, #0
str r1, [sp, #8]
mov r0, #0x16
mov r1, #0x3d
add r7, r2, #0
add r6, r3, #0
ldr r4, [sp, #0x54]
bl String_New
str r0, [sp, #0x1c]
mov r0, #0x12
mov r1, #0x3d
bl String_New
str r0, [sp, #0x18]
ldr r0, [sp, #0x50]
ldr r2, [sp, #0x1c]
mov r1, #0x77
bl GetBoxMonData
mov r2, #0
ldrsh r0, [r4, r2]
mov r1, #6
str r0, [sp, #0x10]
mov r0, #2
ldrsb r0, [r4, r0]
str r0, [sp, #0x14]
mov r0, #3
ldrsb r4, [r4, r0]
ldr r0, [sp, #0x50]
bl GetBoxMonData
str r0, [sp, #0x38]
add r0, r5, #0
mov r1, #0x49
bl NewString_ReadMsgData
str r0, [sp, #0x24]
ldr r0, [sp, #0x14]
ldr r2, _0223A71C ; =ov70_02245910
lsl r0, r0, #2
str r0, [sp, #0xc]
ldr r1, [sp, #0xc]
add r0, r5, #0
ldr r1, [r2, r1]
bl NewString_ReadMsgData
str r0, [sp, #0x30]
add r0, r5, #0
mov r1, #0x6a
bl NewString_ReadMsgData
str r0, [sp, #0x2c]
mov r0, #0
str r0, [sp]
mov r0, #1
mov r1, #3
str r0, [sp, #4]
add r0, r7, #0
add r2, r4, #0
add r3, r1, #0
bl BufferIntegerAsString
add r0, r7, #0
add r1, r5, #0
mov r2, #0x6b
mov r3, #0x3d
bl ReadMsgData_ExpandPlaceholders
str r0, [sp, #0x28]
ldr r0, [sp, #8]
ldr r1, [sp, #0x10]
bl NewString_ReadMsgData
ldr r1, [sp, #0x38]
str r0, [sp, #0x34]
lsl r1, r1, #0x10
ldr r0, [sp, #0x18]
lsr r1, r1, #0x10
mov r2, #0x3d
bl GetItemNameIntoString
add r0, r5, #0
mov r1, #0x3b
bl NewString_ReadMsgData
mov r4, #0
str r0, [sp, #0x20]
add r5, r6, #0
add r7, r4, #0
_0223A630:
add r0, r5, #0
add r1, r7, #0
bl FillWindowPixelBuffer
add r4, r4, #1
add r5, #0x10
cmp r4, #6
blt _0223A630
mov r2, #0
ldr r0, _0223A720 ; =0x00010200
str r2, [sp]
str r0, [sp, #4]
ldr r1, [sp, #0x1c]
add r0, r6, #0
add r3, r2, #0
bl ov70_02245084
ldr r0, [sp, #0x14]
cmp r0, #3
beq _0223A66E
mov r3, #0
ldr r1, _0223A724 ; =ov70_0224649C
ldr r0, [sp, #0xc]
str r3, [sp]
ldr r0, [r1, r0]
ldr r1, [sp, #0x30]
str r0, [sp, #4]
add r0, r6, #0
mov r2, #0x40
bl ov70_02245084
_0223A66E:
mov r2, #0
ldr r0, _0223A720 ; =0x00010200
str r2, [sp]
str r0, [sp, #4]
add r0, r6, #0
ldr r1, [sp, #0x34]
add r0, #0x10
add r3, r2, #0
bl ov70_02245084
mov r2, #0
ldr r0, _0223A720 ; =0x00010200
str r2, [sp]
str r0, [sp, #4]
add r0, r6, #0
ldr r1, [sp, #0x2c]
add r0, #0x20
add r3, r2, #0
bl ov70_02245084
mov r2, #0
ldr r0, _0223A720 ; =0x00010200
str r2, [sp]
str r0, [sp, #4]
add r0, r6, #0
ldr r1, [sp, #0x28]
add r0, #0x30
add r3, r2, #0
bl ov70_02245084
mov r2, #0
ldr r0, _0223A728 ; =0x000F0200
str r2, [sp]
str r0, [sp, #4]
add r0, r6, #0
ldr r1, [sp, #0x24]
add r0, #0x40
add r3, r2, #0
bl ov70_02245084
mov r2, #0
ldr r0, _0223A720 ; =0x00010200
str r2, [sp]
str r0, [sp, #4]
add r0, r6, #0
ldr r1, [sp, #0x18]
add r0, #0x50
add r3, r2, #0
bl ov70_02245084
mov r2, #0
ldr r0, _0223A728 ; =0x000F0200
str r2, [sp]
add r6, #0x60
str r0, [sp, #4]
ldr r1, [sp, #0x20]
add r0, r6, #0
add r3, r2, #0
bl ov70_02245084
ldr r0, [sp, #0x24]
bl String_Delete
ldr r0, [sp, #0x18]
bl String_Delete
ldr r0, [sp, #0x2c]
bl String_Delete
ldr r0, [sp, #0x28]
bl String_Delete
ldr r0, [sp, #0x30]
bl String_Delete
ldr r0, [sp, #0x1c]
bl String_Delete
ldr r0, [sp, #0x34]
bl String_Delete
ldr r0, [sp, #0x20]
bl String_Delete
add sp, #0x3c
pop {r4, r5, r6, r7, pc}
nop
_0223A71C: .word ov70_02245910
_0223A720: .word 0x00010200
_0223A724: .word ov70_0224649C
_0223A728: .word 0x000F0200
thumb_func_end ov70_0223A578
thumb_func_start ov70_0223A72C
ov70_0223A72C: ; 0x0223A72C
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r7, r0, #0
add r5, r1, #0
mov r0, #0x10
mov r1, #0x3d
str r2, [sp, #8]
str r3, [sp, #0xc]
bl String_New
add r4, r0, #0
mov r0, #0x10
mov r1, #0x3d
bl String_New
add r6, r0, #0
add r0, r7, #0
mov r1, #0x31
bl NewString_ReadMsgData
str r0, [sp, #0x10]
ldr r1, [sp, #8]
add r0, r4, #0
bl CopyU16ArrayToString
add r0, r7, #0
mov r1, #0xb4
bl NewString_ReadMsgData
add r7, r0, #0
ldr r0, [sp, #0xc]
mov r1, #0x91
add r2, r6, #0
bl GetMonData
mov r2, #0
ldr r0, _0223A7DC ; =0x000F0200
str r2, [sp]
str r0, [sp, #4]
ldr r1, [sp, #0x10]
add r0, r5, #0
add r3, r2, #0
bl ov70_02245084
mov r2, #0
ldr r0, _0223A7E0 ; =0x00010200
str r2, [sp]
add r5, #0x10
str r0, [sp, #4]
add r0, r5, #0
add r1, r4, #0
add r3, r2, #0
bl ov70_02245084
mov r2, #0
ldr r0, _0223A7DC ; =0x000F0200
str r2, [sp]
str r0, [sp, #4]
ldr r0, [sp, #0x28]
add r1, r7, #0
add r3, r2, #0
bl ov70_02245084
mov r2, #0
ldr r0, _0223A7E0 ; =0x00010200
str r2, [sp]
str r0, [sp, #4]
ldr r0, [sp, #0x28]
add r1, r6, #0
add r0, #0x10
add r3, r2, #0
bl ov70_02245084
ldr r0, [sp, #0x10]
bl String_Delete
add r0, r4, #0
bl String_Delete
add r0, r7, #0
bl String_Delete
add r0, r6, #0
bl String_Delete
add sp, #0x14
pop {r4, r5, r6, r7, pc}
nop
_0223A7DC: .word 0x000F0200
_0223A7E0: .word 0x00010200
thumb_func_end ov70_0223A72C
thumb_func_start ov70_0223A7E4
ov70_0223A7E4: ; 0x0223A7E4
push {r4, r5, r6, lr}
sub sp, #0x30
mov r1, #0x32
add r5, r0, #0
mov r0, #0x3d
lsl r1, r1, #6
bl AllocFromHeap
add r4, r0, #0
add r0, sp, #0x20
add r1, r5, #0
mov r2, #2
bl GetPokemonSpriteCharAndPlttNarcIds
mov r1, #0
add r0, r5, #0
add r2, r1, #0
bl GetMonData
add r6, r0, #0
add r0, r5, #0
mov r1, #5
mov r2, #0
bl GetMonData
mov r3, #0
str r3, [sp]
mov r1, #0xa
str r1, [sp, #4]
str r1, [sp, #8]
str r4, [sp, #0xc]
str r6, [sp, #0x10]
str r3, [sp, #0x14]
mov r1, #2
str r1, [sp, #0x18]
str r0, [sp, #0x1c]
add r1, sp, #0x20
ldrh r0, [r1]
ldrh r1, [r1, #2]
mov r2, #0x3d
bl sub_02014494
mov r1, #0x32
add r0, r4, #0
lsl r1, r1, #6
bl DC_FlushRange
mov r1, #0x4a
mov r2, #0x32
add r0, r4, #0
lsl r1, r1, #8
lsl r2, r2, #6
bl GX_LoadOBJ
mov r0, #0x20
str r0, [sp]
mov r0, #0x3d
mov r3, #0x1a
str r0, [sp, #4]
add r1, sp, #0x20
ldrh r0, [r1]
ldrh r1, [r1, #4]
mov r2, #1
lsl r3, r3, #4
bl GfGfxLoader_GXLoadPal
add r0, r4, #0
bl FreeToHeap
add sp, #0x30
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov70_0223A7E4
thumb_func_start ov70_0223A874
ov70_0223A874: ; 0x0223A874
push {r3, r4, lr}
sub sp, #0xc
ldr r1, _0223A8B4 ; =0x0000022F
add r4, r0, #0
ldrsb r0, [r4, r1]
add r1, r1, #1
ldrsb r1, [r4, r1]
mov r2, #0
bl ov70_0223F864
mov r1, #0x8b
lsl r1, r1, #2
ldrsh r2, [r4, r1]
add r1, r1, #2
ldr r3, _0223A8B8 ; =0x000010E8
str r2, [sp]
ldrsb r1, [r4, r1]
mov r2, #0xba
lsl r2, r2, #4
str r1, [sp, #4]
str r0, [sp, #8]
add r1, r2, #4
ldr r0, [r4, r2]
sub r2, r2, #4
ldr r1, [r4, r1]
ldr r2, [r4, r2]
add r3, r4, r3
bl ov70_0223F470
add sp, #0xc
pop {r3, r4, pc}
nop
_0223A8B4: .word 0x0000022F
_0223A8B8: .word 0x000010E8
thumb_func_end ov70_0223A874
thumb_func_start ov70_0223A8BC
ov70_0223A8BC: ; 0x0223A8BC
push {r4, r5, lr}
sub sp, #0xc
add r4, r0, #0
bl ov70_0223AE98
ldr r1, _0223AA60 ; =0x00000F14
ldr r0, [r4, #4]
ldr r2, [r4, r1]
mov r1, #0x1f
mvn r1, r1
sub r1, r1, r2
bl ov70_0223AB3C
add r0, r4, #0
bl ov70_0223ABF4
add r0, r4, #0
bl ov70_0223ACF4
add r0, r4, #0
bl ov70_0223AC98
mov r0, #0x4b
lsl r0, r0, #2
ldr r1, [r4, r0]
sub r0, #8
add r5, r1, #0
mul r5, r0
mov r0, #0x26
lsl r0, r0, #4
add r0, r4, r0
add r0, r0, r5
bl Mon_GetBoxMon
str r0, [sp]
mov r0, #0xd3
lsl r0, r0, #2
add r0, r4, r0
mov r2, #0xba
add r0, r0, r5
lsl r2, r2, #4
str r0, [sp, #4]
add r1, r2, #4
ldr r0, [r4, r2]
sub r2, r2, #4
ldr r3, _0223AA64 ; =0x00001058
ldr r1, [r4, r1]
ldr r2, [r4, r2]
add r3, r4, r3
bl ov70_0223A578
mov r0, #0x4b
lsl r0, r0, #2
ldr r1, [r4, r0]
mov r2, #0xdb
add r3, r1, #0
sub r0, #8
mov r5, #0x26
lsl r2, r2, #2
lsl r5, r5, #4
ldr r1, _0223AA68 ; =0x00001118
mul r3, r0
add r0, r4, r1
str r0, [sp]
mov r0, #0xba
lsl r0, r0, #4
sub r1, #0x50
add r2, r4, r2
ldr r0, [r4, r0]
add r5, r4, r5
add r2, r2, r3
add r1, r4, r1
add r3, r5, r3
bl ov70_0223A72C
mov r0, #0x26
lsl r0, r0, #4
add r2, r4, r0
mov r0, #0x4b
lsl r0, r0, #2
ldr r1, [r4, r0]
sub r0, #8
mul r0, r1
add r0, r2, r0
bl ov70_0223A7E4
mov r0, #0xba
lsl r0, r0, #4
ldr r1, _0223AA6C ; =0x00001138
ldr r0, [r4, r0]
add r1, r4, r1
mov r2, #0x4d
bl ov70_0223B3BC
mov r0, #0xba
lsl r0, r0, #4
ldr r1, _0223AA70 ; =0x000010E8
ldr r0, [r4, r0]
add r1, r4, r1
mov r2, #0x51
bl ov70_0223B3BC
mov r0, #0xba
lsl r0, r0, #4
ldr r1, _0223AA74 ; =0x00000F58
ldr r0, [r4, r0]
add r1, r4, r1
mov r2, #0x58
bl ov70_0223B3EC
mov r0, #0xba
lsl r0, r0, #4
ldr r1, _0223AA78 ; =0x00000F68
ldr r0, [r4, r0]
add r1, r4, r1
mov r2, #0x6d
bl ov70_0223B3EC
add r0, r4, #0
bl ov70_0223B258
ldr r2, _0223AA60 ; =0x00000F14
mov r1, #0x4b
lsl r1, r1, #2
ldr r2, [r4, r2]
ldr r1, [r4, r1]
add r0, r4, #0
neg r2, r2
bl ov70_02241330
ldr r1, _0223AA7C ; =ov70_0223B4D4
ldr r0, _0223AA80 ; =0x00001208
ldr r2, _0223AA84 ; =0x04000304
str r1, [r4, r0]
ldrh r1, [r2]
lsr r0, r2, #0xb
orr r0, r1
strh r0, [r2]
ldr r0, [r4, #0x24]
cmp r0, #0x11
bne _0223AA54
ldr r0, _0223AA88 ; =0x0400006C
bl GXx_GetMasterBrightness_
mov r1, #0xf
mvn r1, r1
cmp r0, r1
bne _0223AA0A
ldr r0, _0223AA8C ; =0x0400106C
bl GXx_GetMasterBrightness_
mov r1, #0xf
mvn r1, r1
cmp r0, r1
beq _0223AA0A
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
mov r3, #0
bl BeginNormalPaletteFade
b _0223AA54
_0223AA0A:
ldr r0, _0223AA88 ; =0x0400006C
bl GXx_GetMasterBrightness_
mov r1, #0xf
mvn r1, r1
cmp r0, r1
beq _0223AA3E
ldr r0, _0223AA8C ; =0x0400106C
bl GXx_GetMasterBrightness_
mov r1, #0xf
mvn r1, r1
cmp r0, r1
bne _0223AA3E
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #4
add r2, r1, #0
mov r3, #0
bl BeginNormalPaletteFade
b _0223AA54
_0223AA3E:
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0
add r2, r1, #0
add r3, r0, #0
bl BeginNormalPaletteFade
_0223AA54:
mov r0, #0
str r0, [r4, #0x2c]
mov r0, #2
add sp, #0xc
pop {r4, r5, pc}
nop
_0223AA60: .word 0x00000F14
_0223AA64: .word 0x00001058
_0223AA68: .word 0x00001118
_0223AA6C: .word 0x00001138
_0223AA70: .word 0x000010E8
_0223AA74: .word 0x00000F58
_0223AA78: .word 0x00000F68
_0223AA7C: .word ov70_0223B4D4
_0223AA80: .word 0x00001208
_0223AA84: .word 0x04000304
_0223AA88: .word 0x0400006C
_0223AA8C: .word 0x0400106C
thumb_func_end ov70_0223A8BC
thumb_func_start ov70_0223AA90
ov70_0223AA90: ; 0x0223AA90
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
ldr r1, [r6, #0x2c]
lsl r2, r1, #2
ldr r1, _0223AAEC ; =ov70_022464CC
ldr r1, [r1, r2]
blx r1
ldr r7, _0223AAF0 ; =0x0000120E
str r0, [sp]
mov r4, #0
add r5, r6, #0
_0223AAA6:
ldr r2, _0223AAF4 ; =0x00000F14
ldr r1, _0223AAF8 ; =0x0000120C
ldr r3, [r6, r2]
ldrsh r2, [r5, r7]
ldr r0, _0223AAFC ; =0x00000EE4
ldrsh r1, [r5, r1]
add r2, r3, r2
ldr r0, [r5, r0]
add r2, #0x20
bl ov70_02238F9C
add r4, r4, #1
add r5, r5, #4
cmp r4, #8
blt _0223AAA6
mov r2, #0xee
lsl r2, r2, #4
ldr r0, [r6, r2]
add r2, #0x34
ldr r3, [r6, r2]
mov r2, #0x3a
mov r1, #0xd0
sub r2, r2, r3
bl ov70_02238F9C
mov r1, #0x4b
ldr r2, _0223AAF4 ; =0x00000F14
lsl r1, r1, #2
ldr r1, [r6, r1]
ldr r2, [r6, r2]
add r0, r6, #0
bl ov70_02241330
ldr r0, [sp]
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0223AAEC: .word ov70_022464CC
_0223AAF0: .word 0x0000120E
_0223AAF4: .word 0x00000F14
_0223AAF8: .word 0x0000120C
_0223AAFC: .word 0x00000EE4
thumb_func_end ov70_0223AA90
thumb_func_start ov70_0223AB00
ov70_0223AB00: ; 0x0223AB00
push {r4, lr}
ldr r1, _0223AB38 ; =0x00001208
add r4, r0, #0
mov r2, #0
str r2, [r4, r1]
bl ov70_0223ACE4
add r0, r4, #0
bl ov70_0223AF30
add r0, r4, #0
bl ov70_0223AE40
ldr r0, [r4, #4]
bl ov70_0223ABD8
mov r0, #0xf1
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl Set2dSpriteVisibleFlag
add r0, r4, #0
bl ov70_02238E58
mov r0, #1
pop {r4, pc}
nop
_0223AB38: .word 0x00001208
thumb_func_end ov70_0223AB00
thumb_func_start ov70_0223AB3C
ov70_0223AB3C: ; 0x0223AB3C
push {r4, r5, r6, lr}
sub sp, #0x38
ldr r6, _0223ABCC ; =ov70_022454D0
add r3, sp, #0x1c
add r5, r0, #0
add r4, r1, #0
ldmia r6!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r6]
mov r1, #0
str r0, [r3]
add r0, r5, #0
add r3, r1, #0
bl InitBgFromTemplate
add r0, r5, #0
mov r1, #0
bl BgClearTilemapBufferAndCommit
ldr r6, _0223ABD0 ; =ov70_022454B4
add r3, sp, #0
ldmia r6!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r6]
mov r1, #1
str r0, [r3]
add r0, r5, #0
mov r3, #0
bl InitBgFromTemplate
mov r0, #0
mov r1, #0x20
add r2, r0, #0
mov r3, #0x3d
bl BG_ClearCharDataRange
ldr r0, _0223ABD4 ; =0x0400106C
bl GXx_GetMasterBrightness_
cmp r0, #0
bne _0223ABAE
add r0, r5, #0
add r1, r4, #0
mov r2, #1
bl ov70_022391F0
b _0223ABB8
_0223ABAE:
add r0, r5, #0
add r1, r4, #0
mov r2, #0
bl ov70_022391F0
_0223ABB8:
mov r0, #4
mov r1, #0
bl GX_EngineAToggleLayers
mov r0, #8
mov r1, #0
bl GX_EngineAToggleLayers
add sp, #0x38
pop {r4, r5, r6, pc}
.balign 4, 0
_0223ABCC: .word ov70_022454D0
_0223ABD0: .word ov70_022454B4
_0223ABD4: .word 0x0400106C
thumb_func_end ov70_0223AB3C
thumb_func_start ov70_0223ABD8
ov70_0223ABD8: ; 0x0223ABD8
push {r4, lr}
add r4, r0, #0
bl ov70_022392BC
add r0, r4, #0
mov r1, #1
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #0
bl FreeBgTilemapBuffer
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_0223ABD8
thumb_func_start ov70_0223ABF4
ov70_0223ABF4: ; 0x0223ABF4
push {r3, r4, r5, lr}
sub sp, #0x10
mov r1, #0x1a
add r5, r0, #0
mov r0, #0
lsl r1, r1, #4
mov r2, #0x3d
ldr r4, [r5, #4]
bl LoadFontPal1
ldr r0, [r5]
ldr r0, [r0, #0x24]
bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r4, #0
mov r1, #4
mov r2, #1
mov r3, #2
bl LoadUserFrameGfx2
mov r0, #0
str r0, [sp]
mov r0, #3
lsl r0, r0, #0xa
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
mov r0, #0x64
mov r1, #0x14
add r2, r4, #0
bl GfGfxLoader_LoadCharData
mov r0, #0x60
str r0, [sp]
mov r0, #0x3d
mov r2, #0
str r0, [sp, #4]
mov r0, #0x64
mov r1, #8
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, #0x3d
str r0, [sp, #0xc]
mov r0, #0x64
mov r1, #0x12
add r2, r4, #0
mov r3, #6
bl GfGfxLoader_LoadCharData
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
mov r0, #0x64
mov r1, #0x2a
add r2, r4, #0
mov r3, #6
bl GfGfxLoader_LoadScrnData
mov r0, #4
mov r1, #0x20
mov r2, #0x3d
bl LoadFontPal1
add sp, #0x10
pop {r3, r4, r5, pc}
thumb_func_end ov70_0223ABF4
thumb_func_start ov70_0223AC98
ov70_0223AC98: ; 0x0223AC98
push {r4, lr}
sub sp, #0x30
mov r2, #0xd6
add r4, r0, #0
lsl r2, r2, #4
add r0, sp, #0
add r1, r4, #0
add r2, r4, r2
mov r3, #1
bl ov70_02238B54
mov r0, #0xd
lsl r0, r0, #0x10
str r0, [sp, #8]
mov r0, #0x3a
lsl r0, r0, #0xc
str r0, [sp, #0xc]
add r0, sp, #0
bl CreateSprite
mov r1, #0xee
lsl r1, r1, #4
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
mov r0, #0xee
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0x25
bl Set2dSpriteAnimSeqNo
bl sub_0203A880
add sp, #0x30
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_0223AC98
thumb_func_start ov70_0223ACE4
ov70_0223ACE4: ; 0x0223ACE4
mov r1, #0xee
lsl r1, r1, #4
ldr r3, _0223ACF0 ; =Sprite_Delete
ldr r0, [r0, r1]
bx r3
nop
_0223ACF0: .word Sprite_Delete
thumb_func_end ov70_0223ACE4
thumb_func_start ov70_0223ACF4
ov70_0223ACF4: ; 0x0223ACF4
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r6, r0, #0
mov r0, #0x13
str r0, [sp]
mov r0, #0x1b
str r0, [sp, #4]
mov r2, #4
ldr r1, _0223AE2C ; =0x00000F18
str r2, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
mov r0, #0x28
str r0, [sp, #0x10]
ldr r0, [r6, #4]
add r1, r6, r1
mov r3, #2
bl AddWindowParameterized
ldr r0, _0223AE2C ; =0x00000F18
mov r1, #0
add r0, r6, r0
bl FillWindowPixelBuffer
mov r0, #0x15
str r0, [sp]
mov r0, #0xd
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r3, #1
ldr r1, _0223AE30 ; =0x00000F58
str r3, [sp, #0xc]
mov r0, #0x94
str r0, [sp, #0x10]
ldr r0, [r6, #4]
add r1, r6, r1
mov r2, #4
bl AddWindowParameterized
ldr r0, _0223AE30 ; =0x00000F58
mov r1, #0
add r0, r6, r0
bl FillWindowPixelBuffer
mov r0, #0x15
str r0, [sp]
mov r0, #0xd
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
mov r0, #0xae
ldr r1, _0223AE34 ; =0x00000F68
str r0, [sp, #0x10]
ldr r0, [r6, #4]
add r1, r6, r1
mov r2, #4
mov r3, #0x11
bl AddWindowParameterized
ldr r0, _0223AE34 ; =0x00000F68
mov r1, #0
add r0, r6, r0
bl FillWindowPixelBuffer
mov r0, #1
str r0, [sp, #0x14]
mov r0, #0
str r0, [sp, #0x18]
ldr r0, _0223AE38 ; =0x00001058
ldr r4, _0223AE3C ; =ov70_022454EC
mov r7, #0xc8
add r5, r6, r0
_0223AD8A:
ldr r2, [r4, #0x10]
ldr r0, [r4, #4]
cmp r2, #0
bne _0223ADD6
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldr r0, [r4, #8]
lsl r2, r2, #0x18
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
ldr r0, [r4, #0xc]
add r1, r5, #0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
ldr r0, [sp, #0x14]
lsr r2, r2, #0x18
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r3, [r4]
ldr r0, [r6, #4]
lsl r3, r3, #0x18
lsr r3, r3, #0x18
bl AddWindowParameterized
ldr r1, [r4, #8]
ldr r0, [r4, #0xc]
add r2, r1, #0
mul r2, r0
ldr r0, [sp, #0x14]
add r0, r0, r2
str r0, [sp, #0x14]
b _0223AE10
_0223ADD6:
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldr r0, [r4, #8]
lsl r2, r2, #0x18
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
ldr r0, [r4, #0xc]
add r1, r5, #0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
lsl r0, r7, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r3, [r4]
ldr r0, [r6, #4]
lsl r3, r3, #0x18
lsr r2, r2, #0x18
lsr r3, r3, #0x18
bl AddWindowParameterized
ldr r1, [r4, #8]
ldr r0, [r4, #0xc]
mul r0, r1
add r7, r7, r0
_0223AE10:
add r0, r5, #0
mov r1, #0
bl FillWindowPixelBuffer
ldr r0, [sp, #0x18]
add r4, #0x14
add r0, r0, #1
add r5, #0x10
str r0, [sp, #0x18]
cmp r0, #0x10
blt _0223AD8A
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
nop
_0223AE2C: .word 0x00000F18
_0223AE30: .word 0x00000F58
_0223AE34: .word 0x00000F68
_0223AE38: .word 0x00001058
_0223AE3C: .word ov70_022454EC
thumb_func_end ov70_0223ACF4
thumb_func_start ov70_0223AE40
ov70_0223AE40: ; 0x0223AE40
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _0223AE88 ; =0x00000F18
add r0, r5, r0
bl RemoveWindow
ldr r0, _0223AE8C ; =0x00000F68
add r0, r5, r0
bl ClearWindowTilemapAndCopyToVram
ldr r0, _0223AE90 ; =0x00000F58
add r0, r5, r0
bl ClearWindowTilemapAndCopyToVram
ldr r0, _0223AE8C ; =0x00000F68
add r0, r5, r0
bl RemoveWindow
ldr r0, _0223AE90 ; =0x00000F58
add r0, r5, r0
bl RemoveWindow
ldr r0, _0223AE94 ; =0x00001058
mov r4, #0
add r5, r5, r0
_0223AE72:
add r0, r5, #0
bl ClearWindowTilemapAndCopyToVram
add r0, r5, #0
bl RemoveWindow
add r4, r4, #1
add r5, #0x10
cmp r4, #0x10
blt _0223AE72
pop {r3, r4, r5, pc}
.balign 4, 0
_0223AE88: .word 0x00000F18
_0223AE8C: .word 0x00000F68
_0223AE90: .word 0x00000F58
_0223AE94: .word 0x00001058
thumb_func_end ov70_0223AE40
thumb_func_start ov70_0223AE98
ov70_0223AE98: ; 0x0223AE98
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0x26
lsl r0, r0, #4
add r2, r5, r0
mov r0, #0x4b
lsl r0, r0, #2
ldr r1, [r5, r0]
sub r0, #8
mul r0, r1
add r4, r2, r0
mov r0, #0xb4
mov r1, #0x3d
bl String_New
ldr r1, _0223AF18 ; =0x00000BBC
str r0, [r5, r1]
sub r1, #0x20
ldr r0, [r5, r1]
bl MessageFormat_ResetBuffers
ldr r0, _0223AF1C ; =0x0000011E
ldrb r2, [r4, r0]
cmp r2, #0
beq _0223AED4
ldr r0, _0223AF20 ; =0x00000B9C
mov r1, #8
ldr r0, [r5, r0]
bl BufferCountryName
_0223AED4:
ldr r2, _0223AF24 ; =0x0000011F
ldrb r3, [r4, r2]
cmp r3, #0
beq _0223AEEA
ldr r0, _0223AF20 ; =0x00000B9C
sub r2, r2, #1
ldrb r2, [r4, r2]
ldr r0, [r5, r0]
mov r1, #9
bl BufferCityName
_0223AEEA:
ldr r1, _0223AF20 ; =0x00000B9C
mov r2, #0x52
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
mov r3, #0x3d
bl ReadMsgData_ExpandPlaceholders
ldr r1, _0223AF28 ; =0x00000BC4
mov r2, #0x53
str r0, [r5, r1]
add r0, r1, #0
sub r0, #0x28
sub r1, #0x24
ldr r0, [r5, r0]
ldr r1, [r5, r1]
mov r3, #0x3d
bl ReadMsgData_ExpandPlaceholders
ldr r1, _0223AF2C ; =0x00000BC8
str r0, [r5, r1]
pop {r3, r4, r5, pc}
nop
_0223AF18: .word 0x00000BBC
_0223AF1C: .word 0x0000011E
_0223AF20: .word 0x00000B9C
_0223AF24: .word 0x0000011F
_0223AF28: .word 0x00000BC4
_0223AF2C: .word 0x00000BC8
thumb_func_end ov70_0223AE98
thumb_func_start ov70_0223AF30
ov70_0223AF30: ; 0x0223AF30
push {r4, lr}
add r4, r0, #0
ldr r0, _0223AF50 ; =0x00000BC4
ldr r0, [r4, r0]
bl String_Delete
ldr r0, _0223AF54 ; =0x00000BC8
ldr r0, [r4, r0]
bl String_Delete
ldr r0, _0223AF58 ; =0x00000BBC
ldr r0, [r4, r0]
bl String_Delete
pop {r4, pc}
nop
_0223AF50: .word 0x00000BC4
_0223AF54: .word 0x00000BC8
_0223AF58: .word 0x00000BBC
thumb_func_end ov70_0223AF30
thumb_func_start ov70_0223AF5C
ov70_0223AF5C: ; 0x0223AF5C
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
mov r0, #0xf1
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, [r4, #0x24]
cmp r0, #0x10
bne _0223AF90
mov r0, #0x10
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0
add r2, r1, #0
add r3, r0, #0
bl BeginNormalPaletteFade
mov r0, #7
str r0, [r4, #0x2c]
b _0223AF9C
_0223AF90:
mov r1, #1
ldr r0, _0223AFA4 ; =0x00000F0C
str r1, [r4, #0x2c]
ldr r0, [r4, r0]
bl Set2dSpriteVisibleFlag
_0223AF9C:
mov r0, #3
add sp, #0xc
pop {r3, r4, pc}
nop
_0223AFA4: .word 0x00000F0C
thumb_func_end ov70_0223AF5C
thumb_func_start ov70_0223AFA8
ov70_0223AFA8: ; 0x0223AFA8
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0x4b
lsl r0, r0, #2
ldr r0, [r5, r0]
add r4, r1, #0
cmp r4, r0
beq _0223AFF2
cmp r4, #0
blt _0223AFF2
add r0, r4, #1
lsl r0, r0, #2
add r1, r5, r0
ldr r0, _0223AFF4 ; =0x00000EE4
ldr r0, [r1, r0]
lsl r1, r4, #2
add r1, #0x10
bl Set2dSpriteAnimSeqNo
mov r0, #2
str r0, [r5, #0x2c]
add r0, r5, #0
mov r1, #3
mov r2, #0x11
bl ov70_02238E50
mov r0, #0x4b
lsl r0, r0, #2
str r4, [r5, r0]
add r0, r5, #0
add r1, r4, #0
mov r2, #0
bl ov70_02241330
ldr r0, _0223AFF8 ; =0x000005DC
bl PlaySE
_0223AFF2:
pop {r3, r4, r5, pc}
.balign 4, 0
_0223AFF4: .word 0x00000EE4
_0223AFF8: .word 0x000005DC
thumb_func_end ov70_0223AFA8
thumb_func_start ov70_0223AFFC
ov70_0223AFFC: ; 0x0223AFFC
push {r4, r5, lr}
sub sp, #0xc
ldr r1, _0223B114 ; =gSystem
mov r2, #1
ldr r1, [r1, #0x48]
add r4, r0, #0
add r3, r1, #0
tst r3, r2
beq _0223B02C
ldr r1, _0223B118 ; =0x00000F0F
mov r3, #0
str r1, [sp]
mov r1, #0x10
bl ov70_0223B364
add r0, r4, #0
mov r1, #3
mov r2, #4
bl ov70_02238D84
ldr r0, _0223B11C ; =0x000005DC
bl PlaySE
b _0223B10C
_0223B02C:
mov r3, #2
tst r3, r1
beq _0223B054
mov r0, #0x10
str r0, [sp]
str r2, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl BeginNormalPaletteFade
mov r0, #8
str r0, [r4, #0x2c]
ldr r0, _0223B11C ; =0x000005DC
bl PlaySE
b _0223B10C
_0223B054:
mov r2, #0x20
tst r2, r1
beq _0223B07A
mov r2, #0x4b
lsl r2, r2, #2
ldr r5, [r4, r2]
ldr r1, _0223B120 ; =ov70_022454A4
lsl r3, r5, #1
ldrb r1, [r1, r3]
cmp r5, r1
beq _0223B10C
sub r2, r2, #4
ldr r3, [r4, r2]
add r2, r1, #1
cmp r3, r2
blt _0223B10C
bl ov70_0223AFA8
b _0223B10C
_0223B07A:
mov r2, #0x10
tst r1, r2
beq _0223B0A0
mov r2, #0x4b
lsl r2, r2, #2
ldr r5, [r4, r2]
ldr r1, _0223B124 ; =ov70_022454A5
lsl r3, r5, #1
ldrb r1, [r1, r3]
cmp r5, r1
beq _0223B10C
sub r2, r2, #4
ldr r3, [r4, r2]
add r2, r1, #1
cmp r3, r2
blt _0223B10C
bl ov70_0223AFA8
b _0223B10C
_0223B0A0:
mov r0, #0x4a
lsl r0, r0, #2
ldr r0, [r4, r0]
bl ov70_02241164
add r1, r0, #0
mov r0, #0
mvn r0, r0
cmp r1, r0
beq _0223B0BA
add r0, r4, #0
bl ov70_0223AFA8
_0223B0BA:
ldr r0, _0223B128 ; =ov70_02245498
bl sub_02025224
cmp r0, #0
bne _0223B0E6
ldr r0, _0223B118 ; =0x00000F0F
mov r1, #0x10
str r0, [sp]
add r0, r4, #0
mov r2, #1
mov r3, #0
bl ov70_0223B364
add r0, r4, #0
mov r1, #3
mov r2, #4
bl ov70_02238D84
ldr r0, _0223B11C ; =0x000005DC
bl PlaySE
b _0223B10C
_0223B0E6:
cmp r0, #1
bne _0223B10C
mov r0, #0x10
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl BeginNormalPaletteFade
mov r0, #8
str r0, [r4, #0x2c]
ldr r0, _0223B11C ; =0x000005DC
bl PlaySE
_0223B10C:
mov r0, #3
add sp, #0xc
pop {r4, r5, pc}
nop
_0223B114: .word gSystem
_0223B118: .word 0x00000F0F
_0223B11C: .word 0x000005DC
_0223B120: .word ov70_022454A4
_0223B124: .word ov70_022454A5
_0223B128: .word ov70_02245498
thumb_func_end ov70_0223AFFC
thumb_func_start ov70_0223B12C
ov70_0223B12C: ; 0x0223B12C
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldr r0, _0223B184 ; =0x00000F0C
mov r1, #0
ldr r0, [r4, r0]
bl Set2dSpriteVisibleFlag
ldr r0, [r4, #0x24]
cmp r0, #0xf
beq _0223B178
cmp r0, #6
bne _0223B160
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl BeginNormalPaletteFade
b _0223B178
_0223B160:
mov r0, #6
str r0, [sp]
mov r1, #0
mov r0, #1
str r0, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
add r3, r1, #0
bl BeginNormalPaletteFade
_0223B178:
mov r0, #0
str r0, [r4, #0x2c]
mov r0, #4
add sp, #0xc
pop {r3, r4, pc}
nop
_0223B184: .word 0x00000F0C
thumb_func_end ov70_0223B12C
thumb_func_start ov70_0223B188
ov70_0223B188: ; 0x0223B188
push {r4, lr}
sub sp, #8
add r4, r0, #0
mov r0, #4
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r4, #4]
ldr r2, _0223B1B0 ; =0x0000012E
mov r1, #0xa
mov r3, #3
bl ov70_02238C2C
ldr r1, _0223B1B4 ; =0x000011C8
str r0, [r4, r1]
mov r0, #5
str r0, [r4, #0x2c]
mov r0, #3
add sp, #8
pop {r4, pc}
.balign 4, 0
_0223B1B0: .word 0x0000012E
_0223B1B4: .word 0x000011C8
thumb_func_end ov70_0223B188
thumb_func_start ov70_0223B1B8
ov70_0223B1B8: ; 0x0223B1B8
push {r4, lr}
add r4, r0, #0
bl ov70_02238C8C
cmp r0, #1
bne _0223B202
ldr r0, _0223B240 ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
mov r0, #2
str r0, [r4, #0x2c]
add r0, r4, #0
mov r1, #5
mov r2, #6
bl ov70_02238E50
mov r0, #0xba
lsl r0, r0, #4
ldr r1, _0223B244 ; =0x00001138
ldr r0, [r4, r0]
add r1, r4, r1
mov r2, #0x4d
bl ov70_0223B3BC
mov r0, #0xba
lsl r0, r0, #4
ldr r1, _0223B248 ; =0x000010E8
ldr r0, [r4, r0]
add r1, r4, r1
mov r2, #0x51
bl ov70_0223B3BC
add r0, r4, #0
bl ov70_0223B258
b _0223B23C
_0223B202:
cmp r0, #2
bne _0223B23C
ldr r0, _0223B240 ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
ldr r0, _0223B24C ; =0x00000F18
mov r1, #0
add r0, r4, r0
bl ClearFrameAndWindow2
mov r0, #1
str r0, [r4, #0x2c]
mov r0, #0xba
lsl r0, r0, #4
ldr r1, _0223B250 ; =0x00000F58
ldr r0, [r4, r0]
add r1, r4, r1
mov r2, #0x58
bl ov70_0223B3EC
mov r0, #0xba
lsl r0, r0, #4
ldr r1, _0223B254 ; =0x00000F68
ldr r0, [r4, r0]
add r1, r4, r1
mov r2, #0x6d
bl ov70_0223B3EC
_0223B23C:
mov r0, #3
pop {r4, pc}
.balign 4, 0
_0223B240: .word 0x000011C8
_0223B244: .word 0x00001138
_0223B248: .word 0x000010E8
_0223B24C: .word 0x00000F18
_0223B250: .word 0x00000F58
_0223B254: .word 0x00000F68
thumb_func_end ov70_0223B1B8
thumb_func_start ov70_0223B258
ov70_0223B258: ; 0x0223B258
push {r3, r4, r5, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
ldr r2, [r4, #4]
mov r0, #0x64
mov r1, #0x24
bl GfGfxLoader_LoadScrnData
ldr r2, _0223B2B4 ; =0x00000BC4
ldr r0, _0223B2B8 ; =0x000010F8
ldr r1, [r4, r2]
add r2, r2, #4
ldr r2, [r4, r2]
add r0, r4, r0
bl ov70_0223B484
mov r2, #0xba
ldr r0, _0223B2BC ; =0x00001148
lsl r2, r2, #4
mov r3, #0x35
mov r5, #0x4b
ldr r1, [r4, r2]
add r2, r2, #4
lsl r3, r3, #4
lsl r5, r5, #2
add r0, r4, r0
ldr r2, [r4, r2]
add r3, r4, r3
ldr r4, [r4, r5]
sub r5, #8
mul r5, r4
add r3, r3, r5
bl ov70_0223B41C
add sp, #0x10
pop {r3, r4, r5, pc}
nop
_0223B2B4: .word 0x00000BC4
_0223B2B8: .word 0x000010F8
_0223B2BC: .word 0x00001148
thumb_func_end ov70_0223B258
thumb_func_start ov70_0223B2C0
ov70_0223B2C0: ; 0x0223B2C0
push {r4, lr}
add r4, r0, #0
bl ov70_0223B258
mov r0, #1
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
thumb_func_end ov70_0223B2C0
thumb_func_start ov70_0223B2D0
ov70_0223B2D0: ; 0x0223B2D0
push {r4, lr}
add r4, r0, #0
ldr r0, _0223B2FC ; =0x00000F14
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
bl IsPaletteFadeFinished
cmp r0, #0
beq _0223B2F6
ldr r0, _0223B2FC ; =0x00000F14
mov r1, #0
str r1, [r4, r0]
mov r1, #1
str r1, [r4, #0x2c]
sub r0, #8
ldr r0, [r4, r0]
bl Set2dSpriteVisibleFlag
_0223B2F6:
mov r0, #3
pop {r4, pc}
nop
_0223B2FC: .word 0x00000F14
thumb_func_end ov70_0223B2D0
thumb_func_start ov70_0223B300
ov70_0223B300: ; 0x0223B300
push {r4, lr}
add r4, r0, #0
ldr r0, _0223B338 ; =0x00000F14
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
bl IsPaletteFadeFinished
cmp r0, #0
beq _0223B332
ldr r2, _0223B33C ; =0x04000304
ldr r0, _0223B340 ; =0xFFFF7FFF
ldrh r1, [r2]
and r0, r1
strh r0, [r2]
mov r0, #2
str r0, [r4, #0x2c]
add r0, r4, #0
mov r1, #4
mov r2, #0xf
bl ov70_02238E50
ldr r0, _0223B338 ; =0x00000F14
mov r1, #0x10
str r1, [r4, r0]
_0223B332:
mov r0, #3
pop {r4, pc}
nop
_0223B338: .word 0x00000F14
_0223B33C: .word 0x04000304
_0223B340: .word 0xFFFF7FFF
thumb_func_end ov70_0223B300
thumb_func_start ov70_0223B344
ov70_0223B344: ; 0x0223B344
push {r4, lr}
add r4, r0, #0
mov r0, #0xbf
lsl r0, r0, #4
ldr r0, [r4, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl TextPrinterCheckActive
cmp r0, #0
bne _0223B35E
ldr r0, [r4, #0x30]
str r0, [r4, #0x2c]
_0223B35E:
mov r0, #3
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_0223B344
thumb_func_start ov70_0223B364
ov70_0223B364: ; 0x0223B364
push {r4, r5, lr}
sub sp, #0xc
add r4, r2, #0
mov r2, #0xba
add r5, r0, #0
lsl r2, r2, #4
ldr r0, [r5, r2]
add r2, #0x1c
ldr r2, [r5, r2]
bl ReadMsgDataIntoString
ldr r0, _0223B3B4 ; =0x00000F18
mov r1, #0xf
add r0, r5, r0
bl FillWindowPixelBuffer
ldr r0, _0223B3B4 ; =0x00000F18
mov r1, #0
add r0, r5, r0
mov r2, #1
mov r3, #2
bl DrawFrameAndWindow2
mov r3, #0
str r3, [sp]
str r4, [sp, #4]
ldr r0, _0223B3B4 ; =0x00000F18
ldr r2, _0223B3B8 ; =0x00000BBC
str r3, [sp, #8]
ldr r2, [r5, r2]
add r0, r5, r0
mov r1, #1
bl AddTextPrinterParameterized
mov r1, #0xbf
lsl r1, r1, #4
str r0, [r5, r1]
add sp, #0xc
pop {r4, r5, pc}
nop
_0223B3B4: .word 0x00000F18
_0223B3B8: .word 0x00000BBC
thumb_func_end ov70_0223B364
thumb_func_start ov70_0223B3BC
ov70_0223B3BC: ; 0x0223B3BC
push {r3, r4, r5, lr}
sub sp, #8
add r5, r1, #0
add r1, r2, #0
bl NewString_ReadMsgData
add r4, r0, #0
mov r2, #0
ldr r0, _0223B3E8 ; =0x000F0200
str r2, [sp]
str r0, [sp, #4]
add r0, r5, #0
add r1, r4, #0
add r3, r2, #0
bl ov70_02245084
add r0, r4, #0
bl String_Delete
add sp, #8
pop {r3, r4, r5, pc}
nop
_0223B3E8: .word 0x000F0200
thumb_func_end ov70_0223B3BC
thumb_func_start ov70_0223B3EC
ov70_0223B3EC: ; 0x0223B3EC
push {r3, r4, r5, lr}
sub sp, #8
add r5, r1, #0
add r1, r2, #0
bl NewString_ReadMsgData
add r4, r0, #0
mov r0, #1
str r0, [sp]
ldr r0, _0223B418 ; =0x000F0200
mov r2, #0
str r0, [sp, #4]
add r0, r5, #0
add r1, r4, #0
add r3, r2, #0
bl ov70_022450B8
add r0, r4, #0
bl String_Delete
add sp, #8
pop {r3, r4, r5, pc}
.balign 4, 0
_0223B418: .word 0x000F0200
thumb_func_end ov70_0223B3EC
thumb_func_start ov70_0223B41C
ov70_0223B41C: ; 0x0223B41C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r6, r1, #0
mov r1, #0
add r5, r0, #0
add r7, r2, #0
add r4, r3, #0
bl FillWindowPixelBuffer
ldr r0, _0223B480 ; =0x00010200
mov r3, #0
str r0, [sp]
ldrsh r2, [r4, r3]
add r0, r5, #0
add r1, r7, #0
bl ov70_0223F20C
mov r0, #0x49
str r0, [sp]
mov r3, #0
ldr r0, _0223B480 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
mov r2, #2
ldrsb r2, [r4, r2]
add r0, r5, #0
add r1, r6, #0
bl ov70_0223F324
mov r0, #3
mov r1, #4
ldrsb r0, [r4, r0]
ldrsb r1, [r4, r1]
mov r2, #0
bl ov70_0223F864
add r2, r0, #0
mov r0, #0x68
str r0, [sp]
mov r3, #0
ldr r0, _0223B480 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
add r0, r5, #0
add r1, r6, #0
str r3, [sp, #0xc]
bl ov70_0223F38C
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0223B480: .word 0x00010200
thumb_func_end ov70_0223B41C
thumb_func_start ov70_0223B484
ov70_0223B484: ; 0x0223B484
push {r4, r5, r6, lr}
sub sp, #8
add r4, r1, #0
add r5, r0, #0
mov r1, #0
add r6, r2, #0
bl FillWindowPixelBuffer
add r0, r5, #0
add r0, #0x10
mov r1, #0
bl FillWindowPixelBuffer
cmp r4, #0
beq _0223B4B4
mov r2, #0
ldr r0, _0223B4D0 ; =0x00010200
str r2, [sp]
str r0, [sp, #4]
add r0, r5, #0
add r1, r4, #0
add r3, r2, #0
bl ov70_02245084
_0223B4B4:
cmp r6, #0
beq _0223B4CC
mov r2, #0
ldr r0, _0223B4D0 ; =0x00010200
str r2, [sp]
add r5, #0x10
str r0, [sp, #4]
add r0, r5, #0
add r1, r6, #0
add r3, r2, #0
bl ov70_02245084
_0223B4CC:
add sp, #8
pop {r4, r5, r6, pc}
.balign 4, 0
_0223B4D0: .word 0x00010200
thumb_func_end ov70_0223B484
thumb_func_start ov70_0223B4D4
ov70_0223B4D4: ; 0x0223B4D4
push {r3, r4, r5, lr}
ldr r3, _0223B558 ; =0x00000F14
add r4, r0, #0
ldr r0, [r4, #4]
ldr r3, [r4, r3]
mov r1, #0
mov r2, #3
bl BgSetPosTextAndCommit
ldr r3, _0223B558 ; =0x00000F14
ldr r0, [r4, #4]
ldr r3, [r4, r3]
mov r1, #1
mov r2, #3
bl BgSetPosTextAndCommit
ldr r3, _0223B558 ; =0x00000F14
ldr r0, [r4, #4]
ldr r3, [r4, r3]
mov r1, #2
mov r2, #3
bl BgSetPosTextAndCommit
ldr r3, _0223B558 ; =0x00000F14
mov r1, #3
ldr r0, [r4, #4]
ldr r3, [r4, r3]
add r2, r1, #0
bl BgSetPosTextAndCommit
ldr r3, _0223B558 ; =0x00000F14
ldr r0, [r4, #4]
ldr r3, [r4, r3]
mov r1, #4
mov r2, #3
neg r3, r3
bl BgSetPosTextAndCommit
ldr r3, _0223B558 ; =0x00000F14
mov r2, #3
ldr r5, [r4, r3]
add r3, r2, #0
sub r3, #0x23
ldr r0, [r4, #4]
mov r1, #5
sub r3, r3, r5
bl BgSetPosTextAndCommit
ldr r3, _0223B558 ; =0x00000F14
ldr r0, [r4, #4]
ldr r3, [r4, r3]
mov r1, #6
mov r2, #3
neg r3, r3
bl BgSetPosTextAndCommit
ldr r3, _0223B558 ; =0x00000F14
ldr r0, [r4, #4]
ldr r3, [r4, r3]
mov r1, #7
mov r2, #3
neg r3, r3
bl BgSetPosTextAndCommit
pop {r3, r4, r5, pc}
nop
_0223B558: .word 0x00000F14
thumb_func_end ov70_0223B4D4
thumb_func_start ov70_0223B55C
ov70_0223B55C: ; 0x0223B55C
push {r3, r4, lr}
sub sp, #0x3c
add r4, r0, #0
bl ov70_0223BC7C
ldr r0, [r4, #4]
bl ov70_0223B7CC
add r0, r4, #0
bl ov70_0223B8E0
add r0, r4, #0
bl ov70_0223BAE0
add r0, r4, #0
bl ov70_0223B9C8
ldr r0, [r4, #4]
ldr r3, _0223B6AC ; =0x00000F58
str r0, [sp, #0xc]
add r0, r4, r3
str r0, [sp, #0x10]
ldr r0, _0223B6B0 ; =0x00001168
add r1, r4, r0
str r1, [sp, #0x14]
mov r1, #0xdd
lsl r1, r1, #4
ldr r2, [r4, r1]
sub r1, r1, #4
str r2, [sp, #0x18]
add r2, r3, #0
sub r2, #0x54
ldr r2, [r4, r2]
sub r3, #0x50
str r2, [sp, #0x1c]
ldr r2, [r4, r3]
add r0, #0x5c
str r2, [sp, #0x20]
ldr r1, [r4, r1]
mov r2, #0xba
lsl r2, r2, #4
str r1, [sp, #0x24]
ldr r1, [r4, r2]
str r1, [sp, #0x28]
add r1, r2, #4
ldr r1, [r4, r1]
add r2, #0x10
str r1, [sp, #0x2c]
ldr r1, [r4, r2]
mov r2, #1
str r1, [sp, #0x30]
ldr r1, [r4]
ldr r1, [r1, #0x10]
str r1, [sp, #0x34]
ldr r0, [r4, r0]
mov r1, #2
ldr r0, [r0, #0x14]
str r0, [sp, #0x38]
add r0, sp, #0xc
bl ov70_02242014
ldr r1, _0223B6B4 ; =0x000011A8
mov r2, #0xba
str r0, [r4, r1]
ldr r0, _0223B6B8 ; =0x00001058
lsl r2, r2, #4
sub r1, #0x30
ldr r2, [r4, r2]
add r0, r4, r0
add r1, r4, r1
bl ov70_0223CB1C
ldr r3, _0223B6BC ; =0x000011DE
mov r2, #0xba
ldr r1, _0223B6C0 ; =0x000010D8
lsl r2, r2, #4
ldrh r3, [r4, r3]
ldr r0, [r4, #4]
ldr r2, [r4, r2]
add r1, r4, r1
bl ov70_0223CC04
mov r3, #0
ldr r0, _0223B6C4 ; =0x00010200
str r3, [sp]
str r0, [sp, #4]
ldr r2, _0223B6C8 ; =0x00000BA4
ldr r0, _0223B6CC ; =0x00001068
ldr r1, [r4, r2]
sub r2, #0x1a
ldrsh r2, [r4, r2]
add r0, r4, r0
bl ov70_0223F1D8
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0223B6C4 ; =0x00010200
mov r2, #0xba
str r0, [sp, #8]
lsl r2, r2, #4
ldr r1, [r4, r2]
sub r2, #0x14
ldr r0, _0223B6D0 ; =0x00001088
ldrsb r2, [r4, r2]
add r0, r4, r0
mov r3, #1
bl ov70_0223F2BC
ldr r1, _0223B6D4 ; =0x00000B8D
mov r2, #1
ldrsb r0, [r4, r1]
add r1, r1, #1
ldrsb r1, [r4, r1]
bl ov70_0223F864
add r2, r0, #0
mov r3, #0
ldr r0, _0223B6C4 ; =0x00010200
str r3, [sp]
str r0, [sp, #4]
mov r0, #1
mov r1, #0xba
str r0, [sp, #8]
ldr r0, _0223B6D8 ; =0x000010A8
lsl r1, r1, #4
ldr r1, [r4, r1]
add r0, r4, r0
bl ov70_0223F370
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0223B6C4 ; =0x00010200
mov r2, #0xbb
str r0, [sp, #8]
lsl r2, r2, #4
ldr r3, _0223B6DC ; =0x000012CC
ldr r0, _0223B6E0 ; =0x00001188
ldr r1, [r4, r2]
sub r2, #0x10
ldr r2, [r4, r2]
ldr r3, [r4, r3]
add r0, r4, r0
bl ov70_0223F244
ldr r1, _0223B6E4 ; =ov70_0223CCA4
ldr r0, _0223B6E8 ; =0x00001208
str r1, [r4, r0]
ldr r0, [r4, #0x24]
cmp r0, #0xd
bne _0223B6A2
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
mov r3, #0
bl BeginNormalPaletteFade
_0223B6A2:
mov r0, #0
str r0, [r4, #0x2c]
mov r0, #2
add sp, #0x3c
pop {r3, r4, pc}
.balign 4, 0
_0223B6AC: .word 0x00000F58
_0223B6B0: .word 0x00001168
_0223B6B4: .word 0x000011A8
_0223B6B8: .word 0x00001058
_0223B6BC: .word 0x000011DE
_0223B6C0: .word 0x000010D8
_0223B6C4: .word 0x00010200
_0223B6C8: .word 0x00000BA4
_0223B6CC: .word 0x00001068
_0223B6D0: .word 0x00001088
_0223B6D4: .word 0x00000B8D
_0223B6D8: .word 0x000010A8
_0223B6DC: .word 0x000012CC
_0223B6E0: .word 0x00001188
_0223B6E4: .word ov70_0223CCA4
_0223B6E8: .word 0x00001208
thumb_func_end ov70_0223B55C
thumb_func_start ov70_0223B6EC
ov70_0223B6EC: ; 0x0223B6EC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r1, [r5, #0x2c]
lsl r2, r1, #2
ldr r1, _0223B768 ; =ov70_02246528
ldr r1, [r1, r2]
blx r1
mov r7, #0x6a
str r0, [sp]
mov r6, #0
add r4, r5, #0
lsl r7, r7, #2
_0223B704:
ldr r3, _0223B76C ; =0x0000120E
ldr r1, _0223B770 ; =0x0000120C
ldr r2, _0223B774 ; =0x00000F14
ldr r0, _0223B778 ; =0x00000EE4
ldrsh r3, [r4, r3]
ldr r2, [r5, r2]
ldrsh r1, [r4, r1]
ldr r0, [r4, r0]
add r2, r2, r3
bl ov70_02238F9C
ldr r2, _0223B774 ; =0x00000F14
mov r0, #0xf1
lsl r0, r0, #4
ldr r2, [r5, r2]
ldr r0, [r5, r0]
mov r1, #0x37
add r2, r2, r7
bl ov70_02238F9C
add r6, r6, #1
add r4, r4, #4
cmp r6, #8
blt _0223B704
add r0, r5, #0
bl ov70_0223C2EC
add r4, r0, #0
add r0, r5, #0
bl ov70_0223C2EC
add r2, r0, #0
ldr r0, _0223B77C ; =0x00000DCC
mov r3, #6
add r6, r4, #0
mul r6, r3
mul r3, r2
ldr r2, _0223B780 ; =ov70_02246500
ldr r1, _0223B784 ; =ov70_022464FE
ldrh r3, [r2, r3]
ldr r2, _0223B774 ; =0x00000F14
ldrh r1, [r1, r6]
ldr r2, [r5, r2]
ldr r0, [r5, r0]
sub r2, r3, r2
bl ov70_02238F9C
ldr r0, [sp]
pop {r3, r4, r5, r6, r7, pc}
nop
_0223B768: .word ov70_02246528
_0223B76C: .word 0x0000120E
_0223B770: .word 0x0000120C
_0223B774: .word 0x00000F14
_0223B778: .word 0x00000EE4
_0223B77C: .word 0x00000DCC
_0223B780: .word ov70_02246500
_0223B784: .word ov70_022464FE
thumb_func_end ov70_0223B6EC
thumb_func_start ov70_0223B788
ov70_0223B788: ; 0x0223B788
push {r4, lr}
add r4, r0, #0
ldr r0, _0223B7C8 ; =0x00001208
mov r1, #0
str r1, [r4, r0]
sub r0, #0x60
ldr r0, [r4, r0]
bl ov70_0224212C
add r0, r4, #0
bl ov70_0223BAAC
add r0, r4, #0
bl ov70_0223BCD0
add r0, r4, #0
bl ov70_0223BC2C
ldr r0, [r4, #4]
bl ov70_0223B8B4
mov r0, #0xf1
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl Set2dSpriteVisibleFlag
add r0, r4, #0
bl ov70_02238E58
mov r0, #1
pop {r4, pc}
.balign 4, 0
_0223B7C8: .word 0x00001208
thumb_func_end ov70_0223B788
thumb_func_start ov70_0223B7CC
ov70_0223B7CC: ; 0x0223B7CC
push {r3, r4, r5, lr}
sub sp, #0x70
ldr r5, _0223B8A4 ; =ov70_02245690
add r4, r0, #0
ldmia r5!, {r0, r1}
add r3, sp, #0x54
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]
add r0, r4, #0
add r3, r1, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #0
bl BgClearTilemapBufferAndCommit
ldr r5, _0223B8A8 ; =ov70_022456AC
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, #1
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #1
bl BgClearTilemapBufferAndCommit
ldr r5, _0223B8AC ; =ov70_02245674
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, #2
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #2
bl BgClearTilemapBufferAndCommit
ldr r5, _0223B8B0 ; =ov70_02245658
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, #3
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #3
bl BgClearTilemapBufferAndCommit
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl ov70_022391F0
mov r0, #2
mov r1, #0x20
mov r2, #0
mov r3, #0x3d
bl BG_ClearCharDataRange
mov r0, #0
mov r1, #0x20
add r2, r0, #0
mov r3, #0x3d
bl BG_ClearCharDataRange
mov r0, #3
mov r1, #0x20
mov r2, #0
mov r3, #0x3d
bl BG_ClearCharDataRange
add sp, #0x70
pop {r3, r4, r5, pc}
.balign 4, 0
_0223B8A4: .word ov70_02245690
_0223B8A8: .word ov70_022456AC
_0223B8AC: .word ov70_02245674
_0223B8B0: .word ov70_02245658
thumb_func_end ov70_0223B7CC
thumb_func_start ov70_0223B8B4
ov70_0223B8B4: ; 0x0223B8B4
push {r4, lr}
add r4, r0, #0
bl ov70_022392BC
add r0, r4, #0
mov r1, #2
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #1
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #0
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #3
bl FreeBgTilemapBuffer
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_0223B8B4
thumb_func_start ov70_0223B8E0
ov70_0223B8E0: ; 0x0223B8E0
push {r4, r5, r6, lr}
sub sp, #0x10
add r6, r0, #0
ldr r5, [r6, #4]
mov r0, #0x64
mov r1, #0x3d
bl NARC_New
mov r1, #0x60
str r1, [sp]
mov r1, #0x3d
mov r2, #0
str r1, [sp, #4]
mov r1, #3
add r3, r2, #0
add r4, r0, #0
bl GfGfxLoader_GXLoadPalFromOpenNarc
mov r0, #1
lsl r0, r0, #8
str r0, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r4, #0
mov r1, #5
mov r2, #4
mov r3, #0
bl GfGfxLoader_GXLoadPalFromOpenNarc
mov r1, #0x1a
mov r0, #0
lsl r1, r1, #4
mov r2, #0x3d
bl LoadFontPal1
ldr r0, [r6]
ldr r0, [r0, #0x24]
bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r5, #0
mov r1, #0
mov r2, #1
mov r3, #0xe
bl LoadUserFrameGfx2
mov r1, #0
str r1, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r5, #0
mov r2, #0x1f
mov r3, #0xb
bl LoadUserFrameGfx1
mov r0, #0
str r0, [sp]
mov r0, #0xa
lsl r0, r0, #8
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #0xe
add r2, r5, #0
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #0x1d
add r2, r5, #0
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #0xf
add r2, r5, #0
mov r3, #2
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #4
mov r1, #0x20
mov r2, #0x3d
bl LoadFontPal1
add r0, r6, #0
bl ov70_02239CF8
add r0, r4, #0
bl NARC_Delete
add sp, #0x10
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov70_0223B8E0
thumb_func_start ov70_0223B9C8
ov70_0223B9C8: ; 0x0223B9C8
push {r4, lr}
sub sp, #0x30
mov r2, #0xd6
add r4, r0, #0
lsl r2, r2, #4
add r0, sp, #0
add r1, r4, #0
add r2, r4, r2
mov r3, #1
bl ov70_02238B54
ldr r0, _0223BA9C ; =ov70_022464F0
ldrh r1, [r0, #0xe]
ldrh r0, [r0, #0x10]
lsl r1, r1, #0xc
lsl r0, r0, #0xc
str r0, [sp, #0xc]
add r0, sp, #0
str r1, [sp, #8]
bl CreateSprite
ldr r1, _0223BAA0 ; =0x00000DCC
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
ldr r0, _0223BAA0 ; =0x00000DCC
mov r1, #0x2d
ldr r0, [r4, r0]
bl Set2dSpriteAnimSeqNo
ldr r0, _0223BAA0 ; =0x00000DCC
mov r1, #1
ldr r0, [r4, r0]
bl sub_02024A04
ldr r0, _0223BAA0 ; =0x00000DCC
mov r1, #1
ldr r0, [r4, r0]
bl sub_02024B78
mov r0, #0xa
lsl r0, r0, #0x10
str r0, [sp, #8]
mov r0, #2
lsl r0, r0, #0x10
str r0, [sp, #0xc]
add r0, sp, #0
bl CreateSprite
mov r1, #0xdd
lsl r1, r1, #4
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #0x2f
bl Set2dSpriteAnimSeqNo
mov r0, #0xdd
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #0x39
lsl r0, r0, #0xe
str r0, [sp, #8]
mov r0, #0x75
lsl r0, r0, #0xc
str r0, [sp, #0xc]
add r0, sp, #0
bl CreateSprite
ldr r1, _0223BAA4 ; =0x00000F04
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #0x26
bl Set2dSpriteAnimSeqNo
ldr r0, _0223BAA4 ; =0x00000F04
mov r1, #0
ldr r0, [r4, r0]
bl Set2dSpriteVisibleFlag
mov r0, #0x23
lsl r0, r0, #0xe
str r0, [sp, #8]
add r0, sp, #0
bl CreateSprite
ldr r1, _0223BAA8 ; =0x00000F08
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #0x27
bl Set2dSpriteAnimSeqNo
ldr r0, _0223BAA8 ; =0x00000F08
mov r1, #0
ldr r0, [r4, r0]
bl Set2dSpriteVisibleFlag
bl sub_0203A880
add sp, #0x30
pop {r4, pc}
nop
_0223BA9C: .word ov70_022464F0
_0223BAA0: .word 0x00000DCC
_0223BAA4: .word 0x00000F04
_0223BAA8: .word 0x00000F08
thumb_func_end ov70_0223B9C8
thumb_func_start ov70_0223BAAC
ov70_0223BAAC: ; 0x0223BAAC
push {r4, lr}
add r4, r0, #0
ldr r0, _0223BAD4 ; =0x00000DCC
ldr r0, [r4, r0]
bl Sprite_Delete
mov r0, #0xdd
lsl r0, r0, #4
ldr r0, [r4, r0]
bl Sprite_Delete
ldr r0, _0223BAD8 ; =0x00000F04
ldr r0, [r4, r0]
bl Sprite_Delete
ldr r0, _0223BADC ; =0x00000F08
ldr r0, [r4, r0]
bl Sprite_Delete
pop {r4, pc}
.balign 4, 0
_0223BAD4: .word 0x00000DCC
_0223BAD8: .word 0x00000F04
_0223BADC: .word 0x00000F08
thumb_func_end ov70_0223BAAC
thumb_func_start ov70_0223BAE0
ov70_0223BAE0: ; 0x0223BAE0
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
str r0, [sp, #0x14]
mov r0, #0x15
str r0, [sp]
mov r0, #0x1b
str r0, [sp, #4]
mov r3, #2
str r3, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
mov r0, #0x60
str r0, [sp, #0x10]
ldr r0, [sp, #0x14]
ldr r2, _0223BC10 ; =0x00000F18
ldr r1, [sp, #0x14]
ldr r0, [r0, #4]
add r1, r1, r2
mov r2, #0
bl AddWindowParameterized
ldr r1, _0223BC10 ; =0x00000F18
ldr r0, [sp, #0x14]
add r0, r0, r1
mov r1, #0
bl FillWindowPixelBuffer
ldr r1, _0223BC14 ; =0x00001058
ldr r0, [sp, #0x14]
ldr r4, _0223BC18 ; =ov70_02245640
mov r7, #0
mov r6, #1
add r5, r0, r1
_0223BB22:
ldrh r0, [r4, #2]
add r1, r5, #0
mov r2, #3
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0xb
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
lsl r0, r6, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldrh r3, [r4]
ldr r0, [sp, #0x14]
lsl r3, r3, #0x18
ldr r0, [r0, #4]
lsr r3, r3, #0x18
bl AddWindowParameterized
add r0, r5, #0
mov r1, #0
bl FillWindowPixelBuffer
add r7, r7, #1
add r6, #0x16
add r4, r4, #4
add r5, #0x10
cmp r7, #6
blt _0223BB22
ldr r1, _0223BC1C ; =0x00001178
ldr r0, [sp, #0x14]
ldr r4, _0223BC20 ; =ov70_0224562C
mov r7, #0
mov r6, #0x85
add r5, r0, r1
_0223BB6E:
ldrh r0, [r4, #2]
add r1, r5, #0
mov r2, #3
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x1c
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
lsl r0, r6, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldrh r3, [r4]
ldr r0, [sp, #0x14]
lsl r3, r3, #0x18
ldr r0, [r0, #4]
lsr r3, r3, #0x18
bl AddWindowParameterized
add r0, r5, #0
mov r1, #0
bl FillWindowPixelBuffer
add r7, r7, #1
add r6, #0x38
add r4, r4, #4
add r5, #0x10
cmp r7, #2
blt _0223BB6E
ldr r1, _0223BC14 ; =0x00001058
ldr r0, [sp, #0x14]
ldr r6, _0223BC24 ; =0x0000011D
add r0, r0, r1
ldr r4, _0223BC28 ; =ov70_02245634
mov r5, #0
str r0, [sp, #0x18]
_0223BBBC:
add r0, r5, #6
lsl r7, r0, #4
ldrh r0, [r4, #2]
ldr r1, [sp, #0x18]
mov r2, #3
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0xa
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
lsl r0, r6, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldrh r3, [r4]
ldr r0, [sp, #0x14]
add r1, r1, r7
lsl r3, r3, #0x18
ldr r0, [r0, #4]
lsr r3, r3, #0x18
bl AddWindowParameterized
ldr r0, [sp, #0x18]
mov r1, #0
add r0, r0, r7
bl FillWindowPixelBuffer
add r5, r5, #1
add r6, #0x14
add r4, r4, #4
cmp r5, #3
blt _0223BBBC
ldr r0, [sp, #0x14]
mov r1, #4
bl ov70_02239D44
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
nop
_0223BC10: .word 0x00000F18
_0223BC14: .word 0x00001058
_0223BC18: .word ov70_02245640
_0223BC1C: .word 0x00001178
_0223BC20: .word ov70_0224562C
_0223BC24: .word 0x0000011D
_0223BC28: .word ov70_02245634
thumb_func_end ov70_0223BAE0
thumb_func_start ov70_0223BC2C
ov70_0223BC2C: ; 0x0223BC2C
push {r4, r5, r6, lr}
add r6, r0, #0
ldr r0, _0223BC6C ; =0x00001198
add r0, r6, r0
bl RemoveWindow
ldr r0, _0223BC70 ; =0x00000F18
add r0, r6, r0
bl RemoveWindow
ldr r0, _0223BC74 ; =0x00001058
mov r4, #0
add r5, r6, r0
_0223BC46:
add r0, r5, #0
bl RemoveWindow
add r4, r4, #1
add r5, #0x10
cmp r4, #9
blt _0223BC46
ldr r0, _0223BC78 ; =0x00001178
mov r4, #0
add r5, r6, r0
_0223BC5A:
add r0, r5, #0
bl RemoveWindow
add r4, r4, #1
add r5, #0x10
cmp r4, #2
blt _0223BC5A
pop {r4, r5, r6, pc}
nop
_0223BC6C: .word 0x00001198
_0223BC70: .word 0x00000F18
_0223BC74: .word 0x00001058
_0223BC78: .word 0x00001178
thumb_func_end ov70_0223BC2C
thumb_func_start ov70_0223BC7C
ov70_0223BC7C: ; 0x0223BC7C
push {r4, lr}
add r4, r0, #0
mov r0, #0xb4
mov r1, #0x3d
bl String_New
ldr r1, _0223BCC8 ; =0x00000BBC
str r0, [r4, r1]
sub r1, #0x1c
ldr r0, [r4, r1]
mov r1, #0x2a
bl NewString_ReadMsgData
mov r1, #0x2f
lsl r1, r1, #6
str r0, [r4, r1]
mov r0, #0x3d
mov r1, #0x30
bl AllocFromHeap
ldr r1, _0223BCCC ; =0x000011C4
mov r2, #0x30
str r0, [r4, r1]
ldr r1, [r4, r1]
mov r0, #0
bl MIi_CpuClearFast
mov r0, #0x3d
bl ov70_0223F684
ldr r1, _0223BCCC ; =0x000011C4
ldr r2, [r4, r1]
add r1, #0x70
str r0, [r2, #0x14]
add r0, r4, r1
bl ov70_0223F948
pop {r4, pc}
.balign 4, 0
_0223BCC8: .word 0x00000BBC
_0223BCCC: .word 0x000011C4
thumb_func_end ov70_0223BC7C
thumb_func_start ov70_0223BCD0
ov70_0223BCD0: ; 0x0223BCD0
push {r4, lr}
add r4, r0, #0
ldr r0, _0223BCFC ; =0x000011C4
ldr r0, [r4, r0]
ldr r0, [r0, #0x14]
bl FreeToHeap
ldr r0, _0223BCFC ; =0x000011C4
ldr r0, [r4, r0]
bl FreeToHeap
ldr r0, _0223BD00 ; =0x00000BBC
ldr r0, [r4, r0]
bl String_Delete
mov r0, #0x2f
lsl r0, r0, #6
ldr r0, [r4, r0]
bl String_Delete
pop {r4, pc}
nop
_0223BCFC: .word 0x000011C4
_0223BD00: .word 0x00000BBC
thumb_func_end ov70_0223BCD0
thumb_func_start ov70_0223BD04
ov70_0223BD04: ; 0x0223BD04
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldr r1, [r4, #0x24]
cmp r1, #0xf
ldr r1, _0223BD78 ; =0x00000F0F
bne _0223BD4E
mov r2, #0
str r1, [sp]
mov r1, #0x20
add r3, r2, #0
bl ov70_0223CAC4
ldr r0, _0223BD7C ; =0x0400006C
bl GXx_GetMasterBrightness_
mov r1, #0xf
mvn r1, r1
cmp r0, r1
bne _0223BD48
mov r0, #0x10
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0
add r2, r1, #0
add r3, r0, #0
bl BeginNormalPaletteFade
mov r0, #0x1e
str r0, [r4, #0x2c]
b _0223BD64
_0223BD48:
mov r0, #1
str r0, [r4, #0x2c]
b _0223BD64
_0223BD4E:
str r1, [sp]
mov r1, #8
mov r2, #1
mov r3, #0
bl ov70_0223CAC4
add r0, r4, #0
mov r1, #0x15
mov r2, #1
bl ov70_02238D84
_0223BD64:
mov r0, #0xf1
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #1
bl Set2dSpriteVisibleFlag
mov r0, #3
add sp, #0xc
pop {r3, r4, pc}
nop
_0223BD78: .word 0x00000F0F
_0223BD7C: .word 0x0400006C
thumb_func_end ov70_0223BD04
thumb_func_start ov70_0223BD80
ov70_0223BD80: ; 0x0223BD80
ldr r3, _0223BD88 ; =sub_02025224
ldr r0, _0223BD8C ; =ov70_022456C8
bx r3
nop
_0223BD88: .word sub_02025224
_0223BD8C: .word ov70_022456C8
thumb_func_end ov70_0223BD80
thumb_func_start ov70_0223BD90
ov70_0223BD90: ; 0x0223BD90
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
cmp r1, #6
bhi _0223BE70
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0223BDA6: ; jump table
.short _0223BDB4 - _0223BDA6 - 2 ; case 0
.short _0223BDC2 - _0223BDA6 - 2 ; case 1
.short _0223BDFE - _0223BDA6 - 2 ; case 2
.short _0223BE0C - _0223BDA6 - 2 ; case 3
.short _0223BE1A - _0223BDA6 - 2 ; case 4
.short _0223BE4A - _0223BDA6 - 2 ; case 5
.short _0223BE52 - _0223BDA6 - 2 ; case 6
_0223BDB4:
mov r0, #3
str r0, [r4, #0x2c]
ldr r0, _0223BE74 ; =0x000005DC
bl PlaySE
add sp, #0xc
pop {r3, r4, pc}
_0223BDC2:
ldr r0, _0223BE78 ; =0x00000B8A
ldrsh r0, [r4, r0]
cmp r0, #0
beq _0223BDF0
mov r1, #0x12
bl GetMonBaseStat
ldr r1, _0223BE7C ; =0x000011C4
ldr r2, [r4, r1]
str r0, [r2, #0x20]
ldr r1, [r4, r1]
ldr r0, _0223BE78 ; =0x00000B8A
ldr r1, [r1, #0x20]
add r0, r4, r0
bl ov70_0223EDE4
cmp r0, #0
beq _0223BDF0
ldr r0, _0223BE74 ; =0x000005DC
bl PlaySE
add sp, #0xc
pop {r3, r4, pc}
_0223BDF0:
mov r0, #6
str r0, [r4, #0x2c]
ldr r0, _0223BE74 ; =0x000005DC
bl PlaySE
add sp, #0xc
pop {r3, r4, pc}
_0223BDFE:
mov r0, #9
str r0, [r4, #0x2c]
ldr r0, _0223BE74 ; =0x000005DC
bl PlaySE
add sp, #0xc
pop {r3, r4, pc}
_0223BE0C:
mov r0, #0xc
str r0, [r4, #0x2c]
ldr r0, _0223BE74 ; =0x000005DC
bl PlaySE
add sp, #0xc
pop {r3, r4, pc}
_0223BE1A:
mov r0, #0x4a
lsl r0, r0, #2
ldr r0, [r4, r0]
cmp r0, #0
beq _0223BE70
mov r0, #0x1d
str r0, [r4, #0x2c]
mov r0, #0x10
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl BeginNormalPaletteFade
ldr r0, _0223BE74 ; =0x000005DC
bl PlaySE
add sp, #0xc
pop {r3, r4, pc}
_0223BE4A:
mov r0, #0xf
add sp, #0xc
str r0, [r4, #0x2c]
pop {r3, r4, pc}
_0223BE52:
ldr r1, _0223BE80 ; =0x00000F0F
mov r2, #1
str r1, [sp]
mov r1, #0xf
mov r3, #0
bl ov70_0223CAC4
add r0, r4, #0
mov r1, #0x15
mov r2, #0x17
bl ov70_02238D84
ldr r0, _0223BE74 ; =0x000005DC
bl PlaySE
_0223BE70:
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
_0223BE74: .word 0x000005DC
_0223BE78: .word 0x00000B8A
_0223BE7C: .word 0x000011C4
_0223BE80: .word 0x00000F0F
thumb_func_end ov70_0223BD90
thumb_func_start ov70_0223BE84
ov70_0223BE84: ; 0x0223BE84
push {r3, r4, r5, lr}
add r5, r0, #0
bl ov70_0223BD80
add r4, r0, #0
mov r0, #0
mvn r0, r0
cmp r4, r0
beq _0223BEA8
add r0, r5, #0
add r1, r4, #0
bl ov70_0223C420
add r0, r5, #0
add r1, r4, #0
bl ov70_0223BD90
b _0223BEEE
_0223BEA8:
add r0, r5, #0
bl ov70_0223C304
ldr r0, _0223BEF4 ; =gSystem
mov r2, #1
ldr r1, [r0, #0x48]
add r0, r1, #0
tst r0, r2
beq _0223BECA
add r0, r5, #0
bl ov70_0223C2EC
add r1, r0, #0
add r0, r5, #0
bl ov70_0223BD90
b _0223BEEE
_0223BECA:
mov r0, #2
tst r0, r1
beq _0223BEEE
ldr r0, _0223BEF8 ; =0x00000F0F
mov r1, #0xf
str r0, [sp]
add r0, r5, #0
mov r3, #0
bl ov70_0223CAC4
add r0, r5, #0
mov r1, #0x15
mov r2, #0x17
bl ov70_02238D84
ldr r0, _0223BEFC ; =0x000005DC
bl PlaySE
_0223BEEE:
mov r0, #3
pop {r3, r4, r5, pc}
nop
_0223BEF4: .word gSystem
_0223BEF8: .word 0x00000F0F
_0223BEFC: .word 0x000005DC
thumb_func_end ov70_0223BE84
thumb_func_start ov70_0223BF00
ov70_0223BF00: ; 0x0223BF00
push {r3, r4, lr}
sub sp, #4
ldr r3, _0223BF94 ; =0x00000B8A
add r4, r0, #0
ldrsh r1, [r4, r3]
cmp r1, #0
bne _0223BF2E
ldr r1, _0223BF98 ; =0x00000F0F
mov r2, #1
str r1, [sp]
mov r1, #0xc
mov r3, #0
bl ov70_0223CAC4
add r0, r4, #0
mov r1, #0x15
mov r2, #1
bl ov70_02238D84
ldr r0, _0223BF9C ; =0x000005F3
bl PlaySE
b _0223BF8C
_0223BF2E:
ldr r2, _0223BFA0 ; =0x000012CC
add r1, r3, #6
add r0, r4, r3
add r3, #0xe
ldr r2, [r4, r2]
ldr r3, [r4, r3]
add r1, r4, r1
bl ov70_0223CC68
cmp r0, #0
beq _0223BF66
ldr r0, _0223BF98 ; =0x00000F0F
mov r1, #0x21
str r0, [sp]
add r0, r4, #0
mov r2, #1
mov r3, #0
bl ov70_0223CAC4
add r0, r4, #0
mov r1, #0x15
mov r2, #1
bl ov70_02238D84
ldr r0, _0223BF9C ; =0x000005F3
bl PlaySE
b _0223BF8C
_0223BF66:
ldr r0, _0223BFA4 ; =0x000005FE
bl PlaySE
ldr r0, _0223BF98 ; =0x00000F0F
mov r1, #0xd
str r0, [sp]
add r0, r4, #0
mov r2, #1
mov r3, #0
bl ov70_0223CAC4
add r0, r4, #0
mov r1, #0x15
mov r2, #0x10
bl ov70_02238D84
add r0, r4, #0
bl ov70_02241234
_0223BF8C:
mov r0, #3
add sp, #4
pop {r3, r4, pc}
nop
_0223BF94: .word 0x00000B8A
_0223BF98: .word 0x00000F0F
_0223BF9C: .word 0x000005F3
_0223BFA0: .word 0x000012CC
_0223BFA4: .word 0x000005FE
thumb_func_end ov70_0223BF00
thumb_func_start ov70_0223BFA8
ov70_0223BFA8: ; 0x0223BFA8
push {r3, r4, lr}
sub sp, #0x2c
cmp r1, #1
ldr r0, [r0]
bne _0223BFBA
ldr r0, [r0]
bl sub_0202DB90
b _0223BFC0
_0223BFBA:
ldr r0, [r0]
bl sub_0202DB80
_0223BFC0:
lsr r1, r0, #0x18
lsl r1, r1, #0x18
lsr r1, r1, #0x18
str r1, [sp, #0x1c]
lsr r1, r0, #0x10
lsl r1, r1, #0x18
lsr r1, r1, #0x18
str r1, [sp, #0x20]
lsr r1, r0, #8
lsl r1, r1, #0x18
lsl r0, r0, #0x18
lsr r1, r1, #0x18
lsr r0, r0, #0x18
str r1, [sp, #0x24]
str r0, [sp, #0x28]
add r0, sp, #0xc
add r1, sp, #0
bl ov00_021ECB94
add r0, sp, #0xc
bl RTC_ConvertDateToDay
add r4, r0, #0
add r0, sp, #0x1c
bl RTC_ConvertDateToDay
sub r0, r4, r0
bmi _0223C002
cmp r0, #3
bge _0223C002
add sp, #0x2c
mov r0, #1
pop {r3, r4, pc}
_0223C002:
mov r0, #0
add sp, #0x2c
pop {r3, r4, pc}
thumb_func_end ov70_0223BFA8
thumb_func_start ov70_0223C008
ov70_0223C008: ; 0x0223C008
push {r3, r4, r5, lr}
sub sp, #8
mov r1, #1
add r5, r0, #0
mov r4, #3
bl ov70_0223BFA8
cmp r0, #0
beq _0223C01C
add r4, r4, #2
_0223C01C:
add r0, r5, #0
mov r1, #0
bl ov70_0223BFA8
cmp r0, #0
beq _0223C02A
add r4, r4, #2
_0223C02A:
ldr r0, _0223C0BC ; =0x000012CC
ldr r0, [r5, r0]
cmp r0, #0
bne _0223C044
ldr r0, _0223C0C0 ; =0x00000B8A
mov r2, #0x26
lsl r2, r2, #4
add r0, r5, r0
add r1, r4, #0
add r2, r5, r2
bl ov70_02238130
b _0223C082
_0223C044:
add r0, sp, #0
mov r1, #0
mov r2, #8
bl MI_CpuFill8
ldr r1, _0223C0C0 ; =0x00000B8A
add r0, sp, #0
ldrsh r2, [r5, r1]
strh r2, [r0]
add r2, r1, #2
ldrsb r2, [r5, r2]
strb r2, [r0, #2]
add r2, r1, #3
ldrsb r2, [r5, r2]
strb r2, [r0, #3]
add r2, r1, #4
ldrsb r2, [r5, r2]
add r1, r1, #5
strb r2, [r0, #4]
ldrsb r1, [r5, r1]
strb r1, [r0, #5]
ldr r1, _0223C0BC ; =0x000012CC
strb r4, [r0, #6]
ldr r1, [r5, r1]
strb r1, [r0, #7]
mov r1, #0x26
lsl r1, r1, #4
add r0, sp, #0
add r1, r5, r1
bl ov70_022381A4
_0223C082:
ldr r1, _0223C0C0 ; =0x00000B8A
ldrh r2, [r5, r1]
add r0, r1, #6
strh r2, [r5, r0]
add r0, r1, #2
ldrh r2, [r5, r0]
add r0, r1, #0
add r0, #8
strh r2, [r5, r0]
add r0, r1, #4
ldrh r2, [r5, r0]
add r0, r1, #0
add r0, #0xa
strh r2, [r5, r0]
ldr r2, _0223C0BC ; =0x000012CC
add r1, #0xe
ldr r0, [r5, r2]
sub r2, #0xee
str r0, [r5, r1]
ldr r0, _0223C0C4 ; =0x00001604
mov r1, #0
str r1, [r5, r0]
mov r0, #0x11
str r0, [r5, #0x2c]
strh r1, [r5, r2]
mov r0, #3
add sp, #8
pop {r3, r4, r5, pc}
nop
_0223C0BC: .word 0x000012CC
_0223C0C0: .word 0x00000B8A
_0223C0C4: .word 0x00001604
thumb_func_end ov70_0223C008
thumb_func_start ov70_0223C0C8
ov70_0223C0C8: ; 0x0223C0C8
push {r3, r4, r5, lr}
add r4, r0, #0
bl ov70_02237F38
cmp r0, #0
beq _0223C176
bl ov70_02237F58
add r5, r0, #0
ldr r0, _0223C190 ; =0x00001604
mov r1, #0
str r1, [r4, r0]
add r0, r5, #0
add r0, #0xf
cmp r0, #0x16
bhi _0223C18C
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0223C0F4: ; jump table
.short _0223C170 - _0223C0F4 - 2 ; case 0
.short _0223C164 - _0223C0F4 - 2 ; case 1
.short _0223C16A - _0223C0F4 - 2 ; case 2
.short _0223C170 - _0223C0F4 - 2 ; case 3
.short _0223C18C - _0223C0F4 - 2 ; case 4
.short _0223C18C - _0223C0F4 - 2 ; case 5
.short _0223C18C - _0223C0F4 - 2 ; case 6
.short _0223C18C - _0223C0F4 - 2 ; case 7
.short _0223C18C - _0223C0F4 - 2 ; case 8
.short _0223C18C - _0223C0F4 - 2 ; case 9
.short _0223C18C - _0223C0F4 - 2 ; case 10
.short _0223C18C - _0223C0F4 - 2 ; case 11
.short _0223C18C - _0223C0F4 - 2 ; case 12
.short _0223C164 - _0223C0F4 - 2 ; case 13
.short _0223C18C - _0223C0F4 - 2 ; case 14
.short _0223C122 - _0223C0F4 - 2 ; case 15
.short _0223C122 - _0223C0F4 - 2 ; case 16
.short _0223C122 - _0223C0F4 - 2 ; case 17
.short _0223C122 - _0223C0F4 - 2 ; case 18
.short _0223C122 - _0223C0F4 - 2 ; case 19
.short _0223C122 - _0223C0F4 - 2 ; case 20
.short _0223C122 - _0223C0F4 - 2 ; case 21
.short _0223C122 - _0223C0F4 - 2 ; case 22
_0223C122:
mov r0, #0x4a
lsl r0, r0, #2
str r5, [r4, r0]
ldr r0, _0223C194 ; =0x000005FE
bl StopSE
add r0, r4, #0
add r1, r5, #0
mov r2, #1
bl ov70_02241184
cmp r5, #0
ldr r0, [r4, #4]
ldr r1, _0223C198 ; =0x000010D8
bne _0223C150
mov r2, #0xba
lsl r2, r2, #4
ldr r2, [r4, r2]
add r1, r4, r1
mov r3, #0
bl ov70_0223CC04
b _0223C15E
_0223C150:
mov r2, #0xba
lsl r2, r2, #4
ldr r2, [r4, r2]
add r1, r4, r1
mov r3, #1
bl ov70_0223CC04
_0223C15E:
mov r0, #0x12
str r0, [r4, #0x2c]
b _0223C18C
_0223C164:
mov r0, #0x1b
str r0, [r4, #0x2c]
b _0223C18C
_0223C16A:
bl sub_020399EC
b _0223C18C
_0223C170:
mov r0, #0x14
str r0, [r4, #0x2c]
b _0223C18C
_0223C176:
ldr r0, _0223C190 ; =0x00001604
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
mov r0, #0xe1
lsl r0, r0, #4
cmp r1, r0
bne _0223C18C
bl sub_020399EC
_0223C18C:
mov r0, #3
pop {r3, r4, r5, pc}
.balign 4, 0
_0223C190: .word 0x00001604
_0223C194: .word 0x000005FE
_0223C198: .word 0x000010D8
thumb_func_end ov70_0223C0C8
thumb_func_start ov70_0223C19C
ov70_0223C19C: ; 0x0223C19C
push {r3, r4, lr}
sub sp, #4
mov r1, #0x4a
add r4, r0, #0
lsl r1, r1, #2
ldr r1, [r4, r1]
cmp r1, #0
ldr r1, _0223C1F0 ; =0x00000F0F
bne _0223C1CC
str r1, [sp]
mov r1, #0xe
mov r2, #1
mov r3, #0
bl ov70_0223CAC4
add r0, r4, #0
mov r1, #0x15
mov r2, #1
bl ov70_02238D84
ldr r0, _0223C1F4 ; =0x000005F3
bl PlaySE
b _0223C1EA
_0223C1CC:
str r1, [sp]
mov r1, #0x1e
mov r2, #1
mov r3, #0
bl ov70_0223CAC4
add r0, r4, #0
mov r1, #0x15
mov r2, #0x13
bl ov70_02238D84
mov r0, #0x47
mov r1, #0
lsl r0, r0, #6
str r1, [r4, r0]
_0223C1EA:
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0223C1F0: .word 0x00000F0F
_0223C1F4: .word 0x000005F3
thumb_func_end ov70_0223C19C
thumb_func_start ov70_0223C1F8
ov70_0223C1F8: ; 0x0223C1F8
push {r3, r4, lr}
sub sp, #4
mov r1, #0x47
add r4, r0, #0
lsl r1, r1, #6
ldr r2, [r4, r1]
add r2, r2, #1
str r2, [r4, r1]
ldr r1, [r4, r1]
cmp r1, #0x2d
ble _0223C22C
ldr r1, _0223C234 ; =0x00000F0F
mov r2, #1
str r1, [sp]
mov r1, #0x20
mov r3, #0
bl ov70_0223CAC4
add r0, r4, #0
mov r1, #0x15
mov r2, #1
bl ov70_02238D84
ldr r0, _0223C238 ; =0x000011DE
mov r1, #1
strh r1, [r4, r0]
_0223C22C:
mov r0, #3
add sp, #4
pop {r3, r4, pc}
nop
_0223C234: .word 0x00000F0F
_0223C238: .word 0x000011DE
thumb_func_end ov70_0223C1F8
thumb_func_start ov70_0223C23C
ov70_0223C23C: ; 0x0223C23C
push {r3, r4, lr}
sub sp, #4
mov r1, #0xb9
add r4, r0, #0
mov r3, #0
lsl r1, r1, #4
strh r3, [r4, r1]
ldr r1, _0223C26C ; =0x00000F0F
mov r2, #1
str r1, [sp]
mov r1, #0x26
bl ov70_0223CAC4
add r0, r4, #0
mov r1, #0x15
mov r2, #1
bl ov70_02238D84
ldr r0, _0223C270 ; =0x000005F3
bl PlaySE
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0223C26C: .word 0x00000F0F
_0223C270: .word 0x000005F3
thumb_func_end ov70_0223C23C
thumb_func_start ov70_0223C274
ov70_0223C274: ; 0x0223C274
push {r3, r4, lr}
sub sp, #4
ldr r1, _0223C2A8 ; =0x00000F0F
add r4, r0, #0
str r1, [sp]
mov r1, #0x99
mov r2, #4
mov r3, #0
bl ov70_0223CAC4
add r0, r4, #0
mov r1, #0x16
mov r2, #0x1c
bl ov70_02238D84
mov r0, #0x47
mov r1, #0
lsl r0, r0, #6
str r1, [r4, r0]
ldr r0, _0223C2AC ; =0x000005F3
bl PlaySE
mov r0, #3
add sp, #4
pop {r3, r4, pc}
nop
_0223C2A8: .word 0x00000F0F
_0223C2AC: .word 0x000005F3
thumb_func_end ov70_0223C274
thumb_func_start ov70_0223C2B0
ov70_0223C2B0: ; 0x0223C2B0
push {r3, r4, lr}
sub sp, #4
ldr r1, _0223C2E4 ; =0x00000F0F
add r4, r0, #0
str r1, [sp]
mov r1, #0x9e
mov r2, #4
mov r3, #0
bl ov70_0223CAC4
add r0, r4, #0
mov r1, #0x16
mov r2, #2
bl ov70_02238D84
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl ov70_02238E50
ldr r0, _0223C2E8 ; =0x000005F3
bl PlaySE
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0223C2E4: .word 0x00000F0F
_0223C2E8: .word 0x000005F3
thumb_func_end ov70_0223C2B0
thumb_func_start ov70_0223C2EC
ov70_0223C2EC: ; 0x0223C2EC
ldr r1, _0223C300 ; =0x000011C4
ldr r1, [r0, r1]
ldr r0, [r1, #0x24]
cmp r0, #0
bne _0223C2FA
ldr r0, [r1, #0x28]
bx lr
_0223C2FA:
ldr r0, [r1, #0x2c]
add r0, r0, #4
bx lr
.balign 4, 0
_0223C300: .word 0x000011C4
thumb_func_end ov70_0223C2EC
thumb_func_start ov70_0223C304
ov70_0223C304: ; 0x0223C304
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, _0223C404 ; =gSystem
mov r1, #0x40
ldr r0, [r0, #0x48]
tst r1, r0
beq _0223C346
ldr r0, _0223C408 ; =0x000011C4
ldr r1, [r5, r0]
ldr r0, [r1, #0x24]
cmp r0, #0
bne _0223C32E
ldr r0, [r1, #0x28]
cmp r0, #0
ble _0223C3BE
sub r0, r0, #1
str r0, [r1, #0x28]
ldr r0, _0223C40C ; =0x000005DC
bl PlaySE
b _0223C3BE
_0223C32E:
ldr r0, [r1, #0x2c]
cmp r0, #0
ble _0223C3BE
ldr r0, _0223C40C ; =0x000005DC
bl PlaySE
ldr r0, _0223C408 ; =0x000011C4
ldr r1, [r5, r0]
ldr r0, [r1, #0x2c]
sub r0, r0, #1
str r0, [r1, #0x2c]
b _0223C3BE
_0223C346:
mov r1, #0x80
tst r1, r0
beq _0223C380
ldr r0, _0223C408 ; =0x000011C4
ldr r1, [r5, r0]
ldr r0, [r1, #0x24]
cmp r0, #0
bne _0223C368
ldr r0, [r1, #0x28]
cmp r0, #3
bge _0223C3BE
add r0, r0, #1
str r0, [r1, #0x28]
ldr r0, _0223C40C ; =0x000005DC
bl PlaySE
b _0223C3BE
_0223C368:
ldr r0, [r1, #0x2c]
cmp r0, #2
bge _0223C3BE
ldr r0, _0223C40C ; =0x000005DC
bl PlaySE
ldr r0, _0223C408 ; =0x000011C4
ldr r1, [r5, r0]
ldr r0, [r1, #0x2c]
add r0, r0, #1
str r0, [r1, #0x2c]
b _0223C3BE
_0223C380:
mov r1, #0x10
tst r1, r0
beq _0223C3A0
ldr r0, _0223C408 ; =0x000011C4
ldr r0, [r5, r0]
ldr r0, [r0, #0x24]
cmp r0, #1
beq _0223C396
ldr r0, _0223C40C ; =0x000005DC
bl PlaySE
_0223C396:
ldr r0, _0223C408 ; =0x000011C4
mov r1, #1
ldr r0, [r5, r0]
str r1, [r0, #0x24]
b _0223C3BE
_0223C3A0:
mov r1, #0x20
tst r0, r1
beq _0223C3BE
ldr r0, _0223C408 ; =0x000011C4
ldr r0, [r5, r0]
ldr r0, [r0, #0x24]
cmp r0, #0
beq _0223C3B6
ldr r0, _0223C40C ; =0x000005DC
bl PlaySE
_0223C3B6:
ldr r0, _0223C408 ; =0x000011C4
mov r1, #0
ldr r0, [r5, r0]
str r1, [r0, #0x24]
_0223C3BE:
add r0, r5, #0
bl ov70_0223C2EC
add r4, r0, #0
add r0, r5, #0
bl ov70_0223C2EC
add r2, r0, #0
ldr r0, _0223C410 ; =0x00000DCC
mov r3, #6
add r6, r4, #0
mul r6, r3
ldr r1, _0223C414 ; =ov70_022464FE
mul r3, r2
ldr r2, _0223C418 ; =ov70_02246500
ldrh r1, [r1, r6]
ldrh r2, [r2, r3]
ldr r0, [r5, r0]
bl ov70_02238F9C
add r0, r5, #0
bl ov70_0223C2EC
add r3, r0, #0
ldr r0, _0223C410 ; =0x00000DCC
mov r1, #6
add r2, r3, #0
mul r2, r1
ldr r1, _0223C41C ; =ov70_02246502
ldr r0, [r5, r0]
ldrh r1, [r1, r2]
bl Set2dSpriteAnimSeqNo
pop {r4, r5, r6, pc}
nop
_0223C404: .word gSystem
_0223C408: .word 0x000011C4
_0223C40C: .word 0x000005DC
_0223C410: .word 0x00000DCC
_0223C414: .word ov70_022464FE
_0223C418: .word ov70_02246500
_0223C41C: .word ov70_02246502
thumb_func_end ov70_0223C304
thumb_func_start ov70_0223C420
ov70_0223C420: ; 0x0223C420
push {r4, r5, r6, lr}
add r5, r0, #0
lsl r0, r1, #1
ldr r1, _0223C494 ; =ov70_022464F0
ldrb r1, [r1, r0]
cmp r1, #0
ldr r1, _0223C498 ; =0x000011C4
bne _0223C440
ldr r2, [r5, r1]
mov r3, #0
str r3, [r2, #0x24]
ldr r2, _0223C49C ; =ov70_022464F1
ldrb r2, [r2, r0]
ldr r0, [r5, r1]
str r2, [r0, #0x28]
b _0223C44E
_0223C440:
ldr r2, [r5, r1]
mov r3, #1
str r3, [r2, #0x24]
ldr r2, _0223C49C ; =ov70_022464F1
ldrb r2, [r2, r0]
ldr r0, [r5, r1]
str r2, [r0, #0x2c]
_0223C44E:
add r0, r5, #0
bl ov70_0223C2EC
add r4, r0, #0
add r0, r5, #0
bl ov70_0223C2EC
add r2, r0, #0
ldr r0, _0223C4A0 ; =0x00000DCC
mov r3, #6
add r6, r4, #0
mul r6, r3
ldr r1, _0223C4A4 ; =ov70_022464FE
mul r3, r2
ldr r2, _0223C4A8 ; =ov70_02246500
ldrh r1, [r1, r6]
ldrh r2, [r2, r3]
ldr r0, [r5, r0]
bl ov70_02238F9C
add r0, r5, #0
bl ov70_0223C2EC
add r3, r0, #0
ldr r0, _0223C4A0 ; =0x00000DCC
mov r1, #6
add r2, r3, #0
mul r2, r1
ldr r1, _0223C4AC ; =ov70_02246502
ldr r0, [r5, r0]
ldrh r1, [r1, r2]
bl Set2dSpriteAnimSeqNo
pop {r4, r5, r6, pc}
nop
_0223C494: .word ov70_022464F0
_0223C498: .word 0x000011C4
_0223C49C: .word ov70_022464F1
_0223C4A0: .word 0x00000DCC
_0223C4A4: .word ov70_022464FE
_0223C4A8: .word ov70_02246500
_0223C4AC: .word ov70_02246502
thumb_func_end ov70_0223C420
thumb_func_start ov70_0223C4B0
ov70_0223C4B0: ; 0x0223C4B0
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldr r0, _0223C4E0 ; =0x00000F14
ldr r0, [r4, r0]
cmp r0, #0
bne _0223C4D6
mov r0, #6
str r0, [sp]
mov r1, #0
mov r0, #1
str r0, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
add r3, r1, #0
bl BeginNormalPaletteFade
_0223C4D6:
mov r0, #0
str r0, [r4, #0x2c]
mov r0, #4
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
_0223C4E0: .word 0x00000F14
thumb_func_end ov70_0223C4B0
thumb_func_start ov70_0223C4E4
ov70_0223C4E4: ; 0x0223C4E4
push {r3, r4, lr}
sub sp, #4
ldr r1, _0223C508 ; =0x00000F0F
add r4, r0, #0
str r1, [sp]
mov r1, #9
mov r2, #1
mov r3, #0
bl ov70_0223CAC4
add r0, r4, #0
mov r1, #0x15
mov r2, #4
bl ov70_02238D84
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0223C508: .word 0x00000F0F
thumb_func_end ov70_0223C4E4
thumb_func_start ov70_0223C50C
ov70_0223C50C: ; 0x0223C50C
push {r4, lr}
add r4, r0, #0
ldr r0, _0223C528 ; =0x000011A8
mov r1, #0
ldr r0, [r4, r0]
bl ov70_022420C4
mov r0, #9
bl ov70_0223CD28
mov r0, #5
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
.balign 4, 0
_0223C528: .word 0x000011A8
thumb_func_end ov70_0223C50C
thumb_func_start ov70_0223C52C
ov70_0223C52C: ; 0x0223C52C
push {r4, r5, lr}
sub sp, #0xc
add r4, r0, #0
ldr r0, _0223C5FC ; =0x000011A8
ldr r0, [r4, r0]
bl ov70_02242144
add r5, r0, #0
mov r0, #1
mvn r0, r0
cmp r5, r0
beq _0223C54C
add r0, r0, #1
cmp r5, r0
beq _0223C5F6
b _0223C56E
_0223C54C:
mov r0, #0
bl ov70_0223CD28
mov r0, #0
str r0, [r4, #0x2c]
ldr r0, _0223C600 ; =0x000011C4
ldr r3, [r4, r0]
add r0, #0x70
ldrh r2, [r3, #6]
ldrh r1, [r3, #4]
add r0, r4, r0
add r1, r2, r1
ldrh r2, [r3, #0xa]
ldrh r3, [r3, #8]
bl ov70_0223F960
b _0223C5F6
_0223C56E:
mov r0, #0
bl ov70_0223CD28
ldr r0, _0223C604 ; =0x00000B8A
mov r1, #0
strh r5, [r4, r0]
ldr r0, _0223C608 ; =0x00001068
str r1, [r4, #0x2c]
add r0, r4, r0
bl FillWindowPixelBuffer
mov r3, #0
ldr r0, _0223C60C ; =0x00010200
str r3, [sp]
str r0, [sp, #4]
ldr r1, _0223C610 ; =0x00000BA4
ldr r0, _0223C608 ; =0x00001068
ldr r1, [r4, r1]
add r0, r4, r0
add r2, r5, #0
bl ov70_0223F1D8
add r0, r5, #0
mov r1, #0x12
bl GetMonBaseStat
ldr r1, _0223C600 ; =0x000011C4
ldr r2, [r4, r1]
str r0, [r2, #0x20]
ldr r3, [r4, r1]
add r1, #0x70
add r0, r4, r1
ldrh r2, [r3, #6]
ldrh r1, [r3, #4]
add r1, r2, r1
ldrh r2, [r3, #0xa]
ldrh r3, [r3, #8]
bl ov70_0223F960
ldr r1, _0223C600 ; =0x000011C4
ldr r0, _0223C604 ; =0x00000B8A
ldr r1, [r4, r1]
add r0, r4, r0
ldr r1, [r1, #0x20]
bl ov70_0223EDE4
cmp r0, #0
beq _0223C5F6
ldr r0, _0223C614 ; =0x00001088
mov r1, #0
add r0, r4, r0
bl FillWindowPixelBuffer
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0223C60C ; =0x00010200
mov r2, #0xba
str r0, [sp, #8]
lsl r2, r2, #4
ldr r1, [r4, r2]
sub r2, #0x14
ldr r0, _0223C614 ; =0x00001088
ldrsb r2, [r4, r2]
add r0, r4, r0
mov r3, #1
bl ov70_0223F2BC
_0223C5F6:
mov r0, #3
add sp, #0xc
pop {r4, r5, pc}
.balign 4, 0
_0223C5FC: .word 0x000011A8
_0223C600: .word 0x000011C4
_0223C604: .word 0x00000B8A
_0223C608: .word 0x00001068
_0223C60C: .word 0x00010200
_0223C610: .word 0x00000BA4
_0223C614: .word 0x00001088
thumb_func_end ov70_0223C52C
thumb_func_start ov70_0223C618
ov70_0223C618: ; 0x0223C618
push {r3, r4, lr}
sub sp, #4
ldr r1, _0223C63C ; =0x00000F0F
add r4, r0, #0
str r1, [sp]
mov r1, #0xa
mov r2, #1
mov r3, #0
bl ov70_0223CAC4
add r0, r4, #0
mov r1, #0x15
mov r2, #7
bl ov70_02238D84
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0223C63C: .word 0x00000F0F
thumb_func_end ov70_0223C618
thumb_func_start ov70_0223C640
ov70_0223C640: ; 0x0223C640
push {r4, lr}
add r4, r0, #0
ldr r0, _0223C65C ; =0x000011A8
mov r1, #1
ldr r0, [r4, r0]
bl ov70_022420C4
mov r0, #9
bl ov70_0223CD28
mov r0, #8
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
.balign 4, 0
_0223C65C: .word 0x000011A8
thumb_func_end ov70_0223C640
thumb_func_start ov70_0223C660
ov70_0223C660: ; 0x0223C660
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
ldr r0, _0223C6DC ; =0x000011A8
ldr r0, [r5, r0]
bl ov70_02242144
add r4, r0, #0
cmp r4, #2
bhi _0223C682
cmp r4, #0
beq _0223C6A0
cmp r4, #1
beq _0223C6A0
cmp r4, #2
beq _0223C6A0
b _0223C6D6
_0223C682:
mov r0, #1
mvn r0, r0
cmp r4, r0
bne _0223C6D6
mov r0, #0
bl ov70_0223CD28
ldr r0, _0223C6E0 ; =0x00000F18
mov r1, #0
add r0, r5, r0
bl ClearFrameAndWindow2
mov r0, #0
str r0, [r5, #0x2c]
b _0223C6D6
_0223C6A0:
mov r0, #0
bl ov70_0223CD28
ldr r0, _0223C6E4 ; =0x00000B8C
add r1, r4, #1
strb r1, [r5, r0]
ldr r0, _0223C6E8 ; =0x00001088
mov r1, #0
add r0, r5, r0
str r1, [r5, #0x2c]
bl FillWindowPixelBuffer
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0223C6EC ; =0x00010200
mov r2, #0xba
str r0, [sp, #8]
lsl r2, r2, #4
ldr r1, [r5, r2]
sub r2, #0x14
ldr r0, _0223C6E8 ; =0x00001088
ldrsb r2, [r5, r2]
add r0, r5, r0
mov r3, #1
bl ov70_0223F2BC
_0223C6D6:
mov r0, #3
add sp, #0xc
pop {r4, r5, pc}
.balign 4, 0
_0223C6DC: .word 0x000011A8
_0223C6E0: .word 0x00000F18
_0223C6E4: .word 0x00000B8C
_0223C6E8: .word 0x00001088
_0223C6EC: .word 0x00010200
thumb_func_end ov70_0223C660
thumb_func_start ov70_0223C6F0
ov70_0223C6F0: ; 0x0223C6F0
push {r3, r4, lr}
sub sp, #4
ldr r1, _0223C714 ; =0x00000F0F
add r4, r0, #0
str r1, [sp]
mov r1, #0xb
mov r2, #1
mov r3, #0
bl ov70_0223CAC4
add r0, r4, #0
mov r1, #0x15
mov r2, #0xa
bl ov70_02238D84
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0223C714: .word 0x00000F0F
thumb_func_end ov70_0223C6F0
thumb_func_start ov70_0223C718
ov70_0223C718: ; 0x0223C718
push {r4, lr}
add r4, r0, #0
mov r0, #0x46
ldr r1, _0223C73C ; =0x0000FFFF
lsl r0, r0, #2
strh r1, [r4, r0]
ldr r0, _0223C740 ; =0x000011A8
mov r1, #2
ldr r0, [r4, r0]
bl ov70_022420C4
mov r0, #9
bl ov70_0223CD28
mov r0, #0xb
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
.balign 4, 0
_0223C73C: .word 0x0000FFFF
_0223C740: .word 0x000011A8
thumb_func_end ov70_0223C718
thumb_func_start ov70_0223C744
ov70_0223C744: ; 0x0223C744
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
ldr r0, _0223C7B4 ; =0x000011A8
ldr r0, [r5, r0]
bl ov70_02242144
add r4, r0, #0
cmp r4, #0xb
beq _0223C768
mov r0, #1
mvn r0, r0
cmp r4, r0
beq _0223C768
add r0, r0, #1
cmp r4, r0
beq _0223C7AE
b _0223C774
_0223C768:
mov r0, #0
bl ov70_0223CD28
mov r0, #0
str r0, [r5, #0x2c]
b _0223C7AE
_0223C774:
mov r0, #0
bl ov70_0223CD28
ldr r0, _0223C7B8 ; =0x00000B8A
add r1, r4, #0
add r0, r5, r0
mov r2, #1
bl ov70_0223F828
ldr r0, _0223C7BC ; =0x000010A8
mov r1, #0
add r0, r5, r0
str r1, [r5, #0x2c]
bl FillWindowPixelBuffer
mov r3, #0
mov r1, #0xba
ldr r0, _0223C7C0 ; =0x00010200
str r3, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, _0223C7BC ; =0x000010A8
lsl r1, r1, #4
ldr r1, [r5, r1]
add r0, r5, r0
add r2, r4, #0
bl ov70_0223F370
_0223C7AE:
mov r0, #3
add sp, #0xc
pop {r4, r5, pc}
.balign 4, 0
_0223C7B4: .word 0x000011A8
_0223C7B8: .word 0x00000B8A
_0223C7BC: .word 0x000010A8
_0223C7C0: .word 0x00010200
thumb_func_end ov70_0223C744
thumb_func_start ov70_0223C7C4
ov70_0223C7C4: ; 0x0223C7C4
push {r3, r4, lr}
sub sp, #4
ldr r1, _0223C7E8 ; =0x00000F0F
add r4, r0, #0
str r1, [sp]
mov r1, #0xb0
mov r2, #1
mov r3, #0
bl ov70_0223CAC4
add r0, r4, #0
mov r1, #0x15
mov r2, #0xd
bl ov70_02238D84
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0223C7E8: .word 0x00000F0F
thumb_func_end ov70_0223C7C4
thumb_func_start ov70_0223C7EC
ov70_0223C7EC: ; 0x0223C7EC
push {r4, lr}
add r4, r0, #0
mov r0, #0x46
ldr r1, _0223C810 ; =0x0000FFFF
lsl r0, r0, #2
strh r1, [r4, r0]
ldr r0, _0223C814 ; =0x000011A8
mov r1, #3
ldr r0, [r4, r0]
bl ov70_022420C4
mov r0, #9
bl ov70_0223CD28
mov r0, #0xe
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
.balign 4, 0
_0223C810: .word 0x0000FFFF
_0223C814: .word 0x000011A8
thumb_func_end ov70_0223C7EC
thumb_func_start ov70_0223C818
ov70_0223C818: ; 0x0223C818
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
ldr r0, _0223C898 ; =0x000011A8
ldr r0, [r5, r0]
bl ov70_02242144
add r4, r0, #0
mov r0, #0
mvn r0, r0
cmp r4, r0
beq _0223C890
sub r0, r0, #1
cmp r4, r0
beq _0223C840
ldr r0, _0223C89C ; =ov70_0224590C
ldr r0, [r0]
add r0, r0, #1
cmp r4, r0
bne _0223C856
_0223C840:
mov r0, #0
bl ov70_0223CD28
ldr r0, _0223C8A0 ; =0x00000F18
mov r1, #0
add r0, r5, r0
bl ClearFrameAndWindow2
mov r0, #0
str r0, [r5, #0x2c]
b _0223C890
_0223C856:
mov r0, #0
bl ov70_0223CD28
add r0, r5, #0
add r1, r4, #0
bl ov70_0223F8A8
ldr r0, _0223C8A4 ; =0x00001188
mov r1, #0
add r0, r5, r0
str r1, [r5, #0x2c]
bl FillWindowPixelBuffer
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0223C8A8 ; =0x00010200
mov r2, #0xbb
str r0, [sp, #8]
lsl r2, r2, #4
ldr r3, _0223C8AC ; =0x000012CC
ldr r0, _0223C8A4 ; =0x00001188
ldr r1, [r5, r2]
sub r2, #0x10
ldr r2, [r5, r2]
ldr r3, [r5, r3]
add r0, r5, r0
bl ov70_0223F244
_0223C890:
mov r0, #3
add sp, #0xc
pop {r4, r5, pc}
nop
_0223C898: .word 0x000011A8
_0223C89C: .word ov70_0224590C
_0223C8A0: .word 0x00000F18
_0223C8A4: .word 0x00001188
_0223C8A8: .word 0x00010200
_0223C8AC: .word 0x000012CC
thumb_func_end ov70_0223C818
thumb_func_start ov70_0223C8B0
ov70_0223C8B0: ; 0x0223C8B0
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
mov r0, #1
str r0, [sp]
mov r2, #0x12
ldr r0, [r4, #4]
mov r1, #0xc
lsl r2, r2, #4
mov r3, #3
bl ov70_02238C14
ldr r1, _0223C8D8 ; =0x000011C8
str r0, [r4, r1]
mov r0, #0x18
str r0, [r4, #0x2c]
mov r0, #3
add sp, #4
pop {r3, r4, pc}
nop
_0223C8D8: .word 0x000011C8
thumb_func_end ov70_0223C8B0
thumb_func_start ov70_0223C8DC
ov70_0223C8DC: ; 0x0223C8DC
push {r4, lr}
add r4, r0, #0
bl ov70_02238C8C
cmp r0, #1
bne _0223C90E
ldr r0, _0223C924 ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
mov r0, #2
str r0, [r4, #0x2c]
add r0, r4, #0
mov r1, #1
mov r2, #0
bl ov70_02238E50
add r0, r4, #0
bl ov70_02241234
mov r0, #0x4a
mov r1, #0
lsl r0, r0, #2
str r1, [r4, r0]
b _0223C91E
_0223C90E:
cmp r0, #2
bne _0223C91E
ldr r0, _0223C924 ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
mov r0, #0
str r0, [r4, #0x2c]
_0223C91E:
mov r0, #3
pop {r4, pc}
nop
_0223C924: .word 0x000011C8
thumb_func_end ov70_0223C8DC
thumb_func_start ov70_0223C928
ov70_0223C928: ; 0x0223C928
mov r1, #1
str r1, [r0, #0x2c]
mov r0, #3
bx lr
thumb_func_end ov70_0223C928
thumb_func_start ov70_0223C930
ov70_0223C930: ; 0x0223C930
push {r3, r4, lr}
sub sp, #4
ldr r1, _0223C954 ; =0x00000F0F
add r4, r0, #0
str r1, [sp]
mov r1, #0x98
mov r2, #1
mov r3, #0
bl ov70_0223CAC4
add r0, r4, #0
mov r1, #0x15
mov r2, #1
bl ov70_02238D84
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0223C954: .word 0x00000F0F
thumb_func_end ov70_0223C930
thumb_func_start ov70_0223C958
ov70_0223C958: ; 0x0223C958
push {r4, lr}
add r4, r0, #0
mov r0, #0xbf
lsl r0, r0, #4
ldr r0, [r4, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl TextPrinterCheckActive
cmp r0, #0
bne _0223C972
ldr r0, [r4, #0x30]
str r0, [r4, #0x2c]
_0223C972:
mov r0, #3
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_0223C958
thumb_func_start ov70_0223C978
ov70_0223C978: ; 0x0223C978
push {r4, lr}
add r4, r0, #0
mov r0, #0xbf
lsl r0, r0, #4
ldr r0, [r4, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl TextPrinterCheckActive
cmp r0, #0
bne _0223C9A6
mov r0, #0x47
lsl r0, r0, #6
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
cmp r1, #0x2d
ble _0223C9A6
mov r1, #0
str r1, [r4, r0]
ldr r0, [r4, #0x30]
str r0, [r4, #0x2c]
_0223C9A6:
mov r0, #3
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_0223C978
thumb_func_start ov70_0223C9AC
ov70_0223C9AC: ; 0x0223C9AC
push {r4, lr}
add r4, r0, #0
ldr r0, _0223CA0C ; =0x00000F14
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
bl IsPaletteFadeFinished
cmp r0, #0
beq _0223CA06
ldr r2, _0223CA10 ; =0x04000304
ldrh r1, [r2]
lsr r0, r2, #0xb
orr r0, r1
strh r0, [r2]
mov r1, #0xf
ldr r0, _0223CA0C ; =0x00000F14
mvn r1, r1
str r1, [r4, r0]
ldr r1, _0223CA14 ; =0x000011DE
ldrh r1, [r4, r1]
cmp r1, #0
beq _0223C9FA
sub r0, #0x2c
ldr r0, [r4, r0]
mov r1, #0x10
bl Set2dSpriteAnimSeqNo
mov r0, #2
str r0, [r4, #0x2c]
add r0, r4, #0
mov r1, #3
mov r2, #0x10
bl ov70_02238E50
mov r0, #0x4b
mov r1, #0
lsl r0, r0, #2
str r1, [r4, r0]
_0223C9FA:
mov r0, #0xf1
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl Set2dSpriteVisibleFlag
_0223CA06:
mov r0, #3
pop {r4, pc}
nop
_0223CA0C: .word 0x00000F14
_0223CA10: .word 0x04000304
_0223CA14: .word 0x000011DE
thumb_func_end ov70_0223C9AC
thumb_func_start ov70_0223CA18
ov70_0223CA18: ; 0x0223CA18
push {r4, lr}
add r4, r0, #0
ldr r0, _0223CA3C ; =0x00000F14
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
bl IsPaletteFadeFinished
cmp r0, #0
beq _0223CA36
ldr r0, _0223CA3C ; =0x00000F14
mov r1, #0
str r1, [r4, r0]
mov r0, #1
str r0, [r4, #0x2c]
_0223CA36:
mov r0, #3
pop {r4, pc}
nop
_0223CA3C: .word 0x00000F14
thumb_func_end ov70_0223CA18
thumb_func_start ov70_0223CA40
ov70_0223CA40: ; 0x0223CA40
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
ldr r0, _0223CAB4 ; =gSystem
ldr r1, [r0, #0x48]
mov r0, #1
tst r1, r0
beq _0223CA68
mov r1, #0x10
str r1, [sp]
str r0, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl BeginNormalPaletteFade
b _0223CAAC
_0223CA68:
mov r0, #0x4a
lsl r0, r0, #2
ldr r0, [r5, r0]
bl ov70_02241164
add r4, r0, #0
ldr r0, _0223CAB8 ; =0x000011DE
ldrh r0, [r5, r0]
cmp r0, #0
beq _0223CAAC
cmp r4, #0
blt _0223CAAC
add r0, r4, #1
lsl r0, r0, #2
add r1, r5, r0
ldr r0, _0223CABC ; =0x00000EE4
ldr r0, [r1, r0]
lsl r1, r4, #2
add r1, #0x10
bl Set2dSpriteAnimSeqNo
mov r0, #2
str r0, [r5, #0x2c]
add r0, r5, #0
mov r1, #3
mov r2, #0
bl ov70_02238E50
mov r0, #0x4b
lsl r0, r0, #2
str r4, [r5, r0]
ldr r0, _0223CAC0 ; =0x000005DC
bl PlaySE
_0223CAAC:
mov r0, #3
add sp, #0xc
pop {r4, r5, pc}
nop
_0223CAB4: .word gSystem
_0223CAB8: .word 0x000011DE
_0223CABC: .word 0x00000EE4
_0223CAC0: .word 0x000005DC
thumb_func_end ov70_0223CA40
thumb_func_start ov70_0223CAC4
ov70_0223CAC4: ; 0x0223CAC4
push {r4, r5, lr}
sub sp, #0xc
add r4, r2, #0
mov r2, #0xba
add r5, r0, #0
lsl r2, r2, #4
ldr r0, [r5, r2]
add r2, #0x1c
ldr r2, [r5, r2]
bl ReadMsgDataIntoString
ldr r0, _0223CB14 ; =0x00000F18
mov r1, #0xf
add r0, r5, r0
bl FillWindowPixelBuffer
ldr r0, _0223CB14 ; =0x00000F18
mov r1, #0
add r0, r5, r0
mov r2, #1
mov r3, #0xe
bl DrawFrameAndWindow2
mov r3, #0
str r3, [sp]
str r4, [sp, #4]
ldr r0, _0223CB14 ; =0x00000F18
ldr r2, _0223CB18 ; =0x00000BBC
str r3, [sp, #8]
ldr r2, [r5, r2]
add r0, r5, r0
mov r1, #1
bl AddTextPrinterParameterized
mov r1, #0xbf
lsl r1, r1, #4
str r0, [r5, r1]
add sp, #0xc
pop {r4, r5, pc}
nop
_0223CB14: .word 0x00000F18
_0223CB18: .word 0x00000BBC
thumb_func_end ov70_0223CAC4
thumb_func_start ov70_0223CB1C
ov70_0223CB1C: ; 0x0223CB1C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r2, #0
add r5, r0, #0
add r7, r1, #0
add r0, r4, #0
mov r1, #0x3d
bl NewString_ReadMsgData
add r6, r0, #0
mov r2, #0
ldr r0, _0223CC00 ; =0x000F0200
str r2, [sp]
str r0, [sp, #4]
add r0, r5, #0
add r1, r6, #0
add r3, r2, #0
bl ov70_02245084
add r0, r6, #0
bl String_Delete
add r0, r4, #0
mov r1, #0x3f
bl NewString_ReadMsgData
add r6, r0, #0
mov r2, #0
ldr r0, _0223CC00 ; =0x000F0200
str r2, [sp]
str r0, [sp, #4]
add r0, r5, #0
add r0, #0x20
add r1, r6, #0
add r3, r2, #0
bl ov70_02245084
add r0, r6, #0
bl String_Delete
add r0, r4, #0
mov r1, #0x41
bl NewString_ReadMsgData
add r6, r0, #0
mov r2, #0
ldr r0, _0223CC00 ; =0x000F0200
str r2, [sp]
str r0, [sp, #4]
add r0, r5, #0
add r0, #0x40
add r1, r6, #0
add r3, r2, #0
bl ov70_02245084
add r0, r6, #0
bl String_Delete
add r0, r4, #0
mov r1, #0xab
bl NewString_ReadMsgData
add r6, r0, #0
mov r2, #0
ldr r0, _0223CC00 ; =0x000F0200
str r2, [sp]
str r0, [sp, #4]
add r0, r7, #0
add r1, r6, #0
add r3, r2, #0
bl ov70_02245084
add r0, r6, #0
bl String_Delete
add r0, r4, #0
mov r1, #0x43
bl NewString_ReadMsgData
add r6, r0, #0
mov r2, #0
ldr r0, _0223CC00 ; =0x000F0200
str r2, [sp]
str r0, [sp, #4]
add r0, r5, #0
add r0, #0x60
add r1, r6, #0
add r3, r2, #0
bl ov70_022450B8
add r0, r6, #0
bl String_Delete
add r0, r4, #0
mov r1, #0xee
bl NewString_ReadMsgData
add r4, r0, #0
mov r2, #0
ldr r0, _0223CC00 ; =0x000F0200
str r2, [sp]
add r5, #0x70
str r0, [sp, #4]
add r0, r5, #0
add r1, r4, #0
add r3, r2, #0
bl ov70_022450B8
add r0, r4, #0
bl String_Delete
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_0223CC00: .word 0x000F0200
thumb_func_end ov70_0223CB1C
thumb_func_start ov70_0223CC04
ov70_0223CC04: ; 0x0223CC04
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
add r7, r1, #0
add r6, r2, #0
ldr r4, _0223CC60 ; =0x00010200
cmp r3, #0
beq _0223CC1A
ldr r4, _0223CC64 ; =0x000F0200
mov r1, #0
b _0223CC1C
_0223CC1A:
mov r1, #2
_0223CC1C:
mov r0, #0xe
str r0, [sp]
mov r0, #4
str r0, [sp, #4]
str r1, [sp, #8]
add r0, r5, #0
mov r1, #1
mov r2, #0x12
mov r3, #2
bl BgTilemapRectChangePalette
add r0, r5, #0
mov r1, #1
bl BgCommitTilemapBufferToVram
add r0, r6, #0
mov r1, #0x45
bl NewString_ReadMsgData
add r5, r0, #0
mov r2, #0
str r2, [sp]
add r0, r7, #0
add r1, r5, #0
add r3, r2, #0
str r4, [sp, #4]
bl ov70_022450B8
add r0, r5, #0
bl String_Delete
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
_0223CC60: .word 0x00010200
_0223CC64: .word 0x000F0200
thumb_func_end ov70_0223CC04
thumb_func_start ov70_0223CC68
ov70_0223CC68: ; 0x0223CC68
push {r4, r5}
mov r4, #0
ldrsh r5, [r0, r4]
ldrsh r4, [r1, r4]
cmp r5, r4
bne _0223CC9C
mov r4, #2
ldrsb r5, [r0, r4]
ldrsb r4, [r1, r4]
cmp r5, r4
bne _0223CC9C
mov r4, #3
ldrsb r5, [r0, r4]
ldrsb r4, [r1, r4]
cmp r5, r4
bne _0223CC9C
mov r4, #4
ldrsb r5, [r0, r4]
ldrsb r0, [r1, r4]
cmp r5, r0
bne _0223CC9C
cmp r2, r3
bne _0223CC9C
mov r0, #1
pop {r4, r5}
bx lr
_0223CC9C:
mov r0, #0
pop {r4, r5}
bx lr
.balign 4, 0
thumb_func_end ov70_0223CC68
thumb_func_start ov70_0223CCA4
ov70_0223CCA4: ; 0x0223CCA4
push {r4, lr}
ldr r3, _0223CD24 ; =0x00000F14
add r4, r0, #0
ldr r0, [r4, #4]
ldr r3, [r4, r3]
mov r1, #0
mov r2, #3
bl BgSetPosTextAndCommit
ldr r3, _0223CD24 ; =0x00000F14
ldr r0, [r4, #4]
ldr r3, [r4, r3]
mov r1, #1
mov r2, #3
bl BgSetPosTextAndCommit
ldr r3, _0223CD24 ; =0x00000F14
ldr r0, [r4, #4]
ldr r3, [r4, r3]
mov r1, #2
mov r2, #3
bl BgSetPosTextAndCommit
ldr r3, _0223CD24 ; =0x00000F14
mov r1, #3
ldr r0, [r4, #4]
ldr r3, [r4, r3]
add r2, r1, #0
bl BgSetPosTextAndCommit
ldr r3, _0223CD24 ; =0x00000F14
ldr r0, [r4, #4]
ldr r3, [r4, r3]
mov r1, #4
mov r2, #3
neg r3, r3
bl BgSetPosTextAndCommit
ldr r3, _0223CD24 ; =0x00000F14
ldr r0, [r4, #4]
ldr r3, [r4, r3]
mov r1, #5
mov r2, #3
neg r3, r3
bl BgSetPosTextAndCommit
ldr r3, _0223CD24 ; =0x00000F14
ldr r0, [r4, #4]
ldr r3, [r4, r3]
mov r1, #6
mov r2, #3
neg r3, r3
bl BgSetPosTextAndCommit
ldr r3, _0223CD24 ; =0x00000F14
ldr r0, [r4, #4]
ldr r3, [r4, r3]
mov r1, #7
mov r2, #3
neg r3, r3
bl BgSetPosTextAndCommit
pop {r4, pc}
nop
_0223CD24: .word 0x00000F14
thumb_func_end ov70_0223CCA4
thumb_func_start ov70_0223CD28
ov70_0223CD28: ; 0x0223CD28
push {r3, lr}
add r2, r0, #0
ldr r0, _0223CD40 ; =0x04000050
beq _0223CD38
mov r1, #0xa
bl G2x_SetBlendBrightness_
pop {r3, pc}
_0223CD38:
mov r1, #0
strh r1, [r0]
pop {r3, pc}
nop
_0223CD40: .word 0x04000050
thumb_func_end ov70_0223CD28
thumb_func_start ov70_0223CD44
ov70_0223CD44: ; 0x0223CD44
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
bl ov70_0223D3BC
ldr r2, _0223CDCC ; =0x04000304
ldr r0, _0223CDD0 ; =0xFFFF7FFF
ldrh r1, [r2]
and r0, r1
strh r0, [r2]
ldr r0, [r4, #4]
bl ov70_0223CE44
add r0, r4, #0
bl ov70_0223CF74
add r0, r4, #0
bl ov70_0223D26C
add r0, r4, #0
bl ov70_0223D058
add r0, r4, #0
bl ov70_02241358
ldr r0, _0223CDD4 ; =0x0400106C
bl GXx_GetMasterBrightness_
cmp r0, #0
bne _0223CD98
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
mov r3, #0
bl BeginNormalPaletteFade
b _0223CDAE
_0223CD98:
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0
add r2, r1, #0
add r3, r0, #0
bl BeginNormalPaletteFade
_0223CDAE:
mov r1, #0x12
lsl r1, r1, #4
ldrh r1, [r4, r1]
add r0, r4, #0
bl ov70_0223E264
add r0, r4, #0
bl ov70_02245124
mov r0, #0
str r0, [r4, #0x2c]
mov r0, #2
add sp, #0xc
pop {r3, r4, pc}
nop
_0223CDCC: .word 0x04000304
_0223CDD0: .word 0xFFFF7FFF
_0223CDD4: .word 0x0400106C
thumb_func_end ov70_0223CD44
thumb_func_start ov70_0223CDD8
ov70_0223CDD8: ; 0x0223CDD8
push {r4, lr}
add r4, r0, #0
bl ov70_02238E44
bl sub_0203A930
ldr r1, [r4, #0x2c]
add r0, r4, #0
lsl r2, r1, #2
ldr r1, _0223CDF4 ; =ov70_022465A8
ldr r1, [r1, r2]
blx r1
pop {r4, pc}
nop
_0223CDF4: .word ov70_022465A8
thumb_func_end ov70_0223CDD8
thumb_func_start ov70_0223CDF8
ov70_0223CDF8: ; 0x0223CDF8
push {r4, lr}
add r4, r0, #0
bl sub_0203A914
ldr r0, _0223CE40 ; =0x0400106C
bl GXx_GetMasterBrightness_
cmp r0, #0
beq _0223CE10
add r0, r4, #0
bl ov70_02241380
_0223CE10:
add r0, r4, #0
bl ov70_0223D208
add r0, r4, #0
bl ov70_0223D414
add r0, r4, #0
bl ov70_0223D378
ldr r0, [r4, #4]
bl ov70_0223CF48
mov r0, #0xf1
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl Set2dSpriteVisibleFlag
add r0, r4, #0
bl ov70_02238E58
mov r0, #1
pop {r4, pc}
nop
_0223CE40: .word 0x0400106C
thumb_func_end ov70_0223CDF8
thumb_func_start ov70_0223CE44
ov70_0223CE44: ; 0x0223CE44
push {r3, r4, r5, lr}
sub sp, #0x80
ldr r5, _0223CF34 ; =ov70_022456F0
add r3, sp, #0x70
add r4, r0, #0
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 SetBothScreensModesAndDisable
mov r0, #0x16
mov r1, #1
bl GX_EngineBToggleLayers
ldr r5, _0223CF38 ; =ov70_02245768
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, #0
str r0, [r3]
add r0, r4, #0
add r3, r1, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #0
bl BgClearTilemapBufferAndCommit
ldr r5, _0223CF3C ; =ov70_02245730
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, #1
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
ldr r5, _0223CF40 ; =ov70_0224574C
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, #2
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #2
bl BgClearTilemapBufferAndCommit
ldr r5, _0223CF44 ; =ov70_02245714
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, #3
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #3
bl BgClearTilemapBufferAndCommit
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl ov70_022391F0
mov r0, #0
mov r1, #0x20
add r2, r0, #0
mov r3, #0x3d
bl BG_ClearCharDataRange
mov r0, #3
mov r1, #0x20
mov r2, #0
mov r3, #0x3d
bl BG_ClearCharDataRange
mov r0, #0x10
mov r1, #1
bl GX_EngineAToggleLayers
mov r0, #0x10
mov r1, #1
bl GX_EngineBToggleLayers
add sp, #0x80
pop {r3, r4, r5, pc}
.balign 4, 0
_0223CF34: .word ov70_022456F0
_0223CF38: .word ov70_02245768
_0223CF3C: .word ov70_02245730
_0223CF40: .word ov70_0224574C
_0223CF44: .word ov70_02245714
thumb_func_end ov70_0223CE44
thumb_func_start ov70_0223CF48
ov70_0223CF48: ; 0x0223CF48
push {r4, lr}
add r4, r0, #0
bl ov70_022392BC
add r0, r4, #0
mov r1, #2
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #1
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #0
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #3
bl FreeBgTilemapBuffer
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_0223CF48
thumb_func_start ov70_0223CF74
ov70_0223CF74: ; 0x0223CF74
push {r4, r5, r6, lr}
sub sp, #0x10
add r6, r0, #0
ldr r5, [r6, #4]
mov r0, #0x64
mov r1, #0x3d
bl NARC_New
mov r1, #0x60
str r1, [sp]
mov r1, #0x3d
mov r2, #0
str r1, [sp, #4]
mov r1, #2
add r3, r2, #0
add r4, r0, #0
bl GfGfxLoader_GXLoadPalFromOpenNarc
mov r0, #1
lsl r0, r0, #8
str r0, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r4, #0
mov r1, #5
mov r2, #4
mov r3, #0
bl GfGfxLoader_GXLoadPalFromOpenNarc
mov r1, #0x1a
mov r0, #0
lsl r1, r1, #4
mov r2, #0x3d
bl LoadFontPal1
ldr r0, [r6]
ldr r0, [r0, #0x24]
bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r5, #0
mov r1, #0
mov r2, #1
mov r3, #0xe
bl LoadUserFrameGfx2
mov r1, #0
str r1, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r5, #0
mov r2, #0x1f
mov r3, #0xb
bl LoadUserFrameGfx1
mov r0, #0
str r0, [sp]
mov r0, #0xa
lsl r0, r0, #8
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #0xd
add r2, r5, #0
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #0x1b
add r2, r5, #0
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #0x26
add r2, r5, #0
mov r3, #2
bl GfGfxLoader_LoadScrnDataFromOpenNarc
add r0, r6, #0
bl ov70_02239C6C
add r0, r6, #0
bl ov70_02239CF8
add r0, r4, #0
bl NARC_Delete
add sp, #0x10
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov70_0223CF74
thumb_func_start ov70_0223D058
ov70_0223D058: ; 0x0223D058
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
mov r2, #0xd6
add r7, r0, #0
lsl r2, r2, #4
add r0, sp, #0
add r1, r7, #0
add r2, r7, r2
mov r3, #1
bl ov70_02238B54
ldr r0, _0223D1E8 ; =0x00000122
ldrh r1, [r7, r0]
lsl r2, r1, #2
ldr r1, _0223D1EC ; =ov70_02245784
ldrh r1, [r1, r2]
lsl r1, r1, #0xc
str r1, [sp, #8]
ldrh r0, [r7, r0]
lsl r1, r0, #2
ldr r0, _0223D1F0 ; =ov70_02245786
ldrh r0, [r0, r1]
lsl r0, r0, #0xc
str r0, [sp, #0xc]
add r0, sp, #0
bl CreateSprite
ldr r1, _0223D1F4 ; =0x00000DCC
str r0, [r7, r1]
ldr r0, [r7, r1]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
ldr r0, _0223D1F4 ; =0x00000DCC
mov r1, #4
ldr r0, [r7, r0]
bl Set2dSpriteAnimSeqNo
ldr r0, _0223D1E8 ; =0x00000122
ldrh r0, [r7, r0]
cmp r0, #0x1f
beq _0223D0B0
cmp r0, #5
bhi _0223D0BC
_0223D0B0:
ldr r0, _0223D1F4 ; =0x00000DCC
mov r1, #0
ldr r0, [r7, r0]
bl sub_02024A04
b _0223D0C6
_0223D0BC:
ldr r0, _0223D1F4 ; =0x00000DCC
mov r1, #1
ldr r0, [r7, r0]
bl sub_02024A04
_0223D0C6:
ldr r4, _0223D1EC ; =ov70_02245784
mov r6, #0
add r5, r7, #0
_0223D0CC:
ldrh r0, [r4]
lsl r0, r0, #0xc
str r0, [sp, #8]
ldrh r0, [r4, #2]
lsl r0, r0, #0xc
str r0, [sp, #0xc]
mov r0, #0x14
str r0, [sp, #0x24]
add r0, sp, #0
bl CreateSprite
ldr r1, _0223D1F8 ; =0x00000DD8
str r0, [r5, r1]
add r0, r1, #0
ldr r0, [r5, r0]
add r1, r6, #6
bl Set2dSpriteAnimSeqNo
ldr r0, _0223D1F8 ; =0x00000DD8
mov r1, #1
ldr r0, [r5, r0]
bl sub_02024A04
add r6, r6, #1
add r4, r4, #4
add r5, r5, #4
cmp r6, #0x1e
blt _0223D0CC
ldr r4, _0223D1EC ; =ov70_02245784
mov r6, #0
add r5, r7, #0
_0223D10A:
ldrh r0, [r4]
lsl r0, r0, #0xc
str r0, [sp, #8]
ldrh r0, [r4, #2]
add r0, r0, #6
lsl r0, r0, #0xc
str r0, [sp, #0xc]
mov r0, #0xa
str r0, [sp, #0x24]
add r0, sp, #0
bl CreateSprite
mov r1, #0xe5
lsl r1, r1, #4
str r0, [r5, r1]
add r0, r1, #0
ldr r0, [r5, r0]
mov r1, #0x28
bl Set2dSpriteAnimSeqNo
mov r0, #0xe5
lsl r0, r0, #4
ldr r0, [r5, r0]
mov r1, #1
bl sub_02024A04
add r6, r6, #1
add r4, r4, #4
add r5, r5, #4
cmp r6, #0x1e
blt _0223D10A
ldr r4, _0223D1EC ; =ov70_02245784
mov r6, #0
add r5, r7, #0
_0223D14E:
ldrh r0, [r4]
add r0, #8
lsl r0, r0, #0xc
str r0, [sp, #8]
ldrh r0, [r4, #2]
add r0, r0, #6
lsl r0, r0, #0xc
str r0, [sp, #0xc]
mov r0, #0xa
str r0, [sp, #0x24]
add r0, sp, #0
bl CreateSprite
ldr r1, _0223D1FC ; =0x00000EC8
str r0, [r5, r1]
add r0, r1, #0
ldr r0, [r5, r0]
mov r1, #0x2a
bl Set2dSpriteAnimSeqNo
ldr r0, _0223D1FC ; =0x00000EC8
mov r1, #1
ldr r0, [r5, r0]
bl sub_02024A04
add r6, r6, #1
add r4, r4, #4
add r5, r5, #4
cmp r6, #6
blt _0223D14E
ldr r4, _0223D200 ; =ov70_022456E8
mov r6, #0
add r5, r7, #0
_0223D190:
ldrh r0, [r4]
lsl r0, r0, #0xc
str r0, [sp, #8]
ldrh r0, [r4, #2]
lsl r0, r0, #0xc
str r0, [sp, #0xc]
add r0, sp, #0
bl CreateSprite
ldr r1, _0223D204 ; =0x00000F04
str r0, [r5, r1]
add r0, r1, #0
add r1, r6, #0
ldr r0, [r5, r0]
add r1, #0x26
bl Set2dSpriteAnimSeqNo
ldr r0, _0223D204 ; =0x00000F04
mov r1, #1
ldr r0, [r5, r0]
bl sub_02024A04
add r6, r6, #1
add r4, r4, #4
add r5, r5, #4
cmp r6, #2
blt _0223D190
mov r0, #0xf1
lsl r0, r0, #4
ldr r0, [r7, r0]
mov r1, #1
bl Set2dSpriteVisibleFlag
mov r0, #0xf1
lsl r0, r0, #4
mov r2, #0x6a
ldr r0, [r7, r0]
mov r1, #0x37
lsl r2, r2, #2
bl ov70_02238F9C
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
nop
_0223D1E8: .word 0x00000122
_0223D1EC: .word ov70_02245784
_0223D1F0: .word ov70_02245786
_0223D1F4: .word 0x00000DCC
_0223D1F8: .word 0x00000DD8
_0223D1FC: .word 0x00000EC8
_0223D200: .word ov70_022456E8
_0223D204: .word 0x00000F04
thumb_func_end ov70_0223D058
thumb_func_start ov70_0223D208
ov70_0223D208: ; 0x0223D208
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r7, _0223D25C ; =0x00000F04
mov r6, #0
add r4, r5, #0
_0223D212:
ldr r0, [r4, r7]
bl Sprite_Delete
add r6, r6, #1
add r4, r4, #4
cmp r6, #2
blt _0223D212
ldr r0, _0223D260 ; =0x00000DCC
ldr r0, [r5, r0]
bl Sprite_Delete
mov r7, #0xe5
mov r6, #0
add r4, r5, #0
lsl r7, r7, #4
_0223D230:
ldr r0, _0223D264 ; =0x00000DD8
ldr r0, [r4, r0]
bl Sprite_Delete
ldr r0, [r4, r7]
bl Sprite_Delete
add r6, r6, #1
add r4, r4, #4
cmp r6, #0x1e
blt _0223D230
ldr r6, _0223D268 ; =0x00000EC8
mov r4, #0
_0223D24A:
ldr r0, [r5, r6]
bl Sprite_Delete
add r4, r4, #1
add r5, r5, #4
cmp r4, #6
blt _0223D24A
pop {r3, r4, r5, r6, r7, pc}
nop
_0223D25C: .word 0x00000F04
_0223D260: .word 0x00000DCC
_0223D264: .word 0x00000DD8
_0223D268: .word 0x00000EC8
thumb_func_end ov70_0223D208
thumb_func_start ov70_0223D26C
ov70_0223D26C: ; 0x0223D26C
push {r3, r4, lr}
sub sp, #0x14
add r4, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #0xd
ldr r1, _0223D358 ; =0x00000F48
str r0, [sp, #4]
mov r2, #3
str r2, [sp, #8]
str r0, [sp, #0xc]
mov r0, #0x60
str r0, [sp, #0x10]
ldr r0, [r4, #4]
add r1, r4, r1
mov r3, #4
bl AddWindowParameterized
ldr r0, _0223D358 ; =0x00000F48
mov r1, #0
add r0, r4, r0
bl FillWindowPixelBuffer
ldr r0, _0223D358 ; =0x00000F48
add r0, r4, r0
bl CopyWindowToVram
mov r0, #0x15
str r0, [sp]
mov r0, #0x1b
str r0, [sp, #4]
mov r3, #2
ldr r1, _0223D35C ; =0x00000F18
str r3, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
add r0, #0xfc
str r0, [sp, #0x10]
ldr r0, [r4, #4]
add r1, r4, r1
mov r2, #0
bl AddWindowParameterized
ldr r0, _0223D35C ; =0x00000F18
mov r1, #0
add r0, r4, r0
bl FillWindowPixelBuffer
mov r0, #0x13
str r0, [sp]
mov r0, #0x1b
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
ldr r0, _0223D360 ; =0x0000013F
ldr r1, _0223D364 ; =0x00001158
str r0, [sp, #0x10]
ldr r0, [r4, #4]
add r1, r4, r1
mov r2, #0
mov r3, #2
bl AddWindowParameterized
ldr r0, _0223D364 ; =0x00001158
mov r1, #0
add r0, r4, r0
bl FillWindowPixelBuffer
mov r0, #0x10
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r0, _0223D368 ; =0x00000165
ldr r1, _0223D36C ; =0x00000F68
str r0, [sp, #0x10]
ldr r0, [r4, #4]
add r1, r4, r1
mov r2, #1
mov r3, #0x18
bl AddWindowParameterized
ldr r0, _0223D36C ; =0x00000F68
mov r1, #6
add r0, r4, r0
bl FillWindowPixelBuffer
mov r3, #1
ldr r0, _0223D370 ; =0x00010306
str r3, [sp]
str r0, [sp, #4]
ldr r1, _0223D374 ; =0x00000BB8
ldr r0, _0223D36C ; =0x00000F68
ldr r1, [r4, r1]
add r0, r4, r0
mov r2, #0
bl ov70_02245084
ldr r0, [r4, #0x24]
cmp r0, #5
bne _0223D34C
add r0, r4, #0
mov r1, #3
bl ov70_02239D44
add sp, #0x14
pop {r3, r4, pc}
_0223D34C:
add r0, r4, #0
mov r1, #1
bl ov70_02239D44
add sp, #0x14
pop {r3, r4, pc}
.balign 4, 0
_0223D358: .word 0x00000F48
_0223D35C: .word 0x00000F18
_0223D360: .word 0x0000013F
_0223D364: .word 0x00001158
_0223D368: .word 0x00000165
_0223D36C: .word 0x00000F68
_0223D370: .word 0x00010306
_0223D374: .word 0x00000BB8
thumb_func_end ov70_0223D26C
thumb_func_start ov70_0223D378
ov70_0223D378: ; 0x0223D378
push {r4, lr}
add r4, r0, #0
ldr r0, _0223D3A8 ; =0x00001198
add r0, r4, r0
bl RemoveWindow
ldr r0, _0223D3AC ; =0x00001158
add r0, r4, r0
bl RemoveWindow
ldr r0, _0223D3B0 ; =0x00000F68
add r0, r4, r0
bl RemoveWindow
ldr r0, _0223D3B4 ; =0x00000F18
add r0, r4, r0
bl RemoveWindow
ldr r0, _0223D3B8 ; =0x00000F48
add r0, r4, r0
bl RemoveWindow
pop {r4, pc}
nop
_0223D3A8: .word 0x00001198
_0223D3AC: .word 0x00001158
_0223D3B0: .word 0x00000F68
_0223D3B4: .word 0x00000F18
_0223D3B8: .word 0x00000F48
thumb_func_end ov70_0223D378
thumb_func_start ov70_0223D3BC
ov70_0223D3BC: ; 0x0223D3BC
push {r4, lr}
add r4, r0, #0
mov r0, #0x12
mov r1, #0x3d
bl String_New
ldr r1, _0223D400 ; =0x00000BB4
str r0, [r4, r1]
mov r0, #0xb4
mov r1, #0x3d
bl String_New
ldr r1, _0223D404 ; =0x00000BBC
str r0, [r4, r1]
sub r1, #0x1c
ldr r0, [r4, r1]
mov r1, #0x6d
bl NewString_ReadMsgData
ldr r1, _0223D408 ; =0x00000BB8
str r0, [r4, r1]
ldr r0, _0223D40C ; =0x00000122
ldrh r1, [r4, r0]
cmp r1, #0x1e
bne _0223D3F2
mov r1, #0
strh r1, [r4, r0]
_0223D3F2:
mov r0, #0x3d
mov r1, #0x78
bl AllocFromHeap
ldr r1, _0223D410 ; =0x000011F4
str r0, [r4, r1]
pop {r4, pc}
.balign 4, 0
_0223D400: .word 0x00000BB4
_0223D404: .word 0x00000BBC
_0223D408: .word 0x00000BB8
_0223D40C: .word 0x00000122
_0223D410: .word 0x000011F4
thumb_func_end ov70_0223D3BC
thumb_func_start ov70_0223D414
ov70_0223D414: ; 0x0223D414
push {r4, lr}
add r4, r0, #0
ldr r0, _0223D43C ; =0x000011F4
ldr r0, [r4, r0]
bl FreeToHeap
ldr r0, _0223D440 ; =0x00000BB4
ldr r0, [r4, r0]
bl String_Delete
ldr r0, _0223D444 ; =0x00000BBC
ldr r0, [r4, r0]
bl String_Delete
ldr r0, _0223D448 ; =0x00000BB8
ldr r0, [r4, r0]
bl String_Delete
pop {r4, pc}
nop
_0223D43C: .word 0x000011F4
_0223D440: .word 0x00000BB4
_0223D444: .word 0x00000BBC
_0223D448: .word 0x00000BB8
thumb_func_end ov70_0223D414
thumb_func_start ov70_0223D44C
ov70_0223D44C: ; 0x0223D44C
push {r3, r4, r5, lr}
sub sp, #8
add r5, r0, #0
bl IsPaletteFadeFinished
cmp r0, #0
beq _0223D486
ldr r0, [r5, #0x24]
cmp r0, #5
bne _0223D464
mov r4, #0x15
b _0223D46A
_0223D464:
cmp r0, #6
bne _0223D46A
mov r4, #0x11
_0223D46A:
ldr r0, _0223D48C ; =0x00000F0F
mov r3, #0
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
mov r2, #1
str r3, [sp, #4]
bl ov70_0223E01C
add r0, r5, #0
mov r1, #3
mov r2, #1
bl ov70_02238D84
_0223D486:
mov r0, #3
add sp, #8
pop {r3, r4, r5, pc}
.balign 4, 0
_0223D48C: .word 0x00000F0F
thumb_func_end ov70_0223D44C
thumb_func_start ov70_0223D490
ov70_0223D490: ; 0x0223D490
push {r4, lr}
sub sp, #8
ldr r1, _0223D578 ; =0x00000122
add r4, r0, #0
ldrh r1, [r4, r1]
cmp r1, #0x1e
bne _0223D4B4
mov r1, #1
mov r2, #0
bl ov70_02238E50
mov r0, #2
str r0, [r4, #0x2c]
ldr r0, _0223D57C ; =0x000005DC
bl PlaySE
add sp, #8
pop {r4, pc}
_0223D4B4:
cmp r1, #0x1f
beq _0223D572
ldr r0, _0223D57C ; =0x000005DC
bl PlaySE
mov r3, #0x12
lsl r3, r3, #4
ldr r1, [r4]
ldrh r2, [r4, r3]
add r3, r3, #2
ldr r0, [r1, #8]
ldrh r3, [r4, r3]
ldr r1, [r1, #0xc]
bl ov70_0223E5C8
cmp r0, #1
beq _0223D4DE
cmp r0, #2
beq _0223D556
add sp, #8
pop {r4, pc}
_0223D4DE:
mov r3, #0x12
lsl r3, r3, #4
ldr r1, [r4]
ldrh r2, [r4, r3]
add r3, r3, #2
ldr r0, [r1, #8]
ldrh r3, [r4, r3]
ldr r1, [r1, #0xc]
bl ov70_0223E4DC
cmp r0, #0
beq _0223D536
mov r3, #0x12
lsl r3, r3, #4
ldr r1, [r4]
ldrh r2, [r4, r3]
add r3, r3, #2
ldr r0, [r1, #8]
ldrh r3, [r4, r3]
ldr r1, [r1, #0xc]
bl ov70_0223E49C
add r2, r0, #0
ldr r0, _0223D580 ; =0x00000B9C
mov r1, #0
ldr r0, [r4, r0]
bl BufferBoxMonNickname
ldr r0, _0223D584 ; =0x00000F0F
mov r3, #0
str r0, [sp]
add r0, r4, #0
mov r1, #0x16
mov r2, #1
str r3, [sp, #4]
bl ov70_0223E01C
add r0, r4, #0
mov r1, #3
mov r2, #7
bl ov70_02238D84
add sp, #8
pop {r4, pc}
_0223D536:
ldr r0, _0223D584 ; =0x00000F0F
mov r2, #1
str r0, [sp]
add r0, r4, #0
mov r1, #0x1a
mov r3, #0
str r2, [sp, #4]
bl ov70_0223E01C
add r0, r4, #0
mov r1, #4
mov r2, #1
bl ov70_02238D84
add sp, #8
pop {r4, pc}
_0223D556:
ldr r0, _0223D584 ; =0x00000F0F
mov r2, #1
str r0, [sp]
add r0, r4, #0
mov r1, #0x1b
mov r3, #0
str r2, [sp, #4]
bl ov70_0223E01C
add r0, r4, #0
mov r1, #4
mov r2, #1
bl ov70_02238D84
_0223D572:
add sp, #8
pop {r4, pc}
nop
_0223D578: .word 0x00000122
_0223D57C: .word 0x000005DC
_0223D580: .word 0x00000B9C
_0223D584: .word 0x00000F0F
thumb_func_end ov70_0223D490
thumb_func_start ov70_0223D588
ov70_0223D588: ; 0x0223D588
push {r3, r4, r5, lr}
sub sp, #8
ldr r2, _0223D670 ; =0x00000122
add r5, r0, #0
ldrh r3, [r5, r2]
cmp r3, #0x1e
bne _0223D5A0
mov r1, #6
bl ov70_0223D690
add sp, #8
pop {r3, r4, r5, pc}
_0223D5A0:
cmp r3, #0x1f
beq _0223D66C
ldr r1, [r5]
sub r2, r2, #2
ldr r0, [r1, #8]
ldrh r2, [r5, r2]
ldr r1, [r1, #0xc]
bl ov70_0223E5C8
cmp r0, #0
beq _0223D666
cmp r0, #1
beq _0223D5C2
cmp r0, #2
beq _0223D666
add sp, #8
pop {r3, r4, r5, pc}
_0223D5C2:
mov r3, #0x12
lsl r3, r3, #4
ldr r1, [r5]
ldrh r2, [r5, r3]
add r3, r3, #2
ldr r0, [r1, #8]
ldrh r3, [r5, r3]
ldr r1, [r1, #0xc]
bl ov70_0223E49C
mov r1, #0x35
lsl r1, r1, #4
add r3, r5, r1
mov r1, #0x4b
lsl r1, r1, #2
ldr r2, [r5, r1]
sub r1, #8
mul r1, r2
add r1, r3, r1
add r4, r0, #0
bl ov70_0223E658
cmp r0, #0
beq _0223D65C
mov r3, #0x12
lsl r3, r3, #4
ldr r1, [r5]
ldrh r2, [r5, r3]
add r3, r3, #2
ldr r0, [r1, #8]
ldrh r3, [r5, r3]
ldr r1, [r1, #0xc]
bl ov70_0223E4DC
cmp r0, #0
beq _0223D63C
ldr r0, _0223D674 ; =0x00000B9C
mov r1, #0
ldr r0, [r5, r0]
add r2, r4, #0
bl BufferBoxMonNickname
ldr r0, _0223D678 ; =0x00000F0F
mov r3, #0
str r0, [sp]
add r0, r5, #0
mov r1, #0x12
mov r2, #1
str r3, [sp, #4]
bl ov70_0223E01C
add r0, r5, #0
mov r1, #3
mov r2, #9
bl ov70_02238D84
ldr r0, _0223D67C ; =0x000005DC
bl PlaySE
add sp, #8
pop {r3, r4, r5, pc}
_0223D63C:
ldr r0, _0223D678 ; =0x00000F0F
mov r2, #1
str r0, [sp]
add r0, r5, #0
mov r1, #0x1a
mov r3, #0
str r2, [sp, #4]
bl ov70_0223E01C
add r0, r5, #0
mov r1, #4
mov r2, #1
bl ov70_02238D84
add sp, #8
pop {r3, r4, r5, pc}
_0223D65C:
ldr r0, _0223D67C ; =0x000005DC
bl PlaySE
add sp, #8
pop {r3, r4, r5, pc}
_0223D666:
ldr r0, _0223D67C ; =0x000005DC
bl PlaySE
_0223D66C:
add sp, #8
pop {r3, r4, r5, pc}
.balign 4, 0
_0223D670: .word 0x00000122
_0223D674: .word 0x00000B9C
_0223D678: .word 0x00000F0F
_0223D67C: .word 0x000005DC
thumb_func_end ov70_0223D588
thumb_func_start ov70_0223D680
ov70_0223D680: ; 0x0223D680
ldr r3, _0223D688 ; =sub_02025224
ldr r0, _0223D68C ; =ov70_02245884
bx r3
nop
_0223D688: .word sub_02025224
_0223D68C: .word ov70_02245884
thumb_func_end ov70_0223D680
thumb_func_start ov70_0223D690
ov70_0223D690: ; 0x0223D690
push {r4, lr}
add r4, r0, #0
cmp r1, #5
bne _0223D6AC
mov r1, #1
mov r2, #0
bl ov70_02238E50
mov r0, #2
str r0, [r4, #0x2c]
ldr r0, _0223D6C4 ; =0x000005DC
bl PlaySE
pop {r4, pc}
_0223D6AC:
cmp r1, #6
bne _0223D6C2
mov r1, #3
mov r2, #0x11
bl ov70_02238E50
mov r0, #2
str r0, [r4, #0x2c]
ldr r0, _0223D6C4 ; =0x000005DC
bl PlaySE
_0223D6C2:
pop {r4, pc}
.balign 4, 0
_0223D6C4: .word 0x000005DC
thumb_func_end ov70_0223D690
thumb_func_start ov70_0223D6C8
ov70_0223D6C8: ; 0x0223D6C8
push {r3, r4, r5, lr}
add r5, r0, #0
bl ov70_0223D680
add r4, r0, #0
mov r0, #0
mvn r0, r0
cmp r4, r0
beq _0223D79A
cmp r4, #0x1e
beq _0223D75A
cmp r4, #0x1f
beq _0223D6E8
cmp r4, #0x20
beq _0223D720
b _0223D772
_0223D6E8:
ldr r0, _0223D7F0 ; =0x00000F04
mov r1, #1
ldr r0, [r5, r0]
bl Set2dSpriteAnimActiveFlag
ldr r0, _0223D7F0 ; =0x00000F04
mov r1, #0x26
ldr r0, [r5, r0]
bl Set2dSpriteAnimSeqNo
mov r0, #0x12
lsl r0, r0, #4
ldrh r0, [r5, r0]
mov r1, #0x13
mov r2, #1
bl ov70_0223D924
mov r1, #0x12
lsl r1, r1, #4
strh r0, [r5, r1]
ldrh r1, [r5, r1]
add r0, r5, #0
bl ov70_0223E264
ldr r0, _0223D7F4 ; =0x000005DC
bl PlaySE
b _0223D7EC
_0223D720:
ldr r0, _0223D7F8 ; =0x00000F08
mov r1, #1
ldr r0, [r5, r0]
bl Set2dSpriteAnimActiveFlag
ldr r0, _0223D7F8 ; =0x00000F08
mov r1, #0x27
ldr r0, [r5, r0]
bl Set2dSpriteAnimSeqNo
mov r0, #0x12
lsl r0, r0, #4
mov r1, #0x13
add r2, r1, #0
ldrh r0, [r5, r0]
sub r2, #0x14
bl ov70_0223D924
mov r1, #0x12
lsl r1, r1, #4
strh r0, [r5, r1]
ldrh r1, [r5, r1]
add r0, r5, #0
bl ov70_0223E264
ldr r0, _0223D7F4 ; =0x000005DC
bl PlaySE
b _0223D7EC
_0223D75A:
ldr r1, [r5, #0x24]
add r0, r5, #0
bl ov70_0223D690
ldr r1, _0223D7FC ; =0x00000122
ldr r0, _0223D800 ; =0x00000DCC
strh r4, [r5, r1]
ldrh r1, [r5, r1]
ldr r0, [r5, r0]
bl ov70_0223D8E8
b _0223D7EC
_0223D772:
ldr r1, _0223D7FC ; =0x00000122
ldr r0, _0223D800 ; =0x00000DCC
strh r4, [r5, r1]
ldrh r1, [r5, r1]
ldr r0, [r5, r0]
bl ov70_0223D8E8
ldr r0, [r5, #0x24]
cmp r0, #5
bne _0223D78E
add r0, r5, #0
bl ov70_0223D490
b _0223D7EC
_0223D78E:
cmp r0, #6
bne _0223D7EC
add r0, r5, #0
bl ov70_0223D588
b _0223D7EC
_0223D79A:
add r0, r5, #0
bl ov70_0223D808
ldr r0, [r5, #0x24]
cmp r0, #5
bne _0223D7C8
ldr r0, _0223D804 ; =gSystem
ldr r1, [r0, #0x48]
mov r0, #2
tst r0, r1
beq _0223D7BA
add r0, r5, #0
mov r1, #5
bl ov70_0223D690
b _0223D7EC
_0223D7BA:
mov r0, #1
tst r0, r1
beq _0223D7EC
add r0, r5, #0
bl ov70_0223D490
b _0223D7EC
_0223D7C8:
cmp r0, #6
bne _0223D7EC
ldr r0, _0223D804 ; =gSystem
ldr r1, [r0, #0x48]
mov r0, #2
tst r0, r1
beq _0223D7E0
add r0, r5, #0
mov r1, #6
bl ov70_0223D690
b _0223D7EC
_0223D7E0:
mov r0, #1
tst r0, r1
beq _0223D7EC
add r0, r5, #0
bl ov70_0223D588
_0223D7EC:
mov r0, #3
pop {r3, r4, r5, pc}
.balign 4, 0
_0223D7F0: .word 0x00000F04
_0223D7F4: .word 0x000005DC
_0223D7F8: .word 0x00000F08
_0223D7FC: .word 0x00000122
_0223D800: .word 0x00000DCC
_0223D804: .word gSystem
thumb_func_end ov70_0223D6C8
thumb_func_start ov70_0223D808
ov70_0223D808: ; 0x0223D808
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
ldr r0, _0223D8D0 ; =gSystem
mov r7, #0
ldr r0, [r0, #0x48]
mov r1, #0x40
add r4, r7, #0
tst r1, r0
beq _0223D820
mov r4, #1
b _0223D83C
_0223D820:
mov r1, #0x80
tst r1, r0
beq _0223D82A
mov r4, #2
b _0223D83C
_0223D82A:
mov r1, #0x20
tst r1, r0
beq _0223D834
mov r4, #3
b _0223D83C
_0223D834:
mov r1, #0x10
tst r0, r1
beq _0223D83C
mov r4, #4
_0223D83C:
cmp r4, #0
beq _0223D8B4
ldr r0, _0223D8D4 ; =0x00000122
ldr r1, _0223D8D8 ; =ov70_02245804
ldrh r3, [r5, r0]
sub r4, r4, #1
lsl r2, r3, #2
add r1, r1, r2
ldrb r4, [r4, r1]
cmp r4, r3
beq _0223D8B4
cmp r4, #0x63
beq _0223D85A
cmp r4, #0x65
bne _0223D8B0
_0223D85A:
cmp r4, #0x65
beq _0223D862
mov r0, #1
b _0223D864
_0223D862:
mov r0, #0
_0223D864:
lsl r0, r0, #0x18
lsr r6, r0, #0x18
ldr r0, _0223D8DC ; =0x00000F04
add r0, r5, r0
str r0, [sp]
lsl r0, r6, #2
ldr r1, [sp]
str r0, [sp, #4]
ldr r0, [r1, r0]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
ldr r1, [sp]
ldr r0, [sp, #4]
add r6, #0x26
ldr r0, [r1, r0]
add r1, r6, #0
bl Set2dSpriteAnimSeqNo
mov r0, #0x12
lsl r0, r0, #4
sub r4, #0x64
ldrh r0, [r5, r0]
mov r1, #0x13
add r2, r4, #0
bl ov70_0223D924
mov r1, #0x12
lsl r1, r1, #4
strh r0, [r5, r1]
ldrh r1, [r5, r1]
add r0, r5, #0
bl ov70_0223E264
ldr r0, _0223D8E0 ; =0x000005DC
bl PlaySE
b _0223D8B4
_0223D8B0:
mov r7, #1
strh r4, [r5, r0]
_0223D8B4:
cmp r7, #0
beq _0223D8BE
ldr r0, _0223D8E0 ; =0x000005DC
bl PlaySE
_0223D8BE:
ldr r1, _0223D8D4 ; =0x00000122
ldr r0, _0223D8E4 ; =0x00000DCC
ldrh r1, [r5, r1]
ldr r0, [r5, r0]
bl ov70_0223D8E8
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_0223D8D0: .word gSystem
_0223D8D4: .word 0x00000122
_0223D8D8: .word ov70_02245804
_0223D8DC: .word 0x00000F04
_0223D8E0: .word 0x000005DC
_0223D8E4: .word 0x00000DCC
thumb_func_end ov70_0223D808
thumb_func_start ov70_0223D8E8
ov70_0223D8E8: ; 0x0223D8E8
push {r3, r4, r5, lr}
add r4, r1, #0
ldr r1, _0223D91C ; =ov70_02245784
lsl r3, r4, #2
ldr r2, _0223D920 ; =ov70_02245786
ldrh r1, [r1, r3]
ldrh r2, [r2, r3]
add r5, r0, #0
bl ov70_02238D8C
cmp r4, #0x1f
beq _0223D908
cmp r4, #0
blt _0223D912
cmp r4, #5
bgt _0223D912
_0223D908:
add r0, r5, #0
mov r1, #0
bl sub_02024A04
pop {r3, r4, r5, pc}
_0223D912:
add r0, r5, #0
mov r1, #1
bl sub_02024A04
pop {r3, r4, r5, pc}
.balign 4, 0
_0223D91C: .word ov70_02245784
_0223D920: .word ov70_02245786
thumb_func_end ov70_0223D8E8
thumb_func_start ov70_0223D924
ov70_0223D924: ; 0x0223D924
add r0, r0, r2
bpl _0223D92C
sub r0, r1, #1
bx lr
_0223D92C:
cmp r0, r1
bne _0223D932
mov r0, #0
_0223D932:
bx lr
thumb_func_end ov70_0223D924
thumb_func_start ov70_0223D934
ov70_0223D934: ; 0x0223D934
push {r4, lr}
add r4, r0, #0
mov r0, #3
mov r1, #0x3d
bl ListMenuItems_New
ldr r1, _0223D990 ; =0x000011AC
mov r2, #0x62
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #0xba
lsl r1, r1, #4
ldr r1, [r4, r1]
mov r3, #1
bl ListMenuItems_AppendFromMsgData
ldr r0, _0223D990 ; =0x000011AC
mov r1, #0xba
lsl r1, r1, #4
ldr r0, [r4, r0]
ldr r1, [r4, r1]
mov r2, #0x63
mov r3, #2
bl ListMenuItems_AppendFromMsgData
ldr r0, _0223D990 ; =0x000011AC
mov r1, #0xba
lsl r1, r1, #4
ldr r0, [r4, r0]
ldr r1, [r4, r1]
mov r2, #0x64
mov r3, #3
bl ListMenuItems_AppendFromMsgData
add r0, r4, #0
mov r1, #3
mov r2, #0xa
bl ov70_02238CAC
ldr r1, _0223D994 ; =0x000011D0
str r0, [r4, r1]
mov r0, #8
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
nop
_0223D990: .word 0x000011AC
_0223D994: .word 0x000011D0
thumb_func_end ov70_0223D934
thumb_func_start ov70_0223D998
ov70_0223D998: ; 0x0223D998
push {r3, r4, r5, lr}
sub sp, #8
add r5, r0, #0
ldr r0, _0223DB1C ; =0x000011D0
ldr r0, [r5, r0]
bl sub_020186A4
cmp r0, #3
bhi _0223D9BA
cmp r0, #1
blo _0223D9B8
beq _0223D9C6
cmp r0, #2
beq _0223D9EE
cmp r0, #3
beq _0223D9C2
_0223D9B8:
b _0223DB16
_0223D9BA:
mov r1, #1
mvn r1, r1
cmp r0, r1
bne _0223D9C4
_0223D9C2:
b _0223DAFA
_0223D9C4:
b _0223DB16
_0223D9C6:
add r0, r5, #0
bl ov70_02238D60
ldr r0, _0223DB20 ; =0x000011AC
ldr r0, [r5, r0]
bl ListMenuItems_Delete
ldr r0, _0223DB24 ; =0x00000F18
mov r1, #0
add r0, r5, r0
bl ClearFrameAndWindow2
mov r0, #2
str r0, [r5, #0x2c]
add r0, r5, #0
mov r1, #8
mov r2, #5
bl ov70_02238E50
b _0223DB16
_0223D9EE:
add r0, r5, #0
bl ov70_02238D60
ldr r0, _0223DB20 ; =0x000011AC
ldr r0, [r5, r0]
bl ListMenuItems_Delete
mov r3, #0x12
lsl r3, r3, #4
ldr r1, [r5]
ldrh r2, [r5, r3]
add r3, r3, #2
ldr r0, [r1, #8]
ldrh r3, [r5, r3]
ldr r1, [r1, #0xc]
bl ov70_0223E49C
add r4, r0, #0
bl ov70_0223E4FC
cmp r0, #0
beq _0223DA38
ldr r0, _0223DB28 ; =0x00000F0F
mov r2, #1
str r0, [sp]
add r0, r5, #0
mov r1, #0x25
mov r3, #0
str r2, [sp, #4]
bl ov70_0223E01C
add r0, r5, #0
mov r1, #4
mov r2, #1
bl ov70_02238D84
b _0223DB16
_0223DA38:
add r0, r4, #0
bl ov70_0223E538
cmp r0, #0
beq _0223DA76
cmp r0, #1
ldr r0, _0223DB28 ; =0x00000F0F
bne _0223DA5A
str r0, [sp]
mov r2, #1
add r0, r5, #0
mov r1, #0xb1
mov r3, #0
str r2, [sp, #4]
bl ov70_0223E01C
b _0223DA6A
_0223DA5A:
str r0, [sp]
mov r2, #1
add r0, r5, #0
mov r1, #0xb2
mov r3, #0
str r2, [sp, #4]
bl ov70_0223E01C
_0223DA6A:
add r0, r5, #0
mov r1, #4
mov r2, #1
bl ov70_02238D84
b _0223DB16
_0223DA76:
add r0, r4, #0
bl ov70_0223E59C
cmp r0, #0
beq _0223DA9E
ldr r0, _0223DB28 ; =0x00000F0F
mov r2, #1
str r0, [sp]
add r0, r5, #0
mov r1, #0xb3
mov r3, #0
str r2, [sp, #4]
bl ov70_0223E01C
add r0, r5, #0
mov r1, #4
mov r2, #1
bl ov70_02238D84
b _0223DB16
_0223DA9E:
mov r0, #0x12
lsl r0, r0, #4
ldrh r0, [r5, r0]
mov r4, #0
bl ov70_0223E490
cmp r0, #0
beq _0223DACC
ldr r1, _0223DB2C ; =0x00000122
ldr r0, [r5]
ldrh r1, [r5, r1]
ldr r0, [r0, #8]
bl GetPartyMonByIndex
mov r1, #0xa2
add r2, r4, #0
bl GetMonData
cmp r0, #0
beq _0223DACC
mov r0, #0xe
mov r4, #1
str r0, [r5, #0x2c]
_0223DACC:
cmp r4, #0
bne _0223DB16
mov r3, #0x12
lsl r3, r3, #4
ldr r1, [r5]
ldrh r2, [r5, r3]
add r3, r3, #2
ldr r0, [r1, #8]
ldrh r3, [r5, r3]
ldr r1, [r1, #0xc]
bl ov70_0223E49C
mov r1, #0x49
lsl r1, r1, #2
str r0, [r5, r1]
mov r0, #2
str r0, [r5, #0x2c]
add r0, r5, #0
mov r1, #6
mov r2, #0
bl ov70_02238E50
b _0223DB16
_0223DAFA:
add r0, r5, #0
bl ov70_02238D60
ldr r0, _0223DB20 ; =0x000011AC
ldr r0, [r5, r0]
bl ListMenuItems_Delete
ldr r0, _0223DB24 ; =0x00000F18
mov r1, #0
add r0, r5, r0
bl ClearFrameAndWindow2
mov r0, #0
str r0, [r5, #0x2c]
_0223DB16:
mov r0, #3
add sp, #8
pop {r3, r4, r5, pc}
.balign 4, 0
_0223DB1C: .word 0x000011D0
_0223DB20: .word 0x000011AC
_0223DB24: .word 0x00000F18
_0223DB28: .word 0x00000F0F
_0223DB2C: .word 0x00000122
thumb_func_end ov70_0223D998
thumb_func_start ov70_0223DB30
ov70_0223DB30: ; 0x0223DB30
push {r4, lr}
add r4, r0, #0
mov r0, #3
mov r1, #0x3d
bl ListMenuItems_New
ldr r1, _0223DB8C ; =0x000011AC
mov r2, #0x57
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #0xba
lsl r1, r1, #4
ldr r1, [r4, r1]
mov r3, #1
bl ListMenuItems_AppendFromMsgData
ldr r0, _0223DB8C ; =0x000011AC
mov r1, #0xba
lsl r1, r1, #4
ldr r0, [r4, r0]
ldr r1, [r4, r1]
mov r2, #0x58
mov r3, #2
bl ListMenuItems_AppendFromMsgData
ldr r0, _0223DB8C ; =0x000011AC
mov r1, #0xba
lsl r1, r1, #4
ldr r0, [r4, r0]
ldr r1, [r4, r1]
mov r2, #0x59
mov r3, #3
bl ListMenuItems_AppendFromMsgData
add r0, r4, #0
mov r1, #3
mov r2, #0xa
bl ov70_02238CAC
ldr r1, _0223DB90 ; =0x000011D0
str r0, [r4, r1]
mov r0, #0xa
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
nop
_0223DB8C: .word 0x000011AC
_0223DB90: .word 0x000011D0
thumb_func_end ov70_0223DB30
thumb_func_start ov70_0223DB94
ov70_0223DB94: ; 0x0223DB94
push {r3, r4, r5, lr}
sub sp, #8
add r5, r0, #0
ldr r0, _0223DCF8 ; =0x000011D0
ldr r0, [r5, r0]
bl sub_020186A4
cmp r0, #3
bhi _0223DBB6
cmp r0, #1
blo _0223DBB4
beq _0223DBC2
cmp r0, #2
beq _0223DBE0
cmp r0, #3
beq _0223DBBE
_0223DBB4:
b _0223DCF0
_0223DBB6:
mov r1, #1
mvn r1, r1
cmp r0, r1
bne _0223DBC0
_0223DBBE:
b _0223DCD4
_0223DBC0:
b _0223DCF0
_0223DBC2:
add r0, r5, #0
bl ov70_02238D60
ldr r0, _0223DCFC ; =0x000011AC
ldr r0, [r5, r0]
bl ListMenuItems_Delete
mov r0, #2
str r0, [r5, #0x2c]
add r0, r5, #0
mov r1, #8
mov r2, #6
bl ov70_02238E50
b _0223DCF0
_0223DBE0:
add r0, r5, #0
bl ov70_02238D60
ldr r0, _0223DCFC ; =0x000011AC
ldr r0, [r5, r0]
bl ListMenuItems_Delete
ldr r0, _0223DD00 ; =0x00000F18
mov r1, #0
add r0, r5, r0
bl ClearFrameAndWindow2
mov r3, #0x12
lsl r3, r3, #4
ldr r1, [r5]
ldrh r2, [r5, r3]
add r3, r3, #2
ldr r0, [r1, #8]
ldrh r3, [r5, r3]
ldr r1, [r1, #0xc]
bl ov70_0223E49C
add r4, r0, #0
bl ov70_0223E4FC
cmp r0, #0
beq _0223DC34
ldr r0, _0223DD04 ; =0x00000F0F
mov r2, #1
str r0, [sp]
add r0, r5, #0
mov r1, #0x25
mov r3, #0
str r2, [sp, #4]
bl ov70_0223E01C
add r0, r5, #0
mov r1, #4
mov r2, #1
bl ov70_02238D84
b _0223DCF0
_0223DC34:
add r0, r4, #0
bl ov70_0223E538
cmp r0, #0
beq _0223DC72
cmp r0, #1
ldr r0, _0223DD04 ; =0x00000F0F
bne _0223DC56
str r0, [sp]
mov r2, #1
add r0, r5, #0
mov r1, #0xb1
mov r3, #0
str r2, [sp, #4]
bl ov70_0223E01C
b _0223DC66
_0223DC56:
str r0, [sp]
mov r2, #1
add r0, r5, #0
mov r1, #0xb2
mov r3, #0
str r2, [sp, #4]
bl ov70_0223E01C
_0223DC66:
add r0, r5, #0
mov r1, #4
mov r2, #1
bl ov70_02238D84
b _0223DCF0
_0223DC72:
add r0, r4, #0
bl ov70_0223E59C
cmp r0, #0
beq _0223DC9A
ldr r0, _0223DD04 ; =0x00000F0F
mov r2, #1
str r0, [sp]
add r0, r5, #0
mov r1, #0xb3
mov r3, #0
str r2, [sp, #4]
bl ov70_0223E01C
add r0, r5, #0
mov r1, #4
mov r2, #1
bl ov70_02238D84
b _0223DCF0
_0223DC9A:
mov r0, #0x12
lsl r0, r0, #4
ldrh r0, [r5, r0]
mov r4, #0
bl ov70_0223E490
cmp r0, #0
beq _0223DCC8
ldr r1, _0223DD08 ; =0x00000122
ldr r0, [r5]
ldrh r1, [r5, r1]
ldr r0, [r0, #8]
bl GetPartyMonByIndex
mov r1, #0xa2
add r2, r4, #0
bl GetMonData
cmp r0, #0
beq _0223DCC8
mov r0, #0xb
mov r4, #1
str r0, [r5, #0x2c]
_0223DCC8:
cmp r4, #0
bne _0223DCF0
add r0, r5, #0
bl ov70_0223DE6C
b _0223DCF0
_0223DCD4:
add r0, r5, #0
bl ov70_02238D60
ldr r0, _0223DCFC ; =0x000011AC
ldr r0, [r5, r0]
bl ListMenuItems_Delete
ldr r0, _0223DD00 ; =0x00000F18
mov r1, #0
add r0, r5, r0
bl ClearFrameAndWindow2
mov r0, #0
str r0, [r5, #0x2c]
_0223DCF0:
mov r0, #3
add sp, #8
pop {r3, r4, r5, pc}
nop
_0223DCF8: .word 0x000011D0
_0223DCFC: .word 0x000011AC
_0223DD00: .word 0x00000F18
_0223DD04: .word 0x00000F0F
_0223DD08: .word 0x00000122
thumb_func_end ov70_0223DB94
thumb_func_start ov70_0223DD0C
ov70_0223DD0C: ; 0x0223DD0C
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldr r0, [r4, #0x18]
cmp r0, #0
beq _0223DD20
cmp r0, #8
beq _0223DD20
cmp r0, #3
bne _0223DD40
_0223DD20:
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl BeginNormalPaletteFade
ldr r0, _0223DD64 ; =0x000011FC
mov r1, #1
str r1, [r4, r0]
b _0223DD58
_0223DD40:
mov r0, #6
str r0, [sp]
mov r1, #0
mov r0, #1
str r0, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
add r3, r1, #0
bl BeginNormalPaletteFade
_0223DD58:
mov r0, #0
str r0, [r4, #0x2c]
mov r0, #4
add sp, #0xc
pop {r3, r4, pc}
nop
_0223DD64: .word 0x000011FC
thumb_func_end ov70_0223DD0C
thumb_func_start ov70_0223DD68
ov70_0223DD68: ; 0x0223DD68
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
mov r0, #1
str r0, [sp]
ldr r0, [r4, #4]
ldr r2, _0223DD8C ; =0x000001AD
mov r1, #0xc
mov r3, #8
bl ov70_02238C14
ldr r1, _0223DD90 ; =0x000011C8
str r0, [r4, r1]
mov r0, #6
str r0, [r4, #0x2c]
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0223DD8C: .word 0x000001AD
_0223DD90: .word 0x000011C8
thumb_func_end ov70_0223DD68
thumb_func_start ov70_0223DD94
ov70_0223DD94: ; 0x0223DD94
push {r4, lr}
add r4, r0, #0
bl ov70_02238C8C
cmp r0, #1
bne _0223DDB8
ldr r0, _0223DDCC ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
mov r0, #2
mov r1, #0
str r0, [r4, #0x2c]
add r0, r4, #0
add r2, r1, #0
bl ov70_02238E50
b _0223DDC8
_0223DDB8:
cmp r0, #2
bne _0223DDC8
ldr r0, _0223DDCC ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
mov r0, #0
str r0, [r4, #0x2c]
_0223DDC8:
mov r0, #3
pop {r4, pc}
.balign 4, 0
_0223DDCC: .word 0x000011C8
thumb_func_end ov70_0223DD94
thumb_func_start ov70_0223DDD0
ov70_0223DDD0: ; 0x0223DDD0
push {r4, lr}
sub sp, #8
ldr r1, _0223DDF8 ; =0x00000F0F
add r4, r0, #0
str r1, [sp]
mov r2, #1
mov r1, #0x19
mov r3, #0
str r2, [sp, #4]
bl ov70_0223E01C
add r0, r4, #0
mov r1, #3
mov r2, #0xc
bl ov70_02238D84
mov r0, #3
add sp, #8
pop {r4, pc}
nop
_0223DDF8: .word 0x00000F0F
thumb_func_end ov70_0223DDD0
thumb_func_start ov70_0223DDFC
ov70_0223DDFC: ; 0x0223DDFC
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
mov r0, #1
str r0, [sp]
ldr r0, [r4, #4]
ldr r2, _0223DE20 ; =0x000001AD
mov r1, #0xa
mov r3, #8
bl ov70_02238C14
ldr r1, _0223DE24 ; =0x000011C8
str r0, [r4, r1]
mov r0, #0xd
str r0, [r4, #0x2c]
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0223DE20: .word 0x000001AD
_0223DE24: .word 0x000011C8
thumb_func_end ov70_0223DDFC
thumb_func_start ov70_0223DE28
ov70_0223DE28: ; 0x0223DE28
push {r4, lr}
add r4, r0, #0
bl ov70_02238C8C
cmp r0, #1
bne _0223DE44
ldr r0, _0223DE64 ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
add r0, r4, #0
bl ov70_0223DE6C
b _0223DE5E
_0223DE44:
cmp r0, #2
bne _0223DE5E
ldr r0, _0223DE64 ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
ldr r0, _0223DE68 ; =0x00001158
mov r1, #0
add r0, r4, r0
bl ClearFrameAndWindow2
mov r0, #1
str r0, [r4, #0x2c]
_0223DE5E:
mov r0, #3
pop {r4, pc}
nop
_0223DE64: .word 0x000011C8
_0223DE68: .word 0x00001158
thumb_func_end ov70_0223DE28
thumb_func_start ov70_0223DE6C
ov70_0223DE6C: ; 0x0223DE6C
push {r4, lr}
sub sp, #8
add r4, r0, #0
mov r0, #0x26
lsl r0, r0, #4
add r2, r4, r0
mov r0, #0x4b
lsl r0, r0, #2
ldr r1, [r4, r0]
sub r0, #8
mul r0, r1
add r0, r2, r0
bl ov70_0223E76C
cmp r0, #0
beq _0223DEC4
mov r0, #0x12
lsl r0, r0, #4
ldrh r0, [r4, r0]
cmp r0, #0x12
beq _0223DEC4
ldr r0, [r4]
ldr r0, [r0, #8]
bl GetPartyCount
cmp r0, #6
bne _0223DEC4
ldr r0, _0223DF0C ; =0x00000F0F
mov r2, #1
str r0, [sp]
add r0, r4, #0
mov r1, #0x1c
mov r3, #0
str r2, [sp, #4]
bl ov70_0223E01C
add r0, r4, #0
mov r1, #4
mov r2, #1
bl ov70_02238D84
add sp, #8
mov r0, #0
pop {r4, pc}
_0223DEC4:
mov r3, #0x12
lsl r3, r3, #4
ldr r1, [r4]
ldrh r2, [r4, r3]
add r3, r3, #2
ldr r0, [r1, #8]
ldrh r3, [r4, r3]
ldr r1, [r1, #0xc]
bl ov70_0223E49C
mov r1, #0x49
lsl r1, r1, #2
str r0, [r4, r1]
mov r0, #2
str r0, [r4, #0x2c]
ldr r0, _0223DF10 ; =0x000011FC
mov r1, #1
str r1, [r4, r0]
add r0, r4, #0
mov r1, #7
mov r2, #9
bl ov70_02238E50
mov r0, #0x4f
lsl r0, r0, #2
add r0, r4, r0
add r1, r4, #0
bl ov70_0223E690
mov r0, #0x4a
mov r1, #0
lsl r0, r0, #2
str r1, [r4, r0]
mov r0, #1
add sp, #8
pop {r4, pc}
.balign 4, 0
_0223DF0C: .word 0x00000F0F
_0223DF10: .word 0x000011FC
thumb_func_end ov70_0223DE6C
thumb_func_start ov70_0223DF14
ov70_0223DF14: ; 0x0223DF14
push {r4, lr}
sub sp, #8
ldr r1, _0223DF3C ; =0x00000F0F
add r4, r0, #0
str r1, [sp]
mov r2, #1
mov r1, #0x19
mov r3, #0
str r2, [sp, #4]
bl ov70_0223E01C
add r0, r4, #0
mov r1, #3
mov r2, #0xf
bl ov70_02238D84
mov r0, #3
add sp, #8
pop {r4, pc}
nop
_0223DF3C: .word 0x00000F0F
thumb_func_end ov70_0223DF14
thumb_func_start ov70_0223DF40
ov70_0223DF40: ; 0x0223DF40
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
mov r0, #1
str r0, [sp]
ldr r0, [r4, #4]
ldr r2, _0223DF64 ; =0x000001AD
mov r1, #0xa
mov r3, #8
bl ov70_02238C14
ldr r1, _0223DF68 ; =0x000011C8
str r0, [r4, r1]
mov r0, #0x10
str r0, [r4, #0x2c]
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0223DF64: .word 0x000001AD
_0223DF68: .word 0x000011C8
thumb_func_end ov70_0223DF40
thumb_func_start ov70_0223DF6C
ov70_0223DF6C: ; 0x0223DF6C
push {r4, lr}
add r4, r0, #0
bl ov70_02238C8C
cmp r0, #1
bne _0223DFAA
ldr r0, _0223DFC8 ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
mov r3, #0x12
lsl r3, r3, #4
ldr r1, [r4]
ldrh r2, [r4, r3]
add r3, r3, #2
ldr r0, [r1, #8]
ldrh r3, [r4, r3]
ldr r1, [r1, #0xc]
bl ov70_0223E49C
mov r1, #0x49
lsl r1, r1, #2
str r0, [r4, r1]
mov r0, #2
str r0, [r4, #0x2c]
add r0, r4, #0
mov r1, #6
mov r2, #0
bl ov70_02238E50
b _0223DFC4
_0223DFAA:
cmp r0, #2
bne _0223DFC4
ldr r0, _0223DFC8 ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
ldr r0, _0223DFCC ; =0x00001158
mov r1, #0
add r0, r4, r0
bl ClearFrameAndWindow2
mov r0, #1
str r0, [r4, #0x2c]
_0223DFC4:
mov r0, #3
pop {r4, pc}
.balign 4, 0
_0223DFC8: .word 0x000011C8
_0223DFCC: .word 0x00001158
thumb_func_end ov70_0223DF6C
thumb_func_start ov70_0223DFD0
ov70_0223DFD0: ; 0x0223DFD0
push {r4, lr}
add r4, r0, #0
mov r0, #0xbf
lsl r0, r0, #4
ldr r0, [r4, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl TextPrinterCheckActive
cmp r0, #0
bne _0223DFEA
ldr r0, [r4, #0x30]
str r0, [r4, #0x2c]
_0223DFEA:
mov r0, #3
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_0223DFD0
thumb_func_start ov70_0223DFF0
ov70_0223DFF0: ; 0x0223DFF0
push {r4, lr}
add r4, r0, #0
mov r0, #0xbf
lsl r0, r0, #4
ldr r0, [r4, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl TextPrinterCheckActive
cmp r0, #0
bne _0223E014
ldr r0, _0223E018 ; =0x00001158
mov r1, #0
add r0, r4, r0
bl ClearFrameAndWindow2
ldr r0, [r4, #0x30]
str r0, [r4, #0x2c]
_0223E014:
mov r0, #3
pop {r4, pc}
.balign 4, 0
_0223E018: .word 0x00001158
thumb_func_end ov70_0223DFF0
thumb_func_start ov70_0223E01C
ov70_0223E01C: ; 0x0223E01C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
mov r0, #0xba
lsl r0, r0, #4
ldr r0, [r5, r0]
add r6, r2, #0
bl NewString_ReadMsgData
add r7, r0, #0
ldr r1, _0223E084 ; =0x00000B9C
add r2, r7, #0
ldr r0, [r5, r1]
add r1, #0x20
ldr r1, [r5, r1]
bl StringExpandPlaceholders
ldr r0, [sp, #0x24]
cmp r0, #0
bne _0223E048
ldr r0, _0223E088 ; =0x00000F18
b _0223E04A
_0223E048:
ldr r0, _0223E08C ; =0x00001158
_0223E04A:
add r4, r5, r0
add r0, r4, #0
mov r1, #0xf
bl FillWindowPixelBuffer
add r0, r4, #0
mov r1, #0
mov r2, #1
mov r3, #0xe
bl DrawFrameAndWindow2
mov r3, #0
str r3, [sp]
str r6, [sp, #4]
ldr r2, _0223E090 ; =0x00000BBC
str r3, [sp, #8]
ldr r2, [r5, r2]
add r0, r4, #0
mov r1, #1
bl AddTextPrinterParameterized
mov r1, #0xbf
lsl r1, r1, #4
str r0, [r5, r1]
add r0, r7, #0
bl String_Delete
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0223E084: .word 0x00000B9C
_0223E088: .word 0x00000F18
_0223E08C: .word 0x00001158
_0223E090: .word 0x00000BBC
thumb_func_end ov70_0223E01C
thumb_func_start ov70_0223E094
ov70_0223E094: ; 0x0223E094
push {r3, r4, r5, lr}
add r5, r2, #0
add r2, r3, #0
bl NARC_AllocAndReadWholeMember
add r4, r0, #0
beq _0223E0B6
add r1, r5, #0
bl NNS_G2dGetUnpackedBGCharacterData
cmp r0, #0
bne _0223E0B6
add r0, r4, #0
bl FreeToHeap
mov r0, #0
pop {r3, r4, r5, pc}
_0223E0B6:
add r0, r4, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov70_0223E094
thumb_func_start ov70_0223E0BC
ov70_0223E0BC: ; 0x0223E0BC
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r1, #0
add r6, r2, #0
add r1, r6, #0
add r2, r5, #0
str r0, [sp]
add r7, r3, #0
ldr r4, [sp, #0x28]
bl GetMonIconNaixEx
add r1, r0, #0
ldr r0, [sp, #0x24]
add r2, sp, #8
mov r3, #0x3d
bl ov70_0223E094
str r0, [sp, #4]
ldr r0, [sp, #8]
add r1, r4, #0
mov r2, #2
ldr r0, [r0, #0x14]
add r1, #0xc
lsl r2, r2, #8
bl MIi_CpuCopyFast
lsl r0, r7, #4
add r0, #0xc
lsl r0, r0, #5
str r0, [r4]
ldr r0, [sp, #0x20]
add r1, r5, #0
str r0, [r4, #8]
ldr r0, [sp]
add r2, r6, #0
bl GetMonIconPaletteEx
add r0, r0, #3
str r0, [r4, #4]
ldr r0, [sp, #4]
bl FreeToHeap
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end ov70_0223E0BC
thumb_func_start ov70_0223E114
ov70_0223E114: ; 0x0223E114
push {r4, lr}
add r4, r1, #0
bl CalcBoxMonLevel
strb r0, [r4, #3]
pop {r4, pc}
thumb_func_end ov70_0223E114
thumb_func_start ov70_0223E120
ov70_0223E120: ; 0x0223E120
push {r3, r4, r5, r6, r7, lr}
mov r1, #0x12
mov r6, #2
lsl r1, r1, #8
lsl r6, r6, #8
add r7, r6, #0
ldr r5, [r0, r1]
str r0, [sp]
mov r4, #0
add r7, #0xc
_0223E134:
ldr r0, [r5, #8]
cmp r0, #0
beq _0223E158
add r0, r5, #0
add r0, #0xc
add r1, r6, #0
bl DC_FlushRange
add r0, r5, #0
ldr r1, [r5]
add r0, #0xc
add r2, r6, #0
bl GX_LoadOBJ
ldr r0, [r5, #8]
ldr r1, [r5, #4]
bl sub_02024A14
_0223E158:
add r4, r4, #1
add r5, r5, r7
cmp r4, #0x1e
blt _0223E134
mov r1, #0x12
ldr r0, [sp]
lsl r1, r1, #8
ldr r0, [r0, r1]
bl FreeToHeap
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov70_0223E120
thumb_func_start ov70_0223E170
ov70_0223E170: ; 0x0223E170
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r0, #0
str r1, [sp, #0xc]
add r7, r2, #0
add r6, r3, #0
ldr r4, [sp, #0x40]
bl AcquireBoxMonLock
add r0, r5, #0
mov r1, #0xac
mov r2, #0
bl GetBoxMonData
str r0, [sp, #0x1c]
add r0, r5, #0
mov r1, #5
mov r2, #0
bl GetBoxMonData
strh r0, [r6]
add r0, r5, #0
mov r1, #0x70
mov r2, #0
bl GetBoxMonData
str r0, [sp, #0x10]
add r0, r5, #0
mov r1, #0x4c
mov r2, #0
bl GetBoxMonData
str r0, [sp, #0x14]
add r0, r5, #0
mov r1, #6
mov r2, #0
bl GetBoxMonData
str r0, [sp, #0x18]
ldrh r0, [r6]
mov r1, #0x6f
mov r2, #0
strh r0, [r4]
add r0, r5, #0
bl GetBoxMonData
add r0, r0, #1
strb r0, [r4, #2]
ldr r0, [sp, #0x14]
cmp r0, #0
beq _0223E1DA
mov r0, #0
strb r0, [r4, #3]
_0223E1DA:
add r0, r5, #0
mov r1, #1
bl ReleaseBoxMonLock
ldr r0, [sp, #0x1c]
cmp r0, #0
beq _0223E248
ldr r0, [sp, #0xc]
ldr r1, [sp, #0x10]
str r0, [sp]
ldr r0, [sp, #0x3c]
ldr r2, [sp, #0x14]
str r0, [sp, #4]
ldr r0, [sp, #0x44]
ldr r3, [sp, #0x38]
str r0, [sp, #8]
ldrh r0, [r6]
bl ov70_0223E0BC
ldr r0, [sp, #0xc]
mov r1, #1
bl Set2dSpriteVisibleFlag
ldr r0, [sp, #0x18]
cmp r0, #0
beq _0223E23C
add r0, r7, #0
mov r1, #1
bl Set2dSpriteVisibleFlag
ldr r0, [sp, #0x18]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl ItemIdIsMail
cmp r0, #0
beq _0223E230
add r0, r7, #0
mov r1, #0x29
bl Set2dSpriteAnimSeqNo
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
_0223E230:
add r0, r7, #0
mov r1, #0x28
bl Set2dSpriteAnimSeqNo
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
_0223E23C:
add r0, r7, #0
mov r1, #0
bl Set2dSpriteVisibleFlag
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
_0223E248:
ldr r0, [sp, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
add r0, r7, #0
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, [sp, #0x44]
mov r1, #0
str r1, [r0, #8]
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov70_0223E170
thumb_func_start ov70_0223E264
ov70_0223E264: ; 0x0223E264
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x68
add r5, r0, #0
ldr r0, [r5]
str r1, [sp, #0x10]
ldr r0, [r0, #0xc]
ldr r1, _0223E46C ; =0x00003D68
str r0, [sp, #0x20]
mov r0, #3
bl AllocFromHeapAtEnd
mov r1, #0x12
lsl r1, r1, #8
str r0, [r5, r1]
str r0, [sp, #0x18]
mov r0, #0x14
mov r1, #0x3d
bl NARC_New
str r0, [sp, #0x1c]
ldr r0, [sp, #0x10]
cmp r0, #0
blt _0223E326
cmp r0, #0x12
bge _0223E326
ldr r6, _0223E470 ; =0x000011F4
mov r4, #0
_0223E29A:
ldr r0, [sp, #0x20]
ldr r1, [sp, #0x10]
add r2, r4, #0
bl PCStorage_GetMonByIndexPair
ldr r2, [r5, r6]
lsl r1, r4, #2
add r1, r2, r1
bl ov70_0223E114
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, #0x1e
blo _0223E29A
mov r4, #0
_0223E2BA:
ldr r0, _0223E470 ; =0x000011F4
lsl r6, r4, #2
ldr r1, [r5, r0]
mov r0, #0
strh r0, [r1, r6]
ldr r0, [sp, #0x20]
ldr r1, [sp, #0x10]
add r2, r4, #0
add r7, r5, r6
bl PCStorage_GetMonByIndexPair
ldr r1, [sp, #0x1c]
str r4, [sp]
str r1, [sp, #4]
ldr r1, _0223E470 ; =0x000011F4
add r2, r4, #0
ldr r1, [r5, r1]
add r3, sp, #0x2c
add r1, r1, r6
str r1, [sp, #8]
mov r1, #0x83
lsl r1, r1, #2
mul r2, r1
ldr r1, [sp, #0x18]
lsl r6, r4, #1
add r1, r1, r2
str r1, [sp, #0xc]
ldr r1, _0223E474 ; =0x00000DD8
mov r2, #0xe5
lsl r2, r2, #4
ldr r1, [r7, r1]
ldr r2, [r7, r2]
add r3, r3, r6
bl ov70_0223E170
cmp r4, #6
bhs _0223E30E
ldr r0, _0223E478 ; =0x00000EC8
mov r1, #0
ldr r0, [r7, r0]
bl Set2dSpriteVisibleFlag
_0223E30E:
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, #0x1e
blo _0223E2BA
ldr r2, _0223E47C ; =0x00000BB4
ldr r0, [sp, #0x20]
ldr r1, [sp, #0x10]
ldr r2, [r5, r2]
bl PCStorage_GetBoxName
b _0223E414
_0223E326:
ldr r0, [r5]
ldr r0, [r0, #8]
bl GetPartyCount
mov r4, #0
str r0, [sp, #0x14]
cmp r0, #0
ble _0223E3B6
_0223E336:
ldr r0, [r5]
add r1, r4, #0
ldr r0, [r0, #8]
bl GetPartyMonByIndex
str r0, [sp, #0x24]
bl Mon_GetBoxMon
ldr r1, _0223E470 ; =0x000011F4
lsl r6, r4, #2
ldr r1, [r5, r1]
str r0, [sp, #0x28]
add r1, r1, r6
bl ov70_0223E114
mov r2, #0xe5
ldr r0, [sp, #0x1c]
str r4, [sp]
str r0, [sp, #4]
ldr r0, _0223E470 ; =0x000011F4
add r1, r4, #0
ldr r0, [r5, r0]
add r7, r5, r6
add r0, r0, r6
str r0, [sp, #8]
mov r0, #0x83
lsl r0, r0, #2
mul r1, r0
ldr r0, [sp, #0x18]
lsl r2, r2, #4
add r0, r0, r1
str r0, [sp, #0xc]
ldr r1, _0223E474 ; =0x00000DD8
ldr r0, [sp, #0x28]
ldr r1, [r7, r1]
ldr r2, [r7, r2]
lsl r6, r4, #1
add r3, sp, #0x2c
add r3, r3, r6
bl ov70_0223E170
ldr r0, [sp, #0x24]
mov r1, #0xa2
mov r2, #0
bl GetMonData
cmp r0, #0
ldr r0, _0223E478 ; =0x00000EC8
beq _0223E3A2
ldr r0, [r7, r0]
mov r1, #1
bl Set2dSpriteVisibleFlag
b _0223E3AA
_0223E3A2:
ldr r0, [r7, r0]
mov r1, #0
bl Set2dSpriteVisibleFlag
_0223E3AA:
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
ldr r0, [sp, #0x14]
cmp r4, r0
blt _0223E336
_0223E3B6:
cmp r4, #0x1e
bhs _0223E404
mov r7, #0
_0223E3BC:
ldr r0, _0223E470 ; =0x000011F4
lsl r1, r4, #2
ldr r0, [r5, r0]
add r6, r5, r1
strh r7, [r0, r1]
ldr r0, _0223E474 ; =0x00000DD8
add r1, r7, #0
ldr r0, [r6, r0]
bl Set2dSpriteVisibleFlag
mov r0, #0xe5
lsl r0, r0, #4
ldr r0, [r6, r0]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #0x83
lsl r0, r0, #2
add r1, r4, #0
mul r1, r0
ldr r0, [sp, #0x18]
add r1, r0, r1
mov r0, #0
str r0, [r1, #8]
cmp r4, #6
bhs _0223E3FA
ldr r0, _0223E478 ; =0x00000EC8
mov r1, #0
ldr r0, [r6, r0]
bl Set2dSpriteVisibleFlag
_0223E3FA:
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, #0x1e
blo _0223E3BC
_0223E404:
mov r2, #0xba
lsl r2, r2, #4
ldr r0, [r5, r2]
add r2, #0x14
ldr r2, [r5, r2]
mov r1, #0x5c
bl ReadMsgDataIntoString
_0223E414:
ldr r0, [sp, #0x1c]
bl NARC_Delete
ldr r0, _0223E480 ; =0x00000F48
mov r1, #0
add r0, r5, r0
bl FillWindowPixelBuffer
mov r0, #1
str r0, [sp]
ldr r0, _0223E484 ; =0x00010200
ldr r1, _0223E47C ; =0x00000BB4
str r0, [sp, #4]
ldr r0, _0223E480 ; =0x00000F48
ldr r1, [r5, r1]
add r0, r5, r0
mov r2, #0
mov r3, #5
bl ov70_02245084
ldr r0, [r5, #0x24]
cmp r0, #6
bne _0223E462
mov r2, #0x35
lsl r2, r2, #4
add r4, r5, r2
mov r2, #0x4b
lsl r2, r2, #2
ldr r0, _0223E470 ; =0x000011F4
ldr r3, [r5, r2]
ldr r1, _0223E474 ; =0x00000DD8
sub r2, #8
mul r2, r3
ldr r0, [r5, r0]
ldr r3, [sp, #0x18]
add r1, r5, r1
add r2, r4, r2
bl ov70_0223E738
_0223E462:
ldr r1, _0223E488 ; =ov70_0223E120
ldr r0, _0223E48C ; =0x00001204
str r1, [r5, r0]
add sp, #0x68
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0223E46C: .word 0x00003D68
_0223E470: .word 0x000011F4
_0223E474: .word 0x00000DD8
_0223E478: .word 0x00000EC8
_0223E47C: .word 0x00000BB4
_0223E480: .word 0x00000F48
_0223E484: .word 0x00010200
_0223E488: .word ov70_0223E120
_0223E48C: .word 0x00001204
thumb_func_end ov70_0223E264
thumb_func_start ov70_0223E490
ov70_0223E490: ; 0x0223E490
cmp r0, #0x12
bne _0223E498
mov r0, #1
bx lr
_0223E498:
mov r0, #0
bx lr
thumb_func_end ov70_0223E490
thumb_func_start ov70_0223E49C
ov70_0223E49C: ; 0x0223E49C
push {r3, r4, r5, r6, r7, lr}
add r6, r2, #0
add r5, r0, #0
add r0, r6, #0
add r7, r1, #0
add r4, r3, #0
bl ov70_0223E490
cmp r0, #0
beq _0223E4CE
add r0, r5, #0
bl GetPartyCount
sub r0, r0, #1
cmp r4, r0
ble _0223E4C0
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0223E4C0:
add r0, r5, #0
add r1, r4, #0
bl GetPartyMonByIndex
bl Mon_GetBoxMon
pop {r3, r4, r5, r6, r7, pc}
_0223E4CE:
add r0, r7, #0
add r1, r6, #0
add r2, r4, #0
bl PCStorage_GetMonByIndexPair
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov70_0223E49C
thumb_func_start ov70_0223E4DC
ov70_0223E4DC: ; 0x0223E4DC
push {r4, lr}
add r4, r0, #0
add r0, r2, #0
bl ov70_0223E490
cmp r0, #0
beq _0223E4F8
add r0, r4, #0
bl GetPartyCount
cmp r0, #2
bge _0223E4F8
mov r0, #0
pop {r4, pc}
_0223E4F8:
mov r0, #1
pop {r4, pc}
thumb_func_end ov70_0223E4DC
thumb_func_start ov70_0223E4FC
ov70_0223E4FC: ; 0x0223E4FC
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
mov r4, #0
bl AcquireBoxMonLock
ldr r5, _0223E534 ; =ov70_02245700
str r0, [sp]
add r6, r4, #0
_0223E50C:
ldrh r1, [r5]
add r0, r7, #0
mov r2, #0
bl GetBoxMonData
add r6, r6, #1
add r4, r4, r0
add r5, r5, #2
cmp r6, #0xa
blt _0223E50C
ldr r1, [sp]
add r0, r7, #0
bl ReleaseBoxMonLock
cmp r4, #0
beq _0223E530
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0223E530:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0223E534: .word ov70_02245700
thumb_func_end ov70_0223E4FC
thumb_func_start ov70_0223E538
ov70_0223E538: ; 0x0223E538
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl AcquireBoxMonLock
add r7, r0, #0
add r0, r5, #0
mov r1, #5
mov r2, #0
bl GetBoxMonData
add r4, r0, #0
add r0, r5, #0
mov r1, #0x70
mov r2, #0
bl GetBoxMonData
add r6, r0, #0
add r0, r5, #0
add r1, r7, #0
bl ReleaseBoxMonLock
cmp r6, #0
ble _0223E592
ldr r1, _0223E598 ; =0x000001DF
cmp r4, r1
bgt _0223E574
bge _0223E58A
cmp r4, #0xac
beq _0223E58E
b _0223E592
_0223E574:
add r0, r1, #0
add r0, #8
cmp r4, r0
bgt _0223E584
add r1, #8
cmp r4, r1
beq _0223E58A
b _0223E592
_0223E584:
add r1, #0xd
cmp r4, r1
bne _0223E592
_0223E58A:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0223E58E:
mov r0, #2
pop {r3, r4, r5, r6, r7, pc}
_0223E592:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_0223E598: .word 0x000001DF
thumb_func_end ov70_0223E538
thumb_func_start ov70_0223E59C
ov70_0223E59C: ; 0x0223E59C
push {r4, r5, r6, lr}
add r5, r0, #0
bl AcquireBoxMonLock
add r6, r0, #0
add r0, r5, #0
mov r1, #6
mov r2, #0
bl GetBoxMonData
add r4, r0, #0
add r0, r5, #0
add r1, r6, #0
bl ReleaseBoxMonLock
cmp r4, #0x70
bne _0223E5C2
mov r0, #1
pop {r4, r5, r6, pc}
_0223E5C2:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov70_0223E59C
thumb_func_start ov70_0223E5C8
ov70_0223E5C8: ; 0x0223E5C8
push {r4, lr}
bl ov70_0223E49C
add r4, r0, #0
bne _0223E5D6
mov r0, #0
pop {r4, pc}
_0223E5D6:
mov r1, #0xac
mov r2, #0
bl GetBoxMonData
cmp r0, #0
bne _0223E5E6
mov r0, #0
pop {r4, pc}
_0223E5E6:
add r0, r4, #0
mov r1, #0xad
mov r2, #0
bl GetBoxMonData
cmp r0, #0
beq _0223E5F8
mov r0, #2
pop {r4, pc}
_0223E5F8:
mov r0, #1
pop {r4, pc}
thumb_func_end ov70_0223E5C8
thumb_func_start ov70_0223E5FC
ov70_0223E5FC: ; 0x0223E5FC
push {r3, r4}
mov r4, #0
ldrsh r3, [r0, r4]
ldrsh r2, [r1, r4]
cmp r3, r2
beq _0223E60E
add r0, r4, #0
pop {r3, r4}
bx lr
_0223E60E:
mov r2, #2
ldrsb r3, [r1, r2]
cmp r3, #3
beq _0223E622
ldrsb r2, [r0, r2]
cmp r3, r2
beq _0223E622
add r0, r4, #0
pop {r3, r4}
bx lr
_0223E622:
mov r2, #3
ldrsb r3, [r0, r2]
cmp r3, #0
bne _0223E630
mov r0, #0
pop {r3, r4}
bx lr
_0223E630:
ldrsb r0, [r1, r2]
cmp r0, #0
beq _0223E640
cmp r0, r3
ble _0223E640
mov r0, #0
pop {r3, r4}
bx lr
_0223E640:
mov r0, #4
ldrsb r0, [r1, r0]
cmp r0, #0
beq _0223E652
cmp r0, r3
bge _0223E652
mov r0, #0
pop {r3, r4}
bx lr
_0223E652:
mov r0, #1
pop {r3, r4}
bx lr
thumb_func_end ov70_0223E5FC
thumb_func_start ov70_0223E658
ov70_0223E658: ; 0x0223E658
push {r3, r4, r5, lr}
add r4, r1, #0
mov r1, #5
mov r2, #0
add r5, r0, #0
bl GetBoxMonData
add r1, sp, #0
strh r0, [r1]
add r0, r5, #0
mov r1, #0x6f
mov r2, #0
bl GetBoxMonData
add r1, r0, #1
add r0, sp, #0
strb r1, [r0, #2]
add r0, r5, #0
bl CalcBoxMonLevel
add r1, sp, #0
strb r0, [r1, #3]
add r0, sp, #0
add r1, r4, #0
bl ov70_0223E5FC
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov70_0223E658
thumb_func_start ov70_0223E690
ov70_0223E690: ; 0x0223E690
push {r4, r5, lr}
sub sp, #0xc
add r4, r0, #0
mov r0, #0x49
add r5, r1, #0
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #5
mov r2, #0
bl GetBoxMonData
add r1, sp, #0
strh r0, [r1, #6]
mov r0, #0x49
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #0x6f
mov r2, #0
bl GetBoxMonData
add r1, r0, #1
add r0, sp, #0
strb r1, [r0, #8]
mov r0, #0x49
lsl r0, r0, #2
ldr r0, [r5, r0]
bl CalcBoxMonLevel
add r1, sp, #0
strb r0, [r1, #9]
add r0, r4, #0
ldrh r2, [r1, #6]
add r0, #0xec
strh r2, [r0]
add r0, r4, #0
ldrh r1, [r1, #8]
add r0, #0xee
strh r1, [r0]
add r0, r4, #0
add r1, r5, #0
bl ov70_0223F6E4
mov r0, #0x26
lsl r0, r0, #4
add r2, r5, r0
mov r0, #0x4b
lsl r0, r0, #2
ldr r1, [r5, r0]
sub r0, #8
mul r0, r1
add r0, r2, r0
bl Mon_GetBoxMon
mov r1, #5
mov r2, #0
add r5, r0, #0
bl GetBoxMonData
add r1, sp, #0
strh r0, [r1]
add r0, r5, #0
mov r1, #0x6f
mov r2, #0
bl GetBoxMonData
add r0, r0, #1
add r1, sp, #0
strb r0, [r1, #2]
mov r0, #0
strb r0, [r1, #3]
strb r0, [r1, #4]
add r0, r4, #0
ldrh r2, [r1]
add r0, #0xf0
strh r2, [r0]
add r0, r4, #0
ldrh r2, [r1, #2]
add r0, #0xf2
add r4, #0xf4
strh r2, [r0]
ldrh r0, [r1, #4]
strh r0, [r4]
add sp, #0xc
pop {r4, r5, pc}
thumb_func_end ov70_0223E690
thumb_func_start ov70_0223E738
ov70_0223E738: ; 0x0223E738
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r7, r2, #0
add r4, r3, #0
mov r6, #0
_0223E742:
mov r0, #0
ldrsh r0, [r5, r0]
cmp r0, #0
beq _0223E75C
add r0, r5, #0
add r1, r7, #0
bl ov70_0223E5FC
cmp r0, #0
bne _0223E75C
ldr r0, [r4, #4]
add r0, r0, #3
str r0, [r4, #4]
_0223E75C:
mov r0, #0x83
lsl r0, r0, #2
add r6, r6, #1
add r5, r5, #4
add r4, r4, r0
cmp r6, #0x1e
blt _0223E742
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov70_0223E738
thumb_func_start ov70_0223E76C
ov70_0223E76C: ; 0x0223E76C
push {r3, lr}
mov r1, #6
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl ItemIdIsMail
cmp r0, #0
beq _0223E786
mov r0, #1
pop {r3, pc}
_0223E786:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ov70_0223E76C
thumb_func_start ov70_0223E78C
ov70_0223E78C: ; 0x0223E78C
push {r3, r4, lr}
sub sp, #0x3c
add r4, r0, #0
bl ov70_0223ECCC
ldr r0, [r4, #4]
bl ov70_0223E954
add r0, r4, #0
bl ov70_0223EA6C
add r0, r4, #0
bl ov70_0223EB34
add r0, r4, #0
bl ov70_0223EC0C
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
mov r3, #0
bl BeginNormalPaletteFade
add r0, r4, #0
bl ov70_02245124
mov r0, #0
str r0, [sp]
mov r0, #3
mov r2, #0xba
str r0, [sp, #4]
sub r0, r0, #4
lsl r2, r2, #4
str r0, [sp, #8]
add r1, r2, #4
ldr r0, [r4, r2]
sub r2, r2, #4
ldr r3, _0223E870 ; =0x00001058
ldr r1, [r4, r1]
ldr r2, [r4, r2]
add r3, r4, r3
bl ov70_0223F3D8
mov r1, #0x2e
lsl r1, r1, #6
add r0, r4, r1
str r0, [sp]
add r0, r1, #0
mov r3, #0x49
add r0, #0x20
add r1, #0x1c
ldr r2, _0223E874 ; =0x00001088
lsl r3, r3, #2
ldr r0, [r4, r0]
ldr r1, [r4, r1]
ldr r3, [r4, r3]
add r2, r4, r2
bl ov70_0223F508
ldr r0, [r4, #4]
mov r3, #0xba
ldr r2, _0223E878 ; =0x00000F58
str r0, [sp, #0xc]
add r0, r4, r2
str r0, [sp, #0x10]
ldr r0, _0223E87C ; =0x00001168
lsl r3, r3, #4
add r1, r4, r0
str r1, [sp, #0x14]
mov r1, #0xdd
lsl r1, r1, #4
ldr r1, [r4, r1]
add r0, #0x5c
str r1, [sp, #0x18]
add r1, r2, #0
sub r1, #0x54
ldr r1, [r4, r1]
sub r2, #0x50
str r1, [sp, #0x1c]
ldr r1, [r4, r2]
mov r2, #0
str r2, [sp, #0x24]
str r1, [sp, #0x20]
ldr r1, [r4, r3]
str r1, [sp, #0x28]
add r1, r3, #4
ldr r1, [r4, r1]
add r3, #0x10
str r1, [sp, #0x2c]
ldr r1, [r4, r3]
str r1, [sp, #0x30]
ldr r1, [r4]
ldr r1, [r1, #0x10]
str r1, [sp, #0x34]
ldr r0, [r4, r0]
mov r1, #2
ldr r0, [r0, #0x14]
str r0, [sp, #0x38]
add r0, sp, #0xc
bl ov70_02242014
ldr r1, _0223E880 ; =0x000011A8
str r0, [r4, r1]
mov r0, #0
str r0, [r4, #0x2c]
mov r0, #2
add sp, #0x3c
pop {r3, r4, pc}
nop
_0223E870: .word 0x00001058
_0223E874: .word 0x00001088
_0223E878: .word 0x00000F58
_0223E87C: .word 0x00001168
_0223E880: .word 0x000011A8
thumb_func_end ov70_0223E78C
thumb_func_start ov70_0223E884
ov70_0223E884: ; 0x0223E884
push {r4, lr}
add r4, r0, #0
bl ov70_02238E44
bl sub_0203A930
ldr r1, [r4, #0x2c]
add r0, r4, #0
lsl r2, r1, #2
ldr r1, _0223E8A0 ; =ov70_02246614
ldr r1, [r1, r2]
blx r1
pop {r4, pc}
nop
_0223E8A0: .word ov70_02246614
thumb_func_end ov70_0223E884
thumb_func_start ov70_0223E8A4
ov70_0223E8A4: ; 0x0223E8A4
push {r4, lr}
add r4, r0, #0
bl sub_0203A914
add r0, r4, #0
bl ov70_0223ECA4
ldr r0, _0223E8E4 ; =0x000011A8
ldr r0, [r4, r0]
bl ov70_0224212C
add r0, r4, #0
bl ov70_0223ED24
add r0, r4, #0
bl ov70_0223EBD4
ldr r0, [r4, #4]
bl ov70_0223EA40
mov r0, #0xf1
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl Set2dSpriteVisibleFlag
add r0, r4, #0
bl ov70_02238E58
mov r0, #1
pop {r4, pc}
nop
_0223E8E4: .word 0x000011A8
thumb_func_end ov70_0223E8A4
thumb_func_start ov70_0223E8E8
ov70_0223E8E8: ; 0x0223E8E8
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r0, #0
mov r0, #0xba
lsl r0, r0, #4
ldr r0, [r5, r0]
add r4, r2, #0
bl NewString_ReadMsgData
add r6, r0, #0
ldr r1, _0223E948 ; =0x00000B9C
add r2, r6, #0
ldr r0, [r5, r1]
add r1, #0x20
ldr r1, [r5, r1]
bl StringExpandPlaceholders
ldr r0, _0223E94C ; =0x00000F18
mov r1, #0xf
add r0, r5, r0
bl FillWindowPixelBuffer
ldr r0, _0223E94C ; =0x00000F18
mov r1, #0
add r0, r5, r0
mov r2, #1
mov r3, #0xe
bl DrawFrameAndWindow2
mov r3, #0
str r3, [sp]
str r4, [sp, #4]
ldr r0, _0223E94C ; =0x00000F18
ldr r2, _0223E950 ; =0x00000BBC
str r3, [sp, #8]
ldr r2, [r5, r2]
add r0, r5, r0
mov r1, #1
bl AddTextPrinterParameterized
mov r1, #0xbf
lsl r1, r1, #4
str r0, [r5, r1]
add r0, r6, #0
bl String_Delete
add sp, #0xc
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_0223E948: .word 0x00000B9C
_0223E94C: .word 0x00000F18
_0223E950: .word 0x00000BBC
thumb_func_end ov70_0223E8E8
thumb_func_start ov70_0223E954
ov70_0223E954: ; 0x0223E954
push {r3, r4, r5, lr}
sub sp, #0x80
ldr r5, _0223EA30 ; =ov70_02245970
add r4, r0, #0
ldmia r5!, {r0, r1}
add r3, sp, #0x64
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]
add r0, r4, #0
add r3, r1, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #0
bl BgClearTilemapBufferAndCommit
ldr r5, _0223EA34 ; =ov70_0224598C
add r3, sp, #0x48
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]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
ldr r5, _0223EA38 ; =ov70_02245954
add r3, sp, #0x2c
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, #2
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
mov r2, #0
str r2, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #0x18
str r0, [sp, #8]
add r0, r4, #0
mov r1, #2
add r3, r2, #0
str r2, [sp, #0xc]
bl FillBgTilemapRect
add r0, r4, #0
mov r1, #2
bl BgCommitTilemapBufferToVram
ldr r5, _0223EA3C ; =ov70_02245938
add r3, sp, #0x10
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]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #3
bl BgClearTilemapBufferAndCommit
mov r0, #0
mov r1, #0x20
add r2, r0, #0
mov r3, #0x3d
bl BG_ClearCharDataRange
mov r0, #3
mov r1, #0x20
mov r2, #0
mov r3, #0x3d
bl BG_ClearCharDataRange
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl ov70_022391F0
add sp, #0x80
pop {r3, r4, r5, pc}
.balign 4, 0
_0223EA30: .word ov70_02245970
_0223EA34: .word ov70_0224598C
_0223EA38: .word ov70_02245954
_0223EA3C: .word ov70_02245938
thumb_func_end ov70_0223E954
thumb_func_start ov70_0223EA40
ov70_0223EA40: ; 0x0223EA40
push {r4, lr}
add r4, r0, #0
bl ov70_022392BC
add r0, r4, #0
mov r1, #2
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #1
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #0
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #3
bl FreeBgTilemapBuffer
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_0223EA40
thumb_func_start ov70_0223EA6C
ov70_0223EA6C: ; 0x0223EA6C
push {r4, r5, r6, lr}
sub sp, #0x10
add r5, r0, #0
ldr r4, [r5, #4]
mov r0, #0x64
mov r1, #0x3d
bl NARC_New
add r6, r0, #0
mov r0, #0x40
str r0, [sp]
mov r0, #0x3d
mov r2, #0
str r0, [sp, #4]
mov r0, #0x64
mov r1, #1
add r3, r2, #0
bl GfGfxLoader_GXLoadPal
mov r1, #0x1a
mov r0, #0
lsl r1, r1, #4
mov r2, #0x3d
bl LoadFontPal1
ldr r0, [r5]
ldr r0, [r0, #0x24]
bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r4, #0
mov r1, #0
mov r2, #1
mov r3, #0xe
bl LoadUserFrameGfx2
mov r1, #0
str r1, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r4, #0
mov r2, #0x1f
mov r3, #0xb
bl LoadUserFrameGfx1
mov r0, #0
str r0, [sp]
mov r0, #0xa
lsl r0, r0, #8
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
mov r0, #0x64
mov r1, #0xc
add r2, r4, #0
bl GfGfxLoader_LoadCharData
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
mov r0, #0x64
mov r1, #0x1a
add r2, r4, #0
bl GfGfxLoader_LoadScrnData
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
add r0, r6, #0
mov r1, #0xf
add r2, r4, #0
mov r3, #2
bl GfGfxLoader_LoadCharDataFromOpenNarc
add r0, r5, #0
bl ov70_02239CF8
add r0, r6, #0
bl NARC_Delete
add sp, #0x10
pop {r4, r5, r6, pc}
thumb_func_end ov70_0223EA6C
thumb_func_start ov70_0223EB34
ov70_0223EB34: ; 0x0223EB34
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
str r0, [sp, #0x14]
mov r0, #0x15
str r0, [sp]
mov r0, #0x1b
str r0, [sp, #4]
mov r3, #2
str r3, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
mov r0, #0x60
str r0, [sp, #0x10]
ldr r0, [sp, #0x14]
ldr r2, _0223EBC8 ; =0x00000F18
ldr r1, [sp, #0x14]
ldr r0, [r0, #4]
add r1, r1, r2
mov r2, #0
bl AddWindowParameterized
ldr r1, _0223EBC8 ; =0x00000F18
ldr r0, [sp, #0x14]
add r0, r0, r1
mov r1, #0
bl FillWindowPixelBuffer
ldr r1, _0223EBCC ; =0x00001058
ldr r0, [sp, #0x14]
ldr r4, _0223EBD0 ; =ov70_02245920
mov r7, #0
mov r6, #0x96
add r5, r0, r1
_0223EB76:
ldrh r0, [r4, #2]
add r1, r5, #0
mov r2, #3
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0xb
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
lsl r0, r6, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldrh r3, [r4]
ldr r0, [sp, #0x14]
lsl r3, r3, #0x18
ldr r0, [r0, #4]
lsr r3, r3, #0x18
bl AddWindowParameterized
add r0, r5, #0
mov r1, #0
bl FillWindowPixelBuffer
add r0, r5, #0
bl CopyWindowToVram
add r7, r7, #1
add r6, #0x16
add r4, r4, #4
add r5, #0x10
cmp r7, #6
blt _0223EB76
ldr r0, [sp, #0x14]
mov r1, #3
bl ov70_02239D44
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0223EBC8: .word 0x00000F18
_0223EBCC: .word 0x00001058
_0223EBD0: .word ov70_02245920
thumb_func_end ov70_0223EB34
thumb_func_start ov70_0223EBD4
ov70_0223EBD4: ; 0x0223EBD4
push {r4, r5, r6, lr}
add r6, r0, #0
ldr r0, _0223EC00 ; =0x00001198
add r0, r6, r0
bl RemoveWindow
ldr r0, _0223EC04 ; =0x00001058
mov r4, #0
add r5, r6, r0
_0223EBE6:
add r0, r5, #0
bl RemoveWindow
add r4, r4, #1
add r5, #0x10
cmp r4, #6
blt _0223EBE6
ldr r0, _0223EC08 ; =0x00000F18
add r0, r6, r0
bl RemoveWindow
pop {r4, r5, r6, pc}
nop
_0223EC00: .word 0x00001198
_0223EC04: .word 0x00001058
_0223EC08: .word 0x00000F18
thumb_func_end ov70_0223EBD4
thumb_func_start ov70_0223EC0C
ov70_0223EC0C: ; 0x0223EC0C
push {r4, lr}
sub sp, #0x30
mov r2, #0xd6
add r4, r0, #0
lsl r2, r2, #4
add r0, sp, #0
add r1, r4, #0
add r2, r4, r2
mov r3, #1
bl ov70_02238B54
mov r0, #0xa
lsl r0, r0, #0x10
str r0, [sp, #8]
mov r0, #2
lsl r0, r0, #0x10
str r0, [sp, #0xc]
add r0, sp, #0
bl CreateSprite
mov r1, #0xdd
lsl r1, r1, #4
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #0x2f
bl Set2dSpriteAnimSeqNo
mov r0, #0xdd
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #0x39
lsl r0, r0, #0xe
str r0, [sp, #8]
mov r0, #0x75
lsl r0, r0, #0xc
str r0, [sp, #0xc]
add r0, sp, #0
bl CreateSprite
ldr r1, _0223EC9C ; =0x00000F04
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #0x26
bl Set2dSpriteAnimSeqNo
ldr r0, _0223EC9C ; =0x00000F04
mov r1, #0
ldr r0, [r4, r0]
bl Set2dSpriteVisibleFlag
mov r0, #0x23
lsl r0, r0, #0xe
str r0, [sp, #8]
add r0, sp, #0
bl CreateSprite
ldr r1, _0223ECA0 ; =0x00000F08
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #0x27
bl Set2dSpriteAnimSeqNo
ldr r0, _0223ECA0 ; =0x00000F08
mov r1, #0
ldr r0, [r4, r0]
bl Set2dSpriteVisibleFlag
add sp, #0x30
pop {r4, pc}
.balign 4, 0
_0223EC9C: .word 0x00000F04
_0223ECA0: .word 0x00000F08
thumb_func_end ov70_0223EC0C
thumb_func_start ov70_0223ECA4
ov70_0223ECA4: ; 0x0223ECA4
push {r4, lr}
add r4, r0, #0
mov r0, #0xdd
lsl r0, r0, #4
ldr r0, [r4, r0]
bl Sprite_Delete
ldr r0, _0223ECC4 ; =0x00000F04
ldr r0, [r4, r0]
bl Sprite_Delete
ldr r0, _0223ECC8 ; =0x00000F08
ldr r0, [r4, r0]
bl Sprite_Delete
pop {r4, pc}
.balign 4, 0
_0223ECC4: .word 0x00000F04
_0223ECC8: .word 0x00000F08
thumb_func_end ov70_0223ECA4
thumb_func_start ov70_0223ECCC
ov70_0223ECCC: ; 0x0223ECCC
push {r4, lr}
add r4, r0, #0
mov r0, #0xb4
mov r1, #0x3d
bl String_New
ldr r1, _0223ED1C ; =0x00000BBC
str r0, [r4, r1]
mov r0, #0x3d
mov r1, #0x30
bl AllocFromHeap
ldr r1, _0223ED20 ; =0x000011C4
mov r2, #0x30
str r0, [r4, r1]
ldr r1, [r4, r1]
mov r0, #0
bl MIi_CpuClearFast
ldr r2, _0223ED20 ; =0x000011C4
mov r0, #0x3d
ldr r2, [r4, r2]
mov r1, #0
add r2, #0x1c
bl ov70_0223F634
ldr r1, _0223ED20 ; =0x000011C4
ldr r1, [r4, r1]
str r0, [r1, #0x18]
mov r0, #0x3d
bl ov70_0223F684
ldr r1, _0223ED20 ; =0x000011C4
ldr r2, [r4, r1]
add r1, #0x70
str r0, [r2, #0x14]
add r0, r4, r1
bl ov70_0223F948
pop {r4, pc}
.balign 4, 0
_0223ED1C: .word 0x00000BBC
_0223ED20: .word 0x000011C4
thumb_func_end ov70_0223ECCC
thumb_func_start ov70_0223ED24
ov70_0223ED24: ; 0x0223ED24
push {r4, lr}
add r4, r0, #0
ldr r0, _0223ED50 ; =0x000011C4
ldr r0, [r4, r0]
ldr r0, [r0, #0x14]
bl FreeToHeap
ldr r0, _0223ED50 ; =0x000011C4
ldr r0, [r4, r0]
ldr r0, [r0, #0x18]
bl FreeToHeap
ldr r0, _0223ED50 ; =0x000011C4
ldr r0, [r4, r0]
bl FreeToHeap
ldr r0, _0223ED54 ; =0x00000BBC
ldr r0, [r4, r0]
bl String_Delete
pop {r4, pc}
nop
_0223ED50: .word 0x000011C4
_0223ED54: .word 0x00000BBC
thumb_func_end ov70_0223ED24
thumb_func_start ov70_0223ED58
ov70_0223ED58: ; 0x0223ED58
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
bl IsPaletteFadeFinished
cmp r0, #0
beq _0223ED80
ldr r0, _0223ED88 ; =0x00000F0F
mov r1, #9
str r0, [sp]
add r0, r4, #0
mov r2, #1
mov r3, #0
bl ov70_0223E8E8
add r0, r4, #0
mov r1, #0x10
mov r2, #1
bl ov70_02238D84
_0223ED80:
mov r0, #3
add sp, #4
pop {r3, r4, pc}
nop
_0223ED88: .word 0x00000F0F
thumb_func_end ov70_0223ED58
thumb_func_start ov70_0223ED8C
ov70_0223ED8C: ; 0x0223ED8C
push {r4, lr}
ldr r1, _0223EDAC ; =gSystem
add r4, r0, #0
ldr r2, [r1, #0x48]
mov r1, #2
tst r1, r2
beq _0223EDA6
mov r1, #5
add r2, r1, #0
bl ov70_02238E50
mov r0, #2
str r0, [r4, #0x2c]
_0223EDA6:
mov r0, #3
str r0, [r4, #0x2c]
pop {r4, pc}
.balign 4, 0
_0223EDAC: .word gSystem
thumb_func_end ov70_0223ED8C
thumb_func_start ov70_0223EDB0
ov70_0223EDB0: ; 0x0223EDB0
push {r4, lr}
add r4, r0, #0
ldr r0, _0223EDC8 ; =0x000011A8
mov r1, #0
ldr r0, [r4, r0]
bl ov70_022420C4
mov r0, #6
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
nop
_0223EDC8: .word 0x000011A8
thumb_func_end ov70_0223EDB0
thumb_func_start ov70_0223EDCC
ov70_0223EDCC: ; 0x0223EDCC
push {r3, lr}
bl GF_AssertFail
mov r0, #3
pop {r3, pc}
.balign 4, 0
thumb_func_end ov70_0223EDCC
thumb_func_start ov70_0223EDD8
ov70_0223EDD8: ; 0x0223EDD8
push {r3, lr}
bl GF_AssertFail
mov r0, #3
pop {r3, pc}
.balign 4, 0
thumb_func_end ov70_0223EDD8
thumb_func_start ov70_0223EDE4
ov70_0223EDE4: ; 0x0223EDE4
cmp r1, #0
beq _0223EDF2
cmp r1, #0xfe
beq _0223EDFA
cmp r1, #0xff
beq _0223EE02
b _0223EE0A
_0223EDF2:
mov r1, #1
strb r1, [r0, #2]
add r0, r1, #0
bx lr
_0223EDFA:
mov r1, #2
strb r1, [r0, #2]
mov r0, #1
bx lr
_0223EE02:
mov r1, #3
strb r1, [r0, #2]
mov r0, #1
bx lr
_0223EE0A:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end ov70_0223EDE4
thumb_func_start ov70_0223EE10
ov70_0223EE10: ; 0x0223EE10
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldr r0, _0223EED0 ; =0x000011A8
ldr r0, [r4, r0]
bl ov70_02242144
mov r1, #1
mvn r1, r1
cmp r0, r1
beq _0223EE2E
add r1, r1, #1
cmp r0, r1
beq _0223EECA
b _0223EE5E
_0223EE2E:
ldr r0, _0223EED4 ; =0x00000F18
mov r1, #0
add r0, r4, r0
bl ClearFrameAndWindow2
mov r1, #5
add r0, r4, #0
add r2, r1, #0
bl ov70_02238E50
mov r0, #2
str r0, [r4, #0x2c]
ldr r0, _0223EED8 ; =0x000011C4
ldr r3, [r4, r0]
add r0, #0x70
ldrh r2, [r3, #6]
ldrh r1, [r3, #4]
add r0, r4, r0
add r1, r2, r1
ldrh r2, [r3, #0xa]
ldrh r3, [r3, #8]
bl ov70_0223F960
b _0223EECA
_0223EE5E:
ldr r1, _0223EEDC ; =0x00000B84
strh r0, [r4, r1]
mov r1, #0x12
bl GetMonBaseStat
ldr r1, _0223EED8 ; =0x000011C4
ldr r2, [r4, r1]
str r0, [r2, #0x20]
ldr r1, [r4, r1]
ldr r0, _0223EEDC ; =0x00000B84
ldr r1, [r1, #0x20]
add r0, r4, r0
bl ov70_0223EDE4
cmp r0, #0
beq _0223EE88
mov r0, #0xa
str r0, [r4, #0x2c]
ldr r0, _0223EEE0 ; =0x00000B86
ldrsb r1, [r4, r0]
b _0223EE8E
_0223EE88:
mov r0, #7
str r0, [r4, #0x2c]
mov r1, #3
_0223EE8E:
ldr r2, _0223EEDC ; =0x00000B84
ldr r3, _0223EEE4 ; =0x00001058
ldrsh r0, [r4, r2]
add r3, r4, r3
str r0, [sp]
mov r0, #0
str r1, [sp, #4]
mvn r0, r0
str r0, [sp, #8]
add r0, r2, #0
add r1, r2, #0
add r0, #0x1c
add r1, #0x20
add r2, #0x18
ldr r0, [r4, r0]
ldr r1, [r4, r1]
ldr r2, [r4, r2]
bl ov70_0223F3D8
ldr r0, _0223EED8 ; =0x000011C4
ldr r3, [r4, r0]
add r0, #0x70
ldrh r2, [r3, #6]
ldrh r1, [r3, #4]
add r0, r4, r0
add r1, r2, r1
ldrh r2, [r3, #0xa]
ldrh r3, [r3, #8]
bl ov70_0223F960
_0223EECA:
mov r0, #3
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
_0223EED0: .word 0x000011A8
_0223EED4: .word 0x00000F18
_0223EED8: .word 0x000011C4
_0223EEDC: .word 0x00000B84
_0223EEE0: .word 0x00000B86
_0223EEE4: .word 0x00001058
thumb_func_end ov70_0223EE10
thumb_func_start ov70_0223EEE8
ov70_0223EEE8: ; 0x0223EEE8
push {r3, r4, lr}
sub sp, #4
ldr r1, _0223EF0C ; =0x00000F0F
add r4, r0, #0
str r1, [sp]
mov r1, #0xa
mov r2, #1
mov r3, #0
bl ov70_0223E8E8
add r0, r4, #0
mov r1, #0x10
mov r2, #8
bl ov70_02238D84
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0223EF0C: .word 0x00000F0F
thumb_func_end ov70_0223EEE8
thumb_func_start ov70_0223EF10
ov70_0223EF10: ; 0x0223EF10
push {r4, lr}
add r4, r0, #0
mov r0, #0x46
ldr r1, _0223EF30 ; =0x0000FFFF
lsl r0, r0, #2
strh r1, [r4, r0]
ldr r0, _0223EF34 ; =0x000011A8
mov r1, #1
ldr r0, [r4, r0]
bl ov70_022420C4
mov r0, #9
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
nop
_0223EF30: .word 0x0000FFFF
_0223EF34: .word 0x000011A8
thumb_func_end ov70_0223EF10
thumb_func_start ov70_0223EF38
ov70_0223EF38: ; 0x0223EF38
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldr r0, _0223EFA8 ; =0x000011A8
ldr r0, [r4, r0]
bl ov70_02242144
cmp r0, #2
bhi _0223EF58
cmp r0, #0
beq _0223EF70
cmp r0, #1
beq _0223EF70
cmp r0, #2
beq _0223EF70
b _0223EFA0
_0223EF58:
mov r1, #1
mvn r1, r1
cmp r0, r1
bne _0223EFA0
ldr r0, _0223EFAC ; =0x00000F18
mov r1, #0
add r0, r4, r0
bl ClearFrameAndWindow2
mov r0, #0
str r0, [r4, #0x2c]
b _0223EFA0
_0223EF70:
ldr r2, _0223EFB0 ; =0x00000B86
add r0, r0, #1
strb r0, [r4, r2]
mov r1, #0xa
str r1, [r4, #0x2c]
sub r0, r2, #2
ldrsh r0, [r4, r0]
ldr r3, _0223EFB4 ; =0x00001058
sub r1, #0xb
str r0, [sp]
ldrsb r0, [r4, r2]
add r3, r4, r3
str r0, [sp, #4]
str r1, [sp, #8]
add r0, r2, #0
add r1, r2, #0
add r0, #0x1a
add r1, #0x1e
add r2, #0x16
ldr r0, [r4, r0]
ldr r1, [r4, r1]
ldr r2, [r4, r2]
bl ov70_0223F3D8
_0223EFA0:
mov r0, #3
add sp, #0xc
pop {r3, r4, pc}
nop
_0223EFA8: .word 0x000011A8
_0223EFAC: .word 0x00000F18
_0223EFB0: .word 0x00000B86
_0223EFB4: .word 0x00001058
thumb_func_end ov70_0223EF38
thumb_func_start ov70_0223EFB8
ov70_0223EFB8: ; 0x0223EFB8
push {r3, r4, lr}
sub sp, #4
ldr r1, _0223EFDC ; =0x00000F0F
add r4, r0, #0
str r1, [sp]
mov r1, #0xb
mov r2, #1
mov r3, #0
bl ov70_0223E8E8
add r0, r4, #0
mov r1, #0x10
mov r2, #0xb
bl ov70_02238D84
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0223EFDC: .word 0x00000F0F
thumb_func_end ov70_0223EFB8
thumb_func_start ov70_0223EFE0
ov70_0223EFE0: ; 0x0223EFE0
push {r4, lr}
add r4, r0, #0
ldr r0, _0223F000 ; =0x000011A8
mov r1, #2
ldr r0, [r4, r0]
bl ov70_022420C4
mov r0, #0x46
ldr r1, _0223F004 ; =0x0000FFFF
lsl r0, r0, #2
strh r1, [r4, r0]
mov r0, #0xc
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
nop
_0223F000: .word 0x000011A8
_0223F004: .word 0x0000FFFF
thumb_func_end ov70_0223EFE0
thumb_func_start ov70_0223F008
ov70_0223F008: ; 0x0223F008
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldr r0, _0223F09C ; =0x000011A8
ldr r0, [r4, r0]
bl ov70_02242144
add r1, r0, #0
cmp r1, #0xc
beq _0223F02C
mov r0, #1
mvn r0, r0
cmp r1, r0
beq _0223F02C
add r0, r0, #1
cmp r1, r0
beq _0223F096
b _0223F054
_0223F02C:
ldr r0, _0223F0A0 ; =0x00000F18
mov r1, #0
add r0, r4, r0
bl ClearFrameAndWindow2
ldr r1, _0223F0A4 ; =0x000011C4
ldr r0, _0223F0A8 ; =0x00000B84
ldr r1, [r4, r1]
add r0, r4, r0
ldr r1, [r1, #0x20]
bl ov70_0223EDE4
cmp r0, #0
beq _0223F04E
mov r0, #0
str r0, [r4, #0x2c]
b _0223F096
_0223F04E:
mov r0, #7
str r0, [r4, #0x2c]
b _0223F096
_0223F054:
ldr r0, _0223F0A8 ; =0x00000B84
mov r2, #0
add r0, r4, r0
bl ov70_0223F828
mov r0, #0xd
ldr r1, _0223F0AC ; =0x00000B87
str r0, [r4, #0x2c]
ldrsb r0, [r4, r1]
add r1, r1, #1
ldrsb r1, [r4, r1]
mov r2, #0
bl ov70_0223F864
ldr r2, _0223F0A8 ; =0x00000B84
ldr r3, _0223F0B0 ; =0x00001058
ldrsh r1, [r4, r2]
add r3, r4, r3
str r1, [sp]
add r1, r2, #2
ldrsb r1, [r4, r1]
str r1, [sp, #4]
str r0, [sp, #8]
add r0, r2, #0
add r1, r2, #0
add r0, #0x1c
add r1, #0x20
add r2, #0x18
ldr r0, [r4, r0]
ldr r1, [r4, r1]
ldr r2, [r4, r2]
bl ov70_0223F3D8
_0223F096:
mov r0, #3
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
_0223F09C: .word 0x000011A8
_0223F0A0: .word 0x00000F18
_0223F0A4: .word 0x000011C4
_0223F0A8: .word 0x00000B84
_0223F0AC: .word 0x00000B87
_0223F0B0: .word 0x00001058
thumb_func_end ov70_0223F008
thumb_func_start ov70_0223F0B4
ov70_0223F0B4: ; 0x0223F0B4
push {r3, r4, lr}
sub sp, #4
ldr r1, _0223F0D8 ; =0x00000F0F
add r4, r0, #0
str r1, [sp]
mov r1, #0x17
mov r2, #1
mov r3, #0
bl ov70_0223E8E8
add r0, r4, #0
mov r1, #0x10
mov r2, #0xe
bl ov70_02238D84
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0223F0D8: .word 0x00000F0F
thumb_func_end ov70_0223F0B4
thumb_func_start ov70_0223F0DC
ov70_0223F0DC: ; 0x0223F0DC
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
mov r0, #0
str r0, [sp]
ldr r0, [r4, #4]
ldr r2, _0223F100 ; =0x0000011A
mov r1, #0xc
mov r3, #3
bl ov70_02238C14
ldr r1, _0223F104 ; =0x000011C8
str r0, [r4, r1]
mov r0, #0xf
str r0, [r4, #0x2c]
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0223F100: .word 0x0000011A
_0223F104: .word 0x000011C8
thumb_func_end ov70_0223F0DC
thumb_func_start ov70_0223F108
ov70_0223F108: ; 0x0223F108
push {r4, lr}
add r4, r0, #0
bl ov70_02238C8C
cmp r0, #1
bne _0223F13E
ldr r0, _0223F15C ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
mov r1, #7
add r0, r4, #0
add r2, r1, #0
bl ov70_02238E50
mov r0, #2
str r0, [r4, #0x2c]
ldr r0, _0223F160 ; =0x000011FC
mov r1, #1
str r1, [r4, r0]
mov r0, #0x4f
lsl r0, r0, #2
add r0, r4, r0
add r1, r4, #0
bl ov70_0223F7A4
b _0223F158
_0223F13E:
cmp r0, #2
bne _0223F158
ldr r0, _0223F15C ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
mov r1, #5
add r0, r4, #0
add r2, r1, #0
bl ov70_02238E50
mov r0, #2
str r0, [r4, #0x2c]
_0223F158:
mov r0, #3
pop {r4, pc}
.balign 4, 0
_0223F15C: .word 0x000011C8
_0223F160: .word 0x000011FC
thumb_func_end ov70_0223F108
thumb_func_start ov70_0223F164
ov70_0223F164: ; 0x0223F164
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldr r0, [r4, #0x18]
cmp r0, #0
bne _0223F190
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl BeginNormalPaletteFade
ldr r0, _0223F1B4 ; =0x000011FC
mov r1, #1
str r1, [r4, r0]
b _0223F1A8
_0223F190:
mov r0, #6
str r0, [sp]
mov r1, #0
mov r0, #1
str r0, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
add r3, r1, #0
bl BeginNormalPaletteFade
_0223F1A8:
mov r0, #0
str r0, [r4, #0x2c]
mov r0, #4
add sp, #0xc
pop {r3, r4, pc}
nop
_0223F1B4: .word 0x000011FC
thumb_func_end ov70_0223F164
thumb_func_start ov70_0223F1B8
ov70_0223F1B8: ; 0x0223F1B8
push {r4, lr}
add r4, r0, #0
mov r0, #0xbf
lsl r0, r0, #4
ldr r0, [r4, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl TextPrinterCheckActive
cmp r0, #0
bne _0223F1D2
ldr r0, [r4, #0x30]
str r0, [r4, #0x2c]
_0223F1D2:
mov r0, #3
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_0223F1B8
thumb_func_start ov70_0223F1D8
ov70_0223F1D8: ; 0x0223F1D8
push {r4, r5, r6, lr}
sub sp, #8
add r6, r0, #0
add r5, r3, #0
cmp r2, #0
beq _0223F206
add r0, r1, #0
add r1, r2, #0
bl NewString_ReadMsgData
add r4, r0, #0
ldr r0, [sp, #0x1c]
str r5, [sp]
str r0, [sp, #4]
ldr r3, [sp, #0x18]
add r0, r6, #0
add r1, r4, #0
mov r2, #0
bl ov70_02245084
add r0, r4, #0
bl String_Delete
_0223F206:
add sp, #8
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov70_0223F1D8
thumb_func_start ov70_0223F20C
ov70_0223F20C: ; 0x0223F20C
push {r4, r5, r6, lr}
sub sp, #0x10
add r6, r0, #0
add r5, r3, #0
cmp r2, #0
beq _0223F240
add r0, r1, #0
add r1, r2, #0
bl NewString_ReadMsgData
add r4, r0, #0
mov r1, #0
str r5, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, [sp, #0x20]
add r2, r4, #0
str r0, [sp, #8]
add r0, r6, #0
add r3, r1, #0
str r1, [sp, #0xc]
bl AddTextPrinterParameterized2
add r0, r4, #0
bl String_Delete
_0223F240:
add sp, #0x10
pop {r4, r5, r6, pc}
thumb_func_end ov70_0223F20C
thumb_func_start ov70_0223F244
ov70_0223F244: ; 0x0223F244
push {r3, r4, r5, lr}
sub sp, #8
add r4, r0, #0
cmp r3, #0
beq _0223F276
add r0, r1, #0
add r1, r3, #0
bl NewString_ReadMsgData
add r5, r0, #0
ldr r0, [sp, #0x18]
ldr r3, [sp, #0x1c]
str r0, [sp]
ldr r0, [sp, #0x20]
add r1, r5, #0
str r0, [sp, #4]
add r0, r4, #0
mov r2, #0
bl ov70_02245084
add r0, r5, #0
bl String_Delete
add sp, #8
pop {r3, r4, r5, pc}
_0223F276:
add r0, r2, #0
mov r1, #0xad
bl NewString_ReadMsgData
add r5, r0, #0
ldr r0, [sp, #0x18]
ldr r3, [sp, #0x1c]
str r0, [sp]
ldr r0, [sp, #0x20]
add r1, r5, #0
str r0, [sp, #4]
add r0, r4, #0
mov r2, #0
bl ov70_02245084
add r0, r5, #0
bl String_Delete
add sp, #8
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov70_0223F244
thumb_func_start ov70_0223F2A0
ov70_0223F2A0: ; 0x0223F2A0
cmp r0, #1
bne _0223F2AA
ldr r0, _0223F2B8 ; =ov70_022465EC
ldr r0, [r0]
bx lr
_0223F2AA:
cmp r0, #2
bne _0223F2B2
ldr r0, _0223F2B8 ; =ov70_022465EC
ldr r1, [r0, #4]
_0223F2B2:
add r0, r1, #0
bx lr
nop
_0223F2B8: .word ov70_022465EC
thumb_func_end ov70_0223F2A0
thumb_func_start ov70_0223F2BC
ov70_0223F2BC: ; 0x0223F2BC
push {r4, r5, r6, lr}
sub sp, #8
add r6, r0, #0
add r5, r2, #0
cmp r3, #0
bne _0223F2CC
cmp r5, #3
beq _0223F31C
_0223F2CC:
add r0, r1, #0
ldr r1, _0223F320 ; =ov70_02245910
lsl r2, r5, #2
ldr r1, [r1, r2]
bl NewString_ReadMsgData
add r4, r0, #0
ldr r0, [sp, #0x1c]
cmp r0, #3
ble _0223F2FC
ldr r1, [sp, #0x20]
add r0, r5, #0
bl ov70_0223F2A0
mov r1, #0
str r1, [sp]
str r0, [sp, #4]
ldr r2, [sp, #0x1c]
ldr r3, [sp, #0x18]
add r0, r6, #0
add r1, r4, #0
bl ov70_02245084
b _0223F316
_0223F2FC:
ldr r1, [sp, #0x20]
add r0, r5, #0
bl ov70_0223F2A0
ldr r1, [sp, #0x1c]
ldr r3, [sp, #0x18]
str r1, [sp]
str r0, [sp, #4]
add r0, r6, #0
add r1, r4, #0
mov r2, #0
bl ov70_02245084
_0223F316:
add r0, r4, #0
bl String_Delete
_0223F31C:
add sp, #8
pop {r4, r5, r6, pc}
.balign 4, 0
_0223F320: .word ov70_02245910
thumb_func_end ov70_0223F2BC
thumb_func_start ov70_0223F324
ov70_0223F324: ; 0x0223F324
push {r4, r5, r6, lr}
sub sp, #0x10
add r6, r0, #0
add r5, r2, #0
cmp r3, #0
bne _0223F334
cmp r5, #3
beq _0223F368
_0223F334:
add r0, r1, #0
ldr r1, _0223F36C ; =ov70_02245910
lsl r2, r5, #2
ldr r1, [r1, r2]
bl NewString_ReadMsgData
add r4, r0, #0
ldr r1, [sp, #0x28]
add r0, r5, #0
bl ov70_0223F2A0
ldr r1, [sp, #0x24]
ldr r3, [sp, #0x20]
str r1, [sp]
mov r1, #0xff
str r1, [sp, #4]
str r0, [sp, #8]
mov r1, #0
add r0, r6, #0
add r2, r4, #0
str r1, [sp, #0xc]
bl AddTextPrinterParameterized2
add r0, r4, #0
bl String_Delete
_0223F368:
add sp, #0x10
pop {r4, r5, r6, pc}
.balign 4, 0
_0223F36C: .word ov70_02245910
thumb_func_end ov70_0223F324
thumb_func_start ov70_0223F370
ov70_0223F370: ; 0x0223F370
push {r4, lr}
sub sp, #0x10
mov r4, #0
str r4, [sp]
ldr r4, [sp, #0x18]
str r4, [sp, #4]
ldr r4, [sp, #0x1c]
str r4, [sp, #8]
ldr r4, [sp, #0x20]
str r4, [sp, #0xc]
bl ov70_0223F38C
add sp, #0x10
pop {r4, pc}
thumb_func_end ov70_0223F370
thumb_func_start ov70_0223F38C
ov70_0223F38C: ; 0x0223F38C
push {r4, r5, r6, lr}
sub sp, #8
add r6, r0, #0
mov r0, #0
mvn r0, r0
add r5, r3, #0
cmp r2, r0
beq _0223F3CC
ldr r0, [sp, #0x24]
cmp r0, #0
bne _0223F3A6
ldr r3, _0223F3D0 ; =ov70_02245A4C
b _0223F3A8
_0223F3A6:
ldr r3, _0223F3D4 ; =ov70_022459F4
_0223F3A8:
add r0, r1, #0
lsl r1, r2, #3
ldr r1, [r3, r1]
bl NewString_ReadMsgData
add r4, r0, #0
ldr r0, [sp, #0x20]
str r5, [sp]
str r0, [sp, #4]
ldr r2, [sp, #0x18]
ldr r3, [sp, #0x1c]
add r0, r6, #0
add r1, r4, #0
bl ov70_02245084
add r0, r4, #0
bl String_Delete
_0223F3CC:
add sp, #8
pop {r4, r5, r6, pc}
.balign 4, 0
_0223F3D0: .word ov70_02245A4C
_0223F3D4: .word ov70_022459F4
thumb_func_end ov70_0223F38C
thumb_func_start ov70_0223F3D8
ov70_0223F3D8: ; 0x0223F3D8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
str r1, [sp, #0x10]
mov r1, #0x65
str r0, [sp, #0xc]
add r6, r3, #0
bl NewString_ReadMsgData
str r0, [sp, #0x14]
mov r2, #0
ldr r0, _0223F468 ; =0x000F0200
str r2, [sp]
str r0, [sp, #4]
ldr r1, [sp, #0x14]
add r0, r6, #0
add r3, r2, #0
bl ov70_02245084
add r5, r6, #0
mov r4, #1
add r5, #0x10
mov r7, #0
_0223F404:
add r0, r5, #0
add r1, r7, #0
bl FillWindowPixelBuffer
add r4, r4, #1
add r5, #0x10
cmp r4, #3
blt _0223F404
mov r3, #0
ldr r0, _0223F46C ; =0x00010200
str r3, [sp]
str r0, [sp, #4]
add r0, r6, #0
ldr r1, [sp, #0x10]
ldr r2, [sp, #0x30]
add r0, #0x10
bl ov70_0223F1D8
ldr r2, [sp, #0x34]
sub r0, r2, #1
cmp r0, #1
bhi _0223F446
mov r3, #0
str r3, [sp]
mov r0, #0x46
str r0, [sp, #4]
ldr r0, _0223F46C ; =0x00010200
ldr r1, [sp, #0xc]
str r0, [sp, #8]
add r0, r6, #0
add r0, #0x10
bl ov70_0223F2BC
_0223F446:
mov r1, #0
ldr r0, _0223F46C ; =0x00010200
str r1, [sp]
str r0, [sp, #4]
str r1, [sp, #8]
add r6, #0x20
ldr r1, [sp, #0xc]
ldr r2, [sp, #0x38]
add r0, r6, #0
mov r3, #2
bl ov70_0223F370
ldr r0, [sp, #0x14]
bl String_Delete
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0223F468: .word 0x000F0200
_0223F46C: .word 0x00010200
thumb_func_end ov70_0223F3D8
thumb_func_start ov70_0223F470
ov70_0223F470: ; 0x0223F470
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
str r1, [sp, #0x10]
mov r1, #0x65
str r0, [sp, #0xc]
add r6, r3, #0
bl NewString_ReadMsgData
str r0, [sp, #0x14]
mov r2, #0
ldr r0, _0223F500 ; =0x000F0200
str r2, [sp]
str r0, [sp, #4]
ldr r1, [sp, #0x14]
add r0, r6, #0
add r3, r2, #0
bl ov70_02245084
add r5, r6, #0
mov r4, #1
add r5, #0x10
mov r7, #0
_0223F49C:
add r0, r5, #0
add r1, r7, #0
bl FillWindowPixelBuffer
add r4, r4, #1
add r5, #0x10
cmp r4, #3
blt _0223F49C
mov r3, #0
ldr r0, _0223F504 ; =0x00010200
str r3, [sp]
str r0, [sp, #4]
add r0, r6, #0
ldr r1, [sp, #0x10]
ldr r2, [sp, #0x30]
add r0, #0x10
bl ov70_0223F1D8
ldr r2, [sp, #0x34]
sub r0, r2, #1
cmp r0, #1
bhi _0223F4DE
mov r3, #0
str r3, [sp]
mov r0, #0x46
str r0, [sp, #4]
ldr r0, _0223F504 ; =0x00010200
ldr r1, [sp, #0xc]
str r0, [sp, #8]
add r0, r6, #0
add r0, #0x10
bl ov70_0223F2BC
_0223F4DE:
mov r3, #0
ldr r0, _0223F504 ; =0x00010200
str r3, [sp]
str r0, [sp, #4]
add r6, #0x20
ldr r1, [sp, #0xc]
ldr r2, [sp, #0x38]
add r0, r6, #0
str r3, [sp, #8]
bl ov70_0223F370
ldr r0, [sp, #0x14]
bl String_Delete
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_0223F500: .word 0x000F0200
_0223F504: .word 0x00010200
thumb_func_end ov70_0223F470
thumb_func_start ov70_0223F508
ov70_0223F508: ; 0x0223F508
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r4, r0, #0
add r5, r1, #0
mov r0, #0xb
mov r1, #0x3d
str r2, [sp, #8]
str r3, [sp, #0xc]
ldr r7, [sp, #0x38]
bl String_New
str r0, [sp, #0x18]
mov r0, #0xb
mov r1, #0x3d
bl String_New
str r0, [sp, #0x14]
ldr r0, [sp, #0xc]
ldr r2, [sp, #0x18]
mov r1, #0x77
bl GetBoxMonData
ldr r0, [sp, #0xc]
mov r1, #0x6f
mov r2, #0
bl GetBoxMonData
add r6, r0, #1
ldr r0, [sp, #0xc]
bl CalcBoxMonLevel
str r0, [sp, #0x10]
add r0, r4, #0
mov r1, #0x68
bl NewString_ReadMsgData
str r0, [sp, #0x20]
mov r0, #0
str r0, [sp]
mov r0, #1
mov r1, #3
str r0, [sp, #4]
ldr r2, [sp, #0x10]
add r0, r5, #0
add r3, r1, #0
bl BufferIntegerAsString
add r0, r5, #0
add r1, r4, #0
mov r2, #0x6c
mov r3, #0x3d
bl ReadMsgData_ExpandPlaceholders
str r0, [sp, #0x1c]
cmp r6, #3
beq _0223F586
ldr r1, _0223F624 ; =ov70_02245910
lsl r2, r6, #2
ldr r1, [r1, r2]
ldr r2, [sp, #0x14]
add r0, r4, #0
bl ReadMsgDataIntoString
_0223F586:
ldr r5, [sp, #8]
mov r4, #0
_0223F58A:
add r0, r5, #0
mov r1, #0
bl FillWindowPixelBuffer
add r4, r4, #1
add r5, #0x10
cmp r4, #3
blt _0223F58A
mov r2, #0
ldr r0, _0223F628 ; =0x000F0200
str r2, [sp]
str r0, [sp, #4]
ldr r0, [sp, #8]
ldr r1, [sp, #0x20]
add r3, r2, #0
bl ov70_02245084
mov r2, #0
ldr r0, _0223F62C ; =0x00010200
str r2, [sp]
str r0, [sp, #4]
ldr r0, [sp, #8]
ldr r1, [sp, #0x18]
add r0, #0x10
add r3, r2, #0
bl ov70_02245084
mov r0, #2
str r0, [sp]
ldr r0, _0223F62C ; =0x00010200
mov r2, #0
str r0, [sp, #4]
ldr r0, [sp, #8]
ldr r1, [sp, #0x1c]
add r0, #0x20
add r3, r2, #0
bl ov70_02245084
cmp r6, #3
beq _0223F5F6
sub r0, r6, #1
mov r3, #0
lsl r1, r0, #2
ldr r0, _0223F630 ; =ov70_022465EC
str r3, [sp]
ldr r0, [r0, r1]
ldr r1, [sp, #0x14]
str r0, [sp, #4]
ldr r0, [sp, #8]
mov r2, #0x46
add r0, #0x10
str r0, [sp, #8]
bl ov70_02245084
_0223F5F6:
ldr r0, [sp, #0xc]
mov r1, #5
mov r2, #0
bl GetBoxMonData
strh r0, [r7]
ldr r0, [sp, #0x10]
strb r6, [r7, #2]
strb r0, [r7, #3]
ldr r0, [sp, #0x1c]
bl String_Delete
ldr r0, [sp, #0x14]
bl String_Delete
ldr r0, [sp, #0x18]
bl String_Delete
ldr r0, [sp, #0x20]
bl String_Delete
add sp, #0x24
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0223F624: .word ov70_02245910
_0223F628: .word 0x000F0200
_0223F62C: .word 0x00010200
_0223F630: .word ov70_022465EC
thumb_func_end ov70_0223F508
thumb_func_start ov70_0223F634
ov70_0223F634: ; 0x0223F634
push {r3, r4, lr}
sub sp, #0xc
add r4, r2, #0
mov r2, #0
add r3, r0, #0
str r2, [sp]
add r0, sp, #8
str r0, [sp, #4]
mov r0, #0x4a
mov r1, #0xd
bl GfGfxLoader_LoadFromNarc_GetSizeOut
ldr r1, [sp, #8]
lsr r1, r1, #1
str r1, [r4]
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov70_0223F634
thumb_func_start ov70_0223F658
ov70_0223F658: ; 0x0223F658
push {r3, r4, lr}
sub sp, #0xc
add r4, r2, #0
lsl r2, r1, #2
ldr r1, _0223F680 ; =ov70_02245AAC
add r3, r0, #0
mov r0, #1
str r0, [sp]
add r0, sp, #8
ldr r1, [r1, r2]
str r0, [sp, #4]
mov r0, #0x4a
mov r2, #0
bl GfGfxLoader_LoadFromNarc_GetSizeOut
ldr r1, [sp, #8]
lsr r1, r1, #1
str r1, [r4]
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
_0223F680: .word ov70_02245AAC
thumb_func_end ov70_0223F658
thumb_func_start ov70_0223F684
ov70_0223F684: ; 0x0223F684
push {r4, r5, r6, r7, lr}
sub sp, #0xc
ldr r1, _0223F6DC ; =0x000001EE
add r5, r0, #0
mov r0, #0x3d
bl AllocFromHeap
add r4, r0, #0
ldr r2, _0223F6DC ; =0x000001EE
mov r0, #0
add r1, r4, #0
bl MIi_CpuClearFast
mov r2, #0
str r2, [sp]
add r0, sp, #8
str r0, [sp, #4]
mov r0, #0x4a
mov r1, #0xc
add r3, r5, #0
bl GfGfxLoader_LoadFromNarc_GetSizeOut
add r7, r0, #0
ldr r0, [sp, #8]
ldr r5, _0223F6E0 ; =0x00000000
lsr r3, r0, #1
beq _0223F6D0
ldr r0, _0223F6DC ; =0x000001EE
add r6, r7, #0
mov r1, #1
_0223F6C0:
ldrh r2, [r6]
cmp r2, r0
bhs _0223F6C8
strb r1, [r4, r2]
_0223F6C8:
add r5, r5, #1
add r6, r6, #2
cmp r5, r3
blo _0223F6C0
_0223F6D0:
add r0, r7, #0
bl FreeToHeap
add r0, r4, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0223F6DC: .word 0x000001EE
_0223F6E0: .word 0x00000000
thumb_func_end ov70_0223F684
thumb_func_start ov70_0223F6E4
ov70_0223F6E4: ; 0x0223F6E4
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0x12
add r4, r1, #0
lsl r0, r0, #4
ldrh r0, [r4, r0]
bl ov70_0223E490
cmp r0, #0
beq _0223F718
mov r0, #0x49
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0
bl Mon_UpdateShayminForm
bl SizeOfStructPokemon
add r2, r0, #0
mov r0, #0x49
lsl r0, r0, #2
ldr r0, [r4, r0]
add r1, r5, #0
bl MIi_CpuCopyFast
b _0223F730
_0223F718:
mov r0, #0x49
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0
bl BoxMon_UpdateShayminForm
mov r0, #0x49
lsl r0, r0, #2
ldr r0, [r4, r0]
add r1, r5, #0
bl CopyBoxPokemonToPokemon
_0223F730:
ldr r0, [r4]
ldr r0, [r0, #0x1c]
bl PlayerProfile_GetNamePtr
add r1, r0, #0
mov r0, #0x43
lsl r0, r0, #2
add r0, r5, r0
mov r2, #8
bl CopyU16StringArrayN
ldr r0, [r4]
ldr r0, [r0, #0x1c]
bl PlayerProfile_GetTrainerID_VisibleHalf
mov r1, #0x47
lsl r1, r1, #2
strh r0, [r5, r1]
ldr r0, [r4]
ldr r0, [r0, #0x18]
bl sub_0202CA8C
ldr r1, _0223F798 ; =0x0000011E
strb r0, [r5, r1]
ldr r0, [r4]
ldr r0, [r0, #0x18]
bl sub_0202CA90
ldr r1, _0223F79C ; =0x0000011F
strb r0, [r5, r1]
ldr r0, [r4]
ldr r0, [r0, #0x1c]
bl PlayerProfile_GetAvatar
mov r1, #0x12
lsl r1, r1, #4
strb r0, [r5, r1]
ldr r0, [r4]
ldr r0, [r0, #0x1c]
bl PlayerProfile_GetTrainerGender
add r1, r5, #0
add r1, #0xf6
strb r0, [r1]
ldr r0, _0223F7A0 ; =0x00000122
mov r1, #GAME_VERSION
strb r1, [r5, r0]
mov r1, #2
add r0, r0, #1
strb r1, [r5, r0]
pop {r3, r4, r5, pc}
nop
_0223F798: .word 0x0000011E
_0223F79C: .word 0x0000011F
_0223F7A0: .word 0x00000122
thumb_func_end ov70_0223F6E4
thumb_func_start ov70_0223F7A4
ov70_0223F7A4: ; 0x0223F7A4
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl ov70_0223F6E4
mov r0, #0x2e
lsl r0, r0, #6
add r1, r5, #0
ldrh r2, [r4, r0]
add r1, #0xec
strh r2, [r1]
add r1, r0, #2
ldrh r2, [r4, r1]
add r1, r5, #0
add r1, #0xee
strh r2, [r1]
add r1, r0, #4
ldrh r2, [r4, r1]
add r1, r5, #0
add r1, #0xf0
strh r2, [r1]
add r1, r0, #6
ldrh r2, [r4, r1]
add r1, r5, #0
add r1, #0xf2
strh r2, [r1]
add r0, #8
ldrh r0, [r4, r0]
add r5, #0xf4
strh r0, [r5]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov70_0223F7A4
thumb_func_start ov70_0223F7E4
ov70_0223F7E4: ; 0x0223F7E4
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
str r1, [sp]
cmp r2, #0
bne _0223F7F4
ldr r5, _0223F820 ; =ov70_02245A4C
mov r6, #0xc
b _0223F7F8
_0223F7F4:
ldr r5, _0223F824 ; =ov70_022459F4
mov r6, #0xb
_0223F7F8:
add r0, r6, #0
mov r1, #0x3d
bl ListMenuItems_New
mov r4, #0
str r0, [r7]
cmp r6, #0
ble _0223F81C
_0223F808:
ldr r0, [r7]
ldr r1, [sp]
ldr r2, [r5]
add r3, r4, #0
bl ListMenuItems_AppendFromMsgData
add r4, r4, #1
add r5, #8
cmp r4, r6
blt _0223F808
_0223F81C:
add r0, r6, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0223F820: .word ov70_02245A4C
_0223F824: .word ov70_022459F4
thumb_func_end ov70_0223F7E4
thumb_func_start ov70_0223F828
ov70_0223F828: ; 0x0223F828
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
cmp r2, #0
bne _0223F83E
ldr r6, _0223F85C ; =ov70_02245A4C
cmp r4, #0xc
blt _0223F848
bl GF_AssertFail
b _0223F848
_0223F83E:
ldr r6, _0223F860 ; =ov70_022459F4
cmp r4, #0xb
blt _0223F848
bl GF_AssertFail
_0223F848:
lsl r0, r4, #3
add r1, r6, r0
mov r0, #4
ldrsh r0, [r1, r0]
strb r0, [r5, #3]
mov r0, #6
ldrsh r0, [r1, r0]
strb r0, [r5, #4]
pop {r4, r5, r6, pc}
nop
_0223F85C: .word ov70_02245A4C
_0223F860: .word ov70_022459F4
thumb_func_end ov70_0223F828
thumb_func_start ov70_0223F864
ov70_0223F864: ; 0x0223F864
push {r4, r5, r6, r7}
cmp r2, #0
bne _0223F870
ldr r4, _0223F8A0 ; =ov70_02245A4C
mov r3, #0xc
b _0223F874
_0223F870:
ldr r4, _0223F8A4 ; =ov70_022459F4
mov r3, #0xb
_0223F874:
mov r2, #0
cmp r3, #0
ble _0223F898
mov r5, #6
mov r6, #4
_0223F87E:
ldrsh r7, [r4, r6]
cmp r0, r7
bne _0223F890
ldrsh r7, [r4, r5]
cmp r1, r7
bne _0223F890
add r0, r2, #0
pop {r4, r5, r6, r7}
bx lr
_0223F890:
add r2, r2, #1
add r4, #8
cmp r2, r3
blt _0223F87E
_0223F898:
mov r0, #0
pop {r4, r5, r6, r7}
bx lr
nop
_0223F8A0: .word ov70_02245A4C
_0223F8A4: .word ov70_022459F4
thumb_func_end ov70_0223F864
thumb_func_start ov70_0223F8A8
ov70_0223F8A8: ; 0x0223F8A8
cmp r1, #0
bne _0223F8B4
ldr r1, _0223F8C8 ; =0x000012CC
mov r2, #0
str r2, [r0, r1]
bx lr
_0223F8B4:
sub r1, r1, #1
cmp r1, #0x82
bhs _0223F8C4
lsl r2, r1, #1
ldr r1, _0223F8CC ; =ov70_02245B5C
ldrh r2, [r1, r2]
ldr r1, _0223F8C8 ; =0x000012CC
str r2, [r0, r1]
_0223F8C4:
bx lr
nop
_0223F8C8: .word 0x000012CC
_0223F8CC: .word ov70_02245B5C
thumb_func_end ov70_0223F8A8
thumb_func_start ov70_0223F8D0
ov70_0223F8D0: ; 0x0223F8D0
push {r3, r4}
ldr r3, _0223F900 ; =ov70_022459C8
mov r4, #0
_0223F8D6:
ldrb r2, [r3, #1]
cmp r0, r2
bne _0223F8F0
ldr r3, _0223F900 ; =ov70_022459C8
lsl r0, r4, #1
ldrb r2, [r3, r0]
add r0, r4, #1
lsl r0, r0, #1
str r2, [r1]
ldrb r0, [r3, r0]
sub r0, r0, r2
pop {r3, r4}
bx lr
_0223F8F0:
add r4, r4, #1
add r3, r3, #2
cmp r4, #0x16
blo _0223F8D6
mov r0, #0
pop {r3, r4}
bx lr
nop
_0223F900: .word ov70_022459C8
thumb_func_end ov70_0223F8D0
thumb_func_start ov70_0223F904
ov70_0223F904: ; 0x0223F904
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
str r1, [sp]
add r0, r2, #0
add r1, sp, #4
bl ov70_0223F8D0
mov r1, #0x3d
add r7, r0, #0
bl ListMenuItems_New
str r0, [r5]
mov r4, #0
b _0223F938
_0223F922:
ldr r2, [sp, #4]
ldr r0, [r5]
add r3, r2, r4
lsl r6, r3, #1
ldr r2, _0223F944 ; =ov70_02245B5C
ldr r1, [sp]
ldrh r2, [r2, r6]
add r3, r3, #1
bl ListMenuItems_AppendFromMsgData
add r4, r4, #1
_0223F938:
cmp r4, r7
blt _0223F922
add r0, r7, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_0223F944: .word ov70_02245B5C
thumb_func_end ov70_0223F904
thumb_func_start ov70_0223F948
ov70_0223F948: ; 0x0223F948
mov r2, #0
add r3, r0, #0
add r1, r2, #0
_0223F94E:
strh r1, [r3, #4]
strh r1, [r3, #0x18]
add r2, r2, #1
add r3, r3, #2
cmp r2, #0xa
blt _0223F94E
strh r1, [r0]
strh r1, [r0, #2]
bx lr
thumb_func_end ov70_0223F948
thumb_func_start ov70_0223F960
ov70_0223F960: ; 0x0223F960
lsl r1, r1, #1
add r0, r0, r1
strh r2, [r0, #4]
strh r3, [r0, #0x18]
bx lr
.balign 4, 0
thumb_func_end ov70_0223F960
thumb_func_start ov70_0223F96C
ov70_0223F96C: ; 0x0223F96C
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
bl ov70_0223FC40
ldr r0, [r4, #4]
bl ov70_0223FA08
add r0, r4, #0
bl ov70_0223FB60
add r0, r4, #0
bl ov70_0223FBF4
add r0, r4, #0
bl ov70_02241358
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
mov r3, #0
bl BeginNormalPaletteFade
add r0, r4, #0
bl ov70_02245124
mov r0, #0
str r0, [r4, #0x2c]
mov r0, #2
add sp, #0xc
pop {r3, r4, pc}
thumb_func_end ov70_0223F96C
thumb_func_start ov70_0223F9B4
ov70_0223F9B4: ; 0x0223F9B4
push {r4, lr}
add r4, r0, #0
bl ov70_02238E44
bl sub_0203A930
ldr r1, [r4, #0x2c]
add r0, r4, #0
lsl r2, r1, #2
ldr r1, _0223F9D0 ; =ov70_02246658
ldr r1, [r1, r2]
blx r1
pop {r4, pc}
nop
_0223F9D0: .word ov70_02246658
thumb_func_end ov70_0223F9B4
thumb_func_start ov70_0223F9D4
ov70_0223F9D4: ; 0x0223F9D4
push {r4, lr}
add r4, r0, #0
ldr r0, _0223FA04 ; =0x0400106C
bl GXx_GetMasterBrightness_
cmp r0, #0
beq _0223F9E8
add r0, r4, #0
bl ov70_02241380
_0223F9E8:
add r0, r4, #0
bl ov70_0223FC58
add r0, r4, #0
bl ov70_0223FC30
ldr r0, [r4, #4]
bl ov70_0223FB34
add r0, r4, #0
bl ov70_02238E58
mov r0, #1
pop {r4, pc}
.balign 4, 0
_0223FA04: .word 0x0400106C
thumb_func_end ov70_0223F9D4
thumb_func_start ov70_0223FA08
ov70_0223FA08: ; 0x0223FA08
push {r4, r5, lr}
sub sp, #0x9c
ldr r5, _0223FB1C ; =ov70_02245C60
add r3, sp, #0x8c
add r4, r0, #0
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 SetBothScreensModesAndDisable
ldr r5, _0223FB20 ; =ov70_02245CA8
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]
mov r1, #0
str r0, [r3]
add r0, r4, #0
add r3, r1, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #0
bl BgClearTilemapBufferAndCommit
ldr r5, _0223FB24 ; =ov70_02245C8C
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, #1
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #1
bl BgClearTilemapBufferAndCommit
ldr r5, _0223FB28 ; =ov70_02245CE0
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, #2
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #2
bl BgClearTilemapBufferAndCommit
ldr r5, _0223FB2C ; =ov70_02245CC4
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, #4
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #4
bl BgClearTilemapBufferAndCommit
ldr r5, _0223FB30 ; =ov70_02245C70
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, #5
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
mov r0, #0
mov r1, #0x20
add r2, r0, #0
mov r3, #0x3d
bl BG_ClearCharDataRange
mov r0, #1
mov r1, #0x20
mov r2, #0
mov r3, #0x3d
bl BG_ClearCharDataRange
mov r0, #4
mov r1, #0x20
mov r2, #0
mov r3, #0x3d
bl BG_ClearCharDataRange
mov r0, #0x10
mov r1, #1
bl GX_EngineAToggleLayers
mov r0, #0x10
mov r1, #1
bl GX_EngineBToggleLayers
add sp, #0x9c
pop {r4, r5, pc}
nop
_0223FB1C: .word ov70_02245C60
_0223FB20: .word ov70_02245CA8
_0223FB24: .word ov70_02245C8C
_0223FB28: .word ov70_02245CE0
_0223FB2C: .word ov70_02245CC4
_0223FB30: .word ov70_02245C70
thumb_func_end ov70_0223FA08
thumb_func_start ov70_0223FB34
ov70_0223FB34: ; 0x0223FB34
push {r4, lr}
add r4, r0, #0
mov r1, #5
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #4
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #2
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #1
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #0
bl FreeBgTilemapBuffer
pop {r4, pc}
thumb_func_end ov70_0223FB34
thumb_func_start ov70_0223FB60
ov70_0223FB60: ; 0x0223FB60
push {r3, r4, r5, lr}
sub sp, #8
add r5, r0, #0
ldr r4, [r5, #4]
mov r0, #0x60
mov r1, #0
str r0, [sp]
mov r0, #0x3d
str r0, [sp, #4]
mov r0, #0x64
add r2, r1, #0
add r3, r1, #0
bl GfGfxLoader_GXLoadPal
mov r1, #0x1a
mov r0, #0
lsl r1, r1, #4
mov r2, #0x3d
bl LoadFontPal1
ldr r0, [r5]
ldr r0, [r0, #0x24]
bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r4, #0
mov r1, #0
mov r2, #1
mov r3, #0xe
bl LoadUserFrameGfx2
mov r1, #0
str r1, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r4, #0
mov r2, #0x1f
mov r3, #0xb
bl LoadUserFrameGfx1
ldr r0, _0223FBF0 ; =0x000011DC
ldrh r0, [r5, r0]
cmp r0, #0
bne _0223FBD8
mov r0, #4
mov r1, #0
bl ToggleBgLayer
mov r0, #5
mov r1, #0
bl ToggleBgLayer
mov r0, #0x10
mov r1, #0
bl GX_EngineBToggleLayers
_0223FBD8:
ldr r0, [r5, #0x20]
cmp r0, #9
bne _0223FBEA
add r0, r5, #0
bl ov70_02239C6C
add r0, r5, #0
bl ov70_02239CF8
_0223FBEA:
add sp, #8
pop {r3, r4, r5, pc}
nop
_0223FBF0: .word 0x000011DC
thumb_func_end ov70_0223FB60
thumb_func_start ov70_0223FBF4
ov70_0223FBF4: ; 0x0223FBF4
push {r3, r4, lr}
sub sp, #0x14
add r4, r0, #0
mov r0, #0x13
str r0, [sp]
mov r0, #0x1b
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
mov r0, #0x28
ldr r1, _0223FC2C ; =0x00000F18
str r0, [sp, #0x10]
ldr r0, [r4, #4]
add r1, r4, r1
mov r2, #0
mov r3, #2
bl AddWindowParameterized
ldr r0, _0223FC2C ; =0x00000F18
mov r1, #0
add r0, r4, r0
bl FillWindowPixelBuffer
add sp, #0x14
pop {r3, r4, pc}
nop
_0223FC2C: .word 0x00000F18
thumb_func_end ov70_0223FBF4
thumb_func_start ov70_0223FC30
ov70_0223FC30: ; 0x0223FC30
ldr r1, _0223FC38 ; =0x00000F18
ldr r3, _0223FC3C ; =RemoveWindow
add r0, r0, r1
bx r3
.balign 4, 0
_0223FC38: .word 0x00000F18
_0223FC3C: .word RemoveWindow
thumb_func_end ov70_0223FC30
thumb_func_start ov70_0223FC40
ov70_0223FC40: ; 0x0223FC40
push {r4, lr}
add r4, r0, #0
mov r0, #0xb4
mov r1, #0x3d
bl String_New
ldr r1, _0223FC54 ; =0x00000BBC
str r0, [r4, r1]
pop {r4, pc}
nop
_0223FC54: .word 0x00000BBC
thumb_func_end ov70_0223FC40
thumb_func_start ov70_0223FC58
ov70_0223FC58: ; 0x0223FC58
ldr r1, _0223FC60 ; =0x00000BBC
ldr r3, _0223FC64 ; =String_Delete
ldr r0, [r0, r1]
bx r3
.balign 4, 0
_0223FC60: .word 0x00000BBC
_0223FC64: .word String_Delete
thumb_func_end ov70_0223FC58
thumb_func_start ov70_0223FC68
ov70_0223FC68: ; 0x0223FC68
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldr r1, [r4, #0x24]
cmp r1, #0xc
bhi _0223FD4C
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0223FC80: ; jump table
.short _0223FD4C - _0223FC80 - 2 ; case 0
.short _0223FD4C - _0223FC80 - 2 ; case 1
.short _0223FD4C - _0223FC80 - 2 ; case 2
.short _0223FD4C - _0223FC80 - 2 ; case 3
.short _0223FD4C - _0223FC80 - 2 ; case 4
.short _0223FD4C - _0223FC80 - 2 ; case 5
.short _0223FD4C - _0223FC80 - 2 ; case 6
.short _0223FC9A - _0223FC80 - 2 ; case 7
.short _0223FCB8 - _0223FC80 - 2 ; case 8
.short _0223FCD6 - _0223FC80 - 2 ; case 9
.short _0223FCF4 - _0223FC80 - 2 ; case 10
.short _0223FD18 - _0223FC80 - 2 ; case 11
.short _0223FD30 - _0223FC80 - 2 ; case 12
_0223FC9A:
ldr r1, _0223FD5C ; =0x00000F0F
mov r2, #0x18
str r1, [sp]
mov r1, #0xba
lsl r1, r1, #4
ldr r1, [r4, r1]
mov r3, #1
bl ov70_02244FA4
add r0, r4, #0
mov r1, #0x25
mov r2, #2
bl ov70_02238D84
b _0223FD50
_0223FCB8:
ldr r1, _0223FD5C ; =0x00000F0F
mov r2, #0x18
str r1, [sp]
mov r1, #0xba
lsl r1, r1, #4
ldr r1, [r4, r1]
mov r3, #1
bl ov70_02244FA4
add r0, r4, #0
mov r1, #0x25
mov r2, #7
bl ov70_02238D84
b _0223FD50
_0223FCD6:
ldr r1, _0223FD5C ; =0x00000F0F
mov r2, #0x18
str r1, [sp]
mov r1, #0xba
lsl r1, r1, #4
ldr r1, [r4, r1]
mov r3, #1
bl ov70_02244FA4
add r0, r4, #0
mov r1, #0x25
mov r2, #0xc
bl ov70_02238D84
b _0223FD50
_0223FCF4:
ldr r1, _0223FD5C ; =0x00000F0F
mov r2, #0x18
str r1, [sp]
mov r1, #0xba
lsl r1, r1, #4
ldr r1, [r4, r1]
mov r3, #1
bl ov70_02244FA4
add r0, r4, #0
mov r1, #0x25
mov r2, #0x12
bl ov70_02238D84
ldr r0, _0223FD60 ; =0x000011FC
mov r1, #1
str r1, [r4, r0]
b _0223FD50
_0223FD18:
ldr r1, _0223FD5C ; =0x00000F0F
mov r2, #0x18
str r1, [sp]
mov r1, #0xba
lsl r1, r1, #4
ldr r1, [r4, r1]
mov r3, #0
bl ov70_02244FA4
mov r0, #0x18
str r0, [r4, #0x2c]
b _0223FD50
_0223FD30:
ldr r1, _0223FD5C ; =0x00000F0F
mov r2, #0x94
str r1, [sp]
mov r1, #0xba
lsl r1, r1, #4
ldr r1, [r4, r1]
mov r3, #1
bl ov70_02244FA4
mov r0, #1
str r0, [r4, #0x18]
mov r0, #0x1d
str r0, [r4, #0x2c]
b _0223FD50
_0223FD4C:
bl GF_AssertFail
_0223FD50:
add r0, r4, #0
bl ov70_02238F64
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0223FD5C: .word 0x00000F0F
_0223FD60: .word 0x000011FC
thumb_func_end ov70_0223FC68
thumb_func_start ov70_0223FD64
ov70_0223FD64: ; 0x0223FD64
push {r4, lr}
add r4, r0, #0
mov r0, #0x4f
lsl r0, r0, #2
add r0, r4, r0
bl Pokemon_RemoveCapsule
mov r0, #0x4f
lsl r0, r0, #2
add r0, r4, r0
bl ov70_02237F64
mov r0, #3
str r0, [r4, #0x2c]
ldr r0, _0223FD94 ; =0x00001604
mov r1, #0
str r1, [r4, r0]
add r0, r4, #0
mov r1, #4
mov r2, #6
bl ov70_02240D44
mov r0, #3
pop {r4, pc}
.balign 4, 0
_0223FD94: .word 0x00001604
thumb_func_end ov70_0223FD64
thumb_func_start ov70_0223FD98
ov70_0223FD98: ; 0x0223FD98
push {r4, lr}
add r4, r0, #0
bl ov70_02237F38
cmp r0, #0
beq _0223FE20
bl ov70_02237F58
ldr r1, _0223FE3C ; =0x00001604
mov r2, #0
str r2, [r4, r1]
add r1, r0, #0
add r1, #0xf
cmp r1, #0xf
bhi _0223FE36
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0223FDC2: ; jump table
.short _0223FE12 - _0223FDC2 - 2 ; case 0
.short _0223FE12 - _0223FDC2 - 2 ; case 1
.short _0223FE1A - _0223FDC2 - 2 ; case 2
.short _0223FE0A - _0223FDC2 - 2 ; case 3
.short _0223FE02 - _0223FDC2 - 2 ; case 4
.short _0223FE02 - _0223FDC2 - 2 ; case 5
.short _0223FE02 - _0223FDC2 - 2 ; case 6
.short _0223FE02 - _0223FDC2 - 2 ; case 7
.short _0223FE02 - _0223FDC2 - 2 ; case 8
.short _0223FE02 - _0223FDC2 - 2 ; case 9
.short _0223FE02 - _0223FDC2 - 2 ; case 10
.short _0223FE0A - _0223FDC2 - 2 ; case 11
.short _0223FE36 - _0223FDC2 - 2 ; case 12
.short _0223FE12 - _0223FDC2 - 2 ; case 13
.short _0223FDFA - _0223FDC2 - 2 ; case 14
.short _0223FDE2 - _0223FDC2 - 2 ; case 15
_0223FDE2:
add r0, r4, #0
mov r1, #1
bl ov70_022409C0
ldr r0, [r4]
mov r1, #0x2d
ldr r0, [r0, #0x28]
bl GameStats_Inc
mov r0, #0x1e
str r0, [r4, #0x2c]
b _0223FE36
_0223FDFA:
str r0, [r4, #0x3c]
mov r0, #0x26
str r0, [r4, #0x2c]
b _0223FE36
_0223FE02:
str r0, [r4, #0x3c]
mov r0, #0x27
str r0, [r4, #0x2c]
b _0223FE36
_0223FE0A:
str r0, [r4, #0x3c]
mov r0, #0x27
str r0, [r4, #0x2c]
b _0223FE36
_0223FE12:
str r0, [r4, #0x3c]
mov r0, #0x26
str r0, [r4, #0x2c]
b _0223FE36
_0223FE1A:
bl sub_020399EC
b _0223FE36
_0223FE20:
ldr r0, _0223FE3C ; =0x00001604
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
mov r0, #0xe1
lsl r0, r0, #4
cmp r1, r0
bne _0223FE36
bl sub_020399EC
_0223FE36:
mov r0, #3
pop {r4, pc}
nop
_0223FE3C: .word 0x00001604
thumb_func_end ov70_0223FD98
thumb_func_start ov70_0223FE40
ov70_0223FE40: ; 0x0223FE40
push {r4, lr}
add r4, r0, #0
bl ov70_02237FB4
mov r0, #5
str r0, [r4, #0x2c]
ldr r0, _0223FE5C ; =0x00001604
mov r1, #0
str r1, [r4, r0]
mov r0, #1
strh r0, [r4, #0x36]
mov r0, #3
pop {r4, pc}
nop
_0223FE5C: .word 0x00001604
thumb_func_end ov70_0223FE40
thumb_func_start ov70_0223FE60
ov70_0223FE60: ; 0x0223FE60
push {r4, lr}
add r4, r0, #0
bl ov70_02237F38
cmp r0, #0
beq _0223FEC6
bl ov70_02237F58
ldr r1, _0223FEE0 ; =0x00001604
mov r2, #0
str r2, [r4, r1]
add r1, r0, #0
add r1, #0xf
cmp r1, #0xf
bhi _0223FEDC
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0223FE8A: ; jump table
.short _0223FEB8 - _0223FE8A - 2 ; case 0
.short _0223FEB8 - _0223FE8A - 2 ; case 1
.short _0223FEC0 - _0223FE8A - 2 ; case 2
.short _0223FEB0 - _0223FE8A - 2 ; case 3
.short _0223FEDC - _0223FE8A - 2 ; case 4
.short _0223FEDC - _0223FE8A - 2 ; case 5
.short _0223FEDC - _0223FE8A - 2 ; case 6
.short _0223FEDC - _0223FE8A - 2 ; case 7
.short _0223FEDC - _0223FE8A - 2 ; case 8
.short _0223FEDC - _0223FE8A - 2 ; case 9
.short _0223FEB8 - _0223FE8A - 2 ; case 10
.short _0223FEB0 - _0223FE8A - 2 ; case 11
.short _0223FEB8 - _0223FE8A - 2 ; case 12
.short _0223FEB8 - _0223FE8A - 2 ; case 13
.short _0223FEB8 - _0223FE8A - 2 ; case 14
.short _0223FEAA - _0223FE8A - 2 ; case 15
_0223FEAA:
mov r0, #0x21
str r0, [r4, #0x2c]
b _0223FEDC
_0223FEB0:
str r0, [r4, #0x3c]
mov r0, #0x27
str r0, [r4, #0x2c]
b _0223FEDC
_0223FEB8:
mov r0, #4
bl sub_02039AD8
b _0223FEDC
_0223FEC0:
bl sub_020399EC
b _0223FEDC
_0223FEC6:
ldr r0, _0223FEE0 ; =0x00001604
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
mov r0, #0xe1
lsl r0, r0, #4
cmp r1, r0
bne _0223FEDC
bl sub_020399EC
_0223FEDC:
mov r0, #3
pop {r4, pc}
.balign 4, 0
_0223FEE0: .word 0x00001604
thumb_func_end ov70_0223FE60
thumb_func_start ov70_0223FEE4
ov70_0223FEE4: ; 0x0223FEE4
push {r4, lr}
add r4, r0, #0
mov r0, #0x4f
lsl r0, r0, #2
add r0, r4, r0
bl ov70_02238008
mov r0, #8
str r0, [r4, #0x2c]
ldr r0, _0223FF0C ; =0x00001604
mov r1, #0
str r1, [r4, r0]
add r0, r4, #0
mov r1, #9
mov r2, #0xb
bl ov70_02240D44
mov r0, #3
pop {r4, pc}
nop
_0223FF0C: .word 0x00001604
thumb_func_end ov70_0223FEE4
thumb_func_start ov70_0223FF10
ov70_0223FF10: ; 0x0223FF10
push {r3, r4, r5, lr}
add r4, r0, #0
bl ov70_02237F38
cmp r0, #0
beq _0223FFA8
bl ov70_02237F58
ldr r1, _0223FFC4 ; =0x00001604
mov r2, #0
str r2, [r4, r1]
add r1, r0, #0
add r1, #0xf
cmp r1, #0xf
bhi _0223FFBE
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0223FF3A: ; jump table
.short _0223FF9A - _0223FF3A - 2 ; case 0
.short _0223FF9A - _0223FF3A - 2 ; case 1
.short _0223FFA2 - _0223FF3A - 2 ; case 2
.short _0223FF92 - _0223FF3A - 2 ; case 3
.short _0223FFBE - _0223FF3A - 2 ; case 4
.short _0223FFBE - _0223FF3A - 2 ; case 5
.short _0223FFBE - _0223FF3A - 2 ; case 6
.short _0223FFBE - _0223FF3A - 2 ; case 7
.short _0223FFBE - _0223FF3A - 2 ; case 8
.short _0223FFBE - _0223FF3A - 2 ; case 9
.short _0223FFBE - _0223FF3A - 2 ; case 10
.short _0223FF8C - _0223FF3A - 2 ; case 11
.short _0223FF86 - _0223FF3A - 2 ; case 12
.short _0223FF9A - _0223FF3A - 2 ; case 13
.short _0223FFBE - _0223FF3A - 2 ; case 14
.short _0223FF5A - _0223FF3A - 2 ; case 15
_0223FF5A:
ldr r0, _0223FFC8 ; =0x0000025D
ldrsb r5, [r4, r0]
cmp r5, #0
beq _0223FF68
mov r0, #0x18
str r0, [r4, #0x2c]
b _0223FFBE
_0223FF68:
ldr r0, [r4]
ldr r0, [r0]
bl sub_0202DBA0
mov r1, #0x4f
lsl r1, r1, #2
add r2, r0, #0
add r0, r4, #0
add r1, r4, r1
add r3, r5, #0
bl ov70_02240A7C
mov r0, #0x1e
str r0, [r4, #0x2c]
b _0223FFBE
_0223FF86:
mov r0, #0x26
str r0, [r4, #0x2c]
b _0223FFBE
_0223FF8C:
mov r0, #0x26
str r0, [r4, #0x2c]
b _0223FFBE
_0223FF92:
str r0, [r4, #0x3c]
mov r0, #0x27
str r0, [r4, #0x2c]
b _0223FFBE
_0223FF9A:
str r0, [r4, #0x3c]
mov r0, #0x26
str r0, [r4, #0x2c]
b _0223FFBE
_0223FFA2:
bl sub_020399EC
b _0223FFBE
_0223FFA8:
ldr r0, _0223FFC4 ; =0x00001604
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
mov r0, #0xe1
lsl r0, r0, #4
cmp r1, r0
bne _0223FFBE
bl sub_020399EC
_0223FFBE:
mov r0, #3
pop {r3, r4, r5, pc}
nop
_0223FFC4: .word 0x00001604
_0223FFC8: .word 0x0000025D
thumb_func_end ov70_0223FF10
thumb_func_start ov70_0223FFCC
ov70_0223FFCC: ; 0x0223FFCC
push {r4, lr}
add r4, r0, #0
bl ov70_022380EC
mov r0, #0xa
str r0, [r4, #0x2c]
ldr r0, _0223FFE4 ; =0x00001604
mov r1, #0
str r1, [r4, r0]
mov r0, #3
pop {r4, pc}
nop
_0223FFE4: .word 0x00001604
thumb_func_end ov70_0223FFCC
thumb_func_start ov70_0223FFE8
ov70_0223FFE8: ; 0x0223FFE8
push {r4, lr}
add r4, r0, #0
bl ov70_02237F38
cmp r0, #0
beq _0224004C
bl ov70_02237F58
ldr r1, _02240068 ; =0x00001604
mov r2, #0
add r0, #0xf
str r2, [r4, r1]
cmp r0, #0xf
bhi _02240062
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02240010: ; jump table
.short _0224003E - _02240010 - 2 ; case 0
.short _0224003E - _02240010 - 2 ; case 1
.short _02240046 - _02240010 - 2 ; case 2
.short _0224003E - _02240010 - 2 ; case 3
.short _02240062 - _02240010 - 2 ; case 4
.short _02240062 - _02240010 - 2 ; case 5
.short _02240062 - _02240010 - 2 ; case 6
.short _02240062 - _02240010 - 2 ; case 7
.short _02240062 - _02240010 - 2 ; case 8
.short _02240062 - _02240010 - 2 ; case 9
.short _02240036 - _02240010 - 2 ; case 10
.short _02240036 - _02240010 - 2 ; case 11
.short _02240036 - _02240010 - 2 ; case 12
.short _0224003E - _02240010 - 2 ; case 13
.short _02240062 - _02240010 - 2 ; case 14
.short _02240030 - _02240010 - 2 ; case 15
_02240030:
mov r0, #0x21
str r0, [r4, #0x2c]
b _02240062
_02240036:
mov r0, #3
bl sub_02039AD8
b _02240062
_0224003E:
mov r0, #4
bl sub_02039AD8
b _02240062
_02240046:
bl sub_020399EC
b _02240062
_0224004C:
ldr r0, _02240068 ; =0x00001604
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
mov r0, #0xe1
lsl r0, r0, #4
cmp r1, r0
bne _02240062
bl sub_020399EC
_02240062:
mov r0, #3
pop {r4, pc}
nop
_02240068: .word 0x00001604
thumb_func_end ov70_0223FFE8
thumb_func_start ov70_0224006C
ov70_0224006C: ; 0x0224006C
push {r4, lr}
add r4, r0, #0
mov r0, #0x4f
lsl r0, r0, #2
add r0, r4, r0
bl Pokemon_RemoveCapsule
mov r1, #0x4b
lsl r1, r1, #2
add r0, r1, #0
ldr r2, [r4, r1]
sub r0, #8
mul r0, r2
add r2, r4, r0
mov r0, #0xda
lsl r0, r0, #2
ldr r0, [r2, r0]
ldr r2, _022400B4 ; =0x00000A5C
add r1, #0x10
add r1, r4, r1
add r2, r4, r2
bl ov70_02238208
add r0, r4, #0
mov r1, #0xe
mov r2, #0x10
bl ov70_02240D44
mov r0, #0xd
str r0, [r4, #0x2c]
ldr r0, _022400B8 ; =0x00001604
mov r1, #0
str r1, [r4, r0]
mov r0, #3
pop {r4, pc}
nop
_022400B4: .word 0x00000A5C
_022400B8: .word 0x00001604
thumb_func_end ov70_0224006C
thumb_func_start ov70_022400BC
ov70_022400BC: ; 0x022400BC
push {r4, lr}
add r4, r0, #0
bl ov70_02237F38
cmp r0, #0
beq _0224015E
bl ov70_02237F58
ldr r2, _02240178 ; =0x00001604
mov r1, #0
str r1, [r4, r2]
add r2, r0, #0
add r2, #0xf
cmp r2, #0xf
bhi _02240174
add r2, r2, r2
add r2, pc
ldrh r2, [r2, #6]
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
_022400E6: ; jump table
.short _02240150 - _022400E6 - 2 ; case 0
.short _02240150 - _022400E6 - 2 ; case 1
.short _02240158 - _022400E6 - 2 ; case 2
.short _02240148 - _022400E6 - 2 ; case 3
.short _02240140 - _022400E6 - 2 ; case 4
.short _02240140 - _022400E6 - 2 ; case 5
.short _02240140 - _022400E6 - 2 ; case 6
.short _02240140 - _022400E6 - 2 ; case 7
.short _02240140 - _022400E6 - 2 ; case 8
.short _02240140 - _022400E6 - 2 ; case 9
.short _02240138 - _022400E6 - 2 ; case 10
.short _02240174 - _022400E6 - 2 ; case 11
.short _02240174 - _022400E6 - 2 ; case 12
.short _02240150 - _022400E6 - 2 ; case 13
.short _02240174 - _022400E6 - 2 ; case 14
.short _02240106 - _022400E6 - 2 ; case 15
_02240106:
mov r0, #0x1e
str r0, [r4, #0x2c]
add r0, r4, #0
bl ov70_022409C0
mov r2, #0x12
lsl r2, r2, #4
ldr r1, _0224017C ; =0x00000A5C
ldrh r2, [r4, r2]
add r0, r4, #0
add r1, r4, r1
bl ov70_02240B9C
ldr r0, [r4]
ldr r1, _0224017C ; =0x00000A5C
ldr r0, [r0, #0x18]
add r1, r4, r1
bl ov70_02240CE4
ldr r1, _0224017C ; =0x00000A5C
add r0, r4, #0
add r1, r4, r1
bl ov70_02240500
b _02240174
_02240138:
str r0, [r4, #0x3c]
mov r0, #0x11
str r0, [r4, #0x2c]
b _02240174
_02240140:
str r0, [r4, #0x3c]
mov r0, #0x27
str r0, [r4, #0x2c]
b _02240174
_02240148:
str r0, [r4, #0x3c]
mov r0, #0x27
str r0, [r4, #0x2c]
b _02240174
_02240150:
str r0, [r4, #0x3c]
mov r0, #0x26
str r0, [r4, #0x2c]
b _02240174
_02240158:
bl sub_020399EC
b _02240174
_0224015E:
ldr r0, _02240178 ; =0x00001604
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
mov r0, #0xe1
lsl r0, r0, #4
cmp r1, r0
bne _02240174
bl sub_020399EC
_02240174:
mov r0, #3
pop {r4, pc}
.balign 4, 0
_02240178: .word 0x00001604
_0224017C: .word 0x00000A5C
thumb_func_end ov70_022400BC
thumb_func_start ov70_02240180
ov70_02240180: ; 0x02240180
push {r4, lr}
add r4, r0, #0
bl ov70_0223826C
mov r0, #0xf
str r0, [r4, #0x2c]
ldr r0, _02240198 ; =0x00001604
mov r1, #0
str r1, [r4, r0]
mov r0, #3
pop {r4, pc}
nop
_02240198: .word 0x00001604
thumb_func_end ov70_02240180
thumb_func_start ov70_0224019C
ov70_0224019C: ; 0x0224019C
push {r4, lr}
add r4, r0, #0
bl ov70_02237F38
cmp r0, #0
beq _02240200
bl ov70_02237F58
ldr r1, _0224021C ; =0x00001604
mov r2, #0
add r0, #0xf
str r2, [r4, r1]
cmp r0, #0xf
bhi _02240216
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022401C4: ; jump table
.short _022401F2 - _022401C4 - 2 ; case 0
.short _022401F2 - _022401C4 - 2 ; case 1
.short _022401FA - _022401C4 - 2 ; case 2
.short _022401F2 - _022401C4 - 2 ; case 3
.short _02240216 - _022401C4 - 2 ; case 4
.short _02240216 - _022401C4 - 2 ; case 5
.short _02240216 - _022401C4 - 2 ; case 6
.short _02240216 - _022401C4 - 2 ; case 7
.short _02240216 - _022401C4 - 2 ; case 8
.short _02240216 - _022401C4 - 2 ; case 9
.short _022401EA - _022401C4 - 2 ; case 10
.short _02240216 - _022401C4 - 2 ; case 11
.short _02240216 - _022401C4 - 2 ; case 12
.short _022401F2 - _022401C4 - 2 ; case 13
.short _02240216 - _022401C4 - 2 ; case 14
.short _022401E4 - _022401C4 - 2 ; case 15
_022401E4:
mov r0, #0x21
str r0, [r4, #0x2c]
b _02240216
_022401EA:
mov r0, #3
bl sub_02039AD8
b _02240216
_022401F2:
mov r0, #4
bl sub_02039AD8
b _02240216
_022401FA:
bl sub_020399EC
b _02240216
_02240200:
ldr r0, _0224021C ; =0x00001604
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
mov r0, #0xe1
lsl r0, r0, #4
cmp r1, r0
bne _02240216
bl sub_020399EC
_02240216:
mov r0, #3
pop {r4, pc}
nop
_0224021C: .word 0x00001604
thumb_func_end ov70_0224019C
thumb_func_start ov70_02240220
ov70_02240220: ; 0x02240220
push {r4, lr}
add r4, r0, #0
mov r0, #0x4f
lsl r0, r0, #2
add r0, r4, r0
bl ov70_02238058
mov r0, #0x19
str r0, [r4, #0x2c]
ldr r0, _0224023C ; =0x00001604
mov r1, #0
str r1, [r4, r0]
mov r0, #3
pop {r4, pc}
.balign 4, 0
_0224023C: .word 0x00001604
thumb_func_end ov70_02240220
thumb_func_start ov70_02240240
ov70_02240240: ; 0x02240240
push {r3, r4, r5, lr}
add r4, r0, #0
bl ov70_02237F38
cmp r0, #0
bne _0224024E
b _022403D0
_0224024E:
bl ov70_02237F58
ldr r1, _022403EC ; =0x00001604
mov r2, #0
str r2, [r4, r1]
add r1, r0, #0
add r1, #0xf
cmp r1, #0x10
bhi _022402B0
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0224026C: ; jump table
.short _022403BE - _0224026C - 2 ; case 0
.short _022403BE - _0224026C - 2 ; case 1
.short _022403C6 - _0224026C - 2 ; case 2
.short _022403BE - _0224026C - 2 ; case 3
.short _022403E6 - _0224026C - 2 ; case 4
.short _022403E6 - _0224026C - 2 ; case 5
.short _022403E6 - _0224026C - 2 ; case 6
.short _022403E6 - _0224026C - 2 ; case 7
.short _022403E6 - _0224026C - 2 ; case 8
.short _022403E6 - _0224026C - 2 ; case 9
.short _022403E6 - _0224026C - 2 ; case 10
.short _02240372 - _0224026C - 2 ; case 11
.short _0224030A - _0224026C - 2 ; case 12
.short _022403BE - _0224026C - 2 ; case 13
.short _022403E6 - _0224026C - 2 ; case 14
.short _0224028E - _0224026C - 2 ; case 15
.short _02240294 - _0224026C - 2 ; case 16
_0224028E:
mov r0, #0x1a
str r0, [r4, #0x2c]
b _022403E6
_02240294:
mov r1, #0x4f
mov r0, #1
lsl r1, r1, #2
strh r0, [r4, #0x36]
add r0, r4, #0
add r1, r4, r1
bl ov70_02240D00
cmp r0, #0
beq _022402FE
cmp r0, #1
beq _022402B2
cmp r0, #2
beq _022402D8
_022402B0:
b _022403E6
_022402B2:
add r0, r4, #0
bl ov70_02238F80
ldr r0, _022403F0 ; =0x00000F0F
mov r1, #0xba
str r0, [sp]
lsl r1, r1, #4
ldr r1, [r4, r1]
add r0, r4, #0
mov r2, #0x1d
mov r3, #1
bl ov70_02244FA4
add r0, r4, #0
mov r1, #0x25
mov r2, #0x1c
bl ov70_02238D84
b _022403E6
_022402D8:
add r0, r4, #0
bl ov70_02238F80
ldr r0, _022403F0 ; =0x00000F0F
mov r1, #0xba
str r0, [sp]
lsl r1, r1, #4
ldr r1, [r4, r1]
add r0, r4, #0
mov r2, #0x23
mov r3, #1
bl ov70_02244FA4
add r0, r4, #0
mov r1, #0x25
mov r2, #0x1c
bl ov70_02238D84
b _022403E6
_022402FE:
mov r0, #0x12
str r0, [r4, #0x2c]
ldr r0, _022403F4 ; =0x000011FC
mov r1, #1
str r1, [r4, r0]
b _022403E6
_0224030A:
strh r2, [r4, #0x36]
ldr r0, [r4]
ldr r0, [r0]
bl sub_0202DB54
cmp r0, #0
beq _0224036A
mov r0, #0x3d
bl AllocMonZeroed
add r5, r0, #0
ldr r0, [r4]
add r1, r5, #0
ldr r0, [r0]
bl sub_0202DB64
add r0, r5, #0
bl Mon_GetBoxMon
add r2, r0, #0
ldr r0, _022403F8 ; =0x00000B9C
mov r1, #0
ldr r0, [r4, r0]
bl BufferBoxMonNickname
mov r0, #2
str r0, [r4, #0x28]
mov r0, #0x22
str r0, [r4, #0x2c]
ldr r0, [r4]
ldr r0, [r0]
bl sub_0202DBA0
add r2, r0, #0
add r0, r4, #0
add r1, r5, #0
mov r3, #0
bl ov70_02240A7C
ldr r0, [r4]
mov r1, #0
ldr r0, [r0]
bl sub_0202DB5C
add r0, r5, #0
bl FreeToHeap
b _022403E6
_0224036A:
add r0, r4, #0
bl ov70_022404D4
b _022403E6
_02240372:
strh r2, [r4, #0x36]
ldr r0, [r4]
ldr r0, [r0]
bl sub_0202DB54
cmp r0, #0
beq _022403E6
mov r0, #0x3d
bl AllocMonZeroed
add r5, r0, #0
ldr r0, [r4]
add r1, r5, #0
ldr r0, [r0]
bl sub_0202DB64
add r0, r5, #0
bl Mon_GetBoxMon
add r2, r0, #0
ldr r0, _022403F8 ; =0x00000B9C
mov r1, #0
ldr r0, [r4, r0]
bl BufferBoxMonNickname
mov r0, #3
str r0, [r4, #0x28]
mov r0, #0x22
str r0, [r4, #0x2c]
ldr r0, [r4]
mov r1, #0
ldr r0, [r0]
bl sub_0202DB5C
add r0, r5, #0
bl FreeToHeap
b _022403E6
_022403BE:
str r0, [r4, #0x3c]
mov r0, #0x26
str r0, [r4, #0x2c]
b _022403E6
_022403C6:
mov r0, #3
mov r1, #1
bl ShowCommunicationError
_022403CE:
b _022403CE
_022403D0:
ldr r0, _022403EC ; =0x00001604
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
mov r0, #0xe1
lsl r0, r0, #4
cmp r1, r0
bne _022403E6
bl sub_020399EC
_022403E6:
mov r0, #3
pop {r3, r4, r5, pc}
nop
_022403EC: .word 0x00001604
_022403F0: .word 0x00000F0F
_022403F4: .word 0x000011FC
_022403F8: .word 0x00000B9C
thumb_func_end ov70_02240240
thumb_func_start ov70_022403FC
ov70_022403FC: ; 0x022403FC
push {r4, lr}
mov r1, #1
mov r2, #0
add r4, r0, #0
bl ov70_02238E50
mov r0, #0x24
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
thumb_func_end ov70_022403FC
thumb_func_start ov70_02240410
ov70_02240410: ; 0x02240410
push {r4, lr}
add r4, r0, #0
mov r0, #0x4f
lsl r0, r0, #2
add r0, r4, r0
bl ov70_02238008
mov r0, #0x1b
str r0, [r4, #0x2c]
ldr r0, _0224042C ; =0x00001604
mov r1, #0
str r1, [r4, r0]
mov r0, #3
pop {r4, pc}
.balign 4, 0
_0224042C: .word 0x00001604
thumb_func_end ov70_02240410
thumb_func_start ov70_02240430
ov70_02240430: ; 0x02240430
push {r4, lr}
add r4, r0, #0
bl ov70_02237F38
cmp r0, #0
beq _022404B4
bl ov70_02237F58
ldr r2, _022404D0 ; =0x00001604
mov r1, #0
str r1, [r4, r2]
add r2, r0, #0
add r2, #0xf
cmp r2, #0xf
bhi _022404AC
add r2, r2, r2
add r2, pc
ldrh r2, [r2, #6]
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
_0224045A: ; jump table
.short _0224049A - _0224045A - 2 ; case 0
.short _0224049A - _0224045A - 2 ; case 1
.short _022404A4 - _0224045A - 2 ; case 2
.short _0224049A - _0224045A - 2 ; case 3
.short _022404AC - _0224045A - 2 ; case 4
.short _022404AC - _0224045A - 2 ; case 5
.short _022404AC - _0224045A - 2 ; case 6
.short _022404AC - _0224045A - 2 ; case 7
.short _022404AC - _0224045A - 2 ; case 8
.short _022404AC - _0224045A - 2 ; case 9
.short _022404AC - _0224045A - 2 ; case 10
.short _022404AC - _0224045A - 2 ; case 11
.short _02240496 - _0224045A - 2 ; case 12
.short _0224049A - _0224045A - 2 ; case 13
.short _022404AC - _0224045A - 2 ; case 14
.short _0224047A - _0224045A - 2 ; case 15
_0224047A:
add r0, r4, #0
bl ov70_02240D54
cmp r0, #0
beq _02240490
mov r0, #0x16
str r0, [r4, #0x2c]
mov r0, #0
strh r0, [r4, #0x36]
mov r0, #3
pop {r4, pc}
_02240490:
mov r0, #1
strh r0, [r4, #0x36]
b _022404AC
_02240496:
strh r1, [r4, #0x36]
b _022404AC
_0224049A:
str r0, [r4, #0x3c]
mov r0, #0x26
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
_022404A4:
bl sub_020399EC
mov r0, #3
pop {r4, pc}
_022404AC:
add r0, r4, #0
bl ov70_022404D4
b _022404CA
_022404B4:
ldr r0, _022404D0 ; =0x00001604
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
mov r0, #0xe1
lsl r0, r0, #4
cmp r1, r0
bne _022404CA
bl sub_020399EC
_022404CA:
mov r0, #3
pop {r4, pc}
nop
_022404D0: .word 0x00001604
thumb_func_end ov70_02240430
thumb_func_start ov70_022404D4
ov70_022404D4: ; 0x022404D4
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #0x1c]
cmp r1, #1
beq _022404E4
cmp r1, #2
beq _022404F2
pop {r4, pc}
_022404E4:
mov r1, #1
mov r2, #0
bl ov70_02238E50
mov r0, #0x24
str r0, [r4, #0x2c]
pop {r4, pc}
_022404F2:
mov r1, #2
mov r2, #3
bl ov70_02238E50
mov r0, #0x24
str r0, [r4, #0x2c]
pop {r4, pc}
thumb_func_end ov70_022404D4
thumb_func_start ov70_02240500
ov70_02240500: ; 0x02240500
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
ldr r0, [r0, #0x28]
mov r1, #0x18
bl GameStats_AddSpecial
ldr r0, [r5]
mov r1, #0x19
ldr r0, [r0, #0x28]
bl GameStats_Inc
add r0, r4, #0
mov r1, #0xc
mov r2, #0
bl GetMonData
ldr r1, _0224053C ; =gGameLanguage
ldrb r1, [r1]
cmp r1, r0
beq _0224053A
ldr r0, [r5]
ldr r0, [r0, #0x20]
bl Save_Pokewalker_Get
mov r1, #0x14
bl Pokewalker_UnlockCourse
_0224053A:
pop {r3, r4, r5, pc}
.balign 4, 0
_0224053C: .word gGameLanguage
thumb_func_end ov70_02240500
thumb_func_start ov70_02240540
ov70_02240540: ; 0x02240540
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
ldr r0, [r0]
bl sub_0202DBA0
ldr r3, _02240594 ; =0x0000025D
mov r1, #0x4f
lsl r1, r1, #2
add r2, r0, #0
ldrsb r3, [r4, r3]
add r0, r4, #0
add r1, r4, r1
bl ov70_02240A7C
ldr r0, [r4]
mov r1, #0x4f
lsl r1, r1, #2
ldr r0, [r0, #0x18]
add r1, r4, r1
bl ov70_02240CE4
mov r1, #0x4f
lsl r1, r1, #2
add r0, r4, #0
add r1, r4, r1
bl ov70_02240500
ldr r0, [r4]
mov r1, #0
ldr r0, [r0]
bl sub_0202DB5C
mov r0, #0x1e
str r0, [r4, #0x2c]
add r0, r4, #0
mov r1, #0x13
mov r2, #0xb
bl ov70_02240D44
mov r0, #3
pop {r4, pc}
.balign 4, 0
_02240594: .word 0x0000025D
thumb_func_end ov70_02240540
thumb_func_start ov70_02240598
ov70_02240598: ; 0x02240598
push {r4, lr}
add r4, r0, #0
bl ov70_022380A8
mov r0, #0x14
str r0, [r4, #0x2c]
ldr r0, _022405B0 ; =0x00001604
mov r1, #0
str r1, [r4, r0]
mov r0, #3
pop {r4, pc}
nop
_022405B0: .word 0x00001604
thumb_func_end ov70_02240598
thumb_func_start ov70_022405B4
ov70_022405B4: ; 0x022405B4
push {r4, lr}
add r4, r0, #0
bl ov70_02237F38
cmp r0, #0
beq _0224061C
bl ov70_02237F58
ldr r1, _02240638 ; =0x00001604
mov r2, #0
str r2, [r4, r1]
add r1, r0, #0
add r1, #0xf
cmp r1, #0xf
bhi _02240632
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_022405DE: ; jump table
.short _0224060E - _022405DE - 2 ; case 0
.short _0224060E - _022405DE - 2 ; case 1
.short _02240616 - _022405DE - 2 ; case 2
.short _0224060C - _022405DE - 2 ; case 3
.short _02240632 - _022405DE - 2 ; case 4
.short _02240632 - _022405DE - 2 ; case 5
.short _02240632 - _022405DE - 2 ; case 6
.short _02240632 - _022405DE - 2 ; case 7
.short _02240632 - _022405DE - 2 ; case 8
.short _02240632 - _022405DE - 2 ; case 9
.short _02240632 - _022405DE - 2 ; case 10
.short _0224060C - _022405DE - 2 ; case 11
.short _02240604 - _022405DE - 2 ; case 12
.short _0224060E - _022405DE - 2 ; case 13
.short _02240632 - _022405DE - 2 ; case 14
.short _022405FE - _022405DE - 2 ; case 15
_022405FE:
mov r0, #0x21
str r0, [r4, #0x2c]
b _02240632
_02240604:
mov r0, #3
bl sub_02039AD8
b _02240632
_0224060C:
str r0, [r4, #0x3c]
_0224060E:
mov r0, #4
bl sub_02039AD8
b _02240632
_02240616:
bl sub_020399EC
b _02240632
_0224061C:
ldr r0, _02240638 ; =0x00001604
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
mov r0, #0xe1
lsl r0, r0, #4
cmp r1, r0
bne _02240632
bl sub_020399EC
_02240632:
mov r0, #3
pop {r4, pc}
nop
_02240638: .word 0x00001604
thumb_func_end ov70_022405B4
thumb_func_start ov70_0224063C
ov70_0224063C: ; 0x0224063C
mov r0, #3
bx lr
thumb_func_end ov70_0224063C
thumb_func_start ov70_02240640
ov70_02240640: ; 0x02240640
push {r4, lr}
add r4, r0, #0
mov r1, #1
strh r1, [r4, #0x36]
mov r1, #9
mov r2, #7
bl ov70_02238E50
mov r0, #0x24
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
thumb_func_end ov70_02240640
thumb_func_start ov70_02240658
ov70_02240658: ; 0x02240658
push {r4, lr}
add r4, r0, #0
mov r1, #0
strh r1, [r4, #0x36]
mov r1, #9
mov r2, #8
bl ov70_02238E50
mov r0, #0x24
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
thumb_func_end ov70_02240658
thumb_func_start ov70_02240670
ov70_02240670: ; 0x02240670
push {r4, lr}
mov r1, #9
add r2, r1, #0
add r4, r0, #0
bl ov70_02238E50
mov r0, #0x24
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
thumb_func_end ov70_02240670
thumb_func_start ov70_02240684
ov70_02240684: ; 0x02240684
push {r4, lr}
add r4, r0, #0
mov r1, #0
strh r1, [r4, #0x36]
mov r1, #9
mov r2, #0xa
bl ov70_02238E50
mov r0, #0x1e
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
thumb_func_end ov70_02240684
thumb_func_start ov70_0224069C
ov70_0224069C: ; 0x0224069C
push {r4, lr}
add r4, r0, #0
bl ov70_022380EC
mov r0, #0x17
str r0, [r4, #0x2c]
ldr r0, _022406B4 ; =0x00001604
mov r1, #0
str r1, [r4, r0]
mov r0, #3
pop {r4, pc}
nop
_022406B4: .word 0x00001604
thumb_func_end ov70_0224069C
thumb_func_start ov70_022406B8
ov70_022406B8: ; 0x022406B8
push {r4, lr}
add r4, r0, #0
bl ov70_02237F38
cmp r0, #0
beq _0224072A
bl ov70_02237F58
ldr r1, _02240744 ; =0x00001604
mov r2, #0
add r0, #0xf
str r2, [r4, r1]
cmp r0, #0xf
bhi _02240740
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022406E0: ; jump table
.short _0224071C - _022406E0 - 2 ; case 0
.short _0224071C - _022406E0 - 2 ; case 1
.short _02240724 - _022406E0 - 2 ; case 2
.short _0224071C - _022406E0 - 2 ; case 3
.short _02240740 - _022406E0 - 2 ; case 4
.short _02240740 - _022406E0 - 2 ; case 5
.short _02240740 - _022406E0 - 2 ; case 6
.short _02240740 - _022406E0 - 2 ; case 7
.short _02240740 - _022406E0 - 2 ; case 8
.short _02240740 - _022406E0 - 2 ; case 9
.short _02240714 - _022406E0 - 2 ; case 10
.short _0224070E - _022406E0 - 2 ; case 11
.short _02240708 - _022406E0 - 2 ; case 12
.short _0224071C - _022406E0 - 2 ; case 13
.short _02240740 - _022406E0 - 2 ; case 14
.short _02240700 - _022406E0 - 2 ; case 15
_02240700:
add r0, r4, #0
bl ov70_022404D4
b _02240740
_02240708:
add r0, r4, #0
bl ov70_022404D4
_0224070E:
add r0, r4, #0
bl ov70_022404D4
_02240714:
mov r0, #3
bl sub_02039AD8
b _02240740
_0224071C:
mov r0, #4
bl sub_02039AD8
b _02240740
_02240724:
bl sub_020399EC
b _02240740
_0224072A:
ldr r0, _02240744 ; =0x00001604
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
mov r0, #0xe1
lsl r0, r0, #4
cmp r1, r0
bne _02240740
bl sub_020399EC
_02240740:
mov r0, #3
pop {r4, pc}
.balign 4, 0
_02240744: .word 0x00001604
thumb_func_end ov70_022406B8
thumb_func_start ov70_02240748
ov70_02240748: ; 0x02240748
push {r3, r4, lr}
sub sp, #4
ldr r1, _02240788 ; =0x00000F0F
add r4, r0, #0
str r1, [sp]
mov r1, #0xba
lsl r1, r1, #4
ldr r1, [r4, r1]
mov r2, #0x93
mov r3, #1
bl ov70_02244FA4
add r0, r4, #0
mov r1, #0x25
mov r2, #0x24
bl ov70_02238D84
add r0, r4, #0
mov r1, #1
mov r2, #0
bl ov70_02238E50
add r0, r4, #0
bl ov70_02238F80
add r0, r4, #0
bl ov70_02241234
mov r0, #3
add sp, #4
pop {r3, r4, pc}
nop
_02240788: .word 0x00000F0F
thumb_func_end ov70_02240748
thumb_func_start ov70_0224078C
ov70_0224078C: ; 0x0224078C
push {r3, lr}
ldr r1, [r0, #0x3c]
mov r2, #0x9a
add r1, #0xf
cmp r1, #0xe
bhi _022407CC
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_022407A4: ; jump table
.short _022407CC - _022407A4 - 2 ; case 0
.short _022407CA - _022407A4 - 2 ; case 1
.short _022407CC - _022407A4 - 2 ; case 2
.short _022407CC - _022407A4 - 2 ; case 3
.short _022407C2 - _022407A4 - 2 ; case 4
.short _022407C2 - _022407A4 - 2 ; case 5
.short _022407C2 - _022407A4 - 2 ; case 6
.short _022407C2 - _022407A4 - 2 ; case 7
.short _022407C2 - _022407A4 - 2 ; case 8
.short _022407C2 - _022407A4 - 2 ; case 9
.short _022407CC - _022407A4 - 2 ; case 10
.short _022407CC - _022407A4 - 2 ; case 11
.short _022407CC - _022407A4 - 2 ; case 12
.short _022407CA - _022407A4 - 2 ; case 13
.short _022407C6 - _022407A4 - 2 ; case 14
_022407C2:
mov r2, #0x1a
b _022407CC
_022407C6:
mov r2, #0x97
b _022407CC
_022407CA:
mov r2, #0x9c
_022407CC:
ldr r1, _022407E0 ; =0x00000F0F
mov r3, #1
str r1, [sp]
mov r1, #0xba
lsl r1, r1, #4
ldr r1, [r0, r1]
bl ov70_02244FA4
pop {r3, pc}
nop
_022407E0: .word 0x00000F0F
thumb_func_end ov70_0224078C
thumb_func_start ov70_022407E4
ov70_022407E4: ; 0x022407E4
push {r4, lr}
add r4, r0, #0
bl ov70_0224078C
add r0, r4, #0
mov r1, #0x25
mov r2, #0x24
bl ov70_02238D84
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl ov70_02238E50
add r0, r4, #0
bl ov70_02238F80
mov r0, #3
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_022407E4
thumb_func_start ov70_0224080C
ov70_0224080C: ; 0x0224080C
push {r4, lr}
add r4, r0, #0
bl ov70_0224078C
add r0, r4, #0
mov r1, #0x25
mov r2, #0x24
bl ov70_02238D84
add r0, r4, #0
mov r1, #1
mov r2, #0
bl ov70_02238E50
add r0, r4, #0
bl ov70_02238F80
add r0, r4, #0
bl ov70_02241234
mov r0, #3
pop {r4, pc}
thumb_func_end ov70_0224080C
thumb_func_start ov70_02240838
ov70_02240838: ; 0x02240838
push {r4, lr}
add r4, r0, #0
mov r1, #0x25
mov r2, #0x1e
bl ov70_02238D84
add r0, r4, #0
mov r1, #0x21
mov r2, #0x24
bl ov70_02240D44
mov r0, #3
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02240838
thumb_func_start ov70_02240854
ov70_02240854: ; 0x02240854
push {r4, lr}
add r4, r0, #0
bl SetAllPCBoxesModified
ldr r0, [r4]
mov r1, #2
ldr r0, [r0, #0x20]
bl Save_PrepareForAsyncWrite
mov r0, #0x1f
str r0, [r4, #0x2c]
bl LCRandom
mov r1, #0x3c
bl _s32_div_f
lsl r0, r1, #0x10
lsr r0, r0, #0x10
add r1, r0, #2
mov r0, #0x47
lsl r0, r0, #6
str r1, [r4, r0]
mov r0, #3
pop {r4, pc}
thumb_func_end ov70_02240854
thumb_func_start ov70_02240884
ov70_02240884: ; 0x02240884
mov r1, #0x47
lsl r1, r1, #6
ldr r2, [r0, r1]
sub r2, r2, #1
str r2, [r0, r1]
ldr r1, [r0, r1]
cmp r1, #0
bne _02240898
mov r1, #0x20
str r1, [r0, #0x2c]
_02240898:
mov r0, #3
bx lr
thumb_func_end ov70_02240884
thumb_func_start ov70_0224089C
ov70_0224089C: ; 0x0224089C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
ldr r0, [r0, #0x20]
bl Save_WriteFileAsync
cmp r0, #1
bne _022408B2
ldr r0, _022408B8 ; =0x000011D4
ldrh r0, [r4, r0]
str r0, [r4, #0x2c]
_022408B2:
mov r0, #3
pop {r4, pc}
nop
_022408B8: .word 0x000011D4
thumb_func_end ov70_0224089C
thumb_func_start ov70_022408BC
ov70_022408BC: ; 0x022408BC
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
ldr r0, [r0, #0x20]
bl Save_WriteFileAsync
cmp r0, #2
bne _022408D8
ldr r0, _022408DC ; =0x000011D6
ldrh r0, [r4, r0]
str r0, [r4, #0x2c]
add r0, r4, #0
bl ov70_02238F80
_022408D8:
mov r0, #3
pop {r4, pc}
.balign 4, 0
_022408DC: .word 0x000011D6
thumb_func_end ov70_022408BC
thumb_func_start ov70_022408E0
ov70_022408E0: ; 0x022408E0
push {r4, lr}
add r4, r0, #0
bl SetAllPCBoxesModified
ldr r0, [r4]
mov r1, #2
ldr r0, [r0, #0x20]
bl Save_PrepareForAsyncWrite
mov r0, #0x23
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_022408E0
thumb_func_start ov70_022408FC
ov70_022408FC: ; 0x022408FC
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldr r0, [r4]
ldr r0, [r0, #0x20]
bl Save_WriteFileAsync
cmp r0, #2
bne _0224093C
add r0, r4, #0
mov r1, #1
mov r2, #0
bl ov70_02238E50
add r0, r4, #0
bl ov70_02238F80
ldr r0, _02240944 ; =0x00000F0F
mov r1, #0xba
str r0, [sp]
lsl r1, r1, #4
ldr r1, [r4, r1]
ldr r2, [r4, #0x28]
add r0, r4, #0
mov r3, #1
bl ov70_02244FA4
add r0, r4, #0
mov r1, #0x25
mov r2, #0x1c
bl ov70_02238D84
_0224093C:
mov r0, #3
add sp, #4
pop {r3, r4, pc}
nop
_02240944: .word 0x00000F0F
thumb_func_end ov70_022408FC
thumb_func_start ov70_02240948
ov70_02240948: ; 0x02240948
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
bl ov70_02238F80
bl sub_0203A914
ldr r0, _0224099C ; =0x000011FC
ldr r0, [r4, r0]
cmp r0, #1
bne _02240978
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl BeginNormalPaletteFade
b _02240990
_02240978:
mov r0, #6
str r0, [sp]
mov r1, #0
mov r0, #1
str r0, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
add r3, r1, #0
bl BeginNormalPaletteFade
_02240990:
mov r0, #0
str r0, [r4, #0x2c]
mov r0, #4
add sp, #0xc
pop {r3, r4, pc}
nop
_0224099C: .word 0x000011FC
thumb_func_end ov70_02240948
thumb_func_start ov70_022409A0
ov70_022409A0: ; 0x022409A0
push {r4, lr}
add r4, r0, #0
mov r0, #0xbf
lsl r0, r0, #4
ldr r0, [r4, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl TextPrinterCheckActive
cmp r0, #0
bne _022409BA
ldr r0, [r4, #0x30]
str r0, [r4, #0x2c]
_022409BA:
mov r0, #3
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_022409A0
thumb_func_start ov70_022409C0
ov70_022409C0: ; 0x022409C0
push {r4, r5, r6, lr}
add r6, r1, #0
mov r1, #0x12
add r5, r0, #0
lsl r1, r1, #4
ldrh r0, [r5, r1]
cmp r0, #0x12
beq _02240A1A
mov r0, #0x3d
bl AllocMonZeroed
mov r2, #0x12
lsl r2, r2, #4
add r4, r0, #0
ldr r0, [r5]
ldrh r1, [r5, r2]
add r2, r2, #2
ldrh r2, [r5, r2]
ldr r0, [r0, #0xc]
bl PCStorage_GetMonByIndexPair
add r1, r4, #0
bl CopyBoxPokemonToPokemon
mov r2, #0x12
ldr r0, [r5]
lsl r2, r2, #4
ldrh r2, [r5, r2]
ldr r0, [r0]
add r1, r4, #0
bl sub_0202DB70
mov r2, #0x12
lsl r2, r2, #4
ldr r0, [r5]
ldrh r1, [r5, r2]
add r2, r2, #2
ldrh r2, [r5, r2]
ldr r0, [r0, #0xc]
bl PCStorage_DeleteBoxMonByIndexPair
add r0, r4, #0
bl FreeToHeap
b _02240A62
_02240A1A:
ldr r0, [r5]
add r1, r1, #2
ldrh r1, [r5, r1]
ldr r0, [r0, #8]
bl GetPartyMonByIndex
add r4, r0, #0
bl Pokemon_RemoveCapsule
mov r2, #0x12
ldr r0, [r5]
lsl r2, r2, #4
ldrh r2, [r5, r2]
ldr r0, [r0]
add r1, r4, #0
bl sub_0202DB70
ldr r1, _02240A74 ; =0x00000122
ldr r0, [r5]
ldrh r1, [r5, r1]
ldr r0, [r0, #8]
bl RemoveMonFromParty
ldr r0, [r5]
ldr r1, _02240A78 ; =0x000001B9
ldr r0, [r0, #8]
bl PartyHasMon
cmp r0, #0
bne _02240A62
ldr r0, [r5]
ldr r0, [r0, #0x20]
bl Save_Chatot_Get
bl Chatot_Invalidate
_02240A62:
cmp r6, #0
beq _02240A70
ldr r0, [r5]
mov r1, #1
ldr r0, [r0]
bl sub_0202DB5C
_02240A70:
pop {r4, r5, r6, pc}
nop
_02240A74: .word 0x00000122
_02240A78: .word 0x000001B9
thumb_func_end ov70_022409C0
thumb_func_start ov70_02240A7C
ov70_02240A7C: ; 0x02240A7C
push {r0, r1, r2, r3}
push {r4, r5, r6, lr}
sub sp, #8
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
mov r1, #6
mov r2, #0
add r6, r3, #0
bl GetMonData
ldr r0, [r5]
add r1, r4, #0
ldr r0, [r0, #0x20]
bl UpdatePokedexWithReceivedSpecies
mov r0, #0x12
str r0, [sp, #0x20]
ldr r0, [r5]
ldr r0, [r0, #8]
bl GetPartyCount
cmp r0, #6
bne _02240AB0
mov r0, #0
str r0, [sp, #0x20]
_02240AB0:
cmp r6, #0
beq _02240B2C
mov r1, #0x46
add r0, sp, #0
strb r1, [r0]
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetMonData
ldr r1, _02240B98 ; =0x000001ED
cmp r0, r1
bne _02240B0E
add r0, r4, #0
mov r1, #0x6e
mov r2, #0
bl GetMonData
cmp r0, #0
bne _02240AF4
add r0, r4, #0
mov r1, #0x99
mov r2, #0
bl GetMonData
cmp r0, #0x56
bne _02240B0E
add r0, r4, #0
mov r1, #0x6e
mov r2, #0
bl GetMonData
cmp r0, #0
bne _02240B0E
_02240AF4:
ldr r0, [r5]
ldr r0, [r0, #0x20]
bl Save_VarsFlags_Get
add r6, r0, #0
bl Save_VarsFlags_GetVar404C
cmp r0, #0
bne _02240B0E
add r0, r6, #0
mov r1, #1
bl Save_VarsFlags_SetVar404C
_02240B0E:
add r0, r4, #0
mov r1, #9
add r2, sp, #0
bl SetMonData
add r0, r4, #0
mov r1, #0x6f
mov r2, #0
bl SetMonData
ldr r0, [r5]
mov r1, #0
ldr r0, [r0]
bl ov70_02240CA0
_02240B2C:
ldr r0, [sp, #0x20]
cmp r0, #0x12
bne _02240B54
ldr r0, [r5]
add r1, r4, #0
ldr r0, [r0, #8]
bl AddMonToParty
ldr r0, [r5]
ldr r0, [r0, #8]
bl GetPartyCount
mov r1, #0x4d
mov r2, #0x12
lsl r1, r1, #2
str r2, [r5, r1]
sub r2, r0, #1
add r0, r1, #4
str r2, [r5, r0]
b _02240B84
_02240B54:
mov r0, #0
str r0, [sp, #4]
ldr r0, [r5]
add r1, sp, #0x20
ldr r0, [r0, #0xc]
add r2, sp, #4
bl PCStorage_FindFirstEmptySlot
add r0, r4, #0
bl Mon_GetBoxMon
add r2, r0, #0
ldr r0, [r5]
ldr r1, [sp, #0x20]
ldr r0, [r0, #0xc]
bl PCStorage_PlaceMonInBoxFirstEmptySlot
mov r0, #0x4d
ldr r1, [sp, #0x20]
lsl r0, r0, #2
str r1, [r5, r0]
ldr r1, [sp, #4]
add r0, r0, #4
str r1, [r5, r0]
_02240B84:
ldr r0, [r5]
mov r1, #0
ldr r0, [r0]
bl sub_0202DB5C
add sp, #8
pop {r4, r5, r6}
pop {r3}
add sp, #0x10
bx r3
.balign 4, 0
_02240B98: .word 0x000001ED
thumb_func_end ov70_02240A7C
thumb_func_start ov70_02240B9C
ov70_02240B9C: ; 0x02240B9C
push {r0, r1, r2, r3}
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
ldr r0, [r0, #0x20]
bl UpdatePokedexWithReceivedSpecies
mov r0, #0x12
str r0, [sp, #0x20]
ldr r0, [r5]
ldr r0, [r0, #8]
bl GetPartyCount
cmp r0, #6
bne _02240BC2
mov r0, #0
str r0, [sp, #0x20]
_02240BC2:
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetMonData
ldr r1, _02240C9C ; =0x000001ED
cmp r0, r1
bne _02240C16
add r0, r4, #0
mov r1, #0x6e
mov r2, #0
bl GetMonData
cmp r0, #0
bne _02240BFC
add r0, r4, #0
mov r1, #0x99
mov r2, #0
bl GetMonData
cmp r0, #0x56
bne _02240C16
add r0, r4, #0
mov r1, #0x6e
mov r2, #0
bl GetMonData
cmp r0, #0
bne _02240C16
_02240BFC:
ldr r0, [r5]
ldr r0, [r0, #0x20]
bl Save_VarsFlags_Get
add r6, r0, #0
bl Save_VarsFlags_GetVar404C
cmp r0, #0
bne _02240C16
add r0, r6, #0
mov r1, #1
bl Save_VarsFlags_SetVar404C
_02240C16:
mov r1, #0x46
add r0, sp, #0
strb r1, [r0]
add r0, r4, #0
mov r1, #9
add r2, sp, #0
bl SetMonData
add r0, r4, #0
mov r1, #0x6f
mov r2, #0
bl SetMonData
ldr r0, [sp, #0x20]
cmp r0, #0x12
bne _02240C58
ldr r0, [r5]
add r1, r4, #0
ldr r0, [r0, #8]
bl AddMonToParty
ldr r0, [r5]
ldr r0, [r0, #8]
bl GetPartyCount
mov r1, #0x4d
mov r2, #0x12
lsl r1, r1, #2
str r2, [r5, r1]
sub r2, r0, #1
add r0, r1, #4
str r2, [r5, r0]
b _02240C88
_02240C58:
mov r0, #0
str r0, [sp, #4]
ldr r0, [r5]
add r1, sp, #0x20
ldr r0, [r0, #0xc]
add r2, sp, #4
bl PCStorage_FindFirstEmptySlot
add r0, r4, #0
bl Mon_GetBoxMon
add r2, r0, #0
ldr r0, [r5]
ldr r1, [sp, #0x20]
ldr r0, [r0, #0xc]
bl PCStorage_PlaceMonInBoxFirstEmptySlot
mov r0, #0x4d
ldr r1, [sp, #0x20]
lsl r0, r0, #2
str r1, [r5, r0]
ldr r1, [sp, #4]
add r0, r0, #4
str r1, [r5, r0]
_02240C88:
ldr r0, [r5]
mov r1, #1
ldr r0, [r0]
bl ov70_02240CA0
add sp, #8
pop {r4, r5, r6}
pop {r3}
add sp, #0x10
bx r3
.balign 4, 0
_02240C9C: .word 0x000001ED
thumb_func_end ov70_02240B9C
thumb_func_start ov70_02240CA0
ov70_02240CA0: ; 0x02240CA0
push {r4, r5, lr}
sub sp, #0x1c
add r5, r0, #0
add r4, r1, #0
add r0, sp, #0xc
add r1, sp, #0
bl ov00_021ECB94
ldr r0, [sp, #0x14]
ldr r3, [sp, #0x10]
lsl r0, r0, #0x18
lsr r1, r0, #0x10
ldr r0, [sp, #0xc]
lsl r3, r3, #0x18
ldr r2, [sp, #0x18]
lsl r0, r0, #0x18
lsr r3, r3, #8
orr r0, r3
orr r0, r1
add r1, r2, #0
orr r1, r0
cmp r4, #1
bne _02240CD8
add r0, r5, #0
bl sub_0202DB98
add sp, #0x1c
pop {r4, r5, pc}
_02240CD8:
add r0, r5, #0
bl sub_0202DB88
add sp, #0x1c
pop {r4, r5, pc}
.balign 4, 0
thumb_func_end ov70_02240CA0
thumb_func_start ov70_02240CE4
ov70_02240CE4: ; 0x02240CE4
push {r4, lr}
ldr r3, _02240CFC ; =0x0000011E
add r4, r1, #0
add r2, r3, #1
ldrb r1, [r4, r3]
add r3, r3, #5
ldrb r2, [r4, r2]
ldrb r3, [r4, r3]
bl sub_02039FB8
pop {r4, pc}
nop
_02240CFC: .word 0x0000011E
thumb_func_end ov70_02240CE4
thumb_func_start ov70_02240D00
ov70_02240D00: ; 0x02240D00
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
bl ov70_0223E76C
cmp r0, #0
beq _02240D1E
ldr r0, [r4]
ldr r0, [r0, #8]
bl GetPartyCount
cmp r0, #6
bne _02240D1E
mov r0, #2
pop {r4, pc}
_02240D1E:
ldr r0, _02240D40 ; =0x000011F8
ldrh r1, [r4, r0]
mov r0, #0x87
lsl r0, r0, #2
cmp r1, r0
bne _02240D3A
ldr r0, [r4]
ldr r0, [r0, #8]
bl GetPartyCount
cmp r0, #6
bne _02240D3A
mov r0, #1
pop {r4, pc}
_02240D3A:
mov r0, #0
pop {r4, pc}
nop
_02240D40: .word 0x000011F8
thumb_func_end ov70_02240D00
thumb_func_start ov70_02240D44
ov70_02240D44: ; 0x02240D44
ldr r3, _02240D50 ; =0x000011D4
strh r1, [r0, r3]
add r1, r3, #2
strh r2, [r0, r1]
bx lr
nop
_02240D50: .word 0x000011D4
thumb_func_end ov70_02240D44
thumb_func_start ov70_02240D54
ov70_02240D54: ; 0x02240D54
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
ldr r0, [r0]
bl sub_0202DB54
cmp r0, #0
bne _02240D6E
ldrh r0, [r4, #0x36]
cmp r0, #0
beq _02240D6E
mov r0, #1
pop {r4, pc}
_02240D6E:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02240D54
thumb_func_start ov70_02240D74
ov70_02240D74: ; 0x02240D74
push {r4, r5, r6, r7, lr}
sub sp, #0x34
add r5, r0, #0
add r4, r1, #0
bl ov70_0224127C
ldr r2, _02240ED8 ; =0x00000D84
add r0, sp, #4
add r1, r5, #0
add r2, r5, r2
mov r3, #2
bl ov70_02238B54
mov r0, #2
str r0, [sp, #0x2c]
lsl r0, r0, #0x12
str r0, [sp, #0xc]
ldr r0, _02240EDC ; =0x00182000
str r0, [sp, #0x10]
add r0, sp, #4
bl CreateSprite
ldr r1, _02240EE0 ; =0x00000EE4
str r0, [r5, r1]
ldr r0, [r5, r1]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
ldr r0, _02240EE0 ; =0x00000EE4
mov r1, #2
ldr r0, [r5, r0]
bl sub_02024A04
ldr r0, _02240EE0 ; =0x00000EE4
mov r1, #7
mul r1, r4
ldr r0, [r5, r0]
add r1, r1, #3
bl Set2dSpriteAnimSeqNo
ldr r0, _02240EE0 ; =0x00000EE4
mov r1, #1
ldr r0, [r5, r0]
bl Set2dSpriteVisibleFlag
mov r0, #0
ldr r6, _02240EE4 ; =ov70_02245D0A
str r0, [sp]
add r4, r5, #0
mov r7, #0xe
_02240DD8:
add r0, sp, #4
bl CreateSprite
ldr r1, _02240EE8 ; =0x00000EE8
str r0, [r4, r1]
add r0, r1, #0
ldr r0, [r4, r0]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
ldr r0, _02240EE8 ; =0x00000EE8
add r1, r7, #0
ldr r0, [r4, r0]
bl Set2dSpriteAnimSeqNo
ldr r0, _02240EE8 ; =0x00000EE8
mov r1, #0
ldr r0, [r4, r0]
bl Set2dSpriteVisibleFlag
ldr r0, _02240EE8 ; =0x00000EE8
ldrh r1, [r6]
ldrh r2, [r6, #2]
ldr r0, [r4, r0]
bl ov70_022410F0
ldr r0, _02240EE8 ; =0x00000EE8
mov r1, #2
ldr r0, [r4, r0]
bl sub_02024A04
ldr r0, [sp]
add r4, r4, #4
add r0, r0, #1
add r7, r7, #4
add r6, r6, #4
str r0, [sp]
cmp r0, #7
blt _02240DD8
add r0, sp, #4
bl CreateSprite
ldr r1, _02240EEC ; =0x00000F0C
str r0, [r5, r1]
ldr r0, [r5, r1]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
ldr r0, _02240EEC ; =0x00000F0C
mov r1, #0x2b
ldr r0, [r5, r0]
bl Set2dSpriteAnimSeqNo
ldr r0, _02240EEC ; =0x00000F0C
mov r1, #0
ldr r0, [r5, r0]
bl Set2dSpriteVisibleFlag
ldr r0, _02240EEC ; =0x00000F0C
mov r1, #0x80
ldr r0, [r5, r0]
mov r2, #0x56
bl ov70_022410F0
ldr r0, _02240EEC ; =0x00000F0C
mov r1, #1
ldr r0, [r5, r0]
bl sub_02024A04
add r0, sp, #4
bl CreateSprite
mov r1, #0xf1
lsl r1, r1, #4
str r0, [r5, r1]
ldr r0, [r5, r1]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
mov r0, #0xf1
lsl r0, r0, #4
ldr r0, [r5, r0]
mov r1, #0x2a
bl Set2dSpriteAnimSeqNo
mov r2, #0xf1
lsl r2, r2, #4
ldr r0, [r5, r2]
add r2, r2, #4
ldr r3, [r5, r2]
mov r2, #0x6a
lsl r2, r2, #2
mov r1, #0x37
add r2, r3, r2
bl ov70_02238F9C
mov r0, #0xf1
lsl r0, r0, #4
ldr r0, [r5, r0]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r7, _02240EF0 ; =0x0000120C
mov r4, #0
add r6, r7, #2
_02240EAA:
ldr r0, _02240EE0 ; =0x00000EE4
ldr r0, [r5, r0]
bl sub_020248AC
ldr r1, [r0]
add r4, r4, #1
asr r2, r1, #0xb
lsr r2, r2, #0x14
add r2, r1, r2
asr r1, r2, #0xc
strh r1, [r5, r7]
ldr r1, [r0, #4]
asr r0, r1, #0xb
lsr r0, r0, #0x14
add r0, r1, r0
asr r0, r0, #0xc
strh r0, [r5, r6]
add r5, r5, #4
cmp r4, #8
blt _02240EAA
add sp, #0x34
pop {r4, r5, r6, r7, pc}
nop
_02240ED8: .word 0x00000D84
_02240EDC: .word 0x00182000
_02240EE0: .word 0x00000EE4
_02240EE4: .word ov70_02245D0A
_02240EE8: .word 0x00000EE8
_02240EEC: .word 0x00000F0C
_02240EF0: .word 0x0000120C
thumb_func_end ov70_02240D74
thumb_func_start ov70_02240EF4
ov70_02240EF4: ; 0x02240EF4
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl ov70_02240D74
ldr r0, _02240F30 ; =ov70_02240F58
mov r1, #0x10
mov r2, #5
mov r3, #0x3d
bl sub_02007200
ldr r1, _02240F34 ; =0x000011D8
str r0, [r5, r1]
ldr r0, [r5, r1]
bl sub_0201F988
mov r1, #0
add r2, r1, #0
str r1, [r0]
sub r2, #0x28
str r2, [r0, #4]
str r4, [r0, #8]
str r5, [r0, #0xc]
bl ov70_02240F3C
ldr r0, _02240F38 ; =0x0000062E
bl PlaySE
pop {r3, r4, r5, pc}
nop
_02240F30: .word ov70_02240F58
_02240F34: .word 0x000011D8
_02240F38: .word 0x0000062E
thumb_func_end ov70_02240EF4
thumb_func_start ov70_02240F3C
ov70_02240F3C: ; 0x02240F3C
add r3, r0, #0
ldr r2, [r3, #0xc]
ldr r0, _02240F50 ; =0x00000EE4
ldr r3, [r3, #8]
ldr r0, [r2, r0]
mov r2, #7
mul r2, r3
ldr r3, _02240F54 ; =sub_020248F0
add r1, r1, r2
bx r3
.balign 4, 0
_02240F50: .word 0x00000EE4
_02240F54: .word Set2dSpriteAnimSeqNo
thumb_func_end ov70_02240F3C
thumb_func_start ov70_02240F58
ov70_02240F58: ; 0x02240F58
push {r4, r5, r6, lr}
add r4, r1, #0
add r6, r0, #0
ldr r0, [r4]
ldr r5, [r4, #0xc]
cmp r0, #3
bhi _02240FF6
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02240F72: ; jump table
.short _02240F7A - _02240F72 - 2 ; case 0
.short _02240FA0 - _02240F72 - 2 ; case 1
.short _02240FBA - _02240F72 - 2 ; case 2
.short _02240FE2 - _02240F72 - 2 ; case 3
_02240F7A:
ldr r0, [r4, #4]
cmp r0, #0xa0
ble _02240F8E
mov r0, #0xa0
str r0, [r4, #4]
mov r1, #1
add r0, r4, #0
str r1, [r4]
bl ov70_02240F3C
_02240F8E:
ldr r0, [r4, #4]
mov r1, #0x80
add r2, r0, #5
ldr r0, _02240FF8 ; =0x00000EE4
str r2, [r4, #4]
ldr r0, [r5, r0]
bl ov70_022410F0
pop {r4, r5, r6, pc}
_02240FA0:
ldr r0, _02240FF8 ; =0x00000EE4
ldr r0, [r5, r0]
bl sub_02024B68
cmp r0, #0
bne _02240FF6
add r0, r4, #0
mov r1, #2
bl ov70_02240F3C
mov r0, #2
str r0, [r4]
pop {r4, r5, r6, pc}
_02240FBA:
ldr r0, [r4, #4]
cmp r0, #0x8a
bgt _02240FD0
mov r0, #0x8a
str r0, [r4, #4]
mov r1, #3
add r0, r4, #0
str r1, [r4]
bl ov70_02240F3C
b _02240FD4
_02240FD0:
sub r0, r0, #2
str r0, [r4, #4]
_02240FD4:
ldr r0, _02240FF8 ; =0x00000EE4
ldr r2, [r4, #4]
ldr r0, [r5, r0]
mov r1, #0x80
bl ov70_022410F0
pop {r4, r5, r6, pc}
_02240FE2:
ldr r0, _02240FFC ; =0x0000060C
bl PlaySE
ldr r1, [r4, #0xc]
ldr r0, _02241000 ; =0x000011DC
mov r2, #1
strh r2, [r1, r0]
add r0, r6, #0
bl sub_02007234
_02240FF6:
pop {r4, r5, r6, pc}
.balign 4, 0
_02240FF8: .word 0x00000EE4
_02240FFC: .word 0x0000060C
_02241000: .word 0x000011DC
thumb_func_end ov70_02240F58
thumb_func_start ov70_02241004
ov70_02241004: ; 0x02241004
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
ldr r0, _0224103C ; =ov70_02241048
mov r1, #0x10
mov r2, #5
mov r3, #0x3d
bl sub_02007200
ldr r1, _02241040 ; =0x000011D8
str r0, [r5, r1]
ldr r0, [r5, r1]
bl sub_0201F988
mov r1, #0
str r1, [r0]
mov r1, #0x8a
str r1, [r0, #4]
str r4, [r0, #8]
mov r1, #5
str r5, [r0, #0xc]
bl ov70_02240F3C
ldr r0, _02241044 ; =0x0000060D
bl PlaySE
pop {r3, r4, r5, pc}
nop
_0224103C: .word ov70_02241048
_02241040: .word 0x000011D8
_02241044: .word 0x0000060D
thumb_func_end ov70_02241004
thumb_func_start ov70_02241048
ov70_02241048: ; 0x02241048
push {r3, r4, r5, lr}
add r4, r1, #0
ldr r1, [r4]
ldr r5, [r4, #0xc]
cmp r1, #3
bhi _022410E0
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02241060: ; jump table
.short _02241068 - _02241060 - 2 ; case 0
.short _02241090 - _02241060 - 2 ; case 1
.short _022410B0 - _02241060 - 2 ; case 2
.short _022410D6 - _02241060 - 2 ; case 3
_02241068:
ldr r0, [r4, #4]
cmp r0, #0xa0
ble _0224107E
mov r0, #0xa0
str r0, [r4, #4]
mov r0, #1
str r0, [r4]
add r0, r4, #0
mov r1, #6
bl ov70_02240F3C
_0224107E:
ldr r0, [r4, #4]
mov r1, #0x80
add r2, r0, #2
ldr r0, _022410E4 ; =0x00000EE4
str r2, [r4, #4]
ldr r0, [r5, r0]
bl ov70_022410F0
pop {r3, r4, r5, pc}
_02241090:
ldr r0, _022410E4 ; =0x00000EE4
ldr r0, [r5, r0]
bl sub_02024B68
cmp r0, #0
bne _022410E0
add r0, r4, #0
mov r1, #0
bl ov70_02240F3C
mov r0, #2
str r0, [r4]
ldr r0, _022410E8 ; =0x0000062F
bl PlaySE
pop {r3, r4, r5, pc}
_022410B0:
mov r0, #0x13
ldr r1, [r4, #4]
mvn r0, r0
cmp r1, r0
bge _022410C4
mov r1, #3
add r0, r4, #0
str r1, [r4]
bl ov70_02240F3C
_022410C4:
ldr r0, [r4, #4]
mov r1, #0x80
sub r2, r0, #5
ldr r0, _022410E4 ; =0x00000EE4
str r2, [r4, #4]
ldr r0, [r5, r0]
bl ov70_022410F0
pop {r3, r4, r5, pc}
_022410D6:
ldr r1, _022410EC ; =0x000011DC
mov r2, #1
strh r2, [r5, r1]
bl sub_02007234
_022410E0:
pop {r3, r4, r5, pc}
nop
_022410E4: .word 0x00000EE4
_022410E8: .word 0x0000062F
_022410EC: .word 0x000011DC
thumb_func_end ov70_02241048
thumb_func_start ov70_022410F0
ov70_022410F0: ; 0x022410F0
push {r4, r5, lr}
sub sp, #0xc
add r4, r0, #0
add r5, r2, #0
cmp r1, #0
ble _0224110E
lsl r0, r1, #0xc
bl _fflt
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _0224111C
_0224110E:
lsl r0, r1, #0xc
bl _fflt
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_0224111C:
bl _ffix
sub r5, #8
str r0, [sp]
cmp r5, #0
ble _0224113A
lsl r0, r5, #0xc
bl _fflt
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _02241148
_0224113A:
lsl r0, r5, #0xc
bl _fflt
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_02241148:
bl _ffix
mov r1, #1
lsl r1, r1, #0x14
add r0, r0, r1
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
add r0, r4, #0
add r1, sp, #0
bl sub_020247D4
add sp, #0xc
pop {r4, r5, pc}
thumb_func_end ov70_022410F0
thumb_func_start ov70_02241164
ov70_02241164: ; 0x02241164
push {r4, lr}
add r4, r0, #0
ldr r0, _02241180 ; =ov70_02245D26
bl sub_02025224
mov r1, #0
mvn r1, r1
cmp r0, r1
beq _0224117A
cmp r0, r4
blt _0224117E
_0224117A:
mov r0, #0
mvn r0, r0
_0224117E:
pop {r4, pc}
.balign 4, 0
_02241180: .word ov70_02245D26
thumb_func_end ov70_02241164
thumb_func_start ov70_02241184
ov70_02241184: ; 0x02241184
push {r4, r5, r6, r7, lr}
sub sp, #0x14
str r0, [sp, #4]
str r1, [sp, #8]
str r2, [sp, #0xc]
add r0, r1, #0
beq _0224119E
add r0, r2, #0
cmp r0, #1
bne _0224119E
ldr r0, _02241218 ; =0x0000064E
bl PlaySE
_0224119E:
ldr r4, [sp, #4]
mov r0, #0xe
mov r6, #0
str r0, [sp, #0x10]
add r5, r4, #0
mov r7, #0x11
_022411AA:
ldr r0, [sp, #8]
cmp r6, r0
bge _022411F4
ldr r0, _0224121C ; =0x00000356
ldr r1, [sp, #4]
ldrb r0, [r4, r0]
mov r3, #0xe
add r2, r1, #0
str r0, [sp]
ldr r0, _02241220 ; =0x000011E4
lsl r3, r3, #6
ldr r0, [r1, r0]
ldr r1, _02241224 ; =0x000011EC
ldrb r3, [r4, r3]
ldr r1, [r2, r1]
add r2, r6, #0
bl ov70_022412C8
ldr r0, [sp, #0xc]
cmp r0, #0
ldr r0, _02241228 ; =0x00000EE8
beq _022411E0
ldr r0, [r5, r0]
ldr r1, [sp, #0x10]
bl Set2dSpriteAnimSeqNo
b _022411E8
_022411E0:
ldr r0, [r5, r0]
add r1, r7, #0
bl Set2dSpriteAnimSeqNo
_022411E8:
ldr r0, _02241228 ; =0x00000EE8
mov r1, #1
ldr r0, [r5, r0]
bl Set2dSpriteVisibleFlag
b _022411FE
_022411F4:
ldr r0, _02241228 ; =0x00000EE8
mov r1, #0
ldr r0, [r5, r0]
bl Set2dSpriteVisibleFlag
_022411FE:
mov r0, #0x49
lsl r0, r0, #2
add r4, r4, r0
ldr r0, [sp, #0x10]
add r6, r6, #1
add r0, r0, #4
str r0, [sp, #0x10]
add r5, r5, #4
add r7, r7, #4
cmp r6, #7
blt _022411AA
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02241218: .word 0x0000064E
_0224121C: .word 0x00000356
_02241220: .word 0x000011E4
_02241224: .word 0x000011EC
_02241228: .word 0x00000EE8
thumb_func_end ov70_02241184
thumb_func_start ov70_0224122C
ov70_0224122C: ; 0x0224122C
lsl r0, r0, #2
add r0, #0xe
bx lr
.balign 4, 0
thumb_func_end ov70_0224122C
thumb_func_start ov70_02241234
ov70_02241234: ; 0x02241234
push {r3, r4, r5, r6, r7, lr}
ldr r7, _02241278 ; =0x00000EE8
add r5, r0, #0
mov r4, #0
_0224123C:
ldr r0, [r5, r7]
bl sub_020248B8
cmp r0, #0
beq _0224126E
ldr r0, _02241278 ; =0x00000EE8
ldr r0, [r5, r0]
bl sub_020249A8
add r6, r0, #0
add r0, r4, #0
bl ov70_0224122C
add r0, r0, #1
cmp r6, r0
beq _0224126E
add r0, r4, #0
bl ov70_0224122C
add r1, r0, #0
ldr r0, _02241278 ; =0x00000EE8
add r1, r1, #1
ldr r0, [r5, r0]
bl Set2dSpriteAnimSeqNo
_0224126E:
add r4, r4, #1
add r5, r5, #4
cmp r4, #7
blt _0224123C
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02241278: .word 0x00000EE8
thumb_func_end ov70_02241234
thumb_func_start ov70_0224127C
ov70_0224127C: ; 0x0224127C
push {r3, r4, lr}
sub sp, #4
ldr r2, _022412BC ; =0x000011EC
add r4, r0, #0
mov r0, #0x54
mov r1, #0xb
add r2, r4, r2
mov r3, #0x3d
bl GfGfxLoader_GetPlttData
ldr r3, _022412C0 ; =0x000011E8
mov r1, #0xc
str r0, [r4, r3]
mov r0, #0x3d
sub r3, r3, #4
str r0, [sp]
mov r0, #0x54
mov r2, #1
add r3, r4, r3
bl GfGfxLoader_GetCharData
ldr r1, _022412C4 ; =0x000011E0
str r0, [r4, r1]
add r0, r1, #4
mov r1, #2
ldr r0, [r4, r0]
lsl r1, r1, #0xe
bl DC_FlushRange
add sp, #4
pop {r3, r4, pc}
nop
_022412BC: .word 0x000011EC
_022412C0: .word 0x000011E8
_022412C4: .word 0x000011E0
thumb_func_end ov70_0224127C
thumb_func_start ov70_022412C8
ov70_022412C8: ; 0x022412C8
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r6, r1, #0
ldr r0, [sp, #0x18]
add r1, r3, #0
add r5, r2, #0
bl sub_0205B464
add r4, r0, #0
mov r0, #6
lsl r0, r0, #8
ldr r1, [r7, #0x14]
mul r0, r4
add r0, r1, r0
ldr r1, _02241304 ; =ov70_02245CFC
lsl r2, r5, #1
ldrh r1, [r1, r2]
mov r2, #2
ldr r6, [r6, #0xc]
lsl r2, r2, #8
bl GXS_LoadOBJ
lsl r0, r4, #5
add r1, r5, #2
add r0, r6, r0
lsl r1, r1, #5
mov r2, #0x20
bl GXS_LoadOBJPltt
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02241304: .word ov70_02245CFC
thumb_func_end ov70_022412C8
thumb_func_start ov70_02241308
ov70_02241308: ; 0x02241308
push {r4, lr}
add r4, r0, #0
ldr r0, _02241328 ; =0x000011DC
ldrh r1, [r4, r0]
cmp r1, #0
beq _02241324
add r0, #0xc
ldr r0, [r4, r0]
bl FreeToHeap
ldr r0, _0224132C ; =0x000011E0
ldr r0, [r4, r0]
bl FreeToHeap
_02241324:
pop {r4, pc}
nop
_02241328: .word 0x000011DC
_0224132C: .word 0x000011E0
thumb_func_end ov70_02241308
thumb_func_start ov70_02241330
ov70_02241330: ; 0x02241330
push {r4, lr}
lsl r4, r1, #2
ldr r1, _0224134C ; =0x00000F0C
ldr r3, _02241350 ; =ov70_02245D0C
ldr r0, [r0, r1]
ldr r1, _02241354 ; =ov70_02245D0A
ldrh r3, [r3, r4]
ldrh r1, [r1, r4]
add r3, #0x20
add r2, r2, r3
bl ov70_022410F0
pop {r4, pc}
nop
_0224134C: .word 0x00000F0C
_02241350: .word ov70_02245D0C
_02241354: .word ov70_02245D0A
thumb_func_end ov70_02241330
thumb_func_start ov70_02241358
ov70_02241358: ; 0x02241358
push {r3, r4, r5, r6, r7, lr}
ldr r7, _02241378 ; =0x0000120C
add r5, r0, #0
mov r4, #0
add r6, r7, #2
_02241362:
ldr r0, _0224137C ; =0x00000EE4
ldrsh r1, [r5, r7]
ldrsh r2, [r5, r6]
ldr r0, [r5, r0]
bl ov70_02238F9C
add r4, r4, #1
add r5, r5, #4
cmp r4, #8
blt _02241362
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02241378: .word 0x0000120C
_0224137C: .word 0x00000EE4
thumb_func_end ov70_02241358
thumb_func_start ov70_02241380
ov70_02241380: ; 0x02241380
push {r3, r4, r5, r6, r7, lr}
ldr r7, _022413A4 ; =0x0000120C
add r5, r0, #0
mov r4, #0
add r6, r7, #2
_0224138A:
ldr r0, _022413A8 ; =0x00000EE4
ldrsh r2, [r5, r6]
ldrsh r1, [r5, r7]
ldr r0, [r5, r0]
add r2, #0x20
bl ov70_02238F9C
add r4, r4, #1
add r5, r5, #4
cmp r4, #8
blt _0224138A
pop {r3, r4, r5, r6, r7, pc}
nop
_022413A4: .word 0x0000120C
_022413A8: .word 0x00000EE4
thumb_func_end ov70_02241380
thumb_func_start ov70_022413AC
ov70_022413AC: ; 0x022413AC
push {r4, lr}
mov r3, #0x12
add r4, r0, #0
lsl r3, r3, #4
ldr r1, [r4]
ldrh r2, [r4, r3]
add r3, r3, #2
ldr r0, [r1, #8]
ldrh r3, [r4, r3]
ldr r1, [r1, #0xc]
bl ov70_0223E49C
add r1, r4, #0
add r1, #0xbc
str r0, [r1]
add r0, r4, #0
mov r1, #2
add r0, #0xcd
strb r1, [r0]
add r0, r4, #0
mov r2, #1
add r0, #0xcf
strb r2, [r0]
add r0, r4, #0
mov r1, #0
add r0, #0xd0
strb r1, [r0]
add r0, r4, #0
add r0, #0xce
strb r2, [r0]
add r0, r4, #0
add r0, #0xd4
strh r1, [r0]
ldr r0, [r4]
ldr r0, [r0, #0x20]
bl sub_02088288
add r1, r4, #0
add r1, #0xe8
str r0, [r1]
ldr r0, [r4]
ldr r1, [r0, #0x30]
add r0, r4, #0
add r0, #0xd8
str r1, [r0]
ldr r0, [r4]
ldr r1, [r0, #0x24]
add r0, r4, #0
add r0, #0xc0
str r1, [r0]
ldr r0, [r4]
ldr r0, [r0, #0x20]
bl Save_SpecialRibbons_Get
add r1, r4, #0
add r1, #0xdc
str r0, [r1]
ldr r0, [r4]
ldr r0, [r0, #0x20]
bl sub_0208828C
add r1, r4, #0
add r1, #0xf0
str r0, [r1]
add r0, r4, #0
ldr r1, _02241460 ; =ov70_02245D48
add r0, #0xbc
bl sub_02089D40
ldr r1, [r4]
add r0, r4, #0
ldr r1, [r1, #0x1c]
add r0, #0xbc
bl sub_0208AD34
add r1, r4, #0
ldr r0, _02241464 ; =_02103A1C
add r1, #0xbc
mov r2, #0x3d
bl OverlayManager_New
add r1, r4, #0
add r1, #0xb8
str r0, [r1]
mov r0, #0x45
mov r1, #1
lsl r0, r0, #2
str r1, [r4, r0]
mov r0, #2
pop {r4, pc}
.balign 4, 0
_02241460: .word ov70_02245D48
_02241464: .word _02103A1C
thumb_func_end ov70_022413AC
thumb_func_start ov70_02241468
ov70_02241468: ; 0x02241468
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0xb8
ldr r0, [r0]
mov r4, #3
bl OverlayManager_Run
cmp r0, #0
beq _02241490
add r0, r5, #0
add r0, #0xb8
ldr r0, [r0]
bl OverlayManager_Delete
ldr r2, [r5, #0x24]
add r0, r5, #0
mov r1, #5
bl ov70_02238E50
mov r4, #4
_02241490:
add r0, r4, #0
pop {r3, r4, r5, pc}
thumb_func_end ov70_02241468
thumb_func_start ov70_02241494
ov70_02241494: ; 0x02241494
push {r3, lr}
bl ov70_02238E58
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end ov70_02241494
thumb_func_start ov70_022414A0
ov70_022414A0: ; 0x022414A0
push {r4, lr}
add r4, r0, #0
mov r0, #0x3d
bl AllocMonZeroed
ldr r1, _02241640 ; =0x000011F0
str r0, [r4, r1]
ldr r0, [r4, #0x24]
cmp r0, #0xa
bls _022414B6
b _02241618
_022414B6:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022414C2: ; jump table
.short _02241618 - _022414C2 - 2 ; case 0
.short _02241618 - _022414C2 - 2 ; case 1
.short _02241618 - _022414C2 - 2 ; case 2
.short _02241618 - _022414C2 - 2 ; case 3
.short _02241618 - _022414C2 - 2 ; case 4
.short _02241618 - _022414C2 - 2 ; case 5
.short _02241618 - _022414C2 - 2 ; case 6
.short _022414D8 - _022414C2 - 2 ; case 7
.short _0224151C - _022414C2 - 2 ; case 8
.short _022415B2 - _022414C2 - 2 ; case 9
.short _02241560 - _022414C2 - 2 ; case 10
_022414D8:
mov r0, #0x4f
lsl r0, r0, #2
add r0, r4, r0
bl Mon_GetBoxMon
add r1, r4, #0
add r1, #0xf8
str r0, [r1]
add r0, r4, #0
add r0, #0xf8
ldr r1, [r0]
add r0, r4, #0
add r0, #0xfc
str r1, [r0]
mov r0, #0x4f
lsl r0, r0, #2
add r0, r4, r0
bl ov70_0224182C
mov r1, #0x13
lsl r1, r1, #4
str r0, [r4, r1]
add r0, r1, #0
ldr r2, [r4, r1]
sub r0, #0x30
str r2, [r4, r0]
add r0, r1, #0
mov r2, #3
sub r0, #0x2c
str r2, [r4, r0]
mov r0, #2
sub r1, #0x28
str r0, [r4, r1]
b _02241618
_0224151C:
mov r0, #0x4f
lsl r0, r0, #2
add r0, r4, r0
bl Mon_GetBoxMon
add r1, r4, #0
add r1, #0xfc
str r0, [r1]
add r0, r4, #0
add r0, #0xfc
ldr r1, [r0]
add r0, r4, #0
add r0, #0xf8
str r1, [r0]
mov r0, #0x4f
lsl r0, r0, #2
add r0, r4, r0
bl ov70_0224182C
mov r1, #0x13
lsl r1, r1, #4
str r0, [r4, r1]
add r0, r1, #0
ldr r2, [r4, r1]
sub r0, #0x30
str r2, [r4, r0]
add r0, r1, #0
mov r2, #3
sub r0, #0x2c
str r2, [r4, r0]
mov r0, #4
sub r1, #0x28
str r0, [r4, r1]
b _02241618
_02241560:
mov r0, #0x4f
lsl r0, r0, #2
add r0, r4, r0
bl Mon_GetBoxMon
add r1, r4, #0
add r1, #0xfc
str r0, [r1]
ldr r0, [r4]
ldr r1, _02241640 ; =0x000011F0
ldr r0, [r0]
ldr r1, [r4, r1]
bl sub_0202DB64
ldr r0, _02241640 ; =0x000011F0
ldr r0, [r4, r0]
bl Mon_GetBoxMon
add r1, r4, #0
add r1, #0xf8
str r0, [r1]
mov r0, #0x4f
lsl r0, r0, #2
add r0, r4, r0
bl ov70_0224182C
mov r1, #0x13
lsl r1, r1, #4
str r0, [r4, r1]
add r0, r1, #0
ldr r2, [r4, r1]
sub r0, #0x30
str r2, [r4, r0]
add r0, r1, #0
mov r2, #3
sub r0, #0x2c
str r2, [r4, r0]
mov r0, #1
sub r1, #0x28
str r0, [r4, r1]
b _02241618
_022415B2:
ldr r0, [r4]
ldr r1, [r4, r1]
ldr r0, [r0]
bl sub_0202DB64
ldr r0, _02241640 ; =0x000011F0
ldr r0, [r4, r0]
bl Mon_GetBoxMon
add r1, r4, #0
add r1, #0xf8
str r0, [r1]
mov r0, #0x26
lsl r0, r0, #4
add r2, r4, r0
mov r0, #0x4b
lsl r0, r0, #2
ldr r1, [r4, r0]
sub r0, #8
mul r0, r1
add r0, r2, r0
bl Mon_GetBoxMon
add r1, r4, #0
add r1, #0xfc
str r0, [r1]
mov r0, #0x26
lsl r0, r0, #4
add r2, r4, r0
mov r0, #0x4b
lsl r0, r0, #2
ldr r1, [r4, r0]
sub r0, #8
mul r0, r1
add r0, r2, r0
bl ov70_0224182C
mov r1, #0x13
lsl r1, r1, #4
str r0, [r4, r1]
add r0, r1, #0
ldr r2, [r4, r1]
sub r0, #0x30
str r2, [r4, r0]
add r0, r1, #0
mov r2, #3
sub r0, #0x2c
str r2, [r4, r0]
mov r0, #1
sub r1, #0x28
str r0, [r4, r1]
_02241618:
ldr r0, [r4]
mov r2, #0x3d
ldr r1, [r0, #0x24]
mov r0, #0x43
lsl r0, r0, #2
str r1, [r4, r0]
add r1, r4, #0
ldr r0, _02241644 ; =ov70_02245D50
add r1, #0xf8
bl OverlayManager_New
add r1, r4, #0
add r1, #0xb8
str r0, [r1]
mov r0, #0x45
mov r1, #1
lsl r0, r0, #2
str r1, [r4, r0]
mov r0, #2
pop {r4, pc}
.balign 4, 0
_02241640: .word 0x000011F0
_02241644: .word ov70_02245D50
thumb_func_end ov70_022414A0
thumb_func_start ov70_02241648
ov70_02241648: ; 0x02241648
push {r4, r5, r6, r7, lr}
sub sp, #0x2c
add r5, r0, #0
ldr r0, [r5, #0x2c]
mov r4, #3
cmp r0, #0
beq _0224165E
cmp r0, #1
bne _0224165C
b _022417C8
_0224165C:
b _022417FE
_0224165E:
add r0, r5, #0
add r0, #0xb8
ldr r0, [r0]
bl OverlayManager_Run
cmp r0, #0
bne _0224166E
b _022417FE
_0224166E:
add r0, r5, #0
add r0, #0xb8
ldr r0, [r0]
bl OverlayManager_Delete
ldr r1, [r5, #0x24]
cmp r1, #9
bne _022416E8
add r0, r5, #0
bl ov70_02241868
mov r1, #6
mov r2, #0
add r6, r0, #0
bl GetMonData
add r3, r0, #0
add r0, sp, #0x28
lsl r3, r3, #0x10
str r0, [sp]
mov r0, #0
add r1, r6, #0
mov r2, #1
lsr r3, r3, #0x10
bl GetMonEvolution
add r2, r0, #0
beq _022416DA
ldr r3, [r5]
add r1, r6, #0
ldr r0, [r3, #0x38]
str r0, [sp]
ldr r0, [r3, #0x10]
str r0, [sp, #4]
ldr r0, [r3, #0x2c]
str r0, [sp, #8]
ldr r0, [r3, #0x28]
str r0, [sp, #0xc]
ldr r0, [sp, #0x28]
str r0, [sp, #0x10]
mov r0, #4
str r0, [sp, #0x14]
mov r0, #0x3d
str r0, [sp, #0x18]
ldr r3, [r3, #0x24]
mov r0, #0
bl sub_02075A7C
mov r1, #0x11
lsl r1, r1, #4
str r0, [r5, r1]
mov r0, #1
str r0, [r5, #0x2c]
b _022417FE
_022416DA:
add r0, r5, #0
mov r1, #1
mov r2, #0
bl ov70_02238E50
mov r4, #4
b _022417FE
_022416E8:
cmp r1, #8
beq _022416F0
cmp r1, #0xa
bne _022417BA
_022416F0:
add r0, r5, #0
bl ov70_02241868
add r6, r0, #0
mov r0, #0x3d
bl AllocMonZeroed
add r7, r0, #0
ldr r0, [r5]
add r1, r7, #0
ldr r0, [r0]
bl sub_0202DB64
add r0, r6, #0
mov r1, #5
mov r2, #0
bl GetMonData
str r0, [sp, #0x1c]
add r0, r7, #0
mov r1, #5
mov r2, #0
bl GetMonData
ldr r1, [sp, #0x1c]
cmp r1, r0
bne _02241742
mov r1, #0
add r0, r6, #0
add r2, r1, #0
bl GetMonData
mov r1, #0
str r0, [sp, #0x20]
add r0, r7, #0
add r2, r1, #0
bl GetMonData
ldr r1, [sp, #0x20]
cmp r1, r0
beq _022417A6
_02241742:
add r0, r6, #0
mov r1, #6
mov r2, #0
bl GetMonData
add r3, r0, #0
add r0, sp, #0x24
lsl r3, r3, #0x10
str r0, [sp]
mov r0, #0
add r1, r6, #0
mov r2, #1
lsr r3, r3, #0x10
bl GetMonEvolution
add r2, r0, #0
beq _02241798
ldr r3, [r5]
add r1, r6, #0
ldr r0, [r3, #0x38]
str r0, [sp]
ldr r0, [r3, #0x10]
str r0, [sp, #4]
ldr r0, [r3, #0x2c]
str r0, [sp, #8]
ldr r0, [r3, #0x28]
str r0, [sp, #0xc]
ldr r0, [sp, #0x24]
str r0, [sp, #0x10]
mov r0, #4
str r0, [sp, #0x14]
mov r0, #0x3d
str r0, [sp, #0x18]
ldr r3, [r3, #0x24]
mov r0, #0
bl sub_02075A7C
mov r1, #0x11
lsl r1, r1, #4
str r0, [r5, r1]
mov r0, #1
str r0, [r5, #0x2c]
b _022417B2
_02241798:
add r0, r5, #0
mov r1, #1
mov r2, #0
bl ov70_02238E50
mov r4, #4
b _022417B2
_022417A6:
add r0, r5, #0
mov r1, #1
mov r2, #0
bl ov70_02238E50
mov r4, #4
_022417B2:
add r0, r7, #0
bl FreeToHeap
b _022417FE
_022417BA:
add r0, r5, #0
mov r1, #1
mov r2, #0
bl ov70_02238E50
mov r4, #4
b _022417FE
_022417C8:
mov r0, #0x11
lsl r0, r0, #4
ldr r0, [r5, r0]
bl sub_02075D3C
cmp r0, #0
beq _022417FE
mov r0, #0x11
lsl r0, r0, #4
ldr r0, [r5, r0]
bl sub_02075D4C
add r0, r5, #0
bl ov70_022418A4
mov r2, #1
lsl r2, r2, #0x1a
ldr r1, [r2]
ldr r0, _02241804 ; =0xFFFF1FFF
and r0, r1
str r0, [r2]
add r0, r5, #0
mov r1, #7
mov r2, #0xc
bl ov70_02238E50
mov r4, #4
_022417FE:
add r0, r4, #0
add sp, #0x2c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02241804: .word 0xFFFF1FFF
thumb_func_end ov70_02241648
thumb_func_start ov70_02241808
ov70_02241808: ; 0x02241808
push {r4, lr}
add r4, r0, #0
ldr r0, _02241828 ; =0x000011F0
ldr r0, [r4, r0]
bl FreeToHeap
mov r0, #0x13
lsl r0, r0, #4
ldr r0, [r4, r0]
bl FreeToHeap
add r0, r4, #0
bl ov70_02238E58
mov r0, #1
pop {r4, pc}
.balign 4, 0
_02241828: .word 0x000011F0
thumb_func_end ov70_02241808
thumb_func_start ov70_0224182C
ov70_0224182C: ; 0x0224182C
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0x3d
bl PlayerProfile_New
add r4, r0, #0
bl PlayerProfile_Init
mov r1, #0x43
lsl r1, r1, #2
add r0, r4, #0
add r1, r5, r1
bl Save_Profile_PlayerName_Set
ldr r1, _02241860 ; =0x00000122
add r0, r4, #0
ldrb r1, [r5, r1]
bl PlayerProfile_SetVersion
ldr r1, _02241864 ; =0x00000123
add r0, r4, #0
ldrb r1, [r5, r1]
bl PlayerProfile_SetLanguage
add r0, r4, #0
pop {r3, r4, r5, pc}
.balign 4, 0
_02241860: .word 0x00000122
_02241864: .word 0x00000123
thumb_func_end ov70_0224182C
thumb_func_start ov70_02241868
ov70_02241868: ; 0x02241868
push {r3, lr}
cmp r1, #9
bne _02241882
mov r1, #0x26
lsl r1, r1, #4
add r2, r0, r1
mov r1, #0x4b
lsl r1, r1, #2
ldr r0, [r0, r1]
sub r1, #8
mul r1, r0
add r0, r2, r1
pop {r3, pc}
_02241882:
cmp r1, #0xa
bne _0224188E
mov r1, #0x4f
lsl r1, r1, #2
add r0, r0, r1
pop {r3, pc}
_0224188E:
cmp r1, #8
bne _0224189A
mov r1, #0x4f
lsl r1, r1, #2
add r0, r0, r1
pop {r3, pc}
_0224189A:
bl GF_AssertFail
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ov70_02241868
thumb_func_start ov70_022418A4
ov70_022418A4: ; 0x022418A4
push {r3, r4, r5, lr}
sub sp, #8
add r5, r0, #0
ldr r1, [r5, #0x24]
bl ov70_02241868
mov r2, #0x4d
lsl r2, r2, #2
add r4, r0, #0
ldr r0, [r5, r2]
cmp r0, #0x12
bne _022418D4
ldr r0, [r5]
add r1, r2, #4
ldr r0, [r0, #8]
ldr r1, [r5, r1]
bl GetPartyMonByIndex
add r1, r0, #0
add r0, r4, #0
bl CopyPokemonToPokemon
add sp, #8
pop {r3, r4, r5, pc}
_022418D4:
mov r0, #0
str r0, [sp, #4]
str r0, [sp]
ldr r0, [r5]
ldr r1, [r5, r2]
add r2, r2, #4
ldr r0, [r0, #0xc]
ldr r2, [r5, r2]
bl PCStorage_DeleteBoxMonByIndexPair
ldr r0, [r5]
add r1, sp, #4
ldr r0, [r0, #0xc]
add r2, sp, #0
bl PCStorage_FindFirstEmptySlot
add r0, r4, #0
bl Mon_GetBoxMon
add r2, r0, #0
ldr r0, [r5]
ldr r1, [sp, #4]
ldr r0, [r0, #0xc]
bl PCStorage_PlaceMonInBoxFirstEmptySlot
add sp, #8
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov70_022418A4
thumb_func_start ov70_0224190C
ov70_0224190C: ; 0x0224190C
push {r4, r5, r6, r7, lr}
sub sp, #0x2c
add r4, r0, #0
cmp r1, #6
bls _02241918
b _02241DAA
_02241918:
add r0, r1, r1
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02241924: ; jump table
.short _02241A58 - _02241924 - 2 ; case 0
.short _02241C60 - _02241924 - 2 ; case 1
.short _02241D00 - _02241924 - 2 ; case 2
.short _02241BB2 - _02241924 - 2 ; case 3
.short _02241932 - _02241924 - 2 ; case 4
.short _022419B2 - _02241924 - 2 ; case 5
.short _02241B06 - _02241924 - 2 ; case 6
_02241932:
mov r0, #0
ldr r6, _02241C68 ; =ov70_02245E0E
str r0, [sp, #0x28]
mov r7, #0x30
add r5, r0, #0
_0224193C:
ldrb r0, [r6, #1]
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
lsl r0, r7, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldrb r3, [r6]
ldr r0, [r4]
add r1, r1, r5
lsr r2, r2, #0x18
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, r0, r5
bl FillWindowPixelBuffer
ldr r0, [sp, #0x28]
add r7, r7, #6
add r0, r0, #1
add r6, r6, #2
add r5, #0x10
str r0, [sp, #0x28]
cmp r0, #9
blt _0224193C
mov r0, #0x11
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
ldr r0, _02241C6C ; =0x0000012F
mov r3, #9
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldr r0, [r4]
add r1, #0xe0
lsr r2, r2, #0x18
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, #0xe0
bl FillWindowPixelBuffer
add sp, #0x2c
pop {r4, r5, r6, r7, pc}
_022419B2:
mov r1, #2
str r1, [sp]
mov r0, #3
str r0, [sp, #4]
str r1, [sp, #8]
mov r3, #1
str r3, [sp, #0xc]
mov r0, #0x30
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r0, [r4]
lsl r2, r2, #0x18
ldr r1, [r4, #4]
lsr r2, r2, #0x18
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
bl FillWindowPixelBuffer
ldr r6, _02241C70 ; =ov70_02245E10
mov r7, #1
mov r5, #0x10
_022419E0:
sub r0, r6, #1
ldrb r0, [r0]
sub r3, r6, #2
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
sub r0, r7, #1
lsl r0, r0, #2
add r0, #0x36
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldrb r3, [r3]
ldr r0, [r4]
add r1, r1, r5
lsr r2, r2, #0x18
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, r0, r5
bl FillWindowPixelBuffer
add r7, r7, #1
add r6, r6, #2
add r5, #0x10
cmp r7, #4
blt _022419E0
mov r0, #0x11
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
ldr r0, _02241C6C ; =0x0000012F
mov r3, #9
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldr r0, [r4]
add r1, #0xe0
lsr r2, r2, #0x18
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, #0xe0
bl FillWindowPixelBuffer
add sp, #0x2c
pop {r4, r5, r6, r7, pc}
_02241A58:
mov r0, #0
ldr r6, _02241C74 ; =ov70_02245DA2
str r0, [sp, #0x14]
mov r7, #0x30
add r5, r0, #0
_02241A62:
ldrb r0, [r6, #1]
str r0, [sp]
mov r0, #8
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
lsl r0, r7, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldrb r3, [r6]
ldr r0, [r4]
add r1, r1, r5
lsr r2, r2, #0x18
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, r0, r5
bl FillWindowPixelBuffer
ldr r0, [sp, #0x14]
add r7, #0x10
add r0, r0, #1
add r6, r6, #3
add r5, #0x10
str r0, [sp, #0x14]
cmp r0, #4
blt _02241A62
mov r0, #0xe
str r0, [sp]
mov r0, #5
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
str r0, [sp, #0xc]
mov r0, #0x70
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldr r0, [r4]
add r1, #0x40
lsr r2, r2, #0x18
mov r3, #6
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, #0x40
bl FillWindowPixelBuffer
mov r0, #0x11
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
ldr r0, _02241C6C ; =0x0000012F
mov r3, #9
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldr r0, [r4]
add r1, #0xe0
lsr r2, r2, #0x18
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, #0xe0
bl FillWindowPixelBuffer
add sp, #0x2c
pop {r4, r5, r6, r7, pc}
_02241B06:
mov r0, #0
ldr r6, _02241C68 ; =ov70_02245E0E
str r0, [sp, #0x18]
mov r7, #0x30
add r5, r0, #0
_02241B10:
ldrb r0, [r6, #1]
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
lsl r0, r7, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldrb r3, [r6]
ldr r0, [r4]
add r1, r1, r5
lsr r2, r2, #0x18
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, r0, r5
bl FillWindowPixelBuffer
ldr r0, [sp, #0x18]
add r7, r7, #6
add r0, r0, #1
add r6, r6, #2
add r5, #0x10
str r0, [sp, #0x18]
cmp r0, #9
blt _02241B10
mov r0, #0x11
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
ldr r0, _02241C6C ; =0x0000012F
mov r3, #9
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldr r0, [r4]
add r1, #0xe0
lsr r2, r2, #0x18
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, #0xe0
bl FillWindowPixelBuffer
mov r3, #2
str r3, [sp]
mov r0, #9
str r0, [sp, #4]
str r3, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
mov r0, #0x66
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldr r0, [r4]
add r1, #0xf0
lsr r2, r2, #0x18
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, #0xf0
bl FillWindowPixelBuffer
add sp, #0x2c
pop {r4, r5, r6, r7, pc}
_02241BB2:
mov r0, #0
ldr r6, _02241C78 ; =ov70_02245D96
str r0, [sp, #0x1c]
mov r7, #0x30
add r5, r0, #0
_02241BBC:
ldrb r0, [r6, #1]
str r0, [sp]
mov r0, #0x17
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
lsl r0, r7, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldrb r3, [r6]
ldr r0, [r4]
add r1, r1, r5
lsr r2, r2, #0x18
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, r0, r5
bl FillWindowPixelBuffer
ldr r0, [sp, #0x1c]
add r7, #0x2e
add r0, r0, #1
add r6, r6, #2
add r5, #0x10
str r0, [sp, #0x1c]
cmp r0, #5
blt _02241BBC
mov r0, #0x10
str r0, [sp]
mov r0, #5
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
str r0, [sp, #0xc]
ldr r0, _02241C7C ; =0x00000116
mov r3, #0xd
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldr r0, [r4]
add r1, #0x50
lsr r2, r2, #0x18
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, #0x50
bl FillWindowPixelBuffer
mov r0, #0x11
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
ldr r0, _02241C6C ; =0x0000012F
mov r3, #0x18
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldr r0, [r4]
add r1, #0xe0
lsr r2, r2, #0x18
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, #0xe0
bl FillWindowPixelBuffer
add sp, #0x2c
pop {r4, r5, r6, r7, pc}
_02241C60:
mov r0, #0
ldr r6, _02241C80 ; =ov70_02245D60
b _02241C84
nop
_02241C68: .word ov70_02245E0E
_02241C6C: .word 0x0000012F
_02241C70: .word ov70_02245E10
_02241C74: .word ov70_02245DA2
_02241C78: .word ov70_02245D96
_02241C7C: .word 0x00000116
_02241C80: .word ov70_02245D60
_02241C84:
str r0, [sp, #0x20]
mov r7, #0x30
add r5, r0, #0
_02241C8A:
ldrb r0, [r6, #1]
str r0, [sp]
mov r0, #8
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
lsl r0, r7, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldrb r3, [r6]
ldr r0, [r4]
add r1, r1, r5
lsr r2, r2, #0x18
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, r0, r5
bl FillWindowPixelBuffer
ldr r0, [sp, #0x20]
add r7, #0x10
add r0, r0, #1
add r6, r6, #2
add r5, #0x10
str r0, [sp, #0x20]
cmp r0, #3
blt _02241C8A
mov r0, #0x11
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
mov r0, #0x60
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldr r0, [r4]
add r1, #0xe0
lsr r2, r2, #0x18
mov r3, #9
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, #0xe0
bl FillWindowPixelBuffer
add sp, #0x2c
pop {r4, r5, r6, r7, pc}
_02241D00:
mov r0, #0
ldr r6, _02241DB0 ; =ov70_02245D6E
str r0, [sp, #0x24]
mov r7, #0x30
add r5, r0, #0
_02241D0A:
ldrb r0, [r6, #1]
str r0, [sp]
mov r0, #0xb
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
lsl r0, r7, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldrb r3, [r6]
ldr r0, [r4]
add r1, r1, r5
lsr r2, r2, #0x18
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, r0, r5
bl FillWindowPixelBuffer
ldr r0, [sp, #0x24]
add r7, #0x16
add r0, r0, #1
add r6, r6, #2
add r5, #0x10
str r0, [sp, #0x24]
cmp r0, #4
blt _02241D0A
mov r0, #0xe
str r0, [sp]
mov r0, #5
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
str r0, [sp, #0xc]
mov r0, #0x88
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldr r0, [r4]
add r1, #0x40
lsr r2, r2, #0x18
mov r3, #6
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, #0x40
bl FillWindowPixelBuffer
mov r0, #0x11
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
mov r0, #0xa1
str r0, [sp, #0x10]
ldr r2, [r4, #0x54]
ldr r1, [r4, #4]
lsl r2, r2, #0x18
ldr r0, [r4]
add r1, #0xe0
lsr r2, r2, #0x18
mov r3, #9
bl AddWindowParameterized
ldr r0, [r4, #4]
mov r1, #0x22
add r0, #0xe0
bl FillWindowPixelBuffer
_02241DAA:
add sp, #0x2c
pop {r4, r5, r6, r7, pc}
nop
_02241DB0: .word ov70_02245D6E
thumb_func_end ov70_0224190C
thumb_func_start ov70_02241DB4
ov70_02241DB4: ; 0x02241DB4
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r4, r0, #0
add r2, sp, #0x10
add r5, r1, #0
ldr r0, [r4, #0x1c]
mov r1, #0
add r2, #1
add r3, sp, #0x10
bl sub_02019B1C
cmp r5, #6
bls _02241DD0
b _02242010
_02241DD0:
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02241DDC: ; jump table
.short _02241EA6 - _02241DDC - 2 ; case 0
.short _02241FD4 - _02241DDC - 2 ; case 1
.short _02241FF4 - _02241DDC - 2 ; case 2
.short _02241F6A - _02241DDC - 2 ; case 3
.short _02241DEA - _02241DDC - 2 ; case 4
.short _02241E48 - _02241DDC - 2 ; case 5
.short _02241F04 - _02241DDC - 2 ; case 6
_02241DEA:
mov r6, #0
add r5, r6, #0
mov r7, #0x22
_02241DF0:
ldr r0, [r4, #4]
add r1, r7, #0
add r0, r0, r5
bl FillWindowPixelBuffer
ldr r0, [r4, #4]
add r0, r0, r5
bl CopyWindowPixelsToVram_TextMode
ldr r0, [r4, #4]
add r0, r0, r5
bl RemoveWindow
add r6, r6, #1
add r5, #0x10
cmp r6, #9
blt _02241DF0
add r0, sp, #0x10
mov r1, #1
ldrsb r0, [r0, r1]
cmp r0, #0x10
bne _02241E3C
str r1, [sp]
mov r0, #0xf
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
ldr r0, [r4]
mov r1, #2
mov r2, #5
mov r3, #0x11
bl FillBgTilemapRect
ldr r0, [r4]
mov r1, #2
bl BgCommitTilemapBufferToVram
_02241E3C:
ldr r0, [r4, #4]
add r0, #0xe0
bl RemoveWindow
add sp, #0x14
pop {r4, r5, r6, r7, pc}
_02241E48:
mov r6, #0
add r5, r6, #0
mov r7, #0x22
_02241E4E:
ldr r0, [r4, #4]
add r1, r7, #0
add r0, r0, r5
bl FillWindowPixelBuffer
ldr r0, [r4, #4]
add r0, r0, r5
bl CopyWindowPixelsToVram_TextMode
ldr r0, [r4, #4]
add r0, r0, r5
bl RemoveWindow
add r6, r6, #1
add r5, #0x10
cmp r6, #4
blt _02241E4E
add r0, sp, #0x10
mov r1, #1
ldrsb r0, [r0, r1]
cmp r0, #0x10
bne _02241E9A
str r1, [sp]
mov r0, #0xf
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
ldr r0, [r4]
mov r1, #2
mov r2, #5
mov r3, #0x11
bl FillBgTilemapRect
ldr r0, [r4]
mov r1, #2
bl BgCommitTilemapBufferToVram
_02241E9A:
ldr r0, [r4, #4]
add r0, #0xe0
bl RemoveWindow
add sp, #0x14
pop {r4, r5, r6, r7, pc}
_02241EA6:
mov r6, #0
add r5, r6, #0
mov r7, #0x22
_02241EAC:
ldr r0, [r4, #4]
add r1, r7, #0
add r0, r0, r5
bl FillWindowPixelBuffer
ldr r0, [r4, #4]
add r0, r0, r5
bl CopyWindowPixelsToVram_TextMode
ldr r0, [r4, #4]
add r0, r0, r5
bl RemoveWindow
add r6, r6, #1
add r5, #0x10
cmp r6, #5
blt _02241EAC
add r0, sp, #0x10
mov r1, #1
ldrsb r0, [r0, r1]
cmp r0, #0x10
bne _02241EF8
str r1, [sp]
mov r0, #0xf
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
ldr r0, [r4]
mov r1, #2
mov r2, #5
mov r3, #0x11
bl FillBgTilemapRect
ldr r0, [r4]
mov r1, #2
bl BgCommitTilemapBufferToVram
_02241EF8:
ldr r0, [r4, #4]
add r0, #0xe0
bl RemoveWindow
add sp, #0x14
pop {r4, r5, r6, r7, pc}
_02241F04:
mov r6, #0
add r5, r6, #0
mov r7, #0x22
_02241F0A:
ldr r0, [r4, #4]
add r1, r7, #0
add r0, r0, r5
bl FillWindowPixelBuffer
ldr r0, [r4, #4]
add r0, r0, r5
bl CopyWindowPixelsToVram_TextMode
ldr r0, [r4, #4]
add r0, r0, r5
bl RemoveWindow
add r6, r6, #1
add r5, #0x10
cmp r6, #9
blt _02241F0A
add r0, sp, #0x10
mov r1, #1
ldrsb r0, [r0, r1]
cmp r0, #0x10
bne _02241F56
str r1, [sp]
mov r0, #0xf
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
ldr r0, [r4]
mov r1, #2
mov r2, #5
mov r3, #0x11
bl FillBgTilemapRect
ldr r0, [r4]
mov r1, #2
bl BgCommitTilemapBufferToVram
_02241F56:
ldr r0, [r4, #4]
add r0, #0xe0
bl RemoveWindow
ldr r0, [r4, #4]
add r0, #0xf0
bl RemoveWindow
add sp, #0x14
pop {r4, r5, r6, r7, pc}
_02241F6A:
mov r6, #0
add r5, r6, #0
mov r7, #0x22
_02241F70:
ldr r0, [r4, #4]
add r1, r7, #0
add r0, r0, r5
bl FillWindowPixelBuffer
ldr r0, [r4, #4]
add r0, r0, r5
bl CopyWindowPixelsToVram_TextMode
ldr r0, [r4, #4]
add r0, r0, r5
bl RemoveWindow
add r6, r6, #1
add r5, #0x10
cmp r6, #6
blt _02241F70
add r0, sp, #0x10
mov r1, #1
ldrsb r0, [r0, r1]
sub r0, #0x10
lsl r0, r0, #0x18
asr r0, r0, #0x18
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r0, #1
bhi _02241FC8
str r1, [sp]
mov r0, #0xe
str r0, [sp, #4]
mov r0, #0xf
str r0, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
ldr r0, [r4]
mov r1, #2
mov r2, #5
mov r3, #0x12
bl FillBgTilemapRect
ldr r0, [r4]
mov r1, #2
bl BgCommitTilemapBufferToVram
_02241FC8:
ldr r0, [r4, #4]
add r0, #0xe0
bl RemoveWindow
add sp, #0x14
pop {r4, r5, r6, r7, pc}
_02241FD4:
mov r6, #0
add r5, r6, #0
_02241FD8:
ldr r0, [r4, #4]
add r0, r0, r5
bl RemoveWindow
add r6, r6, #1
add r5, #0x10
cmp r6, #3
blt _02241FD8
ldr r0, [r4, #4]
add r0, #0xe0
bl RemoveWindow
add sp, #0x14
pop {r4, r5, r6, r7, pc}
_02241FF4:
mov r6, #0
add r5, r6, #0
_02241FF8:
ldr r0, [r4, #4]
add r0, r0, r5
bl RemoveWindow
add r6, r6, #1
add r5, #0x10
cmp r6, #5
blt _02241FF8
ldr r0, [r4, #4]
add r0, #0xe0
bl RemoveWindow
_02242010:
add sp, #0x14
pop {r4, r5, r6, r7, pc}
thumb_func_end ov70_02241DB4
thumb_func_start ov70_02242014
ov70_02242014: ; 0x02242014
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
mov r0, #0x3d
mov r1, #0x80
add r7, r2, #0
bl AllocFromHeap
add r4, r0, #0
ldr r0, [r5]
mov r1, #0
str r0, [r4]
ldr r0, [r5, #4]
mov r2, #1
str r0, [r4, #4]
ldr r0, [r5, #8]
mov r3, #0x3d
str r0, [r4, #8]
ldr r0, [r5, #0xc]
str r0, [r4, #0xc]
ldr r0, [r5, #0x10]
str r0, [r4, #0x10]
ldr r0, [r5, #0x14]
str r0, [r4, #0x14]
ldr r0, [r5, #0x18]
str r0, [r4, #0x18]
ldr r0, [r5, #0x1c]
str r0, [r4, #0x24]
ldr r0, [r5, #0x20]
str r0, [r4, #0x28]
ldr r0, [r5, #0x24]
str r0, [r4, #0x2c]
ldr r0, [r5, #0x28]
str r0, [r4, #0x20]
ldr r0, [r5, #0x2c]
str r0, [r4, #0x30]
str r6, [r4, #0x54]
str r7, [r4, #0x60]
strh r1, [r4, #0x3c]
add r0, r4, #0
strh r1, [r4, #0x3e]
add r0, #0x40
strh r1, [r0]
add r0, r4, #0
add r0, #0x42
strh r1, [r0]
add r0, r4, #0
add r0, #0x44
strb r1, [r0]
add r0, r4, #0
add r0, #0x45
strb r1, [r0]
add r0, r4, #0
str r1, [r4, #0x48]
add r0, #0x7e
strb r1, [r0]
str r1, [r4, #0x4c]
ldr r0, [r4]
mov r1, #2
bl sub_0201956C
str r0, [r4, #0x1c]
mov r0, #0x14
str r0, [sp]
ldr r0, [r4, #0x1c]
mov r1, #0
mov r2, #2
mov r3, #0x20
bl sub_020195F4
ldr r0, [r4, #0xc]
mov r1, #0x88
mov r2, #0x28
bl ov70_02238F9C
ldr r0, [r4, #0xc]
mov r1, #0x2f
bl Set2dSpriteAnimSeqNo
mov r0, #0xf
mov r1, #0xe
mov r2, #2
mov r3, #0x3d
bl MessagePrinter_New
str r0, [r4, #0x38]
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov70_02242014
thumb_func_start ov70_022420C4
ov70_022420C4: ; 0x022420C4
add r2, r0, #0
add r2, #0x58
strh r1, [r2]
cmp r1, #3
bhi _02242128
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_022420DA: ; jump table
.short _022420E2 - _022420DA - 2 ; case 0
.short _0224210A - _022420DA - 2 ; case 1
.short _0224211A - _022420DA - 2 ; case 2
.short _022420F6 - _022420DA - 2 ; case 3
_022420E2:
mov r2, #0
add r1, r0, #0
str r2, [r0, #0x48]
add r1, #0x7e
strb r2, [r1]
strh r2, [r0, #0x3c]
strh r2, [r0, #0x3e]
mov r1, #4
str r1, [r0, #0x4c]
bx lr
_022420F6:
mov r2, #0
add r1, r0, #0
str r2, [r0, #0x48]
add r1, #0x7e
strb r2, [r1]
strh r2, [r0, #0x3c]
strh r2, [r0, #0x3e]
mov r1, #0x10
str r1, [r0, #0x4c]
bx lr
_0224210A:
mov r2, #0
add r1, r0, #0
str r2, [r0, #0x48]
add r1, #0x7e
strb r2, [r1]
mov r1, #0x1c
str r1, [r0, #0x4c]
bx lr
_0224211A:
mov r2, #0
add r1, r0, #0
str r2, [r0, #0x48]
add r1, #0x7e
strb r2, [r1]
mov r1, #0x1f
str r1, [r0, #0x4c]
_02242128:
bx lr
.balign 4, 0
thumb_func_end ov70_022420C4
thumb_func_start ov70_0224212C
ov70_0224212C: ; 0x0224212C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x38]
bl MessagePrinter_Delete
ldr r0, [r4, #0x1c]
bl sub_020195C0
add r0, r4, #0
bl FreeToHeap
pop {r4, pc}
thumb_func_end ov70_0224212C
thumb_func_start ov70_02242144
ov70_02242144: ; 0x02242144
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r1, [r4, #0x4c]
lsl r2, r1, #2
ldr r1, _02242160 ; =ov70_022466F8
ldr r1, [r1, r2]
blx r1
add r5, r0, #0
ldr r0, [r4, #0x1c]
bl sub_02019934
add r0, r5, #0
pop {r3, r4, r5, pc}
nop
_02242160: .word ov70_022466F8
thumb_func_end ov70_02242144
thumb_func_start ov70_02242164
ov70_02242164: ; 0x02242164
push {r3, lr}
cmp r1, #7
bhi _022421B4
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02242176: ; jump table
.short _02242196 - _02242176 - 2 ; case 0
.short _0224219E - _02242176 - 2 ; case 1
.short _02242196 - _02242176 - 2 ; case 2
.short _022421A6 - _02242176 - 2 ; case 3
.short _02242186 - _02242176 - 2 ; case 4
.short _022421AE - _02242176 - 2 ; case 5
.short _0224218E - _02242176 - 2 ; case 6
.short _022421AE - _02242176 - 2 ; case 7
_02242186:
ldr r0, _022421B8 ; =ov70_02245ED0
bl sub_02025224
pop {r3, pc}
_0224218E:
ldr r0, _022421BC ; =ov70_02245F28
bl sub_02025224
pop {r3, pc}
_02242196:
ldr r0, _022421C0 ; =ov70_02245E3E
bl sub_02025224
pop {r3, pc}
_0224219E:
ldr r0, _022421C4 ; =ov70_02245DD0
bl sub_02025224
pop {r3, pc}
_022421A6:
ldr r0, _022421C8 ; =ov70_02245E5E
bl sub_02025224
pop {r3, pc}
_022421AE:
ldr r0, _022421CC ; =ov70_02245DE4
bl sub_02025224
_022421B4:
pop {r3, pc}
nop
_022421B8: .word ov70_02245ED0
_022421BC: .word ov70_02245F28
_022421C0: .word ov70_02245E3E
_022421C4: .word ov70_02245DD0
_022421C8: .word ov70_02245E5E
_022421CC: .word ov70_02245DE4
thumb_func_end ov70_02242164
thumb_func_start ov70_022421D0
ov70_022421D0: ; 0x022421D0
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
ldr r1, [r5, #0x48]
cmp r1, #9
bge _022421E0
add r0, #0x7e
strb r1, [r0]
_022421E0:
ldr r0, _02242344 ; =gSystem
mov r2, #0x40
ldr r0, [r0, #0x4c]
tst r2, r0
beq _022421F6
ldr r0, [r5, #0x48]
lsl r2, r0, #2
ldr r0, _02242348 ; =ov70_02245EA8
ldrb r0, [r0, r2]
str r0, [r5, #0x48]
b _0224222A
_022421F6:
mov r2, #0x80
tst r2, r0
beq _02242208
ldr r0, [r5, #0x48]
lsl r2, r0, #2
ldr r0, _0224234C ; =ov70_02245EA9
ldrb r0, [r0, r2]
str r0, [r5, #0x48]
b _0224222A
_02242208:
mov r2, #0x20
tst r2, r0
beq _0224221A
ldr r0, [r5, #0x48]
lsl r2, r0, #2
ldr r0, _02242350 ; =ov70_02245EAA
ldrb r0, [r0, r2]
str r0, [r5, #0x48]
b _0224222A
_0224221A:
mov r2, #0x10
tst r0, r2
beq _0224222A
ldr r0, [r5, #0x48]
lsl r2, r0, #2
ldr r0, _02242354 ; =ov70_02245EAB
ldrb r0, [r0, r2]
str r0, [r5, #0x48]
_0224222A:
cmp r1, #9
blt _02242282
ldr r0, [r5, #0x48]
cmp r0, #9
bge _02242282
ldr r0, _02242344 ; =gSystem
ldr r2, [r0, #0x4c]
mov r0, #0x40
tst r0, r2
beq _02242260
add r0, r5, #0
add r0, #0x7e
ldrb r0, [r0]
str r0, [r5, #0x48]
add r0, r0, #4
cmp r0, #9
bge _02242282
add r0, r5, #0
add r0, #0x48
_02242250:
ldr r2, [r0]
add r2, r2, #4
str r2, [r0]
ldr r2, [r5, #0x48]
add r2, r2, #4
cmp r2, #9
blt _02242250
b _02242282
_02242260:
mov r0, #0x80
tst r0, r2
beq _02242282
add r0, r5, #0
add r0, #0x7e
ldrb r0, [r0]
str r0, [r5, #0x48]
sub r0, r0, #4
bmi _02242282
add r0, r5, #0
add r0, #0x48
_02242276:
ldr r2, [r0]
sub r2, r2, #4
str r2, [r0]
ldr r2, [r5, #0x48]
sub r2, r2, #4
bpl _02242276
_02242282:
ldr r0, [r5, #0x48]
cmp r1, r0
beq _022422BC
ldr r0, _02242358 ; =0x000005DC
bl PlaySE
ldr r0, [r5, #0x48]
ldr r1, _0224235C ; =ov70_02245E26
lsl r2, r0, #1
ldrb r1, [r1, r2]
ldr r3, _02242360 ; =ov70_02245E27
ldr r0, [r5, #0xc]
ldrb r2, [r3, r2]
add r1, #0x10
lsl r1, r1, #3
lsl r2, r2, #3
bl ov70_02238F9C
ldr r0, [r5, #0x48]
cmp r0, #9
ldr r0, [r5, #0xc]
bne _022422B6
mov r1, #0x30
bl Set2dSpriteAnimSeqNo
b _022422BC
_022422B6:
mov r1, #0x3d
bl Set2dSpriteAnimSeqNo
_022422BC:
add r0, r5, #0
mov r1, #4
bl ov70_02242164
add r6, r0, #0
mov r0, #0
mvn r0, r0
cmp r6, r0
beq _022422F8
cmp r6, #9
bne _022422DE
ldr r0, _02242358 ; =0x000005DC
bl PlaySE
mov r0, #1
mvn r0, r0
pop {r4, r5, r6, pc}
_022422DE:
blo _022422E4
bl GF_AssertFail
_022422E4:
cmp r4, #0
beq _022422EE
ldrb r0, [r4, r6]
cmp r0, #0
beq _0224233C
_022422EE:
ldr r0, _02242358 ; =0x000005DC
bl PlaySE
add r0, r6, #0
pop {r4, r5, r6, pc}
_022422F8:
ldr r0, _02242344 ; =gSystem
ldr r2, [r0, #0x48]
mov r0, #1
add r1, r2, #0
tst r1, r0
beq _0224232A
ldr r1, [r5, #0x48]
cmp r1, #9
bne _0224230E
sub r0, r0, #3
pop {r4, r5, r6, pc}
_0224230E:
blt _02242314
bl GF_AssertFail
_02242314:
cmp r4, #0
beq _02242320
ldr r0, [r5, #0x48]
ldrb r0, [r4, r0]
cmp r0, #0
beq _0224233C
_02242320:
ldr r0, _02242358 ; =0x000005DC
bl PlaySE
ldr r0, [r5, #0x48]
pop {r4, r5, r6, pc}
_0224232A:
mov r0, #2
tst r0, r2
beq _0224233C
ldr r0, _02242358 ; =0x000005DC
bl PlaySE
mov r0, #1
mvn r0, r0
pop {r4, r5, r6, pc}
_0224233C:
mov r0, #0
mvn r0, r0
pop {r4, r5, r6, pc}
nop
_02242344: .word gSystem
_02242348: .word ov70_02245EA8
_0224234C: .word ov70_02245EA9
_02242350: .word ov70_02245EAA
_02242354: .word ov70_02245EAB
_02242358: .word 0x000005DC
_0224235C: .word ov70_02245E26
_02242360: .word ov70_02245E27
thumb_func_end ov70_022421D0
thumb_func_start ov70_02242364
ov70_02242364: ; 0x02242364
cmp r1, #3
beq _02242386
mov r2, #0x3c
ldrsh r0, [r0, r2]
cmp r0, #8
bgt _02242382
lsl r3, r0, #3
ldr r0, _0224238C ; =ov70_02245F5C
ldr r0, [r0, r3]
cmp r1, r0
blt _0224237E
add r1, r2, #0
sub r1, #0x3d
_0224237E:
add r0, r1, #0
bx lr
_02242382:
add r0, r1, #0
bx lr
_02242386:
mov r0, #1
mvn r0, r0
bx lr
.balign 4, 0
_0224238C: .word ov70_02245F5C
thumb_func_end ov70_02242364
thumb_func_start ov70_02242390
ov70_02242390: ; 0x02242390
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
ldr r1, [r5, #0x48]
cmp r1, #3
bge _022423A0
add r0, #0x7e
strb r1, [r0]
_022423A0:
ldr r0, _022424E4 ; =gSystem
mov r2, #0x40
ldr r0, [r0, #0x4c]
tst r2, r0
beq _022423B6
ldr r0, [r5, #0x48]
lsl r2, r0, #2
ldr r0, _022424E8 ; =ov70_02245DC0
ldrb r0, [r0, r2]
str r0, [r5, #0x48]
b _022423EA
_022423B6:
mov r2, #0x80
tst r2, r0
beq _022423C8
ldr r0, [r5, #0x48]
lsl r2, r0, #2
ldr r0, _022424EC ; =ov70_02245DC1
ldrb r0, [r0, r2]
str r0, [r5, #0x48]
b _022423EA
_022423C8:
mov r2, #0x20
tst r2, r0
beq _022423DA
ldr r0, [r5, #0x48]
lsl r2, r0, #2
ldr r0, _022424F0 ; =ov70_02245DC2
ldrb r0, [r0, r2]
str r0, [r5, #0x48]
b _022423EA
_022423DA:
mov r2, #0x10
tst r0, r2
beq _022423EA
ldr r0, [r5, #0x48]
lsl r2, r0, #2
ldr r0, _022424F4 ; =ov70_02245DC3
ldrb r0, [r0, r2]
str r0, [r5, #0x48]
_022423EA:
cmp r1, #3
bne _022423FC
ldr r0, [r5, #0x48]
cmp r0, #3
bge _022423FC
add r0, r5, #0
add r0, #0x7e
ldrb r0, [r0]
str r0, [r5, #0x48]
_022423FC:
ldr r0, [r5, #0x48]
cmp r1, r0
beq _02242440
ldr r0, _022424F8 ; =0x000005DC
bl PlaySE
ldr r0, [r5, #0x48]
cmp r0, #3
bne _02242422
ldr r0, [r5, #0xc]
mov r1, #0xc0
mov r2, #0x88
bl ov70_02238F9C
ldr r0, [r5, #0xc]
mov r1, #0x30
bl Set2dSpriteAnimSeqNo
b _02242440
_02242422:
ldr r1, _022424FC ; =ov70_02245E26
lsl r2, r0, #1
ldrb r1, [r1, r2]
ldr r3, _02242500 ; =ov70_02245E27
ldr r0, [r5, #0xc]
ldrb r2, [r3, r2]
add r1, #0x10
lsl r1, r1, #3
lsl r2, r2, #3
bl ov70_02238F9C
ldr r0, [r5, #0xc]
mov r1, #0x2f
bl Set2dSpriteAnimSeqNo
_02242440:
add r0, r5, #0
mov r1, #5
bl ov70_02242164
add r1, r0, #0
mov r0, #0
mvn r0, r0
cmp r1, r0
beq _02242488
add r0, r5, #0
bl ov70_02242364
mov r1, #0
add r6, r0, #0
mvn r1, r1
cmp r6, r1
beq _022424E0
sub r0, r1, #1
cmp r6, r0
beq _0224247E
cmp r4, #0
beq _0224247E
mov r0, #0x3c
ldrsh r0, [r5, r0]
lsl r1, r0, #2
ldr r0, _02242504 ; =ov70_02245E84
ldr r1, [r0, r1]
add r0, r4, r6
ldrb r0, [r1, r0]
cmp r0, #0
beq _022424DC
_0224247E:
ldr r0, _022424F8 ; =0x000005DC
bl PlaySE
add r0, r6, #0
pop {r4, r5, r6, pc}
_02242488:
ldr r0, _022424E4 ; =gSystem
ldr r1, [r0, #0x48]
mov r0, #1
tst r0, r1
beq _022424CA
ldr r1, [r5, #0x48]
add r0, r5, #0
bl ov70_02242364
mov r1, #0
add r6, r0, #0
mvn r1, r1
cmp r6, r1
beq _022424E0
sub r0, r1, #1
cmp r6, r0
beq _022424C0
cmp r4, #0
beq _022424C0
mov r0, #0x3c
ldrsh r0, [r5, r0]
lsl r1, r0, #2
ldr r0, _02242504 ; =ov70_02245E84
ldr r1, [r0, r1]
add r0, r4, r6
ldrb r0, [r1, r0]
cmp r0, #0
beq _022424DC
_022424C0:
ldr r0, _022424F8 ; =0x000005DC
bl PlaySE
add r0, r6, #0
pop {r4, r5, r6, pc}
_022424CA:
mov r0, #2
tst r0, r1
beq _022424DC
ldr r0, _022424F8 ; =0x000005DC
bl PlaySE
mov r0, #1
mvn r0, r0
pop {r4, r5, r6, pc}
_022424DC:
mov r0, #0
mvn r0, r0
_022424E0:
pop {r4, r5, r6, pc}
nop
_022424E4: .word gSystem
_022424E8: .word ov70_02245DC0
_022424EC: .word ov70_02245DC1
_022424F0: .word ov70_02245DC2
_022424F4: .word ov70_02245DC3
_022424F8: .word 0x000005DC
_022424FC: .word ov70_02245E26
_02242500: .word ov70_02245E27
_02242504: .word ov70_02245E84
thumb_func_end ov70_02242390
thumb_func_start ov70_02242508
ov70_02242508: ; 0x02242508
push {r3, lr}
cmp r0, #0
bne _02242512
mov r0, #1
pop {r3, pc}
_02242512:
sub r2, r1, #1
add r0, r0, r2
bl _s32_div_f
pop {r3, pc}
thumb_func_end ov70_02242508
thumb_func_start ov70_0224251C
ov70_0224251C: ; 0x0224251C
push {r3, r4, r5, lr}
add r5, r0, #0
cmp r1, #4
beq _0224252E
cmp r1, #5
beq _02242534
cmp r1, #6
beq _02242542
b _0224254E
_0224252E:
mov r0, #1
mvn r0, r0
pop {r3, r4, r5, pc}
_02242534:
mov r1, #0
mvn r1, r1
bl ov70_02242574
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, pc}
_02242542:
mov r1, #1
bl ov70_02242574
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, pc}
_0224254E:
mov r0, #0x5a
ldrsh r2, [r5, r0]
lsl r2, r2, #2
add r4, r1, r2
ldr r1, [r5, #0x5c]
cmp r4, r1
bge _0224256C
ldr r0, _02242570 ; =0x000005DC
bl PlaySE
ldr r1, [r5, #0x34]
lsl r0, r4, #3
add r0, r1, r0
ldr r0, [r0, #4]
pop {r3, r4, r5, pc}
_0224256C:
sub r0, #0x5b
pop {r3, r4, r5, pc}
.balign 4, 0
_02242570: .word 0x000005DC
thumb_func_end ov70_0224251C
thumb_func_start ov70_02242574
ov70_02242574: ; 0x02242574
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
ldr r0, [r5, #0x5c]
add r6, r1, #0
mov r1, #4
bl ov70_02242508
sub r4, r0, #1
beq _02242616
cmp r6, #0
bge _022425BE
mov r0, #0x5e
lsl r0, r0, #4
bl PlaySE
ldr r0, [r5, #0x14]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
ldr r0, [r5, #0x14]
mov r1, #0x27
bl Set2dSpriteAnimSeqNo
mov r0, #0x5a
ldrsh r0, [r5, r0]
cmp r0, #0
beq _022425B6
sub r1, r0, #1
add r0, r5, #0
add r0, #0x5a
strh r1, [r0]
b _022425F0
_022425B6:
add r0, r5, #0
add r0, #0x5a
strh r4, [r0]
b _022425F0
_022425BE:
mov r0, #0x5e
lsl r0, r0, #4
bl PlaySE
ldr r0, [r5, #0x10]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
ldr r0, [r5, #0x10]
mov r1, #0x26
bl Set2dSpriteAnimSeqNo
mov r0, #0x5a
ldrsh r0, [r5, r0]
cmp r0, r4
bge _022425E8
add r1, r0, #1
add r0, r5, #0
add r0, #0x5a
strh r1, [r0]
b _022425F0
_022425E8:
add r0, r5, #0
mov r1, #0
add r0, #0x5a
strh r1, [r0]
_022425F0:
mov r1, #0x5a
ldrsh r1, [r5, r1]
ldr r2, [r5, #0x5c]
add r0, r5, #0
bl ov70_022434C0
ldr r0, [r5, #0x5c]
mov r1, #4
bl ov70_02242508
str r0, [sp]
mov r3, #0x5a
ldr r2, [r5, #4]
ldrsh r3, [r5, r3]
ldr r0, [r5, #0x1c]
ldr r1, [r5, #0x38]
add r2, #0x40
bl ov70_02243F00
_02242616:
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov70_02242574
thumb_func_start ov70_0224261C
ov70_0224261C: ; 0x0224261C
push {r3, r4, r5, lr}
ldr r1, _022426E4 ; =gSystem
add r5, r0, #0
ldr r2, [r1, #0x4c]
mov r1, #0x40
ldr r4, [r5, #0x48]
tst r1, r2
beq _0224263C
cmp r4, #0
beq _02242636
sub r0, r4, #1
str r0, [r5, #0x48]
b _0224266E
_02242636:
mov r0, #4
str r0, [r5, #0x48]
b _0224266E
_0224263C:
mov r1, #0x80
tst r1, r2
beq _02242652
cmp r4, #4
beq _0224264C
add r0, r4, #1
str r0, [r5, #0x48]
b _0224266E
_0224264C:
mov r0, #0
str r0, [r5, #0x48]
b _0224266E
_02242652:
mov r1, #0x20
add r3, r2, #0
tst r3, r1
beq _02242662
sub r1, #0x21
bl ov70_02242574
b _0224266E
_02242662:
mov r1, #0x10
tst r1, r2
beq _0224266E
mov r1, #1
bl ov70_02242574
_0224266E:
ldr r0, [r5, #0x48]
cmp r4, r0
beq _022426A2
ldr r0, _022426E8 ; =0x000005DC
bl PlaySE
ldr r0, [r5, #0x48]
ldr r1, _022426EC ; =ov70_02245D76
lsl r3, r0, #1
ldr r2, _022426F0 ; =ov70_02245D77
ldrb r1, [r1, r3]
ldrb r2, [r2, r3]
ldr r0, [r5, #0xc]
bl ov70_02238F9C
ldr r0, [r5, #0x48]
cmp r0, #4
ldr r0, [r5, #0xc]
bne _0224269C
mov r1, #0x30
bl Set2dSpriteAnimSeqNo
b _022426A2
_0224269C:
mov r1, #0x31
bl Set2dSpriteAnimSeqNo
_022426A2:
add r0, r5, #0
mov r1, #0
bl ov70_02242164
add r1, r0, #0
mov r0, #0
mvn r0, r0
cmp r1, r0
beq _022426BC
add r0, r5, #0
bl ov70_0224251C
pop {r3, r4, r5, pc}
_022426BC:
ldr r1, _022426E4 ; =gSystem
ldr r2, [r1, #0x48]
mov r1, #1
tst r1, r2
beq _022426D0
ldr r1, [r5, #0x48]
add r0, r5, #0
bl ov70_0224251C
pop {r3, r4, r5, pc}
_022426D0:
mov r1, #2
tst r1, r2
beq _022426E0
ldr r0, _022426E8 ; =0x000005DC
bl PlaySE
mov r0, #1
mvn r0, r0
_022426E0:
pop {r3, r4, r5, pc}
nop
_022426E4: .word gSystem
_022426E8: .word 0x000005DC
_022426EC: .word ov70_02245D76
_022426F0: .word ov70_02245D77
thumb_func_end ov70_0224261C
thumb_func_start ov70_022426F4
ov70_022426F4: ; 0x022426F4
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _022427B0 ; =gSystem
ldr r4, [r5, #0x48]
ldr r1, [r0, #0x4c]
mov r0, #0x40
tst r0, r1
beq _0224271C
ldr r0, _022427B4 ; =0x000005DC
bl PlaySE
ldr r0, [r5, #0x48]
cmp r0, #0
beq _02242716
sub r0, r0, #1
str r0, [r5, #0x48]
b _02242738
_02242716:
mov r0, #3
str r0, [r5, #0x48]
b _02242738
_0224271C:
mov r0, #0x80
tst r0, r1
beq _02242738
ldr r0, _022427B4 ; =0x000005DC
bl PlaySE
ldr r0, [r5, #0x48]
cmp r0, #3
beq _02242734
add r0, r0, #1
str r0, [r5, #0x48]
b _02242738
_02242734:
mov r0, #0
str r0, [r5, #0x48]
_02242738:
ldr r0, [r5, #0x48]
cmp r4, r0
beq _02242764
ldr r1, _022427B8 ; =ov70_02245D66
lsl r3, r0, #1
ldr r2, _022427BC ; =ov70_02245D67
ldrb r1, [r1, r3]
ldrb r2, [r2, r3]
ldr r0, [r5, #0xc]
bl ov70_02238F9C
ldr r0, [r5, #0x48]
cmp r0, #3
ldr r0, [r5, #0xc]
bne _0224275E
mov r1, #0x30
bl Set2dSpriteAnimSeqNo
b _02242764
_0224275E:
mov r1, #0x31
bl Set2dSpriteAnimSeqNo
_02242764:
add r0, r5, #0
mov r1, #1
bl ov70_02242164
add r4, r0, #0
mov r0, #0
mvn r0, r0
cmp r4, r0
beq _02242784
ldr r0, _022427B4 ; =0x000005DC
bl PlaySE
ldr r0, _022427C0 ; =ov70_02245DB0
lsl r1, r4, #2
ldr r0, [r0, r1]
pop {r3, r4, r5, pc}
_02242784:
ldr r1, _022427B0 ; =gSystem
ldr r2, [r1, #0x48]
mov r1, #1
tst r1, r2
beq _0224279E
ldr r0, _022427B4 ; =0x000005DC
bl PlaySE
ldr r0, [r5, #0x48]
lsl r1, r0, #2
ldr r0, _022427C0 ; =ov70_02245DB0
ldr r0, [r0, r1]
pop {r3, r4, r5, pc}
_0224279E:
mov r1, #2
tst r1, r2
beq _022427AE
ldr r0, _022427B4 ; =0x000005DC
bl PlaySE
mov r0, #1
mvn r0, r0
_022427AE:
pop {r3, r4, r5, pc}
.balign 4, 0
_022427B0: .word gSystem
_022427B4: .word 0x000005DC
_022427B8: .word ov70_02245D66
_022427BC: .word ov70_02245D67
_022427C0: .word ov70_02245DB0
thumb_func_end ov70_022426F4
thumb_func_start ov70_022427C4
ov70_022427C4: ; 0x022427C4
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
cmp r1, #0
bge _02242802
mov r0, #0x5e
lsl r0, r0, #4
bl PlaySE
ldr r0, [r4, #0x14]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
ldr r0, [r4, #0x14]
mov r1, #0x27
bl Set2dSpriteAnimSeqNo
mov r0, #0x5a
ldrsh r0, [r4, r0]
cmp r0, #0
beq _022427F8
sub r1, r0, #1
add r0, r4, #0
add r0, #0x5a
strh r1, [r0]
b _02242834
_022427F8:
add r0, r4, #0
mov r1, #2
add r0, #0x5a
strh r1, [r0]
b _02242834
_02242802:
mov r0, #0x5e
lsl r0, r0, #4
bl PlaySE
ldr r0, [r4, #0x10]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
ldr r0, [r4, #0x10]
mov r1, #0x26
bl Set2dSpriteAnimSeqNo
mov r0, #0x5a
ldrsh r0, [r4, r0]
cmp r0, #2
bge _0224282C
add r1, r0, #1
add r0, r4, #0
add r0, #0x5a
strh r1, [r0]
b _02242834
_0224282C:
add r0, r4, #0
mov r1, #0
add r0, #0x5a
strh r1, [r0]
_02242834:
mov r1, #0x5a
ldrsh r1, [r4, r1]
ldr r2, [r4, #0x5c]
add r0, r4, #0
bl ov70_022434C0
ldr r0, [r4, #0x5c]
mov r1, #4
bl ov70_02242508
str r0, [sp]
mov r3, #0x5a
ldr r2, [r4, #4]
ldrsh r3, [r4, r3]
ldr r0, [r4, #0x1c]
ldr r1, [r4, #0x38]
add r2, #0x40
bl ov70_02243F00
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov70_022427C4
thumb_func_start ov70_02242860
ov70_02242860: ; 0x02242860
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
cmp r4, #4
beq _02242874
cmp r4, #5
beq _02242880
cmp r4, #6
beq _0224288E
b _0224289A
_02242874:
ldr r0, _022428BC ; =0x000005DC
bl PlaySE
mov r0, #1
mvn r0, r0
pop {r3, r4, r5, pc}
_02242880:
mov r1, #0
mvn r1, r1
bl ov70_022427C4
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, pc}
_0224288E:
mov r1, #1
bl ov70_022427C4
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, pc}
_0224289A:
mov r0, #0x5a
ldrsh r1, [r5, r0]
lsl r1, r1, #2
add r2, r4, r1
ldr r1, [r5, #0x5c]
cmp r2, r1
bge _022428B8
ldr r0, _022428BC ; =0x000005DC
bl PlaySE
ldr r1, [r5, #0x34]
lsl r0, r4, #3
add r0, r1, r0
ldr r0, [r0, #4]
pop {r3, r4, r5, pc}
_022428B8:
sub r0, #0x5b
pop {r3, r4, r5, pc}
.balign 4, 0
_022428BC: .word 0x000005DC
thumb_func_end ov70_02242860
thumb_func_start ov70_022428C0
ov70_022428C0: ; 0x022428C0
push {r3, r4, r5, lr}
ldr r1, _02242990 ; =gSystem
add r5, r0, #0
ldr r2, [r1, #0x4c]
mov r1, #0x40
ldr r4, [r5, #0x48]
tst r1, r2
beq _022428E8
ldr r0, _02242994 ; =0x000005DC
bl PlaySE
ldr r0, [r5, #0x48]
cmp r0, #0
beq _022428E2
sub r0, r0, #1
str r0, [r5, #0x48]
b _02242922
_022428E2:
mov r0, #4
str r0, [r5, #0x48]
b _02242922
_022428E8:
mov r1, #0x80
tst r1, r2
beq _02242906
ldr r0, _02242994 ; =0x000005DC
bl PlaySE
ldr r0, [r5, #0x48]
cmp r0, #4
beq _02242900
add r0, r0, #1
str r0, [r5, #0x48]
b _02242922
_02242900:
mov r0, #0
str r0, [r5, #0x48]
b _02242922
_02242906:
mov r1, #0x20
add r3, r2, #0
tst r3, r1
beq _02242916
sub r1, #0x21
bl ov70_022427C4
b _02242922
_02242916:
mov r1, #0x10
tst r1, r2
beq _02242922
mov r1, #1
bl ov70_022427C4
_02242922:
ldr r0, [r5, #0x48]
cmp r4, r0
beq _0224294E
ldr r1, _02242998 ; =ov70_02245D80
lsl r3, r0, #1
ldr r2, _0224299C ; =ov70_02245D81
ldrb r1, [r1, r3]
ldrb r2, [r2, r3]
ldr r0, [r5, #0xc]
bl ov70_02238F9C
ldr r0, [r5, #0x48]
cmp r0, #4
ldr r0, [r5, #0xc]
bne _02242948
mov r1, #0x30
bl Set2dSpriteAnimSeqNo
b _0224294E
_02242948:
mov r1, #0x31
bl Set2dSpriteAnimSeqNo
_0224294E:
add r0, r5, #0
mov r1, #2
bl ov70_02242164
add r1, r0, #0
mov r0, #0
mvn r0, r0
cmp r1, r0
beq _02242968
add r0, r5, #0
bl ov70_02242860
pop {r3, r4, r5, pc}
_02242968:
ldr r1, _02242990 ; =gSystem
ldr r2, [r1, #0x48]
mov r1, #1
tst r1, r2
beq _0224297C
ldr r1, [r5, #0x48]
add r0, r5, #0
bl ov70_02242860
pop {r3, r4, r5, pc}
_0224297C:
mov r1, #2
tst r1, r2
beq _0224298C
ldr r0, _02242994 ; =0x000005DC
bl PlaySE
mov r0, #1
mvn r0, r0
_0224298C:
pop {r3, r4, r5, pc}
nop
_02242990: .word gSystem
_02242994: .word 0x000005DC
_02242998: .word ov70_02245D80
_0224299C: .word ov70_02245D81
thumb_func_end ov70_022428C0
thumb_func_start ov70_022429A0
ov70_022429A0: ; 0x022429A0
cmp r1, #9
beq _022429AA
cmp r1, #0xa
beq _022429B0
b _022429B4
_022429AA:
mov r0, #1
mvn r0, r0
bx lr
_022429B0:
mov r0, #0xa
bx lr
_022429B4:
add r0, r1, #0
bx lr
thumb_func_end ov70_022429A0
thumb_func_start ov70_022429B8
ov70_022429B8: ; 0x022429B8
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
ldr r1, [r5, #0x48]
cmp r1, #9
bge _022429C8
add r0, #0x7e
strb r1, [r0]
_022429C8:
ldr r0, _02242B3C ; =gSystem
mov r2, #0x40
ldr r0, [r0, #0x4c]
tst r2, r0
beq _022429DE
ldr r0, [r5, #0x48]
lsl r2, r0, #2
ldr r0, _02242B40 ; =ov70_02245EFC
ldrb r0, [r0, r2]
str r0, [r5, #0x48]
b _02242A12
_022429DE:
mov r2, #0x80
tst r2, r0
beq _022429F0
ldr r0, [r5, #0x48]
lsl r2, r0, #2
ldr r0, _02242B44 ; =ov70_02245EFD
ldrb r0, [r0, r2]
str r0, [r5, #0x48]
b _02242A12
_022429F0:
mov r2, #0x20
tst r2, r0
beq _02242A02
ldr r0, [r5, #0x48]
lsl r2, r0, #2
ldr r0, _02242B48 ; =ov70_02245EFE
ldrb r0, [r0, r2]
str r0, [r5, #0x48]
b _02242A12
_02242A02:
mov r2, #0x10
tst r0, r2
beq _02242A12
ldr r0, [r5, #0x48]
lsl r2, r0, #2
ldr r0, _02242B4C ; =ov70_02245EFF
ldrb r0, [r0, r2]
str r0, [r5, #0x48]
_02242A12:
cmp r1, #9
blt _02242A6A
ldr r0, [r5, #0x48]
cmp r0, #9
bge _02242A6A
ldr r0, _02242B3C ; =gSystem
ldr r2, [r0, #0x4c]
mov r0, #0x40
tst r0, r2
beq _02242A48
add r0, r5, #0
add r0, #0x7e
ldrb r0, [r0]
str r0, [r5, #0x48]
add r0, r0, #4
cmp r0, #9
bge _02242A6A
add r0, r5, #0
add r0, #0x48
_02242A38:
ldr r2, [r0]
add r2, r2, #4
str r2, [r0]
ldr r2, [r5, #0x48]
add r2, r2, #4
cmp r2, #9
blt _02242A38
b _02242A6A
_02242A48:
mov r0, #0x80
tst r0, r2
beq _02242A6A
add r0, r5, #0
add r0, #0x7e
ldrb r0, [r0]
str r0, [r5, #0x48]
sub r0, r0, #4
bmi _02242A6A
add r0, r5, #0
add r0, #0x48
_02242A5E:
ldr r2, [r0]
sub r2, r2, #4
str r2, [r0]
ldr r2, [r5, #0x48]
sub r2, r2, #4
bpl _02242A5E
_02242A6A:
ldr r0, [r5, #0x48]
cmp r1, r0
beq _02242AB6
ldr r0, _02242B50 ; =0x000005DC
bl PlaySE
ldr r0, [r5, #0x48]
ldr r1, _02242B54 ; =ov70_02245DF8
lsl r2, r0, #1
ldrb r1, [r1, r2]
ldr r3, _02242B58 ; =ov70_02245DF9
ldr r0, [r5, #0xc]
ldrb r2, [r3, r2]
add r1, #0x10
lsl r1, r1, #3
lsl r2, r2, #3
bl ov70_02238F9C
ldr r0, [r5, #0x48]
cmp r0, #9
beq _02242A9A
cmp r0, #0xa
beq _02242AA4
b _02242AAE
_02242A9A:
ldr r0, [r5, #0xc]
mov r1, #0x30
bl Set2dSpriteAnimSeqNo
b _02242AB6
_02242AA4:
ldr r0, [r5, #0xc]
mov r1, #0x31
bl Set2dSpriteAnimSeqNo
b _02242AB6
_02242AAE:
ldr r0, [r5, #0xc]
mov r1, #0x3d
bl Set2dSpriteAnimSeqNo
_02242AB6:
add r0, r5, #0
mov r1, #6
bl ov70_02242164
add r1, r0, #0
mov r0, #0
mvn r0, r0
cmp r1, r0
beq _02242AF0
add r0, r5, #0
bl ov70_022429A0
add r5, r0, #0
mov r0, #1
mvn r0, r0
cmp r5, r0
beq _02242AE6
cmp r5, #0xb
beq _02242AE6
cmp r4, #0
beq _02242AE6
ldrb r0, [r4, r5]
cmp r0, #0
beq _02242B36
_02242AE6:
ldr r0, _02242B50 ; =0x000005DC
bl PlaySE
add r0, r5, #0
pop {r3, r4, r5, pc}
_02242AF0:
ldr r0, _02242B3C ; =gSystem
ldr r1, [r0, #0x48]
mov r0, #1
tst r0, r1
beq _02242B24
ldr r1, [r5, #0x48]
add r0, r5, #0
bl ov70_022429A0
add r5, r0, #0
mov r0, #1
mvn r0, r0
cmp r5, r0
beq _02242B1A
cmp r5, #0xb
beq _02242B1A
cmp r4, #0
beq _02242B1A
ldrb r0, [r4, r5]
cmp r0, #0
beq _02242B36
_02242B1A:
ldr r0, _02242B50 ; =0x000005DC
bl PlaySE
add r0, r5, #0
pop {r3, r4, r5, pc}
_02242B24:
mov r0, #2
tst r0, r1
beq _02242B36
ldr r0, _02242B50 ; =0x000005DC
bl PlaySE
mov r0, #1
mvn r0, r0
pop {r3, r4, r5, pc}
_02242B36:
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, pc}
.balign 4, 0
_02242B3C: .word gSystem
_02242B40: .word ov70_02245EFC
_02242B44: .word ov70_02245EFD
_02242B48: .word ov70_02245EFE
_02242B4C: .word ov70_02245EFF
_02242B50: .word 0x000005DC
_02242B54: .word ov70_02245DF8
_02242B58: .word ov70_02245DF9
thumb_func_end ov70_022429B8
thumb_func_start ov70_02242B5C
ov70_02242B5C: ; 0x02242B5C
push {r3, r4, r5, lr}
add r5, r0, #0
cmp r1, #5
beq _02242B6E
cmp r1, #6
beq _02242B7A
cmp r1, #7
beq _02242B88
b _02242B94
_02242B6E:
ldr r0, _02242BB8 ; =0x000005DC
bl PlaySE
mov r0, #1
mvn r0, r0
pop {r3, r4, r5, pc}
_02242B7A:
mov r1, #0
mvn r1, r1
bl ov70_02242BBC
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, pc}
_02242B88:
mov r1, #1
bl ov70_02242BBC
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, pc}
_02242B94:
mov r0, #0x5a
ldrsh r3, [r5, r0]
lsl r2, r3, #2
add r2, r3, r2
add r4, r1, r2
ldr r1, [r5, #0x5c]
cmp r4, r1
bge _02242BB4
ldr r0, _02242BB8 ; =0x000005DC
bl PlaySE
ldr r1, [r5, #0x34]
lsl r0, r4, #3
add r0, r1, r0
ldr r0, [r0, #4]
pop {r3, r4, r5, pc}
_02242BB4:
sub r0, #0x5b
pop {r3, r4, r5, pc}
.balign 4, 0
_02242BB8: .word 0x000005DC
thumb_func_end ov70_02242B5C
thumb_func_start ov70_02242BBC
ov70_02242BBC: ; 0x02242BBC
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
ldr r0, [r5, #0x5c]
add r6, r1, #0
mov r1, #5
bl ov70_02242508
sub r4, r0, #1
beq _02242C5E
cmp r6, #0
bge _02242C06
mov r0, #0x5e
lsl r0, r0, #4
bl PlaySE
ldr r0, [r5, #0x14]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
ldr r0, [r5, #0x14]
mov r1, #0x27
bl Set2dSpriteAnimSeqNo
mov r0, #0x5a
ldrsh r0, [r5, r0]
cmp r0, #0
beq _02242BFE
sub r1, r0, #1
add r0, r5, #0
add r0, #0x5a
strh r1, [r0]
b _02242C38
_02242BFE:
add r0, r5, #0
add r0, #0x5a
strh r4, [r0]
b _02242C38
_02242C06:
mov r0, #0x5e
lsl r0, r0, #4
bl PlaySE
ldr r0, [r5, #0x10]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
ldr r0, [r5, #0x10]
mov r1, #0x26
bl Set2dSpriteAnimSeqNo
mov r0, #0x5a
ldrsh r0, [r5, r0]
cmp r0, r4
bge _02242C30
add r1, r0, #1
add r0, r5, #0
add r0, #0x5a
strh r1, [r0]
b _02242C38
_02242C30:
add r0, r5, #0
mov r1, #0
add r0, #0x5a
strh r1, [r0]
_02242C38:
mov r1, #0x5a
ldrsh r1, [r5, r1]
ldr r2, [r5, #0x5c]
add r0, r5, #0
bl ov70_0224352C
ldr r0, [r5, #0x5c]
mov r1, #5
bl ov70_02242508
str r0, [sp]
mov r3, #0x5a
ldr r2, [r5, #4]
ldrsh r3, [r5, r3]
ldr r0, [r5, #0x1c]
ldr r1, [r5, #0x38]
add r2, #0x50
bl ov70_02243F00
_02242C5E:
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov70_02242BBC
thumb_func_start ov70_02242C64
ov70_02242C64: ; 0x02242C64
push {r3, r4, r5, lr}
ldr r1, _02242D34 ; =gSystem
add r5, r0, #0
ldr r2, [r1, #0x4c]
mov r1, #0x40
ldr r4, [r5, #0x48]
tst r1, r2
beq _02242C8C
ldr r0, _02242D38 ; =0x000005DC
bl PlaySE
ldr r0, [r5, #0x48]
cmp r0, #0
beq _02242C86
sub r0, r0, #1
str r0, [r5, #0x48]
b _02242CC6
_02242C86:
mov r0, #5
str r0, [r5, #0x48]
b _02242CC6
_02242C8C:
mov r1, #0x80
tst r1, r2
beq _02242CAA
ldr r0, _02242D38 ; =0x000005DC
bl PlaySE
ldr r0, [r5, #0x48]
cmp r0, #5
beq _02242CA4
add r0, r0, #1
str r0, [r5, #0x48]
b _02242CC6
_02242CA4:
mov r0, #0
str r0, [r5, #0x48]
b _02242CC6
_02242CAA:
mov r1, #0x20
add r3, r2, #0
tst r3, r1
beq _02242CBA
sub r1, #0x21
bl ov70_02242BBC
b _02242CC6
_02242CBA:
mov r1, #0x10
tst r1, r2
beq _02242CC6
mov r1, #1
bl ov70_02242BBC
_02242CC6:
ldr r0, [r5, #0x48]
cmp r4, r0
beq _02242CF2
ldr r1, _02242D3C ; =ov70_02245D8A
lsl r3, r0, #1
ldr r2, _02242D40 ; =ov70_02245D8B
ldrb r1, [r1, r3]
ldrb r2, [r2, r3]
ldr r0, [r5, #0xc]
bl ov70_02238F9C
ldr r0, [r5, #0x48]
cmp r0, #5
ldr r0, [r5, #0xc]
bne _02242CEC
mov r1, #0x30
bl Set2dSpriteAnimSeqNo
b _02242CF2
_02242CEC:
mov r1, #0x32
bl Set2dSpriteAnimSeqNo
_02242CF2:
add r0, r5, #0
mov r1, #3
bl ov70_02242164
add r1, r0, #0
mov r0, #0
mvn r0, r0
cmp r1, r0
beq _02242D0C
add r0, r5, #0
bl ov70_02242B5C
pop {r3, r4, r5, pc}
_02242D0C:
ldr r1, _02242D34 ; =gSystem
ldr r2, [r1, #0x48]
mov r1, #1
tst r1, r2
beq _02242D20
ldr r1, [r5, #0x48]
add r0, r5, #0
bl ov70_02242B5C
pop {r3, r4, r5, pc}
_02242D20:
mov r1, #2
tst r1, r2
beq _02242D30
ldr r0, _02242D38 ; =0x000005DC
bl PlaySE
mov r0, #1
mvn r0, r0
_02242D30:
pop {r3, r4, r5, pc}
nop
_02242D34: .word gSystem
_02242D38: .word 0x000005DC
_02242D3C: .word ov70_02245D8A
_02242D40: .word ov70_02245D8B
thumb_func_end ov70_02242C64
thumb_func_start ov70_02242D44
ov70_02242D44: ; 0x02242D44
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
add r0, r1, #0
str r1, [sp, #4]
str r2, [sp, #8]
cmp r0, #6
bne _02242D58
mov r3, #0x21
b _02242D5A
_02242D58:
mov r3, #0x22
_02242D5A:
mov r0, #1
str r0, [sp]
ldr r0, [r5, #0x1c]
mov r1, #0
mov r2, #0x64
bl sub_02019688
ldr r0, [r5, #0x1c]
mov r1, #0
bl sub_02019B08
ldr r1, [sp, #4]
add r0, r5, #0
bl ov70_0224190C
add r0, r5, #0
add r0, #0x64
mov r1, #1
mov r2, #0x1a
bl MI_CpuFill8
mov r4, #0
add r6, r4, #0
_02242D88:
add r1, r4, #0
ldr r0, [r5, #0x24]
add r1, #0x6e
bl NewString_ReadMsgData
add r7, r0, #0
ldr r0, [sp, #4]
cmp r0, #4
bne _02242DBE
add r0, r5, #0
add r1, r4, #0
bl ov70_02243F7C
cmp r0, #1
bne _02242DB2
add r2, r5, r4
add r2, #0x64
mov r1, #1
ldr r0, _02242E50 ; =0x000F0E02
strb r1, [r2]
b _02242DE0
_02242DB2:
add r2, r5, r4
add r2, #0x64
mov r1, #0
ldr r0, _02242E54 ; =0x00080902
strb r1, [r2]
b _02242DE0
_02242DBE:
add r0, r5, #0
add r1, r4, #0
bl ov70_02243FE0
cmp r0, #1
bne _02242DD6
add r2, r5, r4
add r2, #0x64
mov r1, #1
ldr r0, _02242E50 ; =0x000F0E02
strb r1, [r2]
b _02242DE0
_02242DD6:
add r2, r5, r4
ldr r0, _02242E54 ; =0x00080902
add r2, #0x64
mov r1, #0
strb r1, [r2]
_02242DE0:
str r0, [sp]
ldr r1, [r5, #4]
ldr r0, [r5, #0x1c]
add r1, r1, r6
add r2, r7, #0
mov r3, #2
bl ov70_02242FC4
add r0, r7, #0
bl String_Delete
add r4, r4, #1
add r6, #0x10
cmp r4, #9
blt _02242D88
ldr r2, [r5, #4]
ldr r0, [r5, #0x1c]
ldr r1, [r5, #0x24]
add r2, #0xe0
mov r3, #0x44
bl ov70_02243EB8
ldr r0, [sp, #4]
cmp r0, #6
bne _02242E34
ldr r0, [r5, #0x24]
mov r1, #0xae
bl NewString_ReadMsgData
add r4, r0, #0
ldr r0, _02242E50 ; =0x000F0E02
add r2, r4, #0
str r0, [sp]
ldr r1, [r5, #4]
ldr r0, [r5, #0x1c]
add r1, #0xf0
mov r3, #2
bl ov70_02242FC4
add r0, r4, #0
bl String_Delete
_02242E34:
ldr r2, [sp, #8]
mov r1, #0
lsl r2, r2, #0x18
ldr r0, [r5, #0x1c]
asr r2, r2, #0x18
add r3, r1, #0
bl sub_020196E8
ldr r0, [r5, #0x1c]
mov r1, #0
bl sub_020197F4
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02242E50: .word 0x000F0E02
_02242E54: .word 0x00080902
thumb_func_end ov70_02242D44
thumb_func_start ov70_02242E58
ov70_02242E58: ; 0x02242E58
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #1
str r0, [sp]
ldr r0, [r5, #0x1c]
mov r1, #0
mov r2, #0x64
mov r3, #0x1f
bl sub_02019688
ldr r0, [r5, #0x1c]
mov r1, #0
bl sub_02019B08
add r0, r5, #0
mov r1, #1
bl ov70_0224190C
mov r6, #0
add r4, r6, #0
_02242E80:
add r1, r6, #0
ldr r0, [r5, #0x24]
add r1, #0x7c
bl NewString_ReadMsgData
add r7, r0, #0
ldr r0, _02242EE0 ; =0x000F0E02
add r2, r7, #0
str r0, [sp]
ldr r1, [r5, #4]
ldr r0, [r5, #0x1c]
add r1, r1, r4
mov r3, #2
bl ov70_02242FC4
add r0, r7, #0
bl String_Delete
add r6, r6, #1
add r4, #0x10
cmp r6, #3
blt _02242E80
ldr r2, [r5, #4]
ldr r0, [r5, #0x1c]
ldr r1, [r5, #0x24]
add r2, #0xe0
mov r3, #0x44
bl ov70_02243EB8
mov r1, #0
ldr r0, [r5, #0x1c]
mov r2, #0x20
add r3, r1, #0
bl sub_020196E8
ldr r0, [r5, #0x1c]
mov r1, #0
bl sub_020197F4
mov r1, #0
mov r0, #4
str r0, [sp]
ldr r0, [r5, #0x1c]
sub r2, r1, #4
add r3, r1, #0
bl sub_020198FC
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02242EE0: .word 0x000F0E02
thumb_func_end ov70_02242E58
thumb_func_start ov70_02242EE4
ov70_02242EE4: ; 0x02242EE4
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
mov r0, #1
str r0, [sp]
ldr r0, [r4, #0x1c]
mov r1, #0
mov r2, #0x64
mov r3, #0x23
bl sub_02019688
ldr r0, [r4, #0x1c]
mov r1, #0
bl sub_02019B08
add r0, r4, #0
mov r1, #2
bl ov70_0224190C
ldr r0, [r4, #0x60]
cmp r0, #1
bne _02242F20
add r0, r4, #0
ldr r1, [r4, #0x24]
add r0, #0x34
mov r2, #1
bl ov70_0223F7E4
str r0, [r4, #0x5c]
b _02242F32
_02242F20:
cmp r0, #0
bne _02242F32
add r0, r4, #0
ldr r1, [r4, #0x24]
add r0, #0x34
mov r2, #0
bl ov70_0223F7E4
str r0, [r4, #0x5c]
_02242F32:
ldr r2, [r4, #0x5c]
add r0, r4, #0
mov r1, #0
bl ov70_022434C0
add r0, r4, #0
mov r1, #0
add r0, #0x5a
strh r1, [r0]
ldr r0, [r4, #0x5c]
mov r1, #4
bl ov70_02242508
str r0, [sp]
mov r3, #0x5a
ldr r2, [r4, #4]
ldrsh r3, [r4, r3]
ldr r0, [r4, #0x1c]
ldr r1, [r4, #0x38]
add r2, #0x40
bl ov70_02243F00
ldr r2, [r4, #4]
ldr r0, [r4, #0x1c]
ldr r1, [r4, #0x24]
add r2, #0xe0
mov r3, #0x44
bl ov70_02243EB8
mov r1, #0
ldr r0, [r4, #0x1c]
mov r2, #0x20
add r3, r1, #0
bl sub_020196E8
ldr r0, [r4, #0xc]
mov r1, #0x31
bl Set2dSpriteAnimSeqNo
mov r1, #0
add r0, r4, #0
str r1, [r4, #0x48]
add r0, #0x7e
strb r1, [r0]
ldr r0, [r4, #0x48]
ldr r1, _02242FBC ; =ov70_02245D76
lsl r3, r0, #1
ldr r2, _02242FC0 ; =ov70_02245D77
ldrb r1, [r1, r3]
ldrb r2, [r2, r3]
ldr r0, [r4, #0xc]
bl ov70_02238F9C
ldr r0, [r4, #0x1c]
mov r1, #0
bl sub_020197F4
mov r1, #0
mov r0, #4
str r0, [sp]
ldr r0, [r4, #0x1c]
sub r2, r1, #4
add r3, r1, #0
bl sub_020198FC
mov r0, #0x20
str r0, [r4, #0x4c]
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_02242FBC: .word ov70_02245D76
_02242FC0: .word ov70_02245D77
thumb_func_end ov70_02242EE4
thumb_func_start ov70_02242FC4
ov70_02242FC4: ; 0x02242FC4
push {r3, r4, r5, lr}
sub sp, #0x10
add r4, r1, #0
mov r1, #0
add r5, r0, #0
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, [sp, #0x20]
str r0, [sp, #8]
add r0, r4, #0
str r1, [sp, #0xc]
bl AddTextPrinterParameterized2
add r0, r4, #0
bl CopyWindowPixelsToVram_TextMode
add r0, r5, #0
mov r1, #0
add r2, r4, #0
bl sub_02019A60
add sp, #0x10
pop {r3, r4, r5, pc}
thumb_func_end ov70_02242FC4
thumb_func_start ov70_02242FF4
ov70_02242FF4: ; 0x02242FF4
mov r0, #0
mvn r0, r0
bx lr
.balign 4, 0
thumb_func_end ov70_02242FF4
thumb_func_start ov70_02242FFC
ov70_02242FFC: ; 0x02242FFC
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x1c]
mov r1, #0
bl sub_020199E4
cmp r0, #0
bne _02243044
ldr r0, [r4, #0xc]
mov r1, #1
bl Set2dSpriteVisibleFlag
mov r0, #0x58
ldrsh r0, [r4, r0]
cmp r0, #2
bne _02243040
ldr r0, [r4, #0x10]
mov r1, #0xe4
mov r2, #0x78
bl ov70_02238F9C
ldr r0, [r4, #0x14]
mov r1, #0x9a
mov r2, #0x78
bl ov70_02238F9C
ldr r0, [r4, #0x10]
mov r1, #1
bl Set2dSpriteVisibleFlag
ldr r0, [r4, #0x14]
mov r1, #1
bl Set2dSpriteVisibleFlag
_02243040:
ldr r0, [r4, #0x50]
str r0, [r4, #0x4c]
_02243044:
mov r0, #0
mvn r0, r0
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02242FFC
thumb_func_start ov70_0224304C
ov70_0224304C: ; 0x0224304C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x1c]
mov r1, #0
bl sub_020199E4
cmp r0, #0
bne _02243060
ldr r0, [r4, #0x50]
str r0, [r4, #0x4c]
_02243060:
mov r0, #0
mvn r0, r0
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_0224304C
thumb_func_start ov70_02243068
ov70_02243068: ; 0x02243068
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x1c]
mov r1, #0
bl sub_020199E4
cmp r0, #0
bne _02243084
ldr r0, [r4, #0x1c]
mov r1, #0
bl sub_0201980C
ldr r0, [r4, #0x50]
str r0, [r4, #0x4c]
_02243084:
mov r0, #0
mvn r0, r0
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02243068
thumb_func_start ov70_0224308C
ov70_0224308C: ; 0x0224308C
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
mov r1, #4
mov r2, #0x20
bl ov70_02242D44
ldr r0, [r4, #0xc]
mov r1, #0x3d
bl Set2dSpriteAnimSeqNo
ldr r0, [r4, #0xc]
mov r1, #0x88
mov r2, #0x28
bl ov70_02238F9C
mov r1, #0
mov r0, #4
str r0, [sp]
ldr r0, [r4, #0x1c]
sub r2, r1, #4
add r3, r1, #0
bl sub_020198FC
mov r0, #1
str r0, [r4, #0x4c]
mov r0, #5
str r0, [r4, #0x50]
sub r0, r0, #6
strh r0, [r4, #0x3c]
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov70_0224308C
thumb_func_start ov70_022430CC
ov70_022430CC: ; 0x022430CC
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x64
bl ov70_022421D0
add r4, r0, #0
mov r0, #1
mvn r0, r0
cmp r4, r0
beq _022430F6
cmp r4, #8
bhi _02243118
ldr r0, [r5, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #6
str r0, [r5, #0x4c]
strh r4, [r5, #0x3c]
b _02243118
_022430F6:
ldr r0, [r5, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r2, #4
str r2, [sp]
mov r1, #0
ldr r0, [r5, #0x1c]
add r3, r1, #0
bl sub_020198FC
mov r0, #3
str r0, [r5, #0x4c]
mov r0, #6
str r0, [r5, #0x50]
sub r0, r0, #7
strh r0, [r5, #0x3c]
_02243118:
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov70_022430CC
thumb_func_start ov70_02243120
ov70_02243120: ; 0x02243120
push {r4, lr}
add r4, r0, #0
mov r1, #4
bl ov70_02241DB4
ldr r0, [r4, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #0x3c
ldrsh r1, [r4, r0]
cmp r1, #0
blt _0224315C
cmp r1, #8
ble _02243142
bl GF_AssertFail
_02243142:
mov r0, #0x3c
ldrsh r0, [r4, r0]
lsl r1, r0, #3
ldr r0, _02243168 ; =ov70_02245F5C
ldr r0, [r0, r1]
cmp r0, #1
bne _02243158
mov r0, #0
strh r0, [r4, #0x3e]
mov r0, #0xc
b _02243160
_02243158:
mov r0, #8
b _02243160
_0224315C:
sub r0, #0x3e
pop {r4, pc}
_02243160:
str r0, [r4, #0x4c]
mov r0, #0
mvn r0, r0
pop {r4, pc}
.balign 4, 0
_02243168: .word ov70_02245F5C
thumb_func_end ov70_02243120
thumb_func_start ov70_0224316C
ov70_0224316C: ; 0x0224316C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #1
str r0, [sp]
ldr r0, [r5, #0x1c]
mov r1, #0
mov r2, #0x64
mov r3, #0x22
bl sub_02019688
ldr r0, [r5, #0x1c]
mov r1, #0
bl sub_02019B08
add r0, r5, #0
mov r1, #4
bl ov70_0224190C
add r0, r5, #0
add r0, #0x64
mov r1, #1
mov r2, #0x1a
bl MI_CpuFill8
mov r4, #0
add r6, r4, #0
_022431A0:
add r1, r4, #0
ldr r0, [r5, #0x24]
add r1, #0x6e
bl NewString_ReadMsgData
add r7, r0, #0
add r0, r5, #0
add r1, r4, #0
bl ov70_02243F7C
cmp r0, #1
bne _022431C2
add r2, r5, r4
ldr r0, _02243244 ; =0x000F0E02
add r2, #0x64
mov r1, #1
b _022431CA
_022431C2:
add r2, r5, r4
ldr r0, _02243248 ; =0x00080902
add r2, #0x64
mov r1, #0
_022431CA:
strb r1, [r2]
str r0, [sp]
ldr r1, [r5, #4]
ldr r0, [r5, #0x1c]
add r1, r1, r6
add r2, r7, #0
mov r3, #2
bl ov70_02242FC4
add r0, r7, #0
bl String_Delete
add r4, r4, #1
add r6, #0x10
cmp r4, #9
blt _022431A0
ldr r2, [r5, #4]
ldr r0, [r5, #0x1c]
ldr r1, [r5, #0x24]
add r2, #0xe0
mov r3, #0x44
bl ov70_02243EB8
mov r1, #0
ldr r0, [r5, #0x1c]
mov r2, #0x10
add r3, r1, #0
bl sub_020196E8
ldr r0, [r5, #0x1c]
mov r1, #0
bl sub_020197F4
ldr r0, [r5, #0xc]
mov r1, #0x3d
bl Set2dSpriteAnimSeqNo
mov r0, #0x3c
ldrsh r0, [r5, r0]
ldr r1, _0224324C ; =ov70_02245E26
ldr r2, _02243250 ; =ov70_02245E27
lsl r3, r0, #1
ldrb r1, [r1, r3]
ldrb r2, [r2, r3]
ldr r0, [r5, #0xc]
add r1, #0x10
lsl r1, r1, #3
lsl r2, r2, #3
bl ov70_02238F9C
mov r0, #0x3c
ldrsh r0, [r5, r0]
mov r1, #1
str r0, [r5, #0x48]
ldr r0, [r5, #0xc]
bl Set2dSpriteVisibleFlag
mov r0, #5
str r0, [r5, #0x4c]
sub r0, r0, #6
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02243244: .word 0x000F0E02
_02243248: .word 0x00080902
_0224324C: .word ov70_02245E26
_02243250: .word ov70_02245E27
thumb_func_end ov70_0224316C
thumb_func_start ov70_02243254
ov70_02243254: ; 0x02243254
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
mov r0, #1
str r0, [sp]
ldr r0, [r5, #0x1c]
mov r1, #0
mov r2, #0x64
mov r3, #0x20
bl sub_02019688
ldr r0, [r5, #0x1c]
mov r1, #0
bl sub_02019B08
add r0, r5, #0
mov r1, #5
bl ov70_0224190C
add r0, r5, #0
add r0, #0x64
mov r1, #1
mov r2, #0x1a
bl MI_CpuFill8
mov r0, #2
str r0, [sp]
ldr r0, _02243388 ; =0x000F0E02
mov r3, #0x3c
str r0, [sp, #4]
ldrsh r3, [r5, r3]
ldr r0, [r5, #0x1c]
ldr r1, [r5, #0x24]
ldr r2, [r5, #4]
add r3, #0x6e
bl ov70_02243E8C
mov r0, #0x3c
ldrsh r1, [r5, r0]
ldr r0, _0224338C ; =ov70_02245F5C
mov r4, #1
lsl r2, r1, #3
ldr r0, [r0, r2]
cmp r0, #1
blt _0224332C
mov r7, #0x10
_022432B0:
lsl r2, r1, #2
ldr r1, _02243390 ; =ov70_02245E84
add r0, r5, #0
ldr r1, [r1, r2]
add r1, r4, r1
sub r1, r1, #1
bl ov70_02243F54
cmp r0, #0
ble _022432DA
mov r1, #0x3c
ldrsh r1, [r5, r1]
ldr r0, _02243388 ; =0x000F0E02
lsl r2, r1, #2
ldr r1, _02243390 ; =ov70_02245E84
ldr r2, [r1, r2]
add r1, r5, r4
add r2, r2, r1
add r2, #0x63
mov r1, #1
b _022432EE
_022432DA:
mov r1, #0x3c
ldrsh r1, [r5, r1]
ldr r0, _02243394 ; =0x00080902
lsl r2, r1, #2
ldr r1, _02243390 ; =ov70_02245E84
ldr r2, [r1, r2]
add r1, r5, r4
add r2, r2, r1
add r2, #0x63
mov r1, #0
_022432EE:
strb r1, [r2]
mov r1, #5
str r1, [sp]
str r0, [sp, #4]
mov r3, #0x3c
ldrsh r3, [r5, r3]
ldr r2, [r5, #4]
ldr r0, [r5, #0x1c]
lsl r6, r3, #3
ldr r3, _02243398 ; =ov70_02245F58
ldr r1, [r5, #0x24]
ldr r3, [r3, r6]
add r2, r2, r7
add r3, r4, r3
lsl r6, r3, #2
ldr r3, _0224339C ; =ov70_02245FA0
add r3, r3, r6
sub r3, r3, #4
ldr r3, [r3]
bl ov70_02243E8C
mov r0, #0x3c
ldrsh r1, [r5, r0]
ldr r0, _02243398 ; =ov70_02245F58
add r4, r4, #1
lsl r2, r1, #3
add r0, r0, r2
ldr r0, [r0, #4]
add r7, #0x10
cmp r4, r0
ble _022432B0
_0224332C:
ldr r2, [r5, #4]
ldr r0, [r5, #0x1c]
ldr r1, [r5, #0x24]
add r2, #0xe0
mov r3, #0x44
bl ov70_02243EB8
mov r1, #0
ldr r0, [r5, #0x1c]
mov r2, #0x10
add r3, r1, #0
bl sub_020196E8
ldr r0, [r5, #0xc]
mov r1, #0x2f
bl Set2dSpriteAnimSeqNo
mov r0, #0x3e
ldrsh r0, [r5, r0]
cmp r0, #0
bge _0224335A
mov r0, #0
b _0224335A
_0224335A:
str r0, [r5, #0x48]
ldr r0, [r5, #0x48]
ldr r1, _022433A0 ; =ov70_02245E26
lsl r3, r0, #1
ldr r2, _022433A4 ; =ov70_02245E27
ldrb r1, [r1, r3]
ldrb r2, [r2, r3]
ldr r0, [r5, #0xc]
add r1, #0x10
lsl r1, r1, #3
lsl r2, r2, #3
bl ov70_02238F9C
ldr r0, [r5, #0xc]
mov r1, #1
bl Set2dSpriteVisibleFlag
mov r0, #9
str r0, [r5, #0x4c]
sub r0, #0xa
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_02243388: .word 0x000F0E02
_0224338C: .word ov70_02245F5C
_02243390: .word ov70_02245E84
_02243394: .word 0x00080902
_02243398: .word ov70_02245F58
_0224339C: .word ov70_02245FA0
_022433A0: .word ov70_02245E26
_022433A4: .word ov70_02245E27
thumb_func_end ov70_02243254
thumb_func_start ov70_022433A8
ov70_022433A8: ; 0x022433A8
push {r3, r4, r5, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x64
bl ov70_02242390
add r5, r0, #0
cmp r5, #4
bhi _022433D0
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022433C6: ; jump table
.short _022433DA - _022433C6 - 2 ; case 0
.short _022433DA - _022433C6 - 2 ; case 1
.short _022433DA - _022433C6 - 2 ; case 2
.short _022433DA - _022433C6 - 2 ; case 3
.short _022433DA - _022433C6 - 2 ; case 4
_022433D0:
mov r0, #1
mvn r0, r0
cmp r5, r0
beq _022433EA
b _022433FA
_022433DA:
ldr r0, [r4, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #0xa
str r0, [r4, #0x4c]
strh r5, [r4, #0x3e]
b _022433FA
_022433EA:
ldr r0, [r4, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #0xa
str r0, [r4, #0x4c]
sub r0, #0xb
strh r0, [r4, #0x3e]
_022433FA:
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, pc}
thumb_func_end ov70_022433A8
thumb_func_start ov70_02243400
ov70_02243400: ; 0x02243400
push {r4, lr}
mov r1, #5
add r4, r0, #0
bl ov70_02241DB4
mov r0, #0x3e
ldrsh r0, [r4, r0]
cmp r0, #0
blt _02243416
mov r0, #0xc
b _02243418
_02243416:
mov r0, #7
_02243418:
str r0, [r4, #0x4c]
mov r0, #0
mvn r0, r0
pop {r4, pc}
thumb_func_end ov70_02243400
thumb_func_start ov70_02243420
ov70_02243420: ; 0x02243420
mov r1, #8
str r1, [r0, #0x4c]
sub r1, #9
add r0, r1, #0
bx lr
.balign 4, 0
thumb_func_end ov70_02243420
thumb_func_start ov70_0224342C
ov70_0224342C: ; 0x0224342C
push {r3, r4, r5, r6, r7, lr}
mov r6, #0
add r7, r2, #0
str r1, [sp]
add r5, r3, #0
add r4, r6, #0
cmp r7, #0
ble _02243452
_0224343C:
ldrh r1, [r5]
ldr r0, [sp]
bl Pokedex_CheckMonSeenFlag
cmp r0, #0
beq _0224344A
add r4, r4, #1
_0224344A:
add r6, r6, #1
add r5, r5, #2
cmp r6, r7
blt _0224343C
_02243452:
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov70_0224342C
thumb_func_start ov70_02243458
ov70_02243458: ; 0x02243458
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
str r1, [sp]
add r6, r0, #0
ldr r1, [sp, #0x28]
mov r0, #0x3d
add r2, sp, #0xc
add r4, r3, #0
ldr r7, [sp, #0x2c]
bl ov70_0223F658
str r0, [sp, #4]
ldr r2, [sp, #0xc]
ldr r3, [sp, #4]
add r0, r4, #0
add r1, r7, #0
bl ov70_0224342C
str r0, [sp, #8]
add r0, r0, #1
mov r1, #0x3d
bl ListMenuItems_New
str r0, [r6]
ldr r0, [sp, #0xc]
mov r4, #0
cmp r0, #0
ble _022434B4
ldr r5, [sp, #4]
_02243492:
ldrh r1, [r5]
add r0, r7, #0
bl Pokedex_CheckMonSeenFlag
cmp r0, #0
beq _022434AA
ldrh r2, [r5]
ldr r0, [r6]
ldr r1, [sp]
add r3, r2, #0
bl ListMenuItems_AppendFromMsgData
_022434AA:
ldr r0, [sp, #0xc]
add r4, r4, #1
add r5, r5, #2
cmp r4, r0
blt _02243492
_022434B4:
ldr r0, [sp, #4]
bl FreeToHeap
ldr r0, [sp, #8]
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov70_02243458
thumb_func_start ov70_022434C0
ov70_022434C0: ; 0x022434C0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
lsl r7, r1, #2
mov r4, #0
add r5, r0, #0
lsl r0, r7, #3
str r2, [sp, #4]
str r4, [sp, #0xc]
add r6, r4, #0
str r0, [sp, #8]
_022434D4:
ldr r0, [r5, #4]
mov r1, #0x22
add r0, r0, r4
bl FillWindowPixelBuffer
ldr r0, [sp, #4]
cmp r7, r0
bge _022434FE
ldr r0, _02243528 ; =0x000F0E02
ldr r2, [sp, #8]
str r0, [sp]
ldr r3, [r5, #0x34]
ldr r1, [r5, #4]
add r2, r2, r3
ldr r0, [r5, #0x1c]
ldr r2, [r6, r2]
add r1, r1, r4
mov r3, #0
bl ov70_02242FC4
b _02243512
_022434FE:
ldr r0, [r5, #4]
add r0, r0, r4
bl CopyWindowPixelsToVram_TextMode
ldr r2, [r5, #4]
ldr r0, [r5, #0x1c]
mov r1, #0
add r2, r2, r4
bl sub_02019A60
_02243512:
ldr r0, [sp, #0xc]
add r4, #0x10
add r0, r0, #1
add r7, r7, #1
add r6, #8
str r0, [sp, #0xc]
cmp r0, #4
blt _022434D4
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_02243528: .word 0x000F0E02
thumb_func_end ov70_022434C0
thumb_func_start ov70_0224352C
ov70_0224352C: ; 0x0224352C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
lsl r0, r1, #2
mov r4, #0
add r7, r1, r0
lsl r0, r7, #3
str r2, [sp, #4]
str r4, [sp, #0xc]
add r6, r4, #0
str r0, [sp, #8]
_02243542:
ldr r0, [r5, #4]
mov r1, #0x22
add r0, r0, r4
bl FillWindowPixelBuffer
ldr r0, [sp, #4]
cmp r7, r0
bge _0224356C
ldr r0, _02243594 ; =0x000F0E02
ldr r2, [sp, #8]
str r0, [sp]
ldr r3, [r5, #0x34]
ldr r1, [r5, #4]
add r2, r2, r3
ldr r0, [r5, #0x1c]
ldr r2, [r6, r2]
add r1, r1, r4
mov r3, #0
bl ov70_02242FC4
b _02243580
_0224356C:
ldr r0, [r5, #4]
add r0, r0, r4
bl CopyWindowPixelsToVram_TextMode
ldr r2, [r5, #4]
ldr r0, [r5, #0x1c]
mov r1, #0
add r2, r2, r4
bl sub_02019A60
_02243580:
ldr r0, [sp, #0xc]
add r4, #0x10
add r0, r0, #1
add r7, r7, #1
add r6, #8
str r0, [sp, #0xc]
cmp r0, #5
blt _02243542
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02243594: .word 0x000F0E02
thumb_func_end ov70_0224352C
thumb_func_start ov70_02243598
ov70_02243598: ; 0x02243598
push {r4, lr}
sub sp, #8
add r4, r0, #0
mov r0, #1
str r0, [sp]
ldr r0, [r4, #0x1c]
mov r1, #0
mov r2, #0x64
mov r3, #0x23
bl sub_02019688
ldr r0, [r4, #0x1c]
mov r1, #0
bl sub_02019B08
add r0, r4, #0
mov r1, #0
bl ov70_0224190C
mov r0, #0x3e
ldrsh r2, [r4, r0]
mov r0, #0x3c
ldrsh r0, [r4, r0]
lsl r1, r0, #2
ldr r0, _0224367C ; =ov70_02245E84
ldr r0, [r0, r1]
add r0, r2, r0
str r0, [sp]
ldr r0, [r4, #0x20]
str r0, [sp, #4]
add r0, r4, #0
ldr r1, [r4, #0x28]
ldr r2, [r4, #0x24]
ldr r3, [r4, #0x30]
add r0, #0x34
bl ov70_02243458
str r0, [r4, #0x5c]
add r0, r4, #0
mov r1, #0
add r0, #0x5a
strh r1, [r0]
ldr r2, [r4, #0x5c]
add r0, r4, #0
bl ov70_022434C0
ldr r0, [r4, #0x5c]
mov r1, #4
bl ov70_02242508
str r0, [sp]
mov r3, #0x5a
ldr r2, [r4, #4]
ldrsh r3, [r4, r3]
ldr r0, [r4, #0x1c]
ldr r1, [r4, #0x38]
add r2, #0x40
bl ov70_02243F00
ldr r2, [r4, #4]
ldr r0, [r4, #0x1c]
ldr r1, [r4, #0x24]
add r2, #0xe0
mov r3, #0x44
bl ov70_02243EB8
mov r1, #0
ldr r0, [r4, #0x1c]
mov r2, #0x10
add r3, r1, #0
bl sub_020196E8
ldr r0, [r4, #0xc]
mov r1, #0x31
bl Set2dSpriteAnimSeqNo
mov r0, #0
ldr r1, _02243680 ; =ov70_02245D76
lsl r3, r0, #1
ldr r2, _02243684 ; =ov70_02245D77
str r0, [r4, #0x48]
ldrb r1, [r1, r3]
ldrb r2, [r2, r3]
ldr r0, [r4, #0xc]
bl ov70_02238F9C
ldr r0, [r4, #0x10]
mov r1, #0xe4
mov r2, #0x78
bl ov70_02238F9C
ldr r0, [r4, #0x14]
mov r1, #0x9a
mov r2, #0x78
bl ov70_02238F9C
ldr r0, [r4, #0xc]
mov r1, #1
bl Set2dSpriteVisibleFlag
ldr r0, [r4, #0x10]
mov r1, #1
bl Set2dSpriteVisibleFlag
ldr r0, [r4, #0x14]
mov r1, #1
bl Set2dSpriteVisibleFlag
mov r0, #0xd
str r0, [r4, #0x4c]
sub r0, #0xe
add sp, #8
pop {r4, pc}
nop
_0224367C: .word ov70_02245E84
_02243680: .word ov70_02245D76
_02243684: .word ov70_02245D77
thumb_func_end ov70_02243598
thumb_func_start ov70_02243688
ov70_02243688: ; 0x02243688
push {r3, r4, r5, lr}
add r5, r0, #0
bl ov70_0224261C
add r4, r0, #0
mov r0, #1
mvn r0, r0
cmp r4, r0
beq _022436A2
add r0, r0, #1
cmp r4, r0
beq _022436F6
b _022436C4
_022436A2:
ldr r0, [r5, #0x10]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, [r5, #0x14]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, _022436FC ; =0x000005DC
bl PlaySE
mov r0, #0xe
str r0, [r5, #0x4c]
sub r0, #0xf
add r5, #0x40
strh r0, [r5]
b _022436F6
_022436C4:
mov r2, #4
str r2, [sp]
mov r1, #0
ldr r0, [r5, #0x1c]
add r3, r1, #0
bl sub_020198FC
ldr r0, [r5, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, [r5, #0x10]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, [r5, #0x14]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #3
str r0, [r5, #0x4c]
mov r0, #0xf
str r0, [r5, #0x50]
add r5, #0x40
strh r4, [r5]
_022436F6:
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, pc}
.balign 4, 0
_022436FC: .word 0x000005DC
thumb_func_end ov70_02243688
thumb_func_start ov70_02243700
ov70_02243700: ; 0x02243700
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x10]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, [r4, #0x14]
mov r1, #0
bl Set2dSpriteVisibleFlag
add r0, r4, #0
mov r1, #0
bl ov70_02241DB4
ldr r0, [r4, #0x34]
bl ListMenuItems_Delete
mov r0, #0x3c
ldrsh r0, [r4, r0]
cmp r0, #8
ble _0224372E
bl GF_AssertFail
_0224372E:
mov r0, #0x3c
ldrsh r0, [r4, r0]
lsl r1, r0, #3
ldr r0, _0224374C ; =ov70_02245F5C
ldr r0, [r0, r1]
cmp r0, #1
bne _02243740
mov r0, #7
b _02243742
_02243740:
mov r0, #0xb
_02243742:
str r0, [r4, #0x4c]
mov r0, #0
mvn r0, r0
pop {r4, pc}
nop
_0224374C: .word ov70_02245F5C
thumb_func_end ov70_02243700
thumb_func_start ov70_02243750
ov70_02243750: ; 0x02243750
push {r4, lr}
add r4, r0, #0
mov r1, #0
bl ov70_02241DB4
ldr r0, [r4, #0x34]
bl ListMenuItems_Delete
mov r0, #0x40
ldrsh r0, [r4, r0]
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02243750
thumb_func_start ov70_02243768
ov70_02243768: ; 0x02243768
push {r3, r4, lr}
sub sp, #4
mov r1, #6
mov r2, #0x20
add r4, r0, #0
bl ov70_02242D44
mov r1, #0
mov r0, #4
str r0, [sp]
ldr r0, [r4, #0x1c]
sub r2, r1, #4
add r3, r1, #0
bl sub_020198FC
mov r0, #1
str r0, [r4, #0x4c]
mov r0, #0x11
str r0, [r4, #0x50]
mov r0, #0xa
str r0, [r4, #0x48]
sub r0, #0xb
strh r0, [r4, #0x3c]
ldr r0, [r4, #0x48]
ldr r1, _022437C0 ; =ov70_02245DF8
lsl r3, r0, #1
ldr r2, _022437C4 ; =ov70_02245DF9
ldrb r1, [r1, r3]
ldrb r2, [r2, r3]
ldr r0, [r4, #0xc]
add r1, #0x10
lsl r1, r1, #3
lsl r2, r2, #3
bl ov70_02238F9C
ldr r0, [r4, #0xc]
mov r1, #0x31
bl Set2dSpriteAnimSeqNo
mov r0, #0
mvn r0, r0
add sp, #4
pop {r3, r4, pc}
nop
_022437C0: .word ov70_02245DF8
_022437C4: .word ov70_02245DF9
thumb_func_end ov70_02243768
thumb_func_start ov70_022437C8
ov70_022437C8: ; 0x022437C8
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x64
bl ov70_022429B8
add r4, r0, #0
cmp r4, #0xa
beq _0224380E
mov r0, #1
mvn r0, r0
cmp r4, r0
beq _022437EA
add r0, r0, #1
cmp r4, r0
beq _02243840
b _02243832
_022437EA:
mov r2, #4
str r2, [sp]
mov r1, #0
ldr r0, [r5, #0x1c]
add r3, r1, #0
bl sub_020198FC
ldr r0, [r5, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #3
str r0, [r5, #0x4c]
mov r0, #0x12
str r0, [r5, #0x50]
sub r0, #0x13
strh r0, [r5, #0x3c]
b _02243840
_0224380E:
mov r2, #4
str r2, [sp]
mov r1, #0
ldr r0, [r5, #0x1c]
add r3, r1, #0
bl sub_020198FC
ldr r0, [r5, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #3
str r0, [r5, #0x4c]
mov r0, #0x12
str r0, [r5, #0x50]
sub r0, #0x14
strh r0, [r5, #0x3c]
b _02243840
_02243832:
cmp r4, #8
bls _0224383A
bl GF_AssertFail
_0224383A:
strh r4, [r5, #0x3c]
mov r0, #0x12
str r0, [r5, #0x4c]
_02243840:
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov70_022437C8
thumb_func_start ov70_02243848
ov70_02243848: ; 0x02243848
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
mov r1, #6
bl ov70_02241DB4
ldr r0, [r4, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #0x3c
ldrsh r2, [r4, r0]
cmp r2, #0
bge _0224387E
add r1, r0, #0
sub r1, #0x3d
cmp r2, r1
bne _02243872
add sp, #4
sub r0, #0x3e
pop {r3, r4, pc}
_02243872:
sub r0, #0x3e
cmp r2, r0
bne _022438C8
add sp, #4
mov r0, #0
pop {r3, r4, pc}
_0224387E:
cmp r2, #8
ble _02243886
bl GF_AssertFail
_02243886:
mov r0, #0x3c
ldrsh r0, [r4, r0]
lsl r1, r0, #3
ldr r0, _022438D0 ; =ov70_02245F5C
ldr r0, [r0, r1]
cmp r0, #1
bne _022438C4
mov r1, #0
strh r1, [r4, #0x3e]
mov r2, #3
str r2, [sp]
ldr r0, [r4, #0x1c]
sub r2, r2, #7
add r3, r1, #0
bl sub_020198FC
ldr r0, [r4, #0x18]
cmp r0, #0
beq _022438B2
mov r1, #0
bl Set2dSpriteVisibleFlag
_022438B2:
ldr r0, [r4, #0xc]
mov r1, #0x32
bl Set2dSpriteAnimSeqNo
mov r0, #2
str r0, [r4, #0x4c]
mov r0, #0x18
str r0, [r4, #0x50]
b _022438C8
_022438C4:
mov r0, #0x14
str r0, [r4, #0x4c]
_022438C8:
mov r0, #0
mvn r0, r0
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_022438D0: .word ov70_02245F5C
thumb_func_end ov70_02243848
thumb_func_start ov70_022438D4
ov70_022438D4: ; 0x022438D4
push {r4, lr}
add r4, r0, #0
mov r1, #6
mov r2, #0x10
bl ov70_02242D44
ldr r0, [r4, #0xc]
mov r1, #0x3d
bl Set2dSpriteAnimSeqNo
ldr r0, [r4, #0xc]
mov r1, #1
bl Set2dSpriteVisibleFlag
mov r0, #0x3c
ldrsh r0, [r4, r0]
ldr r1, _02243920 ; =ov70_02245DF8
ldr r2, _02243924 ; =ov70_02245DF9
lsl r3, r0, #1
ldrb r1, [r1, r3]
ldrb r2, [r2, r3]
str r0, [r4, #0x48]
add r1, #0x10
ldr r0, [r4, #0xc]
lsl r1, r1, #3
lsl r2, r2, #3
bl ov70_02238F9C
ldr r0, [r4, #0x18]
cmp r0, #0
beq _02243918
mov r1, #1
bl Set2dSpriteVisibleFlag
_02243918:
mov r0, #0x11
str r0, [r4, #0x4c]
sub r0, #0x12
pop {r4, pc}
.balign 4, 0
_02243920: .word ov70_02245DF8
_02243924: .word ov70_02245DF9
thumb_func_end ov70_022438D4
thumb_func_start ov70_02243928
ov70_02243928: ; 0x02243928
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
mov r0, #1
str r0, [sp]
ldr r0, [r5, #0x1c]
mov r1, #0
mov r2, #0x64
mov r3, #0x20
bl sub_02019688
ldr r0, [r5, #0x1c]
mov r1, #0
bl sub_02019B08
add r0, r5, #0
mov r1, #5
bl ov70_0224190C
add r0, r5, #0
add r0, #0x64
mov r1, #1
mov r2, #0x1a
bl MI_CpuFill8
mov r0, #2
str r0, [sp]
ldr r0, _02243A50 ; =0x000F0E02
mov r3, #0x3c
str r0, [sp, #4]
ldrsh r3, [r5, r3]
ldr r0, [r5, #0x1c]
ldr r1, [r5, #0x24]
ldr r2, [r5, #4]
add r3, #0x6e
bl ov70_02243E8C
mov r4, #1
mov r7, #0x10
_02243976:
mov r1, #0x3c
ldrsh r1, [r5, r1]
add r0, r5, #0
lsl r2, r1, #2
ldr r1, _02243A54 ; =ov70_02245E84
ldr r1, [r1, r2]
add r1, r4, r1
sub r1, r1, #1
bl ov70_02243FD4
cmp r0, #0
ble _022439A4
mov r1, #0x3c
ldrsh r1, [r5, r1]
ldr r0, _02243A50 ; =0x000F0E02
lsl r2, r1, #2
ldr r1, _02243A54 ; =ov70_02245E84
ldr r2, [r1, r2]
add r1, r5, r4
add r2, r2, r1
add r2, #0x63
mov r1, #1
b _022439B8
_022439A4:
mov r1, #0x3c
ldrsh r1, [r5, r1]
ldr r0, _02243A58 ; =0x00080902
lsl r2, r1, #2
ldr r1, _02243A54 ; =ov70_02245E84
ldr r2, [r1, r2]
add r1, r5, r4
add r2, r2, r1
add r2, #0x63
mov r1, #0
_022439B8:
strb r1, [r2]
mov r1, #5
str r1, [sp]
str r0, [sp, #4]
mov r3, #0x3c
ldrsh r3, [r5, r3]
ldr r2, [r5, #4]
ldr r0, [r5, #0x1c]
lsl r6, r3, #3
ldr r3, _02243A5C ; =ov70_02245F58
ldr r1, [r5, #0x24]
ldr r3, [r3, r6]
add r2, r2, r7
add r3, r4, r3
lsl r6, r3, #2
ldr r3, _02243A60 ; =ov70_02245FA0
add r3, r3, r6
sub r3, r3, #4
ldr r3, [r3]
bl ov70_02243E8C
add r4, r4, #1
add r7, #0x10
cmp r4, #4
blt _02243976
ldr r2, [r5, #4]
ldr r0, [r5, #0x1c]
ldr r1, [r5, #0x24]
add r2, #0xe0
mov r3, #0x44
bl ov70_02243EB8
mov r1, #0
ldr r0, [r5, #0x1c]
mov r2, #0x10
add r3, r1, #0
bl sub_020196E8
ldr r0, [r5, #0xc]
mov r1, #0x2f
bl Set2dSpriteAnimSeqNo
mov r0, #0x3e
ldrsh r0, [r5, r0]
cmp r0, #0
bge _02243A18
mov r0, #0
b _02243A18
_02243A18:
str r0, [r5, #0x48]
ldr r0, [r5, #0x48]
ldr r1, _02243A64 ; =ov70_02245E26
lsl r3, r0, #1
ldr r2, _02243A68 ; =ov70_02245E27
ldrb r1, [r1, r3]
ldrb r2, [r2, r3]
ldr r0, [r5, #0xc]
add r1, #0x10
lsl r1, r1, #3
lsl r2, r2, #3
bl ov70_02238F9C
ldr r0, [r5, #0xc]
mov r1, #1
bl Set2dSpriteVisibleFlag
ldr r0, [r5, #0x18]
cmp r0, #0
beq _02243A46
mov r1, #1
bl Set2dSpriteVisibleFlag
_02243A46:
mov r0, #0x15
str r0, [r5, #0x4c]
sub r0, #0x16
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02243A50: .word 0x000F0E02
_02243A54: .word ov70_02245E84
_02243A58: .word 0x00080902
_02243A5C: .word ov70_02245F58
_02243A60: .word ov70_02245FA0
_02243A64: .word ov70_02245E26
_02243A68: .word ov70_02245E27
thumb_func_end ov70_02243928
thumb_func_start ov70_02243A6C
ov70_02243A6C: ; 0x02243A6C
push {r3, r4, r5, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x64
bl ov70_02242390
add r5, r0, #0
cmp r5, #4
bhi _02243A94
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02243A8A: ; jump table
.short _02243A9E - _02243A8A - 2 ; case 0
.short _02243A9E - _02243A8A - 2 ; case 1
.short _02243A9E - _02243A8A - 2 ; case 2
.short _02243A9E - _02243A8A - 2 ; case 3
.short _02243A9E - _02243A8A - 2 ; case 4
_02243A94:
mov r0, #1
mvn r0, r0
cmp r5, r0
beq _02243AAE
b _02243ABE
_02243A9E:
ldr r0, [r4, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #0x16
str r0, [r4, #0x4c]
strh r5, [r4, #0x3e]
b _02243ABE
_02243AAE:
ldr r0, [r4, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #0x16
str r0, [r4, #0x4c]
sub r0, #0x17
strh r0, [r4, #0x3e]
_02243ABE:
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, pc}
thumb_func_end ov70_02243A6C
thumb_func_start ov70_02243AC4
ov70_02243AC4: ; 0x02243AC4
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
mov r1, #5
bl ov70_02241DB4
ldr r0, [r4, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #0x3e
ldrsh r0, [r4, r0]
cmp r0, #0
bge _02243AE6
mov r0, #0x13
str r0, [r4, #0x4c]
b _02243B12
_02243AE6:
mov r0, #3
mov r1, #0
str r0, [sp]
ldr r0, [r4, #0x1c]
sub r2, r1, #4
add r3, r1, #0
bl sub_020198FC
ldr r0, [r4, #0x18]
cmp r0, #0
beq _02243B02
mov r1, #0
bl Set2dSpriteVisibleFlag
_02243B02:
ldr r0, [r4, #0xc]
mov r1, #0x32
bl Set2dSpriteAnimSeqNo
mov r0, #2
str r0, [r4, #0x4c]
mov r0, #0x18
str r0, [r4, #0x50]
_02243B12:
mov r0, #0
mvn r0, r0
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov70_02243AC4
thumb_func_start ov70_02243B1C
ov70_02243B1C: ; 0x02243B1C
mov r1, #0x14
str r1, [r0, #0x4c]
mov r1, #0x3e
ldrsh r2, [r0, r1]
sub r1, #0x3f
str r2, [r0, #0x48]
add r0, r1, #0
bx lr
thumb_func_end ov70_02243B1C
thumb_func_start ov70_02243B2C
ov70_02243B2C: ; 0x02243B2C
push {r3, r4, r5, lr}
add r4, r0, #0
mov r0, #1
str r0, [sp]
ldr r0, [r4, #0x1c]
mov r1, #0
mov r2, #0x64
mov r3, #0x1e
bl sub_02019688
ldr r0, [r4, #0x1c]
mov r1, #0
bl sub_02019B08
add r0, r4, #0
mov r1, #3
bl ov70_0224190C
mov r3, #0x3c
ldrsh r3, [r4, r3]
mov r2, #0x3e
add r0, r4, #0
lsl r5, r3, #2
ldr r3, _02243BFC ; =ov70_02245E84
ldrsh r2, [r4, r2]
ldr r3, [r3, r5]
ldr r1, [r4, #0x2c]
add r0, #0x34
add r2, r2, r3
bl ov70_0223F904
str r0, [r4, #0x5c]
ldr r2, [r4, #0x5c]
add r0, r4, #0
mov r1, #0
bl ov70_0224352C
add r0, r4, #0
mov r1, #0
add r0, #0x5a
strh r1, [r0]
ldr r0, [r4, #0x5c]
mov r1, #5
bl ov70_02242508
str r0, [sp]
mov r3, #0x5a
ldr r2, [r4, #4]
ldrsh r3, [r4, r3]
ldr r0, [r4, #0x1c]
ldr r1, [r4, #0x38]
add r2, #0x50
bl ov70_02243F00
ldr r2, [r4, #4]
ldr r0, [r4, #0x1c]
ldr r1, [r4, #0x24]
add r2, #0xe0
mov r3, #0x44
bl ov70_02243EB8
mov r1, #0
ldr r0, [r4, #0x1c]
mov r2, #1
add r3, r1, #0
bl sub_020196E8
mov r0, #0
ldr r1, _02243C00 ; =ov70_02245D8A
lsl r3, r0, #1
ldr r2, _02243C04 ; =ov70_02245D8B
str r0, [r4, #0x48]
ldrb r1, [r1, r3]
ldrb r2, [r2, r3]
ldr r0, [r4, #0xc]
bl ov70_02238F9C
ldr r0, [r4, #0x10]
mov r1, #0xb0
mov r2, #0x88
bl ov70_02238F9C
ldr r0, [r4, #0x14]
mov r1, #0x58
mov r2, #0x88
bl ov70_02238F9C
ldr r0, [r4, #0xc]
mov r1, #1
bl Set2dSpriteVisibleFlag
ldr r0, [r4, #0x10]
mov r1, #1
bl Set2dSpriteVisibleFlag
ldr r0, [r4, #0x14]
mov r1, #1
bl Set2dSpriteVisibleFlag
mov r0, #0x19
str r0, [r4, #0x4c]
sub r0, #0x1a
pop {r3, r4, r5, pc}
nop
_02243BFC: .word ov70_02245E84
_02243C00: .word ov70_02245D8A
_02243C04: .word ov70_02245D8B
thumb_func_end ov70_02243B2C
thumb_func_start ov70_02243C08
ov70_02243C08: ; 0x02243C08
push {r3, r4, r5, lr}
add r5, r0, #0
bl ov70_02242C64
add r4, r0, #0
mov r0, #1
mvn r0, r0
cmp r4, r0
beq _02243C22
add r0, r0, #1
cmp r4, r0
beq _02243C84
b _02243C52
_02243C22:
mov r2, #4
str r2, [sp]
mov r1, #0
ldr r0, [r5, #0x1c]
add r3, r1, #0
bl sub_020198FC
ldr r0, [r5, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, [r5, #0x10]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, [r5, #0x14]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #2
str r0, [r5, #0x4c]
mov r0, #0x1a
str r0, [r5, #0x50]
b _02243C84
_02243C52:
mov r2, #6
str r2, [sp]
mov r1, #0
ldr r0, [r5, #0x1c]
add r3, r1, #0
bl sub_020198FC
ldr r0, [r5, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, [r5, #0x10]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, [r5, #0x14]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #3
str r0, [r5, #0x4c]
mov r0, #0x1b
str r0, [r5, #0x50]
add r5, #0x42
strh r4, [r5]
_02243C84:
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov70_02243C08
thumb_func_start ov70_02243C8C
ov70_02243C8C: ; 0x02243C8C
push {r4, lr}
add r4, r0, #0
mov r1, #3
bl ov70_02241DB4
ldr r0, [r4, #0x34]
bl ListMenuItems_Delete
mov r0, #0x3c
ldrsh r0, [r4, r0]
cmp r0, #8
ble _02243CA8
bl GF_AssertFail
_02243CA8:
mov r0, #0x3c
ldrsh r0, [r4, r0]
lsl r1, r0, #3
ldr r0, _02243CC4 ; =ov70_02245F5C
ldr r0, [r0, r1]
cmp r0, #1
bne _02243CBA
mov r0, #0x13
b _02243CBC
_02243CBA:
mov r0, #0x17
_02243CBC:
str r0, [r4, #0x4c]
mov r0, #0
mvn r0, r0
pop {r4, pc}
.balign 4, 0
_02243CC4: .word ov70_02245F5C
thumb_func_end ov70_02243C8C
thumb_func_start ov70_02243CC8
ov70_02243CC8: ; 0x02243CC8
push {r4, lr}
add r4, r0, #0
mov r1, #3
bl ov70_02241DB4
ldr r0, [r4, #0x18]
cmp r0, #0
beq _02243CDE
mov r1, #1
bl Set2dSpriteVisibleFlag
_02243CDE:
ldr r0, [r4, #0x34]
bl ListMenuItems_Delete
mov r0, #0x42
ldrsh r0, [r4, r0]
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02243CC8
thumb_func_start ov70_02243CEC
ov70_02243CEC: ; 0x02243CEC
push {r4, lr}
add r4, r0, #0
mov r1, #0
str r1, [r4, #0x48]
bl ov70_02242E58
ldr r0, [r4, #0xc]
mov r1, #0x31
bl Set2dSpriteAnimSeqNo
ldr r0, [r4, #0x48]
ldr r1, _02243D20 ; =ov70_02245D66
lsl r3, r0, #1
ldr r2, _02243D24 ; =ov70_02245D67
ldrb r1, [r1, r3]
ldrb r2, [r2, r3]
ldr r0, [r4, #0xc]
bl ov70_02238F9C
mov r0, #1
str r0, [r4, #0x4c]
mov r0, #0x1d
str r0, [r4, #0x50]
sub r0, #0x1e
pop {r4, pc}
nop
_02243D20: .word ov70_02245D66
_02243D24: .word ov70_02245D67
thumb_func_end ov70_02243CEC
thumb_func_start ov70_02243D28
ov70_02243D28: ; 0x02243D28
push {r3, r4, r5, lr}
add r5, r0, #0
bl ov70_022426F4
add r4, r0, #0
mov r0, #1
mvn r0, r0
cmp r4, r0
beq _02243D42
add r0, r0, #1
cmp r4, r0
beq _02243D8A
b _02243D68
_02243D42:
mov r2, #4
str r2, [sp]
mov r1, #0
ldr r0, [r5, #0x1c]
add r3, r1, #0
bl sub_020198FC
ldr r0, [r5, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #3
str r0, [r5, #0x4c]
mov r0, #0x1e
str r0, [r5, #0x50]
sub r0, #0x20
add r5, #0x44
strb r0, [r5]
b _02243D8A
_02243D68:
mov r2, #4
str r2, [sp]
mov r1, #0
ldr r0, [r5, #0x1c]
add r3, r1, #0
bl sub_020198FC
ldr r0, [r5, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #3
str r0, [r5, #0x4c]
mov r0, #0x1e
str r0, [r5, #0x50]
add r5, #0x44
strb r4, [r5]
_02243D8A:
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, pc}
thumb_func_end ov70_02243D28
thumb_func_start ov70_02243D90
ov70_02243D90: ; 0x02243D90
push {r4, lr}
mov r1, #1
add r4, r0, #0
bl ov70_02241DB4
mov r0, #0x44
ldrsb r0, [r4, r0]
pop {r4, pc}
thumb_func_end ov70_02243D90
thumb_func_start ov70_02243DA0
ov70_02243DA0: ; 0x02243DA0
push {r4, lr}
add r4, r0, #0
mov r1, #0
str r1, [r4, #0x48]
bl ov70_02242EE4
ldr r0, [r4, #0xc]
mov r1, #0x31
bl Set2dSpriteAnimSeqNo
ldr r0, [r4, #0x48]
ldr r1, _02243DD4 ; =ov70_02245D80
lsl r3, r0, #1
ldr r2, _02243DD8 ; =ov70_02245D81
ldrb r1, [r1, r3]
ldrb r2, [r2, r3]
ldr r0, [r4, #0xc]
bl ov70_02238F9C
mov r0, #1
str r0, [r4, #0x4c]
mov r0, #0x20
str r0, [r4, #0x50]
sub r0, #0x21
pop {r4, pc}
nop
_02243DD4: .word ov70_02245D80
_02243DD8: .word ov70_02245D81
thumb_func_end ov70_02243DA0
thumb_func_start ov70_02243DDC
ov70_02243DDC: ; 0x02243DDC
push {r3, r4, r5, lr}
add r5, r0, #0
bl ov70_022428C0
add r4, r0, #0
mov r0, #1
mvn r0, r0
cmp r4, r0
beq _02243DF6
add r0, r0, #1
cmp r4, r0
beq _02243E6E
b _02243E2C
_02243DF6:
mov r2, #4
str r2, [sp]
mov r1, #0
ldr r0, [r5, #0x1c]
add r3, r1, #0
bl sub_020198FC
ldr r0, [r5, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, [r5, #0x10]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, [r5, #0x14]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #3
str r0, [r5, #0x4c]
mov r0, #0x21
str r0, [r5, #0x50]
sub r0, #0x23
add r5, #0x45
strb r0, [r5]
b _02243E6E
_02243E2C:
mov r2, #4
str r2, [sp]
mov r1, #0
ldr r0, [r5, #0x1c]
add r3, r1, #0
bl sub_020198FC
ldr r0, [r5, #0xc]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, [r5, #0x10]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, [r5, #0x14]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #3
str r0, [r5, #0x4c]
mov r0, #0x21
str r0, [r5, #0x50]
mov r0, #0x5a
ldrsh r0, [r5, r0]
ldr r1, [r5, #0x34]
add r5, #0x45
lsl r0, r0, #2
add r0, r4, r0
lsl r0, r0, #3
add r0, r1, r0
ldr r0, [r0, #4]
strb r0, [r5]
_02243E6E:
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, pc}
thumb_func_end ov70_02243DDC
thumb_func_start ov70_02243E74
ov70_02243E74: ; 0x02243E74
push {r4, lr}
add r4, r0, #0
mov r1, #2
bl ov70_02241DB4
ldr r0, [r4, #0x34]
bl ListMenuItems_Delete
mov r0, #0x45
ldrsb r0, [r4, r0]
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02243E74
thumb_func_start ov70_02243E8C
ov70_02243E8C: ; 0x02243E8C
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
add r0, r1, #0
add r1, r3, #0
add r6, r2, #0
bl NewString_ReadMsgData
add r4, r0, #0
ldr r0, [sp, #0x1c]
ldr r3, [sp, #0x18]
str r0, [sp]
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl ov70_02242FC4
add r0, r4, #0
bl String_Delete
add sp, #4
pop {r3, r4, r5, r6, pc}
thumb_func_end ov70_02243E8C
thumb_func_start ov70_02243EB8
ov70_02243EB8: ; 0x02243EB8
push {r4, r5, r6, lr}
sub sp, #0x10
add r6, r0, #0
add r0, r1, #0
add r1, r3, #0
add r5, r2, #0
bl NewString_ReadMsgData
add r4, r0, #0
mov r3, #0
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _02243EFC ; =0x000F0E02
mov r1, #4
str r0, [sp, #8]
add r0, r5, #0
add r2, r4, #0
str r3, [sp, #0xc]
bl AddTextPrinterParameterized2
add r0, r5, #0
bl CopyWindowPixelsToVram_TextMode
add r0, r6, #0
mov r1, #0
add r2, r5, #0
bl sub_02019A60
add r0, r4, #0
bl String_Delete
add sp, #0x10
pop {r4, r5, r6, pc}
.balign 4, 0
_02243EFC: .word 0x000F0E02
thumb_func_end ov70_02243EB8
thumb_func_start ov70_02243F00
ov70_02243F00: ; 0x02243F00
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r4, r2, #0
add r6, r0, #0
add r5, r1, #0
add r1, r3, #1
str r4, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
add r0, r5, #0
mov r2, #2
mov r3, #1
bl PrintUIntOnWindow
mov r1, #0
str r1, [sp]
add r0, r5, #0
add r2, r4, #0
mov r3, #0x10
bl sub_0200CDAC
str r4, [sp]
mov r0, #0x18
str r0, [sp, #4]
mov r3, #0
ldr r1, [sp, #0x20]
add r0, r5, #0
mov r2, #2
str r3, [sp, #8]
bl PrintUIntOnWindow
add r0, r4, #0
bl CopyWindowPixelsToVram_TextMode
add r0, r6, #0
mov r1, #0
add r2, r4, #0
bl sub_02019A60
add sp, #0xc
pop {r3, r4, r5, r6, pc}
thumb_func_end ov70_02243F00
thumb_func_start ov70_02243F54
ov70_02243F54: ; 0x02243F54
push {r3, r4, r5, lr}
add r4, r0, #0
mov r0, #0x3d
add r2, sp, #0
bl ov70_0223F658
add r5, r0, #0
ldr r0, [r4, #0x30]
ldr r1, [r4, #0x20]
ldr r2, [sp]
add r3, r5, #0
bl ov70_0224342C
add r4, r0, #0
add r0, r5, #0
bl FreeToHeap
add r0, r4, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov70_02243F54
thumb_func_start ov70_02243F7C
ov70_02243F7C: ; 0x02243F7C
push {r3, r4, r5, r6, r7, lr}
ldr r2, _02243FC8 ; =ov70_02245E84
lsl r3, r1, #2
ldr r4, [r2, r3]
ldr r2, _02243FCC ; =ov70_02245F5C
lsl r1, r1, #3
ldr r2, [r2, r1]
add r7, r0, #0
cmp r2, #0
ble _02243FB4
mov r5, #0
cmp r2, #0
ble _02243FC2
ldr r0, _02243FD0 ; =ov70_02245F58
add r6, r0, r1
_02243F9A:
add r0, r7, #0
add r1, r4, r5
bl ov70_02243F54
cmp r0, #0
ble _02243FAA
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02243FAA:
ldr r0, [r6, #4]
add r5, r5, #1
cmp r5, r0
blt _02243F9A
b _02243FC2
_02243FB4:
add r1, r4, #0
bl ov70_02243F54
cmp r0, #0
ble _02243FC2
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02243FC2:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_02243FC8: .word ov70_02245E84
_02243FCC: .word ov70_02245F5C
_02243FD0: .word ov70_02245F58
thumb_func_end ov70_02243F7C
thumb_func_start ov70_02243FD4
ov70_02243FD4: ; 0x02243FD4
push {r3, lr}
add r0, r1, #0
add r1, sp, #0
bl ov70_0223F8D0
pop {r3, pc}
thumb_func_end ov70_02243FD4
thumb_func_start ov70_02243FE0
ov70_02243FE0: ; 0x02243FE0
push {r3, r4, r5, r6, r7, lr}
ldr r2, _0224402C ; =ov70_02245E84
lsl r3, r1, #2
ldr r4, [r2, r3]
ldr r2, _02244030 ; =ov70_02245F5C
lsl r1, r1, #3
ldr r2, [r2, r1]
add r7, r0, #0
cmp r2, #0
ble _02244018
mov r5, #0
cmp r2, #0
ble _02244026
ldr r0, _02244034 ; =ov70_02245F58
add r6, r0, r1
_02243FFE:
add r0, r7, #0
add r1, r4, r5
bl ov70_02243FD4
cmp r0, #0
ble _0224400E
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0224400E:
ldr r0, [r6, #4]
add r5, r5, #1
cmp r5, r0
blt _02243FFE
b _02244026
_02244018:
add r1, r4, #0
bl ov70_02243FD4
cmp r0, #0
ble _02244026
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02244026:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_0224402C: .word ov70_02245E84
_02244030: .word ov70_02245F5C
_02244034: .word ov70_02245F58
thumb_func_end ov70_02243FE0
thumb_func_start ov70_02244038
ov70_02244038: ; 0x02244038
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
bl ov70_02244670
ldr r2, _02244114 ; =0x04000304
ldr r0, _02244118 ; =0xFFFF7FFF
ldrh r1, [r2]
and r0, r1
strh r0, [r2]
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0
add r2, r1, #0
add r3, r0, #0
bl BeginNormalPaletteFade
ldr r0, [r4, #4]
bl ov70_022441A4
add r0, r4, #0
bl ov70_022442B4
add r0, r4, #0
bl ov70_0224458C
mov r0, #1
add r1, r0, #0
bl GX_EngineAToggleLayers
mov r0, #2
mov r1, #1
bl GX_EngineAToggleLayers
mov r0, #4
mov r1, #0
bl GX_EngineAToggleLayers
mov r0, #8
mov r1, #0
bl GX_EngineAToggleLayers
mov r0, #1
add r1, r0, #0
bl GX_EngineBToggleLayers
mov r0, #2
mov r1, #1
bl GX_EngineBToggleLayers
mov r0, #4
mov r1, #0
bl GX_EngineBToggleLayers
mov r0, #8
mov r1, #0
bl GX_EngineBToggleLayers
bl ov00_021EC5B4
cmp r0, #0
bne _022440FA
ldr r1, [r4]
ldr r0, [r1, #0x3c]
cmp r0, #0
beq _022440EE
ldr r0, [r1, #0x20]
bl sub_02039418
ldr r0, _0224411C ; =0x00000F0F
mov r2, #1
str r0, [sp]
ldr r1, _02244120 ; =0x00000BA8
add r0, r4, #0
ldr r1, [r4, r1]
add r3, r2, #0
bl ov70_02244FA4
add r0, r4, #0
mov r1, #0xc
mov r2, #2
bl ov70_02238D84
add r0, r4, #0
bl ov70_02238F64
b _0224410C
_022440EE:
mov r0, #4
bl Sys_ClearSleepDisableFlag
mov r0, #0
str r0, [r4, #0x2c]
b _0224410C
_022440FA:
ldr r0, [r4]
ldr r0, [r0, #0x20]
bl sub_02039418
add r0, r4, #0
bl ov70_02245124
mov r0, #0x11
str r0, [r4, #0x2c]
_0224410C:
mov r0, #2
add sp, #0xc
pop {r3, r4, pc}
nop
_02244114: .word 0x04000304
_02244118: .word 0xFFFF7FFF
_0224411C: .word 0x00000F0F
_02244120: .word 0x00000BA8
thumb_func_end ov70_02244038
thumb_func_start ov70_02244124
ov70_02244124: ; 0x02244124
push {r3, r4, r5, lr}
add r5, r0, #0
bl ov70_02238E44
bl sub_0203A930
ldr r4, [r5, #0x2c]
ldr r1, _02244150 ; =ov70_02246780
lsl r2, r4, #2
ldr r1, [r1, r2]
add r0, r5, #0
blx r1
ldr r1, [r5, #0x2c]
cmp r4, r1
beq _0224414E
mov r1, #0x16
mov r2, #0
lsl r1, r1, #8
strh r2, [r5, r1]
add r1, r1, #2
strh r2, [r5, r1]
_0224414E:
pop {r3, r4, r5, pc}
.balign 4, 0
_02244150: .word ov70_02246780
thumb_func_end ov70_02244124
thumb_func_start ov70_02244154
ov70_02244154: ; 0x02244154
push {r4, lr}
add r4, r0, #0
ldr r0, _0224419C ; =0x000012D0
ldr r0, [r4, r0]
cmp r0, #0
beq _0224416E
bl DestroySysTask
ldr r0, _0224419C ; =0x000012D0
mov r1, #0
str r1, [r4, r0]
add r0, r0, #4
str r1, [r4, r0]
_0224416E:
add r0, r4, #0
bl ov70_022446A8
add r0, r4, #0
bl ov70_02244644
ldr r0, [r4, #4]
bl ov70_02244290
ldr r0, _022441A0 ; =0x000012D4
mov r1, #0
str r1, [r4, r0]
add r0, r4, #0
bl ov70_02238E58
ldr r0, [r4, #0x14]
cmp r0, #0
bne _02244196
mov r0, #5
pop {r4, pc}
_02244196:
mov r0, #1
pop {r4, pc}
nop
_0224419C: .word 0x000012D0
_022441A0: .word 0x000012D4
thumb_func_end ov70_02244154
thumb_func_start ov70_022441A4
ov70_022441A4: ; 0x022441A4
push {r3, r4, r5, lr}
sub sp, #0x70
ldr r5, _02244280 ; =ov70_02246058
add r4, r0, #0
ldmia r5!, {r0, r1}
add r3, sp, #0x54
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]
add r0, r4, #0
add r3, r1, #0
bl InitBgFromTemplate
mov r0, #1
mov r1, #0
bl GX_EngineAToggleLayers
add r0, r4, #0
mov r1, #0
bl BgClearTilemapBufferAndCommit
ldr r5, _02244284 ; =ov70_0224603C
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, #1
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
mov r0, #2
mov r1, #0
bl GX_EngineAToggleLayers
ldr r5, _02244288 ; =ov70_02246020
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, #4
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
mov r0, #1
mov r1, #0
bl GX_EngineBToggleLayers
add r0, r4, #0
mov r1, #4
bl BgClearTilemapBufferAndCommit
ldr r5, _0224428C ; =ov70_02246074
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, #5
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
mov r0, #2
mov r1, #0
bl GX_EngineBToggleLayers
mov r0, #0
mov r1, #0x20
add r2, r0, #0
mov r3, #0x3d
bl BG_ClearCharDataRange
mov r0, #4
mov r1, #0x20
mov r2, #0
mov r3, #0x3d
bl BG_ClearCharDataRange
mov r0, #0x10
mov r1, #0
bl GX_EngineBToggleLayers
add sp, #0x70
pop {r3, r4, r5, pc}
nop
_02244280: .word ov70_02246058
_02244284: .word ov70_0224603C
_02244288: .word ov70_02246020
_0224428C: .word ov70_02246074
thumb_func_end ov70_022441A4
thumb_func_start ov70_02244290
ov70_02244290: ; 0x02244290
push {r4, lr}
add r4, r0, #0
mov r1, #5
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #4
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #1
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #0
bl FreeBgTilemapBuffer
pop {r4, pc}
thumb_func_end ov70_02244290
thumb_func_start ov70_022442B4
ov70_022442B4: ; 0x022442B4
push {r4, r5, r6, r7, lr}
sub sp, #0x3c
str r0, [sp, #0x10]
ldr r4, [r0, #4]
mov r0, #0x58
mov r1, #0x3d
bl NARC_New
mov r2, #0
str r2, [sp]
mov r1, #0x3d
str r1, [sp, #4]
mov r1, #3
add r3, r2, #0
str r0, [sp, #0x2c]
bl GfGfxLoader_GXLoadPalFromOpenNarc
mov r3, #0
str r3, [sp]
mov r0, #0x3d
str r0, [sp, #4]
ldr r0, [sp, #0x2c]
mov r1, #3
mov r2, #4
bl GfGfxLoader_GXLoadPalFromOpenNarc
mov r1, #0x1a
mov r0, #0
lsl r1, r1, #4
mov r2, #0x3d
bl LoadFontPal1
mov r1, #0x1a
mov r0, #4
lsl r1, r1, #4
mov r2, #0x3d
bl LoadFontPal1
ldr r0, [sp, #0x10]
ldr r0, [r0]
ldr r0, [r0, #0x24]
bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r4, #0
mov r1, #0
mov r2, #1
mov r3, #0xe
bl LoadUserFrameGfx2
mov r1, #0
str r1, [sp]
mov r0, #0x3d
str r0, [sp, #4]
add r0, r4, #0
mov r2, #0x1f
mov r3, #0xb
bl LoadUserFrameGfx1
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
ldr r0, [sp, #0x2c]
mov r1, #2
add r2, r4, #0
mov r3, #1
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r1, #0
mov r0, #6
str r1, [sp]
lsl r0, r0, #8
str r0, [sp, #4]
str r1, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
ldr r0, [sp, #0x2c]
mov r1, #6
add r2, r4, #0
mov r3, #1
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
ldr r0, [sp, #0x2c]
mov r1, #0xb
add r2, r4, #0
mov r3, #5
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r1, #0
mov r0, #6
str r1, [sp]
lsl r0, r0, #8
str r0, [sp, #4]
str r1, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
ldr r0, [sp, #0x2c]
mov r1, #0xc
add r2, r4, #0
mov r3, #5
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #0
add r1, r0, #0
bl BG_SetMaskColor
mov r0, #4
mov r1, #0
bl BG_SetMaskColor
mov r2, #0x33
ldr r1, _022444CC ; =0x000012D0
ldr r0, [sp, #0x10]
lsl r2, r2, #4
add r0, r0, r1
mov r1, #0
bl MI_CpuFill8
ldr r0, [sp, #0x2c]
mov r1, #5
add r2, sp, #0x38
mov r3, #0x3d
bl GfGfxLoader_GetPlttDataFromOpenNarc
add r4, r0, #0
ldr r0, [sp, #0x38]
ldr r2, _022444D0 ; =0x000012D8
ldr r1, [sp, #0x10]
ldr r0, [r0, #0xc]
add r1, r1, r2
mov r2, #0x80
bl MIi_CpuCopy16
ldr r0, [sp, #0x38]
ldr r2, _022444D4 ; =0x00001358
ldr r1, [sp, #0x10]
ldr r0, [r0, #0xc]
add r1, r1, r2
mov r2, #0x80
bl MIi_CpuCopy16
add r0, r4, #0
bl FreeToHeap
mov r0, #0
str r0, [sp, #0x24]
str r0, [sp, #0x28]
ldr r1, _022444D4 ; =0x00001358
ldr r0, [sp, #0x10]
add r0, r0, r1
str r0, [sp, #0x18]
ldr r0, [sp, #0x10]
sub r1, #0x80
add r0, r0, r1
str r0, [sp, #0x14]
_02244404:
mov r0, #0
str r0, [sp, #0x20]
str r0, [sp, #0x1c]
ldr r0, [sp, #0x28]
add r0, r0, #1
lsl r1, r0, #5
ldr r0, [sp, #0x10]
add r0, r0, r1
str r0, [sp, #0x30]
_02244416:
ldr r0, [sp, #0x24]
cmp r0, #0x15
blt _02244420
bl GF_AssertFail
_02244420:
ldr r0, [sp, #0x30]
mov r7, #1
add r4, r0, #2
ldr r0, [sp, #0x18]
add r6, r0, #2
ldr r0, [sp, #0x14]
add r5, r0, #2
ldr r0, [sp, #0x20]
asr r0, r0, #8
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x34]
_02244438:
ldr r0, _022444D0 ; =0x000012D8
ldr r3, [sp, #0x34]
ldrh r0, [r4, r0]
add r1, r6, #0
mov r2, #1
str r0, [sp]
add r0, r5, #0
bl sub_02003DE8
add r7, r7, #1
add r4, r4, #2
add r6, r6, #2
add r5, r5, #2
cmp r7, #0x10
blt _02244438
ldr r0, [sp, #0x18]
add r0, #0x20
str r0, [sp, #0x18]
ldr r0, [sp, #0x24]
add r0, r0, #1
str r0, [sp, #0x24]
ldr r0, [sp, #0x1c]
cmp r0, #1
beq _02244482
mov r0, #3
ldr r1, [sp, #0x20]
lsl r0, r0, #8
add r1, r1, r0
mov r0, #1
lsl r0, r0, #0xc
str r1, [sp, #0x20]
cmp r1, r0
blt _02244416
str r0, [sp, #0x20]
mov r0, #1
str r0, [sp, #0x1c]
b _02244416
_02244482:
ldr r0, [sp, #0x14]
add r0, #0x20
str r0, [sp, #0x14]
ldr r0, [sp, #0x28]
add r0, r0, #1
str r0, [sp, #0x28]
cmp r0, #3
blt _02244404
ldr r1, _022444D4 ; =0x00001358
ldr r0, [sp, #0x10]
add r0, r0, r1
mov r1, #0x2a
lsl r1, r1, #4
bl DC_FlushRange
ldr r1, _022444D8 ; =0x000012D4
ldr r0, [sp, #0x10]
mov r2, #1
str r2, [r0, r1]
ldr r2, _022444DC ; =0x000015FC
mov r3, #0
str r3, [r0, r2]
sub r2, r1, #4
ldr r1, [sp, #0x10]
ldr r0, _022444E0 ; =ov70_022444E4
add r1, r1, r2
mov r2, #0x14
bl sub_0200E33C
ldr r2, _022444CC ; =0x000012D0
ldr r1, [sp, #0x10]
str r0, [r1, r2]
ldr r0, [sp, #0x2c]
bl NARC_Delete
add sp, #0x3c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_022444CC: .word 0x000012D0
_022444D0: .word 0x000012D8
_022444D4: .word 0x00001358
_022444D8: .word 0x000012D4
_022444DC: .word 0x000015FC
_022444E0: .word ov70_022444E4
thumb_func_end ov70_022442B4
thumb_func_start ov70_022444E4
ov70_022444E4: ; 0x022444E4
push {r4, lr}
add r4, r1, #0
ldr r0, [r4, #4]
cmp r0, #0
beq _02244582
ldr r1, _02244584 ; =0x0000032B
mov r0, #1
ldrb r2, [r4, r1]
eor r2, r0
strb r2, [r4, r1]
ldrb r2, [r4, r1]
tst r0, r2
bne _02244582
add r0, r1, #1
ldr r0, [r4, r0]
cmp r0, #1
bhi _0224451A
sub r0, r1, #3
ldrsh r0, [r4, r0]
add r2, r4, #0
add r2, #0x88
lsl r0, r0, #5
add r0, r2, r0
mov r1, #0
mov r2, #0x20
bl GX_LoadBGPltt
_0224451A:
mov r0, #0xcb
lsl r0, r0, #2
ldr r0, [r4, r0]
cmp r0, #0
beq _02244528
cmp r0, #2
bne _0224453E
_02244528:
mov r0, #0xca
lsl r0, r0, #2
ldrsh r0, [r4, r0]
add r1, r4, #0
add r1, #0x88
lsl r0, r0, #5
add r0, r1, r0
mov r1, #0
mov r2, #0x20
bl GXS_LoadBGPltt
_0224453E:
ldr r0, _02244588 ; =0x0000032A
ldrsb r1, [r4, r0]
cmp r1, #0
bne _02244566
sub r1, r0, #2
ldrsh r1, [r4, r1]
add r2, r1, #1
sub r1, r0, #2
strh r2, [r4, r1]
ldrsh r1, [r4, r1]
cmp r1, #0x15
blt _02244582
mov r2, #0x13
sub r1, r0, #2
strh r2, [r4, r1]
ldrsb r2, [r4, r0]
mov r1, #1
eor r1, r2
strb r1, [r4, r0]
pop {r4, pc}
_02244566:
sub r1, r0, #2
ldrsh r1, [r4, r1]
sub r2, r1, #1
sub r1, r0, #2
strh r2, [r4, r1]
ldrsh r1, [r4, r1]
cmp r1, #0
bge _02244582
mov r2, #1
sub r1, r0, #2
strh r2, [r4, r1]
ldrsb r1, [r4, r0]
eor r1, r2
strb r1, [r4, r0]
_02244582:
pop {r4, pc}
.balign 4, 0
_02244584: .word 0x0000032B
_02244588: .word 0x0000032A
thumb_func_end ov70_022444E4
thumb_func_start ov70_0224458C
ov70_0224458C: ; 0x0224458C
push {r3, r4, lr}
sub sp, #0x14
mov r3, #4
add r4, r0, #0
str r3, [sp]
mov r0, #0x17
str r0, [sp, #4]
mov r0, #0x10
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
mov r0, #0x94
ldr r1, _02244634 ; =0x00000F48
str r0, [sp, #0x10]
ldr r0, [r4, #4]
add r1, r4, r1
mov r2, #0
bl AddWindowParameterized
ldr r0, _02244634 ; =0x00000F48
mov r1, #0
add r0, r4, r0
bl FillWindowPixelBuffer
mov r0, #1
str r0, [sp]
mov r0, #0x18
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
mov r0, #0x81
lsl r0, r0, #2
ldr r1, _02244638 ; =0x00000F38
str r0, [sp, #0x10]
ldr r0, [r4, #4]
add r1, r4, r1
mov r2, #0
mov r3, #4
bl AddWindowParameterized
ldr r0, _02244638 ; =0x00000F38
mov r1, #0
add r0, r4, r0
bl FillWindowPixelBuffer
mov r3, #1
mov r1, #0x2f
ldr r0, _0224463C ; =0x000F0E00
str r3, [sp]
str r0, [sp, #4]
ldr r0, _02244638 ; =0x00000F38
lsl r1, r1, #6
ldr r1, [r4, r1]
add r0, r4, r0
mov r2, #0
bl ov70_02245050
mov r0, #0x13
str r0, [sp]
mov r0, #0x1b
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
mov r0, #0x28
ldr r1, _02244640 ; =0x00000F18
str r0, [sp, #0x10]
ldr r0, [r4, #4]
add r1, r4, r1
mov r2, #0
mov r3, #2
bl AddWindowParameterized
ldr r0, _02244640 ; =0x00000F18
mov r1, #0
add r0, r4, r0
bl FillWindowPixelBuffer
add sp, #0x14
pop {r3, r4, pc}
nop
_02244634: .word 0x00000F48
_02244638: .word 0x00000F38
_0224463C: .word 0x000F0E00
_02244640: .word 0x00000F18
thumb_func_end ov70_0224458C
thumb_func_start ov70_02244644
ov70_02244644: ; 0x02244644
push {r4, lr}
add r4, r0, #0
ldr r0, _02244664 ; =0x00000F18
add r0, r4, r0
bl RemoveWindow
ldr r0, _02244668 ; =0x00000F38
add r0, r4, r0
bl RemoveWindow
ldr r0, _0224466C ; =0x00000F48
add r0, r4, r0
bl RemoveWindow
pop {r4, pc}
nop
_02244664: .word 0x00000F18
_02244668: .word 0x00000F38
_0224466C: .word 0x00000F48
thumb_func_end ov70_02244644
thumb_func_start ov70_02244670
ov70_02244670: ; 0x02244670
push {r4, lr}
add r4, r0, #0
mov r0, #0xb4
mov r1, #0x3d
bl String_New
ldr r1, _022446A0 ; =0x00000BBC
str r0, [r4, r1]
mov r0, #1
lsl r0, r0, #8
mov r1, #0x3d
bl String_New
ldr r1, _022446A4 ; =0x00000BEC
str r0, [r4, r1]
sub r1, #0x4c
ldr r0, [r4, r1]
mov r1, #0x1f
bl NewString_ReadMsgData
mov r1, #0x2f
lsl r1, r1, #6
str r0, [r4, r1]
pop {r4, pc}
.balign 4, 0
_022446A0: .word 0x00000BBC
_022446A4: .word 0x00000BEC
thumb_func_end ov70_02244670
thumb_func_start ov70_022446A8
ov70_022446A8: ; 0x022446A8
push {r4, lr}
add r4, r0, #0
mov r0, #0x2f
lsl r0, r0, #6
ldr r0, [r4, r0]
bl String_Delete
ldr r0, _022446C8 ; =0x00000BEC
ldr r0, [r4, r0]
bl String_Delete
ldr r0, _022446CC ; =0x00000BBC
ldr r0, [r4, r0]
bl String_Delete
pop {r4, pc}
.balign 4, 0
_022446C8: .word 0x00000BEC
_022446CC: .word 0x00000BBC
thumb_func_end ov70_022446A8
thumb_func_start ov70_022446D0
ov70_022446D0: ; 0x022446D0
push {r3, r4, lr}
sub sp, #4
ldr r1, _022446FC ; =0x00000F0F
add r4, r0, #0
str r1, [sp]
ldr r1, _02244700 ; =0x00000BAC
mov r2, #0x11
ldr r1, [r4, r1]
mov r3, #1
bl ov70_02244FA4
add r0, r4, #0
mov r1, #0xd
mov r2, #1
bl ov70_02238D84
ldr r0, _02244704 ; =0x000011FA
mov r1, #1
strh r1, [r4, r0]
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_022446FC: .word 0x00000F0F
_02244700: .word 0x00000BAC
_02244704: .word 0x000011FA
thumb_func_end ov70_022446D0
thumb_func_start ov70_02244708
ov70_02244708: ; 0x02244708
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
bl ov70_02238C8C
cmp r0, #1
bne _02244742
ldr r0, _02244768 ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
ldr r0, _0224476C ; =0x00000F0F
mov r2, #1
str r0, [sp]
ldr r1, _02244770 ; =0x00000BA8
add r0, r4, #0
ldr r1, [r4, r1]
add r3, r2, #0
bl ov70_02244FA4
add r0, r4, #0
mov r1, #0xc
mov r2, #2
bl ov70_02238D84
add r0, r4, #0
bl ov70_02238F64
b _02244760
_02244742:
cmp r0, #2
bne _02244760
ldr r0, _02244768 ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
bl sub_0203946C
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl ov70_02238E50
mov r0, #0xb
str r0, [r4, #0x2c]
_02244760:
mov r0, #3
add sp, #4
pop {r3, r4, pc}
nop
_02244768: .word 0x000011C8
_0224476C: .word 0x00000F0F
_02244770: .word 0x00000BA8
thumb_func_end ov70_02244708
thumb_func_start ov70_02244774
ov70_02244774: ; 0x02244774
push {r3, r4, lr}
sub sp, #4
ldr r1, _0224479C ; =0x00000F0F
add r4, r0, #0
str r1, [sp]
mov r1, #0xba
lsl r1, r1, #4
ldr r1, [r4, r1]
mov r2, #7
mov r3, #1
bl ov70_02244FA4
add r0, r4, #0
mov r1, #0xd
mov r2, #0x10
bl ov70_02238D84
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_0224479C: .word 0x00000F0F
thumb_func_end ov70_02244774
thumb_func_start ov70_022447A0
ov70_022447A0: ; 0x022447A0
push {r4, lr}
add r4, r0, #0
ldr r0, _02244800 ; =0x000011B0
mov r1, #0x3d
ldr r0, [r4, r0]
bl Handle2dMenuInput_DeleteOnFinish
mov r1, #0
mvn r1, r1
cmp r0, r1
beq _022447FC
sub r1, r1, #1
cmp r0, r1
bne _022447DE
bl ov00_021EC5B4
cmp r0, #0
bne _022447CA
mov r0, #0
str r0, [r4, #0x2c]
b _022447FC
_022447CA:
add r0, r4, #0
mov r1, #7
mov r2, #0xb
bl ov70_02238E50
mov r0, #1
str r0, [r4, #0x1c]
mov r0, #0xb
str r0, [r4, #0x2c]
b _022447FC
_022447DE:
bl ov00_021EC5B4
cmp r0, #0
beq _022447EA
bl ov00_021EC8D8
_022447EA:
bl sub_0203946C
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl ov70_02238E50
mov r0, #0xb
str r0, [r4, #0x2c]
_022447FC:
mov r0, #3
pop {r4, pc}
.balign 4, 0
_02244800: .word 0x000011B0
thumb_func_end ov70_022447A0
thumb_func_start ov70_02244804
ov70_02244804: ; 0x02244804
push {r3, r4, lr}
sub sp, #4
ldr r1, _0224482C ; =0x00000F0F
add r4, r0, #0
str r1, [sp]
ldr r1, _02244830 ; =0x00000BAC
mov r2, #0x1a
ldr r1, [r4, r1]
mov r3, #1
bl ov70_02244FA4
add r0, r4, #0
mov r1, #0xc
mov r2, #0x12
bl ov70_02238D84
mov r0, #3
add sp, #4
pop {r3, r4, pc}
nop
_0224482C: .word 0x00000F0F
_02244830: .word 0x00000BAC
thumb_func_end ov70_02244804
thumb_func_start ov70_02244834
ov70_02244834: ; 0x02244834
push {r4, lr}
add r4, r0, #0
bl sub_0203946C
bl ov00_021EC8D8
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl ov70_02238E50
mov r0, #0x13
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02244834
thumb_func_start ov70_02244854
ov70_02244854: ; 0x02244854
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
bl sub_0203A914
ldr r0, _02244880 ; =0x00000F0F
ldr r1, _02244884 ; =0x00000BAC
str r0, [sp]
ldr r1, [r4, r1]
add r0, r4, #0
mov r2, #0x1b
mov r3, #1
bl ov70_02244FA4
add r0, r4, #0
mov r1, #0x14
mov r2, #0xb
bl ov70_02238D84
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_02244880: .word 0x00000F0F
_02244884: .word 0x00000BAC
thumb_func_end ov70_02244854
thumb_func_start ov70_02244888
ov70_02244888: ; 0x02244888
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
ldr r0, [r0, #0x20]
bl sub_02039418
mov r0, #4
bl Sys_SetSleepDisableFlag
add r0, r4, #0
bl ov70_02245124
add r0, r4, #0
add r0, #0x54
mov r1, #2
mov r2, #1
mov r3, #0x14
bl ov00_021EC3F0
mov r0, #2
bl ov00_021EC454
bl ov00_021EC4A4
mov r0, #3
str r0, [r4, #0x2c]
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02244888
thumb_func_start ov70_022448C0
ov70_022448C0: ; 0x022448C0
push {r4, lr}
sub sp, #0x48
add r4, r0, #0
bl ov00_021EC60C
bl ov00_021EC5B4
cmp r0, #0
beq _0224493E
bl ov00_021EC724
cmp r0, #8
bhi _0224491E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022448E6: ; jump table
.short _0224491E - _022448E6 - 2 ; case 0
.short _0224491E - _022448E6 - 2 ; case 1
.short _0224491E - _022448E6 - 2 ; case 2
.short _0224491E - _022448E6 - 2 ; case 3
.short _02244934 - _022448E6 - 2 ; case 4
.short _0224491E - _022448E6 - 2 ; case 5
.short _0224491E - _022448E6 - 2 ; case 6
.short _022448F8 - _022448E6 - 2 ; case 7
.short _0224491E - _022448E6 - 2 ; case 8
_022448F8:
add r0, sp, #8
add r1, sp, #4
bl ov00_021EC11C
str r0, [r4, #0x40]
ldr r0, [sp, #8]
str r0, [r4, #0x44]
ldr r0, [sp, #4]
str r0, [r4, #0x48]
bl ov00_021EC210
bl ov00_021EC8D8
add r0, r4, #0
bl ov70_02238F80
mov r0, #0x17
str r0, [r4, #0x2c]
b _0224493E
_0224491E:
add r0, sp, #0
bl ov00_021EC0FC
add r0, r4, #0
bl ov70_02238F80
mov r0, #0x15
str r0, [r4, #0x2c]
sub r0, #0x17
str r0, [r4, #0x3c]
b _0224493E
_02244934:
add r0, sp, #0xc
bl ov00_021EC9E0
mov r0, #4
str r0, [r4, #0x2c]
_0224493E:
mov r0, #3
add sp, #0x48
pop {r4, pc}
thumb_func_end ov70_022448C0
thumb_func_start ov70_02244944
ov70_02244944: ; 0x02244944
push {r4, lr}
add r4, r0, #0
bl ov00_021ECD04
mov r0, #5
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
thumb_func_end ov70_02244944
thumb_func_start ov70_02244954
ov70_02244954: ; 0x02244954
push {r4, lr}
sub sp, #8
add r4, r0, #0
bl ov00_021ECDC8
cmp r0, #5
bhi _022449F4
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0224496E: ; jump table
.short _02244980 - _0224496E - 2 ; case 0
.short _022449F4 - _0224496E - 2 ; case 1
.short _022449F4 - _0224496E - 2 ; case 2
.short _0224497A - _0224496E - 2 ; case 3
.short _02244980 - _0224496E - 2 ; case 4
.short _02244980 - _0224496E - 2 ; case 5
_0224497A:
mov r0, #6
str r0, [r4, #0x2c]
b _022449F4
_02244980:
add r0, r4, #0
bl ov70_02238F80
add r0, sp, #4
add r1, sp, #0
bl ov00_021EC11C
str r0, [r4, #0x40]
ldr r0, [sp, #4]
str r0, [r4, #0x44]
bl ov00_021EC210
bl ov00_021EC8D8
mov r0, #0x17
str r0, [r4, #0x2c]
ldr r1, [sp]
cmp r1, #7
bhi _022449E2
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_022449B2: ; jump table
.short _022449E2 - _022449B2 - 2 ; case 0
.short _022449C2 - _022449B2 - 2 ; case 1
.short _022449C2 - _022449B2 - 2 ; case 2
.short _022449D4 - _022449B2 - 2 ; case 3
.short _022449C6 - _022449B2 - 2 ; case 4
.short _022449DE - _022449B2 - 2 ; case 5
.short _022449D0 - _022449B2 - 2 ; case 6
.short _022449DE - _022449B2 - 2 ; case 7
_022449C2:
str r0, [r4, #0x2c]
b _022449E2
_022449C6:
bl ov00_021FA0D8
mov r0, #0x17
str r0, [r4, #0x2c]
b _022449E2
_022449D0:
str r0, [r4, #0x2c]
b _022449E2
_022449D4:
bl ov00_021ED9B4
mov r0, #0x17
str r0, [r4, #0x2c]
b _022449E2
_022449DE:
bl sub_020399EC
_022449E2:
ldr r1, [sp, #4]
ldr r0, _022449FC ; =0xFFFFB1E0
cmp r1, r0
bge _022449F4
ldr r0, _02244A00 ; =0xFFFF8AD1
cmp r1, r0
blt _022449F4
mov r0, #0x17
str r0, [r4, #0x2c]
_022449F4:
mov r0, #3
add sp, #8
pop {r4, pc}
nop
_022449FC: .word 0xFFFFB1E0
_02244A00: .word 0xFFFF8AD1
thumb_func_end ov70_02244954
thumb_func_start ov70_02244A04
ov70_02244A04: ; 0x02244A04
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0x14]
bl sub_0202C08C
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #4]
bl Save_SysInfo_GetField4C
cmp r0, #0
bne _02244A28
ldr r1, [r5]
ldr r0, [r1, #4]
ldr r1, [r1, #0x34]
bl Save_SysInfo_SetField4C
_02244A28:
ldr r0, [r5]
ldr r0, [r0, #4]
bl Save_SysInfo_GetField4C
add r6, r0, #0
add r0, r4, #0
bl DWC_CreateFriendKey
add r3, r0, #0
add r2, r1, #0
add r0, r6, #0
add r1, r3, #0
bl ov70_022378C0
mov r0, #7
str r0, [r5, #0x2c]
mov r0, #3
pop {r4, r5, r6, pc}
thumb_func_end ov70_02244A04
thumb_func_start ov70_02244A4C
ov70_02244A4C: ; 0x02244A4C
push {r4, lr}
add r4, r0, #0
bl ov70_022382C0
mov r0, #8
str r0, [r4, #0x2c]
ldr r0, _02244A64 ; =0x00001604
mov r1, #0
str r1, [r4, r0]
mov r0, #3
pop {r4, pc}
nop
_02244A64: .word 0x00001604
thumb_func_end ov70_02244A4C
thumb_func_start ov70_02244A68
ov70_02244A68: ; 0x02244A68
push {r3, r4, r5, lr}
add r4, r0, #0
bl ov70_02237F38
cmp r0, #0
beq _02244B02
bl ov70_02237F58
add r5, r0, #0
ldr r0, _02244B1C ; =0x00001604
mov r1, #0
str r1, [r4, r0]
add r0, r5, #0
add r0, #0xf
cmp r0, #0x11
bhi _02244AF6
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02244A94: ; jump table
.short _02244ADA - _02244A94 - 2 ; case 0
.short _02244AE8 - _02244A94 - 2 ; case 1
.short _02244AF6 - _02244A94 - 2 ; case 2
.short _02244ADA - _02244A94 - 2 ; case 3
.short _02244AF6 - _02244A94 - 2 ; case 4
.short _02244AF6 - _02244A94 - 2 ; case 5
.short _02244AF6 - _02244A94 - 2 ; case 6
.short _02244AF6 - _02244A94 - 2 ; case 7
.short _02244AF6 - _02244A94 - 2 ; case 8
.short _02244AF6 - _02244A94 - 2 ; case 9
.short _02244AF6 - _02244A94 - 2 ; case 10
.short _02244AF6 - _02244A94 - 2 ; case 11
.short _02244AF6 - _02244A94 - 2 ; case 12
.short _02244AE8 - _02244A94 - 2 ; case 13
.short _02244ACC - _02244A94 - 2 ; case 14
.short _02244AB8 - _02244A94 - 2 ; case 15
.short _02244ABE - _02244A94 - 2 ; case 16
.short _02244ACC - _02244A94 - 2 ; case 17
_02244AB8:
mov r0, #9
str r0, [r4, #0x2c]
b _02244B18
_02244ABE:
add r0, r4, #0
bl ov70_02238F80
str r5, [r4, #0x3c]
mov r0, #0x15
str r0, [r4, #0x2c]
b _02244B18
_02244ACC:
add r0, r4, #0
bl ov70_02238F80
str r5, [r4, #0x3c]
mov r0, #0x15
str r0, [r4, #0x2c]
b _02244B18
_02244ADA:
add r0, r4, #0
bl ov70_02238F80
str r5, [r4, #0x3c]
mov r0, #0x15
str r0, [r4, #0x2c]
b _02244B18
_02244AE8:
add r0, r4, #0
bl ov70_02238F80
str r5, [r4, #0x3c]
mov r0, #0x15
str r0, [r4, #0x2c]
b _02244B18
_02244AF6:
add r0, r4, #0
bl ov70_02238F80
bl sub_020399EC
b _02244B18
_02244B02:
ldr r0, _02244B1C ; =0x00001604
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
mov r0, #0xe1
lsl r0, r0, #4
cmp r1, r0
bne _02244B18
bl sub_020399EC
_02244B18:
mov r0, #3
pop {r3, r4, r5, pc}
.balign 4, 0
_02244B1C: .word 0x00001604
thumb_func_end ov70_02244A68
thumb_func_start ov70_02244B20
ov70_02244B20: ; 0x02244B20
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
ldr r1, _02244B4C ; =0x00001260
ldr r0, [r0, #0x20]
add r1, r4, r1
bl sub_0203189C
ldr r1, _02244B4C ; =0x00001260
add r0, r4, r1
add r1, #0x64
add r1, r4, r1
bl ov70_02238304
mov r0, #0xa
str r0, [r4, #0x2c]
ldr r0, _02244B50 ; =0x00001604
mov r1, #0
str r1, [r4, r0]
mov r0, #3
pop {r4, pc}
nop
_02244B4C: .word 0x00001260
_02244B50: .word 0x00001604
thumb_func_end ov70_02244B20
thumb_func_start ov70_02244B54
ov70_02244B54: ; 0x02244B54
push {r3, r4, r5, lr}
add r4, r0, #0
bl ov70_02237F38
cmp r0, #0
bne _02244B62
b _02244C72
_02244B62:
bl ov70_02237F58
add r5, r0, #0
ldr r0, _02244C8C ; =0x00001604
mov r1, #0
str r1, [r4, r0]
add r0, r5, #0
add r0, #0xf
cmp r0, #0x11
bhi _02244C66
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02244B82: ; jump table
.short _02244C4A - _02244B82 - 2 ; case 0
.short _02244C58 - _02244B82 - 2 ; case 1
.short _02244C66 - _02244B82 - 2 ; case 2
.short _02244C4A - _02244B82 - 2 ; case 3
.short _02244C66 - _02244B82 - 2 ; case 4
.short _02244C66 - _02244B82 - 2 ; case 5
.short _02244C66 - _02244B82 - 2 ; case 6
.short _02244C66 - _02244B82 - 2 ; case 7
.short _02244C66 - _02244B82 - 2 ; case 8
.short _02244C66 - _02244B82 - 2 ; case 9
.short _02244C66 - _02244B82 - 2 ; case 10
.short _02244C66 - _02244B82 - 2 ; case 11
.short _02244C66 - _02244B82 - 2 ; case 12
.short _02244C58 - _02244B82 - 2 ; case 13
.short _02244C3C - _02244B82 - 2 ; case 14
.short _02244BA6 - _02244B82 - 2 ; case 15
.short _02244C2E - _02244B82 - 2 ; case 16
.short _02244C3C - _02244B82 - 2 ; case 17
_02244BA6:
add r0, r4, #0
bl ov70_02238F80
ldr r0, _02244C90 ; =0x000012C4
ldr r1, [r4, r0]
cmp r1, #0
beq _02244BBE
cmp r1, #1
beq _02244C0E
cmp r1, #2
beq _02244C18
b _02244C22
_02244BBE:
add r0, r0, #4
ldr r0, [r4, r0]
cmp r0, #3
bhi _02244C08
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02244BD2: ; jump table
.short _02244BDA - _02244BD2 - 2 ; case 0
.short _02244BF4 - _02244BD2 - 2 ; case 1
.short _02244BFE - _02244BD2 - 2 ; case 2
.short _02244BEA - _02244BD2 - 2 ; case 3
_02244BDA:
add r0, r4, #0
mov r1, #1
mov r2, #0
bl ov70_02238E50
mov r0, #0xb
str r0, [r4, #0x2c]
b _02244C88
_02244BEA:
ldr r0, _02244C94 ; =0xFFFFEC75
str r0, [r4, #0x3c]
mov r0, #0x15
str r0, [r4, #0x2c]
b _02244C88
_02244BF4:
ldr r0, _02244C98 ; =0xFFFFEC78
str r0, [r4, #0x3c]
mov r0, #0x15
str r0, [r4, #0x2c]
b _02244C88
_02244BFE:
ldr r0, _02244C9C ; =0xFFFFEC77
str r0, [r4, #0x3c]
mov r0, #0x15
str r0, [r4, #0x2c]
b _02244C88
_02244C08:
bl sub_020399EC
b _02244C88
_02244C0E:
ldr r0, _02244CA0 ; =0xFFFFEC74
str r0, [r4, #0x3c]
mov r0, #0x15
str r0, [r4, #0x2c]
b _02244C88
_02244C18:
ldr r0, _02244CA4 ; =0xFFFFEC73
str r0, [r4, #0x3c]
mov r0, #0x15
str r0, [r4, #0x2c]
b _02244C88
_02244C22:
add r0, r4, #0
bl ov70_02238F80
bl sub_020399EC
b _02244C88
_02244C2E:
add r0, r4, #0
bl ov70_02238F80
str r5, [r4, #0x3c]
mov r0, #0x15
str r0, [r4, #0x2c]
b _02244C88
_02244C3C:
add r0, r4, #0
bl ov70_02238F80
str r5, [r4, #0x3c]
mov r0, #0x15
str r0, [r4, #0x2c]
b _02244C88
_02244C4A:
add r0, r4, #0
bl ov70_02238F80
str r5, [r4, #0x3c]
mov r0, #0x15
str r0, [r4, #0x2c]
b _02244C88
_02244C58:
add r0, r4, #0
bl ov70_02238F80
str r5, [r4, #0x3c]
mov r0, #0x15
str r0, [r4, #0x2c]
b _02244C88
_02244C66:
add r0, r4, #0
bl ov70_02238F80
bl sub_020399EC
b _02244C88
_02244C72:
ldr r0, _02244C8C ; =0x00001604
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
mov r0, #0xe1
lsl r0, r0, #4
cmp r1, r0
bne _02244C88
bl sub_020399EC
_02244C88:
mov r0, #3
pop {r3, r4, r5, pc}
.balign 4, 0
_02244C8C: .word 0x00001604
_02244C90: .word 0x000012C4
_02244C94: .word 0xFFFFEC75
_02244C98: .word 0xFFFFEC78
_02244C9C: .word 0xFFFFEC77
_02244CA0: .word 0xFFFFEC74
_02244CA4: .word 0xFFFFEC73
thumb_func_end ov70_02244B54
thumb_func_start ov70_02244CA8
ov70_02244CA8: ; 0x02244CA8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x44]
ldr r1, [r4, #0x48]
neg r0, r0
bl ov00_021E6A70
ldr r2, [r4, #0x44]
add r1, r0, #0
add r0, r4, #0
neg r2, r2
bl ov70_022451A8
mov r0, #0x18
str r0, [r4, #0x2c]
mov r0, #3
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02244CA8
thumb_func_start ov70_02244CCC
ov70_02244CCC: ; 0x02244CCC
push {r4, lr}
add r4, r0, #0
ldr r0, _02244CFC ; =gSystem
ldr r1, [r0, #0x48]
mov r0, #1
tst r0, r1
bne _02244CE8
mov r0, #2
tst r0, r1
bne _02244CE8
ldr r0, _02244D00 ; =gSystem + 0x40
ldrh r0, [r0, #0x24]
cmp r0, #0
beq _02244CF6
_02244CE8:
ldr r0, _02244D04 ; =0x00000F48
mov r1, #0
add r0, r4, r0
bl sub_0200E5D4
mov r0, #0
str r0, [r4, #0x2c]
_02244CF6:
mov r0, #3
pop {r4, pc}
nop
_02244CFC: .word gSystem
_02244D00: .word gSystem + 0x40
_02244D04: .word 0x00000F48
thumb_func_end ov70_02244CCC
thumb_func_start ov70_02244D08
ov70_02244D08: ; 0x02244D08
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
bl sub_0203A914
add r0, r4, #0
bl ov70_02238F80
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x3d
str r0, [sp, #8]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl BeginNormalPaletteFade
mov r0, #0
str r0, [r4, #0x2c]
ldr r0, _02244D40 ; =0x000011FC
mov r1, #1
str r1, [r4, r0]
mov r0, #4
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
_02244D40: .word 0x000011FC
thumb_func_end ov70_02244D08
thumb_func_start ov70_02244D44
ov70_02244D44: ; 0x02244D44
push {r4, lr}
add r4, r0, #0
bl ov70_02238C8C
cmp r0, #1
bne _02244D68
ldr r0, _02244D7C ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl ov70_02238E50
mov r0, #0xb
str r0, [r4, #0x2c]
b _02244D78
_02244D68:
cmp r0, #2
bne _02244D78
ldr r0, _02244D7C ; =0x000011C8
ldr r0, [r4, r0]
bl sub_02016624
mov r0, #0
str r0, [r4, #0x2c]
_02244D78:
mov r0, #3
pop {r4, pc}
.balign 4, 0
_02244D7C: .word 0x000011C8
thumb_func_end ov70_02244D44
thumb_func_start ov70_02244D80
ov70_02244D80: ; 0x02244D80
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
mov r2, #0xd
ldr r0, [r4, #0x3c]
mvn r2, r2
cmp r0, r2
bgt _02244DBE
bge _02244DFA
ldr r1, _02244E38 ; =0xFFFFEC78
cmp r0, r1
bgt _02244DB6
ldr r1, _02244E3C ; =0x0000138D
add r1, r0, r1
bmi _02244DFE
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02244DAA: ; jump table
.short _02244E12 - _02244DAA - 2 ; case 0
.short _02244E0E - _02244DAA - 2 ; case 1
.short _02244E02 - _02244DAA - 2 ; case 2
.short _02244DFE - _02244DAA - 2 ; case 3
.short _02244E0A - _02244DAA - 2 ; case 4
.short _02244E06 - _02244DAA - 2 ; case 5
_02244DB6:
mov r1, #0xe
mvn r1, r1
cmp r0, r1
b _02244DFE
_02244DBE:
add r1, r2, #0
add r1, #9
cmp r0, r1
bgt _02244DD4
add r1, r2, #0
add r1, #9
cmp r0, r1
bge _02244DFE
add r1, r2, #2
cmp r0, r1
b _02244DFE
_02244DD4:
add r0, r0, #3
cmp r0, #5
bhi _02244DFE
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02244DE6: ; jump table
.short _02244DFE - _02244DE6 - 2 ; case 0
.short _02244DFA - _02244DE6 - 2 ; case 1
.short _02244DF6 - _02244DE6 - 2 ; case 2
.short _02244DFE - _02244DE6 - 2 ; case 3
.short _02244DF2 - _02244DE6 - 2 ; case 4
.short _02244DF6 - _02244DE6 - 2 ; case 5
_02244DF2:
mov r2, #0x96
b _02244E14
_02244DF6:
mov r2, #0x97
b _02244E14
_02244DFA:
mov r2, #0x9c
b _02244E14
_02244DFE:
mov r2, #0x9b
b _02244E14
_02244E02:
mov r2, #0xb9
b _02244E14
_02244E06:
mov r2, #0xb6
b _02244E14
_02244E0A:
mov r2, #0xb6
b _02244E14
_02244E0E:
mov r2, #0xb7
b _02244E14
_02244E12:
mov r2, #0xb8
_02244E14:
ldr r0, _02244E40 ; =0x00000F0F
mov r1, #0xba
str r0, [sp]
lsl r1, r1, #4
ldr r1, [r4, r1]
add r0, r4, #0
mov r3, #1
bl ov70_02244FA4
add r0, r4, #0
mov r1, #0xc
mov r2, #0x16
bl ov70_02238D84
mov r0, #3
add sp, #4
pop {r3, r4, pc}
nop
_02244E38: .word 0xFFFFEC78
_02244E3C: .word 0x0000138D
_02244E40: .word 0x00000F0F
thumb_func_end ov70_02244D80
thumb_func_start ov70_02244E44
ov70_02244E44: ; 0x02244E44
push {r3, r4, lr}
sub sp, #4
mov r1, #0x16
add r4, r0, #0
lsl r1, r1, #8
ldrsh r1, [r4, r1]
cmp r1, #3
bhi _02244EE8
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02244E60: ; jump table
.short _02244E68 - _02244E60 - 2 ; case 0
.short _02244E86 - _02244E60 - 2 ; case 1
.short _02244EAC - _02244E60 - 2 ; case 2
.short _02244ECA - _02244E60 - 2 ; case 3
_02244E68:
ldr r1, _02244F0C ; =0x00000F0F
mov r2, #0xba
str r1, [sp]
mov r1, #0xba
lsl r1, r1, #4
ldr r1, [r4, r1]
mov r3, #1
bl ov70_02244FA4
mov r0, #0x16
lsl r0, r0, #8
ldrsh r1, [r4, r0]
add r1, r1, #1
strh r1, [r4, r0]
b _02244F04
_02244E86:
mov r0, #0xbf
lsl r0, r0, #4
ldr r0, [r4, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl TextPrinterCheckActive
cmp r0, #0
bne _02244F04
bl sub_0203946C
bl ov00_021EC8D8
mov r0, #0x16
lsl r0, r0, #8
ldrsh r1, [r4, r0]
add r1, r1, #1
strh r1, [r4, r0]
b _02244F04
_02244EAC:
ldr r1, _02244F0C ; =0x00000F0F
mov r2, #0xbb
str r1, [sp]
mov r1, #0xba
lsl r1, r1, #4
ldr r1, [r4, r1]
mov r3, #1
bl ov70_02244FA4
mov r0, #0x16
lsl r0, r0, #8
ldrsh r1, [r4, r0]
add r1, r1, #1
strh r1, [r4, r0]
b _02244F04
_02244ECA:
mov r0, #0xbf
lsl r0, r0, #4
ldr r0, [r4, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl TextPrinterCheckActive
cmp r0, #0
bne _02244F04
mov r0, #0x16
lsl r0, r0, #8
ldrsh r1, [r4, r0]
add r1, r1, #1
strh r1, [r4, r0]
b _02244F04
_02244EE8:
ldr r0, _02244F10 ; =0x00001602
ldrsh r1, [r4, r0]
add r1, r1, #1
strh r1, [r4, r0]
ldrsh r0, [r4, r0]
cmp r0, #0x1e
ble _02244F04
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl ov70_02238E50
mov r0, #0xb
str r0, [r4, #0x2c]
_02244F04:
mov r0, #3
add sp, #4
pop {r3, r4, pc}
nop
_02244F0C: .word 0x00000F0F
_02244F10: .word 0x00001602
thumb_func_end ov70_02244E44
thumb_func_start ov70_02244F14
ov70_02244F14: ; 0x02244F14
push {r4, lr}
add r4, r0, #0
mov r0, #0xbf
lsl r0, r0, #4
ldr r0, [r4, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl TextPrinterCheckActive
cmp r0, #0
bne _02244F2E
ldr r0, [r4, #0x30]
str r0, [r4, #0x2c]
_02244F2E:
mov r0, #3
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02244F14
thumb_func_start ov70_02244F34
ov70_02244F34: ; 0x02244F34
push {r4, lr}
add r4, r0, #0
mov r0, #0xbf
lsl r0, r0, #4
ldr r0, [r4, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl TextPrinterCheckActive
cmp r0, #0
bne _02244F62
mov r0, #0x47
lsl r0, r0, #6
ldr r0, [r4, r0]
cmp r0, #0x1e
ble _02244F58
ldr r0, [r4, #0x30]
str r0, [r4, #0x2c]
_02244F58:
mov r0, #0x47
lsl r0, r0, #6
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_02244F62:
mov r0, #3
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02244F34
thumb_func_start ov70_02244F68
ov70_02244F68: ; 0x02244F68
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
mov r0, #0xbf
lsl r0, r0, #4
ldr r0, [r4, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl TextPrinterCheckActive
cmp r0, #0
bne _02244F9A
mov r0, #0
str r0, [sp]
mov r2, #0x8d
ldr r0, [r4, #4]
mov r1, #0xa
lsl r2, r2, #2
mov r3, #8
bl ov70_02238C14
ldr r1, _02244FA0 ; =0x000011C8
str r0, [r4, r1]
ldr r0, [r4, #0x30]
str r0, [r4, #0x2c]
_02244F9A:
mov r0, #3
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
_02244FA0: .word 0x000011C8
thumb_func_end ov70_02244F68
thumb_func_start ov70_02244FA4
ov70_02244FA4: ; 0x02244FA4
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r0, #0
add r0, r1, #0
add r1, r2, #0
add r4, r3, #0
bl NewString_ReadMsgData
add r6, r0, #0
ldr r1, _0224500C ; =0x00000B9C
add r2, r6, #0
ldr r0, [r5, r1]
add r1, #0x20
ldr r1, [r5, r1]
bl StringExpandPlaceholders
add r0, r6, #0
bl String_Delete
ldr r0, _02245010 ; =0x00000F18
mov r1, #0xf
add r0, r5, r0
bl FillWindowPixelBuffer
ldr r0, _02245010 ; =0x00000F18
mov r1, #0
add r0, r5, r0
mov r2, #1
mov r3, #0xe
bl DrawFrameAndWindow2
mov r3, #0
str r3, [sp]
str r4, [sp, #4]
ldr r0, _02245010 ; =0x00000F18
ldr r2, _02245014 ; =0x00000BBC
str r3, [sp, #8]
ldr r2, [r5, r2]
add r0, r5, r0
mov r1, #1
bl AddTextPrinterParameterized
mov r1, #0xbf
lsl r1, r1, #4
str r0, [r5, r1]
mov r0, #0x47
mov r1, #0
lsl r0, r0, #6
str r1, [r5, r0]
add sp, #0xc
pop {r3, r4, r5, r6, pc}
nop
_0224500C: .word 0x00000B9C
_02245010: .word 0x00000F18
_02245014: .word 0x00000BBC
thumb_func_end ov70_02244FA4
thumb_func_start ov70_02245018
ov70_02245018: ; 0x02245018
push {r4, lr}
add r4, r0, #0
cmp r3, #1
beq _02245026
cmp r3, #2
beq _0224503C
b _0224504A
_02245026:
ldr r0, [sp, #0xc]
mov r2, #0
bl FontID_String_GetWidth
ldrb r1, [r4, #7]
lsl r1, r1, #3
sub r1, r1, r0
lsr r0, r1, #0x1f
add r0, r1, r0
asr r2, r0, #1
b _0224504A
_0224503C:
ldr r0, [sp, #0xc]
mov r2, #0
bl FontID_String_GetWidth
ldrb r1, [r4, #7]
lsl r1, r1, #3
sub r2, r1, r0
_0224504A:
add r0, r2, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end ov70_02245018
thumb_func_start ov70_02245050
ov70_02245050: ; 0x02245050
push {r4, r5, r6, lr}
sub sp, #0x10
add r4, r3, #0
ldr r3, [sp, #0x24]
add r5, r0, #0
str r3, [sp]
mov r3, #1
str r3, [sp, #4]
ldr r3, [sp, #0x20]
add r6, r1, #0
bl ov70_02245018
add r3, r0, #0
str r4, [sp]
mov r1, #0
ldr r0, [sp, #0x24]
str r1, [sp, #4]
str r0, [sp, #8]
str r1, [sp, #0xc]
add r0, r5, #0
mov r1, #1
add r2, r6, #0
bl AddTextPrinterParameterized2
add sp, #0x10
pop {r4, r5, r6, pc}
thumb_func_end ov70_02245050
thumb_func_start ov70_02245084
ov70_02245084: ; 0x02245084
push {r4, r5, r6, lr}
sub sp, #0x10
add r4, r3, #0
ldr r3, [sp, #0x24]
add r5, r0, #0
str r3, [sp]
mov r3, #0
str r3, [sp, #4]
ldr r3, [sp, #0x20]
add r6, r1, #0
bl ov70_02245018
add r3, r0, #0
str r4, [sp]
mov r1, #0
ldr r0, [sp, #0x24]
str r1, [sp, #4]
str r0, [sp, #8]
add r0, r5, #0
add r2, r6, #0
str r1, [sp, #0xc]
bl AddTextPrinterParameterized2
add sp, #0x10
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov70_02245084
thumb_func_start ov70_022450B8
ov70_022450B8: ; 0x022450B8
push {r4, r5, r6, lr}
sub sp, #0x10
add r4, r3, #0
ldr r3, [sp, #0x24]
add r5, r0, #0
str r3, [sp]
mov r3, #0
str r3, [sp, #4]
ldr r3, [sp, #0x20]
add r6, r1, #0
bl ov70_02245018
add r3, r0, #0
str r4, [sp]
mov r1, #0
ldr r0, [sp, #0x24]
str r1, [sp, #4]
str r0, [sp, #8]
str r1, [sp, #0xc]
add r0, r5, #0
mov r1, #4
add r2, r6, #0
bl AddTextPrinterParameterized2
add sp, #0x10
pop {r4, r5, r6, pc}
thumb_func_end ov70_022450B8
thumb_func_start ov70_022450EC
ov70_022450EC: ; 0x022450EC
push {r3, r4, r5, lr}
sub sp, #8
add r5, r0, #0
add r0, r1, #0
ldr r1, _0224511C ; =ov70_0224600C
lsl r2, r2, #2
ldr r1, [r1, r2]
bl NewString_ReadMsgData
add r4, r0, #0
mov r2, #0
ldr r0, _02245120 ; =0x00010200
str r2, [sp]
str r0, [sp, #4]
add r0, r5, #0
add r1, r4, #0
add r3, r2, #0
bl ov70_02245084
add r0, r4, #0
bl String_Delete
add sp, #8
pop {r3, r4, r5, pc}
.balign 4, 0
_0224511C: .word ov70_0224600C
_02245120: .word 0x00010200
thumb_func_end ov70_022450EC
thumb_func_start ov70_02245124
ov70_02245124: ; 0x02245124
ldr r3, _02245128 ; =sub_0203A880
bx r3
.balign 4, 0
_02245128: .word sub_0203A880
thumb_func_end ov70_02245124
thumb_func_start ov70_0224512C
ov70_0224512C: ; 0x0224512C
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r0, #0
mov r0, #1
add r6, r1, #0
lsl r0, r0, #8
mov r1, #0x3d
bl String_New
add r4, r0, #0
ldr r0, _02245198 ; =0x00000BAC
add r1, r6, #0
ldr r0, [r5, r0]
add r2, r4, #0
bl ReadMsgDataIntoString
ldr r1, _0224519C ; =0x00000B9C
add r2, r4, #0
ldr r0, [r5, r1]
add r1, #0x50
ldr r1, [r5, r1]
bl StringExpandPlaceholders
ldr r0, _022451A0 ; =0x00000F48
mov r1, #0xf
add r0, r5, r0
bl FillWindowPixelBuffer
ldr r0, _022451A0 ; =0x00000F48
mov r1, #1
add r0, r5, r0
mov r2, #0x1f
mov r3, #0xb
bl DrawFrameAndWindow1
mov r3, #0
str r3, [sp]
str r3, [sp, #4]
ldr r0, _022451A0 ; =0x00000F48
ldr r2, _022451A4 ; =0x00000BEC
str r3, [sp, #8]
ldr r2, [r5, r2]
add r0, r5, r0
mov r1, #1
bl AddTextPrinterParameterized
mov r1, #0xbf
lsl r1, r1, #4
str r0, [r5, r1]
add r0, r4, #0
bl String_Delete
add sp, #0xc
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_02245198: .word 0x00000BAC
_0224519C: .word 0x00000B9C
_022451A0: .word 0x00000F48
_022451A4: .word 0x00000BEC
thumb_func_end ov70_0224512C
thumb_func_start ov70_022451A8
ov70_022451A8: ; 0x022451A8
push {r3, r4, r5, lr}
sub sp, #8
add r5, r0, #0
mov r0, #0
add r4, r1, #0
mvn r0, r0
cmp r4, r0
bne _022451BA
mov r4, #0xb
_022451BA:
mov r0, #2
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, _022451E4 ; =0x00000B9C
mov r1, #0
ldr r0, [r5, r0]
mov r3, #5
bl BufferIntegerAsString
ldr r0, _022451E8 ; =0x00000F18
mov r1, #1
add r0, r5, r0
bl ClearFrameAndWindow2
add r0, r5, #0
add r1, r4, #0
bl ov70_0224512C
add sp, #8
pop {r3, r4, r5, pc}
.balign 4, 0
_022451E4: .word 0x00000B9C
_022451E8: .word 0x00000F18
thumb_func_end ov70_022451A8
.rodata
_022451EC:
.byte 0x02, 0x00, 0x00, 0x0A
.byte 0x00, 0x00, 0x80, 0x01, 0xBC, 0x01, 0x3C, 0x00
ov70_022451F8: ; 0x022451F8
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_02245208: ; 0x02245208
.byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00
ov70_02245218: ; 0x02245218
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
ov70_02245240: ; 0x02245240
.byte 0x80, 0x00
ov70_02245242: ; 0x02245242
.byte 0x38, 0x00, 0x80, 0x00, 0x60, 0x00, 0x80, 0x00, 0x88, 0x00
ov70_0224524C: ; 0x0224524C
.byte 0x28, 0x47, 0x18, 0xE7
.byte 0x50, 0x6F, 0x18, 0xE7, 0x78, 0x97, 0x18, 0xE7, 0xFF, 0x00, 0x00, 0x00
ov70_0224525C: ; 0x0224525C
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_0224526C: ; 0x0224526C
.byte 0x29, 0x00, 0x00, 0x00
.byte 0x2A, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00
.byte 0x2B, 0x00, 0x00, 0x00
ov70_02245284: ; 0x02245284
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x05, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_022452A0: ; 0x022452A0
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x1E, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_022452BC: ; 0x022452BC
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x1C, 0x00
.byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_022452D8: ; 0x022452D8
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x02, 0x00, 0x01, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov70_022452F4: ; 0x022452F4
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_02245310: ; 0x02245310
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x1D, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_0224532C: ; 0x0224532C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1B, 0x04
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_02245348: ; 0x02245348
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov70_02245364: ; 0x02245364
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_02245380: ; 0x02245380
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x1E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_0224539C: ; 0x0224539C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_022453B8: ; 0x022453B8
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
.byte 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
.byte 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
.byte 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
ov70_02245498: ; 0x02245498
.byte 0xA2, 0xBF, 0x03, 0x7D, 0xA2, 0xBF, 0x82, 0xFD
.byte 0xFF, 0x00, 0x00, 0x00
ov70_022454A4: ; 0x022454A4
.byte 0x01
ov70_022454A5: ; 0x022454A5
.byte 0x02, 0x03, 0x00, 0x00, 0x04, 0x05, 0x01, 0x02, 0x06, 0x05, 0x03
.byte 0x04, 0x06, 0x00, 0x00
ov70_022454B4: ; 0x022454B4
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_022454D0: ; 0x022454D0
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_022454EC: ; 0x022454EC
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
.byte 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
.byte 0x0D, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
.byte 0x1B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x1B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
ov70_0224562C: ; 0x0224562C
.byte 0x01, 0x00, 0x10, 0x00
.byte 0x02, 0x00, 0x12, 0x00
ov70_02245634: ; 0x02245634
.byte 0x16, 0x00, 0x08, 0x00, 0x16, 0x00, 0x0D, 0x00, 0x16, 0x00, 0x03, 0x00
ov70_02245640: ; 0x02245640
.byte 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x01, 0x00, 0x06, 0x00, 0x02, 0x00, 0x08, 0x00
.byte 0x01, 0x00, 0x0B, 0x00, 0x02, 0x00, 0x0D, 0x00
ov70_02245658: ; 0x02245658
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x07, 0x00, 0x02, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov70_02245674: ; 0x02245674
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_02245690: ; 0x02245690
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_022456AC: ; 0x022456AC
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x03
.byte 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_022456C8: ; 0x022456C8
.byte 0x03, 0x29, 0x02, 0x63, 0x2B, 0x51, 0x02, 0x63
.byte 0x53, 0x79, 0x02, 0x63, 0x7B, 0xA1, 0x02, 0x63, 0x13, 0x2D, 0x91, 0xFF, 0x3A, 0x55, 0x91, 0xFF
.byte 0x62, 0x7D, 0x91, 0xFF, 0xFF, 0x00, 0x00, 0x00
ov70_022456E8: ; 0x022456E8
.byte 0x9A, 0x00, 0x0C, 0x00, 0x0E, 0x00, 0x0C, 0x00
ov70_022456F0: ; 0x022456F0
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_02245700: ; 0x02245700
.byte 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x2E, 0x00, 0x2F, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00
.byte 0x33, 0x00, 0x34, 0x00
ov70_02245714: ; 0x02245714
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_02245730: ; 0x02245730
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x1E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_0224574C: ; 0x0224574C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x02
.byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_02245768: ; 0x02245768
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov70_02245784: ; 0x02245784
.byte 0x13, 0x00
ov70_02245786: ; 0x02245786
.byte 0x24, 0x00, 0x2D, 0x00, 0x24, 0x00, 0x47, 0x00, 0x24, 0x00
.byte 0x61, 0x00, 0x24, 0x00, 0x7B, 0x00, 0x24, 0x00, 0x95, 0x00, 0x24, 0x00, 0x13, 0x00, 0x3B, 0x00
.byte 0x2D, 0x00, 0x3B, 0x00, 0x47, 0x00, 0x3B, 0x00, 0x61, 0x00, 0x3B, 0x00, 0x7B, 0x00, 0x3B, 0x00
.byte 0x95, 0x00, 0x3B, 0x00, 0x13, 0x00, 0x52, 0x00, 0x2D, 0x00, 0x52, 0x00, 0x47, 0x00, 0x52, 0x00
.byte 0x61, 0x00, 0x52, 0x00, 0x7B, 0x00, 0x52, 0x00, 0x95, 0x00, 0x52, 0x00, 0x13, 0x00, 0x69, 0x00
.byte 0x2D, 0x00, 0x69, 0x00, 0x47, 0x00, 0x69, 0x00, 0x61, 0x00, 0x69, 0x00, 0x7B, 0x00, 0x69, 0x00
.byte 0x95, 0x00, 0x69, 0x00, 0x13, 0x00, 0x80, 0x00, 0x2D, 0x00, 0x80, 0x00, 0x47, 0x00, 0x80, 0x00
.byte 0x61, 0x00, 0x80, 0x00, 0x7B, 0x00, 0x80, 0x00, 0x95, 0x00, 0x80, 0x00, 0xE0, 0x00, 0x87, 0x00
.byte 0x52, 0x00, 0x10, 0x00
ov70_02245804: ; 0x02245804
.byte 0x1F, 0x06, 0x05, 0x01, 0x1F, 0x07, 0x00, 0x02, 0x1F, 0x08, 0x01, 0x03
.byte 0x1F, 0x09, 0x02, 0x04, 0x1F, 0x0A, 0x03, 0x05, 0x1F, 0x0B, 0x04, 0x00, 0x00, 0x0C, 0x0B, 0x07
.byte 0x01, 0x0D, 0x06, 0x08, 0x02, 0x0E, 0x07, 0x09, 0x03, 0x0F, 0x08, 0x0A, 0x04, 0x10, 0x09, 0x0B
.byte 0x05, 0x11, 0x0A, 0x06, 0x06, 0x12, 0x11, 0x0D, 0x07, 0x13, 0x0C, 0x0E, 0x08, 0x14, 0x0D, 0x0F
.byte 0x09, 0x15, 0x0E, 0x10, 0x0A, 0x16, 0x0F, 0x11, 0x0B, 0x17, 0x10, 0x0C, 0x0C, 0x18, 0x17, 0x13
.byte 0x0D, 0x19, 0x12, 0x14, 0x0E, 0x1A, 0x13, 0x15, 0x0F, 0x1B, 0x14, 0x16, 0x10, 0x1C, 0x15, 0x17
.byte 0x11, 0x1D, 0x16, 0x12, 0x12, 0x1F, 0x1E, 0x19, 0x13, 0x1F, 0x18, 0x1A, 0x14, 0x1F, 0x19, 0x1B
.byte 0x15, 0x1F, 0x1A, 0x1C, 0x16, 0x1F, 0x1B, 0x1D, 0x17, 0x1F, 0x1C, 0x1E, 0x1E, 0x1E, 0x1D, 0x18
.byte 0x1A, 0x02, 0x63, 0x65
ov70_02245884: ; 0x02245884
.byte 0x17, 0x31, 0x08, 0x1E, 0x17, 0x31, 0x22, 0x38, 0x17, 0x31, 0x3C, 0x52
.byte 0x17, 0x31, 0x56, 0x6C, 0x17, 0x31, 0x70, 0x86, 0x17, 0x31, 0x8A, 0xA0, 0x2E, 0x48, 0x08, 0x1E
.byte 0x2E, 0x48, 0x22, 0x38, 0x2E, 0x48, 0x3C, 0x52, 0x2E, 0x48, 0x56, 0x6C, 0x2E, 0x48, 0x70, 0x86
.byte 0x2E, 0x48, 0x8A, 0xA0, 0x45, 0x5F, 0x08, 0x1E, 0x45, 0x5F, 0x22, 0x38, 0x45, 0x5F, 0x3C, 0x52
.byte 0x45, 0x5F, 0x56, 0x6C, 0x45, 0x5F, 0x70, 0x86, 0x45, 0x5F, 0x8A, 0xA0, 0x5C, 0x76, 0x08, 0x1E
.byte 0x5C, 0x76, 0x22, 0x38, 0x5C, 0x76, 0x3C, 0x52, 0x5C, 0x76, 0x56, 0x6C, 0x5C, 0x76, 0x70, 0x86
.byte 0x5C, 0x76, 0x8A, 0xA0, 0x73, 0x8D, 0x08, 0x1E, 0x73, 0x8D, 0x22, 0x38, 0x73, 0x8D, 0x3C, 0x52
.byte 0x73, 0x8D, 0x56, 0x6C, 0x73, 0x8D, 0x70, 0x86, 0x73, 0x8D, 0x8A, 0xA0, 0x7B, 0x94, 0xBA, 0xF5
.byte 0x04, 0x1C, 0x92, 0xA2, 0x04, 0x1C, 0x02, 0x12, 0xFF, 0x00, 0x00, 0x00
ov70_0224590C: ; 0x0224590C
.byte 0x82, 0x00, 0x00, 0x00
ov70_02245910: ; 0x02245910
.byte 0x7C, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00
ov70_02245920: ; 0x02245920
.byte 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x03, 0x00, 0x07, 0x00, 0x02, 0x00, 0x0B, 0x00
.byte 0x03, 0x00, 0x0D, 0x00, 0x03, 0x00, 0x0F, 0x00
ov70_02245938: ; 0x02245938
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov70_02245954: ; 0x02245954
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_02245970: ; 0x02245970
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_0224598C: ; 0x0224598C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x02
.byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x06, 0x00, 0x04, 0x08, 0x00, 0x12
.byte 0x2F, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_022459C8: ; 0x022459C8
.byte 0x00, 0x00, 0x08, 0x01, 0x16, 0x02, 0x23, 0x03
.byte 0x26, 0x04, 0x29, 0x05, 0x2D, 0x06, 0x38, 0x07, 0x3C, 0x08, 0x43, 0x09, 0x46, 0x0A, 0x48, 0x0B
.byte 0x4C, 0x0C, 0x54, 0x0D, 0x5B, 0x0E, 0x5C, 0x0F, 0x63, 0x11, 0x66, 0x12, 0x73, 0x13, 0x78, 0x14
.byte 0x7F, 0x15, 0x82, 0xFF
ov70_022459F4: ; 0x022459F4
.byte 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x0A, 0x00, 0xA1, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x14, 0x00, 0xA2, 0x00, 0x00, 0x00
.byte 0x15, 0x00, 0x1E, 0x00, 0xA3, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x28, 0x00, 0xA4, 0x00, 0x00, 0x00
.byte 0x29, 0x00, 0x32, 0x00, 0xA5, 0x00, 0x00, 0x00, 0x33, 0x00, 0x3C, 0x00, 0xA6, 0x00, 0x00, 0x00
.byte 0x3D, 0x00, 0x46, 0x00, 0xA7, 0x00, 0x00, 0x00, 0x47, 0x00, 0x50, 0x00, 0xA8, 0x00, 0x00, 0x00
.byte 0x51, 0x00, 0x5A, 0x00, 0xA9, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x64, 0x00
ov70_02245A4C: ; 0x02245A4C
.byte 0x80, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x82, 0x00, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00
.byte 0x1E, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00
.byte 0x32, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00
.byte 0x46, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x00, 0x00
.byte 0x5A, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00
ov70_02245AAC: ; 0x02245AAC
.byte 0x12, 0x00, 0x00, 0x00
.byte 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
.byte 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00
.byte 0x1B, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
.byte 0x1F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00
.byte 0x23, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00
.byte 0x27, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00
.byte 0x2B, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00
.byte 0x2F, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x33, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00
.byte 0x37, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00
.byte 0x3B, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00
ov70_02245B5C: ; 0x02245B5C
.byte 0x01, 0x00, 0x02, 0x00
.byte 0x03, 0x00, 0x06, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0C, 0x00, 0x0D, 0x00, 0x0F, 0x00, 0x10, 0x00
.byte 0x11, 0x00, 0x12, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x19, 0x00, 0x1B, 0x00
.byte 0x1C, 0x00, 0x1D, 0x00, 0x1F, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x28, 0x00
.byte 0x2A, 0x00, 0x2B, 0x00, 0x2D, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x34, 0x00, 0x36, 0x00
.byte 0x37, 0x00, 0x38, 0x00, 0x3A, 0x00, 0x3B, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3E, 0x00, 0x45, 0x00
.byte 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x4A, 0x00, 0x4D, 0x00, 0x4E, 0x00, 0x4F, 0x00, 0x50, 0x00
.byte 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x55, 0x00, 0x56, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5A, 0x00
.byte 0x5B, 0x00, 0x5C, 0x00, 0x5D, 0x00, 0x5E, 0x00, 0x5F, 0x00, 0x61, 0x00, 0x62, 0x00, 0x64, 0x00
.byte 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x6B, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x75, 0x00
.byte 0x76, 0x00, 0x79, 0x00, 0x7A, 0x00, 0x7E, 0x00, 0x81, 0x00, 0x83, 0x00, 0x85, 0x00, 0x87, 0x00
.byte 0x8C, 0x00, 0x8E, 0x00, 0x92, 0x00, 0x94, 0x00, 0x95, 0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00
.byte 0x9C, 0x00, 0x9D, 0x00, 0x9E, 0x00, 0xA0, 0x00, 0xA1, 0x00, 0xA3, 0x00, 0xA4, 0x00, 0xA6, 0x00
.byte 0xA7, 0x00, 0x6E, 0x00, 0xAB, 0x00, 0xAC, 0x00, 0xB3, 0x00, 0xB7, 0x00, 0xBA, 0x00, 0xBB, 0x00
.byte 0xBC, 0x00, 0xBD, 0x00, 0xC0, 0x00, 0xC1, 0x00, 0xC2, 0x00, 0xC4, 0x00, 0xC6, 0x00, 0xC7, 0x00
.byte 0xC8, 0x00, 0xCA, 0x00, 0xCD, 0x00, 0xCF, 0x00, 0xD3, 0x00, 0xD4, 0x00, 0xD8, 0x00, 0xDA, 0x00
.byte 0xDB, 0x00, 0xCC, 0x00, 0xDD, 0x00, 0xDC, 0x00, 0xDE, 0x00, 0xE0, 0x00, 0xE2, 0x00, 0xE3, 0x00
ov70_02245C60: ; 0x02245C60
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_02245C70: ; 0x02245C70
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x01, 0x1C, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_02245C8C: ; 0x02245C8C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x02
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_02245CA8: ; 0x02245CA8
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov70_02245CC4: ; 0x02245CC4
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_02245CE0: ; 0x02245CE0
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x1D, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_02245CFC: ; 0x02245CFC
.byte 0x00, 0x24, 0x00, 0x26
.byte 0x00, 0x28, 0x00, 0x2A, 0x00, 0x2C, 0x00, 0x2E, 0x00, 0x30
ov70_02245D0A: ; 0x02245D0A
.byte 0x80, 0x00
ov70_02245D0C: ; 0x02245D0C
.byte 0x36, 0x00, 0x60, 0x00
.byte 0x37, 0x00, 0xA0, 0x00, 0x37, 0x00, 0x40, 0x00, 0x46, 0x00, 0xC0, 0x00, 0x46, 0x00, 0x30, 0x00
.byte 0x66, 0x00, 0xD0, 0x00, 0x66, 0x00
ov70_02245D26: ; 0x02245D26
.byte 0x46, 0x66, 0x70, 0x90, 0x47, 0x67, 0x50, 0x70, 0x47, 0x67
.byte 0x90, 0xB0, 0x56, 0x76, 0x30, 0x50, 0x56, 0x76, 0xB0, 0xD0, 0x76, 0x96, 0x20, 0x40, 0x76, 0x96
.byte 0xC0, 0xE0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_02245D48: ; 0x02245D48
.byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00
ov70_02245D50: ; 0x02245D50
.word ov71_02246960, ov71_02246BB8, ov71_02246B58, FS_OVERLAY_ID(OVY_71)
ov70_02245D60: ; 0x02245D60
.byte 0x04, 0x03, 0x04, 0x07, 0x04, 0x0B
ov70_02245D66: ; 0x02245D66
.byte 0xC0
ov70_02245D67: ; 0x02245D67
.byte 0x20, 0xC0, 0x40, 0xC0, 0x60, 0xC0, 0x88
ov70_02245D6E: ; 0x02245D6E
.byte 0x03, 0x02
.byte 0x03, 0x05, 0x03, 0x08, 0x03, 0x0B
ov70_02245D76: ; 0x02245D76
.byte 0xC0
ov70_02245D77: ; 0x02245D77
.byte 0x18, 0xC0, 0x30, 0xC0, 0x48, 0xC0, 0x60, 0xC0, 0x88
ov70_02245D80: ; 0x02245D80
.byte 0xC0
ov70_02245D81: ; 0x02245D81
.byte 0x18, 0xC0, 0x30, 0xC0, 0x48, 0xC0, 0x60, 0xC0, 0x88
ov70_02245D8A: ; 0x02245D8A
.byte 0x88
ov70_02245D8B: ; 0x02245D8B
.byte 0x10, 0x88, 0x28, 0x88, 0x40
.byte 0x88, 0x58, 0x88, 0x70, 0xC0, 0x88
ov70_02245D96: ; 0x02245D96
.byte 0x03, 0x01, 0x03, 0x04, 0x03, 0x07, 0x03, 0x0A, 0x03, 0x0D
.byte 0x18, 0x11
ov70_02245DA2: ; 0x02245DA2
.byte 0x04, 0x02, 0x00, 0x04, 0x05, 0x00, 0x04, 0x08, 0x00, 0x04, 0x0B, 0x00, 0x00, 0x00
ov70_02245DB0: ; 0x02245DB0
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
ov70_02245DC0: ; 0x02245DC0
.byte 0x03
ov70_02245DC1: ; 0x02245DC1
.byte 0x03
ov70_02245DC2: ; 0x02245DC2
.byte 0x02
ov70_02245DC3: ; 0x02245DC3
.byte 0x01, 0x03, 0x03, 0x00, 0x02, 0x03, 0x03, 0x01, 0x00, 0x02, 0x02, 0x03, 0x03
ov70_02245DD0: ; 0x02245DD0
.byte 0x18, 0x2C, 0x88, 0xF8, 0x38, 0x4C, 0x88, 0xF8, 0x58, 0x6C, 0x88, 0xF8, 0x85, 0x9A, 0xC5, 0xFA
.byte 0xFF, 0x00, 0x00, 0x00
ov70_02245DE4: ; 0x02245DE4
.byte 0x28, 0x3C, 0x88, 0x97, 0x28, 0x3C, 0xA8, 0xB7, 0x28, 0x3C, 0xC8, 0xD7
.byte 0x85, 0x9A, 0xC5, 0xFA, 0xFF, 0x00, 0x00, 0x00
ov70_02245DF8: ; 0x02245DF8
.byte 0x01
ov70_02245DF9: ; 0x02245DF9
.byte 0x05, 0x05, 0x05, 0x09, 0x05, 0x0D, 0x05
.byte 0x01, 0x08, 0x05, 0x08, 0x09, 0x08, 0x0D, 0x08, 0x01, 0x0B, 0x08, 0x11, 0x08, 0x03
ov70_02245E0E: ; 0x02245E0E
.byte 0x01, 0x05
ov70_02245E10: ; 0x02245E10
.byte 0x05, 0x05, 0x09, 0x05, 0x0D, 0x05, 0x01, 0x08, 0x05, 0x08, 0x09, 0x08, 0x0D, 0x08, 0x01, 0x0B
.byte 0x09, 0x11, 0x01, 0x02, 0x01, 0x02
ov70_02245E26: ; 0x02245E26
.byte 0x01
ov70_02245E27: ; 0x02245E27
.byte 0x05, 0x05, 0x05, 0x09, 0x05, 0x0D, 0x05, 0x01, 0x08
.byte 0x05, 0x08, 0x09, 0x08, 0x0D, 0x08, 0x01, 0x0B, 0x08, 0x11, 0x01, 0x02, 0x01, 0x02
ov70_02245E3E: ; 0x02245E3E
.byte 0x10, 0x23
.byte 0x88, 0xF8, 0x28, 0x3C, 0x88, 0xF8, 0x40, 0x54, 0x88, 0xF8, 0x58, 0x6C, 0x88, 0xF8, 0x85, 0x9A
.byte 0xC6, 0xF8, 0x6C, 0x81, 0x8F, 0xA0, 0x6C, 0x7E, 0xDF, 0xF0, 0xFF, 0x00, 0x00, 0x00
ov70_02245E5E: ; 0x02245E5E
.byte 0x08, 0x1C
.byte 0x08, 0xF7, 0x20, 0x34, 0x08, 0xF7, 0x38, 0x4C, 0x08, 0xF7, 0x50, 0x64, 0x08, 0xF7, 0x68, 0x7C
.byte 0x08, 0xF7, 0x85, 0x9A, 0xC3, 0xF8, 0x7C, 0x91, 0x4D, 0x60, 0x7C, 0x91, 0xAD, 0xBE, 0xFF, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov70_02245E84: ; 0x02245E84
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
.byte 0x09, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
.byte 0x15, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
ov70_02245EA8: ; 0x02245EA8
.byte 0x09
ov70_02245EA9: ; 0x02245EA9
.byte 0x04
ov70_02245EAA: ; 0x02245EAA
.byte 0x03
ov70_02245EAB: ; 0x02245EAB
.byte 0x01, 0x09, 0x05, 0x00, 0x02
.byte 0x09, 0x06, 0x01, 0x03, 0x09, 0x07, 0x02, 0x00, 0x00, 0x08, 0x07, 0x05, 0x01, 0x09, 0x04, 0x06
.byte 0x02, 0x09, 0x05, 0x07, 0x03, 0x09, 0x06, 0x04, 0x04, 0x09, 0x08, 0x08, 0x08, 0x02, 0x09, 0x09
ov70_02245ED0: ; 0x02245ED0
.byte 0x28, 0x3C, 0x88, 0x97, 0x28, 0x3C, 0xA8, 0xB7, 0x28, 0x3C, 0xC8, 0xD7, 0x28, 0x3C, 0xE8, 0xF7
.byte 0x40, 0x54, 0x88, 0x97, 0x40, 0x54, 0xA8, 0xB7, 0x40, 0x54, 0xC8, 0xD7, 0x40, 0x54, 0xE8, 0xF7
.byte 0x58, 0x6C, 0x88, 0x97, 0x85, 0x9A, 0xC5, 0xFA, 0xFF, 0x00, 0x00, 0x00
ov70_02245EFC: ; 0x02245EFC
.byte 0x0A
ov70_02245EFD: ; 0x02245EFD
.byte 0x04
ov70_02245EFE: ; 0x02245EFE
.byte 0x03
ov70_02245EFF: ; 0x02245EFF
.byte 0x01
.byte 0x0A, 0x05, 0x00, 0x02, 0x0A, 0x06, 0x01, 0x03, 0x0A, 0x07, 0x02, 0x00, 0x00, 0x08, 0x07, 0x05
.byte 0x01, 0x09, 0x04, 0x06, 0x02, 0x09, 0x05, 0x07, 0x03, 0x09, 0x06, 0x04, 0x04, 0x09, 0x08, 0x08
.byte 0x08, 0x0A, 0x09, 0x09, 0x09, 0x00, 0x0A, 0x0A
ov70_02245F28: ; 0x02245F28
.byte 0x28, 0x3C, 0x88, 0x97, 0x28, 0x3C, 0xA8, 0xB7
.byte 0x28, 0x3C, 0xC8, 0xD7, 0x28, 0x3C, 0xE8, 0xF7, 0x40, 0x54, 0x88, 0x97, 0x40, 0x54, 0xA8, 0xB7
.byte 0x40, 0x54, 0xC8, 0xD7, 0x40, 0x54, 0xE8, 0xF7, 0x58, 0x6C, 0x88, 0x97, 0x85, 0x9A, 0xC5, 0xFA
.byte 0x10, 0x23, 0x88, 0xF8, 0xFF, 0x00, 0x00, 0x00
ov70_02245F58: ; 0x02245F58
.byte 0x00, 0x00, 0x00, 0x00
ov70_02245F5C: ; 0x02245F5C
.byte 0x03, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x0F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x15, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
ov70_02245FA0: ; 0x02245FA0
.byte 0xBC, 0x00, 0x00, 0x00, 0xBD, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00
.byte 0xC0, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x00, 0xC3, 0x00, 0x00, 0x00
.byte 0xC4, 0x00, 0x00, 0x00, 0xC5, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0xC7, 0x00, 0x00, 0x00
.byte 0xC8, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00, 0xCA, 0x00, 0x00, 0x00, 0xCB, 0x00, 0x00, 0x00
.byte 0xCC, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00, 0xCE, 0x00, 0x00, 0x00, 0xCF, 0x00, 0x00, 0x00
.byte 0xD0, 0x00, 0x00, 0x00, 0xD1, 0x00, 0x00, 0x00, 0xD2, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00
.byte 0xD4, 0x00, 0x00, 0x00, 0xD5, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00
ov70_0224600C: ; 0x0224600C
.byte 0xE9, 0x00, 0x00, 0x00
.byte 0xEA, 0x00, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0xED, 0x00, 0x00, 0x00
ov70_02246020: ; 0x02246020
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x1E, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_0224603C: ; 0x0224603C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x02
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov70_02246058: ; 0x02246058
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov70_02246074: ; 0x02246074
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1B, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.data
.balign 4, 0
ov70_022460A0:
.asciz "http://gamestats2.gs.nintendowifi.net/pokemondpds/worldexchange/post.asp"
.balign 4, 0
ov70_022460EC: ; 0x022460EC
.asciz "http://gamestats2.gs.nintendowifi.net/pokemondpds/worldexchange/post_finish.asp"
.balign 4, 0
ov70_0224613C: ; 0x0224613C
.asciz "http://gamestats2.gs.nintendowifi.net/pokemondpds/worldexchange/get.asp"
.balign 4, 0
ov70_02246184: ; 0x02246184
.asciz "http://gamestats2.gs.nintendowifi.net/pokemondpds/worldexchange/result.asp"
.balign 4, 0
ov70_022461D0: ; 0x022461D0
.asciz "http://gamestats2.gs.nintendowifi.net/pokemondpds/worldexchange/delete.asp"
.balign 4, 0
ov70_0224621C: ; 0x0224621C
.asciz "http://gamestats2.gs.nintendowifi.net/pokemondpds/worldexchange/return.asp"
.balign 4, 0
ov70_02246268: ; 0x02246268
.asciz "http://gamestats2.gs.nintendowifi.net/pokemondpds/worldexchange/search.asp"
.balign 4, 0
ov70_022462B4: ; 0x022462B4
.asciz "http://gamestats2.gs.nintendowifi.net/pokemondpds/worldexchange/exchange.asp"
.balign 4, 0
ov70_02246304: ; 0x02246304
.asciz "http://gamestats2.gs.nintendowifi.net/pokemondpds/worldexchange/exchange_finish.asp"
.balign 4, 0
ov70_02246358: ; 0x02246358
.asciz "http://gamestats2.gs.nintendowifi.net/pokemondpds/worldexchange/info.asp"
.balign 4, 0
ov70_022463A4: ; 0x022463A4
.asciz "http://gamestats2.gs.nintendowifi.net/pokemondpds/common/setProfile.asp"
.balign 4, 0
ov70_022463EC: ; 0x022463EC
.word ov70_02244038, ov70_02244124, ov70_02244154
.word ov70_02238FF4, ov70_022390DC, ov70_022390FC
.word ov70_02239D8C, ov70_02239E68, ov70_02239E7C
.word ov70_0223A8BC, ov70_0223AA90, ov70_0223AB00
.word ov70_0223B55C, ov70_0223B6EC, ov70_0223B788
.word ov70_0223CD44, ov70_0223CDD8, ov70_0223CDF8
.word ov70_0223E78C, ov70_0223E884, ov70_0223E8A4
.word ov70_0223F96C, ov70_0223F9B4, ov70_0223F9D4
.word ov70_022413AC, ov70_02241468, ov70_02241494
.word ov70_022414A0, ov70_02241648, ov70_02241808
ov70_02246464: ; 0x02246464
.word ov70_02239658
.word ov70_02239698
.word ov70_022396A8
.word ov70_022396CC
.word ov70_022396E0
.word ov70_022396F4
.word ov70_02239834
.word ov70_02239954
.word ov70_0223997C
.word ov70_02239990
.word ov70_02239AAC
.word ov70_02239ACC
.word ov70_022399D8
.word ov70_02239A10
ov70_0224649C: ; 0x0224649C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x06, 0x05, 0x00, 0x00, 0x04, 0x03, 0x00
ov70_022464A8: ; 0x022464A8
.word ov70_0223A258
.word ov70_0223A260
.word ov70_0223A2D0
.word ov70_0223A4A0
.word ov70_0223A4C0
.word ov70_0223A2F8
.word ov70_0223A324
.word ov70_0223A384
.word ov70_0223A3DC
ov70_022464CC: ; 0x022464CC
.word ov70_0223AF5C
.word ov70_0223AFFC
.word ov70_0223B12C
.word ov70_0223B344
.word ov70_0223B188
.word ov70_0223B1B8
.word ov70_0223B2C0
.word ov70_0223B2D0
.word ov70_0223B300
ov70_022464F0: ; 0x022464F0
.byte 0x00
ov70_022464F1: ; 0x022464F1
.byte 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
ov70_022464FE: ; 0x022464FE
.byte 0x00, 0x00
ov70_02246500: ; 0x02246500
.byte 0x00, 0x00
ov70_02246502: ; 0x02246502
.byte 0x2D, 0x00, 0x00, 0x00, 0x28, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x50, 0x00, 0x2D, 0x00
.byte 0x00, 0x00, 0x78, 0x00, 0x2D, 0x00, 0xC0, 0x00, 0x20, 0x00, 0x2E, 0x00, 0xC0, 0x00, 0x48, 0x00
.byte 0x2E, 0x00, 0xC0, 0x00, 0x70, 0x00, 0x2E, 0x00
ov70_02246528: ; 0x02246528
.word ov70_0223BD04
.word ov70_0223BE84
.word ov70_0223C4B0
.word ov70_0223C4E4
.word ov70_0223C50C
.word ov70_0223C52C
.word ov70_0223C618
.word ov70_0223C640
.word ov70_0223C660
.word ov70_0223C6F0
.word ov70_0223C718
.word ov70_0223C744
.word ov70_0223C7C4
.word ov70_0223C7EC
.word ov70_0223C818
.word ov70_0223BF00
.word ov70_0223C008
.word ov70_0223C0C8
.word ov70_0223C19C
.word ov70_0223C1F8
.word ov70_0223C23C
.word ov70_0223C958
.word ov70_0223C978
.word ov70_0223C8B0
.word ov70_0223C8DC
.word ov70_0223C928
.word ov70_0223C930
.word ov70_0223C274
.word ov70_0223C2B0
.word ov70_0223C9AC
.word ov70_0223CA18
.word ov70_0223CA40
ov70_022465A8: ; 0x022465A8
.word ov70_0223D44C
.word ov70_0223D6C8
.word ov70_0223DD0C
.word ov70_0223DFD0
.word ov70_0223DFF0
.word ov70_0223DD68
.word ov70_0223DD94
.word ov70_0223D934
.word ov70_0223D998
.word ov70_0223DB30
.word ov70_0223DB94
.word ov70_0223DDD0
.word ov70_0223DDFC
.word ov70_0223DE28
.word ov70_0223DF14
.word ov70_0223DF40
.word ov70_0223DF6C
ov70_022465EC: ; 0x022465EC
.byte 0x00, 0x06, 0x05, 0x00
.byte 0x00, 0x04, 0x03, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00
.byte 0xFE, 0xFF, 0xFF, 0xFF
ov70_02246614: ; 0x02246614
.word ov70_0223ED58
.word ov70_0223ED8C
.word ov70_0223F164
.word ov70_0223EDB0
.word ov70_0223EDCC
.word ov70_0223EDD8
.word ov70_0223EE10
.word ov70_0223EEE8
.word ov70_0223EF10
.word ov70_0223EF38
.word ov70_0223EFB8
.word ov70_0223EFE0
.word ov70_0223F008
.word ov70_0223F0B4
.word ov70_0223F0DC
.word ov70_0223F108
.word ov70_0223F1B8
ov70_02246658: ; 0x02246658
.word ov70_0223FC68
.word ov70_0224063C
.word ov70_0223FD64
.word ov70_0223FD98
.word ov70_0223FE40
.word ov70_0223FE60
.word ov70_02240640
.word ov70_0223FEE4
.word ov70_0223FF10
.word ov70_0223FFCC
.word ov70_0223FFE8
.word ov70_02240658
.word ov70_0224006C
.word ov70_022400BC
.word ov70_02240180
.word ov70_0224019C
.word ov70_02240670
.word ov70_02240748
.word ov70_02240540
.word ov70_02240598
.word ov70_022405B4
.word ov70_02240684
.word ov70_0224069C
.word ov70_022406B8
.word ov70_02240220
.word ov70_02240240
.word ov70_02240410
.word ov70_02240430
.word ov70_022403FC
.word ov70_02240838
.word ov70_02240854
.word ov70_02240884
.word ov70_0224089C
.word ov70_022408BC
.word ov70_022408E0
.word ov70_022408FC
.word ov70_02240948
.word ov70_022409A0
.word ov70_022407E4
.word ov70_0224080C
ov70_022466F8: ; 0x022466F8
.word ov70_02242FF4
.word ov70_02242FFC
.word ov70_0224304C
.word ov70_02243068
.word ov70_0224308C
.word ov70_022430CC
.word ov70_02243120
.word ov70_0224316C
.word ov70_02243254
.word ov70_022433A8
.word ov70_02243400
.word ov70_02243420
.word ov70_02243598
.word ov70_02243688
.word ov70_02243700
.word ov70_02243750
.word ov70_02243768
.word ov70_022437C8
.word ov70_02243848
.word ov70_022438D4
.word ov70_02243928
.word ov70_02243A6C
.word ov70_02243AC4
.word ov70_02243B1C
.word ov70_02243B2C
.word ov70_02243C08
.word ov70_02243C8C
.word ov70_02243CC8
.word ov70_02243CEC
.word ov70_02243D28
.word ov70_02243D90
.word ov70_02243DA0
.word ov70_02243DDC
.word ov70_02243E74
ov70_02246780: ; 0x02246780
.word ov70_022446D0
.word ov70_02244708
.word ov70_02244888
.word ov70_022448C0
.word ov70_02244944
.word ov70_02244954
.word ov70_02244A04
.word ov70_02244A4C
.word ov70_02244A68
.word ov70_02244B20
.word ov70_02244B54
.word ov70_02244D08
.word ov70_02244F14
.word ov70_02244F68
.word ov70_02244D44
.word ov70_02244774
.word ov70_022447A0
.word ov70_02244804
.word ov70_02244834
.word ov70_02244854
.word ov70_02244F34
.word ov70_02244D80
.word ov70_02244E44
.word ov70_02244CA8
.word ov70_02244CCC
.bss
_02246800:
.space 0xC
ov70_0224680C: ; 0x0224680C
.space 0x8
ov70_02246814: ; 0x02246814
.space 0xEC
ov70_02246900: ; 0x02246900
.space 0x20
ov70_02246920: ; 0x02246920
.space 0x1C
ov70_0224693C: ; 0x0224693C
.space 0x8
ov70_02246944: ; 0x02246944
.space 0x1c