pokeheartgold/asm/overlay_12_02264824.s
Adrienn Tindall 8660536d04 Make HeapID an enum
Also made some _ctor and _new -> _New
2023-06-03 02:18:52 -05:00

3213 lines
72 KiB
ArmAsm

.include "asm/macros.inc"
.include "overlay_12_02264824.inc"
.include "global.inc"
.text
thumb_func_start ov12_02264824
ov12_02264824: ; 0x02264824
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r5, r0, #0
ldr r0, [sp, #0x30]
add r6, r1, #0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
add r4, r2, #0
str r3, [sp, #0x18]
bl ov12_02265BB8
add r7, r0, #0
ldr r3, [r7, #0x14]
mov r0, #1
str r0, [sp]
str r0, [sp, #4]
str r3, [sp, #8]
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl sub_0200D504
str r4, [sp]
mov r0, #0x47
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
str r0, [sp, #0x10]
ldr r0, _022648E0 ; =0x00004E26
mov r1, #2
str r0, [sp, #0x14]
ldr r0, [sp, #0x18]
add r2, r5, #0
add r3, r6, #0
bl sub_0200D68C
ldr r3, [r7, #0x1c]
mov r0, #1
str r0, [sp]
str r3, [sp, #4]
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl sub_0200D6EC
ldr r3, [r7, #0x20]
mov r0, #1
str r0, [sp]
str r3, [sp, #4]
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl sub_0200D71C
str r4, [sp]
mov r0, #0x47
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
str r0, [sp, #0x10]
ldr r0, _022648E4 ; =0x00004E27
mov r1, #2
str r0, [sp, #0x14]
ldr r0, [sp, #0x18]
add r2, r5, #0
add r3, r6, #0
bl sub_0200D68C
ldr r0, [sp, #0x30]
sub r0, r0, #6
cmp r0, #1
bhi _022648DC
str r4, [sp]
mov r0, #0x51
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
str r0, [sp, #0x10]
ldr r0, _022648E8 ; =0x00004E28
mov r1, #2
str r0, [sp, #0x14]
ldr r0, [sp, #0x18]
add r2, r5, #0
add r3, r6, #0
bl sub_0200D68C
_022648DC:
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_022648E0: .word 0x00004E26
_022648E4: .word 0x00004E27
_022648E8: .word 0x00004E28
thumb_func_end ov12_02264824
thumb_func_start ov12_022648EC
ov12_022648EC: ; 0x022648EC
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r6, r0, #0
ldr r0, [sp, #0x30]
add r7, r1, #0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
add r5, r2, #0
str r3, [sp, #0x18]
bl ov12_02265C1C
add r4, r0, #0
beq _0226495E
ldr r3, [r4, #0x14]
mov r0, #1
str r0, [sp]
str r0, [sp, #4]
str r3, [sp, #8]
add r0, r6, #0
add r1, r7, #0
add r2, r5, #0
bl sub_0200D504
str r5, [sp]
mov r0, #0x47
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
str r0, [sp, #0x10]
ldr r0, _02264964 ; =0x00004E26
mov r1, #2
str r0, [sp, #0x14]
ldr r0, [sp, #0x18]
add r2, r6, #0
add r3, r7, #0
bl sub_0200D68C
ldr r3, [r4, #0x1c]
mov r0, #1
str r0, [sp]
str r3, [sp, #4]
add r0, r6, #0
add r1, r7, #0
add r2, r5, #0
bl sub_0200D6EC
ldr r3, [r4, #0x20]
mov r0, #1
str r0, [sp]
add r0, r6, #0
add r1, r7, #0
add r2, r5, #0
str r3, [sp, #4]
bl sub_0200D71C
_0226495E:
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
nop
_02264964: .word 0x00004E26
thumb_func_end ov12_022648EC
thumb_func_start ov12_02264968
ov12_02264968: ; 0x02264968
push {r3, r4, r5, lr}
add r5, r0, #0
lsl r0, r2, #0x18
add r4, r1, #0
lsr r0, r0, #0x18
bl ov12_02265BB8
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_0200D734
add r4, r0, #0
ldr r0, [r4]
bl sub_0200DC0C
add r0, r4, #0
pop {r3, r4, r5, pc}
thumb_func_end ov12_02264968
thumb_func_start ov12_0226498C
ov12_0226498C: ; 0x0226498C
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #4]
add r6, r1, #0
add r4, r2, #0
cmp r0, #0
bne _0226499E
bl GF_AssertFail
_0226499E:
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
cmp r0, #6
bne _022649B0
mov r1, #3
lsl r1, r1, #0xa
and r4, r1
b _022649C0
_022649B0:
cmp r0, #7
bne _022649BC
mov r1, #3
lsl r1, r1, #0xc
and r4, r1
b _022649C0
_022649BC:
ldr r1, _02264B1C ; =0xFFFFC3FF
and r4, r1
_022649C0:
cmp r0, #7
bhi _02264A06
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022649D0: ; jump table
.short _02264A02 - _022649D0 - 2 ; case 0
.short _022649E0 - _022649D0 - 2 ; case 1
.short _022649E6 - _022649D0 - 2 ; case 2
.short _022649E0 - _022649D0 - 2 ; case 3
.short _022649E6 - _022649D0 - 2 ; case 4
.short _022649E0 - _022649D0 - 2 ; case 5
.short _02264A06 - _022649D0 - 2 ; case 6
.short _02264A06 - _022649D0 - 2 ; case 7
_022649E0:
mov r0, #0x26
bic r4, r0
b _02264A06
_022649E6:
ldr r0, _02264B20 ; =0xFFFFFDDF
and r4, r0
add r0, r5, #0
add r0, #0x4f
ldrb r0, [r0]
lsl r0, r0, #0x1c
lsr r0, r0, #0x1f
bne _022649FC
mov r0, #6
bic r4, r0
b _02264A06
_022649FC:
mov r0, #1
bic r4, r0
b _02264A06
_02264A02:
ldr r0, _02264B24 ; =0xFFFFFDFF
and r4, r0
_02264A06:
ldr r0, [r5, #0xc]
bl BattleSys_GetBattleType
mov r1, #1
tst r0, r1
beq _02264A16
ldr r0, _02264B24 ; =0xFFFFFDFF
and r4, r0
_02264A16:
mov r0, #1
tst r0, r4
beq _02264A2C
add r0, r5, #0
mov r1, #0
bl ov12_02264DCC
add r0, r5, #0
mov r1, #0
bl ov12_022657E4
_02264A2C:
mov r0, #2
tst r0, r4
beq _02264A3A
add r0, r5, #0
add r1, r6, #0
bl ov12_02265474
_02264A3A:
mov r0, #4
tst r0, r4
beq _02264A46
add r0, r5, #0
bl ov12_02265500
_02264A46:
mov r0, #0x80
tst r0, r4
bne _02264A52
mov r0, #0x40
tst r0, r4
beq _02264A58
_02264A52:
add r0, r5, #0
bl ov12_022652D0
_02264A58:
mov r0, #8
tst r0, r4
beq _02264A64
add r0, r5, #0
bl ov12_02265354
_02264A64:
mov r0, #0x10
tst r0, r4
beq _02264A70
add r0, r5, #0
bl ov12_0226516C
_02264A70:
mov r0, #0x20
tst r0, r4
beq _02264A86
add r0, r5, #0
mov r1, #0
bl ov12_02264E34
add r0, r5, #0
mov r1, #1
bl ov12_022657E4
_02264A86:
mov r0, #2
lsl r0, r0, #8
tst r0, r4
beq _02264A94
add r0, r5, #0
bl ov12_02265560
_02264A94:
mov r0, #1
lsl r0, r0, #8
tst r0, r4
beq _02264AF8
add r0, r5, #0
add r0, #0x4a
ldrb r0, [r0]
cmp r0, #5
bhi _02264ABE
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02264AB2: ; jump table
.short _02264ABE - _02264AB2 - 2 ; case 0
.short _02264AC8 - _02264AB2 - 2 ; case 1
.short _02264AD2 - _02264AB2 - 2 ; case 2
.short _02264ADC - _02264AB2 - 2 ; case 3
.short _02264AE6 - _02264AB2 - 2 ; case 4
.short _02264AF0 - _02264AB2 - 2 ; case 5
_02264ABE:
add r0, r5, #0
mov r1, #0x26
bl ov12_022655B0
b _02264AF8
_02264AC8:
add r0, r5, #0
mov r1, #0x2f
bl ov12_022655B0
b _02264AF8
_02264AD2:
add r0, r5, #0
mov r1, #0x32
bl ov12_022655B0
b _02264AF8
_02264ADC:
add r0, r5, #0
mov r1, #0x35
bl ov12_022655B0
b _02264AF8
_02264AE6:
add r0, r5, #0
mov r1, #0x2c
bl ov12_022655B0
b _02264AF8
_02264AF0:
add r0, r5, #0
mov r1, #0x29
bl ov12_022655B0
_02264AF8:
mov r0, #5
lsl r0, r0, #0xa
tst r0, r4
beq _02264B08
add r0, r5, #0
add r1, r4, #0
bl ov12_022655F0
_02264B08:
mov r0, #0xa
lsl r0, r0, #0xa
tst r0, r4
beq _02264B18
add r0, r5, #0
add r1, r4, #0
bl ov12_022656CC
_02264B18:
pop {r4, r5, r6, pc}
nop
_02264B1C: .word 0xFFFFC3FF
_02264B20: .word 0xFFFFFDDF
_02264B24: .word 0xFFFFFDFF
thumb_func_end ov12_0226498C
thumb_func_start ov12_02264B28
ov12_02264B28: ; 0x02264B28
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x50]
cmp r0, #0
beq _02264B3A
bl DestroySysTask
mov r0, #0
str r0, [r4, #0x50]
_02264B3A:
ldr r0, [r4, #4]
cmp r0, #0
beq _02264B48
bl sub_0200D9DC
mov r0, #0
str r0, [r4, #4]
_02264B48:
pop {r4, pc}
.balign 4, 0
thumb_func_end ov12_02264B28
thumb_func_start ov12_02264B4C
ov12_02264B4C: ; 0x02264B4C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #8]
cmp r0, #0
beq _02264B5E
bl sub_0200D9DC
mov r0, #0
str r0, [r4, #8]
_02264B5E:
pop {r4, pc}
thumb_func_end ov12_02264B4C
thumb_func_start ov12_02264B60
ov12_02264B60: ; 0x02264B60
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x25
ldrb r0, [r0]
bl ov12_02265BB8
add r4, r0, #0
ldr r0, [r5, #0xc]
bl ov12_0223A8E4
ldr r0, [r5, #0xc]
bl ov12_0223A8EC
ldr r1, [r4, #0x14]
add r5, r0, #0
bl sub_0200D958
ldr r1, [r4, #0x1c]
add r0, r5, #0
bl sub_0200D978
ldr r1, [r4, #0x20]
add r0, r5, #0
bl sub_0200D988
pop {r3, r4, r5, pc}
thumb_func_end ov12_02264B60
thumb_func_start ov12_02264B94
ov12_02264B94: ; 0x02264B94
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x25
ldrb r0, [r0]
bl ov12_02265C1C
add r4, r0, #0
beq _02264BC8
ldr r0, [r5, #0xc]
bl ov12_0223A8E4
ldr r0, [r5, #0xc]
bl ov12_0223A8EC
ldr r1, [r4, #0x14]
add r5, r0, #0
bl sub_0200D958
ldr r1, [r4, #0x1c]
add r0, r5, #0
bl sub_0200D978
ldr r1, [r4, #0x20]
add r0, r5, #0
bl sub_0200D988
_02264BC8:
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov12_02264B94
thumb_func_start ov12_02264BCC
ov12_02264BCC: ; 0x02264BCC
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
mov r0, #8
mov r1, #5
bl NARC_ctor
add r6, r0, #0
ldr r0, [r5, #0xc]
bl ov12_0223A8E4
add r7, r0, #0
ldr r0, [r5, #0xc]
bl ov12_0223A8EC
str r0, [sp, #4]
ldr r0, [r5, #0xc]
bl ov12_0223A938
str r0, [sp, #8]
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
bl ov12_02265BB8
add r4, r0, #0
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
ldr r1, [sp, #4]
ldr r3, [sp, #8]
str r0, [sp]
add r0, r7, #0
add r2, r6, #0
bl ov12_02264824
add r2, r5, #0
add r2, #0x25
ldrb r2, [r2]
ldr r1, [sp, #4]
add r0, r7, #0
bl ov12_02264968
str r0, [r5, #4]
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
ldr r1, [sp, #4]
ldr r3, [sp, #8]
str r0, [sp]
add r0, r7, #0
add r2, r6, #0
bl ov12_022648EC
ldr r0, [r5, #8]
cmp r0, #0
beq _02264C5A
add r5, #0x25
ldrb r3, [r5]
ldr r2, _02264C64 ; =ov12_0226D368
mov r1, #0
ldrsh r1, [r4, r1]
ldrsb r2, [r2, r3]
ldr r0, [r0]
sub r1, r1, r2
mov r2, #2
lsl r1, r1, #0x10
ldrsh r2, [r4, r2]
asr r1, r1, #0x10
bl sub_0200DD88
_02264C5A:
add r0, r6, #0
bl NARC_dtor
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02264C64: .word ov12_0226D368
thumb_func_end ov12_02264BCC
thumb_func_start ov12_02264C68
ov12_02264C68: ; 0x02264C68
push {r4, lr}
add r4, r0, #0
bl ov12_02264B28
add r0, r4, #0
bl ov12_02264B60
add r0, r4, #0
bl ov12_02264B4C
add r0, r4, #0
bl ov12_02264B94
pop {r4, pc}
thumb_func_end ov12_02264C68
thumb_func_start ov12_02264C84
ov12_02264C84: ; 0x02264C84
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x25
ldrb r0, [r0]
cmp r0, #2
beq _02264C96
cmp r0, #4
beq _02264C96
b _02264DB0
_02264C96:
add r0, r5, #0
add r0, #0x4f
ldrb r2, [r0]
mov r1, #8
add r0, r2, #0
bic r0, r1
lsl r1, r2, #0x1c
lsr r2, r1, #0x1f
mov r1, #1
eor r1, r2
lsl r1, r1, #0x18
lsr r1, r1, #0x18
lsl r1, r1, #0x1f
lsr r1, r1, #0x1c
orr r1, r0
add r0, r5, #0
add r0, #0x4f
strb r1, [r0]
ldr r0, [r5, #4]
ldr r0, [r0]
bl sub_02024B1C
add r4, r0, #0
add r0, r5, #0
add r0, #0x4f
ldrb r0, [r0]
lsl r0, r0, #0x1c
lsr r0, r0, #0x1f
cmp r0, #1
bne _02264D42
mov r0, #0x46
bl ov12_02265B58
add r2, r5, #0
add r2, #0x25
ldrb r2, [r2]
mov r6, #0x19
lsl r6, r6, #0x16
lsl r3, r2, #2
ldr r2, _02264DB4 ; =ov12_0226D3A8
ldr r1, [r4, #4]
ldrh r2, [r2, r3]
add r2, r6, r2
add r2, #0x20
add r1, r1, r2
mov r2, #0x20
bl MIi_CpuCopy16
mov r0, #0x47
bl ov12_02265B58
add r2, r5, #0
add r2, #0x25
ldrb r2, [r2]
ldr r1, [r4, #4]
lsl r3, r2, #2
ldr r2, _02264DB8 ; =ov12_0226D3D8
ldrh r2, [r2, r3]
add r2, r6, r2
add r2, #0x20
add r1, r1, r2
mov r2, #0x20
bl MIi_CpuCopy16
mov r0, #0x45
bl ov12_02265B58
add r1, r5, #0
add r1, #0x25
ldrb r1, [r1]
ldr r3, _02264DBC ; =ov12_0226D408
lsl r2, r1, #2
ldrh r3, [r3, r2]
ldr r1, [r4, #4]
add r3, r6, r3
add r1, r1, r3
ldr r3, _02264DC0 ; =ov12_0226D40A
ldrh r2, [r3, r2]
bl MIi_CpuCopy16
ldr r1, [r5, #0x28]
add r0, r5, #0
mov r2, #6
bl ov12_0226498C
pop {r4, r5, r6, pc}
_02264D42:
mov r0, #0x42
bl ov12_02265B58
add r1, r5, #0
add r1, #0x25
ldrb r1, [r1]
mov r6, #0x19
ldr r3, _02264DB4 ; =ov12_0226D3A8
lsl r2, r1, #2
ldrh r3, [r3, r2]
lsl r6, r6, #0x16
ldr r1, [r4, #4]
add r3, r6, r3
add r1, r1, r3
ldr r3, _02264DC4 ; =ov12_0226D3AA
ldrh r2, [r3, r2]
bl MIi_CpuCopy16
mov r0, #0x44
bl ov12_02265B58
add r1, r5, #0
add r1, #0x25
ldrb r1, [r1]
ldr r3, _02264DB8 ; =ov12_0226D3D8
lsl r2, r1, #2
ldrh r3, [r3, r2]
ldr r1, [r4, #4]
add r3, r6, r3
add r1, r1, r3
ldr r3, _02264DC8 ; =ov12_0226D3DA
ldrh r2, [r3, r2]
bl MIi_CpuCopy16
mov r0, #0x26
bl ov12_02265B58
add r2, r5, #0
add r2, #0x25
ldrb r2, [r2]
ldr r1, [r4, #4]
lsl r3, r2, #2
ldr r2, _02264DB8 ; =ov12_0226D3D8
ldrh r2, [r2, r3]
add r2, r6, r2
add r2, #0x20
add r1, r1, r2
mov r2, #0x20
bl MIi_CpuCopy16
ldr r1, [r5, #0x28]
add r0, r5, #0
mov r2, #1
bl ov12_0226498C
_02264DB0:
pop {r4, r5, r6, pc}
nop
_02264DB4: .word ov12_0226D3A8
_02264DB8: .word ov12_0226D3D8
_02264DBC: .word ov12_0226D408
_02264DC0: .word ov12_0226D40A
_02264DC4: .word ov12_0226D3AA
_02264DC8: .word ov12_0226D3DA
thumb_func_end ov12_02264C84
thumb_func_start ov12_02264DCC
ov12_02264DCC: ; 0x02264DCC
mov r2, #2
lsl r2, r2, #0x1e
str r2, [r0, #0x34]
ldr r3, [r0, #0x28]
add r2, r3, r1
bpl _02264DDA
sub r1, r1, r2
_02264DDA:
ldr r2, [r0, #0x2c]
add r3, r3, r1
cmp r3, r2
ble _02264DE6
sub r2, r3, r2
sub r1, r1, r2
_02264DE6:
neg r1, r1
str r1, [r0, #0x30]
ldr r1, [r0, #0x28]
cmp r1, #0
bge _02264DF4
mov r1, #0
str r1, [r0, #0x28]
_02264DF4:
ldr r2, [r0, #0x2c]
ldr r1, [r0, #0x28]
cmp r1, r2
ble _02264DFE
str r2, [r0, #0x28]
_02264DFE:
bx lr
thumb_func_end ov12_02264DCC
thumb_func_start ov12_02264E00
ov12_02264E00: ; 0x02264E00
push {r3, r4, r5, lr}
mov r1, #0
add r5, r0, #0
bl ov12_022657E4
add r4, r0, #0
mov r0, #0
mvn r0, r0
cmp r4, r0
bne _02264E26
ldr r1, [r5, #0x28]
ldr r0, [r5, #0x30]
mov r2, #2
sub r1, r1, r0
add r0, r5, #0
str r1, [r5, #0x28]
bl ov12_0226498C
b _02264E30
_02264E26:
add r0, r5, #0
add r1, r4, #0
mov r2, #2
bl ov12_0226498C
_02264E30:
add r0, r4, #0
pop {r3, r4, r5, pc}
thumb_func_end ov12_02264E00
thumb_func_start ov12_02264E34
ov12_02264E34: ; 0x02264E34
mov r2, #2
lsl r2, r2, #0x1e
str r2, [r0, #0x44]
ldr r3, [r0, #0x38]
add r2, r3, r1
bpl _02264E42
sub r1, r1, r2
_02264E42:
ldr r2, [r0, #0x3c]
add r3, r3, r1
cmp r3, r2
ble _02264E4E
sub r2, r3, r2
sub r1, r1, r2
_02264E4E:
neg r1, r1
str r1, [r0, #0x40]
ldr r1, [r0, #0x38]
cmp r1, #0
bge _02264E5C
mov r1, #0
str r1, [r0, #0x38]
_02264E5C:
ldr r2, [r0, #0x3c]
ldr r1, [r0, #0x38]
cmp r1, r2
ble _02264E66
str r2, [r0, #0x38]
_02264E66:
bx lr
thumb_func_end ov12_02264E34
thumb_func_start ov12_02264E68
ov12_02264E68: ; 0x02264E68
push {r4, lr}
mov r1, #1
add r4, r0, #0
bl ov12_022657E4
mov r1, #0
mvn r1, r1
cmp r0, r1
bne _02264E82
ldr r2, [r4, #0x38]
ldr r1, [r4, #0x40]
sub r1, r2, r1
str r1, [r4, #0x38]
_02264E82:
pop {r4, pc}
thumb_func_end ov12_02264E68
thumb_func_start ov12_02264E84
ov12_02264E84: ; 0x02264E84
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #8]
cmp r0, #0
beq _02264E9E
ldr r0, [r0]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
add r0, r4, #0
mov r1, #1
bl ov12_02264F00
_02264E9E:
ldr r0, [r4, #0xc]
bl BattleSys_GetBattleType
mov r1, #0x22
lsl r1, r1, #4
tst r0, r1
bne _02264EB2
add r0, r4, #0
bl ov12_02265D78
_02264EB2:
pop {r4, pc}
thumb_func_end ov12_02264E84
thumb_func_start ov12_02264EB4
ov12_02264EB4: ; 0x02264EB4
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #8]
cmp r0, #0
beq _02264ED8
ldr r0, [r0]
mov r1, #0
bl Set2dSpriteAnimActiveFlag
ldr r0, [r4, #8]
mov r1, #0
ldr r0, [r0]
bl sub_020249D4
add r0, r4, #0
mov r1, #0
bl ov12_02264F00
_02264ED8:
add r0, r4, #0
bl ov12_02265DA0
pop {r4, pc}
thumb_func_end ov12_02264EB4
thumb_func_start ov12_02264EE0
ov12_02264EE0: ; 0x02264EE0
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #4]
add r4, r1, #0
cmp r0, #0
beq _02264EFC
bl sub_0200DD54
ldr r0, [r5, #8]
cmp r0, #0
beq _02264EFC
add r1, r4, #0
bl sub_0200DD54
_02264EFC:
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov12_02264EE0
thumb_func_start ov12_02264F00
ov12_02264F00: ; 0x02264F00
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #8]
add r4, r1, #0
cmp r0, #0
beq _02264F26
ldr r0, [r5, #0xc]
bl BattleSys_GetBattleType
mov r1, #0x22
lsl r1, r1, #4
tst r0, r1
beq _02264F1E
cmp r4, #1
beq _02264F26
_02264F1E:
ldr r0, [r5, #8]
add r1, r4, #0
bl sub_0200DCE8
_02264F26:
pop {r3, r4, r5, pc}
thumb_func_end ov12_02264F00
thumb_func_start ov12_02264F28
ov12_02264F28: ; 0x02264F28
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #4]
add r4, r1, #0
cmp r0, #0
beq _02264F40
bl sub_0200DCE8
add r0, r5, #0
add r1, r4, #0
bl ov12_02264F00
_02264F40:
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov12_02264F28
thumb_func_start ov12_02264F44
ov12_02264F44: ; 0x02264F44
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #4]
add r6, r1, #0
add r7, r2, #0
cmp r0, #0
bne _02264F56
bl GF_AssertFail
_02264F56:
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
bl ov12_02265BB8
add r4, r0, #0
mov r1, #0
mov r2, #2
ldrsh r1, [r4, r1]
ldrsh r2, [r4, r2]
ldr r0, [r5, #4]
add r1, r1, r6
add r2, r2, r7
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r0, [r0]
asr r1, r1, #0x10
asr r2, r2, #0x10
bl sub_0200DD88
ldr r0, [r5, #8]
cmp r0, #0
beq _02264FA8
add r5, #0x25
ldrb r3, [r5]
mov r1, #0
ldr r2, _02264FAC ; =ov12_0226D368
ldrsh r1, [r4, r1]
ldrsb r2, [r2, r3]
ldr r0, [r0]
add r1, r1, r6
sub r1, r1, r2
mov r2, #2
ldrsh r2, [r4, r2]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add r2, r2, r7
lsl r2, r2, #0x10
asr r2, r2, #0x10
bl sub_0200DD88
_02264FA8:
pop {r3, r4, r5, r6, r7, pc}
nop
_02264FAC: .word ov12_0226D368
thumb_func_end ov12_02264F44
thumb_func_start ov12_02264FB0
ov12_02264FB0: ; 0x02264FB0
push {r3, r4, r5, lr}
add r4, r0, #0
add r5, r1, #0
cmp r4, #0
bne _02264FBE
bl GF_AssertFail
_02264FBE:
ldr r0, [r4, #4]
cmp r0, #0
bne _02264FC8
bl GF_AssertFail
_02264FC8:
add r0, r4, #0
add r0, #0x4f
ldrb r1, [r0]
mov r0, #2
bic r1, r0
add r0, r4, #0
add r0, #0x4f
strb r1, [r0]
add r0, r4, #0
add r0, #0x4f
ldrb r0, [r0]
mov r1, #1
bic r0, r1
lsl r1, r5, #0x18
lsr r2, r1, #0x18
mov r1, #1
and r1, r2
orr r1, r0
add r0, r4, #0
add r0, #0x4f
strb r1, [r0]
cmp r5, #0
bne _02265036
add r0, r4, #0
add r0, #0x25
ldrb r0, [r0]
cmp r0, #7
bhi _02265028
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0226500C: ; jump table
.short _0226501C - _0226500C - 2 ; case 0
.short _02265028 - _0226500C - 2 ; case 1
.short _0226501C - _0226500C - 2 ; case 2
.short _02265028 - _0226500C - 2 ; case 3
.short _0226501C - _0226500C - 2 ; case 4
.short _02265028 - _0226500C - 2 ; case 5
.short _0226501C - _0226500C - 2 ; case 6
.short _0226501C - _0226500C - 2 ; case 7
_0226501C:
add r0, r4, #0
mov r1, #0xa0
mov r2, #0
bl ov12_02264F44
b _02265040
_02265028:
mov r1, #0x9f
add r0, r4, #0
mvn r1, r1
mov r2, #0
bl ov12_02264F44
b _02265040
_02265036:
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl ov12_02264F44
_02265040:
ldr r0, _0226504C ; =ov12_02265054
ldr r2, _02265050 ; =0x000003DE
add r1, r4, #0
bl CreateSysTask
pop {r3, r4, r5, pc}
.balign 4, 0
_0226504C: .word ov12_02265054
_02265050: .word 0x000003DE
thumb_func_end ov12_02264FB0
thumb_func_start ov12_02265054
ov12_02265054: ; 0x02265054
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r7, r0, #0
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
mov r4, #0
bl ov12_02265BB8
add r6, r0, #0
add r1, sp, #0
ldr r0, [r5, #4]
add r1, #2
add r2, sp, #0
bl sub_0200DE44
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
cmp r0, #7
bhi _022650DA
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0226508A: ; jump table
.short _0226509A - _0226508A - 2 ; case 0
.short _022650DA - _0226508A - 2 ; case 1
.short _0226509A - _0226508A - 2 ; case 2
.short _022650DA - _0226508A - 2 ; case 3
.short _0226509A - _0226508A - 2 ; case 4
.short _022650DA - _0226508A - 2 ; case 5
.short _0226509A - _0226508A - 2 ; case 6
.short _0226509A - _0226508A - 2 ; case 7
_0226509A:
add r0, r5, #0
add r0, #0x4f
ldrb r0, [r0]
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
add r0, sp, #0
bne _022650C0
mov r1, #2
ldrsh r2, [r0, r1]
sub r2, #0x18
strh r2, [r0, #2]
add r2, r4, #0
ldrsh r1, [r0, r1]
ldrsh r2, [r6, r2]
cmp r1, r2
bge _02265118
strh r2, [r0, #2]
add r4, r4, #1
b _02265118
_022650C0:
mov r1, #2
ldrsh r2, [r0, r1]
add r2, #0x18
strh r2, [r0, #2]
add r2, r4, #0
ldrsh r2, [r6, r2]
ldrsh r1, [r0, r1]
add r2, #0xa0
cmp r1, r2
ble _02265118
strh r2, [r0, #2]
add r4, r4, #1
b _02265118
_022650DA:
add r0, r5, #0
add r0, #0x4f
ldrb r0, [r0]
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
add r0, sp, #0
bne _02265100
mov r1, #2
ldrsh r2, [r0, r1]
add r2, #0x18
strh r2, [r0, #2]
mov r2, #0
ldrsh r1, [r0, r1]
ldrsh r2, [r6, r2]
cmp r1, r2
ble _02265118
strh r2, [r0, #2]
add r4, r4, #1
b _02265118
_02265100:
mov r1, #2
ldrsh r2, [r0, r1]
sub r2, #0x18
strh r2, [r0, #2]
mov r2, #0
ldrsh r2, [r6, r2]
ldrsh r1, [r0, r1]
sub r2, #0x18
cmp r1, r2
bge _02265118
strh r2, [r0, #2]
add r4, r4, #1
_02265118:
add r2, sp, #0
mov r1, #2
mov r3, #0
ldrsh r1, [r2, r1]
ldrsh r2, [r2, r3]
ldr r0, [r5, #4]
bl sub_0200DDB8
ldr r0, [r5, #8]
cmp r0, #0
beq _0226514C
add r6, sp, #0
mov r1, #2
ldrsh r3, [r6, r1]
add r1, r5, #0
add r1, #0x25
ldrb r2, [r1]
ldr r1, _02265168 ; =ov12_0226D368
ldrsb r1, [r1, r2]
mov r2, #0
ldrsh r2, [r6, r2]
sub r1, r3, r1
lsl r1, r1, #0x10
asr r1, r1, #0x10
bl sub_0200DDB8
_0226514C:
cmp r4, #0
ble _02265164
add r0, r5, #0
add r0, #0x4f
ldrb r1, [r0]
mov r0, #2
add r5, #0x4f
orr r0, r1
strb r0, [r5]
add r0, r7, #0
bl DestroySysTask
_02265164:
pop {r3, r4, r5, r6, r7, pc}
nop
_02265168: .word ov12_0226D368
thumb_func_end ov12_02265054
thumb_func_start ov12_0226516C
ov12_0226516C: ; 0x0226516C
push {r4, r5, r6, r7, lr}
sub sp, #0x34
add r5, r0, #0
ldr r0, [r5, #0xc]
bl ov12_0223A7D4
add r6, r0, #0
ldr r0, [r5, #0xc]
bl ov12_0223A930
add r7, r0, #0
ldr r0, [r5, #0xc]
bl ov12_0223A9A4
add r4, r0, #0
mov r0, #0x16
mov r1, #5
bl String_New
mov r1, #0xf1
str r0, [sp, #0x18]
add r0, r7, #0
lsl r1, r1, #2
bl NewString_ReadMsgData
add r1, r5, #0
add r2, r5, #0
add r1, #0x24
add r2, #0x26
str r0, [sp, #0x1c]
ldrb r1, [r1]
ldrb r2, [r2]
ldr r0, [r5, #0xc]
bl BattleSystem_GetPartyMon
bl Mon_GetBoxMon
add r2, r0, #0
add r0, r4, #0
mov r1, #0
bl BufferBoxMonNickname
ldr r1, [sp, #0x18]
ldr r2, [sp, #0x1c]
add r0, r4, #0
bl StringExpandPlaceholders
mov r0, #0
str r0, [sp]
mov r0, #0xf
str r0, [sp, #4]
add r0, r6, #0
add r1, sp, #0x24
mov r2, #8
mov r3, #2
bl AddTextWindowTopLeftCorner
mov r1, #0
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _022652AC ; =0x000E020F
ldr r2, [sp, #0x18]
str r0, [sp, #8]
str r1, [sp, #0xc]
str r1, [sp, #0x10]
str r1, [sp, #0x14]
add r0, sp, #0x24
add r3, r1, #0
bl AddTextPrinterParameterized3
ldr r0, [r5, #4]
ldr r6, [sp, #0x30]
ldr r0, [r0]
bl sub_02024B1C
add r4, r0, #0
mov r0, #1
lsl r0, r0, #8
add r0, r6, r0
str r0, [sp, #0x20]
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
ldr r1, _022652B0 ; =ov12_0226D680
ldr r3, [r4, #4]
lsl r7, r0, #4
ldrh r2, [r1, r7]
mov r1, #0x19
lsl r1, r1, #0x16
add r1, r1, r2
ldr r2, _022652B4 ; =ov12_0226D682
add r0, r6, #0
ldrh r2, [r2, r7]
add r1, r3, r1
bl MIi_CpuCopy16
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
ldr r1, _022652B8 ; =ov12_0226D684
ldr r3, [r4, #4]
lsl r7, r0, #4
ldrh r2, [r1, r7]
mov r1, #0x19
lsl r1, r1, #0x16
add r1, r1, r2
ldr r2, _022652BC ; =ov12_0226D686
ldr r0, [sp, #0x20]
ldrh r2, [r2, r7]
add r1, r3, r1
bl MIi_CpuCopy16
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
ldr r3, _022652C0 ; =ov12_0226D688
ldr r1, [r4, #4]
lsl r2, r0, #4
ldr r0, _022652B4 ; =ov12_0226D682
ldrh r0, [r0, r2]
add r0, r6, r0
ldrh r6, [r3, r2]
mov r3, #0x19
lsl r3, r3, #0x16
add r3, r3, r6
add r1, r1, r3
ldr r3, _022652C4 ; =ov12_0226D68A
ldrh r2, [r3, r2]
bl MIi_CpuCopy16
add r5, #0x25
ldrb r0, [r5]
ldr r4, [r4, #4]
lsl r2, r0, #4
ldr r0, _022652BC ; =ov12_0226D686
ldrh r1, [r0, r2]
ldr r0, [sp, #0x20]
add r0, r0, r1
ldr r1, _022652C8 ; =ov12_0226D68C
ldrh r3, [r1, r2]
mov r1, #0x19
lsl r1, r1, #0x16
add r1, r1, r3
ldr r3, _022652CC ; =ov12_0226D68E
add r1, r4, r1
ldrh r2, [r3, r2]
bl MIi_CpuCopy16
add r0, sp, #0x24
bl RemoveWindow
ldr r0, [sp, #0x18]
bl String_dtor
ldr r0, [sp, #0x1c]
bl String_dtor
add sp, #0x34
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_022652AC: .word 0x000E020F
_022652B0: .word ov12_0226D680
_022652B4: .word ov12_0226D682
_022652B8: .word ov12_0226D684
_022652BC: .word ov12_0226D686
_022652C0: .word ov12_0226D688
_022652C4: .word ov12_0226D68A
_022652C8: .word ov12_0226D68C
_022652CC: .word ov12_0226D68E
thumb_func_end ov12_0226516C
thumb_func_start ov12_022652D0
ov12_022652D0: ; 0x022652D0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x49
ldrb r0, [r0]
cmp r0, #0
bne _022652E2
mov r0, #0x4a
mov r4, #0x3e
b _022652F0
_022652E2:
cmp r0, #1
bne _022652EC
mov r0, #0x48
mov r4, #0x3c
b _022652F0
_022652EC:
mov r0, #0x4c
mov r4, #0x40
_022652F0:
bl ov12_02265B58
str r0, [sp]
add r0, r4, #0
bl ov12_02265B58
add r7, r0, #0
ldr r0, [r5, #4]
ldr r0, [r0]
bl sub_02024B1C
add r4, r0, #0
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
mov r6, #0x19
ldr r3, _02265344 ; =ov12_0226D4B0
lsl r2, r0, #3
ldrh r3, [r3, r2]
lsl r6, r6, #0x16
ldr r1, [r4, #4]
add r3, r6, r3
add r1, r1, r3
ldr r3, _02265348 ; =ov12_0226D4B2
add r0, r7, #0
ldrh r2, [r3, r2]
bl MIi_CpuCopy16
add r5, #0x25
ldrb r0, [r5]
ldr r1, _0226534C ; =ov12_0226D4B4
ldr r3, [r4, #4]
lsl r2, r0, #3
ldrh r1, [r1, r2]
ldr r0, [sp]
add r1, r6, r1
add r1, r3, r1
ldr r3, _02265350 ; =ov12_0226D4B6
ldrh r2, [r3, r2]
bl MIi_CpuCopy16
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02265344: .word ov12_0226D4B0
_02265348: .word ov12_0226D4B2
_0226534C: .word ov12_0226D4B4
_02265350: .word ov12_0226D4B6
thumb_func_end ov12_022652D0
thumb_func_start ov12_02265354
ov12_02265354: ; 0x02265354
push {r4, r5, r6, r7, lr}
sub sp, #0xc
str r0, [sp, #4]
mov r0, #5
mov r1, #0x60
bl AllocFromHeap
add r4, r0, #0
mov r0, #5
mov r1, #0xc0
bl AllocFromHeap
add r7, r0, #0
add r0, r4, #0
mov r1, #0xff
mov r2, #0x60
bl MI_CpuFill8
ldr r0, [sp, #4]
ldr r0, [r0, #0xc]
bl ov12_0223A928
ldr r1, [sp, #4]
str r4, [sp]
add r1, #0x48
ldrb r1, [r1]
mov r2, #3
mov r3, #0
bl sub_0200CEB0
ldr r0, [sp, #4]
ldr r0, [r0, #4]
ldr r0, [r0]
bl sub_02024B1C
str r0, [sp, #8]
ldr r0, [sp, #4]
ldr r1, _02265464 ; =ov12_0226D420
add r0, #0x25
ldrb r0, [r0]
lsl r2, r0, #3
ldrh r3, [r1, r2]
mov r1, #0x19
lsl r1, r1, #0x16
ldr r0, [sp, #8]
add r1, r1, r3
ldr r3, _02265468 ; =ov12_0226D422
ldr r0, [r0, #4]
ldrh r2, [r3, r2]
add r0, r0, r1
add r1, r7, #0
bl MIi_CpuCopy16
ldr r0, [sp, #4]
ldr r1, _0226546C ; =ov12_0226D424
add r0, #0x25
ldrb r0, [r0]
lsl r2, r0, #3
ldrh r3, [r1, r2]
mov r1, #0x19
ldr r0, [sp, #8]
lsl r1, r1, #0x16
add r1, r1, r3
ldr r3, _02265470 ; =ov12_0226D426
ldr r0, [r0, #4]
ldrh r2, [r3, r2]
add r0, r0, r1
add r1, r7, #0
add r1, #0x60
bl MIi_CpuCopy16
mov r2, #0
add r1, r2, #0
_022653E6:
mov r0, #0
add r3, r7, r1
_022653EA:
ldrb r5, [r4, r2]
add r6, r4, r2
add r0, r0, #1
strb r5, [r3, #0x10]
ldrb r6, [r6, #0x10]
add r5, r3, #0
add r5, #0x60
strb r6, [r5]
add r2, r2, #1
add r3, r3, #1
cmp r0, #0x10
blt _022653EA
add r1, #0x20
add r2, #0x10
cmp r1, #0x60
blt _022653E6
ldr r0, [sp, #4]
ldr r1, [sp, #8]
add r0, #0x25
ldrb r0, [r0]
ldr r3, _02265464 ; =ov12_0226D420
ldr r1, [r1, #4]
lsl r2, r0, #3
ldrh r5, [r3, r2]
mov r3, #0x19
lsl r3, r3, #0x16
add r3, r3, r5
add r1, r1, r3
ldr r3, _02265468 ; =ov12_0226D422
add r0, r7, #0
ldrh r2, [r3, r2]
bl MIi_CpuCopy16
ldr r0, [sp, #4]
ldr r3, _0226546C ; =ov12_0226D424
add r0, #0x25
str r0, [sp, #4]
ldrb r0, [r0]
ldr r1, [sp, #8]
lsl r2, r0, #3
ldrh r5, [r3, r2]
mov r3, #0x19
lsl r3, r3, #0x16
add r0, r7, #0
ldr r1, [r1, #4]
add r3, r3, r5
add r1, r1, r3
ldr r3, _02265470 ; =ov12_0226D426
add r0, #0x60
ldrh r2, [r3, r2]
bl MIi_CpuCopy16
add r0, r4, #0
bl FreeToHeap
add r0, r7, #0
bl FreeToHeap
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
_02265464: .word ov12_0226D420
_02265468: .word ov12_0226D422
_0226546C: .word ov12_0226D424
_02265470: .word ov12_0226D426
thumb_func_end ov12_02265354
thumb_func_start ov12_02265474
ov12_02265474: ; 0x02265474
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
mov r0, #5
mov r1, #0x60
bl AllocFromHeap
mov r1, #0xff
mov r2, #0x60
add r4, r0, #0
bl MI_CpuFill8
ldr r0, [r5, #0xc]
bl ov12_0223A920
str r4, [sp]
add r1, r6, #0
mov r2, #3
mov r3, #1
bl sub_0200CEB0
ldr r0, [r5, #4]
ldr r0, [r0]
bl sub_02024B1C
add r6, r0, #0
add r0, r5, #0
add r0, #0x25
ldrb r0, [r0]
mov r7, #0x19
ldr r3, _022654F0 ; =ov12_0226D450
lsl r2, r0, #3
ldrh r3, [r3, r2]
lsl r7, r7, #0x16
ldr r1, [r6, #4]
add r3, r7, r3
add r1, r1, r3
ldr r3, _022654F4 ; =ov12_0226D452
add r0, r4, #0
ldrh r2, [r3, r2]
bl MIi_CpuCopy16
add r5, #0x25
ldrb r0, [r5]
ldr r3, _022654F8 ; =ov12_0226D454
ldr r1, [r6, #4]
lsl r2, r0, #3
ldrh r3, [r3, r2]
ldr r0, _022654F4 ; =ov12_0226D452
add r3, r7, r3
add r1, r1, r3
ldrh r0, [r0, r2]
ldr r3, _022654FC ; =ov12_0226D456
ldrh r2, [r3, r2]
add r0, r4, r0
bl MIi_CpuCopy16
add r0, r4, #0
bl FreeToHeap
pop {r3, r4, r5, r6, r7, pc}
nop
_022654F0: .word ov12_0226D450
_022654F4: .word ov12_0226D452
_022654F8: .word ov12_0226D454
_022654FC: .word ov12_0226D456
thumb_func_end ov12_02265474
thumb_func_start ov12_02265500
ov12_02265500: ; 0x02265500
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #5
mov r1, #0x60
bl AllocFromHeap
mov r1, #0xff
mov r2, #0x60
add r4, r0, #0
bl MI_CpuFill8
ldr r0, [r5, #0xc]
bl ov12_0223A920
str r4, [sp]
ldr r1, [r5, #0x2c]
mov r2, #3
mov r3, #0
bl sub_0200CEB0
ldr r0, [r5, #4]
ldr r0, [r0]
bl sub_02024B1C
add r1, r0, #0
add r5, #0x25
ldrb r0, [r5]
ldr r3, _02265558 ; =ov12_0226D3F0
ldr r1, [r1, #4]
lsl r2, r0, #2
ldrh r5, [r3, r2]
mov r3, #0x19
lsl r3, r3, #0x16
add r3, r5, r3
add r1, r1, r3
ldr r3, _0226555C ; =ov12_0226D3F2
add r0, r4, #0
ldrh r2, [r3, r2]
bl MIi_CpuCopy16
add r0, r4, #0
bl FreeToHeap
pop {r3, r4, r5, pc}
.balign 4, 0
_02265558: .word ov12_0226D3F0
_0226555C: .word ov12_0226D3F2
thumb_func_end ov12_02265500
thumb_func_start ov12_02265560
ov12_02265560: ; 0x02265560
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x4b
ldrb r0, [r0]
cmp r0, #1
bne _02265574
mov r0, #0x3b
bl ov12_02265B58
b _0226557A
_02265574:
mov r0, #0x26
bl ov12_02265B58
_0226557A:
add r4, r0, #0
ldr r0, [r5, #4]
ldr r0, [r0]
bl sub_02024B1C
add r5, #0x25
add r1, r0, #0
ldrb r0, [r5]
lsl r2, r0, #2
add r0, r4, #0
ldr r4, [r1, #4]
ldr r1, _022655A8 ; =ov12_0226D3C0
ldrh r3, [r1, r2]
mov r1, #0x19
lsl r1, r1, #0x16
add r1, r3, r1
ldr r3, _022655AC ; =ov12_0226D3C2
add r1, r4, r1
ldrh r2, [r3, r2]
bl MIi_CpuCopy16
pop {r3, r4, r5, pc}
nop
_022655A8: .word ov12_0226D3C0
_022655AC: .word ov12_0226D3C2
thumb_func_end ov12_02265560
thumb_func_start ov12_022655B0
ov12_022655B0: ; 0x022655B0
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, r1, #0
bl ov12_02265B58
add r4, r0, #0
ldr r0, [r5, #4]
ldr r0, [r0]
bl sub_02024B1C
add r5, #0x25
add r1, r0, #0
ldrb r0, [r5]
lsl r2, r0, #2
add r0, r4, #0
ldr r4, [r1, #4]
ldr r1, _022655E8 ; =ov12_0226D390
ldrh r3, [r1, r2]
mov r1, #0x19
lsl r1, r1, #0x16
add r1, r3, r1
ldr r3, _022655EC ; =ov12_0226D392
add r1, r4, r1
ldrh r2, [r3, r2]
bl MIi_CpuCopy16
pop {r3, r4, r5, pc}
nop
_022655E8: .word ov12_0226D390
_022655EC: .word ov12_0226D392
thumb_func_end ov12_022655B0
thumb_func_start ov12_022655F0
ov12_022655F0: ; 0x022655F0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
add r4, r0, #0
ldr r0, [r4, #0xc]
add r5, r1, #0
bl ov12_0223A7D4
add r6, r0, #0
ldr r0, [r4, #0xc]
bl ov12_0223A930
mov r1, #1
lsl r1, r1, #0xa
add r2, r5, #0
tst r2, r1
beq _02265618
sub r1, #0x4a
bl NewString_ReadMsgData
b _0226561E
_02265618:
add r1, #0xc4
bl NewString_ReadMsgData
_0226561E:
add r7, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #0xf
str r0, [sp, #4]
add r0, r6, #0
add r1, sp, #0x18
mov r2, #0xd
mov r3, #2
bl AddTextWindowTopLeftCorner
mov r1, #0
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _022656C8 ; =0x000E020F
add r2, r7, #0
str r0, [sp, #8]
str r1, [sp, #0xc]
str r1, [sp, #0x10]
str r1, [sp, #0x14]
add r0, sp, #0x18
add r3, r1, #0
bl AddTextPrinterParameterized3
ldr r0, [r4, #4]
ldr r5, [sp, #0x24]
ldr r0, [r0]
bl sub_02024B1C
add r4, r0, #0
mov r2, #0x1a
mov r6, #0x19
lsl r2, r2, #4
lsl r6, r6, #0x16
add r2, #0xa0
ldr r1, [r4, #4]
add r2, r6, r2
add r1, r1, r2
add r0, r5, #0
mov r2, #0xc0
bl MIi_CpuCopy16
mov r2, #0xd
mov r0, #0x1a
lsl r2, r2, #6
lsl r0, r0, #4
ldr r1, [r4, #4]
add r2, r6, r2
add r1, r1, r2
add r0, r5, r0
mov r2, #0xc0
bl MIi_CpuCopy16
mov r2, #0xa
lsl r2, r2, #8
add r0, r5, #0
ldr r1, [r4, #4]
add r2, r6, r2
add r1, r1, r2
add r0, #0xc0
mov r2, #0xe0
bl MIi_CpuCopy16
mov r0, #0x1a
mov r1, #0xb
lsl r0, r0, #4
lsl r1, r1, #8
add r0, r5, r0
ldr r2, [r4, #4]
add r1, r6, r1
add r1, r2, r1
add r0, #0xc0
mov r2, #0xe0
bl MIi_CpuCopy16
add r0, sp, #0x18
bl RemoveWindow
add r0, r7, #0
bl String_dtor
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
nop
_022656C8: .word 0x000E020F
thumb_func_end ov12_022655F0
thumb_func_start ov12_022656CC
ov12_022656CC: ; 0x022656CC
push {r4, r5, r6, r7, lr}
sub sp, #0x34
add r4, r0, #0
ldr r0, [r4, #0xc]
add r5, r1, #0
bl ov12_0223A7D4
str r0, [sp, #0x1c]
ldr r0, [r4, #0xc]
bl ov12_0223A930
str r0, [sp, #0x20]
ldr r0, [r4, #0xc]
bl ov12_0223A9A4
add r7, r0, #0
mov r0, #0x1e
mov r1, #5
bl String_New
mov r1, #1
add r6, r0, #0
lsl r1, r1, #0xa
add r0, r5, #0
tst r0, r1
beq _0226570C
ldr r0, [sp, #0x20]
sub r1, #0x49
bl NewString_ReadMsgData
str r0, [sp, #0x18]
b _02265716
_0226570C:
ldr r0, [sp, #0x20]
add r1, #0xc5
bl NewString_ReadMsgData
str r0, [sp, #0x18]
_02265716:
mov r0, #1
str r0, [sp]
add r2, r4, #0
str r0, [sp, #4]
add r2, #0x27
ldrb r2, [r2]
add r0, r7, #0
mov r1, #0
mov r3, #2
bl BufferIntegerAsString
ldr r2, [sp, #0x18]
add r0, r7, #0
add r1, r6, #0
bl StringExpandPlaceholders
mov r0, #0
str r0, [sp]
mov r0, #0xf
str r0, [sp, #4]
ldr r0, [sp, #0x1c]
add r1, sp, #0x24
mov r2, #0xd
mov r3, #2
bl AddTextWindowTopLeftCorner
mov r1, #0
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _022657E0 ; =0x000E020F
add r2, r6, #0
str r0, [sp, #8]
str r1, [sp, #0xc]
str r1, [sp, #0x10]
str r1, [sp, #0x14]
add r0, sp, #0x24
add r3, r1, #0
bl AddTextPrinterParameterized3
ldr r0, [r4, #4]
ldr r5, [sp, #0x30]
ldr r0, [r0]
bl sub_02024B1C
add r4, r0, #0
mov r7, #0x19
mov r2, #0x11
lsl r7, r7, #0x16
lsl r2, r2, #6
ldr r1, [r4, #4]
add r2, r7, r2
add r1, r1, r2
add r0, r5, #0
mov r2, #0xc0
bl MIi_CpuCopy16
mov r2, #0x15
mov r0, #0x1a
lsl r2, r2, #6
lsl r0, r0, #4
ldr r1, [r4, #4]
add r2, r7, r2
add r1, r1, r2
add r0, r5, r0
mov r2, #0xc0
bl MIi_CpuCopy16
mov r2, #3
lsl r2, r2, #0xa
add r0, r5, #0
ldr r1, [r4, #4]
add r2, r7, r2
add r1, r1, r2
add r0, #0xc0
mov r2, #0xe0
bl MIi_CpuCopy16
mov r0, #0x1a
mov r1, #0xd
lsl r0, r0, #4
lsl r1, r1, #8
add r0, r5, r0
ldr r2, [r4, #4]
add r1, r7, r1
add r1, r2, r1
add r0, #0xc0
mov r2, #0xe0
bl MIi_CpuCopy16
add r0, sp, #0x24
bl RemoveWindow
add r0, r6, #0
bl String_dtor
ldr r0, [sp, #0x18]
bl String_dtor
add sp, #0x34
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_022657E0: .word 0x000E020F
thumb_func_end ov12_022656CC
thumb_func_start ov12_022657E4
ov12_022657E4: ; 0x022657E4
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
add r4, r1, #0
bne _02265808
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
add r3, r5, #0
ldr r0, [r5, #0x2c]
ldr r1, [r5, #0x28]
ldr r2, [r5, #0x30]
add r3, #0x34
bl ov12_022659E0
add r6, r0, #0
b _02265840
_02265808:
ldr r0, [r5, #0x38]
ldr r1, [r5, #0x40]
ldr r2, [r5, #0x3c]
mov r3, #0xc
bl ov12_02265B18
add r1, r0, #0
bne _0226581A
mov r1, #1
_0226581A:
ldr r6, [r5, #0x40]
add r0, r6, #0
bl _s32_div_f
bl abs
mov r1, #0xc
lsl r0, r0, #0x10
add r3, r5, #0
str r1, [sp]
lsr r0, r0, #0x10
str r0, [sp, #4]
ldr r0, [r5, #0x3c]
ldr r1, [r5, #0x38]
add r2, r6, #0
add r3, #0x44
bl ov12_022659E0
add r6, r0, #0
_02265840:
cmp r4, #0
bne _02265852
add r0, r5, #0
add r0, #0x4f
ldrb r0, [r0]
lsl r0, r0, #0x1c
lsr r0, r0, #0x1f
cmp r0, #1
beq _0226585C
_02265852:
lsl r1, r4, #0x18
add r0, r5, #0
lsr r1, r1, #0x18
bl ov12_02265878
_0226585C:
mov r0, #0
mvn r0, r0
cmp r6, r0
bne _02265872
cmp r4, #0
bne _0226586E
mov r0, #0
str r0, [r5, #0x34]
b _02265872
_0226586E:
mov r0, #0
str r0, [r5, #0x44]
_02265872:
add r0, r6, #0
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end ov12_022657E4
thumb_func_start ov12_02265878
ov12_02265878: ; 0x02265878
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r6, r0, #0
ldr r0, [r6, #4]
add r4, r1, #0
ldr r0, [r0]
bl sub_02024B1C
add r5, r0, #0
cmp r4, #0
beq _02265896
cmp r4, #1
beq _02265948
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
_02265896:
add r0, sp, #0x10
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
add r3, r6, #0
ldr r0, [r6, #0x2c]
ldr r1, [r6, #0x28]
ldr r2, [r6, #0x30]
add r3, #0x34
bl ov12_02265A9C
mov r1, #0x30
bl sub_02088080
cmp r0, #1
beq _022658C6
cmp r0, #2
beq _022658C2
cmp r0, #3
bne _022658C6
mov r0, #2
b _022658C8
_022658C2:
mov r0, #0xb
b _022658C8
_022658C6:
mov r0, #0x14
_022658C8:
bl ov12_02265B58
str r0, [sp, #0xc]
add r0, r6, #0
add r0, #0x25
ldrb r0, [r0]
mov r4, #0
lsl r1, r0, #3
ldr r0, _022659D8 ; =ov12_0226D482
ldrh r0, [r0, r1]
lsr r7, r0, #5
_022658DE:
cmp r4, r7
add r0, sp, #0x10
bge _0226590E
add r2, r6, #0
add r2, #0x25
ldrb r2, [r2]
ldrb r0, [r0, r4]
lsl r3, r2, #3
ldr r2, _022659DC ; =ov12_0226D480
lsl r1, r0, #5
ldrh r3, [r2, r3]
ldr r0, [sp, #0xc]
mov r2, #0x19
lsl r2, r2, #0x16
add r0, r0, r1
add r3, r2, r3
lsl r2, r4, #5
ldr r1, [r5, #4]
add r2, r3, r2
add r1, r1, r2
mov r2, #0x20
bl MIi_CpuCopy16
b _0226593A
_0226590E:
ldrb r0, [r0, r4]
ldr r2, [r5, #4]
lsl r1, r0, #5
ldr r0, [sp, #0xc]
add r0, r0, r1
add r1, r6, #0
add r1, #0x25
ldrb r1, [r1]
lsl r3, r1, #3
ldr r1, _022659DC ; =ov12_0226D480
add r1, r1, r3
ldrh r3, [r1, #4]
mov r1, #0x19
lsl r1, r1, #0x16
add r1, r1, r3
sub r3, r4, r7
lsl r3, r3, #5
add r1, r1, r3
add r1, r2, r1
mov r2, #0x20
bl MIi_CpuCopy16
_0226593A:
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, #6
blo _022658DE
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
_02265948:
add r0, sp, #0x10
str r0, [sp]
mov r0, #0xc
str r0, [sp, #4]
add r3, r6, #0
ldr r0, [r6, #0x3c]
ldr r1, [r6, #0x38]
ldr r2, [r6, #0x40]
add r3, #0x44
bl ov12_02265A9C
add r6, #0x48
ldrb r0, [r6]
cmp r0, #0x64
bne _02265978
mov r0, #0
add r2, r0, #0
add r1, sp, #0x10
_0226596C:
strb r2, [r1, r0]
add r0, r0, #1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r0, #0xc
blo _0226596C
_02265978:
mov r0, #0x1d
bl ov12_02265B58
add r6, r0, #0
mov r1, #0x19
mov r0, #0x66
lsl r1, r1, #0x16
lsl r0, r0, #4
add r0, r1, r0
str r0, [sp, #8]
mov r0, #0xe
lsl r0, r0, #8
mov r4, #0
add r7, r1, r0
_02265994:
cmp r4, #5
add r0, sp, #0x10
bhs _022659B2
ldrb r0, [r0, r4]
ldr r1, [sp, #8]
lsl r2, r4, #5
lsl r0, r0, #5
add r1, r1, r2
ldr r3, [r5, #4]
add r0, r6, r0
add r1, r3, r1
mov r2, #0x20
bl MIi_CpuCopy16
b _022659C8
_022659B2:
ldrb r0, [r0, r4]
sub r2, r4, #5
lsl r2, r2, #5
lsl r0, r0, #5
ldr r1, [r5, #4]
add r2, r7, r2
add r1, r1, r2
add r0, r6, r0
mov r2, #0x20
bl MIi_CpuCopy16
_022659C8:
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, #0xc
blo _02265994
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
nop
_022659D8: .word ov12_0226D482
_022659DC: .word ov12_0226D480
thumb_func_end ov12_02265878
thumb_func_start ov12_022659E0
ov12_022659E0: ; 0x022659E0
push {r4, r5, r6, lr}
add r6, r2, #0
add r2, sp, #0
add r5, r3, #0
ldrb r2, [r2, #0x10]
mov r3, #2
ldr r4, [r5]
lsl r2, r2, #0x1b
lsl r3, r3, #0x1e
lsr r2, r2, #0x18
cmp r4, r3
bne _02265A04
cmp r0, r2
bge _02265A02
lsl r3, r1, #8
str r3, [r5]
b _02265A04
_02265A02:
str r1, [r5]
_02265A04:
sub r4, r1, r6
bpl _02265A0C
mov r4, #0
b _02265A12
_02265A0C:
cmp r4, r0
ble _02265A12
add r4, r0, #0
_02265A12:
cmp r0, r2
bge _02265A2A
ldr r3, [r5]
asr r1, r3, #8
cmp r4, r1
bne _02265A36
lsl r1, r3, #0x18
lsr r1, r1, #0x18
bne _02265A36
mov r0, #0
mvn r0, r0
pop {r4, r5, r6, pc}
_02265A2A:
ldr r1, [r5]
cmp r4, r1
bne _02265A36
mov r0, #0
mvn r0, r0
pop {r4, r5, r6, pc}
_02265A36:
cmp r0, r2
bge _02265A76
lsl r0, r0, #8
add r1, r2, #0
bl _s32_div_f
cmp r6, #0
ldr r1, [r5]
bge _02265A5A
add r0, r1, r0
str r0, [r5]
asr r0, r0, #8
cmp r0, r4
blt _02265A9A
lsl r0, r4, #8
str r0, [r5]
add r0, r4, #0
pop {r4, r5, r6, pc}
_02265A5A:
sub r1, r1, r0
str r1, [r5]
asr r0, r1, #8
lsl r1, r1, #0x18
lsr r1, r1, #0x18
cmp r1, #0
ble _02265A6A
add r0, r0, #1
_02265A6A:
cmp r0, r4
bgt _02265A9A
lsl r0, r4, #8
str r0, [r5]
add r0, r4, #0
pop {r4, r5, r6, pc}
_02265A76:
cmp r6, #0
ldr r1, [r5]
add r0, sp, #0
bge _02265A8C
ldrh r0, [r0, #0x14]
add r0, r1, r0
str r0, [r5]
cmp r0, r4
ble _02265A98
str r4, [r5]
b _02265A98
_02265A8C:
ldrh r0, [r0, #0x14]
sub r0, r1, r0
str r0, [r5]
cmp r0, r4
bge _02265A98
str r4, [r5]
_02265A98:
ldr r0, [r5]
_02265A9A:
pop {r4, r5, r6, pc}
thumb_func_end ov12_022659E0
thumb_func_start ov12_02265A9C
ov12_02265A9C: ; 0x02265A9C
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
ldr r5, [sp, #0x18]
sub r7, r1, r2
bpl _02265AAA
mov r7, #0
b _02265AB0
_02265AAA:
cmp r7, r6
ble _02265AB0
add r7, r6, #0
_02265AB0:
add r0, sp, #8
ldrb r4, [r0, #0x14]
mov r1, #0
lsl r2, r4, #3
cmp r4, #0
ble _02265AC6
add r0, r1, #0
_02265ABE:
strb r0, [r5, r1]
add r1, r1, #1
cmp r1, r4
blt _02265ABE
_02265AC6:
cmp r6, r2
ldr r1, [r3]
bhs _02265ADA
add r0, r1, #0
mul r0, r2
add r1, r6, #0
bl _u32_div_f
lsr r0, r0, #8
b _02265AE4
_02265ADA:
add r0, r1, #0
mul r0, r2
add r1, r6, #0
bl _u32_div_f
_02265AE4:
add r2, r0, #0
cmp r0, #0
bne _02265AF4
cmp r7, #0
ble _02265AF4
mov r2, #1
strb r2, [r5]
b _02265B10
_02265AF4:
mov r3, #0
cmp r4, #0
ble _02265B10
mov r1, #8
_02265AFC:
cmp r0, #8
blo _02265B06
strb r1, [r5, r3]
sub r0, #8
b _02265B0A
_02265B06:
strb r0, [r5, r3]
b _02265B10
_02265B0A:
add r3, r3, #1
cmp r3, r4
blt _02265AFC
_02265B10:
lsl r0, r2, #0x18
lsr r0, r0, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov12_02265A9C
thumb_func_start ov12_02265B18
ov12_02265B18: ; 0x02265B18
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
lsl r0, r3, #0x1b
add r5, r2, #0
lsr r6, r0, #0x18
sub r4, r7, r1
bpl _02265B2A
mov r4, #0
b _02265B30
_02265B2A:
cmp r4, r5
ble _02265B30
add r4, r5, #0
_02265B30:
add r0, r7, #0
mul r0, r6
add r1, r5, #0
bl _s32_div_f
add r7, r0, #0
add r0, r4, #0
mul r0, r6
add r1, r5, #0
bl _s32_div_f
lsl r1, r7, #0x18
lsl r0, r0, #0x18
asr r1, r1, #0x18
asr r0, r0, #0x18
sub r0, r1, r0
bl abs
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov12_02265B18
thumb_func_start ov12_02265B58
ov12_02265B58: ; 0x02265B58
ldr r1, _02265B60 ; =ov12_0226D6E0
lsl r0, r0, #5
add r0, r1, r0
bx lr
.balign 4, 0
_02265B60: .word ov12_0226D6E0
thumb_func_end ov12_02265B58
thumb_func_start ov12_02265B64
ov12_02265B64: ; 0x02265B64
push {r3, lr}
cmp r0, #5
bhi _02265BB0
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02265B76: ; jump table
.short _02265B82 - _02265B76 - 2 ; case 0
.short _02265B9C - _02265B76 - 2 ; case 1
.short _02265BA0 - _02265B76 - 2 ; case 2
.short _02265BA4 - _02265B76 - 2 ; case 3
.short _02265BA8 - _02265B76 - 2 ; case 4
.short _02265BAC - _02265B76 - 2 ; case 5
_02265B82:
mov r0, #2
lsl r0, r0, #8
tst r0, r1
beq _02265B8E
mov r0, #7
pop {r3, pc}
_02265B8E:
mov r0, #0x20
tst r0, r1
beq _02265B98
mov r0, #6
pop {r3, pc}
_02265B98:
mov r0, #0
pop {r3, pc}
_02265B9C:
mov r0, #1
pop {r3, pc}
_02265BA0:
mov r0, #2
pop {r3, pc}
_02265BA4:
mov r0, #3
pop {r3, pc}
_02265BA8:
mov r0, #4
pop {r3, pc}
_02265BAC:
mov r0, #5
pop {r3, pc}
_02265BB0:
bl GF_AssertFail
mov r0, #0
pop {r3, pc}
thumb_func_end ov12_02265B64
thumb_func_start ov12_02265BB8
ov12_02265BB8: ; 0x02265BB8
push {r3, lr}
cmp r0, #7
bhi _02265BF6
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02265BCA: ; jump table
.short _02265BDA - _02265BCA - 2 ; case 0
.short _02265BDE - _02265BCA - 2 ; case 1
.short _02265BE2 - _02265BCA - 2 ; case 2
.short _02265BE6 - _02265BCA - 2 ; case 3
.short _02265BEA - _02265BCA - 2 ; case 4
.short _02265BEE - _02265BCA - 2 ; case 5
.short _02265BF2 - _02265BCA - 2 ; case 6
.short _02265BF2 - _02265BCA - 2 ; case 7
_02265BDA:
ldr r0, _02265C00 ; =ov12_0226D5E4
pop {r3, pc}
_02265BDE:
ldr r0, _02265C04 ; =ov12_0226D618
pop {r3, pc}
_02265BE2:
ldr r0, _02265C08 ; =ov12_0226D4E0
pop {r3, pc}
_02265BE6:
ldr r0, _02265C0C ; =ov12_0226D514
pop {r3, pc}
_02265BEA:
ldr r0, _02265C10 ; =ov12_0226D57C
pop {r3, pc}
_02265BEE:
ldr r0, _02265C14 ; =ov12_0226D64C
pop {r3, pc}
_02265BF2:
ldr r0, _02265C18 ; =ov12_0226D5B0
pop {r3, pc}
_02265BF6:
bl GF_AssertFail
mov r0, #0
pop {r3, pc}
nop
_02265C00: .word ov12_0226D5E4
_02265C04: .word ov12_0226D618
_02265C08: .word ov12_0226D4E0
_02265C0C: .word ov12_0226D514
_02265C10: .word ov12_0226D57C
_02265C14: .word ov12_0226D64C
_02265C18: .word ov12_0226D5B0
thumb_func_end ov12_02265BB8
thumb_func_start ov12_02265C1C
ov12_02265C1C: ; 0x02265C1C
push {r3, lr}
cmp r0, #7
bhi _02265C46
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02265C2E: ; jump table
.short _02265C3E - _02265C2E - 2 ; case 0
.short _02265C42 - _02265C2E - 2 ; case 1
.short _02265C3E - _02265C2E - 2 ; case 2
.short _02265C42 - _02265C2E - 2 ; case 3
.short _02265C3E - _02265C2E - 2 ; case 4
.short _02265C42 - _02265C2E - 2 ; case 5
.short _02265C3E - _02265C2E - 2 ; case 6
.short _02265C3E - _02265C2E - 2 ; case 7
_02265C3E:
ldr r0, _02265C50 ; =ov12_0226D548
pop {r3, pc}
_02265C42:
mov r0, #0
pop {r3, pc}
_02265C46:
bl GF_AssertFail
mov r0, #0
pop {r3, pc}
nop
_02265C50: .word ov12_0226D548
thumb_func_end ov12_02265C1C
thumb_func_start ov12_02265C54
ov12_02265C54: ; 0x02265C54
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r1, #0
mov r0, #0
strb r0, [r6]
mov r0, #5
mov r1, #0xc
bl AllocFromHeap
mov r1, #0
mov r2, #0xc
add r4, r0, #0
bl MI_CpuFill8
mov r2, #0xfa
str r5, [r4]
ldr r0, _02265C84 ; =ov12_02265C88
add r1, r4, #0
lsl r2, r2, #2
str r6, [r4, #4]
bl CreateSysTask
pop {r4, r5, r6, pc}
nop
_02265C84: .word ov12_02265C88
thumb_func_end ov12_02265C54
thumb_func_start ov12_02265C88
ov12_02265C88: ; 0x02265C88
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r1, #0
add r7, r0, #0
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl ov12_0223A8EC
add r5, r0, #0
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl ov12_0223A938
add r6, r0, #0
ldrb r0, [r4, #8]
cmp r0, #0
beq _02265CB4
cmp r0, #1
beq _02265CD2
cmp r0, #2
beq _02265D04
b _02265D38
_02265CB4:
ldr r1, _02265D64 ; =0x00004E27
add r0, r5, #0
mov r2, #1
bl sub_0200D944
add r5, r0, #0
ldr r0, [r4]
add r1, r5, #0
ldr r0, [r0, #4]
bl sub_0200DD10
strb r5, [r4, #9]
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
_02265CD2:
mov r0, #0xa
ldrsb r1, [r4, r0]
add r1, r1, #2
strb r1, [r4, #0xa]
ldrsb r1, [r4, r0]
cmp r1, #0xa
blt _02265CE8
strb r0, [r4, #0xa]
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
_02265CE8:
ldrb r0, [r4, #0xa]
mov r1, #2
mov r3, #0x10
str r0, [sp]
ldr r0, _02265D68 ; =0x000073A5
str r0, [sp, #4]
ldrb r2, [r4, #9]
add r0, r6, #0
lsl r2, r2, #0x14
lsr r2, r2, #0x10
bl sub_02003E5C
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_02265D04:
mov r0, #0xa
ldrsb r1, [r4, r0]
sub r1, r1, #2
strb r1, [r4, #0xa]
ldrsb r0, [r4, r0]
cmp r0, #0
bgt _02265D1C
mov r0, #0
strb r0, [r4, #0xa]
ldrb r0, [r4, #8]
add r0, r0, #1
strb r0, [r4, #8]
_02265D1C:
ldrb r0, [r4, #0xa]
mov r1, #2
mov r3, #0x10
str r0, [sp]
ldr r0, _02265D68 ; =0x000073A5
str r0, [sp, #4]
ldrb r2, [r4, #9]
add r0, r6, #0
lsl r2, r2, #0x14
lsr r2, r2, #0x10
bl sub_02003E5C
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_02265D38:
ldr r1, _02265D6C ; =0x00004E26
add r0, r5, #0
mov r2, #1
bl sub_0200D944
add r1, r0, #0
ldr r0, [r4]
ldr r0, [r0, #4]
bl sub_0200DD10
ldr r0, [r4, #4]
mov r1, #1
strb r1, [r0]
add r0, r4, #0
bl FreeToHeap
add r0, r7, #0
bl DestroySysTask
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_02265D64: .word 0x00004E27
_02265D68: .word 0x000073A5
_02265D6C: .word 0x00004E26
thumb_func_end ov12_02265C88
thumb_func_start ov12_02265D70
ov12_02265D70: ; 0x02265D70
bx lr
.balign 4, 0
thumb_func_end ov12_02265D70
thumb_func_start ov12_02265D74
ov12_02265D74: ; 0x02265D74
bx lr
.balign 4, 0
thumb_func_end ov12_02265D74
thumb_func_start ov12_02265D78
ov12_02265D78: ; 0x02265D78
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x50]
cmp r0, #0
bne _02265D96
add r0, r4, #0
mov r1, #0
add r0, #0x54
strh r1, [r0]
ldr r0, _02265D98 ; =ov12_02265DC4
ldr r2, _02265D9C ; =0x000003F2
add r1, r4, #0
bl CreateSysTask
str r0, [r4, #0x50]
_02265D96:
pop {r4, pc}
.balign 4, 0
_02265D98: .word ov12_02265DC4
_02265D9C: .word 0x000003F2
thumb_func_end ov12_02265D78
thumb_func_start ov12_02265DA0
ov12_02265DA0: ; 0x02265DA0
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x50]
cmp r0, #0
beq _02265DB2
bl DestroySysTask
mov r0, #0
str r0, [r4, #0x50]
_02265DB2:
add r0, r4, #0
mov r1, #0
add r0, #0x54
strh r1, [r0]
add r0, r4, #0
add r2, r1, #0
bl ov12_02264F44
pop {r4, pc}
thumb_func_end ov12_02265DA0
thumb_func_start ov12_02265DC4
ov12_02265DC4: ; 0x02265DC4
push {r3, r4, r5, lr}
add r4, r1, #0
add r1, #0x54
ldrh r2, [r1]
add r1, r4, #0
add r1, #0x54
add r2, #0x14
strh r2, [r1]
add r1, r4, #0
add r1, #0x54
ldrh r2, [r1]
mov r1, #0x5a
add r0, r4, #0
lsl r1, r1, #2
add r0, #0x54
cmp r2, r1
blo _02265DEC
ldrh r2, [r0]
sub r1, r2, r1
strh r1, [r0]
_02265DEC:
add r0, r4, #0
add r0, #0x54
ldrh r0, [r0]
bl GF_SinDegNoWrap
mov r2, #6
asr r1, r0, #0x1f
lsl r2, r2, #0xa
mov r3, #0
bl _ll_mul
mov r2, #2
add r3, r0, #0
add r5, r1, #0
mov r1, #0
lsl r2, r2, #0xa
add r0, r4, #0
add r3, r3, r2
adc r5, r1
lsl r2, r5, #0x14
lsr r3, r3, #0xc
orr r3, r2
asr r2, r3, #0xb
lsr r2, r2, #0x14
add r2, r3, r2
asr r2, r2, #0xc
bl ov12_02264F44
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov12_02265DC4
.rodata
ov12_0226D368: ; 0x0226D368
.byte 0x48, 0x00, 0x48, 0x00, 0x48, 0x00, 0x00, 0x00
.byte 0x40, 0x02, 0xC0, 0x00, 0x40, 0x03, 0xC0, 0x00, 0x00, 0x0A, 0xE0, 0x00, 0x00, 0x0B, 0xE0, 0x00
.byte 0x40, 0x04, 0xC0, 0x00, 0x40, 0x05, 0xC0, 0x00, 0x00, 0x0C, 0xE0, 0x00, 0x00, 0x0D, 0xE0, 0x00
ov12_0226D390: ; 0x0226D390
.byte 0x80, 0x04
ov12_0226D392: ; 0x0226D392
.byte 0x60, 0x00, 0x40, 0x04, 0x60, 0x00, 0x60, 0x04, 0x60, 0x00, 0x40, 0x04, 0x60, 0x00
.byte 0x60, 0x04, 0x60, 0x00, 0x40, 0x04, 0x60, 0x00
ov12_0226D3A8: ; 0x0226D3A8
.byte 0x00, 0x00
ov12_0226D3AA: ; 0x0226D3AA
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0xC0, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
ov12_0226D3C0: ; 0x0226D3C0
.byte 0x60, 0x04
ov12_0226D3C2: ; 0x0226D3C2
.byte 0x20, 0x00, 0x20, 0x04, 0x20, 0x00, 0x40, 0x04, 0x20, 0x00, 0x20, 0x04, 0x20, 0x00
.byte 0x40, 0x04, 0x20, 0x00, 0x20, 0x04, 0x20, 0x00
ov12_0226D3D8: ; 0x0226D3D8
.byte 0x00, 0x00
ov12_0226D3DA: ; 0x0226D3DA
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0xC0, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00
ov12_0226D3F0: ; 0x0226D3F0
.byte 0x80, 0x0D
ov12_0226D3F2: ; 0x0226D3F2
.byte 0x60, 0x00, 0xA0, 0x06, 0x60, 0x00, 0x80, 0x0C, 0x60, 0x00, 0xA0, 0x06, 0x60, 0x00
.byte 0x80, 0x0C, 0x60, 0x00, 0xA0, 0x06, 0x60, 0x00
ov12_0226D408: ; 0x0226D408
.byte 0x00, 0x00
ov12_0226D40A: ; 0x0226D40A
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x60, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00
ov12_0226D420: ; 0x0226D420
.byte 0xA0, 0x0A
ov12_0226D422: ; 0x0226D422
.byte 0x60, 0x00
ov12_0226D424: ; 0x0226D424
.byte 0xA0, 0x0B
ov12_0226D426: ; 0x0226D426
.byte 0x60, 0x00, 0x60, 0x0A, 0x60, 0x00, 0x60, 0x0B, 0x60, 0x00
.byte 0x80, 0x0A, 0x60, 0x00, 0x80, 0x0B, 0x60, 0x00, 0x60, 0x0A, 0x60, 0x00, 0x60, 0x0B, 0x60, 0x00
.byte 0x80, 0x0A, 0x60, 0x00, 0x80, 0x0B, 0x60, 0x00, 0x60, 0x0A, 0x60, 0x00, 0x60, 0x0B, 0x60, 0x00
ov12_0226D450: ; 0x0226D450
.byte 0x00, 0x00
ov12_0226D452: ; 0x0226D452
.byte 0x00, 0x00
ov12_0226D454: ; 0x0226D454
.byte 0x00, 0x0D
ov12_0226D456: ; 0x0226D456
.byte 0x60, 0x00, 0x20, 0x06, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x60, 0x00, 0x20, 0x06, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x60, 0x00, 0x20, 0x06, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00
ov12_0226D480: ; 0x0226D480
.byte 0xE0, 0x04
ov12_0226D482: ; 0x0226D482
.byte 0x00, 0x00, 0x20, 0x0C, 0xC0, 0x00, 0xE0, 0x04, 0x20, 0x00, 0x00, 0x0C, 0xA0, 0x00
.byte 0xE0, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xC0, 0x00, 0xE0, 0x04, 0x20, 0x00, 0x00, 0x0C, 0xA0, 0x00
.byte 0xE0, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xC0, 0x00, 0xE0, 0x04, 0x20, 0x00, 0x00, 0x0C, 0xA0, 0x00
ov12_0226D4B0: ; 0x0226D4B0
.byte 0x60, 0x0A
ov12_0226D4B2: ; 0x0226D4B2
.byte 0x40, 0x00
ov12_0226D4B4: ; 0x0226D4B4
.byte 0x60, 0x0B
ov12_0226D4B6: ; 0x0226D4B6
.byte 0x40, 0x00, 0x20, 0x0A, 0x40, 0x00, 0x20, 0x0B, 0x40, 0x00
.byte 0x40, 0x0A, 0x40, 0x00, 0x40, 0x0B, 0x40, 0x00, 0x20, 0x0A, 0x40, 0x00, 0x20, 0x0B, 0x40, 0x00
.byte 0x40, 0x0A, 0x40, 0x00, 0x40, 0x0B, 0x40, 0x00, 0x20, 0x0A, 0x40, 0x00, 0x20, 0x0B, 0x40, 0x00
ov12_0226D4E0: ; 0x0226D4E0
.byte 0xC0, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, 0x26, 0x4E, 0x00, 0x00, 0xC7, 0x00, 0x00, 0x00
.byte 0xC6, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov12_0226D514: ; 0x0226D514
.byte 0x40, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x00, 0x26, 0x4E, 0x00, 0x00
.byte 0xC1, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov12_0226D548: ; 0x0226D548
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB9, 0x00, 0x00, 0x00
.byte 0x26, 0x4E, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0xB7, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov12_0226D57C: ; 0x0226D57C
.byte 0xC6, 0x00, 0x84, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0xCB, 0x00, 0x00, 0x00, 0x26, 0x4E, 0x00, 0x00, 0xCA, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov12_0226D5B0: ; 0x0226D5B0
.byte 0xC0, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x28, 0x4E, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00
.byte 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov12_0226D5E4: ; 0x0226D5E4
.byte 0xC0, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, 0x26, 0x4E, 0x00, 0x00
.byte 0xBE, 0x00, 0x00, 0x00, 0xBD, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov12_0226D618: ; 0x0226D618
.byte 0x3A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBC, 0x00, 0x00, 0x00
.byte 0x26, 0x4E, 0x00, 0x00, 0xBB, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov12_0226D64C: ; 0x0226D64C
.byte 0x3A, 0x00, 0x2D, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0xC5, 0x00, 0x00, 0x00, 0x26, 0x4E, 0x00, 0x00, 0xC4, 0x00, 0x00, 0x00, 0xC3, 0x00, 0x00, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov12_0226D680: ; 0x0226D680
.byte 0x60, 0x02
ov12_0226D682: ; 0x0226D682
.byte 0xA0, 0x00
ov12_0226D684: ; 0x0226D684
.byte 0x60, 0x03
ov12_0226D686: ; 0x0226D686
.byte 0xA0, 0x00
ov12_0226D688: ; 0x0226D688
.byte 0x00, 0x0A
ov12_0226D68A: ; 0x0226D68A
.byte 0x60, 0x00
ov12_0226D68C: ; 0x0226D68C
.byte 0x00, 0x0B
ov12_0226D68E: ; 0x0226D68E
.byte 0x60, 0x00
.byte 0x20, 0x02, 0xE0, 0x00, 0x20, 0x03, 0xE0, 0x00, 0x00, 0x0A, 0x20, 0x00, 0x00, 0x0B, 0x20, 0x00
.byte 0x40, 0x02, 0xC0, 0x00, 0x40, 0x03, 0xC0, 0x00, 0x00, 0x0A, 0x40, 0x00, 0x00, 0x0B, 0x40, 0x00
.byte 0x20, 0x02, 0xE0, 0x00, 0x20, 0x03, 0xE0, 0x00, 0x00, 0x0A, 0x20, 0x00, 0x00, 0x0B, 0x20, 0x00
.byte 0x40, 0x02, 0xC0, 0x00, 0x40, 0x03, 0xC0, 0x00, 0x00, 0x0A, 0x40, 0x00, 0x00, 0x0B, 0x40, 0x00
.byte 0x20, 0x02, 0xE0, 0x00, 0x20, 0x03, 0xE0, 0x00, 0x00, 0x0A, 0x20, 0x00, 0x00, 0x0B, 0x20, 0x00
ov12_0226D6E0: ; 0x0226D6E0
.byte 0xE3, 0xEE, 0xEE, 0xEE, 0xEE, 0x88, 0x8E, 0xE8, 0xEE, 0x88, 0x8E, 0xE8, 0xEE, 0x88, 0x88, 0xE8
.byte 0xEE, 0x88, 0x8E, 0xE8, 0xEE, 0x88, 0x8E, 0xE8, 0xE3, 0xEE, 0xEE, 0xEE, 0x32, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0x88, 0x88, 0xE8, 0xEE, 0x88, 0x8E, 0xE8, 0xEE, 0x88, 0x88, 0xE8, 0xEE
.byte 0x88, 0xEE, 0xEE, 0xEE, 0x88, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x22, 0x22, 0x22, 0x22, 0x44, 0x44, 0x44, 0x44
.byte 0x44, 0x44, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x25, 0x22, 0x22, 0x22, 0x46, 0x44, 0x44, 0x44
.byte 0x46, 0x44, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x55, 0x22, 0x22, 0x22, 0x66, 0x44, 0x44, 0x44
.byte 0x66, 0x44, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x55, 0x25, 0x22, 0x22, 0x66, 0x46, 0x44, 0x44
.byte 0x66, 0x46, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x55, 0x55, 0x22, 0x22, 0x66, 0x66, 0x44, 0x44
.byte 0x66, 0x66, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x55, 0x55, 0x25, 0x22, 0x66, 0x66, 0x46, 0x44
.byte 0x66, 0x66, 0x46, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x55, 0x55, 0x55, 0x22, 0x66, 0x66, 0x66, 0x44
.byte 0x66, 0x66, 0x66, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x55, 0x55, 0x55, 0x25, 0x66, 0x66, 0x66, 0x46
.byte 0x66, 0x66, 0x66, 0x46, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x55, 0x55, 0x55, 0x55, 0x66, 0x66, 0x66, 0x66
.byte 0x66, 0x66, 0x66, 0x66, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x22, 0x22, 0x22, 0x22, 0x44, 0x44, 0x44, 0x44
.byte 0x44, 0x44, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x27, 0x22, 0x22, 0x22, 0x48, 0x44, 0x44, 0x44
.byte 0x48, 0x44, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x77, 0x22, 0x22, 0x22, 0x88, 0x44, 0x44, 0x44
.byte 0x88, 0x44, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x77, 0x27, 0x22, 0x22, 0x88, 0x48, 0x44, 0x44
.byte 0x88, 0x48, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x77, 0x77, 0x22, 0x22, 0x88, 0x88, 0x44, 0x44
.byte 0x88, 0x88, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x77, 0x77, 0x27, 0x22, 0x88, 0x88, 0x48, 0x44
.byte 0x88, 0x88, 0x48, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x77, 0x77, 0x77, 0x22, 0x88, 0x88, 0x88, 0x44
.byte 0x88, 0x88, 0x88, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x77, 0x77, 0x77, 0x27, 0x88, 0x88, 0x88, 0x48
.byte 0x88, 0x88, 0x88, 0x48, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88
.byte 0x88, 0x88, 0x88, 0x88, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x22, 0x22, 0x22, 0x22, 0x44, 0x44, 0x44, 0x44
.byte 0x44, 0x44, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x29, 0x22, 0x22, 0x22, 0x4A, 0x44, 0x44, 0x44
.byte 0x4A, 0x44, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x99, 0x22, 0x22, 0x22, 0xAA, 0x44, 0x44, 0x44
.byte 0xAA, 0x44, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x99, 0x29, 0x22, 0x22, 0xAA, 0x4A, 0x44, 0x44
.byte 0xAA, 0x4A, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x99, 0x99, 0x22, 0x22, 0xAA, 0xAA, 0x44, 0x44
.byte 0xAA, 0xAA, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x99, 0x99, 0x29, 0x22, 0xAA, 0xAA, 0x4A, 0x44
.byte 0xAA, 0xAA, 0x4A, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x99, 0x99, 0x99, 0x22, 0xAA, 0xAA, 0xAA, 0x44
.byte 0xAA, 0xAA, 0xAA, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x99, 0x99, 0x99, 0x29, 0xAA, 0xAA, 0xAA, 0x4A
.byte 0xAA, 0xAA, 0xAA, 0x4A, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x99, 0x99, 0x99, 0x99, 0xAA, 0xAA, 0xAA, 0xAA
.byte 0xAA, 0xAA, 0xAA, 0xAA, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0x33, 0x33, 0x33, 0x33, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x22, 0x22, 0x22, 0x22
.byte 0x44, 0x44, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x44, 0x44, 0x44, 0x44
.byte 0x33, 0x33, 0x33, 0x33, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x2B, 0x22, 0x22, 0x22
.byte 0x4C, 0x44, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x44, 0x44, 0x44, 0x44
.byte 0x33, 0x33, 0x33, 0x33, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xBB, 0x22, 0x22, 0x22
.byte 0xCC, 0x44, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x44, 0x44, 0x44, 0x44
.byte 0x33, 0x33, 0x33, 0x33, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xBB, 0x2B, 0x22, 0x22
.byte 0xCC, 0x4C, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x44, 0x44, 0x44, 0x44
.byte 0x33, 0x33, 0x33, 0x33, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xBB, 0xBB, 0x22, 0x22
.byte 0xCC, 0xCC, 0x44, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x44, 0x44, 0x44, 0x44
.byte 0x33, 0x33, 0x33, 0x33, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xBB, 0xBB, 0x2B, 0x22
.byte 0xCC, 0xCC, 0x4C, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x44, 0x44, 0x44, 0x44
.byte 0x33, 0x33, 0x33, 0x33, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xBB, 0xBB, 0xBB, 0x22
.byte 0xCC, 0xCC, 0xCC, 0x44, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x44, 0x44, 0x44, 0x44
.byte 0x33, 0x33, 0x33, 0x33, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xBB, 0xBB, 0xBB, 0x2B
.byte 0xCC, 0xCC, 0xCC, 0x4C, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x44, 0x44, 0x44, 0x44
.byte 0x33, 0x33, 0x33, 0x33, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xBB, 0xBB, 0xBB, 0xBB
.byte 0xCC, 0xCC, 0xCC, 0xCC, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x44, 0x44, 0x44, 0x44
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x22, 0x22, 0x22, 0x22, 0xFF, 0xFF, 0xFF, 0xFF, 0x22, 0x22, 0x22, 0x22
.byte 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x22, 0x22, 0x22, 0x22, 0xFF, 0xFF, 0xFF, 0xFF, 0x22, 0x22, 0x22, 0x22
.byte 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x22, 0x22, 0x22, 0x22, 0xFF, 0xFF, 0xFF, 0xFF, 0x22, 0x22, 0x22, 0x22
.byte 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22
.byte 0xFF, 0x88, 0x88, 0x88, 0x82, 0x48, 0x44, 0x44, 0x8F, 0x48, 0x77, 0x47, 0x82, 0x48, 0x87, 0x48
.byte 0x82, 0x48, 0x44, 0x44, 0x82, 0x48, 0x77, 0x77, 0x82, 0x48, 0x87, 0x88, 0x22, 0x78, 0x87, 0x88
.byte 0x88, 0x88, 0x88, 0x88, 0x47, 0x44, 0x44, 0x47, 0x47, 0x77, 0x47, 0x47, 0x47, 0x87, 0x48, 0x47
.byte 0x47, 0x44, 0x44, 0x47, 0x47, 0x77, 0x47, 0x47, 0x48, 0x87, 0x48, 0x47, 0x78, 0x87, 0x78, 0x77
.byte 0x88, 0x88, 0x88, 0xFF, 0x44, 0x74, 0x88, 0x28, 0x77, 0x47, 0x87, 0xF8, 0x87, 0x48, 0x87, 0x28
.byte 0x44, 0x44, 0x87, 0x28, 0x47, 0x77, 0x87, 0x28, 0x47, 0x44, 0x87, 0x28, 0x77, 0x77, 0x87, 0x22
.byte 0xFF, 0xCC, 0xCC, 0xCC, 0xC2, 0x4C, 0x44, 0x44, 0xCF, 0x4C, 0xBB, 0xBB, 0xC2, 0x4C, 0x44, 0x44
.byte 0xC2, 0x4C, 0xBB, 0xBB, 0xC2, 0x4C, 0xCB, 0xCC, 0xC2, 0x4C, 0xCB, 0xCC, 0x22, 0xBC, 0xCB, 0xCC
.byte 0xCC, 0xCC, 0xCC, 0xCC, 0x4B, 0x44, 0xB4, 0x4C, 0x4B, 0xBB, 0x4B, 0xBB, 0x4B, 0xCB, 0x4C, 0xCB
.byte 0x4B, 0x44, 0x44, 0x4B, 0x4C, 0x4B, 0xBB, 0x4B, 0x4C, 0x4B, 0x44, 0x4B, 0xBC, 0xBB, 0xBB, 0xBB
.byte 0xCC, 0xCC, 0xCC, 0xFF, 0x44, 0x44, 0xCB, 0x2C, 0xBB, 0x4B, 0xCB, 0xFC, 0x44, 0xB4, 0xCB, 0x2C
.byte 0xBB, 0xBB, 0xCC, 0x2C, 0xCB, 0xCC, 0xCC, 0x2C, 0x44, 0x44, 0xCB, 0x2C, 0xBB, 0xBB, 0xCB, 0x22
.byte 0xFF, 0x33, 0x33, 0x33, 0x32, 0x43, 0x44, 0x44, 0x3F, 0x43, 0x11, 0x11, 0x32, 0x43, 0x44, 0x44
.byte 0x32, 0x13, 0x11, 0x41, 0x32, 0x33, 0x33, 0x43, 0x32, 0x43, 0x44, 0x44, 0x22, 0x13, 0x11, 0x11
.byte 0x33, 0x33, 0x33, 0x33, 0x41, 0x31, 0x33, 0x43, 0x41, 0x31, 0x33, 0x43, 0x41, 0x31, 0x33, 0x43
.byte 0x41, 0x31, 0x33, 0x43, 0x41, 0x31, 0x33, 0x43, 0x41, 0x44, 0x44, 0x41, 0x11, 0x11, 0x11, 0x11
.byte 0x33, 0x33, 0x33, 0xFF, 0x44, 0x44, 0x31, 0x23, 0x11, 0x41, 0x31, 0xF3, 0x31, 0x43, 0x31, 0x23
.byte 0x44, 0x44, 0x31, 0x23, 0x11, 0x11, 0x31, 0x23, 0x31, 0x33, 0x33, 0x23, 0x31, 0x33, 0x33, 0x22
.byte 0xFF, 0xDD, 0xDD, 0xDD, 0xD2, 0x4D, 0x44, 0x44, 0xDF, 0x4D, 0x99, 0x49, 0xD2, 0x4D, 0xD9, 0x4D
.byte 0xD2, 0x4D, 0x44, 0x44, 0xD2, 0x4D, 0x99, 0x99, 0xD2, 0x4D, 0xD9, 0xDD, 0x22, 0x9D, 0xD9, 0xDD
.byte 0xDD, 0xDD, 0xDD, 0xDD, 0x49, 0x44, 0x44, 0x49, 0x49, 0x99, 0x99, 0x49, 0x49, 0x44, 0x44, 0x49
.byte 0x99, 0x99, 0x49, 0x49, 0xD9, 0xDD, 0x4D, 0x49, 0x4D, 0x44, 0x44, 0x49, 0x9D, 0x99, 0x99, 0x99
.byte 0xDD, 0xDD, 0xDD, 0xFF, 0x44, 0x49, 0xD9, 0x2D, 0x49, 0x49, 0xD9, 0xFD, 0x49, 0x49, 0xD9, 0x2D
.byte 0x49, 0x49, 0xD9, 0x2D, 0x49, 0x49, 0xD9, 0x2D, 0x49, 0x44, 0xD9, 0x2D, 0x99, 0x99, 0xD9, 0x22
.byte 0xFF, 0xAA, 0xAA, 0xAA, 0xA2, 0x4A, 0x44, 0x94, 0xAF, 0x4A, 0x99, 0x49, 0xA2, 0x4A, 0x44, 0x44
.byte 0xA2, 0x4A, 0x99, 0x49, 0xA2, 0x4A, 0xA9, 0x4A, 0xA2, 0x4A, 0x44, 0x44, 0x22, 0x9A, 0x99, 0x99
.byte 0xAA, 0xAA, 0xAA, 0xAA, 0x4A, 0x44, 0x94, 0x4A, 0x49, 0x99, 0x49, 0x49, 0x49, 0xA9, 0x4A, 0x49
.byte 0x49, 0x44, 0x44, 0x49, 0x49, 0x49, 0x99, 0x49, 0x49, 0x49, 0x44, 0x49, 0x99, 0x99, 0x99, 0x99
.byte 0xAA, 0xAA, 0xAA, 0xFF, 0x44, 0x49, 0xA9, 0x2A, 0x49, 0x49, 0xA9, 0xFA, 0x49, 0x49, 0xA9, 0x2A
.byte 0x49, 0x49, 0xA9, 0x2A, 0x49, 0x49, 0xA9, 0x2A, 0x49, 0x44, 0xA9, 0x2A, 0x99, 0x99, 0xA9, 0x22
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x22, 0x22, 0x22, 0x22, 0xFF, 0xFF, 0xFF, 0xFF, 0x22, 0x22, 0x22, 0x22
.byte 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x22, 0x22, 0x22, 0x22, 0xFF, 0xFF, 0xFF, 0xFF, 0x22, 0x22, 0x22, 0x22
.byte 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x22, 0x22, 0x22, 0x22, 0xFF, 0xFF, 0xFF, 0xFF, 0x22, 0x22, 0x22, 0x22
.byte 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22
.byte 0x2F, 0xEE, 0x2E, 0xFF, 0xE2, 0xAA, 0xEA, 0x22, 0xAE, 0xE9, 0xA9, 0xFE, 0xEE, 0x4E, 0xEE, 0x2E
.byte 0x4E, 0xE2, 0x42, 0x2E, 0xE3, 0x44, 0xE4, 0x23, 0x32, 0xEE, 0x3E, 0x22, 0x22, 0x22, 0x22, 0x22
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xAA, 0xF2, 0xFF
.byte 0x2A, 0x22, 0x2A, 0xFF, 0x2A, 0xFF, 0x2A, 0xEF, 0xA2, 0xAA, 0x22, 0xEF, 0x2F, 0x2A, 0xF2, 0xEF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0xFF, 0xFF, 0xFF, 0x2E, 0xFF, 0xFF, 0xFF, 0x2E, 0xEF, 0x2E, 0x2E
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2B, 0xFF, 0xFF
.byte 0xBF, 0xBB, 0xF2, 0xFF, 0x2B, 0x2B, 0x2B, 0xEF, 0xF2, 0x2B, 0x22, 0xEF, 0xBF, 0xBB, 0xF2, 0xEF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0xFF, 0xFF, 0xFF, 0x2E, 0xFF, 0xFF, 0xFF, 0x2E, 0xEF, 0x2E, 0x2E
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xEF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0xFF, 0xFF, 0xFF, 0x2E, 0xFF, 0xFF, 0xFF, 0x2E, 0xEF, 0x2E, 0x2E
.byte 0xE3, 0xEE, 0xEE, 0xEE, 0xEE, 0x88, 0x8E, 0xE8, 0xEE, 0x88, 0x8E, 0xE8, 0xEE, 0x88, 0x88, 0xE8
.byte 0xEE, 0x88, 0x8E, 0xE8, 0xEE, 0x88, 0x8E, 0xE8, 0xE3, 0xEE, 0xEE, 0xEE, 0x32, 0x33, 0x33, 0x33
.byte 0xEE, 0xEE, 0xEE, 0xEE, 0x88, 0x88, 0xE8, 0xEE, 0x88, 0x8E, 0xE8, 0xEE, 0x88, 0x88, 0xE8, 0xEE
.byte 0x88, 0xEE, 0xEE, 0xEE, 0x88, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x33, 0x33, 0x33, 0x33
.byte 0x3E, 0xFF, 0xFF, 0xFF, 0xEE, 0x22, 0x22, 0x22, 0xEE, 0xFF, 0xFF, 0xFF, 0xEE, 0x22, 0x22, 0x22
.byte 0xEE, 0x22, 0x22, 0x22, 0xEE, 0x22, 0x22, 0x22, 0x3E, 0x22, 0x22, 0x22, 0x23, 0x22, 0x22, 0x22
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFE, 0xFF, 0xFF, 0xEE, 0xF2, 0xFF, 0xEF, 0x2E, 0xF2
.byte 0xFF, 0xEE, 0x22, 0xFF, 0xEF, 0x2E, 0xF2, 0xFF, 0xEF, 0x22, 0xFF, 0xFF, 0x2F, 0xF2, 0xFF, 0xFF
.byte 0xEE, 0xEE, 0xEE, 0xF3, 0x88, 0x88, 0xE8, 0xFE, 0x88, 0x8E, 0xE8, 0xFE, 0x88, 0x88, 0xE8, 0xFE
.byte 0x88, 0xEE, 0xEE, 0xFE, 0x88, 0xEE, 0xEE, 0xFE, 0xEE, 0xEE, 0xEE, 0xF3, 0x33, 0x33, 0x33, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xAA, 0xAA, 0x2A, 0xEF, 0x22, 0x2A, 0x22, 0xEF, 0xFF, 0x2A, 0xFF, 0xEF, 0xFF, 0x22, 0xFF, 0x2F
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x2E, 0xEF, 0x2E, 0x2E, 0x2E, 0xEF, 0x2E, 0x2E, 0xEE, 0x2E, 0xEE, 0x22, 0x22, 0x22, 0x22, 0xF2
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x2B, 0x22, 0x2B, 0xEF, 0x2B, 0xFF, 0x2B, 0xEF, 0xB2, 0xBB, 0x22, 0xEF, 0x2F, 0x22, 0xF2, 0x2F
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x2E, 0xE4, 0x2E, 0x2E, 0x2E, 0xE4, 0x2E, 0x2E, 0xEE, 0x2E, 0xEE, 0x22, 0x22, 0x22, 0x22, 0xF2
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0x2F
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x2E, 0xE4, 0x2E, 0x2E, 0x2E, 0xE4, 0x2E, 0x2E, 0xEE, 0x2E, 0xEE, 0x22, 0x22, 0x22, 0x22, 0xF2
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF