pokeheartgold/asm/overlay_43.s
PikalaxALT 1f86432ca0 Resolve hardcoded pointers in 0205C268
Update makefile rules

Remove redundant rule

Move sound_data.mk to files/data/sound

encdata-gs: Ensure output directory exists

Start script.inc

Fix cflags
2021-11-04 14:15:45 -04:00

10074 lines
178 KiB
ArmAsm

.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start ov43_02229EE0
ov43_02229EE0: ; 0x02229EE0
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _02229FA4 ; =SDK_OVERLAY_OVY_42_ID
mov r1, #2
bl HandleLoadOverlay
mov r2, #7
mov r0, #3
mov r1, #0x33
lsl r2, r2, #0x10
bl CreateHeap
ldr r1, _02229FA8 ; =0x000005A4
add r0, r5, #0
mov r2, #0x33
bl OverlayManager_CreateAndGetData
ldr r2, _02229FA8 ; =0x000005A4
mov r1, #0
add r4, r0, #0
bl memset
add r0, r5, #0
bl OverlayManager_GetField18
mov r1, #0x9f
lsl r1, r1, #2
str r0, [r4, r1]
add r0, r1, #0
sub r0, #0x68
ldr r1, [r4, r1]
add r0, r4, r0
mov r2, #0x33
bl ov43_0222A290
mov r1, #0x85
lsl r1, r1, #2
add r0, r4, #4
add r1, r4, r1
mov r2, #0x33
bl ov43_0222A48C
mov r1, #0xa
lsl r1, r1, #6
add r0, r4, r1
sub r1, #0x6c
add r1, r4, r1
add r2, r4, #4
mov r3, #0x33
bl ov43_0222AE5C
mov r1, #0xb
lsl r1, r1, #6
add r0, r4, r1
sub r1, #0xac
add r1, r4, r1
add r2, r4, #4
mov r3, #0x33
bl ov43_0222B5A8
mov r0, #0xf
mov r1, #0x85
lsl r0, r0, #6
lsl r1, r1, #2
add r0, r4, r0
add r1, r4, r1
add r2, r4, #4
mov r3, #0x33
bl ov43_0222CBAC
mov r0, #0xf3
mov r1, #0x85
lsl r0, r0, #2
lsl r1, r1, #2
add r0, r4, r0
add r1, r4, r1
add r2, r4, #4
mov r3, #0x33
bl ov43_0222CD90
ldr r0, _02229FAC ; =0x00000408
mov r1, #0x85
lsl r1, r1, #2
add r0, r4, r0
add r1, r4, r1
add r2, r4, #4
mov r3, #0x33
bl ov43_0222D134
ldr r0, _02229FB0 ; =ov43_0222A148
add r1, r4, #0
bl Main_SetVBlankIntrCB
bl sub_0201A108
mov r0, #1
pop {r3, r4, r5, pc}
nop
_02229FA4: .word SDK_OVERLAY_OVY_42_ID
_02229FA8: .word 0x000005A4
_02229FAC: .word 0x00000408
_02229FB0: .word ov43_0222A148
thumb_func_end ov43_02229EE0
thumb_func_start ov43_02229FB4
ov43_02229FB4: ; 0x02229FB4
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r1, #0
bl OverlayManager_GetData
add r4, r0, #0
ldr r0, [r5]
cmp r0, #0
beq _02229FCC
cmp r0, #1
beq _0222A084
b _0222A098
_02229FCC:
ldr r0, [r4]
cmp r0, #5
bhi _0222A064
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02229FDE: ; jump table
.short _02229FEA - _02229FDE - 2 ; case 0
.short _0222A000 - _02229FDE - 2 ; case 1
.short _0222A016 - _02229FDE - 2 ; case 2
.short _0222A032 - _02229FDE - 2 ; case 3
.short _0222A048 - _02229FDE - 2 ; case 4
.short _0222A05E - _02229FDE - 2 ; case 5
_02229FEA:
mov r1, #0xa
lsl r1, r1, #6
add r0, r4, r1
sub r1, #0x6c
add r1, r4, r1
add r2, r4, #4
mov r3, #0x33
bl ov43_0222AE64
add r6, r0, #0
b _0222A064
_0222A000:
mov r1, #0xb
lsl r1, r1, #6
add r0, r4, r1
sub r1, #0xac
add r1, r4, r1
add r2, r4, #4
mov r3, #0x33
bl ov43_0222B5D0
add r6, r0, #0
b _0222A064
_0222A016:
mov r0, #0x33
str r0, [sp]
mov r0, #0xf
mov r2, #0x85
lsl r0, r0, #6
lsl r2, r2, #2
add r0, r4, r0
add r1, r4, #0
add r2, r4, r2
add r3, r4, #4
bl ov43_0222CBB4
add r6, r0, #0
b _0222A064
_0222A032:
mov r0, #0xf3
mov r1, #0x85
lsl r0, r0, #2
lsl r1, r1, #2
add r0, r4, r0
add r1, r4, r1
add r2, r4, #4
bl ov43_0222CD98
add r6, r0, #0
b _0222A064
_0222A048:
ldr r0, _0222A0A4 ; =0x00000408
mov r1, #0x85
lsl r1, r1, #2
add r0, r4, r0
add r1, r4, r1
add r2, r4, #4
mov r3, #0x33
bl ov43_0222D15C
add r6, r0, #0
b _0222A064
_0222A05E:
add sp, #4
mov r0, #1
pop {r3, r4, r5, r6, pc}
_0222A064:
cmp r6, #1
bne _0222A098
ldr r0, _0222A0A8 ; =0x0000021D
ldrb r1, [r4, r0]
str r1, [r4]
add r1, r0, #1
ldrb r1, [r4, r1]
sub r0, r0, #1
strb r1, [r4, r0]
mov r0, #0x5a
mov r1, #4
lsl r0, r0, #4
str r1, [r4, r0]
mov r0, #1
str r0, [r5]
b _0222A098
_0222A084:
mov r0, #0x5a
lsl r0, r0, #4
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0
bgt _0222A098
mov r0, #0
str r0, [r5]
_0222A098:
add r0, r4, #4
bl ov43_0222A500
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_0222A0A4: .word 0x00000408
_0222A0A8: .word 0x0000021D
thumb_func_end ov43_02229FB4
thumb_func_start ov43_0222A0AC
ov43_0222A0AC: ; 0x0222A0AC
push {r3, r4, r5, lr}
add r5, r0, #0
bl OverlayManager_GetData
add r4, r0, #0
mov r0, #0
add r1, r0, #0
bl Main_SetVBlankIntrCB
bl sub_0201A108
mov r1, #0xa
lsl r1, r1, #6
add r0, r4, r1
sub r1, #0x6c
add r1, r4, r1
add r2, r4, #4
bl ov43_0222B098
mov r1, #0xb
lsl r1, r1, #6
add r0, r4, r1
sub r1, #0xac
add r1, r4, r1
add r2, r4, #4
bl ov43_0222B93C
mov r0, #0xf
mov r1, #0x85
lsl r0, r0, #6
lsl r1, r1, #2
add r0, r4, r0
add r1, r4, r1
add r2, r4, #4
bl ov43_0222CD34
mov r0, #0xf3
mov r1, #0x85
lsl r0, r0, #2
lsl r1, r1, #2
add r0, r4, r0
add r1, r4, r1
add r2, r4, #4
bl ov43_0222CE0C
ldr r0, _0222A140 ; =0x00000408
mov r1, #0x85
lsl r1, r1, #2
add r0, r4, r0
add r1, r4, r1
add r2, r4, #4
bl ov43_0222D228
add r0, r4, #4
bl ov43_0222A520
mov r1, #0x85
lsl r1, r1, #2
add r0, r4, r1
add r1, #0x68
ldr r1, [r4, r1]
bl ov43_0222A2F0
add r0, r5, #0
bl OverlayManager_FreeData
mov r0, #0x33
bl DestroyHeap
ldr r0, _0222A144 ; =SDK_OVERLAY_OVY_42_ID
bl UnloadOverlayByID
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_0222A140: .word 0x00000408
_0222A144: .word SDK_OVERLAY_OVY_42_ID
thumb_func_end ov43_0222A0AC
thumb_func_start ov43_0222A148
ov43_0222A148: ; 0x0222A148
ldr r3, _0222A150 ; =ov43_0222A50C
add r0, r0, #4
bx r3
nop
_0222A150: .word ov43_0222A50C
thumb_func_end ov43_0222A148
thumb_func_start ov43_0222A154
ov43_0222A154: ; 0x0222A154
push {r3, r4, r5, lr}
add r4, r1, #0
mov r1, #0x85
add r5, r0, #0
lsl r1, r1, #2
add r0, r5, #4
add r1, r5, r1
add r2, r4, #0
bl ov43_0222A48C
mov r1, #0xa
lsl r1, r1, #6
add r0, r5, r1
sub r1, #0x6c
add r1, r5, r1
add r2, r5, #4
add r3, r4, #0
bl ov43_0222B0A0
mov r1, #0xb
lsl r1, r1, #6
add r0, r5, r1
sub r1, #0xac
add r1, r5, r1
add r2, r5, #4
add r3, r4, #0
bl ov43_0222B944
mov r0, #0xf
mov r1, #0x85
lsl r0, r0, #6
lsl r1, r1, #2
add r0, r5, r0
add r1, r5, r1
add r2, r5, #4
add r3, r4, #0
bl ov43_0222CD3C
mov r0, #0xf3
mov r1, #0x85
lsl r0, r0, #2
lsl r1, r1, #2
add r0, r5, r0
add r1, r5, r1
add r2, r5, #4
add r3, r4, #0
bl ov43_0222CE48
ldr r0, _0222A1D4 ; =0x00000408
mov r1, #0x85
lsl r1, r1, #2
add r0, r5, r0
add r1, r5, r1
add r2, r5, #4
add r3, r4, #0
bl ov43_0222D584
ldr r0, _0222A1D8 ; =ov43_0222A148
add r1, r5, #0
bl Main_SetVBlankIntrCB
bl sub_0201A108
pop {r3, r4, r5, pc}
.balign 4, 0
_0222A1D4: .word 0x00000408
_0222A1D8: .word ov43_0222A148
thumb_func_end ov43_0222A154
thumb_func_start ov43_0222A1DC
ov43_0222A1DC: ; 0x0222A1DC
push {r4, lr}
add r4, r0, #0
mov r0, #0
add r1, r0, #0
bl Main_SetVBlankIntrCB
bl sub_0201A108
mov r1, #0xa
lsl r1, r1, #6
add r0, r4, r1
sub r1, #0x6c
add r1, r4, r1
add r2, r4, #4
bl ov43_0222B1D8
mov r1, #0xb
lsl r1, r1, #6
add r0, r4, r1
sub r1, #0xac
add r1, r4, r1
add r2, r4, #4
bl ov43_0222BAB8
mov r0, #0xf
mov r1, #0x85
lsl r0, r0, #6
lsl r1, r1, #2
add r0, r4, r0
add r1, r4, r1
add r2, r4, #4
bl ov43_0222CD40
mov r0, #0xf3
mov r1, #0x85
lsl r0, r0, #2
lsl r1, r1, #2
add r0, r4, r0
add r1, r4, r1
add r2, r4, #4
bl ov43_0222D008
ldr r0, _0222A248 ; =0x00000408
mov r1, #0x85
lsl r1, r1, #2
add r0, r4, r0
add r1, r4, r1
add r2, r4, #4
bl ov43_0222D610
add r0, r4, #4
bl ov43_0222A520
pop {r4, pc}
.balign 4, 0
_0222A248: .word 0x00000408
thumb_func_end ov43_0222A1DC
thumb_func_start ov43_0222A24C
ov43_0222A24C: ; 0x0222A24C
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
add r6, r2, #0
add r7, r3, #0
bl InitWindow
add r0, sp, #0x18
ldrb r1, [r0, #0x10]
add r2, r6, #0
add r3, r7, #0
str r1, [sp]
ldrb r1, [r0, #0x14]
str r1, [sp, #4]
ldrb r1, [r0, #0x18]
str r1, [sp, #8]
ldrb r1, [r0, #0x1c]
str r1, [sp, #0xc]
ldrh r0, [r0, #0x20]
add r1, r4, #0
str r0, [sp, #0x10]
add r0, r5, #0
bl AddWindowParameterized
add r1, sp, #0x3c
ldrb r1, [r1]
add r0, r4, #0
bl FillWindowPixelBuffer
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov43_0222A24C
thumb_func_start ov43_0222A290
ov43_0222A290: ; 0x0222A290
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4]
add r6, r2, #0
str r0, [r5, #4]
mov r0, #0x80
add r1, r6, #0
bl String_ctor
str r0, [r5, #0x58]
mov r0, #0x80
add r1, r6, #0
bl String_ctor
str r0, [r5, #0x5c]
ldr r0, [r4, #4]
bl sub_020183F0
str r0, [r5]
ldr r0, [r5, #4]
bl Sav2_PlayerData_GetOptionsAddr
add r4, r0, #0
bl Options_GetTextFrameDelay
strb r0, [r5, #0xc]
add r0, r4, #0
bl Options_GetFrame
strb r0, [r5, #0xd]
add r0, r4, #0
bl Options_GetButtonMode
cmp r0, #1
beq _0222A2DC
mov r0, #1
b _0222A2DE
_0222A2DC:
mov r0, #0
_0222A2DE:
strb r0, [r5, #0xe]
mov r0, #1
bl TextFlags_SetCanABSpeedUpPrint
mov r0, #1
bl sub_02002B8C
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov43_0222A290
thumb_func_start ov43_0222A2F0
ov43_0222A2F0: ; 0x0222A2F0
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0
add r4, r1, #0
bl TextFlags_SetCanABSpeedUpPrint
mov r0, #0
bl sub_02002B8C
ldr r0, [r4, #4]
ldr r1, [r5]
bl sub_02018410
ldr r0, [r5, #0x58]
bl String_dtor
ldr r0, [r5, #0x5c]
bl String_dtor
pop {r3, r4, r5, pc}
thumb_func_end ov43_0222A2F0
thumb_func_start ov43_0222A318
ov43_0222A318: ; 0x0222A318
strb r1, [r0, #9]
strb r2, [r0, #0xa]
bx lr
.balign 4, 0
thumb_func_end ov43_0222A318
thumb_func_start ov43_0222A320
ov43_0222A320: ; 0x0222A320
ldr r1, _0222A330 ; =gMain
ldr r2, [r1, #0x48]
ldr r1, _0222A334 ; =0x00000CF3
tst r1, r2
beq _0222A32E
mov r1, #0
str r1, [r0]
_0222A32E:
bx lr
.balign 4, 0
_0222A330: .word gMain
_0222A334: .word 0x00000CF3
thumb_func_end ov43_0222A320
thumb_func_start ov43_0222A338
ov43_0222A338: ; 0x0222A338
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r2, #0
cmp r1, #0
beq _0222A348
ldr r0, [r5, #0x58]
bl StringCopy
_0222A348:
cmp r4, #0
beq _0222A354
ldr r0, [r5, #0x5c]
add r1, r4, #0
bl StringCopy
_0222A354:
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov43_0222A338
thumb_func_start ov43_0222A358
ov43_0222A358: ; 0x0222A358
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
str r0, [sp]
ldr r0, [r0, #4]
add r6, r1, #0
str r2, [sp, #4]
bl sub_0202C6F4
add r5, r0, #0
bl sub_0202C08C
bl sub_020A0310
str r0, [sp, #0x10]
str r1, [sp, #0xc]
mov r4, #0
_0222A378:
add r0, r5, #0
add r1, r4, #0
bl sub_0202C2DC
cmp r0, #0
bne _0222A404
add r0, r6, #0
add r1, sp, #0x1c
bl String_atoi
add r7, r0, #0
ldr r0, [sp, #0x1c]
add r6, r1, #0
cmp r0, #1
bne _0222A3FE
ldr r0, [sp, #0xc]
eor r1, r0
ldr r0, [sp, #0x10]
eor r0, r7
orr r0, r1
beq _0222A3FE
add r0, r5, #0
bl sub_0202C08C
add r1, r7, #0
add r2, r6, #0
bl sub_0209FD0C
cmp r0, #0
bne _0222A3BA
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0222A3BA:
ldr r0, [sp]
add r1, r7, #0
ldr r0, [r0, #4]
add r2, r6, #0
add r3, sp, #0x18
bl sub_0203A128
cmp r0, #0
bne _0222A3D2
add sp, #0x20
mov r0, #2
pop {r3, r4, r5, r6, r7, pc}
_0222A3D2:
add r0, r5, #0
add r1, r4, #0
bl sub_0202C23C
add r1, r7, #0
add r2, r6, #0
bl sub_020A0340
ldr r2, [sp, #4]
add r0, r5, #0
add r1, r4, #0
bl sub_0202C270
add r0, r5, #0
add r1, r4, #0
mov r2, #8
mov r3, #2
bl sub_0202C190
add sp, #0x20
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0222A3FE:
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0222A404:
add r4, r4, #1
cmp r4, #0x20
blt _0222A378
bl GF_AssertFail
mov r0, #0
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov43_0222A358
thumb_func_start ov43_0222A414
ov43_0222A414: ; 0x0222A414
str r1, [r0, #0x60]
mov r1, #1
str r1, [r0, #0x64]
bx lr
thumb_func_end ov43_0222A414
thumb_func_start ov43_0222A41C
ov43_0222A41C: ; 0x0222A41C
strb r1, [r0, #0xb]
bx lr
thumb_func_end ov43_0222A41C
thumb_func_start ov43_0222A420
ov43_0222A420: ; 0x0222A420
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x10
mov r1, #0
mov r2, #0x48
bl memset
ldr r0, [r5, #4]
bl sub_0202C6F4
mov r4, #0
add r6, r5, #0
add r7, r5, #0
str r0, [sp]
str r4, [r5, #0x10]
add r6, #0x14
add r7, #0x10
_0222A442:
ldr r0, [sp]
add r1, r4, #0
bl sub_0202C2DC
cmp r0, #1
bne _0222A482
ldr r0, [r5, #0x10]
add r1, r4, #0
add r0, r5, r0
strb r4, [r0, #0x18]
ldr r0, [sp]
mov r2, #8
bl sub_0202C090
cmp r0, #2
bne _0222A46C
ldr r0, [r5, #0x10]
add r1, r5, r0
add r1, #0x38
mov r0, #0xff
b _0222A47A
_0222A46C:
ldr r1, [r6]
ldr r0, [r5, #0x14]
add r1, r1, #1
str r1, [r6]
ldr r1, [r5, #0x10]
add r1, r5, r1
add r1, #0x38
_0222A47A:
strb r0, [r1]
ldr r0, [r7]
add r0, r0, #1
str r0, [r7]
_0222A482:
add r4, r4, #1
cmp r4, #0x20
blt _0222A442
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov43_0222A420
thumb_func_start ov43_0222A48C
ov43_0222A48C: ; 0x0222A48C
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r1, #0
ldr r0, _0222A4FC ; =gMain + 0x60
mov r1, #1
add r4, r2, #0
strb r1, [r0, #9]
bl GX_SwapDisplay
mov r0, #0x55
add r1, r4, #0
bl NARC_ctor
str r0, [r5, #0x58]
bl ov43_0222A550
add r0, r5, #0
add r1, r4, #0
bl ov43_0222A570
add r0, r5, #0
add r1, r4, #0
bl ov43_0222A690
add r0, r5, #0
add r1, r4, #0
bl ov43_0222A87C
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl ov43_0222A8C0
add r0, r5, #0
add r1, r4, #0
bl ov43_0222AC28
add r0, r5, #0
add r1, r4, #0
bl ov43_0222A998
mov r0, #0x10
mov r1, #1
bl GX_EngineAToggleLayers
mov r0, #1
bl TextFlags_SetCanABSpeedUpPrint
mov r0, #0
bl sub_02002B50
mov r0, #0
bl sub_02002B8C
pop {r4, r5, r6, pc}
nop
_0222A4FC: .word gMain + 0x60
thumb_func_end ov43_0222A48C
thumb_func_start ov43_0222A500
ov43_0222A500: ; 0x0222A500
ldr r3, _0222A508 ; =sub_0202457C
ldr r0, [r0, #4]
bx r3
nop
_0222A508: .word sub_0202457C
thumb_func_end ov43_0222A500
thumb_func_start ov43_0222A50C
ov43_0222A50C: ; 0x0222A50C
push {r3, lr}
ldr r0, [r0]
bl sub_0201EEB4
bl sub_0202061C
bl sub_0200B224
pop {r3, pc}
.balign 4, 0
thumb_func_end ov43_0222A50C
thumb_func_start ov43_0222A520
ov43_0222A520: ; 0x0222A520
push {r4, lr}
add r4, r0, #0
bl ov43_0222ACDC
add r0, r4, #0
bl ov43_0222A9D8
add r0, r4, #0
bl ov43_0222A960
add r0, r4, #0
bl ov43_0222A8A8
add r0, r4, #0
bl ov43_0222A81C
add r0, r4, #0
bl ov43_0222A66C
ldr r0, [r4, #0x58]
bl NARC_dtor
pop {r4, pc}
.balign 4, 0
thumb_func_end ov43_0222A520
thumb_func_start ov43_0222A550
ov43_0222A550: ; 0x0222A550
push {r4, lr}
sub sp, #0x28
ldr r4, _0222A56C ; =0x0222EE5C
add r3, sp, #0
mov r2, #5
_0222A55A:
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _0222A55A
add r0, sp, #0
bl GX_SetBanks
add sp, #0x28
pop {r4, pc}
.balign 4, 0
_0222A56C: .word 0x0222EE5C
thumb_func_end ov43_0222A550
thumb_func_start ov43_0222A570
ov43_0222A570: ; 0x0222A570
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r7, r1, #0
add r5, r0, #0
add r0, r7, #0
bl BgConfig_Alloc
add r3, sp, #0x10
ldr r4, _0222A664 ; =0x0222EDC8
str r0, [r5]
add r2, r3, #0
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
add r0, r2, #0
bl SetBothScreensModesAndDisable
ldr r6, _0222A668 ; =0x0222EFFC
mov r4, #0
_0222A598:
lsl r1, r4, #0x18
ldr r0, [r5]
lsr r1, r1, #0x18
add r2, r6, #0
mov r3, #0
bl InitBgFromTemplate
lsl r0, r4, #0x18
lsr r0, r0, #0x18
mov r1, #0x20
mov r2, #0
add r3, r7, #0
bl BG_ClearCharDataRange
lsl r1, r4, #0x18
ldr r0, [r5]
lsr r1, r1, #0x18
bl BgClearTilemapBufferAndCommit
add r4, r4, #1
add r6, #0x1c
cmp r4, #7
blt _0222A598
mov r0, #0x16
lsl r0, r0, #4
str r0, [sp]
str r7, [sp, #4]
mov r2, #0
ldr r0, [r5, #0x58]
mov r1, #5
add r3, r2, #0
bl sub_02007B8C
mov r0, #0xa0
str r0, [sp]
str r7, [sp, #4]
mov r1, #4
ldr r0, [r5, #0x58]
add r2, r1, #0
mov r3, #0
bl sub_02007B8C
mov r3, #0
str r3, [sp]
str r3, [sp, #4]
mov r0, #1
str r0, [sp, #8]
str r7, [sp, #0xc]
ldr r0, [r5, #0x58]
ldr r2, [r5]
mov r1, #7
bl sub_02007B44
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
str r7, [sp, #0xc]
ldr r0, [r5, #0x58]
ldr r2, [r5]
mov r1, #7
mov r3, #2
bl sub_02007B44
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
str r7, [sp, #0xc]
mov r1, #6
ldr r0, [r5, #0x58]
ldr r2, [r5]
add r3, r1, #0
bl sub_02007B44
mov r3, #0
str r3, [sp]
str r3, [sp, #4]
mov r0, #1
str r0, [sp, #8]
str r7, [sp, #0xc]
ldr r0, [r5, #0x58]
ldr r2, [r5]
mov r1, #0xa
bl sub_02007B68
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
str r7, [sp, #0xc]
ldr r0, [r5, #0x58]
ldr r2, [r5]
mov r1, #8
mov r3, #6
bl sub_02007B68
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0222A664: .word 0x0222EDC8
_0222A668: .word 0x0222EFFC
thumb_func_end ov43_0222A570
thumb_func_start ov43_0222A66C
ov43_0222A66C: ; 0x0222A66C
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_0222A672:
lsl r1, r4, #0x18
ldr r0, [r5]
lsr r1, r1, #0x18
bl FreeBgTilemapBuffer
add r4, r4, #1
cmp r4, #7
blt _0222A672
ldr r0, [r5]
bl FreeToHeap
mov r0, #0
str r0, [r5]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov43_0222A66C
thumb_func_start ov43_0222A690
ov43_0222A690: ; 0x0222A690
push {r4, r5, r6, r7, lr}
sub sp, #0x3c
add r7, r1, #0
add r6, r0, #0
bl NNS_G2dInitOamManagerModule
mov r0, #0x10
add r1, r7, #0
bl sub_0202055C
mov r0, #0
str r0, [sp]
mov r1, #0x7e
str r1, [sp, #4]
str r0, [sp, #8]
mov r3, #0x1e
str r3, [sp, #0xc]
add r2, r0, #0
str r7, [sp, #0x10]
bl sub_0200B150
ldr r4, _0222A814 ; =0x0222EDD8
add r3, sp, #0x2c
add r2, r3, #0
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
mov r1, #0x10
add r0, r2, #0
add r2, r1, #0
str r7, [sp, #0x38]
bl sub_020215C0
mov r0, #0x40
add r1, r7, #0
bl sub_02022588
bl sub_020216C8
bl sub_02022638
add r1, r6, #0
mov r0, #0x40
add r1, #0xbc
add r2, r7, #0
bl sub_02009F40
str r0, [r6, #4]
add r0, r6, #0
add r3, r6, #0
ldr r1, _0222A818 ; =0x0222F0FC
add r0, #8
mov r2, #1
add r3, #0xbc
bl sub_0200B27C
mov r4, #0
add r5, r6, #0
_0222A706:
mov r0, #0x40
add r1, r4, #0
add r2, r7, #0
bl sub_0200A090
mov r1, #0x79
lsl r1, r1, #2
str r0, [r5, r1]
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blt _0222A706
mov r0, #0x64
str r0, [sp]
mov r2, #1
str r2, [sp, #4]
str r7, [sp, #8]
add r0, r1, #0
ldr r0, [r6, r0]
ldr r1, [r6, #0x58]
add r3, r2, #0
bl sub_0200A3C8
add r1, r6, #0
add r1, #0xac
str r0, [r1]
mov r0, #0x64
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #5
str r0, [sp, #8]
mov r0, #0x7a
str r7, [sp, #0xc]
lsl r0, r0, #2
mov r2, #0
ldr r0, [r6, r0]
ldr r1, [r6, #0x58]
add r3, r2, #0
bl sub_0200A480
add r1, r6, #0
add r1, #0xb0
str r0, [r1]
mov r0, #0x64
str r0, [sp]
mov r2, #2
str r2, [sp, #4]
mov r0, #0x7b
str r7, [sp, #8]
lsl r0, r0, #2
ldr r0, [r6, r0]
ldr r1, [r6, #0x58]
mov r3, #1
bl sub_0200A540
add r1, r6, #0
add r1, #0xb4
str r0, [r1]
mov r0, #0x64
str r0, [sp]
mov r2, #3
str r2, [sp, #4]
mov r0, #0x1f
str r7, [sp, #8]
lsl r0, r0, #4
ldr r0, [r6, r0]
ldr r1, [r6, #0x58]
mov r3, #1
bl sub_0200A540
add r1, r6, #0
add r1, #0xb8
str r0, [r1]
add r0, r6, #0
add r0, #0xac
ldr r0, [r0]
bl sub_0200ADA4
cmp r0, #0
bne _0222A7AC
bl GF_AssertFail
_0222A7AC:
add r0, r6, #0
add r0, #0xb0
ldr r0, [r0]
bl sub_0200B00C
cmp r0, #0
bne _0222A7BE
bl GF_AssertFail
_0222A7BE:
add r0, r6, #0
add r0, #0xac
ldr r0, [r0]
bl sub_0200A740
add r0, r6, #0
add r0, #0xb0
ldr r0, [r0]
bl sub_0200A740
mov r1, #0x64
add r0, r1, #0
mov r3, #0x79
str r1, [sp]
sub r0, #0x65
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
str r0, [sp, #0x10]
lsl r3, r3, #2
ldr r2, [r6, r3]
str r2, [sp, #0x14]
add r2, r3, #4
ldr r2, [r6, r2]
str r2, [sp, #0x18]
add r2, r3, #0
add r2, #8
ldr r2, [r6, r2]
add r3, #0xc
str r2, [sp, #0x1c]
ldr r2, [r6, r3]
add r6, #0x88
str r2, [sp, #0x20]
str r0, [sp, #0x24]
str r0, [sp, #0x28]
add r0, r6, #0
add r2, r1, #0
add r3, r1, #0
bl sub_02009D48
add sp, #0x3c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0222A814: .word 0x0222EDD8
_0222A818: .word 0x0222F0FC
thumb_func_end ov43_0222A690
thumb_func_start ov43_0222A81C
ov43_0222A81C: ; 0x0222A81C
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r0, #0xac
ldr r0, [r0]
bl sub_0200AEB0
add r0, r7, #0
add r0, #0xb0
ldr r0, [r0]
bl sub_0200B0A8
mov r6, #0x79
mov r4, #0
add r5, r7, #0
lsl r6, r6, #2
_0222A83A:
add r1, r5, #0
add r1, #0xac
ldr r0, [r5, r6]
ldr r1, [r1]
bl sub_0200A75C
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blt _0222A83A
mov r6, #0x79
mov r5, #0
add r4, r7, #0
lsl r6, r6, #2
_0222A856:
ldr r0, [r4, r6]
bl sub_0200A0D0
add r5, r5, #1
add r4, r4, #4
cmp r5, #4
blt _0222A856
ldr r0, [r7, #4]
bl sub_02024504
bl sub_0202168C
bl sub_02022608
bl sub_0200B244
bl sub_020205AC
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov43_0222A81C
thumb_func_start ov43_0222A87C
ov43_0222A87C: ; 0x0222A87C
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
bl ScrStrBufs_new
str r0, [r5, #0x50]
ldr r2, _0222A8A4 ; =0x0000030B
mov r0, #0
mov r1, #0x1b
add r3, r4, #0
bl NewMsgDataFromNarc
str r0, [r5, #0x54]
mov r0, #4
add r1, r4, #0
bl sub_02002CEC
pop {r3, r4, r5, pc}
nop
_0222A8A4: .word 0x0000030B
thumb_func_end ov43_0222A87C
thumb_func_start ov43_0222A8A8
ov43_0222A8A8: ; 0x0222A8A8
push {r4, lr}
add r4, r0, #0
mov r0, #4
bl sub_02002DB4
ldr r0, [r4, #0x54]
bl DestroyMsgData
ldr r0, [r4, #0x50]
bl ScrStrBufs_delete
pop {r4, pc}
thumb_func_end ov43_0222A8A8
thumb_func_start ov43_0222A8C0
ov43_0222A8C0: ; 0x0222A8C0
push {r3, r4, r5, r6, lr}
sub sp, #0x14
add r6, r1, #0
mov r1, #0x16
add r5, r0, #0
mov r0, #0
lsl r1, r1, #4
add r4, r2, #0
bl sub_0200304C
mov r1, #7
mov r0, #4
lsl r1, r1, #6
add r2, r4, #0
bl sub_0200304C
ldrb r0, [r6, #0xd]
mov r1, #1
mov r2, #0x46
str r0, [sp]
str r4, [sp, #4]
ldr r0, [r5]
mov r3, #0xc
bl sub_0200E644
add r0, r5, #0
add r0, #0x64
bl InitWindow
mov r0, #0
str r0, [sp]
mov r0, #0x18
str r0, [sp, #4]
mov r0, #3
str r0, [sp, #8]
mov r0, #0xb
str r0, [sp, #0xc]
mov r0, #0x64
str r0, [sp, #0x10]
add r1, r5, #0
mov r2, #1
ldr r0, [r5]
add r1, #0x64
add r3, r2, #0
bl AddWindowParameterized
mov r0, #0x80
add r1, r4, #0
bl String_ctor
str r0, [r5, #0x74]
mov r0, #0x80
add r1, r4, #0
bl String_ctor
str r0, [r5, #0x78]
mov r0, #0x80
add r1, r4, #0
bl String_ctor
str r0, [r5, #0x7c]
mov r0, #0x80
add r1, r4, #0
bl String_ctor
add r1, r5, #0
add r1, #0x80
str r0, [r1]
add r0, r4, #0
mov r1, #0
bl sub_02018424
str r0, [r5, #0x5c]
add r0, r4, #0
bl sub_0201660C
str r0, [r5, #0x60]
add sp, #0x14
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov43_0222A8C0
thumb_func_start ov43_0222A960
ov43_0222A960: ; 0x0222A960
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x60]
bl sub_02016624
ldr r0, [r4, #0x5c]
bl sub_02018474
ldr r0, [r4, #0x7c]
bl String_dtor
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl String_dtor
ldr r0, [r4, #0x74]
bl String_dtor
ldr r0, [r4, #0x78]
bl String_dtor
add r4, #0x64
add r0, r4, #0
bl RemoveWindow
pop {r4, pc}
.balign 4, 0
thumb_func_end ov43_0222A960
thumb_func_start ov43_0222A998
ov43_0222A998: ; 0x0222A998
push {r4, r5, r6, r7, lr}
sub sp, #0xc
str r1, [sp, #8]
mov r1, #0x82
lsl r1, r1, #2
ldr r4, _0222A9D4 ; =0x0222F0C0
str r0, [sp, #4]
mov r7, #0
add r6, r0, r1
add r5, r0, #0
_0222A9AC:
ldr r0, [sp, #8]
mov r2, #1
str r0, [sp]
ldr r0, [sp, #4]
ldrb r1, [r4]
ldr r0, [r0, #0x58]
add r3, r6, #0
bl sub_02007C2C
mov r1, #2
lsl r1, r1, #8
str r0, [r5, r1]
add r7, r7, #1
add r6, r6, #4
add r4, r4, #1
add r5, r5, #4
cmp r7, #2
blt _0222A9AC
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0222A9D4: .word 0x0222F0C0
thumb_func_end ov43_0222A998
thumb_func_start ov43_0222A9D8
ov43_0222A9D8: ; 0x0222A9D8
push {r4, r5, r6, lr}
mov r6, #2
add r5, r0, #0
mov r4, #0
lsl r6, r6, #8
_0222A9E2:
ldr r0, [r5, r6]
bl FreeToHeap
add r4, r4, #1
add r5, r5, #4
cmp r4, #2
blt _0222A9E2
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov43_0222A9D8
thumb_func_start ov43_0222A9F4
ov43_0222A9F4: ; 0x0222A9F4
push {r4, r5, r6, lr}
sub sp, #0x10
add r5, r0, #0
add r0, #0x84
ldr r0, [r0]
add r4, r1, #0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
add r6, r2, #0
bl sub_02020094
cmp r0, #1
bne _0222AA22
mov r0, #0
bl sub_02002B8C
add r0, r5, #0
add r0, #0x84
ldr r0, [r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_020200A0
_0222AA22:
add r0, r4, #0
mov r1, #0
bl FillWindowPixelBuffer
ldr r0, [r5, #0x54]
ldr r2, [r5, #0x78]
add r1, r6, #0
bl ReadMsgDataIntoString
ldr r0, [r5, #0x50]
ldr r1, [r5, #0x74]
ldr r2, [r5, #0x78]
bl StringExpandPlaceholders
mov r0, #1
bl sub_02002B8C
mov r0, #4
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, _0222AA6C ; =0x000F0200
mov r3, #0
str r0, [sp, #8]
str r3, [sp, #0xc]
ldr r2, [r5, #0x74]
add r0, r4, #0
mov r1, #1
bl AddTextPrinterParameterized2
add r5, #0x84
str r0, [r5]
add r0, r4, #0
bl sub_0201D5C8
add sp, #0x10
pop {r4, r5, r6, pc}
.balign 4, 0
_0222AA6C: .word 0x000F0200
thumb_func_end ov43_0222A9F4
thumb_func_start ov43_0222AA70
ov43_0222AA70: ; 0x0222AA70
push {r4, lr}
add r4, r0, #0
add r0, #0x84
ldr r0, [r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_02020094
cmp r0, #1
bne _0222AA98
mov r0, #0
bl sub_02002B8C
add r0, r4, #0
add r0, #0x84
ldr r0, [r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_020200A0
_0222AA98:
add r4, #0x64
add r0, r4, #0
bl sub_0201D8E4
pop {r4, pc}
.balign 4, 0
thumb_func_end ov43_0222AA70
thumb_func_start ov43_0222AAA4
ov43_0222AAA4: ; 0x0222AAA4
push {r4, r5, r6, lr}
sub sp, #8
add r6, r2, #0
add r4, r1, #0
add r5, r0, #0
ldr r2, _0222AB18 ; =0x05F5E100
add r0, r4, #0
add r1, r6, #0
mov r3, #0
bl _ll_udiv
add r2, r0, #0
mov r0, #2
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
ldr r0, [r5, #0x50]
mov r3, #4
bl BufferIntegerAsString
ldr r2, _0222AB1C ; =0x00002710
add r0, r4, #0
add r1, r6, #0
mov r3, #0
bl _ll_udiv
ldr r2, _0222AB1C ; =0x00002710
mov r3, #0
bl _ull_mod
mov r1, #2
add r2, r0, #0
str r1, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r5, #0x50]
mov r3, #4
bl BufferIntegerAsString
ldr r2, _0222AB1C ; =0x00002710
add r0, r4, #0
add r1, r6, #0
mov r3, #0
bl _ull_mod
add r2, r0, #0
mov r0, #2
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r5, #0x50]
mov r1, #3
mov r3, #4
bl BufferIntegerAsString
add sp, #8
pop {r4, r5, r6, pc}
nop
_0222AB18: .word 0x05F5E100
_0222AB1C: .word 0x00002710
thumb_func_end ov43_0222AAA4
thumb_func_start ov43_0222AB20
ov43_0222AB20: ; 0x0222AB20
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r5, r3, #0
add r0, r1, #0
add r6, r2, #0
bl sub_0202C6F4
add r7, r0, #0
add r0, r5, #0
bl PlayerProfile_new
add r5, r0, #0
add r0, r7, #0
add r1, r6, #0
bl sub_0202C254
add r1, r0, #0
add r0, r5, #0
bl Sav2_Profile_PlayerName_set
ldr r0, [r4, #0x50]
mov r1, #0
add r2, r5, #0
bl BufferPlayersName
add r0, r5, #0
bl FreeToHeap
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov43_0222AB20
thumb_func_start ov43_0222AB5C
ov43_0222AB5C: ; 0x0222AB5C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
add r0, r3, #0
add r7, r2, #0
bl PlayerProfile_new
add r4, r0, #0
add r0, r6, #0
bl sub_0202C6F4
add r1, r7, #0
bl sub_0202C298
add r1, r0, #0
add r0, r4, #0
bl Sav2_Profile_PlayerName_set
ldr r0, [r5, #0x50]
mov r1, #0
add r2, r4, #0
bl BufferPlayersName
add r0, r4, #0
bl FreeToHeap
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov43_0222AB5C
thumb_func_start ov43_0222AB94
ov43_0222AB94: ; 0x0222AB94
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
add r4, r2, #0
add r0, r1, #0
bl sub_0202C6F4
add r1, r4, #0
mov r2, #6
add r7, r0, #0
mov r6, #1
bl sub_0202C090
add r2, r0, #0
bne _0222ABB4
mov r6, #0
_0222ABB4:
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r1, #2
ldr r0, [r5, #0x50]
add r3, r1, #0
bl BufferIntegerAsString
add r0, r7, #0
add r1, r4, #0
mov r2, #4
bl sub_0202C090
mov r1, #0
add r2, r0, #0
str r1, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r5, #0x50]
mov r3, #4
bl BufferIntegerAsString
add r0, r7, #0
add r1, r4, #0
mov r2, #5
bl sub_0202C090
add r2, r0, #0
ldr r0, [r5, #0x50]
mov r1, #1
bl BufferMonthNameAbbr
add r0, r6, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov43_0222AB94
thumb_func_start ov43_0222ABFC
ov43_0222ABFC: ; 0x0222ABFC
push {r3, lr}
sub sp, #8
add r2, r1, #0
mov r1, #1
str r1, [sp]
str r1, [sp, #4]
ldr r0, [r0, #0x50]
mov r1, #0
mov r3, #4
bl BufferIntegerAsString
add sp, #8
pop {r3, pc}
.balign 4, 0
thumb_func_end ov43_0222ABFC
thumb_func_start ov43_0222AC18
ov43_0222AC18: ; 0x0222AC18
ldr r3, _0222AC24 ; =sub_0200C74C
add r2, r1, #0
ldr r0, [r0, #0x50]
mov r1, #0
bx r3
nop
_0222AC24: .word sub_0200C74C
thumb_func_end ov43_0222AC18
thumb_func_start ov43_0222AC28
ov43_0222AC28: ; 0x0222AC28
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
str r0, [sp]
ldr r5, [sp]
mov r0, #0
str r0, [sp, #8]
ldr r4, _0222ACD0 ; =0x0222F14C
add r0, r5, #0
str r0, [sp, #0xc]
add r0, #0x88
str r1, [sp, #4]
add r7, r4, #0
mov r6, #5
str r0, [sp, #0xc]
_0222AC44:
ldr r0, [sp]
ldr r0, [r0, #4]
str r0, [r4]
ldr r0, [sp, #0xc]
str r0, [r4, #4]
ldr r0, [sp, #4]
str r0, [r4, #0x2c]
add r0, r7, #0
bl sub_02024624
mov r1, #0x7d
lsl r1, r1, #2
str r0, [r5, r1]
add r0, r1, #0
ldr r0, [r5, r0]
mov r1, #1
bl sub_0202484C
mov r0, #0x7d
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #0
bl sub_02024830
mov r0, #0x7d
lsl r0, r0, #2
ldr r0, [r5, r0]
add r1, r6, #0
bl sub_020248F0
ldr r0, [sp, #8]
add r4, #0x30
add r0, r0, #1
add r7, #0x30
add r5, r5, #4
add r6, r6, #2
str r0, [sp, #8]
cmp r0, #2
blt _0222AC44
ldr r0, [sp]
ldr r1, _0222ACD4 ; =0x0222F160
ldr r0, [r0, #4]
str r0, [r1, #0x4c]
ldr r0, [sp]
add r0, #0x88
str r0, [r1, #0x50]
ldr r0, [sp, #4]
str r0, [r1, #0x78]
ldr r0, _0222ACD8 ; =0x0222F1AC
bl sub_02024624
mov r2, #0x7f
ldr r1, [sp]
lsl r2, r2, #2
str r0, [r1, r2]
add r0, r1, #0
ldr r0, [r0, r2]
mov r1, #0
bl sub_02024830
mov r1, #0x7f
ldr r0, [sp]
lsl r1, r1, #2
ldr r0, [r0, r1]
mov r1, #1
bl sub_020248F0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_0222ACD0: .word 0x0222F14C
_0222ACD4: .word 0x0222F160
_0222ACD8: .word 0x0222F1AC
thumb_func_end ov43_0222AC28
thumb_func_start ov43_0222ACDC
ov43_0222ACDC: ; 0x0222ACDC
push {r4, r5, r6, lr}
add r5, r0, #0
mov r0, #0x7f
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_02024758
mov r6, #0x7d
mov r4, #0
lsl r6, r6, #2
_0222ACF0:
ldr r0, [r5, r6]
bl sub_02024758
add r4, r4, #1
add r5, r5, #4
cmp r4, #2
blt _0222ACF0
pop {r4, r5, r6, pc}
thumb_func_end ov43_0222ACDC
thumb_func_start ov43_0222AD00
ov43_0222AD00: ; 0x0222AD00
push {r3, r4, r5, r6, r7, lr}
mov r7, #0x7d
add r5, r0, #0
add r6, r1, #0
mov r4, #0
lsl r7, r7, #2
_0222AD0C:
ldr r0, [r5, r7]
add r1, r6, #0
bl sub_02024830
add r4, r4, #1
add r5, r5, #4
cmp r4, #2
blt _0222AD0C
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov43_0222AD00
thumb_func_start ov43_0222AD20
ov43_0222AD20: ; 0x0222AD20
push {r3, r4, r5, r6, r7, lr}
mov r7, #0x7d
add r5, r0, #0
add r6, r1, #0
mov r4, #0
lsl r7, r7, #2
_0222AD2C:
ldr r0, [r5, r7]
add r1, r6, #0
bl sub_0202484C
add r4, r4, #1
add r5, r5, #4
cmp r4, #2
blt _0222AD2C
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov43_0222AD20
thumb_func_start ov43_0222AD40
ov43_0222AD40: ; 0x0222AD40
push {r3, r4, r5, r6, r7, lr}
add r7, r2, #0
lsl r2, r1, #0x19
lsr r6, r2, #0x18
cmp r1, #2
blo _0222AD52
sub r1, r1, #2
lsl r1, r1, #0x18
lsr r1, r1, #0x18
_0222AD52:
mov r2, #0x7d
lsl r2, r2, #2
lsl r4, r1, #2
add r5, r0, r2
ldr r0, [r5, r4]
mov r1, #1
bl sub_0202484C
add r1, r6, #5
ldr r0, [r5, r4]
add r1, r1, r7
bl sub_020248F0
ldr r0, [r5, r4]
bl sub_02024964
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov43_0222AD40
thumb_func_start ov43_0222AD74
ov43_0222AD74: ; 0x0222AD74
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
cmp r2, #0xff
beq _0222AD8A
mov r0, #0x7f
lsl r0, r0, #2
ldr r0, [r5, r0]
add r1, r2, #0
bl sub_020248F0
_0222AD8A:
mov r0, #0x7f
lsl r0, r0, #2
ldr r0, [r5, r0]
add r1, r4, #0
bl sub_02024830
pop {r3, r4, r5, pc}
thumb_func_end ov43_0222AD74
thumb_func_start ov43_0222AD98
ov43_0222AD98: ; 0x0222AD98
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0x7f
lsl r0, r0, #2
ldr r0, [r5, r0]
add r4, r2, #0
bl sub_02024A04
mov r0, #0x7f
lsl r0, r0, #2
ldr r0, [r5, r0]
add r1, r4, #0
bl sub_02024ADC
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov43_0222AD98
thumb_func_start ov43_0222ADB8
ov43_0222ADB8: ; 0x0222ADB8
push {r4, r5, r6, lr}
sub sp, #0x18
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
add r0, sp, #4
mov r1, #0
mov r2, #0x14
bl MI_CpuFill8
ldr r0, [r4]
mov r1, #0x19
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0xa
str r0, [sp, #0xc]
mov r0, #0xd
str r0, [sp, #0x10]
add r0, sp, #4
strb r1, [r0, #0x10]
mov r1, #9
strb r1, [r0, #0x11]
ldrb r1, [r0, #0x12]
mov r2, #0xf
bic r1, r2
ldr r2, [r5]
lsl r2, r2, #0x18
lsr r3, r2, #0x18
mov r2, #0xf
and r2, r3
orr r1, r2
strb r1, [r0, #0x12]
ldrb r1, [r0, #0x12]
mov r2, #0xf0
bic r1, r2
lsl r2, r6, #0x18
lsr r2, r2, #0x18
lsl r2, r2, #0x1c
lsr r2, r2, #0x18
orr r1, r2
strb r1, [r0, #0x12]
mov r1, #0
strb r1, [r0, #0x13]
ldr r0, [r4, #0x60]
add r1, sp, #4
bl sub_020166FC
mov r0, #1
str r0, [sp]
mov r0, #4
mov r1, #8
mov r2, #0
mov r3, #0x3d
bl sub_0200B484
add sp, #0x18
pop {r4, r5, r6, pc}
thumb_func_end ov43_0222ADB8
thumb_func_start ov43_0222AE2C
ov43_0222AE2C: ; 0x0222AE2C
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #0x60]
bl sub_020168F4
add r6, r0, #0
sub r0, r6, #1
cmp r0, #1
bhi _0222AE58
ldr r0, [r4, #0x60]
bl sub_020169C0
str r0, [r5]
ldr r0, [r4, #0x60]
bl sub_020169CC
mov r0, #0
mov r1, #0x3d
mov r2, #1
bl SetBrightness
_0222AE58:
add r0, r6, #0
pop {r4, r5, r6, pc}
thumb_func_end ov43_0222AE2C
thumb_func_start ov43_0222AE5C
ov43_0222AE5C: ; 0x0222AE5C
push {r3, lr}
bl ov43_0222B0A0
pop {r3, pc}
thumb_func_end ov43_0222AE5C
thumb_func_start ov43_0222AE64
ov43_0222AE64: ; 0x0222AE64
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r4, r1, #0
add r7, r3, #0
ldrb r3, [r4, #8]
add r5, r0, #0
add r6, r2, #0
cmp r3, #0xb
bhi _0222AEF0
add r3, r3, r3
add r3, pc
ldrh r3, [r3, #6]
lsl r3, r3, #0x10
asr r3, r3, #0x10
add pc, r3
_0222AE82: ; jump table
.short _0222AE9A - _0222AE82 - 2 ; case 0
.short _0222AEBA - _0222AE82 - 2 ; case 1
.short _0222AEC8 - _0222AE82 - 2 ; case 2
.short _0222AED2 - _0222AE82 - 2 ; case 3
.short _0222AEE6 - _0222AE82 - 2 ; case 4
.short _0222AF3C - _0222AE82 - 2 ; case 5
.short _0222AF5A - _0222AE82 - 2 ; case 6
.short _0222AF68 - _0222AE82 - 2 ; case 7
.short _0222AF88 - _0222AE82 - 2 ; case 8
.short _0222AFF4 - _0222AE82 - 2 ; case 9
.short _0222B00C - _0222AE82 - 2 ; case 10
.short _0222B058 - _0222AE82 - 2 ; case 11
_0222AE9A:
bl ov43_0222B1FC
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0
mov r1, #0x11
add r2, r1, #0
add r3, r0, #0
str r7, [sp, #8]
bl sub_0200FA24
mov r0, #1
strb r0, [r4, #8]
b _0222B08A
_0222AEBA:
bl sub_0200FB5C
cmp r0, #0
beq _0222AEF0
mov r0, #3
strb r0, [r4, #8]
b _0222B08A
_0222AEC8:
bl ov43_0222B1FC
mov r0, #3
strb r0, [r4, #8]
b _0222B08A
_0222AED2:
bl ov43_0222B374
str r0, [sp, #0x10]
cmp r0, #0
beq _0222AEF0
mov r0, #2
str r0, [r5, #4]
mov r0, #4
strb r0, [r4, #8]
b _0222B08A
_0222AEE6:
ldr r3, [r5, #4]
sub r2, r3, #1
str r2, [r5, #4]
cmp r3, #0
beq _0222AEF2
_0222AEF0:
b _0222B08A
_0222AEF2:
mov r2, #0
str r2, [r5, #4]
bl ov43_0222B574
cmp r0, #1
bne _0222AF24
add r0, r5, #0
add r1, r4, #0
bl ov43_0222B440
ldr r0, [r5]
cmp r0, #3
beq _0222AF10
cmp r0, #1
bne _0222AF16
_0222AF10:
mov r0, #5
strb r0, [r4, #8]
b _0222B08A
_0222AF16:
add r0, r5, #0
add r1, r6, #0
bl ov43_0222B458
add sp, #0x14
mov r0, #1
pop {r4, r5, r6, r7, pc}
_0222AF24:
ldr r0, [r5]
cmp r0, #1
bne _0222B01C
add r0, r5, #0
add r1, r6, #0
mov r2, #0x3a
add r3, r7, #0
bl ov43_0222B4BC
mov r0, #0xb
strb r0, [r4, #8]
b _0222B08A
_0222AF3C:
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0
mov r1, #0x10
str r7, [sp, #8]
add r2, r1, #0
add r3, r0, #0
bl sub_0200FA24
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
b _0222B08A
_0222AF5A:
bl sub_0200FB5C
cmp r0, #1
bne _0222B01C
add sp, #0x14
mov r0, #1
pop {r4, r5, r6, r7, pc}
_0222AF68:
bl ov43_0222B1FC
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0
mov r1, #0x11
add r2, r1, #0
add r3, r0, #0
str r7, [sp, #8]
bl sub_0200FA24
mov r0, #8
strb r0, [r4, #8]
b _0222B08A
_0222AF88:
bl sub_0200FB5C
cmp r0, #0
beq _0222B08A
add r0, r7, #0
bl PlayerProfile_new
str r0, [sp, #0xc]
ldr r0, [r4, #0x58]
bl String_c_str
add r1, r0, #0
ldr r0, [sp, #0xc]
bl Sav2_Profile_PlayerName_set
ldr r0, [r6, #0x50]
ldr r2, [sp, #0xc]
mov r1, #0
bl BufferPlayersName
ldr r0, [sp, #0xc]
bl FreeToHeap
ldr r0, [r4, #0x5c]
add r1, sp, #0x10
bl String_atoi
add r3, r0, #0
ldr r0, [sp, #0x10]
add r2, r1, #0
cmp r0, #0
beq _0222AFE2
add r0, r6, #0
add r1, r3, #0
bl ov43_0222AAA4
add r0, r5, #0
add r1, r6, #0
mov r2, #0x37
add r3, r7, #0
bl ov43_0222B4BC
mov r0, #9
strb r0, [r4, #8]
b _0222B08A
_0222AFE2:
add r0, r5, #0
add r1, r6, #0
mov r2, #0x38
add r3, r7, #0
bl ov43_0222B4BC
mov r0, #0xb
strb r0, [r4, #8]
b _0222B08A
_0222AFF4:
bl ov43_0222B534
cmp r0, #0
beq _0222B08A
add r0, r4, #0
add r1, r6, #0
mov r2, #0
bl ov43_0222ADB8
mov r0, #0xa
strb r0, [r4, #8]
b _0222B08A
_0222B00C:
add r0, r4, #0
add r1, r6, #0
bl ov43_0222AE2C
cmp r0, #1
beq _0222B01E
cmp r0, #2
beq _0222B04C
_0222B01C:
b _0222B08A
_0222B01E:
ldr r1, [r4, #0x5c]
ldr r2, [r4, #0x58]
add r0, r4, #0
bl ov43_0222A358
add r2, r0, #0
bne _0222B038
add r0, r5, #0
bl ov43_0222B55C
mov r0, #3
strb r0, [r4, #8]
b _0222B08A
_0222B038:
ldr r3, _0222B090 ; =0x0222F0C8
add r0, r5, #0
ldrb r2, [r3, r2]
add r1, r6, #0
add r3, r7, #0
bl ov43_0222B4BC
mov r0, #0xb
strb r0, [r4, #8]
b _0222B08A
_0222B04C:
add r0, r5, #0
bl ov43_0222B55C
mov r0, #3
strb r0, [r4, #8]
b _0222B08A
_0222B058:
bl ov43_0222B534
cmp r0, #0
beq _0222B08A
ldr r0, _0222B094 ; =gMain
ldr r1, [r0, #0x48]
mov r0, #1
tst r0, r1
bne _0222B078
mov r0, #2
tst r0, r1
bne _0222B078
bl sub_02025358
cmp r0, #0
beq _0222B08A
_0222B078:
add r0, r5, #0
bl ov43_0222B55C
add r0, r5, #0
add r1, r6, #0
bl ov43_0222B408
mov r0, #3
strb r0, [r4, #8]
_0222B08A:
mov r0, #0
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0222B090: .word 0x0222F0C8
_0222B094: .word gMain
thumb_func_end ov43_0222AE64
thumb_func_start ov43_0222B098
ov43_0222B098: ; 0x0222B098
ldr r3, _0222B09C ; =ov43_0222B1D8
bx r3
.balign 4, 0
_0222B09C: .word ov43_0222B1D8
thumb_func_end ov43_0222B098
thumb_func_start ov43_0222B0A0
ov43_0222B0A0: ; 0x0222B0A0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
str r0, [sp, #0x14]
add r0, #8
add r5, r1, #0
str r2, [sp, #0x24]
str r3, [sp, #0x18]
bl InitWindow
mov r3, #4
ldr r1, [sp, #0x14]
str r3, [sp]
mov r0, #0x18
str r0, [sp, #4]
mov r0, #0x14
str r0, [sp, #8]
mov r0, #0xb
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
ldr r0, [sp, #0x24]
add r1, #8
ldr r0, [r0]
mov r2, #3
bl AddWindowParameterized
ldr r0, [sp, #0x14]
add r0, #0x20
bl InitWindow
mov r0, #0x13
str r0, [sp]
mov r0, #0x1b
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #0xb
str r0, [sp, #0xc]
mov r0, #0xac
str r0, [sp, #0x10]
ldr r0, [sp, #0x24]
ldr r1, [sp, #0x14]
ldr r0, [r0]
add r1, #0x20
mov r2, #1
mov r3, #2
bl AddWindowParameterized
ldr r0, [sp, #0x14]
mov r1, #0
add r0, #8
bl FillWindowPixelBuffer
ldr r0, [sp, #0x14]
mov r1, #0
add r0, #0x20
bl FillWindowPixelBuffer
ldr r1, [sp, #0x18]
mov r0, #0x80
bl String_ctor
ldr r1, [sp, #0x14]
str r0, [r1, #0x3c]
ldr r0, [r5, #4]
bl Sav2_PlayerData_GetOptionsAddr
bl Options_GetTextFrameDelay
ldr r1, [sp, #0x14]
str r0, [r1, #0x38]
ldr r1, [sp, #0x18]
mov r0, #0x80
bl String_ctor
add r4, r0, #0
ldr r1, [sp, #0x18]
mov r0, #0x80
bl String_ctor
str r0, [sp, #0x1c]
ldr r0, [r5, #4]
bl Sav2_PlayerData_GetProfileAddr
add r2, r0, #0
ldr r0, [sp, #0x24]
mov r1, #0
ldr r0, [r0, #0x50]
bl BufferPlayersName
ldr r0, [sp, #0x14]
mov r7, #0
str r0, [sp, #0x20]
add r0, #8
mov r5, #8
str r0, [sp, #0x20]
_0222B160:
ldr r0, [sp, #0x24]
ldr r2, [sp, #0x1c]
ldr r0, [r0, #0x54]
add r1, r7, #1
bl ReadMsgDataIntoString
ldr r0, [sp, #0x24]
ldr r2, [sp, #0x1c]
ldr r0, [r0, #0x50]
add r1, r4, #0
bl StringExpandPlaceholders
mov r0, #4
add r1, r4, #0
mov r2, #0
bl sub_02002F30
mov ip, r0
str r5, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _0222B1D4 ; =0x00010F00
mov r3, #0xc0
str r0, [sp, #8]
mov r0, #0
mov r6, ip
str r0, [sp, #0xc]
sub r3, r3, r6
ldr r0, [sp, #0x20]
mov r1, #4
add r2, r4, #0
lsr r3, r3, #1
bl AddTextPrinterParameterized2
add r7, r7, #1
add r5, #0x28
cmp r7, #4
blt _0222B160
add r0, r4, #0
bl String_dtor
ldr r0, [sp, #0x1c]
bl String_dtor
ldr r0, [sp, #0x18]
ldr r3, [sp, #0x14]
str r0, [sp]
ldr r0, [sp, #0x24]
mov r1, #0xb
ldr r0, [r0, #0x58]
mov r2, #1
add r3, #0x1c
bl sub_02007C2C
ldr r1, [sp, #0x14]
str r0, [r1, #0x18]
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0222B1D4: .word 0x00010F00
thumb_func_end ov43_0222B0A0
thumb_func_start ov43_0222B1D8
ov43_0222B1D8: ; 0x0222B1D8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x3c]
bl String_dtor
add r0, r4, #0
add r0, #8
bl RemoveWindow
add r0, r4, #0
add r0, #0x20
bl RemoveWindow
ldr r0, [r4, #0x18]
bl FreeToHeap
pop {r4, pc}
.balign 4, 0
thumb_func_end ov43_0222B1D8
thumb_func_start ov43_0222B1FC
ov43_0222B1FC: ; 0x0222B1FC
push {r4, r5, lr}
sub sp, #0xc
add r4, r2, #0
add r1, r4, #0
add r5, r0, #0
add r0, r4, #0
add r1, #0x64
mov r2, #0
bl ov43_0222A9F4
add r0, r5, #0
add r0, #8
bl sub_0201D5C8
ldr r2, [r5, #0x1c]
mov r3, #0
str r3, [sp]
ldrh r0, [r2]
mov r1, #2
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #4]
ldrh r0, [r2, #2]
add r2, #0xc
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #8]
ldr r0, [r4]
bl sub_0201C4C4
mov r2, #0
ldr r0, [r4]
mov r1, #2
add r3, r2, #0
bl sub_0201F238
ldr r0, [r4]
mov r1, #2
mov r2, #3
mov r3, #0
bl sub_0201F238
add r0, r4, #0
mov r1, #1
mov r2, #0
bl ov43_0222AD74
add r0, r4, #0
mov r1, #1
mov r2, #0
bl ov43_0222AD98
add r0, r5, #0
add r1, r4, #0
bl ov43_0222B3A4
ldr r0, [r4]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
add sp, #0xc
pop {r4, r5, pc}
thumb_func_end ov43_0222B1FC
thumb_func_start ov43_0222B278
ov43_0222B278: ; 0x0222B278
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, _0222B314 ; =gMain
add r4, r2, #0
ldr r3, [r0, #0x48]
ldr r0, _0222B318 ; =0x00000CF3
mov r2, #0
tst r0, r3
beq _0222B28C
str r2, [r1]
_0222B28C:
ldr r6, _0222B314 ; =gMain
mov r0, #1
ldr r1, [r6, #0x48]
add r3, r1, #0
tst r3, r0
beq _0222B2AA
add r0, r5, #0
add r1, r4, #0
bl ov43_0222B3C4
ldr r0, _0222B31C ; =0x000005DD
bl PlaySE
mov r0, #1
pop {r4, r5, r6, pc}
_0222B2AA:
mov r3, #2
tst r1, r3
beq _0222B2BE
ldr r0, _0222B31C ; =0x000005DD
bl PlaySE
mov r0, #3
str r0, [r5]
mov r0, #1
pop {r4, r5, r6, pc}
_0222B2BE:
ldr r1, [r6, #0x4c]
mov r3, #0x40
tst r3, r1
beq _0222B2DC
ldr r1, [r5]
cmp r1, #0
beq _0222B2D4
sub r1, r1, #1
str r1, [r5]
add r2, r0, #0
b _0222B2F6
_0222B2D4:
mov r1, #3
str r1, [r5]
add r2, r0, #0
b _0222B2F6
_0222B2DC:
mov r3, #0x80
tst r1, r3
beq _0222B2F6
ldr r1, [r5]
cmp r1, #3
bhs _0222B2F0
add r1, r1, #1
str r1, [r5]
add r2, r0, #0
b _0222B2F6
_0222B2F0:
mov r1, #0
str r1, [r5]
add r2, r0, #0
_0222B2F6:
cmp r2, #1
bne _0222B310
ldr r0, _0222B320 ; =0x000005E5
bl PlaySE
add r0, r5, #0
add r1, r4, #0
bl ov43_0222B3A4
ldr r0, [r4]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
_0222B310:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_0222B314: .word gMain
_0222B318: .word 0x00000CF3
_0222B31C: .word 0x000005DD
_0222B320: .word 0x000005E5
thumb_func_end ov43_0222B278
thumb_func_start ov43_0222B324
ov43_0222B324: ; 0x0222B324
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, _0222B36C ; =0x0222EE1A
add r6, r1, #0
add r4, r2, #0
add r7, r3, #0
bl sub_0202529C
mov r1, #0
mvn r1, r1
cmp r0, r1
bne _0222B340
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0222B340:
mov r1, #1
str r1, [r7]
str r1, [r6]
str r0, [r5]
ldr r0, _0222B370 ; =0x000005DD
bl PlaySE
add r0, r5, #0
add r1, r4, #0
bl ov43_0222B3C4
add r0, r5, #0
add r1, r4, #0
bl ov43_0222B3A4
ldr r0, [r4]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
nop
_0222B36C: .word 0x0222EE1A
_0222B370: .word 0x000005DD
thumb_func_end ov43_0222B324
thumb_func_start ov43_0222B374
ov43_0222B374: ; 0x0222B374
push {r3, r4, r5, r6, lr}
sub sp, #4
mov r3, #0
str r3, [sp]
add r3, sp, #0
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
bl ov43_0222B324
ldr r1, [sp]
cmp r1, #0
beq _0222B396
mov r1, #1
add sp, #4
str r1, [r4]
pop {r3, r4, r5, r6, pc}
_0222B396:
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl ov43_0222B278
add sp, #4
pop {r3, r4, r5, r6, pc}
thumb_func_end ov43_0222B374
thumb_func_start ov43_0222B3A4
ov43_0222B3A4: ; 0x0222B3A4
add r2, r0, #0
ldr r3, [r2]
mov r2, #0x28
mul r2, r3
mov r0, #0x7f
add r2, #0x30
lsl r0, r0, #2
lsl r2, r2, #0x10
ldr r0, [r1, r0]
ldr r3, _0222B3C0 ; =sub_0200DD88
mov r1, #0x80
asr r2, r2, #0x10
bx r3
nop
_0222B3C0: .word sub_0200DD88
thumb_func_end ov43_0222B3A4
thumb_func_start ov43_0222B3C4
ov43_0222B3C4: ; 0x0222B3C4
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r7, r0, #0
add r6, r1, #0
mov r4, #0
mov r5, #4
_0222B3D0:
ldr r0, [r7]
cmp r0, r4
bne _0222B3DA
mov r1, #9
b _0222B3DC
_0222B3DA:
mov r1, #2
_0222B3DC:
mov r0, #0x1c
str r0, [sp]
mov r0, #4
str r0, [sp, #4]
str r1, [sp, #8]
mov r1, #2
lsl r3, r5, #0x18
ldr r0, [r6]
add r2, r1, #0
lsr r3, r3, #0x18
bl sub_0201CA4C
add r4, r4, #1
add r5, r5, #5
cmp r4, #4
blt _0222B3D0
ldr r0, [r6]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end ov43_0222B3C4
thumb_func_start ov43_0222B408
ov43_0222B408: ; 0x0222B408
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r1, #0
mov r6, #0
mov r4, #4
mov r7, #2
_0222B414:
mov r0, #0x1c
str r0, [sp]
mov r0, #4
str r0, [sp, #4]
str r7, [sp, #8]
lsl r3, r4, #0x18
ldr r0, [r5]
add r1, r7, #0
add r2, r7, #0
lsr r3, r3, #0x18
bl sub_0201CA4C
ldr r0, [r5]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
add r6, r6, #1
add r4, r4, #5
cmp r6, #4
blt _0222B414
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end ov43_0222B408
thumb_func_start ov43_0222B440
ov43_0222B440: ; 0x0222B440
add r2, r0, #0
add r0, r1, #0
ldr r2, [r2]
ldr r1, _0222B450 ; =0x0222F0CC
ldr r3, _0222B454 ; =ov43_0222A318
ldrb r1, [r1, r2]
mov r2, #0
bx r3
.balign 4, 0
_0222B450: .word 0x0222F0CC
_0222B454: .word ov43_0222A318
thumb_func_end ov43_0222B440
thumb_func_start ov43_0222B458
ov43_0222B458: ; 0x0222B458
push {r3, r4, r5, lr}
sub sp, #0x10
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
bl ov43_0222AA70
mov r2, #0
str r2, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #0x18
str r0, [sp, #8]
str r2, [sp, #0xc]
ldr r0, [r4]
mov r1, #2
add r3, r2, #0
bl FillBgTilemapRect
ldr r0, [r4]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
mov r2, #0
str r2, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #0x18
str r0, [sp, #8]
str r2, [sp, #0xc]
ldr r0, [r4]
mov r1, #3
add r3, r2, #0
bl FillBgTilemapRect
ldr r0, [r4]
mov r1, #3
bl ScheduleBgTilemapBufferTransfer
add r5, #8
add r0, r5, #0
bl sub_0201D8E4
add r0, r4, #0
mov r1, #0
mov r2, #0xff
bl ov43_0222AD74
add sp, #0x10
pop {r3, r4, r5, pc}
thumb_func_end ov43_0222B458
thumb_func_start ov43_0222B4BC
ov43_0222B4BC: ; 0x0222B4BC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
add r4, r1, #0
mov r0, #0x80
add r1, r3, #0
add r7, r2, #0
bl String_ctor
add r6, r0, #0
add r0, r5, #0
add r0, #0x20
mov r1, #0xf
bl FillWindowPixelBuffer
ldr r0, [r4, #0x54]
add r1, r7, #0
add r2, r6, #0
bl ReadMsgDataIntoString
ldr r0, [r4, #0x50]
ldr r1, [r5, #0x3c]
add r2, r6, #0
bl StringExpandPlaceholders
mov r0, #1
bl sub_02002B8C
mov r3, #0
str r3, [sp]
ldr r0, [r5, #0x38]
mov r1, #1
str r0, [sp, #4]
ldr r0, _0222B530 ; =0x00010200
str r0, [sp, #8]
str r3, [sp, #0xc]
add r0, r5, #0
ldr r2, [r5, #0x3c]
add r0, #0x20
bl AddTextPrinterParameterized2
str r0, [r5, #0x34]
add r0, r5, #0
add r0, #0x20
mov r1, #1
mov r2, #0x46
mov r3, #0xc
bl DrawFrameAndWindow2
add r5, #0x20
add r0, r5, #0
bl sub_0201D5C8
add r0, r6, #0
bl String_dtor
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0222B530: .word 0x00010200
thumb_func_end ov43_0222B4BC
thumb_func_start ov43_0222B534
ov43_0222B534: ; 0x0222B534
push {r4, lr}
ldr r0, [r0, #0x34]
add r4, r1, #0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_02020094
cmp r0, #0
bne _0222B556
mov r0, #0
bl sub_02002B8C
bl sub_02002C04
str r0, [r4]
mov r0, #1
pop {r4, pc}
_0222B556:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end ov43_0222B534
thumb_func_start ov43_0222B55C
ov43_0222B55C: ; 0x0222B55C
push {r4, lr}
add r4, r0, #0
add r0, #0x20
mov r1, #1
bl ClearFrameAndWindow2
add r4, #0x20
add r0, r4, #0
bl sub_0201D8E4
pop {r4, pc}
.balign 4, 0
thumb_func_end ov43_0222B55C
thumb_func_start ov43_0222B574
ov43_0222B574: ; 0x0222B574
push {r3, r4, r5, lr}
ldr r0, [r0]
cmp r0, #1
bne _0222B59E
ldr r0, [r1, #4]
bl sub_0202C6F4
add r5, r0, #0
mov r4, #0
_0222B586:
add r0, r5, #0
add r1, r4, #0
bl sub_0202C2DC
cmp r0, #0
bne _0222B596
mov r0, #1
pop {r3, r4, r5, pc}
_0222B596:
add r4, r4, #1
cmp r4, #0x20
blt _0222B586
b _0222B5A2
_0222B59E:
mov r0, #1
pop {r3, r4, r5, pc}
_0222B5A2:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov43_0222B574
thumb_func_start ov43_0222B5A8
ov43_0222B5A8: ; 0x0222B5A8
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #4]
add r6, r2, #0
add r7, r3, #0
bl Sav2_PlayerData_GetOptionsAddr
bl Options_GetTextFrameDelay
add r1, r5, #0
add r1, #0xe0
str r0, [r1]
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
add r3, r7, #0
bl ov43_0222B944
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov43_0222B5A8
thumb_func_start ov43_0222B5D0
ov43_0222B5D0: ; 0x0222B5D0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r4, r1, #0
ldrb r5, [r4, #8]
add r6, r0, #0
add r7, r2, #0
str r3, [sp, #0xc]
cmp r5, #0x17
bls _0222B5E4
b _0222B932
_0222B5E4:
add r5, r5, r5
add r5, pc
ldrh r5, [r5, #6]
lsl r5, r5, #0x10
asr r5, r5, #0x10
add pc, r5
_0222B5F0: ; jump table
.short _0222B620 - _0222B5F0 - 2 ; case 0
.short _0222B62A - _0222B5F0 - 2 ; case 1
.short _0222B642 - _0222B5F0 - 2 ; case 2
.short _0222B68A - _0222B5F0 - 2 ; case 3
.short _0222B694 - _0222B5F0 - 2 ; case 4
.short _0222B6A2 - _0222B5F0 - 2 ; case 5
.short _0222B6E0 - _0222B5F0 - 2 ; case 6
.short _0222B6E8 - _0222B5F0 - 2 ; case 7
.short _0222B6F4 - _0222B5F0 - 2 ; case 8
.short _0222B720 - _0222B5F0 - 2 ; case 9
.short _0222B744 - _0222B5F0 - 2 ; case 10
.short _0222B780 - _0222B5F0 - 2 ; case 11
.short _0222B7A2 - _0222B5F0 - 2 ; case 12
.short _0222B7B8 - _0222B5F0 - 2 ; case 13
.short _0222B7E2 - _0222B5F0 - 2 ; case 14
.short _0222B7F0 - _0222B5F0 - 2 ; case 15
.short _0222B7FA - _0222B5F0 - 2 ; case 16
.short _0222B808 - _0222B5F0 - 2 ; case 17
.short _0222B84A - _0222B5F0 - 2 ; case 18
.short _0222B856 - _0222B5F0 - 2 ; case 19
.short _0222B8BA - _0222B5F0 - 2 ; case 20
.short _0222B8C6 - _0222B5F0 - 2 ; case 21
.short _0222B8E2 - _0222B5F0 - 2 ; case 22
.short _0222B91E - _0222B5F0 - 2 ; case 23
_0222B620:
mov r0, #0
strh r0, [r6]
strh r0, [r6, #2]
strh r0, [r6, #4]
strh r0, [r6, #6]
_0222B62A:
add r0, r4, #0
bl ov43_0222A420
ldr r3, [sp, #0xc]
add r0, r6, #0
add r1, r4, #0
add r2, r7, #0
bl ov43_0222BB20
mov r0, #2
strb r0, [r4, #8]
b _0222B932
_0222B642:
bl ov43_0222BFA4
cmp r0, #4
bhi _0222B70A
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0222B656: ; jump table
.short _0222B932 - _0222B656 - 2 ; case 0
.short _0222B660 - _0222B656 - 2 ; case 1
.short _0222B66C - _0222B656 - 2 ; case 2
.short _0222B678 - _0222B656 - 2 ; case 3
.short _0222B67E - _0222B656 - 2 ; case 4
_0222B660:
add r0, r6, #0
add r1, r4, #0
mov r2, #2
bl ov43_0222C53C
b _0222B932
_0222B66C:
add r0, r6, #0
add r1, r4, #0
mov r2, #3
bl ov43_0222C53C
b _0222B932
_0222B678:
mov r0, #0x17
strb r0, [r4, #8]
b _0222B932
_0222B67E:
mov r0, #4
add r6, #0xf4
str r0, [r6]
mov r0, #5
strb r0, [r4, #8]
b _0222B932
_0222B68A:
bl ov43_0222BFD4
mov r0, #4
strb r0, [r4, #8]
b _0222B932
_0222B694:
bl ov43_0222C024
cmp r0, #1
bne _0222B70A
mov r0, #2
strb r0, [r4, #8]
b _0222B932
_0222B6A2:
add r2, r6, #0
add r2, #0xf4
add r1, r6, #0
ldr r2, [r2]
add r1, #0xf4
sub r3, r2, #1
add r2, r6, #0
ldr r1, [r1]
add r2, #0xf4
str r3, [r2]
cmp r1, #0
bgt _0222B70A
add r1, r6, #0
mov r2, #0
add r1, #0xf4
str r2, [r1]
bl ov43_0222C620
add r1, r0, #0
add r0, r4, #0
bl ov43_0222A41C
ldr r3, [sp, #0xc]
add r0, r6, #0
add r1, r4, #0
add r2, r7, #0
bl ov43_0222C148
mov r0, #6
strb r0, [r4, #8]
b _0222B932
_0222B6E0:
bl ov43_0222C228
strb r0, [r4, #8]
b _0222B932
_0222B6E8:
mov r0, #4
add r6, #0xf4
str r0, [r6]
mov r0, #8
strb r0, [r4, #8]
b _0222B932
_0222B6F4:
add r3, r6, #0
add r3, #0xf4
ldr r3, [r3]
sub r5, r3, #1
add r3, r6, #0
add r3, #0xf4
add r6, #0xf4
str r5, [r3]
ldr r3, [r6]
cmp r3, #0
ble _0222B70C
_0222B70A:
b _0222B932
_0222B70C:
bl ov43_0222BBB8
add r0, r4, #0
mov r1, #4
mov r2, #0
bl ov43_0222A318
add sp, #0x18
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0222B720:
mov r1, #0xb
ldrsb r2, [r4, r1]
asr r0, r2, #2
lsr r0, r0, #0x1d
add r0, r2, r0
asr r0, r0, #3
strh r0, [r6]
ldrsb r0, [r4, r1]
lsr r2, r0, #0x1f
lsl r1, r0, #0x1d
sub r1, r1, r2
mov r0, #0x1d
ror r1, r0
add r0, r2, r1
strh r0, [r6, #4]
mov r0, #1
strb r0, [r4, #8]
b _0222B932
_0222B744:
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
add r0, r3, #0
str r0, [sp, #8]
mov r0, #0
mov r1, #0x10
add r2, r1, #0
add r3, r0, #0
bl sub_0200FA24
add r0, r6, #0
bl ov43_0222C620
add r5, r0, #0
ldr r0, [r4, #4]
bl sub_0202C6F4
add r1, r4, r5
ldrb r1, [r1, #0x18]
bl sub_0202C254
add r1, r0, #0
add r0, r4, #0
bl ov43_0222A414
mov r0, #0xb
strb r0, [r4, #8]
b _0222B932
_0222B780:
bl sub_0200FB5C
cmp r0, #0
beq _0222B818
add r0, r6, #0
add r1, r4, #0
add r2, r7, #0
bl ov43_0222BBB8
add r0, r4, #0
mov r1, #2
mov r2, #4
bl ov43_0222A318
add sp, #0x18
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0222B7A2:
bl ov43_0222C620
add r5, r0, #0
ldr r0, [r4, #4]
bl sub_0202C6F4
add r1, r4, r5
ldrb r1, [r1, #0x18]
ldr r2, [r4, #0x58]
bl sub_0202C270
_0222B7B8:
ldr r3, [sp, #0xc]
add r0, r6, #0
add r1, r4, #0
add r2, r7, #0
bl ov43_0222BB20
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [sp, #0xc]
mov r1, #0x11
str r0, [sp, #8]
mov r0, #0
add r2, r1, #0
add r3, r0, #0
bl sub_0200FA24
mov r0, #0xe
strb r0, [r4, #8]
b _0222B932
_0222B7E2:
bl sub_0200FB5C
cmp r0, #0
beq _0222B818
mov r0, #2
strb r0, [r4, #8]
b _0222B932
_0222B7F0:
bl ov43_0222C32C
mov r0, #0x10
strb r0, [r4, #8]
b _0222B932
_0222B7FA:
bl ov43_0222C358
cmp r0, #1
bne _0222B818
mov r0, #0x11
strb r0, [r4, #8]
b _0222B932
_0222B808:
add r0, r4, #0
add r1, r7, #0
bl ov43_0222AE2C
cmp r0, #1
beq _0222B81A
cmp r0, #2
beq _0222B826
_0222B818:
b _0222B932
_0222B81A:
add r0, r6, #0
bl ov43_0222C600
mov r0, #0x12
strb r0, [r4, #8]
b _0222B932
_0222B826:
add r0, r6, #0
bl ov43_0222C600
add r0, r7, #0
mov r1, #1
bl ov43_0222AD00
mov r2, #4
add r0, r6, #0
ldrsh r2, [r6, r2]
add r0, #8
add r1, r7, #0
mov r3, #0
bl ov43_0222C890
mov r0, #2
strb r0, [r4, #8]
b _0222B932
_0222B84A:
add r1, r7, #0
bl ov43_0222C65C
mov r0, #0x13
strb r0, [r4, #8]
b _0222B932
_0222B856:
add r1, r7, #0
bl ov43_0222C714
cmp r0, #1
bne _0222B932
ldr r0, [r4, #4]
bl sub_0202C6F4
str r0, [sp, #0x10]
add r0, r6, #0
bl ov43_0222C620
str r0, [sp, #0x14]
add r5, r4, #0
ldr r1, [sp, #0x14]
add r5, #0x18
ldrb r1, [r5, r1]
ldr r0, [sp, #0x10]
bl sub_0202C338
ldr r0, [r4, #4]
bl sub_0203107C
ldr r1, [sp, #0x14]
ldrb r1, [r5, r1]
bl sub_020311AC
add r0, r4, #0
bl ov43_0222A420
mov r0, #4
ldrsh r0, [r6, r0]
mov r3, #0
add r1, r4, #0
str r0, [sp]
ldr r0, [sp, #0xc]
str r3, [sp, #4]
str r0, [sp, #8]
ldrsh r3, [r6, r3]
add r0, r6, #0
add r2, r7, #0
bl ov43_0222C378
add r0, r7, #0
mov r1, #1
bl ov43_0222AD00
mov r0, #0x14
strb r0, [r4, #8]
b _0222B932
_0222B8BA:
add r1, r7, #0
bl ov43_0222C750
mov r0, #2
strb r0, [r4, #8]
b _0222B932
_0222B8C6:
bl ov43_0222C2B0
cmp r0, #1
bne _0222B8D4
mov r0, #0x16
strb r0, [r4, #8]
b _0222B932
_0222B8D4:
add r0, r7, #0
mov r1, #1
bl ov43_0222AD00
mov r0, #2
strb r0, [r4, #8]
b _0222B932
_0222B8E2:
bl ov43_0222C5D8
cmp r0, #0
beq _0222B932
ldr r0, _0222B938 ; =gMain
ldr r0, [r0, #0x48]
cmp r0, #0
bne _0222B8FA
bl sub_02025358
cmp r0, #0
beq _0222B932
_0222B8FA:
add r0, r7, #0
mov r1, #1
bl ov43_0222AD00
mov r2, #4
add r0, r6, #0
ldrsh r2, [r6, r2]
add r0, #8
add r1, r7, #0
mov r3, #0
bl ov43_0222C890
mov r0, #2
strb r0, [r4, #8]
add r0, r6, #0
bl ov43_0222C600
b _0222B932
_0222B91E:
bl ov43_0222BBB8
add r0, r4, #0
mov r1, #0
mov r2, #2
bl ov43_0222A318
add sp, #0x18
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0222B932:
mov r0, #0
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0222B938: .word gMain
thumb_func_end ov43_0222B5D0
thumb_func_start ov43_0222B93C
ov43_0222B93C: ; 0x0222B93C
ldr r3, _0222B940 ; =ov43_0222BAB8
bx r3
.balign 4, 0
_0222B940: .word ov43_0222BAB8
thumb_func_end ov43_0222B93C
thumb_func_start ov43_0222B944
ov43_0222B944: ; 0x0222B944
push {r4, r5, r6, r7, lr}
sub sp, #0x5c
str r0, [sp, #0x18]
ldr r4, [sp, #0x18]
mov r0, #0
ldr r5, _0222BA9C ; =0x0222ED74
ldr r6, _0222BAA0 ; =0x0222EE08
add r7, r2, #0
str r3, [sp, #0x1c]
str r0, [sp, #0x28]
add r4, #8
_0222B95A:
ldr r0, [sp, #0x1c]
add r1, r7, #0
str r0, [sp]
ldrh r3, [r5]
add r0, r4, #0
add r2, r6, #0
bl ov43_0222C788
ldr r0, [sp, #0x28]
add r5, r5, #2
add r0, r0, #1
add r6, r6, #6
add r4, #0x38
str r0, [sp, #0x28]
cmp r0, #3
blt _0222B95A
ldr r0, [r7, #4]
ldr r3, [sp, #0x1c]
mov r1, #0
mov r2, #0x10
bl ov42_02227060
ldr r1, [sp, #0x18]
ldr r3, [sp, #0x1c]
add r1, #0xb4
str r0, [r1]
ldr r0, [sp, #0x18]
mov r1, #1
add r0, #0xb4
ldr r0, [r0]
mov r2, #2
bl ov42_02227228
mov r3, #0x15
ldr r1, [sp, #0x18]
str r3, [sp]
mov r0, #9
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #0xb
str r0, [sp, #0xc]
ldr r0, _0222BAA4 ; =0x0000014F
add r1, #0xb8
str r0, [sp, #0x10]
mov r0, #0
str r0, [sp, #0x14]
ldr r0, [r7]
mov r2, #1
bl ov43_0222A24C
ldr r0, [r7, #0x54]
mov r1, #7
bl NewString_ReadMsgData
add r4, r0, #0
mov r3, #0
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _0222BAA8 ; =0x00010F00
mov r1, #4
str r0, [sp, #8]
ldr r0, [sp, #0x18]
add r2, r4, #0
add r0, #0xb8
str r3, [sp, #0xc]
bl AddTextPrinterParameterized2
add r0, r4, #0
bl String_dtor
mov r0, #0
str r0, [sp, #0x20]
ldr r0, _0222BAAC ; =0x0222EEE0
ldr r6, [sp, #0x18]
str r0, [sp, #0x24]
_0222B9F4:
ldr r1, [sp, #0x1c]
mov r0, #4
bl ListMenuItems_ctor
add r1, r6, #0
add r1, #0xe4
ldr r5, [sp, #0x24]
str r0, [r1]
mov r4, #0
_0222BA06:
add r0, r6, #0
add r0, #0xe4
ldr r0, [r0]
ldr r1, [r7, #0x54]
ldr r2, [r5]
ldr r3, [r5, #4]
bl ListMenuItems_AppendFromMsgData
add r4, r4, #1
add r5, #8
cmp r4, #4
blt _0222BA06
ldr r0, [sp, #0x24]
add r6, r6, #4
add r0, #0x20
str r0, [sp, #0x24]
ldr r0, [sp, #0x20]
add r0, r0, #1
str r0, [sp, #0x20]
cmp r0, #2
blt _0222B9F4
mov r0, #0x13
str r0, [sp]
mov r0, #0x1b
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #0xb
str r0, [sp, #0xc]
ldr r0, _0222BAB0 ; =0x00000161
ldr r1, [sp, #0x18]
str r0, [sp, #0x10]
mov r0, #0xf
str r0, [sp, #0x14]
ldr r0, [r7]
add r1, #0xc8
mov r2, #1
mov r3, #2
bl ov43_0222A24C
ldr r1, [sp, #0x1c]
mov r0, #0x80
bl String_ctor
ldr r1, [sp, #0x18]
ldr r4, _0222BAB4 ; =0x0222EEB0
add r1, #0xd8
str r0, [r1]
add r3, sp, #0x2c
mov r2, #6
_0222BA6A:
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _0222BA6A
ldr r0, [r7, #4]
add r7, #0x88
str r0, [sp, #0x2c]
ldr r0, [sp, #0x1c]
str r7, [sp, #0x30]
str r0, [sp, #0x58]
add r0, sp, #0x2c
bl sub_02024624
ldr r1, [sp, #0x18]
add r1, #0xf8
str r0, [r1]
ldr r0, [sp, #0x18]
mov r1, #0
add r0, #0xf8
str r0, [sp, #0x18]
ldr r0, [r0]
bl sub_02024830
add sp, #0x5c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0222BA9C: .word 0x0222ED74
_0222BAA0: .word 0x0222EE08
_0222BAA4: .word 0x0000014F
_0222BAA8: .word 0x00010F00
_0222BAAC: .word 0x0222EEE0
_0222BAB0: .word 0x00000161
_0222BAB4: .word 0x0222EEB0
thumb_func_end ov43_0222B944
thumb_func_start ov43_0222BAB8
ov43_0222BAB8: ; 0x0222BAB8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0xf8
ldr r0, [r0]
add r7, r2, #0
bl sub_02024758
add r0, r5, #0
add r0, #0xc8
bl RemoveWindow
add r0, r5, #0
add r0, #0xd8
ldr r0, [r0]
bl String_dtor
mov r6, #0
add r4, r5, #0
_0222BADC:
add r0, r4, #0
add r0, #0xe4
ldr r0, [r0]
bl ListMenuItems_dtor
add r6, r6, #1
add r4, r4, #4
cmp r6, #2
blt _0222BADC
add r0, r5, #0
add r0, #0xb8
bl RemoveWindow
add r0, r5, #0
add r0, #0xb4
ldr r0, [r0]
bl ov42_02227274
add r0, r5, #0
add r0, #0xb4
ldr r0, [r0]
bl ov42_02227114
mov r4, #0
add r5, #8
_0222BB0E:
add r0, r5, #0
add r1, r7, #0
bl ov43_0222C7EC
add r4, r4, #1
add r5, #0x38
cmp r4, #3
blt _0222BB0E
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov43_0222BAB8
thumb_func_start ov43_0222BB20
ov43_0222BB20: ; 0x0222BB20
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r4, r2, #0
add r7, r1, #0
add r1, r4, #0
add r5, r0, #0
add r0, r4, #0
add r1, #0x64
mov r2, #5
add r6, r3, #0
bl ov43_0222A9F4
mov r0, #0x83
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0xe
str r1, [sp]
mov r1, #4
str r1, [sp, #4]
add r1, r0, #0
add r1, #0xc
str r1, [sp, #8]
mov r1, #3
str r1, [sp, #0xc]
mov r1, #0
str r1, [sp, #0x10]
ldrh r2, [r0]
mov r3, #0x14
lsl r2, r2, #0x15
lsr r2, r2, #0x18
str r2, [sp, #0x14]
ldrh r0, [r0, #2]
mov r2, #0x11
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #0x18]
ldr r0, [r4]
bl sub_0201C4EC
add r0, r5, #0
add r0, #0xb8
bl sub_0201D5C8
ldr r0, [r4]
mov r1, #0
bl ScheduleBgTilemapBufferTransfer
add r0, r4, #0
mov r1, #1
bl ov43_0222AD00
mov r0, #4
ldrsh r0, [r5, r0]
mov r3, #0
add r1, r7, #0
str r0, [sp]
str r3, [sp, #4]
str r6, [sp, #8]
ldrsh r3, [r5, r3]
add r0, r5, #0
add r2, r4, #0
bl ov43_0222C378
mov r1, #1
add r0, r4, #0
add r2, r1, #0
bl ov43_0222AD74
add r0, r4, #0
mov r1, #1
mov r2, #0x10
bl ov43_0222AD98
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov43_0222BB20
thumb_func_start ov43_0222BBB8
ov43_0222BBB8: ; 0x0222BBB8
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r4, r2, #0
add r5, r0, #0
add r0, r4, #0
bl ov43_0222AA70
add r0, r5, #0
add r0, #0xb8
bl sub_0201D8E4
mov r7, #2
mov r6, #0
add r5, #8
lsl r7, r7, #8
_0222BBD6:
add r0, r5, #0
add r1, r4, #0
add r2, r4, r7
bl ov43_0222C9A4
add r6, r6, #1
add r5, #0x38
cmp r6, #3
blt _0222BBD6
add r0, r4, #0
mov r1, #0
mov r2, #0xff
bl ov43_0222AD74
add r0, r4, #0
mov r1, #1
mov r2, #9
bl ov43_0222AD98
add r0, r4, #0
mov r1, #0
bl ov43_0222AD00
mov r0, #0x83
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0xe
str r1, [sp]
mov r1, #4
str r1, [sp, #4]
add r1, r0, #0
add r1, #0xc
str r1, [sp, #8]
mov r2, #0x11
str r2, [sp, #0xc]
mov r1, #0
str r1, [sp, #0x10]
ldrh r3, [r0]
lsl r3, r3, #0x15
lsr r3, r3, #0x18
str r3, [sp, #0x14]
ldrh r0, [r0, #2]
mov r3, #0x14
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #0x18]
ldr r0, [r4]
bl sub_0201C4EC
mov r0, #0x83
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r2, #0x10
add r1, r0, #0
str r2, [sp]
mov r3, #4
str r3, [sp, #4]
add r1, #0xc
str r1, [sp, #8]
str r2, [sp, #0xc]
str r3, [sp, #0x10]
ldrh r1, [r0]
lsl r1, r1, #0x15
lsr r1, r1, #0x18
str r1, [sp, #0x14]
ldrh r0, [r0, #2]
mov r1, #0
add r3, r1, #0
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #0x18]
ldr r0, [r4]
bl sub_0201C4EC
ldr r0, [r4]
mov r1, #0
bl ScheduleBgTilemapBufferTransfer
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov43_0222BBB8
thumb_func_start ov43_0222BC78
ov43_0222BC78: ; 0x0222BC78
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r2, #0
cmp r3, #0
bne _0222BC9C
ldr r0, _0222BD14 ; =0x000005DD
bl PlaySE
mov r2, #4
add r0, r5, #0
ldrsh r2, [r5, r2]
add r0, #8
add r1, r4, #0
mov r3, #1
bl ov43_0222C890
mov r0, #3
pop {r3, r4, r5, pc}
_0222BC9C:
cmp r3, #5
bne _0222BCEA
mov r0, #4
ldrsh r2, [r5, r0]
cmp r2, #8
bne _0222BCC2
ldr r0, _0222BD14 ; =0x000005DD
bl PlaySE
mov r2, #4
add r0, r5, #0
ldrsh r2, [r5, r2]
add r0, #8
add r1, r4, #0
mov r3, #1
bl ov43_0222C890
mov r0, #3
pop {r3, r4, r5, pc}
_0222BCC2:
mov r0, #0
ldrsh r3, [r5, r0]
ldr r1, [r1, #0x10]
lsl r3, r3, #3
add r2, r2, r3
cmp r1, r2
bls _0222BD10
ldr r0, _0222BD14 ; =0x000005DD
bl PlaySE
mov r2, #4
add r0, r5, #0
ldrsh r2, [r5, r2]
add r0, #8
add r1, r4, #0
mov r3, #1
bl ov43_0222C890
mov r0, #4
pop {r3, r4, r5, pc}
_0222BCEA:
cmp r3, #1
bne _0222BCFC
add r0, r4, #0
mov r1, #0
mov r2, #1
bl ov43_0222AD40
mov r0, #1
pop {r3, r4, r5, pc}
_0222BCFC:
cmp r3, #2
bne _0222BD0E
mov r1, #1
add r0, r4, #0
add r2, r1, #0
bl ov43_0222AD40
mov r0, #2
pop {r3, r4, r5, pc}
_0222BD0E:
mov r0, #0
_0222BD10:
pop {r3, r4, r5, pc}
nop
_0222BD14: .word 0x000005DD
thumb_func_end ov43_0222BC78
thumb_func_start ov43_0222BD18
ov43_0222BD18: ; 0x0222BD18
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
ldr r0, _0222BEE0 ; =gMain
add r6, r1, #0
ldr r1, [r0, #0x48]
ldr r0, _0222BEE4 ; =0x00000CF3
add r7, r2, #0
tst r0, r1
beq _0222BD30
mov r0, #0
str r0, [r6]
_0222BD30:
ldr r0, _0222BEE0 ; =gMain
mov r2, #1
ldr r1, [r0, #0x48]
tst r2, r1
beq _0222BD4A
add r0, r5, #0
add r1, r6, #0
add r2, r7, #0
mov r3, #5
bl ov43_0222BC78
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0222BD4A:
mov r2, #2
tst r1, r2
beq _0222BD72
mov r0, #8
strh r0, [r5, #4]
mov r2, #4
add r0, r5, #0
ldrsh r2, [r5, r2]
add r0, #8
add r1, r7, #0
bl ov43_0222C844
add r0, r5, #0
add r1, r6, #0
add r2, r7, #0
mov r3, #0
bl ov43_0222BC78
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0222BD72:
mov r1, #4
ldrsh r1, [r5, r1]
mov r4, #0
lsl r2, r1, #0x10
lsr r2, r2, #0x10
str r2, [sp, #8]
add r2, r4, #0
str r2, [sp, #4]
ldr r2, [r0, #0x4c]
mov r0, #0x40
tst r0, r2
beq _0222BDBA
cmp r1, #8
bne _0222BDA0
mov r0, #6
ldrsh r0, [r5, r0]
mov r4, #1
add r1, r4, #0
strh r0, [r5, #4]
add r0, r7, #0
bl ov43_0222AD00
b _0222BE62
_0222BDA0:
cmp r1, #4
bge _0222BDB0
cmp r1, #0
ble _0222BE62
sub r0, r1, #1
strh r0, [r5, #4]
mov r4, #1
b _0222BE62
_0222BDB0:
ble _0222BE62
sub r0, r1, #1
strh r0, [r5, #4]
mov r4, #1
b _0222BE62
_0222BDBA:
mov r0, #0x80
tst r0, r2
beq _0222BDEC
cmp r1, #3
beq _0222BDC8
cmp r1, #7
bne _0222BDD0
_0222BDC8:
mov r0, #8
strh r0, [r5, #4]
mov r4, #1
b _0222BE62
_0222BDD0:
cmp r1, #4
bge _0222BDE0
cmp r1, #3
bge _0222BE62
add r0, r1, #1
strh r0, [r5, #4]
mov r4, #1
b _0222BE62
_0222BDE0:
cmp r1, #7
bge _0222BE62
add r0, r1, #1
strh r0, [r5, #4]
mov r4, #1
b _0222BE62
_0222BDEC:
mov r0, #0x20
tst r0, r2
beq _0222BE12
cmp r1, #8
beq _0222BE62
cmp r1, #4
bge _0222BE0A
add r0, r1, #4
mov r4, #1
strh r0, [r5, #4]
add r0, r4, #0
str r0, [sp, #4]
mov r0, #0
str r0, [sp]
b _0222BE62
_0222BE0A:
sub r0, r1, #4
strh r0, [r5, #4]
mov r4, #1
b _0222BE62
_0222BE12:
mov r3, #0x10
add r0, r2, #0
tst r0, r3
beq _0222BE38
cmp r1, #8
beq _0222BE62
cmp r1, #4
bge _0222BE2A
add r0, r1, #4
strh r0, [r5, #4]
mov r4, #1
b _0222BE62
_0222BE2A:
sub r0, r1, #4
mov r4, #1
strh r0, [r5, #4]
add r0, r4, #0
str r0, [sp, #4]
str r0, [sp]
b _0222BE62
_0222BE38:
ldrb r0, [r6, #0xe]
cmp r0, #0
beq _0222BE62
beq _0222BE50
lsl r1, r3, #5
tst r1, r2
beq _0222BE50
mov r0, #1
str r0, [sp, #4]
add r0, r4, #0
str r0, [sp]
b _0222BE62
_0222BE50:
cmp r0, #0
beq _0222BE62
mov r0, #1
lsl r0, r0, #8
tst r0, r2
beq _0222BE62
mov r0, #1
str r0, [sp, #4]
str r0, [sp]
_0222BE62:
ldr r0, [sp, #4]
cmp r0, #1
bne _0222BEBC
ldr r0, [sp]
cmp r0, #0
beq _0222BE96
mov r0, #0
ldrsh r1, [r5, r0]
mov r3, #2
strh r1, [r5, #2]
ldrsh r0, [r5, r0]
add r0, r0, #1
lsr r2, r0, #0x1f
lsl r1, r0, #0x1e
sub r1, r1, r2
mov r0, #0x1e
ror r1, r0
add r0, r2, r1
strh r0, [r5]
add r0, r5, #0
add r1, r6, #0
add r2, r7, #0
bl ov43_0222BC78
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0222BE96:
mov r0, #0
ldrsh r1, [r5, r0]
strh r1, [r5, #2]
ldrsh r1, [r5, r0]
sub r1, r1, #1
strh r1, [r5]
ldrsh r0, [r5, r0]
cmp r0, #0
bge _0222BEAC
add r0, r0, #4
strh r0, [r5]
_0222BEAC:
add r0, r5, #0
add r1, r6, #0
add r2, r7, #0
mov r3, #1
bl ov43_0222BC78
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0222BEBC:
cmp r4, #1
bne _0222BED8
ldr r0, _0222BEE8 ; =0x000005E5
bl PlaySE
mov r2, #4
add r0, r5, #0
ldrsh r2, [r5, r2]
add r0, #8
add r1, r7, #0
bl ov43_0222C844
ldr r0, [sp, #8]
strh r0, [r5, #6]
_0222BED8:
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
_0222BEE0: .word gMain
_0222BEE4: .word 0x00000CF3
_0222BEE8: .word 0x000005E5
thumb_func_end ov43_0222BD18
thumb_func_start ov43_0222BEEC
ov43_0222BEEC: ; 0x0222BEEC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, _0222BF9C ; =0x0222EF60
add r7, r1, #0
add r4, r2, #0
add r6, r3, #0
bl sub_0202529C
mov r1, #0
mvn r1, r1
cmp r0, r1
bne _0222BF08
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0222BF08:
cmp r0, #8
bhi _0222BF34
mov r1, #1
str r1, [r6]
strh r0, [r5, #4]
ldr r0, _0222BFA0 ; =0x000005E5
bl PlaySE
mov r2, #4
add r0, r5, #0
ldrsh r2, [r5, r2]
add r0, #8
add r1, r4, #0
bl ov43_0222C844
add r0, r5, #0
add r1, r7, #0
add r2, r4, #0
mov r3, #5
bl ov43_0222BC78
pop {r3, r4, r5, r6, r7, pc}
_0222BF34:
cmp r0, #9
beq _0222BF4C
cmp r0, #0xa
bne _0222BF40
mov r1, #1
b _0222BF4C
_0222BF40:
mov r1, #0
ldrsh r1, [r5, r1]
sub r0, #0xb
sub r0, r0, r1
lsl r0, r0, #0x18
asr r1, r0, #0x18
_0222BF4C:
cmp r1, #0
bne _0222BF54
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0222BF54:
mov r0, #1
str r0, [r6]
mov r0, #0
ldrsh r2, [r5, r0]
strh r2, [r5, #2]
ldrsh r2, [r5, r0]
add r2, r2, r1
strh r2, [r5]
cmp r1, #0
ldrsh r0, [r5, r0]
blt _0222BF86
lsr r2, r0, #0x1f
lsl r1, r0, #0x1e
sub r1, r1, r2
mov r0, #0x1e
ror r1, r0
add r0, r2, r1
strh r0, [r5]
add r0, r5, #0
add r1, r7, #0
add r2, r4, #0
mov r3, #2
bl ov43_0222BC78
pop {r3, r4, r5, r6, r7, pc}
_0222BF86:
cmp r0, #0
bge _0222BF8E
add r0, r0, #4
strh r0, [r5]
_0222BF8E:
add r0, r5, #0
add r1, r7, #0
add r2, r4, #0
mov r3, #1
bl ov43_0222BC78
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0222BF9C: .word 0x0222EF60
_0222BFA0: .word 0x000005E5
thumb_func_end ov43_0222BEEC
thumb_func_start ov43_0222BFA4
ov43_0222BFA4: ; 0x0222BFA4
push {r3, r4, r5, r6, lr}
sub sp, #4
mov r3, #0
str r3, [sp]
add r3, sp, #0
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
bl ov43_0222BEEC
ldr r1, [sp]
cmp r1, #0
beq _0222BFC6
mov r1, #1
add sp, #4
str r1, [r4]
pop {r3, r4, r5, r6, pc}
_0222BFC6:
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl ov43_0222BD18
add sp, #4
pop {r3, r4, r5, r6, pc}
thumb_func_end ov43_0222BFA4
thumb_func_start ov43_0222BFD4
ov43_0222BFD4: ; 0x0222BFD4
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
add r0, #0xb2
ldrh r0, [r0]
add r4, r2, #0
cmp r0, #2
bne _0222BFE8
mov r2, #2
b _0222BFEA
_0222BFE8:
mov r2, #1
_0222BFEA:
mov r0, #4
ldrsh r0, [r5, r0]
str r0, [sp]
str r2, [sp, #4]
str r3, [sp, #8]
mov r3, #0
ldrsh r3, [r5, r3]
add r0, r5, #0
add r2, r4, #0
bl ov43_0222C378
add r5, #8
add r0, r5, #0
add r1, r4, #0
mov r2, #0xa
bl ov43_0222C844
add r0, r4, #0
mov r1, #0
bl ov43_0222AD20
ldr r0, _0222C020 ; =0x000005E1
bl PlaySE
add sp, #0xc
pop {r4, r5, pc}
nop
_0222C020: .word 0x000005E1
thumb_func_end ov43_0222BFD4
thumb_func_start ov43_0222C024
ov43_0222C024: ; 0x0222C024
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r0, #0
mov r0, #0xb0
ldrsh r0, [r5, r0]
str r1, [sp, #0xc]
add r4, r2, #0
add r6, r3, #0
cmp r0, #8
blt _0222C0B4
mov r2, #0
ldr r0, [r4]
mov r1, #2
add r3, r2, #0
bl sub_0201F238
mov r2, #0
ldr r0, [r4]
mov r1, #3
add r3, r2, #0
bl sub_0201F238
ldr r3, _0222C140 ; =0x0222F0FC
add r2, sp, #0x10
add r7, r2, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
add r0, r4, #0
add r0, #8
add r1, r7, #0
bl sub_02025C88
add r0, r5, #0
add r0, #0xb2
ldrh r0, [r0]
cmp r0, #2
bne _0222C076
mov r2, #2
b _0222C078
_0222C076:
mov r2, #1
_0222C078:
mov r0, #0x38
add r1, r5, #0
mul r0, r2
mov r2, #2
add r1, #8
lsl r2, r2, #8
add r0, r1, r0
add r1, r4, #0
add r2, r4, r2
bl ov43_0222C9A4
mov r0, #4
ldrsh r0, [r5, r0]
mov r3, #0
ldr r1, [sp, #0xc]
str r0, [sp]
str r3, [sp, #4]
str r6, [sp, #8]
ldrsh r3, [r5, r3]
add r0, r5, #0
add r2, r4, #0
bl ov43_0222C378
add r0, r4, #0
mov r1, #1
bl ov43_0222AD20
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0222C0B4:
lsl r1, r0, #8
asr r0, r1, #2
lsr r0, r0, #0x1d
add r0, r1, r0
asr r6, r0, #3
add r0, r5, #0
add r0, #0xb2
ldrh r0, [r0]
cmp r0, #2
bne _0222C0CA
neg r6, r6
_0222C0CA:
ldr r0, [r4]
mov r1, #2
mov r2, #0
add r3, r6, #0
bl sub_0201F238
ldr r0, [r4]
mov r1, #3
mov r2, #0
add r3, r6, #0
bl sub_0201F238
ldr r3, _0222C140 ; =0x0222F0FC
add r2, sp, #0x10
add r7, r2, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r1, [sp, #0x10]
lsl r0, r6, #0xc
add r0, r1, r0
str r0, [sp, #0x10]
add r0, r4, #0
add r0, #8
add r1, r7, #0
bl sub_02025C88
mov r0, #0xb0
ldrsh r3, [r5, r0]
mov r0, #0x1f
lsr r2, r3, #0x1f
lsl r1, r3, #0x1f
sub r1, r1, r2
ror r1, r0
add r0, r2, r1
beq _0222C130
add r2, r3, r2
asr r0, r2, #1
lsl r1, r0, #2
ldr r0, _0222C144 ; =0x0222F0EC
ldr r6, [r0, r1]
cmp r6, #0
beq _0222C130
mov r2, #0
mov r3, #2
ldrsh r2, [r5, r2]
ldrsh r3, [r5, r3]
add r0, r5, #0
add r1, r4, #0
blx r6
_0222C130:
mov r0, #0xb0
ldrsh r0, [r5, r0]
add r5, #0xb0
add r0, r0, #1
strh r0, [r5]
mov r0, #0
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0222C140: .word 0x0222F0FC
_0222C144: .word 0x0222F0EC
thumb_func_end ov43_0222C024
thumb_func_start ov43_0222C148
ov43_0222C148: ; 0x0222C148
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x40
add r5, r1, #0
add r6, r0, #0
ldr r0, [r5, #4]
add r4, r2, #0
str r3, [sp, #0x18]
bl sub_0202C6F4
str r0, [sp, #0x1c]
add r0, r6, #0
bl ov43_0222C620
str r0, [sp, #0x20]
add r7, r5, #0
ldr r1, [sp, #0x20]
add r7, #0x18
ldrb r1, [r7, r1]
ldr r0, [sp, #0x1c]
mov r2, #8
bl sub_0202C090
str r0, [sp, #0x24]
add r0, sp, #0x28
mov r1, #0
mov r2, #0x18
bl MI_CpuFill8
ldr r1, _0222C220 ; =0x0222ED9C
add r0, sp, #0x28
ldrh r2, [r1, #4]
strh r2, [r0]
ldrh r2, [r1, #6]
strh r2, [r0, #2]
ldrh r2, [r1, #8]
strh r2, [r0, #4]
ldrh r2, [r1, #0xa]
strh r2, [r0, #6]
ldrh r2, [r1, #0xc]
ldrh r1, [r1, #0xe]
strh r2, [r0, #8]
strh r1, [r0, #0xa]
ldr r0, [sp, #0x24]
cmp r0, #2
bne _0222C1AC
add r0, r6, #0
add r0, #0xe8
ldr r0, [r0]
str r0, [sp, #0x34]
b _0222C1B4
_0222C1AC:
add r0, r6, #0
add r0, #0xe4
ldr r0, [r0]
str r0, [sp, #0x34]
_0222C1B4:
ldr r0, [r4]
mov r1, #4
str r0, [sp, #0x38]
add r0, sp, #0x28
strb r1, [r0, #0x14]
mov r0, #5
str r0, [sp]
mov r0, #0x11
str r0, [sp, #4]
mov r1, #0
ldr r0, _0222C224 ; =ov43_0222C630
str r1, [sp, #8]
str r0, [sp, #0xc]
str r1, [sp, #0x10]
mov r0, #1
str r0, [sp, #0x14]
ldr r2, [r5]
ldr r0, [r4, #0x5c]
lsl r2, r2, #0x18
add r1, sp, #0x28
lsr r2, r2, #0x18
mov r3, #0xd
bl sub_02018648
add r1, r6, #0
add r1, #0xec
str r0, [r1]
ldr r2, [sp, #0x20]
ldr r1, [r5, #4]
ldrb r2, [r7, r2]
ldr r3, [sp, #0x18]
add r0, r4, #0
bl ov43_0222AB20
ldr r3, [sp, #0x18]
add r0, r6, #0
add r1, r4, #0
mov r2, #0xc
bl ov43_0222C550
add r0, r4, #0
mov r1, #0
bl ov43_0222AD00
mov r0, #1
str r0, [sp]
mov r0, #4
mov r1, #8
mov r2, #0
mov r3, #0x3d
bl sub_0200B484
add sp, #0x40
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0222C220: .word 0x0222ED9C
_0222C224: .word ov43_0222C630
thumb_func_end ov43_0222C148
thumb_func_start ov43_0222C228
ov43_0222C228: ; 0x0222C228
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r7, r1, #0
add r6, r2, #0
bl ov43_0222C5D8
cmp r0, #0
bne _0222C23C
mov r0, #6
pop {r3, r4, r5, r6, r7, pc}
_0222C23C:
add r0, r5, #0
add r0, #0xec
ldr r0, [r0]
bl sub_020186A4
add r4, r0, #0
cmp r4, #3
beq _0222C25E
mov r0, #1
mvn r0, r0
cmp r4, r0
beq _0222C25E
add r0, r0, #1
cmp r4, r0
bne _0222C268
mov r0, #6
pop {r3, r4, r5, r6, r7, pc}
_0222C25E:
add r0, r6, #0
mov r1, #1
bl ov43_0222AD00
mov r4, #2
_0222C268:
add r0, r5, #0
bl ov43_0222C600
add r0, r5, #0
add r0, #0xec
ldr r0, [r0]
bl sub_02018674
str r0, [r7]
add r0, r5, #0
add r0, #0xec
ldr r0, [r0]
bl sub_02018680
cmp r4, #2
bne _0222C2A0
add r0, r6, #0
mov r1, #1
bl ov43_0222AD00
mov r2, #4
add r0, r5, #0
ldrsh r2, [r5, r2]
add r0, #8
add r1, r6, #0
mov r3, #0
bl ov43_0222C890
_0222C2A0:
mov r0, #0
mov r1, #0x3d
mov r2, #1
bl SetBrightness
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov43_0222C228
thumb_func_start ov43_0222C2B0
ov43_0222C2B0: ; 0x0222C2B0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r1, #0
str r0, [sp]
ldr r0, [r5, #4]
add r4, r2, #0
str r3, [sp, #4]
bl sub_0202C6F4
str r0, [sp, #0x1c]
ldr r0, [sp]
bl ov43_0222C620
add r6, r5, #0
add r7, r0, #0
add r6, #0x18
ldrb r1, [r6, r7]
ldr r0, [sp, #0x1c]
bl sub_0202C23C
bl sub_020A0264
str r1, [sp, #0x10]
str r0, [sp, #0x14]
ldr r0, [sp, #0x10]
mov r2, #0
eor r0, r2
ldr r2, [sp, #0x14]
mov r1, #0
eor r1, r2
orr r0, r1
beq _0222C2F6
mov r0, #0x3c
str r0, [sp, #8]
b _0222C2FA
_0222C2F6:
mov r0, #0x42
str r0, [sp, #8]
_0222C2FA:
ldr r0, _0222C328 ; =0x000005DD
bl PlaySE
ldr r1, [sp, #0x14]
ldr r2, [sp, #0x10]
add r0, r4, #0
bl ov43_0222AAA4
ldrb r2, [r6, r7]
ldr r1, [r5, #4]
ldr r3, [sp, #4]
add r0, r4, #0
bl ov43_0222AB20
ldr r0, [sp]
ldr r2, [sp, #8]
ldr r3, [sp, #4]
add r1, r4, #0
bl ov43_0222C550
mov r0, #1
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0222C328: .word 0x000005DD
thumb_func_end ov43_0222C2B0
thumb_func_start ov43_0222C32C
ov43_0222C32C: ; 0x0222C32C
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r1, #0
add r4, r2, #0
add r6, r3, #0
bl ov43_0222C620
add r2, r0, #0
add r2, r5, r2
ldrb r2, [r2, #0x18]
ldr r1, [r5, #4]
add r0, r4, #0
add r3, r6, #0
bl ov43_0222AB20
add r0, r7, #0
add r1, r4, #0
mov r2, #0x39
add r3, r6, #0
bl ov43_0222C550
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov43_0222C32C
thumb_func_start ov43_0222C358
ov43_0222C358: ; 0x0222C358
push {r3, r4, r5, lr}
add r5, r1, #0
add r4, r2, #0
bl ov43_0222C5D8
cmp r0, #0
bne _0222C36A
mov r0, #0
pop {r3, r4, r5, pc}
_0222C36A:
add r0, r5, #0
add r1, r4, #0
mov r2, #1
bl ov43_0222ADB8
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end ov43_0222C358
thumb_func_start ov43_0222C378
ov43_0222C378: ; 0x0222C378
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
str r1, [sp, #0x10]
ldr r1, [sp, #0x34]
add r5, r0, #0
add r6, r2, #0
add r7, r3, #0
cmp r1, #0
bne _0222C398
ldr r1, [sp, #0x30]
strh r7, [r5]
strh r1, [r5, #4]
add r1, r6, #0
add r2, r7, #0
bl ov43_0222C3E8
_0222C398:
ldr r1, [sp, #0x34]
add r4, r5, #0
mov r0, #0x38
mul r0, r1
mov r2, #2
lsl r2, r2, #8
add r4, #8
str r0, [sp, #0x14]
add r0, r4, r0
add r1, r6, #0
add r2, r6, r2
bl ov43_0222C7F8
mov r0, #2
lsl r0, r0, #8
add r0, r6, r0
str r0, [sp]
ldr r0, [sp, #0x10]
add r5, #0xb4
add r0, #0x10
str r0, [sp, #4]
ldr r0, [sp, #0x38]
str r7, [sp, #8]
str r0, [sp, #0xc]
ldr r0, [sp, #0x14]
ldr r1, [sp, #0x10]
ldr r3, [r5]
add r0, r4, r0
add r2, r6, #0
bl ov43_0222C918
ldr r0, [sp, #0x14]
ldr r2, [sp, #0x30]
add r0, r4, r0
add r1, r6, #0
bl ov43_0222C844
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov43_0222C378
thumb_func_start ov43_0222C3E8
ov43_0222C3E8: ; 0x0222C3E8
push {r4, r5, lr}
sub sp, #0x1c
mov r0, #0x83
add r5, r1, #0
lsl r0, r0, #2
ldr r0, [r5, r0]
add r4, r2, #0
mov r2, #0x10
add r1, r0, #0
str r2, [sp]
mov r3, #4
str r3, [sp, #4]
add r1, #0xc
str r1, [sp, #8]
mov r1, #0
str r1, [sp, #0xc]
str r3, [sp, #0x10]
ldrh r3, [r0]
lsl r3, r3, #0x15
lsr r3, r3, #0x18
str r3, [sp, #0x14]
ldrh r0, [r0, #2]
add r3, r1, #0
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #0x18]
ldr r0, [r5]
bl sub_0201C4EC
mov r0, #0x83
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #4
str r1, [sp]
str r1, [sp, #4]
add r1, r0, #0
add r1, #0xc
lsl r2, r4, #2
str r1, [sp, #8]
lsl r1, r2, #0x18
lsr r1, r1, #0x18
str r1, [sp, #0xc]
mov r1, #8
str r1, [sp, #0x10]
ldrh r1, [r0]
add r2, #0x10
lsl r2, r2, #0x18
lsl r1, r1, #0x15
lsr r1, r1, #0x18
str r1, [sp, #0x14]
ldrh r0, [r0, #2]
mov r1, #0
lsr r2, r2, #0x18
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #0x18]
ldr r0, [r5]
add r3, r1, #0
bl sub_0201C4EC
ldr r0, [r5]
mov r1, #0
bl ScheduleBgTilemapBufferTransfer
add sp, #0x1c
pop {r4, r5, pc}
thumb_func_end ov43_0222C3E8
thumb_func_start ov43_0222C46C
ov43_0222C46C: ; 0x0222C46C
push {r3, r4, lr}
sub sp, #0x1c
mov r0, #0x83
add r4, r1, #0
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #4
str r1, [sp]
lsl r2, r3, #2
str r1, [sp, #4]
add r1, r0, #0
add r1, #0xc
add r2, #0x10
str r1, [sp, #8]
lsl r1, r2, #0x18
lsr r2, r1, #0x18
str r2, [sp, #0xc]
mov r1, #8
str r1, [sp, #0x10]
ldrh r1, [r0]
lsl r1, r1, #0x15
lsr r1, r1, #0x18
str r1, [sp, #0x14]
ldrh r0, [r0, #2]
mov r1, #0
add r3, r1, #0
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #0x18]
ldr r0, [r4]
bl sub_0201C4EC
ldr r0, [r4]
mov r1, #0
bl ScheduleBgTilemapBufferTransfer
add sp, #0x1c
pop {r3, r4, pc}
thumb_func_end ov43_0222C46C
thumb_func_start ov43_0222C4B8
ov43_0222C4B8: ; 0x0222C4B8
push {r4, r5, lr}
sub sp, #0x1c
mov r0, #0x83
add r5, r1, #0
lsl r0, r0, #2
ldr r0, [r5, r0]
add r4, r2, #0
mov r2, #0x10
add r1, r0, #0
str r2, [sp]
mov r3, #4
str r3, [sp, #4]
add r1, #0xc
str r1, [sp, #8]
mov r1, #0
str r1, [sp, #0xc]
str r3, [sp, #0x10]
ldrh r3, [r0]
lsl r3, r3, #0x15
lsr r3, r3, #0x18
str r3, [sp, #0x14]
ldrh r0, [r0, #2]
add r3, r1, #0
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #0x18]
ldr r0, [r5]
bl sub_0201C4EC
mov r0, #0x83
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #4
str r1, [sp]
str r1, [sp, #4]
add r1, r0, #0
add r1, #0xc
lsl r2, r4, #2
str r1, [sp, #8]
lsl r1, r2, #0x18
lsr r1, r1, #0x18
str r1, [sp, #0xc]
mov r1, #8
str r1, [sp, #0x10]
ldrh r1, [r0]
add r2, #0x10
lsl r2, r2, #0x18
lsl r1, r1, #0x15
lsr r1, r1, #0x18
str r1, [sp, #0x14]
ldrh r0, [r0, #2]
mov r1, #0
lsr r2, r2, #0x18
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #0x18]
ldr r0, [r5]
add r3, r1, #0
bl sub_0201C4EC
ldr r0, [r5]
mov r1, #0
bl ScheduleBgTilemapBufferTransfer
add sp, #0x1c
pop {r4, r5, pc}
thumb_func_end ov43_0222C4B8
thumb_func_start ov43_0222C53C
ov43_0222C53C: ; 0x0222C53C
mov r3, #3
strb r3, [r1, #8]
add r1, r0, #0
add r1, #0xb2
strh r2, [r1]
mov r1, #0
add r0, #0xb0
strh r1, [r0]
bx lr
.balign 4, 0
thumb_func_end ov43_0222C53C
thumb_func_start ov43_0222C550
ov43_0222C550: ; 0x0222C550
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
add r4, r1, #0
add r6, r3, #0
add r0, #0xc8
mov r1, #0xf
add r7, r2, #0
bl FillWindowPixelBuffer
mov r0, #0x80
add r1, r6, #0
bl String_ctor
add r6, r0, #0
ldr r0, [r4, #0x54]
add r1, r7, #0
add r2, r6, #0
bl ReadMsgDataIntoString
add r1, r5, #0
add r1, #0xd8
ldr r0, [r4, #0x50]
ldr r1, [r1]
add r2, r6, #0
bl StringExpandPlaceholders
mov r0, #1
bl sub_02002B8C
mov r3, #0
add r0, r5, #0
add r2, r5, #0
str r3, [sp]
add r0, #0xe0
ldr r0, [r0]
add r2, #0xd8
str r0, [sp, #4]
ldr r0, _0222C5D4 ; =0x00010200
mov r1, #1
str r0, [sp, #8]
str r3, [sp, #0xc]
add r0, r5, #0
ldr r2, [r2]
add r0, #0xc8
bl AddTextPrinterParameterized2
add r1, r5, #0
add r1, #0xdc
str r0, [r1]
add r0, r5, #0
add r0, #0xc8
mov r1, #1
mov r2, #0x46
mov r3, #0xc
bl DrawFrameAndWindow2
add r5, #0xc8
add r0, r5, #0
bl sub_0201D5C8
add r0, r6, #0
bl String_dtor
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0222C5D4: .word 0x00010200
thumb_func_end ov43_0222C550
thumb_func_start ov43_0222C5D8
ov43_0222C5D8: ; 0x0222C5D8
push {r4, lr}
add r0, #0xdc
ldr r0, [r0]
add r4, r1, #0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_02020094
cmp r0, #0
bne _0222C5FC
mov r0, #0
bl sub_02002B8C
bl sub_02002C04
str r0, [r4]
mov r0, #1
pop {r4, pc}
_0222C5FC:
mov r0, #0
pop {r4, pc}
thumb_func_end ov43_0222C5D8
thumb_func_start ov43_0222C600
ov43_0222C600: ; 0x0222C600
push {r4, lr}
add r4, r0, #0
add r0, #0xc8
mov r1, #1
bl ClearFrameAndWindow2
add r0, r4, #0
add r0, #0xc8
bl sub_0201D8E4
add r4, #0xb8
add r0, r4, #0
bl sub_0201D5C8
pop {r4, pc}
.balign 4, 0
thumb_func_end ov43_0222C600
thumb_func_start ov43_0222C620
ov43_0222C620: ; 0x0222C620
mov r1, #0
ldrsh r1, [r0, r1]
lsl r2, r1, #3
mov r1, #4
ldrsh r0, [r0, r1]
add r0, r2, r0
bx lr
.balign 4, 0
thumb_func_end ov43_0222C620
thumb_func_start ov43_0222C630
ov43_0222C630: ; 0x0222C630
push {r3, lr}
cmp r3, #1
bne _0222C63E
ldr r0, _0222C658 ; =0x000005DC
bl PlaySE
pop {r3, pc}
_0222C63E:
cmp r3, #2
bne _0222C64A
ldr r0, _0222C658 ; =0x000005DC
bl PlaySE
pop {r3, pc}
_0222C64A:
cmp r3, #3
bne _0222C654
ldr r0, _0222C658 ; =0x000005DC
bl PlaySE
_0222C654:
pop {r3, pc}
nop
_0222C658: .word 0x000005DC
thumb_func_end ov43_0222C630
thumb_func_start ov43_0222C65C
ov43_0222C65C: ; 0x0222C65C
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
add r0, #0xf8
add r4, r1, #0
ldr r0, [r0]
mov r1, #1
bl sub_02024830
add r0, r4, #0
mov r1, #0
mov r2, #0xff
bl ov43_0222AD74
add r0, r5, #0
add r0, #0xf8
ldr r0, [r0]
mov r1, #4
bl sub_020248F0
add r0, r5, #0
mov r1, #0
add r0, #0xfc
str r1, [r0]
add r0, r5, #0
add r0, #0xf8
ldr r0, [r0]
mov r1, #1
bl sub_0202484C
mov r0, #4
ldrsh r1, [r5, r0]
mov r0, #0xa
add r5, #0xf8
add r3, r1, #0
mul r3, r0
ldr r0, _0222C700 ; =0x0222EFA0
ldrsh r0, [r0, r3]
lsl r2, r0, #3
ldr r0, _0222C704 ; =0x0222EFA2
str r2, [sp]
ldrsh r0, [r0, r3]
lsl r1, r0, #3
add r1, #0xfc
lsl r0, r2, #0xc
str r0, [sp]
str r1, [sp, #4]
lsl r0, r1, #0xc
str r0, [sp, #4]
ldr r0, [r5]
add r1, sp, #0
bl sub_020247D4
ldr r1, _0222C708 ; =0x0400004A
ldr r0, _0222C70C ; =0xFFFFC0FF
ldrh r2, [r1]
and r2, r0
mov r0, #7
lsl r0, r0, #8
orr r2, r0
strh r2, [r1]
ldrh r3, [r1]
mov r2, #0x3f
sub r0, #0xd8
bic r3, r2
mov r2, #0x1f
orr r3, r2
mov r2, #0x20
orr r3, r2
strh r3, [r1]
lsl r4, r2, #0x15
ldr r3, [r4]
ldr r1, _0222C710 ; =0xFFFF1FFF
and r3, r1
lsl r1, r2, #0xa
orr r1, r3
str r1, [r4]
bl PlaySE
add sp, #0xc
pop {r4, r5, pc}
nop
_0222C700: .word 0x0222EFA0
_0222C704: .word 0x0222EFA2
_0222C708: .word 0x0400004A
_0222C70C: .word 0xFFFFC0FF
_0222C710: .word 0xFFFF1FFF
thumb_func_end ov43_0222C65C
thumb_func_start ov43_0222C714
ov43_0222C714: ; 0x0222C714
push {r4, lr}
add r4, r0, #0
add r0, #0xf8
ldr r0, [r0]
bl sub_02024B68
cmp r0, #0
bne _0222C728
mov r0, #1
pop {r4, pc}
_0222C728:
add r0, r4, #0
add r0, #0xf8
ldr r0, [r0]
bl sub_020249F8
add r1, r4, #0
add r1, #0xfc
ldr r1, [r1]
sub r1, r0, r1
cmp r1, #2
blo _0222C748
add r4, #0xfc
str r0, [r4]
ldr r0, _0222C74C ; =0x00000628
bl PlaySE
_0222C748:
mov r0, #0
pop {r4, pc}
.balign 4, 0
_0222C74C: .word 0x00000628
thumb_func_end ov43_0222C714
thumb_func_start ov43_0222C750
ov43_0222C750: ; 0x0222C750
push {r3, r4, r5, lr}
mov r2, #1
lsl r2, r2, #0x1a
add r5, r0, #0
add r4, r1, #0
ldr r1, [r2]
ldr r0, _0222C784 ; =0xFFFF1FFF
and r0, r1
str r0, [r2]
add r0, r5, #0
add r0, #0xf8
ldr r0, [r0]
mov r1, #0
bl sub_02024830
add r5, #0xf8
ldr r0, [r5]
mov r1, #0
bl sub_0202484C
add r0, r4, #0
mov r1, #1
mov r2, #0xff
bl ov43_0222AD74
pop {r3, r4, r5, pc}
.balign 4, 0
_0222C784: .word 0xFFFF1FFF
thumb_func_end ov43_0222C750
thumb_func_start ov43_0222C788
ov43_0222C788: ; 0x0222C788
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r4, r2, #0
add r5, r0, #0
ldrh r0, [r4]
add r6, r1, #0
add r7, r3, #0
strh r0, [r5]
ldrh r0, [r4, #2]
strh r0, [r5, #2]
ldrh r0, [r4, #4]
strh r0, [r5, #4]
add r0, r5, #0
add r0, #8
bl InitWindow
mov r0, #2
ldrsh r1, [r4, r0]
cmp r1, #0
bge _0222C7B2
neg r1, r1
_0222C7B2:
mov r0, #0
ldrsh r3, [r4, r0]
cmp r3, #0
bge _0222C7BC
neg r3, r3
_0222C7BC:
add r0, r1, #4
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x1a
str r0, [sp, #4]
mov r0, #0x11
str r0, [sp, #8]
mov r0, #0xb
str r0, [sp, #0xc]
lsl r0, r7, #0x10
lsr r0, r0, #0x10
add r3, r3, #4
str r0, [sp, #0x10]
add r5, #8
lsl r3, r3, #0x18
ldr r0, [r6]
add r1, r5, #0
mov r2, #3
lsr r3, r3, #0x18
bl AddWindowParameterized
add sp, #0x14
pop {r4, r5, r6, r7, pc}
thumb_func_end ov43_0222C788
thumb_func_start ov43_0222C7EC
ov43_0222C7EC: ; 0x0222C7EC
ldr r3, _0222C7F4 ; =RemoveWindow
add r0, #8
bx r3
nop
_0222C7F4: .word RemoveWindow
thumb_func_end ov43_0222C7EC
thumb_func_start ov43_0222C7F8
ov43_0222C7F8: ; 0x0222C7F8
push {r4, r5, lr}
sub sp, #0xc
add r4, r1, #0
mov r1, #2
ldrsh r5, [r0, r1]
cmp r5, #0
bge _0222C808
neg r5, r5
_0222C808:
mov r1, #0
ldrsh r3, [r0, r1]
cmp r3, #0
bge _0222C812
neg r3, r3
_0222C812:
lsl r0, r5, #0x18
ldr r2, [r2, #8]
lsr r0, r0, #0x18
str r0, [sp]
ldrh r0, [r2]
lsl r3, r3, #0x18
mov r1, #2
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #4]
ldrh r0, [r2, #2]
add r2, #0xc
lsr r3, r3, #0x18
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #8]
ldr r0, [r4]
bl sub_0201C4C4
ldr r0, [r4]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
add sp, #0xc
pop {r4, r5, pc}
thumb_func_end ov43_0222C7F8
thumb_func_start ov43_0222C844
ov43_0222C844: ; 0x0222C844
push {r4, lr}
add r4, r1, #0
cmp r2, #0xa
bne _0222C858
add r0, r4, #0
mov r1, #0
mov r2, #0xff
bl ov43_0222AD74
pop {r4, pc}
_0222C858:
ldr r1, _0222C88C ; =0x0222EFA0
mov r0, #0xa
add r3, r2, #0
mul r3, r0
add r2, r1, r3
ldrsh r1, [r1, r3]
mov r3, #2
ldrsh r2, [r2, r3]
mov r0, #0x7f
lsl r0, r0, #2
add r1, r1, #7
add r2, r2, #2
lsl r1, r1, #0x13
lsl r2, r2, #0x13
ldr r0, [r4, r0]
asr r1, r1, #0x10
asr r2, r2, #0x10
bl sub_0200DD88
add r0, r4, #0
mov r1, #1
mov r2, #0xff
bl ov43_0222AD74
pop {r4, pc}
nop
_0222C88C: .word 0x0222EFA0
thumb_func_end ov43_0222C844
thumb_func_start ov43_0222C890
ov43_0222C890: ; 0x0222C890
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
ldr r5, _0222C914 ; =0x0222EFA0
add r7, r0, #0
str r1, [sp, #0xc]
str r2, [sp, #0x10]
str r3, [sp, #0x14]
mov r4, #0
_0222C8A0:
ldr r0, [sp, #0x14]
cmp r0, #1
bne _0222C8B0
ldr r0, [sp, #0x10]
cmp r0, r4
bne _0222C8B0
ldrb r0, [r5, #8]
b _0222C8B2
_0222C8B0:
ldrb r0, [r5, #7]
_0222C8B2:
mov r1, #2
ldrsh r3, [r7, r1]
cmp r3, #0
bge _0222C8BC
neg r3, r3
_0222C8BC:
mov r1, #0
ldrsh r2, [r7, r1]
cmp r2, #0
bge _0222C8C6
neg r2, r2
_0222C8C6:
ldrb r1, [r5, #4]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r1, [sp]
ldrb r1, [r5, #5]
mov r6, #0
str r1, [sp, #4]
str r0, [sp, #8]
ldrsh r6, [r5, r6]
ldr r0, [sp, #0xc]
ldrb r1, [r5, #6]
add r2, r6, r2
mov r6, #2
ldrsh r6, [r5, r6]
lsl r2, r2, #0x18
ldr r0, [r0]
add r3, r6, r3
lsl r3, r3, #0x18
lsr r2, r2, #0x18
lsr r3, r3, #0x18
bl sub_0201CA4C
add r4, r4, #1
add r5, #0xa
cmp r4, #9
blt _0222C8A0
ldr r0, [sp, #0xc]
mov r1, #2
ldr r0, [r0]
bl ScheduleBgTilemapBufferTransfer
ldr r0, [sp, #0xc]
mov r1, #0
ldr r0, [r0]
bl ScheduleBgTilemapBufferTransfer
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_0222C914: .word 0x0222EFA0
thumb_func_end ov43_0222C890
thumb_func_start ov43_0222C918
ov43_0222C918: ; 0x0222C918
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r6, r0, #0
ldr r0, [sp, #0x30]
add r7, r2, #0
str r0, [sp, #0x30]
ldr r0, [sp, #0x34]
str r3, [sp, #0x10]
str r0, [sp, #0x34]
ldr r0, [sp, #0x3c]
str r0, [sp, #0x3c]
ldr r0, [r1, #4]
bl sub_0202C6F4
str r0, [sp, #0x14]
add r0, r6, #0
add r0, #8
mov r1, #0
bl FillWindowPixelBuffer
add r0, r6, #0
add r1, r7, #0
bl ov43_0222CA30
ldr r0, [sp, #0x38]
ldr r1, [sp, #0x34]
lsl r0, r0, #3
str r0, [sp, #0x18]
mov r4, #0
add r5, r1, r0
_0222C954:
ldr r0, [sp, #0x34]
ldr r1, [r0]
ldr r0, [sp, #0x18]
add r0, r0, r4
cmp r1, r0
bls _0222C97C
ldr r0, [sp, #0x14]
str r4, [sp]
str r0, [sp, #4]
ldrb r0, [r5, #8]
ldr r1, [sp, #0x10]
ldr r3, [sp, #0x30]
str r0, [sp, #8]
ldr r0, [sp, #0x3c]
add r2, r7, #0
str r0, [sp, #0xc]
add r0, r6, #0
bl ov43_0222CA50
b _0222C988
_0222C97C:
ldr r2, [sp, #0x30]
add r0, r6, #0
add r1, r7, #0
add r3, r4, #0
bl ov43_0222CB34
_0222C988:
add r4, r4, #1
add r5, r5, #1
cmp r4, #8
blt _0222C954
ldr r0, [r7]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
add r6, #8
add r0, r6, #0
bl sub_0201D5C8
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
thumb_func_end ov43_0222C918
thumb_func_start ov43_0222C9A4
ov43_0222C9A4: ; 0x0222C9A4
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
add r4, r1, #0
bl ov43_0222CA30
add r0, r5, #0
add r0, #8
bl sub_0201D8E4
mov r0, #2
ldrsh r1, [r5, r0]
cmp r1, #0
bge _0222C9C2
neg r1, r1
_0222C9C2:
mov r0, #0
ldrsh r3, [r5, r0]
cmp r3, #0
bge _0222C9CC
neg r3, r3
_0222C9CC:
lsl r0, r1, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldrb r0, [r5, #4]
lsl r3, r3, #0x18
mov r2, #0
str r0, [sp, #4]
ldrb r0, [r5, #5]
mov r1, #2
lsr r3, r3, #0x18
str r0, [sp, #8]
str r2, [sp, #0xc]
ldr r0, [r4]
bl FillBgTilemapRect
ldr r0, [r4]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
mov r0, #2
ldrsh r1, [r5, r0]
cmp r1, #0
bge _0222C9FC
neg r1, r1
_0222C9FC:
mov r0, #0
ldrsh r3, [r5, r0]
cmp r3, #0
bge _0222CA06
neg r3, r3
_0222CA06:
lsl r0, r1, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldrb r0, [r5, #4]
lsl r3, r3, #0x18
mov r2, #0
str r0, [sp, #4]
ldrb r0, [r5, #5]
mov r1, #3
lsr r3, r3, #0x18
str r0, [sp, #8]
str r2, [sp, #0xc]
ldr r0, [r4]
bl FillBgTilemapRect
ldr r0, [r4]
mov r1, #3
bl ScheduleBgTilemapBufferTransfer
add sp, #0x10
pop {r3, r4, r5, pc}
thumb_func_end ov43_0222C9A4
thumb_func_start ov43_0222CA30
ov43_0222CA30: ; 0x0222CA30
push {r4, r5, r6, lr}
mov r4, #0
add r5, r0, #0
add r6, r4, #0
_0222CA38:
ldr r0, [r5, #0x18]
cmp r0, #0
beq _0222CA44
bl ov42_0222740C
str r6, [r5, #0x18]
_0222CA44:
add r4, r4, #1
add r5, r5, #4
cmp r4, #8
blt _0222CA38
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov43_0222CA30
thumb_func_start ov43_0222CA50
ov43_0222CA50: ; 0x0222CA50
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
add r5, r0, #0
ldr r0, [sp, #0x48]
add r6, r2, #0
str r0, [sp, #0x18]
str r1, [sp, #0x10]
ldr r0, [sp, #0x44]
ldr r1, [sp, #0x18]
mov r2, #7
str r3, [sp, #0x14]
ldr r4, [sp, #0x40]
bl sub_0202C090
str r0, [sp, #0x1c]
ldr r0, [sp, #0x44]
ldr r1, [sp, #0x18]
mov r2, #8
bl sub_0202C090
add r7, r0, #0
cmp r7, #2
bne _0222CA8C
ldr r2, [sp, #0x14]
add r0, r5, #0
add r1, r6, #0
add r3, r4, #0
bl ov43_0222CB34
b _0222CAD0
_0222CA8C:
mov r0, #0xa
add r6, r4, #0
mul r6, r0
ldr r2, _0222CB28 ; =0x0222EFA0
mov r1, #0
ldrsh r1, [r5, r1]
ldrsh r2, [r2, r6]
add r0, #0xfc
add r1, r1, r2
lsl r2, r1, #3
add r2, #8
add r1, sp, #0x20
strh r2, [r1]
mov r2, #2
ldrsh r3, [r5, r2]
ldr r2, _0222CB2C ; =0x0222EFA2
ldrsh r2, [r2, r6]
add r2, r3, r2
lsl r2, r2, #3
add r0, r2, r0
strh r0, [r1, #2]
mov r0, #8
strh r0, [r1, #4]
mov r0, #1
strh r0, [r1, #6]
ldr r0, [sp, #0x10]
ldr r2, [sp, #0x1c]
ldr r3, [sp, #0x4c]
add r1, sp, #0x20
bl ov42_022272BC
lsl r1, r4, #2
add r1, r5, r1
str r0, [r1, #0x18]
_0222CAD0:
ldr r1, [sp, #0x4c]
mov r0, #0x80
bl String_ctor
add r6, r0, #0
ldr r0, [sp, #0x44]
ldr r1, [sp, #0x18]
bl sub_0202C254
add r1, r0, #0
add r0, r6, #0
bl CopyU16ArrayToString
add r3, r4, #0
mov r0, #0xa
mul r3, r0
ldr r0, _0222CB2C ; =0x0222EFA2
ldr r4, _0222CB28 ; =0x0222EFA0
ldrsh r0, [r0, r3]
ldrsh r3, [r4, r3]
lsl r1, r7, #2
lsl r0, r0, #3
sub r0, #0x18
str r0, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _0222CB30 ; =0x0222ED94
add r5, #8
ldr r0, [r0, r1]
mov r1, #4
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
add r0, r5, #0
add r2, r6, #0
lsl r3, r3, #3
bl AddTextPrinterParameterized2
add r0, r6, #0
bl String_dtor
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
nop
_0222CB28: .word 0x0222EFA0
_0222CB2C: .word 0x0222EFA2
_0222CB30: .word 0x0222ED94
thumb_func_end ov43_0222CA50
thumb_func_start ov43_0222CB34
ov43_0222CB34: ; 0x0222CB34
push {r3, r4, r5, r6, lr}
sub sp, #0x1c
add r4, r1, #0
add r1, r3, #0
mov r3, #2
ldrsh r5, [r0, r3]
cmp r5, #0
bge _0222CB46
neg r5, r5
_0222CB46:
mov r3, #0
ldrsh r6, [r0, r3]
cmp r6, #0
bge _0222CB50
neg r6, r6
_0222CB50:
ldr r0, [r2, #0xc]
add r3, r1, #0
mov r1, #3
str r1, [sp]
mov r1, #4
str r1, [sp, #4]
add r1, r0, #0
add r1, #0xc
str r1, [sp, #8]
mov r1, #0
mov r2, #0xa
str r1, [sp, #0xc]
mul r3, r2
str r1, [sp, #0x10]
ldrh r1, [r0]
ldr r2, _0222CBA4 ; =0x0222EFA0
ldrsh r2, [r2, r3]
lsl r1, r1, #0x15
lsr r1, r1, #0x18
str r1, [sp, #0x14]
add r2, r2, r6
ldr r6, _0222CBA8 ; =0x0222EFA2
ldrh r0, [r0, #2]
ldrsh r3, [r6, r3]
lsl r2, r2, #0x18
lsl r0, r0, #0x15
lsr r0, r0, #0x18
add r3, r3, r5
str r0, [sp, #0x18]
lsl r3, r3, #0x18
ldr r0, [r4]
mov r1, #2
lsr r2, r2, #0x18
lsr r3, r3, #0x18
bl sub_0201C4EC
ldr r0, [r4]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
add sp, #0x1c
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_0222CBA4: .word 0x0222EFA0
_0222CBA8: .word 0x0222EFA2
thumb_func_end ov43_0222CB34
thumb_func_start ov43_0222CBAC
ov43_0222CBAC: ; 0x0222CBAC
push {r3, lr}
bl ov43_0222CD3C
pop {r3, pc}
thumb_func_end ov43_0222CBAC
thumb_func_start ov43_0222CBB4
ov43_0222CBB4: ; 0x0222CBB4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r2, #0
add r7, r1, #0
ldrb r1, [r5, #8]
add r4, r0, #0
ldr r6, [sp, #0x30]
cmp r1, #6
bls _0222CBC8
b _0222CD26
_0222CBC8:
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0222CBD4: ; jump table
.short _0222CBE2 - _0222CBD4 - 2 ; case 0
.short _0222CC2A - _0222CBD4 - 2 ; case 1
.short _0222CC64 - _0222CBD4 - 2 ; case 2
.short _0222CC92 - _0222CBD4 - 2 ; case 3
.short _0222CCAC - _0222CBD4 - 2 ; case 4
.short _0222CCCE - _0222CBD4 - 2 ; case 5
.short _0222CD12 - _0222CBD4 - 2 ; case 6
_0222CBE2:
add r1, r5, #0
add r2, r6, #0
bl ov43_0222CD44
str r0, [r4, #4]
mov r0, #4
str r0, [sp, #8]
str r0, [sp, #0xc]
str r0, [sp, #0x10]
mov r0, #0
str r0, [sp, #0x14]
ldr r0, [r5, #4]
bl Sav2_PlayerData_GetOptionsAddr
add r3, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
add r0, r6, #0
mov r1, #0xc
add r2, sp, #8
bl sub_02085400
str r0, [r4, #8]
add r0, r7, #0
bl ov43_0222A1DC
ldr r0, _0222CD2C ; =0x02102610
ldr r1, [r4, #4]
add r2, r6, #0
bl OverlayManager_new
str r0, [r4]
mov r0, #1
strb r0, [r5, #8]
b _0222CD26
_0222CC2A:
ldr r0, [r4]
bl OverlayManager_run
cmp r0, #0
beq _0222CD26
ldr r0, [r4]
bl OverlayManager_delete
ldr r0, [r4, #4]
ldr r0, [r0, #0x14]
cmp r0, #0
bne _0222CC54
ldr r0, _0222CD30 ; =0x02102620
ldr r1, [r4, #8]
add r2, r6, #0
bl OverlayManager_new
str r0, [r4]
mov r0, #2
strb r0, [r5, #8]
b _0222CD26
_0222CC54:
mov r1, #0
add r0, r5, #0
add r2, r1, #0
bl ov43_0222A318
mov r0, #3
strb r0, [r5, #8]
b _0222CD26
_0222CC64:
ldr r0, [r4]
bl OverlayManager_run
cmp r0, #0
beq _0222CD26
ldr r0, [r4]
bl OverlayManager_delete
ldr r1, [r4, #4]
ldr r2, [r4, #8]
ldr r1, [r1, #0x18]
ldr r2, [r2, #0x1c]
add r0, r5, #0
bl ov43_0222A338
add r0, r5, #0
mov r1, #0
mov r2, #7
bl ov43_0222A318
mov r0, #3
strb r0, [r5, #8]
b _0222CD26
_0222CC92:
ldr r0, [r4, #4]
bl sub_0208311C
ldr r0, [r4, #8]
bl sub_02085438
add r0, r7, #0
add r1, r6, #0
bl ov43_0222A154
add sp, #0x18
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0222CCAC:
add r1, r5, #0
add r2, r6, #0
bl ov43_0222CD44
str r0, [r4, #4]
add r0, r7, #0
bl ov43_0222A1DC
ldr r0, _0222CD2C ; =0x02102610
ldr r1, [r4, #4]
add r2, r6, #0
bl OverlayManager_new
str r0, [r4]
mov r0, #5
strb r0, [r5, #8]
b _0222CD26
_0222CCCE:
ldr r0, [r4]
bl OverlayManager_run
cmp r0, #0
beq _0222CD26
ldr r0, [r4]
bl OverlayManager_delete
ldr r0, [r4, #4]
ldr r0, [r0, #0x14]
cmp r0, #0
bne _0222CD02
add r0, r5, #0
mov r1, #1
mov r2, #0xc
bl ov43_0222A318
ldr r1, [r4, #4]
add r0, r5, #0
ldr r1, [r1, #0x18]
mov r2, #0
bl ov43_0222A338
mov r0, #6
strb r0, [r5, #8]
b _0222CD26
_0222CD02:
add r0, r5, #0
mov r1, #1
mov r2, #0xd
bl ov43_0222A318
mov r0, #6
strb r0, [r5, #8]
b _0222CD26
_0222CD12:
ldr r0, [r4, #4]
bl sub_0208311C
add r0, r7, #0
add r1, r6, #0
bl ov43_0222A154
add sp, #0x18
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0222CD26:
mov r0, #0
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0222CD2C: .word 0x02102610
_0222CD30: .word 0x02102620
thumb_func_end ov43_0222CBB4
thumb_func_start ov43_0222CD34
ov43_0222CD34: ; 0x0222CD34
ldr r3, _0222CD38 ; =ov43_0222CD40
bx r3
.balign 4, 0
_0222CD38: .word ov43_0222CD40
thumb_func_end ov43_0222CD34
thumb_func_start ov43_0222CD3C
ov43_0222CD3C: ; 0x0222CD3C
bx lr
.balign 4, 0
thumb_func_end ov43_0222CD3C
thumb_func_start ov43_0222CD40
ov43_0222CD40: ; 0x0222CD40
bx lr
.balign 4, 0
thumb_func_end ov43_0222CD40
thumb_func_start ov43_0222CD44
ov43_0222CD44: ; 0x0222CD44
push {r3, r4, r5, lr}
sub sp, #8
add r5, r1, #0
ldr r0, [r5, #4]
add r4, r2, #0
bl Sav2_PlayerData_GetOptionsAddr
str r0, [sp]
mov r2, #0
mov r1, #7
str r2, [sp, #4]
add r0, r4, #0
add r3, r1, #0
bl sub_020830D8
add r4, r0, #0
ldr r0, [r5, #0x64]
cmp r0, #1
bne _0222CD88
ldr r0, [r5, #0x60]
ldrh r0, [r0]
bl sub_02020B78
cmp r0, #0
ldr r0, [r4, #0x18]
bne _0222CD80
ldr r1, [r5, #0x60]
bl CopyU16ArrayToString
b _0222CD84
_0222CD80:
bl StringSetEmpty
_0222CD84:
mov r0, #0
str r0, [r5, #0x64]
_0222CD88:
add r0, r4, #0
add sp, #8
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov43_0222CD44
thumb_func_start ov43_0222CD90
ov43_0222CD90: ; 0x0222CD90
push {r3, lr}
bl ov43_0222CE48
pop {r3, pc}
thumb_func_end ov43_0222CD90
thumb_func_start ov43_0222CD98
ov43_0222CD98: ; 0x0222CD98
push {r4, r5, r6, lr}
add r4, r1, #0
ldrb r3, [r4, #8]
add r5, r0, #0
add r6, r2, #0
cmp r3, #0
beq _0222CDB0
cmp r3, #1
beq _0222CDBA
cmp r3, #2
beq _0222CDDC
b _0222CE04
_0222CDB0:
bl ov43_0222D028
mov r0, #1
strb r0, [r4, #8]
b _0222CE04
_0222CDBA:
bl ov43_0222CE14
cmp r0, #0
beq _0222CE04
ldr r0, _0222CE08 ; =0x000005DD
bl PlaySE
add r0, r5, #0
add r1, r6, #0
mov r2, #1
bl ov43_0222D0F8
mov r0, #4
str r0, [r5, #0x38]
mov r0, #2
strb r0, [r4, #8]
b _0222CE04
_0222CDDC:
ldr r1, [r5, #0x38]
sub r1, r1, #1
str r1, [r5, #0x38]
cmp r1, #0
bgt _0222CE04
add r1, r6, #0
mov r2, #0
bl ov43_0222D0F8
add r0, r4, #0
mov r1, #0
mov r2, #2
bl ov43_0222A318
add r0, r5, #0
add r1, r6, #0
bl ov43_0222D090
mov r0, #1
pop {r4, r5, r6, pc}
_0222CE04:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_0222CE08: .word 0x000005DD
thumb_func_end ov43_0222CD98
thumb_func_start ov43_0222CE0C
ov43_0222CE0C: ; 0x0222CE0C
ldr r3, _0222CE10 ; =ov43_0222D008
bx r3
.balign 4, 0
_0222CE10: .word ov43_0222D008
thumb_func_end ov43_0222CE0C
thumb_func_start ov43_0222CE14
ov43_0222CE14: ; 0x0222CE14
push {r4, lr}
ldr r0, _0222CE40 ; =0x0222ED7A
add r4, r1, #0
bl sub_0202529C
cmp r0, #0
bne _0222CE28
mov r0, #1
str r0, [r4]
pop {r4, pc}
_0222CE28:
add r0, r4, #0
bl ov43_0222A320
ldr r0, _0222CE44 ; =gMain
ldr r1, [r0, #0x48]
mov r0, #3
tst r0, r1
beq _0222CE3C
mov r0, #1
pop {r4, pc}
_0222CE3C:
mov r0, #0
pop {r4, pc}
.balign 4, 0
_0222CE40: .word 0x0222ED7A
_0222CE44: .word gMain
thumb_func_end ov43_0222CE14
thumb_func_start ov43_0222CE48
ov43_0222CE48: ; 0x0222CE48
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
add r5, r0, #0
str r1, [sp, #0x14]
add r4, r2, #0
add r7, r3, #0
bl InitWindow
mov r1, #0xb
str r1, [sp]
mov r0, #0x18
str r0, [sp, #4]
mov r0, #8
str r0, [sp, #8]
str r1, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
ldr r0, [r4]
add r1, r5, #0
mov r2, #3
mov r3, #4
bl AddWindowParameterized
add r0, r5, #0
add r0, #0x10
bl InitWindow
mov r0, #6
str r0, [sp]
mov r0, #0xe
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #0xb
str r0, [sp, #0xc]
mov r0, #0xc1
str r0, [sp, #0x10]
add r1, r5, #0
ldr r0, [r4]
add r1, #0x10
mov r2, #3
mov r3, #9
bl AddWindowParameterized
add r0, r5, #0
add r0, #0x20
bl InitWindow
mov r3, #0x15
add r1, r5, #0
str r3, [sp]
mov r0, #9
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #0xb
str r0, [sp, #0xc]
mov r0, #0xdd
str r0, [sp, #0x10]
ldr r0, [r4]
add r1, #0x20
mov r2, #3
bl AddWindowParameterized
add r0, r5, #0
mov r1, #0
bl FillWindowPixelBuffer
add r0, r5, #0
add r0, #0x10
mov r1, #0
bl FillWindowPixelBuffer
add r0, r5, #0
add r0, #0x20
mov r1, #0
bl FillWindowPixelBuffer
mov r0, #0x80
add r1, r7, #0
bl String_ctor
add r6, r0, #0
mov r0, #0x80
add r1, r7, #0
bl String_ctor
str r0, [sp, #0x20]
ldr r0, [sp, #0x14]
ldr r0, [r0, #4]
bl sub_0202C6F4
bl sub_0202C08C
bl sub_020A0310
str r1, [sp, #0x1c]
str r0, [sp, #0x24]
ldr r0, [sp, #0x1c]
mov r2, #0
eor r0, r2
ldr r2, [sp, #0x24]
mov r1, #0
eor r1, r2
orr r0, r1
ldr r0, [r4, #0x54]
beq _0222CF86
mov r1, #0x35
add r2, r6, #0
bl ReadMsgDataIntoString
mov r0, #0
add r1, r6, #0
add r2, r0, #0
bl sub_02003068
mov r1, #0xc0
sub r0, r1, r0
mov r1, #0
lsr r3, r0, #1
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _0222CFFC ; =0x00010200
add r2, r6, #0
str r0, [sp, #8]
add r0, r5, #0
str r1, [sp, #0xc]
bl AddTextPrinterParameterized2
ldr r1, [sp, #0x24]
ldr r2, [sp, #0x1c]
add r0, r4, #0
bl ov43_0222AAA4
ldr r0, [r4, #0x54]
ldr r2, [sp, #0x20]
mov r1, #0x34
bl ReadMsgDataIntoString
ldr r0, [r4, #0x50]
ldr r2, [sp, #0x20]
add r1, r6, #0
bl StringExpandPlaceholders
mov r1, #0
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _0222D000 ; =0x000F0200
add r2, r6, #0
str r0, [sp, #8]
add r0, r5, #0
add r0, #0x10
add r3, r1, #0
str r1, [sp, #0xc]
bl AddTextPrinterParameterized2
b _0222CFB4
_0222CF86:
mov r1, #0x36
add r2, r6, #0
bl ReadMsgDataIntoString
mov r0, #0
add r1, r6, #0
add r2, r0, #0
bl sub_02003068
mov r1, #0xc0
sub r0, r1, r0
mov r1, #0
lsr r3, r0, #1
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _0222CFFC ; =0x00010200
add r2, r6, #0
str r0, [sp, #8]
add r0, r5, #0
str r1, [sp, #0xc]
bl AddTextPrinterParameterized2
_0222CFB4:
ldr r0, [r4, #0x54]
mov r1, #0x33
add r2, r6, #0
bl ReadMsgDataIntoString
mov r3, #0
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _0222D004 ; =0x00010F00
mov r1, #4
str r0, [sp, #8]
add r0, r5, #0
add r0, #0x20
add r2, r6, #0
str r3, [sp, #0xc]
bl AddTextPrinterParameterized2
add r0, r6, #0
bl String_dtor
ldr r0, [sp, #0x20]
bl String_dtor
str r7, [sp]
add r3, r5, #0
ldr r0, [r4, #0x58]
mov r1, #0xe
mov r2, #1
add r3, #0x34
bl sub_02007C2C
str r0, [r5, #0x30]
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
nop
_0222CFFC: .word 0x00010200
_0222D000: .word 0x000F0200
_0222D004: .word 0x00010F00
thumb_func_end ov43_0222CE48
thumb_func_start ov43_0222D008
ov43_0222D008: ; 0x0222D008
push {r4, lr}
add r4, r0, #0
bl RemoveWindow
add r0, r4, #0
add r0, #0x10
bl RemoveWindow
add r0, r4, #0
add r0, #0x20
bl RemoveWindow
ldr r0, [r4, #0x30]
bl FreeToHeap
pop {r4, pc}
thumb_func_end ov43_0222D008
thumb_func_start ov43_0222D028
ov43_0222D028: ; 0x0222D028
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
ldr r0, [r1, #4]
add r4, r2, #0
bl Sav2_PlayerData_GetProfileAddr
add r2, r0, #0
ldr r0, [r4, #0x50]
mov r1, #0
bl BufferPlayersName
add r1, r4, #0
add r0, r4, #0
add r1, #0x64
mov r2, #0x32
bl ov43_0222A9F4
ldr r2, [r5, #0x34]
mov r3, #0
str r3, [sp]
ldrh r0, [r2]
mov r1, #2
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #4]
ldrh r0, [r2, #2]
add r2, #0xc
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #8]
ldr r0, [r4]
bl sub_0201C4C4
ldr r0, [r4]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
add r0, r5, #0
bl sub_0201D5C8
add r0, r5, #0
add r0, #0x10
bl sub_0201D5C8
add r5, #0x20
add r0, r5, #0
bl sub_0201D5C8
add sp, #0xc
pop {r4, r5, pc}
.balign 4, 0
thumb_func_end ov43_0222D028
thumb_func_start ov43_0222D090
ov43_0222D090: ; 0x0222D090
push {r3, r4, r5, lr}
sub sp, #0x10
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
bl ov43_0222AA70
mov r2, #0
str r2, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #0x18
str r0, [sp, #8]
str r2, [sp, #0xc]
ldr r0, [r4]
mov r1, #2
add r3, r2, #0
bl FillBgTilemapRect
ldr r0, [r4]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
add r0, r5, #0
bl sub_0201D8E4
add r0, r5, #0
add r0, #0x10
bl sub_0201D8E4
add r5, #0x20
add r0, r5, #0
bl sub_0201D8E4
mov r2, #0
str r2, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #0x18
str r0, [sp, #8]
str r2, [sp, #0xc]
ldr r0, [r4]
mov r1, #3
add r3, r2, #0
bl FillBgTilemapRect
ldr r0, [r4]
mov r1, #3
bl ScheduleBgTilemapBufferTransfer
add sp, #0x10
pop {r3, r4, r5, pc}
thumb_func_end ov43_0222D090
thumb_func_start ov43_0222D0F8
ov43_0222D0F8: ; 0x0222D0F8
push {r3, r4, r5, lr}
sub sp, #0x10
ldr r3, _0222D130 ; =_0222ED5C
add r4, r1, #0
ldrb r5, [r3, #1]
ldrb r3, [r3, #2]
add r1, sp, #0xc
strb r5, [r1]
strb r3, [r1, #1]
mov r1, #0xe
str r1, [sp]
mov r1, #4
str r1, [sp, #4]
add r0, sp, #0xc
ldrb r0, [r0, r2]
mov r1, #2
mov r2, #0x11
str r0, [sp, #8]
ldr r0, [r4]
mov r3, #0x14
bl sub_0201CA4C
ldr r0, [r4]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
add sp, #0x10
pop {r3, r4, r5, pc}
.balign 4, 0
_0222D130: .word _0222ED5C
thumb_func_end ov43_0222D0F8
thumb_func_start ov43_0222D134
ov43_0222D134: ; 0x0222D134
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #4]
add r6, r2, #0
add r7, r3, #0
bl SavArray_Flags_get
mov r1, #2
mov r2, #0x1b
bl sub_02066930
str r0, [r5, #0x10]
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
add r3, r7, #0
bl ov43_0222D584
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov43_0222D134
thumb_func_start ov43_0222D15C
ov43_0222D15C: ; 0x0222D15C
push {r3, r4, r5, r6, r7, lr}
add r6, r1, #0
ldrb r5, [r6, #8]
add r4, r0, #0
add r7, r2, #0
str r3, [sp]
cmp r5, #6
bhi _0222D220
add r5, r5, r5
add r5, pc
ldrh r5, [r5, #6]
lsl r5, r5, #0x10
asr r5, r5, #0x10
add pc, r5
_0222D178: ; jump table
.short _0222D186 - _0222D178 - 2 ; case 0
.short _0222D18C - _0222D178 - 2 ; case 1
.short _0222D19E - _0222D178 - 2 ; case 2
.short _0222D1A6 - _0222D178 - 2 ; case 3
.short _0222D1BC - _0222D178 - 2 ; case 4
.short _0222D1CA - _0222D178 - 2 ; case 5
.short _0222D20C - _0222D178 - 2 ; case 6
_0222D186:
mov r0, #0
strh r0, [r4, #0xe]
strh r0, [r4]
_0222D18C:
ldr r3, [sp]
add r0, r4, #0
add r1, r6, #0
add r2, r7, #0
bl ov43_0222D654
mov r0, #2
strb r0, [r6, #8]
b _0222D220
_0222D19E:
bl ov43_0222D47C
strb r0, [r6, #8]
b _0222D220
_0222D1A6:
bl ov43_0222D4C4
ldr r3, [sp]
add r0, r4, #0
add r1, r6, #0
add r2, r7, #0
bl ov43_0222D508
mov r0, #4
strb r0, [r6, #8]
b _0222D220
_0222D1BC:
bl ov43_0222D508
cmp r0, #1
bne _0222D220
mov r0, #2
strb r0, [r6, #8]
b _0222D220
_0222D1CA:
ldrh r0, [r4, #0xe]
cmp r0, #0
beq _0222D1DC
ldrh r0, [r4, #0xc]
sub r0, r0, #1
strh r0, [r4, #0xc]
ldrh r0, [r4, #0xc]
cmp r0, #0
bne _0222D220
_0222D1DC:
ldr r1, [r4, #8]
add r0, r6, #0
bl ov43_0222DCC4
cmp r0, #0
beq _0222D206
ldr r0, _0222D224 ; =0x000005E5
bl PlaySE
add r0, r4, #0
add r1, r7, #0
bl ov43_0222D87C
add r0, r6, #0
mov r1, #4
mov r2, #1
bl ov43_0222A318
mov r0, #1
strh r0, [r4, #0xe]
pop {r3, r4, r5, r6, r7, pc}
_0222D206:
mov r0, #2
strb r0, [r6, #8]
b _0222D220
_0222D20C:
add r1, r7, #0
bl ov43_0222D778
add r0, r6, #0
mov r1, #1
mov r2, #9
bl ov43_0222A318
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0222D220:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0222D224: .word 0x000005E5
thumb_func_end ov43_0222D15C
thumb_func_start ov43_0222D228
ov43_0222D228: ; 0x0222D228
ldr r3, _0222D22C ; =ov43_0222D610
bx r3
.balign 4, 0
_0222D22C: .word ov43_0222D610
thumb_func_end ov43_0222D228
thumb_func_start ov43_0222D230
ov43_0222D230: ; 0x0222D230
ldr r0, [r0, #0x10]
cmp r0, #1
bne _0222D23A
mov r0, #8
b _0222D23C
_0222D23A:
mov r0, #3
_0222D23C:
sub r0, r0, #1
cmp r1, r0
bne _0222D246
mov r0, #1
bx lr
_0222D246:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end ov43_0222D230
thumb_func_start ov43_0222D24C
ov43_0222D24C: ; 0x0222D24C
push {r3, r4, r5, lr}
add r4, r0, #0
add r5, r2, #0
cmp r3, #5
bhi _0222D2F2
add r1, r3, r3
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0222D262: ; jump table
.short _0222D26E - _0222D262 - 2 ; case 0
.short _0222D284 - _0222D262 - 2 ; case 1
.short _0222D28E - _0222D262 - 2 ; case 2
.short _0222D2AC - _0222D262 - 2 ; case 3
.short _0222D2C8 - _0222D262 - 2 ; case 4
.short _0222D2DE - _0222D262 - 2 ; case 5
_0222D26E:
mov r1, #0
ldrsh r1, [r4, r1]
bl ov43_0222D230
cmp r0, #0
beq _0222D2F2
ldr r0, _0222D2F8 ; =0x000005DD
bl PlaySE
mov r0, #6
pop {r3, r4, r5, pc}
_0222D284:
ldr r0, _0222D2F8 ; =0x000005DD
bl PlaySE
mov r0, #6
pop {r3, r4, r5, pc}
_0222D28E:
mov r2, #0
ldrsh r2, [r4, r2]
add r1, r5, #0
bl ov43_0222DB28
mov r2, #0
ldrsh r2, [r4, r2]
add r0, r4, #0
add r1, r5, #0
bl ov43_0222DB94
mov r0, #2
str r0, [r4, #8]
mov r0, #3
pop {r3, r4, r5, pc}
_0222D2AC:
mov r2, #0
ldrsh r2, [r4, r2]
add r1, r5, #0
bl ov43_0222DB28
mov r2, #0
ldrsh r2, [r4, r2]
add r0, r4, #0
add r1, r5, #0
bl ov43_0222DB94
mov r0, #3
str r0, [r4, #8]
pop {r3, r4, r5, pc}
_0222D2C8:
mov r0, #0
str r0, [r4, #8]
mov r0, #4
strh r0, [r4, #0xc]
add r0, r5, #0
mov r1, #2
mov r2, #1
bl ov43_0222AD40
mov r0, #5
pop {r3, r4, r5, pc}
_0222D2DE:
mov r2, #1
str r2, [r4, #8]
mov r0, #4
strh r0, [r4, #0xc]
add r0, r5, #0
mov r1, #3
bl ov43_0222AD40
mov r0, #5
pop {r3, r4, r5, pc}
_0222D2F2:
mov r0, #2
pop {r3, r4, r5, pc}
nop
_0222D2F8: .word 0x000005DD
thumb_func_end ov43_0222D24C
thumb_func_start ov43_0222D2FC
ov43_0222D2FC: ; 0x0222D2FC
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, _0222D3B0 ; =gMain
add r4, r1, #0
ldr r1, [r0, #0x48]
ldr r0, _0222D3B4 ; =0x00000CF3
add r6, r2, #0
tst r0, r1
beq _0222D312
mov r0, #0
str r0, [r4]
_0222D312:
ldr r1, _0222D3B0 ; =gMain
mov r0, #3
ldr r2, [r1, #0x48]
tst r0, r2
beq _0222D32A
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
mov r3, #1
bl ov43_0222D24C
pop {r4, r5, r6, pc}
_0222D32A:
ldr r0, [r1, #0x4c]
mov r2, #0x20
add r1, r0, #0
tst r1, r2
bne _0222D340
ldrb r1, [r4, #0xe]
cmp r1, #0
beq _0222D358
lsl r2, r2, #4
tst r2, r0
beq _0222D358
_0222D340:
mov r1, #0
add r0, r5, #0
mvn r1, r1
bl ov43_0222ED18
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
mov r3, #2
bl ov43_0222D24C
pop {r4, r5, r6, pc}
_0222D358:
mov r2, #0x10
add r3, r0, #0
tst r3, r2
bne _0222D36A
cmp r1, #0
beq _0222D380
add r2, #0xf0
tst r0, r2
beq _0222D380
_0222D36A:
add r0, r5, #0
mov r1, #1
bl ov43_0222ED18
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
mov r3, #3
bl ov43_0222D24C
pop {r4, r5, r6, pc}
_0222D380:
ldr r0, _0222D3B0 ; =gMain
ldr r1, [r0, #0x44]
mov r0, #0x40
tst r0, r1
beq _0222D398
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
mov r3, #4
bl ov43_0222D24C
pop {r4, r5, r6, pc}
_0222D398:
mov r0, #0x80
tst r0, r1
beq _0222D3AC
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
mov r3, #5
bl ov43_0222D24C
pop {r4, r5, r6, pc}
_0222D3AC:
mov r0, #2
pop {r4, r5, r6, pc}
.balign 4, 0
_0222D3B0: .word gMain
_0222D3B4: .word 0x00000CF3
thumb_func_end ov43_0222D2FC
thumb_func_start ov43_0222D3B8
ov43_0222D3B8: ; 0x0222D3B8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #0x10]
add r7, r1, #0
add r6, r3, #0
str r2, [sp]
cmp r0, #0
beq _0222D3D0
ldr r0, _0222D474 ; =0x0222EE84
bl sub_0202529C
b _0222D3D6
_0222D3D0:
ldr r0, _0222D478 ; =0x0222EE42
bl sub_0202529C
_0222D3D6:
add r4, r0, #0
mov r0, #0
mvn r0, r0
cmp r4, r0
bne _0222D3E4
mov r0, #2
pop {r3, r4, r5, r6, r7, pc}
_0222D3E4:
cmp r4, #0
bne _0222D3FA
mov r0, #1
str r0, [r6]
ldr r2, [sp]
add r0, r5, #0
add r1, r7, #0
mov r3, #4
bl ov43_0222D24C
pop {r3, r4, r5, r6, r7, pc}
_0222D3FA:
cmp r4, #1
bne _0222D410
mov r0, #1
str r0, [r6]
ldr r2, [sp]
add r0, r5, #0
add r1, r7, #0
mov r3, #5
bl ov43_0222D24C
pop {r3, r4, r5, r6, r7, pc}
_0222D410:
sub r1, r4, #2
lsl r1, r1, #0x10
add r0, r5, #0
asr r1, r1, #0x10
bl ov43_0222D230
cmp r0, #0
beq _0222D434
sub r0, r4, #2
strh r0, [r5]
mov r3, #1
ldr r2, [sp]
add r0, r5, #0
add r1, r7, #0
str r3, [r6]
bl ov43_0222D24C
pop {r3, r4, r5, r6, r7, pc}
_0222D434:
mov r0, #0
ldrsh r0, [r5, r0]
sub r1, r4, #2
sub r0, r1, r0
lsl r0, r0, #0x10
asr r4, r0, #0x10
bne _0222D446
mov r0, #2
pop {r3, r4, r5, r6, r7, pc}
_0222D446:
mov r0, #1
str r0, [r6]
add r0, r5, #0
add r1, r4, #0
bl ov43_0222ED18
cmp r4, #0
blt _0222D464
ldr r2, [sp]
add r0, r5, #0
add r1, r7, #0
mov r3, #3
bl ov43_0222D24C
pop {r3, r4, r5, r6, r7, pc}
_0222D464:
ldr r2, [sp]
add r0, r5, #0
add r1, r7, #0
mov r3, #2
bl ov43_0222D24C
pop {r3, r4, r5, r6, r7, pc}
nop
_0222D474: .word 0x0222EE84
_0222D478: .word 0x0222EE42
thumb_func_end ov43_0222D3B8
thumb_func_start ov43_0222D47C
ov43_0222D47C: ; 0x0222D47C
push {r3, r4, r5, r6, lr}
sub sp, #4
add r4, r1, #0
ldr r1, _0222D4C0 ; =gMain
add r6, r2, #0
ldr r2, [r1, #0x44]
add r5, r0, #0
mov r0, #0
mov r1, #0xc0
str r0, [sp]
tst r1, r2
bne _0222D496
strh r0, [r5, #0xe]
_0222D496:
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
add r3, sp, #0
bl ov43_0222D3B8
ldr r1, [sp]
cmp r1, #0
beq _0222D4B0
mov r1, #1
add sp, #4
str r1, [r4]
pop {r3, r4, r5, r6, pc}
_0222D4B0:
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl ov43_0222D2FC
add sp, #4
pop {r3, r4, r5, r6, pc}
nop
_0222D4C0: .word gMain
thumb_func_end ov43_0222D47C
thumb_func_start ov43_0222D4C4
ov43_0222D4C4: ; 0x0222D4C4
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r7, r1, #0
add r5, r0, #0
add r4, r2, #0
mov r1, #0
str r1, [r5, #4]
add r0, r4, #0
add r6, r3, #0
bl ov43_0222AD20
ldr r0, [r5, #8]
cmp r0, #2
bne _0222D4E4
mov r3, #2
b _0222D4E6
_0222D4E4:
mov r3, #1
_0222D4E6:
mov r0, #0
ldrsh r0, [r5, r0]
add r1, r7, #0
add r2, r4, #0
str r0, [sp]
add r0, r5, #0
str r6, [sp, #4]
bl ov43_0222DAE8
ldr r0, _0222D504 ; =0x000005E1
bl PlaySE
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_0222D504: .word 0x000005E1
thumb_func_end ov43_0222D4C4
thumb_func_start ov43_0222D508
ov43_0222D508: ; 0x0222D508
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
ldr r0, [r5, #4]
add r7, r1, #0
add r4, r2, #0
add r6, r3, #0
cmp r0, #4
ble _0222D55C
mov r2, #0
ldr r0, [r4]
mov r1, #2
add r3, r2, #0
bl sub_0201F238
mov r2, #0
ldr r0, [r4]
mov r1, #3
add r3, r2, #0
bl sub_0201F238
mov r3, #0
ldrsh r0, [r5, r3]
add r1, r7, #0
add r2, r4, #0
str r0, [sp]
add r0, r5, #0
str r6, [sp, #4]
bl ov43_0222DAE8
add r0, r4, #0
mov r1, #1
bl ov43_0222AD20
add r0, r5, #0
add r1, r4, #0
mov r2, #0xff
bl ov43_0222DB94
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0222D55C:
lsl r1, r0, #8
asr r0, r1, #1
lsr r0, r0, #0x1e
add r0, r1, r0
asr r3, r0, #2
ldr r0, [r5, #8]
cmp r0, #2
bne _0222D56E
neg r3, r3
_0222D56E:
ldr r0, [r4]
mov r1, #3
mov r2, #0
bl sub_0201F238
ldr r0, [r5, #4]
add r0, r0, #1
str r0, [r5, #4]
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov43_0222D508
thumb_func_start ov43_0222D584
ov43_0222D584: ; 0x0222D584
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r7, r0, #0
str r2, [sp, #8]
add r1, r2, #0
add r0, #0xf8
add r2, r3, #0
str r3, [sp, #0xc]
bl ov43_0222DD40
ldr r1, [sp, #8]
add r0, r7, #0
bl ov43_0222DDA0
mov r0, #0
str r0, [sp, #0x18]
ldr r0, _0222D600 ; =0x0222EDAC
add r7, #0x14
str r0, [sp, #0x14]
ldr r0, _0222D604 ; =0x0222EE08
str r0, [sp, #0x10]
_0222D5AE:
ldr r0, [sp, #0xc]
ldr r3, [sp, #0x14]
str r0, [sp]
ldr r1, [sp, #8]
ldr r2, [sp, #0x10]
ldr r3, [r3]
add r0, r7, #0
bl ov43_0222DDF0
ldr r4, _0222D608 ; =0x0222F10C
ldr r5, _0222D60C ; =0x0222F0D0
mov r6, #0
_0222D5C6:
ldr r0, [r4]
ldr r1, [sp, #8]
str r0, [sp]
ldr r0, [sp, #0xc]
add r2, r6, #0
str r0, [sp, #4]
ldrb r3, [r5]
add r0, r7, #0
bl ov43_0222DE14
add r6, r6, #1
add r4, r4, #4
add r5, r5, #1
cmp r6, #8
blt _0222D5C6
ldr r0, [sp, #0x14]
add r7, #0x4c
add r0, r0, #4
str r0, [sp, #0x14]
ldr r0, [sp, #0x10]
add r0, r0, #6
str r0, [sp, #0x10]
ldr r0, [sp, #0x18]
add r0, r0, #1
str r0, [sp, #0x18]
cmp r0, #3
blt _0222D5AE
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0222D600: .word 0x0222EDAC
_0222D604: .word 0x0222EE08
_0222D608: .word 0x0222F10C
_0222D60C: .word 0x0222F0D0
thumb_func_end ov43_0222D584
thumb_func_start ov43_0222D610
ov43_0222D610: ; 0x0222D610
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
mov r6, #0
add r5, r0, #0
str r0, [sp]
str r2, [sp, #4]
add r5, #0x14
add r7, r6, #0
_0222D620:
add r4, r7, #0
_0222D622:
add r0, r5, #0
add r1, r4, #0
bl ov43_0222DED0
add r4, r4, #1
cmp r4, #8
blt _0222D622
add r0, r5, #0
bl ov43_0222DE10
add r6, r6, #1
add r5, #0x4c
cmp r6, #3
blt _0222D620
ldr r0, [sp]
ldr r1, [sp, #4]
bl ov43_0222DDD0
ldr r0, [sp]
add r0, #0xf8
str r0, [sp]
bl ov43_0222DD88
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov43_0222D610
thumb_func_start ov43_0222D654
ov43_0222D654: ; 0x0222D654
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r6, r1, #0
add r4, r2, #0
mov r2, #0xb
ldrsb r2, [r6, r2]
add r5, r0, #0
ldr r1, [r6, #4]
add r2, r6, r2
ldrb r2, [r2, #0x18]
add r0, r4, #0
add r7, r3, #0
bl ov43_0222AB20
mov r1, #0x4a
lsl r1, r1, #2
add r0, r4, #0
add r1, r5, r1
mov r2, #0xd
bl ov43_0222A9F4
mov r0, #0x45
lsl r0, r0, #2
ldr r2, [r5, r0]
mov r3, #0
str r3, [sp]
ldrh r0, [r2]
mov r1, #5
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #4]
ldrh r0, [r2, #2]
add r2, #0xc
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #8]
ldr r0, [r4]
bl sub_0201C4C4
ldr r0, [r4]
mov r1, #5
bl ScheduleBgTilemapBufferTransfer
add r0, r5, #0
add r0, #0xfc
mov r1, #0
ldr r2, [r0]
add r3, r1, #0
str r1, [sp]
ldrh r0, [r2]
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #4]
ldrh r0, [r2, #2]
add r2, #0xc
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #8]
ldr r0, [r4]
bl sub_0201C4C4
ldr r0, [r4]
mov r1, #0
bl ScheduleBgTilemapBufferTransfer
mov r0, #0x41
lsl r0, r0, #2
ldr r2, [r5, r0]
mov r3, #0
str r3, [sp]
ldrh r0, [r2]
mov r1, #2
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #4]
ldrh r0, [r2, #2]
add r2, #0xc
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #8]
ldr r0, [r4]
bl sub_0201C4C4
ldr r0, [r4]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl ov43_0222D8B8
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl ov43_0222AD98
mov r3, #0
ldrsh r0, [r5, r3]
add r1, r6, #0
add r2, r4, #0
str r0, [sp]
add r0, r5, #0
str r7, [sp, #4]
bl ov43_0222DAE8
add r0, r5, #0
add r1, r4, #0
mov r2, #0xff
bl ov43_0222DB94
mov r0, #0x7d
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0xf4
mov r2, #0x18
bl sub_0200DD88
add r0, r4, #0
mov r1, #2
mov r2, #0
bl ov43_0222AD40
mov r0, #0x7e
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0xf4
mov r2, #0x88
bl sub_0200DD88
add r0, r4, #0
mov r1, #3
mov r2, #0
bl ov43_0222AD40
add r0, r4, #0
mov r1, #1
bl ov43_0222AD00
mov r0, #2
mov r1, #0
bl sub_0201BB68
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end ov43_0222D654
thumb_func_start ov43_0222D778
ov43_0222D778: ; 0x0222D778
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r1, #0
add r7, r0, #0
add r0, r5, #0
mov r1, #0
bl ov43_0222AD00
mov r0, #0x7d
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #8
mov r2, #0x62
bl sub_0200DD88
mov r1, #0
add r0, r5, #0
add r2, r1, #0
bl ov43_0222AD40
mov r0, #0x7e
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #0xf8
mov r2, #0x62
bl sub_0200DD88
add r0, r5, #0
mov r1, #1
mov r2, #0
bl ov43_0222AD40
add r4, r7, #0
mov r6, #0
add r4, #0x14
_0222D7BE:
add r0, r4, #0
add r1, r5, #0
bl ov43_0222DF90
add r6, r6, #1
add r4, #0x4c
cmp r6, #3
blt _0222D7BE
add r0, r7, #0
add r1, r5, #0
bl ov43_0222DC7C
add r0, r7, #0
add r1, r5, #0
bl ov43_0222DB84
add r0, r7, #0
bl ov43_0222DACC
mov r2, #0
str r2, [sp]
mov r0, #0x20
str r0, [sp, #4]
str r0, [sp, #8]
str r2, [sp, #0xc]
ldr r0, [r5]
mov r1, #5
add r3, r2, #0
bl FillBgTilemapRect
mov r2, #0
str r2, [sp]
mov r0, #0x20
str r0, [sp, #4]
str r0, [sp, #8]
str r2, [sp, #0xc]
ldr r0, [r5]
mov r1, #4
add r3, r2, #0
bl FillBgTilemapRect
mov r2, #0
str r2, [sp]
mov r0, #0x20
str r0, [sp, #4]
str r0, [sp, #8]
str r2, [sp, #0xc]
ldr r0, [r5]
mov r1, #2
add r3, r2, #0
bl FillBgTilemapRect
ldr r0, [r5]
mov r1, #5
bl ScheduleBgTilemapBufferTransfer
ldr r0, [r5]
mov r1, #4
bl ScheduleBgTilemapBufferTransfer
ldr r0, [r5]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
mov r0, #0x43
lsl r0, r0, #2
mov r1, #0
ldr r2, [r7, r0]
add r3, r1, #0
str r1, [sp]
ldrh r0, [r2]
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #4]
ldrh r0, [r2, #2]
add r2, #0xc
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #8]
ldr r0, [r5]
bl sub_0201C4C4
ldr r0, [r5]
mov r1, #0
bl ScheduleBgTilemapBufferTransfer
add r0, r5, #0
bl ov43_0222AA70
mov r0, #2
add r1, r0, #0
bl sub_0201BB68
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov43_0222D778
thumb_func_start ov43_0222D87C
ov43_0222D87C: ; 0x0222D87C
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r7, #0
add r6, r1, #0
mov r4, #0
add r5, #0x14
_0222D888:
add r0, r5, #0
add r1, r6, #0
bl ov43_0222DF90
add r4, r4, #1
add r5, #0x4c
cmp r4, #3
blt _0222D888
mov r0, #0x46
lsl r0, r0, #2
mov r5, #0
add r4, r7, r0
_0222D8A0:
add r0, r4, #0
bl sub_0201D8E4
add r5, r5, #1
add r4, #0x10
cmp r5, #5
ble _0222D8A0
add r0, r6, #0
bl ov43_0222AA70
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov43_0222D87C
thumb_func_start ov43_0222D8B8
ov43_0222D8B8: ; 0x0222D8B8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x40
add r5, r1, #0
add r7, r0, #0
ldr r0, [r5, #4]
str r2, [sp, #0x18]
str r3, [sp, #0x1c]
bl sub_0202C6F4
mov r1, #0xb
ldrsb r1, [r5, r1]
mov r2, #8
str r0, [sp, #0x24]
add r1, r5, r1
ldrb r1, [r1, #0x18]
bl sub_0202C090
str r0, [sp, #0x20]
mov r0, #0x46
lsl r0, r0, #2
mov r6, #0
add r4, r7, r0
_0222D8E4:
add r0, r4, #0
mov r1, #0
bl FillWindowPixelBuffer
add r6, r6, #1
add r4, #0x10
cmp r6, #8
blo _0222D8E4
mov r1, #0
str r1, [sp]
mov r0, #1
str r0, [sp, #4]
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x18]
mov r3, #2
add r2, r5, r2
add r2, #0x38
ldrb r2, [r2]
ldr r0, [r0, #0x50]
add r2, r2, #1
bl BufferIntegerAsString
mov r0, #0
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
ldr r0, [sp, #0x18]
ldr r2, [r5, #0x14]
ldr r0, [r0, #0x50]
mov r3, #2
bl BufferIntegerAsString
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0222DAC0 ; =0x000F0200
ldr r2, [sp, #0x18]
str r0, [sp, #8]
mov r0, #0x46
lsl r0, r0, #2
add r0, r7, r0
add r1, r5, #0
mov r3, #0x12
bl ov43_0222ECD4
ldr r0, [sp, #0x20]
cmp r0, #0
bne _0222D94A
ldr r4, _0222DAC4 ; =0x00050600
b _0222D956
_0222D94A:
cmp r0, #1
bne _0222D954
mov r4, #0xc1
lsl r4, r4, #0xa
b _0222D956
_0222D954:
ldr r4, _0222DAC8 ; =0x00010200
_0222D956:
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x18]
ldr r1, [r5, #4]
add r2, r5, r2
ldrb r2, [r2, #0x18]
ldr r3, [sp, #0x1c]
bl ov43_0222AB20
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #0x4e
lsl r0, r0, #2
ldr r2, [sp, #0x18]
add r0, r7, r0
add r1, r5, #0
mov r3, #0x11
str r4, [sp, #8]
bl ov43_0222ECD4
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0222DAC0 ; =0x000F0200
ldr r2, [sp, #0x18]
str r0, [sp, #8]
mov r0, #0x5e
lsl r0, r0, #2
add r0, r7, r0
add r1, r5, #0
mov r3, #0xf
bl ov43_0222ECD4
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x18]
ldr r1, [r5, #4]
add r2, r5, r2
ldrb r2, [r2, #0x18]
ldr r3, [sp, #0x1c]
bl ov43_0222AB5C
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0222DAC8 ; =0x00010200
ldr r2, [sp, #0x18]
str r0, [sp, #8]
mov r0, #0x52
lsl r0, r0, #2
add r0, r7, r0
add r1, r5, #0
mov r3, #0x10
bl ov43_0222ECD4
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0222DAC0 ; =0x000F0200
ldr r2, [sp, #0x18]
str r0, [sp, #8]
mov r0, #0x62
lsl r0, r0, #2
add r0, r7, r0
add r1, r5, #0
mov r3, #0x1b
bl ov43_0222ECD4
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x18]
ldr r1, [r5, #4]
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl ov43_0222AB94
cmp r0, #0
beq _0222DA0E
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0222DAC8 ; =0x00010200
ldr r2, [sp, #0x18]
str r0, [sp, #8]
mov r0, #0x56
lsl r0, r0, #2
add r0, r7, r0
add r1, r5, #0
mov r3, #0x1c
bl ov43_0222ECD4
_0222DA0E:
mov r1, #0xb
ldrsb r1, [r5, r1]
ldr r0, [sp, #0x24]
mov r2, #7
add r1, r5, r1
ldrb r1, [r1, #0x18]
bl sub_0202C090
add r1, r0, #0
ldr r0, [sp, #0x20]
mov r2, #1
bl sub_0205B46C
mov r1, #2
add r2, sp, #0x28
bl sub_02070D84
mov r1, #0x32
ldr r0, [sp, #0x1c]
lsl r1, r1, #6
bl AllocFromHeap
mov r3, #0
add r4, r0, #0
str r3, [sp]
mov r0, #0xa
str r0, [sp, #4]
str r0, [sp, #8]
str r4, [sp, #0xc]
ldr r0, [sp, #0x28]
ldr r1, [sp, #0x3c]
ldr r2, [sp, #0x1c]
bl sub_020141C4
mov r0, #0x50
str r0, [sp]
mov r2, #0
str r0, [sp, #4]
str r2, [sp, #8]
str r2, [sp, #0xc]
str r0, [sp, #0x10]
str r0, [sp, #0x14]
mov r0, #0x5a
lsl r0, r0, #2
add r0, r7, r0
add r1, r4, #0
add r3, r2, #0
bl BlitBitmapRectToWindow
add r0, r4, #0
bl FreeToHeap
mov r0, #0x20
str r0, [sp]
ldr r0, [sp, #0x1c]
mov r3, #0x1e
str r0, [sp, #4]
ldr r0, [sp, #0x28]
ldr r1, [sp, #0x30]
mov r2, #4
lsl r3, r3, #4
bl GfGfxLoader_GXLoadPal
mov r1, #4
mov r0, #0xa
str r0, [sp]
str r0, [sp, #4]
mov r0, #0xf
str r0, [sp, #8]
ldr r0, [sp, #0x18]
add r2, r1, #0
ldr r0, [r0]
add r3, r1, #0
bl sub_0201CA4C
mov r0, #0x46
lsl r0, r0, #2
mov r4, #0
add r5, r7, r0
_0222DAAC:
add r0, r5, #0
bl sub_0201D5C8
add r4, r4, #1
add r5, #0x10
cmp r4, #8
blo _0222DAAC
add sp, #0x40
pop {r3, r4, r5, r6, r7, pc}
nop
_0222DAC0: .word 0x000F0200
_0222DAC4: .word 0x00050600
_0222DAC8: .word 0x00010200
thumb_func_end ov43_0222D8B8
thumb_func_start ov43_0222DACC
ov43_0222DACC: ; 0x0222DACC
push {r3, r4, r5, lr}
mov r1, #0x46
lsl r1, r1, #2
mov r4, #0
add r5, r0, r1
_0222DAD6:
add r0, r5, #0
bl sub_0201D8E4
add r4, r4, #1
add r5, #0x10
cmp r4, #8
blt _0222DAD6
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov43_0222DACC
thumb_func_start ov43_0222DAE8
ov43_0222DAE8: ; 0x0222DAE8
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
add r7, r1, #0
add r4, r2, #0
add r6, r3, #0
bne _0222DB00
ldr r2, [sp, #0x20]
add r1, r4, #0
strh r2, [r5]
bl ov43_0222DB28
_0222DB00:
mov r0, #1
lsl r0, r0, #8
add r0, r5, r0
str r0, [sp]
ldr r0, [r5, #0x10]
add r5, #0x14
str r0, [sp, #4]
ldr r0, [sp, #0x24]
ldr r3, [sp, #0x20]
str r0, [sp, #8]
mov r0, #0x4c
mul r0, r6
add r0, r5, r0
add r1, r7, #0
add r2, r4, #0
bl ov43_0222DF4C
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov43_0222DAE8
thumb_func_start ov43_0222DB28
ov43_0222DB28: ; 0x0222DB28
push {r3, r4, r5, lr}
ldr r0, [r0, #0x10]
add r5, r1, #0
cmp r0, #1
bne _0222DB4A
lsl r1, r2, #5
mov r0, #0x7f
lsl r0, r0, #2
add r1, #0x10
lsl r1, r1, #0x10
ldr r0, [r5, r0]
asr r1, r1, #0x10
mov r2, #0xb0
mov r4, #2
bl sub_0200DD88
b _0222DB78
_0222DB4A:
cmp r2, #2
bne _0222DB60
mov r0, #0x7f
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #0xf0
mov r2, #0xb0
mov r4, #2
bl sub_0200DD88
b _0222DB78
_0222DB60:
mov r1, #0x70
mul r1, r2
mov r0, #0x7f
lsl r0, r0, #2
add r1, #0x38
lsl r1, r1, #0x10
ldr r0, [r5, r0]
asr r1, r1, #0x10
mov r2, #0xb0
mov r4, #1
bl sub_0200DD88
_0222DB78:
add r0, r5, #0
mov r1, #1
add r2, r4, #0
bl ov43_0222AD74
pop {r3, r4, r5, pc}
thumb_func_end ov43_0222DB28
thumb_func_start ov43_0222DB84
ov43_0222DB84: ; 0x0222DB84
ldr r3, _0222DB90 ; =ov43_0222AD74
add r0, r1, #0
mov r1, #0
mov r2, #0xff
bx r3
nop
_0222DB90: .word ov43_0222AD74
thumb_func_end ov43_0222DB84
thumb_func_start ov43_0222DB94
ov43_0222DB94: ; 0x0222DB94
push {r3, r4, r5, r6, lr}
sub sp, #0x1c
add r6, r0, #0
ldr r0, [r6, #0x10]
add r5, r1, #0
add r4, r2, #0
cmp r0, #1
bne _0222DBDC
mov r0, #0x83
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #0x20
str r1, [sp]
mov r1, #4
str r1, [sp, #4]
add r1, r0, #0
add r1, #0xc
str r1, [sp, #8]
mov r2, #0
str r2, [sp, #0xc]
mov r1, #0xc
str r1, [sp, #0x10]
ldrh r1, [r0]
mov r3, #0x14
lsl r1, r1, #0x15
lsr r1, r1, #0x18
str r1, [sp, #0x14]
ldrh r0, [r0, #2]
mov r1, #2
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #0x18]
ldr r0, [r5]
bl sub_0201C4EC
b _0222DC10
_0222DBDC:
mov r0, #0x83
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #0x20
str r1, [sp]
mov r1, #4
str r1, [sp, #4]
add r1, r0, #0
add r1, #0xc
str r1, [sp, #8]
mov r2, #0
str r2, [sp, #0xc]
mov r3, #0x14
str r3, [sp, #0x10]
ldrh r1, [r0]
lsl r1, r1, #0x15
lsr r1, r1, #0x18
str r1, [sp, #0x14]
ldrh r0, [r0, #2]
mov r1, #2
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #0x18]
ldr r0, [r5]
bl sub_0201C4EC
_0222DC10:
cmp r4, #0xff
bne _0222DC20
ldr r0, [r5]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
add sp, #0x1c
pop {r3, r4, r5, r6, pc}
_0222DC20:
mov r0, #0x83
ldr r1, [r6, #0x10]
lsl r0, r0, #2
ldr r3, [r5, r0]
ldr r2, _0222DC70 ; =0x0222EDB8
lsl r0, r1, #3
add r2, r2, r0
ldr r6, _0222DC74 ; =0x0222EDF8
ldrb r2, [r4, r2]
add r0, r6, r0
ldrb r0, [r4, r0]
str r0, [sp]
mov r0, #4
str r0, [sp, #4]
add r0, r3, #0
add r0, #0xc
str r0, [sp, #8]
ldr r0, _0222DC78 ; =0x0222F0C4
str r2, [sp, #0xc]
ldrb r0, [r0, r1]
mov r1, #2
str r0, [sp, #0x10]
ldrh r0, [r3]
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #0x14]
ldrh r0, [r3, #2]
mov r3, #0x14
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #0x18]
ldr r0, [r5]
bl sub_0201C4EC
ldr r0, [r5]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
add sp, #0x1c
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_0222DC70: .word 0x0222EDB8
_0222DC74: .word 0x0222EDF8
_0222DC78: .word 0x0222F0C4
thumb_func_end ov43_0222DB94
thumb_func_start ov43_0222DC7C
ov43_0222DC7C: ; 0x0222DC7C
push {r3, r4, lr}
sub sp, #0x1c
mov r0, #0x83
add r4, r1, #0
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0x20
str r1, [sp]
mov r1, #4
str r1, [sp, #4]
add r1, r0, #0
add r1, #0xc
str r1, [sp, #8]
mov r2, #0
str r2, [sp, #0xc]
mov r1, #0x1c
str r1, [sp, #0x10]
ldrh r1, [r0]
mov r3, #0x14
lsl r1, r1, #0x15
lsr r1, r1, #0x18
str r1, [sp, #0x14]
ldrh r0, [r0, #2]
mov r1, #2
lsl r0, r0, #0x15
lsr r0, r0, #0x18
str r0, [sp, #0x18]
ldr r0, [r4]
bl sub_0201C4EC
ldr r0, [r4]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
add sp, #0x1c
pop {r3, r4, pc}
thumb_func_end ov43_0222DC7C
thumb_func_start ov43_0222DCC4
ov43_0222DCC4: ; 0x0222DCC4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #4]
add r7, r1, #0
bl sub_0202C6F4
add r6, r0, #0
mov r0, #0xb
ldrsb r4, [r5, r0]
cmp r7, #0
bne _0222DD0A
ldr r1, [r5, #0x10]
mov r7, #0
sub r0, r1, #1
beq _0222DD3A
_0222DCE2:
sub r4, r4, #1
bpl _0222DCE8
add r4, r4, r1
_0222DCE8:
add r1, r5, r4
ldrb r1, [r1, #0x18]
add r0, r6, #0
mov r2, #8
bl sub_0202C090
cmp r0, #2
beq _0222DCFE
strb r4, [r5, #0xb]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0222DCFE:
ldr r1, [r5, #0x10]
add r7, r7, #1
sub r0, r1, #1
cmp r7, r0
blo _0222DCE2
b _0222DD3A
_0222DD0A:
ldr r1, [r5, #0x10]
mov r7, #0
sub r0, r1, #1
beq _0222DD3A
_0222DD12:
add r0, r4, #1
bl _u32_div_f
add r4, r1, #0
add r1, r5, r4
ldrb r1, [r1, #0x18]
add r0, r6, #0
mov r2, #8
bl sub_0202C090
cmp r0, #2
beq _0222DD30
strb r4, [r5, #0xb]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0222DD30:
ldr r1, [r5, #0x10]
add r7, r7, #1
sub r0, r1, #1
cmp r7, r0
blo _0222DD12
_0222DD3A:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov43_0222DCC4
thumb_func_start ov43_0222DD40
ov43_0222DD40: ; 0x0222DD40
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r7, r1, #0
ldr r1, _0222DD84 ; =_0222ED5C
str r2, [sp, #4]
ldrh r2, [r1, #0x2e]
add r5, r0, #0
add r0, sp, #8
strh r2, [r0]
ldrh r2, [r1, #0x30]
add r4, sp, #8
mov r6, #0
strh r2, [r0, #2]
ldrh r2, [r1, #0x32]
ldrh r1, [r1, #0x34]
strh r2, [r0, #4]
strh r1, [r0, #6]
_0222DD62:
ldr r0, [sp, #4]
mov r2, #1
str r0, [sp]
ldrh r1, [r4]
ldr r0, [r7, #0x58]
add r3, r5, #4
bl sub_02007C2C
str r0, [r5]
add r6, r6, #1
add r5, #8
add r4, r4, #2
cmp r6, #4
blt _0222DD62
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_0222DD84: .word _0222ED5C
thumb_func_end ov43_0222DD40
thumb_func_start ov43_0222DD88
ov43_0222DD88: ; 0x0222DD88
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_0222DD8E:
ldr r0, [r5]
bl FreeToHeap
add r4, r4, #1
add r5, #8
cmp r4, #4
blt _0222DD8E
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov43_0222DD88
thumb_func_start ov43_0222DDA0
ov43_0222DDA0: ; 0x0222DDA0
push {r3, r4, r5, r6, r7, lr}
add r7, r1, #0
mov r1, #0x46
lsl r1, r1, #2
ldr r4, _0222DDCC ; =0x0222EF20
mov r6, #0
add r5, r0, r1
_0222DDAE:
ldr r0, [r7]
add r1, r5, #0
add r2, r4, #0
bl AddWindow
add r0, r5, #0
mov r1, #0
bl FillWindowPixelBuffer
add r6, r6, #1
add r4, #8
add r5, #0x10
cmp r6, #8
blt _0222DDAE
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0222DDCC: .word 0x0222EF20
thumb_func_end ov43_0222DDA0
thumb_func_start ov43_0222DDD0
ov43_0222DDD0: ; 0x0222DDD0
push {r3, r4, r5, lr}
mov r1, #0x46
lsl r1, r1, #2
mov r4, #0
add r5, r0, r1
_0222DDDA:
add r0, r5, #0
bl ClearWindowTilemapAndCopyToVram
add r0, r5, #0
bl RemoveWindow
add r4, r4, #1
add r5, #0x10
cmp r4, #8
blt _0222DDDA
pop {r3, r4, r5, pc}
thumb_func_end ov43_0222DDD0
thumb_func_start ov43_0222DDF0
ov43_0222DDF0: ; 0x0222DDF0
ldrh r1, [r2]
strh r1, [r0]
ldrh r1, [r2, #2]
strh r1, [r0, #2]
ldrh r1, [r2, #4]
mov r2, #0
strh r1, [r0, #4]
str r3, [r0, #8]
add r1, r2, #0
_0222DE02:
str r1, [r0, #0xc]
str r1, [r0, #0x2c]
add r2, r2, #1
add r0, r0, #4
cmp r2, #8
blt _0222DE02
bx lr
thumb_func_end ov43_0222DDF0
thumb_func_start ov43_0222DE10
ov43_0222DE10: ; 0x0222DE10
bx lr
.balign 4, 0
thumb_func_end ov43_0222DE10
thumb_func_start ov43_0222DE14
ov43_0222DE14: ; 0x0222DE14
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
str r1, [sp, #0x18]
add r1, r3, #0
str r0, [sp, #0x14]
lsl r1, r1, #0x18
ldr r0, [sp, #0x44]
lsr r1, r1, #0x18
str r3, [sp, #0x1c]
lsl r4, r2, #2
bl AllocWindows
ldr r1, [sp, #0x14]
add r7, r1, r4
str r0, [r7, #0xc]
ldr r0, [sp, #0x1c]
str r0, [r7, #0x2c]
add r0, r1, #0
ldr r0, [r0, #8]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x20]
mov r0, #0
str r0, [sp, #0x24]
ldr r0, [sp, #0x1c]
cmp r0, #0
bls _0222DECA
ldr r4, [sp, #0x24]
ldr r5, [sp, #0x40]
_0222DE4E:
ldr r0, [r7, #0xc]
add r0, r0, r4
bl InitWindow
ldr r1, [sp, #0x14]
mov r0, #2
ldrsh r0, [r1, r0]
cmp r0, #0
bge _0222DE62
neg r0, r0
_0222DE62:
ldr r2, [sp, #0x14]
mov r1, #0
ldrsh r6, [r2, r1]
cmp r6, #0
bge _0222DE6E
neg r6, r6
_0222DE6E:
ldrb r1, [r5, #1]
mov r2, #3
add r0, r1, r0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldrb r0, [r5, #2]
str r0, [sp, #4]
ldrb r0, [r5, #3]
str r0, [sp, #8]
mov r0, #0xb
str r0, [sp, #0xc]
ldr r0, [sp, #0x20]
str r0, [sp, #0x10]
ldrb r3, [r5]
ldr r0, [sp, #0x18]
ldr r1, [r7, #0xc]
add r3, r3, r6
lsl r3, r3, #0x18
ldr r0, [r0]
add r1, r1, r4
lsr r3, r3, #0x18
bl AddWindowParameterized
ldr r0, [r7, #0xc]
mov r1, #0
add r0, r0, r4
bl FillWindowPixelBuffer
ldrb r1, [r5, #2]
ldrb r0, [r5, #3]
add r4, #0x10
add r2, r1, #0
mul r2, r0
ldr r0, [sp, #0x20]
add r5, r5, #4
add r0, r0, r2
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x20]
ldr r0, [sp, #0x24]
add r1, r0, #1
ldr r0, [sp, #0x1c]
str r1, [sp, #0x24]
cmp r1, r0
blo _0222DE4E
_0222DECA:
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov43_0222DE14
thumb_func_start ov43_0222DED0
ov43_0222DED0: ; 0x0222DED0
push {r4, r5, r6, lr}
add r5, r0, #0
lsl r4, r1, #2
add r0, r5, r4
ldr r0, [r0, #0xc]
cmp r0, #0
beq _0222DEF4
add r6, r5, #0
add r6, #0x2c
ldr r1, [r6, r4]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
bl sub_0201D54C
mov r1, #0
add r0, r5, r4
str r1, [r0, #0xc]
str r1, [r6, r4]
_0222DEF4:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov43_0222DED0
thumb_func_start ov43_0222DEF8
ov43_0222DEF8: ; 0x0222DEF8
push {r4, r5, r6, lr}
lsl r1, r1, #2
add r5, r0, r1
ldr r0, [r5, #0x2c]
mov r6, #0
cmp r0, #0
bls _0222DF1A
add r4, r6, #0
_0222DF08:
ldr r0, [r5, #0xc]
add r0, r0, r4
bl sub_0201D5C8
ldr r0, [r5, #0x2c]
add r6, r6, #1
add r4, #0x10
cmp r6, r0
blo _0222DF08
_0222DF1A:
pop {r4, r5, r6, pc}
thumb_func_end ov43_0222DEF8
thumb_func_start ov43_0222DF1C
ov43_0222DF1C: ; 0x0222DF1C
push {r3, r4, r5, r6, r7, lr}
lsl r1, r1, #2
add r5, r0, r1
ldr r0, [r5, #0x2c]
mov r6, #0
cmp r0, #0
bls _0222DF4A
add r4, r6, #0
add r7, r6, #0
_0222DF2E:
ldr r0, [r5, #0xc]
add r0, r0, r4
bl sub_0201D8E4
ldr r0, [r5, #0xc]
add r1, r7, #0
add r0, r0, r4
bl FillWindowPixelBuffer
ldr r0, [r5, #0x2c]
add r6, r6, #1
add r4, #0x10
cmp r6, r0
blo _0222DF2E
_0222DF4A:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov43_0222DF1C
thumb_func_start ov43_0222DF4C
ov43_0222DF4C: ; 0x0222DF4C
push {r3, r4, r5, r6, r7, lr}
add r5, r2, #0
add r7, r1, #0
add r1, r5, #0
add r6, r0, #0
add r4, r3, #0
bl ov43_0222DF90
ldr r0, [sp, #0x1c]
cmp r0, #0
beq _0222DF74
add r2, r5, #0
lsl r5, r4, #2
ldr r4, _0222DF88 ; =0x0222F12C
ldr r3, [sp, #0x20]
ldr r4, [r4, r5]
add r0, r6, #0
add r1, r7, #0
blx r4
pop {r3, r4, r5, r6, r7, pc}
_0222DF74:
add r2, r5, #0
lsl r5, r4, #2
ldr r4, _0222DF8C ; =0x0222F0E0
ldr r3, [sp, #0x20]
ldr r4, [r4, r5]
add r0, r6, #0
add r1, r7, #0
blx r4
pop {r3, r4, r5, r6, r7, pc}
nop
_0222DF88: .word 0x0222F12C
_0222DF8C: .word 0x0222F0E0
thumb_func_end ov43_0222DF4C
thumb_func_start ov43_0222DF90
ov43_0222DF90: ; 0x0222DF90
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r1, #0
mov r4, #0
_0222DF98:
add r0, r5, #0
add r1, r4, #0
bl ov43_0222DF1C
add r4, r4, #1
cmp r4, #8
blt _0222DF98
add r0, r6, #0
add r1, r5, #0
bl ov43_0222EC14
pop {r4, r5, r6, pc}
thumb_func_end ov43_0222DF90
thumb_func_start ov43_0222DFB0
ov43_0222DFB0: ; 0x0222DFB0
push {r4, r5, r6, r7, lr}
sub sp, #0x2c
add r5, r1, #0
str r0, [sp, #0x20]
ldr r0, [r5, #4]
add r4, r2, #0
bl sub_0202C6F4
str r0, [sp, #0x28]
mov r1, #0
str r4, [sp]
mov r0, #0x13
str r0, [sp, #4]
str r1, [sp, #8]
ldr r0, _0222E0E4 ; =0x00010200
str r1, [sp, #0xc]
str r0, [sp, #0x10]
ldr r0, [r4, #0x7c]
add r2, r1, #0
str r0, [sp, #0x14]
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
add r3, r5, #0
str r0, [sp, #0x18]
ldr r0, [sp, #0x20]
str r1, [sp, #0x1c]
bl ov43_0222EC58
mov r6, #0
str r6, [sp, #0x24]
_0222DFEE:
ldr r0, [sp, #0x24]
str r4, [sp]
lsl r0, r0, #0x18
lsr r7, r0, #0x18
add r0, r6, #0
add r0, #0x14
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
ldr r0, _0222E0E4 ; =0x00010200
str r7, [sp, #0xc]
str r0, [sp, #0x10]
ldr r0, [r4, #0x7c]
mov r1, #0
str r0, [sp, #0x14]
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
mov r2, #2
str r0, [sp, #0x18]
mov r0, #0
str r0, [sp, #0x1c]
ldr r0, [sp, #0x20]
add r3, r5, #0
bl ov43_0222EC58
mov r1, #0xb
ldrsb r1, [r5, r1]
ldr r0, [sp, #0x28]
add r2, r6, #1
add r1, r5, r1
ldrb r1, [r1, #0x18]
bl sub_0202C090
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x16
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
ldr r0, _0222E0E4 ; =0x00010200
str r7, [sp, #0xc]
str r0, [sp, #0x10]
ldr r0, [r4, #0x7c]
mov r1, #0
str r0, [sp, #0x14]
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
mov r2, #2
str r0, [sp, #0x18]
mov r0, #0
str r0, [sp, #0x1c]
ldr r0, [sp, #0x20]
add r3, r5, #0
bl ov43_0222EC58
ldr r0, [sp, #0x24]
add r6, r6, #1
add r0, #0x18
str r0, [sp, #0x24]
cmp r6, #2
blo _0222DFEE
str r4, [sp]
mov r0, #0x17
str r0, [sp, #4]
mov r1, #0
str r1, [sp, #8]
ldr r0, _0222E0E4 ; =0x00010200
str r1, [sp, #0xc]
str r0, [sp, #0x10]
ldr r0, [r4, #0x7c]
mov r2, #1
str r0, [sp, #0x14]
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
add r3, r5, #0
str r0, [sp, #0x18]
ldr r0, [sp, #0x20]
str r1, [sp, #0x1c]
bl ov43_0222EC58
mov r1, #0xb
ldrsb r1, [r5, r1]
ldr r0, [sp, #0x28]
mov r2, #3
add r1, r5, r1
ldrb r1, [r1, #0x18]
bl sub_0202C090
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x18
str r0, [sp, #4]
mov r1, #0
str r1, [sp, #8]
ldr r0, _0222E0E4 ; =0x00010200
str r1, [sp, #0xc]
str r0, [sp, #0x10]
ldr r0, [r4, #0x7c]
add r4, #0x80
str r0, [sp, #0x14]
ldr r0, [r4]
mov r2, #3
str r0, [sp, #0x18]
ldr r0, [sp, #0x20]
add r3, r5, #0
str r1, [sp, #0x1c]
bl ov43_0222EC58
ldr r0, [sp, #0x20]
mov r1, #0
bl ov43_0222DEF8
add sp, #0x2c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0222E0E4: .word 0x00010200
thumb_func_end ov43_0222DFB0
thumb_func_start ov43_0222E0E8
ov43_0222E0E8: ; 0x0222E0E8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r1, #0
add r6, r0, #0
ldr r0, [r5, #4]
add r4, r2, #0
bl sub_0203107C
add r7, r0, #0
str r4, [sp]
mov r0, #0x1d
str r0, [sp, #4]
mov r2, #0
str r2, [sp, #8]
ldr r0, _0222E21C ; =0x00010200
str r2, [sp, #0xc]
str r0, [sp, #0x10]
ldr r0, [r4, #0x7c]
mov r1, #2
str r0, [sp, #0x14]
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
add r3, r5, #0
str r0, [sp, #0x18]
add r0, r6, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
add r0, r7, #0
mov r1, #0x64
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
str r4, [sp]
add r0, #0x22
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
ldr r1, _0222E21C ; =0x00010200
str r0, [sp, #0xc]
str r1, [sp, #0x10]
ldr r1, [r4, #0x7c]
mov r2, #1
str r1, [sp, #0x14]
add r1, r4, #0
add r1, #0x80
ldr r1, [r1]
add r3, r5, #0
str r1, [sp, #0x18]
str r0, [sp, #0x1c]
add r0, r6, #0
mov r1, #2
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
add r0, r7, #0
mov r1, #0x71
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x25
str r0, [sp, #4]
mov r0, #0x70
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r0, _0222E21C ; =0x00010200
mov r2, #1
str r0, [sp, #0x10]
ldr r0, [r4, #0x7c]
mov r1, #2
str r0, [sp, #0x14]
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
add r3, r5, #0
str r0, [sp, #0x18]
str r2, [sp, #0x1c]
add r0, r6, #0
bl ov43_0222EC58
str r4, [sp]
mov r0, #0x24
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r1, #0x18
str r1, [sp, #0xc]
ldr r1, _0222E21C ; =0x00010200
mov r2, #1
str r1, [sp, #0x10]
ldr r1, [r4, #0x7c]
add r3, r5, #0
str r1, [sp, #0x14]
add r1, r4, #0
add r1, #0x80
ldr r1, [r1]
str r1, [sp, #0x18]
str r0, [sp, #0x1c]
add r0, r6, #0
mov r1, #2
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
add r0, r7, #0
mov r1, #0x70
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x25
str r0, [sp, #4]
mov r0, #0x70
str r0, [sp, #8]
mov r0, #0x18
str r0, [sp, #0xc]
ldr r0, _0222E21C ; =0x00010200
mov r2, #1
str r0, [sp, #0x10]
ldr r0, [r4, #0x7c]
add r4, #0x80
str r0, [sp, #0x14]
ldr r0, [r4]
mov r1, #2
str r0, [sp, #0x18]
add r0, r6, #0
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
add r0, r6, #0
mov r1, #2
bl ov43_0222DEF8
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
nop
_0222E21C: .word 0x00010200
thumb_func_end ov43_0222E0E8
thumb_func_start ov43_0222E220
ov43_0222E220: ; 0x0222E220
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
add r5, r1, #0
str r0, [sp, #0x20]
ldr r0, [r5, #4]
add r6, r3, #0
add r4, r2, #0
bl sub_0203107C
str r0, [sp, #0x24]
mov r0, #0x80
add r1, r6, #0
bl String_ctor
add r7, r0, #0
mov r0, #0x80
add r1, r6, #0
bl String_ctor
add r6, r0, #0
str r4, [sp]
mov r0, #0x1e
str r0, [sp, #4]
mov r2, #0
str r2, [sp, #8]
ldr r0, _0222E5B0 ; =0x00010200
str r2, [sp, #0xc]
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
ldr r0, [sp, #0x20]
str r2, [sp, #0x1c]
mov r1, #3
add r3, r5, #0
bl ov43_0222EC58
str r4, [sp]
mov r0, #0x26
str r0, [sp, #4]
mov r1, #0
str r1, [sp, #8]
ldr r0, _0222E5B0 ; =0x00010200
str r1, [sp, #0xc]
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
str r1, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r1, #3
mov r2, #1
add r3, r5, #0
bl ov43_0222EC58
str r4, [sp]
mov r0, #0x28
str r0, [sp, #4]
mov r0, #0xd0
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r0, _0222E5B0 ; =0x00010200
mov r1, #3
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
mov r0, #2
str r0, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r2, #1
add r3, r5, #0
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x66
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
cmp r0, #0
bne _0222E2C8
mov r0, #0x22
b _0222E2CA
_0222E2C8:
mov r0, #0x23
_0222E2CA:
str r4, [sp]
str r0, [sp, #4]
mov r1, #0
str r1, [sp, #8]
ldr r0, _0222E5B0 ; =0x00010200
str r1, [sp, #0xc]
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
str r1, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r1, #3
mov r2, #2
add r3, r5, #0
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x73
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x25
str r0, [sp, #4]
mov r0, #0x70
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r0, _0222E5B0 ; =0x00010200
mov r1, #3
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
mov r0, #1
str r0, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r2, #2
add r3, r5, #0
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x75
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x2b
str r0, [sp, #4]
mov r1, #0
str r1, [sp, #8]
ldr r0, _0222E5B0 ; =0x00010200
str r1, [sp, #0xc]
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
str r1, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r1, #3
mov r2, #2
add r3, r5, #0
bl ov43_0222EC58
str r4, [sp]
mov r0, #0x24
str r0, [sp, #4]
mov r1, #0
str r1, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
ldr r0, _0222E5B0 ; =0x00010200
mov r2, #2
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
str r1, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r1, #3
add r3, r5, #0
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x72
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x25
str r0, [sp, #4]
mov r0, #0x70
str r0, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
ldr r0, _0222E5B0 ; =0x00010200
mov r1, #3
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
mov r0, #1
str r0, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r2, #2
add r3, r5, #0
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x74
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x2b
str r0, [sp, #4]
mov r1, #0
str r1, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
ldr r0, _0222E5B0 ; =0x00010200
mov r2, #2
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
str r1, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r1, #3
add r3, r5, #0
bl ov43_0222EC58
str r4, [sp]
mov r0, #0x27
str r0, [sp, #4]
mov r1, #0
str r1, [sp, #8]
ldr r0, _0222E5B0 ; =0x00010200
str r1, [sp, #0xc]
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
str r1, [sp, #0x1c]
mov r1, #3
ldr r0, [sp, #0x20]
add r2, r1, #0
add r3, r5, #0
bl ov43_0222EC58
mov r1, #3
str r4, [sp]
mov r0, #0x28
str r0, [sp, #4]
mov r0, #0xd0
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r0, _0222E5B0 ; =0x00010200
add r2, r1, #0
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
mov r0, #2
str r0, [sp, #0x1c]
ldr r0, [sp, #0x20]
add r3, r5, #0
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x68
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
cmp r0, #0
bne _0222E460
mov r0, #0x22
b _0222E462
_0222E460:
mov r0, #0x23
_0222E462:
str r4, [sp]
str r0, [sp, #4]
mov r1, #0
str r1, [sp, #8]
ldr r0, _0222E5B0 ; =0x00010200
str r1, [sp, #0xc]
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
str r1, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r1, #3
mov r2, #4
add r3, r5, #0
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x77
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x25
str r0, [sp, #4]
mov r0, #0x70
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r0, _0222E5B0 ; =0x00010200
mov r1, #3
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
mov r0, #1
str r0, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r2, #4
add r3, r5, #0
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x79
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x2b
str r0, [sp, #4]
mov r1, #0
str r1, [sp, #8]
ldr r0, _0222E5B0 ; =0x00010200
str r1, [sp, #0xc]
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
str r1, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r1, #3
mov r2, #4
add r3, r5, #0
bl ov43_0222EC58
str r4, [sp]
mov r0, #0x24
str r0, [sp, #4]
mov r1, #0
str r1, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
ldr r0, _0222E5B0 ; =0x00010200
mov r2, #4
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
str r1, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r1, #3
add r3, r5, #0
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x76
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x25
str r0, [sp, #4]
mov r0, #0x70
str r0, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
ldr r0, _0222E5B0 ; =0x00010200
mov r1, #3
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
mov r0, #1
str r0, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r2, #4
add r3, r5, #0
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x78
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x2b
str r0, [sp, #4]
mov r1, #0
str r1, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
ldr r0, _0222E5B0 ; =0x00010200
mov r2, #4
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
str r1, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r1, #3
add r3, r5, #0
bl ov43_0222EC58
ldr r0, [sp, #0x20]
mov r1, #3
bl ov43_0222DEF8
add r0, r7, #0
bl String_dtor
add r0, r6, #0
bl String_dtor
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0222E5B0: .word 0x00010200
thumb_func_end ov43_0222E220
thumb_func_start ov43_0222E5B4
ov43_0222E5B4: ; 0x0222E5B4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
add r5, r1, #0
str r0, [sp, #0x20]
ldr r0, [r5, #4]
add r6, r3, #0
add r4, r2, #0
bl sub_0203107C
str r0, [sp, #0x24]
mov r0, #0x80
add r1, r6, #0
bl String_ctor
add r7, r0, #0
mov r0, #0x80
add r1, r6, #0
bl String_ctor
add r6, r0, #0
str r4, [sp]
mov r0, #0x1f
str r0, [sp, #4]
mov r2, #0
str r2, [sp, #8]
ldr r0, _0222E788 ; =0x00010200
str r2, [sp, #0xc]
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
ldr r0, [sp, #0x20]
str r2, [sp, #0x1c]
mov r1, #4
add r3, r5, #0
bl ov43_0222EC58
str r4, [sp]
mov r0, #0x29
str r0, [sp, #4]
mov r0, #0x68
str r0, [sp, #8]
mov r0, #0x14
str r0, [sp, #0xc]
ldr r0, _0222E788 ; =0x00010200
mov r2, #0
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
ldr r0, [sp, #0x20]
mov r1, #4
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x6c
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
cmp r0, #0
bne _0222E638
mov r0, #0x22
b _0222E63A
_0222E638:
mov r0, #0x23
_0222E63A:
str r4, [sp]
str r0, [sp, #4]
mov r2, #0
str r2, [sp, #8]
mov r0, #0x30
str r0, [sp, #0xc]
ldr r0, _0222E788 ; =0x00010200
mov r1, #4
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
ldr r0, [sp, #0x20]
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x87
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x2d
str r0, [sp, #4]
mov r0, #0x70
str r0, [sp, #8]
mov r0, #0x30
str r0, [sp, #0xc]
ldr r0, _0222E788 ; =0x00010200
mov r1, #4
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
mov r0, #1
str r0, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r2, #0
add r3, r5, #0
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x88
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x2c
str r0, [sp, #4]
mov r0, #0xa8
str r0, [sp, #8]
mov r0, #0x30
str r0, [sp, #0xc]
ldr r0, _0222E788 ; =0x00010200
mov r2, #0
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
ldr r0, [sp, #0x20]
str r2, [sp, #0x1c]
mov r1, #4
add r3, r5, #0
bl ov43_0222EC58
str r4, [sp]
mov r0, #0x24
str r0, [sp, #4]
mov r2, #0
str r2, [sp, #8]
mov r0, #0x48
str r0, [sp, #0xc]
ldr r0, _0222E788 ; =0x00010200
mov r1, #4
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
ldr r0, [sp, #0x20]
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x86
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x2d
str r0, [sp, #4]
mov r0, #0x70
str r0, [sp, #8]
mov r0, #0x48
str r0, [sp, #0xc]
ldr r0, _0222E788 ; =0x00010200
mov r1, #4
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
mov r0, #1
str r0, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r2, #0
add r3, r5, #0
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x8a
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x2c
str r0, [sp, #4]
mov r0, #0xa8
str r0, [sp, #8]
mov r0, #0x48
str r0, [sp, #0xc]
ldr r0, _0222E788 ; =0x00010200
mov r2, #0
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
ldr r0, [sp, #0x20]
mov r1, #4
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
ldr r0, [sp, #0x20]
mov r1, #4
bl ov43_0222DEF8
add r0, r7, #0
bl String_dtor
add r0, r6, #0
bl String_dtor
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0222E788: .word 0x00010200
thumb_func_end ov43_0222E5B4
thumb_func_start ov43_0222E78C
ov43_0222E78C: ; 0x0222E78C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
add r5, r1, #0
str r0, [sp, #0x20]
ldr r0, [r5, #4]
str r3, [sp, #0x24]
add r4, r2, #0
bl sub_0203107C
str r0, [sp, #0x28]
ldr r1, [sp, #0x24]
mov r0, #0x80
bl String_ctor
add r7, r0, #0
ldr r1, [sp, #0x24]
mov r0, #0x80
bl String_ctor
add r6, r0, #0
str r4, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r2, #0
str r2, [sp, #8]
ldr r0, _0222E900 ; =0x00010200
str r2, [sp, #0xc]
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
ldr r0, [sp, #0x20]
mov r1, #5
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x28]
mov r1, #0x7c
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
ldr r1, [sp, #0x24]
bl GetSpeciesName
str r0, [sp, #0x2c]
mov r0, #0x18
str r0, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _0222E900 ; =0x00010200
mov r1, #0
str r0, [sp, #8]
ldr r0, [sp, #0x20]
str r1, [sp, #0xc]
ldr r0, [r0, #0x20]
ldr r2, [sp, #0x2c]
add r3, r1, #0
bl AddTextPrinterParameterized2
ldr r0, [sp, #0x2c]
bl String_dtor
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x28]
mov r1, #0x6a
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
cmp r0, #0
bne _0222E826
mov r0, #0x22
b _0222E828
_0222E826:
mov r0, #0x23
_0222E828:
str r4, [sp]
str r0, [sp, #4]
mov r2, #0
str r2, [sp, #8]
mov r0, #0x30
str r0, [sp, #0xc]
ldr r0, _0222E900 ; =0x00010200
mov r1, #5
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
ldr r0, [sp, #0x20]
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x28]
mov r1, #0x7b
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x25
str r0, [sp, #4]
mov r0, #0x70
str r0, [sp, #8]
mov r0, #0x30
str r0, [sp, #0xc]
ldr r0, _0222E900 ; =0x00010200
mov r1, #5
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
mov r0, #1
str r0, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r2, #0
add r3, r5, #0
bl ov43_0222EC58
str r4, [sp]
mov r0, #0x24
str r0, [sp, #4]
mov r2, #0
str r2, [sp, #8]
mov r0, #0x48
str r0, [sp, #0xc]
ldr r0, _0222E900 ; =0x00010200
mov r1, #5
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
ldr r0, [sp, #0x20]
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x28]
mov r1, #0x7a
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x25
str r0, [sp, #4]
mov r0, #0x70
str r0, [sp, #8]
mov r0, #0x48
str r0, [sp, #0xc]
ldr r0, _0222E900 ; =0x00010200
mov r1, #5
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
mov r0, #1
str r0, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r2, #0
add r3, r5, #0
bl ov43_0222EC58
ldr r0, [sp, #0x20]
mov r1, #5
bl ov43_0222DEF8
add r0, r7, #0
bl String_dtor
add r0, r6, #0
bl String_dtor
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
nop
_0222E900: .word 0x00010200
thumb_func_end ov43_0222E78C
thumb_func_start ov43_0222E904
ov43_0222E904: ; 0x0222E904
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
add r5, r1, #0
str r0, [sp, #0x20]
ldr r0, [r5, #4]
add r6, r3, #0
add r4, r2, #0
bl sub_0203107C
str r0, [sp, #0x24]
mov r0, #0x80
add r1, r6, #0
bl String_ctor
add r7, r0, #0
mov r0, #0x80
add r1, r6, #0
bl String_ctor
add r6, r0, #0
str r4, [sp]
mov r0, #0x21
str r0, [sp, #4]
mov r2, #0
str r2, [sp, #8]
ldr r0, _0222EA3C ; =0x00010200
str r2, [sp, #0xc]
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
ldr r0, [sp, #0x20]
mov r1, #6
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x6e
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
cmp r0, #0
bne _0222E964
mov r0, #0x22
b _0222E966
_0222E964:
mov r0, #0x23
_0222E966:
str r4, [sp]
str r0, [sp, #4]
mov r2, #0
str r2, [sp, #8]
mov r0, #0x18
str r0, [sp, #0xc]
ldr r0, _0222EA3C ; =0x00010200
mov r1, #6
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
ldr r0, [sp, #0x20]
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x8f
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x2e
str r0, [sp, #4]
mov r0, #0x70
str r0, [sp, #8]
mov r0, #0x18
str r0, [sp, #0xc]
ldr r0, _0222EA3C ; =0x00010200
mov r1, #6
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
mov r0, #1
str r0, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r2, #0
add r3, r5, #0
bl ov43_0222EC58
str r4, [sp]
mov r0, #0x24
str r0, [sp, #4]
mov r2, #0
str r2, [sp, #8]
mov r0, #0x30
str r0, [sp, #0xc]
ldr r0, _0222EA3C ; =0x00010200
mov r1, #6
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
ldr r0, [sp, #0x20]
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
mov r2, #0xb
ldrsb r2, [r5, r2]
ldr r0, [sp, #0x24]
mov r1, #0x8e
add r2, r5, r2
ldrb r2, [r2, #0x18]
bl sub_020310BC
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x2e
str r0, [sp, #4]
mov r0, #0x70
str r0, [sp, #8]
mov r0, #0x30
str r0, [sp, #0xc]
ldr r0, _0222EA3C ; =0x00010200
mov r1, #6
str r0, [sp, #0x10]
str r7, [sp, #0x14]
str r6, [sp, #0x18]
mov r0, #1
str r0, [sp, #0x1c]
ldr r0, [sp, #0x20]
mov r2, #0
add r3, r5, #0
bl ov43_0222EC58
ldr r0, [sp, #0x20]
mov r1, #6
bl ov43_0222DEF8
add r0, r7, #0
bl String_dtor
add r0, r6, #0
bl String_dtor
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0222EA3C: .word 0x00010200
thumb_func_end ov43_0222E904
thumb_func_start ov43_0222EA40
ov43_0222EA40: ; 0x0222EA40
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
add r5, r1, #0
str r0, [sp, #0x20]
ldr r0, [r5, #4]
add r4, r2, #0
add r7, r3, #0
bl sub_0203107C
ldr r0, [r5, #4]
bl sub_0202C6F4
str r0, [sp, #0x24]
mov r0, #0x80
add r1, r7, #0
bl String_ctor
add r6, r0, #0
mov r0, #0x80
add r1, r7, #0
bl String_ctor
add r7, r0, #0
str r4, [sp]
mov r0, #0x2f
str r0, [sp, #4]
mov r2, #0
str r2, [sp, #8]
ldr r0, _0222EBD4 ; =0x00010200
str r2, [sp, #0xc]
str r0, [sp, #0x10]
str r6, [sp, #0x14]
str r7, [sp, #0x18]
ldr r0, [sp, #0x20]
mov r1, #1
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
add r0, r4, #0
mov r1, #0
bl ov43_0222AC18
str r4, [sp]
mov r0, #0x30
str r0, [sp, #4]
mov r2, #0
str r2, [sp, #8]
mov r0, #0x18
str r0, [sp, #0xc]
ldr r0, _0222EBD4 ; =0x00010200
mov r1, #1
str r0, [sp, #0x10]
str r6, [sp, #0x14]
str r7, [sp, #0x18]
ldr r0, [sp, #0x20]
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
mov r1, #0xb
ldrsb r1, [r5, r1]
ldr r0, [sp, #0x24]
mov r2, #0xa
add r1, r5, r1
ldrb r1, [r1, #0x18]
bl sub_0202C090
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x31
str r0, [sp, #4]
mov r0, #0x78
str r0, [sp, #8]
mov r0, #0x18
str r0, [sp, #0xc]
ldr r0, _0222EBD4 ; =0x00010200
mov r2, #0
str r0, [sp, #0x10]
str r6, [sp, #0x14]
str r7, [sp, #0x18]
ldr r0, [sp, #0x20]
mov r1, #1
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
add r0, r4, #0
mov r1, #1
bl ov43_0222AC18
str r4, [sp]
mov r0, #0x30
str r0, [sp, #4]
mov r2, #0
str r2, [sp, #8]
str r0, [sp, #0xc]
ldr r0, _0222EBD4 ; =0x00010200
mov r1, #1
str r0, [sp, #0x10]
str r6, [sp, #0x14]
str r7, [sp, #0x18]
ldr r0, [sp, #0x20]
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
mov r2, #0xb
ldrsb r1, [r5, r2]
ldr r0, [sp, #0x24]
add r1, r5, r1
ldrb r1, [r1, #0x18]
bl sub_0202C090
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x31
str r0, [sp, #4]
mov r0, #0x78
str r0, [sp, #8]
mov r0, #0x30
str r0, [sp, #0xc]
ldr r0, _0222EBD4 ; =0x00010200
mov r2, #0
str r0, [sp, #0x10]
str r6, [sp, #0x14]
str r7, [sp, #0x18]
ldr r0, [sp, #0x20]
mov r1, #1
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
add r0, r4, #0
mov r1, #2
bl ov43_0222AC18
str r4, [sp]
mov r0, #0x30
str r0, [sp, #4]
mov r2, #0
str r2, [sp, #8]
mov r0, #0x48
str r0, [sp, #0xc]
ldr r0, _0222EBD4 ; =0x00010200
mov r1, #1
str r0, [sp, #0x10]
str r6, [sp, #0x14]
str r7, [sp, #0x18]
ldr r0, [sp, #0x20]
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
mov r1, #0xb
ldrsb r1, [r5, r1]
ldr r0, [sp, #0x24]
mov r2, #0xc
add r1, r5, r1
ldrb r1, [r1, #0x18]
bl sub_0202C090
add r1, r0, #0
add r0, r4, #0
bl ov43_0222ABFC
str r4, [sp]
mov r0, #0x31
str r0, [sp, #4]
mov r0, #0x78
str r0, [sp, #8]
mov r0, #0x48
str r0, [sp, #0xc]
ldr r0, _0222EBD4 ; =0x00010200
mov r2, #0
str r0, [sp, #0x10]
str r6, [sp, #0x14]
str r7, [sp, #0x18]
ldr r0, [sp, #0x20]
mov r1, #1
add r3, r5, #0
str r2, [sp, #0x1c]
bl ov43_0222EC58
ldr r0, [sp, #0x20]
mov r1, #1
bl ov43_0222DEF8
add r0, r6, #0
bl String_dtor
add r0, r7, #0
bl String_dtor
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0222EBD4: .word 0x00010200
thumb_func_end ov43_0222EA40
thumb_func_start ov43_0222EBD8
ov43_0222EBD8: ; 0x0222EBD8
push {r3, r4, r5, lr}
sub sp, #0x20
add r3, r1, #0
str r2, [sp]
mov r1, #0xe
str r1, [sp, #4]
mov r4, #0
str r4, [sp, #8]
ldr r1, _0222EC10 ; =0x00010200
str r4, [sp, #0xc]
str r1, [sp, #0x10]
ldr r1, [r2, #0x7c]
add r2, #0x80
str r1, [sp, #0x14]
ldr r1, [r2]
add r5, r0, #0
str r1, [sp, #0x18]
mov r1, #7
add r2, r4, #0
str r4, [sp, #0x1c]
bl ov43_0222EC58
add r0, r5, #0
mov r1, #7
bl ov43_0222DEF8
add sp, #0x20
pop {r3, r4, r5, pc}
.balign 4, 0
_0222EC10: .word 0x00010200
thumb_func_end ov43_0222EBD8
thumb_func_start ov43_0222EC14
ov43_0222EC14: ; 0x0222EC14
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #2
ldrsh r2, [r1, r0]
cmp r2, #0
bge _0222EC24
neg r2, r2
_0222EC24:
mov r0, #0
ldrsh r3, [r1, r0]
cmp r3, #0
bge _0222EC2E
neg r3, r3
_0222EC2E:
lsl r0, r2, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #0x18
lsl r3, r3, #0x18
str r0, [sp, #8]
mov r2, #0
str r2, [sp, #0xc]
ldr r0, [r4]
mov r1, #3
lsr r3, r3, #0x18
bl FillBgTilemapRect
ldr r0, [r4]
mov r1, #3
bl ScheduleBgTilemapBufferTransfer
add sp, #0x10
pop {r4, pc}
thumb_func_end ov43_0222EC14
thumb_func_start ov43_0222EC58
ov43_0222EC58: ; 0x0222EC58
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
ldr r6, [sp, #0x30]
add r7, r0, #0
str r1, [sp, #0x10]
str r2, [sp, #0x14]
ldr r0, [r6, #0x54]
ldr r1, [sp, #0x34]
ldr r2, [sp, #0x48]
ldr r4, [sp, #0x44]
ldr r5, [sp, #0x38]
bl ReadMsgDataIntoString
ldr r0, [r6, #0x50]
ldr r2, [sp, #0x48]
add r1, r4, #0
bl StringExpandPlaceholders
ldr r0, [sp, #0x4c]
cmp r0, #1
beq _0222EC88
cmp r0, #2
beq _0222EC9A
b _0222ECA6
_0222EC88:
mov r0, #1
add r1, r4, #0
mov r2, #0
bl sub_02002F30
add r0, r0, #1
lsr r0, r0, #1
sub r5, r5, r0
b _0222ECA6
_0222EC9A:
mov r0, #1
add r1, r4, #0
mov r2, #0
bl sub_02002F30
sub r5, r5, r0
_0222ECA6:
ldr r0, [sp, #0x3c]
add r2, r4, #0
str r0, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, [sp, #0x40]
add r3, r5, #0
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r0, [sp, #0x10]
lsl r0, r0, #2
add r0, r7, r0
ldr r1, [r0, #0xc]
ldr r0, [sp, #0x14]
lsl r0, r0, #4
add r0, r1, r0
mov r1, #1
bl AddTextPrinterParameterized2
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov43_0222EC58
thumb_func_start ov43_0222ECD4
ov43_0222ECD4: ; 0x0222ECD4
push {r3, r4, r5, lr}
sub sp, #0x10
add r4, r2, #0
add r2, #0x80
add r5, r0, #0
ldr r0, [r4, #0x54]
ldr r2, [r2]
add r1, r3, #0
bl ReadMsgDataIntoString
add r2, r4, #0
add r2, #0x80
ldr r0, [r4, #0x50]
ldr r1, [r4, #0x7c]
ldr r2, [r2]
bl StringExpandPlaceholders
ldr r0, [sp, #0x24]
ldr r3, [sp, #0x20]
str r0, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, [sp, #0x28]
mov r1, #1
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r2, [r4, #0x7c]
add r0, r5, #0
bl AddTextPrinterParameterized2
add sp, #0x10
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov43_0222ECD4
thumb_func_start ov43_0222ED18
ov43_0222ED18: ; 0x0222ED18
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x10]
cmp r0, #1
bne _0222ED26
mov r2, #8
b _0222ED28
_0222ED26:
mov r2, #3
_0222ED28:
cmp r1, #0
ble _0222ED40
mov r0, #0
ldrsh r3, [r4, r0]
strh r3, [r4, #2]
ldrsh r0, [r4, r0]
add r0, r0, r1
add r1, r2, #0
bl _s32_div_f
strh r1, [r4]
pop {r4, pc}
_0222ED40:
bge _0222ED58
mov r0, #0
ldrsh r3, [r4, r0]
strh r3, [r4, #2]
ldrsh r3, [r4, r0]
add r1, r3, r1
strh r1, [r4]
ldrsh r0, [r4, r0]
cmp r0, #0
bge _0222ED58
add r0, r0, r2
strh r0, [r4]
_0222ED58:
pop {r4, pc}
.balign 4, 0
thumb_func_end ov43_0222ED18
.rodata
_0222ED5C:
.byte 0x02, 0x02, 0x09, 0x02
.byte 0x05, 0x1A, 0x0B, 0x01, 0x05, 0x1B, 0x02, 0x02, 0x05, 0x1A, 0x0B, 0x02, 0x05, 0x1A, 0x0B, 0x02
.byte 0x05, 0x16, 0x0B, 0x00, 0x01, 0x00, 0xBB, 0x01, 0xBB, 0x01, 0xA0, 0xC0, 0x88, 0xF8, 0xFF, 0x00
.byte 0x00, 0x00, 0x05, 0x05, 0x0B, 0x02, 0x05, 0x09, 0x1A, 0x05, 0x0D, 0x00, 0x0C, 0x00, 0x0A, 0x00
.byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x00, 0x00, 0x03, 0x04, 0x00, 0x00, 0x01, 0x0F, 0x00
.byte 0x03, 0x04, 0x01, 0x0F, 0x00, 0x00, 0xC7, 0x00, 0xAC, 0x00, 0x88, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0xF5, 0x01, 0x00, 0x00, 0xF5, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x04, 0x08, 0x0C, 0x10, 0x14, 0x18, 0x1C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x10, 0x02, 0x02, 0x0C, 0x10, 0x02
.byte 0x13, 0x05, 0x08, 0x05, 0x17, 0x0C, 0x04, 0x02, 0x0E, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x18, 0x20, 0x00
.byte 0x00, 0x00, 0x20, 0x18, 0xE0, 0xFF, 0x00, 0x00, 0x20, 0x18, 0x22, 0x3E, 0x12, 0xEE, 0x4A, 0x66
.byte 0x12, 0xEE, 0x72, 0x8E, 0x12, 0xEE, 0x9A, 0xB6, 0x12, 0xEE, 0xFF, 0x00, 0x00, 0x00, 0x02, 0x01
.byte 0x0E, 0x02, 0x02, 0x04, 0x1A, 0x02, 0x02, 0x07, 0x1A, 0x04, 0x02, 0x0C, 0x1A, 0x02, 0x02, 0x0F
.byte 0x1A, 0x04, 0x08, 0x28, 0xEC, 0x0C, 0x78, 0x98, 0xEC, 0x0C, 0xA0, 0xC0, 0x00, 0x70, 0xA0, 0xC0
.byte 0x70, 0xE0, 0xA0, 0xC0, 0xE0, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x28, 0xEC, 0x0C, 0x78, 0x98, 0xEC, 0x0C, 0xA0, 0xC0, 0x00, 0x20
.byte 0xA0, 0xC0, 0x20, 0x40, 0xA0, 0xC0, 0x40, 0x60, 0xA0, 0xC0, 0x60, 0x80, 0xA0, 0xC0, 0x80, 0xA0
.byte 0xA0, 0xC0, 0xA0, 0xC0, 0xA0, 0xC0, 0xC0, 0xE0, 0xA0, 0xC0, 0xE0, 0x00, 0xFF, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x3D, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x04, 0x19, 0x01, 0x06, 0x02, 0x0E, 0x01, 0x00, 0x04, 0x01, 0x00, 0x18, 0x03, 0x0E, 0x0D, 0x00
.byte 0x04, 0x16, 0x06, 0x09, 0x02, 0x0E, 0x55, 0x00, 0x04, 0x09, 0x11, 0x08, 0x02, 0x0E, 0x73, 0x00
.byte 0x04, 0x13, 0x15, 0x0B, 0x02, 0x0E, 0xA5, 0x00, 0x04, 0x04, 0x04, 0x0A, 0x0A, 0x0F, 0xBB, 0x00
.byte 0x04, 0x01, 0x11, 0x06, 0x02, 0x0E, 0x67, 0x00, 0x04, 0x01, 0x15, 0x11, 0x02, 0x0E, 0x83, 0x00
.byte 0x20, 0x40, 0x10, 0x80, 0x40, 0x60, 0x10, 0x80, 0x60, 0x80, 0x10, 0x80, 0x80, 0xA0, 0x10, 0x80
.byte 0x20, 0x40, 0x80, 0xF0, 0x40, 0x60, 0x80, 0xF0, 0x60, 0x80, 0x80, 0xF0, 0x80, 0xA0, 0x80, 0xF0
.byte 0xA0, 0xC0, 0x88, 0xF8, 0x58, 0x68, 0x00, 0x10, 0x58, 0x68, 0xF0, 0x00, 0x00, 0x20, 0x80, 0xA0
.byte 0x00, 0x20, 0xA0, 0xC0, 0x00, 0x20, 0xC0, 0xE0, 0x00, 0x20, 0xE0, 0x00, 0xFF, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x04, 0x00, 0x0F, 0x04, 0x02, 0x02, 0x09, 0x00, 0x02, 0x00, 0x08, 0x00, 0x0F, 0x04
.byte 0x02, 0x02, 0x09, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x0F, 0x04, 0x02, 0x02, 0x09, 0x00, 0x02, 0x00
.byte 0x10, 0x00, 0x0F, 0x04, 0x02, 0x02, 0x09, 0x00, 0x10, 0x00, 0x04, 0x00, 0x0F, 0x04, 0x02, 0x02
.byte 0x09, 0x00, 0x10, 0x00, 0x08, 0x00, 0x0F, 0x04, 0x02, 0x02, 0x09, 0x00, 0x10, 0x00, 0x0C, 0x00
.byte 0x0F, 0x04, 0x02, 0x02, 0x09, 0x00, 0x10, 0x00, 0x10, 0x00, 0x0F, 0x04, 0x02, 0x02, 0x09, 0x00
.byte 0x11, 0x00, 0x14, 0x00, 0x0E, 0x04, 0x00, 0x01, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00
.byte 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x19, 0x01, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x1A, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x1C, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x04
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x01, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x10, 0x11, 0x00, 0x00, 0x18, 0x10, 0x00, 0x00, 0x00, 0x38, 0x3B, 0x00, 0x01, 0x02, 0x03, 0x05
.byte 0x04, 0x01, 0x02, 0x05, 0x01, 0x01, 0x01, 0x01
.data
_0222F0E0:
.byte 0xB1, 0xDF, 0x22, 0x02, 0x41, 0xEA, 0x22, 0x02, 0xD9, 0xEB, 0x22, 0x02, 0x6D, 0xC4, 0x22, 0x02
.byte 0x00, 0x00, 0x00, 0x00, 0xB9, 0xC4, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x10, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x0C, 0x00, 0xE8, 0xED, 0x22, 0x02
.byte 0x6F, 0xED, 0x22, 0x02, 0x82, 0xED, 0x22, 0x02, 0x2E, 0xEE, 0x22, 0x02, 0x5F, 0xED, 0x22, 0x02
.byte 0x6B, 0xED, 0x22, 0x02, 0x67, 0xED, 0x22, 0x02, 0x63, 0xED, 0x22, 0x02, 0xB1, 0xDF, 0x22, 0x02
.byte 0x41, 0xEA, 0x22, 0x02, 0xE9, 0xE0, 0x22, 0x02, 0x21, 0xE2, 0x22, 0x02, 0xB5, 0xE5, 0x22, 0x02
.byte 0x8D, 0xE7, 0x22, 0x02, 0x05, 0xE9, 0x22, 0x02, 0xD9, 0xEB, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x20, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x20, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
; 0x0222F1E0