pokeheartgold/asm/overlay_95.s

3591 lines
66 KiB
ArmAsm
Raw Normal View History

2021-06-18 12:29:26 +00:00
2021-06-26 18:30:29 +00:00
thumb_func_start ov95_021E5900
2021-06-27 18:48:56 +00:00
ov95_021E5900: ; 0x021E5900
2021-06-18 12:29:26 +00:00
push {r3, lr}
2021-06-27 19:11:25 +00:00
bl sub_02022C54
bl sub_02022CBC
2021-06-27 18:48:56 +00:00
mov r2, #1
lsl r2, r2, #0x1a
2021-06-18 12:29:26 +00:00
ldr r1, [r2]
2021-06-27 18:48:56 +00:00
ldr r0, _021E5920 ; =0xFFFFE0FF
and r1, r0
2021-06-18 12:29:26 +00:00
str r1, [r2]
2021-06-27 18:48:56 +00:00
ldr r2, _021E5924 ; =0x04001000
2021-06-18 12:29:26 +00:00
ldr r1, [r2]
2021-06-27 18:48:56 +00:00
and r0, r1
2021-06-18 12:29:26 +00:00
str r0, [r2]
pop {r3, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E5920: .word 0xFFFFE0FF
_021E5924: .word 0x04001000
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E5900
thumb_func_start ov95_021E5928
2021-06-27 18:48:56 +00:00
ov95_021E5928: ; 0x021E5928
2021-06-26 18:30:29 +00:00
push {r3, lr}
2021-06-27 18:48:56 +00:00
mov r0, #7
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
ldr r0, _021E594C ; =0x04000050
mov r1, #0
mov r2, #0xe
mov r3, #0xb
2021-06-27 19:11:25 +00:00
bl sub_020CF15C
2021-06-27 18:48:56 +00:00
mov r0, #8
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
ldr r0, _021E5950 ; =0x04001050
mov r1, #0
mov r2, #0xe
mov r3, #7
2021-06-27 19:11:25 +00:00
bl sub_020CF15C
2021-06-26 18:30:29 +00:00
pop {r3, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E594C: .word 0x04000050
_021E5950: .word 0x04001050
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E5928
thumb_func_start ov95_021E5954
2021-06-27 18:48:56 +00:00
ov95_021E5954: ; 0x021E5954
2021-06-26 18:30:29 +00:00
push {r3, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
mov r2, #2
mov r1, #0
ldr r0, _021E5970 ; =ov95_021E5974
2021-06-26 18:30:29 +00:00
str r2, [sp]
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0x46
add r3, r1, #0
2021-06-27 19:11:25 +00:00
bl sub_02026EB4
2021-06-26 18:30:29 +00:00
add sp, #8
pop {r3, pc}
nop
2021-06-27 18:48:56 +00:00
_021E5970: .word ov95_021E5974
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E5954
thumb_func_start ov95_021E5974
2021-06-27 18:48:56 +00:00
ov95_021E5974: ; 0x021E5974
2021-06-26 18:30:29 +00:00
push {r3, lr}
2021-06-27 18:48:56 +00:00
mov r0, #1
add r1, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_02022C60
2021-06-27 18:48:56 +00:00
ldr r0, _021E59E0 ; =0x04000008
mov r1, #3
2021-06-26 18:30:29 +00:00
ldrh r2, [r0]
2021-06-27 18:48:56 +00:00
bic r2, r1
mov r1, #1
orr r1, r2
2021-06-26 18:30:29 +00:00
strh r1, [r0]
2021-06-27 18:48:56 +00:00
add r0, #0x58
2021-06-26 18:30:29 +00:00
ldrh r2, [r0]
2021-06-27 18:48:56 +00:00
ldr r1, _021E59E4 ; =0xFFFFCFFD
and r2, r1
2021-06-26 18:30:29 +00:00
strh r2, [r0]
2021-06-27 18:48:56 +00:00
add r2, r1, #2
2021-06-26 18:30:29 +00:00
ldrh r3, [r0]
2021-06-27 18:48:56 +00:00
add r1, r1, #2
and r3, r2
mov r2, #0x10
orr r2, r3
2021-06-26 18:30:29 +00:00
strh r2, [r0]
ldrh r3, [r0]
2021-06-27 18:48:56 +00:00
ldr r2, _021E59E8 ; =0x0000CFFB
and r3, r2
2021-06-26 18:30:29 +00:00
strh r3, [r0]
ldrh r3, [r0]
2021-06-27 18:48:56 +00:00
sub r2, #0x1c
and r3, r1
mov r1, #8
orr r1, r3
2021-06-26 18:30:29 +00:00
strh r1, [r0]
ldrh r1, [r0]
2021-06-27 18:48:56 +00:00
and r1, r2
2021-06-26 18:30:29 +00:00
strh r1, [r0]
2021-06-27 18:48:56 +00:00
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_020CF82C
2021-06-27 18:48:56 +00:00
mov r0, #0
ldr r2, _021E59EC ; =0x00007FFF
add r1, r0, #0
mov r3, #0x3f
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 19:11:25 +00:00
bl sub_020CF910
2021-06-27 18:48:56 +00:00
ldr r1, _021E59F0 ; =0xBFFF0000
ldr r0, _021E59F4 ; =0x04000580
2021-06-26 18:30:29 +00:00
str r1, [r0]
pop {r3, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E59E0: .word 0x04000008
_021E59E4: .word 0xFFFFCFFD
_021E59E8: .word 0x0000CFFB
_021E59EC: .word 0x00007FFF
_021E59F0: .word 0xBFFF0000
_021E59F4: .word 0x04000580
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E5974
thumb_func_start ov95_021E59F8
2021-06-27 18:48:56 +00:00
ov95_021E59F8: ; 0x021E59F8
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
ldr r3, _021E5A30 ; =0x02110924
mov r0, #2
mov r1, #0
2021-06-26 18:30:29 +00:00
ldr r3, [r3]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0xe
add r2, r1, #0
bl r3
ldr r3, _021E5A34 ; =0x0211092C
mov r1, #0
add r4, r0, #0
2021-06-26 18:30:29 +00:00
ldr r3, [r3]
2021-06-27 18:48:56 +00:00
mov r0, #0x80
add r2, r1, #0
bl r3
add r5, r0, #0
2021-06-26 18:30:29 +00:00
cmp r4, #0
bne _021E5A20
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E5A20:
cmp r5, #0
bne _021E5A28
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E5A28:
2021-06-27 19:11:25 +00:00
bl sub_02014DA0
2021-06-26 18:30:29 +00:00
pop {r3, r4, r5, pc}
nop
2021-06-27 18:48:56 +00:00
_021E5A30: .word 0x02110924
_021E5A34: .word 0x0211092C
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E59F8
thumb_func_start ov95_021E5A38
2021-06-27 18:48:56 +00:00
ov95_021E5A38: ; 0x021E5A38
2021-06-26 18:30:29 +00:00
push {r4, r5, lr}
sub sp, #0x8c
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_02022C54
2021-06-27 18:48:56 +00:00
ldr r5, _021E5B14 ; =0x021E75B4
2021-06-26 18:30:29 +00:00
add r3, sp, #0x10
2021-06-27 18:48:56 +00:00
mov r2, #5
2021-06-26 18:30:29 +00:00
_021E5A48:
2021-06-27 18:48:56 +00:00
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
2021-06-26 18:30:29 +00:00
bne _021E5A48
add r0, sp, #0x10
2021-06-27 19:11:25 +00:00
bl sub_02022BE8
2021-06-27 18:48:56 +00:00
mov r1, #6
mov r2, #2
mov r0, #0
lsl r1, r1, #0x18
lsl r2, r2, #0x12
2021-06-27 19:11:25 +00:00
bl sub_020D47EC
2021-06-27 18:48:56 +00:00
mov r1, #0x62
mov r2, #2
mov r0, #0
lsl r1, r1, #0x14
lsl r2, r2, #0x10
2021-06-27 19:11:25 +00:00
bl sub_020D47EC
2021-06-27 18:48:56 +00:00
mov r1, #0x19
mov r2, #1
mov r0, #0
lsl r1, r1, #0x16
lsl r2, r2, #0x12
2021-06-27 19:11:25 +00:00
bl sub_020D47EC
2021-06-27 18:48:56 +00:00
mov r1, #0x66
mov r2, #2
mov r0, #0
lsl r1, r1, #0x14
lsl r2, r2, #0x10
2021-06-27 19:11:25 +00:00
bl sub_020D47EC
2021-06-27 18:48:56 +00:00
ldr r5, _021E5B18 ; =_021E7538
2021-06-26 18:30:29 +00:00
add r3, sp, #0
2021-06-27 18:48:56 +00:00
add r2, r3, #0
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
add r0, r2, #0
2021-06-27 19:11:25 +00:00
bl sub_0201ACB0
2021-06-27 18:48:56 +00:00
ldr r5, _021E5B1C ; =0x021E767C
2021-06-26 18:30:29 +00:00
add r3, sp, #0x38
2021-06-27 18:48:56 +00:00
mov r2, #0xa
2021-06-26 18:30:29 +00:00
_021E5AA8:
2021-06-27 18:48:56 +00:00
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
2021-06-26 18:30:29 +00:00
bne _021E5AA8
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-26 18:30:29 +00:00
str r0, [r3]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
add r2, sp, #0x38
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-27 19:11:25 +00:00
bl sub_0201B1E4
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #2
2021-06-26 18:30:29 +00:00
add r2, sp, #0x54
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-27 19:11:25 +00:00
bl sub_0201B1E4
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #3
2021-06-26 18:30:29 +00:00
add r2, sp, #0x70
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-27 19:11:25 +00:00
bl sub_0201B1E4
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_0201CAE0
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #2
2021-06-27 19:11:25 +00:00
bl sub_0201CAE0
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #3
2021-06-27 19:11:25 +00:00
bl sub_0201CAE0
2021-06-27 18:48:56 +00:00
ldr r1, _021E5B20 ; =0x04000008
mov r0, #3
2021-06-26 18:30:29 +00:00
ldrh r2, [r1]
2021-06-27 18:48:56 +00:00
bic r2, r0
mov r0, #1
orr r2, r0
2021-06-26 18:30:29 +00:00
strh r2, [r1]
2021-06-27 18:48:56 +00:00
add r1, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_02022C60
bl sub_02022D24
2021-06-27 18:48:56 +00:00
mov r0, #0x10
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_02022C60
2021-06-26 18:30:29 +00:00
add sp, #0x8c
pop {r4, r5, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E5B14: .word 0x021E75B4
_021E5B18: .word _021E7538
_021E5B1C: .word 0x021E767C
_021E5B20: .word 0x04000008
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E5A38
thumb_func_start ov95_021E5B24
2021-06-27 18:48:56 +00:00
ov95_021E5B24: ; 0x021E5B24
2021-06-26 18:30:29 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x3c]
2021-06-27 19:11:25 +00:00
bl sub_02009418
bl sub_0202061C
bl sub_0200D034
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #8]
2021-06-27 19:11:25 +00:00
bl sub_0200398C
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #4]
2021-06-27 19:11:25 +00:00
bl sub_0201EEB4
2021-06-27 18:48:56 +00:00
ldr r3, _021E5B50 ; =0x027E0000
ldr r1, _021E5B54 ; =0x00003FF8
mov r0, #1
2021-06-26 18:30:29 +00:00
ldr r2, [r3, r1]
2021-06-27 18:48:56 +00:00
orr r0, r2
2021-06-26 18:30:29 +00:00
str r0, [r3, r1]
pop {r4, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E5B50: .word 0x027E0000
_021E5B54: .word 0x00003FF8
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E5B24
thumb_func_start ov95_021E5B58
2021-06-27 18:48:56 +00:00
ov95_021E5B58: ; 0x021E5B58
2021-06-26 18:30:29 +00:00
push {r3, lr}
2021-06-27 19:11:25 +00:00
bl sub_02026E48
bl sub_0201543C
2021-06-26 18:30:29 +00:00
cmp r0, #0
ble _021E5B6E
2021-06-27 19:11:25 +00:00
bl sub_02026E48
bl sub_020B7350
2021-06-26 18:30:29 +00:00
_021E5B6E:
2021-06-27 19:11:25 +00:00
bl sub_02015460
2021-06-27 18:48:56 +00:00
mov r0, #1
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_02026E50
2021-06-26 18:30:29 +00:00
pop {r3, pc}
thumb_func_end ov95_021E5B58
thumb_func_start ov95_021E5B7C
2021-06-27 18:48:56 +00:00
ov95_021E5B7C: ; 0x021E5B7C
2021-06-26 18:30:29 +00:00
push {lr}
sub sp, #0xc
2021-06-27 18:48:56 +00:00
mov r0, #6
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-26 18:30:29 +00:00
str r1, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0x46
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0
add r2, r1, #0
add r3, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_0200FA24
2021-06-26 18:30:29 +00:00
add sp, #0xc
pop {pc}
.align 2, 0
thumb_func_end ov95_021E5B7C
thumb_func_start ov95_021E5B9C
2021-06-27 18:48:56 +00:00
ov95_021E5B9C: ; 0x021E5B9C
2021-06-26 18:30:29 +00:00
push {lr}
sub sp, #0xc
2021-06-27 18:48:56 +00:00
mov r0, #6
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0x46
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_0200FA24
2021-06-26 18:30:29 +00:00
add sp, #0xc
pop {pc}
thumb_func_end ov95_021E5B9C
thumb_func_start ov95_021E5BBC
2021-06-27 18:48:56 +00:00
ov95_021E5BBC: ; 0x021E5BBC
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, r6, lr}
sub sp, #0xc
2021-06-27 18:48:56 +00:00
add r6, r2, #0
add r4, r1, #0
lsl r1, r6, #0x18
lsr r1, r1, #0x18
2021-06-26 18:30:29 +00:00
str r1, [sp]
2021-06-27 18:48:56 +00:00
mov r1, #0x46
2021-06-26 18:30:29 +00:00
str r1, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r1, #1
mov r2, #0x14
mov r3, #0xf
add r5, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_0200E644
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-27 19:11:25 +00:00
bl sub_0200E640
2021-06-27 18:48:56 +00:00
add r2, r0, #0
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x20
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0xc0
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #0x26
mov r3, #0x46
2021-06-27 19:11:25 +00:00
bl sub_02003200
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x46
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #1
mov r2, #0x32
mov r3, #0xd
2021-06-27 19:11:25 +00:00
bl sub_0200E3DC
bl sub_0200E3D8
2021-06-27 18:48:56 +00:00
add r2, r0, #0
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x20
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0xd0
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #0x26
mov r3, #0x46
2021-06-27 19:11:25 +00:00
bl sub_02003200
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x20
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0xe0
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #0x10
mov r2, #8
mov r3, #0x46
2021-06-27 19:11:25 +00:00
bl sub_02003200
2021-06-26 18:30:29 +00:00
add sp, #0xc
pop {r3, r4, r5, r6, pc}
thumb_func_end ov95_021E5BBC
thumb_func_start ov95_021E5C44
2021-06-27 18:48:56 +00:00
ov95_021E5C44: ; 0x021E5C44
2021-06-26 18:30:29 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0x14
2021-06-27 18:48:56 +00:00
add r5, r1, #0
add r7, r0, #0
add r0, r5, #0
add r4, r2, #0
add r6, r3, #0
2021-06-27 19:11:25 +00:00
bl sub_0201D3C4
2021-06-26 18:30:29 +00:00
ldr r0, [sp, #0x28]
2021-06-27 18:48:56 +00:00
lsl r2, r4, #0x18
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-26 18:30:29 +00:00
str r0, [sp]
ldr r0, [sp, #0x2c]
2021-06-27 18:48:56 +00:00
lsl r3, r6, #0x18
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
ldr r0, [sp, #0x30]
2021-06-27 18:48:56 +00:00
add r1, r5, #0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
ldr r0, [sp, #0x38]
2021-06-27 18:48:56 +00:00
lsr r2, r2, #0x18
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-26 18:30:29 +00:00
str r0, [sp, #0xc]
ldr r0, [sp, #0x34]
2021-06-27 18:48:56 +00:00
lsr r3, r3, #0x18
lsl r0, r0, #0x10
lsr r0, r0, #0x10
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
add r0, r7, #0
2021-06-27 19:11:25 +00:00
bl sub_0201D40C
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #1
mov r2, #0x14
mov r3, #0xc
2021-06-27 19:11:25 +00:00
bl sub_0200E998
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #0xf
2021-06-27 19:11:25 +00:00
bl sub_0201D978
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-27 19:11:25 +00:00
bl sub_0201D578
2021-06-26 18:30:29 +00:00
add sp, #0x14
pop {r4, r5, r6, r7, pc}
thumb_func_end ov95_021E5C44
thumb_func_start ov95_021E5CAC
2021-06-27 18:48:56 +00:00
ov95_021E5CAC: ; 0x021E5CAC
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
2021-06-27 18:48:56 +00:00
add r4, r1, #0
mov r1, #0xf
2021-06-26 18:30:29 +00:00
str r0, [sp, #0xc]
str r2, [sp, #0x10]
2021-06-27 18:48:56 +00:00
add r6, r3, #0
2021-06-27 19:11:25 +00:00
bl sub_0201D978
2021-06-27 18:48:56 +00:00
mov r0, #0
mov r1, #0x1b
mov r2, #0xbb
mov r3, #0x46
2021-06-27 19:11:25 +00:00
bl sub_0200BAF8
2021-06-27 18:48:56 +00:00
add r7, r0, #0
mov r0, #0x46
2021-06-27 19:11:25 +00:00
bl sub_0200BD08
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r0, r7, #0
add r1, r4, #0
2021-06-27 19:11:25 +00:00
bl sub_0200BBA0
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
mov r0, #0xff
mov r1, #0x46
2021-06-27 19:11:25 +00:00
bl sub_02026354
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
ldr r0, [sp, #0x10]
2021-06-27 19:11:25 +00:00
bl sub_02070DB0
2021-06-27 18:48:56 +00:00
add r2, r0, #0
add r0, r5, #0
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_0200BF1C
2021-06-26 18:30:29 +00:00
ldr r2, [sp, #0x14]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r4, #0
2021-06-27 19:11:25 +00:00
bl sub_0200CBBC
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-26 18:30:29 +00:00
str r3, [sp]
str r6, [sp, #4]
ldr r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
mov r1, #1
add r2, r4, #0
2021-06-26 18:30:29 +00:00
str r3, [sp, #8]
2021-06-27 19:11:25 +00:00
bl sub_020200A8
2021-06-27 18:48:56 +00:00
add r6, r0, #0
add r0, r7, #0
2021-06-27 19:11:25 +00:00
bl sub_0200BB44
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-27 19:11:25 +00:00
bl sub_02026380
2021-06-26 18:30:29 +00:00
ldr r0, [sp, #0x14]
2021-06-27 19:11:25 +00:00
bl sub_02026380
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-27 19:11:25 +00:00
bl sub_0200BDA0
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-26 18:30:29 +00:00
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov95_021E5CAC
thumb_func_start ov95_021E5D34
2021-06-27 18:48:56 +00:00
ov95_021E5D34: ; 0x021E5D34
2021-06-26 18:30:29 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_0201D8C8
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-27 19:11:25 +00:00
bl sub_0201D520
2021-06-26 18:30:29 +00:00
pop {r4, pc}
thumb_func_end ov95_021E5D34
thumb_func_start ov95_021E5D44
2021-06-27 18:48:56 +00:00
ov95_021E5D44: ; 0x021E5D44
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, lr}
sub sp, #0x10
2021-06-27 18:48:56 +00:00
add r4, r1, #0
mov r1, #0
add r5, r0, #0
2021-06-26 18:30:29 +00:00
str r1, [sp]
str r1, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0x46
2021-06-26 18:30:29 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
mov r0, #0x73
add r2, r5, #0
mov r3, #3
2021-06-27 19:11:25 +00:00
bl sub_020078F0
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp]
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-26 18:30:29 +00:00
str r1, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0x46
2021-06-26 18:30:29 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
mov r0, #0x73
add r2, r5, #0
mov r3, #3
2021-06-27 19:11:25 +00:00
bl sub_02007914
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 18:30:29 +00:00
str r1, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x40
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
str r1, [sp, #8]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #0x73
mov r2, #8
mov r3, #0x46
2021-06-27 19:11:25 +00:00
bl sub_02003200
2021-06-26 18:30:29 +00:00
add sp, #0x10
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end ov95_021E5D44
thumb_func_start ov95_021E5D98
2021-06-27 18:48:56 +00:00
ov95_021E5D98: ; 0x021E5D98
2021-06-26 18:30:29 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
ldr r3, _021E5DB0 ; =0x02110924
mov r2, #0
2021-06-26 18:30:29 +00:00
ldr r3, [r3]
2021-06-27 18:48:56 +00:00
bl r3
add r4, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_02015354
2021-06-27 18:48:56 +00:00
lsl r0, r4, #0x10
lsr r0, r0, #0xd
2021-06-26 18:30:29 +00:00
pop {r4, pc}
nop
2021-06-27 18:48:56 +00:00
_021E5DB0: .word 0x02110924
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E5D98
thumb_func_start ov95_021E5DB4
2021-06-27 18:48:56 +00:00
ov95_021E5DB4: ; 0x021E5DB4
2021-06-26 18:30:29 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
ldr r3, _021E5DCC ; =0x0211092C
mov r2, #0
2021-06-26 18:30:29 +00:00
ldr r3, [r3]
2021-06-27 18:48:56 +00:00
bl r3
add r4, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_02015394
2021-06-27 18:48:56 +00:00
lsl r0, r4, #0x10
lsr r0, r0, #0xd
2021-06-26 18:30:29 +00:00
pop {r4, pc}
nop
2021-06-27 18:48:56 +00:00
_021E5DCC: .word 0x0211092C
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E5DB4
thumb_func_start ov95_021E5DD0
2021-06-27 18:48:56 +00:00
ov95_021E5DD0: ; 0x021E5DD0
2021-06-26 18:30:29 +00:00
push {r4, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
mov r1, #0x12
lsl r1, r1, #0xa
add r4, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_0201AA8C
2021-06-27 18:48:56 +00:00
add r2, r0, #0
mov r0, #1
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r3, #0x12
ldr r0, _021E5E10 ; =ov95_021E5D98
ldr r1, _021E5E14 ; =ov95_021E5DB4
lsl r3, r3, #0xa
2021-06-26 18:30:29 +00:00
str r4, [sp, #4]
2021-06-27 19:11:25 +00:00
bl sub_02014DB4
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_02015524
2021-06-27 18:48:56 +00:00
add r2, r0, #0
2021-06-26 18:30:29 +00:00
beq _021E5E08
2021-06-27 18:48:56 +00:00
mov r0, #1
mov r1, #0xe1
lsl r0, r0, #0xc
lsl r1, r1, #0xe
2021-06-27 19:11:25 +00:00
bl sub_02023240
2021-06-26 18:30:29 +00:00
_021E5E08:
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
add sp, #8
pop {r4, pc}
nop
2021-06-27 18:48:56 +00:00
_021E5E10: .word ov95_021E5D98
_021E5E14: .word ov95_021E5DB4
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E5DD0
thumb_func_start ov95_021E5E18
2021-06-27 18:48:56 +00:00
ov95_021E5E18: ; 0x021E5E18
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r6, r1, #0
add r7, r2, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E5DD0
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r0, r6, #0
add r1, r7, #0
add r2, r5, #0
2021-06-27 19:11:25 +00:00
bl sub_02015264
2021-06-27 18:48:56 +00:00
add r1, r0, #0
add r0, r4, #0
mov r2, #0xa
mov r3, #1
2021-06-27 19:11:25 +00:00
bl sub_0201526C
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov95_021E5E18
thumb_func_start ov95_021E5E40
2021-06-27 18:48:56 +00:00
ov95_021E5E40: ; 0x021E5E40
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_020154D0
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r0, r5, #0
2021-06-27 19:11:25 +00:00
bl sub_02014EBC
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-27 19:11:25 +00:00
bl sub_0201AB0C
2021-06-26 18:30:29 +00:00
pop {r3, r4, r5, pc}
thumb_func_end ov95_021E5E40
thumb_func_start ov95_021E5E58
2021-06-27 18:48:56 +00:00
ov95_021E5E58: ; 0x021E5E58
2021-06-26 18:30:29 +00:00
push {r3}
sub sp, #0xc
add r2, sp, #0
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 18:30:29 +00:00
str r1, [r2]
str r1, [r2, #4]
str r1, [r2, #8]
ldr r1, [r0, #0x20]
ldr r2, [sp]
ldr r1, [r1]
ldr r1, [r1, #4]
2021-06-27 18:48:56 +00:00
add r1, r2, r1
2021-06-26 18:30:29 +00:00
str r1, [r0, #0x28]
ldr r1, [r0, #0x20]
ldr r2, [sp, #4]
ldr r1, [r1]
ldr r1, [r1, #8]
2021-06-27 18:48:56 +00:00
add r1, r2, r1
2021-06-26 18:30:29 +00:00
str r1, [r0, #0x2c]
ldr r1, [r0, #0x20]
ldr r2, [sp, #8]
ldr r1, [r1]
ldr r1, [r1, #0xc]
2021-06-27 18:48:56 +00:00
add r1, r2, r1
2021-06-26 18:30:29 +00:00
str r1, [r0, #0x30]
add sp, #0xc
pop {r3}
bx lr
thumb_func_end ov95_021E5E58
thumb_func_start ov95_021E5E90
2021-06-27 18:48:56 +00:00
ov95_021E5E90: ; 0x021E5E90
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #0x10
2021-06-27 19:11:25 +00:00
bl sub_0201AA8C
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
bne _021E5EA4
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E5EA4:
ldr r0, [r5]
ldr r2, [r5, #4]
2021-06-27 18:48:56 +00:00
mov r1, #0x74
2021-06-26 18:30:29 +00:00
str r0, [r4]
str r2, [r4, #4]
ldr r0, [r4]
bl ov95_021E5E18
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0xc]
2021-06-27 19:11:25 +00:00
bl sub_02015528
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
pop {r3, r4, r5, pc}
thumb_func_end ov95_021E5E90
thumb_func_start ov95_021E5EC0
2021-06-27 18:48:56 +00:00
ov95_021E5EC0: ; 0x021E5EC0
2021-06-26 18:30:29 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
ldr r2, _021E5ED8 ; =ov95_021E5E58
add r3, r4, #0
2021-06-27 19:11:25 +00:00
bl sub_02015494
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_02015528
2021-06-26 18:30:29 +00:00
pop {r4, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E5ED8: .word ov95_021E5E58
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E5EC0
thumb_func_start ov95_021E5EDC
2021-06-27 18:48:56 +00:00
ov95_021E5EDC: ; 0x021E5EDC
2021-06-26 18:30:29 +00:00
push {r3, lr}
ldr r0, [r0, #0xc]
2021-06-27 19:11:25 +00:00
bl sub_020154B0
2021-06-26 18:30:29 +00:00
cmp r0, #0
beq _021E5EEC
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
pop {r3, pc}
_021E5EEC:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
pop {r3, pc}
thumb_func_end ov95_021E5EDC
thumb_func_start ov95_021E5EF0
2021-06-27 18:48:56 +00:00
ov95_021E5EF0: ; 0x021E5EF0
2021-06-27 19:11:25 +00:00
ldr r3, _021E5EF4 ; =sub_0201AB0C
2021-06-26 18:30:29 +00:00
bx r3
.align 2, 0
2021-06-27 19:11:25 +00:00
_021E5EF4: .word sub_0201AB0C
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E5EF0
thumb_func_start ov95_021E5EF8
2021-06-27 18:48:56 +00:00
ov95_021E5EF8: ; 0x021E5EF8
2021-06-26 18:30:29 +00:00
push {r4, r5, r6, lr}
sub sp, #0x38
2021-06-27 18:48:56 +00:00
ldr r3, _021E5FDC ; =0x021E7594
2021-06-26 18:30:29 +00:00
add r2, sp, #0x18
2021-06-27 18:48:56 +00:00
add r6, r0, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
2021-06-26 18:30:29 +00:00
ldr r5, [r6, #0x50]
ldr r4, [r6, #0x54]
ldr r6, [r6, #8]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
str r0, [sp]
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
ldr r0, _021E5FE0 ; =0x00004E20
add r1, r5, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
ldr r3, [sp, #0x18]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r2, #0x73
2021-06-27 19:11:25 +00:00
bl sub_0200D4A4
2021-06-27 18:48:56 +00:00
mov r0, #0x73
2021-06-26 18:30:29 +00:00
str r0, [sp]
ldr r0, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
mov r1, #2
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
str r0, [sp, #0xc]
str r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
ldr r0, _021E5FE4 ; =0x00004E21
add r2, r4, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
add r0, r6, #0
add r3, r5, #0
2021-06-27 19:11:25 +00:00
bl sub_0200D644
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
ldr r0, _021E5FE8 ; =0x00004E22
add r1, r5, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
ldr r3, [sp, #0x20]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r2, #0x73
2021-06-27 19:11:25 +00:00
bl sub_0200D6D4
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
ldr r0, _021E5FEC ; =0x00004E23
add r1, r5, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
ldr r3, [sp, #0x24]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r2, #0x73
2021-06-27 19:11:25 +00:00
bl sub_0200D704
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
str r0, [sp]
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
ldr r0, _021E5FF0 ; =0x000061A8
add r1, r5, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r2, #0x73
mov r3, #7
2021-06-27 19:11:25 +00:00
bl sub_0200D4A4
2021-06-27 18:48:56 +00:00
mov r0, #0x73
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0xa
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
str r0, [sp, #0xc]
str r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
ldr r0, _021E5FF4 ; =0x000061A9
mov r1, #2
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
add r0, r6, #0
add r2, r4, #0
add r3, r5, #0
2021-06-27 19:11:25 +00:00
bl sub_0200D644
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
ldr r0, _021E5FF8 ; =0x000061AA
add r1, r5, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r2, #0x73
mov r3, #6
2021-06-27 19:11:25 +00:00
bl sub_0200D6D4
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
ldr r0, _021E5FFC ; =0x000061AB
add r1, r5, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r2, #0x73
mov r3, #5
2021-06-27 19:11:25 +00:00
bl sub_0200D704
2021-06-26 18:30:29 +00:00
add sp, #0x38
pop {r4, r5, r6, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E5FDC: .word 0x021E7594
_021E5FE0: .word 0x00004E20
_021E5FE4: .word 0x00004E21
_021E5FE8: .word 0x00004E22
_021E5FEC: .word 0x00004E23
_021E5FF0: .word 0x000061A8
_021E5FF4: .word 0x000061A9
_021E5FF8: .word 0x000061AA
_021E5FFC: .word 0x000061AB
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E5EF8
thumb_func_start ov95_021E6000
2021-06-27 18:48:56 +00:00
ov95_021E6000: ; 0x021E6000
2021-06-26 18:30:29 +00:00
push {r3, r4, lr}
sub sp, #0x34
2021-06-27 18:48:56 +00:00
add r4, r0, #0
mov r1, #0x80
2021-06-26 18:30:29 +00:00
add r0, sp, #0
strh r1, [r0]
2021-06-27 18:48:56 +00:00
mov r1, #0x78
2021-06-26 18:30:29 +00:00
strh r1, [r0, #2]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 18:30:29 +00:00
strh r1, [r0, #4]
strh r1, [r0, #6]
2021-06-27 18:48:56 +00:00
mov r0, #1
mov r2, #2
2021-06-26 18:30:29 +00:00
str r1, [sp, #8]
str r1, [sp, #0xc]
str r1, [sp, #0x30]
2021-06-27 18:48:56 +00:00
ldr r1, _021E609C ; =0x00004E20
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
add r0, r1, #1
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x18]
2021-06-27 18:48:56 +00:00
add r0, r1, #2
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
add r0, r1, #3
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x20]
2021-06-27 18:48:56 +00:00
sub r0, r2, #3
2021-06-26 18:30:29 +00:00
str r2, [sp, #0x2c]
str r1, [sp, #0x14]
str r0, [sp, #0x24]
str r0, [sp, #0x28]
ldr r0, [r4, #0x54]
ldr r1, [r4, #0x50]
add r2, sp, #0
2021-06-27 19:11:25 +00:00
bl sub_0200D734
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x74]
2021-06-27 19:11:25 +00:00
bl sub_0200DC18
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x74]
2021-06-27 18:48:56 +00:00
mov r1, #2
2021-06-27 19:11:25 +00:00
bl sub_0200DF98
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-26 18:30:29 +00:00
add r0, sp, #0
2021-06-27 18:48:56 +00:00
add r1, r2, #0
2021-06-26 18:30:29 +00:00
strh r2, [r0]
2021-06-27 18:48:56 +00:00
sub r1, #0x10
2021-06-26 18:30:29 +00:00
strh r1, [r0, #2]
2021-06-27 18:48:56 +00:00
ldr r1, _021E60A0 ; =0x000061A8
2021-06-26 18:30:29 +00:00
str r2, [sp, #0x2c]
2021-06-27 18:48:56 +00:00
add r0, r1, #1
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x18]
2021-06-27 18:48:56 +00:00
add r0, r1, #2
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
add r0, r1, #3
2021-06-26 18:30:29 +00:00
str r1, [sp, #0x14]
str r0, [sp, #0x20]
ldr r0, [r4, #0x54]
ldr r1, [r4, #0x50]
add r2, sp, #0
2021-06-27 19:11:25 +00:00
bl sub_0200D734
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x78]
2021-06-27 19:11:25 +00:00
bl sub_0200DC18
2021-06-27 18:48:56 +00:00
mov r1, #0x90
2021-06-26 18:30:29 +00:00
add r0, sp, #0
strh r1, [r0, #2]
ldr r0, [r4, #0x54]
ldr r1, [r4, #0x50]
add r2, sp, #0
2021-06-27 19:11:25 +00:00
bl sub_0200D734
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x7c]
2021-06-27 19:11:25 +00:00
bl sub_0200DC18
2021-06-26 18:30:29 +00:00
add sp, #0x34
pop {r3, r4, pc}
nop
2021-06-27 18:48:56 +00:00
_021E609C: .word 0x00004E20
_021E60A0: .word 0x000061A8
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E6000
thumb_func_start ov95_021E60A4
2021-06-27 18:48:56 +00:00
ov95_021E60A4: ; 0x021E60A4
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r0, #0x80
add r3, r1, #0
2021-06-26 18:30:29 +00:00
ldr r1, [r0]
2021-06-27 18:48:56 +00:00
add r4, #0x80
2021-06-26 18:30:29 +00:00
cmp r1, #0
bne _021E6132
ldr r0, [r4, #4]
cmp r0, #0xa
blt _021E60C6
2021-06-27 18:48:56 +00:00
add r0, r1, #1
2021-06-26 18:30:29 +00:00
str r0, [r4]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [r4, #4]
b _021E6132
_021E60C6:
2021-06-27 18:48:56 +00:00
mov r1, #0x14
add r7, r3, #0
mul r7, r1
ldr r1, _021E6140 ; =0x021E75DC
ldr r2, _021E6144 ; =0x021E762C
lsl r6, r0, #1
add r1, r1, r7
add r2, r2, r7
2021-06-26 18:30:29 +00:00
ldrsh r1, [r6, r1]
ldrsh r2, [r6, r2]
2021-06-27 18:48:56 +00:00
lsl r6, r0, #2
mov r0, #0x28
mul r0, r3
ldr r3, _021E6148 ; =0x021E76D0
mov r5, #0
add r3, r3, r0
2021-06-26 18:30:29 +00:00
ldr r7, [r6, r3]
2021-06-27 18:48:56 +00:00
ldr r3, _021E614C ; =0x021E7770
add r0, r3, r0
2021-06-26 18:30:29 +00:00
ldr r6, [r6, r0]
cmp r1, #0xff
bne _021E60F6
2021-06-27 18:48:56 +00:00
add r1, r5, #0
add r5, r5, #1
2021-06-26 18:30:29 +00:00
_021E60F6:
cmp r2, #0xff
bne _021E60FE
2021-06-27 18:48:56 +00:00
mov r2, #0
add r5, r5, #1
2021-06-26 18:30:29 +00:00
_021E60FE:
ldr r0, [sp]
ldr r0, [r0, #0x74]
2021-06-27 19:11:25 +00:00
bl sub_0200DED0
2021-06-27 18:48:56 +00:00
mov r0, #0
add r1, r7, #0
2021-06-27 19:11:25 +00:00
bl sub_020F1C54
2021-06-26 18:30:29 +00:00
beq _021E611E
ldr r0, [sp]
2021-06-27 18:48:56 +00:00
add r1, r7, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r0, #0x74]
2021-06-27 18:48:56 +00:00
add r2, r6, #0
2021-06-27 19:11:25 +00:00
bl sub_0200E024
2021-06-26 18:30:29 +00:00
b _021E6120
_021E611E:
2021-06-27 18:48:56 +00:00
add r5, r5, #1
2021-06-26 18:30:29 +00:00
_021E6120:
cmp r5, #3
beq _021E612C
ldr r0, [r4, #4]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #4]
b _021E613A
_021E612C:
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4]
_021E6132:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [r4]
str r0, [r4, #4]
pop {r3, r4, r5, r6, r7, pc}
_021E613A:
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
pop {r3, r4, r5, r6, r7, pc}
nop
2021-06-27 18:48:56 +00:00
_021E6140: .word 0x021E75DC
_021E6144: .word 0x021E762C
_021E6148: .word 0x021E76D0
_021E614C: .word 0x021E7770
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E60A4
thumb_func_start ov95_021E6150
2021-06-27 18:48:56 +00:00
ov95_021E6150: ; 0x021E6150
2021-06-26 18:30:29 +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-26 18:30:29 +00:00
bl ov95_021E60A4
cmp r0, #0
bne _021E6162
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 18:30:29 +00:00
pop {r3, r4, r5, pc}
_021E6162:
cmp r4, #4
bne _021E6172
2021-06-27 18:48:56 +00:00
add r5, #0x84
2021-06-26 18:30:29 +00:00
ldr r0, [r5]
cmp r0, #6
bne _021E617E
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
pop {r3, r4, r5, pc}
_021E6172:
2021-06-27 18:48:56 +00:00
add r5, #0x84
2021-06-26 18:30:29 +00:00
ldr r0, [r5]
cmp r0, #6
bne _021E617E
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
pop {r3, r4, r5, pc}
_021E617E:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end ov95_021E6150
thumb_func_start ov95_021E6184
2021-06-27 18:48:56 +00:00
ov95_021E6184: ; 0x021E6184
2021-06-26 18:30:29 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x74]
2021-06-27 19:11:25 +00:00
bl sub_0200D9DC
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x78]
2021-06-27 19:11:25 +00:00
bl sub_0200D9DC
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x7c]
2021-06-27 19:11:25 +00:00
bl sub_0200D9DC
2021-06-26 18:30:29 +00:00
pop {r4, pc}
thumb_func_end ov95_021E6184
thumb_func_start ov95_021E619C
2021-06-27 18:48:56 +00:00
ov95_021E619C: ; 0x021E619C
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, r6, lr}
sub sp, #0x4c
2021-06-27 18:48:56 +00:00
add r4, r0, #0
mov r0, #0x46
2021-06-27 19:11:25 +00:00
bl sub_0200CF18
2021-06-26 18:30:29 +00:00
add r2, sp, #0x2c
2021-06-27 18:48:56 +00:00
ldr r5, _021E621C ; =0x021E7574
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x50]
2021-06-27 18:48:56 +00:00
ldmia r5!, {r0, r1}
add r3, r2, #0
stmia r2!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r5!, {r0, r1}
ldr r6, _021E6220 ; =0x021E7548
stmia r2!, {r0, r1}
2021-06-26 18:30:29 +00:00
add r5, sp, #0x18
2021-06-27 18:48:56 +00:00
ldmia r6!, {r0, r1}
add r2, r5, #0
stmia r5!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r5!, {r0, r1}
2021-06-26 18:30:29 +00:00
ldr r0, [r6]
2021-06-27 18:48:56 +00:00
add r1, r3, #0
2021-06-26 18:30:29 +00:00
str r0, [r5]
ldr r0, [r4, #0x50]
2021-06-27 18:48:56 +00:00
mov r3, #0x20
2021-06-27 19:11:25 +00:00
bl sub_0200CF70
2021-06-27 18:48:56 +00:00
ldr r3, _021E6224 ; =0x021E755C
2021-06-26 18:30:29 +00:00
add r2, sp, #0
2021-06-27 18:48:56 +00:00
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x50]
2021-06-27 19:11:25 +00:00
bl sub_0200CF38
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x4c]
ldr r0, [r4, #0x50]
ldr r1, [r4, #0x4c]
2021-06-27 18:48:56 +00:00
mov r2, #0xff
2021-06-27 19:11:25 +00:00
bl sub_0200CFF4
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E6206
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E6206:
ldr r0, [r4, #0x50]
ldr r1, [r4, #0x4c]
add r2, sp, #0
2021-06-27 19:11:25 +00:00
bl sub_0200D3F8
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E6218
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E6218:
add sp, #0x4c
pop {r3, r4, r5, r6, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E621C: .word 0x021E7574
_021E6220: .word 0x021E7548
_021E6224: .word 0x021E755C
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E619C
thumb_func_start ov95_021E6228
2021-06-27 18:48:56 +00:00
ov95_021E6228: ; 0x021E6228
2021-06-26 18:30:29 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x50]
ldr r1, [r4, #0x4c]
2021-06-27 19:11:25 +00:00
bl sub_0200D998
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x50]
2021-06-27 19:11:25 +00:00
bl sub_0200D108
2021-06-26 18:30:29 +00:00
pop {r4, pc}
thumb_func_end ov95_021E6228
thumb_func_start ov95_021E623C
2021-06-27 18:48:56 +00:00
ov95_021E623C: ; 0x021E623C
2021-06-26 18:30:29 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0x4c
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #5
2021-06-26 18:30:29 +00:00
ldr r4, [r0, #0xc]
2021-06-27 18:48:56 +00:00
mov r2, #0
add r0, r4, #0
2021-06-27 19:11:25 +00:00
bl sub_0206E540
2021-06-27 18:48:56 +00:00
add r6, r0, #0
add r0, r4, #0
mov r1, #2
2021-06-27 19:11:25 +00:00
bl sub_0207083C
2021-06-27 18:48:56 +00:00
add r7, r0, #0
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #0x4c
2021-06-26 18:30:29 +00:00
add r2, sp, #0x10
2021-06-27 19:11:25 +00:00
bl sub_0206EC40
2021-06-26 18:30:29 +00:00
add r0, sp, #0x3c
2021-06-27 18:48:56 +00:00
add r1, r4, #0
mov r2, #2
2021-06-27 19:11:25 +00:00
bl sub_02070124
2021-06-27 18:48:56 +00:00
lsl r2, r6, #0x10
2021-06-26 18:30:29 +00:00
ldr r0, [r5, #0x40]
add r1, sp, #0x14
2021-06-27 18:48:56 +00:00
lsr r2, r2, #0x10
mov r3, #1
2021-06-27 19:11:25 +00:00
bl sub_02072914
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 18:30:29 +00:00
str r1, [sp]
2021-06-27 18:48:56 +00:00
add r7, #0x60
2021-06-26 18:30:29 +00:00
str r1, [sp, #4]
add r0, sp, #0x14
str r0, [sp, #8]
str r1, [sp, #0xc]
ldr r0, [r5, #0x3c]
add r1, sp, #0x3c
2021-06-27 18:48:56 +00:00
mov r2, #0x80
add r3, r7, #0
2021-06-27 19:11:25 +00:00
bl sub_020085EC
2021-06-26 18:30:29 +00:00
str r0, [r5, #0x70]
add sp, #0x4c
pop {r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end ov95_021E623C
thumb_func_start ov95_021E62A4
2021-06-27 18:48:56 +00:00
ov95_021E62A4: ; 0x021E62A4
2021-06-26 18:30:29 +00:00
push {r4, r5, lr}
sub sp, #0xc
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #5
2021-06-26 18:30:29 +00:00
ldr r0, [r0, #0xc]
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-27 19:11:25 +00:00
bl sub_0206E540
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r5]
ldr r0, [r0, #0xc]
2021-06-27 19:11:25 +00:00
bl sub_0206FDFC
2021-06-26 18:30:29 +00:00
ldr r0, [r5, #0x70]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_02008550
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
lsl r3, r4, #0x10
2021-06-26 18:30:29 +00:00
ldr r0, [r5, #0x40]
ldr r1, [r5, #0x58]
ldr r2, [r5, #0x70]
2021-06-27 18:48:56 +00:00
lsr r3, r3, #0x10
2021-06-27 19:11:25 +00:00
bl sub_0207294C
2021-06-26 18:30:29 +00:00
add sp, #0xc
pop {r4, r5, pc}
thumb_func_end ov95_021E62A4
thumb_func_start ov95_021E62E4
2021-06-27 18:48:56 +00:00
ov95_021E62E4: ; 0x021E62E4
2021-06-27 19:11:25 +00:00
ldr r3, _021E62EC ; =sub_02008780
2021-06-26 18:30:29 +00:00
ldr r0, [r0, #0x70]
bx r3
nop
2021-06-27 19:11:25 +00:00
_021E62EC: .word sub_02008780
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E62E4
thumb_func_start ov95_021E62F0
2021-06-27 18:48:56 +00:00
ov95_021E62F0: ; 0x021E62F0
2021-06-27 19:11:25 +00:00
ldr r3, _021E62FC ; =sub_020087A4
2021-06-27 18:48:56 +00:00
add r2, r1, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r0, #0x70]
2021-06-27 18:48:56 +00:00
mov r1, #6
2021-06-26 18:30:29 +00:00
bx r3
nop
2021-06-27 19:11:25 +00:00
_021E62FC: .word sub_020087A4
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E62F0
thumb_func_start ov95_021E6300
2021-06-27 18:48:56 +00:00
ov95_021E6300: ; 0x021E6300
2021-06-26 18:30:29 +00:00
push {r3, lr}
ldr r1, [r0, #0x5c]
2021-06-27 18:48:56 +00:00
lsl r2, r1, #2
ldr r1, _021E6310 ; =0x021E7810
2021-06-26 18:30:29 +00:00
ldr r1, [r1, r2]
2021-06-27 18:48:56 +00:00
bl r1
2021-06-26 18:30:29 +00:00
pop {r3, pc}
nop
2021-06-27 18:48:56 +00:00
_021E6310: .word 0x021E7810
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E6300
thumb_func_start ov95_021E6314
2021-06-27 18:48:56 +00:00
ov95_021E6314: ; 0x021E6314
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, r6, lr}
sub sp, #0x1c
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
ldr r1, [r4, #0x60]
2021-06-27 18:48:56 +00:00
mov r5, #1
2021-06-26 18:30:29 +00:00
cmp r1, #0x11
bls _021E6324
b _021E6562
_021E6324:
2021-06-27 18:48:56 +00:00
add r2, r1, r1
2021-06-26 18:30:29 +00:00
add r2, pc
ldrh r2, [r2, #6]
2021-06-27 18:48:56 +00:00
lsl r2, r2, #0x10
asr r2, r2, #0x10
2021-06-26 18:30:29 +00:00
add pc, r2
2021-06-27 18:48:56 +00:00
_021E6330: ; jump table
.short _021E6354 - _021E6330 - 2 ; case 0
.short _021E63D2 - _021E6330 - 2 ; case 1
.short _021E63DC - _021E6330 - 2 ; case 2
.short _021E63FA - _021E6330 - 2 ; case 3
.short _021E640A - _021E6330 - 2 ; case 4
.short _021E641C - _021E6330 - 2 ; case 5
.short _021E642C - _021E6330 - 2 ; case 6
.short _021E643C - _021E6330 - 2 ; case 7
.short _021E648C - _021E6330 - 2 ; case 8
.short _021E64A0 - _021E6330 - 2 ; case 9
.short _021E64AE - _021E6330 - 2 ; case 10
.short _021E64D4 - _021E6330 - 2 ; case 11
.short _021E650E - _021E6330 - 2 ; case 12
.short _021E653C - _021E6330 - 2 ; case 13
.short _021E6542 - _021E6330 - 2 ; case 14
.short _021E6548 - _021E6330 - 2 ; case 15
.short _021E6552 - _021E6330 - 2 ; case 16
.short _021E6562 - _021E6330 - 2 ; case 17
2021-06-26 18:30:29 +00:00
_021E6354:
ldr r0, [r4, #4]
ldr r1, [r4, #8]
bl ov95_021E5D44
ldr r0, [r4, #4]
ldr r1, [r4, #8]
ldr r2, [r4, #0x14]
bl ov95_021E5BBC
2021-06-27 18:48:56 +00:00
mov r0, #0x13
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x1b
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0x3b
2021-06-26 18:30:29 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
mov r0, #0xe
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
add r1, r4, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #4]
2021-06-27 18:48:56 +00:00
add r1, #0x18
add r2, r5, #0
mov r3, #2
2021-06-26 18:30:29 +00:00
bl ov95_021E5C44
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E5EF8
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E6000
2021-06-27 18:48:56 +00:00
ldr r3, _021E6594 ; =0x0000520A
2021-06-26 18:30:29 +00:00
str r3, [sp]
2021-06-27 18:48:56 +00:00
add r0, r3, #1
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r0, #0x88
sub r2, r3, #2
2021-06-26 18:30:29 +00:00
ldr r0, [r0]
ldr r1, [r4, #8]
2021-06-27 18:48:56 +00:00
sub r3, r3, #1
2021-06-26 18:30:29 +00:00
bl ov95_021E70BC
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E623C
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r1, r5, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E62F0
2021-06-27 18:48:56 +00:00
mov r0, #0x46
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x18]
add r0, sp, #0x14
bl ov95_021E5E90
str r0, [r4, #0x44]
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E6586
_021E63D2:
bl ov95_021E5B7C
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
_021E63DC:
2021-06-27 19:11:25 +00:00
bl sub_0200FB5C
2021-06-26 18:30:29 +00:00
cmp r0, #1
bne _021E6412
2021-06-27 19:11:25 +00:00
bl sub_02005FA0
2021-06-27 18:48:56 +00:00
ldr r1, _021E6598 ; =0x000003F3
mov r0, #0xd
mov r2, #1
2021-06-27 19:11:25 +00:00
bl sub_02004EC4
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E6586
_021E63FA:
bl ov95_021E67F0
cmp r0, #0
bne _021E6412
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E6586
_021E640A:
bl ov95_021E6838
cmp r0, #0
beq _021E6414
_021E6412:
b _021E6586
_021E6414:
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E6586
_021E641C:
bl ov95_021E68A8
cmp r0, #0
bne _021E651E
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E6586
_021E642C:
bl ov95_021E6900
cmp r0, #0
bne _021E651E
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E6586
_021E643C:
bl ov95_021E6964
cmp r0, #0
bne _021E651E
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E62A4
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
mov r1, #5
2021-06-26 18:30:29 +00:00
ldr r0, [r0, #0xc]
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-27 19:11:25 +00:00
bl sub_0206E540
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
mov r1, #0x70
2021-06-26 18:30:29 +00:00
ldr r0, [r0, #0xc]
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-27 19:11:25 +00:00
bl sub_0206E540
2021-06-27 18:48:56 +00:00
add r1, r0, #0
lsl r0, r6, #0x10
lsl r1, r1, #0x18
lsr r0, r0, #0x10
lsr r1, r1, #0x18
2021-06-27 19:11:25 +00:00
bl sub_02006218
2021-06-26 18:30:29 +00:00
ldr r2, [r4]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
ldr r2, [r2, #0xc]
ldr r3, [r4, #0x10]
2021-06-27 18:48:56 +00:00
add r0, #0x18
mov r1, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E5CAC
str r0, [r4, #0xc]
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E6586
_021E648C:
2021-06-27 19:11:25 +00:00
bl sub_02006360
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E6586
2021-06-27 18:48:56 +00:00
ldr r0, _021E659C ; =0x000004A4
2021-06-27 19:11:25 +00:00
bl sub_02006B24
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
_021E64A0:
2021-06-27 19:11:25 +00:00
bl sub_02006BCC
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E6586
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
_021E64AE:
ldr r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-27 19:11:25 +00:00
bl sub_02020094
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E6586
ldr r2, [r4]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
ldr r2, [r2, #0xc]
ldr r3, [r4, #0x10]
2021-06-27 18:48:56 +00:00
add r0, #0x18
mov r1, #1
2021-06-26 18:30:29 +00:00
bl ov95_021E5CAC
str r0, [r4, #0xc]
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
_021E64D4:
ldr r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-27 19:11:25 +00:00
bl sub_02020094
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E6586
ldr r0, [r4, #0x58]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_02017068
2021-06-26 18:30:29 +00:00
cmp r0, #1
bne _021E6586
ldr r0, [r4, #0x70]
2021-06-27 19:11:25 +00:00
bl sub_020085DC
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E6586
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r0, #0x88
2021-06-26 18:30:29 +00:00
ldr r0, [r0]
2021-06-27 18:48:56 +00:00
mov r1, #2
mov r2, #3
2021-06-26 18:30:29 +00:00
bl ov95_021E7208
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E6586
_021E650E:
2021-06-27 18:48:56 +00:00
add r0, #0x88
2021-06-26 18:30:29 +00:00
ldr r0, [r0]
bl ov95_021E7258
cmp r0, #1
beq _021E6520
cmp r0, #2
beq _021E652E
_021E651E:
b _021E6586
_021E6520:
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
add r1, r5, #0
2021-06-26 18:30:29 +00:00
str r1, [r0, #4]
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E6586
_021E652E:
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 18:30:29 +00:00
str r1, [r0, #4]
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E6586
_021E653C:
2021-06-27 18:48:56 +00:00
add r0, r1, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E6586
_021E6542:
2021-06-27 18:48:56 +00:00
add r0, r1, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E6586
_021E6548:
bl ov95_021E5B9C
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
_021E6552:
2021-06-27 19:11:25 +00:00
bl sub_0200FB5C
2021-06-26 18:30:29 +00:00
cmp r0, #1
bne _021E6586
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E6586
_021E6562:
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E62E4
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E6184
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r0, #0x18
2021-06-26 18:30:29 +00:00
bl ov95_021E5D34
ldr r0, [r4, #0x44]
ldr r0, [r0, #0xc]
bl ov95_021E5E40
ldr r0, [r4, #0x44]
bl ov95_021E5EF0
2021-06-27 18:48:56 +00:00
mov r5, #0
2021-06-26 18:30:29 +00:00
_021E6586:
ldr r0, [r4, #0x50]
2021-06-27 19:11:25 +00:00
bl sub_0200D020
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-26 18:30:29 +00:00
add sp, #0x1c
pop {r3, r4, r5, r6, pc}
nop
2021-06-27 18:48:56 +00:00
_021E6594: .word 0x0000520A
_021E6598: .word 0x000003F3
_021E659C: .word 0x000004A4
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E6314
thumb_func_start ov95_021E65A0
2021-06-27 18:48:56 +00:00
ov95_021E65A0: ; 0x021E65A0
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, r6, lr}
sub sp, #0x1c
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
ldr r1, [r4, #0x60]
2021-06-27 18:48:56 +00:00
mov r5, #1
2021-06-26 18:30:29 +00:00
cmp r1, #0x11
bls _021E65B0
b _021E67B4
_021E65B0:
2021-06-27 18:48:56 +00:00
add r2, r1, r1
2021-06-26 18:30:29 +00:00
add r2, pc
ldrh r2, [r2, #6]
2021-06-27 18:48:56 +00:00
lsl r2, r2, #0x10
asr r2, r2, #0x10
2021-06-26 18:30:29 +00:00
add pc, r2
2021-06-27 18:48:56 +00:00
_021E65BC: ; jump table
.short _021E65E0 - _021E65BC - 2 ; case 0
.short _021E6666 - _021E65BC - 2 ; case 1
.short _021E6670 - _021E65BC - 2 ; case 2
.short _021E668A - _021E65BC - 2 ; case 3
.short _021E66D8 - _021E65BC - 2 ; case 4
.short _021E66D8 - _021E65BC - 2 ; case 5
.short _021E66D8 - _021E65BC - 2 ; case 6
.short _021E66D8 - _021E65BC - 2 ; case 7
.short _021E66DE - _021E65BC - 2 ; case 8
.short _021E66F2 - _021E65BC - 2 ; case 9
.short _021E6700 - _021E65BC - 2 ; case 10
.short _021E6726 - _021E65BC - 2 ; case 11
.short _021E6760 - _021E65BC - 2 ; case 12
.short _021E678E - _021E65BC - 2 ; case 13
.short _021E6794 - _021E65BC - 2 ; case 14
.short _021E679A - _021E65BC - 2 ; case 15
.short _021E67A4 - _021E65BC - 2 ; case 16
.short _021E67B4 - _021E65BC - 2 ; case 17
2021-06-26 18:30:29 +00:00
_021E65E0:
ldr r0, [r4, #4]
ldr r1, [r4, #8]
bl ov95_021E5D44
ldr r0, [r4, #4]
ldr r1, [r4, #8]
ldr r2, [r4, #0x14]
bl ov95_021E5BBC
2021-06-27 18:48:56 +00:00
mov r0, #0x13
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x1b
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0x3b
2021-06-26 18:30:29 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
mov r0, #0xe
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
add r1, r4, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #4]
2021-06-27 18:48:56 +00:00
add r1, #0x18
add r2, r5, #0
mov r3, #2
2021-06-26 18:30:29 +00:00
bl ov95_021E5C44
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E5EF8
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E6000
ldr r0, [r4, #0x74]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_0200DCE8
2021-06-27 18:48:56 +00:00
ldr r3, _021E67E4 ; =0x0000520A
2021-06-26 18:30:29 +00:00
str r3, [sp]
2021-06-27 18:48:56 +00:00
add r0, r3, #1
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r0, #0x88
sub r2, r3, #2
2021-06-26 18:30:29 +00:00
ldr r0, [r0]
ldr r1, [r4, #8]
2021-06-27 18:48:56 +00:00
sub r3, r3, #1
2021-06-26 18:30:29 +00:00
bl ov95_021E70BC
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E623C
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r1, r5, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E62F0
2021-06-27 18:48:56 +00:00
mov r0, #0x46
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x18]
add r0, sp, #0x14
bl ov95_021E5E90
str r0, [r4, #0x44]
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E67D8
_021E6666:
bl ov95_021E5B7C
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
_021E6670:
2021-06-27 19:11:25 +00:00
bl sub_0200FB5C
2021-06-26 18:30:29 +00:00
cmp r0, #1
bne _021E6770
2021-06-27 18:48:56 +00:00
ldr r1, _021E67E8 ; =0x000003F3
mov r0, #0xd
mov r2, #1
2021-06-27 19:11:25 +00:00
bl sub_02004EC4
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E67D8
_021E668A:
bl ov95_021E6B74
cmp r0, #0
bne _021E6770
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E62A4
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
mov r1, #5
2021-06-26 18:30:29 +00:00
ldr r0, [r0, #0xc]
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-27 19:11:25 +00:00
bl sub_0206E540
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
mov r1, #0x70
2021-06-26 18:30:29 +00:00
ldr r0, [r0, #0xc]
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-27 19:11:25 +00:00
bl sub_0206E540
2021-06-27 18:48:56 +00:00
add r1, r0, #0
lsl r0, r6, #0x10
lsl r1, r1, #0x18
lsr r0, r0, #0x10
lsr r1, r1, #0x18
2021-06-27 19:11:25 +00:00
bl sub_02006218
2021-06-26 18:30:29 +00:00
ldr r2, [r4]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
ldr r2, [r2, #0xc]
ldr r3, [r4, #0x10]
2021-06-27 18:48:56 +00:00
add r0, #0x18
mov r1, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E5CAC
str r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
mov r0, #8
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E67D8
_021E66D8:
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
b _021E67D8
_021E66DE:
2021-06-27 19:11:25 +00:00
bl sub_02006360
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E67D8
2021-06-27 18:48:56 +00:00
ldr r0, _021E67EC ; =0x000004A4
2021-06-27 19:11:25 +00:00
bl sub_02006B24
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
_021E66F2:
2021-06-27 19:11:25 +00:00
bl sub_02006BCC
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E67D8
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
_021E6700:
ldr r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-27 19:11:25 +00:00
bl sub_02020094
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E67D8
ldr r2, [r4]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
ldr r2, [r2, #0xc]
ldr r3, [r4, #0x10]
2021-06-27 18:48:56 +00:00
add r0, #0x18
mov r1, #1
2021-06-26 18:30:29 +00:00
bl ov95_021E5CAC
str r0, [r4, #0xc]
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
_021E6726:
ldr r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-27 19:11:25 +00:00
bl sub_02020094
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E67D8
ldr r0, [r4, #0x58]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_02017068
2021-06-26 18:30:29 +00:00
cmp r0, #1
bne _021E67D8
ldr r0, [r4, #0x70]
2021-06-27 19:11:25 +00:00
bl sub_020085DC
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E67D8
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r0, #0x88
2021-06-26 18:30:29 +00:00
ldr r0, [r0]
2021-06-27 18:48:56 +00:00
mov r1, #2
mov r2, #3
2021-06-26 18:30:29 +00:00
bl ov95_021E7208
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E67D8
_021E6760:
2021-06-27 18:48:56 +00:00
add r0, #0x88
2021-06-26 18:30:29 +00:00
ldr r0, [r0]
bl ov95_021E7258
cmp r0, #1
beq _021E6772
cmp r0, #2
beq _021E6780
_021E6770:
b _021E67D8
_021E6772:
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
add r1, r5, #0
2021-06-26 18:30:29 +00:00
str r1, [r0, #4]
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E67D8
_021E6780:
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 18:30:29 +00:00
str r1, [r0, #4]
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E67D8
_021E678E:
2021-06-27 18:48:56 +00:00
add r0, r1, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E67D8
_021E6794:
2021-06-27 18:48:56 +00:00
add r0, r1, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E67D8
_021E679A:
bl ov95_021E5B9C
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
_021E67A4:
2021-06-27 19:11:25 +00:00
bl sub_0200FB5C
2021-06-26 18:30:29 +00:00
cmp r0, #1
bne _021E67D8
ldr r0, [r4, #0x60]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x60]
b _021E67D8
_021E67B4:
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E62E4
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E6184
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r0, #0x18
2021-06-26 18:30:29 +00:00
bl ov95_021E5D34
ldr r0, [r4, #0x44]
ldr r0, [r0, #0xc]
bl ov95_021E5E40
ldr r0, [r4, #0x44]
bl ov95_021E5EF0
2021-06-27 18:48:56 +00:00
mov r5, #0
2021-06-26 18:30:29 +00:00
_021E67D8:
ldr r0, [r4, #0x50]
2021-06-27 19:11:25 +00:00
bl sub_0200D020
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-26 18:30:29 +00:00
add sp, #0x1c
pop {r3, r4, r5, r6, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E67E4: .word 0x0000520A
_021E67E8: .word 0x000003F3
_021E67EC: .word 0x000004A4
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E65A0
thumb_func_start ov95_021E67F0
2021-06-27 18:48:56 +00:00
ov95_021E67F0: ; 0x021E67F0
2021-06-26 18:30:29 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x68]
cmp r0, #0
beq _021E6800
cmp r0, #1
beq _021E6810
b _021E6828
_021E6800:
ldr r0, [r4, #0x74]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_0200DCC0
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E6830
_021E6810:
ldr r0, [r4, #0x64]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x64]
cmp r0, #0x19
blt _021E6830
2021-06-27 18:48:56 +00:00
ldr r0, _021E6834 ; =0x00000714
2021-06-27 19:11:25 +00:00
bl sub_0200604C
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E6830
_021E6828:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
str r0, [r4, #0x64]
pop {r4, pc}
_021E6830:
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
pop {r4, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E6834: .word 0x00000714
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E67F0
thumb_func_start ov95_021E6838
2021-06-27 18:48:56 +00:00
ov95_021E6838: ; 0x021E6838
2021-06-26 18:30:29 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
ldr r1, [r4, #0x68]
cmp r1, #0
beq _021E6848
cmp r1, #1
beq _021E6862
b _021E6886
_021E6848:
ldr r0, [r4, #0x44]
bl ov95_021E5EDC
cmp r0, #1
beq _021E68A0
ldr r0, [r4, #0x74]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_0200DCC0
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E68A0
_021E6862:
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E6150
cmp r0, #2
bne _021E68A0
2021-06-27 18:48:56 +00:00
ldr r0, _021E68A4 ; =0x00000714
2021-06-27 19:11:25 +00:00
bl sub_0200604C
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x74]
2021-06-27 18:48:56 +00:00
mov r1, #2
2021-06-27 19:11:25 +00:00
bl sub_0200DCC0
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x64]
b _021E68A0
_021E6886:
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E6150
cmp r0, #2
bne _021E68A0
ldr r0, [r4, #0x74]
2021-06-27 18:48:56 +00:00
mov r1, #2
2021-06-27 19:11:25 +00:00
bl sub_0200DCC0
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
str r0, [r4, #0x64]
pop {r4, pc}
_021E68A0:
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
pop {r4, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E68A4: .word 0x00000714
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E6838
thumb_func_start ov95_021E68A8
2021-06-27 18:48:56 +00:00
ov95_021E68A8: ; 0x021E68A8
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
ldr r1, [r4, #0x68]
cmp r1, #0
beq _021E68B8
cmp r1, #1
beq _021E68BE
b _021E68F0
_021E68B8:
2021-06-27 18:48:56 +00:00
add r0, r1, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E68F8
_021E68BE:
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-26 18:30:29 +00:00
bl ov95_021E6150
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-26 18:30:29 +00:00
cmp r5, #1
bne _021E68E0
2021-06-27 18:48:56 +00:00
ldr r0, _021E68FC ; =0x00000714
2021-06-27 19:11:25 +00:00
bl sub_0200604C
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x74]
2021-06-27 18:48:56 +00:00
mov r1, #3
2021-06-27 19:11:25 +00:00
bl sub_0200DCC0
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x44]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E5EC0
_021E68E0:
cmp r5, #2
bne _021E68F8
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x64]
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E68F8
_021E68F0:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
str r0, [r4, #0x64]
pop {r3, r4, r5, pc}
_021E68F8:
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
pop {r3, r4, r5, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E68FC: .word 0x00000714
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E68A8
thumb_func_start ov95_021E6900
2021-06-27 18:48:56 +00:00
ov95_021E6900: ; 0x021E6900
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
ldr r1, [r4, #0x68]
cmp r1, #0
beq _021E6910
cmp r1, #1
beq _021E6922
b _021E6954
_021E6910:
ldr r0, [r4, #0x44]
bl ov95_021E5EDC
cmp r0, #1
beq _021E695C
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E695C
_021E6922:
2021-06-27 18:48:56 +00:00
mov r1, #2
2021-06-26 18:30:29 +00:00
bl ov95_021E6150
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-26 18:30:29 +00:00
cmp r5, #1
bne _021E6944
2021-06-27 18:48:56 +00:00
ldr r0, _021E6960 ; =0x00000714
2021-06-27 19:11:25 +00:00
bl sub_0200604C
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x74]
2021-06-27 18:48:56 +00:00
mov r1, #4
2021-06-27 19:11:25 +00:00
bl sub_0200DCC0
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x44]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-26 18:30:29 +00:00
bl ov95_021E5EC0
_021E6944:
cmp r5, #2
bne _021E695C
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x64]
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E695C
_021E6954:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
str r0, [r4, #0x64]
pop {r3, r4, r5, pc}
_021E695C:
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
pop {r3, r4, r5, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E6960: .word 0x00000714
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E6900
thumb_func_start ov95_021E6964
2021-06-27 18:48:56 +00:00
ov95_021E6964: ; 0x021E6964
2021-06-26 18:30:29 +00:00
push {r4, r5, r6, lr}
sub sp, #0x10
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
ldr r1, [r4, #0x68]
cmp r1, #5
bls _021E6972
b _021E6B50
_021E6972:
2021-06-27 18:48:56 +00:00
add r1, r1, r1
2021-06-26 18:30:29 +00:00
add r1, pc
ldrh r1, [r1, #6]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x10
asr r1, r1, #0x10
2021-06-26 18:30:29 +00:00
add pc, r1
2021-06-27 18:48:56 +00:00
_021E697E: ; jump table
.short _021E698A - _021E697E - 2 ; case 0
.short _021E69AC - _021E697E - 2 ; case 1
.short _021E69EE - _021E697E - 2 ; case 2
.short _021E6A56 - _021E697E - 2 ; case 3
.short _021E6AE8 - _021E697E - 2 ; case 4
.short _021E6B34 - _021E697E - 2 ; case 5
2021-06-26 18:30:29 +00:00
_021E698A:
ldr r0, [r4, #0x44]
bl ov95_021E5EDC
cmp r0, #1
beq _021E69F8
ldr r0, [r4, #0x74]
2021-06-27 18:48:56 +00:00
mov r1, #4
2021-06-27 19:11:25 +00:00
bl sub_0200DCC0
2021-06-27 18:48:56 +00:00
mov r0, #2
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_02022C60
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E6B64
_021E69AC:
2021-06-27 18:48:56 +00:00
mov r1, #3
2021-06-26 18:30:29 +00:00
bl ov95_021E6150
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-26 18:30:29 +00:00
cmp r5, #1
bne _021E69D6
ldr r0, [r4, #0x74]
2021-06-27 18:48:56 +00:00
mov r1, #5
2021-06-27 19:11:25 +00:00
bl sub_0200DCC0
2021-06-27 18:48:56 +00:00
ldr r0, _021E6B6C ; =0x00000707
2021-06-27 19:11:25 +00:00
bl sub_0200604C
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x44]
2021-06-27 18:48:56 +00:00
mov r1, #2
2021-06-26 18:30:29 +00:00
bl ov95_021E5EC0
ldr r0, [r4, #0x44]
2021-06-27 18:48:56 +00:00
mov r1, #3
2021-06-26 18:30:29 +00:00
bl ov95_021E5EC0
_021E69D6:
cmp r5, #2
bne _021E69F8
ldr r0, [r4, #0x74]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_0200DCE8
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x64]
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E6B64
_021E69EE:
ldr r0, [r4, #0x64]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x64]
cmp r0, #0xa
bge _021E69FA
_021E69F8:
b _021E6B64
_021E69FA:
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-26 18:30:29 +00:00
str r3, [r4, #0x64]
str r3, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x10
ldr r2, _021E6B70 ; =0x0000FFFF
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
str r2, [sp, #8]
ldr r0, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_02003370
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x78]
ldr r0, [r0]
2021-06-27 19:11:25 +00:00
bl sub_02024B34
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_02022808
2021-06-27 18:48:56 +00:00
add r5, r0, #0
mov r3, #0
mov r6, #1
2021-06-26 18:30:29 +00:00
str r3, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x10
ldr r2, _021E6B70 ; =0x0000FFFF
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
str r2, [sp, #8]
2021-06-27 18:48:56 +00:00
lsl r6, r5
eor r2, r6
lsl r2, r2, #0x10
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r1, #4
lsr r2, r2, #0x10
2021-06-27 19:11:25 +00:00
bl sub_02003370
2021-06-27 18:48:56 +00:00
ldr r0, _021E6B70 ; =0x0000FFFF
mov r1, #0
2021-06-26 18:30:29 +00:00
str r0, [sp]
ldr r0, [r4, #0x70]
2021-06-27 18:48:56 +00:00
mov r2, #0x10
add r3, r1, #0
2021-06-27 19:11:25 +00:00
bl sub_020090B4
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E6B64
_021E6A56:
add r1, sp, #0xc
ldr r0, [r4, #0x78]
2021-06-27 18:48:56 +00:00
mov r5, #0
add r1, #2
2021-06-26 18:30:29 +00:00
add r2, sp, #0xc
2021-06-27 19:11:25 +00:00
bl sub_0200DE44
2021-06-26 18:30:29 +00:00
add r0, sp, #0xc
2021-06-27 18:48:56 +00:00
add r1, r5, #0
2021-06-26 18:30:29 +00:00
ldrsh r2, [r0, r1]
2021-06-27 18:48:56 +00:00
add r0, r1, #0
sub r0, #0x30
2021-06-26 18:30:29 +00:00
cmp r2, r0
ble _021E6A7C
ldr r0, [r4, #0x78]
2021-06-27 18:48:56 +00:00
sub r2, r1, #4
2021-06-27 19:11:25 +00:00
bl sub_0200DED0
2021-06-26 18:30:29 +00:00
b _021E6A7E
_021E6A7C:
2021-06-27 18:48:56 +00:00
add r5, r5, #1
2021-06-26 18:30:29 +00:00
_021E6A7E:
add r1, sp, #0xc
ldr r0, [r4, #0x7c]
2021-06-27 18:48:56 +00:00
add r1, #2
2021-06-26 18:30:29 +00:00
add r2, sp, #0xc
2021-06-27 19:11:25 +00:00
bl sub_0200DE44
2021-06-26 18:30:29 +00:00
add r0, sp, #0xc
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 18:30:29 +00:00
ldrsh r0, [r0, r1]
cmp r0, #0xc0
bge _021E6A9E
ldr r0, [r4, #0x7c]
2021-06-27 18:48:56 +00:00
mov r2, #4
2021-06-27 19:11:25 +00:00
bl sub_0200DED0
2021-06-26 18:30:29 +00:00
b _021E6AA0
_021E6A9E:
2021-06-27 18:48:56 +00:00
add r5, r5, #1
2021-06-26 18:30:29 +00:00
_021E6AA0:
ldr r0, [r4, #8]
2021-06-27 19:11:25 +00:00
bl sub_02003B44
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E6B64
cmp r5, #2
bne _021E6B64
ldr r0, [r4, #0x70]
2021-06-27 19:11:25 +00:00
bl sub_02009138
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E6B64
2021-06-27 18:48:56 +00:00
mov r0, #2
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_02022C60
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E62F0
ldr r0, [r4, #0x74]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_0200DCE8
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x78]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_0200DCE8
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x7c]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_0200DCE8
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E6B64
_021E6AE8:
ldr r0, [r4, #0x64]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x64]
cmp r0, #0x19
blt _021E6B64
2021-06-27 18:48:56 +00:00
mov r2, #0
ldr r0, _021E6B70 ; =0x0000FFFF
2021-06-26 18:30:29 +00:00
str r2, [r4, #0x64]
str r0, [sp]
ldr r0, [r4, #0x70]
2021-06-27 18:48:56 +00:00
mov r1, #0x10
add r3, r2, #0
2021-06-27 19:11:25 +00:00
bl sub_020090B4
2021-06-27 18:48:56 +00:00
mov r0, #0x10
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r3, #0
ldr r2, _021E6B70 ; =0x0000FFFF
2021-06-26 18:30:29 +00:00
str r3, [sp, #4]
str r2, [sp, #8]
ldr r0, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_02003370
2021-06-27 18:48:56 +00:00
mov r0, #0x10
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r3, #0
ldr r2, _021E6B70 ; =0x0000FFFF
2021-06-26 18:30:29 +00:00
str r3, [sp, #4]
str r2, [sp, #8]
ldr r0, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r1, #4
2021-06-27 19:11:25 +00:00
bl sub_02003370
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E6B64
_021E6B34:
ldr r0, [r4, #8]
2021-06-27 19:11:25 +00:00
bl sub_02003B44
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E6B64
ldr r0, [r4, #0x70]
2021-06-27 19:11:25 +00:00
bl sub_02009138
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E6B64
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E6B64
_021E6B50:
ldr r0, [r4, #0x44]
bl ov95_021E5EDC
cmp r0, #1
beq _021E6B64
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
add sp, #0x10
str r0, [r4, #0x64]
pop {r4, r5, r6, pc}
_021E6B64:
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
add sp, #0x10
pop {r4, r5, r6, pc}
nop
2021-06-27 18:48:56 +00:00
_021E6B6C: .word 0x00000707
_021E6B70: .word 0x0000FFFF
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E6964
thumb_func_start ov95_021E6B74
2021-06-27 18:48:56 +00:00
ov95_021E6B74: ; 0x021E6B74
2021-06-26 18:30:29 +00:00
push {r4, r5, r6, lr}
sub sp, #0x10
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x68]
cmp r0, #4
bls _021E6B82
b _021E6D50
_021E6B82:
2021-06-27 18:48:56 +00:00
add r0, r0, r0
2021-06-26 18:30:29 +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-26 18:30:29 +00:00
add pc, r0
2021-06-27 18:48:56 +00:00
_021E6B8E: ; jump table
.short _021E6B98 - _021E6B8E - 2 ; case 0
.short _021E6BC8 - _021E6B8E - 2 ; case 1
.short _021E6C56 - _021E6B8E - 2 ; case 2
.short _021E6CE8 - _021E6B8E - 2 ; case 3
.short _021E6D34 - _021E6B8E - 2 ; case 4
2021-06-26 18:30:29 +00:00
_021E6B98:
ldr r0, [r4, #0x44]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E5EC0
ldr r0, [r4, #0x44]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-26 18:30:29 +00:00
bl ov95_021E5EC0
ldr r0, [r4, #0x44]
2021-06-27 18:48:56 +00:00
mov r1, #2
2021-06-26 18:30:29 +00:00
bl ov95_021E5EC0
ldr r0, [r4, #0x44]
2021-06-27 18:48:56 +00:00
mov r1, #3
2021-06-26 18:30:29 +00:00
bl ov95_021E5EC0
2021-06-27 18:48:56 +00:00
mov r0, #2
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_02022C60
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E6D5A
_021E6BC8:
ldr r0, [r4, #0x64]
cmp r0, #0x19
beq _021E6BD8
cmp r0, #0x50
beq _021E6BE0
cmp r0, #0x8e
beq _021E6BE8
b _021E6BEE
_021E6BD8:
2021-06-27 18:48:56 +00:00
ldr r0, _021E6D60 ; =0x00000806
2021-06-27 19:11:25 +00:00
bl sub_0200604C
2021-06-26 18:30:29 +00:00
b _021E6BEE
_021E6BE0:
2021-06-27 18:48:56 +00:00
ldr r0, _021E6D64 ; =0x000007AA
2021-06-27 19:11:25 +00:00
bl sub_0200604C
2021-06-26 18:30:29 +00:00
b _021E6BEE
_021E6BE8:
2021-06-27 18:48:56 +00:00
ldr r0, _021E6D68 ; =0x00000815
2021-06-27 19:11:25 +00:00
bl sub_0200604C
2021-06-26 18:30:29 +00:00
_021E6BEE:
ldr r0, [r4, #0x64]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x64]
cmp r0, #0xa0
bge _021E6BFA
b _021E6D5A
_021E6BFA:
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-26 18:30:29 +00:00
str r3, [r4, #0x64]
str r3, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x10
ldr r2, _021E6D6C ; =0x0000FFFF
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
str r2, [sp, #8]
ldr r0, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_02003370
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x78]
ldr r0, [r0]
2021-06-27 19:11:25 +00:00
bl sub_02024B34
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_02022808
2021-06-27 18:48:56 +00:00
add r5, r0, #0
mov r3, #0
mov r6, #1
2021-06-26 18:30:29 +00:00
str r3, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x10
ldr r2, _021E6D6C ; =0x0000FFFF
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
str r2, [sp, #8]
2021-06-27 18:48:56 +00:00
lsl r6, r5
eor r2, r6
lsl r2, r2, #0x10
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r1, #4
lsr r2, r2, #0x10
2021-06-27 19:11:25 +00:00
bl sub_02003370
2021-06-27 18:48:56 +00:00
ldr r0, _021E6D6C ; =0x0000FFFF
mov r1, #0
2021-06-26 18:30:29 +00:00
str r0, [sp]
ldr r0, [r4, #0x70]
2021-06-27 18:48:56 +00:00
mov r2, #0x10
add r3, r1, #0
2021-06-27 19:11:25 +00:00
bl sub_020090B4
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E6D5A
_021E6C56:
add r1, sp, #0xc
ldr r0, [r4, #0x78]
2021-06-27 18:48:56 +00:00
mov r5, #0
add r1, #2
2021-06-26 18:30:29 +00:00
add r2, sp, #0xc
2021-06-27 19:11:25 +00:00
bl sub_0200DE44
2021-06-26 18:30:29 +00:00
add r0, sp, #0xc
2021-06-27 18:48:56 +00:00
add r1, r5, #0
2021-06-26 18:30:29 +00:00
ldrsh r2, [r0, r1]
2021-06-27 18:48:56 +00:00
add r0, r1, #0
sub r0, #0x30
2021-06-26 18:30:29 +00:00
cmp r2, r0
ble _021E6C7C
ldr r0, [r4, #0x78]
2021-06-27 18:48:56 +00:00
sub r2, r1, #4
2021-06-27 19:11:25 +00:00
bl sub_0200DED0
2021-06-26 18:30:29 +00:00
b _021E6C7E
_021E6C7C:
2021-06-27 18:48:56 +00:00
add r5, r5, #1
2021-06-26 18:30:29 +00:00
_021E6C7E:
add r1, sp, #0xc
ldr r0, [r4, #0x7c]
2021-06-27 18:48:56 +00:00
add r1, #2
2021-06-26 18:30:29 +00:00
add r2, sp, #0xc
2021-06-27 19:11:25 +00:00
bl sub_0200DE44
2021-06-26 18:30:29 +00:00
add r0, sp, #0xc
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 18:30:29 +00:00
ldrsh r0, [r0, r1]
cmp r0, #0xc0
bge _021E6C9E
ldr r0, [r4, #0x7c]
2021-06-27 18:48:56 +00:00
mov r2, #4
2021-06-27 19:11:25 +00:00
bl sub_0200DED0
2021-06-26 18:30:29 +00:00
b _021E6CA0
_021E6C9E:
2021-06-27 18:48:56 +00:00
add r5, r5, #1
2021-06-26 18:30:29 +00:00
_021E6CA0:
ldr r0, [r4, #8]
2021-06-27 19:11:25 +00:00
bl sub_02003B44
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E6D5A
cmp r5, #2
bne _021E6D5A
ldr r0, [r4, #0x70]
2021-06-27 19:11:25 +00:00
bl sub_02009138
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E6D5A
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E62F0
2021-06-27 18:48:56 +00:00
mov r0, #2
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_02022C60
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x74]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_0200DCE8
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x78]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_0200DCE8
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x7c]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_0200DCE8
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E6D5A
_021E6CE8:
ldr r0, [r4, #0x64]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x64]
cmp r0, #0x19
blt _021E6D5A
2021-06-27 18:48:56 +00:00
mov r2, #0
ldr r0, _021E6D6C ; =0x0000FFFF
2021-06-26 18:30:29 +00:00
str r2, [r4, #0x64]
str r0, [sp]
ldr r0, [r4, #0x70]
2021-06-27 18:48:56 +00:00
mov r1, #0x10
add r3, r2, #0
2021-06-27 19:11:25 +00:00
bl sub_020090B4
2021-06-27 18:48:56 +00:00
mov r0, #0x10
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r3, #0
ldr r2, _021E6D6C ; =0x0000FFFF
2021-06-26 18:30:29 +00:00
str r3, [sp, #4]
str r2, [sp, #8]
ldr r0, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_02003370
2021-06-27 18:48:56 +00:00
mov r0, #0x10
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r3, #0
ldr r2, _021E6D6C ; =0x0000FFFF
2021-06-26 18:30:29 +00:00
str r3, [sp, #4]
str r2, [sp, #8]
ldr r0, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r1, #4
2021-06-27 19:11:25 +00:00
bl sub_02003370
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E6D5A
_021E6D34:
ldr r0, [r4, #8]
2021-06-27 19:11:25 +00:00
bl sub_02003B44
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E6D5A
ldr r0, [r4, #0x70]
2021-06-27 19:11:25 +00:00
bl sub_02009138
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E6D5A
ldr r0, [r4, #0x68]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
b _021E6D5A
_021E6D50:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x68]
add sp, #0x10
str r0, [r4, #0x64]
pop {r4, r5, r6, pc}
_021E6D5A:
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
add sp, #0x10
pop {r4, r5, r6, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E6D60: .word 0x00000806
_021E6D64: .word 0x000007AA
_021E6D68: .word 0x00000815
_021E6D6C: .word 0x0000FFFF
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E6B74
thumb_func_start ov95_021E6D70
2021-06-27 18:48:56 +00:00
ov95_021E6D70: ; 0x021E6D70
2021-06-26 18:30:29 +00:00
push {r4, r5, lr}
sub sp, #0xc
2021-06-27 18:48:56 +00:00
add r5, r0, #0
mov r0, #0
add r1, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_0201A0FC
bl sub_0201A108
2021-06-27 18:48:56 +00:00
mov r2, #1
mov r0, #3
mov r1, #0x46
lsl r2, r2, #0x12
2021-06-27 19:11:25 +00:00
bl sub_0201A910
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #0x8c
mov r2, #0x46
2021-06-27 19:11:25 +00:00
bl sub_02007280
2021-06-27 18:48:56 +00:00
mov r1, #0
mov r2, #0x8c
add r4, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_020E5B44
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-27 19:11:25 +00:00
bl sub_020072A4
2021-06-26 18:30:29 +00:00
str r0, [r4]
ldr r0, [r0, #0x10]
2021-06-27 19:11:25 +00:00
bl sub_0202AD3C
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x10]
ldr r0, [r4]
ldr r0, [r0, #0x10]
2021-06-27 19:11:25 +00:00
bl sub_0202ADCC
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x14]
bl ov95_021E5954
str r0, [r4, #0x38]
2021-06-27 18:48:56 +00:00
mov r0, #0x46
2021-06-27 19:11:25 +00:00
bl sub_02007FD4
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x3c]
2021-06-27 18:48:56 +00:00
mov r0, #0xb4
mov r1, #0x46
2021-06-27 19:11:25 +00:00
bl sub_02007688
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x40]
2021-06-27 18:48:56 +00:00
mov r0, #0x46
2021-06-27 19:11:25 +00:00
bl sub_0201AC88
2021-06-26 18:30:29 +00:00
str r0, [r4, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0x40
mov r1, #0x46
2021-06-27 19:11:25 +00:00
bl sub_0202055C
2021-06-27 18:48:56 +00:00
mov r0, #0x46
mov r1, #1
mov r2, #0
2021-06-27 19:11:25 +00:00
bl sub_02016EDC
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x58]
2021-06-27 18:48:56 +00:00
mov r0, #0x46
2021-06-27 19:11:25 +00:00
bl sub_020030E8
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-26 18:30:29 +00:00
str r0, [r4, #8]
2021-06-27 19:11:25 +00:00
bl sub_02003B50
2021-06-27 18:48:56 +00:00
mov r2, #2
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r1, #0
lsl r2, r2, #8
mov r3, #0x46
2021-06-27 19:11:25 +00:00
bl sub_02003120
2021-06-27 18:48:56 +00:00
mov r1, #2
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #8]
2021-06-27 18:48:56 +00:00
lsl r2, r1, #8
mov r3, #0x46
2021-06-27 19:11:25 +00:00
bl sub_02003120
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #8]
2021-06-27 18:48:56 +00:00
lsl r2, r1, #9
mov r3, #0x46
2021-06-27 19:11:25 +00:00
bl sub_02003120
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x20
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0xf0
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
ldr r0, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r1, #0x10
mov r2, #9
mov r3, #0x46
2021-06-27 19:11:25 +00:00
bl sub_02003200
2021-06-26 18:30:29 +00:00
bl ov95_021E5900
bl ov95_021E5928
bl ov95_021E59F8
ldr r0, [r4, #4]
bl ov95_021E5A38
ldr r0, [r4, #4]
bl ov95_021E6FC4
2021-06-27 18:48:56 +00:00
add r0, r4, #4
2021-06-26 18:30:29 +00:00
bl ov95_021E619C
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-27 19:11:25 +00:00
bl sub_02002B8C
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #4]
ldr r1, [r4, #0x54]
ldr r2, [r4, #0x50]
2021-06-27 18:48:56 +00:00
mov r3, #0x46
2021-06-26 18:30:29 +00:00
bl ov95_021E7020
2021-06-27 18:48:56 +00:00
add r1, r4, #0
add r1, #0x88
2021-06-26 18:30:29 +00:00
str r0, [r1]
2021-06-27 19:11:25 +00:00
bl sub_02005FA0
2021-06-27 18:48:56 +00:00
ldr r0, _021E6E84 ; =ov95_021E5B24
add r1, r4, #0
2021-06-27 19:11:25 +00:00
bl sub_0201A0FC
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
add sp, #0xc
pop {r4, r5, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E6E84: .word ov95_021E5B24
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E6D70
thumb_func_start ov95_021E6E88
2021-06-27 18:48:56 +00:00
ov95_021E6E88: ; 0x021E6E88
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r4, r1, #0
2021-06-27 19:11:25 +00:00
bl sub_02007290
2021-06-26 18:30:29 +00:00
ldr r1, [r4]
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-26 18:30:29 +00:00
cmp r1, #0
beq _021E6E9E
cmp r1, #1
beq _021E6EDC
b _021E6EF8
_021E6E9E:
2021-06-27 19:11:25 +00:00
bl sub_0200FB5C
2021-06-26 18:30:29 +00:00
cmp r0, #1
bne _021E6EAC
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4]
_021E6EAC:
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #5
2021-06-26 18:30:29 +00:00
ldr r0, [r0, #0xc]
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-27 19:11:25 +00:00
bl sub_0206E540
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r1, r5, #0
lsl r2, r4, #0x10
2021-06-26 18:30:29 +00:00
ldr r0, [r5, #0x40]
2021-06-27 18:48:56 +00:00
add r1, #0x6c
lsr r2, r2, #0x10
mov r3, #1
2021-06-27 19:11:25 +00:00
bl sub_020729A4
2021-06-27 18:48:56 +00:00
ldr r0, _021E6F08 ; =0x000001EA
2021-06-26 18:30:29 +00:00
cmp r4, r0
bne _021E6ED6
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r5, #0x5c]
b _021E6F04
_021E6ED6:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [r5, #0x5c]
b _021E6F04
_021E6EDC:
bl ov95_021E6300
cmp r0, #0
bne _021E6EEC
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
str r0, [r4]
b _021E6F04
_021E6EEC:
ldr r0, [r5, #0x3c]
2021-06-27 19:11:25 +00:00
bl sub_02008120
2021-06-26 18:30:29 +00:00
bl ov95_021E5B58
b _021E6F04
_021E6EF8:
2021-06-27 19:11:25 +00:00
bl sub_0200FB5C
2021-06-26 18:30:29 +00:00
cmp r0, #1
bne _021E6F04
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
pop {r3, r4, r5, pc}
_021E6F04:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
pop {r3, r4, r5, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E6F08: .word 0x000001EA
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E6E88
thumb_func_start ov95_021E6F0C
2021-06-27 18:48:56 +00:00
ov95_021E6F0C: ; 0x021E6F0C
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_02007290
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r0, #0x88
2021-06-26 18:30:29 +00:00
ldr r0, [r0]
bl ov95_021E7078
ldr r0, [r4, #0x38]
2021-06-27 19:11:25 +00:00
bl sub_02026F54
2021-06-27 18:48:56 +00:00
mov r0, #1
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_02022C60
2021-06-27 18:48:56 +00:00
mov r0, #2
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_02022C60
2021-06-27 18:48:56 +00:00
mov r0, #3
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_02022C60
2021-06-27 18:48:56 +00:00
mov r0, #4
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_02022CC8
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_02003150
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r1, #2
2021-06-27 19:11:25 +00:00
bl sub_02003150
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_02003150
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #8]
2021-06-27 19:11:25 +00:00
bl sub_02003104
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-27 19:11:25 +00:00
bl sub_02002B8C
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #4]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_0201BB4C
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #4]
2021-06-27 18:48:56 +00:00
mov r1, #2
2021-06-27 19:11:25 +00:00
bl sub_0201BB4C
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #4]
2021-06-27 18:48:56 +00:00
mov r1, #3
2021-06-27 19:11:25 +00:00
bl sub_0201BB4C
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #4]
2021-06-27 19:11:25 +00:00
bl sub_0201AB0C
bl sub_020205AC
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x3c]
2021-06-27 19:11:25 +00:00
bl sub_02008524
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x58]
2021-06-27 19:11:25 +00:00
bl sub_02016F2C
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x40]
2021-06-27 19:11:25 +00:00
bl sub_0200770C
2021-06-27 18:48:56 +00:00
add r0, r4, #4
2021-06-26 18:30:29 +00:00
bl ov95_021E6228
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-27 19:11:25 +00:00
bl sub_02007294
2021-06-27 18:48:56 +00:00
mov r0, #0x46
2021-06-27 19:11:25 +00:00
bl sub_0201A9C4
2021-06-27 18:48:56 +00:00
mov r0, #0
add r1, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_0201A0FC
bl sub_0201A108
bl sub_0203E354
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end ov95_021E6F0C
thumb_func_start ov95_021E6FC4
2021-06-27 18:48:56 +00:00
ov95_021E6FC4: ; 0x021E6FC4
2021-06-26 18:30:29 +00:00
push {r4, r5, lr}
sub sp, #0x54
2021-06-27 18:48:56 +00:00
ldr r5, _021E701C ; =0x021E7860
add r4, r0, #0
2021-06-26 18:30:29 +00:00
add r3, sp, #0
2021-06-27 18:48:56 +00:00
mov r2, #0xa
2021-06-26 18:30:29 +00:00
_021E6FD0:
2021-06-27 18:48:56 +00:00
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
2021-06-26 18:30:29 +00:00
bne _021E6FD0
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #4
2021-06-26 18:30:29 +00:00
str r0, [r3]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
add r2, sp, #0
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-27 19:11:25 +00:00
bl sub_0201B1E4
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #4
2021-06-27 19:11:25 +00:00
bl sub_0201CAE0
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #5
2021-06-26 18:30:29 +00:00
add r2, sp, #0x1c
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-27 19:11:25 +00:00
bl sub_0201B1E4
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #5
2021-06-27 19:11:25 +00:00
bl sub_0201CAE0
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #6
2021-06-26 18:30:29 +00:00
add r2, sp, #0x38
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-27 19:11:25 +00:00
bl sub_0201B1E4
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #6
2021-06-27 19:11:25 +00:00
bl sub_0201CAE0
2021-06-26 18:30:29 +00:00
add sp, #0x54
pop {r4, r5, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E701C: .word 0x021E7860
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E6FC4
thumb_func_start ov95_021E7020
2021-06-27 18:48:56 +00:00
ov95_021E7020: ; 0x021E7020
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r6, r1, #0
add r7, r2, #0
2021-06-26 18:30:29 +00:00
str r3, [sp]
cmp r5, #0
bne _021E7032
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E7032:
cmp r6, #0
bne _021E703A
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E703A:
cmp r7, #0
bne _021E7042
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E7042:
ldr r0, [sp]
2021-06-27 18:48:56 +00:00
mov r1, #0x3c
2021-06-27 19:11:25 +00:00
bl sub_0201AA8C
2021-06-27 18:48:56 +00:00
mov r1, #0
mov r2, #0x3c
add r4, r0, #0
2021-06-27 19:11:25 +00:00
bl sub_020D4994
2021-06-26 18:30:29 +00:00
ldr r0, [sp]
str r0, [r4]
str r5, [r4, #0xc]
str r6, [r4, #4]
str r7, [r4, #8]
2021-06-27 19:11:25 +00:00
bl sub_0200BD08
2021-06-26 18:30:29 +00:00
str r0, [r4, #0x14]
ldr r1, [r4]
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-27 19:11:25 +00:00
bl sub_02002CEC
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E72B8
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end ov95_021E7020
thumb_func_start ov95_021E7078
2021-06-27 18:48:56 +00:00
ov95_021E7078: ; 0x021E7078
2021-06-26 18:30:29 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
bne _021E7082
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E7082:
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E7308
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E7404
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-27 19:11:25 +00:00
bl sub_02002DB4
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x14]
2021-06-27 19:11:25 +00:00
bl sub_0200BDA0
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
mov r1, #4
2021-06-27 19:11:25 +00:00
bl sub_0201BB4C
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
mov r1, #5
2021-06-27 19:11:25 +00:00
bl sub_0201BB4C
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
mov r1, #6
2021-06-27 19:11:25 +00:00
bl sub_0201BB4C
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-27 19:11:25 +00:00
bl sub_0201AB0C
2021-06-26 18:30:29 +00:00
pop {r4, pc}
.align 2, 0
thumb_func_end ov95_021E7078
thumb_func_start ov95_021E70BC
2021-06-27 18:48:56 +00:00
ov95_021E70BC: ; 0x021E70BC
2021-06-26 18:30:29 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-26 18:30:29 +00:00
str r1, [sp, #0x10]
str r2, [sp, #0x14]
str r3, [sp, #0x18]
ldr r7, [r5, #4]
ldr r6, [r5, #8]
bne _021E70D2
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E70D2:
cmp r7, #0
bne _021E70DA
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E70DA:
cmp r6, #0
bne _021E70E2
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E70E2:
ldr r1, [r5]
2021-06-27 18:48:56 +00:00
mov r0, #0xef
2021-06-27 19:11:25 +00:00
bl sub_02007688
2021-06-27 18:48:56 +00:00
add r4, r0, #0
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
ldr r0, [sp, #0x18]
2021-06-27 18:48:56 +00:00
add r1, r6, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
add r0, r7, #0
add r2, r4, #0
mov r3, #0xb
2021-06-27 19:11:25 +00:00
bl sub_0200D5D4
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
ldr r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
add r1, r6, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
add r0, r7, #0
add r2, r4, #0
mov r3, #0xc
2021-06-27 19:11:25 +00:00
bl sub_0200D504
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp]
ldr r0, [sp, #0x30]
2021-06-27 18:48:56 +00:00
add r1, r6, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r7, #0
add r2, r4, #0
mov r3, #0xd
2021-06-27 19:11:25 +00:00
bl sub_0200D6EC
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp]
ldr r0, [sp, #0x34]
2021-06-27 18:48:56 +00:00
add r1, r6, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r7, #0
add r2, r4, #0
mov r3, #0xe
2021-06-27 19:11:25 +00:00
bl sub_0200D71C
2021-06-26 18:30:29 +00:00
ldr r0, [sp, #0x34]
ldr r1, [sp, #0x14]
str r0, [sp]
ldr r2, [sp, #0x18]
ldr r3, [sp, #0x30]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E7388
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0xa0
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-26 18:30:29 +00:00
ldr r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
mov r1, #0xef
mov r3, #0x46
2021-06-26 18:30:29 +00:00
str r2, [sp, #8]
2021-06-27 19:11:25 +00:00
bl sub_02003200
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x20
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0xf0
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
ldr r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
mov r1, #0x10
mov r2, #9
mov r3, #0x46
2021-06-27 19:11:25 +00:00
bl sub_02003200
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0x46
2021-06-26 18:30:29 +00:00
str r0, [sp, #0xc]
ldr r2, [r5, #0xc]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #1
mov r3, #4
2021-06-27 19:11:25 +00:00
bl sub_02007B44
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0x46
2021-06-26 18:30:29 +00:00
str r0, [sp, #0xc]
ldr r2, [r5, #0xc]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #9
mov r3, #4
2021-06-27 19:11:25 +00:00
bl sub_02007B68
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0x46
2021-06-26 18:30:29 +00:00
str r0, [sp, #0xc]
ldr r2, [r5, #0xc]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #1
mov r3, #5
2021-06-27 19:11:25 +00:00
bl sub_02007B44
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0x46
2021-06-26 18:30:29 +00:00
str r0, [sp, #0xc]
ldr r2, [r5, #0xc]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #0xa
mov r3, #5
2021-06-27 19:11:25 +00:00
bl sub_02007B68
2021-06-27 18:48:56 +00:00
mov r0, #5
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_0201BC28
2021-06-27 18:48:56 +00:00
mov r0, #6
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_0201BC28
2021-06-27 18:48:56 +00:00
mov r0, #0x10
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_02022C60
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-27 19:11:25 +00:00
bl sub_0200770C
2021-06-26 18:30:29 +00:00
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
thumb_func_end ov95_021E70BC
thumb_func_start ov95_021E7208
2021-06-27 18:48:56 +00:00
ov95_021E7208: ; 0x021E7208
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r3, r1, #0
add r1, r4, #0
add r5, r2, #0
add r1, #0x1c
add r2, r3, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E7328
2021-06-27 18:48:56 +00:00
add r1, r4, #0
add r0, r4, #0
add r1, #0x2c
add r2, r5, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E7328
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
strb r0, [r4, #0x18]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
strb r0, [r4, #0x19]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E7410
2021-06-27 18:48:56 +00:00
mov r0, #5
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_0201BC28
2021-06-27 18:48:56 +00:00
mov r0, #6
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_0201BC28
2021-06-27 18:48:56 +00:00
mov r0, #0x10
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_02022CC8
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x10]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_0200DCE8
2021-06-26 18:30:29 +00:00
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end ov95_021E7208
thumb_func_start ov95_021E7258
2021-06-27 18:48:56 +00:00
ov95_021E7258: ; 0x021E7258
2021-06-26 18:30:29 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
ldrb r1, [r4, #0x18]
cmp r1, #0
beq _021E7268
cmp r1, #1
beq _021E7278
b _021E72AE
_021E7268:
bl ov95_021E7450
cmp r0, #0
beq _021E72B2
ldrb r0, [r4, #0x18]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 18:30:29 +00:00
strb r0, [r4, #0x18]
b _021E72B2
_021E7278:
bl ov95_021E7514
cmp r0, #0
beq _021E72B2
ldrb r0, [r4, #0x19]
cmp r0, #0
bne _021E728A
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E728A:
2021-06-27 18:48:56 +00:00
mov r0, #5
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_0201BC28
2021-06-27 18:48:56 +00:00
mov r0, #6
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_0201BC28
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x10]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_0200DCE8
2021-06-27 18:48:56 +00:00
mov r0, #0x10
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_02022CC8
2021-06-26 18:30:29 +00:00
ldrb r0, [r4, #0x19]
pop {r4, pc}
_021E72AE:
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E72B2:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
pop {r4, pc}
.align 2, 0
thumb_func_end ov95_021E7258
thumb_func_start ov95_021E72B8
2021-06-27 18:48:56 +00:00
ov95_021E72B8: ; 0x021E72B8
2021-06-26 18:30:29 +00:00
push {r3, r4, lr}
sub sp, #0x14
2021-06-27 18:48:56 +00:00
add r4, r0, #0
mov r0, #8
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x18
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0xf
2021-06-26 18:30:29 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
mov r0, #0x50
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
add r1, r4, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
add r1, #0x1c
mov r2, #6
mov r3, #4
2021-06-27 19:11:25 +00:00
bl sub_0201D40C
2021-06-27 18:48:56 +00:00
mov r0, #0xe
2021-06-26 18:30:29 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x18
2021-06-26 18:30:29 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 18:30:29 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0xf
2021-06-26 18:30:29 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
mov r0, #0x80
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x10]
ldr r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
add r4, #0x2c
add r1, r4, #0
mov r2, #6
mov r3, #4
2021-06-27 19:11:25 +00:00
bl sub_0201D40C
2021-06-26 18:30:29 +00:00
add sp, #0x14
pop {r3, r4, pc}
.align 2, 0
thumb_func_end ov95_021E72B8
thumb_func_start ov95_021E7308
2021-06-27 18:48:56 +00:00
ov95_021E7308: ; 0x021E7308
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-26 18:30:29 +00:00
bne _021E7312
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E7312:
2021-06-27 18:48:56 +00:00
mov r4, #0
add r5, #0x1c
2021-06-26 18:30:29 +00:00
_021E7316:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-27 19:11:25 +00:00
bl sub_0201D520
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, #0x10
2021-06-26 18:30:29 +00:00
cmp r4, #2
blt _021E7316
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end ov95_021E7308
thumb_func_start ov95_021E7328
2021-06-27 18:48:56 +00:00
ov95_021E7328: ; 0x021E7328
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-26 18:30:29 +00:00
ldr r3, [r5]
2021-06-27 18:48:56 +00:00
add r4, r1, #0
add r6, r2, #0
mov r0, #0
mov r1, #0x1b
mov r2, #0xbb
2021-06-27 19:11:25 +00:00
bl sub_0200BAF8
2021-06-27 18:48:56 +00:00
add r7, r0, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r5, #0x14]
ldr r3, [r5]
2021-06-27 18:48:56 +00:00
add r1, r7, #0
add r2, r6, #0
2021-06-27 19:11:25 +00:00
bl sub_0200BC4C
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r0, r4, #0
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_0201D978
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-26 18:30:29 +00:00
str r3, [sp]
2021-06-27 18:48:56 +00:00
ldr r0, _021E7384 ; =0x00010200
2021-06-26 18:30:29 +00:00
str r3, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #4
add r2, r5, #0
2021-06-26 18:30:29 +00:00
str r3, [sp, #0xc]
2021-06-27 19:11:25 +00:00
bl sub_020200FC
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-27 19:11:25 +00:00
bl sub_0201D578
2021-06-27 18:48:56 +00:00
add r0, r7, #0
2021-06-27 19:11:25 +00:00
bl sub_0200BB44
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-27 19:11:25 +00:00
bl sub_02026380
2021-06-26 18:30:29 +00:00
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
2021-06-27 18:48:56 +00:00
_021E7384: .word 0x00010200
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E7328
thumb_func_start ov95_021E7388
2021-06-27 18:48:56 +00:00
ov95_021E7388: ; 0x021E7388
2021-06-26 18:30:29 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0x3c
2021-06-27 18:48:56 +00:00
ldr r4, _021E7400 ; =0x021E782C
2021-06-26 18:30:29 +00:00
str r2, [sp]
str r3, [sp, #4]
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r7, r1, #0
2021-06-26 18:30:29 +00:00
add r3, sp, #8
2021-06-27 18:48:56 +00:00
mov r2, #6
2021-06-26 18:30:29 +00:00
_021E739A:
2021-06-27 18:48:56 +00:00
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
2021-06-26 18:30:29 +00:00
bne _021E739A
ldr r0, [r4]
cmp r5, #0
str r0, [r3]
ldr r6, [r5, #4]
ldr r4, [r5, #8]
bne _021E73B2
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E73B2:
cmp r6, #0
bne _021E73BA
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E73BA:
cmp r4, #0
bne _021E73C2
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E73C2:
2021-06-27 18:48:56 +00:00
mov r1, #0x80
2021-06-26 18:30:29 +00:00
add r0, sp, #8
strh r1, [r0]
2021-06-27 18:48:56 +00:00
mov r1, #0x48
2021-06-26 18:30:29 +00:00
strh r1, [r0, #2]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-26 18:30:29 +00:00
strh r1, [r0, #6]
ldr r0, [sp]
2021-06-27 18:48:56 +00:00
add r1, r4, #0
2021-06-26 18:30:29 +00:00
str r0, [sp, #0x20]
ldr r0, [sp, #4]
add r2, sp, #8
str r0, [sp, #0x24]
ldr r0, [sp, #0x50]
str r7, [sp, #0x1c]
str r0, [sp, #0x28]
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-27 19:11:25 +00:00
bl sub_0200D734
2021-06-27 18:48:56 +00:00
add r4, r0, #0
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_0200DC78
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #0
2021-06-27 19:11:25 +00:00
bl sub_0200DCE8
2021-06-26 18:30:29 +00:00
str r4, [r5, #0x10]
add sp, #0x3c
pop {r4, r5, r6, r7, pc}
nop
2021-06-27 18:48:56 +00:00
_021E7400: .word 0x021E782C
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E7388
thumb_func_start ov95_021E7404
2021-06-27 18:48:56 +00:00
ov95_021E7404: ; 0x021E7404
2021-06-27 19:11:25 +00:00
ldr r3, _021E740C ; =sub_0200D9DC
2021-06-26 18:30:29 +00:00
ldr r0, [r0, #0x10]
bx r3
nop
2021-06-27 19:11:25 +00:00
_021E740C: .word sub_0200D9DC
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E7404
thumb_func_start ov95_021E7410
2021-06-27 18:48:56 +00:00
ov95_021E7410: ; 0x021E7410
2021-06-26 18:30:29 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r5, #0x10]
cmp r0, #0
bne _021E741E
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E741E:
ldrb r0, [r5, #0x19]
cmp r0, #1
beq _021E742A
cmp r0, #2
beq _021E742E
b _021E7432
_021E742A:
2021-06-27 18:48:56 +00:00
mov r4, #0
2021-06-26 18:30:29 +00:00
b _021E7436
_021E742E:
2021-06-27 18:48:56 +00:00
mov r4, #1
2021-06-26 18:30:29 +00:00
b _021E7436
_021E7432:
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E7436:
2021-06-27 18:48:56 +00:00
ldr r1, _021E7448 ; =0x021E7818
lsl r3, r4, #2
ldr r2, _021E744C ; =0x021E781A
2021-06-26 18:30:29 +00:00
ldrsh r1, [r1, r3]
ldrsh r2, [r2, r3]
ldr r0, [r5, #0x10]
2021-06-27 19:11:25 +00:00
bl sub_0200DDB8
2021-06-26 18:30:29 +00:00
pop {r3, r4, r5, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E7448: .word 0x021E7818
_021E744C: .word 0x021E781A
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E7410
thumb_func_start ov95_021E7450
2021-06-27 18:48:56 +00:00
ov95_021E7450: ; 0x021E7450
2021-06-26 18:30:29 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
ldr r0, _021E7508 ; =0x021E7820
mov r4, #0
2021-06-27 19:11:25 +00:00
bl sub_02025224
2021-06-27 18:48:56 +00:00
add r6, r0, #0
sub r0, r4, #1
2021-06-26 18:30:29 +00:00
cmp r6, r0
beq _021E7488
2021-06-27 18:48:56 +00:00
ldr r0, _021E750C ; =0x000005DC
2021-06-27 19:11:25 +00:00
bl sub_0200604C
2021-06-26 18:30:29 +00:00
cmp r6, #0
beq _021E7474
cmp r6, #1
beq _021E747A
b _021E7482
_021E7474:
2021-06-27 18:48:56 +00:00
mov r4, #1
2021-06-26 18:30:29 +00:00
strb r4, [r5, #0x19]
b _021E74EC
_021E747A:
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 18:30:29 +00:00
strb r0, [r5, #0x19]
2021-06-27 18:48:56 +00:00
mov r4, #1
2021-06-26 18:30:29 +00:00
b _021E74EC
_021E7482:
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
b _021E74EC
_021E7488:
2021-06-27 18:48:56 +00:00
ldr r0, _021E7510 ; =0x021D110C
mov r1, #0x40
2021-06-26 18:30:29 +00:00
ldr r0, [r0, #0x48]
tst r1, r0
beq _021E74AA
ldrb r0, [r5, #0x19]
cmp r0, #1
beq _021E74EC
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
strb r0, [r5, #0x19]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E7410
2021-06-27 18:48:56 +00:00
ldr r0, _021E750C ; =0x000005DC
2021-06-27 19:11:25 +00:00
bl sub_0200604C
2021-06-26 18:30:29 +00:00
b _021E74EC
_021E74AA:
2021-06-27 18:48:56 +00:00
mov r1, #0x80
2021-06-26 18:30:29 +00:00
tst r1, r0
beq _021E74C8
ldrb r0, [r5, #0x19]
cmp r0, #2
beq _021E74EC
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 18:30:29 +00:00
strb r0, [r5, #0x19]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E7410
2021-06-27 18:48:56 +00:00
ldr r0, _021E750C ; =0x000005DC
2021-06-27 19:11:25 +00:00
bl sub_0200604C
2021-06-26 18:30:29 +00:00
b _021E74EC
_021E74C8:
2021-06-27 18:48:56 +00:00
mov r1, #1
add r2, r0, #0
2021-06-26 18:30:29 +00:00
tst r2, r1
beq _021E74E2
ldrb r0, [r5, #0x19]
cmp r0, #0
bne _021E74DE
bl GF_AssertFail
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 18:30:29 +00:00
strb r0, [r5, #0x19]
_021E74DE:
2021-06-27 18:48:56 +00:00
mov r4, #1
2021-06-26 18:30:29 +00:00
b _021E74EC
_021E74E2:
2021-06-27 18:48:56 +00:00
mov r2, #2
2021-06-26 18:30:29 +00:00
tst r0, r2
beq _021E74EC
strb r2, [r5, #0x19]
2021-06-27 18:48:56 +00:00
add r4, r1, #0
2021-06-26 18:30:29 +00:00
_021E74EC:
cmp r4, #0
beq _021E7504
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-26 18:30:29 +00:00
bl ov95_021E7410
ldr r0, [r5, #0x10]
2021-06-27 18:48:56 +00:00
mov r1, #3
2021-06-27 19:11:25 +00:00
bl sub_0200DC4C
2021-06-27 18:48:56 +00:00
ldr r0, _021E750C ; =0x000005DC
2021-06-27 19:11:25 +00:00
bl sub_0200604C
2021-06-26 18:30:29 +00:00
_021E7504:
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 18:30:29 +00:00
pop {r4, r5, r6, pc}
.align 2, 0
2021-06-27 18:48:56 +00:00
_021E7508: .word 0x021E7820
_021E750C: .word 0x000005DC
_021E7510: .word 0x021D110C
2021-06-26 18:30:29 +00:00
thumb_func_end ov95_021E7450
thumb_func_start ov95_021E7514
2021-06-27 18:48:56 +00:00
ov95_021E7514: ; 0x021E7514
2021-06-26 18:30:29 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 18:30:29 +00:00
ldr r0, [r4, #0x10]
2021-06-27 19:11:25 +00:00
bl sub_0200DC64
2021-06-26 18:30:29 +00:00
cmp r0, #3
beq _021E7526
bl GF_AssertFail
2021-06-26 18:30:29 +00:00
_021E7526:
ldr r0, [r4, #0x10]
2021-06-27 19:11:25 +00:00
bl sub_0200DCA0
2021-06-26 18:30:29 +00:00
cmp r0, #0
bne _021E7534
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 18:30:29 +00:00
pop {r4, pc}
_021E7534:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 18:30:29 +00:00
pop {r4, pc}
thumb_func_end ov95_021E7514
.data
_021E7538:
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00
.byte 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
.byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x01, 0x00
.byte 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00
.byte 0xFE, 0xFF, 0x02, 0x00, 0x02, 0x00, 0xFE, 0xFF, 0xFE, 0xFF, 0x02, 0x00, 0x02, 0x00, 0xFE, 0xFF
.byte 0xFF, 0x00, 0xFF, 0x00, 0xFD, 0xFF, 0x03, 0x00, 0x03, 0x00, 0xFD, 0xFF, 0xFD, 0xFF, 0x03, 0x00
.byte 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0x03, 0x00, 0x03, 0x00, 0xFD, 0xFF
.byte 0xFD, 0xFF, 0x03, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00
.byte 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x03, 0x00, 0x01, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x06, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x80, 0x3F, 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, 0x80, 0x3F, 0x00, 0x00, 0x80, 0x3F
.byte 0xCD, 0xCC, 0x8C, 0x3F, 0xCD, 0xCC, 0x8C, 0x3F, 0xCD, 0xCC, 0x8C, 0x3F, 0xCD, 0xCC, 0x8C, 0x3F
.byte 0xCD, 0xCC, 0x8C, 0x3F, 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x80, 0x3F, 0xCD, 0xCC, 0x8C, 0x3F, 0xCD, 0xCC, 0x8C, 0x3F, 0x9A, 0x99, 0x99, 0x3F
.byte 0x9A, 0x99, 0x99, 0x3F, 0x9A, 0x99, 0x99, 0x3F, 0xCD, 0xCC, 0x8C, 0x3F, 0xCD, 0xCC, 0x8C, 0x3F
.byte 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F, 0xCD, 0xCC, 0x8C, 0x3F
.byte 0xCD, 0xCC, 0x8C, 0x3F, 0x9A, 0x99, 0x99, 0x3F, 0x9A, 0x99, 0x99, 0x3F, 0x9A, 0x99, 0x99, 0x3F
.byte 0xCD, 0xCC, 0x8C, 0x3F, 0xCD, 0xCC, 0x8C, 0x3F, 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x80, 0x3F, 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, 0x80, 0x3F, 0x00, 0x00, 0x80, 0x3F
.byte 0x66, 0x66, 0x66, 0x3F, 0x66, 0x66, 0x66, 0x3F, 0x66, 0x66, 0x66, 0x3F, 0x66, 0x66, 0x66, 0x3F
.byte 0x66, 0x66, 0x66, 0x3F, 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x80, 0x3F, 0x66, 0x66, 0x66, 0x3F, 0xCD, 0xCC, 0x4C, 0x3F
.byte 0x33, 0x33, 0x33, 0x3F, 0x33, 0x33, 0x33, 0x3F, 0xCD, 0xCC, 0x4C, 0x3F, 0x66, 0x66, 0x66, 0x3F
.byte 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x80, 0x3F
.byte 0x66, 0x66, 0x66, 0x3F, 0xCD, 0xCC, 0x4C, 0x3F, 0x33, 0x33, 0x33, 0x3F, 0x33, 0x33, 0x33, 0x3F
.byte 0xCD, 0xCC, 0x4C, 0x3F, 0x66, 0x66, 0x66, 0x3F, 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x80, 0x3F
.byte 0x15, 0x63, 0x1E, 0x02, 0xA1, 0x65, 0x1E, 0x02, 0x80, 0x00, 0x48, 0x00, 0x80, 0x00, 0x78, 0x00
.byte 0x32, 0x5C, 0x03, 0xFB, 0x63, 0x8C, 0x03, 0xFB, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x02, 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, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x0E, 0x01, 0x00, 0x02, 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, 0x0D, 0x00
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00
2021-06-27 18:48:56 +00:00
; 0x021E78B4