pokeheartgold/asm/overlay_42.s

5997 lines
108 KiB
ArmAsm
Raw Normal View History

.include "asm/macros.inc"
.include "global.inc"
.text
2021-06-18 12:29:26 +00:00
2021-06-25 01:03:38 +00:00
thumb_func_start ov42_02227060
2021-06-27 18:48:56 +00:00
ov42_02227060: ; 0x02227060
2021-06-18 12:29:26 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r5, r1, #0
add r6, r3, #0
add r4, r0, #0
ldr r1, _02227100 ; =0x0000230C
add r0, r6, #0
2021-06-18 12:29:26 +00:00
str r2, [sp]
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-27 18:48:56 +00:00
ldr r2, _02227100 ; =0x0000230C
add r7, r0, #0
mov r1, #0
bl memset
2021-06-18 12:29:26 +00:00
str r4, [r7]
2021-06-27 18:48:56 +00:00
mov r0, #0xb3
add r1, r6, #0
2021-06-18 12:29:26 +00:00
str r5, [r7, #4]
2021-08-12 19:28:01 +00:00
bl NARC_ctor
2021-06-27 18:48:56 +00:00
ldr r1, _02227104 ; =0x00002304
2021-06-18 12:29:26 +00:00
str r0, [r7, r1]
2021-06-27 18:48:56 +00:00
mov r0, #0xba
add r1, r6, #0
2021-08-12 19:28:01 +00:00
bl NARC_ctor
2021-06-27 18:48:56 +00:00
ldr r1, _02227108 ; =0x00002308
mov r4, #0
2021-06-18 12:29:26 +00:00
str r0, [r7, r1]
2021-06-27 18:48:56 +00:00
add r5, r7, #0
2021-06-18 12:29:26 +00:00
_0222709C:
2021-06-27 18:48:56 +00:00
mov r0, #0x9a
add r1, r4, #0
add r2, r6, #0
2021-06-27 19:11:25 +00:00
bl sub_0200A090
2021-06-27 18:48:56 +00:00
ldr r1, _0222710C ; =0x000022F0
add r4, r4, #1
2021-06-18 12:29:26 +00:00
str r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r5, r5, #4
2021-06-18 12:29:26 +00:00
cmp r4, #2
blt _0222709C
2021-06-27 18:48:56 +00:00
mov r5, #0
add r4, r7, #0
2021-06-18 12:29:26 +00:00
_022270B6:
2021-06-27 18:48:56 +00:00
mov r0, #0x17
add r1, r5, #2
add r2, r6, #0
2021-06-27 19:11:25 +00:00
bl sub_0200A090
2021-06-27 18:48:56 +00:00
ldr r1, _02227110 ; =0x000022F8
add r5, r5, #1
2021-06-18 12:29:26 +00:00
str r0, [r4, r1]
2021-06-27 18:48:56 +00:00
add r4, r4, #4
2021-06-18 12:29:26 +00:00
cmp r5, #2
blt _022270B6
2021-06-27 18:48:56 +00:00
mov r4, #0
2021-06-18 12:29:26 +00:00
_022270CE:
2021-06-27 18:48:56 +00:00
add r0, r7, #0
add r1, r4, #0
add r2, r6, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227570
2021-06-27 18:48:56 +00:00
add r4, r4, #1
2021-06-18 12:29:26 +00:00
cmp r4, #3
blt _022270CE
ldr r0, [sp]
ldr r2, [sp]
2021-06-27 18:48:56 +00:00
mov r1, #0x18
2021-06-18 12:29:26 +00:00
str r0, [r7, #0xc]
2021-06-27 18:48:56 +00:00
add r0, r6, #0
mul r1, r2
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-18 12:29:26 +00:00
str r0, [r7, #8]
ldr r3, [r7, #0xc]
2021-06-27 18:48:56 +00:00
mov r2, #0x18
mov r1, #0
mul r2, r3
bl memset
2021-06-27 18:48:56 +00:00
add r0, r7, #0
2021-06-18 12:29:26 +00:00
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_02227100: .word 0x0000230C
_02227104: .word 0x00002304
_02227108: .word 0x00002308
_0222710C: .word 0x000022F0
_02227110: .word 0x000022F8
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227060
thumb_func_start ov42_02227114
2021-06-27 18:48:56 +00:00
ov42_02227114: ; 0x02227114
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r5, #0xc]
2021-06-27 18:48:56 +00:00
mov r6, #0
2021-06-25 01:03:38 +00:00
cmp r0, #0
bls _02227140
2021-06-27 18:48:56 +00:00
add r4, r6, #0
2021-06-25 01:03:38 +00:00
_02227122:
ldr r0, [r5, #8]
2021-06-27 18:48:56 +00:00
add r0, r0, r4
2021-06-25 01:03:38 +00:00
bl ov42_02227E68
cmp r0, #0
bne _02227136
ldr r0, [r5, #8]
2021-06-27 18:48:56 +00:00
add r0, r0, r4
2021-06-25 01:03:38 +00:00
bl ov42_0222740C
_02227136:
ldr r0, [r5, #0xc]
2021-06-27 18:48:56 +00:00
add r6, r6, #1
add r4, #0x18
2021-06-25 01:03:38 +00:00
cmp r6, r0
blo _02227122
_02227140:
2021-06-27 18:48:56 +00:00
mov r4, #0
2021-06-25 01:03:38 +00:00
_02227142:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227604
2021-06-27 18:48:56 +00:00
add r4, r4, #1
2021-06-25 01:03:38 +00:00
cmp r4, #3
blt _02227142
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
bl ov42_022271F8
2021-06-27 18:48:56 +00:00
ldr r0, _02227188 ; =0x00002304
2021-06-25 01:03:38 +00:00
ldr r0, [r5, r0]
2021-08-12 19:28:01 +00:00
bl NARC_dtor
2021-06-27 18:48:56 +00:00
ldr r0, _0222718C ; =0x00002308
2021-06-25 01:03:38 +00:00
ldr r0, [r5, r0]
2021-08-12 19:28:01 +00:00
bl NARC_dtor
2021-06-27 18:48:56 +00:00
ldr r7, _02227190 ; =0x000022F0
mov r6, #0
add r4, r5, #0
2021-06-25 01:03:38 +00:00
_0222716C:
ldr r0, [r4, r7]
2021-06-27 19:11:25 +00:00
bl sub_0200A0D0
2021-06-27 18:48:56 +00:00
add r6, r6, #1
add r4, r4, #4
2021-06-25 01:03:38 +00:00
cmp r6, #4
blt _0222716C
ldr r0, [r5, #8]
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_02227188: .word 0x00002304
_0222718C: .word 0x00002308
_02227190: .word 0x000022F0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227114
thumb_func_start ov42_02227194
2021-06-27 18:48:56 +00:00
ov42_02227194: ; 0x02227194
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r4, r1, #0
add r7, r3, #0
add r5, r0, #0
add r0, r4, #0
add r1, r7, #0
add r6, r2, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227680
cmp r0, #0
bne _022271B0
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_022271B0:
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227654
2021-06-27 18:48:56 +00:00
add r1, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [sp, #0x20]
2021-06-27 18:48:56 +00:00
add r2, r6, #0
2021-06-25 01:03:38 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r3, r7, #0
2021-06-25 01:03:38 +00:00
bl ov42_022276DC
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227194
thumb_func_start ov42_022271D0
2021-06-27 18:48:56 +00:00
ov42_022271D0: ; 0x022271D0
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r0, r1, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227654
2021-06-27 18:48:56 +00:00
add r1, r0, #0
add r0, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227948
pop {r4, pc}
thumb_func_end ov42_022271D0
thumb_func_start ov42_022271E4
2021-06-27 18:48:56 +00:00
ov42_022271E4: ; 0x022271E4
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r0, r1, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227654
2021-06-27 18:48:56 +00:00
add r1, r0, #0
add r0, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_022279E8
pop {r4, pc}
thumb_func_end ov42_022271E4
thumb_func_start ov42_022271F8
2021-06-27 18:48:56 +00:00
ov42_022271F8: ; 0x022271F8
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
mov r1, #0x23
add r4, r0, #0
lsl r1, r1, #8
2021-06-25 01:03:38 +00:00
ldr r1, [r4, r1]
cmp r1, #0
beq _0222720A
bl ov42_02227274
_0222720A:
2021-06-27 18:48:56 +00:00
mov r5, #0
2021-06-25 01:03:38 +00:00
_0222720C:
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r1, r5, #0
2021-06-25 01:03:38 +00:00
bl ov42_022279E8
cmp r0, #1
bne _02227220
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r1, r5, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227948
_02227220:
2021-06-27 18:48:56 +00:00
add r5, r5, #1
2021-06-25 01:03:38 +00:00
cmp r5, #0x99
blt _0222720C
pop {r3, r4, r5, pc}
thumb_func_end ov42_022271F8
thumb_func_start ov42_02227228
2021-06-27 18:48:56 +00:00
ov42_02227228: ; 0x02227228
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
2021-06-27 18:48:56 +00:00
add r7, r0, #0
add r6, r3, #0
2021-06-25 01:03:38 +00:00
str r1, [sp, #8]
str r2, [sp, #0xc]
2021-06-27 18:48:56 +00:00
add r0, r2, #0
2021-06-25 01:03:38 +00:00
bne _0222723C
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_0222723C:
ldr r1, [sp, #8]
2021-06-27 18:48:56 +00:00
add r0, r7, #0
add r2, r6, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227B6C
2021-06-27 18:48:56 +00:00
add r0, r7, #0
add r1, r6, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227C18
2021-06-27 18:48:56 +00:00
ldr r5, _02227270 ; =0x02229B10
mov r4, #0
2021-06-25 01:03:38 +00:00
_02227252:
str r6, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
ldrb r1, [r5]
ldr r2, [sp, #8]
ldr r3, [sp, #0xc]
2021-06-27 18:48:56 +00:00
add r0, r7, #0
2021-06-25 01:03:38 +00:00
bl ov42_022276DC
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, r5, #1
2021-06-25 01:03:38 +00:00
cmp r4, #0x10
blt _02227252
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_02227270: .word 0x02229B10
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227228
thumb_func_start ov42_02227274
2021-06-27 18:48:56 +00:00
ov42_02227274: ; 0x02227274
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227BE0
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227CA8
2021-06-27 18:48:56 +00:00
ldr r5, _02227298 ; =0x02229B10
mov r4, #0
2021-06-25 01:03:38 +00:00
_02227286:
ldrb r1, [r5]
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227948
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, r5, #1
2021-06-25 01:03:38 +00:00
cmp r4, #0x10
blt _02227286
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_02227298: .word 0x02229B10
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227274
thumb_func_start ov42_0222729C
2021-06-27 18:48:56 +00:00
ov42_0222729C: ; 0x0222729C
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r4, r2, #0
add r2, r3, #0
add r5, r0, #0
2021-06-25 01:03:38 +00:00
bl ov42_022279FC
2021-06-27 18:48:56 +00:00
ldr r0, _022272B0 ; =0x000022EC
2021-06-25 01:03:38 +00:00
str r4, [r5, r0]
pop {r3, r4, r5, pc}
nop
2021-06-27 18:48:56 +00:00
_022272B0: .word 0x000022EC
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_0222729C
thumb_func_start ov42_022272B4
2021-06-27 18:48:56 +00:00
ov42_022272B4: ; 0x022272B4
ldr r3, _022272B8 ; =ov42_02227B04
2021-06-25 01:03:38 +00:00
bx r3
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_022272B8: .word ov42_02227B04
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022272B4
thumb_func_start ov42_022272BC
2021-06-27 18:48:56 +00:00
ov42_022272BC: ; 0x022272BC
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0x3c
2021-06-27 18:48:56 +00:00
add r7, r2, #0
add r5, r0, #0
add r6, r1, #0
2021-06-25 01:03:38 +00:00
str r3, [sp]
bl ov42_02227CF8
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r0, r7, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227654
str r0, [sp, #4]
ldr r1, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
bl ov42_022279E8
cmp r0, #1
beq _022272E6
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_022272E6:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
add r2, sp, #0xc
2021-06-27 18:48:56 +00:00
add r1, r0, #0
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
2021-06-25 01:03:38 +00:00
ldr r1, [r5]
2021-06-27 18:48:56 +00:00
mov r2, #0x38
2021-06-25 01:03:38 +00:00
str r1, [sp, #0xc]
ldr r1, [sp, #4]
2021-06-27 18:48:56 +00:00
add r7, r1, #0
add r1, r5, #0
mul r7, r2
add r1, #0x24
add r1, r1, r7
2021-06-25 01:03:38 +00:00
str r1, [sp, #0x10]
ldrsh r0, [r6, r0]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0xc
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-25 01:03:38 +00:00
ldrsh r1, [r6, r0]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0xc
2021-06-25 01:03:38 +00:00
str r1, [sp, #0x18]
2021-06-27 18:48:56 +00:00
lsl r1, r0, #0xb
2021-06-25 01:03:38 +00:00
str r1, [sp, #0x20]
str r1, [sp, #0x24]
str r1, [sp, #0x28]
2021-06-27 18:48:56 +00:00
mov r1, #4
2021-06-25 01:03:38 +00:00
ldrsh r1, [r6, r1]
str r1, [sp, #0x30]
ldr r1, [sp]
str r1, [sp, #0x38]
2021-06-27 18:48:56 +00:00
add r1, r5, #0
2021-06-25 01:03:38 +00:00
str r1, [sp, #8]
2021-06-27 18:48:56 +00:00
add r1, #0x1c
2021-06-25 01:03:38 +00:00
str r1, [sp, #8]
ldr r1, [r1, r7]
cmp r1, #3
beq _0222733E
cmp r1, #1
bne _02227344
_0222733E:
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x34]
b _02227346
_02227344:
str r0, [sp, #0x34]
_02227346:
add r0, sp, #0xc
2021-06-27 19:11:25 +00:00
bl sub_02024624
2021-06-25 01:03:38 +00:00
str r0, [r4, #4]
2021-06-27 18:48:56 +00:00
mov r1, #6
2021-06-25 01:03:38 +00:00
ldrsh r1, [r6, r1]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x18
lsr r1, r1, #0x18
2021-06-27 19:11:25 +00:00
bl sub_02024A04
2021-06-27 18:48:56 +00:00
add r0, r5, r7
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #0x20]
cmp r0, #1
ldr r0, [r4, #4]
bne _0222736C
2021-06-27 18:48:56 +00:00
mov r1, #6
2021-06-27 19:11:25 +00:00
bl sub_020248F0
2021-06-25 01:03:38 +00:00
b _02227372
_0222736C:
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_020248F0
2021-06-25 01:03:38 +00:00
_02227372:
2021-06-27 18:48:56 +00:00
mov r0, #9
2021-06-25 01:03:38 +00:00
str r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
strh r0, [r4, #0x14]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
str r0, [r4, #0x10]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0x10
add r0, r0, r7
2021-06-25 01:03:38 +00:00
str r0, [r4]
2021-06-27 18:48:56 +00:00
ldr r0, _02227404 ; =0x000022B8
add r0, r5, r0
2021-06-25 01:03:38 +00:00
bl ov42_02227B5C
cmp r0, #0
beq _022273F8
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
add r2, sp, #0xc
2021-06-27 18:48:56 +00:00
add r1, r0, #0
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
2021-06-25 01:03:38 +00:00
ldr r1, [r5]
str r1, [sp, #0xc]
2021-06-27 18:48:56 +00:00
ldr r1, _02227408 ; =0x000022C8
add r2, r5, r1
2021-06-25 01:03:38 +00:00
str r2, [sp, #0x10]
ldrsh r0, [r6, r0]
2021-06-27 18:48:56 +00:00
add r1, #0x24
lsl r0, r0, #0xc
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-25 01:03:38 +00:00
ldrsh r2, [r6, r0]
2021-06-27 18:48:56 +00:00
lsl r2, r2, #0xc
2021-06-25 01:03:38 +00:00
str r2, [sp, #0x18]
2021-06-27 18:48:56 +00:00
lsl r2, r0, #0xb
2021-06-25 01:03:38 +00:00
str r2, [sp, #0x20]
str r2, [sp, #0x24]
str r2, [sp, #0x28]
ldr r1, [r5, r1]
str r1, [sp, #0x30]
ldr r1, [sp]
str r1, [sp, #0x38]
ldr r1, [sp, #8]
ldr r1, [r1, r7]
cmp r1, #3
beq _022273DA
cmp r1, #1
bne _022273E0
_022273DA:
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x34]
b _022273E2
_022273E0:
str r0, [sp, #0x34]
_022273E2:
add r0, sp, #0xc
2021-06-27 19:11:25 +00:00
bl sub_02024624
2021-06-25 01:03:38 +00:00
str r0, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r1, #6
2021-06-25 01:03:38 +00:00
ldrsh r1, [r6, r1]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x18
lsr r1, r1, #0x18
2021-06-27 19:11:25 +00:00
bl sub_02024A04
2021-06-25 01:03:38 +00:00
b _022273FC
_022273F8:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
str r0, [r4, #8]
_022273FC:
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-25 01:03:38 +00:00
add sp, #0x3c
pop {r4, r5, r6, r7, pc}
nop
2021-06-27 18:48:56 +00:00
_02227404: .word 0x000022B8
_02227408: .word 0x000022C8
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022272BC
thumb_func_start ov42_0222740C
2021-06-27 18:48:56 +00:00
ov42_0222740C: ; 0x0222740C
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r4, #8]
cmp r0, #0
beq _0222741A
2021-06-27 19:11:25 +00:00
bl sub_02024758
2021-06-25 01:03:38 +00:00
_0222741A:
ldr r0, [r4, #4]
2021-06-27 19:11:25 +00:00
bl sub_02024758
2021-06-27 18:48:56 +00:00
mov r1, #0x18
mov r0, #0
2021-06-25 01:03:38 +00:00
_02227424:
strb r0, [r4]
2021-06-27 18:48:56 +00:00
add r4, r4, #1
sub r1, r1, #1
2021-06-25 01:03:38 +00:00
bne _02227424
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_0222740C
thumb_func_start ov42_02227430
2021-06-27 18:48:56 +00:00
ov42_02227430: ; 0x02227430
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
bx lr
thumb_func_end ov42_02227430
thumb_func_start ov42_02227434
2021-06-27 18:48:56 +00:00
ov42_02227434: ; 0x02227434
2021-06-25 01:03:38 +00:00
push {r3, r4, lr}
sub sp, #0xc
2021-06-27 18:48:56 +00:00
add r4, r0, #0
lsl r0, r1, #0xc
2021-06-25 01:03:38 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
lsl r0, r2, #0xc
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
str r0, [sp, #8]
ldr r0, [r4, #4]
add r1, sp, #0
2021-06-27 19:11:25 +00:00
bl sub_020247D4
2021-06-25 01:03:38 +00:00
ldr r0, [r4, #8]
cmp r0, #0
beq _02227470
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-25 01:03:38 +00:00
ldr r1, [sp]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0xe
add r0, r1, r0
2021-06-25 01:03:38 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0xe
2021-06-25 01:03:38 +00:00
ldr r1, [sp, #4]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0xc
add r0, r1, r0
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
ldr r0, [r4, #8]
add r1, sp, #0
2021-06-27 19:11:25 +00:00
bl sub_020247D4
2021-06-25 01:03:38 +00:00
_02227470:
add sp, #0xc
pop {r3, r4, pc}
thumb_func_end ov42_02227434
thumb_func_start ov42_02227474
2021-06-27 18:48:56 +00:00
ov42_02227474: ; 0x02227474
2021-06-27 19:11:25 +00:00
ldr r3, _0222747C ; =sub_02024ADC
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
bx r3
nop
2021-06-27 19:11:25 +00:00
_0222747C: .word sub_02024ADC
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227474
thumb_func_start ov42_02227480
2021-06-27 18:48:56 +00:00
ov42_02227480: ; 0x02227480
2021-06-25 01:03:38 +00:00
push {r3, lr}
ldr r0, [r0, #4]
2021-06-27 19:11:25 +00:00
bl sub_02024AF8
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x10
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
pop {r3, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227480
thumb_func_start ov42_02227490
2021-06-27 18:48:56 +00:00
ov42_02227490: ; 0x02227490
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r5, #4]
2021-06-27 18:48:56 +00:00
add r4, r1, #0
2021-06-27 19:11:25 +00:00
bl sub_02024830
2021-06-25 01:03:38 +00:00
ldr r0, [r5, #8]
cmp r0, #0
beq _022274A8
2021-06-27 18:48:56 +00:00
add r1, r4, #0
2021-06-27 19:11:25 +00:00
bl sub_02024830
2021-06-25 01:03:38 +00:00
_022274A8:
pop {r3, r4, r5, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227490
thumb_func_start ov42_022274AC
2021-06-27 18:48:56 +00:00
ov42_022274AC: ; 0x022274AC
2021-06-27 19:11:25 +00:00
ldr r3, _022274B4 ; =sub_020248B8
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
bx r3
nop
2021-06-27 19:11:25 +00:00
_022274B4: .word sub_020248B8
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022274AC
thumb_func_start ov42_022274B8
2021-06-27 18:48:56 +00:00
ov42_022274B8: ; 0x022274B8
2021-06-25 01:03:38 +00:00
ldr r0, [r0]
ldr r0, [r0, #0x10]
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022274B8
thumb_func_start ov42_022274C0
2021-06-27 18:48:56 +00:00
ov42_022274C0: ; 0x022274C0
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #0xc]
bx lr
thumb_func_end ov42_022274C0
thumb_func_start ov42_022274C4
2021-06-27 18:48:56 +00:00
ov42_022274C4: ; 0x022274C4
2021-06-27 19:11:25 +00:00
ldr r3, _022274CC ; =sub_020249D4
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
bx r3
nop
2021-06-27 19:11:25 +00:00
_022274CC: .word sub_020249D4
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022274C4
thumb_func_start ov42_022274D0
2021-06-27 18:48:56 +00:00
ov42_022274D0: ; 0x022274D0
2021-06-27 19:11:25 +00:00
ldr r3, _022274D8 ; =sub_020249F8
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
bx r3
nop
2021-06-27 19:11:25 +00:00
_022274D8: .word sub_020249F8
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022274D0
thumb_func_start ov42_022274DC
2021-06-27 18:48:56 +00:00
ov42_022274DC: ; 0x022274DC
2021-06-25 01:03:38 +00:00
push {lr}
sub sp, #0xc
ldr r3, [r0, #8]
cmp r3, #0
beq _022274FE
2021-06-27 18:48:56 +00:00
add r1, #8
lsl r1, r1, #0xc
add r2, #0xe
2021-06-25 01:03:38 +00:00
str r1, [sp]
2021-06-27 18:48:56 +00:00
lsl r1, r2, #0xc
2021-06-25 01:03:38 +00:00
str r1, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-25 01:03:38 +00:00
str r1, [sp, #8]
ldr r0, [r0, #8]
add r1, sp, #0
2021-06-27 19:11:25 +00:00
bl sub_020247D4
2021-06-25 01:03:38 +00:00
_022274FE:
add sp, #0xc
pop {pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022274DC
thumb_func_start ov42_02227504
2021-06-27 18:48:56 +00:00
ov42_02227504: ; 0x02227504
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r4, r1, #0
add r5, r0, #0
add r6, r2, #0
2021-06-25 01:03:38 +00:00
cmp r4, #0xa
blt _02227514
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227514:
cmp r6, #4
blt _0222751C
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_0222751C:
str r4, [r5, #0xc]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
strh r0, [r5, #0x14]
2021-06-27 18:48:56 +00:00
ldr r0, _02227534 ; =0x02229B20
lsl r1, r4, #2
2021-06-25 01:03:38 +00:00
ldr r2, [r0, r1]
cmp r2, #0
beq _02227532
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r6, #0
2021-06-27 21:10:38 +00:00
blx r2
2021-06-25 01:03:38 +00:00
_02227532:
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_02227534: .word 0x02229B20
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227504
thumb_func_start ov42_02227538
2021-06-27 18:48:56 +00:00
ov42_02227538: ; 0x02227538
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
ldr r2, [r4, #0xc]
2021-06-27 18:48:56 +00:00
ldr r1, _0222756C ; =0x02229B04
mov r0, #0
2021-06-25 01:03:38 +00:00
ldrb r2, [r1, r2]
cmp r2, #0xff
bne _0222754C
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
b _02227558
_0222754C:
2021-06-27 18:48:56 +00:00
mov r1, #0x14
2021-06-25 01:03:38 +00:00
ldrsh r1, [r4, r1]
2021-06-27 18:48:56 +00:00
add r1, r1, #1
2021-06-25 01:03:38 +00:00
cmp r2, r1
blt _02227558
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
_02227558:
cmp r0, #1
bne _0222756A
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227D30
2021-06-27 18:48:56 +00:00
mov r0, #0x14
2021-06-25 01:03:38 +00:00
ldrsh r0, [r4, r0]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-25 01:03:38 +00:00
strh r0, [r4, #0x14]
_0222756A:
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_0222756C: .word 0x02229B04
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227538
thumb_func_start ov42_02227570
2021-06-27 18:48:56 +00:00
ov42_02227570: ; 0x02227570
2021-06-18 12:29:26 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
add r0, r1, #0
lsl r5, r0, #4
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0xc]
str r1, [sp, #0x10]
2021-06-27 18:48:56 +00:00
add r1, r0, r5
ldr r0, _022275F0 ; =0x00002188
2021-06-18 12:29:26 +00:00
str r2, [sp, #0x14]
ldr r0, [r1, r0]
cmp r0, #0
beq _0222758E
bl GF_AssertFail
2021-06-18 12:29:26 +00:00
_0222758E:
2021-06-27 18:48:56 +00:00
ldr r0, _022275F4 ; =0x02229B70
ldr r6, _022275F8 ; =_02229AF8
add r4, r0, r5
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
mov r7, #0
add r5, r0, r5
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
lsl r1, r0, #1
mov r0, #1
lsl r0, r0, #8
add r0, r1, r0
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x18]
_022275A6:
2021-06-27 18:48:56 +00:00
lsr r2, r7, #0x1f
lsl r1, r7, #0x1f
sub r1, r1, r2
mov r0, #0x1f
ror r1, r0
add r0, r2, r1
2021-06-18 12:29:26 +00:00
ldrb r2, [r6]
ldr r1, [sp, #0x18]
2021-06-27 18:48:56 +00:00
add r0, r0, #2
add r1, r2, r1
2021-06-18 12:29:26 +00:00
str r1, [sp]
ldr r1, [sp, #0x14]
str r0, [sp, #4]
str r1, [sp, #8]
2021-06-27 18:48:56 +00:00
lsl r1, r0, #2
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0xc]
ldr r2, [sp, #0xc]
2021-06-27 18:48:56 +00:00
add r1, r0, r1
ldr r0, _022275FC ; =0x000022F0
mov r3, #0
2021-06-18 12:29:26 +00:00
ldr r0, [r1, r0]
2021-06-27 18:48:56 +00:00
ldr r1, _02227600 ; =0x00002304
2021-06-18 12:29:26 +00:00
ldr r1, [r2, r1]
ldr r2, [r4]
2021-06-27 19:11:25 +00:00
bl sub_0200A540
2021-06-27 18:48:56 +00:00
ldr r1, _022275F0 ; =0x00002188
add r7, r7, #1
2021-06-18 12:29:26 +00:00
str r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r6, r6, #1
add r4, r4, #4
add r5, r5, #4
2021-06-18 12:29:26 +00:00
cmp r7, #4
blt _022275A6
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
nop
2021-06-27 18:48:56 +00:00
_022275F0: .word 0x00002188
_022275F4: .word 0x02229B70
_022275F8: .word _02229AF8
_022275FC: .word 0x000022F0
_02227600: .word 0x00002304
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227570
thumb_func_start ov42_02227604
2021-06-27 18:48:56 +00:00
ov42_02227604: ; 0x02227604
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r6, r0, #0
lsl r5, r1, #4
ldr r0, _0222764C ; =0x00002188
add r1, r6, r5
2021-06-25 01:03:38 +00:00
ldr r0, [r1, r0]
cmp r0, #0
bne _02227618
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227618:
2021-06-27 18:48:56 +00:00
mov r4, #0
add r5, r6, r5
add r7, r4, #0
2021-06-25 01:03:38 +00:00
_0222761E:
2021-06-27 18:48:56 +00:00
lsr r2, r4, #0x1f
lsl r1, r4, #0x1f
sub r1, r1, r2
mov r0, #0x1f
ror r1, r0
add r0, r2, r1
add r0, r0, #2
lsl r0, r0, #2
add r1, r6, r0
ldr r0, _02227650 ; =0x000022F0
2021-06-25 01:03:38 +00:00
ldr r0, [r1, r0]
2021-06-27 18:48:56 +00:00
ldr r1, _0222764C ; =0x00002188
2021-06-25 01:03:38 +00:00
ldr r1, [r5, r1]
2021-06-27 19:11:25 +00:00
bl sub_0200A75C
2021-06-27 18:48:56 +00:00
ldr r0, _0222764C ; =0x00002188
add r4, r4, #1
2021-06-25 01:03:38 +00:00
str r7, [r5, r0]
2021-06-27 18:48:56 +00:00
add r5, r5, #4
2021-06-25 01:03:38 +00:00
cmp r4, #4
blt _0222761E
pop {r3, r4, r5, r6, r7, pc}
nop
2021-06-27 18:48:56 +00:00
_0222764C: .word 0x00002188
_02227650: .word 0x000022F0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227604
thumb_func_start ov42_02227654
2021-06-27 18:48:56 +00:00
ov42_02227654: ; 0x02227654
2021-06-25 01:03:38 +00:00
push {r3, lr}
2021-06-27 18:48:56 +00:00
ldr r3, _02227678 ; =0x02229BA0
mov r2, #0
2021-06-25 01:03:38 +00:00
_0222765A:
ldrh r1, [r3]
cmp r0, r1
bne _02227668
2021-06-27 18:48:56 +00:00
ldr r0, _0222767C ; =0x02229BA2
lsl r1, r2, #2
2021-06-25 01:03:38 +00:00
ldrh r0, [r0, r1]
pop {r3, pc}
_02227668:
2021-06-27 18:48:56 +00:00
add r2, r2, #1
add r3, r3, #4
2021-06-25 01:03:38 +00:00
cmp r2, #0x99
blt _0222765A
bl GF_AssertFail
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r3, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_02227678: .word 0x02229BA0
_0222767C: .word 0x02229BA2
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227654
thumb_func_start ov42_02227680
2021-06-27 18:48:56 +00:00
ov42_02227680: ; 0x02227680
2021-06-25 01:03:38 +00:00
cmp r1, #0
bne _022276A4
cmp r0, #0
beq _0222769C
cmp r0, #0x61
beq _0222769C
cmp r0, #0xee
beq _0222769C
cmp r0, #0xef
beq _0222769C
2021-06-27 18:48:56 +00:00
ldr r1, _022276A8 ; =0x00000127
sub r0, r0, r1
2021-06-25 01:03:38 +00:00
cmp r0, #1
bhi _022276A0
_0222769C:
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
bx lr
_022276A0:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
bx lr
_022276A4:
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_022276A8: .word 0x00000127
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227680
thumb_func_start ov42_022276AC
2021-06-27 18:48:56 +00:00
ov42_022276AC: ; 0x022276AC
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r4, r1, #0
add r5, r0, #0
add r6, r2, #0
2021-06-25 01:03:38 +00:00
cmp r4, #2
beq _022276C0
cmp r4, #3
beq _022276C0
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_022276C0:
2021-06-27 18:48:56 +00:00
sub r1, r4, #2
2021-06-25 01:03:38 +00:00
cmp r6, #0
bne _022276C8
2021-06-27 18:48:56 +00:00
add r1, r1, #2
2021-06-25 01:03:38 +00:00
_022276C8:
2021-06-27 18:48:56 +00:00
ldr r0, _022276D8 ; =_02229AF8
2021-06-25 01:03:38 +00:00
ldrb r2, [r0, r1]
2021-06-27 18:48:56 +00:00
mov r0, #1
lsl r1, r5, #1
lsl r0, r0, #8
add r0, r1, r0
add r0, r2, r0
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_022276D8: .word _02229AF8
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022276AC
thumb_func_start ov42_022276DC
2021-06-27 18:48:56 +00:00
ov42_022276DC: ; 0x022276DC
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r1, #0
mov r0, #0x38
mul r0, r4
add r0, r5, r0
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #0x14]
2021-06-27 18:48:56 +00:00
add r6, r2, #0
add r7, r3, #0
2021-06-25 01:03:38 +00:00
cmp r0, #0
beq _022276F6
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_022276F6:
ldr r0, [sp, #0x1c]
cmp r0, #0
bne _0222770E
ldr r0, [sp, #0x18]
2021-06-27 18:48:56 +00:00
add r1, r4, #0
2021-06-25 01:03:38 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r2, r6, #0
add r3, r7, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227720
pop {r3, r4, r5, r6, r7, pc}
_0222770E:
ldr r0, [sp, #0x18]
2021-06-27 18:48:56 +00:00
add r1, r4, #0
2021-06-25 01:03:38 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r2, r6, #0
add r3, r7, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227874
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov42_022276DC
thumb_func_start ov42_02227720
2021-06-27 18:48:56 +00:00
ov42_02227720: ; 0x02227720
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0x44
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [sp, #0x58]
2021-06-27 18:48:56 +00:00
add r6, r5, #0
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x40]
2021-06-27 18:48:56 +00:00
mov r0, #2
lsl r0, r0, #8
add r0, r1, r0
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x38]
2021-06-27 18:48:56 +00:00
lsl r0, r1, #1
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x3c]
2021-06-27 18:48:56 +00:00
add r4, r1, #0
mov r0, #0x38
mul r4, r0
2021-06-25 01:03:38 +00:00
ldr r0, [sp, #0x38]
str r3, [sp, #0x30]
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r0, r2, #0
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
ldr r0, [sp, #0x40]
str r2, [sp, #0x2c]
ldr r2, [sp, #0x3c]
2021-06-27 18:48:56 +00:00
ldr r1, _0222786C ; =0x000022F0
2021-06-25 01:03:38 +00:00
str r0, [sp, #8]
ldr r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r1, #0x14
2021-06-25 01:03:38 +00:00
ldr r1, [r5, r1]
2021-06-27 18:48:56 +00:00
add r6, #0x14
add r2, #0xe
mov r3, #0
2021-06-27 19:11:25 +00:00
bl sub_0200A3C8
2021-06-25 01:03:38 +00:00
str r0, [r6, r4]
ldr r0, [sp, #0x38]
ldr r2, [sp, #0x3c]
str r0, [sp]
ldr r0, [sp, #0x2c]
2021-06-27 18:48:56 +00:00
add r7, r5, #0
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
str r0, [sp, #8]
ldr r0, [sp, #0x40]
2021-06-27 18:48:56 +00:00
add r2, #0xd
ldr r1, _02227870 ; =0x000022F4
2021-06-25 01:03:38 +00:00
str r0, [sp, #0xc]
ldr r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r1, #0x10
2021-06-25 01:03:38 +00:00
ldr r1, [r5, r1]
2021-06-27 18:48:56 +00:00
add r7, #0x18
mov r3, #0
2021-06-25 01:03:38 +00:00
str r2, [sp, #0x3c]
2021-06-27 19:11:25 +00:00
bl sub_0200A480
2021-06-25 01:03:38 +00:00
str r0, [r7, r4]
ldr r0, [r6, r4]
2021-06-27 19:11:25 +00:00
bl sub_0200A810
2021-06-27 18:48:56 +00:00
mov r1, #6
2021-06-25 01:03:38 +00:00
ldr r2, [r0, #0x10]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0xa
2021-06-25 01:03:38 +00:00
cmp r2, r1
beq _022277A4
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-25 01:03:38 +00:00
str r1, [sp, #0x34]
b _022277A8
_022277A4:
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-25 01:03:38 +00:00
str r1, [sp, #0x34]
_022277A8:
ldr r1, [sp, #0x30]
cmp r1, #2
bne _022277B6
2021-06-27 18:48:56 +00:00
mov r1, #2
lsl r1, r1, #0xa
2021-06-25 01:03:38 +00:00
str r1, [r0, #0x10]
b _022277CE
_022277B6:
cmp r1, #1
bne _022277CE
ldr r1, [sp, #0x34]
cmp r1, #0
beq _022277C8
2021-06-27 18:48:56 +00:00
mov r1, #5
lsl r1, r1, #0xa
2021-06-25 01:03:38 +00:00
str r1, [r0, #0x10]
b _022277CE
_022277C8:
2021-06-27 18:48:56 +00:00
mov r1, #6
lsl r1, r1, #0xa
2021-06-25 01:03:38 +00:00
str r1, [r0, #0x10]
_022277CE:
ldr r0, [r6, r4]
2021-06-27 19:11:25 +00:00
bl sub_0200AE18
2021-06-25 01:03:38 +00:00
cmp r0, #0
bne _022277DC
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_022277DC:
ldr r0, [r7, r4]
2021-06-27 19:11:25 +00:00
bl sub_0200B00C
2021-06-25 01:03:38 +00:00
cmp r0, #0
bne _022277EA
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_022277EA:
ldr r0, [r5, #4]
cmp r0, #0
beq _022277FA
ldr r1, [r7, r4]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r2, #1
2021-06-25 01:03:38 +00:00
bl ov42_02227E78
_022277FA:
ldr r0, [r6, r4]
2021-06-27 19:11:25 +00:00
bl sub_0200A740
2021-06-25 01:03:38 +00:00
ldr r0, [r7, r4]
2021-06-27 19:11:25 +00:00
bl sub_0200A740
2021-06-25 01:03:38 +00:00
ldr r0, [sp, #0x2c]
2021-06-27 18:48:56 +00:00
add r1, r5, r4
2021-06-25 01:03:38 +00:00
str r0, [r1, #0x1c]
ldr r0, [sp, #0x30]
ldr r2, [sp, #0x34]
str r0, [r1, #0x20]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
str r0, [r1, #0x10]
ldr r0, [sp, #0x30]
2021-06-27 18:48:56 +00:00
mov r1, #2
2021-06-25 01:03:38 +00:00
bl ov42_022276AC
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [sp, #0x30]
ldr r2, [sp, #0x34]
2021-06-27 18:48:56 +00:00
mov r1, #3
2021-06-25 01:03:38 +00:00
bl ov42_022276AC
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0
mvn r0, r0
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
ldr r2, _0222786C ; =0x000022F0
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x10]
ldr r1, [r5, r2]
2021-06-27 18:48:56 +00:00
add r3, r6, #0
2021-06-25 01:03:38 +00:00
str r1, [sp, #0x14]
2021-06-27 18:48:56 +00:00
add r1, r2, #4
2021-06-25 01:03:38 +00:00
ldr r1, [r5, r1]
str r1, [sp, #0x18]
2021-06-27 18:48:56 +00:00
add r1, r2, #0
add r1, #8
2021-06-25 01:03:38 +00:00
ldr r1, [r5, r1]
2021-06-27 18:48:56 +00:00
add r2, #0xc
2021-06-25 01:03:38 +00:00
str r1, [sp, #0x1c]
ldr r1, [r5, r2]
2021-06-27 18:48:56 +00:00
add r5, #0x24
2021-06-25 01:03:38 +00:00
str r1, [sp, #0x20]
ldr r1, [sp, #0x38]
str r0, [sp, #0x24]
str r0, [sp, #0x28]
2021-06-27 18:48:56 +00:00
add r0, r5, r4
add r2, r1, #0
2021-06-27 19:11:25 +00:00
bl sub_02009D48
2021-06-25 01:03:38 +00:00
add sp, #0x44
pop {r4, r5, r6, r7, pc}
nop
2021-06-27 18:48:56 +00:00
_0222786C: .word 0x000022F0
_02227870: .word 0x000022F4
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227720
thumb_func_start ov42_02227874
2021-06-27 18:48:56 +00:00
ov42_02227874: ; 0x02227874
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0x3c
2021-06-27 18:48:56 +00:00
add r7, r1, #0
add r5, r0, #0
sub r0, r7, #2
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x38]
2021-06-27 18:48:56 +00:00
mov r0, #2
lsl r0, r0, #8
add r0, r7, r0
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x34]
2021-06-27 18:48:56 +00:00
mov r0, #0x38
add r4, r7, #0
mul r4, r0
2021-06-25 01:03:38 +00:00
ldr r0, [sp, #0x34]
2021-06-27 18:48:56 +00:00
add r6, r5, #0
2021-06-25 01:03:38 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r0, r2, #0
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
ldr r0, [sp, #0x50]
str r2, [sp, #0x2c]
str r3, [sp, #0x30]
2021-06-27 18:48:56 +00:00
ldr r1, _02227940 ; =0x000022F0
2021-06-25 01:03:38 +00:00
str r0, [sp, #8]
ldr r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r1, #0x18
2021-06-25 01:03:38 +00:00
ldr r1, [r5, r1]
2021-06-27 18:48:56 +00:00
add r6, #0x14
sub r2, r7, #1
mov r3, #0
2021-06-27 19:11:25 +00:00
bl sub_0200A3C8
2021-06-25 01:03:38 +00:00
str r0, [r6, r4]
ldr r0, [sp, #0x30]
cmp r0, #2
bne _022278C8
ldr r0, [r6, r4]
2021-06-27 19:11:25 +00:00
bl sub_0200A810
2021-06-27 18:48:56 +00:00
mov r1, #2
lsl r1, r1, #0xa
2021-06-25 01:03:38 +00:00
str r1, [r0, #0x10]
b _022278D8
_022278C8:
cmp r0, #1
bne _022278D8
ldr r0, [r6, r4]
2021-06-27 19:11:25 +00:00
bl sub_0200A810
2021-06-27 18:48:56 +00:00
mov r1, #5
lsl r1, r1, #0xa
2021-06-25 01:03:38 +00:00
str r1, [r0, #0x10]
_022278D8:
ldr r0, [r6, r4]
2021-06-27 19:11:25 +00:00
bl sub_0200AE18
2021-06-25 01:03:38 +00:00
cmp r0, #0
bne _022278E6
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_022278E6:
ldr r0, [r6, r4]
2021-06-27 19:11:25 +00:00
bl sub_0200A740
2021-06-27 18:48:56 +00:00
mov r0, #0
add r2, r5, r4
2021-06-25 01:03:38 +00:00
ldr r1, [sp, #0x2c]
str r0, [r2, #0x18]
str r1, [r2, #0x1c]
ldr r1, [sp, #0x30]
2021-06-27 18:48:56 +00:00
mov r6, #1
2021-06-25 01:03:38 +00:00
str r1, [r2, #0x20]
str r6, [r2, #0x10]
2021-06-27 18:48:56 +00:00
mov r2, #6
2021-06-25 01:03:38 +00:00
ldr r1, [sp, #0x38]
2021-06-27 18:48:56 +00:00
lsl r2, r2, #6
add r3, r1, r2
2021-06-25 01:03:38 +00:00
str r3, [sp]
2021-06-27 18:48:56 +00:00
sub r1, r6, #2
2021-06-25 01:03:38 +00:00
str r1, [sp, #4]
str r1, [sp, #8]
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
ldr r2, _02227940 ; =0x000022F0
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x10]
ldr r1, [r5, r2]
str r1, [sp, #0x14]
2021-06-27 18:48:56 +00:00
add r1, r2, #4
2021-06-25 01:03:38 +00:00
ldr r1, [r5, r1]
str r1, [sp, #0x18]
2021-06-27 18:48:56 +00:00
add r1, r2, #0
add r1, #8
2021-06-25 01:03:38 +00:00
ldr r1, [r5, r1]
2021-06-27 18:48:56 +00:00
add r2, #0xc
2021-06-25 01:03:38 +00:00
str r1, [sp, #0x1c]
ldr r1, [r5, r2]
2021-06-27 18:48:56 +00:00
add r5, #0x24
2021-06-25 01:03:38 +00:00
str r1, [sp, #0x20]
str r0, [sp, #0x24]
str r0, [sp, #0x28]
ldr r1, [sp, #0x34]
2021-06-27 18:48:56 +00:00
ldr r2, _02227944 ; =0x00000402
add r0, r5, r4
2021-06-27 19:11:25 +00:00
bl sub_02009D48
2021-06-25 01:03:38 +00:00
add sp, #0x3c
pop {r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_02227940: .word 0x000022F0
_02227944: .word 0x00000402
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227874
thumb_func_start ov42_02227948
2021-06-27 18:48:56 +00:00
ov42_02227948: ; 0x02227948
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r6, r1, #0
add r5, r0, #0
mov r0, #0x38
add r4, r6, #0
mul r4, r0
add r0, r5, r4
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #0x14]
cmp r0, #0
bne _02227960
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227960:
2021-06-27 18:48:56 +00:00
add r0, r5, r4
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #0x10]
cmp r0, #0
bne _02227972
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r6, #0
2021-06-25 01:03:38 +00:00
bl ov42_0222797C
pop {r4, r5, r6, pc}
_02227972:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r6, #0
2021-06-25 01:03:38 +00:00
bl ov42_022279C0
pop {r4, r5, r6, pc}
thumb_func_end ov42_02227948
thumb_func_start ov42_0222797C
2021-06-27 18:48:56 +00:00
ov42_0222797C: ; 0x0222797C
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r6, r5, #0
mov r0, #0x38
add r4, r1, #0
mul r4, r0
add r6, #0x14
2021-06-25 01:03:38 +00:00
ldr r0, [r6, r4]
2021-06-27 19:11:25 +00:00
bl sub_0200AEB0
2021-06-27 18:48:56 +00:00
add r7, r5, #0
add r7, #0x18
2021-06-25 01:03:38 +00:00
ldr r0, [r7, r4]
2021-06-27 19:11:25 +00:00
bl sub_0200B0A8
2021-06-27 18:48:56 +00:00
ldr r0, _022279B8 ; =0x000022F0
2021-06-25 01:03:38 +00:00
ldr r1, [r6, r4]
ldr r0, [r5, r0]
2021-06-27 19:11:25 +00:00
bl sub_0200A75C
2021-06-27 18:48:56 +00:00
ldr r0, _022279BC ; =0x000022F4
2021-06-25 01:03:38 +00:00
ldr r1, [r7, r4]
ldr r0, [r5, r0]
2021-06-27 19:11:25 +00:00
bl sub_0200A75C
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
str r0, [r6, r4]
str r0, [r7, r4]
pop {r3, r4, r5, r6, r7, pc}
nop
2021-06-27 18:48:56 +00:00
_022279B8: .word 0x000022F0
_022279BC: .word 0x000022F4
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_0222797C
thumb_func_start ov42_022279C0
2021-06-27 18:48:56 +00:00
ov42_022279C0: ; 0x022279C0
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r6, r0, #0
add r5, r6, #0
mov r0, #0x38
add r4, r1, #0
add r5, #0x14
mul r4, r0
2021-06-25 01:03:38 +00:00
ldr r0, [r5, r4]
2021-06-27 19:11:25 +00:00
bl sub_0200AEB0
2021-06-27 18:48:56 +00:00
ldr r0, _022279E4 ; =0x000022F0
2021-06-25 01:03:38 +00:00
ldr r1, [r5, r4]
ldr r0, [r6, r0]
2021-06-27 19:11:25 +00:00
bl sub_0200A75C
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
str r0, [r5, r4]
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_022279E4: .word 0x000022F0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022279C0
thumb_func_start ov42_022279E8
2021-06-27 18:48:56 +00:00
ov42_022279E8: ; 0x022279E8
mov r2, #0x38
mul r2, r1
add r0, r0, r2
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #0x14]
cmp r0, #0
beq _022279F8
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
bx lr
_022279F8:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
bx lr
thumb_func_end ov42_022279E8
thumb_func_start ov42_022279FC
2021-06-27 18:48:56 +00:00
ov42_022279FC: ; 0x022279FC
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x38
2021-06-27 18:48:56 +00:00
add r6, r0, #0
ldr r0, _02227AF0 ; =0x000022B8
2021-06-25 01:03:38 +00:00
str r1, [sp, #0x2c]
ldr r0, [r6, r0]
2021-06-27 18:48:56 +00:00
add r7, r2, #0
2021-06-25 01:03:38 +00:00
cmp r0, #0
beq _02227A12
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227A12:
2021-06-27 18:48:56 +00:00
mov r4, #0
ldr r5, _02227AF4 ; =0x02229AFC
2021-06-25 01:03:38 +00:00
str r4, [sp, #0x34]
_02227A18:
ldrb r1, [r5]
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-25 01:03:38 +00:00
bl ov42_022279E8
cmp r0, #1
bne _02227A30
2021-06-27 18:48:56 +00:00
ldr r0, _02227AF4 ; =0x02229AFC
2021-06-25 01:03:38 +00:00
ldrb r0, [r0, r4]
str r0, [sp, #0x30]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x34]
b _02227A38
_02227A30:
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, r5, #1
2021-06-25 01:03:38 +00:00
cmp r4, #6
blt _02227A18
_02227A38:
ldr r0, [sp, #0x34]
cmp r0, #1
beq _02227A42
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227A42:
2021-06-27 18:48:56 +00:00
mov r5, #0
add r4, r6, #0
2021-06-25 01:03:38 +00:00
_02227A46:
2021-06-27 18:48:56 +00:00
mov r0, #0x12
lsl r0, r0, #4
2021-06-25 01:03:38 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r0, r5, #2
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
ldr r0, _02227AF8 ; =0x000022F8
2021-06-25 01:03:38 +00:00
str r7, [sp, #8]
2021-06-27 18:48:56 +00:00
ldr r1, _02227AFC ; =0x00002304
2021-06-25 01:03:38 +00:00
ldr r0, [r4, r0]
ldr r1, [r6, r1]
2021-06-27 18:48:56 +00:00
add r2, r5, #0
mov r3, #0
2021-06-27 19:11:25 +00:00
bl sub_0200A540
2021-06-27 18:48:56 +00:00
mov r1, #0x8b
lsl r1, r1, #6
2021-06-25 01:03:38 +00:00
str r0, [r4, r1]
2021-06-27 18:48:56 +00:00
add r5, r5, #1
add r4, r4, #4
2021-06-25 01:03:38 +00:00
cmp r5, #2
blt _02227A46
2021-06-27 18:48:56 +00:00
mov r0, #0x12
lsl r0, r0, #4
2021-06-25 01:03:38 +00:00
str r0, [sp]
ldr r0, [sp, #0x2c]
2021-06-27 18:48:56 +00:00
add r1, #0x30
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
str r7, [sp, #8]
ldr r0, [r6, r1]
2021-06-27 18:48:56 +00:00
add r1, #0x14
2021-06-25 01:03:38 +00:00
ldr r1, [r6, r1]
2021-06-27 18:48:56 +00:00
mov r2, #2
mov r3, #0
2021-06-27 19:11:25 +00:00
bl sub_0200A3C8
2021-06-27 18:48:56 +00:00
ldr r1, _02227AF0 ; =0x000022B8
2021-06-25 01:03:38 +00:00
str r0, [r6, r1]
ldr r0, [r6, r1]
2021-06-27 19:11:25 +00:00
bl sub_0200AE18
2021-06-25 01:03:38 +00:00
cmp r0, #0
bne _02227A9E
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227A9E:
2021-06-27 18:48:56 +00:00
ldr r0, _02227AF0 ; =0x000022B8
2021-06-25 01:03:38 +00:00
ldr r0, [r6, r0]
2021-06-27 19:11:25 +00:00
bl sub_0200A740
2021-06-27 18:48:56 +00:00
mov r1, #0x12
lsl r1, r1, #4
mov r0, #0
2021-06-25 01:03:38 +00:00
str r1, [sp]
2021-06-27 18:48:56 +00:00
mvn r0, r0
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
ldr r3, _02227B00 ; =0x000022F0
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x10]
ldr r2, [r6, r3]
str r2, [sp, #0x14]
2021-06-27 18:48:56 +00:00
add r2, r3, #4
2021-06-25 01:03:38 +00:00
ldr r2, [r6, r2]
str r2, [sp, #0x18]
2021-06-27 18:48:56 +00:00
add r2, r3, #0
add r2, #8
2021-06-25 01:03:38 +00:00
ldr r2, [r6, r2]
str r2, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
add r2, r3, #0
add r2, #0xc
2021-06-25 01:03:38 +00:00
ldr r2, [r6, r2]
2021-06-27 18:48:56 +00:00
sub r3, #0x28
2021-06-25 01:03:38 +00:00
str r2, [sp, #0x20]
str r0, [sp, #0x24]
str r0, [sp, #0x28]
2021-06-27 18:48:56 +00:00
add r0, r6, r3
add r3, r1, #0
2021-06-25 01:03:38 +00:00
ldr r2, [sp, #0x30]
2021-06-27 18:48:56 +00:00
add r3, #0xe0
add r2, r2, r3
add r3, r1, #0
2021-06-27 19:11:25 +00:00
bl sub_02009D48
2021-06-25 01:03:38 +00:00
add sp, #0x38
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_02227AF0: .word 0x000022B8
_02227AF4: .word 0x02229AFC
_02227AF8: .word 0x000022F8
_02227AFC: .word 0x00002304
_02227B00: .word 0x000022F0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022279FC
thumb_func_start ov42_02227B04
2021-06-27 18:48:56 +00:00
ov42_02227B04: ; 0x02227B04
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
ldr r0, _02227B50 ; =0x000022B8
add r0, r5, r0
2021-06-25 01:03:38 +00:00
bl ov42_02227B5C
cmp r0, #1
bne _02227B4C
2021-06-27 18:48:56 +00:00
ldr r0, _02227B50 ; =0x000022B8
2021-06-25 01:03:38 +00:00
ldr r0, [r5, r0]
2021-06-27 19:11:25 +00:00
bl sub_0200AEB0
2021-06-27 18:48:56 +00:00
ldr r1, _02227B54 ; =0x000022F0
2021-06-25 01:03:38 +00:00
ldr r0, [r5, r1]
2021-06-27 18:48:56 +00:00
sub r1, #0x38
2021-06-25 01:03:38 +00:00
ldr r1, [r5, r1]
2021-06-27 19:11:25 +00:00
bl sub_0200A75C
2021-06-27 18:48:56 +00:00
ldr r0, _02227B50 ; =0x000022B8
mov r4, #0
add r7, r0, #0
2021-06-25 01:03:38 +00:00
str r4, [r5, r0]
2021-06-27 18:48:56 +00:00
add r6, r4, #0
add r7, #8
2021-06-25 01:03:38 +00:00
_02227B34:
2021-06-27 18:48:56 +00:00
ldr r0, _02227B58 ; =0x000022F8
mov r1, #0x8b
lsl r1, r1, #6
2021-06-25 01:03:38 +00:00
ldr r0, [r5, r0]
ldr r1, [r5, r1]
2021-06-27 19:11:25 +00:00
bl sub_0200A75C
2021-06-25 01:03:38 +00:00
str r6, [r5, r7]
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, r5, #4
2021-06-25 01:03:38 +00:00
cmp r4, #2
blt _02227B34
_02227B4C:
pop {r3, r4, r5, r6, r7, pc}
nop
2021-06-27 18:48:56 +00:00
_02227B50: .word 0x000022B8
_02227B54: .word 0x000022F0
_02227B58: .word 0x000022F8
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227B04
thumb_func_start ov42_02227B5C
2021-06-27 18:48:56 +00:00
ov42_02227B5C: ; 0x02227B5C
2021-06-25 01:03:38 +00:00
ldr r0, [r0]
cmp r0, #0
beq _02227B66
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
bx lr
_02227B66:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227B5C
thumb_func_start ov42_02227B6C
2021-06-27 18:48:56 +00:00
ov42_02227B6C: ; 0x02227B6C
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
sub sp, #0x10
2021-06-27 18:48:56 +00:00
add r5, r0, #0
mov r0, #0x23
lsl r0, r0, #8
2021-06-25 01:03:38 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
add r4, r1, #0
add r6, r2, #0
2021-06-25 01:03:38 +00:00
cmp r0, #0
beq _02227B84
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227B84:
2021-06-27 18:48:56 +00:00
ldr r0, _02227BD8 ; =0x00000402
mov r2, #0
2021-06-25 01:03:38 +00:00
str r0, [sp]
str r4, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #8
2021-06-25 01:03:38 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
ldr r1, _02227BDC ; =0x000022F4
2021-06-25 01:03:38 +00:00
str r6, [sp, #0xc]
ldr r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r1, #0x14
2021-06-25 01:03:38 +00:00
ldr r1, [r5, r1]
2021-06-27 18:48:56 +00:00
add r3, r2, #0
2021-06-27 19:11:25 +00:00
bl sub_0200A480
2021-06-27 18:48:56 +00:00
mov r1, #0x23
lsl r1, r1, #8
2021-06-25 01:03:38 +00:00
str r0, [r5, r1]
ldr r0, [r5, r1]
2021-06-27 19:11:25 +00:00
bl sub_0200B00C
2021-06-25 01:03:38 +00:00
cmp r0, #0
bne _02227BB4
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227BB4:
ldr r0, [r5, #4]
cmp r0, #0
beq _02227BC8
2021-06-27 18:48:56 +00:00
mov r1, #0x23
lsl r1, r1, #8
2021-06-25 01:03:38 +00:00
ldr r1, [r5, r1]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r2, #8
2021-06-25 01:03:38 +00:00
bl ov42_02227E78
_02227BC8:
2021-06-27 18:48:56 +00:00
mov r0, #0x23
lsl r0, r0, #8
2021-06-25 01:03:38 +00:00
ldr r0, [r5, r0]
2021-06-27 19:11:25 +00:00
bl sub_0200A740
2021-06-25 01:03:38 +00:00
add sp, #0x10
pop {r4, r5, r6, pc}
nop
2021-06-27 18:48:56 +00:00
_02227BD8: .word 0x00000402
_02227BDC: .word 0x000022F4
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227B6C
thumb_func_start ov42_02227BE0
2021-06-27 18:48:56 +00:00
ov42_02227BE0: ; 0x02227BE0
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
mov r0, #0x23
lsl r0, r0, #8
2021-06-25 01:03:38 +00:00
ldr r0, [r4, r0]
cmp r0, #0
bne _02227BF2
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227BF2:
2021-06-27 18:48:56 +00:00
mov r0, #0x23
lsl r0, r0, #8
2021-06-25 01:03:38 +00:00
ldr r0, [r4, r0]
2021-06-27 19:11:25 +00:00
bl sub_0200B0A8
2021-06-27 18:48:56 +00:00
ldr r1, _02227C14 ; =0x000022F4
2021-06-25 01:03:38 +00:00
ldr r0, [r4, r1]
2021-06-27 18:48:56 +00:00
add r1, #0xc
2021-06-25 01:03:38 +00:00
ldr r1, [r4, r1]
2021-06-27 19:11:25 +00:00
bl sub_0200A75C
2021-06-27 18:48:56 +00:00
mov r0, #0x23
mov r1, #0
lsl r0, r0, #8
2021-06-25 01:03:38 +00:00
str r1, [r4, r0]
pop {r4, pc}
nop
2021-06-27 18:48:56 +00:00
_02227C14: .word 0x000022F4
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227BE0
thumb_func_start ov42_02227C18
2021-06-27 18:48:56 +00:00
ov42_02227C18: ; 0x02227C18
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0x14
2021-06-27 18:48:56 +00:00
add r5, r0, #0
ldr r0, _02227C94 ; =0x000021B8
2021-06-25 01:03:38 +00:00
str r1, [sp, #0xc]
ldr r0, [r5, r0]
cmp r0, #0
beq _02227C2C
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227C2C:
2021-06-27 18:48:56 +00:00
mov r0, #0x11
mov r4, #0
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
add r6, r5, #0
mov r7, #0x12
2021-06-25 01:03:38 +00:00
_02227C36:
2021-06-27 18:48:56 +00:00
mov r0, #6
lsl r0, r0, #6
add r0, r4, r0
2021-06-25 01:03:38 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
ldr r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
ldr r1, _02227C98 ; =0x00002308
2021-06-25 01:03:38 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
ldr r0, _02227C9C ; =0x000022F8
2021-06-25 01:03:38 +00:00
ldr r1, [r5, r1]
ldr r0, [r5, r0]
ldr r2, [sp, #0x10]
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-27 19:11:25 +00:00
bl sub_0200A540
2021-06-27 18:48:56 +00:00
ldr r1, _02227C94 ; =0x000021B8
add r2, r7, #0
2021-06-25 01:03:38 +00:00
str r0, [r6, r1]
2021-06-27 18:48:56 +00:00
mov r0, #6
lsl r0, r0, #6
add r0, r4, r0
2021-06-25 01:03:38 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #3
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
ldr r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
ldr r1, _02227C98 ; =0x00002308
2021-06-25 01:03:38 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
ldr r0, _02227CA0 ; =0x000022FC
2021-06-25 01:03:38 +00:00
ldr r1, [r5, r1]
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-27 19:11:25 +00:00
bl sub_0200A540
2021-06-27 18:48:56 +00:00
ldr r1, _02227CA4 ; =0x000021BC
add r4, r4, #1
2021-06-25 01:03:38 +00:00
str r0, [r6, r1]
ldr r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
add r6, #0x10
add r0, r0, #2
add r7, r7, #2
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x10]
cmp r4, #0x10
blt _02227C36
add sp, #0x14
pop {r4, r5, r6, r7, pc}
nop
2021-06-27 18:48:56 +00:00
_02227C94: .word 0x000021B8
_02227C98: .word 0x00002308
_02227C9C: .word 0x000022F8
_02227CA0: .word 0x000022FC
_02227CA4: .word 0x000021BC
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227C18
thumb_func_start ov42_02227CA8
2021-06-27 18:48:56 +00:00
ov42_02227CA8: ; 0x02227CA8
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
ldr r0, _02227CE8 ; =0x000021B8
2021-06-25 01:03:38 +00:00
ldr r0, [r5, r0]
cmp r0, #0
bne _02227CB8
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227CB8:
2021-06-27 18:48:56 +00:00
mov r6, #0
add r4, r5, #0
add r7, r6, #0
2021-06-25 01:03:38 +00:00
_02227CBE:
2021-06-27 18:48:56 +00:00
ldr r0, _02227CEC ; =0x000022F8
ldr r1, _02227CE8 ; =0x000021B8
2021-06-25 01:03:38 +00:00
ldr r0, [r5, r0]
ldr r1, [r4, r1]
2021-06-27 19:11:25 +00:00
bl sub_0200A75C
2021-06-27 18:48:56 +00:00
ldr r0, _02227CF0 ; =0x000022FC
ldr r1, _02227CF4 ; =0x000021BC
2021-06-25 01:03:38 +00:00
ldr r0, [r5, r0]
ldr r1, [r4, r1]
2021-06-27 19:11:25 +00:00
bl sub_0200A75C
2021-06-27 18:48:56 +00:00
ldr r0, _02227CE8 ; =0x000021B8
add r6, r6, #1
2021-06-25 01:03:38 +00:00
str r7, [r4, r0]
2021-06-27 18:48:56 +00:00
add r0, r0, #4
2021-06-25 01:03:38 +00:00
str r7, [r4, r0]
2021-06-27 18:48:56 +00:00
add r4, #0x10
2021-06-25 01:03:38 +00:00
cmp r6, #0x10
blt _02227CBE
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_02227CE8: .word 0x000021B8
_02227CEC: .word 0x000022F8
_02227CF0: .word 0x000022FC
_02227CF4: .word 0x000021BC
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227CA8
thumb_func_start ov42_02227CF8
2021-06-27 18:48:56 +00:00
ov42_02227CF8: ; 0x02227CF8
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r5, #0xc]
2021-06-27 18:48:56 +00:00
mov r6, #0
2021-06-25 01:03:38 +00:00
cmp r0, #0
bls _02227D26
2021-06-27 18:48:56 +00:00
add r4, r6, #0
2021-06-25 01:03:38 +00:00
_02227D06:
ldr r0, [r5, #8]
2021-06-27 18:48:56 +00:00
add r0, r0, r4
2021-06-25 01:03:38 +00:00
bl ov42_02227E68
cmp r0, #1
bne _02227D1C
2021-06-27 18:48:56 +00:00
mov r0, #0x18
2021-06-25 01:03:38 +00:00
ldr r1, [r5, #8]
2021-06-27 18:48:56 +00:00
mul r0, r6
add r0, r1, r0
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
_02227D1C:
ldr r0, [r5, #0xc]
2021-06-27 18:48:56 +00:00
add r6, r6, #1
add r4, #0x18
2021-06-25 01:03:38 +00:00
cmp r6, r0
blo _02227D06
_02227D26:
bl GF_AssertFail
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227CF8
thumb_func_start ov42_02227D30
2021-06-27 18:48:56 +00:00
ov42_02227D30: ; 0x02227D30
2021-06-25 01:03:38 +00:00
push {r3, lr}
ldr r1, [r0, #0xc]
2021-06-27 18:48:56 +00:00
lsl r2, r1, #2
ldr r1, _02227D44 ; =0x02229B48
2021-06-25 01:03:38 +00:00
ldr r1, [r1, r2]
cmp r1, #0
beq _02227D40
2021-06-27 21:10:38 +00:00
blx r1
2021-06-25 01:03:38 +00:00
_02227D40:
pop {r3, pc}
nop
2021-06-27 18:48:56 +00:00
_02227D44: .word 0x02229B48
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227D30
thumb_func_start ov42_02227D48
2021-06-27 18:48:56 +00:00
ov42_02227D48: ; 0x02227D48
2021-06-27 19:11:25 +00:00
ldr r3, _02227D50 ; =sub_02024950
2021-06-25 01:03:38 +00:00
str r1, [r0, #0x10]
ldr r0, [r0, #4]
bx r3
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 19:11:25 +00:00
_02227D50: .word sub_02024950
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227D48
thumb_func_start ov42_02227D54
2021-06-27 18:48:56 +00:00
ov42_02227D54: ; 0x02227D54
2021-06-27 19:11:25 +00:00
ldr r3, _02227D60 ; =sub_02024950
2021-06-25 01:03:38 +00:00
str r1, [r0, #0x10]
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
mov r1, #4
2021-06-25 01:03:38 +00:00
bx r3
nop
2021-06-27 19:11:25 +00:00
_02227D60: .word sub_02024950
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227D54
thumb_func_start ov42_02227D64
2021-06-27 18:48:56 +00:00
ov42_02227D64: ; 0x02227D64
2021-06-27 19:11:25 +00:00
ldr r3, _02227D70 ; =sub_02024950
2021-06-25 01:03:38 +00:00
str r1, [r0, #0x10]
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
add r1, r1, #5
2021-06-25 01:03:38 +00:00
bx r3
nop
2021-06-27 19:11:25 +00:00
_02227D70: .word sub_02024950
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227D64
thumb_func_start ov42_02227D74
2021-06-27 18:48:56 +00:00
ov42_02227D74: ; 0x02227D74
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r1, #0
2021-06-25 01:03:38 +00:00
ldr r1, [r5, #0x10]
ldr r0, [r5, #4]
2021-06-27 18:48:56 +00:00
add r1, r1, #5
2021-06-27 19:11:25 +00:00
bl sub_02024950
2021-06-25 01:03:38 +00:00
str r4, [r5, #0x10]
pop {r3, r4, r5, pc}
thumb_func_end ov42_02227D74
thumb_func_start ov42_02227D88
2021-06-27 18:48:56 +00:00
ov42_02227D88: ; 0x02227D88
2021-06-27 19:11:25 +00:00
ldr r3, _02227D94 ; =sub_02024950
2021-06-25 01:03:38 +00:00
str r1, [r0, #0x10]
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
add r1, #9
2021-06-25 01:03:38 +00:00
bx r3
nop
2021-06-27 19:11:25 +00:00
_02227D94: .word sub_02024950
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227D88
thumb_func_start ov42_02227D98
2021-06-27 18:48:56 +00:00
ov42_02227D98: ; 0x02227D98
2021-06-27 19:11:25 +00:00
ldr r3, _02227DA4 ; =sub_02024950
2021-06-25 01:03:38 +00:00
str r1, [r0, #0x10]
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
add r1, r1, #5
2021-06-25 01:03:38 +00:00
bx r3
nop
2021-06-27 19:11:25 +00:00
_02227DA4: .word sub_02024950
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227D98
thumb_func_start ov42_02227DA8
2021-06-27 18:48:56 +00:00
ov42_02227DA8: ; 0x02227DA8
2021-06-27 19:11:25 +00:00
ldr r3, _02227DB4 ; =sub_02024950
2021-06-25 01:03:38 +00:00
str r1, [r0, #0x10]
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
add r1, r1, #5
2021-06-25 01:03:38 +00:00
bx r3
nop
2021-06-27 19:11:25 +00:00
_02227DB4: .word sub_02024950
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227DA8
thumb_func_start ov42_02227DB8
2021-06-27 18:48:56 +00:00
ov42_02227DB8: ; 0x02227DB8
2021-06-27 19:11:25 +00:00
ldr r3, _02227DC4 ; =sub_02024950
2021-06-25 01:03:38 +00:00
str r1, [r0, #0x10]
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
add r1, r1, #5
2021-06-25 01:03:38 +00:00
bx r3
nop
2021-06-27 19:11:25 +00:00
_02227DC4: .word sub_02024950
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227DB8
thumb_func_start ov42_02227DC8
2021-06-27 18:48:56 +00:00
ov42_02227DC8: ; 0x02227DC8
2021-06-27 19:11:25 +00:00
ldr r3, _02227DD4 ; =sub_02024950
2021-06-25 01:03:38 +00:00
str r1, [r0, #0x10]
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
add r1, r1, #5
2021-06-25 01:03:38 +00:00
bx r3
nop
2021-06-27 19:11:25 +00:00
_02227DD4: .word sub_02024950
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227DC8
thumb_func_start ov42_02227DD8
2021-06-27 18:48:56 +00:00
ov42_02227DD8: ; 0x02227DD8
2021-06-27 19:11:25 +00:00
ldr r3, _02227DE4 ; =sub_020249B0
2021-06-27 18:48:56 +00:00
mov r1, #2
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0xc
2021-06-25 01:03:38 +00:00
bx r3
nop
2021-06-27 19:11:25 +00:00
_02227DE4: .word sub_020249B0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227DD8
thumb_func_start ov42_02227DE8
2021-06-27 18:48:56 +00:00
ov42_02227DE8: ; 0x02227DE8
2021-06-27 19:11:25 +00:00
ldr r3, _02227DF4 ; =sub_020249B0
2021-06-27 18:48:56 +00:00
mov r1, #2
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0xc
2021-06-25 01:03:38 +00:00
bx r3
nop
2021-06-27 19:11:25 +00:00
_02227DF4: .word sub_020249B0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227DE8
thumb_func_start ov42_02227DF8
2021-06-27 18:48:56 +00:00
ov42_02227DF8: ; 0x02227DF8
2021-06-25 01:03:38 +00:00
push {r3, lr}
2021-06-27 18:48:56 +00:00
add r1, r0, #0
mov r0, #0x14
2021-06-25 01:03:38 +00:00
ldrsh r0, [r1, r0]
cmp r0, #0
ldr r0, [r1, #4]
bne _02227E0E
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_020249D4
2021-06-25 01:03:38 +00:00
pop {r3, pc}
_02227E0E:
ldr r1, [r1, #0x10]
2021-06-27 18:48:56 +00:00
add r1, r1, #5
2021-06-27 19:11:25 +00:00
bl sub_020248F0
2021-06-25 01:03:38 +00:00
pop {r3, pc}
thumb_func_end ov42_02227DF8
thumb_func_start ov42_02227E18
2021-06-27 18:48:56 +00:00
ov42_02227E18: ; 0x02227E18
2021-06-27 19:11:25 +00:00
ldr r3, _02227E24 ; =sub_020249B0
2021-06-27 18:48:56 +00:00
mov r1, #2
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0xc
2021-06-25 01:03:38 +00:00
bx r3
nop
2021-06-27 19:11:25 +00:00
_02227E24: .word sub_020249B0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227E18
thumb_func_start ov42_02227E28
2021-06-27 18:48:56 +00:00
ov42_02227E28: ; 0x02227E28
2021-06-27 19:11:25 +00:00
ldr r3, _02227E34 ; =sub_020249B0
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0xc
2021-06-25 01:03:38 +00:00
bx r3
nop
2021-06-27 19:11:25 +00:00
_02227E34: .word sub_020249B0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227E28
thumb_func_start ov42_02227E38
2021-06-27 18:48:56 +00:00
ov42_02227E38: ; 0x02227E38
2021-06-27 19:11:25 +00:00
ldr r3, _02227E44 ; =sub_020249B0
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0xc
2021-06-25 01:03:38 +00:00
bx r3
nop
2021-06-27 19:11:25 +00:00
_02227E44: .word sub_020249B0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227E38
thumb_func_start ov42_02227E48
2021-06-27 18:48:56 +00:00
ov42_02227E48: ; 0x02227E48
2021-06-27 19:11:25 +00:00
ldr r3, _02227E54 ; =sub_020249B0
2021-06-27 18:48:56 +00:00
mov r1, #2
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0xe
2021-06-25 01:03:38 +00:00
bx r3
nop
2021-06-27 19:11:25 +00:00
_02227E54: .word sub_020249B0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227E48
thumb_func_start ov42_02227E58
2021-06-27 18:48:56 +00:00
ov42_02227E58: ; 0x02227E58
2021-06-27 19:11:25 +00:00
ldr r3, _02227E64 ; =sub_020249B0
2021-06-27 18:48:56 +00:00
mov r1, #6
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0xc
2021-06-25 01:03:38 +00:00
bx r3
nop
2021-06-27 19:11:25 +00:00
_02227E64: .word sub_020249B0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227E58
thumb_func_start ov42_02227E68
2021-06-27 18:48:56 +00:00
ov42_02227E68: ; 0x02227E68
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
cmp r0, #0
bne _02227E72
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
bx lr
_02227E72:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227E68
thumb_func_start ov42_02227E78
2021-06-27 18:48:56 +00:00
ov42_02227E78: ; 0x02227E78
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r6, r1, #0
add r5, r0, #0
add r0, r6, #0
add r4, r2, #0
2021-06-27 19:11:25 +00:00
bl sub_0200A828
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r6, #0
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_0200B12C
2021-06-27 18:48:56 +00:00
add r7, r0, #0
add r0, r6, #0
mov r1, #2
2021-06-27 19:11:25 +00:00
bl sub_0200B12C
2021-06-27 18:48:56 +00:00
add r6, r0, #0
mov r0, #0
mvn r0, r0
2021-06-25 01:03:38 +00:00
cmp r7, r0
beq _02227EBC
2021-06-27 18:48:56 +00:00
lsl r0, r4, #0x15
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
str r0, [sp]
ldr r1, [sp, #4]
2021-06-27 18:48:56 +00:00
lsl r3, r7, #0x14
2021-06-25 01:03:38 +00:00
ldr r0, [r5, #4]
ldr r1, [r1, #0xc]
2021-06-27 18:48:56 +00:00
mov r2, #2
lsr r3, r3, #0x10
2021-08-13 18:03:14 +00:00
bl PaletteData_LoadPalette
2021-06-25 01:03:38 +00:00
_02227EBC:
2021-06-27 18:48:56 +00:00
mov r0, #0
mvn r0, r0
2021-06-25 01:03:38 +00:00
cmp r6, r0
beq _02227EDA
2021-06-27 18:48:56 +00:00
lsl r0, r4, #0x15
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
str r0, [sp]
ldr r1, [sp, #4]
2021-06-27 18:48:56 +00:00
lsl r3, r6, #0x14
2021-06-25 01:03:38 +00:00
ldr r0, [r5, #4]
ldr r1, [r1, #0xc]
2021-06-27 18:48:56 +00:00
mov r2, #3
lsr r3, r3, #0x10
2021-08-13 18:03:14 +00:00
bl PaletteData_LoadPalette
2021-06-25 01:03:38 +00:00
_02227EDA:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227E78
thumb_func_start ov42_02227EE0
2021-06-27 18:48:56 +00:00
ov42_02227EE0: ; 0x02227EE0
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r7, r2, #0
add r5, r0, #0
add r6, r1, #0
add r0, r7, #0
mov r1, #8
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
bne _02227EF8
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227EF8:
strh r5, [r4]
strh r6, [r4, #2]
ldrh r2, [r4]
ldrh r1, [r4, #2]
2021-06-27 18:48:56 +00:00
add r0, r7, #0
mul r1, r2
lsl r1, r1, #2
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-25 01:03:38 +00:00
str r0, [r4, #4]
cmp r0, #0
bne _02227F14
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227F14:
ldrh r3, [r4]
ldrh r2, [r4, #2]
ldr r0, [r4, #4]
2021-06-27 18:48:56 +00:00
mov r1, #0
mul r2, r3
lsl r2, r2, #2
bl memset
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov42_02227EE0
thumb_func_start ov42_02227F28
2021-06-27 18:48:56 +00:00
ov42_02227F28: ; 0x02227F28
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
bne _02227F32
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227F32:
ldr r0, [r4, #4]
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-25 01:03:38 +00:00
pop {r4, pc}
thumb_func_end ov42_02227F28
thumb_func_start ov42_02227F40
2021-06-27 18:48:56 +00:00
ov42_02227F40: ; 0x02227F40
2021-06-25 01:03:38 +00:00
ldrh r0, [r0]
bx lr
thumb_func_end ov42_02227F40
thumb_func_start ov42_02227F44
2021-06-27 18:48:56 +00:00
ov42_02227F44: ; 0x02227F44
2021-06-25 01:03:38 +00:00
ldrh r0, [r0, #2]
bx lr
thumb_func_end ov42_02227F44
thumb_func_start ov42_02227F48
2021-06-27 18:48:56 +00:00
ov42_02227F48: ; 0x02227F48
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r5, r1, #0
2021-06-25 01:03:38 +00:00
cmp r4, #0
bne _02227F56
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227F56:
ldrh r3, [r4]
ldrh r2, [r4, #2]
ldr r0, [r4, #4]
2021-06-27 18:48:56 +00:00
add r1, r5, #0
mul r2, r3
lsl r2, r2, #2
bl memcpy
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, pc}
thumb_func_end ov42_02227F48
thumb_func_start ov42_02227F68
2021-06-27 18:48:56 +00:00
ov42_02227F68: ; 0x02227F68
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, lr}
sub sp, #4
2021-06-27 18:48:56 +00:00
add r5, r0, #0
ldr r0, _02227FA0 ; =0x02229E04
add r4, r1, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r0]
2021-06-27 18:48:56 +00:00
add r6, r2, #0
2021-06-25 01:03:38 +00:00
str r0, [sp]
cmp r5, #0
bne _02227F80
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227F80:
ldrh r2, [r5]
cmp r2, r4
bls _02227F9A
ldrh r0, [r5, #2]
cmp r0, r6
bls _02227F9A
2021-06-27 18:48:56 +00:00
add r0, r2, #0
mul r0, r6
add r0, r4, r0
2021-06-25 01:03:38 +00:00
ldr r1, [r5, #4]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #2
2021-06-25 01:03:38 +00:00
ldr r0, [r1, r0]
str r0, [sp]
_02227F9A:
ldr r0, [sp]
add sp, #4
pop {r3, r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_02227FA0: .word 0x02229E04
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227F68
thumb_func_start ov42_02227FA4
2021-06-27 18:48:56 +00:00
ov42_02227FA4: ; 0x02227FA4
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bne _02227FB6
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227FB6:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227F68
2021-06-27 18:48:56 +00:00
mov r1, #0
mvn r1, r1
2021-06-25 01:03:38 +00:00
str r0, [sp]
str r0, [sp, #4]
cmp r0, r1
bne _02227FD2
add sp, #8
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
_02227FD2:
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
2021-06-25 01:03:38 +00:00
add sp, #8
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02227FA4
thumb_func_start ov42_02227FDC
2021-06-27 18:48:56 +00:00
ov42_02227FDC: ; 0x02227FDC
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bne _02227FEE
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02227FEE:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227F68
2021-06-27 18:48:56 +00:00
mov r1, #0
mvn r1, r1
2021-06-25 01:03:38 +00:00
str r0, [sp]
str r0, [sp, #4]
cmp r0, r1
bne _0222800A
add sp, #8
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
_0222800A:
2021-06-27 18:48:56 +00:00
lsr r0, r0, #1
2021-06-25 01:03:38 +00:00
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end ov42_02227FDC
thumb_func_start ov42_02228010
2021-06-27 18:48:56 +00:00
ov42_02228010: ; 0x02228010
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r6, r1, #0
add r5, r0, #0
add r0, r6, #0
mov r1, #8
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
bne _02228026
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02228026:
2021-06-27 18:48:56 +00:00
mov r1, #0x18
add r0, r6, #0
mul r1, r5
2021-06-25 01:03:38 +00:00
str r5, [r4, #4]
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-25 01:03:38 +00:00
str r0, [r4]
cmp r0, #0
bne _0222803C
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_0222803C:
ldr r3, [r4, #4]
2021-06-27 18:48:56 +00:00
mov r2, #0x18
2021-06-25 01:03:38 +00:00
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
mov r1, #0
mul r2, r3
bl memset
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228010
thumb_func_start ov42_02228050
2021-06-27 18:48:56 +00:00
ov42_02228050: ; 0x02228050
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
bne _0222805A
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_0222805A:
ldr r0, [r4]
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-25 01:03:38 +00:00
pop {r4, pc}
thumb_func_end ov42_02228050
thumb_func_start ov42_02228068
2021-06-27 18:48:56 +00:00
ov42_02228068: ; 0x02228068
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r1, #0
2021-06-25 01:03:38 +00:00
ldrb r1, [r4, #7]
bl ov42_02228110
2021-06-27 18:48:56 +00:00
add r1, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_02228548
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228068
thumb_func_start ov42_0222807C
2021-06-27 18:48:56 +00:00
ov42_0222807C: ; 0x0222807C
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-25 01:03:38 +00:00
bl ov42_022280A8
2021-06-27 18:48:56 +00:00
add r5, r0, #0
ldr r4, _022280A4 ; =0x00000000
2021-06-25 01:03:38 +00:00
beq _022280A2
_0222808A:
2021-06-27 18:48:56 +00:00
lsl r1, r4, #0x10
add r0, r6, #0
lsr r1, r1, #0x10
2021-06-25 01:03:38 +00:00
bl ov42_02228148
cmp r0, #0
beq _0222809C
bl ov42_02228574
_0222809C:
2021-06-27 18:48:56 +00:00
add r4, r4, #1
2021-06-25 01:03:38 +00:00
cmp r4, r5
blo _0222808A
_022280A2:
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_022280A4: .word 0x00000000
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_0222807C
thumb_func_start ov42_022280A8
2021-06-27 18:48:56 +00:00
ov42_022280A8: ; 0x022280A8
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
bne _022280B2
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_022280B2:
ldr r0, [r4, #4]
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022280A8
thumb_func_start ov42_022280B8
2021-06-27 18:48:56 +00:00
ov42_022280B8: ; 0x022280B8
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r1, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bne _022280C6
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_022280C6:
cmp r4, #0
bne _022280CE
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_022280CE:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
bl ov42_022282B0
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-25 01:03:38 +00:00
ldrsh r2, [r4, r1]
strh r2, [r0, #4]
2021-06-27 18:48:56 +00:00
mov r2, #2
2021-06-25 01:03:38 +00:00
ldrsh r3, [r4, r2]
strh r3, [r0, #6]
ldrsh r1, [r4, r1]
strh r1, [r0, #8]
ldrsh r1, [r4, r2]
strh r1, [r0, #0xa]
ldrh r1, [r4, #4]
strh r1, [r0, #0xc]
ldrh r1, [r4, #6]
strb r1, [r0, #0x15]
ldrh r1, [r4, #8]
strb r1, [r0, #0x14]
ldrh r1, [r4, #0xa]
strh r1, [r0, #0xe]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-25 01:03:38 +00:00
str r1, [r0]
pop {r3, r4, r5, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022280B8
thumb_func_start ov42_02228100
2021-06-27 18:48:56 +00:00
ov42_02228100: ; 0x02228100
mov r2, #0x18
mov r1, #0
2021-06-25 01:03:38 +00:00
_02228104:
strb r1, [r0]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
sub r2, r2, #1
2021-06-25 01:03:38 +00:00
bne _02228104
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228100
thumb_func_start ov42_02228110
2021-06-27 18:48:56 +00:00
ov42_02228110: ; 0x02228110
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6}
ldr r5, [r0, #4]
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bls _02228142
ldr r4, [r0]
2021-06-27 18:48:56 +00:00
add r3, r2, #0
add r0, r4, #0
2021-06-25 01:03:38 +00:00
_02228120:
ldr r6, [r0]
cmp r6, #1
bne _02228138
2021-06-27 18:48:56 +00:00
add r6, r4, r3
2021-06-25 01:03:38 +00:00
ldrh r6, [r6, #0xc]
cmp r1, r6
bne _02228138
2021-06-27 18:48:56 +00:00
mov r0, #0x18
mul r0, r2
add r0, r4, r0
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, r6}
bx lr
_02228138:
2021-06-27 18:48:56 +00:00
add r2, r2, #1
add r0, #0x18
add r3, #0x18
2021-06-25 01:03:38 +00:00
cmp r2, r5
blo _02228120
_02228142:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, r6}
bx lr
thumb_func_end ov42_02228110
thumb_func_start ov42_02228148
2021-06-27 18:48:56 +00:00
ov42_02228148: ; 0x02228148
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r1, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bne _02228156
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02228156:
ldr r0, [r5, #4]
cmp r4, r0
blo _02228160
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02228160:
ldr r2, [r5]
2021-06-27 18:48:56 +00:00
mov r0, #0x18
add r1, r4, #0
mul r1, r0
2021-06-25 01:03:38 +00:00
ldr r0, [r2, r1]
cmp r0, #1
bne _02228172
2021-06-27 18:48:56 +00:00
add r0, r2, r1
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, pc}
_02228172:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228148
thumb_func_start ov42_02228178
2021-06-27 18:48:56 +00:00
ov42_02228178: ; 0x02228178
ldr r3, _0222817C ; =ov42_02228110
2021-06-25 01:03:38 +00:00
bx r3
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_0222817C: .word ov42_02228110
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228178
thumb_func_start ov42_02228180
2021-06-27 18:48:56 +00:00
ov42_02228180: ; 0x02228180
ldr r3, _02228184 ; =ov42_02228148
2021-06-25 01:03:38 +00:00
bx r3
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_02228184: .word ov42_02228148
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228180
thumb_func_start ov42_02228188
2021-06-27 18:48:56 +00:00
ov42_02228188: ; 0x02228188
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r6, r1, #0
2021-06-25 01:03:38 +00:00
cmp r4, #0
bne _02228196
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02228196:
cmp r6, #0xa
bhi _022281F0
2021-06-27 18:48:56 +00:00
add r0, r6, r6
2021-06-25 01:03:38 +00:00
add r0, pc
ldrh r0, [r0, #6]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x10
asr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
add pc, r0
2021-06-27 18:48:56 +00:00
_022281A6: ; jump table
.short _022281BC - _022281A6 - 2 ; case 0
.short _022281C2 - _022281A6 - 2 ; case 1
.short _022281C8 - _022281A6 - 2 ; case 2
.short _022281CE - _022281A6 - 2 ; case 3
.short _022281D4 - _022281A6 - 2 ; case 4
.short _022281D8 - _022281A6 - 2 ; case 5
.short _022281DC - _022281A6 - 2 ; case 6
.short _022281E0 - _022281A6 - 2 ; case 7
.short _022281E4 - _022281A6 - 2 ; case 8
.short _022281E8 - _022281A6 - 2 ; case 9
.short _022281EC - _022281A6 - 2 ; case 10
2021-06-25 01:03:38 +00:00
_022281BC:
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-25 01:03:38 +00:00
ldrsh r5, [r4, r0]
b _022281F4
_022281C2:
2021-06-27 18:48:56 +00:00
mov r0, #6
2021-06-25 01:03:38 +00:00
ldrsh r5, [r4, r0]
b _022281F4
_022281C8:
2021-06-27 18:48:56 +00:00
mov r0, #8
2021-06-25 01:03:38 +00:00
ldrsh r5, [r4, r0]
b _022281F4
_022281CE:
2021-06-27 18:48:56 +00:00
mov r0, #0xa
2021-06-25 01:03:38 +00:00
ldrsh r5, [r4, r0]
b _022281F4
_022281D4:
ldrh r5, [r4, #0xc]
b _022281F4
_022281D8:
ldrb r5, [r4, #0x15]
b _022281F4
_022281DC:
ldrb r5, [r4, #0x14]
b _022281F4
_022281E0:
ldrh r5, [r4, #0xe]
b _022281F4
_022281E4:
ldrh r5, [r4, #0x10]
b _022281F4
_022281E8:
ldrh r5, [r4, #0x12]
b _022281F4
_022281EC:
ldrh r5, [r4, #0x16]
b _022281F4
_022281F0:
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_022281F4:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
thumb_func_end ov42_02228188
thumb_func_start ov42_022281F8
2021-06-27 18:48:56 +00:00
ov42_022281F8: ; 0x022281F8
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r6, r1, #0
add r4, r2, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bne _02228208
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02228208:
cmp r6, #0xa
bhi _0222826A
2021-06-27 18:48:56 +00:00
add r0, r6, r6
2021-06-25 01:03:38 +00:00
add r0, pc
ldrh r0, [r0, #6]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x10
asr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
add pc, r0
2021-06-27 18:48:56 +00:00
_02228218: ; jump table
.short _0222822E - _02228218 - 2 ; case 0
.short _02228232 - _02228218 - 2 ; case 1
.short _02228236 - _02228218 - 2 ; case 2
.short _0222823A - _02228218 - 2 ; case 3
.short _0222823E - _02228218 - 2 ; case 4
.short _02228242 - _02228218 - 2 ; case 5
.short _0222824E - _02228218 - 2 ; case 6
.short _0222825A - _02228218 - 2 ; case 7
.short _0222825E - _02228218 - 2 ; case 8
.short _02228262 - _02228218 - 2 ; case 9
.short _02228266 - _02228218 - 2 ; case 10
2021-06-25 01:03:38 +00:00
_0222822E:
strh r4, [r5, #4]
pop {r4, r5, r6, pc}
_02228232:
strh r4, [r5, #6]
pop {r4, r5, r6, pc}
_02228236:
strh r4, [r5, #8]
pop {r4, r5, r6, pc}
_0222823A:
strh r4, [r5, #0xa]
pop {r4, r5, r6, pc}
_0222823E:
strh r4, [r5, #0xc]
pop {r4, r5, r6, pc}
_02228242:
cmp r4, #0xc
blt _0222824A
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_0222824A:
strb r4, [r5, #0x15]
pop {r4, r5, r6, pc}
_0222824E:
cmp r4, #4
blt _02228256
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02228256:
strb r4, [r5, #0x14]
pop {r4, r5, r6, pc}
_0222825A:
strh r4, [r5, #0xe]
pop {r4, r5, r6, pc}
_0222825E:
strh r4, [r5, #0x10]
pop {r4, r5, r6, pc}
_02228262:
strh r4, [r5, #0x12]
pop {r4, r5, r6, pc}
_02228266:
strh r4, [r5, #0x16]
pop {r4, r5, r6, pc}
_0222826A:
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
thumb_func_end ov42_022281F8
thumb_func_start ov42_02228270
2021-06-27 18:48:56 +00:00
ov42_02228270: ; 0x02228270
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
2021-06-27 18:48:56 +00:00
lsl r0, r1, #1
2021-06-25 01:03:38 +00:00
add r2, sp, #0
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-25 01:03:38 +00:00
ldrsh r3, [r2, r1]
2021-06-27 18:48:56 +00:00
ldr r1, _0222829C ; =0x02229E0C
2021-06-25 01:03:38 +00:00
ldrsb r1, [r1, r0]
2021-06-27 18:48:56 +00:00
add r1, r3, r1
2021-06-25 01:03:38 +00:00
strh r1, [r2]
2021-06-27 18:48:56 +00:00
mov r1, #2
2021-06-25 01:03:38 +00:00
ldrsh r3, [r2, r1]
2021-06-27 18:48:56 +00:00
ldr r1, _022282A0 ; =0x02229E0D
2021-06-25 01:03:38 +00:00
ldrsb r0, [r1, r0]
2021-06-27 18:48:56 +00:00
add r0, r3, r0
2021-06-25 01:03:38 +00:00
strh r0, [r2, #2]
ldrh r1, [r2, #2]
ldrh r0, [r2]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x10
orr r0, r1
2021-06-25 01:03:38 +00:00
add sp, #0x10
bx lr
nop
2021-06-27 18:48:56 +00:00
_0222829C: .word 0x02229E0C
_022282A0: .word 0x02229E0D
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228270
thumb_func_start ov42_022282A4
2021-06-27 18:48:56 +00:00
ov42_022282A4: ; 0x022282A4
ldr r1, _022282AC ; =0x02229E08
2021-06-25 01:03:38 +00:00
ldrb r0, [r1, r0]
bx lr
nop
2021-06-27 18:48:56 +00:00
_022282AC: .word 0x02229E08
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022282A4
thumb_func_start ov42_022282B0
2021-06-27 18:48:56 +00:00
ov42_022282B0: ; 0x022282B0
2021-06-25 01:03:38 +00:00
push {r4, lr}
ldr r4, [r0, #4]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-25 01:03:38 +00:00
cmp r4, #0
bls _022282D4
ldr r3, [r0]
2021-06-27 18:48:56 +00:00
add r2, r3, #0
2021-06-25 01:03:38 +00:00
_022282BE:
ldr r0, [r2]
cmp r0, #0
bne _022282CC
2021-06-27 18:48:56 +00:00
mov r0, #0x18
mul r0, r1
add r0, r3, r0
2021-06-25 01:03:38 +00:00
pop {r4, pc}
_022282CC:
2021-06-27 18:48:56 +00:00
add r1, r1, #1
add r2, #0x18
2021-06-25 01:03:38 +00:00
cmp r1, r4
blo _022282BE
_022282D4:
bl GF_AssertFail
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r4, pc}
thumb_func_end ov42_022282B0
thumb_func_start ov42_022282DC
2021-06-27 18:48:56 +00:00
ov42_022282DC: ; 0x022282DC
2021-06-25 01:03:38 +00:00
ldrh r1, [r0, #6]
ldrh r0, [r0, #4]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x10
orr r0, r1
2021-06-25 01:03:38 +00:00
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022282DC
thumb_func_start ov42_022282E8
2021-06-27 18:48:56 +00:00
ov42_022282E8: ; 0x022282E8
2021-06-25 01:03:38 +00:00
ldrh r1, [r0, #0xa]
ldrh r0, [r0, #8]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x10
orr r0, r1
2021-06-25 01:03:38 +00:00
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022282E8
thumb_func_start ov42_022282F4
2021-06-27 18:48:56 +00:00
ov42_022282F4: ; 0x022282F4
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
sub sp, #0x10
2021-06-27 18:48:56 +00:00
add r5, r0, #0
mov r1, #8
2021-06-25 01:03:38 +00:00
bl ov42_02228188
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r0, r5, #0
mov r1, #9
2021-06-25 01:03:38 +00:00
bl ov42_02228188
2021-06-27 18:48:56 +00:00
add r6, r0, #0
add r0, r5, #0
2021-06-25 01:03:38 +00:00
bl ov42_022282DC
add r1, sp, #0
strh r0, [r1, #4]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r1, #6]
ldrh r0, [r1, #4]
strh r0, [r1, #0xc]
ldrh r0, [r1, #6]
strh r0, [r1, #0xe]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
bl ov42_022282E8
add r1, sp, #0
strh r0, [r1]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r1, #2]
ldrh r0, [r1]
2021-06-27 18:48:56 +00:00
mov r2, #8
2021-06-25 01:03:38 +00:00
strh r0, [r1, #8]
ldrh r0, [r1, #2]
strh r0, [r1, #0xa]
2021-06-27 18:48:56 +00:00
mov r0, #0xc
2021-06-25 01:03:38 +00:00
ldrsh r3, [r1, r0]
ldrsh r2, [r1, r2]
2021-06-27 18:48:56 +00:00
sub r2, r3, r2
2021-06-25 01:03:38 +00:00
strh r2, [r1, #0xc]
2021-06-27 18:48:56 +00:00
mov r2, #0xa
2021-06-25 01:03:38 +00:00
ldrsh r5, [r1, r2]
2021-06-27 18:48:56 +00:00
mov r2, #0xe
2021-06-25 01:03:38 +00:00
ldrsh r2, [r1, r2]
2021-06-27 18:48:56 +00:00
sub r2, r2, r5
2021-06-25 01:03:38 +00:00
strh r2, [r1, #0xe]
cmp r4, #0
ble _02228372
ldrsh r0, [r1, r0]
2021-06-27 18:48:56 +00:00
add r1, r6, #0
mul r0, r4
2021-08-11 14:29:41 +00:00
bl _s32_div_f
2021-06-25 01:03:38 +00:00
add r1, sp, #0
strh r0, [r1, #0xc]
2021-06-27 18:48:56 +00:00
mov r0, #0xe
2021-06-25 01:03:38 +00:00
ldrsh r0, [r1, r0]
2021-06-27 18:48:56 +00:00
add r1, r6, #0
mul r0, r4
2021-08-11 14:29:41 +00:00
bl _s32_div_f
2021-06-25 01:03:38 +00:00
add r1, sp, #0
b _02228376
_02228372:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
strh r0, [r1, #0xc]
_02228376:
strh r0, [r1, #0xe]
add r1, sp, #0
2021-06-27 18:48:56 +00:00
mov r0, #0xc
2021-06-25 01:03:38 +00:00
ldrsh r2, [r1, r0]
2021-06-27 18:48:56 +00:00
mov r0, #8
2021-06-25 01:03:38 +00:00
ldrsh r0, [r1, r0]
2021-06-27 18:48:56 +00:00
add r0, r2, r0
2021-06-25 01:03:38 +00:00
strh r0, [r1, #0xc]
2021-06-27 18:48:56 +00:00
mov r0, #0xe
2021-06-25 01:03:38 +00:00
ldrsh r0, [r1, r0]
2021-06-27 18:48:56 +00:00
add r0, r0, r5
2021-06-25 01:03:38 +00:00
strh r0, [r1, #0xe]
ldrh r2, [r1, #0xe]
ldrh r0, [r1, #0xc]
2021-06-27 18:48:56 +00:00
lsl r1, r2, #0x10
orr r0, r1
2021-06-25 01:03:38 +00:00
add sp, #0x10
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022282F4
thumb_func_start ov42_0222839C
2021-06-27 18:48:56 +00:00
ov42_0222839C: ; 0x0222839C
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
add r1, sp, #0
ldrh r2, [r1, #4]
strh r2, [r0, #4]
ldrh r1, [r1, #6]
strh r1, [r0, #6]
add sp, #0x10
bx lr
thumb_func_end ov42_0222839C
thumb_func_start ov42_022283AC
2021-06-27 18:48:56 +00:00
ov42_022283AC: ; 0x022283AC
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
add r1, sp, #0
ldrh r2, [r1, #4]
strh r2, [r0, #8]
ldrh r1, [r1, #6]
strh r1, [r0, #0xa]
add sp, #0x10
bx lr
thumb_func_end ov42_022283AC
thumb_func_start ov42_022283BC
2021-06-27 18:48:56 +00:00
ov42_022283BC: ; 0x022283BC
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-25 01:03:38 +00:00
str r1, [sp]
2021-06-27 18:48:56 +00:00
add r4, r2, #0
2021-06-25 01:03:38 +00:00
bl ov42_022282DC
add r1, sp, #0x10
strh r0, [r1, #0xc]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r1, #0xe]
ldrh r0, [r1, #0xc]
mov r2, sp
2021-06-27 18:48:56 +00:00
sub r2, r2, #4
2021-06-25 01:03:38 +00:00
strh r0, [r1, #0x1c]
ldrh r0, [r1, #0xe]
strh r0, [r1, #0x1e]
ldrh r0, [r1, #0x1c]
strh r0, [r2]
ldrh r0, [r1, #0x1e]
2021-06-27 18:48:56 +00:00
add r1, r4, #0
2021-06-25 01:03:38 +00:00
strh r0, [r2, #2]
ldr r0, [r2]
bl ov42_02228270
add r1, sp, #0x10
strh r0, [r1, #8]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r1, #0xa]
ldrh r0, [r1, #8]
strh r0, [r1, #0x14]
ldrh r0, [r1, #0xa]
strh r0, [r1, #0x16]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #4
2021-06-25 01:03:38 +00:00
bl ov42_02228188
str r0, [sp, #4]
ldr r0, [sp]
bl ov42_022280A8
2021-06-27 18:48:56 +00:00
mov r5, #0
2021-06-25 01:03:38 +00:00
str r0, [sp, #8]
cmp r0, #0
bls _0222849C
add r4, sp, #0x10
2021-06-27 18:48:56 +00:00
mov r0, #0x16
2021-06-25 01:03:38 +00:00
ldrsh r7, [r4, r0]
2021-06-27 18:48:56 +00:00
mov r0, #0x14
2021-06-25 01:03:38 +00:00
ldrsh r0, [r4, r0]
str r0, [sp, #0xc]
_02228422:
2021-06-27 18:48:56 +00:00
lsl r1, r5, #0x10
2021-06-25 01:03:38 +00:00
ldr r0, [sp]
2021-06-27 18:48:56 +00:00
lsr r1, r1, #0x10
2021-06-25 01:03:38 +00:00
bl ov42_02228180
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-25 01:03:38 +00:00
beq _02228494
2021-06-27 18:48:56 +00:00
mov r1, #4
2021-06-25 01:03:38 +00:00
bl ov42_02228188
ldr r1, [sp, #4]
cmp r0, r1
beq _02228494
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-25 01:03:38 +00:00
bl ov42_022282DC
strh r0, [r4, #4]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r4, #6]
ldrh r0, [r4, #4]
strh r0, [r4, #0x18]
ldrh r0, [r4, #6]
strh r0, [r4, #0x1a]
2021-06-27 18:48:56 +00:00
mov r0, #0x18
2021-06-25 01:03:38 +00:00
ldrsh r1, [r4, r0]
ldr r0, [sp, #0xc]
cmp r1, r0
bne _02228468
2021-06-27 18:48:56 +00:00
mov r0, #0x1a
2021-06-25 01:03:38 +00:00
ldrsh r0, [r4, r0]
cmp r0, r7
bne _02228468
add sp, #0x30
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, r6, r7, pc}
_02228468:
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-25 01:03:38 +00:00
bl ov42_022282E8
strh r0, [r4]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r4, #2]
ldrh r0, [r4]
strh r0, [r4, #0x10]
ldrh r0, [r4, #2]
strh r0, [r4, #0x12]
2021-06-27 18:48:56 +00:00
mov r0, #0x10
2021-06-25 01:03:38 +00:00
ldrsh r1, [r4, r0]
ldr r0, [sp, #0xc]
cmp r1, r0
bne _02228494
2021-06-27 18:48:56 +00:00
mov r0, #0x12
2021-06-25 01:03:38 +00:00
ldrsh r0, [r4, r0]
cmp r0, r7
bne _02228494
add sp, #0x30
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, r6, r7, pc}
_02228494:
ldr r0, [sp, #8]
2021-06-27 18:48:56 +00:00
add r5, r5, #1
2021-06-25 01:03:38 +00:00
cmp r5, r0
blo _02228422
_0222849C:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022283BC
thumb_func_start ov42_022284A4
2021-06-27 18:48:56 +00:00
ov42_022284A4: ; 0x022284A4
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r2, sp, #0x30
2021-06-27 18:48:56 +00:00
mov r1, #6
2021-06-25 01:03:38 +00:00
str r0, [sp]
ldrsh r6, [r2, r1]
bl ov42_022280A8
2021-06-27 18:48:56 +00:00
mov r5, #0
2021-06-25 01:03:38 +00:00
str r0, [sp, #8]
cmp r0, #0
bls _0222853C
add r1, sp, #0x30
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-25 01:03:38 +00:00
ldrsh r7, [r1, r0]
add r4, sp, #0xc
_022284C6:
2021-06-27 18:48:56 +00:00
lsl r1, r5, #0x10
2021-06-25 01:03:38 +00:00
ldr r0, [sp]
2021-06-27 18:48:56 +00:00
lsr r1, r1, #0x10
2021-06-25 01:03:38 +00:00
bl ov42_02228180
str r0, [sp, #4]
cmp r0, #0
beq _02228534
bl ov42_022282DC
strh r0, [r4, #4]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r4, #6]
ldrh r0, [r4, #4]
strh r0, [r4, #0xc]
ldrh r0, [r4, #6]
strh r0, [r4, #0xe]
2021-06-27 18:48:56 +00:00
mov r0, #0xc
2021-06-25 01:03:38 +00:00
ldrsh r0, [r4, r0]
cmp r0, r7
bne _02228504
2021-06-27 18:48:56 +00:00
mov r0, #0xe
2021-06-25 01:03:38 +00:00
ldrsh r0, [r4, r0]
cmp r0, r6
bne _02228504
ldr r0, [sp, #4]
add sp, #0x1c
pop {r4, r5, r6, r7}
pop {r3}
add sp, #0x10
bx r3
_02228504:
ldr r0, [sp, #4]
bl ov42_022282E8
strh r0, [r4]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r4, #2]
ldrh r0, [r4]
strh r0, [r4, #8]
ldrh r0, [r4, #2]
strh r0, [r4, #0xa]
2021-06-27 18:48:56 +00:00
mov r0, #8
2021-06-25 01:03:38 +00:00
ldrsh r0, [r4, r0]
cmp r0, r7
bne _02228534
2021-06-27 18:48:56 +00:00
mov r0, #0xa
2021-06-25 01:03:38 +00:00
ldrsh r0, [r4, r0]
cmp r0, r6
bne _02228534
ldr r0, [sp, #4]
add sp, #0x1c
pop {r4, r5, r6, r7}
pop {r3}
add sp, #0x10
bx r3
_02228534:
ldr r0, [sp, #8]
2021-06-27 18:48:56 +00:00
add r5, r5, #1
2021-06-25 01:03:38 +00:00
cmp r5, r0
blo _022284C6
_0222853C:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
add sp, #0x1c
pop {r4, r5, r6, r7}
pop {r3}
add sp, #0x10
bx r3
thumb_func_end ov42_022284A4
thumb_func_start ov42_02228548
2021-06-27 18:48:56 +00:00
ov42_02228548: ; 0x02228548
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r3, r1, #0
2021-06-25 01:03:38 +00:00
ldrh r1, [r3]
mov r2, sp
2021-06-27 18:48:56 +00:00
sub r2, r2, #4
2021-06-25 01:03:38 +00:00
strh r1, [r2]
ldrh r1, [r3, #2]
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
strh r1, [r2, #2]
ldr r1, [r2]
ldrb r2, [r3, #6]
ldrh r3, [r3, #4]
2021-06-27 18:48:56 +00:00
lsl r5, r3, #2
ldr r3, _02228570 ; =0x02229E14
2021-06-25 01:03:38 +00:00
ldr r3, [r3, r5]
2021-06-27 21:10:38 +00:00
blx r3
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
strh r0, [r4, #0x16]
pop {r3, r4, r5, pc}
nop
2021-06-27 18:48:56 +00:00
_02228570: .word 0x02229E14
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228548
thumb_func_start ov42_02228574
2021-06-27 18:48:56 +00:00
ov42_02228574: ; 0x02228574
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
mov r1, #5
add r4, r0, #0
2021-06-25 01:03:38 +00:00
bl ov42_02228188
2021-06-27 18:48:56 +00:00
add r1, r0, #0
lsl r2, r1, #2
ldr r1, _022285A0 ; =0x02229E44
add r0, r4, #0
2021-06-25 01:03:38 +00:00
ldr r1, [r1, r2]
2021-06-27 21:10:38 +00:00
blx r1
2021-06-25 01:03:38 +00:00
ldrh r1, [r4, #0x16]
2021-06-27 18:48:56 +00:00
add r1, r1, #1
2021-06-25 01:03:38 +00:00
strh r1, [r4, #0x16]
cmp r0, #1
bne _0222859E
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_02228C40
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
strh r0, [r4, #0x16]
_0222859E:
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_022285A0: .word 0x02229E44
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228574
thumb_func_start ov42_022285A4
2021-06-27 18:48:56 +00:00
ov42_022285A4: ; 0x022285A4
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r2, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bne _022285B4
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_022285B4:
add r1, sp, #0x10
ldrh r2, [r1, #4]
mov r3, sp
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_0222839C
add r1, sp, #0x10
mov r3, sp
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_022283AC
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #6
add r2, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #5
mov r2, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
pop {r3, r4, r5}
pop {r3}
add sp, #0x10
bx r3
thumb_func_end ov42_022285A4
thumb_func_start ov42_022285FC
2021-06-27 18:48:56 +00:00
ov42_022285FC: ; 0x022285FC
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r2, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bne _0222860C
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_0222860C:
add r1, sp, #0x10
ldrh r2, [r1, #4]
mov r3, sp
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_0222839C
add r1, sp, #0x10
mov r3, sp
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_022283AC
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #6
add r2, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #5
mov r2, #1
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #8
mov r2, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #9
mov r2, #2
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
pop {r3, r4, r5}
pop {r3}
add sp, #0x10
bx r3
thumb_func_end ov42_022285FC
thumb_func_start ov42_02228668
2021-06-27 18:48:56 +00:00
ov42_02228668: ; 0x02228668
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
push {r3, r4, r5, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r2, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bne _0222867A
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_0222867A:
add r0, sp, #0x18
ldrh r1, [r0, #4]
mov r2, sp
2021-06-27 18:48:56 +00:00
sub r2, r2, #4
2021-06-25 01:03:38 +00:00
strh r1, [r2]
ldrh r0, [r0, #6]
2021-06-27 18:48:56 +00:00
add r1, r4, #0
2021-06-25 01:03:38 +00:00
strh r0, [r2, #2]
ldr r0, [r2]
bl ov42_02228BDC
add r1, sp, #0
strh r0, [r1]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r1, #2]
ldrh r0, [r1]
mov r3, sp
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
2021-06-25 01:03:38 +00:00
strh r0, [r1, #4]
ldrh r0, [r1, #2]
strh r0, [r1, #6]
add r1, sp, #0x18
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_022283AC
add r1, sp, #0
mov r3, sp
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_0222839C
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #6
add r2, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #5
mov r2, #2
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #8
mov r2, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #9
mov r2, #8
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
add sp, #8
pop {r3, r4, r5}
pop {r3}
add sp, #0x10
bx r3
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228668
thumb_func_start ov42_02228700
2021-06-27 18:48:56 +00:00
ov42_02228700: ; 0x02228700
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
push {r3, r4, r5, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r2, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bne _02228712
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02228712:
add r0, sp, #0x18
ldrh r1, [r0, #4]
mov r2, sp
2021-06-27 18:48:56 +00:00
sub r2, r2, #4
2021-06-25 01:03:38 +00:00
strh r1, [r2]
ldrh r0, [r0, #6]
2021-06-27 18:48:56 +00:00
add r1, r4, #0
2021-06-25 01:03:38 +00:00
strh r0, [r2, #2]
ldr r0, [r2]
bl ov42_02228BDC
add r1, sp, #0
strh r0, [r1]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r1, #2]
ldrh r0, [r1]
mov r3, sp
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
2021-06-25 01:03:38 +00:00
strh r0, [r1, #4]
ldrh r0, [r1, #2]
strh r0, [r1, #6]
add r1, sp, #0x18
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_022283AC
add r1, sp, #0
mov r3, sp
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_0222839C
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #6
add r2, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #5
mov r2, #3
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #8
mov r2, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #9
mov r2, #4
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
add sp, #8
pop {r3, r4, r5}
pop {r3}
add sp, #0x10
bx r3
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228700
thumb_func_start ov42_02228798
2021-06-27 18:48:56 +00:00
ov42_02228798: ; 0x02228798
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r2, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bne _022287A8
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_022287A8:
add r1, sp, #0x10
ldrh r2, [r1, #4]
mov r3, sp
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_0222839C
add r1, sp, #0x10
mov r3, sp
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_022283AC
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #6
add r2, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #5
mov r2, #4
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
pop {r3, r4, r5}
pop {r3}
add sp, #0x10
bx r3
thumb_func_end ov42_02228798
thumb_func_start ov42_022287F0
2021-06-27 18:48:56 +00:00
ov42_022287F0: ; 0x022287F0
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r2, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bne _02228800
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02228800:
add r1, sp, #0x10
ldrh r2, [r1, #4]
mov r3, sp
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_0222839C
add r1, sp, #0x10
mov r3, sp
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_022283AC
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #6
add r2, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
mov r1, #5
add r0, r5, #0
add r2, r1, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #8
mov r2, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #9
mov r2, #0x10
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
pop {r3, r4, r5}
pop {r3}
add sp, #0x10
bx r3
thumb_func_end ov42_022287F0
thumb_func_start ov42_0222885C
2021-06-27 18:48:56 +00:00
ov42_0222885C: ; 0x0222885C
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
push {r3, r4, r5, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r2, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bne _0222886E
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_0222886E:
add r0, sp, #0x18
ldrh r1, [r0, #4]
mov r2, sp
2021-06-27 18:48:56 +00:00
sub r2, r2, #4
2021-06-25 01:03:38 +00:00
strh r1, [r2]
ldrh r0, [r0, #6]
2021-06-27 18:48:56 +00:00
add r1, r4, #0
2021-06-25 01:03:38 +00:00
strh r0, [r2, #2]
ldr r0, [r2]
bl ov42_02228BDC
add r1, sp, #0
strh r0, [r1]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r1, #2]
ldrh r0, [r1]
mov r3, sp
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
2021-06-25 01:03:38 +00:00
strh r0, [r1, #4]
ldrh r0, [r1, #2]
strh r0, [r1, #6]
add r1, sp, #0x18
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_022283AC
add r1, sp, #0
mov r3, sp
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_0222839C
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #6
add r2, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #5
mov r2, #6
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #8
mov r2, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #9
mov r2, #0x10
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
add sp, #8
pop {r3, r4, r5}
pop {r3}
add sp, #0x10
bx r3
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_0222885C
thumb_func_start ov42_022288F4
2021-06-27 18:48:56 +00:00
ov42_022288F4: ; 0x022288F4
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
push {r3, r4, r5, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r2, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bne _02228906
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02228906:
add r0, sp, #0x18
ldrh r1, [r0, #4]
mov r2, sp
2021-06-27 18:48:56 +00:00
sub r2, r2, #4
2021-06-25 01:03:38 +00:00
strh r1, [r2]
ldrh r0, [r0, #6]
2021-06-27 18:48:56 +00:00
add r1, r4, #0
2021-06-25 01:03:38 +00:00
strh r0, [r2, #2]
ldr r0, [r2]
bl ov42_02228BDC
add r1, sp, #0
strh r0, [r1]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r1, #2]
ldrh r0, [r1]
mov r3, sp
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
2021-06-25 01:03:38 +00:00
strh r0, [r1, #4]
ldrh r0, [r1, #2]
strh r0, [r1, #6]
add r1, sp, #0x18
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_022283AC
add r1, sp, #0
mov r3, sp
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_0222839C
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #6
add r2, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #5
mov r2, #7
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #8
mov r2, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #9
mov r2, #4
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
add sp, #8
pop {r3, r4, r5}
pop {r3}
add sp, #0x10
bx r3
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022288F4
thumb_func_start ov42_0222898C
2021-06-27 18:48:56 +00:00
ov42_0222898C: ; 0x0222898C
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r2, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bne _0222899C
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_0222899C:
add r1, sp, #0x10
ldrh r2, [r1, #4]
mov r3, sp
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_022283AC
add r1, sp, #0x10
mov r3, sp
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_0222839C
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #6
add r2, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #5
mov r2, #8
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #8
mov r2, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #9
mov r2, #2
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
pop {r3, r4, r5}
pop {r3}
add sp, #0x10
bx r3
thumb_func_end ov42_0222898C
thumb_func_start ov42_022289F8
2021-06-27 18:48:56 +00:00
ov42_022289F8: ; 0x022289F8
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r2, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bne _02228A08
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02228A08:
add r1, sp, #0x10
ldrh r2, [r1, #4]
mov r3, sp
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_022283AC
add r1, sp, #0x10
mov r3, sp
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_0222839C
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #6
add r2, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #5
mov r2, #9
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #8
mov r2, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #9
mov r2, #4
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
pop {r3, r4, r5}
pop {r3}
add sp, #0x10
bx r3
thumb_func_end ov42_022289F8
thumb_func_start ov42_02228A64
2021-06-27 18:48:56 +00:00
ov42_02228A64: ; 0x02228A64
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r2, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bne _02228A74
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02228A74:
add r1, sp, #0x10
ldrh r2, [r1, #4]
mov r3, sp
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_022283AC
add r1, sp, #0x10
mov r3, sp
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_0222839C
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #6
add r2, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #5
mov r2, #0xa
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #8
mov r2, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #9
mov r2, #8
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
pop {r3, r4, r5}
pop {r3}
add sp, #0x10
bx r3
thumb_func_end ov42_02228A64
thumb_func_start ov42_02228AD0
2021-06-27 18:48:56 +00:00
ov42_02228AD0: ; 0x02228AD0
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r2, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0
bne _02228AE0
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02228AE0:
add r1, sp, #0x10
ldrh r2, [r1, #4]
mov r3, sp
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_022283AC
add r1, sp, #0x10
mov r3, sp
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_0222839C
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #6
add r2, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #5
mov r2, #0xb
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #8
mov r2, #0
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #9
mov r2, #0x10
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
pop {r3, r4, r5}
pop {r3}
add sp, #0x10
bx r3
thumb_func_end ov42_02228AD0
thumb_func_start ov42_02228B3C
2021-06-27 18:48:56 +00:00
ov42_02228B3C: ; 0x02228B3C
mov r0, #0
2021-06-25 01:03:38 +00:00
bx lr
thumb_func_end ov42_02228B3C
thumb_func_start ov42_02228B40
2021-06-27 18:48:56 +00:00
ov42_02228B40: ; 0x02228B40
ldr r3, _02228B44 ; =ov42_02228C0C
2021-06-25 01:03:38 +00:00
bx r3
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_02228B44: .word ov42_02228C0C
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228B40
thumb_func_start ov42_02228B48
2021-06-27 18:48:56 +00:00
ov42_02228B48: ; 0x02228B48
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-25 01:03:38 +00:00
bl ov42_02228C0C
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
cmp r4, #1
bne _02228B82
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
bl ov42_022282DC
add r1, sp, #0
strh r0, [r1]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r1, #2]
ldrh r0, [r1]
mov r3, sp
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
2021-06-25 01:03:38 +00:00
strh r0, [r1, #4]
ldrh r0, [r1, #2]
strh r0, [r1, #6]
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_022283AC
_02228B82:
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-25 01:03:38 +00:00
add sp, #8
pop {r3, r4, r5, pc}
thumb_func_end ov42_02228B48
thumb_func_start ov42_02228B88
2021-06-27 18:48:56 +00:00
ov42_02228B88: ; 0x02228B88
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-25 01:03:38 +00:00
bl ov42_02228C0C
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
cmp r4, #1
bne _02228BC2
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
bl ov42_022282DC
add r1, sp, #0
strh r0, [r1]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r1, #2]
ldrh r0, [r1]
mov r3, sp
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
2021-06-25 01:03:38 +00:00
strh r0, [r1, #4]
ldrh r0, [r1, #2]
strh r0, [r1, #6]
ldrh r2, [r1, #4]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r1, [r1, #6]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov42_022283AC
_02228BC2:
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-25 01:03:38 +00:00
add sp, #8
pop {r3, r4, r5, pc}
thumb_func_end ov42_02228B88
thumb_func_start ov42_02228BC8
2021-06-27 18:48:56 +00:00
ov42_02228BC8: ; 0x02228BC8
mov r0, #0
2021-06-25 01:03:38 +00:00
bx lr
thumb_func_end ov42_02228BC8
thumb_func_start ov42_02228BCC
2021-06-27 18:48:56 +00:00
ov42_02228BCC: ; 0x02228BCC
ldr r3, _02228BD0 ; =ov42_02228C0C
2021-06-25 01:03:38 +00:00
bx r3
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_02228BD0: .word ov42_02228C0C
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228BCC
thumb_func_start ov42_02228BD4
2021-06-27 18:48:56 +00:00
ov42_02228BD4: ; 0x02228BD4
ldr r3, _02228BD8 ; =ov42_02228C0C
2021-06-25 01:03:38 +00:00
bx r3
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_02228BD8: .word ov42_02228C0C
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228BD4
thumb_func_start ov42_02228BDC
2021-06-27 18:48:56 +00:00
ov42_02228BDC: ; 0x02228BDC
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
push {r3, lr}
add r0, sp, #8
ldrh r2, [r0]
mov r3, sp
2021-06-27 18:48:56 +00:00
sub r3, r3, #4
2021-06-25 01:03:38 +00:00
strh r2, [r3]
ldrh r0, [r0, #2]
strh r0, [r3, #2]
ldr r0, [r3]
bl ov42_02228270
add r1, sp, #0
strh r0, [r1]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r1, #2]
ldrh r2, [r1, #2]
ldrh r0, [r1]
2021-06-27 18:48:56 +00:00
lsl r1, r2, #0x10
orr r0, r1
2021-06-25 01:03:38 +00:00
pop {r3}
pop {r3}
add sp, #0x10
bx r3
thumb_func_end ov42_02228BDC
thumb_func_start ov42_02228C0C
2021-06-27 18:48:56 +00:00
ov42_02228C0C: ; 0x02228C0C
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
mov r1, #8
2021-06-25 01:03:38 +00:00
bl ov42_02228188
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r0, r5, #0
mov r1, #9
2021-06-25 01:03:38 +00:00
bl ov42_02228188
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-25 01:03:38 +00:00
cmp r4, r6
bge _02228C3A
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #8
add r2, r4, #1
2021-06-25 01:03:38 +00:00
bl ov42_022281F8
2021-06-27 18:48:56 +00:00
add r0, r4, #1
2021-06-25 01:03:38 +00:00
cmp r0, r6
bge _02228C3A
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
_02228C3A:
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228C0C
thumb_func_start ov42_02228C40
2021-06-27 18:48:56 +00:00
ov42_02228C40: ; 0x02228C40
2021-06-25 01:03:38 +00:00
push {r4, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
bl ov42_022282DC
add r1, sp, #0
strh r0, [r1]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r1, #2]
ldrh r0, [r1]
strh r0, [r1, #4]
ldrh r0, [r1, #2]
strh r0, [r1, #6]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #6
2021-06-25 01:03:38 +00:00
bl ov42_02228188
add r1, sp, #0
2021-06-27 18:48:56 +00:00
add r2, r0, #0
add r0, r4, #0
2021-06-25 01:03:38 +00:00
mov r4, sp
ldrh r3, [r1, #4]
2021-06-27 18:48:56 +00:00
sub r4, r4, #4
2021-06-25 01:03:38 +00:00
strh r3, [r4]
ldrh r1, [r1, #6]
strh r1, [r4, #2]
ldr r1, [r4]
bl ov42_022285A4
add sp, #8
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228C40
thumb_func_start ov42_02228C80
2021-06-27 18:48:56 +00:00
ov42_02228C80: ; 0x02228C80
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r7, r0, #0
add r5, r1, #0
add r4, r2, #0
add r6, r3, #0
2021-06-25 01:03:38 +00:00
cmp r7, #0
bne _02228C94
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02228C94:
cmp r5, #0
bne _02228C9C
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02228C9C:
cmp r4, #0
bne _02228CA4
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02228CA4:
cmp r6, #0
bne _02228CAC
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02228CAC:
ldrb r1, [r4, #3]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
bl ov42_02228178
str r0, [sp, #4]
cmp r0, #0
bne _02228CBE
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02228CBE:
str r6, [sp]
2021-06-27 18:48:56 +00:00
add r3, r4, #0
2021-06-25 01:03:38 +00:00
ldrh r4, [r4]
2021-06-27 18:48:56 +00:00
add r2, r5, #0
2021-06-25 01:03:38 +00:00
ldr r0, [sp, #4]
2021-06-27 18:48:56 +00:00
lsl r5, r4, #2
ldr r4, _02228CD8 ; =0x02229E74
add r1, r7, #0
2021-06-25 01:03:38 +00:00
ldr r4, [r4, r5]
2021-06-27 21:10:38 +00:00
blx r4
2021-06-25 01:03:38 +00:00
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
2021-06-27 18:48:56 +00:00
_02228CD8: .word 0x02229E74
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228C80
thumb_func_start ov42_02228CDC
2021-06-27 18:48:56 +00:00
ov42_02228CDC: ; 0x02228CDC
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
mov r1, #5
add r5, r0, #0
add r4, r3, #0
2021-06-25 01:03:38 +00:00
bl ov42_02228188
cmp r0, #0
beq _02228CF0
cmp r0, #4
bne _02228D04
_02228CF0:
ldrb r0, [r4, #2]
2021-06-27 18:48:56 +00:00
add r1, r5, #0
2021-06-25 01:03:38 +00:00
str r0, [sp]
ldrh r2, [r4]
ldrb r3, [r4, #3]
ldr r0, [sp, #0x10]
bl ov42_02228EB0
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, pc}
_02228D04:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, pc}
thumb_func_end ov42_02228CDC
thumb_func_start ov42_02228D08
2021-06-27 18:48:56 +00:00
ov42_02228D08: ; 0x02228D08
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, lr}
sub sp, #4
2021-06-27 18:48:56 +00:00
add r5, r0, #0
mov r1, #5
add r4, r3, #0
2021-06-25 01:03:38 +00:00
bl ov42_02228188
2021-06-27 18:48:56 +00:00
add r6, r0, #0
add r0, r5, #0
mov r1, #6
2021-06-25 01:03:38 +00:00
bl ov42_02228188
cmp r6, #0
bne _02228D3E
ldrb r1, [r4, #2]
cmp r0, r1
beq _02228D3E
str r1, [sp]
ldrh r2, [r4]
ldrb r3, [r4, #3]
ldr r0, [sp, #0x18]
2021-06-27 18:48:56 +00:00
add r1, r5, #0
2021-06-25 01:03:38 +00:00
bl ov42_02228EB0
add sp, #4
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, r6, pc}
_02228D3E:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
add sp, #4
pop {r3, r4, r5, r6, pc}
thumb_func_end ov42_02228D08
thumb_func_start ov42_02228D44
2021-06-27 18:48:56 +00:00
ov42_02228D44: ; 0x02228D44
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r7, r1, #0
mov r1, #5
add r5, r0, #0
2021-06-25 01:03:38 +00:00
str r2, [sp, #4]
2021-06-27 18:48:56 +00:00
add r4, r3, #0
2021-06-25 01:03:38 +00:00
bl ov42_02228188
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-25 01:03:38 +00:00
bne _02228D8C
ldrb r2, [r4, #2]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r7, #0
2021-06-25 01:03:38 +00:00
bl ov42_02228E34
cmp r0, #1
beq _02228D8C
ldrb r2, [r4, #2]
ldr r1, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
bl ov42_02228E9C
cmp r0, #1
beq _02228D8C
ldrb r0, [r4, #2]
2021-06-27 18:48:56 +00:00
add r1, r5, #0
2021-06-25 01:03:38 +00:00
str r0, [sp]
ldrh r2, [r4]
ldrb r3, [r4, #3]
ldr r0, [sp, #0x20]
bl ov42_02228EB0
add sp, #8
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, r6, r7, pc}
_02228D8C:
cmp r6, #0
bne _02228DB2
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #0xa
2021-06-25 01:03:38 +00:00
bl ov42_02228188
cmp r0, #8
blt _02228DB2
ldrb r0, [r4, #2]
2021-06-27 18:48:56 +00:00
add r1, r5, #0
mov r2, #5
2021-06-25 01:03:38 +00:00
str r0, [sp]
ldrb r3, [r4, #3]
ldr r0, [sp, #0x20]
bl ov42_02228EB0
add sp, #8
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, r6, r7, pc}
_02228DB2:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov42_02228D44
thumb_func_start ov42_02228DB8
2021-06-27 18:48:56 +00:00
ov42_02228DB8: ; 0x02228DB8
2021-06-25 01:03:38 +00:00
push {r3, r4, lr}
sub sp, #4
ldr r4, [sp, #0x10]
str r4, [sp]
bl ov42_02228D44
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov42_02228DB8
thumb_func_start ov42_02228DC8
2021-06-27 18:48:56 +00:00
ov42_02228DC8: ; 0x02228DC8
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
mov r1, #5
add r5, r0, #0
add r4, r3, #0
2021-06-25 01:03:38 +00:00
bl ov42_02228188
cmp r0, #0
bne _02228DEC
ldrb r0, [r4, #2]
2021-06-27 18:48:56 +00:00
add r1, r5, #0
2021-06-25 01:03:38 +00:00
str r0, [sp]
ldrh r2, [r4]
ldrb r3, [r4, #3]
ldr r0, [sp, #0x10]
bl ov42_02228EB0
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, pc}
_02228DEC:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, pc}
thumb_func_end ov42_02228DC8
thumb_func_start ov42_02228DF0
2021-06-27 18:48:56 +00:00
ov42_02228DF0: ; 0x02228DF0
2021-06-25 01:03:38 +00:00
push {r3, lr}
bl GF_AssertFail
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r3, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228DF0
thumb_func_start ov42_02228DFC
2021-06-27 18:48:56 +00:00
ov42_02228DFC: ; 0x02228DFC
2021-06-25 01:03:38 +00:00
push {r3, r4, lr}
sub sp, #4
ldr r4, [sp, #0x10]
str r4, [sp]
bl ov42_02228D44
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov42_02228DFC
thumb_func_start ov42_02228E0C
2021-06-27 18:48:56 +00:00
ov42_02228E0C: ; 0x02228E0C
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
mov r1, #5
add r5, r0, #0
add r4, r3, #0
2021-06-25 01:03:38 +00:00
bl ov42_02228188
cmp r0, #0
bne _02228E30
ldrb r0, [r4, #2]
2021-06-27 18:48:56 +00:00
add r1, r5, #0
2021-06-25 01:03:38 +00:00
str r0, [sp]
ldrh r2, [r4]
ldrb r3, [r4, #3]
ldr r0, [sp, #0x10]
bl ov42_02228EB0
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, pc}
_02228E30:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, pc}
thumb_func_end ov42_02228E0C
thumb_func_start ov42_02228E34
2021-06-27 18:48:56 +00:00
ov42_02228E34: ; 0x02228E34
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
sub sp, #0x10
2021-06-27 18:48:56 +00:00
add r4, r1, #0
add r5, r2, #0
2021-06-25 01:03:38 +00:00
bl ov42_022282DC
add r1, sp, #0
strh r0, [r1, #4]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r1, #6]
ldrh r0, [r1, #4]
mov r2, sp
2021-06-27 18:48:56 +00:00
sub r2, r2, #4
2021-06-25 01:03:38 +00:00
strh r0, [r1, #0xc]
ldrh r0, [r1, #6]
strh r0, [r1, #0xe]
ldrh r0, [r1, #0xc]
strh r0, [r2]
ldrh r0, [r1, #0xe]
2021-06-27 18:48:56 +00:00
add r1, r5, #0
2021-06-25 01:03:38 +00:00
strh r0, [r2, #2]
ldr r0, [r2]
bl ov42_02228270
add r2, sp, #0
strh r0, [r2]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r2, #2]
ldrh r0, [r2]
2021-06-27 18:48:56 +00:00
mov r1, #8
2021-06-25 01:03:38 +00:00
strh r0, [r2, #8]
ldrh r0, [r2, #2]
strh r0, [r2, #0xa]
ldrsh r3, [r2, r1]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
asr r1, r3, #3
lsr r1, r1, #0x1c
add r1, r3, r1
mov r3, #0xa
2021-06-25 01:03:38 +00:00
ldrsh r3, [r2, r3]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0xc
lsr r1, r1, #0x10
asr r2, r3, #3
lsr r2, r2, #0x1c
add r2, r3, r2
lsl r2, r2, #0xc
lsr r2, r2, #0x10
2021-06-25 01:03:38 +00:00
bl ov42_02227FA4
add sp, #0x10
pop {r3, r4, r5, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228E34
thumb_func_start ov42_02228E9C
2021-06-27 18:48:56 +00:00
ov42_02228E9C: ; 0x02228E9C
2021-06-25 01:03:38 +00:00
push {r3, lr}
bl ov42_022283BC
cmp r0, #0
beq _02228EAA
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
pop {r3, pc}
_02228EAA:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r3, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228E9C
thumb_func_start ov42_02228EB0
2021-06-27 18:48:56 +00:00
ov42_02228EB0: ; 0x02228EB0
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, lr}
sub sp, #4
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r0, r1, #0
add r4, r2, #0
add r6, r3, #0
2021-06-25 01:03:38 +00:00
bl ov42_022282DC
add r1, sp, #0
strh r0, [r1]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r1, #2]
ldrh r0, [r1]
strh r0, [r5]
ldrh r0, [r1, #2]
strh r0, [r5, #2]
strh r4, [r5, #4]
ldr r0, [sp, #0x18]
strb r6, [r5, #7]
strb r0, [r5, #6]
add sp, #4
pop {r3, r4, r5, r6, pc}
thumb_func_end ov42_02228EB0
thumb_func_start ov42_02228EDC
2021-06-27 18:48:56 +00:00
ov42_02228EDC: ; 0x02228EDC
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r7, r0, #0
2021-06-25 01:03:38 +00:00
str r1, [sp]
ldr r0, [sp, #0x18]
2021-06-27 18:48:56 +00:00
mov r1, #0xc
add r5, r2, #0
add r6, r3, #0
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
ldr r1, [sp]
ldr r3, [sp, #0x18]
2021-06-27 18:48:56 +00:00
add r0, r7, #0
add r2, r5, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227060
str r0, [r4]
strh r5, [r4, #8]
ldrh r2, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r1, #0x14
2021-06-25 01:03:38 +00:00
ldr r0, [sp, #0x18]
2021-06-27 18:48:56 +00:00
mul r1, r2
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-25 01:03:38 +00:00
str r0, [r4, #4]
ldrh r3, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r2, #0x14
mov r1, #0
mul r2, r3
bl memset
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-25 01:03:38 +00:00
strb r0, [r4, #0xa]
strb r6, [r4, #0xb]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov42_02228EDC
thumb_func_start ov42_02228F24
2021-06-27 18:48:56 +00:00
ov42_02228F24: ; 0x02228F24
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0xc
ldr r5, [sp, #0x28]
2021-06-27 18:48:56 +00:00
add r7, r0, #0
2021-06-25 01:03:38 +00:00
str r1, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #0xc
add r6, r2, #0
2021-06-25 01:03:38 +00:00
str r3, [sp, #8]
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
ldr r1, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r7, #0
add r2, r6, #0
add r3, r5, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227060
str r0, [r4]
strh r6, [r4, #8]
ldrh r2, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r1, #0x14
add r0, r5, #0
mul r1, r2
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-25 01:03:38 +00:00
str r0, [r4, #4]
ldrh r3, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r2, #0x14
mov r1, #0
mul r2, r3
bl memset
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-25 01:03:38 +00:00
strb r0, [r4, #0xa]
ldr r0, [sp, #0x24]
ldr r1, [sp, #8]
strb r0, [r4, #0xb]
str r5, [sp]
ldrb r2, [r4, #0xb]
ldr r0, [r4]
ldr r3, [sp, #0x20]
bl ov42_02227194
ldrb r1, [r4, #0xb]
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
ldr r2, _02228F90 ; =0x00009C41
add r3, r5, #0
2021-06-25 01:03:38 +00:00
bl ov42_0222729C
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-25 01:03:38 +00:00
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
2021-06-27 18:48:56 +00:00
_02228F90: .word 0x00009C41
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02228F24
thumb_func_start ov42_02228F94
2021-06-27 18:48:56 +00:00
ov42_02228F94: ; 0x02228F94
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-25 01:03:38 +00:00
ldrh r0, [r5, #8]
2021-06-27 18:48:56 +00:00
mov r6, #0
2021-06-25 01:03:38 +00:00
cmp r0, #0
ble _02228FC0
2021-06-27 18:48:56 +00:00
add r4, r6, #0
2021-06-25 01:03:38 +00:00
_02228FA2:
ldr r0, [r5, #4]
2021-06-27 18:48:56 +00:00
add r0, r0, r4
2021-06-25 01:03:38 +00:00
bl ov42_02229274
cmp r0, #0
bne _02228FB6
ldr r0, [r5, #4]
2021-06-27 18:48:56 +00:00
add r0, r0, r4
2021-06-25 01:03:38 +00:00
bl ov42_022290C4
_02228FB6:
ldrh r0, [r5, #8]
2021-06-27 18:48:56 +00:00
add r6, r6, #1
add r4, #0x14
2021-06-25 01:03:38 +00:00
cmp r6, r0
blt _02228FA2
_02228FC0:
ldr r0, [r5]
bl ov42_022272B4
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
bl ov42_0222901C
ldr r0, [r5]
bl ov42_02227114
ldr r0, [r5, #4]
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
thumb_func_end ov42_02228F94
thumb_func_start ov42_02228FE0
2021-06-27 18:48:56 +00:00
ov42_02228FE0: ; 0x02228FE0
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
add r6, r1, #0
add r7, r2, #0
add r4, r3, #0
2021-06-25 01:03:38 +00:00
bl ov42_022271E4
cmp r0, #0
bne _02229002
str r4, [sp]
ldrb r2, [r5, #0xb]
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
add r1, r6, #0
add r3, r7, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227194
_02229002:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov42_02228FE0
thumb_func_start ov42_02229004
2021-06-27 18:48:56 +00:00
ov42_02229004: ; 0x02229004
ldr r3, _0222900C ; =ov42_022271D0
2021-06-25 01:03:38 +00:00
ldr r0, [r0]
bx r3
nop
2021-06-27 18:48:56 +00:00
_0222900C: .word ov42_022271D0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02229004
thumb_func_start ov42_02229010
2021-06-27 18:48:56 +00:00
ov42_02229010: ; 0x02229010
ldr r3, _02229018 ; =ov42_022271E4
2021-06-25 01:03:38 +00:00
ldr r0, [r0]
bx r3
nop
2021-06-27 18:48:56 +00:00
_02229018: .word ov42_022271E4
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02229010
thumb_func_start ov42_0222901C
2021-06-27 18:48:56 +00:00
ov42_0222901C: ; 0x0222901C
ldr r3, _02229024 ; =ov42_022271F8
2021-06-25 01:03:38 +00:00
ldr r0, [r0]
bx r3
nop
2021-06-27 18:48:56 +00:00
_02229024: .word ov42_022271F8
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_0222901C
thumb_func_start ov42_02229028
2021-06-27 18:48:56 +00:00
ov42_02229028: ; 0x02229028
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r1, #0
2021-06-25 01:03:38 +00:00
ldrb r1, [r5, #0xb]
2021-06-27 18:48:56 +00:00
add r3, r2, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
add r2, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227228
pop {r3, r4, r5, pc}
thumb_func_end ov42_02229028
thumb_func_start ov42_0222903C
2021-06-27 18:48:56 +00:00
ov42_0222903C: ; 0x0222903C
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0xc
2021-06-27 18:48:56 +00:00
add r5, r1, #0
add r6, r0, #0
add r7, r2, #0
2021-06-25 01:03:38 +00:00
str r3, [sp]
bl ov42_02229284
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r0, r5, #0
mov r1, #5
2021-06-25 01:03:38 +00:00
bl ov42_02228188
strh r0, [r4, #8]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #6
2021-06-25 01:03:38 +00:00
bl ov42_02228188
strh r0, [r4, #0xa]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #4
2021-06-25 01:03:38 +00:00
bl ov42_02228188
strh r0, [r4, #0xc]
str r5, [r4]
strb r7, [r4, #0x12]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
strb r0, [r4, #0x13]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-25 01:03:38 +00:00
strh r1, [r4, #0xe]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
strh r1, [r4, #0x10]
bl ov42_02228188
add r1, sp, #4
strh r0, [r1]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #1
2021-06-25 01:03:38 +00:00
bl ov42_02228188
add r1, sp, #4
strh r0, [r1, #2]
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-25 01:03:38 +00:00
ldrsh r0, [r1, r0]
ldrb r1, [r4, #0x12]
bl ov42_0222922C
add r1, sp, #4
strh r0, [r1, #4]
ldrb r0, [r6, #0xa]
strh r0, [r1, #6]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #7
2021-06-25 01:03:38 +00:00
bl ov42_02228188
2021-06-27 18:48:56 +00:00
add r2, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r6]
ldr r3, [sp]
add r1, sp, #4
bl ov42_022272BC
str r0, [r4, #4]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_0222910C
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-25 01:03:38 +00:00
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end ov42_0222903C
thumb_func_start ov42_022290C4
2021-06-27 18:48:56 +00:00
ov42_022290C4: ; 0x022290C4
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r4, #4]
bl ov42_0222740C
2021-06-27 18:48:56 +00:00
mov r1, #0x14
mov r0, #0
2021-06-25 01:03:38 +00:00
_022290D2:
strb r0, [r4]
2021-06-27 18:48:56 +00:00
add r4, r4, #1
sub r1, r1, #1
2021-06-25 01:03:38 +00:00
bne _022290D2
pop {r4, pc}
thumb_func_end ov42_022290C4
thumb_func_start ov42_022290DC
2021-06-27 18:48:56 +00:00
ov42_022290DC: ; 0x022290DC
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-25 01:03:38 +00:00
ldrh r0, [r5, #8]
2021-06-27 18:48:56 +00:00
mov r6, #0
2021-06-25 01:03:38 +00:00
cmp r0, #0
ble _02229108
2021-06-27 18:48:56 +00:00
add r4, r6, #0
2021-06-25 01:03:38 +00:00
_022290EA:
ldr r0, [r5, #4]
2021-06-27 18:48:56 +00:00
add r0, r0, r4
2021-06-25 01:03:38 +00:00
bl ov42_02229274
cmp r0, #0
bne _022290FE
ldr r0, [r5, #4]
2021-06-27 18:48:56 +00:00
add r0, r0, r4
2021-06-25 01:03:38 +00:00
bl ov42_0222910C
_022290FE:
ldrh r0, [r5, #8]
2021-06-27 18:48:56 +00:00
add r6, r6, #1
add r4, #0x14
2021-06-25 01:03:38 +00:00
cmp r6, r0
blt _022290EA
_02229108:
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022290DC
thumb_func_start ov42_0222910C
2021-06-27 18:48:56 +00:00
ov42_0222910C: ; 0x0222910C
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, lr}
sub sp, #4
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-25 01:03:38 +00:00
ldrb r0, [r5, #0x13]
cmp r0, #0
beq _02229196
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #5
2021-06-25 01:03:38 +00:00
bl ov42_02228188
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #6
2021-06-25 01:03:38 +00:00
bl ov42_02228188
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #8
2021-06-25 01:03:38 +00:00
bl ov42_02228188
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x10
asr r1, r0, #0x10
2021-06-25 01:03:38 +00:00
ldrh r0, [r5, #8]
cmp r0, r6
bne _02229148
ldrh r0, [r5, #0xa]
cmp r0, r4
bne _02229148
cmp r1, #0
bne _0222915E
_02229148:
strh r6, [r5, #8]
strh r4, [r5, #0xa]
ldr r0, [r5, #4]
2021-06-27 18:48:56 +00:00
add r1, r6, #0
2021-06-25 01:03:38 +00:00
bl ov42_022292BC
2021-06-27 18:48:56 +00:00
add r1, r0, #0
add r0, r5, #0
add r2, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_02229308
_0222915E:
add r1, sp, #0
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, #2
2021-06-25 01:03:38 +00:00
add r2, sp, #0
bl ov42_022292D8
add r3, sp, #0
2021-06-27 18:48:56 +00:00
mov r1, #2
mov r2, #0
2021-06-25 01:03:38 +00:00
ldrsh r1, [r3, r1]
ldrsh r2, [r3, r2]
ldr r0, [r5, #4]
bl ov42_02227434
add r1, sp, #0
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
ldrsh r0, [r1, r0]
ldrb r1, [r5, #0x12]
bl ov42_0222922C
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x10
lsr r1, r0, #0x10
2021-06-25 01:03:38 +00:00
ldr r0, [r5, #4]
bl ov42_02227474
ldr r0, [r5, #4]
bl ov42_02227538
_02229196:
add sp, #4
pop {r3, r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_0222910C
thumb_func_start ov42_0222919C
2021-06-27 18:48:56 +00:00
ov42_0222919C: ; 0x0222919C
2021-06-25 01:03:38 +00:00
strb r1, [r0, #0x13]
bx lr
thumb_func_end ov42_0222919C
thumb_func_start ov42_022291A0
2021-06-27 18:48:56 +00:00
ov42_022291A0: ; 0x022291A0
ldr r3, _022291A8 ; =ov42_02229308
mov r1, #1
2021-06-25 01:03:38 +00:00
ldrh r2, [r0, #0xa]
bx r3
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_022291A8: .word ov42_02229308
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022291A0
thumb_func_start ov42_022291AC
2021-06-27 18:48:56 +00:00
ov42_022291AC: ; 0x022291AC
ldr r3, _022291B4 ; =ov42_02227538
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
bx r3
nop
2021-06-27 18:48:56 +00:00
_022291B4: .word ov42_02227538
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022291AC
thumb_func_start ov42_022291B8
2021-06-27 18:48:56 +00:00
ov42_022291B8: ; 0x022291B8
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
ldrh r1, [r4, #8]
ldr r0, [r4, #4]
bl ov42_022292BC
2021-06-27 18:48:56 +00:00
add r1, r0, #0
2021-06-25 01:03:38 +00:00
ldrh r2, [r4, #0xa]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_02229308
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_0222910C
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022291B8
thumb_func_start ov42_022291D8
2021-06-27 18:48:56 +00:00
ov42_022291D8: ; 0x022291D8
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
push {r3, lr}
add r3, sp, #8
2021-06-27 18:48:56 +00:00
mov r1, #4
mov r2, #6
2021-06-25 01:03:38 +00:00
ldrsh r1, [r3, r1]
ldrsh r2, [r3, r2]
ldr r0, [r0, #4]
bl ov42_02227434
pop {r3}
pop {r3}
add sp, #0x10
bx r3
thumb_func_end ov42_022291D8
thumb_func_start ov42_022291F4
2021-06-27 18:48:56 +00:00
ov42_022291F4: ; 0x022291F4
ldr r3, _022291FC ; =ov42_022274AC
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
bx r3
nop
2021-06-27 18:48:56 +00:00
_022291FC: .word ov42_022274AC
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022291F4
thumb_func_start ov42_02229200
2021-06-27 18:48:56 +00:00
ov42_02229200: ; 0x02229200
ldr r3, _02229208 ; =ov42_02227490
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
bx r3
nop
2021-06-27 18:48:56 +00:00
_02229208: .word ov42_02227490
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02229200
thumb_func_start ov42_0222920C
2021-06-27 18:48:56 +00:00
ov42_0222920C: ; 0x0222920C
ldr r3, _02229214 ; =ov42_02227480
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
bx r3
nop
2021-06-27 18:48:56 +00:00
_02229214: .word ov42_02227480
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_0222920C
thumb_func_start ov42_02229218
2021-06-27 18:48:56 +00:00
ov42_02229218: ; 0x02229218
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r2, r1, #0
add r4, r0, #0
mov r1, #0
2021-06-25 01:03:38 +00:00
bl ov42_02229308
ldr r0, [r4, #4]
bl ov42_02227538
pop {r4, pc}
thumb_func_end ov42_02229218
thumb_func_start ov42_0222922C
2021-06-27 18:48:56 +00:00
ov42_0222922C: ; 0x0222922C
2021-06-25 01:03:38 +00:00
cmp r1, #1
bne _02229238
2021-06-27 18:48:56 +00:00
lsl r1, r0, #1
ldr r0, _02229240 ; =0x00009C40
sub r0, r0, r1
2021-06-25 01:03:38 +00:00
bx lr
_02229238:
2021-06-27 18:48:56 +00:00
lsl r1, r0, #1
ldr r0, _02229244 ; =0x00009C41
sub r0, r0, r1
2021-06-25 01:03:38 +00:00
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_02229240: .word 0x00009C40
_02229244: .word 0x00009C41
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_0222922C
thumb_func_start ov42_02229248
2021-06-27 18:48:56 +00:00
ov42_02229248: ; 0x02229248
2021-06-25 01:03:38 +00:00
push {r3, lr}
ldr r0, [r0, #4]
bl ov42_02227430
2021-06-27 19:11:25 +00:00
bl sub_02024ACC
2021-06-25 01:03:38 +00:00
pop {r3, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02229248
thumb_func_start ov42_02229258
2021-06-27 18:48:56 +00:00
ov42_02229258: ; 0x02229258
2021-06-25 01:03:38 +00:00
push {r0, r1, r2, r3}
push {r3, lr}
add r3, sp, #8
2021-06-27 18:48:56 +00:00
mov r1, #4
mov r2, #6
2021-06-25 01:03:38 +00:00
ldrsh r1, [r3, r1]
ldrsh r2, [r3, r2]
ldr r0, [r0, #4]
bl ov42_022274DC
pop {r3}
pop {r3}
add sp, #0x10
bx r3
thumb_func_end ov42_02229258
thumb_func_start ov42_02229274
2021-06-27 18:48:56 +00:00
ov42_02229274: ; 0x02229274
2021-06-25 01:03:38 +00:00
ldr r0, [r0, #4]
cmp r0, #0
bne _0222927E
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
bx lr
_0222927E:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02229274
thumb_func_start ov42_02229284
2021-06-27 18:48:56 +00:00
ov42_02229284: ; 0x02229284
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-25 01:03:38 +00:00
ldrh r0, [r5, #8]
2021-06-27 18:48:56 +00:00
mov r6, #0
2021-06-25 01:03:38 +00:00
cmp r0, #0
ble _022292B2
2021-06-27 18:48:56 +00:00
add r4, r6, #0
2021-06-25 01:03:38 +00:00
_02229292:
ldr r0, [r5, #4]
2021-06-27 18:48:56 +00:00
add r0, r0, r4
2021-06-25 01:03:38 +00:00
bl ov42_02229274
cmp r0, #1
bne _022292A8
2021-06-27 18:48:56 +00:00
mov r0, #0x14
2021-06-25 01:03:38 +00:00
ldr r1, [r5, #4]
2021-06-27 18:48:56 +00:00
mul r0, r6
add r0, r1, r0
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
_022292A8:
ldrh r0, [r5, #8]
2021-06-27 18:48:56 +00:00
add r6, r6, #1
add r4, #0x14
2021-06-25 01:03:38 +00:00
cmp r6, r0
blt _02229292
_022292B2:
bl GF_AssertFail
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02229284
thumb_func_start ov42_022292BC
2021-06-27 18:48:56 +00:00
ov42_022292BC: ; 0x022292BC
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r1, #0
2021-06-25 01:03:38 +00:00
bl ov42_022274B8
cmp r0, #2
bne _022292CC
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r4, pc}
_022292CC:
2021-06-27 18:48:56 +00:00
ldr r0, _022292D4 ; =0x02229EB0
2021-06-25 01:03:38 +00:00
ldrb r0, [r0, r4]
pop {r4, pc}
nop
2021-06-27 18:48:56 +00:00
_022292D4: .word 0x02229EB0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022292BC
thumb_func_start ov42_022292D8
2021-06-27 18:48:56 +00:00
ov42_022292D8: ; 0x022292D8
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
sub sp, #8
ldr r0, [r0]
2021-06-27 18:48:56 +00:00
add r5, r1, #0
add r4, r2, #0
2021-06-25 01:03:38 +00:00
bl ov42_022282F4
add r1, sp, #0
strh r0, [r1]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r1, #2]
ldrh r0, [r1]
strh r0, [r1, #4]
ldrh r0, [r1, #2]
strh r0, [r1, #6]
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-25 01:03:38 +00:00
ldrsh r0, [r1, r0]
strh r0, [r5]
2021-06-27 18:48:56 +00:00
mov r0, #6
2021-06-25 01:03:38 +00:00
ldrsh r0, [r1, r0]
strh r0, [r4]
add sp, #8
pop {r3, r4, r5, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022292D8
thumb_func_start ov42_02229308
2021-06-27 18:48:56 +00:00
ov42_02229308: ; 0x02229308
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r5, #4]
2021-06-27 18:48:56 +00:00
add r4, r1, #0
2021-06-25 01:03:38 +00:00
str r2, [sp]
bl ov42_022274D0
2021-06-27 18:48:56 +00:00
add r7, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r5, #4]
bl ov42_022274C0
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x10
lsr r6, r0, #0x10
2021-06-25 01:03:38 +00:00
ldr r0, [r5, #4]
ldr r2, [sp]
2021-06-27 18:48:56 +00:00
add r1, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_02227504
cmp r6, r4
beq _02229352
2021-06-27 18:48:56 +00:00
ldr r0, _02229354 ; =0x02229EA4
2021-06-25 01:03:38 +00:00
ldrb r0, [r0, r4]
cmp r0, #1
bne _02229346
ldrh r0, [r5, #0x10]
cmp r0, r4
bne _02229346
ldrh r1, [r5, #0xe]
ldr r0, [r5, #4]
bl ov42_022274C4
_02229346:
2021-06-27 18:48:56 +00:00
ldr r0, _02229354 ; =0x02229EA4
2021-06-25 01:03:38 +00:00
ldrb r0, [r0, r6]
cmp r0, #1
bne _02229352
strh r6, [r5, #0x10]
strh r7, [r5, #0xe]
_02229352:
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_02229354: .word 0x02229EA4
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02229308
thumb_func_start ov42_02229358
2021-06-27 18:48:56 +00:00
ov42_02229358: ; 0x02229358
2021-06-25 01:03:38 +00:00
push {r4, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r0, r1, #0
2021-06-25 01:03:38 +00:00
bl ov42_022282F4
add r3, sp, #0
strh r0, [r3]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
strh r0, [r3, #2]
ldrh r0, [r3]
2021-06-27 18:48:56 +00:00
mov r1, #6
mov r2, #4
2021-06-25 01:03:38 +00:00
strh r0, [r3, #4]
ldrh r0, [r3, #2]
strh r0, [r3, #6]
ldrsh r1, [r3, r1]
ldrsh r2, [r3, r2]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
sub r1, #0x60
sub r2, #0x70
lsl r1, r1, #0x10
lsl r2, r2, #0x10
asr r1, r1, #0x10
asr r2, r2, #0x10
2021-06-25 01:03:38 +00:00
bl ov42_022293A0
add sp, #8
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02229358
thumb_func_start ov42_02229394
2021-06-27 18:48:56 +00:00
ov42_02229394: ; 0x02229394
mov r1, #0
2021-06-25 01:03:38 +00:00
strb r1, [r0]
strb r1, [r0, #1]
strb r1, [r0, #2]
strb r1, [r0, #3]
bx lr
thumb_func_end ov42_02229394
thumb_func_start ov42_022293A0
2021-06-27 18:48:56 +00:00
ov42_022293A0: ; 0x022293A0
2021-06-25 01:03:38 +00:00
strh r1, [r0]
strh r2, [r0, #2]
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022293A0
thumb_func_start ov42_022293A8
2021-06-27 18:48:56 +00:00
ov42_022293A8: ; 0x022293A8
mov r1, #0
2021-06-25 01:03:38 +00:00
ldrsh r0, [r0, r1]
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022293A8
thumb_func_start ov42_022293B0
2021-06-27 18:48:56 +00:00
ov42_022293B0: ; 0x022293B0
mov r1, #2
2021-06-25 01:03:38 +00:00
ldrsh r0, [r0, r1]
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022293B0
thumb_func_start ov42_022293B8
2021-06-27 18:48:56 +00:00
ov42_022293B8: ; 0x022293B8
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r6, r0, #0
add r7, r1, #0
add r0, r3, #0
mov r1, #0x1c
add r5, r2, #0
2021-06-25 01:03:38 +00:00
str r3, [sp, #4]
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r2, r4, #0
mov r1, #0x1c
mov r0, #0
2021-06-25 01:03:38 +00:00
_022293D4:
strb r0, [r2]
2021-06-27 18:48:56 +00:00
add r2, r2, #1
sub r1, r1, #1
2021-06-25 01:03:38 +00:00
bne _022293D4
str r6, [r4]
str r7, [r4, #4]
ldrb r0, [r5]
2021-06-27 18:48:56 +00:00
add r2, r5, #0
2021-06-25 01:03:38 +00:00
str r0, [r4, #0x10]
ldrb r1, [r5, #1]
str r1, [r4, #0x14]
ldr r0, [r4, #4]
bl ov42_02229514
ldr r0, [sp, #4]
2021-06-27 18:48:56 +00:00
add r3, r4, #0
2021-06-25 01:03:38 +00:00
str r0, [sp]
ldrb r0, [r5, #8]
ldrb r1, [r5, #9]
ldrb r2, [r5, #0xa]
2021-06-27 18:48:56 +00:00
add r3, #0xc
bl GfGfxLoader_GetScrnData
2021-06-25 01:03:38 +00:00
str r0, [r4, #8]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-25 01:03:38 +00:00
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022293B8
thumb_func_start ov42_0222940C
2021-06-27 18:48:56 +00:00
ov42_0222940C: ; 0x0222940C
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r4, #8]
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-25 01:03:38 +00:00
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_0222940C
thumb_func_start ov42_02229420
2021-06-27 18:48:56 +00:00
ov42_02229420: ; 0x02229420
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r4, r1, #0
add r6, r0, #0
add r0, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_022293A8
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r0, r4, #0
2021-06-25 01:03:38 +00:00
bl ov42_022293B0
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r6, #0x10]
cmp r0, #0
bne _022294A0
cmp r5, #0
ble _02229454
2021-06-27 18:48:56 +00:00
lsl r0, r5, #0xc
2021-10-05 12:50:55 +00:00
bl _fflt
2021-06-27 18:48:56 +00:00
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
2021-08-11 14:29:41 +00:00
bl _fadd
2021-06-25 01:03:38 +00:00
b _02229462
_02229454:
2021-06-27 18:48:56 +00:00
lsl r0, r5, #0xc
2021-10-05 12:50:55 +00:00
bl _fflt
2021-06-27 18:48:56 +00:00
mov r1, #0x3f
lsl r1, r1, #0x18
2021-08-11 14:29:41 +00:00
bl _fsub
2021-06-25 01:03:38 +00:00
_02229462:
2021-06-27 18:48:56 +00:00
add r7, r0, #0
2021-06-25 01:03:38 +00:00
cmp r4, #0
ble _0222947A
2021-06-27 18:48:56 +00:00
lsl r0, r4, #0xc
2021-10-05 12:50:55 +00:00
bl _fflt
2021-06-27 18:48:56 +00:00
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
2021-08-11 14:29:41 +00:00
bl _fadd
2021-06-25 01:03:38 +00:00
b _02229488
_0222947A:
2021-06-27 18:48:56 +00:00
lsl r0, r4, #0xc
2021-10-05 12:50:55 +00:00
bl _fflt
2021-06-27 18:48:56 +00:00
mov r1, #0x3f
lsl r1, r1, #0x18
2021-08-11 14:29:41 +00:00
bl _fsub
2021-06-25 01:03:38 +00:00
_02229488:
2021-10-05 12:50:55 +00:00
bl _ffix
2021-06-25 01:03:38 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r0, r7, #0
2021-10-05 12:50:55 +00:00
bl _ffix
2021-06-27 18:48:56 +00:00
add r2, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r6]
ldr r1, [sp]
2021-06-27 19:11:25 +00:00
bl sub_02009FA8
2021-06-25 01:03:38 +00:00
b _02229506
_022294A0:
cmp r5, #0
ble _022294B6
2021-06-27 18:48:56 +00:00
lsl r0, r5, #0xc
2021-10-05 12:50:55 +00:00
bl _fflt
2021-06-27 18:48:56 +00:00
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
2021-08-11 14:29:41 +00:00
bl _fadd
2021-06-25 01:03:38 +00:00
b _022294C4
_022294B6:
2021-06-27 18:48:56 +00:00
lsl r0, r5, #0xc
2021-10-05 12:50:55 +00:00
bl _fflt
2021-06-27 18:48:56 +00:00
mov r1, #0x3f
lsl r1, r1, #0x18
2021-08-11 14:29:41 +00:00
bl _fsub
2021-06-25 01:03:38 +00:00
_022294C4:
2021-06-27 18:48:56 +00:00
add r7, r0, #0
2021-06-25 01:03:38 +00:00
cmp r4, #0
ble _022294DC
2021-06-27 18:48:56 +00:00
lsl r0, r4, #0xc
2021-10-05 12:50:55 +00:00
bl _fflt
2021-06-27 18:48:56 +00:00
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
2021-08-11 14:29:41 +00:00
bl _fadd
2021-06-25 01:03:38 +00:00
b _022294EA
_022294DC:
2021-06-27 18:48:56 +00:00
lsl r0, r4, #0xc
2021-10-05 12:50:55 +00:00
bl _fflt
2021-06-27 18:48:56 +00:00
mov r1, #0x3f
lsl r1, r1, #0x18
2021-08-11 14:29:41 +00:00
bl _fsub
2021-06-25 01:03:38 +00:00
_022294EA:
2021-10-05 12:50:55 +00:00
bl _ffix
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r7, #0
2021-10-05 12:50:55 +00:00
bl _ffix
2021-06-27 18:48:56 +00:00
mov r2, #3
add r3, r0, #0
lsl r2, r2, #0x12
2021-06-25 01:03:38 +00:00
ldr r0, [r6]
ldr r1, [sp, #4]
2021-06-27 18:48:56 +00:00
add r2, r3, r2
2021-06-27 19:11:25 +00:00
bl sub_02009FC8
2021-06-25 01:03:38 +00:00
_02229506:
2021-06-27 18:48:56 +00:00
add r0, r6, #0
add r1, r4, #0
add r2, r5, #0
2021-06-25 01:03:38 +00:00
bl ov42_02229570
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov42_02229420
thumb_func_start ov42_02229514
2021-06-27 18:48:56 +00:00
ov42_02229514: ; 0x02229514
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, lr}
sub sp, #0x1c
2021-06-27 18:48:56 +00:00
ldr r6, _0222956C ; =0x02229EBC
add r5, r0, #0
add r4, r1, #0
ldmia r6!, {r0, r1}
2021-06-25 01:03:38 +00:00
add r3, sp, #0
2021-06-27 18:48:56 +00:00
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
2021-06-25 01:03:38 +00:00
ldr r0, [r6]
str r0, [r3]
ldrb r1, [r2, #2]
add r0, sp, #0
strb r1, [r0, #0x11]
ldrb r1, [r2, #3]
strb r1, [r0, #0x12]
ldrb r1, [r2, #4]
strb r1, [r0, #0x13]
ldrb r1, [r2, #5]
strb r1, [r0, #0x14]
ldrb r1, [r2, #6]
strb r1, [r0, #0x15]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-25 01:03:38 +00:00
strb r1, [r0, #0x16]
ldrb r0, [r2, #7]
2021-06-27 18:48:56 +00:00
lsl r1, r4, #0x18
lsr r1, r1, #0x18
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x18]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-09-16 00:11:18 +00:00
bl FreeBgTilemapBuffer
2021-06-27 18:48:56 +00:00
lsl r1, r4, #0x18
add r0, r5, #0
lsr r1, r1, #0x18
2021-06-25 01:03:38 +00:00
add r2, sp, #0
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-09-16 00:11:18 +00:00
bl InitBgFromTemplate
2021-06-25 01:03:38 +00:00
add sp, #0x1c
pop {r3, r4, r5, r6, pc}
nop
2021-06-27 18:48:56 +00:00
_0222956C: .word 0x02229EBC
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02229514
thumb_func_start ov42_02229570
2021-06-27 18:48:56 +00:00
ov42_02229570: ; 0x02229570
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, lr}
sub sp, #4
2021-06-27 18:48:56 +00:00
add r5, r0, #0
asr r0, r1, #2
lsr r0, r0, #0x1d
add r0, r1, r0
lsl r0, r0, #0xd
asr r3, r0, #0x10
asr r0, r2, #2
lsr r0, r0, #0x1d
add r0, r2, r0
lsr r4, r1, #0x1f
lsl r6, r1, #0x1d
sub r6, r6, r4
mov r1, #0x1d
ror r6, r1
add r4, r4, r6
lsl r4, r4, #0x10
asr r6, r4, #0x10
lsr r4, r2, #0x1f
lsl r2, r2, #0x1d
sub r2, r2, r4
ror r2, r1
add r1, r4, r2
lsl r1, r1, #0x10
asr r4, r1, #0x10
lsl r0, r0, #0xd
2021-06-25 01:03:38 +00:00
ldrh r1, [r5, #0x18]
2021-06-27 18:48:56 +00:00
asr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
cmp r3, r1
bne _022295B4
ldrh r1, [r5, #0x1a]
cmp r0, r1
beq _022295DC
_022295B4:
strh r3, [r5, #0x18]
strh r0, [r5, #0x1a]
2021-06-27 18:48:56 +00:00
neg r0, r0
lsl r0, r0, #0x10
asr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
neg r3, r3
lsl r3, r3, #0x10
2021-06-25 01:03:38 +00:00
ldr r0, [r5, #4]
ldr r1, [r5, #0x14]
ldr r2, [r5, #0xc]
2021-06-27 18:48:56 +00:00
asr r3, r3, #0x10
2021-06-25 01:03:38 +00:00
bl ov42_02229600
ldr r1, [r5, #0x14]
ldr r0, [r5, #4]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x18
lsr r1, r1, #0x18
2021-08-14 18:09:09 +00:00
bl ScheduleBgTilemapBufferTransfer
2021-06-25 01:03:38 +00:00
_022295DC:
ldr r1, [r5, #0x14]
ldr r0, [r5, #4]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x18
lsr r1, r1, #0x18
mov r2, #0
add r3, r6, #0
2021-06-27 19:11:25 +00:00
bl sub_0201F238
2021-06-25 01:03:38 +00:00
ldr r1, [r5, #0x14]
ldr r0, [r5, #4]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x18
lsr r1, r1, #0x18
mov r2, #3
add r3, r4, #0
2021-06-27 19:11:25 +00:00
bl sub_0201F238
2021-06-25 01:03:38 +00:00
add sp, #4
pop {r3, r4, r5, r6, pc}
thumb_func_end ov42_02229570
thumb_func_start ov42_02229600
2021-06-27 18:48:56 +00:00
ov42_02229600: ; 0x02229600
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x38
str r0, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
add r0, r2, #0
2021-06-25 01:03:38 +00:00
ldrh r0, [r0]
ldr r4, [sp, #0x50]
2021-06-27 18:48:56 +00:00
add r5, r3, #0
lsl r0, r0, #0xd
asr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x34]
2021-06-27 18:48:56 +00:00
add r0, r2, #0
2021-06-25 01:03:38 +00:00
ldrh r0, [r0, #2]
str r1, [sp, #0x20]
str r2, [sp, #0x24]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0xd
asr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x30]
cmp r5, #0
bge _02229630
2021-06-27 18:48:56 +00:00
neg r0, r5
lsl r0, r0, #0x10
asr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x2c]
b _02229634
_02229630:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x2c]
_02229634:
cmp r4, #0
bge _02229642
2021-06-27 18:48:56 +00:00
neg r0, r4
lsl r0, r0, #0x10
asr r0, r0, #0x10
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x28]
b _02229646
_02229642:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x28]
_02229646:
cmp r5, #0
bgt _0222964C
2021-06-27 18:48:56 +00:00
mov r5, #0
2021-06-25 01:03:38 +00:00
_0222964C:
cmp r4, #0
bgt _02229652
2021-06-27 18:48:56 +00:00
mov r4, #0
2021-06-25 01:03:38 +00:00
_02229652:
2021-06-27 18:48:56 +00:00
mov r0, #0x21
sub r0, r0, r5
lsl r0, r0, #0x10
asr r7, r0, #0x10
mov r0, #0x19
sub r0, r0, r4
lsl r0, r0, #0x10
asr r6, r0, #0x10
2021-06-25 01:03:38 +00:00
ldr r0, [sp, #0x2c]
2021-06-27 18:48:56 +00:00
add r1, r0, r7
2021-06-25 01:03:38 +00:00
ldr r0, [sp, #0x34]
cmp r0, r1
bge _02229674
2021-06-27 18:48:56 +00:00
sub r0, r1, r0
sub r0, r7, r0
lsl r0, r0, #0x10
asr r7, r0, #0x10
2021-06-25 01:03:38 +00:00
_02229674:
ldr r0, [sp, #0x28]
2021-06-27 18:48:56 +00:00
add r1, r0, r6
2021-06-25 01:03:38 +00:00
ldr r0, [sp, #0x30]
cmp r0, r1
bge _02229686
2021-06-27 18:48:56 +00:00
sub r0, r1, r0
sub r0, r6, r0
lsl r0, r0, #0x10
asr r6, r0, #0x10
2021-06-25 01:03:38 +00:00
_02229686:
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-25 01:03:38 +00:00
str r2, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x21
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0x19
2021-06-25 01:03:38 +00:00
ldr r1, [sp, #0x20]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0x11
2021-06-25 01:03:38 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x18
2021-06-25 01:03:38 +00:00
ldr r0, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
lsr r1, r1, #0x18
add r3, r2, #0
bl FillBgTilemapRect
2021-06-27 18:48:56 +00:00
lsl r0, r7, #0x18
lsr r0, r0, #0x18
2021-06-25 01:03:38 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
lsl r0, r6, #0x18
lsr r0, r0, #0x18
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
ldr r0, [sp, #0x24]
ldr r1, [sp, #0x20]
2021-06-27 18:48:56 +00:00
add r0, #0xc
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x24]
str r0, [sp, #8]
ldr r0, [sp, #0x2c]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x18
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-25 01:03:38 +00:00
str r0, [sp, #0xc]
ldr r0, [sp, #0x28]
2021-06-27 18:48:56 +00:00
lsl r2, r5, #0x18
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x10]
ldr r0, [sp, #0x34]
2021-06-27 18:48:56 +00:00
lsl r3, r4, #0x18
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x14]
ldr r0, [sp, #0x30]
2021-06-27 18:48:56 +00:00
lsr r1, r1, #0x18
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x18]
ldr r0, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
lsr r2, r2, #0x18
lsr r3, r3, #0x18
2021-06-25 01:03:38 +00:00
bl ov42_022296F0
add sp, #0x38
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov42_02229600
thumb_func_start ov42_022296F0
2021-06-27 18:48:56 +00:00
ov42_022296F0: ; 0x022296F0
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0x54
str r0, [sp, #0x1c]
str r1, [sp, #0x20]
ldr r0, [sp, #0x70]
str r3, [sp, #0x24]
str r0, [sp, #0x70]
ldr r0, [sp, #0x78]
2021-06-27 18:48:56 +00:00
add r4, r2, #0
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x78]
ldr r0, [sp, #0x7c]
str r0, [sp, #0x7c]
ldr r0, [sp, #0x80]
str r0, [sp, #0x80]
ldr r0, [sp, #0x7c]
ldr r1, [sp, #0x80]
bl ov42_02229880
str r0, [sp, #0x40]
cmp r0, #0
add r1, sp, #0x58
bne _02229748
ldrb r0, [r1, #0x10]
2021-06-27 18:48:56 +00:00
add r2, r4, #0
2021-06-25 01:03:38 +00:00
str r0, [sp]
ldrb r0, [r1, #0x14]
str r0, [sp, #4]
ldr r0, [sp, #0x70]
str r0, [sp, #8]
ldrb r0, [r1, #0x1c]
str r0, [sp, #0xc]
ldr r0, [sp, #0x78]
str r0, [sp, #0x10]
ldr r0, [sp, #0x7c]
str r0, [sp, #0x14]
ldr r0, [sp, #0x80]
str r0, [sp, #0x18]
ldr r0, [sp, #0x1c]
ldr r1, [sp, #0x20]
ldr r3, [sp, #0x24]
2021-06-27 19:11:25 +00:00
bl sub_0201C4EC
2021-06-25 01:03:38 +00:00
add sp, #0x54
pop {r4, r5, r6, r7, pc}
_02229748:
2021-06-27 18:48:56 +00:00
mov r0, #0x14
2021-06-25 01:03:38 +00:00
ldrsb r0, [r1, r0]
str r0, [sp, #0x48]
cmp r0, #0
bgt _02229754
b _0222987A
_02229754:
2021-06-27 18:48:56 +00:00
mov r0, #0x10
2021-06-25 01:03:38 +00:00
ldrsb r0, [r1, r0]
str r0, [sp, #0x3c]
2021-06-27 18:48:56 +00:00
mov r0, #0x1c
2021-06-25 01:03:38 +00:00
ldrsb r0, [r1, r0]
str r0, [sp, #0x38]
2021-06-27 18:48:56 +00:00
lsl r0, r4, #0x18
asr r0, r0, #0x18
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x34]
_02229766:
ldr r0, [sp, #0x78]
2021-06-27 18:48:56 +00:00
lsr r2, r0, #0x1f
lsl r1, r0, #0x1b
sub r1, r1, r2
mov r0, #0x1b
ror r1, r0
add r0, r2, r1
2021-06-25 01:03:38 +00:00
ldr r1, [sp, #0x48]
2021-06-27 18:48:56 +00:00
add r1, r0, r1
2021-06-25 01:03:38 +00:00
cmp r1, #0x20
bgt _02229786
ldr r1, [sp, #0x48]
str r1, [sp, #0x44]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-25 01:03:38 +00:00
str r1, [sp, #0x48]
b _0222979A
_02229786:
2021-06-27 18:48:56 +00:00
mov r1, #0x20
sub r1, r1, r0
lsl r1, r1, #0x18
asr r1, r1, #0x18
2021-06-25 01:03:38 +00:00
str r1, [sp, #0x44]
ldr r2, [sp, #0x48]
2021-06-27 18:48:56 +00:00
sub r1, r2, r1
lsl r1, r1, #0x18
asr r1, r1, #0x18
2021-06-25 01:03:38 +00:00
str r1, [sp, #0x48]
_0222979A:
ldr r1, [sp, #0x78]
ldr r4, [sp, #0x3c]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x13
asr r2, r1, #0x18
add r1, r4, #0
2021-06-25 01:03:38 +00:00
ldr r5, [sp, #0x38]
ldr r7, [sp, #0x34]
cmp r1, #0
ble _0222985A
2021-06-27 18:48:56 +00:00
lsl r1, r2, #0x18
lsr r1, r1, #0x18
2021-06-25 01:03:38 +00:00
str r1, [sp, #0x30]
ldr r1, [sp, #0x44]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x18
lsl r1, r1, #0x18
lsr r1, r1, #0x18
lsr r0, r0, #0x18
2021-06-25 01:03:38 +00:00
str r1, [sp, #0x2c]
str r0, [sp, #0x4c]
_022297C0:
2021-06-27 18:48:56 +00:00
lsr r2, r5, #0x1f
lsl r1, r5, #0x1b
sub r1, r1, r2
mov r0, #0x1b
ror r1, r0
add r0, r2, r1
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x28]
2021-06-27 18:48:56 +00:00
add r0, r0, r4
2021-06-25 01:03:38 +00:00
cmp r0, #0x20
bgt _022297DA
2021-06-27 18:48:56 +00:00
add r6, r4, #0
mov r4, #0
2021-06-25 01:03:38 +00:00
b _022297EA
_022297DA:
ldr r0, [sp, #0x28]
2021-06-27 18:48:56 +00:00
mov r1, #0x20
sub r0, r1, r0
lsl r0, r0, #0x18
asr r6, r0, #0x18
sub r0, r4, r6
lsl r0, r0, #0x18
asr r4, r0, #0x18
2021-06-25 01:03:38 +00:00
_022297EA:
ldr r0, [sp, #0x7c]
2021-06-27 18:48:56 +00:00
asr r1, r5, #4
2021-06-25 01:03:38 +00:00
str r0, [sp]
ldr r0, [sp, #0x80]
2021-06-27 18:48:56 +00:00
lsr r1, r1, #0x1b
add r1, r5, r1
2021-06-25 01:03:38 +00:00
str r0, [sp, #4]
add r0, sp, #0x50
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x13
asr r1, r1, #0x18
lsl r1, r1, #0x18
2021-06-25 01:03:38 +00:00
ldr r0, [sp, #0x70]
ldr r2, [sp, #0x30]
ldr r3, [sp, #0x40]
2021-06-27 18:48:56 +00:00
lsr r1, r1, #0x18
2021-06-25 01:03:38 +00:00
bl ov42_022298B4
2021-06-27 18:48:56 +00:00
lsl r1, r6, #0x18
lsr r1, r1, #0x18
2021-06-25 01:03:38 +00:00
str r1, [sp]
ldr r1, [sp, #0x2c]
2021-06-27 18:48:56 +00:00
lsl r2, r7, #0x18
2021-06-25 01:03:38 +00:00
str r1, [sp, #4]
str r0, [sp, #8]
ldr r0, [sp, #0x28]
add r1, sp, #0x50
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-25 01:03:38 +00:00
str r0, [sp, #0xc]
ldr r0, [sp, #0x4c]
2021-06-27 18:48:56 +00:00
lsr r2, r2, #0x18
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
ldrsh r0, [r1, r0]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-25 01:03:38 +00:00
ldrsh r0, [r1, r0]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x18]
ldr r0, [sp, #0x1c]
ldr r1, [sp, #0x20]
ldr r3, [sp, #0x24]
2021-06-27 19:11:25 +00:00
bl sub_0201C4EC
2021-06-27 18:48:56 +00:00
add r0, r5, r6
lsl r0, r0, #0x18
asr r5, r0, #0x18
add r0, r7, r6
lsl r0, r0, #0x18
asr r7, r0, #0x18
2021-06-25 01:03:38 +00:00
cmp r4, #0
bgt _022297C0
_0222985A:
ldr r1, [sp, #0x78]
ldr r0, [sp, #0x44]
2021-06-27 18:48:56 +00:00
add r0, r1, r0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x78]
ldr r1, [sp, #0x24]
ldr r0, [sp, #0x44]
2021-06-27 18:48:56 +00:00
add r0, r1, r0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-25 01:03:38 +00:00
str r0, [sp, #0x24]
ldr r0, [sp, #0x48]
cmp r0, #0
ble _0222987A
b _02229766
_0222987A:
add sp, #0x54
pop {r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022296F0
thumb_func_start ov42_02229880
2021-06-27 18:48:56 +00:00
ov42_02229880: ; 0x02229880
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r1, #0
2021-06-25 01:03:38 +00:00
cmp r5, #0x40
bls _0222988E
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_0222988E:
cmp r4, #0x40
bls _02229896
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02229896:
cmp r5, #0x20
bhi _022298A6
cmp r4, #0x20
bhi _022298A2
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, pc}
_022298A2:
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, pc}
_022298A6:
cmp r4, #0x20
bhi _022298AE
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, pc}
_022298AE:
2021-06-27 18:48:56 +00:00
mov r0, #3
2021-06-25 01:03:38 +00:00
pop {r3, r4, r5, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02229880
thumb_func_start ov42_022298B4
2021-06-27 18:48:56 +00:00
ov42_022298B4: ; 0x022298B4
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r5, r3, #0
add r6, r2, #0
2021-06-25 01:03:38 +00:00
ldr r4, [sp, #0x10]
ldr r3, [sp, #0x14]
ldr r2, [sp, #0x18]
cmp r5, #3
bhi _02229968
2021-06-27 18:48:56 +00:00
add r5, r5, r5
2021-06-25 01:03:38 +00:00
add r5, pc
ldrh r5, [r5, #6]
2021-06-27 18:48:56 +00:00
lsl r5, r5, #0x10
asr r5, r5, #0x10
2021-06-25 01:03:38 +00:00
add pc, r5
2021-06-27 18:48:56 +00:00
_022298D0: ; jump table
.short _022298D8 - _022298D0 - 2 ; case 0
.short _022298DE - _022298D0 - 2 ; case 1
.short _022298FC - _022298D0 - 2 ; case 2
.short _0222991A - _022298D0 - 2 ; case 3
2021-06-25 01:03:38 +00:00
_022298D8:
strh r4, [r2]
strh r3, [r2, #2]
pop {r4, r5, r6, pc}
_022298DE:
2021-06-27 18:48:56 +00:00
add r5, r1, #1
lsl r5, r5, #5
2021-06-25 01:03:38 +00:00
cmp r5, r4
bgt _022298EA
2021-06-27 18:48:56 +00:00
mov r4, #0x20
2021-06-25 01:03:38 +00:00
b _022298EE
_022298EA:
2021-06-27 18:48:56 +00:00
lsl r5, r1, #5
sub r4, r4, r5
2021-06-25 01:03:38 +00:00
_022298EE:
strh r4, [r2]
strh r3, [r2, #2]
2021-06-27 18:48:56 +00:00
lsl r2, r3, #0x16
asr r2, r2, #0x10
mul r2, r1
add r0, r0, r2
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
_022298FC:
2021-06-27 18:48:56 +00:00
add r1, r6, #1
lsl r1, r1, #5
2021-06-25 01:03:38 +00:00
strh r4, [r2]
cmp r1, r3
bgt _0222990A
2021-06-27 18:48:56 +00:00
mov r1, #0x20
2021-06-25 01:03:38 +00:00
b _0222990E
_0222990A:
2021-06-27 18:48:56 +00:00
lsl r1, r6, #5
sub r1, r3, r1
2021-06-25 01:03:38 +00:00
_0222990E:
strh r1, [r2, #2]
2021-06-27 18:48:56 +00:00
lsl r1, r4, #0x16
asr r1, r1, #0x10
mul r1, r6
add r0, r0, r1
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
_0222991A:
2021-06-27 18:48:56 +00:00
add r5, r1, #1
lsl r5, r5, #5
2021-06-25 01:03:38 +00:00
cmp r5, r4
bgt _02229926
2021-06-27 18:48:56 +00:00
mov r5, #0x20
2021-06-25 01:03:38 +00:00
b _0222992A
_02229926:
2021-06-27 18:48:56 +00:00
lsl r5, r1, #5
sub r5, r4, r5
2021-06-25 01:03:38 +00:00
_0222992A:
strh r5, [r2]
2021-06-27 18:48:56 +00:00
add r5, r6, #1
lsl r5, r5, #5
2021-06-25 01:03:38 +00:00
cmp r5, r3
bgt _02229938
2021-06-27 18:48:56 +00:00
mov r5, #0x20
2021-06-25 01:03:38 +00:00
b _0222993C
_02229938:
2021-06-27 18:48:56 +00:00
lsl r5, r6, #5
sub r5, r3, r5
2021-06-25 01:03:38 +00:00
_0222993C:
strh r5, [r2, #2]
cmp r6, #0
bne _02229954
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-25 01:03:38 +00:00
cmp r1, #0
beq _02229964
2021-06-27 18:48:56 +00:00
mov r1, #2
lsl r1, r1, #0xa
add r1, r2, r1
lsl r1, r1, #0x10
lsr r2, r1, #0x10
2021-06-25 01:03:38 +00:00
b _02229964
_02229954:
2021-06-27 18:48:56 +00:00
lsl r2, r4, #0x16
lsr r2, r2, #0x10
2021-06-25 01:03:38 +00:00
cmp r1, #0
beq _02229964
2021-06-27 18:48:56 +00:00
lsl r1, r3, #6
add r1, r2, r1
lsl r1, r1, #0x10
lsr r2, r1, #0x10
2021-06-25 01:03:38 +00:00
_02229964:
2021-06-27 18:48:56 +00:00
add r0, r0, r2
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
_02229968:
bl GF_AssertFail
bl GF_AssertFail
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
thumb_func_end ov42_022298B4
thumb_func_start ov42_02229974
2021-06-27 18:48:56 +00:00
ov42_02229974: ; 0x02229974
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r6, r1, #0
add r5, r0, #0
add r0, r6, #0
mov r1, #0xc
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
bne _0222998A
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_0222998A:
2021-06-27 18:48:56 +00:00
add r1, r5, #1
2021-06-25 01:03:38 +00:00
str r1, [r4, #4]
2021-06-27 18:48:56 +00:00
add r0, r6, #0
lsl r1, r1, #3
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-25 01:03:38 +00:00
str r0, [r4]
ldr r2, [r4, #4]
2021-06-27 18:48:56 +00:00
mov r1, #0
lsl r2, r2, #3
bl memset
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
strh r0, [r4, #8]
strh r0, [r4, #0xa]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
thumb_func_end ov42_02229974
thumb_func_start ov42_022299AC
2021-06-27 18:48:56 +00:00
ov42_022299AC: ; 0x022299AC
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r4]
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-25 01:03:38 +00:00
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_022299AC
thumb_func_start ov42_022299C0
2021-06-27 18:48:56 +00:00
ov42_022299C0: ; 0x022299C0
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-25 01:03:38 +00:00
ldrh r0, [r5, #0xa]
2021-06-27 18:48:56 +00:00
add r4, r1, #0
2021-06-25 01:03:38 +00:00
ldr r1, [r5, #4]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
bl _u32_div_f
2021-06-25 01:03:38 +00:00
ldrh r0, [r5, #8]
cmp r0, r1
bne _022299E0
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
add r1, sp, #0
bl ov42_02229A08
_022299E0:
ldrh r0, [r5, #0xa]
ldr r3, [r5]
2021-06-27 18:48:56 +00:00
lsl r2, r0, #3
2021-06-25 01:03:38 +00:00
ldrh r0, [r4]
2021-06-27 18:48:56 +00:00
add r1, r3, r2
2021-06-25 01:03:38 +00:00
strh r0, [r3, r2]
ldrh r0, [r4, #2]
strh r0, [r1, #2]
ldrh r0, [r4, #4]
strh r0, [r1, #4]
ldrh r0, [r4, #6]
strh r0, [r1, #6]
ldrh r0, [r5, #0xa]
ldr r1, [r5, #4]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
bl _u32_div_f
2021-06-25 01:03:38 +00:00
strh r1, [r5, #0xa]
add sp, #8
pop {r3, r4, r5, pc}
thumb_func_end ov42_022299C0
thumb_func_start ov42_02229A08
2021-06-27 18:48:56 +00:00
ov42_02229A08: ; 0x02229A08
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
ldrh r2, [r4, #8]
ldrh r0, [r4, #0xa]
cmp r0, r2
bne _02229A18
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r4, pc}
_02229A18:
ldr r3, [r4]
2021-06-27 18:48:56 +00:00
lsl r0, r2, #3
add r2, r3, r0
2021-06-25 01:03:38 +00:00
ldrh r0, [r3, r0]
strh r0, [r1]
ldrh r0, [r2, #2]
strh r0, [r1, #2]
ldrh r0, [r2, #4]
strh r0, [r1, #4]
ldrh r0, [r2, #6]
strh r0, [r1, #6]
ldrh r0, [r4, #8]
ldr r1, [r4, #4]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
bl _u32_div_f
2021-06-25 01:03:38 +00:00
strh r1, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02229A08
thumb_func_start ov42_02229A40
2021-06-27 18:48:56 +00:00
ov42_02229A40: ; 0x02229A40
2021-06-25 01:03:38 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r6, r1, #0
add r5, r0, #0
add r0, r6, #0
mov r1, #0xc
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
bne _02229A56
bl GF_AssertFail
2021-06-25 01:03:38 +00:00
_02229A56:
2021-06-27 18:48:56 +00:00
add r1, r5, #1
2021-06-25 01:03:38 +00:00
str r1, [r4, #4]
2021-06-27 18:48:56 +00:00
add r0, r6, #0
lsl r1, r1, #2
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-25 01:03:38 +00:00
str r0, [r4]
ldr r2, [r4, #4]
2021-06-27 18:48:56 +00:00
mov r1, #0
lsl r2, r2, #2
bl memset
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
strh r0, [r4, #8]
strh r0, [r4, #0xa]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-25 01:03:38 +00:00
pop {r4, r5, r6, pc}
thumb_func_end ov42_02229A40
thumb_func_start ov42_02229A78
2021-06-27 18:48:56 +00:00
ov42_02229A78: ; 0x02229A78
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
ldr r0, [r4]
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-25 01:03:38 +00:00
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02229A78
thumb_func_start ov42_02229A8C
2021-06-27 18:48:56 +00:00
ov42_02229A8C: ; 0x02229A8C
2021-06-25 01:03:38 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-25 01:03:38 +00:00
ldrh r0, [r5, #0xa]
2021-06-27 18:48:56 +00:00
add r4, r1, #0
2021-06-25 01:03:38 +00:00
ldr r1, [r5, #4]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
bl _u32_div_f
2021-06-25 01:03:38 +00:00
ldrh r0, [r5, #8]
cmp r0, r1
bne _02229AAA
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-25 01:03:38 +00:00
add r1, sp, #0
bl ov42_02229AC8
_02229AAA:
ldrh r0, [r5, #0xa]
ldr r3, [r5]
2021-06-27 18:48:56 +00:00
lsl r2, r0, #2
2021-06-25 01:03:38 +00:00
ldrh r0, [r4]
2021-06-27 18:48:56 +00:00
add r1, r3, r2
2021-06-25 01:03:38 +00:00
strh r0, [r3, r2]
ldrh r0, [r4, #2]
strh r0, [r1, #2]
ldrh r0, [r5, #0xa]
ldr r1, [r5, #4]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
bl _u32_div_f
2021-06-25 01:03:38 +00:00
strh r1, [r5, #0xa]
pop {r3, r4, r5, pc}
thumb_func_end ov42_02229A8C
thumb_func_start ov42_02229AC8
2021-06-27 18:48:56 +00:00
ov42_02229AC8: ; 0x02229AC8
2021-06-25 01:03:38 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-25 01:03:38 +00:00
ldrh r2, [r4, #8]
ldrh r0, [r4, #0xa]
cmp r0, r2
bne _02229AD8
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-25 01:03:38 +00:00
pop {r4, pc}
_02229AD8:
ldr r3, [r4]
2021-06-27 18:48:56 +00:00
lsl r0, r2, #2
add r2, r3, r0
2021-06-25 01:03:38 +00:00
ldrh r0, [r3, r0]
strh r0, [r1]
ldrh r0, [r2, #2]
strh r0, [r1, #2]
ldrh r0, [r4, #8]
ldr r1, [r4, #4]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
bl _u32_div_f
2021-06-25 01:03:38 +00:00
strh r1, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-25 01:03:38 +00:00
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-25 01:03:38 +00:00
thumb_func_end ov42_02229AC8
.rodata
_02229AF8:
.byte 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x95, 0x96
.byte 0x97, 0x98, 0x00, 0x00, 0x01, 0xFF, 0x08, 0x02, 0x04, 0x10, 0x10, 0x02, 0x04, 0x00, 0x00, 0x00
.byte 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11
.byte 0x49, 0x7D, 0x22, 0x02, 0x55, 0x7D, 0x22, 0x02, 0x65, 0x7D, 0x22, 0x02, 0x75, 0x7D, 0x22, 0x02
.byte 0x89, 0x7D, 0x22, 0x02, 0x99, 0x7D, 0x22, 0x02, 0xA9, 0x7D, 0x22, 0x02, 0xB9, 0x7D, 0x22, 0x02
.byte 0xC9, 0x7D, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD9, 0x7D, 0x22, 0x02
.byte 0xE9, 0x7D, 0x22, 0x02, 0xF9, 0x7D, 0x22, 0x02, 0x19, 0x7E, 0x22, 0x02, 0x29, 0x7E, 0x22, 0x02
.byte 0x39, 0x7E, 0x22, 0x02, 0x49, 0x7E, 0x22, 0x02, 0x59, 0x7E, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
.byte 0x09, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00, 0x05, 0x00, 0x03, 0x00, 0x0B, 0x00, 0x04, 0x00
.byte 0x1F, 0x00, 0x05, 0x00, 0x32, 0x00, 0x06, 0x00, 0x33, 0x00, 0x07, 0x00, 0x3E, 0x00, 0x08, 0x00
.byte 0x46, 0x00, 0x09, 0x00, 0x61, 0x00, 0x01, 0x00, 0x06, 0x00, 0x0A, 0x00, 0x07, 0x00, 0x0B, 0x00
.byte 0x0D, 0x00, 0x0C, 0x00, 0x0E, 0x00, 0x0D, 0x00, 0x23, 0x00, 0x0E, 0x00, 0x25, 0x00, 0x0F, 0x00
.byte 0x2A, 0x00, 0x10, 0x00, 0x3F, 0x00, 0x11, 0x00, 0x04, 0x00, 0x12, 0x00, 0x08, 0x00, 0x13, 0x00
.byte 0x34, 0x00, 0x14, 0x00, 0x35, 0x00, 0x15, 0x00, 0x02, 0x00, 0x16, 0x00, 0x0F, 0x00, 0x17, 0x00
.byte 0x10, 0x00, 0x18, 0x00, 0x3B, 0x00, 0x19, 0x00, 0x3C, 0x00, 0x1A, 0x00, 0x09, 0x00, 0x1B, 0x00
.byte 0x0C, 0x00, 0x1C, 0x00, 0x17, 0x00, 0x1D, 0x00, 0x16, 0x00, 0x1E, 0x00, 0x29, 0x00, 0x1F, 0x00
.byte 0x26, 0x00, 0x20, 0x00, 0x27, 0x00, 0x21, 0x00, 0x11, 0x00, 0x22, 0x00, 0x44, 0x00, 0x23, 0x00
.byte 0x45, 0x00, 0x24, 0x00, 0x01, 0x00, 0x25, 0x00, 0x2D, 0x00, 0x26, 0x00, 0x36, 0x00, 0x27, 0x00
.byte 0x38, 0x00, 0x28, 0x00, 0x14, 0x00, 0x29, 0x00, 0x0A, 0x00, 0x2A, 0x00, 0x13, 0x00, 0x2B, 0x00
.byte 0x1D, 0x00, 0x2C, 0x00, 0x24, 0x00, 0x2D, 0x00, 0x28, 0x00, 0x2E, 0x00, 0x2B, 0x00, 0x2F, 0x00
.byte 0x22, 0x00, 0x30, 0x00, 0x37, 0x00, 0x31, 0x00, 0x47, 0x00, 0x32, 0x00, 0x8D, 0x00, 0x33, 0x00
.byte 0x8E, 0x00, 0x34, 0x00, 0x8F, 0x00, 0x35, 0x00, 0x90, 0x00, 0x36, 0x00, 0x91, 0x00, 0x37, 0x00
.byte 0xA9, 0x00, 0x38, 0x00, 0x2C, 0x00, 0x3A, 0x00, 0x1E, 0x00, 0x3B, 0x00, 0xAF, 0x00, 0x5E, 0x00
.byte 0x12, 0x00, 0x67, 0x00, 0x94, 0x00, 0x72, 0x00, 0x54, 0x00, 0x73, 0x00, 0x18, 0x00, 0x74, 0x00
.byte 0x19, 0x00, 0x75, 0x00, 0xA8, 0x00, 0x84, 0x00, 0x56, 0x00, 0x87, 0x00, 0x15, 0x01, 0x8B, 0x00
.byte 0x16, 0x01, 0x8C, 0x00, 0x17, 0x01, 0x8D, 0x00, 0x18, 0x01, 0x8E, 0x00, 0x19, 0x01, 0x8F, 0x00
.byte 0x1A, 0x01, 0x90, 0x00, 0x1B, 0x01, 0x91, 0x00, 0x1C, 0x01, 0x92, 0x00, 0x1D, 0x01, 0x93, 0x00
.byte 0x1E, 0x01, 0x94, 0x00, 0xEE, 0x00, 0x95, 0x00, 0xEF, 0x00, 0x96, 0x00, 0x27, 0x01, 0x97, 0x00
.byte 0x28, 0x01, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x03, 0x02, 0x00, 0xF0, 0x00, 0x10
.byte 0xF0, 0x00, 0x10, 0x00, 0xA5, 0x85, 0x22, 0x02, 0xFD, 0x85, 0x22, 0x02, 0x69, 0x86, 0x22, 0x02
.byte 0x01, 0x87, 0x22, 0x02, 0x99, 0x87, 0x22, 0x02, 0xF1, 0x87, 0x22, 0x02, 0x5D, 0x88, 0x22, 0x02
.byte 0xF5, 0x88, 0x22, 0x02, 0x8D, 0x89, 0x22, 0x02, 0xF9, 0x89, 0x22, 0x02, 0x65, 0x8A, 0x22, 0x02
.byte 0xD1, 0x8A, 0x22, 0x02, 0x3D, 0x8B, 0x22, 0x02, 0x41, 0x8B, 0x22, 0x02, 0x49, 0x8B, 0x22, 0x02
.byte 0x89, 0x8B, 0x22, 0x02, 0xC9, 0x8B, 0x22, 0x02, 0xCD, 0x8B, 0x22, 0x02, 0x49, 0x8B, 0x22, 0x02
.byte 0x49, 0x8B, 0x22, 0x02, 0xD5, 0x8B, 0x22, 0x02, 0xD5, 0x8B, 0x22, 0x02, 0xD5, 0x8B, 0x22, 0x02
.byte 0xD5, 0x8B, 0x22, 0x02, 0xDD, 0x8C, 0x22, 0x02, 0x09, 0x8D, 0x22, 0x02, 0x45, 0x8D, 0x22, 0x02
.byte 0xB9, 0x8D, 0x22, 0x02, 0xC9, 0x8D, 0x22, 0x02, 0xF1, 0x8D, 0x22, 0x02, 0xFD, 0x8D, 0x22, 0x02
.byte 0x45, 0x8D, 0x22, 0x02, 0x0D, 0x8E, 0x22, 0x02, 0x0D, 0x8E, 0x22, 0x02, 0x0D, 0x8E, 0x22, 0x02
.byte 0x0D, 0x8E, 0x22, 0x02, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x03, 0x02, 0x04, 0x00, 0x05, 0x06, 0x08, 0x07, 0x08, 0x02, 0x06, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00