pokeheartgold/asm/overlay_05.s
Adrienn Tindall fd30fb3940 Battle Command, 16
This also includes a TON of documentation on what's been worked on so far
2022-12-04 12:39:27 -05:00

6270 lines
118 KiB
ArmAsm

.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start ov05_0221BA00
ov05_0221BA00: ; 0x0221BA00
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _0221BA5C ; =ov05_0221BA70
ldr r1, _0221BA60 ; =0x00000BD4
ldr r3, [r5, #0x24]
mov r2, #0x64
bl sub_02007200
bl sub_0201F988
ldr r2, _0221BA60 ; =0x00000BD4
mov r1, #0
add r4, r0, #0
bl memset
ldr r0, _0221BA64 ; =0x00000B7F
str r5, [r4]
mov r1, #0
strb r1, [r4, r0]
bl sub_020304B4
ldr r1, _0221BA68 ; =0x00000BC8
str r0, [r4, r1]
ldr r0, [r4, r1]
cmp r0, #1
bne _0221BA58
ldr r0, [r4]
ldr r1, [r0]
cmp r1, #0
beq _0221BA58
mov r0, #7
lsl r0, r0, #6
ldr r0, [r1, r0]
cmp r0, #0
beq _0221BA58
bl Sav2_Bag_get
ldr r1, _0221BA6C ; =0x000001D1
ldr r3, [r5, #0x24]
mov r2, #1
bl Bag_HasItem
ldr r1, _0221BA68 ; =0x00000BC8
str r0, [r4, r1]
_0221BA58:
pop {r3, r4, r5, pc}
nop
_0221BA5C: .word ov05_0221BA70
_0221BA60: .word 0x00000BD4
_0221BA64: .word 0x00000B7F
_0221BA68: .word 0x00000BC8
_0221BA6C: .word 0x000001D1
thumb_func_end ov05_0221BA00
thumb_func_start ov05_0221BA70
ov05_0221BA70: ; 0x0221BA70
push {r4, r5, r6, lr}
ldr r2, _0221BAF8 ; =0x00000B7F
add r5, r1, #0
ldrb r2, [r5, r2]
cmp r2, #0
beq _0221BA86
cmp r2, #1
beq _0221BA92
cmp r2, #2
beq _0221BAC4
b _0221BACC
_0221BA86:
add r0, r5, #0
bl ov05_0221BD28
ldr r1, _0221BAF8 ; =0x00000B7F
strb r0, [r5, r1]
b _0221BACC
_0221BA92:
mov r4, #0x2e
lsl r4, r4, #6
add r6, r4, #0
_0221BA98:
ldrb r1, [r5, r6]
ldr r2, [r5, #4]
add r0, r5, #0
lsl r1, r1, #2
ldr r1, [r2, r1]
blx r1
cmp r0, #0
beq _0221BAAE
ldrb r1, [r5, r4]
add r1, r1, #1
strb r1, [r5, r4]
_0221BAAE:
cmp r0, #2
beq _0221BA98
ldr r0, [r5]
add r0, #0x28
ldrb r0, [r0]
cmp r0, #2
bne _0221BACC
add r0, r5, #0
bl ov05_0221BB30
b _0221BACC
_0221BAC4:
bl ov05_0221CC74
cmp r0, #1
beq _0221BAF6
_0221BACC:
mov r0, #0x2e
lsl r0, r0, #6
ldrb r0, [r5, r0]
cmp r0, #0
beq _0221BAE6
add r0, r5, #0
bl ov05_0221CE50
mov r0, #0x65
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_0200D020
_0221BAE6:
ldr r0, [r5]
add r0, #0x28
ldrb r0, [r0]
cmp r0, #0
beq _0221BAF6
ldr r0, _0221BAFC ; =0x04000540
mov r1, #1
str r1, [r0]
_0221BAF6:
pop {r4, r5, r6, pc}
.balign 4, 0
_0221BAF8: .word 0x00000B7F
_0221BAFC: .word 0x04000540
thumb_func_end ov05_0221BA70
thumb_func_start ov05_0221BB00
ov05_0221BB00: ; 0x0221BB00
push {r4, lr}
sub sp, #0x28
ldr r4, _0221BB2C ; =ov05_0221EC00
add r3, sp, #0
mov r2, #5
_0221BB0A:
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _0221BB0A
add r0, sp, #0
bl GX_SetBanks
mov r1, #6
mov r2, #2
mov r0, #0
lsl r1, r1, #0x18
lsl r2, r2, #0x12
bl MIi_CpuClear32
add sp, #0x28
pop {r4, pc}
nop
_0221BB2C: .word ov05_0221EC00
thumb_func_end ov05_0221BB00
thumb_func_start ov05_0221BB30
ov05_0221BB30: ; 0x0221BB30
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
bl ov05_0221E9F8
cmp r0, #0
bne _0221BB40
b _0221BD08
_0221BB40:
ldr r2, _0221BD0C ; =0x00000BBC
ldr r0, [r4, r2]
cmp r0, #8
bhi _0221BBBA
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0221BB54: ; jump table
.short _0221BD08 - _0221BB54 - 2 ; case 0
.short _0221BB66 - _0221BB54 - 2 ; case 1
.short _0221BBA6 - _0221BB54 - 2 ; case 2
.short _0221BBC4 - _0221BB54 - 2 ; case 3
.short _0221BC5C - _0221BB54 - 2 ; case 4
.short _0221BC98 - _0221BB54 - 2 ; case 5
.short _0221BD08 - _0221BB54 - 2 ; case 6
.short _0221BCD8 - _0221BB54 - 2 ; case 7
.short _0221BD08 - _0221BB54 - 2 ; case 8
_0221BB66:
add r0, r4, #0
bl ov05_0221E9C4
ldr r2, _0221BD10 ; =0x00000BAC
mov r1, #0
ldr r0, [r4, r2]
add r2, #8
ldr r2, [r4, r2]
bl ReadMsgDataIntoString
mov r3, #0
str r3, [sp]
ldr r2, _0221BD14 ; =0x00000B88
str r3, [sp, #4]
add r0, r4, r2
str r3, [sp, #8]
add r2, #0x2c
ldr r2, [r4, r2]
mov r1, #1
bl AddTextPrinterParameterized
ldr r1, _0221BD18 ; =0x00000BB8
str r0, [r4, r1]
ldr r0, [r4, #0xc]
mov r1, #0
bl ScheduleBgTilemapBufferTransfer
ldr r0, _0221BD0C ; =0x00000BBC
mov r1, #2
add sp, #0xc
str r1, [r4, r0]
pop {r3, r4, pc}
_0221BBA6:
add r0, r2, #0
add r0, #0xc
ldr r0, [r4, r0]
cmp r0, #1
bne _0221BBBA
ldr r0, _0221BD1C ; =gSystem
ldr r1, [r0, #0x48]
mov r0, #1
tst r0, r1
bne _0221BBBC
_0221BBBA:
b _0221BD08
_0221BBBC:
mov r0, #3
add sp, #0xc
str r0, [r4, r2]
pop {r3, r4, pc}
_0221BBC4:
add r0, r2, #0
add r0, #0x10
ldr r0, [r4, r0]
cmp r0, #1
bne _0221BBE0
add r0, r2, #0
sub r0, #0x10
sub r2, #8
ldr r0, [r4, r0]
ldr r2, [r4, r2]
mov r1, #2
bl ReadMsgDataIntoString
b _0221BBF0
_0221BBE0:
add r0, r2, #0
sub r0, #0x10
sub r2, #8
ldr r0, [r4, r0]
ldr r2, [r4, r2]
mov r1, #1
bl ReadMsgDataIntoString
_0221BBF0:
mov r0, #0xd8
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
ldr r0, _0221BD20 ; =0x00000B98
mov r2, #0
add r0, r4, r0
mov r1, #0xf
add r3, r2, #0
bl FillWindowPixelRect
ldr r0, _0221BD20 ; =0x00000B98
mov r1, #0
add r0, r4, r0
mov r2, #1
mov r3, #0xf
bl DrawFrameAndWindow2
mov r3, #0
str r3, [sp]
ldr r2, _0221BD20 ; =0x00000B98
str r3, [sp, #4]
add r0, r4, r2
str r3, [sp, #8]
add r2, #0x1c
ldr r2, [r4, r2]
mov r1, #1
bl AddTextPrinterParameterized
ldr r1, _0221BD18 ; =0x00000BB8
mov r2, #0x1f
str r0, [r4, r1]
mov r0, #1
str r0, [sp]
ldr r0, [r4]
ldr r1, _0221BD24 ; =ov05_0221EA58
ldr r0, [r0, #0x24]
mov r3, #0xe
str r0, [sp, #4]
ldr r0, [r4, #0xc]
bl CreateYesNoMenu
mov r1, #0x2f
lsl r1, r1, #6
str r0, [r4, r1]
ldr r0, [r4, #0xc]
mov r1, #0
bl ScheduleBgTilemapBufferTransfer
ldr r0, _0221BD0C ; =0x00000BBC
mov r1, #4
add sp, #0xc
str r1, [r4, r0]
pop {r3, r4, pc}
_0221BC5C:
ldr r1, [r4]
add r0, r2, #4
ldr r0, [r4, r0]
ldr r1, [r1, #0x24]
bl Handle2dMenuInput_DeleteOnFinish
cmp r0, #0
beq _0221BC78
mov r1, #1
mvn r1, r1
cmp r0, r1
beq _0221BC88
add sp, #0xc
pop {r3, r4, pc}
_0221BC78:
ldr r0, _0221BD0C ; =0x00000BBC
mov r1, #5
str r1, [r4, r0]
mov r1, #0
add r0, r0, #4
add sp, #0xc
str r1, [r4, r0]
pop {r3, r4, pc}
_0221BC88:
ldr r0, _0221BD0C ; =0x00000BBC
mov r1, #1
str r1, [r4, r0]
mov r1, #0
add r0, r0, #4
add sp, #0xc
str r1, [r4, r0]
pop {r3, r4, pc}
_0221BC98:
add r0, r4, #0
bl ov05_0221E9C4
ldr r2, _0221BD10 ; =0x00000BAC
mov r1, #5
ldr r0, [r4, r2]
add r2, #8
ldr r2, [r4, r2]
bl ReadMsgDataIntoString
mov r3, #0
str r3, [sp]
ldr r2, _0221BD14 ; =0x00000B88
str r3, [sp, #4]
add r0, r4, r2
str r3, [sp, #8]
add r2, #0x2c
ldr r2, [r4, r2]
mov r1, #1
bl AddTextPrinterParameterized
ldr r1, _0221BD18 ; =0x00000BB8
str r0, [r4, r1]
ldr r0, [r4, #0xc]
mov r1, #0
bl ScheduleBgTilemapBufferTransfer
ldr r0, _0221BD0C ; =0x00000BBC
mov r1, #6
add sp, #0xc
str r1, [r4, r0]
pop {r3, r4, pc}
_0221BCD8:
add r0, r2, #4
ldr r0, [r4, r0]
cmp r0, #0
beq _0221BCF0
ldr r1, [r4]
ldr r1, [r1, #0x24]
bl Clear2dMenuWindowAndDelete
mov r0, #0x2f
mov r1, #0
lsl r0, r0, #6
str r1, [r4, r0]
_0221BCF0:
ldr r0, _0221BD14 ; =0x00000B88
mov r1, #0
add r0, r4, r0
bl ClearFrameAndWindow2
ldr r0, [r4, #0xc]
mov r1, #0
bl ScheduleBgTilemapBufferTransfer
ldr r0, _0221BD0C ; =0x00000BBC
mov r1, #8
str r1, [r4, r0]
_0221BD08:
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
_0221BD0C: .word 0x00000BBC
_0221BD10: .word 0x00000BAC
_0221BD14: .word 0x00000B88
_0221BD18: .word 0x00000BB8
_0221BD1C: .word gSystem
_0221BD20: .word 0x00000B98
_0221BD24: .word ov05_0221EA58
thumb_func_end ov05_0221BB30
thumb_func_start ov05_0221BD28
ov05_0221BD28: ; 0x0221BD28
push {r3, r4, r5, lr}
ldr r1, _0221BDE0 ; =0x04000050
add r4, r0, #0
mov r0, #0
strh r0, [r1]
add r1, r0, #0
bl Main_SetVBlankIntrCB
bl HBlankInterruptDisable
bl GX_DisableEngineALayers
bl GX_DisableEngineBLayers
mov r1, #1
lsl r1, r1, #0x1a
ldr r0, [r1]
ldr r2, _0221BDE4 ; =0xFFFFE0FF
ldr r5, _0221BDE8 ; =0x04000304
and r0, r2
str r0, [r1]
ldr r0, _0221BDEC ; =0x04001000
add r1, #0x50
ldr r3, [r0]
and r2, r3
str r2, [r0]
ldrh r3, [r5]
lsr r2, r5, #0xb
add r0, #0x50
orr r2, r3
strh r2, [r5]
mov r2, #0
strh r2, [r1]
strh r2, [r0]
bl ov05_0221BB00
ldr r0, [r4]
ldr r0, [r0, #0x24]
bl BgConfig_Alloc
str r0, [r4, #0xc]
ldr r0, [r4]
ldr r0, [r0, #0x24]
bl sub_020030E8
str r0, [r4, #8]
ldr r3, [r4]
mov r1, #0
ldr r3, [r3, #0x24]
lsr r2, r5, #0x11
bl PaletteData_AllocBuffers
mov r0, #4
mov r1, #0
bl BG_SetMaskColor
ldr r0, _0221BDF0 ; =0x00000B82
mov r3, #0
strb r3, [r4, r0]
sub r1, r0, #1
mov r2, #8
strb r2, [r4, r1]
sub r0, r0, #2
strb r3, [r4, r0]
ldr r1, [r4]
add r0, r1, #0
add r0, #0x28
ldrb r0, [r0]
cmp r0, #0
beq _0221BDBE
cmp r0, #1
beq _0221BDC4
cmp r0, #2
beq _0221BDCA
b _0221BDDC
_0221BDBE:
ldr r0, _0221BDF4 ; =ov05_0221EAC0
str r0, [r4, #4]
b _0221BDDC
_0221BDC4:
ldr r0, _0221BDF8 ; =ov05_0221EA98
str r0, [r4, #4]
b _0221BDDC
_0221BDCA:
add r1, #0x2a
ldrb r0, [r1]
cmp r0, #3
bne _0221BDD8
ldr r0, _0221BDFC ; =ov05_0221EC28
str r0, [r4, #4]
b _0221BDDC
_0221BDD8:
ldr r0, _0221BE00 ; =ov05_0221EC98
str r0, [r4, #4]
_0221BDDC:
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_0221BDE0: .word 0x04000050
_0221BDE4: .word 0xFFFFE0FF
_0221BDE8: .word 0x04000304
_0221BDEC: .word 0x04001000
_0221BDF0: .word 0x00000B82
_0221BDF4: .word ov05_0221EAC0
_0221BDF8: .word ov05_0221EA98
_0221BDFC: .word ov05_0221EC28
_0221BE00: .word ov05_0221EC98
thumb_func_end ov05_0221BD28
thumb_func_start ov05_0221BE04
ov05_0221BE04: ; 0x0221BE04
push {r4, lr}
ldr r1, _0221BE78 ; =0x00000B82
add r4, r0, #0
ldrb r2, [r4, r1]
cmp r2, #0
beq _0221BE1A
cmp r2, #1
beq _0221BE26
cmp r2, #2
beq _0221BE32
b _0221BE6C
_0221BE1A:
bl ov05_0221DB94
add r0, r4, #0
bl ov05_0221DC60
b _0221BE6C
_0221BE26:
bl ov05_0221E07C
add r0, r4, #0
bl ov05_0221E274
b _0221BE6C
_0221BE32:
mov r2, #0
strb r2, [r4, r1]
mov r2, #0x20
sub r1, r1, #1
strb r2, [r4, r1]
bl ov05_0221DD08
add r0, r4, #0
bl ov05_0221E5E4
add r0, r4, #0
bl ov05_0221E944
add r0, r4, #0
bl ov05_0221DE38
bl sub_0203A880
ldr r1, [r4]
mov r0, #0
ldr r1, [r1, #0x24]
bl sub_020880CC
ldr r0, _0221BE7C ; =ov05_0221CE88
add r1, r4, #0
bl Main_SetVBlankIntrCB
mov r0, #1
pop {r4, pc}
_0221BE6C:
ldr r0, _0221BE78 ; =0x00000B82
ldrb r1, [r4, r0]
add r1, r1, #1
strb r1, [r4, r0]
mov r0, #0
pop {r4, pc}
.balign 4, 0
_0221BE78: .word 0x00000B82
_0221BE7C: .word ov05_0221CE88
thumb_func_end ov05_0221BE04
thumb_func_start ov05_0221BE80
ov05_0221BE80: ; 0x0221BE80
push {r4, lr}
ldr r1, _0221BF00 ; =0x00000B82
add r4, r0, #0
ldrb r1, [r4, r1]
cmp r1, #0
beq _0221BE96
cmp r1, #1
beq _0221BEAA
cmp r1, #2
beq _0221BEC4
b _0221BEF2
_0221BE96:
mov r1, #1
mov r2, #0
bl ov05_0221CEB8
add r0, r4, #0
bl ov05_0221D094
bl ov05_0221D228
b _0221BEF2
_0221BEAA:
mov r1, #0
add r2, r1, #0
bl ov05_0221D6C4
add r0, r4, #0
bl ov05_0221D240
bl sub_0203A880
add r0, r4, #0
bl ov05_0221D9F0
b _0221BEF2
_0221BEC4:
ldr r1, [r4]
mov r0, #0
ldr r1, [r1, #0x24]
bl sub_020880CC
ldr r0, _0221BF04 ; =ov05_0221CE88
add r1, r4, #0
bl Main_SetVBlankIntrCB
ldr r1, _0221BF00 ; =0x00000B82
mov r0, #0
strb r0, [r4, r1]
mov r2, #8
sub r0, r1, #6
strb r2, [r4, r0]
sub r0, r1, #5
mov r2, #4
strb r2, [r4, r0]
mov r0, #0x10
sub r1, #0xe
str r0, [r4, r1]
mov r0, #1
pop {r4, pc}
_0221BEF2:
ldr r0, _0221BF00 ; =0x00000B82
ldrb r1, [r4, r0]
add r1, r1, #1
strb r1, [r4, r0]
mov r0, #0
pop {r4, pc}
nop
_0221BF00: .word 0x00000B82
_0221BF04: .word ov05_0221CE88
thumb_func_end ov05_0221BE80
thumb_func_start ov05_0221BF08
ov05_0221BF08: ; 0x0221BF08
push {r3, r4, r5, lr}
ldr r1, _0221C000 ; =0x00000B82
add r5, r0, #0
ldrb r1, [r5, r1]
cmp r1, #0
beq _0221BF1E
cmp r1, #1
beq _0221BF7A
cmp r1, #2
beq _0221BF92
b _0221BFF2
_0221BF1E:
mov r1, #0
mov r2, #1
bl ov05_0221CEB8
add r0, r5, #0
bl ov05_0221D094
add r0, r5, #0
bl ov05_0221D140
bl ov05_0221D228
ldr r2, [r5]
mov r0, #7
ldr r1, [r2]
lsl r0, r0, #6
ldr r0, [r1, r0]
ldr r1, [r2, #0x24]
add r2, sp, #0
mov r3, #0
bl sub_0202FD28
ldr r1, [sp]
ldr r0, _0221C004 ; =0x00000BCC
mov r4, #0
str r1, [r5, r0]
add r0, r0, #4
str r4, [r5, r0]
_0221BF56:
add r0, r4, #0
bl sub_02034818
cmp r0, #0
beq _0221BF72
bl PlayerProfile_GetVersion
cmp r0, #0
bne _0221BF72
mov r0, #0xbd
mov r1, #1
lsl r0, r0, #4
str r1, [r5, r0]
b _0221BFF2
_0221BF72:
add r4, r4, #1
cmp r4, #8
blt _0221BF56
b _0221BFF2
_0221BF7A:
mov r1, #0x1f
mvn r1, r1
add r2, r1, #0
add r2, #0x10
bl ov05_0221D6C4
add r0, r5, #0
bl ov05_0221D7AC
bl sub_0203A880
b _0221BFF2
_0221BF92:
ldr r1, [r5]
mov r0, #0
ldr r1, [r1, #0x24]
bl sub_020880CC
ldr r0, _0221C008 ; =ov05_0221CE88
add r1, r5, #0
bl Main_SetVBlankIntrCB
ldr r2, _0221C000 ; =0x00000B82
mov r0, #0
strb r0, [r5, r2]
mov r3, #4
sub r1, r2, #6
strb r3, [r5, r1]
sub r1, r2, #5
mov r3, #2
strb r3, [r5, r1]
mov r1, #0xc
sub r2, #0xe
str r1, [r5, r2]
ldr r3, [r5]
ldr r2, _0221C00C ; =0x0000027E
ldr r3, [r3, #0x24]
mov r1, #0x1b
bl NewMsgDataFromNarc
ldr r1, _0221C010 ; =0x00000BAC
str r0, [r5, r1]
ldr r0, [r5]
ldr r0, [r0, #0x24]
bl ScrStrBufs_new
mov r1, #0xbb
lsl r1, r1, #4
str r0, [r5, r1]
ldr r1, [r5]
mov r0, #5
ldr r1, [r1, #0x24]
lsl r0, r0, #6
bl String_ctor
ldr r1, _0221C014 ; =0x00000BB4
str r0, [r5, r1]
mov r0, #1
add r1, #8
str r0, [r5, r1]
pop {r3, r4, r5, pc}
_0221BFF2:
ldr r0, _0221C000 ; =0x00000B82
ldrb r1, [r5, r0]
add r1, r1, #1
strb r1, [r5, r0]
mov r0, #0
pop {r3, r4, r5, pc}
nop
_0221C000: .word 0x00000B82
_0221C004: .word 0x00000BCC
_0221C008: .word ov05_0221CE88
_0221C00C: .word 0x0000027E
_0221C010: .word 0x00000BAC
_0221C014: .word 0x00000BB4
thumb_func_end ov05_0221BF08
thumb_func_start ov05_0221C018
ov05_0221C018: ; 0x0221C018
push {r4, lr}
add r4, r0, #0
bl IsPaletteFadeFinished
cmp r0, #0
bne _0221C028
mov r0, #0
pop {r4, pc}
_0221C028:
ldr r1, _0221C04C ; =0x00000B81
add r0, r1, #1
ldrb r2, [r4, r1]
ldrb r0, [r4, r0]
cmp r2, r0
bne _0221C03E
mov r2, #0
add r0, r1, #1
strb r2, [r4, r0]
mov r0, #1
pop {r4, pc}
_0221C03E:
add r0, r1, #1
ldrb r0, [r4, r0]
add r2, r0, #1
add r0, r1, #1
strb r2, [r4, r0]
mov r0, #0
pop {r4, pc}
.balign 4, 0
_0221C04C: .word 0x00000B81
thumb_func_end ov05_0221C018
thumb_func_start ov05_0221C050
ov05_0221C050: ; 0x0221C050
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4, #0xc]
mov r1, #3
bl Bg_GetXpos
cmp r0, #0x18
bgt _0221C0EC
ldr r1, _0221C214 ; =0x00000B82
mov r2, #0
add r0, r1, #0
strb r2, [r4, r1]
sub r0, #0xa
strh r2, [r4, r0]
sub r1, #8
strh r2, [r4, r1]
ldr r0, [r4, #0xc]
mov r1, #3
mov r3, #0x18
bl ScheduleSetBgPosText
mov r2, #0
add r3, r2, #0
ldr r0, [r4, #0xc]
mov r1, #2
sub r3, #0x18
bl ScheduleSetBgPosText
mov r1, #0
add r0, r4, #0
add r2, r1, #0
add r3, r1, #0
bl ov05_0221D3AC
mov r2, #0
add r0, r4, #0
mov r1, #1
add r3, r2, #0
bl ov05_0221D3AC
mov r2, #0
add r0, r4, #0
mov r1, #2
add r3, r2, #0
bl ov05_0221D3AC
mov r2, #0
add r0, r4, #0
mov r1, #3
add r3, r2, #0
bl ov05_0221D3AC
mov r1, #0
add r0, r4, #0
add r2, r1, #0
add r3, r1, #0
bl ov05_0221D664
mov r2, #0
add r0, r4, #0
mov r1, #1
add r3, r2, #0
bl ov05_0221D664
mov r2, #0
add r0, r4, #0
mov r1, #2
add r3, r2, #0
bl ov05_0221D664
mov r2, #0
add r0, r4, #0
mov r1, #3
add r3, r2, #0
bl ov05_0221D664
mov r0, #1
pop {r3, r4, r5, pc}
_0221C0EC:
ldr r3, _0221C218 ; =0x00000B74
ldr r0, [r4, #0xc]
ldr r3, [r4, r3]
mov r1, #3
mov r2, #2
bl ScheduleSetBgPosText
ldr r3, _0221C218 ; =0x00000B74
ldr r0, [r4, #0xc]
ldr r3, [r4, r3]
mov r1, #2
mov r2, #1
bl ScheduleSetBgPosText
ldr r3, _0221C214 ; =0x00000B82
mov r1, #0
ldrb r0, [r4, r3]
add r2, r3, #0
sub r2, #0xe
add r0, r0, #1
strb r0, [r4, r3]
ldr r5, [r4, r2]
ldrb r2, [r4, r3]
add r3, r5, #0
add r0, r4, #0
mul r3, r2
mov r2, #1
lsl r2, r2, #8
sub r2, r3, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
add r3, r1, #0
bl ov05_0221D3AC
ldr r2, _0221C218 ; =0x00000B74
mov r1, #1
ldr r3, [r4, r2]
add r2, #0xe
add r5, r3, #0
ldrb r2, [r4, r2]
add r0, r4, #0
mov r3, #0
mul r5, r2
add r2, r1, #0
add r2, #0xff
sub r2, r5, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D3AC
ldr r2, _0221C218 ; =0x00000B74
mov r1, #2
ldr r3, [r4, r2]
add r2, #0xe
add r5, r3, #0
ldrb r2, [r4, r2]
add r0, r4, #0
mov r3, #0
mul r5, r2
add r2, r1, #0
add r2, #0xfe
sub r2, r2, r5
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D3AC
ldr r2, _0221C218 ; =0x00000B74
mov r1, #3
ldr r3, [r4, r2]
add r2, #0xe
add r5, r3, #0
ldrb r2, [r4, r2]
add r0, r4, #0
mov r3, #0
mul r5, r2
add r2, r1, #0
add r2, #0xfd
sub r2, r2, r5
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D3AC
ldr r2, _0221C218 ; =0x00000B74
mov r1, #0
ldr r3, [r4, r2]
add r2, #0xe
add r5, r3, #0
ldrb r2, [r4, r2]
add r0, r4, #0
add r3, r1, #0
mul r5, r2
mov r2, #1
lsl r2, r2, #8
sub r2, r5, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D664
ldr r2, _0221C218 ; =0x00000B74
mov r1, #1
ldr r3, [r4, r2]
add r2, #0xe
add r5, r3, #0
ldrb r2, [r4, r2]
add r0, r4, #0
mov r3, #0
mul r5, r2
add r2, r1, #0
add r2, #0xff
sub r2, r5, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D664
ldr r2, _0221C218 ; =0x00000B74
mov r1, #2
ldr r3, [r4, r2]
add r2, #0xe
add r5, r3, #0
ldrb r2, [r4, r2]
add r0, r4, #0
mov r3, #0
mul r5, r2
add r2, r1, #0
add r2, #0xfe
sub r2, r2, r5
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D664
ldr r2, _0221C218 ; =0x00000B74
add r0, r4, #0
ldr r3, [r4, r2]
add r2, #0xe
ldrb r2, [r4, r2]
add r4, r3, #0
mov r1, #3
mul r4, r2
add r2, r1, #0
add r2, #0xfd
sub r2, r2, r4
lsl r2, r2, #0x10
asr r2, r2, #0x10
mov r3, #0
bl ov05_0221D664
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
_0221C214: .word 0x00000B82
_0221C218: .word 0x00000B74
thumb_func_end ov05_0221C050
thumb_func_start ov05_0221C21C
ov05_0221C21C: ; 0x0221C21C
push {r4, r5, r6, lr}
add r5, r0, #0
bl ov05_0221DAE0
cmp r0, #0
bne _0221C238
ldr r0, _0221C418 ; =0x00000B82
ldrb r1, [r5, r0]
cmp r1, #0x18
bls _0221C238
mov r1, #0
strb r1, [r5, r0]
mov r0, #1
pop {r4, r5, r6, pc}
_0221C238:
ldr r0, _0221C418 ; =0x00000B82
ldrb r0, [r5, r0]
cmp r0, #0
bne _0221C258
ldr r0, [r5]
add r0, #0x28
ldrb r0, [r0]
cmp r0, #1
bne _0221C252
ldr r0, _0221C41C ; =0x00000715
bl PlaySE
b _0221C258
_0221C252:
ldr r0, _0221C420 ; =0x00000852
bl PlaySE
_0221C258:
ldr r0, _0221C418 ; =0x00000B82
ldrb r1, [r5, r0]
cmp r1, #0x18
bne _0221C2F4
ldr r0, [r5, #0xc]
mov r1, #3
mov r2, #0
mov r3, #0x18
bl ScheduleSetBgPosText
mov r2, #0
add r3, r2, #0
ldr r0, [r5, #0xc]
mov r1, #2
sub r3, #0x18
bl ScheduleSetBgPosText
mov r1, #3
ldr r0, [r5, #0xc]
add r2, r1, #0
mov r3, #0
bl ScheduleSetBgPosText
ldr r0, [r5, #0xc]
mov r1, #2
mov r2, #3
mov r3, #0
bl ScheduleSetBgPosText
mov r1, #0
add r0, r5, #0
add r2, r1, #0
add r3, r1, #0
bl ov05_0221D3AC
mov r2, #0
add r0, r5, #0
mov r1, #1
add r3, r2, #0
bl ov05_0221D3AC
mov r2, #0
add r0, r5, #0
mov r1, #2
add r3, r2, #0
bl ov05_0221D3AC
mov r2, #0
add r0, r5, #0
mov r1, #3
add r3, r2, #0
bl ov05_0221D3AC
mov r1, #0
add r0, r5, #0
add r2, r1, #0
add r3, r1, #0
bl ov05_0221D664
mov r2, #0
add r0, r5, #0
mov r1, #1
add r3, r2, #0
bl ov05_0221D664
mov r2, #0
add r0, r5, #0
mov r1, #2
add r3, r2, #0
bl ov05_0221D664
mov r2, #0
add r0, r5, #0
mov r1, #3
add r3, r2, #0
bl ov05_0221D664
b _0221C40C
_0221C2F4:
blo _0221C2F8
b _0221C40C
_0221C2F8:
sub r0, r0, #6
ldrsb r4, [r5, r0]
bl LCRandom
add r1, r4, #0
bl _s32_div_f
lsr r0, r4, #0x1f
add r0, r4, r0
asr r0, r0, #1
sub r0, r1, r0
lsl r0, r0, #0x10
asr r6, r0, #0x10
ldr r0, _0221C424 ; =0x00000B7D
ldrsb r4, [r5, r0]
bl LCRandom
add r1, r4, #0
bl _s32_div_f
lsr r0, r4, #0x1f
add r0, r4, r0
asr r0, r0, #1
sub r0, r1, r0
lsl r0, r0, #0x10
asr r4, r0, #0x10
cmp r6, #0
bge _0221C338
ldr r0, _0221C428 ; =0x00000B78
ldrsh r0, [r5, r0]
cmp r0, #0
blt _0221C344
_0221C338:
cmp r6, #0
ble _0221C34E
ldr r0, _0221C428 ; =0x00000B78
ldrsh r0, [r5, r0]
cmp r0, #0
ble _0221C34E
_0221C344:
mov r0, #0
mvn r0, r0
mul r0, r6
lsl r0, r0, #0x10
asr r6, r0, #0x10
_0221C34E:
cmp r4, #0
bge _0221C35A
ldr r0, _0221C42C ; =0x00000B7A
ldrsh r0, [r5, r0]
cmp r0, #0
blt _0221C366
_0221C35A:
cmp r4, #0
ble _0221C370
ldr r0, _0221C42C ; =0x00000B7A
ldrsh r0, [r5, r0]
cmp r0, #0
ble _0221C370
_0221C366:
mov r0, #0
mvn r0, r0
mul r0, r4
lsl r0, r0, #0x10
asr r4, r0, #0x10
_0221C370:
add r3, r6, #0
ldr r0, [r5, #0xc]
mov r1, #3
mov r2, #0
add r3, #0x18
bl ScheduleSetBgPosText
add r3, r6, #0
ldr r0, [r5, #0xc]
mov r1, #2
mov r2, #0
sub r3, #0x18
bl ScheduleSetBgPosText
mov r1, #3
ldr r0, [r5, #0xc]
add r2, r1, #0
add r3, r4, #0
bl ScheduleSetBgPosText
ldr r0, [r5, #0xc]
mov r1, #2
mov r2, #3
add r3, r4, #0
bl ScheduleSetBgPosText
add r0, r5, #0
mov r1, #0
add r2, r6, #0
add r3, r4, #0
bl ov05_0221D3AC
add r0, r5, #0
mov r1, #1
add r2, r6, #0
add r3, r4, #0
bl ov05_0221D3AC
add r0, r5, #0
mov r1, #2
add r2, r6, #0
add r3, r4, #0
bl ov05_0221D3AC
add r0, r5, #0
mov r1, #3
add r2, r6, #0
add r3, r4, #0
bl ov05_0221D3AC
add r0, r5, #0
mov r1, #0
add r2, r6, #0
add r3, r4, #0
bl ov05_0221D664
add r0, r5, #0
mov r1, #1
add r2, r6, #0
add r3, r4, #0
bl ov05_0221D664
add r0, r5, #0
mov r1, #2
add r2, r6, #0
add r3, r4, #0
bl ov05_0221D664
add r0, r5, #0
mov r1, #3
add r2, r6, #0
add r3, r4, #0
bl ov05_0221D664
ldr r0, _0221C428 ; =0x00000B78
strh r6, [r5, r0]
add r0, r0, #2
strh r4, [r5, r0]
_0221C40C:
ldr r0, _0221C418 ; =0x00000B82
ldrb r1, [r5, r0]
add r1, r1, #1
strb r1, [r5, r0]
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_0221C418: .word 0x00000B82
_0221C41C: .word 0x00000715
_0221C420: .word 0x00000852
_0221C424: .word 0x00000B7D
_0221C428: .word 0x00000B78
_0221C42C: .word 0x00000B7A
thumb_func_end ov05_0221C21C
thumb_func_start ov05_0221C430
ov05_0221C430: ; 0x0221C430
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldr r0, _0221C548 ; =0x00000B82
ldrb r0, [r4, r0]
cmp r0, #8
bne _0221C458
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r4]
ldr r3, _0221C54C ; =0x00007FFF
ldr r0, [r0, #0x24]
str r0, [sp, #8]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
bl BeginNormalPaletteFade
_0221C458:
ldr r0, _0221C548 ; =0x00000B82
ldrb r0, [r4, r0]
cmp r0, #8
blo _0221C474
bl IsPaletteFadeFinished
cmp r0, #1
bne _0221C474
ldr r0, _0221C550 ; =0x00000B7F
mov r1, #2
strb r1, [r4, r0]
add sp, #0xc
mov r0, #1
pop {r3, r4, pc}
_0221C474:
ldr r0, _0221C548 ; =0x00000B82
ldrb r0, [r4, r0]
cmp r0, #0
bne _0221C482
ldr r0, _0221C554 ; =0x00000719
bl PlaySE
_0221C482:
ldr r0, [r4, #0xc]
mov r1, #3
mov r2, #1
mov r3, #0x10
bl ScheduleSetBgPosText
mov r1, #2
ldr r0, [r4, #0xc]
add r2, r1, #0
mov r3, #0x10
bl ScheduleSetBgPosText
ldr r2, _0221C548 ; =0x00000B82
mov r1, #0
ldrb r0, [r4, r2]
add r3, r1, #0
add r0, r0, #1
strb r0, [r4, r2]
ldrb r2, [r4, r2]
add r0, r4, #0
lsl r2, r2, #4
neg r2, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D3AC
ldr r2, _0221C548 ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #1
mov r3, #0
lsl r2, r2, #4
neg r2, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D3AC
ldr r2, _0221C548 ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #2
mov r3, #0
lsl r2, r2, #0x14
asr r2, r2, #0x10
bl ov05_0221D3AC
ldr r2, _0221C548 ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #3
mov r3, #0
lsl r2, r2, #0x14
asr r2, r2, #0x10
bl ov05_0221D3AC
ldr r2, _0221C548 ; =0x00000B82
mov r1, #0
ldrb r2, [r4, r2]
add r0, r4, #0
add r3, r1, #0
lsl r2, r2, #4
neg r2, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D664
ldr r2, _0221C548 ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #1
mov r3, #0
lsl r2, r2, #4
neg r2, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D664
ldr r2, _0221C548 ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #2
mov r3, #0
lsl r2, r2, #0x14
asr r2, r2, #0x10
bl ov05_0221D664
ldr r2, _0221C548 ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #3
mov r3, #0
lsl r2, r2, #0x14
asr r2, r2, #0x10
bl ov05_0221D664
mov r0, #0
add sp, #0xc
pop {r3, r4, pc}
nop
_0221C548: .word 0x00000B82
_0221C54C: .word 0x00007FFF
_0221C550: .word 0x00000B7F
_0221C554: .word 0x00000719
thumb_func_end ov05_0221C430
thumb_func_start ov05_0221C558
ov05_0221C558: ; 0x0221C558
ldr r1, _0221C564 ; =0x00000B81
mov r2, #0x10
strb r2, [r0, r1]
mov r0, #2
bx lr
nop
_0221C564: .word 0x00000B81
thumb_func_end ov05_0221C558
thumb_func_start ov05_0221C568
ov05_0221C568: ; 0x0221C568
push {r4, lr}
add r4, r0, #0
bl ov05_0221CCF4
cmp r0, #1
ldr r0, [r4]
bne _0221C58C
add r0, #0x2a
ldrb r0, [r0]
cmp r0, #1
ldr r0, _0221C5A4 ; =0x00000B7E
bne _0221C586
mov r1, #0
strb r1, [r4, r0]
b _0221C5A0
_0221C586:
mov r1, #1
strb r1, [r4, r0]
b _0221C5A0
_0221C58C:
add r0, #0x2a
ldrb r0, [r0]
cmp r0, #1
ldr r0, _0221C5A4 ; =0x00000B7E
bne _0221C59C
mov r1, #1
strb r1, [r4, r0]
b _0221C5A0
_0221C59C:
mov r1, #0
strb r1, [r4, r0]
_0221C5A0:
mov r0, #2
pop {r4, pc}
.balign 4, 0
_0221C5A4: .word 0x00000B7E
thumb_func_end ov05_0221C568
thumb_func_start ov05_0221C5A8
ov05_0221C5A8: ; 0x0221C5A8
push {r3, lr}
ldr r1, _0221C5C0 ; =0x00000B7E
ldrb r1, [r0, r1]
cmp r1, #0
bne _0221C5B8
bl ov05_0221C5C4
pop {r3, pc}
_0221C5B8:
bl ov05_0221C6C8
pop {r3, pc}
nop
_0221C5C0: .word 0x00000B7E
thumb_func_end ov05_0221C5A8
thumb_func_start ov05_0221C5C4
ov05_0221C5C4: ; 0x0221C5C4
push {r3, r4, r5, lr}
ldr r3, _0221C6B8 ; =0x00000B82
add r4, r0, #0
ldrb r3, [r4, r3]
mov r1, #2
ldr r0, [r4, #0xc]
lsl r5, r3, #1
ldr r3, _0221C6BC ; =ov05_0221EA6C
add r2, r1, #0
ldrb r3, [r3, r5]
bl ScheduleSetBgPosText
ldr r3, _0221C6B8 ; =0x00000B82
ldr r0, [r4, #0xc]
ldrb r3, [r4, r3]
mov r1, #3
mov r2, #2
lsl r5, r3, #1
ldr r3, _0221C6BC ; =ov05_0221EA6C
ldrb r3, [r3, r5]
bl ScheduleSetBgPosText
ldr r2, _0221C6B8 ; =0x00000B82
mov r1, #0
ldrb r2, [r4, r2]
add r0, r4, #0
lsl r3, r2, #1
ldr r2, _0221C6C0 ; =ov05_0221EA6D
ldrb r2, [r2, r3]
add r3, r1, #0
bl ov05_0221D3AC
ldr r2, _0221C6B8 ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #1
lsl r3, r2, #1
ldr r2, _0221C6C0 ; =ov05_0221EA6D
ldrb r2, [r2, r3]
mov r3, #0
bl ov05_0221D3AC
ldr r2, _0221C6B8 ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #2
lsl r3, r2, #1
ldr r2, _0221C6C0 ; =ov05_0221EA6D
ldrb r2, [r2, r3]
mov r3, #0
bl ov05_0221D3AC
ldr r2, _0221C6B8 ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #3
lsl r3, r2, #1
ldr r2, _0221C6C0 ; =ov05_0221EA6D
ldrb r2, [r2, r3]
mov r3, #0
bl ov05_0221D3AC
ldr r2, _0221C6B8 ; =0x00000B82
mov r1, #0
ldrb r2, [r4, r2]
add r0, r4, #0
lsl r3, r2, #1
ldr r2, _0221C6C0 ; =ov05_0221EA6D
ldrb r2, [r2, r3]
add r3, r1, #0
bl ov05_0221D664
ldr r2, _0221C6B8 ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #1
lsl r3, r2, #1
ldr r2, _0221C6C0 ; =ov05_0221EA6D
ldrb r2, [r2, r3]
mov r3, #0
bl ov05_0221D664
ldr r2, _0221C6B8 ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #2
lsl r3, r2, #1
ldr r2, _0221C6C0 ; =ov05_0221EA6D
ldrb r2, [r2, r3]
mov r3, #0
bl ov05_0221D664
ldr r2, _0221C6B8 ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #3
lsl r3, r2, #1
ldr r2, _0221C6C0 ; =ov05_0221EA6D
ldrb r2, [r2, r3]
mov r3, #0
bl ov05_0221D664
ldr r0, _0221C6B8 ; =0x00000B82
ldrb r0, [r4, r0]
cmp r0, #0
bne _0221C69E
ldr r0, _0221C6C4 ; =0x00000853
bl PlaySE
_0221C69E:
ldr r0, _0221C6B8 ; =0x00000B82
ldrb r1, [r4, r0]
cmp r1, #5
bne _0221C6AE
mov r1, #0
strb r1, [r4, r0]
mov r0, #1
pop {r3, r4, r5, pc}
_0221C6AE:
add r1, r1, #1
strb r1, [r4, r0]
mov r0, #0
pop {r3, r4, r5, pc}
nop
_0221C6B8: .word 0x00000B82
_0221C6BC: .word ov05_0221EA6C
_0221C6C0: .word ov05_0221EA6D
_0221C6C4: .word 0x00000853
thumb_func_end ov05_0221C5C4
thumb_func_start ov05_0221C6C8
ov05_0221C6C8: ; 0x0221C6C8
push {r3, r4, r5, lr}
ldr r3, _0221C7EC ; =0x00000B82
add r4, r0, #0
ldrb r3, [r4, r3]
ldr r0, [r4, #0xc]
mov r1, #2
lsl r5, r3, #1
ldr r3, _0221C7F0 ; =ov05_0221EA6C
mov r2, #1
ldrb r3, [r3, r5]
bl ScheduleSetBgPosText
ldr r3, _0221C7EC ; =0x00000B82
ldr r0, [r4, #0xc]
ldrb r3, [r4, r3]
mov r1, #3
mov r2, #1
lsl r5, r3, #1
ldr r3, _0221C7F0 ; =ov05_0221EA6C
ldrb r3, [r3, r5]
bl ScheduleSetBgPosText
ldr r2, _0221C7EC ; =0x00000B82
mov r1, #0
ldrb r2, [r4, r2]
add r0, r4, #0
lsl r3, r2, #1
ldr r2, _0221C7F4 ; =ov05_0221EA6D
ldrb r2, [r2, r3]
add r3, r1, #0
neg r2, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D3AC
ldr r2, _0221C7EC ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #1
lsl r3, r2, #1
ldr r2, _0221C7F4 ; =ov05_0221EA6D
ldrb r2, [r2, r3]
mov r3, #0
neg r2, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D3AC
ldr r2, _0221C7EC ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #2
lsl r3, r2, #1
ldr r2, _0221C7F4 ; =ov05_0221EA6D
ldrb r2, [r2, r3]
mov r3, #0
neg r2, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D3AC
ldr r2, _0221C7EC ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #3
lsl r3, r2, #1
ldr r2, _0221C7F4 ; =ov05_0221EA6D
ldrb r2, [r2, r3]
mov r3, #0
neg r2, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D3AC
ldr r2, _0221C7EC ; =0x00000B82
mov r1, #0
ldrb r2, [r4, r2]
add r0, r4, #0
lsl r3, r2, #1
ldr r2, _0221C7F4 ; =ov05_0221EA6D
ldrb r2, [r2, r3]
add r3, r1, #0
neg r2, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D664
ldr r2, _0221C7EC ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #1
lsl r3, r2, #1
ldr r2, _0221C7F4 ; =ov05_0221EA6D
ldrb r2, [r2, r3]
mov r3, #0
neg r2, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D664
ldr r2, _0221C7EC ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #2
lsl r3, r2, #1
ldr r2, _0221C7F4 ; =ov05_0221EA6D
ldrb r2, [r2, r3]
mov r3, #0
neg r2, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D664
ldr r2, _0221C7EC ; =0x00000B82
add r0, r4, #0
ldrb r2, [r4, r2]
mov r1, #3
lsl r3, r2, #1
ldr r2, _0221C7F4 ; =ov05_0221EA6D
ldrb r2, [r2, r3]
mov r3, #0
neg r2, r2
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl ov05_0221D664
ldr r0, _0221C7EC ; =0x00000B82
ldrb r0, [r4, r0]
cmp r0, #0
bne _0221C7D2
ldr r0, _0221C7F8 ; =0x00000853
bl PlaySE
_0221C7D2:
ldr r0, _0221C7EC ; =0x00000B82
ldrb r1, [r4, r0]
cmp r1, #5
bne _0221C7E2
mov r1, #0
strb r1, [r4, r0]
mov r0, #1
pop {r3, r4, r5, pc}
_0221C7E2:
add r1, r1, #1
strb r1, [r4, r0]
mov r0, #0
pop {r3, r4, r5, pc}
nop
_0221C7EC: .word 0x00000B82
_0221C7F0: .word ov05_0221EA6C
_0221C7F4: .word ov05_0221EA6D
_0221C7F8: .word 0x00000853
thumb_func_end ov05_0221C6C8
thumb_func_start ov05_0221C7FC
ov05_0221C7FC: ; 0x0221C7FC
ldr r1, _0221C808 ; =0x00000B81
mov r2, #0x10
strb r2, [r0, r1]
mov r0, #2
bx lr
nop
_0221C808: .word 0x00000B81
thumb_func_end ov05_0221C7FC
thumb_func_start ov05_0221C80C
ov05_0221C80C: ; 0x0221C80C
push {r4, r5, r6, lr}
add r4, r0, #0
ldr r0, _0221C894 ; =0x00000B82
ldrb r0, [r4, r0]
cmp r0, #0
bne _0221C850
mov r0, #2
mov r1, #1
bl GX_EngineAToggleLayers
mov r0, #1
lsl r0, r0, #0x1a
add r3, r0, #0
ldr r2, [r0]
ldr r1, _0221C898 ; =0xFFFF1FFF
add r3, #0x48
and r2, r1
lsr r1, r0, #0xd
orr r1, r2
str r1, [r0]
ldrh r5, [r3]
mov r2, #0x3f
mov r1, #0x1f
bic r5, r2
orr r5, r1
mov r1, #0x20
orr r1, r5
strh r1, [r3]
add r0, #0x4a
ldrh r3, [r0]
mov r1, #0x1d
bic r3, r2
orr r1, r3
strh r1, [r0]
_0221C850:
ldr r3, _0221C894 ; =0x00000B82
ldrb r1, [r4, r3]
cmp r1, #0x10
bne _0221C870
mov r0, #0
mov r1, #0x20
strb r0, [r4, r3]
sub r0, r3, #1
strb r1, [r4, r0]
lsl r2, r1, #0x15
ldr r1, [r2]
ldr r0, _0221C898 ; =0xFFFF1FFF
and r0, r1
str r0, [r2]
mov r0, #1
pop {r4, r5, r6, pc}
_0221C870:
mov r2, #0x47
sub r2, r2, r1
add r1, #0x48
lsl r1, r1, #0x18
mov r6, #0xff
ldr r0, _0221C89C ; =0x04000040
lsl r5, r2, #8
lsl r2, r6, #8
and r2, r5
lsr r1, r1, #0x18
strh r6, [r0]
orr r1, r2
strh r1, [r0, #4]
ldrb r0, [r4, r3]
add r0, r0, #1
strb r0, [r4, r3]
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_0221C894: .word 0x00000B82
_0221C898: .word 0xFFFF1FFF
_0221C89C: .word 0x04000040
thumb_func_end ov05_0221C80C
thumb_func_start ov05_0221C8A0
ov05_0221C8A0: ; 0x0221C8A0
push {r4, lr}
add r4, r0, #0
ldr r0, _0221C8D8 ; =0x0000071A
bl PlaySE
mov r0, #0x72
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #1
bl sub_0200DCE8
mov r0, #0x73
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #1
bl sub_0200DCE8
mov r0, #0x72
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0
bl sub_0200DC4C
ldr r0, _0221C8DC ; =0x00000B81
mov r1, #0x20
strb r1, [r4, r0]
mov r0, #1
pop {r4, pc}
.balign 4, 0
_0221C8D8: .word 0x0000071A
_0221C8DC: .word 0x00000B81
thumb_func_end ov05_0221C8A0
thumb_func_start ov05_0221C8E0
ov05_0221C8E0: ; 0x0221C8E0
push {r4, lr}
add r4, r0, #0
ldr r0, _0221C900 ; =0x0000071A
bl PlaySE
mov r0, #0x72
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #1
bl sub_0200DCE8
ldr r0, _0221C904 ; =0x00000B81
mov r1, #0x40
strb r1, [r4, r0]
mov r0, #1
pop {r4, pc}
.balign 4, 0
_0221C900: .word 0x0000071A
_0221C904: .word 0x00000B81
thumb_func_end ov05_0221C8E0
thumb_func_start ov05_0221C908
ov05_0221C908: ; 0x0221C908
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
bl ov05_0221E9F8
cmp r0, #0
bne _0221C920
ldr r1, _0221CA9C ; =0x00000B81
mov r0, #1
add sp, #0xc
strb r0, [r4, r1]
pop {r3, r4, pc}
_0221C920:
mov r0, #0xbd
lsl r0, r0, #4
ldr r1, [r4, r0]
cmp r1, #0
bne _0221C938
sub r0, #0x10
ldr r0, [r4, r0]
cmp r0, #0
beq _0221C938
add sp, #0xc
mov r0, #0
pop {r3, r4, pc}
_0221C938:
ldr r0, _0221CAA0 ; =0x00000BBC
ldr r1, [r4, r0]
cmp r1, #5
bne _0221C946
add sp, #0xc
mov r0, #0
pop {r3, r4, pc}
_0221C946:
cmp r1, #6
beq _0221C960
cmp r1, #5
beq _0221C960
cmp r1, #7
beq _0221C960
cmp r1, #8
beq _0221C960
mov r1, #7
str r1, [r4, r0]
mov r1, #0xff
sub r0, #0x3a
strb r1, [r4, r0]
_0221C960:
ldr r0, _0221CAA4 ; =0x00000B82
ldrb r1, [r4, r0]
cmp r1, #0
beq _0221C972
cmp r1, #1
beq _0221C9B0
cmp r1, #2
beq _0221CA4A
b _0221CA68
_0221C972:
add r0, r4, #0
bl ov05_0221E9C4
ldr r2, _0221CAA8 ; =0x00000BAC
mov r1, #8
ldr r0, [r4, r2]
add r2, #8
ldr r2, [r4, r2]
bl ReadMsgDataIntoString
mov r3, #0
str r3, [sp]
ldr r2, _0221CAAC ; =0x00000B88
str r3, [sp, #4]
add r0, r4, r2
str r3, [sp, #8]
add r2, #0x2c
ldr r2, [r4, r2]
mov r1, #1
bl AddTextPrinterParameterized
ldr r1, _0221CAB0 ; =0x00000BB8
str r0, [r4, r1]
add r0, r4, #0
bl ov05_0221EA18
ldr r0, _0221CAA4 ; =0x00000B82
ldrb r1, [r4, r0]
add r1, r1, #1
strb r1, [r4, r0]
b _0221CA8C
_0221C9B0:
add r2, r0, #2
add r0, r0, #4
ldr r1, [r4]
add r2, r4, r2
str r2, [sp]
add r0, r4, r0
str r0, [sp, #4]
ldr r2, [r1]
mov r0, #7
add r1, #0x2c
lsl r0, r0, #6
ldr r0, [r2, r0]
mov r2, #0
ldrb r1, [r1]
add r3, r2, #0
bl sub_0202FE14
cmp r0, #2
bne _0221C9EC
ldr r2, _0221CAA8 ; =0x00000BAC
mov r1, #6
ldr r0, [r4, r2]
add r2, #8
ldr r2, [r4, r2]
bl ReadMsgDataIntoString
ldr r0, _0221CAB4 ; =0x0000061A
bl PlaySE
b _0221C9FE
_0221C9EC:
cmp r0, #3
bne _0221CA8C
ldr r2, _0221CAA8 ; =0x00000BAC
mov r1, #7
ldr r0, [r4, r2]
add r2, #8
ldr r2, [r4, r2]
bl ReadMsgDataIntoString
_0221C9FE:
add r0, r4, #0
bl ov05_0221EA38
mov r0, #0xd8
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
ldr r0, _0221CAAC ; =0x00000B88
mov r2, #0
add r0, r4, r0
mov r1, #0xf
add r3, r2, #0
bl FillWindowPixelRect
mov r3, #0
str r3, [sp]
ldr r2, _0221CAAC ; =0x00000B88
str r3, [sp, #4]
add r0, r4, r2
str r3, [sp, #8]
add r2, #0x2c
ldr r2, [r4, r2]
mov r1, #1
bl AddTextPrinterParameterized
ldr r1, _0221CAB0 ; =0x00000BB8
mov r2, #0
str r0, [r4, r1]
add r0, r1, #0
sub r0, #0x37
strb r2, [r4, r0]
add r0, r1, #0
sub r0, #0x36
ldrb r0, [r4, r0]
sub r1, #0x36
add r0, r0, #1
strb r0, [r4, r1]
b _0221CA8C
_0221CA4A:
sub r1, r0, #1
ldrb r1, [r4, r1]
add r2, r1, #1
sub r1, r0, #1
strb r2, [r4, r1]
ldrb r1, [r4, r1]
cmp r1, #0x1e
bls _0221CA8C
mov r2, #0
sub r1, r0, #1
strb r2, [r4, r1]
ldrb r1, [r4, r0]
add r1, r1, #1
strb r1, [r4, r0]
b _0221CA8C
_0221CA68:
add r0, r0, #6
add r0, r4, r0
mov r1, #0
bl ClearFrameAndWindow2
ldr r0, [r4, #0xc]
mov r1, #0
bl ScheduleBgTilemapBufferTransfer
ldr r0, _0221CAA4 ; =0x00000B82
mov r1, #0
strb r1, [r4, r0]
mov r1, #0x15
sub r0, r0, #1
strb r1, [r4, r0]
add sp, #0xc
mov r0, #1
pop {r3, r4, pc}
_0221CA8C:
ldr r0, [r4, #0xc]
mov r1, #0
bl ScheduleBgTilemapBufferTransfer
mov r0, #0
add sp, #0xc
pop {r3, r4, pc}
nop
_0221CA9C: .word 0x00000B81
_0221CAA0: .word 0x00000BBC
_0221CAA4: .word 0x00000B82
_0221CAA8: .word 0x00000BAC
_0221CAAC: .word 0x00000B88
_0221CAB0: .word 0x00000BB8
_0221CAB4: .word 0x0000061A
thumb_func_end ov05_0221C908
thumb_func_start ov05_0221CAB8
ov05_0221CAB8: ; 0x0221CAB8
push {r3, r4, lr}
sub sp, #0xc
ldr r1, _0221CB5C ; =0x00000B82
add r4, r0, #0
ldrb r1, [r4, r1]
cmp r1, #0
beq _0221CACC
cmp r1, #1
beq _0221CB34
b _0221CB4A
_0221CACC:
bl ov05_0221E9F8
cmp r0, #0
bne _0221CADC
mov r0, #1
mov r1, #0
bl GX_EngineAToggleLayers
_0221CADC:
add r0, r4, #0
bl ov05_0221E9C4
ldr r2, _0221CB60 ; =0x00000BAC
mov r1, #9
ldr r0, [r4, r2]
add r2, #8
ldr r2, [r4, r2]
bl ReadMsgDataIntoString
mov r3, #0
str r3, [sp]
ldr r2, _0221CB64 ; =0x00000B88
str r3, [sp, #4]
add r0, r4, r2
str r3, [sp, #8]
add r2, #0x2c
ldr r2, [r4, r2]
mov r1, #1
bl AddTextPrinterParameterized
ldr r1, _0221CB68 ; =0x00000BB8
str r0, [r4, r1]
mov r0, #0x3e
bl sub_02037AC0
ldr r0, _0221CB6C ; =0x00000BC8
ldr r0, [r4, r0]
cmp r0, #0
bne _0221CB2A
add r0, r4, #0
bl ov05_0221E9F8
cmp r0, #1
bne _0221CB2A
mov r0, #1
add r1, r0, #0
bl GX_EngineAToggleLayers
_0221CB2A:
ldr r0, _0221CB5C ; =0x00000B82
ldrb r1, [r4, r0]
add r1, r1, #1
strb r1, [r4, r0]
b _0221CB4E
_0221CB34:
mov r0, #0x3e
bl sub_02037B38
cmp r0, #0
beq _0221CB4E
ldr r0, _0221CB5C ; =0x00000B82
mov r1, #0
strb r1, [r4, r0]
add sp, #0xc
mov r0, #1
pop {r3, r4, pc}
_0221CB4A:
bl GF_AssertFail
_0221CB4E:
ldr r0, [r4, #0xc]
mov r1, #0
bl ScheduleBgTilemapBufferTransfer
mov r0, #0
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
_0221CB5C: .word 0x00000B82
_0221CB60: .word 0x00000BAC
_0221CB64: .word 0x00000B88
_0221CB68: .word 0x00000BB8
_0221CB6C: .word 0x00000BC8
thumb_func_end ov05_0221CAB8
thumb_func_start ov05_0221CB70
ov05_0221CB70: ; 0x0221CB70
push {r4, lr}
sub sp, #8
add r4, r0, #0
bl ov05_0221CCF4
cmp r0, #1
ldr r0, [r4]
bne _0221CBB2
add r0, #0x2a
ldrb r0, [r0]
cmp r0, #1
bne _0221CB9E
mov r0, #0x30
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r1, #0
ldr r0, [r4, #8]
mov r2, #0x40
add r3, r1, #0
bl PaletteData_CopyPalette
b _0221CBE2
_0221CB9E:
mov r1, #0
str r1, [sp]
mov r0, #0x20
str r0, [sp, #4]
ldr r0, [r4, #8]
mov r2, #0x40
add r3, r1, #0
bl PaletteData_CopyPalette
b _0221CBE2
_0221CBB2:
add r0, #0x2a
ldrb r0, [r0]
cmp r0, #1
bne _0221CBCE
mov r1, #0
str r1, [sp]
mov r0, #0x20
str r0, [sp, #4]
ldr r0, [r4, #8]
mov r2, #0x40
add r3, r1, #0
bl PaletteData_CopyPalette
b _0221CBE2
_0221CBCE:
mov r0, #0x30
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r1, #0
ldr r0, [r4, #8]
mov r2, #0x40
add r3, r1, #0
bl PaletteData_CopyPalette
_0221CBE2:
ldr r0, [r4, #8]
mov r1, #1
bl sub_02003B74
ldr r0, _0221CBFC ; =0x0000071B
bl PlaySE
ldr r0, _0221CC00 ; =0x00000B81
mov r1, #0x40
strb r1, [r4, r0]
mov r0, #1
add sp, #8
pop {r4, pc}
.balign 4, 0
_0221CBFC: .word 0x0000071B
_0221CC00: .word 0x00000B81
thumb_func_end ov05_0221CB70
thumb_func_start ov05_0221CC04
ov05_0221CC04: ; 0x0221CC04
push {r4, lr}
add r4, r0, #0
ldr r0, _0221CC50 ; =0x00000B82
ldrb r0, [r4, r0]
cmp r0, #0
bne _0221CC16
ldr r0, _0221CC54 ; =0x00000719
bl PlaySE
_0221CC16:
ldr r1, _0221CC50 ; =0x00000B82
ldrb r0, [r4, r1]
cmp r0, #0x10
bne _0221CC2C
mov r0, #0
strb r0, [r4, r1]
mov r2, #0x40
sub r0, r1, #1
strb r2, [r4, r0]
mov r0, #1
pop {r4, pc}
_0221CC2C:
add r0, r0, #1
strb r0, [r4, r1]
ldrb r2, [r4, r1]
mov r1, #0x10
add r0, r4, #0
sub r1, r1, r2
lsl r1, r1, #0x10
asr r1, r1, #0x10
bl ov05_0221E564
ldr r1, _0221CC50 ; =0x00000B82
add r0, r4, #0
ldrb r1, [r4, r1]
bl ov05_0221DE6C
mov r0, #0
pop {r4, pc}
nop
_0221CC50: .word 0x00000B82
_0221CC54: .word 0x00000719
thumb_func_end ov05_0221CC04
thumb_func_start ov05_0221CC58
ov05_0221CC58: ; 0x0221CC58
push {r4, lr}
add r4, r0, #0
ldr r1, [r4]
mov r0, #1
ldr r1, [r1, #0x24]
bl sub_020880CC
ldr r0, _0221CC70 ; =0x00000B7F
mov r1, #2
strb r1, [r4, r0]
mov r0, #1
pop {r4, pc}
.balign 4, 0
_0221CC70: .word 0x00000B7F
thumb_func_end ov05_0221CC58
thumb_func_start ov05_0221CC74
ov05_0221CC74: ; 0x0221CC74
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl IsPaletteFadeFinished
cmp r0, #0
bne _0221CC86
mov r0, #0
pop {r3, r4, r5, pc}
_0221CC86:
mov r0, #0
add r1, r0, #0
bl Main_SetVBlankIntrCB
add r0, r4, #0
bl ov05_0221EA38
ldr r0, [r4]
add r0, #0x28
ldrb r0, [r0]
cmp r0, #0
beq _0221CCBE
add r0, r4, #0
bl ov05_0221CFF0
add r0, r4, #0
bl ov05_0221D020
add r0, r4, #0
bl ov05_0221D054
add r0, r4, #0
bl ov05_0221DB18
add r0, r4, #0
bl ov05_0221D690
b _0221CCCA
_0221CCBE:
add r0, r4, #0
bl ov05_0221DC34
add r0, r4, #0
bl ov05_0221E60C
_0221CCCA:
add r0, r4, #0
bl ov05_0221CE0C
bl GF_DestroyVramTransferManager
ldr r0, [r4, #8]
mov r1, #0
bl PaletteData_FreeBuffers
ldr r0, [r4, #8]
bl sub_02003104
ldr r0, [r4]
mov r1, #1
add r0, #0x2b
strb r1, [r0]
add r0, r5, #0
bl sub_02007234
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end ov05_0221CC74
thumb_func_start ov05_0221CCF4
ov05_0221CCF4: ; 0x0221CCF4
push {r3, lr}
bl sub_0203769C
bl sub_020378AC
cmp r0, #3
bhi _0221CD1E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0221CD0E: ; jump table
.short _0221CD16 - _0221CD0E - 2 ; case 0
.short _0221CD1A - _0221CD0E - 2 ; case 1
.short _0221CD16 - _0221CD0E - 2 ; case 2
.short _0221CD1A - _0221CD0E - 2 ; case 3
_0221CD16:
mov r0, #1
pop {r3, pc}
_0221CD1A:
mov r0, #0
pop {r3, pc}
_0221CD1E:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ov05_0221CCF4
thumb_func_start ov05_0221CD24
ov05_0221CD24: ; 0x0221CD24
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x38
add r5, r0, #0
str r1, [sp]
ldr r1, [r5]
mov r0, #0x40
ldr r1, [r1, #0x24]
add r4, r2, #0
bl GF_CreateVramTransferManager
ldr r0, [r5]
ldr r0, [r0, #0x24]
bl sub_0200CF18
mov r1, #0x19
lsl r1, r1, #4
str r0, [r5, r1]
ldr r0, [r5, r1]
bl sub_0200CF38
mov r1, #0x65
lsl r1, r1, #2
add r2, sp, #0x18
ldr r3, _0221CDBC ; =ov05_0221EBE0
str r0, [r5, r1]
ldmia r3!, {r0, r1}
add r6, r2, #0
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r3, _0221CDC0 ; =ov05_0221EAAC
add r2, sp, #4
ldmia r3!, {r0, r1}
add r7, r2, #0
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3]
add r1, r6, #0
str r0, [r2]
mov r0, #0x65
lsl r0, r0, #2
str r4, [sp, #4]
sub r0, r0, #4
ldr r0, [r5, r0]
add r2, r7, #0
mov r3, #0x10
bl sub_0200CF70
mov r1, #0x19
lsl r1, r1, #4
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
bl sub_0200CFF4
mov r1, #0x19
lsl r1, r1, #4
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
ldr r2, [sp]
bl sub_0200D3F8
mov r0, #0x10
mov r1, #1
bl GX_EngineAToggleLayers
add sp, #0x38
pop {r3, r4, r5, r6, r7, pc}
nop
_0221CDBC: .word ov05_0221EBE0
_0221CDC0: .word ov05_0221EAAC
thumb_func_end ov05_0221CD24
thumb_func_start ov05_0221CDC4
ov05_0221CDC4: ; 0x0221CDC4
push {lr}
sub sp, #0x34
add r2, r0, #0
mov r0, #0
add r3, sp, #0
strh r0, [r3]
strh r0, [r3, #2]
strh r0, [r3, #4]
strh r0, [r3, #6]
ldr r3, [r1, #0x14]
str r3, [sp, #8]
ldr r3, [r1, #0x18]
str r3, [sp, #0xc]
mov r3, #1
str r3, [sp, #0x10]
ldr r3, [r1]
str r3, [sp, #0x14]
ldr r3, [r1, #4]
str r3, [sp, #0x18]
ldr r3, [r1, #8]
str r3, [sp, #0x1c]
ldr r3, [r1, #0xc]
str r3, [sp, #0x20]
ldr r1, [r1, #0x10]
str r1, [sp, #0x2c]
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #0x30]
ldr r0, [r2, r1]
add r1, r1, #4
ldr r1, [r2, r1]
add r2, sp, #0
bl sub_0200D734
add sp, #0x34
pop {pc}
thumb_func_end ov05_0221CDC4
thumb_func_start ov05_0221CE0C
ov05_0221CE0C: ; 0x0221CE0C
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
mov r0, #0x21
lsl r0, r0, #4
ldr r0, [r6, r0]
mov r4, #0
cmp r0, #0
bls _0221CE36
mov r7, #0x21
add r5, r6, #0
lsl r7, r7, #4
_0221CE22:
mov r0, #0x66
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_0200D9DC
ldr r0, [r6, r7]
add r4, r4, #1
add r5, r5, #4
cmp r4, r0
blo _0221CE22
_0221CE36:
mov r1, #0x19
lsl r1, r1, #4
ldr r0, [r6, r1]
add r1, r1, #4
ldr r1, [r6, r1]
bl sub_0200D998
mov r0, #0x19
lsl r0, r0, #4
ldr r0, [r6, r0]
bl sub_0200D108
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov05_0221CE0C
thumb_func_start ov05_0221CE50
ov05_0221CE50: ; 0x0221CE50
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #0x21
lsl r0, r0, #4
ldr r0, [r5, r0]
mov r4, #0
cmp r0, #0
bls _0221CE84
mov r7, #0x66
lsl r7, r7, #2
add r6, r7, #0
add r6, #0x78
_0221CE68:
lsl r0, r4, #2
add r0, r5, r0
ldr r0, [r0, r7]
mov r1, #1
ldr r0, [r0]
lsl r1, r1, #0xc
bl sub_020249B0
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
ldr r0, [r5, r6]
cmp r4, r0
blo _0221CE68
_0221CE84:
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov05_0221CE50
thumb_func_start ov05_0221CE88
ov05_0221CE88: ; 0x0221CE88
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0xc]
bl BgConfig_HandleScheduledScrollAndTransferOps
ldr r0, [r4, #8]
bl sub_0200398C
bl GF_RunVramTransferTasks
bl sub_0200D034
ldr r3, _0221CEB0 ; =0x027E0000
ldr r1, _0221CEB4 ; =0x00003FF8
mov r0, #1
ldr r2, [r3, r1]
orr r0, r2
str r0, [r3, r1]
pop {r4, pc}
nop
_0221CEB0: .word 0x027E0000
_0221CEB4: .word 0x00003FF8
thumb_func_end ov05_0221CE88
thumb_func_start ov05_0221CEB8
ov05_0221CEB8: ; 0x0221CEB8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x80
add r5, r0, #0
ldr r0, _0221CFD4 ; =0x00000BA8
add r4, r1, #0
ldr r6, _0221CFD8 ; =ov05_0221EA78
str r4, [r5, r0]
add r3, sp, #0x70
add r7, r2, #0
add r2, r3, #0
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
add r0, r2, #0
str r4, [sp, #0x7c]
bl SetBothScreensModesAndDisable
ldr r6, _0221CFDC ; =ov05_0221EB1C
add r3, sp, #0x54
ldmia r6!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r6]
mov r1, #3
str r0, [r3]
ldr r0, [r5, #0xc]
mov r3, #0
bl InitBgFromTemplate
ldr r0, [r5, #0xc]
mov r1, #3
bl BgClearTilemapBufferAndCommit
mov r1, #3
add r3, r1, #0
ldr r0, [r5, #0xc]
mov r2, #0
add r3, #0xfd
bl ScheduleSetBgPosText
ldr r6, _0221CFE0 ; =ov05_0221EB54
add r3, sp, #0x38
ldmia r6!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r6]
mov r1, #2
str r0, [r3]
ldr r0, [r5, #0xc]
mov r3, #0
bl InitBgFromTemplate
ldr r0, [r5, #0xc]
mov r1, #2
bl BgClearTilemapBufferAndCommit
mov r3, #0xff
ldr r0, [r5, #0xc]
mov r1, #2
mov r2, #0
mvn r3, r3
bl ScheduleSetBgPosText
ldr r6, _0221CFE4 ; =ov05_0221EB70
add r3, sp, #0x1c
ldmia r6!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r6]
mov r1, #1
str r0, [r3]
ldr r0, [r5, #0xc]
mov r3, #0
bl InitBgFromTemplate
ldr r0, [r5, #0xc]
mov r1, #1
bl BgClearTilemapBufferAndCommit
mov r0, #2
mov r1, #0
bl GX_EngineAToggleLayers
cmp r7, #1
bne _0221CF88
ldr r0, [r5, #0xc]
mov r1, #1
mov r2, #3
mov r3, #0x18
bl BgSetPosTextAndCommit
_0221CF88:
cmp r4, #0
bne _0221CFD0
ldr r4, _0221CFE8 ; =ov05_0221EBA8
add r3, sp, #0
ldmia r4!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r4]
mov r1, #0
str r0, [r3]
ldr r0, [r5, #0xc]
add r3, r1, #0
bl InitBgFromTemplate
ldr r0, [r5, #0xc]
mov r1, #0
bl BgClearTilemapBufferAndCommit
ldr r0, _0221CFEC ; =0x00000BC8
ldr r0, [r5, r0]
cmp r0, #1
bne _0221CFC8
mov r0, #1
add r1, r0, #0
bl GX_EngineAToggleLayers
add sp, #0x80
pop {r3, r4, r5, r6, r7, pc}
_0221CFC8:
mov r0, #1
mov r1, #0
bl GX_EngineAToggleLayers
_0221CFD0:
add sp, #0x80
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0221CFD4: .word 0x00000BA8
_0221CFD8: .word ov05_0221EA78
_0221CFDC: .word ov05_0221EB1C
_0221CFE0: .word ov05_0221EB54
_0221CFE4: .word ov05_0221EB70
_0221CFE8: .word ov05_0221EBA8
_0221CFEC: .word 0x00000BC8
thumb_func_end ov05_0221CEB8
thumb_func_start ov05_0221CFF0
ov05_0221CFF0: ; 0x0221CFF0
push {r4, lr}
add r4, r0, #0
ldr r0, _0221D018 ; =0x00000B94
ldr r1, [r4, r0]
cmp r1, #0
beq _0221D004
sub r0, #0xc
add r0, r4, r0
bl RemoveWindow
_0221D004:
ldr r0, _0221D01C ; =0x00000BA4
ldr r1, [r4, r0]
cmp r1, #0
beq _0221D014
sub r0, #0xc
add r0, r4, r0
bl RemoveWindow
_0221D014:
pop {r4, pc}
nop
_0221D018: .word 0x00000B94
_0221D01C: .word 0x00000BA4
thumb_func_end ov05_0221CFF0
thumb_func_start ov05_0221D020
ov05_0221D020: ; 0x0221D020
push {r4, lr}
add r4, r0, #0
ldr r0, _0221D04C ; =0x00000BB4
ldr r0, [r4, r0]
cmp r0, #0
beq _0221D030
bl String_dtor
_0221D030:
mov r0, #0xbb
lsl r0, r0, #4
ldr r0, [r4, r0]
cmp r0, #0
beq _0221D03E
bl ScrStrBufs_delete
_0221D03E:
ldr r0, _0221D050 ; =0x00000BAC
ldr r0, [r4, r0]
cmp r0, #0
beq _0221D04A
bl DestroyMsgData
_0221D04A:
pop {r4, pc}
.balign 4, 0
_0221D04C: .word 0x00000BB4
_0221D050: .word 0x00000BAC
thumb_func_end ov05_0221D020
thumb_func_start ov05_0221D054
ov05_0221D054: ; 0x0221D054
push {r4, lr}
add r4, r0, #0
mov r0, #0x1f
mov r1, #0
bl GX_EngineAToggleLayers
ldr r0, [r4, #0xc]
mov r1, #3
bl FreeBgTilemapBuffer
ldr r0, [r4, #0xc]
mov r1, #2
bl FreeBgTilemapBuffer
ldr r0, [r4, #0xc]
mov r1, #1
bl FreeBgTilemapBuffer
ldr r0, _0221D090 ; =0x00000BA8
ldr r0, [r4, r0]
cmp r0, #0
bne _0221D088
ldr r0, [r4, #0xc]
mov r1, #0
bl FreeBgTilemapBuffer
_0221D088:
ldr r0, [r4, #0xc]
bl FreeToHeap
pop {r4, pc}
.balign 4, 0
_0221D090: .word 0x00000BA8
thumb_func_end ov05_0221D054
thumb_func_start ov05_0221D094
ov05_0221D094: ; 0x0221D094
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
ldr r1, [r5]
mov r0, #0x68
ldr r1, [r1, #0x24]
bl NARC_ctor
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
str r1, [sp, #8]
ldr r2, [r5]
mov r3, #1
ldr r2, [r2, #0x24]
add r4, r0, #0
str r2, [sp, #0xc]
ldr r2, [r5, #0xc]
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, [r5]
mov r1, #4
ldr r0, [r0, #0x24]
mov r3, #1
str r0, [sp, #0xc]
ldr r2, [r5, #0xc]
add r0, r4, #0
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, [r5]
mov r1, #2
ldr r0, [r0, #0x24]
add r3, r1, #0
str r0, [sp, #0xc]
ldr r2, [r5, #0xc]
add r0, r4, #0
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, [r5]
mov r1, #3
ldr r0, [r0, #0x24]
add r3, r1, #0
str r0, [sp, #0xc]
ldr r2, [r5, #0xc]
add r0, r4, #0
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r2, #0
str r2, [sp]
ldr r0, [r5]
mov r1, #1
ldr r0, [r0, #0x24]
add r3, r2, #0
str r0, [sp, #4]
add r0, r4, #0
bl GfGfxLoader_GXLoadPalFromOpenNarc
mov r1, #0
ldr r0, [r5, #8]
add r2, r1, #0
mov r3, #0xa0
bl sub_020032A4
ldr r1, _0221D13C ; =0x000018C6
mov r0, #1
bl BG_SetMaskColor
add r0, r4, #0
bl NARC_dtor
add sp, #0x10
pop {r3, r4, r5, pc}
.balign 4, 0
_0221D13C: .word 0x000018C6
thumb_func_end ov05_0221D094
thumb_func_start ov05_0221D140
ov05_0221D140: ; 0x0221D140
push {r3, r4, lr}
sub sp, #0x14
add r4, r0, #0
ldr r0, _0221D21C ; =0x00000BA8
ldr r0, [r4, r0]
cmp r0, #0
bne _0221D164
ldr r0, [r4]
cmp r0, #0
beq _0221D164
ldr r1, [r0]
cmp r1, #0
beq _0221D164
mov r0, #0x13
lsl r0, r0, #4
ldr r0, [r1, r0]
cmp r0, #0
bne _0221D168
_0221D164:
bl GF_AssertFail
_0221D168:
ldr r0, [r4]
ldr r1, [r0]
mov r0, #0x13
lsl r0, r0, #4
ldr r0, [r1, r0]
bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldr r0, [r4]
mov r1, #0
ldr r0, [r0, #0x24]
mov r2, #1
str r0, [sp, #4]
ldr r0, [r4, #0xc]
mov r3, #0xf
bl LoadUserFrameGfx2
ldr r0, [r4, #8]
mov r1, #0
mov r2, #0xf0
mov r3, #0x20
bl sub_020032A4
mov r1, #0
str r1, [sp]
ldr r0, [r4]
mov r2, #0x1f
ldr r0, [r0, #0x24]
mov r3, #0xe
str r0, [sp, #4]
ldr r0, [r4, #0xc]
bl LoadUserFrameGfx1
ldr r0, [r4, #8]
mov r1, #0
mov r2, #0xe0
mov r3, #0x20
bl sub_020032A4
ldr r2, [r4]
mov r1, #0x1a
ldr r2, [r2, #0x24]
mov r0, #0
lsl r1, r1, #4
bl LoadFontPal0
ldr r0, [r4, #8]
mov r1, #0
mov r2, #0xd0
mov r3, #0x20
bl sub_020032A4
mov r0, #0x13
str r0, [sp]
mov r0, #0x1b
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
mov r0, #0x28
ldr r1, _0221D220 ; =0x00000B88
str r0, [sp, #0x10]
ldr r0, [r4, #0xc]
add r1, r4, r1
mov r2, #0
mov r3, #2
bl AddWindowParameterized
mov r0, #0x13
str r0, [sp]
mov r0, #0x1b
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
mov r0, #0x28
ldr r1, _0221D224 ; =0x00000B98
str r0, [sp, #0x10]
ldr r0, [r4, #0xc]
add r1, r4, r1
mov r2, #0
mov r3, #2
bl AddWindowParameterized
add sp, #0x14
pop {r3, r4, pc}
.balign 4, 0
_0221D21C: .word 0x00000BA8
_0221D220: .word 0x00000B88
_0221D224: .word 0x00000B98
thumb_func_end ov05_0221D140
thumb_func_start ov05_0221D228
ov05_0221D228: ; 0x0221D228
push {r3, lr}
ldr r0, _0221D23C ; =0x04000050
mov r3, #8
mov r1, #2
mov r2, #0x1c
str r3, [sp]
bl G2x_SetBlendAlpha_
pop {r3, pc}
nop
_0221D23C: .word 0x04000050
thumb_func_end ov05_0221D228
thumb_func_start ov05_0221D240
ov05_0221D240: ; 0x0221D240
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
ldr r4, _0221D310 ; =ov05_0221EB04
add r3, sp, #0
add r6, r0, #0
add r2, r3, #0
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
add r1, r2, #0
add r0, r6, #0
mov r2, #0x15
bl ov05_0221CD24
add r0, r6, #0
bl ov05_0221D318
ldr r4, _0221D314 ; =ov05_0221EDA4
mov r7, #0
add r5, r6, #0
_0221D26E:
add r0, r6, #0
add r1, r4, #0
bl ov05_0221CDC4
mov r1, #0x66
lsl r1, r1, #2
str r0, [r5, r1]
add r7, r7, #1
add r4, #0x1c
add r5, r5, #4
cmp r7, #0xc
blo _0221D26E
mov r1, #0
mov r2, #0xff
add r0, r6, #0
mvn r2, r2
add r3, r1, #0
bl ov05_0221D3AC
mov r2, #0xff
add r0, r6, #0
mov r1, #1
mvn r2, r2
mov r3, #0
bl ov05_0221D3AC
mov r1, #2
add r2, r1, #0
add r0, r6, #0
add r2, #0xfe
mov r3, #0
bl ov05_0221D3AC
mov r1, #3
add r2, r1, #0
add r0, r6, #0
add r2, #0xfd
mov r3, #0
bl ov05_0221D3AC
add r0, r6, #0
bl ov05_0221D4D0
mov r0, #0x21
mov r1, #0xc
lsl r0, r0, #4
str r1, [r6, r0]
add r0, r6, #0
bl ov05_0221D5DC
mov r1, #0
mov r2, #0xff
add r0, r6, #0
mvn r2, r2
add r3, r1, #0
bl ov05_0221D664
mov r2, #0xff
add r0, r6, #0
mov r1, #1
mvn r2, r2
mov r3, #0
bl ov05_0221D664
mov r1, #2
add r2, r1, #0
add r0, r6, #0
add r2, #0xfe
mov r3, #0
bl ov05_0221D664
mov r1, #3
add r2, r1, #0
add r0, r6, #0
add r2, #0xfd
mov r3, #0
bl ov05_0221D664
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_0221D310: .word ov05_0221EB04
_0221D314: .word ov05_0221EDA4
thumb_func_end ov05_0221D240
thumb_func_start ov05_0221D318
ov05_0221D318: ; 0x0221D318
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
ldr r1, [r5]
mov r0, #8
ldr r1, [r1, #0x24]
bl NARC_ctor
add r4, r0, #0
mov r0, #1
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0221D3A8 ; =0x0000B807
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #8]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
mov r3, #0xd0
bl sub_0200D504
mov r0, #0
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, _0221D3A8 ; =0x0000B807
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #0xc]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
mov r2, #0x68
mov r3, #8
bl sub_0200D564
mov r0, #1
str r0, [sp]
ldr r0, _0221D3A8 ; =0x0000B807
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
mov r3, #0xcf
bl sub_0200D6EC
mov r0, #1
str r0, [sp]
ldr r0, _0221D3A8 ; =0x0000B807
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
mov r3, #0xd1
bl sub_0200D71C
add r0, r4, #0
bl NARC_dtor
add sp, #0x10
pop {r3, r4, r5, pc}
nop
_0221D3A8: .word 0x0000B807
thumb_func_end ov05_0221D318
thumb_func_start ov05_0221D3AC
ov05_0221D3AC: ; 0x0221D3AC
push {r4, r5, r6, r7, lr}
sub sp, #0xc
ldr r4, _0221D408 ; =_0221EA54
str r2, [sp]
ldrb r5, [r4]
str r3, [sp, #4]
add r3, sp, #8
strb r5, [r3]
ldrb r5, [r4, #1]
add r2, sp, #8
mov r7, #0
strb r5, [r3, #1]
ldrb r5, [r4, #2]
ldrb r4, [r4, #3]
add r6, r0, r1
strb r5, [r3, #2]
strb r4, [r3, #3]
ldrb r2, [r2, r1]
add r4, r7, #0
lsl r2, r2, #2
add r5, r0, r2
_0221D3D6:
ldr r1, _0221D40C ; =0x00000B64
mov r0, #0x66
ldrb r1, [r6, r1]
lsl r0, r0, #2
ldr r0, [r5, r0]
add r2, r1, r4
ldr r1, [sp]
add r1, r1, r2
ldr r2, _0221D410 ; =0x00000B68
lsl r1, r1, #0x10
ldrb r3, [r6, r2]
ldr r2, [sp, #4]
asr r1, r1, #0x10
add r2, r2, r3
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl sub_0200DDB8
add r7, r7, #1
add r4, #0x13
add r5, r5, #4
cmp r7, #3
blo _0221D3D6
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0221D408: .word _0221EA54
_0221D40C: .word 0x00000B64
_0221D410: .word 0x00000B68
thumb_func_end ov05_0221D3AC
thumb_func_start ov05_0221D414
ov05_0221D414: ; 0x0221D414
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r6, r0, #0
add r0, r1, #0
str r1, [sp]
str r2, [sp, #4]
add r7, r3, #0
bl GetPartyCount
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
mov r5, #0
ldr r0, [sp, #4]
add r4, r5, #0
cmp r0, #0
ble _0221D4CC
lsl r0, r7, #2
add r6, r6, r0
_0221D43A:
lsl r0, r4, #2
add r1, r6, r0
mov r0, #0x66
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #0
bl sub_0200DC4C
ldr r0, [sp, #8]
cmp r0, r4
bls _0221D4C0
ldr r0, [sp]
add r1, r4, #0
bl GetPartyMonByIndex
mov r1, #5
mov r2, #0
add r7, r0, #0
bl GetMonData
cmp r0, #0
beq _0221D4C0
add r0, r7, #0
mov r1, #0x4c
mov r2, #0
bl GetMonData
cmp r0, #0
bne _0221D4C0
add r0, r7, #0
bl sub_0208AD64
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r0, #6
bne _0221D494
lsl r0, r5, #2
add r1, r6, r0
mov r0, #0x66
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #3
bl sub_0200DC4C
b _0221D4BA
_0221D494:
cmp r0, #7
beq _0221D4AA
lsl r0, r5, #2
add r1, r6, r0
mov r0, #0x66
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #2
bl sub_0200DC4C
b _0221D4BA
_0221D4AA:
lsl r0, r5, #2
add r1, r6, r0
mov r0, #0x66
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #1
bl sub_0200DC4C
_0221D4BA:
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
_0221D4C0:
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
ldr r0, [sp, #4]
cmp r4, r0
blt _0221D43A
_0221D4CC:
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end ov05_0221D414
thumb_func_start ov05_0221D4D0
ov05_0221D4D0: ; 0x0221D4D0
push {r4, lr}
add r4, r0, #0
ldr r2, [r4]
add r1, r2, #0
add r1, #0x29
ldrb r1, [r1]
cmp r1, #0
ldr r1, [r2, #4]
bne _0221D4FA
mov r2, #6
mov r3, #0
bl ov05_0221D414
ldr r1, [r4]
mov r2, #6
ldr r1, [r1, #8]
add r0, r4, #0
add r3, r2, #0
bl ov05_0221D414
pop {r4, pc}
_0221D4FA:
mov r2, #3
mov r3, #0
bl ov05_0221D414
ldr r1, [r4]
mov r2, #3
ldr r1, [r1, #0xc]
add r0, r4, #0
add r3, r2, #0
bl ov05_0221D414
ldr r1, [r4]
add r0, r4, #0
ldr r1, [r1, #8]
mov r2, #3
mov r3, #6
bl ov05_0221D414
ldr r1, [r4]
add r0, r4, #0
ldr r1, [r1, #0x10]
mov r2, #3
mov r3, #9
bl ov05_0221D414
pop {r4, pc}
.balign 4, 0
thumb_func_end ov05_0221D4D0
thumb_func_start ov05_0221D530
ov05_0221D530: ; 0x0221D530
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x40
add r4, r0, #0
mov r0, #0
add r5, r4, #0
str r0, [sp]
str r0, [sp, #4]
add r7, r2, #0
add r5, #0x10
add r6, r1, #0
ldr r0, [r4, #0xc]
add r1, r5, #0
mov r2, #8
mov r3, #2
bl AddTextWindowTopLeftCorner
mov r1, #0
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
mov r0, #0xc1
lsl r0, r0, #0xa
str r0, [sp, #8]
add r0, r5, #0
add r2, r7, #0
add r3, r1, #0
str r1, [sp, #0xc]
bl AddTextPrinterParameterized2
ldr r0, _0221D5D0 ; =0x00000B44
ldr r0, [r4, r0]
str r0, [sp, #0x10]
mov r0, #0x65
str r5, [sp, #0x14]
lsl r0, r0, #2
ldr r0, [r4, r0]
bl sub_0200E2B0
str r0, [sp, #0x18]
mov r0, #0x65
lsl r0, r0, #2
ldr r0, [r4, r0]
ldr r1, _0221D5D4 ; =0x0000B807
bl sub_0200D934
mov r1, #0x3e
lsl r2, r6, #4
lsl r1, r1, #4
sub r1, r1, r2
lsl r1, r1, #5
str r0, [sp, #0x1c]
mov r0, #0
str r1, [sp, #0x24]
mov r1, #2
str r0, [sp, #0x20]
str r0, [sp, #0x28]
str r0, [sp, #0x2c]
str r0, [sp, #0x34]
mov r0, #1
str r1, [sp, #0x30]
str r0, [sp, #0x38]
ldr r0, [r4]
lsl r6, r6, #2
ldr r0, [r0, #0x24]
str r0, [sp, #0x3c]
ldr r0, _0221D5D8 ; =0x00000B48
add r4, r4, r0
add r0, sp, #0x10
bl sub_020135D8
str r0, [r4, r6]
ldr r0, [r4, r6]
mov r1, #0
bl sub_02013850
add r0, r5, #0
bl RemoveWindow
add sp, #0x40
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0221D5D0: .word 0x00000B44
_0221D5D4: .word 0x0000B807
_0221D5D8: .word 0x00000B48
thumb_func_end ov05_0221D530
thumb_func_start ov05_0221D5DC
ov05_0221D5DC: ; 0x0221D5DC
push {r4, lr}
add r4, r0, #0
ldr r1, [r4]
mov r0, #8
ldr r1, [r1, #0x24]
bl sub_02013534
ldr r1, _0221D658 ; =0x00000B44
str r0, [r4, r1]
ldr r2, [r4]
add r0, r4, #0
ldr r2, [r2, #0x14]
mov r1, #0
bl ov05_0221D530
ldr r2, [r4]
add r0, r4, #0
ldr r2, [r2, #0x18]
mov r1, #2
bl ov05_0221D530
ldr r2, [r4]
add r0, r2, #0
add r0, #0x29
ldrb r0, [r0]
cmp r0, #1
bne _0221D62A
ldr r2, [r2, #0x1c]
add r0, r4, #0
mov r1, #1
bl ov05_0221D530
ldr r2, [r4]
add r0, r4, #0
ldr r2, [r2, #0x20]
mov r1, #3
bl ov05_0221D530
pop {r4, pc}
_0221D62A:
ldr r2, [r2, #0x14]
add r0, r4, #0
mov r1, #1
bl ov05_0221D530
ldr r2, [r4]
add r0, r4, #0
ldr r2, [r2, #0x18]
mov r1, #3
bl ov05_0221D530
ldr r0, _0221D65C ; =0x00000B4C
mov r1, #0
ldr r0, [r4, r0]
bl sub_020137C0
ldr r0, _0221D660 ; =0x00000B54
mov r1, #0
ldr r0, [r4, r0]
bl sub_020137C0
pop {r4, pc}
nop
_0221D658: .word 0x00000B44
_0221D65C: .word 0x00000B4C
_0221D660: .word 0x00000B54
thumb_func_end ov05_0221D5DC
thumb_func_start ov05_0221D664
ov05_0221D664: ; 0x0221D664
push {r3, r4, r5, lr}
add r5, r1, #0
add r1, r2, #0
add r2, r3, #0
add r4, r0, #0
lsl r0, r5, #2
add r0, r4, r0
ldr r3, _0221D68C ; =0x00000B48
add r4, r4, r5
add r5, r3, #0
ldr r0, [r0, r3]
add r5, #0x24
add r3, #0x28
ldrb r5, [r4, r5]
ldrb r3, [r4, r3]
add r1, r1, r5
add r2, r2, r3
bl sub_020136B4
pop {r3, r4, r5, pc}
.balign 4, 0
_0221D68C: .word 0x00000B48
thumb_func_end ov05_0221D664
thumb_func_start ov05_0221D690
ov05_0221D690: ; 0x0221D690
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
ldr r0, [r7]
add r0, #0x28
ldrb r0, [r0]
cmp r0, #0
beq _0221D6BA
ldr r6, _0221D6BC ; =0x00000B48
mov r4, #0
add r5, r7, #0
_0221D6A4:
ldr r0, [r5, r6]
bl sub_02013660
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blo _0221D6A4
ldr r0, _0221D6C0 ; =0x00000B44
ldr r0, [r7, r0]
bl sub_020135AC
_0221D6BA:
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0221D6BC: .word 0x00000B48
_0221D6C0: .word 0x00000B44
thumb_func_end ov05_0221D690
thumb_func_start ov05_0221D6C4
ov05_0221D6C4: ; 0x0221D6C4
push {r3, r4, r5, r6}
ldr r3, [r0]
add r3, #0x29
ldrb r3, [r3]
cmp r3, #1
ldr r3, _0221D7A8 ; =0x00000B64
bne _0221D74E
mov r4, #0x14
add r5, r1, #0
strb r4, [r0, r3]
add r5, #0x92
add r4, r3, #4
strb r5, [r0, r4]
mov r5, #0x51
add r4, r3, #1
strb r5, [r0, r4]
add r5, r1, #0
add r5, #0xa2
add r4, r3, #5
strb r5, [r0, r4]
mov r5, #0x80
add r4, r3, #2
strb r5, [r0, r4]
add r5, r2, #0
add r5, #0x2c
add r4, r3, #6
strb r5, [r0, r4]
mov r5, #0xbd
add r4, r3, #3
strb r5, [r0, r4]
add r5, r2, #0
add r5, #0x3c
add r4, r3, #7
strb r5, [r0, r4]
add r4, r3, #0
mov r5, #0xb
add r4, #8
strb r5, [r0, r4]
add r5, r1, #0
add r4, r3, #0
add r5, #0x78
add r4, #0xc
strb r5, [r0, r4]
add r4, r3, #0
mov r5, #0x4c
add r4, #9
strb r5, [r0, r4]
add r4, r3, #0
add r1, #0x88
add r4, #0xd
strb r1, [r0, r4]
add r1, r3, #0
mov r4, #0x77
add r1, #0xa
strb r4, [r0, r1]
add r4, r2, #0
add r1, r3, #0
add r4, #0x12
add r1, #0xe
strb r4, [r0, r1]
add r1, r3, #0
mov r4, #0xb8
add r1, #0xb
strb r4, [r0, r1]
add r2, #0x22
add r3, #0xf
strb r2, [r0, r3]
pop {r3, r4, r5, r6}
bx lr
_0221D74E:
mov r4, #0x18
strb r4, [r0, r3]
add r4, r1, #0
add r4, #0xa0
lsl r4, r4, #0x18
lsr r4, r4, #0x18
add r5, r3, #4
strb r4, [r0, r5]
mov r6, #0x51
add r5, r3, #1
strb r6, [r0, r5]
add r5, r3, #5
strb r4, [r0, r5]
mov r5, #0x88
add r4, r3, #2
strb r5, [r0, r4]
add r4, r2, #0
add r4, #0x30
lsl r4, r4, #0x18
lsr r4, r4, #0x18
add r5, r3, #6
strb r4, [r0, r5]
mov r6, #0xc1
add r5, r3, #3
strb r6, [r0, r5]
add r5, r3, #7
strb r4, [r0, r5]
add r4, r3, #0
mov r5, #0xf
add r4, #8
strb r5, [r0, r4]
add r4, r3, #0
add r1, #0x86
add r4, #0xc
strb r1, [r0, r4]
add r1, r3, #0
mov r4, #0x80
add r1, #0xa
strb r4, [r0, r1]
add r2, #0x16
add r3, #0xe
strb r2, [r0, r3]
pop {r3, r4, r5, r6}
bx lr
nop
_0221D7A8: .word 0x00000B64
thumb_func_end ov05_0221D6C4
thumb_func_start ov05_0221D7AC
ov05_0221D7AC: ; 0x0221D7AC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
ldr r4, _0221D888 ; =ov05_0221EAD4
add r3, sp, #0
add r6, r0, #0
add r2, r3, #0
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
add r1, r2, #0
add r0, r6, #0
mov r2, #0x17
bl ov05_0221CD24
add r0, r6, #0
bl ov05_0221D318
add r0, r6, #0
bl ov05_0221D890
ldr r4, _0221D88C ; =ov05_0221EDA4
mov r7, #0
add r5, r6, #0
_0221D7E0:
add r0, r6, #0
add r1, r4, #0
bl ov05_0221CDC4
mov r1, #0x66
lsl r1, r1, #2
str r0, [r5, r1]
add r7, r7, #1
add r4, #0x1c
add r5, r5, #4
cmp r7, #0xe
blo _0221D7E0
mov r1, #0
mov r2, #0xff
add r0, r6, #0
mvn r2, r2
add r3, r1, #0
bl ov05_0221D3AC
mov r2, #0xff
add r0, r6, #0
mov r1, #1
mvn r2, r2
mov r3, #0
bl ov05_0221D3AC
mov r1, #2
add r2, r1, #0
add r0, r6, #0
add r2, #0xfe
mov r3, #0
bl ov05_0221D3AC
mov r1, #3
add r2, r1, #0
add r0, r6, #0
add r2, #0xfd
mov r3, #0
bl ov05_0221D3AC
add r0, r6, #0
bl ov05_0221D4D0
add r0, r6, #0
bl ov05_0221D904
add r0, r6, #0
bl ov05_0221D5DC
mov r1, #0
mov r2, #0xff
add r0, r6, #0
mvn r2, r2
add r3, r1, #0
bl ov05_0221D664
mov r2, #0xff
add r0, r6, #0
mov r1, #1
mvn r2, r2
mov r3, #0
bl ov05_0221D664
mov r1, #2
add r2, r1, #0
add r0, r6, #0
add r2, #0xfe
mov r3, #0
bl ov05_0221D664
mov r1, #3
add r2, r1, #0
add r0, r6, #0
add r2, #0xfd
mov r3, #0
bl ov05_0221D664
mov r0, #0x21
mov r1, #0xe
lsl r0, r0, #4
str r1, [r6, r0]
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_0221D888: .word ov05_0221EAD4
_0221D88C: .word ov05_0221EDA4
thumb_func_end ov05_0221D7AC
thumb_func_start ov05_0221D890
ov05_0221D890: ; 0x0221D890
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
ldr r1, [r5]
mov r0, #0x68
ldr r1, [r1, #0x24]
bl NARC_ctor
add r4, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, _0221D900 ; =0x0000B808
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #8]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
mov r3, #5
bl sub_0200D504
mov r0, #0
str r0, [sp]
ldr r0, _0221D900 ; =0x0000B808
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
mov r3, #6
bl sub_0200D6EC
mov r0, #0
str r0, [sp]
ldr r0, _0221D900 ; =0x0000B808
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
mov r3, #7
bl sub_0200D71C
add r0, r4, #0
bl NARC_dtor
add sp, #0xc
pop {r4, r5, pc}
nop
_0221D900: .word 0x0000B808
thumb_func_end ov05_0221D890
thumb_func_start ov05_0221D904
ov05_0221D904: ; 0x0221D904
push {r4, lr}
add r4, r0, #0
mov r0, #0x72
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0
bl sub_0200DCE8
mov r0, #0x73
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0
bl sub_0200DCE8
ldr r0, [r4]
add r0, #0x2a
ldrb r0, [r0]
cmp r0, #3
bne _0221D946
mov r0, #0x72
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0x80
mov r2, #0x48
bl sub_0200DDB8
mov r0, #0x72
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #2
bl sub_0200DC4C
pop {r4, pc}
_0221D946:
bl ov05_0221CCF4
cmp r0, #1
ldr r0, [r4]
bne _0221D994
add r0, #0x2a
ldrb r0, [r0]
cmp r0, #1
bne _0221D976
mov r0, #0x72
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0x30
mov r2, #0x48
bl sub_0200DDB8
mov r0, #0x73
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0xd0
mov r2, #0x48
bl sub_0200DDB8
b _0221D9D6
_0221D976:
mov r0, #0x72
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0xd0
mov r2, #0x48
bl sub_0200DDB8
mov r0, #0x73
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0x30
mov r2, #0x48
bl sub_0200DDB8
b _0221D9D6
_0221D994:
add r0, #0x2a
ldrb r0, [r0]
cmp r0, #1
bne _0221D9BA
mov r0, #0x72
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0xd0
mov r2, #0x48
bl sub_0200DDB8
mov r0, #0x73
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0x30
mov r2, #0x48
bl sub_0200DDB8
b _0221D9D6
_0221D9BA:
mov r0, #0x72
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0x30
mov r2, #0x48
bl sub_0200DDB8
mov r0, #0x73
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0xd0
mov r2, #0x48
bl sub_0200DDB8
_0221D9D6:
mov r0, #0x72
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0
bl sub_0200DC4C
mov r0, #0x73
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #1
bl sub_0200DC4C
pop {r4, pc}
thumb_func_end ov05_0221D904
thumb_func_start ov05_0221D9F0
ov05_0221D9F0: ; 0x0221D9F0
push {r4, lr}
sub sp, #8
add r4, r0, #0
mov r0, #2
mov r1, #0
str r0, [sp]
str r1, [sp, #4]
ldr r0, [r4]
mov r2, #4
ldr r0, [r0, #0x24]
add r3, r1, #0
bl GF_3DVramMan_Create
ldr r1, _0221DAC8 ; =0x00000B58
ldr r2, _0221DACC ; =0x04000060
str r0, [r4, r1]
ldrh r1, [r2]
ldr r0, _0221DAD0 ; =0xFFFFCFFF
and r1, r0
mov r0, #8
orr r0, r1
strh r0, [r2]
bl sub_02014DA0
ldr r0, [r4]
mov r1, #0x12
ldr r0, [r0, #0x24]
lsl r1, r1, #0xa
bl AllocFromHeap
mov r2, #0xb6
lsl r2, r2, #4
str r0, [r4, r2]
mov r0, #1
str r0, [sp]
ldr r0, [r4]
mov r3, #0x12
ldr r0, [r0, #0x24]
ldr r1, _0221DAD4 ; =ov05_0221DB70
str r0, [sp, #4]
ldr r0, _0221DAD8 ; =ov05_0221DB4C
ldr r2, [r4, r2]
lsl r3, r3, #0xa
bl sub_02014DB4
ldr r1, _0221DADC ; =0x00000B5C
str r0, [r4, r1]
ldr r0, [r4, r1]
bl sub_02015524
add r2, r0, #0
mov r0, #1
mov r1, #0xe1
lsl r0, r0, #0xc
lsl r1, r1, #0xe
bl GF_Camera_SetClipBounds
ldr r2, [r4]
mov r0, #0x3b
ldr r2, [r2, #0x24]
mov r1, #2
bl sub_02015264
add r1, r0, #0
ldr r0, _0221DADC ; =0x00000B5C
mov r2, #0xa
ldr r0, [r4, r0]
mov r3, #1
bl sub_0201526C
mov r1, #0
ldr r0, _0221DADC ; =0x00000B5C
add r2, r1, #0
ldr r0, [r4, r0]
add r3, r1, #0
bl sub_02015494
ldr r0, _0221DADC ; =0x00000B5C
mov r2, #0
ldr r0, [r4, r0]
mov r1, #1
add r3, r2, #0
bl sub_02015494
ldr r0, _0221DADC ; =0x00000B5C
mov r2, #0
ldr r0, [r4, r0]
mov r1, #2
add r3, r2, #0
bl sub_02015494
ldr r0, _0221DADC ; =0x00000B5C
mov r2, #0
ldr r0, [r4, r0]
mov r1, #3
add r3, r2, #0
bl sub_02015494
ldr r0, _0221DADC ; =0x00000B5C
mov r2, #0
ldr r0, [r4, r0]
mov r1, #4
add r3, r2, #0
bl sub_02015494
add sp, #8
pop {r4, pc}
nop
_0221DAC8: .word 0x00000B58
_0221DACC: .word 0x04000060
_0221DAD0: .word 0xFFFFCFFF
_0221DAD4: .word ov05_0221DB70
_0221DAD8: .word ov05_0221DB4C
_0221DADC: .word 0x00000B5C
thumb_func_end ov05_0221D9F0
thumb_func_start ov05_0221DAE0
ov05_0221DAE0: ; 0x0221DAE0
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
add r0, #0x28
ldrb r0, [r0]
cmp r0, #1
beq _0221DAF2
mov r0, #0
pop {r4, pc}
_0221DAF2:
bl Thunk_G3X_Reset
ldr r0, _0221DB14 ; =0x00000B5C
ldr r0, [r4, r0]
bl sub_020154B0
cmp r0, #0
bne _0221DB06
mov r0, #0
pop {r4, pc}
_0221DB06:
bl sub_0201543C
bl sub_02015460
mov r0, #1
pop {r4, pc}
nop
_0221DB14: .word 0x00000B5C
thumb_func_end ov05_0221DAE0
thumb_func_start ov05_0221DB18
ov05_0221DB18: ; 0x0221DB18
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
add r0, #0x28
ldrb r0, [r0]
cmp r0, #1
bne _0221DB40
ldr r0, _0221DB44 ; =0x00000B5C
ldr r0, [r4, r0]
bl sub_02014EBC
mov r0, #0xb6
lsl r0, r0, #4
ldr r0, [r4, r0]
bl FreeToHeap
ldr r0, _0221DB48 ; =0x00000B58
ldr r0, [r4, r0]
bl GF_3DVramMan_Delete
_0221DB40:
pop {r4, pc}
nop
_0221DB44: .word 0x00000B5C
_0221DB48: .word 0x00000B58
thumb_func_end ov05_0221DB18
thumb_func_start ov05_0221DB4C
ov05_0221DB4C: ; 0x0221DB4C
push {r4, lr}
ldr r3, _0221DB6C ; =NNS_GfdDefaultFuncAllocTexVram
mov r2, #0
ldr r3, [r3]
blx r3
add r4, r0, #0
bl sub_02015354
cmp r4, #0
bne _0221DB64
bl GF_AssertFail
_0221DB64:
lsl r0, r4, #0x10
lsr r0, r0, #0xd
pop {r4, pc}
nop
_0221DB6C: .word NNS_GfdDefaultFuncAllocTexVram
thumb_func_end ov05_0221DB4C
thumb_func_start ov05_0221DB70
ov05_0221DB70: ; 0x0221DB70
push {r4, lr}
ldr r3, _0221DB90 ; =NNS_GfdDefaultFuncAllocPlttVram
mov r2, #1
ldr r3, [r3]
blx r3
add r4, r0, #0
bl sub_02015394
cmp r4, #0
bne _0221DB88
bl GF_AssertFail
_0221DB88:
lsl r0, r4, #0x10
lsr r0, r0, #0xd
pop {r4, pc}
nop
_0221DB90: .word NNS_GfdDefaultFuncAllocPlttVram
thumb_func_end ov05_0221DB70
thumb_func_start ov05_0221DB94
ov05_0221DB94: ; 0x0221DB94
push {r4, r5, lr}
sub sp, #0x64
ldr r5, _0221DC24 ; =ov05_0221EA88
add r3, sp, #0x54
add r4, r0, #0
add r2, r3, #0
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
add r0, r2, #0
bl SetBothScreensModesAndDisable
ldr r5, _0221DC28 ; =ov05_0221EB8C
add r3, sp, #0x38
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #1
str r0, [r3]
ldr r0, [r4, #0xc]
mov r3, #0
bl InitBgFromTemplate
ldr r0, [r4, #0xc]
mov r1, #1
bl BgClearTilemapBufferAndCommit
ldr r5, _0221DC2C ; =ov05_0221EB38
add r3, sp, #0x1c
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #2
str r0, [r3]
ldr r0, [r4, #0xc]
mov r3, #0
bl InitBgFromTemplate
ldr r0, [r4, #0xc]
mov r1, #2
bl BgClearTilemapBufferAndCommit
ldr r5, _0221DC30 ; =ov05_0221EBC4
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #3
str r0, [r3]
ldr r0, [r4, #0xc]
mov r3, #0
bl InitBgFromTemplate
add sp, #0x64
pop {r4, r5, pc}
nop
_0221DC24: .word ov05_0221EA88
_0221DC28: .word ov05_0221EB8C
_0221DC2C: .word ov05_0221EB38
_0221DC30: .word ov05_0221EBC4
thumb_func_end ov05_0221DB94
thumb_func_start ov05_0221DC34
ov05_0221DC34: ; 0x0221DC34
push {r4, lr}
add r4, r0, #0
mov r0, #0x1e
mov r1, #0
bl GX_EngineAToggleLayers
ldr r0, [r4, #0xc]
mov r1, #3
bl FreeBgTilemapBuffer
ldr r0, [r4, #0xc]
mov r1, #2
bl FreeBgTilemapBuffer
ldr r0, [r4, #0xc]
mov r1, #1
bl FreeBgTilemapBuffer
ldr r0, [r4, #0xc]
bl FreeToHeap
pop {r4, pc}
thumb_func_end ov05_0221DC34
thumb_func_start ov05_0221DC60
ov05_0221DC60: ; 0x0221DC60
push {r3, r4, r5, r6, lr}
sub sp, #0x14
add r5, r0, #0
ldr r1, [r5]
mov r0, #0x15
ldr r1, [r1, #0x24]
bl NARC_ctor
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
str r1, [sp, #8]
ldr r1, [r5]
mov r3, #3
ldr r1, [r1, #0x24]
add r4, r0, #0
str r1, [sp, #0xc]
ldr r2, [r5, #0xc]
mov r1, #0xf
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, [r5]
mov r1, #0x11
ldr r0, [r0, #0x24]
mov r3, #3
str r0, [sp, #0xc]
ldr r2, [r5, #0xc]
add r0, r4, #0
bl GfGfxLoader_LoadScrnDataFromOpenNarc
ldr r2, [r5]
add r0, r4, #0
ldr r2, [r2, #0x24]
mov r1, #0x10
bl NARC_AllocAndReadWholeMember
add r1, sp, #0x10
add r6, r0, #0
bl NNS_G2dGetUnpackedPaletteData
ldr r2, [sp, #0x10]
mov r0, #3
ldr r1, [r2, #0xc]
ldr r2, [r2, #8]
mov r3, #0
lsl r2, r2, #0x10
lsr r2, r2, #0x10
bl BG_LoadPlttData
ldr r1, [sp, #0x10]
ldr r0, _0221DD00 ; =0x000004E4
ldr r1, [r1, #0xc]
add r0, r5, r0
add r1, #0x60
mov r2, #0x60
bl memcpy
add r0, r6, #0
bl FreeToHeap
ldr r0, [r5]
mov r2, #0xa9
lsl r2, r2, #2
ldr r3, _0221DD04 ; =0x00000424
add r1, r5, r2
add r2, #0xc0
ldr r0, [r0, #0x24]
add r2, r5, r2
add r3, r5, r3
bl sub_0207CAAC
add r0, r4, #0
bl NARC_dtor
add sp, #0x14
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_0221DD00: .word 0x000004E4
_0221DD04: .word 0x00000424
thumb_func_end ov05_0221DC60
thumb_func_start ov05_0221DD08
ov05_0221DD08: ; 0x0221DD08
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r5, r0, #0
ldr r6, _0221DDDC ; =ov05_0221EA60
mov r4, #0
add r7, r5, #0
_0221DD14:
cmp r4, #0
beq _0221DD1C
cmp r4, #3
bne _0221DD24
_0221DD1C:
mov r0, #0xa9
lsl r0, r0, #2
add r1, r5, r0
b _0221DD3A
_0221DD24:
mov r0, #0x86
lsl r0, r0, #2
ldrh r0, [r7, r0]
cmp r0, #0
bne _0221DD34
ldr r0, _0221DDE0 ; =0x00000424
add r1, r5, r0
b _0221DD3A
_0221DD34:
mov r0, #0xd9
lsl r0, r0, #2
add r1, r5, r0
_0221DD3A:
mov r0, #0x10
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
str r1, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
str r0, [sp, #0x10]
mov r0, #0x10
str r0, [sp, #0x14]
mov r0, #6
str r0, [sp, #0x18]
ldrb r2, [r6]
ldrb r3, [r6, #1]
ldr r0, [r5, #0xc]
mov r1, #2
bl CopyToBgTilemapRect
mov r0, #0x86
lsl r0, r0, #2
ldrh r0, [r7, r0]
cmp r0, #0
beq _0221DDC6
mov r0, #0x10
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
add r0, r4, #3
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
ldrb r2, [r6]
ldrb r3, [r6, #1]
ldr r0, [r5, #0xc]
mov r1, #2
bl BgTilemapRectChangePalette
cmp r4, #3
bhs _0221DD92
ldr r0, [r5]
add r0, #0x29
ldrb r0, [r0]
cmp r0, #1
beq _0221DDA0
_0221DD92:
cmp r4, #3
blo _0221DDB4
ldr r0, [r5]
add r0, #0x29
ldrb r0, [r0]
cmp r0, #0
bne _0221DDB4
_0221DDA0:
ldr r1, _0221DDE4 ; =0x00000504
add r3, r4, #3
lsl r3, r3, #0x15
mov r0, #2
add r1, r5, r1
mov r2, #0x20
lsr r3, r3, #0x10
bl BG_LoadPlttData
b _0221DDC6
_0221DDB4:
ldr r1, _0221DDE8 ; =0x000004E4
add r3, r4, #3
lsl r3, r3, #0x15
mov r0, #2
add r1, r5, r1
mov r2, #0x20
lsr r3, r3, #0x10
bl BG_LoadPlttData
_0221DDC6:
add r4, r4, #1
add r7, #0x18
add r6, r6, #2
cmp r4, #6
blo _0221DD14
ldr r0, [r5, #0xc]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0221DDDC: .word ov05_0221EA60
_0221DDE0: .word 0x00000424
_0221DDE4: .word 0x00000504
_0221DDE8: .word 0x000004E4
thumb_func_end ov05_0221DD08
thumb_func_start ov05_0221DDEC
ov05_0221DDEC: ; 0x0221DDEC
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
ldr r0, [r4, #0xc]
str r1, [sp]
add r1, r2, #0
bl GetBgTilemapBuffer
add r6, r0, #0
ldr r0, [r4]
add r0, #0x29
ldrb r0, [r0]
cmp r0, #0
bne _0221DE0A
mov r7, #0x10
b _0221DE0C
_0221DE0A:
mov r7, #0
_0221DE0C:
mov r5, #0
_0221DE0E:
lsl r0, r5, #5
add r0, r7, r0
lsl r4, r0, #1
ldr r0, [sp]
lsl r1, r5, #5
add r0, r0, r1
add r1, r6, r4
mov r2, #0x20
bl memcpy
add r0, r6, r4
mov r1, #0
mov r2, #0x20
bl memset
add r0, r5, #1
lsl r0, r0, #0x10
lsr r5, r0, #0x10
cmp r5, #0x18
blo _0221DE0E
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov05_0221DDEC
thumb_func_start ov05_0221DE38
ov05_0221DE38: ; 0x0221DE38
push {r4, lr}
ldr r1, _0221DE64 ; =0x00000544
add r4, r0, #0
add r1, r4, r1
mov r2, #1
bl ov05_0221DDEC
ldr r1, _0221DE68 ; =0x00000844
add r0, r4, #0
add r1, r4, r1
mov r2, #2
bl ov05_0221DDEC
ldr r0, [r4, #0xc]
mov r1, #1
bl ScheduleBgTilemapBufferTransfer
ldr r0, [r4, #0xc]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
pop {r4, pc}
.balign 4, 0
_0221DE64: .word 0x00000544
_0221DE68: .word 0x00000844
thumb_func_end ov05_0221DE38
thumb_func_start ov05_0221DE6C
ov05_0221DE6C: ; 0x0221DE6C
push {r3, r4, r5, r6, lr}
sub sp, #0x1c
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
add r0, #0x29
ldrb r0, [r0]
cmp r0, #0
bne _0221DECC
mov r0, #0x20
sub r6, r0, r4
ldr r1, _0221DF30 ; =0x00000544
str r4, [sp]
mov r0, #0x18
str r0, [sp, #4]
add r1, r5, r1
str r1, [sp, #8]
mov r3, #0
str r3, [sp, #0xc]
lsl r2, r6, #0x18
str r3, [sp, #0x10]
mov r1, #0x10
str r1, [sp, #0x14]
str r0, [sp, #0x18]
ldr r0, [r5, #0xc]
mov r1, #1
lsr r2, r2, #0x18
bl CopyToBgTilemapRect
ldr r0, _0221DF34 ; =0x00000844
lsl r2, r6, #0x18
str r4, [sp]
mov r1, #0x18
str r1, [sp, #4]
add r0, r5, r0
str r0, [sp, #8]
mov r3, #0
str r3, [sp, #0xc]
str r3, [sp, #0x10]
mov r0, #0x10
str r0, [sp, #0x14]
str r1, [sp, #0x18]
ldr r0, [r5, #0xc]
mov r1, #2
lsr r2, r2, #0x18
bl CopyToBgTilemapRect
b _0221DF1A
_0221DECC:
ldr r2, _0221DF30 ; =0x00000544
mov r0, #0x10
str r4, [sp]
mov r1, #0x18
sub r6, r0, r4
str r1, [sp, #4]
add r2, r5, r2
str r2, [sp, #8]
lsl r2, r6, #0x18
lsr r2, r2, #0x18
str r2, [sp, #0xc]
mov r2, #0
str r2, [sp, #0x10]
str r0, [sp, #0x14]
str r1, [sp, #0x18]
ldr r0, [r5, #0xc]
mov r1, #1
add r3, r2, #0
bl CopyToBgTilemapRect
ldr r1, _0221DF34 ; =0x00000844
mov r2, #0
str r4, [sp]
mov r0, #0x18
str r0, [sp, #4]
add r1, r5, r1
str r1, [sp, #8]
lsl r1, r6, #0x18
lsr r1, r1, #0x18
str r1, [sp, #0xc]
str r2, [sp, #0x10]
mov r1, #0x10
str r1, [sp, #0x14]
str r0, [sp, #0x18]
ldr r0, [r5, #0xc]
mov r1, #2
add r3, r2, #0
bl CopyToBgTilemapRect
_0221DF1A:
ldr r0, [r5, #0xc]
mov r1, #1
bl ScheduleBgTilemapBufferTransfer
ldr r0, [r5, #0xc]
mov r1, #2
bl ScheduleBgTilemapBufferTransfer
add sp, #0x1c
pop {r3, r4, r5, r6, pc}
nop
_0221DF30: .word 0x00000544
_0221DF34: .word 0x00000844
thumb_func_end ov05_0221DE6C
thumb_func_start ov05_0221DF38
ov05_0221DF38: ; 0x0221DF38
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r0, #0
add r0, r1, #0
str r1, [sp]
add r5, r2, #0
bl GetPartyCount
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #8]
mov r0, #0x18
mul r0, r5
add r0, r4, r0
mov r6, #0
str r0, [sp, #4]
_0221DF58:
ldr r0, [sp, #8]
cmp r0, r6
bhi _0221DF7A
mov r0, #0
add r1, r0, #0
add r2, r0, #0
bl GetMonIconNaixEx
mov r1, #0x18
add r2, r6, #0
mul r2, r1
ldr r1, [sp, #4]
add r2, r1, r2
mov r1, #0x85
lsl r1, r1, #2
str r0, [r2, r1]
b _0221E054
_0221DF7A:
ldr r0, [sp]
add r1, r6, #0
bl GetPartyMonByIndex
mov r1, #0x18
add r2, r6, #0
mul r2, r1
ldr r1, [sp, #4]
add r4, r0, #0
add r7, r1, r2
bl Pokemon_GetIconNaix
mov r1, #0x85
lsl r1, r1, #2
str r0, [r7, r1]
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetMonData
mov r1, #0x86
lsl r1, r1, #2
strh r0, [r7, r1]
add r0, r1, #0
ldrh r0, [r7, r0]
cmp r0, #0
beq _0221E054
mov r0, #0x18
add r1, r6, #0
mul r1, r0
ldr r0, [sp, #4]
mov r2, #0
add r5, r0, r1
add r0, r4, #0
mov r1, #0x4c
bl GetMonData
ldr r1, _0221E064 ; =0x00000223
mov r2, #0
strb r0, [r5, r1]
add r0, r4, #0
mov r1, #0xa3
bl GetMonData
ldr r1, _0221E068 ; =0x0000021A
mov r2, #0
strh r0, [r5, r1]
add r0, r4, #0
mov r1, #0xa4
bl GetMonData
mov r1, #0x87
lsl r1, r1, #2
strh r0, [r5, r1]
add r0, r4, #0
mov r1, #0xa1
mov r2, #0
bl GetMonData
mov r1, #0x22
lsl r1, r1, #4
strb r0, [r5, r1]
add r0, r4, #0
mov r1, #6
mov r2, #0
bl GetMonData
ldr r1, _0221E06C ; =0x0000021E
mov r2, #0
strh r0, [r5, r1]
add r0, r4, #0
mov r1, #0xa2
bl GetMonData
mov r1, #0x89
lsl r1, r1, #2
strb r0, [r5, r1]
add r0, r4, #0
mov r1, #0x70
mov r2, #0
bl GetMonData
ldr r1, _0221E070 ; =0x00000225
mov r2, #0
strb r0, [r5, r1]
add r0, r4, #0
mov r1, #0xb0
bl GetMonData
cmp r0, #1
bne _0221E034
mov r1, #0
b _0221E036
_0221E034:
mov r1, #1
_0221E036:
ldr r0, _0221E074 ; =0x00000222
strb r1, [r7, r0]
add r0, r4, #0
bl GetMonGender
ldr r1, _0221E078 ; =0x00000221
strb r0, [r5, r1]
add r0, r4, #0
bl sub_0208AD64
lsl r0, r0, #0x18
lsr r1, r0, #0x18
mov r0, #0x8a
lsl r0, r0, #2
str r1, [r5, r0]
_0221E054:
add r0, r6, #1
lsl r0, r0, #0x10
lsr r6, r0, #0x10
cmp r6, #3
bhs _0221E060
b _0221DF58
_0221E060:
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0221E064: .word 0x00000223
_0221E068: .word 0x0000021A
_0221E06C: .word 0x0000021E
_0221E070: .word 0x00000225
_0221E074: .word 0x00000222
_0221E078: .word 0x00000221
thumb_func_end ov05_0221DF38
thumb_func_start ov05_0221E07C
ov05_0221E07C: ; 0x0221E07C
push {r4, lr}
add r4, r0, #0
mov r0, #0x85
lsl r0, r0, #2
add r0, r4, r0
mov r1, #0
mov r2, #0x90
bl memset
ldr r1, [r4]
add r0, r4, #0
ldr r1, [r1, #4]
mov r2, #0
bl ov05_0221DF38
ldr r1, [r4]
add r0, r4, #0
ldr r1, [r1, #0xc]
mov r2, #3
bl ov05_0221DF38
pop {r4, pc}
thumb_func_end ov05_0221E07C
thumb_func_start ov05_0221E0A8
ov05_0221E0A8: ; 0x0221E0A8
push {r4, lr}
add r3, r0, #0
add r2, r1, #0
mov r0, #0x18
mul r2, r0
ldr r1, _0221E10C ; =0x0000021A
add r4, r3, r2
ldrh r0, [r4, r1]
cmp r0, #0
bne _0221E0C0
mov r0, #0
pop {r4, pc}
_0221E0C0:
add r1, #0xe
ldr r1, [r4, r1]
cmp r1, #7
beq _0221E0D0
cmp r1, #0
beq _0221E0D0
mov r0, #5
pop {r4, pc}
_0221E0D0:
mov r1, #0x87
add r2, r3, r2
lsl r1, r1, #2
ldrh r1, [r2, r1]
mov r2, #0x30
bl sub_020880B0
cmp r0, #4
bhi _0221E108
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0221E0EE: ; jump table
.short _0221E108 - _0221E0EE - 2 ; case 0
.short _0221E104 - _0221E0EE - 2 ; case 1
.short _0221E100 - _0221E0EE - 2 ; case 2
.short _0221E0FC - _0221E0EE - 2 ; case 3
.short _0221E0F8 - _0221E0EE - 2 ; case 4
_0221E0F8:
mov r0, #1
pop {r4, pc}
_0221E0FC:
mov r0, #2
pop {r4, pc}
_0221E100:
mov r0, #3
pop {r4, pc}
_0221E104:
mov r0, #4
pop {r4, pc}
_0221E108:
mov r0, #0
pop {r4, pc}
.balign 4, 0
_0221E10C: .word 0x0000021A
thumb_func_end ov05_0221E0A8
thumb_func_start ov05_0221E110
ov05_0221E110: ; 0x0221E110
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
mov r0, #0
str r0, [sp, #8]
str r1, [sp]
add r0, r1, #0
lsl r1, r0, #2
ldr r0, [sp]
ldr r2, _0221E268 ; =ov05_0221EC5C
add r7, r0, r1
lsl r0, r7, #2
add r4, r5, r0
ldr r0, [sp]
mov r1, #0xa
mul r1, r0
str r4, [sp, #4]
add r6, r2, r1
_0221E134:
mov r1, #0x1c
add r2, r7, #0
mul r2, r1
ldr r1, _0221E26C ; =ov05_0221EF2C
add r0, r5, #0
add r1, r1, r2
bl ov05_0221CDC4
mov r1, #0x66
lsl r1, r1, #2
str r0, [r4, r1]
add r0, r1, #0
ldrb r1, [r6]
ldrb r2, [r6, #1]
ldr r0, [r4, r0]
bl sub_0200DDB8
ldr r0, [sp, #8]
add r7, r7, #1
add r0, r0, #1
add r4, r4, #4
add r6, r6, #2
str r0, [sp, #8]
cmp r0, #5
blo _0221E134
ldr r0, [sp]
mov r2, #0x86
mov r1, #0x18
add r6, r0, #0
mul r6, r1
add r3, r5, r6
lsl r2, r2, #2
ldrh r0, [r3, r2]
cmp r0, #0
bne _0221E19C
mov r5, #0
add r4, r2, #0
add r6, r5, #0
sub r4, #0x80
_0221E182:
ldr r0, [sp, #4]
add r1, r6, #0
ldr r0, [r0, r4]
bl sub_0200DCE8
ldr r0, [sp, #4]
add r5, r5, #1
add r0, r0, #4
str r0, [sp, #4]
cmp r5, #5
blo _0221E182
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0221E19C:
ldr r1, [sp]
mov r4, #0x14
mul r4, r1
add r1, r2, #0
sub r1, #0x80
add r7, r5, r1
add r1, r2, #0
add r1, #0xd
add r2, #0xb
ldrb r1, [r3, r1]
ldrb r2, [r3, r2]
bl GetMonIconPaletteEx
add r1, r0, #0
ldr r0, [r7, r4]
bl sub_0200DD10
ldr r1, [sp]
add r0, r5, #0
bl ov05_0221E0A8
add r1, r0, #0
ldr r0, [r7, r4]
bl sub_0200DC4C
ldr r1, _0221E270 ; =0x0000021E
add r0, r5, r6
ldrh r0, [r0, r1]
cmp r0, #0
bne _0221E1E6
add r0, r5, r4
sub r1, #0x82
ldr r0, [r0, r1]
mov r1, #0
bl sub_0200DCE8
b _0221E20C
_0221E1E6:
bl ItemIdIsMail
cmp r0, #1
bne _0221E1FE
mov r0, #0x67
add r1, r5, r4
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #1
bl sub_0200DC4C
b _0221E20C
_0221E1FE:
mov r0, #0x67
add r1, r5, r4
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #0
bl sub_0200DC4C
_0221E20C:
mov r0, #0x89
add r1, r5, r6
lsl r0, r0, #2
ldrb r1, [r1, r0]
cmp r1, #0
bne _0221E226
add r1, r5, r4
sub r0, #0x84
ldr r0, [r1, r0]
mov r1, #0
bl sub_0200DCE8
b _0221E232
_0221E226:
add r1, r5, r4
sub r0, #0x84
ldr r0, [r1, r0]
mov r1, #2
bl sub_0200DC4C
_0221E232:
mov r3, #0x8a
add r0, r5, r6
lsl r3, r3, #2
ldr r0, [r0, r3]
cmp r0, #7
bne _0221E24E
add r0, r5, r4
sub r3, #0x84
ldr r0, [r0, r3]
mov r1, #0
bl sub_0200DCE8
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0221E24E:
add r0, r3, #0
add r1, r5, r4
sub r0, #0x84
ldr r0, [r1, r0]
ldr r1, [sp, #8]
mov r2, #0x18
mul r2, r1
add r1, r5, r2
ldr r1, [r1, r3]
bl sub_0200DC4C
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0221E268: .word ov05_0221EC5C
_0221E26C: .word ov05_0221EF2C
_0221E270: .word 0x0000021E
thumb_func_end ov05_0221E110
thumb_func_start ov05_0221E274
ov05_0221E274: ; 0x0221E274
push {r3, r4, r5, lr}
sub sp, #0x18
ldr r5, _0221E2D4 ; =ov05_0221EAEC
add r3, sp, #0
add r4, r0, #0
add r2, r3, #0
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
add r1, r2, #0
add r0, r4, #0
mov r2, #0x1f
bl ov05_0221CD24
add r0, r4, #0
bl ov05_0221E2D8
add r0, r4, #0
bl ov05_0221E390
add r0, r4, #0
bl ov05_0221E42C
add r0, r4, #0
bl ov05_0221E4C8
mov r5, #0
_0221E2B0:
add r0, r4, #0
add r1, r5, #0
bl ov05_0221E110
add r5, r5, #1
cmp r5, #6
blo _0221E2B0
add r0, r4, #0
mov r1, #0x10
bl ov05_0221E564
mov r0, #0x21
mov r1, #0x1e
lsl r0, r0, #4
str r1, [r4, r0]
add sp, #0x18
pop {r3, r4, r5, pc}
nop
_0221E2D4: .word ov05_0221EAEC
thumb_func_end ov05_0221E274
thumb_func_start ov05_0221E2D8
ov05_0221E2D8: ; 0x0221E2D8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
ldr r1, [r5]
mov r0, #0x14
ldr r1, [r1, #0x24]
bl NARC_ctor
add r7, r0, #0
bl sub_02074490
add r3, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, _0221E388 ; =0x0000B808
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #0xc]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r7, #0
bl sub_0200D5D4
bl sub_02074498
add r3, r0, #0
mov r0, #0
str r0, [sp]
ldr r0, _0221E38C ; =0x0000B809
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r7, #0
bl sub_0200D6EC
bl sub_020744A4
add r3, r0, #0
mov r0, #0
str r0, [sp]
ldr r0, _0221E38C ; =0x0000B809
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r7, #0
bl sub_0200D71C
mov r4, #0
add r6, r5, #0
_0221E350:
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, _0221E38C ; =0x0000B809
mov r1, #0x65
add r0, r4, r0
str r0, [sp, #8]
mov r0, #0x19
mov r3, #0x85
lsl r0, r0, #4
lsl r1, r1, #2
lsl r3, r3, #2
ldr r0, [r5, r0]
ldr r1, [r5, r1]
ldr r3, [r6, r3]
add r2, r7, #0
bl sub_0200D504
add r4, r4, #1
add r6, #0x18
cmp r4, #6
blo _0221E350
add r0, r7, #0
bl NARC_dtor
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0221E388: .word 0x0000B808
_0221E38C: .word 0x0000B809
thumb_func_end ov05_0221E2D8
thumb_func_start ov05_0221E390
ov05_0221E390: ; 0x0221E390
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
ldr r1, [r5]
mov r0, #0x15
ldr r1, [r1, #0x24]
bl NARC_ctor
add r4, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, _0221E420 ; =0x0000B80F
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #8]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
mov r3, #0x14
bl sub_0200D504
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _0221E424 ; =0x0000B809
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #0xc]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
mov r3, #0x15
bl sub_0200D5D4
mov r0, #0
str r0, [sp]
ldr r0, _0221E428 ; =0x0000B80A
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
mov r3, #0x13
bl sub_0200D6EC
mov r0, #0
str r0, [sp]
ldr r0, _0221E428 ; =0x0000B80A
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
mov r3, #0x12
bl sub_0200D71C
add r0, r4, #0
bl NARC_dtor
add sp, #0x10
pop {r3, r4, r5, pc}
nop
_0221E420: .word 0x0000B80F
_0221E424: .word 0x0000B809
_0221E428: .word 0x0000B80A
thumb_func_end ov05_0221E390
thumb_func_start ov05_0221E42C
ov05_0221E42C: ; 0x0221E42C
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
ldr r1, [r5]
mov r0, #0x27
ldr r1, [r1, #0x24]
bl NARC_ctor
add r4, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, _0221E4BC ; =0x0000B810
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #8]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
mov r3, #0x40
bl sub_0200D504
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _0221E4C0 ; =0x0000B80A
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #0xc]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
mov r3, #0x41
bl sub_0200D5D4
mov r0, #0
str r0, [sp]
ldr r0, _0221E4C4 ; =0x0000B80B
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
mov r3, #0x3f
bl sub_0200D6EC
mov r0, #0
str r0, [sp]
ldr r0, _0221E4C4 ; =0x0000B80B
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
mov r3, #0x3e
bl sub_0200D71C
add r0, r4, #0
bl NARC_dtor
add sp, #0x10
pop {r3, r4, r5, pc}
nop
_0221E4BC: .word 0x0000B810
_0221E4C0: .word 0x0000B80A
_0221E4C4: .word 0x0000B80B
thumb_func_end ov05_0221E42C
thumb_func_start ov05_0221E4C8
ov05_0221E4C8: ; 0x0221E4C8
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
ldr r1, [r5]
mov r0, #0x15
ldr r1, [r1, #0x24]
bl NARC_ctor
add r4, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, _0221E558 ; =0x0000B811
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #8]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
mov r3, #2
bl sub_0200D504
mov r0, #0
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, _0221E55C ; =0x0000B80B
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #0xc]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
mov r3, #8
bl sub_0200D5D4
mov r0, #0
str r0, [sp]
ldr r0, _0221E560 ; =0x0000B80C
mov r1, #0x19
lsl r1, r1, #4
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
mov r3, #1
bl sub_0200D6EC
mov r3, #0
mov r1, #0x19
ldr r0, _0221E560 ; =0x0000B80C
str r3, [sp]
lsl r1, r1, #4
str r0, [sp, #4]
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
add r2, r4, #0
bl sub_0200D71C
add r0, r4, #0
bl NARC_dtor
add sp, #0x10
pop {r3, r4, r5, pc}
nop
_0221E558: .word 0x0000B811
_0221E55C: .word 0x0000B80B
_0221E560: .word 0x0000B80C
thumb_func_end ov05_0221E4C8
thumb_func_start ov05_0221E564
ov05_0221E564: ; 0x0221E564
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
str r0, [sp]
ldr r0, [r0]
add r7, r1, #0
add r0, #0x29
ldrb r0, [r0]
cmp r0, #0
bne _0221E57E
mov r0, #3
str r0, [sp, #8]
lsl r0, r7, #0x13
b _0221E588
_0221E57E:
mov r0, #0
str r0, [sp, #8]
lsl r0, r7, #3
neg r0, r0
lsl r0, r0, #0x10
_0221E588:
asr r7, r0, #0x10
mov r0, #0
str r0, [sp, #0xc]
ldr r0, [sp, #8]
mov r1, #0xa
ldr r2, _0221E5E0 ; =ov05_0221EC5C
mul r1, r0
add r0, r2, r1
str r0, [sp, #4]
_0221E59A:
ldr r1, [sp, #8]
ldr r0, [sp, #0xc]
ldr r4, [sp, #4]
add r1, r1, r0
lsl r0, r1, #2
add r0, r1, r0
lsl r1, r0, #2
ldr r0, [sp]
mov r6, #0
add r5, r0, r1
_0221E5AE:
ldrb r1, [r4]
mov r0, #0x66
lsl r0, r0, #2
add r1, r7, r1
lsl r1, r1, #0x10
ldrb r2, [r4, #1]
ldr r0, [r5, r0]
asr r1, r1, #0x10
bl sub_0200DDB8
add r6, r6, #1
add r4, r4, #2
add r5, r5, #4
cmp r6, #5
blt _0221E5AE
ldr r0, [sp, #4]
add r0, #0xa
str r0, [sp, #4]
ldr r0, [sp, #0xc]
add r0, r0, #1
str r0, [sp, #0xc]
cmp r0, #3
blt _0221E59A
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0221E5E0: .word ov05_0221EC5C
thumb_func_end ov05_0221E564
thumb_func_start ov05_0221E5E4
ov05_0221E5E4: ; 0x0221E5E4
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r7, #0
ldr r4, _0221E608 ; =ov05_0221ECE4
mov r6, #0
add r5, #0x10
_0221E5F0:
ldr r0, [r7, #0xc]
add r1, r5, #0
add r2, r4, #0
bl AddWindow
add r6, r6, #1
add r4, #8
add r5, #0x10
cmp r6, #0x18
blo _0221E5F0
pop {r3, r4, r5, r6, r7, pc}
nop
_0221E608: .word ov05_0221ECE4
thumb_func_end ov05_0221E5E4
thumb_func_start ov05_0221E60C
ov05_0221E60C: ; 0x0221E60C
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
add r5, #0x10
_0221E614:
add r0, r5, #0
bl RemoveWindow
add r4, r4, #1
add r5, #0x10
cmp r4, #0x18
blo _0221E614
pop {r3, r4, r5, pc}
thumb_func_end ov05_0221E60C
thumb_func_start ov05_0221E624
ov05_0221E624: ; 0x0221E624
push {r4, r5, r6, r7, lr}
sub sp, #0x24
ldr r4, [sp, #0x3c]
add r5, r0, #0
add r7, r5, #0
lsl r0, r4, #6
add r7, #0x10
str r0, [sp, #0x1c]
str r1, [sp, #0x10]
str r3, [sp, #0x14]
ldr r6, [sp, #0x38]
cmp r4, #3
ldr r0, [r5]
bhs _0221E64C
ldr r0, [r0, #4]
add r1, r4, #0
bl GetPartyMonByIndex
str r0, [sp, #0x18]
b _0221E656
_0221E64C:
ldr r0, [r0, #0xc]
sub r1, r4, #3
bl GetPartyMonByIndex
str r0, [sp, #0x18]
_0221E656:
add r1, r4, #0
ldr r0, [sp, #0x10]
add r1, #8
bl NewString_ReadMsgData
str r0, [sp, #0x20]
ldr r0, [sp, #0x18]
bl Mon_GetBoxMon
add r2, r0, #0
ldr r0, [sp, #0x14]
mov r1, #0
bl BufferBoxMonNickname
ldr r0, [sp, #0x14]
ldr r2, [sp, #0x20]
add r1, r6, #0
bl StringExpandPlaceholders
ldr r0, [sp, #0x20]
bl String_dtor
mov r1, #0
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _0221E708 ; =0x000F0E00
add r2, r6, #0
str r0, [sp, #8]
ldr r0, [sp, #0x1c]
add r3, r1, #0
add r0, r7, r0
str r1, [sp, #0xc]
bl AddTextPrinterParameterized2
mov r0, #0x18
mul r0, r4
add r2, r5, r0
ldr r0, _0221E70C ; =0x00000222
ldrb r1, [r2, r0]
cmp r1, #0
bne _0221E704
sub r0, r0, #1
ldrb r0, [r2, r0]
cmp r0, #0
bne _0221E6DC
ldr r0, [sp, #0x10]
mov r1, #0x1b
add r2, r6, #0
bl ReadMsgDataIntoString
mov r1, #0
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
mov r0, #0xc1
lsl r0, r0, #0xa
str r0, [sp, #8]
ldr r0, [sp, #0x1c]
add r2, r6, #0
add r0, r7, r0
mov r3, #0x40
str r1, [sp, #0xc]
bl AddTextPrinterParameterized2
add sp, #0x24
pop {r4, r5, r6, r7, pc}
_0221E6DC:
cmp r0, #1
bne _0221E704
ldr r0, [sp, #0x10]
mov r1, #0x1c
add r2, r6, #0
bl ReadMsgDataIntoString
mov r1, #0
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _0221E710 ; =0x00050600
add r2, r6, #0
str r0, [sp, #8]
ldr r0, [sp, #0x1c]
mov r3, #0x40
add r0, r7, r0
str r1, [sp, #0xc]
bl AddTextPrinterParameterized2
_0221E704:
add sp, #0x24
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0221E708: .word 0x000F0E00
_0221E70C: .word 0x00000222
_0221E710: .word 0x00050600
thumb_func_end ov05_0221E624
thumb_func_start ov05_0221E714
ov05_0221E714: ; 0x0221E714
push {r3, r4, r5, lr}
sub sp, #0x10
ldr r3, [sp, #0x24]
add r4, r0, #0
lsl r5, r3, #2
add r5, r5, #1
mov r1, #0
add r0, #0x10
lsl r5, r5, #4
str r1, [sp]
add r0, r0, r5
str r0, [sp, #4]
str r1, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
add r0, r2, #0
mov r2, #0x18
mul r2, r3
add r3, r4, r2
mov r2, #0x22
lsl r2, r2, #4
ldrb r2, [r3, r2]
mov r1, #1
mov r3, #3
bl sub_0200CE7C
add sp, #0x10
pop {r3, r4, r5, pc}
thumb_func_end ov05_0221E714
thumb_func_start ov05_0221E74C
ov05_0221E74C: ; 0x0221E74C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
ldr r1, [sp, #0x24]
add r5, r0, #0
lsl r0, r1, #2
add r7, r2, #0
add r2, r5, #0
add r0, r0, #2
add r6, r1, #0
add r2, #0x10
lsl r0, r0, #4
add r4, r2, r0
mov r0, #0x18
mul r6, r0
str r4, [sp]
mov r0, #0
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
ldr r1, _0221E7B4 ; =0x0000021A
add r2, r5, r6
ldrh r1, [r2, r1]
add r0, r7, #0
mov r2, #3
mov r3, #1
bl sub_0200CDF0
mov r0, #2
str r0, [sp]
add r0, r7, #0
mov r1, #0
add r2, r4, #0
mov r3, #0x18
bl sub_0200CDAC
mov r1, #0x87
str r4, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
add r2, r5, r6
lsl r1, r1, #2
ldrh r1, [r2, r1]
add r0, r7, #0
mov r2, #3
mov r3, #0
bl sub_0200CDF0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
_0221E7B4: .word 0x0000021A
thumb_func_end ov05_0221E74C
thumb_func_start ov05_0221E7B8
ov05_0221E7B8: ; 0x0221E7B8
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
lsl r0, r1, #2
add r2, r5, #0
add r0, r0, #3
add r2, #0x10
lsl r0, r0, #4
add r4, r2, r0
mov r0, #0x18
add r6, r1, #0
mul r6, r0
mov r0, #0x87
lsl r0, r0, #2
add r7, r5, r0
sub r0, r0, #2
add r0, r5, r0
str r0, [sp, #8]
ldrh r0, [r0, r6]
ldrh r1, [r7, r6]
mov r2, #0x30
bl sub_020880B0
cmp r0, #4
bhi _0221E846
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0221E7F6: ; jump table
.short _0221E846 - _0221E7F6 - 2 ; case 0
.short _0221E830 - _0221E7F6 - 2 ; case 1
.short _0221E818 - _0221E7F6 - 2 ; case 2
.short _0221E800 - _0221E7F6 - 2 ; case 3
.short _0221E800 - _0221E7F6 - 2 ; case 4
_0221E800:
ldrb r3, [r4, #9]
ldr r1, _0221E89C ; =0x000004F6
mov r0, #1
lsl r3, r3, #4
add r3, #9
lsl r3, r3, #0x11
add r1, r5, r1
mov r2, #4
lsr r3, r3, #0x10
bl BG_LoadPlttData
b _0221E846
_0221E818:
ldrb r3, [r4, #9]
ldr r1, _0221E8A0 ; =0x00000516
mov r0, #1
lsl r3, r3, #4
add r3, #9
lsl r3, r3, #0x11
add r1, r5, r1
mov r2, #4
lsr r3, r3, #0x10
bl BG_LoadPlttData
b _0221E846
_0221E830:
ldrb r3, [r4, #9]
ldr r1, _0221E8A4 ; =0x00000536
mov r0, #1
lsl r3, r3, #4
add r3, #9
lsl r3, r3, #0x11
add r1, r5, r1
mov r2, #4
lsr r3, r3, #0x10
bl BG_LoadPlttData
_0221E846:
ldr r0, [sp, #8]
ldrh r1, [r7, r6]
ldrh r0, [r0, r6]
mov r2, #0x30
bl RatioToInt
add r5, r0, #0
lsl r0, r5, #0x10
lsr r0, r0, #0x10
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
add r0, r4, #0
mov r1, #0xa
mov r2, #0
mov r3, #2
bl FillWindowPixelRect
lsl r0, r5, #0x10
lsr r0, r0, #0x10
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
add r0, r4, #0
mov r1, #9
mov r2, #0
mov r3, #3
bl FillWindowPixelRect
lsl r0, r5, #0x10
lsr r0, r0, #0x10
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
add r0, r4, #0
mov r1, #0xa
mov r2, #0
mov r3, #5
bl FillWindowPixelRect
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
_0221E89C: .word 0x000004F6
_0221E8A0: .word 0x00000516
_0221E8A4: .word 0x00000536
thumb_func_end ov05_0221E7B8
thumb_func_start ov05_0221E8A8
ov05_0221E8A8: ; 0x0221E8A8
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r7, r0, #0
ldr r6, [sp, #0x2c]
add r5, r7, #0
str r1, [sp, #8]
add r5, #0x10
lsl r4, r6, #6
add r0, r5, r4
mov r1, #0
str r2, [sp, #0xc]
str r3, [sp, #0x10]
bl FillWindowPixelBuffer
add r0, r5, r4
add r0, #0x10
mov r1, #0
bl FillWindowPixelBuffer
add r0, r5, r4
add r0, #0x20
mov r1, #0
bl FillWindowPixelBuffer
add r0, r5, r4
add r0, #0x30
mov r1, #0
bl FillWindowPixelBuffer
ldr r0, [sp, #0x28]
ldr r1, [sp, #8]
str r0, [sp]
ldr r2, [sp, #0xc]
ldr r3, [sp, #0x10]
add r0, r7, #0
str r6, [sp, #4]
bl ov05_0221E624
ldr r0, [sp, #0x28]
ldr r1, [sp, #8]
str r0, [sp]
ldr r2, [sp, #0xc]
ldr r3, [sp, #0x10]
add r0, r7, #0
str r6, [sp, #4]
bl ov05_0221E714
ldr r0, [sp, #0x28]
ldr r1, [sp, #8]
str r0, [sp]
ldr r2, [sp, #0xc]
ldr r3, [sp, #0x10]
add r0, r7, #0
str r6, [sp, #4]
bl ov05_0221E74C
add r0, r7, #0
add r1, r6, #0
bl ov05_0221E7B8
add r0, r5, r4
bl ScheduleWindowCopyToVram
add r0, r5, r4
add r0, #0x10
bl ScheduleWindowCopyToVram
add r0, r5, r4
add r0, #0x20
bl ScheduleWindowCopyToVram
add r0, r5, r4
add r0, #0x30
bl ScheduleWindowCopyToVram
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov05_0221E8A8
thumb_func_start ov05_0221E944
ov05_0221E944: ; 0x0221E944
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r6, r0, #0
ldr r3, [r6]
mov r2, #0x4b
ldr r3, [r3, #0x24]
mov r0, #0
mov r1, #0x1b
lsl r2, r2, #2
bl NewMsgDataFromNarc
ldr r3, [r6]
str r0, [sp, #0x10]
ldr r3, [r3, #0x24]
mov r0, #0xf
mov r1, #0xe
mov r2, #0
bl MessagePrinter_new
str r0, [sp, #0xc]
ldr r0, [r6]
ldr r0, [r0, #0x24]
bl ScrStrBufs_new
ldr r1, [r6]
str r0, [sp, #8]
ldr r1, [r1, #0x24]
mov r0, #0x20
bl String_ctor
add r7, r0, #0
mov r4, #0
add r5, r6, #0
_0221E986:
mov r0, #0x86
lsl r0, r0, #2
ldrh r0, [r5, r0]
cmp r0, #0
beq _0221E9A0
ldr r1, [sp, #0x10]
str r7, [sp]
ldr r2, [sp, #0xc]
ldr r3, [sp, #8]
add r0, r6, #0
str r4, [sp, #4]
bl ov05_0221E8A8
_0221E9A0:
add r4, r4, #1
add r5, #0x18
cmp r4, #6
blo _0221E986
add r0, r7, #0
bl String_dtor
ldr r0, [sp, #0x10]
bl DestroyMsgData
ldr r0, [sp, #0xc]
bl MessagePrinter_delete
ldr r0, [sp, #8]
bl ScrStrBufs_delete
add sp, #0x14
pop {r4, r5, r6, r7, pc}
thumb_func_end ov05_0221E944
thumb_func_start ov05_0221E9C4
ov05_0221E9C4: ; 0x0221E9C4
push {r4, lr}
sub sp, #8
add r4, r0, #0
mov r0, #0xd8
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
ldr r0, _0221E9F4 ; =0x00000B88
mov r2, #0
add r0, r4, r0
mov r1, #0xf
add r3, r2, #0
bl FillWindowPixelRect
ldr r0, _0221E9F4 ; =0x00000B88
mov r1, #0
add r0, r4, r0
mov r2, #1
mov r3, #0xf
bl DrawFrameAndWindow2
add sp, #8
pop {r4, pc}
nop
_0221E9F4: .word 0x00000B88
thumb_func_end ov05_0221E9C4
thumb_func_start ov05_0221E9F8
ov05_0221E9F8: ; 0x0221E9F8
push {r3, lr}
ldr r0, [r0]
ldr r1, [r0]
mov r0, #7
lsl r0, r0, #6
ldr r0, [r1, r0]
cmp r0, #0
beq _0221EA10
bl sub_0202FC48
cmp r0, #0
bne _0221EA14
_0221EA10:
mov r0, #0
pop {r3, pc}
_0221EA14:
mov r0, #1
pop {r3, pc}
thumb_func_end ov05_0221E9F8
thumb_func_start ov05_0221EA18
ov05_0221EA18: ; 0x0221EA18
push {r4, lr}
add r4, r0, #0
ldr r0, _0221EA34 ; =0x00000BC4
ldr r1, [r4, r0]
cmp r1, #0
bne _0221EA32
sub r0, #0x3c
add r0, r4, r0
mov r1, #1
bl sub_0200F0AC
ldr r1, _0221EA34 ; =0x00000BC4
str r0, [r4, r1]
_0221EA32:
pop {r4, pc}
.balign 4, 0
_0221EA34: .word 0x00000BC4
thumb_func_end ov05_0221EA18
thumb_func_start ov05_0221EA38
ov05_0221EA38: ; 0x0221EA38
push {r4, lr}
add r4, r0, #0
ldr r0, _0221EA50 ; =0x00000BC4
ldr r0, [r4, r0]
cmp r0, #0
beq _0221EA4E
bl sub_0200F450
ldr r0, _0221EA50 ; =0x00000BC4
mov r1, #0
str r1, [r4, r0]
_0221EA4E:
pop {r4, pc}
.balign 4, 0
_0221EA50: .word 0x00000BC4
thumb_func_end ov05_0221EA38
.rodata
_0221EA54:
.byte 0x00, 0x03, 0x06, 0x09
ov05_0221EA58: ; 0x0221EA58
.byte 0x00, 0x19, 0x0D, 0x06, 0x04, 0x0D, 0x94, 0x00
ov05_0221EA60: ; 0x0221EA60
.byte 0x00, 0x00, 0x00, 0x06, 0x00, 0x0C, 0x10, 0x01, 0x10, 0x07, 0x10, 0x0D
ov05_0221EA6C: ; 0x0221EA6C
.byte 0x06
ov05_0221EA6D: ; 0x0221EA6D
.byte 0x06, 0x00, 0x06
.byte 0x00, 0x06, 0x04, 0x0A, 0x00, 0x0A, 0x00, 0x0A
ov05_0221EA78: ; 0x0221EA78
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
ov05_0221EA88: ; 0x0221EA88
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov05_0221EA98: ; 0x0221EA98
.word ov05_0221BE80
.word ov05_0221C018
.word ov05_0221C050
.word ov05_0221C21C
.word ov05_0221C430
ov05_0221EAAC: ; 0x0221EAAC
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
ov05_0221EAC0: ; 0x0221EAC0
.word ov05_0221BE04
.word ov05_0221C018
.word ov05_0221CC04
.word ov05_0221C018
.word ov05_0221CC58
ov05_0221EAD4: ; 0x0221EAD4
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov05_0221EAEC: ; 0x0221EAEC
.byte 0x09, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov05_0221EB04: ; 0x0221EB04
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov05_0221EB1C: ; 0x0221EB1C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x1E, 0x04
.byte 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov05_0221EB38: ; 0x0221EB38
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x04, 0x00, 0x02, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov05_0221EB54: ; 0x0221EB54
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x1C, 0x04, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov05_0221EB70: ; 0x0221EB70
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x1B, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov05_0221EB8C: ; 0x0221EB8C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov05_0221EBA8: ; 0x0221EBA8
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov05_0221EBC4: ; 0x0221EBC4
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov05_0221EBE0: ; 0x0221EBE0
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
ov05_0221EC00: ; 0x0221EC00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
ov05_0221EC28: ; 0x0221EC28
.word ov05_0221BF08
.word ov05_0221C018
.word ov05_0221C050
.word ov05_0221C21C
.word ov05_0221C7FC
.word ov05_0221C80C
.word ov05_0221C018
.word ov05_0221C8E0
.word ov05_0221C018
.word ov05_0221C908
.word ov05_0221C018
.word ov05_0221CAB8
.word ov05_0221CC58
ov05_0221EC5C: ; 0x0221EC5C
.byte 0x1E, 0x10, 0x26, 0x18
.byte 0x2E, 0x18, 0x24, 0x2C, 0x10, 0x0E, 0x1E, 0x40, 0x26, 0x48, 0x2E, 0x48, 0x24, 0x5C, 0x10, 0x3E
.byte 0x1E, 0x70, 0x26, 0x78, 0x2E, 0x78, 0x24, 0x8C, 0x10, 0x6E, 0x9E, 0x18, 0xA6, 0x20, 0xAE, 0x20
.byte 0xA4, 0x34, 0x90, 0x16, 0x9E, 0x48, 0xA6, 0x50, 0xAE, 0x50, 0xA4, 0x64, 0x90, 0x46, 0x9E, 0x78
.byte 0xA6, 0x80, 0xAE, 0x80, 0xA4, 0x94, 0x90, 0x76
ov05_0221EC98: ; 0x0221EC98
.word ov05_0221BF08
.word ov05_0221C018
.word ov05_0221C050
.word ov05_0221C21C
.word ov05_0221C558
.word ov05_0221C018
.word ov05_0221C568
.word ov05_0221C5A8
.word ov05_0221C7FC
.word ov05_0221C80C
.word ov05_0221C018
.word ov05_0221C8A0
.word ov05_0221C018
.word ov05_0221CB70
.word ov05_0221C018
.word ov05_0221C908
.word ov05_0221C018
.word ov05_0221CAB8
.word ov05_0221CC58
ov05_0221ECE4: ; 0x0221ECE4
.byte 0x01, 0x06, 0x01, 0x09, 0x02, 0x00, 0x01, 0x00, 0x01, 0x01, 0x04, 0x05
.byte 0x02, 0x00, 0x13, 0x00, 0x01, 0x07, 0x04, 0x08, 0x02, 0x00, 0x1D, 0x00, 0x01, 0x08, 0x03, 0x06
.byte 0x01, 0x03, 0x2D, 0x00, 0x01, 0x06, 0x07, 0x09, 0x02, 0x00, 0x33, 0x00, 0x01, 0x01, 0x0A, 0x05
.byte 0x02, 0x00, 0x45, 0x00, 0x01, 0x07, 0x0A, 0x08, 0x02, 0x00, 0x4F, 0x00, 0x01, 0x08, 0x09, 0x06
.byte 0x01, 0x04, 0x5F, 0x00, 0x01, 0x06, 0x0D, 0x09, 0x02, 0x00, 0x65, 0x00, 0x01, 0x01, 0x10, 0x05
.byte 0x02, 0x00, 0x77, 0x00, 0x01, 0x07, 0x10, 0x08, 0x02, 0x00, 0x81, 0x00, 0x01, 0x08, 0x0F, 0x06
.byte 0x01, 0x05, 0x91, 0x00, 0x01, 0x16, 0x02, 0x09, 0x02, 0x00, 0x97, 0x00, 0x01, 0x11, 0x05, 0x05
.byte 0x02, 0x00, 0xA9, 0x00, 0x01, 0x17, 0x05, 0x08, 0x02, 0x00, 0xB3, 0x00, 0x01, 0x18, 0x04, 0x06
.byte 0x01, 0x06, 0xC3, 0x00, 0x01, 0x16, 0x08, 0x09, 0x02, 0x00, 0xC9, 0x00, 0x01, 0x11, 0x0B, 0x05
.byte 0x02, 0x00, 0xDB, 0x00, 0x01, 0x17, 0x0B, 0x08, 0x02, 0x00, 0xE5, 0x00, 0x01, 0x18, 0x0A, 0x06
.byte 0x01, 0x07, 0xF5, 0x00, 0x01, 0x16, 0x0E, 0x09, 0x02, 0x00, 0xFB, 0x00, 0x01, 0x11, 0x11, 0x05
.byte 0x02, 0x00, 0x0D, 0x01, 0x01, 0x17, 0x11, 0x08, 0x02, 0x00, 0x17, 0x01, 0x01, 0x18, 0x10, 0x06
.byte 0x01, 0x08, 0x27, 0x01
ov05_0221EDA4: ; 0x0221EDA4
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
.byte 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
.byte 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
.byte 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x08, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x08, 0xB8, 0x00, 0x00
.byte 0x08, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x08, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x08, 0xB8, 0x00, 0x00, 0x08, 0xB8, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
ov05_0221EF2C: ; 0x0221EF2C
.byte 0x09, 0xB8, 0x00, 0x00
.byte 0x08, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00
.byte 0x0A, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00
.byte 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x10, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xB8, 0x00, 0x00
.byte 0x0B, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x08, 0xB8, 0x00, 0x00
.byte 0x09, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00
.byte 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xB8, 0x00, 0x00
.byte 0x0A, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00
.byte 0x0C, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x08, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00
.byte 0x09, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00
.byte 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00
.byte 0x0B, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x11, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00
.byte 0x0C, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x0C, 0xB8, 0x00, 0x00, 0x08, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00
.byte 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00
.byte 0x0A, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x10, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00
.byte 0x0B, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x11, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xB8, 0x00, 0x00
.byte 0x08, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00
.byte 0x0A, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00
.byte 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x10, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xB8, 0x00, 0x00
.byte 0x0B, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, 0x00, 0x00, 0x08, 0xB8, 0x00, 0x00
.byte 0x09, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00
.byte 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xB8, 0x00, 0x00
.byte 0x0A, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00
.byte 0x0C, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
; 0x0221F280