mirror of
https://github.com/pret/pokeheartgold.git
synced 2024-11-24 05:40:09 +00:00
57215 lines
1.1 MiB
57215 lines
1.1 MiB
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
|
|
.text
|
|
|
|
arm_func_start ov00_021E7B60
|
|
ov00_021E7B60: ; 0x021E7B60
|
|
ldr r1, _021E7B6C ; =_02216420
|
|
str r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_021E7B6C: .word _02216420
|
|
arm_func_end ov00_021E7B60
|
|
|
|
arm_func_start ov00_021E7B70
|
|
ov00_021E7B70: ; 0x021E7B70
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r2, _021E7C84 ; =_0221A694
|
|
mov r5, r0
|
|
ldr r0, [r2, #8]
|
|
mov r4, r1
|
|
cmp r0, #0
|
|
ldr r2, [r5, #0x40]
|
|
movne r0, #2
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r0, _021E7C88 ; =_02216464
|
|
ldr r1, _021E7C8C ; =0x000013F4
|
|
blx r2
|
|
ldr r1, _021E7C84 ; =_0221A694
|
|
cmp r0, #0
|
|
str r0, [r1, #8]
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r2, _021E7C8C ; =0x000013F4
|
|
mov r1, #0
|
|
bl sub_020D4994
|
|
ldr r3, _021E7C84 ; =_0221A694
|
|
mov r1, #0
|
|
ldr r0, [r3, #8]
|
|
mov r2, #0x1c4
|
|
add r0, r0, #0x1000
|
|
str r4, [r0, #0x314]
|
|
str r1, [r3]
|
|
ldr r0, [r3, #8]
|
|
add r0, r0, #8
|
|
add r0, r0, #0x1000
|
|
bl sub_020D4994
|
|
ldr r1, _021E7C84 ; =_0221A694
|
|
ldr r2, _021E7C90 ; =0x00004E84
|
|
ldr r0, [r1, #8]
|
|
mov r4, #4
|
|
add r0, r0, #0x1000
|
|
str r2, [r0, #8]
|
|
ldr lr, [r1, #8]
|
|
add r0, lr, #0x1cc
|
|
add ip, r0, #0x1000
|
|
_021E7C10:
|
|
ldmia r5!, {r0, r1, r2, r3}
|
|
stmia ip!, {r0, r1, r2, r3}
|
|
subs r4, r4, #1
|
|
bne _021E7C10
|
|
ldmia r5, {r0, r1}
|
|
stmia ip, {r0, r1}
|
|
add r0, lr, #0x1100
|
|
mov r2, #0
|
|
strh r2, [r0, #0xfe]
|
|
ldr r1, _021E7C84 ; =_0221A694
|
|
mov r0, #1
|
|
ldr r1, [r1, #8]
|
|
add r1, r1, #0x1000
|
|
strb r2, [r1, #0x20b]
|
|
bl ov00_021E7F38
|
|
ldr r2, _021E7C84 ; =_0221A694
|
|
ldr r1, [r2, #8]
|
|
add r1, r1, #0x1000
|
|
str r0, [r1, #4]
|
|
ldr r0, [r2, #8]
|
|
add r0, r0, #0x1000
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
mov r0, #0
|
|
str r0, [r2, #4]
|
|
bl ov00_021E7C94
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E7C84: .word _0221A694
|
|
_021E7C88: .word _02216464
|
|
_021E7C8C: .word 0x000013F4
|
|
_021E7C90: .word 0x00004E84
|
|
arm_func_end ov00_021E7B70
|
|
|
|
arm_func_start ov00_021E7C94
|
|
ov00_021E7C94: ; 0x021E7C94
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #8
|
|
ldr r0, _021E7D3C ; =_0221A694
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, #0x3d8
|
|
add r0, r0, #0x1000
|
|
bl sub_020D2600
|
|
ldr r1, _021E7D3C ; =_0221A694
|
|
mov r2, #0
|
|
ldr r0, [r1, #8]
|
|
add r0, r0, #0x1000
|
|
str r2, [r0, #0x3f0]
|
|
ldr r1, [r1, #8]
|
|
add r0, r1, #0x1000
|
|
ldr r0, [r0, #0x384]
|
|
cmp r0, #0
|
|
beq _021E7CF0
|
|
add r0, r1, #0x318
|
|
add r0, r0, #0x1000
|
|
bl sub_020D1E68
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, pc}
|
|
_021E7CF0:
|
|
ldr r0, _021E7D3C ; =_0221A694
|
|
mov r3, #0x1000
|
|
ldr lr, [r0, #8]
|
|
ldr r1, _021E7D40 ; =ov00_021E8048
|
|
add r0, lr, #0x318
|
|
ldr r2, _021E7D44 ; =_0221A69C
|
|
str r3, [sp]
|
|
mov ip, #0x10
|
|
add r0, r0, #0x1000
|
|
add r3, lr, #0x1000
|
|
str ip, [sp, #4]
|
|
bl sub_020D1AD4
|
|
ldr r0, _021E7D3C ; =_0221A694
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, #0x318
|
|
add r0, r0, #0x1000
|
|
bl sub_020D1F34
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021E7D3C: .word _0221A694
|
|
_021E7D40: .word ov00_021E8048
|
|
_021E7D44: .word _0221A69C
|
|
arm_func_end ov00_021E7C94
|
|
|
|
arm_func_start ov00_021E7D48
|
|
ov00_021E7D48: ; 0x021E7D48
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021E7DD0 ; =_0221A694
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
add r0, r0, #0x3d8
|
|
add r0, r0, #0x1000
|
|
bl sub_020D2618
|
|
ldr r1, _021E7DD0 ; =_0221A694
|
|
mov r2, #1
|
|
ldr r0, [r1, #8]
|
|
add r0, r0, #0x1000
|
|
str r2, [r0, #0x3f0]
|
|
ldr r0, [r1, #8]
|
|
add r0, r0, #0x3d8
|
|
add r0, r0, #0x1000
|
|
bl sub_020D269C
|
|
ldr r0, _021E7DD0 ; =_0221A694
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, #0x1000
|
|
ldr r0, [r0, #0x314]
|
|
cmp r0, #0
|
|
beq _021E7DA8
|
|
bl ov00_021E9210
|
|
_021E7DA8:
|
|
ldr r0, _021E7DD0 ; =_0221A694
|
|
ldr r1, [r0, #8]
|
|
add r0, r1, #0x1000
|
|
ldr r0, [r0, #0x384]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
add r0, r1, #0x318
|
|
add r0, r0, #0x1000
|
|
bl sub_020D1E38
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021E7DD0: .word _0221A694
|
|
arm_func_end ov00_021E7D48
|
|
|
|
arm_func_start ov00_021E7DD4
|
|
ov00_021E7DD4: ; 0x021E7DD4
|
|
stmdb sp!, {r4, lr}
|
|
ldr r0, _021E7E24 ; =_0221A694
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
add r1, r0, #0x1000
|
|
ldr r0, [r1, #0x314]
|
|
ldr r4, [r1, #0x210]
|
|
cmp r0, #0
|
|
beq _021E7E00
|
|
bl ov00_021E9754
|
|
_021E7E00:
|
|
ldr r1, _021E7E24 ; =_0221A694
|
|
ldr r0, _021E7E28 ; =_02216474
|
|
ldr r1, [r1, #8]
|
|
mov r2, #0
|
|
blx r4
|
|
ldr r0, _021E7E24 ; =_0221A694
|
|
mov r1, #0
|
|
str r1, [r0, #8]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021E7E24: .word _0221A694
|
|
_021E7E28: .word _02216474
|
|
arm_func_end ov00_021E7DD4
|
|
|
|
arm_func_start ov00_021E7E2C
|
|
ov00_021E7E2C: ; 0x021E7E2C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021E7E58 ; =_0221A694
|
|
ldr r1, [r0, #8]
|
|
add r0, r1, #0x1000
|
|
ldr r0, [r0, #0x384]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
add r0, r1, #0x318
|
|
add r0, r0, #0x1000
|
|
bl sub_020D1E38
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021E7E58: .word _0221A694
|
|
arm_func_end ov00_021E7E2C
|
|
|
|
arm_func_start ov00_021E7E5C
|
|
ov00_021E7E5C: ; 0x021E7E5C
|
|
stmdb sp!, {r4, lr}
|
|
ldr r0, _021E7EA4 ; =_0221A694
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #0
|
|
moveq r0, #0x16
|
|
ldmeqia sp!, {r4, pc}
|
|
add r0, r0, #0x3d8
|
|
add r0, r0, #0x1000
|
|
bl sub_020D2618
|
|
ldr r0, _021E7EA4 ; =_0221A694
|
|
ldr r1, [r0, #8]
|
|
add r0, r1, #0x3d8
|
|
add r1, r1, #0x1000
|
|
add r0, r0, #0x1000
|
|
ldr r4, [r1, #4]
|
|
bl sub_020D269C
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021E7EA4: .word _0221A694
|
|
arm_func_end ov00_021E7E5C
|
|
|
|
arm_func_start ov00_021E7EA8
|
|
ov00_021E7EA8: ; 0x021E7EA8
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _021E7F24 ; =_0221A694
|
|
mov r4, r0
|
|
ldr r1, [r1, #8]
|
|
cmp r1, #0
|
|
bne _021E7ECC
|
|
mov r1, #0
|
|
mov r2, #0x1c4
|
|
bl sub_020D4994
|
|
_021E7ECC:
|
|
ldr r0, _021E7F24 ; =_0221A694
|
|
mov r1, r4
|
|
ldr r0, [r0, #8]
|
|
mov r2, #0x1c4
|
|
add r0, r0, #8
|
|
add r0, r0, #0x1000
|
|
bl sub_020D4A50
|
|
ldr r1, [r4]
|
|
ldr r0, _021E7F28 ; =0x00004E20
|
|
cmp r1, r0
|
|
blt _021E7F04
|
|
ldr r0, _021E7F2C ; =0x00007530
|
|
cmp r1, r0
|
|
blt _021E7F0C
|
|
_021E7F04:
|
|
ldr r0, _021E7F30 ; =0x00005206
|
|
str r0, [r4]
|
|
_021E7F0C:
|
|
ldr r1, [r4]
|
|
ldr r0, _021E7F34 ; =0x00004E84
|
|
cmp r1, r0
|
|
rsbge r0, r1, #0
|
|
strge r0, [r4]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021E7F24: .word _0221A694
|
|
_021E7F28: .word 0x00004E20
|
|
_021E7F2C: .word 0x00007530
|
|
_021E7F30: .word 0x00005206
|
|
_021E7F34: .word 0x00004E84
|
|
arm_func_end ov00_021E7EA8
|
|
|
|
arm_func_start ov00_021E7F38
|
|
ov00_021E7F38: ; 0x021E7F38
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _021E8030 ; =_02216420
|
|
mov r4, r0
|
|
ldr r0, [r1]
|
|
ldr r1, _021E8034 ; =_02216484
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
ldrne r0, _021E8030 ; =_02216420
|
|
movne r1, #1
|
|
strne r1, [r0, #0x14]
|
|
ldr r0, _021E8038 ; =_0221A694
|
|
ldr r2, _021E8030 ; =_02216420
|
|
ldr r0, [r0, #8]
|
|
ldr r1, _021E803C ; =_02216420
|
|
add r0, r0, #0x1000
|
|
ldr r3, [r0, #0x20c]
|
|
str r3, [r2, #0xc]
|
|
ldr r3, [r0, #0x210]
|
|
str r3, [r2, #0x10]
|
|
ldr r0, [r0, #0x314]
|
|
bl ov00_021E8FA0
|
|
cmp r0, #0
|
|
movne r0, #4
|
|
ldmneia sp!, {r4, pc}
|
|
cmp r4, #1
|
|
bne _021E7FA8
|
|
ldr r0, _021E8040 ; =_0221A6A0
|
|
bl sub_0209E430
|
|
_021E7FA8:
|
|
ldr r0, _021E8038 ; =_0221A694
|
|
ldr r1, [r0, #8]
|
|
add r0, r1, #0x1000
|
|
add r2, r1, #0x1cc
|
|
ldr r0, [r0, #0x314]
|
|
add r1, r1, #0x1200
|
|
add r2, r2, #0x1000
|
|
bl ov00_021E879C
|
|
ldr r2, _021E8038 ; =_0221A694
|
|
ldr r1, [r2, #8]
|
|
add r1, r1, #0x1000
|
|
str r0, [r1, #4]
|
|
ldr r0, [r2, #8]
|
|
add r0, r0, #0x1000
|
|
ldr r1, [r0, #4]
|
|
cmp r1, #0
|
|
movne r0, #4
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, [r0, #0x314]
|
|
bl ov00_021E90BC
|
|
cmp r0, #0
|
|
movne r0, #4
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, _021E8044 ; =0x021E16A0
|
|
ldr r0, [r0, #4]
|
|
bl sub_020D2100
|
|
ldr r1, _021E8038 ; =_0221A694
|
|
ldr r2, [r1, #8]
|
|
sub r1, r0, #1
|
|
add r0, r2, #0x1000
|
|
ldr r0, [r0, #0x314]
|
|
bl ov00_021E9154
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021E8030: .word _02216420
|
|
_021E8034: .word _02216484
|
|
_021E8038: .word _0221A694
|
|
_021E803C: .word _02216420
|
|
_021E8040: .word _0221A6A0
|
|
_021E8044: .word 0x021E16A0
|
|
arm_func_end ov00_021E7F38
|
|
|
|
arm_func_start ov00_021E8048
|
|
ov00_021E8048: ; 0x021E8048
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov r8, #0
|
|
_021E8050:
|
|
ldr r0, _021E82EC ; =_0221A694
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, #0x1000
|
|
ldr r1, [r0, #0x314]
|
|
add r0, r1, #0x1000
|
|
ldr r0, [r0, #0xba4]
|
|
cmp r0, #0
|
|
beq _021E807C
|
|
add r0, r1, #0x338
|
|
add r0, r0, #0x1800
|
|
bl sub_020D1E38
|
|
_021E807C:
|
|
ldr r2, _021E82EC ; =_0221A694
|
|
ldr r0, [r2, #8]
|
|
add r0, r0, #0x1000
|
|
ldr r1, [r0, #0x314]
|
|
add r1, r1, #0x1000
|
|
ldr r1, [r1, #0x20]
|
|
cmp r1, #8
|
|
beq _021E8118
|
|
ldr r1, _021E82F0 ; =0x00004E84
|
|
str r1, [r0, #8]
|
|
ldr r0, [r2, #8]
|
|
add r0, r0, #0x1000
|
|
ldr r0, [r0, #0x314]
|
|
add r0, r0, #0x1000
|
|
ldr r0, [r0, #0x20]
|
|
cmp r0, #7
|
|
bne _021E80CC
|
|
mov r0, #0x14
|
|
bl ov00_021E8940
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021E80CC:
|
|
cmp r8, #2
|
|
ble _021E8108
|
|
cmp r0, #2
|
|
bne _021E80E8
|
|
mov r0, #9
|
|
bl ov00_021E8940
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021E80E8:
|
|
cmp r0, #3
|
|
bne _021E80FC
|
|
mov r0, #0xb
|
|
bl ov00_021E8940
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021E80FC:
|
|
mov r0, #0xd
|
|
bl ov00_021E8940
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021E8108:
|
|
mov r0, #1
|
|
add r8, r8, #1
|
|
str r0, [sp]
|
|
b _021E8188
|
|
_021E8118:
|
|
bl ov00_021E82FC
|
|
cmp r0, #0x10
|
|
beq _021E8140
|
|
cmp r0, #0x11
|
|
beq _021E8164
|
|
cmp r0, #0x15
|
|
bne _021E816C
|
|
mov r0, #0x15
|
|
bl ov00_021E8940
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021E8140:
|
|
cmp r8, #2
|
|
ble _021E8154
|
|
mov r0, #0x10
|
|
bl ov00_021E8940
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021E8154:
|
|
mov r0, #0
|
|
add r8, r8, #1
|
|
str r0, [sp]
|
|
b _021E8188
|
|
_021E8164:
|
|
bl ov00_021E8940
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021E816C:
|
|
cmp r8, #2
|
|
blt _021E817C
|
|
bl ov00_021E8940
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021E817C:
|
|
mov r0, #1
|
|
add r8, r8, #1
|
|
str r0, [sp]
|
|
_021E8188:
|
|
bl sub_020D34B0
|
|
mov sb, r0
|
|
mov sl, r1
|
|
bl sub_020D34B0
|
|
subs r2, r0, sb
|
|
sbc r0, r1, sl
|
|
mov r1, r0, lsl #6
|
|
orr r1, r1, r2, lsr #26
|
|
mov r0, r2, lsl #6
|
|
ldr r2, _021E82F4 ; =0x000082EA
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
cmp r1, #0
|
|
ldr r7, _021E82F8 ; =0x00001388
|
|
cmpeq r0, r7
|
|
bhs _021E8268
|
|
mov fp, #0
|
|
ldr r6, _021E82F4 ; =0x000082EA
|
|
ldr r5, _021E82EC ; =_0221A694
|
|
mov r4, fp
|
|
_021E81D8:
|
|
ldr r0, [r5, #8]
|
|
add r0, r0, #0x3d8
|
|
add r0, r0, #0x1000
|
|
bl sub_020D2618
|
|
ldr r2, [r5, #8]
|
|
add r0, r2, #0x1000
|
|
ldr r1, [r0, #0x3f0]
|
|
cmp r1, #1
|
|
bne _021E8224
|
|
ldr r2, _021E82F0 ; =0x00004E84
|
|
ldr r1, _021E82EC ; =_0221A694
|
|
str r2, [r0, #8]
|
|
ldr r0, [r1, #8]
|
|
add r0, r0, #0x3d8
|
|
add r0, r0, #0x1000
|
|
bl sub_020D269C
|
|
mov r0, #0x14
|
|
bl ov00_021E8940
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021E8224:
|
|
add r0, r2, #0x3d8
|
|
add r0, r0, #0x1000
|
|
bl sub_020D269C
|
|
mov r0, r7
|
|
bl sub_020D2108
|
|
bl sub_020D34B0
|
|
subs r2, r0, sb
|
|
sbc r0, r1, sl
|
|
mov r1, r0, lsl #6
|
|
orr r1, r1, r2, lsr #26
|
|
mov r0, r2, lsl #6
|
|
mov r2, r6
|
|
mov r3, fp
|
|
bl sub_020F2900
|
|
cmp r1, r4
|
|
cmpeq r0, r7
|
|
blo _021E81D8
|
|
_021E8268:
|
|
ldr r0, _021E82EC ; =_0221A694
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, #0x1000
|
|
ldr r0, [r0, #0x314]
|
|
bl ov00_021E9754
|
|
ldr r0, _021E82EC ; =_0221A694
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, #0x3d8
|
|
add r0, r0, #0x1000
|
|
bl sub_020D2618
|
|
ldr r0, [sp]
|
|
bl ov00_021E7F38
|
|
ldr r2, _021E82EC ; =_0221A694
|
|
ldr r1, [r2, #8]
|
|
add r1, r1, #0x1000
|
|
str r0, [r1, #4]
|
|
ldr r3, [r2, #8]
|
|
add r0, r3, #0x1000
|
|
ldr r1, [r0, #4]
|
|
cmp r1, #0
|
|
beq _021E82D8
|
|
ldr r1, _021E82F0 ; =0x00004E84
|
|
str r1, [r0, #8]
|
|
ldr r0, [r2, #8]
|
|
add r0, r0, #0x3d8
|
|
add r0, r0, #0x1000
|
|
bl sub_020D269C
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021E82D8:
|
|
add r0, r3, #0x3d8
|
|
add r0, r0, #0x1000
|
|
bl sub_020D269C
|
|
b _021E8050
|
|
arm_func_end ov00_021E8048
|
|
|
|
arm_func_start ov00_021E82E8
|
|
ov00_021E82E8: ; 0x021E82E8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021E82EC: .word _0221A694
|
|
_021E82F0: .word 0x00004E84
|
|
_021E82F4: .word 0x000082EA
|
|
_021E82F8: .word 0x00001388
|
|
arm_func_end ov00_021E82E8
|
|
|
|
arm_func_start ov00_021E82FC
|
|
ov00_021E82FC: ; 0x021E82FC
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r0, _021E84B4 ; =_0221A694
|
|
mov r1, #0
|
|
ldr r0, [r0, #8]
|
|
add r2, r0, #0x1000
|
|
ldr r0, [r2, #0x314]
|
|
ldr r4, [r2, #0x20c]
|
|
ldr r5, [r2, #0x210]
|
|
bl ov00_021E9F2C
|
|
cmp r0, #1
|
|
beq _021E8344
|
|
ldr r0, _021E84B4 ; =_0221A694
|
|
ldr r2, _021E84B8 ; =0x00004E84
|
|
ldr r1, [r0, #8]
|
|
mov r0, #0xe
|
|
add r1, r1, #0x1000
|
|
str r2, [r1, #8]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021E8344:
|
|
bl ov00_021E84D4
|
|
cmp r0, #0
|
|
movne r0, #0xe
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r0, _021E84B4 ; =_0221A694
|
|
ldr r1, _021E84B8 ; =0x00004E84
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, #0x1000
|
|
ldr r2, [r0, #8]
|
|
cmp r2, r1
|
|
bge _021E8404
|
|
sub r0, r1, #0x62
|
|
cmp r2, r0
|
|
bne _021E83FC
|
|
ldr r0, _021E84BC ; =_022164A4
|
|
ldr r1, _021E84C0 ; =0x0000071F
|
|
blx r4
|
|
movs r4, r0
|
|
bne _021E83AC
|
|
ldr r0, _021E84B4 ; =_0221A694
|
|
ldr r2, _021E84B8 ; =0x00004E84
|
|
ldr r1, [r0, #8]
|
|
mov r0, #2
|
|
add r1, r1, #0x1000
|
|
str r2, [r1, #8]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021E83AC:
|
|
add r1, r4, #0x1f
|
|
ldr r0, _021E84C4 ; =_0221A6A0
|
|
bic r1, r1, #0x1f
|
|
bl sub_0209F850
|
|
cmp r0, #1
|
|
mov r2, #0
|
|
beq _021E83F0
|
|
ldr r0, _021E84C8 ; =_022164B4
|
|
mov r1, r4
|
|
blx r5
|
|
ldr r0, _021E84B4 ; =_0221A694
|
|
ldr r2, _021E84B8 ; =0x00004E84
|
|
ldr r1, [r0, #8]
|
|
mov r0, #0xf
|
|
add r1, r1, #0x1000
|
|
str r2, [r1, #8]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021E83F0:
|
|
ldr r0, _021E84C8 ; =_022164B4
|
|
mov r1, r4
|
|
blx r5
|
|
_021E83FC:
|
|
mov r0, #0x15
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021E8404:
|
|
add r0, r1, #4
|
|
cmp r2, r0
|
|
beq _021E8420
|
|
add r0, r1, #8
|
|
cmp r2, r0
|
|
beq _021E8444
|
|
b _021E84AC
|
|
_021E8420:
|
|
ldr r0, _021E84C4 ; =_0221A6A0
|
|
bl sub_0209F8A0
|
|
ldr r0, _021E84B4 ; =_0221A694
|
|
ldr r2, _021E84CC ; =0x00004E88
|
|
ldr r1, [r0, #8]
|
|
mov r0, #0x10
|
|
add r1, r1, #0x1000
|
|
str r2, [r1, #8]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021E8444:
|
|
ldr r0, _021E84BC ; =_022164A4
|
|
mov r1, #0x700
|
|
blx r4
|
|
movs r4, r0
|
|
bne _021E8474
|
|
ldr r0, _021E84B4 ; =_0221A694
|
|
ldr r2, _021E84D0 ; =0x00004E8C
|
|
ldr r1, [r0, #8]
|
|
mov r0, #0x11
|
|
add r1, r1, #0x1000
|
|
str r2, [r1, #8]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021E8474:
|
|
add r0, r4, #0x1f
|
|
bic r0, r0, #0x1f
|
|
bl sub_0209F80C
|
|
ldr r0, _021E84C8 ; =_022164B4
|
|
mov r1, r4
|
|
mov r2, #0
|
|
blx r5
|
|
ldr r0, _021E84B4 ; =_0221A694
|
|
ldr r2, _021E84D0 ; =0x00004E8C
|
|
ldr r1, [r0, #8]
|
|
mov r0, #0x11
|
|
add r1, r1, #0x1000
|
|
str r2, [r1, #8]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021E84AC:
|
|
mov r0, #0x12
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E84B4: .word _0221A694
|
|
_021E84B8: .word 0x00004E84
|
|
_021E84BC: .word _022164A4
|
|
_021E84C0: .word 0x0000071F
|
|
_021E84C4: .word _0221A6A0
|
|
_021E84C8: .word _022164B4
|
|
_021E84CC: .word 0x00004E88
|
|
_021E84D0: .word 0x00004E8C
|
|
arm_func_end ov00_021E82FC
|
|
|
|
arm_func_start ov00_021E84D4
|
|
ov00_021E84D4: ; 0x021E84D4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r0, _021E876C ; =_0221A694
|
|
mov r1, #0
|
|
ldr r0, [r0, #8]
|
|
str r1, [sp]
|
|
add r0, r0, #0x1000
|
|
ldr r0, [r0, #0x314]
|
|
ldr r1, _021E8770 ; =_022164C0
|
|
bl ov00_021EA1CC
|
|
str r0, [sp]
|
|
cmp r0, #0
|
|
beq _021E8508
|
|
bl ov00_021EB5B0
|
|
_021E8508:
|
|
ldr r0, _021E876C ; =_0221A694
|
|
mov r2, #0
|
|
ldr r1, [r0, #8]
|
|
ldr r0, _021E8774 ; =0x021E58C0
|
|
str r2, [sp]
|
|
str r2, [r0]
|
|
add r0, r1, #0x1000
|
|
ldr r0, [r0, #0x314]
|
|
ldr r1, _021E8778 ; =_022164C8
|
|
bl ov00_021EA1CC
|
|
bl sub_020EB82C
|
|
ldr r1, _021E8774 ; =0x021E58C0
|
|
ldr r1, [r1]
|
|
cmp r1, #0x22
|
|
bne _021E8560
|
|
ldr r0, _021E876C ; =_0221A694
|
|
ldr r2, _021E877C ; =0x00004E85
|
|
ldr r1, [r0, #8]
|
|
mov r0, #0xc
|
|
add r1, r1, #0x1000
|
|
str r2, [r1, #8]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021E8560:
|
|
cmp r0, #0xc8
|
|
beq _021E8588
|
|
ldr r1, _021E876C ; =_0221A694
|
|
add r0, r0, #0x1d8
|
|
ldr r1, [r1, #8]
|
|
add r2, r0, #0x5800
|
|
add r0, r1, #0x1000
|
|
str r2, [r0, #8]
|
|
mov r0, #0x12
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021E8588:
|
|
ldr r0, _021E876C ; =_0221A694
|
|
ldr r1, _021E8780 ; =_022164D4
|
|
ldr r2, [r0, #8]
|
|
mov r3, #4
|
|
add r0, r2, #0x1000
|
|
add r2, r2, #0xc
|
|
ldr r0, [r0, #0x314]
|
|
add r2, r2, #0x1000
|
|
bl ov00_021EA224
|
|
cmp r0, #0
|
|
bgt _021E85D0
|
|
ldr r0, _021E876C ; =_0221A694
|
|
ldr r2, _021E877C ; =0x00004E85
|
|
ldr r1, [r0, #8]
|
|
mov r0, #0xe
|
|
add r1, r1, #0x1000
|
|
str r2, [r1, #8]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021E85D0:
|
|
ldr r0, _021E876C ; =_0221A694
|
|
add r1, sp, #0
|
|
ldr r0, [r0, #8]
|
|
mov r2, #0xa
|
|
add r0, r0, #0xc
|
|
add r0, r0, #0x1000
|
|
bl sub_020EB764
|
|
ldr r1, _021E876C ; =_0221A694
|
|
mov r4, r0
|
|
ldr r5, [r1, #8]
|
|
add r0, r5, #0xc
|
|
add r0, r0, #0x1000
|
|
bl sub_020E9580
|
|
add r1, r5, #0xc
|
|
add r1, r1, #0x1000
|
|
ldr r2, [sp]
|
|
add r0, r1, r0
|
|
cmp r2, r0
|
|
beq _021E8630
|
|
ldr r1, _021E877C ; =0x00004E85
|
|
add r0, r5, #0x1000
|
|
str r1, [r0, #8]
|
|
mov r0, #0xc
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021E8630:
|
|
add r0, r4, #0xe20
|
|
add r1, r0, #0x4000
|
|
add r0, r5, #0x1000
|
|
str r1, [r0, #8]
|
|
cmp r4, #0x64
|
|
bge _021E8764
|
|
ldr r5, _021E876C ; =_0221A694
|
|
mov r0, #0
|
|
ldr r2, [r5, #8]
|
|
ldr r1, _021E8784 ; =_022164E0
|
|
add r2, r2, #0x1000
|
|
strb r0, [r2, #0x52]
|
|
ldr r2, [r5, #8]
|
|
ldr r3, _021E8788 ; =0x0000012D
|
|
add r2, r2, #0x1000
|
|
strb r0, [r2, #0x1f]
|
|
ldr r2, [r5, #8]
|
|
add r2, r2, #0x1000
|
|
strb r0, [r2, #0x17f]
|
|
ldr r2, [r5, #8]
|
|
add r2, r2, #0x1000
|
|
strb r0, [r2, #0x10]
|
|
ldr r2, [r5, #8]
|
|
add r2, r2, #0x1000
|
|
strb r0, [r2, #0x188]
|
|
ldr r2, [r5, #8]
|
|
add r0, r2, #0x1000
|
|
add r2, r2, #0x52
|
|
ldr r0, [r0, #0x314]
|
|
add r2, r2, #0x1000
|
|
bl ov00_021EA224
|
|
mov r0, r5
|
|
ldr r2, [r0, #8]
|
|
ldr r1, _021E878C ; =_022164E8
|
|
add r0, r2, #0x1000
|
|
add r2, r2, #0x1f
|
|
ldr r0, [r0, #0x314]
|
|
mov r3, #0x33
|
|
add r2, r2, #0x1000
|
|
bl ov00_021EA224
|
|
mov r0, r5
|
|
ldr r2, [r0, #8]
|
|
ldr r1, _021E8790 ; =_022164F0
|
|
add r0, r2, #0x1000
|
|
add r2, r2, #0x7f
|
|
ldr r0, [r0, #0x314]
|
|
mov r3, #9
|
|
add r2, r2, #0x1100
|
|
bl ov00_021EA224
|
|
mov r0, r5
|
|
ldr r2, [r0, #8]
|
|
ldr r1, _021E8794 ; =_022164FC
|
|
add r0, r2, #0x1000
|
|
add r2, r2, #0x10
|
|
ldr r0, [r0, #0x314]
|
|
mov r3, #0xf
|
|
add r2, r2, #0x1000
|
|
bl ov00_021EA224
|
|
mov r0, r5
|
|
ldr r2, [r0, #8]
|
|
ldr r1, _021E8798 ; =_02216508
|
|
add r0, r2, #0x1000
|
|
add r2, r2, #0x188
|
|
ldr r0, [r0, #0x314]
|
|
mov r3, #0x41
|
|
add r2, r2, #0x1000
|
|
bl ov00_021EA278
|
|
mov r1, r5
|
|
ldr r0, [r1, #8]
|
|
mov r2, #0
|
|
add r0, r0, #0x1000
|
|
cmp r4, #0x28
|
|
strb r2, [r0, #0x1b3]
|
|
movne r0, #1
|
|
strne r0, [r1]
|
|
moveq r0, #2
|
|
streq r0, [r1]
|
|
_021E8764:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E876C: .word _0221A694
|
|
_021E8770: .word _022164C0
|
|
_021E8774: .word 0x021E58C0
|
|
_021E8778: .word _022164C8
|
|
_021E877C: .word 0x00004E85
|
|
_021E8780: .word _022164D4
|
|
_021E8784: .word _022164E0
|
|
_021E8788: .word 0x0000012D
|
|
_021E878C: .word _022164E8
|
|
_021E8790: .word _022164F0
|
|
_021E8794: .word _022164FC
|
|
_021E8798: .word _02216508
|
|
arm_func_end ov00_021E84D4
|
|
|
|
arm_func_start ov00_021E879C
|
|
ov00_021E879C: ; 0x021E879C
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x94
|
|
ldr r3, _021E8918 ; =_0221A694
|
|
mov r4, r0
|
|
ldr r0, [r3, #0x10]
|
|
ldr r3, [r3, #0xc]
|
|
cmp r0, #0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
cmpeq r3, #0
|
|
bne _021E87F8
|
|
ldr r0, _021E891C ; =_02216514
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r1, _021E8920 ; =_02216520
|
|
ldr r2, _021E891C ; =_02216514
|
|
mov r0, r4
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
beq _021E8850
|
|
add sp, sp, #0x94
|
|
mov r0, #8
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_021E87F8:
|
|
ldr r0, _021E8924 ; =_02216528
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r1, _021E8920 ; =_02216520
|
|
ldr r2, _021E8924 ; =_02216528
|
|
mov r0, r4
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x94
|
|
movne r0, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
mov r0, r6
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r1, _021E8928 ; =_02216530
|
|
mov r0, r4
|
|
mov r2, r6
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x94
|
|
movne r0, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
_021E8850:
|
|
ldr r1, _021E892C ; =_0221A6A0
|
|
add r0, sp, #0
|
|
bl ov00_021E89AC
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x94
|
|
moveq r0, #5
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
ldr r0, _021E8930 ; =_0221A6BC
|
|
add r1, sp, #0
|
|
ldr r2, [r0]
|
|
mov r0, r4
|
|
bl ov00_021E8C5C
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x94
|
|
moveq r0, #8
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
ldr r0, _021E8918 ; =_0221A694
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #1
|
|
bne _021E88CC
|
|
ldr r0, _021E8934 ; =_02216538
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r1, _021E8938 ; =_0221653C
|
|
ldr r2, _021E8934 ; =_02216538
|
|
mov r0, r4
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x94
|
|
movne r0, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
_021E88CC:
|
|
mov r0, r5
|
|
bl sub_020ED884
|
|
cmp r0, #0
|
|
beq _021E890C
|
|
mov r0, r5
|
|
bl sub_020ED884
|
|
mov r3, r0
|
|
ldr r1, _021E893C ; =_02216544
|
|
mov r0, r4
|
|
mov r2, r5
|
|
mov r3, r3, lsl #1
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x94
|
|
movne r0, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
_021E890C:
|
|
mov r0, #0
|
|
add sp, sp, #0x94
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021E8918: .word _0221A694
|
|
_021E891C: .word _02216514
|
|
_021E8920: .word _02216520
|
|
_021E8924: .word _02216528
|
|
_021E8928: .word _02216530
|
|
_021E892C: .word _0221A6A0
|
|
_021E8930: .word _0221A6BC
|
|
_021E8934: .word _02216538
|
|
_021E8938: .word _0221653C
|
|
_021E893C: .word _02216544
|
|
arm_func_end ov00_021E879C
|
|
|
|
arm_func_start ov00_021E8940
|
|
ov00_021E8940: ; 0x021E8940
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _021E8980 ; =_0221A694
|
|
mov r4, r0
|
|
ldr r0, [r1, #8]
|
|
add r0, r0, #0x3d8
|
|
add r0, r0, #0x1000
|
|
bl sub_020D2618
|
|
ldr r1, _021E8980 ; =_0221A694
|
|
ldr r0, [r1, #8]
|
|
add r0, r0, #0x1000
|
|
str r4, [r0, #4]
|
|
ldr r0, [r1, #8]
|
|
add r0, r0, #0x3d8
|
|
add r0, r0, #0x1000
|
|
bl sub_020D269C
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021E8980: .word _0221A694
|
|
arm_func_end ov00_021E8940
|
|
|
|
arm_func_start ov00_021E8984
|
|
ov00_021E8984: ; 0x021E8984
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0x14
|
|
mov r4, r0
|
|
add r0, sp, #0
|
|
bl sub_0209E430
|
|
add r1, sp, #0
|
|
mov r0, r4
|
|
bl ov00_021E89AC
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r3, r4, pc}
|
|
arm_func_end ov00_021E8984
|
|
|
|
arm_func_start ov00_021E89AC
|
|
ov00_021E89AC: ; 0x021E89AC
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x8c
|
|
mov r6, r1
|
|
mov r1, #0
|
|
mov r2, #0x94
|
|
mov r4, r0
|
|
bl sub_020D4994
|
|
ldmia r6, {r3, r5}
|
|
cmp r5, #0
|
|
cmpeq r3, #0
|
|
mov r1, #0xe
|
|
beq _021E89F0
|
|
ldr r2, _021E8C3C ; =_02216550
|
|
mov r0, r4
|
|
str r5, [sp]
|
|
bl sub_020D168C
|
|
b _021E8A08
|
|
_021E89F0:
|
|
ldr r3, [r6, #8]
|
|
ldr r5, [r6, #0xc]
|
|
ldr r2, _021E8C3C ; =_02216550
|
|
mov r0, r4
|
|
str r5, [sp]
|
|
bl sub_020D168C
|
|
_021E8A08:
|
|
ldrh r3, [r6, #0x10]
|
|
ldr r2, _021E8C40 ; =_02216558
|
|
add r0, r4, #0xe
|
|
mov r1, #7
|
|
bl sub_020D168C
|
|
ldr r0, _021E8C44 ; =0x027FFE0C
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E8A30
|
|
bl sub_020D3F48
|
|
_021E8A30:
|
|
ldr r0, _021E8C44 ; =0x027FFE0C
|
|
add r1, r4, #0x15
|
|
mov r2, #4
|
|
bl sub_020D4A50
|
|
ldr r0, _021E8C48 ; =0x027FFE10
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E8A54
|
|
bl sub_020D3F48
|
|
_021E8A54:
|
|
ldr r0, _021E8C48 ; =0x027FFE10
|
|
add r1, r4, #0x1a
|
|
mov r2, #2
|
|
bl sub_020D4A50
|
|
mov r1, #0x30
|
|
add r0, sp, #0x16
|
|
strb r1, [r4, #0x1d]
|
|
bl sub_020D3C40
|
|
ldr r5, _021E8C4C ; =_02216560
|
|
add r7, sp, #0x16
|
|
add r8, r4, #0x1f
|
|
mov r6, #0
|
|
_021E8A84:
|
|
ldrb r2, [r7], #1
|
|
mov r0, r8
|
|
mov r1, r5
|
|
bl sub_020D164C
|
|
add r6, r6, #1
|
|
cmp r6, #6
|
|
add r8, r8, #2
|
|
blt _021E8A84
|
|
add r0, sp, #0x38
|
|
bl sub_020D3C5C
|
|
ldrb r0, [sp, #0x38]
|
|
ldr r2, _021E8C4C ; =_02216560
|
|
mov r1, #3
|
|
cmp r0, #8
|
|
movhs r0, #1
|
|
strsbh r0, [sp, #0x38]
|
|
ldrb r3, [sp, #0x38]
|
|
add r0, r4, #0x2c
|
|
bl sub_020D168C
|
|
add r0, sp, #0x3c
|
|
add r1, r4, #0x7e
|
|
mov r2, #0x14
|
|
bl sub_020D4A50
|
|
ldrb r1, [sp, #0x3b]
|
|
ldr r2, _021E8C50 ; =_02216568
|
|
add r0, r4, #0x2f
|
|
str r1, [sp]
|
|
ldrb r3, [sp, #0x3a]
|
|
mov r1, #5
|
|
bl sub_020D168C
|
|
add r0, sp, #0x28
|
|
add r1, sp, #0x1c
|
|
bl sub_020DBBFC
|
|
cmp r0, #0
|
|
addne sp, sp, #0x8c
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
ldr r0, [sp, #0x2c]
|
|
ldr r2, _021E8C54 ; =_02216574
|
|
str r0, [sp]
|
|
ldr r1, [sp, #0x30]
|
|
add r0, r4, #0x34
|
|
str r1, [sp, #4]
|
|
ldr r3, [sp, #0x1c]
|
|
mov r1, #0xd
|
|
str r3, [sp, #8]
|
|
ldr r3, [sp, #0x20]
|
|
str r3, [sp, #0xc]
|
|
ldr r3, [sp, #0x24]
|
|
str r3, [sp, #0x10]
|
|
ldr r3, [sp, #0x28]
|
|
bl sub_020D168C
|
|
bl sub_020D3A38
|
|
mov r6, r0
|
|
bl sub_020AFF20
|
|
mov r7, r0
|
|
mov r1, #6
|
|
bl sub_020D285C
|
|
cmp r7, #0
|
|
bne _021E8B88
|
|
mov r0, r6
|
|
bl sub_020D3A4C
|
|
add sp, sp, #0x8c
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
_021E8B88:
|
|
ldr r5, _021E8C4C ; =_02216560
|
|
add r8, r4, #0x41
|
|
mov sb, #0
|
|
_021E8B94:
|
|
ldrb r2, [r7, sb]
|
|
mov r0, r8
|
|
mov r1, r5
|
|
bl sub_020D164C
|
|
add sb, sb, #1
|
|
cmp sb, #6
|
|
add r8, r8, #2
|
|
blt _021E8B94
|
|
bl ov00_021FAA40
|
|
mov r3, r0
|
|
cmp r3, #0xff
|
|
beq _021E8BCC
|
|
cmp r3, #0x63
|
|
bls _021E8BD0
|
|
_021E8BCC:
|
|
mov r3, #0x63
|
|
_021E8BD0:
|
|
ldr r2, _021E8C58 ; =_02216590
|
|
add r0, r4, #0x6f
|
|
mov r1, #0xe
|
|
bl sub_020D168C
|
|
add r0, sp, #0x14
|
|
bl sub_020AFF64
|
|
mov r5, r0
|
|
mov r1, #0x20
|
|
bl sub_020D285C
|
|
cmp r5, #0
|
|
bne _021E8C10
|
|
mov r0, r6
|
|
bl sub_020D3A4C
|
|
add sp, sp, #0x8c
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
_021E8C10:
|
|
mov r0, r5
|
|
add r1, r4, #0x4e
|
|
mov r2, #0x20
|
|
bl sub_020D4A50
|
|
add r0, r4, #0x72
|
|
bl ov00_021FAA70
|
|
mov r0, r6
|
|
bl sub_020D3A4C
|
|
mov r0, #1
|
|
add sp, sp, #0x8c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_021E8C3C: .word _02216550
|
|
_021E8C40: .word _02216558
|
|
_021E8C44: .word 0x027FFE0C
|
|
_021E8C48: .word 0x027FFE10
|
|
_021E8C4C: .word _02216560
|
|
_021E8C50: .word _02216568
|
|
_021E8C54: .word _02216574
|
|
_021E8C58: .word _02216590
|
|
arm_func_end ov00_021E89AC
|
|
|
|
arm_func_start ov00_021E8C5C
|
|
ov00_021E8C5C: ; 0x021E8C5C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x28
|
|
mov r4, r2
|
|
mov r6, r0
|
|
mov r5, r1
|
|
mov r3, #2
|
|
ldr r2, _021E8F58 ; =_022165A0
|
|
add r0, sp, #4
|
|
mov r1, #0x21
|
|
str r3, [sp]
|
|
bl sub_020D168C
|
|
add r0, sp, #4
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r1, _021E8F5C ; =_022165AC
|
|
mov r0, r6
|
|
add r2, sp, #4
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r0, r5
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r1, _021E8F60 ; =_022165B4
|
|
mov r0, r6
|
|
mov r2, r5
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #0xe
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r1, _021E8F64 ; =_022165BC
|
|
mov r0, r6
|
|
add r2, r5, #0xe
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #0x41
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r1, _021E8F68 ; =_022165C4
|
|
mov r0, r6
|
|
add r2, r5, #0x41
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #0x6f
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r1, _021E8F6C ; =_022165CC
|
|
mov r0, r6
|
|
add r2, r5, #0x6f
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #0x15
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r1, _021E8F70 ; =_022165D4
|
|
mov r0, r6
|
|
add r2, r5, #0x15
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #0x1a
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r1, _021E8F74 ; =_022165DC
|
|
mov r0, r6
|
|
add r2, r5, #0x1a
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #0x1d
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r1, _021E8F78 ; =_022165E4
|
|
mov r0, r6
|
|
add r2, r5, #0x1d
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #0x1f
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r1, _021E8F7C ; =_022165EC
|
|
mov r0, r6
|
|
add r2, r5, #0x1f
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #0x2c
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r1, _021E8F80 ; =_022165F4
|
|
mov r0, r6
|
|
add r2, r5, #0x2c
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #0x2f
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r1, _021E8F84 ; =_022165FC
|
|
mov r0, r6
|
|
add r2, r5, #0x2f
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #0x34
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r1, _021E8F88 ; =_02216604
|
|
mov r0, r6
|
|
add r2, r5, #0x34
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #0x7e
|
|
bl sub_020ED884
|
|
mov r3, r0
|
|
ldr r1, _021E8F8C ; =_0221660C
|
|
mov r0, r6
|
|
add r2, r5, #0x7e
|
|
mov r3, r3, lsl #1
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
cmp r4, #1
|
|
bne _021E8EFC
|
|
add r0, r5, #0x4e
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r1, _021E8F90 ; =_02216614
|
|
mov r0, r6
|
|
add r2, r5, #0x4e
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
_021E8EFC:
|
|
ldr r2, _021E8F94 ; =_0221661C
|
|
mov r3, #2
|
|
add r0, sp, #4
|
|
mov r1, #0x21
|
|
str r3, [sp]
|
|
bl sub_020D168C
|
|
ldr r1, _021E8F98 ; =_02216634
|
|
add r2, sp, #4
|
|
mov r0, r6
|
|
bl ov00_021E98C8
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldr r1, _021E8F9C ; =_02216640
|
|
mov r0, r6
|
|
add r2, r5, #0x15
|
|
bl ov00_021E98C8
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
add sp, sp, #0x28
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021E8F58: .word _022165A0
|
|
_021E8F5C: .word _022165AC
|
|
_021E8F60: .word _022165B4
|
|
_021E8F64: .word _022165BC
|
|
_021E8F68: .word _022165C4
|
|
_021E8F6C: .word _022165CC
|
|
_021E8F70: .word _022165D4
|
|
_021E8F74: .word _022165DC
|
|
_021E8F78: .word _022165E4
|
|
_021E8F7C: .word _022165EC
|
|
_021E8F80: .word _022165F4
|
|
_021E8F84: .word _022165FC
|
|
_021E8F88: .word _02216604
|
|
_021E8F8C: .word _0221660C
|
|
_021E8F90: .word _02216614
|
|
_021E8F94: .word _0221661C
|
|
_021E8F98: .word _02216634
|
|
_021E8F9C: .word _02216640
|
|
arm_func_end ov00_021E8C5C
|
|
|
|
arm_func_start ov00_021E8FA0
|
|
ov00_021E8FA0: ; 0x021E8FA0
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r1
|
|
ldr r2, _021E90A8 ; =0x00001C14
|
|
mov r6, r0
|
|
ldr r4, [r5, #0xc]
|
|
mov r1, #0
|
|
bl sub_020D4994
|
|
add r1, r6, #4
|
|
add r0, r6, #0x1000
|
|
mvn r2, #0
|
|
str r2, [r0, #0xa30]
|
|
mov lr, r5
|
|
str r2, [r0, #0xa34]
|
|
add ip, r1, #0x1000
|
|
ldmia lr!, {r0, r1, r2, r3}
|
|
stmia ip!, {r0, r1, r2, r3}
|
|
ldmia lr, {r0, r1, r2}
|
|
stmia ip, {r0, r1, r2}
|
|
ldr r0, _021E90AC ; =_02216680
|
|
ldr r1, _021E90B0 ; =0x00000B68
|
|
blx r4
|
|
add r1, r6, #0x1000
|
|
str r0, [r1, #0x9cc]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
streq r0, [r1, #0x20]
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r0, _021E90B4 ; =_02216698
|
|
ldr r1, _021E90B8 ; =0x000005EA
|
|
blx r4
|
|
add r2, r6, #0x1000
|
|
str r0, [r2, #0x9d0]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
streq r0, [r2, #0x20]
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
add r1, r6, #0x208
|
|
ldr r2, [r2, #0xc]
|
|
mov r0, r6
|
|
add r1, r1, #0x1800
|
|
bl ov00_021E9B44
|
|
cmp r0, #0
|
|
bne _021E905C
|
|
add r1, r6, #0x1000
|
|
mov r0, #1
|
|
str r0, [r1, #0x20]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021E905C:
|
|
ldr r1, [r5]
|
|
mov r0, r6
|
|
bl ov00_021E9C84
|
|
cmp r0, #0
|
|
bne _021E9080
|
|
add r1, r6, #0x1000
|
|
mov r0, #1
|
|
str r0, [r1, #0x20]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021E9080:
|
|
mov r0, r6
|
|
bl ov00_021E9808
|
|
add r1, r6, #0x1000
|
|
str r0, [r1, #0x20]
|
|
cmp r0, #0
|
|
moveq r0, #0xff
|
|
streqb r0, [r1]
|
|
add r0, r6, #0x1000
|
|
ldr r0, [r0, #0x20]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021E90A8: .word 0x00001C14
|
|
_021E90AC: .word _02216680
|
|
_021E90B0: .word 0x00000B68
|
|
_021E90B4: .word _02216698
|
|
_021E90B8: .word 0x000005EA
|
|
arm_func_end ov00_021E8FA0
|
|
|
|
arm_func_start ov00_021E90BC
|
|
ov00_021E90BC: ; 0x021E90BC
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #8
|
|
ldr r1, _021E9140 ; =_022166B0
|
|
ldr r2, _021E9144 ; =_022166BC
|
|
mov r4, r0
|
|
bl ov00_021E98C8
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
movne r0, #1
|
|
ldmneia sp!, {r4, pc}
|
|
add r0, r4, #0x1000
|
|
ldr r0, [r0, #0x9f8]
|
|
ldr r1, _021E9148 ; =_022166C4
|
|
bl sub_020E9AD0
|
|
add r0, r0, #4
|
|
bl sub_020E9580
|
|
movs r3, r0
|
|
beq _021E9134
|
|
ldr r2, _021E914C ; =_022166CC
|
|
add r0, sp, #0
|
|
mov r1, #7
|
|
bl sub_020D168C
|
|
ldr r1, _021E9150 ; =_022166D0
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_021E98C8
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
movne r0, #1
|
|
ldmneia sp!, {r4, pc}
|
|
_021E9134:
|
|
mov r0, #0
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021E9140: .word _022166B0
|
|
_021E9144: .word _022166BC
|
|
_021E9148: .word _022166C4
|
|
_021E914C: .word _022166CC
|
|
_021E9150: .word _022166D0
|
|
arm_func_end ov00_021E90BC
|
|
|
|
arm_func_start ov00_021E9154
|
|
ov00_021E9154: ; 0x021E9154
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #8
|
|
mov r5, r0
|
|
add r0, r5, #0x3f8
|
|
add r2, r5, #0x1000
|
|
mov r3, #0
|
|
add r0, r0, #0x1800
|
|
mov r4, r1
|
|
str r3, [r2, #0xc10]
|
|
bl sub_020D2600
|
|
add r0, r5, #0x218
|
|
add r0, r0, #0x1800
|
|
bl sub_020D2600
|
|
add r0, r5, #0x1000
|
|
ldr r0, [r0, #0x18]
|
|
cmp r0, #1
|
|
ldreq r0, _021E9208 ; =_0221A6B4
|
|
moveq r1, #1
|
|
ldrne r0, _021E9208 ; =_0221A6B4
|
|
movne r1, #0
|
|
str r1, [r0]
|
|
add r0, r5, #0x1000
|
|
ldr r0, [r0, #0xba4]
|
|
cmp r0, #0
|
|
beq _021E91D0
|
|
add r0, r5, #0x338
|
|
add r0, r0, #0x1800
|
|
bl sub_020D1E68
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
_021E91D0:
|
|
add r0, r5, #0x338
|
|
mov r1, #0x1000
|
|
str r1, [sp]
|
|
ldr r1, _021E920C ; =ov00_021E9438
|
|
mov r2, r5
|
|
add r0, r0, #0x1800
|
|
add r3, r5, #0x1000
|
|
str r4, [sp, #4]
|
|
bl sub_020D1AD4
|
|
add r0, r5, #0x338
|
|
add r0, r0, #0x1800
|
|
bl sub_020D1F34
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E9208: .word _0221A6B4
|
|
_021E920C: .word ov00_021E9438
|
|
arm_func_end ov00_021E9154
|
|
|
|
arm_func_start ov00_021E9210
|
|
ov00_021E9210: ; 0x021E9210
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r0, r4, #0x1000
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xff
|
|
ldmneia sp!, {r4, pc}
|
|
add r0, r4, #0x3f8
|
|
add r0, r0, #0x1800
|
|
bl sub_020D2618
|
|
add r0, r4, #0x3f8
|
|
add r1, r4, #0x1000
|
|
mov r2, #1
|
|
add r0, r0, #0x1800
|
|
str r2, [r1, #0xc10]
|
|
bl sub_020D269C
|
|
add r0, r4, #0x1000
|
|
ldr r0, [r0, #0xba4]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
add r0, r4, #0x338
|
|
add r0, r0, #0x1800
|
|
bl sub_020D1E38
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021E9210
|
|
|
|
arm_func_start ov00_021E926C
|
|
ov00_021E926C: ; 0x021E926C
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r0, r4, #0x1000
|
|
ldr r0, [r0, #0x130]
|
|
cmp r0, #1
|
|
bne _021E92A0
|
|
add r0, r4, #0x1d4
|
|
add r0, r0, #0x1800
|
|
bl sub_020D3E78
|
|
add r0, r4, #0x1d4
|
|
add r0, r0, #0x1800
|
|
mov r1, #0x20
|
|
bl sub_020AA9B0
|
|
_021E92A0:
|
|
add r0, r4, #0x3f8
|
|
add r0, r0, #0x1800
|
|
bl sub_020D2618
|
|
add r0, r4, #0x1000
|
|
ldr r0, [r0, #0xc10]
|
|
cmp r0, #1
|
|
add r0, r4, #0x3f8
|
|
add r0, r0, #0x1800
|
|
bne _021E92D0
|
|
bl sub_020D269C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
_021E92D0:
|
|
bl sub_020D269C
|
|
mov r0, #0xa
|
|
bl sub_020D2108
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021E926C
|
|
|
|
arm_func_start ov00_021E92E4
|
|
ov00_021E92E4: ; 0x021E92E4
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r0, r4, #0x138
|
|
add r0, r0, #0x1000
|
|
mov r1, #0
|
|
mov r2, #0x64
|
|
bl sub_020D4994
|
|
ldr r0, _021E9334 ; =0x00000B68
|
|
add r1, r4, #0x1000
|
|
str r0, [r1, #0x174]
|
|
ldr r3, [r1, #0x9cc]
|
|
add r0, r4, #0x138
|
|
ldr r2, _021E9338 ; =0x000005EA
|
|
str r3, [r1, #0x178]
|
|
str r2, [r1, #0x180]
|
|
ldr r2, [r1, #0x9d0]
|
|
add r0, r0, #0x1000
|
|
str r2, [r1, #0x184]
|
|
bl sub_020A6878
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021E9334: .word 0x00000B68
|
|
_021E9338: .word 0x000005EA
|
|
arm_func_end ov00_021E92E4
|
|
|
|
arm_func_start ov00_021E933C
|
|
ov00_021E933C: ; 0x021E933C
|
|
ldr ip, _021E934C ; =sub_020A8460
|
|
add r0, r0, #0x1000
|
|
ldr r0, [r0, #0x124]
|
|
bx ip
|
|
.align 2, 0
|
|
_021E934C: .word sub_020A8460
|
|
arm_func_end ov00_021E933C
|
|
|
|
arm_func_start ov00_021E9350
|
|
ov00_021E9350: ; 0x021E9350
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
mov r5, r0
|
|
add r0, r5, #0x1000
|
|
ldr r6, [r0, #0xa08]
|
|
add r2, r5, #0x208
|
|
ldr r1, _021E942C ; =_022166C4
|
|
mov r0, r6
|
|
add r4, r2, #0x1800
|
|
bl sub_020E9AD0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
ldr r1, _021E942C ; =_022166C4
|
|
mov r0, r6
|
|
bl sub_020E9AD0
|
|
add r1, r5, #0x218
|
|
add r6, r0, #4
|
|
add r0, r1, #0x1800
|
|
bl sub_020D2618
|
|
ldr r0, [r4, #4]
|
|
add r1, r5, #0x218
|
|
sub r2, r0, r6
|
|
add r0, r5, #0x1000
|
|
str r2, [r0, #0xa34]
|
|
add r0, r1, #0x1800
|
|
bl sub_020D269C
|
|
ldr r0, [r4]
|
|
ldr r1, _021E9430 ; =_022166E0
|
|
bl sub_020E9AD0
|
|
movs r8, r0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
ldr r0, _021E9430 ; =_022166E0
|
|
bl sub_020E9580
|
|
mov r7, r0
|
|
ldr r1, _021E9434 ; =_022166F4
|
|
add r0, r8, r7
|
|
bl sub_020E9AD0
|
|
mov r6, r0
|
|
add r0, r5, #0x218
|
|
ldrsb r4, [r6]
|
|
mov r1, #0
|
|
add r0, r0, #0x1800
|
|
strb r1, [r6]
|
|
bl sub_020D2618
|
|
add r0, r8, r7
|
|
bl sub_020EB82C
|
|
add r1, r5, #0x1000
|
|
add r2, r5, #0x218
|
|
str r0, [r1, #0xa30]
|
|
add r0, r2, #0x1800
|
|
bl sub_020D269C
|
|
strb r4, [r6]
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_021E942C: .word _022166C4
|
|
_021E9430: .word _022166E0
|
|
_021E9434: .word _022166F4
|
|
arm_func_end ov00_021E9350
|
|
|
|
arm_func_start ov00_021E9438
|
|
ov00_021E9438: ; 0x021E9438
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x14
|
|
mov sl, r0
|
|
add r0, sl, #0x1000
|
|
ldr r8, [r0, #0x1c]
|
|
add r0, sl, #0x138
|
|
add r1, sl, #0x19c
|
|
add r2, sl, #0x208
|
|
add r4, r0, #0x1000
|
|
cmp r8, #0
|
|
mov r0, sl
|
|
add r5, r1, #0x1000
|
|
add r7, r2, #0x1800
|
|
mov fp, #0
|
|
ldrle r8, _021E9740 ; =0x0000EA60
|
|
bl ov00_021E92E4
|
|
mov r0, sl
|
|
bl ov00_021E933C
|
|
movs r6, r0
|
|
add r0, sl, #0x1000
|
|
moveq r1, #2
|
|
streq r1, [r0, #0x20]
|
|
addeq sp, sp, #0x14
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
str r6, [r0, #0x12c]
|
|
bl sub_020A6930
|
|
add r0, sl, #0x1000
|
|
ldr r0, [r0, #0x130]
|
|
cmp r0, #1
|
|
bne _021E94EC
|
|
mov r0, r5
|
|
mov r1, #0
|
|
mov r2, #0x830
|
|
bl sub_020D4994
|
|
ldr r1, _021E9744 ; =ov00_021E9B38
|
|
add r0, sl, #0x1000
|
|
str r1, [r5, #0x810]
|
|
ldr r1, [r0, #0x124]
|
|
ldr r0, _021E9748 ; =_02216650
|
|
str r1, [r5, #0x800]
|
|
mov r1, #0xc
|
|
str r5, [r4, #0xc]
|
|
bl sub_020A88E8
|
|
mov r0, #1
|
|
bl sub_020AB948
|
|
_021E94EC:
|
|
add r0, sl, #0x1100
|
|
ldrh r1, [r0, #0x34]
|
|
mov r2, r6
|
|
mov r0, #0
|
|
bl sub_020A68D0
|
|
bl sub_020A6AE4
|
|
cmp r0, #0
|
|
add r0, sl, #0x1000
|
|
beq _021E9528
|
|
mov r1, #3
|
|
str r1, [r0, #0x20]
|
|
bl sub_020A6964
|
|
bl sub_020A688C
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021E9528:
|
|
ldr r4, [r0, #0x9f8]
|
|
mov r0, r4
|
|
bl sub_020E9580
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl sub_020A7260
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
bgt _021E955C
|
|
add r0, sl, #0x1000
|
|
mov r1, #5
|
|
str r1, [r0, #0x20]
|
|
b _021E9728
|
|
_021E955C:
|
|
bl sub_020A7368
|
|
mov r0, sl
|
|
bl ov00_021E926C
|
|
cmp r0, #0
|
|
bne _021E9580
|
|
add r0, sl, #0x1000
|
|
mov r1, #7
|
|
str r1, [r0, #0x20]
|
|
b _021E9728
|
|
_021E9580:
|
|
ldr r0, [r7]
|
|
str r0, [r7, #4]
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, #0xc]
|
|
add r0, r1, r0
|
|
str r0, [r7, #8]
|
|
bl sub_020D34B0
|
|
str r0, [sp, #8]
|
|
add r0, sl, #0x234
|
|
str r1, [sp, #4]
|
|
add r5, sl, #0x218
|
|
add r6, r0, #0x1800
|
|
add r4, sl, #0x1000
|
|
_021E95B4:
|
|
ldr r0, _021E974C ; =0x021D4670
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E95D4
|
|
add r0, sl, #0x1000
|
|
mov r1, #5
|
|
str r1, [r0, #0x20]
|
|
b _021E9728
|
|
_021E95D4:
|
|
bl sub_020A72F8
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
blt _021E9704
|
|
ble _021E9688
|
|
bl sub_020D34B0
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0x10
|
|
str r1, [sp, #4]
|
|
bl sub_020A6D58
|
|
cmp r0, #0
|
|
beq _021E9704
|
|
ldmib r7, {r1, r2}
|
|
sub r2, r2, #1
|
|
ldr sb, [sp, #0x10]
|
|
sub r2, r2, r1
|
|
cmp sb, r2
|
|
movge sb, r2
|
|
mov r2, sb
|
|
bl sub_020D4A50
|
|
ldr r0, [r7, #4]
|
|
cmp fp, #1
|
|
add r1, r0, sb
|
|
str r1, [r7, #4]
|
|
mov r0, #0
|
|
strb r0, [r1]
|
|
bne _021E9660
|
|
add r0, r5, #0x1800
|
|
bl sub_020D2618
|
|
ldr r1, [r6]
|
|
add r0, r5, #0x1800
|
|
add r1, r1, sb
|
|
str r1, [r6]
|
|
bl sub_020D269C
|
|
b _021E966C
|
|
_021E9660:
|
|
mov r0, sl
|
|
bl ov00_021E9350
|
|
mov fp, r0
|
|
_021E966C:
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, sb
|
|
bls _021E9680
|
|
bl sub_020A6E4C
|
|
b _021E9704
|
|
_021E9680:
|
|
mov r0, sb
|
|
bl sub_020A6E4C
|
|
_021E9688:
|
|
ldr r1, [r4, #0xa30]
|
|
cmp r1, #0
|
|
ldrge r0, [r4, #0xa34]
|
|
cmpge r0, r1
|
|
bge _021E9704
|
|
bl sub_020D34B0
|
|
ldr r2, [sp, #8]
|
|
mov r3, #0
|
|
subs r2, r0, r2
|
|
ldr r0, [sp, #4]
|
|
sbc r0, r1, r0
|
|
mov r1, r0, lsl #6
|
|
orr r1, r1, r2, lsr #26
|
|
mov r0, r2, lsl #6
|
|
ldr r2, _021E9750 ; =0x000082EA
|
|
bl sub_020F2900
|
|
cmp r1, r8, asr #31
|
|
cmpeq r0, r8
|
|
bls _021E96E4
|
|
add r0, sl, #0x1000
|
|
mov r1, #6
|
|
str r1, [r0, #0x20]
|
|
b _021E9728
|
|
_021E96E4:
|
|
mov r0, sl
|
|
bl ov00_021E926C
|
|
cmp r0, #0
|
|
bne _021E95B4
|
|
add r0, sl, #0x1000
|
|
mov r1, #7
|
|
str r1, [r0, #0x20]
|
|
b _021E9728
|
|
_021E9704:
|
|
bl sub_020A6BC4
|
|
bl sub_020A6C00
|
|
bl sub_020A6964
|
|
bl sub_020A688C
|
|
add r0, sl, #0x1000
|
|
mov r1, #8
|
|
str r1, [r0, #0x20]
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021E9728:
|
|
bl sub_020A6BC4
|
|
bl sub_020A6C00
|
|
bl sub_020A6964
|
|
bl sub_020A688C
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021E9740: .word 0x0000EA60
|
|
_021E9744: .word ov00_021E9B38
|
|
_021E9748: .word _02216650
|
|
_021E974C: .word 0x021D4670
|
|
_021E9750: .word 0x000082EA
|
|
arm_func_end ov00_021E9438
|
|
|
|
arm_func_start ov00_021E9754
|
|
ov00_021E9754: ; 0x021E9754
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
movs r5, r0
|
|
add r1, r5, #0x1000
|
|
ldr r4, [r1, #0x14]
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
add r1, r5, #0x238
|
|
add r1, r1, #0x1800
|
|
mov r2, #0x20
|
|
bl ov00_021EA2B8
|
|
add r1, r5, #0x208
|
|
mov r0, r5
|
|
add r1, r1, #0x1800
|
|
bl ov00_021E9B9C
|
|
add r1, r5, #0x1f8
|
|
mov r0, r5
|
|
add r1, r1, #0x1800
|
|
bl ov00_021E9B9C
|
|
add r0, r5, #0x1000
|
|
ldr r1, [r0, #0x9cc]
|
|
cmp r1, #0
|
|
beq _021E97C0
|
|
ldr r0, _021E97FC ; =_022166F8
|
|
mov r2, #0
|
|
blx r4
|
|
add r0, r5, #0x1000
|
|
mov r1, #0
|
|
str r1, [r0, #0x9cc]
|
|
_021E97C0:
|
|
add r0, r5, #0x1000
|
|
ldr r1, [r0, #0x9d0]
|
|
cmp r1, #0
|
|
beq _021E97E8
|
|
ldr r0, _021E9800 ; =_02216710
|
|
mov r2, #0
|
|
blx r4
|
|
add r0, r5, #0x1000
|
|
mov r1, #0
|
|
str r1, [r0, #0x9d0]
|
|
_021E97E8:
|
|
ldr r2, _021E9804 ; =0x00001C14
|
|
mov r0, r5
|
|
mov r1, #0
|
|
bl sub_020D4994
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E97FC: .word _022166F8
|
|
_021E9800: .word _02216710
|
|
_021E9804: .word 0x00001C14
|
|
arm_func_end ov00_021E9754
|
|
|
|
arm_func_start ov00_021E9808
|
|
ov00_021E9808: ; 0x021E9808
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #4
|
|
mov r7, r0
|
|
add r0, r7, #0x1000
|
|
ldr r1, [r0, #8]
|
|
add r0, r7, #0x1f8
|
|
cmp r1, #0
|
|
ldreq r6, _021E98C0 ; =_02216728
|
|
add r5, r0, #0x1800
|
|
add r0, r7, #0x1000
|
|
ldrne r6, _021E98C4 ; =_0221677C
|
|
ldr r0, [r0, #0x124]
|
|
bl sub_020E9580
|
|
mov r4, r0
|
|
mov r0, r6
|
|
bl sub_020E9580
|
|
add r1, r7, #0x1000
|
|
mov r8, r0
|
|
ldr r0, [r1, #0x128]
|
|
bl sub_020E9580
|
|
sub r1, r8, #4
|
|
add r0, r1, r0
|
|
add r2, r4, r0
|
|
add r0, r7, #0x1f8
|
|
add r1, r0, #0x1800
|
|
add r2, r2, #0x400
|
|
mov r0, r7
|
|
bl ov00_021E9B44
|
|
cmp r0, #1
|
|
addne sp, sp, #4
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
add r3, r7, #0x1000
|
|
ldr r0, [r3, #0x124]
|
|
mov r2, r6
|
|
str r0, [sp]
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r5, #0xc]
|
|
ldr r3, [r3, #0x128]
|
|
bl sub_020D168C
|
|
ldr r1, [r5, #4]
|
|
add r0, r1, r0
|
|
str r0, [r5, #4]
|
|
mov r0, #0
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_021E98C0: .word _02216728
|
|
_021E98C4: .word _0221677C
|
|
arm_func_end ov00_021E9808
|
|
|
|
arm_func_start ov00_021E98C8
|
|
ov00_021E98C8: ; 0x021E98C8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
mov r8, r0
|
|
mov r6, r2
|
|
add r2, r8, #0x1f8
|
|
mov r0, r6
|
|
mov r7, r1
|
|
add r5, r2, #0x1800
|
|
bl sub_020E9580
|
|
mov r4, r0
|
|
ldr r0, _021E999C ; =_0221679C
|
|
bl sub_020E9580
|
|
mov sb, r0
|
|
mov r0, r7
|
|
bl sub_020E9580
|
|
sub r1, sb, #4
|
|
add r0, r1, r0
|
|
add r4, r4, r0
|
|
ldmib r5, {r1, r2}
|
|
add r0, r4, #1
|
|
sub r1, r2, r1
|
|
cmp r0, r1
|
|
ble _021E9940
|
|
sub r2, r4, r1
|
|
mov r0, r8
|
|
mov r1, r5
|
|
add r2, r2, #1
|
|
bl ov00_021E9BDC
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_021E9940:
|
|
ldr r0, [r5]
|
|
ldr r1, _021E99A0 ; =_022166C4
|
|
bl sub_020E9AD0
|
|
add sb, r0, #2
|
|
ldrsb r8, [r0, #2]
|
|
mov r0, sb
|
|
bl sub_020E9580
|
|
add r2, r0, #1
|
|
add r0, sb, r4
|
|
mov r1, sb
|
|
bl sub_020E5AF8
|
|
ldr r2, _021E999C ; =_0221679C
|
|
str r6, [sp]
|
|
mov r3, r7
|
|
mov r0, sb
|
|
add r1, r4, #1
|
|
bl sub_020D168C
|
|
strb r8, [sb, r0]
|
|
ldr r1, [r5, #4]
|
|
mov r0, #0
|
|
add r1, r1, r4
|
|
str r1, [r5, #4]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_021E999C: .word _0221679C
|
|
_021E99A0: .word _022166C4
|
|
arm_func_end ov00_021E98C8
|
|
|
|
arm_func_start ov00_021E99A4
|
|
ov00_021E99A4: ; 0x021E99A4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov sl, r0
|
|
add r0, sl, #0x1000
|
|
ldr r4, [r0, #0x9f4]
|
|
add r0, sl, #0x1f8
|
|
cmp r4, #0
|
|
ldreq r7, _021E9AA8 ; =_022167A8
|
|
mov r8, r2
|
|
add r4, sl, #0x1000
|
|
add r6, r0, #0x1800
|
|
ldr r0, [r4, #0x9f4]
|
|
mov fp, r3
|
|
add r5, r0, #1
|
|
mov r2, #0
|
|
mov sb, r1
|
|
ldrne r7, _021E9AAC ; =_022167AC
|
|
mov r0, r8
|
|
mov r1, fp
|
|
mov r3, r2
|
|
str r5, [r4, #0x9f4]
|
|
bl ov00_021EBE08
|
|
mov r5, r0
|
|
mov r0, r7
|
|
bl sub_020E9580
|
|
mov r4, r0
|
|
mov r0, sb
|
|
bl sub_020E9580
|
|
sub r1, r4, #2
|
|
add r2, r1, r0
|
|
ldmib r6, {r0, r1}
|
|
add r2, r5, r2
|
|
sub r1, r1, r0
|
|
cmp r2, r1
|
|
ble _021E9A54
|
|
sub r2, r2, r1
|
|
mov r0, sl
|
|
mov r1, r6
|
|
add r2, r2, #1
|
|
bl ov00_021E9BDC
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldmib r6, {r0, r1}
|
|
sub r1, r1, r0
|
|
_021E9A54:
|
|
mov r2, r7
|
|
mov r3, sb
|
|
bl sub_020D168C
|
|
ldr r2, [r6, #4]
|
|
mov r1, fp
|
|
add r2, r2, r0
|
|
str r2, [r6, #4]
|
|
ldr r0, [r6, #8]
|
|
sub r3, r0, r2
|
|
mov r0, r8
|
|
sub r3, r3, #1
|
|
bl ov00_021EBE08
|
|
cmp r0, #0
|
|
movlt r0, #1
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, [r6, #4]
|
|
mov r0, #0
|
|
add r1, r1, r5
|
|
str r1, [r6, #4]
|
|
strb r0, [r1]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021E9AA8: .word _022167A8
|
|
_021E9AAC: .word _022167AC
|
|
arm_func_end ov00_021E99A4
|
|
|
|
arm_func_start ov00_021E9AB0
|
|
ov00_021E9AB0: ; 0x021E9AB0
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
mov r6, r1
|
|
add r1, r7, #0x1f8
|
|
mov r0, r6
|
|
add r5, r1, #0x1800
|
|
bl sub_020E9580
|
|
mov r4, r0
|
|
ldmib r5, {r0, r1}
|
|
sub r1, r1, r0
|
|
cmp r4, r1
|
|
ble _021E9B08
|
|
sub r2, r4, r1
|
|
mov r0, r7
|
|
mov r1, r5
|
|
add r2, r2, #1
|
|
bl ov00_021E9BDC
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldmib r5, {r0, r1}
|
|
sub r1, r1, r0
|
|
_021E9B08:
|
|
ldr r2, _021E9B34 ; =_022167B4
|
|
mov r3, r6
|
|
bl sub_020D168C
|
|
cmp r0, r4
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r1, [r5, #4]
|
|
add r0, r1, r0
|
|
str r0, [r5, #4]
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E9B34: .word _022167B4
|
|
arm_func_end ov00_021E9AB0
|
|
|
|
arm_func_start ov00_021E9B38
|
|
ov00_021E9B38: ; 0x021E9B38
|
|
tst r0, #0x8000
|
|
bicne r0, r0, #0x8000
|
|
bx lr
|
|
arm_func_end ov00_021E9B38
|
|
|
|
arm_func_start ov00_021E9B44
|
|
ov00_021E9B44: ; 0x021E9B44
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
movs r4, r2
|
|
add r0, r0, #0x1000
|
|
ldr r2, [r0, #0x10]
|
|
mov r5, r1
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, _021E9B98 ; =_022167B8
|
|
mov r1, r4
|
|
blx r2
|
|
str r0, [r5]
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
str r0, [r5, #4]
|
|
str r4, [r5, #0xc]
|
|
ldr r0, [r5]
|
|
add r0, r0, r4
|
|
str r0, [r5, #8]
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021E9B98: .word _022167B8
|
|
arm_func_end ov00_021E9B44
|
|
|
|
arm_func_start ov00_021E9B9C
|
|
ov00_021E9B9C: ; 0x021E9B9C
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r1
|
|
ldr r1, [r4]
|
|
add r0, r0, #0x1000
|
|
cmp r1, #0
|
|
ldr r3, [r0, #0x14]
|
|
beq _021E9BC4
|
|
ldr r0, _021E9BD8 ; =_022167CC
|
|
mov r2, #0
|
|
blx r3
|
|
_021E9BC4:
|
|
mov r0, r4
|
|
mov r1, #0
|
|
mov r2, #0x10
|
|
bl sub_020D4994
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021E9BD8: .word _022167CC
|
|
arm_func_end ov00_021E9B9C
|
|
|
|
arm_func_start ov00_021E9BDC
|
|
ov00_021E9BDC: ; 0x021E9BDC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
add r0, r0, #0x1000
|
|
ldr r7, [r0, #0x14]
|
|
mov r5, r2
|
|
mov r6, r1
|
|
cmp r5, #0
|
|
ldr r2, [r0, #0x10]
|
|
movle r0, #0
|
|
ldmleia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r1, [r6, #0xc]
|
|
ldr r0, _021E9C7C ; =_022167E0
|
|
add r1, r1, r5
|
|
blx r2
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r6]
|
|
ldr r2, [r6, #0xc]
|
|
mov r1, r4
|
|
bl sub_020D4A50
|
|
ldr r1, [r6]
|
|
ldr r0, _021E9C80 ; =_022167CC
|
|
mov r2, #0
|
|
blx r7
|
|
cmp r4, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldmia r6, {r0, r1}
|
|
sub r0, r4, r0
|
|
add r0, r1, r0
|
|
str r0, [r6, #4]
|
|
ldr r1, [r6, #0xc]
|
|
mov r0, #1
|
|
add r1, r1, r5
|
|
str r1, [r6, #0xc]
|
|
str r4, [r6]
|
|
ldr r1, [r6, #0xc]
|
|
add r1, r4, r1
|
|
str r1, [r6, #8]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021E9C7C: .word _022167E0
|
|
_021E9C80: .word _022167CC
|
|
arm_func_end ov00_021E9BDC
|
|
|
|
arm_func_start ov00_021E9C84
|
|
ov00_021E9C84: ; 0x021E9C84
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r1
|
|
mov r5, r0
|
|
mov r0, r6
|
|
mov r4, #0
|
|
bl sub_020E9580
|
|
cmp r0, #0x100
|
|
movhs r0, r4
|
|
ldmhsia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #0x24
|
|
mov r1, r6
|
|
add r0, r0, #0x1000
|
|
mov r2, #0x100
|
|
bl sub_020E9664
|
|
mov r0, r6
|
|
bl sub_020E9580
|
|
add r1, r5, #0x24
|
|
mov r6, r0
|
|
add r0, r1, #0x1000
|
|
bl sub_020E9580
|
|
cmp r6, r0
|
|
movne r0, r4
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #0x24
|
|
ldr r1, _021E9DC8 ; =_022167F0
|
|
add r0, r0, #0x1000
|
|
bl sub_020E9AD0
|
|
cmp r0, #0
|
|
beq _021E9D20
|
|
add r0, r5, #0x2b
|
|
add r1, r0, #0x1000
|
|
add r0, r5, #0x1000
|
|
str r1, [r0, #0x124]
|
|
mov r1, r4
|
|
str r1, [r0, #0x130]
|
|
add r0, r5, #0x1100
|
|
mov r1, #0x50
|
|
strh r1, [r0, #0x34]
|
|
b _021E9D5C
|
|
_021E9D20:
|
|
add r0, r5, #0x24
|
|
ldr r1, _021E9DCC ; =_022167F8
|
|
add r0, r0, #0x1000
|
|
bl sub_020E9AD0
|
|
cmp r0, #0
|
|
moveq r0, r4
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
add r2, r0, #8
|
|
add r0, r5, #0x1000
|
|
mov r1, #1
|
|
str r2, [r0, #0x124]
|
|
str r1, [r0, #0x130]
|
|
rsb r1, r1, #0x1bc
|
|
add r0, r5, #0x1100
|
|
strh r1, [r0, #0x34]
|
|
_021E9D5C:
|
|
add r0, r5, #0x1000
|
|
ldr r0, [r0, #0x124]
|
|
ldr r1, _021E9DD0 ; =_02216804
|
|
bl sub_020E9AD0
|
|
cmp r0, #0
|
|
movne r1, #0
|
|
strneb r1, [r0]
|
|
addne r4, r0, #1
|
|
add r0, r5, #0x1000
|
|
ldr r0, [r0, #0x124]
|
|
ldr r1, _021E9DD4 ; =_02216808
|
|
bl sub_020E9AD0
|
|
cmp r0, #0
|
|
mov r1, #0
|
|
addeq r0, r5, #0x1000
|
|
strneb r1, [r0]
|
|
addne r1, r0, #1
|
|
addne r0, r5, #0x1000
|
|
str r1, [r0, #0x128]
|
|
cmp r4, #0
|
|
beq _021E9DC0
|
|
mov r0, r4
|
|
bl sub_020EB82C
|
|
add r1, r5, #0x1100
|
|
strh r0, [r1, #0x34]
|
|
_021E9DC0:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021E9DC8: .word _022167F0
|
|
_021E9DCC: .word _022167F8
|
|
_021E9DD0: .word _02216804
|
|
_021E9DD4: .word _02216808
|
|
arm_func_end ov00_021E9C84
|
|
|
|
arm_func_start ov00_021E9DD8
|
|
ov00_021E9DD8: ; 0x021E9DD8
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
mov r8, r1
|
|
add r0, r0, #0x1000
|
|
ldmib r8, {r1, r4}
|
|
cmp r4, r1
|
|
ldr r4, [r0, #0x10]
|
|
ldr r5, [r0, #0x14]
|
|
mov r7, r2
|
|
mov r6, r3
|
|
movgt r0, #0
|
|
ldmgtia sp!, {r4, r5, r6, r7, r8, pc}
|
|
mov r0, r7
|
|
bl sub_020E9580
|
|
mov r1, r0
|
|
ldr r0, _021E9F1C ; =_0221680C
|
|
add r1, r1, #1
|
|
blx r4
|
|
ldr r2, [r8]
|
|
ldr r1, [r8, #8]
|
|
str r0, [r2, r1, lsl #3]
|
|
ldr r1, [r8, #8]
|
|
ldr r2, [r8]
|
|
ldr r0, [r2, r1, lsl #3]
|
|
cmp r0, #0
|
|
beq _021E9EB4
|
|
mov r0, r6
|
|
bl sub_020E9580
|
|
mov r1, r0
|
|
ldr r0, _021E9F20 ; =_0221682C
|
|
add r1, r1, #1
|
|
blx r4
|
|
ldr r2, [r8]
|
|
ldr r1, [r8, #8]
|
|
add r1, r2, r1, lsl #3
|
|
str r0, [r1, #4]
|
|
ldr r1, [r8, #8]
|
|
ldr r2, [r8]
|
|
add r0, r2, r1, lsl #3
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _021E9EB4
|
|
ldr r0, [r2, r1, lsl #3]
|
|
mov r1, r7
|
|
bl sub_020E959C
|
|
ldr r2, [r8]
|
|
ldr r0, [r8, #8]
|
|
mov r1, r6
|
|
add r0, r2, r0, lsl #3
|
|
ldr r0, [r0, #4]
|
|
bl sub_020E959C
|
|
ldr r1, [r8, #8]
|
|
mov r0, #1
|
|
add r1, r1, #1
|
|
str r1, [r8, #8]
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_021E9EB4:
|
|
ldr r1, [r2, r1, lsl #3]
|
|
cmp r1, #0
|
|
beq _021E9EDC
|
|
ldr r0, _021E9F24 ; =_0221684C
|
|
mov r2, #0
|
|
blx r5
|
|
ldr r1, [r8]
|
|
ldr r0, [r8, #8]
|
|
mov r2, #0
|
|
str r2, [r1, r0, lsl #3]
|
|
_021E9EDC:
|
|
ldr r1, [r8]
|
|
ldr r0, [r8, #8]
|
|
add r0, r1, r0, lsl #3
|
|
ldr r1, [r0, #4]
|
|
cmp r1, #0
|
|
beq _021E9F14
|
|
ldr r0, _021E9F28 ; =_02216868
|
|
mov r2, #0
|
|
blx r5
|
|
ldr r1, [r8]
|
|
ldr r0, [r8, #8]
|
|
mov r2, #0
|
|
add r0, r1, r0, lsl #3
|
|
str r2, [r0, #4]
|
|
_021E9F14:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_021E9F1C: .word _0221680C
|
|
_021E9F20: .word _0221682C
|
|
_021E9F24: .word _0221684C
|
|
_021E9F28: .word _02216868
|
|
arm_func_end ov00_021E9DD8
|
|
|
|
arm_func_start ov00_021E9F2C
|
|
ov00_021E9F2C: ; 0x021E9F2C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x10
|
|
mov r4, r0
|
|
add r0, r4, #0x238
|
|
mov r6, r1
|
|
add r0, r0, #0x1800
|
|
mov r3, #0x20
|
|
mov r1, #0
|
|
mov r2, #0x100
|
|
str r0, [sp, #4]
|
|
str r3, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
bl sub_020D4994
|
|
add r0, r4, #0x1000
|
|
ldr r5, [r0, #0xa08]
|
|
ldr r1, _021EA1AC ; =_022166C4
|
|
mov r0, r5
|
|
bl sub_020E9AD0
|
|
str r0, [sp]
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x10
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
add r0, r0, #4
|
|
bl sub_020E9580
|
|
ldr r1, [sp]
|
|
add r1, r1, #4
|
|
add fp, r1, r0
|
|
ldr r1, _021EA1B0 ; =_02216884
|
|
mov r0, r5
|
|
bl sub_020E9AD0
|
|
movs r7, r0
|
|
addeq sp, sp, #0x10
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldrsb sb, [r7, #4]
|
|
ldr r2, _021EA1B4 ; =_02216888
|
|
mov r5, #0
|
|
add r1, sp, #4
|
|
mov r0, r4
|
|
add r3, r7, #1
|
|
strb r5, [r7, #4]
|
|
bl ov00_021E9DD8
|
|
cmp r0, #1
|
|
addne sp, sp, #0x10
|
|
strb sb, [r7, #4]
|
|
movne r0, r5
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
cmp r6, #1
|
|
beq _021EA00C
|
|
ldr r1, _021EA1B8 ; =_02216894
|
|
add r0, r7, #1
|
|
mov r2, #3
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
beq _021EA018
|
|
_021EA00C:
|
|
add sp, sp, #0x10
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021EA018:
|
|
ldr r1, _021EA1BC ; =_022166F4
|
|
add r0, r7, #5
|
|
bl sub_020E9AD0
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x10
|
|
moveq r0, r5
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
add sb, r0, #2
|
|
b _021EA0CC
|
|
_021EA03C:
|
|
ldr r1, _021EA1C0 ; =_02216898
|
|
mov r0, sb
|
|
bl sub_020E9AD0
|
|
movs r6, r0
|
|
beq _021EA0E0
|
|
ldrsb r7, [r6]
|
|
mov r1, #0
|
|
add sl, r6, #2
|
|
strb r1, [r6]
|
|
ldr r1, _021EA1BC ; =_022166F4
|
|
mov r0, sl
|
|
bl sub_020E9AD0
|
|
movs r5, r0
|
|
streqb r7, [r6]
|
|
beq _021EA0E0
|
|
ldrsb r8, [r5]
|
|
mov r1, #0
|
|
mov r2, sb
|
|
strb r1, [r5]
|
|
mov r0, r4
|
|
add r1, sp, #4
|
|
mov r3, sl
|
|
bl ov00_021E9DD8
|
|
cmp r0, #1
|
|
beq _021EA0B4
|
|
strb r7, [r6]
|
|
add sp, sp, #0x10
|
|
strb r8, [r5]
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021EA0B4:
|
|
mov r0, sl
|
|
bl sub_020E9580
|
|
strb r7, [r6]
|
|
add r0, sl, r0
|
|
strb r8, [r5]
|
|
add sb, r0, #2
|
|
_021EA0CC:
|
|
ldrsb r0, [sb]
|
|
cmp r0, #0xd
|
|
ldrnesb r0, [sb, #1]
|
|
cmpne r0, #0xa
|
|
bne _021EA03C
|
|
_021EA0E0:
|
|
ldr r0, [sp]
|
|
add r7, r0, #4
|
|
cmp r7, fp
|
|
bhs _021EA1A0
|
|
_021EA0F0:
|
|
ldr r1, _021EA1C4 ; =_0221689C
|
|
mov r0, r7
|
|
bl sub_020E9AD0
|
|
movs r5, r0
|
|
beq _021EA1A0
|
|
ldrsb sb, [r5]
|
|
mov r1, #0
|
|
add r6, r5, #1
|
|
strb r1, [r5]
|
|
ldr r1, _021EA1C8 ; =_022168A0
|
|
mov r0, r6
|
|
bl sub_020E9AD0
|
|
movs sl, r0
|
|
bne _021EA138
|
|
ldr r1, _021EA1BC ; =_022166F4
|
|
mov r0, r6
|
|
bl sub_020E9AD0
|
|
mov sl, r0
|
|
_021EA138:
|
|
cmp sl, #0
|
|
ldrnesb r8, [sl]
|
|
movne r0, #0
|
|
mov r2, r7
|
|
strneb r0, [sl]
|
|
mov r0, r4
|
|
add r1, sp, #4
|
|
mov r3, r6
|
|
bl ov00_021E9DD8
|
|
cmp r0, #1
|
|
beq _021EA17C
|
|
strb sb, [r5]
|
|
cmp sl, #0
|
|
add sp, sp, #0x10
|
|
strneb r8, [sl]
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021EA17C:
|
|
mov r0, r6
|
|
bl sub_020E9580
|
|
add r0, r6, r0
|
|
strb sb, [r5]
|
|
cmp sl, #0
|
|
add r7, r0, #1
|
|
strneb r8, [sl]
|
|
cmp r7, fp
|
|
blo _021EA0F0
|
|
_021EA1A0:
|
|
mov r0, #1
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021EA1AC: .word _022166C4
|
|
_021EA1B0: .word _02216884
|
|
_021EA1B4: .word _02216888
|
|
_021EA1B8: .word _02216894
|
|
_021EA1BC: .word _022166F4
|
|
_021EA1C0: .word _02216898
|
|
_021EA1C4: .word _0221689C
|
|
_021EA1C8: .word _022168A0
|
|
arm_func_end ov00_021E9F2C
|
|
|
|
arm_func_start ov00_021EA1CC
|
|
ov00_021EA1CC: ; 0x021EA1CC
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r5, r1
|
|
mov r4, #0
|
|
_021EA1DC:
|
|
add r0, r6, r4, lsl #3
|
|
add r0, r0, #0x1000
|
|
ldr r1, [r0, #0xa38]
|
|
cmp r1, #0
|
|
beq _021EA21C
|
|
mov r0, r5
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _021EA210
|
|
add r0, r6, r4, lsl #3
|
|
add r0, r0, #0x1000
|
|
ldr r0, [r0, #0xa3c]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021EA210:
|
|
add r4, r4, #1
|
|
cmp r4, #0x20
|
|
blt _021EA1DC
|
|
_021EA21C:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021EA1CC
|
|
|
|
arm_func_start ov00_021EA224
|
|
ov00_021EA224: ; 0x021EA224
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r2
|
|
mov r5, r3
|
|
bl ov00_021EA1CC
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
bl sub_020E9580
|
|
mov r1, r0
|
|
mov r0, r4
|
|
mov r2, r6
|
|
mov r3, r5
|
|
bl ov00_021EBF90
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
cmp r0, r5
|
|
ldmhsia sp!, {r4, r5, r6, pc}
|
|
mov r1, #0
|
|
strb r1, [r6, r0]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021EA224
|
|
|
|
arm_func_start ov00_021EA278
|
|
ov00_021EA278: ; 0x021EA278
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r2
|
|
mov r5, r3
|
|
bl ov00_021EA1CC
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
bl sub_020E9580
|
|
cmp r0, r5
|
|
movge r0, #0
|
|
ldmgeia sp!, {r4, r5, r6, pc}
|
|
mov r0, r6
|
|
mov r1, r4
|
|
bl sub_020E959C
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021EA278
|
|
|
|
arm_func_start ov00_021EA2B8
|
|
ov00_021EA2B8: ; 0x021EA2B8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
add r0, r0, #0x1000
|
|
ldr r6, [r0, #0x14]
|
|
mov sb, r2
|
|
mov sl, r1
|
|
mov r8, #0
|
|
cmp sb, #0
|
|
ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr fp, _021EA338 ; =_022168A4
|
|
ldr r7, _021EA33C ; =_022168C0
|
|
mov r5, r8
|
|
mov r4, r8
|
|
_021EA2E8:
|
|
ldr r1, [sl, r8, lsl #3]
|
|
cmp r1, #0
|
|
beq _021EA304
|
|
mov r0, fp
|
|
mov r2, #0
|
|
blx r6
|
|
str r5, [sl, r8, lsl #3]
|
|
_021EA304:
|
|
add r0, sl, r8, lsl #3
|
|
ldr r1, [r0, #4]
|
|
cmp r1, #0
|
|
beq _021EA328
|
|
mov r0, r7
|
|
mov r2, #0
|
|
blx r6
|
|
add r0, sl, r8, lsl #3
|
|
str r4, [r0, #4]
|
|
_021EA328:
|
|
add r8, r8, #1
|
|
cmp r8, sb
|
|
blt _021EA2E8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021EA338: .word _022168A4
|
|
_021EA33C: .word _022168C0
|
|
arm_func_end ov00_021EA2B8
|
|
|
|
arm_func_start ov00_021EA340
|
|
ov00_021EA340: ; 0x021EA340
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r1, _021EA408 ; =_0221A6B8
|
|
mov r5, r0
|
|
ldr r0, [r1]
|
|
ldr r4, [r5]
|
|
cmp r0, #0
|
|
movne r0, #4
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r0, _021EA40C ; =_02216904
|
|
ldr r1, _021EA410 ; =0x000011F4
|
|
blx r4
|
|
ldr r1, _021EA408 ; =_0221A6B8
|
|
cmp r0, #0
|
|
str r0, [r1]
|
|
moveq r0, #4
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r2, _021EA410 ; =0x000011F4
|
|
mov r1, #0
|
|
bl sub_020D4994
|
|
ldr ip, _021EA408 ; =_0221A6B8
|
|
ldr r1, _021EA414 ; =0xFFFE7961
|
|
ldr r0, [ip]
|
|
add r0, r0, #0x1000
|
|
str r1, [r0, #4]
|
|
ldr r3, [ip]
|
|
ldmia r5, {r0, r1, r2}
|
|
add r3, r3, #0x108
|
|
add r3, r3, #0x1000
|
|
stmia r3, {r0, r1, r2}
|
|
ldr r0, [ip, #0x14]
|
|
cmp r0, #0
|
|
movne r0, #4
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r0, _021EA418 ; =_02216918
|
|
ldr r1, _021EA41C ; =0x00001C14
|
|
blx r4
|
|
ldr r1, _021EA408 ; =_0221A6B8
|
|
cmp r0, #0
|
|
str r0, [r1, #0x14]
|
|
moveq r0, #4
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r0, #0
|
|
str r0, [r1, #4]
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x1dc
|
|
add r0, r0, #0x1000
|
|
bl sub_020D2600
|
|
bl ov00_021EA5D8
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021EA408: .word _0221A6B8
|
|
_021EA40C: .word _02216904
|
|
_021EA410: .word 0x000011F4
|
|
_021EA414: .word 0xFFFE7961
|
|
_021EA418: .word _02216918
|
|
_021EA41C: .word 0x00001C14
|
|
arm_func_end ov00_021EA340
|
|
|
|
arm_func_start ov00_021EA420
|
|
ov00_021EA420: ; 0x021EA420
|
|
stmdb sp!, {r4, lr}
|
|
ldr r0, _021EA504 ; =_0221A6B8
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, #0x14]
|
|
add r1, r1, #0x1000
|
|
cmp r0, #0
|
|
ldr r4, [r1, #0x10c]
|
|
beq _021EA464
|
|
bl ov00_021E9754
|
|
ldr r1, _021EA504 ; =_0221A6B8
|
|
ldr r0, _021EA508 ; =_02216928
|
|
ldr r1, [r1, #0x14]
|
|
mov r2, #0
|
|
blx r4
|
|
ldr r0, _021EA504 ; =_0221A6B8
|
|
mov r1, #0
|
|
str r1, [r0, #0x14]
|
|
_021EA464:
|
|
bl ov00_021E7DD4
|
|
ldr r0, _021EA504 ; =_0221A6B8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
add r0, r0, #0x1000
|
|
ldr r1, [r0, #0x114]
|
|
cmp r1, #0
|
|
beq _021EA4A8
|
|
ldr r0, _021EA50C ; =_02216938
|
|
mov r2, #0
|
|
blx r4
|
|
ldr r0, _021EA504 ; =_0221A6B8
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1000
|
|
str r1, [r0, #0x114]
|
|
_021EA4A8:
|
|
ldr r0, _021EA504 ; =_0221A6B8
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1000
|
|
ldr r1, [r0, #0x118]
|
|
cmp r1, #0
|
|
beq _021EA4E0
|
|
ldr r0, _021EA510 ; =_02216954
|
|
mov r2, #0
|
|
blx r4
|
|
ldr r0, _021EA504 ; =_0221A6B8
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1000
|
|
str r1, [r0, #0x118]
|
|
_021EA4E0:
|
|
ldr r1, _021EA504 ; =_0221A6B8
|
|
ldr r0, _021EA514 ; =_02216974
|
|
ldr r1, [r1]
|
|
mov r2, #0
|
|
blx r4
|
|
ldr r0, _021EA504 ; =_0221A6B8
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021EA504: .word _0221A6B8
|
|
_021EA508: .word _02216928
|
|
_021EA50C: .word _02216938
|
|
_021EA510: .word _02216954
|
|
_021EA514: .word _02216974
|
|
arm_func_end ov00_021EA420
|
|
|
|
arm_func_start ov00_021EA518
|
|
ov00_021EA518: ; 0x021EA518
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021EA57C ; =_0221A6B8
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, [r0, #0x14]
|
|
cmp r0, #0
|
|
beq _021EA53C
|
|
bl ov00_021E9210
|
|
_021EA53C:
|
|
bl ov00_021E7D48
|
|
ldr r0, _021EA57C ; =_0221A6B8
|
|
ldr r1, [r0]
|
|
add r0, r1, #0x1000
|
|
ldr r0, [r0, #0x188]
|
|
cmp r0, #0
|
|
beq _021EA564
|
|
add r0, r1, #0x11c
|
|
add r0, r0, #0x1000
|
|
bl sub_020D1E38
|
|
_021EA564:
|
|
ldr r0, _021EA57C ; =_0221A6B8
|
|
mvn r1, #6
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1000
|
|
str r1, [r0, #4]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EA57C: .word _0221A6B8
|
|
arm_func_end ov00_021EA518
|
|
|
|
arm_func_start ov00_021EA580
|
|
ov00_021EA580: ; 0x021EA580
|
|
stmdb sp!, {r4, lr}
|
|
ldr r0, _021EA5BC ; =_0221A6B8
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1dc
|
|
add r0, r0, #0x1000
|
|
bl sub_020D2618
|
|
ldr r0, _021EA5BC ; =_0221A6B8
|
|
ldr r1, [r0]
|
|
add r0, r1, #0x1dc
|
|
add r1, r1, #0x1000
|
|
add r0, r0, #0x1000
|
|
ldr r4, [r1]
|
|
bl sub_020D269C
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021EA5BC: .word _0221A6B8
|
|
arm_func_end ov00_021EA580
|
|
|
|
arm_func_start ov00_021EA5C0
|
|
ov00_021EA5C0: ; 0x021EA5C0
|
|
ldr r0, _021EA5D4 ; =_0221A6B8
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1000
|
|
ldr r0, [r0, #4]
|
|
bx lr
|
|
.align 2, 0
|
|
_021EA5D4: .word _0221A6B8
|
|
arm_func_end ov00_021EA5C0
|
|
|
|
arm_func_start ov00_021EA5D8
|
|
ov00_021EA5D8: ; 0x021EA5D8
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #8
|
|
ldr r0, _021EA658 ; =_0221A6B8
|
|
ldr r1, [r0]
|
|
add r0, r1, #0x1000
|
|
ldr r0, [r0, #0x188]
|
|
cmp r0, #0
|
|
beq _021EA610
|
|
add r0, r1, #0x11c
|
|
add r0, r0, #0x1000
|
|
bl sub_020D1E68
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, pc}
|
|
_021EA610:
|
|
ldr r0, _021EA658 ; =_0221A6B8
|
|
mov r3, #0x1000
|
|
ldr r2, [r0]
|
|
ldr r1, _021EA65C ; =ov00_021EA660
|
|
add r0, r2, #0x11c
|
|
str r3, [sp]
|
|
mov ip, #0x10
|
|
add r0, r0, #0x1000
|
|
add r3, r2, #0x1000
|
|
str ip, [sp, #4]
|
|
bl sub_020D1AD4
|
|
ldr r0, _021EA658 ; =_0221A6B8
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x11c
|
|
add r0, r0, #0x1000
|
|
bl sub_020D1F34
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EA658: .word _0221A6B8
|
|
_021EA65C: .word ov00_021EA660
|
|
arm_func_end ov00_021EA5D8
|
|
|
|
arm_func_start ov00_021EA660
|
|
ov00_021EA660: ; 0x021EA660
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x29c
|
|
ldr r5, _021EB4E4 ; =_0221A6B8
|
|
mov sb, #0
|
|
ldr r0, [r5]
|
|
mov fp, sb
|
|
add r0, r0, #0x1000
|
|
ldr r7, [r0, #0x108]
|
|
ldr r8, [r0, #0x10c]
|
|
mvn r0, #2
|
|
str r0, [sp, #0x20]
|
|
sub r0, r0, #1
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x20]
|
|
mov sl, sb
|
|
sub r0, r0, #2
|
|
str r0, [sp, #0x28]
|
|
ldr r0, _021EB4E8 ; =0x00009C40
|
|
mov r4, sb
|
|
mov r0, r0, lsr #1
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x20]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x1c]
|
|
_021EA6C0:
|
|
ldr r0, _021EB4EC ; =_022168DC
|
|
ldr r1, _021EB4F0 ; =_0221A6D0
|
|
ldr r0, [r0]
|
|
str r0, [r5, #0x18]
|
|
mov r0, #1
|
|
str r0, [r5, #0x1c]
|
|
mov r0, #0x1000
|
|
str r0, [r5, #0x20]
|
|
str r7, [r5, #0x24]
|
|
ldr r0, [sp, #0x18]
|
|
str r8, [r5, #0x28]
|
|
str r0, [r5, #0x30]
|
|
ldr r0, [r5]
|
|
add r2, r0, #0x1000
|
|
ldr r0, [sp, #0x1c]
|
|
str r0, [r2, #4]
|
|
ldr r0, [r5, #0x14]
|
|
bl ov00_021E8FA0
|
|
cmp r0, #0
|
|
beq _021EA728
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #1
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EA728:
|
|
ldr r0, [r5, #0x14]
|
|
bl ov00_021E90BC
|
|
cmp r0, #0
|
|
beq _021EA750
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #1
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EA750:
|
|
ldr r0, _021EB4F4 ; =0x021E16A0
|
|
ldr r0, [r0, #4]
|
|
bl sub_020D2100
|
|
sub r1, r0, #1
|
|
ldr r0, [r5, #0x14]
|
|
bl ov00_021E9154
|
|
ldr r1, [r5, #0x14]
|
|
add r0, r1, #0x1000
|
|
ldr r0, [r0, #0xba4]
|
|
cmp r0, #0
|
|
beq _021EA788
|
|
add r0, r1, #0x338
|
|
add r0, r0, #0x1800
|
|
bl sub_020D1E38
|
|
_021EA788:
|
|
ldr r0, [r5, #0x14]
|
|
add r1, r0, #0x1000
|
|
ldr r1, [r1, #0x20]
|
|
cmp r1, #2
|
|
beq _021EA7A8
|
|
cmp r1, #8
|
|
beq _021EA7D4
|
|
b _021EA7BC
|
|
_021EA7A8:
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
mvn r1, #0
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1000
|
|
str r1, [r0, #4]
|
|
_021EA7BC:
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #3
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EA7D4:
|
|
mov r1, #0
|
|
bl ov00_021E9F2C
|
|
cmp r0, #1
|
|
beq _021EA7FC
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #2
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EA7FC:
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, _021EB4F8 ; =_022169F0
|
|
bl ov00_021EA1CC
|
|
bl sub_020EB82C
|
|
mov r6, r0
|
|
ldr r0, _021EB4FC ; =0x021E58C0
|
|
ldr r0, [r0]
|
|
cmp r0, #0x22
|
|
bne _021EA82C
|
|
mov r0, #2
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EA82C:
|
|
cmp r6, #0xc8
|
|
beq _021EA844
|
|
ldr r0, _021EB500 ; =0x0000012E
|
|
cmp r6, r0
|
|
beq _021EA858
|
|
b _021EAB40
|
|
_021EA844:
|
|
ldr r0, [r5, #0x14]
|
|
add r0, r0, #0x1000
|
|
ldr r0, [r0, #0x12c]
|
|
str r0, [r5, #8]
|
|
b _021EAB58
|
|
_021EA858:
|
|
mov r0, #1
|
|
str r0, [r5, #4]
|
|
ldr r0, [r5]
|
|
add r0, r0, #0x1000
|
|
ldr r1, [r0, #0x118]
|
|
cmp r1, #0
|
|
beq _021EAAA8
|
|
ldr r1, _021EB4E4 ; =_0221A6B8
|
|
mvn r2, #5
|
|
str r2, [r0, #4]
|
|
ldr r0, [r1, #0x14]
|
|
bl ov00_021E9754
|
|
ldr r0, _021EB504 ; =_02216420
|
|
ldr r2, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
str r0, [r2, #0x18]
|
|
str r1, [r2, #0x1c]
|
|
mov r1, #0x200
|
|
str r1, [r2, #0x20]
|
|
str r7, [r2, #0x24]
|
|
ldr r3, _021EB508 ; =0x00004E20
|
|
str r8, [r2, #0x28]
|
|
ldr r1, _021EB50C ; =_022169FC
|
|
str r3, [r2, #0x30]
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
ldrne r0, _021EB4E4 ; =_0221A6B8
|
|
movne r1, #1
|
|
strne r1, [r0, #0x2c]
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r1, _021EB4F0 ; =_0221A6D0
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E8FA0
|
|
cmp r0, #0
|
|
beq _021EA900
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #1
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EA900:
|
|
add r0, sp, #0x44
|
|
bl ov00_021E8984
|
|
cmp r0, #0
|
|
beq _021EA92C
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
add r1, sp, #0x44
|
|
ldr r0, [r0, #0x14]
|
|
mov r2, #1
|
|
bl ov00_021E8C5C
|
|
cmp r0, #0
|
|
bne _021EA944
|
|
_021EA92C:
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #8
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EA944:
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r1, _021EB510 ; =_02216A1C
|
|
ldr r0, [r0, #0x14]
|
|
ldr r2, _021EB514 ; =_02216A24
|
|
mov r3, #7
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
bne _021EA99C
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1000
|
|
ldr r4, [r0, #0x118]
|
|
mov r0, r4
|
|
bl sub_020E9580
|
|
ldr r1, _021EB4E4 ; =_0221A6B8
|
|
mov r3, r0
|
|
ldr r0, [r1, #0x14]
|
|
ldr r1, _021EB518 ; =_02216A2C
|
|
mov r2, r4
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
beq _021EA9B4
|
|
_021EA99C:
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #8
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EA9B4:
|
|
ldr r1, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, _021EB51C ; =_02216954
|
|
ldr r1, [r1]
|
|
mov r2, #0
|
|
add r1, r1, #0x1000
|
|
ldr r1, [r1, #0x118]
|
|
blx r8
|
|
ldr r1, _021EB4E4 ; =_0221A6B8
|
|
mov r2, #0
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x1000
|
|
str r2, [r0, #0x118]
|
|
ldr r0, [r1, #0x14]
|
|
bl ov00_021E90BC
|
|
cmp r0, #0
|
|
beq _021EAA0C
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #1
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAA0C:
|
|
ldr r0, _021EB4F4 ; =0x021E16A0
|
|
ldr r0, [r0, #4]
|
|
bl sub_020D2100
|
|
ldr r2, _021EB4E4 ; =_0221A6B8
|
|
sub r1, r0, #1
|
|
ldr r0, [r2, #0x14]
|
|
bl ov00_021E9154
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r1, [r0, #0x14]
|
|
add r0, r1, #0x1000
|
|
ldr r0, [r0, #0xba4]
|
|
cmp r0, #0
|
|
beq _021EAA4C
|
|
add r0, r1, #0x338
|
|
add r0, r0, #0x1800
|
|
bl sub_020D1E38
|
|
_021EAA4C:
|
|
ldr r2, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r2, #0x14]
|
|
add r1, r0, #0x1000
|
|
ldr r1, [r1, #0x20]
|
|
cmp r1, #2
|
|
beq _021EAA70
|
|
cmp r1, #8
|
|
beq _021EAA98
|
|
b _021EAA80
|
|
_021EAA70:
|
|
ldr r0, [r2]
|
|
mvn r1, #0
|
|
add r0, r0, #0x1000
|
|
str r1, [r0, #4]
|
|
_021EAA80:
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #3
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAA98:
|
|
bl ov00_021E9754
|
|
mov r0, #7
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAAA8:
|
|
ldr r0, [r5, #0x14]
|
|
add r1, r0, #0x1000
|
|
ldr r1, [r1, #0xa08]
|
|
str r1, [sp, #0x14]
|
|
cmp r1, #0
|
|
bne _021EAAD0
|
|
bl ov00_021E9754
|
|
mov r0, #2
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAAD0:
|
|
mov r0, r1
|
|
bl sub_020E9580
|
|
add r1, r0, #1
|
|
ldr r0, _021EB520 ; =_02216988
|
|
blx r7
|
|
ldr r1, [r5]
|
|
add r1, r1, #0x1000
|
|
str r0, [r1, #0x114]
|
|
ldr r0, [r5]
|
|
add r0, r0, #0x1000
|
|
ldr r0, [r0, #0x114]
|
|
str r0, [sp, #4]
|
|
cmp r0, #0
|
|
bne _021EAB20
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #4
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAB20:
|
|
ldr r0, [sp, #0x14]
|
|
bl sub_020E9580
|
|
mov r2, r0
|
|
ldr r1, [sp, #0x14]
|
|
ldr r0, [sp, #4]
|
|
add r2, r2, #1
|
|
bl sub_020E9664
|
|
b _021EAB58
|
|
_021EAB40:
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #0xa
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAB58:
|
|
ldr r0, [r5, #0x14]
|
|
bl ov00_021E9754
|
|
add r0, sp, #0x30
|
|
bl sub_0209E430
|
|
ldr r2, [sp, #0x30]
|
|
ldr r1, [sp, #0x34]
|
|
mov r0, #0
|
|
cmp r1, r0
|
|
cmpeq r2, r4
|
|
bne _021EAC88
|
|
ldr r1, [r5]
|
|
ldr r0, _021EB524 ; =_0221A6EC
|
|
add r2, r1, #0x1000
|
|
ldr r1, [sp, #0x20]
|
|
str r1, [r2, #4]
|
|
mov r1, #0
|
|
strh r1, [r5, #0x34]
|
|
strb r1, [r5, #0x68]
|
|
ldr r1, [r5]
|
|
add r1, r1, #0x1000
|
|
ldr r2, [r1, #0x108]
|
|
str r2, [r5, #0x74]
|
|
ldr r1, [r1, #0x10c]
|
|
str r1, [r5, #0x78]
|
|
ldr r1, [r5, #0x14]
|
|
bl ov00_021E7B70
|
|
cmp r0, #0
|
|
beq _021EABD4
|
|
mov r0, #5
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EABD4:
|
|
bl ov00_021E7E2C
|
|
bl ov00_021E7E5C
|
|
cmp r0, #0x15
|
|
beq _021EAC84
|
|
bl ov00_021E7E5C
|
|
cmp r0, #9
|
|
bne _021EAC08
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
mvn r1, #0
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1000
|
|
str r1, [r0, #4]
|
|
b _021EAC74
|
|
_021EAC08:
|
|
add r0, sp, #0xd8
|
|
bl ov00_021E7EA8
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #1
|
|
bne _021EAC60
|
|
ldr r1, [sp, #0xd8]
|
|
ldr r0, _021EB528 ; =0xFFFFA4FA
|
|
cmp r1, r0
|
|
beq _021EAC3C
|
|
bl ov00_021E7E5C
|
|
cmp r0, #0xb
|
|
bne _021EAC60
|
|
_021EAC3C:
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1000
|
|
str r1, [r0, #4]
|
|
bl ov00_021E7DD4
|
|
mov r0, #0xb
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAC60:
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r1, [sp, #0xd8]
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1000
|
|
str r1, [r0, #4]
|
|
_021EAC74:
|
|
bl ov00_021E7DD4
|
|
mov r0, #6
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAC84:
|
|
bl ov00_021E7DD4
|
|
_021EAC88:
|
|
cmp r6, #0xc8
|
|
bne _021EACB0
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
mov r0, #0xb
|
|
add r1, r1, #0x1000
|
|
str r2, [r1, #4]
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EACB0:
|
|
ldr r0, [r5]
|
|
ldr r1, _021EB50C ; =_022169FC
|
|
add r2, r0, #0x1000
|
|
ldr r0, [sp, #0x24]
|
|
str r0, [r2, #4]
|
|
ldr r0, _021EB504 ; =_02216420
|
|
mov r2, #0
|
|
ldr r0, [r0]
|
|
str r0, [r5, #0x18]
|
|
str r2, [r5, #0x1c]
|
|
mov r2, #0x1000
|
|
str r2, [r5, #0x20]
|
|
str r7, [r5, #0x24]
|
|
ldr r2, _021EB4E8 ; =0x00009C40
|
|
str r8, [r5, #0x28]
|
|
str r2, [r5, #0x30]
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
strne r0, [r5, #0x2c]
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, _021EB4F0 ; =_0221A6D0
|
|
bl ov00_021E8FA0
|
|
cmp r0, #0
|
|
beq _021EAD2C
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #1
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAD2C:
|
|
add r0, sp, #0x44
|
|
bl ov00_021E8984
|
|
cmp r0, #0
|
|
beq _021EAD54
|
|
ldr r0, [r5, #0x14]
|
|
add r1, sp, #0x44
|
|
mov r2, #1
|
|
bl ov00_021E8C5C
|
|
cmp r0, #0
|
|
bne _021EAD6C
|
|
_021EAD54:
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #8
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAD6C:
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, _021EB510 ; =_02216A1C
|
|
ldr r2, _021EB52C ; =_02216A3C
|
|
mov r3, #5
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
bne _021EADB8
|
|
ldr r0, [r5]
|
|
add r0, r0, #0x1000
|
|
ldr r6, [r0, #0x114]
|
|
mov r0, r6
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, _021EB530 ; =_02216A44
|
|
mov r2, r6
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
beq _021EADD0
|
|
_021EADB8:
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #8
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EADD0:
|
|
ldr r1, [r5]
|
|
ldr r0, _021EB534 ; =_02216938
|
|
add r1, r1, #0x1000
|
|
ldr r1, [r1, #0x114]
|
|
mov r2, #0
|
|
blx r8
|
|
ldr r0, [r5]
|
|
add r1, r0, #0x1000
|
|
mov r0, #0
|
|
str r0, [r1, #0x114]
|
|
ldr r0, [r5, #0x14]
|
|
bl ov00_021E90BC
|
|
cmp r0, #0
|
|
beq _021EAE20
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #1
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAE20:
|
|
ldr r0, _021EB4F4 ; =0x021E16A0
|
|
ldr r0, [r0, #4]
|
|
bl sub_020D2100
|
|
sub r1, r0, #1
|
|
ldr r0, [r5, #0x14]
|
|
bl ov00_021E9154
|
|
ldr r1, [r5, #0x14]
|
|
add r0, r1, #0x1000
|
|
ldr r0, [r0, #0xba4]
|
|
cmp r0, #0
|
|
beq _021EAE58
|
|
add r0, r1, #0x338
|
|
add r0, r0, #0x1800
|
|
bl sub_020D1E38
|
|
_021EAE58:
|
|
ldr r0, [r5, #0x14]
|
|
add r1, r0, #0x1000
|
|
ldr r1, [r1, #0x20]
|
|
cmp r1, #2
|
|
beq _021EAEBC
|
|
cmp r1, #3
|
|
beq _021EAE80
|
|
cmp r1, #8
|
|
beq _021EAEE8
|
|
b _021EAED0
|
|
_021EAE80:
|
|
bl ov00_021E9754
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r1, [r0, #0xc]
|
|
cmp r1, #1
|
|
bne _021EAEB0
|
|
ldr r0, [r0]
|
|
mov r2, #0
|
|
add r1, r0, #0x1000
|
|
mov r0, #0xb
|
|
str r2, [r1, #4]
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAEB0:
|
|
mov r0, #3
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAEBC:
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
mvn r1, #0
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1000
|
|
str r1, [r0, #4]
|
|
_021EAED0:
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #3
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAEE8:
|
|
mov r1, #0
|
|
bl ov00_021E9F2C
|
|
cmp r0, #1
|
|
beq _021EAF10
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #2
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAF10:
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, _021EB4F8 ; =_022169F0
|
|
bl ov00_021EA1CC
|
|
bl sub_020EB82C
|
|
mov r6, r0
|
|
ldr r0, _021EB4FC ; =0x021E58C0
|
|
ldr r0, [r0]
|
|
cmp r0, #0x22
|
|
bne _021EAF4C
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #2
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAF4C:
|
|
cmp r6, #0xc8
|
|
beq _021EAFA0
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
ldr r1, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r1, #0xc]
|
|
cmp r0, #1
|
|
ldreq r0, _021EB500 ; =0x0000012E
|
|
cmpeq r6, r0
|
|
bne _021EAF94
|
|
ldr r0, [r1]
|
|
mov r2, #0
|
|
add r1, r0, #0x1000
|
|
mov r0, #0xb
|
|
str r2, [r1, #4]
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAF94:
|
|
mov r0, #2
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAFA0:
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, _021EB538 ; =_02216A4C
|
|
add r2, sp, #0x2c
|
|
mov r3, #4
|
|
bl ov00_021EA224
|
|
cmp r0, #0
|
|
bgt _021EAFD4
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #9
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EAFD4:
|
|
add r0, sp, #0x2c
|
|
bl sub_020EB82C
|
|
ldr r1, _021EB4FC ; =0x021E58C0
|
|
ldr r1, [r1]
|
|
cmp r1, #0x22
|
|
bne _021EB004
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #9
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB004:
|
|
ldr r1, [r5, #0xc]
|
|
cmp r1, #1
|
|
cmpeq r0, #0x72
|
|
bne _021EB034
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
mov r0, #0xb
|
|
add r1, r1, #0x1000
|
|
str r2, [r1, #4]
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB034:
|
|
cmp r0, #0x64
|
|
blt _021EB054
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #6
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB054:
|
|
mov r2, #0
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, _021EB53C ; =_02216A58
|
|
mov r3, r2
|
|
bl ov00_021EA224
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
bgt _021EB08C
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #9
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB08C:
|
|
mov r2, #0
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, _021EB540 ; =_02216A5C
|
|
mov r3, r2
|
|
bl ov00_021EA224
|
|
str r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
bgt _021EB0C4
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #9
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB0C4:
|
|
mov r2, #0
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, _021EB544 ; =_02216A64
|
|
mov r3, r2
|
|
bl ov00_021EA224
|
|
ldr r1, [sp, #0x10]
|
|
mov r6, r0
|
|
ldr r0, _021EB548 ; =_022169A4
|
|
add r1, r1, #1
|
|
blx r7
|
|
movs sb, r0
|
|
bne _021EB10C
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #4
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB10C:
|
|
ldr r1, [sp, #0xc]
|
|
ldr r0, _021EB54C ; =_022169B0
|
|
add r1, r1, #1
|
|
blx r7
|
|
movs fp, r0
|
|
bne _021EB13C
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #4
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB13C:
|
|
cmp r6, #0
|
|
ble _021EB170
|
|
ldr r0, _021EB550 ; =_022169C0
|
|
add r1, r6, #1
|
|
blx r7
|
|
movs sl, r0
|
|
bne _021EB170
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #4
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB170:
|
|
ldr r0, [sp, #0x10]
|
|
ldr r1, _021EB53C ; =_02216A58
|
|
add r3, r0, #1
|
|
ldr r0, [r5, #0x14]
|
|
mov r2, sb
|
|
bl ov00_021EA224
|
|
cmp r0, #0
|
|
bge _021EB1A8
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #9
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB1A8:
|
|
ldr r1, [sp, #0xc]
|
|
mov r2, fp
|
|
add r3, r1, #1
|
|
mov r1, #0
|
|
strb r1, [sb, r0]
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, _021EB540 ; =_02216A5C
|
|
bl ov00_021EA224
|
|
cmp r0, #0
|
|
bge _021EB1E8
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #9
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB1E8:
|
|
mov r1, #0
|
|
strb r1, [fp, r0]
|
|
mov r0, r1
|
|
cmp r6, #0
|
|
str r0, [sp, #8]
|
|
ble _021EB284
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, _021EB544 ; =_02216A64
|
|
add r3, r6, #1
|
|
mov r2, sl
|
|
bl ov00_021EA224
|
|
cmp r0, #0
|
|
bge _021EB234
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #9
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB234:
|
|
mov r1, #0
|
|
strb r1, [sl, r0]
|
|
mov r0, sl
|
|
bl sub_020EB82C
|
|
ldr r1, _021EB4FC ; =0x021E58C0
|
|
ldr r1, [r1]
|
|
cmp r1, #0x22
|
|
bne _021EB26C
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #9
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB26C:
|
|
mov r1, #0x3e8
|
|
mul r1, r0, r1
|
|
ldr r0, _021EB554 ; =0x0002BF20
|
|
str r1, [sp, #8]
|
|
cmp r1, r0
|
|
strgt r0, [sp, #8]
|
|
_021EB284:
|
|
ldr r0, [r5, #0x14]
|
|
bl ov00_021E9754
|
|
ldr r0, [r5]
|
|
ldr r1, _021EB4F0 ; =_0221A6D0
|
|
add r2, r0, #0x1000
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [r2, #4]
|
|
str sb, [r5, #0x18]
|
|
mov r0, #0
|
|
str r0, [r5, #0x1c]
|
|
mov r0, #0x1000
|
|
str r0, [r5, #0x20]
|
|
str r7, [r5, #0x24]
|
|
ldr r0, _021EB558 ; =0x0001D4C0
|
|
str r8, [r5, #0x28]
|
|
str r0, [r5, #0x30]
|
|
ldr r0, [r5, #0x14]
|
|
bl ov00_021E8FA0
|
|
cmp r0, #0
|
|
beq _021EB2EC
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #1
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB2EC:
|
|
ldr r0, [r5, #0x14]
|
|
mov r1, fp
|
|
bl ov00_021E9AB0
|
|
cmp r0, #0
|
|
beq _021EB318
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #8
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB318:
|
|
ldr r0, [r5, #0x14]
|
|
bl ov00_021E90BC
|
|
cmp r0, #0
|
|
beq _021EB340
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #1
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB340:
|
|
ldr r0, _021EB4F4 ; =0x021E16A0
|
|
ldr r0, [r0, #4]
|
|
bl sub_020D2100
|
|
sub r1, r0, #1
|
|
ldr r0, [r5, #0x14]
|
|
bl ov00_021E9154
|
|
ldr r1, [r5, #0x14]
|
|
add r0, r1, #0x1000
|
|
ldr r0, [r0, #0xba4]
|
|
cmp r0, #0
|
|
beq _021EB378
|
|
add r0, r1, #0x338
|
|
add r0, r0, #0x1800
|
|
bl sub_020D1E38
|
|
_021EB378:
|
|
ldr r0, [r5, #0x14]
|
|
add r1, r0, #0x1000
|
|
ldr r1, [r1, #0x20]
|
|
cmp r1, #2
|
|
beq _021EB398
|
|
cmp r1, #8
|
|
beq _021EB3C4
|
|
b _021EB3AC
|
|
_021EB398:
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
mvn r1, #0
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1000
|
|
str r1, [r0, #4]
|
|
_021EB3AC:
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #3
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB3C4:
|
|
mov r1, #1
|
|
bl ov00_021E9F2C
|
|
cmp r0, #1
|
|
beq _021EB3EC
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #2
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB3EC:
|
|
ldr r0, [r5, #0x14]
|
|
add r1, r0, #0x1000
|
|
ldr r6, [r1, #0xa08]
|
|
cmp r6, #0
|
|
bne _021EB410
|
|
bl ov00_021E9754
|
|
mov r0, #2
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB410:
|
|
mov r0, r6
|
|
bl sub_020E9580
|
|
add r1, r0, #1
|
|
ldr r0, _021EB55C ; =_022169D0
|
|
blx r7
|
|
ldr r1, [r5]
|
|
add r1, r1, #0x1000
|
|
str r0, [r1, #0x118]
|
|
ldr r0, [r5]
|
|
add r0, r0, #0x1000
|
|
ldr r0, [r0, #0x118]
|
|
str r0, [sp]
|
|
cmp r0, #0
|
|
bne _021EB460
|
|
ldr r0, _021EB4E4 ; =_0221A6B8
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021E9754
|
|
mov r0, #4
|
|
bl ov00_021EB56C
|
|
b _021EB490
|
|
_021EB460:
|
|
mov r0, r6
|
|
bl sub_020E9580
|
|
mov r2, r0
|
|
ldr r0, [sp]
|
|
mov r1, r6
|
|
add r2, r2, #1
|
|
bl sub_020E9664
|
|
ldr r0, [r5, #0x14]
|
|
bl ov00_021E9754
|
|
ldr r0, [sp, #8]
|
|
bl sub_020D2108
|
|
b _021EA6C0
|
|
_021EB490:
|
|
cmp sb, #0
|
|
beq _021EB4A8
|
|
ldr r0, _021EB560 ; =_02216A6C
|
|
mov r1, sb
|
|
mov r2, #0
|
|
blx r8
|
|
_021EB4A8:
|
|
cmp fp, #0
|
|
beq _021EB4C0
|
|
ldr r0, _021EB564 ; =_02216A78
|
|
mov r1, fp
|
|
mov r2, #0
|
|
blx r8
|
|
_021EB4C0:
|
|
cmp sl, #0
|
|
addeq sp, sp, #0x29c
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r0, _021EB568 ; =_02216A84
|
|
mov r1, sl
|
|
mov r2, #0
|
|
blx r8
|
|
add sp, sp, #0x29c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021EB4E4: .word _0221A6B8
|
|
_021EB4E8: .word 0x00009C40
|
|
_021EB4EC: .word _022168DC
|
|
_021EB4F0: .word _0221A6D0
|
|
_021EB4F4: .word 0x021E16A0
|
|
_021EB4F8: .word _022169F0
|
|
_021EB4FC: .word 0x021E58C0
|
|
_021EB500: .word 0x0000012E
|
|
_021EB504: .word _02216420
|
|
_021EB508: .word 0x00004E20
|
|
_021EB50C: .word _022169FC
|
|
_021EB510: .word _02216A1C
|
|
_021EB514: .word _02216A24
|
|
_021EB518: .word _02216A2C
|
|
_021EB51C: .word _02216954
|
|
_021EB520: .word _02216988
|
|
_021EB524: .word _0221A6EC
|
|
_021EB528: .word 0xFFFFA4FA
|
|
_021EB52C: .word _02216A3C
|
|
_021EB530: .word _02216A44
|
|
_021EB534: .word _02216938
|
|
_021EB538: .word _02216A4C
|
|
_021EB53C: .word _02216A58
|
|
_021EB540: .word _02216A5C
|
|
_021EB544: .word _02216A64
|
|
_021EB548: .word _022169A4
|
|
_021EB54C: .word _022169B0
|
|
_021EB550: .word _022169C0
|
|
_021EB554: .word 0x0002BF20
|
|
_021EB558: .word 0x0001D4C0
|
|
_021EB55C: .word _022169D0
|
|
_021EB560: .word _02216A6C
|
|
_021EB564: .word _02216A78
|
|
_021EB568: .word _02216A84
|
|
arm_func_end ov00_021EA660
|
|
|
|
arm_func_start ov00_021EB56C
|
|
ov00_021EB56C: ; 0x021EB56C
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _021EB5AC ; =_0221A6B8
|
|
mov r4, r0
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x1dc
|
|
add r0, r0, #0x1000
|
|
bl sub_020D2618
|
|
ldr r1, _021EB5AC ; =_0221A6B8
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x1000
|
|
str r4, [r0]
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x1dc
|
|
add r0, r0, #0x1000
|
|
bl sub_020D269C
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021EB5AC: .word _0221A6B8
|
|
arm_func_end ov00_021EB56C
|
|
|
|
arm_func_start ov00_021EB5B0
|
|
ov00_021EB5B0: ; 0x021EB5B0
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x3c
|
|
mov r6, r0
|
|
bl sub_020E9580
|
|
mov r4, r0
|
|
ldr r0, _021EB7BC ; =_02216AF0
|
|
bl sub_020E9580
|
|
cmp r4, r0
|
|
ldreqsb r0, [r6, #7]
|
|
cmpeq r0, #0x20
|
|
ldreqsb r0, [r6, #0xb]
|
|
cmpeq r0, #0x20
|
|
ldreqsb r0, [r6, #0x10]
|
|
cmpeq r0, #0x20
|
|
ldreqsb r0, [r6, #0x13]
|
|
cmpeq r0, #0x3a
|
|
ldreqsb r0, [r6, #0x16]
|
|
cmpeq r0, #0x3a
|
|
ldreqsb r0, [r6, #0x19]
|
|
cmpeq r0, #0x20
|
|
bne _021EB7B0
|
|
add r0, sp, #0x2c
|
|
add r1, sp, #0x20
|
|
bl sub_020DBBFC
|
|
cmp r0, #0
|
|
bne _021EB7B0
|
|
add r0, sp, #0x2c
|
|
add r1, sp, #0x20
|
|
bl sub_020DC330
|
|
mov r4, r0
|
|
mov r5, r1
|
|
mvn r0, #0
|
|
cmp r5, r0
|
|
cmpeq r4, r0
|
|
beq _021EB7B0
|
|
add r0, sp, #0
|
|
mov r1, r6
|
|
bl sub_020E959C
|
|
mov r2, #0
|
|
ldr r1, _021EB7C0 ; =0x021E58C0
|
|
add r0, sp, #0xc
|
|
strb r2, [sp, #7]
|
|
strb r2, [sp, #0xb]
|
|
strb r2, [sp, #0x10]
|
|
strb r2, [sp, #0x13]
|
|
strb r2, [sp, #0x16]
|
|
strb r2, [sp, #0x19]
|
|
str r2, [r1]
|
|
bl sub_020EB82C
|
|
ldr r1, _021EB7C0 ; =0x021E58C0
|
|
str r0, [sp, #0x2c]
|
|
ldr r1, [r1]
|
|
cmp r1, #0x22
|
|
beq _021EB7B0
|
|
sub r1, r0, #0x7d0
|
|
mov r0, #0xd
|
|
ldr r7, _021EB7C4 ; =_02216AC0
|
|
str r1, [sp, #0x2c]
|
|
str r0, [sp, #0x30]
|
|
mov r8, #0
|
|
add r6, sp, #8
|
|
_021EB6A4:
|
|
ldr r0, [r7, r8, lsl #2]
|
|
mov r1, r6
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
addeq r0, r8, #1
|
|
streq r0, [sp, #0x30]
|
|
beq _021EB6CC
|
|
add r8, r8, #1
|
|
cmp r8, #0xc
|
|
blt _021EB6A4
|
|
_021EB6CC:
|
|
ldr r0, [sp, #0x30]
|
|
cmp r0, #0xc
|
|
bhi _021EB7B0
|
|
ldr r1, _021EB7C0 ; =0x021E58C0
|
|
mov r2, #0
|
|
add r0, sp, #5
|
|
str r2, [r1]
|
|
bl sub_020EB82C
|
|
ldr r1, _021EB7C0 ; =0x021E58C0
|
|
str r0, [sp, #0x34]
|
|
ldr r0, [r1]
|
|
cmp r0, #0x22
|
|
beq _021EB7B0
|
|
mov r2, #0
|
|
add r0, sp, #0x11
|
|
str r2, [r1]
|
|
bl sub_020EB82C
|
|
ldr r1, _021EB7C0 ; =0x021E58C0
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [r1]
|
|
cmp r0, #0x22
|
|
beq _021EB7B0
|
|
mov r2, #0
|
|
add r0, sp, #0x14
|
|
str r2, [r1]
|
|
bl sub_020EB82C
|
|
ldr r1, _021EB7C0 ; =0x021E58C0
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [r1]
|
|
cmp r0, #0x22
|
|
beq _021EB7B0
|
|
mov r2, #0
|
|
add r0, sp, #0x17
|
|
str r2, [r1]
|
|
bl sub_020EB82C
|
|
ldr r1, _021EB7C0 ; =0x021E58C0
|
|
str r0, [sp, #0x28]
|
|
ldr r0, [r1]
|
|
cmp r0, #0x22
|
|
beq _021EB7B0
|
|
add r0, sp, #0x2c
|
|
add r1, sp, #0x20
|
|
bl sub_020DC330
|
|
mvn r2, #0
|
|
cmp r1, r2
|
|
cmpeq r0, r2
|
|
beq _021EB7B0
|
|
ldr r2, _021EB7C8 ; =_0221A734
|
|
subs r0, r4, r0
|
|
str r0, [r2, #0xc]
|
|
sbc r0, r5, r1
|
|
str r0, [r2, #0x10]
|
|
stmib r2, {r4, r5}
|
|
mov r0, #1
|
|
str r0, [r2]
|
|
add sp, sp, #0x3c
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_021EB7B0:
|
|
mov r0, #0
|
|
add sp, sp, #0x3c
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_021EB7BC: .word _02216AF0
|
|
_021EB7C0: .word 0x021E58C0
|
|
_021EB7C4: .word _02216AC0
|
|
_021EB7C8: .word _0221A734
|
|
arm_func_end ov00_021EB5B0
|
|
|
|
arm_func_start ov00_021EB7CC
|
|
ov00_021EB7CC: ; 0x021EB7CC
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r2, _021EB854 ; =_0221A748
|
|
mov r5, r0
|
|
ldr r0, [r2]
|
|
mov r4, r1
|
|
cmp r0, #0
|
|
beq _021EB7FC
|
|
ldr r1, _021EB858 ; =0xFFFFA1DC
|
|
mov r0, #9
|
|
bl ov00_021EC24C
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021EB7FC:
|
|
ldr r0, _021EB85C ; =_02216B10
|
|
ldr r1, _021EB860 ; =0x00001C20
|
|
blx r5
|
|
ldr r1, _021EB854 ; =_0221A748
|
|
cmp r0, #0
|
|
str r0, [r1]
|
|
bne _021EB82C
|
|
ldr r1, _021EB858 ; =0xFFFFA1DC
|
|
mov r0, #9
|
|
bl ov00_021EC24C
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021EB82C:
|
|
ldr r2, _021EB860 ; =0x00001C20
|
|
mov r1, #0
|
|
bl sub_020D4994
|
|
ldr r1, _021EB854 ; =_0221A748
|
|
mov r0, #1
|
|
ldr r2, [r1]
|
|
str r5, [r2]
|
|
ldr r1, [r1]
|
|
str r4, [r1, #4]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021EB854: .word _0221A748
|
|
_021EB858: .word 0xFFFFA1DC
|
|
_021EB85C: .word _02216B10
|
|
_021EB860: .word 0x00001C20
|
|
arm_func_end ov00_021EB7CC
|
|
|
|
arm_func_start ov00_021EB864
|
|
ov00_021EB864: ; 0x021EB864
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021EB8A8 ; =_0221A748
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
add r0, r0, #8
|
|
bl ov00_021E9754
|
|
ldr r1, _021EB8A8 ; =_0221A748
|
|
ldr r0, _021EB8AC ; =_02216B20
|
|
ldr r1, [r1]
|
|
mov r2, #0
|
|
ldr r3, [r1, #4]
|
|
blx r3
|
|
ldr r0, _021EB8A8 ; =_0221A748
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EB8A8: .word _0221A748
|
|
_021EB8AC: .word _02216B20
|
|
arm_func_end ov00_021EB864
|
|
|
|
arm_func_start ov00_021EB8B0
|
|
ov00_021EB8B0: ; 0x021EB8B0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0xb0
|
|
ldr r2, _021EBAF4 ; =_0221A748
|
|
mov r5, r0
|
|
ldr r2, [r2]
|
|
mov r0, r1
|
|
add r2, r2, #0x1000
|
|
str r1, [r2, #0xc1c]
|
|
mov r1, #0
|
|
mov r2, #0x174
|
|
bl sub_020D4994
|
|
ldr r0, _021EBAF4 ; =_0221A748
|
|
ldr r1, [r0]
|
|
add r0, r1, #0x1000
|
|
ldr r0, [r0, #0xbac]
|
|
cmp r0, #0
|
|
beq _021EB908
|
|
add r0, r1, #0x1b40
|
|
bl sub_020D1E68
|
|
cmp r0, #0
|
|
bne _021EB908
|
|
bl sub_020D3F48
|
|
_021EB908:
|
|
ldr r0, _021EBAF8 ; =_02216420
|
|
ldr r1, _021EBAF4 ; =_0221A748
|
|
ldr r0, [r0]
|
|
mov r3, #0
|
|
ldr r4, [r1]
|
|
mov r2, #0x1000
|
|
str r0, [sp]
|
|
str r3, [sp, #4]
|
|
str r2, [sp, #8]
|
|
ldr r2, [r4]
|
|
ldr r1, _021EBAFC ; =_02216B30
|
|
str r2, [sp, #0xc]
|
|
ldr r2, [r4, #4]
|
|
str r2, [sp, #0x10]
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
strne r0, [sp, #0x14]
|
|
moveq r0, #0
|
|
ldr r2, _021EBB00 ; =0x00004E20
|
|
streq r0, [sp, #0x14]
|
|
add r1, sp, #0
|
|
add r0, r4, #8
|
|
str r2, [sp, #0x18]
|
|
bl ov00_021E8FA0
|
|
cmp r0, #0
|
|
beq _021EB98C
|
|
ldr r1, _021EBB04 ; =0xFFFFA1DC
|
|
mov r0, #9
|
|
bl ov00_021EC24C
|
|
add sp, sp, #0xb0
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021EB98C:
|
|
add r0, sp, #0x1c
|
|
bl ov00_021E8984
|
|
cmp r0, #0
|
|
beq _021EB9BC
|
|
ldr r0, _021EBAF4 ; =_0221A748
|
|
add r1, sp, #0x1c
|
|
ldr r0, [r0]
|
|
mov r2, #0
|
|
add r0, r0, #8
|
|
bl ov00_021E8C5C
|
|
cmp r0, #0
|
|
bne _021EB9E4
|
|
_021EB9BC:
|
|
ldr r0, _021EBAF4 ; =_0221A748
|
|
ldr r0, [r0]
|
|
add r0, r0, #8
|
|
bl ov00_021E9754
|
|
ldr r1, _021EBB04 ; =0xFFFFA1DC
|
|
mov r0, #9
|
|
bl ov00_021EC24C
|
|
add sp, sp, #0xb0
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021EB9E4:
|
|
ldr r0, _021EBAF4 ; =_0221A748
|
|
ldr r1, _021EBB08 ; =_02216B50
|
|
ldr r0, [r0]
|
|
ldr r2, _021EBB0C ; =_02216B58
|
|
add r0, r0, #8
|
|
mov r3, #6
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
bne _021EBA2C
|
|
ldr r0, _021EBAF4 ; =_0221A748
|
|
ldr r1, _021EBB10 ; =_02216B60
|
|
ldr r0, [r0]
|
|
mov r2, r5
|
|
add r0, r0, #8
|
|
mov r3, #4
|
|
bl ov00_021E99A4
|
|
cmp r0, #0
|
|
beq _021EBA54
|
|
_021EBA2C:
|
|
ldr r0, _021EBAF4 ; =_0221A748
|
|
ldr r0, [r0]
|
|
add r0, r0, #8
|
|
bl ov00_021E9754
|
|
ldr r1, _021EBB04 ; =0xFFFFA1DC
|
|
mov r0, #9
|
|
bl ov00_021EC24C
|
|
add sp, sp, #0xb0
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021EBA54:
|
|
ldr r0, _021EBAF4 ; =_0221A748
|
|
ldr r0, [r0]
|
|
add r0, r0, #8
|
|
bl ov00_021E90BC
|
|
cmp r0, #0
|
|
beq _021EBA94
|
|
ldr r0, _021EBAF4 ; =_0221A748
|
|
ldr r0, [r0]
|
|
add r0, r0, #8
|
|
bl ov00_021E9754
|
|
ldr r1, _021EBB04 ; =0xFFFFA1DC
|
|
mov r0, #9
|
|
bl ov00_021EC24C
|
|
add sp, sp, #0xb0
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021EBA94:
|
|
ldr r0, _021EBB14 ; =0x021E16A0
|
|
ldr r0, [r0, #4]
|
|
bl sub_020D2100
|
|
ldr r1, _021EBAF4 ; =_0221A748
|
|
ldr r2, [r1]
|
|
sub r1, r0, #1
|
|
add r0, r2, #8
|
|
bl ov00_021E9154
|
|
ldr r0, _021EBAF4 ; =_0221A748
|
|
ldr r1, [r0]
|
|
add r0, r1, #0x1000
|
|
ldr r0, [r0, #0xbac]
|
|
cmp r0, #0
|
|
addne sp, sp, #0xb0
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
add r0, r1, #8
|
|
bl ov00_021E9754
|
|
ldr r1, _021EBB04 ; =0xFFFFA1DC
|
|
mov r0, #9
|
|
bl ov00_021EC24C
|
|
mov r0, #0
|
|
add sp, sp, #0xb0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021EBAF4: .word _0221A748
|
|
_021EBAF8: .word _02216420
|
|
_021EBAFC: .word _02216B30
|
|
_021EBB00: .word 0x00004E20
|
|
_021EBB04: .word 0xFFFFA1DC
|
|
_021EBB08: .word _02216B50
|
|
_021EBB0C: .word _02216B58
|
|
_021EBB10: .word _02216B60
|
|
_021EBB14: .word 0x021E16A0
|
|
arm_func_end ov00_021EB8B0
|
|
|
|
arm_func_start ov00_021EBB18
|
|
ov00_021EBB18: ; 0x021EBB18
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021EBBE4 ; =_0221A748
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
add r0, r1, #0x1000
|
|
ldr r0, [r0, #0xbac]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, pc}
|
|
add r0, r1, #0x1b40
|
|
bl sub_020D1E68
|
|
cmp r0, #1
|
|
bne _021EBBDC
|
|
ldr r0, _021EBBE4 ; =_0221A748
|
|
ldr r1, [r0]
|
|
add r0, r1, #0x1000
|
|
ldr r0, [r0, #0x28]
|
|
cmp r0, #7
|
|
beq _021EBBB0
|
|
cmp r0, #8
|
|
bne _021EBBC0
|
|
bl ov00_021EBBEC
|
|
cmp r0, #0
|
|
bne _021EBB98
|
|
ldr r0, _021EBBE4 ; =_0221A748
|
|
ldr r0, [r0]
|
|
add r0, r0, #8
|
|
bl ov00_021E9754
|
|
mov r0, #4
|
|
ldmia sp!, {r3, pc}
|
|
_021EBB98:
|
|
ldr r0, _021EBBE4 ; =_0221A748
|
|
ldr r0, [r0]
|
|
add r0, r0, #8
|
|
bl ov00_021E9754
|
|
mov r0, #3
|
|
ldmia sp!, {r3, pc}
|
|
_021EBBB0:
|
|
add r0, r1, #8
|
|
bl ov00_021E9754
|
|
mov r0, #5
|
|
ldmia sp!, {r3, pc}
|
|
_021EBBC0:
|
|
add r0, r1, #8
|
|
bl ov00_021E9754
|
|
ldr r1, _021EBBE8 ; =0xFFFFA1DB
|
|
mov r0, #0x11
|
|
bl ov00_021EC24C
|
|
mov r0, #4
|
|
ldmia sp!, {r3, pc}
|
|
_021EBBDC:
|
|
mov r0, #2
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EBBE4: .word _0221A748
|
|
_021EBBE8: .word 0xFFFFA1DB
|
|
arm_func_end ov00_021EBB18
|
|
|
|
arm_func_start ov00_021EBBEC
|
|
ov00_021EBBEC: ; 0x021EBBEC
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
ldr r0, _021EBDDC ; =_0221A748
|
|
mov r1, #0
|
|
ldr r4, [r0]
|
|
add r0, r4, #8
|
|
bl ov00_021E9F2C
|
|
cmp r0, #0
|
|
bne _021EBC28
|
|
ldr r1, _021EBDE0 ; =0xFFFF9DF3
|
|
mov r0, #0x10
|
|
bl ov00_021EC24C
|
|
add sp, sp, #4
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, pc}
|
|
_021EBC28:
|
|
ldr r1, _021EBDE4 ; =_02216B64
|
|
add r0, r4, #8
|
|
bl ov00_021EA1CC
|
|
cmp r0, #0
|
|
beq _021EBC40
|
|
bl ov00_021EB5B0
|
|
_021EBC40:
|
|
ldr r1, _021EBDE8 ; =_02216B6C
|
|
add r0, r4, #8
|
|
bl ov00_021EA1CC
|
|
cmp r0, #0
|
|
bne _021EBC6C
|
|
ldr r1, _021EBDE0 ; =0xFFFF9DF3
|
|
mov r0, #0x10
|
|
bl ov00_021EC24C
|
|
add sp, sp, #4
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, pc}
|
|
_021EBC6C:
|
|
bl sub_020EB82C
|
|
ldr r1, _021EBDEC ; =0x021E58C0
|
|
mov r2, r0
|
|
ldr r0, [r1]
|
|
cmp r0, #0x22
|
|
bne _021EBC9C
|
|
ldr r1, _021EBDE0 ; =0xFFFF9DF3
|
|
mov r0, #0x10
|
|
bl ov00_021EC24C
|
|
add sp, sp, #4
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, pc}
|
|
_021EBC9C:
|
|
cmp r2, #0xc8
|
|
beq _021EBCC0
|
|
ldr r1, _021EBDF0 ; =0xFFFF9E58
|
|
mov r0, #0x10
|
|
sub r1, r1, r2
|
|
bl ov00_021EC24C
|
|
add sp, sp, #4
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, pc}
|
|
_021EBCC0:
|
|
ldr r1, _021EBDF4 ; =_02216B78
|
|
add r2, sp, #0
|
|
add r0, r4, #8
|
|
mov r3, #4
|
|
bl ov00_021EA224
|
|
cmp r0, #0
|
|
bgt _021EBCF4
|
|
ldr r1, _021EBDE0 ; =0xFFFF9DF3
|
|
mov r0, #0x10
|
|
bl ov00_021EC24C
|
|
add sp, sp, #4
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, pc}
|
|
_021EBCF4:
|
|
add r0, sp, #0
|
|
bl sub_020EB82C
|
|
ldr r1, _021EBDEC ; =0x021E58C0
|
|
mov r2, r0
|
|
ldr r0, [r1]
|
|
cmp r0, #0x22
|
|
bne _021EBD28
|
|
ldr r1, _021EBDE0 ; =0xFFFF9DF3
|
|
mov r0, #0x10
|
|
bl ov00_021EC24C
|
|
add sp, sp, #4
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, pc}
|
|
_021EBD28:
|
|
cmp r2, #0x64
|
|
blt _021EBD4C
|
|
ldr r1, _021EBDF8 ; =0xFFFFA240
|
|
mov r0, #0x10
|
|
sub r1, r1, r2
|
|
bl ov00_021EC24C
|
|
add sp, sp, #4
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, pc}
|
|
_021EBD4C:
|
|
ldr r0, _021EBDDC ; =_0221A748
|
|
ldr r1, _021EBDFC ; =_02216B84
|
|
ldr r2, [r0]
|
|
add r0, r4, #8
|
|
add r2, r2, #0x1000
|
|
ldr r2, [r2, #0xc1c]
|
|
mov r3, #0x40
|
|
add r2, r2, #4
|
|
bl ov00_021EA224
|
|
ldr r0, _021EBDDC ; =_0221A748
|
|
ldr r1, _021EBE00 ; =_02216B8C
|
|
ldr r2, [r0]
|
|
add r0, r4, #8
|
|
add r2, r2, #0x1000
|
|
ldr r2, [r2, #0xc1c]
|
|
mov r3, #0x12c
|
|
add r2, r2, #0x45
|
|
bl ov00_021EA224
|
|
ldr r1, _021EBE04 ; =_02216B9C
|
|
add r2, sp, #0
|
|
add r0, r4, #8
|
|
mov r3, #1
|
|
bl ov00_021EA224
|
|
ldrsb r0, [sp]
|
|
cmp r0, #0x59
|
|
ldreq r0, _021EBDDC ; =_0221A748
|
|
moveq r1, #1
|
|
ldrne r0, _021EBDDC ; =_0221A748
|
|
movne r1, #0
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1000
|
|
ldr r0, [r0, #0xc1c]
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
_021EBDDC: .word _0221A748
|
|
_021EBDE0: .word 0xFFFF9DF3
|
|
_021EBDE4: .word _02216B64
|
|
_021EBDE8: .word _02216B6C
|
|
_021EBDEC: .word 0x021E58C0
|
|
_021EBDF0: .word 0xFFFF9E58
|
|
_021EBDF4: .word _02216B78
|
|
_021EBDF8: .word 0xFFFFA240
|
|
_021EBDFC: .word _02216B84
|
|
_021EBE00: .word _02216B8C
|
|
_021EBE04: .word _02216B9C
|
|
arm_func_end ov00_021EBBEC
|
|
|
|
arm_func_start ov00_021EBE08
|
|
ov00_021EBE08: ; 0x021EBE08
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #8
|
|
ldr r4, _021EBF88 ; =0xAAAAAAAB
|
|
str r2, [sp]
|
|
umull r4, r5, r1, r4
|
|
mov r6, #3
|
|
mov r5, r5, lsr #1
|
|
umull r4, r5, r6, r5
|
|
mov sl, r0
|
|
subs r5, r1, r4
|
|
movne r5, #4
|
|
ldr r2, _021EBF88 ; =0xAAAAAAAB
|
|
ldr r0, [sp]
|
|
moveq r5, #0
|
|
cmp r0, #0
|
|
umull r0, r4, r1, r2
|
|
mov r4, r4, lsr #1
|
|
addeq sp, sp, #8
|
|
add r0, r5, r4, lsl #2
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
cmp r3, r0
|
|
addlo sp, sp, #8
|
|
mvnlo r0, #0
|
|
ldmloia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
add r7, sl, r1
|
|
ldr r8, [sp]
|
|
cmp sl, r7
|
|
beq _021EBF78
|
|
sub fp, r2, #-0x80000000
|
|
ldr r5, _021EBF8C ; =_02216BA8
|
|
mov r4, fp
|
|
_021EBE84:
|
|
sub sb, r7, sl
|
|
mov r0, sb, lsl #3
|
|
smull r1, r2, r4, r0
|
|
add r2, r2, r0, lsr #31
|
|
mov r1, #6
|
|
smull r2, r3, r1, r2
|
|
subs r2, r0, r2
|
|
smull r1, r2, fp, r0
|
|
movne r3, #1
|
|
moveq r3, #0
|
|
add r2, r2, r0, lsr #31
|
|
cmp sb, #3
|
|
add r6, r2, r3
|
|
movge sb, #3
|
|
add r0, sp, #4
|
|
mov r1, #0
|
|
mov r2, #3
|
|
bl sub_020D4994
|
|
mov r0, sl
|
|
add r1, sp, #4
|
|
mov r2, sb
|
|
bl sub_020D4A50
|
|
ldrb r0, [sp, #4]
|
|
ldr r1, [r5]
|
|
cmp r6, #2
|
|
mov r0, r0, asr #2
|
|
ldrsb r0, [r1, r0]
|
|
strb r0, [r8]
|
|
movlt r0, #0x2a
|
|
blt _021EBF18
|
|
ldrb r2, [sp, #4]
|
|
ldrb r1, [sp, #5]
|
|
ldr r0, [r5]
|
|
mov r2, r2, lsl #4
|
|
and r2, r2, #0x3f
|
|
orr r1, r2, r1, asr #4
|
|
ldrsb r0, [r0, r1]
|
|
_021EBF18:
|
|
strb r0, [r8, #1]
|
|
cmp r6, #3
|
|
movlt r0, #0x2a
|
|
blt _021EBF44
|
|
ldrb r2, [sp, #5]
|
|
ldrb r1, [sp, #6]
|
|
ldr r0, [r5]
|
|
mov r2, r2, lsl #2
|
|
and r2, r2, #0x3f
|
|
orr r1, r2, r1, asr #6
|
|
ldrsb r0, [r0, r1]
|
|
_021EBF44:
|
|
strb r0, [r8, #2]
|
|
cmp r6, #4
|
|
movlt r0, #0x2a
|
|
blt _021EBF64
|
|
ldrb r0, [sp, #6]
|
|
ldr r1, [r5]
|
|
and r0, r0, #0x3f
|
|
ldrsb r0, [r1, r0]
|
|
_021EBF64:
|
|
add sl, sl, sb
|
|
strb r0, [r8, #3]
|
|
cmp sl, r7
|
|
add r8, r8, #4
|
|
bne _021EBE84
|
|
_021EBF78:
|
|
ldr r0, [sp]
|
|
sub r0, r8, r0
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021EBF88: .word 0xAAAAAAAB
|
|
_021EBF8C: .word _02216BA8
|
|
arm_func_end ov00_021EBE08
|
|
|
|
arm_func_start ov00_021EBF90
|
|
ov00_021EBF90: ; 0x021EBF90
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
tst r1, #3
|
|
mvnne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r5, #0
|
|
mov ip, r5
|
|
cmp r1, #0
|
|
bls _021EBFC8
|
|
_021EBFB0:
|
|
ldrsb r4, [r0, ip]
|
|
add ip, ip, #1
|
|
cmp r4, #0x2a
|
|
addne r5, r5, #6
|
|
cmp ip, r1
|
|
blo _021EBFB0
|
|
_021EBFC8:
|
|
mov ip, r5, asr #2
|
|
add ip, r5, ip, lsr #29
|
|
mov ip, ip, asr #3
|
|
cmp r2, #0
|
|
moveq r0, ip
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
cmp r3, ip
|
|
mvnlo r0, #0
|
|
ldmloia sp!, {r3, r4, r5, r6, r7, pc}
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r2]
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r1, r2
|
|
_021EC000:
|
|
mov r7, #0
|
|
add r6, sp, #0
|
|
mov r3, r7
|
|
mov r4, #0x3f
|
|
mov lr, #0x3e
|
|
_021EC014:
|
|
ldrsb r5, [r0, r7]
|
|
cmp r5, #0x41
|
|
blt _021EC030
|
|
cmp r5, #0x5a
|
|
suble r5, r5, #0x41
|
|
strleb r5, [r6]
|
|
ble _021EC078
|
|
_021EC030:
|
|
cmp r5, #0x61
|
|
blt _021EC048
|
|
cmp r5, #0x7a
|
|
suble r5, r5, #0x47
|
|
strleb r5, [r6]
|
|
ble _021EC078
|
|
_021EC048:
|
|
cmp r5, #0x30
|
|
blt _021EC060
|
|
cmp r5, #0x39
|
|
addle r5, r5, #4
|
|
strleb r5, [r6]
|
|
ble _021EC078
|
|
_021EC060:
|
|
cmp r5, #0x2e
|
|
streqb lr, [r6]
|
|
beq _021EC078
|
|
cmp r5, #0x2d
|
|
streqb r4, [r6]
|
|
strneb r3, [r6]
|
|
_021EC078:
|
|
add r7, r7, #1
|
|
cmp r7, #4
|
|
add r6, r6, #1
|
|
blt _021EC014
|
|
ldrsb r4, [sp, #1]
|
|
ldrsb lr, [sp]
|
|
add r3, r1, #1
|
|
mov r4, r4, asr #4
|
|
orr r4, r4, lr, lsl #2
|
|
sub r3, r3, r2
|
|
strb r4, [r1]
|
|
cmp r3, ip
|
|
add r0, r0, #4
|
|
bge _021EC0F4
|
|
ldrsb lr, [sp, #2]
|
|
ldrsb r4, [sp, #1]
|
|
add r3, r1, #2
|
|
mov lr, lr, asr #2
|
|
orr r4, lr, r4, lsl #4
|
|
sub r3, r3, r2
|
|
strb r4, [r1, #1]
|
|
cmp r3, ip
|
|
bge _021EC0F4
|
|
ldrsb lr, [sp, #2]
|
|
ldrsb r3, [sp, #3]
|
|
orr r3, r3, lr, lsl #6
|
|
strb r3, [r1, #2]
|
|
add r1, r1, #3
|
|
sub r3, r1, r2
|
|
cmp r3, ip
|
|
blt _021EC000
|
|
_021EC0F4:
|
|
mov r0, r3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_021EBF90
|
|
|
|
arm_func_start ov00_021EC0FC
|
|
ov00_021EC0FC: ; 0x021EC0FC
|
|
cmp r0, #0
|
|
ldrne r1, _021EC118 ; =_0221A74C
|
|
ldrne r1, [r1, #4]
|
|
strne r1, [r0]
|
|
ldr r0, _021EC118 ; =_0221A74C
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_021EC118: .word _0221A74C
|
|
arm_func_end ov00_021EC0FC
|
|
|
|
arm_func_start ov00_021EC11C
|
|
ov00_021EC11C: ; 0x021EC11C
|
|
cmp r0, #0
|
|
ldrne r2, _021EC20C ; =_0221A74C
|
|
ldrne r2, [r2, #4]
|
|
strne r2, [r0]
|
|
cmp r1, #0
|
|
beq _021EC200
|
|
ldr r0, _021EC20C ; =_0221A74C
|
|
ldr r0, [r0]
|
|
cmp r0, #0x13
|
|
addls pc, pc, r0, lsl #2
|
|
b _021EC1F8
|
|
_021EC148: ; jump table
|
|
b _021EC1F8 ; case 0
|
|
b _021EC1C8 ; case 1
|
|
b _021EC198 ; case 2
|
|
b _021EC198 ; case 3
|
|
b _021EC198 ; case 4
|
|
b _021EC198 ; case 5
|
|
b _021EC1A4 ; case 6
|
|
b _021EC1B0 ; case 7
|
|
b _021EC198 ; case 8
|
|
b _021EC1C8 ; case 9
|
|
b _021EC1BC ; case 10
|
|
b _021EC1BC ; case 11
|
|
b _021EC1BC ; case 12
|
|
b _021EC1BC ; case 13
|
|
b _021EC1D4 ; case 14
|
|
b _021EC1E0 ; case 15
|
|
b _021EC1EC ; case 16
|
|
b _021EC1E0 ; case 17
|
|
b _021EC1EC ; case 18
|
|
b _021EC1E0 ; case 19
|
|
_021EC198:
|
|
mov r0, #6
|
|
str r0, [r1]
|
|
b _021EC200
|
|
_021EC1A4:
|
|
mov r0, #3
|
|
str r0, [r1]
|
|
b _021EC200
|
|
_021EC1B0:
|
|
mov r0, #4
|
|
str r0, [r1]
|
|
b _021EC200
|
|
_021EC1BC:
|
|
mov r0, #1
|
|
str r0, [r1]
|
|
b _021EC200
|
|
_021EC1C8:
|
|
mov r0, #7
|
|
str r0, [r1]
|
|
b _021EC200
|
|
_021EC1D4:
|
|
mov r0, #5
|
|
str r0, [r1]
|
|
b _021EC200
|
|
_021EC1E0:
|
|
mov r0, #6
|
|
str r0, [r1]
|
|
b _021EC200
|
|
_021EC1EC:
|
|
mov r0, #2
|
|
str r0, [r1]
|
|
b _021EC200
|
|
_021EC1F8:
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
_021EC200:
|
|
ldr r0, _021EC20C ; =_0221A74C
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_021EC20C: .word _0221A74C
|
|
arm_func_end ov00_021EC11C
|
|
|
|
arm_func_start ov00_021EC210
|
|
ov00_021EC210: ; 0x021EC210
|
|
ldr r0, _021EC22C ; =_0221A74C
|
|
ldr r1, [r0]
|
|
cmp r1, #9
|
|
movne r1, #0
|
|
strne r1, [r0]
|
|
strne r1, [r0, #4]
|
|
bx lr
|
|
.align 2, 0
|
|
_021EC22C: .word _0221A74C
|
|
arm_func_end ov00_021EC210
|
|
|
|
arm_func_start ov00_021EC230
|
|
ov00_021EC230: ; 0x021EC230
|
|
ldr r0, _021EC248 ; =_0221A74C
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_021EC248: .word _0221A74C
|
|
arm_func_end ov00_021EC230
|
|
|
|
arm_func_start ov00_021EC24C
|
|
ov00_021EC24C: ; 0x021EC24C
|
|
ldr r2, _021EC260 ; =_0221A74C
|
|
ldr r3, [r2]
|
|
cmp r3, #9
|
|
stmneia r2, {r0, r1}
|
|
bx lr
|
|
.align 2, 0
|
|
_021EC260: .word _0221A74C
|
|
arm_func_end ov00_021EC24C
|
|
|
|
arm_func_start ov00_021EC264
|
|
ov00_021EC264: ; 0x021EC264
|
|
sub r0, r0, #0x20
|
|
bx lr
|
|
arm_func_end ov00_021EC264
|
|
|
|
arm_func_start ov00_021EC26C
|
|
ov00_021EC26C: ; 0x021EC26C
|
|
ldr r2, _021EC280 ; =0x4457434D
|
|
str r2, [r0]
|
|
str r1, [r0, #4]
|
|
add r0, r0, #0x20
|
|
bx lr
|
|
.align 2, 0
|
|
_021EC280: .word 0x4457434D
|
|
arm_func_end ov00_021EC26C
|
|
|
|
arm_func_start ov00_021EC284
|
|
ov00_021EC284: ; 0x021EC284
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021EC264
|
|
ldr r0, [r0, #4]
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021EC284
|
|
|
|
arm_func_start ov00_021EC294
|
|
ov00_021EC294: ; 0x021EC294
|
|
ldr r2, _021EC2A4 ; =_0221A754
|
|
str r0, [r2, #4]
|
|
str r1, [r2]
|
|
bx lr
|
|
.align 2, 0
|
|
_021EC2A4: .word _0221A754
|
|
arm_func_end ov00_021EC294
|
|
|
|
arm_func_start ov00_021EC2A8
|
|
ov00_021EC2A8: ; 0x021EC2A8
|
|
ldr ip, _021EC2B4 ; =ov00_021EC2B8
|
|
mov r2, #0x20
|
|
bx ip
|
|
.align 2, 0
|
|
_021EC2B4: .word ov00_021EC2B8
|
|
arm_func_end ov00_021EC2A8
|
|
|
|
arm_func_start ov00_021EC2B8
|
|
ov00_021EC2B8: ; 0x021EC2B8
|
|
stmdb sp!, {r4, lr}
|
|
ldr r3, _021EC2E8 ; =_0221A754
|
|
mov r4, r1
|
|
ldr r3, [r3, #4]
|
|
add r1, r4, #0x20
|
|
blx r3
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r1, r4
|
|
bl ov00_021EC26C
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021EC2E8: .word _0221A754
|
|
arm_func_end ov00_021EC2B8
|
|
|
|
arm_func_start ov00_021EC2EC
|
|
ov00_021EC2EC: ; 0x021EC2EC
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r1
|
|
bl ov00_021EC264
|
|
mov r1, r0
|
|
ldr r0, _021EC324 ; =_0221A754
|
|
ldr r2, [r1, #4]
|
|
ldr r3, [r0]
|
|
mov r0, r4
|
|
add r2, r2, #0x20
|
|
blx r3
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021EC324: .word _0221A754
|
|
arm_func_end ov00_021EC2EC
|
|
|
|
arm_func_start ov00_021EC328
|
|
ov00_021EC328: ; 0x021EC328
|
|
stmdb sp!, {r3, lr}
|
|
mov ip, #0x20
|
|
str ip, [sp]
|
|
bl ov00_021EC33C
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021EC328
|
|
|
|
arm_func_start ov00_021EC33C
|
|
ov00_021EC33C: ; 0x021EC33C
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
mov r5, r3
|
|
mov r7, r1
|
|
ldr r2, [sp, #0x18]
|
|
mov r1, r5
|
|
mov r8, r0
|
|
bl ov00_021EC2B8
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
cmp r7, #0
|
|
beq _021EC3A0
|
|
mov r0, r7
|
|
bl ov00_021EC284
|
|
mov r6, r0
|
|
cmp r6, r5
|
|
movls r5, r6
|
|
mov r0, r7
|
|
mov r1, r4
|
|
mov r2, r5
|
|
bl sub_020D4A50
|
|
mov r0, r8
|
|
mov r1, r7
|
|
mov r2, r6
|
|
bl ov00_021EC2EC
|
|
_021EC3A0:
|
|
mov r0, r4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
arm_func_end ov00_021EC33C
|
|
|
|
arm_func_start ov00_021EC3A8
|
|
ov00_021EC3A8: ; 0x021EC3A8
|
|
ldr ip, _021EC3B8 ; =ov00_021EC2A8
|
|
mov r1, r0
|
|
mov r0, #5
|
|
bx ip
|
|
.align 2, 0
|
|
_021EC3B8: .word ov00_021EC2A8
|
|
arm_func_end ov00_021EC3A8
|
|
|
|
arm_func_start ov00_021EC3BC
|
|
ov00_021EC3BC: ; 0x021EC3BC
|
|
ldr ip, _021EC3D4 ; =ov00_021EC328
|
|
mov r2, r1
|
|
mov r1, r0
|
|
mov r3, r2
|
|
mov r0, #5
|
|
bx ip
|
|
.align 2, 0
|
|
_021EC3D4: .word ov00_021EC328
|
|
arm_func_end ov00_021EC3BC
|
|
|
|
arm_func_start ov00_021EC3D8
|
|
ov00_021EC3D8: ; 0x021EC3D8
|
|
ldr ip, _021EC3EC ; =ov00_021EC2EC
|
|
mov r1, r0
|
|
mov r0, #5
|
|
mov r2, #0
|
|
bx ip
|
|
.align 2, 0
|
|
_021EC3EC: .word ov00_021EC2EC
|
|
arm_func_end ov00_021EC3D8
|
|
|
|
arm_func_start ov00_021EC3F0
|
|
ov00_021EC3F0: ; 0x021EC3F0
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r2, _021EC450 ; =_0221A75C
|
|
mov r4, r0
|
|
ldr r2, [r2, #4]
|
|
mov r6, r1
|
|
mov r5, r3
|
|
cmp r2, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r1, #0
|
|
mov r2, #0x64
|
|
bl sub_020D4994
|
|
strh r6, [r4, #8]
|
|
mov r0, #1
|
|
strh r0, [r4, #0xa]
|
|
strh r0, [r4, #4]
|
|
mov r0, #0
|
|
strh r0, [r4, #6]
|
|
strb r0, [r4, #0xc]
|
|
ldr r1, _021EC450 ; =_0221A75C
|
|
str r0, [r4, #0x10]
|
|
mov r0, r5
|
|
str r4, [r1, #4]
|
|
bl sub_020A8868
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021EC450: .word _0221A75C
|
|
arm_func_end ov00_021EC3F0
|
|
|
|
arm_func_start ov00_021EC454
|
|
ov00_021EC454: ; 0x021EC454
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
beq _021EC474
|
|
cmp r0, #1
|
|
beq _021EC480
|
|
cmp r0, #2
|
|
beq _021EC48C
|
|
ldmia sp!, {r3, pc}
|
|
_021EC474:
|
|
ldr r0, _021EC498 ; =_02217938
|
|
bl ov00_021E7B60
|
|
ldmia sp!, {r3, pc}
|
|
_021EC480:
|
|
ldr r0, _021EC49C ; =_02217960
|
|
bl ov00_021E7B60
|
|
ldmia sp!, {r3, pc}
|
|
_021EC48C:
|
|
ldr r0, _021EC4A0 ; =_02217984
|
|
bl ov00_021E7B60
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EC498: .word _02217938
|
|
_021EC49C: .word _02217960
|
|
_021EC4A0: .word _02217984
|
|
arm_func_end ov00_021EC454
|
|
|
|
arm_func_start ov00_021EC4A4
|
|
ov00_021EC4A4: ; 0x021EC4A4
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0xc
|
|
ldr r0, _021EC548 ; =_0221A75C
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _021EC534
|
|
ldrh r0, [r0, #4]
|
|
cmp r0, #1
|
|
addne sp, sp, #0xc
|
|
ldmneia sp!, {pc}
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
mov r2, #0xc
|
|
bl sub_020D4994
|
|
ldr r0, _021EC548 ; =_0221A75C
|
|
ldr r3, _021EC54C ; =ov00_021EC2A8
|
|
ldr lr, [r0, #4]
|
|
ldr r2, _021EC550 ; =ov00_021EC2EC
|
|
ldrh ip, [lr, #8]
|
|
add r0, sp, #0
|
|
mov r1, #2
|
|
strb ip, [sp, #8]
|
|
ldrh ip, [lr, #0xa]
|
|
strb ip, [sp, #9]
|
|
str r3, [sp]
|
|
str r2, [sp, #4]
|
|
strh r1, [lr, #4]
|
|
bl ov00_021FA75C
|
|
cmp r0, #0
|
|
addne sp, sp, #0xc
|
|
ldmneia sp!, {pc}
|
|
ldr r1, _021EC554 ; =0xFFFF3BE9
|
|
mov r0, #9
|
|
bl ov00_021EC24C
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {pc}
|
|
_021EC534:
|
|
ldr r1, _021EC554 ; =0xFFFF3BE9
|
|
mov r0, #9
|
|
bl ov00_021EC24C
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {pc}
|
|
.align 2, 0
|
|
_021EC548: .word _0221A75C
|
|
_021EC54C: .word ov00_021EC2A8
|
|
_021EC550: .word ov00_021EC2EC
|
|
_021EC554: .word 0xFFFF3BE9
|
|
arm_func_end ov00_021EC4A4
|
|
|
|
arm_func_start ov00_021EC558
|
|
ov00_021EC558: ; 0x021EC558
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bl ov00_021EC4A4
|
|
ldr r0, _021EC5B0 ; =_0221A75C
|
|
ldr r1, [r0, #4]
|
|
cmp r1, #0
|
|
movne r0, #1
|
|
strneb r0, [r1, #0xc]
|
|
bl ov00_021EC724
|
|
cmp r0, #2
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr ip, [sp, #0x18]
|
|
mov r0, r7
|
|
mov r1, r6
|
|
mov r2, r5
|
|
mov r3, r4
|
|
str ip, [sp]
|
|
bl ov00_021FAB04
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EC5B0: .word _0221A75C
|
|
arm_func_end ov00_021EC558
|
|
|
|
arm_func_start ov00_021EC5B4
|
|
ov00_021EC5B4: ; 0x021EC5B4
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021EC608 ; =_0221A75C
|
|
ldr r1, [r0, #4]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, [r1]
|
|
cmp r0, #0
|
|
beq _021EC600
|
|
mov r0, #3
|
|
strh r0, [r1, #4]
|
|
bl ov00_021EC724
|
|
ldr r0, _021EC608 ; =_0221A75C
|
|
ldr r0, [r0, #4]
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_021EC600:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EC608: .word _0221A75C
|
|
arm_func_end ov00_021EC5B4
|
|
|
|
arm_func_start ov00_021EC60C
|
|
ov00_021EC60C: ; 0x021EC60C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021EC720 ; =_0221A75C
|
|
ldr r1, [r0, #4]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, [r1, #0x10]
|
|
cmp r0, #4
|
|
addls pc, pc, r0, lsl #2
|
|
b _021EC6C0
|
|
_021EC630: ; jump table
|
|
b _021EC6C0 ; case 0
|
|
b _021EC644 ; case 1
|
|
b _021EC660 ; case 2
|
|
b _021EC69C ; case 3
|
|
b _021EC6BC ; case 4
|
|
_021EC644:
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
bl ov00_021FDD3C
|
|
ldr r1, _021EC720 ; =_0221A75C
|
|
ldr r1, [r1, #4]
|
|
str r0, [r1, #0x10]
|
|
ldmia sp!, {r3, pc}
|
|
_021EC660:
|
|
bl ov00_021FE070
|
|
ldr r0, _021EC720 ; =_0221A75C
|
|
mov r1, #8
|
|
ldr r3, [r0, #4]
|
|
str r1, [sp]
|
|
ldr r2, [r3, #0x54]
|
|
add r0, r3, #0x14
|
|
add r1, r3, #0x34
|
|
add r3, r3, #0x58
|
|
bl ov00_021EC558
|
|
ldr r0, _021EC720 ; =_0221A75C
|
|
mov r1, #0
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0, #0x10]
|
|
ldmia sp!, {r3, pc}
|
|
_021EC69C:
|
|
bl ov00_021FE070
|
|
ldr r0, _021EC720 ; =_0221A75C
|
|
mvn r3, #0
|
|
ldr r2, [r0, #4]
|
|
mov r1, #1
|
|
str r3, [r2]
|
|
ldr r0, [r0, #4]
|
|
strb r1, [r0, #0xc]
|
|
_021EC6BC:
|
|
ldmia sp!, {r3, pc}
|
|
_021EC6C0:
|
|
ldrh r0, [r1, #4]
|
|
cmp r0, #2
|
|
bne _021EC6E0
|
|
bl ov00_021FA904
|
|
ldr r1, _021EC720 ; =_0221A75C
|
|
ldr r1, [r1, #4]
|
|
str r0, [r1]
|
|
ldmia sp!, {r3, pc}
|
|
_021EC6E0:
|
|
cmp r0, #4
|
|
ldmneia sp!, {r3, pc}
|
|
ldrh r0, [r1, #6]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl sub_020AE420
|
|
cmp r0, #9
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, _021EC720 ; =_0221A75C
|
|
mov r3, #0
|
|
ldr r2, [r0, #4]
|
|
mov r1, #6
|
|
strh r3, [r2, #6]
|
|
ldr r0, [r0, #4]
|
|
strh r1, [r0, #4]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EC720: .word _0221A75C
|
|
arm_func_end ov00_021EC60C
|
|
|
|
arm_func_start ov00_021EC724
|
|
ov00_021EC724: ; 0x021EC724
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
ldr r0, _021EC8D0 ; =_0221A75C
|
|
ldr r1, [r0, #4]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r1, #0x10]
|
|
cmp r0, #4
|
|
addls pc, pc, r0, lsl #2
|
|
b _021EC7AC
|
|
_021EC74C: ; jump table
|
|
b _021EC7AC ; case 0
|
|
b _021EC760 ; case 1
|
|
b _021EC768 ; case 2
|
|
b _021EC770 ; case 3
|
|
b _021EC7A4 ; case 4
|
|
_021EC760:
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021EC768:
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021EC770:
|
|
bl ov00_021EC60C
|
|
ldr r1, _021EC8D0 ; =_0221A75C
|
|
mov r0, #5
|
|
ldr r1, [r1]
|
|
bl ov00_021EC24C
|
|
ldr r1, _021EC8D0 ; =_0221A75C
|
|
mov r0, #7
|
|
ldr r3, [r1, #4]
|
|
mov r2, #4
|
|
strh r0, [r3, #4]
|
|
ldr r1, [r1, #4]
|
|
str r2, [r1, #0x10]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021EC7A4:
|
|
mov r0, #7
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021EC7AC:
|
|
ldrh r0, [r1, #4]
|
|
cmp r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
bl ov00_021FA9D4
|
|
mov r4, r0
|
|
cmp r4, #5
|
|
bne _021EC7F0
|
|
ldr r1, _021EC8D0 ; =_0221A75C
|
|
mov r0, #4
|
|
ldr r2, [r1, #4]
|
|
mov r3, #1
|
|
strh r0, [r2, #4]
|
|
ldr r2, [r1, #4]
|
|
strh r3, [r2, #6]
|
|
ldr r1, [r1, #4]
|
|
strb r3, [r1, #0xc]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021EC7F0:
|
|
cmp r4, #0
|
|
bge _021EC8C8
|
|
mvn r0, #9
|
|
cmp r4, r0
|
|
blt _021EC824
|
|
ldr r1, _021EC8D4 ; =0xFFFF3BE9
|
|
mov r0, #9
|
|
bl ov00_021EC24C
|
|
ldr r1, _021EC8D0 ; =_0221A75C
|
|
mov r0, #8
|
|
ldr r1, [r1, #4]
|
|
strh r0, [r1, #4]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021EC824:
|
|
ldr r0, _021EC8D0 ; =_0221A75C
|
|
ldr r5, [r0, #4]
|
|
ldrb r1, [r5, #0xc]
|
|
cmp r1, #0
|
|
bne _021EC89C
|
|
ldrh r7, [r5, #8]
|
|
bl sub_020A8858
|
|
ldr r1, _021EC8D0 ; =_0221A75C
|
|
mov r6, r0
|
|
str r4, [r1]
|
|
bl ov00_021EC8D8
|
|
mov r2, r6, lsl #0x10
|
|
mov r3, r2, lsr #0x10
|
|
mov r0, r5
|
|
mov r1, r7
|
|
mov r2, #1
|
|
bl ov00_021EC3F0
|
|
ldr r0, _021EC8D0 ; =_0221A75C
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x14
|
|
bl ov00_021FDCDC
|
|
ldr r0, _021EC8D0 ; =_0221A75C
|
|
mov r3, #1
|
|
ldr r1, [r0, #4]
|
|
mov r2, #0
|
|
str r3, [r1, #0x10]
|
|
ldr r1, [r0, #4]
|
|
mov r0, #2
|
|
str r2, [r1]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021EC89C:
|
|
ldr r0, [r0]
|
|
cmp r0, r4
|
|
movlt r4, r0
|
|
mov r1, r4
|
|
mov r0, #5
|
|
bl ov00_021EC24C
|
|
ldr r1, _021EC8D0 ; =_0221A75C
|
|
mov r0, #7
|
|
ldr r1, [r1, #4]
|
|
strh r0, [r1, #4]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021EC8C8:
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EC8D0: .word _0221A75C
|
|
_021EC8D4: .word 0xFFFF3BE9
|
|
arm_func_end ov00_021EC724
|
|
|
|
arm_func_start ov00_021EC8D8
|
|
ov00_021EC8D8: ; 0x021EC8D8
|
|
stmdb sp!, {r4, lr}
|
|
ldr r0, _021EC934 ; =_0221A75C
|
|
ldr r1, [r0, #4]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldrh r1, [r1, #4]
|
|
cmp r1, #1
|
|
moveq r1, #0
|
|
streq r1, [r0, #4]
|
|
ldmeqia sp!, {r4, pc}
|
|
bl ov00_021FAAC8
|
|
cmp r0, #0
|
|
bne _021EC924
|
|
mov r4, #0xa
|
|
_021EC910:
|
|
mov r0, r4
|
|
bl sub_020D2108
|
|
bl ov00_021FAAC8
|
|
cmp r0, #0
|
|
beq _021EC910
|
|
_021EC924:
|
|
ldr r0, _021EC934 ; =_0221A75C
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021EC934: .word _0221A75C
|
|
arm_func_end ov00_021EC8D8
|
|
|
|
arm_func_start ov00_021EC938
|
|
ov00_021EC938: ; 0x021EC938
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021EC9A4 ; =_0221A75C
|
|
ldr r2, [r0, #4]
|
|
cmp r2, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, pc}
|
|
ldrh r1, [r2, #4]
|
|
cmp r1, #8
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
cmp r1, #1
|
|
bne _021EC978
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
_021EC978:
|
|
mov r0, #5
|
|
strh r0, [r2, #4]
|
|
bl ov00_021FAAC8
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, _021EC9A4 ; =_0221A75C
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EC9A4: .word _0221A75C
|
|
arm_func_end ov00_021EC938
|
|
|
|
arm_func_start ov00_021EC9A8
|
|
ov00_021EC9A8: ; 0x021EC9A8
|
|
ldr r0, _021EC9D0 ; =_0221A75C
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _021EC9C8
|
|
ldrh r0, [r0, #4]
|
|
cmp r0, #6
|
|
moveq r0, #1
|
|
bxeq lr
|
|
_021EC9C8:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_021EC9D0: .word _0221A75C
|
|
arm_func_end ov00_021EC9A8
|
|
|
|
arm_func_start ov00_021EC9D4
|
|
ov00_021EC9D4: ; 0x021EC9D4
|
|
ldr ip, _021EC9DC ; =sub_020B0274
|
|
bx ip
|
|
.align 2, 0
|
|
_021EC9DC: .word sub_020B0274
|
|
arm_func_end ov00_021EC9D4
|
|
|
|
arm_func_start ov00_021EC9E0
|
|
ov00_021EC9E0: ; 0x021EC9E0
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0xc
|
|
mov r1, #0
|
|
mov r2, #0x3c
|
|
mov r4, r0
|
|
bl sub_020D4994
|
|
mov r0, #0xff
|
|
str r0, [r4, #4]
|
|
bl ov00_021EC724
|
|
cmp r0, #4
|
|
addne sp, sp, #0xc
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
bl ov00_021FAA40
|
|
str r0, [r4]
|
|
cmp r0, #0xff
|
|
beq _021ECA2C
|
|
cmp r0, #0x63
|
|
ble _021ECA40
|
|
_021ECA2C:
|
|
mov r0, #0x63
|
|
str r0, [r4]
|
|
add sp, sp, #0xc
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_021ECA40:
|
|
bl sub_020D3A38
|
|
mov r6, r0
|
|
bl sub_020AFF20
|
|
mov r5, r0
|
|
mov r1, #6
|
|
bl sub_020D285C
|
|
cmp r5, #0
|
|
bne _021ECA74
|
|
mov r0, r6
|
|
bl sub_020D3A4C
|
|
add sp, sp, #0xc
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_021ECA74:
|
|
mov r0, r5
|
|
add r1, r4, #0x33
|
|
mov r2, #6
|
|
bl sub_020D4A50
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
blt _021ECAD8
|
|
cmp r0, #3
|
|
bge _021ECAD8
|
|
add r0, sp, #0
|
|
bl sub_020AFF64
|
|
mov r5, r0
|
|
mov r1, #0x20
|
|
bl sub_020D285C
|
|
cmp r5, #0
|
|
bne _021ECAC8
|
|
mov r0, r6
|
|
bl sub_020D3A4C
|
|
add sp, sp, #0xc
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_021ECAC8:
|
|
ldrh r2, [sp]
|
|
mov r0, r5
|
|
add r1, r4, #0x12
|
|
bl sub_020D4A50
|
|
_021ECAD8:
|
|
mov r0, r6
|
|
bl sub_020D3A4C
|
|
add r0, sp, #2
|
|
bl ov00_021FAA70
|
|
cmp r0, #0
|
|
beq _021ECB2C
|
|
ldrb r1, [sp, #2]
|
|
mov r0, #0
|
|
cmp r1, #0x30
|
|
blo _021ECB08
|
|
cmp r1, #0x39
|
|
movls r0, #1
|
|
_021ECB08:
|
|
cmp r0, #0
|
|
subne r3, r1, #0x30
|
|
moveq r3, #0xff
|
|
add r0, sp, #3
|
|
add r1, r4, #8
|
|
mov r2, #9
|
|
str r3, [r4, #4]
|
|
bl sub_020D4A50
|
|
b _021ECB34
|
|
_021ECB2C:
|
|
mov r0, #0xff
|
|
str r0, [r4, #4]
|
|
_021ECB34:
|
|
mov r0, #1
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end ov00_021EC9E0
|
|
|
|
arm_func_start ov00_021ECB40
|
|
ov00_021ECB40: ; 0x021ECB40
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021EC60C
|
|
bl ov00_021EC9A8
|
|
cmp r0, #0
|
|
beq _021ECB88
|
|
bl ov00_021FAA40
|
|
mov r2, r0
|
|
cmp r2, #0xff
|
|
beq _021ECB6C
|
|
cmp r2, #0x63
|
|
bls _021ECB70
|
|
_021ECB6C:
|
|
mov r2, #0x63
|
|
_021ECB70:
|
|
ldr r1, _021ECB90 ; =0xFFFF2D10
|
|
mov r0, #8
|
|
sub r1, r1, r2
|
|
bl ov00_021EC24C
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
_021ECB88:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021ECB90: .word 0xFFFF2D10
|
|
arm_func_end ov00_021ECB40
|
|
|
|
arm_func_start ov00_021ECB94
|
|
ov00_021ECB94: ; 0x021ECB94
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r2, _021ECC58 ; =_0221A734
|
|
mov r5, r0
|
|
ldr r2, [r2]
|
|
mov r4, r1
|
|
cmp r2, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
bl sub_020DBBFC
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl sub_020DC330
|
|
mvn r2, #0
|
|
cmp r1, r2
|
|
cmpeq r0, r2
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r2, _021ECC5C ; =_0221A738
|
|
ldr ip, [r2]
|
|
ldr r3, [r2, #4]
|
|
subs r2, r0, ip
|
|
sbcs r2, r1, r3
|
|
bge _021ECC08
|
|
ldr r2, _021ECC60 ; =0xBC191380
|
|
adds r0, r0, r2
|
|
adc r1, r1, #0
|
|
_021ECC08:
|
|
ldr r2, _021ECC64 ; =_0221A740
|
|
mov ip, #0
|
|
ldr lr, [r2]
|
|
ldr r3, [r2, #4]
|
|
subs r2, r0, lr
|
|
sbc r3, r1, r3
|
|
subs r0, r2, #0
|
|
sbcs r0, r3, #0
|
|
blt _021ECC3C
|
|
ldr r0, _021ECC68 ; =0xBC19137F
|
|
subs r0, r0, r2
|
|
sbcs r0, ip, r3
|
|
bge _021ECC44
|
|
_021ECC3C:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021ECC44:
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl sub_020DC514
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021ECC58: .word _0221A734
|
|
_021ECC5C: .word _0221A738
|
|
_021ECC60: .word 0xBC191380
|
|
_021ECC64: .word _0221A740
|
|
_021ECC68: .word 0xBC19137F
|
|
arm_func_end ov00_021ECB94
|
|
|
|
arm_func_start ov00_021ECC6C
|
|
ov00_021ECC6C: ; 0x021ECC6C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
ldr r0, _021ECCD4 ; =ov00_021EC2A8
|
|
ldr r1, _021ECCD8 ; =ov00_021EC2EC
|
|
bl ov00_021EB7CC
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
bl sub_020E9580
|
|
cmp r0, #0
|
|
bne _021ECCB0
|
|
ldr r0, _021ECCDC ; =_022179A4
|
|
mov r1, r4
|
|
bl ov00_021EB8B0
|
|
b _021ECCBC
|
|
_021ECCB0:
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_021EB8B0
|
|
_021ECCBC:
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
bl ov00_021EB864
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021ECCD4: .word ov00_021EC2A8
|
|
_021ECCD8: .word ov00_021EC2EC
|
|
_021ECCDC: .word _022179A4
|
|
arm_func_end ov00_021ECC6C
|
|
|
|
arm_func_start ov00_021ECCE0
|
|
ov00_021ECCE0: ; 0x021ECCE0
|
|
stmdb sp!, {r4, lr}
|
|
bl ov00_021EBB18
|
|
mov r4, r0
|
|
sub r0, r4, #3
|
|
cmp r0, #2
|
|
bhi _021ECCFC
|
|
bl ov00_021EB864
|
|
_021ECCFC:
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021ECCE0
|
|
|
|
arm_func_start ov00_021ECD04
|
|
ov00_021ECD04: ; 0x021ECD04
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021ECDB0 ; =_0221A764
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021ECD1C
|
|
bl sub_020D3F48
|
|
_021ECD1C:
|
|
ldr r1, _021ECDB4 ; =0x00001E20
|
|
mov r0, #4
|
|
bl ov00_021EC2A8
|
|
ldr r1, _021ECDB0 ; =_0221A764
|
|
cmp r0, #0
|
|
str r0, [r1]
|
|
bne _021ECD4C
|
|
ldr r1, _021ECDB8 ; =0xFFFFB17C
|
|
mov r0, #9
|
|
bl ov00_021EC24C
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_021ECD4C:
|
|
ldr r2, _021ECDB4 ; =0x00001E20
|
|
mov r1, #0
|
|
bl sub_020D4994
|
|
ldr r1, _021ECDB0 ; =_0221A764
|
|
ldr r0, _021ECDBC ; =_022179AC
|
|
ldr r1, [r1]
|
|
mov r2, #9
|
|
add r1, r1, #0x48
|
|
add r1, r1, #0x1c00
|
|
bl sub_020D4A50
|
|
ldr r1, _021ECDB0 ; =_0221A764
|
|
ldr r3, _021ECDC0 ; =ov00_021EC2A8
|
|
ldr r0, [r1]
|
|
ldr r2, _021ECDC4 ; =ov00_021EC2EC
|
|
add r0, r0, #0x1000
|
|
str r3, [r0, #0xc54]
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x1000
|
|
str r2, [r0, #0xc58]
|
|
ldr r1, [r1]
|
|
add r0, r1, #0x14
|
|
add r0, r0, #0x1c00
|
|
bl ov00_021E7B70
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021ECDB0: .word _0221A764
|
|
_021ECDB4: .word 0x00001E20
|
|
_021ECDB8: .word 0xFFFFB17C
|
|
_021ECDBC: .word _022179AC
|
|
_021ECDC0: .word ov00_021EC2A8
|
|
_021ECDC4: .word ov00_021EC2EC
|
|
arm_func_end ov00_021ECD04
|
|
|
|
arm_func_start ov00_021ECDC8
|
|
ov00_021ECDC8: ; 0x021ECDC8
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0x1c4
|
|
ldr r0, _021ECEB8 ; =_0221A764
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x1c4
|
|
moveq r0, #0
|
|
ldmeqia sp!, {pc}
|
|
bl ov00_021E7E5C
|
|
cmp r0, #0
|
|
beq _021ECE08
|
|
cmp r0, #0x14
|
|
beq _021ECE44
|
|
cmp r0, #0x15
|
|
beq _021ECE14
|
|
b _021ECE74
|
|
_021ECE08:
|
|
add sp, sp, #0x1c4
|
|
mov r0, #2
|
|
ldmia sp!, {pc}
|
|
_021ECE14:
|
|
bl ov00_021E7DD4
|
|
ldr r0, _021ECEB8 ; =_0221A764
|
|
ldr r2, _021ECEBC ; =0x00001E20
|
|
ldr r1, [r0]
|
|
mov r0, #4
|
|
bl ov00_021EC2EC
|
|
ldr r0, _021ECEB8 ; =_0221A764
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
add sp, sp, #0x1c4
|
|
mov r0, #3
|
|
ldmia sp!, {pc}
|
|
_021ECE44:
|
|
bl ov00_021E7DD4
|
|
ldr r0, _021ECEB8 ; =_0221A764
|
|
ldr r2, _021ECEBC ; =0x00001E20
|
|
ldr r1, [r0]
|
|
mov r0, #4
|
|
bl ov00_021EC2EC
|
|
ldr r0, _021ECEB8 ; =_0221A764
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
add sp, sp, #0x1c4
|
|
mov r0, #5
|
|
ldmia sp!, {pc}
|
|
_021ECE74:
|
|
add r0, sp, #0
|
|
bl ov00_021E7EA8
|
|
bl ov00_021E7DD4
|
|
ldr r0, _021ECEB8 ; =_0221A764
|
|
ldr r2, _021ECEBC ; =0x00001E20
|
|
ldr r1, [r0]
|
|
mov r0, #4
|
|
bl ov00_021EC2EC
|
|
ldr r1, [sp]
|
|
ldr r2, _021ECEB8 ; =_0221A764
|
|
mov r3, #0
|
|
mov r0, #2
|
|
str r3, [r2]
|
|
bl ov00_021EC24C
|
|
mov r0, #4
|
|
add sp, sp, #0x1c4
|
|
ldmia sp!, {pc}
|
|
.align 2, 0
|
|
_021ECEB8: .word _0221A764
|
|
_021ECEBC: .word 0x00001E20
|
|
arm_func_end ov00_021ECDC8
|
|
|
|
arm_func_start ov00_021ECEC0
|
|
ov00_021ECEC0: ; 0x021ECEC0
|
|
ldr ip, _021ECEC8 ; =ov00_021E7D48
|
|
bx ip
|
|
.align 2, 0
|
|
_021ECEC8: .word ov00_021E7D48
|
|
arm_func_end ov00_021ECEC0
|
|
|
|
arm_func_start ov00_021ECECC
|
|
ov00_021ECECC: ; 0x021ECECC
|
|
ldr ip, _021ECEE0 ; =ov00_021EC2B8
|
|
mov r2, r1
|
|
mov r1, r0
|
|
mov r0, #6
|
|
bx ip
|
|
.align 2, 0
|
|
_021ECEE0: .word ov00_021EC2B8
|
|
arm_func_end ov00_021ECECC
|
|
|
|
arm_func_start ov00_021ECEE4
|
|
ov00_021ECEE4: ; 0x021ECEE4
|
|
ldr ip, _021ECEF8 ; =ov00_021EC2EC
|
|
mov r1, r0
|
|
mov r0, #6
|
|
mov r2, #0
|
|
bx ip
|
|
.align 2, 0
|
|
_021ECEF8: .word ov00_021EC2EC
|
|
arm_func_end ov00_021ECEE4
|
|
|
|
arm_func_start ov00_021ECEFC
|
|
ov00_021ECEFC: ; 0x021ECEFC
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
movs r5, r1
|
|
mov r6, r0
|
|
mov r4, r2
|
|
bne _021ECF24
|
|
ldr r3, _021ECFDC ; =_0221A768
|
|
ldr r3, [r3]
|
|
ldr r3, [r3]
|
|
blx r3
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021ECF24:
|
|
cmp r5, #8
|
|
addls pc, pc, r5, lsl #2
|
|
b _021ECFB8
|
|
_021ECF30: ; jump table
|
|
b _021ECFB8 ; case 0
|
|
b _021ECF54 ; case 1
|
|
b _021ECF64 ; case 2
|
|
b _021ECF6C ; case 3
|
|
b _021ECF7C ; case 4
|
|
b _021ECF8C ; case 5
|
|
b _021ECFBC ; case 6
|
|
b _021ECFA0 ; case 7
|
|
b _021ECFA8 ; case 8
|
|
_021ECF54:
|
|
ldr r1, _021ECFE0 ; =0xFFFF86E7
|
|
mov r0, #9
|
|
bl ov00_021EC24C
|
|
b _021ECFBC
|
|
_021ECF64:
|
|
bl sub_020D3F48
|
|
b _021ECFBC
|
|
_021ECF6C:
|
|
ldr r1, _021ECFE4 ; =0xFFFF86D4
|
|
mov r0, #0xf
|
|
bl ov00_021EC24C
|
|
b _021ECFBC
|
|
_021ECF7C:
|
|
ldr r1, _021ECFE8 ; =0xFFFF86CA
|
|
mov r0, #0xe
|
|
bl ov00_021EC24C
|
|
b _021ECFBC
|
|
_021ECF8C:
|
|
ldr r1, _021ECFEC ; =0xFFFF86E8
|
|
mov r0, #0xe
|
|
sub r1, r1, r4
|
|
bl ov00_021EC24C
|
|
b _021ECFBC
|
|
_021ECFA0:
|
|
bl sub_020D3F48
|
|
b _021ECFBC
|
|
_021ECFA8:
|
|
ldr r1, _021ECFF0 ; =0xFFFF86DF
|
|
mov r0, #9
|
|
bl ov00_021EC24C
|
|
b _021ECFBC
|
|
_021ECFB8:
|
|
bl sub_020D3F48
|
|
_021ECFBC:
|
|
ldr r1, _021ECFDC ; =_0221A768
|
|
mov r0, r6
|
|
ldr r2, [r1]
|
|
mov r1, r5
|
|
ldr r3, [r2]
|
|
mov r2, r4
|
|
blx r3
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021ECFDC: .word _0221A768
|
|
_021ECFE0: .word 0xFFFF86E7
|
|
_021ECFE4: .word 0xFFFF86D4
|
|
_021ECFE8: .word 0xFFFF86CA
|
|
_021ECFEC: .word 0xFFFF86E8
|
|
_021ECFF0: .word 0xFFFF86DF
|
|
arm_func_end ov00_021ECEFC
|
|
|
|
arm_func_start ov00_021ECFF4
|
|
ov00_021ECFF4: ; 0x021ECFF4
|
|
stmdb sp!, {r4, lr}
|
|
ldr r0, _021ED034 ; =_0221A768
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x9c0
|
|
bl sub_020D1E38
|
|
ldr r0, _021ED034 ; =_0221A768
|
|
ldr r0, [r0]
|
|
ldr r4, [r0, #4]
|
|
bl ov00_021ECEE4
|
|
ldr r0, _021ED034 ; =_0221A768
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
cmp r4, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
blx r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021ED034: .word _0221A768
|
|
arm_func_end ov00_021ECFF4
|
|
|
|
arm_func_start ov00_021ED038
|
|
ov00_021ED038: ; 0x021ED038
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x2a0
|
|
mov r7, #0
|
|
mov r6, #6
|
|
mvn r5, #0
|
|
mov r4, #0x64
|
|
_021ED050:
|
|
bl ov00_021ECCE0
|
|
cmp r0, #3
|
|
bne _021ED16C
|
|
ldr r0, _021ED1D8 ; =_0221A768
|
|
ldr r5, [r0]
|
|
add r0, r5, #0x50
|
|
bl sub_020E9580
|
|
mov r4, r0
|
|
ldr r0, _021ED1DC ; =_022179B0
|
|
bl sub_020E9580
|
|
add r0, r4, r0
|
|
cmp r0, #0xff
|
|
bls _021ED09C
|
|
mov r1, #8
|
|
sub r2, r1, #9
|
|
mov r0, #0
|
|
bl ov00_021ECEFC
|
|
add sp, sp, #0x2a0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021ED09C:
|
|
ldr r2, _021ED1E0 ; =_022179C4
|
|
add r0, sp, #0x1a0
|
|
add r3, r5, #0x50
|
|
mov r1, #0x100
|
|
bl sub_020D168C
|
|
ldr r0, _021ED1D8 ; =_0221A768
|
|
ldr r4, [r0]
|
|
add r0, r4, #0x91
|
|
bl sub_020E9580
|
|
mov r1, r0
|
|
add r2, sp, #0x10
|
|
add r0, r4, #0x91
|
|
mov r3, #0x190
|
|
bl ov00_021EBE08
|
|
cmp r0, #0
|
|
bge _021ED0F4
|
|
mov r1, #8
|
|
sub r2, r1, #9
|
|
mov r0, #0
|
|
bl ov00_021ECEFC
|
|
add sp, sp, #0x2a0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021ED0F4:
|
|
ldr r0, _021ED1D8 ; =_0221A768
|
|
ldr r4, _021ED1E4 ; =ov00_021ECEFC
|
|
ldr r2, [r0]
|
|
ldr r0, _021ED1E8 ; =ov00_021ECECC
|
|
add r1, r2, #8
|
|
str r1, [sp]
|
|
add r1, r2, #0x28
|
|
str r1, [sp, #4]
|
|
ldr r1, _021ED1EC ; =ov00_021ECEE4
|
|
add r2, sp, #0x1a0
|
|
add r3, sp, #0x10
|
|
str r4, [sp, #8]
|
|
bl sub_02220434
|
|
cmp r0, #0
|
|
mov r0, #0
|
|
bne _021ED148
|
|
mov r1, #8
|
|
sub r2, r1, #9
|
|
bl ov00_021ECEFC
|
|
add sp, sp, #0x2a0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021ED148:
|
|
ldr r1, _021ED1D8 ; =_0221A768
|
|
mov r4, #1
|
|
ldr r3, [r1]
|
|
mov r1, r0
|
|
sub r2, r0, #1
|
|
str r4, [r3, #0x48]
|
|
bl ov00_021ECEFC
|
|
add sp, sp, #0x2a0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021ED16C:
|
|
cmp r0, #4
|
|
bne _021ED1AC
|
|
add r0, sp, #0xc
|
|
bl ov00_021EC0FC
|
|
ldr r1, [sp, #0xc]
|
|
mov r0, #0xe
|
|
bl ov00_021EC24C
|
|
ldr r0, _021ED1D8 ; =_0221A768
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
sub r2, r1, #4
|
|
ldr r3, [r0]
|
|
mov r0, #0
|
|
blx r3
|
|
add sp, sp, #0x2a0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021ED1AC:
|
|
cmp r0, #5
|
|
bne _021ED1C4
|
|
mov r0, r7
|
|
mov r1, r6
|
|
mov r2, r5
|
|
bl ov00_021ECEFC
|
|
_021ED1C4:
|
|
mov r0, r4
|
|
bl sub_020D2108
|
|
b _021ED050
|
|
arm_func_end ov00_021ED038
|
|
|
|
arm_func_start ov00_021ED1D0
|
|
ov00_021ED1D0: ; 0x021ED1D0
|
|
add sp, sp, #0x2a0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021ED1D8: .word _0221A768
|
|
_021ED1DC: .word _022179B0
|
|
_021ED1E0: .word _022179C4
|
|
_021ED1E4: .word ov00_021ECEFC
|
|
_021ED1E8: .word ov00_021ECECC
|
|
_021ED1EC: .word ov00_021ECEE4
|
|
arm_func_end ov00_021ED1D0
|
|
|
|
arm_func_start ov00_021ED1F0
|
|
ov00_021ED1F0: ; 0x021ED1F0
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #8
|
|
mov r6, r0
|
|
mov r5, r1
|
|
mov r4, r2
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r0, #0xa80
|
|
mov r1, #0x20
|
|
bl ov00_021ECECC
|
|
ldr r2, _021ED2FC ; =_0221A768
|
|
mov r1, #0
|
|
str r0, [r2]
|
|
str r1, [r0, #0x48]
|
|
ldr r0, [r2]
|
|
mov r2, #0xa80
|
|
bl sub_020D4994
|
|
ldr r0, _021ED2FC ; =_0221A768
|
|
mov r1, r5
|
|
ldr r3, [r0]
|
|
mov r2, #0x1f
|
|
str r6, [r3]
|
|
ldr r0, [r0]
|
|
add r0, r0, #8
|
|
bl sub_020E9664
|
|
ldr r0, _021ED2FC ; =_0221A768
|
|
mov r1, r4
|
|
ldr r0, [r0]
|
|
mov r2, #0x1f
|
|
add r0, r0, #0x28
|
|
bl sub_020E9664
|
|
ldr r1, _021ED2FC ; =_0221A768
|
|
ldr r0, _021ED300 ; =_022179D8
|
|
ldr r1, [r1]
|
|
add r1, r1, #0x4c
|
|
bl ov00_021ECC6C
|
|
cmp r0, #0
|
|
bne _021ED2B4
|
|
ldr r0, _021ED2FC ; =_0221A768
|
|
ldr r0, [r0]
|
|
bl ov00_021ECEE4
|
|
ldr r1, _021ED2FC ; =_0221A768
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021ED2B4:
|
|
ldr r0, _021ED2FC ; =_0221A768
|
|
mov r2, #0x800
|
|
ldr r3, [r0]
|
|
ldr r1, _021ED304 ; =ov00_021ED038
|
|
str r2, [sp]
|
|
mov ip, #0x10
|
|
add r0, r3, #0x9c0
|
|
add r3, r3, #0x9c0
|
|
mov r2, #0
|
|
str ip, [sp, #4]
|
|
bl sub_020D1AD4
|
|
ldr r0, _021ED2FC ; =_0221A768
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x9c0
|
|
bl sub_020D1F34
|
|
mov r0, #1
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021ED2FC: .word _0221A768
|
|
_021ED300: .word _022179D8
|
|
_021ED304: .word ov00_021ED038
|
|
arm_func_end ov00_021ED1F0
|
|
|
|
arm_func_start ov00_021ED308
|
|
ov00_021ED308: ; 0x021ED308
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _021ED34C ; =_0221A768
|
|
ldr r2, [r1]
|
|
cmp r2, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
str r0, [r2, #4]
|
|
ldr r0, [r1]
|
|
ldr r0, [r0, #0x48]
|
|
cmp r0, #0
|
|
bne _021ED33C
|
|
bl ov00_021ECFF4
|
|
b _021ED344
|
|
_021ED33C:
|
|
ldr r0, _021ED350 ; =ov00_021ECFF4
|
|
bl sub_02220620
|
|
_021ED344:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021ED34C: .word _0221A768
|
|
_021ED350: .word ov00_021ECFF4
|
|
arm_func_end ov00_021ED308
|
|
|
|
arm_func_start ov00_021ED354
|
|
ov00_021ED354: ; 0x021ED354
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r5, r1
|
|
mov r4, r2
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r2, r4
|
|
bl sub_02220090
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021ED354
|
|
|
|
arm_func_start ov00_021ED388
|
|
ov00_021ED388: ; 0x021ED388
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
mov r0, r4
|
|
bl sub_02220F18
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021ED388
|
|
|
|
arm_func_start ov00_021ED3AC
|
|
ov00_021ED3AC: ; 0x021ED3AC
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r5, r1
|
|
mov r4, r2
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r0, #0xb0
|
|
mul r2, r4, r0
|
|
mov r0, r6
|
|
mov r1, #0
|
|
bl sub_020D4994
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r2, r4
|
|
bl sub_02220F8C
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021ED3AC
|
|
|
|
arm_func_start ov00_021ED3F4
|
|
ov00_021ED3F4: ; 0x021ED3F4
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r5, r1
|
|
mov r4, r2
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r2, r4
|
|
bl sub_0222124C
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021ED3F4
|
|
|
|
arm_func_start ov00_021ED428
|
|
ov00_021ED428: ; 0x021ED428
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
bl sub_02220648
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021ED428
|
|
|
|
arm_func_start ov00_021ED444
|
|
ov00_021ED444: ; 0x021ED444
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl sub_02221408
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021ED444
|
|
|
|
arm_func_start ov00_021ED470
|
|
ov00_021ED470: ; 0x021ED470
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0xc
|
|
stmia sp, {r0, r3}
|
|
mov r4, r2
|
|
str r1, [sp, #8]
|
|
ldr r2, _021ED4A4 ; =_022179E0
|
|
mov r0, r4
|
|
mov r1, #0x1000
|
|
bl sub_020D168C
|
|
mov r0, r4
|
|
bl sub_020E9580
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
_021ED4A4: .word _022179E0
|
|
arm_func_end ov00_021ED470
|
|
|
|
arm_func_start ov00_021ED4A8
|
|
ov00_021ED4A8: ; 0x021ED4A8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r5, r2
|
|
mov r7, r0
|
|
mov r6, r1
|
|
mov r4, r3
|
|
mov r0, r5
|
|
mov r1, #0
|
|
bl sub_020E987C
|
|
mov r2, r0
|
|
mov r0, r7
|
|
mov r1, r6
|
|
mov r3, r4
|
|
bl ov00_021ED470
|
|
mov r0, r5
|
|
bl sub_020E9580
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_021ED4A8
|
|
|
|
arm_func_start ov00_021ED4E8
|
|
ov00_021ED4E8: ; 0x021ED4E8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
movs r4, r1
|
|
mov r7, r0
|
|
mov r6, r3
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, r2
|
|
mov r1, r6
|
|
bl sub_020E987C
|
|
movs r5, r0
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021ED518:
|
|
mov r0, r7
|
|
bl sub_020E9580
|
|
mov r2, r0
|
|
mov r1, r7
|
|
add r0, r5, #1
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
bne _021ED550
|
|
mov r0, r7
|
|
bl sub_020E9580
|
|
add r0, r0, r5
|
|
ldrsb r0, [r0, #1]
|
|
cmp r6, r0
|
|
beq _021ED584
|
|
_021ED550:
|
|
mov r1, r6
|
|
add r0, r5, #1
|
|
bl sub_020E987C
|
|
cmp r0, #0
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r1, r6
|
|
add r0, r0, #1
|
|
bl sub_020E987C
|
|
movs r5, r0
|
|
bne _021ED518
|
|
mvn r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021ED584:
|
|
mov r1, r6
|
|
add r0, r5, #1
|
|
bl sub_020E987C
|
|
movs r5, r0
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r1, r6
|
|
add r0, r5, #1
|
|
bl sub_020E987C
|
|
cmp r0, #0
|
|
addne r1, r5, #1
|
|
subne r6, r0, r1
|
|
bne _021ED5C4
|
|
add r0, r5, #1
|
|
bl sub_020E9580
|
|
mov r6, r0
|
|
_021ED5C4:
|
|
mov r0, r4
|
|
mov r2, r6
|
|
add r1, r5, #1
|
|
bl sub_020E9664
|
|
mov r1, #0
|
|
mov r0, r6
|
|
strb r1, [r4, r6]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_021ED4E8
|
|
|
|
arm_func_start ov00_021ED5E4
|
|
ov00_021ED5E4: ; 0x021ED5E4
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #8
|
|
ldr r1, _021ED6F0 ; =_0221A76C
|
|
mov r4, r0
|
|
ldr r0, [r1, #4]
|
|
ldr r2, [r1]
|
|
cmp r0, #0
|
|
cmpeq r2, #0
|
|
mov r0, #0
|
|
bne _021ED6A8
|
|
ldr r2, [r1, #0xc]
|
|
ldr r3, [r1, #8]
|
|
cmp r2, r0
|
|
cmpeq r3, r0
|
|
bne _021ED6A8
|
|
ldr r2, [r1, #0x14]
|
|
ldr r1, [r1, #0x10]
|
|
cmp r2, r0
|
|
cmpeq r1, r0
|
|
bne _021ED6A8
|
|
add r0, sp, #0
|
|
bl sub_020D3C40
|
|
bl sub_020D34B0
|
|
mov r2, r1, lsl #0x18
|
|
ldr ip, [sp]
|
|
ldr r3, [sp, #4]
|
|
mov lr, ip, lsr #0x18
|
|
orr lr, lr, r3, lsl #8
|
|
mvn r1, #0xff000000
|
|
and r1, lr, r1
|
|
orr lr, r1, r0, lsl #24
|
|
mov ip, #0
|
|
orr r2, r2, r0, lsr #8
|
|
and r1, ip, r3, lsr #24
|
|
orr r2, r1, r2
|
|
ldr r0, _021ED6F4 ; =_0221A76C
|
|
add r1, sp, #0
|
|
str lr, [sp]
|
|
str r2, [sp, #4]
|
|
ldmia r1, {r2, r3}
|
|
stmia r0, {r2, r3}
|
|
ldr r1, _021ED6F8 ; =0x6C078965
|
|
ldr r0, _021ED6F0 ; =_0221A76C
|
|
ldr r2, _021ED6FC ; =0x5D588B65
|
|
str r1, [r0, #8]
|
|
ldr r1, _021ED700 ; =0x00269EC3
|
|
str r2, [r0, #0xc]
|
|
str r1, [r0, #0x10]
|
|
str ip, [r0, #0x14]
|
|
_021ED6A8:
|
|
ldr r1, _021ED6F0 ; =_0221A76C
|
|
ldr r2, [r1]
|
|
ldmib r1, {r0, r3}
|
|
umull lr, ip, r3, r2
|
|
mla ip, r3, r0, ip
|
|
ldr r0, [r1, #0xc]
|
|
ldr r3, [r1, #0x10]
|
|
mla ip, r0, r2, ip
|
|
ldr r0, [r1, #0x14]
|
|
adds r2, r3, lr
|
|
adc r0, r0, ip
|
|
str r2, [r1]
|
|
str r0, [r1, #4]
|
|
cmp r4, #0
|
|
umullne r2, r1, r0, r4
|
|
movne r0, r1
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021ED6F0: .word _0221A76C
|
|
_021ED6F4: .word _0221A76C
|
|
_021ED6F8: .word 0x6C078965
|
|
_021ED6FC: .word 0x5D588B65
|
|
_021ED700: .word 0x00269EC3
|
|
arm_func_end ov00_021ED5E4
|
|
|
|
arm_func_start ov00_021ED704
|
|
ov00_021ED704: ; 0x021ED704
|
|
ldrh r1, [r0]
|
|
mov r2, #0
|
|
cmp r1, #0
|
|
beq _021ED728
|
|
_021ED714:
|
|
add r2, r2, #1
|
|
mov r1, r2, lsl #1
|
|
ldrh r1, [r0, r1]
|
|
cmp r1, #0
|
|
bne _021ED714
|
|
_021ED728:
|
|
mov r0, r2
|
|
bx lr
|
|
arm_func_end ov00_021ED704
|
|
|
|
arm_func_start ov00_021ED730
|
|
ov00_021ED730: ; 0x021ED730
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x10
|
|
ldr ip, _021ED994 ; =_0221A784
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
str r0, [ip]
|
|
bl ov00_021EC210
|
|
ldr r0, _021ED994 ; =_0221A784
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
ldr r3, _021ED998 ; =ov00_021F2BBC
|
|
str r2, [r1]
|
|
ldr r1, [r0]
|
|
ldr r2, _021ED99C ; =ov00_021EEE34
|
|
str r3, [r1, #4]
|
|
ldr r1, [r0]
|
|
ldr ip, [sp, #0x24]
|
|
str r2, [r1, #8]
|
|
cmp ip, #0
|
|
ldr r2, [r0]
|
|
ldr r3, _021ED9A0 ; =ov00_021EEE40
|
|
ldr r1, _021ED9A4 ; =ov00_021EF1A8
|
|
str r3, [r2, #0xc]
|
|
ldr r0, [r0]
|
|
ldr r3, [sp, #0x28]
|
|
str r1, [r0, #0x10]
|
|
ldr r0, _021ED994 ; =_0221A784
|
|
moveq ip, #0x2000
|
|
ldr r0, [r0]
|
|
cmp r3, #0
|
|
str ip, [r0, #0x14]
|
|
moveq r3, #0x2000
|
|
ldr r1, _021ED994 ; =_0221A784
|
|
mov r0, #0
|
|
ldr r2, [r1]
|
|
ldr ip, _021ED9A8 ; =_0221B430
|
|
str r3, [r2, #0x18]
|
|
ldr r2, [r1]
|
|
ldr r3, _021ED9AC ; =_0221B530
|
|
str r0, [r2, #0x1c]
|
|
ldr r2, [r1]
|
|
str r6, [r2, #0x20]
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x24]
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x28]
|
|
ldr r2, [r1]
|
|
strb r0, [r2, #0x2c]
|
|
ldr r2, [r1]
|
|
strb r0, [r2, #0x2d]
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x64]
|
|
ldr r2, [r1]
|
|
str ip, [r2, #0x68]
|
|
ldr r2, [r1]
|
|
str r3, [r2, #0x6c]
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x70]
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x74]
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x78]
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x7c]
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x80]
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x84]
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x88]
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x8c]
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x90]
|
|
ldr r1, [r1]
|
|
str r0, [r1, #0x94]
|
|
bl ov00_021EE6FC
|
|
ldr r0, _021ED994 ; =_0221A784
|
|
ldr r1, [r6, #0x24]
|
|
ldr r2, [r0]
|
|
ldr r0, _021ED9B0 ; =ov00_021EEA74
|
|
str r1, [sp]
|
|
add r1, r2, #0x2e
|
|
str r1, [sp, #4]
|
|
mov r1, r6
|
|
mov r3, r5
|
|
str r0, [sp, #8]
|
|
mov r5, #0
|
|
add r0, r2, #0x98
|
|
add r2, r2, #0x1c
|
|
str r5, [sp, #0xc]
|
|
bl ov00_021EF1F0
|
|
ldr r0, _021ED994 ; =_0221A784
|
|
ldr r2, [sp, #0x30]
|
|
ldr r5, [r0]
|
|
ldr r3, [sp, #0x2c]
|
|
add r0, r5, #0x318
|
|
add r1, r5, #0x1c
|
|
str r2, [sp]
|
|
add r2, r5, #0x2e
|
|
bl ov00_021EFF48
|
|
ldr r0, _021ED994 ; =_0221A784
|
|
ldr r1, _021ED9A8 ; =_0221B430
|
|
ldr r2, [r0]
|
|
ldr r0, _021ED9AC ; =_0221B530
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #0x2c]
|
|
ldr r0, [sp, #0x30]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
add r0, r2, #0x374
|
|
add r1, r2, #0x1c
|
|
add r3, r2, #4
|
|
bl ov00_021F1620
|
|
ldr r0, _021ED994 ; =_0221A784
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x3f8
|
|
add r0, r0, #0x400
|
|
bl ov00_021F99D4
|
|
mov r0, r4
|
|
bl sub_020E9580
|
|
cmp r0, #0x100
|
|
movhs r5, #0xff
|
|
bhs _021ED934
|
|
mov r0, r4
|
|
bl sub_020E9580
|
|
mov r5, r0
|
|
_021ED934:
|
|
ldr r1, _021ED9A8 ; =_0221B430
|
|
mov r0, r4
|
|
mov r2, r5
|
|
bl sub_020D4A50
|
|
ldr r0, [sp, #0x20]
|
|
ldr r1, _021ED9A8 ; =_0221B430
|
|
mov r2, #0
|
|
strb r2, [r1, r5]
|
|
bl sub_020E9580
|
|
cmp r0, #0x100
|
|
movhs r4, #0xff
|
|
bhs _021ED970
|
|
ldr r0, [sp, #0x20]
|
|
bl sub_020E9580
|
|
mov r4, r0
|
|
_021ED970:
|
|
ldr r0, [sp, #0x20]
|
|
ldr r1, _021ED9AC ; =_0221B530
|
|
mov r2, r4
|
|
bl sub_020D4A50
|
|
ldr r0, _021ED9AC ; =_0221B530
|
|
mov r1, #0
|
|
strb r1, [r0, r4]
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021ED994: .word _0221A784
|
|
_021ED998: .word ov00_021F2BBC
|
|
_021ED99C: .word ov00_021EEE34
|
|
_021ED9A0: .word ov00_021EEE40
|
|
_021ED9A4: .word ov00_021EF1A8
|
|
_021ED9A8: .word _0221B430
|
|
_021ED9AC: .word _0221B530
|
|
_021ED9B0: .word ov00_021EEA74
|
|
arm_func_end ov00_021ED730
|
|
|
|
arm_func_start ov00_021ED9B4
|
|
ov00_021ED9B4: ; 0x021ED9B4
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021EDB18 ; =_0221A784
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, [r0, #0x384]
|
|
cmp r0, #0
|
|
beq _021ED9E8
|
|
bl ov00_02210D18
|
|
ldr r0, _021EDB18 ; =_0221A784
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x384]
|
|
_021ED9E8:
|
|
ldr r0, _021EDB18 ; =_0221A784
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #0x38c]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x458]
|
|
cmp r0, #0
|
|
beq _021EDA1C
|
|
bl ov00_022136E4
|
|
ldr r0, _021EDB18 ; =_0221A784
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x458]
|
|
_021EDA1C:
|
|
bl ov00_021F125C
|
|
bl ov00_0220AE60
|
|
ldr r0, _021EDB18 ; =_0221A784
|
|
ldr ip, [r0]
|
|
ldr r0, [ip, #0x1c]
|
|
cmp r0, #0
|
|
beq _021EDAD0
|
|
mov r1, #0
|
|
mov r2, r1
|
|
mov r3, r1
|
|
add r0, ip, #0x1c
|
|
bl ov00_021FFDD0
|
|
ldr r0, _021EDB18 ; =_0221A784
|
|
mov r2, #0
|
|
ldr r0, [r0]
|
|
mov r3, r2
|
|
add r0, r0, #0x1c
|
|
mov r1, #3
|
|
bl ov00_021FFDD0
|
|
ldr r0, _021EDB18 ; =_0221A784
|
|
mov r2, #0
|
|
ldr r0, [r0]
|
|
mov r3, r2
|
|
add r0, r0, #0x1c
|
|
mov r1, #1
|
|
bl ov00_021FFDD0
|
|
ldr r0, _021EDB18 ; =_0221A784
|
|
mov r2, #0
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
add r0, r0, #0x1c
|
|
mov r3, r2
|
|
bl ov00_021FFDD0
|
|
ldr r0, _021EDB18 ; =_0221A784
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1c
|
|
bl ov00_021FFD9C
|
|
ldr r0, _021EDB18 ; =_0221A784
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1c
|
|
bl ov00_021FFD80
|
|
mov r1, #0
|
|
ldr r0, _021EDB18 ; =_0221A784
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x1c]
|
|
_021EDAD0:
|
|
bl ov00_021EF410
|
|
bl ov00_021F05D8
|
|
bl ov00_021F378C
|
|
bl ov00_021F9CA8
|
|
ldr r0, _021EDB18 ; =_0221A784
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021EDB08
|
|
bl ov00_0220CFAC
|
|
ldr r0, _021EDB18 ; =_0221A784
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
_021EDB08:
|
|
ldr r0, _021EDB18 ; =_0221A784
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EDB18: .word _0221A784
|
|
arm_func_end ov00_021ED9B4
|
|
|
|
arm_func_start ov00_021EDB1C
|
|
ov00_021EDB1C: ; 0x021EDB1C
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021ECB40
|
|
cmp r0, #0
|
|
beq _021EDB30
|
|
bl ov00_021EE7FC
|
|
_021EDB30:
|
|
ldr r0, _021EDD50 ; =_0221A784
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldrne r0, [r0, #0x24]
|
|
cmpne r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, _021EDD50 ; =_0221A784
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x24]
|
|
cmp r0, #6
|
|
addls pc, pc, r0, lsl #2
|
|
b _021EDD08
|
|
_021EDB6C: ; jump table
|
|
b _021EDD08 ; case 0
|
|
b _021EDB88 ; case 1
|
|
b _021EDC9C ; case 2
|
|
b _021EDCA4 ; case 3
|
|
b _021EDCA4 ; case 4
|
|
b _021EDCB4 ; case 5
|
|
b _021EDCC4 ; case 6
|
|
_021EDB88:
|
|
bl ov00_021FE3D8
|
|
cmp r0, #1
|
|
beq _021EDBA8
|
|
cmp r0, #2
|
|
beq _021EDC7C
|
|
cmp r0, #3
|
|
beq _021EDC8C
|
|
b _021EDD08
|
|
_021EDBA8:
|
|
ldr r0, _021EDD50 ; =_0221A784
|
|
mov r2, #0
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #0xa0]
|
|
add r0, r0, #0x1c
|
|
bl ov00_021FFD50
|
|
bl ov00_021EE8B4
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, _021EDD50 ; =_0221A784
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
ldr r2, _021EDD54 ; =ov00_021EEC94
|
|
mov r3, r1
|
|
add r0, r0, #0x1c
|
|
bl ov00_021FFDD0
|
|
bl ov00_021EE8B4
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, _021EDD50 ; =_0221A784
|
|
ldr r2, _021EDD58 ; =ov00_021EECCC
|
|
ldr r0, [r0]
|
|
mov r1, #3
|
|
add r0, r0, #0x1c
|
|
mov r3, #0
|
|
bl ov00_021FFDD0
|
|
bl ov00_021EE8B4
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, _021EDD50 ; =_0221A784
|
|
ldr r2, _021EDD5C ; =ov00_021F0290
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
add r0, r0, #0x1c
|
|
mov r3, #0
|
|
bl ov00_021FFDD0
|
|
bl ov00_021EE8B4
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, _021EDD50 ; =_0221A784
|
|
ldr r2, _021EDD60 ; =ov00_021F0338
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
add r0, r0, #0x1c
|
|
mov r3, #0
|
|
bl ov00_021FFDD0
|
|
bl ov00_021EE8B4
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
mov r0, #2
|
|
bl ov00_021EE800
|
|
bl ov00_021EF274
|
|
b _021EDD08
|
|
_021EDC7C:
|
|
ldr r1, _021EDD64 ; =0xFFFFB172
|
|
mov r0, #3
|
|
bl ov00_021EF3C0
|
|
ldmia sp!, {r3, pc}
|
|
_021EDC8C:
|
|
ldr r1, _021EDD68 ; =0xFFFFB17B
|
|
mov r0, #4
|
|
bl ov00_021EF3C0
|
|
ldmia sp!, {r3, pc}
|
|
_021EDC9C:
|
|
bl ov00_021EF2AC
|
|
b _021EDD08
|
|
_021EDCA4:
|
|
bl ov00_021F0028
|
|
mov r0, #0
|
|
bl ov00_021F1DE4
|
|
b _021EDD08
|
|
_021EDCB4:
|
|
mov r0, #1
|
|
bl ov00_021F1DE4
|
|
bl ov00_021F0028
|
|
b _021EDD08
|
|
_021EDCC4:
|
|
bl ov00_021F9A8C
|
|
bl ov00_021F0028
|
|
ldr r0, _021EDD50 ; =_0221A784
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x389]
|
|
cmp r0, #2
|
|
ldrneb r0, [r1, #0x389]
|
|
cmpne r0, #3
|
|
bne _021EDCF4
|
|
mov r0, #1
|
|
bl ov00_021F1DE4
|
|
b _021EDD08
|
|
_021EDCF4:
|
|
ldr r0, [r1]
|
|
cmp r0, #0
|
|
beq _021EDD08
|
|
mov r0, #0
|
|
bl ov00_021F1DE4
|
|
_021EDD08:
|
|
ldr r0, _021EDD50 ; =_0221A784
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x38c]
|
|
cmp r0, #1
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, [r1, #0x384]
|
|
cmp r0, #0
|
|
beq _021EDD3C
|
|
bl ov00_02210D18
|
|
ldr r0, _021EDD50 ; =_0221A784
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x384]
|
|
_021EDD3C:
|
|
ldr r0, _021EDD50 ; =_0221A784
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x38c]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EDD50: .word _0221A784
|
|
_021EDD54: .word ov00_021EEC94
|
|
_021EDD58: .word ov00_021EECCC
|
|
_021EDD5C: .word ov00_021F0290
|
|
_021EDD60: .word ov00_021F0338
|
|
_021EDD64: .word 0xFFFFB172
|
|
_021EDD68: .word 0xFFFFB17B
|
|
arm_func_end ov00_021EDB1C
|
|
|
|
arm_func_start ov00_021EDD6C
|
|
ov00_021EDD6C: ; 0x021EDD6C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
movs r4, r0
|
|
mov r6, r2
|
|
mov r5, r3
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
bne _021EDDA4
|
|
ldr r0, _021EDE6C ; =_0221A784
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x24]
|
|
cmp r1, #0
|
|
beq _021EDDAC
|
|
_021EDDA4:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021EDDAC:
|
|
str r6, [r2, #0x70]
|
|
ldr r1, [r0]
|
|
cmp r4, #0
|
|
str r5, [r1, #0x74]
|
|
ldrneh r1, [r4]
|
|
cmpne r1, #0
|
|
moveq r5, #0
|
|
beq _021EDE18
|
|
ldr r1, [r0]
|
|
mov r0, #0
|
|
add r1, r1, #0x2e
|
|
mov r2, #0x34
|
|
bl sub_020D4790
|
|
mov r0, r4
|
|
bl ov00_021ED704
|
|
cmp r0, #0x19
|
|
movhi r5, #0x19
|
|
bhi _021EDE00
|
|
mov r0, r4
|
|
bl ov00_021ED704
|
|
mov r5, r0
|
|
_021EDE00:
|
|
ldr r1, _021EDE6C ; =_0221A784
|
|
mov r0, r4
|
|
ldr r1, [r1]
|
|
mov r2, r5, lsl #1
|
|
add r1, r1, #0x2e
|
|
bl sub_020D47B8
|
|
_021EDE18:
|
|
ldr r0, _021EDE6C ; =_0221A784
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r0, r0, r5, lsl #1
|
|
strh r1, [r0, #0x2e]
|
|
bl ov00_021EC724
|
|
cmp r0, #4
|
|
beq _021EDE4C
|
|
ldr r1, _021EDE70 ; =0xFFFF1596
|
|
mov r0, #2
|
|
bl ov00_021EF3C0
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021EDE4C:
|
|
mov r0, #1
|
|
bl ov00_021EE800
|
|
ldr r0, _021EDE6C ; =_0221A784
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x68]
|
|
bl ov00_021FE228
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021EDE6C: .word _0221A784
|
|
_021EDE70: .word 0xFFFF1596
|
|
arm_func_end ov00_021EDD6C
|
|
|
|
arm_func_start ov00_021EDE74
|
|
ov00_021EDE74: ; 0x021EDE74
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x10
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
bne _021EDEB0
|
|
ldr r0, _021EDF14 ; =_0221A784
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x24]
|
|
cmp r1, #3
|
|
blt _021EDEB0
|
|
cmp r1, #4
|
|
bne _021EDEBC
|
|
_021EDEB0:
|
|
add sp, sp, #0x10
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021EDEBC:
|
|
str r6, [r2, #0x78]
|
|
ldr r1, [r0]
|
|
mov r0, #4
|
|
str r5, [r1, #0x7c]
|
|
bl ov00_021EE800
|
|
ldr r0, _021EDF14 ; =_0221A784
|
|
ldr r1, [sp, #0x20]
|
|
ldr r3, [r0]
|
|
ldr r0, [sp, #0x24]
|
|
str r4, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r4, [sp, #0x28]
|
|
str r0, [sp, #8]
|
|
ldr r2, _021EDF18 ; =ov00_021EEAD4
|
|
add r0, r3, #0xe0
|
|
add r1, r3, #0x1e0
|
|
mov r3, #0
|
|
str r4, [sp, #0xc]
|
|
bl ov00_021F018C
|
|
mov r0, #1
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021EDF14: .word _0221A784
|
|
_021EDF18: .word ov00_021EEAD4
|
|
arm_func_end ov00_021EDE74
|
|
|
|
arm_func_start ov00_021EDF1C
|
|
ov00_021EDF1C: ; 0x021EDF1C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #8
|
|
mov r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
bne _021EDF54
|
|
ldr r0, _021EDFB4 ; =_0221A784
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x24]
|
|
cmp r0, #3
|
|
beq _021EDF60
|
|
_021EDF54:
|
|
add sp, sp, #8
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021EDF60:
|
|
bl ov00_021EE6FC
|
|
ldr r1, _021EDFB4 ; =_0221A784
|
|
mov r0, #5
|
|
ldr r2, [r1]
|
|
str r5, [r2, #0x80]
|
|
ldr r1, [r1]
|
|
str r4, [r1, #0x84]
|
|
bl ov00_021EE800
|
|
ldr r1, [sp, #0x20]
|
|
sub r0, r7, #1
|
|
ldr r4, [sp, #0x24]
|
|
str r1, [sp]
|
|
ldr r2, _021EDFB8 ; =ov00_021EEB1C
|
|
mov r1, r6
|
|
and r0, r0, #0xff
|
|
mov r3, #0
|
|
str r4, [sp, #4]
|
|
bl ov00_021F1938
|
|
mov r0, #1
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EDFB4: .word _0221A784
|
|
_021EDFB8: .word ov00_021EEB1C
|
|
arm_func_end ov00_021EDF1C
|
|
|
|
arm_func_start ov00_021EDFBC
|
|
ov00_021EDFBC: ; 0x021EDFBC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
bne _021EDFF0
|
|
ldr r0, _021EE04C ; =_0221A784
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x24]
|
|
cmp r0, #3
|
|
beq _021EDFF8
|
|
_021EDFF0:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021EDFF8:
|
|
bl ov00_021EE6FC
|
|
ldr r1, _021EE04C ; =_0221A784
|
|
mov r2, #0
|
|
ldr r3, [r1]
|
|
mov r0, #5
|
|
str r6, [r3, #0x88]
|
|
ldr r3, [r1]
|
|
str r5, [r3, #0x8c]
|
|
ldr r1, [r1]
|
|
strb r2, [r1, #0x2c]
|
|
bl ov00_021EE800
|
|
sub r0, r7, #1
|
|
ldr r5, [sp, #0x18]
|
|
ldr r1, _021EE050 ; =ov00_021EEB1C
|
|
mov r3, r4
|
|
and r0, r0, #0xff
|
|
mov r2, #0
|
|
str r5, [sp]
|
|
bl ov00_021F1B24
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EE04C: .word _0221A784
|
|
_021EE050: .word ov00_021EEB1C
|
|
arm_func_end ov00_021EDFBC
|
|
|
|
arm_func_start ov00_021EE054
|
|
ov00_021EE054: ; 0x021EE054
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x220
|
|
mvn ip, #0
|
|
mov r7, r0
|
|
mov r6, r1
|
|
mov r4, r2
|
|
mov r5, r3
|
|
str ip, [sp, #0xc]
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
bne _021EE094
|
|
ldr r0, _021EE238 ; =_0221A784
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x24]
|
|
cmp r0, #3
|
|
beq _021EE0A0
|
|
_021EE094:
|
|
add sp, sp, #0x220
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021EE0A0:
|
|
bl ov00_021EE6FC
|
|
ldr r1, _021EE238 ; =_0221A784
|
|
mov r0, #5
|
|
ldr r2, [r1]
|
|
str r6, [r2, #0x88]
|
|
ldr r1, [r1]
|
|
str r4, [r1, #0x8c]
|
|
bl ov00_021EE800
|
|
mov r0, r7
|
|
bl ov00_021F03BC
|
|
movs r4, r0
|
|
beq _021EE0EC
|
|
ldr r0, _021EE238 ; =_0221A784
|
|
mov r1, r4
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1c
|
|
bl ov00_022005B0
|
|
cmp r0, #0
|
|
bne _021EE0F4
|
|
_021EE0EC:
|
|
mov r5, #0xb
|
|
b _021EE1C0
|
|
_021EE0F4:
|
|
ldr r0, _021EE238 ; =_0221A784
|
|
add r2, sp, #0xc
|
|
ldr r0, [r0]
|
|
mov r1, r4
|
|
add r0, r0, #0x1c
|
|
bl ov00_02200540
|
|
ldr r0, _021EE238 ; =_0221A784
|
|
ldr r1, [sp, #0xc]
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x10
|
|
add r0, r0, #0x1c
|
|
bl ov00_02200400
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #6
|
|
movne r5, #0xb
|
|
bne _021EE1C0
|
|
ldr r0, _021EE23C ; =_022179EC
|
|
mov r6, #0x30
|
|
add r1, sp, #8
|
|
add r2, sp, #0x18
|
|
mov r3, #0x2f
|
|
strb r6, [sp, #8]
|
|
bl ov00_021ED4E8
|
|
add r0, sp, #8
|
|
mov r1, #0
|
|
mov r2, #0xa
|
|
bl sub_020EB6CC
|
|
and r6, r0, #0xff
|
|
ldr r0, _021EE240 ; =_022179F0
|
|
add r1, sp, #8
|
|
add r2, sp, #0x18
|
|
mov r3, #0x2f
|
|
bl ov00_021ED4E8
|
|
add r0, sp, #8
|
|
mov r1, #0
|
|
mov r2, #0xa
|
|
bl sub_020EB6CC
|
|
and r0, r0, #0xff
|
|
cmp r0, r6
|
|
moveq r5, #0xd
|
|
beq _021EE1C0
|
|
ldr r6, [sp, #0x238]
|
|
ldr r1, _021EE244 ; =ov00_021EEB1C
|
|
mov r0, r4
|
|
mov r3, r5
|
|
mov r2, #0
|
|
str r6, [sp]
|
|
bl ov00_021F1BCC
|
|
add sp, sp, #0x220
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021EE1C0:
|
|
mov r0, r5
|
|
mov r1, #0
|
|
bl ov00_021EC24C
|
|
ldr r0, _021EE238 ; =_0221A784
|
|
mov r1, #0
|
|
ldr r4, [r0]
|
|
mov r0, r5
|
|
str r1, [sp]
|
|
ldr r2, [r4, #0x8c]
|
|
mov r3, r1
|
|
str r2, [sp, #4]
|
|
ldr r4, [r4, #0x88]
|
|
mov r2, #1
|
|
blx r4
|
|
ldr r0, _021EE238 ; =_0221A784
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021EE22C
|
|
ldr r0, [r0, #0x24]
|
|
cmp r0, #5
|
|
bne _021EE22C
|
|
mov r0, #3
|
|
bl ov00_021EE800
|
|
ldr r1, _021EE248 ; =_022179F4
|
|
mov r0, #1
|
|
mov r2, #0
|
|
bl ov00_021F04A0
|
|
_021EE22C:
|
|
mov r0, #1
|
|
add sp, sp, #0x220
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EE238: .word _0221A784
|
|
_021EE23C: .word _022179EC
|
|
_021EE240: .word _022179F0
|
|
_021EE244: .word ov00_021EEB1C
|
|
_021EE248: .word _022179F4
|
|
arm_func_end ov00_021EE054
|
|
|
|
arm_func_start ov00_021EE24C
|
|
ov00_021EE24C: ; 0x021EE24C
|
|
ldr r2, _021EE274 ; =_0221A784
|
|
ldr r3, [r2]
|
|
cmp r3, #0
|
|
moveq r0, #0
|
|
bxeq lr
|
|
str r0, [r3, #0x90]
|
|
ldr r2, [r2]
|
|
mov r0, #1
|
|
str r1, [r2, #0x94]
|
|
bx lr
|
|
.align 2, 0
|
|
_021EE274: .word _0221A784
|
|
arm_func_end ov00_021EE24C
|
|
|
|
arm_func_start ov00_021EE278
|
|
ov00_021EE278: ; 0x021EE278
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021EE314 ; =_0221A784
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021EE2B0
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
bne _021EE2B0
|
|
ldr r0, _021EE314 ; =_0221A784
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x24]
|
|
cmp r0, #5
|
|
cmpne r0, #6
|
|
beq _021EE2B8
|
|
_021EE2B0:
|
|
mvn r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_021EE2B8:
|
|
ldrb r0, [r2, #0x381]
|
|
cmp r0, #0
|
|
bne _021EE2E8
|
|
ldr r1, _021EE318 ; =_022179F4
|
|
mov r0, #1
|
|
mov r2, #0
|
|
bl ov00_021F04A0
|
|
bl ov00_021F125C
|
|
mov r0, #3
|
|
bl ov00_021EE800
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
_021EE2E8:
|
|
mov r1, #1
|
|
ldr r0, _021EE314 ; =_0221A784
|
|
strb r1, [r2, #0x2d]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl ov00_0220D238
|
|
ldr r1, _021EE314 ; =_0221A784
|
|
mov r0, #0
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0x2d]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EE314: .word _0221A784
|
|
_021EE318: .word _022179F4
|
|
arm_func_end ov00_021EE278
|
|
|
|
arm_func_start ov00_021EE31C
|
|
ov00_021EE31C: ; 0x021EE31C
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _021EE380 ; =_0221A784
|
|
mov r4, r0
|
|
ldr r0, [r1]
|
|
cmp r0, #0
|
|
beq _021EE358
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
bne _021EE358
|
|
ldr r0, _021EE380 ; =_0221A784
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x24]
|
|
cmp r0, #5
|
|
cmpne r0, #6
|
|
beq _021EE360
|
|
_021EE358:
|
|
mvn r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
_021EE360:
|
|
mov r0, r4
|
|
bl ov00_021EE64C
|
|
cmp r0, #0
|
|
mvneq r0, #1
|
|
ldmeqia sp!, {r4, pc}
|
|
bl ov00_0220D218
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021EE380: .word _0221A784
|
|
arm_func_end ov00_021EE31C
|
|
|
|
arm_func_start ov00_021EE384
|
|
ov00_021EE384: ; 0x021EE384
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r1, _021EE444 ; =_0221A784
|
|
mov r6, r0
|
|
ldr r0, [r1]
|
|
cmp r0, #0
|
|
cmpne r6, #0
|
|
beq _021EE3C4
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
bne _021EE3C4
|
|
ldr r0, _021EE444 ; =_0221A784
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x24]
|
|
cmp r0, #5
|
|
cmpne r0, #6
|
|
beq _021EE3CC
|
|
_021EE3C4:
|
|
mvn r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021EE3CC:
|
|
mov r5, #0
|
|
mov r4, #1
|
|
_021EE3D4:
|
|
ldr r0, [r6]
|
|
tst r0, r4, lsl r5
|
|
beq _021EE420
|
|
bl ov00_021EE490
|
|
cmp r5, r0
|
|
bne _021EE400
|
|
mvn r0, r4, lsl r5
|
|
ldr r1, [r6]
|
|
and r0, r1, r0
|
|
str r0, [r6]
|
|
b _021EE420
|
|
_021EE400:
|
|
mov r0, r5
|
|
bl ov00_021EE31C
|
|
cmp r0, #0
|
|
beq _021EE420
|
|
mvn r0, r4, lsl r5
|
|
ldr r1, [r6]
|
|
and r0, r1, r0
|
|
str r0, [r6]
|
|
_021EE420:
|
|
add r0, r5, #1
|
|
and r5, r0, #0xff
|
|
cmp r5, #0x20
|
|
blo _021EE3D4
|
|
ldr r0, [r6]
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
mvneq r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021EE444: .word _0221A784
|
|
arm_func_end ov00_021EE384
|
|
|
|
arm_func_start ov00_021EE448
|
|
ov00_021EE448: ; 0x021EE448
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021EE48C ; =_0221A784
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldrb r0, [r1, #0x389]
|
|
cmp r0, #2
|
|
ldrneb r0, [r1, #0x389]
|
|
cmpne r0, #3
|
|
bne _021EE480
|
|
bl ov00_021F3570
|
|
add r0, r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
_021EE480:
|
|
bl ov00_021F3550
|
|
add r0, r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EE48C: .word _0221A784
|
|
arm_func_end ov00_021EE448
|
|
|
|
arm_func_start ov00_021EE490
|
|
ov00_021EE490: ; 0x021EE490
|
|
ldr r0, _021EE4A8 ; =_0221A784
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldrneb r0, [r0, #0x2c]
|
|
moveq r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_021EE4A8: .word _0221A784
|
|
arm_func_end ov00_021EE490
|
|
|
|
arm_func_start ov00_021EE4AC
|
|
ov00_021EE4AC: ; 0x021EE4AC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r2, _021EE4F8 ; =_0221A784
|
|
ldr r1, [r2]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
add r1, r1, #0x244
|
|
add r1, r1, #0x400
|
|
str r1, [r0]
|
|
ldr r2, [r2]
|
|
ldrb r1, [r2, #0x389]
|
|
cmp r1, #2
|
|
ldrneb r1, [r2, #0x389]
|
|
cmpne r1, #3
|
|
bne _021EE4F0
|
|
bl ov00_021F3618
|
|
ldmia sp!, {r3, pc}
|
|
_021EE4F0:
|
|
bl ov00_021F35E4
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EE4F8: .word _0221A784
|
|
arm_func_end ov00_021EE4AC
|
|
|
|
arm_func_start ov00_021EE4FC
|
|
ov00_021EE4FC: ; 0x021EE4FC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021EE52C ; =_0221A784
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
add r0, sp, #0
|
|
bl ov00_021EE4AC
|
|
mov r1, r0
|
|
ldr r0, [sp]
|
|
bl ov00_021EE880
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EE52C: .word _0221A784
|
|
arm_func_end ov00_021EE4FC
|
|
|
|
arm_func_start ov00_021EE530
|
|
ov00_021EE530: ; 0x021EE530
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _021EE564 ; =_0221A784
|
|
ldr r1, [r1]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r2, [r1, #0x664]
|
|
mov r1, #1
|
|
tst r2, r1, lsl r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_021EE7B4
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EE564: .word _0221A784
|
|
arm_func_end ov00_021EE530
|
|
|
|
arm_func_start ov00_021EE568
|
|
ov00_021EE568: ; 0x021EE568
|
|
ldr r0, _021EE580 ; =_0221A784
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldrne r0, [r0, #0x24]
|
|
moveq r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_021EE580: .word _0221A784
|
|
arm_func_end ov00_021EE568
|
|
|
|
arm_func_start ov00_021EE584
|
|
ov00_021EE584: ; 0x021EE584
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
ldr r0, _021EE63C ; =_0221A784
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
addne sp, sp, #4
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, pc}
|
|
mov r0, #0x4000
|
|
bl ov00_021ED5E4
|
|
add r0, r0, #0xc000
|
|
mov r1, r0, lsl #0x10
|
|
ldr r3, _021EE63C ; =_0221A784
|
|
mov r0, #0
|
|
mov r2, r0
|
|
mov r1, r1, lsr #0x10
|
|
ldr r4, [r3]
|
|
bl ov00_0220F724
|
|
ldr r1, _021EE640 ; =ov00_021EF1B4
|
|
ldr r2, _021EE63C ; =_0221A784
|
|
str r1, [sp]
|
|
mov r1, r0
|
|
ldr r0, [r2]
|
|
ldr r2, [r4, #0x14]
|
|
ldr r3, [r4, #0x18]
|
|
bl ov00_0220CF98
|
|
mov r4, r0
|
|
bl ov00_021EE9D0
|
|
cmp r0, #0
|
|
addne sp, sp, #4
|
|
movne r0, r4
|
|
ldmneia sp!, {r3, r4, pc}
|
|
ldr r0, _021EE63C ; =_0221A784
|
|
ldr r1, _021EE644 ; =ov00_021F2974
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl ov00_0220CFF4
|
|
ldr r0, _021EE63C ; =_0221A784
|
|
ldr r1, _021EE648 ; =ov00_021F2880
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl ov00_0220D29C
|
|
mov r0, r4
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
_021EE63C: .word _0221A784
|
|
_021EE640: .word ov00_021EF1B4
|
|
_021EE644: .word ov00_021F2974
|
|
_021EE648: .word ov00_021F2880
|
|
arm_func_end ov00_021EE584
|
|
|
|
arm_func_start ov00_021EE64C
|
|
ov00_021EE64C: ; 0x021EE64C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r1, _021EE6A8 ; =_0221A784
|
|
mov r6, r0
|
|
ldr r0, [r1]
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r4, _021EE6AC ; =_0221A78C
|
|
mov r5, #0
|
|
_021EE670:
|
|
ldr r0, [r4, r5, lsl #2]
|
|
cmp r0, #0
|
|
beq _021EE694
|
|
bl ov00_0220D2E0
|
|
ldrb r0, [r0, #1]
|
|
cmp r6, r0
|
|
ldreq r0, _021EE6AC ; =_0221A78C
|
|
ldreq r0, [r0, r5, lsl #2]
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
_021EE694:
|
|
add r5, r5, #1
|
|
cmp r5, #0x20
|
|
blt _021EE670
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021EE6A8: .word _0221A784
|
|
_021EE6AC: .word _0221A78C
|
|
arm_func_end ov00_021EE64C
|
|
|
|
arm_func_start ov00_021EE6B0
|
|
ov00_021EE6B0: ; 0x021EE6B0
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_0220D2E0
|
|
ldrb r0, [r0, #1]
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021EE6B0
|
|
|
|
arm_func_start ov00_021EE6C0
|
|
ov00_021EE6C0: ; 0x021EE6C0
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_0220D2E0
|
|
ldrb r0, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021EE6C0
|
|
|
|
arm_func_start ov00_021EE6D0
|
|
ov00_021EE6D0: ; 0x021EE6D0
|
|
ldr r2, _021EE6F8 ; =_0221A78C
|
|
mov r0, #0
|
|
_021EE6D8:
|
|
ldr r1, [r2, r0, lsl #2]
|
|
cmp r1, #0
|
|
bxeq lr
|
|
add r0, r0, #1
|
|
cmp r0, #0x20
|
|
blt _021EE6D8
|
|
mvn r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_021EE6F8: .word _0221A78C
|
|
arm_func_end ov00_021EE6D0
|
|
|
|
arm_func_start ov00_021EE6FC
|
|
ov00_021EE6FC: ; 0x021EE6FC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _021EE724 ; =_0221A78C
|
|
mov r0, #0
|
|
mov r2, #0x80
|
|
bl sub_020D47EC
|
|
ldr r1, _021EE728 ; =_0221A80C
|
|
mov r0, #0
|
|
mov r2, #0x100
|
|
bl sub_020D47EC
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EE724: .word _0221A78C
|
|
_021EE728: .word _0221A80C
|
|
arm_func_end ov00_021EE6FC
|
|
|
|
arm_func_start ov00_021EE72C
|
|
ov00_021EE72C: ; 0x021EE72C
|
|
ldr r1, _021EE738 ; =_0221A78C
|
|
add r0, r1, r0, lsl #2
|
|
bx lr
|
|
.align 2, 0
|
|
_021EE738: .word _0221A78C
|
|
arm_func_end ov00_021EE72C
|
|
|
|
arm_func_start ov00_021EE73C
|
|
ov00_021EE73C: ; 0x021EE73C
|
|
stmdb sp!, {r3, lr}
|
|
cmp r1, #0
|
|
mov r3, #0
|
|
ble _021EE774
|
|
ldr r2, _021EE7A0 ; =_0221A784
|
|
ldr ip, [r2]
|
|
_021EE754:
|
|
add r2, ip, r3, lsl #2
|
|
ldr r2, [r2, #0x468]
|
|
cmp r0, r2
|
|
beq _021EE774
|
|
add r2, r3, #1
|
|
and r3, r2, #0xff
|
|
cmp r3, r1
|
|
blt _021EE754
|
|
_021EE774:
|
|
cmp r3, r1
|
|
movge r0, #0
|
|
ldmgeia sp!, {r3, pc}
|
|
ldr r0, _021EE7A0 ; =_0221A784
|
|
ldr r0, [r0]
|
|
add r0, r0, r3
|
|
ldrb r0, [r0, #0x644]
|
|
bl ov00_021EE64C
|
|
bl ov00_021EE6C0
|
|
bl ov00_021EE72C
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EE7A0: .word _0221A784
|
|
arm_func_end ov00_021EE73C
|
|
|
|
arm_func_start ov00_021EE7A4
|
|
ov00_021EE7A4: ; 0x021EE7A4
|
|
ldr r1, _021EE7B0 ; =_0221A80C
|
|
add r0, r1, r0, lsl #3
|
|
bx lr
|
|
.align 2, 0
|
|
_021EE7B0: .word _0221A80C
|
|
arm_func_end ov00_021EE7A4
|
|
|
|
arm_func_start ov00_021EE7B4
|
|
ov00_021EE7B4: ; 0x021EE7B4
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r4, _021EE7F8 ; =_0221A78C
|
|
mov r6, r0
|
|
mov r5, #0
|
|
_021EE7C4:
|
|
ldr r0, [r4, r5, lsl #2]
|
|
cmp r0, #0
|
|
beq _021EE7E4
|
|
bl ov00_0220D2E0
|
|
ldrb r0, [r0, #1]
|
|
cmp r6, r0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
_021EE7E4:
|
|
add r5, r5, #1
|
|
cmp r5, #0x20
|
|
blt _021EE7C4
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021EE7F8: .word _0221A78C
|
|
arm_func_end ov00_021EE7B4
|
|
|
|
arm_func_start ov00_021EE7FC
|
|
ov00_021EE7FC: ; 0x021EE7FC
|
|
bx lr
|
|
arm_func_end ov00_021EE7FC
|
|
|
|
arm_func_start ov00_021EE800
|
|
ov00_021EE800: ; 0x021EE800
|
|
ldr r1, _021EE81C ; =_0221A784
|
|
ldr r3, [r1]
|
|
ldr r2, [r3, #0x24]
|
|
str r2, [r3, #0x28]
|
|
ldr r1, [r1]
|
|
str r0, [r1, #0x24]
|
|
bx lr
|
|
.align 2, 0
|
|
_021EE81C: .word _0221A784
|
|
arm_func_end ov00_021EE800
|
|
|
|
arm_func_start ov00_021EE820
|
|
ov00_021EE820: ; 0x021EE820
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
mov r4, r0
|
|
add r0, sp, #0
|
|
bl ov00_021F35E4
|
|
mov r1, r0
|
|
cmp r1, #0
|
|
mov r0, #0
|
|
ble _021EE864
|
|
ldr r3, [sp]
|
|
_021EE848:
|
|
ldrb r2, [r3]
|
|
cmp r4, r2
|
|
beq _021EE864
|
|
add r0, r0, #1
|
|
cmp r0, r1
|
|
add r3, r3, #1
|
|
blt _021EE848
|
|
_021EE864:
|
|
cmp r0, r1
|
|
addeq sp, sp, #4
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
bl ov00_021F3398
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
arm_func_end ov00_021EE820
|
|
|
|
arm_func_start ov00_021EE880
|
|
ov00_021EE880: ; 0x021EE880
|
|
stmdb sp!, {r3, lr}
|
|
mov ip, #0
|
|
mov lr, ip
|
|
cmp r1, #0
|
|
ble _021EE8AC
|
|
mov r3, #1
|
|
_021EE898:
|
|
ldrb r2, [r0, lr]
|
|
add lr, lr, #1
|
|
cmp lr, r1
|
|
orr ip, ip, r3, lsl r2
|
|
blt _021EE898
|
|
_021EE8AC:
|
|
mov r0, ip
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021EE880
|
|
|
|
arm_func_start ov00_021EE8B4
|
|
ov00_021EE8B4: ; 0x021EE8B4
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
movs r6, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
cmp r6, #4
|
|
addls pc, pc, r6, lsl #2
|
|
b _021EE910
|
|
_021EE8D0: ; jump table
|
|
b _021EE910 ; case 0
|
|
b _021EE8E4 ; case 1
|
|
b _021EE8F0 ; case 2
|
|
b _021EE8FC ; case 3
|
|
b _021EE908 ; case 4
|
|
_021EE8E4:
|
|
mov r5, #9
|
|
sub r4, r5, #0xa
|
|
b _021EE910
|
|
_021EE8F0:
|
|
mov r5, #9
|
|
sub r4, r5, #0xb
|
|
b _021EE910
|
|
_021EE8FC:
|
|
mov r5, #6
|
|
sub r4, r5, #0x10
|
|
b _021EE910
|
|
_021EE908:
|
|
mov r5, #6
|
|
sub r4, r5, #0x1a
|
|
_021EE910:
|
|
ldr r0, _021EE9BC ; =_0221A784
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x24]
|
|
cmp r0, #5
|
|
addls pc, pc, r0, lsl #2
|
|
b _021EE9A0
|
|
_021EE928: ; jump table
|
|
b _021EE9A0 ; case 0
|
|
b _021EE940 ; case 1
|
|
b _021EE958 ; case 2
|
|
b _021EE9A0 ; case 3
|
|
b _021EE994 ; case 4
|
|
b _021EE97C ; case 5
|
|
_021EE940:
|
|
ldr r1, _021EE9C0 ; =0xFFFF11B8
|
|
mov r0, r5
|
|
add r4, r4, r1
|
|
mov r1, r4
|
|
bl ov00_021EF3C0
|
|
b _021EE9A8
|
|
_021EE958:
|
|
ldr r1, [r1, #0x9c]
|
|
ldr r0, _021EE9C0 ; =0xFFFF11B8
|
|
cmp r1, #1
|
|
add r4, r4, r0
|
|
bge _021EE9A8
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_021EF3C0
|
|
b _021EE9A8
|
|
_021EE97C:
|
|
ldr r1, _021EE9C4 ; =0xFFFEC398
|
|
mov r0, r5
|
|
add r4, r4, r1
|
|
mov r1, r4
|
|
bl ov00_021F2EE4
|
|
b _021EE9A8
|
|
_021EE994:
|
|
ldr r0, _021EE9C8 ; =0xFFFEEAA8
|
|
add r4, r4, r0
|
|
b _021EE9A8
|
|
_021EE9A0:
|
|
ldr r0, _021EE9CC ; =0xFFFE9C88
|
|
add r4, r4, r0
|
|
_021EE9A8:
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_021F0238
|
|
mov r0, r6
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021EE9BC: .word _0221A784
|
|
_021EE9C0: .word 0xFFFF11B8
|
|
_021EE9C4: .word 0xFFFEC398
|
|
_021EE9C8: .word 0xFFFEEAA8
|
|
_021EE9CC: .word 0xFFFE9C88
|
|
arm_func_end ov00_021EE8B4
|
|
|
|
arm_func_start ov00_021EE9D0
|
|
ov00_021EE9D0: ; 0x021EE9D0
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
cmp r4, #7
|
|
addls pc, pc, r4, lsl #2
|
|
b _021EEA54
|
|
_021EE9EC: ; jump table
|
|
b _021EEA54 ; case 0
|
|
b _021EEA0C ; case 1
|
|
b _021EEA18 ; case 2
|
|
b _021EEA28 ; case 3
|
|
b _021EEA34 ; case 4
|
|
b _021EEA18 ; case 5
|
|
b _021EEA40 ; case 6
|
|
b _021EEA4C ; case 7
|
|
_021EEA0C:
|
|
mov r0, #9
|
|
sub r2, r0, #0xa
|
|
b _021EEA54
|
|
_021EEA18:
|
|
mov r0, #0
|
|
mov r2, r0
|
|
mov r4, r0
|
|
b _021EEA54
|
|
_021EEA28:
|
|
mov r0, #6
|
|
sub r2, r0, #0x10
|
|
b _021EEA54
|
|
_021EEA34:
|
|
mov r0, #6
|
|
sub r2, r0, #0x24
|
|
b _021EEA54
|
|
_021EEA40:
|
|
mov r0, #6
|
|
sub r2, r0, #0x4c
|
|
b _021EEA54
|
|
_021EEA4C:
|
|
mov r0, #6
|
|
sub r2, r0, #0x56
|
|
_021EEA54:
|
|
cmp r0, #0
|
|
beq _021EEA68
|
|
ldr r1, _021EEA70 ; =0xFFFEFA48
|
|
add r1, r2, r1
|
|
bl ov00_021EF3C0
|
|
_021EEA68:
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021EEA70: .word 0xFFFEFA48
|
|
arm_func_end ov00_021EE9D0
|
|
|
|
arm_func_start ov00_021EEA74
|
|
ov00_021EEA74: ; 0x021EEA74
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
movs r5, r0
|
|
mov r4, r1
|
|
bne _021EEAA0
|
|
ldr r1, _021EEAD0 ; =_0221A784
|
|
mov r0, #3
|
|
ldr r1, [r1]
|
|
str r4, [r1, #0x64]
|
|
bl ov00_021EE800
|
|
bl ov00_021F0468
|
|
b _021EEAA8
|
|
_021EEAA0:
|
|
mov r0, #0
|
|
bl ov00_021EE800
|
|
_021EEAA8:
|
|
ldr r0, _021EEAD0 ; =_0221A784
|
|
ldr r0, [r0]
|
|
ldr r3, [r0, #0x70]
|
|
cmp r3, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r2, [r0, #0x74]
|
|
mov r0, r5
|
|
mov r1, r4
|
|
blx r3
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021EEAD0: .word _0221A784
|
|
arm_func_end ov00_021EEA74
|
|
|
|
arm_func_start ov00_021EEAD4
|
|
ov00_021EEAD4: ; 0x021EEAD4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r2, _021EEB18 ; =_0221A784
|
|
mov r5, r0
|
|
ldr r0, [r2]
|
|
mov r4, r1
|
|
ldr r0, [r0, #0x28]
|
|
cmp r0, #4
|
|
beq _021EEAF8
|
|
bl ov00_021EE800
|
|
_021EEAF8:
|
|
ldr r1, _021EEB18 ; =_0221A784
|
|
mov r0, r5
|
|
ldr r3, [r1]
|
|
mov r1, r4
|
|
ldr r2, [r3, #0x7c]
|
|
ldr r3, [r3, #0x78]
|
|
blx r3
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021EEB18: .word _0221A784
|
|
arm_func_end ov00_021EEAD4
|
|
|
|
arm_func_start ov00_021EEB1C
|
|
ov00_021EEB1C: ; 0x021EEB1C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #8
|
|
movs r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bne _021EEB64
|
|
cmp r6, #0
|
|
beq _021EEB64
|
|
ldr r0, _021EEC90 ; =_0221A784
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x514]
|
|
cmp r0, #0
|
|
bne _021EEBC8
|
|
bl ov00_021F2FA0
|
|
mov r0, #3
|
|
bl ov00_021EE800
|
|
b _021EEBC8
|
|
_021EEB64:
|
|
cmp r7, #0
|
|
bne _021EEBC8
|
|
mov r0, #6
|
|
bl ov00_021EE800
|
|
ldr r0, _021EEC90 ; =_0221A784
|
|
mov r2, #0
|
|
ldr r3, [r0]
|
|
ldrb r0, [r3, #0x381]
|
|
cmp r0, #0
|
|
blt _021EEBC8
|
|
ldr r1, [r3, #0x64]
|
|
_021EEB90:
|
|
add r0, r3, r2, lsl #2
|
|
ldr r0, [r0, #0x468]
|
|
cmp r1, r0
|
|
bne _021EEBB8
|
|
ldr r0, _021EEC90 ; =_0221A784
|
|
ldr r1, [r0]
|
|
add r0, r1, r2
|
|
ldrb r0, [r0, #0x644]
|
|
strb r0, [r1, #0x2c]
|
|
b _021EEBC8
|
|
_021EEBB8:
|
|
ldrb r0, [r3, #0x381]
|
|
add r2, r2, #1
|
|
cmp r2, r0
|
|
ble _021EEB90
|
|
_021EEBC8:
|
|
ldr r0, _021EEC90 ; =_0221A784
|
|
ldr r0, [r0]
|
|
ldrb r1, [r0, #0x381]
|
|
add r0, r0, #0x244
|
|
add r0, r0, #0x400
|
|
add r1, r1, #1
|
|
bl ov00_021EE880
|
|
ldr r1, _021EEC90 ; =_0221A784
|
|
ldr r1, [r1]
|
|
str r0, [r1, #0x664]
|
|
bl ov00_021F3590
|
|
ldr r0, _021EEC90 ; =_0221A784
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x389]
|
|
cmp r0, #2
|
|
ldrneb r0, [r1, #0x389]
|
|
cmpne r0, #3
|
|
bne _021EEC44
|
|
ldr r0, _021EEC90 ; =_0221A784
|
|
ldr r1, [sp, #0x20]
|
|
ldr r3, [r0]
|
|
mov r0, r7
|
|
str r1, [sp]
|
|
ldr r2, [r3, #0x8c]
|
|
mov r1, r6
|
|
str r2, [sp, #4]
|
|
ldr r6, [r3, #0x88]
|
|
mov r2, r5
|
|
mov r3, r4
|
|
blx r6
|
|
b _021EEC58
|
|
_021EEC44:
|
|
ldr r2, [r1, #0x84]
|
|
ldr r3, [r1, #0x80]
|
|
mov r0, r7
|
|
mov r1, r6
|
|
blx r3
|
|
_021EEC58:
|
|
cmp r7, #0
|
|
ldrne r0, _021EEC90 ; =_0221A784
|
|
ldrne r0, [r0]
|
|
cmpne r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r0, #0x24]
|
|
cmp r0, #5
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, #3
|
|
bl ov00_021EE800
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EEC90: .word _0221A784
|
|
arm_func_end ov00_021EEB1C
|
|
|
|
arm_func_start ov00_021EEC94
|
|
ov00_021EEC94: ; 0x021EEC94
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, [r1, #4]
|
|
ldr r0, _021EECC4 ; =0x00000603
|
|
cmp r1, r0
|
|
ldrne r0, _021EECC8 ; =0x00000901
|
|
cmpne r1, r0
|
|
addne r0, r0, #0x200
|
|
cmpne r1, r0
|
|
ldmeqia sp!, {r3, pc}
|
|
mov r0, #3
|
|
bl ov00_021EE8B4
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EECC4: .word 0x00000603
|
|
_021EECC8: .word 0x00000901
|
|
arm_func_end ov00_021EEC94
|
|
|
|
arm_func_start ov00_021EECCC
|
|
ov00_021EECCC: ; 0x021EECCC
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0xc
|
|
add r4, sp, #0
|
|
mov r3, #0
|
|
mov r5, r1
|
|
strb r3, [r4]
|
|
strb r3, [r4, #1]
|
|
strb r3, [r4, #2]
|
|
strb r3, [r4, #3]
|
|
strb r3, [r4, #4]
|
|
strb r3, [r4, #5]
|
|
strb r3, [r4, #6]
|
|
strb r3, [r4, #7]
|
|
strb r3, [r4, #8]
|
|
strb r3, [r4, #9]
|
|
strb r3, [r4, #0xa]
|
|
strb r3, [r4, #0xb]
|
|
ldr r4, [r5, #8]
|
|
mov r6, r0
|
|
bl ov00_021F02DC
|
|
cmp r0, #0
|
|
addne sp, sp, #0xc
|
|
ldmneia sp!, {r4, r5, r6, r7, pc}
|
|
ldr r0, _021EEE28 ; =_022179F8
|
|
bl sub_020E9580
|
|
mov r2, r0
|
|
ldr r1, _021EEE28 ; =_022179F8
|
|
mov r0, r4
|
|
bl sub_020E5BB0
|
|
cmp r0, #0
|
|
addne sp, sp, #0xc
|
|
ldmneia sp!, {r4, r5, r6, r7, pc}
|
|
ldr r0, _021EEE28 ; =_022179F8
|
|
bl sub_020E9580
|
|
add r4, r4, r0
|
|
mov r0, r4
|
|
mov r1, #0x76
|
|
bl sub_020E987C
|
|
sub r7, r0, r4
|
|
add r0, sp, #0
|
|
mov r1, r4
|
|
mov r2, r7
|
|
bl sub_020E9664
|
|
cmp r7, #0xa
|
|
addhi sp, sp, #0xc
|
|
ldmhiia sp!, {r4, r5, r6, r7, pc}
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
mov r2, #0xa
|
|
bl sub_020EB6CC
|
|
cmp r0, #3
|
|
addne sp, sp, #0xc
|
|
ldmneia sp!, {r4, r5, r6, r7, pc}
|
|
ldr r0, _021EEE2C ; =_02217A00
|
|
add r1, r7, #1
|
|
add r4, r4, r1
|
|
bl sub_020E9580
|
|
mov r2, r0
|
|
ldr r1, _021EEE2C ; =_02217A00
|
|
mov r0, r4
|
|
bl sub_020E5BB0
|
|
cmp r0, #0
|
|
addne sp, sp, #0xc
|
|
ldmneia sp!, {r4, r5, r6, r7, pc}
|
|
ldr r0, _021EEE30 ; =_0221A784
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x24]
|
|
cmp r0, #5
|
|
beq _021EEE04
|
|
cmp r0, #6
|
|
addne sp, sp, #0xc
|
|
ldmneia sp!, {r4, r5, r6, r7, pc}
|
|
ldrb r0, [r1, #0x389]
|
|
cmp r0, #2
|
|
ldrneb r0, [r1, #0x389]
|
|
cmpne r0, #3
|
|
addne sp, sp, #0xc
|
|
ldmneia sp!, {r4, r5, r6, r7, pc}
|
|
_021EEE04:
|
|
ldr r0, _021EEE2C ; =_02217A00
|
|
bl sub_020E9580
|
|
mov r2, r0
|
|
ldr r1, [r5]
|
|
mov r0, r6
|
|
add r2, r4, r2
|
|
bl ov00_021F2E40
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EEE28: .word _022179F8
|
|
_021EEE2C: .word _02217A00
|
|
_021EEE30: .word _0221A784
|
|
arm_func_end ov00_021EECCC
|
|
|
|
arm_func_start ov00_021EEE34
|
|
ov00_021EEE34: ; 0x021EEE34
|
|
ldr ip, _021EEE3C ; =ov00_021F9A10
|
|
bx ip
|
|
.align 2, 0
|
|
_021EEE3C: .word ov00_021F9A10
|
|
arm_func_end ov00_021EEE34
|
|
|
|
arm_func_start ov00_021EEE40
|
|
ov00_021EEE40: ; 0x021EEE40
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #8
|
|
mov r5, #0
|
|
mov fp, r0
|
|
mov sb, r1
|
|
mov sl, r5
|
|
bl ov00_021F3804
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
cmp sb, #4
|
|
addls pc, pc, sb, lsl #2
|
|
b _021EEEA4
|
|
_021EEE74: ; jump table
|
|
b _021EEE88 ; case 0
|
|
b _021EEE88 ; case 1
|
|
b _021EEE90 ; case 2
|
|
b _021EEE90 ; case 3
|
|
b _021EEE9C ; case 4
|
|
_021EEE88:
|
|
mov r8, r5
|
|
b _021EEEA4
|
|
_021EEE90:
|
|
mov r8, #6
|
|
ldr r6, _021EF190 ; =0xFFFFE250
|
|
b _021EEEA4
|
|
_021EEE9C:
|
|
ldr r6, _021EF194 ; =0xFFFFE24F
|
|
mov r8, #9
|
|
_021EEEA4:
|
|
cmp r8, #0
|
|
bne _021EEF60
|
|
mov r0, fp
|
|
bl ov00_0220D2E0
|
|
movs r5, r0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r0, _021EF198 ; =_0221A784
|
|
ldrb r4, [r5, #1]
|
|
ldr r0, [r0]
|
|
mov r7, #1
|
|
ldr r0, [r0, #0x664]
|
|
tst r0, r7, lsl r4
|
|
mov r0, r4
|
|
moveq r7, #0
|
|
bl ov00_021F9C20
|
|
ldr r0, _021EF198 ; =_0221A784
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x389]
|
|
cmp r0, #2
|
|
cmpeq sb, #0
|
|
beq _021EEF0C
|
|
ldrb r0, [r1, #0x389]
|
|
cmp r0, #3
|
|
cmpeq r4, #0
|
|
bne _021EEF10
|
|
_021EEF0C:
|
|
mov sl, #1
|
|
_021EEF10:
|
|
mov r0, r4
|
|
bl ov00_021EE820
|
|
ldr r1, _021EF198 ; =_0221A784
|
|
ldrb r5, [r5]
|
|
ldr r3, _021EF19C ; =_0221A78C
|
|
mov fp, #0
|
|
str fp, [r3, r5, lsl #2]
|
|
ldr r2, [r1]
|
|
mov r5, r0
|
|
ldrb r1, [r2, #0x381]
|
|
cmp r1, #0
|
|
subne r0, r1, #1
|
|
strneb r0, [r2, #0x381]
|
|
ldr r0, _021EF198 ; =_0221A784
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x388]
|
|
cmp r0, #0
|
|
ldrneb r0, [r1, #0x388]
|
|
subne r0, r0, #1
|
|
strneb r0, [r1, #0x388]
|
|
_021EEF60:
|
|
ldr r0, _021EF198 ; =_0221A784
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x2d]
|
|
cmp r0, #0
|
|
ldreq r0, [r1, #0x24]
|
|
cmpeq r0, #6
|
|
cmpeq r7, #0
|
|
bne _021EEFA8
|
|
ldrb r0, [r1, #0x389]
|
|
cmp r0, #2
|
|
cmpeq r8, #0
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
bl ov00_021F36BC
|
|
mov r0, r5
|
|
bl ov00_021F3310
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021EEFA8:
|
|
mov r0, r8
|
|
mov r1, r6
|
|
mov r2, r5
|
|
bl ov00_021F3194
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
cmp r8, #0
|
|
beq _021EEFE4
|
|
ldr r1, _021EF1A0 ; =0xFFFEC780
|
|
mov r0, r8
|
|
add r1, r6, r1
|
|
bl ov00_021EC24C
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021EEFE4:
|
|
ldr r0, _021EF198 ; =_0221A784
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x2d]
|
|
cmp r0, #0
|
|
bne _021EF054
|
|
ldrb r0, [r1, #0x389]
|
|
cmp r0, #2
|
|
ldrneb r0, [r1, #0x389]
|
|
cmpne r0, #3
|
|
bne _021EF054
|
|
ldr r2, _021EF198 ; =_0221A784
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1, #0x381]
|
|
add r6, r0, #2
|
|
add r3, r1, r6, lsl #2
|
|
ldr r3, [r3, #0x468]
|
|
cmp r3, #0
|
|
beq _021EF054
|
|
add r3, r1, r6
|
|
ldrb r3, [r3, #0x644]
|
|
add r0, r0, #1
|
|
add r0, r1, r0
|
|
strb r3, [r0, #0x644]
|
|
ldr r0, [r2]
|
|
ldrb r1, [r0, #0x381]
|
|
add r0, r1, #1
|
|
add r1, r1, #3
|
|
bl ov00_021F3398
|
|
_021EF054:
|
|
ldr r0, _021EF198 ; =_0221A784
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x389]
|
|
cmp r0, #2
|
|
bne _021EF09C
|
|
ldrb r0, [r1, #0x2d]
|
|
cmp r0, #0
|
|
bne _021EF07C
|
|
bl ov00_021F36BC
|
|
b _021EF0B8
|
|
_021EF07C:
|
|
ldrb r0, [r1, #0x381]
|
|
cmp r0, #0
|
|
bne _021EF0B8
|
|
ldr r1, _021EF1A4 ; =_022179F4
|
|
mov r0, #1
|
|
mov r2, #0
|
|
bl ov00_021F04A0
|
|
b _021EF0B8
|
|
_021EF09C:
|
|
ldrb r0, [r1, #0x381]
|
|
cmp r0, #0
|
|
bne _021EF0B8
|
|
ldr r1, _021EF1A4 ; =_022179F4
|
|
mov r0, #1
|
|
mov r2, #0
|
|
bl ov00_021F04A0
|
|
_021EF0B8:
|
|
ldr r0, _021EF198 ; =_0221A784
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x389]
|
|
cmp r0, #0
|
|
ldrneb r0, [r1, #0x389]
|
|
cmpne r0, #1
|
|
bne _021EF0F0
|
|
ldr r0, _021EF198 ; =_0221A784
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, #0x388]
|
|
strb r1, [r2, #0x38a]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x384]
|
|
bl ov00_02210CBC
|
|
_021EF0F0:
|
|
ldr r0, _021EF198 ; =_0221A784
|
|
ldr r6, [r0]
|
|
ldr r0, [r6, #0x90]
|
|
cmp r0, #0
|
|
cmpne r7, #0
|
|
beq _021EF148
|
|
cmp sb, #0
|
|
moveq r7, #1
|
|
mov r0, r5
|
|
movne r7, #0
|
|
bl ov00_021F0404
|
|
str r0, [sp]
|
|
ldr r1, [r6, #0x94]
|
|
ldr r0, _021EF198 ; =_0221A784
|
|
str r1, [sp, #4]
|
|
ldr r1, [r0]
|
|
mov r0, r8
|
|
ldr r5, [r1, #0x90]
|
|
mov r1, r7
|
|
mov r2, sl
|
|
mov r3, r4
|
|
blx r5
|
|
_021EF148:
|
|
ldr r0, _021EF198 ; =_0221A784
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x2d]
|
|
cmp r0, #0
|
|
ldreqb r0, [r1, #0x389]
|
|
cmpeq r0, #2
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldrb r0, [r1, #0x381]
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
bl ov00_021F125C
|
|
bl ov00_021F2FA0
|
|
mov r0, #3
|
|
bl ov00_021EE800
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021EF190: .word 0xFFFFE250
|
|
_021EF194: .word 0xFFFFE24F
|
|
_021EF198: .word _0221A784
|
|
_021EF19C: .word _0221A78C
|
|
_021EF1A0: .word 0xFFFEC780
|
|
_021EF1A4: .word _022179F4
|
|
arm_func_end ov00_021EEE40
|
|
|
|
arm_func_start ov00_021EF1A8
|
|
ov00_021EF1A8: ; 0x021EF1A8
|
|
ldr ip, _021EF1B0 ; =ov00_021F9A4C
|
|
bx ip
|
|
.align 2, 0
|
|
_021EF1B0: .word ov00_021F9A4C
|
|
arm_func_end ov00_021EF1A8
|
|
|
|
arm_func_start ov00_021EF1B4
|
|
ov00_021EF1B4: ; 0x021EF1B4
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_0220D294
|
|
bl ov00_021FFA60
|
|
ldr r2, _021EF1E8 ; =_0221A784
|
|
ldr r1, _021EF1EC ; =0xFFFE8515
|
|
str r0, [r2, #4]
|
|
mov r0, #9
|
|
bl ov00_021EC24C
|
|
ldr r0, _021EF1E8 ; =_0221A784
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EF1E8: .word _0221A784
|
|
_021EF1EC: .word 0xFFFE8515
|
|
arm_func_end ov00_021EF1B4
|
|
|
|
arm_func_start ov00_021EF1F0
|
|
ov00_021EF1F0: ; 0x021EF1F0
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr ip, _021EF270 ; =_0221A90C
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r1, #0
|
|
mov r2, #0x280
|
|
mov r4, r3
|
|
str r0, [ip, #4]
|
|
bl sub_020D4994
|
|
ldr r0, _021EF270 ; =_0221A90C
|
|
mov r2, #0
|
|
ldr r1, [r0, #4]
|
|
ldr ip, [sp, #0x10]
|
|
str r5, [r1]
|
|
ldr r1, [r0, #4]
|
|
ldr r5, [sp, #0x14]
|
|
str r2, [r1, #4]
|
|
ldr r1, [r0, #4]
|
|
ldr r3, [sp, #0x18]
|
|
str r4, [r1, #8]
|
|
ldr r1, [r0, #4]
|
|
ldr r2, [sp, #0x1c]
|
|
str ip, [r1, #0xc]
|
|
ldr r1, [r0, #4]
|
|
str r5, [r1, #0x10]
|
|
ldr r1, [r0, #4]
|
|
str r3, [r1, #0x14]
|
|
ldr r1, [r0, #4]
|
|
str r2, [r1, #0x18]
|
|
ldr r0, [r0, #4]
|
|
str r6, [r0, #0x1c]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021EF270: .word _0221A90C
|
|
arm_func_end ov00_021EF1F0
|
|
|
|
arm_func_start ov00_021EF274
|
|
ov00_021EF274: ; 0x021EF274
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021EF2A4 ; =ov00_021EF640
|
|
mov r1, #0
|
|
bl ov00_021EF6F4
|
|
ldr r0, _021EF2A8 ; =_0221A90C
|
|
mov r3, #1
|
|
ldr r2, [r0, #4]
|
|
mov r1, #0
|
|
str r3, [r2, #4]
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0, #0x30]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EF2A4: .word ov00_021EF640
|
|
_021EF2A8: .word _0221A90C
|
|
arm_func_end ov00_021EF274
|
|
|
|
arm_func_start ov00_021EF2AC
|
|
ov00_021EF2AC: ; 0x021EF2AC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021EF394 ; =_0221A90C
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, _021EF394 ; =_0221A90C
|
|
ldr r1, [r0, #4]
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #5
|
|
addls pc, pc, r0, lsl #2
|
|
ldmia sp!, {r3, pc}
|
|
_021EF2E4: ; jump table
|
|
ldmia sp!, {r3, pc} ; case 0
|
|
b _021EF2FC ; case 1
|
|
b _021EF304 ; case 2
|
|
b _021EF304 ; case 3
|
|
b _021EF304 ; case 4
|
|
ldmia sp!, {r3, pc} ; case 5
|
|
_021EF2FC:
|
|
bl ov00_021EF8C0
|
|
ldmia sp!, {r3, pc}
|
|
_021EF304:
|
|
ldr r0, [r1]
|
|
cmp r0, #0
|
|
ldrne r1, [r0]
|
|
cmpne r1, #0
|
|
beq _021EF31C
|
|
bl ov00_021FFD9C
|
|
_021EF31C:
|
|
ldr r0, _021EF394 ; =_0221A90C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0, #0x30]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl sub_020D34B0
|
|
ldr r3, _021EF394 ; =_0221A90C
|
|
ldr r2, _021EF398 ; =0x000082EA
|
|
ldr ip, [r3, #4]
|
|
mov r3, #0
|
|
ldr lr, [ip, #0x34]
|
|
ldr ip, [ip, #0x38]
|
|
subs lr, r0, lr
|
|
sbc r0, r1, ip
|
|
mov r1, r0, lsl #6
|
|
orr r1, r1, lr, lsr #26
|
|
mov r0, lr, lsl #6
|
|
bl sub_020F2900
|
|
ldr r2, _021EF39C ; =0x0000EA60
|
|
cmp r1, #0
|
|
cmpeq r0, r2
|
|
ldmlsia sp!, {r3, pc}
|
|
ldr r1, _021EF3A0 ; =0xFFFF1172
|
|
mov r0, #6
|
|
bl ov00_021EF3C0
|
|
ldr r0, _021EF394 ; =_0221A90C
|
|
mov r1, #0
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0, #0x30]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EF394: .word _0221A90C
|
|
_021EF398: .word 0x000082EA
|
|
_021EF39C: .word 0x0000EA60
|
|
_021EF3A0: .word 0xFFFF1172
|
|
arm_func_end ov00_021EF2AC
|
|
|
|
arm_func_start ov00_021EF3A4
|
|
ov00_021EF3A4: ; 0x021EF3A4
|
|
ldr r0, _021EF3BC ; =_0221A90C
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
ldrne r0, [r0, #0x1c]
|
|
moveq r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_021EF3BC: .word _0221A90C
|
|
arm_func_end ov00_021EF3A4
|
|
|
|
arm_func_start ov00_021EF3C0
|
|
ov00_021EF3C0: ; 0x021EF3C0
|
|
stmdb sp!, {r4, lr}
|
|
ldr r2, _021EF40C ; =_0221A90C
|
|
mov r4, r0
|
|
ldr r2, [r2, #4]
|
|
cmp r2, #0
|
|
cmpne r4, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
bl ov00_021EC24C
|
|
ldr r0, _021EF40C ; =_0221A90C
|
|
ldr r0, [r0, #4]
|
|
ldr r3, [r0, #0x14]
|
|
cmp r3, #0
|
|
beq _021EF404
|
|
ldr r2, [r0, #0x18]
|
|
mov r0, r4
|
|
mov r1, #0
|
|
blx r3
|
|
_021EF404:
|
|
bl ov00_021EF46C
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021EF40C: .word _0221A90C
|
|
arm_func_end ov00_021EF3C0
|
|
|
|
arm_func_start ov00_021EF410
|
|
ov00_021EF410: ; 0x021EF410
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021EF468 ; =_0221A90C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0, #0x24]
|
|
cmp r0, #0
|
|
beq _021EF458
|
|
bl ov00_021E7D48
|
|
bl ov00_021E7DD4
|
|
ldr r1, _021EF468 ; =_0221A90C
|
|
mov r0, #0
|
|
ldr r1, [r1, #4]
|
|
mov r2, r0
|
|
ldr r1, [r1, #0x24]
|
|
bl ov00_021EC2EC
|
|
ldr r0, _021EF468 ; =_0221A90C
|
|
mov r1, #0
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0, #0x24]
|
|
_021EF458:
|
|
ldr r0, _021EF468 ; =_0221A90C
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EF468: .word _0221A90C
|
|
arm_func_end ov00_021EF410
|
|
|
|
arm_func_start ov00_021EF46C
|
|
ov00_021EF46C: ; 0x021EF46C
|
|
ldr r0, _021EF490 ; =_0221A90C
|
|
ldr r2, [r0, #4]
|
|
cmp r2, #0
|
|
bxeq lr
|
|
mov r1, #0
|
|
str r1, [r2, #4]
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0, #0x30]
|
|
bx lr
|
|
.align 2, 0
|
|
_021EF490: .word _0221A90C
|
|
arm_func_end ov00_021EF46C
|
|
|
|
arm_func_start ov00_021EF494
|
|
ov00_021EF494: ; 0x021EF494
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
cmp r4, #4
|
|
addls pc, pc, r4, lsl #2
|
|
b _021EF4F0
|
|
_021EF4B0: ; jump table
|
|
b _021EF4F0 ; case 0
|
|
b _021EF4C4 ; case 1
|
|
b _021EF4D0 ; case 2
|
|
b _021EF4DC ; case 3
|
|
b _021EF4E8 ; case 4
|
|
_021EF4C4:
|
|
mov r0, #9
|
|
sub r2, r0, #0xa
|
|
b _021EF4F0
|
|
_021EF4D0:
|
|
mov r0, #9
|
|
sub r2, r0, #0xb
|
|
b _021EF4F0
|
|
_021EF4DC:
|
|
mov r0, #6
|
|
sub r2, r0, #0x10
|
|
b _021EF4F0
|
|
_021EF4E8:
|
|
mov r0, #6
|
|
sub r2, r0, #0x1a
|
|
_021EF4F0:
|
|
ldr r1, _021EF504 ; =0xFFFF11B8
|
|
add r1, r2, r1
|
|
bl ov00_021EF3C0
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021EF504: .word 0xFFFF11B8
|
|
arm_func_end ov00_021EF494
|
|
|
|
arm_func_start ov00_021EF508
|
|
ov00_021EF508: ; 0x021EF508
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #8
|
|
ldr r2, _021EF630 ; =_0221A90C
|
|
mov lr, #0
|
|
ldr r3, [r2, #4]
|
|
mov r4, r1
|
|
str lr, [r3, #0x30]
|
|
mov r7, r0
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
bne _021EF624
|
|
ldr ip, [r2, #4]
|
|
mov r6, r4
|
|
add r5, ip, #0x260
|
|
ldmia r6!, {r0, r1, r2, r3}
|
|
stmia r5!, {r0, r1, r2, r3}
|
|
ldmia r6, {r0, r1, r2, r3}
|
|
stmia r5, {r0, r1, r2, r3}
|
|
ldr r0, [ip, #4]
|
|
cmp r0, #2
|
|
bne _021EF5EC
|
|
ldr r1, [ip, #0x1c]
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [r1, #0x1c]
|
|
cmp r1, r0
|
|
bne _021EF5D8
|
|
ldr r1, _021EF634 ; =_02217A04
|
|
mov r3, #5
|
|
mov r2, lr
|
|
mov r0, #1
|
|
str r3, [ip, #4]
|
|
bl ov00_021F04A0
|
|
bl ov00_021EF494
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, _021EF630 ; =_0221A90C
|
|
ldr r1, [r4, #4]
|
|
ldr r3, [r0, #4]
|
|
mov r0, #0
|
|
ldr r2, [r3, #0x18]
|
|
ldr r3, [r3, #0x14]
|
|
blx r3
|
|
bl ov00_021EE584
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r4, #4]
|
|
bl ov00_021F179C
|
|
add sp, sp, #8
|
|
cmp r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021EF5D8:
|
|
ldr r1, _021EF638 ; =0xFFFF15A0
|
|
mov r0, #6
|
|
bl ov00_021EF3C0
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021EF5EC:
|
|
cmp r0, #3
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r1, _021EF63C ; =ov00_021EFAC8
|
|
mov r0, r7
|
|
stmia sp, {r1, lr}
|
|
ldr r1, [r4, #4]
|
|
mov r2, lr
|
|
mov r3, lr
|
|
bl ov00_02200020
|
|
bl ov00_021EF494
|
|
add sp, sp, #8
|
|
cmp r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021EF624:
|
|
bl ov00_021EF494
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021EF630: .word _0221A90C
|
|
_021EF634: .word _02217A04
|
|
_021EF638: .word 0xFFFF15A0
|
|
_021EF63C: .word ov00_021EFAC8
|
|
arm_func_end ov00_021EF508
|
|
|
|
arm_func_start ov00_021EF640
|
|
ov00_021EF640: ; 0x021EF640
|
|
ldr ip, _021EF650 ; =ov00_021EF658
|
|
ldr r2, _021EF654 ; =ov00_021EF508
|
|
mov r3, #2
|
|
bx ip
|
|
.align 2, 0
|
|
_021EF650: .word ov00_021EF658
|
|
_021EF654: .word ov00_021EF508
|
|
arm_func_end ov00_021EF640
|
|
|
|
arm_func_start ov00_021EF658
|
|
ov00_021EF658: ; 0x021EF658
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0xc
|
|
ldr r4, _021EF6F0 ; =_0221A90C
|
|
mov r6, r1
|
|
ldr r4, [r4, #4]
|
|
mov r1, r0
|
|
add r0, r4, #0x48
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bl sub_020E959C
|
|
ldr r0, _021EF6F0 ; =_0221A90C
|
|
mov r1, r6
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x148
|
|
bl sub_020E959C
|
|
ldr r0, _021EF6F0 ; =_0221A90C
|
|
ldr r6, [r0, #4]
|
|
bl sub_020D34B0
|
|
str r0, [r6, #0x34]
|
|
str r1, [r6, #0x38]
|
|
mov r3, #1
|
|
ldr r0, _021EF6F0 ; =_0221A90C
|
|
str r3, [r6, #0x30]
|
|
ldr r2, [r0, #4]
|
|
mov r1, #0
|
|
stmia sp, {r1, r5}
|
|
str r1, [sp, #8]
|
|
ldr r0, [r2]
|
|
add r1, r2, #0x48
|
|
add r2, r2, #0x148
|
|
bl ov00_021FFE20
|
|
bl ov00_021EF494
|
|
cmp r0, #0
|
|
ldreq r0, _021EF6F0 ; =_0221A90C
|
|
ldreq r0, [r0, #4]
|
|
streq r4, [r0, #4]
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021EF6F0: .word _0221A90C
|
|
arm_func_end ov00_021EF658
|
|
|
|
arm_func_start ov00_021EF6F4
|
|
ov00_021EF6F4: ; 0x021EF6F4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x48
|
|
mov r5, r0
|
|
mov r4, r1
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
mov r2, #0x48
|
|
bl sub_020D4994
|
|
ldr r0, _021EF8A4 ; =_0221A90C
|
|
str r5, [r0, #8]
|
|
str r4, [r0]
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0, #0x1c]
|
|
bl sub_020A007C
|
|
cmp r0, #0
|
|
beq _021EF754
|
|
ldr r0, _021EF8A4 ; =_0221A90C
|
|
ldr r1, [r0, #4]
|
|
ldr r0, [r1, #0x1c]
|
|
add r2, r1, #0x248
|
|
ldr r1, [r0, #0x24]
|
|
add r0, r0, #0x10
|
|
bl sub_0209FE28
|
|
b _021EF808
|
|
_021EF754:
|
|
ldr r0, _021EF8A4 ; =_0221A90C
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x3c
|
|
bl sub_020A0064
|
|
cmp r0, #0
|
|
bne _021EF7BC
|
|
ldr r0, _021EF8A4 ; =_0221A90C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0, #0x1c]
|
|
add r0, r0, #4
|
|
bl sub_0209FFF8
|
|
cmp r0, #0
|
|
beq _021EF7A8
|
|
ldr r0, _021EF8A4 ; =_0221A90C
|
|
ldr r1, [r0, #4]
|
|
ldr r0, [r1, #0x1c]
|
|
add r3, r1, #0x3c
|
|
add r0, r0, #4
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
b _021EF7F0
|
|
_021EF7A8:
|
|
ldr r0, _021EF8A4 ; =_0221A90C
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x3c
|
|
bl sub_0209FF34
|
|
b _021EF7F0
|
|
_021EF7BC:
|
|
bl sub_020D34B0
|
|
ldr r2, _021EF8A8 ; =0x6C078965
|
|
ldr r3, _021EF8AC ; =0x5D588B65
|
|
umull ip, r4, r0, r2
|
|
mla r4, r0, r3, r4
|
|
ldr r3, _021EF8A4 ; =_0221A90C
|
|
ldr r0, _021EF8B0 ; =0x00269EC3
|
|
mla r4, r1, r2, r4
|
|
adds r0, ip, r0
|
|
ldr r3, [r3, #4]
|
|
adc r1, r4, #0
|
|
add r0, r3, #0x3c
|
|
bl sub_0209FBE0
|
|
_021EF7F0:
|
|
ldr r0, _021EF8A4 ; =_0221A90C
|
|
ldr r2, [r0, #4]
|
|
ldr r1, [r2, #0xc]
|
|
add r0, r2, #0x3c
|
|
add r2, r2, #0x248
|
|
bl sub_0209FE28
|
|
_021EF808:
|
|
ldr r0, _021EF8A4 ; =_0221A90C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_021ED704
|
|
ldr r1, _021EF8A4 ; =_0221A90C
|
|
mov r2, r0, lsl #1
|
|
ldr r1, [r1, #4]
|
|
add r2, r2, #2
|
|
ldr r0, [r1, #0x10]
|
|
add r1, sp, #0
|
|
bl sub_020D4A50
|
|
ldr r1, _021EF8A4 ; =_0221A90C
|
|
add r0, sp, #0x34
|
|
ldr r1, [r1, #4]
|
|
add r1, r1, #0x51
|
|
add r1, r1, #0x200
|
|
bl sub_020E959C
|
|
ldr r4, _021EF8B4 ; =ov00_021EC2A8
|
|
ldr r3, _021EF8B8 ; =ov00_021EC2EC
|
|
ldr r1, _021EF8BC ; =0x00001C14
|
|
mov r0, #0
|
|
mov r2, #4
|
|
str r4, [sp, #0x40]
|
|
str r3, [sp, #0x44]
|
|
bl ov00_021EC2B8
|
|
ldr r1, _021EF8A4 ; =_0221A90C
|
|
mov r4, r0
|
|
ldr r0, [r1, #4]
|
|
str r4, [r0, #0x24]
|
|
bl sub_020D34B0
|
|
ldr r2, _021EF8A4 ; =_0221A90C
|
|
ldr r2, [r2, #4]
|
|
str r0, [r2, #0x28]
|
|
str r1, [r2, #0x2c]
|
|
mov r1, r4
|
|
add r0, sp, #0
|
|
bl ov00_021E7B70
|
|
add sp, sp, #0x48
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021EF8A4: .word _0221A90C
|
|
_021EF8A8: .word 0x6C078965
|
|
_021EF8AC: .word 0x5D588B65
|
|
_021EF8B0: .word 0x00269EC3
|
|
_021EF8B4: .word ov00_021EC2A8
|
|
_021EF8B8: .word ov00_021EC2EC
|
|
_021EF8BC: .word 0x00001C14
|
|
arm_func_end ov00_021EF6F4
|
|
|
|
arm_func_start ov00_021EF8C0
|
|
ov00_021EF8C0: ; 0x021EF8C0
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #0x3d0
|
|
bl ov00_021E7E5C
|
|
cmp r0, #0x15
|
|
bne _021EF990
|
|
add r0, sp, #0x20c
|
|
bl ov00_021E7EA8
|
|
ldr r0, _021EFAB0 ; =_0221A90C
|
|
add r1, sp, #0x200
|
|
ldr r0, [r0, #4]
|
|
add r1, r1, #0x56
|
|
add r0, r0, #0x48
|
|
bl sub_020E959C
|
|
ldr r0, _021EFAB0 ; =_0221A90C
|
|
add r1, sp, #0x300
|
|
ldr r0, [r0, #4]
|
|
add r1, r1, #0x83
|
|
add r0, r0, #0x148
|
|
bl sub_020E959C
|
|
bl ov00_021E7DD4
|
|
ldr r1, _021EFAB0 ; =_0221A90C
|
|
mov r0, #0
|
|
ldr r1, [r1, #4]
|
|
mov r2, r0
|
|
ldr r1, [r1, #0x24]
|
|
bl ov00_021EC2EC
|
|
ldr r0, _021EFAB0 ; =_0221A90C
|
|
mov r2, #0
|
|
ldr r1, [r0, #4]
|
|
str r2, [r1, #0x24]
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0, #0x1c]
|
|
bl sub_020A007C
|
|
cmp r0, #0
|
|
beq _021EF96C
|
|
ldr r0, _021EFAB0 ; =_0221A90C
|
|
ldr r2, [r0]
|
|
ldmib r0, {r1, r3}
|
|
add r0, r1, #0x48
|
|
add r1, r1, #0x148
|
|
blx r3
|
|
add sp, sp, #0x3d0
|
|
ldmia sp!, {r3, pc}
|
|
_021EF96C:
|
|
ldr r0, _021EFAB0 ; =_0221A90C
|
|
ldr r2, _021EFAB4 ; =ov00_021EF508
|
|
ldr r1, [r0, #4]
|
|
mov r3, #3
|
|
add r0, r1, #0x48
|
|
add r1, r1, #0x148
|
|
bl ov00_021EF658
|
|
add sp, sp, #0x3d0
|
|
ldmia sp!, {r3, pc}
|
|
_021EF990:
|
|
bl ov00_021E7E5C
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x3d0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl sub_020D34B0
|
|
ldr r3, _021EFAB0 ; =_0221A90C
|
|
ldr r2, _021EFAB8 ; =0x000082EA
|
|
ldr ip, [r3, #4]
|
|
mov r3, #0
|
|
ldr lr, [ip, #0x28]
|
|
ldr ip, [ip, #0x2c]
|
|
subs lr, r0, lr
|
|
sbc r0, r1, ip
|
|
mov r1, r0, lsl #6
|
|
orr r1, r1, lr, lsr #26
|
|
mov r0, lr, lsl #6
|
|
bl sub_020F2900
|
|
ldr r2, _021EFABC ; =0x00002710
|
|
cmp r1, #0
|
|
cmpeq r0, r2
|
|
bls _021EFA2C
|
|
add r0, sp, #0x48
|
|
bl ov00_021E7EA8
|
|
bl ov00_021E7DD4
|
|
ldr r1, _021EFAB0 ; =_0221A90C
|
|
mov r0, #0
|
|
ldr r1, [r1, #4]
|
|
mov r2, r0
|
|
ldr r1, [r1, #0x24]
|
|
bl ov00_021EC2EC
|
|
ldr r0, _021EFAB0 ; =_0221A90C
|
|
mov r2, #0
|
|
ldr r1, [r0, #4]
|
|
mov r0, #2
|
|
str r2, [r1, #0x24]
|
|
ldr r1, [sp, #0x48]
|
|
bl ov00_021EF3C0
|
|
add sp, sp, #0x3d0
|
|
ldmia sp!, {r3, pc}
|
|
_021EFA2C:
|
|
bl ov00_021E7DD4
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
mov r2, #0x48
|
|
bl sub_020D4994
|
|
ldr r0, _021EFAB0 ; =_0221A90C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_021ED704
|
|
ldr r1, _021EFAB0 ; =_0221A90C
|
|
mov r2, r0, lsl #1
|
|
ldr r1, [r1, #4]
|
|
add r2, r2, #2
|
|
ldr r0, [r1, #0x10]
|
|
add r1, sp, #0
|
|
bl sub_020D4A50
|
|
ldr r1, _021EFAB0 ; =_0221A90C
|
|
add r0, sp, #0x34
|
|
ldr r1, [r1, #4]
|
|
add r1, r1, #0x51
|
|
add r1, r1, #0x200
|
|
bl sub_020E959C
|
|
ldr r2, _021EFAC0 ; =ov00_021EC2A8
|
|
ldr r0, _021EFAB0 ; =_0221A90C
|
|
str r2, [sp, #0x40]
|
|
ldr r2, _021EFAC4 ; =ov00_021EC2EC
|
|
ldr r1, [r0, #4]
|
|
str r2, [sp, #0x44]
|
|
ldr r1, [r1, #0x24]
|
|
add r0, sp, #0
|
|
bl ov00_021E7B70
|
|
add sp, sp, #0x3d0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021EFAB0: .word _0221A90C
|
|
_021EFAB4: .word ov00_021EF508
|
|
_021EFAB8: .word 0x000082EA
|
|
_021EFABC: .word 0x00002710
|
|
_021EFAC0: .word ov00_021EC2A8
|
|
_021EFAC4: .word ov00_021EC2EC
|
|
arm_func_end ov00_021EF8C0
|
|
|
|
arm_func_start ov00_021EFAC8
|
|
ov00_021EFAC8: ; 0x021EFAC8
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x48
|
|
mov r4, r1
|
|
ldr r1, [r4]
|
|
mov r5, r0
|
|
cmp r1, #0
|
|
addne sp, sp, #0x48
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r1, _021EFC5C ; =_0221A90C
|
|
ldr r2, [r1, #4]
|
|
ldr r1, [r2, #4]
|
|
cmp r1, #3
|
|
bne _021EFBA0
|
|
ldrsb r1, [r4, #0x8e]
|
|
cmp r1, #0
|
|
bne _021EFB78
|
|
ldr r0, [r2, #0x1c]
|
|
ldr r1, [r2, #0xc]
|
|
add r2, sp, #0x32
|
|
add r0, r0, #4
|
|
bl sub_0209FE28
|
|
ldr r1, _021EFC60 ; =0x00000705
|
|
add r2, sp, #0x32
|
|
mov r0, r5
|
|
bl ov00_022000FC
|
|
bl ov00_021EF494
|
|
cmp r0, #0
|
|
addne sp, sp, #0x48
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r0, _021EFC5C ; =_0221A90C
|
|
mov r3, #4
|
|
ldr r1, [r0, #4]
|
|
ldr r0, _021EFC64 ; =ov00_021EFAC8
|
|
mov r2, #0
|
|
str r3, [r1, #4]
|
|
stmia sp, {r0, r2}
|
|
ldr r1, [r4, #4]
|
|
mov r0, r5
|
|
mov r3, r2
|
|
bl ov00_02200020
|
|
bl ov00_021EF494
|
|
add sp, sp, #0x48
|
|
cmp r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021EFB78:
|
|
bl ov00_021FFF24
|
|
ldr r0, _021EFC68 ; =ov00_021EF640
|
|
mov r1, #0
|
|
bl ov00_021EF6F4
|
|
ldr r0, _021EFC5C ; =_0221A90C
|
|
mov r1, #1
|
|
ldr r0, [r0, #4]
|
|
add sp, sp, #0x48
|
|
str r1, [r0, #4]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021EFBA0:
|
|
cmp r1, #4
|
|
addne sp, sp, #0x48
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r0, [r2, #0x1c]
|
|
ldr r1, [r2, #0xc]
|
|
add r2, sp, #0x1d
|
|
add r0, r0, #4
|
|
bl sub_0209FE28
|
|
add r1, sp, #0x1d
|
|
add r0, r4, #0x8e
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _021EFC30
|
|
ldr r0, _021EFC5C ; =_0221A90C
|
|
add r2, sp, #8
|
|
ldr r0, [r0, #4]
|
|
ldr r1, [r0, #0xc]
|
|
add r0, r0, #0x3c
|
|
bl sub_0209FE28
|
|
ldr r0, _021EFC5C ; =_0221A90C
|
|
ldr r2, [r4, #4]
|
|
ldr r1, [r0, #4]
|
|
ldr r0, [r1, #0x1c]
|
|
add r1, r1, #0x3c
|
|
bl sub_020A0198
|
|
ldr r1, _021EFC5C ; =_0221A90C
|
|
mov r3, #2
|
|
ldr r2, [r1, #4]
|
|
mov r0, r5
|
|
str r3, [r2, #4]
|
|
ldr r1, [r1, #4]
|
|
mov r2, #0
|
|
add r1, r1, #0x260
|
|
bl ov00_021EF508
|
|
add sp, sp, #0x48
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021EFC30:
|
|
ldr r0, _021EFC64 ; =ov00_021EFAC8
|
|
mov r2, #0
|
|
stmia sp, {r0, r2}
|
|
ldr r1, [r4, #4]
|
|
mov r0, r5
|
|
mov r3, r2
|
|
bl ov00_02200020
|
|
bl ov00_021EF494
|
|
cmp r0, #0
|
|
add sp, sp, #0x48
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021EFC5C: .word _0221A90C
|
|
_021EFC60: .word 0x00000705
|
|
_021EFC64: .word ov00_021EFAC8
|
|
_021EFC68: .word ov00_021EF640
|
|
arm_func_end ov00_021EFAC8
|
|
|
|
arm_func_start ov00_021EFC6C
|
|
ov00_021EFC6C: ; 0x021EFC6C
|
|
ldr r0, _021EFC94 ; =_0221A90C
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _021EFC8C
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #5
|
|
moveq r0, #1
|
|
bxeq lr
|
|
_021EFC8C:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_021EFC94: .word _0221A90C
|
|
arm_func_end ov00_021EFC6C
|
|
|
|
arm_func_start ov00_021EFC98
|
|
ov00_021EFC98: ; 0x021EFC98
|
|
ldr ip, _021EFCAC ; =ov00_021EFCB0
|
|
mov r3, r1
|
|
mov r1, #0
|
|
mov r2, r1
|
|
bx ip
|
|
.align 2, 0
|
|
_021EFCAC: .word ov00_021EFCB0
|
|
arm_func_end ov00_021EFC98
|
|
|
|
arm_func_start ov00_021EFCB0
|
|
ov00_021EFCB0: ; 0x021EFCB0
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x214
|
|
mov r6, r1
|
|
add r1, sp, #4
|
|
mov r4, r2
|
|
mov r5, r3
|
|
bl ov00_021F0B8C
|
|
cmp r0, #0
|
|
beq _021EFDA0
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #6
|
|
bne _021EFD64
|
|
cmp r6, #0
|
|
beq _021EFD20
|
|
ldr r0, _021EFDC4 ; =_02217A08
|
|
add r1, sp, #0
|
|
add r2, sp, #0xc
|
|
mov r3, #0x2f
|
|
bl ov00_021ED4E8
|
|
cmp r0, #0
|
|
movle r0, #0
|
|
strleb r0, [r6]
|
|
ble _021EFD20
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
mov r2, #0xa
|
|
bl sub_020EB6CC
|
|
strb r0, [r6]
|
|
_021EFD20:
|
|
cmp r4, #0
|
|
beq _021EFD7C
|
|
ldr r0, _021EFDC8 ; =_02217A0C
|
|
add r1, sp, #0
|
|
add r2, sp, #0xc
|
|
mov r3, #0x2f
|
|
bl ov00_021ED4E8
|
|
cmp r0, #0
|
|
movle r0, #0
|
|
strleb r0, [r4]
|
|
ble _021EFD7C
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
mov r2, #0xa
|
|
bl sub_020EB6CC
|
|
strb r0, [r4]
|
|
b _021EFD7C
|
|
_021EFD64:
|
|
cmp r6, #0
|
|
movne r0, #0
|
|
strneb r0, [r6]
|
|
cmp r4, #0
|
|
movne r0, #0
|
|
strneb r0, [r4]
|
|
_021EFD7C:
|
|
cmp r5, #0
|
|
beq _021EFD90
|
|
add r1, sp, #0x10c
|
|
mov r0, r5
|
|
bl sub_020E959C
|
|
_021EFD90:
|
|
ldr r0, [sp, #8]
|
|
add sp, sp, #0x214
|
|
and r0, r0, #0xff
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_021EFDA0:
|
|
cmp r6, #0
|
|
movne r0, #0
|
|
strneb r0, [r6]
|
|
cmp r4, #0
|
|
movne r0, #0
|
|
strneb r0, [r4]
|
|
mov r0, #0
|
|
add sp, sp, #0x214
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021EFDC4: .word _02217A08
|
|
_021EFDC8: .word _02217A0C
|
|
arm_func_end ov00_021EFCB0
|
|
|
|
arm_func_start ov00_021EFDCC
|
|
ov00_021EFDCC: ; 0x021EFDCC
|
|
stmdb sp!, {r3, lr}
|
|
mov r3, r1
|
|
mov r1, #0
|
|
str r2, [sp]
|
|
mov r2, r1
|
|
bl ov00_021EFDE8
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021EFDCC
|
|
|
|
arm_func_start ov00_021EFDE8
|
|
ov00_021EFDE8: ; 0x021EFDE8
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x100
|
|
mov r6, r3
|
|
add r3, sp, #0
|
|
ldr r5, [sp, #0x110]
|
|
bl ov00_021EFCB0
|
|
movs r4, r0
|
|
mvneq r1, #0
|
|
addeq sp, sp, #0x100
|
|
streq r1, [r5]
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
add r0, sp, #0
|
|
bl sub_020E9580
|
|
mov r2, #0
|
|
mov r1, r0
|
|
add r0, sp, #0
|
|
mov r3, r2
|
|
bl ov00_021EBF90
|
|
str r0, [r5]
|
|
cmp r6, #0
|
|
ldrne r5, [r5]
|
|
mvnne r0, #0
|
|
cmpne r5, r0
|
|
addeq sp, sp, #0x100
|
|
moveq r0, r4
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
add r0, sp, #0
|
|
bl sub_020E9580
|
|
mov r1, r0
|
|
add r0, sp, #0
|
|
mov r2, r6
|
|
mov r3, r5
|
|
bl ov00_021EBF90
|
|
mov r0, r4
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021EFDE8
|
|
|
|
arm_func_start ov00_021EFE78
|
|
ov00_021EFE78: ; 0x021EFE78
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x100
|
|
ldr r2, _021EFF00 ; =_0221A918
|
|
mov r5, r0
|
|
ldr r0, [r2, #8]
|
|
mov r4, r1
|
|
cmp r0, #0
|
|
beq _021EFEA4
|
|
bl ov00_021EFC6C
|
|
cmp r0, #0
|
|
bne _021EFEB0
|
|
_021EFEA4:
|
|
add sp, sp, #0x100
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021EFEB0:
|
|
add r2, sp, #0
|
|
mov r0, r5
|
|
mov r1, r4
|
|
mov r3, #0xff
|
|
bl ov00_021EBE08
|
|
mvn r3, #0
|
|
cmp r0, r3
|
|
addeq sp, sp, #0x100
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
add r2, sp, #0
|
|
mov r1, #0
|
|
strb r1, [r2, r0]
|
|
mov r0, r3
|
|
bl ov00_021F04A0
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021EFF00: .word _0221A918
|
|
arm_func_end ov00_021EFE78
|
|
|
|
arm_func_start ov00_021EFF04
|
|
ov00_021EFF04: ; 0x021EFF04
|
|
ldr r2, _021EFF2C ; =_0221A918
|
|
ldr r3, [r2, #8]
|
|
cmp r3, #0
|
|
moveq r0, #0
|
|
bxeq lr
|
|
str r0, [r3, #0x44]
|
|
ldr r2, [r2, #8]
|
|
mov r0, #1
|
|
str r1, [r2, #0x48]
|
|
bx lr
|
|
.align 2, 0
|
|
_021EFF2C: .word _0221A918
|
|
arm_func_end ov00_021EFF04
|
|
|
|
arm_func_start ov00_021EFF30
|
|
ov00_021EFF30: ; 0x021EFF30
|
|
ldr ip, _021EFF38 ; =ov00_021EBE08
|
|
bx ip
|
|
.align 2, 0
|
|
_021EFF38: .word ov00_021EBE08
|
|
arm_func_end ov00_021EFF30
|
|
|
|
arm_func_start ov00_021EFF3C
|
|
ov00_021EFF3C: ; 0x021EFF3C
|
|
ldr ip, _021EFF44 ; =ov00_021EBF90
|
|
bx ip
|
|
.align 2, 0
|
|
_021EFF44: .word ov00_021EBF90
|
|
arm_func_end ov00_021EFF3C
|
|
|
|
arm_func_start ov00_021EFF48
|
|
ov00_021EFF48: ; 0x021EFF48
|
|
stmdb sp!, {r4, lr}
|
|
ldr lr, _021F0024 ; =_0221A918
|
|
mov ip, #0
|
|
str r0, [lr, #8]
|
|
str ip, [r0]
|
|
ldr r4, [lr, #8]
|
|
ldr r0, [sp, #8]
|
|
str r1, [r4, #4]
|
|
ldr r1, [lr, #8]
|
|
str ip, [r1, #8]
|
|
ldr r1, [lr, #8]
|
|
str ip, [r1, #0xc]
|
|
str ip, [r1, #0x10]
|
|
str r0, [r1, #0x14]
|
|
ldr r0, [lr, #8]
|
|
str r3, [r0, #0x18]
|
|
ldr r0, [lr, #8]
|
|
strb ip, [r0, #0x1c]
|
|
ldr r0, [lr, #8]
|
|
strb ip, [r0, #0x1d]
|
|
ldr r0, [lr, #8]
|
|
strb ip, [r0, #0x1e]
|
|
ldr r0, [lr, #8]
|
|
strb ip, [r0, #0x1f]
|
|
ldr r0, [lr, #8]
|
|
str ip, [r0, #0x20]
|
|
ldr r0, [lr, #8]
|
|
str ip, [r0, #0x24]
|
|
ldr r0, [lr, #8]
|
|
str r2, [r0, #0x28]
|
|
ldr r0, [lr, #8]
|
|
str ip, [r0, #0x2c]
|
|
ldr r0, [lr, #8]
|
|
str ip, [r0, #0x30]
|
|
ldr r0, [lr, #8]
|
|
str ip, [r0, #0x34]
|
|
ldr r0, [lr, #8]
|
|
str ip, [r0, #0x38]
|
|
ldr r0, [lr, #8]
|
|
str ip, [r0, #0x3c]
|
|
ldr r0, [lr, #8]
|
|
str ip, [r0, #0x40]
|
|
ldr r0, [lr, #8]
|
|
str ip, [r0, #0x44]
|
|
ldr r0, [lr, #8]
|
|
str ip, [r0, #0x48]
|
|
ldr r0, [lr, #8]
|
|
str ip, [r0, #0x4c]
|
|
ldr r0, [lr, #8]
|
|
str ip, [r0, #0x50]
|
|
ldr r0, [lr, #8]
|
|
str ip, [r0, #0x54]
|
|
ldr r0, [lr, #8]
|
|
str ip, [r0, #0x58]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021F0024: .word _0221A918
|
|
arm_func_end ov00_021EFF48
|
|
|
|
arm_func_start ov00_021F0028
|
|
ov00_021F0028: ; 0x021F0028
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021F0188 ; =_0221A918
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, _021F0188 ; =_0221A918
|
|
ldr r1, [r0, #8]
|
|
ldr r0, [r1, #0x18]
|
|
cmp r0, #0
|
|
bne _021F0078
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #0
|
|
ldrne r0, [r0]
|
|
cmpne r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_021F05EC
|
|
ldmia sp!, {r3, pc}
|
|
_021F0078:
|
|
bl ov00_021F1248
|
|
cmp r0, #0
|
|
bne _021F0090
|
|
bl ov00_0220AED0
|
|
cmp r0, #0
|
|
beq _021F00C8
|
|
_021F0090:
|
|
ldr r0, _021F0188 ; =_0221A918
|
|
mov r1, #1
|
|
str r1, [r0]
|
|
mov r1, #0
|
|
str r1, [r0, #0xc]
|
|
bl ov00_0220AEF0
|
|
ldr r0, _021F0188 ; =_0221A918
|
|
mov r2, #0
|
|
str r2, [r0]
|
|
ldr r1, [r0, #0xc]
|
|
cmp r1, #1
|
|
bne _021F00C8
|
|
str r2, [r0, #0xc]
|
|
bl ov00_0220AE60
|
|
_021F00C8:
|
|
ldr r0, _021F0188 ; =_0221A918
|
|
ldr r0, [r0, #8]
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
ldrne r0, [r0]
|
|
cmpne r0, #0
|
|
beq _021F0164
|
|
bl ov00_021F05EC
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, _021F0188 ; =_0221A918
|
|
ldr r3, [r0, #8]
|
|
ldr r0, [r3]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, [r3, #0x18]
|
|
cmp r0, #0
|
|
ldrneb r2, [r3, #0x1e]
|
|
cmpne r2, #3
|
|
beq _021F0164
|
|
ldr r1, [r3, #8]
|
|
cmp r1, #7
|
|
bls _021F0164
|
|
cmp r2, #1
|
|
bhi _021F0134
|
|
ldr r1, [r3, #0x14]
|
|
bl ov00_021F06A8
|
|
_021F0134:
|
|
ldr r0, _021F0188 ; =_0221A918
|
|
ldr r3, [r0, #8]
|
|
ldrb r2, [r3, #0x1c]
|
|
ldr r1, [r3, #0x14]
|
|
cmp r2, r1
|
|
blt _021F0164
|
|
mov r1, #3
|
|
strb r1, [r3, #0x1e]
|
|
ldr r1, [r0, #8]
|
|
ldrb r0, [r1, #0x1f]
|
|
add r0, r0, #1
|
|
strb r0, [r1, #0x1f]
|
|
_021F0164:
|
|
ldr r0, _021F0188 ; =_0221A918
|
|
ldr r1, [r0, #8]
|
|
ldrb r0, [r1, #0x1f]
|
|
cmp r0, #2
|
|
ldmloia sp!, {r3, pc}
|
|
mov r0, #0
|
|
strb r0, [r1, #0x1f]
|
|
bl ov00_021F0914
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021F0188: .word _0221A918
|
|
arm_func_end ov00_021F0028
|
|
|
|
arm_func_start ov00_021F018C
|
|
ov00_021F018C: ; 0x021F018C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r0, _021F0234 ; =_0221A918
|
|
ldr r5, [sp, #0x10]
|
|
ldr r1, [r0, #8]
|
|
ldr r4, [sp, #0x14]
|
|
str r2, [r1, #0x2c]
|
|
ldr r1, [r0, #8]
|
|
ldr lr, [sp, #0x18]
|
|
str r3, [r1, #0x30]
|
|
ldr r1, [r0, #8]
|
|
ldr ip, [sp, #0x1c]
|
|
str r5, [r1, #0x34]
|
|
ldr r1, [r0, #8]
|
|
mov r3, #0
|
|
str r4, [r1, #0x38]
|
|
ldr r1, [r0, #8]
|
|
mov r2, #1
|
|
str lr, [r1, #0x3c]
|
|
ldr r1, [r0, #8]
|
|
str ip, [r1, #0x40]
|
|
ldr r1, [r0, #8]
|
|
strb r3, [r1, #0x1d]
|
|
ldr r1, [r0, #8]
|
|
strb r3, [r1, #0x1e]
|
|
ldr r1, [r0, #8]
|
|
strb r3, [r1, #0x1f]
|
|
ldr r1, [r0, #8]
|
|
strb r3, [r1, #0x1c]
|
|
ldr r1, [r0, #8]
|
|
str r2, [r1]
|
|
ldr r1, [r0, #8]
|
|
ldr r0, [r1, #0x18]
|
|
cmp r0, #0
|
|
ldreqb r0, [r1, #0x1f]
|
|
addeq r0, r0, #1
|
|
streqb r0, [r1, #0x1f]
|
|
ldr r0, _021F0234 ; =_0221A918
|
|
ldr r1, [r0, #8]
|
|
ldrb r0, [r1, #0x1f]
|
|
add r0, r0, #1
|
|
strb r0, [r1, #0x1f]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021F0234: .word _0221A918
|
|
arm_func_end ov00_021F018C
|
|
|
|
arm_func_start ov00_021F0238
|
|
ov00_021F0238: ; 0x021F0238
|
|
stmdb sp!, {r4, lr}
|
|
ldr r2, _021F028C ; =_0221A918
|
|
mov r4, r0
|
|
ldr r2, [r2, #8]
|
|
cmp r2, #0
|
|
cmpne r4, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
bl ov00_021EC24C
|
|
ldr r0, _021F028C ; =_0221A918
|
|
ldr r3, [r0, #8]
|
|
ldr r0, [r3]
|
|
cmp r0, #0
|
|
cmpne r0, #2
|
|
beq _021F0284
|
|
ldrb r1, [r3, #0x1d]
|
|
ldr r2, [r3, #0x30]
|
|
ldr r3, [r3, #0x2c]
|
|
mov r0, r4
|
|
blx r3
|
|
_021F0284:
|
|
bl ov00_021F0678
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021F028C: .word _0221A918
|
|
arm_func_end ov00_021F0238
|
|
|
|
arm_func_start ov00_021F0290
|
|
ov00_021F0290: ; 0x021F0290
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #8
|
|
ldr r2, _021F02D4 ; =_0221A918
|
|
ldr r2, [r2, #8]
|
|
ldr r2, [r2, #0x18]
|
|
cmp r2, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r3, _021F02D8 ; =ov00_021F0EF8
|
|
mov r2, #0
|
|
str r3, [sp]
|
|
str r2, [sp, #4]
|
|
ldr r1, [r1]
|
|
mov r3, r2
|
|
bl ov00_02200020
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021F02D4: .word _0221A918
|
|
_021F02D8: .word ov00_021F0EF8
|
|
arm_func_end ov00_021F0290
|
|
|
|
arm_func_start ov00_021F02DC
|
|
ov00_021F02DC: ; 0x021F02DC
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #8
|
|
mov r4, r1
|
|
mov r5, r0
|
|
ldr r0, [r4, #8]
|
|
ldr r1, _021F0330 ; =_02217A10
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r0, _021F0334 ; =ov00_021F10A8
|
|
mov r2, #0
|
|
stmia sp, {r0, r2}
|
|
ldr r1, [r4]
|
|
mov r0, r5
|
|
mov r3, r2
|
|
bl ov00_02200020
|
|
mov r0, #1
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021F0330: .word _02217A10
|
|
_021F0334: .word ov00_021F10A8
|
|
arm_func_end ov00_021F02DC
|
|
|
|
arm_func_start ov00_021F0338
|
|
ov00_021F0338: ; 0x021F0338
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x210
|
|
ldr r2, _021F03B8 ; =_0221A918
|
|
mov r6, r0
|
|
ldr r0, [r2, #8]
|
|
mov r5, r1
|
|
ldr r0, [r0, #0x34]
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x210
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r0, [r5]
|
|
bl ov00_021F0404
|
|
mov r4, r0
|
|
mvn r0, #0
|
|
cmp r4, r0
|
|
addeq sp, sp, #0x210
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r1, [r5, #8]
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02200400
|
|
ldr r0, _021F03B8 ; =_0221A918
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [r0, #8]
|
|
add r2, sp, #0x108
|
|
ldr r3, [r0, #0x38]
|
|
ldr ip, [r0, #0x34]
|
|
mov r0, r4
|
|
and r1, r1, #0xff
|
|
blx ip
|
|
add sp, sp, #0x210
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021F03B8: .word _0221A918
|
|
arm_func_end ov00_021F0338
|
|
|
|
arm_func_start ov00_021F03BC
|
|
ov00_021F03BC: ; 0x021F03BC
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r1, _021F0400 ; =_0221A918
|
|
mov r5, r0
|
|
ldr r0, [r1, #8]
|
|
ldr r4, [r0, #0x18]
|
|
cmp r4, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
bl ov00_021EF3A4
|
|
mov r1, #0xc
|
|
mla r1, r5, r1, r4
|
|
bl sub_020A028C
|
|
cmp r0, #0
|
|
mvnne r1, #0
|
|
cmpne r0, r1
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021F0400: .word _0221A918
|
|
arm_func_end ov00_021F03BC
|
|
|
|
arm_func_start ov00_021F0404
|
|
ov00_021F0404: ; 0x021F0404
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r4, _021F0464 ; =_0221A918
|
|
mov r6, r0
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
cmpne r6, #0
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r0, [r0, #0x14]
|
|
mov r5, #0
|
|
cmp r0, #0
|
|
ble _021F045C
|
|
_021F0434:
|
|
mov r0, r5
|
|
bl ov00_021F03BC
|
|
cmp r6, r0
|
|
moveq r0, r5
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r0, [r4, #8]
|
|
add r5, r5, #1
|
|
ldr r0, [r0, #0x14]
|
|
cmp r5, r0
|
|
blt _021F0434
|
|
_021F045C:
|
|
mvn r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021F0464: .word _0221A918
|
|
arm_func_end ov00_021F0404
|
|
|
|
arm_func_start ov00_021F0468
|
|
ov00_021F0468: ; 0x021F0468
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021F049C ; =_0221A918
|
|
ldr r1, [r0, #8]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
mov r0, #0
|
|
str r0, [r1, #8]
|
|
bl sub_020D34B0
|
|
ldr r2, _021F049C ; =_0221A918
|
|
ldr r2, [r2, #8]
|
|
str r0, [r2, #0xc]
|
|
str r1, [r2, #0x10]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021F049C: .word _0221A918
|
|
arm_func_end ov00_021F0468
|
|
|
|
arm_func_start ov00_021F04A0
|
|
ov00_021F04A0: ; 0x021F04A0
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r3, _021F054C ; =_0221A918
|
|
mov r6, r0
|
|
ldr r0, [r3, #8]
|
|
mov r5, r1
|
|
mov r4, r2
|
|
cmp r0, #0
|
|
beq _021F04CC
|
|
bl ov00_021EFC6C
|
|
cmp r0, #0
|
|
bne _021F04D4
|
|
_021F04CC:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F04D4:
|
|
mvn r0, #0
|
|
cmp r6, r0
|
|
bne _021F04F4
|
|
ldr r0, _021F054C ; =_0221A918
|
|
ldr r0, [r0, #8]
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
ldr r6, [r0, #0x214]
|
|
_021F04F4:
|
|
cmp r5, #0
|
|
bne _021F0510
|
|
ldr r0, _021F054C ; =_0221A918
|
|
ldr r0, [r0, #8]
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
add r5, r0, #0x218
|
|
_021F0510:
|
|
cmp r4, #0
|
|
bne _021F052C
|
|
ldr r0, _021F054C ; =_0221A918
|
|
ldr r0, [r0, #8]
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
add r4, r0, #0x318
|
|
_021F052C:
|
|
ldr r0, _021F054C ; =_0221A918
|
|
mov r1, r6
|
|
ldr r0, [r0, #8]
|
|
mov r2, r5
|
|
ldr r0, [r0, #4]
|
|
mov r3, r4
|
|
bl ov00_02200654
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021F054C: .word _0221A918
|
|
arm_func_end ov00_021F04A0
|
|
|
|
arm_func_start ov00_021F0550
|
|
ov00_021F0550: ; 0x021F0550
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x210
|
|
ldr r1, _021F05D4 ; =_0221A918
|
|
mov r4, r0
|
|
ldr r3, [r1, #8]
|
|
ldr r2, [r3, #0x44]
|
|
cmp r2, #0
|
|
ldrne r1, [r3]
|
|
cmpne r1, #1
|
|
beq _021F0580
|
|
ldr r1, [r3, #0x48]
|
|
blx r2
|
|
_021F0580:
|
|
ldr r0, _021F05D4 ; =_0221A918
|
|
ldr r1, [r0, #8]
|
|
ldr r0, [r1, #0x34]
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x210
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r1, [r1, #0x18]
|
|
mov r0, #0xc
|
|
mla r0, r4, r0, r1
|
|
add r1, sp, #0x108
|
|
bl ov00_021EFC98
|
|
ldr r2, _021F05D4 ; =_0221A918
|
|
mov r1, r0
|
|
ldr r0, [r2, #8]
|
|
add r2, sp, #0x108
|
|
ldr r3, [r0, #0x38]
|
|
ldr ip, [r0, #0x34]
|
|
mov r0, r4
|
|
blx ip
|
|
add sp, sp, #0x210
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021F05D4: .word _0221A918
|
|
arm_func_end ov00_021F0550
|
|
|
|
arm_func_start ov00_021F05D8
|
|
ov00_021F05D8: ; 0x021F05D8
|
|
ldr r0, _021F05E8 ; =_0221A918
|
|
mov r1, #0
|
|
str r1, [r0, #8]
|
|
bx lr
|
|
.align 2, 0
|
|
_021F05E8: .word _0221A918
|
|
arm_func_end ov00_021F05D8
|
|
|
|
arm_func_start ov00_021F05EC
|
|
ov00_021F05EC: ; 0x021F05EC
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r0, _021F0670 ; =_0221A918
|
|
mov r4, #0
|
|
ldr r5, [r0, #8]
|
|
bl sub_020D34B0
|
|
ldr r3, [r5, #0xc]
|
|
ldr r2, [r5, #0x10]
|
|
subs r3, r0, r3
|
|
sbc r0, r1, r2
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F0674 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, r4
|
|
bl sub_020F2900
|
|
cmp r1, #0
|
|
cmpeq r0, #0x12c
|
|
blo _021F0668
|
|
ldr r1, [r5, #8]
|
|
ldr r0, _021F0670 ; =_0221A918
|
|
add r1, r1, #1
|
|
str r1, [r5, #8]
|
|
ldr r0, [r0, #8]
|
|
ldr r0, [r0, #4]
|
|
bl ov00_021FFD9C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
ldr r2, _021F0670 ; =_0221A918
|
|
ldr r2, [r2, #8]
|
|
str r0, [r2, #0xc]
|
|
str r1, [r2, #0x10]
|
|
_021F0668:
|
|
mov r0, r4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021F0670: .word _0221A918
|
|
_021F0674: .word 0x000082EA
|
|
arm_func_end ov00_021F05EC
|
|
|
|
arm_func_start ov00_021F0678
|
|
ov00_021F0678: ; 0x021F0678
|
|
ldr r0, _021F06A4 ; =_0221A918
|
|
ldr r1, [r0, #8]
|
|
cmp r1, #0
|
|
bxeq lr
|
|
mov r2, #0
|
|
str r2, [r1]
|
|
ldr r1, [r0, #8]
|
|
strb r2, [r1, #0x1e]
|
|
ldr r0, [r0, #8]
|
|
strb r2, [r0, #0x1f]
|
|
bx lr
|
|
.align 2, 0
|
|
_021F06A4: .word _0221A918
|
|
arm_func_end ov00_021F0678
|
|
|
|
arm_func_start ov00_021F06A8
|
|
ov00_021F06A8: ; 0x021F06A8
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
sub sp, sp, #0x248
|
|
ldr r2, _021F090C ; =_0221A918
|
|
mov r7, r0
|
|
ldr r2, [r2, #8]
|
|
mov r6, r1
|
|
ldrb r0, [r2, #0x1e]
|
|
cmp r0, #0
|
|
bne _021F07D8
|
|
ldr r0, [r2, #4]
|
|
add r1, sp, #0x1c
|
|
bl ov00_022003D0
|
|
bl ov00_021F0C48
|
|
ldr r0, [sp, #0x1c]
|
|
mov r1, #0
|
|
str r1, [sp, #0x18]
|
|
cmp r0, #0
|
|
ble _021F07C8
|
|
_021F06F0:
|
|
ldr r0, _021F090C ; =_0221A918
|
|
ldr r1, [sp, #0x18]
|
|
ldr r0, [r0, #8]
|
|
add r2, sp, #0x38
|
|
ldr r0, [r0, #4]
|
|
bl ov00_02200400
|
|
bl ov00_021F0C48
|
|
cmp r6, #0
|
|
mov r4, #0
|
|
ble _021F0778
|
|
_021F0718:
|
|
mov r0, r4
|
|
bl ov00_021F03BC
|
|
ldr r1, [sp, #0x38]
|
|
cmp r1, r0
|
|
bne _021F076C
|
|
mov r0, #0xc
|
|
mul r5, r4, r0
|
|
add r0, r7, r5
|
|
bl sub_0209FC1C
|
|
cmp r0, #0
|
|
bne _021F0778
|
|
ldr r1, [sp, #0x38]
|
|
add r0, r7, r5
|
|
bl sub_020A03D0
|
|
add r0, r7, r5
|
|
bl sub_0209FC9C
|
|
ldr r0, _021F090C ; =_0221A918
|
|
mov r1, #1
|
|
ldr r0, [r0, #8]
|
|
strb r1, [r0, #0x1d]
|
|
b _021F0778
|
|
_021F076C:
|
|
add r4, r4, #1
|
|
cmp r4, r6
|
|
blt _021F0718
|
|
_021F0778:
|
|
cmp r4, r6
|
|
bne _021F07B0
|
|
ldr r0, _021F090C ; =_0221A918
|
|
ldr r1, [sp, #0x38]
|
|
ldr r0, [r0, #8]
|
|
ldr r0, [r0, #4]
|
|
bl ov00_022005FC
|
|
bl ov00_021F0C48
|
|
ldr r1, [sp, #0x1c]
|
|
ldr r0, [sp, #0x18]
|
|
sub r1, r1, #1
|
|
sub r0, r0, #1
|
|
str r1, [sp, #0x1c]
|
|
str r0, [sp, #0x18]
|
|
_021F07B0:
|
|
ldr r1, [sp, #0x18]
|
|
ldr r0, [sp, #0x1c]
|
|
add r1, r1, #1
|
|
str r1, [sp, #0x18]
|
|
cmp r1, r0
|
|
blt _021F06F0
|
|
_021F07C8:
|
|
ldr r0, _021F090C ; =_0221A918
|
|
mov r1, #1
|
|
ldr r0, [r0, #8]
|
|
strb r1, [r0, #0x1e]
|
|
_021F07D8:
|
|
ldr sl, _021F090C ; =_0221A918
|
|
ldr r0, [sl, #8]
|
|
ldrb r0, [r0, #0x1c]
|
|
cmp r0, r6
|
|
addge sp, sp, #0x248
|
|
ldmgeia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
add r4, sp, #0x18
|
|
mov r8, #0xc
|
|
mvn sb, #0
|
|
_021F07FC:
|
|
bl ov00_021F03BC
|
|
movs r5, r0
|
|
beq _021F0854
|
|
ldr r1, [sl, #8]
|
|
mov r0, r7
|
|
ldrb r1, [r1, #0x1c]
|
|
mov r2, r5
|
|
bl ov00_021F09A4
|
|
cmp r0, #0
|
|
bne _021F08E4
|
|
ldr r0, [sl, #8]
|
|
mov r1, r5
|
|
ldr r0, [r0, #4]
|
|
mov r2, r4
|
|
bl ov00_02200540
|
|
bl ov00_021F0C48
|
|
ldr r0, [sp, #0x18]
|
|
cmp r0, sb
|
|
bne _021F08E4
|
|
mov r0, r5
|
|
bl ov00_021F0B58
|
|
b _021F08E4
|
|
_021F0854:
|
|
bl ov00_021EF3A4
|
|
ldr r1, [sl, #8]
|
|
ldrb r2, [r1, #0x1c]
|
|
mla r1, r2, r8, r7
|
|
bl sub_020A028C
|
|
cmp r0, sb
|
|
bne _021F08E4
|
|
bl ov00_021EF3A4
|
|
ldr r2, _021F090C ; =_0221A918
|
|
mov r1, #0xc
|
|
ldr r3, [r2, #8]
|
|
add r2, sp, #0x20
|
|
ldrb r3, [r3, #0x1c]
|
|
mla r1, r3, r1, r7
|
|
bl sub_020A0404
|
|
ldr r0, _021F090C ; =_0221A918
|
|
mov r1, #0
|
|
ldr r4, [r0, #8]
|
|
add r2, sp, #0x20
|
|
stmia sp, {r1, r2}
|
|
str r1, [sp, #8]
|
|
ldr r0, _021F0910 ; =ov00_021F0CBC
|
|
str r1, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldrb r0, [r4, #0x1c]
|
|
mov r2, r1
|
|
mov r3, r1
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r4, #4]
|
|
bl ov00_021FFF58
|
|
ldr r0, _021F090C ; =_0221A918
|
|
mov r1, #2
|
|
ldr r0, [r0, #8]
|
|
add sp, sp, #0x248
|
|
strb r1, [r0, #0x1e]
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F08E4:
|
|
ldr r1, [sl, #8]
|
|
ldrb r0, [r1, #0x1c]
|
|
add r0, r0, #1
|
|
strb r0, [r1, #0x1c]
|
|
ldr r0, [sl, #8]
|
|
ldrb r0, [r0, #0x1c]
|
|
cmp r0, r6
|
|
blt _021F07FC
|
|
add sp, sp, #0x248
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
_021F090C: .word _0221A918
|
|
_021F0910: .word ov00_021F0CBC
|
|
arm_func_end ov00_021F06A8
|
|
|
|
arm_func_start ov00_021F0914
|
|
ov00_021F0914: ; 0x021F0914
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _021F0948 ; =_0221A918
|
|
mov r0, #0
|
|
ldr r3, [r1, #8]
|
|
ldrb r1, [r3, #0x1d]
|
|
ldr r2, [r3, #0x30]
|
|
ldr r3, [r3, #0x2c]
|
|
blx r3
|
|
ldr r0, _021F0948 ; =_0221A918
|
|
mov r1, #2
|
|
ldr r0, [r0, #8]
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021F0948: .word _0221A918
|
|
arm_func_end ov00_021F0914
|
|
|
|
arm_func_start ov00_021F094C
|
|
ov00_021F094C: ; 0x021F094C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r3, _021F09A0 ; =_0221A918
|
|
mov r5, r1
|
|
ldr r1, [r3, #8]
|
|
mov r4, r2
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r2, #0xc
|
|
mla r0, r5, r2, r0
|
|
mov r1, #0
|
|
bl sub_020D4994
|
|
ldr r0, _021F09A0 ; =_0221A918
|
|
ldr r0, [r0, #8]
|
|
ldr r3, [r0, #0x3c]
|
|
cmp r3, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r2, [r0, #0x40]
|
|
mov r0, r5
|
|
mov r1, r4
|
|
blx r3
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021F09A0: .word _0221A918
|
|
arm_func_end ov00_021F094C
|
|
|
|
arm_func_start ov00_021F09A4
|
|
ov00_021F09A4: ; 0x021F09A4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r6, r1
|
|
mov r7, r0
|
|
mov r5, r2
|
|
cmp r6, #0
|
|
mov r4, #0
|
|
ble _021F0A44
|
|
_021F09C0:
|
|
mov r0, r4
|
|
bl ov00_021F03BC
|
|
cmp r0, #0
|
|
beq _021F0A38
|
|
cmp r0, r5
|
|
bne _021F0A38
|
|
mov r0, #0xc
|
|
mla r0, r6, r0, r7
|
|
bl sub_0209FC1C
|
|
cmp r0, #0
|
|
beq _021F0A14
|
|
mov r0, #0xc
|
|
mla r0, r4, r0, r7
|
|
bl sub_0209FC1C
|
|
cmp r0, #0
|
|
bne _021F0A14
|
|
mov r0, r7
|
|
mov r1, r4
|
|
mov r2, r6
|
|
bl ov00_021F094C
|
|
b _021F0A24
|
|
_021F0A14:
|
|
mov r0, r7
|
|
mov r1, r6
|
|
mov r2, r4
|
|
bl ov00_021F094C
|
|
_021F0A24:
|
|
ldr r1, _021F0A4C ; =_0221A918
|
|
mov r0, #1
|
|
ldr r1, [r1, #8]
|
|
strb r0, [r1, #0x1d]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F0A38:
|
|
add r4, r4, #1
|
|
cmp r4, r6
|
|
blt _021F09C0
|
|
_021F0A44:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F0A4C: .word _0221A918
|
|
arm_func_end ov00_021F09A4
|
|
|
|
arm_func_start ov00_021F0A50
|
|
ov00_021F0A50: ; 0x021F0A50
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #8
|
|
mov sl, r1
|
|
mov fp, r0
|
|
mvn r0, #0
|
|
str r2, [sp]
|
|
cmp sl, #0
|
|
str r0, [sp, #4]
|
|
mov r5, #0
|
|
ble _021F0B48
|
|
mov r7, fp
|
|
mov r8, fp
|
|
_021F0A80:
|
|
mov r0, r5
|
|
bl ov00_021F03BC
|
|
movs r4, r0
|
|
beq _021F0B34
|
|
ldr r0, [sp]
|
|
add r6, r5, #1
|
|
cmp r4, r0
|
|
streq r5, [sp, #4]
|
|
cmp r6, sl
|
|
bge _021F0B34
|
|
mov r0, #0xc
|
|
mla sb, r6, r0, fp
|
|
_021F0AB0:
|
|
mov r0, r6
|
|
bl ov00_021F03BC
|
|
cmp r4, r0
|
|
bne _021F0B24
|
|
mov r0, r7
|
|
bl sub_0209FC54
|
|
cmp r0, #2
|
|
bne _021F0AEC
|
|
mov r0, sb
|
|
bl sub_0209FC54
|
|
cmp r0, #3
|
|
bne _021F0AEC
|
|
mov r0, r8
|
|
mov r1, r4
|
|
bl sub_020A03D0
|
|
_021F0AEC:
|
|
mov r0, sb
|
|
bl sub_0209FC1C
|
|
cmp r0, #0
|
|
beq _021F0B04
|
|
mov r0, r8
|
|
bl sub_0209FC9C
|
|
_021F0B04:
|
|
mov r0, fp
|
|
mov r1, r6
|
|
mov r2, r5
|
|
bl ov00_021F094C
|
|
ldr r0, _021F0B54 ; =_0221A918
|
|
ldr r1, [r0, #8]
|
|
mov r0, #1
|
|
strb r0, [r1, #0x1d]
|
|
_021F0B24:
|
|
add r6, r6, #1
|
|
cmp r6, sl
|
|
add sb, sb, #0xc
|
|
blt _021F0AB0
|
|
_021F0B34:
|
|
add r5, r5, #1
|
|
cmp r5, sl
|
|
add r7, r7, #0xc
|
|
add r8, r8, #0xc
|
|
blt _021F0A80
|
|
_021F0B48:
|
|
ldr r0, [sp, #4]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021F0B54: .word _0221A918
|
|
arm_func_end ov00_021F0A50
|
|
|
|
arm_func_start ov00_021F0B58
|
|
ov00_021F0B58: ; 0x021F0B58
|
|
stmdb sp!, {r4, lr}
|
|
ldr r2, _021F0B84 ; =_0221A918
|
|
mov r1, r0
|
|
ldr r0, [r2, #8]
|
|
ldr r2, _021F0B88 ; =_02217A48
|
|
ldr r0, [r0, #4]
|
|
bl ov00_0220014C
|
|
mov r4, r0
|
|
bl ov00_021F0C48
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021F0B84: .word _0221A918
|
|
_021F0B88: .word _02217A48
|
|
arm_func_end ov00_021F0B58
|
|
|
|
arm_func_start ov00_021F0B8C
|
|
ov00_021F0B8C: ; 0x021F0B8C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r2, _021F0C44 ; =_0221A918
|
|
mov r3, #0
|
|
ldr r2, [r2, #8]
|
|
mov r5, r0
|
|
mov r4, r1
|
|
str r3, [sp]
|
|
cmp r2, #0
|
|
beq _021F0BBC
|
|
bl ov00_021EFC6C
|
|
cmp r0, #0
|
|
bne _021F0BC4
|
|
_021F0BBC:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021F0BC4:
|
|
bl ov00_021EF3A4
|
|
mov r1, r5
|
|
bl sub_020A028C
|
|
mov r5, r0
|
|
cmp r5, #0
|
|
ble _021F0C00
|
|
ldr r0, _021F0C44 ; =_0221A918
|
|
add r2, sp, #0
|
|
ldr r0, [r0, #8]
|
|
mov r1, r5
|
|
ldr r0, [r0, #4]
|
|
bl ov00_02200540
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
_021F0C00:
|
|
cmp r5, #0
|
|
ble _021F0C18
|
|
ldr r1, [sp]
|
|
mvn r0, #0
|
|
cmp r1, r0
|
|
bne _021F0C20
|
|
_021F0C18:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021F0C20:
|
|
ldr r0, _021F0C44 ; =_0221A918
|
|
mov r2, r4
|
|
ldr r0, [r0, #8]
|
|
ldr r0, [r0, #4]
|
|
bl ov00_02200400
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
moveq r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021F0C44: .word _0221A918
|
|
arm_func_end ov00_021F0B8C
|
|
|
|
arm_func_start ov00_021F0C48
|
|
ov00_021F0C48: ; 0x021F0C48
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
cmp r4, #4
|
|
addls pc, pc, r4, lsl #2
|
|
b _021F0CA4
|
|
_021F0C64: ; jump table
|
|
b _021F0CA4 ; case 0
|
|
b _021F0C78 ; case 1
|
|
b _021F0C84 ; case 2
|
|
b _021F0C90 ; case 3
|
|
b _021F0C9C ; case 4
|
|
_021F0C78:
|
|
mov r0, #9
|
|
sub r2, r0, #0xa
|
|
b _021F0CA4
|
|
_021F0C84:
|
|
mov r0, #9
|
|
sub r2, r0, #0xb
|
|
b _021F0CA4
|
|
_021F0C90:
|
|
mov r0, #6
|
|
sub r2, r0, #0x10
|
|
b _021F0CA4
|
|
_021F0C9C:
|
|
mov r0, #6
|
|
sub r2, r0, #0x1a
|
|
_021F0CA4:
|
|
ldr r1, _021F0CB8 ; =0xFFFEEAA8
|
|
add r1, r2, r1
|
|
bl ov00_021F0238
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021F0CB8: .word 0xFFFEEAA8
|
|
arm_func_end ov00_021F0C48
|
|
|
|
arm_func_start ov00_021F0CBC
|
|
ov00_021F0CBC: ; 0x021F0CBC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov sb, r1
|
|
ldr r1, [sb]
|
|
mov sl, r0
|
|
mov r8, r2
|
|
cmp r1, #0
|
|
bne _021F0E8C
|
|
ldr r0, [sb, #4]
|
|
cmp r0, #0
|
|
beq _021F0E8C
|
|
mov r0, #0xc
|
|
ldr r1, _021F0EF4 ; =_0221A918
|
|
mul r6, r8, r0
|
|
ldr r0, [r1, #8]
|
|
ldr r0, [r0, #0x18]
|
|
add r0, r0, r6
|
|
bl sub_0209FC54
|
|
cmp r0, #0
|
|
beq _021F0E8C
|
|
ldr r7, _021F0EF4 ; =_0221A918
|
|
ldr r0, [r7, #8]
|
|
ldr r0, [r0]
|
|
cmp r0, #1
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r0, [sb, #4]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _021F0D90
|
|
mov r5, r4
|
|
_021F0D30:
|
|
ldr r0, [r7, #8]
|
|
ldr r1, [sb, #0xc]
|
|
ldr r0, [r0, #0x18]
|
|
ldr r2, [r1, r5]
|
|
mov r1, r8
|
|
bl ov00_021F09A4
|
|
cmp r0, #0
|
|
beq _021F0D7C
|
|
ldr r0, _021F0EF4 ; =_0221A918
|
|
mov r2, #1
|
|
ldr r4, [r0, #8]
|
|
add r1, r2, #0x600
|
|
ldrb r3, [r4, #0x1c]
|
|
add r3, r3, #1
|
|
strb r3, [r4, #0x1c]
|
|
ldr r0, [r0, #8]
|
|
strb r2, [r0, #0x1e]
|
|
str r1, [sb, #8]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021F0D7C:
|
|
ldr r0, [sb, #4]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
add r5, r5, #0xac
|
|
blt _021F0D30
|
|
_021F0D90:
|
|
cmp r0, #0
|
|
mov r7, #0
|
|
ble _021F0E5C
|
|
mov r5, r7
|
|
add fp, sp, #0
|
|
mvn r4, #0
|
|
_021F0DA8:
|
|
ldr r1, [sb, #0xc]
|
|
mov r0, sl
|
|
ldr r1, [r1, r5]
|
|
mov r2, fp
|
|
bl ov00_02200540
|
|
bl ov00_021F0C48
|
|
ldr r0, [sp]
|
|
cmp r0, r4
|
|
bne _021F0DDC
|
|
ldr r0, [sb, #0xc]
|
|
ldr r0, [r0, r5]
|
|
bl ov00_021F0B58
|
|
b _021F0E48
|
|
_021F0DDC:
|
|
ldr r0, _021F0EF4 ; =_0221A918
|
|
ldr r1, [sb, #0xc]
|
|
ldr r0, [r0, #8]
|
|
ldr r1, [r1]
|
|
ldr r0, [r0, #0x18]
|
|
add r0, r0, r6
|
|
bl sub_020A03D0
|
|
ldr r0, _021F0EF4 ; =_0221A918
|
|
ldr r0, [r0, #8]
|
|
ldr r0, [r0, #0x18]
|
|
add r0, r0, r6
|
|
bl sub_0209FC9C
|
|
mov r0, r8
|
|
bl ov00_021F0550
|
|
ldr r0, _021F0EF4 ; =_0221A918
|
|
mov r3, #1
|
|
ldr r4, [r0, #8]
|
|
add r1, r3, #0x600
|
|
ldrb r2, [r4, #0x1c]
|
|
add r2, r2, #1
|
|
strb r2, [r4, #0x1c]
|
|
ldr r2, [r0, #8]
|
|
strb r3, [r2, #0x1e]
|
|
str r1, [sb, #8]
|
|
ldr r0, [r0, #8]
|
|
strb r3, [r0, #0x1d]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021F0E48:
|
|
ldr r0, [sb, #4]
|
|
add r7, r7, #1
|
|
cmp r7, r0
|
|
add r5, r5, #0xac
|
|
blt _021F0DA8
|
|
_021F0E5C:
|
|
ldr r0, [sb, #8]
|
|
cmp r0, #0x600
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r0, _021F0EF4 ; =_0221A918
|
|
mov r1, #1
|
|
ldr r3, [r0, #8]
|
|
ldrb r2, [r3, #0x1c]
|
|
add r2, r2, #1
|
|
strb r2, [r3, #0x1c]
|
|
ldr r0, [r0, #8]
|
|
strb r1, [r0, #0x1e]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021F0E8C:
|
|
ldr r0, [sb]
|
|
cmp r0, #0
|
|
beq _021F0EA4
|
|
bl ov00_021F0C48
|
|
cmp r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021F0EA4:
|
|
ldr r0, _021F0EF4 ; =_0221A918
|
|
ldr r1, [r0, #8]
|
|
ldr r0, [r1]
|
|
cmp r0, #1
|
|
beq _021F0ED0
|
|
ldr r1, [r1, #0x18]
|
|
mov r0, #0xc
|
|
mla r0, r8, r0, r1
|
|
bl sub_0209FC54
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021F0ED0:
|
|
ldr r0, _021F0EF4 ; =_0221A918
|
|
mov r1, #1
|
|
ldr r3, [r0, #8]
|
|
ldrb r2, [r3, #0x1c]
|
|
add r2, r2, #1
|
|
strb r2, [r3, #0x1c]
|
|
ldr r0, [r0, #8]
|
|
strb r1, [r0, #0x1e]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021F0EF4: .word _0221A918
|
|
arm_func_end ov00_021F0CBC
|
|
|
|
arm_func_start ov00_021F0EF8
|
|
ov00_021F0EF8: ; 0x021F0EF8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x28
|
|
mov sb, r1
|
|
ldr r1, [sb]
|
|
mov sl, r0
|
|
cmp r1, #0
|
|
mov r6, #0
|
|
addne sp, sp, #0x28
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r4, _021F10A0 ; =_0221A918
|
|
mov r5, r6
|
|
ldr r1, [r4, #8]
|
|
ldr r0, [r1, #0x14]
|
|
cmp r0, #0
|
|
ble _021F1074
|
|
mov r7, r6
|
|
add fp, sp, #0x11
|
|
_021F0F3C:
|
|
ldr r0, [r1, #0x18]
|
|
add r0, r0, r7
|
|
bl sub_0209FC54
|
|
cmp r0, #1
|
|
bne _021F0FA4
|
|
bl ov00_021EF3A4
|
|
ldr r1, [r4, #8]
|
|
mov r2, fp
|
|
ldr r1, [r1, #0x18]
|
|
add r1, r1, r7
|
|
bl sub_020A0404
|
|
mov r0, fp
|
|
add r1, sb, #0x8e
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _021F105C
|
|
ldr r1, [sb, #4]
|
|
mov r0, sl
|
|
bl ov00_022002C0
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [sb, #4]
|
|
ldr r0, [r0, #0x18]
|
|
add r0, r0, r7
|
|
bl sub_020A03D0
|
|
mov r6, #1
|
|
b _021F105C
|
|
_021F0FA4:
|
|
ldr r0, [r4, #8]
|
|
ldr r0, [r0, #0x18]
|
|
add r0, r0, r7
|
|
bl sub_0209FC54
|
|
cmp r0, #3
|
|
beq _021F0FD4
|
|
ldr r0, [r4, #8]
|
|
ldr r0, [r0, #0x18]
|
|
add r0, r0, r7
|
|
bl sub_0209FC54
|
|
cmp r0, #2
|
|
bne _021F105C
|
|
_021F0FD4:
|
|
bl ov00_021EF3A4
|
|
ldr r1, [r0, #0x24]
|
|
add r0, sp, #0xc
|
|
mov r2, r1, lsr #0x10
|
|
and r2, r2, #0xff
|
|
str r2, [sp]
|
|
mov r2, r1, lsr #8
|
|
and r2, r2, #0xff
|
|
str r2, [sp, #4]
|
|
and r2, r1, #0xff
|
|
str r2, [sp, #8]
|
|
mov r1, r1, lsr #0x18
|
|
and r3, r1, #0xff
|
|
ldr r2, _021F10A4 ; =_02217A4C
|
|
mov r1, #5
|
|
bl sub_020D168C
|
|
ldr r8, [sb, #4]
|
|
bl ov00_021EF3A4
|
|
ldr r1, [r4, #8]
|
|
ldr r1, [r1, #0x18]
|
|
add r1, r1, r7
|
|
bl sub_020A028C
|
|
cmp r8, r0
|
|
bne _021F105C
|
|
add r0, sp, #0xc
|
|
add r1, sb, #0x97
|
|
mov r2, #4
|
|
bl sub_020E5BB0
|
|
cmp r0, #0
|
|
bne _021F105C
|
|
mov r0, sl
|
|
mov r1, r8
|
|
bl ov00_022002C0
|
|
mov r6, #1
|
|
_021F105C:
|
|
ldr r1, [r4, #8]
|
|
add r7, r7, #0xc
|
|
add r5, r5, #1
|
|
ldr r0, [r1, #0x14]
|
|
cmp r5, r0
|
|
blt _021F0F3C
|
|
_021F1074:
|
|
cmp r6, #0
|
|
beq _021F108C
|
|
ldr r0, [sb, #4]
|
|
bl ov00_021F0B58
|
|
add sp, sp, #0x28
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021F108C:
|
|
ldr r1, [sb, #4]
|
|
mov r0, sl
|
|
bl ov00_02200310
|
|
add sp, sp, #0x28
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021F10A0: .word _0221A918
|
|
_021F10A4: .word _02217A4C
|
|
arm_func_end ov00_021F0EF8
|
|
|
|
arm_func_start ov00_021F10A8
|
|
ov00_021F10A8: ; 0x021F10A8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x18
|
|
mov sl, r1
|
|
ldr r0, [sl]
|
|
mov r7, #0
|
|
cmp r0, #0
|
|
mov r8, r7
|
|
addne sp, sp, #0x18
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r4, _021F1244 ; =_0221A918
|
|
mov r6, r7
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r0, #0x14]
|
|
cmp r1, #0
|
|
ble _021F1208
|
|
mov sb, r7
|
|
mov fp, #1
|
|
add r5, sp, #0
|
|
_021F10F0:
|
|
ldr r0, [r0, #0x18]
|
|
add r0, r0, sb
|
|
bl sub_0209FC54
|
|
cmp r0, #1
|
|
bne _021F115C
|
|
bl ov00_021EF3A4
|
|
ldr r1, [r4, #8]
|
|
mov r2, r5
|
|
ldr r1, [r1, #0x18]
|
|
add r1, r1, sb
|
|
bl sub_020A0404
|
|
mov r0, r5
|
|
add r1, sl, #0x8e
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _021F11F0
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [sl, #4]
|
|
ldr r0, [r0, #0x18]
|
|
add r0, r0, sb
|
|
bl sub_020A03D0
|
|
ldr r0, [r4, #8]
|
|
ldr r0, [r0, #0x18]
|
|
add r0, r0, sb
|
|
bl sub_0209FC9C
|
|
mov r7, fp
|
|
b _021F11F0
|
|
_021F115C:
|
|
ldr r0, [r4, #8]
|
|
ldr r0, [r0, #0x18]
|
|
add r0, r0, sb
|
|
bl sub_0209FC54
|
|
cmp r0, #3
|
|
beq _021F118C
|
|
ldr r0, [r4, #8]
|
|
ldr r0, [r0, #0x18]
|
|
add r0, r0, sb
|
|
bl sub_0209FC54
|
|
cmp r0, #2
|
|
bne _021F11F0
|
|
_021F118C:
|
|
bl ov00_021EF3A4
|
|
ldr r1, [r4, #8]
|
|
ldr r1, [r1, #0x18]
|
|
add r1, r1, sb
|
|
bl sub_020A028C
|
|
ldr r1, [sl, #4]
|
|
cmp r1, r0
|
|
bne _021F11F0
|
|
ldr r0, [r4, #8]
|
|
ldr r0, [r0, #0x18]
|
|
add r0, r0, sb
|
|
bl sub_0209FC1C
|
|
cmp r0, #1
|
|
moveq r8, #1
|
|
beq _021F11F0
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [sl, #4]
|
|
ldr r0, [r0, #0x18]
|
|
add r0, r0, sb
|
|
bl sub_020A03D0
|
|
ldr r0, [r4, #8]
|
|
ldr r0, [r0, #0x18]
|
|
add r0, r0, sb
|
|
bl sub_0209FC9C
|
|
mov r7, #1
|
|
_021F11F0:
|
|
ldr r0, [r4, #8]
|
|
add r6, r6, #1
|
|
ldr r1, [r0, #0x14]
|
|
add sb, sb, #0xc
|
|
cmp r6, r1
|
|
blt _021F10F0
|
|
_021F1208:
|
|
cmp r7, #0
|
|
addeq sp, sp, #0x18
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r0, [r0, #0x18]
|
|
ldr r2, [sl, #4]
|
|
bl ov00_021F0A50
|
|
cmp r8, #0
|
|
bne _021F122C
|
|
bl ov00_021F0550
|
|
_021F122C:
|
|
ldr r0, _021F1244 ; =_0221A918
|
|
mov r1, #1
|
|
ldr r0, [r0, #8]
|
|
strb r1, [r0, #0x1d]
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021F1244: .word _0221A918
|
|
arm_func_end ov00_021F10A8
|
|
|
|
arm_func_start ov00_021F1248
|
|
ov00_021F1248: ; 0x021F1248
|
|
ldr r0, _021F1258 ; =_0221A918
|
|
ldr r0, [r0, #8]
|
|
ldr r0, [r0, #0x20]
|
|
bx lr
|
|
.align 2, 0
|
|
_021F1258: .word _0221A918
|
|
arm_func_end ov00_021F1248
|
|
|
|
arm_func_start ov00_021F125C
|
|
ov00_021F125C: ; 0x021F125C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021F1280 ; =_0221A928
|
|
ldr r1, [r0, #0x10]
|
|
cmp r1, #0
|
|
movne r1, #1
|
|
strne r1, [r0, #0xc]
|
|
ldmneia sp!, {r3, pc}
|
|
bl ov00_0220FB40
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021F1280: .word _0221A928
|
|
arm_func_end ov00_021F125C
|
|
|
|
arm_func_start ov00_021F1284
|
|
ov00_021F1284: ; 0x021F1284
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021F12A4
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_021F6BA8
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021F1284
|
|
|
|
arm_func_start ov00_021F12A4
|
|
ov00_021F12A4: ; 0x021F12A4
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
bl ov00_021F955C
|
|
cmp r0, #0
|
|
beq _021F12E0
|
|
bl ov00_021EE568
|
|
cmp r0, #5
|
|
bne _021F12E0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a9]
|
|
cmp r0, #0
|
|
beq _021F12E8
|
|
_021F12E0:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_021F12E8:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021F12A4
|
|
|
|
arm_func_start ov00_021F12F0
|
|
ov00_021F12F0: ; 0x021F12F0
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r5, r1
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
bne _021F133C
|
|
bl ov00_021F955C
|
|
cmp r0, #0
|
|
beq _021F133C
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
bne _021F133C
|
|
bl ov00_021EE568
|
|
cmp r0, #5
|
|
beq _021F1344
|
|
bl ov00_021EE568
|
|
cmp r0, #6
|
|
beq _021F1344
|
|
_021F133C:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F1344:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xa
|
|
bne _021F1380
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
strb r0, [r4, #0x16]
|
|
bl ov00_021F36BC
|
|
cmp r6, #0
|
|
beq _021F139C
|
|
mov r0, r5
|
|
blx r6
|
|
b _021F139C
|
|
_021F1380:
|
|
bl ov00_021F955C
|
|
str r6, [r0, #0x47c]
|
|
bl ov00_021F955C
|
|
str r5, [r0, #0x480]
|
|
bl ov00_021F955C
|
|
mov r1, #1
|
|
strb r1, [r0, #0x1ae]
|
|
_021F139C:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021F12F0
|
|
|
|
arm_func_start ov00_021F13A4
|
|
ov00_021F13A4: ; 0x021F13A4
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
movs r6, r1
|
|
mov r5, r2
|
|
mov r7, r0
|
|
cmpne r5, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
cmp r7, #0x64
|
|
blo _021F1408
|
|
sub r2, r7, #0x64
|
|
mov r0, #0xc
|
|
mul r3, r2, r0
|
|
ldr r0, _021F14BC ; =_0221A948
|
|
ldrb r0, [r0, r3]
|
|
cmp r0, #0
|
|
beq _021F1408
|
|
ldr r0, _021F14C0 ; =_0221A94C
|
|
ldr r0, [r0, r3]
|
|
cmp r0, #0
|
|
beq _021F1418
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
beq _021F1418
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_021F1408:
|
|
bl ov00_021F7A98
|
|
movs r7, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_021F1418:
|
|
sub r1, r7, #0x64
|
|
mov r0, #0xc
|
|
mul r4, r1, r0
|
|
ldr r1, _021F14BC ; =_0221A948
|
|
ldr r0, _021F14C4 ; =_0221A949
|
|
strb r7, [r1, r4]
|
|
mov r2, #1
|
|
ldr r1, _021F14C8 ; =_0221A94A
|
|
strb r2, [r0, r4]
|
|
mov r2, #0
|
|
ldr r0, _021F14C0 ; =_0221A94C
|
|
strh r2, [r1, r4]
|
|
ldr r1, [r0, r4]
|
|
cmp r1, #0
|
|
beq _021F145C
|
|
mov r0, #4
|
|
bl ov00_021EC2EC
|
|
_021F145C:
|
|
mov r0, r6
|
|
ldr r8, _021F14C0 ; =_0221A94C
|
|
bl sub_020E9580
|
|
add r1, r0, #1
|
|
mov r0, #4
|
|
bl ov00_021EC2A8
|
|
str r0, [r8, r4]
|
|
cmp r0, #0
|
|
bne _021F1494
|
|
ldr r1, _021F14CC ; =0xFFFEC77F
|
|
mov r0, #9
|
|
bl ov00_021F2EE4
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_021F1494:
|
|
mov r1, r6
|
|
bl sub_020E959C
|
|
ldr r1, _021F14D0 ; =_0221A950
|
|
mov r0, r8
|
|
str r5, [r1, r4]
|
|
ldr r1, [r0, r4]
|
|
mov r0, r7
|
|
bl ov00_02212008
|
|
mov r0, r7
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_021F14BC: .word _0221A948
|
|
_021F14C0: .word _0221A94C
|
|
_021F14C4: .word _0221A949
|
|
_021F14C8: .word _0221A94A
|
|
_021F14CC: .word 0xFFFEC77F
|
|
_021F14D0: .word _0221A950
|
|
arm_func_end ov00_021F13A4
|
|
|
|
arm_func_start ov00_021F14D4
|
|
ov00_021F14D4: ; 0x021F14D4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl ov00_021F955C
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
cmp r4, #0
|
|
moveq r0, #3
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
cmp r5, #0
|
|
beq _021F1510
|
|
cmp r5, #1
|
|
beq _021F15E8
|
|
b _021F1614
|
|
_021F1510:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0x13
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldrb r0, [r4]
|
|
cmp r0, #0
|
|
beq _021F1540
|
|
ldrb r0, [r4, #1]
|
|
cmp r0, #1
|
|
movls r0, #3
|
|
ldmlsia sp!, {r3, r4, r5, pc}
|
|
_021F1540:
|
|
ldr r0, _021F161C ; =_0221A928
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021F1570
|
|
mov r0, #4
|
|
mov r1, #0x20
|
|
bl ov00_021EC2A8
|
|
ldr r1, _021F161C ; =_0221A928
|
|
cmp r0, #0
|
|
str r0, [r1]
|
|
moveq r0, #4
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
_021F1570:
|
|
ldrb r2, [r4]
|
|
ldr r1, _021F161C ; =_0221A928
|
|
mov r3, #0
|
|
strb r2, [r0]
|
|
ldrb r2, [r4, #1]
|
|
ldr r0, [r1]
|
|
strb r2, [r0, #1]
|
|
ldr r0, [r1]
|
|
strb r3, [r0, #2]
|
|
ldr r0, [r1]
|
|
strb r3, [r0, #3]
|
|
ldr r2, [r4, #4]
|
|
ldr r0, [r1]
|
|
str r2, [r0, #4]
|
|
ldr r0, [r1]
|
|
str r3, [r0, #8]
|
|
ldr r0, [r1]
|
|
str r3, [r0, #0xc]
|
|
bl sub_020D34B0
|
|
ldr r2, _021F161C ; =_0221A928
|
|
ldr r2, [r2]
|
|
str r0, [r2, #0x10]
|
|
str r1, [r2, #0x14]
|
|
bl sub_020D34B0
|
|
ldr r2, _021F161C ; =_0221A928
|
|
ldr r2, [r2]
|
|
str r0, [r2, #0x18]
|
|
str r1, [r2, #0x1c]
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021F15E8:
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
ldrne r0, _021F161C ; =_0221A928
|
|
movne r1, #1
|
|
ldreq r0, _021F161C ; =_0221A928
|
|
moveq r1, #0
|
|
strb r1, [r0, #0x1c]
|
|
ldr r1, _021F161C ; =_0221A928
|
|
mov r0, #0
|
|
strb r0, [r1, #0x1d]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021F1614:
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021F161C: .word _0221A928
|
|
arm_func_end ov00_021F14D4
|
|
|
|
arm_func_start ov00_021F1620
|
|
ov00_021F1620: ; 0x021F1620
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bl ov00_021F954C
|
|
bl ov00_021F955C
|
|
str r6, [r0]
|
|
bl ov00_021F955C
|
|
str r5, [r0, #4]
|
|
bl ov00_021F955C
|
|
str r4, [r0, #8]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x10]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1c]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strh r1, [r0, #0x1a]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0xe4]
|
|
mov r0, r1
|
|
bl ov00_021F956C
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0xf]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x19]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1af]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
add r0, r0, #0x100
|
|
strh r1, [r0, #0xb6]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1dc]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x200]
|
|
bl ov00_021F955C
|
|
ldr r1, [sp, #0x10]
|
|
str r1, [r0, #0x2f4]
|
|
bl ov00_021F955C
|
|
ldr r1, [sp, #0x14]
|
|
str r1, [r0, #0x2f8]
|
|
bl ov00_021F955C
|
|
ldr r1, [sp, #0x18]
|
|
str r1, [r0, #0x2fc]
|
|
bl ov00_021F955C
|
|
ldr r1, [sp, #0x1c]
|
|
str r1, [r0, #0x300]
|
|
bl ov00_021F955C
|
|
add r0, r0, #0x304
|
|
mov r1, #0
|
|
mov r2, #0x40
|
|
bl sub_020D4994
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x344]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x464]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x468]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x474]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x478]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x47c]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x480]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x174]
|
|
str r1, [r0, #0x178]
|
|
bl ov00_021F7AD8
|
|
ldr r1, _021F1798 ; =_0221A928
|
|
mov r0, #0
|
|
strb r0, [r1, #0x1c]
|
|
strb r0, [r1, #0x1d]
|
|
strh r0, [r1, #0x1e]
|
|
bl ov00_021F381C
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021F1798: .word _0221A928
|
|
arm_func_end ov00_021F1620
|
|
|
|
arm_func_start ov00_021F179C
|
|
ov00_021F179C: ; 0x021F179C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x28
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
bl ov00_021F955C
|
|
str r4, [r0, #0x200]
|
|
ldr r4, _021F1914 ; =ov00_021F8D18
|
|
ldr fp, _021F1918 ; =ov00_021F8E60
|
|
mov sl, #0
|
|
mov r5, #1
|
|
_021F17D8:
|
|
bl ov00_021F955C
|
|
mov sb, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
bl ov00_0220D294
|
|
mov r8, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
bl ov00_0220D27C
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
ldr r3, [r0, #0x2f8]
|
|
mov r1, r8
|
|
stmia sp, {r3, r5}
|
|
str r5, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r3, _021F191C ; =ov00_021F8E64
|
|
str fp, [sp, #0x10]
|
|
str r3, [sp, #0x14]
|
|
ldr r3, _021F1920 ; =ov00_021F8E68
|
|
mov r2, r7
|
|
str r3, [sp, #0x18]
|
|
ldr r3, _021F1924 ; =ov00_021F8F0C
|
|
add r0, sb, #0x10
|
|
str r3, [sp, #0x1c]
|
|
ldr r3, _021F1928 ; =ov00_021F8F14
|
|
str r3, [sp, #0x20]
|
|
mov r3, #0
|
|
str r3, [sp, #0x24]
|
|
ldr r3, [r6, #0x2f4]
|
|
bl ov00_022108BC
|
|
movs r6, r0
|
|
beq _021F18B4
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_02210D18
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x10]
|
|
cmp r6, #3
|
|
bne _021F1894
|
|
cmp sl, #4
|
|
bne _021F18A8
|
|
_021F1894:
|
|
mov r0, r6
|
|
bl ov00_021F8380
|
|
add sp, sp, #0x28
|
|
mov r0, r6
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021F18A8:
|
|
add sl, sl, #1
|
|
cmp sl, #5
|
|
blt _021F17D8
|
|
_021F18B4:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1c]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strh r1, [r0, #0x1a]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
ldr r1, _021F192C ; =ov00_021F8F20
|
|
bl ov00_02210AB0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
ldr r1, _021F1930 ; =ov00_021F8F40
|
|
bl ov00_02210A80
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
ldr r1, _021F1934 ; =ov00_021F8FF4
|
|
bl ov00_02210A98
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_02210CBC
|
|
mov r0, r6
|
|
add sp, sp, #0x28
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021F1914: .word ov00_021F8D18
|
|
_021F1918: .word ov00_021F8E60
|
|
_021F191C: .word ov00_021F8E64
|
|
_021F1920: .word ov00_021F8E68
|
|
_021F1924: .word ov00_021F8F0C
|
|
_021F1928: .word ov00_021F8F14
|
|
_021F192C: .word ov00_021F8F20
|
|
_021F1930: .word ov00_021F8F40
|
|
_021F1934: .word ov00_021F8FF4
|
|
arm_func_end ov00_021F179C
|
|
|
|
arm_func_start ov00_021F1938
|
|
ov00_021F1938: ; 0x021F1938
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x114
|
|
ldr r4, _021F1B10 ; =_0221A928
|
|
mov r7, r1
|
|
ldr r1, [r4, #8]
|
|
mov r8, r0
|
|
mov r6, r2
|
|
mov r5, r3
|
|
cmp r1, #0
|
|
beq _021F1978
|
|
mov r0, #4
|
|
mov r2, #0
|
|
bl ov00_021EC2EC
|
|
mov r0, r4
|
|
mov r1, #0
|
|
str r1, [r0, #8]
|
|
_021F1978:
|
|
cmp r7, #0
|
|
beq _021F19F8
|
|
add r0, sp, #0x14
|
|
mvn r1, #0
|
|
mov r2, #0x20
|
|
mov r3, #3
|
|
bl ov00_021F3EF4
|
|
mov r4, r0
|
|
ldr r0, _021F1B14 ; =_02217A58
|
|
bl sub_020E9580
|
|
rsb r1, r4, #0x100
|
|
sub r4, r1, r0
|
|
mov r1, r4
|
|
mov r0, #4
|
|
bl ov00_021EC2A8
|
|
movs r1, r0
|
|
ldr r0, _021F1B10 ; =_0221A928
|
|
str r1, [r0, #8]
|
|
bne _021F19D8
|
|
ldr r1, _021F1B18 ; =0xFFFEC77F
|
|
mov r0, #9
|
|
bl ov00_021F2EE4
|
|
add sp, sp, #0x114
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_021F19D8:
|
|
mov r0, r7
|
|
mov r2, r4
|
|
bl sub_020D4A50
|
|
ldr r0, _021F1B10 ; =_0221A928
|
|
mov r1, #0
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, r4
|
|
strb r1, [r0, #-1]
|
|
_021F19F8:
|
|
mov r1, r8
|
|
mov r2, r6
|
|
mov r3, r5
|
|
mov r0, #0
|
|
bl ov00_021F3BB4
|
|
bl ov00_021F955C
|
|
ldr r1, [sp, #0x130]
|
|
str r1, [r0, #0x474]
|
|
bl ov00_021F955C
|
|
ldr r1, [sp, #0x134]
|
|
str r1, [r0, #0x478]
|
|
mov r0, #2
|
|
bl ov00_021F956C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
cmp r0, #0
|
|
bne _021F1A94
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
mov r2, r0
|
|
mov r0, #0x14
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r3, #0
|
|
str r3, [sp, #8]
|
|
ldr r0, _021F1B1C ; =ov00_021F85B8
|
|
str r0, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
ldr r0, [r5, #0x2f4]
|
|
ldr r1, [r4, #0x2f4]
|
|
ldr r2, [r2, #0x2f8]
|
|
bl ov00_02213610
|
|
str r0, [r6, #0xe4]
|
|
_021F1A94:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
cmp r0, #0
|
|
bne _021F1AB8
|
|
mov r0, #5
|
|
bl ov00_021F82EC
|
|
cmp r0, #0
|
|
addne sp, sp, #0x114
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_021F1AB8:
|
|
ldr r1, _021F1B20 ; =_02217A60
|
|
mov r0, #3
|
|
mov r2, #0
|
|
bl ov00_021F04A0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x200]
|
|
bl ov00_021F3CF8
|
|
bl ov00_021F82EC
|
|
cmp r0, #0
|
|
addne sp, sp, #0x114
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0
|
|
bne _021F1B00
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x200]
|
|
bl ov00_021F179C
|
|
_021F1B00:
|
|
mov r0, #0
|
|
bl ov00_021F7DDC
|
|
add sp, sp, #0x114
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_021F1B10: .word _0221A928
|
|
_021F1B14: .word _02217A58
|
|
_021F1B18: .word 0xFFFEC77F
|
|
_021F1B1C: .word ov00_021F85B8
|
|
_021F1B20: .word _02217A60
|
|
arm_func_end ov00_021F1938
|
|
|
|
arm_func_start ov00_021F1B24
|
|
ov00_021F1B24: ; 0x021F1B24
|
|
stmdb sp!, {r4, lr}
|
|
mov lr, r1
|
|
mov ip, r2
|
|
mov r4, r3
|
|
mov r1, r0
|
|
mov r2, lr
|
|
mov r3, ip
|
|
mov r0, #2
|
|
bl ov00_021F3BB4
|
|
bl ov00_021F955C
|
|
str r4, [r0, #0x46c]
|
|
bl ov00_021F955C
|
|
ldr r1, [sp, #8]
|
|
str r1, [r0, #0x470]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x200]
|
|
str r0, [r4, #0xf4]
|
|
bl ov00_021F955C
|
|
mov r1, #1
|
|
str r1, [r0, #0x2f0]
|
|
bl ov00_021F955C
|
|
mov r2, #0
|
|
strb r2, [r0, #0xe]
|
|
ldr r1, _021F1BC8 ; =_0221A928
|
|
mov r0, #0xa
|
|
strb r2, [r1, #0x1d]
|
|
bl ov00_021F956C
|
|
bl ov00_021F36BC
|
|
bl ov00_021F8278
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x200]
|
|
bl ov00_021F179C
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021F1BC8: .word _0221A928
|
|
arm_func_end ov00_021F1B24
|
|
|
|
arm_func_start ov00_021F1BCC
|
|
ov00_021F1BCC: ; 0x021F1BCC
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x14
|
|
mov r5, r2
|
|
mov r6, r0
|
|
mov r4, r3
|
|
mov r2, r1
|
|
mov r3, r5
|
|
mov r0, #3
|
|
mov r1, #0
|
|
bl ov00_021F3BB4
|
|
bl ov00_021F955C
|
|
str r4, [r0, #0x46c]
|
|
bl ov00_021F955C
|
|
ldr r1, [sp, #0x28]
|
|
str r1, [r0, #0x470]
|
|
bl ov00_021F955C
|
|
mov r1, #1
|
|
strb r1, [r0, #0x17]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x200]
|
|
str r0, [r4, #0x20]
|
|
bl ov00_021F955C
|
|
str r6, [r0, #0xf4]
|
|
mov r0, #4
|
|
bl ov00_021F956C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
cmp r0, #0
|
|
bne _021F1CA0
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
mov r2, r0
|
|
mov r0, #0x14
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r3, #0
|
|
str r3, [sp, #8]
|
|
ldr r0, _021F1D2C ; =ov00_021F85B8
|
|
str r0, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
ldr r0, [r5, #0x2f4]
|
|
ldr r1, [r4, #0x2f4]
|
|
ldr r2, [r2, #0x2f8]
|
|
bl ov00_02213610
|
|
str r0, [r6, #0xe4]
|
|
_021F1CA0:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
cmp r0, #0
|
|
bne _021F1CC4
|
|
mov r0, #5
|
|
bl ov00_021F82EC
|
|
cmp r0, #0
|
|
addne sp, sp, #0x14
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
_021F1CC4:
|
|
ldr r1, _021F1D30 ; =_02217A60
|
|
mov r0, #5
|
|
mov r2, #0
|
|
bl ov00_021F04A0
|
|
bl ov00_021F8278
|
|
cmp r0, #0
|
|
addne sp, sp, #0x14
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0
|
|
bne _021F1D0C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x200]
|
|
bl ov00_021F179C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x14
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
_021F1D0C:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
mov r1, #0
|
|
bl ov00_021F5B5C
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021F1D2C: .word ov00_021F85B8
|
|
_021F1D30: .word _02217A60
|
|
arm_func_end ov00_021F1BCC
|
|
|
|
arm_func_start ov00_021F1D34
|
|
ov00_021F1D34: ; 0x021F1D34
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
ldmeqia sp!, {r4, pc}
|
|
bl ov00_02210AC8
|
|
ldr r0, [r4, #0xb4]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
cmpne r0, #1
|
|
beq _021F1D70
|
|
cmp r0, #2
|
|
beq _021F1DC4
|
|
ldmia sp!, {r4, pc}
|
|
_021F1D70:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xb
|
|
addls pc, pc, r0, lsl #2
|
|
ldmia sp!, {r4, pc}
|
|
_021F1D84: ; jump table
|
|
ldmia sp!, {r4, pc} ; case 0
|
|
b _021F1DB4 ; case 1
|
|
b _021F1DB4 ; case 2
|
|
b _021F1DB4 ; case 3
|
|
b _021F1DB4 ; case 4
|
|
ldmia sp!, {r4, pc} ; case 5
|
|
b _021F1DB4 ; case 6
|
|
ldmia sp!, {r4, pc} ; case 7
|
|
ldmia sp!, {r4, pc} ; case 8
|
|
ldmia sp!, {r4, pc} ; case 9
|
|
ldmia sp!, {r4, pc} ; case 10
|
|
b _021F1DB4 ; case 11
|
|
_021F1DB4:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_02210CBC
|
|
ldmia sp!, {r4, pc}
|
|
_021F1DC4:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xb
|
|
ldmneia sp!, {r4, pc}
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_02210CBC
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021F1D34
|
|
|
|
arm_func_start ov00_021F1DE4
|
|
ov00_021F1DE4: ; 0x021F1DE4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #8
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
cmp r4, #0
|
|
bne _021F1E60
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0
|
|
beq _021F1E34
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_02210AC8
|
|
_021F1E34:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
bl ov00_0220CFC4
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F1E60:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xd
|
|
addls pc, pc, r0, lsl #2
|
|
b _021F258C
|
|
_021F1E88: ; jump table
|
|
b _021F258C ; case 0
|
|
b _021F2494 ; case 1
|
|
b _021F203C ; case 2
|
|
b _021F203C ; case 3
|
|
b _021F1EC0 ; case 4
|
|
b _021F203C ; case 5
|
|
b _021F258C ; case 6
|
|
b _021F20FC ; case 7
|
|
b _021F258C ; case 8
|
|
b _021F258C ; case 9
|
|
b _021F258C ; case 10
|
|
b _021F2280 ; case 11
|
|
b _021F258C ; case 12
|
|
b _021F2374 ; case 13
|
|
_021F1EC0:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1c8]
|
|
cmp r0, #0
|
|
beq _021F1FAC
|
|
bl sub_020D34B0
|
|
mov r6, r0
|
|
mov r7, r1
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
ldr r1, [r5, #0x1cc]
|
|
ldr r0, [r5, #0x1d0]
|
|
subs r2, r6, r1
|
|
sbc r0, r7, r0
|
|
mov r1, r0, lsl #6
|
|
orr r1, r1, r2, lsr #26
|
|
mov r0, r2, lsl #6
|
|
ldr r2, _021F2854 ; =0x000082EA
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
cmp r1, #0
|
|
ldr r1, [r4, #0x1c8]
|
|
cmpeq r0, r1
|
|
bls _021F1FAC
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1c8]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
bne _021F1F98
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x1aa]
|
|
add r1, r1, #1
|
|
strb r1, [r0, #0x1aa]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1aa]
|
|
cmp r0, #5
|
|
bls _021F1F74
|
|
ldr r1, _021F2858 ; =0xFFFEC5D2
|
|
mov r0, #6
|
|
bl ov00_021F2EE4
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F1F74:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
mov r1, #0
|
|
bl ov00_021F5B5C
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
beq _021F1FAC
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F1F98:
|
|
mov r0, #0
|
|
bl ov00_021F5FD4
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F1FAC:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1bc]
|
|
cmp r0, #0
|
|
beq _021F258C
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0xd]
|
|
ldr r0, _021F285C ; =0x00000BB8
|
|
mul r0, r1, r0
|
|
add r0, r0, #0x3b8
|
|
add r5, r0, #0x800
|
|
bl sub_020D34B0
|
|
mov r4, r0
|
|
mov r6, r1
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x1c0]
|
|
ldr r0, [r0, #0x1c4]
|
|
subs r2, r4, r1
|
|
sbc r0, r6, r0
|
|
mov r1, r0, lsl #6
|
|
orr r1, r1, r2, lsr #26
|
|
mov r0, r2, lsl #6
|
|
ldr r2, _021F2854 ; =0x000082EA
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
cmp r1, #0
|
|
cmpeq r0, r5
|
|
blo _021F258C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
mov r1, #0
|
|
bl ov00_021F5B5C
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
beq _021F258C
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F203C:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe8]
|
|
cmp r0, #0
|
|
ble _021F258C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #3
|
|
bne _021F2078
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0xd]
|
|
ldr r0, _021F285C ; =0x00000BB8
|
|
mul r0, r1, r0
|
|
add r0, r0, #0x3b8
|
|
add r5, r0, #0x800
|
|
b _021F208C
|
|
_021F2078:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe8]
|
|
cmp r0, #1
|
|
moveq r5, #0x3e8
|
|
ldrne r5, _021F285C ; =0x00000BB8
|
|
_021F208C:
|
|
bl sub_020D34B0
|
|
mov r4, r0
|
|
mov r6, r1
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0xec]
|
|
ldr r0, [r0, #0xf0]
|
|
subs r3, r4, r1
|
|
sbc r0, r6, r0
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F2854 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
cmp r1, #0
|
|
cmpeq r0, r5
|
|
bls _021F258C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x204]
|
|
bl ov00_021F3CF8
|
|
bl ov00_021F82EC
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0xe8]
|
|
b _021F258C
|
|
_021F20FC:
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x190]
|
|
ldr r0, [r0, #0x18c]
|
|
cmp r1, #0
|
|
cmpeq r0, #0
|
|
beq _021F2188
|
|
bl sub_020D34B0
|
|
mov r4, r0
|
|
mov r5, r1
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x18c]
|
|
ldr r0, [r0, #0x190]
|
|
subs r3, r4, r1
|
|
sbc r0, r5, r0
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F2854 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
ldr r2, _021F2860 ; =0x000061A8
|
|
cmp r1, #0
|
|
cmpeq r0, r2
|
|
bls _021F258C
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x18c]
|
|
str r1, [r0, #0x190]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
bl ov00_021F631C
|
|
cmp r0, #0
|
|
bne _021F258C
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F2188:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x3cc]
|
|
cmp r0, #6
|
|
bne _021F258C
|
|
bl sub_020D34B0
|
|
mov r4, r0
|
|
mov r5, r1
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x45c]
|
|
ldr r0, [r0, #0x460]
|
|
subs r3, r4, r1
|
|
sbc r0, r5, r0
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F2854 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
ldr r2, _021F2864 ; =0x00001770
|
|
cmp r1, #0
|
|
cmpeq r0, r2
|
|
bls _021F258C
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x3cd]
|
|
add r1, r1, #1
|
|
strb r1, [r0, #0x3cd]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x3cd]
|
|
cmp r0, #5
|
|
bls _021F2220
|
|
bl ov00_021F2EC4
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
bl ov00_021F631C
|
|
cmp r0, #0
|
|
bne _021F258C
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F2220:
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
add r1, r4, #0x3d4
|
|
str r1, [sp]
|
|
add r3, r5, #0x300
|
|
ldr r1, [r0, #0x458]
|
|
mov r0, #6
|
|
str r1, [sp, #4]
|
|
ldr r1, [r7, #0x454]
|
|
ldr r2, [r6, #0x3d0]
|
|
ldrh r3, [r3, #0xce]
|
|
bl ov00_021F4304
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
beq _021F258C
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F2280:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x3cc]
|
|
cmp r0, #2
|
|
bne _021F258C
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
bne _021F22E8
|
|
bl sub_020D34B0
|
|
mov r4, r0
|
|
mov r5, r1
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x45c]
|
|
ldr r0, [r0, #0x460]
|
|
subs r3, r4, r1
|
|
sbc r0, r5, r0
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F2854 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
ldr r2, _021F2864 ; =0x00001770
|
|
cmp r1, #0
|
|
cmpeq r0, r2
|
|
bhi _021F2340
|
|
_021F22E8:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
beq _021F258C
|
|
bl sub_020D34B0
|
|
mov r4, r0
|
|
mov r5, r1
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x45c]
|
|
ldr r0, [r0, #0x460]
|
|
subs r3, r4, r1
|
|
sbc r0, r5, r0
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F2854 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
ldr r2, _021F2868 ; =0x00004A38
|
|
cmp r1, #0
|
|
cmpeq r0, r2
|
|
bls _021F258C
|
|
_021F2340:
|
|
bl ov00_021F2EC4
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
add r0, r0, #1
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
bl ov00_021F6100
|
|
cmp r0, #0
|
|
bne _021F258C
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F2374:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x3cc]
|
|
cmp r0, #8
|
|
bne _021F258C
|
|
bl sub_020D34B0
|
|
mov r4, r0
|
|
mov r5, r1
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x45c]
|
|
ldr r0, [r0, #0x460]
|
|
subs r3, r4, r1
|
|
sbc r0, r5, r0
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F2854 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
ldr r2, _021F286C ; =0x00007530
|
|
cmp r1, #0
|
|
cmpeq r0, r2
|
|
bls _021F258C
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x3cd]
|
|
add r1, r1, #1
|
|
strb r1, [r0, #0x3cd]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x3cd]
|
|
cmp r0, #0
|
|
beq _021F2434
|
|
bl ov00_021F2EC4
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
bne _021F242C
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
bl ov00_021F6100
|
|
cmp r0, #0
|
|
bne _021F258C
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F242C:
|
|
bl ov00_021F6FC4
|
|
b _021F258C
|
|
_021F2434:
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
add r1, r4, #0x3d4
|
|
str r1, [sp]
|
|
add r3, r5, #0x300
|
|
ldr r1, [r0, #0x458]
|
|
mov r0, #8
|
|
str r1, [sp, #4]
|
|
ldr r1, [r7, #0x454]
|
|
ldr r2, [r6, #0x3d0]
|
|
ldrh r3, [r3, #0xce]
|
|
bl ov00_021F4304
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
beq _021F258C
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F2494:
|
|
bl ov00_021EE568
|
|
cmp r0, #5
|
|
bne _021F258C
|
|
bl sub_020D34B0
|
|
mov r4, r0
|
|
mov r5, r1
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x1f8]
|
|
ldr r0, [r0, #0x1fc]
|
|
subs r3, r4, r1
|
|
sbc r0, r5, r0
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F2854 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
ldr r2, _021F286C ; =0x00007530
|
|
cmp r1, #0
|
|
cmpeq r0, r2
|
|
bls _021F258C
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1ad]
|
|
cmp r0, #5
|
|
blo _021F2514
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
bl ov00_021F631C
|
|
cmp r0, #0
|
|
bne _021F258C
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F2514:
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldrh r3, [r0, #0xa4]
|
|
ldr r1, [r5, #0xf4]
|
|
ldr r2, [r4, #0x24]
|
|
mov r0, #0x40
|
|
bl ov00_021F4304
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x1ad]
|
|
add r1, r1, #1
|
|
strb r1, [r0, #0x1ad]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
ldr r2, _021F2870 ; =0xFF403B3A
|
|
mvn r3, #0
|
|
adds r0, r0, r2
|
|
str r0, [r4, #0x1f8]
|
|
adc r0, r1, r3
|
|
str r0, [r4, #0x1fc]
|
|
_021F258C:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xb
|
|
beq _021F25AC
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #6
|
|
bne _021F2624
|
|
_021F25AC:
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x188]
|
|
ldr r0, [r0, #0x184]
|
|
cmp r1, #0
|
|
cmpeq r0, #0
|
|
beq _021F2624
|
|
bl sub_020D34B0
|
|
mov r4, r0
|
|
mov r5, r1
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x184]
|
|
ldr r0, [r0, #0x188]
|
|
subs r3, r4, r1
|
|
sbc r0, r5, r0
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F2854 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
ldr r2, _021F2874 ; =0x00002710
|
|
cmp r1, #0
|
|
cmpeq r0, r2
|
|
bls _021F2624
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
add r3, r0, #0x194
|
|
mov r2, r1
|
|
mov r0, #1
|
|
bl ov00_021F9104
|
|
_021F2624:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
cmp r0, #0
|
|
beq _021F26E4
|
|
ldr r0, _021F2878 ; =_0221A928
|
|
mov r1, #0
|
|
str r1, [r0, #0x18]
|
|
str r1, [r0, #0x14]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_02213938
|
|
ldr r0, _021F2878 ; =_0221A928
|
|
ldr r0, [r0, #0x14]
|
|
cmp r0, #0
|
|
beq _021F2678
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_022136E4
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0xe4]
|
|
_021F2678:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
cmp r0, #0
|
|
beq _021F26E4
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_02213984
|
|
cmp r0, #0
|
|
beq _021F26E4
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x178]
|
|
ldr r0, [r0, #0x174]
|
|
cmp r1, #0
|
|
cmpeq r0, #0
|
|
beq _021F26E4
|
|
bl sub_020D34B0
|
|
mov r4, r0
|
|
mov r5, r1
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x178]
|
|
ldr r0, [r0, #0x174]
|
|
cmp r5, r1
|
|
cmpeq r4, r0
|
|
bls _021F26E4
|
|
ldr r1, _021F287C ; =0xFFFEB3EE
|
|
mov r0, #6
|
|
bl ov00_021F2EE4
|
|
_021F26E4:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_021F1D34
|
|
ldr r0, _021F2878 ; =_0221A928
|
|
mov r1, #0
|
|
str r1, [r0, #0xc]
|
|
mov r1, #1
|
|
str r1, [r0, #0x10]
|
|
bl ov00_022103C4
|
|
ldr r0, _021F2878 ; =_0221A928
|
|
mov r2, #0
|
|
str r2, [r0, #0x10]
|
|
ldr r1, [r0, #0xc]
|
|
cmp r1, #1
|
|
bne _021F2728
|
|
str r2, [r0, #0xc]
|
|
bl ov00_0220FB40
|
|
_021F2728:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _021F2748
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
bl ov00_0220CFC4
|
|
_021F2748:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0x12
|
|
bne _021F27B0
|
|
bl sub_020D34B0
|
|
mov r4, r0
|
|
mov r5, r1
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x1f0]
|
|
ldr r0, [r0, #0x1f4]
|
|
subs r3, r4, r1
|
|
sbc r0, r5, r0
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F2854 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
ldr r2, _021F285C ; =0x00000BB8
|
|
cmp r1, #0
|
|
cmpeq r0, r2
|
|
bls _021F27B0
|
|
bl ov00_021F6FF8
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F27B0:
|
|
bl ov00_021F7384
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
bl ov00_021F7898
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
bl ov00_021F7E4C
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1ae]
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xa
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
strb r0, [r4, #0x16]
|
|
bl ov00_021F36BC
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1ae]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x47c]
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x480]
|
|
ldr r1, [r4, #0x47c]
|
|
blx r1
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F2854: .word 0x000082EA
|
|
_021F2858: .word 0xFFFEC5D2
|
|
_021F285C: .word 0x00000BB8
|
|
_021F2860: .word 0x000061A8
|
|
_021F2864: .word 0x00001770
|
|
_021F2868: .word 0x00004A38
|
|
_021F286C: .word 0x00007530
|
|
_021F2870: .word 0xFF403B3A
|
|
_021F2874: .word 0x00002710
|
|
_021F2878: .word _0221A928
|
|
_021F287C: .word 0xFFFEB3EE
|
|
arm_func_end ov00_021F1DE4
|
|
|
|
arm_func_start ov00_021F2880
|
|
ov00_021F2880: ; 0x021F2880
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #8
|
|
ldr r0, [sp, #0x18]
|
|
mov r4, r3
|
|
cmp r0, #0
|
|
cmpne r4, #0
|
|
mov r5, r1
|
|
mov r6, r2
|
|
addeq sp, sp, #8
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
add r1, sp, #0
|
|
mov r0, #0
|
|
mov r2, #8
|
|
bl sub_020D47EC
|
|
mov r1, r6, asr #8
|
|
mov r0, r6, lsl #8
|
|
mov r2, #2
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
strb r2, [sp, #1]
|
|
strh r0, [sp, #2]
|
|
str r5, [sp, #4]
|
|
ldrb r5, [r4]
|
|
cmp r5, #0xfe
|
|
ldreqb r0, [r4, #1]
|
|
cmpeq r0, #0xfd
|
|
beq _021F28FC
|
|
cmp r5, #0x5c
|
|
bne _021F2928
|
|
_021F28FC:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0
|
|
beq _021F2964
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
ldr r2, [sp, #0x18]
|
|
add r3, sp, #0
|
|
mov r1, r4
|
|
bl ov00_02211A88
|
|
b _021F2964
|
|
_021F2928:
|
|
ldr r1, _021F2970 ; =_02219D28
|
|
mov r0, r4
|
|
mov r2, #6
|
|
bl sub_020E5BB0
|
|
cmp r0, #0
|
|
bne _021F2954
|
|
ldr r1, [sp, #0x18]
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_0221075C
|
|
b _021F2964
|
|
_021F2954:
|
|
add sp, sp, #8
|
|
cmp r5, #0xfe
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F2964:
|
|
mov r0, #1
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021F2970: .word _02219D28
|
|
arm_func_end ov00_021F2880
|
|
|
|
arm_func_start ov00_021F2974
|
|
ov00_021F2974: ; 0x021F2974
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
mov r8, r1
|
|
mov r7, r2
|
|
mov r6, r3
|
|
bl ov00_021F955C
|
|
cmp r0, #0
|
|
beq _021F29B0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #7
|
|
bne _021F29B0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a9]
|
|
cmp r0, #0
|
|
beq _021F29C4
|
|
_021F29B0:
|
|
ldr r1, _021F2BA4 ; =_02217A74
|
|
mov r0, r8
|
|
mvn r2, #0
|
|
bl ov00_0220D00C
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_021F29C4:
|
|
bl ov00_021EE6D0
|
|
mov r5, r0
|
|
mvn r2, #0
|
|
cmp r5, r2
|
|
bne _021F29F4
|
|
ldr r1, _021F2BA8 ; =_02217A80
|
|
mov r0, r8
|
|
bl ov00_0220D00C
|
|
ldr r1, _021F2BAC ; =0xFFFEABC4
|
|
mov r0, #6
|
|
bl ov00_021F2EE4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_021F29F4:
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x210]
|
|
cmp r7, r0
|
|
bne _021F2A38
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
add r0, r4, r0, lsl #1
|
|
add r0, r0, #0x200
|
|
ldrh r0, [r0, #0x90]
|
|
cmp r6, r0
|
|
beq _021F2AC4
|
|
_021F2A38:
|
|
ldr r0, [sp, #0x24]
|
|
ldrb r1, [r0]
|
|
cmp r1, #0
|
|
beq _021F2AB0
|
|
mov r1, #0
|
|
mov r2, #0xa
|
|
bl sub_020EB6CC
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
mov sb, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
add r0, sb, r0, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
cmp r4, r0
|
|
bne _021F2AB0
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
add r0, r4, r0, lsl #2
|
|
str r7, [r0, #0x210]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
add r0, r4, r0, lsl #1
|
|
add r0, r0, #0x200
|
|
strh r6, [r0, #0x90]
|
|
b _021F2AC4
|
|
_021F2AB0:
|
|
ldr r1, _021F2BB0 ; =_02217A8C
|
|
mov r0, r8
|
|
mvn r2, #0
|
|
bl ov00_0220D00C
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_021F2AC4:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x18c]
|
|
str r1, [r0, #0x190]
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #8]
|
|
mov r0, r8
|
|
bl ov00_0220D000
|
|
cmp r0, #0
|
|
bne _021F2AFC
|
|
ldr r1, _021F2BB4 ; =0xFFFEC5E6
|
|
mov r0, #6
|
|
bl ov00_021F2EE4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_021F2AFC:
|
|
bl ov00_021F2EC4
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #0
|
|
bne _021F2B30
|
|
ldr r1, [sp, #0x20]
|
|
ldr r0, _021F2BB8 ; =0x0000FFFF
|
|
mov r4, r1, asr #1
|
|
cmp r0, r1, asr #1
|
|
movle r4, r0
|
|
bl ov00_021F955C
|
|
add r0, r0, #0x100
|
|
strh r4, [r0, #0xb0]
|
|
_021F2B30:
|
|
mov r0, r5
|
|
bl ov00_021EE72C
|
|
mov r4, r0
|
|
mov r0, r5
|
|
bl ov00_021EE7A4
|
|
str r8, [r4]
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0xd]
|
|
add r1, r1, #1
|
|
strb r1, [r0, #0xd]
|
|
strb r5, [r4]
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0xd]
|
|
mov r0, r8
|
|
mov r2, #0
|
|
sub r1, r1, #1
|
|
add r1, r5, r1
|
|
ldrb r3, [r1, #0x2d0]
|
|
mov r1, r4
|
|
strb r3, [r4, #1]
|
|
strh r2, [r4, #2]
|
|
str r2, [r4, #4]
|
|
bl ov00_0220D2A4
|
|
mov r0, #2
|
|
bl ov00_021F64C0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_021F2BA4: .word _02217A74
|
|
_021F2BA8: .word _02217A80
|
|
_021F2BAC: .word 0xFFFEABC4
|
|
_021F2BB0: .word _02217A8C
|
|
_021F2BB4: .word 0xFFFEC5E6
|
|
_021F2BB8: .word 0x0000FFFF
|
|
arm_func_end ov00_021F2974
|
|
|
|
arm_func_start ov00_021F2BBC
|
|
ov00_021F2BBC: ; 0x021F2BBC
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x1c
|
|
mov r6, r0
|
|
mov r4, r1
|
|
bl ov00_021F955C
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x1c
|
|
ldmeqia sp!, {r4, r5, r6, r7, pc}
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #7
|
|
beq _021F2C00
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xc
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r4, r5, r6, r7, pc}
|
|
_021F2C00:
|
|
cmp r4, #0
|
|
beq _021F2D7C
|
|
cmp r4, #5
|
|
addeq sp, sp, #0x1c
|
|
ldmeqia sp!, {r4, r5, r6, r7, pc}
|
|
cmp r4, #6
|
|
bne _021F2D50
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0xc]
|
|
add r1, r1, #1
|
|
strb r1, [r0, #0xc]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #5
|
|
bls _021F2C6C
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0xc]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x14]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
bl ov00_021F6100
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_021F2C6C:
|
|
bl ov00_021F955C
|
|
ldr r3, [r0, #0x200]
|
|
ldr r2, _021F2E34 ; =_02217A64
|
|
add r0, sp, #0x10
|
|
mov r1, #0xc
|
|
bl sub_020D168C
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
ldrb r2, [r6, #0x14]
|
|
ldrb r1, [r0, #0x14]
|
|
add r0, r7, r2, lsl #2
|
|
add r1, r5, r1, lsl #1
|
|
add r1, r1, #0x200
|
|
ldrh r1, [r1, #0x90]
|
|
ldr r0, [r0, #0x210]
|
|
mov r2, #0
|
|
bl ov00_0220F724
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
mvn r1, #0
|
|
str r1, [sp]
|
|
ldr r3, _021F2E38 ; =0x00001388
|
|
mov r1, #0
|
|
str r3, [sp, #4]
|
|
ldr r0, [r0, #8]
|
|
mov r2, r5
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r4, #4]
|
|
add r3, sp, #0x10
|
|
ldr r0, [r0]
|
|
bl ov00_0220D018
|
|
cmp r0, #1
|
|
bne _021F2D1C
|
|
bl ov00_021F8514
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_021F2D1C:
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x1c
|
|
ldmeqia sp!, {r4, r5, r6, r7, pc}
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x14]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
bl ov00_021F6100
|
|
add sp, sp, #0x1c
|
|
cmp r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_021F2D50:
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
add r0, r0, #1
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
bl ov00_021F6100
|
|
add sp, sp, #0x1c
|
|
cmp r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_021F2D7C:
|
|
bl ov00_021EE6D0
|
|
mov r5, r0
|
|
mvn r1, #0
|
|
cmp r5, r1
|
|
bne _021F2DA4
|
|
ldr r1, _021F2E3C ; =0xFFFEABC4
|
|
mov r0, #6
|
|
bl ov00_021F2EE4
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_021F2DA4:
|
|
bl ov00_021EE72C
|
|
mov r4, r0
|
|
mov r0, r5
|
|
bl ov00_021EE7A4
|
|
str r6, [r4]
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r2, [r0, #0xd]
|
|
mov r1, #0
|
|
add r2, r2, #1
|
|
strb r2, [r0, #0xd]
|
|
strb r5, [r4]
|
|
strh r1, [r4, #2]
|
|
str r1, [r4, #4]
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
ldrb r2, [r0, #0xd]
|
|
mov r0, r6
|
|
mov r1, r4
|
|
add r2, r5, r2
|
|
ldrb r2, [r2, #0x2d0]
|
|
strb r2, [r4, #1]
|
|
bl ov00_0220D2A4
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xc
|
|
bne _021F2E24
|
|
mov r0, #0
|
|
bl ov00_021F64C0
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_021F2E24:
|
|
mov r0, #1
|
|
bl ov00_021F64C0
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F2E34: .word _02217A64
|
|
_021F2E38: .word 0x00001388
|
|
_021F2E3C: .word 0xFFFEABC4
|
|
arm_func_end ov00_021F2BBC
|
|
|
|
arm_func_start ov00_021F2E40
|
|
ov00_021F2E40: ; 0x021F2E40
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x218
|
|
mov sb, #0
|
|
mov fp, r1
|
|
mov sl, r2
|
|
add r8, sp, #8
|
|
mov r7, sb
|
|
mov r6, #0xa
|
|
add r5, sp, #0x18
|
|
mvn r4, #0
|
|
_021F2E68:
|
|
mov r0, r8
|
|
mov r2, sb
|
|
add r1, sl, #1
|
|
bl ov00_021F46A4
|
|
cmp r0, r4
|
|
beq _021F2EA0
|
|
mov r0, r8
|
|
mov r1, r7
|
|
mov r2, r6
|
|
bl sub_020EB6CC
|
|
str r0, [r5, sb, lsl #2]
|
|
add sb, sb, #1
|
|
cmp sb, #0x80
|
|
blt _021F2E68
|
|
_021F2EA0:
|
|
add r0, sp, #0x18
|
|
stmia sp, {r0, sb}
|
|
mov r2, #0
|
|
ldrb r0, [sl]
|
|
mov r1, fp
|
|
mov r3, r2
|
|
bl ov00_021F4740
|
|
add sp, sp, #0x218
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
arm_func_end ov00_021F2E40
|
|
|
|
arm_func_start ov00_021F2EC4
|
|
ov00_021F2EC4: ; 0x021F2EC4
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021F955C
|
|
mov r1, #0xff
|
|
strb r1, [r0, #0x3cc]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x3cd]
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021F2EC4
|
|
|
|
arm_func_start ov00_021F2EE4
|
|
ov00_021F2EE4: ; 0x021F2EE4
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #8
|
|
mov r4, r0
|
|
mov r5, r1
|
|
bl ov00_021F955C
|
|
cmp r0, #0
|
|
cmpne r4, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
bl ov00_021F7128
|
|
mov r0, r4
|
|
mov r1, r5
|
|
bl ov00_021EC24C
|
|
ldr r1, _021F2F9C ; =_02217A60
|
|
mov r0, #1
|
|
mov r2, #0
|
|
bl ov00_021F04A0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
moveq r7, #1
|
|
movne r7, #0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x20c]
|
|
cmp r0, #0
|
|
moveq r8, #1
|
|
movne r8, #0
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x20c]
|
|
bl ov00_021F0404
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
str r5, [sp]
|
|
ldr r1, [r0, #0x468]
|
|
mov r0, r4
|
|
str r1, [sp, #4]
|
|
ldr r4, [r6, #0x464]
|
|
mov r2, r8
|
|
mov r3, r7
|
|
mov r1, #0
|
|
blx r4
|
|
bl ov00_021F3C5C
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_021F2F9C: .word _02217A60
|
|
arm_func_end ov00_021F2EE4
|
|
|
|
arm_func_start ov00_021F2FA0
|
|
ov00_021F2FA0: ; 0x021F2FA0
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x14]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x16]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_02210CBC
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021F2FA0
|
|
|
|
arm_func_start ov00_021F2FDC
|
|
ov00_021F2FDC: ; 0x021F2FDC
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r0
|
|
mov r4, r2
|
|
cmp r1, #2
|
|
beq _021F3004
|
|
cmp r1, #3
|
|
beq _021F30B0
|
|
cmp r1, #4
|
|
beq _021F3178
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F3004:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #1
|
|
bne _021F30A0
|
|
ldrb r0, [r4]
|
|
cmp r0, #1
|
|
bne _021F302C
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x20c]
|
|
_021F302C:
|
|
ldrb r6, [r4, #1]
|
|
bl ov00_021F955C
|
|
ldrb r1, [r4, #2]
|
|
add r0, r0, r6
|
|
strb r1, [r0, #0x2d0]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x200]
|
|
add r0, r4, r6, lsl #2
|
|
str r1, [r0, #0xf4]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
beq _021F3078
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
bne _021F308C
|
|
_021F3078:
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
strb r0, [r4, #0x16]
|
|
_021F308C:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1ad]
|
|
mov r0, #9
|
|
bl ov00_021F956C
|
|
_021F30A0:
|
|
mov r0, r5
|
|
mov r1, #3
|
|
bl ov00_021F7294
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F30B0:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0x10
|
|
bne _021F3168
|
|
bl ov00_021F955C
|
|
ldr r2, [r0, #0x1d4]
|
|
mov r1, #1
|
|
orr r1, r2, r1, lsl r5
|
|
str r1, [r0, #0x1d4]
|
|
ldrb r1, [r4]
|
|
ldrb r0, [r4, #1]
|
|
orr r4, r1, r0, lsl #8
|
|
bl ov00_021F955C
|
|
add r0, r0, #0x100
|
|
ldrh r0, [r0, #0xb0]
|
|
cmp r4, r0
|
|
ble _021F3100
|
|
bl ov00_021F955C
|
|
add r0, r0, #0x100
|
|
strh r4, [r0, #0xb0]
|
|
_021F3100:
|
|
mov r0, #0
|
|
bl ov00_021F7D50
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1d4]
|
|
cmp r4, r0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r5, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
blt _021F315C
|
|
mov r4, #4
|
|
_021F3134:
|
|
bl ov00_021F955C
|
|
add r0, r0, r5
|
|
ldrb r0, [r0, #0x2d0]
|
|
mov r1, r4
|
|
bl ov00_021F7294
|
|
add r5, r5, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r5, r0
|
|
ble _021F3134
|
|
_021F315C:
|
|
mov r0, #0x11
|
|
bl ov00_021F956C
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F3168:
|
|
mov r0, r5
|
|
mov r1, #4
|
|
bl ov00_021F7294
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F3178:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #9
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r0, #4
|
|
bl ov00_021F64C0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021F2FDC
|
|
|
|
arm_func_start ov00_021F3194
|
|
ov00_021F3194: ; 0x021F3194
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl ov00_021EE568
|
|
cmp r0, #5
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
cmp r5, #0
|
|
beq _021F31E4
|
|
ldr r1, _021F3308 ; =0xFFFEC780
|
|
mov r0, r5
|
|
add r1, r4, r1
|
|
bl ov00_021F2EE4
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021F31E4:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x2d0]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a9]
|
|
cmp r0, #1
|
|
beq _021F3220
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a8]
|
|
cmp r0, #1
|
|
beq _021F3220
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a8]
|
|
cmp r0, #2
|
|
bne _021F3228
|
|
_021F3220:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021F3228:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x19c]
|
|
cmp r0, #0
|
|
beq _021F3250
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x19c]
|
|
bl ov00_0221019C
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x19c]
|
|
_021F3250:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #0
|
|
beq _021F3290
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a8]
|
|
cmp r0, #0
|
|
bne _021F3300
|
|
bl ov00_021F955C
|
|
mov r1, #3
|
|
strb r1, [r0, #0x1a8]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
bl ov00_0220D238
|
|
b _021F3300
|
|
_021F3290:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
bne _021F32B0
|
|
ldr r1, _021F330C ; =0xFFFEC5D2
|
|
mov r0, #6
|
|
bl ov00_021F2EE4
|
|
b _021F3300
|
|
_021F32B0:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x208]
|
|
cmp r0, #0
|
|
beq _021F32C8
|
|
bl ov00_021F6FF8
|
|
b _021F3300
|
|
_021F32C8:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #1
|
|
bne _021F32F8
|
|
mov r0, #0x12
|
|
bl ov00_021F956C
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0x1f0]
|
|
str r1, [r4, #0x1f4]
|
|
b _021F3300
|
|
_021F32F8:
|
|
mov r0, #1
|
|
bl ov00_021F6EC4
|
|
_021F3300:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021F3308: .word 0xFFFEC780
|
|
_021F330C: .word 0xFFFEC5D2
|
|
arm_func_end ov00_021F3194
|
|
|
|
arm_func_start ov00_021F3310
|
|
ov00_021F3310: ; 0x021F3310
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a8]
|
|
cmp r0, #2
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
bl ov00_021F6100
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021F3310
|
|
|
|
arm_func_start ov00_021F3334
|
|
ov00_021F3334: ; 0x021F3334
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r5, r1
|
|
bl ov00_021F955C
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
cmp r5, #0
|
|
mov r4, #0
|
|
ble _021F3390
|
|
_021F335C:
|
|
bl ov00_021F955C
|
|
add r0, r0, r4, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
cmp r6, r0
|
|
bne _021F3384
|
|
mov r0, r4
|
|
mov r1, r5
|
|
bl ov00_021F3398
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F3384:
|
|
add r4, r4, #1
|
|
cmp r4, r5
|
|
blt _021F335C
|
|
_021F3390:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021F3334
|
|
|
|
arm_func_start ov00_021F3398
|
|
ov00_021F3398: ; 0x021F3398
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov sb, r0
|
|
mov r8, r1
|
|
bl ov00_021F955C
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
bl ov00_021F955C
|
|
add r0, r0, sb, lsl #2
|
|
ldr fp, [r0, #0xf4]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
add r0, r0, sb
|
|
ldrb r0, [r0, #0x2d0]
|
|
mov r1, #1
|
|
ldr r2, [r4, #0x2f0]
|
|
mvn r0, r1, lsl r0
|
|
and r0, r2, r0
|
|
str r0, [r4, #0x2f0]
|
|
bl ov00_021F3590
|
|
sub r0, r8, #1
|
|
cmp sb, r0
|
|
bge _021F34D8
|
|
sub r0, r8, sb
|
|
sub r5, r0, #1
|
|
cmp r5, #0
|
|
mov r4, #0
|
|
ble _021F34D8
|
|
_021F340C:
|
|
add r7, sb, r4
|
|
add r6, r7, #1
|
|
bl ov00_021F955C
|
|
mov sl, r0
|
|
bl ov00_021F955C
|
|
add r0, r0, r6, lsl #2
|
|
ldr r1, [r0, #0x24]
|
|
add r0, sl, r7, lsl #2
|
|
str r1, [r0, #0x24]
|
|
bl ov00_021F955C
|
|
mov sl, r0
|
|
bl ov00_021F955C
|
|
add r0, r0, r6, lsl #1
|
|
ldrh r1, [r0, #0xa4]
|
|
add r0, sl, r7, lsl #1
|
|
strh r1, [r0, #0xa4]
|
|
bl ov00_021F955C
|
|
mov sl, r0
|
|
bl ov00_021F955C
|
|
add r1, sl, r7, lsl #2
|
|
add r0, r0, r6, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
str r0, [r1, #0xf4]
|
|
bl ov00_021F955C
|
|
mov sl, r0
|
|
bl ov00_021F955C
|
|
add r1, sl, r7, lsl #2
|
|
add r0, r0, r6, lsl #2
|
|
ldr r0, [r0, #0x210]
|
|
str r0, [r1, #0x210]
|
|
bl ov00_021F955C
|
|
mov sl, r0
|
|
bl ov00_021F955C
|
|
add r1, sl, r7, lsl #1
|
|
add r0, r0, r6, lsl #1
|
|
add r0, r0, #0x200
|
|
ldrh r2, [r0, #0x90]
|
|
add r0, r1, #0x200
|
|
strh r2, [r0, #0x90]
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
add r0, sb, r0
|
|
add r0, r4, r0
|
|
ldrb r1, [r0, #0x2d1]
|
|
add r0, sb, r6
|
|
add r0, r4, r0
|
|
strb r1, [r0, #0x2d0]
|
|
add r4, r4, #1
|
|
cmp r4, r5
|
|
blt _021F340C
|
|
_021F34D8:
|
|
cmp r8, #0
|
|
ble _021F3548
|
|
sub r4, r8, #1
|
|
bl ov00_021F955C
|
|
add r0, r0, r4, lsl #2
|
|
mov r1, #0
|
|
str r1, [r0, #0x24]
|
|
bl ov00_021F955C
|
|
add r0, r0, r4, lsl #1
|
|
mov r1, #0
|
|
strh r1, [r0, #0xa4]
|
|
bl ov00_021F955C
|
|
add r0, r0, r4, lsl #2
|
|
mov r1, #0
|
|
str r1, [r0, #0xf4]
|
|
bl ov00_021F955C
|
|
add r0, r0, r4, lsl #2
|
|
mov r1, #0
|
|
str r1, [r0, #0x210]
|
|
bl ov00_021F955C
|
|
add r0, r0, r4, lsl #1
|
|
add r0, r0, #0x200
|
|
mov r1, #0
|
|
strh r1, [r0, #0x90]
|
|
bl ov00_021F955C
|
|
add r0, r0, r4
|
|
mov r1, #0
|
|
strb r1, [r0, #0x2d0]
|
|
_021F3548:
|
|
mov r0, fp
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
arm_func_end ov00_021F3398
|
|
|
|
arm_func_start ov00_021F3550
|
|
ov00_021F3550: ; 0x021F3550
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021F955C
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021F3550
|
|
|
|
arm_func_start ov00_021F3570
|
|
ov00_021F3570: ; 0x021F3570
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021F955C
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xe]
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021F3570
|
|
|
|
arm_func_start ov00_021F3590
|
|
ov00_021F3590: ; 0x021F3590
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mvn r5, #0
|
|
mov r6, #0
|
|
mov r4, #1
|
|
_021F35A0:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x2f0]
|
|
tst r0, r4, lsl r6
|
|
add r6, r6, #1
|
|
addne r5, r5, #1
|
|
cmp r6, #0x20
|
|
blt _021F35A0
|
|
mvn r0, #0
|
|
cmp r5, r0
|
|
bne _021F35D8
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0xe]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F35D8:
|
|
bl ov00_021F955C
|
|
strb r5, [r0, #0xe]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021F3590
|
|
|
|
arm_func_start ov00_021F35E4
|
|
ov00_021F35E4: ; 0x021F35E4
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
bl ov00_021F955C
|
|
add r0, r0, #0x2d0
|
|
str r0, [r4]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
add r0, r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021F35E4
|
|
|
|
arm_func_start ov00_021F3618
|
|
ov00_021F3618: ; 0x021F3618
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
ldr r0, _021F36B8 ; =_0221B080
|
|
mov r1, #0
|
|
mov r2, #0x20
|
|
bl sub_020D4994
|
|
mov r5, #0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xe]
|
|
cmp r0, #0
|
|
blt _021F36A0
|
|
ldr r6, _021F36B8 ; =_0221B080
|
|
mov r4, #1
|
|
_021F365C:
|
|
bl ov00_021F955C
|
|
mov r8, r0
|
|
bl ov00_021F955C
|
|
add r0, r0, r5
|
|
ldrb r0, [r0, #0x2d0]
|
|
ldr r1, [r8, #0x2f0]
|
|
tst r1, r4, lsl r0
|
|
beq _021F36A0
|
|
bl ov00_021F955C
|
|
add r0, r0, r5
|
|
ldrb r0, [r0, #0x2d0]
|
|
add r5, r5, #1
|
|
strb r0, [r6], #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xe]
|
|
cmp r5, r0
|
|
ble _021F365C
|
|
_021F36A0:
|
|
ldr r0, _021F36B8 ; =_0221B080
|
|
str r0, [r7]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xe]
|
|
add r0, r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_021F36B8: .word _0221B080
|
|
arm_func_end ov00_021F3618
|
|
|
|
arm_func_start ov00_021F36BC
|
|
ov00_021F36BC: ; 0x021F36BC
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0x2c
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
addne sp, sp, #0x2c
|
|
movne r0, #0
|
|
ldmneia sp!, {pc}
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x16]
|
|
ldr r2, _021F377C ; =_02217A64
|
|
add r0, sp, #0x20
|
|
add r3, r1, #1
|
|
mov r1, #0xc
|
|
bl sub_020D168C
|
|
ldr r0, _021F3780 ; =_02217AA4
|
|
add r1, sp, #0x20
|
|
add r2, sp, #0
|
|
mov r3, #0x2f
|
|
bl ov00_021ED470
|
|
bl ov00_021F955C
|
|
ldrb r2, [r0, #0xd]
|
|
add r0, sp, #0x20
|
|
mov r1, #0xc
|
|
add r3, r2, #1
|
|
ldr r2, _021F377C ; =_02217A64
|
|
bl sub_020D168C
|
|
ldr r0, _021F3784 ; =_02217AA8
|
|
add r1, sp, #0x20
|
|
add r2, sp, #0
|
|
mov r3, #0x2f
|
|
bl ov00_021ED4A8
|
|
ldr r2, _021F377C ; =_02217A64
|
|
add r0, sp, #0x20
|
|
mov r1, #0xc
|
|
mov r3, #3
|
|
bl sub_020D168C
|
|
ldr r0, _021F3788 ; =_02217A70
|
|
add r1, sp, #0x20
|
|
add r2, sp, #0
|
|
mov r3, #0x2f
|
|
bl ov00_021ED4A8
|
|
mov r0, #6
|
|
add r1, sp, #0
|
|
mov r2, #0
|
|
bl ov00_021F04A0
|
|
add sp, sp, #0x2c
|
|
ldmia sp!, {pc}
|
|
.align 2, 0
|
|
_021F377C: .word _02217A64
|
|
_021F3780: .word _02217AA4
|
|
_021F3784: .word _02217AA8
|
|
_021F3788: .word _02217A70
|
|
arm_func_end ov00_021F36BC
|
|
|
|
arm_func_start ov00_021F378C
|
|
ov00_021F378C: ; 0x021F378C
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #0
|
|
bl ov00_021F954C
|
|
ldr r0, _021F3800 ; =_0221A928
|
|
ldr r1, [r0, #8]
|
|
cmp r1, #0
|
|
beq _021F37C0
|
|
mov r0, #4
|
|
mov r2, #0
|
|
bl ov00_021EC2EC
|
|
ldr r0, _021F3800 ; =_0221A928
|
|
mov r1, #0
|
|
str r1, [r0, #8]
|
|
_021F37C0:
|
|
bl ov00_021F7AD8
|
|
ldr r0, _021F3800 ; =_0221A928
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
beq _021F37EC
|
|
mov r0, #4
|
|
mov r2, #0
|
|
bl ov00_021EC2EC
|
|
ldr r0, _021F3800 ; =_0221A928
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
_021F37EC:
|
|
ldr r0, _021F3800 ; =_0221A928
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1c]
|
|
strb r1, [r0, #0x1d]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021F3800: .word _0221A928
|
|
arm_func_end ov00_021F378C
|
|
|
|
arm_func_start ov00_021F3804
|
|
ov00_021F3804: ; 0x021F3804
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021F955C
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021F3804
|
|
|
|
arm_func_start ov00_021F381C
|
|
ov00_021F381C: ; 0x021F381C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0xc]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x17c]
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
mov r0, #0x10000
|
|
bl ov00_021ED5E4
|
|
add r1, r5, #0x100
|
|
strh r0, [r1, #0x7e]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x180]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x184]
|
|
str r1, [r0, #0x188]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x18c]
|
|
str r1, [r0, #0x190]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a4]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a9]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1aa]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1ab]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1ac]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a7]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a8]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
add r0, r0, #0x100
|
|
strh r1, [r0, #0xb2]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
add r0, r0, #0x100
|
|
strh r1, [r0, #0xb4]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1b8]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1e0]
|
|
str r1, [r0, #0x1e4]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1f0]
|
|
str r1, [r0, #0x1f4]
|
|
bl ov00_021F955C
|
|
add r1, r0, #0x3cc
|
|
mov r0, #0
|
|
mov r2, #0x98
|
|
bl sub_020D47EC
|
|
cmp r4, #2
|
|
bne _021F3988
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
strb r0, [r4, #0x14]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
bne _021F396C
|
|
mov r0, #1
|
|
bl ov00_021F956C
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021F396C:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
mov r0, #0xa
|
|
bl ov00_021F956C
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021F3988:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0xd]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0xe]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x14]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x17]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x20]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0xe8]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a5]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
add r0, r0, #0x100
|
|
strh r1, [r0, #0xb0]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1bc]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1c0]
|
|
str r1, [r0, #0x1c4]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1c8]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1cc]
|
|
str r1, [r0, #0x1d0]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1d4]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x204]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x208]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x2f0]
|
|
bl ov00_021F955C
|
|
add r1, r0, #0x24
|
|
mov r0, #0
|
|
mov r2, #0x80
|
|
bl sub_020D47EC
|
|
bl ov00_021F955C
|
|
add r1, r0, #0xa4
|
|
mov r0, #0
|
|
mov r2, #0x40
|
|
bl sub_020D4790
|
|
bl ov00_021F955C
|
|
add r1, r0, #0xf4
|
|
mov r0, #0
|
|
mov r2, #0x80
|
|
bl sub_020D47EC
|
|
bl ov00_021F955C
|
|
add r1, r0, #0x194
|
|
mov r0, #0
|
|
mov r2, #0xc
|
|
bl sub_020D47EC
|
|
bl ov00_021F955C
|
|
add r1, r0, #0x210
|
|
mov r0, #0
|
|
mov r2, #0x80
|
|
bl sub_020D47EC
|
|
bl ov00_021F955C
|
|
add r1, r0, #0x290
|
|
mov r0, #0
|
|
mov r2, #0x40
|
|
bl sub_020D4790
|
|
bl ov00_021F955C
|
|
add r0, r0, #0x2d0
|
|
mov r1, #0
|
|
mov r2, #0x20
|
|
bl sub_020D4994
|
|
bl ov00_021F955C
|
|
add r1, r0, #0x348
|
|
mov r0, #0
|
|
mov r2, #0x84
|
|
bl sub_020D47EC
|
|
cmp r4, #1
|
|
bne _021F3B34
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
bne _021F3B18
|
|
mov r0, #3
|
|
bl ov00_021F956C
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021F3B18:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
mov r0, #4
|
|
bl ov00_021F956C
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021F3B34:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x15]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x16]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x18]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x20c]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a6]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1ae]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1ad]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1f8]
|
|
str r1, [r0, #0x1fc]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x46c]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x470]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021F381C
|
|
|
|
arm_func_start ov00_021F3BB4
|
|
ov00_021F3BB4: ; 0x021F3BB4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
mov r0, #0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bl ov00_021F381C
|
|
bl ov00_021F955C
|
|
strb r7, [r0, #0x15]
|
|
bl ov00_021F955C
|
|
strb r6, [r0, #0x16]
|
|
bl ov00_021F955C
|
|
str r5, [r0, #0x464]
|
|
bl ov00_021F955C
|
|
str r4, [r0, #0x468]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x17d]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x2d0]
|
|
mov r0, #0x32
|
|
ldr r1, _021F3C48 ; =_02217AAC
|
|
bl ov00_02212008
|
|
mov r0, #0x33
|
|
ldr r1, _021F3C4C ; =_02217AB4
|
|
bl ov00_02212008
|
|
mov r0, #0x34
|
|
ldr r1, _021F3C50 ; =_02217AC0
|
|
bl ov00_02212008
|
|
mov r0, #0x35
|
|
ldr r1, _021F3C54 ; =_02217ACC
|
|
bl ov00_02212008
|
|
mov r0, #0x36
|
|
ldr r1, _021F3C58 ; =_02217AD8
|
|
bl ov00_02212008
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F3C48: .word _02217AAC
|
|
_021F3C4C: .word _02217AB4
|
|
_021F3C50: .word _02217AC0
|
|
_021F3C54: .word _02217ACC
|
|
_021F3C58: .word _02217AD8
|
|
arm_func_end ov00_021F3BB4
|
|
|
|
arm_func_start ov00_021F3C5C
|
|
ov00_021F3C5C: ; 0x021F3C5C
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021F955C
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
cmp r0, #0
|
|
beq _021F3CAC
|
|
ldr r0, _021F3CF4 ; =_0221A928
|
|
ldr r1, [r0, #0x18]
|
|
cmp r1, #0
|
|
movne r1, #1
|
|
strne r1, [r0, #0x14]
|
|
bne _021F3CAC
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_022136E4
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0xe4]
|
|
_021F3CAC:
|
|
bl ov00_021F125C
|
|
mov r0, #0
|
|
bl ov00_021F956C
|
|
ldr r0, _021F3CF4 ; =_0221A928
|
|
ldr r1, [r0, #8]
|
|
cmp r1, #0
|
|
beq _021F3CE0
|
|
mov r0, #4
|
|
mov r2, #0
|
|
bl ov00_021EC2EC
|
|
ldr r0, _021F3CF4 ; =_0221A928
|
|
mov r1, #0
|
|
str r1, [r0, #8]
|
|
_021F3CE0:
|
|
bl ov00_021F7AD8
|
|
bl ov00_021F955C
|
|
mov r1, #1
|
|
strb r1, [r0, #0x18]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021F3CF4: .word _0221A928
|
|
arm_func_end ov00_021F3C5C
|
|
|
|
arm_func_start ov00_021F3CF8
|
|
ov00_021F3CF8: ; 0x021F3CF8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x1b0
|
|
mov r7, #8
|
|
mov r6, #0xa
|
|
mov r5, #0x32
|
|
mov r4, #0x33
|
|
mov r3, #0x34
|
|
mov r2, #0x35
|
|
mov r1, #0x36
|
|
strb r7, [sp, #0xc]
|
|
strb r6, [sp, #0xd]
|
|
strb r5, [sp, #0xe]
|
|
strb r4, [sp, #0xf]
|
|
strb r3, [sp, #0x10]
|
|
strb r2, [sp, #0x11]
|
|
strb r1, [sp, #0x12]
|
|
mov r4, r0
|
|
mov r8, #7
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
beq _021F3D60
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
bne _021F3D8C
|
|
_021F3D60:
|
|
ldr r2, _021F3EDC ; =_0221A948
|
|
add r3, sp, #0x13
|
|
mov r1, #0
|
|
_021F3D6C:
|
|
ldrb r0, [r2]
|
|
add r1, r1, #1
|
|
add r2, r2, #0xc
|
|
cmp r0, #0
|
|
strneb r0, [r3], #1
|
|
addne r8, r8, #1
|
|
cmp r1, #0x9a
|
|
blt _021F3D6C
|
|
_021F3D8C:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #5
|
|
addls pc, pc, r0, lsl #2
|
|
b _021F3E44
|
|
_021F3DA0: ; jump table
|
|
b _021F3E44 ; case 0
|
|
b _021F3E44 ; case 1
|
|
b _021F3E24 ; case 2
|
|
b _021F3DB8 ; case 3
|
|
b _021F3E24 ; case 4
|
|
b _021F3E24 ; case 5
|
|
_021F3DB8:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x208]
|
|
cmp r0, #0
|
|
bne _021F3E1C
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldr r1, [r5, #0x200]
|
|
ldrb r2, [r4, #0x16]
|
|
ldrb r3, [r0, #0x15]
|
|
add r0, sp, #0xad
|
|
bl ov00_021F3EF4
|
|
mov r1, r0
|
|
ldr r0, _021F3EE0 ; =_0221A928
|
|
ldr r3, [r0, #8]
|
|
cmp r3, #0
|
|
beq _021F3E44
|
|
add r0, sp, #0xad
|
|
add r0, r0, r1
|
|
ldr r2, _021F3EE4 ; =_02217AE4
|
|
rsb r1, r1, #0x100
|
|
bl sub_020D168C
|
|
b _021F3E44
|
|
_021F3E1C:
|
|
bl ov00_021F955C
|
|
ldr r4, [r0, #0x208]
|
|
_021F3E24:
|
|
ldr r2, _021F3EE8 ; =_02217AF0
|
|
ldr r3, _021F3EEC ; =_02217AAC
|
|
add r0, sp, #0xad
|
|
mov r1, #0x100
|
|
str r4, [sp]
|
|
bl sub_020D168C
|
|
bl ov00_021F955C
|
|
str r4, [r0, #0x204]
|
|
_021F3E44:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_0221396C
|
|
mov sl, #0
|
|
add r7, sp, #0xad
|
|
mov r6, #6
|
|
mov r5, #1
|
|
mov r4, sl
|
|
add fp, sp, #0xc
|
|
_021F3E68:
|
|
bl ov00_021F955C
|
|
str r8, [sp]
|
|
str r7, [sp, #4]
|
|
str r6, [sp, #8]
|
|
ldr r0, [r0, #0xe4]
|
|
mov r1, r5
|
|
mov r2, r4
|
|
mov r3, fp
|
|
bl ov00_02213838
|
|
movs sb, r0
|
|
beq _021F3EA8
|
|
cmp sb, #2
|
|
bne _021F3EA8
|
|
add sl, sl, #1
|
|
cmp sl, #5
|
|
blt _021F3E68
|
|
_021F3EA8:
|
|
cmp sb, #0
|
|
bne _021F3ED0
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
ldr r2, _021F3EF0 ; =0x00EFB5F7
|
|
adds r0, r0, r2
|
|
str r0, [r4, #0x174]
|
|
adc r0, r1, #0
|
|
str r0, [r4, #0x178]
|
|
_021F3ED0:
|
|
mov r0, sb
|
|
add sp, sp, #0x1b0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021F3EDC: .word _0221A948
|
|
_021F3EE0: .word _0221A928
|
|
_021F3EE4: .word _02217AE4
|
|
_021F3EE8: .word _02217AF0
|
|
_021F3EEC: .word _02217AAC
|
|
_021F3EF0: .word 0x00EFB5F7
|
|
arm_func_end ov00_021F3CF8
|
|
|
|
arm_func_start ov00_021F3EF4
|
|
ov00_021F3EF4: ; 0x021F3EF4
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0x24
|
|
mov lr, #3
|
|
ldr ip, _021F3F48 ; =_02217AAC
|
|
str lr, [sp]
|
|
str ip, [sp, #4]
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
ldr r2, _021F3F4C ; =_02217AB4
|
|
ldr r1, _021F3F50 ; =_02217AC0
|
|
str r2, [sp, #0x14]
|
|
str r3, [sp, #0x18]
|
|
str r1, [sp, #0x1c]
|
|
ldr r2, _021F3F54 ; =_02217AF8
|
|
ldr r3, _021F3F58 ; =_02217ACC
|
|
mov r1, #0x100
|
|
str ip, [sp, #0x20]
|
|
bl sub_020D168C
|
|
add sp, sp, #0x24
|
|
ldmia sp!, {pc}
|
|
.align 2, 0
|
|
_021F3F48: .word _02217AAC
|
|
_021F3F4C: .word _02217AB4
|
|
_021F3F50: .word _02217AC0
|
|
_021F3F54: .word _02217AF8
|
|
_021F3F58: .word _02217ACC
|
|
arm_func_end ov00_021F3EF4
|
|
|
|
arm_func_start ov00_021F3F5C
|
|
ov00_021F3F5C: ; 0x021F3F5C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x10
|
|
mov r4, r0
|
|
mov r8, r1
|
|
mov r7, r2
|
|
bl ov00_021F955C
|
|
cmp r4, #0
|
|
ldrb r4, [r0, #0x14]
|
|
mov r6, #0
|
|
bne _021F41A0
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
add r0, r0, #0x100
|
|
ldrh r2, [r0, #0x7e]
|
|
ldr r1, [r5, #0x200]
|
|
mov r0, r7
|
|
mov r1, r1, lsl #0x10
|
|
mov r2, r2, lsl #0x10
|
|
orr r8, r2, r1, lsr #16
|
|
bl ov00_02212EAC
|
|
cmp r0, #0
|
|
beq _021F4018
|
|
mov r0, r7
|
|
bl ov00_02212E78
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_022139E8
|
|
cmp r5, r0
|
|
movne r5, #1
|
|
bne _021F40A0
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
mov r0, r7
|
|
bl ov00_02212EC4
|
|
add r1, r5, r4, lsl #2
|
|
str r0, [r1, #0x210]
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
mov r0, r7
|
|
bl ov00_02212ECC
|
|
add r1, r5, r4, lsl #1
|
|
add r1, r1, #0x200
|
|
strh r0, [r1, #0x90]
|
|
mov r5, r6
|
|
b _021F40A0
|
|
_021F4018:
|
|
bl sub_020A3228
|
|
mov r0, r0, lsl #0x10
|
|
mov r2, r0, lsr #0x10
|
|
mov r0, r2, lsl #0x10
|
|
ldr r1, _021F4244 ; =0x0000A8C0
|
|
mov r0, r0, lsr #0x10
|
|
cmp r0, r1
|
|
beq _021F4060
|
|
and r1, r2, #0xff
|
|
cmp r1, #0xac
|
|
bne _021F4058
|
|
and r0, r2, #0xff00
|
|
cmp r0, #0x1000
|
|
blo _021F4058
|
|
cmp r0, #0x1f00
|
|
bls _021F4060
|
|
_021F4058:
|
|
cmp r1, #0xa
|
|
bne _021F4068
|
|
_021F4060:
|
|
mov r5, #1
|
|
b _021F40A0
|
|
_021F4068:
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
mov r0, r7
|
|
bl ov00_02212E78
|
|
add r1, r5, r4, lsl #2
|
|
str r0, [r1, #0x210]
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
mov r0, r7
|
|
bl ov00_02212E80
|
|
add r1, r5, r4, lsl #1
|
|
add r1, r1, #0x200
|
|
strh r0, [r1, #0x90]
|
|
mov r5, #0
|
|
_021F40A0:
|
|
cmp r5, #0
|
|
beq _021F40CC
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
mov r0, #0x10000
|
|
bl ov00_021ED5E4
|
|
add r1, r4, #0x100
|
|
strh r0, [r1, #0x7e]
|
|
bl ov00_021F955C
|
|
str r8, [r0, #0x19c]
|
|
b _021F4158
|
|
_021F40CC:
|
|
bl sub_020A3228
|
|
str r0, [sp, #8]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
bl ov00_0220D27C
|
|
str r0, [sp, #0xc]
|
|
bl ov00_021F955C
|
|
mov sb, r0
|
|
mov r0, r7
|
|
bl ov00_02212E78
|
|
mov r8, r0
|
|
mov r0, r7
|
|
bl ov00_02212E80
|
|
add r1, sb, r4, lsl #2
|
|
add r4, sp, #8
|
|
mov r3, r0
|
|
mov r0, #2
|
|
str r4, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [r1, #0xf4]
|
|
mov r2, r8
|
|
mov r0, #6
|
|
bl ov00_021F4304
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
cmp r4, #0
|
|
strb r1, [r0, #0x3cd]
|
|
addne sp, sp, #0x10
|
|
movne r0, #2
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x19c]
|
|
_021F4158:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x194]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x195]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
mov r0, r7
|
|
bl ov00_02212E80
|
|
add r1, r4, #0x100
|
|
strh r0, [r1, #0x96]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
mov r0, r7
|
|
bl ov00_02212E78
|
|
str r0, [r4, #0x198]
|
|
b _021F41E0
|
|
_021F41A0:
|
|
bl ov00_021F955C
|
|
mov r1, #1
|
|
strb r1, [r0, #0x194]
|
|
bl ov00_021F955C
|
|
mov r1, r6
|
|
strb r1, [r0, #0x195]
|
|
bl ov00_021F955C
|
|
add r0, r0, #0x100
|
|
mov r1, r6
|
|
strh r1, [r0, #0x96]
|
|
bl ov00_021F955C
|
|
mov r1, r6
|
|
str r1, [r0, #0x198]
|
|
bl ov00_021F955C
|
|
str r8, [r0, #0x19c]
|
|
mov r5, #1
|
|
_021F41E0:
|
|
cmp r5, #0
|
|
beq _021F41FC
|
|
bl ov00_021F955C
|
|
add r0, r0, #0x194
|
|
bl ov00_021F4248
|
|
mov r6, r0
|
|
b _021F4238
|
|
_021F41FC:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
bl ov00_0220D294
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
add r3, r0, #0x194
|
|
mov r0, #0
|
|
mov r1, r4
|
|
mov r2, r0
|
|
bl ov00_021F9104
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x18c]
|
|
str r1, [r0, #0x190]
|
|
_021F4238:
|
|
mov r0, r6
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_021F4244: .word 0x0000A8C0
|
|
arm_func_end ov00_021F3F5C
|
|
|
|
arm_func_start ov00_021F4248
|
|
ov00_021F4248: ; 0x021F4248
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #8
|
|
mov r7, r0
|
|
ldrb r0, [r7]
|
|
cmp r0, #0
|
|
bne _021F42A0
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
mov r1, #0
|
|
ldr r0, [r7, #4]
|
|
mov r2, r1
|
|
bl ov00_0220F724
|
|
mov r1, r0
|
|
ldrh r2, [r7, #2]
|
|
ldr r0, [r4, #0xe4]
|
|
ldr r3, [r7, #8]
|
|
bl ov00_022138C4
|
|
bl ov00_021F82EC
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
movne r0, #2
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F42A0:
|
|
ldr r5, _021F42FC ; =ov00_021F9104
|
|
ldr r4, _021F4300 ; =ov00_021F9100
|
|
mov r6, #0
|
|
_021F42AC:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
bl ov00_0220D294
|
|
stmia sp, {r5, r7}
|
|
ldrb r2, [r7]
|
|
ldr r1, [r7, #8]
|
|
mov r3, r4
|
|
bl ov00_022100D4
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
cmp r0, #3
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
add r6, r6, #1
|
|
cmp r6, #5
|
|
blt _021F42AC
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F42FC: .word ov00_021F9104
|
|
_021F4300: .word ov00_021F9100
|
|
arm_func_end ov00_021F4248
|
|
|
|
arm_func_start ov00_021F4304
|
|
ov00_021F4304: ; 0x021F4304
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x220
|
|
str r3, [sp, #0xc]
|
|
mov sl, r0
|
|
str r1, [sp, #4]
|
|
str r2, [sp, #8]
|
|
ldr sb, [sp, #0x248]
|
|
ldr r8, [sp, #0x24c]
|
|
mov r6, #0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
beq _021F4360
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
beq _021F4358
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a6]
|
|
cmp r0, #0
|
|
beq _021F4380
|
|
_021F4358:
|
|
cmp sl, #6
|
|
bne _021F4380
|
|
_021F4360:
|
|
ldr r2, [sp, #0xc]
|
|
ldr r1, [sp, #8]
|
|
mov r0, sl
|
|
mov r3, sb
|
|
str r8, [sp]
|
|
bl ov00_021F44C8
|
|
mov r4, r0
|
|
b _021F4428
|
|
_021F4380:
|
|
cmp sb, #0
|
|
cmpne r8, #0
|
|
beq _021F4400
|
|
ldr r3, [sb]
|
|
ldr r2, _021F44C0 ; =_02217A64
|
|
add r0, sp, #0x20
|
|
mov r1, #0x200
|
|
bl sub_020D168C
|
|
mov r6, r0
|
|
cmp r8, #1
|
|
mov r7, #1
|
|
ble _021F4400
|
|
add r5, sp, #0x10
|
|
add fp, sp, #0x20
|
|
_021F43B8:
|
|
ldr r3, [sb, r7, lsl #2]
|
|
ldr r2, _021F44C4 ; =_02217B50
|
|
mov r0, r5
|
|
mov r1, #0x10
|
|
bl sub_020D168C
|
|
mov r4, r0
|
|
add r0, r6, r4
|
|
add r0, r0, #1
|
|
cmp r0, #0x200
|
|
bhi _021F4400
|
|
mov r0, r5
|
|
add r1, fp, r6
|
|
mov r2, r4
|
|
bl sub_020D4A50
|
|
add r7, r7, #1
|
|
add r6, r6, r4
|
|
cmp r7, r8
|
|
blt _021F43B8
|
|
_021F4400:
|
|
add r0, sp, #0x20
|
|
mov r1, #0
|
|
strb r1, [r0, r6]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0]
|
|
ldr r2, [sp, #4]
|
|
add r3, sp, #0x20
|
|
mov r1, sl
|
|
bl ov00_021F45E0
|
|
mov r4, r0
|
|
_021F4428:
|
|
cmp sl, #2
|
|
cmpne sl, #6
|
|
beq _021F4444
|
|
add r0, sl, #0xf8
|
|
and r0, r0, #0xff
|
|
cmp r0, #1
|
|
bhi _021F44B4
|
|
_021F4444:
|
|
bl ov00_021F955C
|
|
strb sl, [r0, #0x3cc]
|
|
bl ov00_021F955C
|
|
add r1, r0, #0x300
|
|
ldr r0, [sp, #0xc]
|
|
strh r0, [r1, #0xce]
|
|
bl ov00_021F955C
|
|
ldr r1, [sp, #8]
|
|
str r1, [r0, #0x3d0]
|
|
bl ov00_021F955C
|
|
ldr r1, [sp, #4]
|
|
str r1, [r0, #0x454]
|
|
bl ov00_021F955C
|
|
str r8, [r0, #0x458]
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl sub_020D34B0
|
|
str r0, [r5, #0x45c]
|
|
cmp sb, #0
|
|
str r1, [r5, #0x460]
|
|
cmpne r8, #0
|
|
beq _021F44B4
|
|
bl ov00_021F955C
|
|
mov r1, r0
|
|
mov r0, sb
|
|
add r1, r1, #0x3d4
|
|
mov r2, r8, lsl #2
|
|
bl sub_020D4808
|
|
_021F44B4:
|
|
mov r0, r4
|
|
add sp, sp, #0x220
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021F44C0: .word _02217A64
|
|
_021F44C4: .word _02217B50
|
|
arm_func_end ov00_021F4304
|
|
|
|
arm_func_start ov00_021F44C8
|
|
ov00_021F44C8: ; 0x021F44C8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x98
|
|
ldr r5, [sp, #0xb8]
|
|
mov r4, r0
|
|
cmp r5, #0x20
|
|
movhi r5, #0x20
|
|
cmp r3, #0
|
|
cmpne r5, #0
|
|
mov r8, r1
|
|
mov r7, r2
|
|
moveq r5, #0
|
|
beq _021F4508
|
|
add r1, sp, #0x18
|
|
mov r0, r3
|
|
mov r2, r5, lsl #2
|
|
bl sub_020D4808
|
|
_021F4508:
|
|
ldr r2, _021F45DC ; =_02217B54
|
|
mov r0, r5, lsl #2
|
|
ldrb r1, [r2, #4]
|
|
ldrb r6, [r2]
|
|
add sb, sp, #4
|
|
ldrb r5, [r2, #1]
|
|
ldrb r3, [r2, #2]
|
|
ldrb r2, [r2, #3]
|
|
strb r1, [sb, #4]
|
|
mov r1, #3
|
|
strb r6, [sb]
|
|
strb r5, [sb, #1]
|
|
strb r3, [sb, #2]
|
|
strb r2, [sb, #3]
|
|
str r1, [sp, #8]
|
|
strb r4, [sp, #0xc]
|
|
strb r0, [sp, #0xd]
|
|
bl ov00_021F955C
|
|
ldrh r0, [r0, #0x1a]
|
|
strh r0, [sp, #0xe]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1c]
|
|
str r0, [sp, #0x10]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x200]
|
|
mov r6, #0
|
|
str r0, [sp, #0x14]
|
|
mov r4, r6
|
|
_021F4578:
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
mov r0, r8
|
|
mov r1, r4
|
|
mov r2, r4
|
|
bl ov00_0220F724
|
|
mov r1, r0
|
|
ldrb r0, [sp, #0xd]
|
|
mov r2, r7
|
|
mov r3, sb
|
|
add r0, r0, #0x14
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0xe4]
|
|
bl ov00_0221386C
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x98
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
cmp r0, #2
|
|
addne sp, sp, #0x98
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
add r6, r6, #1
|
|
cmp r6, #5
|
|
blt _021F4578
|
|
add sp, sp, #0x98
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_021F45DC: .word _02217B54
|
|
arm_func_end ov00_021F44C8
|
|
|
|
arm_func_start ov00_021F45E0
|
|
ov00_021F45E0: ; 0x021F45E0
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x208
|
|
mov sb, r0
|
|
mov r8, r2
|
|
mov r7, r3
|
|
mov r0, #3
|
|
mov r5, r1
|
|
str r0, [sp]
|
|
ldr r4, _021F4694 ; =_02217B6C
|
|
ldr r2, _021F4698 ; =_02217B5C
|
|
ldr r3, _021F469C ; =_02217B64
|
|
add r0, sp, #8
|
|
mov r1, #0x200
|
|
str r4, [sp, #4]
|
|
bl sub_020D168C
|
|
mov r4, r0
|
|
add r2, sp, #8
|
|
add r1, sp, #9
|
|
strb r5, [r2, r4]
|
|
mov r0, #0
|
|
strb r0, [r1, r4]
|
|
cmp r7, #0
|
|
add r6, r1, r4
|
|
beq _021F467C
|
|
mov r0, r7
|
|
bl sub_020E9580
|
|
mov r5, r0
|
|
add r0, r4, #2
|
|
add r0, r0, r5
|
|
cmp r0, #0x200
|
|
ldrhi r0, _021F46A0 ; =0x000001FF
|
|
addhi r1, r4, #1
|
|
subhi r5, r0, r1
|
|
mov r0, r7
|
|
mov r1, r6
|
|
mov r2, r5
|
|
bl sub_020D4A50
|
|
mov r0, #0
|
|
strb r0, [r6, r5]
|
|
_021F467C:
|
|
add r2, sp, #8
|
|
mov r0, sb
|
|
mov r1, r8
|
|
bl ov00_02200880
|
|
add sp, sp, #0x208
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_021F4694: .word _02217B6C
|
|
_021F4698: .word _02217B5C
|
|
_021F469C: .word _02217B64
|
|
_021F46A0: .word 0x000001FF
|
|
arm_func_end ov00_021F45E0
|
|
|
|
arm_func_start ov00_021F46A4
|
|
ov00_021F46A4: ; 0x021F46A4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
mov sb, r1
|
|
mov r4, r0
|
|
mov r8, r2
|
|
mov r0, sb
|
|
mov r1, #0
|
|
bl sub_020E987C
|
|
mov r6, r0
|
|
cmp r8, #0
|
|
mov r7, #0
|
|
ble _021F46FC
|
|
mov r5, #0x2f
|
|
_021F46D4:
|
|
mov r0, sb
|
|
mov r1, r5
|
|
bl sub_020E987C
|
|
cmp r0, #0
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
add r7, r7, #1
|
|
cmp r7, r8
|
|
add sb, r0, #1
|
|
blt _021F46D4
|
|
_021F46FC:
|
|
mov r0, sb
|
|
mov r1, #0x2f
|
|
bl sub_020E987C
|
|
cmp r0, #0
|
|
moveq r0, r6
|
|
cmp sb, r0
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
sub r5, r0, sb
|
|
mov r0, sb
|
|
mov r1, r4
|
|
mov r2, r5
|
|
bl sub_020D4A50
|
|
mov r1, #0
|
|
mov r0, r5
|
|
strb r1, [r4, r5]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
arm_func_end ov00_021F46A4
|
|
|
|
arm_func_start ov00_021F4740
|
|
ov00_021F4740: ; 0x021F4740
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
sub sp, sp, #0x118
|
|
mov sb, r0
|
|
mov r8, r1
|
|
mov r7, r2
|
|
mov sl, r3
|
|
ldr r6, [sp, #0x138]
|
|
ldr r5, [sp, #0x13c]
|
|
mov r4, #0
|
|
bl ov00_021F955C
|
|
cmp r0, #0
|
|
beq _021F4780
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0
|
|
bne _021F478C
|
|
_021F4780:
|
|
add sp, sp, #0x118
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F478C:
|
|
bl ov00_021EE568
|
|
cmp r0, #5
|
|
bne _021F47BC
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #1
|
|
bne _021F47BC
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
cmp r8, r0
|
|
bne _021F47BC
|
|
bl ov00_021F7DB4
|
|
_021F47BC:
|
|
cmp sb, #0x40
|
|
bgt _021F4858
|
|
bge _021F559C
|
|
cmp sb, #0x20
|
|
addls pc, pc, sb, lsl #2
|
|
b _021F5610
|
|
_021F47D4: ; jump table
|
|
b _021F5610 ; case 0
|
|
b _021F4860 ; case 1
|
|
b _021F4A30 ; case 2
|
|
b _021F4C04 ; case 3
|
|
b _021F4C64 ; case 4
|
|
b _021F4D84 ; case 5
|
|
b _021F4E00 ; case 6
|
|
b _021F4F10 ; case 7
|
|
b _021F5028 ; case 8
|
|
b _021F51A8 ; case 9
|
|
b _021F51FC ; case 10
|
|
b _021F4860 ; case 11
|
|
b _021F52A4 ; case 12
|
|
b _021F5318 ; case 13
|
|
b _021F5318 ; case 14
|
|
b _021F5318 ; case 15
|
|
b _021F533C ; case 16
|
|
b _021F538C ; case 17
|
|
b _021F542C ; case 18
|
|
b _021F5488 ; case 19
|
|
b _021F5610 ; case 20
|
|
b _021F5610 ; case 21
|
|
b _021F5610 ; case 22
|
|
b _021F5610 ; case 23
|
|
b _021F5610 ; case 24
|
|
b _021F5610 ; case 25
|
|
b _021F5610 ; case 26
|
|
b _021F5610 ; case 27
|
|
b _021F5610 ; case 28
|
|
b _021F5610 ; case 29
|
|
b _021F5610 ; case 30
|
|
b _021F5610 ; case 31
|
|
b _021F54A0 ; case 32
|
|
_021F4858:
|
|
cmp sb, #0x41
|
|
b _021F5610
|
|
_021F4860:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
beq _021F4880
|
|
ldr r0, [r6, #8]
|
|
ldr r7, [r6, #4]
|
|
mov r0, r0, lsl #0x10
|
|
mov sl, r0, lsr #0x10
|
|
_021F4880:
|
|
cmp sb, #0xb
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
str r0, [sp]
|
|
ldr r3, [r6]
|
|
mov r0, r8
|
|
mov r1, r7
|
|
mov r2, sl
|
|
bl ov00_021F5624
|
|
mov r5, r0
|
|
cmp r5, #2
|
|
bne _021F49A4
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1dc]
|
|
mov r0, r8
|
|
mov r1, r7
|
|
mov r2, sl
|
|
bl ov00_021F5920
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
addne sp, sp, #0x118
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
bne _021F4928
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x46c]
|
|
cmp r0, #0
|
|
beq _021F4928
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
mov r0, r8
|
|
bl ov00_021F0404
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x470]
|
|
ldr r2, [r6, #0x46c]
|
|
mov r0, r4
|
|
blx r2
|
|
_021F4928:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x14]
|
|
mov r4, #1
|
|
str r0, [sp, #0x14]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x14]
|
|
cmp r0, #1
|
|
blt _021F4970
|
|
add r6, sp, #0x14
|
|
_021F494C:
|
|
bl ov00_021F955C
|
|
add r0, r0, r4, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
str r0, [r6, r4, lsl #2]
|
|
add r4, r4, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x14]
|
|
cmp r4, r0
|
|
ble _021F494C
|
|
_021F4970:
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x1c]
|
|
add r0, sp, #0x14
|
|
str r1, [r0, r4, lsl #2]
|
|
bl ov00_021F955C
|
|
ldrh r2, [r0, #0x1a]
|
|
add r3, r4, #1
|
|
add r1, sp, #0x14
|
|
mov r0, #0xb
|
|
str r2, [r1, r3, lsl #2]
|
|
add r4, r4, #2
|
|
bl ov00_021F956C
|
|
b _021F49F0
|
|
_021F49A4:
|
|
cmp r5, #3
|
|
bne _021F49F0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x16]
|
|
cmp r0, #0
|
|
beq _021F49F0
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
ldrb r1, [r6, #0x14]
|
|
ldrb r0, [r0, #0x16]
|
|
cmp r1, r0
|
|
bne _021F49F0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
moveq r0, #0x10
|
|
streq r0, [sp, #0x14]
|
|
moveq r4, #1
|
|
_021F49F0:
|
|
cmp r5, #0xff
|
|
beq _021F5610
|
|
add r1, sp, #0x14
|
|
str r1, [sp]
|
|
mov r0, r5
|
|
mov r1, r8
|
|
mov r2, r7
|
|
mov r3, sl
|
|
str r4, [sp, #4]
|
|
bl ov00_021F4304
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
beq _021F5610
|
|
add sp, sp, #0x118
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F4A30:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #4
|
|
bne _021F5610
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x204]
|
|
cmp r8, r0
|
|
bne _021F5610
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x208]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a7]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1c8]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1bc]
|
|
bl ov00_021F955C
|
|
ldr r1, [r6]
|
|
add r1, r6, r1, lsl #2
|
|
ldr r1, [r1, #4]
|
|
str r1, [r0, #0x24]
|
|
bl ov00_021F955C
|
|
ldr r1, [r6]
|
|
add r1, r6, r1, lsl #2
|
|
ldr r1, [r1, #8]
|
|
strh r1, [r0, #0xa4]
|
|
bl ov00_021F955C
|
|
ldr r1, [r6]
|
|
add r1, r6, r1, lsl #2
|
|
ldr r1, [r1, #4]
|
|
str r1, [r0, #0x1b8]
|
|
bl ov00_021F955C
|
|
ldr r1, [r6]
|
|
add r0, r0, #0x100
|
|
add r1, r6, r1, lsl #2
|
|
ldr r1, [r1, #8]
|
|
strh r1, [r0, #0xb4]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
bne _021F4B58
|
|
ldr r1, [r6]
|
|
add r0, r6, #4
|
|
bl ov00_021F6B20
|
|
cmp r0, #0
|
|
beq _021F4B18
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #0
|
|
beq _021F4B58
|
|
mov r0, r8
|
|
mov r1, r6
|
|
bl ov00_021F5AE0
|
|
b _021F4B58
|
|
_021F4B18:
|
|
mov r0, r8
|
|
bl ov00_021F60AC
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
addne sp, sp, #0x118
|
|
mov r0, #0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
mov r1, r0
|
|
mov r2, r8
|
|
bl ov00_021F5D0C
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
beq _021F5610
|
|
add sp, sp, #0x118
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F4B58:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
bne _021F4BDC
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #0
|
|
beq _021F4B9C
|
|
mov r0, r8
|
|
mov r1, r6
|
|
bl ov00_021F5AE0
|
|
bl ov00_021F63DC
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
addne sp, sp, #0x118
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F4B9C:
|
|
mov r0, #6
|
|
bl ov00_021F956C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
mov r1, #0
|
|
bl ov00_022139B8
|
|
mov r2, r0
|
|
mov r0, #0
|
|
mov r1, r0
|
|
bl ov00_021F3F5C
|
|
bl ov00_021F8468
|
|
cmp r0, #0
|
|
beq _021F5610
|
|
add sp, sp, #0x118
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F4BDC:
|
|
mov r0, #5
|
|
bl ov00_021F956C
|
|
mov r0, r8
|
|
bl ov00_021F3CF8
|
|
bl ov00_021F82EC
|
|
cmp r0, #0
|
|
beq _021F5610
|
|
add sp, sp, #0x118
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F4C04:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #4
|
|
bne _021F5610
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x204]
|
|
cmp r8, r0
|
|
bne _021F5610
|
|
cmp r5, #0
|
|
ble _021F4C50
|
|
ldr r0, [r6]
|
|
cmp r0, #0x10
|
|
bne _021F4C50
|
|
mov r0, #0xd
|
|
mov r1, #0
|
|
bl ov00_021F2EE4
|
|
add sp, sp, #0x118
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F4C50:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x204]
|
|
bl ov00_021F5FD4
|
|
add sp, sp, #0x118
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F4C64:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #4
|
|
bne _021F5610
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x204]
|
|
cmp r8, r0
|
|
bne _021F5610
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0x1cc]
|
|
str r1, [r4, #0x1d0]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x208]
|
|
cmp r0, #0
|
|
beq _021F4CB8
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a7]
|
|
cmp r0, #0x10
|
|
blo _021F4CC8
|
|
_021F4CB8:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
bne _021F4D0C
|
|
_021F4CC8:
|
|
bl ov00_021F955C
|
|
mov r1, #1
|
|
str r1, [r0, #0x1bc]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0x1c0]
|
|
str r1, [r4, #0x1c4]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
beq _021F5610
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x1a7]
|
|
add r1, r1, #1
|
|
strb r1, [r0, #0x1a7]
|
|
b _021F5610
|
|
_021F4D0C:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x208]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a7]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
bne _021F4D60
|
|
mov r0, #3
|
|
bl ov00_021F956C
|
|
bl ov00_021F955C
|
|
mov r1, #1
|
|
str r1, [r0, #0xe8]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0xec]
|
|
str r1, [r4, #0xf0]
|
|
b _021F5610
|
|
_021F4D60:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
bne _021F5610
|
|
mov r1, #0
|
|
mov r2, r1
|
|
mov r0, #1
|
|
bl ov00_021F5D0C
|
|
b _021F5610
|
|
_021F4D84:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x17]
|
|
cmp r0, #0
|
|
beq _021F5610
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x20]
|
|
cmp r8, r0
|
|
bne _021F5610
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
bne _021F4DE4
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
bne _021F4DE4
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf8]
|
|
cmp r8, r0
|
|
bne _021F4DE4
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
bl ov00_0220D238
|
|
_021F4DE4:
|
|
mov r0, r8
|
|
bl ov00_021F6100
|
|
cmp r0, #0
|
|
bne _021F5610
|
|
add sp, sp, #0x118
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F4E00:
|
|
ldr r0, [r6, #4]
|
|
ldr r5, [r6]
|
|
mov r0, r0, lsl #0x10
|
|
mov r4, r0, lsr #0x10
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #1
|
|
bne _021F4E2C
|
|
mov r0, #6
|
|
bl ov00_021F956C
|
|
b _021F4E5C
|
|
_021F4E2C:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #6
|
|
beq _021F4E4C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xb
|
|
bne _021F5610
|
|
_021F4E4C:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x20]
|
|
cmp r8, r0
|
|
bne _021F5610
|
|
_021F4E5C:
|
|
bl ov00_021F955C
|
|
mov r1, #0xff
|
|
strb r1, [r0, #0x3cc]
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
add r0, r0, #1
|
|
add r0, r6, r0, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
cmp r8, r0
|
|
beq _021F4EA8
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
add r0, r0, #1
|
|
add r0, r6, r0, lsl #2
|
|
str r8, [r0, #0xf4]
|
|
_021F4EA8:
|
|
mov r1, r4, asr #8
|
|
mov r0, r4, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
str r5, [sp, #0xc]
|
|
strh r0, [sp, #0xa]
|
|
bl ov00_021F955C
|
|
mov r1, #1
|
|
strb r1, [r0, #0x194]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
bl ov00_0220D294
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
add r3, r0, #0x194
|
|
mov r1, r4
|
|
mov r0, #0
|
|
add r2, sp, #8
|
|
bl ov00_021F9104
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x18c]
|
|
str r1, [r0, #0x190]
|
|
b _021F5610
|
|
_021F4F10:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #1
|
|
bne _021F5610
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
cmp r8, r0
|
|
bne _021F5610
|
|
ldr r0, [r6]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r6, #4]
|
|
and r4, r0, #0xff
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
bne _021F4FA4
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a6]
|
|
cmp r0, #0
|
|
bne _021F4FA4
|
|
ldr r0, [sp, #0x10]
|
|
bl ov00_021F7BA0
|
|
str r0, [sp, #0x14]
|
|
add r0, sp, #0x14
|
|
str r0, [sp]
|
|
mov r5, #1
|
|
mov r1, r8
|
|
mov r2, r7
|
|
mov r3, sl
|
|
mov r0, #0x20
|
|
str r5, [sp, #4]
|
|
bl ov00_021F4304
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
addne sp, sp, #0x118
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F4FA4:
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x14]
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r0, #1
|
|
add r0, r5, r0, lsl #2
|
|
str r1, [r0, #0xf4]
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x14]
|
|
add r0, r0, #1
|
|
add r0, r5, r0
|
|
strb r4, [r0, #0x2d0]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_02210CBC
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x46c]
|
|
cmp r0, #0
|
|
beq _021F5610
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
ldr r0, [sp, #0x10]
|
|
bl ov00_021F0404
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x470]
|
|
ldr r2, [r5, #0x46c]
|
|
mov r0, r4
|
|
blx r2
|
|
b _021F5610
|
|
_021F5028:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #1
|
|
bne _021F5610
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
cmp r8, r0
|
|
bne _021F5610
|
|
ldr r0, [r6]
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
bne _021F5090
|
|
ldr r5, [r6, #4]
|
|
ldr r4, [r6, #8]
|
|
bl ov00_021F955C
|
|
add r0, r5, r0
|
|
strb r4, [r0, #0x2d0]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldr r2, [r0, #0x200]
|
|
add r1, r4, r5, lsl #2
|
|
mov r0, #3
|
|
str r2, [r1, #0xf4]
|
|
bl ov00_021F64C0
|
|
b _021F5610
|
|
_021F5090:
|
|
ldr r0, [r6, #8]
|
|
ldr r5, [r6, #4]
|
|
and r4, r0, #0xff
|
|
bl ov00_021F955C
|
|
add r0, r0, r5, lsl #2
|
|
ldr r1, [sp, #0x10]
|
|
ldr r0, [r0, #0xf4]
|
|
cmp r1, r0
|
|
bne _021F5110
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
sub r0, r0, #1
|
|
cmp r5, r0
|
|
bne _021F5110
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
add r1, sp, #0x10
|
|
str r1, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
ldrh r3, [r0, #0xa4]
|
|
ldr r2, [r4, #0x24]
|
|
mov r1, r8
|
|
mov r0, #9
|
|
bl ov00_021F4304
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
beq _021F5610
|
|
add sp, sp, #0x118
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F5110:
|
|
bl ov00_021F955C
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r0, r5, lsl #2
|
|
str r1, [r0, #0xf4]
|
|
bl ov00_021F955C
|
|
add r0, r5, r0
|
|
strb r4, [r0, #0x2d0]
|
|
bl ov00_021F955C
|
|
ldr r1, [r6, #0xc]
|
|
add r0, r0, r5, lsl #2
|
|
str r1, [r0, #0x24]
|
|
bl ov00_021F955C
|
|
ldr r1, [r6, #0x10]
|
|
add r0, r0, r5, lsl #1
|
|
strh r1, [r0, #0xa4]
|
|
bl ov00_021F955C
|
|
ldr r1, [r6, #0xc]
|
|
str r1, [r0, #0x1b8]
|
|
bl ov00_021F955C
|
|
add r1, r0, #0x100
|
|
ldr r2, [r6, #0x10]
|
|
mov r0, #5
|
|
strh r2, [r1, #0xb4]
|
|
bl ov00_021F956C
|
|
ldr r0, [sp, #0x10]
|
|
bl ov00_021F3CF8
|
|
bl ov00_021F82EC
|
|
cmp r0, #0
|
|
addne sp, sp, #0x118
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1c8]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1bc]
|
|
b _021F5610
|
|
_021F51A8:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xd
|
|
bne _021F5610
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a4]
|
|
ldr r1, [r6]
|
|
add r0, r0, #1
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
cmp r1, r0
|
|
bne _021F5610
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x1a4]
|
|
add r1, r1, #1
|
|
strb r1, [r0, #0x1a4]
|
|
mov r0, #0
|
|
bl ov00_021F64C0
|
|
b _021F5610
|
|
_021F51FC:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #1
|
|
beq _021F521C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0x12
|
|
bne _021F5610
|
|
_021F521C:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
beq _021F5240
|
|
ldr r1, [r6]
|
|
add r0, r6, #4
|
|
bl ov00_021F6B20
|
|
cmp r0, #0
|
|
beq _021F525C
|
|
_021F5240:
|
|
bl ov00_021F955C
|
|
ldr r1, [r6, #4]
|
|
str r1, [r0, #0x208]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a7]
|
|
b _021F5268
|
|
_021F525C:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x208]
|
|
_021F5268:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #0
|
|
beq _021F528C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
bl ov00_0220D238
|
|
b _021F5610
|
|
_021F528C:
|
|
bl ov00_021F6FF8
|
|
cmp r0, #0
|
|
beq _021F5610
|
|
add sp, sp, #0x118
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F52A4:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
cmp r8, r0
|
|
bne _021F5610
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
beq _021F52D4
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
bne _021F52F0
|
|
_021F52D4:
|
|
mov r0, r8
|
|
bl ov00_021F631C
|
|
cmp r0, #0
|
|
bne _021F5610
|
|
add sp, sp, #0x118
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F52F0:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
bne _021F5610
|
|
bl ov00_021F955C
|
|
str r8, [r0, #0x20c]
|
|
bl ov00_021F7128
|
|
mov r0, #0
|
|
bl ov00_021F6EC4
|
|
b _021F5610
|
|
_021F5318:
|
|
ldr r2, [r6]
|
|
mov r0, r8
|
|
mov r1, sb
|
|
bl ov00_021F7674
|
|
cmp r0, #0
|
|
bne _021F5610
|
|
add sp, sp, #0x118
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F533C:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
cmp r8, r0
|
|
addne sp, sp, #0x118
|
|
movne r0, #1
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
cmp r5, #0
|
|
mov r7, #0
|
|
ble _021F5610
|
|
mov r4, r7
|
|
_021F5364:
|
|
ldr r0, [r6, r7, lsl #2]
|
|
mov r1, r4
|
|
bl ov00_021F7CEC
|
|
cmp r0, #0xff
|
|
beq _021F537C
|
|
bl ov00_021EE31C
|
|
_021F537C:
|
|
add r7, r7, #1
|
|
cmp r7, r5
|
|
blt _021F5364
|
|
b _021F5610
|
|
_021F538C:
|
|
ldr r0, _021F561C ; =_0221A928
|
|
ldr r4, [r0]
|
|
cmp r4, #0
|
|
ldrneb r0, [r4]
|
|
cmpne r0, #0
|
|
beq _021F53E8
|
|
bl sub_020D34B0
|
|
ldr r3, [r4, #0x10]
|
|
ldr r2, [r4, #0x14]
|
|
subs r3, r0, r3
|
|
sbc r0, r1, r2
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F5620 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
ldr r2, [r4, #4]
|
|
cmp r1, #0
|
|
cmpeq r0, r2
|
|
movhs r0, #1
|
|
strhs r0, [sp, #0x14]
|
|
bhs _021F53F0
|
|
_021F53E8:
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
_021F53F0:
|
|
add r0, sp, #0x14
|
|
str r0, [sp]
|
|
mov r4, #1
|
|
mov r1, r8
|
|
mov r2, r7
|
|
mov r3, sl
|
|
mov r0, #0x12
|
|
str r4, [sp, #4]
|
|
bl ov00_021F4304
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
beq _021F5610
|
|
add sp, sp, #0x118
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F542C:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0x13
|
|
bne _021F5610
|
|
mov r0, r8
|
|
mov r1, #0
|
|
bl ov00_021F7CEC
|
|
cmp r0, #0xff
|
|
beq _021F5610
|
|
ldr r1, _021F561C ; =_0221A928
|
|
mov r4, #1
|
|
ldr r3, [r1]
|
|
ldr r2, [r3, #8]
|
|
orr r2, r2, r4, lsl r0
|
|
str r2, [r3, #8]
|
|
ldr r2, [r6]
|
|
cmp r2, #0
|
|
beq _021F5610
|
|
ldr r2, [r1]
|
|
ldr r1, [r2, #0xc]
|
|
orr r0, r1, r4, lsl r0
|
|
str r0, [r2, #0xc]
|
|
b _021F5610
|
|
_021F5488:
|
|
mov r0, #0xc
|
|
mov r1, #0
|
|
bl ov00_021F2EE4
|
|
add sp, sp, #0x118
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F54A0:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
bne _021F5610
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a6]
|
|
cmp r0, #0
|
|
bne _021F5610
|
|
mov r4, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
blt _021F5610
|
|
_021F54D4:
|
|
bl ov00_021F955C
|
|
add r0, r0, r4, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
cmp r8, r0
|
|
bne _021F5584
|
|
ldr r0, [r6]
|
|
cmp r0, #0
|
|
bne _021F555C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xb
|
|
beq _021F5514
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xc
|
|
bne _021F552C
|
|
_021F5514:
|
|
bl ov00_021F6DF0
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
addne sp, sp, #0x118
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F552C:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x19c]
|
|
cmp r0, #0
|
|
beq _021F5554
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x19c]
|
|
bl ov00_0221019C
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x19c]
|
|
_021F5554:
|
|
bl ov00_021F6FC4
|
|
b _021F5610
|
|
_021F555C:
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
mov r0, r8
|
|
mov r1, #0
|
|
bl ov00_021F7CEC
|
|
ldr r2, [r4, #0x1dc]
|
|
mov r1, #1
|
|
orr r0, r2, r1, lsl r0
|
|
str r0, [r4, #0x1dc]
|
|
b _021F5610
|
|
_021F5584:
|
|
add r4, r4, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r4, r0
|
|
ble _021F54D4
|
|
b _021F5610
|
|
_021F559C:
|
|
mov r4, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
blt _021F5610
|
|
_021F55B0:
|
|
bl ov00_021F955C
|
|
add r0, r0, r4, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
cmp r8, r0
|
|
bne _021F55FC
|
|
mov r4, #0
|
|
str r4, [sp]
|
|
mov r1, r8
|
|
mov r2, r7
|
|
mov r3, sl
|
|
mov r0, #0x41
|
|
str r4, [sp, #4]
|
|
bl ov00_021F4304
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
beq _021F5610
|
|
add sp, sp, #0x118
|
|
mov r0, r4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F55FC:
|
|
add r4, r4, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r4, r0
|
|
ble _021F55B0
|
|
_021F5610:
|
|
mov r0, #1
|
|
add sp, sp, #0x118
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
_021F561C: .word _0221A928
|
|
_021F5620: .word 0x000082EA
|
|
arm_func_end ov00_021F4740
|
|
|
|
arm_func_start ov00_021F5624
|
|
ov00_021F5624: ; 0x021F5624
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
mov r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r8, r3
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
beq _021F568C
|
|
cmp r0, #1
|
|
beq _021F565C
|
|
cmp r0, #2
|
|
beq _021F5868
|
|
b _021F5914
|
|
_021F565C:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0]
|
|
mov r1, r7
|
|
bl ov00_022005B0
|
|
cmp r0, #0
|
|
moveq r4, #0xff
|
|
beq _021F5914
|
|
mov r0, r7
|
|
bl ov00_021F7BA0
|
|
cmp r0, #0
|
|
moveq r4, #3
|
|
beq _021F5914
|
|
_021F568C:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r8, r0
|
|
bne _021F56F4
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a9]
|
|
cmp r0, #0
|
|
bne _021F56F4
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r1, [r4, #0x14]
|
|
ldrb r0, [r0, #0x16]
|
|
cmp r1, r0
|
|
beq _021F56F4
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x17]
|
|
cmp r0, #0
|
|
beq _021F5758
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldr r1, [r4, #0x20]
|
|
ldr r0, [r0, #0x200]
|
|
cmp r1, r0
|
|
bne _021F5758
|
|
_021F56F4:
|
|
mov r4, #3
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
bne _021F5914
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
ldr r0, [r0, #0xb4]
|
|
cmp r0, #0
|
|
bne _021F5914
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x17]
|
|
cmp r0, #0
|
|
beq _021F5914
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
ldr r1, [r5, #0x20]
|
|
ldr r0, [r0, #0x200]
|
|
cmp r1, r0
|
|
bne _021F5914
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_02210CBC
|
|
b _021F5914
|
|
_021F5758:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #3
|
|
beq _021F5778
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #4
|
|
bne _021F57A4
|
|
_021F5778:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1c]
|
|
cmp r0, #0
|
|
bne _021F5798
|
|
bl ov00_021F955C
|
|
ldrh r0, [r0, #0x1a]
|
|
cmp r0, #0
|
|
beq _021F57A4
|
|
_021F5798:
|
|
cmp r6, #0
|
|
cmpeq r5, #0
|
|
bne _021F57AC
|
|
_021F57A4:
|
|
mov r4, #4
|
|
b _021F5914
|
|
_021F57AC:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x204]
|
|
cmp r0, #0
|
|
beq _021F5860
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x204]
|
|
cmp r7, r0
|
|
bne _021F5808
|
|
ldr r0, [sp, #0x18]
|
|
cmp r0, #0
|
|
bne _021F57F8
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x200]
|
|
cmp r0, r7
|
|
bge _021F5800
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x208]
|
|
cmp r7, r0
|
|
beq _021F5800
|
|
_021F57F8:
|
|
mov r4, #2
|
|
b _021F5914
|
|
_021F5800:
|
|
mov r4, #0xff
|
|
b _021F5914
|
|
_021F5808:
|
|
ldr r0, [sp, #0x18]
|
|
cmp r0, #0
|
|
bne _021F5834
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x200]
|
|
cmp r0, r7
|
|
bge _021F5858
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x208]
|
|
cmp r0, #0
|
|
bne _021F5858
|
|
_021F5834:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x204]
|
|
bl ov00_021F60AC
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
movne r0, #0xff
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
mov r4, #2
|
|
b _021F5914
|
|
_021F5858:
|
|
mov r4, #3
|
|
b _021F5914
|
|
_021F5860:
|
|
mov r4, #2
|
|
b _021F5914
|
|
_021F5868:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0]
|
|
mov r1, r7
|
|
bl ov00_022005B0
|
|
cmp r0, #0
|
|
moveq r4, #0xff
|
|
beq _021F5914
|
|
cmp r8, #3
|
|
bne _021F58A8
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r1, [r4, #0x14]
|
|
ldrb r0, [r0, #0x16]
|
|
cmp r1, r0
|
|
bne _021F58B0
|
|
_021F58A8:
|
|
mov r4, #3
|
|
b _021F5914
|
|
_021F58B0:
|
|
ldr r0, _021F591C ; =_0221A928
|
|
ldrb r1, [r0, #0x1c]
|
|
cmp r1, #1
|
|
ldreqb r0, [r0, #0x1d]
|
|
cmpeq r0, #1
|
|
moveq r4, #0x13
|
|
beq _021F5914
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xa
|
|
bne _021F5908
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1c]
|
|
cmp r0, #0
|
|
bne _021F58FC
|
|
bl ov00_021F955C
|
|
ldrh r0, [r0, #0x1a]
|
|
cmp r0, #0
|
|
beq _021F5908
|
|
_021F58FC:
|
|
cmp r6, #0
|
|
cmpeq r5, #0
|
|
bne _021F5910
|
|
_021F5908:
|
|
mov r4, #4
|
|
b _021F5914
|
|
_021F5910:
|
|
mov r4, #2
|
|
_021F5914:
|
|
mov r0, r4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_021F591C: .word _0221A928
|
|
arm_func_end ov00_021F5624
|
|
|
|
arm_func_start ov00_021F5920
|
|
ov00_021F5920: ; 0x021F5920
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x10
|
|
mov r6, r0
|
|
mov r5, r1
|
|
mov r4, r2
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x17]
|
|
cmp r0, #0
|
|
beq _021F595C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x20]
|
|
cmp r6, r0
|
|
addeq sp, sp, #0x10
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_021F595C:
|
|
bl ov00_021F955C
|
|
mov r1, #1
|
|
strb r1, [r0, #0x17]
|
|
bl ov00_021F955C
|
|
str r6, [r0, #0x20]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1bc]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1c8]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_02210CBC
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x204]
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x14]
|
|
add r0, r0, #1
|
|
add r0, r7, r0, lsl #2
|
|
str r6, [r0, #0xf4]
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x14]
|
|
add r0, r0, #1
|
|
add r0, r7, r0, lsl #2
|
|
str r5, [r0, #0x24]
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x14]
|
|
add r0, r0, #1
|
|
add r0, r7, r0, lsl #1
|
|
strh r4, [r0, #0xa4]
|
|
bl ov00_021F955C
|
|
str r5, [r0, #0x1b8]
|
|
bl ov00_021F955C
|
|
add r0, r0, #0x100
|
|
strh r4, [r0, #0xb4]
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F7B30
|
|
ldrb r1, [r4, #0x14]
|
|
add r1, r1, #1
|
|
add r1, r5, r1
|
|
strb r0, [r1, #0x2d0]
|
|
str r6, [sp, #8]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x14]
|
|
mov r7, #1
|
|
add r0, r0, #1
|
|
add r0, r4, r0
|
|
ldrb r0, [r0, #0x2d0]
|
|
str r0, [sp, #0xc]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x14]
|
|
cmp r0, #1
|
|
blt _021F5ACC
|
|
add r6, sp, #8
|
|
mov r5, #2
|
|
mov r4, #7
|
|
_021F5A70:
|
|
bl ov00_021F955C
|
|
mov sb, r0
|
|
bl ov00_021F955C
|
|
mov r8, r0
|
|
bl ov00_021F955C
|
|
str r6, [sp]
|
|
str r5, [sp, #4]
|
|
add r0, r0, r7, lsl #1
|
|
add r1, sb, r7, lsl #2
|
|
add r2, r8, r7, lsl #2
|
|
ldrh r3, [r0, #0xa4]
|
|
ldr r1, [r1, #0xf4]
|
|
ldr r2, [r2, #0x24]
|
|
mov r0, r4
|
|
bl ov00_021F4304
|
|
cmp r0, #0
|
|
addne sp, sp, #0x10
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
add r7, r7, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x14]
|
|
cmp r7, r0
|
|
ble _021F5A70
|
|
_021F5ACC:
|
|
mov r0, #1
|
|
bl ov00_021F7DDC
|
|
mov r0, #0
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
arm_func_end ov00_021F5920
|
|
|
|
arm_func_start ov00_021F5AE0
|
|
ov00_021F5AE0: ; 0x021F5AE0
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r1
|
|
ldr r1, [r5]
|
|
mov r6, r0
|
|
add r4, r1, #2
|
|
cmp r4, #2
|
|
bls _021F5B18
|
|
bl ov00_021F955C
|
|
mov r1, r0
|
|
sub r2, r4, #2
|
|
add r0, r5, #4
|
|
add r1, r1, #0x350
|
|
mov r2, r2, lsl #2
|
|
bl sub_020D4808
|
|
_021F5B18:
|
|
bl ov00_021F955C
|
|
sub r1, r4, #1
|
|
str r1, [r0, #0x348]
|
|
bl ov00_021F955C
|
|
str r6, [r0, #0x34c]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021F5AE0
|
|
|
|
arm_func_start ov00_021F5B30
|
|
ov00_021F5B30: ; 0x021F5B30
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
mov r0, r4
|
|
bne _021F5B54
|
|
bl ov00_021F82EC
|
|
ldmia sp!, {r4, pc}
|
|
_021F5B54:
|
|
bl ov00_021F8278
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021F5B30
|
|
|
|
arm_func_start ov00_021F5B5C
|
|
ov00_021F5B5C: ; 0x021F5B5C
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x14
|
|
mov r5, r0
|
|
cmp r1, #0
|
|
bne _021F5B90
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1c]
|
|
cmp r0, #0
|
|
bne _021F5BC4
|
|
bl ov00_021F955C
|
|
ldrh r0, [r0, #0x1a]
|
|
cmp r0, #0
|
|
bne _021F5BC4
|
|
_021F5B90:
|
|
bl ov00_021F955C
|
|
mov r1, #1
|
|
str r1, [r0, #0x1bc]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0x1c0]
|
|
str r1, [r4, #0x1c4]
|
|
bl ov00_021F955C
|
|
str r5, [r0, #0xf4]
|
|
add sp, sp, #0x14
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_021F5BC4:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
bne _021F5C48
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
mov r1, #0
|
|
bl ov00_022139B8
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
ldr r1, _021F5D04 ; =_02217AAC
|
|
mov r0, r6
|
|
mov r2, #0
|
|
bl ov00_02212DB4
|
|
str r0, [r4, #0xf4]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
mov r0, r6
|
|
bl ov00_02212E78
|
|
str r0, [r4, #0x24]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
mov r0, r6
|
|
bl ov00_02212E80
|
|
strh r0, [r4, #0xa4]
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
mov r4, #1
|
|
str r0, [r6, #0x204]
|
|
b _021F5C84
|
|
_021F5C48:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
bne _021F5C60
|
|
bl ov00_021F955C
|
|
str r5, [r0, #0xf4]
|
|
_021F5C60:
|
|
bl ov00_021F955C
|
|
str r5, [r0, #0x204]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1c]
|
|
str r0, [sp, #0xc]
|
|
bl ov00_021F955C
|
|
ldrh r0, [r0, #0x1a]
|
|
mov r4, #3
|
|
str r0, [sp, #0x10]
|
|
_021F5C84:
|
|
bl ov00_021F955C
|
|
ldr r1, _021F5D08 ; =0x00001770
|
|
str r1, [r0, #0x1c8]
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl sub_020D34B0
|
|
str r0, [r6, #0x1cc]
|
|
str r1, [r6, #0x1d0]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1bc]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x208]
|
|
cmp r0, #0
|
|
movne r7, #0xb
|
|
moveq r7, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
str r0, [sp, #8]
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
add r2, sp, #8
|
|
stmia sp, {r2, r4}
|
|
mov r3, r0
|
|
ldrh r3, [r3, #0xa4]
|
|
ldr r2, [r6, #0x24]
|
|
mov r1, r5
|
|
mov r0, r7
|
|
bl ov00_021F4304
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F5D04: .word _02217AAC
|
|
_021F5D08: .word 0x00001770
|
|
arm_func_end ov00_021F5B5C
|
|
|
|
arm_func_start ov00_021F5D0C
|
|
ov00_021F5D0C: ; 0x021F5D0C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x228
|
|
movs r4, r1
|
|
mov r8, r0
|
|
mov fp, r2
|
|
beq _021F5D30
|
|
bl ov00_021F955C
|
|
ldrb r6, [r0, #0x1a5]
|
|
b _021F5D60
|
|
_021F5D30:
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x344]
|
|
ldrb r1, [r5, #0x1a5]
|
|
sub r0, r0, #1
|
|
cmp r1, r0
|
|
movge r6, #0
|
|
bge _021F5D60
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a5]
|
|
add r6, r0, #1
|
|
_021F5D60:
|
|
cmp r4, #0
|
|
mov r5, #0
|
|
moveq r7, #1
|
|
movne r7, r5
|
|
_021F5D70:
|
|
cmp r7, #0
|
|
cmpeq r5, #0
|
|
beq _021F5DB4
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x1a5]
|
|
add r1, r1, #1
|
|
strb r1, [r0, #0x1a5]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r1, [r4, #0x1a5]
|
|
ldr r0, [r0, #0x344]
|
|
cmp r1, r0
|
|
blt _021F5DB4
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a5]
|
|
_021F5DB4:
|
|
cmp r5, #0
|
|
beq _021F5E04
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a5]
|
|
cmp r6, r0
|
|
bne _021F5E04
|
|
bl ov00_021F955C
|
|
ldr r1, _021F5FC4 ; =0x00000BB8
|
|
str r1, [r0, #0x1c8]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0x1cc]
|
|
str r1, [r4, #0x1d0]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1bc]
|
|
add sp, sp, #0x228
|
|
mov r0, r1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021F5E04:
|
|
mov r5, #1
|
|
bl ov00_021EF3A4
|
|
mov sl, r0
|
|
bl ov00_021F955C
|
|
mov sb, r0
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
mov r1, r0
|
|
ldrb r2, [r1, #0x1a5]
|
|
ldr r3, [sb, #0x2fc]
|
|
mov r1, #0xc
|
|
add r2, r4, r2
|
|
ldrb r2, [r2, #0x304]
|
|
mov r0, sl
|
|
mla r1, r2, r1, r3
|
|
bl sub_020A028C
|
|
movs r4, r0
|
|
mvnne r0, #0
|
|
cmpne r4, r0
|
|
beq _021F5D70
|
|
bl ov00_021F955C
|
|
mov sl, r0
|
|
bl ov00_021F955C
|
|
mov sb, r0
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x1a5]
|
|
ldr r2, [sl, #0x2fc]
|
|
mov r0, #0xc
|
|
add r1, sb, r1
|
|
ldrb r1, [r1, #0x304]
|
|
mla r0, r1, r0, r2
|
|
bl sub_020A00A4
|
|
cmp r0, #0
|
|
beq _021F5D70
|
|
mov sb, r5
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
blt _021F5ECC
|
|
_021F5EA4:
|
|
bl ov00_021F955C
|
|
add r0, r0, sb, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
cmp r4, r0
|
|
beq _021F5ECC
|
|
add sb, sb, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp sb, r0
|
|
ble _021F5EA4
|
|
_021F5ECC:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp sb, r0
|
|
ble _021F5D70
|
|
bl ov00_021F955C
|
|
ldr r0, [r0]
|
|
add r2, sp, #4
|
|
mov r1, r4
|
|
bl ov00_02200540
|
|
mov sb, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0]
|
|
ldr r1, [sp, #4]
|
|
add r2, sp, #0x18
|
|
bl ov00_02200400
|
|
orrs r0, sb, r0
|
|
ldreq r0, [sp, #0x1c]
|
|
cmpeq r0, #4
|
|
bne _021F5D70
|
|
ldr r0, _021F5FC8 ; =_02217A70
|
|
add r1, sp, #0xc
|
|
add r2, sp, #0x20
|
|
mov r3, #0x2f
|
|
bl ov00_021ED4E8
|
|
mov sl, r0
|
|
ldr r0, _021F5FCC ; =_02217A68
|
|
add r1, sp, #8
|
|
add r2, sp, #0x20
|
|
mov r3, #0x2f
|
|
bl ov00_021ED4E8
|
|
mov sb, r0
|
|
ldr r0, _021F5FD0 ; =_02217A6C
|
|
add r1, sp, #0
|
|
add r2, sp, #0x20
|
|
mov r3, #0x2f
|
|
bl ov00_021ED4E8
|
|
cmp sl, #0
|
|
cmpgt sb, #0
|
|
cmpgt r0, #0
|
|
ble _021F5D70
|
|
add r0, sp, #0xc
|
|
mov r1, #0
|
|
mov r2, #0xa
|
|
bl sub_020EB6CC
|
|
cmp r0, #3
|
|
bne _021F5D70
|
|
add r0, sp, #8
|
|
mov r1, #0
|
|
mov r2, #0xa
|
|
bl sub_020EB6CC
|
|
mov sb, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x16]
|
|
cmp sb, r0
|
|
bne _021F5D70
|
|
cmp r4, fp
|
|
moveq r8, #1
|
|
mov r0, r4
|
|
mov r1, r8
|
|
bl ov00_021F5B5C
|
|
add sp, sp, #0x228
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021F5FC4: .word 0x00000BB8
|
|
_021F5FC8: .word _02217A70
|
|
_021F5FCC: .word _02217A68
|
|
_021F5FD0: .word _02217A6C
|
|
arm_func_end ov00_021F5D0C
|
|
|
|
arm_func_start ov00_021F5FD4
|
|
ov00_021F5FD4: ; 0x021F5FD4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x208]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x204]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a7]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0x1cc]
|
|
str r1, [r4, #0x1d0]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
bne _021F6048
|
|
mov r0, #3
|
|
bl ov00_021F956C
|
|
mov r0, #0
|
|
bl ov00_021F3CF8
|
|
bl ov00_021F82EC
|
|
cmp r0, #0
|
|
beq _021F60A0
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021F6048:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
bne _021F607C
|
|
mov r0, #0
|
|
mov r1, r0
|
|
mov r2, r5
|
|
bl ov00_021F5D0C
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
beq _021F60A0
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021F607C:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
bne _021F60A0
|
|
ldr r1, _021F60A8 ; =0xFFFEC5E6
|
|
mov r0, #6
|
|
bl ov00_021F2EE4
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021F60A0:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021F60A8: .word 0xFFFEC5E6
|
|
arm_func_end ov00_021F5FD4
|
|
|
|
arm_func_start ov00_021F60AC
|
|
ov00_021F60AC: ; 0x021F60AC
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #8
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldrh r3, [r0, #0xa4]
|
|
ldr r2, [r4, #0x24]
|
|
mov r1, r5
|
|
mov r0, #5
|
|
bl ov00_021F4304
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x204]
|
|
mov r0, r4
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021F60AC
|
|
|
|
arm_func_start ov00_021F6100
|
|
ov00_021F6100: ; 0x021F6100
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x17]
|
|
cmp r0, #0
|
|
beq _021F6138
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldr r1, [r4, #0x20]
|
|
ldr r0, [r0, #0x200]
|
|
cmp r1, r0
|
|
moveq r4, #0
|
|
beq _021F613C
|
|
_021F6138:
|
|
mov r4, #1
|
|
_021F613C:
|
|
cmp r4, #0
|
|
beq _021F6168
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x17]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x20]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_02210CBC
|
|
_021F6168:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #0x1f
|
|
bhs _021F6198
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
mov r1, #0
|
|
add r0, r0, #1
|
|
add r0, r6, r0, lsl #2
|
|
str r1, [r0, #0xf4]
|
|
_021F6198:
|
|
bl ov00_021F955C
|
|
mov r1, #0xff
|
|
strb r1, [r0, #0x3cc]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x19c]
|
|
cmp r0, #0
|
|
beq _021F61CC
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x19c]
|
|
bl ov00_0221019C
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x19c]
|
|
_021F61CC:
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
strb r0, [r6, #0x14]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x204]
|
|
cmp r4, #0
|
|
bne _021F620C
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
beq _021F6314
|
|
bl ov00_021F6FC4
|
|
b _021F6314
|
|
_021F620C:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
bne _021F6248
|
|
mov r0, #3
|
|
bl ov00_021F956C
|
|
bl ov00_021F955C
|
|
mov r1, #2
|
|
str r1, [r0, #0xe8]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0xec]
|
|
str r1, [r4, #0xf0]
|
|
b _021F6314
|
|
_021F6248:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
bne _021F6274
|
|
mov r0, #4
|
|
bl ov00_021F956C
|
|
mov r1, #0
|
|
mov r2, r1
|
|
mov r0, #1
|
|
bl ov00_021F5D0C
|
|
b _021F6314
|
|
_021F6274:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
bne _021F6314
|
|
mov r0, #0xe
|
|
bl ov00_021F956C
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1d8]
|
|
bl ov00_021F955C
|
|
add r1, r0, #0x100
|
|
mov r2, #0
|
|
mov r0, r5
|
|
strh r2, [r1, #0xb2]
|
|
bl ov00_021F70B8
|
|
mov r5, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
blt _021F62FC
|
|
mov r4, #0xd
|
|
_021F62C8:
|
|
bl ov00_021F955C
|
|
add r0, r0, r5, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
mov r1, r4
|
|
bl ov00_021F75F4
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
add r5, r5, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r5, r0
|
|
ble _021F62C8
|
|
_021F62FC:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #0
|
|
bne _021F6314
|
|
mov r0, #2
|
|
bl ov00_021F6EC4
|
|
_021F6314:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021F6100
|
|
|
|
arm_func_start ov00_021F631C
|
|
ov00_021F631C: ; 0x021F631C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
bne _021F635C
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #0
|
|
beq _021F6348
|
|
bl ov00_021F7128
|
|
_021F6348:
|
|
ldr r1, _021F63D8 ; =0xFFFEC5D2
|
|
mov r0, #6
|
|
bl ov00_021F2EE4
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021F635C:
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
strb r0, [r5, #0x14]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x208]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x19c]
|
|
cmp r0, #0
|
|
beq _021F63A4
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x19c]
|
|
bl ov00_0221019C
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x19c]
|
|
_021F63A4:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #0
|
|
beq _021F63BC
|
|
bl ov00_021F6FC4
|
|
b _021F63D0
|
|
_021F63BC:
|
|
mov r0, #4
|
|
bl ov00_021F956C
|
|
mov r0, #0
|
|
bl ov00_021F5FD4
|
|
mov r4, r0
|
|
_021F63D0:
|
|
mov r0, r4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021F63D8: .word 0xFFFEC5D2
|
|
arm_func_end ov00_021F631C
|
|
|
|
arm_func_start ov00_021F63DC
|
|
ov00_021F63DC: ; 0x021F63DC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #8
|
|
mov r4, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
blt _021F6474
|
|
mov r5, #0xa
|
|
_021F63FC:
|
|
bl ov00_021F955C
|
|
mov sb, r0
|
|
bl ov00_021F955C
|
|
mov r8, r0
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
add r1, r6, #0x348
|
|
str r1, [sp]
|
|
ldr ip, [r0, #0x348]
|
|
add r3, r7, r4, lsl #1
|
|
add ip, ip, #1
|
|
str ip, [sp, #4]
|
|
add r1, sb, r4, lsl #2
|
|
add r2, r8, r4, lsl #2
|
|
ldrh r3, [r3, #0xa4]
|
|
ldr r1, [r1, #0xf4]
|
|
ldr r2, [r2, #0x24]
|
|
mov r0, r5
|
|
bl ov00_021F4304
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
add r4, r4, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r4, r0
|
|
ble _021F63FC
|
|
_021F6474:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x17]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x20]
|
|
bl ov00_021F955C
|
|
mov r1, #1
|
|
strb r1, [r0, #0x1a8]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
bl ov00_0220D238
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a8]
|
|
mov r0, r1
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
arm_func_end ov00_021F63DC
|
|
|
|
arm_func_start ov00_021F64C0
|
|
ov00_021F64C0: ; 0x021F64C0
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr}
|
|
sub sp, sp, #0x1c
|
|
cmp r0, #4
|
|
mov r4, #3
|
|
mov r5, #0
|
|
addls pc, pc, r0, lsl #2
|
|
b _021F6AE4
|
|
_021F64DC: ; jump table
|
|
b _021F64F0 ; case 0
|
|
b _021F6890 ; case 1
|
|
b _021F68D4 ; case 2
|
|
b _021F6998 ; case 3
|
|
b _021F69B8 ; case 4
|
|
_021F64F0:
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
ldrb r1, [r6, #0x1a4]
|
|
sub r0, r0, #1
|
|
cmp r1, r0
|
|
bge _021F65B0
|
|
mov r0, #0xd
|
|
bl ov00_021F956C
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a4]
|
|
add r0, r0, #1
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
str r0, [sp, #8]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a4]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0xc]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a4]
|
|
add r0, r0, #1
|
|
add r0, r4, r0
|
|
ldrb r0, [r0, #0x2d0]
|
|
str r0, [sp, #0x10]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a4]
|
|
add r0, r0, #1
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x24]
|
|
str r0, [sp, #0x14]
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a4]
|
|
mov r4, #5
|
|
add r0, r0, #1
|
|
add r0, r6, r0, lsl #1
|
|
ldrh r0, [r0, #0xa4]
|
|
str r0, [sp, #0x18]
|
|
b _021F67FC
|
|
_021F65B0:
|
|
bl ov00_021F955C
|
|
mov r1, r5
|
|
strb r1, [r0, #0x17]
|
|
bl ov00_021F955C
|
|
mov r1, r5
|
|
str r1, [r0, #0x20]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_02210CBC
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
bne _021F65F0
|
|
mov r0, r4
|
|
bl ov00_021F956C
|
|
b _021F6614
|
|
_021F65F0:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
bne _021F660C
|
|
mov r0, #4
|
|
bl ov00_021F956C
|
|
b _021F6614
|
|
_021F660C:
|
|
mov r0, #0xa
|
|
bl ov00_021F956C
|
|
_021F6614:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a4]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
beq _021F664C
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
ldrb r1, [r6, #0xd]
|
|
ldrb r0, [r0, #0x16]
|
|
cmp r1, r0
|
|
bne _021F66FC
|
|
_021F664C:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
bne _021F6684
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
add r0, r6, r0, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
str r0, [r7, #0x20c]
|
|
b _021F66A4
|
|
_021F6684:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x20c]
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x200]
|
|
str r0, [r6, #0xf4]
|
|
_021F66A4:
|
|
mov r0, #0x10
|
|
bl ov00_021F956C
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x1d4]
|
|
mov r7, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
blt _021F67EC
|
|
mov r6, #2
|
|
_021F66D0:
|
|
bl ov00_021F955C
|
|
add r0, r0, r7
|
|
ldrb r0, [r0, #0x2d0]
|
|
mov r1, r6
|
|
bl ov00_021F7294
|
|
add r7, r7, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r7, r0
|
|
ble _021F66D0
|
|
b _021F67EC
|
|
_021F66FC:
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
str r0, [sp, #0xc]
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
add r0, r6, r0
|
|
ldrb r0, [r0, #0x2d0]
|
|
str r0, [sp, #0x10]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
bne _021F6760
|
|
bl ov00_021F955C
|
|
mov r1, #2
|
|
str r1, [r0, #0xe8]
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl sub_020D34B0
|
|
str r0, [r6, #0xec]
|
|
str r1, [r6, #0xf0]
|
|
b _021F67EC
|
|
_021F6760:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
bne _021F67EC
|
|
mov r1, #0
|
|
mov r2, r1
|
|
mov r0, #1
|
|
bl ov00_021F5D0C
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a6]
|
|
cmp r0, #0
|
|
bne _021F67EC
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #2
|
|
blo _021F67EC
|
|
bl ov00_021F955C
|
|
mov r8, r0
|
|
mov r0, #0
|
|
bl ov00_021F7D50
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
mov r1, #1
|
|
ldr r2, [r8, #0x1dc]
|
|
add r0, r7, r0
|
|
ldrb r0, [r0, #0x2d0]
|
|
mvn r0, r1, lsl r0
|
|
and r0, r6, r0
|
|
cmp r2, r0
|
|
beq _021F67EC
|
|
bl ov00_021F6FC4
|
|
b _021F6AE4
|
|
_021F67EC:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
movne r5, #1
|
|
_021F67FC:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0x10
|
|
beq _021F6AE4
|
|
bl ov00_021F955C
|
|
mov sl, r0
|
|
bl ov00_021F955C
|
|
mov sb, r0
|
|
bl ov00_021F955C
|
|
mov r8, r0
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
add r1, sp, #8
|
|
stmia sp, {r1, r4}
|
|
mov ip, r0
|
|
ldrb r3, [sb, #0xd]
|
|
ldrb r2, [r7, #0xd]
|
|
ldrb r1, [ip, #0xd]
|
|
add r4, sl, r3, lsl #2
|
|
add r2, r8, r2, lsl #2
|
|
add r3, r6, r1, lsl #1
|
|
ldrh r3, [r3, #0xa4]
|
|
ldr r1, [r4, #0xf4]
|
|
ldr r2, [r2, #0x24]
|
|
mov r0, #8
|
|
bl ov00_021F4304
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x3cd]
|
|
b _021F6AE4
|
|
_021F6890:
|
|
mov r0, #1
|
|
bl ov00_021F956C
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
bne _021F68CC
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
str r0, [r5, #0x20c]
|
|
_021F68CC:
|
|
mov r5, #1
|
|
b _021F6AE4
|
|
_021F68D4:
|
|
mov r0, #1
|
|
bl ov00_021F956C
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
beq _021F68FC
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
bne _021F691C
|
|
_021F68FC:
|
|
bl ov00_021F955C
|
|
mov r1, #1
|
|
strb r1, [r0, #0x17]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x200]
|
|
str r0, [r4, #0x20]
|
|
_021F691C:
|
|
bl ov00_021F7DB4
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
bls _021F6AE4
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
mov r8, r0
|
|
bl ov00_021F955C
|
|
add r3, r8, #0xf4
|
|
ldrb r2, [r0, #0xd]
|
|
mov r1, #1
|
|
mov r0, #9
|
|
sub r2, r2, #1
|
|
add r2, r3, r2, lsl #2
|
|
str r2, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r1, [r7, #0xf4]
|
|
ldr r2, [r6, #0x24]
|
|
ldrh r3, [r4, #0xa4]
|
|
bl ov00_021F4304
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
beq _021F6AE4
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F6998:
|
|
mov r0, #1
|
|
bl ov00_021F956C
|
|
bl ov00_021F7DB4
|
|
bl ov00_021F955C
|
|
mov r1, r5
|
|
str r1, [r0, #0x20c]
|
|
mov r5, #1
|
|
b _021F6AE4
|
|
_021F69B8:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
beq _021F69D8
|
|
ldr r1, _021F6B18 ; =_02217A60
|
|
mov r0, #2
|
|
mov r2, r5
|
|
bl ov00_021F04A0
|
|
_021F69D8:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x20c]
|
|
cmp r0, #0
|
|
moveq r7, #1
|
|
movne r7, #0
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x20c]
|
|
bl ov00_021F0404
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
str r4, [sp]
|
|
ldr r1, [r0, #0x468]
|
|
mov r0, #0
|
|
str r1, [sp, #4]
|
|
ldr r4, [r6, #0x464]
|
|
mov r2, r7
|
|
mov r1, r0
|
|
mov r3, r0
|
|
blx r4
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
beq _021F6A4C
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
bne _021F6A54
|
|
_021F6A4C:
|
|
bl ov00_021F3C5C
|
|
b _021F6AD8
|
|
_021F6A54:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
cmp r0, #0
|
|
beq _021F6A7C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_022136E4
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0xe4]
|
|
_021F6A7C:
|
|
bl ov00_021F125C
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
bne _021F6AC4
|
|
bl ov00_021F36BC
|
|
bl ov00_021F8278
|
|
cmp r0, #0
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
|
|
ldr r0, _021F6B1C ; =_0221A928
|
|
ldrb r1, [r0, #0x1c]
|
|
cmp r1, #1
|
|
moveq r1, #1
|
|
streqb r1, [r0, #0x1d]
|
|
mov r0, #0xa
|
|
bl ov00_021F956C
|
|
b _021F6ACC
|
|
_021F6AC4:
|
|
mov r0, #1
|
|
bl ov00_021F956C
|
|
_021F6ACC:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x20c]
|
|
_021F6AD8:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a9]
|
|
_021F6AE4:
|
|
cmp r5, #0
|
|
addeq sp, sp, #0x1c
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
addeq sp, sp, #0x1c
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_0221396C
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
_021F6B18: .word _02217A60
|
|
_021F6B1C: .word _0221A928
|
|
arm_func_end ov00_021F64C0
|
|
|
|
arm_func_start ov00_021F6B20
|
|
ov00_021F6B20: ; 0x021F6B20
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r5, r1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a6]
|
|
cmp r0, #0
|
|
beq _021F6B50
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #4
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
_021F6B50:
|
|
cmp r5, #0
|
|
mov r4, #0
|
|
bls _021F6BA0
|
|
_021F6B5C:
|
|
ldr r0, [r6, r4, lsl #2]
|
|
bl ov00_021F7BA0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1a6]
|
|
cmp r0, #0
|
|
beq _021F6B94
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #1
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
_021F6B94:
|
|
add r4, r4, #1
|
|
cmp r4, r5
|
|
blo _021F6B5C
|
|
_021F6BA0:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021F6B20
|
|
|
|
arm_func_start ov00_021F6BA8
|
|
ov00_021F6BA8: ; 0x021F6BA8
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x20c]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #2
|
|
bne _021F6BD0
|
|
bl ov00_021F6D30
|
|
ldmia sp!, {r3, pc}
|
|
_021F6BD0:
|
|
bl ov00_021F955C
|
|
mov r1, #1
|
|
strb r1, [r0, #0x1a9]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
bne _021F6C3C
|
|
bl ov00_021F955C
|
|
mov r1, #1
|
|
strb r1, [r0, #0x1a9]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #0
|
|
beq _021F6C1C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
bl ov00_0220D238
|
|
b _021F6C34
|
|
_021F6C1C:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
bl ov00_021F60AC
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
_021F6C34:
|
|
bl ov00_021F6D30
|
|
ldmia sp!, {r3, pc}
|
|
_021F6C3C:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #4
|
|
beq _021F6C9C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #5
|
|
beq _021F6C9C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #6
|
|
beq _021F6C9C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #7
|
|
beq _021F6C9C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xb
|
|
beq _021F6C9C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xc
|
|
bne _021F6CD4
|
|
_021F6C9C:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x204]
|
|
cmp r0, #0
|
|
beq _021F6CC4
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
bl ov00_021F60AC
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
_021F6CC4:
|
|
bl ov00_021F6DF0
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
_021F6CD4:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x19c]
|
|
cmp r0, #0
|
|
beq _021F6CFC
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x19c]
|
|
bl ov00_0221019C
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x19c]
|
|
_021F6CFC:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #0
|
|
beq _021F6D28
|
|
bl ov00_021F955C
|
|
mov r1, #1
|
|
strb r1, [r0, #0x1a9]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
bl ov00_0220D238
|
|
_021F6D28:
|
|
bl ov00_021F6D30
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021F6BA8
|
|
|
|
arm_func_start ov00_021F6D30
|
|
ov00_021F6D30: ; 0x021F6D30
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #8
|
|
ldr r1, _021F6DEC ; =_02217A60
|
|
mov r0, #1
|
|
mov r2, #0
|
|
bl ov00_021F04A0
|
|
bl ov00_021F8278
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
bl ov00_021F3C5C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x20c]
|
|
cmp r0, #0
|
|
movne r6, #1
|
|
bne _021F6D84
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
moveq r6, #1
|
|
movne r6, #0
|
|
_021F6D84:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x20c]
|
|
cmp r0, #0
|
|
moveq r7, #1
|
|
movne r7, #0
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x20c]
|
|
bl ov00_021F0404
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
str r4, [sp]
|
|
ldr r1, [r0, #0x468]
|
|
mov r2, r7
|
|
str r1, [sp, #4]
|
|
ldr ip, [r5, #0x464]
|
|
mov r3, r6
|
|
mov r0, #0
|
|
mov r1, #1
|
|
blx ip
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a9]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F6DEC: .word _02217A60
|
|
arm_func_end ov00_021F6D30
|
|
|
|
arm_func_start ov00_021F6DF0
|
|
ov00_021F6DF0: ; 0x021F6DF0
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0xc
|
|
mov r4, #0
|
|
str r4, [sp, #8]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x17]
|
|
cmp r0, #0
|
|
beq _021F6EB8
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
beq _021F6EB8
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
ldr r1, [r5, #0x20]
|
|
ldr r0, [r0, #0x200]
|
|
cmp r1, r0
|
|
beq _021F6EB8
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
add r2, sp, #8
|
|
mov r1, #1
|
|
str r2, [sp]
|
|
str r1, [sp, #4]
|
|
ldrb r3, [r0, #0xd]
|
|
ldrb r2, [r6, #0xd]
|
|
ldr r1, [r7, #0x20]
|
|
add r3, r3, #1
|
|
add r2, r2, #1
|
|
add r3, r4, r3, lsl #1
|
|
add r2, r5, r2, lsl #2
|
|
ldrh r3, [r3, #0xa4]
|
|
ldr r2, [r2, #0x24]
|
|
mov r0, #0xc
|
|
bl ov00_021F4304
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x17]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x20]
|
|
_021F6EB8:
|
|
mov r0, r4
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_021F6DF0
|
|
|
|
arm_func_start ov00_021F6EC4
|
|
ov00_021F6EC4: ; 0x021F6EC4
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #8
|
|
movs r4, r0
|
|
bne _021F6EE0
|
|
bl ov00_021F6D30
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F6EE0:
|
|
bl ov00_021F381C
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
beq _021F6F04
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
bne _021F6F60
|
|
_021F6F04:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x20c]
|
|
cmp r0, #0
|
|
moveq r6, #1
|
|
movne r6, #0
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x20c]
|
|
bl ov00_021F0404
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
str r4, [sp]
|
|
ldr r1, [r0, #0x468]
|
|
mov r0, #0
|
|
str r1, [sp, #4]
|
|
ldr ip, [r5, #0x464]
|
|
mov r2, r6
|
|
mov r1, #1
|
|
mov r3, r0
|
|
blx ip
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F6F60:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
bne _021F6F94
|
|
cmp r4, #1
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r0, #0
|
|
bl ov00_021F3CF8
|
|
bl ov00_021F82EC
|
|
add sp, sp, #8
|
|
cmp r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F6F94:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
cmpeq r4, #1
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r0, #0
|
|
mov r1, r0
|
|
mov r2, r0
|
|
bl ov00_021F5D0C
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021F6EC4
|
|
|
|
arm_func_start ov00_021F6FC4
|
|
ov00_021F6FC4: ; 0x021F6FC4
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_021F7128
|
|
mov r0, #1
|
|
bl ov00_021F6EC4
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021F6FC4
|
|
|
|
arm_func_start ov00_021F6FF8
|
|
ov00_021F6FF8: ; 0x021F6FF8
|
|
stmdb sp!, {r4, lr}
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x17]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x20]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a8]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x208]
|
|
cmp r0, #0
|
|
beq _021F70A8
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
bne _021F7068
|
|
mov r0, #3
|
|
bl ov00_021F956C
|
|
mov r0, #0
|
|
bl ov00_021F3CF8
|
|
mov r4, r0
|
|
bl ov00_021F82EC
|
|
cmp r0, #0
|
|
beq _021F70B0
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
_021F7068:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
bne _021F70B0
|
|
mov r0, #4
|
|
bl ov00_021F956C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x208]
|
|
mov r1, #0
|
|
bl ov00_021F5B5C
|
|
mov r4, r0
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
beq _021F70B0
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
_021F70A8:
|
|
mov r0, #1
|
|
bl ov00_021F6EC4
|
|
_021F70B0:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021F6FF8
|
|
|
|
arm_func_start ov00_021F70B8
|
|
ov00_021F70B8: ; 0x021F70B8
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
str r5, [r0, #0x20c]
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0xd]
|
|
mov r0, r5
|
|
add r1, r1, #1
|
|
bl ov00_021EE73C
|
|
movs r4, r0
|
|
beq _021F710C
|
|
bl ov00_021F955C
|
|
mov r1, #2
|
|
strb r1, [r0, #0x1a8]
|
|
ldr r0, [r4]
|
|
bl ov00_0220D218
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a8]
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021F710C:
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0xd]
|
|
mov r0, r5
|
|
add r1, r1, #1
|
|
bl ov00_021F3334
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021F70B8
|
|
|
|
arm_func_start ov00_021F7128
|
|
ov00_021F7128: ; 0x021F7128
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021F955C
|
|
mov r1, #2
|
|
strb r1, [r0, #0x1a8]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0]
|
|
bl ov00_0220D238
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a8]
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021F7128
|
|
|
|
arm_func_start ov00_021F7158
|
|
ov00_021F7158: ; 0x021F7158
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
sub sp, sp, #0x108
|
|
mov r7, #0
|
|
mov sl, r0
|
|
mov r8, r7
|
|
mov sb, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
blt _021F71E0
|
|
add r4, sp, #0x88
|
|
add r5, sp, #8
|
|
mov r6, sb
|
|
_021F718C:
|
|
bl ov00_021F955C
|
|
add r0, r0, sb
|
|
ldrb r0, [r0, #0x2d0]
|
|
tst sl, r6, lsl r0
|
|
beq _021F71B8
|
|
bl ov00_021F955C
|
|
add r0, r0, sb, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
str r0, [r5, r8, lsl #2]
|
|
add r8, r8, #1
|
|
b _021F71CC
|
|
_021F71B8:
|
|
bl ov00_021F955C
|
|
add r0, r0, sb, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
str r0, [r4, r7, lsl #2]
|
|
add r7, r7, #1
|
|
_021F71CC:
|
|
add sb, sb, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp sb, r0
|
|
ble _021F718C
|
|
_021F71E0:
|
|
cmp r8, #0
|
|
mov sl, #0
|
|
ble _021F7238
|
|
add sb, sp, #0x88
|
|
mov r6, #0x10
|
|
add r5, sp, #8
|
|
mov r4, sl
|
|
_021F71FC:
|
|
ldr r1, [r5, sl, lsl #2]
|
|
str sb, [sp]
|
|
mov r0, r6
|
|
mov r2, r4
|
|
mov r3, r4
|
|
str r7, [sp, #4]
|
|
bl ov00_021F4304
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
addne sp, sp, #0x108
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
add sl, sl, #1
|
|
cmp sl, r8
|
|
blt _021F71FC
|
|
_021F7238:
|
|
bl ov00_021F955C
|
|
mov r1, #2
|
|
strb r1, [r0, #0x1a8]
|
|
cmp r7, #0
|
|
mov r6, #0
|
|
ble _021F727C
|
|
add r5, sp, #0x88
|
|
mov r4, r6
|
|
_021F7258:
|
|
ldr r0, [r5, r6, lsl #2]
|
|
mov r1, r4
|
|
bl ov00_021F7CEC
|
|
cmp r0, #0xff
|
|
beq _021F7270
|
|
bl ov00_021EE31C
|
|
_021F7270:
|
|
add r6, r6, #1
|
|
cmp r6, r7
|
|
blt _021F7258
|
|
_021F727C:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a8]
|
|
mov r0, #1
|
|
add sp, sp, #0x108
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
arm_func_end ov00_021F7158
|
|
|
|
arm_func_start ov00_021F7294
|
|
ov00_021F7294: ; 0x021F7294
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #4
|
|
mov r4, r1
|
|
mov r5, r0
|
|
cmp r4, #2
|
|
beq _021F72B8
|
|
cmp r4, #3
|
|
beq _021F7330
|
|
b _021F7354
|
|
_021F72B8:
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
add r0, r6, r0
|
|
ldrb r0, [r0, #0x2d0]
|
|
mov r6, #1
|
|
cmp r5, r0
|
|
moveq r0, #1
|
|
streqb r0, [sp]
|
|
movne r0, #0
|
|
strneb r0, [sp]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
blo _021F7354
|
|
_021F72F8:
|
|
bl ov00_021F955C
|
|
add r0, r0, r6
|
|
ldrb r0, [r0, #0x2d0]
|
|
cmp r5, r0
|
|
streqb r6, [sp, #1]
|
|
streqb r5, [sp, #2]
|
|
beq _021F7354
|
|
add r0, r6, #1
|
|
and r6, r0, #0xff
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r6, r0
|
|
bls _021F72F8
|
|
b _021F7354
|
|
_021F7330:
|
|
bl ov00_021F955C
|
|
add r0, r0, #0x100
|
|
ldrh r0, [r0, #0xb0]
|
|
strb r0, [sp]
|
|
bl ov00_021F955C
|
|
add r0, r0, #0x100
|
|
ldrh r0, [r0, #0xb0]
|
|
mov r0, r0, asr #8
|
|
strb r0, [sp, #1]
|
|
_021F7354:
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
mov r1, r5
|
|
mov r3, #4
|
|
bl ov00_021F9630
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0x1e0]
|
|
str r1, [r4, #0x1e4]
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end ov00_021F7294
|
|
|
|
arm_func_start ov00_021F7384
|
|
ov00_021F7384: ; 0x021F7384
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #9
|
|
beq _021F73B8
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0x10
|
|
beq _021F73B8
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0x11
|
|
bne _021F73FC
|
|
_021F73B8:
|
|
bl sub_020D34B0
|
|
mov r4, r0
|
|
mov r5, r1
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x1e0]
|
|
ldr r0, [r0, #0x1e4]
|
|
subs r3, r4, r1
|
|
sbc r0, r5, r0
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F75EC ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
mov r4, r0
|
|
mov r5, r1
|
|
b _021F7404
|
|
_021F73FC:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F7404:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #9
|
|
beq _021F7428
|
|
cmp r0, #0x10
|
|
beq _021F7494
|
|
cmp r0, #0x11
|
|
beq _021F75C4
|
|
b _021F75E4
|
|
_021F7428:
|
|
ldr r0, _021F75F0 ; =0x00001770
|
|
cmp r5, #0
|
|
cmpeq r4, r0
|
|
bls _021F75E4
|
|
bl ov00_021EE568
|
|
cmp r0, #5
|
|
bne _021F7470
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1ad]
|
|
cmp r0, #5
|
|
blo _021F7470
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
bl ov00_021F631C
|
|
cmp r0, #0
|
|
bne _021F75E4
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F7470:
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x1ad]
|
|
add r1, r1, #1
|
|
strb r1, [r0, #0x1ad]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x2d0]
|
|
mov r1, #3
|
|
bl ov00_021F7294
|
|
b _021F75E4
|
|
_021F7494:
|
|
ldr r0, _021F75F0 ; =0x00001770
|
|
cmp r5, #0
|
|
cmpeq r4, r0
|
|
bls _021F75E4
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x1ab]
|
|
add r1, r1, #1
|
|
strb r1, [r0, #0x1ab]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1ab]
|
|
cmp r0, #5
|
|
bls _021F755C
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
beq _021F74E4
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
bne _021F74F4
|
|
_021F74E4:
|
|
bl ov00_021F7128
|
|
mov r0, #1
|
|
bl ov00_021F6EC4
|
|
b _021F75E4
|
|
_021F74F4:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1d4]
|
|
bl ov00_021F7158
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #0
|
|
beq _021F7540
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1ab]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0x1e0]
|
|
str r1, [r4, #0x1e4]
|
|
b _021F75E4
|
|
_021F7540:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x20c]
|
|
bl ov00_021F6100
|
|
cmp r0, #0
|
|
bne _021F75E4
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F755C:
|
|
mov r4, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
blt _021F75E4
|
|
mov r5, #2
|
|
mov r6, r4
|
|
_021F7578:
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
add r0, r0, r4
|
|
ldrb r0, [r0, #0x2d0]
|
|
ldr r1, [r7, #0x1d4]
|
|
tst r1, r6, lsl r0
|
|
bne _021F75AC
|
|
bl ov00_021F955C
|
|
add r0, r0, r4
|
|
ldrb r0, [r0, #0x2d0]
|
|
mov r1, r5
|
|
bl ov00_021F7294
|
|
_021F75AC:
|
|
add r4, r4, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r4, r0
|
|
ble _021F7578
|
|
b _021F75E4
|
|
_021F75C4:
|
|
bl ov00_021F955C
|
|
add r0, r0, #0x100
|
|
ldrh r0, [r0, #0xb0]
|
|
cmp r5, r0, asr #31
|
|
cmpeq r4, r0
|
|
bls _021F75E4
|
|
mov r0, #4
|
|
bl ov00_021F64C0
|
|
_021F75E4:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F75EC: .word 0x000082EA
|
|
_021F75F0: .word 0x00001770
|
|
arm_func_end ov00_021F7384
|
|
|
|
arm_func_start ov00_021F75F4
|
|
ov00_021F75F4: ; 0x021F75F4
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0xc
|
|
mov r5, r1
|
|
cmp r5, #0xd
|
|
mov r6, r0
|
|
movne r4, #0
|
|
bne _021F7620
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x20c]
|
|
mov r4, #1
|
|
str r0, [sp, #8]
|
|
_021F7620:
|
|
add r0, sp, #8
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
mov r0, r5
|
|
mov r1, r6
|
|
mov r3, r2
|
|
str r4, [sp, #4]
|
|
bl ov00_021F4304
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
addne sp, sp, #0xc
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0x1e8]
|
|
str r1, [r4, #0x1ec]
|
|
mov r0, #1
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end ov00_021F75F4
|
|
|
|
arm_func_start ov00_021F7674
|
|
ov00_021F7674: ; 0x021F7674
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r5, r1
|
|
mov r4, r2
|
|
bl ov00_021EE568
|
|
cmp r0, #6
|
|
movne r0, #1
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
cmp r5, #0xd
|
|
beq _021F76B0
|
|
cmp r5, #0xe
|
|
beq _021F76EC
|
|
cmp r5, #0xf
|
|
beq _021F7874
|
|
b _021F788C
|
|
_021F76B0:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #8
|
|
beq _021F76D0
|
|
mov r0, #8
|
|
bl ov00_021F956C
|
|
mov r0, r4
|
|
bl ov00_021F70B8
|
|
_021F76D0:
|
|
mov r0, r6
|
|
mov r1, #0xe
|
|
bl ov00_021F75F4
|
|
cmp r0, #0
|
|
bne _021F788C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F76EC:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xe
|
|
bne _021F7858
|
|
bl sub_020D34B0
|
|
mov r4, r0
|
|
mov r5, r1
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x1e8]
|
|
ldr r0, [r0, #0x1ec]
|
|
subs r3, r4, r1
|
|
sbc r0, r5, r0
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F7894 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
mov r2, r0, lsr #1
|
|
mov r0, r1, lsr #1
|
|
cmp r0, #0
|
|
orr r2, r2, r1, lsl #31
|
|
cmpeq r2, #0x12c
|
|
bls _021F77B8
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x1e8]
|
|
ldr r0, [r0, #0x1ec]
|
|
subs r3, r4, r1
|
|
sbc r0, r5, r0
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F7894 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
mov r3, r0, lsr #1
|
|
mov r0, #0x12c
|
|
orr r3, r3, r1, lsl #31
|
|
rsb r0, r0, #0
|
|
mvn r2, #0
|
|
adds r5, r3, r0
|
|
adc r4, r2, r1, lsr #1
|
|
bl ov00_021F955C
|
|
add r0, r0, #0x100
|
|
ldrh r0, [r0, #0xb2]
|
|
cmp r4, r0, asr #31
|
|
cmpeq r5, r0
|
|
bls _021F77B8
|
|
bl ov00_021F955C
|
|
add r0, r0, #0x100
|
|
strh r5, [r0, #0xb2]
|
|
_021F77B8:
|
|
mov r0, r6
|
|
mov r1, #0
|
|
bl ov00_021F7CEC
|
|
mov r4, r0
|
|
cmp r4, #0xff
|
|
beq _021F77E4
|
|
bl ov00_021F955C
|
|
ldr r2, [r0, #0x1d8]
|
|
mov r1, #1
|
|
orr r1, r2, r1, lsl r4
|
|
str r1, [r0, #0x1d8]
|
|
_021F77E4:
|
|
mov r0, #1
|
|
bl ov00_021F7D50
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1d8]
|
|
cmp r4, r0
|
|
bne _021F788C
|
|
mov r5, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
blt _021F784C
|
|
mov r4, #0xf
|
|
_021F7818:
|
|
bl ov00_021F955C
|
|
add r0, r0, r5, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
mov r1, r4
|
|
bl ov00_021F75F4
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
add r5, r5, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r5, r0
|
|
ble _021F7818
|
|
_021F784C:
|
|
mov r0, #0xf
|
|
bl ov00_021F956C
|
|
b _021F788C
|
|
_021F7858:
|
|
mov r0, r6
|
|
mov r1, #0xf
|
|
bl ov00_021F75F4
|
|
cmp r0, #0
|
|
bne _021F788C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F7874:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #8
|
|
bne _021F788C
|
|
mov r0, #2
|
|
bl ov00_021F6EC4
|
|
_021F788C:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021F7894: .word 0x000082EA
|
|
arm_func_end ov00_021F7674
|
|
|
|
arm_func_start ov00_021F7898
|
|
ov00_021F7898: ; 0x021F7898
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #8
|
|
beq _021F78CC
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xe
|
|
beq _021F78CC
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xf
|
|
bne _021F7910
|
|
_021F78CC:
|
|
bl sub_020D34B0
|
|
mov r4, r0
|
|
mov r5, r1
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x1e8]
|
|
ldr r0, [r0, #0x1ec]
|
|
subs r3, r4, r1
|
|
sbc r0, r5, r0
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F7A90 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
mov r4, r0
|
|
mov r5, r1
|
|
b _021F7918
|
|
_021F7910:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F7918:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #8
|
|
beq _021F793C
|
|
cmp r0, #0xe
|
|
beq _021F796C
|
|
cmp r0, #0xf
|
|
beq _021F7A68
|
|
b _021F7A88
|
|
_021F793C:
|
|
ldr r0, _021F7A94 ; =0x00001770
|
|
cmp r5, #0
|
|
cmpeq r4, r0
|
|
bls _021F7A88
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
mov r1, #0xe
|
|
bl ov00_021F75F4
|
|
cmp r0, #0
|
|
bne _021F7A88
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F796C:
|
|
ldr r0, _021F7A94 ; =0x00001770
|
|
cmp r5, #0
|
|
cmpeq r4, r0
|
|
bls _021F7A88
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x1ac]
|
|
add r1, r1, #1
|
|
strb r1, [r0, #0x1ac]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x1ac]
|
|
cmp r0, #5
|
|
bls _021F79F4
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1d8]
|
|
bl ov00_021F7158
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #0
|
|
beq _021F79E8
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1ac]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0x1e8]
|
|
str r1, [r4, #0x1ec]
|
|
b _021F7A88
|
|
_021F79E8:
|
|
mov r0, #2
|
|
bl ov00_021F6EC4
|
|
b _021F7A88
|
|
_021F79F4:
|
|
mov r4, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
blt _021F7A88
|
|
mov r5, #0xd
|
|
mov r6, r4
|
|
_021F7A10:
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
add r0, r0, r4
|
|
ldrb r0, [r0, #0x2d0]
|
|
ldr r1, [r7, #0x1d8]
|
|
tst r1, r6, lsl r0
|
|
bne _021F7A50
|
|
bl ov00_021F955C
|
|
add r0, r0, r4, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
mov r1, r5
|
|
bl ov00_021F75F4
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F7A50:
|
|
add r4, r4, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r4, r0
|
|
ble _021F7A10
|
|
b _021F7A88
|
|
_021F7A68:
|
|
bl ov00_021F955C
|
|
add r0, r0, #0x100
|
|
ldrh r0, [r0, #0xb2]
|
|
cmp r5, r0, asr #31
|
|
cmpeq r4, r0
|
|
bls _021F7A88
|
|
mov r0, #2
|
|
bl ov00_021F6EC4
|
|
_021F7A88:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F7A90: .word 0x000082EA
|
|
_021F7A94: .word 0x00001770
|
|
arm_func_end ov00_021F7898
|
|
|
|
arm_func_start ov00_021F7A98
|
|
ov00_021F7A98: ; 0x021F7A98
|
|
ldr r2, _021F7AD4 ; =_0221A948
|
|
mov r3, #0
|
|
mov r0, #0xc
|
|
_021F7AA4:
|
|
mul r1, r3, r0
|
|
ldrb r1, [r2, r1]
|
|
cmp r1, #0
|
|
addeq r0, r3, #0x64
|
|
andeq r0, r0, #0xff
|
|
bxeq lr
|
|
add r1, r3, #1
|
|
and r3, r1, #0xff
|
|
cmp r3, #0x9a
|
|
blo _021F7AA4
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_021F7AD4: .word _0221A948
|
|
arm_func_end ov00_021F7A98
|
|
|
|
arm_func_start ov00_021F7AD8
|
|
ov00_021F7AD8: ; 0x021F7AD8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r6, #0
|
|
ldr r7, _021F7B28 ; =_0221A948
|
|
mov r5, #4
|
|
mov r4, r6
|
|
_021F7AEC:
|
|
ldr r1, [r7, #4]
|
|
cmp r1, #0
|
|
beq _021F7B04
|
|
mov r0, r5
|
|
mov r2, r4
|
|
bl ov00_021EC2EC
|
|
_021F7B04:
|
|
add r6, r6, #1
|
|
cmp r6, #0x9a
|
|
add r7, r7, #0xc
|
|
blt _021F7AEC
|
|
ldr r1, _021F7B28 ; =_0221A948
|
|
ldr r2, _021F7B2C ; =0x00000738
|
|
mov r0, #0
|
|
bl sub_020D47EC
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F7B28: .word _0221A948
|
|
_021F7B2C: .word 0x00000738
|
|
arm_func_end ov00_021F7AD8
|
|
|
|
arm_func_start ov00_021F7B30
|
|
ov00_021F7B30: ; 0x021F7B30
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, #0
|
|
mov r4, r5
|
|
_021F7B3C:
|
|
mov r6, r4
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x14]
|
|
cmp r0, #0
|
|
blt _021F7B78
|
|
_021F7B50:
|
|
bl ov00_021F955C
|
|
add r0, r0, r6
|
|
ldrb r0, [r0, #0x2d0]
|
|
cmp r5, r0
|
|
beq _021F7B78
|
|
add r6, r6, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x14]
|
|
cmp r6, r0
|
|
ble _021F7B50
|
|
_021F7B78:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x14]
|
|
cmp r6, r0
|
|
bgt _021F7B98
|
|
add r0, r5, #1
|
|
and r5, r0, #0xff
|
|
cmp r5, #0x20
|
|
blo _021F7B3C
|
|
_021F7B98:
|
|
mov r0, r5
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021F7B30
|
|
|
|
arm_func_start ov00_021F7BA0
|
|
ov00_021F7BA0: ; 0x021F7BA0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x2fc]
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r4, #0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x344]
|
|
cmp r0, #0
|
|
ble _021F7C08
|
|
_021F7BD0:
|
|
bl ov00_021F955C
|
|
add r0, r0, r4
|
|
ldrb r0, [r0, #0x304]
|
|
bl ov00_021F03BC
|
|
cmp r0, #0
|
|
ble _021F7BF4
|
|
cmp r0, r5
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
_021F7BF4:
|
|
add r4, r4, #1
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x344]
|
|
cmp r4, r0
|
|
blt _021F7BD0
|
|
_021F7C08:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021F7BA0
|
|
|
|
arm_func_start ov00_021F7C10
|
|
ov00_021F7C10: ; 0x021F7C10
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _021F7CD4 ; =_02217B70
|
|
mvn r2, #0
|
|
mov r4, r0
|
|
bl ov00_02212DB4
|
|
mvn r2, #0
|
|
cmp r0, r2
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r1, _021F7CD8 ; =_02217B7C
|
|
mov r0, r4
|
|
bl ov00_02212DB4
|
|
mvn r2, #0
|
|
cmp r0, r2
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r1, _021F7CDC ; =_02217AB4
|
|
mov r0, r4
|
|
bl ov00_02212DB4
|
|
mvn r2, #0
|
|
cmp r0, r2
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r1, _021F7CE0 ; =_02217AC0
|
|
mov r0, r4
|
|
bl ov00_02212DB4
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
bne _021F7CA0
|
|
ldr r1, _021F7CE0 ; =_02217AC0
|
|
mov r0, r4
|
|
mov r2, #0
|
|
bl ov00_02212DB4
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
_021F7CA0:
|
|
ldr r1, _021F7CE4 ; =_02217ACC
|
|
mov r0, r4
|
|
mvn r2, #0
|
|
bl ov00_02212DB4
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r1, _021F7CE8 ; =_02217AAC
|
|
mov r0, r4
|
|
mov r2, #0
|
|
bl ov00_02212DB4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021F7CD4: .word _02217B70
|
|
_021F7CD8: .word _02217B7C
|
|
_021F7CDC: .word _02217AB4
|
|
_021F7CE0: .word _02217AC0
|
|
_021F7CE4: .word _02217ACC
|
|
_021F7CE8: .word _02217AAC
|
|
arm_func_end ov00_021F7C10
|
|
|
|
arm_func_start ov00_021F7CEC
|
|
ov00_021F7CEC: ; 0x021F7CEC
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
cmp r1, #0
|
|
moveq r4, #1
|
|
mov r5, r0
|
|
movne r4, #0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r4, r0
|
|
bgt _021F7D48
|
|
_021F7D10:
|
|
bl ov00_021F955C
|
|
add r0, r0, r4, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
cmp r5, r0
|
|
bne _021F7D34
|
|
bl ov00_021F955C
|
|
add r0, r0, r4
|
|
ldrb r0, [r0, #0x2d0]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021F7D34:
|
|
add r4, r4, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r4, r0
|
|
ble _021F7D10
|
|
_021F7D48:
|
|
mov r0, #0xff
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021F7CEC
|
|
|
|
arm_func_start ov00_021F7D50
|
|
ov00_021F7D50: ; 0x021F7D50
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
cmp r0, #0
|
|
mov r5, #0
|
|
beq _021F7D70
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x2f0]
|
|
bic r0, r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F7D70:
|
|
mov r6, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
blt _021F7DAC
|
|
mov r4, r6
|
|
_021F7D88:
|
|
bl ov00_021F955C
|
|
add r0, r0, r6
|
|
ldrb r0, [r0, #0x2d0]
|
|
add r6, r6, #1
|
|
orr r5, r5, r4, lsl r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r6, r0
|
|
ble _021F7D88
|
|
_021F7DAC:
|
|
mov r0, r5
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021F7D50
|
|
|
|
arm_func_start ov00_021F7DB4
|
|
ov00_021F7DB4: ; 0x021F7DB4
|
|
stmdb sp!, {r4, lr}
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1ad]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0x1f8]
|
|
str r1, [r4, #0x1fc]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021F7DB4
|
|
|
|
arm_func_start ov00_021F7DDC
|
|
ov00_021F7DDC: ; 0x021F7DDC
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _021F7E48 ; =_0221A928
|
|
mov r4, r0
|
|
ldr r3, [r1]
|
|
cmp r3, #0
|
|
ldrneb r0, [r3]
|
|
cmpne r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r2, #0
|
|
str r2, [r3, #8]
|
|
ldr r0, [r1]
|
|
str r2, [r0, #0xc]
|
|
ldr r0, [r1]
|
|
strb r2, [r0, #2]
|
|
bl sub_020D34B0
|
|
ldr r2, _021F7E48 ; =_0221A928
|
|
cmp r4, #0
|
|
ldr r2, [r2]
|
|
str r0, [r2, #0x18]
|
|
str r1, [r2, #0x1c]
|
|
ldmneia sp!, {r4, pc}
|
|
bl sub_020D34B0
|
|
ldr r2, _021F7E48 ; =_0221A928
|
|
ldr r2, [r2]
|
|
str r0, [r2, #0x10]
|
|
str r1, [r2, #0x14]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021F7E48: .word _0221A928
|
|
arm_func_end ov00_021F7DDC
|
|
|
|
arm_func_start ov00_021F7E4C
|
|
ov00_021F7E4C: ; 0x021F7E4C
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
sub sp, sp, #8
|
|
ldr r0, _021F826C ; =_0221A928
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldrneb r0, [r0]
|
|
cmpne r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0x13
|
|
bne _021F80A8
|
|
mov r0, #0
|
|
bl ov00_021F7D50
|
|
ldr r1, _021F826C ; =_0221A928
|
|
ldr r5, [r1]
|
|
ldr r1, [r5, #8]
|
|
cmp r1, r0
|
|
bne _021F7F80
|
|
ldr r1, [r5, #0xc]
|
|
cmp r1, r0
|
|
bne _021F7F0C
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
strb r0, [r4, #0x16]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0xd]
|
|
mov r0, #0
|
|
sub r1, r1, #1
|
|
strb r1, [r4, #0x1a4]
|
|
bl ov00_021F64C0
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F7F0C:
|
|
bl sub_020D34B0
|
|
str r0, [r5, #0x18]
|
|
str r1, [r5, #0x1c]
|
|
mov r0, #0
|
|
str r0, [r5, #8]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
bne _021F7F60
|
|
mov r0, #3
|
|
bl ov00_021F956C
|
|
bl ov00_021F955C
|
|
mov r1, #2
|
|
str r1, [r0, #0xe8]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0xec]
|
|
add sp, sp, #8
|
|
str r1, [r4, #0xf0]
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F7F60:
|
|
mov r0, #4
|
|
bl ov00_021F956C
|
|
mov r1, #0
|
|
mov r2, r1
|
|
mov r0, #1
|
|
bl ov00_021F5D0C
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F7F80:
|
|
ldrb r4, [r5, #2]
|
|
bl sub_020D34B0
|
|
ldr r3, [r5, #0x18]
|
|
ldr r2, [r5, #0x1c]
|
|
subs r3, r0, r3
|
|
sbc r0, r1, r2
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F8270 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
ldr r2, _021F8274 ; =0x00001770
|
|
mul r2, r4, r2
|
|
cmp r1, r2, asr #31
|
|
cmpeq r0, r2
|
|
addlo sp, sp, #8
|
|
ldmloia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
cmp r4, #5
|
|
bls _021F7FEC
|
|
mov r0, #1
|
|
bl ov00_021F7DDC
|
|
bl ov00_021F7128
|
|
mov r0, #1
|
|
bl ov00_021F6EC4
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F7FEC:
|
|
mov r7, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
blt _021F808C
|
|
ldr r8, _021F826C ; =_0221A928
|
|
mov r5, #0
|
|
mov r4, #0x11
|
|
mov r6, r7
|
|
_021F8010:
|
|
bl ov00_021F955C
|
|
add r0, r0, r7
|
|
ldr r1, [r8]
|
|
ldrb r0, [r0, #0x2d0]
|
|
ldr r1, [r1, #8]
|
|
tst r1, r6, lsl r0
|
|
bne _021F8078
|
|
bl ov00_021F955C
|
|
mov sl, r0
|
|
bl ov00_021F955C
|
|
mov sb, r0
|
|
bl ov00_021F955C
|
|
str r5, [sp]
|
|
str r5, [sp, #4]
|
|
add r0, r0, r7, lsl #1
|
|
add r1, sl, r7, lsl #2
|
|
add r2, sb, r7, lsl #2
|
|
ldrh r3, [r0, #0xa4]
|
|
ldr r1, [r1, #0xf4]
|
|
ldr r2, [r2, #0x24]
|
|
mov r0, r4
|
|
bl ov00_021F4304
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F8078:
|
|
add r7, r7, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r7, r0
|
|
ble _021F8010
|
|
_021F808C:
|
|
ldr r0, _021F826C ; =_0221A928
|
|
add sp, sp, #8
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #2]
|
|
add r0, r0, #1
|
|
strb r0, [r1, #2]
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F80A8:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #4
|
|
beq _021F80CC
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #3
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F80CC:
|
|
ldr r0, _021F826C ; =_0221A928
|
|
ldr r4, [r0]
|
|
bl ov00_021F955C
|
|
ldrb r1, [r4, #1]
|
|
ldrb r2, [r0, #0xd]
|
|
sub r0, r1, #1
|
|
cmp r2, r0
|
|
addlt sp, sp, #8
|
|
ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
ldrb r0, [r4, #2]
|
|
cmp r0, #0
|
|
bne _021F8140
|
|
ldr r0, _021F826C ; =_0221A928
|
|
ldr r4, [r0]
|
|
bl sub_020D34B0
|
|
ldr r3, [r4, #0x10]
|
|
ldr r2, [r4, #0x14]
|
|
subs r3, r0, r3
|
|
sbc r0, r1, r2
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F8270 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
ldr r2, [r4, #4]
|
|
cmp r1, #0
|
|
cmpeq r0, r2
|
|
bhs _021F8198
|
|
_021F8140:
|
|
ldrb r0, [r4, #2]
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
ldr r0, _021F826C ; =_0221A928
|
|
ldr r4, [r0]
|
|
bl sub_020D34B0
|
|
ldr r3, [r4, #0x18]
|
|
ldr r2, [r4, #0x1c]
|
|
subs r3, r0, r3
|
|
sbc r0, r1, r2
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021F8270 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
ldr r2, [r4, #4]
|
|
cmp r1, #0
|
|
cmpeq r0, r2, lsr #2
|
|
addlo sp, sp, #8
|
|
ldmloia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F8198:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x204]
|
|
cmp r0, #0
|
|
beq _021F81C4
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x204]
|
|
bl ov00_021F60AC
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F81C4:
|
|
mov r0, #0x13
|
|
bl ov00_021F956C
|
|
mov r4, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
blt _021F8248
|
|
mov r6, #0
|
|
mov r5, #0x11
|
|
_021F81E8:
|
|
bl ov00_021F955C
|
|
mov r8, r0
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
str r6, [sp]
|
|
str r6, [sp, #4]
|
|
add r0, r0, r4, lsl #1
|
|
add r1, r8, r4, lsl #2
|
|
add r2, r7, r4, lsl #2
|
|
ldrh r3, [r0, #0xa4]
|
|
ldr r1, [r1, #0xf4]
|
|
ldr r2, [r2, #0x24]
|
|
mov r0, r5
|
|
bl ov00_021F4304
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
add r4, r4, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r4, r0
|
|
ble _021F81E8
|
|
_021F8248:
|
|
ldr r0, _021F826C ; =_0221A928
|
|
ldr r4, [r0]
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0x18]
|
|
str r1, [r4, #0x1c]
|
|
mov r0, #1
|
|
strb r0, [r4, #2]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
_021F826C: .word _0221A928
|
|
_021F8270: .word 0x000082EA
|
|
_021F8274: .word 0x00001770
|
|
arm_func_end ov00_021F7E4C
|
|
|
|
arm_func_start ov00_021F8278
|
|
ov00_021F8278: ; 0x021F8278
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
cmp r4, #4
|
|
addls pc, pc, r4, lsl #2
|
|
b _021F82D4
|
|
_021F8294: ; jump table
|
|
b _021F82D4 ; case 0
|
|
b _021F82A8 ; case 1
|
|
b _021F82B4 ; case 2
|
|
b _021F82C0 ; case 3
|
|
b _021F82CC ; case 4
|
|
_021F82A8:
|
|
mov r0, #9
|
|
sub r2, r0, #0xa
|
|
b _021F82D4
|
|
_021F82B4:
|
|
mov r0, #9
|
|
sub r2, r0, #0xb
|
|
b _021F82D4
|
|
_021F82C0:
|
|
mov r0, #6
|
|
sub r2, r0, #0x10
|
|
b _021F82D4
|
|
_021F82CC:
|
|
mov r0, #6
|
|
sub r2, r0, #0x1a
|
|
_021F82D4:
|
|
ldr r1, _021F82E8 ; =0xFFFEC398
|
|
add r1, r2, r1
|
|
bl ov00_021F2EE4
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021F82E8: .word 0xFFFEC398
|
|
arm_func_end ov00_021F8278
|
|
|
|
arm_func_start ov00_021F82EC
|
|
ov00_021F82EC: ; 0x021F82EC
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
cmp r4, #6
|
|
addls pc, pc, r4, lsl #2
|
|
b _021F8368
|
|
_021F8308: ; jump table
|
|
b _021F8368 ; case 0
|
|
b _021F8324 ; case 1
|
|
b _021F8330 ; case 2
|
|
b _021F833C ; case 3
|
|
b _021F8348 ; case 4
|
|
b _021F8354 ; case 5
|
|
b _021F8360 ; case 6
|
|
_021F8324:
|
|
mov r0, #6
|
|
sub r2, r0, #0x38
|
|
b _021F8368
|
|
_021F8330:
|
|
mov r0, #6
|
|
sub r2, r0, #0x24
|
|
b _021F8368
|
|
_021F833C:
|
|
mov r0, #6
|
|
sub r2, r0, #0x1a
|
|
b _021F8368
|
|
_021F8348:
|
|
mov r0, #6
|
|
sub r2, r0, #0x2e
|
|
b _021F8368
|
|
_021F8354:
|
|
mov r0, #9
|
|
sub r2, r0, #0xa
|
|
b _021F8368
|
|
_021F8360:
|
|
mov r0, #9
|
|
sub r2, r0, #0xb
|
|
_021F8368:
|
|
ldr r1, _021F837C ; =0xFFFEB3F8
|
|
add r1, r2, r1
|
|
bl ov00_021F2EE4
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021F837C: .word 0xFFFEB3F8
|
|
arm_func_end ov00_021F82EC
|
|
|
|
arm_func_start ov00_021F8380
|
|
ov00_021F8380: ; 0x021F8380
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
movs r6, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
cmp r6, #5
|
|
addls pc, pc, r6, lsl #2
|
|
b _021F83EC
|
|
_021F839C: ; jump table
|
|
b _021F83EC ; case 0
|
|
b _021F83B4 ; case 1
|
|
b _021F83C0 ; case 2
|
|
b _021F83CC ; case 3
|
|
b _021F83D8 ; case 4
|
|
b _021F83E4 ; case 5
|
|
_021F83B4:
|
|
mov r5, #6
|
|
sub r4, r5, #0x38
|
|
b _021F83EC
|
|
_021F83C0:
|
|
mov r5, #6
|
|
sub r4, r5, #0x42
|
|
b _021F83EC
|
|
_021F83CC:
|
|
mov r5, #6
|
|
sub r4, r5, #0x24
|
|
b _021F83EC
|
|
_021F83D8:
|
|
mov r5, #6
|
|
sub r4, r5, #0x56
|
|
b _021F83EC
|
|
_021F83E4:
|
|
mov r5, #6
|
|
sub r4, r5, #0x1a
|
|
_021F83EC:
|
|
bl ov00_021EE568
|
|
cmp r0, #2
|
|
beq _021F840C
|
|
cmp r0, #4
|
|
beq _021F841C
|
|
cmp r0, #5
|
|
beq _021F8430
|
|
b _021F8444
|
|
_021F840C:
|
|
mov r0, r5
|
|
sub r1, r4, #0xfa00
|
|
bl ov00_021EF3C0
|
|
b _021F8454
|
|
_021F841C:
|
|
ldr r1, _021F845C ; =0xFFFEDEF0
|
|
mov r0, r5
|
|
add r1, r4, r1
|
|
bl ov00_021F0238
|
|
b _021F8454
|
|
_021F8430:
|
|
ldr r1, _021F8460 ; =0xFFFEB7E0
|
|
mov r0, r5
|
|
add r1, r4, r1
|
|
bl ov00_021F2EE4
|
|
b _021F8454
|
|
_021F8444:
|
|
ldr r1, _021F8464 ; =0xFFFE90D0
|
|
mov r0, r5
|
|
add r1, r4, r1
|
|
bl ov00_021EC24C
|
|
_021F8454:
|
|
mov r0, r6
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021F845C: .word 0xFFFEDEF0
|
|
_021F8460: .word 0xFFFEB7E0
|
|
_021F8464: .word 0xFFFE90D0
|
|
arm_func_end ov00_021F8380
|
|
|
|
arm_func_start ov00_021F8468
|
|
ov00_021F8468: ; 0x021F8468
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
cmp r4, #1
|
|
beq _021F8498
|
|
cmp r4, #2
|
|
beq _021F84A4
|
|
cmp r4, #3
|
|
moveq r0, #6
|
|
subeq r2, r0, #0x24
|
|
b _021F84AC
|
|
_021F8498:
|
|
mov r0, #9
|
|
sub r2, r0, #0xa
|
|
b _021F84AC
|
|
_021F84A4:
|
|
mov r0, #6
|
|
sub r2, r0, #0x38
|
|
_021F84AC:
|
|
ldr r1, _021F84C0 ; =0xFFFEB010
|
|
add r1, r2, r1
|
|
bl ov00_021F2EE4
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021F84C0: .word 0xFFFEB010
|
|
arm_func_end ov00_021F8468
|
|
|
|
arm_func_start ov00_021F84C4
|
|
ov00_021F84C4: ; 0x021F84C4
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
cmp r4, #1
|
|
beq _021F84E8
|
|
cmp r4, #2
|
|
beq _021F84F0
|
|
b _021F84F8
|
|
_021F84E8:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
_021F84F0:
|
|
mov r0, #2
|
|
ldmia sp!, {r4, pc}
|
|
_021F84F8:
|
|
movs r0, #6
|
|
beq _021F8508
|
|
ldr r1, _021F8510 ; =0xFFFEB007
|
|
bl ov00_021F2EE4
|
|
_021F8508:
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021F8510: .word 0xFFFEB007
|
|
arm_func_end ov00_021F84C4
|
|
|
|
arm_func_start ov00_021F8514
|
|
ov00_021F8514: ; 0x021F8514
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
cmp r4, #7
|
|
addls pc, pc, r4, lsl #2
|
|
b _021F8598
|
|
_021F8530: ; jump table
|
|
b _021F8598 ; case 0
|
|
b _021F8550 ; case 1
|
|
b _021F855C ; case 2
|
|
b _021F856C ; case 3
|
|
b _021F8578 ; case 4
|
|
b _021F855C ; case 5
|
|
b _021F8584 ; case 6
|
|
b _021F8590 ; case 7
|
|
_021F8550:
|
|
mov r0, #9
|
|
sub r2, r0, #0xa
|
|
b _021F8598
|
|
_021F855C:
|
|
mov r0, #0
|
|
mov r2, r0
|
|
mov r4, r0
|
|
b _021F8598
|
|
_021F856C:
|
|
mov r0, #6
|
|
sub r2, r0, #0x10
|
|
b _021F8598
|
|
_021F8578:
|
|
mov r0, #6
|
|
sub r2, r0, #0x24
|
|
b _021F8598
|
|
_021F8584:
|
|
mov r0, #6
|
|
sub r2, r0, #0x4c
|
|
b _021F8598
|
|
_021F8590:
|
|
mov r0, #6
|
|
sub r2, r0, #0x56
|
|
_021F8598:
|
|
cmp r0, #0
|
|
beq _021F85AC
|
|
ldr r1, _021F85B4 ; =0xFFFEAC28
|
|
add r1, r2, r1
|
|
bl ov00_021F2EE4
|
|
_021F85AC:
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021F85B4: .word 0xFFFEAC28
|
|
arm_func_end ov00_021F8514
|
|
|
|
arm_func_start ov00_021F85B8
|
|
ov00_021F85B8: ; 0x021F85B8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
ldr r3, _021F89C0 ; =_0221A928
|
|
mov r6, r0
|
|
ldr r0, [r3, #0x18]
|
|
mov r5, r1
|
|
add r0, r0, #1
|
|
str r0, [r3, #0x18]
|
|
mov r4, r2
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x178]
|
|
ldr r0, [r0, #0x174]
|
|
cmp r1, #0
|
|
cmpeq r0, #0
|
|
beq _021F8630
|
|
sub r0, r5, #4
|
|
cmp r0, #1
|
|
bhi _021F8610
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x174]
|
|
str r1, [r0, #0x178]
|
|
b _021F8630
|
|
_021F8610:
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
bl sub_020D34B0
|
|
ldr r2, _021F89C4 ; =0x00EFB5F7
|
|
adds r0, r0, r2
|
|
str r0, [r7, #0x174]
|
|
adc r0, r1, #0
|
|
str r0, [r7, #0x178]
|
|
_021F8630:
|
|
cmp r5, #0
|
|
beq _021F8648
|
|
cmp r5, #4
|
|
beq _021F8654
|
|
cmp r5, #5
|
|
b _021F89AC
|
|
_021F8648:
|
|
mov r0, r4
|
|
bl ov00_021F89CC
|
|
b _021F89AC
|
|
_021F8654:
|
|
mov r0, r6
|
|
mov r5, #0
|
|
bl ov00_022139C8
|
|
cmp r0, #0
|
|
ble _021F86A8
|
|
_021F8668:
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov00_022139B8
|
|
mov r4, r0
|
|
bl ov00_021F7C10
|
|
cmp r0, #0
|
|
bne _021F8694
|
|
mov r0, r6
|
|
mov r1, r4
|
|
bl ov00_0221390C
|
|
sub r5, r5, #1
|
|
_021F8694:
|
|
mov r0, r6
|
|
add r5, r5, #1
|
|
bl ov00_022139C8
|
|
cmp r5, r0
|
|
blt _021F8668
|
|
_021F86A8:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #2
|
|
beq _021F86CC
|
|
cmp r0, #3
|
|
beq _021F87B8
|
|
cmp r0, #5
|
|
beq _021F8828
|
|
b _021F89AC
|
|
_021F86CC:
|
|
mov r0, r6
|
|
mov r5, #0
|
|
bl ov00_022139C8
|
|
cmp r0, #0
|
|
ble _021F875C
|
|
_021F86E0:
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov00_022139B8
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1c]
|
|
cmp r0, #0
|
|
beq _021F8748
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
mov r0, r4
|
|
bl ov00_02212E78
|
|
ldr r1, [r7, #0x1c]
|
|
cmp r1, r0
|
|
bne _021F8748
|
|
bl ov00_021F955C
|
|
ldrh r0, [r0, #0x1a]
|
|
cmp r0, #0
|
|
beq _021F8748
|
|
bl ov00_021F955C
|
|
mov r7, r0
|
|
mov r0, r4
|
|
bl ov00_02212E80
|
|
ldrh r1, [r7, #0x1a]
|
|
cmp r1, r0
|
|
beq _021F875C
|
|
_021F8748:
|
|
mov r0, r6
|
|
add r5, r5, #1
|
|
bl ov00_022139C8
|
|
cmp r5, r0
|
|
blt _021F86E0
|
|
_021F875C:
|
|
mov r0, r6
|
|
bl ov00_022139C8
|
|
cmp r5, r0
|
|
bge _021F8794
|
|
mov r0, #3
|
|
bl ov00_021F956C
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x204]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x204]
|
|
bl ov00_021F3CF8
|
|
bl ov00_021F82EC
|
|
b _021F89AC
|
|
_021F8794:
|
|
bl ov00_021F955C
|
|
mov r1, #2
|
|
str r1, [r0, #0xe8]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0xec]
|
|
str r1, [r4, #0xf0]
|
|
b _021F89AC
|
|
_021F87B8:
|
|
mov r0, #1
|
|
bl ov00_021F89D0
|
|
bl ov00_021F8BA8
|
|
mov r0, r6
|
|
bl ov00_022139C8
|
|
cmp r0, #0
|
|
beq _021F8804
|
|
mov r0, #0
|
|
mov r1, r0
|
|
bl ov00_021F5B5C
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
bne _021F89AC
|
|
mov r0, #4
|
|
bl ov00_021F956C
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0xe8]
|
|
b _021F89AC
|
|
_021F8804:
|
|
bl ov00_021F955C
|
|
mov r1, #2
|
|
str r1, [r0, #0xe8]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0xec]
|
|
str r1, [r4, #0xf0]
|
|
b _021F89AC
|
|
_021F8828:
|
|
mov r0, r6
|
|
bl ov00_022139C8
|
|
cmp r0, #0
|
|
beq _021F88A0
|
|
mov r4, #0
|
|
_021F883C:
|
|
mov r0, r6
|
|
mov r1, r4
|
|
bl ov00_022139B8
|
|
mov r5, r0
|
|
bl ov00_02212E78
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1b8]
|
|
cmp r7, r0
|
|
bne _021F8884
|
|
mov r0, r5
|
|
bl ov00_02212E80
|
|
mov r7, r0
|
|
bl ov00_021F955C
|
|
add r0, r0, #0x100
|
|
ldrh r0, [r0, #0xb4]
|
|
cmp r7, r0
|
|
beq _021F88A0
|
|
_021F8884:
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov00_0221390C
|
|
mov r0, r6
|
|
bl ov00_022139C8
|
|
cmp r0, #0
|
|
bne _021F883C
|
|
_021F88A0:
|
|
mov r0, r6
|
|
bl ov00_022139C8
|
|
cmp r0, #0
|
|
beq _021F898C
|
|
mov r0, r6
|
|
mov r1, #0
|
|
bl ov00_022139B8
|
|
ldr r1, _021F89C8 ; =_02217AAC
|
|
mov r2, #0
|
|
bl ov00_02212DB4
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #1
|
|
bne _021F8960
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
cmp r4, r0
|
|
bne _021F8960
|
|
mov r0, #0
|
|
bl ov00_021F89D0
|
|
cmp r0, #0
|
|
beq _021F8920
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #0
|
|
beq _021F8960
|
|
bl ov00_021F63DC
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
bne _021F89AC
|
|
b _021F8960
|
|
_021F8920:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xf4]
|
|
bl ov00_021F60AC
|
|
bl ov00_021F5B30
|
|
cmp r0, #0
|
|
bne _021F89AC
|
|
mov r0, #4
|
|
bl ov00_021F956C
|
|
bl ov00_021F955C
|
|
mov r1, r0
|
|
mov r0, #0
|
|
ldr r2, [r1, #0xf4]
|
|
mov r1, r0
|
|
bl ov00_021F5D0C
|
|
bl ov00_021F5B30
|
|
b _021F89AC
|
|
_021F8960:
|
|
mov r0, #6
|
|
bl ov00_021F956C
|
|
mov r0, r6
|
|
mov r1, #0
|
|
bl ov00_022139B8
|
|
mov r2, r0
|
|
mov r0, #0
|
|
mov r1, r0
|
|
bl ov00_021F3F5C
|
|
bl ov00_021F8468
|
|
b _021F89AC
|
|
_021F898C:
|
|
bl ov00_021F955C
|
|
mov r1, #2
|
|
str r1, [r0, #0xe8]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0xec]
|
|
str r1, [r4, #0xf0]
|
|
_021F89AC:
|
|
ldr r0, _021F89C0 ; =_0221A928
|
|
ldr r1, [r0, #0x18]
|
|
sub r1, r1, #1
|
|
str r1, [r0, #0x18]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F89C0: .word _0221A928
|
|
_021F89C4: .word 0x00EFB5F7
|
|
_021F89C8: .word _02217AAC
|
|
arm_func_end ov00_021F85B8
|
|
|
|
arm_func_start ov00_021F89CC
|
|
ov00_021F89CC: ; 0x021F89CC
|
|
bx lr
|
|
arm_func_end ov00_021F89CC
|
|
|
|
arm_func_start ov00_021F89D0
|
|
ov00_021F89D0: ; 0x021F89D0
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
mov r4, #0
|
|
mov sl, r0
|
|
mov r7, r4
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_022139C8
|
|
cmp r0, #0
|
|
ble _021F8B40
|
|
_021F89F4:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
mov r1, r7
|
|
bl ov00_022139B8
|
|
mov sb, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #0
|
|
bne _021F8A90
|
|
ldr r1, _021F8B9C ; =_02217AAC
|
|
mov r0, sb
|
|
mov r2, #0
|
|
bl ov00_02212DB4
|
|
mov r6, r0
|
|
mov r5, #0
|
|
mov r8, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #1
|
|
blt _021F8A88
|
|
_021F8A44:
|
|
bl ov00_021F955C
|
|
add r0, r0, r8, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
cmp r6, r0
|
|
bne _021F8A74
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
mov r1, sb
|
|
bl ov00_0221390C
|
|
sub r7, r7, #1
|
|
mov r5, #1
|
|
b _021F8A88
|
|
_021F8A74:
|
|
add r8, r8, #1
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r8, r0
|
|
ble _021F8A44
|
|
_021F8A88:
|
|
cmp r5, #0
|
|
bne _021F8B28
|
|
_021F8A90:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x474]
|
|
cmp r0, #0
|
|
beq _021F8B10
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x478]
|
|
ldr r2, [r5, #0x474]
|
|
mov r0, r7
|
|
blx r2
|
|
mov r5, r0
|
|
cmp r5, #0
|
|
ble _021F8AF4
|
|
ldr r0, _021F8BA0 ; =0x007FFFFF
|
|
cmp r5, r0
|
|
movgt r5, r0
|
|
mov r0, #0x100
|
|
bl ov00_021ED5E4
|
|
mov r2, r0
|
|
ldr r1, _021F8BA4 ; =_02217AD8
|
|
mov r0, sb
|
|
orr r2, r2, r5, lsl #8
|
|
bl ov00_02212D10
|
|
b _021F8B28
|
|
_021F8AF4:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
mov r1, sb
|
|
bl ov00_0221390C
|
|
sub r7, r7, #1
|
|
mov r4, #1
|
|
b _021F8B28
|
|
_021F8B10:
|
|
mov r0, #0x80
|
|
bl ov00_021ED5E4
|
|
mov r2, r0
|
|
ldr r1, _021F8BA4 ; =_02217AD8
|
|
mov r0, sb
|
|
bl ov00_02212D10
|
|
_021F8B28:
|
|
add r7, r7, #1
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_022139C8
|
|
cmp r7, r0
|
|
blt _021F89F4
|
|
_021F8B40:
|
|
cmp sl, #0
|
|
beq _021F8B74
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_022139C8
|
|
cmp r0, #0
|
|
beq _021F8B74
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
ldr r0, [r0, #0xe4]
|
|
ldr r2, _021F8BA4 ; =_02217AD8
|
|
mov r3, r1
|
|
bl ov00_022139D8
|
|
_021F8B74:
|
|
cmp r4, #0
|
|
beq _021F8B94
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_022139C8
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021F8B94:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
_021F8B9C: .word _02217AAC
|
|
_021F8BA0: .word 0x007FFFFF
|
|
_021F8BA4: .word _02217AD8
|
|
arm_func_end ov00_021F89D0
|
|
|
|
arm_func_start ov00_021F8BA8
|
|
ov00_021F8BA8: ; 0x021F8BA8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x18
|
|
mov r7, #0
|
|
mov r8, r7
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_022139C8
|
|
cmp r0, #1
|
|
addle sp, sp, #0x18
|
|
ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
mov sb, r7
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_022139C8
|
|
cmp r0, #0
|
|
ble _021F8C38
|
|
ldr r4, _021F8D10 ; =_02216040
|
|
ldr r6, _021F8D14 ; =_02217AD8
|
|
mvn r5, #0
|
|
_021F8BF4:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
mov r1, sb
|
|
bl ov00_022139B8
|
|
mov r1, r6
|
|
mov r2, r5
|
|
bl ov00_02212DB4
|
|
cmp r0, r7
|
|
movgt r7, r0
|
|
ldr r0, [r4, sb, lsl #2]
|
|
add sb, sb, #1
|
|
add r8, r8, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_022139C8
|
|
cmp sb, r0
|
|
blt _021F8BF4
|
|
_021F8C38:
|
|
mov r0, #0x64
|
|
bl ov00_021ED5E4
|
|
mov r6, r0
|
|
mov sb, #0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_022139C8
|
|
cmp r0, #0
|
|
ble _021F8CC8
|
|
ldr r4, _021F8D10 ; =_02216040
|
|
add r5, sp, #0
|
|
mov fp, #0x64
|
|
_021F8C68:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_022139C8
|
|
sub r0, r0, #1
|
|
cmp sb, r0
|
|
beq _021F8CC8
|
|
ldr r2, [r4, sb, lsl #2]
|
|
cmp sb, #0
|
|
addgt r0, r5, sb, lsl #2
|
|
ldrgt sl, [r0, #-4]
|
|
mul r0, r2, fp
|
|
movle sl, #0
|
|
mov r1, r8
|
|
bl sub_020F2998
|
|
add r0, r0, sl
|
|
str r0, [r5, sb, lsl #2]
|
|
cmp r6, r0
|
|
blo _021F8CC8
|
|
add sb, sb, #1
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
bl ov00_022139C8
|
|
cmp sb, r0
|
|
blt _021F8C68
|
|
_021F8CC8:
|
|
mvn r0, #0x80000000
|
|
cmp r7, r0
|
|
addlt r7, r7, #1
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0xe4]
|
|
mov r1, sb
|
|
bl ov00_022139B8
|
|
ldr r1, _021F8D14 ; =_02217AD8
|
|
mov r2, r7
|
|
bl ov00_02212D10
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
ldr r0, [r0, #0xe4]
|
|
ldr r2, _021F8D14 ; =_02217AD8
|
|
mov r3, r1
|
|
bl ov00_022139D8
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021F8D10: .word _02216040
|
|
_021F8D14: .word _02217AD8
|
|
arm_func_end ov00_021F8BA8
|
|
|
|
arm_func_start ov00_021F8D18
|
|
ov00_021F8D18: ; 0x021F8D18
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r1
|
|
cmp r0, #0x32
|
|
bgt _021F8D4C
|
|
bge _021F8D94
|
|
cmp r0, #0xa
|
|
bgt _021F8DF0
|
|
cmp r0, #8
|
|
blt _021F8DF0
|
|
beq _021F8D6C
|
|
cmp r0, #0xa
|
|
beq _021F8D80
|
|
b _021F8DF0
|
|
_021F8D4C:
|
|
sub r1, r0, #0x33
|
|
cmp r1, #3
|
|
addls pc, pc, r1, lsl #2
|
|
b _021F8DF0
|
|
_021F8D5C: ; jump table
|
|
b _021F8DA8 ; case 0
|
|
b _021F8DBC ; case 1
|
|
b _021F8DD0 ; case 2
|
|
b _021F8DE0 ; case 3
|
|
_021F8D6C:
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x14]
|
|
mov r0, r4
|
|
bl ov00_02210DC8
|
|
ldmia sp!, {r4, pc}
|
|
_021F8D80:
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x16]
|
|
mov r0, r4
|
|
bl ov00_02210DC8
|
|
ldmia sp!, {r4, pc}
|
|
_021F8D94:
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x200]
|
|
mov r0, r4
|
|
bl ov00_02210DC8
|
|
ldmia sp!, {r4, pc}
|
|
_021F8DA8:
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x15]
|
|
mov r0, r4
|
|
bl ov00_02210DC8
|
|
ldmia sp!, {r4, pc}
|
|
_021F8DBC:
|
|
bl ov00_021F955C
|
|
ldr r1, [r0, #0x20]
|
|
mov r0, r4
|
|
bl ov00_02210DC8
|
|
ldmia sp!, {r4, pc}
|
|
_021F8DD0:
|
|
mov r0, r4
|
|
mov r1, #3
|
|
bl ov00_02210DC8
|
|
ldmia sp!, {r4, pc}
|
|
_021F8DE0:
|
|
mov r0, r4
|
|
mov r1, #1
|
|
bl ov00_02210DC8
|
|
ldmia sp!, {r4, pc}
|
|
_021F8DF0:
|
|
subs r1, r0, #0x64
|
|
ldmmiia sp!, {r4, pc}
|
|
cmp r1, #0x9a
|
|
ldmgeia sp!, {r4, pc}
|
|
mov r0, #0xc
|
|
mul r2, r1, r0
|
|
ldr r0, _021F8E54 ; =_0221A948
|
|
ldrb r0, [r0, r2]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, _021F8E58 ; =_0221A949
|
|
ldrb r0, [r0, r2]
|
|
cmp r0, #0
|
|
beq _021F8E3C
|
|
ldr r1, _021F8E5C ; =_0221A950
|
|
mov r0, r4
|
|
ldr r1, [r1, r2]
|
|
bl ov00_02210DFC
|
|
ldmia sp!, {r4, pc}
|
|
_021F8E3C:
|
|
ldr r1, _021F8E5C ; =_0221A950
|
|
mov r0, r4
|
|
ldr r1, [r1, r2]
|
|
ldr r1, [r1]
|
|
bl ov00_02210DC8
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021F8E54: .word _0221A948
|
|
_021F8E58: .word _0221A949
|
|
_021F8E5C: .word _0221A950
|
|
arm_func_end ov00_021F8D18
|
|
|
|
arm_func_start ov00_021F8E60
|
|
ov00_021F8E60: ; 0x021F8E60
|
|
bx lr
|
|
arm_func_end ov00_021F8E60
|
|
|
|
arm_func_start ov00_021F8E64
|
|
ov00_021F8E64: ; 0x021F8E64
|
|
bx lr
|
|
arm_func_end ov00_021F8E64
|
|
|
|
arm_func_start ov00_021F8E68
|
|
ov00_021F8E68: ; 0x021F8E68
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r1
|
|
cmp r0, #0
|
|
beq _021F8E84
|
|
cmp r0, #1
|
|
cmpne r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F8E84:
|
|
mov r0, r6
|
|
mov r1, #8
|
|
bl ov00_02210D9C
|
|
mov r0, r6
|
|
mov r1, #0xa
|
|
bl ov00_02210D9C
|
|
mov r0, r6
|
|
mov r1, #0x32
|
|
bl ov00_02210D9C
|
|
mov r0, r6
|
|
mov r1, #0x33
|
|
bl ov00_02210D9C
|
|
mov r0, r6
|
|
mov r1, #0x34
|
|
bl ov00_02210D9C
|
|
mov r0, r6
|
|
mov r1, #0x35
|
|
bl ov00_02210D9C
|
|
mov r0, r6
|
|
mov r1, #0x36
|
|
bl ov00_02210D9C
|
|
ldr r5, _021F8F08 ; =_0221A948
|
|
mov r4, #0
|
|
_021F8EE0:
|
|
ldrb r1, [r5]
|
|
cmp r1, #0
|
|
beq _021F8EF4
|
|
mov r0, r6
|
|
bl ov00_02210D9C
|
|
_021F8EF4:
|
|
add r4, r4, #1
|
|
cmp r4, #0x9a
|
|
add r5, r5, #0xc
|
|
blt _021F8EE0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021F8F08: .word _0221A948
|
|
arm_func_end ov00_021F8E68
|
|
|
|
arm_func_start ov00_021F8F0C
|
|
ov00_021F8F0C: ; 0x021F8F0C
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end ov00_021F8F0C
|
|
|
|
arm_func_start ov00_021F8F14
|
|
ov00_021F8F14: ; 0x021F8F14
|
|
ldr ip, _021F8F1C ; =ov00_021F8380
|
|
bx ip
|
|
.align 2, 0
|
|
_021F8F1C: .word ov00_021F8380
|
|
arm_func_end ov00_021F8F14
|
|
|
|
arm_func_start ov00_021F8F20
|
|
ov00_021F8F20: ; 0x021F8F20
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl ov00_021F955C
|
|
str r5, [r0, #0x1c]
|
|
bl ov00_021F955C
|
|
strh r4, [r0, #0x1a]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021F8F20
|
|
|
|
arm_func_start ov00_021F8F40
|
|
ov00_021F8F40: ; 0x021F8F40
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #1
|
|
bne _021F8F64
|
|
mov r0, #6
|
|
bl ov00_021F956C
|
|
b _021F8F84
|
|
_021F8F64:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #6
|
|
beq _021F8F84
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xb
|
|
ldmneia sp!, {r4, pc}
|
|
_021F8F84:
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x180]
|
|
cmp r4, r0
|
|
bne _021F8FA8
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x17c]
|
|
add r1, r1, #1
|
|
strb r1, [r0, #0x17c]
|
|
b _021F8FBC
|
|
_021F8FA8:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x17c]
|
|
bl ov00_021F955C
|
|
str r4, [r0, #0x180]
|
|
_021F8FBC:
|
|
bl ov00_021F955C
|
|
mov r2, #0
|
|
str r2, [r0, #0x184]
|
|
str r2, [r0, #0x188]
|
|
mov r1, r4
|
|
mov r0, #1
|
|
bl ov00_021F3F5C
|
|
bl ov00_021F8468
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
bl ov00_021F955C
|
|
mov r1, #0xff
|
|
strb r1, [r0, #0x3cc]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021F8F40
|
|
|
|
arm_func_start ov00_021F8FF4
|
|
ov00_021F8FF4: ; 0x021F8FF4
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x9c
|
|
mov sl, r0
|
|
mov sb, r1
|
|
mov r8, #0
|
|
bl ov00_021EE568
|
|
cmp r0, #5
|
|
beq _021F9048
|
|
bl ov00_021EE568
|
|
cmp r0, #6
|
|
addne sp, sp, #0x9c
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
beq _021F9048
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
addne sp, sp, #0x9c
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021F9048:
|
|
cmp sb, #0x14
|
|
addlo sp, sp, #0x9c
|
|
ldmloia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r5, _021F90FC ; =_02217B54
|
|
add r4, sp, #0x1c
|
|
add r7, sp, #8
|
|
mov r6, #0x14
|
|
mov fp, #4
|
|
_021F9068:
|
|
mov r0, sl
|
|
mov r1, r7
|
|
mov r2, r6
|
|
bl sub_020D4A50
|
|
mov r0, r7
|
|
mov r1, r5
|
|
mov r2, fp
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
ldreq r0, [sp, #0xc]
|
|
cmpeq r0, #3
|
|
addne sp, sp, #0x9c
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldrb r2, [sp, #0x11]
|
|
mov r1, r4
|
|
add r0, sl, #0x14
|
|
bl sub_020D4A50
|
|
str r4, [sp]
|
|
ldrb r0, [sp, #0x11]
|
|
mov r0, r0, asr #2
|
|
str r0, [sp, #4]
|
|
ldrb r0, [sp, #0x10]
|
|
ldrh r3, [sp, #0x12]
|
|
ldr r1, [sp, #0x18]
|
|
ldr r2, [sp, #0x14]
|
|
bl ov00_021F4740
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x9c
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldrb r0, [sp, #0x11]
|
|
add r0, r0, #0x14
|
|
add r8, r8, r0
|
|
add r0, r8, #0x14
|
|
cmp r0, sb
|
|
bls _021F9068
|
|
add sp, sp, #0x9c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021F90FC: .word _02217B54
|
|
arm_func_end ov00_021F8FF4
|
|
|
|
arm_func_start ov00_021F9100
|
|
ov00_021F9100: ; 0x021F9100
|
|
bx lr
|
|
arm_func_end ov00_021F9100
|
|
|
|
arm_func_start ov00_021F9104
|
|
ov00_021F9104: ; 0x021F9104
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x1c
|
|
mov r5, r0
|
|
mov r6, r2
|
|
mov r4, r3
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #6
|
|
beq _021F913C
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xb
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
_021F913C:
|
|
cmp r4, #0
|
|
addeq sp, sp, #0x1c
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
cmp r5, #0
|
|
bne _021F9338
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x14]
|
|
add r1, r1, #1
|
|
strb r1, [r0, #0x14]
|
|
bl ov00_021F955C
|
|
ldrb r1, [r4]
|
|
ldrb r5, [r0, #0x14]
|
|
cmp r1, #0
|
|
beq _021F92D0
|
|
bl ov00_021F955C
|
|
ldr r1, [r6, #4]
|
|
add r0, r0, r5, lsl #2
|
|
str r1, [r0, #0x210]
|
|
ldrh r4, [r6, #2]
|
|
bl ov00_021F955C
|
|
mov r2, r4, asr #8
|
|
mov r1, r4, lsl #8
|
|
add r0, r0, r5, lsl #1
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
orr r1, r2, r1
|
|
add r0, r0, #0x200
|
|
strh r1, [r0, #0x90]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x17c]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x180]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x184]
|
|
str r1, [r0, #0x188]
|
|
bl ov00_021F955C
|
|
ldr r0, [r0, #0x1a0]
|
|
cmp r0, #0xb
|
|
bne _021F91F8
|
|
mov r0, #0xc
|
|
bl ov00_021F956C
|
|
b _021F9200
|
|
_021F91F8:
|
|
mov r0, #7
|
|
bl ov00_021F956C
|
|
_021F9200:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0xc]
|
|
bl ov00_021F955C
|
|
ldr r3, [r0, #0x200]
|
|
ldr r2, _021F94D4 ; =_02217A64
|
|
add r0, sp, #0x10
|
|
mov r1, #0xc
|
|
bl sub_020D168C
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
add r1, r6, r5, lsl #2
|
|
mov r2, r0
|
|
ldr r0, [r1, #0x210]
|
|
add r1, r2, r5, lsl #1
|
|
add r1, r1, #0x200
|
|
ldrh r1, [r1, #0x90]
|
|
mov r2, #0
|
|
bl ov00_0220F724
|
|
mov r6, r0
|
|
bl ov00_021F955C
|
|
mvn r1, #0
|
|
str r1, [sp]
|
|
ldr r3, _021F94D8 ; =0x00001388
|
|
mov r1, #0
|
|
str r3, [sp, #4]
|
|
ldr r0, [r0, #8]
|
|
mov r2, r6
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r4, #4]
|
|
add r3, sp, #0x10
|
|
ldr r0, [r0]
|
|
bl ov00_0220D018
|
|
cmp r0, #1
|
|
bne _021F92A8
|
|
bl ov00_021F8514
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_021F92A8:
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x1c
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
bl ov00_021F955C
|
|
add r0, r0, r5, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
bl ov00_021F6100
|
|
add sp, sp, #0x1c
|
|
cmp r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_021F92D0:
|
|
cmp r6, #0
|
|
beq _021F9314
|
|
sub r5, r5, #1
|
|
bl ov00_021F955C
|
|
ldr r1, [r6, #4]
|
|
add r0, r0, r5, lsl #2
|
|
str r1, [r0, #0x210]
|
|
ldrh r4, [r6, #2]
|
|
bl ov00_021F955C
|
|
mov r2, r4, asr #8
|
|
mov r1, r4, lsl #8
|
|
add r0, r0, r5, lsl #1
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
orr r1, r2, r1
|
|
add r0, r0, #0x200
|
|
strh r1, [r0, #0x90]
|
|
_021F9314:
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0x18c]
|
|
mov r0, #7
|
|
str r1, [r4, #0x190]
|
|
bl ov00_021F956C
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_021F9338:
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x1c
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
mov r0, r5
|
|
bl ov00_021F84C4
|
|
mov r6, r0
|
|
cmp r6, #2
|
|
cmpne r6, #1
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
ldrb r0, [r4]
|
|
cmp r0, #0
|
|
bne _021F93F0
|
|
cmp r6, #1
|
|
beq _021F938C
|
|
cmp r6, #2
|
|
bne _021F93CC
|
|
ldrb r0, [r4, #1]
|
|
cmp r0, #1
|
|
blo _021F93CC
|
|
_021F938C:
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
bl ov00_021F94DC
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x1c
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
bl ov00_021F631C
|
|
add sp, sp, #0x1c
|
|
cmp r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_021F93CC:
|
|
ldrb r1, [r4, #1]
|
|
mov r0, r4
|
|
add r1, r1, #1
|
|
strb r1, [r4, #1]
|
|
bl ov00_021F4248
|
|
bl ov00_021F8468
|
|
add sp, sp, #0x1c
|
|
cmp r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_021F93F0:
|
|
bl ov00_021F955C
|
|
mov r5, r0
|
|
bl sub_020D34B0
|
|
str r0, [r5, #0x184]
|
|
str r1, [r5, #0x188]
|
|
cmp r6, #1
|
|
beq _021F942C
|
|
cmp r6, #2
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x17c]
|
|
cmp r0, #1
|
|
addlo sp, sp, #0x1c
|
|
ldmloia sp!, {r3, r4, r5, r6, pc}
|
|
_021F942C:
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
beq _021F9454
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #2
|
|
bne _021F946C
|
|
_021F9454:
|
|
mov r0, #1
|
|
bl ov00_021F94DC
|
|
cmp r0, #0
|
|
bne _021F9480
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_021F946C:
|
|
mov r0, #0
|
|
bl ov00_021F94DC
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x1c
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
_021F9480:
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
strb r1, [r0, #0x17c]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x180]
|
|
bl ov00_021F955C
|
|
mov r1, #0
|
|
str r1, [r0, #0x184]
|
|
str r1, [r0, #0x188]
|
|
bl ov00_021F955C
|
|
mov r4, r0
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0xd]
|
|
add r0, r0, #1
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0xf4]
|
|
bl ov00_021F6100
|
|
cmp r0, #0
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021F94D4: .word _02217A64
|
|
_021F94D8: .word 0x00001388
|
|
arm_func_end ov00_021F9104
|
|
|
|
arm_func_start ov00_021F94DC
|
|
ov00_021F94DC: ; 0x021F94DC
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, pc}
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
beq _021F950C
|
|
bl ov00_021F955C
|
|
ldrb r1, [r0, #0x17d]
|
|
add r1, r1, #1
|
|
strb r1, [r0, #0x17d]
|
|
_021F950C:
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x15]
|
|
cmp r0, #3
|
|
beq _021F952C
|
|
bl ov00_021F955C
|
|
ldrb r0, [r0, #0x17d]
|
|
cmp r0, #5
|
|
blo _021F9540
|
|
_021F952C:
|
|
ldr r1, _021F9548 ; =0xFFFEAE6C
|
|
mov r0, #6
|
|
bl ov00_021F2EE4
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_021F9540:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021F9548: .word 0xFFFEAE6C
|
|
arm_func_end ov00_021F94DC
|
|
|
|
arm_func_start ov00_021F954C
|
|
ov00_021F954C: ; 0x021F954C
|
|
ldr r1, _021F9558 ; =_0221A928
|
|
str r0, [r1, #4]
|
|
bx lr
|
|
.align 2, 0
|
|
_021F9558: .word _0221A928
|
|
arm_func_end ov00_021F954C
|
|
|
|
arm_func_start ov00_021F955C
|
|
ov00_021F955C: ; 0x021F955C
|
|
ldr r0, _021F9568 ; =_0221A928
|
|
ldr r0, [r0, #4]
|
|
bx lr
|
|
.align 2, 0
|
|
_021F9568: .word _0221A928
|
|
arm_func_end ov00_021F955C
|
|
|
|
arm_func_start ov00_021F956C
|
|
ov00_021F956C: ; 0x021F956C
|
|
ldr r1, _021F957C ; =_0221A928
|
|
ldr r1, [r1, #4]
|
|
str r0, [r1, #0x1a0]
|
|
bx lr
|
|
.align 2, 0
|
|
_021F957C: .word _0221A928
|
|
arm_func_end ov00_021F956C
|
|
|
|
arm_func_start ov00_021F9580
|
|
ov00_021F9580: ; 0x021F9580
|
|
ldr ip, _021F958C ; =ov00_021F9590
|
|
mov r1, #1
|
|
bx ip
|
|
.align 2, 0
|
|
_021F958C: .word ov00_021F9590
|
|
arm_func_end ov00_021F9580
|
|
|
|
arm_func_start ov00_021F9590
|
|
ov00_021F9590: ; 0x021F9590
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r0
|
|
mov r5, r1
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
bne _021F95D0
|
|
cmp r5, #1
|
|
bne _021F95C0
|
|
mov r0, r4
|
|
bl ov00_021EE530
|
|
cmp r0, #0
|
|
beq _021F95D0
|
|
_021F95C0:
|
|
mov r0, r4
|
|
bl ov00_021EE7B4
|
|
cmp r0, #0
|
|
bne _021F95D8
|
|
_021F95D0:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021F95D8:
|
|
mov r0, r4
|
|
bl ov00_021F9CD4
|
|
cmp r0, #1
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r0, r4
|
|
bl ov00_021FA090
|
|
mov r4, r0
|
|
mov r0, r5
|
|
bl ov00_021F9968
|
|
cmp r4, r0
|
|
movge r0, #1
|
|
movlt r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021F9590
|
|
|
|
arm_func_start ov00_021F9610
|
|
ov00_021F9610: ; 0x021F9610
|
|
stmdb sp!, {r3, lr}
|
|
mov ip, r1
|
|
mov r3, r2
|
|
mov r1, r0
|
|
mov r2, ip
|
|
mov r0, #1
|
|
bl ov00_021F9630
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021F9610
|
|
|
|
arm_func_start ov00_021F9630
|
|
ov00_021F9630: ; 0x021F9630
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #8
|
|
mov r7, r1
|
|
mov r8, r0
|
|
mov r0, r7
|
|
mov r6, r2
|
|
mov r5, r3
|
|
bl ov00_021F9CBC
|
|
mov r4, r0
|
|
mov r0, r7
|
|
mov r1, r8
|
|
bl ov00_021F9590
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
mov r0, #1
|
|
strb r0, [r4, #0x1c]
|
|
str r6, [r4]
|
|
mov r0, #0
|
|
str r0, [r4, #0xc]
|
|
add r0, sp, #0
|
|
mov r1, r8
|
|
mov r2, r5
|
|
str r5, [r4, #0x14]
|
|
bl ov00_021F98FC
|
|
add r1, sp, #0
|
|
mov r0, r7
|
|
mov r2, #8
|
|
mov r3, #1
|
|
bl ov00_021F9D0C
|
|
ldr r0, _021F974C ; =_0221B0A0
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x600
|
|
ldrh sb, [r0, #0x10]
|
|
mov r0, r7
|
|
cmp r5, sb
|
|
movle sb, r5
|
|
bl ov00_021FA090
|
|
cmp sb, r0
|
|
addgt sp, sp, #8
|
|
movgt r0, #1
|
|
ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
mov r0, r7
|
|
mov r1, r6
|
|
mov r2, sb
|
|
mov r3, #1
|
|
bl ov00_021F9D0C
|
|
ldr r0, [r4, #0xc]
|
|
add r1, r0, sb
|
|
str r1, [r4, #0xc]
|
|
ldr r0, [r4, #0x14]
|
|
cmp r1, r0
|
|
bne _021F9740
|
|
mov r2, #0
|
|
strb r2, [r4, #0x1c]
|
|
str r2, [r4]
|
|
str r2, [r4, #0xc]
|
|
ldr r1, _021F974C ; =_0221B0A0
|
|
str r2, [r4, #0x14]
|
|
ldr r1, [r1]
|
|
ldr r2, [r1, #0x600]
|
|
cmp r2, #0
|
|
beq _021F9740
|
|
cmp r8, #1
|
|
bne _021F9740
|
|
mov r1, r7
|
|
blx r2
|
|
_021F9740:
|
|
mov r0, #1
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_021F974C: .word _0221B0A0
|
|
arm_func_end ov00_021F9630
|
|
|
|
arm_func_start ov00_021F9750
|
|
ov00_021F9750: ; 0x021F9750
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
mov r7, #1
|
|
mov r6, r0
|
|
mov r5, r1
|
|
mov r4, r2
|
|
mov sb, #0
|
|
mov r8, r7
|
|
_021F976C:
|
|
cmp sb, #0
|
|
movne sl, r8, lsl sb
|
|
moveq sl, r7
|
|
tst r6, sl
|
|
beq _021F97A8
|
|
bl ov00_021EE490
|
|
cmp sb, r0
|
|
beq _021F97A8
|
|
mov r0, sb
|
|
mov r1, r5
|
|
mov r2, r4
|
|
bl ov00_021F9610
|
|
cmp r0, #0
|
|
mvneq r0, sl
|
|
andeq r6, r6, r0
|
|
_021F97A8:
|
|
add r0, sb, #1
|
|
and sb, r0, #0xff
|
|
cmp sb, #0x20
|
|
blo _021F976C
|
|
mov r0, r6
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
arm_func_end ov00_021F9750
|
|
|
|
arm_func_start ov00_021F97C0
|
|
ov00_021F97C0: ; 0x021F97C0
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r0
|
|
mov r6, r1
|
|
mov r4, r2
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r0, r5
|
|
bl ov00_021EE530
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r0, _021F984C ; =_0221B0A0
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x600
|
|
ldrh r0, [r0, #0x10]
|
|
cmp r4, r0
|
|
movgt r0, #0
|
|
ldmgtia sp!, {r4, r5, r6, pc}
|
|
mov r0, r5
|
|
mov r1, r6
|
|
mov r2, r4
|
|
mov r3, #0
|
|
bl ov00_021F9D0C
|
|
ldr r0, _021F984C ; =_0221B0A0
|
|
ldr r0, [r0]
|
|
ldr r2, [r0, #0x600]
|
|
cmp r2, #0
|
|
beq _021F9844
|
|
mov r0, r4
|
|
mov r1, r5
|
|
blx r2
|
|
_021F9844:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021F984C: .word _0221B0A0
|
|
arm_func_end ov00_021F97C0
|
|
|
|
arm_func_start ov00_021F9850
|
|
ov00_021F9850: ; 0x021F9850
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
bl ov00_021F9CBC
|
|
mov r4, r0
|
|
mov r0, r7
|
|
bl ov00_021F9CF0
|
|
cmp r0, #2
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
str r6, [r4, #4]
|
|
str r5, [r4, #8]
|
|
mov r0, #1
|
|
strb r0, [r4, #0x1d]
|
|
mov r1, #0
|
|
str r1, [r4, #0x10]
|
|
str r1, [r4, #0x18]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_021F9850
|
|
|
|
arm_func_start ov00_021F989C
|
|
ov00_021F989C: ; 0x021F989C
|
|
ldr r1, _021F98B8 ; =_0221B0A0
|
|
ldr r1, [r1]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
strne r0, [r1, #0x600]
|
|
movne r0, #1
|
|
bx lr
|
|
.align 2, 0
|
|
_021F98B8: .word _0221B0A0
|
|
arm_func_end ov00_021F989C
|
|
|
|
arm_func_start ov00_021F98BC
|
|
ov00_021F98BC: ; 0x021F98BC
|
|
ldr r1, _021F98D8 ; =_0221B0A0
|
|
ldr r1, [r1]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
strne r0, [r1, #0x604]
|
|
movne r0, #1
|
|
bx lr
|
|
.align 2, 0
|
|
_021F98D8: .word _0221B0A0
|
|
arm_func_end ov00_021F98BC
|
|
|
|
arm_func_start ov00_021F98DC
|
|
ov00_021F98DC: ; 0x021F98DC
|
|
ldr r1, _021F98F8 ; =_0221B0A0
|
|
ldr r1, [r1]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
strne r0, [r1, #0x608]
|
|
movne r0, #1
|
|
bx lr
|
|
.align 2, 0
|
|
_021F98F8: .word _0221B0A0
|
|
arm_func_end ov00_021F98DC
|
|
|
|
arm_func_start ov00_021F98FC
|
|
ov00_021F98FC: ; 0x021F98FC
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r5, r1
|
|
mov r4, r2
|
|
ldr r1, _021F9928 ; =_02217B88
|
|
add r0, r6, #6
|
|
mov r2, #2
|
|
bl sub_020E9664
|
|
strh r5, [r6, #4]
|
|
str r4, [r6]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021F9928: .word _02217B88
|
|
arm_func_end ov00_021F98FC
|
|
|
|
arm_func_start ov00_021F992C
|
|
ov00_021F992C: ; 0x021F992C
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #8
|
|
add r1, sp, #0
|
|
mov r2, #8
|
|
bl sub_020D4A50
|
|
ldr r1, _021F9964 ; =_02217B88
|
|
add r0, sp, #6
|
|
mov r2, #2
|
|
bl sub_020E5BB0
|
|
cmp r0, #0
|
|
ldreqh r0, [sp, #4]
|
|
movne r0, #0
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021F9964: .word _02217B88
|
|
arm_func_end ov00_021F992C
|
|
|
|
arm_func_start ov00_021F9968
|
|
ov00_021F9968: ; 0x021F9968
|
|
cmp r0, #2
|
|
cmpne r0, #3
|
|
cmpne r0, #4
|
|
bne _021F9980
|
|
mov r0, #0xc
|
|
bx lr
|
|
_021F9980:
|
|
mov r0, #8
|
|
bx lr
|
|
arm_func_end ov00_021F9968
|
|
|
|
arm_func_start ov00_021F9988
|
|
ov00_021F9988: ; 0x021F9988
|
|
stmdb sp!, {r4, lr}
|
|
ldr r2, _021F99D0 ; =_0221B0A0
|
|
ldr r3, [r2]
|
|
cmp r3, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r2, #0x30
|
|
mul r4, r0, r2
|
|
add r0, r3, r4
|
|
str r1, [r0, #0x2c]
|
|
bl sub_020D34B0
|
|
ldr r2, _021F99D0 ; =_0221B0A0
|
|
ldr r2, [r2]
|
|
add r2, r2, r4
|
|
str r0, [r2, #0x24]
|
|
str r1, [r2, #0x28]
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021F99D0: .word _0221B0A0
|
|
arm_func_end ov00_021F9988
|
|
|
|
arm_func_start ov00_021F99D4
|
|
ov00_021F99D4: ; 0x021F99D4
|
|
stmdb sp!, {r3, lr}
|
|
ldr r3, _021F9A04 ; =_0221B0A0
|
|
ldr r2, _021F9A08 ; =0x00000614
|
|
mov r1, #0
|
|
str r0, [r3]
|
|
bl sub_020D4994
|
|
ldr r0, _021F9A04 ; =_0221B0A0
|
|
ldr r1, _021F9A0C ; =0x000005B9
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x600
|
|
strh r1, [r0, #0x10]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021F9A04: .word _0221B0A0
|
|
_021F9A08: .word 0x00000614
|
|
_021F9A0C: .word 0x000005B9
|
|
arm_func_end ov00_021F99D4
|
|
|
|
arm_func_start ov00_021F9A10
|
|
ov00_021F9A10: ; 0x021F9A10
|
|
stmdb sp!, {r3, lr}
|
|
ldr ip, _021F9A48 ; =_0221B0A0
|
|
ldr ip, [ip]
|
|
cmp ip, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
cmp r1, #0
|
|
cmpne r2, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
cmp r3, #0
|
|
beq _021F9A40
|
|
bl ov00_021F9D34
|
|
ldmia sp!, {r3, pc}
|
|
_021F9A40:
|
|
bl ov00_021F9E28
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021F9A48: .word _0221B0A0
|
|
arm_func_end ov00_021F9A10
|
|
|
|
arm_func_start ov00_021F9A4C
|
|
ov00_021F9A4C: ; 0x021F9A4C
|
|
stmdb sp!, {r4, lr}
|
|
ldr r2, _021F9A88 ; =_0221B0A0
|
|
mov r4, r1
|
|
ldr r1, [r2]
|
|
ldr r1, [r1, #0x60c]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
bl ov00_021EE6B0
|
|
ldr r2, _021F9A88 ; =_0221B0A0
|
|
mov r1, r0
|
|
ldr r2, [r2]
|
|
mov r0, r4
|
|
ldr r2, [r2, #0x60c]
|
|
blx r2
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021F9A88: .word _0221B0A0
|
|
arm_func_end ov00_021F9A4C
|
|
|
|
arm_func_start ov00_021F9A8C
|
|
ov00_021F9A8C: ; 0x021F9A8C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
ldr r0, _021F9C18 ; =_0221B0A0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
add r0, sp, #0
|
|
bl ov00_021EE4AC
|
|
mov r7, r0
|
|
mov r8, #0
|
|
cmp r7, #0
|
|
ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r4, _021F9C18 ; =_0221B0A0
|
|
mov fp, r8
|
|
_021F9AC0:
|
|
ldr r0, [sp]
|
|
ldrb sb, [r0, r8]
|
|
mov r0, sb
|
|
bl ov00_021EE530
|
|
cmp r0, #0
|
|
beq _021F9B54
|
|
mov r0, sb
|
|
bl ov00_021F9CBC
|
|
ldr r1, [r4]
|
|
mov r6, r0
|
|
ldr r0, [r1, #0x608]
|
|
cmp r0, #0
|
|
ldrne r0, [r6, #0x2c]
|
|
cmpne r0, #0
|
|
beq _021F9B54
|
|
bl sub_020D34B0
|
|
mov sl, r1
|
|
ldr r2, [r6, #0x24]
|
|
mov r5, r0
|
|
subs r2, r5, r2
|
|
ldr r1, [r6, #0x28]
|
|
mov r0, r2, lsl #6
|
|
sbc r1, sl, r1
|
|
mov r1, r1, lsl #6
|
|
orr r1, r1, r2, lsr #26
|
|
ldr r2, _021F9C1C ; =0x000082EA
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
ldr r1, [r6, #0x2c]
|
|
cmp r0, r1
|
|
bls _021F9B54
|
|
ldr r1, [r4]
|
|
mov r0, sb
|
|
ldr r1, [r1, #0x608]
|
|
blx r1
|
|
str r5, [r6, #0x24]
|
|
str sl, [r6, #0x28]
|
|
_021F9B54:
|
|
bl ov00_021EE490
|
|
cmp sb, r0
|
|
beq _021F9C08
|
|
mov r0, sb
|
|
bl ov00_021F9CD4
|
|
cmp r0, #1
|
|
bne _021F9C08
|
|
mov r0, sb
|
|
bl ov00_021F9CBC
|
|
mov r5, r0
|
|
ldr r0, [r4]
|
|
ldr r2, [r5, #0x14]
|
|
add r0, r0, #0x600
|
|
ldr r1, [r5, #0xc]
|
|
ldrh r6, [r0, #0x10]
|
|
sub r0, r2, r1
|
|
cmp r0, r6
|
|
movle r6, r0
|
|
mov r0, sb
|
|
bl ov00_021FA090
|
|
cmp r0, r6
|
|
blt _021F9C08
|
|
ldr r3, [r5]
|
|
ldr r1, [r5, #0xc]
|
|
mov r0, sb
|
|
add r1, r3, r1
|
|
mov r2, r6
|
|
mov r3, #1
|
|
bl ov00_021F9D0C
|
|
ldr r0, [r5, #0xc]
|
|
add r1, r0, r6
|
|
str r1, [r5, #0xc]
|
|
ldr r0, [r5, #0x14]
|
|
cmp r1, r0
|
|
bne _021F9C08
|
|
strb fp, [r5, #0x1c]
|
|
str fp, [r5]
|
|
str fp, [r5, #0xc]
|
|
str fp, [r5, #0x14]
|
|
ldr r1, [r4]
|
|
ldr r2, [r1, #0x600]
|
|
cmp r2, #0
|
|
beq _021F9C08
|
|
mov r1, sb
|
|
blx r2
|
|
_021F9C08:
|
|
add r8, r8, #1
|
|
cmp r8, r7
|
|
blt _021F9AC0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_021F9C18: .word _0221B0A0
|
|
_021F9C1C: .word 0x000082EA
|
|
arm_func_end ov00_021F9A8C
|
|
|
|
arm_func_start ov00_021F9C20
|
|
ov00_021F9C20: ; 0x021F9C20
|
|
ldr r2, _021F9CA4 ; =_0221B0A0
|
|
ldr r3, [r2]
|
|
cmp r3, #0
|
|
bxeq lr
|
|
mov r1, #0x30
|
|
mul r1, r0, r1
|
|
add r0, r3, r1
|
|
mov r3, #0
|
|
str r3, [r0, #0xc]
|
|
ldr r0, [r2]
|
|
add r0, r0, r1
|
|
str r3, [r0, #0x10]
|
|
ldr r0, [r2]
|
|
add r0, r0, r1
|
|
str r3, [r0, #0x14]
|
|
ldr r0, [r2]
|
|
add r0, r0, r1
|
|
str r3, [r0, #0x18]
|
|
ldr r0, [r2]
|
|
add r0, r0, r1
|
|
strb r3, [r0, #0x1c]
|
|
ldr r0, [r2]
|
|
add r2, r0, #0x1d
|
|
ldrb r0, [r2, r1]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
strneb r0, [r2, r1]
|
|
ldr r0, _021F9CA4 ; =_0221B0A0
|
|
mov r2, #0
|
|
ldr r0, [r0]
|
|
add r0, r0, r1
|
|
strh r2, [r0, #0x22]
|
|
bx lr
|
|
.align 2, 0
|
|
_021F9CA4: .word _0221B0A0
|
|
arm_func_end ov00_021F9C20
|
|
|
|
arm_func_start ov00_021F9CA8
|
|
ov00_021F9CA8: ; 0x021F9CA8
|
|
ldr r0, _021F9CB8 ; =_0221B0A0
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_021F9CB8: .word _0221B0A0
|
|
arm_func_end ov00_021F9CA8
|
|
|
|
arm_func_start ov00_021F9CBC
|
|
ov00_021F9CBC: ; 0x021F9CBC
|
|
ldr r2, _021F9CD0 ; =_0221B0A0
|
|
mov r1, #0x30
|
|
ldr r2, [r2]
|
|
mla r0, r1, r0, r2
|
|
bx lr
|
|
.align 2, 0
|
|
_021F9CD0: .word _0221B0A0
|
|
arm_func_end ov00_021F9CBC
|
|
|
|
arm_func_start ov00_021F9CD4
|
|
ov00_021F9CD4: ; 0x021F9CD4
|
|
ldr r2, _021F9CEC ; =_0221B0A0
|
|
mov r1, #0x30
|
|
ldr r2, [r2]
|
|
mla r1, r0, r1, r2
|
|
ldrb r0, [r1, #0x1c]
|
|
bx lr
|
|
.align 2, 0
|
|
_021F9CEC: .word _0221B0A0
|
|
arm_func_end ov00_021F9CD4
|
|
|
|
arm_func_start ov00_021F9CF0
|
|
ov00_021F9CF0: ; 0x021F9CF0
|
|
ldr r2, _021F9D08 ; =_0221B0A0
|
|
mov r1, #0x30
|
|
ldr r2, [r2]
|
|
mla r1, r0, r1, r2
|
|
ldrb r0, [r1, #0x1d]
|
|
bx lr
|
|
.align 2, 0
|
|
_021F9D08: .word _0221B0A0
|
|
arm_func_end ov00_021F9CF0
|
|
|
|
arm_func_start ov00_021F9D0C
|
|
ov00_021F9D0C: ; 0x021F9D0C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bl ov00_021EE64C
|
|
mov r1, r6
|
|
mov r2, r5
|
|
mov r3, r4
|
|
bl ov00_0220D194
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021F9D0C
|
|
|
|
arm_func_start ov00_021F9D34
|
|
ov00_021F9D34: ; 0x021F9D34
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r1
|
|
mov r5, r2
|
|
bl ov00_021EE6B0
|
|
mov r4, r0
|
|
bl ov00_021F9CF0
|
|
cmp r0, #4
|
|
addls pc, pc, r0, lsl #2
|
|
b _021F9E10
|
|
_021F9D58: ; jump table
|
|
b _021F9D6C ; case 0
|
|
b _021F9D98 ; case 1
|
|
b _021F9DAC ; case 2
|
|
b _021F9DC0 ; case 3
|
|
b _021F9DD4 ; case 4
|
|
_021F9D6C:
|
|
mov r0, r6
|
|
bl ov00_021F992C
|
|
cmp r0, #2
|
|
ldmloia sp!, {r4, r5, r6, pc}
|
|
cmp r0, #4
|
|
ldmhiia sp!, {r4, r5, r6, pc}
|
|
mov r0, r4
|
|
mov r1, r6
|
|
mov r2, r5
|
|
bl ov00_021F9EA8
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F9D98:
|
|
mov r0, r4
|
|
mov r1, r6
|
|
mov r2, r5
|
|
bl ov00_021F9EA8
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F9DAC:
|
|
mov r0, r4
|
|
mov r1, r6
|
|
mov r2, r5
|
|
bl ov00_021F9F70
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F9DC0:
|
|
mov r0, r4
|
|
mov r1, r6
|
|
mov r2, r5
|
|
bl ov00_021FA054
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F9DD4:
|
|
mov r0, #0x30
|
|
mul ip, r4, r0
|
|
ldr r0, _021F9E20 ; =_0221B0A0
|
|
mov r3, #1
|
|
ldr r1, [r0]
|
|
mov r2, #0
|
|
add r1, r1, ip
|
|
strb r3, [r1, #0x1d]
|
|
ldr r1, [r0]
|
|
add r1, r1, ip
|
|
str r2, [r1, #0x10]
|
|
ldr r0, [r0]
|
|
add r0, r0, ip
|
|
str r2, [r0, #0x18]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F9E10:
|
|
ldr r1, _021F9E24 ; =0xFFFE82B6
|
|
mov r0, #6
|
|
bl ov00_021EC24C
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021F9E20: .word _0221B0A0
|
|
_021F9E24: .word 0xFFFE82B6
|
|
arm_func_end ov00_021F9D34
|
|
|
|
arm_func_start ov00_021F9E28
|
|
ov00_021F9E28: ; 0x021F9E28
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r1
|
|
mov r5, r2
|
|
bl ov00_021EE6B0
|
|
ldr r2, _021F9EA4 ; =_0221B0A0
|
|
mov r1, #0x30
|
|
ldr r2, [r2]
|
|
mla r4, r0, r1, r2
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r1, [r4, #8]
|
|
cmp r1, r5
|
|
ldmltia sp!, {r4, r5, r6, pc}
|
|
ldr r3, [r2, #0x604]
|
|
cmp r3, #0
|
|
beq _021F9E78
|
|
mov r1, r6
|
|
mov r2, r5
|
|
blx r3
|
|
_021F9E78:
|
|
ldr r0, _021F9EA4 ; =_0221B0A0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x608]
|
|
cmp r0, #0
|
|
ldrne r0, [r4, #0x2c]
|
|
cmpne r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0x24]
|
|
str r1, [r4, #0x28]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021F9EA4: .word _0221B0A0
|
|
arm_func_end ov00_021F9E28
|
|
|
|
arm_func_start ov00_021F9EA8
|
|
ov00_021F9EA8: ; 0x021F9EA8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #8
|
|
ldr r4, _021F9F6C ; =_0221B0A0
|
|
mov r3, #0x30
|
|
ldr r4, [r4]
|
|
mov r7, r1
|
|
mla r4, r0, r3, r4
|
|
mov r6, r2
|
|
bl ov00_021F9CF0
|
|
strb r0, [r4, #0x1e]
|
|
mov r0, r7
|
|
bl ov00_021F992C
|
|
mov r5, r0
|
|
cmp r5, #4
|
|
addls pc, pc, r5, lsl #2
|
|
b _021F9F60
|
|
_021F9EE8: ; jump table
|
|
b _021F9F60 ; case 0
|
|
b _021F9EFC ; case 1
|
|
b _021F9F58 ; case 2
|
|
b _021F9F58 ; case 3
|
|
b _021F9F58 ; case 4
|
|
_021F9EFC:
|
|
cmp r6, #8
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
add r1, sp, #0
|
|
mov r0, r7
|
|
mov r2, #8
|
|
bl sub_020D4A50
|
|
ldr r1, [sp]
|
|
mov r0, #0
|
|
str r1, [r4, #0x18]
|
|
str r0, [r4, #0x10]
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #0
|
|
beq _021F9F4C
|
|
ldr r1, [r4, #8]
|
|
ldr r0, [r4, #0x18]
|
|
cmp r1, r0
|
|
movge r0, #2
|
|
strgeb r0, [r4, #0x1d]
|
|
bge _021F9F60
|
|
_021F9F4C:
|
|
mov r0, #4
|
|
strb r0, [r4, #0x1d]
|
|
b _021F9F60
|
|
_021F9F58:
|
|
mov r0, #3
|
|
strb r0, [r4, #0x1d]
|
|
_021F9F60:
|
|
strh r5, [r4, #0x22]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021F9F6C: .word _0221B0A0
|
|
arm_func_end ov00_021F9EA8
|
|
|
|
arm_func_start ov00_021F9F70
|
|
ov00_021F9F70: ; 0x021F9F70
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
ldr r3, _021FA04C ; =_0221B0A0
|
|
mov r7, r0
|
|
ldr r4, [r3]
|
|
mov r3, #0x30
|
|
mla r4, r7, r3, r4
|
|
mov r6, r1
|
|
mov r5, r2
|
|
bl ov00_021F9CF0
|
|
cmp r0, #2
|
|
bne _021F9FD4
|
|
ldr r3, [r4, #0x10]
|
|
ldr r0, [r4, #8]
|
|
add r1, r3, r5
|
|
cmp r1, r0
|
|
ble _021F9FC0
|
|
ldr r1, _021FA050 ; =0xFFFE82AC
|
|
mov r0, #6
|
|
bl ov00_021EC24C
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021F9FC0:
|
|
ldr r1, [r4, #4]
|
|
mov r0, r6
|
|
mov r2, r5
|
|
add r1, r1, r3
|
|
bl sub_020D4A50
|
|
_021F9FD4:
|
|
ldr r0, [r4, #0x10]
|
|
add r0, r0, r5
|
|
str r0, [r4, #0x10]
|
|
ldr r2, [r4, #0x18]
|
|
cmp r0, r2
|
|
bne _021FA020
|
|
mov r0, #1
|
|
strb r0, [r4, #0x1d]
|
|
mov r1, #0
|
|
str r1, [r4, #0x10]
|
|
ldr r0, _021FA04C ; =_0221B0A0
|
|
str r1, [r4, #0x18]
|
|
ldr r0, [r0]
|
|
ldr r3, [r0, #0x604]
|
|
cmp r3, #0
|
|
beq _021FA020
|
|
ldr r1, [r4, #4]
|
|
mov r0, r7
|
|
blx r3
|
|
_021FA020:
|
|
ldr r0, _021FA04C ; =_0221B0A0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x608]
|
|
cmp r0, #0
|
|
ldrne r0, [r4, #0x2c]
|
|
cmpne r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0x24]
|
|
str r1, [r4, #0x28]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021FA04C: .word _0221B0A0
|
|
_021FA050: .word 0xFFFE82AC
|
|
arm_func_end ov00_021F9F70
|
|
|
|
arm_func_start ov00_021FA054
|
|
ov00_021FA054: ; 0x021FA054
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl ov00_021F9CBC
|
|
ldrb r1, [r0, #0x1e]
|
|
strb r1, [r0, #0x1d]
|
|
ldrh r1, [r0, #0x22]
|
|
cmp r1, #2
|
|
cmpne r1, #3
|
|
cmpne r1, #4
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
mov r2, r4
|
|
bl ov00_021F2FDC
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FA054
|
|
|
|
arm_func_start ov00_021FA090
|
|
ov00_021FA090: ; 0x021FA090
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021EE64C
|
|
bl ov00_0220D284
|
|
ldr r1, _021FA0B0 ; =0xFFFFFDF9
|
|
add r0, r0, r1
|
|
cmp r0, #0
|
|
movle r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021FA0B0: .word 0xFFFFFDF9
|
|
arm_func_end ov00_021FA090
|
|
|
|
arm_func_start ov00_021FA0B4
|
|
ov00_021FA0B4: ; 0x021FA0B4
|
|
stmdb sp!, {r3, lr}
|
|
bl sub_0221D7B4
|
|
ldr r1, _021FA0D4 ; =_0221B0A4
|
|
mov r0, #1
|
|
ldr r2, [r1, #4]
|
|
add r2, r2, #1
|
|
str r2, [r1, #4]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021FA0D4: .word _0221B0A4
|
|
arm_func_end ov00_021FA0B4
|
|
|
|
arm_func_start ov00_021FA0D8
|
|
ov00_021FA0D8: ; 0x021FA0D8
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021FA114 ; =_0221B0A4
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
movle r0, #1
|
|
ldmleia sp!, {r3, pc}
|
|
bl sub_0221D808
|
|
ldr r0, _021FA114 ; =_0221B0A4
|
|
ldr r1, [r0, #4]
|
|
subs r1, r1, #1
|
|
str r1, [r0, #4]
|
|
bne _021FA10C
|
|
bl ov00_021FA6EC
|
|
_021FA10C:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021FA114: .word _0221B0A4
|
|
arm_func_end ov00_021FA0D8
|
|
|
|
arm_func_start ov00_021FA118
|
|
ov00_021FA118: ; 0x021FA118
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
bl sub_0221DAEC
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FA118
|
|
|
|
arm_func_start ov00_021FA138
|
|
ov00_021FA138: ; 0x021FA138
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
ldr r4, [sp, #0x18]
|
|
mov r7, r1
|
|
ldr r5, [r4, #4]
|
|
ldr r6, [r4, #0xc]
|
|
cmp r5, #0
|
|
beq _021FA190
|
|
cmp r7, #0
|
|
bne _021FA174
|
|
mov r1, r3
|
|
mov r0, r2
|
|
ldr r3, [r4]
|
|
mov r2, r7
|
|
blx r5
|
|
b _021FA190
|
|
_021FA174:
|
|
mov r0, r7
|
|
bl ov00_021FA4B0
|
|
mov r0, #0
|
|
ldr r3, [r4]
|
|
mov r1, r0
|
|
mov r2, r7
|
|
blx r5
|
|
_021FA190:
|
|
cmp r7, #0
|
|
bne _021FA1A0
|
|
cmp r6, #1
|
|
bne _021FA1BC
|
|
_021FA1A0:
|
|
ldr r1, [r4, #0x10]
|
|
cmp r1, #0
|
|
moveq r6, #1
|
|
beq _021FA1BC
|
|
mov r0, #4
|
|
mov r2, #0
|
|
bl ov00_021EC2EC
|
|
_021FA1BC:
|
|
mov r0, r4
|
|
bl ov00_021FA668
|
|
cmp r6, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_021FA138
|
|
|
|
arm_func_start ov00_021FA1D4
|
|
ov00_021FA1D4: ; 0x021FA1D4
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #8
|
|
ldr r4, [sp, #0x18]
|
|
ldr lr, [r4, #8]
|
|
cmp lr, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr ip, [sp, #0x14]
|
|
mov r0, r1
|
|
str ip, [sp]
|
|
mov r1, r2
|
|
mov r2, r3
|
|
ldr ip, [r4]
|
|
ldr r3, [sp, #0x10]
|
|
str ip, [sp, #4]
|
|
blx lr
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021FA1D4
|
|
|
|
arm_func_start ov00_021FA21C
|
|
ov00_021FA21C: ; 0x021FA21C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x10
|
|
mov r4, r0
|
|
mov r7, r1
|
|
mov r6, r2
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
addne sp, sp, #0x10
|
|
mvnne r0, #7
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r2, #0
|
|
mov r1, #1
|
|
add r0, sp, #0
|
|
str r6, [sp]
|
|
str r7, [sp, #4]
|
|
str r2, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
bl ov00_021FA60C
|
|
movs r5, r0
|
|
bne _021FA294
|
|
mvn r0, #4
|
|
bl ov00_021FA4B0
|
|
mov r0, #0
|
|
mov r1, r0
|
|
mov r3, r6
|
|
sub r2, r0, #5
|
|
blx r7
|
|
add sp, sp, #0x10
|
|
mvn r0, #4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021FA294:
|
|
ldr r2, _021FA2E0 ; =ov00_021FA138
|
|
mov r0, r4
|
|
mov r3, r5
|
|
mov r1, #0
|
|
bl sub_0221D864
|
|
movs r4, r0
|
|
bpl _021FA2D0
|
|
bl ov00_021FA4B0
|
|
mov r0, #0
|
|
mov r1, r0
|
|
mov r2, r4
|
|
mov r3, r6
|
|
blx r7
|
|
mov r0, r5
|
|
bl ov00_021FA668
|
|
_021FA2D0:
|
|
mov r0, r4
|
|
str r4, [r5, #0x14]
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021FA2E0: .word ov00_021FA138
|
|
arm_func_end ov00_021FA21C
|
|
|
|
arm_func_start ov00_021FA2E4
|
|
ov00_021FA2E4: ; 0x021FA2E4
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
sub sp, sp, #0x28
|
|
ldr sb, [sp, #0x4c]
|
|
ldr r8, [sp, #0x50]
|
|
mov r5, r0
|
|
mov r4, r1
|
|
mov r7, r2
|
|
mov sl, r3
|
|
mov r6, #0
|
|
bl ov00_021EC230
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
mvnne r0, #7
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
ldr r1, [sp, #0x48]
|
|
add r0, sp, #0x18
|
|
str r8, [sp, #0x18]
|
|
str sb, [sp, #0x1c]
|
|
str r1, [sp, #0x20]
|
|
str r7, [sp, #0x24]
|
|
bl ov00_021FA60C
|
|
movs r7, r0
|
|
bne _021FA368
|
|
mvn r0, #4
|
|
bl ov00_021FA4B0
|
|
mov r0, r6
|
|
mov r1, r0
|
|
mov r3, r8
|
|
sub r2, r0, #5
|
|
blx sb
|
|
add sp, sp, #0x28
|
|
mvn r0, #4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021FA368:
|
|
cmp r4, #0
|
|
ble _021FA3B8
|
|
mov r1, r4
|
|
mov r0, #4
|
|
bl ov00_021EC2A8
|
|
movs r6, r0
|
|
bne _021FA3B4
|
|
mvn r0, #4
|
|
bl ov00_021FA4B0
|
|
mov r0, #0
|
|
mov r1, r0
|
|
mov r3, r8
|
|
sub r2, r0, #5
|
|
blx sb
|
|
mov r0, r7
|
|
bl ov00_021FA668
|
|
add sp, sp, #0x28
|
|
mvn r0, #4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021FA3B4:
|
|
str r6, [r7, #0x10]
|
|
_021FA3B8:
|
|
cmp sl, #0
|
|
mov r1, #0
|
|
beq _021FA3F8
|
|
ldr r0, [sl]
|
|
ldr r2, _021FA480 ; =ov00_021FA1D4
|
|
stmia sp, {r0, r1}
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
ldr r0, _021FA484 ; =ov00_021FA138
|
|
mov r2, r6
|
|
str r0, [sp, #0x10]
|
|
mov r0, r5
|
|
mov r3, r4
|
|
str r7, [sp, #0x14]
|
|
bl sub_0221D8A0
|
|
b _021FA428
|
|
_021FA3F8:
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r2, _021FA480 ; =ov00_021FA1D4
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
ldr r0, _021FA484 ; =ov00_021FA138
|
|
mov r2, r6
|
|
str r0, [sp, #0x10]
|
|
mov r0, r5
|
|
mov r3, r4
|
|
str r7, [sp, #0x14]
|
|
bl sub_0221D8A0
|
|
_021FA428:
|
|
mov r4, r0
|
|
cmp r4, #0
|
|
bge _021FA470
|
|
mov r0, r4
|
|
bl ov00_021FA4B0
|
|
mov r0, #0
|
|
mov r1, r0
|
|
mov r2, r4
|
|
mov r3, r8
|
|
blx sb
|
|
ldr r1, [r7, #0x10]
|
|
cmp r1, #0
|
|
beq _021FA468
|
|
mov r0, #4
|
|
mov r2, #0
|
|
bl ov00_021EC2EC
|
|
_021FA468:
|
|
mov r0, r7
|
|
bl ov00_021FA668
|
|
_021FA470:
|
|
mov r0, r4
|
|
str r4, [r7, #0x14]
|
|
add sp, sp, #0x28
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
_021FA480: .word ov00_021FA1D4
|
|
_021FA484: .word ov00_021FA138
|
|
arm_func_end ov00_021FA2E4
|
|
|
|
arm_func_start ov00_021FA488
|
|
ov00_021FA488: ; 0x021FA488
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0xc
|
|
ldr lr, [sp, #0x10]
|
|
ldr ip, [sp, #0x14]
|
|
stmia sp, {r3, lr}
|
|
mov r3, #0
|
|
str ip, [sp, #8]
|
|
bl ov00_021FA2E4
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {pc}
|
|
arm_func_end ov00_021FA488
|
|
|
|
arm_func_start ov00_021FA4B0
|
|
ov00_021FA4B0: ; 0x021FA4B0
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
mov r0, #7
|
|
ldr r1, _021FA5F0 ; =0xFFFE8130
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
add r2, r4, #7
|
|
cmp r2, #0x1a
|
|
addls pc, pc, r2, lsl #2
|
|
b _021FA5E4
|
|
_021FA4D8: ; jump table
|
|
b _021FA544 ; case 0
|
|
b _021FA54C ; case 1
|
|
b _021FA558 ; case 2
|
|
b _021FA560 ; case 3
|
|
b _021FA560 ; case 4
|
|
b _021FA560 ; case 5
|
|
b _021FA568 ; case 6
|
|
b _021FA5E4 ; case 7
|
|
b _021FA574 ; case 8
|
|
b _021FA580 ; case 9
|
|
b _021FA588 ; case 10
|
|
b _021FA594 ; case 11
|
|
b _021FA59C ; case 12
|
|
b _021FA5A4 ; case 13
|
|
b _021FA5AC ; case 14
|
|
b _021FA5B4 ; case 15
|
|
b _021FA5B4 ; case 16
|
|
b _021FA5B4 ; case 17
|
|
b _021FA5A4 ; case 18
|
|
b _021FA5A4 ; case 19
|
|
b _021FA5C0 ; case 20
|
|
b _021FA5C0 ; case 21
|
|
b _021FA5C8 ; case 22
|
|
b _021FA5D4 ; case 23
|
|
b _021FA5DC ; case 24
|
|
b _021FA5E4 ; case 25
|
|
b _021FA574 ; case 26
|
|
_021FA544:
|
|
sub r1, r1, #0x320
|
|
b _021FA5E4
|
|
_021FA54C:
|
|
ldr r2, _021FA5F4 ; =0xFFFFFCD6
|
|
add r1, r1, r2
|
|
b _021FA5E4
|
|
_021FA558:
|
|
sub r1, r1, #0x348
|
|
b _021FA5E4
|
|
_021FA560:
|
|
sub r1, r1, #0x334
|
|
b _021FA5E4
|
|
_021FA568:
|
|
ldr r2, _021FA5F8 ; =0xFFFFFCC2
|
|
add r1, r1, r2
|
|
b _021FA5E4
|
|
_021FA574:
|
|
sub r1, r1, #1
|
|
mov r0, #9
|
|
b _021FA5E4
|
|
_021FA580:
|
|
sub r1, r1, #0x348
|
|
b _021FA5E4
|
|
_021FA588:
|
|
ldr r2, _021FA5FC ; =0xFFFFFCAE
|
|
add r1, r1, r2
|
|
b _021FA5E4
|
|
_021FA594:
|
|
sub r1, r1, #0x1e
|
|
b _021FA5E4
|
|
_021FA59C:
|
|
sub r1, r1, #0x32
|
|
b _021FA5E4
|
|
_021FA5A4:
|
|
sub r1, r1, #0x14
|
|
b _021FA5E4
|
|
_021FA5AC:
|
|
sub r1, r1, #0x35c
|
|
b _021FA5E4
|
|
_021FA5B4:
|
|
ldr r2, _021FA600 ; =0xFFFFFC9A
|
|
add r1, r1, r2
|
|
b _021FA5E4
|
|
_021FA5C0:
|
|
sub r1, r1, #0x370
|
|
b _021FA5E4
|
|
_021FA5C8:
|
|
ldr r2, _021FA604 ; =0xFFFFFC86
|
|
add r1, r1, r2
|
|
b _021FA5E4
|
|
_021FA5D4:
|
|
sub r1, r1, #0x384
|
|
b _021FA5E4
|
|
_021FA5DC:
|
|
ldr r2, _021FA608 ; =0xFFFFFC72
|
|
add r1, r1, r2
|
|
_021FA5E4:
|
|
bl ov00_021EC24C
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FA5F0: .word 0xFFFE8130
|
|
_021FA5F4: .word 0xFFFFFCD6
|
|
_021FA5F8: .word 0xFFFFFCC2
|
|
_021FA5FC: .word 0xFFFFFCAE
|
|
_021FA600: .word 0xFFFFFC9A
|
|
_021FA604: .word 0xFFFFFC86
|
|
_021FA608: .word 0xFFFFFC72
|
|
arm_func_end ov00_021FA4B0
|
|
|
|
arm_func_start ov00_021FA60C
|
|
ov00_021FA60C: ; 0x021FA60C
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
mov r0, #4
|
|
mov r1, #0x1c
|
|
bl ov00_021EC2A8
|
|
movs ip, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldmia r4, {r0, r1, r2, r3}
|
|
stmia ip, {r0, r1, r2, r3}
|
|
mov r0, #0
|
|
str r0, [ip, #0x18]
|
|
ldr r1, _021FA664 ; =_0221B0A4
|
|
str r0, [ip, #0x10]
|
|
ldr r0, [r1]
|
|
cmp r0, #0
|
|
moveq r0, ip
|
|
streq ip, [r1]
|
|
strne r0, [ip, #0x18]
|
|
movne r0, ip
|
|
strne ip, [r1]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FA664: .word _0221B0A4
|
|
arm_func_end ov00_021FA60C
|
|
|
|
arm_func_start ov00_021FA668
|
|
ov00_021FA668: ; 0x021FA668
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _021FA6E8 ; =_0221B0A4
|
|
ldr r1, [r1]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
cmp r1, r0
|
|
bne _021FA6A0
|
|
mov r0, #4
|
|
mov r2, #0
|
|
ldr r4, [r1, #0x18]
|
|
bl ov00_021EC2EC
|
|
ldr r0, _021FA6E8 ; =_0221B0A4
|
|
str r4, [r0]
|
|
ldmia sp!, {r4, pc}
|
|
_021FA6A0:
|
|
ldr r2, [r1, #0x18]
|
|
cmp r2, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
_021FA6AC:
|
|
cmp r2, r0
|
|
movne r1, r2
|
|
bne _021FA6D8
|
|
ldr ip, [r1, #0x18]
|
|
mov r0, #4
|
|
ldr r3, [ip, #0x18]
|
|
mov r2, #0
|
|
str r3, [r1, #0x18]
|
|
mov r1, ip
|
|
bl ov00_021EC2EC
|
|
ldmia sp!, {r4, pc}
|
|
_021FA6D8:
|
|
ldr r2, [r2, #0x18]
|
|
cmp r2, #0
|
|
bne _021FA6AC
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FA6E8: .word _0221B0A4
|
|
arm_func_end ov00_021FA668
|
|
|
|
arm_func_start ov00_021FA6EC
|
|
ov00_021FA6EC: ; 0x021FA6EC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
ldr r0, _021FA758 ; =_0221B0A4
|
|
ldr r8, [r0]
|
|
cmp r8, #0
|
|
beq _021FA748
|
|
mov r7, #4
|
|
mov r6, #0
|
|
mov r5, r7
|
|
mov r4, r6
|
|
_021FA710:
|
|
mov sb, r8
|
|
ldr r1, [sb, #0x10]
|
|
ldr r8, [r8, #0x18]
|
|
cmp r1, #0
|
|
beq _021FA730
|
|
mov r0, r7
|
|
mov r2, r6
|
|
bl ov00_021EC2EC
|
|
_021FA730:
|
|
mov r0, r5
|
|
mov r1, sb
|
|
mov r2, r4
|
|
bl ov00_021EC2EC
|
|
cmp r8, #0
|
|
bne _021FA710
|
|
_021FA748:
|
|
ldr r0, _021FA758 ; =_0221B0A4
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_021FA758: .word _0221B0A4
|
|
arm_func_end ov00_021FA6EC
|
|
|
|
arm_func_start ov00_021FA75C
|
|
ov00_021FA75C: ; 0x021FA75C
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r2, [r4]
|
|
mov r0, #1
|
|
mov r1, #0x24
|
|
blx r2
|
|
mov r1, r0
|
|
ldr r3, _021FA8FC ; =_0221B0AC
|
|
mov r0, #0
|
|
mov r2, #0x24
|
|
str r1, [r3, #0xc]
|
|
bl sub_020D47EC
|
|
ldr r0, _021FA8FC ; =_0221B0AC
|
|
ldr r1, [r4]
|
|
ldr r3, [r0, #0xc]
|
|
mov r2, #1
|
|
str r1, [r3]
|
|
ldr r0, [r4, #4]
|
|
ldr r1, _021FA900 ; =0x00000D18
|
|
str r0, [r3, #4]
|
|
strb r2, [r3, #9]
|
|
strb r2, [r3, #0x16]
|
|
mov r0, #0x10
|
|
strb r2, [r3, #8]
|
|
bl ov00_021FAC4C
|
|
ldr r2, _021FA8FC ; =_0221B0AC
|
|
mov r1, #0x2300
|
|
str r0, [r2, #0x10]
|
|
mov r0, #2
|
|
bl ov00_021FAC4C
|
|
ldr r2, _021FA8FC ; =_0221B0AC
|
|
mov r1, #0x58
|
|
str r0, [r2]
|
|
mov r0, #4
|
|
bl ov00_021FAC4C
|
|
ldr r2, _021FA8FC ; =_0221B0AC
|
|
mov r1, #0xc
|
|
str r0, [r2, #4]
|
|
mov r0, #8
|
|
bl ov00_021FAC4C
|
|
ldr r1, _021FA8FC ; =_0221B0AC
|
|
ldr r2, _021FA900 ; =0x00000D18
|
|
str r0, [r1, #8]
|
|
ldr r1, [r1, #0x10]
|
|
mov r0, #0
|
|
bl sub_020D47EC
|
|
mov r0, #0
|
|
ldr r1, _021FA8FC ; =_0221B0AC
|
|
mov r2, #0x2300
|
|
ldr r1, [r1]
|
|
bl sub_020D47EC
|
|
mov r0, #0
|
|
ldr r1, _021FA8FC ; =_0221B0AC
|
|
mov r2, #0x58
|
|
ldr r1, [r1, #4]
|
|
bl sub_020D47EC
|
|
mov r0, #0
|
|
ldr r1, _021FA8FC ; =_0221B0AC
|
|
mov r2, #0xc
|
|
ldr r1, [r1, #8]
|
|
bl sub_020D47EC
|
|
ldr r1, _021FA8FC ; =_0221B0AC
|
|
ldrb r2, [r4, #8]
|
|
ldr r0, [r1, #0x10]
|
|
strb r2, [r0, #0xd0a]
|
|
ldrb r3, [r0, #0xd0b]
|
|
ldrb r2, [r4, #9]
|
|
bic r3, r3, #3
|
|
and r2, r2, #3
|
|
orr r2, r3, r2
|
|
strb r2, [r0, #0xd0b]
|
|
ldr r3, [r1, #8]
|
|
ldr r2, [r4]
|
|
mov r1, #0
|
|
str r2, [r3]
|
|
ldr r2, [r4, #4]
|
|
str r2, [r3, #4]
|
|
str r1, [r3, #8]
|
|
ldrb r2, [r0, #0xd0c]
|
|
ldrb r1, [r4, #0xa]
|
|
bic r2, r2, #0xf
|
|
and r1, r1, #0xf
|
|
orr r2, r2, r1
|
|
strb r2, [r0, #0xd0c]
|
|
ldrb r1, [r4, #0xb]
|
|
and r2, r2, #0xff
|
|
bic r2, r2, #0x30
|
|
mov r1, r1, lsl #0x1e
|
|
orr r1, r2, r1, lsr #26
|
|
strb r1, [r0, #0xd0c]
|
|
bl sub_0209E404
|
|
ldr r0, _021FA8FC ; =_0221B0AC
|
|
mov r1, #0x2300
|
|
ldr r0, [r0]
|
|
bl sub_020AD850
|
|
cmp r0, #1
|
|
beq _021FA8E8
|
|
cmp r0, #4
|
|
ble _021FA8F4
|
|
_021FA8E8:
|
|
bl ov00_021FACF0
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
_021FA8F4:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FA8FC: .word _0221B0AC
|
|
_021FA900: .word 0x00000D18
|
|
arm_func_end ov00_021FA75C
|
|
|
|
arm_func_start ov00_021FA904
|
|
ov00_021FA904: ; 0x021FA904
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
bl ov00_021FAECC
|
|
mov r5, r0
|
|
cmp r5, #1
|
|
bne _021FA924
|
|
bl ov00_021FCBD8
|
|
mov r5, r0
|
|
b _021FA998
|
|
_021FA924:
|
|
cmp r5, #7
|
|
bhs _021FA94C
|
|
bl sub_020D3A38
|
|
mov r4, r0
|
|
bl ov00_021FC408
|
|
mov r5, r0
|
|
bl ov00_021FAE6C
|
|
mov r0, r4
|
|
bl sub_020D3A4C
|
|
b _021FA998
|
|
_021FA94C:
|
|
cmp r5, #9
|
|
bhs _021FA960
|
|
bl ov00_021FB6B8
|
|
mov r5, r0
|
|
b _021FA998
|
|
_021FA960:
|
|
cmp r5, #0xa
|
|
bhs _021FA974
|
|
bl ov00_021FC32C
|
|
mov r5, r0
|
|
b _021FA998
|
|
_021FA974:
|
|
cmp r5, #0x10
|
|
bhs _021FA988
|
|
bl ov00_021FCC60
|
|
mov r5, r0
|
|
b _021FA998
|
|
_021FA988:
|
|
cmp r5, #0x11
|
|
bne _021FA998
|
|
bl ov00_021FBD38
|
|
mov r5, r0
|
|
_021FA998:
|
|
mov r0, r5
|
|
bl ov00_021FAE6C
|
|
cmp r5, #0x10
|
|
bne _021FA9BC
|
|
bl ov00_021FB010
|
|
mov r4, r0
|
|
bl ov00_021FAFD8
|
|
mov r0, r4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021FA9BC:
|
|
cmp r5, #0x12
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
bl ov00_021FAFD8
|
|
mvn r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FA904
|
|
|
|
arm_func_start ov00_021FA9D4
|
|
ov00_021FA9D4: ; 0x021FA9D4
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021FAECC
|
|
cmp r0, #1
|
|
movls r0, #0
|
|
ldmlsia sp!, {r3, pc}
|
|
cmp r0, #7
|
|
movlo r0, #1
|
|
ldmloia sp!, {r3, pc}
|
|
cmp r0, #9
|
|
moveq r0, #4
|
|
ldmeqia sp!, {r3, pc}
|
|
cmp r0, #0xa
|
|
movlo r0, #2
|
|
ldmloia sp!, {r3, pc}
|
|
cmp r0, #0xb
|
|
moveq r0, #4
|
|
ldmeqia sp!, {r3, pc}
|
|
cmp r0, #0x10
|
|
movlo r0, #3
|
|
ldmloia sp!, {r3, pc}
|
|
moveq r0, #5
|
|
ldmeqia sp!, {r3, pc}
|
|
cmp r0, #0x11
|
|
moveq r0, #4
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_021FBD5C
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FA9D4
|
|
|
|
arm_func_start ov00_021FAA40
|
|
ov00_021FAA40: ; 0x021FAA40
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, #0xff
|
|
bl ov00_021FAECC
|
|
cmp r0, #0xa
|
|
blo _021FAA64
|
|
cmp r0, #0x10
|
|
ldrls r0, _021FAA6C ; =_0221B0AC
|
|
ldrls r0, [r0, #0xc]
|
|
ldrlsb r4, [r0, #0x17]
|
|
_021FAA64:
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FAA6C: .word _0221B0AC
|
|
arm_func_end ov00_021FAA40
|
|
|
|
arm_func_start ov00_021FAA70
|
|
ov00_021FAA70: ; 0x021FAA70
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, #0
|
|
bl ov00_021FAECC
|
|
cmp r0, #0xa
|
|
blo _021FAABC
|
|
cmp r0, #0x10
|
|
bhi _021FAABC
|
|
ldr r0, _021FAAC4 ; =_0221B0AC
|
|
ldr r2, [r0, #0xc]
|
|
ldrb r0, [r2, #0x17]
|
|
cmp r0, #4
|
|
cmpne r0, #8
|
|
bne _021FAABC
|
|
mov r1, r5
|
|
add r0, r2, #0x18
|
|
mov r2, #0xa
|
|
bl sub_020D4A50
|
|
mov r4, #1
|
|
_021FAABC:
|
|
mov r0, r4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021FAAC4: .word _0221B0AC
|
|
arm_func_end ov00_021FAA70
|
|
|
|
arm_func_start ov00_021FAAC8
|
|
ov00_021FAAC8: ; 0x021FAAC8
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_021FAECC
|
|
strb r0, [sp]
|
|
ands r0, r0, #0xff
|
|
cmpne r0, #0x12
|
|
bne _021FAAEC
|
|
bl ov00_021FACF0
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
_021FAAEC:
|
|
add r0, sp, #0
|
|
bl ov00_021FBBF0
|
|
ldrb r0, [sp]
|
|
bl ov00_021FAE6C
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FAAC8
|
|
|
|
arm_func_start ov00_021FAB04
|
|
ov00_021FAB04: ; 0x021FAB04
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
mov r8, r0
|
|
mov r5, r3
|
|
mov r0, #1
|
|
mov r7, r1
|
|
mov r6, r2
|
|
bl ov00_021FAE14
|
|
mov r4, r0
|
|
cmp r5, #0
|
|
mov r2, #0xa
|
|
beq _021FAB40
|
|
mov r0, r5
|
|
add r1, r4, #0x18
|
|
bl sub_020D4A50
|
|
b _021FAB4C
|
|
_021FAB40:
|
|
add r0, r4, #0x18
|
|
mov r1, #0
|
|
bl sub_020D4994
|
|
_021FAB4C:
|
|
ldr r3, [sp, #0x18]
|
|
mov r0, r8
|
|
mov r1, r7
|
|
mov r2, r6
|
|
strb r3, [r4, #0x22]
|
|
bl ov00_021FAB68
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
arm_func_end ov00_021FAB04
|
|
|
|
arm_func_start ov00_021FAB68
|
|
ov00_021FAB68: ; 0x021FAB68
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
mov r0, #0x10
|
|
mov r6, r1
|
|
mov r5, r2
|
|
bl ov00_021FAE14
|
|
mov r4, r0
|
|
ldrb r3, [r4, #0xd0c]
|
|
mov r1, #0
|
|
mov r2, #0xf0
|
|
bic r3, r3, #0xf
|
|
orr r3, r3, #1
|
|
strb r3, [r4, #0xd0c]
|
|
bl sub_020D4994
|
|
mov r2, #0
|
|
_021FABA4:
|
|
ldrb r1, [r7, r2]
|
|
cmp r1, #0
|
|
beq _021FABC4
|
|
add r0, r4, r2
|
|
add r2, r2, #1
|
|
strb r1, [r0, #0x40]
|
|
cmp r2, #0x20
|
|
blt _021FABA4
|
|
_021FABC4:
|
|
cmp r6, #0
|
|
cmpne r5, #0
|
|
bne _021FABE0
|
|
ldrb r0, [r4, #0xe6]
|
|
bic r0, r0, #3
|
|
strb r0, [r4, #0xe6]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021FABE0:
|
|
cmp r5, #1
|
|
moveq r2, #5
|
|
beq _021FABF8
|
|
cmp r5, #2
|
|
moveq r2, #0xd
|
|
movne r2, #0x10
|
|
_021FABF8:
|
|
mov r0, r6
|
|
add r1, r4, #0x80
|
|
bl sub_020D4A50
|
|
ldrb r1, [r4, #0xe6]
|
|
and r0, r5, #0xff
|
|
and r0, r0, #3
|
|
bic r1, r1, #3
|
|
orr r0, r1, r0
|
|
strb r0, [r4, #0xe6]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_021FAB68
|
|
|
|
arm_func_start ov00_021FAC20
|
|
ov00_021FAC20: ; 0x021FAC20
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r0, #0x10
|
|
mov r4, r1
|
|
bl ov00_021FAE14
|
|
mov r1, r0
|
|
mov r0, r4
|
|
add r1, r1, r5, lsl #8
|
|
mov r2, #0xf0
|
|
bl sub_020D4808
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FAC20
|
|
|
|
arm_func_start ov00_021FAC4C
|
|
ov00_021FAC4C: ; 0x021FAC4C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r0, #1
|
|
mov r4, r1
|
|
bl ov00_021FAE14
|
|
ldrb r1, [r0, #8]
|
|
tst r1, r5
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
orr r1, r1, r5
|
|
strb r1, [r0, #8]
|
|
ldr r2, [r0]
|
|
mov r0, r5
|
|
mov r1, r4
|
|
blx r2
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FAC4C
|
|
|
|
arm_func_start ov00_021FAC8C
|
|
ov00_021FAC8C: ; 0x021FAC8C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r0, #1
|
|
mov r5, r1
|
|
mov r4, r2
|
|
bl ov00_021FAE14
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldrb r2, [r0, #8]
|
|
tst r2, r6
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
mvn r1, r6
|
|
and r1, r2, r1
|
|
strb r1, [r0, #8]
|
|
ldr r3, [r0, #4]
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r2, r4
|
|
blx r3
|
|
cmp r6, #1
|
|
ldreq r0, _021FACEC ; =_0221B0AC
|
|
moveq r1, #0
|
|
streq r1, [r0, #0xc]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021FACEC: .word _0221B0AC
|
|
arm_func_end ov00_021FAC8C
|
|
|
|
arm_func_start ov00_021FACF0
|
|
ov00_021FACF0: ; 0x021FACF0
|
|
stmdb sp!, {r4, lr}
|
|
mov r0, #1
|
|
bl ov00_021FAE14
|
|
movs r4, r0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldrb r0, [r4, #8]
|
|
tst r0, #0x10
|
|
beq _021FAD38
|
|
mov r0, #0x10
|
|
bl ov00_021FAE14
|
|
ldrb r3, [r4, #8]
|
|
mov r1, r0
|
|
ldr r2, _021FAE0C ; =0x00000D18
|
|
bic r0, r3, #0x10
|
|
strb r0, [r4, #8]
|
|
ldr r3, [r4, #4]
|
|
mov r0, #0x10
|
|
blx r3
|
|
_021FAD38:
|
|
ldrb r0, [r4, #8]
|
|
tst r0, #8
|
|
beq _021FAD6C
|
|
mov r0, #8
|
|
bl ov00_021FAE14
|
|
ldrb r2, [r4, #8]
|
|
mov r1, r0
|
|
mov r0, #8
|
|
bic r2, r2, #8
|
|
strb r2, [r4, #8]
|
|
ldr r3, [r4, #4]
|
|
mov r2, #0xc
|
|
blx r3
|
|
_021FAD6C:
|
|
ldrb r0, [r4, #8]
|
|
tst r0, #4
|
|
beq _021FADA0
|
|
mov r0, #4
|
|
bl ov00_021FAE14
|
|
ldrb r2, [r4, #8]
|
|
mov r1, r0
|
|
mov r0, #4
|
|
bic r2, r2, #4
|
|
strb r2, [r4, #8]
|
|
ldr r3, [r4, #4]
|
|
mov r2, #0x58
|
|
blx r3
|
|
_021FADA0:
|
|
ldrb r0, [r4, #8]
|
|
tst r0, #2
|
|
beq _021FADD4
|
|
mov r0, #2
|
|
bl ov00_021FAE14
|
|
ldrb r2, [r4, #8]
|
|
mov r1, r0
|
|
mov r0, #2
|
|
bic r2, r2, #2
|
|
strb r2, [r4, #8]
|
|
ldr r3, [r4, #4]
|
|
mov r2, #0x2300
|
|
blx r3
|
|
_021FADD4:
|
|
ldrb r0, [r4, #8]
|
|
tst r0, #1
|
|
ldmeqia sp!, {r4, pc}
|
|
bic r0, r0, #1
|
|
strb r0, [r4, #8]
|
|
ldr r3, [r4, #4]
|
|
mov r1, r4
|
|
mov r0, #1
|
|
mov r2, #0x24
|
|
blx r3
|
|
ldr r0, _021FAE10 ; =_0221B0AC
|
|
mov r1, #0
|
|
str r1, [r0, #0xc]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FAE0C: .word 0x00000D18
|
|
_021FAE10: .word _0221B0AC
|
|
arm_func_end ov00_021FACF0
|
|
|
|
arm_func_start ov00_021FAE14
|
|
ov00_021FAE14: ; 0x021FAE14
|
|
tst r0, #1
|
|
ldrne r0, _021FAE68 ; =_0221B0AC
|
|
ldrne r0, [r0, #0xc]
|
|
bxne lr
|
|
tst r0, #2
|
|
ldrne r0, _021FAE68 ; =_0221B0AC
|
|
ldrne r0, [r0]
|
|
bxne lr
|
|
tst r0, #4
|
|
ldrne r0, _021FAE68 ; =_0221B0AC
|
|
ldrne r0, [r0, #4]
|
|
bxne lr
|
|
tst r0, #8
|
|
ldrne r0, _021FAE68 ; =_0221B0AC
|
|
ldrne r0, [r0, #8]
|
|
bxne lr
|
|
tst r0, #0x10
|
|
ldrne r0, _021FAE68 ; =_0221B0AC
|
|
ldrne r0, [r0, #0x10]
|
|
moveq r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_021FAE68: .word _0221B0AC
|
|
arm_func_end ov00_021FAE14
|
|
|
|
arm_func_start ov00_021FAE6C
|
|
ov00_021FAE6C: ; 0x021FAE6C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r0, #1
|
|
bl ov00_021FAE14
|
|
mov r5, r0
|
|
mov r0, #0x10
|
|
bl ov00_021FAE14
|
|
mov r4, r0
|
|
strb r6, [r5, #9]
|
|
cmp r6, #0x10
|
|
ldmhsia sp!, {r4, r5, r6, pc}
|
|
ldrb r0, [r5, #0x16]
|
|
cmp r6, r0
|
|
stribh r6, [r5, #0x16]
|
|
cmphi r6, #7
|
|
ldmlsia sp!, {r4, r5, r6, pc}
|
|
ldrb r0, [r4, #0xd0d]
|
|
bl ov00_021FAFC8
|
|
strb r0, [r5, #0x15]
|
|
ldrb r0, [r4, #0xd13]
|
|
add r0, r4, r0, lsl #2
|
|
ldrb r0, [r0, #0x444]
|
|
strb r0, [r5, #0x14]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021FAE6C
|
|
|
|
arm_func_start ov00_021FAECC
|
|
ov00_021FAECC: ; 0x021FAECC
|
|
ldr r0, _021FAEE4 ; =_0221B0AC
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #0
|
|
ldrneb r0, [r0, #9]
|
|
moveq r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_021FAEE4: .word _0221B0AC
|
|
arm_func_end ov00_021FAECC
|
|
|
|
arm_func_start ov00_021FAEE8
|
|
ov00_021FAEE8: ; 0x021FAEE8
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r0, #1
|
|
bl ov00_021FAE14
|
|
mov r4, r0
|
|
str r5, [r4, #0xc]
|
|
bl ov00_021FAECC
|
|
strb r0, [r4, #0xa]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FAEE8
|
|
|
|
arm_func_start ov00_021FAF0C
|
|
ov00_021FAF0C: ; 0x021FAF0C
|
|
ldr r0, _021FAF1C ; =_0221B0AC
|
|
ldr r0, [r0, #0xc]
|
|
ldr r0, [r0, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
_021FAF1C: .word _0221B0AC
|
|
arm_func_end ov00_021FAF0C
|
|
|
|
arm_func_start ov00_021FAF20
|
|
ov00_021FAF20: ; 0x021FAF20
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _021FAFC4 ; =_0221B0AC
|
|
ldr r1, [r1, #0xc]
|
|
ldrb r2, [r1, #0x22]
|
|
cmp r2, #0
|
|
bne _021FAF40
|
|
bl ov00_021FAFC8
|
|
mov r2, r0
|
|
_021FAF40:
|
|
ldr r1, _021FAFC4 ; =_0221B0AC
|
|
mov r0, #0
|
|
ldr r1, [r1, #0xc]
|
|
strb r2, [r1, #0x17]
|
|
bl sub_020AFF64
|
|
movs r4, r0
|
|
beq _021FAF78
|
|
mov r1, #0x20
|
|
bl sub_020D285C
|
|
ldr r1, _021FAFC4 ; =_0221B0AC
|
|
mov r0, r4
|
|
ldr r1, [r1, #0xc]
|
|
add r1, r1, #0x18
|
|
bl ov00_021FD17C
|
|
_021FAF78:
|
|
ldr r0, _021FAFC4 ; =_0221B0AC
|
|
mov r1, #0
|
|
ldr r3, [r0, #0xc]
|
|
mov r2, r3
|
|
_021FAF88:
|
|
ldrsb r0, [r2, #0x18]
|
|
cmp r0, #0x20
|
|
blt _021FAF9C
|
|
cmp r0, #0x7e
|
|
ble _021FAFB0
|
|
_021FAF9C:
|
|
add r0, r3, #0x18
|
|
mov r1, #0
|
|
mov r2, #0xa
|
|
bl sub_020D4994
|
|
ldmia sp!, {r4, pc}
|
|
_021FAFB0:
|
|
add r1, r1, #1
|
|
cmp r1, #0xa
|
|
add r2, r2, #1
|
|
blt _021FAF88
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FAFC4: .word _0221B0AC
|
|
arm_func_end ov00_021FAF20
|
|
|
|
arm_func_start ov00_021FAFC8
|
|
ov00_021FAFC8: ; 0x021FAFC8
|
|
cmp r0, #2
|
|
subhi r0, r0, #3
|
|
andhi r0, r0, #0xff
|
|
bx lr
|
|
arm_func_end ov00_021FAFC8
|
|
|
|
arm_func_start ov00_021FAFD8
|
|
ov00_021FAFD8: ; 0x021FAFD8
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _021FB008 ; =_0221B0AC
|
|
mov r0, #8
|
|
ldr r1, [r1, #8]
|
|
mov r2, #0xc
|
|
bl ov00_021FAC8C
|
|
ldr r0, _021FB008 ; =_0221B0AC
|
|
ldr r2, _021FB00C ; =0x00000D18
|
|
ldr r1, [r0, #0x10]
|
|
mov r0, #0x10
|
|
bl ov00_021FAC8C
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021FB008: .word _0221B0AC
|
|
_021FB00C: .word 0x00000D18
|
|
arm_func_end ov00_021FAFD8
|
|
|
|
arm_func_start ov00_021FB010
|
|
ov00_021FB010: ; 0x021FB010
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
ldr r0, _021FB0AC ; =_0221B0AC
|
|
mov r1, #0xc0
|
|
ldr r8, [r0, #0x10]
|
|
ldrb r7, [r8, #0xd13]
|
|
ldrb r2, [r8, #0xd0d]
|
|
add r0, r8, #0x74
|
|
smulbb r4, r7, r1
|
|
add r5, r0, #0x400
|
|
cmp r2, #6
|
|
movhs r0, #1
|
|
ldmhsia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
ldrb sb, [r8, #0xd12]
|
|
mov r6, #0
|
|
cmp sb, #0
|
|
bls _021FB0A4
|
|
mov sl, r1
|
|
_021FB054:
|
|
cmp r6, r7
|
|
beq _021FB094
|
|
add r0, r8, r6, lsl #2
|
|
ldrb r0, [r0, #0x445]
|
|
cmp r0, #6
|
|
bhs _021FB094
|
|
mul r1, r6, sl
|
|
add r0, r8, r1
|
|
add r0, r0, #0x400
|
|
ldrh r2, [r0, #0x7a]
|
|
add r0, r5, r4
|
|
add r1, r5, r1
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021FB094:
|
|
add r0, r6, #1
|
|
and r6, r0, #0xff
|
|
cmp r6, sb
|
|
blo _021FB054
|
|
_021FB0A4:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
_021FB0AC: .word _0221B0AC
|
|
arm_func_end ov00_021FB010
|
|
|
|
arm_func_start ov00_021FB0B0
|
|
ov00_021FB0B0: ; 0x021FB0B0
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
mov r0, #0x10
|
|
mvn r4, #0
|
|
bl ov00_021FAE14
|
|
mov r6, r0
|
|
mov r0, #1
|
|
bl ov00_021FAE14
|
|
mov r1, #1
|
|
strb r1, [r0, #0xb]
|
|
bl ov00_021FAECC
|
|
cmp r0, #3
|
|
beq _021FB0F8
|
|
cmp r0, #4
|
|
beq _021FB160
|
|
cmp r0, #5
|
|
beq _021FB1AC
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021FB0F8:
|
|
ldrh r1, [r7, #0xa]
|
|
ldrb r5, [r6, #0xd11]
|
|
cmp r1, #0
|
|
ldrneb r0, [r7, #0xc]
|
|
cmpne r0, #0
|
|
bne _021FB11C
|
|
ldrh r0, [r7, #0x36]
|
|
bl ov00_021FC4CC
|
|
b _021FB1F4
|
|
_021FB11C:
|
|
cmp r1, #1
|
|
cmpeq r0, #0x20
|
|
bne _021FB148
|
|
ldrh r0, [r7, #0x36]
|
|
bl ov00_021FC4CC
|
|
ldrb r1, [r6, #0xd10]
|
|
mov r0, r7
|
|
add r2, r6, #0x300
|
|
bl ov00_021FB2B0
|
|
mov r4, r0
|
|
b _021FB1F4
|
|
_021FB148:
|
|
ldrb r1, [r6, #0xd10]
|
|
mov r0, r7
|
|
add r2, r6, #0x300
|
|
bl ov00_021FB2B0
|
|
mov r4, r0
|
|
b _021FB1F4
|
|
_021FB160:
|
|
ldrb r2, [r6, #0xd0f]
|
|
mov r1, #0xc0
|
|
mov r0, r7
|
|
mla r1, r2, r1, r6
|
|
add r1, r1, #0x400
|
|
ldrh r2, [r1, #0xa6]
|
|
mov r1, r6
|
|
sub r2, r2, #1
|
|
and r5, r2, #0xff
|
|
bl ov00_021FB32C
|
|
movs r4, r0
|
|
bmi _021FB1F4
|
|
ldrb r1, [r6, #0xd0f]
|
|
add r0, r6, #0x47
|
|
add r2, r0, #0x400
|
|
ldrb r0, [r2, r1, lsl #2]
|
|
orr r0, r0, #0x80
|
|
strb r0, [r2, r1, lsl #2]
|
|
b _021FB1F4
|
|
_021FB1AC:
|
|
ldrb r1, [r6, #0xd0f]
|
|
add r2, r6, #0x300
|
|
mov r0, #0x24
|
|
mla r2, r1, r0, r2
|
|
mov r0, r7
|
|
mov r1, #1
|
|
ldrb r5, [r6, #0xd11]
|
|
bl ov00_021FB2B0
|
|
movs r4, r0
|
|
bmi _021FB1F4
|
|
ldrb r1, [r6, #0xd0f]
|
|
mov r0, #0x24
|
|
add r2, r6, #0x300
|
|
smulbb r1, r1, r0
|
|
ldrb r0, [r2, r1]
|
|
bic r0, r0, #0xf
|
|
orr r0, r0, #1
|
|
strb r0, [r2, r1]
|
|
_021FB1F4:
|
|
cmp r4, #0
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, r4
|
|
mov r1, r7
|
|
mov r2, r5
|
|
mov r3, r6
|
|
bl ov00_021FB3BC
|
|
mov r1, r6
|
|
bl ov00_021FB53C
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_021FB0B0
|
|
|
|
arm_func_start ov00_021FB21C
|
|
ov00_021FB21C: ; 0x021FB21C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r0, #0x10
|
|
bl ov00_021FAE14
|
|
mov r4, r0
|
|
ldrb r0, [r4, #0xd0c]
|
|
mov r0, r0, lsl #0x1c
|
|
movs r0, r0, lsr #0x1c
|
|
cmpne r0, #4
|
|
bne _021FB26C
|
|
ldrh r0, [r5, #0x2c]
|
|
mov r0, r0, asr #4
|
|
and r0, r0, #1
|
|
cmp r0, #1
|
|
bne _021FB26C
|
|
add r0, r5, #0xc
|
|
bl ov00_021FD1C8
|
|
cmp r0, #1
|
|
moveq r0, #6
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
_021FB26C:
|
|
ldrb r0, [r4, #0xd0c]
|
|
mov r0, r0, lsl #0x1c
|
|
movs r0, r0, lsr #0x1c
|
|
cmpne r0, #5
|
|
bne _021FB2A8
|
|
ldrh r0, [r5, #0x2c]
|
|
mov r0, r0, asr #4
|
|
and r0, r0, #1
|
|
cmp r0, #1
|
|
bne _021FB2A8
|
|
add r0, r5, #0xc
|
|
bl ov00_021FD11C
|
|
cmp r0, #1
|
|
moveq r0, #7
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
_021FB2A8:
|
|
mvn r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FB21C
|
|
|
|
arm_func_start ov00_021FB2B0
|
|
ov00_021FB2B0: ; 0x021FB2B0
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
mov r6, r0
|
|
ldrh r3, [r6, #0xa]
|
|
mov r5, r1
|
|
mov r4, r2
|
|
cmp r3, #0x20
|
|
bne _021FB2D8
|
|
bl ov00_021FB21C
|
|
cmp r0, #0
|
|
ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_021FB2D8:
|
|
cmp r5, #0
|
|
mov r8, #0
|
|
ble _021FB324
|
|
ldrh sb, [r6, #0xa]
|
|
and r7, sb, #0xff
|
|
_021FB2EC:
|
|
ldrb r0, [r4, #3]
|
|
cmp r7, r0
|
|
bne _021FB314
|
|
mov r2, sb
|
|
add r0, r6, #0xc
|
|
add r1, r4, #4
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
ldreqb r0, [r4, #1]
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_021FB314:
|
|
add r8, r8, #1
|
|
cmp r8, r5
|
|
add r4, r4, #0x24
|
|
blt _021FB2EC
|
|
_021FB324:
|
|
mvn r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
arm_func_end ov00_021FB2B0
|
|
|
|
arm_func_start ov00_021FB32C
|
|
ov00_021FB32C: ; 0x021FB32C
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
mov sl, r0
|
|
ldrh r2, [sl, #0xa]
|
|
mov sb, r1
|
|
cmp r2, #0x20
|
|
bne _021FB350
|
|
bl ov00_021FB21C
|
|
cmp r0, #0
|
|
ldmgtia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021FB350:
|
|
ldrb r8, [sb, #0xd12]
|
|
mov r4, #0
|
|
cmp r8, #0
|
|
ble _021FB3B4
|
|
ldrh r7, [sl, #0xa]
|
|
add r0, sb, #0x7c
|
|
mov r5, sb
|
|
add r6, r0, #0x400
|
|
_021FB370:
|
|
add r0, r5, #0x400
|
|
ldrh r0, [r0, #0x7a]
|
|
cmp r7, r0
|
|
bne _021FB3A0
|
|
mov r1, r6
|
|
mov r2, r7
|
|
add r0, sl, #0xc
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
addeq r0, sb, r4, lsl #2
|
|
ldreqb r0, [r0, #0x445]
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021FB3A0:
|
|
add r4, r4, #1
|
|
cmp r4, r8
|
|
add r5, r5, #0xc0
|
|
add r6, r6, #0xc0
|
|
blt _021FB370
|
|
_021FB3B4:
|
|
mvn r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
arm_func_end ov00_021FB32C
|
|
|
|
arm_func_start ov00_021FB3BC
|
|
ov00_021FB3BC: ; 0x021FB3BC
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
mov r6, r3
|
|
ldrb r5, [r6, #0xd12]
|
|
mvn r4, #0
|
|
mov r3, #0
|
|
cmp r5, #0
|
|
ble _021FB440
|
|
ldrb lr, [r1, #4]
|
|
add ip, r6, #0x74
|
|
add ip, ip, #0x400
|
|
_021FB3E4:
|
|
ldrb r7, [ip]
|
|
cmp lr, r7
|
|
ldreqb r8, [r1, #5]
|
|
ldreqb r7, [ip, #1]
|
|
cmpeq r8, r7
|
|
ldreqb r8, [r1, #6]
|
|
ldreqb r7, [ip, #2]
|
|
cmpeq r8, r7
|
|
ldreqb r8, [r1, #7]
|
|
ldreqb r7, [ip, #3]
|
|
cmpeq r8, r7
|
|
ldreqb r8, [r1, #8]
|
|
ldreqb r7, [ip, #4]
|
|
cmpeq r8, r7
|
|
ldreqb r8, [r1, #9]
|
|
ldreqb r7, [ip, #5]
|
|
cmpeq r8, r7
|
|
moveq r4, r3
|
|
beq _021FB440
|
|
add r3, r3, #1
|
|
cmp r3, r5
|
|
add ip, ip, #0xc0
|
|
blt _021FB3E4
|
|
_021FB440:
|
|
mvn r3, #0
|
|
cmp r4, r3
|
|
bne _021FB470
|
|
mov r3, r6
|
|
and r0, r0, #0xff
|
|
bl ov00_021FB484
|
|
ldrb r0, [r6, #0xd12]
|
|
mov r4, #0xa
|
|
cmp r0, #0xa
|
|
addlo r0, r0, #1
|
|
strlob r0, [r6, #0xd12]
|
|
b _021FB47C
|
|
_021FB470:
|
|
mov r0, r4
|
|
mov r3, r6
|
|
bl ov00_021FB4D0
|
|
_021FB47C:
|
|
mov r0, r4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
arm_func_end ov00_021FB3BC
|
|
|
|
arm_func_start ov00_021FB484
|
|
ov00_021FB484: ; 0x021FB484
|
|
stmdb sp!, {r3, lr}
|
|
add ip, r3, #0x6c
|
|
strb r0, [ip, #0x401]
|
|
ldrh r0, [r1, #2]
|
|
and r2, r2, #0x7f
|
|
tst r0, #2
|
|
mov r0, r0, asr #2
|
|
addeq r0, r0, #0x19
|
|
and r0, r0, #0xff
|
|
strb r0, [ip, #0x402]
|
|
ldrb lr, [ip, #0x403]
|
|
mov r0, r1
|
|
bic r1, lr, #0x7f
|
|
orr lr, r1, r2
|
|
add r1, r3, #0xbf0
|
|
mov r2, #0xc0
|
|
strb lr, [ip, #0x403]
|
|
bl sub_020D4808
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FB484
|
|
|
|
arm_func_start ov00_021FB4D0
|
|
ov00_021FB4D0: ; 0x021FB4D0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldrh r4, [r1, #2]
|
|
add ip, r3, #0x44
|
|
mov lr, #0xc0
|
|
add r5, ip, #0x400
|
|
mul ip, r0, lr
|
|
tst r4, #2
|
|
add r0, r5, r0, lsl #2
|
|
mov r4, r4, asr #2
|
|
addeq r4, r4, #0x19
|
|
and r4, r4, #0xff
|
|
ldrb lr, [r0, #2]
|
|
and r4, r4, #0xff
|
|
add r3, r3, #0x470
|
|
cmp r4, lr
|
|
bls _021FB528
|
|
strb r4, [r0, #2]
|
|
ldrb lr, [r0, #3]
|
|
and r2, r2, #0x7f
|
|
bic lr, lr, #0x7f
|
|
orr r2, lr, r2
|
|
strb r2, [r0, #3]
|
|
_021FB528:
|
|
mov r0, r1
|
|
add r1, r3, ip
|
|
mov r2, #0xc0
|
|
bl sub_020D4808
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FB4D0
|
|
|
|
arm_func_start ov00_021FB53C
|
|
ov00_021FB53C: ; 0x021FB53C
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0xc4
|
|
mov r4, r0
|
|
add r0, r1, #0x44
|
|
add r7, r0, #0x400
|
|
add r8, r1, #0x470
|
|
subs r6, r4, #1
|
|
bmi _021FB604
|
|
mov r0, #0xc0
|
|
mla sl, r6, r0, r8
|
|
add sb, r7, r6, lsl #2
|
|
add fp, sp, #0
|
|
_021FB56C:
|
|
add r0, r7, r4, lsl #2
|
|
ldrb r1, [r0, #2]
|
|
add r0, r7, r6, lsl #2
|
|
ldrb r0, [r0, #2]
|
|
cmp r1, r0
|
|
blo _021FB604
|
|
mov r0, sb
|
|
mov r1, fp
|
|
mov r2, #4
|
|
bl sub_020D4808
|
|
add r5, r7, r4, lsl #2
|
|
mov r0, r5
|
|
mov r1, sb
|
|
mov r2, #4
|
|
bl sub_020D4808
|
|
mov r1, r5
|
|
mov r0, fp
|
|
mov r2, #4
|
|
bl sub_020D4808
|
|
mov r0, sl
|
|
add r1, sp, #4
|
|
mov r2, #0xc0
|
|
bl sub_020D4808
|
|
mov r0, #0xc0
|
|
mul r5, r4, r0
|
|
add r0, r8, r5
|
|
mov r1, sl
|
|
mov r2, #0xc0
|
|
bl sub_020D4808
|
|
add r1, r8, r5
|
|
add r0, sp, #4
|
|
mov r2, #0xc0
|
|
bl sub_020D4808
|
|
mov r4, r6
|
|
sub sb, sb, #4
|
|
sub sl, sl, #0xc0
|
|
subs r6, r6, #1
|
|
bpl _021FB56C
|
|
_021FB604:
|
|
add r1, r7, #0x28
|
|
mov r0, #0
|
|
mov r2, #4
|
|
bl sub_020D47EC
|
|
add r1, r8, #0x780
|
|
mov r0, #0
|
|
mov r2, #0xc0
|
|
bl sub_020D47EC
|
|
add sp, sp, #0xc4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
arm_func_end ov00_021FB53C
|
|
|
|
arm_func_start ov00_021FB62C
|
|
ov00_021FB62C: ; 0x021FB62C
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
mov r0, #0x10
|
|
bl ov00_021FAE14
|
|
ldrsh r1, [r4]
|
|
cmp r1, #5
|
|
bne _021FB6A4
|
|
ldrsh r1, [r4, #2]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r1, [r4, #8]
|
|
cmp r1, #0xd
|
|
beq _021FB674
|
|
cmp r1, #0xf
|
|
beq _021FB680
|
|
cmp r1, #0x11
|
|
beq _021FB68C
|
|
b _021FB698
|
|
_021FB674:
|
|
mov r1, #1
|
|
strb r1, [r0, #0xd14]
|
|
ldmia sp!, {r4, pc}
|
|
_021FB680:
|
|
mov r1, #2
|
|
strb r1, [r0, #0xd14]
|
|
ldmia sp!, {r4, pc}
|
|
_021FB68C:
|
|
mov r1, #3
|
|
strb r1, [r0, #0xd14]
|
|
ldmia sp!, {r4, pc}
|
|
_021FB698:
|
|
mov r1, #4
|
|
strb r1, [r0, #0xd14]
|
|
ldmia sp!, {r4, pc}
|
|
_021FB6A4:
|
|
cmp r1, #7
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, [r4, #4]
|
|
bl ov00_021FB0B0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021FB62C
|
|
|
|
arm_func_start ov00_021FB6B8
|
|
ov00_021FB6B8: ; 0x021FB6B8
|
|
stmdb sp!, {r4, lr}
|
|
bl ov00_021FAECC
|
|
mov r4, r0
|
|
mov r0, #0x10
|
|
bl ov00_021FAE14
|
|
cmp r4, #7
|
|
beq _021FB6E0
|
|
cmp r4, #8
|
|
beq _021FB6EC
|
|
b _021FB6F4
|
|
_021FB6E0:
|
|
bl ov00_021FB6FC
|
|
mov r4, r0
|
|
b _021FB6F4
|
|
_021FB6EC:
|
|
bl ov00_021FB7F4
|
|
mov r4, r0
|
|
_021FB6F4:
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021FB6B8
|
|
|
|
arm_func_start ov00_021FB6FC
|
|
ov00_021FB6FC: ; 0x021FB6FC
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldrb r2, [r5, #0xd13]
|
|
add r3, r5, #0x470
|
|
mov r1, #0xc0
|
|
mla r4, r2, r1, r3
|
|
bl ov00_021FB930
|
|
add r1, r5, #0xb8
|
|
strb r0, [r5, #0xd0d]
|
|
add r0, r1, #0xc00
|
|
mov r1, #0
|
|
mov r2, #0x52
|
|
bl sub_020D4994
|
|
add r2, r5, #0xb8
|
|
ldrb r1, [r5, #0xd0d]
|
|
mov r0, r5
|
|
add r2, r2, #0xc00
|
|
bl ov00_021FBB04
|
|
cmp r0, #0
|
|
ldrb r0, [r5, #0xd0b]
|
|
bic r0, r0, #0xc
|
|
beq _021FB7B0
|
|
orr r0, r0, #4
|
|
strb r0, [r5, #0xd0b]
|
|
ldrh r0, [r4, #0x2c]
|
|
mov r0, r0, asr #4
|
|
tst r0, #1
|
|
bne _021FB784
|
|
ldrb r1, [r5, #0xd13]
|
|
mov r2, #3
|
|
mov r0, #9
|
|
add r1, r5, r1, lsl #2
|
|
strb r2, [r1, #0x444]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021FB784:
|
|
ldrb r0, [r5, #0xd0d]
|
|
cmp r0, #6
|
|
ldreqb r0, [r4, #0x15]
|
|
cmpeq r0, #0
|
|
bne _021FB7E0
|
|
ldrb r1, [r5, #0xd13]
|
|
mov r2, #3
|
|
mov r0, #9
|
|
add r1, r5, r1, lsl #2
|
|
strb r2, [r1, #0x444]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021FB7B0:
|
|
strb r0, [r5, #0xd0b]
|
|
ldrh r0, [r4, #0x2c]
|
|
mov r0, r0, asr #4
|
|
and r0, r0, #1
|
|
cmp r0, #1
|
|
bne _021FB7E0
|
|
ldrb r1, [r5, #0xd13]
|
|
mov r2, #3
|
|
mov r0, #9
|
|
add r1, r5, r1, lsl #2
|
|
strb r2, [r1, #0x444]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021FB7E0:
|
|
mov r0, #0
|
|
strb r0, [r5, #0xd15]
|
|
strb r0, [r5, #0xd14]
|
|
mov r0, #8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FB6FC
|
|
|
|
arm_func_start ov00_021FB7F4
|
|
ov00_021FB7F4: ; 0x021FB7F4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
bl sub_020AE420
|
|
ldrb r2, [r7, #0xd13]
|
|
mov r1, #0xc0
|
|
cmp r0, #3
|
|
add r5, r7, #0x470
|
|
smulbb r4, r2, r1
|
|
bne _021FB904
|
|
mov r0, r7
|
|
bl ov00_021FBACC
|
|
ldrb r1, [r7, #0xd15]
|
|
mov r6, r0
|
|
add r0, r1, #1
|
|
and r1, r0, #0xff
|
|
strb r0, [r7, #0xd15]
|
|
cmp r1, #3
|
|
bls _021FB85C
|
|
mov r0, #0
|
|
strb r0, [r7, #0xd15]
|
|
ldrb r1, [r7, #0xd13]
|
|
mov r2, #1
|
|
mov r0, #9
|
|
add r1, r7, r1, lsl #2
|
|
strb r2, [r1, #0x444]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021FB85C:
|
|
cmp r1, #1
|
|
beq _021FB8E0
|
|
ldrb r0, [r7, #0xd14]
|
|
cmp r0, #1
|
|
bne _021FB880
|
|
ldrb r0, [r7, #0xd0b]
|
|
bic r0, r0, #0xc
|
|
strb r0, [r7, #0xd0b]
|
|
b _021FB8E0
|
|
_021FB880:
|
|
cmp r0, #2
|
|
bne _021FB8A8
|
|
mov r0, #0
|
|
strb r0, [r7, #0xd15]
|
|
ldrb r1, [r7, #0xd13]
|
|
mov r2, #3
|
|
mov r0, #9
|
|
add r1, r7, r1, lsl #2
|
|
strb r2, [r1, #0x444]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021FB8A8:
|
|
cmp r0, #3
|
|
bne _021FB8D0
|
|
mov r0, #0
|
|
strb r0, [r7, #0xd15]
|
|
ldrb r1, [r7, #0xd13]
|
|
mov r2, #4
|
|
mov r0, #9
|
|
add r1, r7, r1, lsl #2
|
|
strb r2, [r1, #0x444]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021FB8D0:
|
|
cmp r1, #3
|
|
ldreqb r0, [r7, #0xd0b]
|
|
biceq r0, r0, #0xc
|
|
streqb r0, [r7, #0xd0b]
|
|
_021FB8E0:
|
|
mov r0, r7
|
|
bl ov00_021FBAE8
|
|
mov r2, r0
|
|
add r1, r7, #0xb8
|
|
add r0, r5, r4
|
|
add r1, r1, #0xc00
|
|
orr r2, r6, r2
|
|
bl sub_020ADEF0
|
|
b _021FB928
|
|
_021FB904:
|
|
cmp r0, #9
|
|
bne _021FB928
|
|
mov r0, #0
|
|
strb r0, [r7, #0xd15]
|
|
bl sub_020D34B0
|
|
str r0, [r7, #0xcb0]
|
|
str r1, [r7, #0xcb4]
|
|
mov r0, #0xa
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021FB928:
|
|
mov r0, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_021FB7F4
|
|
|
|
arm_func_start ov00_021FB930
|
|
ov00_021FB930: ; 0x021FB930
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov sl, r0
|
|
ldrb r2, [sl, #0xd13]
|
|
ldrb r1, [sl, #0xd0c]
|
|
add r3, sl, #0x470
|
|
mov r0, #0xc0
|
|
mla r4, r2, r0, r3
|
|
mov r0, r1, lsl #0x18
|
|
movs r0, r0, lsr #0x1e
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
bne _021FBA4C
|
|
ldrh r0, [r4, #0xa]
|
|
ldr r6, [sp]
|
|
cmp r0, #0x20
|
|
bne _021FB990
|
|
mov r0, r4
|
|
bl ov00_021FB21C
|
|
cmp r0, #0
|
|
str r0, [sp]
|
|
movle r0, #0
|
|
addgt r6, r6, #1
|
|
strle r0, [sp]
|
|
b _021FB9B4
|
|
_021FB990:
|
|
cmp r0, #8
|
|
bne _021FB9B4
|
|
mov r0, r4
|
|
bl ov00_021FBFB8
|
|
cmp r0, #0
|
|
str r0, [sp]
|
|
moveq r0, #0
|
|
addne r6, r6, #1
|
|
streq r0, [sp]
|
|
_021FB9B4:
|
|
ldrb r0, [sl, #0xd10]
|
|
mov r5, #0
|
|
cmp r0, #0
|
|
ble _021FBAC0
|
|
mov r7, sl
|
|
add r8, sl, #0x304
|
|
add sb, sl, #0x300
|
|
add fp, sl, #0x10c
|
|
_021FB9D4:
|
|
ldrh r2, [r4, #0xa]
|
|
ldrb r0, [r7, #0x303]
|
|
cmp r2, r0
|
|
bne _021FBA2C
|
|
mov r1, r8
|
|
add r0, r4, #0xc
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
bne _021FBA2C
|
|
cmp r6, #0
|
|
ldreqb r0, [r7, #0x301]
|
|
streq r0, [sp]
|
|
beq _021FBA28
|
|
ldrb r0, [sb]
|
|
bic r0, r0, #0xf0
|
|
orr r0, r0, #0x10
|
|
strb r0, [sb]
|
|
ldrb r0, [fp, #0xc00]
|
|
bic r0, r0, #0xc0
|
|
orr r0, r0, #0x40
|
|
strb r0, [fp, #0xc00]
|
|
_021FBA28:
|
|
add r6, r6, #1
|
|
_021FBA2C:
|
|
ldrb r0, [sl, #0xd10]
|
|
add r5, r5, #1
|
|
add r7, r7, #0x24
|
|
cmp r5, r0
|
|
add r8, r8, #0x24
|
|
add sb, sb, #0x24
|
|
blt _021FB9D4
|
|
b _021FBAC0
|
|
_021FBA4C:
|
|
ldrb r0, [sl, #0xd10]
|
|
ldr r5, [sp]
|
|
mov r4, r5
|
|
cmp r0, #0
|
|
ble _021FBAB0
|
|
mov r3, sl
|
|
add r2, sl, #0x300
|
|
_021FBA68:
|
|
ldrb r0, [r2]
|
|
mov r1, r0, lsl #0x18
|
|
mov r1, r1, lsr #0x1c
|
|
cmp r1, #1
|
|
bne _021FBA98
|
|
cmp r4, #0
|
|
bne _021FBA94
|
|
bic r0, r0, #0xf0
|
|
strb r0, [r2]
|
|
ldrb r0, [r3, #0x301]
|
|
str r0, [sp]
|
|
_021FBA94:
|
|
add r4, r4, #1
|
|
_021FBA98:
|
|
ldrb r0, [sl, #0xd10]
|
|
add r5, r5, #1
|
|
add r2, r2, #0x24
|
|
cmp r5, r0
|
|
add r3, r3, #0x24
|
|
blt _021FBA68
|
|
_021FBAB0:
|
|
cmp r4, #1
|
|
ldreqb r0, [sl, #0xd0c]
|
|
biceq r0, r0, #0xc0
|
|
streqb r0, [sl, #0xd0c]
|
|
_021FBAC0:
|
|
ldr r0, [sp]
|
|
and r0, r0, #0xff
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
arm_func_end ov00_021FB930
|
|
|
|
arm_func_start ov00_021FBACC
|
|
ov00_021FBACC: ; 0x021FBACC
|
|
ldrb r0, [r0, #0xd0b]
|
|
mov r0, r0, lsl #0x1e
|
|
mov r0, r0, lsr #0x1e
|
|
cmp r0, #1
|
|
moveq r0, #0x30000
|
|
movne r0, #0x20000
|
|
bx lr
|
|
arm_func_end ov00_021FBACC
|
|
|
|
arm_func_start ov00_021FBAE8
|
|
ov00_021FBAE8: ; 0x021FBAE8
|
|
ldrb r0, [r0, #0xd0b]
|
|
mov r0, r0, lsl #0x1c
|
|
mov r0, r0, lsr #0x1e
|
|
cmp r0, #1
|
|
moveq r0, #0xc0000
|
|
movne r0, #0x80000
|
|
bx lr
|
|
arm_func_end ov00_021FBAE8
|
|
|
|
arm_func_start ov00_021FBB04
|
|
ov00_021FBB04: ; 0x021FBB04
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r2
|
|
cmp r1, #9
|
|
addls pc, pc, r1, lsl #2
|
|
b _021FBBDC
|
|
_021FBB18: ; jump table
|
|
b _021FBB48 ; case 0
|
|
b _021FBB44 ; case 1
|
|
b _021FBB40 ; case 2
|
|
b _021FBB74 ; case 3
|
|
b _021FBB70 ; case 4
|
|
b _021FBB6C ; case 5
|
|
b _021FBB90 ; case 6
|
|
b _021FBBB8 ; case 7
|
|
b _021FBBDC ; case 8
|
|
b _021FBBDC ; case 9
|
|
_021FBB40:
|
|
add r0, r0, #0x100
|
|
_021FBB44:
|
|
add r0, r0, #0x100
|
|
_021FBB48:
|
|
ldrb r2, [r0, #0xe6]
|
|
add r0, r0, #0x80
|
|
add r1, r4, #2
|
|
mov r2, r2, lsl #0x1e
|
|
mov r3, r2, lsr #0x1e
|
|
mov r2, #0x10
|
|
strb r3, [r4]
|
|
bl sub_020D4A50
|
|
b _021FBBDC
|
|
_021FBB6C:
|
|
add r0, r0, #0x100
|
|
_021FBB70:
|
|
add r0, r0, #0x100
|
|
_021FBB74:
|
|
mov r3, #1
|
|
add r0, r0, #0xd1
|
|
add r1, r4, #2
|
|
mov r2, #5
|
|
strb r3, [r4]
|
|
bl sub_020D4A50
|
|
b _021FBBDC
|
|
_021FBB90:
|
|
mov r1, #2
|
|
strb r1, [r4]
|
|
ldrb r1, [r0, #0xd13]
|
|
add r0, r0, #0x7c
|
|
add r2, r0, #0x400
|
|
mov r0, #0xc0
|
|
mla r0, r1, r0, r2
|
|
add r1, r4, #2
|
|
bl ov00_021FD1EC
|
|
b _021FBBDC
|
|
_021FBBB8:
|
|
mov r1, #2
|
|
strb r1, [r4]
|
|
ldrb r1, [r0, #0xd13]
|
|
add r0, r0, #0x7c
|
|
add r2, r0, #0x400
|
|
mov r0, #0xc0
|
|
mla r0, r1, r0, r2
|
|
add r1, r4, #2
|
|
bl ov00_021FD154
|
|
_021FBBDC:
|
|
ldrb r0, [r4]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021FBB04
|
|
|
|
arm_func_start ov00_021FBBF0
|
|
ov00_021FBBF0: ; 0x021FBBF0
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldrb r0, [r4]
|
|
cmp r0, #0xa
|
|
bhi _021FBC3C
|
|
bl ov00_021FBC78
|
|
cmp r0, #1
|
|
bne _021FBC20
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
_021FBC20:
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
bne _021FBC70
|
|
mov r0, #0x12
|
|
strb r0, [r4]
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
_021FBC3C:
|
|
cmp r0, #0xe
|
|
bne _021FBC58
|
|
bl ov00_021EA518
|
|
bl ov00_021EA420
|
|
mov r0, #0xc
|
|
strb r0, [r4]
|
|
b _021FBC70
|
|
_021FBC58:
|
|
cmp r0, #0x12
|
|
bhs _021FBC70
|
|
bl ov00_021FBD08
|
|
cmp r0, #1
|
|
moveq r0, #0xa
|
|
streqb r0, [r4]
|
|
_021FBC70:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021FBBF0
|
|
|
|
arm_func_start ov00_021FBC78
|
|
ov00_021FBC78: ; 0x021FBC78
|
|
stmdb sp!, {r3, lr}
|
|
bl sub_020AE420
|
|
cmp r0, #0xc
|
|
addls pc, pc, r0, lsl #2
|
|
b _021FBD00
|
|
_021FBC8C: ; jump table
|
|
b _021FBCC0 ; case 0
|
|
b _021FBCC8 ; case 1
|
|
b _021FBD00 ; case 2
|
|
b _021FBCD0 ; case 3
|
|
b _021FBD00 ; case 4
|
|
b _021FBD00 ; case 5
|
|
b _021FBCD8 ; case 6
|
|
b _021FBD00 ; case 7
|
|
b _021FBD00 ; case 8
|
|
b _021FBCE0 ; case 9
|
|
b _021FBD00 ; case 10
|
|
b _021FBCF0 ; case 11
|
|
b _021FBCE8 ; case 12
|
|
_021FBCC0:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
_021FBCC8:
|
|
bl sub_020AD968
|
|
b _021FBD00
|
|
_021FBCD0:
|
|
bl sub_020ADBC4
|
|
b _021FBD00
|
|
_021FBCD8:
|
|
bl sub_020ADE4C
|
|
b _021FBD00
|
|
_021FBCE0:
|
|
bl sub_020AE0F4
|
|
b _021FBD00
|
|
_021FBCE8:
|
|
bl sub_020AE210
|
|
b _021FBD00
|
|
_021FBCF0:
|
|
mov r0, #0
|
|
bl ov00_021FAEE8
|
|
mvn r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_021FBD00:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FBC78
|
|
|
|
arm_func_start ov00_021FBD08
|
|
ov00_021FBD08: ; 0x021FBD08
|
|
stmdb sp!, {r3, lr}
|
|
bl sub_020A2A64
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
bl sub_020A3570
|
|
cmp r0, #0
|
|
mvnne r1, #0x26
|
|
cmpne r0, r1
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FBD08
|
|
|
|
arm_func_start ov00_021FBD38
|
|
ov00_021FBD38: ; 0x021FBD38
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #1
|
|
bl ov00_021FAE14
|
|
add r0, r0, #0xa
|
|
bl ov00_021FBBF0
|
|
cmp r0, #1
|
|
moveq r0, #0x12
|
|
movne r0, #0x11
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FBD38
|
|
|
|
arm_func_start ov00_021FBD5C
|
|
ov00_021FBD5C: ; 0x021FBD5C
|
|
stmdb sp!, {r4, lr}
|
|
mov r0, #1
|
|
bl ov00_021FAE14
|
|
mov r4, r0
|
|
bl ov00_021FAF0C
|
|
cmp r0, #4
|
|
bge _021FBD80
|
|
bl ov00_021FBDAC
|
|
ldmia sp!, {r4, pc}
|
|
_021FBD80:
|
|
cmp r0, #5
|
|
bge _021FBD90
|
|
bl ov00_021FBDF0
|
|
ldmia sp!, {r4, pc}
|
|
_021FBD90:
|
|
cmp r0, #5
|
|
mov r0, r4
|
|
bne _021FBDA4
|
|
bl ov00_021FBDF8
|
|
ldmia sp!, {r4, pc}
|
|
_021FBDA4:
|
|
bl ov00_021FBE14
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021FBD5C
|
|
|
|
arm_func_start ov00_021FBDAC
|
|
ov00_021FBDAC: ; 0x021FBDAC
|
|
cmp r0, #3
|
|
addls pc, pc, r0, lsl #2
|
|
b _021FBDE8
|
|
_021FBDB8: ; jump table
|
|
b _021FBDD0 ; case 0
|
|
b _021FBDC8 ; case 1
|
|
b _021FBDD8 ; case 2
|
|
b _021FBDE0 ; case 3
|
|
_021FBDC8:
|
|
mvn r0, #8
|
|
bx lr
|
|
_021FBDD0:
|
|
mvn r0, #9
|
|
bx lr
|
|
_021FBDD8:
|
|
mvn r0, #7
|
|
bx lr
|
|
_021FBDE0:
|
|
mvn r0, #6
|
|
bx lr
|
|
_021FBDE8:
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end ov00_021FBDAC
|
|
|
|
arm_func_start ov00_021FBDF0
|
|
ov00_021FBDF0: ; 0x021FBDF0
|
|
mvn r0, #5
|
|
bx lr
|
|
arm_func_end ov00_021FBDF0
|
|
|
|
arm_func_start ov00_021FBDF8
|
|
ov00_021FBDF8: ; 0x021FBDF8
|
|
ldrb r0, [r0, #0xb]
|
|
cmp r0, #0
|
|
ldreq r0, _021FBE0C ; =0xFFFF3C4D
|
|
ldrne r0, _021FBE10 ; =0xFFFF3865
|
|
bx lr
|
|
.align 2, 0
|
|
_021FBE0C: .word 0xFFFF3C4D
|
|
_021FBE10: .word 0xFFFF3865
|
|
arm_func_end ov00_021FBDF8
|
|
|
|
arm_func_start ov00_021FBE14
|
|
ov00_021FBE14: ; 0x021FBE14
|
|
ldrb r1, [r0, #0x22]
|
|
ldrb r2, [r0, #0x16]
|
|
cmp r1, #0
|
|
ldreqb r1, [r0, #0x15]
|
|
cmp r2, #0xa
|
|
bhs _021FBE60
|
|
ldrb r0, [r0, #0x14]
|
|
cmp r0, #3
|
|
ldreq r0, _021FBEFC ; =0xFFFF3864
|
|
subeq r0, r0, r1
|
|
bxeq lr
|
|
cmp r0, #4
|
|
ldrne r0, _021FBF00 ; =0xFFFF379C
|
|
subne r0, r0, r1
|
|
bxne lr
|
|
mov r0, #0xc800
|
|
rsb r0, r0, #0
|
|
sub r0, r0, r1
|
|
bx lr
|
|
_021FBE60:
|
|
cmp r2, #0xd
|
|
ldrlo r0, _021FBF04 ; =0xFFFF34E0
|
|
sublo r0, r0, r1
|
|
bxlo lr
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0
|
|
ldreq r0, _021FBF08 ; =0xFFFF3CB0
|
|
subeq r0, r0, r1
|
|
bxeq lr
|
|
mvn r3, #0
|
|
cmp r0, r3
|
|
ldreq r0, _021FBF0C ; =0xFFFF347C
|
|
subeq r0, r0, r1
|
|
bxeq lr
|
|
sub r2, r3, #1
|
|
cmp r0, r2
|
|
ldreq r0, _021FBF10 ; =0xFFFF3418
|
|
subeq r0, r0, r1
|
|
bxeq lr
|
|
sub r2, r3, #2
|
|
cmp r0, r2
|
|
ldreq r0, _021FBF14 ; =0xFFFF33B4
|
|
subeq r0, r0, r1
|
|
bxeq lr
|
|
sub r2, r3, #3
|
|
cmp r0, r2
|
|
ldreq r0, _021FBF18 ; =0xFFFF30F8
|
|
subeq r0, r0, r1
|
|
bxeq lr
|
|
sub r2, r3, #4
|
|
cmp r0, r2
|
|
ldreq r0, _021FBF1C ; =0xFFFF3094
|
|
subeq r0, r0, r1
|
|
bxeq lr
|
|
sub r2, r3, #5
|
|
cmp r0, r2
|
|
ldreq r0, _021FBF20 ; =0xFFFF3030
|
|
subeq r0, r0, r1
|
|
bx lr
|
|
.align 2, 0
|
|
_021FBEFC: .word 0xFFFF3864
|
|
_021FBF00: .word 0xFFFF379C
|
|
_021FBF04: .word 0xFFFF34E0
|
|
_021FBF08: .word 0xFFFF3CB0
|
|
_021FBF0C: .word 0xFFFF347C
|
|
_021FBF10: .word 0xFFFF3418
|
|
_021FBF14: .word 0xFFFF33B4
|
|
_021FBF18: .word 0xFFFF30F8
|
|
_021FBF1C: .word 0xFFFF3094
|
|
_021FBF20: .word 0xFFFF3030
|
|
arm_func_end ov00_021FBE14
|
|
|
|
arm_func_start ov00_021FBF24
|
|
ov00_021FBF24: ; 0x021FBF24
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r0, #0x10
|
|
bl ov00_021FAE14
|
|
mov r4, r0
|
|
cmp r5, #0
|
|
beq _021FBF54
|
|
cmp r5, #1
|
|
beq _021FBF74
|
|
cmp r5, #2
|
|
beq _021FBF8C
|
|
b _021FBFB0
|
|
_021FBF54:
|
|
add r1, r4, #0x300
|
|
mov r0, #0
|
|
mov r2, #0x144
|
|
bl sub_020D47EC
|
|
mov r0, r4
|
|
bl ov00_021FC004
|
|
strb r0, [r4, #0xd10]
|
|
b _021FBFB0
|
|
_021FBF74:
|
|
bl ov00_021FC258
|
|
strb r0, [r4, #0xd10]
|
|
mov r0, r4
|
|
bl ov00_021FC2E8
|
|
strb r0, [r4, #0xd0f]
|
|
b _021FBFB0
|
|
_021FBF8C:
|
|
add r1, r4, #0x300
|
|
mov r0, #0
|
|
mov r2, #0x144
|
|
bl sub_020D47EC
|
|
mov r1, #0
|
|
mov r0, r4
|
|
strb r1, [r4, #0xd0f]
|
|
bl ov00_021FC064
|
|
strb r0, [r4, #0xd10]
|
|
_021FBFB0:
|
|
ldrb r0, [r4, #0xd10]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FBF24
|
|
|
|
arm_func_start ov00_021FBFB8
|
|
ov00_021FBFB8: ; 0x021FBFB8
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
mov r0, #0x10
|
|
bl ov00_021FAE14
|
|
ldrb r0, [r0, #0xd0c]
|
|
mov r0, r0, lsl #0x1c
|
|
movs r0, r0, lsr #0x1c
|
|
cmpne r0, #6
|
|
bne _021FBFF8
|
|
ldr r1, _021FC000 ; =_02216060
|
|
add r0, r4, #0xc
|
|
mov r2, #8
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
moveq r0, #8
|
|
ldmeqia sp!, {r4, pc}
|
|
_021FBFF8:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FC000: .word _02216060
|
|
arm_func_end ov00_021FBFB8
|
|
|
|
arm_func_start ov00_021FC004
|
|
ov00_021FC004: ; 0x021FC004
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
add r4, r5, #0x300
|
|
bl ov00_021FC150
|
|
ldrb r1, [r5, #0xd0c]
|
|
mov r5, r0
|
|
mov r0, #0x24
|
|
mla r4, r5, r0, r4
|
|
mov r1, r1, lsl #0x1c
|
|
movs r0, r1, lsr #0x1c
|
|
cmpne r0, #6
|
|
bne _021FC058
|
|
ldr r0, _021FC060 ; =_02216060
|
|
add r1, r4, #4
|
|
mov r2, #8
|
|
bl sub_020D4A50
|
|
mov r1, #8
|
|
strb r1, [r4, #3]
|
|
add r0, r5, #1
|
|
strb r1, [r4, #1]
|
|
and r5, r0, #0xff
|
|
_021FC058:
|
|
mov r0, r5
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021FC060: .word _02216060
|
|
arm_func_end ov00_021FC004
|
|
|
|
arm_func_start ov00_021FC064
|
|
ov00_021FC064: ; 0x021FC064
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
add r5, r6, #0x300
|
|
bl ov00_021FC150
|
|
ldrb r1, [r6, #0xd0c]
|
|
mov r4, r0
|
|
mov r0, #0x24
|
|
mla r5, r4, r0, r5
|
|
mov r1, r1, lsl #0x1c
|
|
movs r0, r1, lsr #0x1c
|
|
cmpne r0, #4
|
|
bne _021FC0C0
|
|
ldr r0, _021FC144 ; =_02217B8C
|
|
add r1, r5, #4
|
|
mov r2, #8
|
|
bl sub_020D4A50
|
|
mov r1, #8
|
|
add r0, r4, #1
|
|
strb r1, [r5, #3]
|
|
mov r1, #6
|
|
strb r1, [r5, #1]
|
|
and r4, r0, #0xff
|
|
add r5, r5, #0x24
|
|
_021FC0C0:
|
|
ldrb r0, [r6, #0xd0c]
|
|
mov r0, r0, lsl #0x1c
|
|
movs r0, r0, lsr #0x1c
|
|
cmpne r0, #7
|
|
bne _021FC100
|
|
ldr r0, _021FC148 ; =_02216058
|
|
add r1, r5, #4
|
|
mov r2, #8
|
|
bl sub_020D4A50
|
|
mov r1, #8
|
|
add r0, r4, #1
|
|
strb r1, [r5, #3]
|
|
mov r1, #9
|
|
strb r1, [r5, #1]
|
|
and r4, r0, #0xff
|
|
add r5, r5, #0x24
|
|
_021FC100:
|
|
ldrb r0, [r6, #0xd0c]
|
|
mov r0, r0, lsl #0x1c
|
|
movs r0, r0, lsr #0x1c
|
|
cmpne r0, #8
|
|
bne _021FC13C
|
|
ldr r0, _021FC14C ; =_02216068
|
|
add r1, r5, #4
|
|
mov r2, #0xb
|
|
bl sub_020D4A50
|
|
mov r1, #0xb
|
|
add r0, r4, #1
|
|
strb r1, [r5, #3]
|
|
mov r1, #0xa
|
|
strb r1, [r5, #1]
|
|
and r4, r0, #0xff
|
|
_021FC13C:
|
|
mov r0, r4
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021FC144: .word _02217B8C
|
|
_021FC148: .word _02216058
|
|
_021FC14C: .word _02216068
|
|
arm_func_end ov00_021FC064
|
|
|
|
arm_func_start ov00_021FC150
|
|
ov00_021FC150: ; 0x021FC150
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r2, #0
|
|
mov r3, r0
|
|
mov r1, r2
|
|
add ip, r0, #0x300
|
|
_021FC164:
|
|
ldrb r4, [r0, #0xd0c]
|
|
mov r4, r4, lsl #0x1c
|
|
movs r5, r4, lsr #0x1c
|
|
addne r4, r1, #1
|
|
cmpne r5, r4
|
|
bne _021FC240
|
|
ldrb r4, [r3, #0xe7]
|
|
cmp r4, #0xff
|
|
beq _021FC240
|
|
mov r6, #0
|
|
_021FC18C:
|
|
add r4, r3, r6
|
|
ldrb lr, [r4, #0x40]
|
|
cmp lr, #0
|
|
beq _021FC1B4
|
|
add r4, r6, #1
|
|
add r5, ip, r6
|
|
and r6, r4, #0xff
|
|
strb lr, [r5, #4]
|
|
cmp r6, #0x20
|
|
blo _021FC18C
|
|
_021FC1B4:
|
|
cmp r6, #0
|
|
moveq r4, #0
|
|
beq _021FC1CC
|
|
strb r6, [ip, #3]
|
|
strb r1, [ip, #1]
|
|
mov r4, #1
|
|
_021FC1CC:
|
|
cmp r4, #0
|
|
ldrb r4, [r3, #0xe7]
|
|
addne r2, r2, #1
|
|
andne r2, r2, #0xff
|
|
addne ip, ip, #0x24
|
|
cmp r4, #1
|
|
bne _021FC240
|
|
mov r6, #0
|
|
_021FC1EC:
|
|
add r4, r3, r6
|
|
ldrb r5, [r4, #0x60]
|
|
cmp r5, #0
|
|
beq _021FC214
|
|
add lr, r6, #1
|
|
add r4, ip, r6
|
|
and r6, lr, #0xff
|
|
strb r5, [r4, #4]
|
|
cmp r6, #0x20
|
|
blo _021FC1EC
|
|
_021FC214:
|
|
cmp r6, #0
|
|
moveq r4, #0
|
|
beq _021FC230
|
|
strb r6, [ip, #3]
|
|
add lr, r1, #3
|
|
strb lr, [ip, #1]
|
|
mov r4, #1
|
|
_021FC230:
|
|
cmp r4, #0
|
|
addne r2, r2, #1
|
|
andne r2, r2, #0xff
|
|
addne ip, ip, #0x24
|
|
_021FC240:
|
|
add r1, r1, #1
|
|
cmp r1, #3
|
|
add r3, r3, #0x100
|
|
blt _021FC164
|
|
mov r0, r2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021FC150
|
|
|
|
arm_func_start ov00_021FC258
|
|
ov00_021FC258: ; 0x021FC258
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldrb r3, [r0, #0xd12]
|
|
mov r2, #0
|
|
mov r1, r2
|
|
cmp r3, #0
|
|
ble _021FC2E0
|
|
add r3, r0, #0x47
|
|
mov ip, r0
|
|
add r3, r3, #0x400
|
|
_021FC27C:
|
|
add r4, r0, r1, lsl #2
|
|
ldrb r4, [r4, #0x444]
|
|
cmp r4, #0
|
|
bne _021FC2BC
|
|
add lr, ip, #0x400
|
|
ldrh r4, [lr, #0xa6]
|
|
ldrb lr, [r3]
|
|
sub r5, r4, #1
|
|
mov r4, lr, lsl #0x19
|
|
cmp r5, r4, lsr #25
|
|
beq _021FC2BC
|
|
bic lr, lr, #0x80
|
|
add r2, r2, #1
|
|
strb lr, [r3]
|
|
and r2, r2, #0xff
|
|
b _021FC2C8
|
|
_021FC2BC:
|
|
ldrb lr, [r3]
|
|
orr lr, lr, #0x80
|
|
strb lr, [r3]
|
|
_021FC2C8:
|
|
ldrb lr, [r0, #0xd12]
|
|
add r1, r1, #1
|
|
add r3, r3, #4
|
|
cmp r1, lr
|
|
add ip, ip, #0xc0
|
|
blt _021FC27C
|
|
_021FC2E0:
|
|
mov r0, r2
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FC258
|
|
|
|
arm_func_start ov00_021FC2E8
|
|
ov00_021FC2E8: ; 0x021FC2E8
|
|
ldrb ip, [r0, #0xd12]
|
|
mov r3, #0
|
|
mov r2, r3
|
|
cmp ip, #0
|
|
bls _021FC324
|
|
_021FC2FC:
|
|
add r1, r0, r2, lsl #2
|
|
ldrb r1, [r1, #0x447]
|
|
mov r1, r1, lsl #0x18
|
|
movs r1, r1, lsr #0x1f
|
|
moveq r3, r2
|
|
beq _021FC324
|
|
add r1, r2, #1
|
|
and r2, r1, #0xff
|
|
cmp r2, ip
|
|
blo _021FC2FC
|
|
_021FC324:
|
|
mov r0, r3
|
|
bx lr
|
|
arm_func_end ov00_021FC2E8
|
|
|
|
arm_func_start ov00_021FC32C
|
|
ov00_021FC32C: ; 0x021FC32C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r0, #0x10
|
|
bl ov00_021FAE14
|
|
mov r4, r0
|
|
mov r5, #9
|
|
bl sub_020AE420
|
|
cmp r0, #0xc
|
|
addls pc, pc, r0, lsl #2
|
|
b _021FC400
|
|
_021FC350: ; jump table
|
|
b _021FC400 ; case 0
|
|
b _021FC400 ; case 1
|
|
b _021FC400 ; case 2
|
|
b _021FC384 ; case 3
|
|
b _021FC400 ; case 4
|
|
b _021FC400 ; case 5
|
|
b _021FC3D0 ; case 6
|
|
b _021FC400 ; case 7
|
|
b _021FC400 ; case 8
|
|
b _021FC3D8 ; case 9
|
|
b _021FC400 ; case 10
|
|
b _021FC3F4 ; case 11
|
|
b _021FC3E0 ; case 12
|
|
_021FC384:
|
|
ldrb r0, [r4, #0xd0c]
|
|
ldrb r5, [r4, #0xd0e]
|
|
mov r0, r0, lsl #0x18
|
|
mov r0, r0, lsr #0x1e
|
|
cmp r0, #1
|
|
bne _021FC3B4
|
|
ldrb r0, [r4, #0xd13]
|
|
mov r1, #0
|
|
mov r5, #7
|
|
add r0, r4, r0, lsl #2
|
|
strb r1, [r0, #0x444]
|
|
b _021FC400
|
|
_021FC3B4:
|
|
cmp r5, #3
|
|
blo _021FC400
|
|
cmp r5, #5
|
|
bhi _021FC400
|
|
mov r0, r5
|
|
bl ov00_021FC568
|
|
b _021FC400
|
|
_021FC3D0:
|
|
bl sub_020ADE4C
|
|
b _021FC400
|
|
_021FC3D8:
|
|
bl sub_020AE0F4
|
|
b _021FC400
|
|
_021FC3E0:
|
|
bl sub_020AE210
|
|
mov r0, #4
|
|
bl ov00_021FAEE8
|
|
mov r5, #0x11
|
|
b _021FC400
|
|
_021FC3F4:
|
|
mov r0, #0
|
|
bl ov00_021FAEE8
|
|
mov r5, #0x11
|
|
_021FC400:
|
|
mov r0, r5
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FC32C
|
|
|
|
arm_func_start ov00_021FC408
|
|
ov00_021FC408: ; 0x021FC408
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r0, #0x10
|
|
bl ov00_021FAE14
|
|
mov r4, r0
|
|
bl ov00_021FAECC
|
|
mov r5, r0
|
|
bl sub_020AE420
|
|
cmp r5, #2
|
|
cmpeq r0, #3
|
|
bne _021FC440
|
|
mov r0, r4
|
|
bl ov00_021FC648
|
|
mov r5, r0
|
|
b _021FC4C4
|
|
_021FC440:
|
|
cmp r5, #6
|
|
bne _021FC45C
|
|
mov r0, r4
|
|
mov r1, r5
|
|
bl ov00_021FCA90
|
|
mov r5, r0
|
|
b _021FC4C4
|
|
_021FC45C:
|
|
cmp r0, #3
|
|
cmpne r0, #6
|
|
bne _021FC4C4
|
|
mov r0, r4
|
|
mov r1, r5
|
|
bl ov00_021FCA90
|
|
mov r5, r0
|
|
cmp r5, #7
|
|
beq _021FC4C4
|
|
cmp r5, #3
|
|
bne _021FC498
|
|
mov r0, r4
|
|
bl ov00_021FC698
|
|
mov r5, r0
|
|
b _021FC4C4
|
|
_021FC498:
|
|
cmp r5, #4
|
|
bne _021FC4B0
|
|
mov r0, r4
|
|
bl ov00_021FC784
|
|
mov r5, r0
|
|
b _021FC4C4
|
|
_021FC4B0:
|
|
cmp r5, #5
|
|
bne _021FC4C4
|
|
mov r0, r4
|
|
bl ov00_021FC8AC
|
|
mov r5, r0
|
|
_021FC4C4:
|
|
mov r0, r5
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FC408
|
|
|
|
arm_func_start ov00_021FC4CC
|
|
ov00_021FC4CC: ; 0x021FC4CC
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
mov r0, #0x10
|
|
bl ov00_021FAE14
|
|
add r0, r0, #0xd00
|
|
cmp r4, #0xd
|
|
movhi r4, #0xd
|
|
ldrh r3, [r0, #0x16]
|
|
sub r1, r4, #1
|
|
mov r2, #1
|
|
orr r1, r3, r2, lsl r1
|
|
strh r1, [r0, #0x16]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021FC4CC
|
|
|
|
arm_func_start ov00_021FC500
|
|
ov00_021FC500: ; 0x021FC500
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
mov r0, #0x10
|
|
bl ov00_021FAE14
|
|
add r0, r0, #0xd00
|
|
ldrh ip, [r0, #0x16]
|
|
cmp ip, #0
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r2, #0
|
|
mov r3, r2
|
|
mov r1, #1
|
|
_021FC530:
|
|
tst ip, r1, lsl r2
|
|
beq _021FC550
|
|
cmp r3, r4
|
|
moveq r0, r2, lsl #0x18
|
|
moveq r0, r0, asr #0x18
|
|
ldmeqia sp!, {r4, pc}
|
|
add r0, r3, #1
|
|
and r3, r0, #0xff
|
|
_021FC550:
|
|
add r0, r2, #1
|
|
and r2, r0, #0xff
|
|
cmp r2, #0xd
|
|
blo _021FC530
|
|
mvn r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021FC500
|
|
|
|
arm_func_start ov00_021FC568
|
|
ov00_021FC568: ; 0x021FC568
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r0, #0x10
|
|
bl ov00_021FAE14
|
|
mov r4, r0
|
|
cmp r5, #3
|
|
beq _021FC598
|
|
cmp r5, #4
|
|
beq _021FC5C0
|
|
cmp r5, #5
|
|
beq _021FC60C
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021FC598:
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0xcb0]
|
|
str r1, [r4, #0xcb4]
|
|
add r0, r4, #0xd00
|
|
ldrsb r2, [r0, #0x11]
|
|
ldr r0, _021FC640 ; =0x02108FC0
|
|
ldr r1, _021FC644 ; =0x02108FC8
|
|
mov r3, #0x200000
|
|
bl ov00_021FCBB4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021FC5C0:
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0xcb0]
|
|
str r1, [r4, #0xcb4]
|
|
ldrb r2, [r4, #0xd0f]
|
|
mov r0, #0xc0
|
|
add r1, r4, #0x74
|
|
smulbb ip, r2, r0
|
|
add r0, r4, ip
|
|
add r0, r0, #0x400
|
|
ldrh r2, [r0, #0xa6]
|
|
add r0, r4, #0x7c
|
|
add r3, r1, #0x400
|
|
add r1, r0, #0x400
|
|
add r0, r3, ip
|
|
add r1, r1, ip
|
|
sub r2, r2, #1
|
|
mov r3, #0x300000
|
|
bl ov00_021FCBB4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021FC60C:
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0xcb0]
|
|
str r1, [r4, #0xcb4]
|
|
ldrb r3, [r4, #0xd0f]
|
|
add r1, r4, #0x304
|
|
mov r0, #0x24
|
|
add r2, r4, #0xd00
|
|
mla r1, r3, r0, r1
|
|
ldrsb r2, [r2, #0x11]
|
|
ldr r0, _021FC640 ; =0x02108FC0
|
|
mov r3, #0x300000
|
|
bl ov00_021FCBB4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021FC640: .word 0x02108FC0
|
|
_021FC644: .word 0x02108FC8
|
|
arm_func_end ov00_021FC568
|
|
|
|
arm_func_start ov00_021FC648
|
|
ov00_021FC648: ; 0x021FC648
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0xcb0]
|
|
str r1, [r4, #0xcb4]
|
|
mov r0, #0
|
|
strb r0, [r4, #0xd11]
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0xcb0]
|
|
str r1, [r4, #0xcb4]
|
|
add r0, r4, #0xd00
|
|
ldrsb r2, [r0, #0x11]
|
|
ldr r0, _021FC690 ; =0x02108FC0
|
|
ldr r1, _021FC694 ; =0x02108FC8
|
|
mov r3, #0x200000
|
|
bl ov00_021FCBB4
|
|
mov r0, #3
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FC690: .word 0x02108FC0
|
|
_021FC694: .word 0x02108FC8
|
|
arm_func_end ov00_021FC648
|
|
|
|
arm_func_start ov00_021FC698
|
|
ov00_021FC698: ; 0x021FC698
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
ldr r3, [r4, #0xcb0]
|
|
ldr r2, [r4, #0xcb4]
|
|
subs r3, r0, r3
|
|
sbc r0, r1, r2
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021FC730 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
cmp r1, #0
|
|
cmpeq r0, #0x12c
|
|
blo _021FC728
|
|
add r0, r4, #0xd00
|
|
ldrsb r1, [r0, #0x11]
|
|
add r1, r1, #2
|
|
strb r1, [r4, #0xd11]
|
|
ldrsb r0, [r0, #0x11]
|
|
cmp r0, #0xd
|
|
blt _021FC704
|
|
mov r0, r4
|
|
mov r1, #3
|
|
bl ov00_021FC9CC
|
|
ldmia sp!, {r4, pc}
|
|
_021FC704:
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0xcb0]
|
|
str r1, [r4, #0xcb4]
|
|
add r0, r4, #0xd00
|
|
ldrsb r2, [r0, #0x11]
|
|
ldr r0, _021FC734 ; =0x02108FC0
|
|
ldr r1, _021FC738 ; =0x02108FC8
|
|
mov r3, #0x200000
|
|
bl ov00_021FCBB4
|
|
_021FC728:
|
|
mov r0, #3
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FC730: .word 0x000082EA
|
|
_021FC734: .word 0x02108FC0
|
|
_021FC738: .word 0x02108FC8
|
|
arm_func_end ov00_021FC698
|
|
|
|
arm_func_start ov00_021FC73C
|
|
ov00_021FC73C: ; 0x021FC73C
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
mov r0, #0
|
|
strb r0, [r4, #0xd15]
|
|
ldrb r2, [r4, #0xd0b]
|
|
mov r1, r2, lsl #0x18
|
|
mov r1, r1, lsr #0x1c
|
|
add r1, r1, #1
|
|
and r1, r1, #0xff
|
|
bic r2, r2, #0xf0
|
|
mov r1, r1, lsl #0x1c
|
|
orr r1, r2, r1, lsr #24
|
|
strb r1, [r4, #0xd0b]
|
|
bl ov00_021FBF24
|
|
mov r0, #1
|
|
strb r0, [r4, #0xd11]
|
|
mov r0, #3
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021FC73C
|
|
|
|
arm_func_start ov00_021FC784
|
|
ov00_021FC784: ; 0x021FC784
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
ldr r3, [r4, #0xcb0]
|
|
ldr r2, [r4, #0xcb4]
|
|
subs r3, r0, r3
|
|
sbc r0, r1, r2
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021FC8A8 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
cmp r1, #0
|
|
cmpeq r0, #0x96
|
|
bhs _021FC7E0
|
|
ldrb r0, [r4, #0xd0f]
|
|
add r0, r4, r0, lsl #2
|
|
ldrb r0, [r0, #0x447]
|
|
mov r0, r0, lsl #0x18
|
|
mov r0, r0, lsr #0x1f
|
|
cmp r0, #1
|
|
bne _021FC8A0
|
|
_021FC7E0:
|
|
ldrb r1, [r4, #0xd0f]
|
|
add r0, r4, #0x47
|
|
add r2, r0, #0x400
|
|
ldrb r0, [r2, r1, lsl #2]
|
|
orr r0, r0, #0x80
|
|
strb r0, [r2, r1, lsl #2]
|
|
ldrb r2, [r4, #0xd12]
|
|
ldrb r1, [r4, #0xd0f]
|
|
cmp r1, r2
|
|
bhs _021FC838
|
|
_021FC808:
|
|
add r0, r4, r1, lsl #2
|
|
ldrb r0, [r0, #0x447]
|
|
mov r0, r0, lsl #0x18
|
|
movs r0, r0, lsr #0x1f
|
|
beq _021FC838
|
|
ldrb r0, [r4, #0xd0f]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #0xd0f]
|
|
ldrb r2, [r4, #0xd12]
|
|
and r1, r0, #0xff
|
|
cmp r1, r2
|
|
blo _021FC808
|
|
_021FC838:
|
|
cmp r2, r1
|
|
bhi _021FC858
|
|
mov r2, #0
|
|
mov r0, r4
|
|
mov r1, #4
|
|
strb r2, [r4, #0xd0f]
|
|
bl ov00_021FC9CC
|
|
ldmia sp!, {r4, pc}
|
|
_021FC858:
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0xcb0]
|
|
str r1, [r4, #0xcb4]
|
|
ldrb r2, [r4, #0xd0f]
|
|
mov r0, #0xc0
|
|
add r1, r4, #0x74
|
|
smulbb ip, r2, r0
|
|
add r0, r4, ip
|
|
add r0, r0, #0x400
|
|
ldrh r2, [r0, #0xa6]
|
|
add r0, r4, #0x7c
|
|
add r3, r1, #0x400
|
|
add r1, r0, #0x400
|
|
add r0, r3, ip
|
|
add r1, r1, ip
|
|
sub r2, r2, #1
|
|
mov r3, #0x300000
|
|
bl ov00_021FCBB4
|
|
_021FC8A0:
|
|
mov r0, #4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FC8A8: .word 0x000082EA
|
|
arm_func_end ov00_021FC784
|
|
|
|
arm_func_start ov00_021FC8AC
|
|
ov00_021FC8AC: ; 0x021FC8AC
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl sub_020D34B0
|
|
ldr r3, [r4, #0xcb0]
|
|
ldr r2, [r4, #0xcb4]
|
|
subs r3, r0, r3
|
|
sbc r0, r1, r2
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021FC9C4 ; =0x000082EA
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
cmp r1, #0
|
|
cmpeq r0, #0x96
|
|
bhs _021FC90C
|
|
ldrb r1, [r4, #0xd0f]
|
|
mov r0, #0x24
|
|
mla r0, r1, r0, r4
|
|
ldrb r0, [r0, #0x300]
|
|
mov r0, r0, lsl #0x1c
|
|
mov r0, r0, lsr #0x1c
|
|
cmp r0, #1
|
|
bne _021FC9BC
|
|
_021FC90C:
|
|
ldrb r1, [r4, #0xd0f]
|
|
mov r0, #0x24
|
|
add r2, r4, #0x300
|
|
smulbb r1, r1, r0
|
|
ldrb r0, [r2, r1]
|
|
bic r0, r0, #0xf
|
|
strb r0, [r2, r1]
|
|
ldrb r0, [r4, #0xd0f]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #0xd0f]
|
|
ldrb r1, [r4, #0xd10]
|
|
and r0, r0, #0xff
|
|
cmp r1, r0
|
|
bhi _021FC964
|
|
ldrb r1, [r4, #0xd15]
|
|
mov r0, #0
|
|
add r1, r1, #1
|
|
strb r1, [r4, #0xd15]
|
|
strb r0, [r4, #0xd0f]
|
|
ldrb r0, [r4, #0xd15]
|
|
bl ov00_021FC500
|
|
strb r0, [r4, #0xd11]
|
|
_021FC964:
|
|
add r0, r4, #0xd00
|
|
ldrsb r0, [r0, #0x11]
|
|
cmp r0, #0
|
|
bge _021FC98C
|
|
mov r2, #0
|
|
mov r0, r4
|
|
mov r1, #5
|
|
strb r2, [r4, #0xd15]
|
|
bl ov00_021FC9CC
|
|
ldmia sp!, {r4, pc}
|
|
_021FC98C:
|
|
bl sub_020D34B0
|
|
str r0, [r4, #0xcb0]
|
|
str r1, [r4, #0xcb4]
|
|
ldrb r3, [r4, #0xd0f]
|
|
add r1, r4, #0x304
|
|
mov r0, #0x24
|
|
add r2, r4, #0xd00
|
|
mla r1, r3, r0, r1
|
|
ldrsb r2, [r2, #0x11]
|
|
ldr r0, _021FC9C8 ; =0x02108FC0
|
|
mov r3, #0x300000
|
|
bl ov00_021FCBB4
|
|
_021FC9BC:
|
|
mov r0, #5
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FC9C4: .word 0x000082EA
|
|
_021FC9C8: .word 0x02108FC0
|
|
arm_func_end ov00_021FC8AC
|
|
|
|
arm_func_start ov00_021FC9CC
|
|
ov00_021FC9CC: ; 0x021FC9CC
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r1
|
|
mov r5, r0
|
|
cmp r4, #3
|
|
beq _021FC9F4
|
|
cmp r4, #4
|
|
beq _021FCA54
|
|
cmp r4, #5
|
|
beq _021FCA60
|
|
b _021FCA80
|
|
_021FC9F4:
|
|
ldrb r1, [r5, #0xd12]
|
|
cmp r1, #0
|
|
addeq r1, r5, #0xd00
|
|
ldreqh r1, [r1, #0x16]
|
|
cmpeq r1, #0
|
|
beq _021FCA30
|
|
mov r0, #1
|
|
bl ov00_021FBF24
|
|
cmp r0, #0
|
|
movne r4, #4
|
|
bne _021FCA80
|
|
mov r0, r5
|
|
bl ov00_021FCB54
|
|
mov r4, r0
|
|
b _021FCA80
|
|
_021FCA30:
|
|
ldrb r1, [r5, #0xd0b]
|
|
mov r1, r1, lsl #0x18
|
|
mov r1, r1, lsr #0x1c
|
|
cmp r1, #1
|
|
movhs r4, #6
|
|
bhs _021FCA80
|
|
bl ov00_021FC73C
|
|
mov r4, r0
|
|
b _021FCA80
|
|
_021FCA54:
|
|
bl ov00_021FCB54
|
|
mov r4, r0
|
|
b _021FCA80
|
|
_021FCA60:
|
|
ldrb r1, [r5, #0xd0b]
|
|
mov r1, r1, lsl #0x18
|
|
mov r1, r1, lsr #0x1c
|
|
cmp r1, #1
|
|
movhs r4, #6
|
|
bhs _021FCA80
|
|
bl ov00_021FC73C
|
|
mov r4, r0
|
|
_021FCA80:
|
|
mov r0, r4
|
|
bl ov00_021FC568
|
|
mov r0, r4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FC9CC
|
|
|
|
arm_func_start ov00_021FCA90
|
|
ov00_021FCA90: ; 0x021FCA90
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r1
|
|
mov r5, r0
|
|
cmp r4, #0x11
|
|
moveq r0, r4
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldrb r2, [r5, #0xd12]
|
|
mov r1, #0
|
|
cmp r2, #0
|
|
bls _021FCAD8
|
|
_021FCAB8:
|
|
add r0, r5, r1, lsl #2
|
|
ldrb r0, [r0, #0x444]
|
|
cmp r0, #0
|
|
beq _021FCAD8
|
|
add r0, r1, #1
|
|
and r1, r0, #0xff
|
|
cmp r1, r2
|
|
blo _021FCAB8
|
|
_021FCAD8:
|
|
cmp r4, #6
|
|
bne _021FCB0C
|
|
cmp r2, r1
|
|
bne _021FCB38
|
|
cmp r1, #0
|
|
bne _021FCAFC
|
|
mov r0, #5
|
|
bl ov00_021FAEE8
|
|
b _021FCB04
|
|
_021FCAFC:
|
|
mov r0, #6
|
|
bl ov00_021FAEE8
|
|
_021FCB04:
|
|
mov r0, #0x11
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021FCB0C:
|
|
cmp r2, #0
|
|
moveq r0, r4
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
cmp r2, r1
|
|
moveq r0, r4
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
add r0, r5, r1, lsl #2
|
|
ldrb r0, [r0, #0x446]
|
|
cmp r0, #0x14
|
|
movlo r0, r4
|
|
ldmloia sp!, {r3, r4, r5, pc}
|
|
_021FCB38:
|
|
strb r1, [r5, #0xd13]
|
|
bl sub_020ADE4C
|
|
cmp r0, #1
|
|
strneb r4, [r5, #0xd0e]
|
|
movne r4, #7
|
|
mov r0, r4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FCA90
|
|
|
|
arm_func_start ov00_021FCB54
|
|
ov00_021FCB54: ; 0x021FCB54
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r0, r4, #0xd00
|
|
ldrh r0, [r0, #0x16]
|
|
cmp r0, #0
|
|
beq _021FCB90
|
|
mov r0, #2
|
|
bl ov00_021FBF24
|
|
cmp r0, #0
|
|
beq _021FCB90
|
|
mov r0, #0
|
|
bl ov00_021FC500
|
|
strb r0, [r4, #0xd11]
|
|
mov r0, #5
|
|
ldmia sp!, {r4, pc}
|
|
_021FCB90:
|
|
ldrb r0, [r4, #0xd0b]
|
|
mov r0, r0, lsl #0x18
|
|
mov r0, r0, lsr #0x1c
|
|
cmp r0, #1
|
|
movhs r0, #6
|
|
ldmhsia sp!, {r4, pc}
|
|
mov r0, r4
|
|
bl ov00_021FC73C
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021FCB54
|
|
|
|
arm_func_start ov00_021FCBB4
|
|
ov00_021FCBB4: ; 0x021FCBB4
|
|
stmdb sp!, {r3, lr}
|
|
ldr ip, _021FCBD4 ; =_02216074
|
|
cmp r2, #0xc
|
|
movgt r2, #0xc
|
|
ldr r2, [ip, r2, lsl #2]
|
|
orr r2, r3, r2
|
|
bl sub_020ADCB4
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021FCBD4: .word _02216074
|
|
arm_func_end ov00_021FCBB4
|
|
|
|
arm_func_start ov00_021FCBD8
|
|
ov00_021FCBD8: ; 0x021FCBD8
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x10
|
|
bl sub_020AE420
|
|
mov r4, r0
|
|
mov r0, #0x10
|
|
bl ov00_021FAE14
|
|
cmp r4, #1
|
|
bne _021FCC44
|
|
ldrb r1, [r0, #0xd0a]
|
|
mov r0, #0
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
bl ov00_021FBF24
|
|
ldr r1, _021FCC5C ; =ov00_021FB62C
|
|
add r0, sp, #0
|
|
bl sub_020AD9C0
|
|
cmp r0, #1
|
|
beq _021FCC30
|
|
cmp r0, #4
|
|
blt _021FCC50
|
|
_021FCC30:
|
|
mov r0, #1
|
|
bl ov00_021FAEE8
|
|
add sp, sp, #0x10
|
|
mov r0, #0x11
|
|
ldmia sp!, {r4, pc}
|
|
_021FCC44:
|
|
add sp, sp, #0x10
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
_021FCC50:
|
|
mov r0, #2
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FCC5C: .word ov00_021FB62C
|
|
arm_func_end ov00_021FCBD8
|
|
|
|
arm_func_start ov00_021FCC60
|
|
ov00_021FCC60: ; 0x021FCC60
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
bl ov00_021FAECC
|
|
mov r4, r0
|
|
mov r0, #0x10
|
|
bl ov00_021FAE14
|
|
mov r5, r0
|
|
bl sub_020AE420
|
|
cmp r0, #9
|
|
bne _021FCD04
|
|
sub r0, r4, #0xa
|
|
cmp r0, #5
|
|
addls pc, pc, r0, lsl #2
|
|
b _021FCD54
|
|
_021FCC94: ; jump table
|
|
b _021FCCAC ; case 0
|
|
b _021FCCF8 ; case 1
|
|
b _021FCCBC ; case 2
|
|
b _021FCCCC ; case 3
|
|
b _021FCCD8 ; case 4
|
|
b _021FCCE8 ; case 5
|
|
_021FCCAC:
|
|
mov r0, r5
|
|
bl ov00_021FCD5C
|
|
mov r4, r0
|
|
b _021FCD54
|
|
_021FCCBC:
|
|
mov r0, r5
|
|
bl ov00_021FCDC0
|
|
mov r4, r0
|
|
b _021FCD54
|
|
_021FCCCC:
|
|
bl ov00_021FCE50
|
|
mov r4, r0
|
|
b _021FCD54
|
|
_021FCCD8:
|
|
mov r0, r5
|
|
bl ov00_021FCE7C
|
|
mov r4, r0
|
|
b _021FCD54
|
|
_021FCCE8:
|
|
mov r0, r5
|
|
bl ov00_021FCEE8
|
|
mov r4, r0
|
|
b _021FCD54
|
|
_021FCCF8:
|
|
bl ov00_021FCEFC
|
|
mov r4, r0
|
|
b _021FCD54
|
|
_021FCD04:
|
|
cmp r4, #0xb
|
|
beq _021FCD2C
|
|
cmp r4, #0xe
|
|
beq _021FCD38
|
|
cmp r4, #0xf
|
|
bne _021FCD40
|
|
mov r0, r5
|
|
bl ov00_021FCEE8
|
|
mov r4, r0
|
|
b _021FCD54
|
|
_021FCD2C:
|
|
bl ov00_021FCEFC
|
|
mov r4, r0
|
|
b _021FCD54
|
|
_021FCD38:
|
|
bl ov00_021EA518
|
|
bl ov00_021EA420
|
|
_021FCD40:
|
|
ldrb r0, [r5, #0xd13]
|
|
mov r1, #2
|
|
mov r4, #0xb
|
|
add r0, r5, r0, lsl #2
|
|
strb r1, [r0, #0x444]
|
|
_021FCD54:
|
|
mov r0, r4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FCC60
|
|
|
|
arm_func_start ov00_021FCD5C
|
|
ov00_021FCD5C: ; 0x021FCD5C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r0, #1
|
|
bl ov00_021FAE14
|
|
mov r5, r0
|
|
mov r0, #4
|
|
bl ov00_021FAE14
|
|
mov r4, r0
|
|
mov r0, r5
|
|
mov r1, r6
|
|
mov r2, r4
|
|
bl ov00_021FCF2C
|
|
ldr r1, _021FCDBC ; =0x021D4420
|
|
mov r2, #4
|
|
mov r0, r4
|
|
str r2, [r1]
|
|
bl sub_020A33FC
|
|
cmp r0, #0
|
|
moveq r0, #0xc
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
mov r0, #2
|
|
bl ov00_021FAEE8
|
|
mov r0, #0x11
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021FCDBC: .word 0x021D4420
|
|
arm_func_end ov00_021FCD5C
|
|
|
|
arm_func_start ov00_021FCDC0
|
|
ov00_021FCDC0: ; 0x021FCDC0
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl sub_020A3228
|
|
cmp r0, #0
|
|
beq _021FCDF8
|
|
mov r0, r4
|
|
bl ov00_021FD094
|
|
ldrb r0, [r4, #0xd0c]
|
|
mov r0, r0, lsl #0x1a
|
|
mov r0, r0, lsr #0x1e
|
|
cmp r0, #1
|
|
moveq r0, #0xf
|
|
movne r0, #0xd
|
|
ldmia sp!, {r4, pc}
|
|
_021FCDF8:
|
|
bl sub_020D34B0
|
|
ldr r3, [r4, #0xcb0]
|
|
ldr r2, [r4, #0xcb4]
|
|
subs r3, r0, r3
|
|
sbc r0, r1, r2
|
|
mov r1, r0, lsl #6
|
|
ldr r2, _021FCE4C ; =0x01FF6210
|
|
orr r1, r1, r3, lsr #26
|
|
mov r0, r3, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
cmp r1, #0
|
|
cmpeq r0, #0xa
|
|
movlo r0, #0xc
|
|
ldmloia sp!, {r4, pc}
|
|
ldrb r1, [r4, #0xd13]
|
|
mov r2, #1
|
|
mov r0, #0xb
|
|
add r1, r4, r1, lsl #2
|
|
strb r2, [r1, #0x444]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FCE4C: .word 0x01FF6210
|
|
arm_func_end ov00_021FCDC0
|
|
|
|
arm_func_start ov00_021FCE50
|
|
ov00_021FCE50: ; 0x021FCE50
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #8
|
|
bl ov00_021FAE14
|
|
bl ov00_021EA340
|
|
cmp r0, #0
|
|
moveq r0, #0xe
|
|
ldmeqia sp!, {r3, pc}
|
|
mov r0, #3
|
|
bl ov00_021FAEE8
|
|
mov r0, #0x11
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FCE50
|
|
|
|
arm_func_start ov00_021FCE7C
|
|
ov00_021FCE7C: ; 0x021FCE7C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r0, #1
|
|
bl ov00_021FAE14
|
|
mov r4, r0
|
|
bl ov00_021EA580
|
|
movs r5, r0
|
|
beq _021FCEE0
|
|
ldrb r0, [r6, #0xd0d]
|
|
bl ov00_021FAFC8
|
|
ldrb r1, [r4, #0x15]
|
|
cmp r1, r0
|
|
bne _021FCEB8
|
|
bl ov00_021EA5C0
|
|
str r0, [r4, #0x10]
|
|
_021FCEB8:
|
|
bl ov00_021EA420
|
|
cmp r5, #0xb
|
|
moveq r0, #0xf
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldrb r1, [r6, #0xd13]
|
|
mov r2, #1
|
|
mov r0, #0xb
|
|
add r1, r6, r1, lsl #2
|
|
strb r2, [r1, #0x444]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021FCEE0:
|
|
mov r0, #0xe
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021FCE7C
|
|
|
|
arm_func_start ov00_021FCEE8
|
|
ov00_021FCEE8: ; 0x021FCEE8
|
|
stmdb sp!, {r3, lr}
|
|
ldrb r0, [r0, #0xd0d]
|
|
bl ov00_021FAF20
|
|
mov r0, #0x10
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FCEE8
|
|
|
|
arm_func_start ov00_021FCEFC
|
|
ov00_021FCEFC: ; 0x021FCEFC
|
|
stmdb sp!, {r3, lr}
|
|
bl sub_020A2A64
|
|
cmp r0, #0
|
|
movne r0, #0xb
|
|
ldmneia sp!, {r3, pc}
|
|
bl sub_020A3570
|
|
cmp r0, #0
|
|
mvnne r1, #0x26
|
|
cmpne r0, r1
|
|
moveq r0, #9
|
|
movne r0, #0xb
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FCEFC
|
|
|
|
arm_func_start ov00_021FCF2C
|
|
ov00_021FCF2C: ; 0x021FCF2C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r4, r2
|
|
mov r5, r1
|
|
ldr r0, _021FCFE8 ; =_022160A8
|
|
mov r1, r4
|
|
mov r2, #0x58
|
|
bl sub_020D4A50
|
|
ldr r0, [r6]
|
|
str r0, [r4, #4]
|
|
ldr r0, [r6, #4]
|
|
str r0, [r4, #8]
|
|
ldrb r0, [r5, #0xd0d]
|
|
cmp r0, #6
|
|
ldmhsia sp!, {r4, r5, r6, pc}
|
|
bl ov00_021FAFC8
|
|
add r5, r5, r0, lsl #8
|
|
ldrb r0, [r5, #0xc0]
|
|
cmp r0, #0
|
|
beq _021FCFC4
|
|
mov r0, #0
|
|
str r0, [r4, #0xc]
|
|
add r0, r5, #0xc0
|
|
bl ov00_021FCFEC
|
|
str r0, [r4, #0x10]
|
|
ldrb r0, [r5, #0xd0]
|
|
bl ov00_021FD040
|
|
str r0, [r4, #0x14]
|
|
add r0, r5, #0xc4
|
|
bl ov00_021FCFEC
|
|
str r0, [r4, #0x18]
|
|
add r0, r5, #0xc8
|
|
bl ov00_021FCFEC
|
|
str r0, [r4, #0x1c]
|
|
add r0, r5, #0xcc
|
|
bl ov00_021FCFEC
|
|
str r0, [r4, #0x20]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021FCFC4:
|
|
mov r0, #1
|
|
str r0, [r4, #0xc]
|
|
mov r0, #0
|
|
str r0, [r4, #0x10]
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
str r0, [r4, #0x1c]
|
|
str r0, [r4, #0x20]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021FCFE8: .word _022160A8
|
|
arm_func_end ov00_021FCF2C
|
|
|
|
arm_func_start ov00_021FCFEC
|
|
ov00_021FCFEC: ; 0x021FCFEC
|
|
ldrb r1, [r0]
|
|
ldrb r2, [r0, #1]
|
|
mov r3, #0
|
|
orr r3, r3, r1, lsl #24
|
|
ldrb r1, [r0, #2]
|
|
orr r2, r3, r2, lsl #16
|
|
ldrb r0, [r0, #3]
|
|
orr r1, r2, r1, lsl #8
|
|
orr r3, r1, r0
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
bx lr
|
|
arm_func_end ov00_021FCFEC
|
|
|
|
arm_func_start ov00_021FD040
|
|
ov00_021FD040: ; 0x021FD040
|
|
rsb r1, r0, #0x20
|
|
cmp r1, #0
|
|
mvn r3, #0
|
|
mov r0, #0
|
|
ble _021FD064
|
|
_021FD054:
|
|
add r0, r0, #1
|
|
cmp r0, r1
|
|
mov r3, r3, lsl #1
|
|
blt _021FD054
|
|
_021FD064:
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
bx lr
|
|
arm_func_end ov00_021FD040
|
|
|
|
arm_func_start ov00_021FD094
|
|
ov00_021FD094: ; 0x021FD094
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #8
|
|
mov r4, r0
|
|
ldrb r0, [r4, #0xd0d]
|
|
cmp r0, #6
|
|
addhs sp, sp, #8
|
|
ldmhsia sp!, {r4, pc}
|
|
bl ov00_021FAFC8
|
|
add r4, r4, r0, lsl #8
|
|
ldrb r0, [r4, #0xc0]
|
|
ldrb r2, [r4, #0xc8]
|
|
ldrb r1, [r4, #0xc9]
|
|
cmp r0, #0
|
|
ldrb r3, [r4, #0xca]
|
|
add r1, r2, r1
|
|
ldrb r2, [r4, #0xcb]
|
|
add r1, r3, r1
|
|
addne sp, sp, #8
|
|
add r0, r2, r1
|
|
ldmneia sp!, {r4, pc}
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r4, pc}
|
|
add r0, r4, #0xc8
|
|
bl ov00_021FCFEC
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0xcc
|
|
bl ov00_021FCFEC
|
|
str r0, [sp]
|
|
add r0, sp, #4
|
|
add r1, sp, #0
|
|
bl sub_020A3260
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021FD094
|
|
|
|
arm_func_start ov00_021FD11C
|
|
ov00_021FD11C: ; 0x021FD11C
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #0x18
|
|
add r1, sp, #0
|
|
bl ov00_021FD1FC
|
|
ldr r1, _021FD150 ; =_02217C0C
|
|
add r0, sp, #0
|
|
mov r2, #8
|
|
bl sub_020E5BB0
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021FD150: .word _02217C0C
|
|
arm_func_end ov00_021FD11C
|
|
|
|
arm_func_start ov00_021FD154
|
|
ov00_021FD154: ; 0x021FD154
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x18
|
|
mov r4, r1
|
|
add r1, sp, #0
|
|
bl ov00_021FD1FC
|
|
add r0, sp, #0
|
|
mov r1, r4
|
|
bl ov00_021FD300
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021FD154
|
|
|
|
arm_func_start ov00_021FD17C
|
|
ov00_021FD17C: ; 0x021FD17C
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x18
|
|
mov r4, r1
|
|
add r1, sp, #0
|
|
bl ov00_021FD1FC
|
|
ldr r1, _021FD1C4 ; =_02217C0C
|
|
add r0, sp, #0
|
|
mov r2, #8
|
|
bl sub_020E5BB0
|
|
cmp r0, #0
|
|
addne sp, sp, #0x18
|
|
ldmneia sp!, {r4, pc}
|
|
add r0, sp, #8
|
|
mov r1, r4
|
|
mov r2, #0xa
|
|
bl sub_020D4A50
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FD1C4: .word _02217C0C
|
|
arm_func_end ov00_021FD17C
|
|
|
|
arm_func_start ov00_021FD1C8
|
|
ov00_021FD1C8: ; 0x021FD1C8
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _021FD1E8 ; =_02217C18
|
|
mov r2, #8
|
|
bl sub_020E5BB0
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021FD1E8: .word _02217C18
|
|
arm_func_end ov00_021FD1C8
|
|
|
|
arm_func_start ov00_021FD1EC
|
|
ov00_021FD1EC: ; 0x021FD1EC
|
|
ldr ip, _021FD1F8 ; =ov00_021FD34C
|
|
add r0, r0, #0xc
|
|
bx ip
|
|
.align 2, 0
|
|
_021FD1F8: .word ov00_021FD34C
|
|
arm_func_end ov00_021FD1EC
|
|
|
|
arm_func_start ov00_021FD1FC
|
|
ov00_021FD1FC: ; 0x021FD1FC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x18
|
|
ldr lr, _021FD2F8 ; =_02216103
|
|
add ip, sp, #0
|
|
mov r4, r1
|
|
mov r3, #0xc
|
|
_021FD214:
|
|
ldrb r2, [lr]
|
|
ldrb r1, [lr, #1]
|
|
add lr, lr, #2
|
|
strb r2, [ip]
|
|
strb r1, [ip, #1]
|
|
add ip, ip, #2
|
|
subs r3, r3, #1
|
|
bne _021FD214
|
|
mov r1, r4
|
|
mov r2, #0x20
|
|
mov r3, #0x18
|
|
bl ov00_021FD568
|
|
ldr r0, _021FD2FC ; =_02217BA4
|
|
mov r3, #0
|
|
_021FD24C:
|
|
ldr r1, [r0, #8]
|
|
ldrb r2, [r4, r3]
|
|
ldrsb r1, [r1, r3]
|
|
eor r1, r2, r1
|
|
strb r1, [r4, r3]
|
|
add r3, r3, #1
|
|
cmp r3, #0x18
|
|
blt _021FD24C
|
|
mov r7, #0
|
|
add ip, sp, #0
|
|
mov r1, #0xff
|
|
_021FD278:
|
|
and lr, r7, #0xff
|
|
ldrb r0, [ip, lr]
|
|
mov r5, lr
|
|
ldrb r6, [r4, r7]
|
|
cmp r0, #0xff
|
|
beq _021FD2BC
|
|
_021FD290:
|
|
add r3, ip, r5
|
|
ldrb r5, [ip, r5]
|
|
ldrb r0, [ip, lr]
|
|
ldrb r2, [r4, r5]
|
|
mov lr, r5
|
|
strb r6, [r4, r0]
|
|
strb r1, [r3]
|
|
ldrb r0, [ip, r5]
|
|
mov r6, r2
|
|
cmp r0, #0xff
|
|
bne _021FD290
|
|
_021FD2BC:
|
|
add r7, r7, #1
|
|
cmp r7, #0x18
|
|
blt _021FD278
|
|
ldr r0, _021FD2FC ; =_02217BA4
|
|
mov r3, #0
|
|
_021FD2D0:
|
|
ldr r1, [r0]
|
|
ldrb r2, [r4, r3]
|
|
ldrsb r1, [r1, r3]
|
|
eor r1, r2, r1
|
|
strb r1, [r4, r3]
|
|
add r3, r3, #1
|
|
cmp r3, #0x18
|
|
blt _021FD2D0
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021FD2F8: .word _02216103
|
|
_021FD2FC: .word _02217BA4
|
|
arm_func_end ov00_021FD1FC
|
|
|
|
arm_func_start ov00_021FD300
|
|
ov00_021FD300: ; 0x021FD300
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x6c
|
|
mov r5, r0
|
|
add r0, sp, #0x14
|
|
mov r4, r1
|
|
bl sub_020D8E00
|
|
add r0, sp, #0x14
|
|
mov r1, r5
|
|
mov r2, #0x18
|
|
bl sub_020D8E40
|
|
add r0, sp, #0
|
|
add r1, sp, #0x14
|
|
bl sub_020D8F08
|
|
add r0, sp, #3
|
|
mov r1, r4
|
|
mov r2, #0xd
|
|
bl sub_020D4A50
|
|
add sp, sp, #0x6c
|
|
ldmia sp!, {r4, r5, pc}
|
|
arm_func_end ov00_021FD300
|
|
|
|
arm_func_start ov00_021FD34C
|
|
ov00_021FD34C: ; 0x021FD34C
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x10
|
|
ldr lr, _021FD4E8 ; =0x92492493
|
|
mov r4, r1
|
|
mov r1, #0
|
|
mov ip, #7
|
|
_021FD364:
|
|
smull r2, r3, lr, r1
|
|
add r3, r1, r3
|
|
mov r2, r1, lsr #0x1f
|
|
add r3, r2, r3, asr #2
|
|
smull r2, r3, ip, r3
|
|
sub r3, r1, r2
|
|
add r2, r0, r3
|
|
ldrb r3, [r0, r1]
|
|
ldrb r2, [r2, #0xd]
|
|
eor r2, r3, r2
|
|
strb r2, [r4, r1]
|
|
add r1, r1, #1
|
|
cmp r1, #0xd
|
|
blt _021FD364
|
|
mov ip, #0
|
|
_021FD3A0:
|
|
add r3, r4, ip
|
|
add r1, r0, ip
|
|
ldrb r2, [r3, #3]
|
|
ldrb r1, [r1, #0xd]
|
|
add ip, ip, #1
|
|
cmp ip, #7
|
|
eor r1, r2, r1
|
|
strb r1, [r3, #3]
|
|
blt _021FD3A0
|
|
ldr r0, _021FD4EC ; =_02217BA4
|
|
mov r3, #0
|
|
_021FD3CC:
|
|
ldr r1, [r0, #4]
|
|
ldrb r2, [r4, r3]
|
|
ldrsb r1, [r1, r3]
|
|
eor r1, r2, r1
|
|
strb r1, [r4, r3]
|
|
add r3, r3, #1
|
|
cmp r3, #0xd
|
|
blt _021FD3CC
|
|
add r1, sp, #0
|
|
mov r0, r4
|
|
mov r2, #0xd
|
|
bl sub_020D4A50
|
|
ldr r3, _021FD4F0 ; =_0221611C
|
|
add r2, sp, #0
|
|
mov ip, #0
|
|
_021FD408:
|
|
ldrb r1, [r2], #1
|
|
ldrb r0, [r3], #1
|
|
add ip, ip, #1
|
|
cmp ip, #0xd
|
|
strb r1, [r4, r0]
|
|
blt _021FD408
|
|
ldr r0, _021FD4EC ; =_02217BA4
|
|
mov r3, #0
|
|
_021FD428:
|
|
ldr r1, [r0, #0xc]
|
|
ldrb r2, [r4, r3]
|
|
ldrsb r1, [r1, r3]
|
|
eor r1, r2, r1
|
|
strb r1, [r4, r3]
|
|
add r3, r3, #1
|
|
cmp r3, #0xd
|
|
blt _021FD428
|
|
ldr r2, _021FD4F4 ; =_0221612C
|
|
mov ip, #0
|
|
_021FD450:
|
|
ldrb r3, [r4, ip]
|
|
mov r0, r3, asr #4
|
|
and r1, r0, #0xf
|
|
and r0, r3, #0xf
|
|
ldrb r1, [r2, r1]
|
|
ldrb r0, [r2, r0]
|
|
orr r0, r0, r1, lsl #4
|
|
strb r0, [r4, ip]
|
|
add ip, ip, #1
|
|
cmp ip, #0xd
|
|
blt _021FD450
|
|
mov r1, #0
|
|
_021FD480:
|
|
add r0, r4, r1
|
|
ldrb r3, [r4, r1]
|
|
ldrb r2, [r0, #6]
|
|
eor r2, r3, r2
|
|
strb r2, [r4, r1]
|
|
ldrb r3, [r0, #3]
|
|
ldrb r2, [r0, #9]
|
|
eor r2, r3, r2
|
|
strb r2, [r0, #3]
|
|
ldrb r3, [r0, #6]
|
|
and r2, r2, #0xff
|
|
eor r2, r3, r2
|
|
strb r2, [r0, #6]
|
|
ldrb r3, [r0, #9]
|
|
ldrb r2, [r4, r1]
|
|
eor r2, r3, r2
|
|
strb r2, [r0, #9]
|
|
ldrb r0, [r4, r1]
|
|
ldrb r2, [r4, #0xc]
|
|
add r1, r1, #1
|
|
cmp r1, #3
|
|
eor r0, r2, r0
|
|
strb r0, [r4, #0xc]
|
|
blt _021FD480
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FD4E8: .word 0x92492493
|
|
_021FD4EC: .word _02217BA4
|
|
_021FD4F0: .word _0221611C
|
|
_021FD4F4: .word _0221612C
|
|
arm_func_end ov00_021FD34C
|
|
|
|
arm_func_start ov00_021FD4F8
|
|
ov00_021FD4F8: ; 0x021FD4F8
|
|
cmp r0, #0x41
|
|
blo _021FD50C
|
|
cmp r0, #0x5a
|
|
subls r0, r0, #0x41
|
|
bxls lr
|
|
_021FD50C:
|
|
cmp r0, #0x61
|
|
blo _021FD524
|
|
cmp r0, #0x7a
|
|
subls r0, r0, #0x61
|
|
addls r0, r0, #0x1a
|
|
bxls lr
|
|
_021FD524:
|
|
cmp r0, #0x30
|
|
blo _021FD53C
|
|
cmp r0, #0x39
|
|
subls r0, r0, #0x30
|
|
addls r0, r0, #0x34
|
|
bxls lr
|
|
_021FD53C:
|
|
cmp r0, #0x2b
|
|
moveq r0, #0x3e
|
|
bxeq lr
|
|
cmp r0, #0x2f
|
|
moveq r0, #0x3f
|
|
bxeq lr
|
|
cmp r0, #0x3d
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
rsb r0, r0, #0
|
|
bx lr
|
|
arm_func_end ov00_021FD4F8
|
|
|
|
arm_func_start ov00_021FD568
|
|
ov00_021FD568: ; 0x021FD568
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x18
|
|
add r4, r2, r2, lsl #1
|
|
str r0, [sp]
|
|
mov r0, r4, lsr #2
|
|
str r1, [sp, #4]
|
|
cmp r3, r4, lsr #2
|
|
str r0, [sp, #8]
|
|
blo _021FD59C
|
|
and fp, r2, #3
|
|
sub r0, r2, fp
|
|
str r0, [sp, #0xc]
|
|
b _021FD5A8
|
|
_021FD59C:
|
|
add sp, sp, #0x18
|
|
mvn r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021FD5A8:
|
|
cmp r0, #0
|
|
mov r7, #0
|
|
ble _021FD630
|
|
mov sb, r7
|
|
add r5, sp, #0x14
|
|
mov r4, #6
|
|
_021FD5C0:
|
|
ldr r0, [sp]
|
|
mov r6, #0
|
|
mov r8, r6
|
|
add sl, r0, r7
|
|
_021FD5D0:
|
|
ldrb r0, [sl], #1
|
|
bl ov00_021FD4F8
|
|
rsb r1, r8, #3
|
|
mul r2, r1, r4
|
|
orr r6, r6, r0, lsl r2
|
|
add r8, r8, #1
|
|
cmp r8, #4
|
|
blt _021FD5D0
|
|
ldr r0, [sp, #4]
|
|
add r1, sb, sb, lsl #1
|
|
mov r2, #0
|
|
str r6, [sp, #0x14]
|
|
add r1, r0, r1
|
|
_021FD604:
|
|
rsb r0, r2, #2
|
|
ldrb r0, [r5, r0]
|
|
add r2, r2, #1
|
|
cmp r2, #3
|
|
strb r0, [r1], #1
|
|
blt _021FD604
|
|
ldr r0, [sp, #0xc]
|
|
add r7, r7, #4
|
|
cmp r7, r0
|
|
add sb, sb, #1
|
|
blt _021FD5C0
|
|
_021FD630:
|
|
cmp fp, #0
|
|
beq _021FD6C4
|
|
mov r5, #0
|
|
mov r6, r5
|
|
str r5, [sp, #0x10]
|
|
ble _021FD684
|
|
ldr r1, [sp]
|
|
ldr r0, [sp, #0xc]
|
|
mov r8, r5
|
|
add r4, r1, r0
|
|
mov r7, #6
|
|
_021FD65C:
|
|
ldrb r0, [r4], #1
|
|
bl ov00_021FD4F8
|
|
rsb r1, r6, #3
|
|
mul r2, r1, r7
|
|
orr r5, r5, r0, lsl r2
|
|
add r6, r6, #1
|
|
cmp r6, fp
|
|
orr r8, r8, r5
|
|
blt _021FD65C
|
|
str r8, [sp, #0x10]
|
|
_021FD684:
|
|
cmp fp, #0
|
|
mov r3, #0
|
|
ble _021FD6C4
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r0, r0, lsl #1
|
|
mov r0, r1, asr #1
|
|
add r1, r1, r0, lsr #30
|
|
ldr r0, [sp, #4]
|
|
add r2, r0, r1, asr #2
|
|
add r1, sp, #0x10
|
|
_021FD6AC:
|
|
rsb r0, r3, #2
|
|
ldrb r0, [r1, r0]
|
|
add r3, r3, #1
|
|
cmp r3, fp
|
|
strb r0, [r2], #1
|
|
blt _021FD6AC
|
|
_021FD6C4:
|
|
ldr r0, [sp, #8]
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
arm_func_end ov00_021FD568
|
|
|
|
arm_func_start ov00_021FD6D0
|
|
ov00_021FD6D0: ; 0x021FD6D0
|
|
tst r0, #2
|
|
mov r0, r0, asr #2
|
|
addeq r0, r0, #0x19
|
|
and r0, r0, #0xff
|
|
bx lr
|
|
arm_func_end ov00_021FD6D0
|
|
|
|
arm_func_start ov00_021FD6E4
|
|
ov00_021FD6E4: ; 0x021FD6E4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x410
|
|
ldr r1, _021FD9B4 ; =_0221B0C0
|
|
mov r6, r0
|
|
ldr r0, [r1]
|
|
mov r1, #0x400
|
|
add r0, r0, #0xf00
|
|
bl sub_020D285C
|
|
ldrh r0, [r6, #2]
|
|
cmp r0, #0
|
|
ldreqh r0, [r6, #8]
|
|
cmpeq r0, #5
|
|
bne _021FD978
|
|
ldrh r0, [r6, #0xe]
|
|
mov r5, #0
|
|
cmp r0, #0
|
|
bls _021FD978
|
|
_021FD728:
|
|
add r0, r6, r5, lsl #2
|
|
ldr r0, [r0, #0x10]
|
|
ldrh r1, [r0, #0x40]
|
|
cmp r1, #1
|
|
ldreq r2, [r0, #0x44]
|
|
ldreq r1, _021FD9B8 ; =0x00000857
|
|
cmpeq r2, r1
|
|
bne _021FD968
|
|
ldr r1, _021FD9B4 ; =_0221B0C0
|
|
mov r4, #0
|
|
ldr ip, [r1]
|
|
mov r3, r4
|
|
add r2, ip, #0x1000
|
|
ldr r1, [r2, #0xa88]
|
|
cmp r1, #0
|
|
bls _021FD794
|
|
ldrh r7, [r0, #0x48]
|
|
_021FD76C:
|
|
add r1, ip, r3, lsl #1
|
|
add r1, r1, #0x1a00
|
|
ldrh r1, [r1, #0x68]
|
|
cmp r1, r7
|
|
moveq r4, #1
|
|
beq _021FD794
|
|
ldr r1, [r2, #0xa88]
|
|
add r3, r3, #1
|
|
cmp r3, r1
|
|
blo _021FD76C
|
|
_021FD794:
|
|
cmp r4, #1
|
|
beq _021FD968
|
|
ldr r1, _021FD9B4 ; =_0221B0C0
|
|
mov r2, #0x70
|
|
ldr r1, [r1]
|
|
add r0, r0, #0x50
|
|
add r3, r1, #0x1000
|
|
add r1, r1, #0x348
|
|
ldr r3, [r3, #0xa8c]
|
|
add r1, r1, #0x1000
|
|
mla r1, r3, r2, r1
|
|
bl sub_020D4A50
|
|
ldr r0, _021FD9BC ; =_0221613C
|
|
add r1, sp, #0
|
|
mov r2, #4
|
|
bl sub_020D4A50
|
|
add r0, r6, r5, lsl #2
|
|
ldr r0, [r0, #0x10]
|
|
add r1, sp, #4
|
|
add r0, r0, #6
|
|
mov r2, #4
|
|
bl sub_020D4A50
|
|
add r0, sp, #8
|
|
add r1, sp, #0
|
|
mov r2, #8
|
|
bl sub_020A0500
|
|
ldr r0, _021FD9B4 ; =_0221B0C0
|
|
mov r2, #0x70
|
|
ldr r3, [r0]
|
|
add r0, sp, #8
|
|
add r1, r3, #0x348
|
|
add r4, r1, #0x1000
|
|
add r1, r3, #0x1000
|
|
ldr r1, [r1, #0xa8c]
|
|
mul r3, r1, r2
|
|
add r1, r4, r3
|
|
add r3, r4, r3
|
|
bl sub_020A0628
|
|
ldr r0, _021FD9B4 ; =_0221B0C0
|
|
mov r1, #0x70
|
|
ldr ip, [r0]
|
|
mov r3, #0x6e
|
|
add r0, ip, #0x348
|
|
add r4, r0, #0x1000
|
|
add r0, ip, #0x1000
|
|
ldr r2, [r0, #0xa8c]
|
|
add r0, ip, #0x96
|
|
mul r7, r2, r1
|
|
add r1, ip, #0x294
|
|
add r0, r0, #0x1a00
|
|
add r1, r1, #0x1800
|
|
add r2, r4, r7
|
|
bl sub_020E3920
|
|
ldr r0, _021FD9B4 ; =_0221B0C0
|
|
add r1, r4, r7
|
|
ldr r0, [r0]
|
|
mov r2, #0x6e
|
|
add r0, r0, #0x96
|
|
add r0, r0, #0x1a00
|
|
bl sub_020E3A04
|
|
ldr r1, _021FD9B4 ; =_0221B0C0
|
|
mov r2, #0x70
|
|
ldr r4, [r1]
|
|
add r1, r4, #0x1000
|
|
ldr r1, [r1, #0xa8c]
|
|
mul r3, r1, r2
|
|
add r1, r4, r3
|
|
add r1, r1, #0x1300
|
|
ldrh r1, [r1, #0xb6]
|
|
cmp r0, r1
|
|
cmpne r1, #0
|
|
beq _021FD8CC
|
|
add r0, r4, #0x348
|
|
add r0, r0, #0x1000
|
|
add r0, r0, r3
|
|
mov r1, #0
|
|
bl sub_020D4994
|
|
b _021FD968
|
|
_021FD8CC:
|
|
add r0, r6, r5, lsl #2
|
|
ldr r0, [r0, #0x10]
|
|
ldrh r0, [r0, #2]
|
|
and r0, r0, #0xff
|
|
bl ov00_021FD6D0
|
|
add r1, r4, #0x1000
|
|
ldr r1, [r1, #0xa8c]
|
|
ldr r3, _021FD9B4 ; =_0221B0C0
|
|
add r1, r4, r1, lsl #1
|
|
add r1, r1, #0x1a00
|
|
strh r0, [r1, #0x48]
|
|
ldr r2, [r3]
|
|
add r1, r6, r5, lsl #2
|
|
add r0, r2, #0x1000
|
|
ldr r1, [r1, #0x10]
|
|
ldr r0, [r0, #0xa8c]
|
|
ldrh r1, [r1, #0x48]
|
|
add r0, r2, r0, lsl #1
|
|
add r0, r0, #0x1a00
|
|
strh r1, [r0, #0x68]
|
|
ldr r0, [r3]
|
|
add r2, r0, #0x1000
|
|
ldr r0, [r2, #0xa8c]
|
|
add r0, r0, #1
|
|
mov r1, r0, lsr #0x1f
|
|
rsb r0, r1, r0, lsl #28
|
|
add r0, r1, r0, ror #28
|
|
str r0, [r2, #0xa8c]
|
|
ldr r0, [r3]
|
|
add r0, r0, #0x1000
|
|
ldr r1, [r0, #0xa88]
|
|
add r1, r1, #1
|
|
str r1, [r0, #0xa88]
|
|
ldr r0, [r3]
|
|
add r0, r0, #0x1000
|
|
ldr r1, [r0, #0xa88]
|
|
cmp r1, #0x10
|
|
movgt r1, #0x10
|
|
strgt r1, [r0, #0xa88]
|
|
_021FD968:
|
|
ldrh r0, [r6, #0xe]
|
|
add r5, r5, #1
|
|
cmp r5, r0
|
|
blo _021FD728
|
|
_021FD978:
|
|
ldr r1, _021FD9B4 ; =_0221B0C0
|
|
mov r2, #2
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x1000
|
|
str r2, [r0, #0xa90]
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x1000
|
|
ldr r1, [r0, #0x344]
|
|
cmp r1, #0
|
|
addeq sp, sp, #0x410
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, r6
|
|
blx r1
|
|
add sp, sp, #0x410
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021FD9B4: .word _0221B0C0
|
|
_021FD9B8: .word 0x00000857
|
|
_021FD9BC: .word _0221613C
|
|
arm_func_end ov00_021FD6E4
|
|
|
|
arm_func_start ov00_021FD9C0
|
|
ov00_021FD9C0: ; 0x021FD9C0
|
|
ldr r0, _021FD9C8 ; =0x00001CA0
|
|
bx lr
|
|
.align 2, 0
|
|
_021FD9C8: .word 0x00001CA0
|
|
arm_func_end ov00_021FD9C0
|
|
|
|
arm_func_start ov00_021FD9CC
|
|
ov00_021FD9CC: ; 0x021FD9CC
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
movs r5, r1
|
|
mov r4, r2
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r1, _021FDA54 ; =_0221B0C0
|
|
str r0, [r1]
|
|
bl ov00_021FD9C0
|
|
ldr r1, _021FDA54 ; =_0221B0C0
|
|
mov r2, r0
|
|
ldr r0, [r1]
|
|
mov r1, #0
|
|
bl sub_020D4994
|
|
ldr r2, _021FDA54 ; =_0221B0C0
|
|
mov r3, #0
|
|
ldr r0, [r2]
|
|
ldr r1, _021FDA58 ; =0x0000A001
|
|
add r0, r0, #0x1000
|
|
str r3, [r0, #0xa90]
|
|
ldr r0, [r2]
|
|
add r0, r0, #0x1a00
|
|
strh r3, [r0, #0x94]
|
|
ldr r0, [r2]
|
|
add r0, r0, #0x96
|
|
add r0, r0, #0x1a00
|
|
bl sub_020E389C
|
|
ldr r0, _021FDA54 ; =_0221B0C0
|
|
mov r1, r5
|
|
ldr r0, [r0]
|
|
mov r2, r4
|
|
bl sub_020DF3F8
|
|
cmp r0, #2
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021FDA54: .word _0221B0C0
|
|
_021FDA58: .word 0x0000A001
|
|
arm_func_end ov00_021FD9CC
|
|
|
|
arm_func_start ov00_021FDA5C
|
|
ov00_021FDA5C: ; 0x021FDA5C
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r2, _021FDA98 ; =_0221B0C0
|
|
mov ip, #3
|
|
ldr r1, [r2]
|
|
mov r3, #0
|
|
add r1, r1, #0x1000
|
|
str ip, [r1, #0xa90]
|
|
str r3, [r2]
|
|
bl sub_020DF4B8
|
|
cmp r0, #2
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021FDA98: .word _0221B0C0
|
|
arm_func_end ov00_021FDA5C
|
|
|
|
arm_func_start ov00_021FDA9C
|
|
ov00_021FDA9C: ; 0x021FDA9C
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r1, _021FDB5C ; =_0221B0C0
|
|
mov r2, #0x400
|
|
ldr r0, [r1]
|
|
add r3, r0, #0xf00
|
|
add r0, r0, #0x1000
|
|
str r3, [r0, #0x300]
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x1300
|
|
strh r2, [r0, #4]
|
|
bl sub_020DEF24
|
|
ldr r1, _021FDB5C ; =_0221B0C0
|
|
ldr r1, [r1]
|
|
add r1, r1, #0x1300
|
|
strh r0, [r1, #6]
|
|
bl sub_020DF064
|
|
ldr r3, _021FDB5C ; =_0221B0C0
|
|
mov ip, #1
|
|
ldr r2, [r3]
|
|
mov r1, #0xff
|
|
add r2, r2, #0x1300
|
|
strh r0, [r2, #8]
|
|
ldr r0, [r3]
|
|
mov r2, #6
|
|
add r0, r0, #0x1300
|
|
strh ip, [r0, #0x10]
|
|
ldr r0, [r3]
|
|
add r0, r0, #0xa
|
|
add r0, r0, #0x1300
|
|
bl sub_020D4994
|
|
ldr r2, _021FDB5C ; =_0221B0C0
|
|
mov r3, #1
|
|
ldr r1, [r2]
|
|
ldr r0, _021FDB60 ; =ov00_021FD6E4
|
|
add r1, r1, #0x1000
|
|
str r4, [r1, #0x344]
|
|
ldr r1, [r2]
|
|
add r1, r1, #0x1000
|
|
str r3, [r1, #0xa90]
|
|
ldr r1, [r2]
|
|
add r1, r1, #0x1300
|
|
bl sub_020DF7BC
|
|
cmp r0, #2
|
|
moveq r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FDB5C: .word _0221B0C0
|
|
_021FDB60: .word ov00_021FD6E4
|
|
arm_func_end ov00_021FDA9C
|
|
|
|
arm_func_start ov00_021FDB64
|
|
ov00_021FDB64: ; 0x021FDB64
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r1, _021FDB98 ; =_0221B0C0
|
|
mov r2, #2
|
|
ldr r1, [r1]
|
|
add r1, r1, #0x1000
|
|
str r2, [r1, #0xa90]
|
|
bl sub_020DF90C
|
|
cmp r0, #2
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021FDB98: .word _0221B0C0
|
|
arm_func_end ov00_021FDB64
|
|
|
|
arm_func_start ov00_021FDB9C
|
|
ov00_021FDB9C: ; 0x021FDB9C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r2, _021FDC34 ; =_0221B0C0
|
|
mov r5, r0
|
|
ldr r0, [r2]
|
|
mov r4, r1
|
|
add r0, r0, #0x1000
|
|
ldr r1, [r0, #0xa90]
|
|
cmp r1, #2
|
|
mvnne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
cmp r5, #0
|
|
blt _021FDBD8
|
|
ldr r0, [r0, #0xa88]
|
|
cmp r5, r0
|
|
blt _021FDBE0
|
|
_021FDBD8:
|
|
mvn r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021FDBE0:
|
|
mov r0, r4
|
|
mov r1, #0
|
|
mov r2, #0x78
|
|
bl sub_020D4994
|
|
mov r0, #1
|
|
ldr r3, _021FDC34 ; =_0221B0C0
|
|
str r0, [r4]
|
|
ldr r0, [r3]
|
|
mov r2, #0x70
|
|
add r0, r0, r5, lsl #1
|
|
add r0, r0, #0x1a00
|
|
ldrh r0, [r0, #0x48]
|
|
add r1, r4, #6
|
|
strh r0, [r4, #4]
|
|
ldr r0, [r3]
|
|
add r0, r0, #0x348
|
|
add r0, r0, #0x1000
|
|
mla r0, r5, r2, r0
|
|
bl sub_020D4A50
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021FDC34: .word _0221B0C0
|
|
arm_func_end ov00_021FDB9C
|
|
|
|
arm_func_start ov00_021FDC38
|
|
ov00_021FDC38: ; 0x021FDC38
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
ldr r1, _021FDCD8 ; =_0221B0C0
|
|
mov r5, r0
|
|
ldr r1, [r1]
|
|
add r1, r1, #0x1000
|
|
ldr r1, [r1, #0xa90]
|
|
cmp r1, #2
|
|
mvnne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r1, #0
|
|
mov r2, #0x780
|
|
bl sub_020D4994
|
|
mov r0, #0
|
|
mov r1, r5
|
|
mov r4, r0
|
|
_021FDC74:
|
|
add r0, r0, #1
|
|
cmp r0, #0x10
|
|
str r4, [r1], #0x78
|
|
blt _021FDC74
|
|
ldr r7, _021FDCD8 ; =_0221B0C0
|
|
ldr r0, [r7]
|
|
add r0, r0, #0x1000
|
|
ldr r0, [r0, #0xa88]
|
|
cmp r0, #0
|
|
ble _021FDCD0
|
|
mvn r6, #0
|
|
_021FDCA0:
|
|
mov r0, r4
|
|
mov r1, r5
|
|
bl ov00_021FDB9C
|
|
cmp r0, r6
|
|
beq _021FDCD0
|
|
ldr r0, [r7]
|
|
add r4, r4, #1
|
|
add r0, r0, #0x1000
|
|
ldr r0, [r0, #0xa88]
|
|
add r5, r5, #0x78
|
|
cmp r4, r0
|
|
blt _021FDCA0
|
|
_021FDCD0:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021FDCD8: .word _0221B0C0
|
|
arm_func_end ov00_021FDC38
|
|
|
|
arm_func_start ov00_021FDCDC
|
|
ov00_021FDCDC: ; 0x021FDCDC
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov00_021FD9C0
|
|
mov r1, r0
|
|
mov r0, #1
|
|
bl ov00_021EC2A8
|
|
ldr r2, _021FDD38 ; =_0221B0C4
|
|
mov r1, #0x790
|
|
str r0, [r2, #4]
|
|
mov r0, #1
|
|
bl ov00_021EC2A8
|
|
ldr r3, _021FDD38 ; =_0221B0C4
|
|
mov r1, #0
|
|
mov r2, #0x790
|
|
str r0, [r3]
|
|
bl sub_020D4994
|
|
ldr r1, _021FDD38 ; =_0221B0C4
|
|
mov r2, #0
|
|
ldr r3, [r1]
|
|
mov r0, #1
|
|
str r4, [r3]
|
|
str r2, [r1, #8]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FDD38: .word _0221B0C4
|
|
arm_func_end ov00_021FDCDC
|
|
|
|
arm_func_start ov00_021FDD3C
|
|
ov00_021FDD3C: ; 0x021FDD3C
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
ldr r3, _021FE050 ; =_0221B0C4
|
|
ldr r0, [r3, #4]
|
|
cmp r0, #0
|
|
ldrne r4, [r3]
|
|
cmpne r4, #0
|
|
moveq r0, #3
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
ldr r1, [r3, #8]
|
|
mov r6, #1
|
|
cmp r1, #0xb
|
|
addls pc, pc, r1, lsl #2
|
|
b _021FE048
|
|
_021FDD70: ; jump table
|
|
b _021FDDA0 ; case 0
|
|
b _021FE048 ; case 1
|
|
b _021FDDC8 ; case 2
|
|
b _021FE048 ; case 3
|
|
b _021FDE20 ; case 4
|
|
b _021FDE84 ; case 5
|
|
b _021FE048 ; case 6
|
|
b _021FDEAC ; case 7
|
|
b _021FE048 ; case 8
|
|
b _021FDF80 ; case 9
|
|
b _021FE01C ; case 10
|
|
b _021FE044 ; case 11
|
|
_021FDDA0:
|
|
ldr r1, _021FE054 ; =ov00_021FE100
|
|
mov r2, #0
|
|
str r6, [r3, #8]
|
|
bl ov00_021FD9CC
|
|
cmp r0, #0
|
|
beq _021FE048
|
|
ldr r0, _021FE050 ; =_0221B0C4
|
|
mov r1, #0xb
|
|
str r1, [r0, #8]
|
|
b _021FE048
|
|
_021FDDC8:
|
|
ldr r0, _021FE058 ; =ov00_021FE114
|
|
mov r1, #3
|
|
str r1, [r3, #8]
|
|
bl ov00_021FDA9C
|
|
cmp r0, #0
|
|
bne _021FDE10
|
|
ldr r0, _021FE050 ; =_0221B0C4
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #8]
|
|
ldr r1, [r1, #4]
|
|
cmp r0, #0
|
|
cmpeq r1, #0
|
|
bne _021FE048
|
|
bl sub_020D34B0
|
|
ldr r2, _021FE050 ; =_0221B0C4
|
|
ldr r2, [r2]
|
|
stmib r2, {r0, r1}
|
|
b _021FE048
|
|
_021FDE10:
|
|
ldr r0, _021FE050 ; =_0221B0C4
|
|
mov r1, #0xa
|
|
str r1, [r0, #8]
|
|
b _021FE048
|
|
_021FDE20:
|
|
bl sub_020D34B0
|
|
ldr r3, _021FE050 ; =_0221B0C4
|
|
ldr r2, _021FE05C ; =0x000082EA
|
|
ldr r4, [r3]
|
|
mov r3, #0
|
|
ldr r5, [r4, #4]
|
|
ldr r4, [r4, #8]
|
|
subs r5, r0, r5
|
|
sbc r0, r1, r4
|
|
mov r1, r0, lsl #6
|
|
orr r1, r1, r5, lsr #26
|
|
mov r0, r5, lsl #6
|
|
bl sub_020F2900
|
|
ldr r2, _021FE060 ; =0x00000BB8
|
|
cmp r1, #0
|
|
cmpeq r0, r2
|
|
bhs _021FDE74
|
|
ldr r0, _021FE050 ; =_0221B0C4
|
|
mov r1, #2
|
|
str r1, [r0, #8]
|
|
b _021FE048
|
|
_021FDE74:
|
|
ldr r0, _021FE050 ; =_0221B0C4
|
|
mov r1, #5
|
|
str r1, [r0, #8]
|
|
b _021FE048
|
|
_021FDE84:
|
|
ldr r0, _021FE064 ; =ov00_021FE128
|
|
mov r1, #6
|
|
str r1, [r3, #8]
|
|
bl ov00_021FDB64
|
|
cmp r0, #0
|
|
beq _021FE048
|
|
ldr r0, _021FE050 ; =_0221B0C4
|
|
mov r1, #0xa
|
|
str r1, [r0, #8]
|
|
b _021FE048
|
|
_021FDEAC:
|
|
add r0, r4, #0xc
|
|
bl ov00_021FDC38
|
|
cmp r0, #0
|
|
mov r4, #0
|
|
ldrne r0, _021FE050 ; =_0221B0C4
|
|
movne r1, #0xa
|
|
strne r1, [r0, #8]
|
|
ldr r8, _021FE050 ; =_0221B0C4
|
|
sub r1, r4, #1
|
|
ldr r0, [r8]
|
|
mov r5, r4
|
|
mov r7, r4
|
|
str r1, [r0, #0x78c]
|
|
_021FDEE0:
|
|
ldr r2, [r8]
|
|
add r1, r2, r7
|
|
ldr r0, [r1, #0xc]
|
|
cmp r0, #0
|
|
beq _021FDF44
|
|
ldrb r0, [r1, #0x78]
|
|
tst r0, #2
|
|
beq _021FDF44
|
|
ldrb r0, [r1, #0x77]
|
|
cmp r0, #3
|
|
bhi _021FDF44
|
|
add r0, r2, #0x32
|
|
add r0, r0, r7
|
|
bl ov00_021FE0CC
|
|
cmp r0, #0
|
|
beq _021FDF44
|
|
ldr r1, [r8]
|
|
add r0, r1, r7
|
|
ldrh r0, [r0, #0x10]
|
|
cmp r0, r5
|
|
blo _021FDF44
|
|
str r4, [r1, #0x78c]
|
|
ldr r0, [r8]
|
|
add r0, r0, r7
|
|
ldrh r5, [r0, #0x10]
|
|
_021FDF44:
|
|
add r4, r4, #1
|
|
cmp r4, #0x10
|
|
add r7, r7, #0x78
|
|
blt _021FDEE0
|
|
ldr r1, _021FE050 ; =_0221B0C4
|
|
mov r2, #8
|
|
ldr r0, _021FE068 ; =ov00_021FE13C
|
|
str r2, [r1, #8]
|
|
bl ov00_021FDA5C
|
|
cmp r0, #0
|
|
beq _021FE048
|
|
ldr r0, _021FE050 ; =_0221B0C4
|
|
mov r1, #0xb
|
|
str r1, [r0, #8]
|
|
b _021FE048
|
|
_021FDF80:
|
|
ldr r2, [r4, #0x78c]
|
|
cmp r2, #0
|
|
movlt r0, #0xb
|
|
strlt r0, [r3, #8]
|
|
blt _021FE048
|
|
add r1, r4, #0x12
|
|
mov r0, #0x78
|
|
mla r0, r2, r0, r1
|
|
ldr r1, [r4]
|
|
mov r2, #0x20
|
|
bl sub_020D4A50
|
|
ldr r1, _021FE050 ; =_0221B0C4
|
|
mov r0, #0x78
|
|
ldr r4, [r1]
|
|
mov r2, #0x20
|
|
ldr r1, [r4]
|
|
ldr r3, [r4, #0x78c]
|
|
add r4, r4, #0x56
|
|
mla r0, r3, r0, r4
|
|
add r1, r1, #0x20
|
|
bl sub_020D4A50
|
|
ldr r1, _021FE050 ; =_0221B0C4
|
|
mov r0, #0x78
|
|
ldr r4, [r1]
|
|
mov r2, #0xa
|
|
ldr r5, [r4, #0x78c]
|
|
ldr r3, [r4]
|
|
mla r4, r5, r0, r4
|
|
ldrb r4, [r4, #0x77]
|
|
str r4, [r3, #0x40]
|
|
ldr r4, [r1]
|
|
ldr r1, [r4]
|
|
ldr r3, [r4, #0x78c]
|
|
add r4, r4, #0x32
|
|
mla r0, r3, r0, r4
|
|
add r1, r1, #0x44
|
|
bl sub_020D4A50
|
|
mov r6, #2
|
|
b _021FE048
|
|
_021FE01C:
|
|
ldr r0, _021FE06C ; =ov00_021FE150
|
|
mov r1, #8
|
|
str r1, [r3, #8]
|
|
bl ov00_021FDA5C
|
|
cmp r0, #0
|
|
beq _021FE048
|
|
ldr r0, _021FE050 ; =_0221B0C4
|
|
mov r1, #0xb
|
|
str r1, [r0, #8]
|
|
b _021FE048
|
|
_021FE044:
|
|
mov r6, #3
|
|
_021FE048:
|
|
mov r0, r6
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_021FE050: .word _0221B0C4
|
|
_021FE054: .word ov00_021FE100
|
|
_021FE058: .word ov00_021FE114
|
|
_021FE05C: .word 0x000082EA
|
|
_021FE060: .word 0x00000BB8
|
|
_021FE064: .word ov00_021FE128
|
|
_021FE068: .word ov00_021FE13C
|
|
_021FE06C: .word ov00_021FE150
|
|
arm_func_end ov00_021FDD3C
|
|
|
|
arm_func_start ov00_021FE070
|
|
ov00_021FE070: ; 0x021FE070
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021FE0C8 ; =_0221B0C4
|
|
ldr r1, [r0, #4]
|
|
cmp r1, #0
|
|
beq _021FE09C
|
|
mov r0, #1
|
|
mov r2, #0
|
|
bl ov00_021EC2EC
|
|
ldr r0, _021FE0C8 ; =_0221B0C4
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
_021FE09C:
|
|
ldr r0, _021FE0C8 ; =_0221B0C4
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
mov r0, #1
|
|
mov r2, #0
|
|
bl ov00_021EC2EC
|
|
ldr r0, _021FE0C8 ; =_0221B0C4
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021FE0C8: .word _0221B0C4
|
|
arm_func_end ov00_021FE070
|
|
|
|
arm_func_start ov00_021FE0CC
|
|
ov00_021FE0CC: ; 0x021FE0CC
|
|
mov r2, #0
|
|
_021FE0D0:
|
|
ldrb r1, [r0, r2]
|
|
cmp r1, #0x20
|
|
blo _021FE0E4
|
|
cmp r1, #0x7e
|
|
bls _021FE0EC
|
|
_021FE0E4:
|
|
mov r0, #0
|
|
bx lr
|
|
_021FE0EC:
|
|
add r2, r2, #1
|
|
cmp r2, #0xa
|
|
blt _021FE0D0
|
|
mov r0, #1
|
|
bx lr
|
|
arm_func_end ov00_021FE0CC
|
|
|
|
arm_func_start ov00_021FE100
|
|
ov00_021FE100: ; 0x021FE100
|
|
ldr r0, _021FE110 ; =_0221B0C4
|
|
mov r1, #2
|
|
str r1, [r0, #8]
|
|
bx lr
|
|
.align 2, 0
|
|
_021FE110: .word _0221B0C4
|
|
arm_func_end ov00_021FE100
|
|
|
|
arm_func_start ov00_021FE114
|
|
ov00_021FE114: ; 0x021FE114
|
|
ldr r0, _021FE124 ; =_0221B0C4
|
|
mov r1, #4
|
|
str r1, [r0, #8]
|
|
bx lr
|
|
.align 2, 0
|
|
_021FE124: .word _0221B0C4
|
|
arm_func_end ov00_021FE114
|
|
|
|
arm_func_start ov00_021FE128
|
|
ov00_021FE128: ; 0x021FE128
|
|
ldr r0, _021FE138 ; =_0221B0C4
|
|
mov r1, #7
|
|
str r1, [r0, #8]
|
|
bx lr
|
|
.align 2, 0
|
|
_021FE138: .word _0221B0C4
|
|
arm_func_end ov00_021FE128
|
|
|
|
arm_func_start ov00_021FE13C
|
|
ov00_021FE13C: ; 0x021FE13C
|
|
ldr r0, _021FE14C ; =_0221B0C4
|
|
mov r1, #9
|
|
str r1, [r0, #8]
|
|
bx lr
|
|
.align 2, 0
|
|
_021FE14C: .word _0221B0C4
|
|
arm_func_end ov00_021FE13C
|
|
|
|
arm_func_start ov00_021FE150
|
|
ov00_021FE150: ; 0x021FE150
|
|
ldr r0, _021FE160 ; =_0221B0C4
|
|
mov r1, #0xb
|
|
str r1, [r0, #8]
|
|
bx lr
|
|
.align 2, 0
|
|
_021FE160: .word _0221B0C4
|
|
arm_func_end ov00_021FE150
|
|
|
|
arm_func_start ov00_021FE164
|
|
ov00_021FE164: ; 0x021FE164
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, lsr #0x10
|
|
mov r3, r1, asr #8
|
|
mov r1, r1, lsl #8
|
|
mov r4, r2
|
|
mov ip, #2
|
|
and r2, r3, #0xff
|
|
and r1, r1, #0xff00
|
|
strb ip, [r4, #1]
|
|
orr r1, r2, r1
|
|
mov r5, r0
|
|
strh r1, [r4, #2]
|
|
bl ov00_021FFA44
|
|
mvn r1, #0
|
|
str r0, [r4, #4]
|
|
cmp r0, r1
|
|
bne _021FE1D0
|
|
mov r0, r5
|
|
bl sub_020A30D4
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, [r0, #0xc]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
str r0, [r4, #4]
|
|
_021FE1D0:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FE164
|
|
|
|
arm_func_start ov00_021FE1D8
|
|
ov00_021FE1D8: ; 0x021FE1D8
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #8
|
|
ldr r1, _021FE21C ; =_0221B0D8
|
|
mov r0, #8
|
|
str r1, [sp]
|
|
ldr r1, _021FE220 ; =_0221B0D0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r1, #4]
|
|
ldr r2, [r1, #0x50]
|
|
ldr r1, _021FE224 ; =_0221B0E0
|
|
mov r3, #0
|
|
bl ov00_021FF984
|
|
bl ov00_021FF368
|
|
ldr r1, _021FE220 ; =_0221B0D0
|
|
str r0, [r1, #0x54]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021FE21C: .word _0221B0D8
|
|
_021FE220: .word _0221B0D0
|
|
_021FE224: .word _0221B0E0
|
|
arm_func_end ov00_021FE1D8
|
|
|
|
arm_func_start ov00_021FE228
|
|
ov00_021FE228: ; 0x021FE228
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x40
|
|
mov r4, r0
|
|
ldr r0, _021FE304 ; =_0221B16C
|
|
mov r1, r4
|
|
bl sub_020E959C
|
|
ldr r0, _021FE308 ; =_0221B0D0
|
|
mvn r1, #0
|
|
str r1, [r0, #4]
|
|
bl ov00_021FF3CC
|
|
ldr r0, _021FE30C ; =_0221B12C
|
|
ldrsb r5, [r0]
|
|
cmp r5, #0
|
|
bne _021FE270
|
|
ldr r1, _021FE310 ; =_02217C24
|
|
add r0, sp, #0
|
|
mov r2, r4
|
|
bl sub_020E7F30
|
|
_021FE270:
|
|
cmp r5, #0
|
|
ldrne r0, _021FE30C ; =_0221B12C
|
|
ldr r1, _021FE314 ; =0x00006CFC
|
|
ldr r2, _021FE318 ; =_0221B0D8
|
|
addeq r0, sp, #0
|
|
bl ov00_021FE164
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x40
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r0, #2
|
|
mov r1, r0
|
|
mov r2, #0
|
|
bl ov00_021FF804
|
|
ldr r2, _021FE308 ; =_0221B0D0
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
str r0, [r2, #4]
|
|
addeq sp, sp, #0x40
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r1, #9
|
|
mov r0, r4
|
|
strb r1, [r2, #0x10]
|
|
bl sub_020E9580
|
|
mov r5, r0
|
|
ldr r0, _021FE31C ; =_0221B0E5
|
|
mov r1, r4
|
|
add r2, r5, #1
|
|
bl sub_020E5AD8
|
|
ldr r0, _021FE308 ; =_0221B0D0
|
|
add r1, r5, #6
|
|
str r1, [r0, #0x50]
|
|
bl ov00_021FE1D8
|
|
ldr r0, _021FE308 ; =_0221B0D0
|
|
mov r1, #0
|
|
str r1, [r0, #0x58]
|
|
add sp, sp, #0x40
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021FE304: .word _0221B16C
|
|
_021FE308: .word _0221B0D0
|
|
_021FE30C: .word _0221B12C
|
|
_021FE310: .word _02217C24
|
|
_021FE314: .word 0x00006CFC
|
|
_021FE318: .word _0221B0D8
|
|
_021FE31C: .word _0221B0E5
|
|
arm_func_end ov00_021FE228
|
|
|
|
arm_func_start ov00_021FE320
|
|
ov00_021FE320: ; 0x021FE320
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r0
|
|
cmp r1, #7
|
|
mov r6, r2
|
|
mov r4, r3
|
|
movlt r0, #1
|
|
ldmltia sp!, {r4, r5, r6, pc}
|
|
ldr r1, _021FE3CC ; =_0221B0DC
|
|
add r0, r6, #4
|
|
mov r2, #4
|
|
bl sub_020E5BB0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldr r0, _021FE3D0 ; =_0221B0D0
|
|
ldrh r1, [r6, #2]
|
|
ldrh r0, [r0, #0xa]
|
|
cmp r1, r0
|
|
movne r0, #1
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldr r1, _021FE3D4 ; =_02217C48
|
|
mov r0, r5
|
|
mov r2, #3
|
|
bl sub_020E5BB0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldrsb r2, [r5, #3]
|
|
ldrsb r1, [r5, #4]
|
|
ldrsb r0, [r5, #5]
|
|
mov r3, r2, lsl #0x18
|
|
mov r2, r1, lsl #0x10
|
|
mov r1, r0, lsl #8
|
|
and r3, r3, #0xff000000
|
|
and r2, r2, #0xff0000
|
|
ldrb r0, [r5, #6]
|
|
orr r2, r3, r2
|
|
and r1, r1, #0xff00
|
|
orr r1, r2, r1
|
|
orr r0, r1, r0
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021FE3CC: .word _0221B0DC
|
|
_021FE3D0: .word _0221B0D0
|
|
_021FE3D4: .word _02217C48
|
|
arm_func_end ov00_021FE320
|
|
|
|
arm_func_start ov00_021FE3D8
|
|
ov00_021FE3D8: ; 0x021FE3D8
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #0x58
|
|
ldr r2, _021FE510 ; =_0221B0D0
|
|
mov r3, #8
|
|
ldr r0, [r2, #4]
|
|
sub r1, r3, #9
|
|
cmp r0, r1
|
|
str r3, [sp, #0xc]
|
|
moveq r0, #1
|
|
streq r0, [r2]
|
|
addeq sp, sp, #0x58
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_021FF694
|
|
cmp r0, #0
|
|
beq _021FE4B0
|
|
add r0, sp, #0x10
|
|
str r0, [sp]
|
|
add r1, sp, #0xc
|
|
str r1, [sp, #4]
|
|
ldr r0, _021FE510 ; =_0221B0D0
|
|
add r1, sp, #0x18
|
|
ldr r0, [r0, #4]
|
|
mov r2, #0x40
|
|
mov r3, #0
|
|
bl ov00_021FF940
|
|
mov r1, r0
|
|
add r0, sp, #0x18
|
|
add r2, sp, #0x10
|
|
add r3, sp, #8
|
|
bl ov00_021FE320
|
|
cmp r0, #0
|
|
bne _021FE4B0
|
|
ldr r0, _021FE510 ; =_0221B0D0
|
|
ldr r0, [r0, #4]
|
|
bl ov00_021FF818
|
|
ldr r0, [sp, #8]
|
|
tst r0, #1
|
|
beq _021FE480
|
|
ldr r0, _021FE510 ; =_0221B0D0
|
|
mov r1, #2
|
|
str r1, [r0]
|
|
b _021FE4A0
|
|
_021FE480:
|
|
tst r0, #2
|
|
ldreq r0, _021FE510 ; =_0221B0D0
|
|
moveq r1, #1
|
|
streq r1, [r0]
|
|
beq _021FE4A0
|
|
ldr r0, _021FE510 ; =_0221B0D0
|
|
mov r1, #3
|
|
str r1, [r0]
|
|
_021FE4A0:
|
|
ldr r0, _021FE510 ; =_0221B0D0
|
|
add sp, sp, #0x58
|
|
ldr r0, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
_021FE4B0:
|
|
bl ov00_021FF368
|
|
ldr r1, _021FE510 ; =_0221B0D0
|
|
ldr r2, [r1, #0x54]
|
|
add r2, r2, #0x7d0
|
|
cmp r0, r2
|
|
bls _021FE504
|
|
ldr r0, [r1, #0x58]
|
|
cmp r0, #1
|
|
bne _021FE4F0
|
|
ldr r0, [r1, #4]
|
|
bl ov00_021FF818
|
|
ldr r1, _021FE510 ; =_0221B0D0
|
|
mov r0, #1
|
|
str r0, [r1]
|
|
add sp, sp, #0x58
|
|
ldmia sp!, {r3, pc}
|
|
_021FE4F0:
|
|
bl ov00_021FE1D8
|
|
ldr r0, _021FE510 ; =_0221B0D0
|
|
ldr r1, [r0, #0x58]
|
|
add r1, r1, #1
|
|
str r1, [r0, #0x58]
|
|
_021FE504:
|
|
mov r0, #0
|
|
add sp, sp, #0x58
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021FE510: .word _0221B0D0
|
|
arm_func_end ov00_021FE3D8
|
|
|
|
arm_func_start ov00_021FE514
|
|
ov00_021FE514: ; 0x021FE514
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r2, [r4, #0x10]
|
|
cmp r2, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
bl ov00_021FE6EC
|
|
ldr r1, [r4, #0x10]
|
|
blx r1
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021FE514
|
|
|
|
arm_func_start ov00_021FE538
|
|
ov00_021FE538: ; 0x021FE538
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r1, [r4, #4]
|
|
ldr r0, [r4, #0xc]
|
|
add r2, r1, r0
|
|
str r2, [r4, #4]
|
|
ldr r0, [r4, #8]
|
|
mul r1, r2, r0
|
|
ldr r0, [r4, #0x14]
|
|
bl ov00_021EC3BC
|
|
str r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, _021FE584 ; =_02217D10
|
|
ldr r1, _021FE588 ; =_02217D1C
|
|
ldr r2, _021FE58C ; =_02217C7C
|
|
mov r3, #0x41
|
|
bl sub_020E4A9C
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FE584: .word _02217D10
|
|
_021FE588: .word _02217D1C
|
|
_021FE58C: .word _02217C7C
|
|
arm_func_end ov00_021FE538
|
|
|
|
arm_func_start ov00_021FE590
|
|
ov00_021FE590: ; 0x021FE590
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r1
|
|
mov r5, r0
|
|
mov r1, r2
|
|
bl ov00_021FE6EC
|
|
ldr r2, [r5, #8]
|
|
mov r1, r4
|
|
bl sub_020E5AD8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FE590
|
|
|
|
arm_func_start ov00_021FE5B4
|
|
ov00_021FE5B4: ; 0x021FE5B4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
mov r0, #0x18
|
|
mov r6, r1
|
|
mov r5, r2
|
|
bl ov00_021EC3A8
|
|
movs r4, r0
|
|
bne _021FE5E8
|
|
ldr r0, _021FE664 ; =_02217D28
|
|
ldr r1, _021FE668 ; =_02217D1C
|
|
ldr r2, _021FE66C ; =_02217C64
|
|
mov r3, #0x52
|
|
bl sub_020E4A9C
|
|
_021FE5E8:
|
|
cmp r7, #0
|
|
bne _021FE604
|
|
ldr r0, _021FE670 ; =_02217D30
|
|
ldr r1, _021FE668 ; =_02217D1C
|
|
ldr r2, _021FE66C ; =_02217C64
|
|
mov r3, #0x53
|
|
bl sub_020E4A9C
|
|
_021FE604:
|
|
cmp r6, #0
|
|
moveq r6, #8
|
|
mov r0, #0
|
|
stmia r4, {r0, r6, r7}
|
|
str r6, [r4, #0xc]
|
|
str r5, [r4, #0x10]
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #0
|
|
beq _021FE658
|
|
ldr r0, [r4, #8]
|
|
mul r0, r1, r0
|
|
bl ov00_021EC3A8
|
|
str r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
bne _021FE65C
|
|
ldr r0, _021FE674 ; =_02217D10
|
|
ldr r1, _021FE668 ; =_02217D1C
|
|
ldr r2, _021FE66C ; =_02217C64
|
|
mov r3, #0x5e
|
|
bl sub_020E4A9C
|
|
b _021FE65C
|
|
_021FE658:
|
|
str r0, [r4, #0x14]
|
|
_021FE65C:
|
|
mov r0, r4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021FE664: .word _02217D28
|
|
_021FE668: .word _02217D1C
|
|
_021FE66C: .word _02217C64
|
|
_021FE670: .word _02217D30
|
|
_021FE674: .word _02217D10
|
|
arm_func_end ov00_021FE5B4
|
|
|
|
arm_func_start ov00_021FE678
|
|
ov00_021FE678: ; 0x021FE678
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
movs r5, r0
|
|
bne _021FE698
|
|
ldr r0, _021FE6D8 ; =_02217D28
|
|
ldr r1, _021FE6DC ; =_02217D1C
|
|
ldr r2, _021FE6E0 ; =_02217C70
|
|
mov r3, #0x69
|
|
bl sub_020E4A9C
|
|
_021FE698:
|
|
ldr r0, [r5]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _021FE6C4
|
|
_021FE6A8:
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_021FE514
|
|
ldr r0, [r5]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _021FE6A8
|
|
_021FE6C4:
|
|
ldr r0, [r5, #0x14]
|
|
bl ov00_021EC3D8
|
|
mov r0, r5
|
|
bl ov00_021EC3D8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021FE6D8: .word _02217D28
|
|
_021FE6DC: .word _02217D1C
|
|
_021FE6E0: .word _02217C70
|
|
arm_func_end ov00_021FE678
|
|
|
|
arm_func_start ov00_021FE6E4
|
|
ov00_021FE6E4: ; 0x021FE6E4
|
|
ldr r0, [r0]
|
|
bx lr
|
|
arm_func_end ov00_021FE6E4
|
|
|
|
arm_func_start ov00_021FE6EC
|
|
ov00_021FE6EC: ; 0x021FE6EC
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
movs r4, r1
|
|
mov r5, r0
|
|
bmi _021FE708
|
|
ldr r0, [r5]
|
|
cmp r4, r0
|
|
blt _021FE71C
|
|
_021FE708:
|
|
ldr r0, _021FE748 ; =_02217D3C
|
|
ldr r1, _021FE74C ; =_02217D1C
|
|
ldr r2, _021FE750 ; =_02217C58
|
|
mov r3, #0x94
|
|
bl sub_020E4A9C
|
|
_021FE71C:
|
|
cmp r4, #0
|
|
blt _021FE730
|
|
ldr r0, [r5]
|
|
cmp r4, r0
|
|
blt _021FE738
|
|
_021FE730:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021FE738:
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, [r5, #8]
|
|
mla r0, r1, r4, r0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021FE748: .word _02217D3C
|
|
_021FE74C: .word _02217D1C
|
|
_021FE750: .word _02217C58
|
|
arm_func_end ov00_021FE6EC
|
|
|
|
arm_func_start ov00_021FE754
|
|
ov00_021FE754: ; 0x021FE754
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
movs r5, r0
|
|
mov r4, r1
|
|
bne _021FE778
|
|
ldr r0, _021FE794 ; =_02217D28
|
|
ldr r1, _021FE798 ; =_02217D1C
|
|
ldr r2, _021FE79C ; =_02217C88
|
|
mov r3, #0xa0
|
|
bl sub_020E4A9C
|
|
_021FE778:
|
|
cmp r5, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r2, [r5]
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_021FE7A0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021FE794: .word _02217D28
|
|
_021FE798: .word _02217D1C
|
|
_021FE79C: .word _02217C88
|
|
arm_func_end ov00_021FE754
|
|
|
|
arm_func_start ov00_021FE7A0
|
|
ov00_021FE7A0: ; 0x021FE7A0
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
movs r4, r2
|
|
mov r6, r0
|
|
mov r5, r1
|
|
bmi _021FE7C0
|
|
ldr r0, [r6]
|
|
cmp r4, r0
|
|
ble _021FE7D4
|
|
_021FE7C0:
|
|
ldr r0, _021FE84C ; =_02217D5C
|
|
ldr r1, _021FE850 ; =_02217D1C
|
|
ldr r2, _021FE854 ; =_02217CB4
|
|
mov r3, #0xa7
|
|
bl sub_020E4A9C
|
|
_021FE7D4:
|
|
ldr r1, [r6]
|
|
ldr r0, [r6, #4]
|
|
cmp r1, r0
|
|
bne _021FE7EC
|
|
mov r0, r6
|
|
bl ov00_021FE538
|
|
_021FE7EC:
|
|
ldr r0, [r6]
|
|
add r0, r0, #1
|
|
sub r8, r0, #1
|
|
str r0, [r6]
|
|
cmp r4, r8
|
|
bge _021FE838
|
|
mov r0, r6
|
|
add r1, r4, #1
|
|
bl ov00_021FE6EC
|
|
mov r7, r0
|
|
mov r0, r6
|
|
mov r1, r4
|
|
bl ov00_021FE6EC
|
|
mov r1, r0
|
|
ldr r3, [r6, #8]
|
|
sub r0, r8, r4
|
|
mul r2, r3, r0
|
|
mov r0, r7
|
|
bl sub_020E5AF8
|
|
_021FE838:
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r2, r4
|
|
bl ov00_021FE590
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_021FE84C: .word _02217D5C
|
|
_021FE850: .word _02217D1C
|
|
_021FE854: .word _02217CB4
|
|
arm_func_end ov00_021FE7A0
|
|
|
|
arm_func_start ov00_021FE858
|
|
ov00_021FE858: ; 0x021FE858
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0xc
|
|
movs r4, r2
|
|
mov r6, r0
|
|
mov r5, r1
|
|
bne _021FE884
|
|
ldr r0, _021FE8CC ; =_02217D7C
|
|
ldr r1, _021FE8D0 ; =_02217D1C
|
|
ldr r2, _021FE8D4 ; =_02217CE8
|
|
mov r3, #0xb7
|
|
bl sub_020E4A9C
|
|
_021FE884:
|
|
add r0, sp, #8
|
|
str r4, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [r6, #0x14]
|
|
ldr r2, [r6]
|
|
ldr r3, [r6, #8]
|
|
mov r0, r5
|
|
bl ov00_021FECC0
|
|
ldr r2, [r6, #0x14]
|
|
ldr r1, [r6, #8]
|
|
sub r0, r0, r2
|
|
bl sub_020F2998
|
|
mov r2, r0
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov00_021FE7A0
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021FE8CC: .word _02217D7C
|
|
_021FE8D0: .word _02217D1C
|
|
_021FE8D4: .word _02217CE8
|
|
arm_func_end ov00_021FE858
|
|
|
|
arm_func_start ov00_021FE8D8
|
|
ov00_021FE8D8: ; 0x021FE8D8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
movs r7, r1
|
|
mov r4, r0
|
|
bmi _021FE8F4
|
|
ldr r0, [r4]
|
|
cmp r7, r0
|
|
blt _021FE908
|
|
_021FE8F4:
|
|
ldr r0, _021FE95C ; =_02217D3C
|
|
ldr r1, _021FE960 ; =_02217D1C
|
|
ldr r2, _021FE964 ; =_02217C94
|
|
mov r3, #0xc0
|
|
bl sub_020E4A9C
|
|
_021FE908:
|
|
ldr r0, [r4]
|
|
sub r6, r0, #1
|
|
cmp r7, r6
|
|
bge _021FE94C
|
|
mov r0, r4
|
|
mov r1, r7
|
|
bl ov00_021FE6EC
|
|
mov r5, r0
|
|
mov r0, r4
|
|
add r1, r7, #1
|
|
bl ov00_021FE6EC
|
|
mov r1, r0
|
|
ldr r3, [r4, #8]
|
|
sub r0, r6, r7
|
|
mul r2, r3, r0
|
|
mov r0, r5
|
|
bl sub_020E5AF8
|
|
_021FE94C:
|
|
ldr r0, [r4]
|
|
sub r0, r0, #1
|
|
str r0, [r4]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021FE95C: .word _02217D3C
|
|
_021FE960: .word _02217D1C
|
|
_021FE964: .word _02217C94
|
|
arm_func_end ov00_021FE8D8
|
|
|
|
arm_func_start ov00_021FE968
|
|
ov00_021FE968: ; 0x021FE968
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
movs r4, r1
|
|
mov r5, r0
|
|
bmi _021FE984
|
|
ldr r0, [r5]
|
|
cmp r4, r0
|
|
blt _021FE998
|
|
_021FE984:
|
|
ldr r0, _021FE9B4 ; =_02217D3C
|
|
ldr r1, _021FE9B8 ; =_02217D1C
|
|
ldr r2, _021FE9BC ; =_02217CA4
|
|
mov r3, #0xca
|
|
bl sub_020E4A9C
|
|
_021FE998:
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_021FE514
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_021FE8D8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021FE9B4: .word _02217D3C
|
|
_021FE9B8: .word _02217D1C
|
|
_021FE9BC: .word _02217CA4
|
|
arm_func_end ov00_021FE968
|
|
|
|
arm_func_start ov00_021FE9C0
|
|
ov00_021FE9C0: ; 0x021FE9C0
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
movs r4, r2
|
|
mov r6, r0
|
|
mov r5, r1
|
|
bmi _021FE9E0
|
|
ldr r0, [r6]
|
|
cmp r4, r0
|
|
blt _021FE9F4
|
|
_021FE9E0:
|
|
ldr r0, _021FEA14 ; =_02217D3C
|
|
ldr r1, _021FEA18 ; =_02217D1C
|
|
ldr r2, _021FEA1C ; =_02217CC4
|
|
mov r3, #0xd3
|
|
bl sub_020E4A9C
|
|
_021FE9F4:
|
|
mov r0, r6
|
|
mov r1, r4
|
|
bl ov00_021FE514
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r2, r4
|
|
bl ov00_021FE590
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021FEA14: .word _02217D3C
|
|
_021FEA18: .word _02217D1C
|
|
_021FEA1C: .word _02217CC4
|
|
arm_func_end ov00_021FE9C0
|
|
|
|
arm_func_start ov00_021FEA20
|
|
ov00_021FEA20: ; 0x021FEA20
|
|
ldr ip, _021FEA3C ; =sub_020E7F5C
|
|
mov r2, r0
|
|
mov r3, r1
|
|
ldr r0, [r2, #0x14]
|
|
ldr r1, [r2]
|
|
ldr r2, [r2, #8]
|
|
bx ip
|
|
.align 2, 0
|
|
_021FEA3C: .word sub_020E7F5C
|
|
arm_func_end ov00_021FEA20
|
|
|
|
arm_func_start ov00_021FEA40
|
|
ov00_021FEA40: ; 0x021FEA40
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0xc
|
|
mov ip, #1
|
|
movs r7, r0
|
|
str ip, [sp, #8]
|
|
ldrne r8, [r7]
|
|
mov r6, r1
|
|
cmpne r8, #0
|
|
mov r5, r2
|
|
mov r4, r3
|
|
addeq sp, sp, #0xc
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
ldr r1, [sp, #0x28]
|
|
cmp r1, #0
|
|
mov r1, r4
|
|
beq _021FEAAC
|
|
bl ov00_021FE6EC
|
|
add r1, sp, #8
|
|
str r5, [sp]
|
|
str r1, [sp, #4]
|
|
mov r1, r0
|
|
ldr r3, [r7, #8]
|
|
mov r0, r6
|
|
sub r2, r8, r4
|
|
bl ov00_021FECC0
|
|
b _021FEAC8
|
|
_021FEAAC:
|
|
bl ov00_021FE6EC
|
|
str r5, [sp]
|
|
mov r1, r0
|
|
ldr r3, [r7, #8]
|
|
mov r0, r6
|
|
sub r2, r8, r4
|
|
bl ov00_021FEC68
|
|
_021FEAC8:
|
|
cmp r0, #0
|
|
ldrne r1, [sp, #8]
|
|
cmpne r1, #0
|
|
addeq sp, sp, #0xc
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
ldr r2, [r7, #0x14]
|
|
ldr r1, [r7, #8]
|
|
sub r0, r0, r2
|
|
bl sub_020F2998
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
arm_func_end ov00_021FEA40
|
|
|
|
arm_func_start ov00_021FEAF8
|
|
ov00_021FEAF8: ; 0x021FEAF8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
movs r6, r1
|
|
mov r7, r0
|
|
mov r5, r2
|
|
bne _021FEB20
|
|
ldr r0, _021FEB58 ; =_02217D88
|
|
ldr r1, _021FEB5C ; =_02217D1C
|
|
ldr r2, _021FEB60 ; =_02217C4C
|
|
mov r3, #0xf9
|
|
bl sub_020E4A9C
|
|
_021FEB20:
|
|
ldr r0, [r7]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ldmleia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021FEB30:
|
|
mov r0, r7
|
|
mov r1, r4
|
|
bl ov00_021FE6EC
|
|
mov r1, r5
|
|
blx r6
|
|
ldr r0, [r7]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _021FEB30
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021FEB58: .word _02217D88
|
|
_021FEB5C: .word _02217D1C
|
|
_021FEB60: .word _02217C4C
|
|
arm_func_end ov00_021FEAF8
|
|
|
|
arm_func_start ov00_021FEB64
|
|
ov00_021FEB64: ; 0x021FEB64
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
movs r6, r1
|
|
mov r7, r0
|
|
mov r5, r2
|
|
bne _021FEB8C
|
|
ldr r0, _021FEBB8 ; =_02217D88
|
|
ldr r1, _021FEBBC ; =_02217D1C
|
|
ldr r2, _021FEBC0 ; =_02217CD4
|
|
mov r3, #0x104
|
|
bl sub_020E4A9C
|
|
_021FEB8C:
|
|
ldr r0, [r7]
|
|
subs r4, r0, #1
|
|
ldmmiia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021FEB98:
|
|
mov r0, r7
|
|
mov r1, r4
|
|
bl ov00_021FE6EC
|
|
mov r1, r5
|
|
blx r6
|
|
subs r4, r4, #1
|
|
bpl _021FEB98
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021FEBB8: .word _02217D88
|
|
_021FEBBC: .word _02217D1C
|
|
_021FEBC0: .word _02217CD4
|
|
arm_func_end ov00_021FEB64
|
|
|
|
arm_func_start ov00_021FEBC4
|
|
ov00_021FEBC4: ; 0x021FEBC4
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
movs r7, r1
|
|
mov r8, r0
|
|
mov r6, r2
|
|
bne _021FEBEC
|
|
ldr r0, _021FEC2C ; =_02217D88
|
|
ldr r1, _021FEC30 ; =_02217D1C
|
|
ldr r2, _021FEC34 ; =_02217CFC
|
|
ldr r3, _021FEC38 ; =0x00000121
|
|
bl sub_020E4A9C
|
|
_021FEBEC:
|
|
ldr r0, [r8]
|
|
subs r5, r0, #1
|
|
bmi _021FEC24
|
|
_021FEBF8:
|
|
mov r0, r8
|
|
mov r1, r5
|
|
bl ov00_021FE6EC
|
|
mov r1, r6
|
|
mov r4, r0
|
|
blx r7
|
|
cmp r0, #0
|
|
moveq r0, r4
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
subs r5, r5, #1
|
|
bpl _021FEBF8
|
|
_021FEC24:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_021FEC2C: .word _02217D88
|
|
_021FEC30: .word _02217D1C
|
|
_021FEC34: .word _02217CFC
|
|
_021FEC38: .word 0x00000121
|
|
arm_func_end ov00_021FEBC4
|
|
|
|
arm_func_start ov00_021FEC3C
|
|
ov00_021FEC3C: ; 0x021FEC3C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
bl ov00_021FE6E4
|
|
subs r4, r0, #1
|
|
ldmmiia sp!, {r3, r4, r5, pc}
|
|
_021FEC50:
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_021FE968
|
|
subs r4, r4, #1
|
|
bpl _021FEC50
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FEC3C
|
|
|
|
arm_func_start ov00_021FEC68
|
|
ov00_021FEC68: ; 0x021FEC68
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
mov r8, r2
|
|
mov sl, r0
|
|
mov sb, r1
|
|
mov r7, r3
|
|
cmp r8, #0
|
|
ldr r6, [sp, #0x20]
|
|
mov r4, #0
|
|
ble _021FECB8
|
|
mov r5, r4
|
|
_021FEC90:
|
|
mov r0, sl
|
|
add r1, sb, r5
|
|
blx r6
|
|
cmp r0, #0
|
|
mlaeq r0, r7, r4, sb
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
add r4, r4, #1
|
|
cmp r4, r8
|
|
add r5, r5, r7
|
|
blt _021FEC90
|
|
_021FECB8:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
arm_func_end ov00_021FEC68
|
|
|
|
arm_func_start ov00_021FECC0
|
|
ov00_021FECC0: ; 0x021FECC0
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
ldr r7, [sp, #0x2c]
|
|
mov r4, #0
|
|
mov fp, r0
|
|
mov sl, r1
|
|
mov sb, r3
|
|
str r4, [r7]
|
|
subs r5, r2, #1
|
|
ldr r8, [sp, #0x28]
|
|
bmi _021FED1C
|
|
_021FECE8:
|
|
add r0, r4, r5
|
|
mov r6, r0, asr #1
|
|
mla r0, r6, sb, sl
|
|
mov r1, fp
|
|
blx r8
|
|
cmp r0, #0
|
|
moveq r1, #1
|
|
streq r1, [r7]
|
|
cmp r0, #0
|
|
addlt r4, r6, #1
|
|
subge r5, r6, #1
|
|
cmp r4, r5
|
|
ble _021FECE8
|
|
_021FED1C:
|
|
mla r0, r4, sb, sl
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
arm_func_end ov00_021FECC0
|
|
|
|
arm_func_start ov00_021FED24
|
|
ov00_021FED24: ; 0x021FED24
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #8
|
|
ldr ip, [sp, #0x10]
|
|
str r3, [sp]
|
|
mov r3, r2
|
|
mov r2, #4
|
|
str ip, [sp, #4]
|
|
bl ov00_021FED4C
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FED24
|
|
|
|
arm_func_start ov00_021FED4C
|
|
ov00_021FED4C: ; 0x021FED4C
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
movs r7, r3
|
|
mov sl, r0
|
|
mov sb, r1
|
|
mov r8, r2
|
|
ldr r6, [sp, #0x24]
|
|
bne _021FED7C
|
|
ldr r0, _021FEE6C ; =_02217E00
|
|
ldr r1, _021FEE70 ; =_02217E08
|
|
ldr r2, _021FEE74 ; =_02217D98
|
|
mov r3, #0x38
|
|
bl sub_020E4A9C
|
|
_021FED7C:
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #0
|
|
bne _021FED9C
|
|
ldr r0, _021FEE78 ; =_02217E14
|
|
ldr r1, _021FEE70 ; =_02217E08
|
|
ldr r2, _021FEE74 ; =_02217D98
|
|
mov r3, #0x39
|
|
bl sub_020E4A9C
|
|
_021FED9C:
|
|
cmp sl, #0
|
|
bne _021FEDB8
|
|
ldr r0, _021FEE7C ; =_02217E1C
|
|
ldr r1, _021FEE70 ; =_02217E08
|
|
ldr r2, _021FEE74 ; =_02217D98
|
|
mov r3, #0x3a
|
|
bl sub_020E4A9C
|
|
_021FEDB8:
|
|
cmp sb, #0
|
|
bne _021FEDD4
|
|
ldr r0, _021FEE80 ; =_02217E28
|
|
ldr r1, _021FEE70 ; =_02217E08
|
|
ldr r2, _021FEE74 ; =_02217D98
|
|
mov r3, #0x3b
|
|
bl sub_020E4A9C
|
|
_021FEDD4:
|
|
mov r0, #0x14
|
|
bl ov00_021EC3A8
|
|
movs r4, r0
|
|
bne _021FEDF8
|
|
ldr r0, _021FEE84 ; =_02217E34
|
|
ldr r1, _021FEE70 ; =_02217E08
|
|
ldr r2, _021FEE74 ; =_02217D98
|
|
mov r3, #0x3e
|
|
bl sub_020E4A9C
|
|
_021FEDF8:
|
|
mov r0, sb, lsl #2
|
|
bl ov00_021EC3A8
|
|
str r0, [r4]
|
|
cmp r0, #0
|
|
bne _021FEE20
|
|
ldr r0, _021FEE88 ; =_02217E3C
|
|
ldr r1, _021FEE70 ; =_02217E08
|
|
ldr r2, _021FEE74 ; =_02217D98
|
|
mov r3, #0x41
|
|
bl sub_020E4A9C
|
|
_021FEE20:
|
|
cmp sb, #0
|
|
mov r5, #0
|
|
ble _021FEE50
|
|
_021FEE2C:
|
|
mov r0, sl
|
|
mov r1, r8
|
|
mov r2, r6
|
|
bl ov00_021FE5B4
|
|
ldr r1, [r4]
|
|
str r0, [r1, r5, lsl #2]
|
|
add r5, r5, #1
|
|
cmp r5, sb
|
|
blt _021FEE2C
|
|
_021FEE50:
|
|
str sb, [r4, #4]
|
|
ldr r0, [sp, #0x20]
|
|
str r6, [r4, #8]
|
|
str r0, [r4, #0x10]
|
|
mov r0, r4
|
|
str r7, [r4, #0xc]
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
_021FEE6C: .word _02217E00
|
|
_021FEE70: .word _02217E08
|
|
_021FEE74: .word _02217D98
|
|
_021FEE78: .word _02217E14
|
|
_021FEE7C: .word _02217E1C
|
|
_021FEE80: .word _02217E28
|
|
_021FEE84: .word _02217E34
|
|
_021FEE88: .word _02217E3C
|
|
arm_func_end ov00_021FED4C
|
|
|
|
arm_func_start ov00_021FEE8C
|
|
ov00_021FEE8C: ; 0x021FEE8C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
movs r5, r0
|
|
bne _021FEEAC
|
|
ldr r0, _021FEEF4 ; =_02217E34
|
|
ldr r1, _021FEEF8 ; =_02217E08
|
|
ldr r2, _021FEEFC ; =_02217DA4
|
|
mov r3, #0x51
|
|
bl sub_020E4A9C
|
|
_021FEEAC:
|
|
cmp r5, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, [r5, #4]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _021FEEE0
|
|
_021FEEC4:
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, r4, lsl #2]
|
|
bl ov00_021FE678
|
|
ldr r0, [r5, #4]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _021FEEC4
|
|
_021FEEE0:
|
|
ldr r0, [r5]
|
|
bl ov00_021EC3D8
|
|
mov r0, r5
|
|
bl ov00_021EC3D8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021FEEF4: .word _02217E34
|
|
_021FEEF8: .word _02217E08
|
|
_021FEEFC: .word _02217DA4
|
|
arm_func_end ov00_021FEE8C
|
|
|
|
arm_func_start ov00_021FEF00
|
|
ov00_021FEF00: ; 0x021FEF00
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
movs r6, r0
|
|
mov r5, #0
|
|
bne _021FEF24
|
|
ldr r0, _021FEF68 ; =_02217E34
|
|
ldr r1, _021FEF6C ; =_02217E08
|
|
ldr r2, _021FEF70 ; =_02217DBC
|
|
mov r3, #0x61
|
|
bl sub_020E4A9C
|
|
_021FEF24:
|
|
cmp r6, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r0, [r6, #4]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _021FEF60
|
|
_021FEF40:
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, r4, lsl #2]
|
|
bl ov00_021FE6E4
|
|
ldr r1, [r6, #4]
|
|
add r4, r4, #1
|
|
cmp r4, r1
|
|
add r5, r5, r0
|
|
blt _021FEF40
|
|
_021FEF60:
|
|
mov r0, r5
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021FEF68: .word _02217E34
|
|
_021FEF6C: .word _02217E08
|
|
_021FEF70: .word _02217DBC
|
|
arm_func_end ov00_021FEF00
|
|
|
|
arm_func_start ov00_021FEF74
|
|
ov00_021FEF74: ; 0x021FEF74
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #4
|
|
movs r6, r0
|
|
mov r5, r1
|
|
bne _021FEF9C
|
|
ldr r0, _021FF010 ; =_02217E34
|
|
ldr r1, _021FF014 ; =_02217E08
|
|
ldr r2, _021FF018 ; =_02217DB0
|
|
mov r3, #0x71
|
|
bl sub_020E4A9C
|
|
_021FEF9C:
|
|
cmp r6, #0
|
|
addeq sp, sp, #4
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
ldr r1, [r6, #4]
|
|
ldr r2, [r6, #0xc]
|
|
mov r0, r5
|
|
blx r2
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r1, [r6]
|
|
mov r4, r0
|
|
ldr r0, [r1, r4, lsl #2]
|
|
ldr r2, [r6, #0x10]
|
|
mov r1, r5
|
|
bl ov00_021FEA40
|
|
mov r2, r0
|
|
mvn r0, #0
|
|
cmp r2, r0
|
|
ldr r0, [r6]
|
|
mov r1, r5
|
|
bne _021FF000
|
|
ldr r0, [r0, r4, lsl #2]
|
|
bl ov00_021FE754
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_021FF000:
|
|
ldr r0, [r0, r4, lsl #2]
|
|
bl ov00_021FE9C0
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021FF010: .word _02217E34
|
|
_021FF014: .word _02217E08
|
|
_021FF018: .word _02217DB0
|
|
arm_func_end ov00_021FEF74
|
|
|
|
arm_func_start ov00_021FF01C
|
|
ov00_021FF01C: ; 0x021FF01C
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #4
|
|
movs r6, r0
|
|
mov r5, r1
|
|
bne _021FF044
|
|
ldr r0, _021FF0B4 ; =_02217E34
|
|
ldr r1, _021FF0B8 ; =_02217E08
|
|
ldr r2, _021FF0BC ; =_02217DC8
|
|
mov r3, #0x82
|
|
bl sub_020E4A9C
|
|
_021FF044:
|
|
cmp r6, #0
|
|
addeq sp, sp, #4
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
ldr r1, [r6, #4]
|
|
ldr r2, [r6, #0xc]
|
|
mov r0, r5
|
|
blx r2
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r1, [r6]
|
|
mov r4, r0
|
|
ldr r0, [r1, r4, lsl #2]
|
|
ldr r2, [r6, #0x10]
|
|
mov r1, r5
|
|
bl ov00_021FEA40
|
|
mov r1, r0
|
|
mvn r0, #0
|
|
cmp r1, r0
|
|
addeq sp, sp, #4
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, r4, lsl #2]
|
|
bl ov00_021FE968
|
|
mov r0, #1
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021FF0B4: .word _02217E34
|
|
_021FF0B8: .word _02217E08
|
|
_021FF0BC: .word _02217DC8
|
|
arm_func_end ov00_021FF01C
|
|
|
|
arm_func_start ov00_021FF0C0
|
|
ov00_021FF0C0: ; 0x021FF0C0
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #4
|
|
movs r6, r0
|
|
mov r5, r1
|
|
bne _021FF0E8
|
|
ldr r0, _021FF154 ; =_02217E34
|
|
ldr r1, _021FF158 ; =_02217E08
|
|
ldr r2, _021FF15C ; =_02217DD4
|
|
mov r3, #0x94
|
|
bl sub_020E4A9C
|
|
_021FF0E8:
|
|
cmp r6, #0
|
|
addeq sp, sp, #4
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
ldr r1, [r6, #4]
|
|
ldr r2, [r6, #0xc]
|
|
mov r0, r5
|
|
blx r2
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r1, [r6]
|
|
mov r4, r0
|
|
ldr r0, [r1, r4, lsl #2]
|
|
ldr r2, [r6, #0x10]
|
|
mov r1, r5
|
|
bl ov00_021FEA40
|
|
mov r1, r0
|
|
mvn r0, #0
|
|
cmp r1, r0
|
|
addeq sp, sp, #4
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, r4, lsl #2]
|
|
bl ov00_021FE6EC
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021FF154: .word _02217E34
|
|
_021FF158: .word _02217E08
|
|
_021FF15C: .word _02217DD4
|
|
arm_func_end ov00_021FF0C0
|
|
|
|
arm_func_start ov00_021FF160
|
|
ov00_021FF160: ; 0x021FF160
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
movs r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
bne _021FF188
|
|
ldr r0, _021FF1E8 ; =_02217E34
|
|
ldr r1, _021FF1EC ; =_02217E08
|
|
ldr r2, _021FF1F0 ; =_02217D8C
|
|
mov r3, #0xa7
|
|
bl sub_020E4A9C
|
|
_021FF188:
|
|
cmp r6, #0
|
|
bne _021FF1A4
|
|
ldr r0, _021FF1F4 ; =_02217E4C
|
|
ldr r1, _021FF1EC ; =_02217E08
|
|
ldr r2, _021FF1F0 ; =_02217D8C
|
|
mov r3, #0xa8
|
|
bl sub_020E4A9C
|
|
_021FF1A4:
|
|
cmp r7, #0
|
|
cmpne r6, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r7, #4]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ldmleia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021FF1C0:
|
|
ldr r0, [r7]
|
|
mov r1, r6
|
|
ldr r0, [r0, r4, lsl #2]
|
|
mov r2, r5
|
|
bl ov00_021FEAF8
|
|
ldr r0, [r7, #4]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _021FF1C0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021FF1E8: .word _02217E34
|
|
_021FF1EC: .word _02217E08
|
|
_021FF1F0: .word _02217D8C
|
|
_021FF1F4: .word _02217E4C
|
|
arm_func_end ov00_021FF160
|
|
|
|
arm_func_start ov00_021FF1F8
|
|
ov00_021FF1F8: ; 0x021FF1F8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
movs r6, r1
|
|
mov r7, r0
|
|
mov r5, r2
|
|
bne _021FF220
|
|
ldr r0, _021FF258 ; =_02217E4C
|
|
ldr r1, _021FF25C ; =_02217E08
|
|
ldr r2, _021FF260 ; =_02217DE0
|
|
mov r3, #0xb6
|
|
bl sub_020E4A9C
|
|
_021FF220:
|
|
ldr r0, [r7, #4]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ldmleia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021FF230:
|
|
ldr r0, [r7]
|
|
mov r1, r6
|
|
ldr r0, [r0, r4, lsl #2]
|
|
mov r2, r5
|
|
bl ov00_021FEB64
|
|
ldr r0, [r7, #4]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _021FF230
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021FF258: .word _02217E4C
|
|
_021FF25C: .word _02217E08
|
|
_021FF260: .word _02217DE0
|
|
arm_func_end ov00_021FF1F8
|
|
|
|
arm_func_start ov00_021FF264
|
|
ov00_021FF264: ; 0x021FF264
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
movs r6, r1
|
|
mov r7, r0
|
|
mov r5, r2
|
|
bne _021FF28C
|
|
ldr r0, _021FF2D0 ; =_02217E4C
|
|
ldr r1, _021FF2D4 ; =_02217E08
|
|
ldr r2, _021FF2D8 ; =_02217DF0
|
|
mov r3, #0xd3
|
|
bl sub_020E4A9C
|
|
_021FF28C:
|
|
ldr r0, [r7, #4]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _021FF2C8
|
|
_021FF29C:
|
|
ldr r0, [r7]
|
|
mov r1, r6
|
|
ldr r0, [r0, r4, lsl #2]
|
|
mov r2, r5
|
|
bl ov00_021FEBC4
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r7, #4]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _021FF29C
|
|
_021FF2C8:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021FF2D0: .word _02217E4C
|
|
_021FF2D4: .word _02217E08
|
|
_021FF2D8: .word _02217DF0
|
|
arm_func_end ov00_021FF264
|
|
|
|
arm_func_start ov00_021FF2DC
|
|
ov00_021FF2DC: ; 0x021FF2DC
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
mov r5, #0
|
|
ldr r4, _021FF318 ; =_02217E50
|
|
mov r8, r0
|
|
mov r7, r1
|
|
mov r6, r5
|
|
_021FF2F4:
|
|
ldrb r2, [r8, r5]
|
|
mov r1, r4
|
|
add r0, r7, r6
|
|
bl sub_020E7F30
|
|
add r5, r5, #1
|
|
cmp r5, #0x10
|
|
add r6, r6, #2
|
|
blo _021FF2F4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_021FF318: .word _02217E50
|
|
arm_func_end ov00_021FF2DC
|
|
|
|
arm_func_start ov00_021FF31C
|
|
ov00_021FF31C: ; 0x021FF31C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x68
|
|
mov r6, r0
|
|
add r0, sp, #0x10
|
|
mov r5, r1
|
|
mov r4, r2
|
|
bl sub_020B03CC
|
|
add r0, sp, #0x10
|
|
mov r1, r6
|
|
mov r2, r5
|
|
bl sub_020B03D8
|
|
add r0, sp, #0
|
|
add r1, sp, #0x10
|
|
bl sub_020B03E4
|
|
add r0, sp, #0
|
|
mov r1, r4
|
|
bl ov00_021FF2DC
|
|
add sp, sp, #0x68
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021FF31C
|
|
|
|
arm_func_start ov00_021FF368
|
|
ov00_021FF368: ; 0x021FF368
|
|
stmdb sp!, {r3, lr}
|
|
bl sub_020D3438
|
|
cmp r0, #1
|
|
beq _021FF38C
|
|
ldr r0, _021FF3AC ; =_02217E74
|
|
ldr r1, _021FF3B0 ; =_02217E94
|
|
ldr r2, _021FF3B4 ; =_02217E64
|
|
ldr r3, _021FF3B8 ; =0x00000109
|
|
bl sub_020E4A9C
|
|
_021FF38C:
|
|
bl sub_020D34B0
|
|
mov r1, r1, lsl #6
|
|
orr r1, r1, r0, lsr #26
|
|
ldr r2, _021FF3BC ; =0x000082EA
|
|
mov r0, r0, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021FF3AC: .word _02217E74
|
|
_021FF3B0: .word _02217E94
|
|
_021FF3B4: .word _02217E64
|
|
_021FF3B8: .word 0x00000109
|
|
_021FF3BC: .word 0x000082EA
|
|
arm_func_end ov00_021FF368
|
|
|
|
arm_func_start ov00_021FF3C0
|
|
ov00_021FF3C0: ; 0x021FF3C0
|
|
ldr ip, _021FF3C8 ; =sub_020D2108
|
|
bx ip
|
|
.align 2, 0
|
|
_021FF3C8: .word sub_020D2108
|
|
arm_func_end ov00_021FF3C0
|
|
|
|
arm_func_start ov00_021FF3CC
|
|
ov00_021FF3CC: ; 0x021FF3CC
|
|
bx lr
|
|
arm_func_end ov00_021FF3CC
|
|
|
|
arm_func_start ov00_021FF3D0
|
|
ov00_021FF3D0: ; 0x021FF3D0
|
|
bx lr
|
|
arm_func_end ov00_021FF3D0
|
|
|
|
arm_func_start ov00_021FF3D4
|
|
ov00_021FF3D4: ; 0x021FF3D4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
movs r5, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
bl sub_020E9580
|
|
add r0, r0, #1
|
|
bl ov00_021EC3A8
|
|
movs r4, r0
|
|
beq _021FF400
|
|
mov r1, r5
|
|
bl sub_020E959C
|
|
_021FF400:
|
|
mov r0, r4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FF3D4
|
|
|
|
arm_func_start ov00_021FF408
|
|
ov00_021FF408: ; 0x021FF408
|
|
ldrsb r3, [r0]
|
|
mov r2, r0
|
|
cmp r3, #0
|
|
beq _021FF440
|
|
ldr r1, _021FF448 ; =0x0210E404
|
|
_021FF41C:
|
|
cmp r3, #0
|
|
blt _021FF430
|
|
cmp r3, #0x80
|
|
bge _021FF430
|
|
ldrb r3, [r1, r3]
|
|
_021FF430:
|
|
strb r3, [r0]
|
|
ldrsb r3, [r0, #1]!
|
|
cmp r3, #0
|
|
bne _021FF41C
|
|
_021FF440:
|
|
mov r0, r2
|
|
bx lr
|
|
.align 2, 0
|
|
_021FF448: .word 0x0210E404
|
|
arm_func_end ov00_021FF408
|
|
|
|
arm_func_start ov00_021FF44C
|
|
ov00_021FF44C: ; 0x021FF44C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r1
|
|
mov r1, #3
|
|
mov r2, #0
|
|
mov r5, r0
|
|
bl sub_020A3354
|
|
cmp r4, #0
|
|
bicne r2, r0, #4
|
|
orreq r2, r0, #4
|
|
mov r0, r5
|
|
mov r1, #4
|
|
bl sub_020A3354
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FF44C
|
|
|
|
arm_func_start ov00_021FF48C
|
|
ov00_021FF48C: ; 0x021FF48C
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _021FF4C8 ; =0x0000FFFF
|
|
mov ip, #4
|
|
ldr r2, _021FF4CC ; =0x00001002
|
|
add r3, sp, #0xc
|
|
str ip, [sp]
|
|
bl ov00_021FFA04
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
.align 2, 0
|
|
_021FF4C8: .word 0x0000FFFF
|
|
_021FF4CC: .word 0x00001002
|
|
arm_func_end ov00_021FF48C
|
|
|
|
arm_func_start ov00_021FF4D0
|
|
ov00_021FF4D0: ; 0x021FF4D0
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _021FF50C ; =0x0000FFFF
|
|
mov ip, #4
|
|
add r3, sp, #0xc
|
|
rsb r2, r1, #0x11000
|
|
str ip, [sp]
|
|
bl ov00_021FFA04
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
.align 2, 0
|
|
_021FF50C: .word 0x0000FFFF
|
|
arm_func_end ov00_021FF4D0
|
|
|
|
arm_func_start ov00_021FF510
|
|
ov00_021FF510: ; 0x021FF510
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0xc
|
|
mov r1, #4
|
|
str r1, [sp, #4]
|
|
add ip, sp, #4
|
|
ldr r1, _021FF550 ; =0x0000FFFF
|
|
ldr r2, _021FF554 ; =0x00001002
|
|
add r3, sp, #8
|
|
str ip, [sp]
|
|
bl ov00_021FF9DC
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
ldrne r1, [sp, #8]
|
|
mov r0, r1
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {pc}
|
|
.align 2, 0
|
|
_021FF550: .word 0x0000FFFF
|
|
_021FF554: .word 0x00001002
|
|
arm_func_end ov00_021FF510
|
|
|
|
arm_func_start ov00_021FF558
|
|
ov00_021FF558: ; 0x021FF558
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0xc
|
|
ldr r1, _021FF598 ; =0x0000FFFF
|
|
mov r2, #4
|
|
str r2, [sp, #4]
|
|
add ip, sp, #4
|
|
add r3, sp, #8
|
|
rsb r2, r1, #0x11000
|
|
str ip, [sp]
|
|
bl ov00_021FF9DC
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
ldrne r1, [sp, #8]
|
|
mov r0, r1
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {pc}
|
|
.align 2, 0
|
|
_021FF598: .word 0x0000FFFF
|
|
arm_func_end ov00_021FF558
|
|
|
|
arm_func_start ov00_021FF59C
|
|
ov00_021FF59C: ; 0x021FF59C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #8
|
|
movs r6, r1
|
|
mov r1, #0
|
|
strh r1, [sp, #4]
|
|
str r0, [sp]
|
|
ldrnesh r0, [sp, #4]
|
|
mov r5, r2
|
|
mov r2, #0
|
|
orrne r0, r0, #1
|
|
strneh r0, [sp, #4]
|
|
cmp r5, #0
|
|
ldrnesh r0, [sp, #4]
|
|
mov r4, r3
|
|
mov r3, r2
|
|
orrne r0, r0, #8
|
|
strneh r0, [sp, #4]
|
|
add r0, sp, #0
|
|
mov r1, #1
|
|
strh r2, [sp, #6]
|
|
bl sub_020A36A0
|
|
cmp r0, #0
|
|
addlt sp, sp, #8
|
|
mvnlt r0, #0
|
|
ldmltia sp!, {r4, r5, r6, pc}
|
|
cmp r6, #0
|
|
beq _021FF62C
|
|
cmp r0, #0
|
|
ble _021FF624
|
|
ldrsh r1, [sp, #6]
|
|
tst r1, #0x41
|
|
movne r1, #1
|
|
strne r1, [r6]
|
|
bne _021FF62C
|
|
_021FF624:
|
|
mov r1, #0
|
|
str r1, [r6]
|
|
_021FF62C:
|
|
cmp r5, #0
|
|
beq _021FF658
|
|
cmp r0, #0
|
|
ble _021FF650
|
|
ldrsh r1, [sp, #6]
|
|
tst r1, #8
|
|
movne r1, #1
|
|
strne r1, [r5]
|
|
bne _021FF658
|
|
_021FF650:
|
|
mov r1, #0
|
|
str r1, [r5]
|
|
_021FF658:
|
|
cmp r4, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
cmp r0, #0
|
|
ble _021FF684
|
|
ldrsh r1, [sp, #6]
|
|
tst r1, #0x20
|
|
movne r1, #1
|
|
addne sp, sp, #8
|
|
strne r1, [r4]
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
_021FF684:
|
|
mov r1, #0
|
|
str r1, [r4]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_021FF59C
|
|
|
|
arm_func_start ov00_021FF694
|
|
ov00_021FF694: ; 0x021FF694
|
|
stmdb sp!, {r3, lr}
|
|
mov r2, #0
|
|
add r1, sp, #0
|
|
mov r3, r2
|
|
str r2, [sp]
|
|
bl ov00_021FF59C
|
|
cmp r0, #1
|
|
ldreq r0, [sp]
|
|
movne r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FF694
|
|
|
|
arm_func_start ov00_021FF6BC
|
|
ov00_021FF6BC: ; 0x021FF6BC
|
|
stmdb sp!, {r3, lr}
|
|
mov r1, #0
|
|
add r2, sp, #0
|
|
mov r3, r1
|
|
str r1, [sp]
|
|
bl ov00_021FF59C
|
|
cmp r0, #1
|
|
ldreq r0, [sp]
|
|
movne r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FF6BC
|
|
|
|
arm_func_start ov00_021FF6E4
|
|
ov00_021FF6E4: ; 0x021FF6E4
|
|
stmdb sp!, {r3, lr}
|
|
ldr r2, _021FF758 ; =_02217EA0
|
|
ldr r0, _021FF75C ; =_0221B1AC
|
|
ldr r1, _021FF760 ; =_0221B1AC
|
|
str r2, [r0, #8]
|
|
str r1, [r0, #0xc]
|
|
mov r1, #2
|
|
strh r1, [r0, #0x10]
|
|
mov r2, #0
|
|
ldr r1, _021FF764 ; =_0221B1D8
|
|
strh r2, [r0, #0x12]
|
|
str r1, [r0, #0x14]
|
|
str r2, [r0, #0x18]
|
|
bl sub_020A2C10
|
|
ldr r1, _021FF768 ; =_0221B1C4
|
|
bl sub_020A3680
|
|
ldr r1, _021FF75C ; =_0221B1AC
|
|
ldr r0, [r1, #0x18]
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r2, _021FF768 ; =_0221B1C4
|
|
mov r0, #4
|
|
str r2, [r1, #0x2c]
|
|
strh r0, [r1, #0x12]
|
|
mov r2, #0
|
|
ldr r0, _021FF76C ; =_0221B1B4
|
|
str r2, [r1, #0x30]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021FF758: .word _02217EA0
|
|
_021FF75C: .word _0221B1AC
|
|
_021FF760: .word _0221B1AC
|
|
_021FF764: .word _0221B1D8
|
|
_021FF768: .word _0221B1C4
|
|
_021FF76C: .word _0221B1B4
|
|
arm_func_end ov00_021FF6E4
|
|
|
|
arm_func_start ov00_021FF770
|
|
ov00_021FF770: ; 0x021FF770
|
|
ldr r3, [r0]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
mov r3, r3, lsl #0x18
|
|
orr r0, r1, r0
|
|
and r2, r2, #0xff0000
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r1, r1, r0
|
|
mov r0, r1, lsr #0x18
|
|
and r2, r0, #0xff
|
|
mov r0, r1, lsr #0x10
|
|
and r0, r0, #0xff
|
|
cmp r2, #0xa
|
|
moveq r0, #1
|
|
bxeq lr
|
|
cmp r2, #0xac
|
|
bne _021FF7D8
|
|
cmp r0, #0x10
|
|
blt _021FF7D8
|
|
cmp r0, #0x1f
|
|
movle r0, #1
|
|
bxle lr
|
|
_021FF7D8:
|
|
cmp r2, #0xc0
|
|
cmpeq r0, #0xa8
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
bx lr
|
|
arm_func_end ov00_021FF770
|
|
|
|
arm_func_start ov00_021FF7EC
|
|
ov00_021FF7EC: ; 0x021FF7EC
|
|
cmp r0, #0
|
|
ldrlt r2, _021FF800 ; =_0221B1AC
|
|
strlt r0, [r2, #4]
|
|
movlt r0, r1
|
|
bx lr
|
|
.align 2, 0
|
|
_021FF800: .word _0221B1AC
|
|
arm_func_end ov00_021FF7EC
|
|
|
|
arm_func_start ov00_021FF804
|
|
ov00_021FF804: ; 0x021FF804
|
|
stmdb sp!, {r3, lr}
|
|
bl sub_020A2EAC
|
|
mvn r1, #0
|
|
bl ov00_021FF7EC
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FF804
|
|
|
|
arm_func_start ov00_021FF818
|
|
ov00_021FF818: ; 0x021FF818
|
|
stmdb sp!, {r3, lr}
|
|
bl sub_020A30C8
|
|
mvn r1, #0
|
|
bl ov00_021FF7EC
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FF818
|
|
|
|
arm_func_start ov00_021FF82C
|
|
ov00_021FF82C: ; 0x021FF82C
|
|
stmdb sp!, {r3, lr}
|
|
bl sub_020A30BC
|
|
mvn r1, #0
|
|
bl ov00_021FF7EC
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FF82C
|
|
|
|
arm_func_start ov00_021FF840
|
|
ov00_021FF840: ; 0x021FF840
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #8
|
|
ldrh r3, [r1, #2]
|
|
cmp r3, #0
|
|
addeq sp, sp, #8
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
add r4, sp, #0
|
|
mov lr, #4
|
|
_021FF864:
|
|
ldrb ip, [r1]
|
|
ldrb r3, [r1, #1]
|
|
add r1, r1, #2
|
|
subs lr, lr, #1
|
|
strb ip, [r4]
|
|
strb r3, [r4, #1]
|
|
add r4, r4, #2
|
|
bne _021FF864
|
|
add r1, sp, #0
|
|
strb r2, [sp]
|
|
bl sub_020A2ED8
|
|
mvn r1, #0
|
|
bl ov00_021FF7EC
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021FF840
|
|
|
|
arm_func_start ov00_021FF8A0
|
|
ov00_021FF8A0: ; 0x021FF8A0
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #8
|
|
add r4, sp, #0
|
|
mov lr, #4
|
|
_021FF8B0:
|
|
ldrb ip, [r1]
|
|
ldrb r3, [r1, #1]
|
|
add r1, r1, #2
|
|
subs lr, lr, #1
|
|
strb ip, [r4]
|
|
strb r3, [r4, #1]
|
|
add r4, r4, #2
|
|
bne _021FF8B0
|
|
add r1, sp, #0
|
|
strb r2, [sp]
|
|
bl sub_020A2F04
|
|
mvn r1, #0
|
|
bl ov00_021FF7EC
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021FF8A0
|
|
|
|
arm_func_start ov00_021FF8EC
|
|
ov00_021FF8EC: ; 0x021FF8EC
|
|
stmdb sp!, {r3, lr}
|
|
bl sub_020A32CC
|
|
mvn r1, #0
|
|
bl ov00_021FF7EC
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FF8EC
|
|
|
|
arm_func_start ov00_021FF900
|
|
ov00_021FF900: ; 0x021FF900
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r2
|
|
ldr r2, [r4]
|
|
mov r5, r1
|
|
strb r2, [r5]
|
|
bl sub_020A32D8
|
|
ldrb r2, [r5]
|
|
mvn r1, #0
|
|
str r2, [r4]
|
|
bl ov00_021FF7EC
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FF900
|
|
|
|
arm_func_start ov00_021FF92C
|
|
ov00_021FF92C: ; 0x021FF92C
|
|
stmdb sp!, {r3, lr}
|
|
bl sub_020A2F60
|
|
mvn r1, #0
|
|
bl ov00_021FF7EC
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FF92C
|
|
|
|
arm_func_start ov00_021FF940
|
|
ov00_021FF940: ; 0x021FF940
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r4, [sp, #0x14]
|
|
ldr r5, [sp, #0x10]
|
|
ldr ip, [r4]
|
|
strb ip, [r5]
|
|
str r5, [sp]
|
|
bl sub_020A2F84
|
|
ldrb r2, [r5]
|
|
mvn r1, #0
|
|
str r2, [r4]
|
|
bl ov00_021FF7EC
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FF940
|
|
|
|
arm_func_start ov00_021FF970
|
|
ov00_021FF970: ; 0x021FF970
|
|
stmdb sp!, {r3, lr}
|
|
bl sub_020A3014
|
|
mvn r1, #0
|
|
bl ov00_021FF7EC
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FF970
|
|
|
|
arm_func_start ov00_021FF984
|
|
ov00_021FF984: ; 0x021FF984
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0xc
|
|
ldr r5, [sp, #0x20]
|
|
add r6, sp, #4
|
|
mov r4, #4
|
|
_021FF998:
|
|
ldrb lr, [r5]
|
|
ldrb ip, [r5, #1]
|
|
add r5, r5, #2
|
|
subs r4, r4, #1
|
|
strb lr, [r6]
|
|
strb ip, [r6, #1]
|
|
add r6, r6, #2
|
|
bne _021FF998
|
|
ldr lr, [sp, #0x24]
|
|
add ip, sp, #4
|
|
strb lr, [sp, #4]
|
|
str ip, [sp]
|
|
bl sub_020A3038
|
|
mvn r1, #0
|
|
bl ov00_021FF7EC
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end ov00_021FF984
|
|
|
|
arm_func_start ov00_021FF9DC
|
|
ov00_021FF9DC: ; 0x021FF9DC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, [sp, #8]
|
|
mov r0, r3
|
|
ldr r2, [r1]
|
|
mov r1, #0
|
|
bl sub_020D4994
|
|
mov r0, #0
|
|
sub r1, r0, #1
|
|
bl ov00_021FF7EC
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FF9DC
|
|
|
|
arm_func_start ov00_021FFA04
|
|
ov00_021FFA04: ; 0x021FFA04
|
|
ldr ip, _021FFA14 ; =ov00_021FF7EC
|
|
mov r0, #0
|
|
sub r1, r0, #1
|
|
bx ip
|
|
.align 2, 0
|
|
_021FFA14: .word ov00_021FF7EC
|
|
arm_func_end ov00_021FFA04
|
|
|
|
arm_func_start ov00_021FFA18
|
|
ov00_021FFA18: ; 0x021FFA18
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r2
|
|
ldr r2, [r4]
|
|
mov r5, r1
|
|
strb r2, [r5]
|
|
bl sub_020A3194
|
|
ldrb r2, [r5]
|
|
mvn r1, #0
|
|
str r2, [r4]
|
|
bl ov00_021FF7EC
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FFA18
|
|
|
|
arm_func_start ov00_021FFA44
|
|
ov00_021FFA44: ; 0x021FFA44
|
|
stmdb sp!, {r3, lr}
|
|
add r1, sp, #0
|
|
bl sub_020A35AC
|
|
cmp r0, #0
|
|
mvneq r0, #0
|
|
ldrne r0, [sp]
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FFA44
|
|
|
|
arm_func_start ov00_021FFA60
|
|
ov00_021FFA60: ; 0x021FFA60
|
|
ldr r0, _021FFA6C ; =_0221B1AC
|
|
ldr r0, [r0, #4]
|
|
bx lr
|
|
.align 2, 0
|
|
_021FFA6C: .word _0221B1AC
|
|
arm_func_end ov00_021FFA60
|
|
|
|
arm_func_start ov00_021FFA70
|
|
ov00_021FFA70: ; 0x021FFA70
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl sub_020D3438
|
|
cmp r0, #1
|
|
beq _021FFA98
|
|
ldr r0, _021FFAC0 ; =_02217E74
|
|
ldr r1, _021FFAC4 ; =_02217E94
|
|
ldr r2, _021FFAC8 ; =_02217E5C
|
|
ldr r3, _021FFACC ; =0x00000667
|
|
bl sub_020E4A9C
|
|
_021FFA98:
|
|
bl sub_020D34B0
|
|
mov r1, r1, lsl #6
|
|
orr r1, r1, r0, lsr #26
|
|
ldr r2, _021FFAD0 ; =0x01FF6210
|
|
mov r0, r0, lsl #6
|
|
mov r3, #0
|
|
bl sub_020F2900
|
|
cmp r4, #0
|
|
strne r0, [r4]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_021FFAC0: .word _02217E74
|
|
_021FFAC4: .word _02217E94
|
|
_021FFAC8: .word _02217E5C
|
|
_021FFACC: .word 0x00000667
|
|
_021FFAD0: .word 0x01FF6210
|
|
arm_func_end ov00_021FFA70
|
|
|
|
arm_func_start ov00_021FFAD4
|
|
ov00_021FFAD4: ; 0x021FFAD4
|
|
ldr r2, _021FFB1C ; =0x000041A7
|
|
mov r1, r0, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
mul r3, r0, r2
|
|
mov r1, r1, lsr #0x10
|
|
mul r2, r1, r2
|
|
mov r0, r3, lsl #0x11
|
|
add r0, r2, r0, lsr #1
|
|
mvn r1, #0x80000000
|
|
cmp r0, r1
|
|
bichi r0, r0, #0x80000000
|
|
addhi r0, r0, #1
|
|
add r0, r0, r3, lsr #15
|
|
mvn r1, #0x80000000
|
|
cmp r0, r1
|
|
bichi r0, r0, #0x80000000
|
|
addhi r0, r0, #1
|
|
bx lr
|
|
.align 2, 0
|
|
_021FFB1C: .word 0x000041A7
|
|
arm_func_end ov00_021FFAD4
|
|
|
|
arm_func_start ov00_021FFB20
|
|
ov00_021FFB20: ; 0x021FFB20
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021FFB3C ; =_02217E58
|
|
ldr r0, [r0]
|
|
bl ov00_021FFAD4
|
|
ldr r1, _021FFB3C ; =_02217E58
|
|
str r0, [r1]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021FFB3C: .word _02217E58
|
|
arm_func_end ov00_021FFB20
|
|
|
|
arm_func_start ov00_021FFB40
|
|
ov00_021FFB40: ; 0x021FFB40
|
|
cmp r0, #0
|
|
bicne r1, r0, #0x80000000
|
|
ldr r0, _021FFB58 ; =_02217E58
|
|
moveq r1, #1
|
|
str r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_021FFB58: .word _02217E58
|
|
arm_func_end ov00_021FFB40
|
|
|
|
arm_func_start ov00_021FFB5C
|
|
ov00_021FFB5C: ; 0x021FFB5C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
subs r4, r1, r5
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
bl ov00_021FFB20
|
|
mov r1, r4
|
|
bl sub_020F2998
|
|
add r0, r1, r5
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_021FFB5C
|
|
|
|
arm_func_start ov00_021FFB80
|
|
ov00_021FFB80: ; 0x021FFB80
|
|
stmdb sp!, {r3, lr}
|
|
cmp r2, #0
|
|
mov ip, #0
|
|
ble _021FFBA8
|
|
add lr, sp, #0
|
|
_021FFB94:
|
|
ldrsb r3, [r0, ip]
|
|
add ip, ip, #1
|
|
cmp ip, r2
|
|
strb r3, [lr], #1
|
|
blt _021FFB94
|
|
_021FFBA8:
|
|
cmp ip, #3
|
|
bge _021FFBCC
|
|
add r0, sp, #0
|
|
add r2, r0, ip
|
|
mov r0, #0
|
|
_021FFBBC:
|
|
add ip, ip, #1
|
|
cmp ip, #3
|
|
strb r0, [r2], #1
|
|
blt _021FFBBC
|
|
_021FFBCC:
|
|
ldrb r0, [sp]
|
|
mov r0, r0, asr #2
|
|
strb r0, [r1]
|
|
ldrb r2, [sp]
|
|
ldrb r0, [sp, #1]
|
|
mov r2, r2, lsl #0x1e
|
|
mov r0, r0, asr #4
|
|
orr r0, r0, r2, lsr #26
|
|
strb r0, [r1, #1]
|
|
ldrb r2, [sp, #1]
|
|
ldrb r0, [sp, #2]
|
|
mov r2, r2, lsl #0x1c
|
|
mov r0, r0, asr #6
|
|
orr r0, r0, r2, lsr #26
|
|
strb r0, [r1, #2]
|
|
ldrb r0, [sp, #2]
|
|
and r0, r0, #0x3f
|
|
strb r0, [r1, #3]
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FFB80
|
|
|
|
arm_func_start ov00_021FFC18
|
|
ov00_021FFC18: ; 0x021FFC18
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
mov r7, r1
|
|
mov r6, r2
|
|
mov sl, r0
|
|
mov r5, r7
|
|
mov sb, r6
|
|
cmp r3, #1
|
|
beq _021FFC44
|
|
cmp r3, #2
|
|
beq _021FFC4C
|
|
b _021FFC54
|
|
_021FFC44:
|
|
ldr r4, _021FFD40 ; =_02216140
|
|
b _021FFC58
|
|
_021FFC4C:
|
|
ldr r4, _021FFD44 ; =_02216144
|
|
b _021FFC58
|
|
_021FFC54:
|
|
ldr r4, _021FFD48 ; =_02216148
|
|
_021FFC58:
|
|
cmp r6, #0
|
|
ble _021FFC90
|
|
mov r8, #3
|
|
_021FFC64:
|
|
cmp sb, #3
|
|
movlt r2, sb
|
|
movge r2, r8
|
|
mov r0, sl
|
|
mov r1, r7
|
|
bl ov00_021FFB80
|
|
sub sb, sb, #3
|
|
cmp sb, #0
|
|
add r7, r7, #4
|
|
add sl, sl, #3
|
|
bgt _021FFC64
|
|
_021FFC90:
|
|
ldr r1, _021FFD4C ; =0x55555556
|
|
mov r2, #3
|
|
smull r0, r3, r1, r6
|
|
add r3, r3, r6, lsr #31
|
|
smull r0, r1, r2, r3
|
|
sub r3, r6, r0
|
|
mov r1, r7
|
|
cmp r3, #1
|
|
subeq r1, r7, #2
|
|
beq _021FFCC0
|
|
cmp r3, #2
|
|
subeq r1, r7, #1
|
|
_021FFCC0:
|
|
mov r0, #0
|
|
strb r0, [r7]
|
|
cmp r7, r5
|
|
ldmlsia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_021FFCD0:
|
|
sub r7, r7, #1
|
|
cmp r7, r1
|
|
ldrsshb r0, [r4, #2]
|
|
strsbh r0, [r7]
|
|
bhs _021FFD34
|
|
ldrsb r0, [r7]
|
|
cmp r0, #0x19
|
|
addle r0, r0, #0x41
|
|
strleb r0, [r7]
|
|
ble _021FFD34
|
|
cmp r0, #0x33
|
|
addle r0, r0, #0x47
|
|
strleb r0, [r7]
|
|
ble _021FFD34
|
|
cmp r0, #0x3d
|
|
suble r0, r0, #4
|
|
strleb r0, [r7]
|
|
ble _021FFD34
|
|
cmp r0, #0x3e
|
|
ldreqsb r0, [r4]
|
|
streqb r0, [r7]
|
|
beq _021FFD34
|
|
cmp r0, #0x3f
|
|
ldreqsb r0, [r4, #1]
|
|
streqb r0, [r7]
|
|
_021FFD34:
|
|
cmp r7, r5
|
|
bhi _021FFCD0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
_021FFD40: .word _02216140
|
|
_021FFD44: .word _02216144
|
|
_021FFD48: .word _02216148
|
|
_021FFD4C: .word 0x55555556
|
|
arm_func_end ov00_021FFC18
|
|
|
|
arm_func_start ov00_021FFD50
|
|
ov00_021FFD50: ; 0x021FFD50
|
|
stmdb sp!, {r3, lr}
|
|
ldr r3, _021FFD7C ; =_0221B0D0
|
|
ldr r3, [r3]
|
|
cmp r3, #1
|
|
movne r0, #2
|
|
ldmneia sp!, {r3, pc}
|
|
cmp r0, #0
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_022008F4
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021FFD7C: .word _0221B0D0
|
|
arm_func_end ov00_021FFD50
|
|
|
|
arm_func_start ov00_021FFD80
|
|
ov00_021FFD80: ; 0x021FFD80
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
ldrne r1, [r0]
|
|
cmpne r1, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_02200A3C
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FFD80
|
|
|
|
arm_func_start ov00_021FFD9C
|
|
ov00_021FFD9C: ; 0x021FFD9C
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
ldrne r1, [r0]
|
|
cmpne r1, #0
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r1, [r1, #0x108]
|
|
cmp r1, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
mov r1, #0
|
|
bl ov00_02200ED8
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_021FFD9C
|
|
|
|
arm_func_start ov00_021FFDD0
|
|
ov00_021FFDD0: ; 0x021FFDD0
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
ldrne ip, [r0]
|
|
cmpne ip, #0
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r3, pc}
|
|
cmp r1, #0
|
|
blt _021FFDF8
|
|
cmp r1, #6
|
|
blt _021FFE08
|
|
_021FFDF8:
|
|
ldr r1, _021FFE1C ; =_02217EC0
|
|
bl ov00_0220A890
|
|
mov r0, #2
|
|
ldmia sp!, {r3, pc}
|
|
_021FFE08:
|
|
add r0, ip, r1, lsl #3
|
|
str r2, [r0, #0x1a4]
|
|
str r3, [r0, #0x1a8]
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_021FFE1C: .word _02217EC0
|
|
arm_func_end ov00_021FFDD0
|
|
|
|
arm_func_start ov00_021FFE20
|
|
ov00_021FFE20: ; 0x021FFE20
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0x44
|
|
movs lr, r0
|
|
ldrne ip, [lr]
|
|
cmpne ip, #0
|
|
addeq sp, sp, #0x44
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
cmp r1, #0
|
|
ldrnesb r4, [r1]
|
|
cmpne r4, #0
|
|
addeq sp, sp, #0x44
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
cmp r2, #0
|
|
ldrnesb r4, [r2]
|
|
cmpne r4, #0
|
|
addeq sp, sp, #0x44
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
ldr r4, [sp, #0x54]
|
|
cmp r4, #0
|
|
bne _021FFE90
|
|
ldr r1, _021FFF1C ; =_02217ED0
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x44
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, pc}
|
|
_021FFE90:
|
|
ldr ip, [ip, #0x108]
|
|
cmp ip, #0
|
|
beq _021FFED8
|
|
add r3, sp, #0x24
|
|
mov r0, #0
|
|
mov r2, r3
|
|
mov r1, r0
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2, {r0, r1}
|
|
ldr r2, [sp, #0x58]
|
|
mov r0, lr
|
|
mov r1, r3
|
|
blx r4
|
|
add sp, sp, #0x44
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, pc}
|
|
_021FFED8:
|
|
ldr lr, _021FFF20 ; =_02217EE0
|
|
mov ip, #0
|
|
str lr, [sp]
|
|
stmib sp, {r1, r2, ip}
|
|
str r3, [sp, #0x10]
|
|
str ip, [sp, #0x14]
|
|
ldr r1, [sp, #0x50]
|
|
ldr ip, [sp, #0x58]
|
|
str r1, [sp, #0x18]
|
|
str r4, [sp, #0x1c]
|
|
mov r1, lr
|
|
mov r2, lr
|
|
mov r3, lr
|
|
str ip, [sp, #0x20]
|
|
bl ov00_022031E4
|
|
add sp, sp, #0x44
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
_021FFF1C: .word _02217ED0
|
|
_021FFF20: .word _02217EE0
|
|
arm_func_end ov00_021FFE20
|
|
|
|
arm_func_start ov00_021FFF24
|
|
ov00_021FFF24: ; 0x021FFF24
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
ldrne r1, [r4]
|
|
cmpne r1, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r1, [r1, #0x108]
|
|
cmp r1, #0
|
|
ldmneia sp!, {r4, pc}
|
|
mov r1, #1
|
|
bl ov00_02204284
|
|
mov r0, r4
|
|
bl ov00_02200A98
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_021FFF24
|
|
|
|
arm_func_start ov00_021FFF58
|
|
ov00_021FFF58: ; 0x021FFF58
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0x2c
|
|
cmp r0, #0
|
|
ldrne r4, [r0]
|
|
cmpne r4, #0
|
|
addeq sp, sp, #0x2c
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
ldr ip, [sp, #0x48]
|
|
cmp ip, #0
|
|
bne _021FFF98
|
|
ldr r1, _02200018 ; =_02217ED0
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x2c
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, pc}
|
|
_021FFF98:
|
|
ldr r4, [r4, #0x108]
|
|
cmp r4, #0
|
|
beq _021FFFD8
|
|
add r1, sp, #0x1c
|
|
mov r4, #0
|
|
ldr r2, [sp, #0x4c]
|
|
ldr r3, _0220001C ; =0x00000601
|
|
str r4, [r1, #8]
|
|
str r4, [r1]
|
|
str r4, [r1, #4]
|
|
str r4, [r1, #0xc]
|
|
str r3, [sp, #0x24]
|
|
blx ip
|
|
add sp, sp, #0x2c
|
|
mov r0, r4
|
|
ldmia sp!, {r3, r4, pc}
|
|
_021FFFD8:
|
|
ldr r4, [sp, #0x38]
|
|
ldr lr, [sp, #0x3c]
|
|
str r4, [sp]
|
|
ldr r4, [sp, #0x40]
|
|
str lr, [sp, #4]
|
|
str r4, [sp, #8]
|
|
mov r4, #0
|
|
ldr lr, [sp, #0x44]
|
|
str r4, [sp, #0xc]
|
|
str lr, [sp, #0x10]
|
|
ldr lr, [sp, #0x4c]
|
|
str ip, [sp, #0x14]
|
|
str lr, [sp, #0x18]
|
|
bl ov00_02208330
|
|
add sp, sp, #0x2c
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
_02200018: .word _02217ED0
|
|
_0220001C: .word 0x00000601
|
|
arm_func_end ov00_021FFF58
|
|
|
|
arm_func_start ov00_02200020
|
|
ov00_02200020: ; 0x02200020
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x20c
|
|
movs r5, r0
|
|
ldrne r4, [r5]
|
|
cmpne r4, #0
|
|
cmpne r1, #0
|
|
addeq sp, sp, #0x20c
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r4, r5, pc}
|
|
ldr lr, [sp, #0x218]
|
|
cmp lr, #0
|
|
bne _02200064
|
|
ldr r1, _022000F4 ; =_02217ED0
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x20c
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02200064:
|
|
ldr ip, [r4, #0x108]
|
|
cmp ip, #0
|
|
beq _022000BC
|
|
mov r0, #0
|
|
add lr, sp, #8
|
|
mov r1, r0
|
|
mov r2, r0
|
|
mov r3, r0
|
|
mov ip, #0x10
|
|
_02200088:
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
subs ip, ip, #1
|
|
bne _02200088
|
|
ldr r2, [sp, #0x21c]
|
|
str r0, [lr]
|
|
ldr r3, [sp, #0x218]
|
|
add r1, sp, #8
|
|
mov r0, r5
|
|
blx r3
|
|
add sp, sp, #0x20c
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, pc}
|
|
_022000BC:
|
|
ldr ip, [r4, #0x1d8]
|
|
cmp ip, #4
|
|
bne _022000DC
|
|
ldr r1, _022000F8 ; =_02217EE4
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x20c
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, pc}
|
|
_022000DC:
|
|
ldr ip, [sp, #0x21c]
|
|
str lr, [sp]
|
|
str ip, [sp, #4]
|
|
bl ov00_02205EE8
|
|
add sp, sp, #0x20c
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
_022000F4: .word _02217ED0
|
|
_022000F8: .word _02217EE4
|
|
arm_func_end ov00_02200020
|
|
|
|
arm_func_start ov00_022000FC
|
|
ov00_022000FC: ; 0x022000FC
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
ldrne ip, [r0]
|
|
cmpne ip, #0
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r3, [ip, #0x108]
|
|
cmp r3, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r3, [ip, #0x1d8]
|
|
cmp r3, #4
|
|
bne _02200140
|
|
ldr r1, _02200148 ; =_02217EE4
|
|
bl ov00_0220A890
|
|
mov r0, #2
|
|
ldmia sp!, {r3, pc}
|
|
_02200140:
|
|
bl ov00_02205678
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02200148: .word _02217EE4
|
|
arm_func_end ov00_022000FC
|
|
|
|
arm_func_start ov00_0220014C
|
|
ov00_0220014C: ; 0x0220014C
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #4
|
|
sub sp, sp, #0x400
|
|
movs r6, r0
|
|
ldrne r4, [r6]
|
|
mov r5, r1
|
|
cmpne r4, #0
|
|
addeq sp, sp, #4
|
|
addeq sp, sp, #0x400
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
ldr r1, [r4, #0x108]
|
|
cmp r1, #0
|
|
addne sp, sp, #4
|
|
addne sp, sp, #0x400
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
ldr r1, [r4, #0x1d8]
|
|
cmp r1, #4
|
|
bne _022001B4
|
|
ldr r1, _022002A0 ; =_02217EE4
|
|
bl ov00_0220A890
|
|
add sp, sp, #4
|
|
add sp, sp, #0x400
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_022001B4:
|
|
cmp r2, #0
|
|
bne _022001D4
|
|
ldr r1, _022002A4 ; =_02217F14
|
|
bl ov00_0220A890
|
|
add sp, sp, #4
|
|
add sp, sp, #0x400
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_022001D4:
|
|
mov r1, r2
|
|
ldr r2, _022002A8 ; =0x00000401
|
|
add r0, sp, #0
|
|
bl ov00_0220A348
|
|
ldrsb r0, [sp]
|
|
cmp r0, #0
|
|
beq _02200210
|
|
add r2, sp, #0
|
|
mov r1, #0x2f
|
|
_022001F8:
|
|
ldrsb r0, [r2]
|
|
cmp r0, #0x5c
|
|
streqb r1, [r2]
|
|
ldrsb r0, [r2, #1]!
|
|
cmp r0, #0
|
|
bne _022001F8
|
|
_02200210:
|
|
ldr r2, _022002AC ; =_02217F24
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, _022002B0 ; =_02217F30
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, [r4, #0x198]
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_0220211C
|
|
ldr r2, _022002B4 ; =_02217F3C
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r2, r5
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_0220211C
|
|
ldr r2, _022002B8 ; =_02217F4C
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
add r2, sp, #0
|
|
bl ov00_022020EC
|
|
ldr r2, _022002BC ; =_02217F58
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, #0
|
|
add sp, sp, #4
|
|
add sp, sp, #0x400
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_022002A0: .word _02217EE4
|
|
_022002A4: .word _02217F14
|
|
_022002A8: .word 0x00000401
|
|
_022002AC: .word _02217F24
|
|
_022002B0: .word _02217F30
|
|
_022002B4: .word _02217F3C
|
|
_022002B8: .word _02217F4C
|
|
_022002BC: .word _02217F58
|
|
arm_func_end ov00_0220014C
|
|
|
|
arm_func_start ov00_022002C0
|
|
ov00_022002C0: ; 0x022002C0
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
ldrne r3, [r0]
|
|
cmpne r3, #0
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r2, [r3, #0x108]
|
|
cmp r2, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r2, [r3, #0x1d8]
|
|
cmp r2, #4
|
|
bne _02200304
|
|
ldr r1, _0220030C ; =_02217EE4
|
|
bl ov00_0220A890
|
|
mov r0, #2
|
|
ldmia sp!, {r3, pc}
|
|
_02200304:
|
|
bl ov00_02201CAC
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0220030C: .word _02217EE4
|
|
arm_func_end ov00_022002C0
|
|
|
|
arm_func_start ov00_02200310
|
|
ov00_02200310: ; 0x02200310
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
movs r4, r0
|
|
ldrne r5, [r4]
|
|
cmpne r5, #0
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r2, [r5, #0x108]
|
|
cmp r2, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r2, [r5, #0x1d8]
|
|
cmp r2, #4
|
|
bne _02200354
|
|
ldr r1, _022003CC ; =_02217EE4
|
|
bl ov00_0220A890
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02200354:
|
|
add r2, sp, #0
|
|
bl ov00_02207DD0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r1, [sp]
|
|
ldr r0, [r1, #0x14]
|
|
sub r0, r0, #1
|
|
str r0, [r1, #0x14]
|
|
ldr r0, [r5, #0x100]
|
|
cmp r0, #0
|
|
bne _022003C4
|
|
ldr r1, [sp]
|
|
ldr r0, [r1, #0x14]
|
|
cmp r0, #0
|
|
bgt _022003C4
|
|
ldr r0, [r1, #0x10]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [sp]
|
|
mov r1, #0
|
|
str r1, [r0, #0x10]
|
|
ldr r0, [sp]
|
|
bl ov00_02207FB8
|
|
cmp r0, #0
|
|
beq _022003C4
|
|
ldr r1, [sp]
|
|
mov r0, r4
|
|
bl ov00_02207E40
|
|
_022003C4:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022003CC: .word _02217EE4
|
|
arm_func_end ov00_02200310
|
|
|
|
arm_func_start ov00_022003D0
|
|
ov00_022003D0: ; 0x022003D0
|
|
cmp r0, #0
|
|
ldrne r2, [r0]
|
|
cmpne r2, #0
|
|
moveq r0, #2
|
|
bxeq lr
|
|
ldr r0, [r2, #0x108]
|
|
cmp r0, #0
|
|
mov r0, #0
|
|
strne r0, [r1]
|
|
ldreq r2, [r2, #0x430]
|
|
streq r2, [r1]
|
|
bx lr
|
|
arm_func_end ov00_022003D0
|
|
|
|
arm_func_start ov00_02200400
|
|
ov00_02200400: ; 0x02200400
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
movs r4, r0
|
|
ldrne r3, [r4]
|
|
mov r5, r2
|
|
cmpne r3, #0
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r2, [r3, #0x108]
|
|
cmp r2, #0
|
|
beq _02200440
|
|
mov r0, r5
|
|
mov r1, #0
|
|
mov r2, #0x210
|
|
bl sub_020E5B44
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02200440:
|
|
cmp r5, #0
|
|
bne _02200458
|
|
ldr r1, _02200528 ; =_02217F60
|
|
bl ov00_0220A890
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02200458:
|
|
cmp r1, #0
|
|
ldr r2, [r3, #0x430]
|
|
blt _0220046C
|
|
cmp r1, r2
|
|
blt _02200480
|
|
_0220046C:
|
|
ldr r1, _0220052C ; =_02217F70
|
|
mov r0, r4
|
|
bl ov00_0220A890
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02200480:
|
|
bl ov00_02207F88
|
|
movs r6, r0
|
|
bne _022004A0
|
|
ldr r1, _0220052C ; =_02217F70
|
|
mov r0, r4
|
|
bl ov00_0220A890
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_022004A0:
|
|
ldr r4, [r6, #8]
|
|
cmp r4, #0
|
|
bne _022004C0
|
|
ldr r0, _02200530 ; =_02217F80
|
|
ldr r1, _02200534 ; =_02217F8C
|
|
ldr r2, _02200538 ; =_02217EAC
|
|
ldr r3, _0220053C ; =0x000005CF
|
|
bl sub_020E4A9C
|
|
_022004C0:
|
|
ldr r0, [r6]
|
|
str r0, [r5]
|
|
ldr r0, [r4, #4]
|
|
str r0, [r5, #4]
|
|
ldr r1, [r4, #8]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r1]
|
|
beq _022004F0
|
|
add r0, r5, #8
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
_022004F0:
|
|
ldr r1, [r4, #0xc]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r1]
|
|
beq _02200510
|
|
add r0, r5, #0x108
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
_02200510:
|
|
ldr r1, [r4, #0x10]
|
|
mov r0, #0
|
|
str r1, [r5, #0x208]
|
|
ldr r1, [r4, #0x14]
|
|
str r1, [r5, #0x20c]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02200528: .word _02217F60
|
|
_0220052C: .word _02217F70
|
|
_02200530: .word _02217F80
|
|
_02200534: .word _02217F8C
|
|
_02200538: .word _02217EAC
|
|
_0220053C: .word 0x000005CF
|
|
arm_func_end ov00_02200400
|
|
|
|
arm_func_start ov00_02200540
|
|
ov00_02200540: ; 0x02200540
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
mov r4, r2
|
|
cmp r0, #0
|
|
ldrne r2, [r0]
|
|
cmpne r2, #0
|
|
addeq sp, sp, #4
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
ldr r2, [r2, #0x108]
|
|
cmp r2, #0
|
|
movne r0, #0
|
|
addne sp, sp, #4
|
|
strne r0, [r4]
|
|
ldmneia sp!, {r3, r4, pc}
|
|
add r2, sp, #0
|
|
bl ov00_02207DD0
|
|
cmp r0, #0
|
|
ldrne r0, [sp]
|
|
ldrne r0, [r0, #8]
|
|
cmpne r0, #0
|
|
ldrne r0, [r0]
|
|
strne r0, [r4]
|
|
mvneq r0, #0
|
|
streq r0, [r4]
|
|
mov r0, #0
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
arm_func_end ov00_02200540
|
|
|
|
arm_func_start ov00_022005B0
|
|
ov00_022005B0: ; 0x022005B0
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
ldrne r2, [r0]
|
|
cmpne r2, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r2, [r2, #0x108]
|
|
cmp r2, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
add r2, sp, #0
|
|
bl ov00_02207DD0
|
|
cmp r0, #0
|
|
ldrne r0, [sp]
|
|
ldrne r0, [r0, #8]
|
|
cmpne r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_022005B0
|
|
|
|
arm_func_start ov00_022005FC
|
|
ov00_022005FC: ; 0x022005FC
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
ldrne r3, [r0]
|
|
cmpne r3, #0
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r2, [r3, #0x108]
|
|
cmp r2, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r2, [r3, #0x1d8]
|
|
cmp r2, #4
|
|
bne _02200640
|
|
ldr r1, _02200650 ; =_02217EE4
|
|
bl ov00_0220A890
|
|
mov r0, #2
|
|
ldmia sp!, {r3, pc}
|
|
_02200640:
|
|
bl ov00_02201D9C
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02200650: .word _02217EE4
|
|
arm_func_end ov00_022005FC
|
|
|
|
arm_func_start ov00_02200654
|
|
ov00_02200654: ; 0x02200654
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x200
|
|
movs r7, r0
|
|
ldrne r4, [r7]
|
|
mov r6, r1
|
|
cmpne r4, #0
|
|
mov r5, r3
|
|
addeq sp, sp, #0x200
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r1, [r4, #0x108]
|
|
cmp r1, #0
|
|
addne sp, sp, #0x200
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r1, [r4, #0x1d8]
|
|
cmp r1, #4
|
|
bne _022006B0
|
|
ldr r1, _02200860 ; =_02217EE4
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x200
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_022006B0:
|
|
cmp r2, #0
|
|
bne _022006CC
|
|
ldr r1, _02200864 ; =_02217F94
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x200
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_022006CC:
|
|
cmp r5, #0
|
|
bne _022006E8
|
|
ldr r1, _02200868 ; =_02217FAC
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x200
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_022006E8:
|
|
mov r1, r2
|
|
add r0, sp, #0x100
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
add r0, sp, #0x100
|
|
ldrsb r0, [r0]
|
|
cmp r0, #0
|
|
beq _02200728
|
|
add r2, sp, #0x100
|
|
mov r1, #0x2f
|
|
_02200710:
|
|
ldrsb r0, [r2]
|
|
cmp r0, #0x5c
|
|
streqb r1, [r2]
|
|
ldrsb r0, [r2, #1]!
|
|
cmp r0, #0
|
|
bne _02200710
|
|
_02200728:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
ldrsb r0, [sp]
|
|
cmp r0, #0
|
|
beq _02200764
|
|
add r2, sp, #0
|
|
mov r1, #0x2f
|
|
_0220074C:
|
|
ldrsb r0, [r2]
|
|
cmp r0, #0x5c
|
|
streqb r1, [r2]
|
|
ldrsb r0, [r2, #1]!
|
|
cmp r0, #0
|
|
bne _0220074C
|
|
_02200764:
|
|
ldr r0, [r4, #0x214]
|
|
cmp r6, r0
|
|
bne _022007A0
|
|
add r0, sp, #0x100
|
|
add r1, r4, #0x218
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _022007A0
|
|
add r0, sp, #0
|
|
add r1, r4, #0x318
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x200
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_022007A0:
|
|
add r1, sp, #0x100
|
|
add r0, r4, #0x218
|
|
mov r2, #0x100
|
|
str r6, [r4, #0x214]
|
|
bl ov00_0220A348
|
|
add r1, sp, #0
|
|
add r0, r4, #0x318
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
ldr r2, _0220086C ; =_02217FC4
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, r7
|
|
mov r2, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_0220211C
|
|
ldr r2, _02200870 ; =_02217F30
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, [r4, #0x198]
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov00_0220211C
|
|
ldr r2, _02200874 ; =_02217FD0
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
add r2, sp, #0x100
|
|
bl ov00_022020EC
|
|
ldr r2, _02200878 ; =_02217FE0
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
add r2, sp, #0
|
|
bl ov00_022020EC
|
|
ldr r2, _0220087C ; =_02217F58
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, #0
|
|
add sp, sp, #0x200
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02200860: .word _02217EE4
|
|
_02200864: .word _02217F94
|
|
_02200868: .word _02217FAC
|
|
_0220086C: .word _02217FC4
|
|
_02200870: .word _02217F30
|
|
_02200874: .word _02217FD0
|
|
_02200878: .word _02217FE0
|
|
_0220087C: .word _02217F58
|
|
arm_func_end ov00_02200654
|
|
|
|
arm_func_start ov00_02200880
|
|
ov00_02200880: ; 0x02200880
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
ldrne ip, [r0]
|
|
mov r3, r2
|
|
cmpne ip, #0
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r2, [ip, #0x108]
|
|
cmp r2, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r2, [ip, #0x1d8]
|
|
cmp r2, #4
|
|
bne _022008C8
|
|
ldr r1, _022008EC ; =_02217EE4
|
|
bl ov00_0220A890
|
|
mov r0, #2
|
|
ldmia sp!, {r3, pc}
|
|
_022008C8:
|
|
cmp r3, #0
|
|
bne _022008E0
|
|
ldr r1, _022008F0 ; =_02217FEC
|
|
bl ov00_0220A890
|
|
mov r0, #2
|
|
ldmia sp!, {r3, pc}
|
|
_022008E0:
|
|
mov r2, #1
|
|
bl ov00_02201BC4
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_022008EC: .word _02217EE4
|
|
_022008F0: .word _02217FEC
|
|
arm_func_end ov00_02200880
|
|
|
|
arm_func_start ov00_022008F4
|
|
ov00_022008F4: ; 0x022008F4
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #4
|
|
mov r6, r0
|
|
mov r0, #0
|
|
str r0, [r6]
|
|
mov r0, #0x490
|
|
mov r5, r1
|
|
mov r4, r2
|
|
bl ov00_021EC3A8
|
|
str r0, [sp]
|
|
cmp r0, #0
|
|
addeq sp, sp, #4
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
mov r1, #0
|
|
mov r2, #0x490
|
|
bl sub_020E5B44
|
|
ldr r0, [sp]
|
|
mov r3, #0
|
|
strb r3, [r0]
|
|
ldr r0, [sp]
|
|
mov r2, #1
|
|
str r3, [r0, #0x418]
|
|
ldr r1, [sp]
|
|
add r0, sp, #0
|
|
str r2, [r1, #0x100]
|
|
ldr r1, [sp]
|
|
str r3, [r1, #0x104]
|
|
ldr r1, [sp]
|
|
str r3, [r1, #0x108]
|
|
ldr r1, [sp]
|
|
str r3, [r1, #0x10c]
|
|
ldr r1, [sp]
|
|
str r5, [r1, #0x46c]
|
|
ldr r1, [sp]
|
|
str r4, [r1, #0x470]
|
|
bl ov00_02207B34
|
|
cmp r0, #0
|
|
bne _022009AC
|
|
ldr r0, [sp]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add sp, sp, #4
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_022009AC:
|
|
ldr r0, [sp]
|
|
mov r1, #0
|
|
str r1, [r0, #0x420]
|
|
mov r3, r1
|
|
_022009BC:
|
|
ldr r0, [sp]
|
|
add r0, r0, r1, lsl #3
|
|
str r3, [r0, #0x1a4]
|
|
ldr r0, [sp]
|
|
add r0, r0, r1, lsl #3
|
|
add r1, r1, #1
|
|
str r3, [r0, #0x1a8]
|
|
cmp r1, #6
|
|
blt _022009BC
|
|
ldr r2, [sp]
|
|
ldr r1, _02200A38 ; =_0221800C
|
|
add r0, sp, #0
|
|
str r3, [r2, #0x460]
|
|
bl ov00_0220A3BC
|
|
add r0, sp, #0
|
|
bl ov00_02200A98
|
|
movs r4, r0
|
|
beq _02200A18
|
|
add r0, sp, #0
|
|
bl ov00_02200A3C
|
|
add sp, sp, #4
|
|
mov r0, r4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_02200A18:
|
|
bl ov00_021FF3CC
|
|
bl ov00_021FF368
|
|
bl sub_020E80F4
|
|
ldr r1, [sp]
|
|
mov r0, #0
|
|
str r1, [r6]
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02200A38: .word _0221800C
|
|
arm_func_end ov00_022008F4
|
|
|
|
arm_func_start ov00_02200A3C
|
|
ov00_02200A3C: ; 0x02200A3C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r4, [r5]
|
|
mov r1, #1
|
|
bl ov00_02204284
|
|
ldr r0, [r4, #0x460]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0x460]
|
|
ldr r0, [r4, #0x428]
|
|
bl ov00_021FEE8C
|
|
mov r0, r4
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r5]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_02200A3C
|
|
|
|
arm_func_start ov00_02200A7C
|
|
ov00_02200A7C: ; 0x02200A7C
|
|
mov r0, #0
|
|
str r0, [r1, #8]
|
|
str r0, [r1, #0x10]
|
|
str r0, [r1, #0x14]
|
|
str r0, [r1, #0x18]
|
|
mov r0, #1
|
|
bx lr
|
|
arm_func_end ov00_02200A7C
|
|
|
|
arm_func_start ov00_02200A98
|
|
ov00_02200A98: ; 0x02200A98
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r4, [r5]
|
|
mov r1, #0
|
|
strb r1, [r4, #0x110]
|
|
strb r1, [r4, #0x12f]
|
|
strb r1, [r4, #0x144]
|
|
sub r0, r1, #1
|
|
str r0, [r4, #0x1d4]
|
|
str r1, [r4, #0x1d8]
|
|
str r1, [r4, #0x1e4]
|
|
str r1, [r4, #0x1e8]
|
|
str r1, [r4, #0x1e0]
|
|
ldr r0, [r4, #0x1dc]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0x1dc]
|
|
str r0, [r4, #0x1f0]
|
|
ldr r0, [r4, #0x1ec]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0x1ec]
|
|
str r0, [r4, #0x1fc]
|
|
str r0, [r4, #0x200]
|
|
str r0, [r4, #0x1f8]
|
|
ldr r0, [r4, #0x1f4]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0x1f4]
|
|
str r0, [r4, #0x448]
|
|
str r0, [r4, #0x44c]
|
|
str r0, [r4, #0x444]
|
|
ldr r0, [r4, #0x440]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0x440]
|
|
str r0, [r4, #0x458]
|
|
str r0, [r4, #0x45c]
|
|
str r0, [r4, #0x454]
|
|
ldr r0, [r4, #0x450]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0x450]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #0x204]
|
|
mov r0, #2
|
|
str r0, [r4, #0x20c]
|
|
ldr r1, [r4, #0x424]
|
|
cmp r1, #0
|
|
beq _02200B74
|
|
_02200B60:
|
|
mov r0, r5
|
|
bl ov00_022066D0
|
|
ldr r1, [r4, #0x424]
|
|
cmp r1, #0
|
|
bne _02200B60
|
|
_02200B74:
|
|
mov r2, #0
|
|
str r2, [r4, #0x424]
|
|
ldr r1, _02200BBC ; =ov00_02200A7C
|
|
mov r0, r5
|
|
str r2, [r4, #0x430]
|
|
bl ov00_02207F1C
|
|
mov r0, #0
|
|
str r0, [r4, #0x19c]
|
|
str r0, [r4, #0x1a0]
|
|
str r0, [r4, #0x198]
|
|
str r0, [r4, #0x210]
|
|
str r0, [r4, #0x41c]
|
|
str r0, [r4, #0x434]
|
|
sub r1, r0, #1
|
|
str r1, [r4, #0x214]
|
|
strb r0, [r4, #0x218]
|
|
strb r0, [r4, #0x318]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02200BBC: .word ov00_02200A7C
|
|
arm_func_end ov00_02200A98
|
|
|
|
arm_func_start ov00_02200BC0
|
|
ov00_02200BC0: ; 0x02200BC0
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x14
|
|
mov r1, #0
|
|
mov r4, r0
|
|
str r1, [sp, #8]
|
|
ldr sl, [r4]
|
|
_02200BD8:
|
|
mov r0, r4
|
|
add r1, sl, #0x1f4
|
|
bl ov00_02205064
|
|
mov r1, #1
|
|
ldr r0, _02200EAC ; =_02218030
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [sl, #0x1d4]
|
|
add r3, sp, #8
|
|
mov r0, r4
|
|
add r2, sl, #0x1f4
|
|
bl ov00_0220267C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x14
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
add r1, sp, #8
|
|
ldr r0, _02200EAC ; =_02218030
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [sl, #0x1d4]
|
|
add r3, sp, #0xc
|
|
mov r0, r4
|
|
add r2, sl, #0x1dc
|
|
bl ov00_02202454
|
|
cmp r0, #0
|
|
beq _02200C78
|
|
cmp r0, #3
|
|
addne sp, sp, #0x14
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r2, _02200EB0 ; =_02218034
|
|
mov r0, r4
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r4
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x14
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02200C78:
|
|
ldr r0, [sl, #0x1dc]
|
|
ldr r1, _02200EB4 ; =_02218060
|
|
bl sub_020E9AD0
|
|
movs r5, r0
|
|
beq _02200E48
|
|
ldr r6, _02200EB8 ; =_02218084
|
|
ldr r8, _02200EBC ; =_02218068
|
|
add fp, sp, #0x10
|
|
mov r7, #0x800
|
|
mov sb, #0
|
|
_02200CA0:
|
|
strb sb, [r5]
|
|
mov r0, r4
|
|
mov r1, r8
|
|
ldr r2, [sl, #0x1dc]
|
|
bl ov00_0220A3BC
|
|
ldr r0, [sl, #0x1dc]
|
|
sub r1, r5, r0
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [sl, #0x1f0]
|
|
cmp r1, r0
|
|
ble _02200D10
|
|
ldr r0, [sl, #0x1f0]
|
|
cmp r1, #0x800
|
|
movlt r1, r7
|
|
add r0, r0, r1
|
|
str r0, [sl, #0x1f0]
|
|
add r1, r0, #1
|
|
ldr r0, [sl, #0x1ec]
|
|
bl ov00_021EC3BC
|
|
cmp r0, #0
|
|
bne _02200D0C
|
|
ldr r1, _02200EC0 ; =_02218074
|
|
mov r0, r4
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x14
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02200D0C:
|
|
str r0, [sl, #0x1ec]
|
|
_02200D10:
|
|
ldr r2, [sp, #0xc]
|
|
ldr r0, [sl, #0x1ec]
|
|
ldr r1, [sl, #0x1dc]
|
|
add r2, r2, #1
|
|
bl sub_020E5AD8
|
|
ldr r0, [sl, #0x1dc]
|
|
add r1, r5, #7
|
|
ldr r2, [sl, #0x1e4]
|
|
sub r0, r1, r0
|
|
sub r0, r2, r0
|
|
str r0, [sl, #0x1e4]
|
|
add r2, r0, #1
|
|
ldr r0, [sl, #0x1dc]
|
|
bl sub_020E5AF8
|
|
ldr r5, [sl, #0x1ec]
|
|
mov r1, r6
|
|
mov r0, r5
|
|
bl sub_020E9AD0
|
|
cmp r0, #0
|
|
beq _02200DB8
|
|
add r0, r0, #4
|
|
bl sub_020EB82C
|
|
mov r5, r0
|
|
mov r0, r4
|
|
mov r1, fp
|
|
mov r2, r5
|
|
bl ov00_02206720
|
|
cmp r0, #0
|
|
bne _02200D98
|
|
ldr r1, _02200EC4 ; =_0221808C
|
|
mov r2, r5
|
|
mov r0, r4
|
|
bl ov00_0220A3BC
|
|
b _02200E34
|
|
_02200D98:
|
|
mov r0, r4
|
|
ldr r1, [sp, #0x10]
|
|
ldr r2, [sl, #0x1ec]
|
|
bl ov00_022067A8
|
|
cmp r0, #0
|
|
beq _02200E34
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02200DB8:
|
|
mov r1, r5
|
|
mov r0, r4
|
|
mov r2, #1
|
|
bl ov00_0220A3C8
|
|
cmp r0, #0
|
|
addne sp, sp, #0x14
|
|
movne r0, #4
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r5, [sl, #0x1ec]
|
|
ldr r1, _02200EC8 ; =_022180B4
|
|
mov r0, r5
|
|
mov r2, #4
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
bne _02200E10
|
|
mov r1, r5
|
|
mov r0, r4
|
|
bl ov00_02201134
|
|
cmp r0, #0
|
|
beq _02200E34
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02200E10:
|
|
ldr r1, _02200ECC ; =_022180BC
|
|
mov r0, r5
|
|
mov r2, #0xa
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
beq _02200E34
|
|
ldr r1, _02200ED0 ; =_022180C4
|
|
mov r0, r4
|
|
bl ov00_0220A3BC
|
|
_02200E34:
|
|
ldr r0, [sl, #0x1dc]
|
|
ldr r1, _02200EB4 ; =_02218060
|
|
bl sub_020E9AD0
|
|
movs r5, r0
|
|
bne _02200CA0
|
|
_02200E48:
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #0
|
|
beq _02200E80
|
|
ldr r2, _02200ED4 ; =_022180F4
|
|
mov r0, r4
|
|
mov r1, #7
|
|
bl ov00_0220A86C
|
|
mov r0, r4
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x14
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02200E80:
|
|
mov r0, r4
|
|
bl ov00_0220676C
|
|
movs r5, r0
|
|
beq _02200E98
|
|
mov r0, #0xa
|
|
bl ov00_021FF3C0
|
|
_02200E98:
|
|
cmp r5, #0
|
|
bne _02200BD8
|
|
mov r0, #0
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02200EAC: .word _02218030
|
|
_02200EB0: .word _02218034
|
|
_02200EB4: .word _02218060
|
|
_02200EB8: .word _02218084
|
|
_02200EBC: .word _02218068
|
|
_02200EC0: .word _02218074
|
|
_02200EC4: .word _0221808C
|
|
_02200EC8: .word _022180B4
|
|
_02200ECC: .word _022180BC
|
|
_02200ED0: .word _022180C4
|
|
_02200ED4: .word _022180F4
|
|
arm_func_end ov00_02200BC0
|
|
|
|
arm_func_start ov00_02200ED8
|
|
ov00_02200ED8: ; 0x02200ED8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov sl, r0
|
|
ldr r6, [sl]
|
|
mov sb, r1
|
|
ldr r0, [r6, #0x1d8]
|
|
mov r7, #0
|
|
cmp r0, #4
|
|
bls _02200F0C
|
|
ldr r0, _02201078 ; =_0221811C
|
|
ldr r1, _0220107C ; =_02218214
|
|
ldr r2, _02201080 ; =_02218000
|
|
ldr r3, _02201084 ; =0x000001B6
|
|
bl sub_020E4A9C
|
|
_02200F0C:
|
|
ldr r0, [r6, #0x1d8]
|
|
cmp r0, #1
|
|
bne _02200FAC
|
|
mov r4, #0
|
|
mov r5, #1
|
|
mov fp, #0xa
|
|
_02200F24:
|
|
mov r0, sl
|
|
bl ov00_0220411C
|
|
movs r7, r0
|
|
bne _02200F4C
|
|
cmp sb, #0
|
|
beq _02200F4C
|
|
ldr r0, [r6, #0x1d8]
|
|
cmp r0, #1
|
|
moveq r8, r5
|
|
beq _02200F50
|
|
_02200F4C:
|
|
mov r8, r4
|
|
_02200F50:
|
|
cmp r8, #0
|
|
beq _02200F60
|
|
mov r0, fp
|
|
bl ov00_021FF3C0
|
|
_02200F60:
|
|
cmp r8, #0
|
|
bne _02200F24
|
|
cmp r7, #0
|
|
beq _02200FAC
|
|
add r1, sp, #0
|
|
mov r0, sl
|
|
mov r2, #1
|
|
bl ov00_02206720
|
|
cmp r0, #0
|
|
beq _02200F98
|
|
ldr r0, [sp]
|
|
mov r1, #4
|
|
str r1, [r0, #0x1c]
|
|
b _02200FAC
|
|
_02200F98:
|
|
ldr r0, _02201088 ; =_0221821C
|
|
ldr r1, _0220107C ; =_02218214
|
|
ldr r2, _02201080 ; =_02218000
|
|
mov r3, #0x1dc
|
|
bl sub_020E4A9C
|
|
_02200FAC:
|
|
ldr r0, [r6, #0x1d8]
|
|
sub r0, r0, #2
|
|
cmp r0, #1
|
|
bhi _02200FE4
|
|
cmp r7, #0
|
|
bne _02200FD0
|
|
mov r0, sl
|
|
bl ov00_02200BC0
|
|
mov r7, r0
|
|
_02200FD0:
|
|
cmp r7, #0
|
|
bne _02200FE4
|
|
mov r0, sl
|
|
bl ov00_022073E8
|
|
mov r7, r0
|
|
_02200FE4:
|
|
cmp r7, #0
|
|
bne _02200FF8
|
|
mov r0, sl
|
|
bl ov00_02209FCC
|
|
mov r7, r0
|
|
_02200FF8:
|
|
ldr r1, [r6, #0x424]
|
|
str r1, [sp]
|
|
cmp r1, #0
|
|
beq _02201044
|
|
_02201008:
|
|
ldr r0, [r1, #0x1c]
|
|
cmp r0, #0
|
|
ldreq r0, [r1, #0x20]
|
|
streq r0, [sp]
|
|
beq _02201038
|
|
mov r0, sl
|
|
bl ov00_02206230
|
|
ldr r1, [sp]
|
|
mov r0, sl
|
|
ldr r2, [r1, #0x20]
|
|
str r2, [sp]
|
|
bl ov00_022066D0
|
|
_02201038:
|
|
ldr r1, [sp]
|
|
cmp r1, #0
|
|
bne _02201008
|
|
_02201044:
|
|
mov r0, sl
|
|
mov r1, sb
|
|
bl ov00_02202D20
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r0, [r6, #0x41c]
|
|
cmp r0, #0
|
|
beq _02201070
|
|
mov r0, sl
|
|
mov r1, #0
|
|
bl ov00_02204284
|
|
_02201070:
|
|
mov r0, r7
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02201078: .word _0221811C
|
|
_0220107C: .word _02218214
|
|
_02201080: .word _02218000
|
|
_02201084: .word 0x000001B6
|
|
_02201088: .word _0221821C
|
|
arm_func_end ov00_02200ED8
|
|
|
|
arm_func_start ov00_0220108C
|
|
ov00_0220108C: ; 0x0220108C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
ldr r4, [r6]
|
|
ldr r2, _02201120 ; =_02218230
|
|
mov r5, r1
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, _02201124 ; =_0221823C
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, [r4, #0x198]
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_0220211C
|
|
ldr r2, _02201128 ; =_02218248
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
ldr r2, [r5]
|
|
bl ov00_0220211C
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
ldr r2, _0220112C ; =_02218258
|
|
bl ov00_022020EC
|
|
ldr r2, [r5, #0x10]
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
ldr r2, _02201130 ; =_02218260
|
|
bl ov00_022020EC
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02201120: .word _02218230
|
|
_02201124: .word _0221823C
|
|
_02201128: .word _02218248
|
|
_0220112C: .word _02218258
|
|
_02201130: .word _02218260
|
|
arm_func_end ov00_0220108C
|
|
|
|
arm_func_start ov00_02201134
|
|
ov00_02201134: ; 0x02201134
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x138
|
|
sub sp, sp, #0x1000
|
|
mov r7, r1
|
|
mov sl, r0
|
|
ldr r1, _02201AA8 ; =_02218268
|
|
add r2, sp, #0x138
|
|
mov r0, r7
|
|
mov r3, #0x1000
|
|
ldr r8, [sl]
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _02201198
|
|
ldr r2, _02201AAC ; =_02218270
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02201198:
|
|
add r0, sp, #0x138
|
|
bl sub_020EB82C
|
|
mov r4, r0
|
|
ldr r1, _02201AB0 ; =_022182A0
|
|
add r2, sp, #0x138
|
|
mov r0, r7
|
|
mov r3, #0x1000
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _022011F0
|
|
ldr r2, _02201AAC ; =_02218270
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022011F0:
|
|
add r0, sp, #0x138
|
|
bl sub_020EB82C
|
|
mov r6, r0
|
|
ldr r1, _02201AB4 ; =_022182A4
|
|
add r2, sp, #0x138
|
|
mov r0, r7
|
|
mov r3, #0x1000
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
beq _02201224
|
|
add r0, sp, #0x138
|
|
bl sub_020EB82C
|
|
b _0220122C
|
|
_02201224:
|
|
mov r0, #0
|
|
bl ov00_021FFA70
|
|
_0220122C:
|
|
mov sb, r0
|
|
cmp r4, #0x64
|
|
bgt _0220125C
|
|
bge _02201548
|
|
cmp r4, #2
|
|
bgt _02201A98
|
|
cmp r4, #1
|
|
blt _02201A98
|
|
beq _0220127C
|
|
cmp r4, #2
|
|
beq _02201388
|
|
b _02201A98
|
|
_0220125C:
|
|
cmp r4, #0x66
|
|
bgt _02201A98
|
|
cmp r4, #0x65
|
|
blt _02201A98
|
|
beq _022018A8
|
|
cmp r4, #0x66
|
|
beq _02201A38
|
|
b _02201A98
|
|
_0220127C:
|
|
ldr r1, [r8, #0x1bc]
|
|
ldr r0, [r8, #0x1c0]
|
|
str r1, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
cmp r1, #0
|
|
beq _02201A98
|
|
mov r0, #0xc
|
|
bl ov00_021EC3A8
|
|
movs r4, r0
|
|
bne _022012C0
|
|
ldr r1, _02201AB8 ; =_022182AC
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022012C0:
|
|
ldr r1, _02201ABC ; =_022182BC
|
|
add r2, sp, #0x138
|
|
mov r0, r7
|
|
mov r3, #0x1000
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _0220130C
|
|
ldr r2, _02201AAC ; =_02218270
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_0220130C:
|
|
add r0, sp, #0x138
|
|
bl sub_020E9580
|
|
add r0, r0, #1
|
|
bl ov00_021EC3A8
|
|
str r0, [r4, #8]
|
|
cmp r0, #0
|
|
bne _02201344
|
|
ldr r1, _02201AB8 ; =_022182AC
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02201344:
|
|
add r1, sp, #0x138
|
|
bl sub_020E959C
|
|
stmia r4, {r6, sb}
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r2, #2
|
|
add r1, sp, #0x20
|
|
str r2, [sp, #4]
|
|
mov r0, sl
|
|
mov r3, r4
|
|
ldmia r1, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
beq _02201A98
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02201388:
|
|
mov r0, sl
|
|
mov r1, r6
|
|
bl ov00_02207CEC
|
|
movs r5, r0
|
|
bne _022013B8
|
|
ldr r1, _02201AB8 ; =_022182AC
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022013B8:
|
|
ldr r1, _02201ABC ; =_022182BC
|
|
add r2, sp, #0x138
|
|
mov r0, r7
|
|
mov r3, #0x1000
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _02201404
|
|
ldr r2, _02201AAC ; =_02218270
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02201404:
|
|
ldr r1, _02201AC0 ; =_022182C4
|
|
add r0, sp, #0x138
|
|
bl sub_020E9AD0
|
|
movs r4, r0
|
|
bne _02201448
|
|
ldr r2, _02201AAC ; =_02218270
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02201448:
|
|
mov r1, #0
|
|
add r0, r4, #8
|
|
strb r1, [r4]
|
|
bl sub_020E9580
|
|
cmp r0, #0x20
|
|
beq _02201490
|
|
ldr r2, _02201AAC ; =_02218270
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02201490:
|
|
ldr r0, [r5, #0x10]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r5, #0x10]
|
|
add r0, r4, #8
|
|
bl ov00_021FF3D4
|
|
str r0, [r5, #0x10]
|
|
ldr r0, [r5, #0x14]
|
|
add r0, r0, #1
|
|
str r0, [r5, #0x14]
|
|
ldr r1, [r8, #0x1ac]
|
|
ldr r0, [r8, #0x1b0]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
cmp r1, #0
|
|
beq _02201A98
|
|
ldr r0, _02201AC4 ; =0x0000040C
|
|
bl ov00_021EC3A8
|
|
movs r4, r0
|
|
bne _022014FC
|
|
ldr r1, _02201AB8 ; =_022182AC
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022014FC:
|
|
ldr r2, _02201AC8 ; =0x00000401
|
|
add r1, sp, #0x138
|
|
add r0, r4, #8
|
|
bl ov00_0220A348
|
|
stmia r4, {r6, sb}
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r2, #6
|
|
add r1, sp, #8
|
|
str r2, [sp, #4]
|
|
mov r0, sl
|
|
mov r3, r4
|
|
ldmia r1, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
beq _02201A98
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02201548:
|
|
mov r0, sl
|
|
mov r1, r6
|
|
bl ov00_02207CEC
|
|
movs r4, r0
|
|
bne _02201578
|
|
ldr r1, _02201AB8 ; =_022182AC
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02201578:
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
bne _022015EC
|
|
mov r0, #0x18
|
|
bl ov00_021EC3A8
|
|
str r0, [r4, #8]
|
|
cmp r0, #0
|
|
bne _022015B4
|
|
ldr r1, _02201AB8 ; =_022182AC
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022015B4:
|
|
mov r2, #6
|
|
mov r1, #0
|
|
_022015BC:
|
|
strb r1, [r0]
|
|
strb r1, [r0, #1]
|
|
strb r1, [r0, #2]
|
|
strb r1, [r0, #3]
|
|
add r0, r0, #4
|
|
subs r2, r2, #1
|
|
bne _022015BC
|
|
ldr r1, [r8, #0x430]
|
|
add r0, r1, #1
|
|
str r0, [r8, #0x430]
|
|
ldr r0, [r4, #8]
|
|
str r1, [r0]
|
|
_022015EC:
|
|
ldr r1, _02201ABC ; =_022182BC
|
|
mov r0, r7
|
|
add r2, sp, #0x138
|
|
mov r3, #0x1000
|
|
ldr r7, [r4, #8]
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _0220163C
|
|
ldr r2, _02201AAC ; =_02218270
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_0220163C:
|
|
ldr r1, _02201ACC ; =_022182D0
|
|
add r0, sp, #0x138
|
|
add r2, sp, #0x28
|
|
mov r3, #0x10
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _02201688
|
|
ldr r2, _02201AAC ; =_02218270
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02201688:
|
|
add r0, sp, #0x28
|
|
bl sub_020EB82C
|
|
str r0, [r7, #4]
|
|
ldr r0, [r7, #8]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r7, #8]
|
|
ldr r1, _02201AD0 ; =_022182D4
|
|
add r0, sp, #0x138
|
|
add r2, sp, #0x38
|
|
mov r3, #0x100
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streqb r0, [sp, #0x38]
|
|
add r0, sp, #0x38
|
|
bl ov00_021FF3D4
|
|
str r0, [r7, #8]
|
|
cmp r0, #0
|
|
bne _022016F4
|
|
ldr r1, _02201AB8 ; =_022182AC
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022016F4:
|
|
ldr r0, [r7, #0xc]
|
|
bl ov00_021EC3D8
|
|
mov r4, #0
|
|
ldr r1, _02201AD4 ; =_022182DC
|
|
add r0, sp, #0x138
|
|
add r2, sp, #0x38
|
|
mov r3, #0x100
|
|
str r4, [r7, #0xc]
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, r4
|
|
streqb r0, [sp, #0x38]
|
|
add r0, sp, #0x38
|
|
bl ov00_021FF3D4
|
|
str r0, [r7, #0xc]
|
|
cmp r0, #0
|
|
bne _02201754
|
|
ldr r1, _02201AB8 ; =_022182AC
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02201754:
|
|
ldr r1, _02201AD8 ; =_022182E4
|
|
add r0, sp, #0x138
|
|
add r2, sp, #0x28
|
|
mov r3, #0x10
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
beq _022017CC
|
|
add r0, sp, #0x28
|
|
bl sub_020EB82C
|
|
mov r5, r0
|
|
add r0, sp, #0x28
|
|
bl sub_020EB82C
|
|
mov fp, r0
|
|
add r0, sp, #0x28
|
|
bl sub_020EB82C
|
|
mov r4, r0
|
|
add r0, sp, #0x28
|
|
bl sub_020EB82C
|
|
mov r1, r4, lsr #0x18
|
|
mov r0, r0, lsr #8
|
|
mov r2, fp, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
mov r3, r5, lsl #0x18
|
|
orr r0, r1, r0
|
|
and r2, r2, #0xff0000
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
_022017CC:
|
|
ldr r1, _02201ADC ; =_022182EC
|
|
str r0, [r7, #0x10]
|
|
add r0, sp, #0x138
|
|
add r2, sp, #0x28
|
|
mov r3, #0x10
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
beq _0220181C
|
|
add r0, sp, #0x28
|
|
bl sub_020EB82C
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
mov r1, r0, asr #8
|
|
mov r0, r0, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
_0220181C:
|
|
str r0, [r7, #0x14]
|
|
ldr r1, [r8, #0x1b4]
|
|
ldr r0, [r8, #0x1b8]
|
|
str r1, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
cmp r1, #0
|
|
beq _02201A98
|
|
mov r0, #0xc
|
|
bl ov00_021EC3A8
|
|
movs r3, r0
|
|
bne _02201864
|
|
ldr r1, _02201AB8 ; =_022182AC
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02201864:
|
|
str r6, [r3]
|
|
ldr r0, [r7]
|
|
mov r2, #0
|
|
str r0, [r3, #8]
|
|
str sb, [r3, #4]
|
|
str r2, [sp]
|
|
mov r2, #5
|
|
add r1, sp, #0x10
|
|
str r2, [sp, #4]
|
|
mov r0, sl
|
|
ldmia r1, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
beq _02201A98
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022018A8:
|
|
ldr r1, _02201ABC ; =_022182BC
|
|
add r2, sp, #0x138
|
|
mov r0, r7
|
|
mov r3, #0x1000
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _022018F4
|
|
ldr r2, _02201AAC ; =_02218270
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022018F4:
|
|
ldr r1, _02201ADC ; =_022182EC
|
|
add r0, sp, #0x138
|
|
bl sub_020E9AD0
|
|
cmp r0, #0
|
|
bne _02201938
|
|
ldr r2, _02201AAC ; =_02218270
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02201938:
|
|
ldrsb r1, [r0, #3]
|
|
cmp r1, #0
|
|
bne _02201974
|
|
ldr r2, _02201AAC ; =_02218270
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02201974:
|
|
add r0, r0, #3
|
|
bl sub_020EB82C
|
|
mov r4, r0
|
|
ldr r1, _02201AE0 ; =_022182F0
|
|
add r0, sp, #0x138
|
|
bl sub_020E9AD0
|
|
movs r1, r0
|
|
moveq r0, #0
|
|
streqb r0, [sp, #0x38]
|
|
beq _022019AC
|
|
add r0, sp, #0x38
|
|
add r1, r1, #3
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
_022019AC:
|
|
ldr r1, [r8, #0x1c4]
|
|
ldr r0, [r8, #0x1c8]
|
|
str r1, [sp, #0x18]
|
|
str r0, [sp, #0x1c]
|
|
cmp r1, #0
|
|
beq _02201A98
|
|
mov r0, #0x108
|
|
bl ov00_021EC3A8
|
|
movs r5, r0
|
|
bne _022019F0
|
|
ldr r1, _02201AB8 ; =_022182AC
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022019F0:
|
|
str r6, [r5]
|
|
add r1, sp, #0x38
|
|
add r0, r5, #8
|
|
str r4, [r5, #4]
|
|
bl sub_020E959C
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
add r1, sp, #0x18
|
|
str r2, [sp, #4]
|
|
mov r0, sl
|
|
mov r3, r5
|
|
ldmia r1, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
beq _02201A98
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02201A38:
|
|
ldr r1, _02201ABC ; =_022182BC
|
|
add r2, sp, #0x138
|
|
mov r0, r7
|
|
mov r3, #0x1000
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _02201A84
|
|
ldr r2, _02201AAC ; =_02218270
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02201A84:
|
|
ldr r3, _02201AE4 ; =_022182F4
|
|
mov r0, sl
|
|
mov r1, r6
|
|
mov r2, #0x67
|
|
bl ov00_02201BC4
|
|
_02201A98:
|
|
mov r0, #0
|
|
add sp, sp, #0x138
|
|
add sp, sp, #0x1000
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02201AA8: .word _02218268
|
|
_02201AAC: .word _02218270
|
|
_02201AB0: .word _022182A0
|
|
_02201AB4: .word _022182A4
|
|
_02201AB8: .word _022182AC
|
|
_02201ABC: .word _022182BC
|
|
_02201AC0: .word _022182C4
|
|
_02201AC4: .word 0x0000040C
|
|
_02201AC8: .word 0x00000401
|
|
_02201ACC: .word _022182D0
|
|
_02201AD0: .word _022182D4
|
|
_02201AD4: .word _022182DC
|
|
_02201AD8: .word _022182E4
|
|
_02201ADC: .word _022182EC
|
|
_02201AE0: .word _022182F0
|
|
_02201AE4: .word _022182F4
|
|
arm_func_end ov00_02201134
|
|
|
|
arm_func_start ov00_02201AE8
|
|
ov00_02201AE8: ; 0x02201AE8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0xdb0
|
|
mov r7, r0
|
|
mov r5, r2
|
|
mov r6, r1
|
|
ldr r2, _02201BAC ; =0x00000DAD
|
|
add r0, sp, #0
|
|
mov r1, r3
|
|
ldr r4, [r7]
|
|
bl ov00_0220A348
|
|
ldr r2, _02201BB0 ; =_02218268
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, r7
|
|
mov r2, r5
|
|
add r1, r4, #0x1f4
|
|
bl ov00_0220211C
|
|
ldr r2, _02201BB4 ; =_0221823C
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, [r4, #0x198]
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov00_0220211C
|
|
ldr r2, _02201BB8 ; =_022182F8
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r2, r6
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov00_0220211C
|
|
ldr r2, _02201BBC ; =_022182BC
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
add r2, sp, #0
|
|
bl ov00_022020EC
|
|
ldr r2, _02201BC0 ; =_02218260
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, #0
|
|
add sp, sp, #0xdb0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02201BAC: .word 0x00000DAD
|
|
_02201BB0: .word _02218268
|
|
_02201BB4: .word _0221823C
|
|
_02201BB8: .word _022182F8
|
|
_02201BBC: .word _022182BC
|
|
_02201BC0: .word _02218260
|
|
arm_func_end ov00_02201AE8
|
|
|
|
arm_func_start ov00_02201BC4
|
|
ov00_02201BC4: ; 0x02201BC4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #4
|
|
mov r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bl ov00_022074D8
|
|
movs r8, r0
|
|
bne _02201C88
|
|
add r2, sp, #0
|
|
mov r0, r7
|
|
mov r1, r6
|
|
bl ov00_02207DD0
|
|
cmp r0, #0
|
|
ldrne r0, [sp]
|
|
ldrne r0, [r0, #8]
|
|
cmpne r0, #0
|
|
ldrne r0, [r0, #0x14]
|
|
cmpne r0, #0
|
|
mov r0, r7
|
|
bne _02201C30
|
|
mov r1, r6
|
|
mov r2, r5
|
|
mov r3, r4
|
|
bl ov00_02201AE8
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_02201C30:
|
|
mov r1, r6
|
|
mov r2, #1
|
|
bl ov00_0220752C
|
|
movs r8, r0
|
|
addeq sp, sp, #4
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
ldr r0, [sp]
|
|
mov r1, r8
|
|
ldr r0, [r0, #0x18]
|
|
cmp r0, #0
|
|
mov r0, r7
|
|
bne _02201C78
|
|
bl ov00_022075AC
|
|
cmp r0, #0
|
|
beq _02201C88
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_02201C78:
|
|
bl ov00_02207610
|
|
cmp r0, #0
|
|
addne sp, sp, #4
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_02201C88:
|
|
mov r0, r7
|
|
mov r1, r8
|
|
mov r2, r5
|
|
mov r3, r4
|
|
bl ov00_0220779C
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
arm_func_end ov00_02201BC4
|
|
|
|
arm_func_start ov00_02201CAC
|
|
ov00_02201CAC: ; 0x02201CAC
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r0
|
|
add r2, sp, #0
|
|
ldr r5, [r4]
|
|
bl ov00_02207DD0
|
|
cmp r0, #0
|
|
bne _02201CDC
|
|
ldr r1, _02201D74 ; =_022182FC
|
|
mov r0, r4
|
|
bl ov00_0220A890
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02201CDC:
|
|
ldr r1, [sp]
|
|
ldr r0, [r1, #0x10]
|
|
cmp r0, #0
|
|
bne _02201D00
|
|
ldr r1, _02201D74 ; =_022182FC
|
|
mov r0, r4
|
|
bl ov00_0220A890
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02201D00:
|
|
mov r0, r4
|
|
bl ov00_0220108C
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r1, [sp]
|
|
ldr r0, [r1, #0x14]
|
|
sub r0, r0, #1
|
|
str r0, [r1, #0x14]
|
|
ldr r0, [r5, #0x100]
|
|
cmp r0, #0
|
|
bne _02201D6C
|
|
ldr r1, [sp]
|
|
ldr r0, [r1, #0x14]
|
|
cmp r0, #0
|
|
bgt _02201D6C
|
|
ldr r0, [r1, #0x10]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [sp]
|
|
mov r1, #0
|
|
str r1, [r0, #0x10]
|
|
ldr r0, [sp]
|
|
bl ov00_02207FB8
|
|
cmp r0, #0
|
|
beq _02201D6C
|
|
ldr r1, [sp]
|
|
mov r0, r4
|
|
bl ov00_02207E40
|
|
_02201D6C:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02201D74: .word _022182FC
|
|
arm_func_end ov00_02201CAC
|
|
|
|
arm_func_start ov00_02201D78
|
|
ov00_02201D78: ; 0x02201D78
|
|
ldr r1, [r1, #8]
|
|
cmp r1, #0
|
|
beq _02201D94
|
|
ldr r0, [r1]
|
|
cmp r0, r2
|
|
subgt r0, r0, #1
|
|
strgt r0, [r1]
|
|
_02201D94:
|
|
mov r0, #1
|
|
bx lr
|
|
arm_func_end ov00_02201D78
|
|
|
|
arm_func_start ov00_02201D9C
|
|
ov00_02201D9C: ; 0x02201D9C
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #4
|
|
mov r6, r0
|
|
add r2, sp, #0
|
|
ldr r4, [r6]
|
|
bl ov00_02207DD0
|
|
cmp r0, #0
|
|
bne _02201DD4
|
|
ldr r1, _02201F1C ; =_022182FC
|
|
mov r0, r6
|
|
bl ov00_0220A890
|
|
add sp, sp, #4
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_02201DD4:
|
|
ldr r2, _02201F20 ; =_02218310
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, _02201F24 ; =_0221823C
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, [r4, #0x198]
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_0220211C
|
|
ldr r2, _02201F28 ; =_0221831C
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
ldr r2, [sp]
|
|
ldr r2, [r2]
|
|
bl ov00_0220211C
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
ldr r2, _02201F2C ; =_02218260
|
|
bl ov00_022020EC
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #0
|
|
beq _02201F10
|
|
ldr r5, [r0]
|
|
cmp r5, #0
|
|
bge _02201E68
|
|
ldr r0, _02201F30 ; =_0221832C
|
|
ldr r1, _02201F34 ; =_02218338
|
|
ldr r2, _02201F38 ; =_02218220
|
|
ldr r3, _02201F3C ; =0x000001FD
|
|
bl sub_020E4A9C
|
|
_02201E68:
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, #8]
|
|
ldr r0, [r0, #8]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, [r0, #8]
|
|
str r1, [r0, #8]
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, #8]
|
|
ldr r0, [r0, #0xc]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, [r0, #8]
|
|
str r1, [r0, #0xc]
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, #8]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [sp]
|
|
mov r1, #0
|
|
str r1, [r0, #8]
|
|
ldr r0, [sp]
|
|
bl ov00_02207FB8
|
|
cmp r0, #0
|
|
beq _02201EDC
|
|
ldr r1, [sp]
|
|
mov r0, r6
|
|
bl ov00_02207E40
|
|
_02201EDC:
|
|
ldr r0, [r4, #0x430]
|
|
subs r0, r0, #1
|
|
str r0, [r4, #0x430]
|
|
bpl _02201F00
|
|
ldr r0, _02201F40 ; =_02218344
|
|
ldr r1, _02201F34 ; =_02218338
|
|
ldr r2, _02201F38 ; =_02218220
|
|
mov r3, #0x204
|
|
bl sub_020E4A9C
|
|
_02201F00:
|
|
ldr r1, _02201F44 ; =ov00_02201D78
|
|
mov r0, r6
|
|
mov r2, r5
|
|
bl ov00_02207F1C
|
|
_02201F10:
|
|
mov r0, #0
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02201F1C: .word _022182FC
|
|
_02201F20: .word _02218310
|
|
_02201F24: .word _0221823C
|
|
_02201F28: .word _0221831C
|
|
_02201F2C: .word _02218260
|
|
_02201F30: .word _0221832C
|
|
_02201F34: .word _02218338
|
|
_02201F38: .word _02218220
|
|
_02201F3C: .word 0x000001FD
|
|
_02201F40: .word _02218344
|
|
_02201F44: .word ov00_02201D78
|
|
arm_func_end ov00_02201D9C
|
|
|
|
arm_func_start ov00_02201F48
|
|
ov00_02201F48: ; 0x02201F48
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
movs r4, r1
|
|
mov r8, r0
|
|
mov r7, r2
|
|
bne _02201F70
|
|
ldr r0, _02201FD0 ; =_022183F8
|
|
ldr r1, _02201FD4 ; =_02218410
|
|
ldr r2, _02201FD8 ; =_022183A8
|
|
mov r3, #0x25
|
|
bl sub_020E4A9C
|
|
_02201F70:
|
|
ldr r5, [r4, #8]
|
|
ldmia r4, {r0, r6}
|
|
cmp r6, r5
|
|
bne _02201FA8
|
|
add r6, r6, #0x800
|
|
add r1, r6, #1
|
|
bl ov00_021EC3BC
|
|
cmp r0, #0
|
|
bne _02201FA8
|
|
ldr r1, _02201FDC ; =_0221841C
|
|
mov r0, r8
|
|
bl ov00_0220A890
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02201FA8:
|
|
strb r7, [r0, r5]
|
|
add r1, r5, #1
|
|
mov r2, #0
|
|
strb r2, [r0, r1]
|
|
ldr r1, [r4, #8]
|
|
add r1, r1, #1
|
|
str r1, [r4, #8]
|
|
stmia r4, {r0, r6}
|
|
mov r0, r2
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_02201FD0: .word _022183F8
|
|
_02201FD4: .word _02218410
|
|
_02201FD8: .word _022183A8
|
|
_02201FDC: .word _0221841C
|
|
arm_func_end ov00_02201F48
|
|
|
|
arm_func_start ov00_02201FE0
|
|
ov00_02201FE0: ; 0x02201FE0
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
movs r8, r2
|
|
mov sl, r0
|
|
mov sb, r1
|
|
mov r7, r3
|
|
bne _0220200C
|
|
ldr r0, _022020D4 ; =_0221842C
|
|
ldr r1, _022020D8 ; =_02218410
|
|
ldr r2, _022020DC ; =_022183DC
|
|
mov r3, #0x51
|
|
bl sub_020E4A9C
|
|
_0220200C:
|
|
cmp r7, #0
|
|
bge _02202028
|
|
ldr r0, _022020E0 ; =_0221843C
|
|
ldr r1, _022020D8 ; =_02218410
|
|
ldr r2, _022020DC ; =_022183DC
|
|
mov r3, #0x52
|
|
bl sub_020E4A9C
|
|
_02202028:
|
|
cmp sb, #0
|
|
bne _02202044
|
|
ldr r0, _022020E4 ; =_022183F8
|
|
ldr r1, _022020D8 ; =_02218410
|
|
ldr r2, _022020DC ; =_022183DC
|
|
mov r3, #0x53
|
|
bl sub_020E4A9C
|
|
_02202044:
|
|
cmp r8, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
ldr r4, [sb, #8]
|
|
ldr r5, [sb, #4]
|
|
ldr r6, [sb]
|
|
sub r0, r5, r4
|
|
cmp r0, r7
|
|
bge _022020A0
|
|
cmp r7, #0x800
|
|
movlt r0, #0x800
|
|
movge r0, r7
|
|
add r5, r5, r0
|
|
mov r0, r6
|
|
add r1, r5, #1
|
|
bl ov00_021EC3BC
|
|
movs r6, r0
|
|
bne _022020A0
|
|
ldr r1, _022020E8 ; =_0221841C
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_022020A0:
|
|
mov r1, r8
|
|
mov r2, r7
|
|
add r0, r6, r4
|
|
bl sub_020E5AD8
|
|
add r1, r4, r7
|
|
mov r0, #0
|
|
strb r0, [r6, r1]
|
|
ldr r1, [sb, #8]
|
|
add r1, r1, r7
|
|
str r1, [sb, #8]
|
|
str r5, [sb, #4]
|
|
str r6, [sb]
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
_022020D4: .word _0221842C
|
|
_022020D8: .word _02218410
|
|
_022020DC: .word _022183DC
|
|
_022020E0: .word _0221843C
|
|
_022020E4: .word _022183F8
|
|
_022020E8: .word _0221841C
|
|
arm_func_end ov00_02201FE0
|
|
|
|
arm_func_start ov00_022020EC
|
|
ov00_022020EC: ; 0x022020EC
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r4, r2
|
|
mov r6, r0
|
|
mov r5, r1
|
|
mov r0, r4
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r2, r4
|
|
bl ov00_02201FE0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_022020EC
|
|
|
|
arm_func_start ov00_0220211C
|
|
ov00_0220211C: ; 0x0220211C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x10
|
|
mov r4, r1
|
|
mov r5, r0
|
|
ldr r1, _02202150 ; =_0221844C
|
|
add r0, sp, #0
|
|
bl sub_020E7F30
|
|
add r2, sp, #0
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_022020EC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02202150: .word _0221844C
|
|
arm_func_end ov00_0220211C
|
|
|
|
arm_func_start ov00_02202154
|
|
ov00_02202154: ; 0x02202154
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
mov r8, r1
|
|
mov r7, r0
|
|
mov r1, r2
|
|
mov r2, r3
|
|
mov r0, r8
|
|
mov r3, #0
|
|
ldr r6, [sp, #0x18]
|
|
ldr r5, [sp, #0x1c]
|
|
ldr r4, [sp, #0x20]
|
|
bl ov00_021FF970
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
bne _02202200
|
|
mov r0, r8
|
|
bl ov00_021FFA60
|
|
mvn r2, #5
|
|
cmp r0, r2
|
|
subne r1, r2, #0x14
|
|
cmpne r0, r1
|
|
subne r1, r2, #0x46
|
|
cmpne r0, r1
|
|
beq _022021F0
|
|
ldrsb r0, [r4]
|
|
cmp r0, #0x50
|
|
ldreqsb r0, [r4, #1]
|
|
cmpeq r0, #0x52
|
|
moveq r0, #3
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
ldr r2, _0220223C ; =_02218450
|
|
mov r0, r7
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r7
|
|
mov r1, #3
|
|
mov r2, #0
|
|
bl ov00_02202990
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_022021F0:
|
|
mov r0, #0
|
|
str r0, [r5]
|
|
str r0, [r6]
|
|
b _02202234
|
|
_02202200:
|
|
cmp r0, #0
|
|
strne r0, [r5]
|
|
movne r0, #0
|
|
strne r0, [r6]
|
|
bne _02202234
|
|
ldr r1, _02202240 ; =_02218478
|
|
mov r0, r7
|
|
mov r2, r4
|
|
bl ov00_0220A3BC
|
|
mov r0, #0
|
|
str r0, [r5]
|
|
mov r0, #1
|
|
str r0, [r6]
|
|
_02202234:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_0220223C: .word _02218450
|
|
_02202240: .word _02218478
|
|
arm_func_end ov00_02202154
|
|
|
|
arm_func_start ov00_02202244
|
|
ov00_02202244: ; 0x02202244
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x14
|
|
mov r4, r1
|
|
ldr r1, [r4, #0x28]
|
|
mov r5, r0
|
|
cmp r1, #0
|
|
bne _02202278
|
|
ldr r0, _02202314 ; =_0221849C
|
|
ldr r1, _02202318 ; =_02218410
|
|
ldr r2, _0220231C ; =_02218394
|
|
mov r3, #0xde
|
|
bl sub_020E4A9C
|
|
_02202278:
|
|
ldr r1, [r4, #0x30]
|
|
ldr r0, [r4, #0x34]
|
|
subs r0, r1, r0
|
|
bne _022022F4
|
|
ldr r0, [r4, #0x38]
|
|
bl ov00_021FE6E4
|
|
cmp r0, #0
|
|
bne _022022F4
|
|
add r0, sp, #0x10
|
|
str r0, [sp]
|
|
add r1, sp, #0xc
|
|
ldr r0, _02202320 ; =_022184C0
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r1, [r4, #8]
|
|
add r2, sp, #0x28
|
|
mov r0, r5
|
|
mov r3, #1
|
|
bl ov00_02202154
|
|
cmp r0, #0
|
|
addne sp, sp, #0x14
|
|
ldmneia sp!, {r4, r5, lr}
|
|
addne sp, sp, #0x10
|
|
bxne lr
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
addne sp, sp, #0x14
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, lr}
|
|
addne sp, sp, #0x10
|
|
bxne lr
|
|
_022022F4:
|
|
ldrsb r2, [sp, #0x28]
|
|
mov r0, r5
|
|
add r1, r4, #0x28
|
|
bl ov00_02201F48
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
.align 2, 0
|
|
_02202314: .word _0221849C
|
|
_02202318: .word _02218410
|
|
_0220231C: .word _02218394
|
|
_02202320: .word _022184C0
|
|
arm_func_end ov00_02202244
|
|
|
|
arm_func_start ov00_02202324
|
|
ov00_02202324: ; 0x02202324
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x14
|
|
mov sb, r1
|
|
ldr r1, [sb, #0x28]
|
|
mov sl, r0
|
|
mov r8, r2
|
|
mov r7, r3
|
|
cmp r1, #0
|
|
bne _0220235C
|
|
ldr r0, _02202414 ; =_0221849C
|
|
ldr r1, _02202418 ; =_02218410
|
|
ldr r2, _0220241C ; =_022183C0
|
|
mov r3, #0xfb
|
|
bl sub_020E4A9C
|
|
_0220235C:
|
|
cmp r7, #0
|
|
mov r6, #0
|
|
addeq sp, sp, #0x14
|
|
moveq r0, r6
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, [sb, #0x30]
|
|
ldr r0, [sb, #0x34]
|
|
subs r0, r1, r0
|
|
bne _022023E0
|
|
ldr r0, [sb, #0x38]
|
|
bl ov00_021FE6E4
|
|
cmp r0, #0
|
|
bne _022023E0
|
|
ldr fp, _02202420 ; =_022184C0
|
|
add r5, sp, #0x10
|
|
add r4, sp, #0xc
|
|
_0220239C:
|
|
str r5, [sp]
|
|
stmib sp, {r4, fp}
|
|
ldr r1, [sb, #8]
|
|
mov r0, sl
|
|
mov r3, r7
|
|
add r2, r8, r6
|
|
bl ov00_02202154
|
|
cmp r0, #0
|
|
addne sp, sp, #0x14
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
subne r7, r7, r0
|
|
addne r6, r6, r0
|
|
cmp r0, #0
|
|
cmpne r7, #0
|
|
bne _0220239C
|
|
_022023E0:
|
|
cmp r7, #0
|
|
beq _02202408
|
|
mov r0, sl
|
|
mov r3, r7
|
|
add r1, sb, #0x28
|
|
add r2, r8, r6
|
|
bl ov00_02201FE0
|
|
cmp r0, #0
|
|
addne sp, sp, #0x14
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02202408:
|
|
mov r0, #0
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02202414: .word _0221849C
|
|
_02202418: .word _02218410
|
|
_0220241C: .word _022183C0
|
|
_02202420: .word _022184C0
|
|
arm_func_end ov00_02202324
|
|
|
|
arm_func_start ov00_02202424
|
|
ov00_02202424: ; 0x02202424
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r4, r2
|
|
mov r6, r0
|
|
mov r5, r1
|
|
mov r0, r4
|
|
bl sub_020E9580
|
|
mov r3, r0
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r2, r4
|
|
bl ov00_02202324
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_02202424
|
|
|
|
arm_func_start ov00_02202454
|
|
ov00_02202454: ; 0x02202454
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x44]
|
|
mov sl, r1
|
|
mvn r1, #0
|
|
str r2, [sp, #4]
|
|
str r3, [sp, #8]
|
|
cmp sl, r1
|
|
str r0, [sp, #0x44]
|
|
bne _02202494
|
|
ldr r0, _02202648 ; =_022184C4
|
|
ldr r1, _0220264C ; =_02218410
|
|
ldr r2, _02202650 ; =_02218370
|
|
mov r3, #0x150
|
|
bl sub_020E4A9C
|
|
_02202494:
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #0
|
|
bne _022024B4
|
|
ldr r0, _02202654 ; =_022184DC
|
|
ldr r1, _0220264C ; =_02218410
|
|
ldr r2, _02202650 ; =_02218370
|
|
ldr r3, _02202658 ; =0x00000151
|
|
bl sub_020E4A9C
|
|
_022024B4:
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #0
|
|
bne _022024D4
|
|
ldr r0, _0220265C ; =_022184F0
|
|
ldr r1, _0220264C ; =_02218410
|
|
ldr r2, _02202650 ; =_02218370
|
|
ldr r3, _02202660 ; =0x00000152
|
|
bl sub_020E4A9C
|
|
_022024D4:
|
|
ldr r0, [sp, #0x40]
|
|
cmp r0, #0
|
|
bne _022024F4
|
|
ldr r0, _02202664 ; =_02218504
|
|
ldr r1, _0220264C ; =_02218410
|
|
ldr r2, _02202650 ; =_02218370
|
|
ldr r3, _02202668 ; =0x00000153
|
|
bl sub_020E4A9C
|
|
_022024F4:
|
|
ldr r0, [sp, #4]
|
|
mvn r4, #0
|
|
ldr r6, [r0, #8]
|
|
ldmia r0, {r5, r7}
|
|
sub r0, r4, #0x4b
|
|
str r0, [sp, #0x14]
|
|
sub r0, r4, #0x19
|
|
mov sb, #0
|
|
str r0, [sp, #0x10]
|
|
sub r0, r4, #5
|
|
mov fp, sb
|
|
str r0, [sp, #0xc]
|
|
_02202524:
|
|
add r0, r6, #0x800
|
|
cmp r0, r7
|
|
ble _02202560
|
|
mov r7, r0
|
|
add r1, r0, #1
|
|
mov r0, r5
|
|
bl ov00_021EC3BC
|
|
movs r5, r0
|
|
bne _02202560
|
|
ldr r1, _0220266C ; =_0221841C
|
|
ldr r0, [sp]
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x18
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02202560:
|
|
mov r0, sl
|
|
add r1, r5, r6
|
|
sub r2, r7, r6
|
|
mov r3, #0
|
|
bl ov00_021FF92C
|
|
mov r8, r0
|
|
cmp r8, r4
|
|
bne _022025BC
|
|
mov r0, sl
|
|
bl ov00_021FFA60
|
|
ldr r1, [sp, #0xc]
|
|
cmp r0, r1
|
|
ldrne r1, [sp, #0x10]
|
|
cmpne r0, r1
|
|
ldrne r1, [sp, #0x14]
|
|
cmpne r0, r1
|
|
beq _022025E0
|
|
ldr r1, _02202670 ; =_02218518
|
|
ldr r0, [sp]
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x18
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022025BC:
|
|
cmp r8, #0
|
|
addne r6, r6, r8
|
|
addne sb, sb, r8
|
|
bne _022025E0
|
|
ldr r0, [sp]
|
|
ldr r1, _02202674 ; =_02218544
|
|
ldr r2, [sp, #0x44]
|
|
mov fp, #1
|
|
bl ov00_0220A3BC
|
|
_022025E0:
|
|
mov r0, #0
|
|
cmp r8, r4
|
|
strb r0, [r5, r6]
|
|
beq _02202600
|
|
cmp fp, #0
|
|
bne _02202600
|
|
cmp sb, #0x20000
|
|
blt _02202524
|
|
_02202600:
|
|
cmp sb, #0
|
|
beq _0220261C
|
|
ldr r1, _02202678 ; =_02218568
|
|
ldr r0, [sp]
|
|
ldr r2, [sp, #0x44]
|
|
mov r3, sb
|
|
bl ov00_0220A3BC
|
|
_0220261C:
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #0x40]
|
|
str r5, [r0]
|
|
str r6, [r0, #8]
|
|
str r7, [r0, #4]
|
|
ldr r0, [sp, #8]
|
|
str sb, [r0]
|
|
str fp, [r1]
|
|
mov r0, #0
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02202648: .word _022184C4
|
|
_0220264C: .word _02218410
|
|
_02202650: .word _02218370
|
|
_02202654: .word _022184DC
|
|
_02202658: .word 0x00000151
|
|
_0220265C: .word _022184F0
|
|
_02202660: .word 0x00000152
|
|
_02202664: .word _02218504
|
|
_02202668: .word 0x00000153
|
|
_0220266C: .word _0221841C
|
|
_02202670: .word _02218518
|
|
_02202674: .word _02218544
|
|
_02202678: .word _02218568
|
|
arm_func_end ov00_02202454
|
|
|
|
arm_func_start ov00_0220267C
|
|
ov00_0220267C: ; 0x0220267C
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x1c
|
|
mov sl, r0
|
|
str r2, [sp, #0xc]
|
|
mov sb, r1
|
|
str r3, [sp, #0x10]
|
|
movs r0, r2
|
|
ldr r8, [sp, #0x44]
|
|
bne _022026B4
|
|
ldr r0, _022027D8 ; =_022183F8
|
|
ldr r1, _022027DC ; =_02218410
|
|
ldr r2, _022027E0 ; =_02218380
|
|
ldr r3, _022027E4 ; =0x000001B9
|
|
bl sub_020E4A9C
|
|
_022026B4:
|
|
ldr r0, [sp, #0xc]
|
|
mov r4, #0
|
|
ldr fp, [r0, #8]
|
|
ldr r7, [r0, #0xc]
|
|
ldr r6, [r0]
|
|
subs r5, fp, r7
|
|
addeq sp, sp, #0x1c
|
|
moveq r0, r4
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022026D8:
|
|
add r0, sp, #0x18
|
|
str r0, [sp]
|
|
add r1, r7, r4
|
|
add r0, sp, #0x14
|
|
str r0, [sp, #4]
|
|
add r2, r6, r1
|
|
mov r0, sl
|
|
mov r1, sb
|
|
mov r3, r5
|
|
str r8, [sp, #8]
|
|
bl ov00_02202154
|
|
cmp r0, #0
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
subne r5, r5, r0
|
|
addne r4, r4, r0
|
|
cmp r0, #0
|
|
cmpne r5, #0
|
|
bne _022026D8
|
|
ldr r0, [sp, #0x40]
|
|
cmp r0, #0
|
|
beq _02202758
|
|
cmp r4, #0
|
|
ble _0220275C
|
|
mov r0, r6
|
|
add r1, r6, r4
|
|
add r2, r5, #1
|
|
bl sub_020E5AF8
|
|
sub fp, fp, r4
|
|
b _0220275C
|
|
_02202758:
|
|
add r7, r7, r4
|
|
_0220275C:
|
|
cmp fp, #0
|
|
bge _02202778
|
|
ldr r0, _022027E8 ; =_0221857C
|
|
ldr r1, _022027DC ; =_02218410
|
|
ldr r2, _022027E0 ; =_02218380
|
|
ldr r3, _022027EC ; =0x000001DE
|
|
bl sub_020E4A9C
|
|
_02202778:
|
|
cmp r7, #0
|
|
bge _02202794
|
|
ldr r0, _022027F0 ; =_02218588
|
|
ldr r1, _022027DC ; =_02218410
|
|
ldr r2, _022027E0 ; =_02218380
|
|
ldr r3, _022027F4 ; =0x000001DF
|
|
bl sub_020E4A9C
|
|
_02202794:
|
|
cmp r7, fp
|
|
ble _022027B0
|
|
ldr r0, _022027F8 ; =_02218594
|
|
ldr r1, _022027DC ; =_02218410
|
|
ldr r2, _022027E0 ; =_02218380
|
|
mov r3, #0x1e0
|
|
bl sub_020E4A9C
|
|
_022027B0:
|
|
ldr r0, [sp, #0xc]
|
|
str fp, [r0, #8]
|
|
str r7, [r0, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
ldrne r1, [sp, #0x18]
|
|
strne r1, [r0]
|
|
mov r0, #0
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_022027D8: .word _022183F8
|
|
_022027DC: .word _02218410
|
|
_022027E0: .word _02218380
|
|
_022027E4: .word 0x000001B9
|
|
_022027E8: .word _0221857C
|
|
_022027EC: .word 0x000001DE
|
|
_022027F0: .word _02218588
|
|
_022027F4: .word 0x000001DF
|
|
_022027F8: .word _02218594
|
|
arm_func_end ov00_0220267C
|
|
|
|
arm_func_start ov00_022027FC
|
|
ov00_022027FC: ; 0x022027FC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x10
|
|
mov r5, r2
|
|
mov r0, #0
|
|
mov r6, r1
|
|
str r0, [r5]
|
|
ldr r1, [r6, #8]
|
|
mov r7, r3
|
|
cmp r1, #5
|
|
addlt sp, sp, #0x10
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r6]
|
|
mov r1, #0xa
|
|
bl sub_020E987C
|
|
movs r4, r0
|
|
beq _02202920
|
|
ldr r1, _0220292C ; =_022185A0
|
|
sub r0, r4, #5
|
|
mov r2, #5
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
addne sp, sp, #0x10
|
|
movne r0, #3
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
ldr r0, [r6]
|
|
ldr r1, _02202930 ; =_022185A8
|
|
add r2, sp, #0
|
|
mov r3, #0x10
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x10
|
|
moveq r0, #3
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
add r0, sp, #0
|
|
bl sub_020EB82C
|
|
str r0, [r7]
|
|
ldr r0, [r6]
|
|
ldr r1, _02202934 ; =_022185AC
|
|
add r2, sp, #0
|
|
mov r3, #0x10
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x10
|
|
moveq r0, #3
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
add r0, sp, #0
|
|
bl sub_020EB82C
|
|
ldr r2, [r6]
|
|
add r1, r0, #1
|
|
sub r2, r4, r2
|
|
ldr r3, [r6, #8]
|
|
add r2, r1, r2
|
|
cmp r3, r2
|
|
ble _02202918
|
|
ldrsb r2, [r4, r1]
|
|
cmp r2, #0
|
|
addne sp, sp, #0x10
|
|
movne r0, #3
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
add r3, r4, #1
|
|
ldr r2, [sp, #0x28]
|
|
str r3, [r5]
|
|
str r0, [r2]
|
|
ldr r0, [r6]
|
|
sub r0, r4, r0
|
|
add r0, r1, r0
|
|
add r0, r0, #1
|
|
str r0, [r6, #0xc]
|
|
b _02202920
|
|
_02202918:
|
|
mov r0, #0xa
|
|
strb r0, [r4]
|
|
_02202920:
|
|
mov r0, #0
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220292C: .word _022185A0
|
|
_02202930: .word _022185A8
|
|
_02202934: .word _022185AC
|
|
arm_func_end ov00_022027FC
|
|
|
|
arm_func_start ov00_02202938
|
|
ov00_02202938: ; 0x02202938
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r1
|
|
ldrne r0, [r4]
|
|
cmpne r0, #0
|
|
ldrne r1, [r4, #0xc]
|
|
cmpne r1, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, [r4, #8]
|
|
subs r2, r0, r1
|
|
str r2, [r4, #8]
|
|
beq _02202978
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, #0xc]
|
|
add r1, r0, r1
|
|
bl sub_020E5AF8
|
|
_02202978:
|
|
ldr r2, [r4]
|
|
ldr r1, [r4, #8]
|
|
mov r0, #0
|
|
strb r0, [r2, r1]
|
|
str r0, [r4, #0xc]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_02202938
|
|
|
|
arm_func_start ov00_02202990
|
|
ov00_02202990: ; 0x02202990
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x10
|
|
mov r4, r0
|
|
ldr r5, [r4]
|
|
mov r7, r1
|
|
mov r6, r2
|
|
cmp r5, #0
|
|
bne _022029C4
|
|
ldr r0, _02202A70 ; =_022185DC
|
|
ldr r1, _02202A74 ; =_022185F0
|
|
ldr r2, _02202A78 ; =_022185C4
|
|
mov r3, #0x23
|
|
bl sub_020E4A9C
|
|
_022029C4:
|
|
cmp r7, #0
|
|
bne _022029E0
|
|
ldr r0, _02202A7C ; =_02218600
|
|
ldr r1, _02202A74 ; =_022185F0
|
|
ldr r2, _02202A78 ; =_022185C4
|
|
mov r3, #0x24
|
|
bl sub_020E4A9C
|
|
_022029E0:
|
|
cmp r6, #1
|
|
cmpne r6, #0
|
|
beq _02202A00
|
|
ldr r0, _02202A80 ; =_02218618
|
|
ldr r1, _02202A74 ; =_022185F0
|
|
ldr r2, _02202A78 ; =_022185C4
|
|
mov r3, #0x25
|
|
bl sub_020E4A9C
|
|
_02202A00:
|
|
cmp r6, #1
|
|
moveq r0, #1
|
|
streq r0, [r5, #0x41c]
|
|
ldr r1, [r5, #0x1a4]
|
|
ldr r0, [r5, #0x1a8]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
cmp r1, #0
|
|
addeq sp, sp, #0x10
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, #0x10
|
|
bl ov00_021EC3A8
|
|
movs r3, r0
|
|
beq _02202A48
|
|
str r7, [r3]
|
|
str r6, [r3, #0xc]
|
|
ldr r0, [r5, #0x418]
|
|
stmib r3, {r0, r5}
|
|
_02202A48:
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r2, #1
|
|
add r1, sp, #8
|
|
str r2, [sp, #4]
|
|
mov r0, r4
|
|
ldmia r1, {r1, r2}
|
|
bl ov00_02202A84
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02202A70: .word _022185DC
|
|
_02202A74: .word _022185F0
|
|
_02202A78: .word _022185C4
|
|
_02202A7C: .word _02218600
|
|
_02202A80: .word _02218618
|
|
arm_func_end ov00_02202990
|
|
|
|
arm_func_start ov00_02202A84
|
|
ov00_02202A84: ; 0x02202A84
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r0, #0x18
|
|
mov r5, r3
|
|
ldr r4, [r6]
|
|
bl ov00_021EC3A8
|
|
cmp r0, #0
|
|
bne _02202AC4
|
|
ldr r1, _02202B24 ; =_02218648
|
|
mov r0, r6
|
|
bl ov00_0220A890
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
_02202AC4:
|
|
ldr r1, [sp, #0x14]
|
|
ldr r2, [sp, #0x18]
|
|
str r1, [r0]
|
|
ldr r1, [sp, #0x20]
|
|
stmib r0, {r2, r5}
|
|
cmp r1, #0
|
|
ldrne r1, [r1, #0x18]
|
|
ldr r2, [sp, #0x24]
|
|
moveq r1, #0
|
|
str r1, [r0, #0x10]
|
|
mov r1, #0
|
|
str r2, [r0, #0xc]
|
|
str r1, [r0, #0x14]
|
|
ldr r1, [r4, #0x438]
|
|
cmp r1, #0
|
|
streq r0, [r4, #0x438]
|
|
ldr r1, [r4, #0x43c]
|
|
cmp r1, #0
|
|
strne r0, [r1, #0x14]
|
|
str r0, [r4, #0x43c]
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
.align 2, 0
|
|
_02202B24: .word _02218648
|
|
arm_func_end ov00_02202A84
|
|
|
|
arm_func_start ov00_02202B28
|
|
ov00_02202B28: ; 0x02202B28
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
mov r7, r1
|
|
ldr r1, [r7]
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
bne _02202B54
|
|
ldr r0, _02202D10 ; =_02218658
|
|
ldr r1, _02202D14 ; =_022185F0
|
|
ldr r2, _02202D18 ; =_022185B4
|
|
mov r3, #0x6e
|
|
bl sub_020E4A9C
|
|
_02202B54:
|
|
ldr r0, [r7, #8]
|
|
cmp r0, #0
|
|
bne _02202B74
|
|
ldr r0, _02202D1C ; =_02218678
|
|
ldr r1, _02202D14 ; =_022185F0
|
|
ldr r2, _02202D18 ; =_022185B4
|
|
mov r3, #0x6f
|
|
bl sub_020E4A9C
|
|
_02202B74:
|
|
ldr r1, [r7, #8]
|
|
ldr r2, [r7, #4]
|
|
ldr r3, [r7]
|
|
mov r0, r4
|
|
blx r3
|
|
ldr r0, [r7, #0xc]
|
|
cmp r0, #2
|
|
bne _02202BB0
|
|
ldr r0, [r7, #8]
|
|
ldr r0, [r0, #8]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [r7, #8]
|
|
mov r1, #0
|
|
str r1, [r0, #8]
|
|
b _02202CF4
|
|
_02202BB0:
|
|
cmp r0, #3
|
|
bne _02202C30
|
|
ldr r6, [r7, #8]
|
|
mov r5, #0
|
|
ldr r0, [r6, #0x38]
|
|
cmp r0, #0
|
|
ble _02202C0C
|
|
mov r4, r5
|
|
mov r8, r5
|
|
_02202BD4:
|
|
ldr r0, [r6, #0x3c]
|
|
ldr r0, [r0, r5, lsl #2]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [r6, #0x3c]
|
|
str r4, [r0, r5, lsl #2]
|
|
ldr r0, [r6, #0x40]
|
|
ldr r0, [r0, r5, lsl #2]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [r6, #0x40]
|
|
str r8, [r0, r5, lsl #2]
|
|
ldr r0, [r6, #0x38]
|
|
add r5, r5, #1
|
|
cmp r5, r0
|
|
blt _02202BD4
|
|
_02202C0C:
|
|
ldr r0, [r6, #0x3c]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r6, #0x3c]
|
|
ldr r0, [r6, #0x40]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r6, #0x40]
|
|
b _02202CF4
|
|
_02202C30:
|
|
cmp r0, #4
|
|
bne _02202C50
|
|
ldr r4, [r7, #8]
|
|
ldr r0, [r4, #0xc]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0xc]
|
|
b _02202CF4
|
|
_02202C50:
|
|
cmp r0, #7
|
|
bne _02202C78
|
|
ldr r4, [r7, #8]
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
beq _02202CF4
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0x10]
|
|
b _02202CF4
|
|
_02202C78:
|
|
cmp r0, #8
|
|
bne _02202CA0
|
|
ldr r4, [r7, #8]
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
beq _02202CF4
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
b _02202CF4
|
|
_02202CA0:
|
|
cmp r0, #9
|
|
bne _02202CF4
|
|
ldr r5, [r7, #8]
|
|
mov r4, #0
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
ble _02202CE4
|
|
mov r6, r4
|
|
_02202CC0:
|
|
ldr r0, [r5, #8]
|
|
ldr r0, [r0, r4, lsl #2]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [r5, #8]
|
|
str r6, [r0, r4, lsl #2]
|
|
ldr r0, [r5, #4]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _02202CC0
|
|
_02202CE4:
|
|
ldr r0, [r5, #8]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r5, #8]
|
|
_02202CF4:
|
|
ldr r0, [r7, #8]
|
|
bl ov00_021EC3D8
|
|
mov r1, #0
|
|
mov r0, r7
|
|
str r1, [r7, #8]
|
|
bl ov00_021EC3D8
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_02202D10: .word _02218658
|
|
_02202D14: .word _022185F0
|
|
_02202D18: .word _022185B4
|
|
_02202D1C: .word _02218678
|
|
arm_func_end ov00_02202B28
|
|
|
|
arm_func_start ov00_02202D20
|
|
ov00_02202D20: ; 0x02202D20
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
mov sl, r0
|
|
movs sb, r1
|
|
ldr r4, [sl]
|
|
beq _02202DBC
|
|
ldr r5, [r4, #0x438]
|
|
ldr r6, [r4, #0x43c]
|
|
mov r7, #0
|
|
str r7, [r4, #0x438]
|
|
mov r1, r5
|
|
str r7, [r4, #0x43c]
|
|
cmp r5, #0
|
|
beq _02202D9C
|
|
_02202D54:
|
|
ldr r0, [r1, #0x10]
|
|
ldr r8, [r1, #0x14]
|
|
cmp r0, sb
|
|
ldrne r0, [r1, #0xc]
|
|
cmpne r0, #1
|
|
bne _02202D8C
|
|
mov r0, sl
|
|
cmp r7, #0
|
|
strne r8, [r7, #0x14]
|
|
moveq r5, r8
|
|
cmp r6, r1
|
|
moveq r6, r7
|
|
bl ov00_02202B28
|
|
b _02202D90
|
|
_02202D8C:
|
|
mov r7, r1
|
|
_02202D90:
|
|
mov r1, r8
|
|
cmp r8, #0
|
|
bne _02202D54
|
|
_02202D9C:
|
|
ldr r0, [r4, #0x438]
|
|
cmp r0, #0
|
|
ldrne r0, [r4, #0x43c]
|
|
strne r5, [r0, #0x14]
|
|
streq r5, [r4, #0x438]
|
|
str r6, [r4, #0x43c]
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_02202DBC:
|
|
ldr r1, [r4, #0x438]
|
|
cmp r1, #0
|
|
beq _02202E00
|
|
mov r5, #0
|
|
_02202DCC:
|
|
str r5, [r4, #0x438]
|
|
str r5, [r4, #0x43c]
|
|
cmp r1, #0
|
|
beq _02202DF4
|
|
_02202DDC:
|
|
ldr r6, [r1, #0x14]
|
|
mov r0, sl
|
|
bl ov00_02202B28
|
|
mov r1, r6
|
|
cmp r6, #0
|
|
bne _02202DDC
|
|
_02202DF4:
|
|
ldr r1, [r4, #0x438]
|
|
cmp r1, #0
|
|
bne _02202DCC
|
|
_02202E00:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
arm_func_end ov00_02202D20
|
|
|
|
arm_func_start ov00_02202E08
|
|
ov00_02202E08: ; 0x02202E08
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
mov r8, r1
|
|
mov sb, r0
|
|
cmp r8, #0
|
|
mov r7, #0
|
|
ble _02202E5C
|
|
ldr r6, _02202E68 ; =_022186EC
|
|
ldr r5, _02202E6C ; =0x08421085
|
|
mov r4, #0x3e
|
|
_02202E2C:
|
|
bl sub_020E80C0
|
|
umull r1, r2, r0, r5
|
|
sub r1, r0, r2
|
|
add r2, r2, r1, lsr #1
|
|
mov r2, r2, lsr #5
|
|
umull r1, r2, r4, r2
|
|
sub r2, r0, r1
|
|
ldrsb r0, [r6, r2]
|
|
strb r0, [sb, r7]
|
|
add r7, r7, #1
|
|
cmp r7, r8
|
|
blt _02202E2C
|
|
_02202E5C:
|
|
mov r0, #0
|
|
strb r0, [sb, r7]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_02202E68: .word _022186EC
|
|
_02202E6C: .word 0x08421085
|
|
arm_func_end ov00_02202E08
|
|
|
|
arm_func_start ov00_02202E70
|
|
ov00_02202E70: ; 0x02202E70
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0xc
|
|
mov r6, r0
|
|
ldr r4, [r6]
|
|
mov r5, r1
|
|
ldr r0, [r4, #0x10c]
|
|
cmp r0, #0
|
|
bne _02203010
|
|
mov r0, #2
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov00_021FF804
|
|
mvn r1, #0
|
|
str r0, [r4, #0x204]
|
|
cmp r0, r1
|
|
bne _02202EDC
|
|
ldr r2, _022031B4 ; =_0221872C
|
|
mov r0, r6
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r6
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0xc
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_02202EDC:
|
|
mov r1, #0
|
|
bl ov00_021FF44C
|
|
cmp r0, #0
|
|
bne _02202F18
|
|
ldr r2, _022031B8 ; =_02218754
|
|
mov r0, r6
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r6
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0xc
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_02202F18:
|
|
add r1, sp, #4
|
|
mov r2, #0
|
|
str r2, [r1]
|
|
mov r0, #2
|
|
str r2, [r1, #4]
|
|
strb r0, [sp, #5]
|
|
ldr r0, [r4, #0x204]
|
|
mov r2, #8
|
|
bl ov00_021FF840
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
mov r1, #5
|
|
bne _02202F74
|
|
ldr r2, _022031BC ; =_02218788
|
|
mov r0, r6
|
|
bl ov00_0220A86C
|
|
mov r0, r6
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0xc
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_02202F74:
|
|
ldr r0, [r4, #0x204]
|
|
bl ov00_021FF8EC
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
bne _02202FB4
|
|
ldr r2, _022031C0 ; =_022187B0
|
|
mov r0, r6
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r6
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0xc
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_02202FB4:
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0x204]
|
|
add r1, sp, #4
|
|
add r2, sp, #0
|
|
bl ov00_021FFA18
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
bne _02203004
|
|
ldr r2, _022031C4 ; =_022187DC
|
|
mov r0, r6
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r6
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0xc
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_02203004:
|
|
ldrh r0, [sp, #6]
|
|
str r0, [r4, #0x208]
|
|
b _02203020
|
|
_02203010:
|
|
mvn r0, #0
|
|
str r0, [r4, #0x204]
|
|
mov r0, #0
|
|
str r0, [r4, #0x208]
|
|
_02203020:
|
|
mov r0, #2
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov00_021FF804
|
|
mvn r1, #0
|
|
str r0, [r4, #0x1d4]
|
|
cmp r0, r1
|
|
bne _0220306C
|
|
ldr r2, _022031B4 ; =_0221872C
|
|
mov r0, r6
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r6
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0xc
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_0220306C:
|
|
mov r1, #0
|
|
bl ov00_021FF44C
|
|
cmp r0, #0
|
|
bne _022030A8
|
|
ldr r2, _022031B8 ; =_02218754
|
|
mov r0, r6
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r6
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0xc
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_022030A8:
|
|
ldr r0, _022031C8 ; =_022186AC
|
|
bl sub_020A30D4
|
|
cmp r0, #0
|
|
bne _022030E4
|
|
ldr r2, _022031CC ; =_0221880C
|
|
mov r0, r6
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r6
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0xc
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_022030E4:
|
|
add r3, sp, #4
|
|
mov r2, #0
|
|
str r2, [r3]
|
|
mov r1, #2
|
|
str r2, [r3, #4]
|
|
strb r1, [sp, #5]
|
|
ldr r0, [r0, #0xc]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
str r0, [sp, #8]
|
|
cmp r0, #0
|
|
bne _02203128
|
|
ldr r0, _022031D0 ; =_02218840
|
|
ldr r1, _022031D4 ; =_02218860
|
|
ldr r2, _022031D8 ; =_0221868C
|
|
mov r3, #0x90
|
|
bl sub_020E4A9C
|
|
_02203128:
|
|
ldr r0, _022031DC ; =0x0000CC74
|
|
add r1, sp, #4
|
|
strh r0, [sp, #6]
|
|
ldr r0, [r4, #0x1d4]
|
|
mov r2, #8
|
|
bl ov00_021FF8A0
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
bne _0220319C
|
|
ldr r0, [r4, #0x1d4]
|
|
bl ov00_021FFA60
|
|
mvn r2, #5
|
|
cmp r0, r2
|
|
subne r1, r2, #0x14
|
|
cmpne r0, r1
|
|
subne r1, r2, #0x46
|
|
cmpne r0, r1
|
|
beq _0220319C
|
|
ldr r2, _022031E0 ; =_02218870
|
|
mov r0, r6
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r6
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0xc
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_0220319C:
|
|
mov r0, #1
|
|
str r0, [r5, #0x14]
|
|
str r0, [r4, #0x1d8]
|
|
mov r0, #0
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_022031B4: .word _0221872C
|
|
_022031B8: .word _02218754
|
|
_022031BC: .word _02218788
|
|
_022031C0: .word _022187B0
|
|
_022031C4: .word _022187DC
|
|
_022031C8: .word _022186AC
|
|
_022031CC: .word _0221880C
|
|
_022031D0: .word _02218840
|
|
_022031D4: .word _02218860
|
|
_022031D8: .word _0221868C
|
|
_022031DC: .word 0x0000CC74
|
|
_022031E0: .word _02218870
|
|
arm_func_end ov00_02202E70
|
|
|
|
arm_func_start ov00_022031E4
|
|
ov00_022031E4: ; 0x022031E4
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x10
|
|
mov r8, r0
|
|
ldr r4, [r8]
|
|
mov r7, r1
|
|
ldr r1, [r4, #0x1d8]
|
|
mov r6, r2
|
|
mov r5, r3
|
|
cmp r1, #4
|
|
bne _0220321C
|
|
bl ov00_02200A98
|
|
cmp r0, #0
|
|
addne sp, sp, #0x10
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_0220321C:
|
|
ldr r0, [r4, #0x1d8]
|
|
cmp r0, #0
|
|
beq _02203240
|
|
ldr r1, _0220341C ; =_02218898
|
|
mov r0, r8
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x10
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02203240:
|
|
ldr r0, [sp, #0x38]
|
|
cmp r0, #0
|
|
beq _02203260
|
|
cmp r0, #1
|
|
bne _0220326C
|
|
mov r0, #1
|
|
str r0, [r4, #0x10c]
|
|
b _02203284
|
|
_02203260:
|
|
mov r0, #0
|
|
str r0, [r4, #0x10c]
|
|
b _02203284
|
|
_0220326C:
|
|
ldr r1, _02203420 ; =_022188AC
|
|
mov r0, r8
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x10
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02203284:
|
|
mov r3, #1
|
|
mov r1, r7
|
|
add r0, r4, #0x110
|
|
mov r2, #0x1f
|
|
str r3, [r4, #0x10c]
|
|
bl ov00_0220A348
|
|
add r0, r4, #0x2f
|
|
mov r1, r6
|
|
add r0, r0, #0x100
|
|
mov r2, #0x15
|
|
bl ov00_0220A348
|
|
mov r1, r5
|
|
add r0, r4, #0x144
|
|
mov r2, #0x33
|
|
bl ov00_0220A348
|
|
add r0, r4, #0x77
|
|
ldr r1, [sp, #0x28]
|
|
add r0, r0, #0x100
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
add r0, r4, #0x144
|
|
bl ov00_021FF408
|
|
mov r0, #0x308
|
|
bl ov00_021EC3A8
|
|
movs r4, r0
|
|
bne _02203304
|
|
ldr r1, _02203424 ; =_022188C0
|
|
mov r0, r8
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x10
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02203304:
|
|
mov r1, #0
|
|
mov r2, #0x308
|
|
bl sub_020E5B44
|
|
ldr r0, [sp, #0x3c]
|
|
ldr r1, [sp, #0x2c]
|
|
str r0, [r4, #0x304]
|
|
ldrsb r0, [r1]
|
|
cmp r0, #0
|
|
ldrne r0, [sp, #0x30]
|
|
ldrnesb r0, [r0]
|
|
cmpne r0, #0
|
|
beq _02203354
|
|
add r0, r4, #0xc2
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
add r0, r4, #0xc2
|
|
ldr r1, [sp, #0x30]
|
|
add r0, r0, #0x100
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
_02203354:
|
|
ldr r1, [sp, #0x34]
|
|
cmp r1, #0
|
|
beq _02203370
|
|
add r0, r4, #0xc2
|
|
add r0, r0, #0x200
|
|
mov r2, #0x41
|
|
bl ov00_0220A348
|
|
_02203370:
|
|
ldr r1, [sp, #0x40]
|
|
ldr r0, [sp, #0x44]
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r5, [sp, #0x48]
|
|
add r3, sp, #0xc
|
|
mov r0, r8
|
|
mov r2, r4
|
|
mov r1, #0
|
|
str r5, [sp, #8]
|
|
bl ov00_0220657C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x10
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
ldr r1, [sp, #0xc]
|
|
mov r0, r8
|
|
bl ov00_02202E70
|
|
movs r4, r0
|
|
beq _022033E8
|
|
ldr r1, [sp, #0xc]
|
|
mov r0, r8
|
|
str r4, [r1, #0x1c]
|
|
ldr r1, [sp, #0xc]
|
|
bl ov00_02206230
|
|
mov r0, r8
|
|
mov r1, #0
|
|
bl ov00_02204284
|
|
add sp, sp, #0x10
|
|
mov r0, r4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_022033E8:
|
|
ldr r1, [sp, #0xc]
|
|
ldr r0, [r1, #8]
|
|
cmp r0, #0
|
|
beq _02203410
|
|
ldr r1, [r1, #0x18]
|
|
mov r0, r8
|
|
bl ov00_02200ED8
|
|
cmp r0, #0
|
|
addne sp, sp, #0x10
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02203410:
|
|
mov r0, #0
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_0220341C: .word _02218898
|
|
_02203420: .word _022188AC
|
|
_02203424: .word _022188C0
|
|
arm_func_end ov00_022031E4
|
|
|
|
arm_func_start ov00_02203428
|
|
ov00_02203428: ; 0x02203428
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x288
|
|
mov r5, r1
|
|
mov r6, r0
|
|
add r0, r5, #0x80
|
|
mov r1, #0x20
|
|
ldr r4, [r6]
|
|
bl ov00_02202E08
|
|
add r0, r5, #0x100
|
|
ldrsb r0, [r0, #0xc2]
|
|
cmp r0, #0
|
|
addne r0, r5, #0xc2
|
|
addeq r0, r4, #0x77
|
|
add r7, r0, #0x100
|
|
mov r0, r7
|
|
bl sub_020E9580
|
|
mov r1, r0
|
|
mov r0, r7
|
|
add r2, r5, #0xa1
|
|
bl ov00_021FF31C
|
|
ldrsb r0, [r5, #0xc2]
|
|
cmp r0, #0
|
|
addne r0, r5, #0xc2
|
|
bne _022034B8
|
|
add r0, r4, #0x100
|
|
ldrsb r0, [r0, #0x2f]
|
|
cmp r0, #0
|
|
addne r0, r4, #0x2f
|
|
addne r0, r0, #0x100
|
|
bne _022034B8
|
|
ldr r1, _0220377C ; =_022188D0
|
|
add r0, sp, #0x35
|
|
add r2, r4, #0x110
|
|
add r3, r4, #0x144
|
|
bl sub_020E7F30
|
|
add r0, sp, #0x35
|
|
_022034B8:
|
|
str r0, [sp]
|
|
add r0, r5, #0x80
|
|
str r0, [sp, #4]
|
|
ldr r1, _02203780 ; =_022188D8
|
|
ldr r3, _02203784 ; =_022188E8
|
|
add r0, sp, #0x87
|
|
str r5, [sp, #8]
|
|
add r2, r5, #0xa1
|
|
str r2, [sp, #0xc]
|
|
bl sub_020E7F30
|
|
add r0, sp, #0x87
|
|
bl sub_020E9580
|
|
mov r1, r0
|
|
add r0, sp, #0x87
|
|
add r2, sp, #0x14
|
|
bl ov00_021FF31C
|
|
ldr r0, [r4, #0x100]
|
|
cmp r0, #0
|
|
beq _02203538
|
|
add r3, sp, #0x10
|
|
mov r0, r6
|
|
add r1, r4, #0x110
|
|
add r2, r4, #0x144
|
|
bl ov00_02207EB4
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
beq _02203538
|
|
ldr r0, [r0, #4]
|
|
str r0, [r4, #0x19c]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r0, [r0]
|
|
str r0, [r4, #0x1a0]
|
|
_02203538:
|
|
ldr r2, _02203788 ; =_0221891C
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, _0220378C ; =_02218924
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
add r2, r5, #0x80
|
|
bl ov00_022020EC
|
|
ldrsb r0, [r5, #0xc2]
|
|
cmp r0, #0
|
|
beq _02203598
|
|
ldr r2, _02203790 ; =_02218930
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
add r2, r5, #0xc2
|
|
bl ov00_022020EC
|
|
b _02203610
|
|
_02203598:
|
|
add r0, r4, #0x100
|
|
ldrsb r0, [r0, #0x2f]
|
|
cmp r0, #0
|
|
beq _022035D0
|
|
ldr r2, _02203794 ; =_0221893C
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
add r2, r4, #0x2f
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
add r2, r2, #0x100
|
|
bl ov00_022020EC
|
|
b _02203610
|
|
_022035D0:
|
|
ldr r2, _02203798 ; =_0221894C
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
add r2, r4, #0x110
|
|
bl ov00_022020EC
|
|
ldr r2, _0220379C ; =_02218954
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
add r2, r4, #0x144
|
|
bl ov00_022020EC
|
|
_02203610:
|
|
ldr r0, [r4, #0x19c]
|
|
cmp r0, #0
|
|
beq _0220363C
|
|
ldr r2, _022037A0 ; =_02218958
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, [r4, #0x19c]
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_0220211C
|
|
_0220363C:
|
|
ldr r0, [r4, #0x1a0]
|
|
cmp r0, #0
|
|
beq _02203668
|
|
ldr r2, _022037A4 ; =_02218964
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, [r4, #0x1a0]
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_0220211C
|
|
_02203668:
|
|
ldr r2, _022037A8 ; =_02218970
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
add r2, sp, #0x14
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r0, [r4, #0x10c]
|
|
cmp r0, #1
|
|
bne _022036A4
|
|
ldr r2, _022037AC ; =_0221897C
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
_022036A4:
|
|
ldr r2, _022037B0 ; =_02218988
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r1, [r4, #0x208]
|
|
mov r0, r6
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, lsr #0x10
|
|
mov r2, r1, asr #8
|
|
mov r1, r1, lsl #8
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
orr r1, r2, r1
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, lsr #0x10
|
|
mov r2, r1, lsl #0x10
|
|
add r1, r4, #0x1f4
|
|
mov r2, r2, asr #0x10
|
|
bl ov00_0220211C
|
|
ldr r2, _022037B4 ; =_02218990
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, [r4, #0x46c]
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
bl ov00_0220211C
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
ldr r2, _022037B8 ; =_0221899C
|
|
bl ov00_022020EC
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
ldr r2, _022037BC ; =_0221B16C
|
|
bl ov00_022020EC
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
ldr r2, _022037C0 ; =_022189A8
|
|
bl ov00_022020EC
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
ldr r2, [r4, #0x470]
|
|
bl ov00_0220211C
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
ldr r2, _022037C4 ; =_022189B8
|
|
bl ov00_022020EC
|
|
mov r0, r6
|
|
add r1, r4, #0x1f4
|
|
ldr r2, _022037C8 ; =_022189C0
|
|
bl ov00_022020EC
|
|
mov r0, #0
|
|
add sp, sp, #0x288
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220377C: .word _022188D0
|
|
_02203780: .word _022188D8
|
|
_02203784: .word _022188E8
|
|
_02203788: .word _0221891C
|
|
_0220378C: .word _02218924
|
|
_02203790: .word _02218930
|
|
_02203794: .word _0221893C
|
|
_02203798: .word _0221894C
|
|
_0220379C: .word _02218954
|
|
_022037A0: .word _02218958
|
|
_022037A4: .word _02218964
|
|
_022037A8: .word _02218970
|
|
_022037AC: .word _0221897C
|
|
_022037B0: .word _02218988
|
|
_022037B4: .word _02218990
|
|
_022037B8: .word _0221899C
|
|
_022037BC: .word _0221B16C
|
|
_022037C0: .word _022189A8
|
|
_022037C4: .word _022189B8
|
|
_022037C8: .word _022189C0
|
|
arm_func_end ov00_02203428
|
|
|
|
arm_func_start ov00_022037CC
|
|
ov00_022037CC: ; 0x022037CC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0xe8
|
|
mov sl, r0
|
|
ldr r5, [sl]
|
|
mov sb, r1
|
|
add r0, r5, #0x77
|
|
add r0, r0, #0x100
|
|
bl sub_020E9580
|
|
mov r7, r0
|
|
ldr r0, _02203A24 ; =0x79707367
|
|
bl ov00_021FFB40
|
|
cmp r7, #0
|
|
mov r6, #0
|
|
bls _02203840
|
|
add r8, sp, #0x2d
|
|
mov r4, r6
|
|
mov fp, #0xff
|
|
_02203810:
|
|
mov r0, r4
|
|
mov r1, fp
|
|
bl ov00_021FFB5C
|
|
add r1, r5, r6
|
|
add r1, r1, #0x100
|
|
add r6, r6, #1
|
|
ldrsb r1, [r1, #0x77]
|
|
mov r0, r0, lsl #0x18
|
|
cmp r6, r7
|
|
eor r0, r1, r0, asr #24
|
|
strb r0, [r8], #1
|
|
blo _02203810
|
|
_02203840:
|
|
add r0, sp, #0x2d
|
|
mov r4, #0
|
|
add r1, sp, #0
|
|
mov r2, r7
|
|
mov r3, #1
|
|
strb r4, [r0, r6]
|
|
bl ov00_021FFC18
|
|
ldr r2, _02203A28 ; =_022189C8
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, _02203A2C ; =_022189D4
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
add r2, r5, #0x144
|
|
bl ov00_022020EC
|
|
ldr r2, _02203A30 ; =_022189DC
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
add r2, r5, #0x110
|
|
bl ov00_022020EC
|
|
ldr r2, _02203A34 ; =_022189E4
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
add r2, sp, #0
|
|
bl ov00_022020EC
|
|
ldr r2, _02203A38 ; =_02218990
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, [r5, #0x46c]
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
bl ov00_0220211C
|
|
ldr r2, _02203A3C ; =_0221899C
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, _02203A40 ; =_0221B16C
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, _02203A44 ; =_022189A8
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, [r5, #0x470]
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
bl ov00_0220211C
|
|
ldr r2, _02203A48 ; =_0221893C
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
bl ov00_022020EC
|
|
add r2, r5, #0x2f
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
add r2, r2, #0x100
|
|
bl ov00_022020EC
|
|
add r0, sb, #0x200
|
|
ldrsb r0, [r0, #0xc2]
|
|
cmp r0, #0
|
|
beq _022039F8
|
|
add r0, sb, #0xc2
|
|
add r0, r0, #0x200
|
|
bl sub_020E9580
|
|
mov r6, r0
|
|
ldr r0, _02203A24 ; =0x79707367
|
|
bl ov00_021FFB40
|
|
cmp r6, #0
|
|
mov r8, r4
|
|
bls _022039BC
|
|
add r7, sp, #0xa6
|
|
mov fp, #0xff
|
|
_0220398C:
|
|
mov r0, r4
|
|
mov r1, fp
|
|
bl ov00_021FFB5C
|
|
add r1, sb, r8
|
|
add r1, r1, #0x200
|
|
add r8, r8, #1
|
|
ldrsb r1, [r1, #0xc2]
|
|
mov r0, r0, lsl #0x18
|
|
cmp r8, r6
|
|
eor r0, r1, r0, asr #24
|
|
strb r0, [r7], #1
|
|
blo _0220398C
|
|
_022039BC:
|
|
add r0, sp, #0xa6
|
|
mov r4, #0
|
|
add r1, sp, #0x4c
|
|
mov r2, r6
|
|
mov r3, #1
|
|
strb r4, [r0, r8]
|
|
bl ov00_021FFC18
|
|
ldr r2, _02203A4C ; =_022189F4
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
bl ov00_022020EC
|
|
add r2, sp, #0x4c
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
bl ov00_022020EC
|
|
_022039F8:
|
|
ldr r2, _02203A50 ; =_022189B8
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, _02203A54 ; =_022189C0
|
|
mov r0, sl
|
|
add r1, r5, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r0, #0
|
|
add sp, sp, #0xe8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02203A24: .word 0x79707367
|
|
_02203A28: .word _022189C8
|
|
_02203A2C: .word _022189D4
|
|
_02203A30: .word _022189DC
|
|
_02203A34: .word _022189E4
|
|
_02203A38: .word _02218990
|
|
_02203A3C: .word _0221899C
|
|
_02203A40: .word _0221B16C
|
|
_02203A44: .word _022189A8
|
|
_02203A48: .word _0221893C
|
|
_02203A4C: .word _022189F4
|
|
_02203A50: .word _022189B8
|
|
_02203A54: .word _022189C0
|
|
arm_func_end ov00_022037CC
|
|
|
|
arm_func_start ov00_02203A58
|
|
ov00_02203A58: ; 0x02203A58
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x2a0
|
|
mov r6, r2
|
|
mov r8, r0
|
|
mov r7, r1
|
|
mov r1, r6
|
|
mov r2, #0
|
|
ldr r5, [r8]
|
|
bl ov00_0220A3C8
|
|
cmp r0, #0
|
|
beq _02203B50
|
|
ldr r2, [r5, #0x418]
|
|
ldr r0, _022040C8 ; =0x00000106
|
|
cmp r2, r0
|
|
bne _02203AB8
|
|
ldr r1, [r5, #0x1a0]
|
|
cmp r1, #0
|
|
beq _02203AB8
|
|
mov r0, r8
|
|
bl ov00_02207E0C
|
|
mov r0, #0
|
|
str r0, [r5, #0x19c]
|
|
str r0, [r5, #0x1a0]
|
|
b _02203AEC
|
|
_02203AB8:
|
|
ldr r0, _022040CC ; =0x00000201
|
|
cmp r2, r0
|
|
bne _02203AEC
|
|
ldr r1, _022040D0 ; =_02218A00
|
|
add r2, sp, #0xa0
|
|
mov r0, r6
|
|
mov r3, #0x200
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
beq _02203AEC
|
|
add r0, sp, #0xa0
|
|
bl sub_020EB82C
|
|
str r0, [r5, #0x1a0]
|
|
_02203AEC:
|
|
ldr r1, _022040D4 ; =_02218A08
|
|
mov r0, r6
|
|
bl sub_020E9AD0
|
|
cmp r0, #0
|
|
ldr r1, [r5, #0x418]
|
|
mov r0, r8
|
|
beq _02203B2C
|
|
mov r2, r5
|
|
bl ov00_0220A86C
|
|
mov r0, r8
|
|
mov r1, #4
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x2a0
|
|
mov r0, #4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02203B2C:
|
|
mov r2, r5
|
|
bl ov00_0220A86C
|
|
mov r0, r8
|
|
mov r1, #4
|
|
mov r2, #0
|
|
bl ov00_02202990
|
|
add sp, sp, #0x2a0
|
|
mov r0, #4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02203B50:
|
|
ldr r0, [r7, #0x14]
|
|
ldr r4, [r7, #4]
|
|
cmp r0, #1
|
|
beq _02203B74
|
|
cmp r0, #2
|
|
beq _02203D5C
|
|
cmp r0, #3
|
|
beq _02203C4C
|
|
b _022040BC
|
|
_02203B74:
|
|
ldr r1, _022040D8 ; =_02218A10
|
|
mov r0, r6
|
|
mov r2, #5
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
beq _02203BB8
|
|
ldr r2, _022040DC ; =_02218A18
|
|
mov r0, r8
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, r8
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x2a0
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02203BB8:
|
|
ldr r1, _022040E0 ; =_02218924
|
|
mov r0, r6
|
|
mov r2, r4
|
|
mov r3, #0x80
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _02203C00
|
|
ldr r2, _022040DC ; =_02218A18
|
|
mov r0, r8
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, r8
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x2a0
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02203C00:
|
|
ldr r0, [r4, #0x304]
|
|
mov r1, r4
|
|
cmp r0, #0
|
|
mov r0, r8
|
|
beq _02203C30
|
|
bl ov00_022037CC
|
|
cmp r0, #0
|
|
addne sp, sp, #0x2a0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
mov r0, #3
|
|
str r0, [r7, #0x14]
|
|
b _022040BC
|
|
_02203C30:
|
|
bl ov00_02203428
|
|
cmp r0, #0
|
|
addne sp, sp, #0x2a0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
mov r0, #2
|
|
str r0, [r7, #0x14]
|
|
b _022040BC
|
|
_02203C4C:
|
|
ldr r1, _022040E4 ; =_02218A48
|
|
mov r0, r6
|
|
mov r2, #5
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
beq _02203C90
|
|
ldr r2, _022040DC ; =_02218A18
|
|
mov r0, r8
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, r8
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x2a0
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02203C90:
|
|
ldr r1, _022040E8 ; =_02218958
|
|
add r2, sp, #0xa0
|
|
mov r0, r6
|
|
mov r3, #0x200
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _02203CD8
|
|
ldr r2, _022040EC ; =_02218A50
|
|
mov r0, r8
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, r8
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x2a0
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02203CD8:
|
|
add r0, sp, #0xa0
|
|
bl sub_020EB82C
|
|
str r0, [r5, #0x19c]
|
|
ldr r1, _022040F0 ; =_02218964
|
|
add r2, sp, #0xa0
|
|
mov r0, r6
|
|
mov r3, #0x200
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _02203D2C
|
|
ldr r2, _022040EC ; =_02218A50
|
|
mov r0, r8
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, r8
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x2a0
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02203D2C:
|
|
add r0, sp, #0xa0
|
|
bl sub_020EB82C
|
|
str r0, [r5, #0x1a0]
|
|
mov r0, r8
|
|
mov r1, r4
|
|
bl ov00_02203428
|
|
cmp r0, #0
|
|
addne sp, sp, #0x2a0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
mov r0, #2
|
|
str r0, [r7, #0x14]
|
|
b _022040BC
|
|
_02203D5C:
|
|
ldr r1, _022040F4 ; =_02218A80
|
|
mov r0, r6
|
|
mov r2, #5
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
beq _02203DA0
|
|
ldr r2, _022040DC ; =_02218A18
|
|
mov r0, r8
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, r8
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x2a0
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02203DA0:
|
|
ldr r1, _022040F8 ; =_02218A88
|
|
add r2, sp, #0xa0
|
|
mov r0, r6
|
|
mov r3, #0x200
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _02203DE8
|
|
ldr r2, _022040EC ; =_02218A50
|
|
mov r0, r8
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, r8
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x2a0
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02203DE8:
|
|
add r0, sp, #0xa0
|
|
bl sub_020EB82C
|
|
str r0, [r5, #0x198]
|
|
ldr r1, _022040E8 ; =_02218958
|
|
add r2, sp, #0xa0
|
|
mov r0, r6
|
|
mov r3, #0x200
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _02203E3C
|
|
ldr r2, _022040EC ; =_02218A50
|
|
mov r0, r8
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, r8
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x2a0
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02203E3C:
|
|
add r0, sp, #0xa0
|
|
bl sub_020EB82C
|
|
str r0, [r5, #0x19c]
|
|
ldr r1, _022040F0 ; =_02218964
|
|
add r2, sp, #0xa0
|
|
mov r0, r6
|
|
mov r3, #0x200
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _02203E90
|
|
ldr r2, _022040EC ; =_02218A50
|
|
mov r0, r8
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, r8
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x2a0
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02203E90:
|
|
add r0, sp, #0xa0
|
|
bl sub_020EB82C
|
|
str r0, [r5, #0x1a0]
|
|
ldr r1, _022040FC ; =_0221893C
|
|
add r2, sp, #0x18
|
|
mov r0, r6
|
|
mov r3, #0x15
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
add r2, r5, #0x74
|
|
streqb r0, [sp, #0x18]
|
|
ldr r1, _02204100 ; =_02218A94
|
|
mov r0, r6
|
|
add r2, r2, #0x400
|
|
mov r3, #0x19
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streqb r0, [r5, #0x474]
|
|
ldrsb r0, [r4, #0xc2]
|
|
cmp r0, #0
|
|
addne r0, r4, #0xc2
|
|
bne _02203F20
|
|
add r0, r5, #0x100
|
|
ldrsb r0, [r0, #0x2f]
|
|
cmp r0, #0
|
|
addne r0, r5, #0x2f
|
|
addne r0, r0, #0x100
|
|
bne _02203F20
|
|
ldr r1, _02204104 ; =_022188D0
|
|
add r0, sp, #0x4e
|
|
add r2, r5, #0x110
|
|
add r3, r5, #0x144
|
|
bl sub_020E7F30
|
|
add r0, sp, #0x4e
|
|
_02203F20:
|
|
stmia sp, {r0, r4}
|
|
add r2, r4, #0x80
|
|
str r2, [sp, #8]
|
|
add r2, r4, #0xa1
|
|
ldr r1, _02204108 ; =_022188D8
|
|
ldr r3, _0220410C ; =_022188E8
|
|
add r0, sp, #0xa0
|
|
str r2, [sp, #0xc]
|
|
bl sub_020E7F30
|
|
add r0, sp, #0xa0
|
|
bl sub_020E9580
|
|
mov r1, r0
|
|
add r0, sp, #0xa0
|
|
add r2, sp, #0x2d
|
|
bl ov00_021FF31C
|
|
ldr r1, _02204110 ; =_02218A9C
|
|
mov r0, r6
|
|
add r2, sp, #0xa0
|
|
mov r3, #0x200
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _02203FA4
|
|
ldr r2, _022040EC ; =_02218A50
|
|
mov r0, r8
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, r8
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x2a0
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02203FA4:
|
|
add r0, sp, #0x2d
|
|
add r1, sp, #0xa0
|
|
mov r2, #0x20
|
|
bl sub_020E5BB0
|
|
cmp r0, #0
|
|
beq _02203FE8
|
|
ldr r2, _02204114 ; =_02218AA4
|
|
mov r0, r8
|
|
mov r1, #0x108
|
|
bl ov00_0220A86C
|
|
mov r0, r8
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x2a0
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02203FE8:
|
|
ldr r0, [r5, #0x100]
|
|
cmp r0, #0
|
|
beq _02204010
|
|
ldr r1, [r5, #0x1a0]
|
|
mov r0, r8
|
|
bl ov00_02207CEC
|
|
ldr r1, [r5, #0x1a0]
|
|
str r1, [r0]
|
|
ldr r1, [r5, #0x19c]
|
|
str r1, [r0, #4]
|
|
_02204010:
|
|
mov r0, #3
|
|
str r0, [r5, #0x1d8]
|
|
ldr r1, [r7, #0xc]
|
|
ldr r0, [r7, #0x10]
|
|
str r1, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
cmp r1, #0
|
|
beq _022040B0
|
|
mov r0, #0x20
|
|
bl ov00_021EC3A8
|
|
movs r4, r0
|
|
bne _02204058
|
|
ldr r1, _02204118 ; =_022188C0
|
|
mov r0, r8
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x2a0
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_02204058:
|
|
mov r1, #0
|
|
mov r2, #0x20
|
|
bl sub_020E5B44
|
|
ldr r0, [r5, #0x1a0]
|
|
mov r3, #0
|
|
str r0, [r4, #4]
|
|
add r1, sp, #0x18
|
|
add r0, r4, #8
|
|
mov r2, #0x15
|
|
str r3, [r4]
|
|
bl ov00_0220A348
|
|
add r1, sp, #0x10
|
|
mov r0, r8
|
|
mov r3, r4
|
|
str r7, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
ldmia r1, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
addne sp, sp, #0x2a0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_022040B0:
|
|
mov r0, r8
|
|
mov r1, r7
|
|
bl ov00_022066D0
|
|
_022040BC:
|
|
mov r0, #0
|
|
add sp, sp, #0x2a0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_022040C8: .word 0x00000106
|
|
_022040CC: .word 0x00000201
|
|
_022040D0: .word _02218A00
|
|
_022040D4: .word _02218A08
|
|
_022040D8: .word _02218A10
|
|
_022040DC: .word _02218A18
|
|
_022040E0: .word _02218924
|
|
_022040E4: .word _02218A48
|
|
_022040E8: .word _02218958
|
|
_022040EC: .word _02218A50
|
|
_022040F0: .word _02218964
|
|
_022040F4: .word _02218A80
|
|
_022040F8: .word _02218A88
|
|
_022040FC: .word _0221893C
|
|
_02204100: .word _02218A94
|
|
_02204104: .word _022188D0
|
|
_02204108: .word _022188D8
|
|
_0220410C: .word _022188E8
|
|
_02204110: .word _02218A9C
|
|
_02204114: .word _02218AA4
|
|
_02204118: .word _022188C0
|
|
arm_func_end ov00_02203A58
|
|
|
|
arm_func_start ov00_0220411C
|
|
ov00_0220411C: ; 0x0220411C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r4, [r5]
|
|
add r2, sp, #0
|
|
ldr r1, [r4, #0x1d4]
|
|
bl ov00_0220A5A8
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r0, [sp]
|
|
cmp r0, #4
|
|
bne _02204170
|
|
ldr r1, _022041A8 ; =0x00000107
|
|
ldr r2, _022041AC ; =_02218AC4
|
|
mov r0, r5
|
|
bl ov00_0220A86C
|
|
mov r0, r5
|
|
mov r1, #4
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
mov r0, #4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02204170:
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
cmp r0, #3
|
|
beq _02204198
|
|
ldr r0, _022041B0 ; =_02218AEC
|
|
ldr r1, _022041B4 ; =_02218860
|
|
ldr r2, _022041B8 ; =_0221869C
|
|
ldr r3, _022041BC ; =0x000002EF
|
|
bl sub_020E4A9C
|
|
_02204198:
|
|
mov r0, #2
|
|
str r0, [r4, #0x1d8]
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022041A8: .word 0x00000107
|
|
_022041AC: .word _02218AC4
|
|
_022041B0: .word _02218AEC
|
|
_022041B4: .word _02218860
|
|
_022041B8: .word _0221869C
|
|
_022041BC: .word 0x000002EF
|
|
arm_func_end ov00_0220411C
|
|
|
|
arm_func_start ov00_022041C0
|
|
ov00_022041C0: ; 0x022041C0
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r1
|
|
ldr r1, [r5, #8]
|
|
mov r6, r0
|
|
cmp r1, #0
|
|
ldr r4, [r6]
|
|
beq _02204224
|
|
ldr r0, [r4, #0x104]
|
|
cmp r0, #0
|
|
bne _02204224
|
|
ldr r0, [r1, #8]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0
|
|
str r1, [r0, #8]
|
|
ldr r0, [r5, #8]
|
|
ldr r0, [r0, #0xc]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0
|
|
str r1, [r0, #0xc]
|
|
ldr r0, [r5, #8]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r5, #8]
|
|
_02204224:
|
|
ldr r0, [r5, #0x10]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r5, #0x10]
|
|
ldr r0, [r5, #0x18]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r5, #0x18]
|
|
str r0, [r5, #0x14]
|
|
ldr r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
beq _02204268
|
|
ldr r0, [r4, #0x104]
|
|
cmp r0, #1
|
|
ldreq r0, [r5, #8]
|
|
cmpeq r0, #0
|
|
bne _0220427C
|
|
_02204268:
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov00_02207E40
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0220427C:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_022041C0
|
|
|
|
arm_func_start ov00_02204284
|
|
ov00_02204284: ; 0x02204284
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0xc
|
|
mov r5, r0
|
|
ldr r4, [r5]
|
|
ldr r2, [r4, #0x1d8]
|
|
cmp r2, #4
|
|
addeq sp, sp, #0xc
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
cmp r2, #0
|
|
beq _02204370
|
|
cmp r1, #0
|
|
beq _022042E8
|
|
cmp r2, #3
|
|
bne _022042E8
|
|
ldr r2, _0220443C ; =_02218B04
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, [r4, #0x198]
|
|
mov r0, r5
|
|
add r1, r4, #0x1f4
|
|
bl ov00_0220211C
|
|
ldr r2, _02204440 ; =_022189C0
|
|
mov r0, r5
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
_022042E8:
|
|
mov r1, #1
|
|
ldr r0, _02204444 ; =_02218B18
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [r4, #0x1d4]
|
|
add r3, sp, #8
|
|
mov r0, r5
|
|
add r2, r4, #0x1f4
|
|
bl ov00_0220267C
|
|
ldr r0, [r4, #0x1d4]
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
beq _02204334
|
|
mov r1, #2
|
|
bl ov00_021FF82C
|
|
ldr r0, [r4, #0x1d4]
|
|
bl ov00_021FF818
|
|
mvn r0, #0
|
|
str r0, [r4, #0x1d4]
|
|
_02204334:
|
|
ldr r0, [r4, #0x204]
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
beq _0220435C
|
|
mov r1, #2
|
|
bl ov00_021FF82C
|
|
ldr r0, [r4, #0x204]
|
|
bl ov00_021FF818
|
|
mvn r0, #0
|
|
str r0, [r4, #0x204]
|
|
_0220435C:
|
|
mov r0, #4
|
|
str r0, [r4, #0x1d8]
|
|
mov r0, #0
|
|
str r0, [r4, #0x19c]
|
|
str r0, [r4, #0x1a0]
|
|
_02204370:
|
|
ldr r0, [r4, #0x1dc]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0x1dc]
|
|
ldr r0, [r4, #0x1ec]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0x1ec]
|
|
ldr r0, [r4, #0x1f4]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0x1f4]
|
|
ldr r0, [r4, #0x440]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0x440]
|
|
ldr r0, [r4, #0x450]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0x450]
|
|
ldr r1, [r4, #0x424]
|
|
cmp r1, #0
|
|
beq _022043E0
|
|
_022043CC:
|
|
mov r0, r5
|
|
bl ov00_022066D0
|
|
ldr r1, [r4, #0x424]
|
|
cmp r1, #0
|
|
bne _022043CC
|
|
_022043E0:
|
|
mov r0, #0
|
|
str r0, [r4, #0x424]
|
|
ldr r6, [r4, #0x434]
|
|
cmp r6, #0
|
|
beq _0220440C
|
|
_022043F4:
|
|
mov r1, r6
|
|
ldr r6, [r6, #0x3c]
|
|
mov r0, r5
|
|
bl ov00_022071F4
|
|
cmp r6, #0
|
|
bne _022043F4
|
|
_0220440C:
|
|
mov r0, #0
|
|
str r0, [r4, #0x434]
|
|
ldr r6, _02204448 ; =ov00_022041C0
|
|
mov r4, r0
|
|
_0220441C:
|
|
mov r0, r5
|
|
mov r1, r6
|
|
mov r2, r4
|
|
bl ov00_02207F1C
|
|
cmp r0, #0
|
|
beq _0220441C
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0220443C: .word _02218B04
|
|
_02204440: .word _022189C0
|
|
_02204444: .word _02218B18
|
|
_02204448: .word ov00_022041C0
|
|
arm_func_end ov00_02204284
|
|
|
|
arm_func_start ov00_0220444C
|
|
ov00_0220444C: ; 0x0220444C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
cmp r0, #0
|
|
cmpeq r1, #0
|
|
cmpeq r2, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
cmp r0, #0
|
|
cmpge r1, #0
|
|
cmpge r2, #0
|
|
movlt r0, #0
|
|
ldmltia sp!, {r3, r4, r5, pc}
|
|
cmp r1, #0xc
|
|
addls pc, pc, r1, lsl #2
|
|
b _02204554
|
|
_02204484: ; jump table
|
|
b _022044B8 ; case 0
|
|
b _022044C8 ; case 1
|
|
b _022044E8 ; case 2
|
|
b _022044C8 ; case 3
|
|
b _022044D8 ; case 4
|
|
b _022044C8 ; case 5
|
|
b _022044D8 ; case 6
|
|
b _022044C8 ; case 7
|
|
b _022044C8 ; case 8
|
|
b _022044D8 ; case 9
|
|
b _022044C8 ; case 10
|
|
b _022044D8 ; case 11
|
|
b _022044C8 ; case 12
|
|
_022044B8:
|
|
cmp r0, #0
|
|
beq _0220455C
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_022044C8:
|
|
cmp r0, #0x1f
|
|
ble _0220455C
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_022044D8:
|
|
cmp r0, #0x1e
|
|
ble _0220455C
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_022044E8:
|
|
mov r4, r2, lsr #0x1f
|
|
rsb r3, r4, r2, lsl #30
|
|
adds r3, r4, r3, ror #30
|
|
bne _02204514
|
|
ldr ip, _022045A4 ; =0x51EB851F
|
|
mov lr, #0x64
|
|
smull r3, r5, ip, r2
|
|
add r5, r4, r5, asr #5
|
|
smull r3, ip, lr, r5
|
|
subs r5, r2, r3
|
|
bne _02204534
|
|
_02204514:
|
|
ldr lr, _022045A4 ; =0x51EB851F
|
|
mov r3, r2, lsr #0x1f
|
|
smull ip, r4, lr, r2
|
|
add r4, r3, r4, asr #7
|
|
mov lr, #0x190
|
|
smull r3, ip, lr, r4
|
|
subs r4, r2, r3
|
|
bne _02204544
|
|
_02204534:
|
|
cmp r0, #0x1d
|
|
ble _0220455C
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02204544:
|
|
cmp r0, #0x1c
|
|
ble _0220455C
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02204554:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220455C:
|
|
ldr ip, _022045A8 ; =0x0000076C
|
|
cmp r2, ip
|
|
movlt r0, #0
|
|
ldmltia sp!, {r3, r4, r5, pc}
|
|
add r3, ip, #0xb3
|
|
cmp r2, r3
|
|
movgt r0, #0
|
|
ldmgtia sp!, {r3, r4, r5, pc}
|
|
bne _0220459C
|
|
cmp r1, #6
|
|
movgt r0, #0
|
|
ldmgtia sp!, {r3, r4, r5, pc}
|
|
bne _0220459C
|
|
cmp r0, #6
|
|
movgt r0, #0
|
|
ldmgtia sp!, {r3, r4, r5, pc}
|
|
_0220459C:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022045A4: .word 0x51EB851F
|
|
_022045A8: .word 0x0000076C
|
|
arm_func_end ov00_0220444C
|
|
|
|
arm_func_start ov00_022045AC
|
|
ov00_022045AC: ; 0x022045AC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
mov lr, r1, asr #0x18
|
|
mov ip, r1, asr #0x10
|
|
mov r1, r1, lsl #0x10
|
|
and r5, ip, #0xff
|
|
and r4, lr, #0xff
|
|
mov sb, r0
|
|
mov r6, r1, lsr #0x10
|
|
mov r8, r2
|
|
mov r0, r4
|
|
mov r1, r5
|
|
mov r2, r6
|
|
mov r7, r3
|
|
bl ov00_0220444C
|
|
cmp r0, #0
|
|
bne _02204600
|
|
ldr r0, _02204644 ; =_02218B5C
|
|
ldr r1, _02204648 ; =_02218B40
|
|
ldr r2, _0220464C ; =_02218B1C
|
|
mov r3, #0xb7
|
|
bl sub_020E4A9C
|
|
_02204600:
|
|
mov r0, r4
|
|
mov r1, r5
|
|
mov r2, r6
|
|
bl ov00_0220444C
|
|
cmp r0, #0
|
|
bne _0220462C
|
|
ldr r1, _02204650 ; =_02218B4C
|
|
mov r0, sb
|
|
bl ov00_0220A890
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_0220462C:
|
|
str r4, [r8]
|
|
ldr r0, [sp, #0x20]
|
|
str r5, [r7]
|
|
str r6, [r0]
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_02204644: .word _02218B5C
|
|
_02204648: .word _02218B40
|
|
_0220464C: .word _02218B1C
|
|
_02204650: .word _02218B4C
|
|
arm_func_end ov00_022045AC
|
|
|
|
arm_func_start ov00_02204654
|
|
ov00_02204654: ; 0x02204654
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
ldr r1, [r5]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r4, #8]
|
|
beq _02204680
|
|
add r0, r4, #8
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
_02204680:
|
|
ldr r1, [r5, #4]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r4, #0x27]
|
|
beq _022046A0
|
|
add r0, r4, #0x27
|
|
mov r2, #0x15
|
|
bl ov00_0220A348
|
|
_022046A0:
|
|
ldr r1, [r5, #8]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r4, #0x3c]
|
|
beq _022046C0
|
|
add r0, r4, #0x3c
|
|
mov r2, #0x33
|
|
bl ov00_0220A348
|
|
_022046C0:
|
|
ldr r1, [r5, #0xc]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r4, #0x6f]
|
|
beq _022046E0
|
|
add r0, r4, #0x6f
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
_022046E0:
|
|
ldr r1, [r5, #0x10]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r4, #0x8e]
|
|
beq _02204700
|
|
add r0, r4, #0x8e
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
_02204700:
|
|
ldr r1, [r5, #0x14]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r4, #0xad]
|
|
beq _02204720
|
|
add r0, r4, #0xad
|
|
mov r2, #0x4c
|
|
bl ov00_0220A348
|
|
_02204720:
|
|
ldr r3, [r5, #0x18]
|
|
add r0, r4, #0x100
|
|
add r1, r5, #0x1c
|
|
mov r2, #0xb
|
|
str r3, [r4, #0xfc]
|
|
bl ov00_0220A348
|
|
add r0, r4, #0xb
|
|
add r0, r0, #0x100
|
|
add r1, r5, #0x27
|
|
mov r2, #3
|
|
bl ov00_0220A348
|
|
ldr r0, [r5, #0x2c]
|
|
adds r1, r5, #0x34
|
|
str r0, [r4, #0x110]
|
|
ldr r0, [r5, #0x30]
|
|
str r0, [r4, #0x114]
|
|
moveq r0, #0
|
|
streqb r0, [r4, #0x118]
|
|
beq _02204778
|
|
add r0, r4, #0x118
|
|
mov r2, #0x80
|
|
bl ov00_0220A348
|
|
_02204778:
|
|
ldr r0, [r5, #0xb4]
|
|
str r0, [r4, #0x198]
|
|
ldr r0, [r5, #0xb8]
|
|
str r0, [r4, #0x19c]
|
|
ldr r0, [r5, #0xbc]
|
|
str r0, [r4, #0x1a0]
|
|
ldr r0, [r5, #0xc0]
|
|
str r0, [r4, #0x1a4]
|
|
ldr r0, [r5, #0xc4]
|
|
str r0, [r4, #0x1a8]
|
|
ldr r1, [r5, #0xc8]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r4, #0x1ac]
|
|
beq _022047C0
|
|
add r0, r4, #0x1ac
|
|
mov r2, #0x33
|
|
bl ov00_0220A348
|
|
_022047C0:
|
|
ldr r0, [r5, #0x18]
|
|
str r0, [r4, #0xfc]
|
|
ldr r0, [r5, #0x2c]
|
|
str r0, [r4, #0x110]
|
|
ldr r0, [r5, #0x30]
|
|
str r0, [r4, #0x114]
|
|
ldr r0, [r5, #0xb4]
|
|
str r0, [r4, #0x198]
|
|
ldr r0, [r5, #0xb8]
|
|
str r0, [r4, #0x19c]
|
|
ldr r0, [r5, #0xbc]
|
|
str r0, [r4, #0x1a0]
|
|
ldr r0, [r5, #0xc0]
|
|
str r0, [r4, #0x1a4]
|
|
ldr r0, [r5, #0xc4]
|
|
str r0, [r4, #0x1a8]
|
|
ldr r0, [r5, #0xcc]
|
|
str r0, [r4, #0x1e0]
|
|
ldr r0, [r5, #0xd0]
|
|
str r0, [r4, #0x1e4]
|
|
ldr r0, [r5, #0xd4]
|
|
str r0, [r4, #0x1e8]
|
|
ldr r0, [r5, #0xd8]
|
|
str r0, [r4, #0x1ec]
|
|
ldr r0, [r5, #0xdc]
|
|
str r0, [r4, #0x1f0]
|
|
ldr r0, [r5, #0xe0]
|
|
str r0, [r4, #0x1f4]
|
|
ldr r0, [r5, #0xe4]
|
|
str r0, [r4, #0x1f8]
|
|
ldr r0, [r5, #0xe8]
|
|
str r0, [r4, #0x1fc]
|
|
ldr r0, [r5, #0xec]
|
|
str r0, [r4, #0x200]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_02204654
|
|
|
|
arm_func_start ov00_0220484C
|
|
ov00_0220484C: ; 0x0220484C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x268
|
|
mov r4, r2
|
|
mov sl, r0
|
|
mov fp, r1
|
|
mov r1, r4
|
|
mov r2, #1
|
|
ldr r6, [sl]
|
|
bl ov00_0220A3C8
|
|
cmp r0, #0
|
|
addne sp, sp, #0x268
|
|
movne r0, #4
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _02204FD4 ; =_02218B74
|
|
mov r0, r4
|
|
mov r2, #4
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
beq _022048C4
|
|
ldr r2, _02204FD8 ; =_02218B7C
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x268
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022048C4:
|
|
ldr r1, _02204FDC ; =_02218BAC
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _0220490C
|
|
ldr r2, _02204FD8 ; =_02218B7C
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x268
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_0220490C:
|
|
add r0, sp, #0xec
|
|
bl sub_020EB82C
|
|
mov sb, r0
|
|
cmp sb, #0
|
|
bgt _02204934
|
|
ldr r0, _02204FE0 ; =_02218BB8
|
|
ldr r1, _02204FE4 ; =_02218B40
|
|
ldr r2, _02204FE8 ; =_02218B2C
|
|
ldr r3, _02204FEC ; =0x0000015A
|
|
bl sub_020E4A9C
|
|
_02204934:
|
|
add r2, sp, #0x10
|
|
mov r0, sl
|
|
mov r1, sb
|
|
bl ov00_02207DD0
|
|
mov r0, #0
|
|
add r7, sp, #0x178
|
|
mov r1, r0
|
|
mov r2, r0
|
|
mov r3, r0
|
|
mov r5, #7
|
|
_0220495C:
|
|
stmia r7!, {r0, r1, r2, r3}
|
|
stmia r7!, {r0, r1, r2, r3}
|
|
subs r5, r5, #1
|
|
bne _0220495C
|
|
stmia r7!, {r0, r1, r2, r3}
|
|
add r3, sp, #0xb8
|
|
add r1, sp, #0x66
|
|
add r2, sp, #0xcd
|
|
add r5, sp, #0x85
|
|
add r0, sp, #0x47
|
|
str r3, [sp, #0x17c]
|
|
add r3, sp, #0x12c
|
|
str r1, [sp, #0x184]
|
|
str r5, [sp, #0x180]
|
|
add r5, sp, #0x14
|
|
str r0, [sp, #0x188]
|
|
str r3, [sp, #0x18c]
|
|
ldr r1, _02204FF0 ; =_02218BC8
|
|
mov r0, r4
|
|
mov r3, #0x1f
|
|
str r2, [sp, #0x178]
|
|
str r5, [sp, #0x240]
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
ldreq r0, [sp, #0x178]
|
|
moveq r1, #0
|
|
streqb r1, [r0]
|
|
ldr r2, [sp, #0x17c]
|
|
ldr r1, _02204FF4 ; =_02218BD0
|
|
mov r0, r4
|
|
mov r3, #0x15
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
ldreq r0, [sp, #0x17c]
|
|
moveq r1, #0
|
|
streqb r1, [r0]
|
|
ldr r2, [sp, #0x180]
|
|
ldr r1, _02204FF8 ; =_02218BE0
|
|
mov r0, r4
|
|
mov r3, #0x33
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
ldreq r0, [sp, #0x180]
|
|
moveq r1, #0
|
|
streqb r1, [r0]
|
|
ldr r2, [sp, #0x184]
|
|
ldr r1, _02204FFC ; =_02218BE8
|
|
mov r0, r4
|
|
mov r3, #0x1f
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
ldreq r0, [sp, #0x184]
|
|
moveq r1, #0
|
|
streqb r1, [r0]
|
|
ldr r2, [sp, #0x188]
|
|
ldr r1, _02205000 ; =_02218BF4
|
|
mov r0, r4
|
|
mov r3, #0x1f
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
ldreq r0, [sp, #0x188]
|
|
moveq r1, #0
|
|
streqb r1, [r0]
|
|
ldr r1, _02205004 ; =_02218C00
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
mvneq r0, #0
|
|
streq r0, [sp, #0x190]
|
|
beq _02204A88
|
|
add r0, sp, #0xec
|
|
bl sub_020EB82C
|
|
str r0, [sp, #0x190]
|
|
_02204A88:
|
|
ldr r2, [sp, #0x18c]
|
|
ldr r1, _02205008 ; =_02218C0C
|
|
mov r0, r4
|
|
mov r3, #0x4c
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
ldreq r0, [sp, #0x18c]
|
|
moveq r1, #0
|
|
streqb r1, [r0]
|
|
ldr r1, _0220500C ; =_02218C18
|
|
add r2, sp, #0x194
|
|
mov r0, r4
|
|
mov r3, #0xb
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
add r2, sp, #0x100
|
|
streqb r0, [sp, #0x194]
|
|
ldr r1, _02205010 ; =_02218C24
|
|
add r2, r2, #0x9f
|
|
mov r0, r4
|
|
mov r3, #3
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streqb r0, [sp, #0x19f]
|
|
ldr r1, _02205014 ; =_02218C34
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x1a4]
|
|
beq _02204B24
|
|
add r0, sp, #0xec
|
|
bl sub_020EAE68
|
|
bl sub_020F09A4
|
|
str r0, [sp, #0x1a4]
|
|
_02204B24:
|
|
ldr r1, _02205018 ; =_02218C3C
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x1a8]
|
|
beq _02204B58
|
|
add r0, sp, #0xec
|
|
bl sub_020EAE68
|
|
bl sub_020F09A4
|
|
str r0, [sp, #0x1a8]
|
|
_02204B58:
|
|
ldr r1, _0220501C ; =_02218C44
|
|
add r2, sp, #0x1ac
|
|
mov r0, r4
|
|
mov r3, #0x80
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streqb r0, [sp, #0x1ac]
|
|
ldr r1, _02205020 ; =_02218C4C
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _02204BA8
|
|
mov r0, #0
|
|
str r0, [sp, #0x22c]
|
|
str r0, [sp, #0x230]
|
|
str r0, [sp, #0x234]
|
|
b _02204BD8
|
|
_02204BA8:
|
|
add r0, sp, #0xec
|
|
bl sub_020EB82C
|
|
add r5, sp, #0x234
|
|
mov r1, r0
|
|
add r2, sp, #0x22c
|
|
add r3, sp, #0x230
|
|
mov r0, sl
|
|
str r5, [sp]
|
|
bl ov00_022045AC
|
|
cmp r0, #0
|
|
addne sp, sp, #0x268
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02204BD8:
|
|
ldr r1, _02205024 ; =_02218C58
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
ldreq r0, _02205028 ; =0x00000502
|
|
streq r0, [sp, #0x238]
|
|
beq _02204C24
|
|
ldrsb r0, [sp, #0xec]
|
|
cmp r0, #0x30
|
|
moveq r0, #0x500
|
|
streq r0, [sp, #0x238]
|
|
beq _02204C24
|
|
cmp r0, #0x31
|
|
ldreq r0, _0220502C ; =0x00000501
|
|
streq r0, [sp, #0x238]
|
|
ldrne r0, _02205028 ; =0x00000502
|
|
strne r0, [sp, #0x238]
|
|
_02204C24:
|
|
ldr r1, _02205030 ; =_02218C60
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
mvneq r0, #0
|
|
streq r0, [sp, #0x23c]
|
|
beq _02204C54
|
|
add r0, sp, #0xec
|
|
bl sub_020EB82C
|
|
str r0, [sp, #0x23c]
|
|
_02204C54:
|
|
ldr r2, [sp, #0x240]
|
|
ldr r1, _02205034 ; =_02218C68
|
|
mov r0, r4
|
|
mov r3, #0x33
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
ldreq r0, [sp, #0x240]
|
|
moveq r1, #0
|
|
streqb r1, [r0]
|
|
ldr r1, _02205038 ; =_02218C70
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x244]
|
|
beq _02204CA8
|
|
add r0, sp, #0xec
|
|
bl sub_020EB82C
|
|
str r0, [sp, #0x244]
|
|
_02204CA8:
|
|
ldr r1, _0220503C ; =_02218C78
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x248]
|
|
beq _02204CD8
|
|
add r0, sp, #0xec
|
|
bl sub_020EB82C
|
|
str r0, [sp, #0x248]
|
|
_02204CD8:
|
|
ldr r1, _02205040 ; =_02218C80
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x24c]
|
|
beq _02204D08
|
|
add r0, sp, #0xec
|
|
bl sub_020EB82C
|
|
str r0, [sp, #0x24c]
|
|
_02204D08:
|
|
ldr r1, _02205044 ; =_02218C88
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x250]
|
|
beq _02204D38
|
|
add r0, sp, #0xec
|
|
bl sub_020EB82C
|
|
str r0, [sp, #0x250]
|
|
_02204D38:
|
|
ldr r1, _02205048 ; =_02218C90
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x254]
|
|
beq _02204D68
|
|
add r0, sp, #0xec
|
|
bl sub_020EB82C
|
|
str r0, [sp, #0x254]
|
|
_02204D68:
|
|
ldr r1, _0220504C ; =_02218C98
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x258]
|
|
beq _02204D98
|
|
add r0, sp, #0xec
|
|
bl sub_020EB82C
|
|
str r0, [sp, #0x258]
|
|
_02204D98:
|
|
ldr r1, _02205050 ; =_02218CA0
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x25c]
|
|
beq _02204DC8
|
|
add r0, sp, #0xec
|
|
bl sub_020EB82C
|
|
str r0, [sp, #0x25c]
|
|
_02204DC8:
|
|
ldr r1, _02205054 ; =_02218CA8
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x260]
|
|
beq _02204DF8
|
|
add r0, sp, #0xec
|
|
bl sub_020EB82C
|
|
str r0, [sp, #0x260]
|
|
_02204DF8:
|
|
ldr r1, _02205058 ; =_02218CB0
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x264]
|
|
beq _02204E28
|
|
add r0, sp, #0xec
|
|
bl sub_020EB82C
|
|
str r0, [sp, #0x264]
|
|
_02204E28:
|
|
ldr r1, _0220505C ; =_02218CB8
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _02204E70
|
|
ldr r2, _02204FD8 ; =_02218B7C
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x268
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02204E70:
|
|
ldr r7, [r6, #0x434]
|
|
ldr r8, [r6, #0x100]
|
|
cmp r7, #0
|
|
beq _02204ECC
|
|
mov r5, #0x66
|
|
mov r4, #1
|
|
_02204E88:
|
|
ldr r0, [r7, #0xc]
|
|
cmp r0, sb
|
|
ldreq r0, [r7]
|
|
cmpeq r0, #0x65
|
|
bne _02204EC0
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
bne _02204EB8
|
|
mov r0, sl
|
|
mov r1, sb
|
|
bl ov00_02207CEC
|
|
str r0, [sp, #0x10]
|
|
_02204EB8:
|
|
mov r8, r4
|
|
str r5, [r7]
|
|
_02204EC0:
|
|
ldr r7, [r7, #0x3c]
|
|
cmp r7, #0
|
|
bne _02204E88
|
|
_02204ECC:
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
bne _02204EF4
|
|
ldr r0, [r6, #0x100]
|
|
cmp r0, #0
|
|
beq _02204EF4
|
|
mov r0, sl
|
|
mov r1, sb
|
|
bl ov00_02207CEC
|
|
str r0, [sp, #0x10]
|
|
_02204EF4:
|
|
cmp r8, #0
|
|
beq _02204F24
|
|
ldr r0, [sp, #0x10]
|
|
ldr r0, [r0, #0x18]
|
|
bl ov00_021EC3D8
|
|
ldr r1, [sp, #0x10]
|
|
mov r2, #0
|
|
add r0, sp, #0xec
|
|
str r2, [r1, #0x18]
|
|
bl ov00_021FF3D4
|
|
ldr r1, [sp, #0x10]
|
|
str r0, [r1, #0x18]
|
|
_02204F24:
|
|
ldr r0, [r6, #0x100]
|
|
cmp r0, #0
|
|
beq _02204F40
|
|
ldr r1, [sp, #0x10]
|
|
add r2, sp, #0x178
|
|
mov r0, sl
|
|
bl ov00_0220608C
|
|
_02204F40:
|
|
ldr r1, [fp, #0xc]
|
|
ldr r0, [fp, #0x10]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
cmp r1, #0
|
|
beq _02204FBC
|
|
mov r0, #0x204
|
|
bl ov00_021EC3A8
|
|
movs r4, r0
|
|
bne _02204F80
|
|
ldr r1, _02205060 ; =_02218CC0
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x268
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02204F80:
|
|
add r0, sp, #0x178
|
|
mov r1, r4
|
|
bl ov00_02204654
|
|
mov r2, #0
|
|
stmia r4, {r2, sb}
|
|
str fp, [sp]
|
|
add r1, sp, #8
|
|
str r2, [sp, #4]
|
|
mov r0, sl
|
|
mov r3, r4
|
|
ldmia r1, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
addne sp, sp, #0x268
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02204FBC:
|
|
mov r0, sl
|
|
mov r1, fp
|
|
bl ov00_022066D0
|
|
mov r0, #0
|
|
add sp, sp, #0x268
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02204FD4: .word _02218B74
|
|
_02204FD8: .word _02218B7C
|
|
_02204FDC: .word _02218BAC
|
|
_02204FE0: .word _02218BB8
|
|
_02204FE4: .word _02218B40
|
|
_02204FE8: .word _02218B2C
|
|
_02204FEC: .word 0x0000015A
|
|
_02204FF0: .word _02218BC8
|
|
_02204FF4: .word _02218BD0
|
|
_02204FF8: .word _02218BE0
|
|
_02204FFC: .word _02218BE8
|
|
_02205000: .word _02218BF4
|
|
_02205004: .word _02218C00
|
|
_02205008: .word _02218C0C
|
|
_0220500C: .word _02218C18
|
|
_02205010: .word _02218C24
|
|
_02205014: .word _02218C34
|
|
_02205018: .word _02218C3C
|
|
_0220501C: .word _02218C44
|
|
_02205020: .word _02218C4C
|
|
_02205024: .word _02218C58
|
|
_02205028: .word 0x00000502
|
|
_0220502C: .word 0x00000501
|
|
_02205030: .word _02218C60
|
|
_02205034: .word _02218C68
|
|
_02205038: .word _02218C70
|
|
_0220503C: .word _02218C78
|
|
_02205040: .word _02218C80
|
|
_02205044: .word _02218C88
|
|
_02205048: .word _02218C90
|
|
_0220504C: .word _02218C98
|
|
_02205050: .word _02218CA0
|
|
_02205054: .word _02218CA8
|
|
_02205058: .word _02218CB0
|
|
_0220505C: .word _02218CB8
|
|
_02205060: .word _02218CC0
|
|
arm_func_end ov00_0220484C
|
|
|
|
arm_func_start ov00_02205064
|
|
ov00_02205064: ; 0x02205064
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
ldr r4, [r6]
|
|
mov r5, r1
|
|
ldr r2, [r4, #0x448]
|
|
cmp r2, #0
|
|
ble _022050C0
|
|
ldr r2, _0220511C ; =_02218CD0
|
|
bl ov00_022020EC
|
|
ldr r2, [r4, #0x198]
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov00_0220211C
|
|
ldr r2, [r4, #0x440]
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov00_022020EC
|
|
ldr r2, _02205120 ; =_02218CE8
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov00_022020EC
|
|
mov r0, #0
|
|
str r0, [r4, #0x448]
|
|
_022050C0:
|
|
ldr r0, [r4, #0x458]
|
|
cmp r0, #0
|
|
ble _02205114
|
|
ldr r2, _02205124 ; =_02218CF0
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov00_022020EC
|
|
ldr r2, [r4, #0x198]
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov00_0220211C
|
|
ldr r2, [r4, #0x450]
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov00_022020EC
|
|
ldr r2, _02205120 ; =_02218CE8
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov00_022020EC
|
|
mov r0, #0
|
|
str r0, [r4, #0x458]
|
|
_02205114:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0220511C: .word _02218CD0
|
|
_02205120: .word _02218CE8
|
|
_02205124: .word _02218CF0
|
|
arm_func_end ov00_02205064
|
|
|
|
arm_func_start ov00_02205128
|
|
ov00_02205128: ; 0x02205128
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
ldr r4, [r6]
|
|
mov r5, r2
|
|
mov r2, r1
|
|
add r1, r4, #0x440
|
|
bl ov00_022020EC
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r0, r6
|
|
mov r2, r5
|
|
add r1, r4, #0x440
|
|
bl ov00_022020EC
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_02205128
|
|
|
|
arm_func_start ov00_02205168
|
|
ov00_02205168: ; 0x02205168
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
ldr r4, [r6]
|
|
mov r5, r2
|
|
mov r2, r1
|
|
add r1, r4, #0x450
|
|
bl ov00_022020EC
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r0, r6
|
|
mov r2, r5
|
|
add r1, r4, #0x450
|
|
bl ov00_022020EC
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_02205168
|
|
|
|
arm_func_start ov00_022051A8
|
|
ov00_022051A8: ; 0x022051A8
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x10
|
|
sub r1, r1, #6
|
|
sub r1, r1, #0x700
|
|
mov r4, r0
|
|
cmp r1, #0x18
|
|
addls pc, pc, r1, lsl #2
|
|
b _022055EC
|
|
_022051C8: ; jump table
|
|
b _02205300 ; case 0
|
|
b _022055EC ; case 1
|
|
b _0220522C ; case 2
|
|
b _022055EC ; case 3
|
|
b _022055EC ; case 4
|
|
b _02205274 ; case 5
|
|
b _0220532C ; case 6
|
|
b _02205358 ; case 7
|
|
b _02205384 ; case 8
|
|
b _022055EC ; case 9
|
|
b _022053BC ; case 10
|
|
b _022055EC ; case 11
|
|
b _022053F4 ; case 12
|
|
b _0220542C ; case 13
|
|
b _02205458 ; case 14
|
|
b _02205484 ; case 15
|
|
b _022055EC ; case 16
|
|
b _022055EC ; case 17
|
|
b _022054B8 ; case 18
|
|
b _022054E4 ; case 19
|
|
b _02205510 ; case 20
|
|
b _0220553C ; case 21
|
|
b _02205568 ; case 22
|
|
b _02205594 ; case 23
|
|
b _022055C0 ; case 24
|
|
_0220522C:
|
|
cmp r2, #0
|
|
bge _02205248
|
|
ldr r1, _02205610 ; =_02218D04
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x10
|
|
mov r0, #2
|
|
ldmia sp!, {r4, pc}
|
|
_02205248:
|
|
ldr r1, _02205614 ; =_02218D18
|
|
add r0, sp, #0
|
|
bl sub_020E7F30
|
|
ldr r1, _02205618 ; =_02218C18
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_02205274:
|
|
cmp r2, #0x500
|
|
beq _02205298
|
|
ldr r1, _0220561C ; =0x00000501
|
|
cmp r2, r1
|
|
beq _022052B4
|
|
add r1, r1, #1
|
|
cmp r2, r1
|
|
beq _022052D0
|
|
b _022052EC
|
|
_02205298:
|
|
ldr r1, _02205620 ; =_02218C58
|
|
ldr r2, _02205624 ; =_02218D1C
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_022052B4:
|
|
ldr r1, _02205620 ; =_02218C58
|
|
ldr r2, _02205628 ; =_02218D20
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_022052D0:
|
|
ldr r1, _02205620 ; =_02218C58
|
|
ldr r2, _0220562C ; =_02218D24
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_022052EC:
|
|
ldr r1, _02205630 ; =_02218D28
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x10
|
|
mov r0, #2
|
|
ldmia sp!, {r4, pc}
|
|
_02205300:
|
|
ldr r1, _02205614 ; =_02218D18
|
|
add r0, sp, #0
|
|
bl sub_020E7F30
|
|
ldr r1, _02205634 ; =_02218C00
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_0220532C:
|
|
ldr r1, _02205614 ; =_02218D18
|
|
add r0, sp, #0
|
|
bl sub_020E7F30
|
|
ldr r1, _02205638 ; =_02218D38
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02205168
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_02205358:
|
|
ldr r1, _02205614 ; =_02218D18
|
|
add r0, sp, #0
|
|
bl sub_020E7F30
|
|
ldr r1, _0220563C ; =_02218D48
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02205168
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_02205384:
|
|
mov r0, r2, asr #3
|
|
add r2, r2, r0, lsr #28
|
|
ldr r1, _02205614 ; =_02218D18
|
|
add r0, sp, #0
|
|
mov r2, r2, asr #4
|
|
bl sub_020E7F30
|
|
ldr r1, _02205640 ; =_02218D54
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02205168
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_022053BC:
|
|
mov r0, r2, asr #1
|
|
add r2, r2, r0, lsr #30
|
|
ldr r1, _02205614 ; =_02218D18
|
|
add r0, sp, #0
|
|
mov r2, r2, asr #2
|
|
bl sub_020E7F30
|
|
ldr r1, _02205644 ; =_02218D60
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02205168
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_022053F4:
|
|
mov r0, r2, asr #1
|
|
add r2, r2, r0, lsr #30
|
|
ldr r1, _02205614 ; =_02218D18
|
|
add r0, sp, #0
|
|
mov r2, r2, asr #2
|
|
bl sub_020E7F30
|
|
ldr r1, _02205648 ; =_02218D70
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02205168
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_0220542C:
|
|
ldr r1, _02205614 ; =_02218D18
|
|
add r0, sp, #0
|
|
bl sub_020E7F30
|
|
ldr r1, _0220564C ; =_02218D80
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02205168
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_02205458:
|
|
ldr r1, _02205614 ; =_02218D18
|
|
add r0, sp, #0
|
|
bl sub_020E7F30
|
|
ldr r1, _02205650 ; =_02218D90
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02205168
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_02205484:
|
|
ldr r1, _02205614 ; =_02218D18
|
|
cmp r2, #0
|
|
movne r2, #1
|
|
add r0, sp, #0
|
|
bl sub_020E7F30
|
|
ldr r1, _02205654 ; =_02218DA4
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02205168
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_022054B8:
|
|
ldr r1, _02205614 ; =_02218D18
|
|
add r0, sp, #0
|
|
bl sub_020E7F30
|
|
ldr r1, _02205658 ; =_02218C70
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_022054E4:
|
|
ldr r1, _02205614 ; =_02218D18
|
|
add r0, sp, #0
|
|
bl sub_020E7F30
|
|
ldr r1, _0220565C ; =_02218C78
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_02205510:
|
|
ldr r1, _02205614 ; =_02218D18
|
|
add r0, sp, #0
|
|
bl sub_020E7F30
|
|
ldr r1, _02205660 ; =_02218C80
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_0220553C:
|
|
ldr r1, _02205614 ; =_02218D18
|
|
add r0, sp, #0
|
|
bl sub_020E7F30
|
|
ldr r1, _02205664 ; =_02218C88
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_02205568:
|
|
ldr r1, _02205614 ; =_02218D18
|
|
add r0, sp, #0
|
|
bl sub_020E7F30
|
|
ldr r1, _02205668 ; =_02218C90
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_02205594:
|
|
ldr r1, _02205614 ; =_02218D18
|
|
add r0, sp, #0
|
|
bl sub_020E7F30
|
|
ldr r1, _0220566C ; =_02218C98
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_022055C0:
|
|
ldr r1, _02205614 ; =_02218D18
|
|
add r0, sp, #0
|
|
bl sub_020E7F30
|
|
ldr r1, _02205670 ; =_02218CA0
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205604
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_022055EC:
|
|
ldr r1, _02205674 ; =_02218DB4
|
|
mov r0, r4
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x10
|
|
mov r0, #2
|
|
ldmia sp!, {r4, pc}
|
|
_02205604:
|
|
mov r0, #0
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02205610: .word _02218D04
|
|
_02205614: .word _02218D18
|
|
_02205618: .word _02218C18
|
|
_0220561C: .word 0x00000501
|
|
_02205620: .word _02218C58
|
|
_02205624: .word _02218D1C
|
|
_02205628: .word _02218D20
|
|
_0220562C: .word _02218D24
|
|
_02205630: .word _02218D28
|
|
_02205634: .word _02218C00
|
|
_02205638: .word _02218D38
|
|
_0220563C: .word _02218D48
|
|
_02205640: .word _02218D54
|
|
_02205644: .word _02218D60
|
|
_02205648: .word _02218D70
|
|
_0220564C: .word _02218D80
|
|
_02205650: .word _02218D90
|
|
_02205654: .word _02218DA4
|
|
_02205658: .word _02218C70
|
|
_0220565C: .word _02218C78
|
|
_02205660: .word _02218C80
|
|
_02205664: .word _02218C88
|
|
_02205668: .word _02218C90
|
|
_0220566C: .word _02218C98
|
|
_02205670: .word _02218CA0
|
|
_02205674: .word _02218DB4
|
|
arm_func_end ov00_022051A8
|
|
|
|
arm_func_start ov00_02205678
|
|
ov00_02205678: ; 0x02205678
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x100
|
|
mov r6, r0
|
|
movs r5, r2
|
|
ldr r4, [r6]
|
|
bne _022056A4
|
|
ldr r1, _02205DC8 ; =_02218DC4
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x100
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_022056A4:
|
|
sub r1, r1, #0x700
|
|
cmp r1, #0x1e
|
|
addls pc, pc, r1, lsl #2
|
|
b _02205DA4
|
|
_022056B4: ; jump table
|
|
b _02205730 ; case 0
|
|
b _02205790 ; case 1
|
|
b _022057F4 ; case 2
|
|
b _0220585C ; case 3
|
|
b _022058C0 ; case 4
|
|
b _022058F0 ; case 5
|
|
b _02205A74 ; case 6
|
|
b _02205920 ; case 7
|
|
b _02205950 ; case 8
|
|
b _02205980 ; case 9
|
|
b _02205DA4 ; case 10
|
|
b _022059D8 ; case 11
|
|
b _02205DA4 ; case 12
|
|
b _02205AA4 ; case 13
|
|
b _02205ACC ; case 14
|
|
b _02205AF4 ; case 15
|
|
b _02205B24 ; case 16
|
|
b _02205B4C ; case 17
|
|
b _02205B7C ; case 18
|
|
b _02205DA4 ; case 19
|
|
b _02205BA4 ; case 20
|
|
b _02205BCC ; case 21
|
|
b _02205BF4 ; case 22
|
|
b _02205C24 ; case 23
|
|
b _02205C54 ; case 24
|
|
b _02205C84 ; case 25
|
|
b _02205CB4 ; case 26
|
|
b _02205CE4 ; case 27
|
|
b _02205D14 ; case 28
|
|
b _02205D44 ; case 29
|
|
b _02205D74 ; case 30
|
|
_02205730:
|
|
ldrsb r1, [r5]
|
|
cmp r1, #0
|
|
bne _02205750
|
|
ldr r1, _02205DC8 ; =_02218DC4
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x100
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205750:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
add r1, sp, #0
|
|
add r0, r4, #0x110
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
ldr r1, _02205DCC ; =_02218BC8
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205790:
|
|
ldrsb r1, [r5]
|
|
cmp r1, #0
|
|
bne _022057B0
|
|
ldr r1, _02205DC8 ; =_02218DC4
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x100
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_022057B0:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x15
|
|
bl ov00_0220A348
|
|
add r0, r4, #0x2f
|
|
add r1, sp, #0
|
|
add r0, r0, #0x100
|
|
mov r2, #0x15
|
|
bl ov00_0220A348
|
|
ldr r1, _02205DD0 ; =_02218BD0
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_022057F4:
|
|
ldrsb r1, [r5]
|
|
cmp r1, #0
|
|
bne _02205814
|
|
ldr r1, _02205DC8 ; =_02218DC4
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x100
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205814:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x33
|
|
bl ov00_0220A348
|
|
add r0, sp, #0
|
|
bl ov00_021FF408
|
|
add r1, sp, #0
|
|
add r0, r4, #0x144
|
|
mov r2, #0x33
|
|
bl ov00_0220A348
|
|
ldr r1, _02205DD4 ; =_02218BE0
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205168
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0220585C:
|
|
ldrsb r1, [r5]
|
|
cmp r1, #0
|
|
bne _0220587C
|
|
ldr r1, _02205DC8 ; =_02218DC4
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x100
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0220587C:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
add r0, r4, #0x77
|
|
add r1, sp, #0
|
|
add r0, r0, #0x100
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
ldr r1, _02205DD8 ; =_02218DD4
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205168
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_022058C0:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
ldr r1, _02205DDC ; =_02218BE8
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_022058F0:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
ldr r1, _02205DE0 ; =_02218BF4
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205920:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x4c
|
|
bl ov00_0220A348
|
|
ldr r1, _02205DE4 ; =_02218C0C
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205950:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0xb
|
|
bl ov00_0220A348
|
|
ldr r1, _02205DE8 ; =_02218C18
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205980:
|
|
mov r0, r5
|
|
bl sub_020E9580
|
|
cmp r0, #2
|
|
beq _022059A8
|
|
ldr r1, _02205DEC ; =_02218DE0
|
|
mov r0, r6
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x100
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_022059A8:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #3
|
|
bl ov00_0220A348
|
|
ldr r1, _02205DF0 ; =_02218C24
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_022059D8:
|
|
ldrsb r1, [r5]
|
|
cmp r1, #0
|
|
blt _022059F4
|
|
cmp r1, #0x80
|
|
bge _022059F4
|
|
ldr r0, _02205DF4 ; =0x0210E484
|
|
ldrb r1, [r0, r1]
|
|
_022059F4:
|
|
mov r0, r1, lsl #0x18
|
|
mov r0, r0, asr #0x18
|
|
cmp r0, #0x4d
|
|
add r2, sp, #0
|
|
bne _02205A20
|
|
ldr r0, _02205DF8 ; =_02218D1C
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r0, #1]
|
|
strb r1, [r2]
|
|
strb r0, [r2, #1]
|
|
b _02205A54
|
|
_02205A20:
|
|
cmp r0, #0x46
|
|
bne _02205A40
|
|
ldr r0, _02205DFC ; =_02218D20
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r0, #1]
|
|
strb r1, [r2]
|
|
strb r0, [r2, #1]
|
|
b _02205A54
|
|
_02205A40:
|
|
ldr r0, _02205E00 ; =_02218D24
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r0, #1]
|
|
strb r1, [r2]
|
|
strb r0, [r2, #1]
|
|
_02205A54:
|
|
ldr r1, _02205E04 ; =_02218C58
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205A74:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
ldr r1, _02205E08 ; =_02218C00
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205AA4:
|
|
mov r0, r5
|
|
bl sub_020EB82C
|
|
mov r2, r0
|
|
ldr r1, _02205E0C ; =0x0000070D
|
|
mov r0, r6
|
|
bl ov00_022051A8
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205ACC:
|
|
mov r0, r5
|
|
bl sub_020EB82C
|
|
mov r2, r0
|
|
ldr r1, _02205E10 ; =0x0000070E
|
|
mov r0, r6
|
|
bl ov00_022051A8
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205AF4:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
ldr r1, _02205E14 ; =_02218DF8
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205B24:
|
|
mov r0, r5
|
|
bl sub_020EB82C
|
|
mov r2, r0
|
|
mov r0, r6
|
|
mov r1, #0x710
|
|
bl ov00_022051A8
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205B4C:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
ldr r1, _02205E18 ; =_02218E0C
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205B7C:
|
|
mov r0, r5
|
|
bl sub_020EB82C
|
|
mov r2, r0
|
|
ldr r1, _02205E1C ; =0x00000712
|
|
mov r0, r6
|
|
bl ov00_022051A8
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205BA4:
|
|
mov r0, r5
|
|
bl sub_020EB82C
|
|
mov r2, r0
|
|
ldr r1, _02205E20 ; =0x00000714
|
|
mov r0, r6
|
|
bl ov00_022051A8
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205BCC:
|
|
mov r0, r5
|
|
bl sub_020EB82C
|
|
mov r2, r0
|
|
ldr r1, _02205E24 ; =0x00000715
|
|
mov r0, r6
|
|
bl ov00_022051A8
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205BF4:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
ldr r1, _02205E28 ; =_02218E20
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205C24:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x33
|
|
bl ov00_0220A348
|
|
ldr r1, _02205E2C ; =_02218C68
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205C54:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
ldr r1, _02205E30 ; =_02218C70
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205C84:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
ldr r1, _02205E34 ; =_02218C78
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205CB4:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
ldr r1, _02205E38 ; =_02218C80
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205CE4:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
ldr r1, _02205E3C ; =_02218C88
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205D14:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
ldr r1, _02205E40 ; =_02218C90
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205D44:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
ldr r1, _02205E44 ; =_02218C98
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205D74:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
ldr r1, _02205E48 ; =_02218CA0
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov00_02205128
|
|
cmp r0, #0
|
|
beq _02205DBC
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205DA4:
|
|
ldr r1, _02205E4C ; =_02218DB4
|
|
mov r0, r6
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x100
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02205DBC:
|
|
mov r0, #0
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02205DC8: .word _02218DC4
|
|
_02205DCC: .word _02218BC8
|
|
_02205DD0: .word _02218BD0
|
|
_02205DD4: .word _02218BE0
|
|
_02205DD8: .word _02218DD4
|
|
_02205DDC: .word _02218BE8
|
|
_02205DE0: .word _02218BF4
|
|
_02205DE4: .word _02218C0C
|
|
_02205DE8: .word _02218C18
|
|
_02205DEC: .word _02218DE0
|
|
_02205DF0: .word _02218C24
|
|
_02205DF4: .word 0x0210E484
|
|
_02205DF8: .word _02218D1C
|
|
_02205DFC: .word _02218D20
|
|
_02205E00: .word _02218D24
|
|
_02205E04: .word _02218C58
|
|
_02205E08: .word _02218C00
|
|
_02205E0C: .word 0x0000070D
|
|
_02205E10: .word 0x0000070E
|
|
_02205E14: .word _02218DF8
|
|
_02205E18: .word _02218E0C
|
|
_02205E1C: .word 0x00000712
|
|
_02205E20: .word 0x00000714
|
|
_02205E24: .word 0x00000715
|
|
_02205E28: .word _02218E20
|
|
_02205E2C: .word _02218C68
|
|
_02205E30: .word _02218C70
|
|
_02205E34: .word _02218C78
|
|
_02205E38: .word _02218C80
|
|
_02205E3C: .word _02218C88
|
|
_02205E40: .word _02218C90
|
|
_02205E44: .word _02218C98
|
|
_02205E48: .word _02218CA0
|
|
_02205E4C: .word _02218DB4
|
|
arm_func_end ov00_02205678
|
|
|
|
arm_func_start ov00_02205E50
|
|
ov00_02205E50: ; 0x02205E50
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
ldr r4, [r7]
|
|
mov r5, r2
|
|
mov r6, r1
|
|
ldr r2, _02205ED8 ; =_02218E2C
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
ldr r2, [r4, #0x198]
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov00_0220211C
|
|
ldr r2, _02205EDC ; =_02218BAC
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov00_022020EC
|
|
mov r2, r6
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov00_0220211C
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
ldr r2, _02205EE0 ; =_02218E44
|
|
bl ov00_022020EC
|
|
mov r2, r5
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov00_0220211C
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
ldr r2, _02205EE4 ; =_02218CE8
|
|
bl ov00_022020EC
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02205ED8: .word _02218E2C
|
|
_02205EDC: .word _02218BAC
|
|
_02205EE0: .word _02218E44
|
|
_02205EE4: .word _02218CE8
|
|
arm_func_end ov00_02205E50
|
|
|
|
arm_func_start ov00_02205EE8
|
|
ov00_02205EE8: ; 0x02205EE8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x1c
|
|
mov r8, r0
|
|
ldr r0, [r8]
|
|
mov r4, #0
|
|
str r4, [sp, #0x14]
|
|
ldr r0, [r0, #0x100]
|
|
cmp r2, #1
|
|
moveq r4, #1
|
|
cmp r0, #0
|
|
ldr r5, [sp, #0x38]
|
|
moveq r4, #0
|
|
cmp r5, #0
|
|
mov r7, r1
|
|
mov r6, r3
|
|
cmpne r4, #0
|
|
beq _02206008
|
|
add r2, sp, #0x18
|
|
mov r0, r8
|
|
mov r1, r7
|
|
bl ov00_02207DD0
|
|
cmp r0, #0
|
|
ldrne r0, [sp, #0x18]
|
|
ldrne r0, [r0, #0xc]
|
|
cmpne r0, #0
|
|
beq _02206008
|
|
mov r0, #0x204
|
|
bl ov00_021EC3A8
|
|
movs r4, r0
|
|
bne _02205F78
|
|
ldr r1, _02206088 ; =_02218CC0
|
|
mov r0, r8
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x1c
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_02205F78:
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, r4
|
|
ldr r0, [r0, #0xc]
|
|
bl ov00_02204654
|
|
mov r2, #0
|
|
ldr ip, [sp, #0x3c]
|
|
stmia r4, {r2, r7}
|
|
mov r0, #1
|
|
stmia sp, {r0, r5}
|
|
add r3, sp, #0x14
|
|
mov r0, r8
|
|
mov r1, #2
|
|
str r5, [sp, #0xc]
|
|
str ip, [sp, #0x10]
|
|
str ip, [sp, #8]
|
|
bl ov00_0220657C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
ldr r2, [sp, #0x14]
|
|
add r1, sp, #0xc
|
|
ldr r5, [r2, #0x18]
|
|
mov r0, r8
|
|
str r2, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r3, r4
|
|
ldmia r1, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
ldr r1, [sp, #0x14]
|
|
mov r0, r8
|
|
bl ov00_022066D0
|
|
b _0220605C
|
|
_02206008:
|
|
str r6, [sp]
|
|
ldr r4, [sp, #0x3c]
|
|
str r5, [sp, #4]
|
|
add r3, sp, #0x14
|
|
mov r0, r8
|
|
mov r1, #2
|
|
mov r2, #0
|
|
str r4, [sp, #8]
|
|
bl ov00_0220657C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
ldr r1, [sp, #0x14]
|
|
mov r0, r8
|
|
ldr r5, [r1, #0x18]
|
|
mov r1, r7
|
|
mov r2, r5
|
|
bl ov00_02205E50
|
|
cmp r0, #0
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_0220605C:
|
|
cmp r6, #0
|
|
beq _0220607C
|
|
mov r0, r8
|
|
mov r1, r5
|
|
bl ov00_02200ED8
|
|
cmp r0, #0
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_0220607C:
|
|
mov r0, #0
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_02206088: .word _02218CC0
|
|
arm_func_end ov00_02205EE8
|
|
|
|
arm_func_start ov00_0220608C
|
|
ov00_0220608C: ; 0x0220608C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r0, [r0]
|
|
mov r5, r1
|
|
ldr r0, [r0, #0x100]
|
|
mov r4, r2
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
mov r0, r5
|
|
bl ov00_02206164
|
|
mov r0, #0xf0
|
|
bl ov00_021EC3A8
|
|
movs r6, r0
|
|
str r0, [r5, #0xc]
|
|
beq _02206150
|
|
mov lr, r4
|
|
mov ip, #0xf
|
|
_022060D0:
|
|
ldmia lr!, {r0, r1, r2, r3}
|
|
stmia r6!, {r0, r1, r2, r3}
|
|
subs ip, ip, #1
|
|
bne _022060D0
|
|
ldr r0, [r4]
|
|
bl ov00_021FF3D4
|
|
ldr r1, [r5, #0xc]
|
|
str r0, [r1]
|
|
ldr r0, [r4, #4]
|
|
bl ov00_021FF3D4
|
|
ldr r1, [r5, #0xc]
|
|
str r0, [r1, #4]
|
|
ldr r0, [r4, #8]
|
|
bl ov00_021FF3D4
|
|
ldr r1, [r5, #0xc]
|
|
str r0, [r1, #8]
|
|
ldr r0, [r4, #0xc]
|
|
bl ov00_021FF3D4
|
|
ldr r1, [r5, #0xc]
|
|
str r0, [r1, #0xc]
|
|
ldr r0, [r4, #0x10]
|
|
bl ov00_021FF3D4
|
|
ldr r1, [r5, #0xc]
|
|
str r0, [r1, #0x10]
|
|
ldr r0, [r4, #0x14]
|
|
bl ov00_021FF3D4
|
|
ldr r1, [r5, #0xc]
|
|
str r0, [r1, #0x14]
|
|
ldr r0, [r4, #0xc8]
|
|
bl ov00_021FF3D4
|
|
ldr r1, [r5, #0xc]
|
|
str r0, [r1, #0xc8]
|
|
_02206150:
|
|
ldr r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_0220608C
|
|
|
|
arm_func_start ov00_02206164
|
|
ov00_02206164: ; 0x02206164
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, [r0]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #4]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #8]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #8]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0xc]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #0xc]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #0x10]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x14]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #0x14]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0xc8]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #0xc8]
|
|
ldr r0, [r4, #0xc]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0xc]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_02206164
|
|
|
|
arm_func_start ov00_02206230
|
|
ov00_02206230: ; 0x02206230
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x10
|
|
movs r7, r0
|
|
mov r6, r1
|
|
ldr r4, [r7]
|
|
bne _0220625C
|
|
ldr r0, _0220655C ; =_02218E88
|
|
ldr r1, _02206560 ; =_02218E9C
|
|
ldr r2, _02206564 ; =_02218E60
|
|
mov r3, #0x22
|
|
bl sub_020E4A9C
|
|
_0220625C:
|
|
ldr r0, [r7]
|
|
cmp r0, #0
|
|
bne _0220627C
|
|
ldr r0, _02206568 ; =_02218EAC
|
|
ldr r1, _02206560 ; =_02218E9C
|
|
ldr r2, _02206564 ; =_02218E60
|
|
mov r3, #0x23
|
|
bl sub_020E4A9C
|
|
_0220627C:
|
|
cmp r6, #0
|
|
bne _02206298
|
|
ldr r0, _0220656C ; =_02218EC0
|
|
ldr r1, _02206560 ; =_02218E9C
|
|
ldr r2, _02206564 ; =_02218E60
|
|
mov r3, #0x24
|
|
bl sub_020E4A9C
|
|
_02206298:
|
|
ldr r1, [r6, #0xc]
|
|
ldr r0, [r6, #0x10]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
cmp r1, #0
|
|
beq _02206550
|
|
ldr r0, [r6]
|
|
cmp r0, #4
|
|
addls pc, pc, r0, lsl #2
|
|
b _0220653C
|
|
_022062C0: ; jump table
|
|
b _022062D4 ; case 0
|
|
b _02206360 ; case 1
|
|
b _022063DC ; case 2
|
|
b _02206448 ; case 3
|
|
b _022064D0 ; case 4
|
|
_022062D4:
|
|
mov r0, #0x20
|
|
bl ov00_021EC3A8
|
|
movs r5, r0
|
|
bne _022062FC
|
|
ldr r1, _02206570 ; =_02218ED4
|
|
mov r0, r7
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x10
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_022062FC:
|
|
mov r1, #0
|
|
mov r2, #0x20
|
|
bl sub_020E5B44
|
|
ldr r1, [r6, #0x1c]
|
|
ldr r0, _02206574 ; =0x00000201
|
|
str r1, [r5]
|
|
ldr r1, [r4, #0x418]
|
|
cmp r1, r0
|
|
bne _02206330
|
|
ldr r1, [r4, #0x1a0]
|
|
mov r0, #0
|
|
str r1, [r5, #4]
|
|
str r0, [r4, #0x1a0]
|
|
_02206330:
|
|
add r1, sp, #8
|
|
mov r0, r7
|
|
mov r3, r5
|
|
str r6, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
ldmia r1, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
beq _02206550
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_02206360:
|
|
mov r0, #8
|
|
bl ov00_021EC3A8
|
|
movs r3, r0
|
|
bne _02206388
|
|
ldr r1, _02206570 ; =_02218ED4
|
|
mov r0, r7
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x10
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_02206388:
|
|
mov r2, #0
|
|
strb r2, [r3]
|
|
strb r2, [r3, #1]
|
|
strb r2, [r3, #2]
|
|
strb r2, [r3, #3]
|
|
strb r2, [r3, #4]
|
|
strb r2, [r3, #5]
|
|
strb r2, [r3, #6]
|
|
strb r2, [r3, #7]
|
|
ldr r0, [r6, #0x1c]
|
|
add r1, sp, #8
|
|
str r0, [r3]
|
|
str r6, [sp]
|
|
str r2, [sp, #4]
|
|
mov r0, r7
|
|
ldmia r1, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
beq _02206550
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_022063DC:
|
|
mov r0, #0x204
|
|
bl ov00_021EC3A8
|
|
movs r4, r0
|
|
bne _02206404
|
|
ldr r1, _02206570 ; =_02218ED4
|
|
mov r0, r7
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x10
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_02206404:
|
|
mov r1, #0
|
|
mov r2, #0x204
|
|
bl sub_020E5B44
|
|
ldr r0, [r6, #0x1c]
|
|
add r1, sp, #8
|
|
str r0, [r4]
|
|
mov r0, r7
|
|
mov r3, r4
|
|
str r6, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
ldmia r1, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
beq _02206550
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_02206448:
|
|
mov r0, #0x10
|
|
bl ov00_021EC3A8
|
|
movs r3, r0
|
|
bne _02206470
|
|
ldr r1, _02206570 ; =_02218ED4
|
|
mov r0, r7
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x10
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_02206470:
|
|
mov r2, r3
|
|
mov r1, #4
|
|
mov r0, #0
|
|
_0220647C:
|
|
strb r0, [r2]
|
|
strb r0, [r2, #1]
|
|
strb r0, [r2, #2]
|
|
strb r0, [r2, #3]
|
|
add r2, r2, #4
|
|
subs r1, r1, #1
|
|
bne _0220647C
|
|
ldr r0, [r6, #0x1c]
|
|
mov r2, #0
|
|
str r0, [r3]
|
|
str r2, [r3, #0xc]
|
|
str r6, [sp]
|
|
add r1, sp, #8
|
|
str r2, [sp, #4]
|
|
mov r0, r7
|
|
ldmia r1, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
beq _02206550
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_022064D0:
|
|
mov r0, #4
|
|
bl ov00_021EC3A8
|
|
movs r3, r0
|
|
bne _022064F8
|
|
ldr r1, _02206570 ; =_02218ED4
|
|
mov r0, r7
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x10
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_022064F8:
|
|
mov r2, #0
|
|
strb r2, [r3]
|
|
strb r2, [r3, #1]
|
|
strb r2, [r3, #2]
|
|
strb r2, [r3, #3]
|
|
ldr r0, [r6, #0x1c]
|
|
add r1, sp, #8
|
|
str r0, [r3]
|
|
str r6, [sp]
|
|
str r2, [sp, #4]
|
|
mov r0, r7
|
|
ldmia r1, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
beq _02206550
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220653C:
|
|
ldr r0, _02206578 ; =_02218EE4
|
|
ldr r1, _02206560 ; =_02218E9C
|
|
ldr r2, _02206564 ; =_02218E60
|
|
mov r3, #0x6b
|
|
bl sub_020E4A9C
|
|
_02206550:
|
|
mov r0, #0
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220655C: .word _02218E88
|
|
_02206560: .word _02218E9C
|
|
_02206564: .word _02218E60
|
|
_02206568: .word _02218EAC
|
|
_0220656C: .word _02218EC0
|
|
_02206570: .word _02218ED4
|
|
_02206574: .word 0x00000201
|
|
_02206578: .word _02218EE4
|
|
arm_func_end ov00_02206230
|
|
|
|
arm_func_start ov00_0220657C
|
|
ov00_0220657C: ; 0x0220657C
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
mov r8, r0
|
|
mov r0, #0x24
|
|
mov r7, r1
|
|
mov r6, r2
|
|
mov r5, r3
|
|
ldr r4, [r8]
|
|
bl ov00_021EC3A8
|
|
cmp r0, #0
|
|
bne _022065B8
|
|
ldr r1, _02206630 ; =_02218ED4
|
|
mov r0, r8
|
|
bl ov00_0220A890
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_022065B8:
|
|
str r7, [r0]
|
|
ldr r1, [sp, #0x18]
|
|
str r6, [r0, #4]
|
|
str r1, [r0, #8]
|
|
mov r1, #0
|
|
str r1, [r0, #0x14]
|
|
cmp r7, #0
|
|
moveq r1, #1
|
|
streq r1, [r0, #0x18]
|
|
beq _02206600
|
|
ldr r2, [r4, #0x20c]
|
|
add r1, r2, #1
|
|
str r1, [r4, #0x20c]
|
|
str r2, [r0, #0x18]
|
|
ldr r1, [r4, #0x20c]
|
|
cmp r1, #2
|
|
movlt r1, #2
|
|
strlt r1, [r4, #0x20c]
|
|
_02206600:
|
|
mov r3, #0
|
|
ldr r2, [sp, #0x1c]
|
|
str r3, [r0, #0x1c]
|
|
ldr r1, [sp, #0x20]
|
|
str r2, [r0, #0xc]
|
|
str r1, [r0, #0x10]
|
|
ldr r1, [r4, #0x424]
|
|
str r1, [r0, #0x20]
|
|
str r0, [r4, #0x424]
|
|
str r0, [r5]
|
|
mov r0, r3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_02206630: .word _02218ED4
|
|
arm_func_end ov00_0220657C
|
|
|
|
arm_func_start ov00_02206634
|
|
ov00_02206634: ; 0x02206634
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r1
|
|
ldr r1, [r4]
|
|
ldr r2, [r0]
|
|
cmp r1, #3
|
|
bne _022066A8
|
|
ldr r0, [r2, #0x210]
|
|
ldr r5, [r4, #4]
|
|
subs r0, r0, #1
|
|
str r0, [r2, #0x210]
|
|
bpl _02206674
|
|
ldr r0, _022066C4 ; =_02218EE8
|
|
ldr r1, _022066C8 ; =_02218E9C
|
|
ldr r2, _022066CC ; =_02218E4C
|
|
mov r3, #0xb6
|
|
bl sub_020E4A9C
|
|
_02206674:
|
|
ldr r0, [r5, #4]
|
|
mov r1, #2
|
|
bl ov00_021FF82C
|
|
ldr r0, [r5, #4]
|
|
bl ov00_021FF818
|
|
ldr r0, [r5, #0x18]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r5, #0x18]
|
|
ldr r0, [r5, #8]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r5, #8]
|
|
_022066A8:
|
|
ldr r0, [r4, #4]
|
|
bl ov00_021EC3D8
|
|
mov r1, #0
|
|
mov r0, r4
|
|
str r1, [r4, #4]
|
|
bl ov00_021EC3D8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022066C4: .word _02218EE8
|
|
_022066C8: .word _02218E9C
|
|
_022066CC: .word _02218E4C
|
|
arm_func_end ov00_02206634
|
|
|
|
arm_func_start ov00_022066D0
|
|
ov00_022066D0: ; 0x022066D0
|
|
stmdb sp!, {r3, lr}
|
|
ldr r3, [r0]
|
|
mov ip, #0
|
|
ldr r2, [r3, #0x424]
|
|
cmp r2, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
_022066E8:
|
|
cmp r2, r1
|
|
bne _0220670C
|
|
cmp ip, #0
|
|
ldreq r2, [r2, #0x20]
|
|
streq r2, [r3, #0x424]
|
|
ldrne r2, [r1, #0x20]
|
|
strne r2, [ip, #0x20]
|
|
bl ov00_02206634
|
|
ldmia sp!, {r3, pc}
|
|
_0220670C:
|
|
mov ip, r2
|
|
ldr r2, [r2, #0x20]
|
|
cmp r2, #0
|
|
bne _022066E8
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_022066D0
|
|
|
|
arm_func_start ov00_02206720
|
|
ov00_02206720: ; 0x02206720
|
|
ldr r0, [r0]
|
|
ldr r3, [r0, #0x424]
|
|
cmp r3, #0
|
|
beq _02206758
|
|
_02206730:
|
|
ldr r0, [r3, #0x18]
|
|
cmp r0, r2
|
|
bne _0220674C
|
|
cmp r1, #0
|
|
strne r3, [r1]
|
|
mov r0, #1
|
|
bx lr
|
|
_0220674C:
|
|
ldr r3, [r3, #0x20]
|
|
cmp r3, #0
|
|
bne _02206730
|
|
_02206758:
|
|
cmp r1, #0
|
|
movne r0, #0
|
|
strne r0, [r1]
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end ov00_02206720
|
|
|
|
arm_func_start ov00_0220676C
|
|
ov00_0220676C: ; 0x0220676C
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #0x424]
|
|
cmp r1, #0
|
|
beq _022067A0
|
|
_0220677C:
|
|
ldr r0, [r1, #8]
|
|
cmp r0, #0
|
|
ldrne r0, [r1]
|
|
cmpne r0, #3
|
|
movne r0, #1
|
|
bxne lr
|
|
ldr r1, [r1, #0x20]
|
|
cmp r1, #0
|
|
bne _0220677C
|
|
_022067A0:
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end ov00_0220676C
|
|
|
|
arm_func_start ov00_022067A8
|
|
ov00_022067A8: ; 0x022067A8
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r1
|
|
ldr r3, [r5]
|
|
mov r4, #0
|
|
cmp r3, #4
|
|
addls pc, pc, r3, lsl #2
|
|
b _02206808
|
|
_022067C4: ; jump table
|
|
b _022067D8 ; case 0
|
|
b _022067E4 ; case 1
|
|
b _022067F0 ; case 2
|
|
b _02206808 ; case 3
|
|
b _022067FC ; case 4
|
|
_022067D8:
|
|
bl ov00_02203A58
|
|
mov r4, r0
|
|
b _02206828
|
|
_022067E4:
|
|
bl ov00_02207B8C
|
|
mov r4, r0
|
|
b _02206828
|
|
_022067F0:
|
|
bl ov00_0220484C
|
|
mov r4, r0
|
|
b _02206828
|
|
_022067FC:
|
|
bl ov00_0220A244
|
|
mov r4, r0
|
|
b _02206828
|
|
_02206808:
|
|
ldr r1, _02206838 ; =_02218F08
|
|
mov r2, r3
|
|
bl ov00_0220A3BC
|
|
ldr r0, _0220683C ; =_02218EE4
|
|
ldr r1, _02206840 ; =_02218E9C
|
|
ldr r2, _02206844 ; =_02218E74
|
|
ldr r3, _02206848 ; =0x00000146
|
|
bl sub_020E4A9C
|
|
_02206828:
|
|
cmp r4, #0
|
|
strne r4, [r5, #0x1c]
|
|
mov r0, r4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02206838: .word _02218F08
|
|
_0220683C: .word _02218EE4
|
|
_02206840: .word _02218E9C
|
|
_02206844: .word _02218E74
|
|
_02206848: .word 0x00000146
|
|
arm_func_end ov00_022067A8
|
|
|
|
arm_func_start ov00_0220684C
|
|
ov00_0220684C: ; 0x0220684C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x18
|
|
mov r6, r1
|
|
ldr r2, [r6]
|
|
mov r7, r0
|
|
sub r2, r2, #0x65
|
|
ldr r4, [r7]
|
|
cmp r2, #3
|
|
addls pc, pc, r2, lsl #2
|
|
b _02206B0C
|
|
_02206874: ; jump table
|
|
b _02206B20 ; case 0
|
|
b _02206884 ; case 1
|
|
b _02206898 ; case 2
|
|
b _02206A1C ; case 3
|
|
_02206884:
|
|
bl ov00_02207610
|
|
cmp r0, #0
|
|
beq _02206B20
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_02206898:
|
|
ldr r1, [r6, #8]
|
|
add r2, sp, #0x14
|
|
bl ov00_0220A5A8
|
|
cmp r0, #0
|
|
addne sp, sp, #0x18
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #4
|
|
bne _022068D4
|
|
ldr r1, _02206B70 ; =_02219008
|
|
mov r0, r7
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x18
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_022068D4:
|
|
cmp r0, #3
|
|
bne _02206B20
|
|
ldr r1, [r6, #0xc]
|
|
add r2, sp, #8
|
|
mov r0, r7
|
|
mov r5, #1
|
|
bl ov00_02207DD0
|
|
cmp r0, #0
|
|
bne _02206910
|
|
ldr r1, _02206B70 ; =_02219008
|
|
mov r0, r7
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x18
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_02206910:
|
|
ldr r2, _02206B74 ; =_02219024
|
|
mov r0, r7
|
|
add r1, r6, #0x28
|
|
bl ov00_022020EC
|
|
ldr r2, _02206B78 ; =_0221902C
|
|
mov r0, r7
|
|
add r1, r6, #0x28
|
|
bl ov00_022020EC
|
|
ldr r2, [r4, #0x1a0]
|
|
mov r0, r7
|
|
add r1, r6, #0x28
|
|
bl ov00_0220211C
|
|
ldr r2, _02206B7C ; =_02219034
|
|
mov r0, r7
|
|
add r1, r6, #0x28
|
|
bl ov00_022020EC
|
|
mov r0, r7
|
|
add r1, r6, #0x28
|
|
add r2, r4, #0x110
|
|
bl ov00_022020EC
|
|
mov r0, r7
|
|
add r1, r6, #0x28
|
|
ldr r2, _02206B80 ; =_0221903C
|
|
bl ov00_022020EC
|
|
mov r0, r7
|
|
add r1, r6, #0x28
|
|
ldr r2, [sp, #8]
|
|
ldr r2, [r2, #0x18]
|
|
bl ov00_022020EC
|
|
mov r0, r7
|
|
add r1, r6, #0x28
|
|
ldr r2, _02206B84 ; =_02219044
|
|
bl ov00_022020EC
|
|
ldr r2, [r4, #0x434]
|
|
cmp r2, #0
|
|
beq _022069D4
|
|
ldr r3, [r6, #0xc]
|
|
mov r0, #0
|
|
_022069A8:
|
|
ldr r1, [r2, #0xc]
|
|
cmp r1, r3
|
|
bne _022069C8
|
|
cmp r2, r6
|
|
beq _022069C8
|
|
ldr r1, [r2]
|
|
cmp r1, #0x67
|
|
movle r5, r0
|
|
_022069C8:
|
|
ldr r2, [r2, #0x3c]
|
|
cmp r2, #0
|
|
bne _022069A8
|
|
_022069D4:
|
|
cmp r5, #0
|
|
beq _02206A10
|
|
ldr r0, [sp, #8]
|
|
ldr r0, [r0, #0x18]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [r0, #0x18]
|
|
ldr r0, [sp, #8]
|
|
bl ov00_02207FB8
|
|
cmp r0, #0
|
|
beq _02206A10
|
|
ldr r1, [sp, #8]
|
|
mov r0, r7
|
|
bl ov00_02207E40
|
|
_02206A10:
|
|
mov r0, #0x68
|
|
str r0, [r6]
|
|
b _02206B20
|
|
_02206A1C:
|
|
add r2, sp, #0xc
|
|
str r2, [sp]
|
|
ldr r1, _02206B88 ; =_0221904C
|
|
add r3, sp, #0x10
|
|
str r1, [sp, #4]
|
|
ldr r1, [r6, #8]
|
|
add r2, r6, #0x18
|
|
bl ov00_02202454
|
|
cmp r0, #0
|
|
addne sp, sp, #0x18
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r6, #0x18]
|
|
ldr r1, _02206B84 ; =_02219044
|
|
bl sub_020E9AD0
|
|
cmp r0, #0
|
|
beq _02206B20
|
|
mov r1, #0
|
|
strb r1, [r0]
|
|
ldr r4, [r6, #0x18]
|
|
ldr r1, _02206B8C ; =_02219050
|
|
mov r0, r4
|
|
mov r2, #7
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
bne _02206AC8
|
|
ldr r0, [r6, #0x14]
|
|
add r0, r0, #1
|
|
str r0, [r6, #0x14]
|
|
cmp r0, #1
|
|
ble _02206AAC
|
|
ldr r1, _02206B90 ; =_02219058
|
|
mov r0, r7
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x18
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_02206AAC:
|
|
mov r0, r7
|
|
mov r1, r6
|
|
bl ov00_022075AC
|
|
cmp r0, #0
|
|
beq _02206AF8
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_02206AC8:
|
|
ldr r1, _02206B94 ; =_0221907C
|
|
mov r0, r4
|
|
mov r2, #6
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
beq _02206AF8
|
|
ldr r1, _02206B98 ; =_02219084
|
|
mov r0, r7
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x18
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_02206AF8:
|
|
mov r0, #0x69
|
|
str r0, [r6]
|
|
mov r0, #0
|
|
str r0, [r6, #0x20]
|
|
b _02206B20
|
|
_02206B0C:
|
|
ldr r0, _02206B9C ; =_022190A4
|
|
ldr r1, _02206BA0 ; =_022190A8
|
|
ldr r2, _02206BA4 ; =_02218FE4
|
|
mov r3, #0x9f
|
|
bl sub_020E4A9C
|
|
_02206B20:
|
|
ldr r0, [r6, #0x30]
|
|
cmp r0, #0
|
|
ble _02206B64
|
|
mov r1, #1
|
|
ldr r0, _02206B88 ; =_0221904C
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [r6, #8]
|
|
add r3, sp, #0xc
|
|
mov r0, r7
|
|
add r2, r6, #0x28
|
|
bl ov00_0220267C
|
|
ldr r1, [sp, #0xc]
|
|
cmp r1, #0
|
|
cmpeq r0, #0
|
|
movne r0, #0x6a
|
|
strne r0, [r6]
|
|
_02206B64:
|
|
mov r0, #0
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02206B70: .word _02219008
|
|
_02206B74: .word _02219024
|
|
_02206B78: .word _0221902C
|
|
_02206B7C: .word _02219034
|
|
_02206B80: .word _0221903C
|
|
_02206B84: .word _02219044
|
|
_02206B88: .word _0221904C
|
|
_02206B8C: .word _02219050
|
|
_02206B90: .word _02219058
|
|
_02206B94: .word _0221907C
|
|
_02206B98: .word _02219084
|
|
_02206B9C: .word _022190A4
|
|
_02206BA0: .word _022190A8
|
|
_02206BA4: .word _02218FE4
|
|
arm_func_end ov00_0220684C
|
|
|
|
arm_func_start ov00_02206BA8
|
|
ov00_02206BA8: ; 0x02206BA8
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x184
|
|
mov r5, r1
|
|
ldr r1, [r5]
|
|
mov r6, r0
|
|
cmp r1, #0x68
|
|
ldr r4, [r6]
|
|
beq _02206BDC
|
|
ldr r0, _02206DD4 ; =_022190B4
|
|
ldr r1, _02206DD8 ; =_022190A8
|
|
ldr r2, _02206DDC ; =_02218FC0
|
|
mov r3, #0xc1
|
|
bl sub_020E4A9C
|
|
_02206BDC:
|
|
add r1, sp, #8
|
|
ldr r0, _02206DE0 ; =_0221904C
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [r5, #8]
|
|
add r3, sp, #0xc
|
|
mov r0, r6
|
|
add r2, r5, #0x18
|
|
bl ov00_02202454
|
|
cmp r0, #0
|
|
addne sp, sp, #0x184
|
|
ldmneia sp!, {r4, r5, r6, r7, pc}
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #0
|
|
beq _02206C2C
|
|
mov r0, #0x6a
|
|
str r0, [r5]
|
|
add sp, sp, #0x184
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_02206C2C:
|
|
ldr r0, [r5, #0x18]
|
|
ldr r1, _02206DE4 ; =_02219044
|
|
bl sub_020E9AD0
|
|
cmp r0, #0
|
|
beq _02206DC8
|
|
mov r1, #0
|
|
strb r1, [r0]
|
|
ldr r7, [r5, #0x18]
|
|
ldr r1, _02206DE8 ; =_02219024
|
|
mov r0, r7
|
|
mov r2, #6
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
bne _02206DAC
|
|
ldr r1, _02206DEC ; =_0221902C
|
|
add r2, sp, #0x71
|
|
mov r0, r7
|
|
mov r3, #0x10
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _02206C94
|
|
mov r0, #0x6a
|
|
str r0, [r5]
|
|
add sp, sp, #0x184
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_02206C94:
|
|
add r0, sp, #0x71
|
|
bl sub_020EB82C
|
|
mov r7, r0
|
|
ldr r0, [r5, #0x18]
|
|
ldr r1, _02206DF0 ; =_02219034
|
|
add r2, sp, #0x52
|
|
mov r3, #0x1f
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _02206CD0
|
|
mov r0, #0x6a
|
|
str r0, [r5]
|
|
add sp, sp, #0x184
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_02206CD0:
|
|
ldr r0, [r5, #0x18]
|
|
ldr r1, _02206DF4 ; =_0221903C
|
|
add r2, sp, #0x31
|
|
mov r3, #0x21
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _02206D00
|
|
mov r0, #0x6a
|
|
str r0, [r5]
|
|
add sp, sp, #0x184
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_02206D00:
|
|
str r7, [sp]
|
|
add r2, r4, #0x77
|
|
ldr r3, [r4, #0x1a0]
|
|
ldr r1, _02206DF8 ; =_022190D4
|
|
add r0, sp, #0x81
|
|
add r2, r2, #0x100
|
|
bl sub_020E7F30
|
|
add r0, sp, #0x81
|
|
bl sub_020E9580
|
|
mov r1, r0
|
|
add r0, sp, #0x81
|
|
add r2, sp, #0x10
|
|
bl ov00_021FF31C
|
|
add r0, sp, #0x31
|
|
add r1, sp, #0x10
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
beq _02206D7C
|
|
ldr r2, _02206DFC ; =_02219050
|
|
mov r0, r6
|
|
add r1, r5, #0x28
|
|
bl ov00_022020EC
|
|
ldr r2, _02206DE4 ; =_02219044
|
|
mov r0, r6
|
|
add r1, r5, #0x28
|
|
bl ov00_022020EC
|
|
mov r0, #0x6a
|
|
str r0, [r5]
|
|
add sp, sp, #0x184
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_02206D7C:
|
|
ldr r2, _02206E00 ; =_0221907C
|
|
mov r0, r6
|
|
add r1, r5, #0x28
|
|
bl ov00_022020EC
|
|
ldr r2, _02206DE4 ; =_02219044
|
|
mov r0, r6
|
|
add r1, r5, #0x28
|
|
bl ov00_022020EC
|
|
mov r0, #0x69
|
|
str r0, [r5]
|
|
str r7, [r5, #0xc]
|
|
b _02206DC0
|
|
_02206DAC:
|
|
mov r0, #0x6a
|
|
str r0, [r5]
|
|
add sp, sp, #0x184
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_02206DC0:
|
|
mov r0, #0
|
|
str r0, [r5, #0x20]
|
|
_02206DC8:
|
|
mov r0, #0
|
|
add sp, sp, #0x184
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02206DD4: .word _022190B4
|
|
_02206DD8: .word _022190A8
|
|
_02206DDC: .word _02218FC0
|
|
_02206DE0: .word _0221904C
|
|
_02206DE4: .word _02219044
|
|
_02206DE8: .word _02219024
|
|
_02206DEC: .word _0221902C
|
|
_02206DF0: .word _02219034
|
|
_02206DF4: .word _0221903C
|
|
_02206DF8: .word _022190D4
|
|
_02206DFC: .word _02219050
|
|
_02206E00: .word _0221907C
|
|
arm_func_end ov00_02206BA8
|
|
|
|
arm_func_start ov00_02206E04
|
|
ov00_02206E04: ; 0x02206E04
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0xc
|
|
mov sb, r1
|
|
ldr r1, [sb, #0x30]
|
|
mov sl, r0
|
|
cmp r1, #0
|
|
addne sp, sp, #0xc
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r0, [sb, #0x38]
|
|
bl ov00_021FE6E4
|
|
cmp r0, #0
|
|
beq _02206EC8
|
|
mov fp, #0
|
|
ldr r5, _02206ED4 ; =_0221904C
|
|
mov r8, fp
|
|
mov r6, fp
|
|
add r4, sp, #8
|
|
_02206E4C:
|
|
ldr r0, [sb, #0x38]
|
|
mov r1, r8
|
|
bl ov00_021FE6EC
|
|
mov r7, r0
|
|
str r6, [sp]
|
|
str r5, [sp, #4]
|
|
ldr r1, [sb, #8]
|
|
mov r0, sl
|
|
mov r2, r7
|
|
mov r3, r4
|
|
bl ov00_0220267C
|
|
ldr r1, [sp, #8]
|
|
cmp r1, #0
|
|
cmpeq r0, #0
|
|
beq _02206E9C
|
|
mov r0, #0x6a
|
|
str r0, [sb]
|
|
add sp, sp, #0xc
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02206E9C:
|
|
ldr r1, [r7, #0xc]
|
|
ldr r0, [r7, #8]
|
|
cmp r1, r0
|
|
bne _02206EC8
|
|
ldr r0, [sb, #0x38]
|
|
mov r1, fp
|
|
bl ov00_021FE968
|
|
ldr r0, [sb, #0x38]
|
|
bl ov00_021FE6E4
|
|
cmp r0, #0
|
|
bne _02206E4C
|
|
_02206EC8:
|
|
mov r0, #0
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02206ED4: .word _0221904C
|
|
arm_func_end ov00_02206E04
|
|
|
|
arm_func_start ov00_02206ED8
|
|
ov00_02206ED8: ; 0x02206ED8
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x24
|
|
mov r8, r1
|
|
ldr r1, [r8, #0x30]
|
|
mov sb, r0
|
|
cmp r1, #0
|
|
ldr r7, [sb]
|
|
beq _02206F3C
|
|
mov r2, #1
|
|
str r2, [sp]
|
|
ldr r1, _0220714C ; =_0221904C
|
|
add r3, sp, #0x1c
|
|
str r1, [sp, #4]
|
|
ldr r1, [r8, #8]
|
|
add r2, r8, #0x28
|
|
bl ov00_0220267C
|
|
ldr r1, [sp, #0x1c]
|
|
cmp r1, #0
|
|
cmpeq r0, #0
|
|
beq _02206F3C
|
|
mov r0, #0x6a
|
|
str r0, [r8]
|
|
add sp, sp, #0x24
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02206F3C:
|
|
ldr r0, [r8, #0x30]
|
|
cmp r0, #0
|
|
bne _02206F74
|
|
mov r0, sb
|
|
mov r1, r8
|
|
bl ov00_02206E04
|
|
cmp r0, #0
|
|
addne sp, sp, #0x24
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r0, [r8]
|
|
cmp r0, #0x6a
|
|
addeq sp, sp, #0x24
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02206F74:
|
|
add r1, sp, #0x1c
|
|
ldr r0, _0220714C ; =_0221904C
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [r8, #8]
|
|
add r3, sp, #0x20
|
|
mov r0, sb
|
|
add r2, r8, #0x18
|
|
bl ov00_02202454
|
|
cmp r0, #0
|
|
beq _02206FB4
|
|
mov r0, #0x6a
|
|
str r0, [r8]
|
|
add sp, sp, #0x24
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02206FB4:
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #0
|
|
ble _02206FD0
|
|
mov r0, #0
|
|
bl ov00_021FFA70
|
|
add r0, r0, #0x12c
|
|
str r0, [r8, #0x10]
|
|
_02206FD0:
|
|
mov r4, #0
|
|
mov sl, #2
|
|
add fp, sp, #0x14
|
|
add r6, sp, #8
|
|
_02206FE0:
|
|
mov r0, sb
|
|
add r1, r8, #0x18
|
|
add r2, sp, #0x10
|
|
add r3, sp, #0xc
|
|
str r6, [sp]
|
|
bl ov00_022027FC
|
|
cmp r0, #0
|
|
addne sp, sp, #0x24
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, [sp, #0x10]
|
|
cmp r1, #0
|
|
beq _02207124
|
|
ldr r2, [sp, #0xc]
|
|
cmp r2, #0x66
|
|
bgt _0220702C
|
|
bge _022070E4
|
|
cmp r2, #1
|
|
beq _02207060
|
|
b _02207118
|
|
_0220702C:
|
|
sub r0, r2, #0xc8
|
|
cmp r0, #8
|
|
addls pc, pc, r0, lsl #2
|
|
b _02207118
|
|
_0220703C: ; jump table
|
|
b _022070FC ; case 0
|
|
b _022070FC ; case 1
|
|
b _022070FC ; case 2
|
|
b _022070FC ; case 3
|
|
b _022070FC ; case 4
|
|
b _022070FC ; case 5
|
|
b _022070FC ; case 6
|
|
b _022070FC ; case 7
|
|
b _022070FC ; case 8
|
|
_02207060:
|
|
ldr r1, [r7, #0x1bc]
|
|
ldr r0, [r7, #0x1c0]
|
|
str r1, [sp, #0x14]
|
|
str r0, [sp, #0x18]
|
|
cmp r1, #0
|
|
beq _02207118
|
|
mov r0, #0xc
|
|
bl ov00_021EC3A8
|
|
movs r5, r0
|
|
bne _022070A0
|
|
ldr r1, _02207150 ; =_022190DC
|
|
mov r0, sb
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x24
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022070A0:
|
|
ldr r0, [r8, #0xc]
|
|
str r0, [r5]
|
|
ldr r0, [sp, #0x10]
|
|
bl ov00_021FF3D4
|
|
str r0, [r5, #8]
|
|
mov r0, #0
|
|
bl ov00_021FFA70
|
|
str r0, [r5, #4]
|
|
mov r3, r5
|
|
mov r0, sb
|
|
stmia sp, {r4, sl}
|
|
ldmia fp, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
beq _02207118
|
|
add sp, sp, #0x24
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022070E4:
|
|
ldr r1, [r8, #0xc]
|
|
ldr r3, _02207154 ; =_022190EC
|
|
mov r0, sb
|
|
mov r2, #0x67
|
|
bl ov00_02201BC4
|
|
b _02207118
|
|
_022070FC:
|
|
str r1, [sp]
|
|
ldr r1, [sp, #8]
|
|
mov r0, sb
|
|
str r1, [sp, #4]
|
|
mov r1, r8
|
|
ldr r3, [r8, #0x18]
|
|
bl ov00_0220A1C0
|
|
_02207118:
|
|
mov r0, sb
|
|
add r1, r8, #0x18
|
|
bl ov00_02202938
|
|
_02207124:
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
bne _02206FE0
|
|
ldr r0, [sp, #0x1c]
|
|
cmp r0, #0
|
|
movne r0, #0x6a
|
|
strne r0, [r8]
|
|
mov r0, #0
|
|
add sp, sp, #0x24
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_0220714C: .word _0221904C
|
|
_02207150: .word _022190DC
|
|
_02207154: .word _022190EC
|
|
arm_func_end ov00_02206ED8
|
|
|
|
arm_func_start ov00_02207158
|
|
ov00_02207158: ; 0x02207158
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r1
|
|
ldr r1, [r5]
|
|
mov r6, r0
|
|
cmp r1, #0x64
|
|
mov r4, #0
|
|
bne _02207188
|
|
ldr r0, _022071E4 ; =_022190F0
|
|
ldr r1, _022071E8 ; =_022190A8
|
|
ldr r2, _022071EC ; =_02218F60
|
|
ldr r3, _022071F0 ; =0x000001D9
|
|
bl sub_020E4A9C
|
|
_02207188:
|
|
ldr r0, [r5]
|
|
cmp r0, #0x69
|
|
beq _022071BC
|
|
ldr r0, [r5, #4]
|
|
mov r1, r5
|
|
cmp r0, #0
|
|
mov r0, r6
|
|
beq _022071B4
|
|
bl ov00_0220684C
|
|
mov r4, r0
|
|
b _022071BC
|
|
_022071B4:
|
|
bl ov00_02206BA8
|
|
mov r4, r0
|
|
_022071BC:
|
|
cmp r4, #0
|
|
ldreq r0, [r5]
|
|
cmpeq r0, #0x69
|
|
bne _022071DC
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov00_02206ED8
|
|
mov r4, r0
|
|
_022071DC:
|
|
mov r0, r4
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_022071E4: .word _022190F0
|
|
_022071E8: .word _022190A8
|
|
_022071EC: .word _02218F60
|
|
_022071F0: .word 0x000001D9
|
|
arm_func_end ov00_02207158
|
|
|
|
arm_func_start ov00_022071F4
|
|
ov00_022071F4: ; 0x022071F4
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r1
|
|
ldr r0, [r4, #8]
|
|
mov r1, #2
|
|
bl ov00_021FF82C
|
|
ldr r0, [r4, #8]
|
|
bl ov00_021FF818
|
|
ldr r0, [r4, #0x18]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0x18]
|
|
ldr r0, [r4, #0x28]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0x28]
|
|
ldr r0, [r4, #0x38]
|
|
cmp r0, #0
|
|
beq _02207248
|
|
bl ov00_021FE678
|
|
mov r0, #0
|
|
str r0, [r4, #0x38]
|
|
_02207248:
|
|
mov r0, r4
|
|
bl ov00_021EC3D8
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_022071F4
|
|
|
|
arm_func_start ov00_02207254
|
|
ov00_02207254: ; 0x02207254
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r5, r0
|
|
movs r4, r1
|
|
ldr r6, [r5]
|
|
bne _0220727C
|
|
ldr r0, _02207354 ; =_02219118
|
|
ldr r1, _02207358 ; =_022190A8
|
|
ldr r2, _0220735C ; =_02218F50
|
|
ldr r3, _02207360 ; =0x00000213
|
|
bl sub_020E4A9C
|
|
_0220727C:
|
|
ldr r1, [r6, #0x434]
|
|
cmp r1, r4
|
|
ldreq r0, [r4, #0x3c]
|
|
streq r0, [r6, #0x434]
|
|
beq _022072E0
|
|
ldr r0, [r1, #0x3c]
|
|
cmp r0, r4
|
|
beq _022072D8
|
|
_0220729C:
|
|
cmp r0, #0
|
|
bne _022072C8
|
|
ldr r0, _02207364 ; =_022190A4
|
|
ldr r1, _02207358 ; =_022190A8
|
|
ldr r2, _0220735C ; =_02218F50
|
|
ldr r3, _02207368 ; =0x00000225
|
|
bl sub_020E4A9C
|
|
ldr r1, _0220736C ; =_02219128
|
|
mov r0, r5
|
|
bl ov00_0220A3BC
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_022072C8:
|
|
mov r1, r0
|
|
ldr r0, [r0, #0x3c]
|
|
cmp r0, r4
|
|
bne _0220729C
|
|
_022072D8:
|
|
ldr r0, [r4, #0x3c]
|
|
str r0, [r1, #0x3c]
|
|
_022072E0:
|
|
ldr r0, [r4, #0x38]
|
|
bl ov00_021FE6E4
|
|
cmp r0, #0
|
|
beq _02207344
|
|
mov r6, #0
|
|
mov r7, r6
|
|
_022072F8:
|
|
ldr r0, [r4, #0x38]
|
|
mov r1, r7
|
|
bl ov00_021FE6EC
|
|
ldr r2, [r0, #0x10]
|
|
cmp r2, #0x64
|
|
bge _02207328
|
|
ldr ip, [r0]
|
|
ldr r3, [r0, #0x14]
|
|
ldr r1, [r4, #0xc]
|
|
mov r0, r5
|
|
add r3, ip, r3
|
|
bl ov00_02201AE8
|
|
_02207328:
|
|
ldr r0, [r4, #0x38]
|
|
mov r1, r6
|
|
bl ov00_021FE968
|
|
ldr r0, [r4, #0x38]
|
|
bl ov00_021FE6E4
|
|
cmp r0, #0
|
|
bne _022072F8
|
|
_02207344:
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_022071F4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02207354: .word _02219118
|
|
_02207358: .word _022190A8
|
|
_0220735C: .word _02218F50
|
|
_02207360: .word 0x00000213
|
|
_02207364: .word _022190A4
|
|
_02207368: .word 0x00000225
|
|
_0220736C: .word _02219128
|
|
arm_func_end ov00_02207254
|
|
|
|
arm_func_start ov00_02207370
|
|
ov00_02207370: ; 0x02207370
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
mov r1, #0x4000
|
|
bl ov00_021FF48C
|
|
mov r0, r4
|
|
mov r1, #0x8000
|
|
bl ov00_021FF48C
|
|
mov r0, r4
|
|
mov r1, #0x10000
|
|
bl ov00_021FF48C
|
|
mov r0, r4
|
|
mov r1, #0x20000
|
|
bl ov00_021FF48C
|
|
mov r0, r4
|
|
mov r1, #0x40000
|
|
bl ov00_021FF48C
|
|
mov r0, r4
|
|
mov r1, #0x4000
|
|
bl ov00_021FF4D0
|
|
mov r0, r4
|
|
mov r1, #0x8000
|
|
bl ov00_021FF4D0
|
|
mov r0, r4
|
|
mov r1, #0x10000
|
|
bl ov00_021FF4D0
|
|
mov r0, r4
|
|
bl ov00_021FF510
|
|
mov r0, r4
|
|
bl ov00_021FF558
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_02207370
|
|
|
|
arm_func_start ov00_022073E8
|
|
ov00_022073E8: ; 0x022073E8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r4, r0
|
|
ldr r7, [r4]
|
|
mvn r1, #0
|
|
ldr r0, [r7, #0x204]
|
|
cmp r0, r1
|
|
beq _02207470
|
|
bl ov00_021FF694
|
|
cmp r0, #0
|
|
beq _02207470
|
|
mov r1, #0
|
|
ldr r0, [r7, #0x204]
|
|
mov r2, r1
|
|
bl ov00_021FF900
|
|
mov r6, r0
|
|
mvn r1, #0
|
|
cmp r6, r1
|
|
beq _02207470
|
|
mov r0, r4
|
|
mov r2, #0
|
|
bl ov00_0220752C
|
|
movs r5, r0
|
|
beq _02207468
|
|
mov r0, #0x68
|
|
str r0, [r5]
|
|
mov r0, r6
|
|
str r6, [r5, #8]
|
|
mov r1, #0
|
|
bl ov00_021FF44C
|
|
ldr r0, [r5, #8]
|
|
bl ov00_02207370
|
|
b _02207470
|
|
_02207468:
|
|
mov r0, r6
|
|
bl ov00_021FF818
|
|
_02207470:
|
|
ldr r7, [r7, #0x434]
|
|
cmp r7, #0
|
|
beq _022074D0
|
|
mov r5, #0
|
|
_02207480:
|
|
mov r0, r4
|
|
mov r1, r7
|
|
ldr r6, [r7, #0x3c]
|
|
bl ov00_02207158
|
|
ldr r1, [r7]
|
|
cmp r1, #0x6a
|
|
beq _022074B8
|
|
cmp r0, #0
|
|
bne _022074B8
|
|
mov r0, r5
|
|
bl ov00_021FFA70
|
|
ldr r1, [r7, #0x10]
|
|
cmp r0, r1
|
|
ble _022074C4
|
|
_022074B8:
|
|
mov r0, r4
|
|
mov r1, r7
|
|
bl ov00_02207254
|
|
_022074C4:
|
|
mov r7, r6
|
|
cmp r6, #0
|
|
bne _02207480
|
|
_022074D0:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_022073E8
|
|
|
|
arm_func_start ov00_022074D8
|
|
ov00_022074D8: ; 0x022074D8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x434]
|
|
cmp r0, #0
|
|
beq _02207508
|
|
_022074E8:
|
|
ldr r2, [r0, #0xc]
|
|
cmp r2, r1
|
|
ldreq r2, [r0]
|
|
cmpeq r2, #0x69
|
|
bxeq lr
|
|
ldr r0, [r0, #0x3c]
|
|
cmp r0, #0
|
|
bne _022074E8
|
|
_02207508:
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end ov00_022074D8
|
|
|
|
arm_func_start ov00_02207510
|
|
ov00_02207510: ; 0x02207510
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_02207510
|
|
|
|
arm_func_start ov00_0220752C
|
|
ov00_0220752C: ; 0x0220752C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
ldr r5, [r0]
|
|
mov r0, #0x40
|
|
mov r7, r1
|
|
mov r6, r2
|
|
bl ov00_021EC3A8
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r1, #0
|
|
mov r2, #0x40
|
|
bl sub_020E5B44
|
|
mov r0, #0x64
|
|
stmia r4, {r0, r6}
|
|
sub r0, r0, #0x65
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
str r7, [r4, #0xc]
|
|
bl ov00_021FFA70
|
|
add r0, r0, #0x12c
|
|
str r0, [r4, #0x10]
|
|
ldr r3, [r5, #0x434]
|
|
ldr r2, _022075A8 ; =ov00_02207510
|
|
mov r0, #0x18
|
|
mov r1, #0
|
|
str r3, [r4, #0x3c]
|
|
bl ov00_021FE5B4
|
|
str r0, [r4, #0x38]
|
|
mov r0, r4
|
|
str r4, [r5, #0x434]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022075A8: .word ov00_02207510
|
|
arm_func_end ov00_0220752C
|
|
|
|
arm_func_start ov00_022075AC
|
|
ov00_022075AC: ; 0x022075AC
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x10
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r4, r1
|
|
str r2, [sp, #4]
|
|
add r3, sp, #0xc
|
|
mov r1, #2
|
|
mov r5, r0
|
|
str r2, [sp, #8]
|
|
bl ov00_0220657C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x10
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, [r4, #0xc]
|
|
ldr r2, [r0, #0x18]
|
|
mov r0, r5
|
|
bl ov00_02205E50
|
|
cmp r0, #0
|
|
moveq r0, #0x65
|
|
streq r0, [r4]
|
|
moveq r0, #0
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_022075AC
|
|
|
|
arm_func_start ov00_02207610
|
|
ov00_02207610: ; 0x02207610
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0xc
|
|
mov r4, r1
|
|
ldr r1, [r4, #0xc]
|
|
add r2, sp, #0
|
|
mov r5, r0
|
|
bl ov00_02207DD0
|
|
cmp r0, #0
|
|
bne _0220764C
|
|
ldr r1, _0220778C ; =_02219008
|
|
mov r0, r5
|
|
bl ov00_0220A890
|
|
add sp, sp, #0xc
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, pc}
|
|
_0220764C:
|
|
mov r0, #2
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov00_021FF804
|
|
mvn r1, #0
|
|
str r0, [r4, #8]
|
|
cmp r0, r1
|
|
bne _02207698
|
|
ldr r2, _02207790 ; =_0221914C
|
|
mov r0, r5
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r5
|
|
mov r1, #3
|
|
mov r2, #0
|
|
bl ov00_02202990
|
|
add sp, sp, #0xc
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02207698:
|
|
mov r1, #0
|
|
bl ov00_021FF44C
|
|
cmp r0, #0
|
|
bne _022076D4
|
|
ldr r2, _02207794 ; =_02219174
|
|
mov r0, r5
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r5
|
|
mov r1, #3
|
|
mov r2, #0
|
|
bl ov00_02202990
|
|
add sp, sp, #0xc
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, pc}
|
|
_022076D4:
|
|
ldr r0, [r4, #8]
|
|
bl ov00_02207370
|
|
add r1, sp, #4
|
|
mov r2, #0
|
|
ldr r3, [sp]
|
|
str r2, [r1]
|
|
mov r0, #2
|
|
str r2, [r1, #4]
|
|
strb r0, [sp, #5]
|
|
ldr r0, [r3, #8]
|
|
mov r2, #8
|
|
ldr r0, [r0, #0x10]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r3, #8]
|
|
ldr r0, [r0, #0x14]
|
|
strh r0, [sp, #6]
|
|
ldr r0, [r4, #8]
|
|
bl ov00_021FF8A0
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
bne _02207778
|
|
ldr r0, [r4, #8]
|
|
bl ov00_021FFA60
|
|
mvn r2, #5
|
|
cmp r0, r2
|
|
subne r1, r2, #0x14
|
|
cmpne r0, r1
|
|
subne r1, r2, #0x46
|
|
cmpne r0, r1
|
|
beq _02207778
|
|
ldr r2, _02207798 ; =_022191A8
|
|
mov r0, r5
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r5
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0xc
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02207778:
|
|
mov r0, #0x67
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
_0220778C: .word _02219008
|
|
_02207790: .word _0221914C
|
|
_02207794: .word _02219174
|
|
_02207798: .word _022191A8
|
|
arm_func_end ov00_02207610
|
|
|
|
arm_func_start ov00_0220779C
|
|
ov00_0220779C: ; 0x0220779C
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x18
|
|
movs r7, r1
|
|
mov r8, r0
|
|
mov r6, r2
|
|
mov r5, r3
|
|
bne _022077CC
|
|
ldr r0, _0220790C ; =_02219118
|
|
ldr r1, _02207910 ; =_022190A8
|
|
ldr r2, _02207914 ; =_02218F70
|
|
mov r3, #0x340
|
|
bl sub_020E4A9C
|
|
_022077CC:
|
|
cmp r5, #0
|
|
bne _022077E8
|
|
ldr r0, _02207918 ; =_022191D0
|
|
ldr r1, _02207910 ; =_022190A8
|
|
ldr r2, _02207914 ; =_02218F70
|
|
ldr r3, _0220791C ; =0x00000341
|
|
bl sub_020E4A9C
|
|
_022077E8:
|
|
mov r0, r5
|
|
bl sub_020E9580
|
|
mov r4, r0
|
|
add r1, sp, #0
|
|
mov r3, #0
|
|
str r3, [r1, #0x10]
|
|
ldr r2, _02207920 ; =_022191E0
|
|
mov r0, r8
|
|
str r3, [r1]
|
|
str r3, [r1, #4]
|
|
str r3, [r1, #8]
|
|
str r3, [r1, #0xc]
|
|
str r3, [r1, #0x14]
|
|
str r6, [sp, #0x10]
|
|
bl ov00_022020EC
|
|
cmp r0, #0
|
|
addne sp, sp, #0x18
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
add r1, sp, #0
|
|
mov r0, r8
|
|
mov r2, r6
|
|
bl ov00_0220211C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x18
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
ldr r2, _02207924 ; =_022191E4
|
|
add r1, sp, #0
|
|
mov r0, r8
|
|
bl ov00_022020EC
|
|
cmp r0, #0
|
|
addne sp, sp, #0x18
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
add r1, sp, #0
|
|
mov r0, r8
|
|
mov r2, r4
|
|
bl ov00_0220211C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x18
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
ldr r2, _02207928 ; =_022191EC
|
|
add r1, sp, #0
|
|
mov r0, r8
|
|
bl ov00_022020EC
|
|
cmp r0, #0
|
|
addne sp, sp, #0x18
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
ldr ip, [sp, #8]
|
|
add r1, sp, #0
|
|
mov r0, r8
|
|
mov r2, r5
|
|
mov r3, r4
|
|
str ip, [sp, #0x14]
|
|
bl ov00_02201FE0
|
|
cmp r0, #0
|
|
addne sp, sp, #0x18
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
add r1, sp, #0
|
|
mov r0, r8
|
|
mov r2, #0
|
|
bl ov00_02201F48
|
|
cmp r0, #0
|
|
addne sp, sp, #0x18
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
ldr r0, [r7, #0x38]
|
|
add r1, sp, #0
|
|
bl ov00_021FE754
|
|
mov r0, #0
|
|
bl ov00_021FFA70
|
|
add r0, r0, #0x12c
|
|
str r0, [r7, #0x10]
|
|
mov r0, #0
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_0220790C: .word _02219118
|
|
_02207910: .word _022190A8
|
|
_02207914: .word _02218F70
|
|
_02207918: .word _022191D0
|
|
_0220791C: .word 0x00000341
|
|
_02207920: .word _022191E0
|
|
_02207924: .word _022191E4
|
|
_02207928: .word _022191EC
|
|
arm_func_end ov00_0220779C
|
|
|
|
arm_func_start ov00_0220792C
|
|
ov00_0220792C: ; 0x0220792C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x48
|
|
mov sb, r0
|
|
mov r8, r1
|
|
mov r7, r2
|
|
cmp r3, #0
|
|
ldr r5, [r3]
|
|
ldmib r3, {r4, r6}
|
|
bne _02207964
|
|
ldr r0, _02207994 ; =_022191F4
|
|
ldr r1, _02207998 ; =_022190A8
|
|
ldr r2, _0220799C ; =_02218F84
|
|
ldr r3, _022079A0 ; =0x00000376
|
|
bl sub_020E4A9C
|
|
_02207964:
|
|
ldr r1, _022079A4 ; =_02219200
|
|
add r0, sp, #8
|
|
mov r2, r7
|
|
mov r3, r5
|
|
stmia sp, {r4, r6}
|
|
bl sub_020E7F30
|
|
add r2, sp, #8
|
|
mov r0, sb
|
|
mov r1, r8
|
|
bl ov00_02202424
|
|
add sp, sp, #0x48
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_02207994: .word _022191F4
|
|
_02207998: .word _022190A8
|
|
_0220799C: .word _02218F84
|
|
_022079A0: .word 0x00000376
|
|
_022079A4: .word _02219200
|
|
arm_func_end ov00_0220792C
|
|
|
|
arm_func_start ov00_022079A8
|
|
ov00_022079A8: ; 0x022079A8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x20
|
|
movs r6, r1
|
|
mov r7, r0
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bne _022079D8
|
|
ldr r0, _02207A7C ; =_02219118
|
|
ldr r1, _02207A80 ; =_022190A8
|
|
ldr r2, _02207A84 ; =_02218FA0
|
|
ldr r3, _02207A88 ; =0x00000389
|
|
bl sub_020E4A9C
|
|
_022079D8:
|
|
mvn r0, #0
|
|
cmp r5, #0
|
|
ldreq r5, _02207A8C ; =_02219214
|
|
cmp r4, r0
|
|
bne _022079F8
|
|
mov r0, r5
|
|
bl sub_020E9580
|
|
mov r4, r0
|
|
_022079F8:
|
|
ldr r1, _02207A90 ; =_02219218
|
|
add r0, sp, #0
|
|
mov r2, r4
|
|
bl sub_020E7F30
|
|
add r2, sp, #0
|
|
mov r0, r7
|
|
mov r1, r6
|
|
bl ov00_02202424
|
|
cmp r0, #0
|
|
addne sp, sp, #0x20
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, r7
|
|
mov r1, r6
|
|
mov r2, r5
|
|
mov r3, r4
|
|
bl ov00_02202324
|
|
cmp r0, #0
|
|
addne sp, sp, #0x20
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, r7
|
|
mov r1, r6
|
|
mov r2, #0
|
|
bl ov00_02202244
|
|
cmp r0, #0
|
|
addne sp, sp, #0x20
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r0, #0
|
|
bl ov00_021FFA70
|
|
add r0, r0, #0x12c
|
|
str r0, [r6, #0x10]
|
|
mov r0, #0
|
|
add sp, sp, #0x20
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02207A7C: .word _02219118
|
|
_02207A80: .word _022190A8
|
|
_02207A84: .word _02218FA0
|
|
_02207A88: .word 0x00000389
|
|
_02207A8C: .word _02219214
|
|
_02207A90: .word _02219218
|
|
arm_func_end ov00_022079A8
|
|
|
|
arm_func_start ov00_02207A94
|
|
ov00_02207A94: ; 0x02207A94
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, [r0]
|
|
bl sub_020F2998
|
|
mov r0, r1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_02207A94
|
|
|
|
arm_func_start ov00_02207AA8
|
|
ov00_02207AA8: ; 0x02207AA8
|
|
ldr r2, [r0]
|
|
ldr r0, [r1]
|
|
sub r0, r2, r0
|
|
bx lr
|
|
arm_func_end ov00_02207AA8
|
|
|
|
arm_func_start ov00_02207AB8
|
|
ov00_02207AB8: ; 0x02207AB8
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
beq _02207B08
|
|
ldr r0, [r0, #8]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0
|
|
str r1, [r0, #8]
|
|
ldr r0, [r4, #8]
|
|
ldr r0, [r0, #0xc]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0
|
|
str r1, [r0, #0xc]
|
|
ldr r0, [r4, #8]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
_02207B08:
|
|
mov r0, r4
|
|
bl ov00_02206164
|
|
ldr r0, [r4, #0x10]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0x10]
|
|
ldr r0, [r4, #0x18]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r4, #0x18]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_02207AB8
|
|
|
|
arm_func_start ov00_02207B34
|
|
ov00_02207B34: ; 0x02207B34
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
ldr r4, [r0]
|
|
mov r0, #0
|
|
str r0, [r4, #0x430]
|
|
str r0, [r4, #0x42c]
|
|
ldr ip, _02207B80 ; =ov00_02207AB8
|
|
ldr r2, _02207B84 ; =ov00_02207A94
|
|
ldr r3, _02207B88 ; =ov00_02207AA8
|
|
mov r0, #0x1c
|
|
mov r1, #4
|
|
str ip, [sp]
|
|
bl ov00_021FED24
|
|
str r0, [r4, #0x428]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
_02207B80: .word ov00_02207AB8
|
|
_02207B84: .word ov00_02207A94
|
|
_02207B88: .word ov00_02207AA8
|
|
arm_func_end ov00_02207B34
|
|
|
|
arm_func_start ov00_02207B8C
|
|
ov00_02207B8C: ; 0x02207B8C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x20
|
|
mov r6, r2
|
|
mov r4, r1
|
|
mov r1, r6
|
|
mov r2, #1
|
|
mov r5, r0
|
|
bl ov00_0220A3C8
|
|
cmp r0, #0
|
|
addne sp, sp, #0x20
|
|
movne r0, #4
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldr r1, _02207CDC ; =_0221923C
|
|
mov r0, r6
|
|
mov r2, #5
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
beq _02207C00
|
|
ldr r2, _02207CE0 ; =_02219244
|
|
mov r0, r5
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, r5
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x20
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02207C00:
|
|
ldr r1, _02207CE4 ; =_02219274
|
|
add r2, sp, #0x10
|
|
mov r0, r6
|
|
mov r3, #0x10
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _02207C48
|
|
ldr r2, _02207CE0 ; =_02219244
|
|
mov r0, r5
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, r5
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x20
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02207C48:
|
|
add r0, sp, #0x10
|
|
bl sub_020EB82C
|
|
ldr r2, [r4, #0xc]
|
|
ldr r1, [r4, #0x10]
|
|
mov r6, r0
|
|
str r2, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
cmp r2, #0
|
|
beq _02207CC4
|
|
mov r0, #8
|
|
bl ov00_021EC3A8
|
|
movs r3, r0
|
|
bne _02207C94
|
|
ldr r1, _02207CE8 ; =_02219280
|
|
mov r0, r5
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x20
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02207C94:
|
|
str r6, [r3, #4]
|
|
mov r2, #0
|
|
str r2, [r3]
|
|
str r4, [sp]
|
|
add r1, sp, #8
|
|
str r2, [sp, #4]
|
|
mov r0, r5
|
|
ldmia r1, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
addne sp, sp, #0x20
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
_02207CC4:
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_022066D0
|
|
mov r0, #0
|
|
add sp, sp, #0x20
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02207CDC: .word _0221923C
|
|
_02207CE0: .word _02219244
|
|
_02207CE4: .word _02219274
|
|
_02207CE8: .word _02219280
|
|
arm_func_end ov00_02207B8C
|
|
|
|
arm_func_start ov00_02207CEC
|
|
ov00_02207CEC: ; 0x02207CEC
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x20
|
|
mov r6, r0
|
|
mov r5, r1
|
|
cmp r5, #0
|
|
ldr r4, [r6]
|
|
bgt _02207D1C
|
|
ldr r0, _02207DC0 ; =_02219290
|
|
ldr r1, _02207DC4 ; =_02219298
|
|
ldr r2, _02207DC8 ; =_02219228
|
|
ldr r3, _02207DCC ; =0x000002B5
|
|
bl sub_020E4A9C
|
|
_02207D1C:
|
|
cmp r5, #0
|
|
addle sp, sp, #0x20
|
|
movle r0, #0
|
|
ldmleia sp!, {r4, r5, r6, pc}
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov00_02207DD0
|
|
cmp r0, #0
|
|
ldrne r0, [sp]
|
|
addne sp, sp, #0x20
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
add r1, sp, #4
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
str r0, [r1, #4]
|
|
str r0, [r1, #0xc]
|
|
str r0, [r1, #0x10]
|
|
str r0, [r1, #0x14]
|
|
str r0, [r1, #0x18]
|
|
str r5, [sp, #4]
|
|
str r0, [r1, #8]
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
str r0, [sp, #0x1c]
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r4, #0x428]
|
|
bl ov00_021FEF74
|
|
ldr r0, [r4, #0x42c]
|
|
add r2, sp, #0
|
|
add r3, r0, #1
|
|
mov r0, r6
|
|
mov r1, r5
|
|
str r3, [r4, #0x42c]
|
|
bl ov00_02207DD0
|
|
cmp r0, #0
|
|
ldrne r0, [sp]
|
|
moveq r0, #0
|
|
add sp, sp, #0x20
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02207DC0: .word _02219290
|
|
_02207DC4: .word _02219298
|
|
_02207DC8: .word _02219228
|
|
_02207DCC: .word 0x000002B5
|
|
arm_func_end ov00_02207CEC
|
|
|
|
arm_func_start ov00_02207DD0
|
|
ov00_02207DD0: ; 0x02207DD0
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0x1c
|
|
ldr r0, [r0]
|
|
mov r4, r2
|
|
str r1, [sp]
|
|
ldr r0, [r0, #0x428]
|
|
add r1, sp, #0
|
|
bl ov00_021FF0C0
|
|
cmp r4, #0
|
|
strne r0, [r4]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r3, r4, pc}
|
|
arm_func_end ov00_02207DD0
|
|
|
|
arm_func_start ov00_02207E0C
|
|
ov00_02207E0C: ; 0x02207E0C
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
add r2, sp, #0
|
|
ldr r4, [r0]
|
|
bl ov00_02207DD0
|
|
cmp r0, #0
|
|
addeq sp, sp, #4
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
ldr r0, [r4, #0x428]
|
|
ldr r1, [sp]
|
|
bl ov00_021FF01C
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
arm_func_end ov00_02207E0C
|
|
|
|
arm_func_start ov00_02207E40
|
|
ov00_02207E40: ; 0x02207E40
|
|
ldr r0, [r0]
|
|
ldr ip, _02207E50 ; =ov00_021FF01C
|
|
ldr r0, [r0, #0x428]
|
|
bx ip
|
|
.align 2, 0
|
|
_02207E50: .word ov00_021FF01C
|
|
arm_func_end ov00_02207E40
|
|
|
|
arm_func_start ov00_02207E54
|
|
ov00_02207E54: ; 0x02207E54
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r1
|
|
ldr r4, [r6, #0xc]
|
|
mov r5, r2
|
|
cmp r4, #0
|
|
beq _02207EAC
|
|
ldr r0, [r5]
|
|
ldr r1, [r4]
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02207EAC
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r4, #8]
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02207EAC
|
|
ldr r1, [r5, #8]
|
|
mov r0, #1
|
|
str r6, [r1]
|
|
str r0, [r5, #0xc]
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02207EAC:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_02207E54
|
|
|
|
arm_func_start ov00_02207EB4
|
|
ov00_02207EB4: ; 0x02207EB4
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x10
|
|
str r1, [sp]
|
|
mov ip, #0
|
|
str r2, [sp, #4]
|
|
mov r4, r3
|
|
ldr r1, _02207EFC ; =ov00_02207E54
|
|
add r2, sp, #0
|
|
str ip, [sp, #0xc]
|
|
str r4, [sp, #8]
|
|
bl ov00_02207F1C
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [r4]
|
|
mov r0, #0
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02207EFC: .word ov00_02207E54
|
|
arm_func_end ov00_02207EB4
|
|
|
|
arm_func_start ov00_02207F00
|
|
ov00_02207F00: ; 0x02207F00
|
|
stmdb sp!, {r3, lr}
|
|
mov ip, r0
|
|
ldr r2, [r1, #8]
|
|
ldmia r1, {r0, r3}
|
|
mov r1, ip
|
|
blx r3
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_02207F00
|
|
|
|
arm_func_start ov00_02207F1C
|
|
ov00_02207F1C: ; 0x02207F1C
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0xc
|
|
ldr r3, [r0]
|
|
str r1, [sp, #4]
|
|
str r2, [sp, #8]
|
|
str r0, [sp]
|
|
ldr r0, [r3, #0x428]
|
|
ldr r1, _02207F58 ; =ov00_02207F00
|
|
add r2, sp, #0
|
|
bl ov00_021FF264
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {pc}
|
|
.align 2, 0
|
|
_02207F58: .word ov00_02207F00
|
|
arm_func_end ov00_02207F1C
|
|
|
|
arm_func_start ov00_02207F5C
|
|
ov00_02207F5C: ; 0x02207F5C
|
|
ldr r0, [r1, #8]
|
|
cmp r0, #0
|
|
beq _02207F80
|
|
ldr r3, [r2]
|
|
ldr r0, [r0]
|
|
cmp r3, r0
|
|
streq r1, [r2, #4]
|
|
moveq r0, #0
|
|
bxeq lr
|
|
_02207F80:
|
|
mov r0, #1
|
|
bx lr
|
|
arm_func_end ov00_02207F5C
|
|
|
|
arm_func_start ov00_02207F88
|
|
ov00_02207F88: ; 0x02207F88
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #8
|
|
str r1, [sp]
|
|
mov r3, #0
|
|
ldr r1, _02207FB4 ; =ov00_02207F5C
|
|
add r2, sp, #0
|
|
str r3, [sp, #4]
|
|
bl ov00_02207F1C
|
|
ldr r0, [sp, #4]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02207FB4: .word ov00_02207F5C
|
|
arm_func_end ov00_02207F88
|
|
|
|
arm_func_start ov00_02207FB8
|
|
ov00_02207FB8: ; 0x02207FB8
|
|
cmp r0, #0
|
|
beq _02207FE8
|
|
ldr r1, [r0, #0xc]
|
|
cmp r1, #0
|
|
ldreq r1, [r0, #8]
|
|
cmpeq r1, #0
|
|
ldreq r1, [r0, #0x18]
|
|
cmpeq r1, #0
|
|
ldreq r0, [r0, #0x10]
|
|
cmpeq r0, #0
|
|
moveq r0, #1
|
|
bxeq lr
|
|
_02207FE8:
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end ov00_02207FB8
|
|
|
|
arm_func_start ov00_02207FF0
|
|
ov00_02207FF0: ; 0x02207FF0
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #8
|
|
mov r5, r1
|
|
ldr r4, [r5, #4]
|
|
mov r1, #0x1000
|
|
mov r6, r0
|
|
add r0, r1, #1
|
|
str r1, [r4, #0xc]
|
|
bl ov00_021EC3A8
|
|
str r0, [r4, #8]
|
|
cmp r0, #0
|
|
bne _02208038
|
|
ldr r1, _022081C8 ; =_02219328
|
|
mov r0, r6
|
|
bl ov00_0220A890
|
|
add sp, sp, #8
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02208038:
|
|
mov r0, #2
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov00_021FF804
|
|
mvn r1, #0
|
|
str r0, [r4, #4]
|
|
cmp r0, r1
|
|
bne _02208084
|
|
ldr r2, _022081CC ; =_02219338
|
|
mov r0, r6
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r6
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #8
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02208084:
|
|
mov r1, #0
|
|
bl ov00_021FF44C
|
|
cmp r0, #0
|
|
bne _022080C0
|
|
ldr r2, _022081D0 ; =_02219360
|
|
mov r0, r6
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r6
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #8
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_022080C0:
|
|
ldr r0, _022081D4 ; =_022192E8
|
|
bl sub_020A30D4
|
|
cmp r0, #0
|
|
bne _022080FC
|
|
ldr r2, _022081D8 ; =_02219394
|
|
mov r0, r6
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r6
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #8
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_022080FC:
|
|
add r3, sp, #0
|
|
mov r2, #0
|
|
str r2, [r3]
|
|
mov r1, #2
|
|
str r2, [r3, #4]
|
|
strb r1, [sp, #1]
|
|
ldr r0, [r0, #0xc]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
str r0, [sp, #4]
|
|
cmp r0, #0
|
|
bne _02208140
|
|
ldr r0, _022081DC ; =_022193C4
|
|
ldr r1, _022081E0 ; =_022193E4
|
|
ldr r2, _022081E4 ; =_022192D0
|
|
mov r3, #0x59
|
|
bl sub_020E4A9C
|
|
_02208140:
|
|
ldr r0, _022081E8 ; =0x0000CD74
|
|
add r1, sp, #0
|
|
strh r0, [sp, #2]
|
|
ldr r0, [r4, #4]
|
|
mov r2, #8
|
|
bl ov00_021FF8A0
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
bne _022081B4
|
|
ldr r0, [r4, #4]
|
|
bl ov00_021FFA60
|
|
mvn r2, #5
|
|
cmp r0, r2
|
|
subne r1, r2, #0x14
|
|
cmpne r0, r1
|
|
subne r1, r2, #0x46
|
|
cmpne r0, r1
|
|
beq _022081B4
|
|
ldr r2, _022081EC ; =_022193F0
|
|
mov r0, r6
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r6
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #8
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_022081B4:
|
|
mov r0, #1
|
|
str r0, [r5, #0x14]
|
|
mov r0, #0
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_022081C8: .word _02219328
|
|
_022081CC: .word _02219338
|
|
_022081D0: .word _02219360
|
|
_022081D4: .word _022192E8
|
|
_022081D8: .word _02219394
|
|
_022081DC: .word _022193C4
|
|
_022081E0: .word _022193E4
|
|
_022081E4: .word _022192D0
|
|
_022081E8: .word 0x0000CD74
|
|
_022081EC: .word _022193F0
|
|
arm_func_end ov00_02207FF0
|
|
|
|
arm_func_start ov00_022081F0
|
|
ov00_022081F0: ; 0x022081F0
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
mov r0, #0x144
|
|
mov r6, r1
|
|
mov r5, r2
|
|
bl ov00_021EC3A8
|
|
movs r4, r0
|
|
bne _02208224
|
|
ldr r1, _0220829C ; =_02219328
|
|
mov r0, r7
|
|
bl ov00_0220A890
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_02208224:
|
|
mov r1, #0
|
|
mov r2, #0x144
|
|
bl sub_020E5B44
|
|
str r5, [r4]
|
|
mvn r0, #0
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
str r0, [r4, #0x10]
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0xc]
|
|
str r0, [r4, #0x20]
|
|
mov r1, #0x1000
|
|
str r0, [r4, #0x24]
|
|
add r0, r1, #1
|
|
str r1, [r4, #0x1c]
|
|
bl ov00_021EC3A8
|
|
str r0, [r4, #0x18]
|
|
cmp r0, #0
|
|
bne _02208288
|
|
ldr r1, _0220829C ; =_02219328
|
|
mov r0, r7
|
|
bl ov00_0220A890
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_02208288:
|
|
mov r0, #0
|
|
str r0, [r4, #0x13c]
|
|
str r0, [r4, #0x140]
|
|
str r4, [r6]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220829C: .word _02219328
|
|
arm_func_end ov00_022081F0
|
|
|
|
arm_func_start ov00_022082A0
|
|
ov00_022082A0: ; 0x022082A0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x10
|
|
mov r5, r0
|
|
ldr r4, [r5]
|
|
ldr ip, [sp, #0x20]
|
|
ldr lr, [r4, #0x210]
|
|
add lr, lr, #1
|
|
str lr, [r4, #0x210]
|
|
stmia sp, {r2, r3}
|
|
mov r2, r1
|
|
add r3, sp, #0xc
|
|
mov r1, #3
|
|
str ip, [sp, #8]
|
|
bl ov00_0220657C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x10
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r1, [sp, #0xc]
|
|
mov r0, r5
|
|
bl ov00_02207FF0
|
|
cmp r0, #0
|
|
addne sp, sp, #0x10
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r1, [sp, #0xc]
|
|
ldr r0, [r1, #8]
|
|
cmp r0, #0
|
|
beq _02208324
|
|
ldr r1, [r1, #0x18]
|
|
mov r0, r5
|
|
bl ov00_02200ED8
|
|
cmp r0, #0
|
|
addne sp, sp, #0x10
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
_02208324:
|
|
mov r0, #0
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_022082A0
|
|
|
|
arm_func_start ov00_02208330
|
|
ov00_02208330: ; 0x02208330
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #8
|
|
movs r8, r1
|
|
mov sb, r0
|
|
ldrnesb r0, [r8]
|
|
mov r7, r2
|
|
mov r6, r3
|
|
ldr r5, [sp, #0x28]
|
|
ldr r4, [sp, #0x2c]
|
|
cmpne r0, #0
|
|
bne _022083C0
|
|
cmp r6, #0
|
|
ldrnesb r0, [r6]
|
|
cmpne r0, #0
|
|
bne _022083C0
|
|
cmp r5, #0
|
|
ldrnesb r0, [r5]
|
|
cmpne r0, #0
|
|
bne _022083C0
|
|
cmp r4, #0
|
|
ldrnesb r0, [r4]
|
|
cmpne r0, #0
|
|
bne _022083C0
|
|
ldr r0, [sp, #0x30]
|
|
cmp r0, #0
|
|
bne _022083C0
|
|
cmp r7, #0
|
|
ldrnesb r0, [r7]
|
|
cmpne r0, #0
|
|
bne _022083C0
|
|
ldr r1, _02208518 ; =_02219418
|
|
mov r0, sb
|
|
bl ov00_0220A890
|
|
add sp, sp, #8
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_022083C0:
|
|
add r1, sp, #4
|
|
mov r0, sb
|
|
mov r2, #1
|
|
bl ov00_022081F0
|
|
cmp r0, #0
|
|
addne sp, sp, #8
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
cmp r8, #0
|
|
bne _022083F4
|
|
ldr r0, [sp, #4]
|
|
mov r1, #0
|
|
strb r1, [r0, #0x28]
|
|
b _02208408
|
|
_022083F4:
|
|
ldr r0, [sp, #4]
|
|
mov r1, r8
|
|
add r0, r0, #0x28
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
_02208408:
|
|
cmp r7, #0
|
|
bne _02208420
|
|
ldr r0, [sp, #4]
|
|
mov r1, #0
|
|
strb r1, [r0, #0x47]
|
|
b _02208434
|
|
_02208420:
|
|
ldr r0, [sp, #4]
|
|
mov r1, r7
|
|
add r0, r0, #0x47
|
|
mov r2, #0x15
|
|
bl ov00_0220A348
|
|
_02208434:
|
|
cmp r6, #0
|
|
bne _0220844C
|
|
ldr r0, [sp, #4]
|
|
mov r1, #0
|
|
strb r1, [r0, #0x5c]
|
|
b _02208460
|
|
_0220844C:
|
|
ldr r0, [sp, #4]
|
|
mov r1, r6
|
|
add r0, r0, #0x5c
|
|
mov r2, #0x33
|
|
bl ov00_0220A348
|
|
_02208460:
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, #0x5c
|
|
bl ov00_021FF408
|
|
cmp r5, #0
|
|
bne _02208484
|
|
ldr r0, [sp, #4]
|
|
mov r1, #0
|
|
strb r1, [r0, #0x8f]
|
|
b _02208498
|
|
_02208484:
|
|
ldr r0, [sp, #4]
|
|
mov r1, r5
|
|
add r0, r0, #0x8f
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
_02208498:
|
|
cmp r4, #0
|
|
bne _022084B0
|
|
ldr r0, [sp, #4]
|
|
mov r1, #0
|
|
strb r1, [r0, #0xae]
|
|
b _022084C4
|
|
_022084B0:
|
|
ldr r0, [sp, #4]
|
|
mov r1, r4
|
|
add r0, r0, #0xae
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
_022084C4:
|
|
ldr r0, [sp, #0x34]
|
|
ldr r2, [sp, #0x30]
|
|
ldr r1, [sp, #4]
|
|
cmp r0, #0
|
|
movlt r0, #0
|
|
strlt r0, [sp, #0x34]
|
|
str r2, [r1, #0x130]
|
|
ldr r2, [sp, #0x34]
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [sp, #0x40]
|
|
str r2, [r1, #0x134]
|
|
str r0, [sp]
|
|
ldr r1, [sp, #4]
|
|
ldr r2, [sp, #0x38]
|
|
ldr r3, [sp, #0x3c]
|
|
mov r0, sb
|
|
bl ov00_022082A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_02208518: .word _02219418
|
|
arm_func_end ov00_02208330
|
|
|
|
arm_func_start ov00_0220851C
|
|
ov00_0220851C: ; 0x0220851C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x490
|
|
mov sl, r0
|
|
ldr r0, [sl]
|
|
str r1, [sp, #0x1c]
|
|
ldr r1, [r1, #8]
|
|
str r0, [sp, #0x28]
|
|
ldr r0, [sp, #0x1c]
|
|
cmp r1, #0
|
|
movne r4, #1
|
|
ldr r6, [r0, #4]
|
|
moveq r4, #0
|
|
_0220854C:
|
|
mov r1, #1
|
|
ldr r0, _02209354 ; =_0221942C
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [r6, #4]
|
|
add r3, sp, #0x68
|
|
mov r0, sl
|
|
add r2, r6, #0x18
|
|
bl ov00_0220267C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r0, [r0, #0x14]
|
|
cmp r0, #1
|
|
bne _02208BB0
|
|
ldr r1, [r6, #4]
|
|
add r2, sp, #0x7c
|
|
mov r0, sl
|
|
bl ov00_0220A5A8
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r0, [sp, #0x7c]
|
|
cmp r0, #4
|
|
bne _022085E0
|
|
ldr r1, _02209358 ; =0x00000D01
|
|
ldr r2, _0220935C ; =_02219430
|
|
mov r0, sl
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #4
|
|
mov r2, #0
|
|
bl ov00_02202990
|
|
add sp, sp, #0x490
|
|
mov r0, #4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022085E0:
|
|
cmp r0, #3
|
|
bne _02209F6C
|
|
ldr r0, [r6]
|
|
cmp r0, #1
|
|
bne _022087A8
|
|
ldr r2, _02209360 ; =_0221945C
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, _02209364 ; =_02219468
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r0, [sp, #0x28]
|
|
add r1, r6, #0x18
|
|
ldr r2, [r0, #0x198]
|
|
mov r0, sl
|
|
bl ov00_0220211C
|
|
ldr r2, _02209368 ; =_02219474
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, [sp, #0x28]
|
|
mov r0, sl
|
|
ldr r2, [r2, #0x1a0]
|
|
add r1, r6, #0x18
|
|
bl ov00_0220211C
|
|
ldr r2, _0220936C ; =_02219480
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, [sp, #0x28]
|
|
mov r0, sl
|
|
ldr r2, [r2, #0x470]
|
|
add r1, r6, #0x18
|
|
bl ov00_0220211C
|
|
ldrsb r0, [r6, #0x28]
|
|
cmp r0, #0
|
|
beq _0220869C
|
|
ldr r2, _02209370 ; =_02219490
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
add r2, r6, #0x28
|
|
bl ov00_022020EC
|
|
_0220869C:
|
|
ldrsb r0, [r6, #0x47]
|
|
cmp r0, #0
|
|
beq _022086C8
|
|
ldr r2, _02209374 ; =_02219498
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
add r2, r6, #0x47
|
|
bl ov00_022020EC
|
|
_022086C8:
|
|
ldrsb r0, [r6, #0x5c]
|
|
cmp r0, #0
|
|
beq _022086F4
|
|
ldr r2, _02209378 ; =_022194A8
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
add r2, r6, #0x5c
|
|
bl ov00_022020EC
|
|
_022086F4:
|
|
ldrsb r0, [r6, #0x8f]
|
|
cmp r0, #0
|
|
beq _02208720
|
|
ldr r2, _0220937C ; =_022194B0
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
add r2, r6, #0x8f
|
|
bl ov00_022020EC
|
|
_02208720:
|
|
ldrsb r0, [r6, #0xae]
|
|
cmp r0, #0
|
|
beq _0220874C
|
|
ldr r2, _02209380 ; =_022194BC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
add r2, r6, #0xae
|
|
bl ov00_022020EC
|
|
_0220874C:
|
|
ldr r0, [r6, #0x130]
|
|
cmp r0, #0
|
|
beq _02208778
|
|
ldr r2, _02209384 ; =_022194C8
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, [r6, #0x130]
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_0220211C
|
|
_02208778:
|
|
ldr r0, [r6, #0x134]
|
|
cmp r0, #0
|
|
ble _02208B70
|
|
ldr r2, _02209388 ; =_022194D4
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, [r6, #0x134]
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_0220211C
|
|
b _02208B70
|
|
_022087A8:
|
|
cmp r0, #2
|
|
bne _022087E4
|
|
ldr r2, _0220938C ; =_022194DC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, _02209378 ; =_022194A8
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
add r2, r6, #0x5c
|
|
bl ov00_022020EC
|
|
b _02208B70
|
|
_022087E4:
|
|
cmp r0, #3
|
|
bne _02208864
|
|
ldr r2, _02209390 ; =_022194E4
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, _02209378 ; =_022194A8
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
add r2, r6, #0x5c
|
|
bl ov00_022020EC
|
|
ldr r2, _02209394 ; =_022194EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
add r2, r6, #0xcd
|
|
bl ov00_022020EC
|
|
ldr r2, _0220936C ; =_02219480
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, [sp, #0x28]
|
|
mov r0, sl
|
|
ldr r2, [r2, #0x470]
|
|
add r1, r6, #0x18
|
|
bl ov00_0220211C
|
|
b _02208B70
|
|
_02208864:
|
|
cmp r0, #4
|
|
bne _022088E8
|
|
ldr r2, _02209398 ; =_022194F4
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, _02209364 ; =_02219468
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r0, [sp, #0x28]
|
|
add r1, r6, #0x18
|
|
ldr r2, [r0, #0x198]
|
|
mov r0, sl
|
|
bl ov00_0220211C
|
|
ldr r2, _02209368 ; =_02219474
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, [sp, #0x28]
|
|
mov r0, sl
|
|
ldr r2, [r2, #0x1a0]
|
|
add r1, r6, #0x18
|
|
bl ov00_0220211C
|
|
ldr r2, _0220939C ; =_02219500
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, [r6, #0x138]
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_0220211C
|
|
b _02208B70
|
|
_022088E8:
|
|
cmp r0, #5
|
|
bne _02208964
|
|
ldr r2, _022093A0 ; =_0221950C
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, _02209370 ; =_02219490
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
add r2, r6, #0x28
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
ldr r2, _02209378 ; =_022194A8
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
add r2, r6, #0x5c
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
ldr r2, _02209394 ; =_022194EC
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
add r2, r6, #0xcd
|
|
bl ov00_022020EC
|
|
b _02208B70
|
|
_02208964:
|
|
cmp r0, #6
|
|
bne _02208A74
|
|
ldr r2, _022093A4 ; =_02219514
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, _02209370 ; =_02219490
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
add r2, r6, #0x28
|
|
bl ov00_022020EC
|
|
ldr r2, _02209378 ; =_022194A8
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
add r2, r6, #0x5c
|
|
bl ov00_022020EC
|
|
ldr r2, _02209394 ; =_022194EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
add r2, r6, #0xcd
|
|
bl ov00_022020EC
|
|
ldr r2, _022093A8 ; =_02219520
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, [sp, #0x28]
|
|
mov r0, sl
|
|
ldr r2, [r2, #0x46c]
|
|
add r1, r6, #0x18
|
|
bl ov00_0220211C
|
|
ldr r2, _0220936C ; =_02219480
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, [sp, #0x28]
|
|
mov r0, sl
|
|
ldr r2, [r2, #0x470]
|
|
add r1, r6, #0x18
|
|
bl ov00_0220211C
|
|
ldr r2, _02209374 ; =_02219498
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
add r2, r6, #0x47
|
|
bl ov00_022020EC
|
|
ldrsb r0, [r6, #0xec]
|
|
cmp r0, #0
|
|
beq _02208B70
|
|
ldr r2, _022093AC ; =_0221952C
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
add r2, r6, #0xec
|
|
bl ov00_022020EC
|
|
b _02208B70
|
|
_02208A74:
|
|
cmp r0, #7
|
|
bne _02208AFC
|
|
ldr r2, _022093B0 ; =_02219534
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, _02209364 ; =_02219468
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r0, [sp, #0x28]
|
|
add r1, r6, #0x18
|
|
ldr r2, [r0, #0x198]
|
|
mov r0, sl
|
|
bl ov00_0220211C
|
|
ldr r2, _02209368 ; =_02219474
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, [sp, #0x28]
|
|
mov r0, sl
|
|
ldr r2, [r2, #0x1a0]
|
|
add r1, r6, #0x18
|
|
bl ov00_0220211C
|
|
ldr r2, _0220936C ; =_02219480
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, [sp, #0x28]
|
|
mov r0, sl
|
|
ldr r2, [r2, #0x470]
|
|
add r1, r6, #0x18
|
|
bl ov00_0220211C
|
|
b _02208B70
|
|
_02208AFC:
|
|
cmp r0, #8
|
|
bne _02208B5C
|
|
ldr r2, _022093B4 ; =_02219540
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, _022093B8 ; =_02219550
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
add r2, r6, #0x47
|
|
bl ov00_022020EC
|
|
ldr r2, _0220936C ; =_02219480
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, [sp, #0x28]
|
|
mov r0, sl
|
|
ldr r2, [r2, #0x470]
|
|
add r1, r6, #0x18
|
|
bl ov00_0220211C
|
|
b _02208B70
|
|
_02208B5C:
|
|
ldr r0, _022093BC ; =_02219560
|
|
ldr r1, _022093C0 ; =_022193E4
|
|
ldr r2, _022093C4 ; =_022192A8
|
|
ldr r3, _022093C8 ; =0x00000275
|
|
bl sub_020E4A9C
|
|
_02208B70:
|
|
ldr r2, _022093CC ; =_02219564
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, _022093D0 ; =_0221B16C
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r2, _022093D4 ; =_02219570
|
|
mov r0, sl
|
|
add r1, r6, #0x18
|
|
bl ov00_022020EC
|
|
ldr r0, [sp, #0x1c]
|
|
mov r1, #4
|
|
str r1, [r0, #0x14]
|
|
b _02209F6C
|
|
_02208BB0:
|
|
cmp r0, #4
|
|
bne _02209F6C
|
|
add r1, sp, #0x68
|
|
ldr r0, _02209354 ; =_0221942C
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [r6, #4]
|
|
add r3, sp, #0x6c
|
|
mov r0, sl
|
|
add r2, r6, #8
|
|
bl ov00_02202454
|
|
cmp r0, #0
|
|
beq _02208C1C
|
|
cmp r0, #3
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _02209358 ; =0x00000D01
|
|
ldr r2, _022093D8 ; =_02219578
|
|
mov r0, sl
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #0
|
|
bl ov00_02202990
|
|
add sp, sp, #0x490
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02208C1C:
|
|
ldr r0, [r6, #8]
|
|
ldr r1, _022093D4 ; =_02219570
|
|
bl sub_020E9AD0
|
|
cmp r0, #0
|
|
beq _02209F6C
|
|
mov r0, #0
|
|
str r0, [sp, #0x78]
|
|
ldr r0, [sp, #0x1c]
|
|
mov r1, #5
|
|
str r1, [r0, #0x14]
|
|
ldr r1, [r6, #8]
|
|
mov r0, sl
|
|
mov r2, #1
|
|
bl ov00_0220A3C8
|
|
cmp r0, #0
|
|
beq _02208C70
|
|
mov r0, #1
|
|
str r0, [r6, #0x140]
|
|
add sp, sp, #0x490
|
|
mov r0, #4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02208C70:
|
|
ldr r0, [r6]
|
|
cmp r0, #1
|
|
bne _02208FE0
|
|
ldr r1, _022093DC ; =0x00000601
|
|
mov r0, #0
|
|
str r0, [sp, #0x2c]
|
|
str r0, [sp, #0x80]
|
|
str r0, [sp, #0x84]
|
|
str r0, [sp, #0x8c]
|
|
str r1, [sp, #0x88]
|
|
add r4, sp, #0x290
|
|
add r5, sp, #0x90
|
|
add fp, sp, #0x78
|
|
_02208CA4:
|
|
str r5, [sp]
|
|
ldr r1, [r6, #8]
|
|
mov r0, sl
|
|
mov r2, fp
|
|
mov r3, r4
|
|
bl ov00_0220A69C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _022093E0 ; =_022195A4
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02208D38
|
|
str r5, [sp]
|
|
ldr r1, [r6, #8]
|
|
mov r0, sl
|
|
mov r2, fp
|
|
mov r3, r4
|
|
bl ov00_0220A69C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _022093E4 ; =_022195AC
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02208D2C
|
|
ldr r1, _022093BC ; =_02219560
|
|
mov r0, r5
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
movne r0, #0x600
|
|
strne r0, [sp, #0x88]
|
|
_02208D2C:
|
|
mov r0, #1
|
|
str r0, [sp, #0x2c]
|
|
b _02208F18
|
|
_02208D38:
|
|
ldr r1, _022093E8 ; =_022195B4
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02208EEC
|
|
ldr r1, [sp, #0x84]
|
|
ldr r0, [sp, #0x8c]
|
|
add r2, r1, #1
|
|
mov r1, #0xac
|
|
mul r1, r2, r1
|
|
str r2, [sp, #0x84]
|
|
bl ov00_021EC3BC
|
|
movs r7, r0
|
|
str r7, [sp, #0x8c]
|
|
bne _02208D8C
|
|
ldr r1, _022093EC ; =_02219328
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x490
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02208D8C:
|
|
ldr r0, [sp, #0x84]
|
|
mov r1, #0
|
|
sub r2, r0, #1
|
|
mov r0, #0xac
|
|
mul r8, r2, r0
|
|
add sb, r7, r8
|
|
mov r0, sb
|
|
mov r2, #0xac
|
|
bl sub_020E5B44
|
|
mov r0, r5
|
|
bl sub_020EB82C
|
|
str r0, [r7, r8]
|
|
mov r8, #0
|
|
_02208DC0:
|
|
ldr r7, [sp, #0x78]
|
|
mov r0, sl
|
|
str r5, [sp]
|
|
ldr r1, [r6, #8]
|
|
mov r2, fp
|
|
mov r3, r4
|
|
bl ov00_0220A69C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _022093F0 ; =_022195B8
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02208E10
|
|
add r0, sb, #4
|
|
mov r1, r5
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
b _02208EE0
|
|
_02208E10:
|
|
ldr r1, _022093F4 ; =_022195C0
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02208E38
|
|
add r0, sb, #0x23
|
|
mov r1, r5
|
|
mov r2, #0x15
|
|
bl ov00_0220A348
|
|
b _02208EE0
|
|
_02208E38:
|
|
ldr r1, _022093F8 ; =_022195CC
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02208E60
|
|
add r0, sb, #0x38
|
|
mov r1, r5
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
b _02208EE0
|
|
_02208E60:
|
|
ldr r1, _022093FC ; =_022195D8
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02208E88
|
|
add r0, sb, #0x57
|
|
mov r1, r5
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
b _02208EE0
|
|
_02208E88:
|
|
ldr r1, _02209400 ; =_022195E4
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02208EB0
|
|
add r0, sb, #0x76
|
|
mov r1, r5
|
|
mov r2, #0x33
|
|
bl ov00_0220A348
|
|
b _02208EE0
|
|
_02208EB0:
|
|
ldr r1, _022093E8 ; =_022195B4
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
beq _02208ED8
|
|
ldr r1, _022093E0 ; =_022195A4
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02208EE0
|
|
_02208ED8:
|
|
str r7, [sp, #0x78]
|
|
mov r8, #1
|
|
_02208EE0:
|
|
cmp r8, #0
|
|
beq _02208DC0
|
|
b _02208F18
|
|
_02208EEC:
|
|
ldr r2, _02209404 ; =_022195EC
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x490
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02208F18:
|
|
ldr r0, [sp, #0x2c]
|
|
cmp r0, #0
|
|
beq _02208CA4
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r4, [sp, #0x88]
|
|
ldr r3, [r0, #0xc]
|
|
ldr r2, [r0, #0x10]
|
|
str r3, [sp, #0x70]
|
|
str r2, [sp, #0x74]
|
|
cmp r3, #0
|
|
beq _02208F50
|
|
add r1, sp, #0x80
|
|
mov r0, sl
|
|
blx r3
|
|
_02208F50:
|
|
cmp r4, #0x600
|
|
ldreq r0, [sp, #0x88]
|
|
cmpeq r0, #0x600
|
|
bne _02208FCC
|
|
add r0, r6, #0x8f
|
|
str r0, [sp]
|
|
add r0, r6, #0xae
|
|
str r0, [sp, #4]
|
|
ldr r1, [r6, #0x130]
|
|
mov r0, sl
|
|
str r1, [sp, #8]
|
|
ldr r3, [sp, #0x84]
|
|
ldr r2, [r6, #0x134]
|
|
add r1, r6, #0x28
|
|
add r2, r3, r2
|
|
str r2, [sp, #0xc]
|
|
ldr r2, [sp, #0x1c]
|
|
ldr r3, [r2, #8]
|
|
add r2, r6, #0x47
|
|
str r3, [sp, #0x10]
|
|
ldr r3, [sp, #0x1c]
|
|
ldr r4, [r3, #0xc]
|
|
add r3, r6, #0x5c
|
|
str r4, [sp, #0x14]
|
|
ldr r4, [sp, #0x1c]
|
|
ldr r4, [r4, #0x10]
|
|
str r4, [sp, #0x18]
|
|
bl ov00_02208330
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02208FCC:
|
|
ldr r0, [sp, #0x8c]
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [sp, #0x8c]
|
|
b _02209F60
|
|
_02208FE0:
|
|
cmp r0, #2
|
|
bne _022090F4
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r1, [r0, #0xc]
|
|
ldr r0, [r0, #0x10]
|
|
str r1, [sp, #0x30]
|
|
str r0, [sp, #0x34]
|
|
cmp r1, #0
|
|
beq _02209F60
|
|
add r0, sp, #0x90
|
|
str r0, [sp]
|
|
ldr r1, [r6, #8]
|
|
add r2, sp, #0x78
|
|
add r3, sp, #0x290
|
|
mov r0, sl
|
|
bl ov00_0220A69C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _02209408 ; =_02219614
|
|
add r0, sp, #0x290
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
beq _0220906C
|
|
ldr r2, _02209404 ; =_022195EC
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x490
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_0220906C:
|
|
mov r0, #0x3c
|
|
bl ov00_021EC3A8
|
|
movs r4, r0
|
|
bne _02209094
|
|
ldr r1, _022093EC ; =_02219328
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x490
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209094:
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
add r0, r4, #4
|
|
add r1, r6, #0x5c
|
|
mov r2, #0x33
|
|
bl ov00_0220A348
|
|
ldrsb r0, [sp, #0x90]
|
|
ldr r1, [sp, #0x1c]
|
|
add r2, sp, #0x30
|
|
cmp r0, #0x30
|
|
moveq r0, #0
|
|
movne r0, #1
|
|
str r0, [r4, #0x38]
|
|
str r1, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
mov r0, sl
|
|
mov r3, r4
|
|
ldmia r2, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
beq _02209F60
|
|
add sp, sp, #0x490
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022090F4:
|
|
cmp r0, #3
|
|
bne _0220949C
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r1, [r0, #0xc]
|
|
ldr r0, [r0, #0x10]
|
|
str r1, [sp, #0x38]
|
|
str r0, [sp, #0x3c]
|
|
cmp r1, #0
|
|
beq _02209F60
|
|
mov r0, #0x44
|
|
bl ov00_021EC3A8
|
|
movs r8, r0
|
|
bne _02209140
|
|
ldr r1, _022093EC ; =_02219328
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x490
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209140:
|
|
mov r2, #0
|
|
add r0, r8, #4
|
|
add r1, r6, #0x5c
|
|
str r2, [r8]
|
|
bl sub_020E959C
|
|
mov r1, #0
|
|
str r1, [r8, #0x38]
|
|
str r1, [r8, #0x3c]
|
|
add r0, sp, #0x90
|
|
str r1, [r8, #0x40]
|
|
str r0, [sp]
|
|
ldr r1, [r6, #8]
|
|
add r2, sp, #0x78
|
|
add r3, sp, #0x290
|
|
mov r0, sl
|
|
bl ov00_0220A69C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _0220940C ; =_02219618
|
|
add r0, sp, #0x290
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
beq _022091CC
|
|
ldr r2, _02209404 ; =_022195EC
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x490
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022091CC:
|
|
ldr fp, _022093F0 ; =_022195B8
|
|
mov sb, #0
|
|
add r4, sp, #0x290
|
|
add r7, sp, #0x90
|
|
add r5, sp, #0x78
|
|
_022091E0:
|
|
str r7, [sp]
|
|
ldr r1, [r6, #8]
|
|
mov r0, sl
|
|
mov r2, r5
|
|
mov r3, r4
|
|
bl ov00_0220A69C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
mov r0, r4
|
|
mov r1, fp
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _022092AC
|
|
ldr r0, [r8, #0x3c]
|
|
ldr r1, [r8, #0x38]
|
|
add r1, r1, #1
|
|
mov r1, r1, lsl #2
|
|
bl ov00_021EC3BC
|
|
cmp r0, #0
|
|
bne _0220924C
|
|
ldr r1, _022093EC ; =_02219328
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x490
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_0220924C:
|
|
str r0, [r8, #0x3c]
|
|
mov r0, #0x1f
|
|
bl ov00_021EC3A8
|
|
cmp r0, #0
|
|
bne _02209278
|
|
ldr r1, _022093EC ; =_02219328
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x490
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209278:
|
|
ldr r3, [r8, #0x3c]
|
|
ldr r2, [r8, #0x38]
|
|
mov r1, r7
|
|
str r0, [r3, r2, lsl #2]
|
|
ldr r3, [r8, #0x3c]
|
|
ldr r0, [r8, #0x38]
|
|
mov r2, #0x1f
|
|
ldr r0, [r3, r0, lsl #2]
|
|
bl ov00_0220A348
|
|
ldr r0, [r8, #0x38]
|
|
add r0, r0, #1
|
|
str r0, [r8, #0x38]
|
|
b _02209460
|
|
_022092AC:
|
|
ldr r1, _022093F4 ; =_022195C0
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _0220941C
|
|
ldr r0, [r8, #0x38]
|
|
cmp r0, #0
|
|
ble _02209460
|
|
mov r1, r0, lsl #2
|
|
ldr r0, [r8, #0x40]
|
|
bl ov00_021EC3BC
|
|
cmp r0, #0
|
|
bne _022092F8
|
|
ldr r1, _022093EC ; =_02219328
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x490
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022092F8:
|
|
str r0, [r8, #0x40]
|
|
mov r0, #0x15
|
|
bl ov00_021EC3A8
|
|
cmp r0, #0
|
|
bne _02209324
|
|
ldr r1, _022093EC ; =_02219328
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x490
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209324:
|
|
ldr r3, [r8, #0x40]
|
|
ldr r2, [r8, #0x38]
|
|
mov r1, r7
|
|
add r2, r3, r2, lsl #2
|
|
str r0, [r2, #-4]
|
|
ldr r3, [r8, #0x40]
|
|
ldr r0, [r8, #0x38]
|
|
mov r2, #0x15
|
|
add r0, r3, r0, lsl #2
|
|
ldr r0, [r0, #-4]
|
|
bl ov00_0220A348
|
|
b _02209460
|
|
.align 2, 0
|
|
_02209354: .word _0221942C
|
|
_02209358: .word 0x00000D01
|
|
_0220935C: .word _02219430
|
|
_02209360: .word _0221945C
|
|
_02209364: .word _02219468
|
|
_02209368: .word _02219474
|
|
_0220936C: .word _02219480
|
|
_02209370: .word _02219490
|
|
_02209374: .word _02219498
|
|
_02209378: .word _022194A8
|
|
_0220937C: .word _022194B0
|
|
_02209380: .word _022194BC
|
|
_02209384: .word _022194C8
|
|
_02209388: .word _022194D4
|
|
_0220938C: .word _022194DC
|
|
_02209390: .word _022194E4
|
|
_02209394: .word _022194EC
|
|
_02209398: .word _022194F4
|
|
_0220939C: .word _02219500
|
|
_022093A0: .word _0221950C
|
|
_022093A4: .word _02219514
|
|
_022093A8: .word _02219520
|
|
_022093AC: .word _0221952C
|
|
_022093B0: .word _02219534
|
|
_022093B4: .word _02219540
|
|
_022093B8: .word _02219550
|
|
_022093BC: .word _02219560
|
|
_022093C0: .word _022193E4
|
|
_022093C4: .word _022192A8
|
|
_022093C8: .word 0x00000275
|
|
_022093CC: .word _02219564
|
|
_022093D0: .word _0221B16C
|
|
_022093D4: .word _02219570
|
|
_022093D8: .word _02219578
|
|
_022093DC: .word 0x00000601
|
|
_022093E0: .word _022195A4
|
|
_022093E4: .word _022195AC
|
|
_022093E8: .word _022195B4
|
|
_022093EC: .word _02219328
|
|
_022093F0: .word _022195B8
|
|
_022093F4: .word _022195C0
|
|
_022093F8: .word _022195CC
|
|
_022093FC: .word _022195D8
|
|
_02209400: .word _022195E4
|
|
_02209404: .word _022195EC
|
|
_02209408: .word _02219614
|
|
_0220940C: .word _02219618
|
|
_02209410: .word _0221961C
|
|
_02209414: .word _02219624
|
|
_02209418: .word _0221962C
|
|
_0220941C:
|
|
ldr r1, _02209410 ; =_0221961C
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
moveq sb, #1
|
|
beq _02209460
|
|
ldr r2, _02209404 ; =_022195EC
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x490
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209460:
|
|
cmp sb, #0
|
|
beq _022091E0
|
|
ldr r1, [sp, #0x1c]
|
|
add r2, sp, #0x38
|
|
str r1, [sp]
|
|
mov r1, #3
|
|
str r1, [sp, #4]
|
|
mov r0, sl
|
|
mov r3, r8
|
|
ldmia r2, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
beq _02209F60
|
|
add sp, sp, #0x490
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_0220949C:
|
|
cmp r0, #4
|
|
bne _02209718
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r1, [r0, #0xc]
|
|
ldr r0, [r0, #0x10]
|
|
str r1, [sp, #0x40]
|
|
str r0, [sp, #0x44]
|
|
cmp r1, #0
|
|
beq _02209F60
|
|
mov r0, #0x10
|
|
bl ov00_021EC3A8
|
|
movs fp, r0
|
|
bne _022094E8
|
|
ldr r1, _022093EC ; =_02219328
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x490
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022094E8:
|
|
ldr r1, [r6, #0x138]
|
|
mov r0, #0
|
|
stmia fp, {r0, r1}
|
|
str r0, [fp, #8]
|
|
str r0, [sp, #0x20]
|
|
str r0, [fp, #0xc]
|
|
add r4, sp, #0x290
|
|
add r5, sp, #0x90
|
|
_02209508:
|
|
str r5, [sp]
|
|
ldr r1, [r6, #8]
|
|
mov r0, sl
|
|
add r2, sp, #0x78
|
|
mov r3, r4
|
|
bl ov00_0220A69C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _02209414 ; =_02219624
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
streq r0, [sp, #0x20]
|
|
beq _022096D8
|
|
ldr r1, _02209418 ; =_0221962C
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _022096AC
|
|
ldr r0, [fp, #8]
|
|
add r2, r0, #1
|
|
mov r0, #0x128
|
|
mul r1, r2, r0
|
|
str r2, [fp, #8]
|
|
ldr r0, [fp, #0xc]
|
|
bl ov00_021EC3BC
|
|
str r0, [fp, #0xc]
|
|
movs r8, r0
|
|
bne _0220959C
|
|
ldr r1, _022093EC ; =_02219328
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x490
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_0220959C:
|
|
ldr r0, [fp, #8]
|
|
mov r1, #0
|
|
sub r2, r0, #1
|
|
mov r0, #0x128
|
|
mul sb, r2, r0
|
|
add r7, r8, sb
|
|
mov r0, r7
|
|
mov r2, #0x128
|
|
bl sub_020E5B44
|
|
mov r0, #1
|
|
str r0, [r7, #0x24]
|
|
mov r0, r5
|
|
bl sub_020EB82C
|
|
str r0, [r8, sb]
|
|
mov r8, #0
|
|
_022095D8:
|
|
ldr sb, [sp, #0x78]
|
|
mov r0, sl
|
|
str r5, [sp]
|
|
ldr r1, [r6, #8]
|
|
add r2, sp, #0x78
|
|
mov r3, r4
|
|
bl ov00_0220A69C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _02209F90 ; =_02219630
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02209628
|
|
add r0, r7, #0x28
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
b _0220964C
|
|
_02209628:
|
|
ldr r1, _022093F0 ; =_022195B8
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _0220964C
|
|
add r0, r7, #4
|
|
mov r1, r5
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
_0220964C:
|
|
ldr r1, _02209F94 ; =_02219638
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02209670
|
|
mov r0, r5
|
|
bl sub_020EB82C
|
|
str r0, [r7, #0x24]
|
|
b _022096A0
|
|
_02209670:
|
|
ldr r1, _02209418 ; =_0221962C
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
beq _02209698
|
|
ldr r1, _02209414 ; =_02219624
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _022096A0
|
|
_02209698:
|
|
str sb, [sp, #0x78]
|
|
mov r8, #1
|
|
_022096A0:
|
|
cmp r8, #0
|
|
beq _022095D8
|
|
b _022096D8
|
|
_022096AC:
|
|
ldr r2, _02209404 ; =_022195EC
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x490
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022096D8:
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #0
|
|
beq _02209508
|
|
ldr r1, [sp, #0x1c]
|
|
add r2, sp, #0x40
|
|
str r1, [sp]
|
|
mov r1, #4
|
|
str r1, [sp, #4]
|
|
mov r0, sl
|
|
mov r3, fp
|
|
ldmia r2, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
beq _02209F60
|
|
add sp, sp, #0x490
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209718:
|
|
cmp r0, #5
|
|
bne _02209874
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r1, [r0, #0xc]
|
|
ldr r0, [r0, #0x10]
|
|
str r1, [sp, #0x48]
|
|
str r0, [sp, #0x4c]
|
|
cmp r1, #0
|
|
beq _02209F60
|
|
add r0, sp, #0x90
|
|
str r0, [sp]
|
|
ldr r1, [r6, #8]
|
|
add r2, sp, #0x78
|
|
add r3, sp, #0x290
|
|
mov r0, sl
|
|
bl ov00_0220A69C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _02209F98 ; =_02219644
|
|
add r0, sp, #0x290
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
beq _022097A4
|
|
ldr r2, _02209404 ; =_022195EC
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x490
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022097A4:
|
|
add r0, sp, #0x90
|
|
bl sub_020EB82C
|
|
movs r4, r0
|
|
beq _022097C4
|
|
ldr r0, [sp, #0x28]
|
|
mov r5, #0
|
|
str r4, [r0, #0x418]
|
|
b _02209818
|
|
_022097C4:
|
|
ldr r0, [r6, #8]
|
|
ldr r1, _02209F9C ; =_02219648
|
|
add r2, sp, #0x90
|
|
mov r3, #0x200
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _0220980C
|
|
ldr r2, _02209404 ; =_022195EC
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x490
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_0220980C:
|
|
add r0, sp, #0x90
|
|
bl sub_020EB82C
|
|
mov r5, r0
|
|
_02209818:
|
|
mov r0, #8
|
|
bl ov00_021EC3A8
|
|
movs r3, r0
|
|
bne _02209840
|
|
ldr r1, _022093EC ; =_02219328
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x490
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209840:
|
|
stmia r3, {r4, r5}
|
|
ldr r1, [sp, #0x1c]
|
|
add r2, sp, #0x48
|
|
str r1, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
mov r0, sl
|
|
ldmia r2, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
beq _02209F60
|
|
add sp, sp, #0x490
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209874:
|
|
cmp r0, #6
|
|
bne _022099D4
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r1, [r0, #0xc]
|
|
ldr r0, [r0, #0x10]
|
|
str r1, [sp, #0x50]
|
|
str r0, [sp, #0x54]
|
|
cmp r1, #0
|
|
beq _02209F60
|
|
add r0, sp, #0x90
|
|
str r0, [sp]
|
|
ldr r1, [r6, #8]
|
|
add r2, sp, #0x78
|
|
add r3, sp, #0x290
|
|
mov r0, sl
|
|
bl ov00_0220A69C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _02209FA0 ; =_02219650
|
|
add r0, sp, #0x290
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
beq _02209900
|
|
ldr r2, _02209404 ; =_022195EC
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x490
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209900:
|
|
add r0, sp, #0x90
|
|
bl sub_020EB82C
|
|
movs r4, r0
|
|
ldrne r0, [sp, #0x28]
|
|
ldr r1, _02209F9C ; =_02219648
|
|
strne r4, [r0, #0x418]
|
|
ldr r0, [r6, #8]
|
|
add r2, sp, #0x90
|
|
mov r3, #0x200
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
bne _0220996C
|
|
cmp r4, #0
|
|
bne _02209964
|
|
ldr r2, _02209404 ; =_022195EC
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x490
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209964:
|
|
mov r5, #0
|
|
b _02209978
|
|
_0220996C:
|
|
add r0, sp, #0x90
|
|
bl sub_020EB82C
|
|
mov r5, r0
|
|
_02209978:
|
|
mov r0, #8
|
|
bl ov00_021EC3A8
|
|
movs r3, r0
|
|
bne _022099A0
|
|
ldr r1, _022093EC ; =_02219328
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x490
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022099A0:
|
|
stmia r3, {r4, r5}
|
|
ldr r1, [sp, #0x1c]
|
|
add r2, sp, #0x50
|
|
str r1, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
mov r0, sl
|
|
ldmia r2, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
beq _02209F60
|
|
add sp, sp, #0x490
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022099D4:
|
|
cmp r0, #7
|
|
bne _02209D10
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r1, [r0, #0xc]
|
|
ldr r0, [r0, #0x10]
|
|
str r1, [sp, #0x58]
|
|
str r0, [sp, #0x5c]
|
|
cmp r1, #0
|
|
beq _02209F60
|
|
mov r0, #0xc
|
|
bl ov00_021EC3A8
|
|
movs fp, r0
|
|
bne _02209A20
|
|
ldr r1, _022093EC ; =_02219328
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x490
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209A20:
|
|
mov r1, #0
|
|
str r1, [fp]
|
|
str r1, [fp, #4]
|
|
add r0, sp, #0x90
|
|
str r1, [fp, #8]
|
|
str r0, [sp]
|
|
ldr r1, [r6, #8]
|
|
add r2, sp, #0x78
|
|
add r3, sp, #0x290
|
|
mov r0, sl
|
|
bl ov00_0220A69C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _02209FA4 ; =_02219654
|
|
add r0, sp, #0x290
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
beq _02209A98
|
|
ldr r2, _02209404 ; =_022195EC
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x490
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209A98:
|
|
mov r0, #0
|
|
str r0, [sp, #0x24]
|
|
add r4, sp, #0x290
|
|
add r5, sp, #0x90
|
|
_02209AA8:
|
|
str r5, [sp]
|
|
ldr r1, [r6, #8]
|
|
mov r0, sl
|
|
add r2, sp, #0x78
|
|
mov r3, r4
|
|
bl ov00_0220A69C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _02209FA8 ; =_0221965C
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
streq r0, [sp, #0x24]
|
|
beq _02209CD0
|
|
ldr r1, _02209FAC ; =_02219664
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02209CA4
|
|
ldr r1, [fp, #4]
|
|
ldr r0, [fp, #8]
|
|
add r2, r1, #1
|
|
mov r1, #0xac
|
|
mul r1, r2, r1
|
|
bl ov00_021EC3BC
|
|
cmp r0, #0
|
|
bne _02209B34
|
|
ldr r1, _022093EC ; =_02219328
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x490
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209B34:
|
|
str r0, [fp, #8]
|
|
ldr r2, [fp, #4]
|
|
mov r8, r0
|
|
mov r0, #0xac
|
|
mul sb, r2, r0
|
|
add r7, r8, sb
|
|
mov r1, #0
|
|
mov r0, r7
|
|
mov r2, #0xac
|
|
bl sub_020E5B44
|
|
ldr r1, [fp, #4]
|
|
mov r0, r5
|
|
add r1, r1, #1
|
|
str r1, [fp, #4]
|
|
bl sub_020EB82C
|
|
str r0, [r8, sb]
|
|
mov r8, #0
|
|
_02209B78:
|
|
ldr sb, [sp, #0x78]
|
|
mov r0, sl
|
|
str r5, [sp]
|
|
ldr r1, [r6, #8]
|
|
add r2, sp, #0x78
|
|
mov r3, r4
|
|
bl ov00_0220A69C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _022093F0 ; =_022195B8
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02209BC8
|
|
add r0, r7, #4
|
|
mov r1, r5
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
b _02209C98
|
|
_02209BC8:
|
|
ldr r1, _022093F4 ; =_022195C0
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02209BF0
|
|
add r0, r7, #0x23
|
|
mov r1, r5
|
|
mov r2, #0x15
|
|
bl ov00_0220A348
|
|
b _02209C98
|
|
_02209BF0:
|
|
ldr r1, _02209FB0 ; =_02219668
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02209C18
|
|
add r0, r7, #0x38
|
|
mov r1, r5
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
b _02209C98
|
|
_02209C18:
|
|
ldr r1, _02209FB4 ; =_02219670
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02209C40
|
|
add r0, r7, #0x57
|
|
mov r1, r5
|
|
mov r2, #0x1f
|
|
bl ov00_0220A348
|
|
b _02209C98
|
|
_02209C40:
|
|
ldr r1, _02209400 ; =_022195E4
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02209C68
|
|
add r0, r7, #0x76
|
|
mov r1, r5
|
|
mov r2, #0x33
|
|
bl ov00_0220A348
|
|
b _02209C98
|
|
_02209C68:
|
|
ldr r1, _02209FAC ; =_02219664
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
beq _02209C90
|
|
ldr r1, _02209FA8 ; =_0221965C
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02209C98
|
|
_02209C90:
|
|
str sb, [sp, #0x78]
|
|
mov r8, #1
|
|
_02209C98:
|
|
cmp r8, #0
|
|
beq _02209B78
|
|
b _02209CD0
|
|
_02209CA4:
|
|
ldr r2, _02209404 ; =_022195EC
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x490
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209CD0:
|
|
ldr r0, [sp, #0x24]
|
|
cmp r0, #0
|
|
beq _02209AA8
|
|
ldr r1, [sp, #0x1c]
|
|
add r2, sp, #0x58
|
|
str r1, [sp]
|
|
mov r1, #8
|
|
str r1, [sp, #4]
|
|
mov r0, sl
|
|
mov r3, fp
|
|
ldmia r2, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
beq _02209F60
|
|
add sp, sp, #0x490
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209D10:
|
|
cmp r0, #8
|
|
bne _02209F4C
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r1, [r0, #0xc]
|
|
ldr r0, [r0, #0x10]
|
|
str r1, [sp, #0x60]
|
|
str r0, [sp, #0x64]
|
|
cmp r1, #0
|
|
beq _02209F60
|
|
mov r0, #0xc
|
|
mov r7, #0
|
|
bl ov00_021EC3A8
|
|
movs r8, r0
|
|
bne _02209D60
|
|
ldr r1, _022093EC ; =_02219328
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x490
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209D60:
|
|
mov r1, r7
|
|
str r1, [r8]
|
|
str r1, [r8, #4]
|
|
add r0, sp, #0x90
|
|
str r1, [r8, #8]
|
|
str r0, [sp]
|
|
ldr r1, [r6, #8]
|
|
add r2, sp, #0x78
|
|
add r3, sp, #0x290
|
|
mov r0, sl
|
|
bl ov00_0220A69C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _02209FB8 ; =_02219678
|
|
add r0, sp, #0x290
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
beq _02209DD8
|
|
ldr r2, _02209404 ; =_022195EC
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x490
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209DD8:
|
|
add r0, sp, #0x90
|
|
bl sub_020EB82C
|
|
str r0, [r8, #4]
|
|
mov r0, r0, lsl #2
|
|
bl ov00_021EC3A8
|
|
str r0, [r8, #8]
|
|
cmp r0, #0
|
|
bne _02209E10
|
|
ldr r1, _022093EC ; =_02219328
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x490
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209E10:
|
|
mov sb, r7
|
|
add r4, sp, #0x290
|
|
add r5, sp, #0x90
|
|
add fp, sp, #0x78
|
|
_02209E20:
|
|
str r5, [sp]
|
|
ldr r1, [r6, #8]
|
|
mov r0, sl
|
|
mov r2, fp
|
|
mov r3, r4
|
|
bl ov00_0220A69C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x490
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _022093F0 ; =_022195B8
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02209EA4
|
|
mov r0, #0x15
|
|
bl ov00_021EC3A8
|
|
ldr r1, [r8, #8]
|
|
str r0, [r1, r7, lsl #2]
|
|
ldr r0, [r8, #8]
|
|
ldr r0, [r0, r7, lsl #2]
|
|
cmp r0, #0
|
|
bne _02209E90
|
|
ldr r1, _022093EC ; =_02219328
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x490
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209E90:
|
|
mov r1, r5
|
|
mov r2, #0x15
|
|
bl ov00_0220A348
|
|
add r7, r7, #1
|
|
b _02209F10
|
|
_02209EA4:
|
|
ldr r1, _02209FBC ; =_0221967C
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
bne _02209EE4
|
|
ldr r0, [r8, #4]
|
|
cmp r7, r0
|
|
beq _02209ED8
|
|
ldr r0, _02209FC0 ; =_02219684
|
|
ldr r1, _022093C0 ; =_022193E4
|
|
ldr r2, _022093C4 ; =_022192A8
|
|
ldr r3, _02209FC4 ; =0x00000515
|
|
bl sub_020E4A9C
|
|
_02209ED8:
|
|
str r7, [r8, #4]
|
|
mov sb, #1
|
|
b _02209F10
|
|
_02209EE4:
|
|
ldr r2, _02209404 ; =_022195EC
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x490
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209F10:
|
|
cmp sb, #0
|
|
beq _02209E20
|
|
ldr r1, [sp, #0x1c]
|
|
add r2, sp, #0x60
|
|
str r1, [sp]
|
|
mov r1, #9
|
|
str r1, [sp, #4]
|
|
mov r0, sl
|
|
mov r3, r8
|
|
ldmia r2, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
beq _02209F60
|
|
add sp, sp, #0x490
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02209F4C:
|
|
ldr r0, _022093BC ; =_02219560
|
|
ldr r1, _022093C0 ; =_022193E4
|
|
ldr r2, _022093C4 ; =_022192A8
|
|
ldr r3, _02209FC8 ; =0x0000052A
|
|
bl sub_020E4A9C
|
|
_02209F60:
|
|
mov r0, #1
|
|
str r0, [r6, #0x140]
|
|
mov r4, #0
|
|
_02209F6C:
|
|
cmp r4, #0
|
|
beq _02209F7C
|
|
mov r0, #0xa
|
|
bl ov00_021FF3C0
|
|
_02209F7C:
|
|
cmp r4, #0
|
|
bne _0220854C
|
|
mov r0, #0
|
|
add sp, sp, #0x490
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02209F90: .word _02219630
|
|
_02209F94: .word _02219638
|
|
_02209F98: .word _02219644
|
|
_02209F9C: .word _02219648
|
|
_02209FA0: .word _02219650
|
|
_02209FA4: .word _02219654
|
|
_02209FA8: .word _0221965C
|
|
_02209FAC: .word _02219664
|
|
_02209FB0: .word _02219668
|
|
_02209FB4: .word _02219670
|
|
_02209FB8: .word _02219678
|
|
_02209FBC: .word _0221967C
|
|
_02209FC0: .word _02219684
|
|
_02209FC4: .word 0x00000515
|
|
_02209FC8: .word 0x0000052A
|
|
arm_func_end ov00_0220851C
|
|
|
|
arm_func_start ov00_02209FCC
|
|
ov00_02209FCC: ; 0x02209FCC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov sl, r0
|
|
ldr r6, [sl]
|
|
mov sb, #0
|
|
ldr r0, [r6, #0x210]
|
|
cmp r0, #0
|
|
ble _0220A100
|
|
mov r0, r0, lsl #2
|
|
bl ov00_021EC3A8
|
|
movs r7, r0
|
|
bne _0220A00C
|
|
ldr r1, _0220A108 ; =_02219328
|
|
mov r0, sl
|
|
bl ov00_0220A890
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_0220A00C:
|
|
ldr r8, [r6, #0x424]
|
|
cmp r8, #0
|
|
beq _0220A088
|
|
ldr r5, _0220A10C ; =_022196A4
|
|
ldr fp, _0220A110 ; =_022193E4
|
|
mov r4, #1
|
|
_0220A024:
|
|
ldr r0, [r8]
|
|
cmp r0, #3
|
|
bne _0220A07C
|
|
ldr r0, [r8, #0x14]
|
|
cmp r0, #5
|
|
beq _0220A07C
|
|
ldr r0, [r8, #4]
|
|
ldr r0, [r0, #0x13c]
|
|
cmp r0, #0
|
|
bne _0220A07C
|
|
ldr r0, [r6, #0x210]
|
|
cmp sb, r0
|
|
blt _0220A06C
|
|
ldr r2, _0220A114 ; =_022192BC
|
|
ldr r3, _0220A118 ; =0x00000563
|
|
mov r0, r5
|
|
mov r1, fp
|
|
bl sub_020E4A9C
|
|
_0220A06C:
|
|
str r8, [r7, sb, lsl #2]
|
|
ldr r0, [r8, #4]
|
|
add sb, sb, #1
|
|
str r4, [r0, #0x13c]
|
|
_0220A07C:
|
|
ldr r8, [r8, #0x20]
|
|
cmp r8, #0
|
|
bne _0220A024
|
|
_0220A088:
|
|
cmp sb, #0
|
|
mov r4, #0
|
|
ble _0220A0B8
|
|
_0220A094:
|
|
ldr r1, [r7, r4, lsl #2]
|
|
mov r0, sl
|
|
bl ov00_0220851C
|
|
cmp r0, #0
|
|
ldrne r1, [r7, r4, lsl #2]
|
|
add r4, r4, #1
|
|
strne r0, [r1, #0x1c]
|
|
cmp r4, sb
|
|
blt _0220A094
|
|
_0220A0B8:
|
|
cmp sb, #0
|
|
mov r4, #0
|
|
ble _0220A0F8
|
|
mov r5, r4
|
|
_0220A0C8:
|
|
ldr r0, [r7, r4, lsl #2]
|
|
ldr r0, [r0, #4]
|
|
str r5, [r0, #0x13c]
|
|
ldr r0, [r0, #0x140]
|
|
cmp r0, #0
|
|
beq _0220A0EC
|
|
ldr r1, [r7, r4, lsl #2]
|
|
mov r0, sl
|
|
bl ov00_022066D0
|
|
_0220A0EC:
|
|
add r4, r4, #1
|
|
cmp r4, sb
|
|
blt _0220A0C8
|
|
_0220A0F8:
|
|
mov r0, r7
|
|
bl ov00_021EC3D8
|
|
_0220A100:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_0220A108: .word _02219328
|
|
_0220A10C: .word _022196A4
|
|
_0220A110: .word _022193E4
|
|
_0220A114: .word _022192BC
|
|
_0220A118: .word 0x00000563
|
|
arm_func_end ov00_02209FCC
|
|
|
|
arm_func_start ov00_0220A11C
|
|
ov00_0220A11C: ; 0x0220A11C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x20
|
|
ldr ip, [sp, #0x30]
|
|
mov r5, r2
|
|
mov r6, r0
|
|
cmp ip, #0
|
|
ldreq r0, _0220A1B8 ; =_022196C4
|
|
mov lr, r1
|
|
mov r4, r3
|
|
streq r0, [sp, #0x30]
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r3, lr
|
|
mov r2, #0xc9
|
|
bl ov00_0220792C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x20
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldr r1, _0220A1BC ; =_022196C8
|
|
add r0, sp, #0
|
|
mov r3, r4
|
|
mov r2, #1
|
|
bl sub_020E7F30
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov00_02202424
|
|
cmp r0, #0
|
|
addne sp, sp, #0x20
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldr r2, [sp, #0x30]
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mvn r3, #0
|
|
bl ov00_022079A8
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
add sp, sp, #0x20
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0220A1B8: .word _022196C4
|
|
_0220A1BC: .word _022196C8
|
|
arm_func_end ov00_0220A11C
|
|
|
|
arm_func_start ov00_0220A1C0
|
|
ov00_0220A1C0: ; 0x0220A1C0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x50
|
|
mov r4, r1
|
|
mov r5, r0
|
|
mov r0, r3
|
|
ldr r1, _0220A23C ; =_022196E0
|
|
add r2, sp, #0x10
|
|
mov r3, #0x40
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x50
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r1, _0220A240 ; =_022196E8
|
|
add ip, sp, #0xc
|
|
add r0, sp, #0x10
|
|
add r2, sp, #4
|
|
add r3, sp, #8
|
|
str ip, [sp]
|
|
bl sub_020E9428
|
|
cmp r0, #3
|
|
addne sp, sp, #0x50
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
mov ip, #0
|
|
add r1, sp, #4
|
|
mov r0, r5
|
|
mov r2, r4
|
|
mov r3, #2
|
|
str ip, [sp]
|
|
bl ov00_0220A11C
|
|
add sp, sp, #0x50
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0220A23C: .word _022196E0
|
|
_0220A240: .word _022196E8
|
|
arm_func_end ov00_0220A1C0
|
|
|
|
arm_func_start ov00_0220A244
|
|
ov00_0220A244: ; 0x0220A244
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x10
|
|
mov r4, r2
|
|
mov r5, r1
|
|
mov r1, r4
|
|
mov r2, #1
|
|
mov r6, r0
|
|
bl ov00_0220A3C8
|
|
cmp r0, #0
|
|
addne sp, sp, #0x10
|
|
movne r0, #4
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldr r1, _0220A33C ; =_022196F4
|
|
mov r0, r4
|
|
mov r2, #4
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
beq _0220A2B8
|
|
ldr r2, _0220A340 ; =_022196FC
|
|
mov r0, r6
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, r6
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #0x10
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0220A2B8:
|
|
ldr r1, [r5, #0xc]
|
|
ldr r0, [r5, #0x10]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
cmp r1, #0
|
|
beq _0220A324
|
|
mov r0, #4
|
|
bl ov00_021EC3A8
|
|
movs r3, r0
|
|
bne _0220A2F8
|
|
ldr r1, _0220A344 ; =_0221972C
|
|
mov r0, r6
|
|
bl ov00_0220A890
|
|
add sp, sp, #0x10
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0220A2F8:
|
|
mov r2, #0
|
|
str r2, [r3]
|
|
str r5, [sp]
|
|
add r1, sp, #8
|
|
str r2, [sp, #4]
|
|
mov r0, r6
|
|
ldmia r1, {r1, r2}
|
|
bl ov00_02202A84
|
|
cmp r0, #0
|
|
addne sp, sp, #0x10
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
_0220A324:
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov00_022066D0
|
|
mov r0, #0
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0220A33C: .word _022196F4
|
|
_0220A340: .word _022196FC
|
|
_0220A344: .word _0221972C
|
|
arm_func_end ov00_0220A244
|
|
|
|
arm_func_start ov00_0220A348
|
|
ov00_0220A348: ; 0x0220A348
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
movs r6, r0
|
|
mov r5, r1
|
|
mov r4, r2
|
|
bne _0220A370
|
|
ldr r0, _0220A3AC ; =_02219768
|
|
ldr r1, _0220A3B0 ; =_02219778
|
|
ldr r2, _0220A3B4 ; =_0221973C
|
|
mov r3, #0x2f
|
|
bl sub_020E4A9C
|
|
_0220A370:
|
|
cmp r5, #0
|
|
bne _0220A38C
|
|
ldr r0, _0220A3B8 ; =_02219788
|
|
ldr r1, _0220A3B0 ; =_02219778
|
|
ldr r2, _0220A3B4 ; =_0221973C
|
|
mov r3, #0x30
|
|
bl sub_020E4A9C
|
|
_0220A38C:
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r2, r4
|
|
bl sub_020E9664
|
|
add r0, r6, r4
|
|
mov r1, #0
|
|
strb r1, [r0, #-1]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0220A3AC: .word _02219768
|
|
_0220A3B0: .word _02219778
|
|
_0220A3B4: .word _0221973C
|
|
_0220A3B8: .word _02219788
|
|
arm_func_end ov00_0220A348
|
|
|
|
arm_func_start ov00_0220A3BC
|
|
ov00_0220A3BC: ; 0x0220A3BC
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
arm_func_end ov00_0220A3BC
|
|
|
|
arm_func_start ov00_0220A3C8
|
|
ov00_0220A3C8: ; 0x0220A3C8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x10
|
|
mov r6, r1
|
|
mov r7, r0
|
|
mov r5, r2
|
|
ldr r1, _0220A490 ; =_02219794
|
|
mov r0, r6
|
|
mov r2, #7
|
|
ldr r4, [r7]
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
bne _0220A484
|
|
ldr r1, _0220A494 ; =_0221979C
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
mov r3, #0x10
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
beq _0220A420
|
|
add r0, sp, #0
|
|
bl sub_020EB82C
|
|
str r0, [r4, #0x418]
|
|
_0220A420:
|
|
ldr r1, _0220A498 ; =_022197A4
|
|
mov r0, r6
|
|
mov r2, r4
|
|
mov r3, #0x100
|
|
bl ov00_0220A4A0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streqb r0, [r4]
|
|
cmp r5, #0
|
|
beq _0220A478
|
|
ldr r1, _0220A49C ; =_022197B0
|
|
mov r0, r6
|
|
bl sub_020E9AD0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
cmp r0, #0
|
|
movne r2, #1
|
|
moveq r2, #0
|
|
mov r0, r7
|
|
mov r1, #4
|
|
bl ov00_02202990
|
|
_0220A478:
|
|
add sp, sp, #0x10
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220A484:
|
|
mov r0, #0
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220A490: .word _02219794
|
|
_0220A494: .word _0221979C
|
|
_0220A498: .word _022197A4
|
|
_0220A49C: .word _022197B0
|
|
arm_func_end ov00_0220A3C8
|
|
|
|
arm_func_start ov00_0220A4A0
|
|
ov00_0220A4A0: ; 0x0220A4A0
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
movs r5, r0
|
|
mov r8, r1
|
|
mov r4, r2
|
|
mov r7, r3
|
|
bne _0220A4CC
|
|
ldr r0, _0220A584 ; =_022197B8
|
|
ldr r1, _0220A588 ; =_02219778
|
|
ldr r2, _0220A58C ; =_02219744
|
|
ldr r3, _0220A590 ; =0x0000010D
|
|
bl sub_020E4A9C
|
|
_0220A4CC:
|
|
cmp r8, #0
|
|
bne _0220A4E8
|
|
ldr r0, _0220A594 ; =_022197C8
|
|
ldr r1, _0220A588 ; =_02219778
|
|
ldr r2, _0220A58C ; =_02219744
|
|
ldr r3, _0220A598 ; =0x0000010E
|
|
bl sub_020E4A9C
|
|
_0220A4E8:
|
|
cmp r4, #0
|
|
bne _0220A504
|
|
ldr r0, _0220A59C ; =_022197D4
|
|
ldr r1, _0220A588 ; =_02219778
|
|
ldr r2, _0220A58C ; =_02219744
|
|
ldr r3, _0220A5A0 ; =0x0000010F
|
|
bl sub_020E4A9C
|
|
_0220A504:
|
|
cmp r7, #0
|
|
bgt _0220A520
|
|
ldr r0, _0220A5A4 ; =_022197E4
|
|
ldr r1, _0220A588 ; =_02219778
|
|
ldr r2, _0220A58C ; =_02219744
|
|
mov r3, #0x110
|
|
bl sub_020E4A9C
|
|
_0220A520:
|
|
ldrsb r6, [r8]
|
|
mov r0, r5
|
|
mov r1, r8
|
|
bl sub_020E9AD0
|
|
movs r5, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
mov r0, r8
|
|
bl sub_020E9580
|
|
add r1, r5, r0
|
|
mov r3, #0
|
|
sub r0, r7, #1
|
|
b _0220A55C
|
|
_0220A554:
|
|
strb r2, [r4, r3]
|
|
add r3, r3, #1
|
|
_0220A55C:
|
|
cmp r3, r0
|
|
bge _0220A574
|
|
ldrsb r2, [r1, r3]
|
|
cmp r2, #0
|
|
cmpne r2, r6
|
|
bne _0220A554
|
|
_0220A574:
|
|
mov r0, #0
|
|
strb r0, [r4, r3]
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_0220A584: .word _022197B8
|
|
_0220A588: .word _02219778
|
|
_0220A58C: .word _02219744
|
|
_0220A590: .word 0x0000010D
|
|
_0220A594: .word _022197C8
|
|
_0220A598: .word 0x0000010E
|
|
_0220A59C: .word _022197D4
|
|
_0220A5A0: .word 0x0000010F
|
|
_0220A5A4: .word _022197E4
|
|
arm_func_end ov00_0220A4A0
|
|
|
|
arm_func_start ov00_0220A5A8
|
|
ov00_0220A5A8: ; 0x0220A5A8
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #8
|
|
mov ip, #0
|
|
mov r4, r2
|
|
mov r5, r0
|
|
mov r0, r1
|
|
add r2, sp, #4
|
|
add r3, sp, #0
|
|
mov r1, ip
|
|
str ip, [sp, #4]
|
|
str ip, [sp]
|
|
bl ov00_021FF59C
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
bne _0220A61C
|
|
ldr r1, _0220A68C ; =_022197EC
|
|
mov r0, r5
|
|
bl ov00_0220A3BC
|
|
ldr r2, _0220A690 ; =_02219800
|
|
mov r0, r5
|
|
mov r1, #5
|
|
bl ov00_0220A86C
|
|
mov r0, r5
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
add sp, sp, #8
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220A61C:
|
|
cmp r0, #0
|
|
ble _0220A67C
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
beq _0220A650
|
|
ldr r1, _0220A694 ; =_02219838
|
|
mov r0, r5
|
|
bl ov00_0220A3BC
|
|
mov r0, #4
|
|
str r0, [r4]
|
|
add sp, sp, #8
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220A650:
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #0
|
|
beq _0220A67C
|
|
ldr r1, _0220A698 ; =_02219850
|
|
mov r0, r5
|
|
bl ov00_0220A3BC
|
|
mov r0, #3
|
|
str r0, [r4]
|
|
add sp, sp, #8
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220A67C:
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0220A68C: .word _022197EC
|
|
_0220A690: .word _02219800
|
|
_0220A694: .word _02219838
|
|
_0220A698: .word _02219850
|
|
arm_func_end ov00_0220A5A8
|
|
|
|
arm_func_start ov00_0220A69C
|
|
ov00_0220A69C: ; 0x0220A69C
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
movs r7, r1
|
|
mov r8, r0
|
|
mov r6, r2
|
|
mov r5, r3
|
|
ldr r4, [sp, #0x18]
|
|
bne _0220A6CC
|
|
ldr r0, _0220A844 ; =_02219868
|
|
ldr r1, _0220A848 ; =_02219778
|
|
ldr r2, _0220A84C ; =_02219754
|
|
ldr r3, _0220A850 ; =0x00000199
|
|
bl sub_020E4A9C
|
|
_0220A6CC:
|
|
cmp r5, #0
|
|
bne _0220A6E8
|
|
ldr r0, _0220A854 ; =_022197C8
|
|
ldr r1, _0220A848 ; =_02219778
|
|
ldr r2, _0220A84C ; =_02219754
|
|
ldr r3, _0220A858 ; =0x0000019A
|
|
bl sub_020E4A9C
|
|
_0220A6E8:
|
|
cmp r4, #0
|
|
bne _0220A704
|
|
ldr r0, _0220A85C ; =_022197D4
|
|
ldr r1, _0220A848 ; =_02219778
|
|
ldr r2, _0220A84C ; =_02219754
|
|
ldr r3, _0220A860 ; =0x0000019B
|
|
bl sub_020E4A9C
|
|
_0220A704:
|
|
ldr r1, [r6]
|
|
ldrsb r0, [r7, r1]
|
|
add r3, r7, r1
|
|
cmp r0, #0x5c
|
|
beq _0220A740
|
|
ldr r2, _0220A864 ; =_02219878
|
|
mov r0, r8
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, r8
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_0220A740:
|
|
ldrsb r1, [r3, #1]
|
|
add r7, r3, #2
|
|
mov r2, #0
|
|
cmp r1, #0x5c
|
|
beq _0220A7CC
|
|
ldr r0, _0220A868 ; =0x000001FF
|
|
_0220A758:
|
|
cmp r1, #0
|
|
bne _0220A788
|
|
ldr r2, _0220A864 ; =_02219878
|
|
mov r0, r8
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, r8
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_0220A788:
|
|
cmp r2, r0
|
|
bne _0220A7B8
|
|
ldr r2, _0220A864 ; =_02219878
|
|
mov r0, r8
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, r8
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_0220A7B8:
|
|
strb r1, [r5], #1
|
|
ldrsb r1, [r7], #1
|
|
add r2, r2, #1
|
|
cmp r1, #0x5c
|
|
bne _0220A758
|
|
_0220A7CC:
|
|
mov r1, #0
|
|
strb r1, [r5]
|
|
ldr r0, _0220A868 ; =0x000001FF
|
|
b _0220A814
|
|
_0220A7DC:
|
|
cmp r1, r0
|
|
bne _0220A80C
|
|
ldr r2, _0220A864 ; =_02219878
|
|
mov r0, r8
|
|
mov r1, #1
|
|
bl ov00_0220A86C
|
|
mov r0, r8
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov00_02202990
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_0220A80C:
|
|
strb r2, [r4], #1
|
|
add r1, r1, #1
|
|
_0220A814:
|
|
ldrsb r2, [r7], #1
|
|
cmp r2, #0x5c
|
|
cmpne r2, #0
|
|
bne _0220A7DC
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
sub r1, r7, r3
|
|
ldr r2, [r6]
|
|
sub r1, r1, #1
|
|
add r1, r2, r1
|
|
str r1, [r6]
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_0220A844: .word _02219868
|
|
_0220A848: .word _02219778
|
|
_0220A84C: .word _02219754
|
|
_0220A850: .word 0x00000199
|
|
_0220A854: .word _022197C8
|
|
_0220A858: .word 0x0000019A
|
|
_0220A85C: .word _022197D4
|
|
_0220A860: .word 0x0000019B
|
|
_0220A864: .word _02219878
|
|
_0220A868: .word 0x000001FF
|
|
arm_func_end ov00_0220A69C
|
|
|
|
arm_func_start ov00_0220A86C
|
|
ov00_0220A86C: ; 0x0220A86C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r4, [r0]
|
|
mov r5, r1
|
|
mov r1, r2
|
|
mov r0, r4
|
|
mov r2, #0x100
|
|
bl ov00_0220A348
|
|
str r5, [r4, #0x418]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_0220A86C
|
|
|
|
arm_func_start ov00_0220A890
|
|
ov00_0220A890: ; 0x0220A890
|
|
ldr ip, _0220A8A0 ; =ov00_0220A348
|
|
ldr r0, [r0]
|
|
mov r2, #0x100
|
|
bx ip
|
|
.align 2, 0
|
|
_0220A8A0: .word ov00_0220A348
|
|
arm_func_end ov00_0220A890
|
|
|
|
arm_func_start ov00_0220A8A4
|
|
ov00_0220A8A4: ; 0x0220A8A4
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x14
|
|
movs r7, r0
|
|
ldreq r0, _0220A930 ; =_0221B1F0
|
|
mov r6, r1
|
|
ldreq r7, [r0, #4]
|
|
mov r5, r2
|
|
mov r4, r3
|
|
cmp r7, #0
|
|
bne _0220A8E0
|
|
ldr r0, _0220A934 ; =_022198AC
|
|
ldr r1, _0220A938 ; =_022198B0
|
|
ldr r2, _0220A93C ; =_02219890
|
|
mov r3, #0x78
|
|
bl sub_020E4A9C
|
|
_0220A8E0:
|
|
mov r0, r6
|
|
bl ov00_021FF3D4
|
|
mov r3, #0
|
|
mov r2, #1
|
|
str r0, [sp]
|
|
add r0, sp, #0
|
|
mov r1, r4
|
|
str r5, [sp, #4]
|
|
str r3, [sp, #0xc]
|
|
str r2, [sp, #8]
|
|
bl ov00_0220AD64
|
|
ldr r0, [r7]
|
|
add r1, sp, #0
|
|
bl ov00_021FEF74
|
|
mov r0, r7
|
|
mov r1, r6
|
|
bl ov00_0220AE00
|
|
bl ov00_0220ADE0
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220A930: .word _0221B1F0
|
|
_0220A934: .word _022198AC
|
|
_0220A938: .word _022198B0
|
|
_0220A93C: .word _02219890
|
|
arm_func_end ov00_0220A8A4
|
|
|
|
arm_func_start ov00_0220A940
|
|
ov00_0220A940: ; 0x0220A940
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r2
|
|
bl ov00_0220AE00
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r2, #0
|
|
mov r1, r4
|
|
str r2, [r0, #8]
|
|
bl ov00_0220AD64
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0220A940
|
|
|
|
arm_func_start ov00_0220A96C
|
|
ov00_0220A96C: ; 0x0220A96C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
bl ov00_0220AE00
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #0
|
|
bne _0220A9BC
|
|
bl ov00_0220ADE0
|
|
ldr r1, [r5]
|
|
ldr r0, [r0]
|
|
add r0, r1, r0
|
|
bl ov00_0220AD00
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl ov00_0220AD64
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220A9BC:
|
|
cmp r1, #1
|
|
bne _0220A9EC
|
|
bl ov00_0220ADE0
|
|
mov r3, r0
|
|
ldmia r5, {r0, r1}
|
|
ldmia r3, {r2, r3}
|
|
bl sub_020F068C
|
|
bl ov00_0220AD18
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl ov00_0220AD64
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220A9EC:
|
|
mov r0, r7
|
|
mov r1, r6
|
|
mov r2, r5
|
|
bl ov00_0220AB88
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_0220A96C
|
|
|
|
arm_func_start ov00_0220AA00
|
|
ov00_0220AA00: ; 0x0220AA00
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r2
|
|
bl ov00_0220AE00
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #0
|
|
bne _0220AA48
|
|
bl ov00_0220ADE0
|
|
ldr r1, [r0]
|
|
ldr r0, [r5]
|
|
sub r0, r1, r0
|
|
bl ov00_0220AD00
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl ov00_0220AD64
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220AA48:
|
|
cmp r1, #1
|
|
bne _0220AA7C
|
|
bl ov00_0220ADE0
|
|
ldr ip, [r0]
|
|
ldr r1, [r0, #4]
|
|
mov r0, ip
|
|
ldmia r5, {r2, r3}
|
|
bl sub_020F116C
|
|
bl ov00_0220AD18
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl ov00_0220AD64
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220AA7C:
|
|
bl ov00_0220ADE0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_0220AA00
|
|
|
|
arm_func_start ov00_0220AA84
|
|
ov00_0220AA84: ; 0x0220AA84
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r2
|
|
bl ov00_0220AE00
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #0
|
|
bne _0220AACC
|
|
bl ov00_0220ADE0
|
|
ldr r1, [r5]
|
|
ldr r0, [r0]
|
|
mul r0, r1, r0
|
|
bl ov00_0220AD00
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl ov00_0220AD64
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220AACC:
|
|
cmp r1, #1
|
|
bne _0220AAFC
|
|
bl ov00_0220ADE0
|
|
mov r3, r0
|
|
ldmia r5, {r0, r1}
|
|
ldmia r3, {r2, r3}
|
|
bl sub_020F0C54
|
|
bl ov00_0220AD18
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl ov00_0220AD64
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220AAFC:
|
|
bl ov00_0220ADE0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_0220AA84
|
|
|
|
arm_func_start ov00_0220AB04
|
|
ov00_0220AB04: ; 0x0220AB04
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r2
|
|
bl ov00_0220AE00
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #0
|
|
bne _0220AB4C
|
|
bl ov00_0220ADE0
|
|
ldr r0, [r0]
|
|
ldr r1, [r5]
|
|
bl sub_020F2998
|
|
bl ov00_0220AD00
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl ov00_0220AD64
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220AB4C:
|
|
cmp r1, #1
|
|
bne _0220AB80
|
|
bl ov00_0220ADE0
|
|
ldr ip, [r0]
|
|
ldr r1, [r0, #4]
|
|
mov r0, ip
|
|
ldmia r5, {r2, r3}
|
|
bl sub_020F2DA0
|
|
bl ov00_0220AD18
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl ov00_0220AD64
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220AB80:
|
|
bl ov00_0220ADE0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_0220AB04
|
|
|
|
arm_func_start ov00_0220AB88
|
|
ov00_0220AB88: ; 0x0220AB88
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r2
|
|
bl ov00_0220AE00
|
|
movs r6, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r6, #4]
|
|
cmp r0, #2
|
|
beq _0220ABC0
|
|
ldr r0, _0220AC20 ; =_022198BC
|
|
ldr r1, _0220AC24 ; =_022198B0
|
|
ldr r2, _0220AC28 ; =_0221989C
|
|
mov r3, #0xd1
|
|
bl sub_020E4A9C
|
|
_0220ABC0:
|
|
mov r0, r6
|
|
bl ov00_0220ADE0
|
|
mov r5, r0
|
|
bl sub_020E9580
|
|
mov r4, r0
|
|
mov r0, r7
|
|
bl sub_020E9580
|
|
add r0, r4, r0
|
|
add r0, r0, #1
|
|
bl ov00_021EC3A8
|
|
mov r4, r0
|
|
mov r1, r5
|
|
bl sub_020E959C
|
|
mov r0, r4
|
|
mov r1, r7
|
|
bl sub_020E96B4
|
|
mov r0, r6
|
|
mov r1, r4
|
|
bl ov00_0220AD64
|
|
mov r0, r4
|
|
bl ov00_021EC3D8
|
|
mov r0, r6
|
|
bl ov00_0220ADE0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220AC20: .word _022198BC
|
|
_0220AC24: .word _022198B0
|
|
_0220AC28: .word _0221989C
|
|
arm_func_end ov00_0220AB88
|
|
|
|
arm_func_start ov00_0220AC2C
|
|
ov00_0220AC2C: ; 0x0220AC2C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r2
|
|
bl ov00_0220AE00
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #0
|
|
bne _0220AC84
|
|
bl ov00_0220ADE0
|
|
ldr r1, [r4, #8]
|
|
add r1, r1, #1
|
|
str r1, [r4, #8]
|
|
ldr r2, [r7]
|
|
ldr r0, [r0]
|
|
mla r0, r1, r0, r2
|
|
bl sub_020F2998
|
|
bl ov00_0220AD00
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl ov00_0220AD64
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220AC84:
|
|
cmp r1, #1
|
|
bne _0220ACF8
|
|
bl ov00_0220ADE0
|
|
ldr r1, [r4, #8]
|
|
mov r5, r0
|
|
add r6, r1, #1
|
|
mov r0, r6
|
|
str r6, [r4, #8]
|
|
bl sub_020F0BD8
|
|
ldmia r5, {r2, r3}
|
|
bl sub_020F0C54
|
|
mov r2, r0
|
|
mov r3, r1
|
|
ldmia r7, {r0, r1}
|
|
bl sub_020F068C
|
|
mov r5, r0
|
|
mov r0, r6
|
|
mov r6, r1
|
|
bl sub_020F0BD8
|
|
mov r2, r0
|
|
mov r3, r1
|
|
mov r0, r5
|
|
mov r1, r6
|
|
bl sub_020F2DA0
|
|
bl ov00_0220AD18
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl ov00_0220AD64
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220ACF8:
|
|
bl ov00_0220ADE0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_0220AC2C
|
|
|
|
arm_func_start ov00_0220AD00
|
|
ov00_0220AD00: ; 0x0220AD00
|
|
ldr r1, _0220AD10 ; =_0221B1F0
|
|
str r0, [r1]
|
|
ldr r0, _0220AD14 ; =_0221B1F0
|
|
bx lr
|
|
.align 2, 0
|
|
_0220AD10: .word _0221B1F0
|
|
_0220AD14: .word _0221B1F0
|
|
arm_func_end ov00_0220AD00
|
|
|
|
arm_func_start ov00_0220AD18
|
|
ov00_0220AD18: ; 0x0220AD18
|
|
ldr r2, _0220AD2C ; =_0221B1F0
|
|
str r0, [r2, #8]
|
|
ldr r0, _0220AD30 ; =_0221B1F8
|
|
str r1, [r2, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
_0220AD2C: .word _0221B1F0
|
|
_0220AD30: .word _0221B1F8
|
|
arm_func_end ov00_0220AD18
|
|
|
|
arm_func_start ov00_0220AD34
|
|
ov00_0220AD34: ; 0x0220AD34
|
|
ldrsb r3, [r0]
|
|
mov r2, r0
|
|
cmp r3, #0
|
|
beq _0220AD5C
|
|
mov r1, #0x2f
|
|
_0220AD48:
|
|
cmp r3, #0x5c
|
|
streqb r1, [r0]
|
|
ldrsb r3, [r0, #1]!
|
|
cmp r3, #0
|
|
bne _0220AD48
|
|
_0220AD5C:
|
|
mov r0, r2
|
|
bx lr
|
|
arm_func_end ov00_0220AD34
|
|
|
|
arm_func_start ov00_0220AD64
|
|
ov00_0220AD64: ; 0x0220AD64
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r0, [r5, #4]
|
|
mov r4, r1
|
|
cmp r0, #0
|
|
ldreq r0, [r4]
|
|
streq r0, [r5, #0xc]
|
|
beq _0220ADD4
|
|
cmp r0, #1
|
|
bne _0220ADA0
|
|
ldr r1, [r4]
|
|
ldr r0, [r4, #4]
|
|
str r1, [r5, #0xc]
|
|
str r0, [r5, #0x10]
|
|
b _0220ADD4
|
|
_0220ADA0:
|
|
cmp r0, #2
|
|
bne _0220ADD4
|
|
ldr r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
beq _0220ADB8
|
|
bl ov00_021EC3D8
|
|
_0220ADB8:
|
|
cmp r4, #0
|
|
moveq r0, #0
|
|
beq _0220ADD0
|
|
mov r0, r4
|
|
bl ov00_021FF3D4
|
|
bl ov00_0220AD34
|
|
_0220ADD0:
|
|
str r0, [r5, #0xc]
|
|
_0220ADD4:
|
|
mov r0, r5
|
|
bl ov00_0220ADE0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_0220AD64
|
|
|
|
arm_func_start ov00_0220ADE0
|
|
ov00_0220ADE0: ; 0x0220ADE0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
bxeq lr
|
|
ldr r1, [r0, #4]
|
|
cmp r1, #2
|
|
ldreq r0, [r0, #0xc]
|
|
addne r0, r0, #0xc
|
|
bx lr
|
|
arm_func_end ov00_0220ADE0
|
|
|
|
arm_func_start ov00_0220AE00
|
|
ov00_0220AE00: ; 0x0220AE00
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x14
|
|
movs r5, r0
|
|
ldreq r0, _0220AE4C ; =_0221B1F0
|
|
mov r4, r1
|
|
ldreq r5, [r0, #4]
|
|
cmp r5, #0
|
|
bne _0220AE34
|
|
ldr r0, _0220AE50 ; =_022198AC
|
|
ldr r1, _0220AE54 ; =_022198B0
|
|
ldr r2, _0220AE58 ; =_02219888
|
|
ldr r3, _0220AE5C ; =0x00000153
|
|
bl sub_020E4A9C
|
|
_0220AE34:
|
|
str r4, [sp]
|
|
ldr r0, [r5]
|
|
add r1, sp, #0
|
|
bl ov00_021FF0C0
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
_0220AE4C: .word _0221B1F0
|
|
_0220AE50: .word _022198AC
|
|
_0220AE54: .word _022198B0
|
|
_0220AE58: .word _02219888
|
|
_0220AE5C: .word 0x00000153
|
|
arm_func_end ov00_0220AE00
|
|
|
|
arm_func_start ov00_0220AE60
|
|
ov00_0220AE60: ; 0x0220AE60
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0220AEC8 ; =_022198D8
|
|
mvn r1, #0
|
|
ldr r0, [r0]
|
|
cmp r0, r1
|
|
beq _0220AE8C
|
|
mov r1, #2
|
|
bl ov00_021FF82C
|
|
ldr r0, _0220AEC8 ; =_022198D8
|
|
ldr r0, [r0]
|
|
bl ov00_021FF818
|
|
_0220AE8C:
|
|
ldr r0, _0220AEC8 ; =_022198D8
|
|
mvn r1, #0
|
|
str r1, [r0]
|
|
bl ov00_0220B798
|
|
ldr r0, _0220AECC ; =_0221B200
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_021EC3D8
|
|
ldr r0, _0220AECC ; =_0221B200
|
|
mov r1, #0
|
|
str r1, [r0, #0xc]
|
|
str r1, [r0, #0x2c]
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0220AEC8: .word _022198D8
|
|
_0220AECC: .word _0221B200
|
|
arm_func_end ov00_0220AE60
|
|
|
|
arm_func_start ov00_0220AED0
|
|
ov00_0220AED0: ; 0x0220AED0
|
|
ldr r1, _0220AEEC ; =_022198D8
|
|
mvn r0, #0
|
|
ldr r1, [r1]
|
|
cmp r1, r0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_0220AEEC: .word _022198D8
|
|
arm_func_end ov00_0220AED0
|
|
|
|
arm_func_start ov00_0220AEF0
|
|
ov00_0220AEF0: ; 0x0220AEF0
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
ldr r0, _0220B038 ; =_022198D8
|
|
mvn r1, #0
|
|
ldr r0, [r0]
|
|
cmp r0, r1
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
ldr r1, _0220B03C ; =_0221B200
|
|
ldr r1, [r1, #0x10]
|
|
cmp r1, #5
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
bl ov00_0220B174
|
|
cmp r0, #0
|
|
beq _0220B01C
|
|
mov r7, #0
|
|
ldr sl, _0220B03C ; =_0221B200
|
|
ldr sb, _0220B038 ; =_022198D8
|
|
mov r8, #0x100
|
|
mov r6, r7
|
|
mov r4, r7
|
|
_0220AF44:
|
|
ldr r1, [sl, #0x2c]
|
|
ldr r0, [sl]
|
|
sub r0, r1, r0
|
|
cmp r0, #0x80
|
|
bge _0220AF88
|
|
cmp r1, #0x100
|
|
strlt r8, [sl, #0x2c]
|
|
movge r0, r1, lsl #1
|
|
strge r0, [sl, #0x2c]
|
|
ldr r1, [sl, #0x2c]
|
|
ldr r0, [sl, #0xc]
|
|
add r1, r1, #1
|
|
bl ov00_021EC3BC
|
|
str r0, [sl, #0xc]
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_0220AF88:
|
|
ldr r5, [sl]
|
|
ldr r1, [sl, #0xc]
|
|
ldr r2, [sl, #0x2c]
|
|
ldr r0, [sb]
|
|
mov r3, r7
|
|
add r1, r1, r5
|
|
sub r2, r2, r5
|
|
bl ov00_021FF92C
|
|
cmp r0, #0
|
|
bgt _0220AFBC
|
|
bl ov00_0220AE60
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_0220AFBC:
|
|
ldr r1, [sl]
|
|
add r1, r1, r0
|
|
str r1, [sl]
|
|
ldr r0, [sl, #0xc]
|
|
strb r6, [r0, r1]
|
|
ldr r0, [sl, #0xc]
|
|
ldr r1, [sl]
|
|
bl ov00_0220B60C
|
|
ldr r1, [sl]
|
|
mov r5, r0
|
|
cmp r5, r1
|
|
streq r4, [sl]
|
|
beq _0220B00C
|
|
ldr r0, [sl, #0xc]
|
|
sub r2, r1, r5
|
|
add r1, r0, r5
|
|
bl sub_020E5AF8
|
|
ldr r0, [sl]
|
|
sub r0, r0, r5
|
|
str r0, [sl]
|
|
_0220B00C:
|
|
ldr r0, [sb]
|
|
bl ov00_0220B174
|
|
cmp r0, #0
|
|
bne _0220AF44
|
|
_0220B01C:
|
|
ldr r1, _0220B038 ; =_022198D8
|
|
mvn r0, #0
|
|
ldr r1, [r1]
|
|
cmp r1, r0
|
|
moveq r0, #0
|
|
movne r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
_0220B038: .word _022198D8
|
|
_0220B03C: .word _0221B200
|
|
arm_func_end ov00_0220AEF0
|
|
|
|
arm_func_start ov00_0220B040
|
|
ov00_0220B040: ; 0x0220B040
|
|
stmdb sp!, {r4, lr}
|
|
ldr r2, _0220B084 ; =_022198D8
|
|
cmp r1, #0
|
|
ldr r4, [r2, #8]
|
|
mov lr, #0
|
|
ldmleia sp!, {r4, pc}
|
|
_0220B058:
|
|
ldrsb ip, [r0, lr]
|
|
ldrsb r3, [r4]
|
|
eor r3, ip, r3
|
|
strb r3, [r0, lr]
|
|
ldrsb r3, [r4, #1]!
|
|
add lr, lr, #1
|
|
cmp r3, #0
|
|
ldreq r4, [r2, #8]
|
|
cmp lr, r1
|
|
blt _0220B058
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0220B084: .word _022198D8
|
|
arm_func_end ov00_0220B040
|
|
|
|
arm_func_start ov00_0220B088
|
|
ov00_0220B088: ; 0x0220B088
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x100
|
|
ldr lr, _0220B14C ; =_022162E7
|
|
add ip, sp, #0
|
|
mov r4, r0
|
|
mov r3, #0x80
|
|
_0220B0A0:
|
|
ldrb r2, [lr]
|
|
ldrb r0, [lr, #1]
|
|
add lr, lr, #2
|
|
strb r2, [ip]
|
|
strb r0, [ip, #1]
|
|
add ip, ip, #2
|
|
subs r3, r3, #1
|
|
bne _0220B0A0
|
|
ldr r2, _0220B150 ; =_0221B200
|
|
add r0, sp, #0
|
|
ldr r3, [r2, #0x24]
|
|
eor r3, r3, #1
|
|
str r3, [r2, #0x24]
|
|
bl sub_020E96B4
|
|
ldr r1, _0220B154 ; =_02219948
|
|
add r0, sp, #0
|
|
bl sub_020E96B4
|
|
add r1, sp, #0
|
|
mov r0, r4
|
|
bl sub_020E9AD0
|
|
movs r4, r0
|
|
addeq sp, sp, #0x100
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
add r0, sp, #0
|
|
bl sub_020E9580
|
|
ldr r1, _0220B150 ; =_0221B200
|
|
ldr r2, _0220B158 ; =_0221B230
|
|
ldr r1, [r1, #0x24]
|
|
add r3, r4, r0
|
|
add r0, r2, r1, lsl #8
|
|
mov r2, r0
|
|
b _0220B12C
|
|
_0220B124:
|
|
ldrsb r1, [r3], #1
|
|
strb r1, [r2], #1
|
|
_0220B12C:
|
|
ldrsb r1, [r3]
|
|
cmp r1, #0
|
|
cmpne r1, #0x5c
|
|
bne _0220B124
|
|
mov r1, #0
|
|
strb r1, [r2]
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0220B14C: .word _022162E7
|
|
_0220B150: .word _0221B200
|
|
_0220B154: .word _02219948
|
|
_0220B158: .word _0221B230
|
|
arm_func_end ov00_0220B088
|
|
|
|
arm_func_start ov00_0220B15C
|
|
ov00_0220B15C: ; 0x0220B15C
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_0220B088
|
|
cmp r0, #0
|
|
ldreq r0, _0220B170 ; =_02219944
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0220B170: .word _02219944
|
|
arm_func_end ov00_0220B15C
|
|
|
|
arm_func_start ov00_0220B174
|
|
ov00_0220B174: ; 0x0220B174
|
|
ldr ip, _0220B17C ; =ov00_021FF694
|
|
bx ip
|
|
.align 2, 0
|
|
_0220B17C: .word ov00_021FF694
|
|
arm_func_end ov00_0220B174
|
|
|
|
arm_func_start ov00_0220B180
|
|
ov00_0220B180: ; 0x0220B180
|
|
sub r3, r1, #6
|
|
mov r2, r0
|
|
cmp r3, #0
|
|
ble _0220B1E0
|
|
_0220B190:
|
|
ldrsb r1, [r2]
|
|
cmp r1, #0x5c
|
|
ldreqsb r1, [r2, #1]
|
|
cmpeq r1, #0x66
|
|
ldreqsb r1, [r2, #2]
|
|
cmpeq r1, #0x69
|
|
ldreqsb r1, [r2, #3]
|
|
cmpeq r1, #0x6e
|
|
ldreqsb r1, [r2, #4]
|
|
cmpeq r1, #0x61
|
|
ldreqsb r1, [r2, #5]
|
|
cmpeq r1, #0x6c
|
|
ldreqsb r1, [r2, #6]
|
|
cmpeq r1, #0x5c
|
|
moveq r0, r2
|
|
bxeq lr
|
|
add r2, r2, #1
|
|
sub r1, r2, r0
|
|
cmp r1, r3
|
|
blt _0220B190
|
|
_0220B1E0:
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end ov00_0220B180
|
|
|
|
arm_func_start ov00_0220B1E8
|
|
ov00_0220B1E8: ; 0x0220B1E8
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
ldr r3, _0220B268 ; =_0221B200
|
|
mov r7, r0
|
|
ldr r0, [r3, #4]
|
|
mov r6, r1
|
|
cmp r0, #0
|
|
mov r5, r2
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
mov r4, #0
|
|
bl ov00_021FE6E4
|
|
cmp r0, #0
|
|
ble _0220B260
|
|
ldr r8, _0220B268 ; =_0221B200
|
|
_0220B220:
|
|
ldr r0, [r8, #4]
|
|
mov r1, r4
|
|
bl ov00_021FE6EC
|
|
ldr r1, [r0]
|
|
cmp r1, r7
|
|
ldreq r1, [r0, #4]
|
|
cmpeq r1, r6
|
|
ldreq r0, [r0, #8]
|
|
cmpeq r0, r5
|
|
moveq r0, r4
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
ldr r0, [r8, #4]
|
|
add r4, r4, #1
|
|
bl ov00_021FE6E4
|
|
cmp r4, r0
|
|
blt _0220B220
|
|
_0220B260:
|
|
mvn r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_0220B268: .word _0221B200
|
|
arm_func_end ov00_0220B1E8
|
|
|
|
arm_func_start ov00_0220B26C
|
|
ov00_0220B26C: ; 0x0220B26C
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #4
|
|
ldr r1, _0220B30C ; =_0221994C
|
|
mov r6, r0
|
|
bl ov00_0220B15C
|
|
bl sub_020EB82C
|
|
mov r5, r0
|
|
ldr r1, _0220B310 ; =_02219954
|
|
mov r0, r6
|
|
bl ov00_0220B15C
|
|
bl sub_020EB82C
|
|
mov r4, r0
|
|
ldr r1, _0220B314 ; =_02219958
|
|
mov r0, r6
|
|
bl ov00_0220B15C
|
|
mov r6, r0
|
|
mov r0, #0
|
|
mov r1, r4
|
|
mov r2, r0
|
|
bl ov00_0220B1E8
|
|
mov r4, r0
|
|
mvn r0, #0
|
|
cmp r4, r0
|
|
addeq sp, sp, #4
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
ldr r0, _0220B318 ; =_0221B200
|
|
mov r1, r4
|
|
ldr r0, [r0, #4]
|
|
bl ov00_021FE6EC
|
|
cmp r5, #0
|
|
movgt r1, #1
|
|
str r5, [r0, #8]
|
|
mov r2, #0
|
|
movle r1, #0
|
|
mov r0, r4
|
|
mov r3, r6
|
|
str r2, [sp]
|
|
bl ov00_0220B694
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0220B30C: .word _0221994C
|
|
_0220B310: .word _02219954
|
|
_0220B314: .word _02219958
|
|
_0220B318: .word _0221B200
|
|
arm_func_end ov00_0220B26C
|
|
|
|
arm_func_start ov00_0220B31C
|
|
ov00_0220B31C: ; 0x0220B31C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r1, _0220B39C ; =_02219960
|
|
mov r5, r0
|
|
bl ov00_0220B15C
|
|
bl sub_020EB82C
|
|
mov r4, r0
|
|
ldr r1, _0220B3A0 ; =_02219954
|
|
mov r0, r5
|
|
bl ov00_0220B15C
|
|
bl sub_020EB82C
|
|
mov r1, r0
|
|
mov r0, #3
|
|
mov r2, #0
|
|
bl ov00_0220B1E8
|
|
mov r5, r0
|
|
mvn r0, #0
|
|
cmp r5, r0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, _0220B3A4 ; =_0221B200
|
|
mov r1, r5
|
|
ldr r0, [r0, #4]
|
|
bl ov00_021FE6EC
|
|
cmp r4, #0
|
|
movgt r1, #1
|
|
mov r2, #0
|
|
str r4, [r0, #8]
|
|
movle r1, #0
|
|
mov r0, r5
|
|
mov r3, r2
|
|
str r2, [sp]
|
|
bl ov00_0220B694
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0220B39C: .word _02219960
|
|
_0220B3A0: .word _02219954
|
|
_0220B3A4: .word _0221B200
|
|
arm_func_end ov00_0220B31C
|
|
|
|
arm_func_start ov00_0220B3A8
|
|
ov00_0220B3A8: ; 0x0220B3A8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #4
|
|
ldr r1, _0220B470 ; =_02219968
|
|
mov r4, r0
|
|
bl ov00_0220B15C
|
|
bl sub_020EB82C
|
|
mov r7, r0
|
|
ldr r1, _0220B474 ; =_02219954
|
|
mov r0, r4
|
|
bl ov00_0220B15C
|
|
bl sub_020EB82C
|
|
mov r6, r0
|
|
ldr r1, _0220B478 ; =_02219970
|
|
mov r0, r4
|
|
bl ov00_0220B15C
|
|
bl sub_020EB82C
|
|
mov r5, r0
|
|
ldr r1, _0220B47C ; =_02219974
|
|
mov r0, r4
|
|
bl ov00_0220B15C
|
|
bl sub_020EB82C
|
|
mov r8, r0
|
|
mov r1, r6
|
|
mov r2, r5
|
|
mov r0, #1
|
|
bl ov00_0220B1E8
|
|
mov r5, r0
|
|
mvn r0, #0
|
|
cmp r5, r0
|
|
addeq sp, sp, #4
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
ldr r1, _0220B480 ; =_02219978
|
|
mov r0, r4
|
|
bl ov00_0220B15C
|
|
bl sub_020EB82C
|
|
mov r6, r0
|
|
ldr r1, _0220B484 ; =_02219980
|
|
mov r0, r4
|
|
bl sub_020E9AD0
|
|
cmp r0, #0
|
|
ldreq r3, _0220B488 ; =_02219944
|
|
moveq r6, #0
|
|
addne r3, r0, #6
|
|
mov r0, r5
|
|
mov r1, r7
|
|
mov r2, r8
|
|
str r6, [sp]
|
|
bl ov00_0220B694
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_0220B470: .word _02219968
|
|
_0220B474: .word _02219954
|
|
_0220B478: .word _02219970
|
|
_0220B47C: .word _02219974
|
|
_0220B480: .word _02219978
|
|
_0220B484: .word _02219980
|
|
_0220B488: .word _02219944
|
|
arm_func_end ov00_0220B3A8
|
|
|
|
arm_func_start ov00_0220B48C
|
|
ov00_0220B48C: ; 0x0220B48C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
ldr r1, _0220B514 ; =_02219988
|
|
mov r7, r0
|
|
bl ov00_0220B15C
|
|
bl sub_020EB82C
|
|
mov r6, r0
|
|
ldr r1, _0220B518 ; =_02219970
|
|
mov r0, r7
|
|
bl ov00_0220B15C
|
|
bl sub_020EB82C
|
|
mov r5, r0
|
|
ldr r1, _0220B51C ; =_02219954
|
|
mov r0, r7
|
|
bl ov00_0220B15C
|
|
bl sub_020EB82C
|
|
mov r4, r0
|
|
ldr r1, _0220B520 ; =_02219974
|
|
mov r0, r7
|
|
bl ov00_0220B15C
|
|
bl sub_020EB82C
|
|
mov r1, r4
|
|
mov r4, r0
|
|
mov r2, r5
|
|
mov r0, #2
|
|
bl ov00_0220B1E8
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r3, #0
|
|
mov r1, r6
|
|
mov r2, r4
|
|
str r3, [sp]
|
|
bl ov00_0220B694
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220B514: .word _02219988
|
|
_0220B518: .word _02219970
|
|
_0220B51C: .word _02219954
|
|
_0220B520: .word _02219974
|
|
arm_func_end ov00_0220B48C
|
|
|
|
arm_func_start ov00_0220B524
|
|
ov00_0220B524: ; 0x0220B524
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r1
|
|
ldr r1, _0220B5FC ; =_02219990
|
|
mov r5, r0
|
|
mov r3, #0
|
|
mov r2, #8
|
|
strb r3, [r5, r4]
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
bne _0220B55C
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_0220B26C
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220B55C:
|
|
ldr r1, _0220B600 ; =_0221999C
|
|
mov r0, r5
|
|
mov r2, #9
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
bne _0220B584
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_0220B31C
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220B584:
|
|
ldr r1, _0220B600 ; =_0221999C
|
|
mov r0, r5
|
|
mov r2, #9
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
bne _0220B5AC
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_0220B31C
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220B5AC:
|
|
ldr r1, _0220B604 ; =_022199A8
|
|
mov r0, r5
|
|
mov r2, #8
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
bne _0220B5D4
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_0220B3A8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220B5D4:
|
|
ldr r1, _0220B608 ; =_022199B4
|
|
mov r0, r5
|
|
mov r2, #8
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_0220B48C
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0220B5FC: .word _02219990
|
|
_0220B600: .word _0221999C
|
|
_0220B604: .word _022199A8
|
|
_0220B608: .word _022199B4
|
|
arm_func_end ov00_0220B524
|
|
|
|
arm_func_start ov00_0220B60C
|
|
ov00_0220B60C: ; 0x0220B60C
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
mov sb, r1
|
|
mov sl, r0
|
|
mov r7, sb
|
|
bl ov00_0220B180
|
|
mov r6, r0
|
|
ldr r5, _0220B68C ; =_02219924
|
|
ldr r4, _0220B690 ; =_022198D8
|
|
b _0220B674
|
|
_0220B630:
|
|
sub r8, r6, sl
|
|
mov r0, sl
|
|
mov r1, r8
|
|
str r5, [r4, #8]
|
|
bl ov00_0220B040
|
|
mov r0, sl
|
|
mov r1, r8
|
|
bl ov00_0220B524
|
|
add r0, r8, #7
|
|
sub sb, sb, r0
|
|
cmp sb, #0
|
|
add sl, r6, #7
|
|
ble _0220B674
|
|
mov r0, sl
|
|
mov r1, sb
|
|
bl ov00_0220B180
|
|
mov r6, r0
|
|
_0220B674:
|
|
cmp sb, #0
|
|
ble _0220B684
|
|
cmp r6, #0
|
|
bne _0220B630
|
|
_0220B684:
|
|
sub r0, r7, sb
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
_0220B68C: .word _02219924
|
|
_0220B690: .word _022198D8
|
|
arm_func_end ov00_0220B60C
|
|
|
|
arm_func_start ov00_0220B694
|
|
ov00_0220B694: ; 0x0220B694
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x14
|
|
movs r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
addmi sp, sp, #0x14
|
|
ldmmiia sp!, {r4, r5, r6, r7, pc}
|
|
ldr r0, _0220B794 ; =_0221B200
|
|
ldr r0, [r0, #4]
|
|
bl ov00_021FE6E4
|
|
cmp r7, r0
|
|
addge sp, sp, #0x14
|
|
ldmgeia sp!, {r4, r5, r6, r7, pc}
|
|
ldr r0, _0220B794 ; =_0221B200
|
|
mov r1, r7
|
|
ldr r0, [r0, #4]
|
|
bl ov00_021FE6EC
|
|
mov r3, r0
|
|
ldr ip, [r3, #0x18]
|
|
cmp ip, #0
|
|
beq _0220B77C
|
|
ldr r0, [r3]
|
|
cmp r0, #3
|
|
addls pc, pc, r0, lsl #2
|
|
b _0220B77C
|
|
_0220B6FC: ; jump table
|
|
b _0220B70C ; case 0
|
|
b _0220B728 ; case 1
|
|
b _0220B750 ; case 2
|
|
b _0220B76C ; case 3
|
|
_0220B70C:
|
|
ldr r0, [r3, #0x14]
|
|
mov r2, r6
|
|
str r0, [sp]
|
|
ldmib r3, {r0, r1}
|
|
mov r3, r4
|
|
blx ip
|
|
b _0220B77C
|
|
_0220B728:
|
|
str r6, [sp]
|
|
str r5, [sp, #4]
|
|
ldr r0, [sp, #0x28]
|
|
str r4, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r3, #0x14]
|
|
str r0, [sp, #0x10]
|
|
ldmib r3, {r0, r1, r2, r3}
|
|
blx ip
|
|
b _0220B77C
|
|
_0220B750:
|
|
str r6, [sp]
|
|
str r5, [sp, #4]
|
|
ldr r0, [r3, #0x14]
|
|
str r0, [sp, #8]
|
|
ldmib r3, {r0, r1, r2, r3}
|
|
blx ip
|
|
b _0220B77C
|
|
_0220B76C:
|
|
ldmib r3, {r0, r1}
|
|
ldr r3, [r3, #0x14]
|
|
mov r2, r6
|
|
blx ip
|
|
_0220B77C:
|
|
ldr r0, _0220B794 ; =_0221B200
|
|
mov r1, r7
|
|
ldr r0, [r0, #4]
|
|
bl ov00_021FE968
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220B794: .word _0221B200
|
|
arm_func_end ov00_0220B694
|
|
|
|
arm_func_start ov00_0220B798
|
|
ov00_0220B798: ; 0x0220B798
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x24
|
|
ldr r0, _0220B87C ; =_0221B200
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x24
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
bl ov00_021FE6E4
|
|
subs r4, r0, #1
|
|
bmi _0220B85C
|
|
ldr r5, _0220B880 ; =_02216164
|
|
add r3, sp, #4
|
|
mov r2, #8
|
|
_0220B7CC:
|
|
ldrb r1, [r5]
|
|
ldrb r0, [r5, #1]
|
|
add r5, r5, #2
|
|
strb r1, [r3]
|
|
strb r0, [r3, #1]
|
|
add r3, r3, #2
|
|
subs r2, r2, #1
|
|
bne _0220B7CC
|
|
ldr sb, _0220B884 ; =_02219934
|
|
ldr r5, _0220B888 ; =_022198D8
|
|
add r8, sp, #0x14
|
|
mov r7, #0xf
|
|
mov r6, #0
|
|
_0220B800:
|
|
add ip, sp, #4
|
|
add r3, sp, #0x14
|
|
mov r2, #8
|
|
_0220B80C:
|
|
ldrb r1, [ip]
|
|
ldrb r0, [ip, #1]
|
|
add ip, ip, #2
|
|
strb r1, [r3]
|
|
strb r0, [r3, #1]
|
|
add r3, r3, #2
|
|
subs r2, r2, #1
|
|
bne _0220B80C
|
|
mov r0, r8
|
|
mov r1, r7
|
|
str sb, [r5, #8]
|
|
bl ov00_0220B040
|
|
mov r0, r4
|
|
mov r1, r6
|
|
mov r2, r6
|
|
mov r3, r8
|
|
str r6, [sp]
|
|
bl ov00_0220B694
|
|
subs r4, r4, #1
|
|
bpl _0220B800
|
|
_0220B85C:
|
|
ldr r0, _0220B87C ; =_0221B200
|
|
ldr r0, [r0, #4]
|
|
bl ov00_021FE678
|
|
ldr r0, _0220B87C ; =_0221B200
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
add sp, sp, #0x24
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_0220B87C: .word _0221B200
|
|
_0220B880: .word _02216164
|
|
_0220B884: .word _02219934
|
|
_0220B888: .word _022198D8
|
|
arm_func_end ov00_0220B798
|
|
|
|
arm_func_start ov00_0220B88C
|
|
ov00_0220B88C: ; 0x0220B88C
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
ldreq r0, _0220B8B8 ; =_0221B200
|
|
ldreq r0, [r0, #0x28]
|
|
cmp r0, #0
|
|
moveq r0, r1
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, [r0, #0x20]
|
|
bl ov00_021FE6EC
|
|
ldr r0, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0220B8B8: .word _0221B200
|
|
arm_func_end ov00_0220B88C
|
|
|
|
arm_func_start ov00_0220B8BC
|
|
ov00_0220B8BC: ; 0x0220B8BC
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
ldreq r0, _0220B8E8 ; =_0221B200
|
|
ldreq r0, [r0, #0x28]
|
|
cmp r0, #0
|
|
moveq r0, r1
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, [r0, #0x1c]
|
|
bl ov00_021FE6EC
|
|
ldr r0, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0220B8E8: .word _0221B200
|
|
arm_func_end ov00_0220B8BC
|
|
|
|
arm_func_start ov00_0220B8EC
|
|
ov00_0220B8EC: ; 0x0220B8EC
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
movs r5, r0
|
|
ldreq r0, _0220B950 ; =_0221B200
|
|
mov r4, r1
|
|
ldreq r5, [r0, #0x28]
|
|
mov r3, r2
|
|
cmp r5, #0
|
|
addeq r0, sp, #0x1c
|
|
beq _0220B940
|
|
ldr r0, [r5, #0xc]
|
|
add r2, sp, #0x1c
|
|
mov r1, r4
|
|
blx r3
|
|
cmp r0, #0
|
|
bne _0220B940
|
|
ldr r0, [r5, #0xc]
|
|
add r3, sp, #0x1c
|
|
mov r1, r4
|
|
mov r2, #0
|
|
bl ov00_0220A8A4
|
|
_0220B940:
|
|
ldr r0, [r0]
|
|
ldmia sp!, {r3, r4, r5, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
.align 2, 0
|
|
_0220B950: .word _0221B200
|
|
arm_func_end ov00_0220B8EC
|
|
|
|
arm_func_start ov00_0220B954
|
|
ov00_0220B954: ; 0x0220B954
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
movs r5, r0
|
|
ldreq r0, _0220B9C0 ; =_0221B200
|
|
mov r4, r1
|
|
ldreq r5, [r0, #0x28]
|
|
mov r3, r2
|
|
cmp r5, #0
|
|
addeq r0, sp, #0x1c
|
|
beq _0220B9A8
|
|
ldr r0, [r5, #0xc]
|
|
add r2, sp, #0x1c
|
|
mov r1, r4
|
|
blx r3
|
|
cmp r0, #0
|
|
bne _0220B9A8
|
|
ldr r0, [r5, #0xc]
|
|
add r3, sp, #0x1c
|
|
mov r1, r4
|
|
mov r2, #1
|
|
bl ov00_0220A8A4
|
|
_0220B9A8:
|
|
ldr r2, [r0]
|
|
ldr r1, [r0, #4]
|
|
mov r0, r2
|
|
ldmia sp!, {r3, r4, r5, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
.align 2, 0
|
|
_0220B9C0: .word _0221B200
|
|
arm_func_end ov00_0220B954
|
|
|
|
arm_func_start ov00_0220B9C4
|
|
ov00_0220B9C4: ; 0x0220B9C4
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
movs r6, r0
|
|
ldreq r0, _0220BA1C ; =_0221B200
|
|
mov r5, r1
|
|
ldreq r6, [r0, #0x28]
|
|
mov r4, r3
|
|
cmp r6, #0
|
|
mov ip, r2
|
|
moveq r0, r4
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r0, [r6, #0xc]
|
|
mov r1, r5
|
|
mov r2, r4
|
|
blx ip
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldr r0, [r6, #0xc]
|
|
mov r1, r5
|
|
mov r3, r4
|
|
mov r2, #2
|
|
bl ov00_0220A8A4
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0220BA1C: .word _0221B200
|
|
arm_func_end ov00_0220B9C4
|
|
|
|
arm_func_start ov00_0220BA20
|
|
ov00_0220BA20: ; 0x0220BA20
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x44
|
|
mov r6, r1
|
|
ldr r1, [sp, #0x58]
|
|
mov r7, r0
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bl ov00_0220B88C
|
|
mov r3, r0
|
|
ldr r1, _0220BA78 ; =_022199C0
|
|
add r0, sp, #4
|
|
mov r2, r6
|
|
bl sub_020E7F30
|
|
ldr ip, [sp, #0x58]
|
|
mov r0, r7
|
|
mov r2, r5
|
|
mov r3, r4
|
|
add r1, sp, #4
|
|
str ip, [sp]
|
|
bl ov00_0220B8EC
|
|
add sp, sp, #0x44
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220BA78: .word _022199C0
|
|
arm_func_end ov00_0220BA20
|
|
|
|
arm_func_start ov00_0220BA7C
|
|
ov00_0220BA7C: ; 0x0220BA7C
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x48
|
|
mov r7, r1
|
|
ldr r1, [sp, #0x64]
|
|
mov r8, r0
|
|
mov r6, r2
|
|
mov r5, r3
|
|
ldr r4, [sp, #0x60]
|
|
bl ov00_0220B88C
|
|
mov r3, r0
|
|
ldr r1, _0220BAD8 ; =_022199C0
|
|
add r0, sp, #8
|
|
mov r2, r7
|
|
bl sub_020E7F30
|
|
ldr ip, [sp, #0x64]
|
|
mov r3, r5
|
|
mov r0, r8
|
|
mov r2, r6
|
|
add r1, sp, #8
|
|
stmia sp, {r4, ip}
|
|
bl ov00_0220B954
|
|
add sp, sp, #0x48
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_0220BAD8: .word _022199C0
|
|
arm_func_end ov00_0220BA7C
|
|
|
|
arm_func_start ov00_0220BADC
|
|
ov00_0220BADC: ; 0x0220BADC
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x44
|
|
mov r6, r1
|
|
ldr r1, [sp, #0x58]
|
|
mov r7, r0
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bl ov00_0220B88C
|
|
mov r3, r0
|
|
ldr r1, _0220BB34 ; =_022199C0
|
|
add r0, sp, #4
|
|
mov r2, r6
|
|
bl sub_020E7F30
|
|
ldr ip, [sp, #0x58]
|
|
mov r0, r7
|
|
mov r2, r5
|
|
mov r3, r4
|
|
add r1, sp, #4
|
|
str ip, [sp]
|
|
bl ov00_0220B9C4
|
|
add sp, sp, #0x44
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220BB34: .word _022199C0
|
|
arm_func_end ov00_0220BADC
|
|
|
|
arm_func_start ov00_0220BB38
|
|
ov00_0220BB38: ; 0x0220BB38
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x44
|
|
mov r6, r1
|
|
ldr r1, [sp, #0x58]
|
|
mov r7, r0
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bl ov00_0220B8BC
|
|
mov r3, r0
|
|
ldr r1, _0220BB90 ; =_022199C8
|
|
add r0, sp, #4
|
|
mov r2, r6
|
|
bl sub_020E7F30
|
|
ldr ip, [sp, #0x58]
|
|
mov r0, r7
|
|
mov r2, r5
|
|
mov r3, r4
|
|
add r1, sp, #4
|
|
str ip, [sp]
|
|
bl ov00_0220B8EC
|
|
add sp, sp, #0x44
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220BB90: .word _022199C8
|
|
arm_func_end ov00_0220BB38
|
|
|
|
arm_func_start ov00_0220BB94
|
|
ov00_0220BB94: ; 0x0220BB94
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x48
|
|
mov r7, r1
|
|
ldr r1, [sp, #0x64]
|
|
mov r8, r0
|
|
mov r6, r2
|
|
mov r5, r3
|
|
ldr r4, [sp, #0x60]
|
|
bl ov00_0220B8BC
|
|
mov r3, r0
|
|
ldr r1, _0220BBF0 ; =_022199C8
|
|
add r0, sp, #8
|
|
mov r2, r7
|
|
bl sub_020E7F30
|
|
ldr ip, [sp, #0x64]
|
|
mov r3, r5
|
|
mov r0, r8
|
|
mov r2, r6
|
|
add r1, sp, #8
|
|
stmia sp, {r4, ip}
|
|
bl ov00_0220B954
|
|
add sp, sp, #0x48
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_0220BBF0: .word _022199C8
|
|
arm_func_end ov00_0220BB94
|
|
|
|
arm_func_start ov00_0220BBF4
|
|
ov00_0220BBF4: ; 0x0220BBF4
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x44
|
|
mov r6, r1
|
|
ldr r1, [sp, #0x58]
|
|
mov r7, r0
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bl ov00_0220B8BC
|
|
mov r3, r0
|
|
ldr r1, _0220BC4C ; =_022199C8
|
|
add r0, sp, #4
|
|
mov r2, r6
|
|
bl sub_020E7F30
|
|
ldr ip, [sp, #0x58]
|
|
mov r0, r7
|
|
mov r2, r5
|
|
mov r3, r4
|
|
add r1, sp, #4
|
|
str ip, [sp]
|
|
bl ov00_0220B9C4
|
|
add sp, sp, #0x44
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220BC4C: .word _022199C8
|
|
arm_func_end ov00_0220BBF4
|
|
|
|
arm_func_start ov00_0220BC50
|
|
ov00_0220BC50: ; 0x0220BC50
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
ldrb r5, [r0]
|
|
mov lr, #0
|
|
mov r4, #1
|
|
and r6, r5, #1
|
|
mov r3, lr
|
|
mov ip, r4
|
|
mov r1, lr
|
|
mov r2, r4
|
|
_0220BC74:
|
|
add r7, r0, r4
|
|
ldrb sl, [r7, #-1]
|
|
cmp sl, r5
|
|
eor sl, r4, sl
|
|
movlo r8, ip
|
|
and sl, sl, #1
|
|
movhs r8, r3
|
|
cmp r5, #0x4f
|
|
movlo sb, r2
|
|
eor sl, lr, sl
|
|
movhs sb, r1
|
|
eor sl, r6, sl
|
|
eor sb, sl, sb
|
|
eors lr, sb, r8
|
|
beq _0220BCBC
|
|
ldrb r8, [r7]
|
|
tst r8, #1
|
|
beq _0220BCD0
|
|
_0220BCBC:
|
|
cmp lr, #0
|
|
ldreqb r7, [r7]
|
|
andeq r7, r7, #1
|
|
cmpeq r7, #1
|
|
bne _0220BCD8
|
|
_0220BCD0:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_0220BCD8:
|
|
add r4, r4, #1
|
|
cmp r4, #0x20
|
|
blt _0220BC74
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
arm_func_end ov00_0220BC50
|
|
|
|
arm_func_start ov00_0220BCEC
|
|
ov00_0220BCEC: ; 0x0220BCEC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
movs sl, r0
|
|
bne _0220BD0C
|
|
ldr r0, _0220BDF8 ; =_02219A08
|
|
ldr r1, _0220BDFC ; =_02219A10
|
|
ldr r2, _0220BE00 ; =_022199D0
|
|
mov r3, #0x2b
|
|
bl sub_020E4A9C
|
|
_0220BD0C:
|
|
bl ov00_021FF368
|
|
bl sub_020E80F4
|
|
bl sub_020E80C0
|
|
ldr r5, _0220BE04 ; =0x2C0B02C1
|
|
mov r1, r0, lsr #0x1f
|
|
smull r2, r4, r5, r0
|
|
mov r8, #0
|
|
mov r7, #1
|
|
add r4, r1, r4, asr #4
|
|
mov r3, #0x5d
|
|
smull r1, r2, r3, r4
|
|
sub r4, r0, r1
|
|
add r0, r4, #0x21
|
|
strb r0, [sl]
|
|
mov fp, r8
|
|
mov r6, r7
|
|
mov r4, r3
|
|
_0220BD50:
|
|
add sb, sl, r7
|
|
ldrb r3, [sb, #-1]
|
|
ldrb r0, [sl]
|
|
cmp r3, r0
|
|
eor r3, r7, r3
|
|
movlo r1, r6
|
|
and r3, r3, #1
|
|
movhs r1, fp
|
|
cmp r0, #0x4f
|
|
movlo r2, #1
|
|
and r0, r0, #1
|
|
eor r3, r8, r3
|
|
movhs r2, #0
|
|
eor r0, r0, r3
|
|
eor r0, r0, r2
|
|
eor r8, r0, r1
|
|
bl sub_020E80C0
|
|
smull r2, r3, r5, r0
|
|
mov r1, r0, lsr #0x1f
|
|
add r3, r1, r3, asr #4
|
|
smull r1, r2, r4, r3
|
|
sub r3, r0, r1
|
|
add r0, r3, #0x21
|
|
cmp r8, #0
|
|
strb r0, [sb]
|
|
beq _0220BDC4
|
|
ldrb r0, [sb]
|
|
tst r0, #1
|
|
beq _0220BDD8
|
|
_0220BDC4:
|
|
cmp r8, #0
|
|
ldreqb r0, [sb]
|
|
andeq r0, r0, #1
|
|
cmpeq r0, #1
|
|
bne _0220BDE4
|
|
_0220BDD8:
|
|
ldrb r0, [sb]
|
|
add r0, r0, #1
|
|
strb r0, [sb]
|
|
_0220BDE4:
|
|
add r7, r7, #1
|
|
cmp r7, #0x20
|
|
blt _0220BD50
|
|
mov r0, sl
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_0220BDF8: .word _02219A08
|
|
_0220BDFC: .word _02219A10
|
|
_0220BE00: .word _022199D0
|
|
_0220BE04: .word 0x2C0B02C1
|
|
arm_func_end ov00_0220BCEC
|
|
|
|
arm_func_start ov00_0220BE08
|
|
ov00_0220BE08: ; 0x0220BE08
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov r5, r0
|
|
ldr r0, _0220BF08 ; =_022199E4
|
|
mov r4, r1
|
|
bl sub_020E9580
|
|
mov r7, r0
|
|
mov r0, r4
|
|
bl ov00_0220BC50
|
|
mov sl, #0
|
|
mov fp, r0
|
|
mov r8, sl
|
|
_0220BE34:
|
|
cmp fp, #0
|
|
cmpne sl, #0
|
|
cmpne sl, #0xd
|
|
bne _0220BE6C
|
|
bl sub_020E80C0
|
|
ldr r1, _0220BF0C ; =0x2C0B02C1
|
|
mov r2, r0, lsr #0x1f
|
|
smull r3, r6, r1, r0
|
|
add r6, r2, r6, asr #4
|
|
mov r1, #0x5d
|
|
smull r2, r3, r1, r6
|
|
sub r6, r0, r2
|
|
add r0, r6, #0x21
|
|
b _0220BEE8
|
|
_0220BE6C:
|
|
cmp sl, #1
|
|
cmpne sl, #0xe
|
|
ldreqsb r6, [r4, sl]
|
|
addne r0, r4, sl
|
|
ldrb sb, [r4, sl]
|
|
ldrnesb r6, [r0, #-1]
|
|
mov r1, r7
|
|
add r0, sl, sb
|
|
bl sub_020F2998
|
|
mul r0, r6, r8
|
|
mov r6, r1
|
|
mov r1, r7
|
|
bl sub_020F2998
|
|
ldr r0, _0220BF08 ; =_022199E4
|
|
ldrsb r3, [r0, r6]
|
|
ldrsb r2, [r0, r1]
|
|
mla r0, sl, sb, r3
|
|
mov r1, r0, lsr #0x1f
|
|
rsb r0, r1, r0, lsl #27
|
|
add r0, r1, r0, ror #27
|
|
ldrb r0, [r4, r0]
|
|
eor r0, r0, r2
|
|
bl sub_020E4A90
|
|
ldr r1, _0220BF0C ; =0x2C0B02C1
|
|
smull r2, r3, r1, r0
|
|
mov r1, r0, lsr #0x1f
|
|
add r3, r1, r3, asr #4
|
|
mov r1, #0x5d
|
|
smull r2, r3, r1, r3
|
|
sub r3, r0, r2
|
|
add r0, r3, #0x21
|
|
_0220BEE8:
|
|
strb r0, [r5, sl]
|
|
add r0, r8, #0x47
|
|
add sl, sl, #1
|
|
cmp sl, #0x20
|
|
add r8, r0, #0x4600
|
|
blt _0220BE34
|
|
mov r0, r5
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_0220BF08: .word _022199E4
|
|
_0220BF0C: .word 0x2C0B02C1
|
|
arm_func_end ov00_0220BE08
|
|
|
|
arm_func_start ov00_0220BF10
|
|
ov00_0220BF10: ; 0x0220BF10
|
|
mov ip, #0
|
|
_0220BF14:
|
|
cmp ip, #0
|
|
cmpne ip, #0xd
|
|
ldrneb r3, [r0, ip]
|
|
ldrneb r2, [r1, ip]
|
|
cmpne r3, r2
|
|
movne r0, #0
|
|
bxne lr
|
|
add ip, ip, #1
|
|
cmp ip, #0x20
|
|
blt _0220BF14
|
|
mov r0, #1
|
|
bx lr
|
|
arm_func_end ov00_0220BF10
|
|
|
|
arm_func_start ov00_0220BF44
|
|
ov00_0220BF44: ; 0x0220BF44
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r1
|
|
mov r5, r0
|
|
mov r0, r4
|
|
bl ov00_021EC3A8
|
|
str r0, [r5]
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
strne r4, [r5, #4]
|
|
movne r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_0220BF44
|
|
|
|
arm_func_start ov00_0220BF70
|
|
ov00_0220BF70: ; 0x0220BF70
|
|
ldr r1, [r0, #4]
|
|
ldr r0, [r0, #8]
|
|
sub r0, r1, r0
|
|
bx lr
|
|
arm_func_end ov00_0220BF70
|
|
|
|
arm_func_start ov00_0220BF80
|
|
ov00_0220BF80: ; 0x0220BF80
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldmib r5, {r0, r2}
|
|
mov r4, r1
|
|
cmp r2, r0
|
|
blt _0220BFAC
|
|
ldr r0, _0220BFC4 ; =_02219A70
|
|
ldr r1, _0220BFC8 ; =_02219A8C
|
|
ldr r2, _0220BFCC ; =_02219A44
|
|
mov r3, #0x23
|
|
bl sub_020E4A9C
|
|
_0220BFAC:
|
|
ldr r1, [r5, #8]
|
|
add r0, r1, #1
|
|
str r0, [r5, #8]
|
|
ldr r0, [r5]
|
|
strb r4, [r0, r1]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0220BFC4: .word _02219A70
|
|
_0220BFC8: .word _02219A8C
|
|
_0220BFCC: .word _02219A44
|
|
arm_func_end ov00_0220BF80
|
|
|
|
arm_func_start ov00_0220BFD0
|
|
ov00_0220BFD0: ; 0x0220BFD0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldmib r5, {r0, r2}
|
|
add r2, r2, #2
|
|
mov r4, r1
|
|
cmp r2, r0
|
|
ble _0220C000
|
|
ldr r0, _0220C030 ; =_02219A98
|
|
ldr r1, _0220C034 ; =_02219A8C
|
|
ldr r2, _0220C038 ; =_02219A58
|
|
mov r3, #0x2e
|
|
bl sub_020E4A9C
|
|
_0220C000:
|
|
ldr r2, [r5, #8]
|
|
mov r1, r4, asr #8
|
|
add r0, r2, #1
|
|
str r0, [r5, #8]
|
|
ldr r0, [r5]
|
|
strb r1, [r0, r2]
|
|
ldr r1, [r5, #8]
|
|
add r0, r1, #1
|
|
str r0, [r5, #8]
|
|
ldr r0, [r5]
|
|
strb r4, [r0, r1]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0220C030: .word _02219A98
|
|
_0220C034: .word _02219A8C
|
|
_0220C038: .word _02219A58
|
|
arm_func_end ov00_0220BFD0
|
|
|
|
arm_func_start ov00_0220C03C
|
|
ov00_0220C03C: ; 0x0220C03C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
movs r5, r1
|
|
mov r4, r2
|
|
mov r6, r0
|
|
cmpne r4, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
mvn r0, #0
|
|
cmp r4, r0
|
|
bne _0220C06C
|
|
mov r0, r5
|
|
bl sub_020E9580
|
|
mov r4, r0
|
|
_0220C06C:
|
|
ldmib r6, {r0, r1}
|
|
add r1, r1, r4
|
|
cmp r1, r0
|
|
ble _0220C090
|
|
ldr r0, _0220C0B8 ; =_02219ABC
|
|
ldr r1, _0220C0BC ; =_02219A8C
|
|
ldr r2, _0220C0C0 ; =_02219A30
|
|
mov r3, #0x40
|
|
bl sub_020E4A9C
|
|
_0220C090:
|
|
ldr r3, [r6]
|
|
ldr r0, [r6, #8]
|
|
mov r1, r5
|
|
mov r2, r4
|
|
add r0, r3, r0
|
|
bl sub_020E5AD8
|
|
ldr r0, [r6, #8]
|
|
add r0, r0, r4
|
|
str r0, [r6, #8]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0220C0B8: .word _02219ABC
|
|
_0220C0BC: .word _02219A8C
|
|
_0220C0C0: .word _02219A30
|
|
arm_func_end ov00_0220C03C
|
|
|
|
arm_func_start ov00_0220C0C4
|
|
ov00_0220C0C4: ; 0x0220C0C4
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r1
|
|
mvn r1, #0
|
|
mov r6, r0
|
|
cmp r5, r1
|
|
ldreq r0, [r6, #8]
|
|
mov r4, r2
|
|
subeq r5, r0, r4
|
|
ldr r0, [r6, #8]
|
|
cmp r5, r0
|
|
ble _0220C104
|
|
ldr r0, _0220C154 ; =_02219AE0
|
|
ldr r1, _0220C158 ; =_02219A8C
|
|
ldr r2, _0220C15C ; =_02219A1C
|
|
mov r3, #0x4f
|
|
bl sub_020E4A9C
|
|
_0220C104:
|
|
ldr r0, [r6, #8]
|
|
sub r0, r0, r5
|
|
cmp r4, r0
|
|
ble _0220C128
|
|
ldr r0, _0220C160 ; =_02219AF8
|
|
ldr r1, _0220C158 ; =_02219A8C
|
|
ldr r2, _0220C15C ; =_02219A1C
|
|
mov r3, #0x50
|
|
bl sub_020E4A9C
|
|
_0220C128:
|
|
ldr r0, [r6]
|
|
ldr r1, [r6, #8]
|
|
add r0, r0, r5
|
|
sub r2, r1, r5
|
|
add r1, r0, r4
|
|
sub r2, r2, r4
|
|
bl sub_020E5AF8
|
|
ldr r0, [r6, #8]
|
|
sub r0, r0, r4
|
|
str r0, [r6, #8]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0220C154: .word _02219AE0
|
|
_0220C158: .word _02219A8C
|
|
_0220C15C: .word _02219A1C
|
|
_0220C160: .word _02219AF8
|
|
arm_func_end ov00_0220C0C4
|
|
|
|
arm_func_start ov00_0220C164
|
|
ov00_0220C164: ; 0x0220C164
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
bne _0220C184
|
|
ldr r0, _0220C1F4 ; =_02219C10
|
|
ldr r1, _0220C1F8 ; =_02219C18
|
|
ldr r2, _0220C1FC ; =_02219BA0
|
|
mov r3, #0x1b
|
|
bl sub_020E4A9C
|
|
_0220C184:
|
|
cmp r4, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, [r4, #0x24]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r1, [r4, #0x1c]
|
|
mov r0, r4
|
|
add r1, r1, #1
|
|
str r1, [r4, #0x1c]
|
|
ldr r1, [r4, #0x24]
|
|
blx r1
|
|
ldr r0, [r4, #0x1c]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #0x1c]
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
beq _0220C1EC
|
|
ldr r0, [r4, #0x1c]
|
|
cmp r0, #0
|
|
bne _0220C1EC
|
|
mov r0, r4
|
|
bl ov00_0220F144
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
_0220C1EC:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0220C1F4: .word _02219C10
|
|
_0220C1F8: .word _02219C18
|
|
_0220C1FC: .word _02219BA0
|
|
arm_func_end ov00_0220C164
|
|
|
|
arm_func_start ov00_0220C200
|
|
ov00_0220C200: ; 0x0220C200
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0xc
|
|
mov r6, r1
|
|
movs r7, r0
|
|
mov r5, r2
|
|
mov r4, r3
|
|
cmpne r6, #0
|
|
bne _0220C234
|
|
ldr r0, _0220C310 ; =_02219C28
|
|
ldr r1, _0220C314 ; =_02219C18
|
|
ldr r2, _0220C318 ; =_02219BD4
|
|
mov r3, #0x3d
|
|
bl sub_020E4A9C
|
|
_0220C234:
|
|
cmp r7, #0
|
|
cmpne r6, #0
|
|
addeq sp, sp, #0xc
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, r5, r6, r7, pc}
|
|
ldr r0, [r7, #0x20]
|
|
cmp r0, #0
|
|
addeq sp, sp, #0xc
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, r5, r6, r7, pc}
|
|
ldr r1, [r7, #0x1c]
|
|
ldr r0, [sp, #0x28]
|
|
add r1, r1, #1
|
|
cmp r0, #0
|
|
ldrne r0, [sp, #0x24]
|
|
str r1, [r7, #0x1c]
|
|
ldr r2, [r6, #0x24]
|
|
cmpne r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x24]
|
|
streq r0, [sp, #0x28]
|
|
add r2, r2, #1
|
|
str r2, [r6, #0x24]
|
|
ldr r0, [sp, #0x20]
|
|
ldr r1, [sp, #0x24]
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [sp, #0x28]
|
|
mov r1, r6
|
|
str r0, [sp, #8]
|
|
ldr ip, [r7, #0x20]
|
|
mov r0, r7
|
|
mov r2, r5
|
|
mov r3, r4
|
|
blx ip
|
|
ldr r0, [r7, #0x1c]
|
|
sub r0, r0, #1
|
|
str r0, [r7, #0x1c]
|
|
ldr r0, [r6, #0x24]
|
|
sub r0, r0, #1
|
|
str r0, [r6, #0x24]
|
|
ldr r0, [r7, #0x14]
|
|
cmp r0, #0
|
|
beq _0220C304
|
|
ldr r0, [r7, #0x1c]
|
|
cmp r0, #0
|
|
bne _0220C304
|
|
mov r0, r7
|
|
bl ov00_0220F144
|
|
add sp, sp, #0xc
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_0220C304:
|
|
mov r0, #1
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220C310: .word _02219C28
|
|
_0220C314: .word _02219C18
|
|
_0220C318: .word _02219BD4
|
|
arm_func_end ov00_0220C200
|
|
|
|
arm_func_start ov00_0220C31C
|
|
ov00_0220C31C: ; 0x0220C31C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
movs r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bne _0220C348
|
|
ldr r0, _0220C3F8 ; =_02219C40
|
|
ldr r1, _0220C3FC ; =_02219C18
|
|
ldr r2, _0220C400 ; =_02219B70
|
|
mov r3, #0x69
|
|
bl sub_020E4A9C
|
|
_0220C348:
|
|
cmp r7, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
str r6, [r7, #0x18]
|
|
ldr r0, [r7, #0x28]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r1, [r7, #0x24]
|
|
cmp r4, #0
|
|
add r1, r1, #1
|
|
str r1, [r7, #0x24]
|
|
ldr ip, [r7, #8]
|
|
cmpne r5, #0
|
|
ldr r3, [ip, #0x1c]
|
|
moveq r5, #0
|
|
add r3, r3, #1
|
|
str r3, [ip, #0x1c]
|
|
moveq r4, r5
|
|
mov r2, r5
|
|
ldr r5, [r7, #0x28]
|
|
mov r0, r7
|
|
mov r1, r6
|
|
mov r3, r4
|
|
blx r5
|
|
ldr r0, [r7, #0x24]
|
|
sub r0, r0, #1
|
|
str r0, [r7, #0x24]
|
|
ldr r1, [r7, #8]
|
|
ldr r0, [r1, #0x1c]
|
|
sub r0, r0, #1
|
|
str r0, [r1, #0x1c]
|
|
ldr r0, [r7, #8]
|
|
ldr r1, [r0, #0x14]
|
|
cmp r1, #0
|
|
beq _0220C3F0
|
|
ldr r1, [r0, #0x1c]
|
|
cmp r1, #0
|
|
bne _0220C3F0
|
|
bl ov00_0220F144
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220C3F0:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220C3F8: .word _02219C40
|
|
_0220C3FC: .word _02219C18
|
|
_0220C400: .word _02219B70
|
|
arm_func_end ov00_0220C31C
|
|
|
|
arm_func_start ov00_0220C404
|
|
ov00_0220C404: ; 0x0220C404
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
movs r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bne _0220C430
|
|
ldr r0, _0220C4DC ; =_02219C40
|
|
ldr r1, _0220C4E0 ; =_02219C18
|
|
ldr r2, _0220C4E4 ; =_02219B58
|
|
mov r3, #0x94
|
|
bl sub_020E4A9C
|
|
_0220C430:
|
|
cmp r7, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r7, #0x2c]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r1, [r7, #0x24]
|
|
cmp r5, #0
|
|
add r1, r1, #1
|
|
str r1, [r7, #0x24]
|
|
ldr ip, [r7, #8]
|
|
cmpne r6, #0
|
|
ldr r3, [ip, #0x1c]
|
|
moveq r6, #0
|
|
add r3, r3, #1
|
|
moveq r5, r6
|
|
str r3, [ip, #0x1c]
|
|
mov r2, r5
|
|
ldr r5, [r7, #0x2c]
|
|
mov r0, r7
|
|
mov r1, r6
|
|
mov r3, r4
|
|
blx r5
|
|
ldr r0, [r7, #0x24]
|
|
sub r0, r0, #1
|
|
str r0, [r7, #0x24]
|
|
ldr r1, [r7, #8]
|
|
ldr r0, [r1, #0x1c]
|
|
sub r0, r0, #1
|
|
str r0, [r1, #0x1c]
|
|
ldr r0, [r7, #8]
|
|
ldr r1, [r0, #0x14]
|
|
cmp r1, #0
|
|
beq _0220C4D4
|
|
ldr r1, [r0, #0x1c]
|
|
cmp r1, #0
|
|
bne _0220C4D4
|
|
bl ov00_0220F144
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220C4D4:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220C4DC: .word _02219C40
|
|
_0220C4E0: .word _02219C18
|
|
_0220C4E4: .word _02219B58
|
|
arm_func_end ov00_0220C404
|
|
|
|
arm_func_start ov00_0220C4E8
|
|
ov00_0220C4E8: ; 0x0220C4E8
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
movs r4, r0
|
|
mov r5, r1
|
|
bne _0220C50C
|
|
ldr r0, _0220C5A0 ; =_02219C40
|
|
ldr r1, _0220C5A4 ; =_02219C18
|
|
ldr r2, _0220C5A8 ; =_02219B44
|
|
mov r3, #0xba
|
|
bl sub_020E4A9C
|
|
_0220C50C:
|
|
cmp r4, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, [r4, #0x30]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r1, [r4, #0x24]
|
|
mov r0, r4
|
|
add r1, r1, #1
|
|
str r1, [r4, #0x24]
|
|
ldr r3, [r4, #8]
|
|
mov r1, r5
|
|
ldr r2, [r3, #0x1c]
|
|
add r2, r2, #1
|
|
str r2, [r3, #0x1c]
|
|
ldr r2, [r4, #0x30]
|
|
blx r2
|
|
ldr r0, [r4, #0x24]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #0x24]
|
|
ldr r1, [r4, #8]
|
|
ldr r0, [r1, #0x1c]
|
|
sub r0, r0, #1
|
|
str r0, [r1, #0x1c]
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r0, #0x14]
|
|
cmp r1, #0
|
|
beq _0220C598
|
|
ldr r1, [r0, #0x1c]
|
|
cmp r1, #0
|
|
bne _0220C598
|
|
bl ov00_0220F144
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220C598:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0220C5A0: .word _02219C40
|
|
_0220C5A4: .word _02219C18
|
|
_0220C5A8: .word _02219B44
|
|
arm_func_end ov00_0220C4E8
|
|
|
|
arm_func_start ov00_0220C5AC
|
|
ov00_0220C5AC: ; 0x0220C5AC
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
movs r4, r0
|
|
mov r5, r1
|
|
bne _0220C5D0
|
|
ldr r0, _0220C664 ; =_02219C40
|
|
ldr r1, _0220C668 ; =_02219C18
|
|
ldr r2, _0220C66C ; =_02219B30
|
|
mov r3, #0xd9
|
|
bl sub_020E4A9C
|
|
_0220C5D0:
|
|
cmp r4, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, [r4, #0x34]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r1, [r4, #0x24]
|
|
mov r0, r4
|
|
add r1, r1, #1
|
|
str r1, [r4, #0x24]
|
|
ldr r3, [r4, #8]
|
|
mov r1, r5
|
|
ldr r2, [r3, #0x1c]
|
|
add r2, r2, #1
|
|
str r2, [r3, #0x1c]
|
|
ldr r2, [r4, #0x34]
|
|
blx r2
|
|
ldr r0, [r4, #0x24]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #0x24]
|
|
ldr r1, [r4, #8]
|
|
ldr r0, [r1, #0x1c]
|
|
sub r0, r0, #1
|
|
str r0, [r1, #0x1c]
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r0, #0x14]
|
|
cmp r1, #0
|
|
beq _0220C65C
|
|
ldr r1, [r0, #0x1c]
|
|
cmp r1, #0
|
|
bne _0220C65C
|
|
bl ov00_0220F144
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220C65C:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0220C664: .word _02219C40
|
|
_0220C668: .word _02219C18
|
|
_0220C66C: .word _02219B30
|
|
arm_func_end ov00_0220C5AC
|
|
|
|
arm_func_start ov00_0220C670
|
|
ov00_0220C670: ; 0x0220C670
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
movs r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bne _0220C69C
|
|
ldr r0, _0220C758 ; =_02219C40
|
|
ldr r1, _0220C75C ; =_02219C18
|
|
ldr r2, _0220C760 ; =_02219B88
|
|
ldr r3, _0220C764 ; =0x00000101
|
|
bl sub_020E4A9C
|
|
_0220C69C:
|
|
cmp r7, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r7, #0x98]
|
|
mov r1, r6
|
|
bl ov00_021FE6EC
|
|
movs lr, r0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r7, #0x24]
|
|
cmp r4, #0
|
|
add r0, r0, #1
|
|
str r0, [r7, #0x24]
|
|
ldr ip, [r7, #8]
|
|
cmpne r5, #0
|
|
ldr r3, [ip, #0x1c]
|
|
moveq r5, #0
|
|
add r3, r3, #1
|
|
ldr r2, [sp, #0x18]
|
|
str r3, [ip, #0x1c]
|
|
str r2, [sp]
|
|
moveq r4, r5
|
|
mov r1, r6
|
|
ldr r6, [lr]
|
|
mov r0, r7
|
|
mov r2, r5
|
|
mov r3, r4
|
|
blx r6
|
|
ldr r0, [r7, #0x24]
|
|
sub r0, r0, #1
|
|
str r0, [r7, #0x24]
|
|
ldr r1, [r7, #8]
|
|
ldr r0, [r1, #0x1c]
|
|
sub r0, r0, #1
|
|
str r0, [r1, #0x1c]
|
|
ldr r0, [r7, #8]
|
|
ldr r1, [r0, #0x14]
|
|
cmp r1, #0
|
|
beq _0220C750
|
|
ldr r1, [r0, #0x1c]
|
|
cmp r1, #0
|
|
bne _0220C750
|
|
bl ov00_0220F144
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220C750:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220C758: .word _02219C40
|
|
_0220C75C: .word _02219C18
|
|
_0220C760: .word _02219B88
|
|
_0220C764: .word 0x00000101
|
|
arm_func_end ov00_0220C670
|
|
|
|
arm_func_start ov00_0220C768
|
|
ov00_0220C768: ; 0x0220C768
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
movs r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bne _0220C794
|
|
ldr r0, _0220C850 ; =_02219C40
|
|
ldr r1, _0220C854 ; =_02219C18
|
|
ldr r2, _0220C858 ; =_02219BB8
|
|
ldr r3, _0220C85C ; =0x0000012D
|
|
bl sub_020E4A9C
|
|
_0220C794:
|
|
cmp r7, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r7, #0x9c]
|
|
mov r1, r6
|
|
bl ov00_021FE6EC
|
|
movs lr, r0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r7, #0x24]
|
|
cmp r4, #0
|
|
add r0, r0, #1
|
|
str r0, [r7, #0x24]
|
|
ldr ip, [r7, #8]
|
|
cmpne r5, #0
|
|
ldr r3, [ip, #0x1c]
|
|
moveq r5, #0
|
|
add r3, r3, #1
|
|
ldr r2, [sp, #0x18]
|
|
str r3, [ip, #0x1c]
|
|
str r2, [sp]
|
|
moveq r4, r5
|
|
mov r1, r6
|
|
ldr r6, [lr]
|
|
mov r0, r7
|
|
mov r2, r5
|
|
mov r3, r4
|
|
blx r6
|
|
ldr r0, [r7, #0x24]
|
|
sub r0, r0, #1
|
|
str r0, [r7, #0x24]
|
|
ldr r1, [r7, #8]
|
|
ldr r0, [r1, #0x1c]
|
|
sub r0, r0, #1
|
|
str r0, [r1, #0x1c]
|
|
ldr r0, [r7, #8]
|
|
ldr r1, [r0, #0x14]
|
|
cmp r1, #0
|
|
beq _0220C848
|
|
ldr r1, [r0, #0x1c]
|
|
cmp r1, #0
|
|
bne _0220C848
|
|
bl ov00_0220F144
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220C848:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220C850: .word _02219C40
|
|
_0220C854: .word _02219C18
|
|
_0220C858: .word _02219BB8
|
|
_0220C85C: .word 0x0000012D
|
|
arm_func_end ov00_0220C768
|
|
|
|
arm_func_start ov00_0220C860
|
|
ov00_0220C860: ; 0x0220C860
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0xc
|
|
movs r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bne _0220C890
|
|
ldr r0, _0220C978 ; =_02219C10
|
|
ldr r1, _0220C97C ; =_02219C18
|
|
ldr r2, _0220C980 ; =_02219B1C
|
|
mov r3, #0x160
|
|
bl sub_020E4A9C
|
|
_0220C890:
|
|
cmp r7, #0
|
|
addeq sp, sp, #0xc
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, r5, r6, r7, pc}
|
|
ldr r0, [sp, #0x2c]
|
|
cmp r0, #0
|
|
ldrne ip, [r7, #0x28]
|
|
ldreq ip, [r7, #0x2c]
|
|
cmp ip, #0
|
|
addeq sp, sp, #0xc
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, r5, r6, r7, pc}
|
|
ldr r0, [sp, #0x28]
|
|
ldr r1, [sp, #0x20]
|
|
cmp r0, #0
|
|
ldrne r0, [sp, #0x24]
|
|
mov r2, r5
|
|
cmpne r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x28]
|
|
streq r0, [sp, #0x24]
|
|
ldr r0, [r7, #0x1c]
|
|
cmp r6, #0
|
|
add r0, r0, #1
|
|
str r0, [r7, #0x1c]
|
|
ldrne r0, [r6, #0x24]
|
|
ldr lr, [sp, #0x28]
|
|
addne r0, r0, #1
|
|
strne r0, [r6, #0x24]
|
|
str r1, [sp]
|
|
ldr r0, [sp, #0x24]
|
|
mov r1, r6
|
|
str r0, [sp, #4]
|
|
mov r0, r7
|
|
mov r3, r4
|
|
str lr, [sp, #8]
|
|
blx ip
|
|
ldr r0, [r7, #0x1c]
|
|
cmp r6, #0
|
|
sub r0, r0, #1
|
|
str r0, [r7, #0x1c]
|
|
ldrne r0, [r6, #0x24]
|
|
subne r0, r0, #1
|
|
strne r0, [r6, #0x24]
|
|
ldr r0, [r7, #0x14]
|
|
cmp r0, #0
|
|
beq _0220C96C
|
|
ldr r0, [r7, #0x1c]
|
|
cmp r0, #0
|
|
bne _0220C96C
|
|
mov r0, r7
|
|
bl ov00_0220F144
|
|
add sp, sp, #0xc
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_0220C96C:
|
|
mov r0, #1
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220C978: .word _02219C10
|
|
_0220C97C: .word _02219C18
|
|
_0220C980: .word _02219B1C
|
|
arm_func_end ov00_0220C860
|
|
|
|
arm_func_start ov00_0220C984
|
|
ov00_0220C984: ; 0x0220C984
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #4
|
|
ldr r4, [sp, #0x24]
|
|
movs r8, r0
|
|
mov r0, #0
|
|
mov r7, r1
|
|
mov r6, r2
|
|
mov r5, r3
|
|
str r0, [r4]
|
|
bne _0220C9C0
|
|
ldr r0, _0220CA6C ; =_02219C10
|
|
ldr r1, _0220CA70 ; =_02219C18
|
|
ldr r2, _0220CA74 ; =_02219BF0
|
|
ldr r3, _0220CA78 ; =0x00000197
|
|
bl sub_020E4A9C
|
|
_0220C9C0:
|
|
cmp r8, #0
|
|
addeq sp, sp, #4
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
ldr r0, [r8, #0x30]
|
|
cmp r0, #0
|
|
addeq sp, sp, #4
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
ldr r0, [sp, #0x20]
|
|
ldr r1, [r8, #0x1c]
|
|
cmp r0, #0
|
|
cmpne r5, #0
|
|
moveq r5, #0
|
|
streq r5, [sp, #0x20]
|
|
add r1, r1, #1
|
|
str r1, [r8, #0x1c]
|
|
ldr r0, [sp, #0x20]
|
|
mov r1, r7
|
|
str r0, [sp]
|
|
ldr ip, [r8, #0x30]
|
|
mov r0, r8
|
|
mov r2, r6
|
|
mov r3, r5
|
|
blx ip
|
|
str r0, [r4]
|
|
ldr r0, [r8, #0x1c]
|
|
sub r0, r0, #1
|
|
str r0, [r8, #0x1c]
|
|
ldr r0, [r8, #0x14]
|
|
cmp r0, #0
|
|
beq _0220CA60
|
|
ldr r0, [r8, #0x1c]
|
|
cmp r0, #0
|
|
bne _0220CA60
|
|
mov r0, r8
|
|
bl ov00_0220F144
|
|
add sp, sp, #4
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_0220CA60:
|
|
mov r0, #1
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_0220CA6C: .word _02219C10
|
|
_0220CA70: .word _02219C18
|
|
_0220CA74: .word _02219BF0
|
|
_0220CA78: .word 0x00000197
|
|
arm_func_end ov00_0220C984
|
|
|
|
arm_func_start ov00_0220CA7C
|
|
ov00_0220CA7C: ; 0x0220CA7C
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r1
|
|
bl ov00_0220F1A0
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r1, [r4]
|
|
mov r0, #0
|
|
str r0, [r1, #0xc]
|
|
ldr r1, [r4]
|
|
mov r2, #1
|
|
str r2, [r1, #0x10]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0220CA7C
|
|
|
|
arm_func_start ov00_0220CAAC
|
|
ov00_0220CAAC: ; 0x0220CAAC
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r1
|
|
bl ov00_0220F1A0
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, [r4]
|
|
mov r1, #2
|
|
str r1, [r0, #0xc]
|
|
ldr r1, [r4]
|
|
mov r0, #0
|
|
str r0, [r1, #0x10]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0220CAAC
|
|
|
|
arm_func_start ov00_0220CADC
|
|
ov00_0220CADC: ; 0x0220CADC
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x20
|
|
mov r5, r0
|
|
add r0, sp, #0x34
|
|
add r1, sp, #0x38
|
|
mov r4, r3
|
|
bl ov00_0220F958
|
|
ldr r0, [sp, #0x38]
|
|
cmp r0, #0
|
|
ble _0220CB3C
|
|
bl ov00_021EC3A8
|
|
cmp r0, #0
|
|
str r0, [r5, #0x38]
|
|
addeq sp, sp, #0x20
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, lr}
|
|
addeq sp, sp, #0x10
|
|
bxeq lr
|
|
ldr r1, [sp, #0x34]
|
|
ldr r2, [sp, #0x38]
|
|
bl sub_020E5AD8
|
|
ldr r0, [sp, #0x38]
|
|
str r0, [r5, #0x3c]
|
|
_0220CB3C:
|
|
cmp r4, #0
|
|
addne ip, r5, #0x28
|
|
ldmneia r4, {r0, r1, r2, r3}
|
|
stmneia ip, {r0, r1, r2, r3}
|
|
add r0, sp, #0
|
|
bl ov00_0220BCEC
|
|
add r1, sp, #0
|
|
add r0, r5, #0x68
|
|
bl ov00_0220BE08
|
|
add r1, sp, #0
|
|
mov r0, r5
|
|
bl ov00_0220E8E0
|
|
mov r0, #0
|
|
str r0, [r5, #0xc]
|
|
add sp, sp, #0x20
|
|
ldmia sp!, {r3, r4, r5, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
arm_func_end ov00_0220CADC
|
|
|
|
arm_func_start ov00_0220CB84
|
|
ov00_0220CB84: ; 0x0220CB84
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r2, [r5, #0x14]
|
|
mov r4, r1
|
|
cmp r2, #0
|
|
movne r0, #0
|
|
strne r0, [r5, #0x14]
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
mov r2, #0
|
|
str r2, [r5, #0x14]
|
|
ldr r1, [r5, #0xc]
|
|
cmp r1, #4
|
|
movne r0, r2
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
bl ov00_0220EA44
|
|
mov r0, #5
|
|
cmp r4, #0
|
|
str r0, [r5, #0xc]
|
|
addne ip, r5, #0x28
|
|
ldmneia r4, {r0, r1, r2, r3}
|
|
stmneia ip, {r0, r1, r2, r3}
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_0220CB84
|
|
|
|
arm_func_start ov00_0220CBE0
|
|
ov00_0220CBE0: ; 0x0220CBE0
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
ldr r0, [r4, #0xc]
|
|
cmp r0, #4
|
|
ldmneia sp!, {r4, lr}
|
|
addne sp, sp, #0x10
|
|
bxne lr
|
|
add r0, sp, #0xc
|
|
add r1, sp, #0x10
|
|
bl ov00_0220F958
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, r4
|
|
bl ov00_0220EAA0
|
|
mov r0, #6
|
|
str r0, [r4, #0xc]
|
|
ldmia sp!, {r4, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
arm_func_end ov00_0220CBE0
|
|
|
|
arm_func_start ov00_0220CC38
|
|
ov00_0220CC38: ; 0x0220CC38
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
mov r4, r0
|
|
str r2, [sp]
|
|
mov r3, r1
|
|
ldrh r2, [r4, #4]
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r4]
|
|
bl ov00_0220F474
|
|
cmp r0, #0
|
|
addeq sp, sp, #4
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
bl ov00_021FF368
|
|
str r0, [r4, #0x88]
|
|
mov r0, #1
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
arm_func_end ov00_0220CC38
|
|
|
|
arm_func_start ov00_0220CC80
|
|
ov00_0220CC80: ; 0x0220CC80
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r2, [r4, #0xc]
|
|
cmp r2, #5
|
|
bge _0220CD18
|
|
ldr r0, [r4, #0x10]
|
|
mov r3, #0
|
|
cmp r0, #0
|
|
beq _0220CCC4
|
|
ldr r2, [r4, #0x20]
|
|
cmp r2, #0
|
|
beq _0220CCE0
|
|
ldr r0, [r4, #0x1c]
|
|
sub r0, r1, r0
|
|
cmp r0, r2
|
|
movhi r3, #1
|
|
b _0220CCE0
|
|
_0220CCC4:
|
|
cmp r2, #4
|
|
bge _0220CCE0
|
|
ldr r2, [r4, #0x1c]
|
|
ldr r0, _0220CD20 ; =0x0000EA60
|
|
sub r1, r1, r2
|
|
cmp r1, r0
|
|
movhi r3, #1
|
|
_0220CCE0:
|
|
cmp r3, #0
|
|
beq _0220CD18
|
|
mov r0, r4
|
|
bl ov00_0220ED98
|
|
mov r0, r4
|
|
bl ov00_0220CEB8
|
|
mov r2, #0
|
|
mov r0, r4
|
|
mov r3, r2
|
|
mov r1, #6
|
|
bl ov00_0220C31C
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
_0220CD18:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0220CD20: .word 0x0000EA60
|
|
arm_func_end ov00_0220CC80
|
|
|
|
arm_func_start ov00_0220CD24
|
|
ov00_0220CD24: ; 0x0220CD24
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
ldr r0, [r7, #0x60]
|
|
mov r6, r1
|
|
bl ov00_021FE6E4
|
|
mov r5, r0
|
|
cmp r5, #0
|
|
mov r4, #0
|
|
ble _0220CD88
|
|
_0220CD48:
|
|
ldr r0, [r7, #0x60]
|
|
mov r1, r4
|
|
bl ov00_021FE6EC
|
|
mov r1, r0
|
|
ldr r0, [r1, #0xc]
|
|
sub r0, r6, r0
|
|
cmp r0, #0x3e8
|
|
bls _0220CD7C
|
|
mov r0, r7
|
|
bl ov00_0220EE00
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220CD7C:
|
|
add r4, r4, #1
|
|
cmp r4, r5
|
|
blt _0220CD48
|
|
_0220CD88:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_0220CD24
|
|
|
|
arm_func_start ov00_0220CD90
|
|
ov00_0220CD90: ; 0x0220CD90
|
|
stmdb sp!, {r3, lr}
|
|
ldr r2, [r0, #0x90]
|
|
cmp r2, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r2, [r0, #0x94]
|
|
sub r1, r1, r2
|
|
cmp r1, #0x64
|
|
bls _0220CDC4
|
|
bl ov00_0220EC94
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
_0220CDC4:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_0220CD90
|
|
|
|
arm_func_start ov00_0220CDCC
|
|
ov00_0220CDCC: ; 0x0220CDCC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r3, [r0, #0x88]
|
|
ldr r2, _0220CDFC ; =0x00007530
|
|
sub r1, r1, r3
|
|
cmp r1, r2
|
|
bls _0220CDF4
|
|
bl ov00_0220EB70
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
_0220CDF4:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0220CDFC: .word 0x00007530
|
|
arm_func_end ov00_0220CDCC
|
|
|
|
arm_func_start ov00_0220CE00
|
|
ov00_0220CE00: ; 0x0220CE00
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl ov00_0220CC80
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_0220CDCC
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_0220CD24
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_0220CD90
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_0220CE00
|
|
|
|
arm_func_start ov00_0220CE68
|
|
ov00_0220CE68: ; 0x0220CE68
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
beq _0220CEA8
|
|
ldr r1, [r4, #0xc]
|
|
cmp r1, #7
|
|
ldmgeia sp!, {r4, pc}
|
|
bl ov00_0220CEB8
|
|
mov r0, r4
|
|
bl ov00_0220ED98
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl ov00_0220C4E8
|
|
mov r0, r4
|
|
bl ov00_0220F3B0
|
|
ldmia sp!, {r4, pc}
|
|
_0220CEA8:
|
|
mov r1, #6
|
|
str r1, [r4, #0xc]
|
|
bl ov00_0220EB14
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0220CE68
|
|
|
|
arm_func_start ov00_0220CEB8
|
|
ov00_0220CEB8: ; 0x0220CEB8
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [r1, #0xc]
|
|
cmp r0, #7
|
|
ldmeqia sp!, {r3, lr}
|
|
addeq sp, sp, #0x10
|
|
bxeq lr
|
|
mov r0, #7
|
|
str r0, [r1, #0xc]
|
|
ldr r0, [sp, #8]
|
|
add r1, sp, #8
|
|
ldr r0, [r0, #8]
|
|
ldr r0, [r0, #0xc]
|
|
bl ov00_021FF01C
|
|
ldr r0, [sp, #8]
|
|
add r1, sp, #8
|
|
ldr r0, [r0, #8]
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_021FE754
|
|
ldmia sp!, {r3, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
arm_func_end ov00_0220CEB8
|
|
|
|
arm_func_start ov00_0220CF14
|
|
ov00_0220CF14: ; 0x0220CF14
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x38]
|
|
cmp r0, #0
|
|
beq _0220CF2C
|
|
bl ov00_021EC3D8
|
|
_0220CF2C:
|
|
ldr r0, [r4, #0x44]
|
|
cmp r0, #0
|
|
beq _0220CF3C
|
|
bl ov00_021EC3D8
|
|
_0220CF3C:
|
|
ldr r0, [r4, #0x50]
|
|
cmp r0, #0
|
|
beq _0220CF4C
|
|
bl ov00_021EC3D8
|
|
_0220CF4C:
|
|
ldr r0, [r4, #0x5c]
|
|
cmp r0, #0
|
|
beq _0220CF5C
|
|
bl ov00_021FE678
|
|
_0220CF5C:
|
|
ldr r0, [r4, #0x60]
|
|
cmp r0, #0
|
|
beq _0220CF6C
|
|
bl ov00_021FE678
|
|
_0220CF6C:
|
|
ldr r0, [r4, #0x98]
|
|
cmp r0, #0
|
|
beq _0220CF7C
|
|
bl ov00_021FE678
|
|
_0220CF7C:
|
|
ldr r0, [r4, #0x9c]
|
|
cmp r0, #0
|
|
beq _0220CF8C
|
|
bl ov00_021FE678
|
|
_0220CF8C:
|
|
mov r0, r4
|
|
bl ov00_021EC3D8
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0220CF14
|
|
|
|
arm_func_start ov00_0220CF98
|
|
ov00_0220CF98: ; 0x0220CF98
|
|
stmdb sp!, {r3, lr}
|
|
ldr ip, [sp, #8]
|
|
str ip, [sp]
|
|
bl ov00_0220EF24
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_0220CF98
|
|
|
|
arm_func_start ov00_0220CFAC
|
|
ov00_0220CFAC: ; 0x0220CFAC
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov00_0220D238
|
|
mov r0, r4
|
|
bl ov00_0220F144
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0220CFAC
|
|
|
|
arm_func_start ov00_0220CFC4
|
|
ov00_0220CFC4: ; 0x0220CFC4
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov00_0220E590
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
bl ov00_0220F674
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
bl ov00_0220F6B0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0220CFC4
|
|
|
|
arm_func_start ov00_0220CFF4
|
|
ov00_0220CFF4: ; 0x0220CFF4
|
|
ldr ip, _0220CFFC ; =ov00_0220F188
|
|
bx ip
|
|
.align 2, 0
|
|
_0220CFFC: .word ov00_0220F188
|
|
arm_func_end ov00_0220CFF4
|
|
|
|
arm_func_start ov00_0220D000
|
|
ov00_0220D000: ; 0x0220D000
|
|
ldr ip, _0220D008 ; =ov00_0220CB84
|
|
bx ip
|
|
.align 2, 0
|
|
_0220D008: .word ov00_0220CB84
|
|
arm_func_end ov00_0220D000
|
|
|
|
arm_func_start ov00_0220D00C
|
|
ov00_0220D00C: ; 0x0220D00C
|
|
ldr ip, _0220D014 ; =ov00_0220CBE0
|
|
bx ip
|
|
.align 2, 0
|
|
_0220D014: .word ov00_0220CBE0
|
|
arm_func_end ov00_0220D00C
|
|
|
|
arm_func_start ov00_0220D018
|
|
ov00_0220D018: ; 0x0220D018
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0xc
|
|
mov r6, r0
|
|
mov r5, r1
|
|
mov r0, r2
|
|
add r1, sp, #4
|
|
add r2, sp, #0
|
|
mov r4, r3
|
|
bl ov00_0220F7D4
|
|
cmp r0, #0
|
|
ldrne r2, [sp, #4]
|
|
cmpne r2, #0
|
|
ldrneh r3, [sp]
|
|
cmpne r3, #0
|
|
addeq sp, sp, #0xc
|
|
moveq r0, #4
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
mov r1, r2, lsr #0x18
|
|
mov r0, r2, lsr #8
|
|
mov r7, r2, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
mov r8, r2, lsl #0x18
|
|
orr r0, r1, r0
|
|
and r7, r7, #0xff0000
|
|
and r1, r8, #0xff000000
|
|
orr r0, r7, r0
|
|
orr r0, r1, r0
|
|
and r0, r0, #0xe0000000
|
|
cmp r0, #-0x20000000
|
|
addeq sp, sp, #0xc
|
|
moveq r0, #4
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
add r1, sp, #8
|
|
mov r0, r6
|
|
bl ov00_0220CA7C
|
|
cmp r0, #0
|
|
addne sp, sp, #0xc
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
ldr r1, [sp, #0x2c]
|
|
ldr r0, [sp, #8]
|
|
ldr r2, [sp, #0x28]
|
|
str r1, [r0, #0x20]
|
|
ldr r0, [sp, #8]
|
|
ldr r3, [sp, #0x30]
|
|
mov r1, r4
|
|
bl ov00_0220CADC
|
|
movs r4, r0
|
|
beq _0220D0F0
|
|
ldr r0, [sp, #8]
|
|
bl ov00_0220F3B0
|
|
add sp, sp, #0xc
|
|
mov r0, r4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
_0220D0F0:
|
|
ldr r0, [sp, #0x34]
|
|
cmp r0, #0
|
|
bne _0220D114
|
|
cmp r5, #0
|
|
ldrne r0, [sp, #8]
|
|
add sp, sp, #0xc
|
|
strne r0, [r5]
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
_0220D114:
|
|
ldr r1, [sp, #8]
|
|
mov r8, #1
|
|
ldr r0, [r1, #0x24]
|
|
mov r7, #0
|
|
add r0, r0, #1
|
|
str r0, [r1, #0x24]
|
|
mov r4, r8
|
|
_0220D130:
|
|
mov r0, r6
|
|
bl ov00_0220CFC4
|
|
ldr r0, [sp, #8]
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #5
|
|
movge sb, r8
|
|
movlt sb, r7
|
|
cmp sb, #0
|
|
bne _0220D15C
|
|
mov r0, r4
|
|
bl ov00_021FF3C0
|
|
_0220D15C:
|
|
cmp sb, #0
|
|
beq _0220D130
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [r1, #0x24]
|
|
sub r0, r0, #1
|
|
str r0, [r1, #0x24]
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [r1, #0xc]
|
|
cmp r0, #5
|
|
streq r1, [r5]
|
|
ldr r0, [sp, #8]
|
|
ldr r0, [r0, #0x18]
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
arm_func_end ov00_0220D018
|
|
|
|
arm_func_start ov00_0220D194
|
|
ov00_0220D194: ; 0x0220D194
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r0, [r5, #0xc]
|
|
mov r4, r3
|
|
cmp r0, #5
|
|
ldmneia sp!, {r3, r4, r5, lr}
|
|
addne sp, sp, #0x10
|
|
bxne lr
|
|
add r0, sp, #0x14
|
|
add r1, sp, #0x18
|
|
bl ov00_0220F958
|
|
ldr r0, [r5, #0x98]
|
|
bl ov00_021FE6E4
|
|
cmp r0, #0
|
|
beq _0220D1F8
|
|
str r4, [sp]
|
|
ldr r2, [sp, #0x14]
|
|
ldr r3, [sp, #0x18]
|
|
mov r0, r5
|
|
mov r1, #0
|
|
bl ov00_0220C670
|
|
ldmia sp!, {r3, r4, r5, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
_0220D1F8:
|
|
ldr r1, [sp, #0x14]
|
|
ldr r2, [sp, #0x18]
|
|
mov r0, r5
|
|
mov r3, r4
|
|
bl ov00_0220EE6C
|
|
ldmia sp!, {r3, r4, r5, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
arm_func_end ov00_0220D194
|
|
|
|
arm_func_start ov00_0220D218
|
|
ov00_0220D218: ; 0x0220D218
|
|
ldr ip, _0220D224 ; =ov00_0220CE68
|
|
mov r1, #1
|
|
bx ip
|
|
.align 2, 0
|
|
_0220D224: .word ov00_0220CE68
|
|
arm_func_end ov00_0220D218
|
|
|
|
arm_func_start ov00_0220D228
|
|
ov00_0220D228: ; 0x0220D228
|
|
ldr ip, _0220D234 ; =ov00_0220D218
|
|
ldr r0, [r0]
|
|
bx ip
|
|
.align 2, 0
|
|
_0220D234: .word ov00_0220D218
|
|
arm_func_end ov00_0220D228
|
|
|
|
arm_func_start ov00_0220D238
|
|
ov00_0220D238: ; 0x0220D238
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _0220D274 ; =_0221B630
|
|
ldr r2, [r1]
|
|
cmp r2, #1
|
|
ldmeqia sp!, {r3, pc}
|
|
mov r2, #1
|
|
str r2, [r1]
|
|
ldr r0, [r0, #0xc]
|
|
ldr r1, _0220D278 ; =ov00_0220D228
|
|
mov r2, #0
|
|
bl ov00_021FF1F8
|
|
ldr r0, _0220D274 ; =_0221B630
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0220D274: .word _0221B630
|
|
_0220D278: .word ov00_0220D228
|
|
arm_func_end ov00_0220D238
|
|
|
|
arm_func_start ov00_0220D27C
|
|
ov00_0220D27C: ; 0x0220D27C
|
|
ldrh r0, [r0, #8]
|
|
bx lr
|
|
arm_func_end ov00_0220D27C
|
|
|
|
arm_func_start ov00_0220D284
|
|
ov00_0220D284: ; 0x0220D284
|
|
ldr r1, [r0, #0x54]
|
|
ldr r0, [r0, #0x58]
|
|
sub r0, r1, r0
|
|
bx lr
|
|
arm_func_end ov00_0220D284
|
|
|
|
arm_func_start ov00_0220D294
|
|
ov00_0220D294: ; 0x0220D294
|
|
ldr r0, [r0]
|
|
bx lr
|
|
arm_func_end ov00_0220D294
|
|
|
|
arm_func_start ov00_0220D29C
|
|
ov00_0220D29C: ; 0x0220D29C
|
|
str r1, [r0, #0x30]
|
|
bx lr
|
|
arm_func_end ov00_0220D29C
|
|
|
|
arm_func_start ov00_0220D2A4
|
|
ov00_0220D2A4: ; 0x0220D2A4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
movs r5, r0
|
|
mov r4, r1
|
|
bne _0220D2C8
|
|
ldr r0, _0220D2D0 ; =_02219C88
|
|
ldr r1, _0220D2D4 ; =_02219C7C
|
|
ldr r2, _0220D2D8 ; =_02219C4C
|
|
ldr r3, _0220D2DC ; =0x000001A3
|
|
bl sub_020E4A9C
|
|
_0220D2C8:
|
|
str r4, [r5, #0x40]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0220D2D0: .word _02219C88
|
|
_0220D2D4: .word _02219C7C
|
|
_0220D2D8: .word _02219C4C
|
|
_0220D2DC: .word 0x000001A3
|
|
arm_func_end ov00_0220D2A4
|
|
|
|
arm_func_start ov00_0220D2E0
|
|
ov00_0220D2E0: ; 0x0220D2E0
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
bne _0220D300
|
|
ldr r0, _0220D308 ; =_02219C88
|
|
ldr r1, _0220D30C ; =_02219C7C
|
|
ldr r2, _0220D310 ; =_02219C64
|
|
ldr r3, _0220D314 ; =0x000001AA
|
|
bl sub_020E4A9C
|
|
_0220D300:
|
|
ldr r0, [r4, #0x40]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0220D308: .word _02219C88
|
|
_0220D30C: .word _02219C7C
|
|
_0220D310: .word _02219C64
|
|
_0220D314: .word 0x000001AA
|
|
arm_func_end ov00_0220D2E0
|
|
|
|
arm_func_start ov00_0220D318
|
|
ov00_0220D318: ; 0x0220D318
|
|
ldrb r2, [r0, r1]
|
|
add r1, r1, #1
|
|
ldrb r1, [r0, r1]
|
|
mov r0, r2, lsl #8
|
|
and r0, r0, #0xff00
|
|
mov r0, r0, lsl #0x10
|
|
orr r0, r1, r0, lsr #16
|
|
bx lr
|
|
arm_func_end ov00_0220D318
|
|
|
|
arm_func_start ov00_0220D338
|
|
ov00_0220D338: ; 0x0220D338
|
|
mov r3, r2, asr #8
|
|
strb r3, [r0, r1]
|
|
add r1, r1, #1
|
|
strb r2, [r0, r1]
|
|
bx lr
|
|
arm_func_end ov00_0220D338
|
|
|
|
arm_func_start ov00_0220D34C
|
|
ov00_0220D34C: ; 0x0220D34C
|
|
sub r0, r0, r1
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, asr #0x10
|
|
bx lr
|
|
arm_func_end ov00_0220D34C
|
|
|
|
arm_func_start ov00_0220D35C
|
|
ov00_0220D35C: ; 0x0220D35C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
ldr r3, [r6, #0xc]
|
|
mov r5, r1
|
|
mov r4, r2
|
|
cmp r3, #5
|
|
bge _0220D3C4
|
|
ldr r1, [r6, #0x10]
|
|
cmp r1, #0
|
|
beq _0220D3AC
|
|
bl ov00_0220CEB8
|
|
mov r2, #0
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r3, r2
|
|
bl ov00_0220C31C
|
|
cmp r0, #0
|
|
bne _0220D3E8
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0220D3AC:
|
|
cmp r3, #4
|
|
moveq r0, #1
|
|
streq r0, [r6, #0x14]
|
|
mov r0, r6
|
|
bl ov00_0220CEB8
|
|
b _0220D3E8
|
|
_0220D3C4:
|
|
cmp r3, #7
|
|
beq _0220D3E8
|
|
bl ov00_0220CEB8
|
|
mov r0, r6
|
|
mov r1, r4
|
|
bl ov00_0220C4E8
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
_0220D3E8:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_0220D35C
|
|
|
|
arm_func_start ov00_0220D3F0
|
|
ov00_0220D3F0: ; 0x0220D3F0
|
|
ldr ip, _0220D400 ; =ov00_0220D35C
|
|
mov r1, #7
|
|
mov r2, #2
|
|
bx ip
|
|
.align 2, 0
|
|
_0220D400: .word ov00_0220D35C
|
|
arm_func_end ov00_0220D3F0
|
|
|
|
arm_func_start ov00_0220D404
|
|
ov00_0220D404: ; 0x0220D404
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov00_0220ED98
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #1
|
|
mov r2, #4
|
|
bl ov00_0220D35C
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0220D404
|
|
|
|
arm_func_start ov00_0220D430
|
|
ov00_0220D430: ; 0x0220D430
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x60]
|
|
mov r7, r1
|
|
bl ov00_021FE6E4
|
|
movs r5, r0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
cmp r5, #0
|
|
mov r6, #0
|
|
ble _0220D484
|
|
_0220D45C:
|
|
ldr r0, [r4, #0x60]
|
|
mov r1, r6
|
|
bl ov00_021FE6EC
|
|
ldrh r0, [r0, #8]
|
|
mov r1, r7
|
|
bl ov00_0220D34C
|
|
cmp r0, #0
|
|
addlt r6, r6, #1
|
|
cmplt r6, r5
|
|
blt _0220D45C
|
|
_0220D484:
|
|
cmp r6, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
cmp r6, #0
|
|
sub r6, r6, #1
|
|
beq _0220D4B4
|
|
_0220D49C:
|
|
ldr r0, [r4, #0x60]
|
|
mov r1, r6
|
|
bl ov00_021FE968
|
|
cmp r6, #0
|
|
sub r6, r6, #1
|
|
bne _0220D49C
|
|
_0220D4B4:
|
|
ldr r0, [r4, #0x60]
|
|
bl ov00_021FE6E4
|
|
movs r6, r0
|
|
bne _0220D4D4
|
|
mov r0, #0
|
|
str r0, [r4, #0x58]
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220D4D4:
|
|
ldr r0, [r4, #0x60]
|
|
mov r1, #0
|
|
bl ov00_021FE6EC
|
|
cmp r6, #0
|
|
ldr r5, [r0]
|
|
mov r7, #0
|
|
ble _0220D514
|
|
_0220D4F0:
|
|
ldr r0, [r4, #0x60]
|
|
mov r1, r7
|
|
bl ov00_021FE6EC
|
|
ldr r1, [r0]
|
|
add r7, r7, #1
|
|
sub r1, r1, r5
|
|
str r1, [r0]
|
|
cmp r7, r6
|
|
blt _0220D4F0
|
|
_0220D514:
|
|
mov r2, r5
|
|
add r0, r4, #0x50
|
|
mov r1, #0
|
|
bl ov00_0220C0C4
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_0220D430
|
|
|
|
arm_func_start ov00_0220D52C
|
|
ov00_0220D52C: ; 0x0220D52C
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #4
|
|
mov r6, r0
|
|
ldr r0, [r6, #0xc]
|
|
mov r5, r1
|
|
cmp r0, #5
|
|
cmpne r0, #6
|
|
mov r4, r2
|
|
addne sp, sp, #4
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
ldr r0, [r6, #0x9c]
|
|
bl ov00_021FE6E4
|
|
cmp r0, #0
|
|
beq _0220D594
|
|
mov r1, #0
|
|
mov r0, r6
|
|
mov r2, r5
|
|
mov r3, r4
|
|
str r1, [sp]
|
|
bl ov00_0220C768
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
add sp, sp, #4
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_0220D594:
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r2, r4
|
|
mov r3, #0
|
|
bl ov00_0220C404
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end ov00_0220D52C
|
|
|
|
arm_func_start ov00_0220D5BC
|
|
ov00_0220D5BC: ; 0x0220D5BC
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #4
|
|
mov r6, r0
|
|
ldr r3, [r6, #0xc]
|
|
mov r5, r1
|
|
cmp r3, #5
|
|
mov r4, r2
|
|
cmpne r3, #6
|
|
beq _0220D5F8
|
|
bl ov00_0220D3F0
|
|
cmp r0, #0
|
|
bne _0220D65C
|
|
add sp, sp, #4
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_0220D5F8:
|
|
ldr r0, [r6, #0x9c]
|
|
bl ov00_021FE6E4
|
|
cmp r0, #0
|
|
beq _0220D638
|
|
mov ip, #1
|
|
mov r0, r6
|
|
mov r2, r5
|
|
mov r3, r4
|
|
mov r1, #0
|
|
str ip, [sp]
|
|
bl ov00_0220C768
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
add sp, sp, #4
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_0220D638:
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r2, r4
|
|
mov r3, #1
|
|
bl ov00_0220C404
|
|
cmp r0, #0
|
|
addeq sp, sp, #4
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
_0220D65C:
|
|
mov r0, #1
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end ov00_0220D5BC
|
|
|
|
arm_func_start ov00_0220D668
|
|
ov00_0220D668: ; 0x0220D668
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x40
|
|
mov r4, r0
|
|
ldr r3, [r4, #0xc]
|
|
cmp r3, #2
|
|
beq _0220D698
|
|
bl ov00_0220D3F0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
add sp, sp, #0x40
|
|
moveq r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
_0220D698:
|
|
cmp r2, #0x20
|
|
bge _0220D6B8
|
|
bl ov00_0220D3F0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
add sp, sp, #0x40
|
|
moveq r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
_0220D6B8:
|
|
add r0, sp, #0x20
|
|
bl ov00_0220BE08
|
|
add r0, sp, #0
|
|
bl ov00_0220BCEC
|
|
add r1, sp, #0
|
|
add r0, r4, #0x68
|
|
bl ov00_0220BE08
|
|
add r1, sp, #0x20
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov00_0220E940
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
movne r0, #3
|
|
strne r0, [r4, #0xc]
|
|
movne r0, #1
|
|
add sp, sp, #0x40
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0220D668
|
|
|
|
arm_func_start ov00_0220D700
|
|
ov00_0220D700: ; 0x0220D700
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x20
|
|
mov r5, r0
|
|
ldr r3, [r5, #0xc]
|
|
mov r4, r1
|
|
cmp r3, #0
|
|
beq _0220D734
|
|
bl ov00_0220D3F0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
add sp, sp, #0x20
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220D734:
|
|
cmp r2, #0x40
|
|
bge _0220D754
|
|
bl ov00_0220D3F0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
add sp, sp, #0x20
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220D754:
|
|
mov r0, r4
|
|
add r1, r5, #0x68
|
|
bl ov00_0220BF10
|
|
cmp r0, #0
|
|
bne _0220D784
|
|
mov r0, r5
|
|
bl ov00_0220D3F0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
add sp, sp, #0x20
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0220D784:
|
|
add r0, sp, #0
|
|
add r1, r4, #0x20
|
|
bl ov00_0220BE08
|
|
ldr r2, [r5, #0x38]
|
|
ldr r3, [r5, #0x3c]
|
|
add r1, sp, #0
|
|
mov r0, r5
|
|
bl ov00_0220E9CC
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x20
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, [r5, #0x38]
|
|
cmp r0, #0
|
|
beq _0220D7CC
|
|
bl ov00_021EC3D8
|
|
mov r0, #0
|
|
str r0, [r5, #0x38]
|
|
_0220D7CC:
|
|
mov r0, #1
|
|
str r0, [r5, #0xc]
|
|
add sp, sp, #0x20
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_0220D700
|
|
|
|
arm_func_start ov00_0220D7DC
|
|
ov00_0220D7DC: ; 0x0220D7DC
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0xc
|
|
mov r6, r0
|
|
ldr r3, [r6, #0xc]
|
|
mov r5, r1
|
|
mov r4, r2
|
|
cmp r3, #3
|
|
beq _0220D814
|
|
bl ov00_0220D3F0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
add sp, sp, #0xc
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_0220D814:
|
|
cmp r4, #0x20
|
|
bge _0220D834
|
|
bl ov00_0220D3F0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
add sp, sp, #0xc
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_0220D834:
|
|
mov r0, r5
|
|
add r1, r6, #0x68
|
|
bl ov00_0220BF10
|
|
cmp r0, #0
|
|
bne _0220D864
|
|
mov r0, r6
|
|
bl ov00_0220D3F0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
add sp, sp, #0xc
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_0220D864:
|
|
ldr r0, [r6, #8]
|
|
ldr r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
bne _0220D8A0
|
|
mov r0, r6
|
|
bl ov00_0220ED98
|
|
cmp r0, #0
|
|
addeq sp, sp, #0xc
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
mov r0, r6
|
|
bl ov00_0220CEB8
|
|
add sp, sp, #0xc
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_0220D8A0:
|
|
mov r0, #4
|
|
str r0, [r6, #0xc]
|
|
bl ov00_021FF368
|
|
ldr r2, [r6, #0x8c]
|
|
add r1, r5, #0x20
|
|
sub r0, r0, r2
|
|
stmia sp, {r0, r1}
|
|
sub r0, r4, #0x20
|
|
str r0, [sp, #8]
|
|
ldrh r3, [r6, #4]
|
|
ldr r0, [r6, #8]
|
|
ldr r2, [r6]
|
|
mov r1, r6
|
|
bl ov00_0220C200
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end ov00_0220D7DC
|
|
|
|
arm_func_start ov00_0220D8EC
|
|
ov00_0220D8EC: ; 0x0220D8EC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, [r0, #0xc]
|
|
cmp r1, #1
|
|
beq _0220D910
|
|
bl ov00_0220D3F0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_0220D910:
|
|
mov r1, #0
|
|
mov ip, #5
|
|
mov r2, r1
|
|
mov r3, r1
|
|
str ip, [r0, #0xc]
|
|
bl ov00_0220C31C
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_0220D8EC
|
|
|
|
arm_func_start ov00_0220D938
|
|
ov00_0220D938: ; 0x0220D938
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
ldr r3, [r6, #0xc]
|
|
mov r5, r1
|
|
mov r4, r2
|
|
cmp r3, #1
|
|
beq _0220D968
|
|
bl ov00_0220D3F0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0220D968:
|
|
bl ov00_0220CEB8
|
|
mov r0, r6
|
|
bl ov00_0220ED98
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
mov r0, r6
|
|
mov r2, r5
|
|
mov r3, r4
|
|
mov r1, #2
|
|
bl ov00_0220C31C
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_0220D938
|
|
|
|
arm_func_start ov00_0220D9A4
|
|
ov00_0220D9A4: ; 0x0220D9A4
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov00_0220ED98
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #2
|
|
cmp r0, #6
|
|
moveq r2, #0
|
|
movne r2, #1
|
|
mov r0, r4
|
|
bl ov00_0220D35C
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
movne r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0220D9A4
|
|
|
|
arm_func_start ov00_0220D9E8
|
|
ov00_0220D9E8: ; 0x0220D9E8
|
|
stmdb sp!, {r3, lr}
|
|
ldrh ip, [r0, #0x66]
|
|
cmp r1, #0
|
|
add ip, ip, #1
|
|
strh ip, [r0, #0x66]
|
|
bne _0220DA1C
|
|
mov r1, r2
|
|
mov r2, r3
|
|
bl ov00_0220D5BC
|
|
cmp r0, #0
|
|
bne _0220DAE0
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_0220DA1C:
|
|
cmp r1, #1
|
|
bne _0220DA40
|
|
mov r1, r2
|
|
mov r2, r3
|
|
bl ov00_0220D668
|
|
cmp r0, #0
|
|
bne _0220DAE0
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_0220DA40:
|
|
cmp r1, #2
|
|
bne _0220DA64
|
|
mov r1, r2
|
|
mov r2, r3
|
|
bl ov00_0220D700
|
|
cmp r0, #0
|
|
bne _0220DAE0
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_0220DA64:
|
|
cmp r1, #3
|
|
bne _0220DA88
|
|
mov r1, r2
|
|
mov r2, r3
|
|
bl ov00_0220D7DC
|
|
cmp r0, #0
|
|
bne _0220DAE0
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_0220DA88:
|
|
cmp r1, #4
|
|
bne _0220DAA4
|
|
bl ov00_0220D8EC
|
|
cmp r0, #0
|
|
bne _0220DAE0
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_0220DAA4:
|
|
cmp r1, #5
|
|
bne _0220DAC8
|
|
mov r1, r2
|
|
mov r2, r3
|
|
bl ov00_0220D938
|
|
cmp r0, #0
|
|
bne _0220DAE0
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_0220DAC8:
|
|
cmp r1, #6
|
|
bne _0220DAE0
|
|
bl ov00_0220D9A4
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
_0220DAE0:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_0220D9E8
|
|
|
|
arm_func_start ov00_0220DAE8
|
|
ov00_0220DAE8: ; 0x0220DAE8
|
|
ldr ip, _0220DAF8 ; =ov00_0220D34C
|
|
ldrh r0, [r0, #0xc]
|
|
ldrh r1, [r1, #0xc]
|
|
bx ip
|
|
.align 2, 0
|
|
_0220DAF8: .word ov00_0220D34C
|
|
arm_func_end ov00_0220DAE8
|
|
|
|
arm_func_start ov00_0220DAFC
|
|
ov00_0220DAFC: ; 0x0220DAFC
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
sub sp, sp, #0x10
|
|
mov sb, r0
|
|
ldr r0, [sb, #0x5c]
|
|
mov r8, r1
|
|
mov r7, r2
|
|
mov r6, r3
|
|
ldr r5, [sp, #0x34]
|
|
bl ov00_021FE6E4
|
|
mov r4, r0
|
|
cmp r4, #0
|
|
mov sl, #0
|
|
ble _0220DB78
|
|
_0220DB30:
|
|
ldr r0, [sb, #0x5c]
|
|
mov r1, sl
|
|
bl ov00_021FE6EC
|
|
ldrh r0, [r0, #0xc]
|
|
cmp r0, r7
|
|
bne _0220DB5C
|
|
mov r0, #0
|
|
str r0, [r5]
|
|
add sp, sp, #0x10
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_0220DB5C:
|
|
mov r1, r7
|
|
bl ov00_0220D34C
|
|
cmp r0, #0
|
|
bgt _0220DB78
|
|
add sl, sl, #1
|
|
cmp sl, r4
|
|
blt _0220DB30
|
|
_0220DB78:
|
|
add r0, sb, #0x44
|
|
bl ov00_0220BF70
|
|
ldr r2, [sp, #0x30]
|
|
cmp r0, r2
|
|
movlt r0, #1
|
|
addlt sp, sp, #0x10
|
|
strlt r0, [r5]
|
|
ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
ldr r0, [sb, #0x4c]
|
|
add r1, sp, #0
|
|
str r2, [sp, #4]
|
|
str r8, [sp, #8]
|
|
strh r7, [sp, #0xc]
|
|
str r0, [sp]
|
|
ldr r0, [sb, #0x5c]
|
|
ldr r2, _0220DCAC ; =ov00_0220DAE8
|
|
bl ov00_021FE858
|
|
ldr r0, [sb, #0x5c]
|
|
bl ov00_021FE6E4
|
|
add r1, r4, #1
|
|
cmp r1, r0
|
|
movne r0, #1
|
|
addne sp, sp, #0x10
|
|
strne r0, [r5]
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
ldr r2, [sp, #0x30]
|
|
mov r1, r6
|
|
add r0, sb, #0x44
|
|
bl ov00_0220C03C
|
|
cmp r4, #0
|
|
bne _0220DC20
|
|
sub r0, r7, #1
|
|
mov r2, r0, lsl #0x10
|
|
ldrh r1, [sb, #0x66]
|
|
mov r0, sb
|
|
mov r2, r2, lsr #0x10
|
|
bl ov00_0220ECF8
|
|
cmp r0, #0
|
|
bne _0220DC98
|
|
add sp, sp, #0x10
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_0220DC20:
|
|
ldr r0, [sb, #0x5c]
|
|
mov r1, r4
|
|
bl ov00_021FE6EC
|
|
ldrh r0, [r0, #0xc]
|
|
cmp r0, r7
|
|
bne _0220DC98
|
|
ldr r0, [sb, #0x5c]
|
|
sub r1, r4, #1
|
|
bl ov00_021FE6EC
|
|
mov r4, r0
|
|
ldrh r1, [r4, #0xc]
|
|
mov r0, r7
|
|
bl ov00_0220D34C
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
cmp r0, #1
|
|
bls _0220DC98
|
|
ldrh r1, [r4, #0xc]
|
|
sub r0, r7, #1
|
|
mov r2, r0, lsl #0x10
|
|
add r0, r1, #1
|
|
mov r1, r0, lsl #0x10
|
|
mov r0, sb
|
|
mov r1, r1, lsr #0x10
|
|
mov r2, r2, lsr #0x10
|
|
bl ov00_0220ECF8
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x10
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_0220DC98:
|
|
mov r0, #0
|
|
str r0, [r5]
|
|
mov r0, #1
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
_0220DCAC: .word ov00_0220DAE8
|
|
arm_func_end ov00_0220DAFC
|
|
|
|
arm_func_start ov00_0220DCB0
|
|
ov00_0220DCB0: ; 0x0220DCB0
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
mov sb, r0
|
|
ldr r0, [sb, #0x5c]
|
|
ldmia r1, {r4, r5}
|
|
mov r1, r2
|
|
mov r8, #0
|
|
bl ov00_021FE968
|
|
ldr r0, [sb, #0x5c]
|
|
bl ov00_021FE6E4
|
|
mov r6, r0
|
|
cmp r6, #0
|
|
mov r7, r8
|
|
ble _0220DD20
|
|
_0220DCE4:
|
|
ldr r0, [sb, #0x5c]
|
|
mov r1, r7
|
|
bl ov00_021FE6EC
|
|
ldr r1, [r0]
|
|
cmp r1, r4
|
|
ble _0220DD14
|
|
sub r1, r1, r5
|
|
str r1, [r0]
|
|
ldr r0, [r0, #4]
|
|
add r0, r1, r0
|
|
cmp r8, r0
|
|
movle r8, r0
|
|
_0220DD14:
|
|
add r7, r7, #1
|
|
cmp r7, r6
|
|
blt _0220DCE4
|
|
_0220DD20:
|
|
mov r1, r4
|
|
mov r2, r5
|
|
add r0, sb, #0x44
|
|
bl ov00_0220C0C4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
arm_func_end ov00_0220DCB0
|
|
|
|
arm_func_start ov00_0220DD34
|
|
ov00_0220DD34: ; 0x0220DD34
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
_0220DD3C:
|
|
ldr r0, [r6, #0x5c]
|
|
bl ov00_021FE6E4
|
|
subs r5, r0, #1
|
|
bmi _0220DDAC
|
|
_0220DD4C:
|
|
ldr r0, [r6, #0x5c]
|
|
mov r1, r5
|
|
bl ov00_021FE6EC
|
|
mov r4, r0
|
|
ldrh r1, [r4, #0xc]
|
|
ldrh r0, [r6, #0x66]
|
|
cmp r1, r0
|
|
bne _0220DDA4
|
|
ldr ip, [r6, #0x44]
|
|
ldr r1, [r4, #8]
|
|
ldmia r4, {r2, r3}
|
|
mov r0, r6
|
|
add r2, ip, r2
|
|
bl ov00_0220D9E8
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
mov r0, r6
|
|
mov r1, r4
|
|
mov r2, r5
|
|
bl ov00_0220DCB0
|
|
b _0220DD3C
|
|
_0220DDA4:
|
|
subs r5, r5, #1
|
|
bpl _0220DD4C
|
|
_0220DDAC:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_0220DD34
|
|
|
|
arm_func_start ov00_0220DDB4
|
|
ov00_0220DDB4: ; 0x0220DDB4
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x90]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
mov r0, #1
|
|
str r0, [r4, #0x90]
|
|
bl ov00_021FF368
|
|
str r0, [r4, #0x94]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0220DDB4
|
|
|
|
arm_func_start ov00_0220DDDC
|
|
ov00_0220DDDC: ; 0x0220DDDC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0xc
|
|
mov r6, r3
|
|
mov r4, r0
|
|
mov r8, r1
|
|
mov r7, r2
|
|
cmp r6, #7
|
|
bge _0220DE14
|
|
bl ov00_0220D3F0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
add sp, sp, #0xc
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_0220DE14:
|
|
mov r0, r7
|
|
mov r1, #3
|
|
bl ov00_0220D318
|
|
mov r5, r0
|
|
mov r0, r7
|
|
mov r1, #5
|
|
bl ov00_0220D318
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl ov00_0220D430
|
|
cmp r0, #0
|
|
addeq sp, sp, #0xc
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
ldrh r1, [r4, #0x66]
|
|
cmp r5, r1
|
|
bne _0220DEA0
|
|
mov r0, r4
|
|
bl ov00_0220DDB4
|
|
mov r0, r4
|
|
mov r1, r8
|
|
add r2, r7, #7
|
|
sub r3, r6, #7
|
|
bl ov00_0220D9E8
|
|
cmp r0, #0
|
|
addeq sp, sp, #0xc
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
mov r0, r4
|
|
bl ov00_0220DD34
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
add sp, sp, #0xc
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_0220DEA0:
|
|
mov r0, r5
|
|
bl ov00_0220D34C
|
|
cmp r0, #0
|
|
bge _0220DEC4
|
|
mov r0, r4
|
|
bl ov00_0220DDB4
|
|
add sp, sp, #0xc
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_0220DEC4:
|
|
sub r0, r6, #7
|
|
str r0, [sp]
|
|
add ip, sp, #8
|
|
mov r0, r4
|
|
mov r1, r8
|
|
mov r2, r5
|
|
add r3, r7, #7
|
|
str ip, [sp, #4]
|
|
bl ov00_0220DAFC
|
|
cmp r0, #0
|
|
addeq sp, sp, #0xc
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #0
|
|
beq _0220DF1C
|
|
mov r0, r4
|
|
bl ov00_0220D404
|
|
cmp r0, #0
|
|
addeq sp, sp, #0xc
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_0220DF1C:
|
|
mov r0, #1
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
arm_func_end ov00_0220DDDC
|
|
|
|
arm_func_start ov00_0220DF28
|
|
ov00_0220DF28: ; 0x0220DF28
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
cmp r2, #2
|
|
beq _0220DF4C
|
|
bl ov00_0220D3F0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
_0220DF4C:
|
|
mov r0, r1
|
|
mov r1, #0
|
|
bl ov00_0220D318
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl ov00_0220D430
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0220DF28
|
|
|
|
arm_func_start ov00_0220DF74
|
|
ov00_0220DF74: ; 0x0220DF74
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
mov r7, r1
|
|
mov r4, r0
|
|
mov r0, r7
|
|
mov r1, #0
|
|
mov r5, r2
|
|
bl ov00_0220D318
|
|
mov r6, r0
|
|
cmp r5, #2
|
|
moveq r7, r6
|
|
beq _0220DFD4
|
|
cmp r5, #4
|
|
bne _0220DFBC
|
|
mov r0, r7
|
|
mov r1, #2
|
|
bl ov00_0220D318
|
|
mov r7, r0
|
|
b _0220DFD4
|
|
_0220DFBC:
|
|
mov r0, r4
|
|
bl ov00_0220D3F0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_0220DFD4:
|
|
ldr r0, [r4, #0x60]
|
|
bl ov00_021FE6E4
|
|
mov r8, r0
|
|
cmp r8, #0
|
|
mov sb, #0
|
|
ble _0220E048
|
|
_0220DFEC:
|
|
ldr r0, [r4, #0x60]
|
|
mov r1, sb
|
|
bl ov00_021FE6EC
|
|
mov r5, r0
|
|
ldrh r0, [r5, #8]
|
|
mov r1, r6
|
|
bl ov00_0220D34C
|
|
cmp r0, #0
|
|
blt _0220E03C
|
|
ldrh r0, [r5, #8]
|
|
mov r1, r7
|
|
bl ov00_0220D34C
|
|
cmp r0, #0
|
|
bgt _0220E03C
|
|
mov r0, r4
|
|
mov r1, r5
|
|
bl ov00_0220EE00
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_0220E03C:
|
|
add sb, sb, #1
|
|
cmp sb, r8
|
|
blt _0220DFEC
|
|
_0220E048:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
arm_func_end ov00_0220DF74
|
|
|
|
arm_func_start ov00_0220E050
|
|
ov00_0220E050: ; 0x0220E050
|
|
ldr ip, _0220E058 ; =ov00_0220ED84
|
|
bx ip
|
|
.align 2, 0
|
|
_0220E058: .word ov00_0220ED84
|
|
arm_func_end ov00_0220E050
|
|
|
|
arm_func_start ov00_0220E05C
|
|
ov00_0220E05C: ; 0x0220E05C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x34]
|
|
mov r5, r1
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
cmp r2, #8
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r1, _0220E0EC ; =_02219CAC
|
|
mov r0, r5
|
|
mov r2, #4
|
|
bl sub_020E5BB0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldrb r1, [r5, #4]
|
|
ldrb r0, [r5, #5]
|
|
add r2, sp, #0
|
|
strb r1, [r2]
|
|
strb r0, [r2, #1]
|
|
ldrb r1, [r5, #6]
|
|
ldrb r0, [r5, #7]
|
|
strb r1, [r2, #2]
|
|
strb r0, [r2, #3]
|
|
bl ov00_021FF368
|
|
mov r2, r0
|
|
ldr r1, [sp]
|
|
mov r0, r4
|
|
sub r1, r2, r1
|
|
bl ov00_0220C5AC
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0220E0EC: .word _02219CAC
|
|
arm_func_end ov00_0220E05C
|
|
|
|
arm_func_start ov00_0220E0F0
|
|
ov00_0220E0F0: ; 0x0220E0F0
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, [r0, #0xc]
|
|
cmp r1, #7
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, pc}
|
|
cmp r1, #6
|
|
moveq r2, #0
|
|
movne r2, #1
|
|
mov r1, #2
|
|
bl ov00_0220D35C
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
movne r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_0220E0F0
|
|
|
|
arm_func_start ov00_0220E128
|
|
ov00_0220E128: ; 0x0220E128
|
|
stmdb sp!, {r3, lr}
|
|
cmp r1, #0x64
|
|
sub ip, r3, #3
|
|
bne _0220E154
|
|
add r1, r2, #3
|
|
mov r2, ip
|
|
bl ov00_0220DF28
|
|
cmp r0, #0
|
|
bne _0220E1D8
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_0220E154:
|
|
cmp r1, #0x65
|
|
bne _0220E178
|
|
add r1, r2, #3
|
|
mov r2, ip
|
|
bl ov00_0220DF74
|
|
cmp r0, #0
|
|
bne _0220E1D8
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_0220E178:
|
|
cmp r1, #0x66
|
|
bne _0220E19C
|
|
mov r1, r2
|
|
mov r2, r3
|
|
bl ov00_0220E050
|
|
cmp r0, #0
|
|
bne _0220E1D8
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_0220E19C:
|
|
cmp r1, #0x67
|
|
bne _0220E1C0
|
|
add r1, r2, #3
|
|
mov r2, ip
|
|
bl ov00_0220E05C
|
|
cmp r0, #0
|
|
bne _0220E1D8
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_0220E1C0:
|
|
cmp r1, #0x68
|
|
bne _0220E1D8
|
|
bl ov00_0220E0F0
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
_0220E1D8:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_0220E128
|
|
|
|
arm_func_start ov00_0220E1E0
|
|
ov00_0220E1E0: ; 0x0220E1E0
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x18
|
|
ldr r5, [sp, #0x38]
|
|
mov r6, r3
|
|
mov r8, r1
|
|
mov r7, r2
|
|
mov r1, r6
|
|
mov r2, r5
|
|
mov sb, r0
|
|
bl ov00_0220EEEC
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sb, #0x2c]
|
|
cmp r0, #0
|
|
beq _0220E24C
|
|
mov r0, #0
|
|
stmia sp, {r0, r8}
|
|
str r7, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r1, [sp, #0x14]
|
|
mov r0, sb
|
|
mov r2, r6
|
|
mov r3, r5
|
|
bl ov00_0220C860
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x18
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_0220E24C:
|
|
cmp r7, #2
|
|
ble _0220E270
|
|
ldr r1, _0220E48C ; =_02219CB4
|
|
mov r0, r8
|
|
mov r2, #2
|
|
bl sub_020E5BB0
|
|
cmp r0, #0
|
|
moveq r4, #1
|
|
beq _0220E274
|
|
_0220E270:
|
|
mov r4, #0
|
|
_0220E274:
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
bne _0220E378
|
|
add ip, sp, #0x10
|
|
mov r0, sb
|
|
mov r1, r6
|
|
mov r2, r5
|
|
mov r3, r8
|
|
stmia sp, {r7, ip}
|
|
bl ov00_0220C984
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x18
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
addne sp, sp, #0x18
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
cmp r4, #0
|
|
beq _0220E2D4
|
|
ldrb r0, [r8, #2]
|
|
cmp r0, #1
|
|
beq _0220E314
|
|
_0220E2D4:
|
|
cmp r4, #0
|
|
beq _0220E2E8
|
|
ldrb r0, [r8, #2]
|
|
cmp r0, #0x68
|
|
beq _0220E308
|
|
_0220E2E8:
|
|
mov r0, sb
|
|
mov r1, r6
|
|
mov r2, r5
|
|
bl ov00_0220EDB4
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x18
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_0220E308:
|
|
add sp, sp, #0x18
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_0220E314:
|
|
ldr r0, [sb, #0x20]
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x18
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
add r1, sp, #0x14
|
|
mov r0, sb
|
|
mov r2, r6
|
|
mov r3, r5
|
|
bl ov00_0220CAAC
|
|
cmp r0, #0
|
|
beq _0220E378
|
|
cmp r0, #5
|
|
beq _0220E36C
|
|
mov r0, sb
|
|
mov r1, r6
|
|
mov r2, r5
|
|
bl ov00_0220EDB4
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x18
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_0220E36C:
|
|
add sp, sp, #0x18
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_0220E378:
|
|
ldr r5, [sp, #0x14]
|
|
ldr r0, [r5, #0xc]
|
|
cmp r0, #7
|
|
bne _0220E3C0
|
|
cmp r4, #0
|
|
beq _0220E39C
|
|
ldrb r0, [r8, #2]
|
|
cmp r0, #0x68
|
|
beq _0220E3B4
|
|
_0220E39C:
|
|
mov r0, r5
|
|
bl ov00_0220ED98
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x18
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_0220E3B4:
|
|
add sp, sp, #0x18
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_0220E3C0:
|
|
cmp r4, #0
|
|
beq _0220E3F0
|
|
cmp r7, #4
|
|
blt _0220E3F0
|
|
ldr r1, _0220E48C ; =_02219CB4
|
|
add r0, r8, #2
|
|
mov r2, #2
|
|
bl sub_020E5BB0
|
|
cmp r0, #0
|
|
addeq r8, r8, #2
|
|
subeq r7, r7, #2
|
|
moveq r4, #0
|
|
_0220E3F0:
|
|
cmp r4, #0
|
|
bne _0220E41C
|
|
mov r0, r5
|
|
mov r1, r8
|
|
mov r2, r7
|
|
bl ov00_0220D52C
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
add sp, sp, #0x18
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_0220E41C:
|
|
ldrb r1, [r8, #2]
|
|
cmp r1, #0
|
|
bge _0220E444
|
|
mov r0, r5
|
|
bl ov00_0220D3F0
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
add sp, sp, #0x18
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_0220E444:
|
|
cmp r1, #8
|
|
mov r0, r5
|
|
mov r2, r8
|
|
bge _0220E470
|
|
mov r3, r7
|
|
bl ov00_0220DDDC
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
add sp, sp, #0x18
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_0220E470:
|
|
mov r3, r7
|
|
bl ov00_0220E128
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_0220E48C: .word _02219CB4
|
|
arm_func_end ov00_0220E1E0
|
|
|
|
arm_func_start ov00_0220E490
|
|
ov00_0220E490: ; 0x0220E490
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x10
|
|
mov r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
bl ov00_0220EEEC
|
|
ldr r1, [r7, #0x2c]
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
beq _0220E4F4
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov ip, #0
|
|
str ip, [sp, #4]
|
|
str ip, [sp, #8]
|
|
mov r0, r7
|
|
mov r1, r4
|
|
mov r2, r6
|
|
mov r3, r5
|
|
str ip, [sp, #0xc]
|
|
bl ov00_0220C860
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x10
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220E4F4:
|
|
cmp r4, #0
|
|
addeq sp, sp, #0x10
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0220E564
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #0
|
|
beq _0220E534
|
|
bl ov00_021FF368
|
|
ldr r2, [r4, #0x1c]
|
|
ldr r1, [r4, #0x20]
|
|
sub r0, r0, r2
|
|
cmp r0, r1
|
|
bhs _0220E540
|
|
_0220E534:
|
|
add sp, sp, #0x10
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220E540:
|
|
mov r0, r4
|
|
mov r1, #6
|
|
mov r2, #1
|
|
bl ov00_0220D35C
|
|
cmp r0, #0
|
|
bne _0220E584
|
|
add sp, sp, #0x10
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220E564:
|
|
mov r0, r4
|
|
mov r1, #2
|
|
mov r2, #1
|
|
bl ov00_0220D35C
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x10
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220E584:
|
|
mov r0, #1
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_0220E490
|
|
|
|
arm_func_start ov00_0220E590
|
|
ov00_0220E590: ; 0x0220E590
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x5f0
|
|
mov sl, r0
|
|
ldr r0, [sl]
|
|
bl ov00_021FF694
|
|
cmp r0, #0
|
|
beq _0220E6B0
|
|
mvn r5, #0xe
|
|
sub r4, r5, #0x14
|
|
add r6, r5, #0xe
|
|
add r7, sp, #0x14
|
|
mov sb, #8
|
|
add r8, sp, #0xc
|
|
add fp, sp, #8
|
|
_0220E5C8:
|
|
str sb, [sp, #8]
|
|
stmia sp, {r8, fp}
|
|
ldr r0, [sl]
|
|
ldr r2, _0220E6BC ; =0x000005DC
|
|
mov r1, r7
|
|
mov r3, #0
|
|
bl ov00_021FF940
|
|
mov r2, r0
|
|
cmp r2, r6
|
|
bne _0220E65C
|
|
ldr r0, [sl]
|
|
bl ov00_021FFA60
|
|
cmp r0, r5
|
|
bne _0220E640
|
|
ldrh ip, [sp, #0xe]
|
|
ldr r1, [sp, #0x10]
|
|
mov r0, sl
|
|
mov r2, ip, asr #8
|
|
and r3, r2, #0xff
|
|
mov r2, ip, lsl #8
|
|
and r2, r2, #0xff00
|
|
orr r2, r3, r2
|
|
mov r2, r2, lsl #0x10
|
|
mov r2, r2, lsr #0x10
|
|
bl ov00_0220E490
|
|
cmp r0, #0
|
|
bne _0220E6A0
|
|
add sp, sp, #0x5f0
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_0220E640:
|
|
cmp r0, r4
|
|
beq _0220E6A0
|
|
mov r0, sl
|
|
bl ov00_0220F6E8
|
|
add sp, sp, #0x5f0
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_0220E65C:
|
|
ldrh ip, [sp, #0xe]
|
|
mov r0, sl
|
|
mov r1, r7
|
|
mov r3, ip, asr #8
|
|
mov ip, ip, lsl #8
|
|
and r3, r3, #0xff
|
|
and ip, ip, #0xff00
|
|
orr r3, r3, ip
|
|
mov r3, r3, lsl #0x10
|
|
mov r3, r3, lsr #0x10
|
|
str r3, [sp]
|
|
ldr r3, [sp, #0x10]
|
|
bl ov00_0220E1E0
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x5f0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_0220E6A0:
|
|
ldr r0, [sl]
|
|
bl ov00_021FF694
|
|
cmp r0, #0
|
|
bne _0220E5C8
|
|
_0220E6B0:
|
|
mov r0, #1
|
|
add sp, sp, #0x5f0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_0220E6BC: .word 0x000005DC
|
|
arm_func_end ov00_0220E590
|
|
|
|
arm_func_start ov00_0220E6C0
|
|
ov00_0220E6C0: ; 0x0220E6C0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x10
|
|
add r4, sp, #0
|
|
mov r3, #0
|
|
mov r5, r0
|
|
str r3, [r4]
|
|
str r3, [r4, #4]
|
|
str r3, [r4, #8]
|
|
str r3, [r4, #0xc]
|
|
ldr r0, [r5, #0x58]
|
|
str r0, [sp]
|
|
str r2, [sp, #4]
|
|
strh r1, [sp, #8]
|
|
bl ov00_021FF368
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x60]
|
|
bl ov00_021FE6E4
|
|
mov r4, r0
|
|
ldr r0, [r5, #0x60]
|
|
add r1, sp, #0
|
|
bl ov00_021FE754
|
|
ldr r0, [r5, #0x60]
|
|
bl ov00_021FE6E4
|
|
add r1, r4, #1
|
|
cmp r1, r0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_0220E6C0
|
|
|
|
arm_func_start ov00_0220E734
|
|
ov00_0220E734: ; 0x0220E734
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
mov r5, r2
|
|
add r0, r7, #0x50
|
|
mov r6, r1
|
|
mov r4, r3
|
|
bl ov00_0220BF70
|
|
cmp r0, r5
|
|
bge _0220E774
|
|
mov r0, r7
|
|
bl ov00_0220D404
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
movne r0, #1
|
|
strne r0, [r4]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220E774:
|
|
ldrh r1, [r7, #0x64]
|
|
mov r0, r7
|
|
mov r2, r5
|
|
bl ov00_0220E6C0
|
|
cmp r0, #0
|
|
bne _0220E7A8
|
|
mov r0, r7
|
|
bl ov00_0220D404
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
movne r0, #1
|
|
strne r0, [r4]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220E7A8:
|
|
ldr r1, _0220E7F4 ; =_02219CB4
|
|
add r0, r7, #0x50
|
|
mov r2, #2
|
|
bl ov00_0220C03C
|
|
add r0, r7, #0x50
|
|
and r1, r6, #0xff
|
|
bl ov00_0220BF80
|
|
ldrh r1, [r7, #0x64]
|
|
add r0, r7, #0x50
|
|
add r2, r1, #1
|
|
strh r2, [r7, #0x64]
|
|
bl ov00_0220BFD0
|
|
ldrh r1, [r7, #0x66]
|
|
add r0, r7, #0x50
|
|
bl ov00_0220BFD0
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220E7F4: .word _02219CB4
|
|
arm_func_end ov00_0220E734
|
|
|
|
arm_func_start ov00_0220E7F8
|
|
ov00_0220E7F8: ; 0x0220E7F8
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r0, [r5, #0x60]
|
|
bl ov00_021FE6E4
|
|
mov r4, r0
|
|
cmp r4, #0
|
|
bgt _0220E828
|
|
ldr r0, _0220E85C ; =_02219CB8
|
|
ldr r1, _0220E860 ; =_02219CC0
|
|
ldr r2, _0220E864 ; =_02219C94
|
|
ldr r3, _0220E868 ; =0x00000475
|
|
bl sub_020E4A9C
|
|
_0220E828:
|
|
ldr r0, [r5, #0x60]
|
|
sub r1, r4, #1
|
|
bl ov00_021FE6EC
|
|
ldmia r0, {r1, r2}
|
|
ldr r3, [r5, #0x50]
|
|
mov r0, r5
|
|
add r1, r3, r1
|
|
bl ov00_0220CC38
|
|
cmp r0, #0
|
|
mov r0, #0
|
|
strne r0, [r5, #0x90]
|
|
movne r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0220E85C: .word _02219CB8
|
|
_0220E860: .word _02219CC0
|
|
_0220E864: .word _02219C94
|
|
_0220E868: .word 0x00000475
|
|
arm_func_end ov00_0220E7F8
|
|
|
|
arm_func_start ov00_0220E86C
|
|
ov00_0220E86C: ; 0x0220E86C
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #4
|
|
mov r4, r2
|
|
mov r5, r1
|
|
add r3, sp, #0
|
|
add r2, r4, #7
|
|
mov r1, #0
|
|
mov r6, r0
|
|
bl ov00_0220E734
|
|
cmp r0, #0
|
|
addeq sp, sp, #4
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
addne sp, sp, #4
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
mov r1, r5
|
|
mov r2, r4
|
|
add r0, r6, #0x50
|
|
bl ov00_0220C03C
|
|
mov r0, r6
|
|
bl ov00_0220E7F8
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end ov00_0220E86C
|
|
|
|
arm_func_start ov00_0220E8E0
|
|
ov00_0220E8E0: ; 0x0220E8E0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r1
|
|
add r3, sp, #0
|
|
mov r1, #1
|
|
mov r2, #0x27
|
|
mov r5, r0
|
|
bl ov00_0220E734
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
mov r1, r4
|
|
add r0, r5, #0x50
|
|
mov r2, #0x20
|
|
bl ov00_0220C03C
|
|
mov r0, r5
|
|
bl ov00_0220E7F8
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_0220E8E0
|
|
|
|
arm_func_start ov00_0220E940
|
|
ov00_0220E940: ; 0x0220E940
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #4
|
|
mov r5, r1
|
|
mov r4, r2
|
|
add r3, sp, #0
|
|
mov r1, #2
|
|
mov r2, #0x47
|
|
mov r6, r0
|
|
bl ov00_0220E734
|
|
cmp r0, #0
|
|
addeq sp, sp, #4
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
addne sp, sp, #4
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
mov r1, r5
|
|
add r0, r6, #0x50
|
|
mov r2, #0x20
|
|
bl ov00_0220C03C
|
|
mov r1, r4
|
|
add r0, r6, #0x50
|
|
mov r2, #0x20
|
|
bl ov00_0220C03C
|
|
mov r0, r6
|
|
bl ov00_0220E7F8
|
|
cmp r0, #0
|
|
ldrne r1, [r6, #0x88]
|
|
moveq r0, #0
|
|
movne r0, #1
|
|
strne r1, [r6, #0x8c]
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end ov00_0220E940
|
|
|
|
arm_func_start ov00_0220E9CC
|
|
ov00_0220E9CC: ; 0x0220E9CC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r4, r3
|
|
mov r6, r1
|
|
mov r5, r2
|
|
add r3, sp, #0
|
|
add r2, r4, #0x27
|
|
mov r1, #3
|
|
mov r7, r0
|
|
bl ov00_0220E734
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r1, r6
|
|
add r0, r7, #0x50
|
|
mov r2, #0x20
|
|
bl ov00_0220C03C
|
|
mov r1, r5
|
|
mov r2, r4
|
|
add r0, r7, #0x50
|
|
bl ov00_0220C03C
|
|
mov r0, r7
|
|
bl ov00_0220E7F8
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_0220E9CC
|
|
|
|
arm_func_start ov00_0220EA44
|
|
ov00_0220EA44: ; 0x0220EA44
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
add r3, sp, #0
|
|
mov r1, #4
|
|
mov r2, #7
|
|
mov r4, r0
|
|
bl ov00_0220E734
|
|
cmp r0, #0
|
|
addeq sp, sp, #4
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
addne sp, sp, #4
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, r4, pc}
|
|
mov r0, r4
|
|
bl ov00_0220E7F8
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
arm_func_end ov00_0220EA44
|
|
|
|
arm_func_start ov00_0220EAA0
|
|
ov00_0220EAA0: ; 0x0220EAA0
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #4
|
|
mov r4, r2
|
|
mov r5, r1
|
|
add r3, sp, #0
|
|
add r2, r4, #7
|
|
mov r1, #5
|
|
mov r6, r0
|
|
bl ov00_0220E734
|
|
cmp r0, #0
|
|
addeq sp, sp, #4
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
addne sp, sp, #4
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
mov r1, r5
|
|
mov r2, r4
|
|
add r0, r6, #0x50
|
|
bl ov00_0220C03C
|
|
mov r0, r6
|
|
bl ov00_0220E7F8
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end ov00_0220EAA0
|
|
|
|
arm_func_start ov00_0220EB14
|
|
ov00_0220EB14: ; 0x0220EB14
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
add r3, sp, #0
|
|
mov r1, #6
|
|
mov r2, #7
|
|
mov r4, r0
|
|
bl ov00_0220E734
|
|
cmp r0, #0
|
|
addeq sp, sp, #4
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
addne sp, sp, #4
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, r4, pc}
|
|
mov r0, r4
|
|
bl ov00_0220E7F8
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
arm_func_end ov00_0220EB14
|
|
|
|
arm_func_start ov00_0220EB70
|
|
ov00_0220EB70: ; 0x0220EB70
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
mov r1, #7
|
|
add r3, sp, #0
|
|
mov r2, r1
|
|
mov r4, r0
|
|
bl ov00_0220E734
|
|
cmp r0, #0
|
|
addeq sp, sp, #4
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
addne sp, sp, #4
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, r4, pc}
|
|
mov r0, r4
|
|
bl ov00_0220E7F8
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
arm_func_end ov00_0220EB70
|
|
|
|
arm_func_start ov00_0220EBCC
|
|
ov00_0220EBCC: ; 0x0220EBCC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
mov r7, r2
|
|
mov sb, r0
|
|
mov r8, r1
|
|
cmp r7, #2
|
|
blt _0220EBFC
|
|
ldr r1, _0220EC90 ; =_02219CB4
|
|
mov r0, r8
|
|
mov r2, #2
|
|
bl sub_020E5BB0
|
|
cmp r0, #0
|
|
beq _0220EC1C
|
|
_0220EBFC:
|
|
mov r0, sb
|
|
mov r1, r8
|
|
mov r2, r7
|
|
bl ov00_0220CC38
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
movne r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_0220EC1C:
|
|
add r6, r7, #2
|
|
add r0, sb, #0x50
|
|
bl ov00_0220BF70
|
|
cmp r0, r6
|
|
movlt r0, #1
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
ldr r1, _0220EC90 ; =_02219CB4
|
|
add r0, sb, #0x50
|
|
ldr r5, [sb, #0x50]
|
|
ldr r4, [sb, #0x58]
|
|
mov r2, #2
|
|
bl ov00_0220C03C
|
|
mov r1, r8
|
|
mov r2, r7
|
|
add r0, sb, #0x50
|
|
bl ov00_0220C03C
|
|
mov r0, sb
|
|
mov r2, r6
|
|
add r1, r5, r4
|
|
bl ov00_0220CC38
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
mov r2, r6
|
|
add r0, sb, #0x50
|
|
mvn r1, #0
|
|
bl ov00_0220C0C4
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_0220EC90: .word _02219CB4
|
|
arm_func_end ov00_0220EBCC
|
|
|
|
arm_func_start ov00_0220EC94
|
|
ov00_0220EC94: ; 0x0220EC94
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #8
|
|
ldr r1, _0220ECF4 ; =_02219CB4
|
|
mov r4, r0
|
|
ldrb r3, [r1]
|
|
ldrb r2, [r1, #1]
|
|
add r0, sp, #0
|
|
mov r1, #0x64
|
|
strb r1, [sp, #2]
|
|
strb r3, [r0]
|
|
strb r2, [r0, #1]
|
|
ldrh r2, [r4, #0x66]
|
|
mov r1, #3
|
|
bl ov00_0220D338
|
|
add r1, sp, #0
|
|
mov r0, r4
|
|
mov r2, #5
|
|
bl ov00_0220CC38
|
|
cmp r0, #0
|
|
mov r0, #0
|
|
strne r0, [r4, #0x90]
|
|
movne r0, #1
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0220ECF4: .word _02219CB4
|
|
arm_func_end ov00_0220EC94
|
|
|
|
arm_func_start ov00_0220ECF8
|
|
ov00_0220ECF8: ; 0x0220ECF8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #8
|
|
ldr r3, _0220ED80 ; =_02219CB4
|
|
mov r4, r1
|
|
ldrb lr, [r3]
|
|
ldrb ip, [r3, #1]
|
|
mov r5, r0
|
|
add r0, sp, #0
|
|
mov r7, r2
|
|
mov r3, #0x65
|
|
mov r2, r4
|
|
mov r6, #0
|
|
mov r1, #3
|
|
strb lr, [r0]
|
|
strb ip, [r0, #1]
|
|
strb r3, [sp, #2]
|
|
bl ov00_0220D338
|
|
cmp r4, r7
|
|
add r6, r6, #5
|
|
beq _0220ED5C
|
|
add r0, sp, #0
|
|
mov r1, r6
|
|
mov r2, r7
|
|
bl ov00_0220D338
|
|
add r6, r6, #2
|
|
_0220ED5C:
|
|
add r1, sp, #0
|
|
mov r0, r5
|
|
mov r2, r6
|
|
bl ov00_0220CC38
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
movne r0, #1
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220ED80: .word _02219CB4
|
|
arm_func_end ov00_0220ECF8
|
|
|
|
arm_func_start ov00_0220ED84
|
|
ov00_0220ED84: ; 0x0220ED84
|
|
ldr ip, _0220ED94 ; =ov00_0220CC38
|
|
mov r3, #0x67
|
|
strb r3, [r1, #2]
|
|
bx ip
|
|
.align 2, 0
|
|
_0220ED94: .word ov00_0220CC38
|
|
arm_func_end ov00_0220ED84
|
|
|
|
arm_func_start ov00_0220ED98
|
|
ov00_0220ED98: ; 0x0220ED98
|
|
ldr ip, _0220EDB0 ; =ov00_0220EDB4
|
|
mov r1, r0
|
|
ldrh r2, [r1, #4]
|
|
ldr r0, [r1, #8]
|
|
ldr r1, [r1]
|
|
bx ip
|
|
.align 2, 0
|
|
_0220EDB0: .word ov00_0220EDB4
|
|
arm_func_end ov00_0220ED98
|
|
|
|
arm_func_start ov00_0220EDB4
|
|
ov00_0220EDB4: ; 0x0220EDB4
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #8
|
|
ldr lr, _0220EDFC ; =_02219CB4
|
|
mov ip, #0x68
|
|
ldrb r4, [lr]
|
|
ldrb lr, [lr, #1]
|
|
add r3, sp, #4
|
|
strb ip, [sp, #6]
|
|
strb r4, [r3]
|
|
strb lr, [r3, #1]
|
|
mov ip, #3
|
|
str ip, [sp]
|
|
bl ov00_0220F474
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0220EDFC: .word _02219CB4
|
|
arm_func_end ov00_0220EDB4
|
|
|
|
arm_func_start ov00_0220EE00
|
|
ov00_0220EE00: ; 0x0220EE00
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r0
|
|
mov r5, r1
|
|
ldr r1, [r5]
|
|
ldrh r2, [r4, #0x66]
|
|
ldr r0, [r4, #0x50]
|
|
add r1, r1, #5
|
|
bl ov00_0220D338
|
|
ldr r3, [r4, #0x50]
|
|
ldmia r5, {r1, r2}
|
|
mov r0, r4
|
|
add r1, r3, r1
|
|
bl ov00_0220CC38
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, [r4, #0x88]
|
|
str r0, [r5, #0xc]
|
|
ldr r0, [r5]
|
|
ldr r1, [r4, #0x50]
|
|
add r0, r0, #2
|
|
ldrb r0, [r1, r0]
|
|
cmp r0, #2
|
|
ldreq r0, [r4, #0x88]
|
|
streq r0, [r4, #0x8c]
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_0220EE00
|
|
|
|
arm_func_start ov00_0220EE6C
|
|
ov00_0220EE6C: ; 0x0220EE6C
|
|
stmdb sp!, {r3, lr}
|
|
cmp r3, #0
|
|
beq _0220EE80
|
|
bl ov00_0220E86C
|
|
ldmia sp!, {r3, pc}
|
|
_0220EE80:
|
|
bl ov00_0220EBCC
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_0220EE6C
|
|
|
|
arm_func_start ov00_0220EE88
|
|
ov00_0220EE88: ; 0x0220EE88
|
|
stmdb sp!, {r3, lr}
|
|
ldr r2, [r0]
|
|
ldrh r0, [r2, #4]
|
|
ldr r2, [r2]
|
|
mul r0, r2, r0
|
|
bl sub_020F2BA4
|
|
mov r0, r1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_0220EE88
|
|
|
|
arm_func_start ov00_0220EEA8
|
|
ov00_0220EEA8: ; 0x0220EEA8
|
|
ldr r3, [r0]
|
|
ldr r2, [r1]
|
|
ldr r0, [r3]
|
|
ldr r1, [r2]
|
|
cmp r0, r1
|
|
subne r0, r0, r1
|
|
bxne lr
|
|
ldrh r1, [r3, #4]
|
|
ldrh r0, [r2, #4]
|
|
sub r0, r1, r0
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, asr #0x10
|
|
bx lr
|
|
arm_func_end ov00_0220EEA8
|
|
|
|
arm_func_start ov00_0220EEDC
|
|
ov00_0220EEDC: ; 0x0220EEDC
|
|
ldr ip, _0220EEE8 ; =ov00_0220CF14
|
|
ldr r0, [r0]
|
|
bx ip
|
|
.align 2, 0
|
|
_0220EEE8: .word ov00_0220CF14
|
|
arm_func_end ov00_0220EEDC
|
|
|
|
arm_func_start ov00_0220EEEC
|
|
ov00_0220EEEC: ; 0x0220EEEC
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0xa4
|
|
add r3, sp, #4
|
|
str r1, [sp, #4]
|
|
strh r2, [sp, #8]
|
|
str r3, [sp]
|
|
ldr r0, [r0, #0xc]
|
|
add r1, sp, #0
|
|
bl ov00_021FF0C0
|
|
cmp r0, #0
|
|
ldrne r0, [r0]
|
|
moveq r0, #0
|
|
add sp, sp, #0xa4
|
|
ldmia sp!, {pc}
|
|
arm_func_end ov00_0220EEEC
|
|
|
|
arm_func_start ov00_0220EF24
|
|
ov00_0220EF24: ; 0x0220EF24
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x1c
|
|
mov r4, r1
|
|
mov r6, r3
|
|
mov r5, r0
|
|
mov r7, r2
|
|
bl ov00_021FF3CC
|
|
cmp r6, #0
|
|
moveq r6, #0x10000
|
|
cmp r7, #0
|
|
add r1, sp, #0x10
|
|
add r2, sp, #8
|
|
mov r0, r4
|
|
moveq r7, #0x10000
|
|
bl ov00_0220F7D4
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x1c
|
|
moveq r0, #4
|
|
ldmeqia sp!, {r4, r5, r6, r7, pc}
|
|
mov r0, #0x44
|
|
bl ov00_021EC3A8
|
|
movs r4, r0
|
|
addeq sp, sp, #0x1c
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, r5, r6, r7, pc}
|
|
mov r1, #0
|
|
mov r2, #0x44
|
|
bl sub_020E5B44
|
|
mvn r0, #0
|
|
str r0, [r4]
|
|
str r6, [r4, #0x3c]
|
|
ldr r1, [sp, #0x30]
|
|
str r7, [r4, #0x38]
|
|
str r1, [r4, #0x24]
|
|
ldr r0, _0220F138 ; =ov00_0220EEA8
|
|
ldr r3, _0220F13C ; =ov00_0220EE88
|
|
str r0, [sp]
|
|
mov ip, #0
|
|
mov r0, #4
|
|
mov r1, #0x20
|
|
mov r2, #2
|
|
str ip, [sp, #4]
|
|
bl ov00_021FED4C
|
|
str r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0220EFF0
|
|
mov r0, r4
|
|
bl ov00_021EC3D8
|
|
add sp, sp, #0x1c
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_0220EFF0:
|
|
mov r0, #4
|
|
ldr r2, _0220F140 ; =ov00_0220EEDC
|
|
mov r1, r0
|
|
bl ov00_021FE5B4
|
|
str r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
bne _0220F028
|
|
ldr r0, [r4, #0xc]
|
|
bl ov00_021FEE8C
|
|
mov r0, r4
|
|
bl ov00_021EC3D8
|
|
add sp, sp, #0x1c
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_0220F028:
|
|
mov r0, #2
|
|
mov r1, r0
|
|
mov r2, #0
|
|
bl ov00_021FF804
|
|
mvn r1, #0
|
|
str r0, [r4]
|
|
cmp r0, r1
|
|
bne _0220F06C
|
|
ldr r0, [r4, #0xc]
|
|
bl ov00_021FEE8C
|
|
ldr r0, [r4, #0x10]
|
|
bl ov00_021FE678
|
|
mov r0, r4
|
|
bl ov00_021EC3D8
|
|
add sp, sp, #0x1c
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_0220F06C:
|
|
ldrh r0, [sp, #8]
|
|
add r1, sp, #0x14
|
|
mov ip, #0
|
|
mov r2, r0, asr #8
|
|
mov r0, r0, lsl #8
|
|
and r2, r2, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r2, r0
|
|
str ip, [r1]
|
|
mov r2, #2
|
|
strb r2, [sp, #0x15]
|
|
ldr r3, [sp, #0x10]
|
|
str ip, [r1, #4]
|
|
str r3, [sp, #0x18]
|
|
strh r0, [sp, #0x16]
|
|
ldr r0, [r4]
|
|
mov r2, #8
|
|
bl ov00_021FF840
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
bne _0220F0EC
|
|
ldr r0, [r4]
|
|
bl ov00_021FF818
|
|
ldr r0, [r4, #0xc]
|
|
bl ov00_021FEE8C
|
|
ldr r0, [r4, #0x10]
|
|
bl ov00_021FE678
|
|
mov r0, r4
|
|
bl ov00_021EC3D8
|
|
add sp, sp, #0x1c
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_0220F0EC:
|
|
mov r0, #8
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4]
|
|
add r1, sp, #0x14
|
|
add r2, sp, #0xc
|
|
bl ov00_021FFA18
|
|
ldr r1, [sp, #0x18]
|
|
mov r0, #0
|
|
str r1, [r4, #4]
|
|
ldrh r1, [sp, #0x16]
|
|
mov r2, r1, asr #8
|
|
mov r1, r1, lsl #8
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
orr r1, r2, r1
|
|
strh r1, [r4, #8]
|
|
str r4, [r5]
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220F138: .word ov00_0220EEA8
|
|
_0220F13C: .word ov00_0220EE88
|
|
_0220F140: .word ov00_0220EEDC
|
|
arm_func_end ov00_0220EF24
|
|
|
|
arm_func_start ov00_0220F144
|
|
ov00_0220F144: ; 0x0220F144
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x1c]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
strne r0, [r4, #0x14]
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, [r4]
|
|
bl ov00_021FF818
|
|
ldr r0, [r4, #0xc]
|
|
bl ov00_021FEE8C
|
|
ldr r0, [r4, #0x10]
|
|
bl ov00_021FE678
|
|
mov r0, r4
|
|
bl ov00_021EC3D8
|
|
bl ov00_021FF3D0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0220F144
|
|
|
|
arm_func_start ov00_0220F188
|
|
ov00_0220F188: ; 0x0220F188
|
|
str r1, [r0, #0x20]
|
|
bx lr
|
|
arm_func_end ov00_0220F188
|
|
|
|
arm_func_start ov00_0220F190
|
|
ov00_0220F190: ; 0x0220F190
|
|
ldr ip, _0220F19C ; =ov00_021EC3A8
|
|
mov r0, #0xa0
|
|
bx ip
|
|
.align 2, 0
|
|
_0220F19C: .word ov00_021EC3A8
|
|
arm_func_end ov00_0220F190
|
|
|
|
arm_func_start ov00_0220F1A0
|
|
ov00_0220F1A0: ; 0x0220F1A0
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r4, r3
|
|
mov r5, r2
|
|
mov r3, #0
|
|
mov r6, r1
|
|
mov r1, r5
|
|
mov r2, r4
|
|
mov r7, r0
|
|
str r3, [sp]
|
|
bl ov00_0220EEEC
|
|
cmp r0, #0
|
|
movne r0, #5
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
bl ov00_0220F190
|
|
str r0, [sp]
|
|
cmp r0, #0
|
|
beq _0220F330
|
|
mov r1, #0
|
|
mov r2, #0xa0
|
|
bl sub_020E5B44
|
|
ldr r0, [sp]
|
|
str r5, [r0]
|
|
ldr r0, [sp]
|
|
strh r4, [r0, #4]
|
|
ldr r0, [sp]
|
|
str r7, [r0, #8]
|
|
bl ov00_021FF368
|
|
ldr r2, [sp]
|
|
mov r1, #0
|
|
str r0, [r2, #0x1c]
|
|
ldr r2, [sp]
|
|
ldr r0, [r2, #0x1c]
|
|
str r0, [r2, #0x88]
|
|
ldr r0, [sp]
|
|
strh r1, [r0, #0x64]
|
|
ldr r0, [sp]
|
|
strh r1, [r0, #0x66]
|
|
ldr r0, [sp]
|
|
ldr r1, [r7, #0x3c]
|
|
add r0, r0, #0x44
|
|
bl ov00_0220BF44
|
|
cmp r0, #0
|
|
beq _0220F330
|
|
ldr r0, [sp]
|
|
ldr r1, [r7, #0x38]
|
|
add r0, r0, #0x50
|
|
bl ov00_0220BF44
|
|
cmp r0, #0
|
|
beq _0220F330
|
|
mov r0, #0x10
|
|
mov r1, #0x40
|
|
mov r2, #0
|
|
bl ov00_021FE5B4
|
|
ldr r1, [sp]
|
|
str r0, [r1, #0x5c]
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, #0x5c]
|
|
cmp r0, #0
|
|
beq _0220F330
|
|
mov r0, #0x10
|
|
mov r1, #0x40
|
|
mov r2, #0
|
|
bl ov00_021FE5B4
|
|
ldr r1, [sp]
|
|
str r0, [r1, #0x60]
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, #0x60]
|
|
cmp r0, #0
|
|
beq _0220F330
|
|
mov r0, #4
|
|
mov r1, #2
|
|
mov r2, #0
|
|
bl ov00_021FE5B4
|
|
ldr r1, [sp]
|
|
str r0, [r1, #0x98]
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, #0x98]
|
|
cmp r0, #0
|
|
beq _0220F330
|
|
mov r0, #4
|
|
mov r1, #2
|
|
mov r2, #0
|
|
bl ov00_021FE5B4
|
|
ldr r1, [sp]
|
|
str r0, [r1, #0x9c]
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, #0x9c]
|
|
cmp r0, #0
|
|
beq _0220F330
|
|
ldr r0, [r7, #0xc]
|
|
add r1, sp, #0
|
|
bl ov00_021FEF74
|
|
mov r0, r7
|
|
mov r1, r5
|
|
mov r2, r4
|
|
bl ov00_0220EEEC
|
|
str r0, [r6]
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220F330:
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
beq _0220F3A8
|
|
ldr r0, [r0, #0x44]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, #0x50]
|
|
bl ov00_021EC3D8
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, #0x5c]
|
|
cmp r0, #0
|
|
beq _0220F364
|
|
bl ov00_021FE678
|
|
_0220F364:
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, #0x60]
|
|
cmp r0, #0
|
|
beq _0220F378
|
|
bl ov00_021FE678
|
|
_0220F378:
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, #0x98]
|
|
cmp r0, #0
|
|
beq _0220F38C
|
|
bl ov00_021FE678
|
|
_0220F38C:
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, #0x9c]
|
|
cmp r0, #0
|
|
beq _0220F3A0
|
|
bl ov00_021FE678
|
|
_0220F3A0:
|
|
ldr r0, [sp]
|
|
bl ov00_021EC3D8
|
|
_0220F3A8:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_0220F1A0
|
|
|
|
arm_func_start ov00_0220F3B0
|
|
ov00_0220F3B0: ; 0x0220F3B0
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r1, [sp, #0x10]
|
|
ldr r0, [r1, #0x14]
|
|
cmp r0, #0
|
|
ldreq r0, [r1, #0x24]
|
|
cmpeq r0, #0
|
|
ldmneia sp!, {r4, r5, r6, lr}
|
|
addne sp, sp, #0x10
|
|
bxne lr
|
|
ldr r0, [r1, #0xc]
|
|
cmp r0, #7
|
|
ldr r0, [r1, #8]
|
|
bne _0220F45C
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_021FE6E4
|
|
mov r4, r0
|
|
mov r5, #0
|
|
cmp r4, #0
|
|
ldmleia sp!, {r4, r5, r6, lr}
|
|
addle sp, sp, #0x10
|
|
bxle lr
|
|
_0220F408:
|
|
ldr r6, [sp, #0x10]
|
|
mov r1, r5
|
|
ldr r0, [r6, #8]
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_021FE6EC
|
|
ldr r0, [r0]
|
|
cmp r6, r0
|
|
bne _0220F444
|
|
ldr r0, [r6, #8]
|
|
mov r1, r5
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_021FE968
|
|
ldmia sp!, {r4, r5, r6, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
_0220F444:
|
|
add r5, r5, #1
|
|
cmp r5, r4
|
|
blt _0220F408
|
|
ldmia sp!, {r4, r5, r6, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
_0220F45C:
|
|
ldr r0, [r0, #0xc]
|
|
add r1, sp, #0x10
|
|
bl ov00_021FF01C
|
|
ldmia sp!, {r4, r5, r6, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
arm_func_end ov00_0220F3B0
|
|
|
|
arm_func_start ov00_0220F474
|
|
ov00_0220F474: ; 0x0220F474
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x18
|
|
mov r6, r0
|
|
mov r5, r1
|
|
add r0, sp, #0x34
|
|
add r1, sp, #0x38
|
|
mov r4, r2
|
|
bl ov00_0220F958
|
|
ldr r0, [r6]
|
|
bl ov00_021FF6BC
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x18
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, r5, r6, lr}
|
|
addeq sp, sp, #0x10
|
|
bxeq lr
|
|
mov r1, r4, asr #8
|
|
mov r0, r4, lsl #8
|
|
add r2, sp, #0x10
|
|
mov r3, #0
|
|
str r3, [r2, #4]
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
str r3, [r2]
|
|
mov r1, #2
|
|
strh r0, [sp, #0x12]
|
|
strb r1, [sp, #0x11]
|
|
str r5, [sp, #0x14]
|
|
str r2, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
ldr r0, [r6]
|
|
ldr r1, [sp, #0x34]
|
|
ldr r2, [sp, #0x38]
|
|
bl ov00_021FF984
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
bne _0220F5A0
|
|
ldr r0, [r6]
|
|
bl ov00_021FFA60
|
|
mvn r2, #0xe
|
|
cmp r0, r2
|
|
bne _0220F554
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r2, r4
|
|
bl ov00_0220E490
|
|
cmp r0, #0
|
|
bne _0220F608
|
|
add sp, sp, #0x18
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
_0220F554:
|
|
sub r1, r2, #0x1b
|
|
cmp r0, r1
|
|
addne r1, r2, #9
|
|
cmpne r0, r1
|
|
addeq sp, sp, #0x18
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, r5, r6, lr}
|
|
addeq sp, sp, #0x10
|
|
bxeq lr
|
|
sub r1, r2, #0x14
|
|
cmp r0, r1
|
|
beq _0220F608
|
|
mov r0, r6
|
|
bl ov00_0220F6E8
|
|
add sp, sp, #0x18
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
_0220F5A0:
|
|
ldr r0, [r6, #0x28]
|
|
cmp r0, #0
|
|
beq _0220F608
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r2, r4
|
|
bl ov00_0220EEEC
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldr r2, [sp, #0x34]
|
|
mov r1, r0
|
|
str r2, [sp, #4]
|
|
ldr ip, [sp, #0x38]
|
|
mov r3, r4
|
|
mov r0, r6
|
|
mov r2, r5
|
|
str ip, [sp, #8]
|
|
mov r4, #1
|
|
str r4, [sp, #0xc]
|
|
bl ov00_0220C860
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x18
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, lr}
|
|
addeq sp, sp, #0x10
|
|
bxeq lr
|
|
_0220F608:
|
|
mov r0, #1
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r4, r5, r6, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
arm_func_end ov00_0220F474
|
|
|
|
arm_func_start ov00_0220F61C
|
|
ov00_0220F61C: ; 0x0220F61C
|
|
stmdb sp!, {r4, lr}
|
|
ldr r4, [r0]
|
|
ldr r1, [r1]
|
|
ldr r0, [r4, #0xc]
|
|
cmp r0, #7
|
|
beq _0220F648
|
|
mov r0, r4
|
|
bl ov00_0220CE00
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
_0220F648:
|
|
ldr r0, [r4, #0xc]
|
|
cmp r0, #7
|
|
ldreq r0, [r4, #0x14]
|
|
cmpeq r0, #0
|
|
ldreq r0, [r4, #0x24]
|
|
cmpeq r0, #0
|
|
bne _0220F66C
|
|
mov r0, r4
|
|
bl ov00_0220F3B0
|
|
_0220F66C:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0220F61C
|
|
|
|
arm_func_start ov00_0220F674
|
|
ov00_0220F674: ; 0x0220F674
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
mov r4, r0
|
|
bl ov00_021FF368
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, _0220F6AC ; =ov00_0220F61C
|
|
add r2, sp, #0
|
|
bl ov00_021FF264
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
_0220F6AC: .word ov00_0220F61C
|
|
arm_func_end ov00_0220F674
|
|
|
|
arm_func_start ov00_0220F6B0
|
|
ov00_0220F6B0: ; 0x0220F6B0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r0, [r5, #0x10]
|
|
bl ov00_021FE6E4
|
|
subs r4, r0, #1
|
|
ldmmiia sp!, {r3, r4, r5, pc}
|
|
_0220F6C8:
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, r4
|
|
bl ov00_021FE6EC
|
|
ldr r0, [r0]
|
|
bl ov00_0220F3B0
|
|
subs r4, r4, #1
|
|
bpl _0220F6C8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_0220F6B0
|
|
|
|
arm_func_start ov00_0220F6E8
|
|
ov00_0220F6E8: ; 0x0220F6E8
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r1, [r4, #0x18]
|
|
cmp r1, #0
|
|
ldmneia sp!, {r4, pc}
|
|
mov r1, #1
|
|
str r1, [r4, #0x18]
|
|
bl ov00_0220D238
|
|
mov r0, r4
|
|
bl ov00_0220C164
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
bl ov00_0220F144
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0220F6E8
|
|
|
|
arm_func_start ov00_0220F724
|
|
ov00_0220F724: ; 0x0220F724
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
movs r4, r2
|
|
mov r5, r1
|
|
bne _0220F750
|
|
ldr r2, _0220F7C0 ; =_0221B634
|
|
ldr r3, _0220F7C4 ; =_0221B638
|
|
ldr ip, [r2]
|
|
mov r1, #0x16
|
|
eor ip, ip, #1
|
|
mla r4, ip, r1, r3
|
|
str ip, [r2]
|
|
_0220F750:
|
|
cmp r0, #0
|
|
beq _0220F798
|
|
str r0, [sp]
|
|
cmp r5, #0
|
|
beq _0220F780
|
|
bl sub_020A357C
|
|
mov r2, r0
|
|
ldr r1, _0220F7C8 ; =_02219CE4
|
|
mov r0, r4
|
|
mov r3, r5
|
|
bl sub_020E7F30
|
|
b _0220F7B8
|
|
_0220F780:
|
|
bl sub_020A357C
|
|
mov r2, r0
|
|
ldr r1, _0220F7CC ; =_02219CEC
|
|
mov r0, r4
|
|
bl sub_020E7F30
|
|
b _0220F7B8
|
|
_0220F798:
|
|
cmp r5, #0
|
|
moveq r0, #0
|
|
streqb r0, [r4]
|
|
beq _0220F7B8
|
|
ldr r1, _0220F7D0 ; =_02219CF0
|
|
mov r0, r4
|
|
mov r2, r5
|
|
bl sub_020E7F30
|
|
_0220F7B8:
|
|
mov r0, r4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0220F7C0: .word _0221B634
|
|
_0220F7C4: .word _0221B638
|
|
_0220F7C8: .word _02219CE4
|
|
_0220F7CC: .word _02219CEC
|
|
_0220F7D0: .word _02219CF0
|
|
arm_func_end ov00_0220F724
|
|
|
|
arm_func_start ov00_0220F7D4
|
|
ov00_0220F7D4: ; 0x0220F7D4
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x104
|
|
movs r8, r0
|
|
mov r7, r1
|
|
ldrnesb r1, [r8]
|
|
mov r6, r2
|
|
cmpne r1, #0
|
|
moveq r4, #0
|
|
moveq r5, r4
|
|
beq _0220F928
|
|
mov r1, #0x3a
|
|
bl sub_020E987C
|
|
movs r5, r0
|
|
moveq r5, #0
|
|
beq _0220F8E4
|
|
cmp r5, r8
|
|
moveq r8, #0
|
|
moveq r4, r8
|
|
beq _0220F85C
|
|
sub sb, r5, r8
|
|
cmp sb, #0x100
|
|
blt _0220F840
|
|
ldr r0, _0220F944 ; =_02219CF4
|
|
ldr r1, _0220F948 ; =_02219D14
|
|
ldr r2, _0220F94C ; =_02219CD0
|
|
mov r3, #0x81
|
|
bl sub_020E4A9C
|
|
_0220F840:
|
|
add r0, sp, #0
|
|
mov r1, r8
|
|
mov r2, sb
|
|
bl sub_020E5AD8
|
|
add r8, sp, #0
|
|
mov r0, #0
|
|
strb r0, [r8, sb]
|
|
_0220F85C:
|
|
ldrsb r0, [r5, #1]
|
|
add r3, r5, #1
|
|
cmp r0, #0
|
|
beq _0220F8B4
|
|
ldr r1, _0220F950 ; =0x0210E504
|
|
mov r2, #0
|
|
_0220F874:
|
|
cmp r0, #0
|
|
blt _0220F884
|
|
cmp r0, #0x80
|
|
blt _0220F88C
|
|
_0220F884:
|
|
mov r0, r2
|
|
b _0220F898
|
|
_0220F88C:
|
|
mov r0, r0, lsl #1
|
|
ldrh r0, [r1, r0]
|
|
and r0, r0, #8
|
|
_0220F898:
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x104
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
ldrsb r0, [r3, #1]!
|
|
cmp r0, #0
|
|
bne _0220F874
|
|
_0220F8B4:
|
|
add r0, r5, #1
|
|
bl sub_020EB82C
|
|
cmp r0, #0
|
|
blt _0220F8D0
|
|
ldr r1, _0220F954 ; =0x0000FFFF
|
|
cmp r0, r1
|
|
ble _0220F8DC
|
|
_0220F8D0:
|
|
add sp, sp, #0x104
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
_0220F8DC:
|
|
mov r0, r0, lsl #0x10
|
|
mov r5, r0, lsr #0x10
|
|
_0220F8E4:
|
|
cmp r8, #0
|
|
beq _0220F928
|
|
mov r0, r8
|
|
bl ov00_021FFA44
|
|
mov r4, r0
|
|
mvn r0, #0
|
|
cmp r4, r0
|
|
bne _0220F928
|
|
mov r0, r8
|
|
bl sub_020A30D4
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x104
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
ldr r0, [r0, #0xc]
|
|
ldr r0, [r0]
|
|
ldr r4, [r0]
|
|
_0220F928:
|
|
cmp r7, #0
|
|
strne r4, [r7]
|
|
cmp r6, #0
|
|
strneh r5, [r6]
|
|
mov r0, #1
|
|
add sp, sp, #0x104
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_0220F944: .word _02219CF4
|
|
_0220F948: .word _02219D14
|
|
_0220F94C: .word _02219CD0
|
|
_0220F950: .word 0x0210E504
|
|
_0220F954: .word 0x0000FFFF
|
|
arm_func_end ov00_0220F7D4
|
|
|
|
arm_func_start ov00_0220F958
|
|
ov00_0220F958: ; 0x0220F958
|
|
stmdb sp!, {r4, lr}
|
|
ldr r2, [r0]
|
|
mov r4, r1
|
|
cmp r2, #0
|
|
bne _0220F980
|
|
ldr r2, _0220F9A4 ; =_02219D24
|
|
mov r1, #0
|
|
str r2, [r0]
|
|
str r1, [r4]
|
|
ldmia sp!, {r4, pc}
|
|
_0220F980:
|
|
ldr r1, [r4]
|
|
mvn r0, #0
|
|
cmp r1, r0
|
|
ldmneia sp!, {r4, pc}
|
|
mov r0, r2
|
|
bl sub_020E9580
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0220F9A4: .word _02219D24
|
|
arm_func_end ov00_0220F958
|
|
|
|
arm_func_start ov00_0220F9A8
|
|
ov00_0220F9A8: ; 0x0220F9A8
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r1, _0220FA0C ; =_0221B664
|
|
mov r6, r0
|
|
ldr r0, [r1, #0x10]
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
mov r5, #0
|
|
bl ov00_021FE6E4
|
|
cmp r0, #0
|
|
ble _0220FA04
|
|
ldr r4, _0220FA0C ; =_0221B664
|
|
_0220F9D8:
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, r5
|
|
bl ov00_021FE6EC
|
|
ldr r1, [r0, #8]
|
|
cmp r1, r6
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r0, [r4, #0x10]
|
|
add r5, r5, #1
|
|
bl ov00_021FE6E4
|
|
cmp r5, r0
|
|
blt _0220F9D8
|
|
_0220FA04:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0220FA0C: .word _0221B664
|
|
arm_func_end ov00_0220F9A8
|
|
|
|
arm_func_start ov00_0220FA10
|
|
ov00_0220FA10: ; 0x0220FA10
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4]
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
beq _0220FA2C
|
|
bl ov00_021FF818
|
|
_0220FA2C:
|
|
mvn r0, #0
|
|
str r0, [r4]
|
|
mov r0, #4
|
|
str r0, [r4, #0x10]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0220FA10
|
|
|
|
arm_func_start ov00_0220FA40
|
|
ov00_0220FA40: ; 0x0220FA40
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #0x40
|
|
mov r0, #0
|
|
add r3, sp, #0
|
|
mov r1, r0
|
|
stmia r3!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r2, _0220FAD0 ; =_0221B664
|
|
stmia r3!, {r0, r1}
|
|
ldr r2, [r2, #0x10]
|
|
stmia r3, {r0, r1}
|
|
cmp r2, #0
|
|
bne _0220FA9C
|
|
ldr r2, _0220FAD4 ; =ov00_0220FA10
|
|
mov r0, #0x40
|
|
mov r1, #4
|
|
bl ov00_021FE5B4
|
|
ldr r1, _0220FAD0 ; =_0221B664
|
|
str r0, [r1, #0x10]
|
|
_0220FA9C:
|
|
ldr r0, _0220FAD0 ; =_0221B664
|
|
add r1, sp, #0
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_021FE754
|
|
ldr r0, _0220FAD0 ; =_0221B664
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_021FE6E4
|
|
ldr r2, _0220FAD0 ; =_0221B664
|
|
sub r1, r0, #1
|
|
ldr r0, [r2, #0x10]
|
|
bl ov00_021FE6EC
|
|
add sp, sp, #0x40
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0220FAD0: .word _0221B664
|
|
_0220FAD4: .word ov00_0220FA10
|
|
arm_func_end ov00_0220FA40
|
|
|
|
arm_func_start ov00_0220FAD8
|
|
ov00_0220FAD8: ; 0x0220FAD8
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r1, _0220FB3C ; =_0221B664
|
|
mov r6, r0
|
|
ldr r0, [r1, #0x10]
|
|
mov r5, #0
|
|
bl ov00_021FE6E4
|
|
cmp r0, #0
|
|
ldmleia sp!, {r4, r5, r6, pc}
|
|
ldr r4, _0220FB3C ; =_0221B664
|
|
_0220FAFC:
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, r5
|
|
bl ov00_021FE6EC
|
|
cmp r6, r0
|
|
bne _0220FB24
|
|
ldr r0, _0220FB3C ; =_0221B664
|
|
mov r1, r5
|
|
ldr r0, [r0, #0x10]
|
|
bl ov00_021FE8D8
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0220FB24:
|
|
ldr r0, [r4, #0x10]
|
|
add r5, r5, #1
|
|
bl ov00_021FE6E4
|
|
cmp r5, r0
|
|
blt _0220FAFC
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0220FB3C: .word _0221B664
|
|
arm_func_end ov00_0220FAD8
|
|
|
|
arm_func_start ov00_0220FB40
|
|
ov00_0220FB40: ; 0x0220FB40
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0220FB68 ; =_0221B664
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_021FE678
|
|
ldr r0, _0220FB68 ; =_0221B664
|
|
mov r1, #0
|
|
str r1, [r0, #0x10]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0220FB68: .word _0221B664
|
|
arm_func_end ov00_0220FB40
|
|
|
|
arm_func_start ov00_0220FB6C
|
|
ov00_0220FB6C: ; 0x0220FB6C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _0220FB8C ; =_02219D28
|
|
mov r2, #6
|
|
bl sub_020E5BB0
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0220FB8C: .word _02219D28
|
|
arm_func_end ov00_0220FB6C
|
|
|
|
arm_func_start ov00_0220FB90
|
|
ov00_0220FB90: ; 0x0220FB90
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #0x10
|
|
mov ip, r2, asr #8
|
|
mov r2, r2, lsl #8
|
|
str r1, [sp, #0xc]
|
|
mov r1, r3
|
|
and r3, ip, #0xff
|
|
and r2, r2, #0xff00
|
|
orr r2, r3, r2
|
|
mov lr, #2
|
|
strh r2, [sp, #0xa]
|
|
add r3, sp, #8
|
|
strb lr, [sp, #9]
|
|
str r3, [sp]
|
|
mov ip, #8
|
|
ldr r2, [sp, #0x18]
|
|
mov r3, #0
|
|
str ip, [sp, #4]
|
|
bl ov00_021FF984
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_0220FB90
|
|
|
|
arm_func_start ov00_0220FBE4
|
|
ov00_0220FBE4: ; 0x0220FBE4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, #0
|
|
bl ov00_021FF6E4
|
|
movs r6, r0
|
|
moveq r0, r7
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r4, _0220FC44 ; =0x0100007F
|
|
mov r5, r7
|
|
_0220FC04:
|
|
ldr r0, [r6, #0xc]
|
|
ldr r0, [r0, r5, lsl #2]
|
|
cmp r0, #0
|
|
beq _0220FC3C
|
|
ldr r1, [r0]
|
|
cmp r1, r4
|
|
beq _0220FC34
|
|
mov r7, r1
|
|
bl ov00_021FF770
|
|
cmp r0, #0
|
|
movne r0, r7
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0220FC34:
|
|
add r5, r5, #1
|
|
b _0220FC04
|
|
_0220FC3C:
|
|
mov r0, r7
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0220FC44: .word 0x0100007F
|
|
arm_func_end ov00_0220FBE4
|
|
|
|
arm_func_start ov00_0220FC48
|
|
ov00_0220FC48: ; 0x0220FC48
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0xc
|
|
mov r3, #8
|
|
add r1, sp, #4
|
|
add r2, sp, #0
|
|
str r3, [sp]
|
|
bl ov00_021FFA18
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
moveq r0, #0
|
|
ldrneh r0, [sp, #6]
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {pc}
|
|
arm_func_end ov00_0220FC48
|
|
|
|
arm_func_start ov00_0220FC7C
|
|
ov00_0220FC7C: ; 0x0220FC7C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x5c
|
|
ldr r2, _0220FEB4 ; =_02219D28
|
|
mov r1, #0
|
|
ldrb lr, [r2]
|
|
ldrb ip, [r2, #1]
|
|
add r5, sp, #4
|
|
ldrb r8, [r2, #2]
|
|
ldrb r7, [r2, #3]
|
|
ldrb r4, [r2, #4]
|
|
ldrb r3, [r2, #5]
|
|
mov r2, #2
|
|
mov r6, r0
|
|
strb lr, [r5]
|
|
strb ip, [r5, #1]
|
|
strb r8, [r5, #2]
|
|
strb r7, [r5, #3]
|
|
strb r4, [r5, #4]
|
|
strb r3, [r5, #5]
|
|
strb r1, [r5, #7]
|
|
strb r2, [r5, #6]
|
|
ldr r2, [r6, #0xc]
|
|
sub r0, r1, #1
|
|
strb r2, [r5, #0xd]
|
|
ldr r7, [r6, #8]
|
|
mov r3, r7, lsr #0x18
|
|
mov r2, r7, lsr #8
|
|
mov r4, r7, lsl #8
|
|
and r3, r3, #0xff
|
|
and r2, r2, #0xff00
|
|
mov r7, r7, lsl #0x18
|
|
orr r2, r3, r2
|
|
and r4, r4, #0xff0000
|
|
and r3, r7, #0xff000000
|
|
orr r2, r4, r2
|
|
orr r2, r3, r2
|
|
str r2, [r5, #8]
|
|
ldr r2, [r6, #4]
|
|
cmp r2, r0
|
|
movne r1, #1
|
|
strb r1, [r5, #0xe]
|
|
bl ov00_0220FBE4
|
|
mov r7, r0
|
|
bl ov00_0220FBE4
|
|
mov r8, r0
|
|
bl ov00_0220FBE4
|
|
mov r4, r0
|
|
bl ov00_0220FBE4
|
|
mov r2, #0
|
|
mov r1, r7, lsl #0x18
|
|
and r7, r1, #0xff000000
|
|
mov r1, r8, lsl #8
|
|
mov r0, r0, lsr #8
|
|
and r3, r1, #0xff0000
|
|
mov r1, r4, lsr #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
orr r0, r3, r0
|
|
orr r3, r7, r0
|
|
mov r1, r3, lsr #0x18
|
|
strb r1, [sp, #0x13]
|
|
mov r1, r3, lsr #8
|
|
mov r0, r3, lsr #0x10
|
|
strb r1, [sp, #0x15]
|
|
strb r0, [sp, #0x14]
|
|
ldr r1, _0220FEB8 ; =_0221B16C
|
|
add r0, sp, #0x19
|
|
strb r3, [sp, #0x16]
|
|
strb r2, [sp, #0x17]
|
|
strb r2, [sp, #0x18]
|
|
bl sub_020E959C
|
|
ldr r0, _0220FEB8 ; =_0221B16C
|
|
bl sub_020E9580
|
|
ldrb r1, [r5, #0xe]
|
|
add r4, r0, #0x16
|
|
cmp r1, #0
|
|
beq _0220FDE4
|
|
ldr r0, [r6, #0x14]
|
|
cmp r0, #0
|
|
bne _0220FDE4
|
|
mov r0, #0
|
|
strb r0, [r5, #0xc]
|
|
str r4, [sp]
|
|
ldr r1, _0220FEBC ; =_0221B664
|
|
ldr r0, [r6, #4]
|
|
ldr r1, [r1, #0xc]
|
|
ldr r2, _0220FEC0 ; =0x00006CFD
|
|
mov r3, r5
|
|
bl ov00_0220FB90
|
|
_0220FDE4:
|
|
ldr r0, [r6, #0x18]
|
|
cmp r0, #0
|
|
bne _0220FE14
|
|
mov r0, #1
|
|
strb r0, [r5, #0xc]
|
|
str r4, [sp]
|
|
ldr r1, _0220FEBC ; =_0221B664
|
|
ldr r0, [r6]
|
|
ldr r1, [r1, #0xc]
|
|
ldr r2, _0220FEC0 ; =0x00006CFD
|
|
mov r3, r5
|
|
bl ov00_0220FB90
|
|
_0220FE14:
|
|
ldrb r0, [r5, #0xe]
|
|
cmp r0, #0
|
|
ldrne r8, [r6, #4]
|
|
ldreq r8, [r6]
|
|
cmp r0, #0
|
|
ldrne r0, [r6, #4]
|
|
ldreq r0, [r6]
|
|
bl ov00_0220FC48
|
|
mov r7, r0
|
|
mov r0, r8
|
|
bl ov00_0220FC48
|
|
mov r1, r7, asr #8
|
|
mov r0, r0, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
mov r0, r0, lsl #0x10
|
|
mov r1, r0, lsr #0x10
|
|
mov r0, r1, asr #8
|
|
strb r1, [sp, #0x18]
|
|
strb r0, [sp, #0x17]
|
|
ldr r0, [r6, #0x1c]
|
|
cmp r0, #0
|
|
bne _0220FE98
|
|
mov r0, #2
|
|
strb r0, [r5, #0xc]
|
|
str r4, [sp]
|
|
ldr r1, _0220FEBC ; =_0221B664
|
|
ldr r0, [r6]
|
|
ldr r1, [r1, #8]
|
|
ldr r2, _0220FEC0 ; =0x00006CFD
|
|
mov r3, r5
|
|
bl ov00_0220FB90
|
|
_0220FE98:
|
|
bl ov00_021FF368
|
|
add r0, r0, #0x1f4
|
|
str r0, [r6, #0x28]
|
|
mov r0, #0x1e
|
|
str r0, [r6, #0x24]
|
|
add sp, sp, #0x5c
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_0220FEB4: .word _02219D28
|
|
_0220FEB8: .word _0221B16C
|
|
_0220FEBC: .word _0221B664
|
|
_0220FEC0: .word 0x00006CFD
|
|
arm_func_end ov00_0220FC7C
|
|
|
|
arm_func_start ov00_0220FEC4
|
|
ov00_0220FEC4: ; 0x0220FEC4
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x18
|
|
ldr r1, _0220FFE0 ; =_02219D28
|
|
mov r2, #2
|
|
ldrb r7, [r1]
|
|
ldrb r6, [r1, #1]
|
|
add r8, sp, #4
|
|
ldrb r5, [r1, #2]
|
|
ldrb lr, [r1, #3]
|
|
ldrb ip, [r1, #4]
|
|
ldrb r3, [r1, #5]
|
|
mov r1, #7
|
|
mov r4, r0
|
|
strb r7, [r8]
|
|
strb r6, [r8, #1]
|
|
strb r5, [r8, #2]
|
|
strb lr, [r8, #3]
|
|
strb ip, [r8, #4]
|
|
strb r2, [sp, #0xa]
|
|
strb r1, [sp, #0xb]
|
|
strb r3, [r8, #5]
|
|
ldr r3, [r4, #8]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
mov r3, r3, lsl #0x18
|
|
orr r0, r1, r0
|
|
and r2, r2, #0xff0000
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x2c]
|
|
add r3, sp, #4
|
|
str r0, [sp, #0x10]
|
|
ldrh r0, [r4, #0x30]
|
|
mov r1, r0, asr #8
|
|
mov r0, r0, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
strh r0, [sp, #0x14]
|
|
ldrb r0, [r4, #0x32]
|
|
mvn r1, #0
|
|
strb r0, [sp, #0x16]
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #2
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
strb r0, [sp, #0x17]
|
|
ldr r0, [r4, #4]
|
|
cmp r0, r1
|
|
ldreq r0, [r4]
|
|
mov r1, #0x14
|
|
str r1, [sp]
|
|
ldrh r2, [r4, #0x30]
|
|
ldr r1, [r4, #0x2c]
|
|
bl ov00_0220FB90
|
|
bl ov00_021FF368
|
|
add r0, r0, #0x2bc
|
|
str r0, [r4, #0x28]
|
|
mov r0, #0xc
|
|
str r0, [r4, #0x24]
|
|
ldrb r0, [r4, #0x32]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
strneb r0, [r4, #0x33]
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_0220FFE0: .word _02219D28
|
|
arm_func_end ov00_0220FEC4
|
|
|
|
arm_func_start ov00_0220FFE4
|
|
ov00_0220FFE4: ; 0x0220FFE4
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov00_021FFA44
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
ldmneia sp!, {r4, pc}
|
|
mov r0, r4
|
|
bl sub_020A30D4
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldrne r0, [r0, #0xc]
|
|
ldrne r0, [r0]
|
|
ldrne r0, [r0]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0220FFE4
|
|
|
|
arm_func_start ov00_0221001C
|
|
ov00_0221001C: ; 0x0221001C
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0x84
|
|
cmp r0, #0
|
|
bne _02210048
|
|
ldr r2, _02210054 ; =_02219D30
|
|
str r1, [sp]
|
|
ldr r3, _02210058 ; =_0221B16C
|
|
add r0, sp, #4
|
|
mov r1, #0x80
|
|
bl sub_020E7F08
|
|
add r0, sp, #4
|
|
_02210048:
|
|
bl ov00_0220FFE4
|
|
add sp, sp, #0x84
|
|
ldmia sp!, {pc}
|
|
.align 2, 0
|
|
_02210054: .word _02219D30
|
|
_02210058: .word _0221B16C
|
|
arm_func_end ov00_0221001C
|
|
|
|
arm_func_start ov00_0221005C
|
|
ov00_0221005C: ; 0x0221005C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _022100C8 ; =_0221B664
|
|
ldr r1, [r0, #0xc]
|
|
cmp r1, #0
|
|
bne _02210084
|
|
ldr r0, [r0, #4]
|
|
ldr r1, _022100CC ; =_02219D38
|
|
bl ov00_0221001C
|
|
ldr r1, _022100C8 ; =_0221B664
|
|
str r0, [r1, #0xc]
|
|
_02210084:
|
|
ldr r0, _022100C8 ; =_0221B664
|
|
ldr r1, [r0, #8]
|
|
cmp r1, #0
|
|
bne _022100A8
|
|
ldr r0, [r0]
|
|
ldr r1, _022100D0 ; =_02219D54
|
|
bl ov00_0221001C
|
|
ldr r1, _022100C8 ; =_0221B664
|
|
str r0, [r1, #8]
|
|
_022100A8:
|
|
ldr r0, _022100C8 ; =_0221B664
|
|
ldr r1, [r0, #0xc]
|
|
cmp r1, #0
|
|
ldrne r0, [r0, #8]
|
|
cmpne r0, #0
|
|
moveq r0, #0
|
|
movne r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_022100C8: .word _0221B664
|
|
_022100CC: .word _02219D38
|
|
_022100D0: .word _02219D54
|
|
arm_func_end ov00_0221005C
|
|
|
|
arm_func_start ov00_022100D4
|
|
ov00_022100D4: ; 0x022100D4
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
ldr ip, _02210198 ; =_0221B0D0
|
|
mov r8, r0
|
|
ldr r0, [ip]
|
|
mov r7, r1
|
|
cmp r0, #1
|
|
mov r6, r2
|
|
mov r5, r3
|
|
movne r0, #2
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
bl ov00_0221005C
|
|
cmp r0, #0
|
|
moveq r0, #3
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
bl ov00_0220FA40
|
|
movs r4, r0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
str r8, [r4, #4]
|
|
str r6, [r4, #0xc]
|
|
str r7, [r4, #8]
|
|
ldr r1, [sp, #0x18]
|
|
str r5, [r4, #0x34]
|
|
ldr r2, [sp, #0x1c]
|
|
str r1, [r4, #0x38]
|
|
mov r0, #2
|
|
str r2, [r4, #0x3c]
|
|
mov r1, r0
|
|
mov r2, #0
|
|
bl ov00_021FF804
|
|
mov r2, #0
|
|
str r0, [r4]
|
|
str r2, [r4, #0x20]
|
|
strb r2, [r4, #0x32]
|
|
strb r2, [r4, #0x33]
|
|
str r2, [r4, #0x2c]
|
|
strh r2, [r4, #0x30]
|
|
str r2, [r4, #0x24]
|
|
ldr r1, [r4]
|
|
sub r0, r2, #1
|
|
cmp r1, r0
|
|
mov r0, r4
|
|
bne _0221018C
|
|
bl ov00_0220FAD8
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_0221018C:
|
|
bl ov00_0220FC7C
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_02210198: .word _0221B0D0
|
|
arm_func_end ov00_022100D4
|
|
|
|
arm_func_start ov00_0221019C
|
|
ov00_0221019C: ; 0x0221019C
|
|
stmdb sp!, {r4, lr}
|
|
bl ov00_0220F9A8
|
|
movs r4, r0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, [r4]
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
beq _022101C0
|
|
bl ov00_021FF818
|
|
_022101C0:
|
|
mvn r0, #0
|
|
str r0, [r4]
|
|
mov r0, #4
|
|
str r0, [r4, #0x10]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0221019C
|
|
|
|
arm_func_start ov00_022101D4
|
|
ov00_022101D4: ; 0x022101D4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr}
|
|
sub sp, sp, #0x1c
|
|
mov r2, #8
|
|
mov sb, r0
|
|
str r2, [sp, #0x10]
|
|
ldr r1, [sb, #0x10]
|
|
cmp r1, #4
|
|
bne _02210200
|
|
bl ov00_0220FAD8
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_02210200:
|
|
ldr r0, [sb]
|
|
sub r1, r2, #9
|
|
cmp r0, r1
|
|
beq _0221027C
|
|
ldr r6, _022103C0 ; =_0221B678
|
|
add r8, sp, #0x14
|
|
add r7, sp, #0x10
|
|
mov r5, #0x200
|
|
mov r4, #0
|
|
mvn sl, #0
|
|
_02210228:
|
|
bl ov00_021FF694
|
|
cmp r0, #0
|
|
beq _0221027C
|
|
str r8, [sp]
|
|
str r7, [sp, #4]
|
|
ldr r0, [sb]
|
|
mov r1, r6
|
|
mov r2, r5
|
|
mov r3, r4
|
|
bl ov00_021FF940
|
|
mov r1, r0
|
|
cmp r1, sl
|
|
beq _0221027C
|
|
mov r0, r6
|
|
mov r2, r8
|
|
bl ov00_0221075C
|
|
ldr r0, [sb, #0x10]
|
|
cmp r0, #4
|
|
ldrne r0, [sb]
|
|
cmpne r0, sl
|
|
bne _02210228
|
|
_0221027C:
|
|
ldr r0, [sb, #0x10]
|
|
cmp r0, #0
|
|
cmpne r0, #2
|
|
bne _022102F4
|
|
bl ov00_021FF368
|
|
ldr r1, [sb, #0x28]
|
|
cmp r0, r1
|
|
bls _022102F4
|
|
ldr r1, [sb, #0x20]
|
|
ldr r0, [sb, #0x24]
|
|
cmp r1, r0
|
|
ble _022102D0
|
|
mov r0, #2
|
|
ldr r3, [sb, #0x3c]
|
|
ldr r4, [sb, #0x38]
|
|
sub r1, r0, #3
|
|
mov r2, #0
|
|
blx r4
|
|
ldr r0, [sb, #8]
|
|
bl ov00_0221019C
|
|
b _022102F4
|
|
_022102D0:
|
|
add r0, r1, #1
|
|
str r0, [sb, #0x20]
|
|
ldr r0, [sb, #0x10]
|
|
cmp r0, #0
|
|
mov r0, sb
|
|
bne _022102F0
|
|
bl ov00_0220FC7C
|
|
b _022102F4
|
|
_022102F0:
|
|
bl ov00_0220FEC4
|
|
_022102F4:
|
|
ldr r0, [sb, #0x10]
|
|
cmp r0, #3
|
|
bne _02210374
|
|
bl ov00_021FF368
|
|
ldr r1, [sb, #0x28]
|
|
cmp r0, r1
|
|
bls _02210374
|
|
ldr r1, [sb, #4]
|
|
mvn r0, #0
|
|
cmp r1, r0
|
|
bne _0221036C
|
|
mov r0, #2
|
|
strb r0, [sp, #9]
|
|
ldrh r1, [sb, #0x30]
|
|
add r2, sp, #8
|
|
mov r0, #0
|
|
mov r3, r1, asr #8
|
|
mov r1, r1, lsl #8
|
|
and r3, r3, #0xff
|
|
and r1, r1, #0xff00
|
|
orr r1, r3, r1
|
|
strh r1, [sp, #0xa]
|
|
ldr r1, [sb, #0x2c]
|
|
str r1, [sp, #0xc]
|
|
ldr r1, [sb]
|
|
ldr r3, [sb, #0x3c]
|
|
ldr r4, [sb, #0x38]
|
|
blx r4
|
|
mvn r0, #0
|
|
str r0, [sb]
|
|
_0221036C:
|
|
ldr r0, [sb, #8]
|
|
bl ov00_0221019C
|
|
_02210374:
|
|
ldr r0, [sb, #0x10]
|
|
cmp r0, #1
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
|
|
bl ov00_021FF368
|
|
ldr r1, [sb, #0x28]
|
|
cmp r0, r1
|
|
addls sp, sp, #0x1c
|
|
ldmlsia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
|
|
mov r0, #1
|
|
ldr r3, [sb, #0x3c]
|
|
ldr r4, [sb, #0x38]
|
|
sub r1, r0, #2
|
|
mov r2, #0
|
|
blx r4
|
|
ldr r0, [sb, #8]
|
|
bl ov00_0221019C
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
_022103C0: .word _0221B678
|
|
arm_func_end ov00_022101D4
|
|
|
|
arm_func_start ov00_022103C4
|
|
ov00_022103C4: ; 0x022103C4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r0, _02210404 ; =_0221B664
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
bl ov00_021FE6E4
|
|
subs r5, r0, #1
|
|
ldmmiia sp!, {r3, r4, r5, pc}
|
|
ldr r4, _02210404 ; =_0221B664
|
|
_022103E8:
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, r5
|
|
bl ov00_021FE6EC
|
|
bl ov00_022101D4
|
|
subs r5, r5, #1
|
|
bpl _022103E8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02210404: .word _0221B664
|
|
arm_func_end ov00_022103C4
|
|
|
|
arm_func_start ov00_02210408
|
|
ov00_02210408: ; 0x02210408
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x1c
|
|
ldr r2, _022104D0 ; =_02219D28
|
|
mov r4, #2
|
|
ldrb r8, [r2]
|
|
ldrb r7, [r2, #1]
|
|
add r3, sp, #4
|
|
ldrb r6, [r2, #2]
|
|
ldrb lr, [r2, #3]
|
|
ldrb ip, [r2, #4]
|
|
ldrb r5, [r2, #5]
|
|
mov r2, #6
|
|
strb r2, [sp, #0xb]
|
|
strb r8, [r3]
|
|
strb r7, [r3, #1]
|
|
strb r6, [r3, #2]
|
|
strb lr, [r3, #3]
|
|
strb ip, [r3, #4]
|
|
strb r5, [r3, #5]
|
|
strb r4, [sp, #0xa]
|
|
ldr r4, [r0, #0xc]
|
|
mov r2, #0x15
|
|
strb r4, [sp, #0x11]
|
|
ldr r5, [r0, #8]
|
|
mov lr, r5, lsr #0x18
|
|
mov ip, r5, lsr #8
|
|
mov r4, r5, lsl #8
|
|
mov r5, r5, lsl #0x18
|
|
and lr, lr, #0xff
|
|
and ip, ip, #0xff00
|
|
and r4, r4, #0xff0000
|
|
orr ip, lr, ip
|
|
and r5, r5, #0xff000000
|
|
orr r4, r4, ip
|
|
orr r4, r5, r4
|
|
str r4, [sp, #0xc]
|
|
ldrh lr, [r1, #2]
|
|
str r2, [sp]
|
|
mov ip, lr, asr #8
|
|
mov r2, lr, lsl #8
|
|
and ip, ip, #0xff
|
|
and r2, r2, #0xff00
|
|
orr r2, ip, r2
|
|
mov r2, r2, lsl #0x10
|
|
ldr r0, [r0]
|
|
ldr r1, [r1, #4]
|
|
mov r2, r2, lsr #0x10
|
|
bl ov00_0220FB90
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_022104D0: .word _02219D28
|
|
arm_func_end ov00_02210408
|
|
|
|
arm_func_start ov00_022104D4
|
|
ov00_022104D4: ; 0x022104D4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r1
|
|
ldrb r1, [r5, #0x13]
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
bne _022104F4
|
|
mov r1, r2
|
|
bl ov00_02210408
|
|
_022104F4:
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #2
|
|
ldmgeia sp!, {r3, r4, r5, pc}
|
|
ldrb r1, [r5, #0x13]
|
|
cmp r1, #0
|
|
beq _02210544
|
|
mov r0, #3
|
|
cmp r1, #1
|
|
moveq r0, #1
|
|
beq _02210524
|
|
cmp r1, #2
|
|
moveq r0, #2
|
|
_02210524:
|
|
ldr r3, [r4, #0x3c]
|
|
ldr ip, [r4, #0x38]
|
|
mvn r1, #0
|
|
mov r2, #0
|
|
blx ip
|
|
ldr r0, [r4, #8]
|
|
bl ov00_0221019C
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02210544:
|
|
ldr r1, [r5, #0xc]
|
|
mov r0, #2
|
|
str r1, [r4, #0x2c]
|
|
ldrh r2, [r5, #0x10]
|
|
mov r1, #0
|
|
mov r3, r2, asr #8
|
|
mov r2, r2, lsl #8
|
|
and r3, r3, #0xff
|
|
and r2, r2, #0xff00
|
|
orr r2, r3, r2
|
|
strh r2, [r4, #0x30]
|
|
str r1, [r4, #0x20]
|
|
str r0, [r4, #0x10]
|
|
ldr r1, [r4, #0x3c]
|
|
ldr r2, [r4, #0x34]
|
|
blx r2
|
|
mov r0, r4
|
|
bl ov00_0220FEC4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_022104D4
|
|
|
|
arm_func_start ov00_02210590
|
|
ov00_02210590: ; 0x02210590
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r3, [r5, #0x10]
|
|
mov r4, r2
|
|
cmp r3, #2
|
|
ldmltia sp!, {r3, r4, r5, pc}
|
|
ldr r3, [r4, #4]
|
|
mov r2, #1
|
|
str r3, [r5, #0x2c]
|
|
ldrh r3, [r4, #2]
|
|
mov ip, r3, asr #8
|
|
mov r3, r3, lsl #8
|
|
and ip, ip, #0xff
|
|
and r3, r3, #0xff00
|
|
orr r3, ip, r3
|
|
strh r3, [r5, #0x30]
|
|
strb r2, [r5, #0x32]
|
|
ldrb r2, [r1, #0x12]
|
|
cmp r2, #0
|
|
bne _022105E8
|
|
bl ov00_0220FEC4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_022105E8:
|
|
ldr r2, [r5, #0x10]
|
|
cmp r2, #2
|
|
bne _02210644
|
|
ldrb r1, [r5, #0x33]
|
|
cmp r1, #0
|
|
bne _02210604
|
|
bl ov00_0220FEC4
|
|
_02210604:
|
|
mov r0, #3
|
|
str r0, [r5, #0x10]
|
|
bl ov00_021FF368
|
|
add r0, r0, #0x388
|
|
add r0, r0, #0x1000
|
|
str r0, [r5, #0x28]
|
|
ldr r1, [r5, #4]
|
|
mvn r0, #0
|
|
cmp r1, r0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r3, [r5, #0x3c]
|
|
ldr r5, [r5, #0x38]
|
|
mov r2, r4
|
|
mov r0, #0
|
|
blx r5
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02210644:
|
|
ldrb r1, [r1, #0x13]
|
|
cmp r1, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
bl ov00_0220FEC4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_02210590
|
|
|
|
arm_func_start ov00_02210658
|
|
ov00_02210658: ; 0x02210658
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
mov r3, r1
|
|
ldrb r1, [r3, #7]
|
|
mov r4, r0
|
|
cmp r1, #1
|
|
beq _02210684
|
|
cmp r1, #2
|
|
beq _02210718
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
_02210684:
|
|
ldrb r0, [r3, #0xc]
|
|
cmp r0, #2
|
|
addhi sp, sp, #4
|
|
ldmhiia sp!, {r3, r4, pc}
|
|
add r0, r4, r0, lsl #2
|
|
mov r2, #1
|
|
str r2, [r0, #0x14]
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
addne sp, sp, #4
|
|
ldmneia sp!, {r3, r4, pc}
|
|
ldr r0, [r4, #0x18]
|
|
cmp r0, #0
|
|
ldrne r0, [r4, #0x1c]
|
|
cmpne r0, #0
|
|
addeq sp, sp, #4
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
ldr r1, [r4, #4]
|
|
sub r0, r2, #2
|
|
cmp r1, r0
|
|
beq _022106E8
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
addeq sp, sp, #4
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
_022106E8:
|
|
mov r0, #1
|
|
str r0, [r4, #0x10]
|
|
bl ov00_021FF368
|
|
add r0, r0, #0x710
|
|
add r0, r0, #0x2000
|
|
str r0, [r4, #0x28]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r1, [r4, #0x3c]
|
|
ldr r2, [r4, #0x34]
|
|
blx r2
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
_02210718:
|
|
mov r0, #3
|
|
strb r0, [r3, #7]
|
|
ldrh r0, [r2, #2]
|
|
mov ip, #0x15
|
|
mov r1, r0, asr #8
|
|
mov r0, r0, lsl #8
|
|
str ip, [sp]
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
mov ip, r0, lsl #0x10
|
|
ldr r1, [r2, #4]
|
|
ldr r0, [r4]
|
|
mov r2, ip, lsr #0x10
|
|
bl ov00_0220FB90
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
arm_func_end ov00_02210658
|
|
|
|
arm_func_start ov00_0221075C
|
|
ov00_0221075C: ; 0x0221075C
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x2c
|
|
mov r6, r0
|
|
mov r7, r1
|
|
mov r5, r2
|
|
bl ov00_0220FB6C
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x2c
|
|
ldmeqia sp!, {r4, r5, r6, r7, pc}
|
|
ldrb r4, [r6, #7]
|
|
cmp r4, #5
|
|
cmpne r4, #7
|
|
bne _0221082C
|
|
cmp r7, #0x14
|
|
addlt sp, sp, #0x2c
|
|
ldmltia sp!, {r4, r5, r6, r7, pc}
|
|
add r3, sp, #0x18
|
|
mov r2, #0xa
|
|
_022107A4:
|
|
ldrb r1, [r6]
|
|
ldrb r0, [r6, #1]
|
|
add r6, r6, #2
|
|
subs r2, r2, #1
|
|
strb r1, [r3]
|
|
strb r0, [r3, #1]
|
|
add r3, r3, #2
|
|
bne _022107A4
|
|
ldr r3, [sp, #0x20]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
mov r3, r3, lsl #0x18
|
|
orr r0, r1, r0
|
|
and r2, r2, #0xff0000
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
bl ov00_0220F9A8
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x2c
|
|
ldmeqia sp!, {r4, r5, r6, r7, pc}
|
|
cmp r4, #5
|
|
add r1, sp, #0x18
|
|
mov r2, r5
|
|
bne _02210820
|
|
bl ov00_022104D4
|
|
add sp, sp, #0x2c
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_02210820:
|
|
bl ov00_02210590
|
|
add sp, sp, #0x2c
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_0221082C:
|
|
cmp r7, #0x15
|
|
addlt sp, sp, #0x2c
|
|
ldmltia sp!, {r4, r5, r6, r7, pc}
|
|
add r3, sp, #0
|
|
mov r2, #0xa
|
|
_02210840:
|
|
ldrb r1, [r6]
|
|
ldrb r0, [r6, #1]
|
|
add r6, r6, #2
|
|
subs r2, r2, #1
|
|
strb r1, [r3]
|
|
strb r0, [r3, #1]
|
|
add r3, r3, #2
|
|
bne _02210840
|
|
ldrb r0, [r6]
|
|
strb r0, [r3]
|
|
ldr r3, [sp, #8]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
mov r3, r3, lsl #0x18
|
|
orr r0, r1, r0
|
|
and r2, r2, #0xff0000
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
bl ov00_0220F9A8
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x2c
|
|
ldmeqia sp!, {r4, r5, r6, r7, pc}
|
|
add r1, sp, #0
|
|
mov r2, r5
|
|
bl ov00_02210658
|
|
add sp, sp, #0x2c
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_0221075C
|
|
|
|
arm_func_start ov00_022108BC
|
|
ov00_022108BC: ; 0x022108BC
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x40
|
|
movs r5, r0
|
|
mov r8, r1
|
|
mov r4, r2
|
|
mov r7, r3
|
|
ldreq r6, _02210A68 ; =_02219D74
|
|
beq _022108EC
|
|
mov r0, #0x110
|
|
bl ov00_021EC3A8
|
|
mov r6, r0
|
|
str r0, [r5]
|
|
_022108EC:
|
|
bl ov00_021FF368
|
|
bl sub_020E80F4
|
|
mov r1, r7
|
|
add r0, r6, #4
|
|
bl sub_020E959C
|
|
ldr r1, [sp, #0x58]
|
|
add r0, r6, #0x44
|
|
bl sub_020E959C
|
|
str r4, [r6, #0xc0]
|
|
mov r5, #0
|
|
str r5, [r6, #0xac]
|
|
str r5, [r6, #0xb0]
|
|
str r8, [r6]
|
|
mov r1, #1
|
|
str r1, [r6, #0xb8]
|
|
ldr r0, [sp, #0x7c]
|
|
ldr r1, [sp, #0x64]
|
|
str r0, [r6, #0x10c]
|
|
str r1, [r6, #0x88]
|
|
ldr r0, [sp, #0x68]
|
|
ldr r1, [sp, #0x6c]
|
|
str r0, [r6, #0x8c]
|
|
str r1, [r6, #0x90]
|
|
ldr r0, [sp, #0x70]
|
|
ldr r1, [sp, #0x74]
|
|
str r0, [r6, #0x94]
|
|
ldr r0, [sp, #0x78]
|
|
str r1, [r6, #0x98]
|
|
str r0, [r6, #0x9c]
|
|
str r5, [r6, #0xa0]
|
|
str r5, [r6, #0xa4]
|
|
ldr r0, [sp, #0x5c]
|
|
str r5, [r6, #0xd4]
|
|
str r0, [r6, #0xbc]
|
|
ldr r0, [sp, #0x60]
|
|
str r5, [r6, #0xc4]
|
|
str r0, [r6, #0xc8]
|
|
str r5, [r6, #0x104]
|
|
add r0, r6, #0x100
|
|
strh r5, [r0, #8]
|
|
str r5, [r6, #0xa8]
|
|
ldr r4, _02210A6C ; =0x80808081
|
|
str r5, [r6, #0xb4]
|
|
mov r8, #0xff
|
|
_0221099C:
|
|
bl sub_020E80C0
|
|
smull r1, r2, r4, r0
|
|
add r3, r6, r5
|
|
add r5, r5, #1
|
|
add r2, r0, r2
|
|
mov r1, r0, lsr #0x1f
|
|
add r2, r1, r2, asr #7
|
|
smull r1, r2, r8, r2
|
|
sub r2, r0, r1
|
|
strb r2, [r3, #0x84]
|
|
cmp r5, #4
|
|
blt _0221099C
|
|
mov r2, #0
|
|
mvn r1, #0
|
|
_022109D4:
|
|
add r0, r6, r2, lsl #2
|
|
add r2, r2, #1
|
|
str r1, [r0, #0xd8]
|
|
cmp r2, #0xa
|
|
blt _022109D4
|
|
mov r1, #0
|
|
ldr r0, _02210A70 ; =_0221B878
|
|
str r1, [r6, #0x100]
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _02210A04
|
|
bl ov00_02210E58
|
|
_02210A04:
|
|
ldr r0, [sp, #0x5c]
|
|
cmp r0, #0
|
|
beq _02210A50
|
|
ldr r0, _02210A74 ; =_0221B890
|
|
ldrsb r4, [r0]
|
|
cmp r4, #0
|
|
bne _02210A30
|
|
ldr r1, _02210A78 ; =_02219E84
|
|
add r0, sp, #0
|
|
mov r2, r7
|
|
bl sub_020E7F30
|
|
_02210A30:
|
|
cmp r4, #0
|
|
ldrne r0, _02210A74 ; =_0221B890
|
|
ldr r1, _02210A7C ; =0x00006CFC
|
|
addeq r0, sp, #0
|
|
add r2, r6, #0xcc
|
|
mov r3, #0
|
|
bl ov00_02210ECC
|
|
b _02210A54
|
|
_02210A50:
|
|
mov r0, #1
|
|
_02210A54:
|
|
cmp r0, #0
|
|
moveq r0, #3
|
|
movne r0, #0
|
|
add sp, sp, #0x40
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_02210A68: .word _02219D74
|
|
_02210A6C: .word 0x80808081
|
|
_02210A70: .word _0221B878
|
|
_02210A74: .word _0221B890
|
|
_02210A78: .word _02219E84
|
|
_02210A7C: .word 0x00006CFC
|
|
arm_func_end ov00_022108BC
|
|
|
|
arm_func_start ov00_02210A80
|
|
ov00_02210A80: ; 0x02210A80
|
|
cmp r0, #0
|
|
ldreq r0, _02210A94 ; =_02219D70
|
|
ldreq r0, [r0]
|
|
str r1, [r0, #0xa0]
|
|
bx lr
|
|
.align 2, 0
|
|
_02210A94: .word _02219D70
|
|
arm_func_end ov00_02210A80
|
|
|
|
arm_func_start ov00_02210A98
|
|
ov00_02210A98: ; 0x02210A98
|
|
cmp r0, #0
|
|
ldreq r0, _02210AAC ; =_02219D70
|
|
ldreq r0, [r0]
|
|
str r1, [r0, #0xa4]
|
|
bx lr
|
|
.align 2, 0
|
|
_02210AAC: .word _02219D70
|
|
arm_func_end ov00_02210A98
|
|
|
|
arm_func_start ov00_02210AB0
|
|
ov00_02210AB0: ; 0x02210AB0
|
|
cmp r0, #0
|
|
ldreq r0, _02210AC4 ; =_02219D70
|
|
ldreq r0, [r0]
|
|
str r1, [r0, #0xa8]
|
|
bx lr
|
|
.align 2, 0
|
|
_02210AC4: .word _02219D70
|
|
arm_func_end ov00_02210AB0
|
|
|
|
arm_func_start ov00_02210AC8
|
|
ov00_02210AC8: ; 0x02210AC8
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
ldreq r0, _02210AF8 ; =_02219D70
|
|
ldreq r4, [r0]
|
|
ldr r0, [r4, #0xbc]
|
|
cmp r0, #0
|
|
beq _02210AEC
|
|
mov r0, r4
|
|
bl ov00_02210BA8
|
|
_02210AEC:
|
|
mov r0, r4
|
|
bl ov00_02210AFC
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02210AF8: .word _02219D70
|
|
arm_func_end ov00_02210AC8
|
|
|
|
arm_func_start ov00_02210AFC
|
|
ov00_02210AFC: ; 0x02210AFC
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x14
|
|
mov r1, #8
|
|
mov sl, r0
|
|
str r1, [sp, #8]
|
|
ldr r0, [sl, #0xc4]
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x14
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r0, [sl]
|
|
bl ov00_021FF694
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x14
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
mov r5, #0
|
|
ldr r7, _02210BA4 ; =_0221B8D0
|
|
add sb, sp, #0xc
|
|
add r8, sp, #8
|
|
mov r6, #0xff
|
|
mov fp, r5
|
|
mvn r4, #0
|
|
_02210B50:
|
|
str sb, [sp]
|
|
str r8, [sp, #4]
|
|
ldr r0, [sl]
|
|
mov r1, r7
|
|
mov r2, r6
|
|
mov r3, fp
|
|
bl ov00_021FF940
|
|
mov r2, r0
|
|
cmp r2, r4
|
|
beq _02210B8C
|
|
mov r0, sl
|
|
mov r1, r7
|
|
mov r3, sb
|
|
strb r5, [r7, r2]
|
|
bl ov00_02211A88
|
|
_02210B8C:
|
|
ldr r0, [sl]
|
|
bl ov00_021FF694
|
|
cmp r0, #0
|
|
bne _02210B50
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02210BA4: .word _0221B8D0
|
|
arm_func_end ov00_02210AFC
|
|
|
|
arm_func_start ov00_02210BA8
|
|
ov00_02210BA8: ; 0x02210BA8
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
bl ov00_021FF368
|
|
ldr r2, [r5]
|
|
mvn r1, #0
|
|
mov r4, r0
|
|
cmp r2, r1
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r2, [r5, #0xb8]
|
|
cmp r2, #0
|
|
ble _02210C2C
|
|
ldr r1, [r5, #0xac]
|
|
ldr r0, _02210CAC ; =0x00002710
|
|
sub r1, r4, r1
|
|
cmp r1, r0
|
|
bls _02210C2C
|
|
cmp r2, #4
|
|
blt _02210C10
|
|
mov r0, #0
|
|
str r0, [r5, #0xb8]
|
|
ldr r2, [r5, #0x10c]
|
|
ldr r3, [r5, #0x9c]
|
|
ldr r1, _02210CB0 ; =_02219EA4
|
|
mov r0, #5
|
|
blx r3
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02210C10:
|
|
mov r0, r5
|
|
mov r1, #3
|
|
bl ov00_02211DFC
|
|
ldr r0, [r5, #0xb8]
|
|
add r0, r0, #1
|
|
str r0, [r5, #0xb8]
|
|
b _02210C8C
|
|
_02210C2C:
|
|
ldr r0, [r5, #0xb4]
|
|
cmp r0, #0
|
|
beq _02210C5C
|
|
ldr r1, [r5, #0xac]
|
|
ldr r0, _02210CAC ; =0x00002710
|
|
sub r1, r4, r1
|
|
cmp r1, r0
|
|
bls _02210C5C
|
|
mov r0, r5
|
|
mov r1, #1
|
|
bl ov00_02211DFC
|
|
b _02210C8C
|
|
_02210C5C:
|
|
ldr r2, [r5, #0xac]
|
|
ldr r0, _02210CB4 ; =0x0000EA60
|
|
sub r1, r4, r2
|
|
cmp r1, r0
|
|
bhi _02210C80
|
|
cmp r2, #0
|
|
beq _02210C80
|
|
cmp r4, r2
|
|
bhs _02210C8C
|
|
_02210C80:
|
|
mov r0, r5
|
|
mov r1, #0
|
|
bl ov00_02211DFC
|
|
_02210C8C:
|
|
ldr r1, [r5, #0xb0]
|
|
ldr r0, _02210CB8 ; =0x00004E20
|
|
sub r1, r4, r1
|
|
cmp r1, r0
|
|
ldmlsia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
bl ov00_02211D9C
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02210CAC: .word 0x00002710
|
|
_02210CB0: .word _02219EA4
|
|
_02210CB4: .word 0x0000EA60
|
|
_02210CB8: .word 0x00004E20
|
|
arm_func_end ov00_02210BA8
|
|
|
|
arm_func_start ov00_02210CBC
|
|
ov00_02210CBC: ; 0x02210CBC
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
ldreq r0, _02210D10 ; =_02219D70
|
|
ldreq r4, [r0]
|
|
ldr r0, [r4, #0xbc]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
bl ov00_021FF368
|
|
ldr r2, [r4, #0xac]
|
|
ldr r1, _02210D14 ; =0x00002710
|
|
sub r0, r0, r2
|
|
cmp r0, r1
|
|
movlo r0, #1
|
|
strlo r0, [r4, #0xb4]
|
|
ldmloia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #1
|
|
bl ov00_02211DFC
|
|
mov r0, #0
|
|
str r0, [r4, #0xb4]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02210D10: .word _02219D70
|
|
_02210D14: .word 0x00002710
|
|
arm_func_end ov00_02210CBC
|
|
|
|
arm_func_start ov00_02210D18
|
|
ov00_02210D18: ; 0x02210D18
|
|
stmdb sp!, {r4, lr}
|
|
movs r4, r0
|
|
ldreq r0, _02210D94 ; =_02219D70
|
|
ldreq r4, [r0]
|
|
ldr r0, [r4, #0xbc]
|
|
cmp r0, #0
|
|
beq _02210D40
|
|
mov r0, r4
|
|
mov r1, #2
|
|
bl ov00_02211DFC
|
|
_02210D40:
|
|
ldr r0, [r4]
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
ldrne r1, [r4, #0xc4]
|
|
cmpne r1, #0
|
|
beq _02210D5C
|
|
bl ov00_021FF818
|
|
_02210D5C:
|
|
mvn r0, #0
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
str r0, [r4, #0xac]
|
|
ldr r0, [r4, #0xc4]
|
|
cmp r0, #0
|
|
beq _02210D7C
|
|
bl ov00_021FF3D0
|
|
_02210D7C:
|
|
ldr r0, _02210D98 ; =_02219D74
|
|
cmp r4, r0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
bl ov00_021EC3D8
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02210D94: .word _02219D70
|
|
_02210D98: .word _02219D74
|
|
arm_func_end ov00_02210D18
|
|
|
|
arm_func_start ov00_02210D9C
|
|
ov00_02210D9C: ; 0x02210D9C
|
|
ldr r3, [r0, #0x100]
|
|
cmp r3, #0xfe
|
|
bxge lr
|
|
cmp r1, #1
|
|
bxlt lr
|
|
cmp r1, #0xfe
|
|
bxgt lr
|
|
add r2, r3, #1
|
|
str r2, [r0, #0x100]
|
|
strb r1, [r0, r3]
|
|
bx lr
|
|
arm_func_end ov00_02210D9C
|
|
|
|
arm_func_start ov00_02210DC8
|
|
ov00_02210DC8: ; 0x02210DC8
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0x14
|
|
mov r2, r1
|
|
mov r4, r0
|
|
ldr r1, _02210DF8 ; =_02219EDC
|
|
add r0, sp, #0
|
|
bl sub_020E7F30
|
|
add r1, sp, #0
|
|
mov r0, r4
|
|
bl ov00_02210DFC
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
_02210DF8: .word _02219EDC
|
|
arm_func_end ov00_02210DC8
|
|
|
|
arm_func_start ov00_02210DFC
|
|
ov00_02210DFC: ; 0x02210DFC
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r1
|
|
mov r4, r0
|
|
mov r0, r6
|
|
bl sub_020E9580
|
|
ldr r3, [r4, #0x800]
|
|
add r5, r0, #1
|
|
rsb r0, r3, #0x800
|
|
cmp r5, r0
|
|
movgt r5, r0
|
|
cmp r5, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
mov r1, r6
|
|
mov r2, r5
|
|
add r0, r4, r3
|
|
bl sub_020E5AD8
|
|
ldr r0, [r4, #0x800]
|
|
mov r1, #0
|
|
add r0, r0, r5
|
|
str r0, [r4, #0x800]
|
|
sub r0, r0, #1
|
|
strb r1, [r4, r0]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_02210DFC
|
|
|
|
arm_func_start ov00_02210E58
|
|
ov00_02210E58: ; 0x02210E58
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
bl ov00_021FF6E4
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r1, _02210EC4 ; =_0221B878
|
|
mov r6, #0
|
|
ldr ip, _02210EC8 ; =_0221B87C
|
|
str r6, [r1]
|
|
_02210E78:
|
|
ldr r2, [r0, #0xc]
|
|
mov r5, r6, lsl #2
|
|
ldr r4, [r2, r6, lsl #2]
|
|
cmp r4, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldrb r3, [r4]
|
|
ldrb r2, [r4, #1]
|
|
add r6, r6, #1
|
|
add lr, ip, r5
|
|
strb r3, [ip, r5]
|
|
strb r2, [lr, #1]
|
|
ldrb r3, [r4, #2]
|
|
ldrb r2, [r4, #3]
|
|
cmp r6, #5
|
|
strb r3, [lr, #2]
|
|
strb r2, [lr, #3]
|
|
str r6, [r1]
|
|
blt _02210E78
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02210EC4: .word _0221B878
|
|
_02210EC8: .word _0221B87C
|
|
arm_func_end ov00_02210E58
|
|
|
|
arm_func_start ov00_02210ECC
|
|
ov00_02210ECC: ; 0x02210ECC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, lsr #0x10
|
|
mov r4, r1, asr #8
|
|
mov r1, r1, lsl #8
|
|
mov r6, r2
|
|
mov r5, #2
|
|
and r2, r4, #0xff
|
|
and r1, r1, #0xff00
|
|
strb r5, [r6, #1]
|
|
orr r1, r2, r1
|
|
strh r1, [r6, #2]
|
|
mov r4, #0
|
|
movs r7, r0
|
|
mov r5, r3
|
|
streq r4, [r6, #4]
|
|
beq _02210F18
|
|
bl ov00_021FFA44
|
|
str r0, [r6, #4]
|
|
_02210F18:
|
|
ldr r1, [r6, #4]
|
|
mvn r0, #0
|
|
cmp r1, r0
|
|
bne _02210F60
|
|
ldr r1, _02210F70 ; =_02219EE0
|
|
mov r0, r7
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
beq _02210F60
|
|
mov r0, r7
|
|
bl sub_020A30D4
|
|
movs r4, r0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
str r0, [r6, #4]
|
|
_02210F60:
|
|
cmp r5, #0
|
|
strne r4, [r5]
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02210F70: .word _02219EE0
|
|
arm_func_end ov00_02210ECC
|
|
|
|
arm_func_start ov00_02210F74
|
|
ov00_02210F74: ; 0x02210F74
|
|
ldrb r3, [r0]
|
|
ldrb r2, [r1]
|
|
strb r2, [r0]
|
|
strb r3, [r1]
|
|
bx lr
|
|
arm_func_end ov00_02210F74
|
|
|
|
arm_func_start ov00_02210F88
|
|
ov00_02210F88: ; 0x02210F88
|
|
cmp r0, #0x1a
|
|
addlo r0, r0, #0x41
|
|
andlo r0, r0, #0xff
|
|
bxlo lr
|
|
cmp r0, #0x34
|
|
addlo r0, r0, #0x47
|
|
andlo r0, r0, #0xff
|
|
bxlo lr
|
|
cmp r0, #0x3e
|
|
sublo r0, r0, #4
|
|
andlo r0, r0, #0xff
|
|
bxlo lr
|
|
moveq r0, #0x2b
|
|
bxeq lr
|
|
cmp r0, #0x3f
|
|
moveq r0, #0x2f
|
|
movne r0, #0
|
|
bx lr
|
|
arm_func_end ov00_02210F88
|
|
|
|
arm_func_start ov00_02210FD0
|
|
ov00_02210FD0: ; 0x02210FD0
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #8
|
|
mov r7, r1
|
|
mov r8, r0
|
|
mov r6, r2
|
|
cmp r7, #0
|
|
mov r4, #0
|
|
ble _02211084
|
|
_02210FF0:
|
|
mov r2, #0
|
|
add r3, sp, #4
|
|
mov r0, r2
|
|
_02210FFC:
|
|
cmp r4, r7
|
|
ldrltb r1, [r8], #1
|
|
add r2, r2, #1
|
|
add r4, r4, #1
|
|
strltb r1, [r3]
|
|
strgeb r0, [r3]
|
|
cmp r2, #2
|
|
add r3, r3, #1
|
|
ble _02210FFC
|
|
ldrb r0, [sp, #4]
|
|
ldrb r5, [sp, #5]
|
|
ldrb r2, [sp, #6]
|
|
mov r3, r0, lsl #0x1e
|
|
mov r1, r5, asr #4
|
|
add ip, r1, r3, lsr #26
|
|
and r1, r2, #0x3f
|
|
mov r3, r5, lsl #0x1c
|
|
mov r2, r2, asr #6
|
|
mov r0, r0, asr #2
|
|
add r2, r2, r3, lsr #26
|
|
add r5, sp, #0
|
|
strb r0, [sp]
|
|
strb ip, [sp, #1]
|
|
strb r2, [sp, #2]
|
|
strb r1, [sp, #3]
|
|
mov sb, #0
|
|
_02211064:
|
|
ldrb r0, [r5], #1
|
|
bl ov00_02210F88
|
|
add sb, sb, #1
|
|
cmp sb, #3
|
|
strb r0, [r6], #1
|
|
ble _02211064
|
|
cmp r4, r7
|
|
blt _02210FF0
|
|
_02211084:
|
|
mov r0, #0
|
|
strb r0, [r6]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
arm_func_end ov00_02210FD0
|
|
|
|
arm_func_start ov00_02211094
|
|
ov00_02211094: ; 0x02211094
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x104
|
|
str r1, [sp]
|
|
add r4, sp, #4
|
|
mov sl, r0
|
|
mov sb, r2
|
|
mov r8, r3
|
|
mov r1, #0
|
|
_022110B4:
|
|
add r0, r1, #1
|
|
mov r0, r0, lsl #0x10
|
|
strb r1, [r4], #1
|
|
mov r1, r0, asr #0x10
|
|
cmp r1, #0x100
|
|
blt _022110B4
|
|
mov r4, #0
|
|
add r6, sp, #4
|
|
mov r5, r4
|
|
mov r7, r4
|
|
mov fp, r6
|
|
_022110E0:
|
|
ldrb r3, [r6]
|
|
ldrb r2, [sl, r4]
|
|
ldr r1, [sp]
|
|
add r0, r4, #1
|
|
add r2, r3, r2
|
|
add r2, r5, r2
|
|
mov r3, r2, lsr #0x1f
|
|
rsb r2, r3, r2, lsl #24
|
|
add r2, r3, r2, ror #24
|
|
and r5, r2, #0xff
|
|
bl sub_020F2998
|
|
and r4, r1, #0xff
|
|
mov r0, r6
|
|
add r1, fp, r5
|
|
bl ov00_02210F74
|
|
add r0, r7, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov r7, r0, asr #0x10
|
|
cmp r7, #0x100
|
|
add r6, r6, #1
|
|
blt _022110E0
|
|
mov r6, #0
|
|
cmp r8, #0
|
|
mov r7, r6
|
|
mov r5, r6
|
|
addle sp, sp, #0x104
|
|
ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
add r4, sp, #4
|
|
_02211150:
|
|
ldrb r0, [sb, r5]
|
|
add r0, r6, r0
|
|
add r0, r0, #1
|
|
mov r1, r0, lsr #0x1f
|
|
rsb r0, r1, r0, lsl #24
|
|
add r0, r1, r0, ror #24
|
|
and r6, r0, #0xff
|
|
ldrb r1, [r4, r6]
|
|
add r0, r4, r6
|
|
add r1, r1, r7
|
|
mov r2, r1, lsr #0x1f
|
|
rsb r1, r2, r1, lsl #24
|
|
add r1, r2, r1, ror #24
|
|
and r7, r1, #0xff
|
|
add r1, r4, r7
|
|
bl ov00_02210F74
|
|
ldrb r3, [r4, r6]
|
|
ldrb r1, [r4, r7]
|
|
add r0, r5, #1
|
|
mov r2, r0, lsl #0x10
|
|
add r0, r3, r1
|
|
mov r1, r0, lsr #0x1f
|
|
rsb r0, r1, r0, lsl #24
|
|
add r0, r1, r0, ror #24
|
|
and r0, r0, #0xff
|
|
ldrb r1, [sb, r5]
|
|
ldrb r0, [r4, r0]
|
|
cmp r8, r2, asr #16
|
|
eor r0, r1, r0
|
|
strb r0, [sb, r5]
|
|
mov r5, r2, asr #0x10
|
|
bgt _02211150
|
|
add sp, sp, #0x104
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
arm_func_end ov00_02211094
|
|
|
|
arm_func_start ov00_022111D8
|
|
ov00_022111D8: ; 0x022111D8
|
|
strb r1, [r0]
|
|
ldrb ip, [r2]
|
|
ldrb r3, [r2, #1]
|
|
mov r1, #5
|
|
strb ip, [r0, #1]
|
|
strb r3, [r0, #2]
|
|
ldrb r3, [r2, #2]
|
|
ldrb r2, [r2, #3]
|
|
strb r3, [r0, #3]
|
|
strb r2, [r0, #4]
|
|
str r1, [r0, #0x800]
|
|
bx lr
|
|
arm_func_end ov00_022111D8
|
|
|
|
arm_func_start ov00_02211208
|
|
ov00_02211208: ; 0x02211208
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x44
|
|
mov r5, r3
|
|
cmp r5, #1
|
|
mov r6, r0
|
|
mov r4, r1
|
|
addlt sp, sp, #0x44
|
|
ldmltia sp!, {r3, r4, r5, r6, pc}
|
|
cmp r5, #0x41
|
|
addgt sp, sp, #0x44
|
|
ldmgtia sp!, {r3, r4, r5, r6, pc}
|
|
sub r0, r5, #1
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, #0
|
|
addne sp, sp, #0x44
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
add r0, sp, #0
|
|
mov r1, r2
|
|
bl sub_020E959C
|
|
add r0, r6, #0x44
|
|
bl sub_020E9580
|
|
mov r1, r0
|
|
add r2, sp, #0
|
|
add r0, r6, #0x44
|
|
sub r3, r5, #1
|
|
bl ov00_02211094
|
|
ldr r2, [r4, #0x800]
|
|
sub r1, r5, #1
|
|
add r0, sp, #0
|
|
add r2, r4, r2
|
|
bl ov00_02210FD0
|
|
ldr r0, [r4, #0x800]
|
|
add r0, r4, r0
|
|
bl sub_020E9580
|
|
ldr r1, [r4, #0x800]
|
|
add r0, r0, #1
|
|
add r0, r1, r0
|
|
str r0, [r4, #0x800]
|
|
add sp, sp, #0x44
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end ov00_02211208
|
|
|
|
arm_func_start ov00_022112A8
|
|
ov00_022112A8: ; 0x022112A8
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #8
|
|
mov r4, r0
|
|
mov r0, r1
|
|
ldr r1, _02211354 ; =_02219EF0
|
|
add r2, sp, #4
|
|
add r3, sp, #0
|
|
bl sub_020E9428
|
|
ldr r0, [sp, #4]
|
|
ldr lr, [sp]
|
|
mov r2, r0, lsr #0x18
|
|
mov r1, r0, lsr #8
|
|
mov r3, r0, lsl #8
|
|
mov ip, r0, lsl #0x18
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
orr r1, r2, r1
|
|
and r3, r3, #0xff0000
|
|
mov r0, lr, lsl #0x10
|
|
and r2, ip, #0xff000000
|
|
orr r1, r3, r1
|
|
orrs r2, r2, r1
|
|
mov r1, r0, lsr #0x10
|
|
str r2, [sp, #4]
|
|
cmpne r1, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, [r4, #0x104]
|
|
cmp r0, r2
|
|
addeq r0, r4, #0x100
|
|
ldreqh r0, [r0, #8]
|
|
cmpeq r0, r1
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r4, pc}
|
|
str r2, [r4, #0x104]
|
|
add r0, r4, #0x100
|
|
strh r1, [r0, #8]
|
|
ldr r0, [sp, #4]
|
|
ldr r2, [r4, #0x10c]
|
|
ldr r3, [r4, #0xa8]
|
|
blx r3
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02211354: .word _02219EF0
|
|
arm_func_end ov00_022112A8
|
|
|
|
arm_func_start ov00_02211358
|
|
ov00_02211358: ; 0x02211358
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x10c
|
|
movs fp, r3
|
|
mov r3, #0
|
|
ldr r7, [sp, #0x130]
|
|
str r3, [sp, #0x108]
|
|
mov sl, r0
|
|
mov sb, r1
|
|
mov r8, r2
|
|
addeq sp, sp, #0x10c
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
sub r0, r8, #1
|
|
cmp r0, #1
|
|
bhi _02211404
|
|
ldr r0, [sb, #0x800]
|
|
rsb r0, r0, #0x800
|
|
cmp r0, #2
|
|
addlo sp, sp, #0x10c
|
|
ldmloia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, [sl, #0x10c]
|
|
ldr r2, [sl, #0x98]
|
|
mov r0, r8
|
|
blx r2
|
|
str r0, [sp]
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
mov r1, r0, asr #8
|
|
mov r0, r0, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
strh r0, [sp, #4]
|
|
add r0, sp, #4
|
|
ldrb r1, [r0]
|
|
ldr r2, [sb, #0x800]
|
|
ldrb r0, [r0, #1]
|
|
add r3, sb, r2
|
|
strb r1, [sb, r2]
|
|
strb r0, [r3, #1]
|
|
ldr r0, [sb, #0x800]
|
|
add r0, r0, #2
|
|
str r0, [sb, #0x800]
|
|
b _0221140C
|
|
_02211404:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
_0221140C:
|
|
cmp fp, #0xff
|
|
bne _022114E0
|
|
ldr r2, [sl, #0x10c]
|
|
ldr r3, [sl, #0x94]
|
|
add r1, sp, #8
|
|
mov r0, r8
|
|
blx r3
|
|
ldr r0, [sp, #0x108]
|
|
mov r5, #0
|
|
cmp r0, #0
|
|
ble _022114A8
|
|
ldr fp, _022115A4 ; =_02219EFC
|
|
ldr r4, _022115A8 ; =_0221A0B8
|
|
add r7, sp, #8
|
|
_02211444:
|
|
ldrb r0, [r7]
|
|
ldr r1, [r4, r0, lsl #2]
|
|
mov r0, sb
|
|
cmp r1, #0
|
|
moveq r1, fp
|
|
bl ov00_02210DFC
|
|
cmp r8, #0
|
|
bne _02211494
|
|
ldrb r0, [r7]
|
|
ldr r2, [sl, #0x10c]
|
|
ldr r3, [sl, #0x88]
|
|
mov r1, sb
|
|
ldr r6, [sb, #0x800]
|
|
blx r3
|
|
ldr r0, [sb, #0x800]
|
|
cmp r6, r0
|
|
bne _02211494
|
|
ldr r1, _022115AC ; =_02219F04
|
|
mov r0, sb
|
|
bl ov00_02210DFC
|
|
_02211494:
|
|
ldr r0, [sp, #0x108]
|
|
add r5, r5, #1
|
|
cmp r5, r0
|
|
add r7, r7, #1
|
|
blt _02211444
|
|
_022114A8:
|
|
ldr r1, [sb, #0x800]
|
|
rsb r0, r1, #0x800
|
|
cmp r0, #1
|
|
addlt sp, sp, #0x10c
|
|
ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
add r0, r1, #1
|
|
str r0, [sb, #0x800]
|
|
mov r0, #0
|
|
strb r0, [sb, r1]
|
|
ldr fp, [sp, #0x108]
|
|
cmp r8, #0
|
|
add r7, sp, #8
|
|
addeq sp, sp, #0x10c
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022114E0:
|
|
ldr r0, [sp]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
addle sp, sp, #0x10c
|
|
ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022114F4:
|
|
mov r5, #0
|
|
cmp fp, #0
|
|
ble _0221158C
|
|
_02211500:
|
|
cmp r8, #0
|
|
ldr r6, [sb, #0x800]
|
|
bne _02211524
|
|
ldrb r0, [r7, r5]
|
|
ldr r2, [sl, #0x10c]
|
|
ldr r3, [sl, #0x88]
|
|
mov r1, sb
|
|
blx r3
|
|
b _02211568
|
|
_02211524:
|
|
cmp r8, #1
|
|
bne _02211548
|
|
ldrb r0, [r7, r5]
|
|
ldr r3, [sl, #0x10c]
|
|
ldr ip, [sl, #0x8c]
|
|
mov r1, r4
|
|
mov r2, sb
|
|
blx ip
|
|
b _02211568
|
|
_02211548:
|
|
cmp r8, #2
|
|
bne _02211568
|
|
ldrb r0, [r7, r5]
|
|
ldr r3, [sl, #0x10c]
|
|
ldr ip, [sl, #0x90]
|
|
mov r1, r4
|
|
mov r2, sb
|
|
blx ip
|
|
_02211568:
|
|
ldr r0, [sb, #0x800]
|
|
cmp r6, r0
|
|
bne _02211580
|
|
ldr r1, _022115AC ; =_02219F04
|
|
mov r0, sb
|
|
bl ov00_02210DFC
|
|
_02211580:
|
|
add r5, r5, #1
|
|
cmp r5, fp
|
|
blt _02211500
|
|
_0221158C:
|
|
ldr r0, [sp]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _022114F4
|
|
add sp, sp, #0x10c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_022115A4: .word _02219EFC
|
|
_022115A8: .word _0221A0B8
|
|
_022115AC: .word _02219F04
|
|
arm_func_end ov00_02211358
|
|
|
|
arm_func_start ov00_022115B0
|
|
ov00_022115B0: ; 0x022115B0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
str r3, [sp]
|
|
mov r3, r2
|
|
mov r2, #0
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl ov00_02211358
|
|
ldr ip, [sp, #0x14]
|
|
ldr r3, [sp, #0x10]
|
|
mov r0, r5
|
|
mov r1, r4
|
|
mov r2, #1
|
|
str ip, [sp]
|
|
bl ov00_02211358
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r3, [sp, #0x18]
|
|
str r0, [sp]
|
|
mov r0, r5
|
|
mov r1, r4
|
|
mov r2, #2
|
|
bl ov00_02211358
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_022115B0
|
|
|
|
arm_func_start ov00_02211608
|
|
ov00_02211608: ; 0x02211608
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x10
|
|
mov r5, #0
|
|
cmp r3, #3
|
|
mov r6, r5
|
|
mov r7, r5
|
|
addlt sp, sp, #0x10
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldrb ip, [r2], #1
|
|
sub r3, r3, #1
|
|
cmp ip, #0
|
|
cmpne ip, #0xff
|
|
movne r5, r2
|
|
subne r3, r3, ip
|
|
addne r2, r2, ip
|
|
cmp r3, #2
|
|
addlt sp, sp, #0x10
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldrb lr, [r2], #1
|
|
sub r3, r3, #1
|
|
cmp lr, #0
|
|
cmpne lr, #0xff
|
|
movne r6, r2
|
|
subne r3, r3, lr
|
|
addne r2, r2, lr
|
|
cmp r3, #1
|
|
addlt sp, sp, #0x10
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldrb r4, [r2]
|
|
sub r3, r3, #1
|
|
cmp r4, #0
|
|
cmpne r4, #0xff
|
|
subne r3, r3, r4
|
|
addne r7, r2, #1
|
|
cmp r3, #0
|
|
addlt sp, sp, #0x10
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, pc}
|
|
str lr, [sp]
|
|
str r6, [sp, #4]
|
|
str r4, [sp, #8]
|
|
mov r2, ip
|
|
mov r3, r5
|
|
str r7, [sp, #0xc]
|
|
bl ov00_022115B0
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_02211608
|
|
|
|
arm_func_start ov00_022116C0
|
|
ov00_022116C0: ; 0x022116C0
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x188
|
|
mov r8, r2
|
|
sub r2, r8, #1
|
|
mov r3, #0
|
|
cmp r2, #1
|
|
mov sl, r0
|
|
mov sb, r1
|
|
str r3, [sp, #0x104]
|
|
movhi fp, #1
|
|
bhi _02211700
|
|
ldr r1, [sl, #0x10c]
|
|
ldr r2, [sl, #0x98]
|
|
mov r0, r8
|
|
blx r2
|
|
mov fp, r0
|
|
_02211700:
|
|
ldr r2, [sl, #0x10c]
|
|
ldr r3, [sl, #0x94]
|
|
add r1, sp, #4
|
|
mov r0, r8
|
|
blx r3
|
|
ldr r1, [sp, #0x104]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
cmp r1, #0
|
|
addle sp, sp, #0x188
|
|
ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
add r6, sp, #4
|
|
_02211730:
|
|
ldrb r1, [r6]
|
|
ldr r0, _02211888 ; =_0221A0B8
|
|
ldr r5, [r0, r1, lsl #2]
|
|
cmp r5, #0
|
|
ldreq r5, _0221188C ; =_02219EFC
|
|
cmp r8, #0
|
|
bne _022117AC
|
|
mov r0, sb
|
|
mov r1, r5
|
|
bl ov00_02210DFC
|
|
ldr r0, [sb, #0x800]
|
|
mov r1, #0x5c
|
|
add r0, sb, r0
|
|
strb r1, [r0, #-1]
|
|
ldrb r0, [r6]
|
|
ldr r2, [sl, #0x10c]
|
|
ldr r3, [sl, #0x88]
|
|
mov r1, sb
|
|
ldr r4, [sb, #0x800]
|
|
blx r3
|
|
ldr r0, [sb, #0x800]
|
|
cmp r4, r0
|
|
bne _02211798
|
|
ldr r1, _02211890 ; =_02219F04
|
|
mov r0, sb
|
|
bl ov00_02210DFC
|
|
_02211798:
|
|
ldr r0, [sb, #0x800]
|
|
mov r1, #0x5c
|
|
add r0, sb, r0
|
|
strb r1, [r0, #-1]
|
|
b _02211864
|
|
_022117AC:
|
|
cmp fp, #0
|
|
mov r4, #0
|
|
ble _02211864
|
|
_022117B8:
|
|
ldr r1, _02211894 ; =_02219F08
|
|
add r0, sp, #0x108
|
|
mov r2, r5
|
|
mov r3, r4
|
|
bl sub_020E7F30
|
|
mov r0, sb
|
|
add r1, sp, #0x108
|
|
bl ov00_02210DFC
|
|
ldr r0, [sb, #0x800]
|
|
cmp r8, #1
|
|
add r1, sb, r0
|
|
mov r0, #0x5c
|
|
strb r0, [r1, #-1]
|
|
ldr r7, [sb, #0x800]
|
|
bne _02211810
|
|
ldrb r0, [r6]
|
|
mov r1, r4
|
|
mov r2, sb
|
|
ldr r3, [sl, #0x10c]
|
|
ldr ip, [sl, #0x8c]
|
|
blx ip
|
|
b _02211830
|
|
_02211810:
|
|
cmp r8, #2
|
|
bne _02211830
|
|
ldrb r0, [r6]
|
|
mov r1, r4
|
|
mov r2, sb
|
|
ldr r3, [sl, #0x10c]
|
|
ldr ip, [sl, #0x90]
|
|
blx ip
|
|
_02211830:
|
|
ldr r0, [sb, #0x800]
|
|
cmp r7, r0
|
|
bne _02211848
|
|
ldr r1, _02211890 ; =_02219F04
|
|
mov r0, sb
|
|
bl ov00_02210DFC
|
|
_02211848:
|
|
ldr r0, [sb, #0x800]
|
|
add r4, r4, #1
|
|
add r1, sb, r0
|
|
mov r0, #0x5c
|
|
strb r0, [r1, #-1]
|
|
cmp r4, fp
|
|
blt _022117B8
|
|
_02211864:
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #0x104]
|
|
add r0, r0, #1
|
|
str r0, [sp]
|
|
cmp r0, r1
|
|
add r6, r6, #1
|
|
blt _02211730
|
|
add sp, sp, #0x188
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02211888: .word _0221A0B8
|
|
_0221188C: .word _02219EFC
|
|
_02211890: .word _02219F04
|
|
_02211894: .word _02219F08
|
|
arm_func_end ov00_022116C0
|
|
|
|
arm_func_start ov00_02211898
|
|
ov00_02211898: ; 0x02211898
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r1
|
|
mov r2, #1
|
|
mov r5, r0
|
|
str r2, [r4, #0x800]
|
|
mov r3, #0x5c
|
|
mov r2, #0
|
|
strb r3, [r4]
|
|
bl ov00_022116C0
|
|
mov r0, r5
|
|
mov r1, r4
|
|
mov r2, #1
|
|
bl ov00_022116C0
|
|
mov r0, r5
|
|
mov r1, r4
|
|
mov r2, #2
|
|
bl ov00_022116C0
|
|
ldr r1, _022118F8 ; =_02219F10
|
|
mov r0, r4
|
|
bl ov00_02210DFC
|
|
ldr r0, [r4, #0x800]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #0x800]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022118F8: .word _02219F10
|
|
arm_func_end ov00_02211898
|
|
|
|
arm_func_start ov00_022118FC
|
|
ov00_022118FC: ; 0x022118FC
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0xc
|
|
ldr ip, _02211A20 ; =_022163E8
|
|
mov r3, r0
|
|
ldrb r4, [ip]
|
|
ldrb r0, [ip, #1]
|
|
ldrb lr, [ip, #2]
|
|
strb r4, [sp, #4]
|
|
strb r0, [sp, #5]
|
|
ldrb r0, [ip, #3]
|
|
cmp r2, #0xa
|
|
add r6, sp, #4
|
|
strb lr, [sp, #6]
|
|
strb r0, [sp, #7]
|
|
ldrb lr, [ip, #4]
|
|
ldrb r0, [ip, #5]
|
|
mov r5, #1
|
|
strb lr, [sp, #8]
|
|
strb r0, [sp, #9]
|
|
blt _02211978
|
|
mov r4, #0
|
|
_02211950:
|
|
ldrb ip, [r6]
|
|
ldrb r0, [r1, r4]
|
|
cmp ip, r0
|
|
movne r5, #0
|
|
bne _0221197C
|
|
add r4, r4, #1
|
|
cmp r4, #6
|
|
add r6, r6, #1
|
|
blt _02211950
|
|
b _0221197C
|
|
_02211978:
|
|
mov r5, #0
|
|
_0221197C:
|
|
cmp r5, #0
|
|
beq _022119F8
|
|
ldrb r2, [r1, #6]
|
|
ldrb r0, [r1, #7]
|
|
add ip, sp, #0
|
|
strb r2, [ip]
|
|
strb r0, [ip, #1]
|
|
ldrb r2, [r1, #8]
|
|
ldrb r0, [r1, #9]
|
|
strb r0, [ip, #3]
|
|
strb r2, [ip, #2]
|
|
ldr r2, [r3, #0xa0]
|
|
cmp r2, #0
|
|
addeq sp, sp, #0xc
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
ldr lr, [sp]
|
|
ldr r1, [r3, #0x10c]
|
|
mov r3, lr, lsr #0x18
|
|
mov r0, lr, lsr #8
|
|
mov ip, lr, lsl #8
|
|
and r3, r3, #0xff
|
|
and r0, r0, #0xff00
|
|
mov lr, lr, lsl #0x18
|
|
orr r0, r3, r0
|
|
and ip, ip, #0xff0000
|
|
and r3, lr, #0xff000000
|
|
orr r0, ip, r0
|
|
orr r0, r3, r0
|
|
blx r2
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_022119F8:
|
|
ldr ip, [r3, #0xa4]
|
|
cmp ip, #0
|
|
addeq sp, sp, #0xc
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
mov r0, r1
|
|
mov r1, r2
|
|
ldr r2, [r3, #0x10c]
|
|
blx ip
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02211A20: .word _022163E8
|
|
arm_func_end ov00_022118FC
|
|
|
|
arm_func_start ov00_02211A24
|
|
ov00_02211A24: ; 0x02211A24
|
|
stmdb sp!, {r4, lr}
|
|
mov r3, #0
|
|
_02211A2C:
|
|
add r2, r0, r3, lsl #2
|
|
ldr r2, [r2, #0xd8]
|
|
cmp r1, r2
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, pc}
|
|
add r3, r3, #1
|
|
cmp r3, #0xa
|
|
blt _02211A2C
|
|
ldr r2, [r0, #0x100]
|
|
ldr ip, _02211A84 ; =0x66666667
|
|
add lr, r2, #1
|
|
smull r3, r4, ip, lr
|
|
mov r2, lr, lsr #0x1f
|
|
add r4, r2, r4, asr #2
|
|
mov ip, #0xa
|
|
smull r2, r3, ip, r4
|
|
sub r4, lr, r2
|
|
str r4, [r0, #0x100]
|
|
add r0, r0, r4, lsl #2
|
|
str r1, [r0, #0xd8]
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02211A84: .word 0x66666667
|
|
arm_func_end ov00_02211A24
|
|
|
|
arm_func_start ov00_02211A88
|
|
ov00_02211A88: ; 0x02211A88
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x810
|
|
movs r8, r0
|
|
mov r0, #0
|
|
str r0, [sp, #0x80c]
|
|
ldreq r0, _02211D98 ; =_02219D70
|
|
mov r7, r2
|
|
ldreq r8, [r0]
|
|
ldrsb r0, [r1]
|
|
mov r6, r3
|
|
cmp r0, #0x3b
|
|
bne _02211AE0
|
|
ldr r3, [r8, #0xd4]
|
|
cmp r3, #0
|
|
addeq sp, sp, #0x810
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
mov r0, r1
|
|
mov r1, r7
|
|
mov r2, r6
|
|
blx r3
|
|
add sp, sp, #0x810
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_02211AE0:
|
|
cmp r0, #0x5c
|
|
bne _02211B1C
|
|
add r1, sp, #0xc
|
|
mov r0, r8
|
|
bl ov00_02211898
|
|
str r6, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
ldr r0, [r8]
|
|
ldr r2, [sp, #0x80c]
|
|
add r1, sp, #0xc
|
|
mov r3, #0
|
|
bl ov00_021FF984
|
|
add sp, sp, #0x810
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_02211B1C:
|
|
cmp r7, #7
|
|
addlt sp, sp, #0x810
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
and r0, r0, #0xff
|
|
cmp r0, #0xfe
|
|
ldreqb r0, [r1, #1]
|
|
cmpeq r0, #0xfd
|
|
addne sp, sp, #0x810
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
ldr r0, [r8, #0xb8]
|
|
add r4, r1, #3
|
|
cmp r0, #0
|
|
movgt r0, #0
|
|
strgt r0, [r8, #0xb8]
|
|
ldrsb sb, [r1, #2]
|
|
add r5, r1, #7
|
|
add r0, sp, #0xc
|
|
mov r1, sb
|
|
mov r2, r4
|
|
sub r7, r7, #7
|
|
bl ov00_022111D8
|
|
cmp sb, #8
|
|
addls pc, pc, sb, lsl #2
|
|
b _02211D68
|
|
_02211B7C: ; jump table
|
|
b _02211BA0 ; case 0
|
|
b _02211BB8 ; case 1
|
|
b _02211BF4 ; case 2
|
|
b _02211D68 ; case 3
|
|
b _02211C2C ; case 4
|
|
b _02211D68 ; case 5
|
|
b _02211CA0 ; case 6
|
|
b _02211D68 ; case 7
|
|
b _02211D68 ; case 8
|
|
_02211BA0:
|
|
add r1, sp, #0xc
|
|
mov r0, r8
|
|
mov r2, r5
|
|
mov r3, r7
|
|
bl ov00_02211608
|
|
b _02211D70
|
|
_02211BB8:
|
|
cmp r7, #0xd
|
|
blt _02211BDC
|
|
ldr r0, [r8, #0xa8]
|
|
cmp r0, #0
|
|
beq _02211BDC
|
|
add r1, r5, r7
|
|
mov r0, r8
|
|
sub r1, r1, #0xd
|
|
bl ov00_022112A8
|
|
_02211BDC:
|
|
add r1, sp, #0xc
|
|
mov r0, r8
|
|
mov r2, r5
|
|
mov r3, r7
|
|
bl ov00_02211208
|
|
b _02211D70
|
|
_02211BF4:
|
|
ldr r0, [sp, #0x80c]
|
|
cmp r7, #0x20
|
|
movgt r7, #0x20
|
|
add r3, sp, #0xc
|
|
mov r4, #5
|
|
mov r1, r5
|
|
mov r2, r7
|
|
add r0, r3, r0
|
|
strb r4, [sp, #0xc]
|
|
bl sub_020E5AD8
|
|
ldr r0, [sp, #0x80c]
|
|
add r0, r0, r7
|
|
str r0, [sp, #0x80c]
|
|
b _02211D70
|
|
_02211C2C:
|
|
ldr r1, [r8, #0xb8]
|
|
mvn r0, #0
|
|
cmp r1, r0
|
|
addeq sp, sp, #0x810
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
mov r2, #0
|
|
str r2, [sp, #8]
|
|
_02211C48:
|
|
add r0, r8, r2
|
|
ldrsb r1, [r4, r2]
|
|
ldrsb r0, [r0, #0x84]
|
|
cmp r1, r0
|
|
addne sp, sp, #0x810
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
add r2, r2, #1
|
|
str r2, [sp, #8]
|
|
cmp r2, #4
|
|
blt _02211C48
|
|
cmp r7, #2
|
|
addlt sp, sp, #0x810
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
mvn r0, #0
|
|
str r0, [r8, #0xb8]
|
|
ldrsb r0, [r5]
|
|
ldr r2, [r8, #0x10c]
|
|
ldr r3, [r8, #0x9c]
|
|
add r1, r5, #1
|
|
blx r3
|
|
add sp, sp, #0x810
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_02211CA0:
|
|
mov r2, #0
|
|
str r2, [sp, #8]
|
|
_02211CA8:
|
|
add r0, r8, r2
|
|
ldrsb r1, [r4, r2]
|
|
ldrsb r0, [r0, #0x84]
|
|
cmp r1, r0
|
|
addne sp, sp, #0x810
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
add r2, r2, #1
|
|
str r2, [sp, #8]
|
|
cmp r2, #4
|
|
blt _02211CA8
|
|
cmp r7, #4
|
|
addlt sp, sp, #0x810
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
mov r0, #7
|
|
strb r0, [sp, #0xc]
|
|
ldrb r1, [r5]
|
|
ldrb r0, [r5, #1]
|
|
ldr r2, [sp, #0x80c]
|
|
add r4, sp, #0xc
|
|
strb r1, [r4, r2]
|
|
add r4, r4, r2
|
|
strb r0, [r4, #1]
|
|
ldrb r2, [r5, #2]
|
|
ldrb r1, [r5, #3]
|
|
add r3, sp, #8
|
|
mov r0, r8
|
|
strb r2, [r4, #2]
|
|
strb r1, [r4, #3]
|
|
ldr r1, [sp, #0x80c]
|
|
add r1, r1, #4
|
|
str r1, [sp, #0x80c]
|
|
ldrb r2, [r5]
|
|
ldrb r1, [r5, #1]
|
|
strb r2, [r3]
|
|
strb r1, [r3, #1]
|
|
ldrb r2, [r5, #2]
|
|
ldrb r1, [r5, #3]
|
|
strb r2, [r3, #2]
|
|
strb r1, [r3, #3]
|
|
ldr r1, [sp, #8]
|
|
bl ov00_02211A24
|
|
cmp r0, #0
|
|
bne _02211D70
|
|
mov r0, r8
|
|
add r1, r5, #4
|
|
sub r2, r7, #4
|
|
bl ov00_022118FC
|
|
b _02211D70
|
|
_02211D68:
|
|
add sp, sp, #0x810
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_02211D70:
|
|
str r6, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
ldr r0, [r8]
|
|
ldr r2, [sp, #0x80c]
|
|
add r1, sp, #0xc
|
|
mov r3, #0
|
|
bl ov00_021FF984
|
|
add sp, sp, #0x810
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_02211D98: .word _02219D70
|
|
arm_func_end ov00_02211A88
|
|
|
|
arm_func_start ov00_02211D9C
|
|
ov00_02211D9C: ; 0x02211D9C
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0xc
|
|
sub sp, sp, #0x800
|
|
mov r4, r0
|
|
mov r3, #0
|
|
add r0, sp, #8
|
|
add r2, r4, #0x84
|
|
mov r1, #8
|
|
str r3, [sp, #0x808]
|
|
bl ov00_022111D8
|
|
add r0, r4, #0xcc
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
ldr r2, [sp, #0x808]
|
|
add r1, sp, #8
|
|
mov r3, #0
|
|
bl ov00_021FF984
|
|
bl ov00_021FF368
|
|
str r0, [r4, #0xb0]
|
|
add sp, sp, #0xc
|
|
add sp, sp, #0x800
|
|
ldmia sp!, {r3, r4, pc}
|
|
arm_func_end ov00_02211D9C
|
|
|
|
arm_func_start ov00_02211DFC
|
|
ov00_02211DFC: ; 0x02211DFC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x28
|
|
sub sp, sp, #0x800
|
|
mov sl, r0
|
|
mov sb, r1
|
|
mov r3, #0
|
|
add r0, sp, #0x24
|
|
add r2, sl, #0x84
|
|
mov r1, #3
|
|
str r3, [sp, #0x824]
|
|
bl ov00_022111D8
|
|
ldr r4, _02211FDC ; =_0221B878
|
|
mov r8, #0
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
ble _02211E8C
|
|
ldr fp, _02211FE0 ; =_02219F24
|
|
ldr r5, _02211FE4 ; =_0221B87C
|
|
add r7, sp, #0x10
|
|
add r6, sp, #0x24
|
|
_02211E4C:
|
|
mov r0, r7
|
|
mov r1, fp
|
|
mov r2, r8
|
|
bl sub_020E7F30
|
|
mov r0, r6
|
|
mov r1, r7
|
|
bl ov00_02210DFC
|
|
ldr r0, [r5, r8, lsl #2]
|
|
bl sub_020A357C
|
|
mov r1, r0
|
|
mov r0, r6
|
|
bl ov00_02210DFC
|
|
add r8, r8, #1
|
|
ldr r0, [r4]
|
|
cmp r8, r0
|
|
blt _02211E4C
|
|
_02211E8C:
|
|
ldr r1, _02211FE8 ; =_02219F30
|
|
add r0, sp, #0x24
|
|
bl ov00_02210DFC
|
|
ldr r1, [sl, #0xc0]
|
|
add r0, sp, #0x24
|
|
bl ov00_02210DC8
|
|
ldr r1, _02211FEC ; =_02219F3C
|
|
add r0, sp, #0x24
|
|
bl ov00_02210DFC
|
|
ldr r0, [sl, #0xc8]
|
|
cmp r0, #0
|
|
ldrne r1, _02211FF0 ; =_02219F44
|
|
add r0, sp, #0x24
|
|
ldreq r1, _02211FF4 ; =_02219F48
|
|
bl ov00_02210DFC
|
|
cmp sb, #0
|
|
beq _02211EE8
|
|
ldr r1, _02211FF8 ; =_02219F4C
|
|
add r0, sp, #0x24
|
|
bl ov00_02210DFC
|
|
add r0, sp, #0x24
|
|
mov r1, sb
|
|
bl ov00_02210DC8
|
|
_02211EE8:
|
|
ldr r1, _02211FFC ; =_02219F5C
|
|
add r0, sp, #0x24
|
|
bl ov00_02210DFC
|
|
add r0, sp, #0x24
|
|
add r1, sl, #4
|
|
bl ov00_02210DFC
|
|
ldr r0, [sl, #0xa8]
|
|
cmp r0, #0
|
|
beq _02211F40
|
|
ldr r1, _02212000 ; =_02219F68
|
|
add r0, sp, #0x24
|
|
bl ov00_02210DFC
|
|
ldr r1, [sl, #0x104]
|
|
add r0, sp, #0x24
|
|
bl ov00_02210DC8
|
|
ldr r1, _02212004 ; =_02219F74
|
|
add r0, sp, #0x24
|
|
bl ov00_02210DFC
|
|
add r0, sl, #0x100
|
|
ldrh r1, [r0, #8]
|
|
add r0, sp, #0x24
|
|
bl ov00_02210DC8
|
|
_02211F40:
|
|
cmp sb, #2
|
|
beq _02211F70
|
|
mov r2, #0xff
|
|
str r2, [sp]
|
|
mov r3, #0
|
|
str r3, [sp, #4]
|
|
str r2, [sp, #8]
|
|
add r1, sp, #0x24
|
|
mov r0, sl
|
|
str r3, [sp, #0xc]
|
|
bl ov00_022115B0
|
|
b _02211F94
|
|
_02211F70:
|
|
ldr r2, [sp, #0x824]
|
|
rsb r0, r2, #0x800
|
|
cmp r0, #1
|
|
blt _02211F94
|
|
add r1, r2, #1
|
|
str r1, [sp, #0x824]
|
|
add r0, sp, #0x24
|
|
mov r1, #0
|
|
strb r1, [r0, r2]
|
|
_02211F94:
|
|
add r0, sl, #0xcc
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
ldr r0, [sl]
|
|
ldr r2, [sp, #0x824]
|
|
add r1, sp, #0x24
|
|
mov r3, #0
|
|
bl ov00_021FF984
|
|
bl ov00_021FF368
|
|
str r0, [sl, #0xac]
|
|
str r0, [sl, #0xb0]
|
|
cmp sb, #0
|
|
movne r0, #0
|
|
strne r0, [sl, #0xb4]
|
|
add sp, sp, #0x28
|
|
add sp, sp, #0x800
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02211FDC: .word _0221B878
|
|
_02211FE0: .word _02219F24
|
|
_02211FE4: .word _0221B87C
|
|
_02211FE8: .word _02219F30
|
|
_02211FEC: .word _02219F3C
|
|
_02211FF0: .word _02219F44
|
|
_02211FF4: .word _02219F48
|
|
_02211FF8: .word _02219F4C
|
|
_02211FFC: .word _02219F5C
|
|
_02212000: .word _02219F68
|
|
_02212004: .word _02219F74
|
|
arm_func_end ov00_02211DFC
|
|
|
|
arm_func_start ov00_02212008
|
|
ov00_02212008: ; 0x02212008
|
|
cmp r0, #0x32
|
|
bxlt lr
|
|
cmp r0, #0xfe
|
|
bxgt lr
|
|
ldr r2, _02212024 ; =_0221A0B8
|
|
str r1, [r2, r0, lsl #2]
|
|
bx lr
|
|
.align 2, 0
|
|
_02212024: .word _0221A0B8
|
|
arm_func_end ov00_02212008
|
|
|
|
arm_func_start ov00_02212028
|
|
ov00_02212028: ; 0x02212028
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
ldr r7, [sp, #0x28]
|
|
ldr r6, [sp, #0x2c]
|
|
movs sb, r1
|
|
mov sl, r0
|
|
mov fp, r2
|
|
mov r8, r3
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
cmp sb, #1
|
|
mov r4, #0
|
|
mov r5, #1
|
|
bls _0221206C
|
|
_0221205C:
|
|
mov r0, r5, lsl #1
|
|
add r5, r0, #1
|
|
cmp r5, sb
|
|
blo _0221205C
|
|
_0221206C:
|
|
ldr r2, [r6]
|
|
add r0, r2, #1
|
|
str r0, [r6]
|
|
ldrb r1, [r7]
|
|
ldrb r0, [fp, r2]
|
|
ldrb r1, [sl, r1]
|
|
add r0, r1, r0
|
|
strb r0, [r7]
|
|
ldr r0, [r6]
|
|
cmp r0, r8
|
|
blo _022120AC
|
|
mov r0, #0
|
|
str r0, [r6]
|
|
ldrb r0, [r7]
|
|
add r0, r0, r8
|
|
strb r0, [r7]
|
|
_022120AC:
|
|
ldrb r0, [r7]
|
|
add r4, r4, #1
|
|
cmp r4, #0xb
|
|
and r0, r5, r0
|
|
bls _022120CC
|
|
mov r1, sb
|
|
bl sub_020F2BA4
|
|
mov r0, r1
|
|
_022120CC:
|
|
cmp r0, sb
|
|
bhi _0221206C
|
|
and r0, r0, #0xff
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
arm_func_end ov00_02212028
|
|
|
|
arm_func_start ov00_022120DC
|
|
ov00_022120DC: ; 0x022120DC
|
|
mov r1, #1
|
|
strb r1, [r0, #0x100]
|
|
mov r1, #3
|
|
strb r1, [r0, #0x101]
|
|
mov r1, #5
|
|
strb r1, [r0, #0x102]
|
|
mov r1, #7
|
|
strb r1, [r0, #0x103]
|
|
mov r1, #0xb
|
|
strb r1, [r0, #0x104]
|
|
mov r1, #0
|
|
mov r2, #0xff
|
|
_0221210C:
|
|
strb r2, [r0, r1]
|
|
add r1, r1, #1
|
|
cmp r1, #0x100
|
|
sub r2, r2, #1
|
|
blt _0221210C
|
|
bx lr
|
|
arm_func_end ov00_022120DC
|
|
|
|
arm_func_start ov00_02212124
|
|
ov00_02212124: ; 0x02212124
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x10
|
|
mov r7, r2
|
|
mov sb, r0
|
|
mov r8, r1
|
|
cmp r7, #1
|
|
bhs _0221214C
|
|
bl ov00_022120DC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_0221214C:
|
|
mov r0, #0
|
|
_02212150:
|
|
strb r0, [sb, r0]
|
|
add r0, r0, #1
|
|
cmp r0, #0x100
|
|
blt _02212150
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
strb r0, [sp, #8]
|
|
mov r6, #0xff
|
|
add r5, sp, #8
|
|
add r4, sp, #0xc
|
|
_02212178:
|
|
str r5, [sp]
|
|
mov r0, sb
|
|
mov r1, r6
|
|
mov r2, r8
|
|
mov r3, r7
|
|
str r4, [sp, #4]
|
|
bl ov00_02212028
|
|
ldrb r2, [sb, r6]
|
|
ldrb r1, [sb, r0]
|
|
strb r1, [sb, r6]
|
|
strb r2, [sb, r0]
|
|
subs r6, r6, #1
|
|
bpl _02212178
|
|
ldrb r1, [sb, #1]
|
|
mov r0, #0
|
|
strb r1, [sb, #0x100]
|
|
ldrb r1, [sb, #3]
|
|
strb r1, [sb, #0x101]
|
|
ldrb r1, [sb, #5]
|
|
strb r1, [sb, #0x102]
|
|
ldrb r1, [sb, #7]
|
|
strb r1, [sb, #0x103]
|
|
ldrb r1, [sp, #8]
|
|
ldrb r1, [sb, r1]
|
|
strb r1, [sb, #0x104]
|
|
strb r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
arm_func_end ov00_02212124
|
|
|
|
arm_func_start ov00_022121EC
|
|
ov00_022121EC: ; 0x022121EC
|
|
stmdb sp!, {r4, lr}
|
|
ldrb r4, [r0, #0x100]
|
|
add r2, r4, #1
|
|
strb r2, [r0, #0x100]
|
|
ldrb r3, [r0, #0x101]
|
|
ldrb r2, [r0, r4]
|
|
add r2, r3, r2
|
|
strb r2, [r0, #0x101]
|
|
ldrb r3, [r0, #0x104]
|
|
and r2, r2, #0xff
|
|
ldrb r2, [r0, r2]
|
|
ldrb r4, [r0, r3]
|
|
strb r2, [r0, r3]
|
|
ldrb r3, [r0, #0x103]
|
|
ldrb r2, [r0, #0x101]
|
|
ldrb r3, [r0, r3]
|
|
strb r3, [r0, r2]
|
|
ldrb r3, [r0, #0x100]
|
|
ldrb r2, [r0, #0x103]
|
|
ldrb r3, [r0, r3]
|
|
strb r3, [r0, r2]
|
|
ldrb r2, [r0, #0x100]
|
|
strb r4, [r0, r2]
|
|
ldrb r3, [r0, #0x102]
|
|
ldrb r2, [r0, r4]
|
|
add r4, r3, r2
|
|
strb r4, [r0, #0x102]
|
|
ldrb r3, [r0, #0x103]
|
|
ldrb r2, [r0, #0x104]
|
|
ldrb ip, [r0, #0x101]
|
|
ldrb lr, [r0, #0x100]
|
|
and r4, r4, #0xff
|
|
ldrb r3, [r0, r3]
|
|
ldrb r2, [r0, r2]
|
|
ldrb ip, [r0, ip]
|
|
ldrb r4, [r0, r4]
|
|
add r2, r3, r2
|
|
ldrb r3, [r0, lr]
|
|
add r2, ip, r2
|
|
and r2, r2, #0xff
|
|
add r3, r4, r3
|
|
ldrb r2, [r0, r2]
|
|
and r3, r3, #0xff
|
|
ldrb r3, [r0, r3]
|
|
ldrb r2, [r0, r2]
|
|
eor r3, r1, r3
|
|
eor r2, r3, r2
|
|
strb r2, [r0, #0x103]
|
|
strb r1, [r0, #0x104]
|
|
ldrb r0, [r0, #0x103]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_022121EC
|
|
|
|
arm_func_start ov00_022122B8
|
|
ov00_022122B8: ; 0x022122B8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r5, r2
|
|
mov r7, r0
|
|
mov r6, r1
|
|
mov r4, #0
|
|
cmp r5, #0
|
|
ldmleia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_022122D4:
|
|
ldrb r1, [r6, r4]
|
|
mov r0, r7
|
|
bl ov00_022121EC
|
|
strb r0, [r6, r4]
|
|
add r4, r4, #1
|
|
cmp r4, r5
|
|
blt _022122D4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_022122B8
|
|
|
|
arm_func_start ov00_022122F4
|
|
ov00_022122F4: ; 0x022122F4
|
|
ldr r2, [r0, #4]
|
|
cmp r2, #0
|
|
strne r1, [r2, #0x20]
|
|
str r1, [r0, #4]
|
|
mov r2, #0
|
|
str r2, [r1, #0x20]
|
|
ldr r2, [r0]
|
|
cmp r2, #0
|
|
streq r1, [r0]
|
|
ldr r1, [r0, #8]
|
|
add r1, r1, #1
|
|
str r1, [r0, #8]
|
|
bx lr
|
|
arm_func_end ov00_022122F4
|
|
|
|
arm_func_start ov00_02212328
|
|
ov00_02212328: ; 0x02212328
|
|
ldr r2, [r0]
|
|
str r2, [r1, #0x20]
|
|
str r1, [r0]
|
|
ldr r2, [r0, #4]
|
|
cmp r2, #0
|
|
streq r1, [r0, #4]
|
|
ldr r1, [r0, #8]
|
|
add r1, r1, #1
|
|
str r1, [r0, #8]
|
|
bx lr
|
|
arm_func_end ov00_02212328
|
|
|
|
arm_func_start ov00_02212350
|
|
ov00_02212350: ; 0x02212350
|
|
ldr r2, [r0]
|
|
cmp r2, #0
|
|
beq _0221237C
|
|
ldr r1, [r2, #0x20]
|
|
str r1, [r0]
|
|
cmp r1, #0
|
|
moveq r1, #0
|
|
streq r1, [r0, #4]
|
|
ldr r1, [r0, #8]
|
|
sub r1, r1, #1
|
|
str r1, [r0, #8]
|
|
_0221237C:
|
|
mov r0, r2
|
|
bx lr
|
|
arm_func_end ov00_02212350
|
|
|
|
arm_func_start ov00_02212384
|
|
ov00_02212384: ; 0x02212384
|
|
ldr r2, [r0]
|
|
mov r3, #0
|
|
cmp r2, #0
|
|
beq _022123E8
|
|
_02212394:
|
|
cmp r2, r1
|
|
bne _022123D8
|
|
cmp r3, #0
|
|
ldrne r1, [r2, #0x20]
|
|
strne r1, [r3, #0x20]
|
|
ldr r1, [r0]
|
|
cmp r1, r2
|
|
ldreq r1, [r2, #0x20]
|
|
streq r1, [r0]
|
|
ldr r1, [r0, #4]
|
|
cmp r1, r2
|
|
streq r3, [r0, #4]
|
|
ldr r1, [r0, #8]
|
|
sub r1, r1, #1
|
|
str r1, [r0, #8]
|
|
mov r0, #1
|
|
bx lr
|
|
_022123D8:
|
|
mov r3, r2
|
|
ldr r2, [r2, #0x20]
|
|
cmp r2, #0
|
|
bne _02212394
|
|
_022123E8:
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end ov00_02212384
|
|
|
|
arm_func_start ov00_022123F0
|
|
ov00_022123F0: ; 0x022123F0
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
str r1, [r0]
|
|
str r1, [r0, #8]
|
|
bx lr
|
|
arm_func_end ov00_022123F0
|
|
|
|
arm_func_start ov00_02212404
|
|
ov00_02212404: ; 0x02212404
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x110
|
|
mov r5, r0
|
|
mov r4, r1
|
|
add r0, r5, #8
|
|
bl ov00_022122F4
|
|
bl ov00_021FF368
|
|
str r0, [r4, #0x1c]
|
|
mov r0, #2
|
|
strb r0, [sp, #9]
|
|
ldrb r1, [r4, #0x14]
|
|
tst r1, #0x20
|
|
addne sp, sp, #0x110
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r0, [r5]
|
|
cmp r0, #1
|
|
bne _02212508
|
|
mov r2, #0xfe
|
|
mov r1, #0xfd
|
|
mov r0, #0
|
|
strb r2, [sp, #0x10]
|
|
strb r1, [sp, #0x11]
|
|
strb r0, [sp, #0x12]
|
|
ldrb r2, [r4, #0x1c]
|
|
ldrb r1, [r4, #0x1d]
|
|
add r3, sp, #0x13
|
|
strb r2, [r3]
|
|
strb r1, [r3, #1]
|
|
ldrb r2, [r4, #0x1e]
|
|
ldrb r1, [r4, #0x1f]
|
|
strb r2, [r3, #2]
|
|
strb r1, [r3, #3]
|
|
ldrb r1, [r4, #0x14]
|
|
tst r1, #4
|
|
beq _022124F0
|
|
ldr r1, [r5, #0x40]
|
|
strb r1, [sp, #0x17]
|
|
ldr r3, [r5, #0x40]
|
|
cmp r3, #0
|
|
ble _022124C8
|
|
add r2, sp, #0x10
|
|
_022124A8:
|
|
add r1, r5, r0
|
|
ldrb r1, [r1, #0x2c]
|
|
add r0, r0, #1
|
|
strb r1, [r2, #8]
|
|
ldr r3, [r5, #0x40]
|
|
add r2, r2, #1
|
|
cmp r0, r3
|
|
blt _022124A8
|
|
_022124C8:
|
|
add r1, sp, #0x10
|
|
add r0, r3, #8
|
|
mov r2, #0
|
|
strb r2, [r1, r0]
|
|
ldr r0, [r5, #0x40]
|
|
add r0, r0, #9
|
|
strb r2, [r1, r0]
|
|
ldr r0, [r5, #0x40]
|
|
add r2, r0, #0xa
|
|
b _02212578
|
|
_022124F0:
|
|
mov r0, #0xff
|
|
strb r0, [sp, #0x17]
|
|
strb r0, [sp, #0x18]
|
|
strb r0, [sp, #0x19]
|
|
mov r2, #0xa
|
|
b _02212578
|
|
_02212508:
|
|
tst r1, #4
|
|
add ip, sp, #0x10
|
|
beq _0221254C
|
|
ldr r3, _022125DC ; =_0221A4B0
|
|
mov r2, #6
|
|
_0221251C:
|
|
ldrb r1, [r3]
|
|
ldrb r0, [r3, #1]
|
|
add r3, r3, #2
|
|
strb r1, [ip]
|
|
strb r0, [ip, #1]
|
|
add ip, ip, #2
|
|
subs r2, r2, #1
|
|
bne _0221251C
|
|
ldrb r0, [r3]
|
|
mov r2, #0xd
|
|
strb r0, [ip]
|
|
b _02212578
|
|
_0221254C:
|
|
ldr r3, _022125E0 ; =_0221A4C0
|
|
mov r2, #4
|
|
_02212554:
|
|
ldrb r1, [r3]
|
|
ldrb r0, [r3, #1]
|
|
add r3, r3, #2
|
|
strb r1, [ip]
|
|
strb r0, [ip, #1]
|
|
add ip, ip, #2
|
|
subs r2, r2, #1
|
|
bne _02212554
|
|
mov r2, #8
|
|
_02212578:
|
|
ldr r1, [r4]
|
|
ldr r0, [r5, #0x28]
|
|
cmp r1, r0
|
|
bne _022125A8
|
|
ldrb r0, [r4, #0x15]
|
|
tst r0, #2
|
|
beq _022125A8
|
|
ldr r0, [r4, #8]
|
|
str r0, [sp, #0xc]
|
|
ldrh r0, [r4, #0xc]
|
|
strh r0, [sp, #0xa]
|
|
b _022125B4
|
|
_022125A8:
|
|
str r1, [sp, #0xc]
|
|
ldrh r0, [r4, #4]
|
|
strh r0, [sp, #0xa]
|
|
_022125B4:
|
|
add r1, sp, #8
|
|
str r1, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x20]
|
|
add r1, sp, #0x10
|
|
mov r3, #0
|
|
bl ov00_021FF984
|
|
add sp, sp, #0x110
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022125DC: .word _0221A4B0
|
|
_022125E0: .word _0221A4C0
|
|
arm_func_end ov00_02212404
|
|
|
|
arm_func_start ov00_022125E4
|
|
ov00_022125E4: ; 0x022125E4
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r5, r1
|
|
mov r4, r2
|
|
cmp r3, #0
|
|
bne _0221260C
|
|
ldr r0, _02212654 ; =_0221B0D0
|
|
ldr r0, [r0]
|
|
cmp r0, #1
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
_0221260C:
|
|
bl ov00_021FF3CC
|
|
stmia r6, {r4, r5}
|
|
mov r2, #0
|
|
ldr r3, [sp, #0x10]
|
|
str r2, [r6, #0x40]
|
|
ldr r1, [sp, #0x14]
|
|
str r3, [r6, #0x44]
|
|
str r1, [r6, #0x48]
|
|
mov r0, #2
|
|
mov r1, r0
|
|
str r2, [r6, #0x28]
|
|
bl ov00_021FF804
|
|
str r0, [r6, #0x20]
|
|
add r0, r6, #0x14
|
|
bl ov00_022123F0
|
|
add r0, r6, #8
|
|
bl ov00_022123F0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02212654: .word _0221B0D0
|
|
arm_func_end ov00_022125E4
|
|
|
|
arm_func_start ov00_02212658
|
|
ov00_02212658: ; 0x02212658
|
|
str r1, [r0, #0x28]
|
|
bx lr
|
|
arm_func_end ov00_02212658
|
|
|
|
arm_func_start ov00_02212660
|
|
ov00_02212660: ; 0x02212660
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r0, r4, #0x14
|
|
bl ov00_022123F0
|
|
add r0, r4, #8
|
|
bl ov00_022123F0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_02212660
|
|
|
|
arm_func_start ov00_0221267C
|
|
ov00_0221267C: ; 0x0221267C
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x20]
|
|
bl ov00_021FF818
|
|
mvn r1, #0
|
|
add r0, r4, #0x14
|
|
str r1, [r4, #0x20]
|
|
bl ov00_022123F0
|
|
add r0, r4, #8
|
|
bl ov00_022123F0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0221267C
|
|
|
|
arm_func_start ov00_022126A8
|
|
ov00_022126A8: ; 0x022126A8
|
|
stmdb sp!, {r3, lr}
|
|
ldrb ip, [r1, #0x14]
|
|
cmp r3, #0
|
|
and ip, ip, #0xc3
|
|
strb ip, [r1, #0x14]
|
|
bne _022126D0
|
|
ldrb r3, [r1, #0x14]
|
|
orr r3, r3, #4
|
|
strb r3, [r1, #0x14]
|
|
b _022126F0
|
|
_022126D0:
|
|
cmp r3, #1
|
|
bne _022126E8
|
|
ldrb r3, [r1, #0x14]
|
|
orr r3, r3, #8
|
|
strb r3, [r1, #0x14]
|
|
b _022126F0
|
|
_022126E8:
|
|
cmp r3, #2
|
|
ldmeqia sp!, {r3, pc}
|
|
_022126F0:
|
|
ldr ip, [r0, #0x10]
|
|
ldr r3, [r0, #4]
|
|
cmp ip, r3
|
|
bge _02212708
|
|
bl ov00_02212404
|
|
ldmia sp!, {r3, pc}
|
|
_02212708:
|
|
cmp r2, #0
|
|
add r0, r0, #0x14
|
|
beq _0221271C
|
|
bl ov00_02212328
|
|
ldmia sp!, {r3, pc}
|
|
_0221271C:
|
|
bl ov00_022122F4
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_022126A8
|
|
|
|
arm_func_start ov00_02212724
|
|
ov00_02212724: ; 0x02212724
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
mov r8, r2
|
|
ldrsb r2, [r8]
|
|
mov sl, r0
|
|
mov sb, r1
|
|
mov r7, r3
|
|
cmp r2, #0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
ldrb r0, [sb, #0x14]
|
|
add r8, r8, #5
|
|
sub r7, r7, #5
|
|
tst r0, #4
|
|
beq _022127C0
|
|
ldr r0, [sl, #0x40]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
ble _022127B0
|
|
ldr r4, _02212820 ; =_0221A0B8
|
|
_0221276C:
|
|
mov r0, r8
|
|
mov r1, r7
|
|
bl ov00_02213FD4
|
|
movs r5, r0
|
|
bmi _022127B0
|
|
add r0, sl, r6
|
|
ldrb r1, [r0, #0x2c]
|
|
mov r0, sb
|
|
mov r2, r8
|
|
ldr r1, [r4, r1, lsl #2]
|
|
bl ov00_02212CD0
|
|
ldr r0, [sl, #0x40]
|
|
add r6, r6, #1
|
|
cmp r6, r0
|
|
add r8, r8, r5
|
|
sub r7, r7, r5
|
|
blt _0221276C
|
|
_022127B0:
|
|
ldrb r0, [sb, #0x14]
|
|
orr r0, r0, #0x41
|
|
strb r0, [sb, #0x14]
|
|
b _022127DC
|
|
_022127C0:
|
|
mov r0, sb
|
|
mov r1, r8
|
|
mov r2, r7
|
|
bl ov00_02213044
|
|
ldrb r0, [sb, #0x14]
|
|
orr r0, r0, #0x43
|
|
strb r0, [sb, #0x14]
|
|
_022127DC:
|
|
ldrb r0, [sb, #0x14]
|
|
and r0, r0, #0xf3
|
|
strb r0, [sb, #0x14]
|
|
bl ov00_021FF368
|
|
ldr r2, [sb, #0x1c]
|
|
mov r1, sb
|
|
sub r0, r0, r2
|
|
str r0, [sb, #0x1c]
|
|
add r0, sl, #8
|
|
bl ov00_02212384
|
|
ldr r3, [sl, #0x48]
|
|
ldr r4, [sl, #0x44]
|
|
mov r0, sl
|
|
mov r2, sb
|
|
mov r1, #0
|
|
blx r4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
_02212820: .word _0221A0B8
|
|
arm_func_end ov00_02212724
|
|
|
|
arm_func_start ov00_02212824
|
|
ov00_02212824: ; 0x02212824
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r4, r1
|
|
mov r7, r2
|
|
mov r5, r0
|
|
ldr r1, _022128B8 ; =_0221A4CC
|
|
mov r0, r7
|
|
bl sub_020E9AD0
|
|
cmp r0, #0
|
|
movne r6, #1
|
|
moveq r6, #0
|
|
mov r0, r4
|
|
mov r1, r7
|
|
bl ov00_02212FC4
|
|
cmp r6, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldrb r0, [r4, #0x14]
|
|
tst r0, #4
|
|
orrne r0, r0, #0x41
|
|
orreq r0, r0, #0x42
|
|
strb r0, [r4, #0x14]
|
|
ldrb r0, [r4, #0x14]
|
|
and r0, r0, #0xf3
|
|
strb r0, [r4, #0x14]
|
|
bl ov00_021FF368
|
|
ldr r2, [r4, #0x1c]
|
|
mov r1, r4
|
|
sub r0, r0, r2
|
|
str r0, [r4, #0x1c]
|
|
add r0, r5, #8
|
|
bl ov00_02212384
|
|
ldr r3, [r5, #0x48]
|
|
ldr ip, [r5, #0x44]
|
|
mov r0, r5
|
|
mov r2, r4
|
|
mov r1, #0
|
|
blx ip
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022128B8: .word _0221A4CC
|
|
arm_func_end ov00_02212824
|
|
|
|
arm_func_start ov00_022128BC
|
|
ov00_022128BC: ; 0x022128BC
|
|
mov r0, #1
|
|
bx lr
|
|
arm_func_end ov00_022128BC
|
|
|
|
arm_func_start ov00_022128C4
|
|
ov00_022128C4: ; 0x022128C4
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x14
|
|
sub sp, sp, #0x800
|
|
movs r8, r1
|
|
mov r1, #8
|
|
mov sb, r0
|
|
str r1, [sp, #8]
|
|
ldrne r7, [sb, #0x24]
|
|
ldreq r7, [sb, #0x20]
|
|
mov r0, r7
|
|
bl ov00_021FF694
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x14
|
|
addeq sp, sp, #0x800
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
_02212900:
|
|
add r0, sp, #0xc
|
|
str r0, [sp]
|
|
add r4, sp, #8
|
|
ldr r2, _02212A54 ; =0x000007FF
|
|
add r1, sp, #0x14
|
|
mov r0, r7
|
|
mov r3, #0
|
|
str r4, [sp, #4]
|
|
bl ov00_021FF940
|
|
mov r5, r0
|
|
mvn r0, #0
|
|
cmp r5, r0
|
|
addeq sp, sp, #0x14
|
|
addeq sp, sp, #0x800
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
add r4, sp, #0x14
|
|
mov r0, #0
|
|
strb r0, [r4, r5]
|
|
ldr r6, [sb, #8]
|
|
cmp r6, #0
|
|
beq _02212A38
|
|
_02212954:
|
|
cmp r8, #0
|
|
beq _02212978
|
|
ldrb r0, [r6, #0x15]
|
|
tst r0, #8
|
|
beq _02212978
|
|
ldr r1, [r6, #0x10]
|
|
ldr r0, [sp, #0x10]
|
|
cmp r1, r0
|
|
beq _022129D0
|
|
_02212978:
|
|
ldr r3, [sp, #0x10]
|
|
ldr r2, [r6]
|
|
cmp r2, r3
|
|
bne _022129A0
|
|
ldrh r1, [r6, #4]
|
|
ldrh r0, [sp, #0xe]
|
|
cmp r1, r0
|
|
beq _022129D0
|
|
cmp r8, #0
|
|
bne _022129D0
|
|
_022129A0:
|
|
ldr r0, [sb, #0x28]
|
|
cmp r2, r0
|
|
bne _02212A2C
|
|
ldrb r0, [r6, #0x15]
|
|
tst r0, #2
|
|
beq _02212A2C
|
|
ldr r0, [r6, #8]
|
|
cmp r0, r3
|
|
ldreqh r1, [r6, #0xc]
|
|
ldreqh r0, [sp, #0xe]
|
|
cmpeq r1, r0
|
|
bne _02212A2C
|
|
_022129D0:
|
|
cmp r8, #0
|
|
beq _022129F8
|
|
mov r0, sb
|
|
mov r1, r6
|
|
mov r2, r4
|
|
mov r3, r5
|
|
bl ov00_022128BC
|
|
cmp r0, #0
|
|
bne _02212A38
|
|
b _02212A2C
|
|
_022129F8:
|
|
ldr r0, [sb]
|
|
add r2, sp, #0x14
|
|
cmp r0, #1
|
|
mov r0, sb
|
|
bne _02212A1C
|
|
mov r1, r6
|
|
mov r3, r5
|
|
bl ov00_02212724
|
|
b _02212A38
|
|
_02212A1C:
|
|
mov r1, r6
|
|
mov r3, r5
|
|
bl ov00_02212824
|
|
b _02212A38
|
|
_02212A2C:
|
|
ldr r6, [r6, #0x20]
|
|
cmp r6, #0
|
|
bne _02212954
|
|
_02212A38:
|
|
mov r0, r7
|
|
bl ov00_021FF694
|
|
cmp r0, #0
|
|
bne _02212900
|
|
add sp, sp, #0x14
|
|
add sp, sp, #0x800
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_02212A54: .word 0x000007FF
|
|
arm_func_end ov00_022128C4
|
|
|
|
arm_func_start ov00_02212A58
|
|
ov00_02212A58: ; 0x02212A58
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r6, r0
|
|
bl ov00_021FF368
|
|
ldr r3, [r6, #8]
|
|
mov r5, r0
|
|
cmp r3, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r4, _02212AE4 ; =0x000009C4
|
|
mov r7, #1
|
|
_02212A7C:
|
|
ldr r0, [r3, #0x1c]
|
|
add r0, r0, #0x1c4
|
|
add r0, r0, #0x800
|
|
cmp r5, r0
|
|
ldmlsia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldrb r2, [r3, #0x15]
|
|
mov r0, r6
|
|
mov r1, r7
|
|
orr r2, r2, #0x10
|
|
strb r2, [r3, #0x15]
|
|
ldr r2, [r6, #8]
|
|
str r4, [r2, #0x1c]
|
|
ldr r3, [r6, #8]
|
|
ldrb r2, [r3, #0x15]
|
|
and r2, r2, #0xd3
|
|
strb r2, [r3, #0x15]
|
|
ldr r2, [r6, #8]
|
|
ldr r3, [r6, #0x48]
|
|
ldr ip, [r6, #0x44]
|
|
blx ip
|
|
add r0, r6, #8
|
|
bl ov00_02212350
|
|
ldr r3, [r6, #8]
|
|
cmp r3, #0
|
|
bne _02212A7C
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02212AE4: .word 0x000009C4
|
|
arm_func_end ov00_02212A58
|
|
|
|
arm_func_start ov00_02212AE8
|
|
ov00_02212AE8: ; 0x02212AE8
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
b _02212B08
|
|
_02212AF4:
|
|
add r0, r4, #0x14
|
|
bl ov00_02212350
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl ov00_02212404
|
|
_02212B08:
|
|
ldr r1, [r4, #0x10]
|
|
ldr r0, [r4, #4]
|
|
cmp r1, r0
|
|
ldmgeia sp!, {r4, pc}
|
|
ldr r0, [r4, #0x1c]
|
|
cmp r0, #0
|
|
bgt _02212AF4
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_02212AE8
|
|
|
|
arm_func_start ov00_02212B28
|
|
ov00_02212B28: ; 0x02212B28
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r1, [r4, #0x10]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r1, #0
|
|
bl ov00_022128C4
|
|
mov r0, r4
|
|
bl ov00_02212A58
|
|
ldr r0, [r4, #0x1c]
|
|
cmp r0, #0
|
|
ble _02212B60
|
|
mov r0, r4
|
|
bl ov00_02212AE8
|
|
_02212B60:
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r3, [r4, #0x48]
|
|
ldr ip, [r4, #0x44]
|
|
mov r0, r4
|
|
mov r1, #2
|
|
mov r2, #0
|
|
blx ip
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_02212B28
|
|
|
|
arm_func_start ov00_02212B88
|
|
ov00_02212B88: ; 0x02212B88
|
|
ldr r3, [r0, #0x40]
|
|
cmp r3, #0x14
|
|
bxge lr
|
|
add r2, r3, #1
|
|
str r2, [r0, #0x40]
|
|
add r0, r0, r3
|
|
strb r1, [r0, #0x2c]
|
|
bx lr
|
|
arm_func_end ov00_02212B88
|
|
|
|
arm_func_start ov00_02212BA8
|
|
ov00_02212BA8: ; 0x02212BA8
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
add r0, r5, #8
|
|
mov r4, r1
|
|
bl ov00_02212384
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
mov r1, r4
|
|
add r0, r5, #0x14
|
|
bl ov00_02212384
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_02212BA8
|
|
|
|
arm_func_start ov00_02212BD4
|
|
ov00_02212BD4: ; 0x02212BD4
|
|
ldr ip, _02212BE0 ; =ov00_0221321C
|
|
ldr r0, [r0]
|
|
bx ip
|
|
.align 2, 0
|
|
_02212BE0: .word ov00_0221321C
|
|
arm_func_end ov00_02212BD4
|
|
|
|
arm_func_start ov00_02212BE4
|
|
ov00_02212BE4: ; 0x02212BE4
|
|
ldr ip, _02212BF4 ; =sub_020F03D0
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bx ip
|
|
.align 2, 0
|
|
_02212BF4: .word sub_020F03D0
|
|
arm_func_end ov00_02212BE4
|
|
|
|
arm_func_start ov00_02212BF8
|
|
ov00_02212BF8: ; 0x02212BF8
|
|
ldr ip, _02212C04 ; =ov00_021EC3D8
|
|
ldr r0, [r0]
|
|
bx ip
|
|
.align 2, 0
|
|
_02212C04: .word ov00_021EC3D8
|
|
arm_func_end ov00_02212BF8
|
|
|
|
arm_func_start ov00_02212C08
|
|
ov00_02212C08: ; 0x02212C08
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #8
|
|
ldr r0, _02212C5C ; =_0221B9D0
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #0
|
|
bne _02212C4C
|
|
ldr r0, _02212C60 ; =ov00_02212BE4
|
|
ldr ip, _02212C64 ; =ov00_02212BF8
|
|
str r0, [sp]
|
|
ldr r3, _02212C68 ; =ov00_02212BD4
|
|
mov r0, #8
|
|
mov r1, #0x64
|
|
mov r2, #2
|
|
str ip, [sp, #4]
|
|
bl ov00_021FED4C
|
|
ldr r1, _02212C5C ; =_0221B9D0
|
|
str r0, [r1, #8]
|
|
_02212C4C:
|
|
ldr r0, _02212C5C ; =_0221B9D0
|
|
ldr r0, [r0, #8]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02212C5C: .word _0221B9D0
|
|
_02212C60: .word ov00_02212BE4
|
|
_02212C64: .word ov00_02212BF8
|
|
_02212C68: .word ov00_02212BD4
|
|
arm_func_end ov00_02212C08
|
|
|
|
arm_func_start ov00_02212C6C
|
|
ov00_02212C6C: ; 0x02212C6C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02212CA8 ; =_0221B9D0
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov00_021FEF00
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, _02212CA8 ; =_0221B9D0
|
|
ldr r0, [r0, #8]
|
|
bl ov00_021FEE8C
|
|
ldr r0, _02212CA8 ; =_0221B9D0
|
|
mov r1, #0
|
|
str r1, [r0, #8]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02212CA8: .word _0221B9D0
|
|
arm_func_end ov00_02212C6C
|
|
|
|
arm_func_start ov00_02212CAC
|
|
ov00_02212CAC: ; 0x02212CAC
|
|
stmdb sp!, {r4, lr}
|
|
ldr r4, [r0]
|
|
ldr r0, [r4, #0x18]
|
|
bl ov00_021FEE8C
|
|
mov r1, #0
|
|
mov r0, r4
|
|
str r1, [r4, #0x18]
|
|
bl ov00_021EC3D8
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_02212CAC
|
|
|
|
arm_func_start ov00_02212CD0
|
|
ov00_02212CD0: ; 0x02212CD0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #8
|
|
mov r5, r0
|
|
mov r4, r2
|
|
mov r0, #0
|
|
bl ov00_02213EE8
|
|
str r0, [sp]
|
|
mov r1, r4
|
|
mov r0, #0
|
|
bl ov00_02213EE8
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x18]
|
|
add r1, sp, #0
|
|
bl ov00_021FEF74
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_02212CD0
|
|
|
|
arm_func_start ov00_02212D10
|
|
ov00_02212D10: ; 0x02212D10
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x14
|
|
mov r4, r1
|
|
mov r5, r0
|
|
ldr r1, _02212D44 ; =_0221A4FC
|
|
add r0, sp, #0
|
|
bl sub_020E7F30
|
|
add r2, sp, #0
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_02212CD0
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
_02212D44: .word _0221A4FC
|
|
arm_func_end ov00_02212D10
|
|
|
|
arm_func_start ov00_02212D48
|
|
ov00_02212D48: ; 0x02212D48
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #8
|
|
movs r6, r0
|
|
mov r5, r1
|
|
mov r4, r2
|
|
bne _02212D74
|
|
ldr r0, _02212DA8 ; =_0221A500
|
|
ldr r1, _02212DAC ; =_0221A508
|
|
ldr r2, _02212DB0 ; =_0221A4E4
|
|
mov r3, #0x97
|
|
bl sub_020E4A9C
|
|
_02212D74:
|
|
cmp r6, #0
|
|
addeq sp, sp, #8
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
str r5, [sp]
|
|
ldr r0, [r6, #0x18]
|
|
add r1, sp, #0
|
|
bl ov00_021FF0C0
|
|
cmp r0, #0
|
|
ldrne r4, [r0, #4]
|
|
mov r0, r4
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02212DA8: .word _0221A500
|
|
_02212DAC: .word _0221A508
|
|
_02212DB0: .word _0221A4E4
|
|
arm_func_end ov00_02212D48
|
|
|
|
arm_func_start ov00_02212DB4
|
|
ov00_02212DB4: ; 0x02212DB4
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r1
|
|
mov r6, r0
|
|
ldr r1, _02212E3C ; =_0221A514
|
|
mov r0, r5
|
|
mov r4, r2
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
mov r0, r6
|
|
bne _02212DE4
|
|
bl ov00_022132BC
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02212DE4:
|
|
mov r1, r5
|
|
mov r2, #0
|
|
bl ov00_02212D48
|
|
cmp r0, #0
|
|
beq _02212E2C
|
|
ldrb r2, [r0]
|
|
cmp r2, #0
|
|
blt _02212E0C
|
|
cmp r2, #0x80
|
|
blt _02212E14
|
|
_02212E0C:
|
|
mov r1, #0
|
|
b _02212E24
|
|
_02212E14:
|
|
ldr r1, _02212E40 ; =0x0210E504
|
|
mov r2, r2, lsl #1
|
|
ldrh r1, [r1, r2]
|
|
and r1, r1, #8
|
|
_02212E24:
|
|
cmp r1, #0
|
|
bne _02212E34
|
|
_02212E2C:
|
|
mov r0, r4
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02212E34:
|
|
bl sub_020EB82C
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02212E3C: .word _0221A514
|
|
_02212E40: .word 0x0210E504
|
|
arm_func_end ov00_02212DB4
|
|
|
|
arm_func_start ov00_02212E44
|
|
ov00_02212E44: ; 0x02212E44
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r2
|
|
mov r2, #0
|
|
mov r4, r3
|
|
bl ov00_02212D48
|
|
cmp r0, #0
|
|
beq _02212E6C
|
|
bl sub_020EAE68
|
|
mov r5, r0
|
|
mov r4, r1
|
|
_02212E6C:
|
|
mov r0, r5
|
|
mov r1, r4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_02212E44
|
|
|
|
arm_func_start ov00_02212E78
|
|
ov00_02212E78: ; 0x02212E78
|
|
ldr r0, [r0]
|
|
bx lr
|
|
arm_func_end ov00_02212E78
|
|
|
|
arm_func_start ov00_02212E80
|
|
ov00_02212E80: ; 0x02212E80
|
|
ldrh r0, [r0, #4]
|
|
mov r1, r0, asr #8
|
|
mov r0, r0, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
bx lr
|
|
arm_func_end ov00_02212E80
|
|
|
|
arm_func_start ov00_02212EA4
|
|
ov00_02212EA4: ; 0x02212EA4
|
|
ldrh r0, [r0, #4]
|
|
bx lr
|
|
arm_func_end ov00_02212EA4
|
|
|
|
arm_func_start ov00_02212EAC
|
|
ov00_02212EAC: ; 0x02212EAC
|
|
ldrb r0, [r0, #0x15]
|
|
and r0, r0, #2
|
|
cmp r0, #2
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
bx lr
|
|
arm_func_end ov00_02212EAC
|
|
|
|
arm_func_start ov00_02212EC4
|
|
ov00_02212EC4: ; 0x02212EC4
|
|
ldr r0, [r0, #8]
|
|
bx lr
|
|
arm_func_end ov00_02212EC4
|
|
|
|
arm_func_start ov00_02212ECC
|
|
ov00_02212ECC: ; 0x02212ECC
|
|
ldrh r0, [r0, #0xc]
|
|
mov r1, r0, asr #8
|
|
mov r0, r0, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
bx lr
|
|
arm_func_end ov00_02212ECC
|
|
|
|
arm_func_start ov00_02212EF0
|
|
ov00_02212EF0: ; 0x02212EF0
|
|
str r1, [r0, #0x20]
|
|
bx lr
|
|
arm_func_end ov00_02212EF0
|
|
|
|
arm_func_start ov00_02212EF8
|
|
ov00_02212EF8: ; 0x02212EF8
|
|
ldr r0, [r0, #0x20]
|
|
bx lr
|
|
arm_func_end ov00_02212EF8
|
|
|
|
arm_func_start ov00_02212F00
|
|
ov00_02212F00: ; 0x02212F00
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #8
|
|
ldr r1, _02212F5C ; =_022163F0
|
|
add r4, sp, #0
|
|
ldr r2, [r1]
|
|
ldr r1, [r1, #4]
|
|
mov r6, r0
|
|
str r2, [sp]
|
|
str r1, [sp, #4]
|
|
mov r5, #0
|
|
_02212F28:
|
|
ldr r1, [r4, r5, lsl #2]
|
|
mov r0, r6
|
|
bl sub_020E9734
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
add r5, r5, #1
|
|
cmp r5, #2
|
|
blo _02212F28
|
|
mov r0, #1
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02212F5C: .word _022163F0
|
|
arm_func_end ov00_02212F00
|
|
|
|
arm_func_start ov00_02212F60
|
|
ov00_02212F60: ; 0x02212F60
|
|
cmp r0, #0
|
|
ldrne r2, _02212FC0 ; =_0221B9D0
|
|
strne r0, [r2]
|
|
ldr r2, _02212FC0 ; =_0221B9D0
|
|
ldr r0, [r2]
|
|
mov ip, r0
|
|
b _02212F84
|
|
_02212F7C:
|
|
add ip, ip, #1
|
|
str ip, [r2]
|
|
_02212F84:
|
|
ldrsb r3, [ip]
|
|
cmp r3, #0
|
|
cmpne r3, r1
|
|
bne _02212F7C
|
|
cmp ip, r0
|
|
moveq r0, #0
|
|
cmp r3, #0
|
|
bxeq lr
|
|
ldr r1, _02212FC0 ; =_0221B9D0
|
|
mov r2, #0
|
|
ldr r3, [r1]
|
|
strb r2, [ip]
|
|
add r2, r3, #1
|
|
str r2, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_02212FC0: .word _0221B9D0
|
|
arm_func_end ov00_02212F60
|
|
|
|
arm_func_start ov00_02212FC4
|
|
ov00_02212FC4: ; 0x02212FC4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov sl, r0
|
|
add r0, r1, #1
|
|
mov r1, #0x5c
|
|
bl ov00_02212F60
|
|
movs r8, r0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
mov r4, #0
|
|
mov fp, #0x5c
|
|
ldr r5, _02213040 ; =_0221A51C
|
|
mov r7, r4
|
|
mov r6, fp
|
|
_02212FF4:
|
|
mov r0, r7
|
|
mov r1, r6
|
|
bl ov00_02212F60
|
|
movs sb, r0
|
|
mov r0, r8
|
|
moveq sb, r5
|
|
bl ov00_02212F00
|
|
cmp r0, #0
|
|
beq _02213028
|
|
mov r0, sl
|
|
mov r1, r8
|
|
mov r2, sb
|
|
bl ov00_02212CD0
|
|
_02213028:
|
|
mov r0, r4
|
|
mov r1, fp
|
|
bl ov00_02212F60
|
|
movs r8, r0
|
|
bne _02212FF4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02213040: .word _0221A51C
|
|
arm_func_end ov00_02212FC4
|
|
|
|
arm_func_start ov00_02213044
|
|
ov00_02213044: ; 0x02213044
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x8c
|
|
mov sl, r1
|
|
ldrsb r1, [sl]
|
|
mov fp, r0
|
|
mov sb, r2
|
|
cmp r1, #0
|
|
beq _022130C4
|
|
_02213064:
|
|
mov r0, sl
|
|
mov r1, sb
|
|
bl ov00_02213FD4
|
|
cmp r0, #0
|
|
addlt sp, sp, #0x8c
|
|
ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
mov r4, sl
|
|
sub sb, sb, r0
|
|
add sl, sl, r0
|
|
mov r0, sl
|
|
mov r1, sb
|
|
bl ov00_02213FD4
|
|
cmp r0, #0
|
|
addlt sp, sp, #0x8c
|
|
ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
mov r2, sl
|
|
mov r1, r4
|
|
add sl, sl, r0
|
|
sub sb, sb, r0
|
|
mov r0, fp
|
|
bl ov00_02212CD0
|
|
ldrsb r0, [sl]
|
|
cmp r0, #0
|
|
bne _02213064
|
|
_022130C4:
|
|
mov r0, #0
|
|
add sl, sl, #1
|
|
sub sb, sb, #1
|
|
str r0, [sp]
|
|
_022130D4:
|
|
cmp sb, #2
|
|
addlt sp, sp, #0x8c
|
|
ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldrb r1, [sl]
|
|
ldrb r0, [sl, #1]
|
|
add r2, sp, #8
|
|
add sl, sl, #2
|
|
strb r1, [r2]
|
|
strb r0, [r2, #1]
|
|
ldrh r0, [sp, #8]
|
|
str sl, [sp, #4]
|
|
sub sb, sb, #2
|
|
mov r1, r0, asr #8
|
|
mov r0, r0, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
strh r0, [sp, #8]
|
|
ldrsb r0, [sl]
|
|
mov r5, #0
|
|
cmp r0, #0
|
|
beq _02213164
|
|
_0221312C:
|
|
mov r0, sl
|
|
mov r1, sb
|
|
bl ov00_02213FD4
|
|
cmp r0, #0
|
|
addlt sp, sp, #0x8c
|
|
ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
cmp r0, #0x64
|
|
addgt sp, sp, #0x8c
|
|
ldmgtia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldrsb r1, [sl, r0]!
|
|
add r5, r5, #1
|
|
sub sb, sb, r0
|
|
cmp r1, #0
|
|
bne _0221312C
|
|
_02213164:
|
|
ldrh r0, [sp, #8]
|
|
add sl, sl, #1
|
|
sub sb, sb, #1
|
|
cmp r0, #0
|
|
mov r6, #0
|
|
ble _022131FC
|
|
_0221317C:
|
|
ldr r8, [sp, #4]
|
|
mov r7, #0
|
|
cmp r5, #0
|
|
ble _022131EC
|
|
_0221318C:
|
|
mov r0, sl
|
|
mov r1, sb
|
|
bl ov00_02213FD4
|
|
movs r4, r0
|
|
addmi sp, sp, #0x8c
|
|
ldmmiia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _02213218 ; =_0221A520
|
|
add r0, sp, #0xa
|
|
mov r2, r8
|
|
mov r3, r6
|
|
bl sub_020E7F30
|
|
mov r0, fp
|
|
add r1, sp, #0xa
|
|
mov r2, sl
|
|
bl ov00_02212CD0
|
|
mov r0, r8
|
|
add sl, sl, r4
|
|
sub sb, sb, r4
|
|
bl sub_020E9580
|
|
add r0, r0, #1
|
|
add r7, r7, #1
|
|
add r8, r8, r0
|
|
cmp r7, r5
|
|
blt _0221318C
|
|
_022131EC:
|
|
ldrh r0, [sp, #8]
|
|
add r6, r6, #1
|
|
cmp r6, r0
|
|
blt _0221317C
|
|
_022131FC:
|
|
ldr r0, [sp]
|
|
add r0, r0, #1
|
|
str r0, [sp]
|
|
cmp r0, #2
|
|
blt _022130D4
|
|
add sp, sp, #0x8c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02213218: .word _0221A520
|
|
arm_func_end ov00_02213044
|
|
|
|
arm_func_start ov00_0221321C
|
|
ov00_0221321C: ; 0x0221321C
|
|
stmdb sp!, {r3, lr}
|
|
ldrsb lr, [r0]
|
|
mov ip, #0
|
|
cmp lr, #0
|
|
beq _0221325C
|
|
ldr r3, _0221326C ; =0x0210E404
|
|
ldr r2, _02213270 ; =0x9CCF9319
|
|
_02213238:
|
|
cmp lr, #0
|
|
blt _0221324C
|
|
cmp lr, #0x80
|
|
bge _0221324C
|
|
ldrb lr, [r3, lr]
|
|
_0221324C:
|
|
mla ip, r2, ip, lr
|
|
ldrsb lr, [r0, #1]!
|
|
cmp lr, #0
|
|
bne _02213238
|
|
_0221325C:
|
|
mov r0, ip
|
|
bl sub_020F2BA4
|
|
mov r0, r1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0221326C: .word 0x0210E404
|
|
_02213270: .word 0x9CCF9319
|
|
arm_func_end ov00_0221321C
|
|
|
|
arm_func_start ov00_02213274
|
|
ov00_02213274: ; 0x02213274
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r1, [r4]
|
|
mov r0, #0
|
|
bl ov00_02213F58
|
|
ldr r1, [r4, #4]
|
|
mov r0, #0
|
|
bl ov00_02213F58
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_02213274
|
|
|
|
arm_func_start ov00_02213298
|
|
ov00_02213298: ; 0x02213298
|
|
ldr ip, _022132A4 ; =ov00_0221321C
|
|
ldr r0, [r0]
|
|
bx ip
|
|
.align 2, 0
|
|
_022132A4: .word ov00_0221321C
|
|
arm_func_end ov00_02213298
|
|
|
|
arm_func_start ov00_022132A8
|
|
ov00_022132A8: ; 0x022132A8
|
|
ldr ip, _022132B8 ; =sub_020F03D0
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bx ip
|
|
.align 2, 0
|
|
_022132B8: .word sub_020F03D0
|
|
arm_func_end ov00_022132A8
|
|
|
|
arm_func_start ov00_022132BC
|
|
ov00_022132BC: ; 0x022132BC
|
|
ldr r0, [r0, #0x1c]
|
|
bx lr
|
|
arm_func_end ov00_022132BC
|
|
|
|
arm_func_start ov00_022132C4
|
|
ov00_022132C4: ; 0x022132C4
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #8
|
|
mov r0, #0x24
|
|
mov r6, r1
|
|
mov r5, r2
|
|
bl ov00_021EC3A8
|
|
movs r4, r0
|
|
addeq sp, sp, #8
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r1, _02213364 ; =ov00_022132A8
|
|
ldr ip, _02213368 ; =ov00_02213274
|
|
str r1, [sp]
|
|
mov r0, #8
|
|
ldr r3, _0221336C ; =ov00_02213298
|
|
mov r1, r0
|
|
mov r2, #4
|
|
str ip, [sp, #4]
|
|
bl ov00_021FED4C
|
|
str r0, [r4, #0x18]
|
|
cmp r0, #0
|
|
bne _02213330
|
|
mov r0, r4
|
|
bl ov00_021EC3D8
|
|
add sp, sp, #8
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02213330:
|
|
mov r1, #0
|
|
strb r1, [r4, #0x14]
|
|
strb r1, [r4, #0x15]
|
|
str r1, [r4, #0x20]
|
|
str r1, [r4, #0x1c]
|
|
str r1, [r4, #0x10]
|
|
str r6, [r4]
|
|
strh r5, [r4, #4]
|
|
str r1, [r4, #8]
|
|
mov r0, r4
|
|
strh r1, [r4, #0xc]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02213364: .word ov00_022132A8
|
|
_02213368: .word ov00_02213274
|
|
_0221336C: .word ov00_02213298
|
|
arm_func_end ov00_022132C4
|
|
|
|
arm_func_start ov00_02213370
|
|
ov00_02213370: ; 0x02213370
|
|
strb r1, [r0, #0x15]
|
|
bx lr
|
|
arm_func_end ov00_02213370
|
|
|
|
arm_func_start ov00_02213378
|
|
ov00_02213378: ; 0x02213378
|
|
str r1, [r0, #8]
|
|
strh r2, [r0, #0xc]
|
|
bx lr
|
|
arm_func_end ov00_02213378
|
|
|
|
arm_func_start ov00_02213384
|
|
ov00_02213384: ; 0x02213384
|
|
str r1, [r0, #0x10]
|
|
bx lr
|
|
arm_func_end ov00_02213384
|
|
|
|
arm_func_start ov00_0221338C
|
|
ov00_0221338C: ; 0x0221338C
|
|
strb r1, [r0, #0x14]
|
|
bx lr
|
|
arm_func_end ov00_0221338C
|
|
|
|
arm_func_start ov00_02213394
|
|
ov00_02213394: ; 0x02213394
|
|
ldrb r0, [r0, #0x14]
|
|
bx lr
|
|
arm_func_end ov00_02213394
|
|
|
|
arm_func_start ov00_0221339C
|
|
ov00_0221339C: ; 0x0221339C
|
|
ldr r1, _022133B4 ; =_0221B9D0
|
|
ldr r1, [r1, #4]
|
|
cmp r0, r1
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_022133B4: .word _0221B9D0
|
|
arm_func_end ov00_0221339C
|
|
|
|
arm_func_start ov00_022133B8
|
|
ov00_022133B8: ; 0x022133B8
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r5, r2
|
|
mov r4, r3
|
|
cmp r1, #6
|
|
addls pc, pc, r1, lsl #2
|
|
b _0221353C
|
|
_022133D4: ; jump table
|
|
b _022133F0 ; case 0
|
|
b _02213468 ; case 1
|
|
b _0221349C ; case 2
|
|
b _022134D0 ; case 3
|
|
b _0221353C ; case 4
|
|
b _02213514 ; case 5
|
|
b _02213530 ; case 6
|
|
_022133F0:
|
|
ldr r3, [r4, #0x634]
|
|
ldr ip, [r4, #0x630]
|
|
mov r0, r4
|
|
mov r1, #0
|
|
blx ip
|
|
ldrb r0, [r5, #0x14]
|
|
tst r0, #3
|
|
beq _02213418
|
|
tst r0, #0x40
|
|
bne _0221353C
|
|
_02213418:
|
|
tst r0, #0x2c
|
|
ldreq r0, [r4, #0x624]
|
|
cmpeq r0, #0
|
|
bne _0221353C
|
|
ldrb r0, [r5, #0x15]
|
|
tst r0, #1
|
|
beq _02213450
|
|
ldr r0, [r4, #0x4c]
|
|
cmp r0, #0
|
|
ldrne r0, [r4, #0x40]
|
|
cmpne r0, #0
|
|
moveq r3, #1
|
|
movne r3, #0
|
|
b _02213454
|
|
_02213450:
|
|
mov r3, #2
|
|
_02213454:
|
|
mov r0, r4
|
|
mov r1, r5
|
|
mov r2, #0
|
|
bl ov00_022126A8
|
|
b _0221353C
|
|
_02213468:
|
|
ldrb r0, [r5, #0x14]
|
|
ldr r3, [r4, #0x634]
|
|
ldr ip, [r4, #0x630]
|
|
tst r0, #0x43
|
|
bne _0221348C
|
|
mov r0, r4
|
|
mov r1, #2
|
|
blx ip
|
|
b _0221353C
|
|
_0221348C:
|
|
mov r0, r4
|
|
mov r1, #1
|
|
blx ip
|
|
b _0221353C
|
|
_0221349C:
|
|
ldrb r0, [r5, #0x14]
|
|
tst r0, #0x2c
|
|
beq _022134B4
|
|
mov r0, r4
|
|
mov r1, r5
|
|
bl ov00_02212BA8
|
|
_022134B4:
|
|
ldr r3, [r4, #0x634]
|
|
ldr ip, [r4, #0x630]
|
|
mov r0, r4
|
|
mov r2, r5
|
|
mov r1, #3
|
|
blx ip
|
|
b _0221353C
|
|
_022134D0:
|
|
ldr r1, [r4, #0x620]
|
|
cmp r1, #0
|
|
beq _022134E0
|
|
bl ov00_02214908
|
|
_022134E0:
|
|
ldr r0, [r6, #4]
|
|
bl ov00_021FE6E4
|
|
cmp r0, #0
|
|
ldrne r0, [r4, #0x10]
|
|
cmpne r0, #0
|
|
bne _0221353C
|
|
ldr r3, [r4, #0x634]
|
|
ldr ip, [r4, #0x630]
|
|
mov r0, r4
|
|
mov r1, #4
|
|
mov r2, #0
|
|
blx ip
|
|
b _0221353C
|
|
_02213514:
|
|
ldr r3, [r4, #0x634]
|
|
ldr ip, [r4, #0x630]
|
|
mov r0, r4
|
|
mov r1, #5
|
|
mov r2, #0
|
|
blx ip
|
|
b _0221353C
|
|
_02213530:
|
|
ldr r1, [r4, #0x4ec]
|
|
mov r0, r4
|
|
bl ov00_02212658
|
|
_0221353C:
|
|
cmp r5, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r1, [r5]
|
|
ldr r0, [r4, #0x628]
|
|
cmp r1, r0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
add r0, r4, #0x600
|
|
ldrh r1, [r5, #4]
|
|
ldrh r0, [r0, #0x2c]
|
|
cmp r1, r0
|
|
moveq r0, #0
|
|
streq r0, [r4, #0x628]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_022133B8
|
|
|
|
arm_func_start ov00_02213570
|
|
ov00_02213570: ; 0x02213570
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r2
|
|
mov r4, r3
|
|
cmp r1, #0
|
|
beq _022135B0
|
|
cmp r1, #1
|
|
beq _02213598
|
|
cmp r1, #2
|
|
beq _022135C8
|
|
b _022135DC
|
|
_02213598:
|
|
ldr r3, [r4, #0x634]
|
|
ldr ip, [r4, #0x630]
|
|
mov r0, r4
|
|
mov r1, #2
|
|
blx ip
|
|
b _022135DC
|
|
_022135B0:
|
|
ldr r3, [r4, #0x634]
|
|
ldr ip, [r4, #0x630]
|
|
mov r0, r4
|
|
mov r1, #1
|
|
blx ip
|
|
b _022135DC
|
|
_022135C8:
|
|
ldr r3, [r4, #0x634]
|
|
ldr ip, [r4, #0x630]
|
|
mov r0, r4
|
|
mov r1, #4
|
|
blx ip
|
|
_022135DC:
|
|
cmp r5, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r1, [r5]
|
|
ldr r0, [r4, #0x628]
|
|
cmp r1, r0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
add r0, r4, #0x600
|
|
ldrh r1, [r5, #4]
|
|
ldrh r0, [r0, #0x2c]
|
|
cmp r1, r0
|
|
moveq r0, #0
|
|
streq r0, [r4, #0x628]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_02213570
|
|
|
|
arm_func_start ov00_02213610
|
|
ov00_02213610: ; 0x02213610
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x10
|
|
ldr r4, [sp, #0x30]
|
|
mov r8, r0
|
|
mov r7, r1
|
|
mov r6, r2
|
|
mov r5, r3
|
|
cmp r4, #0
|
|
bne _0221364C
|
|
ldr r0, _022136D4 ; =_0221B0D0
|
|
ldr r0, [r0]
|
|
cmp r0, #1
|
|
addne sp, sp, #0x10
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_0221364C:
|
|
ldr r0, _022136D8 ; =0x00000638
|
|
bl ov00_021EC3A8
|
|
movs r4, r0
|
|
addeq sp, sp, #0x10
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
ldr r1, [sp, #0x34]
|
|
ldr r0, [sp, #0x38]
|
|
str r1, [r4, #0x630]
|
|
str r0, [r4, #0x634]
|
|
mov r0, #0
|
|
str r0, [r4, #0x624]
|
|
ldr r1, [sp, #0x30]
|
|
str r5, [sp]
|
|
ldr r0, _022136DC ; =ov00_022133B8
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r1, r8
|
|
mov r2, r7
|
|
mov r3, r6
|
|
add r0, r4, #0x4c
|
|
str r4, [sp, #0xc]
|
|
bl ov00_02214004
|
|
ldr r0, _022136E0 ; =ov00_02213570
|
|
ldr r1, [sp, #0x28]
|
|
str r0, [sp]
|
|
ldr r2, [sp, #0x2c]
|
|
ldr r3, [sp, #0x30]
|
|
mov r0, r4
|
|
str r4, [sp, #4]
|
|
bl ov00_022125E4
|
|
mov r0, r4
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_022136D4: .word _0221B0D0
|
|
_022136D8: .word 0x00000638
|
|
_022136DC: .word ov00_022133B8
|
|
_022136E0: .word ov00_02213570
|
|
arm_func_end ov00_02213610
|
|
|
|
arm_func_start ov00_022136E4
|
|
ov00_022136E4: ; 0x022136E4
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r0, r4, #0x4c
|
|
bl ov00_0221496C
|
|
mov r0, r4
|
|
bl ov00_0221267C
|
|
mov r0, r4
|
|
bl ov00_021EC3D8
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_022136E4
|
|
|
|
arm_func_start ov00_02213708
|
|
ov00_02213708: ; 0x02213708
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x108
|
|
ldr r8, [sp, #0x130]
|
|
mov sl, r0
|
|
str r1, [sp, #4]
|
|
add r4, sp, #8
|
|
mov sb, r3
|
|
mov r1, #0x40
|
|
mov r0, #0
|
|
_0221372C:
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
add r4, r4, #4
|
|
subs r1, r1, #1
|
|
bne _0221372C
|
|
mov r5, #0
|
|
str r2, [sl, #0x620]
|
|
mov r6, r5
|
|
str r5, [sl, #0x40]
|
|
cmp r8, #0
|
|
ble _022137B4
|
|
ldr r4, _02213830 ; =_0221A0B8
|
|
add fp, sp, #8
|
|
_02213768:
|
|
ldrb r0, [sb, r6]
|
|
ldr r7, [r4, r0, lsl #2]
|
|
mov r0, r7
|
|
bl sub_020E9580
|
|
add r0, r5, r0
|
|
add r0, r0, #1
|
|
cmp r0, #0x100
|
|
bge _022137B4
|
|
ldr r1, _02213834 ; =_0221A528
|
|
mov r2, r7
|
|
add r0, fp, r5
|
|
bl sub_020E7F30
|
|
add r5, r5, r0
|
|
ldrb r1, [sb, r6]
|
|
mov r0, sl
|
|
bl ov00_02212B88
|
|
add r6, r6, #1
|
|
cmp r6, r8
|
|
blt _02213768
|
|
_022137B4:
|
|
ldr r4, [sp, #0x13c]
|
|
ldr r2, [sp, #0x134]
|
|
ldr r3, [sp, #0x138]
|
|
add r1, sp, #8
|
|
add r0, sl, #0x4c
|
|
str r4, [sp]
|
|
bl ov00_022145F0
|
|
cmp r0, #0
|
|
addne sp, sp, #0x108
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, [sp, #4]
|
|
cmp r1, #0
|
|
addne sp, sp, #0x108
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
mov r4, #0xa
|
|
b _02213804
|
|
_022137F4:
|
|
mov r0, r4
|
|
bl ov00_021FF3C0
|
|
mov r0, sl
|
|
bl ov00_02213938
|
|
_02213804:
|
|
ldr r1, [sl, #0x4c]
|
|
cmp r1, #3
|
|
beq _022137F4
|
|
ldr r1, [sl, #0x10]
|
|
cmp r1, #0
|
|
addle sp, sp, #0x108
|
|
ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
cmp r0, #0
|
|
beq _022137F4
|
|
add sp, sp, #0x108
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02213830: .word _0221A0B8
|
|
_02213834: .word _0221A528
|
|
arm_func_end ov00_02213708
|
|
|
|
arm_func_start ov00_02213838
|
|
ov00_02213838: ; 0x02213838
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #0x10
|
|
ldr lr, [sp, #0x18]
|
|
ldr ip, [sp, #0x1c]
|
|
str lr, [sp]
|
|
str ip, [sp, #4]
|
|
mov lr, #0x80
|
|
ldr ip, [sp, #0x20]
|
|
str lr, [sp, #8]
|
|
str ip, [sp, #0xc]
|
|
bl ov00_02213708
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_02213838
|
|
|
|
arm_func_start ov00_0221386C
|
|
ov00_0221386C: ; 0x0221386C
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #4
|
|
mov r5, r0
|
|
mov r6, r2
|
|
mov r0, r1
|
|
mov r4, r3
|
|
bl ov00_021FFA44
|
|
mov r3, r6, asr #8
|
|
mov r2, r6, lsl #8
|
|
ldr ip, [sp, #0x18]
|
|
mov r1, r0
|
|
str ip, [sp]
|
|
and r3, r3, #0xff
|
|
and r0, r2, #0xff00
|
|
orr r0, r3, r0
|
|
mov r2, r0, lsl #0x10
|
|
mov r3, r4
|
|
add r0, r5, #0x4c
|
|
mov r2, r2, lsr #0x10
|
|
bl ov00_02215CDC
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end ov00_0221386C
|
|
|
|
arm_func_start ov00_022138C4
|
|
ov00_022138C4: ; 0x022138C4
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r0
|
|
mov r6, r2
|
|
mov r0, r1
|
|
mov r4, r3
|
|
bl ov00_021FFA44
|
|
mov r3, r6, asr #8
|
|
mov r2, r6, lsl #8
|
|
mov r1, r0
|
|
and r3, r3, #0xff
|
|
and r0, r2, #0xff00
|
|
orr r0, r3, r0
|
|
mov r2, r0, lsl #0x10
|
|
mov r3, r4
|
|
add r0, r5, #0x4c
|
|
mov r2, r2, lsr #0x10
|
|
bl ov00_02215E04
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_022138C4
|
|
|
|
arm_func_start ov00_0221390C
|
|
ov00_0221390C: ; 0x0221390C
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r0, r4, #0x4c
|
|
bl ov00_02213CA8
|
|
mov r1, r0
|
|
mvn r0, #0
|
|
cmp r1, r0
|
|
ldmeqia sp!, {r4, pc}
|
|
add r0, r4, #0x4c
|
|
bl ov00_02213DA0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0221390C
|
|
|
|
arm_func_start ov00_02213938
|
|
ov00_02213938: ; 0x02213938
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov00_02212B28
|
|
add r0, r4, #0x4c
|
|
bl ov00_02215FE0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_02213938
|
|
|
|
arm_func_start ov00_02213950
|
|
ov00_02213950: ; 0x02213950
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r0, r4, #0x4c
|
|
bl ov00_02214908
|
|
mov r0, r4
|
|
bl ov00_02212660
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_02213950
|
|
|
|
arm_func_start ov00_0221396C
|
|
ov00_0221396C: ; 0x0221396C
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov00_02213950
|
|
add r0, r4, #0x4c
|
|
bl ov00_02213E68
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0221396C
|
|
|
|
arm_func_start ov00_02213984
|
|
ov00_02213984: ; 0x02213984
|
|
ldr r1, [r0, #0x10]
|
|
cmp r1, #0
|
|
movgt r0, #2
|
|
bxgt lr
|
|
ldr r0, [r0, #0x4c]
|
|
cmp r0, #3
|
|
cmpne r0, #0
|
|
moveq r0, #1
|
|
bxeq lr
|
|
cmp r0, #1
|
|
moveq r0, #0
|
|
movne r0, #3
|
|
bx lr
|
|
arm_func_end ov00_02213984
|
|
|
|
arm_func_start ov00_022139B8
|
|
ov00_022139B8: ; 0x022139B8
|
|
ldr ip, _022139C4 ; =ov00_02213DFC
|
|
add r0, r0, #0x4c
|
|
bx ip
|
|
.align 2, 0
|
|
_022139C4: .word ov00_02213DFC
|
|
arm_func_end ov00_022139B8
|
|
|
|
arm_func_start ov00_022139C8
|
|
ov00_022139C8: ; 0x022139C8
|
|
ldr ip, _022139D4 ; =ov00_02213DEC
|
|
add r0, r0, #0x4c
|
|
bx ip
|
|
.align 2, 0
|
|
_022139D4: .word ov00_02213DEC
|
|
arm_func_end ov00_022139C8
|
|
|
|
arm_func_start ov00_022139D8
|
|
ov00_022139D8: ; 0x022139D8
|
|
ldr ip, _022139E4 ; =ov00_02213BF4
|
|
add r0, r0, #0x4c
|
|
bx ip
|
|
.align 2, 0
|
|
_022139E4: .word ov00_02213BF4
|
|
arm_func_end ov00_022139D8
|
|
|
|
arm_func_start ov00_022139E8
|
|
ov00_022139E8: ; 0x022139E8
|
|
ldr r0, [r0, #0x4ec]
|
|
bx lr
|
|
arm_func_end ov00_022139E8
|
|
|
|
arm_func_start ov00_022139F0
|
|
ov00_022139F0: ; 0x022139F0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r2, _02213A48 ; =_0221B9DC
|
|
ldr r0, [r0]
|
|
ldr r2, [r2]
|
|
ldr r5, [r1]
|
|
ldr r1, [r2, #0x498]
|
|
mov r2, #0
|
|
bl ov00_02212DB4
|
|
ldr r1, _02213A48 ; =_0221B9DC
|
|
mov r4, r0
|
|
ldr r1, [r1]
|
|
mov r0, r5
|
|
ldr r1, [r1, #0x498]
|
|
mov r2, #0
|
|
bl ov00_02212DB4
|
|
ldr r1, _02213A48 ; =_0221B9DC
|
|
sub r0, r4, r0
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #0x49c]
|
|
cmp r1, #0
|
|
rsbeq r0, r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02213A48: .word _0221B9DC
|
|
arm_func_end ov00_022139F0
|
|
|
|
arm_func_start ov00_02213A4C
|
|
ov00_02213A4C: ; 0x02213A4C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r3, _02213B20 ; =_0221B9DC
|
|
mov r2, #0
|
|
ldr r3, [r3]
|
|
ldr r5, [r1]
|
|
ldr r0, [r0]
|
|
ldr r1, [r3, #0x498]
|
|
mov r3, r2
|
|
bl ov00_02212E44
|
|
ldr r3, _02213B20 ; =_0221B9DC
|
|
mov r2, #0
|
|
mov r4, r0
|
|
ldr r0, [r3]
|
|
mov r6, r1
|
|
ldr r1, [r0, #0x498]
|
|
mov r0, r5
|
|
mov r3, r2
|
|
bl ov00_02212E44
|
|
mov r2, r0
|
|
mov r3, r1
|
|
mov r0, r4
|
|
mov r1, r6
|
|
bl sub_020F116C
|
|
ldr r2, _02213B20 ; =_0221B9DC
|
|
mov r4, r0
|
|
ldr r0, [r2]
|
|
mov r5, r1
|
|
ldr r0, [r0, #0x49c]
|
|
cmp r0, #0
|
|
bne _02213AE0
|
|
mov r0, #0
|
|
mov r1, r0
|
|
mov r2, r4
|
|
mov r3, r5
|
|
bl sub_020F116C
|
|
mov r4, r0
|
|
mov r5, r1
|
|
_02213AE0:
|
|
mov r0, r4
|
|
mov r1, r5
|
|
bl sub_020F09A4
|
|
mov r1, #0
|
|
bl sub_020F1ACC
|
|
movhi r0, #1
|
|
ldmhiia sp!, {r4, r5, r6, pc}
|
|
mov r0, r4
|
|
mov r1, r5
|
|
bl sub_020F09A4
|
|
mov r1, #0
|
|
bl sub_020F1B90
|
|
movlo r0, #1
|
|
movhs r0, #0
|
|
rsb r0, r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02213B20: .word _0221B9DC
|
|
arm_func_end ov00_02213A4C
|
|
|
|
arm_func_start ov00_02213B24
|
|
ov00_02213B24: ; 0x02213B24
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r2, _02213B84 ; =_0221B9DC
|
|
mov r5, r1
|
|
ldr r1, [r2]
|
|
ldr r0, [r0]
|
|
ldr r1, [r1, #0x498]
|
|
ldr r2, _02213B88 ; =_0221A5B8
|
|
bl ov00_02212D48
|
|
ldr r1, _02213B84 ; =_0221B9DC
|
|
mov r4, r0
|
|
ldr r1, [r1]
|
|
ldr r0, [r5]
|
|
ldr r1, [r1, #0x498]
|
|
ldr r2, _02213B88 ; =_0221A5B8
|
|
bl ov00_02212D48
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl sub_020E9734
|
|
ldr r1, _02213B84 ; =_0221B9DC
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #0x49c]
|
|
cmp r1, #0
|
|
rsbeq r0, r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02213B84: .word _0221B9DC
|
|
_02213B88: .word _0221A5B8
|
|
arm_func_end ov00_02213B24
|
|
|
|
arm_func_start ov00_02213B8C
|
|
ov00_02213B8C: ; 0x02213B8C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r2, _02213BEC ; =_0221B9DC
|
|
mov r5, r1
|
|
ldr r1, [r2]
|
|
ldr r0, [r0]
|
|
ldr r1, [r1, #0x498]
|
|
ldr r2, _02213BF0 ; =_0221A5B8
|
|
bl ov00_02212D48
|
|
ldr r1, _02213BEC ; =_0221B9DC
|
|
mov r4, r0
|
|
ldr r1, [r1]
|
|
ldr r0, [r5]
|
|
ldr r1, [r1, #0x498]
|
|
ldr r2, _02213BF0 ; =_0221A5B8
|
|
bl ov00_02212D48
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl sub_020F03D0
|
|
ldr r1, _02213BEC ; =_0221B9DC
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #0x49c]
|
|
cmp r1, #0
|
|
rsbeq r0, r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02213BEC: .word _0221B9DC
|
|
_02213BF0: .word _0221A5B8
|
|
arm_func_end ov00_02213B8C
|
|
|
|
arm_func_start ov00_02213BF4
|
|
ov00_02213BF4: ; 0x02213BF4
|
|
cmp r3, #3
|
|
addls pc, pc, r3, lsl #2
|
|
b _02213C30
|
|
_02213C00: ; jump table
|
|
b _02213C10 ; case 0
|
|
b _02213C18 ; case 1
|
|
b _02213C20 ; case 2
|
|
b _02213C28 ; case 3
|
|
_02213C10:
|
|
ldr r3, _02213C54 ; =ov00_022139F0
|
|
b _02213C34
|
|
_02213C18:
|
|
ldr r3, _02213C58 ; =ov00_02213A4C
|
|
b _02213C34
|
|
_02213C20:
|
|
ldr r3, _02213C5C ; =ov00_02213B24
|
|
b _02213C34
|
|
_02213C28:
|
|
ldr r3, _02213C60 ; =ov00_02213B8C
|
|
b _02213C34
|
|
_02213C30:
|
|
ldr r3, _02213C60 ; =ov00_02213B8C
|
|
_02213C34:
|
|
str r2, [r0, #0x498]
|
|
str r1, [r0, #0x49c]
|
|
ldr r2, _02213C64 ; =_0221B9DC
|
|
ldr ip, _02213C68 ; =ov00_021FEA20
|
|
str r0, [r2]
|
|
mov r1, r3
|
|
ldr r0, [r0, #4]
|
|
bx ip
|
|
.align 2, 0
|
|
_02213C54: .word ov00_022139F0
|
|
_02213C58: .word ov00_02213A4C
|
|
_02213C5C: .word ov00_02213B24
|
|
_02213C60: .word ov00_02213B8C
|
|
_02213C64: .word _0221B9DC
|
|
_02213C68: .word ov00_021FEA20
|
|
arm_func_end ov00_02213BF4
|
|
|
|
arm_func_start ov00_02213C6C
|
|
ov00_02213C6C: ; 0x02213C6C
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #4]
|
|
add r1, sp, #0xc
|
|
bl ov00_021FE754
|
|
ldr r2, [sp, #0xc]
|
|
ldr r3, [r4, #0x494]
|
|
ldr ip, [r4, #0x488]
|
|
mov r0, r4
|
|
mov r1, #0
|
|
blx ip
|
|
ldmia sp!, {r4, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
arm_func_end ov00_02213C6C
|
|
|
|
arm_func_start ov00_02213CA8
|
|
ov00_02213CA8: ; 0x02213CA8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
ldr r0, [r7, #4]
|
|
mov r6, r1
|
|
bl ov00_021FE6E4
|
|
mov r4, r0
|
|
cmp r4, #0
|
|
mov r5, #0
|
|
ble _02213CF4
|
|
_02213CCC:
|
|
ldr r0, [r7, #4]
|
|
mov r1, r5
|
|
bl ov00_021FE6EC
|
|
ldr r0, [r0]
|
|
cmp r6, r0
|
|
moveq r0, r5
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
add r5, r5, #1
|
|
cmp r5, r4
|
|
blt _02213CCC
|
|
_02213CF4:
|
|
mvn r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov00_02213CA8
|
|
|
|
arm_func_start ov00_02213CFC
|
|
ov00_02213CFC: ; 0x02213CFC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
mov sb, r0
|
|
ldr r0, [sb, #4]
|
|
mov r8, r1
|
|
mov r7, r2
|
|
bl ov00_021FE6E4
|
|
mov r4, r0
|
|
cmp r4, #0
|
|
mov r6, #0
|
|
ble _02213D64
|
|
_02213D24:
|
|
ldr r0, [sb, #4]
|
|
mov r1, r6
|
|
bl ov00_021FE6EC
|
|
ldr r5, [r0]
|
|
mov r0, r5
|
|
bl ov00_02212E78
|
|
cmp r8, r0
|
|
bne _02213D58
|
|
mov r0, r5
|
|
bl ov00_02212EA4
|
|
cmp r7, r0
|
|
moveq r0, r6
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_02213D58:
|
|
add r6, r6, #1
|
|
cmp r6, r4
|
|
blt _02213D24
|
|
_02213D64:
|
|
mvn r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
arm_func_end ov00_02213CFC
|
|
|
|
arm_func_start ov00_02213D6C
|
|
ov00_02213D6C: ; 0x02213D6C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
ldr r1, [r5, #0x5d0]
|
|
mov r0, r4
|
|
cmp r1, #0
|
|
bne _02213D94
|
|
mov r1, #0
|
|
bl ov00_02212EF0
|
|
b _02213D98
|
|
_02213D94:
|
|
bl ov00_02212EF0
|
|
_02213D98:
|
|
str r4, [r5, #0x5d0]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_02213D6C
|
|
|
|
arm_func_start ov00_02213DA0
|
|
ov00_02213DA0: ; 0x02213DA0
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
ldr r0, [r6, #4]
|
|
mov r5, r1
|
|
bl ov00_021FE6EC
|
|
ldr r4, [r0]
|
|
ldr r3, [r6, #0x494]
|
|
ldr ip, [r6, #0x488]
|
|
mov r0, r6
|
|
mov r2, r4
|
|
mov r1, #2
|
|
blx ip
|
|
ldr r0, [r6, #4]
|
|
mov r1, r5
|
|
bl ov00_021FE968
|
|
mov r0, r6
|
|
mov r1, r4
|
|
bl ov00_02213D6C
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_02213DA0
|
|
|
|
arm_func_start ov00_02213DEC
|
|
ov00_02213DEC: ; 0x02213DEC
|
|
ldr ip, _02213DF8 ; =ov00_021FE6E4
|
|
ldr r0, [r0, #4]
|
|
bx ip
|
|
.align 2, 0
|
|
_02213DF8: .word ov00_021FE6E4
|
|
arm_func_end ov00_02213DEC
|
|
|
|
arm_func_start ov00_02213DFC
|
|
ov00_02213DFC: ; 0x02213DFC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, [r0, #4]
|
|
bl ov00_021FE6EC
|
|
ldr r0, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov00_02213DFC
|
|
|
|
arm_func_start ov00_02213E10
|
|
ov00_02213E10: ; 0x02213E10
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #4
|
|
mov r6, r0
|
|
ldr r5, [r6, #0x5d0]
|
|
cmp r5, #0
|
|
addeq sp, sp, #4
|
|
ldmeqia sp!, {r3, r4, r5, r6, pc}
|
|
str r5, [sp]
|
|
beq _02213E58
|
|
add r4, sp, #0
|
|
_02213E38:
|
|
mov r0, r5
|
|
bl ov00_02212EF8
|
|
mov r5, r0
|
|
mov r0, r4
|
|
bl ov00_02212CAC
|
|
str r5, [sp]
|
|
cmp r5, #0
|
|
bne _02213E38
|
|
_02213E58:
|
|
mov r0, #0
|
|
str r0, [r6, #0x5d0]
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end ov00_02213E10
|
|
|
|
arm_func_start ov00_02213E68
|
|
ov00_02213E68: ; 0x02213E68
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
ldr r0, [r6, #4]
|
|
bl ov00_021FE6E4
|
|
mov r5, r0
|
|
cmp r5, #0
|
|
mov r4, #0
|
|
ble _02213EAC
|
|
_02213E88:
|
|
ldr r0, [r6, #4]
|
|
mov r1, r4
|
|
bl ov00_021FE6EC
|
|
ldr r1, [r0]
|
|
mov r0, r6
|
|
bl ov00_02213D6C
|
|
add r4, r4, #1
|
|
cmp r4, r5
|
|
blt _02213E88
|
|
_02213EAC:
|
|
ldr r0, [r6, #4]
|
|
bl ov00_021FEC3C
|
|
mov r0, r6
|
|
bl ov00_02213E10
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_02213E68
|
|
|
|
arm_func_start ov00_02213EC0
|
|
ov00_02213EC0: ; 0x02213EC0
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
mov r0, #4
|
|
mov r1, #0x64
|
|
mov r2, #0
|
|
bl ov00_021FE5B4
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
str r0, [r4, #0x5d0]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_02213EC0
|
|
|
|
arm_func_start ov00_02213EE8
|
|
ov00_02213EE8: ; 0x02213EE8
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #8
|
|
mov r4, r1
|
|
mov r5, r0
|
|
str r4, [sp]
|
|
bl ov00_02212C08
|
|
add r1, sp, #0
|
|
bl ov00_021FF0C0
|
|
cmp r0, #0
|
|
beq _02213F28
|
|
ldr r1, [r0, #4]
|
|
add sp, sp, #8
|
|
add r1, r1, #1
|
|
str r1, [r0, #4]
|
|
ldr r0, [r0]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02213F28:
|
|
mov r0, r4
|
|
bl ov00_021FF3D4
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
mov r0, r5
|
|
str r1, [sp, #4]
|
|
bl ov00_02212C08
|
|
add r1, sp, #0
|
|
bl ov00_021FEF74
|
|
ldr r0, [sp]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_02213EE8
|
|
|
|
arm_func_start ov00_02213F58
|
|
ov00_02213F58: ; 0x02213F58
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #8
|
|
mov r5, r0
|
|
str r1, [sp]
|
|
bl ov00_02212C08
|
|
add r1, sp, #0
|
|
bl ov00_021FF0C0
|
|
movs r4, r0
|
|
bne _02213F90
|
|
ldr r0, _02213FC8 ; =_0221A5BC
|
|
ldr r1, _02213FCC ; =_0221A5C8
|
|
ldr r2, _02213FD0 ; =_0221A530
|
|
mov r3, #0xf4
|
|
bl sub_020E4A9C
|
|
_02213F90:
|
|
cmp r4, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, [r4, #4]
|
|
subs r0, r0, #1
|
|
addne sp, sp, #8
|
|
str r0, [r4, #4]
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
bl ov00_02212C08
|
|
add r1, sp, #0
|
|
bl ov00_021FF01C
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02213FC8: .word _0221A5BC
|
|
_02213FCC: .word _0221A5C8
|
|
_02213FD0: .word _0221A530
|
|
arm_func_end ov00_02213F58
|
|
|
|
arm_func_start ov00_02213FD4
|
|
ov00_02213FD4: ; 0x02213FD4
|
|
cmp r1, #0
|
|
mov r3, #0
|
|
ble _02213FFC
|
|
_02213FE0:
|
|
ldrsb r2, [r0, r3]
|
|
cmp r2, #0
|
|
addeq r0, r3, #1
|
|
bxeq lr
|
|
add r3, r3, #1
|
|
cmp r3, r1
|
|
blt _02213FE0
|
|
_02213FFC:
|
|
mvn r0, #0
|
|
bx lr
|
|
arm_func_end ov00_02213FD4
|
|
|
|
arm_func_start ov00_02214004
|
|
ov00_02214004: ; 0x02214004
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
movs r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bne _02214030
|
|
ldr r0, _02214114 ; =_0221A5D8
|
|
ldr r1, _02214118 ; =_0221A5C8
|
|
ldr r2, _0221411C ; =_0221A560
|
|
mov r3, #0x11c
|
|
bl sub_020E4A9C
|
|
_02214030:
|
|
ldr r0, [sp, #0x1c]
|
|
cmp r0, #0
|
|
bne _0221404C
|
|
ldr r0, _02214120 ; =_0221B0D0
|
|
ldr r0, [r0]
|
|
cmp r0, #1
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0221404C:
|
|
mov r1, #1
|
|
mov r0, r7
|
|
str r1, [r7]
|
|
bl ov00_02213EC0
|
|
mov r0, r7
|
|
bl ov00_02212C08
|
|
mov r1, r6
|
|
add r0, r7, #0xc
|
|
bl sub_020E959C
|
|
mov r1, r5
|
|
add r0, r7, #0x30
|
|
bl sub_020E959C
|
|
mov r1, r4
|
|
add r0, r7, #0x54
|
|
bl sub_020E959C
|
|
ldr r1, [sp, #0x20]
|
|
mov r0, #0
|
|
str r1, [r7, #0x488]
|
|
str r0, [r7, #0x48c]
|
|
cmp r1, #0
|
|
bne _022140B4
|
|
ldr r0, _02214124 ; =_0221A5E8
|
|
ldr r1, _02214118 ; =_0221A5C8
|
|
ldr r2, _0221411C ; =_0221A560
|
|
ldr r3, _02214128 ; =0x00000132
|
|
bl sub_020E4A9C
|
|
_022140B4:
|
|
ldr r0, [sp, #0x24]
|
|
ldr r1, _0221412C ; =_0221A5B8
|
|
str r0, [r7, #0x494]
|
|
mov r3, #0
|
|
str r1, [r7, #0x498]
|
|
str r3, [r7, #0x4a0]
|
|
sub r0, r3, #1
|
|
str r0, [r7, #0x4b0]
|
|
str r3, [r7, #0x7c]
|
|
str r3, [r7, #0x80]
|
|
str r3, [r7, #8]
|
|
str r0, [r7, #0x484]
|
|
str r3, [r7, #0x480]
|
|
ldr r2, [sp, #0x18]
|
|
str r3, [r7, #0x4a4]
|
|
mov r0, r7
|
|
str r2, [r7, #0x4b8]
|
|
bl ov00_0221505C
|
|
mov r0, #0
|
|
str r0, [r7, #0x5cc]
|
|
bl ov00_021FF368
|
|
bl sub_020E80F4
|
|
bl ov00_021FF3CC
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02214114: .word _0221A5D8
|
|
_02214118: .word _0221A5C8
|
|
_0221411C: .word _0221A560
|
|
_02214120: .word _0221B0D0
|
|
_02214124: .word _0221A5E8
|
|
_02214128: .word 0x00000132
|
|
_0221412C: .word _0221A5B8
|
|
arm_func_end ov00_02214004
|
|
|
|
arm_func_start ov00_02214130
|
|
ov00_02214130: ; 0x02214130
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r4, r0
|
|
ldr r5, [r4, #0x80]
|
|
cmp r5, #0
|
|
ble _022141BC
|
|
ldr r0, _022141E4 ; =_0221A52C
|
|
ldr r6, [r0]
|
|
mov r0, r6
|
|
bl sub_020E9580
|
|
cmp r5, r0
|
|
bls _022141BC
|
|
ldr r0, _022141E4 ; =_0221A52C
|
|
ldr r5, [r4, #0x7c]
|
|
ldr r7, [r0]
|
|
mov r0, r7
|
|
bl sub_020E9580
|
|
mov r2, r0
|
|
mov r0, r5
|
|
mov r1, r7
|
|
bl sub_020E9848
|
|
cmp r0, #0
|
|
bne _022141BC
|
|
mov r0, r6
|
|
bl sub_020E9580
|
|
mov r1, r0
|
|
mov r0, r4
|
|
add r1, r5, r1
|
|
bl ov00_0221505C
|
|
ldr r0, _022141E8 ; =_0221B9D4
|
|
ldr r3, [r4, #0x494]
|
|
ldr r2, [r0]
|
|
ldr ip, [r4, #0x488]
|
|
mov r0, r4
|
|
mov r1, #5
|
|
blx ip
|
|
_022141BC:
|
|
ldr r0, _022141E8 ; =_0221B9D4
|
|
ldr r3, [r4, #0x494]
|
|
ldr r2, [r0]
|
|
ldr ip, [r4, #0x488]
|
|
mov r0, r4
|
|
mov r1, #4
|
|
blx ip
|
|
mov r0, r4
|
|
bl ov00_02214908
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022141E4: .word _0221A52C
|
|
_022141E8: .word _0221B9D4
|
|
arm_func_end ov00_02214130
|
|
|
|
arm_func_start ov00_022141EC
|
|
ov00_022141EC: ; 0x022141EC
|
|
stmdb sp!, {r3, lr}
|
|
ldrsb lr, [r0]
|
|
mov ip, #0
|
|
cmp lr, #0
|
|
beq _0221422C
|
|
ldr r3, _0221423C ; =0x0210E404
|
|
ldr r2, _02214240 ; =0x9CCF9319
|
|
_02214208:
|
|
cmp lr, #0
|
|
blt _0221421C
|
|
cmp lr, #0x80
|
|
bge _0221421C
|
|
ldrb lr, [r3, lr]
|
|
_0221421C:
|
|
mla ip, r2, ip, lr
|
|
ldrsb lr, [r0, #1]!
|
|
cmp lr, #0
|
|
bne _02214208
|
|
_0221422C:
|
|
mov r0, ip
|
|
bl sub_020F2BA4
|
|
mov r0, r1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0221423C: .word 0x0210E404
|
|
_02214240: .word 0x9CCF9319
|
|
arm_func_end ov00_022141EC
|
|
|
|
arm_func_start ov00_02214244
|
|
ov00_02214244: ; 0x02214244
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x88
|
|
mov r4, r0
|
|
add r0, r4, #0xc
|
|
mov r1, #0x14
|
|
bl ov00_022141EC
|
|
ldr r1, _02214364 ; =_0221B9DC
|
|
mov r3, r0
|
|
ldr r1, [r1, #4]
|
|
add r0, sp, #8
|
|
cmp r1, #0
|
|
beq _0221427C
|
|
bl sub_020E959C
|
|
b _02214288
|
|
_0221427C:
|
|
ldr r1, _02214368 ; =_0221A5FC
|
|
add r2, r4, #0xc
|
|
bl sub_020E7F30
|
|
_02214288:
|
|
ldr r1, _0221436C ; =0x0000EE70
|
|
mov r2, #2
|
|
add r0, sp, #8
|
|
strb r2, [sp, #1]
|
|
strh r1, [sp, #2]
|
|
bl ov00_021FFA44
|
|
mvn r1, #0
|
|
str r0, [sp, #4]
|
|
cmp r0, r1
|
|
bne _022142F4
|
|
add r0, sp, #8
|
|
bl sub_020A30D4
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x88
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, [r0, #0xc]
|
|
add r3, sp, #4
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2]
|
|
ldrb r0, [r2, #1]
|
|
strb r1, [r3]
|
|
strb r0, [r3, #1]
|
|
ldrb r1, [r2, #2]
|
|
ldrb r0, [r2, #3]
|
|
strb r1, [r3, #2]
|
|
strb r0, [r3, #3]
|
|
_022142F4:
|
|
ldr r0, [r4, #0x4b0]
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
bne _0221432C
|
|
mov r0, #2
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov00_021FF804
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
str r0, [r4, #0x4b0]
|
|
addeq sp, sp, #0x88
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, pc}
|
|
_0221432C:
|
|
add r1, sp, #0
|
|
mov r2, #8
|
|
bl ov00_021FF8A0
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x88
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, [r4, #0x4b0]
|
|
bl ov00_021FF818
|
|
mvn r0, #0
|
|
str r0, [r4, #0x4b0]
|
|
mov r0, #3
|
|
add sp, sp, #0x88
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02214364: .word _0221B9DC
|
|
_02214368: .word _0221A5FC
|
|
_0221436C: .word 0x0000EE70
|
|
arm_func_end ov00_02214244
|
|
|
|
arm_func_start ov00_02214370
|
|
ov00_02214370: ; 0x02214370
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
movs r7, r1
|
|
ldreq r7, _022143BC ; =_0221A5B8
|
|
mov r4, r0
|
|
mov r0, r7
|
|
mov r6, r2
|
|
bl sub_020E9580
|
|
add r5, r0, #1
|
|
ldr r0, [r4]
|
|
mov r1, r7
|
|
mov r2, r5
|
|
bl sub_020E5AD8
|
|
ldr r0, [r6]
|
|
add r0, r0, r5
|
|
str r0, [r6]
|
|
ldr r0, [r4]
|
|
add r0, r0, r5
|
|
str r0, [r4]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022143BC: .word _0221A5B8
|
|
arm_func_end ov00_02214370
|
|
|
|
arm_func_start ov00_022143C0
|
|
ov00_022143C0: ; 0x022143C0
|
|
ldr r3, [r0]
|
|
strb r1, [r3]
|
|
ldr r1, [r2]
|
|
add r1, r1, #1
|
|
str r1, [r2]
|
|
ldr r1, [r0]
|
|
add r1, r1, #1
|
|
str r1, [r0]
|
|
bx lr
|
|
arm_func_end ov00_022143C0
|
|
|
|
arm_func_start ov00_022143E4
|
|
ov00_022143E4: ; 0x022143E4
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r3, lr}
|
|
add ip, sp, #0xc
|
|
ldrb r3, [ip]
|
|
ldrb r1, [ip, #1]
|
|
ldr lr, [r0]
|
|
strb r3, [lr]
|
|
strb r1, [lr, #1]
|
|
ldrb r3, [ip, #2]
|
|
ldrb r1, [ip, #3]
|
|
strb r3, [lr, #2]
|
|
strb r1, [lr, #3]
|
|
ldr r1, [r2]
|
|
add r1, r1, #4
|
|
str r1, [r2]
|
|
ldr r1, [r0]
|
|
add r1, r1, #4
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
arm_func_end ov00_022143E4
|
|
|
|
arm_func_start ov00_02214438
|
|
ov00_02214438: ; 0x02214438
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
ldr r0, [r6]
|
|
mov r4, r3
|
|
mov r5, r2
|
|
bl sub_020E5AD8
|
|
ldr r0, [r4]
|
|
add r0, r0, r5
|
|
str r0, [r4]
|
|
ldr r0, [r6]
|
|
add r0, r0, r5
|
|
str r0, [r6]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_02214438
|
|
|
|
arm_func_start ov00_0221446C
|
|
ov00_0221446C: ; 0x0221446C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov sl, r0
|
|
bl sub_020E80C0
|
|
ldr r5, _02214554 ; =0x2C0B02C1
|
|
mov r8, #0
|
|
smull r2, r4, r5, r0
|
|
mov r1, r0, lsr #0x1f
|
|
add r4, r1, r4, asr #4
|
|
mov r3, #0x5d
|
|
smull r1, r2, r3, r4
|
|
sub r4, r0, r1
|
|
add r0, r4, #0x21
|
|
mov r7, #1
|
|
strb r0, [sl, #0x74]
|
|
mov fp, r8
|
|
mov r6, r7
|
|
mov r4, r3
|
|
_022144B0:
|
|
add sb, sl, r7
|
|
ldrsb r3, [sb, #0x73]
|
|
ldrsb r0, [sl, #0x74]
|
|
cmp r3, r0
|
|
eor r3, r7, r3
|
|
movlt r1, r6
|
|
and r3, r3, #1
|
|
movge r1, fp
|
|
cmp r0, #0x4f
|
|
movlt r2, #1
|
|
and r0, r0, #1
|
|
eor r3, r8, r3
|
|
movge r2, #0
|
|
eor r0, r0, r3
|
|
eor r0, r0, r2
|
|
eor r8, r0, r1
|
|
bl sub_020E80C0
|
|
smull r2, r3, r5, r0
|
|
mov r1, r0, lsr #0x1f
|
|
add r3, r1, r3, asr #4
|
|
smull r1, r2, r4, r3
|
|
sub r3, r0, r1
|
|
add r0, r3, #0x21
|
|
cmp r8, #0
|
|
strb r0, [sb, #0x74]
|
|
beq _02214524
|
|
ldrsb r0, [sb, #0x74]
|
|
tst r0, #1
|
|
beq _02214538
|
|
_02214524:
|
|
cmp r8, #0
|
|
ldreqsb r0, [sb, #0x74]
|
|
andeq r0, r0, #1
|
|
cmpeq r0, #1
|
|
bne _02214544
|
|
_02214538:
|
|
ldrsb r0, [sb, #0x74]
|
|
add r0, r0, #1
|
|
strb r0, [sb, #0x74]
|
|
_02214544:
|
|
add r7, r7, #1
|
|
cmp r7, #8
|
|
blt _022144B0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02214554: .word 0x2C0B02C1
|
|
arm_func_end ov00_0221446C
|
|
|
|
arm_func_start ov00_02214558
|
|
ov00_02214558: ; 0x02214558
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov sl, r0
|
|
mov sb, r1
|
|
mov r8, r2
|
|
mov r7, #1
|
|
mov fp, #2
|
|
mov r5, #0
|
|
_02214574:
|
|
ldr r0, [sl, #0x4b0]
|
|
mov r1, sb
|
|
mov r2, r8
|
|
mov r3, r5
|
|
sub r7, r7, #1
|
|
bl ov00_021FF970
|
|
mov r6, r0
|
|
cmp r6, #0
|
|
bgt _022145E0
|
|
cmp r7, #0
|
|
blt _022145E0
|
|
mov r0, sl
|
|
bl ov00_02214908
|
|
mov r1, #0
|
|
mov r2, r1
|
|
mov r0, sl
|
|
mov r3, fp
|
|
str r2, [sp]
|
|
bl ov00_022145F0
|
|
movs r4, r0
|
|
beq _022145D8
|
|
mov r0, sl
|
|
bl ov00_02214130
|
|
mov r0, r4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_022145D8:
|
|
cmp r7, #0
|
|
bge _02214574
|
|
_022145E0:
|
|
cmp r6, #0
|
|
movle r0, #3
|
|
movgt r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
arm_func_end ov00_02214558
|
|
|
|
arm_func_start ov00_022145F0
|
|
ov00_022145F0: ; 0x022145F0
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x30c
|
|
mov r5, r0
|
|
ldr r0, [r5]
|
|
mov r7, r1
|
|
mov r6, r2
|
|
mov r4, r3
|
|
cmp r0, #1
|
|
beq _02214628
|
|
ldr r0, _0221484C ; =_0221A618
|
|
ldr r1, _02214850 ; =_0221A5C8
|
|
ldr r2, _02214854 ; =_0221A59C
|
|
ldr r3, _02214858 ; =0x0000020A
|
|
bl sub_020E4A9C
|
|
_02214628:
|
|
cmp r7, #0
|
|
ldreq r7, _0221485C ; =_0221A5B8
|
|
cmp r6, #0
|
|
ldreq r6, _0221485C ; =_0221A5B8
|
|
mov r0, r7
|
|
bl sub_020E9580
|
|
cmp r0, #0x100
|
|
addhi sp, sp, #0x30c
|
|
movhi r0, #6
|
|
ldmhiia sp!, {r4, r5, r6, r7, pc}
|
|
mov r0, r6
|
|
bl sub_020E9580
|
|
cmp r0, #0x100
|
|
addhi sp, sp, #0x30c
|
|
movhi r0, #6
|
|
ldmhiia sp!, {r4, r5, r6, r7, pc}
|
|
mov r0, r5
|
|
bl ov00_02214244
|
|
cmp r0, #0
|
|
addne sp, sp, #0x30c
|
|
ldmneia sp!, {r4, r5, r6, r7, pc}
|
|
mov r0, r5
|
|
str r4, [r5, #0x5c4]
|
|
bl ov00_0221446C
|
|
add r3, sp, #0xe
|
|
mov ip, #2
|
|
add r0, sp, #4
|
|
add r2, sp, #8
|
|
mov r1, #0
|
|
str ip, [sp, #8]
|
|
str r3, [sp, #4]
|
|
bl ov00_022143C0
|
|
add r0, sp, #4
|
|
add r2, sp, #8
|
|
mov r1, #1
|
|
bl ov00_022143C0
|
|
add r0, sp, #4
|
|
mov r1, #3
|
|
add r2, sp, #8
|
|
bl ov00_022143C0
|
|
ldr r1, [r5, #0x4b8]
|
|
add r0, sp, #4
|
|
add r2, sp, #8
|
|
bl ov00_022143E4
|
|
add r0, sp, #4
|
|
add r1, r5, #0xc
|
|
add r2, sp, #8
|
|
bl ov00_02214370
|
|
add r0, sp, #4
|
|
add r1, r5, #0x30
|
|
add r2, sp, #8
|
|
bl ov00_02214370
|
|
add r0, sp, #4
|
|
add r1, r5, #0x74
|
|
mov r2, #8
|
|
add r3, sp, #8
|
|
bl ov00_02214438
|
|
mov r1, r6
|
|
add r0, sp, #4
|
|
add r2, sp, #8
|
|
bl ov00_02214370
|
|
mov r1, r7
|
|
add r0, sp, #4
|
|
add r2, sp, #8
|
|
bl ov00_02214370
|
|
mov r1, r4, lsl #0x18
|
|
and ip, r1, #0xff000000
|
|
mov r1, r4, lsl #8
|
|
and r3, r1, #0xff0000
|
|
mov r1, r4, lsr #0x18
|
|
and r2, r1, #0xff
|
|
mov r1, r4, lsr #8
|
|
and r1, r1, #0xff00
|
|
orr r1, r2, r1
|
|
orr r1, r3, r1
|
|
add r0, sp, #4
|
|
orr r1, ip, r1
|
|
add r2, sp, #8
|
|
bl ov00_022143E4
|
|
ldr r0, [r5, #0x5c4]
|
|
tst r0, #8
|
|
beq _02214780
|
|
ldr r1, [r5, #0x4a4]
|
|
add r0, sp, #4
|
|
add r2, sp, #8
|
|
bl ov00_022143E4
|
|
_02214780:
|
|
ldr r0, [r5, #0x5c4]
|
|
tst r0, #0x80
|
|
beq _0221479C
|
|
ldr r1, [sp, #0x320]
|
|
add r0, sp, #4
|
|
add r2, sp, #8
|
|
bl ov00_022143E4
|
|
_0221479C:
|
|
ldr r2, [sp, #8]
|
|
add r4, sp, #0
|
|
mov r0, r2, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
mov r1, r0, asr #8
|
|
mov r0, r0, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
strh r0, [sp]
|
|
ldrb r3, [r4]
|
|
add r1, sp, #0xc
|
|
ldrb r0, [r4, #1]
|
|
strb r3, [r1]
|
|
mov r3, #0
|
|
strb r0, [r1, #1]
|
|
ldr r0, [r5, #0x4b0]
|
|
bl ov00_021FF970
|
|
cmp r0, #0
|
|
bgt _02214800
|
|
mov r0, r5
|
|
bl ov00_02214908
|
|
add sp, sp, #0x30c
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_02214800:
|
|
mov r0, #3
|
|
str r0, [r5]
|
|
mov r0, #0
|
|
str r0, [r5, #0x5c8]
|
|
ldr r0, [r5, #0x7c]
|
|
cmp r0, #0
|
|
bne _02214840
|
|
mov r0, #0x1000
|
|
bl ov00_021EC3A8
|
|
cmp r0, #0
|
|
str r0, [r5, #0x7c]
|
|
addeq sp, sp, #0x30c
|
|
moveq r0, #5
|
|
ldmeqia sp!, {r4, r5, r6, r7, pc}
|
|
mov r0, #0
|
|
str r0, [r5, #0x80]
|
|
_02214840:
|
|
mov r0, #0
|
|
add sp, sp, #0x30c
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0221484C: .word _0221A618
|
|
_02214850: .word _0221A5C8
|
|
_02214854: .word _0221A59C
|
|
_02214858: .word 0x0000020A
|
|
_0221485C: .word _0221A5B8
|
|
arm_func_end ov00_022145F0
|
|
|
|
arm_func_start ov00_02214860
|
|
ov00_02214860: ; 0x02214860
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r0, [r5, #0x480]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _02214898
|
|
_02214878:
|
|
add r0, r5, r4, lsl #2
|
|
ldr r1, [r0, #0x84]
|
|
mov r0, r5
|
|
bl ov00_02213F58
|
|
ldr r0, [r5, #0x480]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _02214878
|
|
_02214898:
|
|
mov r0, #0
|
|
str r0, [r5, #0x480]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_02214860
|
|
|
|
arm_func_start ov00_022148A4
|
|
ov00_022148A4: ; 0x022148A4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r0, [r5, #8]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r4, #0
|
|
bl ov00_021FE6E4
|
|
cmp r0, #0
|
|
ble _022148F4
|
|
_022148C8:
|
|
ldr r0, [r5, #8]
|
|
mov r1, r4
|
|
bl ov00_021FE6EC
|
|
ldr r1, [r0]
|
|
mov r0, r5
|
|
bl ov00_02213F58
|
|
ldr r0, [r5, #8]
|
|
add r4, r4, #1
|
|
bl ov00_021FE6E4
|
|
cmp r4, r0
|
|
blt _022148C8
|
|
_022148F4:
|
|
ldr r0, [r5, #8]
|
|
bl ov00_021FE678
|
|
mov r0, #0
|
|
str r0, [r5, #8]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_022148A4
|
|
|
|
arm_func_start ov00_02214908
|
|
ov00_02214908: ; 0x02214908
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x7c]
|
|
cmp r0, #0
|
|
beq _02214920
|
|
bl ov00_021EC3D8
|
|
_02214920:
|
|
mov r1, #0
|
|
str r1, [r4, #0x7c]
|
|
str r1, [r4, #0x80]
|
|
ldr r0, [r4, #0x4b0]
|
|
sub r1, r1, #1
|
|
cmp r0, r1
|
|
beq _02214940
|
|
bl ov00_021FF818
|
|
_02214940:
|
|
mvn r1, #0
|
|
mov r0, r4
|
|
str r1, [r4, #0x4b0]
|
|
mov r1, #1
|
|
str r1, [r4]
|
|
bl ov00_022148A4
|
|
mvn r1, #0
|
|
mov r0, r4
|
|
str r1, [r4, #0x484]
|
|
bl ov00_02214860
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_02214908
|
|
|
|
arm_func_start ov00_0221496C
|
|
ov00_0221496C: ; 0x0221496C
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov00_02214908
|
|
mov r0, r4
|
|
bl ov00_02213E68
|
|
mov r0, r4
|
|
bl ov00_02212C6C
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #0
|
|
beq _02214998
|
|
bl ov00_021FE678
|
|
_02214998:
|
|
mov r0, #0
|
|
str r0, [r4, #4]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_0221496C
|
|
|
|
arm_func_start ov00_022149A4
|
|
ov00_022149A4: ; 0x022149A4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
mov sb, r0
|
|
mov r7, r2
|
|
add r0, sb, #0x54
|
|
mov r8, r1
|
|
bl sub_020E9580
|
|
mov r5, r0
|
|
cmp r7, #0
|
|
add r6, sb, #0x54
|
|
mov r4, #0
|
|
ble _02214A2C
|
|
_022149D0:
|
|
mov r0, r4
|
|
mov r1, r5
|
|
bl sub_020F2998
|
|
ldrsb r1, [r6, r1]
|
|
mov r2, r4, lsr #0x1f
|
|
rsb r0, r2, r4, lsl #29
|
|
mul r3, r4, r1
|
|
mov r1, r3, lsr #0x1f
|
|
add r2, r2, r0, ror #29
|
|
rsb r0, r1, r3, lsl #29
|
|
add r2, sb, r2
|
|
add r3, r1, r0, ror #29
|
|
ldrsb r0, [r8, r4]
|
|
ldrsb r1, [r2, #0x74]
|
|
add r2, sb, r3
|
|
add r4, r4, #1
|
|
eor r0, r1, r0
|
|
ldrsb r1, [r2, #0x74]
|
|
mov r0, r0, lsl #0x18
|
|
cmp r4, r7
|
|
eor r0, r1, r0, asr #24
|
|
strb r0, [r2, #0x74]
|
|
blt _022149D0
|
|
_02214A2C:
|
|
add r0, sb, #0xbc
|
|
add r0, r0, #0x400
|
|
add r1, sb, #0x74
|
|
mov r2, #8
|
|
bl ov00_02212124
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
arm_func_end ov00_022149A4
|
|
|
|
arm_func_start ov00_02214A44
|
|
ov00_02214A44: ; 0x02214A44
|
|
mov r1, #5
|
|
tst r0, #2
|
|
addne r1, r1, #4
|
|
tst r0, #8
|
|
addne r1, r1, #4
|
|
tst r0, #0x10
|
|
addne r1, r1, #2
|
|
tst r0, #0x20
|
|
addne r1, r1, #2
|
|
mov r0, r1
|
|
bx lr
|
|
arm_func_end ov00_02214A44
|
|
|
|
arm_func_start ov00_02214A70
|
|
ov00_02214A70: ; 0x02214A70
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
b _02214AC0
|
|
_02214A80:
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_02213FD4
|
|
cmp r0, #0
|
|
movlt r0, #0
|
|
ldmltia sp!, {r3, r4, r5, pc}
|
|
sub r4, r4, r0
|
|
add r5, r5, r0
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov00_02213FD4
|
|
cmp r0, #0
|
|
movlt r0, #0
|
|
ldmltia sp!, {r3, r4, r5, pc}
|
|
add r5, r5, r0
|
|
sub r4, r4, r0
|
|
_02214AC0:
|
|
cmp r4, #0
|
|
ble _02214AD4
|
|
ldrsb r0, [r5]
|
|
cmp r0, #0
|
|
bne _02214A80
|
|
_02214AD4:
|
|
cmp r4, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldrsb r0, [r5]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov00_02214A70
|
|
|
|
arm_func_start ov00_02214AF4
|
|
ov00_02214AF4: ; 0x02214AF4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
mov r8, r0
|
|
ldr r0, [r8, #8]
|
|
mov r7, r1
|
|
mov r6, r2
|
|
bl ov00_021FE6E4
|
|
mov r4, r0
|
|
cmp r4, #0
|
|
mov r5, #0
|
|
ble _02214BD8
|
|
mvn sb, #0
|
|
_02214B20:
|
|
ldr r0, [r8, #8]
|
|
mov r1, r5
|
|
bl ov00_021FE6EC
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _02214B64
|
|
cmp r0, #1
|
|
beq _02214B4C
|
|
cmp r0, #2
|
|
beq _02214B58
|
|
b _02214BA4
|
|
_02214B4C:
|
|
add r7, r7, #1
|
|
sub r6, r6, #1
|
|
b _02214BC0
|
|
_02214B58:
|
|
add r7, r7, #2
|
|
sub r6, r6, #2
|
|
b _02214BC0
|
|
_02214B64:
|
|
cmp r6, #1
|
|
movlt r0, #0
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
ldrb r0, [r7], #1
|
|
sub r6, r6, #1
|
|
cmp r0, #0xff
|
|
bne _02214BC0
|
|
mov r0, r7
|
|
mov r1, r6
|
|
bl ov00_02213FD4
|
|
cmp r0, sb
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
add r7, r7, r0
|
|
sub r6, r6, r0
|
|
b _02214BC0
|
|
_02214BA4:
|
|
ldr r0, _02214BE0 ; =_0221A638
|
|
ldr r1, _02214BE4 ; =_0221A5C8
|
|
ldr r2, _02214BE8 ; =_0221A550
|
|
ldr r3, _02214BEC ; =0x00000317
|
|
bl sub_020E4A9C
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_02214BC0:
|
|
cmp r6, #0
|
|
movlt r0, #0
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
add r5, r5, #1
|
|
cmp r5, r4
|
|
blt _02214B20
|
|
_02214BD8:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_02214BE0: .word _0221A638
|
|
_02214BE4: .word _0221A5C8
|
|
_02214BE8: .word _0221A550
|
|
_02214BEC: .word 0x00000317
|
|
arm_func_end ov00_02214AF4
|
|
|
|
arm_func_start ov00_02214BF0
|
|
ov00_02214BF0: ; 0x02214BF0
|
|
stmdb sp!, {r4, lr}
|
|
cmp r2, #5
|
|
ldmltia sp!, {r4, pc}
|
|
ldrb r4, [r1]
|
|
ldrb lr, [r1, #1]
|
|
ldrb ip, [r1, #2]
|
|
tst r4, #0x10
|
|
strb lr, [r3]
|
|
strb ip, [r3, #1]
|
|
ldrb lr, [r1, #3]
|
|
ldrb ip, [r1, #4]
|
|
strb lr, [r3, #2]
|
|
strb ip, [r3, #3]
|
|
beq _02214C4C
|
|
sub r0, r2, #5
|
|
cmp r0, #2
|
|
ldmltia sp!, {r4, pc}
|
|
ldrb r2, [r1, #5]
|
|
ldrb r0, [r1, #6]
|
|
ldr r1, [sp, #8]
|
|
strb r2, [r1]
|
|
strb r0, [r1, #1]
|
|
ldmia sp!, {r4, pc}
|
|
_02214C4C:
|
|
add r0, r0, #0x400
|
|
ldrh r1, [r0, #0xa8]
|
|
ldr r0, [sp, #8]
|
|
strh r1, [r0]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_02214BF0
|
|
|
|
arm_func_start ov00_02214C60
|
|
ov00_02214C60: ; 0x02214C60
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x10
|
|
mov r8, r2
|
|
ldrb r2, [r8], #5
|
|
mov sb, r1
|
|
mov sl, r0
|
|
mov r7, r3
|
|
str r2, [sp]
|
|
mov r0, sb
|
|
mov r1, r2
|
|
str r7, [sp, #4]
|
|
ldr r6, [sp, #0x38]
|
|
bl ov00_02213370
|
|
ldr r0, [sp]
|
|
sub r7, r7, #5
|
|
tst r0, #0x10
|
|
ldr r0, [sp]
|
|
addne r8, r8, #2
|
|
subne r7, r7, #2
|
|
tst r0, #2
|
|
moveq r0, #0
|
|
streq r0, [sp, #0xc]
|
|
beq _02214CE8
|
|
ldrb r1, [r8]
|
|
ldrb r0, [r8, #1]
|
|
add r2, sp, #0xc
|
|
sub r7, r7, #4
|
|
strb r1, [r2]
|
|
strb r0, [r2, #1]
|
|
ldrb r1, [r8, #2]
|
|
ldrb r0, [r8, #3]
|
|
add r8, r8, #4
|
|
strb r1, [r2, #2]
|
|
strb r0, [r2, #3]
|
|
_02214CE8:
|
|
ldr r0, [sp]
|
|
tst r0, #0x20
|
|
addeq r0, sl, #0x400
|
|
ldreqh r0, [r0, #0xa8]
|
|
streqh r0, [sp, #8]
|
|
beq _02214D1C
|
|
ldrb r1, [r8]
|
|
ldrb r0, [r8, #1]
|
|
add r2, sp, #8
|
|
add r8, r8, #2
|
|
strb r1, [r2]
|
|
strb r0, [r2, #1]
|
|
sub r7, r7, #2
|
|
_02214D1C:
|
|
ldrh r2, [sp, #8]
|
|
ldr r1, [sp, #0xc]
|
|
mov r0, sb
|
|
bl ov00_02213378
|
|
ldr r0, [sp]
|
|
tst r0, #8
|
|
beq _02214D70
|
|
ldrb r2, [r8]
|
|
ldrb r1, [r8, #1]
|
|
add r3, sp, #0xc
|
|
mov r0, sb
|
|
strb r2, [r3]
|
|
strb r1, [r3, #1]
|
|
ldrb r2, [r8, #2]
|
|
ldrb r1, [r8, #3]
|
|
add r8, r8, #4
|
|
sub r7, r7, #4
|
|
strb r2, [r3, #2]
|
|
strb r1, [r3, #3]
|
|
ldr r1, [sp, #0xc]
|
|
bl ov00_02213384
|
|
_02214D70:
|
|
ldr r0, [sp]
|
|
tst r0, #0x40
|
|
beq _02214EA0
|
|
ldr r0, [sl, #8]
|
|
bl ov00_021FE6E4
|
|
mov r4, r0
|
|
cmp r4, #0
|
|
mov r5, #0
|
|
ble _02214E88
|
|
add fp, sp, #0xa
|
|
_02214D98:
|
|
ldr r0, [sl, #8]
|
|
mov r1, r5
|
|
bl ov00_021FE6EC
|
|
mov r1, r0
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #0
|
|
beq _02214E28
|
|
cmp r0, #1
|
|
beq _02214DC8
|
|
cmp r0, #2
|
|
beq _02214DE0
|
|
b _02214E7C
|
|
_02214DC8:
|
|
ldrb r2, [r8], #1
|
|
ldr r1, [r1]
|
|
mov r0, sb
|
|
bl ov00_02212D10
|
|
sub r7, r7, #1
|
|
b _02214E7C
|
|
_02214DE0:
|
|
ldrb r3, [r8]
|
|
ldrb r2, [r8, #1]
|
|
mov r0, sb
|
|
strb r3, [fp]
|
|
strb r2, [fp, #1]
|
|
ldrh r3, [sp, #0xa]
|
|
ldr r1, [r1]
|
|
mov r2, r3, asr #8
|
|
and r2, r2, #0xff
|
|
mov r3, r3, lsl #8
|
|
and r3, r3, #0xff00
|
|
orr r2, r2, r3
|
|
mov r2, r2, lsl #0x10
|
|
mov r2, r2, lsr #0x10
|
|
bl ov00_02212D10
|
|
add r8, r8, #2
|
|
sub r7, r7, #2
|
|
b _02214E7C
|
|
_02214E28:
|
|
cmp r6, #0
|
|
ldrneb r0, [r8], #1
|
|
subne r7, r7, #1
|
|
moveq r0, #0xff
|
|
cmp r0, #0xff
|
|
bne _02214E68
|
|
ldr r1, [r1]
|
|
mov r0, sb
|
|
mov r2, r8
|
|
bl ov00_02212CD0
|
|
mov r0, r8
|
|
bl sub_020E9580
|
|
add r0, r0, #1
|
|
add r8, r8, r0
|
|
sub r7, r7, r0
|
|
b _02214E7C
|
|
_02214E68:
|
|
add r0, sl, r0, lsl #2
|
|
ldr r1, [r1]
|
|
ldr r2, [r0, #0x84]
|
|
mov r0, sb
|
|
bl ov00_02212CD0
|
|
_02214E7C:
|
|
add r5, r5, #1
|
|
cmp r5, r4
|
|
blt _02214D98
|
|
_02214E88:
|
|
mov r0, sb
|
|
bl ov00_02213394
|
|
orr r1, r0, #1
|
|
mov r0, sb
|
|
and r1, r1, #0xff
|
|
bl ov00_0221338C
|
|
_02214EA0:
|
|
ldr r0, [sp]
|
|
tst r0, #0x80
|
|
beq _02214F1C
|
|
b _02214EEC
|
|
_02214EB0:
|
|
mov r0, r8
|
|
mov r4, r8
|
|
bl sub_020E9580
|
|
add r3, r0, #1
|
|
add r8, r8, r3
|
|
mov r0, sb
|
|
mov r1, r4
|
|
mov r2, r8
|
|
sub r7, r7, r3
|
|
bl ov00_02212CD0
|
|
mov r0, r8
|
|
bl sub_020E9580
|
|
add r0, r0, #1
|
|
add r8, r8, r0
|
|
sub r7, r7, r0
|
|
_02214EEC:
|
|
ldrsb r0, [r8]
|
|
cmp r0, #0
|
|
beq _02214F00
|
|
cmp r7, #0
|
|
bgt _02214EB0
|
|
_02214F00:
|
|
mov r0, sb
|
|
sub r7, r7, #1
|
|
bl ov00_02213394
|
|
orr r1, r0, #2
|
|
mov r0, sb
|
|
and r1, r1, #0xff
|
|
bl ov00_0221338C
|
|
_02214F1C:
|
|
ldr r0, [sp, #4]
|
|
sub r0, r0, r7
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
arm_func_end ov00_02214C60
|
|
|
|
arm_func_start ov00_02214F2C
|
|
ov00_02214F2C: ; 0x02214F2C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0xc
|
|
mov r4, r2
|
|
cmp r4, #1
|
|
mov r6, r0
|
|
mov r5, r1
|
|
addlt sp, sp, #0xc
|
|
movlt r0, #0
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
ldrb r8, [r5]
|
|
mov r0, r8
|
|
bl ov00_02214A44
|
|
mov r7, r0
|
|
cmp r4, r7
|
|
addlt sp, sp, #0xc
|
|
movlt r0, #0
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
tst r8, #0x40
|
|
beq _02214F98
|
|
mov r0, r6
|
|
add r1, r5, r7
|
|
sub r2, r4, r7
|
|
bl ov00_02214AF4
|
|
cmp r0, #0
|
|
addeq sp, sp, #0xc
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_02214F98:
|
|
tst r8, #0x80
|
|
beq _02214FBC
|
|
add r0, r5, r7
|
|
sub r1, r4, r7
|
|
bl ov00_02214A70
|
|
cmp r0, #0
|
|
addeq sp, sp, #0xc
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_02214FBC:
|
|
ldr r1, _02215058 ; =_0221A63C
|
|
add r0, r5, #1
|
|
mov r2, #4
|
|
bl sub_020E5BB0
|
|
cmp r0, #0
|
|
addeq sp, sp, #0xc
|
|
mvneq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
add r7, sp, #4
|
|
add r3, sp, #8
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r2, r4
|
|
str r7, [sp]
|
|
bl ov00_02214BF0
|
|
ldrh r2, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
mov r0, r6
|
|
bl ov00_022132C4
|
|
mov r7, r0
|
|
bl ov00_0221339C
|
|
cmp r0, #0
|
|
addne sp, sp, #0xc
|
|
mvnne r0, #1
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
mov ip, #1
|
|
mov r0, r6
|
|
mov r1, r7
|
|
mov r2, r5
|
|
mov r3, r4
|
|
str ip, [sp]
|
|
bl ov00_02214C60
|
|
mov r4, r0
|
|
mov r0, r6
|
|
mov r1, r7
|
|
bl ov00_02213C6C
|
|
mov r0, r4
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_02215058: .word _0221A63C
|
|
arm_func_end ov00_02214F2C
|
|
|
|
arm_func_start ov00_0221505C
|
|
ov00_0221505C: ; 0x0221505C
|
|
str r1, [r0, #0x4ac]
|
|
bx lr
|
|
arm_func_end ov00_0221505C
|
|
|
|
arm_func_start ov00_02215064
|
|
ov00_02215064: ; 0x02215064
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #8
|
|
mov r7, r0
|
|
ldr r1, [r7, #0x5c8]
|
|
ldr r5, [r7, #0x7c]
|
|
ldr r6, [r7, #0x80]
|
|
cmp r1, #4
|
|
addls pc, pc, r1, lsl #2
|
|
b _02215424
|
|
_02215088: ; jump table
|
|
b _0221509C ; case 0
|
|
b _022150FC ; case 1
|
|
b _022151FC ; case 2
|
|
b _022152E8 ; case 3
|
|
b _02215394 ; case 4
|
|
_0221509C:
|
|
cmp r6, #1
|
|
blt _02215424
|
|
ldrb r1, [r5]
|
|
eor r1, r1, #0xec
|
|
add r3, r1, #2
|
|
cmp r6, r3
|
|
blt _02215424
|
|
sub r1, r3, #1
|
|
ldrb r1, [r5, r1]
|
|
eor r2, r1, #0xea
|
|
add r4, r3, r2
|
|
cmp r6, r4
|
|
blt _02215424
|
|
add r1, r5, r3
|
|
bl ov00_022149A4
|
|
add r5, r5, r4
|
|
sub r6, r6, r4
|
|
add r0, r7, #0xbc
|
|
mov r3, #1
|
|
mov r1, r5
|
|
mov r2, r6
|
|
add r0, r0, #0x400
|
|
str r3, [r7, #0x5c8]
|
|
bl ov00_022122B8
|
|
_022150FC:
|
|
cmp r6, #6
|
|
blt _02215424
|
|
ldrb r3, [r5]
|
|
ldrb r1, [r5, #1]
|
|
ldr r2, _02215478 ; =_0221B9D4
|
|
mov r0, r7
|
|
strb r3, [r7, #0x4a0]
|
|
strb r1, [r7, #0x4a1]
|
|
ldrb r4, [r5, #2]
|
|
ldrb r3, [r5, #3]
|
|
mov r1, #6
|
|
strb r4, [r7, #0x4a2]
|
|
strb r3, [r7, #0x4a3]
|
|
ldr r2, [r2]
|
|
ldr r3, [r7, #0x494]
|
|
ldr r4, [r7, #0x488]
|
|
blx r4
|
|
ldrb r3, [r5, #4]
|
|
ldrb r2, [r5, #5]
|
|
add r0, r7, #0x400
|
|
ldr r1, _0221547C ; =0x0000FFFF
|
|
strb r3, [r7, #0x4a8]
|
|
strb r2, [r7, #0x4a9]
|
|
ldrh r0, [r0, #0xa8]
|
|
cmp r0, r1
|
|
bne _022151B0
|
|
add r0, r5, #6
|
|
sub r1, r6, #6
|
|
bl ov00_02213FD4
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
beq _02215424
|
|
mov r0, r7
|
|
add r1, r5, #6
|
|
bl ov00_0221505C
|
|
ldr r0, _02215478 ; =_0221B9D4
|
|
ldr r3, [r7, #0x494]
|
|
ldr r2, [r0]
|
|
ldr r4, [r7, #0x488]
|
|
mov r0, r7
|
|
mov r1, #5
|
|
blx r4
|
|
ldr r0, [r7, #0x7c]
|
|
cmp r0, #0
|
|
beq _02215424
|
|
_022151B0:
|
|
ldr r0, [r7, #0x5c4]
|
|
add r5, r5, #6
|
|
tst r0, #2
|
|
sub r6, r6, #6
|
|
bne _022151D8
|
|
add r0, r7, #0x400
|
|
ldrh r1, [r0, #0xa8]
|
|
ldr r0, _0221547C ; =0x0000FFFF
|
|
cmp r1, r0
|
|
bne _022151EC
|
|
_022151D8:
|
|
mov r0, #5
|
|
str r0, [r7, #0x5c8]
|
|
mov r0, #2
|
|
str r0, [r7]
|
|
b _02215424
|
|
_022151EC:
|
|
mov r0, #2
|
|
str r0, [r7, #0x5c8]
|
|
sub r0, r0, #3
|
|
str r0, [r7, #0x484]
|
|
_022151FC:
|
|
ldr r1, [r7, #0x484]
|
|
mvn r0, #0
|
|
cmp r1, r0
|
|
bne _02215244
|
|
cmp r6, #1
|
|
blt _02215424
|
|
ldrb r1, [r5]
|
|
mov r0, #8
|
|
mov r2, #0
|
|
str r1, [r7, #0x484]
|
|
bl ov00_021FE5B4
|
|
cmp r0, #0
|
|
str r0, [r7, #8]
|
|
addeq sp, sp, #8
|
|
moveq r0, #5
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
add r5, r5, #1
|
|
sub r6, r6, #1
|
|
_02215244:
|
|
ldr r0, [r7, #8]
|
|
bl ov00_021FE6E4
|
|
ldr r1, [r7, #0x484]
|
|
cmp r1, r0
|
|
ble _022152C4
|
|
add r8, sp, #0
|
|
mvn r4, #0
|
|
_02215260:
|
|
cmp r6, #2
|
|
blt _022152C4
|
|
add r0, r5, #1
|
|
sub r1, r6, #1
|
|
bl ov00_02213FD4
|
|
mov sb, r0
|
|
cmp sb, r4
|
|
beq _022152C4
|
|
ldrb r2, [r5]
|
|
mov r0, r7
|
|
add r1, r5, #1
|
|
str r2, [sp, #4]
|
|
bl ov00_02213EE8
|
|
str r0, [sp]
|
|
ldr r0, [r7, #8]
|
|
mov r1, r8
|
|
bl ov00_021FE754
|
|
add r1, sb, #1
|
|
ldr r0, [r7, #8]
|
|
add r5, r5, r1
|
|
sub r6, r6, r1
|
|
bl ov00_021FE6E4
|
|
ldr r1, [r7, #0x484]
|
|
cmp r1, r0
|
|
bgt _02215260
|
|
_022152C4:
|
|
ldr r0, [r7, #8]
|
|
bl ov00_021FE6E4
|
|
ldr r1, [r7, #0x484]
|
|
cmp r1, r0
|
|
bgt _02215424
|
|
mov r0, #3
|
|
str r0, [r7, #0x5c8]
|
|
sub r0, r0, #4
|
|
str r0, [r7, #0x484]
|
|
_022152E8:
|
|
ldr r1, [r7, #0x484]
|
|
mvn r0, #0
|
|
cmp r1, r0
|
|
bne _02215314
|
|
cmp r6, #1
|
|
blt _02215424
|
|
ldrb r1, [r5], #1
|
|
mov r0, #0
|
|
sub r6, r6, #1
|
|
str r1, [r7, #0x484]
|
|
str r0, [r7, #0x480]
|
|
_02215314:
|
|
ldr r1, [r7, #0x484]
|
|
ldr r0, [r7, #0x480]
|
|
cmp r1, r0
|
|
ble _0221537C
|
|
mvn r8, #0
|
|
_02215328:
|
|
mov r0, r5
|
|
mov r1, r6
|
|
bl ov00_02213FD4
|
|
mov r4, r0
|
|
cmp r4, r8
|
|
beq _0221537C
|
|
mov r0, r7
|
|
mov r1, r5
|
|
bl ov00_02213EE8
|
|
ldr r1, [r7, #0x480]
|
|
add r5, r5, r4
|
|
mov r2, r1
|
|
add r1, r1, #1
|
|
str r1, [r7, #0x480]
|
|
add r1, r7, r2, lsl #2
|
|
str r0, [r1, #0x84]
|
|
ldr r1, [r7, #0x484]
|
|
ldr r0, [r7, #0x480]
|
|
sub r6, r6, r4
|
|
cmp r1, r0
|
|
bgt _02215328
|
|
_0221537C:
|
|
ldr r1, [r7, #0x484]
|
|
ldr r0, [r7, #0x480]
|
|
cmp r1, r0
|
|
bgt _02215424
|
|
mov r0, #4
|
|
str r0, [r7, #0x5c8]
|
|
_02215394:
|
|
cmp r6, #5
|
|
blt _02215424
|
|
mvn r4, #0
|
|
sub r8, r4, #1
|
|
mov sb, #0
|
|
_022153A8:
|
|
mov r0, r7
|
|
mov r1, r5
|
|
mov r2, r6
|
|
bl ov00_02214F2C
|
|
cmp r0, r8
|
|
addeq sp, sp, #8
|
|
moveq r0, #5
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
cmp r0, r4
|
|
bne _02215408
|
|
mov r0, #5
|
|
str r0, [r7, #0x5c8]
|
|
mov r0, #2
|
|
str r0, [r7]
|
|
ldr r0, _02215478 ; =_0221B9D4
|
|
ldr r3, [r7, #0x494]
|
|
ldr r2, [r0]
|
|
ldr r4, [r7, #0x488]
|
|
mov r0, r7
|
|
mov r1, #3
|
|
sub r6, r6, #5
|
|
add r5, r5, #5
|
|
blx r4
|
|
b _02215424
|
|
_02215408:
|
|
ldr r1, [r7, #0x7c]
|
|
add r5, r5, r0
|
|
cmp r1, #0
|
|
sub r6, r6, r0
|
|
moveq r0, sb
|
|
cmp r0, #0
|
|
bne _022153A8
|
|
_02215424:
|
|
cmp r6, #0
|
|
bge _02215440
|
|
ldr r0, _02215480 ; =_0221A644
|
|
ldr r1, _02215484 ; =_0221A5C8
|
|
ldr r2, _02215488 ; =_0221A588
|
|
ldr r3, _0221548C ; =0x000004AF
|
|
bl sub_020E4A9C
|
|
_02215440:
|
|
ldr r0, [r7, #0x7c]
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
cmp r6, #0
|
|
beq _02215468
|
|
mov r1, r5
|
|
mov r2, r6
|
|
bl sub_020E5AF8
|
|
_02215468:
|
|
str r6, [r7, #0x80]
|
|
mov r0, #0
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_02215478: .word _0221B9D4
|
|
_0221547C: .word 0x0000FFFF
|
|
_02215480: .word _0221A644
|
|
_02215484: .word _0221A5C8
|
|
_02215488: .word _0221A588
|
|
_0221548C: .word 0x000004AF
|
|
arm_func_end ov00_02215064
|
|
|
|
arm_func_start ov00_02215490
|
|
ov00_02215490: ; 0x02215490
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #8
|
|
mov sl, r0
|
|
ldr r3, [sl, #8]
|
|
mov sb, r1
|
|
mov r8, r2
|
|
cmp r3, #0
|
|
sub r8, r8, #1
|
|
ldrb r7, [sb], #1
|
|
beq _022154BC
|
|
bl ov00_022148A4
|
|
_022154BC:
|
|
mov r1, r7
|
|
mov r0, #8
|
|
mov r2, #0
|
|
bl ov00_021FE5B4
|
|
cmp r0, #0
|
|
str r0, [sl, #8]
|
|
addeq sp, sp, #8
|
|
moveq r0, #5
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
cmp r7, #0
|
|
mov r6, #0
|
|
ble _02215560
|
|
add fp, sp, #0
|
|
mvn r4, #0
|
|
_022154F4:
|
|
cmp r8, #2
|
|
addlt sp, sp, #8
|
|
movlt r0, #4
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
add r0, sb, #1
|
|
sub r1, r8, #1
|
|
bl ov00_02213FD4
|
|
mov r5, r0
|
|
cmp r5, r4
|
|
addeq sp, sp, #8
|
|
moveq r0, #4
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldrb r2, [sb]
|
|
mov r0, sl
|
|
add r1, sb, #1
|
|
str r2, [sp, #4]
|
|
bl ov00_02213EE8
|
|
str r0, [sp]
|
|
ldr r0, [sl, #8]
|
|
mov r1, fp
|
|
bl ov00_021FE754
|
|
add r0, r5, #1
|
|
add r6, r6, #1
|
|
cmp r6, r7
|
|
add sb, sb, r0
|
|
sub r8, r8, r0
|
|
blt _022154F4
|
|
_02215560:
|
|
mov r0, #0
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
arm_func_end ov00_02215490
|
|
|
|
arm_func_start ov00_0221556C
|
|
ov00_0221556C: ; 0x0221556C
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x24
|
|
mov r8, r2
|
|
cmp r8, #2
|
|
mov sl, r0
|
|
mov sb, r1
|
|
addlt sp, sp, #0x24
|
|
movlt r0, #4
|
|
ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldrb r0, [sb, #1]
|
|
sub r8, r8, #2
|
|
mov fp, #0
|
|
str r0, [sp, #0xc]
|
|
ldrb r0, [sb], #2
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
ble _022156E8
|
|
add r7, sp, #0x20
|
|
add r6, sp, #0x1c
|
|
mvn r4, #0
|
|
_022155C0:
|
|
mov r0, sb
|
|
mov r1, r8
|
|
str sb, [sp, #0x10]
|
|
bl ov00_02213FD4
|
|
cmp r0, r4
|
|
addeq sp, sp, #0x24
|
|
moveq r0, #4
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
sub r3, r8, r0
|
|
cmp r3, #0xb
|
|
add r2, sb, r0
|
|
addlt sp, sp, #0x24
|
|
movlt r0, #4
|
|
ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldrb r1, [r2]
|
|
ldrb r0, [r2, #1]
|
|
sub r8, r3, #0xa
|
|
add sb, r2, #0xa
|
|
strb r1, [r7]
|
|
strb r0, [r7, #1]
|
|
ldrb r5, [r2, #2]
|
|
ldrb r3, [r2, #3]
|
|
mov r0, sb
|
|
mov r1, r8
|
|
strb r3, [r7, #3]
|
|
strb r5, [r7, #2]
|
|
ldrb ip, [r2, #4]
|
|
ldrb r5, [r2, #5]
|
|
add r3, sp, #0x18
|
|
strb ip, [r3]
|
|
strb r5, [r3, #1]
|
|
ldrb r5, [r2, #6]
|
|
ldrb r3, [r2, #7]
|
|
strb r5, [r6]
|
|
strb r3, [r6, #1]
|
|
ldrb r3, [r2, #8]
|
|
ldrb r2, [r2, #9]
|
|
strb r3, [r6, #2]
|
|
strb r2, [r6, #3]
|
|
ldr ip, [sp, #0x1c]
|
|
mov r2, ip, lsl #0x18
|
|
and r5, r2, #0xff000000
|
|
mov r2, ip, lsl #8
|
|
and r3, r2, #0xff0000
|
|
mov r2, ip, lsr #0x18
|
|
mov ip, ip, lsr #8
|
|
and r2, r2, #0xff
|
|
and ip, ip, #0xff00
|
|
orr r2, r2, ip
|
|
orr r2, r3, r2
|
|
orr r2, r5, r2
|
|
str r2, [sp, #0x1c]
|
|
bl ov00_02213FD4
|
|
mov r5, r0
|
|
cmp r5, r4
|
|
addeq sp, sp, #0x24
|
|
moveq r0, #4
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, [sp, #0x1c]
|
|
mov r0, sl
|
|
stmia sp, {r1, sb}
|
|
ldr r2, [sl, #0x494]
|
|
ldr r1, [sp, #0x10]
|
|
str r2, [sp, #8]
|
|
ldrh r3, [sp, #0x18]
|
|
ldr r2, [sp, #0x20]
|
|
ldr ip, [sl, #0x490]
|
|
blx ip
|
|
ldr r0, [sp, #0xc]
|
|
add fp, fp, #1
|
|
cmp fp, r0
|
|
add sb, sb, r5
|
|
sub r8, r8, r5
|
|
blt _022155C0
|
|
_022156E8:
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
beq _0221571C
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r2, [sl, #0x494]
|
|
mov r0, sl
|
|
str r2, [sp, #8]
|
|
ldr r4, [sl, #0x490]
|
|
mov r2, r1
|
|
mov r3, r1
|
|
blx r4
|
|
_0221571C:
|
|
mov r0, #0
|
|
add sp, sp, #0x24
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
arm_func_end ov00_0221556C
|
|
|
|
arm_func_start ov00_02215728
|
|
ov00_02215728: ; 0x02215728
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x54
|
|
mov r8, r2
|
|
cmp r8, #0xb
|
|
mov sl, r0
|
|
mov sb, r1
|
|
addlt sp, sp, #0x54
|
|
movlt r0, #4
|
|
ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldrb r2, [sb]
|
|
ldrb r1, [sb, #1]
|
|
add r3, sp, #0xc
|
|
add r4, sp, #8
|
|
strb r2, [r3]
|
|
strb r1, [r3, #1]
|
|
ldrb r2, [sb, #2]
|
|
ldrb r1, [sb, #3]
|
|
strb r1, [r3, #3]
|
|
strb r2, [r3, #2]
|
|
ldrb r3, [sb, #4]
|
|
ldrb r2, [sb, #5]
|
|
ldr r1, [sp, #0xc]
|
|
strb r3, [r4]
|
|
strb r2, [r4, #1]
|
|
ldrh r2, [sp, #8]
|
|
bl ov00_02213CFC
|
|
mov r1, r0
|
|
mvn r0, #0
|
|
cmp r1, r0
|
|
addeq sp, sp, #0x54
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
mov r0, sl
|
|
bl ov00_02213DFC
|
|
ldrb r2, [sb, #6]
|
|
ldrb r1, [sb, #7]
|
|
add r3, sp, #0x10
|
|
mov fp, r0
|
|
strb r2, [r3]
|
|
strb r1, [r3, #1]
|
|
ldrb r1, [sb, #8]
|
|
ldrb r0, [sb, #9]
|
|
sub r8, r8, #0xb
|
|
mov r7, #0
|
|
strb r1, [r3, #2]
|
|
strb r0, [r3, #3]
|
|
ldr r3, [sp, #0x10]
|
|
add r5, sp, #0x14
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
mov r3, r3, lsl #0x18
|
|
orr r0, r1, r0
|
|
and r2, r2, #0xff0000
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
str r0, [sp, #0x10]
|
|
ldrb r6, [sb, #0xa]
|
|
add sb, sb, #0xb
|
|
mvn r4, #0
|
|
b _0221585C
|
|
_02215828:
|
|
cmp r8, #1
|
|
blt _02215868
|
|
mov r0, sb
|
|
mov r1, r8
|
|
bl ov00_02213FD4
|
|
cmp r0, r4
|
|
addeq sp, sp, #0x54
|
|
moveq r0, #4
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
str sb, [r5, r7, lsl #2]
|
|
add sb, sb, r0
|
|
sub r8, r8, r0
|
|
add r7, r7, #1
|
|
_0221585C:
|
|
cmp r7, r6
|
|
cmplt r7, #0x10
|
|
blt _02215828
|
|
_02215868:
|
|
ldr r4, [sl, #0x48c]
|
|
cmp r4, #0
|
|
addeq sp, sp, #0x54
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
add r1, sp, #0x14
|
|
str r1, [sp]
|
|
ldr r2, [sl, #0x494]
|
|
mov r0, sl
|
|
str r2, [sp, #4]
|
|
ldr r2, [sp, #0x10]
|
|
mov r1, fp
|
|
mov r3, r7
|
|
blx r4
|
|
mov r0, #0
|
|
add sp, sp, #0x54
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
arm_func_end ov00_02215728
|
|
|
|
arm_func_start ov00_022158AC
|
|
ov00_022158AC: ; 0x022158AC
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #8
|
|
cmp r2, #6
|
|
mov r4, r0
|
|
addlt sp, sp, #8
|
|
movlt r0, #4
|
|
ldmltia sp!, {r4, pc}
|
|
ldrb r3, [r1]
|
|
ldrb r2, [r1, #1]
|
|
add lr, sp, #4
|
|
add ip, sp, #0
|
|
strb r3, [lr]
|
|
strb r2, [lr, #1]
|
|
ldrb r3, [r1, #2]
|
|
ldrb r2, [r1, #3]
|
|
strb r3, [lr, #2]
|
|
strb r2, [lr, #3]
|
|
ldrb r3, [r1, #4]
|
|
ldrb r2, [r1, #5]
|
|
ldr r1, [sp, #4]
|
|
strb r3, [ip]
|
|
strb r2, [ip, #1]
|
|
ldrh r2, [sp]
|
|
bl ov00_02213CFC
|
|
mov r1, r0
|
|
mvn r0, #0
|
|
cmp r1, r0
|
|
addeq sp, sp, #8
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
bl ov00_02213DA0
|
|
mov r0, #0
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_022158AC
|
|
|
|
arm_func_start ov00_02215938
|
|
ov00_02215938: ; 0x02215938
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0xc
|
|
mov r6, r2
|
|
cmp r6, #5
|
|
mov r8, r0
|
|
mov r7, r1
|
|
addlt sp, sp, #0xc
|
|
movlt r0, #4
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
add r4, sp, #4
|
|
add r3, sp, #8
|
|
str r4, [sp]
|
|
bl ov00_02214BF0
|
|
ldrh r2, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
mov r0, r8
|
|
bl ov00_02213CFC
|
|
mov r5, r0
|
|
mvn r0, #0
|
|
cmp r5, r0
|
|
bne _022159B8
|
|
ldrh r2, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
mov r0, r8
|
|
bl ov00_022132C4
|
|
mov r4, r0
|
|
bl ov00_0221339C
|
|
cmp r0, #0
|
|
beq _022159C8
|
|
add sp, sp, #0xc
|
|
mov r0, #5
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_022159B8:
|
|
mov r0, r8
|
|
mov r1, r5
|
|
bl ov00_02213DFC
|
|
mov r4, r0
|
|
_022159C8:
|
|
mov ip, #0
|
|
mov r0, r8
|
|
mov r1, r4
|
|
mov r2, r7
|
|
mov r3, r6
|
|
str ip, [sp]
|
|
bl ov00_02214C60
|
|
cmp r0, #0
|
|
addlt sp, sp, #0xc
|
|
movlt r0, #4
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
mvn r0, #0
|
|
cmp r5, r0
|
|
bne _02215A0C
|
|
mov r0, r8
|
|
mov r1, r4
|
|
bl ov00_02213C6C
|
|
_02215A0C:
|
|
ldr r3, [r8, #0x494]
|
|
ldr r5, [r8, #0x488]
|
|
mov r0, r8
|
|
mov r2, r4
|
|
mov r1, #1
|
|
blx r5
|
|
mov r0, #0
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
arm_func_end ov00_02215938
|
|
|
|
arm_func_start ov00_02215A30
|
|
ov00_02215A30: ; 0x02215A30
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov sb, r0
|
|
ldr r0, [sb, #0x80]
|
|
mov r8, #0
|
|
cmp r0, #3
|
|
blt _02215BCC
|
|
ldr r5, _02215BE4 ; =_0221A650
|
|
ldr r4, _02215BE8 ; =_0221A5C8
|
|
ldr sl, _02215BEC ; =_0221A574
|
|
ldr fp, _02215BF0 ; =0x000005B4
|
|
mov r6, r8
|
|
add r7, sp, #0
|
|
_02215A60:
|
|
ldr r0, [sb, #0x7c]
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r0, #1]
|
|
strb r1, [r7]
|
|
strb r0, [r7, #1]
|
|
ldrh r0, [sp]
|
|
mov r1, r0, asr #8
|
|
mov r0, r0, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
strh r0, [sp]
|
|
ldrh r2, [sp]
|
|
cmp r2, #0x1000
|
|
movhi r8, #4
|
|
bhi _02215BCC
|
|
ldr r0, [sb, #0x80]
|
|
cmp r0, r2
|
|
movlt r0, #0
|
|
ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, [sb, #0x7c]
|
|
ldrsb r0, [r1, #2]
|
|
cmp r0, #6
|
|
addls pc, pc, r0, lsl #2
|
|
b _02215B70
|
|
_02215AC4: ; jump table
|
|
b _02215B70 ; case 0
|
|
b _02215AE0 ; case 1
|
|
b _02215AF8 ; case 2
|
|
b _02215B10 ; case 3
|
|
b _02215B2C ; case 4
|
|
b _02215B44 ; case 5
|
|
b _02215B5C ; case 6
|
|
_02215AE0:
|
|
mov r0, sb
|
|
add r1, r1, #3
|
|
sub r2, r2, #3
|
|
bl ov00_02215490
|
|
mov r8, r0
|
|
b _02215B70
|
|
_02215AF8:
|
|
mov r0, sb
|
|
add r1, r1, #3
|
|
sub r2, r2, #3
|
|
bl ov00_02215938
|
|
mov r8, r0
|
|
b _02215B70
|
|
_02215B10:
|
|
ldr r0, [sb, #0x4b0]
|
|
mov r3, r6
|
|
bl ov00_021FF970
|
|
cmp r0, #0
|
|
bgt _02215B70
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02215B2C:
|
|
mov r0, sb
|
|
add r1, r1, #3
|
|
sub r2, r2, #3
|
|
bl ov00_022158AC
|
|
mov r8, r0
|
|
b _02215B70
|
|
_02215B44:
|
|
mov r0, sb
|
|
add r1, r1, #3
|
|
sub r2, r2, #3
|
|
bl ov00_02215728
|
|
mov r8, r0
|
|
b _02215B70
|
|
_02215B5C:
|
|
mov r0, sb
|
|
add r1, r1, #3
|
|
sub r2, r2, #3
|
|
bl ov00_0221556C
|
|
mov r8, r0
|
|
_02215B70:
|
|
ldrh r0, [sp]
|
|
ldr r1, [sb, #0x80]
|
|
subs r0, r1, r0
|
|
str r0, [sb, #0x80]
|
|
bpl _02215B98
|
|
mov r0, r5
|
|
mov r1, r4
|
|
mov r2, sl
|
|
mov r3, fp
|
|
bl sub_020E4A9C
|
|
_02215B98:
|
|
ldr r2, [sb, #0x80]
|
|
cmp r2, #0
|
|
ldrne r0, [sb, #0x7c]
|
|
cmpne r0, #0
|
|
beq _02215BB8
|
|
ldrh r1, [sp]
|
|
add r1, r0, r1
|
|
bl sub_020E5AF8
|
|
_02215BB8:
|
|
cmp r8, #0
|
|
bne _02215BCC
|
|
ldr r0, [sb, #0x80]
|
|
cmp r0, #3
|
|
bge _02215A60
|
|
_02215BCC:
|
|
cmp r8, #0
|
|
beq _02215BDC
|
|
mov r0, sb
|
|
bl ov00_02214130
|
|
_02215BDC:
|
|
mov r0, r8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02215BE4: .word _0221A650
|
|
_02215BE8: .word _0221A5C8
|
|
_02215BEC: .word _0221A574
|
|
_02215BF0: .word 0x000005B4
|
|
arm_func_end ov00_02215A30
|
|
|
|
arm_func_start ov00_02215BF4
|
|
ov00_02215BF4: ; 0x02215BF4
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
ldr r0, [r6, #0x4b0]
|
|
bl ov00_021FF694
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r5, [r6, #0x80]
|
|
ldr r1, [r6, #0x7c]
|
|
ldr r0, [r6, #0x4b0]
|
|
add r1, r1, r5
|
|
rsb r2, r5, #0x1000
|
|
mov r3, #0
|
|
bl ov00_021FF92C
|
|
add r1, r0, #1
|
|
cmp r1, #1
|
|
bhi _02215C48
|
|
mov r0, r6
|
|
bl ov00_02214130
|
|
mov r0, #3
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02215C48:
|
|
ldr r1, [r6, #0x80]
|
|
mov r4, #0
|
|
add r0, r1, r0
|
|
str r0, [r6, #0x80]
|
|
ldr r0, [r6]
|
|
cmp r0, #2
|
|
beq _02215C70
|
|
ldr r0, [r6, #0x5c8]
|
|
cmp r0, #0
|
|
ble _02215C8C
|
|
_02215C70:
|
|
ldr r1, [r6, #0x7c]
|
|
ldr r2, [r6, #0x80]
|
|
add r0, r6, #0xbc
|
|
add r0, r0, #0x400
|
|
add r1, r1, r5
|
|
sub r2, r2, r5
|
|
bl ov00_022122B8
|
|
_02215C8C:
|
|
ldr r0, [r6]
|
|
cmp r0, #3
|
|
bne _02215CA4
|
|
mov r0, r6
|
|
bl ov00_02215064
|
|
mov r4, r0
|
|
_02215CA4:
|
|
cmp r4, #0
|
|
movne r0, r4
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldr r0, [r6]
|
|
cmp r0, #2
|
|
bne _02215CD4
|
|
ldr r0, [r6, #0x80]
|
|
cmp r0, #0
|
|
ble _02215CD4
|
|
mov r0, r6
|
|
bl ov00_02215A30
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02215CD4:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov00_02215BF4
|
|
|
|
arm_func_start ov00_02215CDC
|
|
ov00_02215CDC: ; 0x02215CDC
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x18
|
|
mov r5, r0
|
|
ldr r1, [r5]
|
|
mov r4, r3
|
|
cmp r1, #1
|
|
bne _02215D10
|
|
mov r1, #0
|
|
mov r2, r1
|
|
mov r3, #2
|
|
str r1, [sp]
|
|
bl ov00_022145F0
|
|
_02215D10:
|
|
ldr r0, [r5]
|
|
cmp r0, #1
|
|
addeq sp, sp, #0x18
|
|
moveq r0, #3
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
addeq sp, sp, #0x10
|
|
bxeq lr
|
|
ldr r0, [sp, #0x50]
|
|
add r6, sp, #0x44
|
|
add r0, r0, #9
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
mov r2, r0, asr #8
|
|
mov r1, r0, lsl #8
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
orr r1, r2, r1
|
|
strh r1, [sp, #4]
|
|
add r2, sp, #4
|
|
ldrb r3, [r2]
|
|
add r0, sp, #0x48
|
|
add r1, sp, #6
|
|
ldrb r2, [r2, #1]
|
|
strb r3, [r1]
|
|
mov fp, #2
|
|
strb r2, [r1, #1]
|
|
ldrb sb, [r6]
|
|
add sl, sp, #9
|
|
ldrb r8, [r6, #1]
|
|
ldrb r7, [r6, #2]
|
|
ldrb r6, [r6, #3]
|
|
ldrb ip, [r0]
|
|
ldrb r3, [r0, #1]
|
|
add lr, sp, #0xd
|
|
mov r0, r5
|
|
mov r2, #9
|
|
strb fp, [sp, #8]
|
|
strb sb, [sl]
|
|
strb r8, [sl, #1]
|
|
strb r7, [sl, #2]
|
|
strb r6, [sl, #3]
|
|
strb ip, [lr]
|
|
strb r3, [lr, #1]
|
|
bl ov00_02214558
|
|
cmp r0, #0
|
|
addne sp, sp, #0x18
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
addne sp, sp, #0x10
|
|
bxne lr
|
|
ldr r0, [r5, #0x4b0]
|
|
ldr r2, [sp, #0x50]
|
|
mov r1, r4
|
|
mov r3, #0
|
|
bl ov00_021FF970
|
|
cmp r0, #0
|
|
movlt r0, #3
|
|
movge r0, #0
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
arm_func_end ov00_02215CDC
|
|
|
|
arm_func_start ov00_02215E04
|
|
ov00_02215E04: ; 0x02215E04
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x10
|
|
ldr r5, [sp, #0x44]
|
|
mov r7, #0xfd
|
|
mov r4, r5, lsr #0x18
|
|
mov r8, r5, lsl #0x18
|
|
mov r3, r5, lsr #8
|
|
mov r6, r5, lsl #8
|
|
and r5, r4, #0xff
|
|
and r4, r3, #0xff00
|
|
orr sb, r5, r4
|
|
and r3, r6, #0xff0000
|
|
mov r6, #0xfc
|
|
mov r5, #0x1e
|
|
mov r4, #0x66
|
|
mov lr, #0x6a
|
|
mov fp, #0xb2
|
|
strb r4, [sp, #7]
|
|
and r8, r8, #0xff000000
|
|
orr r3, r3, sb
|
|
orr r8, r8, r3
|
|
add r3, sp, #0x44
|
|
str r8, [sp, #0x44]
|
|
strb r7, [sp, #4]
|
|
ldrb sl, [r3]
|
|
add ip, sp, #0xa
|
|
ldrb sb, [r3, #1]
|
|
ldrb r8, [r3, #2]
|
|
ldrb r7, [r3, #3]
|
|
add r3, sp, #4
|
|
strb r6, [sp, #5]
|
|
strb r5, [sp, #6]
|
|
strb lr, [sp, #8]
|
|
strb fp, [sp, #9]
|
|
strb sl, [ip]
|
|
strb sb, [ip, #1]
|
|
strb r8, [ip, #2]
|
|
strb r7, [ip, #3]
|
|
mov r4, #0xa
|
|
str r4, [sp]
|
|
bl ov00_02215CDC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
arm_func_end ov00_02215E04
|
|
|
|
arm_func_start ov00_02215EBC
|
|
ov00_02215EBC: ; 0x02215EBC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x5f0
|
|
mov r1, #8
|
|
mov sl, r0
|
|
str r1, [sp, #8]
|
|
ldr r0, [sl, #0x4b0]
|
|
bl ov00_021FF694
|
|
cmp r0, #0
|
|
beq _02215F84
|
|
ldr r6, _02215FD8 ; =0x000005DB
|
|
add sb, sp, #0xc
|
|
add r8, sp, #8
|
|
add r7, sp, #0x14
|
|
mov fp, #0
|
|
mvn r4, #0
|
|
_02215EF8:
|
|
str sb, [sp]
|
|
str r8, [sp, #4]
|
|
ldr r0, [sl, #0x4b0]
|
|
mov r1, r7
|
|
mov r2, r6
|
|
mov r3, fp
|
|
bl ov00_021FF940
|
|
cmp r0, r4
|
|
beq _02215F74
|
|
ldrh r2, [sp, #0xe]
|
|
ldr r1, [sp, #0x10]
|
|
mov r0, sl
|
|
bl ov00_02213CFC
|
|
cmp r0, r4
|
|
bne _02215F74
|
|
ldrh r2, [sp, #0xe]
|
|
ldr r1, [sp, #0x10]
|
|
mov r0, sl
|
|
bl ov00_022132C4
|
|
mov r5, r0
|
|
bl ov00_0221339C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x5f0
|
|
movne r0, #5
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
mov r0, r5
|
|
mov r1, #0x11
|
|
bl ov00_02213370
|
|
mov r0, sl
|
|
mov r1, r5
|
|
bl ov00_02213C6C
|
|
_02215F74:
|
|
ldr r0, [sl, #0x4b0]
|
|
bl ov00_021FF694
|
|
cmp r0, #0
|
|
bne _02215EF8
|
|
_02215F84:
|
|
bl ov00_021FF368
|
|
ldr r1, [sl, #0x4b4]
|
|
sub r0, r0, r1
|
|
cmp r0, #0x7d0
|
|
bls _02215FCC
|
|
ldr r0, [sl, #0x4b0]
|
|
bl ov00_021FF818
|
|
mvn r0, #0
|
|
str r0, [sl, #0x4b0]
|
|
mov r0, #1
|
|
str r0, [sl]
|
|
ldr r0, _02215FDC ; =_0221B9D4
|
|
ldr r3, [sl, #0x494]
|
|
ldr r2, [r0]
|
|
ldr r4, [sl, #0x488]
|
|
mov r0, sl
|
|
mov r1, #3
|
|
blx r4
|
|
_02215FCC:
|
|
mov r0, #0
|
|
add sp, sp, #0x5f0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02215FD8: .word 0x000005DB
|
|
_02215FDC: .word _0221B9D4
|
|
arm_func_end ov00_02215EBC
|
|
|
|
arm_func_start ov00_02215FE0
|
|
ov00_02215FE0: ; 0x02215FE0
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov00_02213E10
|
|
ldr r0, [r4]
|
|
cmp r0, #3
|
|
addls pc, pc, r0, lsl #2
|
|
b _02216024
|
|
_02215FFC: ; jump table
|
|
b _02216018 ; case 0
|
|
b _02216024 ; case 1
|
|
b _0221600C ; case 2
|
|
b _0221600C ; case 3
|
|
_0221600C:
|
|
mov r0, r4
|
|
bl ov00_02215BF4
|
|
ldmia sp!, {r4, pc}
|
|
_02216018:
|
|
mov r0, r4
|
|
bl ov00_02215EBC
|
|
ldmia sp!, {r4, pc}
|
|
_02216024:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov00_02215FE0
|
|
|
|
.rodata
|
|
|
|
_02216040:
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
_02216058:
|
|
.byte 0x57, 0x61, 0x79, 0x70, 0x6F, 0x72, 0x74, 0x32
|
|
_02216060:
|
|
.byte 0x46, 0x52, 0x45, 0x45, 0x53, 0x50, 0x4F, 0x54
|
|
_02216068:
|
|
.byte 0x4E, 0x49, 0x4E, 0x54, 0x45, 0x4E, 0x44, 0x4F
|
|
.byte 0x57, 0x46, 0x43, 0x00
|
|
_02216074:
|
|
.byte 0x02, 0x80, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00
|
|
.byte 0x10, 0x80, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00
|
|
.byte 0x00, 0x81, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00
|
|
.byte 0x00, 0x90, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00
|
|
_022160A8:
|
|
.byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 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, 0x10, 0x00, 0x00
|
|
.byte 0x00, 0x10, 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 0x98, 0x7B, 0x21, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x61, 0x61, 0x61
|
|
_02216103:
|
|
.byte 0x17, 0x14, 0x11, 0x0D, 0x0B, 0x06, 0x0F, 0x0E, 0x09, 0x15, 0x0C, 0x04, 0x02
|
|
.byte 0x01, 0x12, 0x10, 0x05, 0x03, 0x13, 0x0A, 0x07, 0x08, 0x00, 0x16, 0x00
|
|
_0221611C:
|
|
.byte 0x05, 0x01, 0x0C, 0x04
|
|
.byte 0x02, 0x03, 0x0A, 0x00, 0x0B, 0x07, 0x09, 0x08, 0x06, 0x00, 0x00, 0x00
|
|
_0221612C:
|
|
.byte 0x0A, 0x0D, 0x0E, 0x08
|
|
.byte 0x09, 0x03, 0x06, 0x00, 0x0C, 0x05, 0x02, 0x07, 0x0B, 0x01, 0x0F, 0x04
|
|
_0221613C:
|
|
.byte 0x21, 0x53, 0x44, 0x57
|
|
_02216140:
|
|
.byte 0x5B, 0x5D, 0x5F, 0x00
|
|
_02216144:
|
|
.byte 0x2D, 0x5F, 0x3D, 0x00
|
|
_02216148:
|
|
.byte 0x2B, 0x2F, 0x3D, 0x00, 0x5C, 0x6D, 0x6F, 0x64
|
|
.byte 0x5C, 0x25, 0x64, 0x00, 0x13, 0x1D, 0x01, 0x04, 0x00, 0x00, 0x00, 0x28, 0x1F, 0x06, 0x45, 0x34
|
|
.byte 0x3F, 0x01, 0x1B, 0x00
|
|
_02216164:
|
|
.byte 0x13, 0x1D, 0x01, 0x04, 0x00, 0x00, 0x00, 0x28, 0x1F, 0x06, 0x45, 0x34
|
|
.byte 0x3F, 0x01, 0x1B, 0x00, 0x0C, 0x13, 0x1A, 0x1E, 0x0D, 0x13, 0x28, 0x1D, 0x00, 0x01, 0x01, 0x24
|
|
.byte 0x75, 0x16, 0x33, 0x18, 0x00, 0x10, 0x04, 0x1D, 0x55, 0x1B, 0x39, 0x14, 0x39, 0x16, 0x33, 0x4F
|
|
.byte 0x01, 0x00, 0x0C, 0x1C, 0x0A, 0x1D, 0x02, 0x02, 0x19, 0x24, 0x2C, 0x34, 0x06, 0x17, 0x3E, 0x1C
|
|
.byte 0x06, 0x0E, 0x39, 0x46, 0x10, 0x1D, 0x03, 0x0D, 0x16, 0x0B, 0x3B, 0x17, 0x16, 0x36, 0x40, 0x07
|
|
.byte 0x00, 0x0C, 0x15, 0x0A, 0x1E, 0x15, 0x0A, 0x10, 0x1D, 0x2C, 0x06, 0x0C, 0x1B, 0x3B, 0x2E, 0x4A
|
|
.byte 0x19, 0x39, 0x08, 0x11, 0x38, 0x18, 0x09, 0x16, 0x10, 0x0C, 0x57, 0x1C, 0x36, 0x09, 0x0A, 0x10
|
|
.byte 0x1D, 0x55, 0x0C, 0x00, 0x0C, 0x13, 0x1A, 0x1E, 0x0D, 0x13, 0x28, 0x1D, 0x11, 0x1D, 0x11, 0x10
|
|
.byte 0x24, 0x1D, 0x04, 0x0F, 0x0B, 0x3F, 0x51, 0x32, 0x2C, 0x1A, 0x00, 0x0B, 0x20, 0x2E, 0x4A, 0x19
|
|
.byte 0x39, 0x0F, 0x1D, 0x25, 0x2C, 0x4D, 0x01, 0x00, 0x0C, 0x07, 0x1F, 0x0E, 0x02, 0x02, 0x19, 0x24
|
|
.byte 0x2C, 0x34, 0x16, 0x1D, 0x23, 0x01, 0x04, 0x0F, 0x1C, 0x3F, 0x51, 0x25, 0x2C, 0x0C, 0x0A, 0x16
|
|
.byte 0x35, 0x2E, 0x4A, 0x0E, 0x39, 0x04, 0x15, 0x2C, 0x15, 0x0C, 0x04, 0x0C, 0x31, 0x2E, 0x4A, 0x19
|
|
.byte 0x00, 0x0C, 0x13, 0x1A, 0x1E, 0x0D, 0x13, 0x28, 0x1D, 0x1E, 0x01, 0x06, 0x13, 0x0C, 0x57, 0x1C
|
|
.byte 0x36, 0x0E, 0x06, 0x0D, 0x29, 0x11, 0x1B, 0x0D, 0x24, 0x75, 0x01, 0x33, 0x18, 0x00, 0x10, 0x04
|
|
.byte 0x1D, 0x55, 0x1B, 0x39, 0x14, 0x39, 0x16, 0x33, 0x4F, 0x01, 0x00, 0x0C, 0x13, 0x1A, 0x1E, 0x0D
|
|
.byte 0x3F, 0x28, 0x26, 0x11, 0x05, 0x00, 0x16, 0x31, 0x1F, 0x0A, 0x36, 0x40, 0x10, 0x28, 0x33, 0x15
|
|
.byte 0x1B, 0x15, 0x17, 0x3E, 0x01, 0x0A, 0x36, 0x40, 0x10, 0x28, 0x31, 0x1F, 0x1A, 0x11, 0x24, 0x75
|
|
.byte 0x16, 0x33, 0x03, 0x01, 0x3F, 0x45, 0x00, 0x0C, 0x15, 0x0A, 0x1E, 0x15, 0x07, 0x28, 0x1D, 0x00
|
|
.byte 0x01, 0x01, 0x24, 0x75, 0x16, 0x33, 0x1A, 0x11, 0x1A, 0x04, 0x24, 0x2C, 0x4D, 0x01, 0x24, 0x34
|
|
.byte 0x1B, 0x01, 0x0E, 0x00, 0x1B, 0x28, 0x64, 0x14, 0x34, 0x0E, 0x1D, 0x29, 0x01, 0x33, 0x4F, 0x16
|
|
.byte 0x3F, 0x18, 0x28, 0x14, 0x34, 0x40, 0x1C, 0x00, 0x0C, 0x01, 0x0A, 0x1E, 0x15, 0x07, 0x28, 0x1D
|
|
.byte 0x00, 0x01, 0x01, 0x24, 0x75, 0x16, 0x33, 0x1A, 0x11, 0x1A, 0x04, 0x24, 0x2C, 0x4D, 0x01, 0x24
|
|
.byte 0x34, 0x1B, 0x01, 0x0E, 0x00, 0x1B, 0x28, 0x64, 0x14, 0x34, 0x0E, 0x0E, 0x0C, 0x57, 0x0B, 0x36
|
|
.byte 0x09, 0x0A, 0x10, 0x1D, 0x55, 0x0C, 0x39, 0x14, 0x35, 0x1C, 0x08, 0x1E, 0x0D, 0x3F, 0x51, 0x25
|
|
.byte 0x2C, 0x0C, 0x04, 0x0C, 0x31, 0x2E, 0x00
|
|
_022162E7:
|
|
.byte 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
_022163E8:
|
|
.byte 0xFD, 0xFC, 0x1E, 0x66, 0x6A, 0xB2, 0x00, 0x00
|
|
_022163F0:
|
|
.byte 0xDC, 0xA4, 0x21, 0x02, 0xD4, 0xA4, 0x21, 0x02
|
|
|
|
.data
|
|
|
|
_02216420:
|
|
.byte 0x3C, 0x64, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x4E, 0x00, 0x00, 0x68, 0x74, 0x74, 0x70
|
|
.byte 0x73, 0x3A, 0x2F, 0x2F, 0x6E, 0x61, 0x73, 0x2E, 0x74, 0x65, 0x73, 0x74, 0x2E, 0x6E, 0x69, 0x6E
|
|
.byte 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x61, 0x63
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02216464:
|
|
.byte 0x41, 0x4C, 0x4C, 0x4F, 0x43, 0x20, 0x44, 0x57, 0x43, 0x61, 0x75, 0x74
|
|
.byte 0x68, 0x00, 0x00, 0x00
|
|
_02216474:
|
|
.byte 0x46, 0x52, 0x45, 0x45, 0x20, 0x44, 0x57, 0x43, 0x61, 0x75, 0x74, 0x68
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02216484:
|
|
.byte 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x6E, 0x61, 0x73, 0x2E
|
|
.byte 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65, 0x74
|
|
.byte 0x2F, 0x61, 0x63, 0x00
|
|
_022164A4:
|
|
.byte 0x41, 0x4C, 0x4C, 0x4F, 0x43, 0x20, 0x62, 0x6D, 0x77, 0x6F, 0x72, 0x6B
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_022164B4:
|
|
.byte 0x46, 0x52, 0x45, 0x45, 0x20, 0x62, 0x6D, 0x77, 0x6F, 0x72, 0x6B, 0x00
|
|
_022164C0:
|
|
.byte 0x44, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x00
|
|
_022164C8:
|
|
.byte 0x68, 0x74, 0x74, 0x70, 0x72, 0x65, 0x73, 0x75
|
|
.byte 0x6C, 0x74, 0x00, 0x00
|
|
_022164D4:
|
|
.byte 0x72, 0x65, 0x74, 0x75, 0x72, 0x6E, 0x63, 0x64, 0x00, 0x00, 0x00, 0x00
|
|
_022164E0:
|
|
.byte 0x74, 0x6F, 0x6B, 0x65, 0x6E, 0x00, 0x00, 0x00
|
|
_022164E8:
|
|
.byte 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x6F, 0x72, 0x00
|
|
_022164F0:
|
|
.byte 0x63, 0x68, 0x61, 0x6C, 0x6C, 0x65, 0x6E, 0x67, 0x65, 0x00, 0x00, 0x00
|
|
_022164FC:
|
|
.byte 0x64, 0x61, 0x74, 0x65
|
|
.byte 0x74, 0x69, 0x6D, 0x65, 0x00, 0x00, 0x00, 0x00
|
|
_02216508:
|
|
.byte 0x53, 0x65, 0x74, 0x2D, 0x43, 0x6F, 0x6F, 0x6B
|
|
.byte 0x69, 0x65, 0x00, 0x00
|
|
_02216514:
|
|
.byte 0x61, 0x63, 0x63, 0x74, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, 0x00
|
|
_02216520:
|
|
.byte 0x61, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00
|
|
_02216528:
|
|
.byte 0x6C, 0x6F, 0x67, 0x69, 0x6E, 0x00, 0x00, 0x00
|
|
_02216530:
|
|
.byte 0x67, 0x73, 0x62, 0x72, 0x63, 0x64, 0x00, 0x00
|
|
_02216538:
|
|
.byte 0x59, 0x00, 0x00, 0x00
|
|
_0221653C:
|
|
.byte 0x69, 0x73, 0x77, 0x66
|
|
.byte 0x63, 0x00, 0x00, 0x00
|
|
_02216544:
|
|
.byte 0x69, 0x6E, 0x67, 0x61, 0x6D, 0x65, 0x73, 0x6E, 0x00, 0x00, 0x00, 0x00
|
|
_02216550:
|
|
.byte 0x25, 0x30, 0x31, 0x33, 0x6C, 0x6C, 0x75, 0x00
|
|
_02216558:
|
|
.byte 0x25, 0x30, 0x33, 0x75, 0x00, 0x00, 0x00, 0x00
|
|
_02216560:
|
|
.byte 0x25, 0x30, 0x32, 0x78, 0x00, 0x00, 0x00, 0x00
|
|
_02216568:
|
|
.byte 0x25, 0x30, 0x32, 0x78, 0x25, 0x30, 0x32, 0x78
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02216574:
|
|
.byte 0x25, 0x30, 0x32, 0x64, 0x25, 0x30, 0x32, 0x64, 0x25, 0x30, 0x32, 0x64
|
|
.byte 0x25, 0x30, 0x32, 0x64, 0x25, 0x30, 0x32, 0x64, 0x25, 0x30, 0x32, 0x64, 0x00, 0x00, 0x00, 0x00
|
|
_02216590:
|
|
.byte 0x25, 0x30, 0x32, 0x64, 0x3A, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2D, 0x30, 0x30, 0x00
|
|
_022165A0:
|
|
.byte 0x25, 0x30, 0x33, 0x64, 0x25, 0x30, 0x33, 0x64, 0x00, 0x00, 0x00, 0x00
|
|
_022165AC:
|
|
.byte 0x73, 0x64, 0x6B, 0x76
|
|
.byte 0x65, 0x72, 0x00, 0x00
|
|
_022165B4:
|
|
.byte 0x75, 0x73, 0x65, 0x72, 0x69, 0x64, 0x00, 0x00
|
|
_022165BC:
|
|
.byte 0x70, 0x61, 0x73, 0x73
|
|
.byte 0x77, 0x64, 0x00, 0x00
|
|
_022165C4:
|
|
.byte 0x62, 0x73, 0x73, 0x69, 0x64, 0x00, 0x00, 0x00
|
|
_022165CC:
|
|
.byte 0x61, 0x70, 0x69, 0x6E
|
|
.byte 0x66, 0x6F, 0x00, 0x00
|
|
_022165D4:
|
|
.byte 0x67, 0x61, 0x6D, 0x65, 0x63, 0x64, 0x00, 0x00
|
|
_022165DC:
|
|
.byte 0x6D, 0x61, 0x6B, 0x65
|
|
.byte 0x72, 0x63, 0x64, 0x00
|
|
_022165E4:
|
|
.byte 0x75, 0x6E, 0x69, 0x74, 0x63, 0x64, 0x00, 0x00
|
|
_022165EC:
|
|
.byte 0x6D, 0x61, 0x63, 0x61
|
|
.byte 0x64, 0x72, 0x00, 0x00
|
|
_022165F4:
|
|
.byte 0x6C, 0x61, 0x6E, 0x67, 0x00, 0x00, 0x00, 0x00
|
|
_022165FC:
|
|
.byte 0x62, 0x69, 0x72, 0x74
|
|
.byte 0x68, 0x00, 0x00, 0x00
|
|
_02216604:
|
|
.byte 0x64, 0x65, 0x76, 0x74, 0x69, 0x6D, 0x65, 0x00
|
|
_0221660C:
|
|
.byte 0x64, 0x65, 0x76, 0x6E
|
|
.byte 0x61, 0x6D, 0x65, 0x00
|
|
_02216614:
|
|
.byte 0x73, 0x73, 0x69, 0x64, 0x00, 0x00, 0x00, 0x00
|
|
_0221661C:
|
|
.byte 0x4E, 0x69, 0x74, 0x72
|
|
.byte 0x6F, 0x20, 0x57, 0x69, 0x46, 0x69, 0x20, 0x53, 0x44, 0x4B, 0x2F, 0x25, 0x64, 0x2E, 0x25, 0x64
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02216634:
|
|
.byte 0x55, 0x73, 0x65, 0x72, 0x2D, 0x41, 0x67, 0x65, 0x6E, 0x74, 0x00, 0x00
|
|
_02216640:
|
|
.byte 0x48, 0x54, 0x54, 0x50, 0x5F, 0x58, 0x5F, 0x47, 0x41, 0x4D, 0x45, 0x43, 0x44, 0x00, 0x00, 0x00
|
|
_02216650:
|
|
.byte 0x88, 0x74, 0x21, 0x02, 0x5C, 0x73, 0x21, 0x02, 0x3C, 0x76, 0x21, 0x02, 0x18, 0x77, 0x21, 0x02
|
|
.byte 0xF4, 0x6B, 0x21, 0x02, 0x90, 0x6E, 0x21, 0x02, 0x78, 0x6F, 0x21, 0x02, 0x40, 0x6D, 0x21, 0x02
|
|
.byte 0x44, 0x72, 0x21, 0x02, 0x24, 0x71, 0x21, 0x02, 0xF4, 0x77, 0x21, 0x02, 0x3C, 0x70, 0x21, 0x02
|
|
_02216680:
|
|
.byte 0x41, 0x4C, 0x4C, 0x4F, 0x43, 0x20, 0x68, 0x74, 0x74, 0x70, 0x2D, 0x3E, 0x6C, 0x6F, 0x77, 0x72
|
|
.byte 0x65, 0x63, 0x76, 0x62, 0x75, 0x66, 0x00, 0x00
|
|
_02216698:
|
|
.byte 0x41, 0x4C, 0x4C, 0x4F, 0x43, 0x20, 0x68, 0x74
|
|
.byte 0x74, 0x70, 0x2D, 0x3E, 0x6C, 0x6F, 0x77, 0x73, 0x65, 0x6E, 0x64, 0x62, 0x75, 0x66, 0x00, 0x00
|
|
_022166B0:
|
|
.byte 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00
|
|
_022166BC:
|
|
.byte 0x63, 0x6C, 0x6F, 0x73
|
|
.byte 0x65, 0x00, 0x00, 0x00
|
|
_022166C4:
|
|
.byte 0x0D, 0x0A, 0x0D, 0x0A, 0x00, 0x00, 0x00, 0x00
|
|
_022166CC:
|
|
.byte 0x25, 0x64, 0x00, 0x00
|
|
_022166D0:
|
|
.byte 0x43, 0x6F, 0x6E, 0x74, 0x65, 0x6E, 0x74, 0x2D, 0x4C, 0x65, 0x6E, 0x67, 0x74, 0x68, 0x00, 0x00
|
|
_022166E0:
|
|
.byte 0x43, 0x6F, 0x6E, 0x74, 0x65, 0x6E, 0x74, 0x2D, 0x4C, 0x65, 0x6E, 0x67, 0x74, 0x68, 0x3A, 0x20
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_022166F4:
|
|
.byte 0x0D, 0x0A, 0x00, 0x00
|
|
_022166F8:
|
|
.byte 0x46, 0x52, 0x45, 0x45, 0x20, 0x68, 0x74, 0x74
|
|
.byte 0x70, 0x2D, 0x3E, 0x6C, 0x6F, 0x77, 0x72, 0x65, 0x63, 0x76, 0x62, 0x75, 0x66, 0x00, 0x00, 0x00
|
|
_02216710:
|
|
.byte 0x46, 0x52, 0x45, 0x45, 0x20, 0x68, 0x74, 0x74, 0x70, 0x2D, 0x3E, 0x6C, 0x6F, 0x77, 0x73, 0x65
|
|
.byte 0x6E, 0x64, 0x62, 0x75, 0x66, 0x00, 0x00, 0x00
|
|
_02216728:
|
|
.byte 0x50, 0x4F, 0x53, 0x54, 0x20, 0x2F, 0x25, 0x73
|
|
.byte 0x20, 0x48, 0x54, 0x54, 0x50, 0x2F, 0x31, 0x2E, 0x30, 0x0D, 0x0A, 0x43, 0x6F, 0x6E, 0x74, 0x65
|
|
.byte 0x6E, 0x74, 0x2D, 0x74, 0x79, 0x70, 0x65, 0x3A, 0x20, 0x61, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61
|
|
.byte 0x74, 0x69, 0x6F, 0x6E, 0x2F, 0x78, 0x2D, 0x77, 0x77, 0x77, 0x2D, 0x66, 0x6F, 0x72, 0x6D, 0x2D
|
|
.byte 0x75, 0x72, 0x6C, 0x65, 0x6E, 0x63, 0x6F, 0x64, 0x65, 0x64, 0x0D, 0x0A, 0x48, 0x6F, 0x73, 0x74
|
|
.byte 0x3A, 0x20, 0x25, 0x73, 0x0D, 0x0A, 0x0D, 0x0A, 0x00, 0x00, 0x00, 0x00
|
|
_0221677C:
|
|
.byte 0x47, 0x45, 0x54, 0x20
|
|
.byte 0x2F, 0x25, 0x73, 0x20, 0x48, 0x54, 0x54, 0x50, 0x2F, 0x31, 0x2E, 0x30, 0x0D, 0x0A, 0x48, 0x6F
|
|
.byte 0x73, 0x74, 0x3A, 0x20, 0x25, 0x73, 0x0D, 0x0A, 0x0D, 0x0A, 0x00, 0x00
|
|
_0221679C:
|
|
.byte 0x25, 0x73, 0x3A, 0x20
|
|
.byte 0x25, 0x73, 0x0D, 0x0A, 0x00, 0x00, 0x00, 0x00
|
|
_022167A8:
|
|
.byte 0x25, 0x73, 0x3D, 0x00
|
|
_022167AC:
|
|
.byte 0x26, 0x25, 0x73, 0x3D
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_022167B4:
|
|
.byte 0x25, 0x73, 0x00, 0x00
|
|
_022167B8:
|
|
.byte 0x41, 0x4C, 0x4C, 0x4F, 0x43, 0x20, 0x62, 0x75
|
|
.byte 0x66, 0x2D, 0x3E, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x00, 0x00, 0x00
|
|
_022167CC:
|
|
.byte 0x46, 0x52, 0x45, 0x45
|
|
.byte 0x20, 0x62, 0x75, 0x66, 0x2D, 0x3E, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00
|
|
_022167E0:
|
|
.byte 0x41, 0x4C, 0x4C, 0x4F, 0x43, 0x20, 0x6E, 0x65, 0x77, 0x70, 0x74, 0x72, 0x00, 0x00, 0x00, 0x00
|
|
_022167F0:
|
|
.byte 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x00
|
|
_022167F8:
|
|
.byte 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02216804:
|
|
.byte 0x3A, 0x00, 0x00, 0x00
|
|
_02216808:
|
|
.byte 0x2F, 0x00, 0x00, 0x00
|
|
_0221680C:
|
|
.byte 0x41, 0x4C, 0x4C, 0x4F
|
|
.byte 0x43, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x2D, 0x3E, 0x65, 0x6E, 0x74, 0x72, 0x79, 0x5B
|
|
.byte 0x69, 0x5D, 0x2E, 0x6C, 0x61, 0x62, 0x65, 0x6C, 0x00, 0x00, 0x00, 0x00
|
|
_0221682C:
|
|
.byte 0x41, 0x4C, 0x4C, 0x4F
|
|
.byte 0x43, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x2D, 0x3E, 0x65, 0x6E, 0x74, 0x72, 0x79, 0x5B
|
|
.byte 0x69, 0x5D, 0x2E, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x00, 0x00, 0x00
|
|
_0221684C:
|
|
.byte 0x46, 0x52, 0x45, 0x45
|
|
.byte 0x20, 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x2D, 0x3E, 0x65, 0x6E, 0x74, 0x72, 0x79, 0x5B, 0x69
|
|
.byte 0x5D, 0x2E, 0x6C, 0x61, 0x62, 0x65, 0x6C, 0x00
|
|
_02216868:
|
|
.byte 0x46, 0x52, 0x45, 0x45, 0x20, 0x72, 0x65, 0x73
|
|
.byte 0x75, 0x6C, 0x74, 0x2D, 0x3E, 0x65, 0x6E, 0x74, 0x72, 0x79, 0x5B, 0x69, 0x5D, 0x2E, 0x76, 0x61
|
|
.byte 0x6C, 0x75, 0x65, 0x00
|
|
_02216884:
|
|
.byte 0x20, 0x00, 0x00, 0x00
|
|
_02216888:
|
|
.byte 0x68, 0x74, 0x74, 0x70, 0x72, 0x65, 0x73, 0x75
|
|
.byte 0x6C, 0x74, 0x00, 0x00
|
|
_02216894:
|
|
.byte 0x32, 0x30, 0x30, 0x00
|
|
_02216898:
|
|
.byte 0x3A, 0x20, 0x00, 0x00
|
|
_0221689C:
|
|
.byte 0x3D, 0x00, 0x00, 0x00
|
|
_022168A0:
|
|
.byte 0x26, 0x00, 0x00, 0x00
|
|
_022168A4:
|
|
.byte 0x46, 0x52, 0x45, 0x45, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5F, 0x65
|
|
.byte 0x6E, 0x74, 0x72, 0x79, 0x5B, 0x69, 0x5D, 0x2E, 0x6C, 0x61, 0x62, 0x65, 0x6C, 0x00, 0x00, 0x00
|
|
_022168C0:
|
|
.byte 0x46, 0x52, 0x45, 0x45, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5F, 0x65, 0x6E, 0x74, 0x72, 0x79
|
|
.byte 0x5B, 0x69, 0x5D, 0x2E, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x00, 0x00
|
|
_022168DC:
|
|
.byte 0xE0, 0x68, 0x21, 0x02
|
|
.byte 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x6F, 0x6E, 0x6E, 0x74, 0x65, 0x73, 0x74, 0x2E
|
|
.byte 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65, 0x74
|
|
.byte 0x2F, 0x00, 0x00, 0x00
|
|
_02216904:
|
|
.byte 0x41, 0x4C, 0x4C, 0x4F, 0x43, 0x20, 0x44, 0x57, 0x43, 0x6E, 0x65, 0x74
|
|
.byte 0x63, 0x68, 0x65, 0x63, 0x6B, 0x00, 0x00, 0x00
|
|
_02216918:
|
|
.byte 0x41, 0x4C, 0x4C, 0x4F, 0x43, 0x20, 0x44, 0x57
|
|
.byte 0x43, 0x68, 0x74, 0x74, 0x70, 0x00, 0x00, 0x00
|
|
_02216928:
|
|
.byte 0x46, 0x52, 0x45, 0x45, 0x20, 0x44, 0x57, 0x43
|
|
.byte 0x68, 0x74, 0x74, 0x70, 0x00, 0x00, 0x00, 0x00
|
|
_02216938:
|
|
.byte 0x46, 0x52, 0x45, 0x45, 0x20, 0x44, 0x57, 0x43
|
|
.byte 0x6E, 0x65, 0x74, 0x63, 0x68, 0x65, 0x63, 0x6B, 0x2D, 0x3E, 0x62, 0x6F, 0x64, 0x79, 0x5F, 0x33
|
|
.byte 0x30, 0x32, 0x00, 0x00
|
|
_02216954:
|
|
.byte 0x46, 0x52, 0x45, 0x45, 0x20, 0x44, 0x57, 0x43, 0x6E, 0x65, 0x74, 0x63
|
|
.byte 0x68, 0x65, 0x63, 0x6B, 0x2D, 0x3E, 0x62, 0x6F, 0x64, 0x79, 0x5F, 0x77, 0x61, 0x79, 0x70, 0x6F
|
|
.byte 0x72, 0x74, 0x00, 0x00
|
|
_02216974:
|
|
.byte 0x46, 0x52, 0x45, 0x45, 0x20, 0x44, 0x57, 0x43, 0x6E, 0x65, 0x74, 0x63
|
|
.byte 0x68, 0x65, 0x63, 0x6B, 0x00, 0x00, 0x00, 0x00
|
|
_02216988:
|
|
.byte 0x41, 0x4C, 0x4C, 0x4F, 0x43, 0x20, 0x44, 0x57
|
|
.byte 0x43, 0x6E, 0x65, 0x74, 0x63, 0x68, 0x65, 0x63, 0x6B, 0x2D, 0x3E, 0x62, 0x6F, 0x64, 0x79, 0x5F
|
|
.byte 0x33, 0x30, 0x32, 0x00
|
|
_022169A4:
|
|
.byte 0x41, 0x4C, 0x4C, 0x4F, 0x43, 0x20, 0x75, 0x72, 0x6C, 0x00, 0x00, 0x00
|
|
_022169B0:
|
|
.byte 0x41, 0x4C, 0x4C, 0x4F, 0x43, 0x20, 0x64, 0x61, 0x74, 0x61, 0x5F, 0x6C, 0x65, 0x6E, 0x00, 0x00
|
|
_022169C0:
|
|
.byte 0x41, 0x4C, 0x4C, 0x4F, 0x43, 0x20, 0x77, 0x61, 0x69, 0x74, 0x5F, 0x6C, 0x65, 0x6E, 0x00, 0x00
|
|
_022169D0:
|
|
.byte 0x41, 0x4C, 0x4C, 0x4F, 0x43, 0x20, 0x44, 0x57, 0x43, 0x6E, 0x65, 0x74, 0x63, 0x68, 0x65, 0x63
|
|
.byte 0x6B, 0x2D, 0x3E, 0x62, 0x6F, 0x64, 0x79, 0x5F, 0x77, 0x61, 0x79, 0x70, 0x6F, 0x72, 0x74, 0x00
|
|
_022169F0:
|
|
.byte 0x68, 0x74, 0x74, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x00
|
|
_022169FC:
|
|
.byte 0x68, 0x74, 0x74, 0x70
|
|
.byte 0x73, 0x3A, 0x2F, 0x2F, 0x6E, 0x61, 0x73, 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F
|
|
.byte 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x61, 0x63, 0x00
|
|
_02216A1C:
|
|
.byte 0x61, 0x63, 0x74, 0x69
|
|
.byte 0x6F, 0x6E, 0x00, 0x00
|
|
_02216A24:
|
|
.byte 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x00
|
|
_02216A2C:
|
|
.byte 0x48, 0x6F, 0x74, 0x53
|
|
.byte 0x70, 0x6F, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6F, 0x6E, 0x73, 0x65, 0x00
|
|
_02216A3C:
|
|
.byte 0x70, 0x61, 0x72, 0x73
|
|
.byte 0x65, 0x00, 0x00, 0x00
|
|
_02216A44:
|
|
.byte 0x48, 0x54, 0x4D, 0x4C, 0x00, 0x00, 0x00, 0x00
|
|
_02216A4C:
|
|
.byte 0x72, 0x65, 0x74, 0x75
|
|
.byte 0x72, 0x6E, 0x63, 0x64, 0x00, 0x00, 0x00, 0x00
|
|
_02216A58:
|
|
.byte 0x75, 0x72, 0x6C, 0x00
|
|
_02216A5C:
|
|
.byte 0x64, 0x61, 0x74, 0x61
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02216A64:
|
|
.byte 0x77, 0x61, 0x69, 0x74, 0x00, 0x00, 0x00, 0x00
|
|
_02216A6C:
|
|
.byte 0x46, 0x52, 0x45, 0x45
|
|
.byte 0x20, 0x75, 0x72, 0x6C, 0x00, 0x00, 0x00, 0x00
|
|
_02216A78:
|
|
.byte 0x46, 0x52, 0x45, 0x45, 0x20, 0x64, 0x61, 0x74
|
|
.byte 0x61, 0x00, 0x00, 0x00
|
|
_02216A84:
|
|
.byte 0x46, 0x52, 0x45, 0x45, 0x20, 0x77, 0x61, 0x69, 0x74, 0x00, 0x00, 0x00
|
|
.byte 0x4A, 0x75, 0x6E, 0x00, 0x4A, 0x75, 0x6C, 0x00, 0x44, 0x65, 0x63, 0x00, 0x53, 0x65, 0x70, 0x00
|
|
.byte 0x41, 0x75, 0x67, 0x00, 0x4E, 0x6F, 0x76, 0x00, 0x4F, 0x63, 0x74, 0x00, 0x4D, 0x61, 0x79, 0x00
|
|
.byte 0x41, 0x70, 0x72, 0x00, 0x4D, 0x61, 0x72, 0x00, 0x46, 0x65, 0x62, 0x00, 0x4A, 0x61, 0x6E, 0x00
|
|
_02216AC0:
|
|
.byte 0xBC, 0x6A, 0x21, 0x02, 0xB8, 0x6A, 0x21, 0x02, 0xB4, 0x6A, 0x21, 0x02, 0xB0, 0x6A, 0x21, 0x02
|
|
.byte 0xAC, 0x6A, 0x21, 0x02, 0x90, 0x6A, 0x21, 0x02, 0x94, 0x6A, 0x21, 0x02, 0xA0, 0x6A, 0x21, 0x02
|
|
.byte 0x9C, 0x6A, 0x21, 0x02, 0xA8, 0x6A, 0x21, 0x02, 0xA4, 0x6A, 0x21, 0x02, 0x98, 0x6A, 0x21, 0x02
|
|
_02216AF0:
|
|
.byte 0x46, 0x72, 0x69, 0x2C, 0x20, 0x30, 0x33, 0x20, 0x4D, 0x61, 0x72, 0x20, 0x32, 0x30, 0x30, 0x36
|
|
.byte 0x20, 0x30, 0x31, 0x3A, 0x32, 0x38, 0x3A, 0x31, 0x33, 0x20, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00
|
|
_02216B10:
|
|
.byte 0x41, 0x4C, 0x4C, 0x4F, 0x43, 0x20, 0x69, 0x6E, 0x74, 0x77, 0x6F, 0x72, 0x6B, 0x00, 0x00, 0x00
|
|
_02216B20:
|
|
.byte 0x46, 0x52, 0x45, 0x45, 0x20, 0x69, 0x6E, 0x74, 0x77, 0x6F, 0x72, 0x6B, 0x00, 0x00, 0x00, 0x00
|
|
_02216B30:
|
|
.byte 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x6E, 0x61, 0x73, 0x2E, 0x6E, 0x69, 0x6E, 0x74
|
|
.byte 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x61, 0x63, 0x00
|
|
_02216B50:
|
|
.byte 0x61, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00
|
|
_02216B58:
|
|
.byte 0x53, 0x56, 0x43, 0x4C, 0x4F, 0x43, 0x00, 0x00
|
|
_02216B60:
|
|
.byte 0x73, 0x76, 0x63, 0x00
|
|
_02216B64:
|
|
.byte 0x44, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x00
|
|
_02216B6C:
|
|
.byte 0x68, 0x74, 0x74, 0x70
|
|
.byte 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x00
|
|
_02216B78:
|
|
.byte 0x72, 0x65, 0x74, 0x75, 0x72, 0x6E, 0x63, 0x64
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02216B84:
|
|
.byte 0x73, 0x76, 0x63, 0x68, 0x6F, 0x73, 0x74, 0x00
|
|
_02216B8C:
|
|
.byte 0x73, 0x65, 0x72, 0x76
|
|
.byte 0x69, 0x63, 0x65, 0x74, 0x6F, 0x6B, 0x65, 0x6E, 0x00, 0x00, 0x00, 0x00
|
|
_02216B9C:
|
|
.byte 0x73, 0x74, 0x61, 0x74
|
|
.byte 0x75, 0x73, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00
|
|
_02216BA8:
|
|
.byte 0xAC, 0x6B, 0x21, 0x02, 0x41, 0x42, 0x43, 0x44
|
|
.byte 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54
|
|
.byte 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A
|
|
.byte 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A
|
|
.byte 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x2E, 0x2D, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x01, 0x00, 0x08, 0x6C, 0x21, 0x02, 0x00, 0x01, 0x00, 0x00, 0x3C, 0x6C, 0x21, 0x02
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0xF0, 0x6B, 0x21, 0x02, 0x42, 0x45, 0x2C, 0x20, 0x47, 0x6C, 0x6F, 0x62
|
|
.byte 0x61, 0x6C, 0x53, 0x69, 0x67, 0x6E, 0x20, 0x6E, 0x76, 0x2D, 0x73, 0x61, 0x2C, 0x20, 0x52, 0x6F
|
|
.byte 0x6F, 0x74, 0x20, 0x43, 0x41, 0x2C, 0x20, 0x47, 0x6C, 0x6F, 0x62, 0x61, 0x6C, 0x53, 0x69, 0x67
|
|
.byte 0x6E, 0x20, 0x52, 0x6F, 0x6F, 0x74, 0x20, 0x43, 0x41, 0x00, 0x00, 0x00, 0xDA, 0x0E, 0xE6, 0x99
|
|
.byte 0x8D, 0xCE, 0xA3, 0xE3, 0x4F, 0x8A, 0x7E, 0xFB, 0xF1, 0x8B, 0x83, 0x25, 0x6B, 0xEA, 0x48, 0x1F
|
|
.byte 0xF1, 0x2A, 0xB0, 0xB9, 0x95, 0x11, 0x04, 0xBD, 0xF0, 0x63, 0xD1, 0xE2, 0x67, 0x66, 0xCF, 0x1C
|
|
.byte 0xDD, 0xCF, 0x1B, 0x48, 0x2B, 0xEE, 0x8D, 0x89, 0x8E, 0x9A, 0xAF, 0x29, 0x80, 0x65, 0xAB, 0xE9
|
|
.byte 0xC7, 0x2D, 0x12, 0xCB, 0xAB, 0x1C, 0x4C, 0x70, 0x07, 0xA1, 0x3D, 0x0A, 0x30, 0xCD, 0x15, 0x8D
|
|
.byte 0x4F, 0xF8, 0xDD, 0xD4, 0x8C, 0x50, 0x15, 0x1C, 0xEF, 0x50, 0xEE, 0xC4, 0x2E, 0xF7, 0xFC, 0xE9
|
|
.byte 0x52, 0xF2, 0x91, 0x7D, 0xE0, 0x6D, 0xD5, 0x35, 0x30, 0x8E, 0x5E, 0x43, 0x73, 0xF2, 0x41, 0xE9
|
|
.byte 0xD5, 0x6A, 0xE3, 0xB2, 0x89, 0x3A, 0x56, 0x39, 0x38, 0x6F, 0x06, 0x3C, 0x88, 0x69, 0x5B, 0x2A
|
|
.byte 0x4D, 0xC5, 0xA7, 0x54, 0xB8, 0x6C, 0x89, 0xCC, 0x9B, 0xF9, 0x3C, 0xCA, 0xE5, 0xFD, 0x89, 0xF5
|
|
.byte 0x12, 0x3C, 0x92, 0x78, 0x96, 0xD6, 0xDC, 0x74, 0x6E, 0x93, 0x44, 0x61, 0xD1, 0x8D, 0xC7, 0x46
|
|
.byte 0xB2, 0x75, 0x0E, 0x86, 0xE8, 0x19, 0x8A, 0xD5, 0x6D, 0x6C, 0xD5, 0x78, 0x16, 0x95, 0xA2, 0xE9
|
|
.byte 0xC8, 0x0A, 0x38, 0xEB, 0xF2, 0x24, 0x13, 0x4F, 0x73, 0x54, 0x93, 0x13, 0x85, 0x3A, 0x1B, 0xBC
|
|
.byte 0x1E, 0x34, 0xB5, 0x8B, 0x05, 0x8C, 0xB9, 0x77, 0x8B, 0xB1, 0xDB, 0x1F, 0x20, 0x91, 0xAB, 0x09
|
|
.byte 0x53, 0x6E, 0x90, 0xCE, 0x7B, 0x37, 0x74, 0xB9, 0x70, 0x47, 0x91, 0x22, 0x51, 0x63, 0x16, 0x79
|
|
.byte 0xAE, 0xB1, 0xAE, 0x41, 0x26, 0x08, 0xC8, 0x19, 0x2B, 0xD1, 0x46, 0xAA, 0x48, 0xD6, 0x64, 0x2A
|
|
.byte 0xD7, 0x83, 0x34, 0xFF, 0x2C, 0x2A, 0xC1, 0x6C, 0x19, 0x43, 0x4A, 0x07, 0x85, 0xE7, 0xD3, 0x7C
|
|
.byte 0xF6, 0x21, 0x68, 0xEF, 0xEA, 0xF2, 0x52, 0x9F, 0x7F, 0x93, 0x90, 0xCF, 0x01, 0x00, 0x01, 0x00
|
|
.byte 0x54, 0x6D, 0x21, 0x02, 0x00, 0x01, 0x00, 0x00, 0x8C, 0x6D, 0x21, 0x02, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x3C, 0x6D, 0x21, 0x02, 0x49, 0x45, 0x2C, 0x20, 0x42, 0x61, 0x6C, 0x74, 0x69, 0x6D, 0x6F, 0x72
|
|
.byte 0x65, 0x2C, 0x20, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x2C, 0x20, 0x42
|
|
.byte 0x61, 0x6C, 0x74, 0x69, 0x6D, 0x6F, 0x72, 0x65, 0x20, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72
|
|
.byte 0x75, 0x73, 0x74, 0x20, 0x52, 0x6F, 0x6F, 0x74, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x04, 0xBB, 0x22
|
|
.byte 0xAB, 0x98, 0x3D, 0x57, 0xE8, 0x26, 0x72, 0x9A, 0xB5, 0x79, 0xD4, 0x29, 0xE2, 0xE1, 0xE8, 0x95
|
|
.byte 0x80, 0xB1, 0xB0, 0xE3, 0x5B, 0x8E, 0x2B, 0x29, 0x9A, 0x64, 0xDF, 0xA1, 0x5D, 0xED, 0xB0, 0x09
|
|
.byte 0x05, 0x6D, 0xDB, 0x28, 0x2E, 0xCE, 0x62, 0xA2, 0x62, 0xFE, 0xB4, 0x88, 0xDA, 0x12, 0xEB, 0x38
|
|
.byte 0xEB, 0x21, 0x9D, 0xC0, 0x41, 0x2B, 0x01, 0x52, 0x7B, 0x88, 0x77, 0xD3, 0x1C, 0x8F, 0xC7, 0xBA
|
|
.byte 0xB9, 0x88, 0xB5, 0x6A, 0x09, 0xE7, 0x73, 0xE8, 0x11, 0x40, 0xA7, 0xD1, 0xCC, 0xCA, 0x62, 0x8D
|
|
.byte 0x2D, 0xE5, 0x8F, 0x0B, 0xA6, 0x50, 0xD2, 0xA8, 0x50, 0xC3, 0x28, 0xEA, 0xF5, 0xAB, 0x25, 0x87
|
|
.byte 0x8A, 0x9A, 0x96, 0x1C, 0xA9, 0x67, 0xB8, 0x3F, 0x0C, 0xD5, 0xF7, 0xF9, 0x52, 0x13, 0x2F, 0xC2
|
|
.byte 0x1B, 0xD5, 0x70, 0x70, 0xF0, 0x8F, 0xC0, 0x12, 0xCA, 0x06, 0xCB, 0x9A, 0xE1, 0xD9, 0xCA, 0x33
|
|
.byte 0x7A, 0x77, 0xD6, 0xF8, 0xEC, 0xB9, 0xF1, 0x68, 0x44, 0x42, 0x48, 0x13, 0xD2, 0xC0, 0xC2, 0xA4
|
|
.byte 0xAE, 0x5E, 0x60, 0xFE, 0xB6, 0xA6, 0x05, 0xFC, 0xB4, 0xDD, 0x07, 0x59, 0x02, 0xD4, 0x59, 0x18
|
|
.byte 0x98, 0x63, 0xF5, 0xA5, 0x63, 0xE0, 0x90, 0x0C, 0x7D, 0x5D, 0xB2, 0x06, 0x7A, 0xF3, 0x85, 0xEA
|
|
.byte 0xEB, 0xD4, 0x03, 0xAE, 0x5E, 0x84, 0x3E, 0x5F, 0xFF, 0x15, 0xED, 0x69, 0xBC, 0xF9, 0x39, 0x36
|
|
.byte 0x72, 0x75, 0xCF, 0x77, 0x52, 0x4D, 0xF3, 0xC9, 0x90, 0x2C, 0xB9, 0x3D, 0xE5, 0xC9, 0x23, 0x53
|
|
.byte 0x3F, 0x1F, 0x24, 0x98, 0x21, 0x5C, 0x07, 0x99, 0x29, 0xBD, 0xC6, 0x3A, 0xEC, 0xE7, 0x6E, 0x86
|
|
.byte 0x3A, 0x6B, 0x97, 0x74, 0x63, 0x33, 0xBD, 0x68, 0x18, 0x31, 0xF0, 0x78, 0x8D, 0x76, 0xBF, 0xFC
|
|
.byte 0x9E, 0x8E, 0x5D, 0x2A, 0x86, 0xA7, 0x4D, 0x90, 0xDC, 0x27, 0x1A, 0x39, 0x01, 0x00, 0x01, 0x00
|
|
.byte 0xA4, 0x6E, 0x21, 0x02, 0x80, 0x00, 0x00, 0x00, 0xF4, 0x6E, 0x21, 0x02, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x8C, 0x6E, 0x21, 0x02, 0x55, 0x53, 0x2C, 0x20, 0x47, 0x54, 0x45, 0x20, 0x43, 0x6F, 0x72, 0x70
|
|
.byte 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2C, 0x20, 0x47, 0x54, 0x45, 0x20, 0x43, 0x79, 0x62
|
|
.byte 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x53, 0x6F, 0x6C, 0x75, 0x74, 0x69, 0x6F, 0x6E
|
|
.byte 0x73, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x2C, 0x20, 0x47, 0x54, 0x45, 0x20, 0x43, 0x79, 0x62
|
|
.byte 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6C, 0x6F, 0x62, 0x61, 0x6C, 0x20, 0x52
|
|
.byte 0x6F, 0x6F, 0x74, 0x00, 0x95, 0x0F, 0xA0, 0xB6, 0xF0, 0x50, 0x9C, 0xE8, 0x7A, 0xC7, 0x88, 0xCD
|
|
.byte 0xDD, 0x17, 0x0E, 0x2E, 0xB0, 0x94, 0xD0, 0x1B, 0x3D, 0x0E, 0xF6, 0x94, 0xC0, 0x8A, 0x94, 0xC7
|
|
.byte 0x06, 0xC8, 0x90, 0x97, 0xC8, 0xB8, 0x64, 0x1A, 0x7A, 0x7E, 0x6C, 0x3C, 0x53, 0xE1, 0x37, 0x28
|
|
.byte 0x73, 0x60, 0x7F, 0xB2, 0x97, 0x53, 0x07, 0x9F, 0x53, 0xF9, 0x6D, 0x58, 0x94, 0xD2, 0xAF, 0x8D
|
|
.byte 0x6D, 0x88, 0x67, 0x80, 0xE6, 0xED, 0xB2, 0x95, 0xCF, 0x72, 0x31, 0xCA, 0xA5, 0x1C, 0x72, 0xBA
|
|
.byte 0x5C, 0x02, 0xE7, 0x64, 0x42, 0xE7, 0xF9, 0xA9, 0x2C, 0xD6, 0x3A, 0x0D, 0xAC, 0x8D, 0x42, 0xAA
|
|
.byte 0x24, 0x01, 0x39, 0xE6, 0x9C, 0x3F, 0x01, 0x85, 0x57, 0x0D, 0x58, 0x87, 0x45, 0xF8, 0xD3, 0x85
|
|
.byte 0xAA, 0x93, 0x69, 0x26, 0x85, 0x70, 0x48, 0x80, 0x3F, 0x12, 0x15, 0xC7, 0x79, 0xB4, 0x1F, 0x05
|
|
.byte 0x2F, 0x3B, 0x62, 0x99, 0x01, 0x00, 0x01, 0x00, 0x8C, 0x6F, 0x21, 0x02, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0xB8, 0x6F, 0x21, 0x02, 0x03, 0x00, 0x00, 0x00, 0x74, 0x6F, 0x21, 0x02, 0x55, 0x53, 0x2C, 0x20
|
|
.byte 0x47, 0x54, 0x45, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2C
|
|
.byte 0x20, 0x47, 0x54, 0x45, 0x20, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20
|
|
.byte 0x52, 0x6F, 0x6F, 0x74, 0x00, 0x00, 0x00, 0x00, 0xB8, 0xE6, 0x4F, 0xBA, 0xDB, 0x98, 0x7C, 0x71
|
|
.byte 0x7C, 0xAF, 0x44, 0xB7, 0xD3, 0x0F, 0x46, 0xD9, 0x64, 0xE5, 0x93, 0xC1, 0x42, 0x8E, 0xC7, 0xBA
|
|
.byte 0x49, 0x8D, 0x35, 0x2D, 0x7A, 0xE7, 0x8B, 0xBD, 0xE5, 0x05, 0x31, 0x59, 0xC6, 0xB1, 0x2F, 0x0A
|
|
.byte 0x0C, 0xFB, 0x9F, 0xA7, 0x3F, 0xA2, 0x09, 0x66, 0x84, 0x56, 0x1E, 0x37, 0x29, 0x1B, 0x87, 0xE9
|
|
.byte 0x7E, 0x0C, 0xCA, 0x9A, 0x9F, 0xA5, 0x7F, 0xF5, 0x15, 0x94, 0xA3, 0xD5, 0xA2, 0x46, 0x82, 0xD8
|
|
.byte 0x68, 0x4C, 0xD1, 0x37, 0x15, 0x06, 0x68, 0xAF, 0xBD, 0xF8, 0xB0, 0xB3, 0xF0, 0x29, 0xF5, 0x95
|
|
.byte 0x5A, 0x09, 0x16, 0x61, 0x77, 0x0A, 0x22, 0x25, 0xD4, 0x4F, 0x45, 0xAA, 0xC7, 0xBD, 0xE5, 0x96
|
|
.byte 0xDF, 0xF9, 0xD4, 0xA8, 0x8E, 0x42, 0xCC, 0x24, 0xC0, 0x1E, 0x91, 0x27, 0x4A, 0xB5, 0x6D, 0x06
|
|
.byte 0x80, 0x63, 0x39, 0xC4, 0xA2, 0x5E, 0x38, 0x03, 0x01, 0x00, 0x01, 0x00, 0x50, 0x70, 0x21, 0x02
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0xA0, 0x70, 0x21, 0x02, 0x03, 0x00, 0x00, 0x00, 0x38, 0x70, 0x21, 0x02
|
|
.byte 0x55, 0x53, 0x2C, 0x20, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6E, 0x67, 0x74, 0x6F, 0x6E, 0x2C, 0x20
|
|
.byte 0x4E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x20, 0x6F, 0x66, 0x20, 0x41, 0x6D, 0x65, 0x72
|
|
.byte 0x69, 0x63, 0x61, 0x20, 0x49, 0x6E, 0x63, 0x2C, 0x20, 0x4E, 0x4F, 0x41, 0x2C, 0x20, 0x4E, 0x69
|
|
.byte 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x20, 0x43, 0x41, 0x2C, 0x20, 0x63, 0x61, 0x40, 0x6E, 0x6F
|
|
.byte 0x61, 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x2E, 0x63, 0x6F, 0x6D, 0x00, 0x00
|
|
.byte 0xB3, 0xCD, 0x79, 0x97, 0x77, 0x5D, 0x8A, 0xAF, 0x86, 0xA8, 0xE8, 0xD7, 0x73, 0x1C, 0x77, 0xDF
|
|
.byte 0x10, 0x90, 0x1F, 0x81, 0xF8, 0x41, 0x9E, 0x21, 0x55, 0xDF, 0xBC, 0xFC, 0x63, 0xFB, 0x19, 0x43
|
|
.byte 0xF1, 0xF6, 0xC4, 0x72, 0x42, 0x49, 0xBD, 0xAD, 0x44, 0x68, 0x4E, 0xF3, 0xDA, 0x1D, 0xE6, 0x4D
|
|
.byte 0xD8, 0xF9, 0x59, 0x88, 0xDC, 0xAE, 0x3E, 0x9B, 0x38, 0x09, 0xCA, 0x7F, 0xFF, 0xDC, 0x24, 0xA2
|
|
.byte 0x44, 0x78, 0x78, 0x49, 0x93, 0xD4, 0x84, 0x40, 0x10, 0xB8, 0xEC, 0x3E, 0xDB, 0x2D, 0x93, 0xC8
|
|
.byte 0x11, 0xC8, 0xFD, 0x78, 0x2D, 0x61, 0xAD, 0x31, 0xAE, 0x86, 0x26, 0xB0, 0xFD, 0x5A, 0x3F, 0xA1
|
|
.byte 0x3D, 0xBF, 0xE2, 0x4B, 0x49, 0xEC, 0xCE, 0x66, 0x98, 0x58, 0x26, 0x12, 0xC0, 0xFB, 0xF4, 0x77
|
|
.byte 0x65, 0x1B, 0xEA, 0xFB, 0xCB, 0x7F, 0xE0, 0x8C, 0xCB, 0x02, 0xA3, 0x4E, 0x5E, 0x8C, 0xEA, 0x9B
|
|
.byte 0x01, 0x00, 0x01, 0x00, 0xB8, 0x71, 0x21, 0x02, 0x80, 0x00, 0x00, 0x00, 0x38, 0x71, 0x21, 0x02
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x20, 0x71, 0x21, 0x02, 0xD2, 0x36, 0x36, 0x6A, 0x8B, 0xD7, 0xC2, 0x5B
|
|
.byte 0x9E, 0xDA, 0x81, 0x41, 0x62, 0x8F, 0x38, 0xEE, 0x49, 0x04, 0x55, 0xD6, 0xD0, 0xEF, 0x1C, 0x1B
|
|
.byte 0x95, 0x16, 0x47, 0xEF, 0x18, 0x48, 0x35, 0x3A, 0x52, 0xF4, 0x2B, 0x6A, 0x06, 0x8F, 0x3B, 0x2F
|
|
.byte 0xEA, 0x56, 0xE3, 0xAF, 0x86, 0x8D, 0x9E, 0x17, 0xF7, 0x9E, 0xB4, 0x65, 0x75, 0x02, 0x4D, 0xEF
|
|
.byte 0xCB, 0x09, 0xA2, 0x21, 0x51, 0xD8, 0x9B, 0xD0, 0x67, 0xD0, 0xBA, 0x0D, 0x92, 0x06, 0x14, 0x73
|
|
.byte 0xD4, 0x93, 0xCB, 0x97, 0x2A, 0x00, 0x9C, 0x5C, 0x4E, 0x0C, 0xBC, 0xFA, 0x15, 0x52, 0xFC, 0xF2
|
|
.byte 0x44, 0x6E, 0xDA, 0x11, 0x4A, 0x6E, 0x08, 0x9F, 0x2F, 0x2D, 0xE3, 0xF9, 0xAA, 0x3A, 0x86, 0x73
|
|
.byte 0xB6, 0x46, 0x53, 0x58, 0xC8, 0x89, 0x05, 0xBD, 0x83, 0x11, 0xB8, 0x73, 0x3F, 0xAA, 0x07, 0x8D
|
|
.byte 0xF4, 0x42, 0x4D, 0xE7, 0x40, 0x9D, 0x1C, 0x37, 0x5A, 0x41, 0x2C, 0x20, 0x57, 0x65, 0x73, 0x74
|
|
.byte 0x65, 0x72, 0x6E, 0x20, 0x43, 0x61, 0x70, 0x65, 0x2C, 0x20, 0x43, 0x61, 0x70, 0x65, 0x20, 0x54
|
|
.byte 0x6F, 0x77, 0x6E, 0x2C, 0x20, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x43, 0x6F, 0x6E, 0x73
|
|
.byte 0x75, 0x6C, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x63, 0x63, 0x2C, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69
|
|
.byte 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65
|
|
.byte 0x73, 0x20, 0x44, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x68, 0x61, 0x77
|
|
.byte 0x74, 0x65, 0x20, 0x50, 0x72, 0x65, 0x6D, 0x69, 0x75, 0x6D, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65
|
|
.byte 0x72, 0x20, 0x43, 0x41, 0x2C, 0x20, 0x70, 0x72, 0x65, 0x6D, 0x69, 0x75, 0x6D, 0x2D, 0x73, 0x65
|
|
.byte 0x72, 0x76, 0x65, 0x72, 0x40, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2E, 0x63, 0x6F, 0x6D, 0x00
|
|
.byte 0x01, 0x00, 0x01, 0x00, 0x58, 0x72, 0x21, 0x02, 0x80, 0x00, 0x00, 0x00, 0xD8, 0x72, 0x21, 0x02
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x40, 0x72, 0x21, 0x02, 0x5A, 0x41, 0x2C, 0x20, 0x57, 0x65, 0x73, 0x74
|
|
.byte 0x65, 0x72, 0x6E, 0x20, 0x43, 0x61, 0x70, 0x65, 0x2C, 0x20, 0x43, 0x61, 0x70, 0x65, 0x20, 0x54
|
|
.byte 0x6F, 0x77, 0x6E, 0x2C, 0x20, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x43, 0x6F, 0x6E, 0x73
|
|
.byte 0x75, 0x6C, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x63, 0x63, 0x2C, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69
|
|
.byte 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65
|
|
.byte 0x73, 0x20, 0x44, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x68, 0x61, 0x77
|
|
.byte 0x74, 0x65, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x2C, 0x20, 0x73, 0x65
|
|
.byte 0x72, 0x76, 0x65, 0x72, 0x2D, 0x63, 0x65, 0x72, 0x74, 0x73, 0x40, 0x74, 0x68, 0x61, 0x77, 0x74
|
|
.byte 0x65, 0x2E, 0x63, 0x6F, 0x6D, 0x00, 0x00, 0x00, 0xD3, 0xA4, 0x50, 0x6E, 0xC8, 0xFF, 0x56, 0x6B
|
|
.byte 0xE6, 0xCF, 0x5D, 0xB6, 0xEA, 0x0C, 0x68, 0x75, 0x47, 0xA2, 0xAA, 0xC2, 0xDA, 0x84, 0x25, 0xFC
|
|
.byte 0xA8, 0xF4, 0x47, 0x51, 0xDA, 0x85, 0xB5, 0x20, 0x74, 0x94, 0x86, 0x1E, 0x0F, 0x75, 0xC9, 0xE9
|
|
.byte 0x08, 0x61, 0xF5, 0x06, 0x6D, 0x30, 0x6E, 0x15, 0x19, 0x02, 0xE9, 0x52, 0xC0, 0x62, 0xDB, 0x4D
|
|
.byte 0x99, 0x9E, 0xE2, 0x6A, 0x0C, 0x44, 0x38, 0xCD, 0xFE, 0xBE, 0xE3, 0x64, 0x09, 0x70, 0xC5, 0xFE
|
|
.byte 0xB1, 0x6B, 0x29, 0xB6, 0x2F, 0x49, 0xC8, 0x3B, 0xD4, 0x27, 0x04, 0x25, 0x10, 0x97, 0x2F, 0xE7
|
|
.byte 0x90, 0x6D, 0xC0, 0x28, 0x42, 0x99, 0xD7, 0x4C, 0x43, 0xDE, 0xC3, 0xF5, 0x21, 0x6D, 0x54, 0x9F
|
|
.byte 0x5D, 0xC3, 0x58, 0xE1, 0xC0, 0xE4, 0xD9, 0x5B, 0xB0, 0xB8, 0xDC, 0xB4, 0x7B, 0xDF, 0x36, 0x3A
|
|
.byte 0xC2, 0xB5, 0x66, 0x22, 0x12, 0xD6, 0x87, 0x0D, 0x01, 0x00, 0x01, 0x00, 0xF0, 0x73, 0x21, 0x02
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x70, 0x73, 0x21, 0x02, 0x03, 0x00, 0x00, 0x00, 0x58, 0x73, 0x21, 0x02
|
|
.byte 0xCC, 0x5E, 0xD1, 0x11, 0x5D, 0x5C, 0x69, 0xD0, 0xAB, 0xD3, 0xB9, 0x6A, 0x4C, 0x99, 0x1F, 0x59
|
|
.byte 0x98, 0x30, 0x8E, 0x16, 0x85, 0x20, 0x46, 0x6D, 0x47, 0x3F, 0xD4, 0x85, 0x20, 0x84, 0xE1, 0x6D
|
|
.byte 0xB3, 0xF8, 0xA4, 0xED, 0x0C, 0xF1, 0x17, 0x0F, 0x3B, 0xF9, 0xA7, 0xF9, 0x25, 0xD7, 0xC1, 0xCF
|
|
.byte 0x84, 0x63, 0xF2, 0x7C, 0x63, 0xCF, 0xA2, 0x47, 0xF2, 0xC6, 0x5B, 0x33, 0x8E, 0x64, 0x40, 0x04
|
|
.byte 0x68, 0xC1, 0x80, 0xB9, 0x64, 0x1C, 0x45, 0x77, 0xC7, 0xD8, 0x6E, 0xF5, 0x95, 0x29, 0x3C, 0x50
|
|
.byte 0xE8, 0x34, 0xD7, 0x78, 0x1F, 0xA8, 0xBA, 0x6D, 0x43, 0x91, 0x95, 0x8F, 0x45, 0x57, 0x5E, 0x7E
|
|
.byte 0xC5, 0xFB, 0xCA, 0xA4, 0x04, 0xEB, 0xEA, 0x97, 0x37, 0x54, 0x30, 0x6F, 0xBB, 0x01, 0x47, 0x32
|
|
.byte 0x33, 0xCD, 0xDC, 0x57, 0x9B, 0x64, 0x69, 0x61, 0xF8, 0x9B, 0x1D, 0x1C, 0x89, 0x4F, 0x5C, 0x67
|
|
.byte 0x55, 0x53, 0x2C, 0x20, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6E, 0x2C, 0x20, 0x49, 0x6E
|
|
.byte 0x63, 0x2E, 0x2C, 0x20, 0x43, 0x6C, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, 0x6C
|
|
.byte 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, 0x6D, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69
|
|
.byte 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69
|
|
.byte 0x74, 0x79, 0x20, 0x2D, 0x20, 0x47, 0x32, 0x2C, 0x20, 0x28, 0x63, 0x29, 0x20, 0x31, 0x39, 0x39
|
|
.byte 0x38, 0x20, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6E, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E
|
|
.byte 0x20, 0x2D, 0x20, 0x46, 0x6F, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x7A, 0x65
|
|
.byte 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6F, 0x6E, 0x6C, 0x79, 0x2C, 0x20, 0x56, 0x65, 0x72, 0x69
|
|
.byte 0x53, 0x69, 0x67, 0x6E, 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x4E, 0x65, 0x74, 0x77, 0x6F
|
|
.byte 0x72, 0x6B, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x9C, 0x74, 0x21, 0x02, 0x00, 0x01, 0x00, 0x00
|
|
.byte 0x38, 0x75, 0x21, 0x02, 0x03, 0x00, 0x00, 0x00, 0x84, 0x74, 0x21, 0x02, 0x55, 0x53, 0x2C, 0x20
|
|
.byte 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6E, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x2C, 0x20
|
|
.byte 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6E, 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x4E
|
|
.byte 0x65, 0x74, 0x77, 0x6F, 0x72, 0x6B, 0x2C, 0x20, 0x28, 0x63, 0x29, 0x20, 0x31, 0x39, 0x39, 0x39
|
|
.byte 0x20, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6E, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x20
|
|
.byte 0x2D, 0x20, 0x46, 0x6F, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x7A, 0x65, 0x64
|
|
.byte 0x20, 0x75, 0x73, 0x65, 0x20, 0x6F, 0x6E, 0x6C, 0x79, 0x2C, 0x20, 0x56, 0x65, 0x72, 0x69, 0x53
|
|
.byte 0x69, 0x67, 0x6E, 0x20, 0x43, 0x6C, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, 0x6C
|
|
.byte 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, 0x6D, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69
|
|
.byte 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69
|
|
.byte 0x74, 0x79, 0x20, 0x2D, 0x20, 0x47, 0x33, 0x00, 0xCB, 0xBA, 0x9C, 0x52, 0xFC, 0x78, 0x1F, 0x1A
|
|
.byte 0x1E, 0x6F, 0x1B, 0x37, 0x73, 0xBD, 0xF8, 0xC9, 0x6B, 0x94, 0x12, 0x30, 0x4F, 0xF0, 0x36, 0x47
|
|
.byte 0xF5, 0xD0, 0x91, 0x0A, 0xF5, 0x17, 0xC8, 0xA5, 0x61, 0xC1, 0x16, 0x40, 0x4D, 0xFB, 0x8A, 0x61
|
|
.byte 0x90, 0xE5, 0x76, 0x20, 0xC1, 0x11, 0x06, 0x7D, 0xAB, 0x2C, 0x6E, 0xA6, 0xF5, 0x11, 0x41, 0x8E
|
|
.byte 0xFA, 0x2D, 0xAD, 0x2A, 0x61, 0x59, 0xA4, 0x67, 0x26, 0x4C, 0xD0, 0xE8, 0xBC, 0x52, 0x5B, 0x70
|
|
.byte 0x20, 0x04, 0x58, 0xD1, 0x7A, 0xC9, 0xA4, 0x69, 0xBC, 0x83, 0x17, 0x64, 0xAD, 0x05, 0x8B, 0xBC
|
|
.byte 0xD0, 0x58, 0xCE, 0x8D, 0x8C, 0xF5, 0xEB, 0xF0, 0x42, 0x49, 0x0B, 0x9D, 0x97, 0x27, 0x67, 0x32
|
|
.byte 0x6E, 0xE1, 0xAE, 0x93, 0x15, 0x1C, 0x70, 0xBC, 0x20, 0x4D, 0x2F, 0x18, 0xDE, 0x92, 0x88, 0xE8
|
|
.byte 0x6C, 0x85, 0x57, 0x11, 0x1A, 0xE9, 0x7E, 0xE3, 0x26, 0x11, 0x54, 0xA2, 0x45, 0x96, 0x55, 0x83
|
|
.byte 0xCA, 0x30, 0x89, 0xE8, 0xDC, 0xD8, 0xA3, 0xED, 0x2A, 0x80, 0x3F, 0x7F, 0x79, 0x65, 0x57, 0x3E
|
|
.byte 0x15, 0x20, 0x66, 0x08, 0x2F, 0x95, 0x93, 0xBF, 0xAA, 0x47, 0x2F, 0xA8, 0x46, 0x97, 0xF0, 0x12
|
|
.byte 0xE2, 0xFE, 0xC2, 0x0A, 0x2B, 0x51, 0xE6, 0x76, 0xE6, 0xB7, 0x46, 0xB7, 0xE2, 0x0D, 0xA6, 0xCC
|
|
.byte 0xA8, 0xC3, 0x4C, 0x59, 0x55, 0x89, 0xE6, 0xE8, 0x53, 0x5C, 0x1C, 0xEA, 0x9D, 0xF0, 0x62, 0x16
|
|
.byte 0x0B, 0xA7, 0xC9, 0x5F, 0x0C, 0xF0, 0xDE, 0xC2, 0x76, 0xCE, 0xAF, 0xF7, 0x6A, 0xF2, 0xFA, 0x41
|
|
.byte 0xA6, 0xA2, 0x33, 0x14, 0xC9, 0xE5, 0x7A, 0x63, 0xD3, 0x9E, 0x62, 0x37, 0xD5, 0x85, 0x65, 0x9E
|
|
.byte 0x0E, 0xE6, 0x53, 0x24, 0x74, 0x1B, 0x5E, 0x1D, 0x12, 0x53, 0x5B, 0xC7, 0x2C, 0xE7, 0x83, 0x49
|
|
.byte 0x3B, 0x15, 0xAE, 0x8A, 0x68, 0xB9, 0x57, 0x97, 0x01, 0x00, 0x01, 0x00, 0x50, 0x76, 0x21, 0x02
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x94, 0x76, 0x21, 0x02, 0x03, 0x00, 0x00, 0x00, 0x38, 0x76, 0x21, 0x02
|
|
.byte 0x55, 0x53, 0x2C, 0x20, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6E, 0x2C, 0x20, 0x49, 0x6E
|
|
.byte 0x63, 0x2E, 0x2C, 0x20, 0x43, 0x6C, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, 0x6C
|
|
.byte 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, 0x6D, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69
|
|
.byte 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69
|
|
.byte 0x74, 0x79, 0x00, 0x00, 0xC9, 0x5C, 0x59, 0x9E, 0xF2, 0x1B, 0x8A, 0x01, 0x14, 0xB4, 0x10, 0xDF
|
|
.byte 0x04, 0x40, 0xDB, 0xE3, 0x57, 0xAF, 0x6A, 0x45, 0x40, 0x8F, 0x84, 0x0C, 0x0B, 0xD1, 0x33, 0xD9
|
|
.byte 0xD9, 0x11, 0xCF, 0xEE, 0x02, 0x58, 0x1F, 0x25, 0xF7, 0x2A, 0xA8, 0x44, 0x05, 0xAA, 0xEC, 0x03
|
|
.byte 0x1F, 0x78, 0x7F, 0x9E, 0x93, 0xB9, 0x9A, 0x00, 0xAA, 0x23, 0x7D, 0xD6, 0xAC, 0x85, 0xA2, 0x63
|
|
.byte 0x45, 0xC7, 0x72, 0x27, 0xCC, 0xF4, 0x4C, 0xC6, 0x75, 0x71, 0xD2, 0x39, 0xEF, 0x4F, 0x42, 0xF0
|
|
.byte 0x75, 0xDF, 0x0A, 0x90, 0xC6, 0x8E, 0x20, 0x6F, 0x98, 0x0F, 0xF8, 0xAC, 0x23, 0x5F, 0x70, 0x29
|
|
.byte 0x36, 0xA4, 0xC9, 0x86, 0xE7, 0xB1, 0x9A, 0x20, 0xCB, 0x53, 0xA5, 0x85, 0xE7, 0x3D, 0xBE, 0x7D
|
|
.byte 0x9A, 0xFE, 0x24, 0x45, 0x33, 0xDC, 0x76, 0x15, 0xED, 0x0F, 0xA2, 0x71, 0x64, 0x4C, 0x65, 0x2E
|
|
.byte 0x81, 0x68, 0x45, 0xA7, 0x01, 0x00, 0x01, 0x00, 0x2C, 0x77, 0x21, 0x02, 0x7D, 0x00, 0x00, 0x00
|
|
.byte 0x70, 0x77, 0x21, 0x02, 0x03, 0x00, 0x00, 0x00, 0x14, 0x77, 0x21, 0x02, 0x55, 0x53, 0x2C, 0x20
|
|
.byte 0x52, 0x53, 0x41, 0x20, 0x44, 0x61, 0x74, 0x61, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74
|
|
.byte 0x79, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x2C, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20
|
|
.byte 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61
|
|
.byte 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x74, 0x79, 0x00, 0x00
|
|
.byte 0x92, 0xCE, 0x7A, 0xC1, 0xAE, 0x83, 0x3E, 0x5A, 0xAA, 0x89, 0x83, 0x57, 0xAC, 0x25, 0x01, 0x76
|
|
.byte 0x0C, 0xAD, 0xAE, 0x8E, 0x2C, 0x37, 0xCE, 0xEB, 0x35, 0x78, 0x64, 0x54, 0x03, 0xE5, 0x84, 0x40
|
|
.byte 0x51, 0xC9, 0xBF, 0x8F, 0x08, 0xE2, 0x8A, 0x82, 0x08, 0xD2, 0x16, 0x86, 0x37, 0x55, 0xE9, 0xB1
|
|
.byte 0x21, 0x02, 0xAD, 0x76, 0x68, 0x81, 0x9A, 0x05, 0xA2, 0x4B, 0xC9, 0x4B, 0x25, 0x66, 0x22, 0x56
|
|
.byte 0x6C, 0x88, 0x07, 0x8F, 0xF7, 0x81, 0x59, 0x6D, 0x84, 0x07, 0x65, 0x70, 0x13, 0x71, 0x76, 0x3E
|
|
.byte 0x9B, 0x77, 0x4C, 0xE3, 0x50, 0x89, 0x56, 0x98, 0x48, 0xB9, 0x1D, 0xA7, 0x29, 0x1A, 0x13, 0x2E
|
|
.byte 0x4A, 0x11, 0x59, 0x9C, 0x1E, 0x15, 0xD5, 0x49, 0x54, 0x2C, 0x73, 0x3A, 0x69, 0x82, 0xB1, 0x97
|
|
.byte 0x39, 0x9C, 0x6D, 0x70, 0x67, 0x48, 0xE5, 0xDD, 0x2D, 0xD6, 0xC8, 0x1E, 0x7B, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x01, 0x00, 0x08, 0x78, 0x21, 0x02, 0x00, 0x01, 0x00, 0x00, 0x38, 0x78, 0x21, 0x02
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0xF0, 0x77, 0x21, 0x02, 0x47, 0x6C, 0x6F, 0x62, 0x61, 0x6C, 0x53, 0x69
|
|
.byte 0x67, 0x6E, 0x20, 0x52, 0x6F, 0x6F, 0x74, 0x20, 0x43, 0x41, 0x20, 0x2D, 0x20, 0x52, 0x32, 0x2C
|
|
.byte 0x20, 0x47, 0x6C, 0x6F, 0x62, 0x61, 0x6C, 0x53, 0x69, 0x67, 0x6E, 0x2C, 0x20, 0x47, 0x6C, 0x6F
|
|
.byte 0x62, 0x61, 0x6C, 0x53, 0x69, 0x67, 0x6E, 0x00, 0xA6, 0xCF, 0x24, 0x0E, 0xBE, 0x2E, 0x6F, 0x28
|
|
.byte 0x99, 0x45, 0x42, 0xC4, 0xAB, 0x3E, 0x21, 0x54, 0x9B, 0x0B, 0xD3, 0x7F, 0x84, 0x70, 0xFA, 0x12
|
|
.byte 0xB3, 0xCB, 0xBF, 0x87, 0x5F, 0xC6, 0x7F, 0x86, 0xD3, 0xB2, 0x30, 0x5C, 0xD6, 0xFD, 0xAD, 0xF1
|
|
.byte 0x7B, 0xDC, 0xE5, 0xF8, 0x60, 0x96, 0x09, 0x92, 0x10, 0xF5, 0xD0, 0x53, 0xDE, 0xFB, 0x7B, 0x7E
|
|
.byte 0x73, 0x88, 0xAC, 0x52, 0x88, 0x7B, 0x4A, 0xA6, 0xCA, 0x49, 0xA6, 0x5E, 0xA8, 0xA7, 0x8C, 0x5A
|
|
.byte 0x11, 0xBC, 0x7A, 0x82, 0xEB, 0xBE, 0x8C, 0xE9, 0xB3, 0xAC, 0x96, 0x25, 0x07, 0x97, 0x4A, 0x99
|
|
.byte 0x2A, 0x07, 0x2F, 0xB4, 0x1E, 0x77, 0xBF, 0x8A, 0x0F, 0xB5, 0x02, 0x7C, 0x1B, 0x96, 0xB8, 0xC5
|
|
.byte 0xB9, 0x3A, 0x2C, 0xBC, 0xD6, 0x12, 0xB9, 0xEB, 0x59, 0x7D, 0xE2, 0xD0, 0x06, 0x86, 0x5F, 0x5E
|
|
.byte 0x49, 0x6A, 0xB5, 0x39, 0x5E, 0x88, 0x34, 0xEC, 0xBC, 0x78, 0x0C, 0x08, 0x98, 0x84, 0x6C, 0xA8
|
|
.byte 0xCD, 0x4B, 0xB4, 0xA0, 0x7D, 0x0C, 0x79, 0x4D, 0xF0, 0xB8, 0x2D, 0xCB, 0x21, 0xCA, 0xD5, 0x6C
|
|
.byte 0x5B, 0x7D, 0xE1, 0xA0, 0x29, 0x84, 0xA1, 0xF9, 0xD3, 0x94, 0x49, 0xCB, 0x24, 0x62, 0x91, 0x20
|
|
.byte 0xBC, 0xDD, 0x0B, 0xD5, 0xD9, 0xCC, 0xF9, 0xEA, 0x27, 0x0A, 0x2B, 0x73, 0x91, 0xC6, 0x9D, 0x1B
|
|
.byte 0xAC, 0xC8, 0xCB, 0xE8, 0xE0, 0xA0, 0xF4, 0x2F, 0x90, 0x8B, 0x4D, 0xFB, 0xB0, 0x36, 0x1B, 0xF6
|
|
.byte 0x19, 0x7A, 0x85, 0xE0, 0x6D, 0xF2, 0x61, 0x13, 0x88, 0x5C, 0x9F, 0xE0, 0x93, 0x0A, 0x51, 0x97
|
|
.byte 0x8A, 0x5A, 0xCE, 0xAF, 0xAB, 0xD5, 0xF7, 0xAA, 0x09, 0xAA, 0x60, 0xBD, 0xDC, 0xD9, 0x5F, 0xDF
|
|
.byte 0x72, 0xA9, 0x60, 0x13, 0x5E, 0x00, 0x01, 0xC9, 0x4A, 0xFA, 0x3F, 0xA4, 0xEA, 0x07, 0x03, 0x21
|
|
.byte 0x02, 0x8E, 0x82, 0xCA, 0x03, 0xC2, 0x9B, 0x8F
|
|
_02217938:
|
|
.byte 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F
|
|
.byte 0x6E, 0x61, 0x73, 0x2E, 0x74, 0x65, 0x73, 0x74, 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64
|
|
.byte 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x61, 0x63, 0x00, 0x00, 0x00, 0x00
|
|
_02217960:
|
|
.byte 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x6E, 0x61, 0x73, 0x2E, 0x64, 0x65, 0x76, 0x2E
|
|
.byte 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65, 0x74
|
|
.byte 0x2F, 0x61, 0x63, 0x00
|
|
_02217984:
|
|
.byte 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x6E, 0x61, 0x73, 0x2E
|
|
.byte 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65, 0x74
|
|
.byte 0x2F, 0x61, 0x63, 0x00
|
|
_022179A4:
|
|
.byte 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00
|
|
_022179AC:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_022179B0:
|
|
.byte 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x2F, 0x64, 0x6F, 0x77, 0x6E, 0x6C, 0x6F, 0x61
|
|
.byte 0x64, 0x00, 0x00, 0x00
|
|
_022179C4:
|
|
.byte 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x25, 0x73, 0x2F, 0x64
|
|
.byte 0x6F, 0x77, 0x6E, 0x6C, 0x6F, 0x61, 0x64, 0x00
|
|
_022179D8:
|
|
.byte 0x39, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00
|
|
_022179E0:
|
|
.byte 0x25, 0x63, 0x25, 0x73, 0x25, 0x63, 0x25, 0x73, 0x00, 0x00, 0x00, 0x00
|
|
_022179EC:
|
|
.byte 0x53, 0x43, 0x4D, 0x00
|
|
_022179F0:
|
|
.byte 0x53, 0x43, 0x4E, 0x00
|
|
_022179F4:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_022179F8:
|
|
.byte 0x47, 0x50, 0x43, 0x4D, 0x00, 0x00, 0x00, 0x00
|
|
_02217A00:
|
|
.byte 0x4D, 0x41, 0x54, 0x00
|
|
_02217A04:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02217A08:
|
|
.byte 0x53, 0x43, 0x4D, 0x00
|
|
_02217A0C:
|
|
.byte 0x53, 0x43, 0x4E, 0x00
|
|
_02217A10:
|
|
.byte 0x49, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x7A, 0x65
|
|
.byte 0x64, 0x20, 0x79, 0x6F, 0x75, 0x72, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x74
|
|
.byte 0x6F, 0x20, 0x61, 0x64, 0x64, 0x20, 0x6D, 0x65, 0x20, 0x74, 0x6F, 0x20, 0x79, 0x6F, 0x75, 0x72
|
|
.byte 0x20, 0x6C, 0x69, 0x73, 0x74, 0x00, 0x00, 0x00
|
|
_02217A48:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02217A4C:
|
|
.byte 0x25, 0x63, 0x25, 0x63
|
|
.byte 0x25, 0x63, 0x25, 0x63, 0x00, 0x00, 0x00, 0x00
|
|
_02217A58:
|
|
.byte 0x20, 0x61, 0x6E, 0x64, 0x20, 0x28, 0x29, 0x00
|
|
_02217A60:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02217A64:
|
|
.byte 0x25, 0x75, 0x00, 0x00
|
|
_02217A68:
|
|
.byte 0x46, 0x4D, 0x45, 0x00
|
|
_02217A6C:
|
|
.byte 0x4D, 0x44, 0x46, 0x00
|
|
_02217A70:
|
|
.byte 0x56, 0x45, 0x52, 0x00
|
|
_02217A74:
|
|
.byte 0x49, 0x6E, 0x69, 0x74, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x00, 0x00
|
|
_02217A80:
|
|
.byte 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x66, 0x75, 0x6C, 0x6C, 0x00
|
|
_02217A8C:
|
|
.byte 0x55, 0x6E, 0x6B, 0x6E
|
|
.byte 0x6F, 0x77, 0x6E, 0x20, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x20, 0x61, 0x74, 0x74, 0x65
|
|
.byte 0x6D, 0x70, 0x74, 0x00
|
|
_02217AA4:
|
|
.byte 0x53, 0x43, 0x4D, 0x00
|
|
_02217AA8:
|
|
.byte 0x53, 0x43, 0x4E, 0x00
|
|
_02217AAC:
|
|
.byte 0x64, 0x77, 0x63, 0x5F
|
|
.byte 0x70, 0x69, 0x64, 0x00
|
|
_02217AB4:
|
|
.byte 0x64, 0x77, 0x63, 0x5F, 0x6D, 0x74, 0x79, 0x70, 0x65, 0x00, 0x00, 0x00
|
|
_02217AC0:
|
|
.byte 0x64, 0x77, 0x63, 0x5F, 0x6D, 0x72, 0x65, 0x73, 0x76, 0x00, 0x00, 0x00
|
|
_02217ACC:
|
|
.byte 0x64, 0x77, 0x63, 0x5F
|
|
.byte 0x6D, 0x76, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00
|
|
_02217AD8:
|
|
.byte 0x64, 0x77, 0x63, 0x5F, 0x65, 0x76, 0x61, 0x6C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02217AE4:
|
|
.byte 0x20, 0x61, 0x6E, 0x64, 0x20, 0x28, 0x25, 0x73, 0x29, 0x00, 0x00, 0x00
|
|
_02217AF0:
|
|
.byte 0x25, 0x73, 0x20, 0x3D, 0x20, 0x25, 0x75, 0x00
|
|
_02217AF8:
|
|
.byte 0x25, 0x73, 0x20, 0x3D, 0x20, 0x25, 0x64, 0x20
|
|
.byte 0x61, 0x6E, 0x64, 0x20, 0x25, 0x73, 0x20, 0x21, 0x3D, 0x20, 0x25, 0x75, 0x20, 0x61, 0x6E, 0x64
|
|
.byte 0x20, 0x6D, 0x61, 0x78, 0x70, 0x6C, 0x61, 0x79, 0x65, 0x72, 0x73, 0x20, 0x3D, 0x20, 0x25, 0x64
|
|
.byte 0x20, 0x61, 0x6E, 0x64, 0x20, 0x6E, 0x75, 0x6D, 0x70, 0x6C, 0x61, 0x79, 0x65, 0x72, 0x73, 0x20
|
|
.byte 0x3C, 0x20, 0x25, 0x64, 0x20, 0x61, 0x6E, 0x64, 0x20, 0x25, 0x73, 0x20, 0x3D, 0x20, 0x25, 0x64
|
|
.byte 0x20, 0x61, 0x6E, 0x64, 0x20, 0x25, 0x73, 0x20, 0x21, 0x3D, 0x20, 0x25, 0x73, 0x00, 0x00, 0x00
|
|
_02217B50:
|
|
.byte 0x2F, 0x25, 0x75, 0x00
|
|
_02217B54:
|
|
.byte 0x53, 0x42, 0x43, 0x4D, 0x00, 0x00, 0x00, 0x00
|
|
_02217B5C:
|
|
.byte 0x25, 0x73, 0x25, 0x64
|
|
.byte 0x76, 0x25, 0x73, 0x00
|
|
_02217B64:
|
|
.byte 0x47, 0x50, 0x43, 0x4D, 0x00, 0x00, 0x00, 0x00
|
|
_02217B6C:
|
|
.byte 0x4D, 0x41, 0x54, 0x00
|
|
_02217B70:
|
|
.byte 0x6E, 0x75, 0x6D, 0x70, 0x6C, 0x61, 0x79, 0x65, 0x72, 0x73, 0x00, 0x00
|
|
_02217B7C:
|
|
.byte 0x6D, 0x61, 0x78, 0x70
|
|
.byte 0x6C, 0x61, 0x79, 0x65, 0x72, 0x73, 0x00, 0x00
|
|
_02217B88:
|
|
.byte 0x44, 0x54, 0x00, 0x00
|
|
_02217B8C:
|
|
.byte 0x4E, 0x57, 0x43, 0x55
|
|
.byte 0x53, 0x42, 0x41, 0x50, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x49, 0x4E, 0x54, 0x45, 0x4E, 0x44, 0x4F
|
|
.byte 0x2D, 0x44, 0x53, 0x00
|
|
_02217BA4:
|
|
.byte 0xF0, 0x7B, 0x21, 0x02, 0xB4, 0x7B, 0x21, 0x02, 0xD4, 0x7B, 0x21, 0x02
|
|
.byte 0xC4, 0x7B, 0x21, 0x02, 0x67, 0x77, 0x69, 0x27, 0x36, 0x26, 0x66, 0x73, 0x3D, 0x30, 0x4E, 0x66
|
|
.byte 0x7E, 0x00, 0x00, 0x00, 0x25, 0x28, 0x65, 0x67, 0x45, 0x72, 0x29, 0x61, 0x67, 0x28, 0x73, 0x26
|
|
.byte 0x6D, 0x00, 0x00, 0x00, 0x39, 0x35, 0x32, 0x75, 0x79, 0x62, 0x6A, 0x6E, 0x70, 0x6D, 0x75, 0x39
|
|
.byte 0x30, 0x33, 0x62, 0x69, 0x61, 0x40, 0x62, 0x6B, 0x35, 0x6D, 0x5B, 0x2D, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x33, 0x38, 0x67, 0x36, 0x7A, 0x78, 0x6A, 0x6B, 0x32, 0x30, 0x67, 0x76, 0x6D, 0x76, 0x5D, 0x36
|
|
.byte 0x5E, 0x3D, 0x6A, 0x26, 0x25, 0x76, 0x59, 0x31, 0x00, 0x00, 0x00, 0x00
|
|
_02217C0C:
|
|
.byte 0x4E, 0x44, 0x57, 0x43
|
|
.byte 0x53, 0x48, 0x41, 0x50, 0x00, 0x00, 0x00, 0x00
|
|
_02217C18:
|
|
.byte 0x4E, 0x57, 0x43, 0x55, 0x53, 0x42, 0x41, 0x50
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02217C24:
|
|
.byte 0x25, 0x73, 0x2E, 0x61, 0x76, 0x61, 0x69, 0x6C, 0x61, 0x62, 0x6C, 0x65
|
|
.byte 0x2E, 0x67, 0x73, 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66, 0x69
|
|
.byte 0x2E, 0x6E, 0x65, 0x74, 0x00, 0x00, 0x00, 0x00
|
|
_02217C48:
|
|
.byte 0xFE, 0xFD, 0x09, 0x00
|
|
_02217C4C:
|
|
.byte 0x41, 0x72, 0x72, 0x61
|
|
.byte 0x79, 0x4D, 0x61, 0x70, 0x00, 0x00, 0x00, 0x00
|
|
_02217C58:
|
|
.byte 0x41, 0x72, 0x72, 0x61, 0x79, 0x4E, 0x74, 0x68
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02217C64:
|
|
.byte 0x41, 0x72, 0x72, 0x61, 0x79, 0x4E, 0x65, 0x77, 0x00, 0x00, 0x00, 0x00
|
|
_02217C70:
|
|
.byte 0x41, 0x72, 0x72, 0x61, 0x79, 0x46, 0x72, 0x65, 0x65, 0x00, 0x00, 0x00
|
|
_02217C7C:
|
|
.byte 0x41, 0x72, 0x72, 0x61
|
|
.byte 0x79, 0x47, 0x72, 0x6F, 0x77, 0x00, 0x00, 0x00
|
|
_02217C88:
|
|
.byte 0x41, 0x72, 0x72, 0x61, 0x79, 0x41, 0x70, 0x70
|
|
.byte 0x65, 0x6E, 0x64, 0x00
|
|
_02217C94:
|
|
.byte 0x41, 0x72, 0x72, 0x61, 0x79, 0x52, 0x65, 0x6D, 0x6F, 0x76, 0x65, 0x41
|
|
.byte 0x74, 0x00, 0x00, 0x00
|
|
_02217CA4:
|
|
.byte 0x41, 0x72, 0x72, 0x61, 0x79, 0x44, 0x65, 0x6C, 0x65, 0x74, 0x65, 0x41
|
|
.byte 0x74, 0x00, 0x00, 0x00
|
|
_02217CB4:
|
|
.byte 0x41, 0x72, 0x72, 0x61, 0x79, 0x49, 0x6E, 0x73, 0x65, 0x72, 0x74, 0x41
|
|
.byte 0x74, 0x00, 0x00, 0x00
|
|
_02217CC4:
|
|
.byte 0x41, 0x72, 0x72, 0x61, 0x79, 0x52, 0x65, 0x70, 0x6C, 0x61, 0x63, 0x65
|
|
.byte 0x41, 0x74, 0x00, 0x00
|
|
_02217CD4:
|
|
.byte 0x41, 0x72, 0x72, 0x61, 0x79, 0x4D, 0x61, 0x70, 0x42, 0x61, 0x63, 0x6B
|
|
.byte 0x77, 0x61, 0x72, 0x64, 0x73, 0x00, 0x00, 0x00
|
|
_02217CE8:
|
|
.byte 0x41, 0x72, 0x72, 0x61, 0x79, 0x49, 0x6E, 0x73
|
|
.byte 0x65, 0x72, 0x74, 0x53, 0x6F, 0x72, 0x74, 0x65, 0x64, 0x00, 0x00, 0x00
|
|
_02217CFC:
|
|
.byte 0x41, 0x72, 0x72, 0x61
|
|
.byte 0x79, 0x4D, 0x61, 0x70, 0x42, 0x61, 0x63, 0x6B, 0x77, 0x61, 0x72, 0x64, 0x73, 0x32, 0x00, 0x00
|
|
_02217D10:
|
|
.byte 0x61, 0x72, 0x72, 0x61, 0x79, 0x2D, 0x3E, 0x6C, 0x69, 0x73, 0x74, 0x00
|
|
_02217D1C:
|
|
.byte 0x64, 0x61, 0x72, 0x72
|
|
.byte 0x61, 0x79, 0x2E, 0x63, 0x00, 0x00, 0x00, 0x00
|
|
_02217D28:
|
|
.byte 0x61, 0x72, 0x72, 0x61, 0x79, 0x00, 0x00, 0x00
|
|
_02217D30:
|
|
.byte 0x65, 0x6C, 0x65, 0x6D, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x00, 0x00, 0x00
|
|
_02217D3C:
|
|
.byte 0x28, 0x6E, 0x20, 0x3E
|
|
.byte 0x3D, 0x20, 0x30, 0x29, 0x20, 0x26, 0x26, 0x20, 0x28, 0x6E, 0x20, 0x3C, 0x20, 0x61, 0x72, 0x72
|
|
.byte 0x61, 0x79, 0x2D, 0x3E, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x29, 0x00, 0x00
|
|
_02217D5C:
|
|
.byte 0x28, 0x6E, 0x20, 0x3E
|
|
.byte 0x3D, 0x20, 0x30, 0x29, 0x20, 0x26, 0x26, 0x20, 0x28, 0x6E, 0x20, 0x3C, 0x3D, 0x20, 0x61, 0x72
|
|
.byte 0x72, 0x61, 0x79, 0x2D, 0x3E, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x29, 0x00
|
|
_02217D7C:
|
|
.byte 0x63, 0x6F, 0x6D, 0x70
|
|
.byte 0x61, 0x72, 0x61, 0x74, 0x6F, 0x72, 0x00, 0x00
|
|
_02217D88:
|
|
.byte 0x66, 0x6E, 0x00, 0x00
|
|
_02217D8C:
|
|
.byte 0x54, 0x61, 0x62, 0x6C
|
|
.byte 0x65, 0x4D, 0x61, 0x70, 0x00, 0x00, 0x00, 0x00
|
|
_02217D98:
|
|
.byte 0x54, 0x61, 0x62, 0x6C, 0x65, 0x4E, 0x65, 0x77
|
|
.byte 0x32, 0x00, 0x00, 0x00
|
|
_02217DA4:
|
|
.byte 0x54, 0x61, 0x62, 0x6C, 0x65, 0x46, 0x72, 0x65, 0x65, 0x00, 0x00, 0x00
|
|
_02217DB0:
|
|
.byte 0x54, 0x61, 0x62, 0x6C, 0x65, 0x45, 0x6E, 0x74, 0x65, 0x72, 0x00, 0x00
|
|
_02217DBC:
|
|
.byte 0x54, 0x61, 0x62, 0x6C
|
|
.byte 0x65, 0x43, 0x6F, 0x75, 0x6E, 0x74, 0x00, 0x00
|
|
_02217DC8:
|
|
.byte 0x54, 0x61, 0x62, 0x6C, 0x65, 0x52, 0x65, 0x6D
|
|
.byte 0x6F, 0x76, 0x65, 0x00
|
|
_02217DD4:
|
|
.byte 0x54, 0x61, 0x62, 0x6C, 0x65, 0x4C, 0x6F, 0x6F, 0x6B, 0x75, 0x70, 0x00
|
|
_02217DE0:
|
|
.byte 0x54, 0x61, 0x62, 0x6C, 0x65, 0x4D, 0x61, 0x70, 0x53, 0x61, 0x66, 0x65, 0x00, 0x00, 0x00, 0x00
|
|
_02217DF0:
|
|
.byte 0x54, 0x61, 0x62, 0x6C, 0x65, 0x4D, 0x61, 0x70, 0x53, 0x61, 0x66, 0x65, 0x32, 0x00, 0x00, 0x00
|
|
_02217E00:
|
|
.byte 0x68, 0x61, 0x73, 0x68, 0x46, 0x6E, 0x00, 0x00
|
|
_02217E08:
|
|
.byte 0x68, 0x61, 0x73, 0x68, 0x74, 0x61, 0x62, 0x6C
|
|
.byte 0x65, 0x2E, 0x63, 0x00
|
|
_02217E14:
|
|
.byte 0x63, 0x6F, 0x6D, 0x70, 0x46, 0x6E, 0x00, 0x00
|
|
_02217E1C:
|
|
.byte 0x65, 0x6C, 0x65, 0x6D
|
|
.byte 0x53, 0x69, 0x7A, 0x65, 0x00, 0x00, 0x00, 0x00
|
|
_02217E28:
|
|
.byte 0x6E, 0x42, 0x75, 0x63, 0x6B, 0x65, 0x74, 0x73
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02217E34:
|
|
.byte 0x74, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x00, 0x00
|
|
_02217E3C:
|
|
.byte 0x74, 0x61, 0x62, 0x6C
|
|
.byte 0x65, 0x2D, 0x3E, 0x62, 0x75, 0x63, 0x6B, 0x65, 0x74, 0x73, 0x00, 0x00
|
|
_02217E4C:
|
|
.byte 0x66, 0x6E, 0x00, 0x00
|
|
_02217E50:
|
|
.byte 0x25, 0x30, 0x32, 0x78, 0x00, 0x00, 0x00, 0x00
|
|
_02217E58:
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
_02217E5C:
|
|
.byte 0x74, 0x69, 0x6D, 0x65
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02217E64:
|
|
.byte 0x63, 0x75, 0x72, 0x72, 0x65, 0x6E, 0x74, 0x5F, 0x74, 0x69, 0x6D, 0x65
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02217E74:
|
|
.byte 0x4F, 0x53, 0x5F, 0x49, 0x73, 0x54, 0x69, 0x63, 0x6B, 0x41, 0x76, 0x61
|
|
.byte 0x69, 0x6C, 0x61, 0x62, 0x6C, 0x65, 0x28, 0x29, 0x20, 0x3D, 0x3D, 0x20, 0x54, 0x52, 0x55, 0x45
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02217E94:
|
|
.byte 0x6E, 0x6F, 0x6E, 0x70, 0x6F, 0x72, 0x74, 0x2E, 0x63, 0x00, 0x00, 0x00
|
|
_02217EA0:
|
|
.byte 0x6C, 0x6F, 0x63, 0x61, 0x6C, 0x68, 0x6F, 0x73, 0x74, 0x00, 0x00, 0x00
|
|
_02217EAC:
|
|
.byte 0x67, 0x70, 0x47, 0x65
|
|
.byte 0x74, 0x42, 0x75, 0x64, 0x64, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x00, 0x00, 0x00, 0x00
|
|
_02217EC0:
|
|
.byte 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x66, 0x75, 0x6E, 0x63, 0x2E, 0x00, 0x00, 0x00
|
|
_02217ED0:
|
|
.byte 0x4E, 0x6F, 0x20, 0x63, 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B, 0x2E, 0x00, 0x00, 0x00, 0x00
|
|
_02217EE0:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02217EE4:
|
|
.byte 0x54, 0x68, 0x65, 0x20, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69
|
|
.byte 0x6F, 0x6E, 0x20, 0x68, 0x61, 0x73, 0x20, 0x61, 0x6C, 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, 0x62
|
|
.byte 0x65, 0x65, 0x6E, 0x20, 0x64, 0x69, 0x73, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x65, 0x64
|
|
.byte 0x2E, 0x00, 0x00, 0x00
|
|
_02217F14:
|
|
.byte 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x72, 0x65, 0x61, 0x73
|
|
.byte 0x6F, 0x6E, 0x2E, 0x00
|
|
_02217F24:
|
|
.byte 0x5C, 0x61, 0x64, 0x64, 0x62, 0x75, 0x64, 0x64, 0x79, 0x5C, 0x00, 0x00
|
|
_02217F30:
|
|
.byte 0x5C, 0x73, 0x65, 0x73, 0x73, 0x6B, 0x65, 0x79, 0x5C, 0x00, 0x00, 0x00
|
|
_02217F3C:
|
|
.byte 0x5C, 0x6E, 0x65, 0x77
|
|
.byte 0x70, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x69, 0x64, 0x5C, 0x00, 0x00
|
|
_02217F4C:
|
|
.byte 0x5C, 0x72, 0x65, 0x61
|
|
.byte 0x73, 0x6F, 0x6E, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_02217F58:
|
|
.byte 0x5C, 0x66, 0x69, 0x6E, 0x61, 0x6C, 0x5C, 0x00
|
|
_02217F60:
|
|
.byte 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2E, 0x00
|
|
_02217F70:
|
|
.byte 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x00, 0x00
|
|
_02217F80:
|
|
.byte 0x62, 0x75, 0x64, 0x64, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x00
|
|
_02217F8C:
|
|
.byte 0x67, 0x70, 0x2E, 0x63
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02217F94:
|
|
.byte 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x74
|
|
.byte 0x75, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x2E, 0x00, 0x00, 0x00
|
|
_02217FAC:
|
|
.byte 0x49, 0x6E, 0x76, 0x61
|
|
.byte 0x6C, 0x69, 0x64, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x53, 0x74, 0x72, 0x69
|
|
.byte 0x6E, 0x67, 0x2E, 0x00
|
|
_02217FC4:
|
|
.byte 0x5C, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_02217FD0:
|
|
.byte 0x5C, 0x73, 0x74, 0x61, 0x74, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_02217FE0:
|
|
.byte 0x5C, 0x6C, 0x6F, 0x63, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x5C, 0x00
|
|
_02217FEC:
|
|
.byte 0x49, 0x6E, 0x76, 0x61
|
|
.byte 0x6C, 0x69, 0x64, 0x20, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2E, 0x00, 0x00, 0x00, 0x00
|
|
_02218000:
|
|
.byte 0x67, 0x70, 0x69, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x00, 0x00
|
|
_0221800C:
|
|
.byte 0x0A, 0x0A, 0x0A, 0x0A
|
|
.byte 0x0A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x0A, 0x67
|
|
.byte 0x70, 0x69, 0x49, 0x6E, 0x69, 0x74, 0x69, 0x61, 0x6C, 0x69, 0x7A, 0x65, 0x0A, 0x00, 0x00, 0x00
|
|
_02218030:
|
|
.byte 0x43, 0x4D, 0x00, 0x00
|
|
_02218034:
|
|
.byte 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6E
|
|
.byte 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6E, 0x67, 0x20, 0x66
|
|
.byte 0x72, 0x6F, 0x6D, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2E, 0x00
|
|
_02218060:
|
|
.byte 0x5C, 0x66, 0x69, 0x6E, 0x61, 0x6C, 0x5C, 0x00
|
|
_02218068:
|
|
.byte 0x43, 0x4D, 0x44, 0x3A, 0x20, 0x25, 0x73, 0x0A
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02218074:
|
|
.byte 0x4F, 0x75, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x6D, 0x65, 0x6D, 0x6F, 0x72
|
|
.byte 0x79, 0x2E, 0x00, 0x00
|
|
_02218084:
|
|
.byte 0x5C, 0x69, 0x64, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_0221808C:
|
|
.byte 0x4E, 0x6F, 0x20, 0x6D
|
|
.byte 0x61, 0x74, 0x63, 0x68, 0x69, 0x6E, 0x67, 0x20, 0x6F, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6F
|
|
.byte 0x6E, 0x20, 0x66, 0x6F, 0x75, 0x6E, 0x64, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x69, 0x64, 0x20, 0x25
|
|
.byte 0x64, 0x0A, 0x00, 0x00
|
|
_022180B4:
|
|
.byte 0x5C, 0x62, 0x6D, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_022180BC:
|
|
.byte 0x5C, 0x6B, 0x61, 0x5C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_022180C4:
|
|
.byte 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x61, 0x6E, 0x20
|
|
.byte 0x75, 0x6E, 0x72, 0x65, 0x63, 0x6F, 0x67, 0x6E, 0x69, 0x7A, 0x65, 0x64, 0x2C, 0x20, 0x75, 0x6E
|
|
.byte 0x73, 0x6F, 0x6C, 0x69, 0x63, 0x69, 0x74, 0x65, 0x64, 0x20, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67
|
|
.byte 0x65, 0x2E, 0x0A, 0x00
|
|
_022180F4:
|
|
.byte 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x68
|
|
.byte 0x61, 0x73, 0x20, 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6F
|
|
.byte 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x2E, 0x00, 0x00, 0x00
|
|
_0221811C:
|
|
.byte 0x28, 0x69, 0x63, 0x6F
|
|
.byte 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x2D, 0x3E, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63
|
|
.byte 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x20, 0x3D, 0x3D, 0x20, 0x47, 0x50, 0x49, 0x5F, 0x4E, 0x4F
|
|
.byte 0x54, 0x5F, 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x43, 0x54, 0x45, 0x44, 0x29, 0x20, 0x7C, 0x7C, 0x20
|
|
.byte 0x28, 0x69, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x2D, 0x3E, 0x63, 0x6F
|
|
.byte 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x20, 0x3D, 0x3D, 0x20, 0x47, 0x50
|
|
.byte 0x49, 0x5F, 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x43, 0x54, 0x49, 0x4E, 0x47, 0x29, 0x20, 0x7C, 0x7C
|
|
.byte 0x20, 0x28, 0x69, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x2D, 0x3E, 0x63
|
|
.byte 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x20, 0x3D, 0x3D, 0x20, 0x47
|
|
.byte 0x50, 0x49, 0x5F, 0x4E, 0x45, 0x47, 0x4F, 0x54, 0x49, 0x41, 0x54, 0x49, 0x4E, 0x47, 0x29, 0x20
|
|
.byte 0x7C, 0x7C, 0x20, 0x28, 0x69, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x2D
|
|
.byte 0x3E, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x20, 0x3D, 0x3D
|
|
.byte 0x20, 0x47, 0x50, 0x49, 0x5F, 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x43, 0x54, 0x45, 0x44, 0x29, 0x20
|
|
.byte 0x7C, 0x7C, 0x20, 0x28, 0x69, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x2D
|
|
.byte 0x3E, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x20, 0x3D, 0x3D
|
|
.byte 0x20, 0x47, 0x50, 0x49, 0x5F, 0x44, 0x49, 0x53, 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x43, 0x54, 0x45
|
|
.byte 0x44, 0x29, 0x00, 0x00
|
|
_02218214:
|
|
.byte 0x67, 0x70, 0x69, 0x2E, 0x63, 0x00, 0x00, 0x00
|
|
_0221821C:
|
|
.byte 0x30, 0x00, 0x00, 0x00
|
|
_02218220:
|
|
.byte 0x67, 0x70, 0x69, 0x44, 0x65, 0x6C, 0x65, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x00, 0x00
|
|
_02218230:
|
|
.byte 0x5C, 0x61, 0x75, 0x74, 0x68, 0x61, 0x64, 0x64, 0x5C, 0x00, 0x00, 0x00
|
|
_0221823C:
|
|
.byte 0x5C, 0x73, 0x65, 0x73
|
|
.byte 0x73, 0x6B, 0x65, 0x79, 0x5C, 0x00, 0x00, 0x00
|
|
_02218248:
|
|
.byte 0x5C, 0x66, 0x72, 0x6F, 0x6D, 0x70, 0x72, 0x6F
|
|
.byte 0x66, 0x69, 0x6C, 0x65, 0x69, 0x64, 0x5C, 0x00
|
|
_02218258:
|
|
.byte 0x5C, 0x73, 0x69, 0x67, 0x5C, 0x00, 0x00, 0x00
|
|
_02218260:
|
|
.byte 0x5C, 0x66, 0x69, 0x6E, 0x61, 0x6C, 0x5C, 0x00
|
|
_02218268:
|
|
.byte 0x5C, 0x62, 0x6D, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_02218270:
|
|
.byte 0x55, 0x6E, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20
|
|
.byte 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6F
|
|
.byte 0x6D, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2E, 0x00, 0x00, 0x00
|
|
_022182A0:
|
|
.byte 0x5C, 0x66, 0x5C, 0x00
|
|
_022182A4:
|
|
.byte 0x5C, 0x64, 0x61, 0x74, 0x65, 0x5C, 0x00, 0x00
|
|
_022182AC:
|
|
.byte 0x4F, 0x75, 0x74, 0x20
|
|
.byte 0x6F, 0x66, 0x20, 0x6D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x2E, 0x00, 0x00
|
|
_022182BC:
|
|
.byte 0x5C, 0x6D, 0x73, 0x67
|
|
.byte 0x5C, 0x00, 0x00, 0x00
|
|
_022182C4:
|
|
.byte 0x7C, 0x73, 0x69, 0x67, 0x6E, 0x65, 0x64, 0x7C, 0x00, 0x00, 0x00, 0x00
|
|
_022182D0:
|
|
.byte 0x7C, 0x73, 0x7C, 0x00
|
|
_022182D4:
|
|
.byte 0x7C, 0x73, 0x73, 0x7C, 0x00, 0x00, 0x00, 0x00
|
|
_022182DC:
|
|
.byte 0x7C, 0x6C, 0x73, 0x7C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_022182E4:
|
|
.byte 0x7C, 0x69, 0x70, 0x7C, 0x00, 0x00, 0x00, 0x00
|
|
_022182EC:
|
|
.byte 0x7C, 0x70, 0x7C, 0x00
|
|
_022182F0:
|
|
.byte 0x7C, 0x6C, 0x7C, 0x00
|
|
_022182F4:
|
|
.byte 0x31, 0x00, 0x00, 0x00
|
|
_022182F8:
|
|
.byte 0x5C, 0x74, 0x5C, 0x00
|
|
_022182FC:
|
|
.byte 0x49, 0x6E, 0x76, 0x61
|
|
.byte 0x6C, 0x69, 0x64, 0x20, 0x70, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x2E, 0x00, 0x00, 0x00, 0x00
|
|
_02218310:
|
|
.byte 0x5C, 0x64, 0x65, 0x6C, 0x62, 0x75, 0x64, 0x64, 0x79, 0x5C, 0x00, 0x00
|
|
_0221831C:
|
|
.byte 0x5C, 0x64, 0x65, 0x6C
|
|
.byte 0x70, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x69, 0x64, 0x5C, 0x00, 0x00
|
|
_0221832C:
|
|
.byte 0x69, 0x6E, 0x64, 0x65
|
|
.byte 0x78, 0x20, 0x3E, 0x3D, 0x20, 0x30, 0x00, 0x00
|
|
_02218338:
|
|
.byte 0x67, 0x70, 0x69, 0x42, 0x75, 0x64, 0x64, 0x79
|
|
.byte 0x2E, 0x63, 0x00, 0x00
|
|
_02218344:
|
|
.byte 0x69, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x2D
|
|
.byte 0x3E, 0x70, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x4C, 0x69, 0x73, 0x74, 0x2E, 0x6E, 0x75, 0x6D
|
|
.byte 0x42, 0x75, 0x64, 0x64, 0x69, 0x65, 0x73, 0x20, 0x3E, 0x3D, 0x20, 0x30, 0x00, 0x00, 0x00, 0x00
|
|
_02218370:
|
|
.byte 0x67, 0x70, 0x69, 0x52, 0x65, 0x63, 0x76, 0x54, 0x6F, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x00
|
|
_02218380:
|
|
.byte 0x67, 0x70, 0x69, 0x53, 0x65, 0x6E, 0x64, 0x46, 0x72, 0x6F, 0x6D, 0x42, 0x75, 0x66, 0x66, 0x65
|
|
.byte 0x72, 0x00, 0x00, 0x00
|
|
_02218394:
|
|
.byte 0x67, 0x70, 0x69, 0x53, 0x65, 0x6E, 0x64, 0x4F, 0x72, 0x42, 0x75, 0x66
|
|
.byte 0x66, 0x65, 0x72, 0x43, 0x68, 0x61, 0x72, 0x00
|
|
_022183A8:
|
|
.byte 0x67, 0x70, 0x69, 0x41, 0x70, 0x70, 0x65, 0x6E
|
|
.byte 0x64, 0x43, 0x68, 0x61, 0x72, 0x54, 0x6F, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x00, 0x00, 0x00
|
|
_022183C0:
|
|
.byte 0x67, 0x70, 0x69, 0x53, 0x65, 0x6E, 0x64, 0x4F, 0x72, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53
|
|
.byte 0x74, 0x72, 0x69, 0x6E, 0x67, 0x4C, 0x65, 0x6E, 0x00, 0x00, 0x00, 0x00
|
|
_022183DC:
|
|
.byte 0x67, 0x70, 0x69, 0x41
|
|
.byte 0x70, 0x70, 0x65, 0x6E, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x54, 0x6F, 0x42, 0x75, 0x66
|
|
.byte 0x66, 0x65, 0x72, 0x4C, 0x65, 0x6E, 0x00, 0x00
|
|
_022183F8:
|
|
.byte 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x75
|
|
.byte 0x66, 0x66, 0x65, 0x72, 0x20, 0x21, 0x3D, 0x20, 0x4E, 0x55, 0x4C, 0x4C, 0x00, 0x00, 0x00, 0x00
|
|
_02218410:
|
|
.byte 0x67, 0x70, 0x69, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2E, 0x63, 0x00
|
|
_0221841C:
|
|
.byte 0x4F, 0x75, 0x74, 0x20
|
|
.byte 0x6F, 0x66, 0x20, 0x6D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x2E, 0x00, 0x00
|
|
_0221842C:
|
|
.byte 0x73, 0x74, 0x72, 0x69
|
|
.byte 0x6E, 0x67, 0x20, 0x21, 0x3D, 0x20, 0x4E, 0x55, 0x4C, 0x4C, 0x00, 0x00
|
|
_0221843C:
|
|
.byte 0x73, 0x74, 0x72, 0x69
|
|
.byte 0x6E, 0x67, 0x4C, 0x65, 0x6E, 0x20, 0x3E, 0x3D, 0x20, 0x30, 0x00, 0x00
|
|
_0221844C:
|
|
.byte 0x25, 0x64, 0x00, 0x00
|
|
_02218450:
|
|
.byte 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6E, 0x20, 0x65, 0x72, 0x72
|
|
.byte 0x6F, 0x72, 0x20, 0x73, 0x65, 0x6E, 0x64, 0x69, 0x6E, 0x67, 0x20, 0x6F, 0x6E, 0x20, 0x61, 0x20
|
|
.byte 0x73, 0x6F, 0x63, 0x6B, 0x65, 0x74, 0x2E, 0x00
|
|
_02218478:
|
|
.byte 0x53, 0x45, 0x4E, 0x44, 0x58, 0x58, 0x58, 0x58
|
|
.byte 0x28, 0x25, 0x73, 0x29, 0x3A, 0x20, 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E
|
|
.byte 0x20, 0x63, 0x6C, 0x6F, 0x73, 0x65, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00
|
|
_0221849C:
|
|
.byte 0x70, 0x65, 0x65, 0x72
|
|
.byte 0x2D, 0x3E, 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2E, 0x62
|
|
.byte 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x21, 0x3D, 0x20, 0x4E, 0x55, 0x4C, 0x4C, 0x00, 0x00, 0x00
|
|
_022184C0:
|
|
.byte 0x50, 0x54, 0x00, 0x00
|
|
_022184C4:
|
|
.byte 0x73, 0x6F, 0x63, 0x6B, 0x20, 0x21, 0x3D, 0x20, 0x49, 0x4E, 0x56, 0x41
|
|
.byte 0x4C, 0x49, 0x44, 0x5F, 0x53, 0x4F, 0x43, 0x4B, 0x45, 0x54, 0x00, 0x00
|
|
_022184DC:
|
|
.byte 0x69, 0x6E, 0x70, 0x75
|
|
.byte 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x21, 0x3D, 0x20, 0x4E, 0x55, 0x4C, 0x4C, 0x00
|
|
_022184F0:
|
|
.byte 0x62, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x20, 0x21, 0x3D, 0x20, 0x4E, 0x55, 0x4C
|
|
.byte 0x4C, 0x00, 0x00, 0x00
|
|
_02218504:
|
|
.byte 0x63, 0x6F, 0x6E, 0x6E, 0x43, 0x6C, 0x6F, 0x73, 0x65, 0x64, 0x20, 0x21
|
|
.byte 0x3D, 0x20, 0x4E, 0x55, 0x4C, 0x4C, 0x00, 0x00
|
|
_02218518:
|
|
.byte 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61
|
|
.byte 0x73, 0x20, 0x61, 0x6E, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x72, 0x65, 0x61, 0x64, 0x69
|
|
.byte 0x6E, 0x67, 0x20, 0x66, 0x72, 0x6F, 0x6D, 0x20, 0x61, 0x20, 0x73, 0x6F, 0x63, 0x6B, 0x65, 0x74
|
|
.byte 0x2E, 0x00, 0x00, 0x00
|
|
_02218544:
|
|
.byte 0x52, 0x45, 0x43, 0x56, 0x58, 0x58, 0x58, 0x58, 0x28, 0x25, 0x73, 0x29
|
|
.byte 0x3A, 0x20, 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x63, 0x6C, 0x6F
|
|
.byte 0x73, 0x65, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00
|
|
_02218568:
|
|
.byte 0x52, 0x45, 0x43, 0x56, 0x54, 0x4F, 0x54, 0x4C
|
|
.byte 0x28, 0x25, 0x73, 0x29, 0x3A, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00
|
|
_0221857C:
|
|
.byte 0x6C, 0x65, 0x6E, 0x20
|
|
.byte 0x3E, 0x3D, 0x20, 0x30, 0x00, 0x00, 0x00, 0x00
|
|
_02218588:
|
|
.byte 0x70, 0x6F, 0x73, 0x20, 0x3E, 0x3D, 0x20, 0x30
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02218594:
|
|
.byte 0x70, 0x6F, 0x73, 0x20, 0x3C, 0x3D, 0x20, 0x6C, 0x65, 0x6E, 0x00, 0x00
|
|
_022185A0:
|
|
.byte 0x5C, 0x6D, 0x73, 0x67, 0x5C, 0x00, 0x00, 0x00
|
|
_022185A8:
|
|
.byte 0x5C, 0x6D, 0x5C, 0x00
|
|
_022185AC:
|
|
.byte 0x5C, 0x6C, 0x65, 0x6E
|
|
.byte 0x5C, 0x00, 0x00, 0x00
|
|
_022185B4:
|
|
.byte 0x67, 0x70, 0x69, 0x43, 0x61, 0x6C, 0x6C, 0x43, 0x61, 0x6C, 0x6C, 0x62
|
|
.byte 0x61, 0x63, 0x6B, 0x00
|
|
_022185C4:
|
|
.byte 0x67, 0x70, 0x69, 0x43, 0x61, 0x6C, 0x6C, 0x45, 0x72, 0x72, 0x6F, 0x72
|
|
.byte 0x43, 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B, 0x00, 0x00, 0x00, 0x00
|
|
_022185DC:
|
|
.byte 0x69, 0x63, 0x6F, 0x6E
|
|
.byte 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x21, 0x3D, 0x20, 0x4E, 0x55, 0x4C, 0x4C, 0x00
|
|
_022185F0:
|
|
.byte 0x67, 0x70, 0x69, 0x43, 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B, 0x2E, 0x63, 0x00, 0x00, 0x00
|
|
_02218600:
|
|
.byte 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x20, 0x21, 0x3D, 0x20, 0x47, 0x50, 0x5F, 0x4E, 0x4F, 0x5F
|
|
.byte 0x45, 0x52, 0x52, 0x4F, 0x52, 0x00, 0x00, 0x00
|
|
_02218618:
|
|
.byte 0x28, 0x66, 0x61, 0x74, 0x61, 0x6C, 0x20, 0x3D
|
|
.byte 0x3D, 0x20, 0x47, 0x50, 0x5F, 0x46, 0x41, 0x54, 0x41, 0x4C, 0x29, 0x20, 0x7C, 0x7C, 0x20, 0x28
|
|
.byte 0x66, 0x61, 0x74, 0x61, 0x6C, 0x20, 0x3D, 0x3D, 0x20, 0x47, 0x50, 0x5F, 0x4E, 0x4F, 0x4E, 0x5F
|
|
.byte 0x46, 0x41, 0x54, 0x41, 0x4C, 0x29, 0x00, 0x00
|
|
_02218648:
|
|
.byte 0x4F, 0x75, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x6D
|
|
.byte 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x2E, 0x00, 0x00
|
|
_02218658:
|
|
.byte 0x64, 0x61, 0x74, 0x61, 0x2D, 0x3E, 0x63, 0x61
|
|
.byte 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B, 0x2E, 0x63, 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B, 0x20
|
|
.byte 0x21, 0x3D, 0x20, 0x4E, 0x55, 0x4C, 0x4C, 0x00
|
|
_02218678:
|
|
.byte 0x64, 0x61, 0x74, 0x61, 0x2D, 0x3E, 0x61, 0x72
|
|
.byte 0x67, 0x20, 0x21, 0x3D, 0x20, 0x4E, 0x55, 0x4C, 0x4C, 0x00, 0x00, 0x00
|
|
_0221868C:
|
|
.byte 0x67, 0x70, 0x69, 0x53
|
|
.byte 0x74, 0x61, 0x72, 0x74, 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x00
|
|
_0221869C:
|
|
.byte 0x67, 0x70, 0x69, 0x43
|
|
.byte 0x68, 0x65, 0x63, 0x6B, 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x00
|
|
_022186AC:
|
|
.byte 0x67, 0x70, 0x63, 0x6D
|
|
.byte 0x2E, 0x67, 0x73, 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66, 0x69
|
|
.byte 0x2E, 0x6E, 0x65, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
_022186EC:
|
|
.byte 0x41, 0x42, 0x43, 0x44
|
|
.byte 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54
|
|
.byte 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A
|
|
.byte 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A
|
|
.byte 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x00, 0x00
|
|
_0221872C:
|
|
.byte 0x54, 0x68, 0x65, 0x72
|
|
.byte 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6E, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x63
|
|
.byte 0x72, 0x65, 0x61, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x61, 0x20, 0x73, 0x6F, 0x63, 0x6B, 0x65, 0x74
|
|
.byte 0x2E, 0x00, 0x00, 0x00
|
|
_02218754:
|
|
.byte 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6E
|
|
.byte 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x6D, 0x61, 0x6B, 0x69, 0x6E, 0x67, 0x20, 0x61, 0x20
|
|
.byte 0x73, 0x6F, 0x63, 0x6B, 0x65, 0x74, 0x20, 0x6E, 0x6F, 0x6E, 0x2D, 0x62, 0x6C, 0x6F, 0x63, 0x6B
|
|
.byte 0x69, 0x6E, 0x67, 0x2E, 0x00, 0x00, 0x00, 0x00
|
|
_02218788:
|
|
.byte 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61
|
|
.byte 0x73, 0x20, 0x61, 0x6E, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x62, 0x69, 0x6E, 0x64, 0x69
|
|
.byte 0x6E, 0x67, 0x20, 0x61, 0x20, 0x73, 0x6F, 0x63, 0x6B, 0x65, 0x74, 0x2E, 0x00, 0x00, 0x00, 0x00
|
|
_022187B0:
|
|
.byte 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6E, 0x20, 0x65, 0x72, 0x72
|
|
.byte 0x6F, 0x72, 0x20, 0x6C, 0x69, 0x73, 0x74, 0x65, 0x6E, 0x69, 0x6E, 0x67, 0x20, 0x6F, 0x6E, 0x20
|
|
.byte 0x61, 0x20, 0x73, 0x6F, 0x63, 0x6B, 0x65, 0x74, 0x2E, 0x00, 0x00, 0x00
|
|
_022187DC:
|
|
.byte 0x54, 0x68, 0x65, 0x72
|
|
.byte 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6E, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x67
|
|
.byte 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x61, 0x20, 0x73, 0x6F, 0x63, 0x6B, 0x65, 0x74, 0x27
|
|
.byte 0x73, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x2E, 0x00, 0x00, 0x00
|
|
_0221880C:
|
|
.byte 0x43, 0x6F, 0x75, 0x6C
|
|
.byte 0x64, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6F, 0x6C, 0x76, 0x65, 0x20, 0x63, 0x6F
|
|
.byte 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x6D, 0x61, 0x6E, 0x61, 0x6E, 0x67, 0x65
|
|
.byte 0x72, 0x20, 0x68, 0x6F, 0x73, 0x74, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x2E, 0x00, 0x00, 0x00, 0x00
|
|
_02218840:
|
|
.byte 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2E, 0x73, 0x69, 0x6E, 0x5F, 0x61, 0x64, 0x64, 0x72
|
|
.byte 0x2E, 0x73, 0x5F, 0x61, 0x64, 0x64, 0x72, 0x20, 0x21, 0x3D, 0x20, 0x30, 0x00, 0x00, 0x00, 0x00
|
|
_02218860:
|
|
.byte 0x67, 0x70, 0x69, 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x2E, 0x63, 0x00, 0x00, 0x00, 0x00
|
|
_02218870:
|
|
.byte 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6E, 0x20, 0x65, 0x72, 0x72
|
|
.byte 0x6F, 0x72, 0x20, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x61, 0x20
|
|
.byte 0x73, 0x6F, 0x63, 0x6B, 0x65, 0x74, 0x2E, 0x00
|
|
_02218898:
|
|
.byte 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20
|
|
.byte 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x2E, 0x00
|
|
_022188AC:
|
|
.byte 0x49, 0x6E, 0x76, 0x61
|
|
.byte 0x6C, 0x69, 0x64, 0x20, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6C, 0x6C, 0x2E, 0x00, 0x00, 0x00
|
|
_022188C0:
|
|
.byte 0x4F, 0x75, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x6D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x2E, 0x00, 0x00
|
|
_022188D0:
|
|
.byte 0x25, 0x73, 0x40, 0x25, 0x73, 0x00, 0x00, 0x00
|
|
_022188D8:
|
|
.byte 0x25, 0x73, 0x25, 0x73, 0x25, 0x73, 0x25, 0x73
|
|
.byte 0x25, 0x73, 0x25, 0x73, 0x00, 0x00, 0x00, 0x00
|
|
_022188E8:
|
|
.byte 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20
|
|
.byte 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20
|
|
.byte 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20
|
|
.byte 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00
|
|
_0221891C:
|
|
.byte 0x5C, 0x6C, 0x6F, 0x67
|
|
.byte 0x69, 0x6E, 0x5C, 0x00
|
|
_02218924:
|
|
.byte 0x5C, 0x63, 0x68, 0x61, 0x6C, 0x6C, 0x65, 0x6E, 0x67, 0x65, 0x5C, 0x00
|
|
_02218930:
|
|
.byte 0x5C, 0x61, 0x75, 0x74, 0x68, 0x74, 0x6F, 0x6B, 0x65, 0x6E, 0x5C, 0x00
|
|
_0221893C:
|
|
.byte 0x5C, 0x75, 0x6E, 0x69
|
|
.byte 0x71, 0x75, 0x65, 0x6E, 0x69, 0x63, 0x6B, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_0221894C:
|
|
.byte 0x5C, 0x75, 0x73, 0x65
|
|
.byte 0x72, 0x5C, 0x00, 0x00
|
|
_02218954:
|
|
.byte 0x40, 0x00, 0x00, 0x00
|
|
_02218958:
|
|
.byte 0x5C, 0x75, 0x73, 0x65, 0x72, 0x69, 0x64, 0x5C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02218964:
|
|
.byte 0x5C, 0x70, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x69, 0x64, 0x5C, 0x00
|
|
_02218970:
|
|
.byte 0x5C, 0x72, 0x65, 0x73, 0x70, 0x6F, 0x6E, 0x73, 0x65, 0x5C, 0x00, 0x00
|
|
_0221897C:
|
|
.byte 0x5C, 0x66, 0x69, 0x72
|
|
.byte 0x65, 0x77, 0x61, 0x6C, 0x6C, 0x5C, 0x31, 0x00
|
|
_02218988:
|
|
.byte 0x5C, 0x70, 0x6F, 0x72, 0x74, 0x5C, 0x00, 0x00
|
|
_02218990:
|
|
.byte 0x5C, 0x70, 0x72, 0x6F, 0x64, 0x75, 0x63, 0x74, 0x69, 0x64, 0x5C, 0x00
|
|
_0221899C:
|
|
.byte 0x5C, 0x67, 0x61, 0x6D
|
|
.byte 0x65, 0x6E, 0x61, 0x6D, 0x65, 0x5C, 0x00, 0x00
|
|
_022189A8:
|
|
.byte 0x5C, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x70, 0x61
|
|
.byte 0x63, 0x65, 0x69, 0x64, 0x5C, 0x00, 0x00, 0x00
|
|
_022189B8:
|
|
.byte 0x5C, 0x69, 0x64, 0x5C, 0x31, 0x00, 0x00, 0x00
|
|
_022189C0:
|
|
.byte 0x5C, 0x66, 0x69, 0x6E, 0x61, 0x6C, 0x5C, 0x00
|
|
_022189C8:
|
|
.byte 0x5C, 0x6E, 0x65, 0x77, 0x75, 0x73, 0x65, 0x72
|
|
.byte 0x5C, 0x00, 0x00, 0x00
|
|
_022189D4:
|
|
.byte 0x5C, 0x65, 0x6D, 0x61, 0x69, 0x6C, 0x5C, 0x00
|
|
_022189DC:
|
|
.byte 0x5C, 0x6E, 0x69, 0x63
|
|
.byte 0x6B, 0x5C, 0x00, 0x00
|
|
_022189E4:
|
|
.byte 0x5C, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6F, 0x72, 0x64, 0x65, 0x6E, 0x63
|
|
.byte 0x5C, 0x00, 0x00, 0x00
|
|
_022189F4:
|
|
.byte 0x5C, 0x63, 0x64, 0x6B, 0x65, 0x79, 0x65, 0x6E, 0x63, 0x5C, 0x00, 0x00
|
|
_02218A00:
|
|
.byte 0x5C, 0x70, 0x69, 0x64, 0x5C, 0x00, 0x00, 0x00
|
|
_02218A08:
|
|
.byte 0x5C, 0x66, 0x61, 0x74, 0x61, 0x6C, 0x5C, 0x00
|
|
_02218A10:
|
|
.byte 0x5C, 0x6C, 0x63, 0x5C, 0x31, 0x00, 0x00, 0x00
|
|
_02218A18:
|
|
.byte 0x55, 0x6E, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74
|
|
.byte 0x65, 0x64, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x63, 0x65
|
|
.byte 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6F, 0x6D, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65
|
|
.byte 0x72, 0x76, 0x65, 0x72, 0x2E, 0x00, 0x00, 0x00
|
|
_02218A48:
|
|
.byte 0x5C, 0x6E, 0x75, 0x72, 0x5C, 0x00, 0x00, 0x00
|
|
_02218A50:
|
|
.byte 0x55, 0x6E, 0x65, 0x78, 0x65, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x64, 0x61, 0x74, 0x61
|
|
.byte 0x20, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72
|
|
.byte 0x6F, 0x6D, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2E, 0x00, 0x00
|
|
_02218A80:
|
|
.byte 0x5C, 0x6C, 0x63, 0x5C, 0x32, 0x00, 0x00, 0x00
|
|
_02218A88:
|
|
.byte 0x5C, 0x73, 0x65, 0x73, 0x73, 0x6B, 0x65, 0x79
|
|
.byte 0x5C, 0x00, 0x00, 0x00
|
|
_02218A94:
|
|
.byte 0x5C, 0x6C, 0x74, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_02218A9C:
|
|
.byte 0x5C, 0x70, 0x72, 0x6F
|
|
.byte 0x6F, 0x66, 0x5C, 0x00
|
|
_02218AA4:
|
|
.byte 0x43, 0x6F, 0x75, 0x6C, 0x64, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x61, 0x75
|
|
.byte 0x74, 0x68, 0x65, 0x6E, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65
|
|
.byte 0x72, 0x2E, 0x00, 0x00
|
|
_02218AC4:
|
|
.byte 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x68
|
|
.byte 0x61, 0x73, 0x20, 0x72, 0x65, 0x66, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63
|
|
.byte 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x2E, 0x00, 0x00
|
|
_02218AEC:
|
|
.byte 0x73, 0x74, 0x61, 0x74
|
|
.byte 0x65, 0x20, 0x3D, 0x3D, 0x20, 0x47, 0x50, 0x49, 0x5F, 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x43, 0x54
|
|
.byte 0x45, 0x44, 0x00, 0x00
|
|
_02218B04:
|
|
.byte 0x5C, 0x6C, 0x6F, 0x67, 0x6F, 0x75, 0x74, 0x5C, 0x5C, 0x73, 0x65, 0x73
|
|
.byte 0x73, 0x6B, 0x65, 0x79, 0x5C, 0x00, 0x00, 0x00
|
|
_02218B18:
|
|
.byte 0x43, 0x4D, 0x00, 0x00
|
|
_02218B1C:
|
|
.byte 0x67, 0x70, 0x69, 0x49
|
|
.byte 0x6E, 0x74, 0x54, 0x6F, 0x44, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x00
|
|
_02218B2C:
|
|
.byte 0x67, 0x70, 0x69, 0x50
|
|
.byte 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x47, 0x65, 0x74, 0x49, 0x6E, 0x66, 0x6F, 0x00, 0x00, 0x00
|
|
_02218B40:
|
|
.byte 0x67, 0x70, 0x69, 0x49, 0x6E, 0x66, 0x6F, 0x2E, 0x63, 0x00, 0x00, 0x00
|
|
_02218B4C:
|
|
.byte 0x49, 0x6E, 0x76, 0x61
|
|
.byte 0x6C, 0x69, 0x64, 0x20, 0x64, 0x61, 0x74, 0x65, 0x2E, 0x00, 0x00, 0x00
|
|
_02218B5C:
|
|
.byte 0x67, 0x70, 0x69, 0x49
|
|
.byte 0x73, 0x56, 0x61, 0x6C, 0x69, 0x64, 0x44, 0x61, 0x74, 0x65, 0x28, 0x64, 0x2C, 0x20, 0x6D, 0x2C
|
|
.byte 0x20, 0x79, 0x29, 0x00
|
|
_02218B74:
|
|
.byte 0x5C, 0x70, 0x69, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_02218B7C:
|
|
.byte 0x55, 0x6E, 0x65, 0x78
|
|
.byte 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x77, 0x61, 0x73, 0x20
|
|
.byte 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6F, 0x6D, 0x20, 0x74, 0x68
|
|
.byte 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2E, 0x00, 0x00, 0x00
|
|
_02218BAC:
|
|
.byte 0x5C, 0x70, 0x72, 0x6F
|
|
.byte 0x66, 0x69, 0x6C, 0x65, 0x69, 0x64, 0x5C, 0x00
|
|
_02218BB8:
|
|
.byte 0x70, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x69
|
|
.byte 0x64, 0x20, 0x3E, 0x20, 0x30, 0x00, 0x00, 0x00
|
|
_02218BC8:
|
|
.byte 0x5C, 0x6E, 0x69, 0x63, 0x6B, 0x5C, 0x00, 0x00
|
|
_02218BD0:
|
|
.byte 0x5C, 0x75, 0x6E, 0x69, 0x71, 0x75, 0x65, 0x6E, 0x69, 0x63, 0x6B, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_02218BE0:
|
|
.byte 0x5C, 0x65, 0x6D, 0x61, 0x69, 0x6C, 0x5C, 0x00
|
|
_02218BE8:
|
|
.byte 0x5C, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6E, 0x61
|
|
.byte 0x6D, 0x65, 0x5C, 0x00
|
|
_02218BF4:
|
|
.byte 0x5C, 0x6C, 0x61, 0x73, 0x74, 0x6E, 0x61, 0x6D, 0x65, 0x5C, 0x00, 0x00
|
|
_02218C00:
|
|
.byte 0x5C, 0x69, 0x63, 0x71, 0x75, 0x69, 0x6E, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_02218C0C:
|
|
.byte 0x5C, 0x68, 0x6F, 0x6D
|
|
.byte 0x65, 0x70, 0x61, 0x67, 0x65, 0x5C, 0x00, 0x00
|
|
_02218C18:
|
|
.byte 0x5C, 0x7A, 0x69, 0x70, 0x63, 0x6F, 0x64, 0x65
|
|
.byte 0x5C, 0x00, 0x00, 0x00
|
|
_02218C24:
|
|
.byte 0x5C, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x72, 0x79, 0x63, 0x6F, 0x64, 0x65
|
|
.byte 0x5C, 0x00, 0x00, 0x00
|
|
_02218C34:
|
|
.byte 0x5C, 0x6C, 0x6F, 0x6E, 0x5C, 0x00, 0x00, 0x00
|
|
_02218C3C:
|
|
.byte 0x5C, 0x6C, 0x61, 0x74
|
|
.byte 0x5C, 0x00, 0x00, 0x00
|
|
_02218C44:
|
|
.byte 0x5C, 0x6C, 0x6F, 0x63, 0x5C, 0x00, 0x00, 0x00
|
|
_02218C4C:
|
|
.byte 0x5C, 0x62, 0x69, 0x72
|
|
.byte 0x74, 0x68, 0x64, 0x61, 0x79, 0x5C, 0x00, 0x00
|
|
_02218C58:
|
|
.byte 0x5C, 0x73, 0x65, 0x78, 0x5C, 0x00, 0x00, 0x00
|
|
_02218C60:
|
|
.byte 0x5C, 0x70, 0x6D, 0x61, 0x73, 0x6B, 0x5C, 0x00
|
|
_02218C68:
|
|
.byte 0x5C, 0x61, 0x69, 0x6D, 0x5C, 0x00, 0x00, 0x00
|
|
_02218C70:
|
|
.byte 0x5C, 0x70, 0x69, 0x63, 0x5C, 0x00, 0x00, 0x00
|
|
_02218C78:
|
|
.byte 0x5C, 0x6F, 0x63, 0x63, 0x5C, 0x00, 0x00, 0x00
|
|
_02218C80:
|
|
.byte 0x5C, 0x69, 0x6E, 0x64, 0x5C, 0x00, 0x00, 0x00
|
|
_02218C88:
|
|
.byte 0x5C, 0x69, 0x6E, 0x63, 0x5C, 0x00, 0x00, 0x00
|
|
_02218C90:
|
|
.byte 0x5C, 0x6D, 0x61, 0x72, 0x5C, 0x00, 0x00, 0x00
|
|
_02218C98:
|
|
.byte 0x5C, 0x63, 0x68, 0x63, 0x5C, 0x00, 0x00, 0x00
|
|
_02218CA0:
|
|
.byte 0x5C, 0x69, 0x31, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_02218CA8:
|
|
.byte 0x5C, 0x6F, 0x31, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_02218CB0:
|
|
.byte 0x5C, 0x63, 0x6F, 0x6E, 0x6E, 0x5C, 0x00, 0x00
|
|
_02218CB8:
|
|
.byte 0x5C, 0x73, 0x69, 0x67, 0x5C, 0x00, 0x00, 0x00
|
|
_02218CC0:
|
|
.byte 0x4F, 0x75, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x6D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x2E, 0x00, 0x00
|
|
_02218CD0:
|
|
.byte 0x5C, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x70, 0x72, 0x6F, 0x5C, 0x5C, 0x73, 0x65, 0x73, 0x73
|
|
.byte 0x6B, 0x65, 0x79, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_02218CE8:
|
|
.byte 0x5C, 0x66, 0x69, 0x6E, 0x61, 0x6C, 0x5C, 0x00
|
|
_02218CF0:
|
|
.byte 0x5C, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x75, 0x69, 0x5C, 0x5C, 0x73, 0x65, 0x73, 0x73, 0x6B
|
|
.byte 0x65, 0x79, 0x5C, 0x00
|
|
_02218D04:
|
|
.byte 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x7A, 0x69, 0x70, 0x63
|
|
.byte 0x6F, 0x64, 0x65, 0x2E, 0x00, 0x00, 0x00, 0x00
|
|
_02218D18:
|
|
.byte 0x25, 0x64, 0x00, 0x00
|
|
_02218D1C:
|
|
.byte 0x30, 0x00, 0x00, 0x00
|
|
_02218D20:
|
|
.byte 0x31, 0x00, 0x00, 0x00
|
|
_02218D24:
|
|
.byte 0x32, 0x00, 0x00, 0x00
|
|
_02218D28:
|
|
.byte 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20
|
|
.byte 0x73, 0x65, 0x78, 0x2E, 0x00, 0x00, 0x00, 0x00
|
|
_02218D38:
|
|
.byte 0x5C, 0x63, 0x70, 0x75, 0x62, 0x72, 0x61, 0x6E
|
|
.byte 0x64, 0x69, 0x64, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_02218D48:
|
|
.byte 0x5C, 0x63, 0x70, 0x75, 0x73, 0x70, 0x65, 0x65
|
|
.byte 0x64, 0x5C, 0x00, 0x00
|
|
_02218D54:
|
|
.byte 0x5C, 0x6D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_02218D60:
|
|
.byte 0x5C, 0x76, 0x69, 0x64, 0x65, 0x6F, 0x63, 0x61, 0x72, 0x64, 0x31, 0x72, 0x61, 0x6D, 0x5C, 0x00
|
|
_02218D70:
|
|
.byte 0x5C, 0x76, 0x69, 0x64, 0x65, 0x6F, 0x63, 0x61, 0x72, 0x64, 0x32, 0x72, 0x61, 0x6D, 0x5C, 0x00
|
|
_02218D80:
|
|
.byte 0x5C, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x69, 0x64, 0x5C, 0x00, 0x00
|
|
_02218D90:
|
|
.byte 0x5C, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x70, 0x65, 0x65, 0x64
|
|
.byte 0x5C, 0x00, 0x00, 0x00
|
|
_02218DA4:
|
|
.byte 0x5C, 0x68, 0x61, 0x73, 0x6E, 0x65, 0x74, 0x77, 0x6F, 0x72, 0x6B, 0x5C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02218DB4:
|
|
.byte 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x69, 0x6E, 0x66, 0x6F
|
|
.byte 0x2E, 0x00, 0x00, 0x00
|
|
_02218DC4:
|
|
.byte 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x76, 0x61, 0x6C, 0x75
|
|
.byte 0x65, 0x2E, 0x00, 0x00
|
|
_02218DD4:
|
|
.byte 0x5C, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6F, 0x72, 0x64, 0x5C, 0x00, 0x00
|
|
_02218DE0:
|
|
.byte 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x72, 0x79, 0x63
|
|
.byte 0x6F, 0x64, 0x65, 0x2E, 0x00, 0x00, 0x00, 0x00
|
|
_02218DF8:
|
|
.byte 0x5C, 0x76, 0x69, 0x64, 0x65, 0x6F, 0x63, 0x61
|
|
.byte 0x72, 0x64, 0x31, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x5C, 0x00, 0x00
|
|
_02218E0C:
|
|
.byte 0x5C, 0x76, 0x69, 0x64
|
|
.byte 0x65, 0x6F, 0x63, 0x61, 0x72, 0x64, 0x32, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x5C, 0x00, 0x00
|
|
_02218E20:
|
|
.byte 0x5C, 0x6F, 0x73, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x5C, 0x00, 0x00
|
|
_02218E2C:
|
|
.byte 0x5C, 0x67, 0x65, 0x74
|
|
.byte 0x70, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x5C, 0x5C, 0x73, 0x65, 0x73, 0x73, 0x6B, 0x65, 0x79
|
|
.byte 0x5C, 0x00, 0x00, 0x00
|
|
_02218E44:
|
|
.byte 0x5C, 0x69, 0x64, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_02218E4C:
|
|
.byte 0x67, 0x70, 0x69, 0x44
|
|
.byte 0x65, 0x73, 0x74, 0x72, 0x6F, 0x79, 0x4F, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x00
|
|
_02218E60:
|
|
.byte 0x67, 0x70, 0x69, 0x46, 0x61, 0x69, 0x6C, 0x65, 0x64, 0x4F, 0x70, 0x43, 0x61, 0x6C, 0x6C, 0x62
|
|
.byte 0x61, 0x63, 0x6B, 0x00
|
|
_02218E74:
|
|
.byte 0x67, 0x70, 0x69, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x4F, 0x70
|
|
.byte 0x65, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x00
|
|
_02218E88:
|
|
.byte 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69
|
|
.byte 0x6F, 0x6E, 0x20, 0x21, 0x3D, 0x20, 0x4E, 0x55, 0x4C, 0x4C, 0x00, 0x00
|
|
_02218E9C:
|
|
.byte 0x67, 0x70, 0x69, 0x4F
|
|
.byte 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2E, 0x63, 0x00, 0x00
|
|
_02218EAC:
|
|
.byte 0x2A, 0x63, 0x6F, 0x6E
|
|
.byte 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x21, 0x3D, 0x20, 0x4E, 0x55, 0x4C, 0x4C, 0x00
|
|
_02218EC0:
|
|
.byte 0x6F, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x21, 0x3D, 0x20, 0x4E, 0x55, 0x4C
|
|
.byte 0x4C, 0x00, 0x00, 0x00
|
|
_02218ED4:
|
|
.byte 0x4F, 0x75, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x6D, 0x65, 0x6D, 0x6F, 0x72
|
|
.byte 0x79, 0x2E, 0x00, 0x00
|
|
_02218EE4:
|
|
.byte 0x30, 0x00, 0x00, 0x00
|
|
_02218EE8:
|
|
.byte 0x69, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74
|
|
.byte 0x69, 0x6F, 0x6E, 0x2D, 0x3E, 0x6E, 0x75, 0x6D, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73
|
|
.byte 0x20, 0x3E, 0x3D, 0x20, 0x30, 0x00, 0x00, 0x00
|
|
_02218F08:
|
|
.byte 0x67, 0x70, 0x69, 0x50, 0x72, 0x6F, 0x63, 0x65
|
|
.byte 0x73, 0x73, 0x4F, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x77, 0x61, 0x73, 0x20
|
|
.byte 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x20, 0x61, 0x6E, 0x20, 0x6F, 0x70, 0x65, 0x72, 0x61, 0x74
|
|
.byte 0x69, 0x6F, 0x6E, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6E, 0x20, 0x69, 0x6E, 0x76, 0x61
|
|
.byte 0x6C, 0x69, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x28, 0x25, 0x64, 0x29, 0x0A, 0x00, 0x00
|
|
_02218F50:
|
|
.byte 0x67, 0x70, 0x69, 0x52, 0x65, 0x6D, 0x6F, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x00, 0x00, 0x00
|
|
_02218F60:
|
|
.byte 0x67, 0x70, 0x69, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x50, 0x65, 0x65, 0x72, 0x00, 0x00
|
|
_02218F70:
|
|
.byte 0x67, 0x70, 0x69, 0x50, 0x65, 0x65, 0x72, 0x41, 0x64, 0x64, 0x4D, 0x65, 0x73, 0x73, 0x61, 0x67
|
|
.byte 0x65, 0x00, 0x00, 0x00
|
|
_02218F84:
|
|
.byte 0x67, 0x70, 0x69, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74
|
|
.byte 0x54, 0x72, 0x61, 0x6E, 0x73, 0x66, 0x65, 0x72, 0x4D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x00
|
|
_02218FA0:
|
|
.byte 0x67, 0x70, 0x69, 0x50, 0x65, 0x65, 0x72, 0x46, 0x69, 0x6E, 0x69, 0x73, 0x68, 0x54, 0x72, 0x61
|
|
.byte 0x6E, 0x73, 0x66, 0x65, 0x72, 0x4D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x00, 0x00, 0x00, 0x00
|
|
_02218FC0:
|
|
.byte 0x67, 0x70, 0x69, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x50, 0x65, 0x65, 0x72, 0x41, 0x63
|
|
.byte 0x63, 0x65, 0x70, 0x74, 0x69, 0x6E, 0x67, 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F
|
|
.byte 0x6E, 0x00, 0x00, 0x00
|
|
_02218FE4:
|
|
.byte 0x67, 0x70, 0x69, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x50, 0x65
|
|
.byte 0x65, 0x72, 0x49, 0x6E, 0x69, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6E, 0x67, 0x43, 0x6F, 0x6E, 0x6E
|
|
.byte 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00
|
|
_02219008:
|
|
.byte 0x45, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x63, 0x6F
|
|
.byte 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x74, 0x6F, 0x20, 0x61, 0x20, 0x70, 0x65
|
|
.byte 0x65, 0x72, 0x2E, 0x00
|
|
_02219024:
|
|
.byte 0x5C, 0x61, 0x75, 0x74, 0x68, 0x5C, 0x00, 0x00
|
|
_0221902C:
|
|
.byte 0x5C, 0x70, 0x69, 0x64
|
|
.byte 0x5C, 0x00, 0x00, 0x00
|
|
_02219034:
|
|
.byte 0x5C, 0x6E, 0x69, 0x63, 0x6B, 0x5C, 0x00, 0x00
|
|
_0221903C:
|
|
.byte 0x5C, 0x73, 0x69, 0x67
|
|
.byte 0x5C, 0x00, 0x00, 0x00
|
|
_02219044:
|
|
.byte 0x5C, 0x66, 0x69, 0x6E, 0x61, 0x6C, 0x5C, 0x00
|
|
_0221904C:
|
|
.byte 0x50, 0x52, 0x00, 0x00
|
|
_02219050:
|
|
.byte 0x5C, 0x61, 0x6E, 0x61, 0x63, 0x6B, 0x5C, 0x00
|
|
_02219058:
|
|
.byte 0x45, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x67, 0x65
|
|
.byte 0x74, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x62, 0x75, 0x64, 0x64, 0x79, 0x20, 0x61, 0x75, 0x74, 0x68
|
|
.byte 0x6F, 0x72, 0x69, 0x7A, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2E, 0x00, 0x00
|
|
_0221907C:
|
|
.byte 0x5C, 0x61, 0x61, 0x63
|
|
.byte 0x6B, 0x5C, 0x00, 0x00
|
|
_02219084:
|
|
.byte 0x45, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x70, 0x61, 0x72, 0x73, 0x69, 0x6E
|
|
.byte 0x67, 0x20, 0x62, 0x75, 0x64, 0x64, 0x79, 0x20, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2E
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_022190A4:
|
|
.byte 0x30, 0x00, 0x00, 0x00
|
|
_022190A8:
|
|
.byte 0x67, 0x70, 0x69, 0x50, 0x65, 0x65, 0x72, 0x2E
|
|
.byte 0x63, 0x00, 0x00, 0x00
|
|
_022190B4:
|
|
.byte 0x70, 0x65, 0x65, 0x72, 0x2D, 0x3E, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20
|
|
.byte 0x3D, 0x3D, 0x20, 0x47, 0x50, 0x49, 0x5F, 0x50, 0x45, 0x45, 0x52, 0x5F, 0x57, 0x41, 0x49, 0x54
|
|
.byte 0x49, 0x4E, 0x47, 0x00
|
|
_022190D4:
|
|
.byte 0x25, 0x73, 0x25, 0x64, 0x25, 0x64, 0x00, 0x00
|
|
_022190DC:
|
|
.byte 0x4F, 0x75, 0x74, 0x20
|
|
.byte 0x6F, 0x66, 0x20, 0x6D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x2E, 0x00, 0x00
|
|
_022190EC:
|
|
.byte 0x31, 0x00, 0x00, 0x00
|
|
_022190F0:
|
|
.byte 0x70, 0x65, 0x65, 0x72, 0x2D, 0x3E, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x21, 0x3D, 0x20, 0x47
|
|
.byte 0x50, 0x49, 0x5F, 0x50, 0x45, 0x45, 0x52, 0x5F, 0x4E, 0x4F, 0x54, 0x5F, 0x43, 0x4F, 0x4E, 0x4E
|
|
.byte 0x45, 0x43, 0x54, 0x45, 0x44, 0x00, 0x00, 0x00
|
|
_02219118:
|
|
.byte 0x70, 0x65, 0x65, 0x72, 0x20, 0x21, 0x3D, 0x20
|
|
.byte 0x4E, 0x55, 0x4C, 0x4C, 0x00, 0x00, 0x00, 0x00
|
|
_02219128:
|
|
.byte 0x54, 0x72, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6F
|
|
.byte 0x20, 0x72, 0x65, 0x6D, 0x6F, 0x76, 0x65, 0x20, 0x70, 0x65, 0x65, 0x72, 0x20, 0x6E, 0x6F, 0x74
|
|
.byte 0x20, 0x69, 0x6E, 0x20, 0x6C, 0x69, 0x73, 0x74, 0x2E, 0x00, 0x00, 0x00
|
|
_0221914C:
|
|
.byte 0x54, 0x68, 0x65, 0x72
|
|
.byte 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6E, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x63
|
|
.byte 0x72, 0x65, 0x61, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x61, 0x20, 0x73, 0x6F, 0x63, 0x6B, 0x65, 0x74
|
|
.byte 0x2E, 0x00, 0x00, 0x00
|
|
_02219174:
|
|
.byte 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6E
|
|
.byte 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x6D, 0x61, 0x6B, 0x69, 0x6E, 0x67, 0x20, 0x61, 0x20
|
|
.byte 0x73, 0x6F, 0x63, 0x6B, 0x65, 0x74, 0x20, 0x6E, 0x6F, 0x6E, 0x2D, 0x62, 0x6C, 0x6F, 0x63, 0x6B
|
|
.byte 0x69, 0x6E, 0x67, 0x2E, 0x00, 0x00, 0x00, 0x00
|
|
_022191A8:
|
|
.byte 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61
|
|
.byte 0x73, 0x20, 0x61, 0x6E, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x63, 0x6F, 0x6E, 0x6E, 0x65
|
|
.byte 0x63, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x61, 0x20, 0x73, 0x6F, 0x63, 0x6B, 0x65, 0x74, 0x2E, 0x00
|
|
_022191D0:
|
|
.byte 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x21, 0x3D, 0x20, 0x4E, 0x55, 0x4C, 0x4C, 0x00
|
|
_022191E0:
|
|
.byte 0x5C, 0x6D, 0x5C, 0x00
|
|
_022191E4:
|
|
.byte 0x5C, 0x6C, 0x65, 0x6E, 0x5C, 0x00, 0x00, 0x00
|
|
_022191EC:
|
|
.byte 0x5C, 0x6D, 0x73, 0x67
|
|
.byte 0x5C, 0x0A, 0x00, 0x00
|
|
_022191F4:
|
|
.byte 0x74, 0x72, 0x61, 0x6E, 0x73, 0x66, 0x65, 0x72, 0x49, 0x44, 0x00, 0x00
|
|
_02219200:
|
|
.byte 0x5C, 0x6D, 0x5C, 0x25, 0x64, 0x5C, 0x78, 0x66, 0x65, 0x72, 0x5C, 0x25, 0x64, 0x20, 0x25, 0x75
|
|
.byte 0x20, 0x25, 0x75, 0x00
|
|
_02219214:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02219218:
|
|
.byte 0x5C, 0x6C, 0x65, 0x6E, 0x5C, 0x25, 0x64, 0x5C
|
|
.byte 0x6D, 0x73, 0x67, 0x5C, 0x0A, 0x00, 0x00, 0x00
|
|
_02219228:
|
|
.byte 0x67, 0x70, 0x69, 0x50, 0x72, 0x6F, 0x66, 0x69
|
|
.byte 0x6C, 0x65, 0x4C, 0x69, 0x73, 0x74, 0x41, 0x64, 0x64, 0x00, 0x00, 0x00
|
|
_0221923C:
|
|
.byte 0x5C, 0x6E, 0x70, 0x72
|
|
.byte 0x5C, 0x00, 0x00, 0x00
|
|
_02219244:
|
|
.byte 0x55, 0x6E, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x64
|
|
.byte 0x61, 0x74, 0x61, 0x20, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64
|
|
.byte 0x20, 0x66, 0x72, 0x6F, 0x6D, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72
|
|
.byte 0x2E, 0x00, 0x00, 0x00
|
|
_02219274:
|
|
.byte 0x5C, 0x70, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x69, 0x64, 0x5C, 0x00
|
|
_02219280:
|
|
.byte 0x4F, 0x75, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x6D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x2E, 0x00, 0x00
|
|
_02219290:
|
|
.byte 0x69, 0x64, 0x20, 0x3E, 0x20, 0x30, 0x00, 0x00
|
|
_02219298:
|
|
.byte 0x67, 0x70, 0x69, 0x50, 0x72, 0x6F, 0x66, 0x69
|
|
.byte 0x6C, 0x65, 0x2E, 0x63, 0x00, 0x00, 0x00, 0x00
|
|
_022192A8:
|
|
.byte 0x67, 0x70, 0x69, 0x50, 0x72, 0x6F, 0x63, 0x65
|
|
.byte 0x73, 0x73, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x00, 0x00, 0x00, 0x00
|
|
_022192BC:
|
|
.byte 0x67, 0x70, 0x69, 0x50
|
|
.byte 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x00, 0x00
|
|
_022192D0:
|
|
.byte 0x67, 0x70, 0x69, 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x53
|
|
.byte 0x65, 0x61, 0x72, 0x63, 0x68, 0x00, 0x00, 0x00
|
|
_022192E8:
|
|
.byte 0x67, 0x70, 0x73, 0x70, 0x2E, 0x67, 0x73, 0x2E
|
|
.byte 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65, 0x74
|
|
.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
|
|
_02219328:
|
|
.byte 0x4F, 0x75, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x6D
|
|
.byte 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x2E, 0x00, 0x00
|
|
_02219338:
|
|
.byte 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61
|
|
.byte 0x73, 0x20, 0x61, 0x6E, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74
|
|
.byte 0x69, 0x6E, 0x67, 0x20, 0x61, 0x20, 0x73, 0x6F, 0x63, 0x6B, 0x65, 0x74, 0x2E, 0x00, 0x00, 0x00
|
|
_02219360:
|
|
.byte 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6E, 0x20, 0x65, 0x72, 0x72
|
|
.byte 0x6F, 0x72, 0x20, 0x6D, 0x61, 0x6B, 0x69, 0x6E, 0x67, 0x20, 0x61, 0x20, 0x73, 0x6F, 0x63, 0x6B
|
|
.byte 0x65, 0x74, 0x20, 0x6E, 0x6F, 0x6E, 0x2D, 0x62, 0x6C, 0x6F, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x2E
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02219394:
|
|
.byte 0x43, 0x6F, 0x75, 0x6C, 0x64, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x72, 0x65
|
|
.byte 0x73, 0x6F, 0x6C, 0x76, 0x65, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x6D, 0x61, 0x6E
|
|
.byte 0x61, 0x6E, 0x67, 0x65, 0x72, 0x20, 0x68, 0x6F, 0x73, 0x74, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x2E
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_022193C4:
|
|
.byte 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2E, 0x73, 0x69, 0x6E, 0x5F
|
|
.byte 0x61, 0x64, 0x64, 0x72, 0x2E, 0x73, 0x5F, 0x61, 0x64, 0x64, 0x72, 0x20, 0x21, 0x3D, 0x20, 0x30
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_022193E4:
|
|
.byte 0x67, 0x70, 0x69, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2E, 0x63, 0x00
|
|
_022193F0:
|
|
.byte 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6E, 0x20, 0x65, 0x72, 0x72
|
|
.byte 0x6F, 0x72, 0x20, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x61, 0x20
|
|
.byte 0x73, 0x6F, 0x63, 0x6B, 0x65, 0x74, 0x2E, 0x00
|
|
_02219418:
|
|
.byte 0x4E, 0x6F, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63
|
|
.byte 0x68, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2E, 0x00
|
|
_0221942C:
|
|
.byte 0x53, 0x4D, 0x00, 0x00
|
|
_02219430:
|
|
.byte 0x43, 0x6F, 0x75, 0x6C, 0x64, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63
|
|
.byte 0x74, 0x20, 0x74, 0x6F, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20
|
|
.byte 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x72, 0x2E, 0x00, 0x00, 0x00, 0x00
|
|
_0221945C:
|
|
.byte 0x5C, 0x73, 0x65, 0x61
|
|
.byte 0x72, 0x63, 0x68, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_02219468:
|
|
.byte 0x5C, 0x73, 0x65, 0x73, 0x73, 0x6B, 0x65, 0x79
|
|
.byte 0x5C, 0x00, 0x00, 0x00
|
|
_02219474:
|
|
.byte 0x5C, 0x70, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x69, 0x64, 0x5C, 0x00
|
|
_02219480:
|
|
.byte 0x5C, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x69, 0x64, 0x5C, 0x00, 0x00, 0x00
|
|
_02219490:
|
|
.byte 0x5C, 0x6E, 0x69, 0x63, 0x6B, 0x5C, 0x00, 0x00
|
|
_02219498:
|
|
.byte 0x5C, 0x75, 0x6E, 0x69, 0x71, 0x75, 0x65, 0x6E
|
|
.byte 0x69, 0x63, 0x6B, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_022194A8:
|
|
.byte 0x5C, 0x65, 0x6D, 0x61, 0x69, 0x6C, 0x5C, 0x00
|
|
_022194B0:
|
|
.byte 0x5C, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6E, 0x61, 0x6D, 0x65, 0x5C, 0x00
|
|
_022194BC:
|
|
.byte 0x5C, 0x6C, 0x61, 0x73
|
|
.byte 0x74, 0x6E, 0x61, 0x6D, 0x65, 0x5C, 0x00, 0x00
|
|
_022194C8:
|
|
.byte 0x5C, 0x69, 0x63, 0x71, 0x75, 0x69, 0x6E, 0x5C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_022194D4:
|
|
.byte 0x5C, 0x73, 0x6B, 0x69, 0x70, 0x5C, 0x00, 0x00
|
|
_022194DC:
|
|
.byte 0x5C, 0x76, 0x61, 0x6C
|
|
.byte 0x69, 0x64, 0x5C, 0x00
|
|
_022194E4:
|
|
.byte 0x5C, 0x6E, 0x69, 0x63, 0x6B, 0x73, 0x5C, 0x00
|
|
_022194EC:
|
|
.byte 0x5C, 0x70, 0x61, 0x73
|
|
.byte 0x73, 0x5C, 0x00, 0x00
|
|
_022194F4:
|
|
.byte 0x5C, 0x70, 0x6D, 0x61, 0x74, 0x63, 0x68, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_02219500:
|
|
.byte 0x5C, 0x70, 0x72, 0x6F, 0x64, 0x75, 0x63, 0x74, 0x69, 0x64, 0x5C, 0x00
|
|
_0221950C:
|
|
.byte 0x5C, 0x63, 0x68, 0x65
|
|
.byte 0x63, 0x6B, 0x5C, 0x00
|
|
_02219514:
|
|
.byte 0x5C, 0x6E, 0x65, 0x77, 0x75, 0x73, 0x65, 0x72, 0x5C, 0x00, 0x00, 0x00
|
|
_02219520:
|
|
.byte 0x5C, 0x70, 0x72, 0x6F, 0x64, 0x75, 0x63, 0x74, 0x49, 0x44, 0x5C, 0x00
|
|
_0221952C:
|
|
.byte 0x5C, 0x63, 0x64, 0x6B
|
|
.byte 0x65, 0x79, 0x5C, 0x00
|
|
_02219534:
|
|
.byte 0x5C, 0x6F, 0x74, 0x68, 0x65, 0x72, 0x73, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_02219540:
|
|
.byte 0x5C, 0x75, 0x6E, 0x69, 0x71, 0x75, 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5C, 0x00, 0x00
|
|
_02219550:
|
|
.byte 0x5C, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x6E, 0x69, 0x63, 0x6B, 0x5C, 0x00
|
|
_02219560:
|
|
.byte 0x30, 0x00, 0x00, 0x00
|
|
_02219564:
|
|
.byte 0x5C, 0x67, 0x61, 0x6D, 0x65, 0x6E, 0x61, 0x6D, 0x65, 0x5C, 0x00, 0x00
|
|
_02219570:
|
|
.byte 0x5C, 0x66, 0x69, 0x6E, 0x61, 0x6C, 0x5C, 0x00
|
|
_02219578:
|
|
.byte 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61
|
|
.byte 0x73, 0x20, 0x61, 0x6E, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x72, 0x65, 0x61, 0x64, 0x69
|
|
.byte 0x6E, 0x67, 0x20, 0x66, 0x72, 0x6F, 0x6D, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76
|
|
.byte 0x65, 0x72, 0x2E, 0x00
|
|
_022195A4:
|
|
.byte 0x62, 0x73, 0x72, 0x64, 0x6F, 0x6E, 0x65, 0x00
|
|
_022195AC:
|
|
.byte 0x6D, 0x6F, 0x72, 0x65
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_022195B4:
|
|
.byte 0x62, 0x73, 0x72, 0x00
|
|
_022195B8:
|
|
.byte 0x6E, 0x69, 0x63, 0x6B, 0x00, 0x00, 0x00, 0x00
|
|
_022195C0:
|
|
.byte 0x75, 0x6E, 0x69, 0x71, 0x75, 0x65, 0x6E, 0x69, 0x63, 0x6B, 0x00, 0x00
|
|
_022195CC:
|
|
.byte 0x66, 0x69, 0x72, 0x73
|
|
.byte 0x74, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x00, 0x00
|
|
_022195D8:
|
|
.byte 0x6C, 0x61, 0x73, 0x74, 0x6E, 0x61, 0x6D, 0x65
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_022195E4:
|
|
.byte 0x65, 0x6D, 0x61, 0x69, 0x6C, 0x00, 0x00, 0x00
|
|
_022195EC:
|
|
.byte 0x45, 0x72, 0x72, 0x6F
|
|
.byte 0x72, 0x20, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6E, 0x67, 0x20, 0x66, 0x72, 0x6F, 0x6D, 0x20, 0x74
|
|
.byte 0x68, 0x65, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72
|
|
.byte 0x2E, 0x00, 0x00, 0x00
|
|
_02219614:
|
|
.byte 0x76, 0x72, 0x00, 0x00
|
|
_02219618:
|
|
.byte 0x6E, 0x72, 0x00, 0x00
|
|
_0221961C:
|
|
.byte 0x6E, 0x64, 0x6F, 0x6E
|
|
.byte 0x65, 0x00, 0x00, 0x00
|
|
_02219624:
|
|
.byte 0x70, 0x73, 0x72, 0x64, 0x6F, 0x6E, 0x65, 0x00
|
|
_0221962C:
|
|
.byte 0x70, 0x73, 0x72, 0x00
|
|
_02219630:
|
|
.byte 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x00, 0x00
|
|
_02219638:
|
|
.byte 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x63, 0x6F
|
|
.byte 0x64, 0x65, 0x00, 0x00
|
|
_02219644:
|
|
.byte 0x63, 0x75, 0x72, 0x00
|
|
_02219648:
|
|
.byte 0x5C, 0x70, 0x69, 0x64, 0x5C, 0x00, 0x00, 0x00
|
|
_02219650:
|
|
.byte 0x6E, 0x75, 0x72, 0x00
|
|
_02219654:
|
|
.byte 0x6F, 0x74, 0x68, 0x65, 0x72, 0x73, 0x00, 0x00
|
|
_0221965C:
|
|
.byte 0x6F, 0x64, 0x6F, 0x6E
|
|
.byte 0x65, 0x00, 0x00, 0x00
|
|
_02219664:
|
|
.byte 0x6F, 0x00, 0x00, 0x00
|
|
_02219668:
|
|
.byte 0x66, 0x69, 0x72, 0x73, 0x74, 0x00, 0x00, 0x00
|
|
_02219670:
|
|
.byte 0x6C, 0x61, 0x73, 0x74, 0x00, 0x00, 0x00, 0x00
|
|
_02219678:
|
|
.byte 0x75, 0x73, 0x00, 0x00
|
|
_0221967C:
|
|
.byte 0x75, 0x73, 0x64, 0x6F
|
|
.byte 0x6E, 0x65, 0x00, 0x00
|
|
_02219684:
|
|
.byte 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x20, 0x3D, 0x3D, 0x20, 0x61, 0x72, 0x67
|
|
.byte 0x2D, 0x3E, 0x6E, 0x75, 0x6D, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4E, 0x69
|
|
.byte 0x63, 0x6B, 0x73, 0x00
|
|
_022196A4:
|
|
.byte 0x6E, 0x75, 0x6D, 0x20, 0x3C, 0x20, 0x69, 0x63, 0x6F, 0x6E, 0x6E, 0x65
|
|
.byte 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x2D, 0x3E, 0x6E, 0x75, 0x6D, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68
|
|
.byte 0x65, 0x73, 0x00, 0x00
|
|
_022196C4:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_022196C8:
|
|
.byte 0x5C, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E
|
|
.byte 0x5C, 0x25, 0x64, 0x5C, 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x5C, 0x25, 0x64, 0x00, 0x00, 0x00
|
|
_022196E0:
|
|
.byte 0x5C, 0x78, 0x66, 0x65, 0x72, 0x5C, 0x00, 0x00
|
|
_022196E8:
|
|
.byte 0x25, 0x64, 0x20, 0x25, 0x75, 0x20, 0x25, 0x75
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_022196F4:
|
|
.byte 0x5C, 0x72, 0x6E, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_022196FC:
|
|
.byte 0x55, 0x6E, 0x65, 0x78
|
|
.byte 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x77, 0x61, 0x73, 0x20
|
|
.byte 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6F, 0x6D, 0x20, 0x74, 0x68
|
|
.byte 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2E, 0x00, 0x00, 0x00
|
|
_0221972C:
|
|
.byte 0x4F, 0x75, 0x74, 0x20
|
|
.byte 0x6F, 0x66, 0x20, 0x6D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x2E, 0x00, 0x00
|
|
_0221973C:
|
|
.byte 0x73, 0x74, 0x72, 0x7A
|
|
.byte 0x63, 0x70, 0x79, 0x00
|
|
_02219744:
|
|
.byte 0x67, 0x70, 0x69, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x46, 0x6F, 0x72, 0x4B
|
|
.byte 0x65, 0x79, 0x00, 0x00
|
|
_02219754:
|
|
.byte 0x67, 0x70, 0x69, 0x52, 0x65, 0x61, 0x64, 0x4B, 0x65, 0x79, 0x41, 0x6E
|
|
.byte 0x64, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x00
|
|
_02219768:
|
|
.byte 0x64, 0x65, 0x73, 0x74, 0x20, 0x21, 0x3D, 0x20
|
|
.byte 0x4E, 0x55, 0x4C, 0x4C, 0x00, 0x00, 0x00, 0x00
|
|
_02219778:
|
|
.byte 0x67, 0x70, 0x69, 0x55, 0x74, 0x69, 0x6C, 0x69
|
|
.byte 0x74, 0x79, 0x2E, 0x63, 0x00, 0x00, 0x00, 0x00
|
|
_02219788:
|
|
.byte 0x73, 0x72, 0x63, 0x20, 0x21, 0x3D, 0x20, 0x4E
|
|
.byte 0x55, 0x4C, 0x4C, 0x00
|
|
_02219794:
|
|
.byte 0x5C, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x5C, 0x00
|
|
_0221979C:
|
|
.byte 0x5C, 0x65, 0x72, 0x72
|
|
.byte 0x5C, 0x00, 0x00, 0x00
|
|
_022197A4:
|
|
.byte 0x5C, 0x65, 0x72, 0x72, 0x6D, 0x73, 0x67, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_022197B0:
|
|
.byte 0x5C, 0x66, 0x61, 0x74, 0x61, 0x6C, 0x5C, 0x00
|
|
_022197B8:
|
|
.byte 0x63, 0x6F, 0x6D, 0x6D, 0x61, 0x6E, 0x64, 0x20
|
|
.byte 0x21, 0x3D, 0x20, 0x4E, 0x55, 0x4C, 0x4C, 0x00
|
|
_022197C8:
|
|
.byte 0x6B, 0x65, 0x79, 0x20, 0x21, 0x3D, 0x20, 0x4E
|
|
.byte 0x55, 0x4C, 0x4C, 0x00
|
|
_022197D4:
|
|
.byte 0x76, 0x61, 0x6C, 0x75, 0x65, 0x20, 0x21, 0x3D, 0x20, 0x4E, 0x55, 0x4C
|
|
.byte 0x4C, 0x00, 0x00, 0x00
|
|
_022197E4:
|
|
.byte 0x6C, 0x65, 0x6E, 0x20, 0x3E, 0x20, 0x30, 0x00
|
|
_022197EC:
|
|
.byte 0x45, 0x72, 0x72, 0x6F
|
|
.byte 0x72, 0x20, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6E, 0x67, 0x0A, 0x00, 0x00, 0x00
|
|
_02219800:
|
|
.byte 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6E, 0x20, 0x65, 0x72, 0x72
|
|
.byte 0x6F, 0x72, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x20, 0x66, 0x6F, 0x72, 0x20
|
|
.byte 0x61, 0x20, 0x63, 0x6F, 0x6D, 0x70, 0x6C, 0x65, 0x74, 0x65, 0x64, 0x20, 0x63, 0x6F, 0x6E, 0x6E
|
|
.byte 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x2E, 0x00
|
|
_02219838:
|
|
.byte 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69
|
|
.byte 0x6F, 0x6E, 0x20, 0x72, 0x65, 0x6A, 0x65, 0x63, 0x74, 0x65, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00
|
|
_02219850:
|
|
.byte 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x61, 0x63, 0x63, 0x65, 0x70
|
|
.byte 0x74, 0x65, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00
|
|
_02219868:
|
|
.byte 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x21
|
|
.byte 0x3D, 0x20, 0x4E, 0x55, 0x4C, 0x4C, 0x00, 0x00
|
|
_02219878:
|
|
.byte 0x50, 0x61, 0x72, 0x73, 0x65, 0x20, 0x45, 0x72
|
|
.byte 0x72, 0x6F, 0x72, 0x2E, 0x00, 0x00, 0x00, 0x00
|
|
_02219888:
|
|
.byte 0x44, 0x6F, 0x46, 0x69, 0x6E, 0x64, 0x00, 0x00
|
|
_02219890:
|
|
.byte 0x42, 0x75, 0x63, 0x6B, 0x65, 0x74, 0x4E, 0x65, 0x77, 0x00, 0x00, 0x00
|
|
_0221989C:
|
|
.byte 0x42, 0x75, 0x63, 0x6B
|
|
.byte 0x65, 0x74, 0x43, 0x6F, 0x6E, 0x63, 0x61, 0x74, 0x00, 0x00, 0x00, 0x00
|
|
_022198AC:
|
|
.byte 0x73, 0x65, 0x74, 0x00
|
|
_022198B0:
|
|
.byte 0x67, 0x62, 0x75, 0x63, 0x6B, 0x65, 0x74, 0x2E, 0x63, 0x00, 0x00, 0x00
|
|
_022198BC:
|
|
.byte 0x70, 0x62, 0x75, 0x63
|
|
.byte 0x6B, 0x65, 0x74, 0x2D, 0x3E, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3D, 0x3D, 0x20, 0x62, 0x74, 0x5F
|
|
.byte 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x00
|
|
_022198D8:
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x4E, 0x00, 0x00
|
|
.byte 0x24, 0x99, 0x21, 0x02, 0x40, 0xA9, 0x20, 0x02, 0x6C, 0xA9, 0x20, 0x02, 0x00, 0xAA, 0x20, 0x02
|
|
.byte 0x84, 0xAA, 0x20, 0x02, 0x04, 0xAB, 0x20, 0x02, 0x88, 0xAB, 0x20, 0x02, 0x2C, 0xAC, 0x20, 0x02
|
|
.byte 0xEC, 0xB8, 0x20, 0x02, 0x54, 0xB9, 0x20, 0x02, 0xC4, 0xB9, 0x20, 0x02, 0x20, 0xBA, 0x20, 0x02
|
|
.byte 0x7C, 0xBA, 0x20, 0x02, 0xDC, 0xBA, 0x20, 0x02, 0x38, 0xBB, 0x20, 0x02, 0x94, 0xBB, 0x20, 0x02
|
|
.byte 0xF4, 0xBB, 0x20, 0x02
|
|
_02219924:
|
|
.byte 0x00, 0x61, 0x6D, 0x65, 0x53, 0x70, 0x79, 0x33, 0x44, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02219934:
|
|
.byte 0x00, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x41, 0x70, 0x68, 0x65, 0x78
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02219944:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02219948:
|
|
.byte 0x5C, 0x00, 0x00, 0x00
|
|
_0221994C:
|
|
.byte 0x70, 0x61, 0x75, 0x74
|
|
.byte 0x68, 0x72, 0x00, 0x00
|
|
_02219954:
|
|
.byte 0x6C, 0x69, 0x64, 0x00
|
|
_02219958:
|
|
.byte 0x65, 0x72, 0x72, 0x6D, 0x73, 0x67, 0x00, 0x00
|
|
_02219960:
|
|
.byte 0x67, 0x65, 0x74, 0x70, 0x69, 0x64, 0x72, 0x00
|
|
_02219968:
|
|
.byte 0x67, 0x65, 0x74, 0x70, 0x64, 0x72, 0x00, 0x00
|
|
_02219970:
|
|
.byte 0x70, 0x69, 0x64, 0x00
|
|
_02219974:
|
|
.byte 0x6D, 0x6F, 0x64, 0x00
|
|
_02219978:
|
|
.byte 0x6C, 0x65, 0x6E, 0x67, 0x74, 0x68, 0x00, 0x00
|
|
_02219980:
|
|
.byte 0x5C, 0x64, 0x61, 0x74, 0x61, 0x5C, 0x00, 0x00
|
|
_02219988:
|
|
.byte 0x73, 0x65, 0x74, 0x70, 0x64, 0x72, 0x00, 0x00
|
|
_02219990:
|
|
.byte 0x5C, 0x70, 0x61, 0x75, 0x74, 0x68, 0x72, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_0221999C:
|
|
.byte 0x5C, 0x67, 0x65, 0x74
|
|
.byte 0x70, 0x69, 0x64, 0x72, 0x5C, 0x00, 0x00, 0x00
|
|
_022199A8:
|
|
.byte 0x5C, 0x67, 0x65, 0x74, 0x70, 0x64, 0x72, 0x5C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_022199B4:
|
|
.byte 0x5C, 0x73, 0x65, 0x74, 0x70, 0x64, 0x72, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_022199C0:
|
|
.byte 0x25, 0x73, 0x5F, 0x74, 0x25, 0x64, 0x00, 0x00
|
|
_022199C8:
|
|
.byte 0x25, 0x73, 0x5F, 0x25, 0x64, 0x00, 0x00, 0x00
|
|
_022199D0:
|
|
.byte 0x67, 0x74, 0x69, 0x32, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6C, 0x6C, 0x65, 0x6E, 0x67, 0x65
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_022199E4:
|
|
.byte 0x33, 0x62, 0x38, 0x64, 0x64, 0x38, 0x39, 0x39, 0x35, 0x66, 0x37, 0x63
|
|
.byte 0x34, 0x30, 0x61, 0x39, 0x61, 0x35, 0x63, 0x35, 0x62, 0x37, 0x64, 0x64, 0x35, 0x62, 0x34, 0x38
|
|
.byte 0x31, 0x33, 0x34, 0x31, 0x00, 0x00, 0x00, 0x00
|
|
_02219A08:
|
|
.byte 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x00, 0x00
|
|
_02219A10:
|
|
.byte 0x67, 0x74, 0x32, 0x41, 0x75, 0x74, 0x68, 0x2E, 0x63, 0x00, 0x00, 0x00
|
|
_02219A1C:
|
|
.byte 0x67, 0x74, 0x69, 0x32
|
|
.byte 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x68, 0x6F, 0x72, 0x74, 0x65, 0x6E, 0x00, 0x00, 0x00
|
|
_02219A30:
|
|
.byte 0x67, 0x74, 0x69, 0x32, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x57, 0x72, 0x69, 0x74, 0x65, 0x44
|
|
.byte 0x61, 0x74, 0x61, 0x00
|
|
_02219A44:
|
|
.byte 0x67, 0x74, 0x69, 0x32, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x57, 0x72
|
|
.byte 0x69, 0x74, 0x65, 0x42, 0x79, 0x74, 0x65, 0x00
|
|
_02219A58:
|
|
.byte 0x67, 0x74, 0x69, 0x32, 0x42, 0x75, 0x66, 0x66
|
|
.byte 0x65, 0x72, 0x57, 0x72, 0x69, 0x74, 0x65, 0x55, 0x53, 0x68, 0x6F, 0x72, 0x74, 0x00, 0x00, 0x00
|
|
_02219A70:
|
|
.byte 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2D, 0x3E, 0x6C, 0x65, 0x6E, 0x20, 0x3C, 0x20, 0x62, 0x75
|
|
.byte 0x66, 0x66, 0x65, 0x72, 0x2D, 0x3E, 0x73, 0x69, 0x7A, 0x65, 0x00, 0x00
|
|
_02219A8C:
|
|
.byte 0x67, 0x74, 0x32, 0x42
|
|
.byte 0x75, 0x66, 0x66, 0x65, 0x72, 0x2E, 0x63, 0x00
|
|
_02219A98:
|
|
.byte 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2D
|
|
.byte 0x3E, 0x6C, 0x65, 0x6E, 0x20, 0x2B, 0x20, 0x32, 0x29, 0x20, 0x3C, 0x3D, 0x20, 0x62, 0x75, 0x66
|
|
.byte 0x66, 0x65, 0x72, 0x2D, 0x3E, 0x73, 0x69, 0x7A, 0x65, 0x00, 0x00, 0x00
|
|
_02219ABC:
|
|
.byte 0x28, 0x62, 0x75, 0x66
|
|
.byte 0x66, 0x65, 0x72, 0x2D, 0x3E, 0x6C, 0x65, 0x6E, 0x20, 0x2B, 0x20, 0x6C, 0x65, 0x6E, 0x29, 0x20
|
|
.byte 0x3C, 0x3D, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2D, 0x3E, 0x73, 0x69, 0x7A, 0x65, 0x00
|
|
_02219AE0:
|
|
.byte 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x3C, 0x3D, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2D
|
|
.byte 0x3E, 0x6C, 0x65, 0x6E, 0x00, 0x00, 0x00, 0x00
|
|
_02219AF8:
|
|
.byte 0x73, 0x68, 0x6F, 0x72, 0x74, 0x65, 0x6E, 0x42
|
|
.byte 0x79, 0x20, 0x3C, 0x3D, 0x20, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2D, 0x3E, 0x6C, 0x65
|
|
.byte 0x6E, 0x20, 0x2D, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x29, 0x00, 0x00
|
|
_02219B1C:
|
|
.byte 0x67, 0x74, 0x69, 0x32
|
|
.byte 0x44, 0x75, 0x6D, 0x70, 0x43, 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B, 0x00, 0x00, 0x00, 0x00
|
|
_02219B30:
|
|
.byte 0x67, 0x74, 0x69, 0x32, 0x50, 0x69, 0x6E, 0x67, 0x43, 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02219B44:
|
|
.byte 0x67, 0x74, 0x69, 0x32, 0x43, 0x6C, 0x6F, 0x73, 0x65, 0x64, 0x43, 0x61
|
|
.byte 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B, 0x00, 0x00
|
|
_02219B58:
|
|
.byte 0x67, 0x74, 0x69, 0x32, 0x52, 0x65, 0x63, 0x65
|
|
.byte 0x69, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B, 0x00, 0x00, 0x00, 0x00
|
|
_02219B70:
|
|
.byte 0x67, 0x74, 0x69, 0x32, 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x61, 0x6C
|
|
.byte 0x6C, 0x62, 0x61, 0x63, 0x6B, 0x00, 0x00, 0x00
|
|
_02219B88:
|
|
.byte 0x67, 0x74, 0x69, 0x32, 0x53, 0x65, 0x6E, 0x64
|
|
.byte 0x46, 0x69, 0x6C, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B, 0x00, 0x00
|
|
_02219BA0:
|
|
.byte 0x67, 0x74, 0x69, 0x32, 0x53, 0x6F, 0x63, 0x6B, 0x65, 0x74, 0x45, 0x72, 0x72, 0x6F, 0x72, 0x43
|
|
.byte 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B, 0x00
|
|
_02219BB8:
|
|
.byte 0x67, 0x74, 0x69, 0x32, 0x52, 0x65, 0x63, 0x65
|
|
.byte 0x69, 0x76, 0x65, 0x46, 0x69, 0x6C, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63
|
|
.byte 0x6B, 0x00, 0x00, 0x00
|
|
_02219BD4:
|
|
.byte 0x67, 0x74, 0x69, 0x32, 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x41
|
|
.byte 0x74, 0x74, 0x65, 0x6D, 0x70, 0x74, 0x43, 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B, 0x00, 0x00
|
|
_02219BF0:
|
|
.byte 0x67, 0x74, 0x69, 0x32, 0x55, 0x6E, 0x72, 0x65, 0x63, 0x6F, 0x67, 0x6E, 0x69, 0x7A, 0x65, 0x64
|
|
.byte 0x4D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B, 0x00
|
|
_02219C10:
|
|
.byte 0x73, 0x6F, 0x63, 0x6B, 0x65, 0x74, 0x00, 0x00
|
|
_02219C18:
|
|
.byte 0x67, 0x74, 0x32, 0x43, 0x61, 0x6C, 0x6C, 0x62
|
|
.byte 0x61, 0x63, 0x6B, 0x2E, 0x63, 0x00, 0x00, 0x00
|
|
_02219C28:
|
|
.byte 0x73, 0x6F, 0x63, 0x6B, 0x65, 0x74, 0x20, 0x26
|
|
.byte 0x26, 0x20, 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x00, 0x00
|
|
_02219C40:
|
|
.byte 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00
|
|
_02219C4C:
|
|
.byte 0x67, 0x74, 0x32, 0x53
|
|
.byte 0x65, 0x74, 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x44, 0x61, 0x74, 0x61
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02219C64:
|
|
.byte 0x67, 0x74, 0x32, 0x47, 0x65, 0x74, 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63
|
|
.byte 0x74, 0x69, 0x6F, 0x6E, 0x44, 0x61, 0x74, 0x61, 0x00, 0x00, 0x00, 0x00
|
|
_02219C7C:
|
|
.byte 0x67, 0x74, 0x32, 0x4D
|
|
.byte 0x61, 0x69, 0x6E, 0x2E, 0x63, 0x00, 0x00, 0x00
|
|
_02219C88:
|
|
.byte 0x63, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69
|
|
.byte 0x6F, 0x6E, 0x00, 0x00
|
|
_02219C94:
|
|
.byte 0x67, 0x74, 0x69, 0x32, 0x45, 0x6E, 0x64, 0x52, 0x65, 0x6C, 0x69, 0x61
|
|
.byte 0x62, 0x6C, 0x65, 0x4D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x00, 0x00
|
|
_02219CAC:
|
|
.byte 0x74, 0x69, 0x6D, 0x65
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02219CB4:
|
|
.byte 0xFE, 0xFE, 0x00, 0x00
|
|
_02219CB8:
|
|
.byte 0x6C, 0x65, 0x6E, 0x20, 0x3E, 0x20, 0x30, 0x00
|
|
_02219CC0:
|
|
.byte 0x67, 0x74, 0x32, 0x4D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2E, 0x63, 0x00, 0x00, 0x00, 0x00
|
|
_02219CD0:
|
|
.byte 0x67, 0x74, 0x32, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x54, 0x6F, 0x41, 0x64, 0x64, 0x72, 0x65
|
|
.byte 0x73, 0x73, 0x00, 0x00
|
|
_02219CE4:
|
|
.byte 0x25, 0x73, 0x3A, 0x25, 0x64, 0x00, 0x00, 0x00
|
|
_02219CEC:
|
|
.byte 0x25, 0x73, 0x00, 0x00
|
|
_02219CF0:
|
|
.byte 0x3A, 0x25, 0x64, 0x00
|
|
_02219CF4:
|
|
.byte 0x6C, 0x65, 0x6E, 0x20, 0x3C, 0x20, 0x47, 0x54, 0x49, 0x32, 0x5F, 0x53
|
|
.byte 0x54, 0x41, 0x43, 0x4B, 0x5F, 0x48, 0x4F, 0x53, 0x54, 0x4C, 0x45, 0x4E, 0x5F, 0x4D, 0x41, 0x58
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02219D14:
|
|
.byte 0x67, 0x74, 0x32, 0x55, 0x74, 0x69, 0x6C, 0x69, 0x74, 0x79, 0x2E, 0x63
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02219D24:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02219D28:
|
|
.byte 0xFD, 0xFC, 0x1E, 0x66, 0x6A, 0xB2, 0x00, 0x00
|
|
_02219D30:
|
|
.byte 0x25, 0x73, 0x2E, 0x25, 0x73, 0x00, 0x00, 0x00
|
|
_02219D38:
|
|
.byte 0x6E, 0x61, 0x74, 0x6E, 0x65, 0x67, 0x31, 0x2E
|
|
.byte 0x67, 0x73, 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E
|
|
.byte 0x6E, 0x65, 0x74, 0x00
|
|
_02219D54:
|
|
.byte 0x6E, 0x61, 0x74, 0x6E, 0x65, 0x67, 0x32, 0x2E, 0x67, 0x73, 0x2E, 0x6E
|
|
.byte 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65, 0x74, 0x00
|
|
_02219D70:
|
|
.byte 0x74, 0x9D, 0x21, 0x02
|
|
_02219D74:
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02219E84:
|
|
.byte 0x25, 0x73, 0x2E, 0x6D, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2E, 0x67, 0x73
|
|
.byte 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65
|
|
.byte 0x74, 0x00, 0x00, 0x00
|
|
_02219EA4:
|
|
.byte 0x4E, 0x6F, 0x20, 0x63, 0x68, 0x61, 0x6C, 0x6C, 0x65, 0x6E, 0x67, 0x65
|
|
.byte 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69
|
|
.byte 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6F, 0x6D, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6D, 0x61, 0x73
|
|
.byte 0x74, 0x65, 0x72, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2E, 0x00
|
|
_02219EDC:
|
|
.byte 0x25, 0x64, 0x00, 0x00
|
|
_02219EE0:
|
|
.byte 0x32, 0x35, 0x35, 0x2E, 0x32, 0x35, 0x35, 0x2E, 0x32, 0x35, 0x35, 0x2E, 0x32, 0x35, 0x35, 0x00
|
|
_02219EF0:
|
|
.byte 0x25, 0x30, 0x38, 0x58, 0x25, 0x30, 0x34, 0x58, 0x00, 0x00, 0x00, 0x00
|
|
_02219EFC:
|
|
.byte 0x75, 0x6E, 0x6B, 0x6E
|
|
.byte 0x6F, 0x77, 0x6E, 0x00
|
|
_02219F04:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02219F08:
|
|
.byte 0x25, 0x73, 0x25, 0x64, 0x00, 0x00, 0x00, 0x00
|
|
_02219F10:
|
|
.byte 0x66, 0x69, 0x6E, 0x61, 0x6C, 0x5C, 0x5C, 0x71, 0x75, 0x65, 0x72, 0x79, 0x69, 0x64, 0x5C, 0x31
|
|
.byte 0x2E, 0x31, 0x00, 0x00
|
|
_02219F24:
|
|
.byte 0x6C, 0x6F, 0x63, 0x61, 0x6C, 0x69, 0x70, 0x25, 0x64, 0x00, 0x00, 0x00
|
|
_02219F30:
|
|
.byte 0x6C, 0x6F, 0x63, 0x61, 0x6C, 0x70, 0x6F, 0x72, 0x74, 0x00, 0x00, 0x00
|
|
_02219F3C:
|
|
.byte 0x6E, 0x61, 0x74, 0x6E
|
|
.byte 0x65, 0x67, 0x00, 0x00
|
|
_02219F44:
|
|
.byte 0x31, 0x00, 0x00, 0x00
|
|
_02219F48:
|
|
.byte 0x30, 0x00, 0x00, 0x00
|
|
_02219F4C:
|
|
.byte 0x73, 0x74, 0x61, 0x74
|
|
.byte 0x65, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x64, 0x00, 0x00, 0x00, 0x00
|
|
_02219F5C:
|
|
.byte 0x67, 0x61, 0x6D, 0x65
|
|
.byte 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x00, 0x00, 0x00
|
|
_02219F68:
|
|
.byte 0x70, 0x75, 0x62, 0x6C, 0x69, 0x63, 0x69, 0x70
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_02219F74:
|
|
.byte 0x70, 0x75, 0x62, 0x6C, 0x69, 0x63, 0x70, 0x6F, 0x72, 0x74, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x70, 0x69, 0x64, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x70, 0x69, 0x6E, 0x67
|
|
.byte 0x5F, 0x00, 0x00, 0x00, 0x74, 0x65, 0x61, 0x6D, 0x5F, 0x00, 0x00, 0x00, 0x73, 0x63, 0x6F, 0x72
|
|
.byte 0x65, 0x5F, 0x00, 0x00, 0x74, 0x65, 0x61, 0x6D, 0x5F, 0x74, 0x00, 0x00, 0x73, 0x6B, 0x69, 0x6C
|
|
.byte 0x6C, 0x5F, 0x00, 0x00, 0x67, 0x72, 0x6F, 0x75, 0x70, 0x69, 0x64, 0x00, 0x64, 0x65, 0x61, 0x74
|
|
.byte 0x68, 0x73, 0x5F, 0x00, 0x67, 0x61, 0x6D, 0x65, 0x76, 0x65, 0x72, 0x00, 0x70, 0x6C, 0x61, 0x79
|
|
.byte 0x65, 0x72, 0x5F, 0x00, 0x73, 0x63, 0x6F, 0x72, 0x65, 0x5F, 0x74, 0x00, 0x6D, 0x61, 0x70, 0x6E
|
|
.byte 0x61, 0x6D, 0x65, 0x00, 0x67, 0x61, 0x6D, 0x65, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x68, 0x6F, 0x73, 0x74, 0x70, 0x6F, 0x72, 0x74, 0x00, 0x00, 0x00, 0x00, 0x70, 0x61, 0x73, 0x73
|
|
.byte 0x77, 0x6F, 0x72, 0x64, 0x00, 0x00, 0x00, 0x00, 0x67, 0x61, 0x6D, 0x65, 0x74, 0x79, 0x70, 0x65
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x6E, 0x75, 0x6D, 0x74, 0x65, 0x61, 0x6D, 0x73, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x67, 0x61, 0x6D, 0x65, 0x6D, 0x6F, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00, 0x74, 0x65, 0x61, 0x6D
|
|
.byte 0x70, 0x6C, 0x61, 0x79, 0x00, 0x00, 0x00, 0x00, 0x68, 0x6F, 0x73, 0x74, 0x6E, 0x61, 0x6D, 0x65
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x66, 0x72, 0x61, 0x67, 0x6C, 0x69, 0x6D, 0x69, 0x74, 0x00, 0x00, 0x00
|
|
.byte 0x74, 0x69, 0x6D, 0x65, 0x6C, 0x69, 0x6D, 0x69, 0x74, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x75, 0x6E
|
|
.byte 0x64, 0x74, 0x69, 0x6D, 0x65, 0x00, 0x00, 0x00, 0x6E, 0x75, 0x6D, 0x70, 0x6C, 0x61, 0x79, 0x65
|
|
.byte 0x72, 0x73, 0x00, 0x00, 0x6D, 0x61, 0x78, 0x70, 0x6C, 0x61, 0x79, 0x65, 0x72, 0x73, 0x00, 0x00
|
|
.byte 0x67, 0x61, 0x6D, 0x65, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6E, 0x74, 0x00, 0x74, 0x69, 0x6D, 0x65
|
|
.byte 0x65, 0x6C, 0x61, 0x70, 0x73, 0x65, 0x64, 0x00, 0x72, 0x6F, 0x75, 0x6E, 0x64, 0x65, 0x6C, 0x61
|
|
.byte 0x70, 0x73, 0x65, 0x64, 0x00, 0x00, 0x00, 0x00, 0x74, 0x65, 0x61, 0x6D, 0x66, 0x72, 0x61, 0x67
|
|
.byte 0x6C, 0x69, 0x6D, 0x69, 0x74, 0x00, 0x00, 0x00
|
|
_0221A0B8:
|
|
.byte 0x80, 0x9F, 0x21, 0x02, 0x38, 0xA0, 0x21, 0x02
|
|
.byte 0xE4, 0x9F, 0x21, 0x02, 0xC4, 0x9F, 0x21, 0x02, 0xF0, 0x9F, 0x21, 0x02, 0xDC, 0x9F, 0x21, 0x02
|
|
.byte 0x08, 0xA0, 0x21, 0x02, 0x80, 0xA0, 0x21, 0x02, 0x68, 0xA0, 0x21, 0x02, 0x14, 0xA0, 0x21, 0x02
|
|
.byte 0x74, 0xA0, 0x21, 0x02, 0x20, 0xA0, 0x21, 0x02, 0x2C, 0xA0, 0x21, 0x02, 0x44, 0xA0, 0x21, 0x02
|
|
.byte 0xA8, 0xA0, 0x21, 0x02, 0x8C, 0xA0, 0x21, 0x02, 0x50, 0xA0, 0x21, 0x02, 0x5C, 0xA0, 0x21, 0x02
|
|
.byte 0x98, 0xA0, 0x21, 0x02, 0xFC, 0x9F, 0x21, 0x02, 0xB4, 0x9F, 0x21, 0x02, 0xCC, 0x9F, 0x21, 0x02
|
|
.byte 0x9C, 0x9F, 0x21, 0x02, 0xAC, 0x9F, 0x21, 0x02, 0x8C, 0x9F, 0x21, 0x02, 0x94, 0x9F, 0x21, 0x02
|
|
.byte 0xBC, 0x9F, 0x21, 0x02, 0x84, 0x9F, 0x21, 0x02, 0xA4, 0x9F, 0x21, 0x02, 0xD4, 0x9F, 0x21, 0x02
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
_0221A4B0:
|
|
.byte 0x5C, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5C, 0x5C, 0x69, 0x6E, 0x66, 0x6F, 0x5C, 0x00, 0x00, 0x00
|
|
_0221A4C0:
|
|
.byte 0x5C, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5C, 0x00, 0x00, 0x00, 0x00
|
|
_0221A4CC:
|
|
.byte 0x5C, 0x66, 0x69, 0x6E
|
|
.byte 0x61, 0x6C, 0x5C, 0x00, 0x66, 0x69, 0x6E, 0x61, 0x6C, 0x00, 0x00, 0x00, 0x71, 0x75, 0x65, 0x72
|
|
.byte 0x79, 0x69, 0x64, 0x00
|
|
_0221A4E4:
|
|
.byte 0x53, 0x42, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53
|
|
.byte 0x74, 0x72, 0x69, 0x6E, 0x67, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x41, 0x00
|
|
_0221A4FC:
|
|
.byte 0x25, 0x64, 0x00, 0x00
|
|
_0221A500:
|
|
.byte 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x00, 0x00
|
|
_0221A508:
|
|
.byte 0x73, 0x62, 0x5F, 0x73, 0x65, 0x72, 0x76, 0x65
|
|
.byte 0x72, 0x2E, 0x63, 0x00
|
|
_0221A514:
|
|
.byte 0x70, 0x69, 0x6E, 0x67, 0x00, 0x00, 0x00, 0x00
|
|
_0221A51C:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_0221A520:
|
|
.byte 0x25, 0x73, 0x25, 0x64, 0x00, 0x00, 0x00, 0x00
|
|
_0221A528:
|
|
.byte 0x5C, 0x25, 0x73, 0x00
|
|
_0221A52C:
|
|
.byte 0x40, 0xA5, 0x21, 0x02
|
|
_0221A530:
|
|
.byte 0x53, 0x42, 0x52, 0x65, 0x6C, 0x65, 0x61, 0x73, 0x65, 0x53, 0x74, 0x72, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, 0x45, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x00, 0x00, 0x00
|
|
_0221A550:
|
|
.byte 0x41, 0x6C, 0x6C, 0x4B, 0x65, 0x79, 0x73, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6E, 0x74, 0x00, 0x00
|
|
_0221A560:
|
|
.byte 0x53, 0x42, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4C, 0x69, 0x73, 0x74, 0x49, 0x6E, 0x69, 0x74
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_0221A574:
|
|
.byte 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x41, 0x64, 0x48, 0x6F, 0x63
|
|
.byte 0x44, 0x61, 0x74, 0x61, 0x00, 0x00, 0x00, 0x00
|
|
_0221A588:
|
|
.byte 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x4D
|
|
.byte 0x61, 0x69, 0x6E, 0x4C, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x00
|
|
_0221A59C:
|
|
.byte 0x53, 0x42, 0x53, 0x65
|
|
.byte 0x72, 0x76, 0x65, 0x72, 0x4C, 0x69, 0x73, 0x74, 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x41
|
|
.byte 0x6E, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x00
|
|
_0221A5B8:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_0221A5BC:
|
|
.byte 0x76, 0x61, 0x6C, 0x20
|
|
.byte 0x21, 0x3D, 0x20, 0x4E, 0x55, 0x4C, 0x4C, 0x00
|
|
_0221A5C8:
|
|
.byte 0x73, 0x62, 0x5F, 0x73, 0x65, 0x72, 0x76, 0x65
|
|
.byte 0x72, 0x6C, 0x69, 0x73, 0x74, 0x2E, 0x63, 0x00
|
|
_0221A5D8:
|
|
.byte 0x73, 0x6C, 0x69, 0x73, 0x74, 0x20, 0x21, 0x3D
|
|
.byte 0x20, 0x4E, 0x55, 0x4C, 0x4C, 0x00, 0x00, 0x00
|
|
_0221A5E8:
|
|
.byte 0x63, 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B
|
|
.byte 0x20, 0x21, 0x3D, 0x20, 0x4E, 0x55, 0x4C, 0x4C, 0x00, 0x00, 0x00, 0x00
|
|
_0221A5FC:
|
|
.byte 0x25, 0x73, 0x2E, 0x6D
|
|
.byte 0x73, 0x25, 0x64, 0x2E, 0x67, 0x73, 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77
|
|
.byte 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65, 0x74, 0x00
|
|
_0221A618:
|
|
.byte 0x73, 0x6C, 0x69, 0x73, 0x74, 0x2D, 0x3E, 0x73
|
|
.byte 0x74, 0x61, 0x74, 0x65, 0x20, 0x3D, 0x3D, 0x20, 0x73, 0x6C, 0x5F, 0x64, 0x69, 0x73, 0x63, 0x6F
|
|
.byte 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x65, 0x64, 0x00
|
|
_0221A638:
|
|
.byte 0x30, 0x00, 0x00, 0x00
|
|
_0221A63C:
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_0221A644:
|
|
.byte 0x69, 0x6E, 0x6C, 0x65, 0x6E, 0x20, 0x3E, 0x3D, 0x20, 0x30, 0x00, 0x00
|
|
_0221A650:
|
|
.byte 0x73, 0x6C, 0x69, 0x73, 0x74, 0x2D, 0x3E, 0x69, 0x6E, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x6C
|
|
.byte 0x65, 0x6E, 0x20, 0x3E, 0x3D, 0x20, 0x30, 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
|
|
|
|
.bss
|
|
|
|
_0221A694:
|
|
.space 0x136C
|