2021-06-18 12:29:26 +00:00
|
|
|
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_start ov97_0221E5C0
|
|
|
|
ov97_0221E5C0: @ 0x0221E5C0
|
2021-06-18 12:29:26 +00:00
|
|
|
push {r3, lr}
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221E6DC
|
2021-06-18 12:29:26 +00:00
|
|
|
cmp r0, #0
|
|
|
|
beq _0221E5CE
|
|
|
|
movs r0, #1
|
|
|
|
pop {r3, pc}
|
|
|
|
_0221E5CE:
|
|
|
|
movs r0, #0
|
|
|
|
pop {r3, pc}
|
|
|
|
.align 2, 0
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_end ov97_0221E5C0
|
2021-06-18 12:29:26 +00:00
|
|
|
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_start ov97_0221E5D4
|
|
|
|
ov97_0221E5D4: @ 0x0221E5D4
|
|
|
|
push {r4, r5, lr}
|
|
|
|
sub sp, #0xc
|
|
|
|
adds r5, r0, #0
|
|
|
|
bl FUN_02007290
|
|
|
|
adds r4, r0, #0
|
|
|
|
ldr r0, [r4, #4]
|
|
|
|
cmp r0, #5
|
|
|
|
bhi _0221E68A
|
|
|
|
adds r0, r0, r0
|
|
|
|
add r0, pc
|
|
|
|
ldrh r0, [r0, #6]
|
|
|
|
lsls r0, r0, #0x10
|
|
|
|
asrs r0, r0, #0x10
|
|
|
|
add pc, r0
|
|
|
|
_0221E5F2: @ jump table
|
|
|
|
.2byte _0221E5FE - _0221E5F2 - 2 @ case 0
|
|
|
|
.2byte _0221E604 - _0221E5F2 - 2 @ case 1
|
|
|
|
.2byte _0221E620 - _0221E5F2 - 2 @ case 2
|
|
|
|
.2byte _0221E62E - _0221E5F2 - 2 @ case 3
|
|
|
|
.2byte _0221E650 - _0221E5F2 - 2 @ case 4
|
|
|
|
.2byte _0221E66E - _0221E5F2 - 2 @ case 5
|
|
|
|
_0221E5FE:
|
|
|
|
movs r0, #1
|
|
|
|
str r0, [r4, #4]
|
|
|
|
b _0221E68A
|
|
|
|
_0221E604:
|
|
|
|
movs r0, #6
|
|
|
|
str r0, [sp]
|
|
|
|
movs r1, #1
|
|
|
|
str r1, [sp, #4]
|
|
|
|
movs r0, #0x5c
|
|
|
|
str r0, [sp, #8]
|
|
|
|
movs r0, #0
|
|
|
|
adds r2, r1, #0
|
|
|
|
adds r3, r0, #0
|
|
|
|
bl FUN_0200FA24
|
|
|
|
movs r0, #2
|
|
|
|
str r0, [r4, #4]
|
|
|
|
b _0221E68A
|
|
|
|
_0221E620:
|
|
|
|
bl FUN_0200FB5C
|
|
|
|
cmp r0, #0
|
|
|
|
beq _0221E68A
|
|
|
|
movs r0, #3
|
|
|
|
str r0, [r4, #4]
|
|
|
|
b _0221E68A
|
|
|
|
_0221E62E:
|
|
|
|
ldr r0, [r4, #8]
|
|
|
|
bl FUN_020935E0
|
|
|
|
cmp r0, #2
|
|
|
|
bne _0221E642
|
|
|
|
movs r0, #0
|
|
|
|
str r0, [r4, #0x28]
|
|
|
|
movs r0, #4
|
|
|
|
str r0, [r4, #4]
|
|
|
|
b _0221E68A
|
|
|
|
_0221E642:
|
|
|
|
cmp r0, #3
|
|
|
|
bne _0221E68A
|
|
|
|
movs r0, #1
|
|
|
|
str r0, [r4, #0x28]
|
|
|
|
movs r0, #4
|
|
|
|
str r0, [r4, #4]
|
|
|
|
b _0221E68A
|
|
|
|
_0221E650:
|
|
|
|
movs r0, #6
|
|
|
|
str r0, [sp]
|
|
|
|
movs r0, #1
|
|
|
|
str r0, [sp, #4]
|
|
|
|
movs r0, #0x5c
|
|
|
|
str r0, [sp, #8]
|
|
|
|
movs r0, #0
|
|
|
|
adds r1, r0, #0
|
|
|
|
adds r2, r0, #0
|
|
|
|
adds r3, r0, #0
|
|
|
|
bl FUN_0200FA24
|
|
|
|
movs r0, #5
|
|
|
|
str r0, [r4, #4]
|
|
|
|
b _0221E68A
|
|
|
|
_0221E66E:
|
|
|
|
bl FUN_0200FB5C
|
|
|
|
cmp r0, #0
|
|
|
|
beq _0221E68A
|
|
|
|
adds r0, r5, #0
|
|
|
|
bl FUN_020072A4
|
|
|
|
adds r1, r0, #0
|
|
|
|
adds r0, r4, #0
|
|
|
|
bl ov97_0221E98C
|
|
|
|
add sp, #0xc
|
|
|
|
movs r0, #1
|
|
|
|
pop {r4, r5, pc}
|
|
|
|
_0221E68A:
|
|
|
|
ldr r0, [r4, #8]
|
|
|
|
bl FUN_02093A40
|
|
|
|
ldr r0, [r4, #0xc]
|
|
|
|
bl ov97_0221F010
|
|
|
|
movs r0, #0
|
|
|
|
add sp, #0xc
|
|
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_end ov97_0221E5D4
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221E69C
|
|
|
|
ov97_0221E69C: @ 0x0221E69C
|
|
|
|
push {r4, lr}
|
|
|
|
bl FUN_02007290
|
|
|
|
adds r4, r0, #0
|
|
|
|
movs r0, #0
|
|
|
|
adds r1, r0, #0
|
|
|
|
bl FUN_0201A0FC
|
|
|
|
ldr r0, [r4, #0xc]
|
|
|
|
bl ov97_0221F020
|
|
|
|
ldr r0, [r4, #8]
|
|
|
|
bl FUN_02093354
|
|
|
|
movs r0, #2
|
|
|
|
bl FUN_02002DB4
|
|
|
|
bl FUN_0200B244
|
|
|
|
bl FUN_0202168C
|
|
|
|
bl FUN_02022608
|
|
|
|
ldr r0, [r4]
|
|
|
|
bl FUN_0201AB0C
|
|
|
|
adds r0, r4, #0
|
|
|
|
bl FUN_0201AB0C
|
|
|
|
movs r0, #1
|
|
|
|
pop {r4, pc}
|
|
|
|
.align 2, 0
|
|
|
|
thumb_func_end ov97_0221E69C
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221E6DC
|
|
|
|
ov97_0221E6DC: @ 0x0221E6DC
|
2021-06-18 12:29:26 +00:00
|
|
|
push {r3, r4, r5, lr}
|
|
|
|
adds r5, r0, #0
|
|
|
|
bl FUN_020072A4
|
|
|
|
adds r4, r0, #0
|
|
|
|
_0221E6E6:
|
|
|
|
adds r0, r5, #0
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221E700
|
2021-06-18 12:29:26 +00:00
|
|
|
cmp r0, #0
|
|
|
|
beq _0221E6F4
|
|
|
|
movs r0, #1
|
|
|
|
pop {r3, r4, r5, pc}
|
|
|
|
_0221E6F4:
|
|
|
|
ldr r0, [r4]
|
|
|
|
ldr r0, [r0, #4]
|
|
|
|
cmp r0, #0
|
|
|
|
beq _0221E6E6
|
|
|
|
movs r0, #0
|
|
|
|
pop {r3, r4, r5, pc}
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_end ov97_0221E6DC
|
2021-06-18 12:29:26 +00:00
|
|
|
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_start ov97_0221E700
|
|
|
|
ov97_0221E700: @ 0x0221E700
|
2021-06-18 12:29:26 +00:00
|
|
|
push {r4, r5, r6, r7, lr}
|
|
|
|
sub sp, #0x24
|
|
|
|
adds r4, r0, #0
|
|
|
|
bl FUN_020072A4
|
|
|
|
adds r7, r0, #0
|
|
|
|
adds r0, r4, #0
|
|
|
|
movs r1, #0x34
|
|
|
|
movs r2, #0x5c
|
|
|
|
ldr r5, [r7]
|
|
|
|
bl FUN_02007280
|
|
|
|
movs r1, #0
|
|
|
|
movs r2, #0x34
|
|
|
|
adds r4, r0, #0
|
|
|
|
blx FUN_020E5B44
|
|
|
|
movs r0, #0x5c
|
|
|
|
bl FUN_0201AC88
|
|
|
|
str r0, [r4]
|
|
|
|
ldr r0, [r5]
|
|
|
|
str r0, [r4, #0x2c]
|
|
|
|
adds r0, r7, #0
|
|
|
|
adds r0, #0x84
|
|
|
|
ldr r0, [r0]
|
|
|
|
str r0, [r4, #0x30]
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221E7F4
|
2021-06-18 12:29:26 +00:00
|
|
|
movs r0, #0x5c
|
|
|
|
movs r1, #3
|
|
|
|
movs r2, #0x13
|
|
|
|
bl FUN_020932E0
|
|
|
|
str r0, [r4, #8]
|
|
|
|
movs r0, #0x5c
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221EE84
|
2021-06-18 12:29:26 +00:00
|
|
|
str r0, [r4, #0xc]
|
|
|
|
ldr r0, [r4]
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221E814
|
|
|
|
bl ov97_0221E834
|
2021-06-18 12:29:26 +00:00
|
|
|
adds r0, r4, #0
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221E864
|
2021-06-18 12:29:26 +00:00
|
|
|
ldr r0, [r7]
|
|
|
|
movs r6, #0
|
|
|
|
ldr r0, [r0, #4]
|
|
|
|
cmp r0, #0
|
|
|
|
bne _0221E76A
|
|
|
|
movs r6, #1
|
|
|
|
_0221E76A:
|
|
|
|
ldr r0, [r5]
|
|
|
|
bl FUN_020270D8
|
|
|
|
adds r7, r0, #0
|
|
|
|
ldr r0, [r5]
|
|
|
|
bl FUN_02074904
|
|
|
|
adds r3, r0, #0
|
|
|
|
movs r0, #0
|
|
|
|
str r0, [sp]
|
|
|
|
str r0, [sp, #4]
|
|
|
|
str r6, [sp, #8]
|
|
|
|
movs r0, #0x12
|
|
|
|
str r0, [sp, #0xc]
|
2021-06-26 19:39:05 +00:00
|
|
|
ldr r0, _0221E7E4 @ =ov97_0221E91C
|
2021-06-18 12:29:26 +00:00
|
|
|
adds r2, r7, #0
|
|
|
|
str r0, [sp, #0x10]
|
2021-06-26 19:39:05 +00:00
|
|
|
ldr r0, _0221E7E8 @ =ov97_0221E97C
|
2021-06-18 12:29:26 +00:00
|
|
|
str r0, [sp, #0x14]
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r0, #0x10
|
|
|
|
str r0, [sp, #0x18]
|
2021-06-26 19:39:05 +00:00
|
|
|
ldr r0, _0221E7EC @ =ov97_0221EC14
|
2021-06-18 12:29:26 +00:00
|
|
|
str r0, [sp, #0x1c]
|
|
|
|
str r4, [sp, #0x20]
|
|
|
|
ldr r0, [r4, #8]
|
|
|
|
ldr r1, [r4]
|
|
|
|
bl FUN_02093440
|
|
|
|
movs r0, #2
|
|
|
|
bl FUN_0203A994
|
|
|
|
ldr r2, [r4, #0x30]
|
|
|
|
ldrb r3, [r5, #0xf]
|
|
|
|
lsls r2, r2, #0x18
|
|
|
|
ldr r0, [r4, #0xc]
|
|
|
|
ldr r1, [r4]
|
|
|
|
lsrs r2, r2, #0x18
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221EEA4
|
|
|
|
ldr r0, _0221E7F0 @ =ov97_0221E88C
|
2021-06-18 12:29:26 +00:00
|
|
|
adds r1, r4, #0
|
|
|
|
bl FUN_0201A0FC
|
|
|
|
movs r0, #0
|
|
|
|
str r0, [r4, #4]
|
|
|
|
bl FUN_02020080
|
|
|
|
movs r1, #0x1e
|
|
|
|
movs r0, #0
|
|
|
|
lsls r1, r1, #4
|
|
|
|
movs r2, #0x5c
|
|
|
|
bl FUN_02003030
|
|
|
|
movs r0, #2
|
|
|
|
movs r1, #0x5c
|
|
|
|
bl FUN_02002CEC
|
|
|
|
movs r0, #1
|
|
|
|
add sp, #0x24
|
|
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
.align 2, 0
|
2021-06-26 19:39:05 +00:00
|
|
|
_0221E7E4: .4byte ov97_0221E91C
|
|
|
|
_0221E7E8: .4byte ov97_0221E97C
|
|
|
|
_0221E7EC: .4byte ov97_0221EC14
|
|
|
|
_0221E7F0: .4byte ov97_0221E88C
|
|
|
|
thumb_func_end ov97_0221E700
|
2021-06-18 12:29:26 +00:00
|
|
|
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_start ov97_0221E7F4
|
|
|
|
ov97_0221E7F4: @ 0x0221E7F4
|
2021-06-18 12:29:26 +00:00
|
|
|
push {r4, lr}
|
|
|
|
sub sp, #0x28
|
|
|
|
ldr r4, _0221E810 @ =0x0221FCCC
|
|
|
|
add r3, sp, #0
|
|
|
|
movs r2, #5
|
|
|
|
_0221E7FE:
|
|
|
|
ldm r4!, {r0, r1}
|
|
|
|
stm r3!, {r0, r1}
|
|
|
|
subs r2, r2, #1
|
|
|
|
bne _0221E7FE
|
|
|
|
add r0, sp, #0
|
|
|
|
bl FUN_02022BE8
|
|
|
|
add sp, #0x28
|
|
|
|
pop {r4, pc}
|
|
|
|
.align 2, 0
|
|
|
|
_0221E810: .4byte 0x0221FCCC
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_end ov97_0221E7F4
|
2021-06-18 12:29:26 +00:00
|
|
|
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_start ov97_0221E814
|
|
|
|
ov97_0221E814: @ 0x0221E814
|
2021-06-18 12:29:26 +00:00
|
|
|
push {r4, lr}
|
|
|
|
sub sp, #0x10
|
|
|
|
ldr r4, _0221E830 @ =0x0221FCA8
|
|
|
|
add r3, sp, #0
|
|
|
|
adds r2, r3, #0
|
|
|
|
ldm r4!, {r0, r1}
|
|
|
|
stm r3!, {r0, r1}
|
|
|
|
ldm r4!, {r0, r1}
|
|
|
|
stm r3!, {r0, r1}
|
|
|
|
adds r0, r2, #0
|
|
|
|
bl FUN_0201ACB0
|
|
|
|
add sp, #0x10
|
|
|
|
pop {r4, pc}
|
|
|
|
.align 2, 0
|
|
|
|
_0221E830: .4byte 0x0221FCA8
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_end ov97_0221E814
|
2021-06-18 12:29:26 +00:00
|
|
|
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_start ov97_0221E834
|
|
|
|
ov97_0221E834: @ 0x0221E834
|
2021-06-18 12:29:26 +00:00
|
|
|
push {r4, lr}
|
|
|
|
sub sp, #0x10
|
2021-06-26 19:39:05 +00:00
|
|
|
ldr r4, _0221E860 @ =_0221FC98
|
2021-06-18 12:29:26 +00:00
|
|
|
add r3, sp, #0
|
|
|
|
adds r2, r3, #0
|
|
|
|
ldm r4!, {r0, r1}
|
|
|
|
stm r3!, {r0, r1}
|
|
|
|
ldm r4!, {r0, r1}
|
|
|
|
stm r3!, {r0, r1}
|
|
|
|
adds r0, r2, #0
|
|
|
|
bl FUN_020215A0
|
|
|
|
movs r0, #0x14
|
|
|
|
movs r1, #0x5c
|
|
|
|
bl FUN_02022588
|
|
|
|
bl FUN_020216C8
|
|
|
|
bl FUN_02022638
|
|
|
|
add sp, #0x10
|
|
|
|
pop {r4, pc}
|
|
|
|
.align 2, 0
|
2021-06-26 19:39:05 +00:00
|
|
|
_0221E860: .4byte _0221FC98
|
|
|
|
thumb_func_end ov97_0221E834
|
2021-06-18 12:29:26 +00:00
|
|
|
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_start ov97_0221E864
|
|
|
|
ov97_0221E864: @ 0x0221E864
|
2021-06-18 12:29:26 +00:00
|
|
|
push {lr}
|
|
|
|
sub sp, #0x14
|
|
|
|
blx FUN_020B78D4
|
|
|
|
movs r0, #1
|
|
|
|
str r0, [sp]
|
|
|
|
movs r1, #0x7e
|
|
|
|
str r1, [sp, #4]
|
|
|
|
movs r0, #0
|
|
|
|
str r0, [sp, #8]
|
|
|
|
movs r3, #0x20
|
|
|
|
str r3, [sp, #0xc]
|
|
|
|
movs r2, #0x5c
|
|
|
|
str r2, [sp, #0x10]
|
|
|
|
adds r2, r0, #0
|
|
|
|
bl FUN_0200B150
|
|
|
|
add sp, #0x14
|
|
|
|
pop {pc}
|
|
|
|
.align 2, 0
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_end ov97_0221E864
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221E88C
|
|
|
|
ov97_0221E88C: @ 0x0221E88C
|
|
|
|
ldr r3, _0221E894 @ =FUN_02093594
|
|
|
|
ldr r0, [r0, #8]
|
|
|
|
bx r3
|
|
|
|
nop
|
|
|
|
_0221E894: .4byte FUN_02093594
|
|
|
|
thumb_func_end ov97_0221E88C
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221E898
|
|
|
|
ov97_0221E898: @ 0x0221E898
|
|
|
|
push {r3, r4, r5, lr}
|
|
|
|
adds r5, r3, #0
|
|
|
|
bl FUN_02074058
|
|
|
|
movs r1, #0xac
|
|
|
|
movs r2, #0
|
|
|
|
adds r4, r0, #0
|
|
|
|
bl FUN_0206E640
|
|
|
|
cmp r0, #0
|
|
|
|
beq _0221E908
|
|
|
|
adds r0, r4, #0
|
|
|
|
movs r1, #5
|
|
|
|
movs r2, #0
|
|
|
|
bl FUN_0206E640
|
|
|
|
movs r1, #0
|
|
|
|
str r0, [r5]
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r2, r1, #0
|
|
|
|
bl FUN_0206E640
|
|
|
|
str r0, [r5, #4]
|
|
|
|
adds r0, r4, #0
|
|
|
|
movs r1, #0x4c
|
|
|
|
movs r2, #0
|
|
|
|
bl FUN_0206E640
|
|
|
|
strh r0, [r5, #8]
|
|
|
|
adds r0, r4, #0
|
|
|
|
movs r1, #0x70
|
|
|
|
movs r2, #0
|
|
|
|
bl FUN_0206E640
|
|
|
|
strh r0, [r5, #0xa]
|
|
|
|
movs r0, #0
|
|
|
|
strh r0, [r5, #0xc]
|
|
|
|
adds r2, r5, #0
|
|
|
|
strh r0, [r5, #0xe]
|
|
|
|
adds r0, r4, #0
|
|
|
|
movs r1, #0x75
|
|
|
|
adds r2, #0x18
|
|
|
|
bl FUN_0206E640
|
|
|
|
adds r0, r4, #0
|
|
|
|
bl FUN_02070044
|
|
|
|
strh r0, [r5, #0x10]
|
|
|
|
adds r0, r4, #0
|
|
|
|
movs r1, #0x6f
|
|
|
|
movs r2, #0
|
|
|
|
bl FUN_0206E640
|
|
|
|
strh r0, [r5, #0x12]
|
|
|
|
movs r0, #1
|
|
|
|
pop {r3, r4, r5, pc}
|
|
|
|
_0221E908:
|
|
|
|
movs r0, #0
|
|
|
|
str r0, [r5]
|
|
|
|
str r0, [r5, #4]
|
|
|
|
strh r0, [r5, #8]
|
|
|
|
strh r0, [r5, #0xa]
|
|
|
|
strh r0, [r5, #0xc]
|
|
|
|
strh r0, [r5, #0xe]
|
|
|
|
strh r0, [r5, #0x10]
|
|
|
|
strh r0, [r5, #0x12]
|
|
|
|
pop {r3, r4, r5, pc}
|
|
|
|
thumb_func_end ov97_0221E898
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221E91C
|
|
|
|
ov97_0221E91C: @ 0x0221E91C
|
|
|
|
push {r3, r4, r5, lr}
|
|
|
|
adds r4, r3, #0
|
|
|
|
bl FUN_02074058
|
|
|
|
movs r1, #0xac
|
|
|
|
movs r2, #0
|
|
|
|
adds r5, r0, #0
|
|
|
|
bl FUN_0206E640
|
|
|
|
cmp r0, #0
|
|
|
|
beq _0221E966
|
|
|
|
adds r0, r5, #0
|
|
|
|
movs r1, #5
|
|
|
|
movs r2, #0
|
|
|
|
bl FUN_0206E640
|
|
|
|
str r0, [r4]
|
|
|
|
movs r2, #0
|
|
|
|
str r2, [r4, #4]
|
|
|
|
adds r0, r5, #0
|
|
|
|
movs r1, #0x4c
|
|
|
|
bl FUN_0206E640
|
|
|
|
strh r0, [r4, #8]
|
|
|
|
adds r0, r5, #0
|
|
|
|
movs r1, #0x70
|
|
|
|
movs r2, #0
|
|
|
|
bl FUN_0206E640
|
|
|
|
strh r0, [r4, #0xa]
|
|
|
|
movs r0, #0
|
|
|
|
strh r0, [r4, #0xc]
|
|
|
|
strh r0, [r4, #0xe]
|
|
|
|
strh r0, [r4, #0x10]
|
|
|
|
strh r0, [r4, #0x12]
|
|
|
|
movs r0, #1
|
|
|
|
pop {r3, r4, r5, pc}
|
|
|
|
_0221E966:
|
|
|
|
movs r0, #0
|
|
|
|
str r0, [r4]
|
|
|
|
str r0, [r4, #4]
|
|
|
|
strh r0, [r4, #8]
|
|
|
|
strh r0, [r4, #0xa]
|
|
|
|
strh r0, [r4, #0xc]
|
|
|
|
strh r0, [r4, #0xe]
|
|
|
|
strh r0, [r4, #0x10]
|
|
|
|
strh r0, [r4, #0x12]
|
|
|
|
pop {r3, r4, r5, pc}
|
|
|
|
.align 2, 0
|
|
|
|
thumb_func_end ov97_0221E91C
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221E97C
|
|
|
|
ov97_0221E97C: @ 0x0221E97C
|
|
|
|
adds r3, r0, #0
|
|
|
|
adds r0, r1, #0
|
|
|
|
adds r1, r2, #0
|
|
|
|
adds r2, r3, #0
|
|
|
|
ldr r3, _0221E988 @ =FUN_02073F00
|
|
|
|
bx r3
|
|
|
|
.align 2, 0
|
|
|
|
_0221E988: .4byte FUN_02073F00
|
|
|
|
thumb_func_end ov97_0221E97C
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221E98C
|
|
|
|
ov97_0221E98C: @ 0x0221E98C
|
|
|
|
push {r4, r5, r6, r7, lr}
|
|
|
|
sub sp, #0x3c
|
|
|
|
adds r5, r0, #0
|
|
|
|
ldr r0, [r5, #0x28]
|
|
|
|
adds r7, r1, #0
|
|
|
|
str r0, [r7, #4]
|
|
|
|
ldr r0, [r5, #0x28]
|
|
|
|
cmp r0, #0
|
|
|
|
bne _0221EA84
|
|
|
|
movs r0, #0
|
|
|
|
str r0, [sp, #8]
|
|
|
|
adds r0, r7, #0
|
|
|
|
str r0, [sp, #4]
|
|
|
|
adds r0, #0x1e
|
|
|
|
str r0, [sp, #4]
|
|
|
|
adds r0, r7, #0
|
|
|
|
str r0, [sp]
|
|
|
|
adds r0, #0x14
|
|
|
|
adds r4, r7, #0
|
|
|
|
str r0, [sp]
|
|
|
|
_0221E9B4:
|
|
|
|
ldr r6, [r5, #0x10]
|
|
|
|
ldr r0, [r7]
|
|
|
|
cmp r6, #0x12
|
|
|
|
bne _0221EA20
|
|
|
|
ldr r0, [r0]
|
|
|
|
bl FUN_02074904
|
|
|
|
ldr r1, [r5, #0x14]
|
|
|
|
bl FUN_02074644
|
|
|
|
movs r1, #5
|
|
|
|
movs r2, #0
|
|
|
|
adds r6, r0, #0
|
|
|
|
bl FUN_0206E540
|
|
|
|
movs r1, #0
|
|
|
|
strh r0, [r4, #0xc]
|
|
|
|
adds r0, r6, #0
|
|
|
|
adds r2, r1, #0
|
|
|
|
bl FUN_0206E540
|
|
|
|
str r0, [r4, #0x10]
|
|
|
|
adds r0, r6, #0
|
|
|
|
movs r1, #0x70
|
|
|
|
movs r2, #0
|
|
|
|
bl FUN_0206E540
|
|
|
|
strh r0, [r4, #0xe]
|
|
|
|
ldr r2, [sp, #4]
|
|
|
|
adds r0, r6, #0
|
|
|
|
movs r1, #0x75
|
|
|
|
bl FUN_0206E540
|
|
|
|
adds r0, r6, #0
|
|
|
|
bl FUN_0207003C
|
|
|
|
strb r0, [r4, #0x1c]
|
|
|
|
adds r0, r6, #0
|
|
|
|
movs r1, #0x6f
|
|
|
|
movs r2, #0
|
|
|
|
bl FUN_0206E540
|
|
|
|
strb r0, [r4, #0x1d]
|
|
|
|
ldr r0, [r7]
|
|
|
|
ldr r0, [r0]
|
|
|
|
bl FUN_02074904
|
|
|
|
ldr r1, [r5, #0x14]
|
|
|
|
ldr r2, [sp]
|
|
|
|
lsls r1, r1, #0x18
|
|
|
|
lsrs r1, r1, #0x18
|
|
|
|
bl ov97_0221EA88
|
|
|
|
b _0221EA6A
|
|
|
|
_0221EA20:
|
|
|
|
ldr r0, [r0]
|
|
|
|
bl FUN_020270D8
|
|
|
|
ldr r2, [r5, #0x14]
|
|
|
|
adds r1, r6, #0
|
|
|
|
add r3, sp, #0xc
|
|
|
|
bl ov97_0221E898
|
|
|
|
ldr r0, [sp, #0xc]
|
|
|
|
add r1, sp, #0x24
|
|
|
|
strh r0, [r4, #0xc]
|
|
|
|
ldr r0, [sp, #0x10]
|
|
|
|
movs r2, #0xb
|
|
|
|
str r0, [r4, #0x10]
|
|
|
|
add r0, sp, #0xc
|
|
|
|
ldrh r0, [r0, #0xa]
|
|
|
|
strh r0, [r4, #0xe]
|
|
|
|
ldr r0, [sp, #4]
|
2021-06-27 12:46:42 +00:00
|
|
|
bl StringCopyN
|
2021-06-26 19:39:05 +00:00
|
|
|
add r0, sp, #0xc
|
|
|
|
ldrh r0, [r0, #0x10]
|
|
|
|
strb r0, [r4, #0x1c]
|
|
|
|
add r0, sp, #0xc
|
|
|
|
ldrh r0, [r0, #0x12]
|
|
|
|
strb r0, [r4, #0x1d]
|
|
|
|
ldr r0, [r7]
|
|
|
|
ldr r0, [r0]
|
|
|
|
bl FUN_020270D8
|
|
|
|
ldr r1, [r5, #0x10]
|
|
|
|
ldr r2, [r5, #0x14]
|
|
|
|
bl FUN_02074058
|
|
|
|
ldr r1, [sp]
|
|
|
|
bl ov97_0221EB38
|
|
|
|
_0221EA6A:
|
|
|
|
ldr r0, [sp, #4]
|
|
|
|
adds r5, #8
|
|
|
|
adds r0, #0x28
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, [sp]
|
|
|
|
adds r4, #0x28
|
|
|
|
adds r0, #0x28
|
|
|
|
str r0, [sp]
|
|
|
|
ldr r0, [sp, #8]
|
|
|
|
adds r0, r0, #1
|
|
|
|
str r0, [sp, #8]
|
|
|
|
cmp r0, #3
|
|
|
|
blt _0221E9B4
|
|
|
|
_0221EA84:
|
|
|
|
add sp, #0x3c
|
|
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_end ov97_0221E98C
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221EA88
|
|
|
|
ov97_0221EA88: @ 0x0221EA88
|
|
|
|
push {r4, r5, r6, lr}
|
|
|
|
sub sp, #0x10
|
|
|
|
adds r5, r1, #0
|
|
|
|
adds r4, r2, #0
|
|
|
|
adds r6, r0, #0
|
|
|
|
add r1, sp, #8
|
|
|
|
adds r2, r5, #0
|
|
|
|
bl FUN_02074670
|
|
|
|
adds r0, r6, #0
|
|
|
|
adds r1, r5, #0
|
|
|
|
bl FUN_02074644
|
|
|
|
adds r1, r0, #0
|
|
|
|
add r0, sp, #0
|
|
|
|
add r2, sp, #8
|
|
|
|
movs r3, #0x5c
|
|
|
|
bl FUN_020732E4
|
|
|
|
add r1, sp, #0
|
|
|
|
ldrh r0, [r1]
|
|
|
|
lsls r0, r0, #0x1d
|
|
|
|
lsrs r0, r0, #0x1d
|
|
|
|
strb r0, [r4]
|
|
|
|
ldrh r0, [r1]
|
|
|
|
lsls r0, r0, #0x11
|
|
|
|
lsrs r0, r0, #0x1d
|
|
|
|
strb r0, [r4, #1]
|
|
|
|
ldrh r0, [r1]
|
|
|
|
lsls r0, r0, #0x14
|
|
|
|
lsrs r0, r0, #0x1d
|
|
|
|
strb r0, [r4, #2]
|
|
|
|
ldrh r0, [r1]
|
|
|
|
lsls r0, r0, #0x1a
|
|
|
|
lsrs r0, r0, #0x1d
|
|
|
|
strb r0, [r4, #3]
|
|
|
|
ldrh r0, [r1]
|
|
|
|
lsls r0, r0, #0x17
|
|
|
|
lsrs r0, r0, #0x1d
|
|
|
|
strb r0, [r4, #4]
|
|
|
|
ldrh r3, [r4, #6]
|
|
|
|
movs r0, #7
|
|
|
|
ldrb r2, [r1, #2]
|
|
|
|
bics r3, r0
|
|
|
|
movs r0, #7
|
|
|
|
ands r0, r2
|
|
|
|
orrs r0, r3
|
|
|
|
strh r0, [r4, #6]
|
|
|
|
ldrh r2, [r4, #6]
|
|
|
|
movs r0, #0x38
|
|
|
|
bics r2, r0
|
|
|
|
ldrb r0, [r1, #6]
|
|
|
|
lsls r0, r0, #0x1d
|
|
|
|
lsrs r0, r0, #0x1a
|
|
|
|
orrs r0, r2
|
|
|
|
strh r0, [r4, #6]
|
|
|
|
ldrh r2, [r4, #6]
|
|
|
|
ldr r0, _0221EB2C @ =0xFFFFFE3F
|
|
|
|
ands r2, r0
|
|
|
|
ldrb r0, [r1, #5]
|
|
|
|
lsls r0, r0, #0x1d
|
|
|
|
lsrs r0, r0, #0x17
|
|
|
|
orrs r0, r2
|
|
|
|
strh r0, [r4, #6]
|
|
|
|
ldrh r2, [r4, #6]
|
|
|
|
ldr r0, _0221EB30 @ =0xFFFFF1FF
|
|
|
|
ands r2, r0
|
|
|
|
ldrb r0, [r1, #3]
|
|
|
|
lsls r0, r0, #0x1d
|
|
|
|
lsrs r0, r0, #0x14
|
|
|
|
orrs r0, r2
|
|
|
|
strh r0, [r4, #6]
|
|
|
|
ldrh r2, [r4, #6]
|
|
|
|
ldr r0, _0221EB34 @ =0xFFFF8FFF
|
|
|
|
ands r2, r0
|
|
|
|
ldrb r0, [r1, #4]
|
|
|
|
lsls r0, r0, #0x1d
|
|
|
|
lsrs r0, r0, #0x11
|
|
|
|
orrs r0, r2
|
|
|
|
strh r0, [r4, #6]
|
|
|
|
add sp, #0x10
|
|
|
|
pop {r4, r5, r6, pc}
|
|
|
|
.align 2, 0
|
|
|
|
_0221EB2C: .4byte 0xFFFFFE3F
|
|
|
|
_0221EB30: .4byte 0xFFFFF1FF
|
|
|
|
_0221EB34: .4byte 0xFFFF8FFF
|
|
|
|
thumb_func_end ov97_0221EA88
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221EB38
|
|
|
|
ov97_0221EB38: @ 0x0221EB38
|
|
|
|
push {r4, lr}
|
|
|
|
sub sp, #8
|
|
|
|
adds r2, r0, #0
|
|
|
|
adds r4, r1, #0
|
|
|
|
adds r1, r2, #0
|
|
|
|
add r0, sp, #0
|
|
|
|
movs r2, #0
|
|
|
|
movs r3, #0x5c
|
|
|
|
bl FUN_02073248
|
|
|
|
add r1, sp, #0
|
|
|
|
ldrh r0, [r1]
|
|
|
|
lsls r0, r0, #0x1d
|
|
|
|
lsrs r0, r0, #0x1d
|
|
|
|
strb r0, [r4]
|
|
|
|
ldrh r0, [r1]
|
|
|
|
lsls r0, r0, #0x11
|
|
|
|
lsrs r0, r0, #0x1d
|
|
|
|
strb r0, [r4, #1]
|
|
|
|
ldrh r0, [r1]
|
|
|
|
lsls r0, r0, #0x14
|
|
|
|
lsrs r0, r0, #0x1d
|
|
|
|
strb r0, [r4, #2]
|
|
|
|
ldrh r0, [r1]
|
|
|
|
lsls r0, r0, #0x1a
|
|
|
|
lsrs r0, r0, #0x1d
|
|
|
|
strb r0, [r4, #3]
|
|
|
|
ldrh r0, [r1]
|
|
|
|
lsls r0, r0, #0x17
|
|
|
|
lsrs r0, r0, #0x1d
|
|
|
|
strb r0, [r4, #4]
|
|
|
|
ldrh r3, [r4, #6]
|
|
|
|
movs r0, #7
|
|
|
|
ldrb r2, [r1, #2]
|
|
|
|
bics r3, r0
|
|
|
|
movs r0, #7
|
|
|
|
ands r0, r2
|
|
|
|
orrs r0, r3
|
|
|
|
strh r0, [r4, #6]
|
|
|
|
ldrh r2, [r4, #6]
|
|
|
|
movs r0, #0x38
|
|
|
|
bics r2, r0
|
|
|
|
ldrb r0, [r1, #6]
|
|
|
|
lsls r0, r0, #0x1d
|
|
|
|
lsrs r0, r0, #0x1a
|
|
|
|
orrs r0, r2
|
|
|
|
strh r0, [r4, #6]
|
|
|
|
ldrh r2, [r4, #6]
|
|
|
|
ldr r0, _0221EBCC @ =0xFFFFFE3F
|
|
|
|
ands r2, r0
|
|
|
|
ldrb r0, [r1, #5]
|
|
|
|
lsls r0, r0, #0x1d
|
|
|
|
lsrs r0, r0, #0x17
|
|
|
|
orrs r0, r2
|
|
|
|
strh r0, [r4, #6]
|
|
|
|
ldrh r2, [r4, #6]
|
|
|
|
ldr r0, _0221EBD0 @ =0xFFFFF1FF
|
|
|
|
ands r2, r0
|
|
|
|
ldrb r0, [r1, #3]
|
|
|
|
lsls r0, r0, #0x1d
|
|
|
|
lsrs r0, r0, #0x14
|
|
|
|
orrs r0, r2
|
|
|
|
strh r0, [r4, #6]
|
|
|
|
ldrh r2, [r4, #6]
|
|
|
|
ldr r0, _0221EBD4 @ =0xFFFF8FFF
|
|
|
|
ands r2, r0
|
|
|
|
ldrb r0, [r1, #4]
|
|
|
|
lsls r0, r0, #0x1d
|
|
|
|
lsrs r0, r0, #0x11
|
|
|
|
orrs r0, r2
|
|
|
|
strh r0, [r4, #6]
|
|
|
|
add sp, #8
|
|
|
|
pop {r4, pc}
|
|
|
|
nop
|
|
|
|
_0221EBCC: .4byte 0xFFFFFE3F
|
|
|
|
_0221EBD0: .4byte 0xFFFFF1FF
|
|
|
|
_0221EBD4: .4byte 0xFFFF8FFF
|
|
|
|
thumb_func_end ov97_0221EB38
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221EBD8
|
|
|
|
ov97_0221EBD8: @ 0x0221EBD8
|
|
|
|
push {r3, r4, lr}
|
|
|
|
sub sp, #0x14
|
|
|
|
adds r4, r1, #0
|
|
|
|
add r1, sp, #0
|
|
|
|
bl FUN_020730B4
|
|
|
|
add r0, sp, #0
|
|
|
|
ldrh r1, [r0]
|
|
|
|
lsls r1, r1, #0x1a
|
|
|
|
lsrs r1, r1, #0x1d
|
|
|
|
strb r1, [r4]
|
|
|
|
ldrh r1, [r0, #0x10]
|
|
|
|
lsls r1, r1, #0x1a
|
|
|
|
lsrs r1, r1, #0x1d
|
|
|
|
strb r1, [r4, #1]
|
|
|
|
ldrh r1, [r0, #0xc]
|
|
|
|
lsls r1, r1, #0x1a
|
|
|
|
lsrs r1, r1, #0x1d
|
|
|
|
strb r1, [r4, #2]
|
|
|
|
ldrh r1, [r0, #4]
|
|
|
|
lsls r1, r1, #0x1a
|
|
|
|
lsrs r1, r1, #0x1d
|
|
|
|
strb r1, [r4, #3]
|
|
|
|
ldrh r0, [r0, #8]
|
|
|
|
lsls r0, r0, #0x1a
|
|
|
|
lsrs r0, r0, #0x1d
|
|
|
|
strb r0, [r4, #4]
|
|
|
|
add sp, #0x14
|
|
|
|
pop {r3, r4, pc}
|
|
|
|
.align 2, 0
|
|
|
|
thumb_func_end ov97_0221EBD8
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221EC14
|
|
|
|
ov97_0221EC14: @ 0x0221EC14
|
|
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
|
|
sub sp, #0xc0
|
|
|
|
ldr r3, _0221EDE0 @ =0x0221FCB8
|
|
|
|
adds r5, r2, #0
|
|
|
|
adds r6, r0, #0
|
|
|
|
adds r4, r1, #0
|
|
|
|
ldm r3!, {r0, r1}
|
|
|
|
add r2, sp, #0x5c
|
|
|
|
stm r2!, {r0, r1}
|
|
|
|
ldm r3!, {r0, r1}
|
|
|
|
stm r2!, {r0, r1}
|
|
|
|
ldr r0, [r3]
|
|
|
|
str r0, [r2]
|
|
|
|
movs r0, #0
|
|
|
|
mvns r0, r0
|
|
|
|
cmp r6, r0
|
|
|
|
beq _0221EC3A
|
|
|
|
cmp r4, r0
|
|
|
|
bne _0221EC3C
|
|
|
|
_0221EC3A:
|
|
|
|
b _0221EDCE
|
|
|
|
_0221EC3C:
|
|
|
|
movs r1, #2
|
|
|
|
add r0, sp, #0x70
|
|
|
|
strb r1, [r0, #9]
|
|
|
|
cmp r6, #0x12
|
|
|
|
ldr r0, [r5, #0x2c]
|
|
|
|
bne _0221ED1C
|
|
|
|
bl FUN_02074904
|
|
|
|
adds r1, r4, #0
|
|
|
|
adds r7, r0, #0
|
|
|
|
bl FUN_02074644
|
|
|
|
movs r1, #0
|
|
|
|
adds r6, r0, #0
|
|
|
|
adds r2, r1, #0
|
|
|
|
bl FUN_0206E540
|
|
|
|
str r0, [sp, #0x70]
|
|
|
|
adds r0, r6, #0
|
|
|
|
movs r1, #5
|
|
|
|
movs r2, #0
|
|
|
|
bl FUN_0206E540
|
|
|
|
add r1, sp, #0x70
|
|
|
|
strh r0, [r1, #4]
|
|
|
|
adds r0, r6, #0
|
|
|
|
movs r1, #0x70
|
|
|
|
movs r2, #0
|
|
|
|
bl FUN_0206E540
|
|
|
|
add r1, sp, #0x70
|
|
|
|
strb r0, [r1, #7]
|
|
|
|
add r2, sp, #0x78
|
|
|
|
adds r0, r6, #0
|
|
|
|
movs r1, #0x75
|
|
|
|
adds r2, #2
|
|
|
|
bl FUN_0206E540
|
|
|
|
adds r0, r6, #0
|
|
|
|
bl FUN_0207003C
|
|
|
|
add r1, sp, #0x70
|
|
|
|
strb r0, [r1, #6]
|
|
|
|
adds r0, r6, #0
|
|
|
|
movs r1, #0x6f
|
|
|
|
movs r2, #0
|
|
|
|
bl FUN_0206E540
|
|
|
|
add r1, sp, #0x70
|
|
|
|
strb r0, [r1, #8]
|
|
|
|
adds r0, r7, #0
|
|
|
|
adds r1, r4, #0
|
|
|
|
bl FUN_02074644
|
|
|
|
bl FUN_02070DB0
|
|
|
|
lsls r1, r4, #0x18
|
|
|
|
adds r6, r0, #0
|
|
|
|
adds r0, r7, #0
|
|
|
|
lsrs r1, r1, #0x18
|
|
|
|
add r2, sp, #0x24
|
|
|
|
bl ov97_0221EA88
|
|
|
|
adds r0, r6, #0
|
|
|
|
add r1, sp, #0x1c
|
|
|
|
bl ov97_0221EBD8
|
|
|
|
add r1, sp, #0x14
|
|
|
|
adds r0, r7, #0
|
|
|
|
adds r1, #2
|
|
|
|
adds r2, r4, #0
|
|
|
|
bl FUN_02074670
|
|
|
|
add r2, sp, #0x14
|
|
|
|
add r0, sp, #0x1c
|
|
|
|
add r1, sp, #0x24
|
|
|
|
adds r2, #2
|
|
|
|
add r3, sp, #0x70
|
|
|
|
bl ov97_0221EDE4
|
|
|
|
movs r4, #0
|
|
|
|
add r6, sp, #0x70
|
|
|
|
add r7, sp, #0x5c
|
|
|
|
_0221ECE2:
|
|
|
|
ldr r0, [r5, #0x2c]
|
|
|
|
bl FUN_02031968
|
|
|
|
lsls r1, r4, #2
|
|
|
|
ldrh r2, [r6, #4]
|
|
|
|
ldr r1, [r7, r1]
|
|
|
|
bl FUN_020319A8
|
|
|
|
cmp r0, #0
|
|
|
|
beq _0221ECFE
|
|
|
|
adds r1, r6, r4
|
|
|
|
adds r1, #0x20
|
|
|
|
movs r0, #1
|
|
|
|
b _0221ED04
|
|
|
|
_0221ECFE:
|
|
|
|
adds r1, r6, r4
|
|
|
|
adds r1, #0x20
|
|
|
|
movs r0, #0
|
|
|
|
_0221ED04:
|
|
|
|
strb r0, [r1]
|
|
|
|
adds r0, r4, #1
|
|
|
|
lsls r0, r0, #0x18
|
|
|
|
lsrs r4, r0, #0x18
|
|
|
|
cmp r4, #5
|
|
|
|
blo _0221ECE2
|
|
|
|
ldr r0, [r5, #0xc]
|
|
|
|
add r1, sp, #0x70
|
|
|
|
bl ov97_0221EFD0
|
|
|
|
add sp, #0xc0
|
|
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
_0221ED1C:
|
|
|
|
bl FUN_020270D8
|
|
|
|
adds r1, r6, #0
|
|
|
|
adds r2, r4, #0
|
|
|
|
add r3, sp, #0x2c
|
|
|
|
bl ov97_0221E898
|
|
|
|
ldr r0, [sp, #0x30]
|
|
|
|
add r1, sp, #0x70
|
|
|
|
str r0, [sp, #0x70]
|
|
|
|
ldr r0, [sp, #0x2c]
|
|
|
|
movs r2, #0xb
|
|
|
|
strh r0, [r1, #4]
|
|
|
|
add r0, sp, #0
|
|
|
|
ldrh r0, [r0, #0x36]
|
|
|
|
strb r0, [r1, #7]
|
|
|
|
add r0, sp, #0x78
|
|
|
|
adds r0, #2
|
|
|
|
add r1, sp, #0x44
|
2021-06-27 12:46:42 +00:00
|
|
|
bl StringCopyN
|
2021-06-26 19:39:05 +00:00
|
|
|
add r1, sp, #0
|
|
|
|
ldrh r2, [r1, #0x3c]
|
|
|
|
add r0, sp, #0x70
|
|
|
|
strb r2, [r0, #6]
|
|
|
|
ldrh r1, [r1, #0x3e]
|
|
|
|
strb r1, [r0, #8]
|
|
|
|
ldr r0, [r5, #0x2c]
|
|
|
|
bl FUN_020270D8
|
|
|
|
adds r1, r6, #0
|
|
|
|
adds r2, r4, #0
|
|
|
|
bl FUN_02074058
|
|
|
|
add r1, sp, #0xc
|
|
|
|
adds r1, #2
|
|
|
|
adds r4, r0, #0
|
|
|
|
bl ov97_0221EB38
|
|
|
|
add r1, sp, #4
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r1, #2
|
|
|
|
bl ov97_0221EBD8
|
|
|
|
add r0, sp, #0
|
|
|
|
movs r1, #0
|
|
|
|
movs r2, #5
|
|
|
|
blx FUN_020D4994
|
|
|
|
add r0, sp, #4
|
|
|
|
add r1, sp, #0xc
|
|
|
|
adds r0, #2
|
|
|
|
adds r1, #2
|
|
|
|
add r2, sp, #0
|
|
|
|
add r3, sp, #0x70
|
|
|
|
bl ov97_0221EDE4
|
|
|
|
movs r4, #0
|
|
|
|
add r6, sp, #0x70
|
|
|
|
add r7, sp, #0x5c
|
|
|
|
_0221ED94:
|
|
|
|
ldr r0, [r5, #0x2c]
|
|
|
|
bl FUN_02031968
|
|
|
|
lsls r1, r4, #2
|
|
|
|
ldrh r2, [r6, #4]
|
|
|
|
ldr r1, [r7, r1]
|
|
|
|
bl FUN_020319A8
|
|
|
|
cmp r0, #0
|
|
|
|
beq _0221EDB0
|
|
|
|
adds r1, r6, r4
|
|
|
|
adds r1, #0x20
|
|
|
|
movs r0, #1
|
|
|
|
b _0221EDB6
|
|
|
|
_0221EDB0:
|
|
|
|
adds r1, r6, r4
|
|
|
|
adds r1, #0x20
|
|
|
|
movs r0, #0
|
|
|
|
_0221EDB6:
|
|
|
|
strb r0, [r1]
|
|
|
|
adds r0, r4, #1
|
|
|
|
lsls r0, r0, #0x18
|
|
|
|
lsrs r4, r0, #0x18
|
|
|
|
cmp r4, #5
|
|
|
|
blo _0221ED94
|
|
|
|
ldr r0, [r5, #0xc]
|
|
|
|
add r1, sp, #0x70
|
|
|
|
bl ov97_0221EFD0
|
|
|
|
add sp, #0xc0
|
|
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
_0221EDCE:
|
|
|
|
movs r0, #0
|
|
|
|
add r1, sp, #0x70
|
|
|
|
strb r0, [r1, #9]
|
|
|
|
ldr r0, [r5, #0xc]
|
|
|
|
bl ov97_0221EFD0
|
|
|
|
add sp, #0xc0
|
|
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
nop
|
|
|
|
_0221EDE0: .4byte 0x0221FCB8
|
|
|
|
thumb_func_end ov97_0221EC14
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221EDE4
|
|
|
|
ov97_0221EDE4: @ 0x0221EDE4
|
|
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
|
|
adds r5, r0, #0
|
|
|
|
adds r7, r2, #0
|
|
|
|
movs r0, #0
|
|
|
|
ldrsb r0, [r7, r0]
|
|
|
|
adds r6, r1, #0
|
|
|
|
adds r4, r3, #0
|
|
|
|
str r0, [sp]
|
|
|
|
ldrh r3, [r6, #6]
|
|
|
|
adds r0, r4, #0
|
|
|
|
ldrb r1, [r5]
|
|
|
|
lsls r3, r3, #0x1d
|
|
|
|
ldrb r2, [r6]
|
|
|
|
adds r0, #0x29
|
|
|
|
lsrs r3, r3, #0x1d
|
|
|
|
bl FUN_0208B85C
|
|
|
|
adds r1, r4, #0
|
|
|
|
adds r1, #0x28
|
|
|
|
strb r0, [r1]
|
|
|
|
movs r0, #1
|
|
|
|
ldrsb r0, [r7, r0]
|
|
|
|
str r0, [sp]
|
|
|
|
ldrh r3, [r6, #6]
|
|
|
|
adds r0, r4, #0
|
|
|
|
ldrb r1, [r5, #3]
|
|
|
|
lsls r3, r3, #0x14
|
|
|
|
ldrb r2, [r6, #3]
|
|
|
|
adds r0, #0x31
|
|
|
|
lsrs r3, r3, #0x1d
|
|
|
|
bl FUN_0208B85C
|
|
|
|
adds r1, r4, #0
|
|
|
|
adds r1, #0x30
|
|
|
|
strb r0, [r1]
|
|
|
|
movs r0, #2
|
|
|
|
ldrsb r0, [r7, r0]
|
|
|
|
str r0, [sp]
|
|
|
|
ldrh r3, [r6, #6]
|
|
|
|
adds r0, r4, #0
|
|
|
|
ldrb r1, [r5, #4]
|
|
|
|
lsls r3, r3, #0x11
|
|
|
|
ldrb r2, [r6, #4]
|
|
|
|
adds r0, #0x39
|
|
|
|
lsrs r3, r3, #0x1d
|
|
|
|
bl FUN_0208B85C
|
|
|
|
adds r1, r4, #0
|
|
|
|
adds r1, #0x38
|
|
|
|
strb r0, [r1]
|
|
|
|
movs r0, #3
|
|
|
|
ldrsb r0, [r7, r0]
|
|
|
|
str r0, [sp]
|
|
|
|
ldrh r3, [r6, #6]
|
|
|
|
adds r0, r4, #0
|
|
|
|
ldrb r1, [r5, #2]
|
|
|
|
lsls r3, r3, #0x17
|
|
|
|
ldrb r2, [r6, #2]
|
|
|
|
adds r0, #0x41
|
|
|
|
lsrs r3, r3, #0x1d
|
|
|
|
bl FUN_0208B85C
|
|
|
|
adds r1, r4, #0
|
|
|
|
adds r1, #0x40
|
|
|
|
strb r0, [r1]
|
|
|
|
movs r0, #4
|
|
|
|
ldrsb r0, [r7, r0]
|
|
|
|
str r0, [sp]
|
|
|
|
ldrh r3, [r6, #6]
|
|
|
|
adds r0, r4, #0
|
|
|
|
ldrb r1, [r5, #1]
|
|
|
|
lsls r3, r3, #0x1a
|
|
|
|
ldrb r2, [r6, #1]
|
|
|
|
adds r0, #0x49
|
|
|
|
lsrs r3, r3, #0x1d
|
|
|
|
bl FUN_0208B85C
|
|
|
|
adds r4, #0x48
|
|
|
|
strb r0, [r4]
|
|
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_end ov97_0221EDE4
|
2021-06-18 12:29:26 +00:00
|
|
|
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_start ov97_0221EE84
|
|
|
|
ov97_0221EE84: @ 0x0221EE84
|
2021-06-18 12:29:26 +00:00
|
|
|
push {r3, r4, r5, lr}
|
|
|
|
movs r1, #0xbf
|
|
|
|
lsls r1, r1, #2
|
|
|
|
adds r5, r0, #0
|
|
|
|
bl FUN_0201AA8C
|
|
|
|
movs r2, #0xbf
|
|
|
|
movs r1, #0
|
|
|
|
lsls r2, r2, #2
|
|
|
|
adds r4, r0, #0
|
|
|
|
blx FUN_020D4994
|
|
|
|
str r5, [r4]
|
|
|
|
str r5, [r4, #0x78]
|
|
|
|
adds r0, r4, #0
|
|
|
|
pop {r3, r4, r5, pc}
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_end ov97_0221EE84
|
2021-06-18 12:29:26 +00:00
|
|
|
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_start ov97_0221EEA4
|
|
|
|
ov97_0221EEA4: @ 0x0221EEA4
|
2021-06-18 12:29:26 +00:00
|
|
|
push {r3, r4, r5, r6, lr}
|
|
|
|
sub sp, #0x14
|
|
|
|
adds r5, r0, #0
|
|
|
|
str r1, [r5, #4]
|
|
|
|
adds r0, r1, #0
|
|
|
|
ldr r1, [r5]
|
|
|
|
adds r4, r2, #0
|
|
|
|
adds r6, r3, #0
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221F14C
|
2021-06-18 12:29:26 +00:00
|
|
|
movs r3, #1
|
|
|
|
adds r1, r5, #0
|
|
|
|
str r3, [sp]
|
|
|
|
movs r0, #0x11
|
|
|
|
str r0, [sp, #4]
|
|
|
|
movs r0, #2
|
|
|
|
str r0, [sp, #8]
|
|
|
|
movs r0, #0xf
|
|
|
|
str r0, [sp, #0xc]
|
|
|
|
str r3, [sp, #0x10]
|
|
|
|
ldr r0, [r5, #4]
|
|
|
|
adds r1, #8
|
|
|
|
movs r2, #4
|
|
|
|
bl FUN_0201D40C
|
|
|
|
movs r0, #1
|
|
|
|
str r0, [sp]
|
|
|
|
movs r0, #9
|
|
|
|
str r0, [sp, #4]
|
|
|
|
movs r0, #2
|
|
|
|
str r0, [sp, #8]
|
|
|
|
movs r0, #0xf
|
|
|
|
str r0, [sp, #0xc]
|
|
|
|
movs r0, #0x23
|
|
|
|
str r0, [sp, #0x10]
|
|
|
|
adds r1, r5, #0
|
|
|
|
ldr r0, [r5, #4]
|
|
|
|
adds r1, #0x18
|
|
|
|
movs r2, #4
|
|
|
|
movs r3, #0x16
|
|
|
|
bl FUN_0201D40C
|
|
|
|
movs r1, #0xf
|
|
|
|
str r1, [sp]
|
|
|
|
movs r0, #8
|
|
|
|
str r0, [sp, #4]
|
|
|
|
movs r0, #2
|
|
|
|
str r0, [sp, #8]
|
|
|
|
str r1, [sp, #0xc]
|
|
|
|
movs r0, #0x35
|
|
|
|
str r0, [sp, #0x10]
|
|
|
|
adds r1, r5, #0
|
|
|
|
ldr r0, [r5, #4]
|
|
|
|
adds r1, #0x28
|
|
|
|
movs r2, #5
|
|
|
|
movs r3, #1
|
|
|
|
bl FUN_0201D40C
|
|
|
|
movs r1, #0xf
|
|
|
|
str r1, [sp]
|
|
|
|
movs r0, #3
|
|
|
|
str r0, [sp, #4]
|
|
|
|
movs r0, #2
|
|
|
|
str r0, [sp, #8]
|
|
|
|
str r1, [sp, #0xc]
|
|
|
|
movs r0, #0x45
|
|
|
|
str r0, [sp, #0x10]
|
|
|
|
adds r1, r5, #0
|
|
|
|
ldr r0, [r5, #4]
|
|
|
|
adds r1, #0x38
|
|
|
|
movs r2, #5
|
|
|
|
movs r3, #9
|
|
|
|
bl FUN_0201D40C
|
|
|
|
movs r2, #5
|
|
|
|
adds r1, r5, #0
|
|
|
|
str r2, [sp]
|
|
|
|
movs r0, #0xa
|
|
|
|
str r0, [sp, #4]
|
|
|
|
str r0, [sp, #8]
|
|
|
|
movs r0, #0xf
|
|
|
|
str r0, [sp, #0xc]
|
|
|
|
movs r0, #0x4b
|
|
|
|
str r0, [sp, #0x10]
|
|
|
|
ldr r0, [r5, #4]
|
|
|
|
adds r1, #0x48
|
|
|
|
movs r3, #0xd
|
|
|
|
bl FUN_0201D40C
|
|
|
|
movs r0, #0x13
|
|
|
|
str r0, [sp]
|
|
|
|
movs r0, #0xc
|
|
|
|
str r0, [sp, #4]
|
|
|
|
movs r0, #4
|
|
|
|
str r0, [sp, #8]
|
|
|
|
movs r0, #0xf
|
|
|
|
str r0, [sp, #0xc]
|
|
|
|
movs r0, #0xaf
|
|
|
|
str r0, [sp, #0x10]
|
|
|
|
adds r1, r5, #0
|
|
|
|
ldr r0, [r5, #4]
|
|
|
|
adds r1, #0x58
|
|
|
|
movs r2, #5
|
|
|
|
movs r3, #1
|
|
|
|
bl FUN_0201D40C
|
|
|
|
movs r1, #0x1b
|
|
|
|
adds r2, r1, #0
|
|
|
|
ldr r3, [r5]
|
|
|
|
movs r0, #1
|
|
|
|
adds r2, #0xfb
|
|
|
|
bl FUN_0200BAF8
|
|
|
|
str r0, [r5, #0x6c]
|
|
|
|
ldr r0, [r5]
|
|
|
|
bl FUN_0200BD08
|
|
|
|
str r0, [r5, #0x70]
|
|
|
|
ldr r1, [r5]
|
|
|
|
movs r0, #0xb
|
|
|
|
bl FUN_02026354
|
|
|
|
str r0, [r5, #0x74]
|
|
|
|
adds r0, r5, #0
|
|
|
|
adds r0, #0x68
|
|
|
|
strh r4, [r0]
|
|
|
|
adds r0, r5, #0
|
|
|
|
adds r0, #0x6a
|
|
|
|
strh r6, [r0]
|
|
|
|
adds r0, r5, #0
|
|
|
|
adds r0, #0x78
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221F7DC
|
2021-06-18 12:29:26 +00:00
|
|
|
adds r0, r5, #0
|
|
|
|
adds r0, #0x78
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221F9E0
|
2021-06-18 12:29:26 +00:00
|
|
|
adds r0, r5, #0
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221F294
|
2021-06-18 12:29:26 +00:00
|
|
|
movs r0, #2
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_02022CC8
|
|
|
|
movs r0, #4
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_02022CC8
|
|
|
|
add sp, #0x14
|
|
|
|
pop {r3, r4, r5, r6, pc}
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_end ov97_0221EEA4
|
2021-06-18 12:29:26 +00:00
|
|
|
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_start ov97_0221EFD0
|
|
|
|
ov97_0221EFD0: @ 0x0221EFD0
|
|
|
|
push {r3, r4, r5, lr}
|
|
|
|
adds r4, r1, #0
|
|
|
|
ldrb r2, [r4, #9]
|
|
|
|
adds r5, r0, #0
|
|
|
|
cmp r2, #2
|
|
|
|
bne _0221EFFA
|
|
|
|
bl ov97_0221F56C
|
|
|
|
adds r0, r5, #0
|
|
|
|
adds r1, r4, #0
|
|
|
|
bl ov97_0221F428
|
|
|
|
movs r0, #2
|
|
|
|
movs r1, #1
|
|
|
|
bl FUN_02022CC8
|
|
|
|
movs r0, #4
|
|
|
|
movs r1, #1
|
|
|
|
bl FUN_02022CC8
|
|
|
|
pop {r3, r4, r5, pc}
|
|
|
|
_0221EFFA:
|
|
|
|
bl ov97_0221F74C
|
|
|
|
movs r0, #2
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_02022CC8
|
|
|
|
movs r0, #4
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_02022CC8
|
|
|
|
pop {r3, r4, r5, pc}
|
|
|
|
thumb_func_end ov97_0221EFD0
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221F010
|
|
|
|
ov97_0221F010: @ 0x0221F010
|
|
|
|
push {r3, lr}
|
|
|
|
ldr r0, [r0, #0x7c]
|
|
|
|
cmp r0, #0
|
|
|
|
beq _0221F01C
|
|
|
|
bl FUN_0202457C
|
|
|
|
_0221F01C:
|
|
|
|
pop {r3, pc}
|
|
|
|
.align 2, 0
|
|
|
|
thumb_func_end ov97_0221F010
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221F020
|
|
|
|
ov97_0221F020: @ 0x0221F020
|
|
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
|
|
adds r7, r0, #0
|
|
|
|
ldr r0, [r7, #0x6c]
|
|
|
|
bl FUN_0200BB44
|
|
|
|
ldr r0, [r7, #0x70]
|
|
|
|
bl FUN_0200BDA0
|
|
|
|
ldr r0, [r7, #0x74]
|
|
|
|
bl FUN_02026380
|
|
|
|
adds r0, r7, #0
|
|
|
|
adds r0, #8
|
|
|
|
bl FUN_0201D520
|
|
|
|
adds r0, r7, #0
|
|
|
|
adds r0, #0x18
|
|
|
|
bl FUN_0201D520
|
|
|
|
adds r0, r7, #0
|
|
|
|
adds r0, #0x28
|
|
|
|
bl FUN_0201D520
|
|
|
|
adds r0, r7, #0
|
|
|
|
adds r0, #0x38
|
|
|
|
bl FUN_0201D520
|
|
|
|
adds r0, r7, #0
|
|
|
|
adds r0, #0x48
|
|
|
|
bl FUN_0201D520
|
|
|
|
adds r0, r7, #0
|
|
|
|
adds r0, #0x58
|
|
|
|
bl FUN_0201D520
|
|
|
|
ldr r0, [r7, #4]
|
|
|
|
movs r1, #4
|
|
|
|
bl FUN_0201BB4C
|
|
|
|
ldr r0, [r7, #4]
|
|
|
|
movs r1, #5
|
|
|
|
bl FUN_0201BB4C
|
|
|
|
ldr r0, [r7, #4]
|
|
|
|
movs r1, #6
|
|
|
|
bl FUN_0201BB4C
|
|
|
|
ldr r0, [r7, #4]
|
|
|
|
movs r1, #7
|
|
|
|
bl FUN_0201BB4C
|
|
|
|
adds r5, r7, #0
|
|
|
|
adds r5, #0x78
|
|
|
|
adds r0, r5, #0
|
|
|
|
bl ov97_0221F0E0
|
|
|
|
movs r4, #0
|
|
|
|
_0221F092:
|
|
|
|
movs r0, #0x18
|
|
|
|
muls r0, r4, r0
|
|
|
|
adds r6, r5, r0
|
|
|
|
movs r0, #0x52
|
|
|
|
lsls r0, r0, #2
|
|
|
|
ldr r0, [r6, r0]
|
|
|
|
bl FUN_0200AEB0
|
|
|
|
movs r0, #0x53
|
|
|
|
lsls r0, r0, #2
|
|
|
|
ldr r0, [r6, r0]
|
|
|
|
bl FUN_0200B0A8
|
|
|
|
adds r0, r4, #1
|
|
|
|
lsls r0, r0, #0x18
|
|
|
|
lsrs r4, r0, #0x18
|
|
|
|
cmp r4, #3
|
|
|
|
blo _0221F092
|
|
|
|
movs r6, #0x13
|
|
|
|
movs r4, #0
|
|
|
|
lsls r6, r6, #4
|
|
|
|
_0221F0BC:
|
|
|
|
lsls r0, r4, #2
|
|
|
|
adds r0, r5, r0
|
|
|
|
ldr r0, [r0, r6]
|
|
|
|
bl FUN_0200A0D0
|
|
|
|
adds r0, r4, #1
|
|
|
|
lsls r0, r0, #0x18
|
|
|
|
lsrs r4, r0, #0x18
|
|
|
|
cmp r4, #6
|
|
|
|
blo _0221F0BC
|
|
|
|
ldr r0, [r5, #4]
|
|
|
|
bl FUN_02024504
|
|
|
|
adds r0, r7, #0
|
|
|
|
bl FUN_0201AB0C
|
|
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
.align 2, 0
|
|
|
|
thumb_func_end ov97_0221F020
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221F0E0
|
|
|
|
ov97_0221F0E0: @ 0x0221F0E0
|
|
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
|
|
sub sp, #8
|
|
|
|
movs r6, #0x6d
|
|
|
|
str r0, [sp]
|
|
|
|
movs r4, #0
|
|
|
|
adds r5, r0, #0
|
|
|
|
lsls r6, r6, #2
|
|
|
|
_0221F0EE:
|
|
|
|
ldr r0, [r5, r6]
|
|
|
|
bl FUN_02024758
|
|
|
|
adds r4, r4, #1
|
|
|
|
adds r5, r5, #4
|
|
|
|
cmp r4, #5
|
|
|
|
blt _0221F0EE
|
|
|
|
movs r0, #0
|
|
|
|
movs r6, #0x1e
|
|
|
|
ldr r7, [sp]
|
|
|
|
str r0, [sp, #4]
|
|
|
|
lsls r6, r6, #4
|
|
|
|
_0221F106:
|
|
|
|
movs r0, #0x77
|
|
|
|
lsls r0, r0, #2
|
|
|
|
ldr r0, [r7, r0]
|
|
|
|
bl FUN_02024758
|
|
|
|
movs r4, #0
|
|
|
|
adds r5, r7, #0
|
|
|
|
_0221F114:
|
|
|
|
ldr r0, [r5, r6]
|
|
|
|
bl FUN_02024758
|
|
|
|
adds r4, r4, #1
|
|
|
|
adds r5, r5, #4
|
|
|
|
cmp r4, #5
|
|
|
|
blt _0221F114
|
|
|
|
ldr r0, [sp, #4]
|
|
|
|
adds r7, #0x18
|
|
|
|
adds r0, r0, #1
|
|
|
|
str r0, [sp, #4]
|
|
|
|
cmp r0, #5
|
|
|
|
blt _0221F106
|
|
|
|
movs r1, #0x95
|
|
|
|
ldr r0, [sp]
|
|
|
|
lsls r1, r1, #2
|
|
|
|
ldr r0, [r0, r1]
|
|
|
|
bl FUN_02024758
|
|
|
|
movs r1, #0x96
|
|
|
|
ldr r0, [sp]
|
|
|
|
lsls r1, r1, #2
|
|
|
|
ldr r0, [r0, r1]
|
|
|
|
bl FUN_0201AB0C
|
|
|
|
add sp, #8
|
|
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
.align 2, 0
|
|
|
|
thumb_func_end ov97_0221F0E0
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221F14C
|
|
|
|
ov97_0221F14C: @ 0x0221F14C
|
2021-06-18 12:29:26 +00:00
|
|
|
push {r3, r4, r5, lr}
|
|
|
|
sub sp, #0x10
|
|
|
|
adds r5, r0, #0
|
|
|
|
adds r4, r1, #0
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221F1D8
|
2021-06-18 12:29:26 +00:00
|
|
|
movs r1, #0
|
|
|
|
str r1, [sp]
|
|
|
|
movs r0, #0xf3
|
|
|
|
movs r2, #4
|
|
|
|
adds r3, r1, #0
|
|
|
|
str r4, [sp, #4]
|
|
|
|
bl FUN_02007938
|
|
|
|
movs r0, #0
|
|
|
|
str r0, [sp]
|
|
|
|
str r0, [sp, #4]
|
|
|
|
movs r1, #1
|
|
|
|
str r1, [sp, #8]
|
|
|
|
movs r0, #0xf3
|
|
|
|
adds r2, r5, #0
|
|
|
|
movs r3, #7
|
|
|
|
str r4, [sp, #0xc]
|
|
|
|
bl FUN_020078F0
|
|
|
|
movs r0, #0
|
|
|
|
str r0, [sp]
|
|
|
|
movs r0, #6
|
|
|
|
lsls r0, r0, #8
|
|
|
|
str r0, [sp, #4]
|
|
|
|
movs r0, #1
|
|
|
|
str r0, [sp, #8]
|
|
|
|
movs r0, #0xf3
|
|
|
|
movs r1, #2
|
|
|
|
adds r2, r5, #0
|
|
|
|
movs r3, #7
|
|
|
|
str r4, [sp, #0xc]
|
|
|
|
bl FUN_02007914
|
|
|
|
adds r0, r5, #0
|
|
|
|
movs r1, #7
|
|
|
|
bl FUN_0201BF7C
|
|
|
|
movs r0, #0
|
|
|
|
str r0, [sp]
|
|
|
|
movs r0, #6
|
|
|
|
lsls r0, r0, #8
|
|
|
|
str r0, [sp, #4]
|
|
|
|
movs r0, #1
|
|
|
|
str r0, [sp, #8]
|
|
|
|
movs r0, #0xf3
|
|
|
|
movs r1, #3
|
|
|
|
adds r2, r5, #0
|
|
|
|
movs r3, #6
|
|
|
|
str r4, [sp, #0xc]
|
|
|
|
bl FUN_02007914
|
|
|
|
adds r0, r5, #0
|
|
|
|
movs r1, #6
|
|
|
|
bl FUN_0201BF7C
|
|
|
|
movs r1, #0x1e
|
|
|
|
movs r0, #4
|
|
|
|
lsls r1, r1, #4
|
|
|
|
adds r2, r4, #0
|
|
|
|
bl FUN_02003030
|
|
|
|
add sp, #0x10
|
|
|
|
pop {r3, r4, r5, pc}
|
|
|
|
.align 2, 0
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_end ov97_0221F14C
|
2021-06-18 12:29:26 +00:00
|
|
|
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_start ov97_0221F1D8
|
|
|
|
ov97_0221F1D8: @ 0x0221F1D8
|
2021-06-18 12:29:26 +00:00
|
|
|
push {r3, r4, r5, lr}
|
|
|
|
sub sp, #0x70
|
|
|
|
ldr r5, _0221F284 @ =0x0221FD20
|
|
|
|
adds r4, r0, #0
|
|
|
|
ldm r5!, {r0, r1}
|
|
|
|
add r3, sp, #0x54
|
|
|
|
adds r2, r3, #0
|
|
|
|
stm r3!, {r0, r1}
|
|
|
|
ldm r5!, {r0, r1}
|
|
|
|
stm r3!, {r0, r1}
|
|
|
|
ldm r5!, {r0, r1}
|
|
|
|
stm r3!, {r0, r1}
|
|
|
|
ldr r0, [r5]
|
|
|
|
movs r1, #4
|
|
|
|
str r0, [r3]
|
|
|
|
adds r0, r4, #0
|
|
|
|
movs r3, #0
|
|
|
|
bl FUN_0201B1E4
|
|
|
|
adds r0, r4, #0
|
|
|
|
movs r1, #4
|
|
|
|
bl FUN_0201CAE0
|
|
|
|
ldr r5, _0221F288 @ =0x0221FD3C
|
|
|
|
add r3, sp, #0x38
|
|
|
|
ldm r5!, {r0, r1}
|
|
|
|
adds r2, r3, #0
|
|
|
|
stm r3!, {r0, r1}
|
|
|
|
ldm r5!, {r0, r1}
|
|
|
|
stm r3!, {r0, r1}
|
|
|
|
ldm r5!, {r0, r1}
|
|
|
|
stm r3!, {r0, r1}
|
|
|
|
ldr r0, [r5]
|
|
|
|
movs r1, #5
|
|
|
|
str r0, [r3]
|
|
|
|
adds r0, r4, #0
|
|
|
|
movs r3, #0
|
|
|
|
bl FUN_0201B1E4
|
|
|
|
adds r0, r4, #0
|
|
|
|
movs r1, #5
|
|
|
|
bl FUN_0201CAE0
|
|
|
|
ldr r5, _0221F28C @ =0x0221FD04
|
|
|
|
add r3, sp, #0x1c
|
|
|
|
ldm r5!, {r0, r1}
|
|
|
|
adds r2, r3, #0
|
|
|
|
stm r3!, {r0, r1}
|
|
|
|
ldm r5!, {r0, r1}
|
|
|
|
stm r3!, {r0, r1}
|
|
|
|
ldm r5!, {r0, r1}
|
|
|
|
stm r3!, {r0, r1}
|
|
|
|
ldr r0, [r5]
|
|
|
|
movs r1, #6
|
|
|
|
str r0, [r3]
|
|
|
|
adds r0, r4, #0
|
|
|
|
movs r3, #0
|
|
|
|
bl FUN_0201B1E4
|
|
|
|
adds r0, r4, #0
|
|
|
|
movs r1, #6
|
|
|
|
bl FUN_0201CAE0
|
|
|
|
ldr r5, _0221F290 @ =0x0221FD58
|
|
|
|
add r3, sp, #0
|
|
|
|
ldm r5!, {r0, r1}
|
|
|
|
adds r2, r3, #0
|
|
|
|
stm r3!, {r0, r1}
|
|
|
|
ldm r5!, {r0, r1}
|
|
|
|
stm r3!, {r0, r1}
|
|
|
|
ldm r5!, {r0, r1}
|
|
|
|
stm r3!, {r0, r1}
|
|
|
|
ldr r0, [r5]
|
|
|
|
movs r1, #7
|
|
|
|
str r0, [r3]
|
|
|
|
adds r0, r4, #0
|
|
|
|
movs r3, #0
|
|
|
|
bl FUN_0201B1E4
|
|
|
|
adds r0, r4, #0
|
|
|
|
movs r1, #7
|
|
|
|
bl FUN_0201CAE0
|
|
|
|
add sp, #0x70
|
|
|
|
pop {r3, r4, r5, pc}
|
|
|
|
nop
|
|
|
|
_0221F284: .4byte 0x0221FD20
|
|
|
|
_0221F288: .4byte 0x0221FD3C
|
|
|
|
_0221F28C: .4byte 0x0221FD04
|
|
|
|
_0221F290: .4byte 0x0221FD58
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_end ov97_0221F1D8
|
2021-06-18 12:29:26 +00:00
|
|
|
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_start ov97_0221F294
|
|
|
|
ov97_0221F294: @ 0x0221F294
|
2021-06-18 12:29:26 +00:00
|
|
|
push {r3, r4, r5, lr}
|
|
|
|
sub sp, #0x10
|
|
|
|
adds r4, r0, #0
|
|
|
|
adds r2, r4, #0
|
|
|
|
adds r2, #0x68
|
|
|
|
ldrh r2, [r2]
|
|
|
|
ldr r0, [r4, #0x70]
|
|
|
|
movs r1, #0
|
|
|
|
lsls r2, r2, #0x18
|
|
|
|
lsrs r2, r2, #0x18
|
|
|
|
bl FUN_0200C944
|
|
|
|
ldr r0, [r4, #0x70]
|
|
|
|
ldr r1, [r4, #0x6c]
|
|
|
|
ldr r3, [r4]
|
|
|
|
movs r2, #0
|
|
|
|
bl FUN_0200BC4C
|
|
|
|
adds r5, r0, #0
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r0, #8
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_0201D978
|
|
|
|
movs r1, #0
|
|
|
|
str r1, [sp]
|
|
|
|
movs r0, #0xff
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, _0221F424 @ =0x00010200
|
|
|
|
adds r2, r5, #0
|
|
|
|
str r0, [sp, #8]
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r0, #8
|
|
|
|
adds r3, r1, #0
|
|
|
|
str r1, [sp, #0xc]
|
|
|
|
bl FUN_020200FC
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r0, #8
|
|
|
|
bl FUN_0201D578
|
|
|
|
adds r0, r5, #0
|
|
|
|
bl FUN_02026380
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r0, #0x18
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_0201D978
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r0, #0x6a
|
|
|
|
ldrh r0, [r0]
|
|
|
|
cmp r0, #0
|
|
|
|
beq _0221F32A
|
|
|
|
ldr r0, [r4, #0x6c]
|
|
|
|
movs r1, #1
|
|
|
|
bl FUN_0200BBA0
|
|
|
|
movs r1, #0
|
|
|
|
adds r5, r0, #0
|
|
|
|
str r1, [sp]
|
|
|
|
movs r0, #0xff
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, _0221F424 @ =0x00010200
|
|
|
|
adds r2, r5, #0
|
|
|
|
str r0, [sp, #8]
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r0, #0x18
|
|
|
|
adds r3, r1, #0
|
|
|
|
str r1, [sp, #0xc]
|
|
|
|
bl FUN_020200FC
|
|
|
|
adds r0, r5, #0
|
|
|
|
bl FUN_02026380
|
|
|
|
_0221F32A:
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r0, #0x18
|
|
|
|
bl FUN_0201D578
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r0, #0x48
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_0201D978
|
|
|
|
ldr r0, [r4, #0x6c]
|
|
|
|
movs r1, #8
|
|
|
|
bl FUN_0200BBA0
|
|
|
|
movs r1, #0
|
|
|
|
adds r5, r0, #0
|
|
|
|
str r1, [sp]
|
|
|
|
movs r0, #0xff
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, _0221F424 @ =0x00010200
|
|
|
|
adds r2, r5, #0
|
|
|
|
str r0, [sp, #8]
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r0, #0x48
|
|
|
|
adds r3, r1, #0
|
|
|
|
str r1, [sp, #0xc]
|
|
|
|
bl FUN_020200FC
|
|
|
|
adds r0, r5, #0
|
|
|
|
bl FUN_02026380
|
|
|
|
ldr r0, [r4, #0x6c]
|
|
|
|
movs r1, #4
|
|
|
|
bl FUN_0200BBA0
|
|
|
|
adds r5, r0, #0
|
|
|
|
movs r0, #0x10
|
|
|
|
str r0, [sp]
|
|
|
|
movs r0, #0xff
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, _0221F424 @ =0x00010200
|
|
|
|
movs r1, #0
|
|
|
|
str r0, [sp, #8]
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r0, #0x48
|
|
|
|
adds r2, r5, #0
|
|
|
|
adds r3, r1, #0
|
|
|
|
str r1, [sp, #0xc]
|
|
|
|
bl FUN_020200FC
|
|
|
|
adds r0, r5, #0
|
|
|
|
bl FUN_02026380
|
|
|
|
ldr r0, [r4, #0x6c]
|
|
|
|
movs r1, #6
|
|
|
|
bl FUN_0200BBA0
|
|
|
|
adds r5, r0, #0
|
|
|
|
movs r0, #0x20
|
|
|
|
str r0, [sp]
|
|
|
|
movs r0, #0xff
|
|
|
|
str r0, [sp, #4]
|
2021-06-26 19:39:05 +00:00
|
|
|
ldr r0, _0221F424 @ =0x00010200
|
|
|
|
movs r1, #0
|
|
|
|
str r0, [sp, #8]
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r0, #0x48
|
|
|
|
adds r2, r5, #0
|
|
|
|
adds r3, r1, #0
|
|
|
|
str r1, [sp, #0xc]
|
|
|
|
bl FUN_020200FC
|
|
|
|
adds r0, r5, #0
|
|
|
|
bl FUN_02026380
|
|
|
|
ldr r0, [r4, #0x6c]
|
|
|
|
movs r1, #5
|
|
|
|
bl FUN_0200BBA0
|
|
|
|
adds r5, r0, #0
|
|
|
|
movs r0, #0x30
|
|
|
|
str r0, [sp]
|
|
|
|
movs r0, #0xff
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, _0221F424 @ =0x00010200
|
|
|
|
movs r1, #0
|
|
|
|
str r0, [sp, #8]
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r0, #0x48
|
|
|
|
adds r2, r5, #0
|
|
|
|
adds r3, r1, #0
|
|
|
|
str r1, [sp, #0xc]
|
|
|
|
bl FUN_020200FC
|
|
|
|
adds r0, r5, #0
|
|
|
|
bl FUN_02026380
|
|
|
|
ldr r0, [r4, #0x6c]
|
|
|
|
movs r1, #7
|
|
|
|
bl FUN_0200BBA0
|
|
|
|
adds r5, r0, #0
|
|
|
|
movs r0, #0x40
|
|
|
|
str r0, [sp]
|
|
|
|
movs r0, #0xff
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, _0221F424 @ =0x00010200
|
|
|
|
movs r1, #0
|
|
|
|
str r0, [sp, #8]
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r0, #0x48
|
|
|
|
adds r2, r5, #0
|
|
|
|
adds r3, r1, #0
|
|
|
|
str r1, [sp, #0xc]
|
|
|
|
bl FUN_020200FC
|
|
|
|
adds r0, r5, #0
|
|
|
|
bl FUN_02026380
|
|
|
|
adds r4, #0x48
|
|
|
|
adds r0, r4, #0
|
|
|
|
bl FUN_0201D578
|
|
|
|
add sp, #0x10
|
|
|
|
pop {r3, r4, r5, pc}
|
|
|
|
nop
|
|
|
|
_0221F424: .4byte 0x00010200
|
|
|
|
thumb_func_end ov97_0221F294
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221F428
|
|
|
|
ov97_0221F428: @ 0x0221F428
|
|
|
|
push {r4, r5, r6, lr}
|
|
|
|
sub sp, #0x10
|
|
|
|
adds r5, r0, #0
|
|
|
|
ldr r0, [r5, #0x74]
|
|
|
|
adds r4, r1, #0
|
|
|
|
adds r1, #0xa
|
|
|
|
bl FUN_020269A0
|
|
|
|
adds r0, r5, #0
|
|
|
|
adds r0, #0x28
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_0201D978
|
|
|
|
movs r1, #0
|
|
|
|
str r1, [sp]
|
|
|
|
movs r0, #0xff
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, _0221F564 @ =0x00010200
|
|
|
|
adds r3, r1, #0
|
|
|
|
str r0, [sp, #8]
|
|
|
|
str r1, [sp, #0xc]
|
|
|
|
adds r0, r5, #0
|
|
|
|
ldr r2, [r5, #0x74]
|
|
|
|
adds r0, #0x28
|
|
|
|
bl FUN_020200FC
|
|
|
|
adds r0, r5, #0
|
|
|
|
adds r0, #0x28
|
|
|
|
bl FUN_0201D578
|
|
|
|
ldrb r0, [r4, #8]
|
|
|
|
cmp r0, #0
|
|
|
|
bne _0221F4A8
|
|
|
|
ldr r0, [r5, #0x6c]
|
|
|
|
movs r1, #2
|
|
|
|
bl FUN_0200BBA0
|
|
|
|
adds r6, r0, #0
|
|
|
|
adds r0, r5, #0
|
|
|
|
adds r0, #0x38
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_0201D978
|
|
|
|
movs r1, #0
|
|
|
|
str r1, [sp]
|
|
|
|
movs r0, #0xff
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, _0221F568 @ =0x00070800
|
|
|
|
adds r2, r6, #0
|
2021-06-18 12:29:26 +00:00
|
|
|
str r0, [sp, #8]
|
2021-06-26 19:39:05 +00:00
|
|
|
adds r0, r5, #0
|
|
|
|
adds r0, #0x38
|
|
|
|
movs r3, #4
|
2021-06-18 12:29:26 +00:00
|
|
|
str r1, [sp, #0xc]
|
|
|
|
bl FUN_020200FC
|
|
|
|
adds r0, r5, #0
|
2021-06-26 19:39:05 +00:00
|
|
|
adds r0, #0x38
|
|
|
|
bl FUN_0201D578
|
|
|
|
adds r0, r6, #0
|
2021-06-18 12:29:26 +00:00
|
|
|
bl FUN_02026380
|
2021-06-26 19:39:05 +00:00
|
|
|
b _0221F4FE
|
|
|
|
_0221F4A8:
|
|
|
|
cmp r0, #1
|
|
|
|
bne _0221F4EC
|
|
|
|
ldr r0, [r5, #0x6c]
|
|
|
|
movs r1, #3
|
2021-06-18 12:29:26 +00:00
|
|
|
bl FUN_0200BBA0
|
2021-06-26 19:39:05 +00:00
|
|
|
adds r6, r0, #0
|
|
|
|
adds r0, r5, #0
|
|
|
|
adds r0, #0x38
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_0201D978
|
|
|
|
movs r1, #0
|
|
|
|
str r1, [sp]
|
2021-06-18 12:29:26 +00:00
|
|
|
movs r0, #0xff
|
|
|
|
str r0, [sp, #4]
|
2021-06-26 19:39:05 +00:00
|
|
|
movs r0, #0xc1
|
|
|
|
lsls r0, r0, #0xa
|
2021-06-18 12:29:26 +00:00
|
|
|
str r0, [sp, #8]
|
2021-06-26 19:39:05 +00:00
|
|
|
adds r0, r5, #0
|
|
|
|
adds r0, #0x38
|
|
|
|
adds r2, r6, #0
|
|
|
|
movs r3, #4
|
2021-06-18 12:29:26 +00:00
|
|
|
str r1, [sp, #0xc]
|
|
|
|
bl FUN_020200FC
|
|
|
|
adds r0, r5, #0
|
2021-06-26 19:39:05 +00:00
|
|
|
adds r0, #0x38
|
|
|
|
bl FUN_0201D578
|
|
|
|
adds r0, r6, #0
|
2021-06-18 12:29:26 +00:00
|
|
|
bl FUN_02026380
|
2021-06-26 19:39:05 +00:00
|
|
|
b _0221F4FE
|
|
|
|
_0221F4EC:
|
|
|
|
adds r0, r5, #0
|
|
|
|
adds r0, #0x38
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_0201D978
|
|
|
|
adds r0, r5, #0
|
|
|
|
adds r0, #0x38
|
|
|
|
bl FUN_0201D578
|
|
|
|
_0221F4FE:
|
|
|
|
ldrh r0, [r4, #4]
|
|
|
|
ldr r1, [r5]
|
|
|
|
bl FUN_0200BCDC
|
|
|
|
adds r4, r0, #0
|
|
|
|
movs r0, #1
|
2021-06-18 12:29:26 +00:00
|
|
|
str r0, [sp]
|
2021-06-26 19:39:05 +00:00
|
|
|
movs r3, #2
|
|
|
|
str r3, [sp, #4]
|
|
|
|
ldr r0, [r5, #0x70]
|
|
|
|
movs r1, #0
|
|
|
|
adds r2, r4, #0
|
|
|
|
bl FUN_0200BE3C
|
|
|
|
adds r0, r4, #0
|
|
|
|
bl FUN_02026380
|
|
|
|
ldr r0, [r5, #0x70]
|
|
|
|
ldr r1, [r5, #0x6c]
|
|
|
|
ldr r3, [r5]
|
|
|
|
movs r2, #9
|
|
|
|
bl FUN_0200BC4C
|
|
|
|
adds r4, r0, #0
|
|
|
|
adds r0, r5, #0
|
|
|
|
adds r0, #0x58
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_0201D978
|
|
|
|
movs r1, #0
|
|
|
|
str r1, [sp]
|
2021-06-18 12:29:26 +00:00
|
|
|
movs r0, #0xff
|
|
|
|
str r0, [sp, #4]
|
2021-06-26 19:39:05 +00:00
|
|
|
ldr r0, _0221F564 @ =0x00010200
|
|
|
|
adds r2, r4, #0
|
2021-06-18 12:29:26 +00:00
|
|
|
str r0, [sp, #8]
|
2021-06-26 19:39:05 +00:00
|
|
|
adds r0, r5, #0
|
|
|
|
adds r0, #0x58
|
2021-06-18 12:29:26 +00:00
|
|
|
adds r3, r1, #0
|
|
|
|
str r1, [sp, #0xc]
|
|
|
|
bl FUN_020200FC
|
2021-06-26 19:39:05 +00:00
|
|
|
adds r5, #0x58
|
2021-06-18 12:29:26 +00:00
|
|
|
adds r0, r5, #0
|
|
|
|
bl FUN_0201D578
|
2021-06-26 19:39:05 +00:00
|
|
|
adds r0, r4, #0
|
|
|
|
bl FUN_02026380
|
2021-06-18 12:29:26 +00:00
|
|
|
add sp, #0x10
|
2021-06-26 19:39:05 +00:00
|
|
|
pop {r4, r5, r6, pc}
|
|
|
|
.align 2, 0
|
|
|
|
_0221F564: .4byte 0x00010200
|
|
|
|
_0221F568: .4byte 0x00070800
|
|
|
|
thumb_func_end ov97_0221F428
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221F56C
|
|
|
|
ov97_0221F56C: @ 0x0221F56C
|
|
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
|
|
sub sp, #8
|
|
|
|
adds r4, r0, #0
|
|
|
|
adds r5, r4, #0
|
|
|
|
adds r5, #0x78
|
|
|
|
adds r0, r5, #0
|
|
|
|
adds r6, r1, #0
|
|
|
|
bl ov97_0221FBDC
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r0, #0x78
|
|
|
|
bl ov97_0221FC54
|
|
|
|
movs r0, #0xb3
|
|
|
|
lsls r0, r0, #2
|
|
|
|
ldr r0, [r4, r0]
|
|
|
|
movs r1, #1
|
|
|
|
bl FUN_02024830
|
|
|
|
adds r4, #0x78
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r1, r6, #0
|
|
|
|
bl ov97_0221F5F8
|
|
|
|
ldr r1, _0221F5F4 @ =0x0221FCFC
|
|
|
|
add r0, sp, #0
|
|
|
|
ldrb r2, [r1]
|
|
|
|
add r7, sp, #0
|
|
|
|
movs r4, #0
|
|
|
|
strb r2, [r0]
|
|
|
|
ldrb r2, [r1, #1]
|
|
|
|
strb r2, [r0, #1]
|
|
|
|
ldrb r2, [r1, #2]
|
|
|
|
strb r2, [r0, #2]
|
|
|
|
ldrb r2, [r1, #3]
|
|
|
|
ldrb r1, [r1, #4]
|
|
|
|
strb r2, [r0, #3]
|
|
|
|
strb r1, [r0, #4]
|
|
|
|
_0221F5B8:
|
|
|
|
ldrb r1, [r7, r4]
|
|
|
|
adds r0, r6, r1
|
|
|
|
adds r0, #0x20
|
|
|
|
ldrb r0, [r0]
|
|
|
|
cmp r0, #0
|
|
|
|
beq _0221F5D6
|
|
|
|
lsls r0, r1, #2
|
|
|
|
adds r1, r5, r0
|
|
|
|
movs r0, #0x6d
|
|
|
|
lsls r0, r0, #2
|
|
|
|
ldr r0, [r1, r0]
|
|
|
|
movs r1, #1
|
|
|
|
bl FUN_02024830
|
|
|
|
b _0221F5E6
|
|
|
|
_0221F5D6:
|
|
|
|
lsls r0, r1, #2
|
|
|
|
adds r1, r5, r0
|
|
|
|
movs r0, #0x6d
|
|
|
|
lsls r0, r0, #2
|
|
|
|
ldr r0, [r1, r0]
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_02024830
|
|
|
|
_0221F5E6:
|
|
|
|
adds r0, r4, #1
|
|
|
|
lsls r0, r0, #0x18
|
|
|
|
lsrs r4, r0, #0x18
|
|
|
|
cmp r4, #5
|
|
|
|
blo _0221F5B8
|
|
|
|
add sp, #8
|
|
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
.align 2, 0
|
|
|
|
_0221F5F4: .4byte 0x0221FCFC
|
|
|
|
thumb_func_end ov97_0221F56C
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221F5F8
|
|
|
|
ov97_0221F5F8: @ 0x0221F5F8
|
|
|
|
push {r4, r5, r6, r7, lr}
|
|
|
|
sub sp, #0xc
|
|
|
|
str r0, [sp]
|
|
|
|
movs r0, #0
|
|
|
|
str r1, [sp, #4]
|
|
|
|
str r0, [sp, #8]
|
|
|
|
_0221F604:
|
|
|
|
ldr r0, [sp, #8]
|
|
|
|
lsls r1, r0, #3
|
|
|
|
ldr r0, [sp, #4]
|
|
|
|
adds r7, r0, r1
|
|
|
|
movs r0, #0x28
|
|
|
|
ldrsb r0, [r7, r0]
|
|
|
|
cmp r0, #0
|
|
|
|
ble _0221F638
|
|
|
|
ldr r0, [sp, #8]
|
|
|
|
movs r1, #0x18
|
|
|
|
muls r1, r0, r1
|
|
|
|
ldr r0, [sp]
|
|
|
|
adds r4, r0, r1
|
|
|
|
movs r0, #0x77
|
|
|
|
lsls r0, r0, #2
|
|
|
|
ldr r0, [r4, r0]
|
|
|
|
movs r1, #1
|
|
|
|
bl FUN_02024830
|
|
|
|
movs r0, #0x77
|
|
|
|
lsls r0, r0, #2
|
|
|
|
ldr r0, [r4, r0]
|
|
|
|
movs r1, #4
|
|
|
|
bl FUN_020248F0
|
|
|
|
b _0221F674
|
|
|
|
_0221F638:
|
|
|
|
bge _0221F65E
|
|
|
|
ldr r0, [sp, #8]
|
|
|
|
movs r1, #0x18
|
|
|
|
muls r1, r0, r1
|
|
|
|
ldr r0, [sp]
|
|
|
|
adds r4, r0, r1
|
|
|
|
movs r0, #0x77
|
|
|
|
lsls r0, r0, #2
|
|
|
|
ldr r0, [r4, r0]
|
|
|
|
movs r1, #1
|
|
|
|
bl FUN_02024830
|
|
|
|
movs r0, #0x77
|
|
|
|
lsls r0, r0, #2
|
|
|
|
ldr r0, [r4, r0]
|
|
|
|
movs r1, #5
|
|
|
|
bl FUN_020248F0
|
|
|
|
b _0221F674
|
|
|
|
_0221F65E:
|
|
|
|
ldr r0, [sp, #8]
|
|
|
|
movs r1, #0x18
|
|
|
|
muls r1, r0, r1
|
|
|
|
ldr r0, [sp]
|
|
|
|
adds r1, r0, r1
|
|
|
|
movs r0, #0x77
|
|
|
|
lsls r0, r0, #2
|
|
|
|
ldr r0, [r1, r0]
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_02024830
|
|
|
|
_0221F674:
|
|
|
|
ldr r0, [sp, #8]
|
|
|
|
movs r1, #0x18
|
|
|
|
muls r1, r0, r1
|
|
|
|
ldr r0, [sp]
|
|
|
|
movs r4, #0
|
|
|
|
adds r5, r0, r1
|
|
|
|
_0221F680:
|
|
|
|
adds r0, r7, r4
|
|
|
|
adds r0, #0x29
|
|
|
|
ldrb r0, [r0]
|
|
|
|
cmp r0, #4
|
|
|
|
bhi _0221F72A
|
|
|
|
adds r0, r0, r0
|
|
|
|
add r0, pc
|
|
|
|
ldrh r0, [r0, #6]
|
|
|
|
lsls r0, r0, #0x10
|
|
|
|
asrs r0, r0, #0x10
|
|
|
|
add pc, r0
|
|
|
|
_0221F696: @ jump table
|
|
|
|
.2byte _0221F6A0 - _0221F696 - 2 @ case 0
|
|
|
|
.2byte _0221F6B2 - _0221F696 - 2 @ case 1
|
|
|
|
.2byte _0221F6D0 - _0221F696 - 2 @ case 2
|
|
|
|
.2byte _0221F6EE - _0221F696 - 2 @ case 3
|
|
|
|
.2byte _0221F70C - _0221F696 - 2 @ case 4
|
|
|
|
_0221F6A0:
|
|
|
|
lsls r0, r4, #2
|
|
|
|
adds r1, r5, r0
|
|
|
|
movs r0, #0x1e
|
|
|
|
lsls r0, r0, #4
|
|
|
|
ldr r0, [r1, r0]
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_02024830
|
|
|
|
b _0221F72E
|
|
|
|
_0221F6B2:
|
|
|
|
lsls r0, r4, #2
|
|
|
|
adds r6, r5, r0
|
|
|
|
movs r0, #0x1e
|
|
|
|
lsls r0, r0, #4
|
|
|
|
ldr r0, [r6, r0]
|
|
|
|
movs r1, #1
|
|
|
|
bl FUN_02024830
|
|
|
|
movs r0, #0x1e
|
|
|
|
lsls r0, r0, #4
|
|
|
|
ldr r0, [r6, r0]
|
|
|
|
movs r1, #3
|
|
|
|
bl FUN_020248F0
|
|
|
|
b _0221F72E
|
|
|
|
_0221F6D0:
|
|
|
|
lsls r0, r4, #2
|
|
|
|
adds r6, r5, r0
|
|
|
|
movs r0, #0x1e
|
|
|
|
lsls r0, r0, #4
|
|
|
|
ldr r0, [r6, r0]
|
|
|
|
movs r1, #1
|
|
|
|
bl FUN_02024830
|
|
|
|
movs r0, #0x1e
|
|
|
|
lsls r0, r0, #4
|
|
|
|
ldr r0, [r6, r0]
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_020248F0
|
|
|
|
b _0221F72E
|
|
|
|
_0221F6EE:
|
|
|
|
lsls r0, r4, #2
|
|
|
|
adds r6, r5, r0
|
|
|
|
movs r0, #0x1e
|
|
|
|
lsls r0, r0, #4
|
|
|
|
ldr r0, [r6, r0]
|
|
|
|
movs r1, #1
|
|
|
|
bl FUN_02024830
|
|
|
|
movs r0, #0x1e
|
|
|
|
lsls r0, r0, #4
|
|
|
|
ldr r0, [r6, r0]
|
|
|
|
movs r1, #1
|
|
|
|
bl FUN_020248F0
|
|
|
|
b _0221F72E
|
|
|
|
_0221F70C:
|
|
|
|
lsls r0, r4, #2
|
|
|
|
adds r6, r5, r0
|
|
|
|
movs r0, #0x1e
|
|
|
|
lsls r0, r0, #4
|
|
|
|
ldr r0, [r6, r0]
|
|
|
|
movs r1, #1
|
|
|
|
bl FUN_02024830
|
|
|
|
movs r0, #0x1e
|
|
|
|
lsls r0, r0, #4
|
|
|
|
ldr r0, [r6, r0]
|
|
|
|
movs r1, #2
|
|
|
|
bl FUN_020248F0
|
|
|
|
b _0221F72E
|
|
|
|
_0221F72A:
|
2021-06-27 12:46:42 +00:00
|
|
|
bl GF_AssertFail
|
2021-06-26 19:39:05 +00:00
|
|
|
_0221F72E:
|
|
|
|
adds r0, r4, #1
|
|
|
|
lsls r0, r0, #0x18
|
|
|
|
lsrs r4, r0, #0x18
|
|
|
|
cmp r4, #5
|
|
|
|
blo _0221F680
|
|
|
|
ldr r0, [sp, #8]
|
|
|
|
adds r0, r0, #1
|
|
|
|
lsls r0, r0, #0x18
|
|
|
|
lsrs r0, r0, #0x18
|
|
|
|
str r0, [sp, #8]
|
|
|
|
cmp r0, #5
|
|
|
|
bhs _0221F748
|
|
|
|
b _0221F604
|
|
|
|
_0221F748:
|
|
|
|
add sp, #0xc
|
|
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_end ov97_0221F5F8
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221F74C
|
|
|
|
ov97_0221F74C: @ 0x0221F74C
|
|
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
|
|
sub sp, #8
|
|
|
|
movs r7, #0x6d
|
|
|
|
lsls r7, r7, #2
|
|
|
|
str r0, [sp, #4]
|
|
|
|
adds r0, #0x78
|
|
|
|
adds r6, r7, #0
|
|
|
|
str r0, [sp, #4]
|
|
|
|
movs r4, #0
|
|
|
|
adds r6, #0x14
|
|
|
|
_0221F760:
|
|
|
|
ldr r0, [sp, #4]
|
|
|
|
lsls r1, r4, #2
|
|
|
|
adds r5, r0, r1
|
|
|
|
ldr r0, [r5, r7]
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_02024830
|
|
|
|
ldr r0, [r5, r6]
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_02024830
|
|
|
|
adds r0, r4, #1
|
|
|
|
lsls r0, r0, #0x18
|
|
|
|
lsrs r4, r0, #0x18
|
|
|
|
cmp r4, #5
|
|
|
|
blo _0221F760
|
|
|
|
movs r0, #0
|
|
|
|
movs r6, #0x1e
|
|
|
|
str r0, [sp]
|
|
|
|
adds r7, r0, #0
|
|
|
|
lsls r6, r6, #4
|
|
|
|
_0221F78A:
|
|
|
|
ldr r1, [sp]
|
|
|
|
movs r0, #0x18
|
|
|
|
adds r2, r1, #0
|
|
|
|
muls r2, r0, r2
|
|
|
|
ldr r0, [sp, #4]
|
|
|
|
movs r1, #0
|
|
|
|
adds r5, r0, r2
|
|
|
|
movs r0, #0x77
|
|
|
|
lsls r0, r0, #2
|
|
|
|
ldr r0, [r5, r0]
|
|
|
|
bl FUN_02024830
|
|
|
|
movs r4, #0
|
|
|
|
_0221F7A4:
|
|
|
|
lsls r0, r4, #2
|
|
|
|
adds r0, r5, r0
|
|
|
|
ldr r0, [r0, r6]
|
|
|
|
adds r1, r7, #0
|
|
|
|
bl FUN_02024830
|
|
|
|
adds r0, r4, #1
|
|
|
|
lsls r0, r0, #0x18
|
|
|
|
lsrs r4, r0, #0x18
|
|
|
|
cmp r4, #5
|
|
|
|
blo _0221F7A4
|
|
|
|
ldr r0, [sp]
|
|
|
|
adds r0, r0, #1
|
|
|
|
lsls r0, r0, #0x18
|
|
|
|
lsrs r0, r0, #0x18
|
|
|
|
str r0, [sp]
|
|
|
|
cmp r0, #5
|
|
|
|
blo _0221F78A
|
|
|
|
movs r1, #0x95
|
|
|
|
ldr r0, [sp, #4]
|
|
|
|
lsls r1, r1, #2
|
|
|
|
ldr r0, [r0, r1]
|
|
|
|
movs r1, #0
|
|
|
|
bl FUN_02024830
|
|
|
|
add sp, #8
|
|
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
.align 2, 0
|
|
|
|
thumb_func_end ov97_0221F74C
|
2021-06-18 12:29:26 +00:00
|
|
|
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_start ov97_0221F7DC
|
|
|
|
ov97_0221F7DC: @ 0x0221F7DC
|
2021-06-18 12:29:26 +00:00
|
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
|
|
sub sp, #0x10
|
|
|
|
adds r5, r0, #0
|
|
|
|
adds r1, r5, #0
|
|
|
|
ldr r2, [r5]
|
|
|
|
movs r0, #0x42
|
|
|
|
adds r1, #8
|
|
|
|
bl FUN_02009F40
|
|
|
|
str r0, [r5, #4]
|
|
|
|
adds r0, r5, #0
|
|
|
|
movs r2, #1
|
|
|
|
adds r0, #8
|
|
|
|
movs r1, #0
|
|
|
|
lsls r2, r2, #0x14
|
|
|
|
bl FUN_02009FC8
|
|
|
|
movs r0, #0x10
|
|
|
|
movs r1, #1
|
|
|
|
bl FUN_02022CC8
|
|
|
|
movs r7, #0x13
|
|
|
|
movs r6, #0
|
|
|
|
adds r4, r5, #0
|
|
|
|
lsls r7, r7, #4
|
|
|
|
_0221F80E:
|
|
|
|
ldr r2, [r5]
|
|
|
|
movs r0, #3
|
|
|
|
adds r1, r6, #0
|
|
|
|
bl FUN_0200A090
|
|
|
|
str r0, [r4, r7]
|
|
|
|
adds r6, r6, #1
|
|
|
|
adds r4, r4, #4
|
|
|
|
cmp r6, #6
|
|
|
|
blt _0221F80E
|
|
|
|
movs r3, #1
|
|
|
|
str r3, [sp]
|
|
|
|
movs r0, #2
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, [r5]
|
|
|
|
movs r1, #0xf3
|
|
|
|
str r0, [sp, #8]
|
|
|
|
movs r0, #0x13
|
|
|
|
lsls r0, r0, #4
|
|
|
|
ldr r0, [r5, r0]
|
|
|
|
movs r2, #7
|
|
|
|
bl FUN_0200A1D8
|
|
|
|
movs r1, #0x52
|
|
|
|
lsls r1, r1, #2
|
|
|
|
str r0, [r5, r1]
|
|
|
|
movs r0, #1
|
|
|
|
str r0, [sp]
|
|
|
|
movs r0, #2
|
|
|
|
str r0, [sp, #4]
|
|
|
|
movs r2, #4
|
|
|
|
str r2, [sp, #8]
|
|
|
|
ldr r0, [r5]
|
|
|
|
subs r1, #0x14
|
|
|
|
str r0, [sp, #0xc]
|
|
|
|
ldr r0, [r5, r1]
|
|
|
|
movs r1, #0xf3
|
|
|
|
movs r3, #0
|
|
|
|
bl FUN_0200A234
|
|
|
|
movs r1, #0x53
|
|
|
|
lsls r1, r1, #2
|
|
|
|
str r0, [r5, r1]
|
|
|
|
movs r3, #1
|
|
|
|
str r3, [sp]
|
|
|
|
movs r0, #2
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, [r5]
|
|
|
|
subs r1, #0x14
|
|
|
|
str r0, [sp, #8]
|
|
|
|
ldr r0, [r5, r1]
|
|
|
|
movs r1, #0xf3
|
|
|
|
movs r2, #6
|
|
|
|
bl FUN_0200A294
|
|
|
|
movs r1, #0x15
|
|
|
|
lsls r1, r1, #4
|
|
|
|
str r0, [r5, r1]
|
|
|
|
movs r3, #1
|
|
|
|
str r3, [sp]
|
|
|
|
movs r0, #3
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, [r5]
|
|
|
|
subs r1, #0x14
|
|
|
|
str r0, [sp, #8]
|
|
|
|
ldr r0, [r5, r1]
|
|
|
|
movs r1, #0xf3
|
|
|
|
movs r2, #5
|
|
|
|
bl FUN_0200A294
|
|
|
|
movs r1, #0x55
|
|
|
|
lsls r1, r1, #2
|
|
|
|
str r0, [r5, r1]
|
|
|
|
subs r1, #0xc
|
|
|
|
ldr r0, [r5, r1]
|
|
|
|
bl FUN_0200ADA4
|
|
|
|
movs r0, #0x53
|
|
|
|
lsls r0, r0, #2
|
|
|
|
ldr r0, [r5, r0]
|
|
|
|
bl FUN_0200AF94
|
|
|
|
movs r0, #2
|
|
|
|
str r0, [sp]
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, [r5]
|
|
|
|
movs r1, #0xa2
|
|
|
|
str r0, [sp, #8]
|
|
|
|
movs r0, #0x13
|
|
|
|
lsls r0, r0, #4
|
|
|
|
ldr r0, [r5, r0]
|
|
|
|
movs r2, #0x42
|
|
|
|
movs r3, #0
|
|
|
|
bl FUN_0200A1D8
|
|
|
|
movs r1, #0x16
|
|
|
|
lsls r1, r1, #4
|
|
|
|
str r0, [r5, r1]
|
|
|
|
movs r0, #2
|
|
|
|
str r0, [sp]
|
|
|
|
str r0, [sp, #4]
|
|
|
|
movs r0, #4
|
|
|
|
str r0, [sp, #8]
|
|
|
|
ldr r0, [r5]
|
|
|
|
subs r1, #0x2c
|
|
|
|
str r0, [sp, #0xc]
|
|
|
|
ldr r0, [r5, r1]
|
|
|
|
movs r1, #0xa2
|
|
|
|
movs r2, #0x41
|
|
|
|
movs r3, #0
|
|
|
|
bl FUN_0200A234
|
|
|
|
movs r1, #0x59
|
|
|
|
lsls r1, r1, #2
|
|
|
|
str r0, [r5, r1]
|
|
|
|
movs r0, #2
|
|
|
|
str r0, [sp]
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, [r5]
|
|
|
|
subs r1, #0x2c
|
|
|
|
str r0, [sp, #8]
|
|
|
|
ldr r0, [r5, r1]
|
|
|
|
movs r1, #0xa2
|
|
|
|
movs r2, #0x43
|
|
|
|
movs r3, #0
|
|
|
|
bl FUN_0200A294
|
|
|
|
movs r1, #0x5a
|
|
|
|
lsls r1, r1, #2
|
|
|
|
str r0, [r5, r1]
|
|
|
|
movs r0, #2
|
|
|
|
str r0, [sp]
|
|
|
|
movs r0, #3
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, [r5]
|
|
|
|
subs r1, #0x2c
|
|
|
|
str r0, [sp, #8]
|
|
|
|
ldr r0, [r5, r1]
|
|
|
|
movs r1, #0xa2
|
|
|
|
movs r2, #0x44
|
|
|
|
movs r3, #0
|
|
|
|
bl FUN_0200A294
|
|
|
|
movs r1, #0x5b
|
|
|
|
lsls r1, r1, #2
|
|
|
|
str r0, [r5, r1]
|
|
|
|
subs r1, #0xc
|
|
|
|
ldr r0, [r5, r1]
|
|
|
|
bl FUN_0200ADA4
|
|
|
|
movs r0, #0x59
|
|
|
|
lsls r0, r0, #2
|
|
|
|
ldr r0, [r5, r0]
|
|
|
|
bl FUN_0200AF94
|
|
|
|
movs r0, #3
|
|
|
|
str r0, [sp]
|
|
|
|
movs r0, #2
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, [r5]
|
|
|
|
movs r1, #0x5d
|
|
|
|
str r0, [sp, #8]
|
|
|
|
movs r0, #0x13
|
|
|
|
lsls r0, r0, #4
|
|
|
|
ldr r0, [r5, r0]
|
|
|
|
movs r2, #9
|
|
|
|
movs r3, #0
|
|
|
|
bl FUN_0200A1D8
|
|
|
|
movs r1, #0x5e
|
|
|
|
lsls r1, r1, #2
|
|
|
|
str r0, [r5, r1]
|
|
|
|
movs r0, #3
|
|
|
|
str r0, [sp]
|
|
|
|
movs r0, #2
|
|
|
|
str r0, [sp, #4]
|
|
|
|
movs r0, #4
|
|
|
|
str r0, [sp, #8]
|
|
|
|
ldr r0, [r5]
|
|
|
|
subs r1, #0x44
|
|
|
|
str r0, [sp, #0xc]
|
|
|
|
ldr r0, [r5, r1]
|
|
|
|
movs r1, #0x5d
|
|
|
|
movs r2, #6
|
|
|
|
movs r3, #0
|
|
|
|
bl FUN_0200A234
|
|
|
|
movs r1, #0x5f
|
|
|
|
lsls r1, r1, #2
|
|
|
|
str r0, [r5, r1]
|
|
|
|
movs r0, #3
|
|
|
|
str r0, [sp]
|
|
|
|
movs r0, #2
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, [r5]
|
|
|
|
subs r1, #0x44
|
|
|
|
str r0, [sp, #8]
|
|
|
|
ldr r0, [r5, r1]
|
|
|
|
movs r1, #0x5d
|
|
|
|
movs r2, #0xa
|
|
|
|
movs r3, #0
|
|
|
|
bl FUN_0200A294
|
|
|
|
movs r1, #6
|
|
|
|
lsls r1, r1, #6
|
|
|
|
str r0, [r5, r1]
|
|
|
|
movs r0, #3
|
|
|
|
str r0, [sp]
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, [r5]
|
|
|
|
subs r1, #0x44
|
|
|
|
str r0, [sp, #8]
|
|
|
|
ldr r0, [r5, r1]
|
|
|
|
movs r1, #0x5d
|
|
|
|
movs r2, #0xa
|
|
|
|
movs r3, #0
|
|
|
|
bl FUN_0200A294
|
|
|
|
movs r1, #0x61
|
|
|
|
lsls r1, r1, #2
|
|
|
|
str r0, [r5, r1]
|
|
|
|
subs r1, #0xc
|
|
|
|
ldr r0, [r5, r1]
|
|
|
|
bl FUN_0200ADA4
|
|
|
|
movs r0, #0x5f
|
|
|
|
lsls r0, r0, #2
|
|
|
|
ldr r0, [r5, r0]
|
|
|
|
bl FUN_0200AF94
|
|
|
|
add sp, #0x10
|
|
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
.align 2, 0
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_end ov97_0221F7DC
|
2021-06-18 12:29:26 +00:00
|
|
|
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_start ov97_0221F9E0
|
|
|
|
ov97_0221F9E0: @ 0x0221F9E0
|
2021-06-18 12:29:26 +00:00
|
|
|
push {r4, r5, r6, r7, lr}
|
|
|
|
sub sp, #0x14
|
|
|
|
adds r5, r0, #0
|
|
|
|
movs r4, #0
|
|
|
|
_0221F9E8:
|
|
|
|
lsls r6, r4, #5
|
|
|
|
adds r6, #0x68
|
|
|
|
lsls r0, r4, #2
|
|
|
|
adds r7, r5, r0
|
|
|
|
str r6, [sp]
|
|
|
|
movs r0, #0xa8
|
|
|
|
str r0, [sp, #4]
|
|
|
|
str r4, [sp, #8]
|
|
|
|
movs r0, #0
|
|
|
|
str r0, [sp, #0xc]
|
|
|
|
adds r0, r5, #0
|
|
|
|
movs r1, #1
|
|
|
|
movs r2, #2
|
|
|
|
movs r3, #0
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221FAEC
|
2021-06-18 12:29:26 +00:00
|
|
|
movs r1, #0x6d
|
|
|
|
lsls r1, r1, #2
|
|
|
|
str r0, [r7, r1]
|
|
|
|
movs r1, #1
|
|
|
|
str r6, [sp]
|
|
|
|
movs r0, #0xa8
|
|
|
|
str r0, [sp, #4]
|
|
|
|
movs r0, #5
|
|
|
|
str r0, [sp, #8]
|
|
|
|
movs r0, #0
|
|
|
|
str r0, [sp, #0xc]
|
|
|
|
adds r0, r5, #0
|
|
|
|
adds r2, r1, #0
|
|
|
|
movs r3, #0
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221FAEC
|
2021-06-18 12:29:26 +00:00
|
|
|
movs r1, #0x72
|
|
|
|
lsls r1, r1, #2
|
|
|
|
str r0, [r7, r1]
|
|
|
|
adds r0, r4, #1
|
|
|
|
lsls r0, r0, #0x18
|
|
|
|
lsrs r4, r0, #0x18
|
|
|
|
cmp r4, #5
|
|
|
|
blo _0221F9E8
|
|
|
|
movs r0, #0
|
|
|
|
str r0, [sp, #0x10]
|
|
|
|
_0221FA3C:
|
|
|
|
ldr r1, _0221FAE8 @ =0x0221FCF4
|
|
|
|
ldr r0, [sp, #0x10]
|
|
|
|
movs r2, #1
|
|
|
|
ldrb r0, [r1, r0]
|
|
|
|
movs r1, #0x18
|
|
|
|
movs r3, #0
|
|
|
|
lsls r6, r0, #4
|
|
|
|
ldr r0, [sp, #0x10]
|
|
|
|
adds r6, #0x30
|
|
|
|
muls r1, r0, r1
|
|
|
|
movs r0, #0x60
|
|
|
|
str r0, [sp]
|
|
|
|
adds r7, r5, r1
|
|
|
|
str r6, [sp, #4]
|
|
|
|
movs r0, #4
|
|
|
|
str r0, [sp, #8]
|
|
|
|
movs r0, #0
|
|
|
|
str r0, [sp, #0xc]
|
|
|
|
adds r0, r5, #0
|
|
|
|
movs r1, #2
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221FAEC
|
2021-06-18 12:29:26 +00:00
|
|
|
movs r1, #0x77
|
|
|
|
lsls r1, r1, #2
|
|
|
|
str r0, [r7, r1]
|
|
|
|
movs r4, #0
|
|
|
|
_0221FA70:
|
|
|
|
lsls r0, r4, #4
|
|
|
|
adds r0, #0xa8
|
|
|
|
str r0, [sp]
|
|
|
|
str r6, [sp, #4]
|
|
|
|
movs r0, #3
|
|
|
|
str r0, [sp, #8]
|
|
|
|
movs r0, #0
|
|
|
|
movs r1, #2
|
|
|
|
str r0, [sp, #0xc]
|
|
|
|
adds r0, r5, #0
|
|
|
|
adds r2, r1, #0
|
|
|
|
movs r3, #0
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221FAEC
|
2021-06-18 12:29:26 +00:00
|
|
|
lsls r1, r4, #2
|
|
|
|
adds r2, r7, r1
|
|
|
|
movs r1, #0x1e
|
|
|
|
lsls r1, r1, #4
|
|
|
|
str r0, [r2, r1]
|
|
|
|
adds r0, r4, #1
|
|
|
|
lsls r0, r0, #0x18
|
|
|
|
lsrs r4, r0, #0x18
|
|
|
|
cmp r4, #5
|
|
|
|
blo _0221FA70
|
|
|
|
ldr r0, [sp, #0x10]
|
|
|
|
adds r0, r0, #1
|
|
|
|
lsls r0, r0, #0x18
|
|
|
|
lsrs r0, r0, #0x18
|
|
|
|
str r0, [sp, #0x10]
|
|
|
|
cmp r0, #5
|
|
|
|
blo _0221FA3C
|
|
|
|
movs r0, #0x30
|
|
|
|
str r0, [sp]
|
|
|
|
movs r0, #0x48
|
|
|
|
str r0, [sp, #4]
|
|
|
|
movs r2, #0
|
|
|
|
str r2, [sp, #8]
|
|
|
|
adds r0, r5, #0
|
|
|
|
movs r1, #3
|
|
|
|
adds r3, r2, #0
|
|
|
|
str r2, [sp, #0xc]
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221FAEC
|
2021-06-18 12:29:26 +00:00
|
|
|
movs r1, #0x95
|
|
|
|
lsls r1, r1, #2
|
|
|
|
str r0, [r5, r1]
|
|
|
|
movs r1, #0x32
|
|
|
|
ldr r0, [r5]
|
|
|
|
lsls r1, r1, #6
|
|
|
|
bl FUN_0201AA8C
|
|
|
|
movs r1, #0x96
|
|
|
|
lsls r1, r1, #2
|
|
|
|
str r0, [r5, r1]
|
|
|
|
adds r0, r5, #0
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221FBA0
|
2021-06-18 12:29:26 +00:00
|
|
|
add sp, #0x14
|
|
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
nop
|
|
|
|
_0221FAE8: .4byte 0x0221FCF4
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_end ov97_0221F9E0
|
2021-06-18 12:29:26 +00:00
|
|
|
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_start ov97_0221FAEC
|
|
|
|
ov97_0221FAEC: @ 0x0221FAEC
|
2021-06-18 12:29:26 +00:00
|
|
|
push {r3, r4, r5, lr}
|
|
|
|
sub sp, #0x80
|
|
|
|
adds r4, r0, #0
|
|
|
|
movs r0, #0
|
|
|
|
str r1, [sp]
|
|
|
|
mvns r0, r0
|
|
|
|
str r0, [sp, #4]
|
|
|
|
adds r5, r2, #0
|
|
|
|
str r0, [sp, #8]
|
|
|
|
movs r2, #0
|
|
|
|
movs r0, #0x13
|
|
|
|
str r2, [sp, #0xc]
|
|
|
|
lsls r0, r0, #4
|
|
|
|
str r3, [sp, #0x10]
|
|
|
|
ldr r3, [r4, r0]
|
|
|
|
str r3, [sp, #0x14]
|
|
|
|
adds r3, r0, #4
|
|
|
|
ldr r3, [r4, r3]
|
|
|
|
str r3, [sp, #0x18]
|
|
|
|
adds r3, r0, #0
|
|
|
|
adds r3, #8
|
|
|
|
ldr r3, [r4, r3]
|
|
|
|
adds r0, #0xc
|
|
|
|
str r3, [sp, #0x1c]
|
|
|
|
ldr r0, [r4, r0]
|
|
|
|
adds r3, r1, #0
|
|
|
|
str r0, [sp, #0x20]
|
|
|
|
str r2, [sp, #0x24]
|
|
|
|
str r2, [sp, #0x28]
|
|
|
|
add r0, sp, #0x2c
|
|
|
|
adds r2, r1, #0
|
|
|
|
bl FUN_02009D48
|
|
|
|
ldr r0, [r4]
|
|
|
|
add r2, sp, #0x2c
|
|
|
|
str r0, [sp]
|
|
|
|
ldr r1, [r4, #4]
|
|
|
|
add r0, sp, #0x50
|
|
|
|
movs r3, #2
|
2021-06-26 19:39:05 +00:00
|
|
|
bl ov97_0221FB80
|
2021-06-18 12:29:26 +00:00
|
|
|
ldr r0, [sp, #0x90]
|
|
|
|
str r5, [sp, #0x74]
|
|
|
|
lsls r0, r0, #0xc
|
|
|
|
str r0, [sp, #0x58]
|
|
|
|
ldr r0, [sp, #0x94]
|
|
|
|
lsls r1, r0, #0xc
|
|
|
|
movs r0, #1
|
|
|
|
lsls r0, r0, #0x14
|
|
|
|
adds r0, r1, r0
|
|
|
|
str r0, [sp, #0x5c]
|
|
|
|
add r0, sp, #0x50
|
|
|
|
bl FUN_02024624
|
|
|
|
movs r1, #1
|
|
|
|
adds r4, r0, #0
|
|
|
|
bl FUN_0202484C
|
|
|
|
ldr r1, [sp, #0x98]
|
|
|
|
adds r0, r4, #0
|
|
|
|
bl FUN_020248F0
|
|
|
|
adds r0, r4, #0
|
|
|
|
movs r1, #1
|
|
|
|
bl FUN_02024A04
|
|
|
|
ldr r1, [sp, #0x9c]
|
|
|
|
adds r0, r4, #0
|
|
|
|
bl FUN_02024830
|
|
|
|
adds r0, r4, #0
|
|
|
|
add sp, #0x80
|
|
|
|
pop {r3, r4, r5, pc}
|
|
|
|
.align 2, 0
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_end ov97_0221FAEC
|
2021-06-18 12:29:26 +00:00
|
|
|
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_start ov97_0221FB80
|
|
|
|
ov97_0221FB80: @ 0x0221FB80
|
2021-06-18 12:29:26 +00:00
|
|
|
str r1, [r0]
|
|
|
|
str r2, [r0, #4]
|
|
|
|
movs r2, #0
|
|
|
|
movs r1, #1
|
|
|
|
str r2, [r0, #0x10]
|
|
|
|
lsls r1, r1, #0xc
|
|
|
|
str r1, [r0, #0x14]
|
|
|
|
str r1, [r0, #0x18]
|
|
|
|
str r1, [r0, #0x1c]
|
|
|
|
strh r2, [r0, #0x20]
|
|
|
|
str r2, [r0, #0x24]
|
|
|
|
ldr r1, [sp]
|
|
|
|
str r3, [r0, #0x28]
|
|
|
|
str r1, [r0, #0x2c]
|
|
|
|
bx lr
|
|
|
|
.align 2, 0
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_end ov97_0221FB80
|
2021-06-18 12:29:26 +00:00
|
|
|
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_start ov97_0221FBA0
|
|
|
|
ov97_0221FBA0: @ 0x0221FBA0
|
2021-06-18 12:29:26 +00:00
|
|
|
push {r4, r5, r6, lr}
|
|
|
|
adds r5, r0, #0
|
|
|
|
movs r0, #0x5f
|
|
|
|
lsls r0, r0, #2
|
|
|
|
ldr r4, [r5, r0]
|
|
|
|
subs r0, r0, #4
|
|
|
|
ldr r0, [r5, r0]
|
|
|
|
bl FUN_0200AF00
|
|
|
|
adds r6, r0, #0
|
|
|
|
adds r0, r4, #0
|
|
|
|
adds r1, r6, #0
|
|
|
|
bl FUN_0200B0F8
|
|
|
|
adds r4, r0, #0
|
|
|
|
adds r0, r6, #0
|
|
|
|
movs r1, #2
|
|
|
|
blx FUN_020B802C
|
|
|
|
movs r1, #0x9f
|
|
|
|
lsls r1, r1, #2
|
|
|
|
str r0, [r5, r1]
|
|
|
|
adds r0, r4, #0
|
|
|
|
movs r1, #2
|
|
|
|
blx FUN_020B8078
|
|
|
|
movs r1, #0xa
|
|
|
|
lsls r1, r1, #6
|
|
|
|
str r0, [r5, r1]
|
|
|
|
pop {r4, r5, r6, pc}
|
2021-06-26 19:39:05 +00:00
|
|
|
thumb_func_end ov97_0221FBA0
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221FBDC
|
|
|
|
ov97_0221FBDC: @ 0x0221FBDC
|
|
|
|
push {r4, r5, lr}
|
|
|
|
sub sp, #0x24
|
|
|
|
adds r5, r1, #0
|
|
|
|
adds r4, r0, #0
|
|
|
|
ldrb r0, [r5, #6]
|
|
|
|
movs r3, #2
|
|
|
|
str r0, [sp]
|
|
|
|
ldrb r0, [r5, #7]
|
|
|
|
str r0, [sp, #4]
|
|
|
|
ldr r0, [r5]
|
|
|
|
str r0, [sp, #8]
|
|
|
|
ldrh r1, [r5, #4]
|
|
|
|
ldrb r2, [r5, #8]
|
|
|
|
add r0, sp, #0x14
|
|
|
|
bl FUN_020701E4
|
|
|
|
ldr r0, [r5]
|
|
|
|
movs r3, #0x96
|
|
|
|
str r0, [sp]
|
|
|
|
movs r0, #0
|
|
|
|
str r0, [sp, #4]
|
|
|
|
movs r0, #2
|
|
|
|
str r0, [sp, #8]
|
|
|
|
ldrh r0, [r5, #4]
|
|
|
|
add r1, sp, #0x10
|
|
|
|
lsls r3, r3, #2
|
|
|
|
str r0, [sp, #0xc]
|
|
|
|
ldrh r0, [r1, #4]
|
|
|
|
ldrh r1, [r1, #6]
|
|
|
|
ldr r2, [r4]
|
|
|
|
ldr r3, [r4, r3]
|
|
|
|
bl FUN_02014540
|
|
|
|
add r1, sp, #0x10
|
|
|
|
ldrh r0, [r1, #4]
|
|
|
|
ldrh r1, [r1, #8]
|
|
|
|
ldr r2, [r4]
|
|
|
|
bl FUN_02007524
|
|
|
|
add r1, sp, #0x10
|
|
|
|
adds r5, r0, #0
|
|
|
|
blx FUN_020B7140
|
|
|
|
cmp r0, #1
|
|
|
|
beq _0221FC3A
|
2021-06-27 12:46:42 +00:00
|
|
|
bl GF_AssertFail
|
2021-06-26 19:39:05 +00:00
|
|
|
_0221FC3A:
|
|
|
|
ldr r0, [sp, #0x10]
|
|
|
|
movs r1, #0x97
|
|
|
|
lsls r1, r1, #2
|
|
|
|
ldr r0, [r0, #0xc]
|
|
|
|
adds r1, r4, r1
|
|
|
|
movs r2, #0x20
|
|
|
|
blx FUN_020D47B8
|
|
|
|
adds r0, r5, #0
|
|
|
|
bl FUN_0201AB0C
|
|
|
|
add sp, #0x24
|
|
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_end ov97_0221FBDC
|
|
|
|
|
|
|
|
thumb_func_start ov97_0221FC54
|
|
|
|
ov97_0221FC54: @ 0x0221FC54
|
|
|
|
push {r4, lr}
|
|
|
|
adds r4, r0, #0
|
|
|
|
movs r0, #0x96
|
|
|
|
lsls r0, r0, #2
|
|
|
|
movs r1, #0x32
|
|
|
|
ldr r0, [r4, r0]
|
|
|
|
lsls r1, r1, #6
|
2021-06-27 17:44:12 +00:00
|
|
|
blx DC_FlushRange
|
2021-06-26 19:39:05 +00:00
|
|
|
movs r1, #0x96
|
|
|
|
lsls r1, r1, #2
|
|
|
|
ldr r0, [r4, r1]
|
|
|
|
adds r1, #0x24
|
|
|
|
movs r2, #0x32
|
|
|
|
ldr r1, [r4, r1]
|
|
|
|
lsls r2, r2, #6
|
|
|
|
blx FUN_020CFECC
|
|
|
|
movs r0, #0x97
|
|
|
|
lsls r0, r0, #2
|
|
|
|
adds r0, r4, r0
|
|
|
|
movs r1, #0x20
|
2021-06-27 17:44:12 +00:00
|
|
|
blx DC_FlushRange
|
2021-06-26 19:39:05 +00:00
|
|
|
movs r1, #0x97
|
|
|
|
lsls r1, r1, #2
|
|
|
|
adds r0, r4, r1
|
|
|
|
adds r1, #0x24
|
|
|
|
ldr r1, [r4, r1]
|
|
|
|
movs r2, #0x20
|
|
|
|
blx FUN_020CFD70
|
|
|
|
pop {r4, pc}
|
|
|
|
.align 2, 0
|
|
|
|
thumb_func_end ov97_0221FC54
|
|
|
|
|
|
|
|
.rodata
|
|
|
|
|
|
|
|
_0221FC98:
|
|
|
|
.byte 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00
|
|
|
|
.byte 0x00, 0x40, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
|
|
.byte 0x60, 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x04
|
|
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.byte 0x01, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x00
|
|
|
|
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x02, 0x01, 0x03, 0x00, 0x00
|
|
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
@ 0x0221FD74
|