pokeheartgold/asm/overlay_83.s
2023-06-06 13:40:43 +02:00

19891 lines
362 KiB
ArmAsm

.include "asm/macros.inc"
.include "overlay_83.inc"
.include "global.inc"
.text
thumb_func_start ov83_0223DD60
ov83_0223DD60: ; 0x0223DD60
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, _0223DE40 ; =FS_OVERLAY_ID(OVY_80)
mov r1, #2
bl HandleLoadOverlay
bl ov83_0223F1C8
mov r0, #3
mov r1, #0x6b
lsl r2, r0, #0x10
bl CreateHeap
ldr r1, _0223DE44 ; =0x0000086C
add r0, r4, #0
mov r2, #0x6b
bl OverlayManager_CreateAndGetData
ldr r2, _0223DE44 ; =0x0000086C
mov r1, #0
add r5, r0, #0
bl memset
mov r0, #0x6b
bl BgConfig_Alloc
str r0, [r5, #0x4c]
add r0, r4, #0
str r4, [r5]
bl OverlayManager_GetArgs
add r4, r0, #0
ldr r1, [r4]
ldr r0, _0223DE48 ; =0x0000050C
str r1, [r5, r0]
ldr r0, [r5, r0]
bl sub_02030CC8
mov r1, #0x51
lsl r1, r1, #4
str r0, [r5, r1]
sub r0, r1, #4
ldr r0, [r5, r0]
bl sub_02030E08
ldr r1, _0223DE4C ; =0x00000514
add r2, r4, #0
str r0, [r5, r1]
ldrb r0, [r4, #4]
add r2, #0x20
sub r1, #8
strb r0, [r5, #9]
mov r0, #0x7a
lsl r0, r0, #4
str r2, [r5, r0]
ldr r0, [r5, r1]
bl Save_PlayerData_GetOptionsAddr
ldr r1, _0223DE50 ; =0x00000508
str r0, [r5, r1]
ldr r2, [r4, #0x18]
ldr r0, _0223DE54 ; =0x000007A4
str r2, [r5, r0]
mov r2, #0xff
strb r2, [r5, #0x12]
ldrh r2, [r4, #0x28]
add r0, #0x5e
strh r2, [r5, r0]
add r0, r1, #4
ldr r0, [r5, r0]
bl sub_0203107C
str r0, [r5, #4]
ldr r0, _0223DE58 ; =0x000007FF
mov r3, #0
mov r2, #1
_0223DDF8:
add r1, r5, r3
add r3, r3, #1
strb r2, [r1, r0]
cmp r3, #3
blt _0223DDF8
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #0
bne _0223DE10
mov r0, #3
b _0223DE12
_0223DE10:
mov r0, #4
_0223DE12:
strb r0, [r5, #0x14]
mov r0, #4
strb r0, [r5, #0x15]
ldrb r0, [r5, #0x15]
sub r0, r0, #1
strb r0, [r5, #0xc]
ldr r0, _0223DE5C ; =0x00000868
add r0, r5, r0
bl ov83_022477E4
add r0, r5, #0
bl ov83_0223F200
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #1
bne _0223DE3C
add r0, r5, #0
bl sub_02096910
_0223DE3C:
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_0223DE40: .word FS_OVERLAY_ID(OVY_80)
_0223DE44: .word 0x0000086C
_0223DE48: .word 0x0000050C
_0223DE4C: .word 0x00000514
_0223DE50: .word 0x00000508
_0223DE54: .word 0x000007A4
_0223DE58: .word 0x000007FF
_0223DE5C: .word 0x00000868
thumb_func_end ov83_0223DD60
thumb_func_start ov83_0223DE60
ov83_0223DE60: ; 0x0223DE60
push {r3, r4, r5, lr}
add r5, r1, #0
bl OverlayManager_GetData
ldr r1, _0223DFAC ; =0x000007FE
add r4, r0, #0
ldrb r2, [r4, r1]
cmp r2, #1
bne _0223DEC6
ldr r2, [r5]
cmp r2, #1
bne _0223DEEC
mov r2, #0
strb r2, [r4, r1]
bl ov83_022412A0
ldr r0, _0223DFB0 ; =0x0000075C
ldr r0, [r4, r0]
cmp r0, #0
beq _0223DE94
bl ov83_0224753C
ldrb r1, [r4, #0xe]
mov r0, #4
bic r1, r0
strb r1, [r4, #0xe]
_0223DE94:
ldr r0, _0223DFB4 ; =0x00000508
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xb0
bl ov83_02247944
ldr r0, [r4, #0x24]
mov r1, #0
bl ov80_0222A7CC
add r0, r4, #0
mov r1, #8
mov r2, #1
bl ov83_0223FD14
strb r0, [r4, #0xa]
add r0, r4, #0
add r1, r5, #0
mov r2, #3
bl ov83_02240DA8
b _0223DEEC
_0223DEC6:
ldrb r0, [r4, #0x12]
cmp r0, #0xff
beq _0223DEEC
ldr r0, [r5]
cmp r0, #1
beq _0223DED6
cmp r0, #3
bne _0223DEEC
_0223DED6:
ldr r0, _0223DFAC ; =0x000007FE
mov r1, #0
strb r1, [r4, r0]
add r0, r4, #0
bl ov83_022412A0
add r0, r4, #0
add r1, r5, #0
mov r2, #2
bl ov83_02240DA8
_0223DEEC:
ldr r0, [r5]
cmp r0, #4
bhi _0223DF9A
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0223DEFE: ; jump table
.short _0223DF08 - _0223DEFE - 2 ; case 0
.short _0223DF1E - _0223DEFE - 2 ; case 1
.short _0223DF60 - _0223DEFE - 2 ; case 2
.short _0223DF76 - _0223DEFE - 2 ; case 3
.short _0223DF8C - _0223DEFE - 2 ; case 4
_0223DF08:
add r0, r4, #0
bl ov83_0223E008
cmp r0, #1
bne _0223DF9A
add r0, r4, #0
add r1, r5, #0
mov r2, #1
bl ov83_02240DA8
b _0223DF9A
_0223DF1E:
add r0, r4, #0
bl ov83_0223E14C
cmp r0, #1
bne _0223DF9A
ldrb r0, [r4, #0xe]
lsl r0, r0, #0x1e
lsr r0, r0, #0x1f
cmp r0, #1
bne _0223DF3E
add r0, r4, #0
add r1, r5, #0
mov r2, #2
bl ov83_02240DA8
b _0223DF9A
_0223DF3E:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #1
bne _0223DF54
add r0, r4, #0
add r1, r5, #0
mov r2, #3
bl ov83_02240DA8
b _0223DF9A
_0223DF54:
add r0, r4, #0
add r1, r5, #0
mov r2, #4
bl ov83_02240DA8
b _0223DF9A
_0223DF60:
add r0, r4, #0
bl ov83_0223EEA0
cmp r0, #1
bne _0223DF9A
add r0, r4, #0
add r1, r5, #0
mov r2, #1
bl ov83_02240DA8
b _0223DF9A
_0223DF76:
add r0, r4, #0
bl ov83_0223EFA4
cmp r0, #1
bne _0223DF9A
add r0, r4, #0
add r1, r5, #0
mov r2, #4
bl ov83_02240DA8
b _0223DF9A
_0223DF8C:
add r0, r4, #0
bl ov83_0223F010
cmp r0, #1
bne _0223DF9A
mov r0, #1
pop {r3, r4, r5, pc}
_0223DF9A:
add r0, r4, #0
bl ov83_02241B30
ldr r0, _0223DFB8 ; =0x00000518
ldr r0, [r4, r0]
bl sub_0202457C
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
_0223DFAC: .word 0x000007FE
_0223DFB0: .word 0x0000075C
_0223DFB4: .word 0x00000508
_0223DFB8: .word 0x00000518
thumb_func_end ov83_0223DE60
thumb_func_start ov83_0223DFBC
ov83_0223DFBC: ; 0x0223DFBC
push {r3, r4, r5, lr}
add r5, r0, #0
bl OverlayManager_GetData
add r4, r0, #0
mov r0, #0x7a
lsl r0, r0, #4
ldrb r1, [r4, #0xd]
ldr r0, [r4, r0]
strh r1, [r0]
ldr r0, _0223E000 ; =0x04000050
mov r1, #0
strh r1, [r0]
bl GF_DestroyVramTransferManager
add r0, r4, #0
bl ov83_0223F058
add r0, r5, #0
bl OverlayManager_FreeData
mov r0, #0
add r1, r0, #0
bl Main_SetVBlankIntrCB
mov r0, #0x6b
bl DestroyHeap
ldr r0, _0223E004 ; =FS_OVERLAY_ID(OVY_80)
bl UnloadOverlayByID
mov r0, #1
pop {r3, r4, r5, pc}
nop
_0223E000: .word 0x04000050
_0223E004: .word FS_OVERLAY_ID(OVY_80)
thumb_func_end ov83_0223DFBC
thumb_func_start ov83_0223E008
ov83_0223E008: ; 0x0223E008
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldrb r0, [r4, #8]
cmp r0, #4
bhi _0223E104
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0223E020: ; jump table
.short _0223E02A - _0223E020 - 2 ; case 0
.short _0223E046 - _0223E020 - 2 ; case 1
.short _0223E06E - _0223E020 - 2 ; case 2
.short _0223E0B4 - _0223E020 - 2 ; case 3
.short _0223E0F6 - _0223E020 - 2 ; case 4
_0223E02A:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #1
bne _0223E03E
bl sub_02037BEC
mov r0, #0xd7
bl sub_02037AC0
_0223E03E:
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _0223E104
_0223E046:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #1
bne _0223E066
mov r0, #0xd7
bl sub_02037B38
cmp r0, #1
bne _0223E104
bl sub_02037BEC
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _0223E104
_0223E066:
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _0223E104
_0223E06E:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #1
bne _0223E08E
add r0, r4, #0
mov r1, #0xa
mov r2, #0
bl ov83_02241368
cmp r0, #1
bne _0223E104
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _0223E104
_0223E08E:
add r0, r4, #0
bl ov83_0223E10C
mov r0, #6
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
mov r0, #0
mov r1, #1
add r2, r1, #0
add r3, r0, #0
bl BeginNormalPaletteFade
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _0223E104
_0223E0B4:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #1
bne _0223E0EE
ldrb r0, [r4, #0xf]
cmp r0, #2
blo _0223E104
mov r0, #0
strb r0, [r4, #0xf]
add r0, r4, #0
bl ov83_0223E10C
mov r0, #6
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
mov r0, #0
mov r1, #1
add r2, r1, #0
add r3, r0, #0
bl BeginNormalPaletteFade
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _0223E104
_0223E0EE:
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _0223E104
_0223E0F6:
bl IsPaletteFadeFinished
cmp r0, #1
bne _0223E104
add sp, #0xc
mov r0, #1
pop {r3, r4, pc}
_0223E104:
mov r0, #0
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov83_0223E008
thumb_func_start ov83_0223E10C
ov83_0223E10C: ; 0x0223E10C
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r5, #0
add r4, #0x50
add r0, r4, #0
mov r1, #0
bl FillWindowPixelBuffer
add r0, r5, #0
add r1, r4, #0
bl ov83_0224153C
add r0, r5, #0
add r1, r4, #0
bl ov83_02241770
add r1, r5, #0
add r0, r5, #0
add r1, #0x80
bl ov83_02240080
add r1, r5, #0
add r0, r5, #0
add r1, #0x70
bl ov83_02240170
add r0, r5, #0
bl ov83_02240290
bl GX_BothDispOn
pop {r3, r4, r5, pc}
thumb_func_end ov83_0223E10C
thumb_func_start ov83_0223E14C
ov83_0223E14C: ; 0x0223E14C
push {r3, r4, r5, r6, lr}
sub sp, #4
add r4, r0, #0
ldrb r1, [r4, #8]
cmp r1, #0x16
bls _0223E15C
bl _0223EE86
_0223E15C:
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0223E168: ; jump table
.short _0223E196 - _0223E168 - 2 ; case 0
.short _0223E254 - _0223E168 - 2 ; case 1
.short _0223E2D2 - _0223E168 - 2 ; case 2
.short _0223E42C - _0223E168 - 2 ; case 3
.short _0223E608 - _0223E168 - 2 ; case 4
.short _0223E6BA - _0223E168 - 2 ; case 5
.short _0223E6CC - _0223E168 - 2 ; case 6
.short _0223E6F2 - _0223E168 - 2 ; case 7
.short _0223E714 - _0223E168 - 2 ; case 8
.short _0223E814 - _0223E168 - 2 ; case 9
.short _0223E8CA - _0223E168 - 2 ; case 10
.short _0223EA26 - _0223E168 - 2 ; case 11
.short _0223EB92 - _0223E168 - 2 ; case 12
.short _0223EC40 - _0223E168 - 2 ; case 13
.short _0223EC52 - _0223E168 - 2 ; case 14
.short _0223EC78 - _0223E168 - 2 ; case 15
.short _0223ECC0 - _0223E168 - 2 ; case 16
.short _0223ECDA - _0223E168 - 2 ; case 17
.short _0223ED00 - _0223E168 - 2 ; case 18
.short _0223EDC2 - _0223E168 - 2 ; case 19
.short _0223EDE2 - _0223E168 - 2 ; case 20
.short _0223EE04 - _0223E168 - 2 ; case 21
.short _0223EE46 - _0223E168 - 2 ; case 22
_0223E196:
ldrb r1, [r4, #0xe]
lsl r1, r1, #0x19
lsr r1, r1, #0x1e
cmp r1, #1
bne _0223E1C2
bl ov83_02240348
ldr r0, _0223E4F0 ; =0x00000778
mov r1, #0xcc
ldr r0, [r4, r0]
mov r2, #0x64
bl ov83_02247630
mov r0, #2
strb r0, [r4, #8]
ldrb r1, [r4, #0xe]
mov r0, #0x60
add sp, #4
bic r1, r0
strb r1, [r4, #0xe]
mov r0, #0
pop {r3, r4, r5, r6, pc}
_0223E1C2:
cmp r1, #2
bne _0223E1E8
bl ov83_02240384
ldr r0, _0223E4F0 ; =0x00000778
mov r1, #0xd3
ldr r0, [r4, r0]
mov r2, #0x6a
bl ov83_02247630
mov r0, #8
strb r0, [r4, #8]
ldrb r1, [r4, #0xe]
mov r0, #0x60
add sp, #4
bic r1, r0
strb r1, [r4, #0xe]
mov r0, #0
pop {r3, r4, r5, r6, pc}
_0223E1E8:
ldr r0, _0223E4F4 ; =0x00000838
ldr r0, [r4, r0]
bl ov83_02247AD4
cmp r0, #4
bhi _0223E20A
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0223E200: ; jump table
.short _0223E216 - _0223E200 - 2 ; case 0
.short _0223E216 - _0223E200 - 2 ; case 1
.short _0223E216 - _0223E200 - 2 ; case 2
.short _0223E216 - _0223E200 - 2 ; case 3
.short _0223E22A - _0223E200 - 2 ; case 4
_0223E20A:
mov r1, #1
mvn r1, r1
cmp r0, r1
beq _0223E236
bl _0223EE86
_0223E216:
add r0, r4, #0
bl ov83_022402F4
add r0, r4, #0
bl ov83_02240300
mov r0, #1
strb r0, [r4, #8]
bl _0223EE86
_0223E22A:
ldr r0, _0223E4F8 ; =0x000005DC
bl PlaySE
add sp, #4
mov r0, #1
pop {r3, r4, r5, r6, pc}
_0223E236:
ldrb r1, [r4, #0xd]
ldrb r0, [r4, #0x15]
cmp r1, r0
beq _0223E2FA
ldr r0, _0223E4F4 ; =0x00000838
ldr r0, [r4, r0]
bl ov83_02247B04
ldrb r2, [r4, #0xd]
add r0, r4, #0
mov r1, #4
bl ov83_02242AB4
bl _0223EE86
_0223E254:
mov r0, #0x21
lsl r0, r0, #6
ldr r0, [r4, r0]
bl sub_020186A4
ldr r1, _0223E4F8 ; =0x000005DC
add r5, r0, #0
bl ov83_022477B0
add r0, r4, #0
bl ov83_02242DAC
cmp r5, #5
bhi _0223E27A
bhs _0223E2AA
cmp r5, #0
beq _0223E296
bl _0223EE86
_0223E27A:
cmp r5, #0xb
bhi _0223E284
beq _0223E2BE
bl _0223EE86
_0223E284:
mov r0, #1
mvn r0, r0
cmp r5, r0
blo _0223E2FA
beq _0223E2BE
add r0, r0, #1
cmp r5, r0
bl _0223EE86
_0223E296:
add r0, r4, #0
bl ov83_02240334
add r0, r4, #0
bl ov83_02240348
mov r0, #2
strb r0, [r4, #8]
bl _0223EE86
_0223E2AA:
add r0, r4, #0
bl ov83_02240334
add r0, r4, #0
bl ov83_02240384
mov r0, #8
strb r0, [r4, #8]
bl _0223EE86
_0223E2BE:
add r0, r4, #0
bl ov83_02240334
add r0, r4, #0
bl ov83_02240290
mov r0, #0
strb r0, [r4, #8]
bl _0223EE86
_0223E2D2:
mov r0, #0x21
lsl r0, r0, #6
ldr r0, [r4, r0]
bl sub_020186A4
ldr r1, _0223E4F8 ; =0x000005DC
add r5, r0, #0
bl ov83_022477B0
add r0, r4, #0
bl ov83_02242DFC
mov r0, #1
mvn r0, r0
cmp r5, r0
bhi _0223E322
blo _0223E2F6
b _0223E418
_0223E2F6:
cmp r5, #0xb
bls _0223E2FE
_0223E2FA:
bl _0223EE86
_0223E2FE:
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0223E30A: ; jump table
.short _0223EE86 - _0223E30A - 2 ; case 0
.short _0223E32C - _0223E30A - 2 ; case 1
.short _0223E32C - _0223E30A - 2 ; case 2
.short _0223E32C - _0223E30A - 2 ; case 3
.short _0223E3A4 - _0223E30A - 2 ; case 4
.short _0223EE86 - _0223E30A - 2 ; case 5
.short _0223EE86 - _0223E30A - 2 ; case 6
.short _0223EE86 - _0223E30A - 2 ; case 7
.short _0223EE86 - _0223E30A - 2 ; case 8
.short _0223EE86 - _0223E30A - 2 ; case 9
.short _0223EE86 - _0223E30A - 2 ; case 10
.short _0223E418 - _0223E30A - 2 ; case 11
_0223E322:
mov r0, #0
mvn r0, r0
cmp r5, r0
bl _0223EE86
_0223E32C:
add r0, r4, #0
strb r5, [r4, #0x13]
bl ov83_0224037C
ldr r0, _0223E4FC ; =0x00000508
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xb0
bl ov83_02247944
ldr r0, _0223E500 ; =0x0000050C
ldrb r1, [r4, #9]
ldr r0, [r4, r0]
mov r2, #0
bl ov83_0224777C
ldr r1, _0223E504 ; =0x00000848
ldr r2, [r4, r1]
mov r1, #0xc
add r3, r2, #0
mul r3, r1
ldr r1, _0223E508 ; =ov83_02247F4C
ldr r1, [r1, r3]
cmp r0, r1
bhs _0223E378
add r0, r4, #0
mov r1, #0x21
mov r2, #1
bl ov83_0223FD14
strb r0, [r4, #0xa]
mov r0, #7
strb r0, [r4, #8]
bl _0223EE86
_0223E378:
lsl r3, r2, #1
ldr r2, _0223E50C ; =ov83_02247D18
mov r1, #0
ldrh r2, [r2, r3]
add r0, r4, #0
mov r3, #3
str r1, [sp]
bl ov83_02240C48
add r0, r4, #0
mov r1, #0x37
mov r2, #1
bl ov83_0223FD14
strb r0, [r4, #0xa]
add r0, r4, #0
bl ov83_02240514
mov r0, #3
strb r0, [r4, #8]
bl _0223EE86
_0223E3A4:
ldr r0, _0223E500 ; =0x0000050C
ldrb r1, [r4, #9]
ldr r0, [r4, r0]
mov r2, #0
bl ov83_0224777C
add r6, r0, #0
cmp r6, #3
bne _0223E3C8
ldr r0, _0223E4F8 ; =0x000005DC
mov r1, #0
bl StopSE
ldr r0, _0223E510 ; =0x000005F3
bl PlaySE
bl _0223EE86
_0223E3C8:
strb r5, [r4, #0x13]
add r0, r4, #0
bl ov83_0224037C
ldrb r0, [r4, #9]
bl sub_0205C1F0
add r5, r0, #0
ldrb r0, [r4, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r4, #4]
add r1, r5, #0
bl sub_020310BC
mov r1, #0
ldr r2, _0223E514 ; =ov83_02247D48
lsl r3, r6, #1
ldrh r2, [r2, r3]
add r0, r4, #0
mov r3, #4
str r1, [sp]
bl ov83_02240C48
add r0, r4, #0
mov r1, #0x26
mov r2, #1
bl ov83_0223FD14
strb r0, [r4, #0xa]
add r0, r4, #0
bl ov83_02240514
mov r0, #4
strb r0, [r4, #8]
bl _0223EE86
_0223E418:
add r0, r4, #0
bl ov83_0224037C
add r0, r4, #0
bl ov83_02240300
mov r0, #1
strb r0, [r4, #8]
bl _0223EE86
_0223E42C:
ldr r0, _0223E518 ; =0x0000084C
ldr r0, [r4, r0]
bl sub_020168F4
cmp r0, #1
beq _0223E442
cmp r0, #2
bne _0223E43E
b _0223E5F2
_0223E43E:
bl _0223EE86
_0223E442:
ldr r0, _0223E518 ; =0x0000084C
add r0, r4, r0
bl ov83_022478B4
ldrb r0, [r4, #0x14]
ldrb r1, [r4, #0xd]
bl ov83_02247768
add r1, r0, #0
ldr r0, _0223E51C ; =0x000007A4
ldr r0, [r4, r0]
bl GetPartyMonByIndex
add r5, r0, #0
ldrb r0, [r4, #9]
bl sub_0205C1F0
add r6, r0, #0
ldrb r0, [r4, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r4, #4]
add r1, r6, #0
bl sub_020310BC
add r6, r0, #0
ldr r0, _0223E500 ; =0x0000050C
ldrb r1, [r4, #9]
ldr r0, [r4, r0]
mov r2, #0
bl ov83_0224777C
ldr r1, _0223E504 ; =0x00000848
mov r2, #0xc
ldr r1, [r4, r1]
add r3, r1, #0
mul r3, r2
ldr r2, _0223E508 ; =ov83_02247F4C
ldr r2, [r2, r3]
cmp r0, r2
bhs _0223E4C0
ldr r0, _0223E4FC ; =0x00000508
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xb0
bl ov83_02247944
add r0, r4, #0
mov r1, #0x21
mov r2, #1
bl ov83_0223FD14
strb r0, [r4, #0xa]
mov r0, #7
strb r0, [r4, #8]
bl _0223EE86
_0223E4C0:
ldr r0, _0223E50C ; =ov83_02247D18
lsl r2, r1, #1
ldrh r0, [r0, r2]
cmp r6, r0
bhs _0223E520
ldr r0, _0223E4FC ; =0x00000508
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xb0
bl ov83_02247944
add r0, r4, #0
mov r1, #0x20
mov r2, #1
bl ov83_0223FD14
strb r0, [r4, #0xa]
mov r0, #7
strb r0, [r4, #8]
bl _0223EE86
.balign 4, 0
_0223E4F0: .word 0x00000778
_0223E4F4: .word 0x00000838
_0223E4F8: .word 0x000005DC
_0223E4FC: .word 0x00000508
_0223E500: .word 0x0000050C
_0223E504: .word 0x00000848
_0223E508: .word ov83_02247F4C
_0223E50C: .word ov83_02247D18
_0223E510: .word 0x000005F3
_0223E514: .word ov83_02247D48
_0223E518: .word 0x0000084C
_0223E51C: .word 0x000007A4
_0223E520:
cmp r1, #0
bne _0223E552
add r0, r5, #0
mov r1, #0xa3
mov r2, #0
bl GetMonData
add r6, r0, #0
add r0, r5, #0
mov r1, #0xa4
mov r2, #0
bl GetMonData
cmp r6, r0
bne _0223E5AC
add r0, r4, #0
mov r1, #0x25
mov r2, #1
bl ov83_0223FD14
strb r0, [r4, #0xa]
mov r0, #7
strb r0, [r4, #8]
bl _0223EE86
_0223E552:
cmp r1, #1
bne _0223E574
add r0, r5, #0
bl ov83_022412DC
cmp r0, #0
bne _0223E5AC
add r0, r4, #0
mov r1, #0x25
mov r2, #1
bl ov83_0223FD14
strb r0, [r4, #0xa]
mov r0, #7
strb r0, [r4, #8]
bl _0223EE86
_0223E574:
add r0, r5, #0
mov r1, #0xa3
mov r2, #0
bl GetMonData
add r6, r0, #0
add r0, r5, #0
mov r1, #0xa4
mov r2, #0
bl GetMonData
cmp r6, r0
bne _0223E5AC
add r0, r5, #0
bl ov83_022412DC
cmp r0, #0
bne _0223E5AC
add r0, r4, #0
mov r1, #0x25
mov r2, #1
bl ov83_0223FD14
strb r0, [r4, #0xa]
mov r0, #7
strb r0, [r4, #8]
bl _0223EE86
_0223E5AC:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #0
bne _0223E5E4
ldrb r2, [r4, #0x13]
ldrb r1, [r4, #9]
ldr r0, [r4, #4]
sub r2, r2, #1
lsl r3, r2, #1
ldr r2, _0223E8D8 ; =ov83_02247D18
ldrh r2, [r2, r3]
bl ov80_02237FA4
add r1, r4, #0
add r0, r4, #0
add r1, #0x50
bl ov83_02241770
ldrb r1, [r4, #0xd]
ldrb r2, [r4, #0x13]
add r0, r4, #0
bl ov83_022415F4
mov r0, #0x13
strb r0, [r4, #8]
bl _0223EE86
_0223E5E4:
ldrb r1, [r4, #0xe]
mov r0, #2
add sp, #4
orr r0, r1
strb r0, [r4, #0xe]
mov r0, #1
pop {r3, r4, r5, r6, pc}
_0223E5F2:
ldr r0, _0223E8DC ; =0x0000084C
add r0, r4, r0
bl ov83_022478B4
add r0, r4, #0
bl ov83_02240348
mov r0, #2
strb r0, [r4, #8]
bl _0223EE86
_0223E608:
ldr r0, _0223E8DC ; =0x0000084C
ldr r0, [r4, r0]
bl sub_020168F4
cmp r0, #1
beq _0223E61C
cmp r0, #2
beq _0223E6A6
bl _0223EE86
_0223E61C:
ldr r0, _0223E8DC ; =0x0000084C
add r0, r4, r0
bl ov83_022478B4
ldrb r0, [r4, #9]
bl sub_0205C1F0
add r5, r0, #0
ldrb r0, [r4, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r4, #4]
add r1, r5, #0
bl sub_020310BC
add r5, r0, #0
ldr r0, _0223E8E0 ; =0x0000050C
ldrb r1, [r4, #9]
ldr r0, [r4, r0]
mov r2, #0
bl ov83_0224777C
lsl r1, r0, #1
ldr r0, _0223E8E4 ; =ov83_02247D48
ldrh r0, [r0, r1]
cmp r5, r0
bhs _0223E67E
ldr r0, _0223E8E8 ; =0x00000508
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xb0
bl ov83_02247944
add r0, r4, #0
mov r1, #0x29
mov r2, #1
bl ov83_0223FD14
strb r0, [r4, #0xa]
mov r0, #7
strb r0, [r4, #8]
bl _0223EE86
_0223E67E:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #0
bne _0223E698
ldrb r1, [r4, #0xd]
add r0, r4, #0
mov r2, #4
bl ov83_02241BC4
mov r0, #5
strb r0, [r4, #8]
b _0223EE86
_0223E698:
ldrb r1, [r4, #0xe]
mov r0, #2
add sp, #4
orr r0, r1
strb r0, [r4, #0xe]
mov r0, #1
pop {r3, r4, r5, r6, pc}
_0223E6A6:
ldr r0, _0223E8DC ; =0x0000084C
add r0, r4, r0
bl ov83_022478B4
add r0, r4, #0
bl ov83_02240348
mov r0, #2
strb r0, [r4, #8]
b _0223EE86
_0223E6BA:
ldrb r1, [r4, #0xd]
ldrb r2, [r4, #0x13]
bl ov83_02240FAC
cmp r0, #1
bne _0223E754
mov r0, #6
strb r0, [r4, #8]
b _0223EE86
_0223E6CC:
bl ov83_02247CF0
cmp r0, #1
bne _0223E754
ldr r0, _0223E8EC ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov83_02240348
ldr r0, _0223E8F0 ; =0x00000778
mov r1, #0xcc
ldr r0, [r4, r0]
mov r2, #0x64
bl ov83_02247630
mov r0, #2
strb r0, [r4, #8]
b _0223EE86
_0223E6F2:
bl ov83_02247CF0
cmp r0, #1
bne _0223E754
ldr r0, _0223E8EC ; =0x000005DC
bl PlaySE
add r0, r4, #0
add r0, #0xb0
bl ov83_02241354
add r0, r4, #0
bl ov83_02240348
mov r0, #2
strb r0, [r4, #8]
b _0223EE86
_0223E714:
ldr r2, _0223E8F4 ; =0x00000868
mov r0, #2
mov r1, #0
add r2, r4, r2
bl ov83_022477EC
mov r0, #0x21
lsl r0, r0, #6
ldr r0, [r4, r0]
bl sub_020186A4
ldr r1, _0223E8EC ; =0x000005DC
add r5, r0, #0
bl ov83_022477B0
add r0, r4, #0
bl ov83_02242E88
mov r0, #1
mvn r0, r0
cmp r5, r0
bhi _0223E756
bhs _0223E75C
cmp r5, #8
bhi _0223E754
cmp r5, #6
blo _0223E754
beq _0223E76E
cmp r5, #7
beq _0223E784
cmp r5, #8
beq _0223E7C0
_0223E754:
b _0223EE86
_0223E756:
add r0, r0, #1
cmp r5, r0
b _0223EE86
_0223E75C:
add r0, r4, #0
bl ov83_022403B8
add r0, r4, #0
bl ov83_02240300
mov r0, #1
strb r0, [r4, #8]
b _0223EE86
_0223E76E:
add r0, r4, #0
strb r5, [r4, #0x13]
bl ov83_022403B8
add r0, r4, #0
mov r1, #6
bl ov83_022403C0
mov r0, #9
strb r0, [r4, #8]
b _0223EE86
_0223E784:
add r0, r4, #0
strb r5, [r4, #0x13]
bl ov83_022403B8
ldr r0, _0223E8E0 ; =0x0000050C
ldrb r1, [r4, #9]
ldr r0, [r4, r0]
mov r2, #1
bl ov83_0224777C
cmp r0, #1
bne _0223E7B2
add r0, r4, #0
mov r1, #0x36
mov r2, #1
bl ov83_0223FD14
strb r0, [r4, #0xa]
mov r0, #0xf
strb r0, [r4, #8]
add sp, #4
mov r0, #0
pop {r3, r4, r5, r6, pc}
_0223E7B2:
add r0, r4, #0
mov r1, #7
bl ov83_022403C0
mov r0, #9
strb r0, [r4, #8]
b _0223EE86
_0223E7C0:
ldr r0, _0223E8E0 ; =0x0000050C
ldrb r1, [r4, #9]
ldr r0, [r4, r0]
mov r2, #1
bl ov83_0224777C
add r6, r0, #0
cmp r6, #3
bne _0223E7E2
ldr r0, _0223E8EC ; =0x000005DC
mov r1, #0
bl StopSE
ldr r0, _0223E8F8 ; =0x000005F3
bl PlaySE
b _0223EE86
_0223E7E2:
add r0, r4, #0
strb r5, [r4, #0x13]
bl ov83_022403B8
mov r1, #0
ldr r2, _0223E8FC ; =ov83_02247D4E
lsl r3, r6, #1
ldrh r2, [r2, r3]
add r0, r4, #0
mov r3, #4
str r1, [sp]
bl ov83_02240C48
add r0, r4, #0
mov r1, #0x26
mov r2, #1
bl ov83_0223FD14
strb r0, [r4, #0xa]
add r0, r4, #0
bl ov83_02240514
mov r0, #0xc
strb r0, [r4, #8]
b _0223EE86
_0223E814:
ldr r0, _0223E900 ; =0x0000085C
ldr r0, [r4, r0]
bl ov83_02247BC4
add r5, r0, #0
mov r0, #2
mvn r0, r0
cmp r5, r0
bhi _0223E84A
bhs _0223E8AE
cmp r5, #8
bhi _0223E852
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0223E838: ; jump table
.short _0223E854 - _0223E838 - 2 ; case 0
.short _0223E854 - _0223E838 - 2 ; case 1
.short _0223E854 - _0223E838 - 2 ; case 2
.short _0223E854 - _0223E838 - 2 ; case 3
.short _0223E854 - _0223E838 - 2 ; case 4
.short _0223E854 - _0223E838 - 2 ; case 5
.short _0223E882 - _0223E838 - 2 ; case 6
.short _0223E898 - _0223E838 - 2 ; case 7
.short _0223E8B6 - _0223E838 - 2 ; case 8
_0223E84A:
mov r0, #1
mvn r0, r0
cmp r5, r0
beq _0223E8B6
_0223E852:
b _0223EE86
_0223E854:
ldr r0, _0223E904 ; =0x00000862
mov r1, #6
ldrsh r2, [r4, r0]
mul r1, r2
add r2, r5, r1
sub r1, r0, #2
strb r2, [r4, r1]
sub r0, r0, #1
ldrb r1, [r4, r1]
ldrb r0, [r4, r0]
cmp r1, r0
bhs _0223E916
ldr r0, _0223E908 ; =0x000005DD
bl PlaySE
lsl r1, r5, #0x10
add r0, r4, #0
lsr r1, r1, #0x10
bl ov83_02242F18
mov r0, #0xa
strb r0, [r4, #8]
b _0223EE86
_0223E882:
mov r0, #0x5e
lsl r0, r0, #4
bl PlaySE
add r0, r4, #0
mov r1, #6
bl ov83_02242F18
mov r0, #0xa
strb r0, [r4, #8]
b _0223EE86
_0223E898:
mov r0, #0x5e
lsl r0, r0, #4
bl PlaySE
add r0, r4, #0
mov r1, #7
bl ov83_02242F18
mov r0, #0xa
strb r0, [r4, #8]
b _0223EE86
_0223E8AE:
ldr r0, _0223E8EC ; =0x000005DC
bl PlaySE
b _0223EE86
_0223E8B6:
ldr r0, _0223E908 ; =0x000005DD
bl PlaySE
add r0, r4, #0
mov r1, #8
bl ov83_02242F18
mov r0, #0xa
strb r0, [r4, #8]
b _0223EE86
_0223E8CA:
bl ov83_02242F2C
cmp r0, #1
beq _0223E916
ldr r0, _0223E90C ; =0x00000864
b _0223E910
nop
_0223E8D8: .word ov83_02247D18
_0223E8DC: .word 0x0000084C
_0223E8E0: .word 0x0000050C
_0223E8E4: .word ov83_02247D48
_0223E8E8: .word 0x00000508
_0223E8EC: .word 0x000005DC
_0223E8F0: .word 0x00000778
_0223E8F4: .word 0x00000868
_0223E8F8: .word 0x000005F3
_0223E8FC: .word ov83_02247D4E
_0223E900: .word 0x0000085C
_0223E904: .word 0x00000862
_0223E908: .word 0x000005DD
_0223E90C: .word 0x00000864
_0223E910:
ldrh r1, [r4, r0]
cmp r1, #8
bls _0223E918
_0223E916:
b _0223EE86
_0223E918:
add r2, r1, r1
add r2, pc
ldrh r2, [r2, #6]
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
_0223E924: ; jump table
.short _0223E936 - _0223E924 - 2 ; case 0
.short _0223E936 - _0223E924 - 2 ; case 1
.short _0223E936 - _0223E924 - 2 ; case 2
.short _0223E936 - _0223E924 - 2 ; case 3
.short _0223E936 - _0223E924 - 2 ; case 4
.short _0223E936 - _0223E924 - 2 ; case 5
.short _0223E982 - _0223E924 - 2 ; case 6
.short _0223E9CA - _0223E924 - 2 ; case 7
.short _0223EA14 - _0223E924 - 2 ; case 8
_0223E936:
add r0, r4, #0
bl ov83_022428A8
ldr r0, _0223EC84 ; =0x00000508
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xb0
bl ov83_02247944
mov r1, #0x86
lsl r1, r1, #4
ldrb r1, [r4, r1]
ldrb r2, [r4, #0x13]
add r0, r4, #0
bl ov83_02240EC4
add r2, r0, #0
mov r1, #0
add r0, r4, #0
mov r3, #3
str r1, [sp]
bl ov83_02240C48
add r0, r4, #0
mov r1, #0x37
mov r2, #1
bl ov83_0223FD14
strb r0, [r4, #0xa]
add r0, r4, #0
bl ov83_02240514
mov r0, #0xb
strb r0, [r4, #8]
b _0223EE86
_0223E982:
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 _0223E9A2
sub r0, r0, #3
ldrb r0, [r4, r0]
mov r1, #6
sub r0, r0, #1
bl _s32_div_f
ldr r1, _0223EC88 ; =0x00000862
strh r0, [r4, r1]
_0223E9A2:
add r0, r4, #0
bl ov83_02240664
add r0, r4, #0
bl ov83_02240748
add r0, r4, #0
bl ov83_022407FC
ldr r0, _0223EC8C ; =0x0000085C
ldr r0, [r4, r0]
bl sub_02019F74
add r1, r0, #0
add r0, r4, #0
bl ov83_022408E0
mov r0, #9
strb r0, [r4, #8]
b _0223EE86
_0223E9CA:
sub r1, r0, #2
ldrsh r1, [r4, r1]
add r2, r1, #1
sub r1, r0, #2
strh r2, [r4, r1]
sub r0, r0, #3
ldrb r0, [r4, r0]
mov r1, #6
sub r0, r0, #1
bl _s32_div_f
ldr r1, _0223EC88 ; =0x00000862
ldrsh r2, [r4, r1]
cmp r0, r2
bge _0223E9EC
mov r0, #0
strh r0, [r4, r1]
_0223E9EC:
add r0, r4, #0
bl ov83_02240664
add r0, r4, #0
bl ov83_02240748
add r0, r4, #0
bl ov83_022407FC
ldr r0, _0223EC8C ; =0x0000085C
ldr r0, [r4, r0]
bl sub_02019F74
add r1, r0, #0
add r0, r4, #0
bl ov83_022408E0
mov r0, #9
strb r0, [r4, #8]
b _0223EE86
_0223EA14:
add r0, r4, #0
bl ov83_0224042C
add r0, r4, #0
bl ov83_02240384
mov r0, #8
strb r0, [r4, #8]
b _0223EE86
_0223EA26:
ldr r0, _0223EC90 ; =0x0000084C
ldr r0, [r4, r0]
bl sub_020168F4
cmp r0, #1
beq _0223EA3A
cmp r0, #2
bne _0223EA38
b _0223EB7E
_0223EA38:
b _0223EE86
_0223EA3A:
ldr r0, _0223EC90 ; =0x0000084C
add r0, r4, r0
bl ov83_022478B4
ldrb r0, [r4, #9]
bl sub_0205C1F0
add r5, r0, #0
ldrb r0, [r4, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r4, #4]
add r1, r5, #0
bl sub_020310BC
mov r1, #0x86
lsl r1, r1, #4
add r5, r0, #0
ldrb r1, [r4, r1]
ldrb r2, [r4, #0x13]
add r0, r4, #0
bl ov83_02240EC4
cmp r5, r0
bhs _0223EA96
ldr r0, _0223EC84 ; =0x00000508
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xb0
bl ov83_02247944
add r0, r4, #0
mov r1, #0x20
mov r2, #1
bl ov83_0223FD14
strb r0, [r4, #0xa]
mov r0, #0x10
strb r0, [r4, #8]
b _0223EE86
_0223EA96:
ldr r0, _0223EC94 ; =0x00000804
mov r1, #6
ldr r5, [r4, r0]
mov r2, #0
add r0, r5, #0
bl GetMonData
cmp r0, #0
bne _0223EB36
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #0
bne _0223EB0A
add r0, r4, #0
bl ov83_0224042C
ldr r0, _0223EC84 ; =0x00000508
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xb0
bl ov83_02247944
mov r1, #0x86
lsl r1, r1, #4
ldrb r1, [r4, r1]
ldrb r2, [r4, #0x13]
add r0, r4, #0
bl ov83_02240EC4
add r2, r0, #0
ldrb r1, [r4, #9]
ldr r0, [r4, #4]
bl ov80_02237FA4
add r1, r4, #0
add r0, r4, #0
add r1, #0x50
bl ov83_02241770
mov r1, #0x86
lsl r1, r1, #4
ldrb r1, [r4, r1]
ldrb r2, [r4, #0x13]
add r0, r4, #0
bl ov83_02240F48
add r2, r0, #0
ldrb r1, [r4, #0xd]
add r0, r4, #0
bl ov83_022416A0
mov r0, #0x13
strb r0, [r4, #8]
b _0223EE86
_0223EB0A:
mov r1, #0x86
lsl r1, r1, #4
ldrb r1, [r4, r1]
ldrb r2, [r4, #0x13]
add r0, r4, #0
bl ov83_02240F48
strh r0, [r4, #0x10]
add r0, r4, #0
bl ov83_0224042C
add r0, r4, #0
add r0, #0xb0
bl ov83_02241354
ldrb r1, [r4, #0xe]
mov r0, #2
add sp, #4
orr r0, r1
strb r0, [r4, #0xe]
mov r0, #1
pop {r3, r4, r5, r6, pc}
_0223EB36:
add r0, r5, #0
bl Mon_GetBoxMon
add r2, r0, #0
add r0, r4, #0
mov r1, #0
bl ov83_02240C60
add r0, r5, #0
mov r1, #6
mov r2, #0
bl GetMonData
add r2, r0, #0
ldr r0, [r4, #0x24]
mov r1, #1
bl BufferItemNameWithIndefArticle
ldr r0, _0223EC84 ; =0x00000508
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xb0
bl ov83_02247944
add r0, r4, #0
mov r1, #0x3c
mov r2, #1
bl ov83_0223FD14
strb r0, [r4, #0xa]
mov r0, #0x11
strb r0, [r4, #8]
b _0223EE86
_0223EB7E:
ldr r0, _0223EC90 ; =0x0000084C
add r0, r4, r0
bl ov83_022478B4
add r0, r4, #0
bl ov83_0224175C
mov r0, #9
strb r0, [r4, #8]
b _0223EE86
_0223EB92:
ldr r0, _0223EC90 ; =0x0000084C
ldr r0, [r4, r0]
bl sub_020168F4
cmp r0, #1
beq _0223EBA4
cmp r0, #2
beq _0223EC2C
b _0223EE86
_0223EBA4:
ldr r0, _0223EC90 ; =0x0000084C
add r0, r4, r0
bl ov83_022478B4
ldrb r0, [r4, #9]
bl sub_0205C1F0
add r5, r0, #0
ldrb r0, [r4, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r4, #4]
add r1, r5, #0
bl sub_020310BC
add r5, r0, #0
ldr r0, _0223EC98 ; =0x0000050C
ldrb r1, [r4, #9]
ldr r0, [r4, r0]
mov r2, #1
bl ov83_0224777C
lsl r1, r0, #1
ldr r0, _0223EC9C ; =ov83_02247D4E
ldrh r0, [r0, r1]
cmp r5, r0
bhs _0223EC04
ldr r0, _0223EC84 ; =0x00000508
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xb0
bl ov83_02247944
add r0, r4, #0
mov r1, #0x29
mov r2, #1
bl ov83_0223FD14
strb r0, [r4, #0xa]
mov r0, #0xf
strb r0, [r4, #8]
b _0223EE86
_0223EC04:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #0
bne _0223EC1E
ldrb r1, [r4, #0xd]
add r0, r4, #0
mov r2, #8
bl ov83_02241BC4
mov r0, #0xd
strb r0, [r4, #8]
b _0223EE86
_0223EC1E:
ldrb r1, [r4, #0xe]
mov r0, #2
add sp, #4
orr r0, r1
strb r0, [r4, #0xe]
mov r0, #1
pop {r3, r4, r5, r6, pc}
_0223EC2C:
ldr r0, _0223EC90 ; =0x0000084C
add r0, r4, r0
bl ov83_022478B4
add r0, r4, #0
bl ov83_02240384
mov r0, #8
strb r0, [r4, #8]
b _0223EE86
_0223EC40:
ldrb r1, [r4, #0xd]
ldrb r2, [r4, #0x13]
bl ov83_02240FAC
cmp r0, #1
bne _0223ED10
mov r0, #0xe
strb r0, [r4, #8]
b _0223EE86
_0223EC52:
bl ov83_02247CF0
cmp r0, #1
bne _0223ED10
ldr r0, _0223ECA0 ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov83_02240384
ldr r0, _0223ECA4 ; =0x00000778
mov r1, #0xd3
ldr r0, [r4, r0]
mov r2, #0x6a
bl ov83_02247630
mov r0, #8
strb r0, [r4, #8]
b _0223EE86
_0223EC78:
bl ov83_02247CF0
cmp r0, #1
bne _0223ED10
ldr r0, _0223ECA0 ; =0x000005DC
b _0223ECA8
.balign 4, 0
_0223EC84: .word 0x00000508
_0223EC88: .word 0x00000862
_0223EC8C: .word 0x0000085C
_0223EC90: .word 0x0000084C
_0223EC94: .word 0x00000804
_0223EC98: .word 0x0000050C
_0223EC9C: .word ov83_02247D4E
_0223ECA0: .word 0x000005DC
_0223ECA4: .word 0x00000778
_0223ECA8:
bl PlaySE
add r0, r4, #0
add r0, #0xb0
bl ov83_02241354
add r0, r4, #0
bl ov83_02240384
mov r0, #8
strb r0, [r4, #8]
b _0223EE86
_0223ECC0:
bl ov83_02247CF0
cmp r0, #1
bne _0223ED10
ldr r0, _0223EE8C ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov83_0224175C
mov r0, #9
strb r0, [r4, #8]
b _0223EE86
_0223ECDA:
bl ov83_02247CF0
cmp r0, #1
bne _0223ED10
ldr r0, _0223EE8C ; =0x000005DC
bl PlaySE
add r0, r4, #0
mov r1, #0x3d
mov r2, #1
bl ov83_0223FD14
strb r0, [r4, #0xa]
add r0, r4, #0
bl ov83_02240514
mov r0, #0x12
strb r0, [r4, #8]
b _0223EE86
_0223ED00:
ldr r0, _0223EE90 ; =0x0000084C
ldr r0, [r4, r0]
bl sub_020168F4
cmp r0, #1
beq _0223ED12
cmp r0, #2
beq _0223EDAE
_0223ED10:
b _0223EE86
_0223ED12:
ldr r0, _0223EE90 ; =0x0000084C
add r0, r4, r0
bl ov83_022478B4
add r0, r4, #0
bl ov83_02240664
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #0
bne _0223ED82
add r0, r4, #0
bl ov83_0224042C
ldr r0, _0223EE94 ; =0x00000508
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xb0
bl ov83_02247944
mov r1, #0x86
lsl r1, r1, #4
ldrb r1, [r4, r1]
ldrb r2, [r4, #0x13]
add r0, r4, #0
bl ov83_02240EC4
add r2, r0, #0
ldrb r1, [r4, #9]
ldr r0, [r4, #4]
bl ov80_02237FA4
add r1, r4, #0
add r0, r4, #0
add r1, #0x50
bl ov83_02241770
mov r1, #0x86
lsl r1, r1, #4
ldrb r1, [r4, r1]
ldrb r2, [r4, #0x13]
add r0, r4, #0
bl ov83_02240F48
add r2, r0, #0
ldrb r1, [r4, #0xd]
add r0, r4, #0
bl ov83_022416A0
mov r0, #0x13
strb r0, [r4, #8]
b _0223EE86
_0223ED82:
mov r1, #0x86
lsl r1, r1, #4
ldrb r1, [r4, r1]
ldrb r2, [r4, #0x13]
add r0, r4, #0
bl ov83_02240F48
strh r0, [r4, #0x10]
add r0, r4, #0
bl ov83_0224042C
add r0, r4, #0
add r0, #0xb0
bl ov83_02241354
ldrb r1, [r4, #0xe]
mov r0, #2
add sp, #4
orr r0, r1
strb r0, [r4, #0xe]
mov r0, #1
pop {r3, r4, r5, r6, pc}
_0223EDAE:
ldr r0, _0223EE90 ; =0x0000084C
add r0, r4, r0
bl ov83_022478B4
add r0, r4, #0
bl ov83_0224175C
mov r0, #9
strb r0, [r4, #8]
b _0223EE86
_0223EDC2:
ldr r2, _0223EE98 ; =0x00000868
mov r0, #2
mov r1, #0
add r2, r4, r2
bl ov83_022477EC
ldrb r1, [r4, #0xd]
ldrb r2, [r4, #0x13]
add r0, r4, #0
bl ov83_02240FAC
cmp r0, #1
bne _0223EE86
mov r0, #0x14
strb r0, [r4, #8]
b _0223EE86
_0223EDE2:
bl ov83_02247CF0
cmp r0, #1
bne _0223EE86
ldr r0, _0223EE8C ; =0x000005DC
bl PlaySE
add r0, r4, #0
add r0, #0xb0
bl ov83_02241354
add r0, r4, #0
bl ov83_02240290
mov r0, #0
strb r0, [r4, #8]
b _0223EE86
_0223EE04:
ldr r1, _0223EE9C ; =gSystem
ldr r3, [r1, #0x48]
mov r1, #0x20
add r2, r3, #0
tst r2, r1
beq _0223EE18
sub r1, #0x21
bl ov83_02241208
b _0223EE86
_0223EE18:
mov r1, #0x10
tst r1, r3
beq _0223EE26
mov r1, #1
bl ov83_02241208
b _0223EE86
_0223EE26:
bl ov83_02247CF0
cmp r0, #1
bne _0223EE86
ldr r0, _0223EE8C ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov83_02241B18
add r0, r4, #0
bl ov83_02240300
mov r0, #1
strb r0, [r4, #8]
b _0223EE86
_0223EE46:
ldr r1, _0223EE9C ; =gSystem
ldr r3, [r1, #0x48]
mov r1, #0x20
add r2, r3, #0
tst r2, r1
beq _0223EE5A
sub r1, #0x21
bl ov83_02241254
b _0223EE86
_0223EE5A:
mov r1, #0x10
tst r1, r3
beq _0223EE68
mov r1, #1
bl ov83_02241254
b _0223EE86
_0223EE68:
bl ov83_02247CF0
cmp r0, #1
bne _0223EE86
ldr r0, _0223EE8C ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov83_02241B18
add r0, r4, #0
bl ov83_02240300
mov r0, #1
strb r0, [r4, #8]
_0223EE86:
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_0223EE8C: .word 0x000005DC
_0223EE90: .word 0x0000084C
_0223EE94: .word 0x00000508
_0223EE98: .word 0x00000868
_0223EE9C: .word gSystem
thumb_func_end ov83_0223E14C
thumb_func_start ov83_0223EEA0
ov83_0223EEA0: ; 0x0223EEA0
push {r4, lr}
add r4, r0, #0
ldrb r1, [r4, #8]
cmp r1, #4
bhi _0223EF96
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0223EEB6: ; jump table
.short _0223EEC0 - _0223EEB6 - 2 ; case 0
.short _0223EEF2 - _0223EEB6 - 2 ; case 1
.short _0223EF1E - _0223EEB6 - 2 ; case 2
.short _0223EF40 - _0223EEB6 - 2 ; case 3
.short _0223EF5E - _0223EEB6 - 2 ; case 4
_0223EEC0:
ldrb r1, [r4, #0xe]
mov r0, #0x60
ldr r2, _0223EF9C ; =0x00000868
bic r1, r0
strb r1, [r4, #0xe]
mov r0, #2
mov r1, #0
add r2, r4, r2
bl ov83_022477EC
ldrb r2, [r4, #0xd]
add r0, r4, #0
mov r1, #0xb
bl ov83_02241368
cmp r0, #1
bne _0223EF96
ldrb r1, [r4, #0xe]
mov r0, #2
bic r1, r0
strb r1, [r4, #0xe]
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _0223EF96
_0223EEF2:
ldrb r1, [r4, #0x12]
cmp r1, #0xff
beq _0223EF96
mov r1, #0
strb r1, [r4, #0xf]
ldrb r2, [r4, #0x13]
cmp r2, #4
beq _0223EF06
cmp r2, #8
bne _0223EF10
_0223EF06:
ldrb r1, [r4, #0x12]
add r0, r4, #0
bl ov83_02241BC4
b _0223EF16
_0223EF10:
ldrb r1, [r4, #0x12]
bl ov83_022418E8
_0223EF16:
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _0223EF96
_0223EF1E:
ldrb r0, [r4, #0x15]
ldrb r1, [r4, #0x12]
bl ov83_0224776C
add r1, r0, #0
ldrb r2, [r4, #0x13]
add r0, r4, #0
bl ov83_02240FAC
cmp r0, #1
bne _0223EF96
mov r0, #0x1e
strb r0, [r4, #0xb]
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _0223EF96
_0223EF40:
ldrb r0, [r4, #0xb]
sub r0, r0, #1
strb r0, [r4, #0xb]
ldrb r0, [r4, #0xb]
cmp r0, #0
bne _0223EF96
bl sub_02037BEC
mov r0, #0x82
bl sub_02037AC0
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _0223EF96
_0223EF5E:
mov r0, #0x82
bl sub_02037B38
cmp r0, #1
bne _0223EF96
bl sub_02037BEC
mov r0, #0x6b
bl sub_020379A0
mov r0, #0xff
strb r0, [r4, #0x12]
ldrb r0, [r4, #0xe]
lsl r0, r0, #0x19
lsr r0, r0, #0x1e
bne _0223EF8C
add r0, r4, #0
add r0, #0xb0
bl ov83_02241354
add r0, r4, #0
bl ov83_02240290
_0223EF8C:
ldr r0, _0223EFA0 ; =0x000007FE
mov r1, #0
strb r1, [r4, r0]
mov r0, #1
pop {r4, pc}
_0223EF96:
mov r0, #0
pop {r4, pc}
nop
_0223EF9C: .word 0x00000868
_0223EFA0: .word 0x000007FE
thumb_func_end ov83_0223EEA0
thumb_func_start ov83_0223EFA4
ov83_0223EFA4: ; 0x0223EFA4
push {r4, lr}
add r4, r0, #0
ldrb r1, [r4, #8]
cmp r1, #0
beq _0223EFB8
cmp r1, #1
beq _0223EFD0
cmp r1, #2
beq _0223EFF2
b _0223F00C
_0223EFB8:
mov r1, #0xd
mov r2, #0
bl ov83_02241368
cmp r0, #1
bne _0223F00C
mov r0, #0x1e
strb r0, [r4, #0xb]
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _0223F00C
_0223EFD0:
ldrb r0, [r4, #0xb]
cmp r0, #0
beq _0223EFDA
sub r0, r0, #1
strb r0, [r4, #0xb]
_0223EFDA:
ldrb r0, [r4, #0xb]
cmp r0, #0
bne _0223F00C
bl sub_02037BEC
mov r0, #0x83
bl sub_02037AC0
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _0223F00C
_0223EFF2:
mov r0, #0x83
bl sub_02037B38
cmp r0, #1
bne _0223F00C
bl sub_02037BEC
add r4, #0xb0
add r0, r4, #0
bl ov83_02241354
mov r0, #1
pop {r4, pc}
_0223F00C:
mov r0, #0
pop {r4, pc}
thumb_func_end ov83_0223EFA4
thumb_func_start ov83_0223F010
ov83_0223F010: ; 0x0223F010
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldrb r0, [r4, #8]
cmp r0, #0
beq _0223F022
cmp r0, #1
beq _0223F042
b _0223F050
_0223F022:
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl BeginNormalPaletteFade
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _0223F050
_0223F042:
bl IsPaletteFadeFinished
cmp r0, #1
bne _0223F050
add sp, #0xc
mov r0, #1
pop {r3, r4, pc}
_0223F050:
mov r0, #0
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov83_0223F010
thumb_func_start ov83_0223F058
ov83_0223F058: ; 0x0223F058
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, _0223F18C ; =0x0000084C
add r0, r5, r0
bl ov83_02247858
ldr r0, _0223F190 ; =0x0000083C
ldr r0, [r5, r0]
bl ov83_02247CC4
ldr r0, _0223F194 ; =0x00000838
ldr r0, [r5, r0]
bl ov83_02247A18
ldr r0, _0223F198 ; =0x00000734
ldr r0, [r5, r0]
bl ov83_0224753C
ldr r0, _0223F19C ; =0x00000738
ldr r0, [r5, r0]
bl ov83_0224753C
ldr r0, _0223F1A0 ; =0x00000778
ldr r0, [r5, r0]
bl ov83_0224753C
mov r0, #0x76
lsl r0, r0, #4
ldr r0, [r5, r0]
bl ov83_0224753C
ldr r0, _0223F1A4 ; =0x00000764
ldr r0, [r5, r0]
bl ov83_0224753C
ldr r0, _0223F1A8 ; =0x0000077C
ldr r0, [r5, r0]
bl ov83_0224753C
mov r0, #0x1e
lsl r0, r0, #6
ldr r0, [r5, r0]
bl ov83_0224753C
ldr r0, _0223F1AC ; =0x0000079C
ldr r0, [r5, r0]
bl ov83_0224753C
ldrb r0, [r5, #9]
mov r1, #1
bl ov80_02237B24
add r7, r0, #0
mov r6, #0
cmp r7, #0
ble _0223F0EA
add r4, r5, #0
_0223F0CA:
ldr r0, _0223F1B0 ; =0x0000073C
ldr r0, [r4, r0]
bl ov83_0224753C
ldr r0, _0223F1B4 ; =0x0000074C
ldr r0, [r4, r0]
bl ov83_0224753C
ldr r0, _0223F1B8 ; =0x00000768
ldr r0, [r4, r0]
bl ov83_0224753C
add r6, r6, #1
add r4, r4, #4
cmp r6, r7
blt _0223F0CA
_0223F0EA:
ldr r7, _0223F1BC ; =0x00000784
mov r6, #0
add r4, r5, #0
_0223F0F0:
ldr r0, [r4, r7]
bl ov83_0224753C
add r6, r6, #1
add r4, r4, #4
cmp r6, #6
blt _0223F0F0
bl sub_0203A914
mov r0, #5
lsl r0, r0, #8
ldr r0, [r5, r0]
mov r1, #2
bl PaletteData_FreeBuffers
mov r0, #5
lsl r0, r0, #8
ldr r0, [r5, r0]
mov r1, #0
bl PaletteData_FreeBuffers
mov r0, #5
lsl r0, r0, #8
ldr r0, [r5, r0]
bl PaletteData_Free
mov r0, #5
mov r1, #0
lsl r0, r0, #8
str r1, [r5, r0]
add r0, #0x18
add r0, r5, r0
bl ov83_022471FC
ldr r0, [r5, #0x20]
bl DestroyMsgData
ldr r0, [r5, #0x1c]
bl DestroyMsgData
ldr r0, [r5, #0x24]
bl MessageFormat_Delete
ldr r0, [r5, #0x28]
bl String_Delete
ldr r0, [r5, #0x2c]
bl String_Delete
ldr r0, _0223F1C0 ; =0x00000504
ldr r0, [r5, r0]
bl MessagePrinter_Delete
mov r0, #4
bl FontID_Release
mov r6, #0
add r4, r5, #0
_0223F164:
ldr r0, [r4, #0x30]
bl String_Delete
add r6, r6, #1
add r4, r4, #4
cmp r6, #3
blt _0223F164
add r0, r5, #0
add r0, #0x50
mov r1, #0
bl ov83_0224791C
ldr r0, [r5, #0x4c]
bl ov83_0223F734
ldr r0, _0223F1C4 ; =0x000007A8
ldr r0, [r5, r0]
bl NARC_Delete
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0223F18C: .word 0x0000084C
_0223F190: .word 0x0000083C
_0223F194: .word 0x00000838
_0223F198: .word 0x00000734
_0223F19C: .word 0x00000738
_0223F1A0: .word 0x00000778
_0223F1A4: .word 0x00000764
_0223F1A8: .word 0x0000077C
_0223F1AC: .word 0x0000079C
_0223F1B0: .word 0x0000073C
_0223F1B4: .word 0x0000074C
_0223F1B8: .word 0x00000768
_0223F1BC: .word 0x00000784
_0223F1C0: .word 0x00000504
_0223F1C4: .word 0x000007A8
thumb_func_end ov83_0223F058
thumb_func_start ov83_0223F1C8
ov83_0223F1C8: ; 0x0223F1C8
push {r3, lr}
mov r0, #0
add r1, r0, #0
bl Main_SetVBlankIntrCB
mov r0, #0
add r1, r0, #0
bl Main_SetHBlankIntrCB
bl GX_DisableEngineALayers
bl GX_DisableEngineBLayers
mov r2, #1
lsl r2, r2, #0x1a
ldr r1, [r2]
ldr r0, _0223F1F8 ; =0xFFFFE0FF
and r1, r0
str r1, [r2]
ldr r2, _0223F1FC ; =0x04001000
ldr r1, [r2]
and r0, r1
str r0, [r2]
pop {r3, pc}
.balign 4, 0
_0223F1F8: .word 0xFFFFE0FF
_0223F1FC: .word 0x04001000
thumb_func_end ov83_0223F1C8
thumb_func_start ov83_0223F200
ov83_0223F200: ; 0x0223F200
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x40
add r5, r0, #0
mov r0, #0xb7
mov r1, #0x6b
bl NARC_New
ldr r1, _0223F594 ; =0x000007A8
str r0, [r5, r1]
add r0, r5, #0
bl ov83_0223F690
add r0, r5, #0
bl ov83_0223F70C
mov r0, #4
mov r1, #0x6b
bl FontID_Alloc
mov r0, #1
mov r1, #0x1b
mov r2, #0x1f
mov r3, #0x6b
bl NewMsgDataFromNarc
str r0, [r5, #0x20]
mov r0, #1
mov r1, #0x1b
mov r2, #0xdd
mov r3, #0x6b
bl NewMsgDataFromNarc
str r0, [r5, #0x1c]
mov r0, #0x6b
bl MessageFormat_New
str r0, [r5, #0x24]
mov r0, #0x96
lsl r0, r0, #2
mov r1, #0x6b
bl String_New
str r0, [r5, #0x28]
mov r0, #0x96
lsl r0, r0, #2
mov r1, #0x6b
bl String_New
str r0, [r5, #0x2c]
mov r6, #0
add r4, r5, #0
mov r7, #0x20
_0223F268:
add r0, r7, #0
mov r1, #0x6b
bl String_New
str r0, [r4, #0x30]
add r6, r6, #1
add r4, r4, #4
cmp r6, #3
blt _0223F268
mov r1, #7
mov r0, #0
lsl r1, r1, #6
mov r2, #0x6b
bl LoadFontPal0
mov r1, #0x1a
mov r0, #0
lsl r1, r1, #4
mov r2, #0x6b
bl LoadFontPal1
mov r0, #1
mov r1, #2
mov r2, #0
mov r3, #0x6b
bl MessagePrinter_New
ldr r1, _0223F598 ; =0x00000504
mov r2, #0
str r0, [r5, r1]
add r1, r5, #0
ldr r0, [r5, #0x4c]
add r1, #0x50
bl ov83_022478D4
add r0, sp, #0x30
add r1, sp, #0x34
add r3, sp, #0x30
str r0, [sp]
add r0, r5, #0
add r1, #2
add r2, sp, #0x34
add r3, #2
bl ov83_02240F7C
mov r1, #0
mov r0, #4
str r0, [sp]
mov r0, #0xa0
str r0, [sp, #4]
mov r0, #0xa
str r0, [sp, #8]
ldr r0, _0223F59C ; =0x00000518
str r1, [sp, #0xc]
add r0, r5, r0
add r2, r1, #0
add r3, r1, #0
str r1, [sp, #0x10]
bl ov83_02247454
ldr r1, _0223F5A0 ; =0x00000734
str r0, [r5, r1]
mov r1, #0
mov r0, #5
str r0, [sp]
mov r0, #0xa0
str r0, [sp, #4]
mov r0, #0x7c
str r0, [sp, #8]
ldr r0, _0223F59C ; =0x00000518
str r1, [sp, #0xc]
add r0, r5, r0
add r2, r1, #0
add r3, r1, #0
str r1, [sp, #0x10]
bl ov83_02247454
ldr r1, _0223F5A4 ; =0x00000738
str r0, [r5, r1]
sub r0, r1, #4
ldr r0, [r5, r0]
mov r1, #0
bl ov83_0224755C
ldr r0, _0223F5A4 ; =0x00000738
mov r1, #0
ldr r0, [r5, r0]
bl ov83_0224755C
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #0
bne _0223F32C
mov r0, #0x48
mov r7, #0x40
str r0, [sp, #0x18]
b _0223F332
_0223F32C:
mov r0, #0x28
mov r7, #0x20
str r0, [sp, #0x18]
_0223F332:
ldrb r0, [r5, #9]
mov r1, #1
bl ov80_02237B24
mov r6, #0
str r0, [sp, #0x14]
cmp r0, #0
bgt _0223F344
b _0223F45C
_0223F344:
add r4, r5, #0
_0223F346:
mov r0, #0
str r0, [sp]
ldr r0, [sp, #0x18]
mov r1, #1
lsl r0, r0, #0x10
asr r0, r0, #0x10
str r0, [sp, #4]
mov r0, #0x3e
str r0, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0
str r0, [sp, #0x10]
ldr r0, _0223F59C ; =0x00000518
add r2, r1, #0
add r0, r5, r0
add r3, r1, #0
bl ov83_02247454
ldr r1, _0223F5A8 ; =0x0000074C
str r0, [r4, r1]
add r0, r1, #0
add r0, #0x58
ldr r0, [r5, r0]
add r1, r6, #0
bl GetPartyMonByIndex
mov r1, #6
mov r2, #0
str r0, [sp, #0x1c]
bl GetMonData
cmp r0, #0
bne _0223F394
ldr r0, _0223F5A8 ; =0x0000074C
mov r1, #0
ldr r0, [r4, r0]
bl ov83_0224755C
_0223F394:
ldr r0, [sp, #0x1c]
mov r1, #0xa3
mov r2, #0
bl GetMonData
str r0, [sp, #0x20]
ldr r0, [sp, #0x1c]
mov r1, #0xa4
mov r2, #0
bl GetMonData
str r0, [sp, #0x24]
ldr r0, [sp, #0x20]
ldr r1, [sp, #0x24]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
lsr r0, r0, #0x10
lsr r1, r1, #0x10
mov r2, #0x30
bl sub_020880B0
add r1, r0, #0
add r0, r5, #0
bl ov83_022411B0
str r0, [sp, #0x28]
ldr r0, [sp, #0x20]
ldr r1, [sp, #0x24]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
lsr r0, r0, #0x10
lsr r1, r1, #0x10
mov r2, #0x30
bl sub_020880B0
add r1, r0, #0
add r0, r5, #0
bl ov83_022411DC
mov r1, #0
str r0, [sp]
lsl r0, r7, #0x10
asr r0, r0, #0x10
str r0, [sp, #4]
mov r0, #0x4e
str r0, [sp, #8]
mov r0, #3
str r0, [sp, #0xc]
mov r0, #0
str r0, [sp, #0x10]
ldr r0, _0223F59C ; =0x00000518
add r2, r1, #0
add r0, r5, r0
add r3, r1, #0
bl ov83_02247454
ldr r1, _0223F5AC ; =0x00000768
mov r2, #0xa
str r0, [r4, r1]
ldr r0, [sp, #0x28]
add r1, r6, #0
str r0, [sp]
lsl r0, r7, #0x10
asr r0, r0, #0x10
str r0, [sp, #4]
mov r0, #0x3a
str r0, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0
str r0, [sp, #0x10]
ldr r0, _0223F59C ; =0x00000518
add r1, #0xa
add r0, r5, r0
mov r3, #5
bl ov83_02247454
ldr r1, _0223F5B0 ; =0x0000073C
str r0, [r4, r1]
add r0, r1, #0
add r0, #0x68
ldr r0, [r5, r0]
add r1, r6, #0
bl GetPartyMonByIndex
add r1, r0, #0
ldr r0, _0223F5B0 ; =0x0000073C
ldr r0, [r4, r0]
bl ov83_022475EC
ldr r0, [sp, #0x18]
add r6, r6, #1
add r0, #0x40
str r0, [sp, #0x18]
ldr r0, [sp, #0x14]
add r4, r4, #4
add r7, #0x40
cmp r6, r0
bge _0223F45C
b _0223F346
_0223F45C:
mov r1, #0
str r1, [sp]
mov r0, #0x10
str r0, [sp, #4]
mov r0, #0xa0
str r0, [sp, #8]
str r1, [sp, #0xc]
ldr r0, _0223F59C ; =0x00000518
str r1, [sp, #0x10]
mov r1, #3
add r0, r5, r0
add r2, r1, #0
add r3, r1, #0
bl ov83_022474C4
ldr r1, _0223F5B4 ; =0x0000079C
str r0, [r5, r1]
ldr r0, [r5, r1]
mov r1, #0
bl ov83_0224755C
mov r4, #0
add r6, r5, #0
add r7, r4, #0
_0223F48C:
add r1, sp, #0x2c
add r0, r4, #0
add r1, #2
add r2, sp, #0x2c
bl ov83_02242894
str r7, [sp]
add r1, sp, #0x2c
mov r0, #2
ldrsh r0, [r1, r0]
mov r3, #4
str r0, [sp, #4]
mov r0, #0
ldrsh r0, [r1, r0]
add r1, r4, #4
add r2, r1, #0
str r0, [sp, #8]
ldr r0, _0223F59C ; =0x00000518
str r7, [sp, #0xc]
add r0, r5, r0
str r7, [sp, #0x10]
bl ov83_02247454
ldr r1, _0223F5B8 ; =0x00000784
str r0, [r6, r1]
add r0, r1, #0
ldr r0, [r6, r0]
mov r1, #0
bl ov83_0224755C
add r4, r4, #1
add r6, r6, #4
cmp r4, #6
blt _0223F48C
add r0, r5, #0
add r1, sp, #0x3c
add r2, sp, #0x38
mov r3, #0
bl ov83_02240E70
mov r0, #1
str r0, [sp]
ldr r0, [sp, #0x3c]
mov r1, #0
lsl r0, r0, #0x10
asr r0, r0, #0x10
str r0, [sp, #4]
ldr r0, [sp, #0x38]
add r2, r1, #0
lsl r0, r0, #0x10
asr r0, r0, #0x10
str r0, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
ldr r0, _0223F59C ; =0x00000518
add r3, r1, #0
add r0, r5, r0
str r1, [sp, #0x10]
bl ov83_02247454
mov r1, #0x76
lsl r1, r1, #4
str r0, [r5, r1]
mov r0, #2
str r0, [sp]
ldr r1, [sp, #0x3c]
lsl r1, r1, #0x10
asr r1, r1, #0x10
str r1, [sp, #4]
ldr r1, [sp, #0x38]
lsl r1, r1, #0x10
asr r1, r1, #0x10
str r1, [sp, #8]
mov r1, #0
str r0, [sp, #0xc]
ldr r0, _0223F59C ; =0x00000518
add r2, r1, #0
add r0, r5, r0
add r3, r1, #0
str r1, [sp, #0x10]
bl ov83_02247454
ldr r1, _0223F5BC ; =0x00000764
str r0, [r5, r1]
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #0
bne _0223F548
ldr r0, _0223F5BC ; =0x00000764
mov r1, #0
ldr r0, [r5, r0]
bl ov83_0224755C
_0223F548:
mov r0, #0xb
str r0, [sp]
mov r0, #0x14
str r0, [sp, #4]
mov r1, #0
str r0, [sp, #8]
ldr r0, _0223F59C ; =0x00000518
str r1, [sp, #0xc]
add r0, r5, r0
add r2, r1, #0
add r3, r1, #0
str r1, [sp, #0x10]
bl ov83_02247454
ldr r1, _0223F5C0 ; =0x00000778
str r0, [r5, r1]
ldr r0, [r5, r1]
mov r1, #0
bl ov83_0224755C
mov r1, #0
mov r0, #3
str r0, [sp]
mov r0, #0x14
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
ldr r0, _0223F59C ; =0x00000518
add r2, r1, #0
add r0, r5, r0
add r3, r1, #0
str r1, [sp, #0x10]
bl ov83_02247454
ldr r1, _0223F5C4 ; =0x0000077C
b _0223F5C8
nop
_0223F594: .word 0x000007A8
_0223F598: .word 0x00000504
_0223F59C: .word 0x00000518
_0223F5A0: .word 0x00000734
_0223F5A4: .word 0x00000738
_0223F5A8: .word 0x0000074C
_0223F5AC: .word 0x00000768
_0223F5B0: .word 0x0000073C
_0223F5B4: .word 0x0000079C
_0223F5B8: .word 0x00000784
_0223F5BC: .word 0x00000764
_0223F5C0: .word 0x00000778
_0223F5C4: .word 0x0000077C
_0223F5C8:
str r0, [r5, r1]
ldr r0, [r5, r1]
mov r1, #0
bl ov83_0224755C
add r0, r5, #0
bl ov83_02241E18
add r0, r5, #0
bl ov83_02241FF0
add r0, r5, #0
mov r1, #1
bl ov83_022421E0
mov r1, #0
str r1, [sp]
mov r0, #0x30
str r0, [sp, #4]
mov r0, #0x28
str r0, [sp, #8]
str r1, [sp, #0xc]
ldr r0, _0223F67C ; =0x00000518
str r1, [sp, #0x10]
mov r1, #2
add r0, r5, r0
add r2, r1, #0
add r3, r1, #0
bl ov83_022474C4
mov r3, #0x1e
lsl r3, r3, #6
add r2, r3, #0
str r0, [r5, r3]
add r1, r3, #0
add r2, #0x8c
ldr r0, [r5, r3]
add r1, #0x88
add r3, #0x94
ldrh r2, [r5, r2]
ldr r1, [r5, r1]
ldr r3, [r5, r3]
bl ov83_02247668
ldrb r2, [r5, #0x14]
add r0, r5, #0
mov r1, #1
bl ov83_02247A24
ldr r1, _0223F680 ; =0x00000838
str r0, [r5, r1]
ldr r1, _0223F67C ; =0x00000518
ldr r0, [r5, r1]
sub r1, #0x18
ldr r1, [r5, r1]
bl ov83_02247CB8
ldr r1, _0223F684 ; =0x0000083C
str r0, [r5, r1]
add r1, #0x10
add r0, r5, r1
bl ov83_02247844
bl sub_02037474
cmp r0, #0
beq _0223F660
mov r0, #1
mov r1, #0x10
bl sub_02009FE8
mov r0, #1
bl sub_0200A080
bl sub_0203A880
_0223F660:
mov r0, #0xa
str r0, [sp]
ldr r0, _0223F688 ; =0x04000050
mov r1, #0
mov r2, #0xe
mov r3, #6
bl G2x_SetBlendAlpha_
ldr r0, _0223F68C ; =ov83_0223F7A0
add r1, r5, #0
bl Main_SetVBlankIntrCB
add sp, #0x40
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0223F67C: .word 0x00000518
_0223F680: .word 0x00000838
_0223F684: .word 0x0000083C
_0223F688: .word 0x04000050
_0223F68C: .word ov83_0223F7A0
thumb_func_end ov83_0223F200
thumb_func_start ov83_0223F690
ov83_0223F690: ; 0x0223F690
push {r4, lr}
ldr r2, _0223F700 ; =0x04000304
add r4, r0, #0
ldrh r1, [r2]
ldr r0, _0223F704 ; =0xFFFF7FFF
and r0, r1
strh r0, [r2]
bl ov83_0223F7E4
ldr r0, [r4, #0x4c]
bl ov83_0223F804
mov r0, #0x6b
bl PaletteData_Init
mov r1, #5
lsl r1, r1, #8
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #2
lsl r2, r1, #8
mov r3, #0x6b
bl PaletteData_AllocBuffers
mov r0, #5
lsl r0, r0, #8
mov r2, #2
ldr r0, [r4, r0]
mov r1, #0
lsl r2, r2, #8
mov r3, #0x6b
bl PaletteData_AllocBuffers
add r0, r4, #0
mov r1, #3
bl ov83_0223FA00
bl ov83_0223FA74
add r0, r4, #0
mov r1, #2
bl ov83_0223FAA8
bl ov83_0223FAF0
ldr r2, _0223F708 ; =0x00000868
mov r0, #2
mov r1, #0
add r2, r4, r2
bl ov83_022477EC
add r0, r4, #0
mov r1, #4
bl ov83_0223FBEC
pop {r4, pc}
.balign 4, 0
_0223F700: .word 0x04000304
_0223F704: .word 0xFFFF7FFF
_0223F708: .word 0x00000868
thumb_func_end ov83_0223F690
thumb_func_start ov83_0223F70C
ov83_0223F70C: ; 0x0223F70C
push {r4, lr}
add r4, r0, #0
ldrb r0, [r4, #9]
bl ov80_02237D8C
add r2, r0, #0
ldr r1, _0223F72C ; =0x000007A4
ldr r0, _0223F730 ; =0x00000518
lsl r2, r2, #0x18
ldr r1, [r4, r1]
add r0, r4, r0
lsr r2, r2, #0x18
bl ov83_02246E08
pop {r4, pc}
nop
_0223F72C: .word 0x000007A4
_0223F730: .word 0x00000518
thumb_func_end ov83_0223F70C
thumb_func_start ov83_0223F734
ov83_0223F734: ; 0x0223F734
push {r4, lr}
add r4, r0, #0
mov r0, #0x1f
mov r1, #0
bl GX_EngineAToggleLayers
mov r0, #0x1f
mov r1, #0
bl GX_EngineBToggleLayers
add r0, r4, #0
mov r1, #3
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #2
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #0
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #1
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #4
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #5
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #6
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #7
bl FreeBgTilemapBuffer
add r0, r4, #0
bl FreeToHeap
ldr r2, _0223F79C ; =0x04000304
ldrh r1, [r2]
lsr r0, r2, #0xb
orr r0, r1
strh r0, [r2]
pop {r4, pc}
nop
_0223F79C: .word 0x04000304
thumb_func_end ov83_0223F734
thumb_func_start ov83_0223F7A0
ov83_0223F7A0: ; 0x0223F7A0
push {r4, lr}
add r4, r0, #0
mov r0, #5
lsl r0, r0, #8
ldr r0, [r4, r0]
cmp r0, #0
beq _0223F7B2
bl sub_0200398C
_0223F7B2:
ldr r0, [r4, #0x4c]
bl BgConfig_HandleScheduledScrollAndTransferOps
ldr r0, _0223F7D8 ; =0x00000868
add r0, r4, r0
bl ov83_0224780C
bl GF_RunVramTransferTasks
bl OamManager_ApplyAndResetBuffers
ldr r3, _0223F7DC ; =0x027E0000
ldr r1, _0223F7E0 ; =0x00003FF8
mov r0, #1
ldr r2, [r3, r1]
orr r0, r2
str r0, [r3, r1]
pop {r4, pc}
nop
_0223F7D8: .word 0x00000868
_0223F7DC: .word 0x027E0000
_0223F7E0: .word 0x00003FF8
thumb_func_end ov83_0223F7A0
thumb_func_start ov83_0223F7E4
ov83_0223F7E4: ; 0x0223F7E4
push {r4, lr}
sub sp, #0x28
ldr r4, _0223F800 ; =ov83_02247E88
add r3, sp, #0
mov r2, #5
_0223F7EE:
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _0223F7EE
add r0, sp, #0
bl GX_SetBanks
add sp, #0x28
pop {r4, pc}
.balign 4, 0
_0223F800: .word ov83_02247E88
thumb_func_end ov83_0223F7E4
thumb_func_start ov83_0223F804
ov83_0223F804: ; 0x0223F804
push {r3, r4, r5, lr}
sub sp, #0xf0
ldr r5, _0223F9D8 ; =ov83_02247D38
add r3, sp, #0xe0
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, _0223F9DC ; =ov83_02247DA0
add r3, sp, #0xc4
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, #1
mov r1, #0x20
mov r2, #0
mov r3, #0x6b
bl BG_ClearCharDataRange
add r0, r4, #0
mov r1, #1
bl BgClearTilemapBufferAndCommit
ldr r5, _0223F9E0 ; =ov83_02247DBC
add r3, sp, #0xa8
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #0
str r0, [r3]
add r0, r4, #0
add r3, r1, #0
bl InitBgFromTemplate
mov r0, #0
mov r1, #0x20
add r2, r0, #0
mov r3, #0x6b
bl BG_ClearCharDataRange
add r0, r4, #0
mov r1, #0
bl BgClearTilemapBufferAndCommit
ldr r5, _0223F9E4 ; =ov83_02247DF4
add r3, sp, #0x8c
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #2
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
mov r0, #2
mov r1, #0x20
mov r2, #0
mov r3, #0x6b
bl BG_ClearCharDataRange
add r0, r4, #0
mov r1, #2
bl BgClearTilemapBufferAndCommit
ldr r5, _0223F9E8 ; =ov83_02247E10
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, #3
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
mov r0, #3
mov r1, #0x20
mov r2, #0
mov r3, #0x6b
bl BG_ClearCharDataRange
add r0, r4, #0
mov r1, #3
bl BgClearTilemapBufferAndCommit
ldr r5, _0223F9EC ; =ov83_02247E2C
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, #4
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #4
bl BgClearTilemapBufferAndCommit
ldr r5, _0223F9F0 ; =ov83_02247E48
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, #5
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
mov r0, #5
mov r1, #0x20
mov r2, #0
mov r3, #0x6b
bl BG_ClearCharDataRange
add r0, r4, #0
mov r1, #5
bl BgClearTilemapBufferAndCommit
ldr r5, _0223F9F4 ; =ov83_02247D84
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]
str r0, [r3]
add r0, r4, #0
mov r1, #6
mov r3, #0
bl InitBgFromTemplate
mov r0, #6
mov r1, #0x20
mov r2, #0
mov r3, #0x6b
bl BG_ClearCharDataRange
add r0, r4, #0
mov r1, #6
bl BgClearTilemapBufferAndCommit
ldr r5, _0223F9F8 ; =ov83_02247DD8
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, #7
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
mov r0, #7
mov r1, #0x20
mov r2, #0
mov r3, #0x6b
bl BG_ClearCharDataRange
add r0, r4, #0
mov r1, #7
bl BgClearTilemapBufferAndCommit
ldr r1, _0223F9FC ; =0x04000008
mov r0, #3
ldrh r2, [r1]
bic r2, r0
strh r2, [r1]
mov r0, #2
mov r1, #1
bl GX_EngineAToggleLayers
mov r0, #4
mov r1, #0
bl GX_EngineBToggleLayers
mov r0, #8
mov r1, #0
bl GX_EngineBToggleLayers
add sp, #0xf0
pop {r3, r4, r5, pc}
.balign 4, 0
_0223F9D8: .word ov83_02247D38
_0223F9DC: .word ov83_02247DA0
_0223F9E0: .word ov83_02247DBC
_0223F9E4: .word ov83_02247DF4
_0223F9E8: .word ov83_02247E10
_0223F9EC: .word ov83_02247E2C
_0223F9F0: .word ov83_02247E48
_0223F9F4: .word ov83_02247D84
_0223F9F8: .word ov83_02247DD8
_0223F9FC: .word 0x04000008
thumb_func_end ov83_0223F804
thumb_func_start ov83_0223FA00
ov83_0223FA00: ; 0x0223FA00
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
add r4, r1, #0
mov r0, #0x6b
str r0, [sp, #0xc]
ldr r0, _0223FA70 ; =0x000007A8
ldr r2, [r5, #0x4c]
ldr r0, [r5, r0]
mov r1, #0x22
add r3, r4, #0
bl GfGfxLoader_LoadCharDataFromOpenNarc
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #0
bne _0223FA4E
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
ldr r0, _0223FA70 ; =0x000007A8
ldr r2, [r5, #0x4c]
ldr r0, [r5, r0]
mov r1, #0x23
add r3, r4, #0
bl GfGfxLoader_LoadScrnDataFromOpenNarc
add sp, #0x10
pop {r3, r4, r5, pc}
_0223FA4E:
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
ldr r0, _0223FA70 ; =0x000007A8
ldr r2, [r5, #0x4c]
ldr r0, [r5, r0]
mov r1, #0x24
add r3, r4, #0
bl GfGfxLoader_LoadScrnDataFromOpenNarc
add sp, #0x10
pop {r3, r4, r5, pc}
nop
_0223FA70: .word 0x000007A8
thumb_func_end ov83_0223FA00
thumb_func_start ov83_0223FA74
ov83_0223FA74: ; 0x0223FA74
push {r3, r4, lr}
sub sp, #4
mov r0, #0xb7
mov r1, #0x9c
add r2, sp, #0
mov r3, #0x6b
bl GfGfxLoader_GetPlttData
add r4, r0, #0
ldr r0, [sp]
mov r1, #0xe0
ldr r0, [r0, #0xc]
bl DC_FlushRange
ldr r0, [sp]
mov r1, #0
ldr r0, [r0, #0xc]
mov r2, #0xe0
bl GX_LoadBGPltt
add r0, r4, #0
bl FreeToHeap
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov83_0223FA74
thumb_func_start ov83_0223FAA8
ov83_0223FAA8: ; 0x0223FAA8
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
add r4, r1, #0
mov r0, #0x6b
str r0, [sp, #0xc]
ldr r0, _0223FAEC ; =0x000007A8
ldr r2, [r5, #0x4c]
ldr r0, [r5, r0]
mov r1, #0x22
add r3, r4, #0
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
ldr r0, _0223FAEC ; =0x000007A8
ldr r2, [r5, #0x4c]
ldr r0, [r5, r0]
mov r1, #0x2a
add r3, r4, #0
bl GfGfxLoader_LoadScrnDataFromOpenNarc
add sp, #0x10
pop {r3, r4, r5, pc}
.balign 4, 0
_0223FAEC: .word 0x000007A8
thumb_func_end ov83_0223FAA8
thumb_func_start ov83_0223FAF0
ov83_0223FAF0: ; 0x0223FAF0
push {r3, r4, lr}
sub sp, #4
mov r0, #0xb7
mov r1, #0x9c
add r2, sp, #0
mov r3, #0x6b
bl GfGfxLoader_GetPlttData
add r4, r0, #0
ldr r0, [sp]
mov r1, #0x80
ldr r0, [r0, #0xc]
bl DC_FlushRange
ldr r0, [sp]
mov r1, #0
ldr r0, [r0, #0xc]
mov r2, #0x80
bl GX_LoadBGPltt
add r0, r4, #0
bl FreeToHeap
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov83_0223FAF0
thumb_func_start ov83_0223FB24
ov83_0223FB24: ; 0x0223FB24
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
add r4, r1, #0
mov r0, #0x6b
str r0, [sp, #0xc]
ldr r0, _0223FB68 ; =0x000007A8
ldr r2, [r5, #0x4c]
ldr r0, [r5, r0]
mov r1, #0x22
add r3, r4, #0
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
ldr r0, _0223FB68 ; =0x000007A8
ldr r2, [r5, #0x4c]
ldr r0, [r5, r0]
mov r1, #0x2b
add r3, r4, #0
bl GfGfxLoader_LoadScrnDataFromOpenNarc
add sp, #0x10
pop {r3, r4, r5, pc}
.balign 4, 0
_0223FB68: .word 0x000007A8
thumb_func_end ov83_0223FB24
thumb_func_start ov83_0223FB6C
ov83_0223FB6C: ; 0x0223FB6C
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, #0x6b
str r0, [sp, #0xc]
ldr r0, _0223FBE8 ; =0x000007A8
ldr r2, [r4, #0x4c]
ldr r0, [r4, r0]
mov r1, #0x22
mov r3, #2
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
ldr r0, _0223FBE8 ; =0x000007A8
ldr r2, [r4, #0x4c]
ldr r0, [r4, r0]
mov r1, #0x26
mov r3, #2
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
ldr r0, _0223FBE8 ; =0x000007A8
ldr r2, [r4, #0x4c]
ldr r0, [r4, r0]
mov r1, #0x28
mov r3, #6
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
ldr r0, _0223FBE8 ; =0x000007A8
ldr r2, [r4, #0x4c]
ldr r0, [r4, r0]
mov r1, #0x29
mov r3, #6
bl GfGfxLoader_LoadScrnDataFromOpenNarc
add sp, #0x10
pop {r4, pc}
nop
_0223FBE8: .word 0x000007A8
thumb_func_end ov83_0223FB6C
thumb_func_start ov83_0223FBEC
ov83_0223FBEC: ; 0x0223FBEC
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
add r4, r1, #0
mov r0, #0x6b
str r0, [sp, #0xc]
ldr r0, _0223FC44 ; =0x000007A8
ldr r2, [r5, #0x4c]
ldr r0, [r5, r0]
mov r1, #0x28
add r3, r4, #0
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
ldr r0, _0223FC44 ; =0x000007A8
ldr r2, [r5, #0x4c]
ldr r0, [r5, r0]
mov r1, #0x93
add r3, r4, #0
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r3, #0
str r3, [sp]
mov r0, #0x6b
str r0, [sp, #4]
ldr r0, _0223FC44 ; =0x000007A8
mov r1, #0xbe
ldr r0, [r5, r0]
mov r2, #4
bl GfGfxLoader_GXLoadPalFromOpenNarc
add sp, #0x10
pop {r3, r4, r5, pc}
.balign 4, 0
_0223FC44: .word 0x000007A8
thumb_func_end ov83_0223FBEC
thumb_func_start ov83_0223FC48
ov83_0223FC48: ; 0x0223FC48
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r1, #0
add r1, sp, #0x38
ldrb r1, [r1]
add r5, r0, #0
add r0, r4, #0
add r6, r2, #0
add r7, r3, #0
bl FillWindowPixelBuffer
ldr r0, [r5, #0x20]
ldr r2, [r5, #0x2c]
add r1, r6, #0
bl ReadMsgDataIntoString
ldr r0, [r5, #0x24]
ldr r1, [r5, #0x28]
ldr r2, [r5, #0x2c]
bl StringExpandPlaceholders
ldr r0, [sp, #0x28]
add r2, sp, #0x18
str r0, [sp]
ldr r0, [sp, #0x2c]
add r3, r7, #0
str r0, [sp, #4]
add r0, sp, #0x38
ldrb r1, [r0]
ldrb r0, [r2, #0x18]
ldrb r2, [r2, #0x1c]
lsl r0, r0, #0x18
lsl r2, r2, #0x18
lsr r0, r0, #8
lsr r2, r2, #0x10
orr r0, r2
orr r0, r1
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
add r1, sp, #0x3c
ldrb r1, [r1]
ldr r2, [r5, #0x28]
add r0, r4, #0
bl AddTextPrinterParameterized2
add r5, r0, #0
add r0, r4, #0
bl ScheduleWindowCopyToVram
add r0, r5, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov83_0223FC48
thumb_func_start ov83_0223FCB4
ov83_0223FCB4: ; 0x0223FCB4
push {r4, r5, r6, lr}
sub sp, #0x10
add r5, r0, #0
add r4, r1, #0
add r1, r2, #0
ldr r0, [r5, #0x20]
ldr r2, [r5, #0x2c]
add r6, r3, #0
bl ReadMsgDataIntoString
ldr r0, [r5, #0x24]
ldr r1, [r5, #0x28]
ldr r2, [r5, #0x2c]
bl StringExpandPlaceholders
ldr r0, [sp, #0x20]
add r2, sp, #0x10
str r0, [sp]
ldr r0, [sp, #0x24]
add r3, r6, #0
str r0, [sp, #4]
add r0, sp, #0x30
ldrb r1, [r0]
ldrb r0, [r2, #0x18]
ldrb r2, [r2, #0x1c]
lsl r0, r0, #0x18
lsl r2, r2, #0x18
lsr r0, r0, #8
lsr r2, r2, #0x10
orr r0, r2
orr r0, r1
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
add r1, sp, #0x34
ldrb r1, [r1]
ldr r2, [r5, #0x28]
add r0, r4, #0
bl AddTextPrinterParameterized2
add r5, r0, #0
add r0, r4, #0
bl ScheduleWindowCopyToVram
add r0, r5, #0
add sp, #0x10
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov83_0223FCB4
thumb_func_start ov83_0223FD14
ov83_0223FD14: ; 0x0223FD14
push {r3, r4, r5, lr}
sub sp, #0x18
mov r3, #1
add r4, r1, #0
str r3, [sp]
mov r1, #0xff
str r1, [sp, #4]
str r3, [sp, #8]
mov r1, #2
str r1, [sp, #0xc]
mov r1, #0xf
str r1, [sp, #0x10]
add r5, r0, #0
add r1, r5, #0
str r2, [sp, #0x14]
add r1, #0xb0
add r2, r4, #0
bl ov83_0223FC48
add r5, #0xb0
add r4, r0, #0
add r0, r5, #0
bl ScheduleWindowCopyToVram
add r0, r4, #0
add sp, #0x18
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov83_0223FD14
thumb_func_start ov83_0223FD4C
ov83_0223FD4C: ; 0x0223FD4C
push {r3, r4, r5, r6, lr}
sub sp, #4
add r4, r1, #0
add r5, r0, #0
add r6, r2, #0
add r0, r4, #0
mov r1, #0
bl FillWindowPixelBuffer
add r0, r6, #0
mov r1, #6
mov r2, #0
bl GetMonData
add r2, r0, #0
ldr r0, [r5, #0x24]
mov r1, #0
bl BufferItemName
mov r0, #8
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x46
mov r3, #1
bl ov83_0223FF20
mov r0, #8
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x47
mov r3, #0x40
bl ov83_0223FF20
add r0, r6, #0
bl GetMonNature
add r2, r0, #0
ldr r0, [r5, #0x24]
mov r1, #0
bl BufferNatureName
mov r0, #0x18
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x48
mov r3, #1
bl ov83_0223FF20
mov r0, #0x18
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x49
mov r3, #0x40
bl ov83_0223FF20
add r0, r6, #0
mov r1, #0xa
mov r2, #0
bl GetMonData
add r2, r0, #0
ldr r0, [r5, #0x24]
mov r1, #0
bl BufferAbilityName
mov r0, #0x28
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x4a
mov r3, #1
bl ov83_0223FF20
mov r0, #0x28
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x4b
mov r3, #0x40
bl ov83_0223FF20
add r0, r6, #0
mov r1, #0xa5
mov r2, #0
bl GetMonData
add r2, r0, #0
mov r0, #1
str r0, [sp]
add r0, r5, #0
mov r1, #0
mov r3, #3
bl ov83_02240C48
mov r0, #0x38
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x4c
mov r3, #1
bl ov83_0223FF20
mov r3, #0x38
add r0, r5, #0
add r1, r4, #0
mov r2, #0x4d
str r3, [sp]
bl ov83_0223FF20
add r0, r6, #0
mov r1, #0xa6
mov r2, #0
bl GetMonData
add r2, r0, #0
mov r0, #1
str r0, [sp]
add r0, r5, #0
mov r1, #0
mov r3, #3
bl ov83_02240C48
mov r0, #0x38
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x4e
mov r3, #0x58
bl ov83_0223FF20
mov r0, #0x38
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x4f
mov r3, #0x90
bl ov83_0223FF20
add r0, r6, #0
mov r1, #0xa8
mov r2, #0
bl GetMonData
add r2, r0, #0
mov r0, #1
str r0, [sp]
add r0, r5, #0
mov r1, #0
mov r3, #3
bl ov83_02240C48
mov r0, #0x48
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x50
mov r3, #1
bl ov83_0223FF20
mov r0, #0x48
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x51
mov r3, #0x38
bl ov83_0223FF20
add r0, r6, #0
mov r1, #0xa9
mov r2, #0
bl GetMonData
add r2, r0, #0
mov r0, #1
str r0, [sp]
add r0, r5, #0
mov r1, #0
mov r3, #3
bl ov83_02240C48
mov r0, #0x48
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x52
mov r3, #0x58
bl ov83_0223FF20
mov r0, #0x48
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x53
mov r3, #0x90
bl ov83_0223FF20
add r0, r6, #0
mov r1, #0xa7
mov r2, #0
bl GetMonData
add r2, r0, #0
mov r0, #1
str r0, [sp]
add r0, r5, #0
mov r1, #0
mov r3, #3
bl ov83_02240C48
mov r0, #0x58
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x54
mov r3, #1
bl ov83_0223FF20
mov r0, #0x58
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x55
mov r3, #0x38
bl ov83_0223FF20
add r0, r4, #0
bl ScheduleWindowCopyToVram
add sp, #4
pop {r3, r4, r5, r6, pc}
thumb_func_end ov83_0223FD4C
thumb_func_start ov83_0223FF20
ov83_0223FF20: ; 0x0223FF20
push {r4, lr}
sub sp, #0x18
add r4, sp, #0x10
ldrh r4, [r4, #0x10]
str r4, [sp]
mov r4, #0xff
str r4, [sp, #4]
mov r4, #1
str r4, [sp, #8]
mov r4, #2
str r4, [sp, #0xc]
mov r4, #0
str r4, [sp, #0x10]
str r4, [sp, #0x14]
bl ov83_0223FCB4
add sp, #0x18
pop {r4, pc}
thumb_func_end ov83_0223FF20
thumb_func_start ov83_0223FF44
ov83_0223FF44: ; 0x0223FF44
push {r3, r4, r5, r6, lr}
sub sp, #0x14
add r5, r1, #0
add r6, r0, #0
add r0, r5, #0
mov r1, #0
add r4, r2, #0
bl FillWindowPixelBuffer
mov r0, #0x64
str r0, [sp]
str r4, [sp, #4]
mov r0, #0x36
str r0, [sp, #8]
mov r0, #0x3a
str r0, [sp, #0xc]
mov r0, #0x42
str r0, [sp, #0x10]
add r0, r6, #0
add r1, r5, #0
mov r2, #0
mov r3, #0x60
bl ov83_0223FFD8
mov r0, #0x64
str r0, [sp]
str r4, [sp, #4]
mov r0, #0x37
str r0, [sp, #8]
mov r0, #0x3b
str r0, [sp, #0xc]
mov r0, #0x43
str r0, [sp, #0x10]
add r0, r6, #0
add r1, r5, #0
mov r2, #1
mov r3, #0x61
bl ov83_0223FFD8
mov r0, #0x64
str r0, [sp]
str r4, [sp, #4]
mov r0, #0x38
str r0, [sp, #8]
mov r0, #0x3c
str r0, [sp, #0xc]
mov r0, #0x44
str r0, [sp, #0x10]
add r0, r6, #0
add r1, r5, #0
mov r2, #2
mov r3, #0x62
bl ov83_0223FFD8
mov r0, #0x64
str r0, [sp]
str r4, [sp, #4]
mov r0, #0x39
str r0, [sp, #8]
mov r0, #0x3d
str r0, [sp, #0xc]
mov r0, #0x45
str r0, [sp, #0x10]
add r0, r6, #0
add r1, r5, #0
mov r2, #3
mov r3, #0x63
bl ov83_0223FFD8
add r0, r5, #0
bl ScheduleWindowCopyToVram
add sp, #0x14
pop {r3, r4, r5, r6, pc}
thumb_func_end ov83_0223FF44
thumb_func_start ov83_0223FFD8
ov83_0223FFD8: ; 0x0223FFD8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r4, r0, #0
add r6, r1, #0
add r5, r2, #0
ldr r0, [sp, #0x34]
ldr r1, [sp, #0x38]
mov r2, #0
add r7, r3, #0
bl GetMonData
add r2, r0, #0
ldr r0, [r4, #0x24]
add r1, r5, #0
bl BufferMoveName
mov r3, #0x18
add r0, r5, #0
mul r0, r3
add r0, #0xc
lsl r0, r0, #0x10
lsr r5, r0, #0x10
str r5, [sp]
mov r0, #0xff
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0
str r0, [sp, #0x10]
str r0, [sp, #0x14]
add r0, r4, #0
add r1, r6, #0
add r2, r7, #0
bl ov83_0223FCB4
strb r0, [r4, #0xa]
ldr r0, [sp, #0x34]
ldr r1, [sp, #0x3c]
mov r2, #0
bl GetMonData
add r2, r0, #0
mov r0, #1
str r0, [sp]
add r0, r4, #0
mov r1, #4
mov r3, #3
bl ov83_02240C48
ldr r0, [sp, #0x34]
ldr r1, [sp, #0x40]
mov r2, #0
bl GetMonData
add r2, r0, #0
mov r0, #0
str r0, [sp]
add r0, r4, #0
mov r1, #5
mov r3, #3
bl ov83_02240C48
str r5, [sp]
mov r0, #0xff
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0
str r0, [sp, #0x10]
str r0, [sp, #0x14]
ldr r2, [sp, #0x30]
add r0, r4, #0
add r1, r6, #0
mov r3, #0x60
bl ov83_0223FCB4
strb r0, [r4, #0xa]
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov83_0223FFD8
thumb_func_start ov83_02240080
ov83_02240080: ; 0x02240080
push {r3, r4, r5, r6, r7, lr}
add r7, r1, #0
add r5, r0, #0
add r0, r7, #0
mov r1, #0
bl FillWindowPixelBuffer
ldrb r0, [r5, #9]
mov r1, #1
bl ov80_02237B24
add r6, r0, #0
mov r4, #0
cmp r6, #0
ble _022400B2
_0224009E:
lsl r2, r4, #0x18
add r0, r5, #0
add r1, r7, #0
lsr r2, r2, #0x18
mov r3, #0
bl ov83_022400BC
add r4, r4, #1
cmp r4, r6
blt _0224009E
_022400B2:
add r0, r7, #0
bl ScheduleWindowCopyToVram
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov83_02240080
thumb_func_start ov83_022400BC
ov83_022400BC: ; 0x022400BC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
ldr r0, _02240168 ; =0x000007A4
add r4, r2, #0
add r6, r1, #0
ldr r0, [r5, r0]
add r1, r4, #0
add r7, r3, #0
bl GetPartyMonByIndex
str r0, [sp, #0xc]
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #0
bne _022400E2
mov r0, #0x24
b _022400E4
_022400E2:
mov r0, #4
_022400E4:
cmp r7, #0
bne _0224010A
lsl r1, r4, #6
add r2, r0, r1
lsl r2, r2, #0x10
lsr r7, r2, #0x10
add r2, r0, #0
add r2, #0x18
add r2, r2, r1
add r0, #0x20
lsl r2, r2, #0x10
add r0, r0, r1
lsr r2, r2, #0x10
lsl r0, r0, #0x10
str r2, [sp, #0x10]
lsr r0, r0, #0x10
mov r4, #1
str r0, [sp, #0x14]
b _02240116
_0224010A:
mov r0, #0x1c
str r0, [sp, #0x10]
mov r0, #0x24
mov r7, #4
mov r4, #0
str r0, [sp, #0x14]
_02240116:
ldr r0, [sp, #0xc]
mov r1, #0xa3
mov r2, #0
bl GetMonData
str r6, [sp]
add r1, r0, #0
str r7, [sp, #4]
ldr r0, _0224016C ; =0x00000504
str r4, [sp, #8]
ldr r0, [r5, r0]
mov r2, #3
mov r3, #1
bl PrintUIntOnWindow
str r4, [sp]
ldr r0, _0224016C ; =0x00000504
ldr r3, [sp, #0x10]
ldr r0, [r5, r0]
mov r1, #0
add r2, r6, #0
bl sub_0200CDAC
ldr r0, [sp, #0xc]
mov r1, #0xa4
mov r2, #0
bl GetMonData
str r6, [sp]
add r1, r0, #0
ldr r0, [sp, #0x14]
mov r2, #3
str r0, [sp, #4]
ldr r0, _0224016C ; =0x00000504
str r4, [sp, #8]
ldr r0, [r5, r0]
mov r3, #0
bl PrintUIntOnWindow
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02240168: .word 0x000007A4
_0224016C: .word 0x00000504
thumb_func_end ov83_022400BC
thumb_func_start ov83_02240170
ov83_02240170: ; 0x02240170
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldrb r0, [r5, #9]
add r6, r1, #0
mov r1, #1
bl ov80_02237B24
add r7, r0, #0
mov r4, #0
cmp r7, #0
ble _0224019A
_02240186:
lsl r2, r4, #0x18
add r0, r5, #0
add r1, r6, #0
lsr r2, r2, #0x18
mov r3, #0
bl ov83_022401A4
add r4, r4, #1
cmp r4, r7
blt _02240186
_0224019A:
add r0, r6, #0
bl ScheduleWindowCopyToVram
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov83_02240170
thumb_func_start ov83_022401A4
ov83_022401A4: ; 0x022401A4
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r5, r0, #0
str r3, [sp, #0x14]
ldrb r0, [r5, #9]
str r1, [sp, #0x10]
add r6, r2, #0
bl ov80_02237D8C
cmp r0, #0
bne _022401C0
mov r4, #0x28
mov r7, #0x50
b _022401C4
_022401C0:
mov r4, #8
mov r7, #0x30
_022401C4:
ldr r0, _02240230 ; =0x000007A4
add r1, r6, #0
ldr r0, [r5, r0]
bl GetPartyMonByIndex
str r0, [sp, #0x18]
ldr r0, [sp, #0x14]
cmp r0, #0
bne _022401E0
lsl r0, r6, #6
add r6, r4, r0
mov r4, #1
add r7, r7, r0
b _022401E6
_022401E0:
mov r6, #4
mov r4, #0
mov r7, #0x30
_022401E6:
ldr r0, [sp, #0x18]
mov r1, #0xa1
mov r2, #0
bl GetMonData
add r2, r0, #0
mov r0, #0
str r0, [sp]
ldr r0, [sp, #0x10]
mov r1, #1
str r0, [sp, #4]
str r6, [sp, #8]
ldr r0, _02240234 ; =0x00000504
str r4, [sp, #0xc]
ldr r0, [r5, r0]
mov r3, #3
bl sub_0200CE7C
ldr r0, [sp, #0x18]
mov r1, #0x6f
mov r2, #0
bl GetMonData
mov r1, #0
lsl r0, r0, #0x18
str r1, [sp]
lsr r0, r0, #0x18
str r0, [sp, #4]
ldr r1, [sp, #0x10]
add r0, r5, #0
add r2, r7, #0
add r3, r4, #0
bl ov83_02240D64
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
nop
_02240230: .word 0x000007A4
_02240234: .word 0x00000504
thumb_func_end ov83_022401A4
thumb_func_start ov83_02240238
ov83_02240238: ; 0x02240238
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
ldrb r0, [r5, #9]
add r6, r1, #0
add r4, r2, #0
add r7, r3, #0
bl ov80_02237D8C
cmp r0, #0
bne _02240252
mov r1, #0x24
b _02240254
_02240252:
mov r1, #4
_02240254:
lsl r0, r4, #6
add r4, r1, r0
mov r0, #0x18
str r0, [sp]
mov r0, #9
mov r1, #0
lsl r2, r4, #0x10
str r0, [sp, #4]
add r0, r6, #0
lsr r2, r2, #0x10
add r3, r1, #0
bl FillWindowPixelRect
str r6, [sp]
str r4, [sp, #4]
mov r3, #1
ldr r0, _0224028C ; =0x00000504
str r3, [sp, #8]
ldr r0, [r5, r0]
add r1, r7, #0
mov r2, #3
bl PrintUIntOnWindow
add r0, r6, #0
bl ScheduleWindowCopyToVram
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0224028C: .word 0x00000504
thumb_func_end ov83_02240238
thumb_func_start ov83_02240290
ov83_02240290: ; 0x02240290
push {r4, lr}
sub sp, #0x18
mov r1, #5
str r1, [sp]
mov r1, #0xff
str r1, [sp, #4]
mov r1, #1
str r1, [sp, #8]
mov r1, #2
add r4, r0, #0
str r1, [sp, #0xc]
mov r3, #0
str r3, [sp, #0x10]
add r1, r4, #0
str r3, [sp, #0x14]
add r1, #0x60
mov r2, #6
bl ov83_0223FC48
strb r0, [r4, #0xa]
ldr r0, _022402F0 ; =0x00000508
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xc0
bl ov83_02247944
mov r3, #1
add r1, r4, #0
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
str r3, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0xf
str r0, [sp, #0x10]
add r0, r4, #0
add r1, #0xc0
mov r2, #5
str r3, [sp, #0x14]
bl ov83_0223FC48
strb r0, [r4, #0xa]
add sp, #0x18
pop {r4, pc}
.balign 4, 0
_022402F0: .word 0x00000508
thumb_func_end ov83_02240290
thumb_func_start ov83_022402F4
ov83_022402F4: ; 0x022402F4
ldr r3, _022402FC ; =ov83_02241354
add r0, #0xc0
bx r3
nop
_022402FC: .word ov83_02241354
thumb_func_end ov83_022402F4
thumb_func_start ov83_02240300
ov83_02240300: ; 0x02240300
push {r4, lr}
add r4, r0, #0
ldr r0, _0224032C ; =0x00000508
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xb0
bl ov83_02247944
mov r1, #1
ldr r0, _02240330 ; =0x00000848
mvn r1, r1
str r1, [r4, r0]
add r0, r4, #0
bl ov83_02242BAC
add r0, r4, #0
bl ov83_02242DAC
pop {r4, pc}
.balign 4, 0
_0224032C: .word 0x00000508
_02240330: .word 0x00000848
thumb_func_end ov83_02240300
thumb_func_start ov83_02240334
ov83_02240334: ; 0x02240334
push {r4, lr}
add r4, r0, #0
add r0, #0xb0
bl ov83_02241354
add r0, r4, #0
bl ov83_02242D5C
pop {r4, pc}
.balign 4, 0
thumb_func_end ov83_02240334
thumb_func_start ov83_02240348
ov83_02240348: ; 0x02240348
push {r4, lr}
add r4, r0, #0
ldr r0, _02240374 ; =0x00000508
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xb0
bl ov83_02247944
mov r1, #1
ldr r0, _02240378 ; =0x00000848
mvn r1, r1
str r1, [r4, r0]
add r0, r4, #0
bl ov83_02242BF0
add r0, r4, #0
bl ov83_02242DFC
pop {r4, pc}
.balign 4, 0
_02240374: .word 0x00000508
_02240378: .word 0x00000848
thumb_func_end ov83_02240348
thumb_func_start ov83_0224037C
ov83_0224037C: ; 0x0224037C
ldr r3, _02240380 ; =ov83_02242D5C
bx r3
.balign 4, 0
_02240380: .word ov83_02242D5C
thumb_func_end ov83_0224037C
thumb_func_start ov83_02240384
ov83_02240384: ; 0x02240384
push {r4, lr}
add r4, r0, #0
ldr r0, _022403B0 ; =0x00000508
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xb0
bl ov83_02247944
mov r1, #1
ldr r0, _022403B4 ; =0x00000848
mvn r1, r1
str r1, [r4, r0]
add r0, r4, #0
bl ov83_02242CAC
add r0, r4, #0
bl ov83_02242E88
pop {r4, pc}
.balign 4, 0
_022403B0: .word 0x00000508
_022403B4: .word 0x00000848
thumb_func_end ov83_02240384
thumb_func_start ov83_022403B8
ov83_022403B8: ; 0x022403B8
ldr r3, _022403BC ; =ov83_02242D5C
bx r3
.balign 4, 0
_022403BC: .word ov83_02242D5C
thumb_func_end ov83_022403B8
thumb_func_start ov83_022403C0
ov83_022403C0: ; 0x022403C0
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
ldrb r1, [r5, #0xe]
mov r0, #8
orr r0, r1
strb r0, [r5, #0xe]
add r0, r5, #0
add r0, #0xb0
bl ov83_02241354
add r0, r5, #0
add r0, #0xb0
bl ClearWindowTilemapAndScheduleTransfer
add r0, r5, #0
add r0, #0xe0
bl ClearWindowTilemapAndScheduleTransfer
add r0, r5, #0
bl ov83_0223FB6C
ldr r2, _02240428 ; =0x00000868
mov r0, #2
mov r1, #1
add r2, r5, r2
bl ov83_022477EC
ldr r2, _02240428 ; =0x00000868
mov r0, #6
mov r1, #1
add r2, r5, r2
bl ov83_022477EC
ldr r2, _02240428 ; =0x00000868
mov r0, #7
mov r1, #1
add r2, r5, r2
bl ov83_022477EC
mov r0, #0x86
mov r1, #0
lsl r0, r0, #4
strb r1, [r5, r0]
add r0, r0, #2
strh r1, [r5, r0]
add r0, r5, #0
add r1, r4, #0
bl ov83_02240B54
pop {r3, r4, r5, pc}
nop
_02240428: .word 0x00000868
thumb_func_end ov83_022403C0
thumb_func_start ov83_0224042C
ov83_0224042C: ; 0x0224042C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldrb r0, [r5, #0xe]
lsl r0, r0, #0x1c
lsr r0, r0, #0x1f
cmp r0, #1
bne _022404F8
add r6, r5, #0
mov r4, #0
add r6, #0x50
_02240440:
add r0, r4, #0
add r0, #0x30
lsl r0, r0, #4
add r0, r6, r0
bl ClearWindowTilemapAndScheduleTransfer
add r4, r4, #1
cmp r4, #6
blo _02240440
mov r0, #0x3b
lsl r0, r0, #4
add r0, r5, r0
bl ClearWindowTilemapAndScheduleTransfer
mov r0, #0xf
lsl r0, r0, #6
add r0, r5, r0
bl ClearWindowTilemapAndScheduleTransfer
mov r0, #0x3f
lsl r0, r0, #4
add r0, r5, r0
bl ClearWindowTilemapAndScheduleTransfer
mov r0, #1
lsl r0, r0, #0xa
add r0, r5, r0
bl ClearWindowTilemapAndScheduleTransfer
mov r0, #0x41
lsl r0, r0, #4
add r0, r5, r0
bl ClearWindowTilemapAndScheduleTransfer
ldr r2, _022404FC ; =0x00000868
mov r0, #2
mov r1, #0
add r2, r5, r2
bl ov83_022477EC
ldr r2, _022404FC ; =0x00000868
mov r0, #6
mov r1, #0
add r2, r5, r2
bl ov83_022477EC
ldr r2, _022404FC ; =0x00000868
mov r0, #7
mov r1, #0
add r2, r5, r2
bl ov83_022477EC
ldr r0, _02240500 ; =0x0000085C
ldr r0, [r5, r0]
bl ov83_02247A18
ldr r0, _02240504 ; =0x000004DC
ldr r0, [r5, r0]
bl ListMenuItems_Delete
ldr r0, _02240508 ; =0x0000077C
mov r1, #0
ldr r0, [r5, r0]
bl ov83_0224755C
ldr r0, _0224050C ; =0x0000079C
mov r1, #0
ldr r0, [r5, r0]
bl ov83_0224755C
ldr r7, _02240510 ; =0x00000784
mov r6, #0
add r4, r5, #0
_022404D2:
ldr r0, [r4, r7]
mov r1, #0
bl ov83_0224755C
add r6, r6, #1
add r4, r4, #4
cmp r6, #6
blo _022404D2
mov r0, #0x1e
lsl r0, r0, #6
ldr r0, [r5, r0]
mov r1, #0x30
mov r2, #0x28
bl ov83_0224759C
ldrb r1, [r5, #0xe]
mov r0, #8
bic r1, r0
strb r1, [r5, #0xe]
_022404F8:
pop {r3, r4, r5, r6, r7, pc}
nop
_022404FC: .word 0x00000868
_02240500: .word 0x0000085C
_02240504: .word 0x000004DC
_02240508: .word 0x0000077C
_0224050C: .word 0x0000079C
_02240510: .word 0x00000784
thumb_func_end ov83_0224042C
thumb_func_start ov83_02240514
ov83_02240514: ; 0x02240514
add r1, r0, #0
ldr r0, _02240520 ; =0x0000084C
ldr r3, _02240524 ; =ov83_02247864
add r0, r1, r0
ldr r1, [r1, #0x4c]
bx r3
.balign 4, 0
_02240520: .word 0x0000084C
_02240524: .word ov83_02247864
thumb_func_end ov83_02240514
thumb_func_start ov83_02240528
ov83_02240528: ; 0x02240528
push {r3, r4, r5, r6, lr}
sub sp, #0x14
add r5, r0, #0
mov r0, #0x3f
lsl r0, r0, #4
add r4, r1, #0
add r0, r5, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #1
lsl r0, r0, #0xa
add r0, r5, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x41
lsl r0, r0, #4
add r0, r5, r0
mov r1, #0
bl FillWindowPixelBuffer
cmp r4, #6
ldr r0, _02240658 ; =0x00010200
bne _02240574
mov r3, #0
str r3, [sp]
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x3f
lsl r0, r0, #4
ldr r1, [r5, #0x20]
add r0, r5, r0
mov r2, #0x6a
bl ov83_022479E4
b _0224058C
_02240574:
mov r3, #0
str r3, [sp]
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x3f
lsl r0, r0, #4
ldr r1, [r5, #0x20]
add r0, r5, r0
mov r2, #0x6b
bl ov83_022479E4
_0224058C:
ldr r0, _0224065C ; =0x0000050C
ldr r0, [r5, r0]
bl Save_PlayerData_GetProfileAddr
add r6, r0, #0
mov r0, #8
mov r1, #0x6b
bl String_New
add r4, r0, #0
add r0, r6, #0
bl PlayerProfile_GetNamePtr
add r1, r0, #0
add r0, r4, #0
bl CopyU16ArrayToString
add r0, r6, #0
bl PlayerProfile_GetTrainerGender
cmp r0, #0
bne _022405BC
ldr r0, _02240660 ; =0x00070800
b _022405C0
_022405BC:
mov r0, #0xc1
lsl r0, r0, #0xa
_022405C0:
mov r2, #0
str r2, [sp]
str r0, [sp, #4]
mov r0, #1
lsl r0, r0, #0xa
add r0, r5, r0
add r1, r4, #0
add r3, r2, #0
str r2, [sp, #8]
bl ov83_02247998
add r0, r4, #0
bl String_Delete
ldrb r0, [r5, #9]
bl sub_0205C1F0
add r4, r0, #0
ldrb r0, [r5, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r5, #4]
add r1, r4, #0
bl sub_020310BC
add r2, r0, #0
mov r0, #1
str r0, [sp]
add r0, r5, #0
mov r1, #0
mov r3, #4
bl ov83_02240C48
mov r0, #0x41
lsl r0, r0, #4
add r0, r5, r0
bl GetWindowWidth
lsl r0, r0, #3
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02240658 ; =0x00010200
mov r1, #0x41
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
lsl r1, r1, #4
ldr r2, [r5, #0x20]
add r0, r5, #0
add r1, r5, r1
mov r3, #2
bl ov83_02241DD8
mov r0, #0x3f
lsl r0, r0, #4
add r0, r5, r0
bl ScheduleWindowCopyToVram
mov r0, #1
lsl r0, r0, #0xa
add r0, r5, r0
bl ScheduleWindowCopyToVram
mov r0, #0x41
lsl r0, r0, #4
add r0, r5, r0
bl ScheduleWindowCopyToVram
add sp, #0x14
pop {r3, r4, r5, r6, pc}
nop
_02240658: .word 0x00010200
_0224065C: .word 0x0000050C
_02240660: .word 0x00070800
thumb_func_end ov83_02240528
thumb_func_start ov83_02240664
ov83_02240664: ; 0x02240664
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r5, r0, #0
ldr r0, _02240738 ; =0x00000862
add r4, r5, #0
ldrsh r1, [r5, r0]
mov r0, #6
mov r6, #0
mul r0, r1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x18]
lsl r0, r0, #3
str r0, [sp, #0x14]
add r4, #0x50
_02240682:
add r0, r6, #0
add r0, #0x30
lsl r0, r0, #4
str r0, [sp, #0x1c]
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
ldr r0, [sp, #0x18]
add r1, r0, r6
ldr r0, _0224073C ; =0x00000861
ldrb r0, [r5, r0]
cmp r1, r0
bge _02240722
add r0, r6, #0
add r0, #0x30
lsl r0, r0, #4
str r0, [sp, #0x20]
mov r0, #4
str r0, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _02240740 ; =0x00010200
ldr r2, _02240744 ; =0x000004DC
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r3, [r5, r2]
ldr r2, [sp, #0x14]
ldr r0, [sp, #0x20]
add r2, r2, r3
lsl r7, r6, #3
ldr r2, [r7, r2]
add r0, r4, r0
mov r1, #0
mov r3, #4
bl AddTextPrinterParameterized2
ldr r1, _02240744 ; =0x000004DC
add r0, r5, #0
ldr r2, [r5, r1]
ldr r1, [sp, #0x14]
add r1, r1, r2
add r1, r7, r1
ldr r1, [r1, #4]
ldrb r2, [r5, #0x13]
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl ov83_02240EC4
add r2, r0, #0
mov r0, #0
str r0, [sp]
add r0, r5, #0
mov r1, #0
mov r3, #2
bl ov83_02240C48
ldr r0, [sp, #0x20]
add r0, r4, r0
bl GetWindowWidth
lsl r0, r0, #3
sub r0, r0, #4
str r0, [sp]
mov r0, #0x14
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
ldr r0, _02240740 ; =0x00010200
ldr r1, [sp, #0x20]
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
ldr r2, [r5, #0x20]
add r0, r5, #0
add r1, r4, r1
mov r3, #0x68
bl ov83_02241DD8
_02240722:
ldr r0, [sp, #0x1c]
add r0, r4, r0
bl ScheduleWindowCopyToVram
add r0, r6, #1
lsl r0, r0, #0x10
lsr r6, r0, #0x10
cmp r6, #6
blo _02240682
add sp, #0x24
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02240738: .word 0x00000862
_0224073C: .word 0x00000861
_02240740: .word 0x00010200
_02240744: .word 0x000004DC
thumb_func_end ov83_02240664
thumb_func_start ov83_02240748
ov83_02240748: ; 0x02240748
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
ldr r0, _022407E8 ; =0x00000862
mov r4, #0
ldrsh r1, [r5, r0]
mov r0, #6
str r4, [sp, #4]
mul r0, r1
lsl r0, r0, #0x10
lsr r7, r0, #0x10
lsl r0, r7, #3
add r6, r5, #0
str r0, [sp]
_02240764:
ldr r0, _022407EC ; =0x00000861
ldrb r0, [r5, r0]
cmp r7, r0
bhs _022407C8
ldr r1, _022407F0 ; =0x000004DC
add r0, r5, #0
ldr r2, [r5, r1]
ldr r1, [sp]
add r2, r1, r2
ldr r1, [sp, #4]
add r1, r1, r2
ldr r1, [r1, #4]
ldrb r2, [r5, #0x13]
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl ov83_02240F48
str r0, [sp, #8]
ldr r0, _022407F4 ; =0x00000518
ldr r2, [sp, #8]
add r0, r5, r0
add r1, r4, #4
bl ov83_02247264
ldr r0, _022407F4 ; =0x00000518
ldr r2, [sp, #8]
add r0, r5, r0
add r1, r4, #4
bl ov83_022472A0
add r1, sp, #0xc
add r0, r4, #0
add r1, #2
add r2, sp, #0xc
bl ov83_02242894
ldr r0, _022407F8 ; =0x00000784
add r1, sp, #0xc
add r2, sp, #0xc
ldrh r1, [r1, #2]
ldrh r2, [r2]
ldr r0, [r6, r0]
bl ov83_02247568
ldr r0, _022407F8 ; =0x00000784
mov r1, #1
ldr r0, [r6, r0]
bl ov83_0224755C
b _022407D2
_022407C8:
ldr r0, _022407F8 ; =0x00000784
mov r1, #0
ldr r0, [r6, r0]
bl ov83_0224755C
_022407D2:
ldr r0, [sp, #4]
add r4, r4, #1
add r0, #8
add r7, r7, #1
add r6, r6, #4
str r0, [sp, #4]
cmp r4, #6
blo _02240764
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_022407E8: .word 0x00000862
_022407EC: .word 0x00000861
_022407F0: .word 0x000004DC
_022407F4: .word 0x00000518
_022407F8: .word 0x00000784
thumb_func_end ov83_02240748
thumb_func_start ov83_022407FC
ov83_022407FC: ; 0x022407FC
push {r3, r4, lr}
sub sp, #0x14
add r4, r0, #0
mov r0, #0x3d
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r1, #0
ldr r2, _02240880 ; =0x00000862
str r1, [sp]
ldrsh r2, [r4, r2]
add r0, r4, #0
mov r3, #1
add r2, r2, #1
bl ov83_02240C48
ldr r0, _02240884 ; =0x00000861
mov r1, #6
ldrb r0, [r4, r0]
sub r0, r0, #1
bl _s32_div_f
add r2, r0, #0
mov r0, #0
mov r1, #1
str r0, [sp]
add r0, r4, #0
add r2, r2, #1
add r3, r1, #0
bl ov83_02240C48
mov r0, #0x3d
lsl r0, r0, #4
add r0, r4, r0
bl GetWindowWidth
lsl r1, r0, #3
lsr r0, r1, #0x1f
add r0, r1, r0
asr r0, r0, #1
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02240888 ; =0x00010200
mov r1, #0x3d
str r0, [sp, #0xc]
mov r0, #2
str r0, [sp, #0x10]
lsl r1, r1, #4
ldr r2, [r4, #0x20]
add r0, r4, #0
add r1, r4, r1
mov r3, #0x67
bl ov83_02241DD8
mov r0, #0x3d
lsl r0, r0, #4
add r0, r4, r0
bl ScheduleWindowCopyToVram
add sp, #0x14
pop {r3, r4, pc}
nop
_02240880: .word 0x00000862
_02240884: .word 0x00000861
_02240888: .word 0x00010200
thumb_func_end ov83_022407FC
thumb_func_start ov83_0224088C
ov83_0224088C: ; 0x0224088C
push {r3, r4, r5, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #0x3e
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x3e
lsl r0, r0, #4
add r0, r4, r0
bl GetWindowWidth
add r3, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _022408DC ; =0x00010200
lsl r5, r3, #3
str r0, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0x3e
lsr r3, r5, #0x1f
lsl r0, r0, #4
add r3, r5, r3
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x69
asr r3, r3, #1
bl ov83_022479E4
mov r0, #0x3e
lsl r0, r0, #4
add r0, r4, r0
bl ScheduleWindowCopyToVram
add sp, #0x10
pop {r3, r4, r5, pc}
.balign 4, 0
_022408DC: .word 0x00010200
thumb_func_end ov83_0224088C
thumb_func_start ov83_022408E0
ov83_022408E0: ; 0x022408E0
push {r4, r5, r6, lr}
sub sp, #0x10
add r5, r0, #0
mov r0, #0x42
lsl r0, r0, #4
add r4, r1, #0
add r0, r5, r0
mov r1, #0
bl FillWindowPixelBuffer
ldr r1, _02240970 ; =0x00000862
mov r0, #6
ldrsh r2, [r5, r1]
sub r1, #0xc6
mul r0, r2
add r0, r4, r0
lsl r0, r0, #0x10
lsr r6, r0, #0x10
ldr r0, [r5, r1]
mov r1, #0
bl ov83_0224755C
cmp r4, #6
bhs _02240960
ldr r0, _02240974 ; =0x00000861
ldrb r0, [r5, r0]
cmp r6, r0
bge _02240960
ldrb r2, [r5, #0x13]
add r0, r5, #0
add r1, r6, #0
bl ov83_02240F48
add r4, r0, #0
mov r3, #0
str r3, [sp]
ldr r0, _02240978 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x42
lsl r0, r0, #4
ldr r1, [r5, #0x1c]
add r0, r5, r0
add r2, r4, #0
bl ov83_022479E4
ldr r0, _0224097C ; =0x00000518
mov r1, #3
add r0, r5, r0
add r2, r4, #0
bl ov83_02247264
ldr r0, _0224097C ; =0x00000518
mov r1, #3
add r0, r5, r0
add r2, r4, #0
bl ov83_022472A0
ldr r0, _02240980 ; =0x0000079C
mov r1, #1
ldr r0, [r5, r0]
bl ov83_0224755C
_02240960:
mov r0, #0x42
lsl r0, r0, #4
add r0, r5, r0
bl ScheduleWindowCopyToVram
add sp, #0x10
pop {r4, r5, r6, pc}
nop
_02240970: .word 0x00000862
_02240974: .word 0x00000861
_02240978: .word 0x00010200
_0224097C: .word 0x00000518
_02240980: .word 0x0000079C
thumb_func_end ov83_022408E0
thumb_func_start ov83_02240984
ov83_02240984: ; 0x02240984
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
mov r0, #0x43
lsl r0, r0, #4
mov r6, #0x3e
add r4, r5, r0
mov r7, #0
_02240994:
add r0, r4, #0
add r1, r7, #0
bl FillWindowPixelBuffer
add r6, r6, #1
add r4, #0x10
cmp r6, #0x45
bls _02240994
mov r3, #0
str r3, [sp]
ldr r0, _02240B34 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x45
lsl r0, r0, #4
ldr r1, [r5, #0x20]
add r0, r5, r0
mov r2, #0x58
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _02240B34 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x49
lsl r0, r0, #4
ldr r1, [r5, #0x20]
add r0, r5, r0
mov r2, #0x46
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _02240B34 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x47
lsl r0, r0, #4
ldr r1, [r5, #0x20]
add r0, r5, r0
mov r2, #0x59
bl ov83_022479E4
mov r1, #0
ldr r2, _02240B38 ; =0x00000818
str r1, [sp]
ldrh r2, [r5, r2]
add r0, r5, #0
mov r3, #3
bl ov83_02240C48
mov r0, #0
str r0, [sp]
ldr r2, _02240B3C ; =0x0000081A
add r0, r5, #0
ldrh r2, [r5, r2]
mov r1, #1
mov r3, #3
bl ov83_02240C48
mov r0, #0x12
lsl r0, r0, #6
add r0, r5, r0
bl GetWindowWidth
lsl r1, r0, #3
lsr r0, r1, #0x1f
add r0, r1, r0
asr r0, r0, #1
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02240B34 ; =0x00010200
mov r1, #0x12
str r0, [sp, #0xc]
mov r0, #2
str r0, [sp, #0x10]
lsl r1, r1, #6
ldr r2, [r5, #0x20]
add r0, r5, #0
add r1, r5, r1
mov r3, #0x5f
bl ov83_02241DD8
ldr r0, _02240B40 ; =0x00000804
ldr r0, [r5, r0]
bl Mon_GetBoxMon
add r2, r0, #0
ldr r0, [r5, #0x24]
mov r1, #0
bl BufferBoxMonNickname
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02240B34 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
mov r1, #0x43
lsl r1, r1, #4
ldr r2, [r5, #0x20]
add r0, r5, #0
add r1, r5, r1
mov r3, #0x5b
bl ov83_02241DD8
ldr r0, _02240B44 ; =0x0000080E
ldrb r0, [r5, r0]
lsl r1, r0, #0x18
lsr r1, r1, #0x1f
bne _02240AC2
lsl r0, r0, #0x19
lsr r0, r0, #0x19
bne _02240AA2
mov r3, #0
str r3, [sp]
ldr r0, _02240B48 ; =0x00050600
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x11
lsl r0, r0, #6
ldr r1, [r5, #0x20]
add r0, r5, r0
mov r2, #0x56
bl ov83_022479E4
b _02240AC2
_02240AA2:
cmp r0, #1
bne _02240AC2
mov r3, #0
str r3, [sp]
mov r0, #0xc1
str r3, [sp, #4]
lsl r0, r0, #0xa
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x11
lsl r0, r0, #6
ldr r1, [r5, #0x20]
add r0, r5, r0
mov r2, #0x57
bl ov83_022479E4
_02240AC2:
mov r1, #0
ldr r2, _02240B4C ; =0x0000080F
str r1, [sp]
ldrb r2, [r5, r2]
add r0, r5, #0
mov r3, #3
bl ov83_02240C48
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02240B34 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
mov r1, #0x46
lsl r1, r1, #4
ldr r2, [r5, #0x20]
add r0, r5, #0
add r1, r5, r1
mov r3, #0x5e
bl ov83_02241DD8
ldr r2, _02240B50 ; =0x00000812
ldr r0, [r5, #0x24]
ldrh r2, [r5, r2]
mov r1, #0
bl BufferItemName
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02240B34 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
mov r1, #0x4a
lsl r1, r1, #4
ldr r2, [r5, #0x20]
add r0, r5, #0
add r1, r5, r1
mov r3, #0x47
bl ov83_02241DD8
mov r0, #0x43
lsl r0, r0, #4
mov r4, #0x3e
add r5, r5, r0
_02240B22:
add r0, r5, #0
bl ScheduleWindowCopyToVram
add r4, r4, #1
add r5, #0x10
cmp r4, #0x45
bls _02240B22
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02240B34: .word 0x00010200
_02240B38: .word 0x00000818
_02240B3C: .word 0x0000081A
_02240B40: .word 0x00000804
_02240B44: .word 0x0000080E
_02240B48: .word 0x00050600
_02240B4C: .word 0x0000080F
_02240B50: .word 0x00000812
thumb_func_end ov83_02240984
thumb_func_start ov83_02240B54
ov83_02240B54: ; 0x02240B54
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
str r1, [sp]
mov r0, #1
mov r1, #0x1b
mov r2, #0xde
mov r3, #0x6b
bl NewMsgDataFromNarc
add r7, r0, #0
ldr r0, _02240C28 ; =0x0000050C
ldrb r1, [r5, #9]
ldr r0, [r5, r0]
mov r2, #1
bl ov83_0224777C
ldr r1, [sp]
cmp r1, #6
bne _02240B8A
sub r0, r0, #1
lsl r1, r0, #1
ldr r0, _02240C2C ; =ov83_02247D12
ldr r6, _02240C30 ; =ov83_02247F88
ldrh r1, [r0, r1]
ldr r0, _02240C34 ; =0x00000861
strb r1, [r5, r0]
b _02240B98
_02240B8A:
sub r0, r0, #1
lsl r1, r0, #1
ldr r0, _02240C38 ; =ov83_02247D24
ldr r6, _02240C3C ; =ov83_02247EE0
ldrh r1, [r0, r1]
ldr r0, _02240C34 ; =0x00000861
strb r1, [r5, r0]
_02240B98:
ldr r0, _02240C34 ; =0x00000861
mov r1, #0x6b
ldrb r0, [r5, r0]
bl ListMenuItems_New
ldr r1, _02240C40 ; =0x000004DC
mov r4, #0
str r0, [r5, r1]
ldr r0, _02240C34 ; =0x00000861
ldrb r0, [r5, r0]
cmp r0, #0
ble _02240BCE
_02240BB0:
ldr r0, _02240C40 ; =0x000004DC
lsl r2, r4, #1
ldrh r2, [r6, r2]
ldr r0, [r5, r0]
add r1, r7, #0
add r3, r4, #0
bl ListMenuItems_AppendFromMsgData
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
ldr r0, _02240C34 ; =0x00000861
ldrb r0, [r5, r0]
cmp r4, r0
blt _02240BB0
_02240BCE:
add r0, r7, #0
bl DestroyMsgData
add r0, r5, #0
bl ov83_02247B7C
ldr r1, _02240C44 ; =0x0000085C
str r0, [r5, r1]
sub r1, #0xe0
ldr r0, [r5, r1]
mov r1, #1
bl ov83_0224755C
ldr r1, [sp]
add r0, r5, #0
bl ov83_02240528
add r0, r5, #0
bl ov83_02240664
add r0, r5, #0
bl ov83_02240748
add r0, r5, #0
bl ov83_022407FC
add r0, r5, #0
bl ov83_0224088C
add r0, r5, #0
mov r1, #0
bl ov83_022408E0
add r0, r5, #0
bl ov83_02240984
mov r0, #0x1e
lsl r0, r0, #6
ldr r0, [r5, r0]
mov r1, #0x30
mov r2, #0x48
bl ov83_0224759C
pop {r3, r4, r5, r6, r7, pc}
nop
_02240C28: .word 0x0000050C
_02240C2C: .word ov83_02247D12
_02240C30: .word ov83_02247F88
_02240C34: .word 0x00000861
_02240C38: .word ov83_02247D24
_02240C3C: .word ov83_02247EE0
_02240C40: .word 0x000004DC
_02240C44: .word 0x0000085C
thumb_func_end ov83_02240B54
thumb_func_start ov83_02240C48
ov83_02240C48: ; 0x02240C48
push {r4, lr}
sub sp, #8
ldr r4, [sp, #0x10]
str r4, [sp]
mov r4, #1
str r4, [sp, #4]
ldr r0, [r0, #0x24]
bl BufferIntegerAsString
add sp, #8
pop {r4, pc}
.balign 4, 0
thumb_func_end ov83_02240C48
thumb_func_start ov83_02240C60
ov83_02240C60: ; 0x02240C60
ldr r3, _02240C68 ; =BufferBoxMonNickname
ldr r0, [r0, #0x24]
bx r3
nop
_02240C68: .word BufferBoxMonNickname
thumb_func_end ov83_02240C60
thumb_func_start ov83_02240C6C
ov83_02240C6C: ; 0x02240C6C
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _02240C88 ; =0x0000050C
add r4, r1, #0
ldr r0, [r5, r0]
bl Save_PlayerData_GetProfileAddr
add r2, r0, #0
ldr r0, [r5, #0x24]
add r1, r4, #0
bl BufferPlayersName
pop {r3, r4, r5, pc}
nop
_02240C88: .word 0x0000050C
thumb_func_end ov83_02240C6C
thumb_func_start ov83_02240C8C
ov83_02240C8C: ; 0x02240C8C
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r1, #0
ldr r1, _02240CF4 ; =0x0000050C
str r2, [sp, #0x10]
ldr r0, [r0, r1]
add r6, r3, #0
bl Save_PlayerData_GetProfileAddr
add r7, r0, #0
mov r0, #8
mov r1, #0x6b
bl String_New
add r4, r0, #0
add r0, r7, #0
bl PlayerProfile_GetNamePtr
add r1, r0, #0
add r0, r4, #0
bl CopyU16ArrayToString
add r0, r7, #0
bl PlayerProfile_GetTrainerGender
cmp r0, #0
bne _02240CC6
ldr r1, _02240CF8 ; =0x00070800
b _02240CCA
_02240CC6:
mov r1, #0xc1
lsl r1, r1, #0xa
_02240CCA:
str r6, [sp]
mov r0, #0xff
str r0, [sp, #4]
str r1, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
add r1, sp, #0x18
ldrb r1, [r1, #0x10]
ldr r3, [sp, #0x10]
add r0, r5, #0
add r2, r4, #0
bl AddTextPrinterParameterized2
add r0, r5, #0
bl ScheduleWindowCopyToVram
add r0, r4, #0
bl String_Delete
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02240CF4: .word 0x0000050C
_02240CF8: .word 0x00070800
thumb_func_end ov83_02240C8C
thumb_func_start ov83_02240CFC
ov83_02240CFC: ; 0x02240CFC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r0, #0
add r7, r1, #0
str r2, [sp, #0x18]
add r6, r3, #0
bl sub_0203769C
mov r1, #1
eor r0, r1
bl sub_02034818
str r0, [sp, #0x1c]
bl PlayerProfile_GetTrainerGender
cmp r0, #0
bne _02240D22
ldr r4, _02240D60 ; =0x00070800
b _02240D26
_02240D22:
mov r4, #0xc1
lsl r4, r4, #0xa
_02240D26:
ldr r0, [r5, #0x24]
ldr r2, [sp, #0x1c]
mov r1, #0
bl BufferPlayersName
str r6, [sp]
mov r0, #0xff
str r0, [sp, #4]
lsr r0, r4, #0x10
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
lsr r0, r4, #8
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0xc]
lsl r0, r4, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x10]
mov r0, #0
str r0, [sp, #0x14]
ldr r3, [sp, #0x18]
add r0, r5, #0
add r1, r7, #0
mov r2, #1
bl ov83_0223FCB4
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02240D60: .word 0x00070800
thumb_func_end ov83_02240CFC
thumb_func_start ov83_02240D64
ov83_02240D64: ; 0x02240D64
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r7, r2, #0
add r2, r3, #0
add r3, sp, #0x20
ldrb r3, [r3, #0x14]
cmp r3, #0
bne _02240D7E
mov r3, #0x56
mov r4, #7
mov r5, #8
mov r6, #0
b _02240D8A
_02240D7E:
cmp r3, #1
bne _02240DA4
mov r3, #0x57
mov r4, #3
mov r5, #4
mov r6, #0
_02240D8A:
str r2, [sp]
mov r2, #0xff
str r2, [sp, #4]
str r4, [sp, #8]
str r5, [sp, #0xc]
str r6, [sp, #0x10]
add r2, sp, #0x20
ldrb r2, [r2, #0x10]
str r2, [sp, #0x14]
add r2, r3, #0
add r3, r7, #0
bl ov83_0223FCB4
_02240DA4:
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov83_02240D64
thumb_func_start ov83_02240DA8
ov83_02240DA8: ; 0x02240DA8
mov r3, #0
strb r3, [r0, #8]
str r2, [r1]
bx lr
thumb_func_end ov83_02240DA8
thumb_func_start ov83_02240DB0
ov83_02240DB0: ; 0x02240DB0
push {r4, lr}
add r4, r0, #0
ldr r0, _02240DDC ; =0x000005DC
bl PlaySE
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #1
bne _02240DCE
ldrb r2, [r4, #0xd]
add r0, r4, #0
mov r1, #0xc
bl ov83_02241368
_02240DCE:
ldrb r1, [r4, #0xd]
add r0, r4, #0
mov r2, #0
bl ov83_02240DE0
pop {r4, pc}
nop
_02240DDC: .word 0x000005DC
thumb_func_end ov83_02240DB0
thumb_func_start ov83_02240DE0
ov83_02240DE0: ; 0x02240DE0
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
add r7, r1, #0
add r6, r2, #0
bne _02240DF8
mov r0, #0x76
lsl r0, r0, #4
ldr r4, [r5, r0]
mov r2, #1
mov r1, #0
b _02240E00
_02240DF8:
ldr r0, _02240E6C ; =0x00000764
mov r2, #2
ldr r4, [r5, r0]
mov r1, #0x11
_02240E00:
ldrb r0, [r5, #0x15]
cmp r7, r0
blo _02240E26
add r0, r4, #0
bl ov83_022475D4
add r0, r4, #0
mov r1, #0xe0
mov r2, #0xa0
bl ov83_02247568
cmp r6, #0
bne _02240E68
add r0, r5, #0
mov r1, #0
bl ov83_02242844
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_02240E26:
add r0, r4, #0
add r1, r2, #0
bl ov83_022475D4
add r0, r5, #0
add r1, sp, #4
add r2, sp, #0
add r3, r7, #0
bl ov83_02240E70
ldr r1, [sp, #4]
ldr r2, [sp]
lsl r1, r1, #0x10
lsl r2, r2, #0x10
add r0, r4, #0
lsr r1, r1, #0x10
lsr r2, r2, #0x10
bl ov83_02247568
cmp r6, #0
bne _02240E68
ldrb r1, [r5, #0xc]
ldrb r0, [r5, #0x15]
cmp r1, r0
blo _02240E60
add r0, r5, #0
mov r1, #1
bl ov83_02242844
_02240E60:
add r0, r5, #0
mov r1, #0
bl ov83_02242814
_02240E68:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02240E6C: .word 0x00000764
thumb_func_end ov83_02240DE0
thumb_func_start ov83_02240E70
ov83_02240E70: ; 0x02240E70
push {r4, r5, r6, lr}
ldrb r0, [r0, #9]
add r5, r1, #0
add r6, r2, #0
add r4, r3, #0
bl ov80_02237D8C
cmp r0, #1
bne _02240EA6
cmp r4, #0
bne _02240E8C
mov r0, #0x28
str r0, [r5]
b _02240EBE
_02240E8C:
cmp r4, #1
bne _02240E96
mov r0, #0x68
str r0, [r5]
b _02240EBE
_02240E96:
cmp r4, #2
bne _02240EA0
mov r0, #0xa8
str r0, [r5]
b _02240EBE
_02240EA0:
mov r0, #0xe8
str r0, [r5]
b _02240EBE
_02240EA6:
cmp r4, #0
bne _02240EB0
mov r0, #0x48
str r0, [r5]
b _02240EBE
_02240EB0:
cmp r4, #1
bne _02240EBA
mov r0, #0x88
str r0, [r5]
b _02240EBE
_02240EBA:
mov r0, #0xc8
str r0, [r5]
_02240EBE:
mov r0, #0x58
str r0, [r6]
pop {r4, r5, r6, pc}
thumb_func_end ov83_02240E70
thumb_func_start ov83_02240EC4
ov83_02240EC4: ; 0x02240EC4
push {r3, r4, r5, lr}
add r3, r0, #0
ldr r0, _02240EEC ; =0x0000050C
add r5, r1, #0
add r4, r2, #0
ldrb r1, [r3, #9]
ldr r0, [r3, r0]
mov r2, #1
bl ov83_0224777C
cmp r4, #6
bne _02240EE4
ldr r0, _02240EF0 ; =ov83_02247FC8
lsl r1, r5, #1
ldrh r0, [r0, r1]
pop {r3, r4, r5, pc}
_02240EE4:
ldr r0, _02240EF4 ; =ov83_02247F16
lsl r1, r5, #1
ldrh r0, [r0, r1]
pop {r3, r4, r5, pc}
.balign 4, 0
_02240EEC: .word 0x0000050C
_02240EF0: .word ov83_02247FC8
_02240EF4: .word ov83_02247F16
thumb_func_end ov83_02240EC4
thumb_func_start ov83_02240EF8
ov83_02240EF8: ; 0x02240EF8
push {r3, lr}
ldr r3, _02240F38 ; =ov83_02247EE0
mov r2, #0
_02240EFE:
ldrh r1, [r3]
cmp r0, r1
bne _02240F0C
ldr r0, _02240F3C ; =ov83_02247F16
lsl r1, r2, #1
ldrh r0, [r0, r1]
pop {r3, pc}
_02240F0C:
add r2, r2, #1
add r3, r3, #2
cmp r2, #0x1b
blo _02240EFE
ldr r2, _02240F40 ; =ov83_02247F88
mov r3, #0
_02240F18:
ldrh r1, [r2]
cmp r0, r1
bne _02240F26
ldr r0, _02240F44 ; =ov83_02247FC8
lsl r1, r3, #1
ldrh r0, [r0, r1]
pop {r3, pc}
_02240F26:
add r3, r3, #1
add r2, r2, #2
cmp r3, #0x20
blo _02240F18
bl GF_AssertFail
mov r0, #0
pop {r3, pc}
nop
_02240F38: .word ov83_02247EE0
_02240F3C: .word ov83_02247F16
_02240F40: .word ov83_02247F88
_02240F44: .word ov83_02247FC8
thumb_func_end ov83_02240EF8
thumb_func_start ov83_02240F48
ov83_02240F48: ; 0x02240F48
push {r3, r4, r5, lr}
add r3, r0, #0
ldr r0, _02240F70 ; =0x0000050C
add r5, r1, #0
add r4, r2, #0
ldrb r1, [r3, #9]
ldr r0, [r3, r0]
mov r2, #1
bl ov83_0224777C
cmp r4, #6
bne _02240F68
ldr r0, _02240F74 ; =ov83_02247F88
lsl r1, r5, #1
ldrh r0, [r0, r1]
pop {r3, r4, r5, pc}
_02240F68:
ldr r0, _02240F78 ; =ov83_02247EE0
lsl r1, r5, #1
ldrh r0, [r0, r1]
pop {r3, r4, r5, pc}
.balign 4, 0
_02240F70: .word 0x0000050C
_02240F74: .word ov83_02247F88
_02240F78: .word ov83_02247EE0
thumb_func_end ov83_02240F48
thumb_func_start ov83_02240F7C
ov83_02240F7C: ; 0x02240F7C
push {r3, r4, r5, r6, r7, lr}
ldrb r0, [r0, #9]
add r5, r1, #0
add r6, r2, #0
add r7, r3, #0
ldr r4, [sp, #0x18]
bl ov80_02237D8C
cmp r0, #0
bne _02240F9E
mov r0, #0x28
strh r0, [r5]
mov r0, #0
strh r0, [r6]
strh r0, [r7]
strh r0, [r4]
pop {r3, r4, r5, r6, r7, pc}
_02240F9E:
mov r1, #0
strh r1, [r5]
strh r1, [r6]
mov r0, #0x80
strh r0, [r7]
strh r1, [r4]
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov83_02240F7C
thumb_func_start ov83_02240FAC
ov83_02240FAC: ; 0x02240FAC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r4, r0, #0
ldrb r0, [r4, #0x14]
add r6, r2, #0
bl ov83_02247768
add r5, r0, #0
ldr r0, _0224119C ; =0x000007A4
add r1, r5, #0
ldr r0, [r4, r0]
bl GetPartyMonByIndex
str r0, [sp, #0x14]
mov r1, #0xa3
mov r2, #0
bl GetMonData
str r0, [sp, #0x1c]
ldr r0, [sp, #0x14]
mov r1, #0xa4
mov r2, #0
bl GetMonData
add r7, r0, #0
ldr r0, [sp, #0x1c]
lsl r1, r7, #0x10
lsl r0, r0, #0x10
lsr r0, r0, #0x10
lsr r1, r1, #0x10
mov r2, #0x30
bl sub_020880B0
add r1, r0, #0
add r0, r4, #0
bl ov83_022411B0
str r0, [sp, #0x18]
ldr r0, [sp, #0x1c]
lsl r1, r7, #0x10
lsl r0, r0, #0x10
lsr r0, r0, #0x10
lsr r1, r1, #0x10
mov r2, #0x30
bl sub_020880B0
add r1, r0, #0
add r0, r4, #0
bl ov83_022411DC
add r7, r0, #0
cmp r6, #0xa
bls _02241018
b _02241196
_02241018:
add r0, r6, r6
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02241024: ; jump table
.short _02241196 - _02241024 - 2 ; case 0
.short _02241048 - _02241024 - 2 ; case 1
.short _02241048 - _02241024 - 2 ; case 2
.short _02241048 - _02241024 - 2 ; case 3
.short _0224103A - _02241024 - 2 ; case 4
.short _02241196 - _02241024 - 2 ; case 5
.short _0224110C - _02241024 - 2 ; case 6
.short _0224110C - _02241024 - 2 ; case 7
.short _0224103A - _02241024 - 2 ; case 8
.short _0224117A - _02241024 - 2 ; case 9
.short _02241188 - _02241024 - 2 ; case 10
_0224103A:
ldrb r1, [r4, #0xe]
mov r0, #4
add sp, #0x20
bic r1, r0
strb r1, [r4, #0xe]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02241048:
ldrb r1, [r4, #0xe]
lsl r0, r1, #0x1d
lsr r0, r0, #0x1f
bne _0224108E
mov r0, #4
orr r0, r1
strb r0, [r4, #0xe]
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #0
bne _02241064
mov r1, #0x40
b _02241066
_02241064:
mov r1, #0x20
_02241066:
mov r0, #8
str r0, [sp]
lsl r0, r5, #6
add r0, r1, r0
lsl r0, r0, #0x10
asr r0, r0, #0x10
str r0, [sp, #4]
mov r1, #0
mov r0, #0x3e
str r0, [sp, #8]
ldr r0, _022411A0 ; =0x00000518
str r1, [sp, #0xc]
add r0, r4, r0
add r2, r1, #0
add r3, r1, #0
str r1, [sp, #0x10]
bl ov83_02247454
ldr r1, _022411A4 ; =0x0000075C
str r0, [r4, r1]
_0224108E:
ldr r0, _022411A4 ; =0x0000075C
ldr r0, [r4, r0]
cmp r0, #0
beq _022410AC
bl ov83_02247624
cmp r0, #0
bne _022410AC
ldr r0, _022411A4 ; =0x0000075C
ldr r0, [r4, r0]
bl ov83_0224753C
ldr r0, _022411A4 ; =0x0000075C
mov r1, #0
str r1, [r4, r0]
_022410AC:
ldr r0, _022411A4 ; =0x0000075C
ldr r0, [r4, r0]
cmp r0, #0
bne _02241196
ldr r0, [sp, #0x14]
mov r1, #0xa3
mov r2, #0
bl GetMonData
add r1, r4, #0
add r3, r0, #0
add r0, r4, #0
add r1, #0x80
add r2, r5, #0
bl ov83_02240238
ldrb r0, [r4, #0xd]
cmp r0, r5
bne _022410E0
add r0, r4, #0
bl ov83_02241E18
add r0, r4, #0
mov r1, #0
bl ov83_022421E0
_022410E0:
lsl r5, r5, #2
ldr r0, _022411A8 ; =0x00000768
add r1, r4, r5
ldr r0, [r1, r0]
add r1, r7, #0
bl ov83_022475D4
ldr r0, _022411AC ; =0x0000073C
add r1, r4, r5
ldr r0, [r1, r0]
ldr r1, [sp, #0x18]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
bl ov83_02247600
ldrb r1, [r4, #0xe]
mov r0, #4
add sp, #0x20
bic r1, r0
strb r1, [r4, #0xe]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0224110C:
ldrb r1, [r4, #0xe]
lsl r0, r1, #0x1d
lsr r0, r0, #0x1f
bne _02241152
mov r0, #4
orr r0, r1
strb r0, [r4, #0xe]
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #0
bne _02241128
mov r1, #0x40
b _0224112A
_02241128:
mov r1, #0x20
_0224112A:
mov r0, #0x10
str r0, [sp]
lsl r0, r5, #6
add r0, r1, r0
lsl r0, r0, #0x10
asr r0, r0, #0x10
str r0, [sp, #4]
mov r1, #0
mov r0, #0x3e
str r0, [sp, #8]
ldr r0, _022411A0 ; =0x00000518
str r1, [sp, #0xc]
add r0, r4, r0
add r2, r1, #0
add r3, r1, #0
str r1, [sp, #0x10]
bl ov83_02247454
ldr r1, _022411A4 ; =0x0000075C
str r0, [r4, r1]
_02241152:
ldr r0, _022411A4 ; =0x0000075C
ldr r0, [r4, r0]
bl ov83_02247624
cmp r0, #0
bne _02241196
ldr r0, _022411A4 ; =0x0000075C
ldr r0, [r4, r0]
bl ov83_0224753C
ldr r0, _022411A4 ; =0x0000075C
mov r1, #0
str r1, [r4, r0]
ldrb r1, [r4, #0xe]
mov r0, #4
add sp, #0x20
bic r1, r0
strb r1, [r4, #0xe]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0224117A:
ldrb r1, [r4, #0xe]
mov r0, #4
add sp, #0x20
bic r1, r0
strb r1, [r4, #0xe]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02241188:
ldrb r1, [r4, #0xe]
mov r0, #4
add sp, #0x20
bic r1, r0
strb r1, [r4, #0xe]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02241196:
mov r0, #0
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0224119C: .word 0x000007A4
_022411A0: .word 0x00000518
_022411A4: .word 0x0000075C
_022411A8: .word 0x00000768
_022411AC: .word 0x0000073C
thumb_func_end ov83_02240FAC
thumb_func_start ov83_022411B0
ov83_022411B0: ; 0x022411B0
cmp r1, #4
bhi _022411D8
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_022411C0: ; jump table
.short _022411D8 - _022411C0 - 2 ; case 0
.short _022411D6 - _022411C0 - 2 ; case 1
.short _022411D2 - _022411C0 - 2 ; case 2
.short _022411CE - _022411C0 - 2 ; case 3
.short _022411CA - _022411C0 - 2 ; case 4
_022411CA:
mov r0, #1
bx lr
_022411CE:
mov r0, #2
bx lr
_022411D2:
mov r0, #3
bx lr
_022411D6:
mov r0, #4
_022411D8:
bx lr
.balign 4, 0
thumb_func_end ov83_022411B0
thumb_func_start ov83_022411DC
ov83_022411DC: ; 0x022411DC
cmp r1, #4
bhi _02241204
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_022411EC: ; jump table
.short _02241204 - _022411EC - 2 ; case 0
.short _02241202 - _022411EC - 2 ; case 1
.short _022411FE - _022411EC - 2 ; case 2
.short _022411FA - _022411EC - 2 ; case 3
.short _022411F6 - _022411EC - 2 ; case 4
_022411F6:
mov r0, #0xf
bx lr
_022411FA:
mov r0, #0xf
bx lr
_022411FE:
mov r0, #0xe
bx lr
_02241202:
mov r0, #0xd
_02241204:
bx lr
.balign 4, 0
thumb_func_end ov83_022411DC
thumb_func_start ov83_02241208
ov83_02241208: ; 0x02241208
push {r4, lr}
add r4, r0, #0
mov r0, #0xd
ldrsb r0, [r4, r0]
add r0, r0, r1
lsl r0, r0, #0x18
asr r1, r0, #0x18
ldrb r0, [r4, #0x14]
bpl _02241222
sub r0, r0, #1
lsl r0, r0, #0x18
asr r1, r0, #0x18
b _02241228
_02241222:
cmp r1, r0
blt _02241228
mov r1, #0
_02241228:
strb r1, [r4, #0xd]
add r0, r4, #0
bl ov83_02240DB0
ldrb r0, [r4, #0x14]
ldrb r1, [r4, #0xd]
bl ov83_02247768
add r1, r0, #0
ldr r0, _02241250 ; =0x000007A4
ldr r0, [r4, r0]
bl GetPartyMonByIndex
add r2, r0, #0
add r0, r4, #0
add r4, #0x90
add r1, r4, #0
bl ov83_0223FD4C
pop {r4, pc}
.balign 4, 0
_02241250: .word 0x000007A4
thumb_func_end ov83_02241208
thumb_func_start ov83_02241254
ov83_02241254: ; 0x02241254
push {r4, lr}
add r4, r0, #0
mov r0, #0xd
ldrsb r0, [r4, r0]
add r0, r0, r1
lsl r0, r0, #0x18
asr r1, r0, #0x18
ldrb r0, [r4, #0x14]
bpl _0224126E
sub r0, r0, #1
lsl r0, r0, #0x18
asr r1, r0, #0x18
b _02241274
_0224126E:
cmp r1, r0
blt _02241274
mov r1, #0
_02241274:
strb r1, [r4, #0xd]
add r0, r4, #0
bl ov83_02240DB0
ldrb r0, [r4, #0x14]
ldrb r1, [r4, #0xd]
bl ov83_02247768
add r1, r0, #0
ldr r0, _0224129C ; =0x000007A4
ldr r0, [r4, r0]
bl GetPartyMonByIndex
add r2, r0, #0
add r0, r4, #0
add r4, #0x90
add r1, r4, #0
bl ov83_0223FF44
pop {r4, pc}
.balign 4, 0
_0224129C: .word 0x000007A4
thumb_func_end ov83_02241254
thumb_func_start ov83_022412A0
ov83_022412A0: ; 0x022412A0
push {r4, lr}
add r4, r0, #0
bl ov83_02241730
add r0, r4, #0
bl ov83_0224042C
add r0, r4, #0
add r0, #0xb0
bl ov83_02241354
add r0, r4, #0
bl ov83_02241B18
ldr r2, _022412D4 ; =0x00000868
mov r0, #2
mov r1, #0
add r2, r4, r2
bl ov83_022477EC
ldr r0, _022412D8 ; =0x00000778
mov r1, #0
ldr r0, [r4, r0]
bl ov83_0224755C
pop {r4, pc}
.balign 4, 0
_022412D4: .word 0x00000868
_022412D8: .word 0x00000778
thumb_func_end ov83_022412A0
thumb_func_start ov83_022412DC
ov83_022412DC: ; 0x022412DC
push {r4, r5, r6, lr}
mov r4, #0
add r5, r0, #0
mov r1, #0x3a
add r2, r4, #0
bl GetMonData
add r6, r0, #0
add r0, r5, #0
mov r1, #0x42
add r2, r4, #0
bl GetMonData
cmp r6, r0
beq _022412FC
mov r4, #1
_022412FC:
add r0, r5, #0
mov r1, #0x3b
mov r2, #0
bl GetMonData
add r6, r0, #0
add r0, r5, #0
mov r1, #0x43
mov r2, #0
bl GetMonData
cmp r6, r0
beq _02241318
mov r4, #1
_02241318:
add r0, r5, #0
mov r1, #0x3c
mov r2, #0
bl GetMonData
add r6, r0, #0
add r0, r5, #0
mov r1, #0x44
mov r2, #0
bl GetMonData
cmp r6, r0
beq _02241334
mov r4, #1
_02241334:
add r0, r5, #0
mov r1, #0x3d
mov r2, #0
bl GetMonData
add r6, r0, #0
add r0, r5, #0
mov r1, #0x45
mov r2, #0
bl GetMonData
cmp r6, r0
beq _02241350
mov r4, #1
_02241350:
add r0, r4, #0
pop {r4, r5, r6, pc}
thumb_func_end ov83_022412DC
thumb_func_start ov83_02241354
ov83_02241354: ; 0x02241354
push {r4, lr}
add r4, r0, #0
mov r1, #1
bl ClearFrameAndWindow2
add r0, r4, #0
bl ClearWindowTilemapAndScheduleTransfer
pop {r4, pc}
.balign 4, 0
thumb_func_end ov83_02241354
thumb_func_start ov83_02241368
ov83_02241368: ; 0x02241368
push {r3, r4, r5, lr}
add r3, r1, #0
sub r3, #0xa
add r5, r0, #0
cmp r3, #3
bhi _022413A6
add r3, r3, r3
add r3, pc
ldrh r3, [r3, #6]
lsl r3, r3, #0x10
asr r3, r3, #0x10
add pc, r3
_02241380: ; jump table
.short _02241388 - _02241380 - 2 ; case 0
.short _02241390 - _02241380 - 2 ; case 1
.short _02241398 - _02241380 - 2 ; case 2
.short _022413A0 - _02241380 - 2 ; case 3
_02241388:
mov r4, #0x31
bl ov83_022413C4
b _022413A6
_02241390:
mov r4, #0x32
bl ov83_0224143C
b _022413A6
_02241398:
mov r4, #0x33
bl ov83_022414CC
b _022413A6
_022413A0:
mov r4, #0x34
bl ov83_02241504
_022413A6:
ldr r1, _022413C0 ; =0x000007AC
add r0, r4, #0
add r1, r5, r1
mov r2, #0x28
bl sub_02037030
cmp r0, #1
bne _022413BA
mov r0, #1
pop {r3, r4, r5, pc}
_022413BA:
mov r0, #0
pop {r3, r4, r5, pc}
nop
_022413C0: .word 0x000007AC
thumb_func_end ov83_02241368
thumb_func_start ov83_022413C4
ov83_022413C4: ; 0x022413C4
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
ldr r0, _02241400 ; =0x0000050C
add r4, r1, #0
ldr r0, [r6, r0]
bl Save_PlayerData_GetProfileAddr
ldr r1, _02241404 ; =0x000007AC
strh r4, [r6, r1]
bl PlayerProfile_GetTrainerGender
ldr r1, _02241408 ; =0x000007AE
mov r4, #0
strh r0, [r6, r1]
add r5, r6, #4
sub r7, r1, #2
_022413E4:
ldr r0, _02241400 ; =0x0000050C
ldrb r1, [r6, #9]
lsl r2, r4, #0x18
ldr r0, [r6, r0]
lsr r2, r2, #0x18
bl ov83_0224777C
strh r0, [r5, r7]
add r4, r4, #1
add r5, r5, #2
cmp r4, #3
blt _022413E4
pop {r3, r4, r5, r6, r7, pc}
nop
_02241400: .word 0x0000050C
_02241404: .word 0x000007AC
_02241408: .word 0x000007AE
thumb_func_end ov83_022413C4
thumb_func_start ov83_0224140C
ov83_0224140C: ; 0x0224140C
push {r4, r5, r6, lr}
add r4, r3, #0
add r5, r0, #0
ldrb r0, [r4, #0xf]
add r6, r2, #0
add r0, r0, #1
strb r0, [r4, #0xf]
bl sub_0203769C
cmp r5, r0
beq _02241436
ldr r0, _02241438 ; =0x000007FF
mov r3, #0
add r5, r6, #4
_02241428:
ldrh r2, [r5]
add r1, r4, r3
add r3, r3, #1
add r5, r5, #2
strb r2, [r1, r0]
cmp r3, #3
blt _02241428
_02241436:
pop {r4, r5, r6, pc}
.balign 4, 0
_02241438: .word 0x000007FF
thumb_func_end ov83_0224140C
thumb_func_start ov83_0224143C
ov83_0224143C: ; 0x0224143C
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _02241470 ; =0x000007AC
add r4, r2, #0
strh r1, [r5, r0]
add r0, r0, #2
strh r4, [r5, r0]
bl sub_0203769C
cmp r0, #0
bne _0224145A
ldrb r0, [r5, #0x12]
cmp r0, #0xff
bne _0224145A
strb r4, [r5, #0x12]
_0224145A:
ldrb r1, [r5, #0x12]
mov r0, #0x7b
lsl r0, r0, #4
strh r1, [r5, r0]
ldrh r2, [r5, #0x10]
add r1, r0, #4
add r0, r0, #6
strh r2, [r5, r1]
ldrb r1, [r5, #0x13]
strh r1, [r5, r0]
pop {r3, r4, r5, pc}
.balign 4, 0
_02241470: .word 0x000007AC
thumb_func_end ov83_0224143C
thumb_func_start ov83_02241474
ov83_02241474: ; 0x02241474
push {r4, r5, r6, lr}
add r4, r3, #0
add r6, r0, #0
ldrb r0, [r4, #0xf]
add r5, r2, #0
add r0, r0, #1
strb r0, [r4, #0xf]
bl sub_0203769C
cmp r6, r0
beq _022414C4
ldrh r1, [r5, #2]
ldr r0, _022414C8 ; =0x000007FD
strb r1, [r4, r0]
bl sub_0203769C
cmp r0, #0
bne _022414B8
ldrb r0, [r4, #0x12]
cmp r0, #0xff
ldr r0, _022414C8 ; =0x000007FD
beq _022414A6
mov r1, #0
strb r1, [r4, r0]
pop {r4, r5, r6, pc}
_022414A6:
ldrb r1, [r4, r0]
ldrb r0, [r4, #0x15]
add r0, r1, r0
strb r0, [r4, #0x12]
ldrh r0, [r5, #8]
strh r0, [r4, #0x10]
ldrh r0, [r5, #0xa]
strb r0, [r4, #0x13]
pop {r4, r5, r6, pc}
_022414B8:
ldrh r0, [r5, #4]
strb r0, [r4, #0x12]
ldrh r0, [r5, #8]
strh r0, [r4, #0x10]
ldrh r0, [r5, #0xa]
strb r0, [r4, #0x13]
_022414C4:
pop {r4, r5, r6, pc}
nop
_022414C8: .word 0x000007FD
thumb_func_end ov83_02241474
thumb_func_start ov83_022414CC
ov83_022414CC: ; 0x022414CC
ldr r2, _022414D8 ; =0x000007AC
strh r1, [r0, r2]
ldrb r3, [r0, #0xd]
add r1, r2, #2
strh r3, [r0, r1]
bx lr
.balign 4, 0
_022414D8: .word 0x000007AC
thumb_func_end ov83_022414CC
thumb_func_start ov83_022414DC
ov83_022414DC: ; 0x022414DC
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r2, #0
add r4, r3, #0
bl sub_0203769C
cmp r5, r0
beq _022414FC
ldrh r0, [r6, #2]
ldr r1, _02241500 ; =0x000007FC
mov r2, #1
strb r0, [r4, r1]
ldrb r1, [r4, r1]
add r0, r4, #0
bl ov83_02240DE0
_022414FC:
pop {r4, r5, r6, pc}
nop
_02241500: .word 0x000007FC
thumb_func_end ov83_022414DC
thumb_func_start ov83_02241504
ov83_02241504: ; 0x02241504
ldr r1, _0224150C ; =0x000007AC
mov r2, #1
strh r2, [r0, r1]
bx lr
.balign 4, 0
_0224150C: .word 0x000007AC
thumb_func_end ov83_02241504
thumb_func_start ov83_02241510
ov83_02241510: ; 0x02241510
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r2, #0
add r6, r3, #0
bl sub_0203769C
cmp r5, r0
beq _02241526
ldrh r1, [r4]
ldr r0, _02241528 ; =0x000007FE
strb r1, [r6, r0]
_02241526:
pop {r4, r5, r6, pc}
.balign 4, 0
_02241528: .word 0x000007FE
thumb_func_end ov83_02241510
thumb_func_start ov83_0224152C
ov83_0224152C: ; 0x0224152C
push {r3, lr}
mov r2, #0x6b
str r2, [sp]
mov r2, #0
add r3, r2, #0
bl UseItemOnPokemon
pop {r3, pc}
thumb_func_end ov83_0224152C
thumb_func_start ov83_0224153C
ov83_0224153C: ; 0x0224153C
push {r4, r5, lr}
sub sp, #0xc
add r4, r1, #0
add r1, sp, #4
str r1, [sp]
add r1, sp, #8
add r3, sp, #4
add r5, r0, #0
add r1, #2
add r2, sp, #8
add r3, #2
bl ov83_02240F7C
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #0
bne _02241580
mov r0, #0
str r0, [sp]
add r3, sp, #4
ldrh r2, [r3, #6]
ldrh r3, [r3, #4]
add r0, r5, #0
add r2, r2, #4
add r3, r3, #1
lsl r2, r2, #0x10
lsl r3, r3, #0x10
add r1, r4, #0
lsr r2, r2, #0x10
lsr r3, r3, #0x10
bl ov83_02240C8C
b _022415E8
_02241580:
bl sub_0203769C
cmp r0, #0
add r2, sp, #4
bne _022415BA
ldrh r0, [r2, #4]
add r1, r4, #0
add r0, r0, #1
lsl r0, r0, #0x10
lsr r3, r0, #0x10
mov r0, #0
str r0, [sp]
ldrh r2, [r2, #6]
add r0, r5, #0
bl ov83_02240C8C
mov r0, #0
str r0, [sp]
add r3, sp, #4
ldrh r2, [r3, #2]
ldrh r3, [r3]
add r0, r5, #0
add r1, r4, #0
add r3, r3, #1
lsl r3, r3, #0x10
lsr r3, r3, #0x10
bl ov83_02240CFC
b _022415E8
_022415BA:
ldrh r0, [r2, #4]
add r1, r4, #0
add r0, r0, #1
lsl r0, r0, #0x10
lsr r3, r0, #0x10
mov r0, #0
str r0, [sp]
ldrh r2, [r2, #6]
add r0, r5, #0
bl ov83_02240CFC
mov r0, #0
str r0, [sp]
add r3, sp, #4
ldrh r2, [r3, #2]
ldrh r3, [r3]
add r0, r5, #0
add r1, r4, #0
add r3, r3, #1
lsl r3, r3, #0x10
lsr r3, r3, #0x10
bl ov83_02240C8C
_022415E8:
add r0, r4, #0
bl ScheduleWindowCopyToVram
add sp, #0xc
pop {r4, r5, pc}
.balign 4, 0
thumb_func_end ov83_0224153C
thumb_func_start ov83_022415F4
ov83_022415F4: ; 0x022415F4
push {r4, r5, r6, lr}
add r5, r0, #0
ldrb r0, [r5, #0x14]
add r4, r2, #0
bl ov83_02247768
add r1, r0, #0
ldr r0, _0224168C ; =0x000007A4
ldr r0, [r5, r0]
bl GetPartyMonByIndex
add r6, r0, #0
ldr r0, _02241690 ; =0x0000050C
ldrb r1, [r5, #9]
ldr r0, [r5, r0]
mov r2, #0
bl ov83_0224777C
add r0, r6, #0
bl Mon_GetBoxMon
add r2, r0, #0
add r0, r5, #0
mov r1, #0
bl ov83_02240C60
ldr r0, _02241694 ; =0x00000508
ldr r0, [r5, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r5, #0
add r0, #0xb0
bl ov83_02247944
sub r1, r4, #1
lsl r2, r1, #1
ldr r1, _02241698 ; =_02247D0C
add r0, r5, #0
ldrh r1, [r1, r2]
mov r2, #1
bl ov83_0223FD14
strb r0, [r5, #0xa]
cmp r4, #1
beq _0224165A
cmp r4, #2
beq _02241664
cmp r4, #3
beq _0224166E
b _02241680
_0224165A:
add r0, r6, #0
mov r1, #0x18
bl ov83_0224152C
b _02241684
_02241664:
add r0, r6, #0
mov r1, #0x29
bl ov83_0224152C
b _02241684
_0224166E:
add r0, r6, #0
mov r1, #0x18
bl ov83_0224152C
add r0, r6, #0
mov r1, #0x29
bl ov83_0224152C
b _02241684
_02241680:
bl GF_AssertFail
_02241684:
ldr r0, _0224169C ; =0x000005EC
bl PlaySE
pop {r4, r5, r6, pc}
.balign 4, 0
_0224168C: .word 0x000007A4
_02241690: .word 0x0000050C
_02241694: .word 0x00000508
_02241698: .word _02247D0C
_0224169C: .word 0x000005EC
thumb_func_end ov83_022415F4
thumb_func_start ov83_022416A0
ov83_022416A0: ; 0x022416A0
push {r0, r1, r2, r3}
push {r4, r5, r6, lr}
add r5, r0, #0
ldrb r0, [r5, #0x14]
add r4, r1, #0
bl ov83_02247768
add r1, r0, #0
ldr r0, _02241724 ; =0x000007A4
ldr r0, [r5, r0]
bl GetPartyMonByIndex
mov r1, #6
add r2, sp, #0x18
add r6, r0, #0
bl SetMonData
ldrb r0, [r5, #0xd]
cmp r0, r4
bne _022416D6
add r0, r5, #0
bl ov83_02241E18
add r0, r5, #0
mov r1, #0
bl ov83_022421E0
_022416D6:
ldrb r0, [r5, #0x14]
add r1, r4, #0
bl ov83_02247768
lsl r0, r0, #2
add r1, r5, r0
ldr r0, _02241728 ; =0x0000074C
ldr r0, [r1, r0]
mov r1, #1
bl ov83_0224755C
add r0, r6, #0
bl Mon_GetBoxMon
add r2, r0, #0
add r0, r5, #0
mov r1, #0
bl ov83_02240C60
add r2, sp, #0x10
ldrh r2, [r2, #8]
ldr r0, [r5, #0x24]
mov r1, #1
bl BufferItemName
add r0, r5, #0
mov r1, #0x3b
mov r2, #1
bl ov83_0223FD14
strb r0, [r5, #0xa]
ldr r0, _0224172C ; =0x00000623
bl PlaySE
pop {r4, r5, r6}
pop {r3}
add sp, #0x10
bx r3
nop
_02241724: .word 0x000007A4
_02241728: .word 0x0000074C
_0224172C: .word 0x00000623
thumb_func_end ov83_022416A0
thumb_func_start ov83_02241730
ov83_02241730: ; 0x02241730
push {r4, lr}
add r4, r0, #0
ldrb r0, [r4, #0xe]
lsl r0, r0, #0x1b
lsr r0, r0, #0x1f
cmp r0, #1
bne _0224174E
mov r0, #0x21
lsl r0, r0, #6
ldr r0, [r4, r0]
bl sub_02018694
add r0, r4, #0
bl ov83_02242D5C
_0224174E:
ldr r0, _02241758 ; =0x0000084C
add r0, r4, r0
bl ov83_022478B4
pop {r4, pc}
.balign 4, 0
_02241758: .word 0x0000084C
thumb_func_end ov83_02241730
thumb_func_start ov83_0224175C
ov83_0224175C: ; 0x0224175C
push {r4, lr}
add r4, r0, #0
add r0, #0xb0
bl ov83_02241354
add r0, r4, #0
bl ov83_022429E4
pop {r4, pc}
.balign 4, 0
thumb_func_end ov83_0224175C
thumb_func_start ov83_02241770
ov83_02241770: ; 0x02241770
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r4, r1, #0
add r1, sp, #0x1c
str r1, [sp]
add r1, sp, #0x20
add r3, sp, #0x1c
add r5, r0, #0
add r1, #2
add r2, sp, #0x20
add r3, #2
bl ov83_02240F7C
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #0
bne _02241806
add r1, sp, #0x1c
ldrh r0, [r1, #6]
add r0, #0x48
lsl r0, r0, #0x10
lsr r7, r0, #0x10
ldrh r0, [r1, #4]
mov r1, #0
add r2, r7, #0
add r0, r0, #1
lsl r0, r0, #0x10
lsr r6, r0, #0x10
mov r0, #0x30
str r0, [sp]
mov r0, #0x10
str r0, [sp, #4]
add r0, r4, #0
add r3, r6, #0
bl FillWindowPixelRect
ldrb r0, [r5, #9]
bl sub_0205C1F0
str r0, [sp, #0x18]
ldrb r0, [r5, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r5, #4]
ldr r1, [sp, #0x18]
bl sub_020310BC
mov r1, #0
add r2, r0, #0
str r1, [sp]
add r0, r5, #0
mov r3, #4
bl ov83_02240C48
str r6, [sp]
mov r0, #0xff
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r2, #2
str r2, [sp, #0xc]
mov r0, #0
str r0, [sp, #0x10]
str r0, [sp, #0x14]
add r0, r5, #0
add r1, r4, #0
add r3, r7, #0
bl ov83_0223FCB4
strb r0, [r5, #0xa]
b _022418D4
_02241806:
mov r0, #0x30
str r0, [sp]
mov r0, #0x10
mov r1, #0
str r0, [sp, #4]
add r0, r4, #0
mov r2, #0x40
add r3, r1, #0
bl FillWindowPixelRect
mov r0, #0x30
str r0, [sp]
mov r0, #0x10
mov r1, #0
str r0, [sp, #4]
add r0, r4, #0
mov r2, #0xc0
add r3, r1, #0
bl FillWindowPixelRect
bl sub_0203769C
cmp r0, #0
bne _0224185A
ldrb r0, [r5, #9]
bl sub_0205C1F0
add r6, r0, #0
ldrb r0, [r5, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r5, #4]
add r1, r6, #0
bl sub_020310BC
add r6, r0, #0
ldr r0, _022418E0 ; =0x00000802
ldrh r7, [r5, r0]
b _0224187C
_0224185A:
ldr r0, _022418E0 ; =0x00000802
ldrh r6, [r5, r0]
ldrb r0, [r5, #9]
bl sub_0205C1F0
add r7, r0, #0
ldrb r0, [r5, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r5, #4]
add r1, r7, #0
bl sub_020310BC
add r7, r0, #0
_0224187C:
mov r1, #0
add r0, r5, #0
add r2, r6, #0
mov r3, #4
str r1, [sp]
bl ov83_02240C48
mov r0, #0x70
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _022418E4 ; =0x00010200
add r1, r4, #0
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
ldr r2, [r5, #0x20]
add r0, r5, #0
mov r3, #2
bl ov83_02241DD8
mov r1, #0
add r0, r5, #0
add r2, r7, #0
mov r3, #4
str r1, [sp]
bl ov83_02240C48
mov r0, #0xf0
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _022418E4 ; =0x00010200
add r1, r4, #0
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
ldr r2, [r5, #0x20]
add r0, r5, #0
mov r3, #3
bl ov83_02241DD8
_022418D4:
add r0, r4, #0
bl ScheduleWindowCopyToVram
add sp, #0x24
pop {r4, r5, r6, r7, pc}
nop
_022418E0: .word 0x00000802
_022418E4: .word 0x00010200
thumb_func_end ov83_02241770
thumb_func_start ov83_022418E8
ov83_022418E8: ; 0x022418E8
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
ldr r0, _02241A4C ; =0x000005E3
add r7, r1, #0
add r5, r2, #0
bl PlaySE
ldrb r0, [r4, #0x15]
add r1, r7, #0
str r0, [sp]
bl ov83_0224776C
str r0, [sp, #4]
cmp r5, #0xa
bhi _02241940
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02241914: ; jump table
.short _02241940 - _02241914 - 2 ; case 0
.short _0224192A - _02241914 - 2 ; case 1
.short _0224192A - _02241914 - 2 ; case 2
.short _0224192A - _02241914 - 2 ; case 3
.short _02241940 - _02241914 - 2 ; case 4
.short _02241940 - _02241914 - 2 ; case 5
.short _02241934 - _02241914 - 2 ; case 6
.short _02241934 - _02241914 - 2 ; case 7
.short _02241940 - _02241914 - 2 ; case 8
.short _0224193E - _02241914 - 2 ; case 9
.short _0224193E - _02241914 - 2 ; case 10
_0224192A:
sub r0, r5, #1
lsl r1, r0, #1
ldr r0, _02241A50 ; =ov83_02247D18
ldrh r6, [r0, r1]
b _02241940
_02241934:
ldrh r0, [r4, #0x10]
bl ov83_02240EF8
add r6, r0, #0
b _02241940
_0224193E:
mov r6, #0
_02241940:
bl sub_0203769C
cmp r0, #0
bne _02241974
ldr r0, [sp]
cmp r7, r0
bhs _02241962
add r0, r4, #0
mov r1, #5
bl ov83_02240C6C
ldrb r1, [r4, #9]
ldr r0, [r4, #4]
add r2, r6, #0
bl ov80_02237FA4
b _0224199E
_02241962:
ldr r0, [r4, #0x24]
mov r1, #5
bl ov83_022477C4
ldr r0, _02241A54 ; =0x00000802
ldrh r1, [r4, r0]
sub r1, r1, r6
strh r1, [r4, r0]
b _0224199E
_02241974:
ldr r0, [sp]
cmp r7, r0
bhs _0224198C
ldr r0, [r4, #0x24]
mov r1, #5
bl ov83_022477C4
ldr r0, _02241A54 ; =0x00000802
ldrh r1, [r4, r0]
sub r1, r1, r6
strh r1, [r4, r0]
b _0224199E
_0224198C:
add r0, r4, #0
mov r1, #5
bl ov83_02240C6C
ldrb r1, [r4, #9]
ldr r0, [r4, #4]
add r2, r6, #0
bl ov80_02237FA4
_0224199E:
add r1, r4, #0
add r0, r4, #0
add r1, #0x50
bl ov83_02241770
add r0, r4, #0
bl ov83_02241730
add r0, r4, #0
bl ov83_02241B18
add r0, r4, #0
bl ov83_0224042C
ldr r2, _02241A58 ; =0x00000868
mov r0, #2
mov r1, #0
add r2, r4, r2
bl ov83_022477EC
add r0, r4, #0
add r0, #0xb0
bl ov83_02241354
cmp r5, #0xa
bhi _02241A48
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022419DE: ; jump table
.short _02241A48 - _022419DE - 2 ; case 0
.short _022419F4 - _022419DE - 2 ; case 1
.short _022419F4 - _022419DE - 2 ; case 2
.short _022419F4 - _022419DE - 2 ; case 3
.short _02241A48 - _022419DE - 2 ; case 4
.short _02241A48 - _022419DE - 2 ; case 5
.short _02241A14 - _022419DE - 2 ; case 6
.short _02241A14 - _022419DE - 2 ; case 7
.short _02241A48 - _022419DE - 2 ; case 8
.short _02241A34 - _022419DE - 2 ; case 9
.short _02241A40 - _022419DE - 2 ; case 10
_022419F4:
ldr r0, _02241A5C ; =0x00000508
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xb0
bl ov83_02247944
ldr r1, [sp, #4]
add r0, r4, #0
add r2, r5, #0
bl ov83_022415F4
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_02241A14:
ldr r0, _02241A5C ; =0x00000508
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xb0
bl ov83_02247944
ldrh r2, [r4, #0x10]
ldr r1, [sp, #4]
add r0, r4, #0
bl ov83_022416A0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_02241A34:
ldr r1, [sp, #4]
add r0, r4, #0
bl ov83_02241A60
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_02241A40:
ldr r1, [sp, #4]
add r0, r4, #0
bl ov83_02241ABC
_02241A48:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02241A4C: .word 0x000005E3
_02241A50: .word ov83_02247D18
_02241A54: .word 0x00000802
_02241A58: .word 0x00000868
_02241A5C: .word 0x00000508
thumb_func_end ov83_022418E8
thumb_func_start ov83_02241A60
ov83_02241A60: ; 0x02241A60
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
mov r1, #2
bl ov83_0223FAA8
add r0, r5, #0
add r0, #0xb0
bl ClearWindowTilemapAndScheduleTransfer
add r0, r5, #0
add r0, #0xa0
bl ClearWindowTilemapAndScheduleTransfer
mov r0, #5
lsl r0, r0, #6
add r0, r5, r0
bl ClearWindowTilemapAndScheduleTransfer
ldrb r0, [r5, #0x14]
add r1, r4, #0
bl ov83_02247768
add r1, r0, #0
ldr r0, _02241AB4 ; =0x000007A4
ldr r0, [r5, r0]
bl GetPartyMonByIndex
add r1, r5, #0
add r2, r0, #0
add r0, r5, #0
add r1, #0x90
bl ov83_0223FD4C
ldr r2, _02241AB8 ; =0x00000868
mov r0, #2
mov r1, #1
add r2, r5, r2
bl ov83_022477EC
pop {r3, r4, r5, pc}
nop
_02241AB4: .word 0x000007A4
_02241AB8: .word 0x00000868
thumb_func_end ov83_02241A60
thumb_func_start ov83_02241ABC
ov83_02241ABC: ; 0x02241ABC
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
mov r1, #2
bl ov83_0223FB24
add r0, r5, #0
add r0, #0xb0
bl ClearWindowTilemapAndScheduleTransfer
add r0, r5, #0
add r0, #0xa0
bl ClearWindowTilemapAndScheduleTransfer
mov r0, #5
lsl r0, r0, #6
add r0, r5, r0
bl ClearWindowTilemapAndScheduleTransfer
ldrb r0, [r5, #0x14]
add r1, r4, #0
bl ov83_02247768
add r1, r0, #0
ldr r0, _02241B10 ; =0x000007A4
ldr r0, [r5, r0]
bl GetPartyMonByIndex
add r1, r5, #0
add r2, r0, #0
add r0, r5, #0
add r1, #0x90
bl ov83_0223FF44
ldr r2, _02241B14 ; =0x00000868
mov r0, #2
mov r1, #1
add r2, r5, r2
bl ov83_022477EC
pop {r3, r4, r5, pc}
nop
_02241B10: .word 0x000007A4
_02241B14: .word 0x00000868
thumb_func_end ov83_02241ABC
thumb_func_start ov83_02241B18
ov83_02241B18: ; 0x02241B18
ldr r2, _02241B28 ; =0x00000868
add r3, r0, #0
add r2, r3, r2
ldr r3, _02241B2C ; =ov83_022477EC
mov r0, #2
mov r1, #0
bx r3
nop
_02241B28: .word 0x00000868
_02241B2C: .word ov83_022477EC
thumb_func_end ov83_02241B18
thumb_func_start ov83_02241B30
ov83_02241B30: ; 0x02241B30
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r6, r0, #0
ldrb r0, [r6, #9]
mov r1, #1
bl ov80_02237B24
mov r4, #0
str r0, [sp]
cmp r0, #0
ble _02241BB8
add r5, r6, #0
_02241B48:
ldr r0, _02241BBC ; =0x000007A4
add r1, r4, #0
ldr r0, [r6, r0]
bl GetPartyMonByIndex
str r0, [sp, #4]
mov r1, #0xa3
mov r2, #0
bl GetMonData
add r7, r0, #0
ldr r0, [sp, #4]
mov r1, #0xa4
mov r2, #0
bl GetMonData
add r1, r0, #0
lsl r0, r7, #0x10
lsl r1, r1, #0x10
lsr r0, r0, #0x10
lsr r1, r1, #0x10
bl ov80_0222A43C
add r1, r0, #0
ldr r0, _02241BC0 ; =0x0000073C
ldr r0, [r5, r0]
cmp r0, #0
beq _02241BAE
bl ov83_02247600
ldrb r0, [r6, #0x14]
ldrb r1, [r6, #0xd]
bl ov83_02247768
cmp r4, r0
bne _02241B98
ldrb r1, [r6, #0xd]
ldrb r0, [r6, #0x15]
cmp r1, r0
blo _02241BA4
_02241B98:
ldr r0, _02241BC0 ; =0x0000073C
mov r1, #0
ldr r0, [r5, r0]
bl ov83_0224760C
b _02241BAE
_02241BA4:
ldr r0, _02241BC0 ; =0x0000073C
mov r1, #1
ldr r0, [r5, r0]
bl ov83_0224760C
_02241BAE:
ldr r0, [sp]
add r4, r4, #1
add r5, r5, #4
cmp r4, r0
blt _02241B48
_02241BB8:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02241BBC: .word 0x000007A4
_02241BC0: .word 0x0000073C
thumb_func_end ov83_02241B30
thumb_func_start ov83_02241BC4
ov83_02241BC4: ; 0x02241BC4
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
str r2, [sp]
ldrb r0, [r5, #9]
add r6, r1, #0
mov r1, #0
bl ov80_02237B24
ldr r0, [sp]
cmp r0, #4
beq _02241BE0
mov r0, #1
b _02241BE2
_02241BE0:
mov r0, #0
_02241BE2:
ldrb r7, [r5, #0x15]
lsl r0, r0, #0x18
lsr r4, r0, #0x18
add r0, r7, #0
add r1, r6, #0
bl ov83_0224776C
bl sub_0203769C
cmp r0, #0
bne _02241CC4
cmp r6, r7
bhs _02241C92
add r0, r5, #0
mov r1, #5
bl ov83_02240C6C
ldr r0, _02241DC4 ; =0x0000050C
ldrb r1, [r5, #9]
ldr r0, [r5, r0]
add r2, r4, #0
bl ov83_0224777C
add r2, r0, #0
mov r0, #6
add r6, r4, #0
mul r6, r0
ldr r3, _02241DC8 ; =ov83_02247D48
lsl r2, r2, #1
add r3, r3, r6
ldrb r1, [r5, #9]
ldrh r2, [r2, r3]
ldr r0, [r5, #4]
bl ov80_02237FA4
ldr r0, _02241DC4 ; =0x0000050C
ldrb r1, [r5, #9]
ldr r0, [r5, r0]
add r2, r4, #0
bl ov83_0224777C
add r7, r0, #0
ldr r0, _02241DC4 ; =0x0000050C
ldr r0, [r5, r0]
bl sub_0203107C
str r0, [sp, #4]
ldrb r0, [r5, #9]
add r1, r4, #0
bl sub_0205C174
str r0, [sp, #8]
ldrb r0, [r5, #9]
add r1, r4, #0
bl sub_0205C174
bl sub_0205C268
add r3, r7, #1
add r2, r0, #0
lsl r3, r3, #0x10
ldr r0, [sp, #4]
ldr r1, [sp, #8]
lsr r3, r3, #0x10
bl sub_02031108
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #1
beq _02241C72
b _02241D8C
_02241C72:
ldr r0, [sp]
ldrb r1, [r5, #0xe]
cmp r0, #4
bne _02241C86
mov r0, #0x60
bic r1, r0
mov r0, #0x20
orr r0, r1
strb r0, [r5, #0xe]
b _02241D8C
_02241C86:
mov r0, #0x60
bic r1, r0
mov r0, #0x40
orr r0, r1
strb r0, [r5, #0xe]
b _02241D8C
_02241C92:
ldr r0, [r5, #0x24]
mov r1, #5
bl ov83_022477C4
ldr r0, _02241DCC ; =0x000007FF
add r6, r4, #0
add r1, r5, r0
ldrb r7, [r1, r4]
mov r0, #6
mul r6, r0
ldr r0, _02241DCC ; =0x000007FF
ldr r2, _02241DC8 ; =ov83_02247D48
add r0, r0, #3
lsl r3, r7, #1
add r2, r2, r6
ldrh r0, [r5, r0]
ldrh r2, [r3, r2]
sub r0, r0, r2
ldr r2, _02241DCC ; =0x000007FF
add r2, r2, #3
strh r0, [r5, r2]
ldrb r0, [r1, r4]
add r0, r0, #1
strb r0, [r1, r4]
b _02241D8C
_02241CC4:
cmp r6, r7
bhs _02241CFA
ldr r0, [r5, #0x24]
mov r1, #5
bl ov83_022477C4
ldr r0, _02241DCC ; =0x000007FF
add r6, r4, #0
add r1, r5, r0
ldrb r7, [r1, r4]
mov r0, #6
mul r6, r0
ldr r0, _02241DCC ; =0x000007FF
ldr r2, _02241DC8 ; =ov83_02247D48
add r0, r0, #3
lsl r3, r7, #1
add r2, r2, r6
ldrh r0, [r5, r0]
ldrh r2, [r3, r2]
sub r0, r0, r2
ldr r2, _02241DCC ; =0x000007FF
add r2, r2, #3
strh r0, [r5, r2]
ldrb r0, [r1, r4]
add r0, r0, #1
strb r0, [r1, r4]
b _02241D8C
_02241CFA:
add r0, r5, #0
mov r1, #5
bl ov83_02240C6C
ldr r0, _02241DC4 ; =0x0000050C
ldrb r1, [r5, #9]
ldr r0, [r5, r0]
add r2, r4, #0
bl ov83_0224777C
add r2, r0, #0
mov r0, #6
add r6, r4, #0
mul r6, r0
ldr r3, _02241DC8 ; =ov83_02247D48
lsl r2, r2, #1
add r3, r3, r6
ldrb r1, [r5, #9]
ldrh r2, [r2, r3]
ldr r0, [r5, #4]
bl ov80_02237FA4
ldr r0, _02241DC4 ; =0x0000050C
ldrb r1, [r5, #9]
ldr r0, [r5, r0]
add r2, r4, #0
bl ov83_0224777C
add r7, r0, #0
ldr r0, _02241DC4 ; =0x0000050C
ldr r0, [r5, r0]
bl sub_0203107C
str r0, [sp, #0xc]
ldrb r0, [r5, #9]
add r1, r4, #0
bl sub_0205C174
str r0, [sp, #0x10]
ldrb r0, [r5, #9]
add r1, r4, #0
bl sub_0205C174
bl sub_0205C268
add r3, r7, #1
add r2, r0, #0
lsl r3, r3, #0x10
ldr r0, [sp, #0xc]
ldr r1, [sp, #0x10]
lsr r3, r3, #0x10
bl sub_02031108
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #1
bne _02241D8C
ldr r0, [sp]
ldrb r1, [r5, #0xe]
cmp r0, #4
bne _02241D82
mov r0, #0x60
bic r1, r0
mov r0, #0x20
orr r0, r1
strb r0, [r5, #0xe]
b _02241D8C
_02241D82:
mov r0, #0x60
bic r1, r0
mov r0, #0x40
orr r0, r1
strb r0, [r5, #0xe]
_02241D8C:
add r0, r5, #0
bl ov83_02241730
add r1, r5, #0
add r0, r5, #0
add r1, #0x50
bl ov83_02241770
ldr r0, _02241DD0 ; =0x00000508
ldr r0, [r5, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r5, #0
add r0, #0xb0
bl ov83_02247944
ldr r1, _02241DD4 ; =ov83_02247D5A
lsl r2, r7, #1
add r1, r1, r6
ldrh r1, [r2, r1]
add r0, r5, #0
mov r2, #1
bl ov83_0223FD14
strb r0, [r5, #0xa]
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02241DC4: .word 0x0000050C
_02241DC8: .word ov83_02247D48
_02241DCC: .word 0x000007FF
_02241DD0: .word 0x00000508
_02241DD4: .word ov83_02247D5A
thumb_func_end ov83_02241BC4
thumb_func_start ov83_02241DD8
ov83_02241DD8: ; 0x02241DD8
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r0, #0
add r4, r1, #0
add r0, r2, #0
add r1, r3, #0
bl NewString_ReadMsgData
add r6, r0, #0
ldr r0, [r5, #0x24]
ldr r1, [r5, #0x28]
add r2, r6, #0
bl StringExpandPlaceholders
ldr r0, [sp, #0x28]
ldr r2, [sp, #0x20]
str r0, [sp]
ldr r0, [sp, #0x2c]
ldr r3, [sp, #0x24]
str r0, [sp, #4]
ldr r0, [sp, #0x30]
str r0, [sp, #8]
ldr r1, [r5, #0x28]
add r0, r4, #0
bl ov83_02247998
add r0, r6, #0
bl String_Delete
add sp, #0xc
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov83_02241DD8
thumb_func_start ov83_02241E18
ov83_02241E18: ; 0x02241E18
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
ldrb r0, [r5, #0x14]
ldrb r1, [r5, #0xd]
bl ov83_02247768
add r1, r0, #0
ldr r0, _02241FA8 ; =0x000007A4
ldr r0, [r5, r0]
bl GetPartyMonByIndex
add r6, r0, #0
bl AcquireMonLock
str r0, [sp, #4]
ldr r0, _02241FAC ; =0x00000804
str r6, [r5, r0]
add r0, r6, #0
bl Mon_GetBoxMon
ldr r1, _02241FB0 ; =0x00000808
mov r2, #0
str r0, [r5, r1]
add r0, r6, #0
mov r1, #5
bl GetMonData
ldr r1, _02241FB4 ; =0x0000080C
mov r2, #0
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa1
bl GetMonData
ldr r1, _02241FB8 ; =0x0000080F
mov r2, #0
strb r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa
bl GetMonData
mov r1, #0x81
lsl r1, r1, #4
strb r0, [r5, r1]
add r0, r6, #0
bl GetMonNature
ldr r1, _02241FBC ; =0x00000811
mov r2, #0
strb r0, [r5, r1]
add r0, r6, #0
mov r1, #6
bl GetMonData
ldr r1, _02241FC0 ; =0x00000812
mov r2, #0
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa3
bl GetMonData
ldr r1, _02241FC4 ; =0x00000818
mov r2, #0
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa4
bl GetMonData
ldr r1, _02241FC8 ; =0x0000081A
mov r2, #0
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa5
bl GetMonData
ldr r1, _02241FCC ; =0x0000081C
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa8
mov r2, #0
bl GetMonData
ldr r1, _02241FD0 ; =0x0000081E
mov r2, #0
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa6
bl GetMonData
mov r1, #0x82
lsl r1, r1, #4
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa9
mov r2, #0
bl GetMonData
ldr r1, _02241FD4 ; =0x00000822
mov r2, #0
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa7
bl GetMonData
ldr r1, _02241FD8 ; =0x00000824
mov r2, #0
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0x70
bl GetMonData
ldr r1, _02241FDC ; =0x00000826
strb r0, [r5, r1]
mov r1, #0
add r0, r6, #0
add r2, r1, #0
bl GetMonData
ldr r1, _02241FE0 ; =0x00000814
mov r2, #0
str r0, [r5, r1]
add r0, r6, #0
mov r1, #0xb0
bl GetMonData
cmp r0, #1
ldr r1, _02241FE4 ; =0x0000080E
bne _02241F24
ldrb r2, [r5, r1]
mov r0, #0x80
bic r2, r0
strb r2, [r5, r1]
b _02241F2C
_02241F24:
ldrb r2, [r5, r1]
mov r0, #0x80
orr r0, r2
strb r0, [r5, r1]
_02241F2C:
add r0, r6, #0
bl GetMonGender
ldr r3, _02241FE4 ; =0x0000080E
mov r2, #0x7f
ldrb r1, [r5, r3]
mov r4, #0
bic r1, r2
mov r2, #0x7f
and r0, r2
orr r0, r1
strb r0, [r5, r3]
_02241F44:
lsl r0, r4, #1
add r0, r5, r0
add r1, r4, #0
str r0, [sp]
add r0, r6, #0
add r1, #0x36
mov r2, #0
bl GetMonData
ldr r2, [sp]
ldr r1, _02241FE8 ; =0x00000828
add r7, r5, r4
strh r0, [r2, r1]
add r1, r4, #0
add r0, r6, #0
add r1, #0x3a
mov r2, #0
bl GetMonData
mov r1, #0x83
lsl r1, r1, #4
strb r0, [r7, r1]
add r1, r4, #0
add r0, r6, #0
add r1, #0x3e
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r1, r0, #0x10
lsl r1, r1, #0x18
ldr r2, [sp]
ldr r0, _02241FE8 ; =0x00000828
lsr r1, r1, #0x18
ldrh r0, [r2, r0]
bl GetMoveMaxPP
ldr r1, _02241FEC ; =0x00000834
strb r0, [r7, r1]
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, #4
blo _02241F44
ldr r1, [sp, #4]
add r0, r6, #0
bl ReleaseMonLock
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02241FA8: .word 0x000007A4
_02241FAC: .word 0x00000804
_02241FB0: .word 0x00000808
_02241FB4: .word 0x0000080C
_02241FB8: .word 0x0000080F
_02241FBC: .word 0x00000811
_02241FC0: .word 0x00000812
_02241FC4: .word 0x00000818
_02241FC8: .word 0x0000081A
_02241FCC: .word 0x0000081C
_02241FD0: .word 0x0000081E
_02241FD4: .word 0x00000822
_02241FD8: .word 0x00000824
_02241FDC: .word 0x00000826
_02241FE0: .word 0x00000814
_02241FE4: .word 0x0000080E
_02241FE8: .word 0x00000828
_02241FEC: .word 0x00000834
thumb_func_end ov83_02241E18
thumb_func_start ov83_02241FF0
ov83_02241FF0: ; 0x02241FF0
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #0x19
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x1b
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x1d
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x1f
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x21
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x23
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x25
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x27
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x29
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x2b
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r3, #0
str r3, [sp]
ldr r0, _022421DC ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x19
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x58
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _022421DC ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x1b
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x4a
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _022421DC ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x1d
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x48
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _022421DC ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x1f
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x46
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _022421DC ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x21
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x59
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _022421DC ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x23
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x4c
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _022421DC ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x25
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x50
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _022421DC ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x27
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x4e
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _022421DC ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x29
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x52
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _022421DC ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x2b
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x54
bl ov83_022479E4
mov r0, #0x19
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x1b
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x1d
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x1f
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x21
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x23
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x25
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x27
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x29
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x2b
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
add sp, #0x10
pop {r4, pc}
nop
_022421DC: .word 0x00010200
thumb_func_end ov83_02241FF0
thumb_func_start ov83_022421E0
ov83_022421E0: ; 0x022421E0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
add r4, r0, #0
mov r0, #0x17
lsl r0, r0, #4
str r1, [sp, #0x14]
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #6
lsl r0, r0, #6
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x1a
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #7
lsl r0, r0, #6
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x1e
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #2
lsl r0, r0, #8
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x22
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #9
lsl r0, r0, #6
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x26
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0xa
lsl r0, r0, #6
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x2a
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0xb
lsl r0, r0, #6
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x2d
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x2e
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x2f
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #3
lsl r0, r0, #8
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x31
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x32
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x33
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0xd
lsl r0, r0, #6
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
ldr r0, _0224262C ; =0x00000804
ldr r0, [r4, r0]
bl Mon_GetBoxMon
add r2, r0, #0
ldr r0, [r4, #0x24]
mov r1, #0
bl BufferBoxMonNickname
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02242630 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
mov r1, #0x17
lsl r1, r1, #4
ldr r2, [r4, #0x20]
add r0, r4, #0
add r1, r4, r1
mov r3, #0x5b
bl ov83_02241DD8
ldr r0, _02242634 ; =0x0000080E
ldrb r0, [r4, r0]
lsl r1, r0, #0x18
lsr r1, r1, #0x1f
bne _02242354
lsl r0, r0, #0x19
lsr r0, r0, #0x19
bne _02242334
mov r3, #0
str r3, [sp]
ldr r0, _02242638 ; =0x00050600
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #6
lsl r0, r0, #6
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x56
bl ov83_022479E4
b _02242354
_02242334:
cmp r0, #1
bne _02242354
mov r3, #0
str r3, [sp]
mov r0, #0xc1
str r3, [sp, #4]
lsl r0, r0, #0xa
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #6
lsl r0, r0, #6
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x57
bl ov83_022479E4
_02242354:
mov r1, #0
ldr r2, _0224263C ; =0x0000080F
str r1, [sp]
ldrb r2, [r4, r2]
add r0, r4, #0
mov r3, #3
bl ov83_02240C48
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02242630 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
mov r1, #0x1a
lsl r1, r1, #4
ldr r2, [r4, #0x20]
add r0, r4, #0
add r1, r4, r1
mov r3, #0x5e
bl ov83_02241DD8
mov r2, #0x81
lsl r2, r2, #4
ldrb r2, [r4, r2]
ldr r0, [r4, #0x24]
mov r1, #0
bl BufferAbilityName
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02242630 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
mov r1, #7
lsl r1, r1, #6
ldr r2, [r4, #0x20]
add r0, r4, #0
add r1, r4, r1
mov r3, #0x4b
bl ov83_02241DD8
ldr r2, _02242640 ; =0x00000811
ldr r0, [r4, #0x24]
ldrb r2, [r4, r2]
mov r1, #0
bl BufferNatureName
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02242630 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
mov r1, #0x1e
lsl r1, r1, #4
ldr r2, [r4, #0x20]
add r0, r4, #0
add r1, r4, r1
mov r3, #0x49
bl ov83_02241DD8
ldr r2, _02242644 ; =0x00000812
ldr r0, [r4, #0x24]
ldrh r2, [r4, r2]
mov r1, #0
bl BufferItemName
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02242630 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
mov r1, #2
lsl r1, r1, #8
ldr r2, [r4, #0x20]
add r0, r4, #0
add r1, r4, r1
mov r3, #0x47
bl ov83_02241DD8
mov r1, #0
ldr r2, _02242648 ; =0x00000818
str r1, [sp]
ldrh r2, [r4, r2]
add r0, r4, #0
mov r3, #3
bl ov83_02240C48
mov r0, #0
str r0, [sp]
ldr r2, _0224264C ; =0x0000081A
add r0, r4, #0
ldrh r2, [r4, r2]
mov r1, #1
mov r3, #3
bl ov83_02240C48
mov r0, #0x22
lsl r0, r0, #4
add r0, r4, r0
bl GetWindowWidth
lsl r0, r0, #3
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02242630 ; =0x00010200
mov r1, #0x22
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
lsl r1, r1, #4
ldr r2, [r4, #0x20]
add r0, r4, #0
add r1, r4, r1
mov r3, #0x5f
bl ov83_02241DD8
mov r1, #0
ldr r2, _02242650 ; =0x0000081C
str r1, [sp]
ldrh r2, [r4, r2]
add r0, r4, #0
mov r3, #3
bl ov83_02240C48
mov r0, #9
lsl r0, r0, #6
add r0, r4, r0
bl GetWindowWidth
lsl r0, r0, #3
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02242630 ; =0x00010200
mov r1, #9
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
lsl r1, r1, #6
ldr r2, [r4, #0x20]
add r0, r4, #0
add r1, r4, r1
mov r3, #0x4d
bl ov83_02241DD8
mov r1, #0
ldr r2, _02242654 ; =0x0000081E
str r1, [sp]
ldrh r2, [r4, r2]
add r0, r4, #0
mov r3, #3
bl ov83_02240C48
mov r0, #0x26
lsl r0, r0, #4
add r0, r4, r0
bl GetWindowWidth
lsl r0, r0, #3
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02242630 ; =0x00010200
mov r1, #0x26
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
lsl r1, r1, #4
ldr r2, [r4, #0x20]
add r0, r4, #0
add r1, r4, r1
mov r3, #0x51
bl ov83_02241DD8
mov r1, #0
mov r2, #0x82
str r1, [sp]
lsl r2, r2, #4
ldrh r2, [r4, r2]
add r0, r4, #0
mov r3, #3
bl ov83_02240C48
mov r0, #0xa
lsl r0, r0, #6
add r0, r4, r0
bl GetWindowWidth
lsl r0, r0, #3
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02242630 ; =0x00010200
mov r1, #0xa
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
lsl r1, r1, #6
ldr r2, [r4, #0x20]
add r0, r4, #0
add r1, r4, r1
mov r3, #0x4f
bl ov83_02241DD8
mov r1, #0
ldr r2, _02242658 ; =0x00000822
str r1, [sp]
ldrh r2, [r4, r2]
add r0, r4, #0
mov r3, #3
bl ov83_02240C48
mov r0, #0x2a
lsl r0, r0, #4
add r0, r4, r0
bl GetWindowWidth
lsl r0, r0, #3
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02242630 ; =0x00010200
mov r1, #0x2a
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
lsl r1, r1, #4
ldr r2, [r4, #0x20]
add r0, r4, #0
add r1, r4, r1
mov r3, #0x53
bl ov83_02241DD8
mov r1, #0
ldr r2, _0224265C ; =0x00000824
str r1, [sp]
ldrh r2, [r4, r2]
add r0, r4, #0
mov r3, #3
bl ov83_02240C48
mov r0, #0xb
lsl r0, r0, #6
add r0, r4, r0
bl GetWindowWidth
lsl r0, r0, #3
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02242630 ; =0x00010200
mov r1, #0xb
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
lsl r1, r1, #6
ldr r2, [r4, #0x20]
add r0, r4, #0
add r1, r4, r1
mov r3, #0x55
bl ov83_02241DD8
add r6, r4, #0
mov r5, #0
str r4, [sp, #0x1c]
add r6, #0x50
_02242586:
ldr r3, [sp, #0x1c]
ldr r2, _02242660 ; =0x00000828
ldr r0, [r4, #0x24]
ldrh r2, [r3, r2]
add r1, r5, #0
bl BufferMoveName
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02242630 ; =0x00010200
add r1, r5, #0
str r0, [sp, #0xc]
mov r0, #0
str r0, [sp, #0x10]
add r1, #0x28
lsl r1, r1, #4
add r3, r5, #0
ldr r2, [r4, #0x20]
add r0, r4, #0
add r1, r6, r1
add r3, #0x60
bl ov83_02241DD8
ldr r1, [sp, #0x1c]
ldr r0, _02242660 ; =0x00000828
ldrh r0, [r1, r0]
cmp r0, #0
bne _022425F2
add r0, r5, #0
add r0, #0x2c
lsl r7, r0, #4
add r0, r6, r7
bl GetWindowWidth
add r3, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _02242630 ; =0x00010200
lsl r3, r3, #3
str r0, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
add r0, r6, r7
lsr r7, r3, #0x1f
add r7, r3, r7
ldr r1, [r4, #0x20]
mov r2, #0x66
asr r3, r7, #1
bl ov83_022479E4
b _02242712
_022425F2:
ldr r0, [r4, #0x20]
mov r1, #0x5a
bl NewString_ReadMsgData
str r0, [sp, #0x28]
mov r0, #0
ldr r1, [sp, #0x28]
add r2, r0, #0
bl FontID_String_GetWidth
lsl r0, r0, #0xf
lsr r0, r0, #0x10
str r0, [sp, #0x24]
add r0, r5, #0
add r0, #0x2c
lsl r7, r0, #4
add r0, r6, r7
bl GetWindowWidth
lsl r1, r0, #3
lsr r0, r1, #0x1f
add r0, r1, r0
lsl r0, r0, #0xf
lsr r0, r0, #0x10
str r0, [sp, #0x20]
mov r0, #0
str r0, [sp]
ldr r0, _02242630 ; =0x00010200
b _02242664
.balign 4, 0
_0224262C: .word 0x00000804
_02242630: .word 0x00010200
_02242634: .word 0x0000080E
_02242638: .word 0x00050600
_0224263C: .word 0x0000080F
_02242640: .word 0x00000811
_02242644: .word 0x00000812
_02242648: .word 0x00000818
_0224264C: .word 0x0000081A
_02242650: .word 0x0000081C
_02242654: .word 0x0000081E
_02242658: .word 0x00000822
_0224265C: .word 0x00000824
_02242660: .word 0x00000828
_02242664:
ldr r1, [sp, #0x28]
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
ldr r2, [sp, #0x20]
add r0, r6, r7
mov r3, #0
bl ov83_02247998
ldr r0, [sp, #0x28]
bl String_Delete
add r0, r4, r5
str r0, [sp, #0x18]
mov r0, #0
mov r2, #0x83
str r0, [sp]
ldr r3, [sp, #0x18]
lsl r2, r2, #4
ldrb r2, [r3, r2]
add r0, r4, #0
mov r1, #0
mov r3, #2
bl ov83_02240C48
ldr r0, [r4, #0x20]
mov r1, #0x65
bl NewString_ReadMsgData
str r0, [sp, #0x2c]
ldr r0, [r4, #0x24]
ldr r1, [r4, #0x28]
ldr r2, [sp, #0x2c]
bl StringExpandPlaceholders
mov r0, #0
ldr r1, [r4, #0x28]
add r2, r0, #0
bl FontID_String_GetWidth
mov ip, r0
mov r0, #0
str r0, [sp]
ldr r0, _0224280C ; =0x00010200
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
ldr r3, [sp, #0x20]
ldr r2, [sp, #0x24]
ldr r1, [r4, #0x28]
sub r2, r3, r2
mov r3, ip
sub r2, r2, r3
add r0, r6, r7
mov r3, #0
bl ov83_02247998
ldr r0, [sp, #0x2c]
bl String_Delete
mov r0, #0
str r0, [sp]
ldr r3, [sp, #0x18]
ldr r2, _02242810 ; =0x00000834
add r0, r4, #0
ldrb r2, [r3, r2]
mov r1, #0
mov r3, #2
bl ov83_02240C48
ldr r1, [sp, #0x20]
ldr r0, [sp, #0x24]
mov r3, #0x65
add r0, r1, r0
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _0224280C ; =0x00010200
add r1, r6, r7
str r0, [sp, #0xc]
mov r0, #0
str r0, [sp, #0x10]
ldr r2, [r4, #0x20]
add r0, r4, #0
bl ov83_02241DD8
_02242712:
ldr r0, [sp, #0x1c]
add r5, r5, #1
add r0, r0, #2
str r0, [sp, #0x1c]
cmp r5, #4
bhs _02242720
b _02242586
_02242720:
ldr r0, [sp, #0x14]
cmp r0, #1
bne _02242740
mov r0, #0x17
lsl r0, r0, #4
mov r5, #0x12
add r4, r4, r0
_0224272E:
add r0, r4, #0
bl ScheduleWindowCopyToVram
add r5, r5, #1
add r4, #0x10
cmp r5, #0x2f
bls _0224272E
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
_02242740:
mov r0, #0x17
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #6
lsl r0, r0, #6
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x1a
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #7
lsl r0, r0, #6
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x1e
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #2
lsl r0, r0, #8
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x22
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #9
lsl r0, r0, #6
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x26
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0xa
lsl r0, r0, #6
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x2a
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0xb
lsl r0, r0, #6
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x2d
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x2e
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x2f
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #3
lsl r0, r0, #8
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x31
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x32
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x33
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0xd
lsl r0, r0, #6
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0224280C: .word 0x00010200
_02242810: .word 0x00000834
thumb_func_end ov83_022421E0
thumb_func_start ov83_02242814
ov83_02242814: ; 0x02242814
push {r3, r4, r5, lr}
add r4, r0, #0
add r5, r1, #0
bl ov83_02241E18
add r0, r4, #0
add r1, r5, #0
bl ov83_022421E0
mov r3, #0x1e
lsl r3, r3, #6
add r2, r3, #0
add r1, r3, #0
add r2, #0x8c
ldr r0, [r4, r3]
add r1, #0x88
add r3, #0x94
ldrh r2, [r4, r2]
ldr r1, [r4, r1]
ldr r3, [r4, r3]
bl ov83_02247668
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov83_02242814
thumb_func_start ov83_02242844
ov83_02242844: ; 0x02242844
push {r4, r5, r6, lr}
add r6, r0, #0
cmp r1, #1
bne _02242870
mov r0, #0x17
lsl r0, r0, #4
mov r4, #0x12
add r5, r6, r0
_02242854:
add r0, r5, #0
bl ScheduleWindowCopyToVram
add r4, r4, #1
add r5, #0x10
cmp r4, #0x2f
bls _02242854
mov r0, #0x1e
lsl r0, r0, #6
ldr r0, [r6, r0]
mov r1, #1
bl ov83_0224755C
pop {r4, r5, r6, pc}
_02242870:
mov r0, #0x17
lsl r0, r0, #4
mov r5, #0x12
add r4, r6, r0
_02242878:
add r0, r4, #0
bl ClearWindowTilemapAndScheduleTransfer
add r5, r5, #1
add r4, #0x10
cmp r5, #0x2f
bls _02242878
mov r0, #0x1e
lsl r0, r0, #6
ldr r0, [r6, r0]
mov r1, #0
bl ov83_0224755C
pop {r4, r5, r6, pc}
thumb_func_end ov83_02242844
thumb_func_start ov83_02242894
ov83_02242894: ; 0x02242894
lsl r3, r0, #0x1f
lsr r3, r3, #0x18
add r3, #0x14
strh r3, [r1]
lsr r1, r0, #1
mov r0, #0x28
mul r0, r1
add r0, #0x38
strh r0, [r2]
bx lr
thumb_func_end ov83_02242894
thumb_func_start ov83_022428A8
ov83_022428A8: ; 0x022428A8
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r6, r0, #0
str r0, [sp, #0x14]
add r0, #0x50
add r7, r1, #0
mov r4, #0
add r5, r6, #0
str r0, [sp, #0x14]
_022428BA:
add r0, r4, #0
add r0, #0x30
lsl r1, r0, #4
ldr r0, [sp, #0x14]
add r0, r0, r1
bl ClearWindowTilemapAndScheduleTransfer
cmp r4, r7
ldr r0, _022429CC ; =0x00000784
beq _022428D8
ldr r0, [r5, r0]
mov r1, #0
bl ov83_0224755C
b _022428E2
_022428D8:
ldr r0, [r5, r0]
mov r1, #0x44
mov r2, #0x4c
bl ov83_02247568
_022428E2:
add r4, r4, #1
add r5, r5, #4
cmp r4, #6
blo _022428BA
ldr r0, _022429D0 ; =0x0000077C
mov r1, #0
ldr r0, [r6, r0]
bl ov83_0224755C
mov r0, #0x6b
str r0, [sp]
ldr r0, _022429D4 ; =0x000007A8
mov r1, #0x27
ldr r0, [r6, r0]
mov r2, #1
add r3, sp, #0x18
bl GfGfxLoader_GetScrnDataFromOpenNarc
mov r3, #0
add r4, r0, #0
str r3, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #0x18
str r0, [sp, #8]
ldr r2, [sp, #0x18]
ldr r0, [r6, #0x4c]
mov r1, #2
add r2, #0xc
bl LoadRectToBgTilemapRect
ldr r0, [r6, #0x4c]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
add r0, r4, #0
bl FreeToHeap
mov r0, #0x3b
lsl r0, r0, #4
add r0, r6, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0xf
lsl r0, r0, #6
add r0, r6, r0
mov r1, #0
bl FillWindowPixelBuffer
ldr r0, _022429D8 ; =0x00000862
ldr r2, _022429DC ; =0x000004DC
ldrsh r1, [r6, r0]
mov r0, #6
mul r0, r1
mov r1, #0
add r0, r0, r7
lsl r4, r0, #3
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _022429E0 ; =0x00010200
add r3, r1, #0
str r0, [sp, #8]
str r1, [sp, #0xc]
ldr r2, [r6, r2]
mov r0, #0x3b
lsl r0, r0, #4
ldr r2, [r2, r4]
add r0, r6, r0
bl AddTextPrinterParameterized2
ldr r1, _022429DC ; =0x000004DC
ldrb r2, [r6, #0x13]
ldr r1, [r6, r1]
add r0, r6, #0
add r1, r1, r4
ldr r1, [r1, #4]
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl ov83_02240EC4
add r2, r0, #0
mov r1, #0
add r0, r6, #0
mov r3, #2
str r1, [sp]
bl ov83_02240C48
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _022429E0 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
mov r1, #0xf
lsl r1, r1, #6
ldr r2, [r6, #0x20]
add r0, r6, #0
add r1, r6, r1
mov r3, #0x68
bl ov83_02241DD8
mov r0, #0x3b
lsl r0, r0, #4
add r0, r6, r0
bl ScheduleWindowCopyToVram
mov r0, #0xf
lsl r0, r0, #6
add r0, r6, r0
bl ScheduleWindowCopyToVram
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
nop
_022429CC: .word 0x00000784
_022429D0: .word 0x0000077C
_022429D4: .word 0x000007A8
_022429D8: .word 0x00000862
_022429DC: .word 0x000004DC
_022429E0: .word 0x00010200
thumb_func_end ov83_022428A8
thumb_func_start ov83_022429E4
ov83_022429E4: ; 0x022429E4
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r6, r0, #0
mov r0, #0x3b
lsl r0, r0, #4
add r0, r6, r0
bl ClearWindowTilemapAndScheduleTransfer
mov r0, #0xf
lsl r0, r0, #6
add r0, r6, r0
bl ClearWindowTilemapAndScheduleTransfer
mov r0, #0x6b
str r0, [sp]
ldr r0, _02242AA0 ; =0x000007A8
mov r1, #0x26
ldr r0, [r6, r0]
mov r2, #1
add r3, sp, #0x10
bl GfGfxLoader_GetScrnDataFromOpenNarc
mov r3, #0
add r4, r0, #0
str r3, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #0x18
str r0, [sp, #8]
ldr r2, [sp, #0x10]
ldr r0, [r6, #0x4c]
mov r1, #2
add r2, #0xc
bl LoadRectToBgTilemapRect
ldr r0, [r6, #0x4c]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
add r0, r4, #0
bl FreeToHeap
ldr r0, _02242AA4 ; =0x00000862
mov r4, #0
ldrsh r1, [r6, r0]
mov r0, #6
add r5, r6, #0
add r7, r1, #0
mul r7, r0
_02242A46:
add r1, sp, #0xc
add r0, r4, #0
add r1, #2
add r2, sp, #0xc
bl ov83_02242894
ldr r0, _02242AA8 ; =0x00000784
add r1, sp, #0xc
add r2, sp, #0xc
ldrh r1, [r1, #2]
ldrh r2, [r2]
ldr r0, [r5, r0]
bl ov83_02247568
ldr r0, _02242AAC ; =0x00000861
add r1, r7, r4
ldrb r0, [r6, r0]
cmp r1, r0
bhs _02242A76
ldr r0, _02242AA8 ; =0x00000784
mov r1, #1
ldr r0, [r5, r0]
bl ov83_0224755C
_02242A76:
add r4, r4, #1
add r5, r5, #4
cmp r4, #6
blo _02242A46
ldr r0, _02242AB0 ; =0x0000077C
mov r1, #1
ldr r0, [r6, r0]
bl ov83_0224755C
add r0, r6, #0
bl ov83_02240664
add r0, r6, #0
bl ov83_022407FC
add r0, r6, #0
bl ov83_0224088C
add sp, #0x14
pop {r4, r5, r6, r7, pc}
nop
_02242AA0: .word 0x000007A8
_02242AA4: .word 0x00000862
_02242AA8: .word 0x00000784
_02242AAC: .word 0x00000861
_02242AB0: .word 0x0000077C
thumb_func_end ov83_022429E4
thumb_func_start ov83_02242AB4
ov83_02242AB4: ; 0x02242AB4
ldr r3, _02242ABC ; =ov83_02240DB0
strb r1, [r0, #0xd]
strb r2, [r0, #0xc]
bx r3
.balign 4, 0
_02242ABC: .word ov83_02240DB0
thumb_func_end ov83_02242AB4
thumb_func_start ov83_02242AC0
ov83_02242AC0: ; 0x02242AC0
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _02242ADC ; =0x0000077C
add r4, r3, #0
ldr r0, [r5, r0]
bl ov83_02247568
ldr r0, _02242ADC ; =0x0000077C
add r1, r4, #0
ldr r0, [r5, r0]
bl ov83_022475D4
pop {r3, r4, r5, pc}
nop
_02242ADC: .word 0x0000077C
thumb_func_end ov83_02242AC0
thumb_func_start ov83_02242AE0
ov83_02242AE0: ; 0x02242AE0
ldr r3, _02242AE8 ; =ov83_022408E0
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bx r3
.balign 4, 0
_02242AE8: .word ov83_022408E0
thumb_func_end ov83_02242AE0
thumb_func_start ov83_02242AEC
ov83_02242AEC: ; 0x02242AEC
push {r4, r5, r6, r7, lr}
sub sp, #0x2c
add r5, r0, #0
add r0, sp, #4
add r4, r1, #0
add r0, #2
add r1, sp, #4
add r6, r2, #0
add r7, r3, #0
bl ov83_02247988
ldr r0, _02242B9C ; =_02247D0C
add r1, sp, #4
ldrh r2, [r0, #0x1e]
add r3, sp, #8
strh r2, [r1, #0x1c]
ldrh r2, [r0, #0x20]
strh r2, [r1, #0x1e]
ldrh r2, [r0, #0x22]
strh r2, [r1, #0x20]
ldrh r2, [r0, #0x24]
strh r2, [r1, #0x22]
ldrh r2, [r0, #0x26]
ldrh r0, [r0, #0x28]
strh r2, [r1, #0x24]
strh r0, [r1, #0x26]
ldrh r0, [r1, #2]
strh r0, [r1, #0x22]
ldrh r2, [r1]
add r0, r0, r2
sub r0, #0x1b
strh r0, [r1, #0x24]
strh r2, [r1, #0x26]
ldrh r0, [r1, #0x1c]
strh r0, [r1, #4]
ldrh r0, [r1, #0x1e]
strh r0, [r1, #6]
ldrh r0, [r1, #0x20]
strh r0, [r1, #8]
ldrh r0, [r1, #0x22]
strh r0, [r1, #0xa]
ldrh r0, [r1, #0x24]
strh r0, [r1, #0xc]
ldrh r0, [r1, #0x26]
strh r0, [r1, #0xe]
ldr r0, _02242BA0 ; =0x00000844
ldr r2, [r5, r0]
sub r0, #8
str r2, [sp, #0x14]
ldr r2, [r5, #0x4c]
str r2, [sp, #0x18]
strb r4, [r1, #0x18]
add r1, sp, #0x30
ldrb r1, [r1, #0x10]
add r2, r6, #0
str r1, [sp]
add r1, r3, #0
ldr r0, [r5, r0]
add r3, r7, #0
bl ov83_02247CCC
mov r1, #0x21
lsl r1, r1, #6
str r0, [r5, r1]
ldrb r1, [r5, #0xe]
mov r0, #0x10
orr r0, r1
strb r0, [r5, #0xe]
ldrb r0, [r5, #9]
mov r1, #1
bl ov80_02237B24
add r4, r0, #0
ldr r0, _02242BA4 ; =0x0000073C
add r1, r4, #0
add r0, r5, r0
mov r2, #1
bl ov83_0224773C
ldr r0, _02242BA8 ; =0x0000074C
add r1, r4, #0
add r0, r5, r0
mov r2, #1
bl ov83_0224773C
add sp, #0x2c
pop {r4, r5, r6, r7, pc}
nop
_02242B9C: .word _02247D0C
_02242BA0: .word 0x00000844
_02242BA4: .word 0x0000073C
_02242BA8: .word 0x0000074C
thumb_func_end ov83_02242AEC
thumb_func_start ov83_02242BAC
ov83_02242BAC: ; 0x02242BAC
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
mov r0, #3
mov r1, #0x6b
bl ListMenuItems_New
ldr r1, _02242BE8 ; =0x00000844
ldr r5, _02242BEC ; =ov83_02247D6C
str r0, [r6, r1]
mov r4, #0
add r7, r1, #0
_02242BC2:
ldr r0, [r6, r7]
ldr r1, [r6, #0x20]
ldr r2, [r5]
ldr r3, [r5, #4]
bl ListMenuItems_AppendFromMsgData
add r4, r4, #1
add r5, #8
cmp r4, #3
blo _02242BC2
mov r0, #0xd
str r0, [sp]
add r0, r6, #0
mov r1, #3
mov r2, #0x11
mov r3, #8
bl ov83_02242AEC
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02242BE8: .word 0x00000844
_02242BEC: .word ov83_02247D6C
thumb_func_end ov83_02242BAC
thumb_func_start ov83_02242BF0
ov83_02242BF0: ; 0x02242BF0
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
mov r0, #5
mov r1, #0x6b
bl ListMenuItems_New
ldr r1, _02242C9C ; =0x00000844
mov r2, #0
str r0, [r4, r1]
ldr r0, _02242CA0 ; =0x0000050C
ldrb r1, [r4, #9]
ldr r0, [r4, r0]
bl ov83_0224777C
mov r5, #0
add r7, r0, #0
add r6, r5, #0
_02242C12:
mov r0, #0xc
add r1, r6, #0
mul r1, r0
ldr r0, _02242CA4 ; =ov83_02247F4C
add r2, r0, r1
ldr r3, [r2, #8]
cmp r3, #4
bhi _02242C6A
add r0, r3, r3
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02242C2E: ; jump table
.short _02242C6A - _02242C2E - 2 ; case 0
.short _02242C38 - _02242C2E - 2 ; case 1
.short _02242C38 - _02242C2E - 2 ; case 2
.short _02242C38 - _02242C2E - 2 ; case 3
.short _02242C52 - _02242C2E - 2 ; case 4
_02242C38:
ldr r0, [r2]
cmp r7, r0
blo _02242C7C
ldr r0, _02242C9C ; =0x00000844
ldr r1, [r4, #0x20]
ldr r0, [r4, r0]
ldr r2, [r2, #4]
bl ListMenuItems_AppendFromMsgData
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
b _02242C7C
_02242C52:
cmp r7, #3
beq _02242C7C
ldr r0, _02242C9C ; =0x00000844
ldr r1, [r4, #0x20]
ldr r0, [r4, r0]
ldr r2, [r2, #4]
bl ListMenuItems_AppendFromMsgData
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
b _02242C7C
_02242C6A:
ldr r0, _02242C9C ; =0x00000844
ldr r1, [r4, #0x20]
ldr r0, [r4, r0]
ldr r2, [r2, #4]
bl ListMenuItems_AppendFromMsgData
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
_02242C7C:
add r0, r6, #1
lsl r0, r0, #0x18
lsr r6, r0, #0x18
cmp r6, #5
blo _02242C12
ldr r3, _02242CA8 ; =ov83_02248008
mov r0, #0xd
ldrb r3, [r3, r5]
str r0, [sp]
add r0, r4, #0
add r1, r5, #0
mov r2, #0x11
bl ov83_02242AEC
pop {r3, r4, r5, r6, r7, pc}
nop
_02242C9C: .word 0x00000844
_02242CA0: .word 0x0000050C
_02242CA4: .word ov83_02247F4C
_02242CA8: .word ov83_02248008
thumb_func_end ov83_02242BF0
thumb_func_start ov83_02242CAC
ov83_02242CAC: ; 0x02242CAC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #4
mov r1, #0x6b
bl ListMenuItems_New
ldr r1, _02242D4C ; =0x00000844
mov r2, #1
str r0, [r5, r1]
ldr r0, _02242D50 ; =0x0000050C
ldrb r1, [r5, #9]
ldr r0, [r5, r0]
bl ov83_0224777C
mov r4, #0
add r7, r0, #0
add r6, r4, #0
_02242CCE:
mov r0, #0xc
add r1, r6, #0
mul r1, r0
ldr r0, _02242D54 ; =ov83_02247EB0
add r2, r0, r1
ldr r3, [r2, #8]
cmp r3, #6
beq _02242CE8
cmp r3, #7
beq _02242CE8
cmp r3, #8
beq _02242D02
b _02242D1A
_02242CE8:
ldr r0, [r2]
cmp r7, r0
blo _02242D2C
ldr r0, _02242D4C ; =0x00000844
ldr r1, [r5, #0x20]
ldr r0, [r5, r0]
ldr r2, [r2, #4]
bl ListMenuItems_AppendFromMsgData
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
b _02242D2C
_02242D02:
cmp r7, #3
beq _02242D2C
ldr r0, _02242D4C ; =0x00000844
ldr r1, [r5, #0x20]
ldr r0, [r5, r0]
ldr r2, [r2, #4]
bl ListMenuItems_AppendFromMsgData
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
b _02242D2C
_02242D1A:
ldr r0, _02242D4C ; =0x00000844
ldr r1, [r5, #0x20]
ldr r0, [r5, r0]
ldr r2, [r2, #4]
bl ListMenuItems_AppendFromMsgData
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
_02242D2C:
add r0, r6, #1
lsl r0, r0, #0x18
lsr r6, r0, #0x18
cmp r6, #4
blo _02242CCE
ldr r3, _02242D58 ; =ov83_02248008
mov r0, #0xd
ldrb r3, [r3, r4]
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x11
bl ov83_02242AEC
pop {r3, r4, r5, r6, r7, pc}
nop
_02242D4C: .word 0x00000844
_02242D50: .word 0x0000050C
_02242D54: .word ov83_02247EB0
_02242D58: .word ov83_02248008
thumb_func_end ov83_02242CAC
thumb_func_start ov83_02242D5C
ov83_02242D5C: ; 0x02242D5C
push {r3, r4, r5, lr}
add r5, r0, #0
ldrb r0, [r5, #9]
mov r1, #1
bl ov80_02237B24
add r4, r0, #0
ldr r0, _02242DA0 ; =0x0000073C
add r1, r4, #0
add r0, r5, r0
mov r2, #0
bl ov83_0224773C
ldr r0, _02242DA4 ; =0x0000074C
add r1, r4, #0
add r0, r5, r0
mov r2, #0
bl ov83_0224773C
mov r0, #0x21
lsl r0, r0, #6
ldr r0, [r5, r0]
bl ov83_02247CE8
ldr r0, _02242DA8 ; =0x00000844
ldr r0, [r5, r0]
bl ListMenuItems_Delete
ldrb r1, [r5, #0xe]
mov r0, #0x10
bic r1, r0
strb r1, [r5, #0xe]
pop {r3, r4, r5, pc}
nop
_02242DA0: .word 0x0000073C
_02242DA4: .word 0x0000074C
_02242DA8: .word 0x00000844
thumb_func_end ov83_02242D5C
thumb_func_start ov83_02242DAC
ov83_02242DAC: ; 0x02242DAC
push {r3, r4, r5, lr}
sub sp, #0x18
mov r1, #0x21
add r4, r0, #0
lsl r1, r1, #6
ldr r2, [r4, r1]
add r1, #8
add r2, #0x24
ldrb r2, [r2]
ldr r1, [r4, r1]
cmp r1, r2
beq _02242DF4
mov r3, #1
str r3, [sp]
mov r1, #0xff
str r1, [sp, #4]
lsl r5, r2, #1
ldr r2, _02242DF8 ; =ov83_02247D1E
str r3, [sp, #8]
mov r1, #2
str r1, [sp, #0xc]
mov r1, #0xf
str r1, [sp, #0x10]
add r1, r4, #0
ldrh r2, [r2, r5]
add r1, #0xb0
str r3, [sp, #0x14]
bl ov83_0223FC48
mov r0, #0x21
lsl r0, r0, #6
ldr r1, [r4, r0]
add r0, #8
add r1, #0x24
ldrb r1, [r1]
str r1, [r4, r0]
_02242DF4:
add sp, #0x18
pop {r3, r4, r5, pc}
.balign 4, 0
_02242DF8: .word ov83_02247D1E
thumb_func_end ov83_02242DAC
thumb_func_start ov83_02242DFC
ov83_02242DFC: ; 0x02242DFC
push {r4, lr}
sub sp, #0x18
add r4, r0, #0
mov r0, #0x21
lsl r0, r0, #6
ldr r1, [r4, r0]
add r1, #0x24
ldrb r2, [r1]
add r1, r0, #0
add r1, #8
ldr r1, [r4, r1]
cmp r1, r2
beq _02242E80
add r0, r0, #4
ldr r1, [r4, r0]
lsl r0, r2, #3
add r0, r1, r0
ldr r1, [r0, #4]
cmp r1, #4
beq _02242E2E
mov r0, #1
mvn r0, r0
cmp r1, r0
beq _02242E4E
b _02242E52
_02242E2E:
ldr r0, _02242E84 ; =0x0000050C
ldrb r1, [r4, #9]
ldr r0, [r4, r0]
mov r2, #0
bl ov83_0224777C
cmp r0, #3
bne _02242E42
mov r2, #0x1b
b _02242E54
_02242E42:
cmp r0, #1
bne _02242E4A
mov r2, #0x19
b _02242E54
_02242E4A:
mov r2, #0x1a
b _02242E54
_02242E4E:
mov r2, #0x1c
b _02242E54
_02242E52:
mov r2, #0x18
_02242E54:
mov r3, #1
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
add r1, r4, #0
str r3, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0xf
str r0, [sp, #0x10]
add r0, r4, #0
add r1, #0xb0
str r3, [sp, #0x14]
bl ov83_0223FC48
mov r0, #0x21
lsl r0, r0, #6
ldr r1, [r4, r0]
add r0, #8
add r1, #0x24
ldrb r1, [r1]
str r1, [r4, r0]
_02242E80:
add sp, #0x18
pop {r4, pc}
.balign 4, 0
_02242E84: .word 0x0000050C
thumb_func_end ov83_02242DFC
thumb_func_start ov83_02242E88
ov83_02242E88: ; 0x02242E88
push {r4, lr}
sub sp, #0x18
add r4, r0, #0
mov r0, #0x21
lsl r0, r0, #6
ldr r1, [r4, r0]
add r1, #0x24
ldrb r2, [r1]
add r1, r0, #0
add r1, #8
ldr r1, [r4, r1]
cmp r1, r2
beq _02242F10
add r0, r0, #4
ldr r1, [r4, r0]
lsl r0, r2, #3
add r0, r1, r0
ldr r0, [r0, #4]
cmp r0, #6
beq _02242EBA
cmp r0, #7
beq _02242EBE
cmp r0, #8
beq _02242EC2
b _02242EE2
_02242EBA:
mov r2, #0x30
b _02242EE4
_02242EBE:
mov r2, #0x31
b _02242EE4
_02242EC2:
ldr r0, _02242F14 ; =0x0000050C
ldrb r1, [r4, #9]
ldr r0, [r4, r0]
mov r2, #1
bl ov83_0224777C
cmp r0, #3
bne _02242ED6
mov r2, #0x34
b _02242EE4
_02242ED6:
cmp r0, #1
bne _02242EDE
mov r2, #0x32
b _02242EE4
_02242EDE:
mov r2, #0x33
b _02242EE4
_02242EE2:
mov r2, #0x35
_02242EE4:
mov r3, #1
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
add r1, r4, #0
str r3, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0xf
str r0, [sp, #0x10]
add r0, r4, #0
add r1, #0xb0
str r3, [sp, #0x14]
bl ov83_0223FC48
mov r0, #0x21
lsl r0, r0, #6
ldr r1, [r4, r0]
add r0, #8
add r1, #0x24
ldrb r1, [r1]
str r1, [r4, r0]
_02242F10:
add sp, #0x18
pop {r4, pc}
.balign 4, 0
_02242F14: .word 0x0000050C
thumb_func_end ov83_02242E88
thumb_func_start ov83_02242F18
ov83_02242F18: ; 0x02242F18
ldr r2, _02242F28 ; =0x00000864
mov r3, #0
strh r1, [r0, r2]
add r1, r2, #2
strb r3, [r0, r1]
add r1, r2, #3
strb r3, [r0, r1]
bx lr
.balign 4, 0
_02242F28: .word 0x00000864
thumb_func_end ov83_02242F18
thumb_func_start ov83_02242F2C
ov83_02242F2C: ; 0x02242F2C
push {r3, r4, lr}
sub sp, #0xc
ldr r1, _02242FD8 ; =0x00000864
add r4, r0, #0
ldrh r0, [r4, r1]
ldr r2, _02242FDC ; =ov83_02247E64
lsl r0, r0, #2
add r3, r2, r0
add r0, r1, #2
ldrb r0, [r4, r0]
cmp r0, #0
beq _02242F4E
cmp r0, #1
beq _02242F78
cmp r0, #2
beq _02242FBA
b _02242FD0
_02242F4E:
ldrb r0, [r3, #2]
mov r1, #2
str r0, [sp]
ldrb r0, [r3, #3]
str r0, [sp, #4]
mov r0, #6
str r0, [sp, #8]
ldrb r2, [r3]
ldrb r3, [r3, #1]
ldr r0, [r4, #0x4c]
bl BgTilemapRectChangePalette
ldr r0, [r4, #0x4c]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
ldr r0, _02242FE0 ; =0x00000866
ldrb r1, [r4, r0]
add r1, r1, #1
strb r1, [r4, r0]
b _02242FD0
_02242F78:
add r0, r1, #3
ldrb r0, [r4, r0]
add r2, r0, #1
add r0, r1, #3
strb r2, [r4, r0]
ldrb r0, [r4, r0]
cmp r0, #4
bne _02242FD0
ldrb r0, [r3, #2]
mov r1, #2
str r0, [sp]
ldrb r0, [r3, #3]
str r0, [sp, #4]
mov r0, #5
str r0, [sp, #8]
ldrb r2, [r3]
ldrb r3, [r3, #1]
ldr r0, [r4, #0x4c]
bl BgTilemapRectChangePalette
ldr r0, [r4, #0x4c]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
ldr r0, _02242FE4 ; =0x00000867
mov r1, #0
strb r1, [r4, r0]
sub r1, r0, #1
ldrb r1, [r4, r1]
sub r0, r0, #1
add r1, r1, #1
strb r1, [r4, r0]
b _02242FD0
_02242FBA:
add r0, r1, #3
ldrb r0, [r4, r0]
add r2, r0, #1
add r0, r1, #3
strb r2, [r4, r0]
ldrb r0, [r4, r0]
cmp r0, #2
bne _02242FD0
add sp, #0xc
mov r0, #0
pop {r3, r4, pc}
_02242FD0:
mov r0, #1
add sp, #0xc
pop {r3, r4, pc}
nop
_02242FD8: .word 0x00000864
_02242FDC: .word ov83_02247E64
_02242FE0: .word 0x00000866
_02242FE4: .word 0x00000867
thumb_func_end ov83_02242F2C
thumb_func_start ov83_02242FE8
ov83_02242FE8: ; 0x02242FE8
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, _022430F0 ; =FS_OVERLAY_ID(OVY_80)
mov r1, #2
bl HandleLoadOverlay
bl ov83_02243F9C
mov r0, #3
mov r1, #0x6b
lsl r2, r0, #0x10
bl CreateHeap
ldr r1, _022430F4 ; =0x00000614
add r0, r4, #0
mov r2, #0x6b
bl OverlayManager_CreateAndGetData
ldr r2, _022430F4 ; =0x00000614
mov r1, #0
add r5, r0, #0
bl memset
mov r0, #0x6b
bl BgConfig_Alloc
str r0, [r5, #0x4c]
add r0, r4, #0
str r4, [r5]
bl OverlayManager_GetArgs
add r4, r0, #0
mov r0, #0xaf
ldr r1, [r4]
lsl r0, r0, #2
str r1, [r5, r0]
ldr r0, [r5, r0]
bl sub_02030CC8
mov r1, #0xb
lsl r1, r1, #6
str r0, [r5, r1]
sub r0, r1, #4
ldr r0, [r5, r0]
bl sub_02030E08
mov r1, #0xb1
lsl r1, r1, #2
str r0, [r5, r1]
ldrb r0, [r4, #4]
add r2, r4, #0
add r2, #0x20
strb r0, [r5, #9]
ldr r0, _022430F8 ; =0x00000548
sub r1, #8
str r2, [r5, r0]
ldr r0, [r5, r1]
bl Save_PlayerData_GetOptionsAddr
mov r1, #0xae
lsl r1, r1, #2
str r0, [r5, r1]
add r3, r4, #0
ldr r2, [r4, #0x1c]
ldr r0, _022430FC ; =0x0000055C
add r3, #8
str r2, [r5, r0]
add r2, r0, #0
sub r2, #0x10
str r3, [r5, r2]
add r3, r4, #0
add r2, r0, #0
add r3, #0xc
sub r2, #0xc
str r3, [r5, r2]
add r3, r4, #0
add r2, r0, #0
add r3, #0x10
sub r2, #8
str r3, [r5, r2]
add r3, r4, #0
sub r2, r0, #4
add r3, #0x14
str r3, [r5, r2]
mov r2, #0xff
strb r2, [r5, #0x11]
ldrh r2, [r4, #0x28]
add r0, #0x5e
strh r2, [r5, r0]
add r0, r1, #4
ldr r0, [r5, r0]
bl sub_0203107C
str r0, [r5, #4]
ldr r0, _02243100 ; =0x000005B7
mov r3, #0
mov r2, #1
_022430AA:
add r1, r5, r3
add r3, r3, #1
strb r2, [r1, r0]
cmp r3, #3
blt _022430AA
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #0
bne _022430C2
mov r0, #3
b _022430C4
_022430C2:
mov r0, #4
_022430C4:
strb r0, [r5, #0x14]
mov r0, #4
strb r0, [r5, #0x15]
ldrb r0, [r5, #0x15]
mov r1, #0
sub r0, r0, #1
strb r0, [r5, #0xc]
ldr r0, _02243104 ; =0x000005B4
strb r1, [r5, r0]
add r0, r5, #0
bl ov83_02243FD4
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #1
bne _022430EC
add r0, r5, #0
bl sub_02096910
_022430EC:
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_022430F0: .word FS_OVERLAY_ID(OVY_80)
_022430F4: .word 0x00000614
_022430F8: .word 0x00000548
_022430FC: .word 0x0000055C
_02243100: .word 0x000005B7
_02243104: .word 0x000005B4
thumb_func_end ov83_02242FE8
thumb_func_start ov83_02243108
ov83_02243108: ; 0x02243108
push {r3, r4, r5, lr}
add r5, r1, #0
bl OverlayManager_GetData
ldr r1, _02243260 ; =0x000005B6
add r4, r0, #0
ldrb r2, [r4, r1]
cmp r2, #1
bne _02243176
ldr r2, [r5]
cmp r2, #1
bne _022431A2
mov r2, #0
strb r2, [r4, r1]
bl ov83_02245074
add r0, r4, #0
bl ov83_022459A0
ldr r0, _02243264 ; =0x00000504
ldr r0, [r4, r0]
cmp r0, #0
beq _02243142
bl ov83_0224753C
ldrb r1, [r4, #0xf]
mov r0, #1
bic r1, r0
strb r1, [r4, #0xf]
_02243142:
mov r0, #0xae
lsl r0, r0, #2
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xc0
bl ov83_02247944
ldr r0, [r4, #0x24]
mov r1, #0
bl ov80_0222A7CC
add r0, r4, #0
mov r1, #7
mov r2, #1
bl ov83_022448AC
strb r0, [r4, #0xa]
add r0, r4, #0
add r1, r5, #0
mov r2, #3
bl ov83_02244CD4
b _022431A2
_02243176:
ldrb r0, [r4, #0x11]
cmp r0, #0xff
beq _022431A2
ldr r0, [r5]
cmp r0, #1
beq _02243186
cmp r0, #3
bne _022431A2
_02243186:
ldr r0, _02243260 ; =0x000005B6
mov r1, #0
strb r1, [r4, r0]
add r0, r4, #0
bl ov83_02245074
add r0, r4, #0
bl ov83_022459A0
add r0, r4, #0
add r1, r5, #0
mov r2, #2
bl ov83_02244CD4
_022431A2:
ldr r0, [r5]
cmp r0, #4
bhi _0224324C
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022431B4: ; jump table
.short _022431BE - _022431B4 - 2 ; case 0
.short _022431D4 - _022431B4 - 2 ; case 1
.short _02243212 - _022431B4 - 2 ; case 2
.short _02243228 - _022431B4 - 2 ; case 3
.short _0224323E - _022431B4 - 2 ; case 4
_022431BE:
add r0, r4, #0
bl ov83_022432B4
cmp r0, #1
bne _0224324C
add r0, r4, #0
add r1, r5, #0
mov r2, #1
bl ov83_02244CD4
b _0224324C
_022431D4:
add r0, r4, #0
bl ov83_022433F8
cmp r0, #1
bne _0224324C
ldrb r0, [r4, #0x10]
cmp r0, #1
bne _022431F0
add r0, r4, #0
add r1, r5, #0
mov r2, #2
bl ov83_02244CD4
b _0224324C
_022431F0:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #1
bne _02243206
add r0, r4, #0
add r1, r5, #0
mov r2, #3
bl ov83_02244CD4
b _0224324C
_02243206:
add r0, r4, #0
add r1, r5, #0
mov r2, #4
bl ov83_02244CD4
b _0224324C
_02243212:
add r0, r4, #0
bl ov83_02243C88
cmp r0, #1
bne _0224324C
add r0, r4, #0
add r1, r5, #0
mov r2, #1
bl ov83_02244CD4
b _0224324C
_02243228:
add r0, r4, #0
bl ov83_02243D7C
cmp r0, #1
bne _0224324C
add r0, r4, #0
add r1, r5, #0
mov r2, #4
bl ov83_02244CD4
b _0224324C
_0224323E:
add r0, r4, #0
bl ov83_02243DE8
cmp r0, #1
bne _0224324C
mov r0, #1
pop {r3, r4, r5, pc}
_0224324C:
add r0, r4, #0
bl ov83_022459AC
mov r0, #0xb2
lsl r0, r0, #2
ldr r0, [r4, r0]
bl sub_0202457C
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
_02243260: .word 0x000005B6
_02243264: .word 0x00000504
thumb_func_end ov83_02243108
thumb_func_start ov83_02243268
ov83_02243268: ; 0x02243268
push {r3, r4, r5, lr}
add r5, r0, #0
bl OverlayManager_GetData
add r4, r0, #0
ldr r0, _022432A8 ; =0x00000548
ldrb r1, [r4, #0xd]
ldr r0, [r4, r0]
strh r1, [r0]
ldr r0, _022432AC ; =0x04000050
mov r1, #0
strh r1, [r0]
bl GF_DestroyVramTransferManager
add r0, r4, #0
bl ov83_02243E30
add r0, r5, #0
bl OverlayManager_FreeData
mov r0, #0
add r1, r0, #0
bl Main_SetVBlankIntrCB
mov r0, #0x6b
bl DestroyHeap
ldr r0, _022432B0 ; =FS_OVERLAY_ID(OVY_80)
bl UnloadOverlayByID
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_022432A8: .word 0x00000548
_022432AC: .word 0x04000050
_022432B0: .word FS_OVERLAY_ID(OVY_80)
thumb_func_end ov83_02243268
thumb_func_start ov83_022432B4
ov83_022432B4: ; 0x022432B4
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldrb r0, [r4, #8]
cmp r0, #4
bhi _022433B0
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022432CC: ; jump table
.short _022432D6 - _022432CC - 2 ; case 0
.short _022432F2 - _022432CC - 2 ; case 1
.short _0224331A - _022432CC - 2 ; case 2
.short _02243360 - _022432CC - 2 ; case 3
.short _022433A2 - _022432CC - 2 ; case 4
_022432D6:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #1
bne _022432EA
bl sub_02037BEC
mov r0, #0xd8
bl sub_02037AC0
_022432EA:
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _022433B0
_022432F2:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #1
bne _02243312
mov r0, #0xd8
bl sub_02037B38
cmp r0, #1
bne _022433B0
bl sub_02037BEC
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _022433B0
_02243312:
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _022433B0
_0224331A:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #1
bne _0224333A
add r0, r4, #0
mov r1, #0x14
mov r2, #0
bl ov83_022450A8
cmp r0, #1
bne _022433B0
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _022433B0
_0224333A:
add r0, r4, #0
bl ov83_022433B8
mov r0, #6
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
mov r0, #0
mov r1, #1
add r2, r1, #0
add r3, r0, #0
bl BeginNormalPaletteFade
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _022433B0
_02243360:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #1
bne _0224339A
ldrb r0, [r4, #0x17]
cmp r0, #2
blo _022433B0
mov r0, #0
strb r0, [r4, #0x17]
add r0, r4, #0
bl ov83_022433B8
mov r0, #6
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
mov r0, #0
mov r1, #1
add r2, r1, #0
add r3, r0, #0
bl BeginNormalPaletteFade
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _022433B0
_0224339A:
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _022433B0
_022433A2:
bl IsPaletteFadeFinished
cmp r0, #1
bne _022433B0
add sp, #0xc
mov r0, #1
pop {r3, r4, pc}
_022433B0:
mov r0, #0
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov83_022432B4
thumb_func_start ov83_022433B8
ov83_022433B8: ; 0x022433B8
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r5, #0
add r4, #0x50
add r0, r4, #0
mov r1, #0
bl FillWindowPixelBuffer
add r0, r5, #0
add r1, r4, #0
bl ov83_02245584
add r0, r5, #0
add r1, r4, #0
bl ov83_022453DC
add r1, r5, #0
add r0, r5, #0
add r1, #0x80
bl ov83_022448E4
add r1, r5, #0
add r0, r5, #0
add r1, #0x70
bl ov83_022449D4
add r0, r5, #0
bl ov83_02244BEC
bl GX_BothDispOn
pop {r3, r4, r5, pc}
thumb_func_end ov83_022433B8
thumb_func_start ov83_022433F8
ov83_022433F8: ; 0x022433F8
push {r3, r4, r5, lr}
add r4, r0, #0
ldrb r1, [r4, #8]
cmp r1, #0x12
bhi _022434BA
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0224340E: ; jump table
.short _02243434 - _0224340E - 2 ; case 0
.short _0224348E - _0224340E - 2 ; case 1
.short _022434F6 - _0224340E - 2 ; case 2
.short _0224361E - _0224340E - 2 ; case 3
.short _022436D4 - _0224340E - 2 ; case 4
.short _022437D8 - _0224340E - 2 ; case 5
.short _022438AE - _0224340E - 2 ; case 6
.short _02243A36 - _0224340E - 2 ; case 7
.short _02243A76 - _0224340E - 2 ; case 8
.short _02243AB6 - _0224340E - 2 ; case 9
.short _02243B5A - _0224340E - 2 ; case 10
.short _02243B86 - _0224340E - 2 ; case 11
.short _02243B92 - _0224340E - 2 ; case 12
.short _02243BBC - _0224340E - 2 ; case 13
.short _02243BCE - _0224340E - 2 ; case 14
.short _02243BE0 - _0224340E - 2 ; case 15
.short _02243BFA - _0224340E - 2 ; case 16
.short _02243C1C - _0224340E - 2 ; case 17
.short _02243C4C - _0224340E - 2 ; case 18
_02243434:
mov r0, #0
strb r0, [r4, #0xb]
mov r0, #1
strb r0, [r4, #8]
ldrb r0, [r4, #0xf]
lsl r0, r0, #0x18
lsr r0, r0, #0x1b
cmp r0, #1
bne _02243456
add r0, r4, #0
add r0, #0xc0
bl ov83_02245094
add r0, r4, #0
bl ov83_02244BEC
b _02243484
_02243456:
cmp r0, #2
bne _0224347C
add r0, r4, #0
add r0, #0xc0
bl ov83_02245094
add r0, r4, #0
bl ov83_02244C9C
mov r0, #0x15
lsl r0, r0, #6
ldr r0, [r4, r0]
mov r1, #0xc8
mov r2, #0x69
bl ov83_02247630
mov r0, #6
strb r0, [r4, #8]
b _02243484
_0224347C:
cmp r0, #3
bne _02243484
mov r0, #0xe
strb r0, [r4, #8]
_02243484:
ldrb r1, [r4, #0xf]
mov r0, #0xf8
bic r1, r0
strb r1, [r4, #0xf]
b _02243C7A
_0224348E:
mov r0, #0x5f
lsl r0, r0, #4
ldr r0, [r4, r0]
bl ov83_02247AD4
cmp r0, #4
bhi _022434B2
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_022434A8: ; jump table
.short _022434BC - _022434A8 - 2 ; case 0
.short _022434BC - _022434A8 - 2 ; case 1
.short _022434BC - _022434A8 - 2 ; case 2
.short _022434BC - _022434A8 - 2 ; case 3
.short _022434CE - _022434A8 - 2 ; case 4
_022434B2:
mov r1, #1
mvn r1, r1
cmp r0, r1
beq _022434D8
_022434BA:
b _02243C7A
_022434BC:
add r0, r4, #0
bl ov83_02244C4C
add r0, r4, #0
bl ov83_02244C58
mov r0, #2
strb r0, [r4, #8]
b _02243C7A
_022434CE:
ldr r0, _022437F0 ; =0x000005DC
bl PlaySE
mov r0, #1
pop {r3, r4, r5, pc}
_022434D8:
ldrb r1, [r4, #0xd]
ldrb r0, [r4, #0x15]
cmp r1, r0
beq _0224351A
mov r0, #0x5f
lsl r0, r0, #4
ldr r0, [r4, r0]
bl ov83_02247B04
ldrb r2, [r4, #0xd]
add r0, r4, #0
mov r1, #4
bl ov83_022469D8
b _02243C7A
_022434F6:
ldr r0, _022437F4 ; =0x000005F8
ldr r0, [r4, r0]
bl sub_020186A4
ldr r1, _022437F0 ; =0x000005DC
add r5, r0, #0
bl ov83_022477B0
add r0, r4, #0
bl ov83_02246CC0
mov r0, #1
mvn r0, r0
cmp r5, r0
bhi _02243536
bhs _0224360C
cmp r5, #6
bls _0224351C
_0224351A:
b _02243C7A
_0224351C:
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02243528: ; jump table
.short _0224353E - _02243528 - 2 ; case 0
.short _022435C6 - _02243528 - 2 ; case 1
.short _022435FA - _02243528 - 2 ; case 2
.short _02243C7A - _02243528 - 2 ; case 3
.short _02243C7A - _02243528 - 2 ; case 4
.short _02243C7A - _02243528 - 2 ; case 5
.short _0224360C - _02243528 - 2 ; case 6
_02243536:
mov r0, #0
mvn r0, r0
cmp r5, r0
b _02243C7A
_0224353E:
strb r5, [r4, #0x13]
ldrb r0, [r4, #0x14]
ldrb r1, [r4, #0xd]
bl ov83_02247768
ldr r1, _022437F8 ; =0x0000054C
ldr r1, [r4, r1]
ldrb r0, [r1, r0]
cmp r0, #0
bne _02243584
add r0, r4, #0
bl ov83_02244C88
add r0, r4, #0
bl ov83_022453C0
mov r1, #0
add r0, r4, #0
mov r2, #1
mov r3, #4
str r1, [sp]
bl ov83_02244A98
add r0, r4, #0
mov r1, #0x10
mov r2, #1
bl ov83_022448AC
strb r0, [r4, #0xa]
add r0, r4, #0
bl ov83_02244A74
mov r0, #3
strb r0, [r4, #8]
b _02243C7A
_02243584:
add r0, r4, #0
bl ov83_02244C88
ldrb r0, [r4, #0x14]
ldrb r1, [r4, #0xd]
bl ov83_02247768
add r1, r0, #0
ldr r0, _022437FC ; =0x0000055C
ldr r0, [r4, r0]
bl GetPartyMonByIndex
add r5, r0, #0
add r0, r4, #0
bl ov83_022453C0
add r0, r5, #0
bl Mon_GetBoxMon
add r2, r0, #0
add r0, r4, #0
mov r1, #0
bl ov83_02244AB0
add r0, r4, #0
mov r1, #0x14
mov r2, #1
bl ov83_022448AC
strb r0, [r4, #0xa]
mov r0, #0x10
strb r0, [r4, #8]
b _02243C7A
_022435C6:
add r0, r4, #0
strb r5, [r4, #0x13]
bl ov83_02244C88
add r0, r4, #0
bl ov83_022453C0
mov r2, #0x17
lsl r2, r2, #6
ldr r2, [r4, r2]
add r0, r4, #0
mov r1, #0
bl ov83_02244AB0
add r0, r4, #0
mov r1, #0x15
mov r2, #1
bl ov83_022448AC
strb r0, [r4, #0xa]
add r0, r4, #0
bl ov83_02244A88
mov r0, #4
strb r0, [r4, #8]
b _02243C7A
_022435FA:
add r0, r4, #0
bl ov83_02244C88
add r0, r4, #0
bl ov83_02244C9C
mov r0, #6
strb r0, [r4, #8]
b _02243C7A
_0224360C:
add r0, r4, #0
bl ov83_02244C88
add r0, r4, #0
bl ov83_02244BEC
mov r0, #0
strb r0, [r4, #8]
b _02243C7A
_0224361E:
ldr r0, _02243800 ; =0x00000604
ldr r0, [r4, r0]
bl sub_020168F4
cmp r0, #1
beq _02243630
cmp r0, #2
beq _022436B8
b _02243C7A
_02243630:
ldr r0, _02243800 ; =0x00000604
add r0, r4, r0
bl ov83_022478B4
add r0, r4, #0
add r0, #0xc0
bl ov83_02245094
ldrb r0, [r4, #9]
bl sub_0205C1F0
add r5, r0, #0
ldrb r0, [r4, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r4, #4]
add r1, r5, #0
bl sub_020310BC
cmp r0, #1
bhs _02243678
add r0, r4, #0
bl ov83_022453C0
add r0, r4, #0
mov r1, #0x1c
mov r2, #1
bl ov83_022448AC
strb r0, [r4, #0xa]
mov r0, #0x10
strb r0, [r4, #8]
b _02243C7A
_02243678:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #0
bne _022436B2
ldrb r1, [r4, #9]
ldr r0, [r4, #4]
mov r2, #1
bl ov80_02237FA4
add r1, r4, #0
add r0, r4, #0
add r1, #0x50
bl ov83_022453DC
ldrb r1, [r4, #0xd]
add r0, r4, #0
bl ov83_02245748
add r0, r4, #0
bl ov83_02246988
add r0, r4, #0
mov r1, #0
bl ov83_02246114
mov r0, #0xb
strb r0, [r4, #8]
b _02243C7A
_022436B2:
mov r0, #1
strb r0, [r4, #0x10]
pop {r3, r4, r5, pc}
_022436B8:
ldr r0, _02243800 ; =0x00000604
add r0, r4, r0
bl ov83_022478B4
add r0, r4, #0
add r0, #0xc0
bl ov83_02245094
add r0, r4, #0
bl ov83_02244C58
mov r0, #2
strb r0, [r4, #8]
b _02243C7A
_022436D4:
ldr r0, _022437F4 ; =0x000005F8
ldr r0, [r4, r0]
bl sub_020186A4
ldr r1, _022437F0 ; =0x000005DC
add r5, r0, #0
bl ov83_022477B0
mov r0, #1
mvn r0, r0
cmp r5, r0
bhi _02243700
bhs _02243706
cmp r5, #2
bhi _022436FE
cmp r5, #0
beq _02243720
cmp r5, #1
beq _0224377C
cmp r5, #2
beq _02243706
_022436FE:
b _02243C7A
_02243700:
add r0, r0, #1
cmp r5, r0
b _02243C7A
_02243706:
add r0, r4, #0
add r0, #0xc0
bl ov83_02245094
add r0, r4, #0
bl ov83_02244A90
add r0, r4, #0
bl ov83_02244C58
mov r0, #2
strb r0, [r4, #8]
b _02243C7A
_02243720:
ldrb r0, [r4, #9]
bl sub_0205C1F0
add r5, r0, #0
ldrb r0, [r4, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r4, #4]
add r1, r5, #0
bl sub_020310BC
add r0, r4, #0
bl ov83_02244A90
ldrb r0, [r4, #0x14]
ldrb r1, [r4, #0xd]
bl ov83_02247768
mov r1, #0x55
lsl r1, r1, #4
ldr r1, [r4, r1]
ldrb r0, [r1, r0]
cmp r0, #1
bne _0224376E
add r0, r4, #0
bl ov83_022453C0
add r0, r4, #0
mov r1, #0x1d
mov r2, #1
bl ov83_022448AC
strb r0, [r4, #0xa]
mov r0, #0x10
strb r0, [r4, #8]
b _02243C7A
_0224376E:
add r0, r4, #0
mov r1, #1
bl ov83_02245554
mov r0, #5
strb r0, [r4, #8]
b _02243C7A
_0224377C:
ldrb r0, [r4, #9]
bl sub_0205C1F0
add r5, r0, #0
ldrb r0, [r4, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r4, #4]
add r1, r5, #0
bl sub_020310BC
add r0, r4, #0
bl ov83_02244A90
ldrb r0, [r4, #0x14]
ldrb r1, [r4, #0xd]
bl ov83_02247768
mov r1, #0x55
lsl r1, r1, #4
ldr r1, [r4, r1]
ldrb r0, [r1, r0]
cmp r0, #2
bne _022437CA
add r0, r4, #0
bl ov83_022453C0
add r0, r4, #0
mov r1, #0x1e
mov r2, #1
bl ov83_022448AC
strb r0, [r4, #0xa]
mov r0, #0x10
strb r0, [r4, #8]
b _02243C7A
_022437CA:
add r0, r4, #0
mov r1, #2
bl ov83_02245554
mov r0, #5
strb r0, [r4, #8]
b _02243C7A
_022437D8:
ldr r0, _02243800 ; =0x00000604
ldr r0, [r4, r0]
bl sub_020168F4
cmp r0, #1
beq _022437EA
cmp r0, #2
beq _02243892
b _02243C7A
_022437EA:
ldr r0, _02243800 ; =0x00000604
b _02243804
nop
_022437F0: .word 0x000005DC
_022437F4: .word 0x000005F8
_022437F8: .word 0x0000054C
_022437FC: .word 0x0000055C
_02243800: .word 0x00000604
_02243804:
add r0, r4, r0
bl ov83_022478B4
ldrb r0, [r4, #9]
bl sub_0205C1F0
add r5, r0, #0
ldrb r0, [r4, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r4, #4]
add r1, r5, #0
bl sub_020310BC
add r5, r0, #0
ldrb r0, [r4, #0xe]
bl ov83_02245068
cmp r5, r0
bhs _0224384C
add r0, r4, #0
bl ov83_022453C0
add r0, r4, #0
mov r1, #0x1c
mov r2, #1
bl ov83_022448AC
strb r0, [r4, #0xa]
mov r0, #0x10
strb r0, [r4, #8]
mov r0, #0
pop {r3, r4, r5, pc}
_0224384C:
ldrb r0, [r4, #0xe]
strb r0, [r4, #0x12]
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #0
bne _0224388C
add r0, r4, #0
add r0, #0xc0
bl ov83_02245094
ldrb r0, [r4, #0xe]
bl ov83_02245068
add r2, r0, #0
ldrb r1, [r4, #9]
ldr r0, [r4, #4]
bl ov80_02237FA4
add r1, r4, #0
add r0, r4, #0
add r1, #0x50
bl ov83_022453DC
ldrb r1, [r4, #0xd]
ldrb r2, [r4, #0xe]
add r0, r4, #0
bl ov83_02245838
mov r0, #0xc
strb r0, [r4, #8]
b _02243C7A
_0224388C:
mov r0, #1
strb r0, [r4, #0x10]
pop {r3, r4, r5, pc}
_02243892:
ldr r0, _02243BA8 ; =0x00000604
add r0, r4, r0
bl ov83_022478B4
add r0, r4, #0
add r0, #0xc0
bl ov83_02245094
add r0, r4, #0
bl ov83_02244C58
mov r0, #2
strb r0, [r4, #8]
b _02243C7A
_022438AE:
ldr r0, _02243BAC ; =0x000005F8
ldr r0, [r4, r0]
bl sub_020186A4
ldr r1, _02243BB0 ; =0x000005DC
add r5, r0, #0
bl ov83_022477B0
add r0, r4, #0
bl ov83_02246D40
mov r0, #1
mvn r0, r0
cmp r5, r0
bhi _022438E2
bhs _022438E8
cmp r5, #5
bhi _022438E0
cmp r5, #3
blo _022438E0
beq _02243902
cmp r5, #4
beq _0224394E
cmp r5, #5
beq _022439C0
_022438E0:
b _02243C7A
_022438E2:
add r0, r0, #1
cmp r5, r0
b _02243C7A
_022438E8:
add r0, r4, #0
add r0, #0xc0
bl ov83_02245094
add r0, r4, #0
bl ov83_02244CCC
add r0, r4, #0
bl ov83_02244C58
mov r0, #2
strb r0, [r4, #8]
b _02243C7A
_02243902:
strb r5, [r4, #0x13]
add r0, r4, #0
bl ov83_02244CCC
ldrb r0, [r4, #0x14]
ldrb r1, [r4, #0xd]
bl ov83_02247768
ldr r1, _02243BB4 ; =0x00000554
ldr r1, [r4, r1]
ldrb r0, [r1, r0]
cmp r0, #0
bne _02243948
add r0, r4, #0
bl ov83_022453C0
mov r1, #0
add r0, r4, #0
mov r2, #2
mov r3, #4
str r1, [sp]
bl ov83_02244A98
add r0, r4, #0
mov r1, #0x2b
mov r2, #1
bl ov83_022448AC
strb r0, [r4, #0xa]
add r0, r4, #0
bl ov83_02244A74
mov r0, #7
strb r0, [r4, #8]
b _02243C7A
_02243948:
mov r0, #0x11
strb r0, [r4, #8]
b _02243C7A
_0224394E:
add r0, r4, #0
strb r5, [r4, #0x13]
bl ov83_02244CCC
mov r0, #0xaf
lsl r0, r0, #2
ldrb r1, [r4, #9]
ldr r0, [r4, r0]
mov r2, #2
bl ov83_0224777C
cmp r0, #1
bne _0224397C
add r0, r4, #0
mov r1, #0x2a
mov r2, #1
bl ov83_022448AC
strb r0, [r4, #0xa]
mov r0, #0xf
strb r0, [r4, #8]
mov r0, #0
pop {r3, r4, r5, pc}
_0224397C:
ldrb r0, [r4, #0x14]
ldrb r1, [r4, #0xd]
bl ov83_02247768
ldr r1, _02243BB8 ; =0x00000558
ldr r1, [r4, r1]
ldrb r0, [r1, r0]
cmp r0, #0
bne _022439BA
add r0, r4, #0
bl ov83_022453C0
mov r1, #0
add r0, r4, #0
mov r2, #5
mov r3, #4
str r1, [sp]
bl ov83_02244A98
add r0, r4, #0
mov r1, #0x4f
mov r2, #1
bl ov83_022448AC
strb r0, [r4, #0xa]
add r0, r4, #0
bl ov83_02244A74
mov r0, #8
strb r0, [r4, #8]
b _02243C7A
_022439BA:
mov r0, #0x12
strb r0, [r4, #8]
b _02243C7A
_022439C0:
mov r0, #0xaf
lsl r0, r0, #2
ldrb r1, [r4, #9]
ldr r0, [r4, r0]
mov r2, #2
bl ov83_0224777C
cmp r0, #2
bne _022439EC
add r0, r4, #0
add r0, #0xc0
bl ov83_02245094
add r0, r4, #0
bl ov83_02244CCC
add r0, r4, #0
bl ov83_02244C58
mov r0, #2
strb r0, [r4, #8]
b _02243C7A
_022439EC:
strb r5, [r4, #0x13]
add r0, r4, #0
bl ov83_02244CCC
ldrb r0, [r4, #9]
bl sub_0205C1F0
add r5, r0, #0
ldrb r0, [r4, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r4, #4]
add r1, r5, #0
bl sub_020310BC
mov r1, #0
add r0, r4, #0
mov r2, #0x32
mov r3, #4
str r1, [sp]
bl ov83_02244A98
add r0, r4, #0
mov r1, #0x5b
mov r2, #1
bl ov83_022448AC
strb r0, [r4, #0xa]
add r0, r4, #0
bl ov83_02244A74
mov r0, #9
strb r0, [r4, #8]
b _02243C7A
_02243A36:
ldr r0, _02243BA8 ; =0x00000604
ldr r0, [r4, r0]
bl sub_020168F4
cmp r0, #1
beq _02243A48
cmp r0, #2
beq _02243A62
b _02243C7A
_02243A48:
ldr r0, _02243BA8 ; =0x00000604
add r0, r4, r0
bl ov83_022478B4
add r0, r4, #0
mov r1, #2
mov r2, #0x2e
bl ov83_02245A40
cmp r0, #1
bne _02243A86
mov r0, #1
pop {r3, r4, r5, pc}
_02243A62:
ldr r0, _02243BA8 ; =0x00000604
add r0, r4, r0
bl ov83_022478B4
add r0, r4, #0
bl ov83_02244C9C
mov r0, #6
strb r0, [r4, #8]
b _02243C7A
_02243A76:
ldr r0, _02243BA8 ; =0x00000604
ldr r0, [r4, r0]
bl sub_020168F4
cmp r0, #1
beq _02243A88
cmp r0, #2
beq _02243AA2
_02243A86:
b _02243C7A
_02243A88:
ldr r0, _02243BA8 ; =0x00000604
add r0, r4, r0
bl ov83_022478B4
add r0, r4, #0
mov r1, #5
mov r2, #0x52
bl ov83_02245A40
cmp r0, #1
bne _02243AC6
mov r0, #1
pop {r3, r4, r5, pc}
_02243AA2:
ldr r0, _02243BA8 ; =0x00000604
add r0, r4, r0
bl ov83_022478B4
add r0, r4, #0
bl ov83_02244C9C
mov r0, #6
strb r0, [r4, #8]
b _02243C7A
_02243AB6:
ldr r0, _02243BA8 ; =0x00000604
ldr r0, [r4, r0]
bl sub_020168F4
cmp r0, #1
beq _02243AC8
cmp r0, #2
beq _02243B46
_02243AC6:
b _02243C7A
_02243AC8:
ldr r0, _02243BA8 ; =0x00000604
add r0, r4, r0
bl ov83_022478B4
ldrb r0, [r4, #9]
bl sub_0205C1F0
add r5, r0, #0
ldrb r0, [r4, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r4, #4]
add r1, r5, #0
bl sub_020310BC
add r5, r0, #0
mov r0, #0xaf
lsl r0, r0, #2
ldrb r1, [r4, #9]
ldr r0, [r4, r0]
mov r2, #2
bl ov83_0224777C
cmp r5, #0x32
bhs _02243B26
mov r0, #0xae
lsl r0, r0, #2
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xc0
bl ov83_02247944
add r0, r4, #0
mov r1, #0x52
mov r2, #1
bl ov83_022448AC
strb r0, [r4, #0xa]
mov r0, #0xf
strb r0, [r4, #8]
b _02243C7A
_02243B26:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #0
bne _02243B40
ldrb r1, [r4, #0xd]
add r0, r4, #0
mov r2, #5
bl ov83_02245ACC
mov r0, #0xa
strb r0, [r4, #8]
b _02243C7A
_02243B40:
mov r0, #1
strb r0, [r4, #0x10]
pop {r3, r4, r5, pc}
_02243B46:
ldr r0, _02243BA8 ; =0x00000604
add r0, r4, r0
bl ov83_022478B4
add r0, r4, #0
bl ov83_02244C9C
mov r0, #6
strb r0, [r4, #8]
b _02243C7A
_02243B5A:
bl ov83_02247CF0
cmp r0, #1
beq _02243B64
b _02243C7A
_02243B64:
add r0, r4, #0
bl ov83_02244C9C
add r0, r4, #0
mov r1, #0
bl ov83_02246114
mov r0, #0x15
lsl r0, r0, #6
ldr r0, [r4, r0]
mov r1, #0xc8
mov r2, #0x69
bl ov83_02247630
mov r0, #6
strb r0, [r4, #8]
b _02243C7A
_02243B86:
add r1, r4, #0
add r1, #0x80
bl ov83_022448E4
mov r0, #0xc
strb r0, [r4, #8]
_02243B92:
ldrb r1, [r4, #0xd]
ldrb r2, [r4, #0x13]
add r0, r4, #0
bl ov83_02244E24
cmp r0, #1
bne _02243C7A
mov r0, #0x10
strb r0, [r4, #8]
b _02243C7A
nop
_02243BA8: .word 0x00000604
_02243BAC: .word 0x000005F8
_02243BB0: .word 0x000005DC
_02243BB4: .word 0x00000554
_02243BB8: .word 0x00000558
_02243BBC:
ldrb r1, [r4, #0xd]
ldrb r2, [r4, #0x13]
bl ov83_02244E24
cmp r0, #1
bne _02243C7A
mov r0, #0xe
strb r0, [r4, #8]
b _02243C7A
_02243BCE:
ldrb r0, [r4, #0x13]
cmp r0, #3
bne _02243BDA
mov r0, #0x11
strb r0, [r4, #8]
b _02243C7A
_02243BDA:
mov r0, #0x12
strb r0, [r4, #8]
b _02243C7A
_02243BE0:
bl ov83_02247CF0
cmp r0, #1
bne _02243C7A
ldr r0, _02243C80 ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov83_02244C9C
mov r0, #6
strb r0, [r4, #8]
b _02243C7A
_02243BFA:
bl ov83_02247CF0
cmp r0, #1
bne _02243C7A
ldr r0, _02243C80 ; =0x000005DC
bl PlaySE
add r0, r4, #0
add r0, #0xc0
bl ov83_02245094
add r0, r4, #0
bl ov83_02244BEC
mov r0, #0
strb r0, [r4, #8]
b _02243C7A
_02243C1C:
ldr r0, _02243C84 ; =gSystem
ldr r1, [r0, #0x48]
mov r0, #0x20
tst r0, r1
bne _02243C7A
mov r0, #0x10
tst r0, r1
bne _02243C7A
bl ov83_02247CF0
cmp r0, #1
bne _02243C7A
ldr r0, _02243C80 ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov83_022459A0
add r0, r4, #0
bl ov83_02244C58
mov r0, #2
strb r0, [r4, #8]
b _02243C7A
_02243C4C:
ldr r0, _02243C84 ; =gSystem
ldr r1, [r0, #0x48]
mov r0, #0x20
tst r0, r1
bne _02243C7A
mov r0, #0x10
tst r0, r1
bne _02243C7A
bl ov83_02247CF0
cmp r0, #1
bne _02243C7A
ldr r0, _02243C80 ; =0x000005DC
bl PlaySE
add r0, r4, #0
bl ov83_022459A0
add r0, r4, #0
bl ov83_02244C58
mov r0, #2
strb r0, [r4, #8]
_02243C7A:
mov r0, #0
pop {r3, r4, r5, pc}
nop
_02243C80: .word 0x000005DC
_02243C84: .word gSystem
thumb_func_end ov83_022433F8
thumb_func_start ov83_02243C88
ov83_02243C88: ; 0x02243C88
push {r4, lr}
add r4, r0, #0
ldrb r1, [r4, #8]
cmp r1, #5
bhi _02243D74
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02243C9E: ; jump table
.short _02243CAA - _02243C9E - 2 ; case 0
.short _02243CCE - _02243C9E - 2 ; case 1
.short _02243CF4 - _02243C9E - 2 ; case 2
.short _02243D16 - _02243C9E - 2 ; case 3
.short _02243D34 - _02243C9E - 2 ; case 4
.short _02243D46 - _02243C9E - 2 ; case 5
_02243CAA:
ldrb r2, [r4, #0xf]
mov r1, #0xf8
bic r2, r1
mov r1, #8
orr r1, r2
strb r1, [r4, #0xf]
ldrb r2, [r4, #0xd]
mov r1, #0x15
bl ov83_022450A8
cmp r0, #1
bne _02243D74
mov r0, #0
strb r0, [r4, #0x10]
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _02243D74
_02243CCE:
ldrb r1, [r4, #0x11]
cmp r1, #0xff
beq _02243D74
mov r1, #0
strb r1, [r4, #0x17]
ldrb r2, [r4, #0x13]
ldrb r1, [r4, #0x11]
cmp r2, #5
bne _02243CE8
mov r2, #5
bl ov83_02245ACC
b _02243CEC
_02243CE8:
bl ov83_0224563C
_02243CEC:
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _02243D74
_02243CF4:
ldrb r0, [r4, #0x15]
ldrb r1, [r4, #0x11]
bl ov83_0224776C
add r1, r0, #0
ldrb r2, [r4, #0x13]
add r0, r4, #0
bl ov83_02244E24
cmp r0, #1
bne _02243D74
mov r0, #0x1e
strb r0, [r4, #0x16]
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _02243D74
_02243D16:
ldrb r0, [r4, #0x16]
sub r0, r0, #1
strb r0, [r4, #0x16]
ldrb r0, [r4, #0x16]
cmp r0, #0
bne _02243D74
bl sub_02037BEC
mov r0, #0x85
bl sub_02037AC0
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _02243D74
_02243D34:
mov r0, #0x85
bl sub_02037B38
cmp r0, #1
bne _02243D74
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _02243D74
_02243D46:
ldrb r0, [r4, #0x15]
ldrb r1, [r4, #0x11]
bl ov83_0224776C
add r1, r0, #0
ldrb r2, [r4, #0x13]
add r0, r4, #0
bl ov83_02244F60
cmp r0, #1
bne _02243D74
bl sub_02037BEC
mov r0, #0x6b
bl sub_020379A0
mov r0, #0xff
strb r0, [r4, #0x11]
ldr r0, _02243D78 ; =0x000005B6
mov r1, #0
strb r1, [r4, r0]
mov r0, #1
pop {r4, pc}
_02243D74:
mov r0, #0
pop {r4, pc}
.balign 4, 0
_02243D78: .word 0x000005B6
thumb_func_end ov83_02243C88
thumb_func_start ov83_02243D7C
ov83_02243D7C: ; 0x02243D7C
push {r4, lr}
add r4, r0, #0
ldrb r1, [r4, #8]
cmp r1, #0
beq _02243D90
cmp r1, #1
beq _02243DA8
cmp r1, #2
beq _02243DCA
b _02243DE4
_02243D90:
mov r1, #0x17
mov r2, #0
bl ov83_022450A8
cmp r0, #1
bne _02243DE4
mov r0, #0x1e
strb r0, [r4, #0x16]
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _02243DE4
_02243DA8:
ldrb r0, [r4, #0x16]
cmp r0, #0
beq _02243DB2
sub r0, r0, #1
strb r0, [r4, #0x16]
_02243DB2:
ldrb r0, [r4, #0x16]
cmp r0, #0
bne _02243DE4
bl sub_02037BEC
mov r0, #0x86
bl sub_02037AC0
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _02243DE4
_02243DCA:
mov r0, #0x86
bl sub_02037B38
cmp r0, #1
bne _02243DE4
bl sub_02037BEC
add r4, #0xc0
add r0, r4, #0
bl ov83_02245094
mov r0, #1
pop {r4, pc}
_02243DE4:
mov r0, #0
pop {r4, pc}
thumb_func_end ov83_02243D7C
thumb_func_start ov83_02243DE8
ov83_02243DE8: ; 0x02243DE8
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldrb r0, [r4, #8]
cmp r0, #0
beq _02243DFA
cmp r0, #1
beq _02243E1A
b _02243E28
_02243DFA:
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl BeginNormalPaletteFade
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _02243E28
_02243E1A:
bl IsPaletteFadeFinished
cmp r0, #1
bne _02243E28
add sp, #0xc
mov r0, #1
pop {r3, r4, pc}
_02243E28:
mov r0, #0
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov83_02243DE8
thumb_func_start ov83_02243E30
ov83_02243E30: ; 0x02243E30
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
ldr r1, _02243F80 ; =0x00000604
str r0, [sp]
add r0, r0, r1
bl ov83_02247858
ldr r1, _02243F84 ; =0x000005F4
ldr r0, [sp]
ldr r0, [r0, r1]
bl ov83_02247CC4
mov r1, #0x5f
ldr r0, [sp]
lsl r1, r1, #4
ldr r0, [r0, r1]
bl ov83_02247A18
ldr r1, _02243F88 ; =0x00000508
ldr r0, [sp]
ldr r0, [r0, r1]
bl ov83_0224753C
ldr r1, _02243F8C ; =0x0000050C
ldr r0, [sp]
ldr r0, [r0, r1]
bl ov83_0224753C
mov r1, #0x15
ldr r0, [sp]
lsl r1, r1, #6
ldr r0, [r0, r1]
bl ov83_0224753C
ldr r1, _02243F90 ; =0x00000544
ldr r0, [sp]
ldr r0, [r0, r1]
bl ov83_0224753C
mov r0, #0
mov r6, #0x52
ldr r7, [sp]
str r0, [sp, #4]
lsl r6, r6, #4
_02243E88:
mov r4, #0
add r5, r7, #0
_02243E8C:
ldr r0, [r5, r6]
bl ov83_0224753C
add r4, r4, #1
add r5, r5, #4
cmp r4, #2
blt _02243E8C
ldr r0, [sp, #4]
add r7, #8
add r0, r0, #1
str r0, [sp, #4]
cmp r0, #4
blt _02243E88
ldr r0, [sp]
mov r1, #1
ldrb r0, [r0, #9]
bl ov80_02237B58
add r6, r0, #0
mov r5, #0
cmp r6, #0
ble _02243EDC
mov r7, #0x51
ldr r4, [sp]
lsl r7, r7, #4
_02243EBE:
ldr r0, _02243F94 ; =0x000004F4
ldr r0, [r4, r0]
bl ov83_0224753C
ldr r0, _02243F98 ; =0x000004E4
ldr r0, [r4, r0]
bl ov83_0224753C
ldr r0, [r4, r7]
bl ov83_0224753C
add r5, r5, #1
add r4, r4, #4
cmp r5, r6
blt _02243EBE
_02243EDC:
bl sub_0203A914
mov r1, #0x2b
ldr r0, [sp]
lsl r1, r1, #4
ldr r0, [r0, r1]
mov r1, #2
bl PaletteData_FreeBuffers
mov r1, #0x2b
ldr r0, [sp]
lsl r1, r1, #4
ldr r0, [r0, r1]
mov r1, #0
bl PaletteData_FreeBuffers
mov r1, #0x2b
ldr r0, [sp]
lsl r1, r1, #4
ldr r0, [r0, r1]
bl PaletteData_Free
mov r1, #0x2b
ldr r0, [sp]
mov r2, #0
lsl r1, r1, #4
str r2, [r0, r1]
add r1, #0x18
add r0, r0, r1
bl ov83_022471FC
ldr r0, [sp]
ldr r0, [r0, #0x20]
bl DestroyMsgData
ldr r0, [sp]
ldr r0, [r0, #0x24]
bl MessageFormat_Delete
ldr r0, [sp]
ldr r0, [r0, #0x28]
bl String_Delete
ldr r0, [sp]
ldr r0, [r0, #0x2c]
bl String_Delete
mov r1, #0xad
ldr r0, [sp]
lsl r1, r1, #2
ldr r0, [r0, r1]
bl MessagePrinter_Delete
mov r0, #4
bl FontID_Release
ldr r4, [sp]
mov r5, #0
_02243F50:
ldr r0, [r4, #0x30]
bl String_Delete
add r5, r5, #1
add r4, r4, #4
cmp r5, #3
blt _02243F50
ldr r0, [sp]
mov r1, #1
add r0, #0x50
bl ov83_0224791C
ldr r0, [sp]
ldr r0, [r0, #0x4c]
bl ov83_0224442C
mov r1, #0x56
ldr r0, [sp]
lsl r1, r1, #4
ldr r0, [r0, r1]
bl NARC_Delete
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02243F80: .word 0x00000604
_02243F84: .word 0x000005F4
_02243F88: .word 0x00000508
_02243F8C: .word 0x0000050C
_02243F90: .word 0x00000544
_02243F94: .word 0x000004F4
_02243F98: .word 0x000004E4
thumb_func_end ov83_02243E30
thumb_func_start ov83_02243F9C
ov83_02243F9C: ; 0x02243F9C
push {r3, lr}
mov r0, #0
add r1, r0, #0
bl Main_SetVBlankIntrCB
mov r0, #0
add r1, r0, #0
bl Main_SetHBlankIntrCB
bl GX_DisableEngineALayers
bl GX_DisableEngineBLayers
mov r2, #1
lsl r2, r2, #0x1a
ldr r1, [r2]
ldr r0, _02243FCC ; =0xFFFFE0FF
and r1, r0
str r1, [r2]
ldr r2, _02243FD0 ; =0x04001000
ldr r1, [r2]
and r0, r1
str r0, [r2]
pop {r3, pc}
.balign 4, 0
_02243FCC: .word 0xFFFFE0FF
_02243FD0: .word 0x04001000
thumb_func_end ov83_02243F9C
thumb_func_start ov83_02243FD4
ov83_02243FD4: ; 0x02243FD4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x38
add r5, r0, #0
mov r0, #0xb7
mov r1, #0x6b
bl NARC_New
mov r1, #0x56
lsl r1, r1, #4
str r0, [r5, r1]
add r0, r5, #0
bl ov83_02244394
add r0, r5, #0
bl ov83_02244408
mov r0, #4
mov r1, #0x6b
bl FontID_Alloc
mov r0, #1
mov r1, #0x1b
mov r2, #0x21
mov r3, #0x6b
bl NewMsgDataFromNarc
str r0, [r5, #0x20]
mov r0, #0x6b
bl MessageFormat_New
str r0, [r5, #0x24]
mov r0, #0x96
lsl r0, r0, #2
mov r1, #0x6b
bl String_New
str r0, [r5, #0x28]
mov r0, #0x96
lsl r0, r0, #2
mov r1, #0x6b
bl String_New
str r0, [r5, #0x2c]
mov r6, #0
add r4, r5, #0
mov r7, #0x20
_02244030:
add r0, r7, #0
mov r1, #0x6b
bl String_New
str r0, [r4, #0x30]
add r6, r6, #1
add r4, r4, #4
cmp r6, #3
blt _02244030
mov r1, #7
mov r0, #0
lsl r1, r1, #6
mov r2, #0x6b
bl LoadFontPal0
mov r1, #0x1a
mov r0, #0
lsl r1, r1, #4
mov r2, #0x6b
bl LoadFontPal1
mov r0, #1
mov r1, #2
mov r2, #0
mov r3, #0x6b
bl MessagePrinter_New
mov r1, #0xad
lsl r1, r1, #2
str r0, [r5, r1]
add r1, r5, #0
ldr r0, [r5, #0x4c]
add r1, #0x50
mov r2, #1
bl ov83_022478D4
add r0, sp, #0x28
add r1, sp, #0x2c
add r3, sp, #0x28
str r0, [sp]
add r0, r5, #0
add r1, #2
add r2, sp, #0x2c
add r3, #2
bl ov83_02244DF4
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #0
bne _0224409E
mov r0, #0x3c
mov r7, #0x40
str r0, [sp, #0x1c]
b _022440A4
_0224409E:
mov r0, #0x1c
mov r7, #0x20
str r0, [sp, #0x1c]
_022440A4:
ldrb r0, [r5, #9]
mov r1, #1
bl ov80_02237B58
mov r6, #0
str r0, [sp, #0x18]
cmp r0, #0
ble _022441AC
add r4, r5, #0
_022440B6:
mov r0, #7
str r0, [sp]
ldr r0, [sp, #0x1c]
mov r1, #0
lsl r0, r0, #0x10
asr r0, r0, #0x10
str r0, [sp, #4]
mov r0, #0x3e
str r0, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0
str r0, [sp, #0x10]
mov r0, #0xb2
lsl r0, r0, #2
add r0, r5, r0
add r2, r1, #0
add r3, r1, #0
bl ov83_02247454
ldr r1, _02244370 ; =0x000004F4
str r0, [r4, r1]
mov r1, #0
mov r0, #0xf
str r0, [sp]
lsl r0, r7, #0x10
asr r0, r0, #0x10
str r0, [sp, #4]
mov r0, #0x4e
str r0, [sp, #8]
mov r0, #3
str r0, [sp, #0xc]
mov r0, #0
str r0, [sp, #0x10]
mov r0, #0xb2
lsl r0, r0, #2
add r0, r5, r0
add r2, r1, #0
add r3, r1, #0
bl ov83_02247454
mov r1, #0x51
lsl r1, r1, #4
str r0, [r4, r1]
mov r0, #1
str r0, [sp]
lsl r0, r7, #0x10
asr r0, r0, #0x10
str r0, [sp, #4]
mov r0, #0x3a
str r0, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0
str r0, [sp, #0x10]
mov r0, #0xb2
lsl r0, r0, #2
add r1, r6, #0
add r0, r5, r0
add r1, #0xa
mov r2, #0xa
mov r3, #5
bl ov83_02247454
ldr r1, _02244374 ; =0x000004E4
str r0, [r4, r1]
add r0, r1, #0
add r0, #0x78
ldr r0, [r5, r0]
add r1, r6, #0
bl GetPartyMonByIndex
add r1, r0, #0
ldr r0, _02244374 ; =0x000004E4
ldr r0, [r4, r0]
bl ov83_022475EC
ldr r0, _02244378 ; =0x0000054C
ldr r0, [r5, r0]
ldrb r0, [r0, r6]
cmp r0, #0
ldr r0, _02244370 ; =0x000004F4
bne _0224417C
ldr r0, [r4, r0]
mov r1, #1
bl ov83_0224755C
ldr r0, _02244374 ; =0x000004E4
mov r1, #0
ldr r0, [r4, r0]
bl ov83_0224755C
mov r0, #0x51
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0
bl ov83_0224755C
b _0224419A
_0224417C:
ldr r0, [r4, r0]
mov r1, #0
bl ov83_0224755C
ldr r0, _02244374 ; =0x000004E4
mov r1, #1
ldr r0, [r4, r0]
bl ov83_0224755C
mov r0, #0x51
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #1
bl ov83_0224755C
_0224419A:
ldr r0, [sp, #0x1c]
add r6, r6, #1
add r0, #0x40
str r0, [sp, #0x1c]
ldr r0, [sp, #0x18]
add r4, r4, #4
add r7, #0x40
cmp r6, r0
blt _022440B6
_022441AC:
add r0, r5, #0
add r1, sp, #0x34
add r2, sp, #0x30
mov r3, #0
bl ov83_02244DA0
mov r0, #1
str r0, [sp]
ldr r0, [sp, #0x34]
mov r1, #0
lsl r0, r0, #0x10
asr r0, r0, #0x10
str r0, [sp, #4]
ldr r0, [sp, #0x30]
add r2, r1, #0
lsl r0, r0, #0x10
asr r0, r0, #0x10
str r0, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0xb2
lsl r0, r0, #2
add r0, r5, r0
add r3, r1, #0
str r1, [sp, #0x10]
bl ov83_02247454
ldr r1, _0224437C ; =0x00000508
str r0, [r5, r1]
mov r0, #2
str r0, [sp]
ldr r1, [sp, #0x34]
lsl r1, r1, #0x10
asr r1, r1, #0x10
str r1, [sp, #4]
ldr r1, [sp, #0x30]
lsl r1, r1, #0x10
asr r1, r1, #0x10
str r1, [sp, #8]
mov r1, #0
str r0, [sp, #0xc]
mov r0, #0xb2
lsl r0, r0, #2
add r0, r5, r0
add r2, r1, #0
add r3, r1, #0
str r1, [sp, #0x10]
bl ov83_02247454
ldr r1, _02244380 ; =0x0000050C
str r0, [r5, r1]
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #0
bne _02244226
ldr r0, _02244380 ; =0x0000050C
mov r1, #0
ldr r0, [r5, r0]
bl ov83_0224755C
_02244226:
mov r0, #0
str r0, [sp, #0x14]
str r0, [sp, #0x20]
str r5, [sp, #0x24]
_0224422E:
mov r7, #0
ldr r4, [sp, #0x24]
add r6, r7, #0
_02244234:
add r0, r5, #0
add r1, sp, #0x34
add r2, sp, #0x30
bl ov83_02245CE8
mov r0, #0xc
str r0, [sp]
ldr r1, [sp, #0x34]
ldr r0, [sp, #0x20]
add r0, r1, r0
lsl r0, r0, #0x10
asr r0, r0, #0x10
str r0, [sp, #4]
mov r1, #0
ldr r0, [sp, #0x30]
add r2, r1, #0
add r0, r0, r6
lsl r0, r0, #0x10
asr r0, r0, #0x10
str r0, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0
str r0, [sp, #0x10]
mov r0, #0xb2
lsl r0, r0, #2
add r0, r5, r0
add r3, r1, #0
bl ov83_02247454
mov r1, #0x52
lsl r1, r1, #4
str r0, [r4, r1]
add r0, r1, #0
ldr r0, [r4, r0]
mov r1, #0
bl ov83_0224755C
add r7, r7, #1
add r6, #0xc
add r4, r4, #4
cmp r7, #2
blt _02244234
ldr r0, [sp, #0x20]
add r0, #0x40
str r0, [sp, #0x20]
ldr r0, [sp, #0x24]
add r0, #8
str r0, [sp, #0x24]
ldr r0, [sp, #0x14]
add r0, r0, #1
str r0, [sp, #0x14]
cmp r0, #4
blt _0224422E
add r0, r5, #0
bl ov83_02245C80
mov r1, #0
mov r0, #0xb
str r0, [sp]
mov r0, #0x14
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0xb2
lsl r0, r0, #2
str r1, [sp, #0xc]
add r0, r5, r0
add r2, r1, #0
add r3, r1, #0
str r1, [sp, #0x10]
bl ov83_02247454
mov r1, #0x15
lsl r1, r1, #6
str r0, [r5, r1]
ldr r0, [r5, r1]
mov r1, #0
bl ov83_0224755C
add r0, r5, #0
bl ov83_02245D48
add r0, r5, #0
bl ov83_02245F24
add r0, r5, #0
mov r1, #1
bl ov83_02246114
mov r1, #0
str r1, [sp]
mov r0, #0x30
str r0, [sp, #4]
mov r0, #0x28
str r0, [sp, #8]
str r1, [sp, #0xc]
mov r0, #0xb2
str r1, [sp, #0x10]
mov r1, #2
lsl r0, r0, #2
add r0, r5, r0
add r2, r1, #0
add r3, r1, #0
bl ov83_022474C4
ldr r1, _02244384 ; =0x00000544
str r0, [r5, r1]
add r0, r5, #0
bl ov83_02246988
ldrb r2, [r5, #0x14]
add r0, r5, #0
mov r1, #1
bl ov83_02247A7C
mov r1, #0x5f
lsl r1, r1, #4
str r0, [r5, r1]
mov r1, #0xb2
lsl r1, r1, #2
ldr r0, [r5, r1]
sub r1, #0x18
ldr r1, [r5, r1]
bl ov83_02247CB8
ldr r1, _02244388 ; =0x000005F4
str r0, [r5, r1]
add r1, #0x10
add r0, r5, r1
bl ov83_02247844
bl sub_02037474
cmp r0, #0
beq _02244354
mov r0, #1
mov r1, #0x10
bl sub_02009FE8
mov r0, #1
bl sub_0200A080
bl sub_0203A880
_02244354:
mov r0, #0xa
str r0, [sp]
ldr r0, _0224438C ; =0x04000050
mov r1, #0
mov r2, #0xe
mov r3, #6
bl G2x_SetBlendAlpha_
ldr r0, _02244390 ; =ov83_02244488
add r1, r5, #0
bl Main_SetVBlankIntrCB
add sp, #0x38
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02244370: .word 0x000004F4
_02244374: .word 0x000004E4
_02244378: .word 0x0000054C
_0224437C: .word 0x00000508
_02244380: .word 0x0000050C
_02244384: .word 0x00000544
_02244388: .word 0x000005F4
_0224438C: .word 0x04000050
_02244390: .word ov83_02244488
thumb_func_end ov83_02243FD4
thumb_func_start ov83_02244394
ov83_02244394: ; 0x02244394
push {r4, lr}
ldr r2, _02244400 ; =0x04000304
add r4, r0, #0
ldrh r1, [r2]
ldr r0, _02244404 ; =0xFFFF7FFF
and r0, r1
strh r0, [r2]
bl ov83_022444C0
ldr r0, [r4, #0x4c]
bl ov83_022444E0
mov r0, #0x6b
bl PaletteData_Init
mov r1, #0x2b
lsl r1, r1, #4
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #2
lsl r2, r1, #8
mov r3, #0x6b
bl PaletteData_AllocBuffers
mov r2, #0x2b
lsl r2, r2, #4
ldr r0, [r4, r2]
mov r1, #0
sub r2, #0xb0
mov r3, #0x6b
bl PaletteData_AllocBuffers
add r0, r4, #0
mov r1, #3
bl ov83_0224465C
bl ov83_022446D0
add r0, r4, #0
mov r1, #2
bl ov83_02244704
bl ov83_0224474C
mov r0, #4
mov r1, #0
bl GX_EngineAToggleLayers
add r0, r4, #0
mov r1, #4
bl ov83_02244780
pop {r4, pc}
nop
_02244400: .word 0x04000304
_02244404: .word 0xFFFF7FFF
thumb_func_end ov83_02244394
thumb_func_start ov83_02244408
ov83_02244408: ; 0x02244408
push {r4, lr}
add r4, r0, #0
ldrb r0, [r4, #9]
bl ov80_02237D8C
add r2, r0, #0
ldr r1, _02244428 ; =0x0000055C
mov r0, #0xb2
lsl r0, r0, #2
lsl r2, r2, #0x18
ldr r1, [r4, r1]
add r0, r4, r0
lsr r2, r2, #0x18
bl ov83_02246E08
pop {r4, pc}
.balign 4, 0
_02244428: .word 0x0000055C
thumb_func_end ov83_02244408
thumb_func_start ov83_0224442C
ov83_0224442C: ; 0x0224442C
push {r4, lr}
add r4, r0, #0
mov r0, #0x1f
mov r1, #0
bl GX_EngineAToggleLayers
mov r0, #0x1f
mov r1, #0
bl GX_EngineBToggleLayers
add r0, r4, #0
mov r1, #3
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #2
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #0
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #1
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #4
bl FreeBgTilemapBuffer
add r0, r4, #0
mov r1, #5
bl FreeBgTilemapBuffer
add r0, r4, #0
bl FreeToHeap
ldr r2, _02244484 ; =0x04000304
ldrh r1, [r2]
lsr r0, r2, #0xb
orr r0, r1
strh r0, [r2]
pop {r4, pc}
nop
_02244484: .word 0x04000304
thumb_func_end ov83_0224442C
thumb_func_start ov83_02244488
ov83_02244488: ; 0x02244488
push {r4, lr}
add r4, r0, #0
mov r0, #0x2b
lsl r0, r0, #4
ldr r0, [r4, r0]
cmp r0, #0
beq _0224449A
bl sub_0200398C
_0224449A:
ldr r0, [r4, #0x4c]
bl BgConfig_HandleScheduledScrollAndTransferOps
bl GF_RunVramTransferTasks
bl OamManager_ApplyAndResetBuffers
ldr r3, _022444B8 ; =0x027E0000
ldr r1, _022444BC ; =0x00003FF8
mov r0, #1
ldr r2, [r3, r1]
orr r0, r2
str r0, [r3, r1]
pop {r4, pc}
nop
_022444B8: .word 0x027E0000
_022444BC: .word 0x00003FF8
thumb_func_end ov83_02244488
thumb_func_start ov83_022444C0
ov83_022444C0: ; 0x022444C0
push {r4, lr}
sub sp, #0x28
ldr r4, _022444DC ; =ov83_02248150
add r3, sp, #0
mov r2, #5
_022444CA:
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _022444CA
add r0, sp, #0
bl GX_SetBanks
add sp, #0x28
pop {r4, pc}
.balign 4, 0
_022444DC: .word ov83_02248150
thumb_func_end ov83_022444C0
thumb_func_start ov83_022444E0
ov83_022444E0: ; 0x022444E0
push {r3, r4, r5, lr}
sub sp, #0xb8
ldr r5, _0224463C ; =ov83_02248044
add r3, sp, #0xa8
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, _02244640 ; =ov83_02248068
add r3, sp, #0x8c
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #1
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
mov r0, #1
mov r1, #0x20
mov r2, #0
mov r3, #0x6b
bl BG_ClearCharDataRange
add r0, r4, #0
mov r1, #1
bl BgClearTilemapBufferAndCommit
ldr r5, _02244644 ; =ov83_02248084
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
mov r0, #0
mov r1, #0x20
add r2, r0, #0
mov r3, #0x6b
bl BG_ClearCharDataRange
add r0, r4, #0
mov r1, #0
bl BgClearTilemapBufferAndCommit
ldr r5, _02244648 ; =ov83_022480A0
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, #2
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
mov r0, #2
mov r1, #0x20
mov r2, #0
mov r3, #0x6b
bl BG_ClearCharDataRange
add r0, r4, #0
mov r1, #2
bl BgClearTilemapBufferAndCommit
ldr r5, _0224464C ; =ov83_022480BC
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, #3
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl InitBgFromTemplate
mov r0, #3
mov r1, #0x20
mov r2, #0
mov r3, #0x6b
bl BG_ClearCharDataRange
add r0, r4, #0
mov r1, #3
bl BgClearTilemapBufferAndCommit
ldr r5, _02244650 ; =ov83_022480D8
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, _02244654 ; =ov83_022480F4
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, #5
mov r1, #0x20
mov r2, #0
mov r3, #0x6b
bl BG_ClearCharDataRange
add r0, r4, #0
mov r1, #5
bl BgClearTilemapBufferAndCommit
ldr r1, _02244658 ; =0x04000008
mov r0, #3
ldrh r2, [r1]
bic r2, r0
strh r2, [r1]
mov r0, #2
mov r1, #1
bl GX_EngineAToggleLayers
add sp, #0xb8
pop {r3, r4, r5, pc}
.balign 4, 0
_0224463C: .word ov83_02248044
_02244640: .word ov83_02248068
_02244644: .word ov83_02248084
_02244648: .word ov83_022480A0
_0224464C: .word ov83_022480BC
_02244650: .word ov83_022480D8
_02244654: .word ov83_022480F4
_02244658: .word 0x04000008
thumb_func_end ov83_022444E0
thumb_func_start ov83_0224465C
ov83_0224465C: ; 0x0224465C
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
add r4, r1, #0
mov r0, #0x6b
str r0, [sp, #0xc]
mov r0, #0x56
lsl r0, r0, #4
ldr r0, [r5, r0]
ldr r2, [r5, #0x4c]
mov r1, #0x30
add r3, r4, #0
bl GfGfxLoader_LoadCharDataFromOpenNarc
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #0
bne _022446AE
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
mov r0, #0x56
lsl r0, r0, #4
ldr r0, [r5, r0]
ldr r2, [r5, #0x4c]
mov r1, #0x2c
add r3, r4, #0
bl GfGfxLoader_LoadScrnDataFromOpenNarc
add sp, #0x10
pop {r3, r4, r5, pc}
_022446AE:
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
mov r0, #0x56
lsl r0, r0, #4
ldr r0, [r5, r0]
ldr r2, [r5, #0x4c]
mov r1, #0x2d
add r3, r4, #0
bl GfGfxLoader_LoadScrnDataFromOpenNarc
add sp, #0x10
pop {r3, r4, r5, pc}
thumb_func_end ov83_0224465C
thumb_func_start ov83_022446D0
ov83_022446D0: ; 0x022446D0
push {r3, r4, lr}
sub sp, #4
mov r0, #0xb7
mov r1, #0x9d
add r2, sp, #0
mov r3, #0x6b
bl GfGfxLoader_GetPlttData
add r4, r0, #0
ldr r0, [sp]
mov r1, #0x80
ldr r0, [r0, #0xc]
bl DC_FlushRange
ldr r0, [sp]
mov r1, #0
ldr r0, [r0, #0xc]
mov r2, #0x80
bl GX_LoadBGPltt
add r0, r4, #0
bl FreeToHeap
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov83_022446D0
thumb_func_start ov83_02244704
ov83_02244704: ; 0x02244704
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
add r4, r1, #0
mov r0, #0x6b
str r0, [sp, #0xc]
mov r0, #0x56
lsl r0, r0, #4
ldr r0, [r5, r0]
ldr r2, [r5, #0x4c]
mov r1, #0x30
add r3, r4, #0
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
mov r0, #0x56
lsl r0, r0, #4
ldr r0, [r5, r0]
ldr r2, [r5, #0x4c]
mov r1, #0x2e
add r3, r4, #0
bl GfGfxLoader_LoadScrnDataFromOpenNarc
add sp, #0x10
pop {r3, r4, r5, pc}
thumb_func_end ov83_02244704
thumb_func_start ov83_0224474C
ov83_0224474C: ; 0x0224474C
push {r3, r4, lr}
sub sp, #4
mov r0, #0xb7
mov r1, #0x9d
add r2, sp, #0
mov r3, #0x6b
bl GfGfxLoader_GetPlttData
add r4, r0, #0
ldr r0, [sp]
mov r1, #0x80
ldr r0, [r0, #0xc]
bl DC_FlushRange
ldr r0, [sp]
mov r1, #0
ldr r0, [r0, #0xc]
mov r2, #0x80
bl GX_LoadBGPltt
add r0, r4, #0
bl FreeToHeap
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov83_0224474C
thumb_func_start ov83_02244780
ov83_02244780: ; 0x02244780
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
add r4, r1, #0
mov r0, #0x6b
str r0, [sp, #0xc]
mov r0, #0x56
lsl r0, r0, #4
ldr r0, [r5, r0]
ldr r2, [r5, #0x4c]
mov r1, #0x28
add r3, r4, #0
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
mov r0, #0x56
lsl r0, r0, #4
ldr r0, [r5, r0]
ldr r2, [r5, #0x4c]
mov r1, #0x93
add r3, r4, #0
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r3, #0
str r3, [sp]
mov r0, #0x6b
str r0, [sp, #4]
mov r0, #0x56
lsl r0, r0, #4
ldr r0, [r5, r0]
mov r1, #0xbe
mov r2, #4
bl GfGfxLoader_GXLoadPalFromOpenNarc
add sp, #0x10
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov83_02244780
thumb_func_start ov83_022447E0
ov83_022447E0: ; 0x022447E0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r1, #0
add r1, sp, #0x38
ldrb r1, [r1]
add r5, r0, #0
add r0, r4, #0
add r6, r2, #0
add r7, r3, #0
bl FillWindowPixelBuffer
ldr r0, [r5, #0x20]
ldr r2, [r5, #0x2c]
add r1, r6, #0
bl ReadMsgDataIntoString
ldr r0, [r5, #0x24]
ldr r1, [r5, #0x28]
ldr r2, [r5, #0x2c]
bl StringExpandPlaceholders
ldr r0, [sp, #0x28]
add r2, sp, #0x18
str r0, [sp]
ldr r0, [sp, #0x2c]
add r3, r7, #0
str r0, [sp, #4]
add r0, sp, #0x38
ldrb r1, [r0]
ldrb r0, [r2, #0x18]
ldrb r2, [r2, #0x1c]
lsl r0, r0, #0x18
lsl r2, r2, #0x18
lsr r0, r0, #8
lsr r2, r2, #0x10
orr r0, r2
orr r0, r1
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
add r1, sp, #0x3c
ldrb r1, [r1]
ldr r2, [r5, #0x28]
add r0, r4, #0
bl AddTextPrinterParameterized2
add r5, r0, #0
add r0, r4, #0
bl ScheduleWindowCopyToVram
add r0, r5, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov83_022447E0
thumb_func_start ov83_0224484C
ov83_0224484C: ; 0x0224484C
push {r4, r5, r6, lr}
sub sp, #0x10
add r5, r0, #0
add r4, r1, #0
add r1, r2, #0
ldr r0, [r5, #0x20]
ldr r2, [r5, #0x2c]
add r6, r3, #0
bl ReadMsgDataIntoString
ldr r0, [r5, #0x24]
ldr r1, [r5, #0x28]
ldr r2, [r5, #0x2c]
bl StringExpandPlaceholders
ldr r0, [sp, #0x20]
add r2, sp, #0x10
str r0, [sp]
ldr r0, [sp, #0x24]
add r3, r6, #0
str r0, [sp, #4]
add r0, sp, #0x30
ldrb r1, [r0]
ldrb r0, [r2, #0x18]
ldrb r2, [r2, #0x1c]
lsl r0, r0, #0x18
lsl r2, r2, #0x18
lsr r0, r0, #8
lsr r2, r2, #0x10
orr r0, r2
orr r0, r1
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
add r1, sp, #0x34
ldrb r1, [r1]
ldr r2, [r5, #0x28]
add r0, r4, #0
bl AddTextPrinterParameterized2
add r5, r0, #0
add r0, r4, #0
bl ScheduleWindowCopyToVram
add r0, r5, #0
add sp, #0x10
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov83_0224484C
thumb_func_start ov83_022448AC
ov83_022448AC: ; 0x022448AC
push {r3, r4, r5, lr}
sub sp, #0x18
mov r3, #1
add r4, r1, #0
str r3, [sp]
mov r1, #0xff
str r1, [sp, #4]
str r3, [sp, #8]
mov r1, #2
str r1, [sp, #0xc]
mov r1, #0xf
str r1, [sp, #0x10]
add r5, r0, #0
add r1, r5, #0
str r2, [sp, #0x14]
add r1, #0xc0
add r2, r4, #0
bl ov83_022447E0
add r5, #0xc0
add r4, r0, #0
add r0, r5, #0
bl ScheduleWindowCopyToVram
add r0, r4, #0
add sp, #0x18
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov83_022448AC
thumb_func_start ov83_022448E4
ov83_022448E4: ; 0x022448E4
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
mov r1, #0
bl FillWindowPixelBuffer
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #0
bne _02244902
mov r6, #0x24
b _02244904
_02244902:
mov r6, #4
_02244904:
ldrb r0, [r5, #9]
mov r1, #1
bl ov80_02237B58
mov r7, #0
str r0, [sp, #0xc]
cmp r0, #0
ble _022449C0
add r0, r6, #0
str r0, [sp, #0x14]
add r0, #0x18
str r0, [sp, #0x14]
add r0, r6, #0
str r0, [sp, #0x10]
add r0, #0x20
str r0, [sp, #0x10]
_02244924:
ldr r0, _022449CC ; =0x0000054C
ldr r0, [r5, r0]
ldrb r0, [r0, r7]
cmp r0, #0
bne _02244946
mov r0, #0x40
str r0, [sp]
mov r0, #0x10
lsl r2, r6, #0x10
str r0, [sp, #4]
add r0, r4, #0
mov r1, #0
lsr r2, r2, #0x10
mov r3, #1
bl FillWindowPixelRect
b _022449AA
_02244946:
ldr r0, _022449D0 ; =0x0000055C
add r1, r7, #0
ldr r0, [r5, r0]
bl GetPartyMonByIndex
mov r1, #0xa3
mov r2, #0
str r0, [sp, #0x18]
bl GetMonData
str r4, [sp]
add r1, r0, #0
str r6, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0xad
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r2, #3
mov r3, #1
bl PrintUIntOnWindow
mov r0, #1
str r0, [sp]
mov r0, #0xad
lsl r0, r0, #2
ldr r0, [r5, r0]
ldr r3, [sp, #0x14]
mov r1, #0
add r2, r4, #0
bl sub_0200CDAC
ldr r0, [sp, #0x18]
mov r1, #0xa4
mov r2, #0
bl GetMonData
add r1, r0, #0
ldr r0, [sp, #0x10]
str r4, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0xad
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r2, #3
mov r3, #0
bl PrintUIntOnWindow
_022449AA:
ldr r0, [sp, #0x14]
add r7, r7, #1
add r0, #0x40
str r0, [sp, #0x14]
ldr r0, [sp, #0x10]
add r6, #0x40
add r0, #0x40
str r0, [sp, #0x10]
ldr r0, [sp, #0xc]
cmp r7, r0
blt _02244924
_022449C0:
add r0, r4, #0
bl ScheduleWindowCopyToVram
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
nop
_022449CC: .word 0x0000054C
_022449D0: .word 0x0000055C
thumb_func_end ov83_022448E4
thumb_func_start ov83_022449D4
ov83_022449D4: ; 0x022449D4
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r5, r0, #0
str r1, [sp, #0x10]
add r0, r1, #0
mov r1, #0
bl FillWindowPixelBuffer
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #0
bne _022449F4
mov r4, #0x28
mov r6, #0x50
b _022449F8
_022449F4:
mov r4, #8
mov r6, #0x30
_022449F8:
ldrb r0, [r5, #9]
mov r1, #1
bl ov80_02237B58
mov r7, #0
str r0, [sp, #0x14]
cmp r0, #0
ble _02244A66
_02244A08:
ldr r0, _02244A70 ; =0x0000055C
add r1, r7, #0
ldr r0, [r5, r0]
bl GetPartyMonByIndex
mov r1, #0xa1
mov r2, #0
str r0, [sp, #0x18]
bl GetMonData
add r2, r0, #0
mov r0, #0
str r0, [sp]
ldr r0, [sp, #0x10]
mov r1, #1
str r0, [sp, #4]
str r4, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
mov r0, #0xad
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r3, #3
bl sub_0200CE7C
ldr r0, [sp, #0x18]
mov r1, #0x6f
mov r2, #0
bl GetMonData
mov r1, #0
lsl r0, r0, #0x18
str r1, [sp]
lsr r0, r0, #0x18
str r0, [sp, #4]
ldr r1, [sp, #0x10]
add r0, r5, #0
add r2, r6, #0
mov r3, #1
bl ov83_02244BA8
ldr r0, [sp, #0x14]
add r7, r7, #1
add r4, #0x40
add r6, #0x40
cmp r7, r0
blt _02244A08
_02244A66:
ldr r0, [sp, #0x10]
bl ScheduleWindowCopyToVram
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02244A70: .word 0x0000055C
thumb_func_end ov83_022449D4
thumb_func_start ov83_02244A74
ov83_02244A74: ; 0x02244A74
add r1, r0, #0
ldr r0, _02244A80 ; =0x00000604
ldr r3, _02244A84 ; =ov83_02247864
add r0, r1, r0
ldr r1, [r1, #0x4c]
bx r3
.balign 4, 0
_02244A80: .word 0x00000604
_02244A84: .word ov83_02247864
thumb_func_end ov83_02244A74
thumb_func_start ov83_02244A88
ov83_02244A88: ; 0x02244A88
ldr r3, _02244A8C ; =ov83_02246C2C
bx r3
.balign 4, 0
_02244A8C: .word ov83_02246C2C
thumb_func_end ov83_02244A88
thumb_func_start ov83_02244A90
ov83_02244A90: ; 0x02244A90
ldr r3, _02244A94 ; =ov83_02246C70
bx r3
.balign 4, 0
_02244A94: .word ov83_02246C70
thumb_func_end ov83_02244A90
thumb_func_start ov83_02244A98
ov83_02244A98: ; 0x02244A98
push {r4, lr}
sub sp, #8
ldr r4, [sp, #0x10]
str r4, [sp]
mov r4, #1
str r4, [sp, #4]
ldr r0, [r0, #0x24]
bl BufferIntegerAsString
add sp, #8
pop {r4, pc}
.balign 4, 0
thumb_func_end ov83_02244A98
thumb_func_start ov83_02244AB0
ov83_02244AB0: ; 0x02244AB0
ldr r3, _02244AB8 ; =BufferBoxMonSpeciesName
ldr r0, [r0, #0x24]
bx r3
nop
_02244AB8: .word BufferBoxMonSpeciesName
thumb_func_end ov83_02244AB0
thumb_func_start ov83_02244ABC
ov83_02244ABC: ; 0x02244ABC
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0xaf
lsl r0, r0, #2
ldr r0, [r5, r0]
add r4, r1, #0
bl Save_PlayerData_GetProfileAddr
add r2, r0, #0
ldr r0, [r5, #0x24]
add r1, r4, #0
bl BufferPlayersName
pop {r3, r4, r5, pc}
thumb_func_end ov83_02244ABC
thumb_func_start ov83_02244AD8
ov83_02244AD8: ; 0x02244AD8
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r7, r1, #0
mov r1, #0xaf
lsl r1, r1, #2
ldr r0, [r0, r1]
str r2, [sp, #0x10]
add r5, r3, #0
bl Save_PlayerData_GetProfileAddr
add r6, r0, #0
mov r0, #8
mov r1, #0x6b
bl String_New
add r4, r0, #0
add r0, r6, #0
bl PlayerProfile_GetNamePtr
add r1, r0, #0
add r0, r4, #0
bl CopyU16ArrayToString
add r0, r6, #0
bl PlayerProfile_GetTrainerGender
cmp r0, #0
bne _02244B14
ldr r1, _02244B3C ; =0x00070800
b _02244B18
_02244B14:
mov r1, #0xc1
lsl r1, r1, #0xa
_02244B18:
str r5, [sp]
mov r0, #0xff
str r0, [sp, #4]
str r1, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
add r1, sp, #0x18
ldrb r1, [r1, #0x10]
ldr r3, [sp, #0x10]
add r0, r7, #0
add r2, r4, #0
bl AddTextPrinterParameterized2
add r0, r4, #0
bl String_Delete
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02244B3C: .word 0x00070800
thumb_func_end ov83_02244AD8
thumb_func_start ov83_02244B40
ov83_02244B40: ; 0x02244B40
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r0, #0
add r7, r1, #0
str r2, [sp, #0x18]
add r6, r3, #0
bl sub_0203769C
mov r1, #1
eor r0, r1
bl sub_02034818
str r0, [sp, #0x1c]
bl PlayerProfile_GetTrainerGender
cmp r0, #0
bne _02244B66
ldr r4, _02244BA4 ; =0x00070800
b _02244B6A
_02244B66:
mov r4, #0xc1
lsl r4, r4, #0xa
_02244B6A:
ldr r0, [r5, #0x24]
ldr r2, [sp, #0x1c]
mov r1, #0
bl BufferPlayersName
str r6, [sp]
mov r0, #0xff
str r0, [sp, #4]
lsr r0, r4, #0x10
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
lsr r0, r4, #8
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0xc]
lsl r0, r4, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x10]
mov r0, #0
str r0, [sp, #0x14]
ldr r3, [sp, #0x18]
add r0, r5, #0
add r1, r7, #0
mov r2, #1
bl ov83_0224484C
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02244BA4: .word 0x00070800
thumb_func_end ov83_02244B40
thumb_func_start ov83_02244BA8
ov83_02244BA8: ; 0x02244BA8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r7, r2, #0
add r2, r3, #0
add r3, sp, #0x20
ldrb r3, [r3, #0x14]
cmp r3, #0
bne _02244BC2
mov r3, #0x40
mov r4, #7
mov r5, #8
mov r6, #0
b _02244BCE
_02244BC2:
cmp r3, #1
bne _02244BE8
mov r3, #0x41
mov r4, #3
mov r5, #4
mov r6, #0
_02244BCE:
str r2, [sp]
mov r2, #0xff
str r2, [sp, #4]
str r4, [sp, #8]
str r5, [sp, #0xc]
str r6, [sp, #0x10]
add r2, sp, #0x20
ldrb r2, [r2, #0x10]
str r2, [sp, #0x14]
add r2, r3, #0
add r3, r7, #0
bl ov83_0224484C
_02244BE8:
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov83_02244BA8
thumb_func_start ov83_02244BEC
ov83_02244BEC: ; 0x02244BEC
push {r4, lr}
sub sp, #0x18
mov r2, #5
str r2, [sp]
mov r1, #0xff
str r1, [sp, #4]
mov r1, #1
str r1, [sp, #8]
mov r1, #2
add r4, r0, #0
str r1, [sp, #0xc]
mov r3, #0
str r3, [sp, #0x10]
add r1, r4, #0
str r3, [sp, #0x14]
add r1, #0x60
bl ov83_022447E0
strb r0, [r4, #0xa]
mov r0, #0xae
lsl r0, r0, #2
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xd0
bl ov83_02247944
mov r3, #1
add r1, r4, #0
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
str r3, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0xf
str r0, [sp, #0x10]
add r0, r4, #0
add r1, #0xd0
mov r2, #4
str r3, [sp, #0x14]
bl ov83_022447E0
strb r0, [r4, #0xa]
add sp, #0x18
pop {r4, pc}
thumb_func_end ov83_02244BEC
thumb_func_start ov83_02244C4C
ov83_02244C4C: ; 0x02244C4C
ldr r3, _02244C54 ; =ov83_02245094
add r0, #0xd0
bx r3
nop
_02244C54: .word ov83_02245094
thumb_func_end ov83_02244C4C
thumb_func_start ov83_02244C58
ov83_02244C58: ; 0x02244C58
push {r4, lr}
add r4, r0, #0
mov r0, #0xae
lsl r0, r0, #2
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xc0
bl ov83_02247944
mov r1, #1
mov r0, #6
mvn r1, r1
lsl r0, r0, #8
str r1, [r4, r0]
add r0, r4, #0
bl ov83_02246AA4
add r0, r4, #0
bl ov83_02246CC0
pop {r4, pc}
thumb_func_end ov83_02244C58
thumb_func_start ov83_02244C88
ov83_02244C88: ; 0x02244C88
push {r4, lr}
add r4, r0, #0
add r0, #0xc0
bl ov83_02245094
add r0, r4, #0
bl ov83_02246C70
pop {r4, pc}
.balign 4, 0
thumb_func_end ov83_02244C88
thumb_func_start ov83_02244C9C
ov83_02244C9C: ; 0x02244C9C
push {r4, lr}
add r4, r0, #0
mov r0, #0xae
lsl r0, r0, #2
ldr r0, [r4, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r4, #0
add r0, #0xc0
bl ov83_02247944
mov r1, #1
mov r0, #6
mvn r1, r1
lsl r0, r0, #8
str r1, [r4, r0]
add r0, r4, #0
bl ov83_02246B6C
add r0, r4, #0
bl ov83_02246D40
pop {r4, pc}
thumb_func_end ov83_02244C9C
thumb_func_start ov83_02244CCC
ov83_02244CCC: ; 0x02244CCC
ldr r3, _02244CD0 ; =ov83_02246C70
bx r3
.balign 4, 0
_02244CD0: .word ov83_02246C70
thumb_func_end ov83_02244CCC
thumb_func_start ov83_02244CD4
ov83_02244CD4: ; 0x02244CD4
mov r3, #0
strb r3, [r0, #8]
str r2, [r1]
bx lr
thumb_func_end ov83_02244CD4
thumb_func_start ov83_02244CDC
ov83_02244CDC: ; 0x02244CDC
push {r4, lr}
add r4, r0, #0
ldr r0, _02244D08 ; =0x000005DC
bl PlaySE
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #1
bne _02244CFA
ldrb r2, [r4, #0xd]
add r0, r4, #0
mov r1, #0x16
bl ov83_022450A8
_02244CFA:
ldrb r1, [r4, #0xd]
add r0, r4, #0
mov r2, #0
bl ov83_02244D0C
pop {r4, pc}
nop
_02244D08: .word 0x000005DC
thumb_func_end ov83_02244CDC
thumb_func_start ov83_02244D0C
ov83_02244D0C: ; 0x02244D0C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
add r7, r1, #0
add r6, r2, #0
bne _02244D22
ldr r0, _02244D98 ; =0x00000508
mov r2, #1
ldr r4, [r5, r0]
mov r1, #0
b _02244D2A
_02244D22:
ldr r0, _02244D9C ; =0x0000050C
mov r2, #2
ldr r4, [r5, r0]
mov r1, #0x11
_02244D2A:
ldrb r0, [r5, #0x15]
cmp r7, r0
blo _02244D50
add r0, r4, #0
bl ov83_022475D4
add r0, r4, #0
mov r1, #0xe0
mov r2, #0xa0
bl ov83_02247568
cmp r6, #0
bne _02244D92
add r0, r5, #0
mov r1, #0
bl ov83_02246938
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_02244D50:
add r0, r4, #0
add r1, r2, #0
bl ov83_022475D4
add r0, r5, #0
add r1, sp, #4
add r2, sp, #0
add r3, r7, #0
bl ov83_02244DA0
ldr r1, [sp, #4]
ldr r2, [sp]
lsl r1, r1, #0x10
lsl r2, r2, #0x10
add r0, r4, #0
lsr r1, r1, #0x10
lsr r2, r2, #0x10
bl ov83_02247568
cmp r6, #0
bne _02244D92
ldrb r1, [r5, #0xc]
ldrb r0, [r5, #0x15]
cmp r1, r0
blo _02244D8A
add r0, r5, #0
mov r1, #1
bl ov83_02246938
_02244D8A:
add r0, r5, #0
mov r1, #0
bl ov83_0224691C
_02244D92:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_02244D98: .word 0x00000508
_02244D9C: .word 0x0000050C
thumb_func_end ov83_02244D0C
thumb_func_start ov83_02244DA0
ov83_02244DA0: ; 0x02244DA0
push {r4, r5, r6, lr}
ldrb r0, [r0, #9]
add r5, r1, #0
add r6, r2, #0
add r4, r3, #0
bl ov80_02237D8C
cmp r0, #1
bne _02244DD6
cmp r4, #0
bne _02244DBC
mov r0, #0x28
str r0, [r5]
b _02244DEE
_02244DBC:
cmp r4, #1
bne _02244DC6
mov r0, #0x68
str r0, [r5]
b _02244DEE
_02244DC6:
cmp r4, #2
bne _02244DD0
mov r0, #0xa8
str r0, [r5]
b _02244DEE
_02244DD0:
mov r0, #0xe8
str r0, [r5]
b _02244DEE
_02244DD6:
cmp r4, #0
bne _02244DE0
mov r0, #0x48
str r0, [r5]
b _02244DEE
_02244DE0:
cmp r4, #1
bne _02244DEA
mov r0, #0x88
str r0, [r5]
b _02244DEE
_02244DEA:
mov r0, #0xc8
str r0, [r5]
_02244DEE:
mov r0, #0x58
str r0, [r6]
pop {r4, r5, r6, pc}
thumb_func_end ov83_02244DA0
thumb_func_start ov83_02244DF4
ov83_02244DF4: ; 0x02244DF4
push {r3, r4, r5, r6, r7, lr}
ldrb r0, [r0, #9]
add r5, r1, #0
add r6, r2, #0
add r7, r3, #0
ldr r4, [sp, #0x18]
bl ov80_02237D8C
cmp r0, #0
bne _02244E16
mov r0, #0x28
strh r0, [r5]
mov r0, #0
strh r0, [r6]
strh r0, [r7]
strh r0, [r4]
pop {r3, r4, r5, r6, r7, pc}
_02244E16:
mov r1, #0
strh r1, [r5]
strh r1, [r6]
mov r0, #0x80
strh r0, [r7]
strh r1, [r4]
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov83_02244DF4
thumb_func_start ov83_02244E24
ov83_02244E24: ; 0x02244E24
push {r3, r4, r5, r6, lr}
sub sp, #0x14
add r4, r0, #0
ldrb r0, [r4, #0x14]
add r5, r2, #0
bl ov83_02247768
add r6, r0, #0
ldr r0, _02244F58 ; =0x0000055C
add r1, r6, #0
ldr r0, [r4, r0]
bl GetPartyMonByIndex
cmp r5, #5
bls _02244E44
b _02244F52
_02244E44:
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02244E50: ; jump table
.short _02244E5C - _02244E50 - 2 ; case 0
.short _02244E6A - _02244E50 - 2 ; case 1
.short _02244F52 - _02244E50 - 2 ; case 2
.short _02244EE8 - _02244E50 - 2 ; case 3
.short _02244F16 - _02244E50 - 2 ; case 4
.short _02244F44 - _02244E50 - 2 ; case 5
_02244E5C:
ldrb r1, [r4, #0xf]
mov r0, #1
add sp, #0x14
bic r1, r0
strb r1, [r4, #0xf]
mov r0, #1
pop {r3, r4, r5, r6, pc}
_02244E6A:
ldrb r1, [r4, #0xf]
lsl r0, r1, #0x1f
lsr r0, r0, #0x1f
bne _02244EC0
mov r0, #1
bic r1, r0
mov r0, #1
orr r0, r1
strb r0, [r4, #0xf]
ldrb r0, [r4, #0x12]
cmp r0, #1
bne _02244E86
mov r5, #9
b _02244E88
_02244E86:
mov r5, #0xa
_02244E88:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #0
bne _02244E96
mov r1, #0x50
b _02244E98
_02244E96:
mov r1, #0x30
_02244E98:
lsl r0, r6, #6
add r0, r1, r0
lsl r0, r0, #0x10
str r5, [sp]
asr r0, r0, #0x10
str r0, [sp, #4]
mov r1, #0
mov r0, #0x32
str r0, [sp, #8]
mov r0, #0xb2
lsl r0, r0, #2
str r1, [sp, #0xc]
add r0, r4, r0
add r2, r1, #0
add r3, r1, #0
str r1, [sp, #0x10]
bl ov83_02247454
ldr r1, _02244F5C ; =0x00000504
str r0, [r4, r1]
_02244EC0:
ldr r0, _02244F5C ; =0x00000504
ldr r0, [r4, r0]
bl ov83_02247624
cmp r0, #0
bne _02244F52
ldr r0, _02244F5C ; =0x00000504
ldr r0, [r4, r0]
bl ov83_0224753C
ldr r0, _02244F5C ; =0x00000504
mov r1, #0
str r1, [r4, r0]
ldrb r1, [r4, #0xf]
mov r0, #1
add sp, #0x14
bic r1, r0
strb r1, [r4, #0xf]
mov r0, #1
pop {r3, r4, r5, r6, pc}
_02244EE8:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #0
bne _02244F08
add r0, r4, #0
mov r1, #0
bl ov83_02246114
ldrb r1, [r4, #0xf]
mov r0, #1
add sp, #0x14
bic r1, r0
strb r1, [r4, #0xf]
mov r0, #1
pop {r3, r4, r5, r6, pc}
_02244F08:
ldrb r1, [r4, #0xf]
mov r0, #1
add sp, #0x14
bic r1, r0
strb r1, [r4, #0xf]
mov r0, #1
pop {r3, r4, r5, r6, pc}
_02244F16:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #0
bne _02244F36
add r0, r4, #0
mov r1, #0
bl ov83_02246114
ldrb r1, [r4, #0xf]
mov r0, #1
add sp, #0x14
bic r1, r0
strb r1, [r4, #0xf]
mov r0, #1
pop {r3, r4, r5, r6, pc}
_02244F36:
ldrb r1, [r4, #0xf]
mov r0, #1
add sp, #0x14
bic r1, r0
strb r1, [r4, #0xf]
mov r0, #1
pop {r3, r4, r5, r6, pc}
_02244F44:
ldrb r1, [r4, #0xf]
mov r0, #1
add sp, #0x14
bic r1, r0
strb r1, [r4, #0xf]
mov r0, #1
pop {r3, r4, r5, r6, pc}
_02244F52:
mov r0, #0
add sp, #0x14
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_02244F58: .word 0x0000055C
_02244F5C: .word 0x00000504
thumb_func_end ov83_02244E24
thumb_func_start ov83_02244F60
ov83_02244F60: ; 0x02244F60
push {r4, r5, r6, lr}
add r4, r0, #0
ldrb r0, [r4, #0x14]
add r6, r2, #0
ldrb r5, [r4, #0x15]
bl ov83_02247768
add r1, r0, #0
ldr r0, _02245064 ; =0x0000055C
ldr r0, [r4, r0]
bl GetPartyMonByIndex
cmp r6, #5
bhi _02245060
add r0, r6, r6
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02244F88: ; jump table
.short _02244F94 - _02244F88 - 2 ; case 0
.short _02244F94 - _02244F88 - 2 ; case 1
.short _02245060 - _02244F88 - 2 ; case 2
.short _02244FBC - _02244F88 - 2 ; case 3
.short _0224500E - _02244F88 - 2 ; case 4
.short _02244FA0 - _02244F88 - 2 ; case 5
_02244F94:
ldrb r1, [r4, #0xf]
mov r0, #1
bic r1, r0
strb r1, [r4, #0xf]
mov r0, #1
pop {r4, r5, r6, pc}
_02244FA0:
ldrb r0, [r4, #0xf]
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
bne _02244FB0
add r0, r4, #0
mov r1, #0
bl ov83_02246114
_02244FB0:
ldrb r1, [r4, #0xf]
mov r0, #1
bic r1, r0
strb r1, [r4, #0xf]
mov r0, #1
pop {r4, r5, r6, pc}
_02244FBC:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #1
bne _02244FF0
bl sub_0203769C
cmp r0, #0
ldrb r0, [r4, #0x11]
bne _02244FE0
cmp r0, r5
blo _02244FF0
ldrb r1, [r4, #0xf]
mov r0, #1
bic r1, r0
strb r1, [r4, #0xf]
mov r0, #1
pop {r4, r5, r6, pc}
_02244FE0:
cmp r0, r5
bhs _02244FF0
ldrb r1, [r4, #0xf]
mov r0, #1
bic r1, r0
strb r1, [r4, #0xf]
mov r0, #1
pop {r4, r5, r6, pc}
_02244FF0:
ldrb r1, [r4, #0xf]
lsl r0, r1, #0x1f
lsr r0, r0, #0x1f
bne _02245060
mov r0, #0xf8
bic r1, r0
mov r0, #0x18
orr r0, r1
strb r0, [r4, #0xf]
ldrb r1, [r4, #0xf]
mov r0, #1
bic r1, r0
strb r1, [r4, #0xf]
mov r0, #1
pop {r4, r5, r6, pc}
_0224500E:
ldrb r0, [r4, #9]
bl ov80_02237D8C
cmp r0, #1
bne _02245042
bl sub_0203769C
cmp r0, #0
ldrb r0, [r4, #0x11]
bne _02245032
cmp r0, r5
blo _02245042
ldrb r1, [r4, #0xf]
mov r0, #1
bic r1, r0
strb r1, [r4, #0xf]
mov r0, #1
pop {r4, r5, r6, pc}
_02245032:
cmp r0, r5
bhs _02245042
ldrb r1, [r4, #0xf]
mov r0, #1
bic r1, r0
strb r1, [r4, #0xf]
mov r0, #1
pop {r4, r5, r6, pc}
_02245042:
ldrb r1, [r4, #0xf]
lsl r0, r1, #0x1f
lsr r0, r0, #0x1f
bne _02245060
mov r0, #0xf8
bic r1, r0
mov r0, #0x18
orr r0, r1
strb r0, [r4, #0xf]
ldrb r1, [r4, #0xf]
mov r0, #1
bic r1, r0
strb r1, [r4, #0xf]
mov r0, #1
pop {r4, r5, r6, pc}
_02245060:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_02245064: .word 0x0000055C
thumb_func_end ov83_02244F60
thumb_func_start ov83_02245068
ov83_02245068: ; 0x02245068
cmp r0, #1
bne _02245070
mov r0, #1
bx lr
_02245070:
mov r0, #0xf
bx lr
thumb_func_end ov83_02245068
thumb_func_start ov83_02245074
ov83_02245074: ; 0x02245074
push {r4, lr}
add r4, r0, #0
bl ov83_02245390
add r0, r4, #0
add r0, #0xc0
bl ov83_02245094
mov r0, #0x15
lsl r0, r0, #6
ldr r0, [r4, r0]
mov r1, #0
bl ov83_0224755C
pop {r4, pc}
.balign 4, 0
thumb_func_end ov83_02245074
thumb_func_start ov83_02245094
ov83_02245094: ; 0x02245094
push {r4, lr}
add r4, r0, #0
mov r1, #1
bl ClearFrameAndWindow2
add r0, r4, #0
bl ClearWindowTilemapAndScheduleTransfer
pop {r4, pc}
.balign 4, 0
thumb_func_end ov83_02245094
thumb_func_start ov83_022450A8
ov83_022450A8: ; 0x022450A8
push {r3, r4, r5, lr}
add r3, r1, #0
sub r3, #0x14
add r5, r0, #0
cmp r3, #3
bhi _022450E6
add r3, r3, r3
add r3, pc
ldrh r3, [r3, #6]
lsl r3, r3, #0x10
asr r3, r3, #0x10
add pc, r3
_022450C0: ; jump table
.short _022450C8 - _022450C0 - 2 ; case 0
.short _022450D0 - _022450C0 - 2 ; case 1
.short _022450D8 - _022450C0 - 2 ; case 2
.short _022450E0 - _022450C0 - 2 ; case 3
_022450C8:
mov r4, #0x35
bl ov83_02245104
b _022450E6
_022450D0:
mov r4, #0x36
bl ov83_0224517C
b _022450E6
_022450D8:
mov r4, #0x37
bl ov83_02245210
b _022450E6
_022450E0:
mov r4, #0x38
bl ov83_02245248
_022450E6:
ldr r1, _02245100 ; =0x00000564
add r0, r4, #0
add r1, r5, r1
mov r2, #0x28
bl sub_02037030
cmp r0, #1
bne _022450FA
mov r0, #1
pop {r3, r4, r5, pc}
_022450FA:
mov r0, #0
pop {r3, r4, r5, pc}
nop
_02245100: .word 0x00000564
thumb_func_end ov83_022450A8
thumb_func_start ov83_02245104
ov83_02245104: ; 0x02245104
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
mov r0, #0xaf
lsl r0, r0, #2
ldr r0, [r6, r0]
add r4, r1, #0
bl Save_PlayerData_GetProfileAddr
ldr r1, _02245144 ; =0x00000564
strh r4, [r6, r1]
bl PlayerProfile_GetTrainerGender
ldr r1, _02245148 ; =0x00000566
mov r4, #0
strh r0, [r6, r1]
add r5, r6, #4
sub r7, r1, #2
_02245126:
mov r0, #0xaf
lsl r0, r0, #2
lsl r2, r4, #0x18
ldrb r1, [r6, #9]
ldr r0, [r6, r0]
lsr r2, r2, #0x18
bl ov83_0224777C
strh r0, [r5, r7]
add r4, r4, #1
add r5, r5, #2
cmp r4, #3
blt _02245126
pop {r3, r4, r5, r6, r7, pc}
nop
_02245144: .word 0x00000564
_02245148: .word 0x00000566
thumb_func_end ov83_02245104
thumb_func_start ov83_0224514C
ov83_0224514C: ; 0x0224514C
push {r4, r5, r6, lr}
add r4, r3, #0
add r5, r0, #0
ldrb r0, [r4, #0x17]
add r6, r2, #0
add r0, r0, #1
strb r0, [r4, #0x17]
bl sub_0203769C
cmp r5, r0
beq _02245176
ldr r0, _02245178 ; =0x000005B7
mov r3, #0
add r5, r6, #4
_02245168:
ldrh r2, [r5]
add r1, r4, r3
add r3, r3, #1
add r5, r5, #2
strb r2, [r1, r0]
cmp r3, #3
blt _02245168
_02245176:
pop {r4, r5, r6, pc}
.balign 4, 0
_02245178: .word 0x000005B7
thumb_func_end ov83_0224514C
thumb_func_start ov83_0224517C
ov83_0224517C: ; 0x0224517C
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _022451B0 ; =0x00000564
add r4, r2, #0
strh r1, [r5, r0]
add r0, r0, #2
strh r4, [r5, r0]
bl sub_0203769C
cmp r0, #0
bne _0224519A
ldrb r0, [r5, #0x11]
cmp r0, #0xff
bne _0224519A
strb r4, [r5, #0x11]
_0224519A:
ldrb r1, [r5, #0x11]
ldr r0, _022451B4 ; =0x00000568
strh r1, [r5, r0]
ldrb r2, [r5, #0x12]
add r1, r0, #4
add r0, r0, #6
strh r2, [r5, r1]
ldrb r1, [r5, #0x13]
strh r1, [r5, r0]
pop {r3, r4, r5, pc}
nop
_022451B0: .word 0x00000564
_022451B4: .word 0x00000568
thumb_func_end ov83_0224517C
thumb_func_start ov83_022451B8
ov83_022451B8: ; 0x022451B8
push {r4, r5, r6, lr}
add r4, r3, #0
add r6, r0, #0
ldrb r0, [r4, #0x17]
add r5, r2, #0
add r0, r0, #1
strb r0, [r4, #0x17]
bl sub_0203769C
cmp r6, r0
beq _02245208
ldrh r1, [r5, #2]
ldr r0, _0224520C ; =0x000005B5
strb r1, [r4, r0]
bl sub_0203769C
cmp r0, #0
bne _022451FC
ldrb r0, [r4, #0x11]
cmp r0, #0xff
ldr r0, _0224520C ; =0x000005B5
beq _022451EA
mov r1, #0
strb r1, [r4, r0]
pop {r4, r5, r6, pc}
_022451EA:
ldrb r1, [r4, r0]
ldrb r0, [r4, #0x15]
add r0, r1, r0
strb r0, [r4, #0x11]
ldrh r0, [r5, #8]
strb r0, [r4, #0x12]
ldrh r0, [r5, #0xa]
strb r0, [r4, #0x13]
pop {r4, r5, r6, pc}
_022451FC:
ldrh r0, [r5, #4]
strb r0, [r4, #0x11]
ldrh r0, [r5, #8]
strb r0, [r4, #0x12]
ldrh r0, [r5, #0xa]
strb r0, [r4, #0x13]
_02245208:
pop {r4, r5, r6, pc}
nop
_0224520C: .word 0x000005B5
thumb_func_end ov83_022451B8
thumb_func_start ov83_02245210
ov83_02245210: ; 0x02245210
ldr r2, _0224521C ; =0x00000564
strh r1, [r0, r2]
ldrb r3, [r0, #0xd]
add r1, r2, #2
strh r3, [r0, r1]
bx lr
.balign 4, 0
_0224521C: .word 0x00000564
thumb_func_end ov83_02245210
thumb_func_start ov83_02245220
ov83_02245220: ; 0x02245220
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r2, #0
add r4, r3, #0
bl sub_0203769C
cmp r5, r0
beq _02245240
ldrh r0, [r6, #2]
ldr r1, _02245244 ; =0x000005B4
mov r2, #1
strb r0, [r4, r1]
ldrb r1, [r4, r1]
add r0, r4, #0
bl ov83_02244D0C
_02245240:
pop {r4, r5, r6, pc}
nop
_02245244: .word 0x000005B4
thumb_func_end ov83_02245220
thumb_func_start ov83_02245248
ov83_02245248: ; 0x02245248
ldr r1, _02245250 ; =0x00000564
mov r2, #1
strh r2, [r0, r1]
bx lr
.balign 4, 0
_02245250: .word 0x00000564
thumb_func_end ov83_02245248
thumb_func_start ov83_02245254
ov83_02245254: ; 0x02245254
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r2, #0
add r6, r3, #0
bl sub_0203769C
cmp r5, r0
beq _0224526A
ldrh r1, [r4]
ldr r0, _0224526C ; =0x000005B6
strb r1, [r6, r0]
_0224526A:
pop {r4, r5, r6, pc}
.balign 4, 0
_0224526C: .word 0x000005B6
thumb_func_end ov83_02245254
thumb_func_start ov83_02245270
ov83_02245270: ; 0x02245270
push {r4, lr}
add r4, r0, #0
ldrb r0, [r4, #0x14]
bl ov83_02247768
ldr r1, _02245284 ; =0x00000554
mov r2, #1
ldr r1, [r4, r1]
strb r2, [r1, r0]
pop {r4, pc}
.balign 4, 0
_02245284: .word 0x00000554
thumb_func_end ov83_02245270
thumb_func_start ov83_02245288
ov83_02245288: ; 0x02245288
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0xae
lsl r0, r0, #2
ldr r0, [r5, r0]
add r4, r1, #0
bl Options_GetFrame
add r1, r0, #0
add r0, r5, #0
add r0, #0xc0
bl ov83_02247944
ldrb r0, [r5, #0x14]
add r1, r4, #0
bl ov83_02247768
add r1, r0, #0
ldr r0, _022452F8 ; =0x0000055C
ldr r0, [r5, r0]
bl GetPartyMonByIndex
bl Mon_GetBoxMon
add r2, r0, #0
add r0, r5, #0
mov r1, #0
bl ov83_02244AB0
add r0, r5, #0
mov r1, #0x2f
mov r2, #1
bl ov83_022448AC
strb r0, [r5, #0xa]
add r0, r5, #0
add r1, r4, #0
bl ov83_02245270
add r0, r5, #0
bl ov83_02245C80
ldrb r0, [r5, #0xd]
cmp r0, r4
bne _022452F0
add r0, r5, #0
bl ov83_02245D48
add r0, r5, #0
mov r1, #0
bl ov83_02246114
_022452F0:
ldr r0, _022452FC ; =0x00000623
bl PlaySE
pop {r3, r4, r5, pc}
.balign 4, 0
_022452F8: .word 0x0000055C
_022452FC: .word 0x00000623
thumb_func_end ov83_02245288
thumb_func_start ov83_02245300
ov83_02245300: ; 0x02245300
push {r4, lr}
add r4, r0, #0
ldrb r0, [r4, #0x14]
bl ov83_02247768
ldr r1, _02245314 ; =0x00000558
mov r2, #1
ldr r1, [r4, r1]
strb r2, [r1, r0]
pop {r4, pc}
.balign 4, 0
_02245314: .word 0x00000558
thumb_func_end ov83_02245300
thumb_func_start ov83_02245318
ov83_02245318: ; 0x02245318
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0xae
lsl r0, r0, #2
ldr r0, [r5, r0]
add r4, r1, #0
bl Options_GetFrame
add r1, r0, #0
add r0, r5, #0
add r0, #0xc0
bl ov83_02247944
ldrb r0, [r5, #0x14]
add r1, r4, #0
bl ov83_02247768
add r1, r0, #0
ldr r0, _02245388 ; =0x0000055C
ldr r0, [r5, r0]
bl GetPartyMonByIndex
bl Mon_GetBoxMon
add r2, r0, #0
add r0, r5, #0
mov r1, #0
bl ov83_02244AB0
add r0, r5, #0
mov r1, #0x53
mov r2, #1
bl ov83_022448AC
strb r0, [r5, #0xa]
add r0, r5, #0
add r1, r4, #0
bl ov83_02245300
add r0, r5, #0
bl ov83_02245C80
ldrb r0, [r5, #0xd]
cmp r0, r4
bne _02245380
add r0, r5, #0
bl ov83_02245D48
add r0, r5, #0
mov r1, #0
bl ov83_02246114
_02245380:
ldr r0, _0224538C ; =0x00000623
bl PlaySE
pop {r3, r4, r5, pc}
.balign 4, 0
_02245388: .word 0x0000055C
_0224538C: .word 0x00000623
thumb_func_end ov83_02245318
thumb_func_start ov83_02245390
ov83_02245390: ; 0x02245390
push {r4, lr}
add r4, r0, #0
ldrb r0, [r4, #0xf]
lsl r0, r0, #0x1d
lsr r0, r0, #0x1f
cmp r0, #1
bne _022453AC
ldr r0, _022453B8 ; =0x000005F8
ldr r0, [r4, r0]
bl sub_02018694
add r0, r4, #0
bl ov83_02246C70
_022453AC:
ldr r0, _022453BC ; =0x00000604
add r0, r4, r0
bl ov83_022478B4
pop {r4, pc}
nop
_022453B8: .word 0x000005F8
_022453BC: .word 0x00000604
thumb_func_end ov83_02245390
thumb_func_start ov83_022453C0
ov83_022453C0: ; 0x022453C0
push {r4, lr}
add r4, r0, #0
mov r0, #0xae
lsl r0, r0, #2
ldr r0, [r4, r0]
bl Options_GetFrame
add r4, #0xc0
add r1, r0, #0
add r0, r4, #0
bl ov83_02247944
pop {r4, pc}
.balign 4, 0
thumb_func_end ov83_022453C0
thumb_func_start ov83_022453DC
ov83_022453DC: ; 0x022453DC
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r4, r1, #0
add r1, sp, #0x1c
str r1, [sp]
add r1, sp, #0x20
add r3, sp, #0x1c
add r5, r0, #0
add r1, #2
add r2, sp, #0x20
add r3, #2
bl ov83_02244DF4
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #0
bne _02245472
add r1, sp, #0x1c
ldrh r0, [r1, #6]
add r0, #0x48
lsl r0, r0, #0x10
lsr r7, r0, #0x10
ldrh r0, [r1, #4]
mov r1, #0
add r2, r7, #0
add r0, r0, #1
lsl r0, r0, #0x10
lsr r6, r0, #0x10
mov r0, #0x30
str r0, [sp]
mov r0, #0x10
str r0, [sp, #4]
add r0, r4, #0
add r3, r6, #0
bl FillWindowPixelRect
ldrb r0, [r5, #9]
bl sub_0205C1F0
str r0, [sp, #0x18]
ldrb r0, [r5, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r5, #4]
ldr r1, [sp, #0x18]
bl sub_020310BC
mov r1, #0
add r2, r0, #0
str r1, [sp]
add r0, r5, #0
mov r3, #4
bl ov83_02244A98
str r6, [sp]
mov r0, #0xff
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r2, #2
str r2, [sp, #0xc]
mov r0, #0
str r0, [sp, #0x10]
str r0, [sp, #0x14]
add r0, r5, #0
add r1, r4, #0
add r3, r7, #0
bl ov83_0224484C
strb r0, [r5, #0xa]
b _02245540
_02245472:
mov r0, #0x30
str r0, [sp]
mov r0, #0x10
mov r1, #0
str r0, [sp, #4]
add r0, r4, #0
mov r2, #0x40
add r3, r1, #0
bl FillWindowPixelRect
mov r0, #0x30
str r0, [sp]
mov r0, #0x10
mov r1, #0
str r0, [sp, #4]
add r0, r4, #0
mov r2, #0xc0
add r3, r1, #0
bl FillWindowPixelRect
bl sub_0203769C
cmp r0, #0
bne _022454C6
ldrb r0, [r5, #9]
bl sub_0205C1F0
add r6, r0, #0
ldrb r0, [r5, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r5, #4]
add r1, r6, #0
bl sub_020310BC
add r6, r0, #0
ldr r0, _0224554C ; =0x000005BA
ldrh r7, [r5, r0]
b _022454E8
_022454C6:
ldr r0, _0224554C ; =0x000005BA
ldrh r6, [r5, r0]
ldrb r0, [r5, #9]
bl sub_0205C1F0
add r7, r0, #0
ldrb r0, [r5, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r5, #4]
add r1, r7, #0
bl sub_020310BC
add r7, r0, #0
_022454E8:
mov r1, #0
add r0, r5, #0
add r2, r6, #0
mov r3, #4
str r1, [sp]
bl ov83_02244A98
mov r0, #0x70
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02245550 ; =0x00010200
add r1, r4, #0
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
ldr r2, [r5, #0x20]
add r0, r5, #0
mov r3, #2
bl ov83_02245D08
mov r1, #0
add r0, r5, #0
add r2, r7, #0
mov r3, #4
str r1, [sp]
bl ov83_02244A98
mov r0, #0xf0
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02245550 ; =0x00010200
add r1, r4, #0
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
ldr r2, [r5, #0x20]
add r0, r5, #0
mov r3, #3
bl ov83_02245D08
_02245540:
add r0, r4, #0
bl ScheduleWindowCopyToVram
add sp, #0x24
pop {r4, r5, r6, r7, pc}
nop
_0224554C: .word 0x000005BA
_02245550: .word 0x00010200
thumb_func_end ov83_022453DC
thumb_func_start ov83_02245554
ov83_02245554: ; 0x02245554
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
bl ov83_02245068
add r2, r0, #0
mov r1, #0
add r0, r5, #0
mov r3, #4
str r1, [sp]
bl ov83_02244A98
add r0, r5, #0
mov r1, #0x19
mov r2, #1
bl ov83_022448AC
strb r0, [r5, #0xa]
add r0, r5, #0
bl ov83_02244A74
strb r4, [r5, #0xe]
pop {r3, r4, r5, pc}
thumb_func_end ov83_02245554
thumb_func_start ov83_02245584
ov83_02245584: ; 0x02245584
push {r4, r5, lr}
sub sp, #0xc
add r4, r1, #0
add r1, sp, #4
str r1, [sp]
add r1, sp, #8
add r3, sp, #4
add r5, r0, #0
add r1, #2
add r2, sp, #8
add r3, #2
bl ov83_02244DF4
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #0
bne _022455C8
mov r0, #0
str r0, [sp]
add r3, sp, #4
ldrh r2, [r3, #6]
ldrh r3, [r3, #4]
add r0, r5, #0
add r2, r2, #4
add r3, r3, #1
lsl r2, r2, #0x10
lsl r3, r3, #0x10
add r1, r4, #0
lsr r2, r2, #0x10
lsr r3, r3, #0x10
bl ov83_02244AD8
b _02245630
_022455C8:
bl sub_0203769C
cmp r0, #0
add r2, sp, #4
bne _02245602
ldrh r0, [r2, #4]
add r1, r4, #0
add r0, r0, #1
lsl r0, r0, #0x10
lsr r3, r0, #0x10
mov r0, #0
str r0, [sp]
ldrh r2, [r2, #6]
add r0, r5, #0
bl ov83_02244AD8
mov r0, #0
str r0, [sp]
add r3, sp, #4
ldrh r2, [r3, #2]
ldrh r3, [r3]
add r0, r5, #0
add r1, r4, #0
add r3, r3, #1
lsl r3, r3, #0x10
lsr r3, r3, #0x10
bl ov83_02244B40
b _02245630
_02245602:
ldrh r0, [r2, #4]
add r1, r4, #0
add r0, r0, #1
lsl r0, r0, #0x10
lsr r3, r0, #0x10
mov r0, #0
str r0, [sp]
ldrh r2, [r2, #6]
add r0, r5, #0
bl ov83_02244B40
mov r0, #0
str r0, [sp]
add r3, sp, #4
ldrh r2, [r3, #2]
ldrh r3, [r3]
add r0, r5, #0
add r1, r4, #0
add r3, r3, #1
lsl r3, r3, #0x10
lsr r3, r3, #0x10
bl ov83_02244AD8
_02245630:
add r0, r4, #0
bl ScheduleWindowCopyToVram
add sp, #0xc
pop {r4, r5, pc}
.balign 4, 0
thumb_func_end ov83_02245584
thumb_func_start ov83_0224563C
ov83_0224563C: ; 0x0224563C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
ldr r0, _02245740 ; =0x000005E3
add r7, r1, #0
add r6, r2, #0
bl PlaySE
ldrb r0, [r4, #0x15]
add r1, r7, #0
str r0, [sp]
bl ov83_0224776C
str r0, [sp, #4]
cmp r6, #4
bhi _02245686
add r0, r6, r6
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02245668: ; jump table
.short _02245672 - _02245668 - 2 ; case 0
.short _02245676 - _02245668 - 2 ; case 1
.short _02245686 - _02245668 - 2 ; case 2
.short _02245680 - _02245668 - 2 ; case 3
.short _02245684 - _02245668 - 2 ; case 4
_02245672:
mov r5, #1
b _02245686
_02245676:
ldrb r0, [r4, #0x12]
bl ov83_02245068
add r5, r0, #0
b _02245686
_02245680:
mov r5, #2
b _02245686
_02245684:
mov r5, #5
_02245686:
bl sub_0203769C
cmp r0, #0
bne _022456BA
ldr r0, [sp]
cmp r7, r0
bhs _022456A8
add r0, r4, #0
mov r1, #5
bl ov83_02244ABC
ldrb r1, [r4, #9]
ldr r0, [r4, #4]
add r2, r5, #0
bl ov80_02237FA4
b _022456E4
_022456A8:
ldr r0, [r4, #0x24]
mov r1, #5
bl ov83_022477C4
ldr r0, _02245744 ; =0x000005BA
ldrh r1, [r4, r0]
sub r1, r1, r5
strh r1, [r4, r0]
b _022456E4
_022456BA:
ldr r0, [sp]
cmp r7, r0
bhs _022456D2
ldr r0, [r4, #0x24]
mov r1, #5
bl ov83_022477C4
ldr r0, _02245744 ; =0x000005BA
ldrh r1, [r4, r0]
sub r1, r1, r5
strh r1, [r4, r0]
b _022456E4
_022456D2:
add r0, r4, #0
mov r1, #5
bl ov83_02244ABC
ldrb r1, [r4, #9]
ldr r0, [r4, #4]
add r2, r5, #0
bl ov80_02237FA4
_022456E4:
add r1, r4, #0
add r0, r4, #0
add r1, #0x50
bl ov83_022453DC
add r0, r4, #0
bl ov83_02245390
cmp r6, #4
bhi _0224573C
add r0, r6, r6
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02245704: ; jump table
.short _0224570E - _02245704 - 2 ; case 0
.short _0224571A - _02245704 - 2 ; case 1
.short _0224573C - _02245704 - 2 ; case 2
.short _02245728 - _02245704 - 2 ; case 3
.short _02245734 - _02245704 - 2 ; case 4
_0224570E:
ldr r1, [sp, #4]
add r0, r4, #0
bl ov83_02245824
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_0224571A:
ldrb r2, [r4, #0x12]
ldr r1, [sp, #4]
add r0, r4, #0
bl ov83_02245838
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_02245728:
ldr r1, [sp, #4]
add r0, r4, #0
bl ov83_02245288
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_02245734:
ldr r1, [sp, #4]
add r0, r4, #0
bl ov83_02245318
_0224573C:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02245740: .word 0x000005E3
_02245744: .word 0x000005BA
thumb_func_end ov83_0224563C
thumb_func_start ov83_02245748
ov83_02245748: ; 0x02245748
push {r4, r5, r6, lr}
add r5, r0, #0
ldrb r0, [r5, #0x14]
add r4, r1, #0
bl ov83_02247768
add r1, r0, #0
ldr r0, _02245810 ; =0x0000055C
ldr r0, [r5, r0]
bl GetPartyMonByIndex
add r6, r0, #0
mov r0, #0xae
lsl r0, r0, #2
ldr r0, [r5, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r5, #0
add r0, #0xc0
bl ov83_02247944
add r0, r6, #0
bl Mon_GetBoxMon
add r2, r0, #0
add r0, r5, #0
mov r1, #0
bl ov83_02244AB0
add r0, r5, #0
mov r1, #0x14
mov r2, #1
bl ov83_022448AC
strb r0, [r5, #0xa]
ldrb r0, [r5, #0x14]
add r1, r4, #0
bl ov83_02247768
ldr r1, _02245814 ; =0x0000054C
mov r2, #1
ldr r1, [r5, r1]
strb r2, [r1, r0]
ldrb r0, [r5, #0x14]
add r1, r4, #0
bl ov83_02247768
lsl r0, r0, #2
add r1, r5, r0
ldr r0, _02245818 ; =0x000004F4
ldr r0, [r1, r0]
mov r1, #0
bl ov83_0224755C
ldrb r0, [r5, #0x14]
add r1, r4, #0
bl ov83_02247768
lsl r0, r0, #2
add r1, r5, r0
ldr r0, _0224581C ; =0x000004E4
ldr r0, [r1, r0]
mov r1, #1
bl ov83_0224755C
add r1, r5, #0
add r0, r5, #0
add r1, #0x70
bl ov83_022449D4
ldrb r0, [r5, #0xd]
cmp r0, r4
bne _022457F0
add r0, r5, #0
bl ov83_02245D48
add r0, r5, #0
mov r1, #0
bl ov83_02246114
add r0, r5, #0
bl ov83_02246988
_022457F0:
ldrb r0, [r5, #0x14]
add r1, r4, #0
bl ov83_02247768
lsl r0, r0, #2
add r1, r5, r0
mov r0, #0x51
lsl r0, r0, #4
ldr r0, [r1, r0]
mov r1, #1
bl ov83_0224755C
ldr r0, _02245820 ; =0x00000623
bl PlaySE
pop {r4, r5, r6, pc}
.balign 4, 0
_02245810: .word 0x0000055C
_02245814: .word 0x0000054C
_02245818: .word 0x000004F4
_0224581C: .word 0x000004E4
_02245820: .word 0x00000623
thumb_func_end ov83_02245748
thumb_func_start ov83_02245824
ov83_02245824: ; 0x02245824
push {r4, lr}
add r4, r0, #0
bl ov83_02245748
add r0, r4, #0
add r4, #0x80
add r1, r4, #0
bl ov83_022448E4
pop {r4, pc}
thumb_func_end ov83_02245824
thumb_func_start ov83_02245838
ov83_02245838: ; 0x02245838
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #0xae
lsl r0, r0, #2
ldr r0, [r5, r0]
add r6, r1, #0
add r7, r2, #0
bl Options_GetFrame
add r1, r0, #0
add r0, r5, #0
add r0, #0xc0
bl ov83_02247944
ldrb r0, [r5, #0x14]
add r1, r6, #0
bl ov83_02247768
add r1, r0, #0
ldr r0, _02245994 ; =0x0000055C
ldr r0, [r5, r0]
bl GetPartyMonByIndex
add r4, r0, #0
bl Mon_GetBoxMon
add r2, r0, #0
add r0, r5, #0
mov r1, #0
bl ov83_02244AB0
cmp r7, #1
bne _0224588E
add r0, r5, #0
mov r1, #0x1f
mov r2, #1
bl ov83_022448AC
strb r0, [r5, #0xa]
ldr r0, _02245998 ; =0x00000632
bl PlaySE
b _022458A0
_0224588E:
add r0, r5, #0
mov r1, #0x20
mov r2, #1
bl ov83_022448AC
strb r0, [r5, #0xa]
ldr r0, _0224599C ; =0x00000633
bl PlaySE
_022458A0:
ldrb r0, [r5, #0x14]
add r1, r6, #0
bl ov83_02247768
mov r1, #0x55
lsl r1, r1, #4
ldr r1, [r5, r1]
ldrb r0, [r1, r0]
cmp r0, #0
ldrb r0, [r5, #0x14]
bne _022458C6
add r1, r6, #0
bl ov83_02247768
mov r1, #0x55
lsl r1, r1, #4
ldr r1, [r5, r1]
strb r7, [r1, r0]
b _022458D6
_022458C6:
add r1, r6, #0
bl ov83_02247768
mov r1, #0x55
lsl r1, r1, #4
ldr r1, [r5, r1]
mov r2, #0
strb r2, [r1, r0]
_022458D6:
ldrb r0, [r5, #0x14]
add r1, r6, #0
bl ov83_02247768
mov r1, #0x55
lsl r1, r1, #4
ldr r1, [r5, r1]
ldrb r0, [r1, r0]
cmp r0, #0
bne _0224590E
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetMonData
mov r1, #0x32
bl GetMonExpBySpeciesAndLevel
str r0, [sp]
add r0, r4, #0
mov r1, #8
add r2, sp, #0
bl SetMonData
add r0, r4, #0
bl CalcMonLevelAndStats
b _02245968
_0224590E:
ldrb r0, [r5, #0x14]
add r1, r6, #0
bl ov83_02247768
mov r1, #0x55
lsl r1, r1, #4
ldr r1, [r5, r1]
ldrb r0, [r1, r0]
cmp r0, #1
bne _02245946
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetMonData
mov r1, #0x37
bl GetMonExpBySpeciesAndLevel
str r0, [sp]
add r0, r4, #0
mov r1, #8
add r2, sp, #0
bl SetMonData
add r0, r4, #0
bl CalcMonLevelAndStats
b _02245968
_02245946:
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetMonData
mov r1, #0x2d
bl GetMonExpBySpeciesAndLevel
str r0, [sp]
add r0, r4, #0
mov r1, #8
add r2, sp, #0
bl SetMonData
add r0, r4, #0
bl CalcMonLevelAndStats
_02245968:
add r1, r5, #0
add r0, r5, #0
add r1, #0x80
bl ov83_022448E4
add r1, r5, #0
add r0, r5, #0
add r1, #0x70
bl ov83_022449D4
ldrb r0, [r5, #0xd]
cmp r0, r6
bne _02245990
add r0, r5, #0
bl ov83_02245D48
add r0, r5, #0
mov r1, #0
bl ov83_02246114
_02245990:
pop {r3, r4, r5, r6, r7, pc}
nop
_02245994: .word 0x0000055C
_02245998: .word 0x00000632
_0224599C: .word 0x00000633
thumb_func_end ov83_02245838
thumb_func_start ov83_022459A0
ov83_022459A0: ; 0x022459A0
ldr r3, _022459A8 ; =GX_EngineAToggleLayers
mov r0, #4
mov r1, #0
bx r3
.balign 4, 0
_022459A8: .word GX_EngineAToggleLayers
thumb_func_end ov83_022459A0
thumb_func_start ov83_022459AC
ov83_022459AC: ; 0x022459AC
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r6, r0, #0
ldrb r0, [r6, #9]
mov r1, #1
bl ov80_02237B24
mov r4, #0
str r0, [sp]
cmp r0, #0
ble _02245A34
add r5, r6, #0
_022459C4:
ldr r0, _02245A38 ; =0x0000055C
add r1, r4, #0
ldr r0, [r6, r0]
bl GetPartyMonByIndex
str r0, [sp, #4]
mov r1, #0xa3
mov r2, #0
bl GetMonData
add r7, r0, #0
ldr r0, [sp, #4]
mov r1, #0xa4
mov r2, #0
bl GetMonData
add r1, r0, #0
lsl r0, r7, #0x10
lsl r1, r1, #0x10
lsr r0, r0, #0x10
lsr r1, r1, #0x10
bl ov80_0222A43C
add r1, r0, #0
ldr r0, _02245A3C ; =0x000004E4
ldr r0, [r5, r0]
cmp r0, #0
beq _02245A2A
bl ov83_02247600
ldrb r0, [r6, #0x14]
ldrb r1, [r6, #0xd]
bl ov83_02247768
cmp r4, r0
bne _02245A14
ldrb r1, [r6, #0xd]
ldrb r0, [r6, #0x15]
cmp r1, r0
blo _02245A20
_02245A14:
ldr r0, _02245A3C ; =0x000004E4
mov r1, #0
ldr r0, [r5, r0]
bl ov83_0224760C
b _02245A2A
_02245A20:
ldr r0, _02245A3C ; =0x000004E4
mov r1, #1
ldr r0, [r5, r0]
bl ov83_0224760C
_02245A2A:
ldr r0, [sp]
add r4, r4, #1
add r5, r5, #4
cmp r4, r0
blt _022459C4
_02245A34:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02245A38: .word 0x0000055C
_02245A3C: .word 0x000004E4
thumb_func_end ov83_022459AC
thumb_func_start ov83_02245A40
ov83_02245A40: ; 0x02245A40
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldrb r0, [r5, #9]
add r4, r1, #0
add r6, r2, #0
bl sub_0205C1F0
add r7, r0, #0
ldrb r0, [r5, #9]
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
ldr r0, [r5, #4]
add r1, r7, #0
bl sub_020310BC
cmp r0, r4
bhs _02245A82
add r0, r5, #0
bl ov83_022453C0
add r0, r5, #0
add r1, r6, #0
mov r2, #1
bl ov83_022448AC
strb r0, [r5, #0xa]
mov r0, #0x10
strb r0, [r5, #8]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02245A82:
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #0
bne _02245AC6
add r0, r5, #0
add r0, #0xc0
bl ov83_02245094
ldrb r1, [r5, #9]
ldr r0, [r5, #4]
add r2, r4, #0
bl ov80_02237FA4
add r1, r5, #0
add r0, r5, #0
add r1, #0x50
bl ov83_022453DC
cmp r4, #2
bne _02245AB6
ldrb r1, [r5, #0xd]
add r0, r5, #0
bl ov83_02245288
b _02245ABE
_02245AB6:
ldrb r1, [r5, #0xd]
add r0, r5, #0
bl ov83_02245318
_02245ABE:
mov r0, #0xd
strb r0, [r5, #8]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02245AC6:
mov r0, #1
strb r0, [r5, #0x10]
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov83_02245A40
thumb_func_start ov83_02245ACC
ov83_02245ACC: ; 0x02245ACC
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
ldrb r0, [r5, #9]
add r4, r1, #0
mov r1, #0
add r7, r2, #0
bl ov80_02237B24
cmp r7, #5
bne _02245AE6
mov r6, #2
b _02245AEA
_02245AE6:
bl GF_AssertFail
_02245AEA:
ldrb r7, [r5, #0x15]
add r1, r4, #0
add r0, r7, #0
bl ov83_0224776C
bl sub_0203769C
cmp r0, #0
bne _02245B9A
cmp r4, r7
bhs _02245B7A
add r0, r5, #0
mov r1, #5
bl ov83_02244ABC
mov r0, #0xaf
lsl r0, r0, #2
ldrb r1, [r5, #9]
ldr r0, [r5, r0]
add r2, r6, #0
bl ov83_0224777C
ldrb r1, [r5, #9]
ldr r0, [r5, #4]
mov r2, #0x32
bl ov80_02237FA4
mov r0, #0xaf
lsl r0, r0, #2
ldrb r1, [r5, #9]
ldr r0, [r5, r0]
add r2, r6, #0
bl ov83_0224777C
add r4, r0, #0
mov r0, #0xaf
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_0203107C
add r7, r0, #0
ldrb r0, [r5, #9]
add r1, r6, #0
bl sub_0205C174
str r0, [sp]
ldrb r0, [r5, #9]
add r1, r6, #0
bl sub_0205C174
bl sub_0205C268
add r3, r4, #1
lsl r3, r3, #0x10
add r2, r0, #0
ldr r1, [sp]
add r0, r7, #0
lsr r3, r3, #0x10
bl sub_02031108
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #1
bne _02245C36
ldrb r1, [r5, #0xf]
mov r0, #0xf8
bic r1, r0
mov r0, #0x10
orr r0, r1
strb r0, [r5, #0xf]
b _02245C36
_02245B7A:
ldr r0, [r5, #0x24]
mov r1, #5
bl ov83_022477C4
ldr r1, _02245C78 ; =0x000005B7
add r2, r1, #3
add r0, r5, r1
ldrh r2, [r5, r2]
ldrb r4, [r0, r6]
add r1, r1, #3
sub r2, #0x32
strh r2, [r5, r1]
ldrb r1, [r0, r6]
add r1, r1, #1
strb r1, [r0, r6]
b _02245C36
_02245B9A:
cmp r4, r7
bhs _02245BBE
ldr r0, [r5, #0x24]
mov r1, #5
bl ov83_022477C4
ldr r1, _02245C78 ; =0x000005B7
add r2, r1, #3
add r0, r5, r1
ldrh r2, [r5, r2]
ldrb r4, [r0, r6]
add r1, r1, #3
sub r2, #0x32
strh r2, [r5, r1]
ldrb r1, [r0, r6]
add r1, r1, #1
strb r1, [r0, r6]
b _02245C36
_02245BBE:
add r0, r5, #0
mov r1, #5
bl ov83_02244ABC
mov r0, #0xaf
lsl r0, r0, #2
ldrb r1, [r5, #9]
ldr r0, [r5, r0]
add r2, r6, #0
bl ov83_0224777C
ldrb r1, [r5, #9]
ldr r0, [r5, #4]
mov r2, #0x32
bl ov80_02237FA4
mov r0, #0xaf
lsl r0, r0, #2
ldrb r1, [r5, #9]
ldr r0, [r5, r0]
add r2, r6, #0
bl ov83_0224777C
add r4, r0, #0
mov r0, #0xaf
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_0203107C
add r7, r0, #0
ldrb r0, [r5, #9]
add r1, r6, #0
bl sub_0205C174
str r0, [sp, #4]
ldrb r0, [r5, #9]
add r1, r6, #0
bl sub_0205C174
bl sub_0205C268
add r3, r4, #1
lsl r3, r3, #0x10
add r2, r0, #0
ldr r1, [sp, #4]
add r0, r7, #0
lsr r3, r3, #0x10
bl sub_02031108
ldrb r0, [r5, #9]
bl ov80_02237D8C
cmp r0, #1
bne _02245C36
ldrb r1, [r5, #0xf]
mov r0, #0xf8
bic r1, r0
mov r0, #0x10
orr r0, r1
strb r0, [r5, #0xf]
_02245C36:
add r0, r5, #0
bl ov83_02245390
add r1, r5, #0
add r0, r5, #0
add r1, #0x50
bl ov83_022453DC
mov r0, #0xae
lsl r0, r0, #2
ldr r0, [r5, r0]
bl Options_GetFrame
add r1, r0, #0
add r0, r5, #0
add r0, #0xc0
bl ov83_02247944
mov r1, #6
add r3, r6, #0
mul r3, r1
ldr r1, _02245C7C ; =ov83_02248054
lsl r2, r4, #1
add r1, r1, r3
ldrh r1, [r2, r1]
add r0, r5, #0
mov r2, #1
bl ov83_022448AC
strb r0, [r5, #0xa]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_02245C78: .word 0x000005B7
_02245C7C: .word ov83_02248054
thumb_func_end ov83_02245ACC
thumb_func_start ov83_02245C80
ov83_02245C80: ; 0x02245C80
push {r4, r5, r6, lr}
add r6, r0, #0
ldrb r0, [r6, #9]
mov r1, #1
bl ov80_02237B58
add r5, r0, #0
mov r4, #0
cmp r5, #0
ble _02245CA4
_02245C94:
lsl r1, r4, #0x18
add r0, r6, #0
lsr r1, r1, #0x18
bl ov83_02245CA8
add r4, r4, #1
cmp r4, r5
blt _02245C94
_02245CA4:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov83_02245C80
thumb_func_start ov83_02245CA8
ov83_02245CA8: ; 0x02245CA8
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _02245CE0 ; =0x00000554
add r4, r1, #0
ldr r1, [r5, r0]
ldrb r1, [r1, r4]
cmp r1, #1
bne _02245CC6
lsl r1, r4, #3
add r1, r5, r1
sub r0, #0x34
ldr r0, [r1, r0]
mov r1, #1
bl ov83_0224755C
_02245CC6:
ldr r0, _02245CE4 ; =0x00000558
ldr r1, [r5, r0]
ldrb r1, [r1, r4]
cmp r1, #1
bne _02245CDE
lsl r1, r4, #3
add r1, r5, r1
sub r0, #0x34
ldr r0, [r1, r0]
mov r1, #1
bl ov83_0224755C
_02245CDE:
pop {r3, r4, r5, pc}
.balign 4, 0
_02245CE0: .word 0x00000554
_02245CE4: .word 0x00000558
thumb_func_end ov83_02245CA8
thumb_func_start ov83_02245CE8
ov83_02245CE8: ; 0x02245CE8
push {r3, r4, r5, lr}
ldrb r0, [r0, #9]
add r5, r1, #0
add r4, r2, #0
bl ov80_02237D8C
cmp r0, #1
bne _02245CFC
mov r0, #0x40
b _02245CFE
_02245CFC:
mov r0, #0x60
_02245CFE:
str r0, [r5]
mov r0, #0x3c
str r0, [r4]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov83_02245CE8
thumb_func_start ov83_02245D08
ov83_02245D08: ; 0x02245D08
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r0, #0
add r4, r1, #0
add r0, r2, #0
add r1, r3, #0
bl NewString_ReadMsgData
add r6, r0, #0
ldr r0, [r5, #0x24]
ldr r1, [r5, #0x28]
add r2, r6, #0
bl StringExpandPlaceholders
ldr r0, [sp, #0x28]
ldr r2, [sp, #0x20]
str r0, [sp]
ldr r0, [sp, #0x2c]
ldr r3, [sp, #0x24]
str r0, [sp, #4]
ldr r0, [sp, #0x30]
str r0, [sp, #8]
ldr r1, [r5, #0x28]
add r0, r4, #0
bl ov83_02247998
add r0, r6, #0
bl String_Delete
add sp, #0xc
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov83_02245D08
thumb_func_start ov83_02245D48
ov83_02245D48: ; 0x02245D48
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
ldrb r0, [r5, #0x14]
ldrb r1, [r5, #0xd]
bl ov83_02247768
add r1, r0, #0
ldr r0, _02245EDC ; =0x0000055C
ldr r0, [r5, r0]
bl GetPartyMonByIndex
add r6, r0, #0
bl AcquireMonLock
str r0, [sp, #4]
ldr r0, _02245EE0 ; =0x000005BC
str r6, [r5, r0]
add r0, r6, #0
bl Mon_GetBoxMon
mov r1, #0x17
lsl r1, r1, #6
str r0, [r5, r1]
add r0, r6, #0
mov r1, #5
mov r2, #0
bl GetMonData
ldr r1, _02245EE4 ; =0x000005C4
mov r2, #0
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa1
bl GetMonData
ldr r1, _02245EE8 ; =0x000005C7
mov r2, #0
strb r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa
bl GetMonData
ldr r1, _02245EEC ; =0x000005C8
strb r0, [r5, r1]
add r0, r6, #0
bl GetMonNature
ldr r1, _02245EF0 ; =0x000005C9
mov r2, #0
strb r0, [r5, r1]
add r0, r6, #0
mov r1, #6
bl GetMonData
ldr r1, _02245EF4 ; =0x000005CA
mov r2, #0
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa3
bl GetMonData
mov r1, #0x5d
lsl r1, r1, #4
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa4
mov r2, #0
bl GetMonData
ldr r1, _02245EF8 ; =0x000005D2
mov r2, #0
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa5
bl GetMonData
ldr r1, _02245EFC ; =0x000005D4
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa8
mov r2, #0
bl GetMonData
ldr r1, _02245F00 ; =0x000005D6
mov r2, #0
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa6
bl GetMonData
ldr r1, _02245F04 ; =0x000005D8
mov r2, #0
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa9
bl GetMonData
ldr r1, _02245F08 ; =0x000005DA
mov r2, #0
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0xa7
bl GetMonData
ldr r1, _02245F0C ; =0x000005DC
mov r2, #0
strh r0, [r5, r1]
add r0, r6, #0
mov r1, #0x70
bl GetMonData
ldr r1, _02245F10 ; =0x000005DE
strb r0, [r5, r1]
mov r1, #0
add r0, r6, #0
add r2, r1, #0
bl GetMonData
ldr r1, _02245F14 ; =0x000005CC
mov r2, #0
str r0, [r5, r1]
add r0, r6, #0
mov r1, #0xb0
bl GetMonData
cmp r0, #1
ldr r1, _02245F18 ; =0x000005C6
bne _02245E54
ldrb r2, [r5, r1]
mov r0, #0x80
bic r2, r0
strb r2, [r5, r1]
b _02245E5C
_02245E54:
ldrb r2, [r5, r1]
mov r0, #0x80
orr r0, r2
strb r0, [r5, r1]
_02245E5C:
add r0, r6, #0
bl GetMonGender
ldr r3, _02245F18 ; =0x000005C6
mov r2, #0x7f
ldrb r1, [r5, r3]
mov r4, #0
bic r1, r2
mov r2, #0x7f
and r0, r2
orr r0, r1
strb r0, [r5, r3]
_02245E74:
lsl r0, r4, #1
add r0, r5, r0
add r1, r4, #0
str r0, [sp]
add r0, r6, #0
add r1, #0x36
mov r2, #0
bl GetMonData
mov r1, #0x5e
ldr r2, [sp]
lsl r1, r1, #4
strh r0, [r2, r1]
add r1, r4, #0
add r0, r6, #0
add r1, #0x3a
mov r2, #0
add r7, r5, r4
bl GetMonData
ldr r1, _02245F1C ; =0x000005E8
mov r2, #0
strb r0, [r7, r1]
add r1, r4, #0
add r0, r6, #0
add r1, #0x3e
bl GetMonData
lsl r0, r0, #0x10
lsr r1, r0, #0x10
mov r0, #0x5e
lsl r1, r1, #0x18
ldr r2, [sp]
lsl r0, r0, #4
ldrh r0, [r2, r0]
lsr r1, r1, #0x18
bl GetMoveMaxPP
ldr r1, _02245F20 ; =0x000005EC
strb r0, [r7, r1]
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, #4
blo _02245E74
ldr r1, [sp, #4]
add r0, r6, #0
bl ReleaseMonLock
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_02245EDC: .word 0x0000055C
_02245EE0: .word 0x000005BC
_02245EE4: .word 0x000005C4
_02245EE8: .word 0x000005C7
_02245EEC: .word 0x000005C8
_02245EF0: .word 0x000005C9
_02245EF4: .word 0x000005CA
_02245EF8: .word 0x000005D2
_02245EFC: .word 0x000005D4
_02245F00: .word 0x000005D6
_02245F04: .word 0x000005D8
_02245F08: .word 0x000005DA
_02245F0C: .word 0x000005DC
_02245F10: .word 0x000005DE
_02245F14: .word 0x000005CC
_02245F18: .word 0x000005C6
_02245F1C: .word 0x000005E8
_02245F20: .word 0x000005EC
thumb_func_end ov83_02245D48
thumb_func_start ov83_02245F24
ov83_02245F24: ; 0x02245F24
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #0x13
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x15
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x17
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x19
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x1b
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x1d
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x1f
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x21
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x23
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x25
lsl r0, r0, #4
add r0, r4, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r3, #0
str r3, [sp]
ldr r0, _02246110 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x13
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x42
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _02246110 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x15
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x34
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _02246110 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x17
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x32
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _02246110 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x19
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x30
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _02246110 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x1b
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x43
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _02246110 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x1d
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x36
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _02246110 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x1f
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x3a
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _02246110 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x21
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x38
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _02246110 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x23
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x3c
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _02246110 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x25
lsl r0, r0, #4
ldr r1, [r4, #0x20]
add r0, r4, r0
mov r2, #0x3e
bl ov83_022479E4
mov r0, #0x13
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x15
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x17
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x19
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x1b
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x1d
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x1f
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x21
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x23
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x25
lsl r0, r0, #4
add r0, r4, r0
bl CopyWindowPixelsToVram_TextMode
add sp, #0x10
pop {r4, pc}
nop
_02246110: .word 0x00010200
thumb_func_end ov83_02245F24
thumb_func_start ov83_02246114
ov83_02246114: ; 0x02246114
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r5, r0, #0
mov r0, #0xaf
str r1, [sp, #0x14]
lsl r0, r0, #2
ldrb r1, [r5, #9]
ldr r0, [r5, r0]
mov r2, #2
bl ov83_0224777C
add r6, r0, #0
ldrb r0, [r5, #0x14]
ldrb r1, [r5, #0xd]
bl ov83_02247768
add r4, r0, #0
mov r0, #0x11
lsl r0, r0, #4
add r0, r5, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x12
lsl r0, r0, #4
add r0, r5, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #5
lsl r0, r0, #6
add r0, r5, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x16
lsl r0, r0, #4
add r0, r5, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #6
lsl r0, r0, #6
add r0, r5, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x1a
lsl r0, r0, #4
add r0, r5, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #7
lsl r0, r0, #6
add r0, r5, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x1e
lsl r0, r0, #4
add r0, r5, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #2
lsl r0, r0, #8
add r0, r5, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x22
lsl r0, r0, #4
add r0, r5, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #9
lsl r0, r0, #6
add r0, r5, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x26
lsl r0, r0, #4
add r0, r5, r0
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x27
lsl r0, r0, #4
add r0, r5, r0
mov r1, #0
bl FillWindowPixelBuffer
ldr r0, _02246538 ; =0x000005C6
ldrb r0, [r5, r0]
lsl r1, r0, #0x18
lsr r1, r1, #0x1f
bne _0224621E
lsl r0, r0, #0x19
lsr r0, r0, #0x19
bne _022461FE
mov r3, #0
str r3, [sp]
ldr r0, _0224653C ; =0x00050600
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x12
lsl r0, r0, #4
ldr r1, [r5, #0x20]
add r0, r5, r0
mov r2, #0x40
bl ov83_022479E4
b _0224621E
_022461FE:
cmp r0, #1
bne _0224621E
mov r3, #0
str r3, [sp]
mov r0, #0xc1
str r3, [sp, #4]
lsl r0, r0, #0xa
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x12
lsl r0, r0, #4
ldr r1, [r5, #0x20]
add r0, r5, r0
mov r2, #0x41
bl ov83_022479E4
_0224621E:
mov r1, #0
ldr r2, _02246540 ; =0x000005C7
str r1, [sp]
ldrb r2, [r5, r2]
add r0, r5, #0
mov r3, #3
bl ov83_02244A98
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02246544 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
mov r1, #5
lsl r1, r1, #6
ldr r2, [r5, #0x20]
add r0, r5, #0
add r1, r5, r1
mov r3, #0x48
bl ov83_02245D08
ldr r0, _02246548 ; =0x0000054C
ldr r1, [r5, r0]
ldrb r1, [r1, r4]
cmp r1, #0
beq _022462D8
add r0, #0x70
ldr r0, [r5, r0]
bl Mon_GetBoxMon
add r2, r0, #0
ldr r0, [r5, #0x24]
mov r1, #0
bl BufferBoxMonSpeciesName
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02246544 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
mov r1, #0x11
lsl r1, r1, #4
ldr r2, [r5, #0x20]
add r0, r5, #0
add r1, r5, r1
mov r3, #0x45
bl ov83_02245D08
mov r1, #0
mov r2, #0x5d
str r1, [sp]
lsl r2, r2, #4
ldrh r2, [r5, r2]
add r0, r5, #0
mov r3, #3
bl ov83_02244A98
mov r0, #0
str r0, [sp]
ldr r2, _0224654C ; =0x000005D2
add r0, r5, #0
ldrh r2, [r5, r2]
mov r1, #1
mov r3, #3
bl ov83_02244A98
mov r0, #7
lsl r0, r0, #6
add r0, r5, r0
bl GetWindowWidth
lsl r0, r0, #3
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02246544 ; =0x00010200
mov r1, #7
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
lsl r1, r1, #6
ldr r2, [r5, #0x20]
add r0, r5, #0
add r1, r5, r1
mov r3, #0x4e
bl ov83_02245D08
b _0224631C
_022462D8:
mov r3, #0
str r3, [sp]
ldr r0, _02246544 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x11
lsl r0, r0, #4
ldr r1, [r5, #0x20]
add r0, r5, r0
mov r2, #0x4b
bl ov83_022479E4
mov r0, #7
lsl r0, r0, #6
add r0, r5, r0
bl GetWindowWidth
add r3, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _02246544 ; =0x00010200
mov r2, #0x4d
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
mov r0, #7
lsl r0, r0, #6
ldr r1, [r5, #0x20]
add r0, r5, r0
lsl r3, r3, #3
bl ov83_022479E4
_0224631C:
ldr r2, _02246550 ; =0x00000554
ldr r0, [r5, r2]
ldrb r0, [r0, r4]
cmp r0, #0
bne _02246328
b _022464D2
_02246328:
add r2, #0x74
ldrb r2, [r5, r2]
ldr r0, [r5, #0x24]
mov r1, #0
bl BufferAbilityName
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02246544 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
mov r1, #0x16
lsl r1, r1, #4
ldr r2, [r5, #0x20]
add r0, r5, #0
add r1, r5, r1
mov r3, #0x35
bl ov83_02245D08
ldr r2, _02246554 ; =0x000005C9
ldr r0, [r5, #0x24]
ldrb r2, [r5, r2]
mov r1, #0
bl BufferNatureName
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02246544 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
mov r1, #6
lsl r1, r1, #6
ldr r2, [r5, #0x20]
add r0, r5, #0
add r1, r5, r1
mov r3, #0x33
bl ov83_02245D08
ldr r2, _02246558 ; =0x000005CA
ldr r0, [r5, #0x24]
ldrh r2, [r5, r2]
mov r1, #0
bl BufferItemName
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02246544 ; =0x00010200
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
mov r1, #0x1a
lsl r1, r1, #4
ldr r2, [r5, #0x20]
add r0, r5, #0
add r1, r5, r1
mov r3, #0x31
bl ov83_02245D08
mov r1, #0
ldr r2, _0224655C ; =0x000005D4
str r1, [sp]
ldrh r2, [r5, r2]
add r0, r5, #0
mov r3, #3
bl ov83_02244A98
mov r0, #0x1e
lsl r0, r0, #4
add r0, r5, r0
bl GetWindowWidth
lsl r0, r0, #3
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02246544 ; =0x00010200
mov r1, #0x1e
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
lsl r1, r1, #4
ldr r2, [r5, #0x20]
add r0, r5, #0
add r1, r5, r1
mov r3, #0x37
bl ov83_02245D08
mov r1, #0
ldr r2, _02246560 ; =0x000005D6
str r1, [sp]
ldrh r2, [r5, r2]
add r0, r5, #0
mov r3, #3
bl ov83_02244A98
mov r0, #2
lsl r0, r0, #8
add r0, r5, r0
bl GetWindowWidth
lsl r0, r0, #3
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02246544 ; =0x00010200
mov r1, #1
str r0, [sp, #0xc]
str r1, [sp, #0x10]
lsl r1, r1, #9
ldr r2, [r5, #0x20]
add r0, r5, #0
add r1, r5, r1
mov r3, #0x3b
bl ov83_02245D08
mov r1, #0
ldr r2, _02246564 ; =0x000005D8
str r1, [sp]
ldrh r2, [r5, r2]
add r0, r5, #0
mov r3, #3
bl ov83_02244A98
mov r0, #0x22
lsl r0, r0, #4
add r0, r5, r0
bl GetWindowWidth
lsl r0, r0, #3
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02246544 ; =0x00010200
mov r1, #0x22
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
lsl r1, r1, #4
ldr r2, [r5, #0x20]
add r0, r5, #0
add r1, r5, r1
mov r3, #0x39
bl ov83_02245D08
mov r1, #0
ldr r2, _02246568 ; =0x000005DA
str r1, [sp]
ldrh r2, [r5, r2]
add r0, r5, #0
mov r3, #3
bl ov83_02244A98
mov r0, #9
lsl r0, r0, #6
add r0, r5, r0
bl GetWindowWidth
lsl r0, r0, #3
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02246544 ; =0x00010200
mov r1, #9
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
lsl r1, r1, #6
ldr r2, [r5, #0x20]
add r0, r5, #0
add r1, r5, r1
mov r3, #0x3d
bl ov83_02245D08
mov r1, #0
ldr r2, _0224656C ; =0x000005DC
str r1, [sp]
ldrh r2, [r5, r2]
add r0, r5, #0
mov r3, #3
bl ov83_02244A98
mov r0, #0x26
lsl r0, r0, #4
add r0, r5, r0
bl GetWindowWidth
lsl r0, r0, #3
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _02246544 ; =0x00010200
mov r1, #0x26
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
lsl r1, r1, #4
ldr r2, [r5, #0x20]
add r0, r5, #0
add r1, r5, r1
mov r3, #0x3f
bl ov83_02245D08
b _0224662C
_022464D2:
mov r3, #0
str r3, [sp]
ldr r0, _02246544 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x16
lsl r0, r0, #4
ldr r1, [r5, #0x20]
add r0, r5, r0
mov r2, #0x4b
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _02246544 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #6
lsl r0, r0, #6
ldr r1, [r5, #0x20]
add r0, r5, r0
mov r2, #0x4b
bl ov83_022479E4
mov r3, #0
str r3, [sp]
ldr r0, _02246544 ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x1a
lsl r0, r0, #4
ldr r1, [r5, #0x20]
add r0, r5, r0
mov r2, #0x4b
bl ov83_022479E4
mov r0, #0x1e
lsl r0, r0, #4
add r0, r5, r0
bl GetWindowWidth
add r3, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _02246544 ; =0x00010200
b _02246570
nop
_02246538: .word 0x000005C6
_0224653C: .word 0x00050600
_02246540: .word 0x000005C7
_02246544: .word 0x00010200
_02246548: .word 0x0000054C
_0224654C: .word 0x000005D2
_02246550: .word 0x00000554
_02246554: .word 0x000005C9
_02246558: .word 0x000005CA
_0224655C: .word 0x000005D4
_02246560: .word 0x000005D6
_02246564: .word 0x000005D8
_02246568: .word 0x000005DA
_0224656C: .word 0x000005DC
_02246570:
mov r2, #0x4a
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
mov r0, #0x1e
lsl r0, r0, #4
ldr r1, [r5, #0x20]
add r0, r5, r0
lsl r3, r3, #3
bl ov83_022479E4
mov r0, #2
lsl r0, r0, #8
add r0, r5, r0
bl GetWindowWidth
add r3, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0224690C ; =0x00010200
mov r2, #0x4a
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
lsl r0, r0, #9
ldr r1, [r5, #0x20]
add r0, r5, r0
lsl r3, r3, #3
bl ov83_022479E4
mov r0, #0x22
lsl r0, r0, #4
add r0, r5, r0
bl GetWindowWidth
add r3, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0224690C ; =0x00010200
mov r2, #0x4a
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
mov r0, #0x22
lsl r0, r0, #4
ldr r1, [r5, #0x20]
add r0, r5, r0
lsl r3, r3, #3
bl ov83_022479E4
mov r0, #9
lsl r0, r0, #6
add r0, r5, r0
bl GetWindowWidth
add r3, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0224690C ; =0x00010200
mov r2, #0x4a
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
mov r0, #9
lsl r0, r0, #6
ldr r1, [r5, #0x20]
add r0, r5, r0
lsl r3, r3, #3
bl ov83_022479E4
mov r0, #0x26
lsl r0, r0, #4
add r0, r5, r0
bl GetWindowWidth
add r3, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0224690C ; =0x00010200
mov r2, #0x4a
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
mov r0, #0x26
lsl r0, r0, #4
ldr r1, [r5, #0x20]
add r0, r5, r0
lsl r3, r3, #3
bl ov83_022479E4
_0224662C:
cmp r6, #1
bne _0224664C
mov r3, #0
str r3, [sp]
ldr r0, _0224690C ; =0x00010200
str r3, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
mov r0, #0x27
lsl r0, r0, #4
ldr r1, [r5, #0x20]
add r0, r5, r0
mov r2, #0x4c
bl ov83_022479E4
b _02246864
_0224664C:
ldr r0, _02246910 ; =0x00000558
ldr r0, [r5, r0]
ldrb r0, [r0, r4]
cmp r0, #0
bne _02246722
mov r0, #0
str r0, [sp, #0x20]
_0224665A:
ldr r0, [sp, #0x20]
mov r2, #0x4b
lsl r4, r0, #4
str r4, [sp]
mov r0, #0
str r0, [sp, #4]
ldr r0, _0224690C ; =0x00010200
mov r3, #0
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
mov r0, #0x27
lsl r0, r0, #4
ldr r1, [r5, #0x20]
add r0, r5, r0
bl ov83_022479E4
ldr r0, [r5, #0x20]
mov r1, #0x44
bl NewString_ReadMsgData
add r7, r0, #0
mov r0, #0
add r1, r7, #0
add r2, r0, #0
bl FontID_String_GetWidth
lsl r0, r0, #0x17
lsr r6, r0, #0x18
mov r0, #0
str r0, [sp]
ldr r0, _0224690C ; =0x00010200
add r1, r7, #0
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #0x27
lsl r0, r0, #4
add r0, r5, r0
mov r2, #0x78
add r3, r4, #0
bl ov83_02247998
add r0, r7, #0
bl String_Delete
ldr r0, [r5, #0x20]
mov r1, #0x49
bl NewString_ReadMsgData
add r7, r0, #0
mov r0, #0
add r1, r7, #0
add r2, r0, #0
bl FontID_String_GetWidth
add r3, r0, #0
mov r0, #0
str r0, [sp]
ldr r0, _0224690C ; =0x00010200
mov r2, #0x78
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #0x27
lsl r0, r0, #4
sub r2, r2, r6
sub r2, r2, r3
add r0, r5, r0
add r1, r7, #0
add r3, r4, #0
bl ov83_02247998
add r0, r7, #0
bl String_Delete
add r6, #0x78
str r4, [sp]
mov r0, #0
str r0, [sp, #4]
ldr r0, _0224690C ; =0x00010200
mov r2, #0x49
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
mov r0, #0x27
lsl r0, r0, #4
ldr r1, [r5, #0x20]
add r0, r5, r0
add r3, r6, #0
bl ov83_022479E4
ldr r0, [sp, #0x20]
add r0, r0, #1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x20]
cmp r0, #4
blo _0224665A
b _02246864
_02246722:
mov r4, #0
_02246724:
lsl r0, r4, #1
mov r2, #0x5e
add r7, r5, r0
lsl r2, r2, #4
ldrh r2, [r7, r2]
ldr r0, [r5, #0x24]
add r1, r4, #0
bl BufferMoveName
mov r0, #0
mov r1, #0x27
lsl r1, r1, #4
add r3, r4, #0
lsl r6, r4, #4
str r0, [sp]
str r6, [sp, #4]
str r0, [sp, #8]
ldr r0, _0224690C ; =0x00010200
add r1, r5, r1
str r0, [sp, #0xc]
mov r0, #0
str r0, [sp, #0x10]
ldr r2, [r5, #0x20]
add r0, r5, #0
add r3, #0x54
bl ov83_02245D08
mov r0, #0x5e
lsl r0, r0, #4
ldrh r0, [r7, r0]
cmp r0, #0
bne _02246784
str r6, [sp]
mov r0, #0
str r0, [sp, #4]
ldr r0, _0224690C ; =0x00010200
mov r2, #0x5a
str r0, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0x27
lsl r0, r0, #4
ldr r1, [r5, #0x20]
add r0, r5, r0
mov r3, #0x78
bl ov83_022479E4
b _02246858
_02246784:
ldr r0, [r5, #0x20]
mov r1, #0x44
bl NewString_ReadMsgData
add r7, r0, #0
mov r0, #0
add r1, r7, #0
add r2, r0, #0
bl FontID_String_GetWidth
lsl r0, r0, #0x17
lsr r6, r0, #0x18
lsl r0, r4, #4
str r0, [sp, #0x1c]
mov r0, #0
str r0, [sp]
ldr r0, _0224690C ; =0x00010200
ldr r3, [sp, #0x1c]
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #0x27
lsl r0, r0, #4
add r0, r5, r0
add r1, r7, #0
mov r2, #0x78
bl ov83_02247998
add r0, r7, #0
bl String_Delete
add r0, r5, r4
str r0, [sp, #0x18]
mov r0, #0
str r0, [sp]
ldr r3, [sp, #0x18]
ldr r2, _02246914 ; =0x000005E8
add r0, r5, #0
ldrb r2, [r3, r2]
mov r1, #0
mov r3, #2
bl ov83_02244A98
ldr r0, [r5, #0x20]
mov r1, #0x59
bl NewString_ReadMsgData
add r7, r0, #0
ldr r0, [r5, #0x24]
ldr r1, [r5, #0x28]
add r2, r7, #0
bl StringExpandPlaceholders
mov r0, #0
ldr r1, [r5, #0x28]
add r2, r0, #0
bl FontID_String_GetWidth
add r2, r0, #0
mov r0, #0
str r0, [sp]
ldr r0, _0224690C ; =0x00010200
mov r3, #0x78
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #0x27
sub r3, r3, r6
lsl r0, r0, #4
sub r2, r3, r2
ldr r1, [r5, #0x28]
ldr r3, [sp, #0x1c]
add r0, r5, r0
bl ov83_02247998
add r0, r7, #0
bl String_Delete
mov r0, #0
str r0, [sp]
ldr r3, [sp, #0x18]
ldr r2, _02246918 ; =0x000005EC
add r0, r5, #0
ldrb r2, [r3, r2]
mov r1, #0
mov r3, #2
bl ov83_02244A98
add r6, #0x78
mov r1, #0x27
lsl r1, r1, #4
ldr r0, [sp, #0x1c]
str r6, [sp]
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
ldr r0, _0224690C ; =0x00010200
add r1, r5, r1
str r0, [sp, #0xc]
mov r0, #0
str r0, [sp, #0x10]
ldr r2, [r5, #0x20]
add r0, r5, #0
mov r3, #0x59
bl ov83_02245D08
_02246858:
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, #4
bhs _02246864
b _02246724
_02246864:
ldr r0, [sp, #0x14]
cmp r0, #1
bne _02246884
mov r4, #0xc
add r5, #0x50
_0224686E:
lsl r0, r4, #4
add r0, r5, r0
bl ScheduleWindowCopyToVram
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, #0x22
bls _0224686E
add sp, #0x24
pop {r4, r5, r6, r7, pc}
_02246884:
mov r0, #0x11
lsl r0, r0, #4
add r0, r5, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x12
lsl r0, r0, #4
add r0, r5, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #5
lsl r0, r0, #6
add r0, r5, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x16
lsl r0, r0, #4
add r0, r5, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #6
lsl r0, r0, #6
add r0, r5, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x1a
lsl r0, r0, #4
add r0, r5, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #7
lsl r0, r0, #6
add r0, r5, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x1e
lsl r0, r0, #4
add r0, r5, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #2
lsl r0, r0, #8
add r0, r5, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x22
lsl r0, r0, #4
add r0, r5, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #9
lsl r0, r0, #6
add r0, r5, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x26
lsl r0, r0, #4
add r0, r5, r0
bl CopyWindowPixelsToVram_TextMode
mov r0, #0x27
lsl r0, r0, #4
add r0, r5, r0
bl CopyWindowPixelsToVram_TextMode
add sp, #0x24
pop {r4, r5, r6, r7, pc}
nop
_0224690C: .word 0x00010200
_02246910: .word 0x00000558
_02246914: .word 0x000005E8
_02246918: .word 0x000005EC
thumb_func_end ov83_02246114
thumb_func_start ov83_0224691C
ov83_0224691C: ; 0x0224691C
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl ov83_02245D48
add r0, r5, #0
add r1, r4, #0
bl ov83_02246114
add r0, r5, #0
bl ov83_02246988
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov83_0224691C
thumb_func_start ov83_02246938
ov83_02246938: ; 0x02246938
push {r4, r5, r6, lr}
add r6, r0, #0
cmp r1, #1
bne _02246962
mov r0, #0x11
lsl r0, r0, #4
mov r4, #0xc
add r5, r6, r0
_02246948:
add r0, r5, #0
bl ScheduleWindowCopyToVram
add r4, r4, #1
add r5, #0x10
cmp r4, #0x22
bls _02246948
ldr r0, _02246984 ; =0x00000544
mov r1, #1
ldr r0, [r6, r0]
bl ov83_0224755C
pop {r4, r5, r6, pc}
_02246962:
mov r0, #0x11
lsl r0, r0, #4
mov r5, #0xc
add r4, r6, r0
_0224696A:
add r0, r4, #0
bl ClearWindowTilemapAndScheduleTransfer
add r5, r5, #1
add r4, #0x10
cmp r5, #0x22
bls _0224696A
ldr r0, _02246984 ; =0x00000544
mov r1, #0
ldr r0, [r6, r0]
bl ov83_0224755C
pop {r4, r5, r6, pc}
.balign 4, 0
_02246984: .word 0x00000544
thumb_func_end ov83_02246938
thumb_func_start ov83_02246988
ov83_02246988: ; 0x02246988
push {r4, lr}
add r4, r0, #0
ldrb r0, [r4, #0x14]
ldrb r1, [r4, #0xd]
bl ov83_02247768
ldr r3, _022469D4 ; =0x0000054C
ldr r1, [r4, r3]
ldrb r0, [r1, r0]
cmp r0, #0
bne _022469B6
add r0, r3, #0
add r1, r3, #0
sub r0, #8
add r1, #0x74
add r3, #0x80
ldr r0, [r4, r0]
ldr r1, [r4, r1]
ldr r3, [r4, r3]
mov r2, #0
bl ov83_02247668
pop {r4, pc}
_022469B6:
add r2, r3, #0
add r0, r3, #0
add r1, r3, #0
add r2, #0x78
sub r0, #8
add r1, #0x74
add r3, #0x80
ldrh r2, [r4, r2]
ldr r0, [r4, r0]
ldr r1, [r4, r1]
ldr r3, [r4, r3]
bl ov83_02247668
pop {r4, pc}
nop
_022469D4: .word 0x0000054C
thumb_func_end ov83_02246988
thumb_func_start ov83_022469D8
ov83_022469D8: ; 0x022469D8
ldr r3, _022469E0 ; =ov83_02244CDC
strb r1, [r0, #0xd]
strb r2, [r0, #0xc]
bx r3
.balign 4, 0
_022469E0: .word ov83_02244CDC
thumb_func_end ov83_022469D8
thumb_func_start ov83_022469E4
ov83_022469E4: ; 0x022469E4
push {r4, r5, r6, r7, lr}
sub sp, #0x2c
add r5, r0, #0
add r0, sp, #4
add r4, r1, #0
add r0, #2
add r1, sp, #4
add r6, r2, #0
add r7, r3, #0
bl ov83_02247988
ldr r0, _02246A90 ; =ov83_02248018
add r1, sp, #4
ldrh r2, [r0]
add r3, sp, #8
strh r2, [r1, #0x1c]
ldrh r2, [r0, #2]
strh r2, [r1, #0x1e]
ldrh r2, [r0, #4]
strh r2, [r1, #0x20]
ldrh r2, [r0, #6]
strh r2, [r1, #0x22]
ldrh r2, [r0, #8]
ldrh r0, [r0, #0xa]
strh r2, [r1, #0x24]
strh r0, [r1, #0x26]
ldrh r0, [r1, #2]
strh r0, [r1, #0x22]
ldrh r2, [r1]
add r0, r0, r2
sub r0, #0x1b
strh r0, [r1, #0x24]
strh r2, [r1, #0x26]
ldrh r0, [r1, #0x1c]
strh r0, [r1, #4]
ldrh r0, [r1, #0x1e]
strh r0, [r1, #6]
ldrh r0, [r1, #0x20]
strh r0, [r1, #8]
ldrh r0, [r1, #0x22]
strh r0, [r1, #0xa]
ldrh r0, [r1, #0x24]
strh r0, [r1, #0xc]
ldrh r0, [r1, #0x26]
strh r0, [r1, #0xe]
ldr r0, _02246A94 ; =0x000005FC
ldr r2, [r5, r0]
sub r0, #8
str r2, [sp, #0x14]
ldr r2, [r5, #0x4c]
str r2, [sp, #0x18]
strb r4, [r1, #0x18]
add r1, sp, #0x30
ldrb r1, [r1, #0x10]
add r2, r6, #0
str r1, [sp]
add r1, r3, #0
ldr r0, [r5, r0]
add r3, r7, #0
bl ov83_02247CCC
ldr r1, _02246A98 ; =0x000005F8
str r0, [r5, r1]
ldrb r1, [r5, #0xf]
mov r0, #4
orr r0, r1
strb r0, [r5, #0xf]
ldrb r0, [r5, #9]
mov r1, #1
bl ov80_02237B24
add r4, r0, #0
ldr r0, _02246A9C ; =0x000004E4
add r1, r4, #0
add r0, r5, r0
mov r2, #1
bl ov83_0224773C
ldr r0, _02246AA0 ; =0x000004F4
add r1, r4, #0
add r0, r5, r0
mov r2, #1
bl ov83_0224773C
add sp, #0x2c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02246A90: .word ov83_02248018
_02246A94: .word 0x000005FC
_02246A98: .word 0x000005F8
_02246A9C: .word 0x000004E4
_02246AA0: .word 0x000004F4
thumb_func_end ov83_022469E4
thumb_func_start ov83_02246AA4
ov83_02246AA4: ; 0x02246AA4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #4
mov r1, #0x6b
mov r4, #0
bl ListMenuItems_New
ldr r1, _02246B5C ; =0x000005FC
mov r2, #2
str r0, [r5, r1]
mov r0, #0xaf
lsl r0, r0, #2
ldrb r1, [r5, #9]
ldr r0, [r5, r0]
bl ov83_0224777C
add r7, r0, #0
ldrb r0, [r5, #0x14]
ldrb r1, [r5, #0xd]
bl ov83_02247768
add r6, r0, #0
ldr r0, _02246B60 ; =0x0000054C
ldr r1, [r5, r0]
ldrb r1, [r1, r6]
cmp r1, #0
bne _02246AEE
add r0, #0xb0
ldr r0, [r5, r0]
ldr r1, [r5, #0x20]
mov r2, #8
add r3, r4, #0
bl ListMenuItems_AppendFromMsgData
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
_02246AEE:
ldr r0, _02246B5C ; =0x000005FC
ldr r1, [r5, #0x20]
ldr r0, [r5, r0]
mov r2, #9
mov r3, #1
bl ListMenuItems_AppendFromMsgData
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
ldr r0, _02246B64 ; =0x00000554
ldr r1, [r5, r0]
ldrb r1, [r1, r6]
cmp r1, #0
beq _02246B1A
add r0, r0, #4
ldr r0, [r5, r0]
ldrb r0, [r0, r6]
cmp r0, #0
beq _02246B1A
cmp r7, #2
beq _02246B2E
_02246B1A:
ldr r0, _02246B5C ; =0x000005FC
ldr r1, [r5, #0x20]
ldr r0, [r5, r0]
mov r2, #0xa
mov r3, #2
bl ListMenuItems_AppendFromMsgData
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
_02246B2E:
ldr r0, _02246B5C ; =0x000005FC
mov r2, #0xb
add r3, r2, #0
ldr r0, [r5, r0]
ldr r1, [r5, #0x20]
sub r3, #0xd
bl ListMenuItems_AppendFromMsgData
add r0, r4, #1
lsl r0, r0, #0x10
lsr r3, r0, #0x10
lsl r1, r3, #0x18
ldr r4, _02246B68 ; =ov83_02248010
mov r0, #0xd
str r0, [sp]
ldrb r3, [r4, r3]
add r0, r5, #0
lsr r1, r1, #0x18
mov r2, #0x11
bl ov83_022469E4
pop {r3, r4, r5, r6, r7, pc}
nop
_02246B5C: .word 0x000005FC
_02246B60: .word 0x0000054C
_02246B64: .word 0x00000554
_02246B68: .word ov83_02248010
thumb_func_end ov83_02246AA4
thumb_func_start ov83_02246B6C
ov83_02246B6C: ; 0x02246B6C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #4
mov r1, #0x6b
mov r4, #0
bl ListMenuItems_New
ldr r1, _02246C1C ; =0x000005FC
mov r2, #2
str r0, [r5, r1]
mov r0, #0xaf
lsl r0, r0, #2
ldrb r1, [r5, #9]
ldr r0, [r5, r0]
bl ov83_0224777C
add r6, r0, #0
ldrb r0, [r5, #0x14]
ldrb r1, [r5, #0xd]
bl ov83_02247768
add r7, r0, #0
ldr r0, _02246C20 ; =0x00000554
ldr r1, [r5, r0]
ldrb r1, [r1, r7]
cmp r1, #0
bne _02246BB6
add r0, #0xa8
ldr r0, [r5, r0]
ldr r1, [r5, #0x20]
mov r2, #0x21
mov r3, #3
bl ListMenuItems_AppendFromMsgData
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
_02246BB6:
cmp r6, #1
beq _02246BD8
ldr r0, _02246C24 ; =0x00000558
ldr r1, [r5, r0]
ldrb r1, [r1, r7]
cmp r1, #0
bne _02246BD8
add r0, #0xa4
ldr r0, [r5, r0]
ldr r1, [r5, #0x20]
mov r2, #0x22
mov r3, #4
bl ListMenuItems_AppendFromMsgData
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
_02246BD8:
cmp r6, #2
beq _02246BF0
ldr r0, _02246C1C ; =0x000005FC
ldr r1, [r5, #0x20]
ldr r0, [r5, r0]
mov r2, #0x23
mov r3, #5
bl ListMenuItems_AppendFromMsgData
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
_02246BF0:
ldr r0, _02246C1C ; =0x000005FC
mov r2, #0x24
add r3, r2, #0
ldr r0, [r5, r0]
ldr r1, [r5, #0x20]
sub r3, #0x26
bl ListMenuItems_AppendFromMsgData
add r0, r4, #1
lsl r0, r0, #0x10
lsr r3, r0, #0x10
lsl r1, r3, #0x18
ldr r4, _02246C28 ; =ov83_02248010
mov r0, #0xd
str r0, [sp]
ldrb r3, [r4, r3]
add r0, r5, #0
lsr r1, r1, #0x18
mov r2, #0x11
bl ov83_022469E4
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02246C1C: .word 0x000005FC
_02246C20: .word 0x00000554
_02246C24: .word 0x00000558
_02246C28: .word ov83_02248010
thumb_func_end ov83_02246B6C
thumb_func_start ov83_02246C2C
ov83_02246C2C: ; 0x02246C2C
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
mov r0, #3
mov r1, #0x6b
bl ListMenuItems_New
ldr r1, _02246C6C ; =0x000005FC
mov r4, #0
str r0, [r5, r1]
add r6, r1, #0
_02246C42:
add r2, r4, #0
ldr r0, [r5, r6]
ldr r1, [r5, #0x20]
add r2, #0x16
add r3, r4, #0
bl ListMenuItems_AppendFromMsgData
add r4, r4, #1
cmp r4, #3
blo _02246C42
mov r0, #0xd
str r0, [sp]
add r0, r5, #0
mov r1, #3
mov r2, #0x11
mov r3, #8
bl ov83_022469E4
add sp, #4
pop {r3, r4, r5, r6, pc}
nop
_02246C6C: .word 0x000005FC
thumb_func_end ov83_02246C2C
thumb_func_start ov83_02246C70
ov83_02246C70: ; 0x02246C70
push {r3, r4, r5, lr}
add r5, r0, #0
ldrb r0, [r5, #9]
mov r1, #1
bl ov80_02237B24
add r4, r0, #0
ldr r0, _02246CB0 ; =0x000004E4
add r1, r4, #0
add r0, r5, r0
mov r2, #0
bl ov83_0224773C
ldr r0, _02246CB4 ; =0x000004F4
add r1, r4, #0
add r0, r5, r0
mov r2, #0
bl ov83_0224773C
ldr r0, _02246CB8 ; =0x000005F8
ldr r0, [r5, r0]
bl ov83_02247CE8
ldr r0, _02246CBC ; =0x000005FC
ldr r0, [r5, r0]
bl ListMenuItems_Delete
ldrb r1, [r5, #0xf]
mov r0, #4
bic r1, r0
strb r1, [r5, #0xf]
pop {r3, r4, r5, pc}
.balign 4, 0
_02246CB0: .word 0x000004E4
_02246CB4: .word 0x000004F4
_02246CB8: .word 0x000005F8
_02246CBC: .word 0x000005FC
thumb_func_end ov83_02246C70
thumb_func_start ov83_02246CC0
ov83_02246CC0: ; 0x02246CC0
push {r4, lr}
sub sp, #0x18
ldr r1, _02246D3C ; =0x000005F8
add r4, r0, #0
ldr r0, [r4, r1]
add r3, r1, #0
add r0, #0x24
add r3, #8
ldrb r0, [r0]
ldr r3, [r4, r3]
cmp r3, r0
beq _02246D36
add r1, r1, #4
ldr r1, [r4, r1]
lsl r0, r0, #3
add r0, r1, r0
ldr r1, [r0, #4]
cmp r1, #2
bhi _02246CF4
cmp r1, #0
beq _02246CFE
cmp r1, #1
beq _02246D02
cmp r1, #2
beq _02246D06
b _02246D0C
_02246CF4:
mov r0, #1
mvn r0, r0
cmp r1, r0
beq _02246D0A
b _02246D0C
_02246CFE:
mov r2, #0xc
b _02246D0C
_02246D02:
mov r2, #0xd
b _02246D0C
_02246D06:
mov r2, #0xe
b _02246D0C
_02246D0A:
mov r2, #0xf
_02246D0C:
mov r3, #1
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
add r1, r4, #0
str r3, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0xf
str r0, [sp, #0x10]
add r0, r4, #0
add r1, #0xc0
str r3, [sp, #0x14]
bl ov83_022447E0
ldr r0, _02246D3C ; =0x000005F8
ldr r1, [r4, r0]
add r0, #8
add r1, #0x24
ldrb r1, [r1]
str r1, [r4, r0]
_02246D36:
add sp, #0x18
pop {r4, pc}
nop
_02246D3C: .word 0x000005F8
thumb_func_end ov83_02246CC0
thumb_func_start ov83_02246D40
ov83_02246D40: ; 0x02246D40
push {r3, r4, r5, lr}
sub sp, #0x18
add r5, r0, #0
mov r0, #6
lsl r0, r0, #8
ldr r1, [r5, r0]
sub r0, #8
ldr r0, [r5, r0]
add r0, #0x24
ldrb r0, [r0]
cmp r1, r0
beq _02246DEA
mov r0, #0xaf
lsl r0, r0, #2
ldrb r1, [r5, #9]
ldr r0, [r5, r0]
mov r2, #2
bl ov83_0224777C
cmp r0, #1
beq _02246D6E
mov r1, #1
b _02246D70
_02246D6E:
mov r1, #0
_02246D70:
ldr r2, _02246DF0 ; =0x000005FC
ldr r0, [r5, r2]
sub r2, r2, #4
ldr r2, [r5, r2]
add r2, #0x24
ldrb r2, [r2]
lsl r2, r2, #3
add r0, r0, r2
ldr r2, [r0, #4]
cmp r2, #5
bhi _02246D96
cmp r2, #3
blo _02246DBE
beq _02246DA0
cmp r2, #4
beq _02246DA8
cmp r2, #5
beq _02246DB0
b _02246DBE
_02246D96:
mov r0, #1
mvn r0, r0
cmp r2, r0
beq _02246DB8
b _02246DBE
_02246DA0:
ldr r0, _02246DF4 ; =ov83_02248024
lsl r1, r1, #1
ldrh r4, [r0, r1]
b _02246DBE
_02246DA8:
ldr r0, _02246DF8 ; =ov83_02248028
lsl r1, r1, #1
ldrh r4, [r0, r1]
b _02246DBE
_02246DB0:
ldr r0, _02246DFC ; =ov83_0224802C
lsl r1, r1, #1
ldrh r4, [r0, r1]
b _02246DBE
_02246DB8:
ldr r0, _02246E00 ; =ov83_02248030
lsl r1, r1, #1
ldrh r4, [r0, r1]
_02246DBE:
mov r3, #1
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
add r1, r5, #0
str r3, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0xf
str r0, [sp, #0x10]
add r0, r5, #0
add r1, #0xc0
add r2, r4, #0
str r3, [sp, #0x14]
bl ov83_022447E0
ldr r0, _02246E04 ; =0x000005F8
ldr r1, [r5, r0]
add r0, #8
add r1, #0x24
ldrb r1, [r1]
str r1, [r5, r0]
_02246DEA:
add sp, #0x18
pop {r3, r4, r5, pc}
nop
_02246DF0: .word 0x000005FC
_02246DF4: .word ov83_02248024
_02246DF8: .word ov83_02248028
_02246DFC: .word ov83_0224802C
_02246E00: .word ov83_02248030
_02246E04: .word 0x000005F8
thumb_func_end ov83_02246D40
thumb_func_start ov83_02246E08
ov83_02246E08: ; 0x02246E08
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r5, r0, #0
str r1, [sp, #0x14]
mov r0, #0x20
mov r1, #0x6b
str r2, [sp, #0x18]
bl GF_CreateVramTransferManager
bl ov83_022472DC
bl NNS_G2dInitOamManagerModule
mov r0, #0
str r0, [sp]
mov r1, #0x80
str r1, [sp, #4]
str r0, [sp, #8]
mov r3, #0x20
str r3, [sp, #0xc]
mov r2, #0x6b
str r2, [sp, #0x10]
add r2, r0, #0
bl OamManager_Create
mov r0, #0x28
add r1, r5, #4
mov r2, #0x6b
bl G2dRenderer_Init
ldr r4, _02247148 ; =ov83_02248178
str r0, [r5]
mov r7, #0
add r6, r5, #0
_02246E4C:
ldrb r0, [r4]
add r1, r7, #0
mov r2, #0x6b
bl Create2DGfxResObjMan
mov r1, #0x4b
lsl r1, r1, #2
str r0, [r6, r1]
add r7, r7, #1
add r4, r4, #1
add r6, r6, #4
cmp r7, #4
blt _02246E4C
add r0, r5, #0
bl ov83_022473BC
mov r0, #0
str r0, [sp]
mov r3, #1
str r3, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xc1
ldr r0, [r5, r0]
mov r1, #0xb8
mov r2, #0xf
bl AddCharResObjFromNarc
mov r1, #0x4f
lsl r1, r1, #2
str r0, [r5, r1]
mov r3, #0
str r3, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
add r0, #0xc5
ldr r0, [r5, r0]
mov r1, #0xb8
mov r2, #0x37
bl AddPlttResObjFromNarc
mov r1, #5
lsl r1, r1, #6
str r0, [r5, r1]
mov r0, #0
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xc9
ldr r0, [r5, r0]
mov r1, #0xb8
mov r2, #0x11
mov r3, #1
bl AddCellOrAnimResObjFromNarc
mov r1, #0x51
lsl r1, r1, #2
str r0, [r5, r1]
mov r0, #0
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xcd
ldr r0, [r5, r0]
mov r1, #0xb8
mov r2, #0x10
mov r3, #1
bl AddCellOrAnimResObjFromNarc
mov r1, #0x52
lsl r1, r1, #2
str r0, [r5, r1]
mov r0, #0x12
mov r1, #0x6b
bl NARC_New
add r6, r5, #0
add r7, r0, #0
mov r4, #4
add r6, #0x40
_02246EFC:
mov r0, #0
mov r1, #1
bl GetItemIndexMapping
add r2, r0, #0
str r4, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xc1
ldr r0, [r5, r0]
add r1, r7, #0
mov r3, #0
bl AddCharResObjFromOpenNarc
mov r1, #0x4f
lsl r1, r1, #2
str r0, [r6, r1]
mov r0, #0
mov r1, #2
bl GetItemIndexMapping
add r2, r0, #0
str r4, [sp]
mov r0, #1
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
add r0, #0xc5
ldr r0, [r5, r0]
mov r1, #0x12
mov r3, #0
bl AddPlttResObjFromNarc
mov r1, #5
lsl r1, r1, #6
str r0, [r6, r1]
add r4, r4, #1
add r6, #0x10
cmp r4, #9
ble _02246EFC
bl GetItemIconCell
add r2, r0, #0
mov r0, #4
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xc9
ldr r0, [r5, r0]
add r1, r7, #0
mov r3, #0
bl AddCellOrAnimResObjFromOpenNarc
mov r1, #0x61
lsl r1, r1, #2
str r0, [r5, r1]
bl GetItemIconAnim
add r2, r0, #0
mov r0, #4
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xcd
ldr r0, [r5, r0]
add r1, r7, #0
mov r3, #0
bl AddCellOrAnimResObjFromOpenNarc
mov r1, #0x62
lsl r1, r1, #2
str r0, [r5, r1]
mov r0, #0
mov r1, #2
bl GetItemIndexMapping
add r2, r0, #0
mov r0, #3
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
add r0, #0xc5
ldr r0, [r5, r0]
mov r1, #0x12
mov r3, #0
bl AddPlttResObjFromNarc
mov r1, #0x17
lsl r1, r1, #4
str r0, [r5, r1]
add r0, r7, #0
bl NARC_Delete
mov r0, #3
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xc1
ldr r0, [r5, r0]
mov r1, #0xb8
mov r2, #0x24
mov r3, #1
bl AddCharResObjFromNarc
mov r1, #0x5b
lsl r1, r1, #2
str r0, [r5, r1]
mov r0, #3
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xc9
ldr r0, [r5, r0]
mov r1, #0xb8
mov r2, #0x26
mov r3, #1
bl AddCellOrAnimResObjFromNarc
mov r1, #0x5d
lsl r1, r1, #2
str r0, [r5, r1]
mov r0, #3
str r0, [sp]
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xcd
ldr r0, [r5, r0]
mov r1, #0xb8
mov r2, #0x25
mov r3, #1
bl AddCellOrAnimResObjFromNarc
mov r1, #0x5e
lsl r1, r1, #2
str r0, [r5, r1]
add r0, r5, #0
bl ov83_02247314
mov r0, #0x14
mov r1, #0x6b
bl NARC_New
add r7, r0, #0
bl sub_02074490
add r2, r0, #0
mov r0, #0xa
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #3
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
add r0, #0xc5
ldr r0, [r5, r0]
mov r1, #0x14
mov r3, #0
bl AddPlttResObjFromNarc
mov r1, #0x1e
lsl r1, r1, #4
str r0, [r5, r1]
bl sub_02074498
add r2, r0, #0
mov r0, #5
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xc9
ldr r0, [r5, r0]
add r1, r7, #0
mov r3, #0
bl AddCellOrAnimResObjFromOpenNarc
mov r1, #0x79
lsl r1, r1, #2
str r0, [r5, r1]
bl sub_020744A4
add r2, r0, #0
mov r0, #5
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xcd
ldr r0, [r5, r0]
add r1, r7, #0
mov r3, #0
bl AddCellOrAnimResObjFromOpenNarc
mov r1, #0x7a
lsl r1, r1, #2
str r0, [r5, r1]
mov r4, #0
add r6, r5, #0
_022470AE:
cmp r4, #3
bne _022470CC
ldr r0, [sp, #0x18]
cmp r0, #0
bne _022470C2
ldr r0, [sp, #0x14]
mov r1, #0
bl GetPartyMonByIndex
b _022470D4
_022470C2:
ldr r0, [sp, #0x14]
add r1, r4, #0
bl GetPartyMonByIndex
b _022470D4
_022470CC:
ldr r0, [sp, #0x14]
add r1, r4, #0
bl GetPartyMonByIndex
_022470D4:
bl Pokemon_GetIconNaix
add r2, r0, #0
add r0, r4, #0
add r0, #0xa
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xc1
ldr r0, [r5, r0]
add r1, r7, #0
mov r3, #0
bl AddCharResObjFromOpenNarc
mov r1, #0x77
lsl r1, r1, #2
str r0, [r6, r1]
add r4, r4, #1
add r6, #0x10
cmp r4, #4
blt _022470AE
add r0, r7, #0
bl NARC_Delete
mov r7, #0x4f
mov r6, #0
add r4, r5, #0
lsl r7, r7, #2
_02247110:
ldr r0, [r4, r7]
bl sub_0200ACF0
add r6, r6, #1
add r4, #0x10
cmp r6, #0xe
blt _02247110
mov r6, #5
mov r4, #0
lsl r6, r6, #6
_02247124:
ldr r0, [r5, r6]
bl sub_0200AF94
add r4, r4, #1
add r5, #0x10
cmp r4, #0xb
blt _02247124
mov r0, #0x10
mov r1, #1
bl GX_EngineBToggleLayers
mov r0, #0x10
mov r1, #1
bl GX_EngineAToggleLayers
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
nop
_02247148: .word ov83_02248178
thumb_func_end ov83_02246E08
thumb_func_start ov83_0224714C
ov83_0224714C: ; 0x0224714C
push {r4, r5, r6, lr}
sub sp, #0x80
add r4, r0, #0
mov r0, #0
str r3, [sp]
mvn r0, r0
str r0, [sp, #4]
str r0, [sp, #8]
mov r5, #0
ldr r0, [sp, #0x98]
str r5, [sp, #0xc]
str r0, [sp, #0x10]
mov r0, #0x4b
lsl r0, r0, #2
ldr r6, [r4, r0]
str r6, [sp, #0x14]
add r6, r0, #4
ldr r6, [r4, r6]
str r6, [sp, #0x18]
add r6, r0, #0
add r6, #8
ldr r6, [r4, r6]
add r0, #0xc
str r6, [sp, #0x1c]
ldr r0, [r4, r0]
str r0, [sp, #0x20]
str r5, [sp, #0x24]
str r5, [sp, #0x28]
add r0, sp, #0x5c
bl CreateSpriteResourcesHeader
ldr r0, [r4]
add r1, r5, #0
str r0, [sp, #0x2c]
add r0, sp, #0x5c
str r0, [sp, #0x30]
mov r0, #1
lsl r0, r0, #0xc
str r1, [sp, #0x34]
str r1, [sp, #0x38]
str r1, [sp, #0x3c]
str r0, [sp, #0x40]
str r0, [sp, #0x44]
str r0, [sp, #0x48]
add r0, sp, #0x2c
strh r1, [r0, #0x20]
ldr r0, [sp, #0x94]
str r0, [sp, #0x50]
add r0, sp, #0x80
ldrb r0, [r0, #0x1c]
cmp r0, #0
bne _022471BA
mov r0, #1
str r0, [sp, #0x54]
b _022471BE
_022471BA:
mov r0, #2
str r0, [sp, #0x54]
_022471BE:
mov r0, #0x6b
str r0, [sp, #0x58]
add r0, sp, #0x80
ldrb r0, [r0, #0x1c]
cmp r0, #1
bne _022471D4
mov r0, #3
ldr r1, [sp, #0x38]
lsl r0, r0, #0x12
add r0, r1, r0
str r0, [sp, #0x38]
_022471D4:
add r0, sp, #0x2c
bl CreateSprite
mov r1, #1
add r4, r0, #0
bl Set2dSpriteAnimActiveFlag
mov r1, #1
add r0, r4, #0
lsl r1, r1, #0xc
bl sub_02024868
ldr r1, [sp, #0x90]
add r0, r4, #0
bl Set2dSpriteAnimSeqNo
add r0, r4, #0
add sp, #0x80
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov83_0224714C
thumb_func_start ov83_022471FC
ov83_022471FC: ; 0x022471FC
push {r4, r5, r6, lr}
mov r6, #0x4f
add r5, r0, #0
mov r4, #0
lsl r6, r6, #2
_02247206:
lsl r0, r4, #4
add r0, r5, r0
ldr r0, [r0, r6]
bl sub_0200AEB0
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, #0xe
blo _02247206
mov r6, #5
mov r4, #0
lsl r6, r6, #6
_02247220:
lsl r0, r4, #4
add r0, r5, r0
ldr r0, [r0, r6]
bl sub_0200B0A8
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, #0xb
blo _02247220
mov r6, #0x4b
mov r4, #0
lsl r6, r6, #2
_0224723A:
lsl r0, r4, #2
add r0, r5, r0
ldr r0, [r0, r6]
bl Destroy2DGfxResObjMan
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, #4
blo _0224723A
ldr r0, [r5]
bl sub_02024504
bl OamManager_Free
bl sub_0202168C
bl sub_02022608
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov83_022471FC
thumb_func_start ov83_02247264
ov83_02247264: ; 0x02247264
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
mov r0, #0x4b
lsl r0, r0, #2
ldr r0, [r5, r0]
add r6, r2, #0
bl Get2DGfxResObjById
add r4, r0, #0
add r0, r6, #0
mov r1, #1
bl GetItemIndexMapping
add r3, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #0x6b
str r0, [sp, #4]
add r0, #0xc1
ldr r0, [r5, r0]
add r1, r4, #0
mov r2, #0x12
bl ReplaceCharResObjFromNarc
add r0, r4, #0
bl sub_0200AE8C
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end ov83_02247264
thumb_func_start ov83_022472A0
ov83_022472A0: ; 0x022472A0
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
mov r0, #0x13
lsl r0, r0, #4
ldr r0, [r5, r0]
add r6, r2, #0
bl Get2DGfxResObjById
add r4, r0, #0
add r0, r6, #0
mov r1, #2
bl GetItemIndexMapping
add r3, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #0x6b
str r0, [sp, #4]
add r0, #0xc5
ldr r0, [r5, r0]
add r1, r4, #0
mov r2, #0x12
bl ReplacePlttResObjFromNarc
add r0, r4, #0
bl sub_0200B084
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end ov83_022472A0
thumb_func_start ov83_022472DC
ov83_022472DC: ; 0x022472DC
push {r4, lr}
sub sp, #0x10
ldr r4, _0224730C ; =ov83_0224817C
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
ldr r2, _02247310 ; =0x00100010
mov r1, #0x10
bl sub_020215C0
mov r0, #0x20
mov r1, #0x6b
bl sub_02022588
bl sub_020216C8
bl sub_02022638
add sp, #0x10
pop {r4, pc}
.balign 4, 0
_0224730C: .word ov83_0224817C
_02247310: .word 0x00100010
thumb_func_end ov83_022472DC
thumb_func_start ov83_02247314
ov83_02247314: ; 0x02247314
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
mov r0, #0x15
mov r1, #0x6b
bl NARC_New
add r4, r0, #0
bl sub_0207CA9C
add r2, r0, #0
mov r0, #1
str r0, [sp]
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xc1
ldr r0, [r5, r0]
add r1, r4, #0
mov r3, #0
bl AddCharResObjFromOpenNarc
mov r1, #0x53
lsl r1, r1, #2
str r0, [r5, r1]
bl sub_0207CAA0
add r2, r0, #0
mov r0, #1
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
add r0, #0xc5
ldr r0, [r5, r0]
mov r1, #0x15
mov r3, #0
bl AddPlttResObjFromNarc
mov r1, #0x15
lsl r1, r1, #4
str r0, [r5, r1]
bl sub_0207CAA4
add r2, r0, #0
mov r0, #1
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xc9
ldr r0, [r5, r0]
add r1, r4, #0
mov r3, #0
bl AddCellOrAnimResObjFromOpenNarc
mov r1, #0x55
lsl r1, r1, #2
str r0, [r5, r1]
bl sub_0207CAA8
add r2, r0, #0
mov r0, #1
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xcd
ldr r0, [r5, r0]
add r1, r4, #0
mov r3, #0
bl AddCellOrAnimResObjFromOpenNarc
mov r1, #0x56
lsl r1, r1, #2
str r0, [r5, r1]
add r0, r4, #0
bl NARC_Delete
add sp, #0x10
pop {r3, r4, r5, pc}
thumb_func_end ov83_02247314
thumb_func_start ov83_022473BC
ov83_022473BC: ; 0x022473BC
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
mov r0, #8
mov r1, #0x6b
bl NARC_New
add r4, r0, #0
mov r0, #2
str r0, [sp]
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xc1
ldr r0, [r5, r0]
add r1, r4, #0
mov r2, #0x4c
mov r3, #0
bl AddCharResObjFromOpenNarc
mov r1, #0x57
lsl r1, r1, #2
str r0, [r5, r1]
mov r0, #2
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x6b
str r0, [sp, #0xc]
add r0, #0xc5
ldr r0, [r5, r0]
add r1, r4, #0
mov r2, #0x4b
mov r3, #0
bl AddPlttResObjFromOpenNarc
mov r1, #0x16
lsl r1, r1, #4
str r0, [r5, r1]
mov r0, #2
str r0, [sp]
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xc9
ldr r0, [r5, r0]
add r1, r4, #0
mov r2, #0x4d
mov r3, #0
bl AddCellOrAnimResObjFromOpenNarc
mov r1, #0x59
lsl r1, r1, #2
str r0, [r5, r1]
mov r0, #2
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
add r0, #0xcd
ldr r0, [r5, r0]
add r1, r4, #0
mov r2, #0x4e
mov r3, #0
bl AddCellOrAnimResObjFromOpenNarc
mov r1, #0x5a
lsl r1, r1, #2
str r0, [r5, r1]
add r0, r4, #0
bl NARC_Delete
add sp, #0x10
pop {r3, r4, r5, pc}
thumb_func_end ov83_022473BC
thumb_func_start ov83_02247454
ov83_02247454: ; 0x02247454
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r0, #0
add r6, r1, #0
mov r0, #0x6b
mov r1, #8
add r7, r2, #0
str r3, [sp, #0x10]
bl AllocFromHeap
add r4, r0, #0
mov r1, #0
strb r1, [r4]
strb r1, [r4, #1]
strb r1, [r4, #2]
strb r1, [r4, #3]
strb r1, [r4, #4]
strb r1, [r4, #5]
strb r1, [r4, #6]
strb r1, [r4, #7]
add r0, sp, #0x28
mov r2, #0x14
ldrsh r2, [r0, r2]
ldr r3, [sp, #0x10]
strh r2, [r4]
mov r2, #0x18
ldrsh r0, [r0, r2]
add r2, r7, #0
strh r0, [r4, #2]
ldr r0, [sp, #0x38]
str r0, [sp]
ldr r0, [sp, #0x44]
str r1, [sp, #4]
str r0, [sp, #8]
str r1, [sp, #0xc]
add r0, r5, #0
add r1, r6, #0
bl ov83_0224714C
str r0, [r4, #4]
add r1, sp, #0x28
mov r0, #0x14
ldrsh r0, [r1, r0]
lsl r0, r0, #0xc
str r0, [sp, #0x14]
mov r0, #0x18
ldrsh r0, [r1, r0]
add r1, sp, #0x14
lsl r0, r0, #0xc
str r0, [sp, #0x18]
ldr r0, [r4, #4]
bl sub_020247D4
add r0, r4, #0
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov83_02247454
thumb_func_start ov83_022474C4
ov83_022474C4: ; 0x022474C4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r0, #0
add r6, r1, #0
mov r0, #0x6b
mov r1, #8
add r7, r2, #0
str r3, [sp, #0x10]
bl AllocFromHeap
add r4, r0, #0
mov r1, #0
strb r1, [r4]
strb r1, [r4, #1]
strb r1, [r4, #2]
strb r1, [r4, #3]
strb r1, [r4, #4]
strb r1, [r4, #5]
strb r1, [r4, #6]
strb r1, [r4, #7]
add r0, sp, #0x28
mov r2, #0x14
ldrsh r2, [r0, r2]
ldr r3, [sp, #0x10]
strh r2, [r4]
mov r2, #0x18
ldrsh r0, [r0, r2]
add r2, r7, #0
strh r0, [r4, #2]
ldr r0, [sp, #0x38]
str r0, [sp]
str r1, [sp, #4]
ldr r0, [sp, #0x44]
add r1, r6, #0
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
add r0, r5, #0
bl ov83_0224714C
str r0, [r4, #4]
add r1, sp, #0x28
mov r0, #0x14
ldrsh r0, [r1, r0]
lsl r0, r0, #0xc
str r0, [sp, #0x14]
mov r0, #0x18
ldrsh r1, [r1, r0]
lsl r0, r0, #0xf
lsl r1, r1, #0xc
add r0, r1, r0
str r0, [sp, #0x18]
ldr r0, [r4, #4]
add r1, sp, #0x14
bl sub_020247D4
add r0, r4, #0
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov83_022474C4
thumb_func_start ov83_0224753C
ov83_0224753C: ; 0x0224753C
push {r4, lr}
add r4, r0, #0
bne _0224754A
bl GF_AssertFail
mov r0, #0
pop {r4, pc}
_0224754A:
ldr r0, [r4, #4]
bl Sprite_Delete
add r0, r4, #0
bl FreeToHeap
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end ov83_0224753C
thumb_func_start ov83_0224755C
ov83_0224755C: ; 0x0224755C
ldr r3, _02247564 ; =Set2dSpriteVisibleFlag
ldr r0, [r0, #4]
bx r3
nop
_02247564: .word Set2dSpriteVisibleFlag
thumb_func_end ov83_0224755C
thumb_func_start ov83_02247568
ov83_02247568: ; 0x02247568
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
ldr r0, [r5, #4]
add r4, r1, #0
add r6, r2, #0
bl sub_020248AC
add r3, r0, #0
add r2, sp, #0
ldmia r3!, {r0, r1}
add r7, r2, #0
stmia r2!, {r0, r1}
ldr r0, [r3]
add r1, r7, #0
str r0, [r2]
lsl r0, r4, #0xc
str r0, [sp]
lsl r0, r6, #0xc
str r0, [sp, #4]
ldr r0, [r5, #4]
bl sub_020247D4
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov83_02247568
thumb_func_start ov83_0224759C
ov83_0224759C: ; 0x0224759C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
ldr r0, [r5, #4]
add r4, r1, #0
add r6, r2, #0
bl sub_020248AC
add r3, r0, #0
add r2, sp, #0
ldmia r3!, {r0, r1}
add r7, r2, #0
stmia r2!, {r0, r1}
ldr r0, [r3]
lsl r1, r6, #0xc
str r0, [r2]
lsl r0, r4, #0xc
str r0, [sp]
mov r0, #3
lsl r0, r0, #0x12
add r0, r1, r0
str r0, [sp, #4]
ldr r0, [r5, #4]
add r1, r7, #0
bl sub_020247D4
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end ov83_0224759C
thumb_func_start ov83_022475D4
ov83_022475D4: ; 0x022475D4
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #4]
add r4, r1, #0
mov r1, #0
bl sub_020249D4
ldr r0, [r5, #4]
add r1, r4, #0
bl Set2dSpriteAnimSeqNo
pop {r3, r4, r5, pc}
thumb_func_end ov83_022475D4
thumb_func_start ov83_022475EC
ov83_022475EC: ; 0x022475EC
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
bl Pokemon_GetIconPalette
add r1, r0, #0
ldr r0, [r4, #4]
bl sub_02024AA8
pop {r4, pc}
thumb_func_end ov83_022475EC
thumb_func_start ov83_02247600
ov83_02247600: ; 0x02247600
ldr r3, _02247608 ; =ov80_0222A3D4
ldr r0, [r0, #4]
bx r3
nop
_02247608: .word ov80_0222A3D4
thumb_func_end ov83_02247600
thumb_func_start ov83_0224760C
ov83_0224760C: ; 0x0224760C
push {r4, lr}
add r4, r0, #0
add r3, r1, #0
mov r1, #0
mov r2, #2
ldrsh r1, [r4, r1]
ldrsh r2, [r4, r2]
ldr r0, [r4, #4]
bl ov80_0222A400
pop {r4, pc}
.balign 4, 0
thumb_func_end ov83_0224760C
thumb_func_start ov83_02247624
ov83_02247624: ; 0x02247624
ldr r3, _0224762C ; =sub_02024B68
ldr r0, [r0, #4]
bx r3
nop
_0224762C: .word sub_02024B68
thumb_func_end ov83_02247624
thumb_func_start ov83_02247630
ov83_02247630: ; 0x02247630
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
add r6, r2, #0
mov r1, #0xb
bl ov83_022475D4
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl ov83_02247568
add r0, r5, #0
mov r1, #1
bl ov83_0224755C
ldr r0, _02247660 ; =0x000005E3
bl PlaySE
ldr r0, _02247664 ; =0x00000655
bl PlaySE
pop {r4, r5, r6, pc}
nop
_02247660: .word 0x000005E3
_02247664: .word 0x00000655
thumb_func_end ov83_02247630
thumb_func_start ov83_02247668
ov83_02247668: ; 0x02247668
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x40
add r7, r3, #0
add r6, r2, #0
ldr r3, _02247738 ; =ov83_0224818C
add r2, sp, #0x20
add r5, r0, #0
str r1, [sp, #0x14]
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
mov r1, #0x32
mov r0, #0x6b
lsl r1, r1, #6
bl AllocFromHeapAtEnd
add r4, r0, #0
cmp r6, #0
beq _022476C0
ldr r1, [sp, #0x14]
add r0, sp, #0x30
mov r2, #2
mov r3, #0
bl GetBoxmonSpriteCharAndPlttNarcIds
str r4, [sp]
str r7, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
str r6, [sp, #0x10]
add r1, sp, #0x1c
ldrh r0, [r1, #0x14]
ldrh r1, [r1, #0x16]
mov r2, #0x6b
add r3, sp, #0x20
bl sub_02014510
add r0, sp, #0x1c
ldrh r7, [r0, #0x14]
ldrh r6, [r0, #0x18]
b _022476EA
_022476C0:
mov r0, #0x6b
str r0, [sp]
mov r0, #0xb8
mov r1, #0x27
mov r2, #1
add r3, sp, #0x1c
bl GfGfxLoader_GetCharData
add r6, r0, #0
ldr r0, [sp, #0x1c]
mov r2, #0x32
ldr r0, [r0, #0x14]
add r1, r4, #0
lsl r2, r2, #6
bl MIi_CpuCopy32
add r0, r6, #0
bl FreeToHeap
mov r7, #0xb8
mov r6, #0x3d
_022476EA:
ldr r0, [r5, #4]
bl sub_02024B1C
mov r1, #2
bl NNS_G2dGetImageLocation
mov r1, #0x32
str r0, [sp, #0x18]
add r0, r4, #0
lsl r1, r1, #6
bl DC_FlushRange
mov r2, #0x32
ldr r1, [sp, #0x18]
add r0, r4, #0
lsl r2, r2, #6
bl GXS_LoadOBJ
ldr r0, [r5, #4]
bl sub_02024B34
mov r1, #2
bl NNS_G2dGetImagePaletteLocation
add r3, r0, #0
mov r0, #0x20
str r0, [sp]
mov r0, #0x6b
str r0, [sp, #4]
add r0, r7, #0
add r1, r6, #0
mov r2, #5
bl GfGfxLoader_GXLoadPal
add r0, r4, #0
bl FreeToHeap
add sp, #0x40
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02247738: .word ov83_0224818C
thumb_func_end ov83_02247668
thumb_func_start ov83_0224773C
ov83_0224773C: ; 0x0224773C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
cmp r2, #1
bne _0224774A
mov r7, #1
b _0224774C
_0224774A:
mov r7, #0
_0224774C:
mov r4, #0
cmp r6, #0
bls _02247764
_02247752:
ldr r0, [r5]
add r1, r7, #0
ldr r0, [r0, #4]
bl sub_02024B78
add r4, r4, #1
add r5, r5, #4
cmp r4, r6
blo _02247752
_02247764:
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov83_0224773C
thumb_func_start ov83_02247768
ov83_02247768: ; 0x02247768
add r0, r1, #0
bx lr
thumb_func_end ov83_02247768
thumb_func_start ov83_0224776C
ov83_0224776C: ; 0x0224776C
cmp r1, r0
blo _02247776
sub r0, r1, r0
lsl r0, r0, #0x18
lsr r1, r0, #0x18
_02247776:
add r0, r1, #0
bx lr
.balign 4, 0
thumb_func_end ov83_0224776C
thumb_func_start ov83_0224777C
ov83_0224777C: ; 0x0224777C
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r4, r2, #0
bl sub_0203107C
add r6, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_0205C174
add r7, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_0205C174
bl sub_0205C268
add r2, r0, #0
add r0, r6, #0
add r1, r7, #0
bl sub_020310BC
lsl r0, r0, #0x18
lsr r0, r0, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov83_0224777C
thumb_func_start ov83_022477B0
ov83_022477B0: ; 0x022477B0
push {r3, lr}
mov r2, #0
mvn r2, r2
cmp r0, r2
beq _022477C0
add r0, r1, #0
bl PlaySE
_022477C0:
pop {r3, pc}
.balign 4, 0
thumb_func_end ov83_022477B0
thumb_func_start ov83_022477C4
ov83_022477C4: ; 0x022477C4
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0203769C
mov r1, #1
eor r0, r1
bl sub_02034818
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl BufferPlayersName
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov83_022477C4
thumb_func_start ov83_022477E4
ov83_022477E4: ; 0x022477E4
mov r1, #0
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end ov83_022477E4
thumb_func_start ov83_022477EC
ov83_022477EC: ; 0x022477EC
push {r4, r5}
lsl r5, r0, #2
add r0, r1, #1
add r4, r0, #0
mov r0, #0xf
add r1, r0, #0
lsl r1, r5
sub r0, #0x10
ldr r3, [r2]
eor r0, r1
lsl r4, r5
and r0, r3
orr r0, r4
str r0, [r2]
pop {r4, r5}
bx lr
thumb_func_end ov83_022477EC
thumb_func_start ov83_0224780C
ov83_0224780C: ; 0x0224780C
push {r4, r5, r6, lr}
add r5, r0, #0
mov r4, #0
mov r6, #0xf
_02247814:
ldr r1, [r5]
lsl r0, r4, #2
lsr r1, r0
add r0, r1, #0
and r0, r6
lsl r0, r0, #0x10
lsr r1, r0, #0x10
beq _02247832
sub r1, r1, #1
lsl r0, r4, #0x18
lsl r1, r1, #0x18
lsr r0, r0, #0x18
lsr r1, r1, #0x18
bl ToggleBgLayer
_02247832:
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, #7
bls _02247814
add r0, r5, #0
bl ov83_022477E4
pop {r4, r5, r6, pc}
thumb_func_end ov83_0224780C
thumb_func_start ov83_02247844
ov83_02247844: ; 0x02247844
push {r4, lr}
add r4, r0, #0
mov r0, #0x6b
bl sub_0201660C
str r0, [r4]
mov r0, #0
str r0, [r4, #4]
pop {r4, pc}
.balign 4, 0
thumb_func_end ov83_02247844
thumb_func_start ov83_02247858
ov83_02247858: ; 0x02247858
ldr r3, _02247860 ; =sub_02016624
ldr r0, [r0]
bx r3
nop
_02247860: .word sub_02016624
thumb_func_end ov83_02247858
thumb_func_start ov83_02247864
ov83_02247864: ; 0x02247864
push {r3, r4, r5, lr}
sub sp, #0x18
add r4, r0, #0
add r5, r1, #0
add r0, sp, #0
add r0, #2
add r1, sp, #0
str r5, [r4, #8]
bl ov83_02247988
mov r0, #0
str r5, [sp, #4]
str r0, [sp, #8]
add r2, sp, #0
ldrh r1, [r2, #2]
str r1, [sp, #0xc]
mov r1, #0xb
str r1, [sp, #0x10]
mov r1, #0x19
strb r1, [r2, #0x14]
mov r1, #0xa
strb r1, [r2, #0x15]
ldrb r3, [r2, #0x16]
mov r1, #0xf
bic r3, r1
strb r3, [r2, #0x16]
ldrb r3, [r2, #0x16]
mov r1, #0xf0
bic r3, r1
strb r3, [r2, #0x16]
strb r0, [r2, #0x17]
ldr r0, [r4]
add r1, sp, #4
bl sub_020166FC
mov r0, #1
str r0, [r4, #4]
add sp, #0x18
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov83_02247864
thumb_func_start ov83_022478B4
ov83_022478B4: ; 0x022478B4
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #4]
cmp r0, #0
beq _022478D0
ldr r0, [r4]
bl sub_020169CC
ldr r0, [r4, #8]
mov r1, #0
bl BgCommitTilemapBufferToVram
mov r0, #0
str r0, [r4, #4]
_022478D0:
pop {r4, pc}
.balign 4, 0
thumb_func_end ov83_022478B4
thumb_func_start ov83_022478D4
ov83_022478D4: ; 0x022478D4
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
str r0, [sp]
add r5, r1, #0
ldr r0, _02247914 ; =ov83_0224819C
lsl r1, r2, #3
ldr r0, [r0, r1]
mov r4, #0
str r0, [sp, #4]
ldr r0, _02247918 ; =ov83_0224819C + 4
ldr r7, [r0, r1]
cmp r7, #0
bls _02247910
_022478EE:
ldr r2, [sp, #4]
lsl r6, r4, #4
lsl r3, r4, #3
ldr r0, [sp]
add r1, r5, r6
add r2, r2, r3
bl AddWindow
add r0, r5, r6
mov r1, #0
bl FillWindowPixelBuffer
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, r7
blo _022478EE
_02247910:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02247914: .word ov83_0224819C
_02247918: .word ov83_0224819C + 4
thumb_func_end ov83_022478D4
thumb_func_start ov83_0224791C
ov83_0224791C: ; 0x0224791C
push {r4, r5, r6, lr}
add r6, r0, #0
ldr r0, _02247940 ; =ov83_0224819C + 4
lsl r1, r1, #3
ldr r5, [r0, r1]
mov r4, #0
cmp r5, #0
bls _0224793E
_0224792C:
lsl r0, r4, #4
add r0, r6, r0
bl RemoveWindow
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, r5
blo _0224792C
_0224793E:
pop {r4, r5, r6, pc}
.balign 4, 0
_02247940: .word ov83_0224819C + 4
thumb_func_end ov83_0224791C
thumb_func_start ov83_02247944
ov83_02247944: ; 0x02247944
push {r3, r4, r5, lr}
sub sp, #8
add r5, r1, #0
add r4, r0, #0
bl GetWindowBgId
add r1, r0, #0
lsl r0, r5, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x6b
str r0, [sp, #4]
ldr r0, [r4]
ldr r2, _02247984 ; =0x000003D9
mov r3, #0xa
bl LoadUserFrameGfx2
add r0, r4, #0
mov r1, #0xf
bl FillWindowPixelBuffer
ldr r2, _02247984 ; =0x000003D9
add r0, r4, #0
mov r1, #1
mov r3, #0xa
bl DrawFrameAndWindow2
add r0, r4, #0
bl ScheduleWindowCopyToVram
add sp, #8
pop {r3, r4, r5, pc}
.balign 4, 0
_02247984: .word 0x000003D9
thumb_func_end ov83_02247944
thumb_func_start ov83_02247988
ov83_02247988: ; 0x02247988
mov r2, #0xf0
strh r2, [r1]
ldr r1, _02247994 ; =0x000002E9
strh r1, [r0]
bx lr
nop
_02247994: .word 0x000002E9
thumb_func_end ov83_02247988
thumb_func_start ov83_02247998
ov83_02247998: ; 0x02247998
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r6, r0, #0
ldr r0, [sp, #0x30]
add r7, r1, #0
add r5, r2, #0
add r4, r3, #0
cmp r0, #1
bne _022479B6
ldr r0, [sp, #0x28]
mov r2, #0
bl FontID_String_GetWidth
sub r5, r5, r0
b _022479C6
_022479B6:
cmp r0, #2
bne _022479C6
ldr r0, [sp, #0x28]
mov r2, #0
bl FontID_String_GetWidth
lsr r0, r0, #1
sub r5, r5, r0
_022479C6:
str r4, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, [sp, #0x2c]
ldr r1, [sp, #0x28]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
add r0, r6, #0
add r2, r7, #0
add r3, r5, #0
bl AddTextPrinterParameterized2
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov83_02247998
thumb_func_start ov83_022479E4
ov83_022479E4: ; 0x022479E4
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r0, #0
add r0, r1, #0
add r1, r2, #0
add r6, r3, #0
bl NewString_ReadMsgData
add r4, r0, #0
ldr r0, [sp, #0x24]
ldr r3, [sp, #0x20]
str r0, [sp]
ldr r0, [sp, #0x28]
add r1, r4, #0
str r0, [sp, #4]
ldr r0, [sp, #0x2c]
add r2, r6, #0
str r0, [sp, #8]
add r0, r5, #0
bl ov83_02247998
add r0, r4, #0
bl String_Delete
add sp, #0xc
pop {r3, r4, r5, r6, pc}
thumb_func_end ov83_022479E4
thumb_func_start ov83_02247A18
ov83_02247A18: ; 0x02247A18
ldr r3, _02247A1C ; =sub_02019BDC
bx r3
.balign 4, 0
_02247A1C: .word sub_02019BDC
thumb_func_end ov83_02247A18
thumb_func_start ov83_02247A20
ov83_02247A20: ; 0x02247A20
bx lr
.balign 4, 0
thumb_func_end ov83_02247A20
thumb_func_start ov83_02247A24
ov83_02247A24: ; 0x02247A24
push {lr}
sub sp, #0xc
add r3, r0, #0
cmp r2, #3
bne _02247A4A
mov r0, #1
str r0, [sp]
lsl r0, r1, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
ldr r0, _02247A68 ; =ov83_02248530
ldr r1, _02247A6C ; =ov83_022485A8
ldr r2, _02247A70 ; =ov83_02248500
bl sub_02019BA4
add sp, #0xc
pop {pc}
_02247A4A:
mov r0, #1
str r0, [sp]
lsl r0, r1, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
ldr r0, _02247A74 ; =ov83_02248558
ldr r1, _02247A78 ; =ov83_022485E8
ldr r2, _02247A70 ; =ov83_02248500
bl sub_02019BA4
add sp, #0xc
pop {pc}
nop
_02247A68: .word ov83_02248530
_02247A6C: .word ov83_022485A8
_02247A70: .word ov83_02248500
_02247A74: .word ov83_02248558
_02247A78: .word ov83_022485E8
thumb_func_end ov83_02247A24
thumb_func_start ov83_02247A7C
ov83_02247A7C: ; 0x02247A7C
push {lr}
sub sp, #0xc
add r3, r0, #0
cmp r2, #3
bne _02247AA2
mov r0, #1
str r0, [sp]
lsl r0, r1, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
ldr r0, _02247AC0 ; =ov83_02248530
ldr r1, _02247AC4 ; =ov83_022485A8
ldr r2, _02247AC8 ; =ov83_02248510
bl sub_02019BA4
add sp, #0xc
pop {pc}
_02247AA2:
mov r0, #1
str r0, [sp]
lsl r0, r1, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
ldr r0, _02247ACC ; =ov83_02248558
ldr r1, _02247AD0 ; =ov83_022485E8
ldr r2, _02247AC8 ; =ov83_02248510
bl sub_02019BA4
add sp, #0xc
pop {pc}
nop
_02247AC0: .word ov83_02248530
_02247AC4: .word ov83_022485A8
_02247AC8: .word ov83_02248510
_02247ACC: .word ov83_02248558
_02247AD0: .word ov83_022485E8
thumb_func_end ov83_02247A7C
thumb_func_start ov83_02247AD4
ov83_02247AD4: ; 0x02247AD4
push {r3, lr}
bl sub_02019BE4
add r1, r0, #4
cmp r1, #3
bhi _02247AF6
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02247AEC: ; jump table
.short _02247AF4 - _02247AEC - 2 ; case 0
.short _02247AF4 - _02247AEC - 2 ; case 1
.short _02247AF4 - _02247AEC - 2 ; case 2
.short _02247AF4 - _02247AEC - 2 ; case 3
_02247AF4:
pop {r3, pc}
_02247AF6:
lsl r1, r0, #2
ldr r0, _02247B00 ; =ov83_02248544
ldr r0, [r0, r1]
pop {r3, pc}
nop
_02247B00: .word ov83_02248544
thumb_func_end ov83_02247AD4
thumb_func_start ov83_02247B04
ov83_02247B04: ; 0x02247B04
push {r4, lr}
add r4, r0, #0
bl sub_02019F74
add r2, r0, #0
add r0, r4, #0
mov r1, #0
add r3, r2, #0
bl sub_02019F88
pop {r4, pc}
.balign 4, 0
thumb_func_end ov83_02247B04
thumb_func_start ov83_02247B1C
ov83_02247B1C: ; 0x02247B1C
ldr r3, _02247B2C ; =ov83_02248544
lsl r1, r1, #2
lsl r2, r2, #2
ldr r1, [r3, r1]
ldr r2, [r3, r2]
ldr r3, _02247B30 ; =ov83_02242AB4
bx r3
nop
_02247B2C: .word ov83_02248544
_02247B30: .word ov83_02242AB4
thumb_func_end ov83_02247B1C
thumb_func_start ov83_02247B34
ov83_02247B34: ; 0x02247B34
ldr r3, _02247B44 ; =ov83_02248544
lsl r1, r1, #2
lsl r2, r2, #2
ldr r1, [r3, r1]
ldr r2, [r3, r2]
ldr r3, _02247B48 ; =ov83_02242AB4
bx r3
nop
_02247B44: .word ov83_02248544
_02247B48: .word ov83_02242AB4
thumb_func_end ov83_02247B34
thumb_func_start ov83_02247B4C
ov83_02247B4C: ; 0x02247B4C
ldr r3, _02247B5C ; =ov83_02248544
lsl r1, r1, #2
lsl r2, r2, #2
ldr r1, [r3, r1]
ldr r2, [r3, r2]
ldr r3, _02247B60 ; =ov83_022469D8
bx r3
nop
_02247B5C: .word ov83_02248544
_02247B60: .word ov83_022469D8
thumb_func_end ov83_02247B4C
thumb_func_start ov83_02247B64
ov83_02247B64: ; 0x02247B64
ldr r3, _02247B74 ; =ov83_02248544
lsl r1, r1, #2
lsl r2, r2, #2
ldr r1, [r3, r1]
ldr r2, [r3, r2]
ldr r3, _02247B78 ; =ov83_022469D8
bx r3
nop
_02247B74: .word ov83_02248544
_02247B78: .word ov83_022469D8
thumb_func_end ov83_02247B64
thumb_func_start ov83_02247B7C
ov83_02247B7C: ; 0x02247B7C
push {r4, r5, lr}
sub sp, #0xc
add r4, r0, #0
mov r0, #1
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
mov r0, #0x6b
str r0, [sp, #8]
ldr r0, _02247BB8 ; =ov83_022485C8
ldr r1, _02247BBC ; =ov83_02248610
ldr r2, _02247BC0 ; =ov83_02248520
add r3, r4, #0
bl sub_02019BA4
add r5, r0, #0
add r0, r4, #0
mov r1, #0x40
mov r2, #0x34
mov r3, #3
bl ov83_02242AC0
add r0, r4, #0
mov r1, #0
bl ov83_02242AE0
add r0, r5, #0
add sp, #0xc
pop {r4, r5, pc}
nop
_02247BB8: .word ov83_022485C8
_02247BBC: .word ov83_02248610
_02247BC0: .word ov83_02248520
thumb_func_end ov83_02247B7C
thumb_func_start ov83_02247BC4
ov83_02247BC4: ; 0x02247BC4
push {r4, lr}
add r4, r0, #0
bl sub_02019BE4
add r1, r0, #4
cmp r1, #3
bhi _02247C28
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02247BDE: ; jump table
.short _02247BE6 - _02247BDE - 2 ; case 0
.short _02247BE6 - _02247BDE - 2 ; case 1
.short _02247BE6 - _02247BDE - 2 ; case 2
.short _02247BE8 - _02247BDE - 2 ; case 3
_02247BE6:
pop {r4, pc}
_02247BE8:
ldr r0, _02247C4C ; =gSystem
ldr r1, [r0, #0x48]
mov r0, #0x20
tst r0, r1
beq _02247C08
add r0, r4, #0
bl sub_02019F74
cmp r0, #0
beq _02247C04
cmp r0, #2
beq _02247C04
cmp r0, #4
bne _02247C08
_02247C04:
mov r0, #6
pop {r4, pc}
_02247C08:
ldr r0, _02247C4C ; =gSystem
ldr r1, [r0, #0x48]
mov r0, #0x10
tst r0, r1
beq _02247C30
add r0, r4, #0
bl sub_02019F74
cmp r0, #1
beq _02247C24
cmp r0, #3
beq _02247C24
cmp r0, #5
bne _02247C30
_02247C24:
mov r0, #7
pop {r4, pc}
_02247C28:
lsl r1, r0, #2
ldr r0, _02247C50 ; =ov83_0224858C
ldr r0, [r0, r1]
pop {r4, pc}
_02247C30:
ldr r0, _02247C54 ; =ov83_022484F4
bl sub_02025224
cmp r0, #0
bne _02247C3E
mov r0, #6
pop {r4, pc}
_02247C3E:
cmp r0, #1
bne _02247C46
mov r0, #7
pop {r4, pc}
_02247C46:
mov r0, #0
mvn r0, r0
pop {r4, pc}
.balign 4, 0
_02247C4C: .word gSystem
_02247C50: .word ov83_0224858C
_02247C54: .word ov83_022484F4
thumb_func_end ov83_02247BC4
thumb_func_start ov83_02247C58
ov83_02247C58: ; 0x02247C58
push {r4, r5, r6, lr}
add r4, r1, #0
ldr r1, _02247C7C ; =ov83_02248610
lsl r3, r4, #3
ldr r2, _02247C80 ; =ov83_02248611
ldrb r1, [r1, r3]
ldrb r2, [r2, r3]
ldr r3, _02247C84 ; =ov83_02248570
lsl r6, r4, #2
ldr r3, [r3, r6]
add r5, r0, #0
bl ov83_02242AC0
add r0, r5, #0
add r1, r4, #0
bl ov83_02242AE0
pop {r4, r5, r6, pc}
.balign 4, 0
_02247C7C: .word ov83_02248610
_02247C80: .word ov83_02248611
_02247C84: .word ov83_02248570
thumb_func_end ov83_02247C58
thumb_func_start ov83_02247C88
ov83_02247C88: ; 0x02247C88
push {r4, r5, r6, lr}
add r4, r1, #0
ldr r1, _02247CAC ; =ov83_02248610
lsl r3, r4, #3
ldr r2, _02247CB0 ; =ov83_02248611
ldrb r1, [r1, r3]
ldrb r2, [r2, r3]
ldr r3, _02247CB4 ; =ov83_02248570
lsl r6, r4, #2
ldr r3, [r3, r6]
add r5, r0, #0
bl ov83_02242AC0
add r0, r5, #0
add r1, r4, #0
bl ov83_02242AE0
pop {r4, r5, r6, pc}
.balign 4, 0
_02247CAC: .word ov83_02248610
_02247CB0: .word ov83_02248611
_02247CB4: .word ov83_02248570
thumb_func_end ov83_02247C88
thumb_func_start ov83_02247CB8
ov83_02247CB8: ; 0x02247CB8
ldr r3, _02247CC0 ; =sub_02018424
mov r0, #0x6b
bx r3
nop
_02247CC0: .word sub_02018424
thumb_func_end ov83_02247CB8
thumb_func_start ov83_02247CC4
ov83_02247CC4: ; 0x02247CC4
ldr r3, _02247CC8 ; =sub_02018474
bx r3
.balign 4, 0
_02247CC8: .word sub_02018474
thumb_func_end ov83_02247CC4
thumb_func_start ov83_02247CCC
ov83_02247CCC: ; 0x02247CCC
push {r3, r4, lr}
sub sp, #0xc
add r4, r2, #0
str r3, [sp]
add r2, sp, #8
ldrb r2, [r2, #0x10]
add r3, r4, #0
str r2, [sp, #4]
mov r2, #0
str r2, [sp, #8]
bl sub_020185FC
add sp, #0xc
pop {r3, r4, pc}
thumb_func_end ov83_02247CCC
thumb_func_start ov83_02247CE8
ov83_02247CE8: ; 0x02247CE8
ldr r3, _02247CEC ; =sub_02018680
bx r3
.balign 4, 0
_02247CEC: .word sub_02018680
thumb_func_end ov83_02247CE8
thumb_func_start ov83_02247CF0
ov83_02247CF0: ; 0x02247CF0
push {r3, lr}
ldr r0, _02247D08 ; =gSystem
ldr r1, [r0, #0x48]
mov r0, #3
tst r0, r1
beq _02247D00
mov r0, #1
pop {r3, pc}
_02247D00:
bl System_GetTouchNew
pop {r3, pc}
nop
_02247D08: .word gSystem
thumb_func_end ov83_02247CF0
.rodata
_02247D0C:
.byte 0x22, 0x00, 0x23, 0x00
.byte 0x24, 0x00
ov83_02247D12: ; 0x02247D12
.byte 0x08, 0x00, 0x08, 0x00, 0x20, 0x00
ov83_02247D18: ; 0x02247D18
.byte 0x0A, 0x00, 0x08, 0x00, 0x0C, 0x00
ov83_02247D1E: ; 0x02247D1E
.byte 0x0E, 0x00
.byte 0x0F, 0x00, 0x12, 0x00
ov83_02247D24: ; 0x02247D24
.byte 0x0C, 0x00, 0x0C, 0x00, 0x1B, 0x00, 0x03, 0x00, 0x00, 0x0B, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov83_02247D38: ; 0x02247D38
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov83_02247D48: ; 0x02247D48
.byte 0x00, 0x00, 0x64, 0x00, 0x64, 0x00
ov83_02247D4E: ; 0x02247D4E
.byte 0x00, 0x00
.byte 0x64, 0x00, 0x96, 0x00, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00
ov83_02247D5A: ; 0x02247D5A
.byte 0x00, 0x00, 0x2A, 0x00, 0x2B, 0x00
.byte 0x00, 0x00, 0x44, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov83_02247D6C: ; 0x02247D6C
.byte 0x09, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
.byte 0xFE, 0xFF, 0xFF, 0xFF
ov83_02247D84: ; 0x02247D84
.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
ov83_02247DA0: ; 0x02247DA0
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x1F, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov83_02247DBC: ; 0x02247DBC
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x06
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov83_02247DD8: ; 0x02247DD8
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x06, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov83_02247DF4: ; 0x02247DF4
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov83_02247E10: ; 0x02247E10
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x1C, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov83_02247E2C: ; 0x02247E2C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00
.byte 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov83_02247E48: ; 0x02247E48
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x04, 0x00, 0x02, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov83_02247E64: ; 0x02247E64
.byte 0x00, 0x04, 0x10, 0x05, 0x10, 0x04, 0x10, 0x05, 0x00, 0x09, 0x10, 0x05
.byte 0x10, 0x09, 0x10, 0x05, 0x00, 0x0E, 0x10, 0x05, 0x10, 0x0E, 0x10, 0x05, 0x00, 0x14, 0x04, 0x04
.byte 0x06, 0x14, 0x04, 0x04, 0x19, 0x14, 0x07, 0x04
ov83_02247E88: ; 0x02247E88
.byte 0x02, 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, 0x01, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
ov83_02247EB0: ; 0x02247EB0
.byte 0x01, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x2D, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
ov83_02247EE0: ; 0x02247EE0
.byte 0xDD, 0x00, 0xD9, 0x00, 0x0F, 0x01, 0xFD, 0x00, 0x15, 0x01, 0x0D, 0x01, 0x1E, 0x01, 0x28, 0x01
.byte 0x10, 0x01, 0x11, 0x01, 0xEC, 0x00, 0x02, 0x01, 0xD6, 0x00, 0xE6, 0x00, 0x13, 0x01, 0xEA, 0x00
.byte 0xD5, 0x00, 0xE8, 0x00, 0x09, 0x01, 0x14, 0x01, 0xDC, 0x00, 0x29, 0x01, 0x1F, 0x01, 0x0A, 0x01
.byte 0x0B, 0x01, 0x0C, 0x01, 0x0E, 0x01
ov83_02247F16: ; 0x02247F16
.byte 0x0A, 0x00, 0x0F, 0x00, 0x05, 0x00, 0x0F, 0x00, 0x0A, 0x00
.byte 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x05, 0x00
.byte 0x0F, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00
.byte 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00
ov83_02247F4C: ; 0x02247F4C
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x17, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
ov83_02247F88: ; 0x02247F88
.byte 0x95, 0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00
.byte 0x99, 0x00, 0x9C, 0x00, 0x9D, 0x00, 0x9E, 0x00, 0xC9, 0x00, 0xCA, 0x00, 0xCB, 0x00, 0xCC, 0x00
.byte 0xCD, 0x00, 0xCE, 0x00, 0xCF, 0x00, 0xB8, 0x00, 0xB9, 0x00, 0xBA, 0x00, 0xBB, 0x00, 0xBC, 0x00
.byte 0xBD, 0x00, 0xBE, 0x00, 0xBF, 0x00, 0xC0, 0x00, 0xC1, 0x00, 0xC2, 0x00, 0xC3, 0x00, 0xC4, 0x00
.byte 0xC5, 0x00, 0xC6, 0x00, 0xC7, 0x00, 0xC8, 0x00
ov83_02247FC8: ; 0x02247FC8
.byte 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00
.byte 0x02, 0x00, 0x02, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00
.byte 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00
.byte 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00
.byte 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00
ov83_02248008: ; 0x02248008
.byte 0x12, 0x0E, 0x0B, 0x08, 0x05, 0x02, 0x00, 0x00
ov83_02248010: ; 0x02248010
.byte 0x12, 0x0E, 0x0B, 0x08, 0x05, 0x02, 0x00, 0x00
ov83_02248018: ; 0x02248018
.byte 0x03, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov83_02248024: ; 0x02248024
.byte 0x25, 0x00, 0x25, 0x00
ov83_02248028: ; 0x02248028
.byte 0x26, 0x00, 0x26, 0x00
ov83_0224802C: ; 0x0224802C
.byte 0x27, 0x00, 0x28, 0x00
ov83_02248030: ; 0x02248030
.byte 0x29, 0x00, 0x29, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
.byte 0x0F, 0x00, 0x00, 0x00
ov83_02248044: ; 0x02248044
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov83_02248054: ; 0x02248054
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x00, 0x00
ov83_02248068: ; 0x02248068
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov83_02248084: ; 0x02248084
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov83_022480A0: ; 0x022480A0
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x02, 0x05, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov83_022480BC: ; 0x022480BC
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x02
.byte 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov83_022480D8: ; 0x022480D8
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00, 0x00, 0x03, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov83_022480F4: ; 0x022480F4
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
.byte 0x21, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x23, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
ov83_02248150: ; 0x02248150
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
ov83_02248178: ; 0x02248178
.byte 0x0E, 0x0E, 0x0E, 0x0E
ov83_0224817C: ; 0x0224817C
.byte 0x20, 0x00, 0x00, 0x00
.byte 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00
ov83_0224818C: ; 0x0224818C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
ov83_0224819C: ; 0x0224819C
.word ov83_022482C4
.byte 0x46, 0x00, 0x00, 0x00
.word ov83_022481AC
.byte 0x23, 0x00, 0x00, 0x00
ov83_022481AC:
.byte 0x01, 0x01, 0x01, 0x1E
.byte 0x02, 0x0E, 0x01, 0x00, 0x01, 0x1A, 0x13, 0x04, 0x03, 0x0E, 0x3D, 0x00, 0x01, 0x00, 0x04, 0x20
.byte 0x02, 0x0E, 0x49, 0x00, 0x01, 0x00, 0x09, 0x20, 0x02, 0x0E, 0x89, 0x00, 0x00, 0x04, 0x0A, 0x1A
.byte 0x0E, 0x0E, 0x01, 0x00, 0x00, 0x17, 0x0F, 0x08, 0x08, 0x0E, 0x01, 0x00, 0x00, 0x16, 0x09, 0x09
.byte 0x08, 0x0E, 0x6D, 0x01, 0x00, 0x02, 0x13, 0x1B, 0x04, 0x0D, 0xB5, 0x01, 0x00, 0x02, 0x13, 0x14
.byte 0x04, 0x0D, 0x21, 0x02, 0x00, 0x02, 0x13, 0x11, 0x04, 0x0D, 0x71, 0x02, 0x00, 0x18, 0x0D, 0x07
.byte 0x04, 0x0E, 0xB5, 0x02, 0x00, 0x18, 0x0B, 0x07, 0x06, 0x0E, 0xD1, 0x02, 0x05, 0x0D, 0x01, 0x08
.byte 0x02, 0x0F, 0xF0, 0x03, 0x05, 0x15, 0x01, 0x01, 0x02, 0x0F, 0xEE, 0x03, 0x05, 0x17, 0x01, 0x03
.byte 0x02, 0x0F, 0xE8, 0x03, 0x05, 0x1A, 0x01, 0x03, 0x02, 0x0F, 0xE2, 0x03, 0x05, 0x0D, 0x04, 0x07
.byte 0x02, 0x0F, 0xD4, 0x03, 0x05, 0x14, 0x04, 0x0B, 0x02, 0x0F, 0xBE, 0x03, 0x05, 0x0D, 0x07, 0x06
.byte 0x02, 0x0F, 0xB2, 0x03, 0x05, 0x14, 0x07, 0x08, 0x02, 0x0F, 0xA2, 0x03, 0x05, 0x0D, 0x0A, 0x06
.byte 0x02, 0x0F, 0x96, 0x03, 0x05, 0x13, 0x0A, 0x0C, 0x02, 0x0F, 0x7E, 0x03, 0x05, 0x01, 0x0B, 0x02
.byte 0x02, 0x0F, 0x7A, 0x03, 0x05, 0x04, 0x0B, 0x07, 0x02, 0x0F, 0x6C, 0x03, 0x05, 0x01, 0x0D, 0x06
.byte 0x02, 0x0F, 0x58, 0x03, 0x05, 0x08, 0x0D, 0x03, 0x02, 0x0F, 0x52, 0x03, 0x05, 0x01, 0x11, 0x07
.byte 0x02, 0x0F, 0x44, 0x03, 0x05, 0x08, 0x11, 0x03, 0x02, 0x0F, 0x3E, 0x03, 0x05, 0x01, 0x0F, 0x06
.byte 0x02, 0x0F, 0x32, 0x03, 0x05, 0x08, 0x0F, 0x03, 0x02, 0x0F, 0x2C, 0x03, 0x05, 0x01, 0x13, 0x07
.byte 0x02, 0x0F, 0x1E, 0x03, 0x05, 0x08, 0x13, 0x03, 0x02, 0x0F, 0x18, 0x03, 0x05, 0x01, 0x15, 0x06
.byte 0x02, 0x0F, 0x0C, 0x03, 0x05, 0x08, 0x15, 0x03, 0x02, 0x0F, 0x06, 0x03, 0x05, 0x0D, 0x0E, 0x12
.byte 0x08, 0x0F, 0x76, 0x02
ov83_022482C4:
.byte 0x01, 0x01, 0x01, 0x1E, 0x02, 0x0E, 0x01, 0x00, 0x01, 0x1A, 0x13, 0x04
.byte 0x03, 0x0E, 0x3D, 0x00, 0x01, 0x00, 0x04, 0x20, 0x02, 0x0E, 0x49, 0x00, 0x01, 0x00, 0x09, 0x20
.byte 0x02, 0x0E, 0x89, 0x00, 0x00, 0x05, 0x0A, 0x18, 0x0E, 0x0E, 0x01, 0x00, 0x00, 0x0C, 0x02, 0x13
.byte 0x0C, 0x0E, 0x01, 0x00, 0x00, 0x02, 0x13, 0x1B, 0x04, 0x0D, 0xEF, 0x01, 0x00, 0x02, 0x13, 0x14
.byte 0x04, 0x0D, 0x5B, 0x02, 0x00, 0x02, 0x13, 0x11, 0x04, 0x0D, 0xAB, 0x02, 0x00, 0x17, 0x11, 0x08
.byte 0x06, 0x0E, 0xEF, 0x02, 0x00, 0x14, 0x07, 0x0B, 0x0A, 0x0E, 0x1F, 0x03, 0x00, 0x16, 0x09, 0x09
.byte 0x08, 0x0E, 0x1F, 0x03, 0x00, 0x07, 0x11, 0x17, 0x06, 0x0D, 0x5B, 0x02, 0x00, 0x18, 0x0D, 0x07
.byte 0x04, 0x0E, 0xE5, 0x02, 0x00, 0x18, 0x0B, 0x07, 0x06, 0x0E, 0x01, 0x03, 0x00, 0x01, 0x01, 0x08
.byte 0x04, 0x0E, 0x2B, 0x03, 0x00, 0x01, 0x07, 0x0A, 0x02, 0x0E, 0x4B, 0x03, 0x00, 0x01, 0x0D, 0x0B
.byte 0x02, 0x0E, 0x5F, 0x03, 0x05, 0x0D, 0x01, 0x08, 0x02, 0x0F, 0xF0, 0x03, 0x05, 0x15, 0x01, 0x01
.byte 0x02, 0x0F, 0xEE, 0x03, 0x05, 0x17, 0x01, 0x03, 0x02, 0x0F, 0xE8, 0x03, 0x05, 0x1A, 0x01, 0x03
.byte 0x02, 0x0F, 0xE2, 0x03, 0x05, 0x0D, 0x04, 0x07, 0x02, 0x0F, 0xD4, 0x03, 0x05, 0x14, 0x04, 0x0B
.byte 0x02, 0x0F, 0xBE, 0x03, 0x05, 0x0D, 0x07, 0x06, 0x02, 0x0F, 0xB2, 0x03, 0x05, 0x14, 0x07, 0x08
.byte 0x02, 0x0F, 0xA2, 0x03, 0x05, 0x0D, 0x0A, 0x06, 0x02, 0x0F, 0x96, 0x03, 0x05, 0x13, 0x0A, 0x0C
.byte 0x02, 0x0F, 0x7E, 0x03, 0x05, 0x01, 0x0B, 0x02, 0x02, 0x0F, 0x7A, 0x03, 0x05, 0x04, 0x0B, 0x07
.byte 0x02, 0x0F, 0x6C, 0x03, 0x05, 0x01, 0x0D, 0x06, 0x02, 0x0F, 0x58, 0x03, 0x05, 0x08, 0x0D, 0x03
.byte 0x02, 0x0F, 0x52, 0x03, 0x05, 0x01, 0x11, 0x07, 0x02, 0x0F, 0x44, 0x03, 0x05, 0x08, 0x11, 0x03
.byte 0x02, 0x0F, 0x3E, 0x03, 0x05, 0x01, 0x0F, 0x06, 0x02, 0x0F, 0x32, 0x03, 0x05, 0x08, 0x0F, 0x03
.byte 0x02, 0x0F, 0x2C, 0x03, 0x05, 0x01, 0x13, 0x07, 0x02, 0x0F, 0x1E, 0x03, 0x05, 0x08, 0x13, 0x03
.byte 0x02, 0x0F, 0x18, 0x03, 0x05, 0x01, 0x15, 0x07, 0x02, 0x0F, 0x0A, 0x03, 0x05, 0x08, 0x15, 0x03
.byte 0x02, 0x0F, 0x04, 0x03, 0x05, 0x0D, 0x0E, 0x0B, 0x02, 0x0F, 0xEE, 0x02, 0x05, 0x0D, 0x10, 0x0B
.byte 0x02, 0x0F, 0xD8, 0x02, 0x05, 0x0D, 0x12, 0x0B, 0x02, 0x0F, 0xC2, 0x02, 0x05, 0x0D, 0x14, 0x0B
.byte 0x02, 0x0F, 0xAC, 0x02, 0x05, 0x1A, 0x0E, 0x05, 0x02, 0x0F, 0xA2, 0x02, 0x05, 0x1A, 0x10, 0x05
.byte 0x02, 0x0F, 0x98, 0x02, 0x05, 0x1A, 0x12, 0x05, 0x02, 0x0F, 0x8E, 0x02, 0x05, 0x1A, 0x14, 0x05
.byte 0x02, 0x0F, 0x84, 0x02, 0x00, 0x03, 0x04, 0x0D, 0x05, 0x0E, 0x01, 0x00, 0x00, 0x13, 0x04, 0x0D
.byte 0x05, 0x0E, 0x42, 0x00, 0x00, 0x03, 0x09, 0x0D, 0x05, 0x0E, 0x83, 0x00, 0x00, 0x13, 0x09, 0x0D
.byte 0x05, 0x0E, 0xC4, 0x00, 0x00, 0x03, 0x0E, 0x0D, 0x05, 0x0E, 0x05, 0x01, 0x00, 0x13, 0x0E, 0x0D
.byte 0x05, 0x0E, 0x46, 0x01, 0x00, 0x0A, 0x08, 0x0C, 0x02, 0x0E, 0x87, 0x01, 0x00, 0x16, 0x08, 0x05
.byte 0x02, 0x0E, 0x9F, 0x01, 0x00, 0x0E, 0x15, 0x04, 0x02, 0x0E, 0xA9, 0x01, 0x00, 0x1A, 0x15, 0x05
.byte 0x02, 0x0E, 0xB1, 0x01, 0x00, 0x02, 0x01, 0x0C, 0x02, 0x0E, 0xBB, 0x01, 0x00, 0x10, 0x01, 0x08
.byte 0x02, 0x0E, 0xD3, 0x01, 0x00, 0x18, 0x01, 0x06, 0x02, 0x0E, 0xE3, 0x01, 0x07, 0x04, 0x11, 0x1B
.byte 0x06, 0x0F, 0x5E, 0x03, 0x07, 0x0D, 0x05, 0x08, 0x02, 0x0F, 0x4E, 0x03, 0x07, 0x15, 0x05, 0x01
.byte 0x02, 0x0F, 0x4C, 0x03, 0x07, 0x17, 0x05, 0x03, 0x02, 0x0F, 0x46, 0x03, 0x07, 0x1A, 0x05, 0x03
.byte 0x02, 0x0F, 0x40, 0x03, 0x07, 0x0D, 0x08, 0x02, 0x02, 0x0F, 0x3C, 0x03, 0x07, 0x10, 0x08, 0x08
.byte 0x02, 0x0F, 0x2C, 0x03, 0x07, 0x0D, 0x0B, 0x06, 0x02, 0x0F, 0x20, 0x03, 0x07, 0x13, 0x0B, 0x0C
.byte 0x02, 0x0F, 0x08, 0x03
ov83_022484F4: ; 0x022484F4
.byte 0xA0, 0xBF, 0x00, 0x27, 0xA0, 0xBF, 0x28, 0x4F, 0xFF, 0x00, 0x00, 0x00
ov83_02248500: ; 0x02248500
.word ov83_02247A20
.word ov83_02247A20
.word ov83_02247B1C
.word ov83_02247B34
ov83_02248510: ; 0x02248510
.word ov83_02247A20
.word ov83_02247A20
.word ov83_02247B4C
.word ov83_02247B64
ov83_02248520: ; 0x02248520
.word ov83_02247A20
.word ov83_02247A20
.word ov83_02247C58
.word ov83_02247C88
ov83_02248530: ; 0x02248530
.byte 0x98, 0xAF, 0xC8, 0xF7, 0x20, 0x4F, 0x20, 0x5F, 0x20, 0x4F, 0x60, 0x9F, 0x20, 0x4F, 0xA0, 0xDF
.byte 0xFF, 0x00, 0x00, 0x00
ov83_02248544: ; 0x02248544
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
ov83_02248558: ; 0x02248558
.byte 0x98, 0xAF, 0xC8, 0xF7, 0x20, 0x4F, 0x00, 0x3F
.byte 0x20, 0x4F, 0x40, 0x7F, 0x20, 0x4F, 0x80, 0xBF, 0x20, 0x4F, 0xC0, 0xFF, 0xFF, 0x00, 0x00, 0x00
ov83_02248570: ; 0x02248570
.byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
ov83_0224858C: ; 0x0224858C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
ov83_022485A8: ; 0x022485A8
.byte 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x03
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x01
ov83_022485C8: ; 0x022485C8
.byte 0x20, 0x47, 0x00, 0x7F, 0x20, 0x47, 0x80, 0xFF
.byte 0x48, 0x6F, 0x00, 0x7F, 0x48, 0x6F, 0x80, 0xFF, 0x70, 0x97, 0x00, 0x7F, 0x70, 0x97, 0x80, 0xFF
.byte 0xA0, 0xBF, 0xC8, 0xFF, 0xFF, 0x00, 0x00, 0x00
ov83_022485E8: ; 0x022485E8
.byte 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x03
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0x01
ov83_02248610: ; 0x02248610
.byte 0x40
ov83_02248611: ; 0x02248611
.byte 0x34, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0xC0, 0x34, 0x00, 0x00, 0x01, 0x03, 0x00, 0x01
.byte 0x40, 0x5C, 0x00, 0x00, 0x00, 0x04, 0x02, 0x03, 0xC0, 0x5C, 0x00, 0x00, 0x01, 0x05, 0x02, 0x03
.byte 0x40, 0x84, 0x00, 0x00, 0x02, 0x06, 0x04, 0x05, 0xC0, 0x84, 0x00, 0x00, 0x03, 0x06, 0x04, 0x05
.byte 0xE4, 0xB0, 0x00, 0x00, 0x85, 0x06, 0x06, 0x06
; 0x02248648