summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAetias <aetias@outlook.com>2024-03-23 10:24:20 +0100
committerAetias <aetias@outlook.com>2024-03-23 10:24:20 +0100
commit942dfd17a96a2bbd6d65f7ee8029b9a9a8a1b9eb (patch)
tree6f4b91d33c14bb871d321b159f270fefdc39788b
parent1935cecb8738f19e4e1e978958a06b8c209b15fb (diff)
Add `LinkStateBase.s`
-rw-r--r--asm/ov00/Player/LinkStateBase.s1590
-rw-r--r--asm/ov00/Player/LinkStateDamage.s32
-rw-r--r--asm/ov00/Player/include/LinkStateBase.inc126
-rw-r--r--asm/ov00/Player/include/LinkStateDamage.inc3
-rw-r--r--asm/ov00/include/ov00_0207af9c.inc96
-rw-r--r--asm/ov00/include/ov00_020a8e04.inc435
-rw-r--r--asm/ov00/ov00_0207af9c.s6585
-rw-r--r--asm/ov00/ov00_020a8e04.s4979
-rw-r--r--tools/lcf.py2
9 files changed, 7262 insertions, 6586 deletions
diff --git a/asm/ov00/Player/LinkStateBase.s b/asm/ov00/Player/LinkStateBase.s
new file mode 100644
index 00000000..c776e546
--- /dev/null
+++ b/asm/ov00/Player/LinkStateBase.s
@@ -0,0 +1,1590 @@
+ .include "macros/function.inc"
+ .include "ov00/Player/include/LinkStateBase.inc"
+
+ .text
+
+ .global func_ov00_020a7fa4
+ thumb_func_start func_ov00_020a7fa4
+func_ov00_020a7fa4: ; 0x020a7fa4
+ bx lr
+ .align 2, 0
+ thumb_func_end func_ov00_020a7fa4
+
+ .global func_ov00_020a7fa8
+ arm_func_start func_ov00_020a7fa8
+func_ov00_020a7fa8: ; 0x020a7fa8
+ bx lr
+ arm_func_end func_ov00_020a7fa8
+
+ .global func_ov00_020a7fac
+ arm_func_start func_ov00_020a7fac
+func_ov00_020a7fac: ; 0x020a7fac
+ bx lr
+ arm_func_end func_ov00_020a7fac
+
+ .global func_ov00_020a7fb0
+ arm_func_start func_ov00_020a7fb0
+func_ov00_020a7fb0: ; 0x020a7fb0
+ mov r0, #0
+ bx lr
+ arm_func_end func_ov00_020a7fb0
+
+ .global func_ov00_020a7fb8
+ arm_func_start func_ov00_020a7fb8
+func_ov00_020a7fb8: ; 0x020a7fb8
+ stmdb sp!, {r3, r4, r5, r6, r7, lr}
+ mov r4, #0
+ mov r6, r0
+ mov r5, r1
+ mov r7, r4
+ bl func_ov00_020a8b80
+ cmp r0, #0
+ beq _020a7fec
+ mov r0, r6
+ bl func_ov00_020a8d40
+ ldrsh r0, [r0, #0xc8]
+ cmp r0, #0
+ movlt r7, #1
+_020a7fec:
+ cmp r7, #0
+ beq _020a8004
+ ldr r0, [r6, #8]
+ ldrsh r0, [r0, #0x5a]
+ cmp r0, #0
+ movle r4, #1
+_020a8004:
+ cmp r5, #7
+ addls pc, pc, r5, lsl #2
+ b _020a80f0
+_020a8010: ; jump table
+ b _020a80f0 ; case 0
+ b _020a80f0 ; case 1
+ b _020a80f0 ; case 2
+ b _020a8030 ; case 3
+ b _020a8084 ; case 4
+ b _020a8050 ; case 5
+ b _020a8030 ; case 6
+ b _020a8030 ; case 7
+_020a8030:
+ cmp r4, #0
+ beq _020a8048
+ bl func_ov00_020aeeac
+ cmp r0, #0
+ movne r0, #1
+ ldmneia sp!, {r3, r4, r5, r6, r7, pc}
+_020a8048:
+ mov r0, #0
+ ldmia sp!, {r3, r4, r5, r6, r7, pc}
+_020a8050:
+ cmp r4, #0
+ beq _020a807c
+ mov r0, r6
+ mov r1, #0x3f
+ bl func_ov00_020a8ba0
+ cmp r0, #0
+ bne _020a807c
+ bl func_ov00_020aeeac
+ cmp r0, #0
+ movne r0, #1
+ ldmneia sp!, {r3, r4, r5, r6, r7, pc}
+_020a807c:
+ mov r0, #0
+ ldmia sp!, {r3, r4, r5, r6, r7, pc}
+_020a8084:
+ ldr r0, _020a80f8 ; =data_027e0f74
+ ldr r0, [r0]
+ bl func_ov00_02097bbc
+ cmp r0, #0
+ movne r0, #0
+ ldmneia sp!, {r3, r4, r5, r6, r7, pc}
+ ldr r0, _020a80fc ; =data_027e0c68
+ ldrb r0, [r0, #4]
+ cmp r0, #0
+ bne _020a80c8
+ ldr r0, _020a8100 ; =data_027e0f64
+ ldr r0, [r0]
+ ldr r0, [r0, #4]
+ ldr r0, [r0, #0x15c]
+ cmp r0, #4
+ moveq r0, #0
+ ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
+_020a80c8:
+ cmp r4, #0
+ beq _020a80e8
+ ldr r0, _020a8104 ; =data_027e0fb8
+ ldr r0, [r0]
+ bl func_ov00_020af4a4
+ cmp r0, #0
+ movne r0, #1
+ ldmneia sp!, {r3, r4, r5, r6, r7, pc}
+_020a80e8:
+ mov r0, #0
+ ldmia sp!, {r3, r4, r5, r6, r7, pc}
+_020a80f0:
+ mov r0, #1
+ ldmia sp!, {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a7fb8
+_020a80f8: .word data_027e0f74
+_020a80fc: .word data_027e0c68
+_020a8100: .word data_027e0f64
+_020a8104: .word data_027e0fb8
+
+ .global func_ov00_020a8108
+ arm_func_start func_ov00_020a8108
+func_ov00_020a8108: ; 0x020a8108
+ mov r0, #1
+ bx lr
+ arm_func_end func_ov00_020a8108
+
+ .global func_ov00_020a8110
+ arm_func_start func_ov00_020a8110
+func_ov00_020a8110: ; 0x020a8110
+ mov r0, #0
+ bx lr
+ arm_func_end func_ov00_020a8110
+
+ .global func_ov00_020a8118
+ arm_func_start func_ov00_020a8118
+func_ov00_020a8118: ; 0x020a8118
+ ldr ip, _020a8124 ; =func_ov23_02178354
+ ldr r0, [r0, #8]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a8118
+_020a8124: .word func_ov23_02178354
+
+ .global func_ov00_020a8128
+ arm_func_start func_ov00_020a8128
+func_ov00_020a8128: ; 0x020a8128
+ ldr ip, _020a8134 ; =func_ov00_020bd364
+ ldr r0, [r0, #8]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a8128
+_020a8134: .word func_ov00_020bd364
+
+ .global func_ov00_020a8138
+ arm_func_start func_ov00_020a8138
+func_ov00_020a8138: ; 0x020a8138
+ ldr ip, _020a8144 ; =func_ov00_020bb544
+ ldr r0, [r0, #8]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a8138
+_020a8144: .word func_ov00_020bb544
+
+ .global func_ov00_020a8148
+ arm_func_start func_ov00_020a8148
+func_ov00_020a8148: ; 0x020a8148
+ ldr ip, _020a8154 ; =func_ov00_020bb594
+ ldr r0, [r0, #8]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a8148
+_020a8154: .word func_ov00_020bb594
+
+ .global func_ov00_020a8158
+ arm_func_start func_ov00_020a8158
+func_ov00_020a8158: ; 0x020a8158
+ stmdb sp!, {r4, r5, r6, lr}
+ mov r6, #0
+ ldr r4, _020a819c ; =gItemManager
+ mov r5, r6
+_020a8168:
+ ldr r0, [r4]
+ mov r1, r6
+ bl _ZN11ItemManager12GetEquipItemEi
+ cmp r0, #0
+ beq _020a818c
+ ldr r2, [r0]
+ mov r1, r5
+ ldr r2, [r2, #0x28]
+ blx r2
+_020a818c:
+ add r6, r6, #1
+ cmp r6, #0xb
+ blt _020a8168
+ ldmia sp!, {r4, r5, r6, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a8158
+_020a819c: .word gItemManager
+
+ .global func_ov00_020a81a0
+ arm_func_start func_ov00_020a81a0
+func_ov00_020a81a0: ; 0x020a81a0
+ ldr r0, _020a81b0 ; =gItemManager
+ ldr ip, _020a81b4 ; =_ZN11ItemManager22UpdateSwordShieldInUseEv
+ ldr r0, [r0]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a81a0
+_020a81b0: .word gItemManager
+_020a81b4: .word _ZN11ItemManager22UpdateSwordShieldInUseEv
+
+ .global func_ov00_020a81b8
+ arm_func_start func_ov00_020a81b8
+func_ov00_020a81b8: ; 0x020a81b8
+ stmdb sp!, {r3, r4, r5, lr}
+ mov r5, r1
+ mov r4, r2
+ bl func_ov00_020a81dc
+ mov r2, r5
+ mov r3, r4
+ mov r1, #0
+ bl func_ov05_02106980
+ ldmia sp!, {r3, r4, r5, pc}
+ arm_func_end func_ov00_020a81b8
+
+ .global func_ov00_020a81dc
+ arm_func_start func_ov00_020a81dc
+func_ov00_020a81dc: ; 0x020a81dc
+ ldr ip, _020a81e8 ; =func_01fffcd8
+ mov r0, #1
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a81dc
+_020a81e8: .word func_01fffcd8
+
+ .global func_ov00_020a81ec
+ arm_func_start func_ov00_020a81ec
+func_ov00_020a81ec: ; 0x020a81ec
+ ldr ip, _020a81f8 ; =func_ov00_020a7bac
+ ldr r0, [r0, #8]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a81ec
+_020a81f8: .word func_ov00_020a7bac
+
+ .global func_ov00_020a81fc
+ arm_func_start func_ov00_020a81fc
+func_ov00_020a81fc: ; 0x020a81fc
+ ldr ip, _020a8208 ; =func_ov00_020bb810
+ ldr r0, [r0, #8]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a81fc
+_020a8208: .word func_ov00_020bb810
+
+ .global func_ov00_020a820c
+ arm_func_start func_ov00_020a820c
+func_ov00_020a820c: ; 0x020a820c
+ stmdb sp!, {r3, lr}
+ ldr r0, [r0, #8]
+ ldr r2, [r0]
+ ldr r2, [r2, #0x40]
+ blx r2
+ ldmia sp!, {r3, pc}
+ arm_func_end func_ov00_020a820c
+
+ .global func_ov00_020a8224
+ arm_func_start func_ov00_020a8224
+func_ov00_020a8224: ; 0x020a8224
+ ldr ip, _020a8234 ; =func_ov00_020bbbd0
+ ldr r0, [r0, #8]
+ mov r2, #1
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a8224
+_020a8234: .word func_ov00_020bbbd0
+
+ .global func_ov00_020a8238
+ arm_func_start func_ov00_020a8238
+func_ov00_020a8238: ; 0x020a8238
+ stmdb sp!, {r4, lr}
+ ldr r0, _020a8274 ; =data_027e0fac
+ mov r4, r2
+ mov r2, r3
+ bl func_0202b154
+ ldr r0, _020a8274 ; =data_027e0fac
+ ldr r1, _020a8278 ; =data_027e0fcc
+ ldrsh r3, [r0]
+ ldr r0, [r1]
+ mov r2, #0x1000
+ sub r1, r4, r3
+ mov r1, r1, lsl #0x10
+ mov r1, r1, asr #0x10
+ bl func_ov00_020b4558
+ ldmia sp!, {r4, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a8238
+_020a8274: .word data_027e0fac
+_020a8278: .word data_027e0fcc
+
+ .global func_ov00_020a827c
+ arm_func_start func_ov00_020a827c
+func_ov00_020a827c: ; 0x020a827c
+ ldr r0, _020a828c ; =data_027e0fcc
+ ldr ip, _020a8290 ; =func_ov00_020b4558
+ ldr r0, [r0]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a827c
+_020a828c: .word data_027e0fcc
+_020a8290: .word func_ov00_020b4558
+
+ .global func_ov00_020a8294
+ arm_func_start func_ov00_020a8294
+func_ov00_020a8294: ; 0x020a8294
+ ldr r0, _020a82a4 ; =data_027e0fcc
+ ldr ip, _020a82a8 ; =func_ov00_020b44d4
+ ldr r0, [r0]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a8294
+_020a82a4: .word data_027e0fcc
+_020a82a8: .word func_ov00_020b44d4
+
+ .global func_ov00_020a82ac
+ arm_func_start func_ov00_020a82ac
+func_ov00_020a82ac: ; 0x020a82ac
+ stmdb sp!, {r3, lr}
+ ldr r0, [r0, #8]
+ mov r1, #0
+ bl func_ov00_020bb5f0
+ bl func_ov00_020b45e0
+ ldmia sp!, {r3, pc}
+ arm_func_end func_ov00_020a82ac
+
+ .global func_ov00_020a82c4
+ arm_func_start func_ov00_020a82c4
+func_ov00_020a82c4: ; 0x020a82c4
+ stmdb sp!, {r4, r5, r6, lr}
+ mov r1, r1, lsl #0x10
+ mov r1, r1, lsr #0x10
+ mov r1, r1, asr #0x4
+ mov r4, r1, lsl #0x1
+ ldr r3, _020a8358 ; =data_027e0d0c
+ ldr lr, _020a835c ; =data_02050f54
+ mov r1, r4, lsl #0x1
+ ldrsh ip, [lr, r1]
+ add r1, r4, #1
+ mov r1, r1, lsl #0x1
+ smull r5, r4, ip, r2
+ adds r5, r5, #0x800
+ ldrsh ip, [lr, r1]
+ ldr r1, [r0, #8]
+ ldr r6, [r3]
+ smull lr, r2, ip, r2
+ str r6, [r1, #0x20]
+ ldr r6, [r3, #4]
+ adc r4, r4, #0
+ adds ip, lr, #0x800
+ str r6, [r1, #0x24]
+ ldr lr, [r3, #8]
+ mov r3, r5, lsr #0xc
+ str lr, [r1, #0x28]
+ ldr r5, [r0, #8]
+ orr r3, r3, r4, lsl #20
+ ldr r1, [r5, #0x20]
+ adc r0, r2, #0
+ add r1, r1, r3
+ str r1, [r5, #0x20]
+ mov r1, ip, lsr #0xc
+ ldr r2, [r5, #0x28]
+ orr r1, r1, r0, lsl #20
+ add r0, r2, r1
+ str r0, [r5, #0x28]
+ ldmia sp!, {r4, r5, r6, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a82c4
+_020a8358: .word data_027e0d0c
+_020a835c: .word data_02050f54
+
+ .global func_ov00_020a8360
+ arm_func_start func_ov00_020a8360
+func_ov00_020a8360: ; 0x020a8360
+ stmdb sp!, {r4, r5, lr}
+ sub sp, sp, #0x14
+ mov r5, r0
+ add r0, sp, #0
+ mov r4, r1
+ bl func_ov00_020c1500
+ add r2, sp, #0
+ mov r0, r5
+ mov r1, r4
+ bl func_ov00_020a8390
+ add sp, sp, #0x14
+ ldmia sp!, {r4, r5, pc}
+ arm_func_end func_ov00_020a8360
+
+ .global func_ov00_020a8390
+ arm_func_start func_ov00_020a8390
+func_ov00_020a8390: ; 0x020a8390
+ stmdb sp!, {r3, r4, r5, r6, r7, lr}
+ sub sp, sp, #0x38
+ mov r7, r0
+ add r0, sp, #0xc
+ mov r6, r1
+ mov r5, r2
+ bl func_ov00_020c1500
+ mvn r1, #0
+ add r0, sp, #0xc
+ str r1, [sp, #0x28]
+ str r1, [sp, #0x2c]
+ bl func_ov00_020c3348
+ ldrh r1, [r5]
+ ldrh r0, [r5, #2]
+ mov r3, #0
+ sub r2, r3, #1
+ strh r1, [sp, #0xc]
+ strh r0, [sp, #0xe]
+ ldrh ip, [r5, #4]
+ ldrh r4, [r5, #6]
+ ldr r1, _020a84b4 ; =data_027e0fe8
+ mov r0, r7
+ strh r4, [sp, #0x12]
+ strh ip, [sp, #0x10]
+ ldr r4, [r1]
+ ldrb ip, [r5, #8]
+ ldrb r1, [r5, #9]
+ strb ip, [sp, #0x14]
+ strb r1, [sp, #0x15]
+ ldrb ip, [r5, #0xa]
+ ldrb r1, [r5, #0xb]
+ strb ip, [sp, #0x16]
+ strb r1, [sp, #0x17]
+ ldrsb r1, [r5, #0xc]
+ strb r1, [sp, #0x18]
+ ldrb r1, [r5, #0xd]
+ strb r1, [sp, #0x19]
+ ldrb r1, [r5, #0xe]
+ strb r1, [sp, #0x1a]
+ ldrsb r1, [r5, #0xf]
+ strb r1, [sp, #0x1b]
+ ldr r1, [r5, #0x10]
+ str r1, [sp, #0x1c]
+ str r3, [sp, #0x28]
+ str r2, [sp, #4]
+ str r2, [sp, #8]
+ bl func_ov00_020a8c4c
+ mov r2, r0
+ mov r0, r4
+ add r4, sp, #4
+ mov r1, r6
+ add r3, sp, #0xc
+ str r4, [sp]
+ bl func_ov00_020c4048
+ ldr r0, _020a84b8 ; =data_027e0fe4
+ mov r1, r4
+ ldr r0, [r0]
+ bl func_ov00_020c3674
+ movs r4, r0
+ beq _020a84a8
+ mov r0, r7
+ bl func_ov00_020a8cc4
+ ldr r1, [r4, #8]
+ str r1, [r0]
+ ldr r1, [r4, #0xc]
+ str r1, [r0, #4]
+ mov r0, r4
+ ldr r1, [r0]
+ ldr r1, [r1, #0x58]
+ blx r1
+_020a84a8:
+ mov r0, r4
+ add sp, sp, #0x38
+ ldmia sp!, {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a8390
+_020a84b4: .word data_027e0fe8
+_020a84b8: .word data_027e0fe4
+
+ .global func_ov00_020a84bc
+ arm_func_start func_ov00_020a84bc
+func_ov00_020a84bc: ; 0x020a84bc
+ stmdb sp!, {r3, r4, r5, lr}
+ ldr r0, [r0, #8]
+ movs r5, r1
+ strb r5, [r0, #0x11]
+ movne r0, #0x1f
+ moveq r0, #0
+ mov r0, r0, lsl #0x10
+ mov r4, r0, asr #0x10
+ bl func_ov00_020a7b8c
+ strh r4, [r0, #0x5c]
+ bl func_ov00_020a7b9c
+ ldr r1, _020a8504 ; =data_027e0e58
+ strh r4, [r0, #0xe]
+ ldr r0, [r1]
+ mov r2, r5
+ mov r1, #1
+ bl func_ov00_0207c5d4
+ ldmia sp!, {r3, r4, r5, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a84bc
+_020a8504: .word data_027e0e58
+
+ .global func_ov00_020a8508
+ arm_func_start func_ov00_020a8508
+func_ov00_020a8508: ; 0x020a8508
+ stmdb sp!, {r3, r4, r5, lr}
+ ldr r2, _020a8538 ; =data_027e0fcc
+ mov r5, r1
+ ldr r4, [r2]
+ bl func_ov00_020a8c4c
+ mov r2, r0
+ mov r0, r4
+ ldr r3, [r0]
+ mov r1, r5
+ ldr r3, [r3, #0x70]
+ blx r3
+ ldmia sp!, {r3, r4, r5, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a8508
+_020a8538: .word data_027e0fcc
+
+ .global func_ov00_020a853c
+ arm_func_start func_ov00_020a853c
+func_ov00_020a853c: ; 0x020a853c
+ stmdb sp!, {r4, r5, lr}
+ sub sp, sp, #0xc
+ ldr r2, _020a85a8 ; =data_027e0d38
+ mov r4, r0
+ ldr r0, [r2]
+ mov r5, r1
+ add r0, r0, #0xc
+ bl func_ov00_020a5e9c
+ cmp r0, #0x2e
+ bne _020a8578
+ mov r0, r4
+ mov r1, r5
+ bl func_ov23_02177ba0
+ add sp, sp, #0xc
+ ldmia sp!, {r4, r5, pc}
+_020a8578:
+ ldr r4, [r4, #8]
+ mov r0, r4
+ bl func_ov00_020bc46c
+ mov r2, r0
+ add r1, sp, #0
+ mov r0, r4
+ bl func_ov00_020bc90c
+ add r1, sp, #0
+ mov r0, r5
+ bl func_ov00_020b1a4c
+ add sp, sp, #0xc
+ ldmia sp!, {r4, r5, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a853c
+_020a85a8: .word data_027e0d38
+
+ .global func_ov00_020a85ac
+ arm_func_start func_ov00_020a85ac
+func_ov00_020a85ac: ; 0x020a85ac
+ stmdb sp!, {r3, lr}
+ sub sp, sp, #8
+ mov r2, #0
+ str r2, [sp]
+ mov r3, #1
+ str r3, [sp, #4]
+ ldr r0, [r0, #8]
+ mov r3, r2
+ ldr ip, [r0]
+ ldr ip, [ip, #0x34]
+ blx ip
+ add sp, sp, #8
+ ldmia sp!, {r3, pc}
+ arm_func_end func_ov00_020a85ac
+
+ .global func_ov00_020a85e0
+ arm_func_start func_ov00_020a85e0
+func_ov00_020a85e0: ; 0x020a85e0
+ stmdb sp!, {r3, lr}
+ ldr r0, [r0, #8]
+ mov r2, #0
+ ldr r3, [r0]
+ ldr r3, [r3, #0x38]
+ blx r3
+ ldmia sp!, {r3, pc}
+ arm_func_end func_ov00_020a85e0
+
+ .global func_ov00_020a85fc
+ arm_func_start func_ov00_020a85fc
+func_ov00_020a85fc: ; 0x020a85fc
+ stmdb sp!, {r3, lr}
+ ldr r0, [r0, #8]
+ ldr r1, [r0]
+ ldr r1, [r1, #0x74]
+ blx r1
+ ldmia sp!, {r3, pc}
+ arm_func_end func_ov00_020a85fc
+
+ .global func_ov00_020a8614
+ arm_func_start func_ov00_020a8614
+func_ov00_020a8614: ; 0x020a8614
+ stmdb sp!, {r3, lr}
+ ldr r0, [r0, #8]
+ ldr r2, [r0]
+ ldr r2, [r2, #0x88]
+ blx r2
+ ldmia sp!, {r3, pc}
+ arm_func_end func_ov00_020a8614
+
+ .global func_ov00_020a862c
+ arm_func_start func_ov00_020a862c
+func_ov00_020a862c: ; 0x020a862c
+ ldr r0, [r0, #8]
+ ldrh r0, [r0, #0x48]
+ bx lr
+ arm_func_end func_ov00_020a862c
+
+ .global func_ov00_020a8638
+ arm_func_start func_ov00_020a8638
+func_ov00_020a8638: ; 0x020a8638
+ stmdb sp!, {lr}
+ sub sp, sp, #0xc
+ mvn r2, #0
+ str r2, [sp, #4]
+ str r2, [sp, #8]
+ mov r3, #0
+ str r3, [sp]
+ ldr r0, [r0, #8]
+ add r2, sp, #4
+ bl func_ov00_020bd3b0
+ add sp, sp, #0xc
+ ldmia sp!, {pc}
+ arm_func_end func_ov00_020a8638
+
+ .global func_ov00_020a8668
+ arm_func_start func_ov00_020a8668
+func_ov00_020a8668: ; 0x020a8668
+ ldr r2, [r0, #8]
+ mvn r0, r1
+ ldrh r1, [r2, #0x48]
+ and r0, r1, r0
+ strh r0, [r2, #0x48]
+ bx lr
+ arm_func_end func_ov00_020a8668
+
+ .global func_ov00_020a8680
+ arm_func_start func_ov00_020a8680
+func_ov00_020a8680: ; 0x020a8680
+ stmdb sp!, {r4, lr}
+ ldr ip, _020a86d8 ; =data_027e0fd4
+ mov r4, r3
+ ldr r0, [ip]
+ str r1, [r0, #0x98]
+ ldr r1, [ip]
+ strh r2, [r1, #0xa0]
+ bl func_ov00_020b6e70
+ cmp r0, #0
+ beq _020a86bc
+ ldr r0, _020a86d8 ; =data_027e0fd4
+ mvn r1, #0
+ ldr r0, [r0]
+ strh r1, [r0, #0xa2]
+ ldmia sp!, {r4, pc}
+_020a86bc:
+ ldr r0, _020a86d8 ; =data_027e0fd4
+ cmp r4, #0
+ moveq r1, #1
+ ldr r0, [r0]
+ movne r1, #0
+ strh r1, [r0, #0xa2]
+ ldmia sp!, {r4, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a8680
+_020a86d8: .word data_027e0fd4
+
+ .global func_ov00_020a86dc
+ arm_func_start func_ov00_020a86dc
+func_ov00_020a86dc: ; 0x020a86dc
+ ldr ip, _020a86e8 ; =func_ov00_020bccc8
+ ldr r0, [r0, #8]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a86dc
+_020a86e8: .word func_ov00_020bccc8
+
+ .global func_ov00_020a86ec
+ arm_func_start func_ov00_020a86ec
+func_ov00_020a86ec: ; 0x020a86ec
+ stmdb sp!, {r3, lr}
+ ldr r0, [r0, #8]
+ ldr r3, [r0]
+ ldr r3, [r3, #0x58]
+ blx r3
+ ldmia sp!, {r3, pc}
+ arm_func_end func_ov00_020a86ec
+
+ .global func_ov00_020a8704
+ arm_func_start func_ov00_020a8704
+func_ov00_020a8704: ; 0x020a8704
+ stmdb sp!, {r4, r5, r6, lr}
+ mov r6, r0
+ mov r4, r1
+ bl func_ov00_020a8d40
+ mov r5, r0
+ mov r0, r6
+ bl func_ov00_020a8d40
+ ldrsh r0, [r0, #0x5c]
+ cmp r0, #0
+ ble _020a876c
+ ldr r0, [r5, #0x64]
+ cmp r0, #0
+ ldreq r0, [r5, #0x6c]
+ cmpeq r0, #0
+ beq _020a876c
+ ldr r0, [r5, #0x64]
+ ldr r1, [r5, #0x6c]
+ bl func_01ffa0f4
+ mov r5, r0, lsl #0x10
+ mov r0, r6
+ bl func_ov00_020a8c78
+ ldrsh r1, [r0]
+ mov r0, #1
+ sub r1, r1, r5, asr #16
+ strh r1, [r4]
+ ldmia sp!, {r4, r5, r6, pc}
+_020a876c:
+ mov r0, #0
+ ldmia sp!, {r4, r5, r6, pc}
+ arm_func_end func_ov00_020a8704
+
+ .global func_ov00_020a8774
+ arm_func_start func_ov00_020a8774
+func_ov00_020a8774: ; 0x020a8774
+ stmdb sp!, {r3, r4, r5, r6, lr}
+ sub sp, sp, #0xc
+ mov r5, r1
+ mov r6, r0
+ mov r4, r2
+ bl func_ov00_020a8c4c
+ mov r1, r0
+ add r2, sp, #0
+ mov r0, r5
+ bl func_01ff9bf8
+ mov r0, r6
+ bl func_ov00_020a8d40
+ mov r1, r4, lsl #0x10
+ mov r1, r1, lsr #0x10
+ mov r1, r1, asr #0x4
+ ldr r0, [r0, #0x2c]
+ mov r2, r1, lsl #0x1
+ rsb lr, r0, #0
+ ldr r3, _020a8840 ; =data_02050f54
+ add r1, r2, #1
+ mov r0, r2, lsl #0x1
+ ldrsh r2, [r3, r0]
+ mov r0, r1, lsl #0x1
+ ldrsh r0, [r3, r0]
+ smull ip, r3, r2, lr
+ smull r2, r1, r0, lr
+ adds ip, ip, #0x800
+ adc r0, r3, #0
+ mov r3, ip, lsr #0xc
+ adds r2, r2, #0x800
+ orr r3, r3, r0, lsl #20
+ adc r0, r1, #0
+ mov r1, r2, lsr #0xc
+ orr r1, r1, r0, lsl #20
+ ldr r0, [sp]
+ ldr r2, [sp, #8]
+ add r0, r0, r3
+ add r1, r2, r1
+ str r0, [sp]
+ str r1, [sp, #8]
+ bl func_01ffa0f4
+ mov r0, r0, lsl #0x10
+ rsb r0, r4, r0, asr #16
+ mov r0, r0, lsl #0x10
+ movs r0, r0, asr #0x10
+ rsbmi r0, r0, #0
+ cmp r0, #0x4000
+ movlt r0, #1
+ movge r0, #0
+ add sp, sp, #0xc
+ ldmia sp!, {r3, r4, r5, r6, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a8774
+_020a8840: .word data_02050f54
+
+ .global func_ov00_020a8844
+ arm_func_start func_ov00_020a8844
+func_ov00_020a8844: ; 0x020a8844
+ stmdb sp!, {r4, r5, r6, lr}
+ sub sp, sp, #0x18
+ ldr r4, _020a8948 ; =data_027e0fb8
+ mov r6, r0
+ ldr r0, [r4]
+ mov r5, r2
+ ldrb r0, [r0, #0x7d]
+ mov r4, r3
+ cmp r0, #0
+ addeq sp, sp, #0x18
+ ldmeqia sp!, {r4, r5, r6, pc}
+ ldr r0, _020a894c ; =data_027e0618
+ ldrb r0, [r0, #0x101]
+ cmp r0, #0
+ addne sp, sp, #0x18
+ ldmneia sp!, {r4, r5, r6, pc}
+ ldr r2, [r1]
+ ldr r0, _020a8950 ; =data_027e0f64
+ str r2, [sp, #0xc]
+ ldr r2, [r1, #4]
+ ldr r0, [r0]
+ str r2, [sp, #0x10]
+ ldr r1, [r1, #8]
+ str r1, [sp, #0x14]
+ bl func_ov00_0208b180
+ mov ip, #0
+ add r1, sp, #0xc
+ add r2, sp, #8
+ add r3, sp, #4
+ str ip, [sp]
+ bl func_01ffe468
+ cmp r0, #0
+ moveq r0, #1
+ movne r0, #0
+ cmp r0, #0
+ addne sp, sp, #0x18
+ ldmneia sp!, {r4, r5, r6, pc}
+ cmp r5, #0
+ beq _020a8904
+ mov r0, r6
+ bl func_ov00_020a8c78
+ ldrsh r2, [r0]
+ cmp r5, #1
+ moveq r3, #1
+ ldr r0, [sp, #8]
+ ldr r1, [sp, #4]
+ movne r3, #0
+ bl func_ov00_020b1498
+_020a8904:
+ cmp r4, #0
+ addeq sp, sp, #0x18
+ ldmeqia sp!, {r4, r5, r6, pc}
+ mov r0, r6
+ bl func_ov00_020a8c78
+ ldrsh r2, [r0]
+ cmp r4, #1
+ moveq r3, #1
+ sub r2, r2, #0x8000
+ mov r2, r2, lsl #0x10
+ ldr r0, [sp, #8]
+ ldr r1, [sp, #4]
+ movne r3, #0
+ mov r2, r2, asr #0x10
+ bl func_ov00_020b1498
+ add sp, sp, #0x18
+ ldmia sp!, {r4, r5, r6, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a8844
+_020a8948: .word data_027e0fb8
+_020a894c: .word data_027e0618
+_020a8950: .word data_027e0f64
+
+ .global func_ov00_020a8954
+ arm_func_start func_ov00_020a8954
+func_ov00_020a8954: ; 0x020a8954
+ stmdb sp!, {r4, lr}
+ cmp r1, #0
+ ldrne r1, _020a898c ; =data_ov00_020e5650
+ mov r4, r2
+ movne r2, #0x29
+ ldreq r1, _020a898c ; =data_ov00_020e5650
+ moveq r2, #0x27
+ str r2, [r1, #0x24]
+ ldr r1, _020a8990 ; =data_ov00_020e5674
+ mov r2, #1
+ bl func_ov00_020a8a4c
+ mov r0, #0
+ str r0, [r4]
+ ldmia sp!, {r4, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a8954
+_020a898c: .word data_ov00_020e5650
+_020a8990: .word data_ov00_020e5674
+
+ .global func_ov00_020a8994
+ arm_func_start func_ov00_020a8994
+func_ov00_020a8994: ; 0x020a8994
+ stmdb sp!, {r4, lr}
+ mov r4, r0
+ bl func_ov00_020a8d40
+ ldrsh r2, [r0, #0x5a]
+ ldr r1, _020a89b8 ; =data_ov00_020dc510
+ mov r0, r4
+ ldr r1, [r1, r2, lsl #2]
+ bl func_ov00_020a8138
+ ldmia sp!, {r4, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a8994
+_020a89b8: .word data_ov00_020dc510
+
+ .global func_ov00_020a89bc
+ arm_func_start func_ov00_020a89bc
+func_ov00_020a89bc: ; 0x020a89bc
+ stmdb sp!, {r4, r5, r6, lr}
+ mov r6, r0
+ mov r5, r1
+ mov r4, r2
+ bl func_ov00_020a8d40
+ ldrsh r0, [r0, #0x5a]
+ cmp r0, #1
+ cmpne r0, #2
+ mov r0, r6
+ bne _020a89f8
+ mov r1, r5
+ mov r3, r4
+ mov r2, #1
+ bl func_ov05_0211097c
+ ldmia sp!, {r4, r5, r6, pc}
+_020a89f8:
+ mov r1, r5
+ mov r2, r4
+ bl func_ov00_020a8a4c
+ ldmia sp!, {r4, r5, r6, pc}
+ arm_func_end func_ov00_020a89bc
+
+ .global func_ov00_020a8a08
+ arm_func_start func_ov00_020a8a08
+func_ov00_020a8a08: ; 0x020a8a08
+ stmdb sp!, {r3, r4, r5, lr}
+ mov r5, r0
+ mov r4, r1
+ bl func_ov00_020a8d40
+ ldrsh r0, [r0, #0x5a]
+ cmp r0, #1
+ cmpne r0, #2
+ mov r0, r5
+ bne _020a8a40
+ mov r1, r4
+ mov r2, #0
+ mov r3, #1
+ bl func_ov05_0211097c
+ ldmia sp!, {r3, r4, r5, pc}
+_020a8a40:
+ mov r1, r4
+ bl func_ov00_020a8a90
+ ldmia sp!, {r3, r4, r5, pc}
+ arm_func_end func_ov00_020a8a08
+
+ .global func_ov00_020a8a4c
+ arm_func_start func_ov00_020a8a4c
+func_ov00_020a8a4c: ; 0x020a8a4c
+ stmdb sp!, {r4, lr}
+ ldr r0, _020a8a8c ; =data_027e0fcc
+ mov r3, r2
+ ldr r4, [r0]
+ mov r2, #1
+ mov r0, r4
+ bl func_ov00_020b45f8
+ ldr r1, [r4, #0x118]
+ cmp r1, #0
+ movne r0, #0
+ strneh r0, [r1, #0xe]
+ ldr r1, [r4, #0x138]
+ cmp r1, #0
+ movne r0, #0
+ strneh r0, [r1, #0xe]
+ ldmia sp!, {r4, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a8a4c
+_020a8a8c: .word data_027e0fcc
+
+ .global func_ov00_020a8a90
+ arm_func_start func_ov00_020a8a90
+func_ov00_020a8a90: ; 0x020a8a90
+ ldr r0, _020a8aa8 ; =data_027e0fcc
+ ldr ip, _020a8aac ; =func_ov00_020b45f8
+ mov r2, #0
+ ldr r0, [r0]
+ mov r3, #1
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a8a90
+_020a8aa8: .word data_027e0fcc
+_020a8aac: .word func_ov00_020b45f8
+
+ .global func_ov00_020a8ab0
+ arm_func_start func_ov00_020a8ab0
+func_ov00_020a8ab0: ; 0x020a8ab0
+ ldr r0, _020a8ac8 ; =data_027e0fcc
+ mov r2, #1
+ ldr ip, _020a8acc ; =func_ov00_020b464c
+ ldr r0, [r0]
+ mov r3, r2
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a8ab0
+_020a8ac8: .word data_027e0fcc
+_020a8acc: .word func_ov00_020b464c
+
+ .global func_ov00_020a8ad0
+ arm_func_start func_ov00_020a8ad0
+func_ov00_020a8ad0: ; 0x020a8ad0
+ stmdb sp!, {r4, lr}
+ ldr r0, _020a8b00 ; =data_027e0fcc
+ mov r4, r1
+ ldr r0, [r0]
+ ldr r0, [r0, #0x118]
+ bl func_ov00_020c0e24
+ ldr r0, _020a8b00 ; =data_027e0fcc
+ mov r1, r4
+ ldr r0, [r0]
+ ldr r0, [r0, #0x138]
+ bl func_ov00_020c0e24
+ ldmia sp!, {r4, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a8ad0
+_020a8b00: .word data_027e0fcc
+
+ .global func_ov00_020a8b04
+ arm_func_start func_ov00_020a8b04
+func_ov00_020a8b04: ; 0x020a8b04
+ stmdb sp!, {r3, lr}
+ ldr r0, _020a8b38 ; =data_027e0fcc
+ cmp r2, #0
+ ldr r0, [r0]
+ beq _020a8b28
+ ldr r0, [r0, #0x118]
+ add r0, r0, #0xc
+ bl func_0202e310
+ ldmia sp!, {r3, pc}
+_020a8b28:
+ ldr r0, [r0, #0x138]
+ add r0, r0, #0xc
+ bl func_0202e310
+ ldmia sp!, {r3, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a8b04
+_020a8b38: .word data_027e0fcc
+
+ .global func_ov00_020a8b3c
+ arm_func_start func_ov00_020a8b3c
+func_ov00_020a8b3c: ; 0x020a8b3c
+ stmdb sp!, {r3, r4, r5, lr}
+ ldr r0, _020a8b7c ; =data_027e0fcc
+ cmp r1, #0
+ ldr r0, [r0]
+ mov r4, #0
+ ldrne r5, [r0, #0x118]
+ ldreq r5, [r0, #0x138]
+ add r0, r5, #0xc
+ bl func_0202e58c
+ cmp r0, #0
+ beq _020a8b74
+ ldrh r0, [r5, #0xe]
+ tst r0, #5
+ moveq r4, #1
+_020a8b74:
+ mov r0, r4
+ ldmia sp!, {r3, r4, r5, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a8b3c
+_020a8b7c: .word data_027e0fcc
+
+ .global func_ov00_020a8b80
+ arm_func_start func_ov00_020a8b80
+func_ov00_020a8b80: ; 0x020a8b80
+ ldr r0, _020a8b9c ; =data_027e0fd4
+ ldr r0, [r0]
+ ldrsh r0, [r0, #0xc6]
+ cmp r0, #0
+ movge r0, #1
+ movlt r0, #0
+ bx lr
+ .align 2, 0
+ arm_func_end func_ov00_020a8b80
+_020a8b9c: .word data_027e0fd4
+
+ .global func_ov00_020a8ba0
+ arm_func_start func_ov00_020a8ba0
+func_ov00_020a8ba0: ; 0x020a8ba0
+ ldr r0, [r0, #8]
+ ldrh r0, [r0, #0x48]
+ tst r0, r1
+ movne r0, #1
+ moveq r0, #0
+ bx lr
+ arm_func_end func_ov00_020a8ba0
+
+ .global func_ov00_020a8bb8
+ arm_func_start func_ov00_020a8bb8
+func_ov00_020a8bb8: ; 0x020a8bb8
+ ldr r0, [r0, #8]
+ ldrb r0, [r0, #0x5e]
+ bx lr
+ arm_func_end func_ov00_020a8bb8
+
+ .global func_ov00_020a8bc4
+ arm_func_start func_ov00_020a8bc4
+func_ov00_020a8bc4: ; 0x020a8bc4
+ ldr r0, _020a8bd4 ; =data_027e0fcc
+ ldr r0, [r0]
+ add r0, r0, #4
+ bx lr
+ .align 2, 0
+ arm_func_end func_ov00_020a8bc4
+_020a8bd4: .word data_027e0fcc
+
+ .global func_ov00_020a8bd8
+ arm_func_start func_ov00_020a8bd8
+func_ov00_020a8bd8: ; 0x020a8bd8
+ ldr ip, _020a8be4 ; =func_ov00_020bc46c
+ ldr r0, [r0, #8]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a8bd8
+_020a8be4: .word func_ov00_020bc46c
+
+ .global func_ov00_020a8be8
+ arm_func_start func_ov00_020a8be8
+func_ov00_020a8be8: ; 0x020a8be8
+ ldr r0, _020a8bf4 ; =data_027e0fcc
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+ arm_func_end func_ov00_020a8be8
+_020a8bf4: .word data_027e0fcc
+
+ .global func_ov00_020a8bf8
+ arm_func_start func_ov00_020a8bf8
+func_ov00_020a8bf8: ; 0x020a8bf8
+ ldr ip, _020a8c04 ; =func_ov00_020bc500
+ ldr r0, [r0, #8]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a8bf8
+_020a8c04: .word func_ov00_020bc500
+
+ .global func_ov00_020a8c08
+ arm_func_start func_ov00_020a8c08
+func_ov00_020a8c08: ; 0x020a8c08
+ ldr r0, [r0, #8]
+ ldrsh r0, [r0, #0xa]
+ bx lr
+ arm_func_end func_ov00_020a8c08
+
+ .global func_ov00_020a8c14
+ arm_func_start func_ov00_020a8c14
+func_ov00_020a8c14: ; 0x020a8c14
+ stmdb sp!, {r4, lr}
+ ldr r4, [r0, #8]
+ mov r0, r4
+ bl func_ov00_020bc46c
+ mov r1, r0
+ mov r0, r4
+ bl func_ov00_020bc48c
+ ldmia sp!, {r4, pc}
+ arm_func_end func_ov00_020a8c14
+
+ .global func_ov00_020a8c34
+ arm_func_start func_ov00_020a8c34
+func_ov00_020a8c34: ; 0x020a8c34
+ ldr r0, _020a8c44 ; =data_027e0fd4
+ ldr ip, _020a8c48 ; =func_ov00_020b5268
+ ldr r0, [r0]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a8c34
+_020a8c44: .word data_027e0fd4
+_020a8c48: .word func_ov00_020b5268
+
+ .global func_ov00_020a8c4c
+ arm_func_start func_ov00_020a8c4c
+func_ov00_020a8c4c: ; 0x020a8c4c
+ ldr r0, _020a8c54 ; =data_027e0f94
+ bx lr
+ .align 2, 0
+ arm_func_end func_ov00_020a8c4c
+_020a8c54: .word data_027e0f94
+
+ .global func_ov00_020a8c58
+ arm_func_start func_ov00_020a8c58
+func_ov00_020a8c58: ; 0x020a8c58
+ ldr r0, _020a8c60 ; =data_027e0fa0
+ bx lr
+ .align 2, 0
+ arm_func_end func_ov00_020a8c58
+_020a8c60: .word data_027e0fa0
+
+ .global func_ov00_020a8c64
+ arm_func_start func_ov00_020a8c64
+func_ov00_020a8c64: ; 0x020a8c64
+ ldr r0, _020a8c74 ; =data_027e0fd4
+ ldr r0, [r0]
+ add r0, r0, #0x90
+ bx lr
+ .align 2, 0
+ arm_func_end func_ov00_020a8c64
+_020a8c74: .word data_027e0fd4
+
+ .global func_ov00_020a8c78
+ arm_func_start func_ov00_020a8c78
+func_ov00_020a8c78: ; 0x020a8c78
+ ldr r0, _020a8c80 ; =data_027e0fac
+ bx lr
+ .align 2, 0
+ arm_func_end func_ov00_020a8c78
+_020a8c80: .word data_027e0fac
+
+ .global func_ov00_020a8c84
+ arm_func_start func_ov00_020a8c84
+func_ov00_020a8c84: ; 0x020a8c84
+ ldr r0, _020a8c8c ; =data_027e0fb0
+ bx lr
+ .align 2, 0
+ arm_func_end func_ov00_020a8c84
+_020a8c8c: .word data_027e0fb0
+
+ .global func_ov00_020a8c90
+ arm_func_start func_ov00_020a8c90
+func_ov00_020a8c90: ; 0x020a8c90
+ ldr r0, _020a8ca0 ; =data_027e0fcc
+ ldr r0, [r0]
+ ldrsh r0, [r0, #0x32]
+ bx lr
+ .align 2, 0
+ arm_func_end func_ov00_020a8c90
+_020a8ca0: .word data_027e0fcc
+
+ .global func_ov00_020a8ca4
+ arm_func_start func_ov00_020a8ca4
+func_ov00_020a8ca4: ; 0x020a8ca4
+ ldr r1, _020a8cbc ; =data_027e0fe4
+ ldr r2, [r0, #8]
+ ldr r0, [r1]
+ ldr ip, _020a8cc0 ; =func_ov00_020c3674
+ add r1, r2, #0x3c
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a8ca4
+_020a8cbc: .word data_027e0fe4
+_020a8cc0: .word func_ov00_020c3674
+
+ .global func_ov00_020a8cc4
+ arm_func_start func_ov00_020a8cc4
+func_ov00_020a8cc4: ; 0x020a8cc4
+ ldr r0, [r0, #8]
+ add r0, r0, #0x3c
+ bx lr
+ arm_func_end func_ov00_020a8cc4
+
+ .global func_ov00_020a8cd0
+ arm_func_start func_ov00_020a8cd0
+func_ov00_020a8cd0: ; 0x020a8cd0
+ ldr ip, _020a8cdc ; =func_ov00_020bc71c
+ ldr r0, [r0, #8]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a8cd0
+_020a8cdc: .word func_ov00_020bc71c
+
+ .global func_ov00_020a8ce0
+ arm_func_start func_ov00_020a8ce0
+func_ov00_020a8ce0: ; 0x020a8ce0
+ ldr r0, [r0, #8]
+ add r0, r0, #0x44
+ bx lr
+ arm_func_end func_ov00_020a8ce0
+
+ .global func_ov00_020a8cec
+ arm_func_start func_ov00_020a8cec
+func_ov00_020a8cec: ; 0x020a8cec
+ stmdb sp!, {r3, lr}
+ ldr r0, _020a8d24 ; =gItemManager
+ ldr r0, [r0]
+ bl _ZN11ItemManager12GetEquipItemEi
+ cmp r0, #0
+ beq _020a8d1c
+ ldr r1, [r0]
+ ldr r1, [r1, #0x24]
+ blx r1
+ cmp r0, #0
+ movne r0, #1
+ ldmneia sp!, {r3, pc}
+_020a8d1c:
+ mov r0, #0
+ ldmia sp!, {r3, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a8cec
+_020a8d24: .word gItemManager
+
+ .global func_ov00_020a8d28
+ arm_func_start func_ov00_020a8d28
+func_ov00_020a8d28: ; 0x020a8d28
+ ldr r0, _020a8d38 ; =gItemManager
+ ldr ip, _020a8d3c ; =_ZN11ItemManager12GetEquipItemEi
+ ldr r0, [r0]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a8d28
+_020a8d38: .word gItemManager
+_020a8d3c: .word _ZN11ItemManager12GetEquipItemEi
+
+ .global func_ov00_020a8d40
+ arm_func_start func_ov00_020a8d40
+func_ov00_020a8d40: ; 0x020a8d40
+ ldr r0, _020a8d4c ; =data_027e0fd4
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+ arm_func_end func_ov00_020a8d40
+_020a8d4c: .word data_027e0fd4
+
+ .global func_ov00_020a8d50
+ arm_func_start func_ov00_020a8d50
+func_ov00_020a8d50: ; 0x020a8d50
+ ldr r0, _020a8d64 ; =data_027e0fcc
+ ldr ip, _020a8d68 ; =func_ov00_020c0d68
+ ldr r0, [r0]
+ ldr r0, [r0, #0x138]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a8d50
+_020a8d64: .word data_027e0fcc
+_020a8d68: .word func_ov00_020c0d68
+
+ .global func_ov00_020a8d6c
+ arm_func_start func_ov00_020a8d6c
+func_ov00_020a8d6c: ; 0x020a8d6c
+ ldr r0, _020a8d80 ; =data_027e0fcc
+ ldr ip, _020a8d84 ; =func_ov00_020c0d68
+ ldr r0, [r0]
+ ldr r0, [r0, #0x118]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a8d6c
+_020a8d80: .word data_027e0fcc
+_020a8d84: .word func_ov00_020c0d68
+
+ .global func_ov00_020a8d88
+ arm_func_start func_ov00_020a8d88
+func_ov00_020a8d88: ; 0x020a8d88
+ stmdb sp!, {r3, lr}
+ ldr r0, _020a8db4 ; =data_027e0fcc
+ ldr r0, [r0]
+ ldr r2, [r0]
+ ldr r2, [r2, #0x14]
+ blx r2
+ cmp r0, #0
+ ldrneh r0, [r0, #4]
+ movne r0, r0, lsl #0xc
+ moveq r0, #0x1000
+ ldmia sp!, {r3, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a8d88
+_020a8db4: .word data_027e0fcc
+
+ .global func_ov00_020a8db8
+ arm_func_start func_ov00_020a8db8
+func_ov00_020a8db8: ; 0x020a8db8
+ ldr r0, _020a8dc8 ; =data_027e0fcc
+ ldr r0, [r0]
+ ldr r0, [r0, #0x100]
+ bx lr
+ .align 2, 0
+ arm_func_end func_ov00_020a8db8
+_020a8dc8: .word data_027e0fcc
+
+ .global func_ov00_020a8dcc
+ arm_func_start func_ov00_020a8dcc
+func_ov00_020a8dcc: ; 0x020a8dcc
+ ldr r0, _020a8ddc ; =data_027e0fcc
+ ldr r0, [r0]
+ ldr r0, [r0, #0x120]
+ bx lr
+ .align 2, 0
+ arm_func_end func_ov00_020a8dcc
+_020a8ddc: .word data_027e0fcc
+
+ .global func_ov00_020a8de0
+ arm_func_start func_ov00_020a8de0
+func_ov00_020a8de0: ; 0x020a8de0
+ ldr r0, [r0, #8]
+ add r0, r0, #0x38
+ bx lr
+ arm_func_end func_ov00_020a8de0
+
+ .global func_ov00_020a8dec
+ arm_func_start func_ov00_020a8dec
+func_ov00_020a8dec: ; 0x020a8dec
+ ldr r0, [r0, #8]
+ ldr r0, [r0, #0x64]
+ bx lr
+ arm_func_end func_ov00_020a8dec
+
+ .global func_ov00_020a8df8
+ arm_func_start func_ov00_020a8df8
+func_ov00_020a8df8: ; 0x020a8df8
+ ldr r0, [r0, #8]
+ ldr r0, [r0, #0x68]
+ bx lr
+ arm_func_end func_ov00_020a8df8
+
+ .rodata
+ .global data_ov00_020dc510
+data_ov00_020dc510: ; 0x020dc510
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020dc514
+data_ov00_020dc514: ; 0x020dc514
+ .byte 0x03, 0x00, 0x00, 0x00
+ .global data_ov00_020dc518
+data_ov00_020dc518: ; 0x020dc518
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020dc51c
+data_ov00_020dc51c: ; 0x020dc51c
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020dc520
+data_ov00_020dc520: ; 0x020dc520
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020dc524
+data_ov00_020dc524: ; 0x020dc524
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .data
+ .global data_ov00_020e5630
+data_ov00_020e5630: ; 0x020e5630
+ .ascii "brg"
+ .byte 0x00
+ .global data_ov00_020e5634
+data_ov00_020e5634: ; 0x020e5634
+ .ascii "fnl"
+ .byte 0x00
+ .global data_ov00_020e5638
+data_ov00_020e5638: ; 0x020e5638
+ .ascii "pdl"
+ .byte 0x00
+ .global data_ov00_020e563c
+data_ov00_020e563c: ; 0x020e563c
+ .ascii "dco"
+ .byte 0x00
+ .global data_ov00_020e5640
+data_ov00_020e5640: ; 0x020e5640
+ .ascii "can"
+ .byte 0x00
+ .global data_ov00_020e5644
+data_ov00_020e5644: ; 0x020e5644
+ .ascii "hul"
+ .byte 0x00
+ .global data_ov00_020e5648
+data_ov00_020e5648: ; 0x020e5648
+ .ascii "bow"
+ .byte 0x00
+ .global data_ov00_020e564c
+data_ov00_020e564c: ; 0x020e564c
+ .ascii "anc"
+ .byte 0x00
+ .global data_ov00_020e5650
+data_ov00_020e5650: ; 0x020e5650
+ .word data_ov00_020e564c
+ .global data_ov00_020e5654
+data_ov00_020e5654: ; 0x020e5654
+ .word data_ov00_020e5648
+ .global data_ov00_020e5658
+data_ov00_020e5658: ; 0x020e5658
+ .word data_ov00_020e5644
+ .global data_ov00_020e565c
+data_ov00_020e565c: ; 0x020e565c
+ .word data_ov00_020e5640
+ .global data_ov00_020e5660
+data_ov00_020e5660: ; 0x020e5660
+ .word data_ov00_020e563c
+ .global data_ov00_020e5664
+data_ov00_020e5664: ; 0x020e5664
+ .word data_ov00_020e5638
+ .global data_ov00_020e5668
+data_ov00_020e5668: ; 0x020e5668
+ .word data_ov00_020e5634
+ .global data_ov00_020e566c
+data_ov00_020e566c: ; 0x020e566c
+ .word data_ov00_020e5630
+ .global data_ov00_020e5670
+data_ov00_020e5670: ; 0x020e5670
+ .byte 0x29, 0x00, 0x00, 0x00
+ .global data_ov00_020e5674
+data_ov00_020e5674: ; 0x020e5674
+ .byte 0x27, 0x00, 0x00, 0x00
+ .global data_ov00_020e5678
+data_ov00_020e5678: ; 0x020e5678
+ .byte 0x00, 0x10, 0x00, 0x00
+ .global data_ov00_020e567c
+data_ov00_020e567c: ; 0x020e567c
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5680
+data_ov00_020e5680: ; 0x020e5680
+ .byte 0x00, 0x50, 0x00, 0x00
+ .global data_ov00_020e5684
+data_ov00_020e5684: ; 0x020e5684
+ .byte 0x01, 0x00, 0x00, 0x00
+ .global data_ov00_020e5688
+data_ov00_020e5688: ; 0x020e5688
+ .byte 0x33, 0x13, 0x00, 0x00
+ .global data_ov00_020e568c
+data_ov00_020e568c: ; 0x020e568c
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5690
+data_ov00_020e5690: ; 0x020e5690
+ .byte 0x00, 0xc0, 0x03, 0x00
+ .global data_ov00_020e5694
+data_ov00_020e5694: ; 0x020e5694
+ .byte 0x1f, 0x00, 0x00, 0x00
+ .global data_ov00_020e5698
+data_ov00_020e5698: ; 0x020e5698
+ .byte 0x00, 0x10, 0x00, 0x00
+ .global data_ov00_020e569c
+data_ov00_020e569c: ; 0x020e569c
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e56a0
+data_ov00_020e56a0: ; 0x020e56a0
+ .byte 0x00, 0xc0, 0x03, 0x00
+ .global data_ov00_020e56a4
+data_ov00_020e56a4: ; 0x020e56a4
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e56a8
+data_ov00_020e56a8: ; 0x020e56a8
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e56ac
+data_ov00_020e56ac: ; 0x020e56ac
+ .word func_ov00_020a7fa4
+ .global data_ov00_020e56b0
+data_ov00_020e56b0: ; 0x020e56b0
+ .word func_ov04_0210ade4 ; data_ov07_0210ade4
+ .global data_ov00_020e56b4
+data_ov00_020e56b4: ; 0x020e56b4
+ .word func_ov04_0210ade8 ; data_ov07_0210ade8
+ .global data_ov00_020e56b8
+data_ov00_020e56b8: ; 0x020e56b8
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e56bc
+data_ov00_020e56bc: ; 0x020e56bc
+ .word func_ov04_0210adf8 ; data_ov07_0210adf8
+ .global data_ov00_020e56c0
+data_ov00_020e56c0: ; 0x020e56c0
+ .word func_ov00_020a7fa8 - 1
+ .global data_ov00_020e56c4
+data_ov00_020e56c4: ; 0x020e56c4
+ .word func_ov00_020a7fac - 1
+ .global data_ov00_020e56c8
+data_ov00_020e56c8: ; 0x020e56c8
+ .word func_ov05_0210f700
+ .global data_ov00_020e56cc
+data_ov00_020e56cc: ; 0x020e56cc
+ .word func_ov00_020a7fb0 - 1
+ .global data_ov00_020e56d0
+data_ov00_020e56d0: ; 0x020e56d0
+ .word func_ov00_020a7fb8 - 1
+ .global data_ov00_020e56d4
+data_ov00_020e56d4: ; 0x020e56d4
+ .word func_ov00_020a8108 - 1
+ .global data_ov00_020e56d8
+data_ov00_020e56d8: ; 0x020e56d8
+ .word func_ov05_0210f704
+ .global data_ov00_020e56dc
+data_ov00_020e56dc: ; 0x020e56dc
+ .word func_ov05_0210f708
+ .global data_ov00_020e56e0
+data_ov00_020e56e0: ; 0x020e56e0
+ .word func_ov00_020a8110 - 1
+ .global data_ov00_020e56e4
+data_ov00_020e56e4: ; 0x020e56e4
+ .word func_ov05_0210f70c
+ .global data_ov00_020e56e8
+data_ov00_020e56e8: ; 0x020e56e8
+ .word func_ov05_0210f714
+ .global data_ov00_020e56ec
+data_ov00_020e56ec: ; 0x020e56ec
+ .word func_ov05_0210f71c
diff --git a/asm/ov00/Player/LinkStateDamage.s b/asm/ov00/Player/LinkStateDamage.s
index cf850110..0fc30b37 100644
--- a/asm/ov00/Player/LinkStateDamage.s
+++ b/asm/ov00/Player/LinkStateDamage.s
@@ -1302,6 +1302,38 @@ data_ov00_020dc570: ; 0x020dc570
.byte 0x00, 0x00, 0x00, 0x00
.data
+ .global data_ov00_020e5a8c
+data_ov00_020e5a8c: ; 0x020e5a8c
+ .ascii "fnl"
+ .byte 0x00
+ .global data_ov00_020e5a90
+data_ov00_020e5a90: ; 0x020e5a90
+ .ascii "bow"
+ .byte 0x00
+ .global data_ov00_020e5a94
+data_ov00_020e5a94: ; 0x020e5a94
+ .ascii "dco"
+ .byte 0x00
+ .global data_ov00_020e5a98
+data_ov00_020e5a98: ; 0x020e5a98
+ .ascii "can"
+ .byte 0x00
+ .global data_ov00_020e5a9c
+data_ov00_020e5a9c: ; 0x020e5a9c
+ .ascii "hul"
+ .byte 0x00
+ .global data_ov00_020e5aa0
+data_ov00_020e5aa0: ; 0x020e5aa0
+ .ascii "pdl"
+ .byte 0x00
+ .global data_ov00_020e5aa4
+data_ov00_020e5aa4: ; 0x020e5aa4
+ .ascii "anc"
+ .byte 0x00
+ .global data_ov00_020e5aa8
+data_ov00_020e5aa8: ; 0x020e5aa8
+ .ascii "brg"
+ .byte 0x00
.global data_ov00_020e5aac
data_ov00_020e5aac: ; 0x020e5aac
.word data_ov00_020e5aa4
diff --git a/asm/ov00/Player/include/LinkStateBase.inc b/asm/ov00/Player/include/LinkStateBase.inc
new file mode 100644
index 00000000..cd075073
--- /dev/null
+++ b/asm/ov00/Player/include/LinkStateBase.inc
@@ -0,0 +1,126 @@
+#pragma once
+.extern func_ov00_020aeeac
+.extern func_ov00_020aeeac
+.extern func_ov00_02097bbc
+.extern func_ov00_020af4a4
+.extern data_027e0f74
+.extern data_027e0c68
+.extern data_027e0f64
+.extern data_027e0fb8
+.extern func_ov23_02178354
+.extern func_ov00_020bd364
+.extern func_ov00_020bb544
+.extern func_ov00_020bb594
+.extern identifier,
+.extern _ZN11ItemManager12GetEquipItemEi
+.extern gItemManager
+.extern gItemManager
+.extern identifier,
+.extern _ZN11ItemManager22UpdateSwordShieldInUseEv
+.extern func_ov05_02106980
+.extern func_01fffcd8
+.extern func_ov00_020a7bac
+.extern func_ov00_020bb810
+.extern func_ov00_020bbbd0
+.extern func_0202b154
+.extern func_ov00_020b4558
+.extern data_027e0fac
+.extern data_027e0fcc
+.extern data_027e0fcc
+.extern func_ov00_020b4558
+.extern data_027e0fcc
+.extern func_ov00_020b44d4
+.extern func_ov00_020bb5f0
+.extern func_ov00_020b45e0
+.extern data_027e0d0c
+.extern data_02050f54
+.extern func_ov00_020c1500
+.extern func_ov00_020c1500
+.extern func_ov00_020c3348
+.extern func_ov00_020c4048
+.extern func_ov00_020c3674
+.extern data_027e0fe8
+.extern data_027e0fe4
+.extern func_ov00_020a7b8c
+.extern func_ov00_020a7b9c
+.extern func_ov00_0207c5d4
+.extern data_027e0e58
+.extern data_027e0fcc
+.extern func_ov00_020a5e9c
+.extern func_ov23_02177ba0
+.extern func_ov00_020bc46c
+.extern func_ov00_020bc90c
+.extern func_ov00_020b1a4c
+.extern data_027e0d38
+.extern func_ov00_020bd3b0
+.extern func_ov00_020b6e70
+.extern data_027e0fd4
+.extern func_ov00_020bccc8
+.extern func_01ffa0f4
+.extern func_01ff9bf8
+.extern func_01ffa0f4
+.extern data_02050f54
+.extern func_ov00_0208b180
+.extern func_01ffe468
+.extern func_ov00_020b1498
+.extern func_ov00_020b1498
+.extern data_027e0fb8
+.extern data_027e0618
+.extern data_027e0f64
+.extern func_ov05_0211097c
+.extern func_ov05_0211097c
+.extern func_ov00_020b45f8
+.extern data_027e0fcc
+.extern data_027e0fcc
+.extern func_ov00_020b45f8
+.extern data_027e0fcc
+.extern func_ov00_020b464c
+.extern func_ov00_020c0e24
+.extern func_ov00_020c0e24
+.extern data_027e0fcc
+.extern func_0202e310
+.extern func_0202e310
+.extern data_027e0fcc
+.extern func_0202e58c
+.extern data_027e0fcc
+.extern data_027e0fd4
+.extern data_027e0fcc
+.extern func_ov00_020bc46c
+.extern data_027e0fcc
+.extern func_ov00_020bc500
+.extern func_ov00_020bc46c
+.extern func_ov00_020bc48c
+.extern data_027e0fd4
+.extern func_ov00_020b5268
+.extern data_027e0f94
+.extern data_027e0fa0
+.extern data_027e0fd4
+.extern data_027e0fac
+.extern data_027e0fb0
+.extern data_027e0fcc
+.extern data_027e0fe4
+.extern func_ov00_020c3674
+.extern func_ov00_020bc71c
+.extern identifier,
+.extern _ZN11ItemManager12GetEquipItemEi
+.extern gItemManager
+.extern gItemManager
+.extern identifier,
+.extern _ZN11ItemManager12GetEquipItemEi
+.extern data_027e0fd4
+.extern data_027e0fcc
+.extern func_ov00_020c0d68
+.extern data_027e0fcc
+.extern func_ov00_020c0d68
+.extern data_027e0fcc
+.extern data_027e0fcc
+.extern data_027e0fcc
+.extern func_ov04_0210ade4
+.extern func_ov04_0210ade8
+.extern func_ov04_0210adf8
+.extern func_ov05_0210f700
+.extern func_ov05_0210f704
+.extern func_ov05_0210f708
+.extern func_ov05_0210f70c
+.extern func_ov05_0210f714
+.extern func_ov05_0210f71c
diff --git a/asm/ov00/Player/include/LinkStateDamage.inc b/asm/ov00/Player/include/LinkStateDamage.inc
index 48d2351c..3cd73813 100644
--- a/asm/ov00/Player/include/LinkStateDamage.inc
+++ b/asm/ov00/Player/include/LinkStateDamage.inc
@@ -203,4 +203,5 @@
.extern func_ov00_020a8110
.extern func_ov05_0210f70c
.extern func_ov05_0210f714
-.extern func_ov04_0210f6dc \ No newline at end of file
+.extern func_ov04_0210f6dc
+.extern func_ov05_0210f6dc
diff --git a/asm/ov00/include/ov00_0207af9c.inc b/asm/ov00/include/ov00_0207af9c.inc
index d0c9e638..1b61c846 100644
--- a/asm/ov00/include/ov00_0207af9c.inc
+++ b/asm/ov00/include/ov00_0207af9c.inc
@@ -2399,3 +2399,99 @@
.extern _ZNK11ItemManager8GetFairyEi
.extern _ZN11ItemManager12GetEquipItemEi
.extern _ZNK11ItemManager15HasPurplePotionEv
+.extern func_ov00_020a956c
+.extern func_ov00_020a95ec
+.extern func_ov00_020a95ec
+.extern func_ov00_020a956c
+.extern func_ov00_020a956c
+.extern func_ov00_020a95ec
+.extern func_ov00_020a95ec
+.extern func_ov00_020a95ec
+.extern func_ov00_020a956c
+.extern func_ov00_020a9998
+.extern func_ov00_020a95ec
+.extern func_ov00_020a95ec
+.extern func_ov00_020a9a68
+.extern data_ov00_020e5868
+.extern func_ov00_020a9a68
+.extern data_ov00_020e5868
+.extern func_ov00_020a960c
+.extern func_ov00_020a9614
+.extern func_ov00_020a9650
+.extern func_ov00_020a96d4
+.extern func_ov00_020a9740
+.extern func_ov00_020a9764
+.extern func_ov00_020a97d0
+.extern func_ov00_020a97e0
+.extern func_ov00_020a97f8
+.extern func_ov00_020a9864
+.extern func_ov00_020a98bc
+.extern func_ov00_020a9890
+.extern func_ov00_020a9968
+.extern func_ov00_020a9994
+.extern func_ov00_020a960c
+.extern func_ov00_020a9614
+.extern func_ov00_020a9650
+.extern func_ov00_020a96d4
+.extern func_ov00_020a9740
+.extern func_ov00_020a9764
+.extern func_ov00_020a97d0
+.extern func_ov00_020a97e0
+.extern func_ov00_020a97f8
+.extern func_ov00_020a9864
+.extern func_ov00_020a98bc
+.extern func_ov00_020a9890
+.extern func_ov00_020a9968
+.extern func_ov00_020a960c
+.extern func_ov00_020a9614
+.extern func_ov00_020a9650
+.extern func_ov00_020a96d4
+.extern func_ov00_020a9740
+.extern func_ov00_020a9764
+.extern func_ov00_020a97d0
+.extern func_ov00_020a97e0
+.extern func_ov00_020a97f8
+.extern func_ov00_020a9864
+.extern func_ov00_020a98bc
+.extern func_ov00_020a9890
+.extern func_ov00_020a9968
+.extern func_ov00_020a9994
+.extern func_ov00_020a960c
+.extern func_ov00_020a9614
+.extern func_ov00_020a9650
+.extern func_ov00_020a96d4
+.extern func_ov00_020a9740
+.extern func_ov00_020a9764
+.extern func_ov00_020a97d0
+.extern func_ov00_020a97e0
+.extern func_ov00_020a97f8
+.extern func_ov00_020a9864
+.extern func_ov00_020a98bc
+.extern func_ov00_020a9890
+.extern func_ov00_020a9968
+.extern func_ov00_020a960c
+.extern func_ov00_020a9614
+.extern func_ov00_020a9650
+.extern func_ov00_020a96d4
+.extern func_ov00_020a9740
+.extern func_ov00_020a9764
+.extern func_ov00_020a97d0
+.extern func_ov00_020a97e0
+.extern func_ov00_020a97f8
+.extern func_ov00_020a9864
+.extern func_ov00_020a98bc
+.extern func_ov00_020a9890
+.extern func_ov00_020a9968
+.extern func_ov00_020a960c
+.extern func_ov00_020a9614
+.extern func_ov00_020a9650
+.extern func_ov00_020a96d4
+.extern func_ov00_020a9740
+.extern func_ov00_020a9764
+.extern func_ov00_020a97d0
+.extern func_ov00_020a97e0
+.extern func_ov00_020a97f8
+.extern func_ov00_020a9864
+.extern func_ov00_020a98bc
+.extern func_ov00_020a9890
+.extern func_ov00_020a9968
diff --git a/asm/ov00/include/ov00_020a8e04.inc b/asm/ov00/include/ov00_020a8e04.inc
new file mode 100644
index 00000000..c86df08d
--- /dev/null
+++ b/asm/ov00/include/ov00_020a8e04.inc
@@ -0,0 +1,435 @@
+#pragma once
+.extern func_ov00_020a8dec
+.extern func_ov00_020a8d28
+.extern func_ov00_020a8d28
+.extern func_ov00_020a7b8c
+.extern func_ov00_020c06b0
+.extern func_ov00_020d77e4
+.extern data_ov00_020eec9c
+.extern func_ov00_020a7fac
+.extern func_ov00_020a8c08
+.extern func_ov00_020a7fb8
+.extern func_ov00_020a8d40
+.extern func_ov00_020a8d40
+.extern func_ov00_020840c4
+.extern func_ov00_020a8c4c
+.extern func_01ff9bf8
+.extern func_01ff9cec
+.extern func_0202d95c
+.extern func_ov00_020a8c58
+.extern func_0202b308
+.extern data_027e0e60
+.extern func_ov00_020a7fac
+.extern func_ov00_020af050
+.extern func_ov00_02083a1c
+.extern func_ov00_020840c4
+.extern func_ov14_0214bd08
+.extern data_027e0fb8
+.extern data_027e0e60
+.extern func_ov00_020a7fb8
+.extern func_ov00_020a7fb8
+.extern func_01fffcd8
+.extern func_ov00_020af01c
+.extern func_ov00_02083c7c
+.extern data_027e0fb8
+.extern data_027e0e60
+.extern func_ov00_020a7b8c
+.extern data_027e0d78
+.extern _ZN9SysObjectdlEPv
+.extern _ZN9SysObjectdlEPv
+.extern func_0202ea18
+.extern func_ov00_020b3ea8
+.extern func_0202ea18
+.extern func_ov00_020b3ea8
+.extern _ZN9SysObjectdlEPv
+.extern func_0202ea18
+.extern func_ov00_020b3ea8
+.extern func_020189dc
+.extern func_020183b4
+.extern func_020079d8
+.extern func_0201838c
+.extern func_020183b4
+.extern func_020079d8
+.extern data_027e0438
+.extern data_027e037c
+.extern data_027e016c
+.extern data_027e0194
+.extern func_020079d8
+.extern func_0201838c
+.extern func_020079d8
+.extern data_027e0438
+.extern data_027e037c
+.extern data_027e0194
+.extern func_0201838c
+.extern func_01ffa9fc
+.extern func_01ffa9fc
+.extern func_01ffa9fc
+.extern func_01ffa9fc
+.extern data_027e045c
+.extern data_027e0438
+.extern data_027e0468
+.extern data_027e03c8
+.extern func_02019ae8
+.extern func_ov00_020c0d70
+.extern func_02018c3c
+.extern func_02018c3c
+.extern func_02018c3c
+.extern func_02018c3c
+.extern func_02018c3c
+.extern func_02018c3c
+.extern func_0201e388
+.extern func_0201e388
+.extern func_ov00_020b3eac
+.extern func_0202e9f4
+.extern data_027e0ce0
+.extern func_02019ae8
+.extern func_02018c90
+.extern func_ov00_020c0c08
+.extern func_0202e9f4
+.extern data_027e0ce0
+.extern func_0202ea18
+.extern func_ov00_020c0c40
+.extern func_0202ea18
+.extern func_ov00_020c0c40
+.extern _ZN9SysObjectdlEPv
+.extern func_02018884
+.extern func_0202e9f4
+.extern data_027e0ce0
+.extern func_ov00_020c0c40
+.extern func_ov00_020c0c40
+.extern _ZN9SysObjectdlEPv
+.extern func_ov00_020c0c40
+.extern func_ov00_020c0c40
+.extern _ZN9SysObjectdlEPv
+.extern func_ov00_020c0c40
+.extern func_ov00_020c0c40
+.extern _ZN9SysObjectdlEPv
+.extern func_ov00_020c0c40
+.extern func_ov00_020c0c40
+.extern _ZN9SysObjectdlEPv
+.extern func_ov00_020c0c40
+.extern func_ov00_020c0c40
+.extern _ZN9SysObjectdlEPv
+.extern func_ov00_020c0c40
+.extern func_ov00_020c0c40
+.extern _ZN9SysObjectdlEPv
+.extern func_ov00_020c0c40
+.extern func_ov00_020c0c40
+.extern _ZN9SysObjectdlEPv
+.extern func_ov00_020c0c40
+.extern func_ov00_020c0c40
+.extern _ZN9SysObjectdlEPv
+.extern func_0202ea18
+.extern func_0202ea18
+.extern _ZN9SysObjectdlEPv
+.extern func_02018ca4
+.extern func_01ff80d4
+.extern func_01ff8690
+.extern func_0201b2f8
+.extern func_01ff83a0
+.extern func_01ff8248
+.extern func_01ff8690
+.extern func_01ff8248
+.extern func_01ff8690
+.extern func_01ff8230
+.extern func_01ff8690
+.extern func_01ff81f8
+.extern func_01ff8690
+.extern data_02050f54
+.extern func_ov00_020c0e94
+.extern func_ov00_020c0ea0
+.extern func_ov00_020c0e94
+.extern func_ov00_020c0e94
+.extern func_ov00_020c0ea0
+.extern func_ov00_020c0e94
+.extern func_01ffa9fc
+.extern func_0201b1bc
+.extern func_02018450
+.extern func_01ff8e84
+.extern func_01ffa9fc
+.extern func_01ffa9fc
+.extern func_01ffa9fc
+.extern func_0201b1bc
+.extern func_02018450
+.extern func_01ff8e84
+.extern func_0201b1bc
+.extern func_02018450
+.extern func_01ff8e84
+.extern func_0201b1bc
+.extern func_02018450
+.extern func_01ff8e84
+.extern func_0201b1bc
+.extern func_02018450
+.extern func_01ff8e84
+.extern func_0201b35c
+.extern func_02019570
+.extern func_02019570
+.extern func_020193f0
+.extern func_02019434
+.extern func_02019478
+.extern func_ov00_02079e68
+.extern func_02019534
+.extern func_02019570
+.extern func_020193f0
+.extern func_02019434
+.extern func_02019478
+.extern func_02019534
+.extern func_02019570
+.extern func_020193f0
+.extern func_02019434
+.extern func_02019478
+.extern func_02019534
+.extern data_ov00_020e9360
+.extern func_ov00_020a8dec
+.extern func_ov00_020a8dec
+.extern func_ov00_020a8dec
+.extern func_ov00_020a8d88
+.extern func_ov00_020a8dec
+.extern func_ov00_020a8dec
+.extern func_ov00_020a8dec
+.extern func_ov00_020a8dec
+.extern func_ov00_020a8dec
+.extern func_ov00_020a8dec
+.extern func_ov00_020a82ac
+.extern func_ov00_020a8158
+.extern func_ov00_020a8138
+.extern func_ov00_020af044
+.extern func_ov00_020a8a4c
+.extern func_ov00_020a8a4c
+.extern func_ov00_020a8ca4
+.extern func_ov00_020a8c4c
+.extern func_ov00_020d7b20
+.extern func_01ffa0f4
+.extern func_ov00_020a8c78
+.extern func_ov00_020a89bc
+.extern func_ov00_020a8994
+.extern func_ov00_020a8ca4
+.extern func_01ffa0f4
+.extern func_ov00_020a8c78
+.extern func_ov00_020a8a4c
+.extern func_ov00_020a8138
+.extern func_ov00_020af044
+.extern func_ov00_020c3674
+.extern func_ov00_020a8ce0
+.extern func_ov00_020a8138
+.extern func_020350b4
+.extern func_020351b8
+.extern func_ov00_020a8ce0
+.extern func_ov00_020a8ce0
+.extern func_ov00_020af044
+.extern func_ov00_020a8138
+.extern data_027e0fb8
+.extern data_ov00_020eec9c
+.extern data_027e0fe4
+.extern func_ov00_020a7fac
+.extern func_ov00_020af050
+.extern func_ov00_020a8ca4
+.extern func_ov00_020a8cc4
+.extern data_027e0fb8
+.extern _ZNK11ItemManager16GetEquippedFairyEv
+.extern _ZNK11ItemManager8GetFairyEi
+.extern func_ov00_020ba458
+.extern gItemManager
+.extern func_ov00_020a8c4c
+.extern func_01ff9bf8
+.extern func_ov00_020a8c78
+.extern func_ov00_020a8c78
+.extern func_ov00_020c2a0c
+.extern func_ov00_020a8c58
+.extern func_ov00_020a8c58
+.extern func_ov00_020a8c58
+.extern func_ov00_020a8c58
+.extern func_ov00_020a8c58
+.extern func_ov00_020a8c58
+.extern func_ov00_020a8c58
+.extern func_ov00_020a8c58
+.extern func_ov00_020a8c58
+.extern func_ov00_020a8c58
+.extern data_02050f54
+.extern func_ov00_020a8ba0
+.extern func_ov00_020a8b80
+.extern func_ov00_020a8ca4
+.extern func_ov00_020a8c78
+.extern func_ov00_020b05e8
+.extern func_ov00_020b049c
+.extern func_ov00_020c3674
+.extern func_ov00_020a8d40
+.extern func_ov00_020b0ad0
+.extern func_ov00_020a8d40
+.extern func_ov00_020afe88
+.extern func_ov00_020af050
+.extern func_ov00_020a8ca4
+.extern func_01ff9e64
+.extern func_01ffbe78
+.extern func_ov00_020a8c4c
+.extern func_01ff9bf8
+.extern func_ov00_020c2a0c
+.extern func_01ff9cec
+.extern func_ov00_020af044
+.extern func_ov00_020a7b8c
+.extern func_ov00_020a8ca4
+.extern func_ov00_020a8bd8
+.extern func_ov23_02171410
+.extern func_01ff9cec
+.extern func_01ffa0f4
+.extern func_ov00_020a8c78
+.extern func_ov00_020a81b8
+.extern func_ov00_020a81b8
+.extern func_ov00_020a81b8
+.extern func_ov00_020a81b8
+.extern func_ov00_020a8d40
+.extern func_ov00_020a81b8
+.extern func_ov00_020a8c78
+.extern func_01ff9cec
+.extern func_ov00_020a8c4c
+.extern func_01ff9bf8
+.extern func_ov00_020af044
+.extern func_01ff9cec
+.extern func_ov00_020a8c4c
+.extern func_01ff9bf8
+.extern func_01ffa0f4
+.extern func_0202bbbc
+.extern func_0202bba8
+.extern func_ov00_020a8c78
+.extern func_01ff9cec
+.extern func_ov05_0211139c
+.extern func_ov00_020a8cc4
+.extern func_ov00_020a81ec
+.extern func_ov05_021113b4
+.extern func_ov00_020c1908
+.extern func_ov00_020a8158
+.extern func_ov00_020af050
+.extern gItemManager
+.extern data_027e0d0c
+.extern data_02050f54
+.extern data_027e0fb8
+.extern data_027e0fe4
+.extern data_027e0e60
+.extern func_01fffcd8
+.extern func_ov00_020a7fb8
+.extern func_ov00_020a7fb8
+.extern func_ov00_020a7fb8
+.extern func_ov00_020a8dcc
+.extern func_ov00_020a8d50
+.extern Divide
+.extern func_ov00_020a8c78
+.extern data_02050f54
+.extern func_ov00_020a8ca4
+.extern func_ov00_020a8cc4
+.extern data_027e0d0c
+.extern func_ov00_020a8ca4
+.extern func_ov00_020a8ca4
+.extern func_ov00_020c3180
+.extern func_ov00_020aeffc
+.extern data_027e0fb8
+.extern func_ov00_020a7b8c
+.extern func_ov00_020c2a0c
+.extern func_ov00_020a8c4c
+.extern func_01ff9bf8
+.extern func_01ffa0f4
+.extern func_0202bbbc
+.extern func_ov00_020a8c4c
+.extern func_01ff9bf8
+.extern func_0202da8c
+.extern func_ov00_020a8c4c
+.extern func_01ff9bf8
+.extern func_ov00_020a8ca4
+.extern func_ov00_020a8c4c
+.extern func_01ff9bf8
+.extern func_ov00_020a8138
+.extern func_ov00_020a8ca4
+.extern func_ov00_020a8c4c
+.extern func_01ff9bf8
+.extern func_ov00_020a8ca4
+.extern func_ov00_020a8c4c
+.extern func_ov00_020a8c4c
+.extern func_01ff9bc4
+.extern func_ov17_0215dff0
+.extern func_ov17_0215e338
+.extern func_ov00_020a8c78
+.extern func_ov00_020a8cc4
+.extern func_ov00_020a8c4c
+.extern func_ov00_020d7a84
+.extern data_02050f54
+.extern data_ov00_020eec9c
+.extern func_ov00_020a8148
+.extern func_ov00_020a8bf8
+.extern func_ov00_020a8bf8
+.extern func_ov00_020a8b80
+.extern func_ov00_020a8ca4
+.extern func_ov00_020a8bf8
+.extern func_ov00_020c3674
+.extern func_ov00_020a8cc4
+.extern func_ov00_020a81ec
+.extern func_ov00_020a8c4c
+.extern func_ov00_020d7a84
+.extern func_ov00_020a8ca4
+.extern func_ov00_020a8148
+.extern data_027e0fb8
+.extern data_027e0fe4
+.extern data_ov00_020eec9c
+.extern func_ov00_020a7fac
+.extern func_ov00_020cf01c
+.extern func_ov14_0213ec64
+.extern func_ov14_0211fd04
+.extern func_ov55_02198f90
+.extern func_ov57_0219a32c
+.extern func_ov59_0219931c
+.extern func_ov00_020cf9dc
+.extern func_ov54_021997f0
+.extern func_ov00_020a8d28
+.extern func_ov00_020a8158
+.extern func_ov00_020a8158
+.extern func_ov00_020b7e6c
+.extern func_ov00_020af050
+.extern data_027e103c
+.extern data_027e1098
+.extern data_027e0fb8
+.extern func_01fffcec
+.extern func_01fffcd8
+.extern data_027e0f74
+.extern func_ov00_02097b9c
+.extern func_ov04_0210aef4
+.extern func_ov04_0210af00
+.extern data_ov04_021113dc
+.extern func_ov00_020a7fb0
+.extern func_ov00_020a8108
+.extern func_ov05_0210f704
+.extern func_ov05_0210f708
+.extern func_ov00_020a8110
+.extern func_ov05_0210f70c
+.extern func_ov05_02111a98
+.extern func_ov05_0210f71c
+.extern func_ov04_0210ad94
+.extern func_ov04_0210adb0
+.extern func_ov04_0210adf8
+.extern func_ov05_0210b57c
+.extern func_ov05_0210b97c
+.extern func_ov05_0210c20c
+.extern func_ov05_0210c990
+.extern func_ov05_0210f708
+.extern func_ov05_0210f70c
+.extern func_ov05_0210f714
+.extern func_ov05_0210f71c
+.extern func_ov04_0210ab88
+.extern func_ov04_0210ab9c
+.extern func_ov05_0210a648
+.extern func_ov00_020a8108
+.extern func_ov05_0210b3bc
+.extern func_ov05_0210f708
+.extern func_ov05_0210f70c
+.extern func_ov05_0210f714
+.extern func_ov05_0210f71c
+.extern func_ov04_02109ae8
+.extern func_ov04_02109b08
+.extern func_ov04_0210adf8
+.extern func_ov05_0210540c
+.extern func_ov05_021055e0
+.extern func_ov05_02105670
+.extern func_ov05_021057c4
+.extern func_ov05_0210f704
+.extern func_ov05_0210f708
+.extern func_ov00_020a8110
+.extern func_ov05_0210f70c
+.extern func_ov05_0210f714
+.extern func_ov05_0210f71c
diff --git a/asm/ov00/ov00_0207af9c.s b/asm/ov00/ov00_0207af9c.s
index 4b5cc8e2..cd8144f9 100644
--- a/asm/ov00/ov00_0207af9c.s
+++ b/asm/ov00/ov00_0207af9c.s
@@ -57932,5623 +57932,6 @@ func_ov00_020a7f88: ; 0x020a7f88
ldmia sp!, {r3, pc}
arm_func_end func_ov00_020a7f88
- .global func_ov00_020a7fa4
- thumb_func_start func_ov00_020a7fa4
-func_ov00_020a7fa4: ; 0x020a7fa4
- bx lr
- .align 2, 0
- thumb_func_end func_ov00_020a7fa4
-
- .global func_ov00_020a7fa8
- arm_func_start func_ov00_020a7fa8
-func_ov00_020a7fa8: ; 0x020a7fa8
- bx lr
- arm_func_end func_ov00_020a7fa8
-
- .global func_ov00_020a7fac
- arm_func_start func_ov00_020a7fac
-func_ov00_020a7fac: ; 0x020a7fac
- bx lr
- arm_func_end func_ov00_020a7fac
-
- .global func_ov00_020a7fb0
- arm_func_start func_ov00_020a7fb0
-func_ov00_020a7fb0: ; 0x020a7fb0
- mov r0, #0
- bx lr
- arm_func_end func_ov00_020a7fb0
-
- .global func_ov00_020a7fb8
- arm_func_start func_ov00_020a7fb8
-func_ov00_020a7fb8: ; 0x020a7fb8
- stmdb sp!, {r3, r4, r5, r6, r7, lr}
- mov r4, #0
- mov r6, r0
- mov r5, r1
- mov r7, r4
- bl func_ov00_020a8b80
- cmp r0, #0
- beq _020a7fec
- mov r0, r6
- bl func_ov00_020a8d40
- ldrsh r0, [r0, #0xc8]
- cmp r0, #0
- movlt r7, #1
-_020a7fec:
- cmp r7, #0
- beq _020a8004
- ldr r0, [r6, #8]
- ldrsh r0, [r0, #0x5a]
- cmp r0, #0
- movle r4, #1
-_020a8004:
- cmp r5, #7
- addls pc, pc, r5, lsl #2
- b _020a80f0
-_020a8010: ; jump table
- b _020a80f0 ; case 0
- b _020a80f0 ; case 1
- b _020a80f0 ; case 2
- b _020a8030 ; case 3
- b _020a8084 ; case 4
- b _020a8050 ; case 5
- b _020a8030 ; case 6
- b _020a8030 ; case 7
-_020a8030:
- cmp r4, #0
- beq _020a8048
- bl func_ov00_020aeeac
- cmp r0, #0
- movne r0, #1
- ldmneia sp!, {r3, r4, r5, r6, r7, pc}
-_020a8048:
- mov r0, #0
- ldmia sp!, {r3, r4, r5, r6, r7, pc}
-_020a8050:
- cmp r4, #0
- beq _020a807c
- mov r0, r6
- mov r1, #0x3f
- bl func_ov00_020a8ba0
- cmp r0, #0
- bne _020a807c
- bl func_ov00_020aeeac
- cmp r0, #0
- movne r0, #1
- ldmneia sp!, {r3, r4, r5, r6, r7, pc}
-_020a807c:
- mov r0, #0
- ldmia sp!, {r3, r4, r5, r6, r7, pc}
-_020a8084:
- ldr r0, _020a80f8 ; =data_027e0f74
- ldr r0, [r0]
- bl func_ov00_02097bbc
- cmp r0, #0
- movne r0, #0
- ldmneia sp!, {r3, r4, r5, r6, r7, pc}
- ldr r0, _020a80fc ; =data_027e0c68
- ldrb r0, [r0, #4]
- cmp r0, #0
- bne _020a80c8
- ldr r0, _020a8100 ; =data_027e0f64
- ldr r0, [r0]
- ldr r0, [r0, #4]
- ldr r0, [r0, #0x15c]
- cmp r0, #4
- moveq r0, #0
- ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
-_020a80c8:
- cmp r4, #0
- beq _020a80e8
- ldr r0, _020a8104 ; =data_027e0fb8
- ldr r0, [r0]
- bl func_ov00_020af4a4
- cmp r0, #0
- movne r0, #1
- ldmneia sp!, {r3, r4, r5, r6, r7, pc}
-_020a80e8:
- mov r0, #0
- ldmia sp!, {r3, r4, r5, r6, r7, pc}
-_020a80f0:
- mov r0, #1
- ldmia sp!, {r3, r4, r5, r6, r7, pc}
- .align 2, 0
- arm_func_end func_ov00_020a7fb8
-_020a80f8: .word data_027e0f74
-_020a80fc: .word data_027e0c68
-_020a8100: .word data_027e0f64
-_020a8104: .word data_027e0fb8
-
- .global func_ov00_020a8108
- arm_func_start func_ov00_020a8108
-func_ov00_020a8108: ; 0x020a8108
- mov r0, #1
- bx lr
- arm_func_end func_ov00_020a8108
-
- .global func_ov00_020a8110
- arm_func_start func_ov00_020a8110
-func_ov00_020a8110: ; 0x020a8110
- mov r0, #0
- bx lr
- arm_func_end func_ov00_020a8110
-
- .global func_ov00_020a8118
- arm_func_start func_ov00_020a8118
-func_ov00_020a8118: ; 0x020a8118
- ldr ip, _020a8124 ; =func_ov23_02178354
- ldr r0, [r0, #8]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a8118
-_020a8124: .word func_ov23_02178354
-
- .global func_ov00_020a8128
- arm_func_start func_ov00_020a8128
-func_ov00_020a8128: ; 0x020a8128
- ldr ip, _020a8134 ; =func_ov00_020bd364
- ldr r0, [r0, #8]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a8128
-_020a8134: .word func_ov00_020bd364
-
- .global func_ov00_020a8138
- arm_func_start func_ov00_020a8138
-func_ov00_020a8138: ; 0x020a8138
- ldr ip, _020a8144 ; =func_ov00_020bb544
- ldr r0, [r0, #8]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a8138
-_020a8144: .word func_ov00_020bb544
-
- .global func_ov00_020a8148
- arm_func_start func_ov00_020a8148
-func_ov00_020a8148: ; 0x020a8148
- ldr ip, _020a8154 ; =func_ov00_020bb594
- ldr r0, [r0, #8]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a8148
-_020a8154: .word func_ov00_020bb594
-
- .global func_ov00_020a8158
- arm_func_start func_ov00_020a8158
-func_ov00_020a8158: ; 0x020a8158
- stmdb sp!, {r4, r5, r6, lr}
- mov r6, #0
- ldr r4, _020a819c ; =gItemManager
- mov r5, r6
-_020a8168:
- ldr r0, [r4]
- mov r1, r6
- bl _ZN11ItemManager12GetEquipItemEi
- cmp r0, #0
- beq _020a818c
- ldr r2, [r0]
- mov r1, r5
- ldr r2, [r2, #0x28]
- blx r2
-_020a818c:
- add r6, r6, #1
- cmp r6, #0xb
- blt _020a8168
- ldmia sp!, {r4, r5, r6, pc}
- .align 2, 0
- arm_func_end func_ov00_020a8158
-_020a819c: .word gItemManager
-
- .global func_ov00_020a81a0
- arm_func_start func_ov00_020a81a0
-func_ov00_020a81a0: ; 0x020a81a0
- ldr r0, _020a81b0 ; =gItemManager
- ldr ip, _020a81b4 ; =_ZN11ItemManager22UpdateSwordShieldInUseEv
- ldr r0, [r0]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a81a0
-_020a81b0: .word gItemManager
-_020a81b4: .word _ZN11ItemManager22UpdateSwordShieldInUseEv
-
- .global func_ov00_020a81b8
- arm_func_start func_ov00_020a81b8
-func_ov00_020a81b8: ; 0x020a81b8
- stmdb sp!, {r3, r4, r5, lr}
- mov r5, r1
- mov r4, r2
- bl func_ov00_020a81dc
- mov r2, r5
- mov r3, r4
- mov r1, #0
- bl func_ov05_02106980
- ldmia sp!, {r3, r4, r5, pc}
- arm_func_end func_ov00_020a81b8
-
- .global func_ov00_020a81dc
- arm_func_start func_ov00_020a81dc
-func_ov00_020a81dc: ; 0x020a81dc
- ldr ip, _020a81e8 ; =func_01fffcd8
- mov r0, #1
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a81dc
-_020a81e8: .word func_01fffcd8
-
- .global func_ov00_020a81ec
- arm_func_start func_ov00_020a81ec
-func_ov00_020a81ec: ; 0x020a81ec
- ldr ip, _020a81f8 ; =func_ov00_020a7bac
- ldr r0, [r0, #8]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a81ec
-_020a81f8: .word func_ov00_020a7bac
-
- .global func_ov00_020a81fc
- arm_func_start func_ov00_020a81fc
-func_ov00_020a81fc: ; 0x020a81fc
- ldr ip, _020a8208 ; =func_ov00_020bb810
- ldr r0, [r0, #8]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a81fc
-_020a8208: .word func_ov00_020bb810
-
- .global func_ov00_020a820c
- arm_func_start func_ov00_020a820c
-func_ov00_020a820c: ; 0x020a820c
- stmdb sp!, {r3, lr}
- ldr r0, [r0, #8]
- ldr r2, [r0]
- ldr r2, [r2, #0x40]
- blx r2
- ldmia sp!, {r3, pc}
- arm_func_end func_ov00_020a820c
-
- .global func_ov00_020a8224
- arm_func_start func_ov00_020a8224
-func_ov00_020a8224: ; 0x020a8224
- ldr ip, _020a8234 ; =func_ov00_020bbbd0
- ldr r0, [r0, #8]
- mov r2, #1
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a8224
-_020a8234: .word func_ov00_020bbbd0
-
- .global func_ov00_020a8238
- arm_func_start func_ov00_020a8238
-func_ov00_020a8238: ; 0x020a8238
- stmdb sp!, {r4, lr}
- ldr r0, _020a8274 ; =data_027e0fac
- mov r4, r2
- mov r2, r3
- bl func_0202b154
- ldr r0, _020a8274 ; =data_027e0fac
- ldr r1, _020a8278 ; =data_027e0fcc
- ldrsh r3, [r0]
- ldr r0, [r1]
- mov r2, #0x1000
- sub r1, r4, r3
- mov r1, r1, lsl #0x10
- mov r1, r1, asr #0x10
- bl func_ov00_020b4558
- ldmia sp!, {r4, pc}
- .align 2, 0
- arm_func_end func_ov00_020a8238
-_020a8274: .word data_027e0fac
-_020a8278: .word data_027e0fcc
-
- .global func_ov00_020a827c
- arm_func_start func_ov00_020a827c
-func_ov00_020a827c: ; 0x020a827c
- ldr r0, _020a828c ; =data_027e0fcc
- ldr ip, _020a8290 ; =func_ov00_020b4558
- ldr r0, [r0]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a827c
-_020a828c: .word data_027e0fcc
-_020a8290: .word func_ov00_020b4558
-
- .global func_ov00_020a8294
- arm_func_start func_ov00_020a8294
-func_ov00_020a8294: ; 0x020a8294
- ldr r0, _020a82a4 ; =data_027e0fcc
- ldr ip, _020a82a8 ; =func_ov00_020b44d4
- ldr r0, [r0]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a8294
-_020a82a4: .word data_027e0fcc
-_020a82a8: .word func_ov00_020b44d4
-
- .global func_ov00_020a82ac
- arm_func_start func_ov00_020a82ac
-func_ov00_020a82ac: ; 0x020a82ac
- stmdb sp!, {r3, lr}
- ldr r0, [r0, #8]
- mov r1, #0
- bl func_ov00_020bb5f0
- bl func_ov00_020b45e0
- ldmia sp!, {r3, pc}
- arm_func_end func_ov00_020a82ac
-
- .global func_ov00_020a82c4
- arm_func_start func_ov00_020a82c4
-func_ov00_020a82c4: ; 0x020a82c4
- stmdb sp!, {r4, r5, r6, lr}
- mov r1, r1, lsl #0x10
- mov r1, r1, lsr #0x10
- mov r1, r1, asr #0x4
- mov r4, r1, lsl #0x1
- ldr r3, _020a8358 ; =data_027e0d0c
- ldr lr, _020a835c ; =data_02050f54
- mov r1, r4, lsl #0x1
- ldrsh ip, [lr, r1]
- add r1, r4, #1
- mov r1, r1, lsl #0x1
- smull r5, r4, ip, r2
- adds r5, r5, #0x800
- ldrsh ip, [lr, r1]
- ldr r1, [r0, #8]
- ldr r6, [r3]
- smull lr, r2, ip, r2
- str r6, [r1, #0x20]
- ldr r6, [r3, #4]
- adc r4, r4, #0
- adds ip, lr, #0x800
- str r6, [r1, #0x24]
- ldr lr, [r3, #8]
- mov r3, r5, lsr #0xc
- str lr, [r1, #0x28]
- ldr r5, [r0, #8]
- orr r3, r3, r4, lsl #20
- ldr r1, [r5, #0x20]
- adc r0, r2, #0
- add r1, r1, r3
- str r1, [r5, #0x20]
- mov r1, ip, lsr #0xc
- ldr r2, [r5, #0x28]
- orr r1, r1, r0, lsl #20
- add r0, r2, r1
- str r0, [r5, #0x28]
- ldmia sp!, {r4, r5, r6, pc}
- .align 2, 0
- arm_func_end func_ov00_020a82c4
-_020a8358: .word data_027e0d0c
-_020a835c: .word data_02050f54
-
- .global func_ov00_020a8360
- arm_func_start func_ov00_020a8360
-func_ov00_020a8360: ; 0x020a8360
- stmdb sp!, {r4, r5, lr}
- sub sp, sp, #0x14
- mov r5, r0
- add r0, sp, #0
- mov r4, r1
- bl func_ov00_020c1500
- add r2, sp, #0
- mov r0, r5
- mov r1, r4
- bl func_ov00_020a8390
- add sp, sp, #0x14
- ldmia sp!, {r4, r5, pc}
- arm_func_end func_ov00_020a8360
-
- .global func_ov00_020a8390
- arm_func_start func_ov00_020a8390
-func_ov00_020a8390: ; 0x020a8390
- stmdb sp!, {r3, r4, r5, r6, r7, lr}
- sub sp, sp, #0x38
- mov r7, r0
- add r0, sp, #0xc
- mov r6, r1
- mov r5, r2
- bl func_ov00_020c1500
- mvn r1, #0
- add r0, sp, #0xc
- str r1, [sp, #0x28]
- str r1, [sp, #0x2c]
- bl func_ov00_020c3348
- ldrh r1, [r5]
- ldrh r0, [r5, #2]
- mov r3, #0
- sub r2, r3, #1
- strh r1, [sp, #0xc]
- strh r0, [sp, #0xe]
- ldrh ip, [r5, #4]
- ldrh r4, [r5, #6]
- ldr r1, _020a84b4 ; =data_027e0fe8
- mov r0, r7
- strh r4, [sp, #0x12]
- strh ip, [sp, #0x10]
- ldr r4, [r1]
- ldrb ip, [r5, #8]
- ldrb r1, [r5, #9]
- strb ip, [sp, #0x14]
- strb r1, [sp, #0x15]
- ldrb ip, [r5, #0xa]
- ldrb r1, [r5, #0xb]
- strb ip, [sp, #0x16]
- strb r1, [sp, #0x17]
- ldrsb r1, [r5, #0xc]
- strb r1, [sp, #0x18]
- ldrb r1, [r5, #0xd]
- strb r1, [sp, #0x19]
- ldrb r1, [r5, #0xe]
- strb r1, [sp, #0x1a]
- ldrsb r1, [r5, #0xf]
- strb r1, [sp, #0x1b]
- ldr r1, [r5, #0x10]
- str r1, [sp, #0x1c]
- str r3, [sp, #0x28]
- str r2, [sp, #4]
- str r2, [sp, #8]
- bl func_ov00_020a8c4c
- mov r2, r0
- mov r0, r4
- add r4, sp, #4
- mov r1, r6
- add r3, sp, #0xc
- str r4, [sp]
- bl func_ov00_020c4048
- ldr r0, _020a84b8 ; =data_027e0fe4
- mov r1, r4
- ldr r0, [r0]
- bl func_ov00_020c3674
- movs r4, r0
- beq _020a84a8
- mov r0, r7
- bl func_ov00_020a8cc4
- ldr r1, [r4, #8]
- str r1, [r0]
- ldr r1, [r4, #0xc]
- str r1, [r0, #4]
- mov r0, r4
- ldr r1, [r0]
- ldr r1, [r1, #0x58]
- blx r1
-_020a84a8:
- mov r0, r4
- add sp, sp, #0x38
- ldmia sp!, {r3, r4, r5, r6, r7, pc}
- .align 2, 0
- arm_func_end func_ov00_020a8390
-_020a84b4: .word data_027e0fe8
-_020a84b8: .word data_027e0fe4
-
- .global func_ov00_020a84bc
- arm_func_start func_ov00_020a84bc
-func_ov00_020a84bc: ; 0x020a84bc
- stmdb sp!, {r3, r4, r5, lr}
- ldr r0, [r0, #8]
- movs r5, r1
- strb r5, [r0, #0x11]
- movne r0, #0x1f
- moveq r0, #0
- mov r0, r0, lsl #0x10
- mov r4, r0, asr #0x10
- bl func_ov00_020a7b8c
- strh r4, [r0, #0x5c]
- bl func_ov00_020a7b9c
- ldr r1, _020a8504 ; =data_027e0e58
- strh r4, [r0, #0xe]
- ldr r0, [r1]
- mov r2, r5
- mov r1, #1
- bl func_ov00_0207c5d4
- ldmia sp!, {r3, r4, r5, pc}
- .align 2, 0
- arm_func_end func_ov00_020a84bc
-_020a8504: .word data_027e0e58
-
- .global func_ov00_020a8508
- arm_func_start func_ov00_020a8508
-func_ov00_020a8508: ; 0x020a8508
- stmdb sp!, {r3, r4, r5, lr}
- ldr r2, _020a8538 ; =data_027e0fcc
- mov r5, r1
- ldr r4, [r2]
- bl func_ov00_020a8c4c
- mov r2, r0
- mov r0, r4
- ldr r3, [r0]
- mov r1, r5
- ldr r3, [r3, #0x70]
- blx r3
- ldmia sp!, {r3, r4, r5, pc}
- .align 2, 0
- arm_func_end func_ov00_020a8508
-_020a8538: .word data_027e0fcc
-
- .global func_ov00_020a853c
- arm_func_start func_ov00_020a853c
-func_ov00_020a853c: ; 0x020a853c
- stmdb sp!, {r4, r5, lr}
- sub sp, sp, #0xc
- ldr r2, _020a85a8 ; =data_027e0d38
- mov r4, r0
- ldr r0, [r2]
- mov r5, r1
- add r0, r0, #0xc
- bl func_ov00_020a5e9c
- cmp r0, #0x2e
- bne _020a8578
- mov r0, r4
- mov r1, r5
- bl func_ov23_02177ba0
- add sp, sp, #0xc
- ldmia sp!, {r4, r5, pc}
-_020a8578:
- ldr r4, [r4, #8]
- mov r0, r4
- bl func_ov00_020bc46c
- mov r2, r0
- add r1, sp, #0
- mov r0, r4
- bl func_ov00_020bc90c
- add r1, sp, #0
- mov r0, r5
- bl func_ov00_020b1a4c
- add sp, sp, #0xc
- ldmia sp!, {r4, r5, pc}
- .align 2, 0
- arm_func_end func_ov00_020a853c
-_020a85a8: .word data_027e0d38
-
- .global func_ov00_020a85ac
- arm_func_start func_ov00_020a85ac
-func_ov00_020a85ac: ; 0x020a85ac
- stmdb sp!, {r3, lr}
- sub sp, sp, #8
- mov r2, #0
- str r2, [sp]
- mov r3, #1
- str r3, [sp, #4]
- ldr r0, [r0, #8]
- mov r3, r2
- ldr ip, [r0]
- ldr ip, [ip, #0x34]
- blx ip
- add sp, sp, #8
- ldmia sp!, {r3, pc}
- arm_func_end func_ov00_020a85ac
-
- .global func_ov00_020a85e0
- arm_func_start func_ov00_020a85e0
-func_ov00_020a85e0: ; 0x020a85e0
- stmdb sp!, {r3, lr}
- ldr r0, [r0, #8]
- mov r2, #0
- ldr r3, [r0]
- ldr r3, [r3, #0x38]
- blx r3
- ldmia sp!, {r3, pc}
- arm_func_end func_ov00_020a85e0
-
- .global func_ov00_020a85fc
- arm_func_start func_ov00_020a85fc
-func_ov00_020a85fc: ; 0x020a85fc
- stmdb sp!, {r3, lr}
- ldr r0, [r0, #8]
- ldr r1, [r0]
- ldr r1, [r1, #0x74]
- blx r1
- ldmia sp!, {r3, pc}
- arm_func_end func_ov00_020a85fc
-
- .global func_ov00_020a8614
- arm_func_start func_ov00_020a8614
-func_ov00_020a8614: ; 0x020a8614
- stmdb sp!, {r3, lr}
- ldr r0, [r0, #8]
- ldr r2, [r0]
- ldr r2, [r2, #0x88]
- blx r2
- ldmia sp!, {r3, pc}
- arm_func_end func_ov00_020a8614
-
- .global func_ov00_020a862c
- arm_func_start func_ov00_020a862c
-func_ov00_020a862c: ; 0x020a862c
- ldr r0, [r0, #8]
- ldrh r0, [r0, #0x48]
- bx lr
- arm_func_end func_ov00_020a862c
-
- .global func_ov00_020a8638
- arm_func_start func_ov00_020a8638
-func_ov00_020a8638: ; 0x020a8638
- stmdb sp!, {lr}
- sub sp, sp, #0xc
- mvn r2, #0
- str r2, [sp, #4]
- str r2, [sp, #8]
- mov r3, #0
- str r3, [sp]
- ldr r0, [r0, #8]
- add r2, sp, #4
- bl func_ov00_020bd3b0
- add sp, sp, #0xc
- ldmia sp!, {pc}
- arm_func_end func_ov00_020a8638
-
- .global func_ov00_020a8668
- arm_func_start func_ov00_020a8668
-func_ov00_020a8668: ; 0x020a8668
- ldr r2, [r0, #8]
- mvn r0, r1
- ldrh r1, [r2, #0x48]
- and r0, r1, r0
- strh r0, [r2, #0x48]
- bx lr
- arm_func_end func_ov00_020a8668
-
- .global func_ov00_020a8680
- arm_func_start func_ov00_020a8680
-func_ov00_020a8680: ; 0x020a8680
- stmdb sp!, {r4, lr}
- ldr ip, _020a86d8 ; =data_027e0fd4
- mov r4, r3
- ldr r0, [ip]
- str r1, [r0, #0x98]
- ldr r1, [ip]
- strh r2, [r1, #0xa0]
- bl func_ov00_020b6e70
- cmp r0, #0
- beq _020a86bc
- ldr r0, _020a86d8 ; =data_027e0fd4
- mvn r1, #0
- ldr r0, [r0]
- strh r1, [r0, #0xa2]
- ldmia sp!, {r4, pc}
-_020a86bc:
- ldr r0, _020a86d8 ; =data_027e0fd4
- cmp r4, #0
- moveq r1, #1
- ldr r0, [r0]
- movne r1, #0
- strh r1, [r0, #0xa2]
- ldmia sp!, {r4, pc}
- .align 2, 0
- arm_func_end func_ov00_020a8680
-_020a86d8: .word data_027e0fd4
-
- .global func_ov00_020a86dc
- arm_func_start func_ov00_020a86dc
-func_ov00_020a86dc: ; 0x020a86dc
- ldr ip, _020a86e8 ; =func_ov00_020bccc8
- ldr r0, [r0, #8]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a86dc
-_020a86e8: .word func_ov00_020bccc8
-
- .global func_ov00_020a86ec
- arm_func_start func_ov00_020a86ec
-func_ov00_020a86ec: ; 0x020a86ec
- stmdb sp!, {r3, lr}
- ldr r0, [r0, #8]
- ldr r3, [r0]
- ldr r3, [r3, #0x58]
- blx r3
- ldmia sp!, {r3, pc}
- arm_func_end func_ov00_020a86ec
-
- .global func_ov00_020a8704
- arm_func_start func_ov00_020a8704
-func_ov00_020a8704: ; 0x020a8704
- stmdb sp!, {r4, r5, r6, lr}
- mov r6, r0
- mov r4, r1
- bl func_ov00_020a8d40
- mov r5, r0
- mov r0, r6
- bl func_ov00_020a8d40
- ldrsh r0, [r0, #0x5c]
- cmp r0, #0
- ble _020a876c
- ldr r0, [r5, #0x64]
- cmp r0, #0
- ldreq r0, [r5, #0x6c]
- cmpeq r0, #0
- beq _020a876c
- ldr r0, [r5, #0x64]
- ldr r1, [r5, #0x6c]
- bl func_01ffa0f4
- mov r5, r0, lsl #0x10
- mov r0, r6
- bl func_ov00_020a8c78
- ldrsh r1, [r0]
- mov r0, #1
- sub r1, r1, r5, asr #16
- strh r1, [r4]
- ldmia sp!, {r4, r5, r6, pc}
-_020a876c:
- mov r0, #0
- ldmia sp!, {r4, r5, r6, pc}
- arm_func_end func_ov00_020a8704
-
- .global func_ov00_020a8774
- arm_func_start func_ov00_020a8774
-func_ov00_020a8774: ; 0x020a8774
- stmdb sp!, {r3, r4, r5, r6, lr}
- sub sp, sp, #0xc
- mov r5, r1
- mov r6, r0
- mov r4, r2
- bl func_ov00_020a8c4c
- mov r1, r0
- add r2, sp, #0
- mov r0, r5
- bl func_01ff9bf8
- mov r0, r6
- bl func_ov00_020a8d40
- mov r1, r4, lsl #0x10
- mov r1, r1, lsr #0x10
- mov r1, r1, asr #0x4
- ldr r0, [r0, #0x2c]
- mov r2, r1, lsl #0x1
- rsb lr, r0, #0
- ldr r3, _020a8840 ; =data_02050f54
- add r1, r2, #1
- mov r0, r2, lsl #0x1
- ldrsh r2, [r3, r0]
- mov r0, r1, lsl #0x1
- ldrsh r0, [r3, r0]
- smull ip, r3, r2, lr
- smull r2, r1, r0, lr
- adds ip, ip, #0x800
- adc r0, r3, #0
- mov r3, ip, lsr #0xc
- adds r2, r2, #0x800
- orr r3, r3, r0, lsl #20
- adc r0, r1, #0
- mov r1, r2, lsr #0xc
- orr r1, r1, r0, lsl #20
- ldr r0, [sp]
- ldr r2, [sp, #8]
- add r0, r0, r3
- add r1, r2, r1
- str r0, [sp]
- str r1, [sp, #8]
- bl func_01ffa0f4
- mov r0, r0, lsl #0x10
- rsb r0, r4, r0, asr #16
- mov r0, r0, lsl #0x10
- movs r0, r0, asr #0x10
- rsbmi r0, r0, #0
- cmp r0, #0x4000
- movlt r0, #1
- movge r0, #0
- add sp, sp, #0xc
- ldmia sp!, {r3, r4, r5, r6, pc}
- .align 2, 0
- arm_func_end func_ov00_020a8774
-_020a8840: .word data_02050f54
-
- .global func_ov00_020a8844
- arm_func_start func_ov00_020a8844
-func_ov00_020a8844: ; 0x020a8844
- stmdb sp!, {r4, r5, r6, lr}
- sub sp, sp, #0x18
- ldr r4, _020a8948 ; =data_027e0fb8
- mov r6, r0
- ldr r0, [r4]
- mov r5, r2
- ldrb r0, [r0, #0x7d]
- mov r4, r3
- cmp r0, #0
- addeq sp, sp, #0x18
- ldmeqia sp!, {r4, r5, r6, pc}
- ldr r0, _020a894c ; =data_027e0618
- ldrb r0, [r0, #0x101]
- cmp r0, #0
- addne sp, sp, #0x18
- ldmneia sp!, {r4, r5, r6, pc}
- ldr r2, [r1]
- ldr r0, _020a8950 ; =data_027e0f64
- str r2, [sp, #0xc]
- ldr r2, [r1, #4]
- ldr r0, [r0]
- str r2, [sp, #0x10]
- ldr r1, [r1, #8]
- str r1, [sp, #0x14]
- bl func_ov00_0208b180
- mov ip, #0
- add r1, sp, #0xc
- add r2, sp, #8
- add r3, sp, #4
- str ip, [sp]
- bl func_01ffe468
- cmp r0, #0
- moveq r0, #1
- movne r0, #0
- cmp r0, #0
- addne sp, sp, #0x18
- ldmneia sp!, {r4, r5, r6, pc}
- cmp r5, #0
- beq _020a8904
- mov r0, r6
- bl func_ov00_020a8c78
- ldrsh r2, [r0]
- cmp r5, #1
- moveq r3, #1
- ldr r0, [sp, #8]
- ldr r1, [sp, #4]
- movne r3, #0
- bl func_ov00_020b1498
-_020a8904:
- cmp r4, #0
- addeq sp, sp, #0x18
- ldmeqia sp!, {r4, r5, r6, pc}
- mov r0, r6
- bl func_ov00_020a8c78
- ldrsh r2, [r0]
- cmp r4, #1
- moveq r3, #1
- sub r2, r2, #0x8000
- mov r2, r2, lsl #0x10
- ldr r0, [sp, #8]
- ldr r1, [sp, #4]
- movne r3, #0
- mov r2, r2, asr #0x10
- bl func_ov00_020b1498
- add sp, sp, #0x18
- ldmia sp!, {r4, r5, r6, pc}
- .align 2, 0
- arm_func_end func_ov00_020a8844
-_020a8948: .word data_027e0fb8
-_020a894c: .word data_027e0618
-_020a8950: .word data_027e0f64
-
- .global func_ov00_020a8954
- arm_func_start func_ov00_020a8954
-func_ov00_020a8954: ; 0x020a8954
- stmdb sp!, {r4, lr}
- cmp r1, #0
- ldrne r1, _020a898c ; =data_ov00_020e5650
- mov r4, r2
- movne r2, #0x29
- ldreq r1, _020a898c ; =data_ov00_020e5650
- moveq r2, #0x27
- str r2, [r1, #0x24]
- ldr r1, _020a8990 ; =data_ov00_020e5674
- mov r2, #1
- bl func_ov00_020a8a4c
- mov r0, #0
- str r0, [r4]
- ldmia sp!, {r4, pc}
- .align 2, 0
- arm_func_end func_ov00_020a8954
-_020a898c: .word data_ov00_020e5650
-_020a8990: .word data_ov00_020e5674
-
- .global func_ov00_020a8994
- arm_func_start func_ov00_020a8994
-func_ov00_020a8994: ; 0x020a8994
- stmdb sp!, {r4, lr}
- mov r4, r0
- bl func_ov00_020a8d40
- ldrsh r2, [r0, #0x5a]
- ldr r1, _020a89b8 ; =data_ov00_020dc510
- mov r0, r4
- ldr r1, [r1, r2, lsl #2]
- bl func_ov00_020a8138
- ldmia sp!, {r4, pc}
- .align 2, 0
- arm_func_end func_ov00_020a8994
-_020a89b8: .word data_ov00_020dc510
-
- .global func_ov00_020a89bc
- arm_func_start func_ov00_020a89bc
-func_ov00_020a89bc: ; 0x020a89bc
- stmdb sp!, {r4, r5, r6, lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl func_ov00_020a8d40
- ldrsh r0, [r0, #0x5a]
- cmp r0, #1
- cmpne r0, #2
- mov r0, r6
- bne _020a89f8
- mov r1, r5
- mov r3, r4
- mov r2, #1
- bl func_ov05_0211097c
- ldmia sp!, {r4, r5, r6, pc}
-_020a89f8:
- mov r1, r5
- mov r2, r4
- bl func_ov00_020a8a4c
- ldmia sp!, {r4, r5, r6, pc}
- arm_func_end func_ov00_020a89bc
-
- .global func_ov00_020a8a08
- arm_func_start func_ov00_020a8a08
-func_ov00_020a8a08: ; 0x020a8a08
- stmdb sp!, {r3, r4, r5, lr}
- mov r5, r0
- mov r4, r1
- bl func_ov00_020a8d40
- ldrsh r0, [r0, #0x5a]
- cmp r0, #1
- cmpne r0, #2
- mov r0, r5
- bne _020a8a40
- mov r1, r4
- mov r2, #0
- mov r3, #1
- bl func_ov05_0211097c
- ldmia sp!, {r3, r4, r5, pc}
-_020a8a40:
- mov r1, r4
- bl func_ov00_020a8a90
- ldmia sp!, {r3, r4, r5, pc}
- arm_func_end func_ov00_020a8a08
-
- .global func_ov00_020a8a4c
- arm_func_start func_ov00_020a8a4c
-func_ov00_020a8a4c: ; 0x020a8a4c
- stmdb sp!, {r4, lr}
- ldr r0, _020a8a8c ; =data_027e0fcc
- mov r3, r2
- ldr r4, [r0]
- mov r2, #1
- mov r0, r4
- bl func_ov00_020b45f8
- ldr r1, [r4, #0x118]
- cmp r1, #0
- movne r0, #0
- strneh r0, [r1, #0xe]
- ldr r1, [r4, #0x138]
- cmp r1, #0
- movne r0, #0
- strneh r0, [r1, #0xe]
- ldmia sp!, {r4, pc}
- .align 2, 0
- arm_func_end func_ov00_020a8a4c
-_020a8a8c: .word data_027e0fcc
-
- .global func_ov00_020a8a90
- arm_func_start func_ov00_020a8a90
-func_ov00_020a8a90: ; 0x020a8a90
- ldr r0, _020a8aa8 ; =data_027e0fcc
- ldr ip, _020a8aac ; =func_ov00_020b45f8
- mov r2, #0
- ldr r0, [r0]
- mov r3, #1
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a8a90
-_020a8aa8: .word data_027e0fcc
-_020a8aac: .word func_ov00_020b45f8
-
- .global func_ov00_020a8ab0
- arm_func_start func_ov00_020a8ab0
-func_ov00_020a8ab0: ; 0x020a8ab0
- ldr r0, _020a8ac8 ; =data_027e0fcc
- mov r2, #1
- ldr ip, _020a8acc ; =func_ov00_020b464c
- ldr r0, [r0]
- mov r3, r2
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a8ab0
-_020a8ac8: .word data_027e0fcc
-_020a8acc: .word func_ov00_020b464c
-
- .global func_ov00_020a8ad0
- arm_func_start func_ov00_020a8ad0
-func_ov00_020a8ad0: ; 0x020a8ad0
- stmdb sp!, {r4, lr}
- ldr r0, _020a8b00 ; =data_027e0fcc
- mov r4, r1
- ldr r0, [r0]
- ldr r0, [r0, #0x118]
- bl func_ov00_020c0e24
- ldr r0, _020a8b00 ; =data_027e0fcc
- mov r1, r4
- ldr r0, [r0]
- ldr r0, [r0, #0x138]
- bl func_ov00_020c0e24
- ldmia sp!, {r4, pc}
- .align 2, 0
- arm_func_end func_ov00_020a8ad0
-_020a8b00: .word data_027e0fcc
-
- .global func_ov00_020a8b04
- arm_func_start func_ov00_020a8b04
-func_ov00_020a8b04: ; 0x020a8b04
- stmdb sp!, {r3, lr}
- ldr r0, _020a8b38 ; =data_027e0fcc
- cmp r2, #0
- ldr r0, [r0]
- beq _020a8b28
- ldr r0, [r0, #0x118]
- add r0, r0, #0xc
- bl func_0202e310
- ldmia sp!, {r3, pc}
-_020a8b28:
- ldr r0, [r0, #0x138]
- add r0, r0, #0xc
- bl func_0202e310
- ldmia sp!, {r3, pc}
- .align 2, 0
- arm_func_end func_ov00_020a8b04
-_020a8b38: .word data_027e0fcc
-
- .global func_ov00_020a8b3c
- arm_func_start func_ov00_020a8b3c
-func_ov00_020a8b3c: ; 0x020a8b3c
- stmdb sp!, {r3, r4, r5, lr}
- ldr r0, _020a8b7c ; =data_027e0fcc
- cmp r1, #0
- ldr r0, [r0]
- mov r4, #0
- ldrne r5, [r0, #0x118]
- ldreq r5, [r0, #0x138]
- add r0, r5, #0xc
- bl func_0202e58c
- cmp r0, #0
- beq _020a8b74
- ldrh r0, [r5, #0xe]
- tst r0, #5
- moveq r4, #1
-_020a8b74:
- mov r0, r4
- ldmia sp!, {r3, r4, r5, pc}
- .align 2, 0
- arm_func_end func_ov00_020a8b3c
-_020a8b7c: .word data_027e0fcc
-
- .global func_ov00_020a8b80
- arm_func_start func_ov00_020a8b80
-func_ov00_020a8b80: ; 0x020a8b80
- ldr r0, _020a8b9c ; =data_027e0fd4
- ldr r0, [r0]
- ldrsh r0, [r0, #0xc6]
- cmp r0, #0
- movge r0, #1
- movlt r0, #0
- bx lr
- .align 2, 0
- arm_func_end func_ov00_020a8b80
-_020a8b9c: .word data_027e0fd4
-
- .global func_ov00_020a8ba0
- arm_func_start func_ov00_020a8ba0
-func_ov00_020a8ba0: ; 0x020a8ba0
- ldr r0, [r0, #8]
- ldrh r0, [r0, #0x48]
- tst r0, r1
- movne r0, #1
- moveq r0, #0
- bx lr
- arm_func_end func_ov00_020a8ba0
-
- .global func_ov00_020a8bb8
- arm_func_start func_ov00_020a8bb8
-func_ov00_020a8bb8: ; 0x020a8bb8
- ldr r0, [r0, #8]
- ldrb r0, [r0, #0x5e]
- bx lr
- arm_func_end func_ov00_020a8bb8
-
- .global func_ov00_020a8bc4
- arm_func_start func_ov00_020a8bc4
-func_ov00_020a8bc4: ; 0x020a8bc4
- ldr r0, _020a8bd4 ; =data_027e0fcc
- ldr r0, [r0]
- add r0, r0, #4
- bx lr
- .align 2, 0
- arm_func_end func_ov00_020a8bc4
-_020a8bd4: .word data_027e0fcc
-
- .global func_ov00_020a8bd8
- arm_func_start func_ov00_020a8bd8
-func_ov00_020a8bd8: ; 0x020a8bd8
- ldr ip, _020a8be4 ; =func_ov00_020bc46c
- ldr r0, [r0, #8]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a8bd8
-_020a8be4: .word func_ov00_020bc46c
-
- .global func_ov00_020a8be8
- arm_func_start func_ov00_020a8be8
-func_ov00_020a8be8: ; 0x020a8be8
- ldr r0, _020a8bf4 ; =data_027e0fcc
- ldr r0, [r0]
- bx lr
- .align 2, 0
- arm_func_end func_ov00_020a8be8
-_020a8bf4: .word data_027e0fcc
-
- .global func_ov00_020a8bf8
- arm_func_start func_ov00_020a8bf8
-func_ov00_020a8bf8: ; 0x020a8bf8
- ldr ip, _020a8c04 ; =func_ov00_020bc500
- ldr r0, [r0, #8]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a8bf8
-_020a8c04: .word func_ov00_020bc500
-
- .global func_ov00_020a8c08
- arm_func_start func_ov00_020a8c08
-func_ov00_020a8c08: ; 0x020a8c08
- ldr r0, [r0, #8]
- ldrsh r0, [r0, #0xa]
- bx lr
- arm_func_end func_ov00_020a8c08
-
- .global func_ov00_020a8c14
- arm_func_start func_ov00_020a8c14
-func_ov00_020a8c14: ; 0x020a8c14
- stmdb sp!, {r4, lr}
- ldr r4, [r0, #8]
- mov r0, r4
- bl func_ov00_020bc46c
- mov r1, r0
- mov r0, r4
- bl func_ov00_020bc48c
- ldmia sp!, {r4, pc}
- arm_func_end func_ov00_020a8c14
-
- .global func_ov00_020a8c34
- arm_func_start func_ov00_020a8c34
-func_ov00_020a8c34: ; 0x020a8c34
- ldr r0, _020a8c44 ; =data_027e0fd4
- ldr ip, _020a8c48 ; =func_ov00_020b5268
- ldr r0, [r0]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a8c34
-_020a8c44: .word data_027e0fd4
-_020a8c48: .word func_ov00_020b5268
-
- .global func_ov00_020a8c4c
- arm_func_start func_ov00_020a8c4c
-func_ov00_020a8c4c: ; 0x020a8c4c
- ldr r0, _020a8c54 ; =data_027e0f94
- bx lr
- .align 2, 0
- arm_func_end func_ov00_020a8c4c
-_020a8c54: .word data_027e0f94
-
- .global func_ov00_020a8c58
- arm_func_start func_ov00_020a8c58
-func_ov00_020a8c58: ; 0x020a8c58
- ldr r0, _020a8c60 ; =data_027e0fa0
- bx lr
- .align 2, 0
- arm_func_end func_ov00_020a8c58
-_020a8c60: .word data_027e0fa0
-
- .global func_ov00_020a8c64
- arm_func_start func_ov00_020a8c64
-func_ov00_020a8c64: ; 0x020a8c64
- ldr r0, _020a8c74 ; =data_027e0fd4
- ldr r0, [r0]
- add r0, r0, #0x90
- bx lr
- .align 2, 0
- arm_func_end func_ov00_020a8c64
-_020a8c74: .word data_027e0fd4
-
- .global func_ov00_020a8c78
- arm_func_start func_ov00_020a8c78
-func_ov00_020a8c78: ; 0x020a8c78
- ldr r0, _020a8c80 ; =data_027e0fac
- bx lr
- .align 2, 0
- arm_func_end func_ov00_020a8c78
-_020a8c80: .word data_027e0fac
-
- .global func_ov00_020a8c84
- arm_func_start func_ov00_020a8c84
-func_ov00_020a8c84: ; 0x020a8c84
- ldr r0, _020a8c8c ; =data_027e0fb0
- bx lr
- .align 2, 0
- arm_func_end func_ov00_020a8c84
-_020a8c8c: .word data_027e0fb0
-
- .global func_ov00_020a8c90
- arm_func_start func_ov00_020a8c90
-func_ov00_020a8c90: ; 0x020a8c90
- ldr r0, _020a8ca0 ; =data_027e0fcc
- ldr r0, [r0]
- ldrsh r0, [r0, #0x32]
- bx lr
- .align 2, 0
- arm_func_end func_ov00_020a8c90
-_020a8ca0: .word data_027e0fcc
-
- .global func_ov00_020a8ca4
- arm_func_start func_ov00_020a8ca4
-func_ov00_020a8ca4: ; 0x020a8ca4
- ldr r1, _020a8cbc ; =data_027e0fe4
- ldr r2, [r0, #8]
- ldr r0, [r1]
- ldr ip, _020a8cc0 ; =func_ov00_020c3674
- add r1, r2, #0x3c
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a8ca4
-_020a8cbc: .word data_027e0fe4
-_020a8cc0: .word func_ov00_020c3674
-
- .global func_ov00_020a8cc4
- arm_func_start func_ov00_020a8cc4
-func_ov00_020a8cc4: ; 0x020a8cc4
- ldr r0, [r0, #8]
- add r0, r0, #0x3c
- bx lr
- arm_func_end func_ov00_020a8cc4
-
- .global func_ov00_020a8cd0
- arm_func_start func_ov00_020a8cd0
-func_ov00_020a8cd0: ; 0x020a8cd0
- ldr ip, _020a8cdc ; =func_ov00_020bc71c
- ldr r0, [r0, #8]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a8cd0
-_020a8cdc: .word func_ov00_020bc71c
-
- .global func_ov00_020a8ce0
- arm_func_start func_ov00_020a8ce0
-func_ov00_020a8ce0: ; 0x020a8ce0
- ldr r0, [r0, #8]
- add r0, r0, #0x44
- bx lr
- arm_func_end func_ov00_020a8ce0
-
- .global func_ov00_020a8cec
- arm_func_start func_ov00_020a8cec
-func_ov00_020a8cec: ; 0x020a8cec
- stmdb sp!, {r3, lr}
- ldr r0, _020a8d24 ; =gItemManager
- ldr r0, [r0]
- bl _ZN11ItemManager12GetEquipItemEi
- cmp r0, #0
- beq _020a8d1c
- ldr r1, [r0]
- ldr r1, [r1, #0x24]
- blx r1
- cmp r0, #0
- movne r0, #1
- ldmneia sp!, {r3, pc}
-_020a8d1c:
- mov r0, #0
- ldmia sp!, {r3, pc}
- .align 2, 0
- arm_func_end func_ov00_020a8cec
-_020a8d24: .word gItemManager
-
- .global func_ov00_020a8d28
- arm_func_start func_ov00_020a8d28
-func_ov00_020a8d28: ; 0x020a8d28
- ldr r0, _020a8d38 ; =gItemManager
- ldr ip, _020a8d3c ; =_ZN11ItemManager12GetEquipItemEi
- ldr r0, [r0]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a8d28
-_020a8d38: .word gItemManager
-_020a8d3c: .word _ZN11ItemManager12GetEquipItemEi
-
- .global func_ov00_020a8d40
- arm_func_start func_ov00_020a8d40
-func_ov00_020a8d40: ; 0x020a8d40
- ldr r0, _020a8d4c ; =data_027e0fd4
- ldr r0, [r0]
- bx lr
- .align 2, 0
- arm_func_end func_ov00_020a8d40
-_020a8d4c: .word data_027e0fd4
-
- .global func_ov00_020a8d50
- arm_func_start func_ov00_020a8d50
-func_ov00_020a8d50: ; 0x020a8d50
- ldr r0, _020a8d64 ; =data_027e0fcc
- ldr ip, _020a8d68 ; =func_ov00_020c0d68
- ldr r0, [r0]
- ldr r0, [r0, #0x138]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a8d50
-_020a8d64: .word data_027e0fcc
-_020a8d68: .word func_ov00_020c0d68
-
- .global func_ov00_020a8d6c
- arm_func_start func_ov00_020a8d6c
-func_ov00_020a8d6c: ; 0x020a8d6c
- ldr r0, _020a8d80 ; =data_027e0fcc
- ldr ip, _020a8d84 ; =func_ov00_020c0d68
- ldr r0, [r0]
- ldr r0, [r0, #0x118]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a8d6c
-_020a8d80: .word data_027e0fcc
-_020a8d84: .word func_ov00_020c0d68
-
- .global func_ov00_020a8d88
- arm_func_start func_ov00_020a8d88
-func_ov00_020a8d88: ; 0x020a8d88
- stmdb sp!, {r3, lr}
- ldr r0, _020a8db4 ; =data_027e0fcc
- ldr r0, [r0]
- ldr r2, [r0]
- ldr r2, [r2, #0x14]
- blx r2
- cmp r0, #0
- ldrneh r0, [r0, #4]
- movne r0, r0, lsl #0xc
- moveq r0, #0x1000
- ldmia sp!, {r3, pc}
- .align 2, 0
- arm_func_end func_ov00_020a8d88
-_020a8db4: .word data_027e0fcc
-
- .global func_ov00_020a8db8
- arm_func_start func_ov00_020a8db8
-func_ov00_020a8db8: ; 0x020a8db8
- ldr r0, _020a8dc8 ; =data_027e0fcc
- ldr r0, [r0]
- ldr r0, [r0, #0x100]
- bx lr
- .align 2, 0
- arm_func_end func_ov00_020a8db8
-_020a8dc8: .word data_027e0fcc
-
- .global func_ov00_020a8dcc
- arm_func_start func_ov00_020a8dcc
-func_ov00_020a8dcc: ; 0x020a8dcc
- ldr r0, _020a8ddc ; =data_027e0fcc
- ldr r0, [r0]
- ldr r0, [r0, #0x120]
- bx lr
- .align 2, 0
- arm_func_end func_ov00_020a8dcc
-_020a8ddc: .word data_027e0fcc
-
- .global func_ov00_020a8de0
- arm_func_start func_ov00_020a8de0
-func_ov00_020a8de0: ; 0x020a8de0
- ldr r0, [r0, #8]
- add r0, r0, #0x38
- bx lr
- arm_func_end func_ov00_020a8de0
-
- .global func_ov00_020a8dec
- arm_func_start func_ov00_020a8dec
-func_ov00_020a8dec: ; 0x020a8dec
- ldr r0, [r0, #8]
- ldr r0, [r0, #0x64]
- bx lr
- arm_func_end func_ov00_020a8dec
-
- .global func_ov00_020a8df8
- arm_func_start func_ov00_020a8df8
-func_ov00_020a8df8: ; 0x020a8df8
- ldr r0, [r0, #8]
- ldr r0, [r0, #0x68]
- bx lr
- arm_func_end func_ov00_020a8df8
-
- .global func_ov00_020a8e04
- thumb_func_start func_ov00_020a8e04
-func_ov00_020a8e04: ; 0x020a8e04
- bx lr
- .align 2, 0
- thumb_func_end func_ov00_020a8e04
-
- .global func_ov00_020a8e08
- arm_func_start func_ov00_020a8e08
-func_ov00_020a8e08: ; 0x020a8e08
- mov r0, #0
- bx lr
- arm_func_end func_ov00_020a8e08
-
- .global func_ov00_020a8e10
- thumb_func_start func_ov00_020a8e10
-func_ov00_020a8e10: ; 0x020a8e10
- push {r4, r5, lr}
- sub sp, #0x14
- ldr r5, _020a8e4c ; =data_ov00_020e5744
- blx func_ov00_020a8dec
- ldr r3, [r0]
- ldr r1, _020a8e50 ; =0x4c4d4f56
- ldr r2, _020a8e54 ; =data_ov00_020e56f0
- ldr r3, [r3, #0x3c]
- add r4, r0, #0
- blx r3
- ldr r0, _020a8e54 ; =data_ov00_020e56f0
- mov r1, #0
- str r0, [sp]
- mov r0, #8
- str r0, [sp, #4]
- str r1, [sp, #8]
- lsl r0, r0, #9
- str r0, [sp, #0xc]
- str r1, [sp, #0x10]
- add r0, r4, #0
- ldr r4, [r0]
- ldr r3, _020a8e50 ; =0x4c4d4f56
- ldr r4, [r4, #0x34]
- mov r1, #1
- add r2, r5, #0
- blx r4
- add sp, #0x14
- pop {r4, r5, pc}
- nop
- thumb_func_end func_ov00_020a8e10
-_020a8e4c: .word data_ov00_020e5744
-_020a8e50: .word 0x4c4d4f56
-_020a8e54: .word data_ov00_020e56f0
-
- .global func_ov00_020a8e58
- arm_func_start func_ov00_020a8e58
-func_ov00_020a8e58: ; 0x020a8e58
- stmdb sp!, {r4, lr}
- mov r4, r0
- mov r1, #0
- str r1, [r4, #0xc]
- strh r1, [r4, #0x10]
- strh r1, [r4, #0x12]
- ldrb r2, [r4, #0x14]
- cmp r2, #0
- ldmeqia sp!, {r4, pc}
- bl func_ov00_020a8d28
- ldr r2, [r0]
- mov r1, #1
- ldr r2, [r2, #0x28]
- blx r2
- mov r0, r4
- mov r1, #1
- bl func_ov00_020a8d28
- ldr r2, [r0]
- mov r1, #1
- ldr r2, [r2, #0x28]
- blx r2
- bl func_ov00_020a7b8c
- mvn r1, #0
- bl func_ov00_020c06b0
- ldr r0, _020a8ec8 ; =data_ov00_020eec9c
- mov r1, #0xd
- bl func_ov00_020d77e4
- ldmia sp!, {r4, pc}
- .align 2, 0
- arm_func_end func_ov00_020a8e58
-_020a8ec8: .word data_ov00_020eec9c
-
- .global func_ov00_020a8ecc
- arm_func_start func_ov00_020a8ecc
-func_ov00_020a8ecc: ; 0x020a8ecc
- stmdb sp!, {r4, lr}
- mov r4, r0
- bl func_ov00_020a7fac
- mov r0, #0
- strb r0, [r4, #0x14]
- strb r0, [r4, #0x15]
- strb r0, [r4, #0x16]
- ldmia sp!, {r4, pc}
- arm_func_end func_ov00_020a8ecc
-
- .global func_ov00_020a8eec
- arm_func_start func_ov00_020a8eec
-func_ov00_020a8eec: ; 0x020a8eec
- stmdb sp!, {r3, r4, r5, lr}
- mov r5, r0
- mov r4, r1
- bl func_ov00_020a8c08
- cmp r0, #0
- ble _020a8f14
- mov r0, r5
- mov r1, r4
- bl func_ov00_020a7fb8
- ldmia sp!, {r3, r4, r5, pc}
-_020a8f14:
- cmp r4, #2
- bne _020a8f24
- mov r0, #1
- ldmia sp!, {r3, r4, r5, pc}
-_020a8f24:
- mov r0, #0
- ldmia sp!, {r3, r4, r5, pc}
- arm_func_end func_ov00_020a8eec
-
- .global func_ov00_020a8f2c
- arm_func_start func_ov00_020a8f2c
-func_ov00_020a8f2c: ; 0x020a8f2c
- ldr r1, _020a8f48 ; =data_ov00_020e56f0
- ldr r2, [r0, #0xc]
- ldr r0, [r1, #4]
- cmp r2, r0
- movgt r0, #1
- movle r0, #0
- bx lr
- .align 2, 0
- arm_func_end func_ov00_020a8f2c
-_020a8f48: .word data_ov00_020e56f0
-
- .global func_ov00_020a8f4c
- arm_func_start func_ov00_020a8f4c
-func_ov00_020a8f4c: ; 0x020a8f4c
- ldrb r1, [r0, #0x15]
- cmp r1, #0
- movne r0, #0
- bxne lr
- mov r2, #1
- strb r2, [r0, #0x15]
- mov r1, #0
- strb r1, [r0, #0x16]
- mov r0, r2
- bx lr
- arm_func_end func_ov00_020a8f4c
-
- .global func_ov00_020a8f74
- thumb_func_start func_ov00_020a8f74
-func_ov00_020a8f74: ; 0x020a8f74
- bx lr
- .align 2, 0
- thumb_func_end func_ov00_020a8f74
-
- .global func_ov00_020a8f78
- arm_func_start func_ov00_020a8f78
-func_ov00_020a8f78: ; 0x020a8f78
- mov r0, #3
- bx lr
- arm_func_end func_ov00_020a8f78
-
- .global func_ov00_020a8f80
- arm_func_start func_ov00_020a8f80
-func_ov00_020a8f80: ; 0x020a8f80
- stmdb sp!, {r4, r5, lr}
- sub sp, sp, #0xc
- mov r5, r0
- bl func_ov00_020a8d40
- ldr r0, [r0, #0xc0]
- cmp r0, #0x1e
- addne sp, sp, #0xc
- ldmneia sp!, {r4, r5, pc}
- mov r0, r5
- bl func_ov00_020a8d40
- ldr r2, _020a9020 ; =data_027e0e60
- add r1, r0, #0xc4
- ldr r0, [r2]
- bl func_ov00_020840c4
- movs r4, r0
- addeq sp, sp, #0xc
- ldmeqia sp!, {r4, r5, pc}
- mov r0, r5
- bl func_ov00_020a8c4c
- mov r1, r0
- add r2, sp, #0
- add r0, r4, #0x18
- bl func_01ff9bf8
- mov r1, #0
- add r0, sp, #0
- str r1, [sp, #4]
- bl func_01ff9cec
- ldr r1, _020a9024 ; =0x00000155
- cmp r0, r1
- addlt sp, sp, #0xc
- ldmltia sp!, {r4, r5, pc}
- add r0, sp, #0
- bl func_0202d95c
- mov r0, r5
- bl func_ov00_020a8c58
- add r1, sp, #0
- mov r2, #0x2000
- bl func_0202b308
- add sp, sp, #0xc
- ldmia sp!, {r4, r5, pc}
- .align 2, 0
- arm_func_end func_ov00_020a8f80
-_020a9020: .word data_027e0e60
-_020a9024: .word 0x00000155
-
- .global func_ov00_020a9028
- arm_func_start func_ov00_020a9028
-func_ov00_020a9028: ; 0x020a9028
- stmdb sp!, {r3, r4, r5, lr}
- mov r5, r0
- bl func_ov00_020a7fac
- ldr r0, _020a90a8 ; =data_027e0fb8
- ldr r0, [r0]
- ldrb r1, [r0, #0x80]
- cmp r1, #0
- beq _020a904c
- bl func_ov00_020af050
-_020a904c:
- ldr r0, [r5, #4]
- cmp r0, #6
- cmpne r0, #7
- ldmneia sp!, {r3, r4, r5, pc}
- ldr r1, _020a90ac ; =data_027e0e60
- add r0, sp, #0
- ldr r4, [r1]
- add r2, r5, #0x24
- mov r1, r4
- bl func_ov00_02083a1c
- add r1, sp, #0
- mov r0, r4
- bl func_ov00_020840c4
- movs r4, r0
- ldmeqia sp!, {r3, r4, r5, pc}
- ldr r1, [r0]
- ldr r1, [r1, #0x1c]
- blx r1
- cmp r0, #0x47
- ldmneia sp!, {r3, r4, r5, pc}
- mov r0, r4
- bl func_ov14_0214bd08
- ldmia sp!, {r3, r4, r5, pc}
- .align 2, 0
- arm_func_end func_ov00_020a9028
-_020a90a8: .word data_027e0fb8
-_020a90ac: .word data_027e0e60
-
- .global func_ov00_020a90b0
- arm_func_start func_ov00_020a90b0
-func_ov00_020a90b0: ; 0x020a90b0
- stmdb sp!, {r3, lr}
- cmp r1, #5
- addls pc, pc, r1, lsl #2
- b _020a9104
-_020a90c0: ; jump table
- b _020a9104 ; case 0
- b _020a910c ; case 1
- b _020a910c ; case 2
- b _020a910c ; case 3
- b _020a90d8 ; case 4
- b _020a90f0 ; case 5
-_020a90d8:
- ldr r2, [r0, #4]
- cmp r2, #1
- cmpne r2, #6
- beq _020a910c
- mov r0, #0
- ldmia sp!, {r3, pc}
-_020a90f0:
- ldr r2, [r0, #4]
- cmp r2, #5
- bne _020a910c
- bl func_ov00_020a7fb8
- ldmia sp!, {r3, pc}
-_020a9104:
- mov r0, #0
- ldmia sp!, {r3, pc}
-_020a910c:
- ldr r2, [r0, #4]
- cmp r2, #1
- cmpne r2, #6
- cmpne r2, #0xa
- bne _020a9128
- bl func_ov00_020a7fb8
- ldmia sp!, {r3, pc}
-_020a9128:
- mov r0, #0
- ldmia sp!, {r3, pc}
- arm_func_end func_ov00_020a90b0
-
- .global func_ov00_020a9130
- arm_func_start func_ov00_020a9130
-func_ov00_020a9130: ; 0x020a9130
- stmdb sp!, {r3, lr}
- bl func_ov00_020a914c
- ldr r0, [r0, #0x38]
- cmp r0, #0
- movlt r0, #1
- movge r0, #0
- ldmia sp!, {r3, pc}
- arm_func_end func_ov00_020a9130
-
- .global func_ov00_020a914c
- arm_func_start func_ov00_020a914c
-func_ov00_020a914c: ; 0x020a914c
- ldr ip, _020a9158 ; =func_01fffcd8
- mov r0, #6
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a914c
-_020a9158: .word func_01fffcd8
-
- .global func_ov00_020a915c
- arm_func_start func_ov00_020a915c
-func_ov00_020a915c: ; 0x020a915c
- ldr r0, [r0, #4]
- cmp r0, #2
- movne r0, #0
- bxne lr
- ldr r2, [r1, #4]
- mov r0, #1
- add r2, r2, #0x1200
- str r2, [r1, #4]
- bx lr
- arm_func_end func_ov00_020a915c
-
- .global func_ov00_020a9180
- arm_func_start func_ov00_020a9180
-func_ov00_020a9180: ; 0x020a9180
- stmdb sp!, {r3, r4, r5, lr}
- ldr r2, _020a9208 ; =data_027e0fb8
- mov r4, r1
- ldr r3, [r2]
- ldr r5, [r3, #0xa0]
- cmp r5, #0
- bne _020a91f0
- mov r2, #0
- add r1, sp, #0
- mov r0, r3
- strb r2, [sp]
- strb r2, [sp, #1]
- bl func_ov00_020af01c
- cmp r0, #0
- moveq r0, #0
- ldmeqia sp!, {r3, r4, r5, pc}
- ldr r0, _020a920c ; =data_027e0e60
- ldrb r2, [sp]
- ldrb r1, [sp, #1]
- ldr r0, [r0]
- sub r3, sp, #4
- strb r2, [r3]
- strb r1, [r3, #1]
- ldr r2, [r3]
- mov r1, r4
- bl func_ov00_02083c7c
- mov r0, #1
- ldmia sp!, {r3, r4, r5, pc}
-_020a91f0:
- mov r2, r5
- bl func_ov00_020a9210
- cmp r0, #0
- ldrnesb r0, [r5, #0x12]
- moveq r0, #0
- ldmia sp!, {r3, r4, r5, pc}
- .align 2, 0
- arm_func_end func_ov00_020a9180
-_020a9208: .word data_027e0fb8
-_020a920c: .word data_027e0e60
-
- .global func_ov00_020a9210
- arm_func_start func_ov00_020a9210
-func_ov00_020a9210: ; 0x020a9210
- stmdb sp!, {r4, r5, lr}
- sub sp, sp, #0xc
- mov r5, r2
- ldrsb r0, [r5, #0x12]
- mov r4, r1
- cmp r0, #8
- beq _020a926c
- cmp r0, #9
- bne _020a9280
- mov r0, r5
- ldr r2, [r0]
- add r1, sp, #0
- ldr r2, [r2, #0x8c]
- blx r2
- ldr r1, [sp]
- mov r0, #1
- str r1, [r4]
- ldr r1, [sp, #4]
- str r1, [r4, #4]
- ldr r1, [sp, #8]
- add sp, sp, #0xc
- str r1, [r4, #8]
- ldmia sp!, {r4, r5, pc}
-_020a926c:
- bl func_ov00_020a7b8c
- ldr r2, [r0]
- mov r1, #1
- ldr r2, [r2, #0x14]
- blx r2
-_020a9280:
- ldr r1, [r5, #0x18]
- mov r0, #1
- str r1, [r4]
- ldr r1, [r5, #0x1c]
- str r1, [r4, #4]
- ldr r1, [r5, #0x20]
- str r1, [r4, #8]
- add sp, sp, #0xc
- ldmia sp!, {r4, r5, pc}
- arm_func_end func_ov00_020a9210
-
- .global func_ov00_020a92a4
- arm_func_start func_ov00_020a92a4
-func_ov00_020a92a4: ; 0x020a92a4
- stmdb sp!, {r3, lr}
- ldr r1, _020a92f4 ; =data_ov00_020e5808
- mov lr, #0
- str r1, [r0]
- ldr r1, _020a92f8 ; =data_ov00_020e57f0
- strb lr, [r0, #4]
- str r1, [r0]
- strh lr, [r0, #0xc]
- strh lr, [r0, #0xe]
- mov ip, lr
- mov r2, #0x80
- mov r1, #0x60
-_020a92d4:
- add r3, r0, lr, lsl #1
- strh ip, [r3, #0x10]
- strh r2, [r3, #0x2c]
- add lr, lr, #1
- strh r1, [r3, #0x48]
- cmp lr, #0xe
- blt _020a92d4
- ldmia sp!, {r3, pc}
- .align 2, 0
- arm_func_end func_ov00_020a92a4
-_020a92f4: .word data_ov00_020e5808
-_020a92f8: .word data_ov00_020e57f0
-
- .global func_ov00_020a92fc
- arm_func_start func_ov00_020a92fc
-func_ov00_020a92fc: ; 0x020a92fc
- stmdb sp!, {r3, lr}
- mov lr, #0
- strb lr, [r0, #4]
- mov ip, lr
- mov r2, #0x80
- mov r1, #0x60
-_020a9314:
- add r3, r0, lr, lsl #1
- strh ip, [r3, #0x10]
- strh r2, [r3, #0x2c]
- add lr, lr, #1
- strh r1, [r3, #0x48]
- cmp lr, #0xe
- blt _020a9314
- ldmia sp!, {r3, pc}
- arm_func_end func_ov00_020a92fc
-
- .global func_ov00_020a9334
- arm_func_start func_ov00_020a9334
-func_ov00_020a9334: ; 0x020a9334
- stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
- ldrsh r2, [r1, #0x60]
- cmp r2, #0
- ble _020a9350
- ldrb r2, [r0, #4]
- cmp r2, #0
- beq _020a9384
-_020a9350:
- ldrh r2, [r0, #0xc]
- mov r3, #0
- mov r4, #0x80
- add r2, r0, r2, lsl #1
- strh r3, [r2, #0x10]
- ldrh r2, [r0, #0xc]
- mov r3, #0x60
- add r2, r0, r2, lsl #1
- strh r4, [r2, #0x2c]
- ldrh r2, [r0, #0xc]
- add r2, r0, r2, lsl #1
- strh r3, [r2, #0x48]
- b _020a93cc
-_020a9384:
- ldrsh r3, [r1, #0x6a]
- ldrsh r2, [r0, #0xe]
- ldr r4, _020a9520 ; =0xffffd555
- sub r2, r3, r2
- ldrh r3, [r0, #0xc]
- cmp r2, r4
- movgt r4, r2
- add r3, r0, r3, lsl #1
- strh r4, [r3, #0x10]
- ldr r2, _020a9524 ; =data_027e0d78
- ldrh r3, [r0, #0xc]
- ldr r4, [r2, #0x24]
- add r3, r0, r3, lsl #1
- strh r4, [r3, #0x2c]
- ldrh r3, [r0, #0xc]
- ldr r4, [r2, #0x28]
- add r2, r0, r3, lsl #1
- strh r4, [r2, #0x48]
-_020a93cc:
- ldrsh r1, [r1, #0x6a]
- mov r3, #0x80
- ldr r5, _020a9528 ; =0x92492493
- strh r1, [r0, #0xe]
- ldrh r1, [r0, #0xc]
- mov r6, #0xe
- mov r2, #0
- add r8, r1, #1
- smull r4, r1, r5, r8
- add r1, r8, r1
- mov r4, r8, lsr #0x1f
- add r1, r4, r1, asr #3
- smull r1, r4, r6, r1
- mov lr, #0x60
- mov r5, #0xe0
- sub r1, r8, r1
- mov r7, #0x20
- strh r1, [r0, #0xc]
- mov ip, r3
- mov r4, lr
- mov r6, r5
- mov r8, r7
- mov r1, r2
-_020a9428:
- add sb, r0, r1, lsl #1
- ldrsh sl, [sb, #0x10]
- ldrsh sb, [sb, #0x2c]
- add r2, r2, sl
- cmp sb, r3
- movlt r3, sb
- blt _020a944c
- cmp sb, ip
- movgt ip, sb
-_020a944c:
- add sb, r0, r1, lsl #1
- ldrsh sb, [sb, #0x48]
- cmp sb, lr
- movlt lr, sb
- blt _020a9468
- cmp sb, r4
- movgt r4, sb
-_020a9468:
- add sb, r0, r1, lsl #1
- ldrsh fp, [sb, #0x48]
- ldrsh sl, [sb, #0x2c]
- add sb, sl, fp
- sub sl, sl, fp
- mov sb, sb, lsl #0x10
- mov sl, sl, lsl #0x10
- cmp r5, sb, asr #16
- mov sb, sb, asr #0x10
- mov sl, sl, asr #0x10
- movgt r5, sb
- bgt _020a94a0
- cmp sb, r6
- movgt r6, sb
-_020a94a0:
- cmp sl, r7
- movlt r7, sl
- blt _020a94b4
- cmp sl, r8
- movgt r8, sl
-_020a94b4:
- add r1, r1, #1
- cmp r1, #0xe
- blt _020a9428
- sub r3, ip, r3
- cmp r3, #0x32
- subge r3, r4, lr
- mov r1, #0
- cmpge r3, #0x32
- subge r3, r6, r5
- cmpge r3, #0x46
- subge r3, r8, r7
- strb r1, [r0, #4]
- cmpge r3, #0x46
- ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
- ldr r3, _020a952c ; =0xffff2aab
- cmp r2, r3
- bge _020a9508
- mov r2, #1
- strb r2, [r0, #4]
- str r1, [r0, #8]
- ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
-_020a9508:
- rsb r1, r3, #0
- cmp r2, r1
- movgt r1, #1
- strgtb r1, [r0, #4]
- strgt r1, [r0, #8]
- ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
- .align 2, 0
- arm_func_end func_ov00_020a9334
-_020a9520: .word 0xffffd555
-_020a9524: .word data_027e0d78
-_020a9528: .word 0x92492493
-_020a952c: .word 0xffff2aab
-
- .global func_ov00_020a9530
- arm_func_start func_ov00_020a9530
-func_ov00_020a9530: ; 0x020a9530
- stmdb sp!, {r4, lr}
- mov r4, r0
- bl _ZN9SysObjectdlEPv
- mov r0, r4
- ldmia sp!, {r4, pc}
- arm_func_end func_ov00_020a9530
-
- .global func_ov00_020a9544
- arm_func_start func_ov00_020a9544
-func_ov00_020a9544: ; 0x020a9544
- bx lr
- arm_func_end func_ov00_020a9544
-
- .global func_ov00_020a9548
- arm_func_start func_ov00_020a9548
-func_ov00_020a9548: ; 0x020a9548
- bx lr
- arm_func_end func_ov00_020a9548
-
- .global func_ov00_020a954c
- arm_func_start func_ov00_020a954c
-func_ov00_020a954c: ; 0x020a954c
- mov r1, #0
- strb r1, [r0, #4]
- bx lr
- arm_func_end func_ov00_020a954c
-
- .global func_ov00_020a9558
- arm_func_start func_ov00_020a9558
-func_ov00_020a9558: ; 0x020a9558
- stmdb sp!, {r4, lr}
- mov r4, r0
- bl _ZN9SysObjectdlEPv
- mov r0, r4
- ldmia sp!, {r4, pc}
- arm_func_end func_ov00_020a9558
-
- .global func_ov00_020a956c
- thumb_func_start func_ov00_020a956c
-func_ov00_020a956c: ; 0x020a956c
- push {r4, lr}
- ldr r2, _020a9584 ; =data_ov00_020e5820
- add r4, r0, #0
- str r2, [r4]
- mov r2, #0
- str r2, [r4, #0x58]
- ldr r2, [r0]
- ldr r2, [r2, #0xc]
- blx r2
- add r0, r4, #0
- pop {r4, pc}
- nop
- thumb_func_end func_ov00_020a956c
-_020a9584: .word data_ov00_020e5820
-
- .global func_ov00_020a9588
- thumb_func_start func_ov00_020a9588
-func_ov00_020a9588: ; 0x020a9588
- push {r4, lr}
- ldr r2, _020a95a0 ; =data_ov00_020e5820
- add r4, r0, #0
- str r2, [r4]
- mov r2, #0
- str r2, [r4, #0x58]
- ldr r2, [r0]
- ldr r2, [r2, #0xc]
- blx r2
- add r0, r4, #0
- pop {r4, pc}
- nop
- thumb_func_end func_ov00_020a9588
-_020a95a0: .word data_ov00_020e5820
-
- .global func_ov00_020a95a4
- thumb_func_start func_ov00_020a95a4
-func_ov00_020a95a4: ; 0x020a95a4
- push {r4, lr}
- add r4, r0, #0
- ldr r0, _020a95c0 ; =data_ov00_020e5820
- str r0, [r4]
- ldr r0, [r4, #0x58]
- cmp r0, #0
- beq _020a95b6
- blx func_0202ea18
-_020a95b6:
- add r0, r4, #0
- bl func_ov00_020b3ea8
- add r0, r4, #0
- pop {r4, pc}
- .align 2, 0
- thumb_func_end func_ov00_020a95a4
-_020a95c0: .word data_ov00_020e5820
-
- .global func_ov00_020a95c4
- thumb_func_start func_ov00_020a95c4
-func_ov00_020a95c4: ; 0x020a95c4
- push {r4, lr}
- add r4, r0, #0
- ldr r0, _020a95e8 ; =data_ov00_020e5820
- str r0, [r4]
- ldr r0, [r4, #0x58]
- cmp r0, #0
- beq _020a95d6
- blx func_0202ea18
-_020a95d6:
- add r0, r4, #0
- bl func_ov00_020b3ea8
- add r0, r4, #0
- blx _ZN9SysObjectdlEPv
- add r0, r4, #0
- pop {r4, pc}
- nop
- thumb_func_end func_ov00_020a95c4
-_020a95e8: .word data_ov00_020e5820
-
- .global func_ov00_020a95ec
- thumb_func_start func_ov00_020a95ec
-func_ov00_020a95ec: ; 0x020a95ec
- push {r4, lr}
- add r4, r0, #0
- ldr r0, _020a9608 ; =data_ov00_020e5820
- str r0, [r4]
- ldr r0, [r4, #0x58]
- cmp r0, #0
- beq _020a95fe
- blx func_0202ea18
-_020a95fe:
- add r0, r4, #0
- bl func_ov00_020b3ea8
- add r0, r4, #0
- pop {r4, pc}
- .align 2, 0
- thumb_func_end func_ov00_020a95ec
-_020a9608: .word data_ov00_020e5820
-
- .global func_ov00_020a960c
- arm_func_start func_ov00_020a960c
-func_ov00_020a960c: ; 0x020a960c
- ldr r0, [r0, #8]
- bx lr
- arm_func_end func_ov00_020a960c
-
- .global func_ov00_020a9614
- arm_func_start func_ov00_020a9614
-func_ov00_020a9614: ; 0x020a9614
- ldr ip, _020a9620 ; =func_020189dc
- add r0, r0, #4
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a9614
-_020a9620: .word func_020189dc
-
- .global func_ov00_020a9624
- arm_func_start func_ov00_020a9624
-func_ov00_020a9624: ; 0x020a9624
- ldr r2, [r0, #0x58]
- cmp r2, #0
- movne r0, #0x58
- mlane r0, r1, r0, r2
- bxne lr
- ldr r2, [r0, #0x38]
- cmp r2, #0
- movne r0, #0x58
- mlane r0, r1, r0, r2
- moveq r0, #0
- bx lr
- arm_func_end func_ov00_020a9624
-
- .global func_ov00_020a9650
- arm_func_start func_ov00_020a9650
-func_ov00_020a9650: ; 0x020a9650
- stmdb sp!, {r4, r5, r6, lr}
- mov r6, r0
- mov r0, r1
- mov r5, r2
- mov r4, r3
- bl func_020183b4
- ldr r1, _020a96c4 ; =data_027e0438
- mov r0, r5
- bl func_020079d8
- ldr r1, _020a96c8 ; =data_027e037c
- mov r0, r4
- ldr r2, [r1, #0xfc]
- bic r2, r2, #0xa4
- str r2, [r1, #0xfc]
- bl func_0201838c
- mov r0, r6
- ldr r1, [r0]
- ldr r1, [r1, #0x1c]
- blx r1
- ldr r0, _020a96cc ; =data_027e016c
- bl func_020183b4
- ldr r0, _020a96d0 ; =data_027e0194
- ldr r1, _020a96c4 ; =data_027e0438
- bl func_020079d8
- ldr r0, _020a96c8 ; =data_027e037c
- ldr r1, [r0, #0xfc]
- bic r1, r1, #0xa4
- str r1, [r0, #0xfc]
- ldmia sp!, {r4, r5, r6, pc}
- .align 2, 0
- arm_func_end func_ov00_020a9650
-_020a96c4: .word data_027e0438
-_020a96c8: .word data_027e037c
-_020a96cc: .word data_027e016c
-_020a96d0: .word data_027e0194
-
- .global func_ov00_020a96d4
- arm_func_start func_ov00_020a96d4
-func_ov00_020a96d4: ; 0x020a96d4
- stmdb sp!, {r3, r4, r5, lr}
- mov r5, r0
- mov r0, r1
- ldr r1, _020a9734 ; =data_027e0438
- mov r4, r2
- bl func_020079d8
- ldr r1, _020a9738 ; =data_027e037c
- mov r0, r4
- ldr r2, [r1, #0xfc]
- bic r2, r2, #0xa4
- str r2, [r1, #0xfc]
- bl func_0201838c
- mov r0, r5
- ldr r1, [r0]
- ldr r1, [r1, #0x1c]
- blx r1
- ldr r0, _020a973c ; =data_027e0194
- ldr r1, _020a9734 ; =data_027e0438
- bl func_020079d8
- ldr r0, _020a9738 ; =data_027e037c
- ldr r1, [r0, #0xfc]
- bic r1, r1, #0xa4
- str r1, [r0, #0xfc]
- ldmia sp!, {r3, r4, r5, pc}
- .align 2, 0
- arm_func_end func_ov00_020a96d4
-_020a9734: .word data_027e0438
-_020a9738: .word data_027e037c
-_020a973c: .word data_027e0194
-
- .global func_ov00_020a9740
- arm_func_start func_ov00_020a9740
-func_ov00_020a9740: ; 0x020a9740
- stmdb sp!, {r4, lr}
- mov r4, r0
- mov r0, r1
- bl func_0201838c
- mov r0, r4
- ldr r1, [r0]
- ldr r1, [r1, #0x1c]
- blx r1
- ldmia sp!, {r4, pc}
- arm_func_end func_ov00_020a9740
-
- .global func_ov00_020a9764
- arm_func_start func_ov00_020a9764
-func_ov00_020a9764: ; 0x020a9764
- stmdb sp!, {r4, lr}
- ldr r1, _020a97c0 ; =data_027e045c
- mov r4, r0
- mov r0, #0x1c
- mov r2, #3
- bl func_01ffa9fc
- ldr r1, _020a97c4 ; =data_027e0438
- mov r0, #0x1a
- mov r2, #9
- bl func_01ffa9fc
- ldr r1, _020a97c8 ; =data_027e0468
- mov r0, #0x1b
- mov r2, #3
- bl func_01ffa9fc
- mov r0, r4
- ldr r1, [r0]
- ldr r1, [r1, #0x20]
- blx r1
- mov r0, #0x17
- ldr r1, _020a97cc ; =data_027e03c8
- mov r2, #0xc
- bl func_01ffa9fc
- ldmia sp!, {r4, pc}
- .align 2, 0
- arm_func_end func_ov00_020a9764
-_020a97c0: .word data_027e045c
-_020a97c4: .word data_027e0438
-_020a97c8: .word data_027e0468
-_020a97cc: .word data_027e03c8
-
- .global func_ov00_020a97d0
- arm_func_start func_ov00_020a97d0
-func_ov00_020a97d0: ; 0x020a97d0
- ldr ip, _020a97dc ; =func_02019ae8
- add r0, r0, #4
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a97d0
-_020a97dc: .word func_02019ae8
-
- .global func_ov00_020a97e0
- arm_func_start func_ov00_020a97e0
-func_ov00_020a97e0: ; 0x020a97e0
- ldr ip, _020a97f4 ; =func_ov00_020c0d70
- mov r2, r0
- mov r0, r1
- add r1, r2, #4
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020a97e0
-_020a97f4: .word func_ov00_020c0d70
-
- .global func_ov00_020a97f8
- arm_func_start func_ov00_020a97f8
-func_ov00_020a97f8: ; 0x020a97f8
- stmdb sp!, {r4, lr}
- mov r4, r0
- ldr r1, [r4, #0x14]
- cmp r1, #0
- beq _020a9820
-_020a980c:
- add r0, r4, #4
- bl func_02018c3c
- ldr r1, [r4, #0x14]
- cmp r1, #0
- bne _020a980c
-_020a9820:
- ldr r1, [r4, #0xc]
- cmp r1, #0
- beq _020a9840
-_020a982c:
- add r0, r4, #4
- bl func_02018c3c
- ldr r1, [r4, #0xc]
- cmp r1, #0
- bne _020a982c
-_020a9840:
- ldr r1, [r4, #0x1c]
- cmp r1, #0
- ldmeqia sp!, {r4, pc}
-_020a984c:
- add r0, r4, #4
- bl func_02018c3c
- ldr r1, [r4, #0x1c]
- cmp r1, #0
- bne _020a984c
- ldmia sp!, {r4, pc}
- arm_func_end func_ov00_020a97f8
-
- .global func_ov00_020a9864
- arm_func_start func_ov00_020a9864
-func_ov00_020a9864: ; 0x020a9864
- stmdb sp!, {r4, lr}
- mov r4, r0
- ldr r1, [r4, #0x14]
- cmp r1, #0
- ldmeqia sp!, {r4, pc}
-_020a9878:
- add r0, r4, #4
- bl func_02018c3c
- ldr r1, [r4, #0x14]
- cmp r1, #0
- bne _020a9878
- ldmia sp!, {r4, pc}
- arm_func_end func_ov00_020a9864
-
- .global func_ov00_020a9890
- arm_func_start func_ov00_020a9890
-func_ov00_020a9890: ; 0x020a9890
- stmdb sp!, {r4, lr}
- mov r4, r0
- ldr r1, [r4, #0x1c]
- cmp r1, #0
- ldmeqia sp!, {r4, pc}
-_020a98a4:
- add r0, r4, #4
- bl func_02018c3c
- ldr r1, [r4, #0x1c]
- cmp r1, #0
- bne _020a98a4
- ldmia sp!, {r4, pc}
- arm_func_end func_ov00_020a9890
-
- .global func_ov00_020a98bc
- arm_func_start func_ov00_020a98bc
-func_ov00_020a98bc: ; 0x020a98bc
- stmdb sp!, {r4, lr}
- mov r4, r0
- ldr r1, [r4, #0xc]
- cmp r1, #0
- ldmeqia sp!, {r4, pc}
-_020a98d0:
- add r0, r4, #4
- bl func_02018c3c
- ldr r1, [r4, #0xc]
- cmp r1, #0
- bne _020a98d0
- ldmia sp!, {r4, pc}
- arm_func_end func_ov00_020a98bc
-
- .global func_ov00_020a98e8
- arm_func_start func_ov00_020a98e8
-func_ov00_020a98e8: ; 0x020a98e8
- stmdb sp!, {r4, lr}
- ldr r2, [r0]
- mov r4, r1
- ldr r2, [r2, #8]
- blx r2
- mov r1, r4
- add r0, r0, #0x40
- bl func_0201e388
- ldmia sp!, {r4, pc}
- arm_func_end func_ov00_020a98e8
-
- .global func_ov00_020a990c
- arm_func_start func_ov00_020a990c
-func_ov00_020a990c: ; 0x020a990c
- stmdb sp!, {r4, lr}
- ldr r2, [r0]
- mov r4, r1
- ldr r2, [r2, #8]
- blx r2
- ldr r2, [r0, #8]
- mov r1, r4
- add r0, r0, r2
- add r0, r0, #4
- bl func_0201e388
- ldmia sp!, {r4, pc}
- arm_func_end func_ov00_020a990c
-
- .global func_ov00_020a9938
- thumb_func_start func_ov00_020a9938
-func_ov00_020a9938: ; 0x020a9938
- push {r4, r5, r6, lr}
- add r6, r1, #0
- ldr r1, _020a995c ; =data_027e0ce0
- add r5, r0, #0
- ldr r4, [r1, #4]
- blx func_ov00_020b3eac
- ldrb r1, [r0, #3]
- mov r0, #0x58
- add r2, r6, #0
- mul r0, r1
- add r1, r4, #0
- blx func_0202e9f4
- str r0, [r5, #0x58]
- str r0, [r5, #0x38]
- pop {r4, r5, r6, pc}
- nop
- thumb_func_end func_ov00_020a9938
-_020a995c: .word data_027e0ce0
-
- .global func_ov00_020a9960
- arm_func_start func_ov00_020a9960
-func_ov00_020a9960: ; 0x020a9960
- str r1, [r0, #0x38]
- bx lr
- arm_func_end func_ov00_020a9960
-
- .global func_ov00_020a9968
- arm_func_start func_ov00_020a9968
-func_ov00_020a9968: ; 0x020a9968
- stmdb sp!, {r4, lr}
- mov r4, r0
- ldr r1, [r4, #4]
- add r0, r4, #4
- orr r1, r1, #3
- str r1, [r4, #4]
- bl func_02019ae8
- ldr r0, [r4, #4]
- bic r0, r0, #2
- str r0, [r4, #4]
- ldmia sp!, {r4, pc}
- arm_func_end func_ov00_020a9968
-
- .global func_ov00_020a9994
- arm_func_start func_ov00_020a9994
-func_ov00_020a9994: ; 0x020a9994
- bx lr
- arm_func_end func_ov00_020a9994
-
- .global func_ov00_020a9998
- arm_func_start func_ov00_020a9998
-func_ov00_020a9998: ; 0x020a9998
- stmdb sp!, {r3, lr}
- str r0, [r0, #0x30]
- mov r3, r1
- str r2, [sp]
- ldr r1, _020a99bc ; =func_ov00_020a99c0
- add r0, r0, #4
- mov r2, #0
- bl func_02018c90
- ldmia sp!, {r3, pc}
- .align 2, 0
- arm_func_end func_ov00_020a9998
-_020a99bc: .word func_ov00_020a99c0
-
- .global func_ov00_020a99c0
- arm_func_start func_ov00_020a99c0
-func_ov00_020a99c0: ; 0x020a99c0
- stmdb sp!, {r3, lr}
- mov r1, r0
- ldr r0, [r1, #4]
- ldr r0, [r0, #0x2c]
- ldr r2, [r0]
- ldr r2, [r2, #0x3c]
- blx r2
- ldmia sp!, {r3, pc}
- arm_func_end func_ov00_020a99c0
-
- .global func_ov00_020a99e0
- thumb_func_start func_ov00_020a99e0
-func_ov00_020a99e0: ; 0x020a99e0
- push {r4, r5, r6, lr}
- add r4, r1, #0
- add r6, r2, #0
- mov r1, #0
- add r2, r4, #0
- add r5, r0, #0
- bl func_ov00_020c0c08
- ldr r0, _020a9a18 ; =data_ov00_020e5868
- mov r1, #3
- str r0, [r5]
- ldrb r0, [r4, #0x17]
- add r2, r6, #0
- lsl r0, r0, #1
- add r0, #0x1c
- bic r0, r1
- ldr r1, _020a9a1c ; =data_027e0ce0
- ldr r1, [r1, #4]
- blx func_0202e9f4
- str r0, [r5, #4]
- mov r1, #0
- str r1, [r0, #8]
- mov r0, #1
- strh r0, [r5, #0xc]
- add r0, r5, #0
- pop {r4, r5, r6, pc}
- nop
- thumb_func_end func_ov00_020a99e0
-_020a9a18: .word data_ov00_020e5868
-_020a9a1c: .word data_027e0ce0
-
- .global func_ov00_020a9a20
- thumb_func_start func_ov00_020a9a20
-func_ov00_020a9a20: ; 0x020a9a20
- push {r4, lr}
- add r4, r0, #0
- ldr r0, _020a9a3c ; =data_ov00_020e5868
- str r0, [r4]
- ldr r0, [r4, #4]
- cmp r0, #0
- beq _020a9a32
- blx func_0202ea18
-_020a9a32:
- add r0, r4, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- pop {r4, pc}
- .align 2, 0
- thumb_func_end func_ov00_020a9a20
-_020a9a3c: .word data_ov00_020e5868
-
- .global func_ov00_020a9a40
- thumb_func_start func_ov00_020a9a40
-func_ov00_020a9a40: ; 0x020a9a40
- push {r4, lr}
- add r4, r0, #0
- ldr r0, _020a9a64 ; =data_ov00_020e5868
- str r0, [r4]
- ldr r0, [r4, #4]
- cmp r0, #0
- beq _020a9a52
- blx func_0202ea18
-_020a9a52:
- add r0, r4, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- blx _ZN9SysObjectdlEPv
- add r0, r4, #0
- pop {r4, pc}
- nop
- thumb_func_end func_ov00_020a9a40
-_020a9a64: .word data_ov00_020e5868
-
- .global func_ov00_020a9a68
- thumb_func_start func_ov00_020a9a68
-func_ov00_020a9a68: ; 0x020a9a68
- push {r3, r4, r5, lr}
- add r5, r0, #0
- add r0, r1, #0
- ldr r1, [r5, #8]
- add r4, r2, #0
- blx func_02018884
- ldr r1, _020a9a88 ; =data_027e0ce0
- add r2, r4, #0
- ldr r1, [r1, #4]
- blx func_0202e9f4
- str r0, [r5, #4]
- mov r1, #0
- str r1, [r0, #8]
- pop {r3, r4, r5, pc}
- .align 2, 0
- thumb_func_end func_ov00_020a9a68
-_020a9a88: .word data_027e0ce0
-
- .global func_ov00_020a9a8c
- thumb_func_start func_ov00_020a9a8c
-func_ov00_020a9a8c: ; 0x020a9a8c
- push {r4, lr}
- add r4, r0, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- pop {r4, pc}
- thumb_func_end func_ov00_020a9a8c
-
- .global func_ov00_020a9a98
- thumb_func_start func_ov00_020a9a98
-func_ov00_020a9a98: ; 0x020a9a98
- push {r4, lr}
- add r4, r0, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- blx _ZN9SysObjectdlEPv
- add r0, r4, #0
- pop {r4, pc}
- .align 2, 0
- thumb_func_end func_ov00_020a9a98
-
- .global func_ov00_020a9aac
- thumb_func_start func_ov00_020a9aac
-func_ov00_020a9aac: ; 0x020a9aac
- push {r4, lr}
- add r4, r0, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- pop {r4, pc}
- thumb_func_end func_ov00_020a9aac
-
- .global func_ov00_020a9ab8
- thumb_func_start func_ov00_020a9ab8
-func_ov00_020a9ab8: ; 0x020a9ab8
- push {r4, lr}
- add r4, r0, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- blx _ZN9SysObjectdlEPv
- add r0, r4, #0
- pop {r4, pc}
- .align 2, 0
- thumb_func_end func_ov00_020a9ab8
-
- .global func_ov00_020a9acc
- thumb_func_start func_ov00_020a9acc
-func_ov00_020a9acc: ; 0x020a9acc
- push {r4, lr}
- add r4, r0, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- pop {r4, pc}
- thumb_func_end func_ov00_020a9acc
-
- .global func_ov00_020a9ad8
- thumb_func_start func_ov00_020a9ad8
-func_ov00_020a9ad8: ; 0x020a9ad8
- push {r4, lr}
- add r4, r0, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- blx _ZN9SysObjectdlEPv
- add r0, r4, #0
- pop {r4, pc}
- .align 2, 0
- thumb_func_end func_ov00_020a9ad8
-
- .global func_ov00_020a9aec
- thumb_func_start func_ov00_020a9aec
-func_ov00_020a9aec: ; 0x020a9aec
- push {r4, lr}
- add r4, r0, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- pop {r4, pc}
- thumb_func_end func_ov00_020a9aec
-
- .global func_ov00_020a9af8
- thumb_func_start func_ov00_020a9af8
-func_ov00_020a9af8: ; 0x020a9af8
- push {r4, lr}
- add r4, r0, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- blx _ZN9SysObjectdlEPv
- add r0, r4, #0
- pop {r4, pc}
- .align 2, 0
- thumb_func_end func_ov00_020a9af8
-
- .global func_ov00_020a9b0c
- thumb_func_start func_ov00_020a9b0c
-func_ov00_020a9b0c: ; 0x020a9b0c
- push {r4, lr}
- add r4, r0, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- pop {r4, pc}
- thumb_func_end func_ov00_020a9b0c
-
- .global func_ov00_020a9b18
- thumb_func_start func_ov00_020a9b18
-func_ov00_020a9b18: ; 0x020a9b18
- push {r4, lr}
- add r4, r0, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- blx _ZN9SysObjectdlEPv
- add r0, r4, #0
- pop {r4, pc}
- .align 2, 0
- thumb_func_end func_ov00_020a9b18
-
- .global func_ov00_020a9b2c
- thumb_func_start func_ov00_020a9b2c
-func_ov00_020a9b2c: ; 0x020a9b2c
- push {r4, lr}
- add r4, r0, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- pop {r4, pc}
- thumb_func_end func_ov00_020a9b2c
-
- .global func_ov00_020a9b38
- thumb_func_start func_ov00_020a9b38
-func_ov00_020a9b38: ; 0x020a9b38
- push {r4, lr}
- add r4, r0, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- blx _ZN9SysObjectdlEPv
- add r0, r4, #0
- pop {r4, pc}
- .align 2, 0
- thumb_func_end func_ov00_020a9b38
-
- .global func_ov00_020a9b4c
- thumb_func_start func_ov00_020a9b4c
-func_ov00_020a9b4c: ; 0x020a9b4c
- push {r4, lr}
- add r4, r0, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- pop {r4, pc}
- thumb_func_end func_ov00_020a9b4c
-
- .global func_ov00_020a9b58
- thumb_func_start func_ov00_020a9b58
-func_ov00_020a9b58: ; 0x020a9b58
- push {r4, lr}
- add r4, r0, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- blx _ZN9SysObjectdlEPv
- add r0, r4, #0
- pop {r4, pc}
- .align 2, 0
- thumb_func_end func_ov00_020a9b58
-
- .global func_ov00_020a9b6c
- thumb_func_start func_ov00_020a9b6c
-func_ov00_020a9b6c: ; 0x020a9b6c
- push {r4, lr}
- add r4, r0, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- pop {r4, pc}
- thumb_func_end func_ov00_020a9b6c
-
- .global func_ov00_020a9b78
- thumb_func_start func_ov00_020a9b78
-func_ov00_020a9b78: ; 0x020a9b78
- push {r4, lr}
- add r4, r0, #0
- bl func_ov00_020c0c40
- add r0, r4, #0
- blx _ZN9SysObjectdlEPv
- add r0, r4, #0
- pop {r4, pc}
- .align 2, 0
- thumb_func_end func_ov00_020a9b78
-
- .global func_ov00_020a9b8c
- arm_func_start func_ov00_020a9b8c
-func_ov00_020a9b8c: ; 0x020a9b8c
- stmdb sp!, {r4, lr}
- ldr r1, _020a9bb4 ; =data_ov00_020e5878
- mov r4, r0
- str r1, [r4]
- ldr r0, [r4, #0x98]
- bl func_0202ea18
- mov r0, r4
- blx func_ov00_020a95ec
- mov r0, r4
- ldmia sp!, {r4, pc}
- .align 2, 0
- arm_func_end func_ov00_020a9b8c
-_020a9bb4: .word data_ov00_020e5878
-
- .global func_ov00_020a9bb8
- arm_func_start func_ov00_020a9bb8
-func_ov00_020a9bb8: ; 0x020a9bb8
- stmdb sp!, {r4, lr}
- ldr r1, _020a9be8 ; =data_ov00_020e5878
- mov r4, r0
- str r1, [r4]
- ldr r0, [r4, #0x98]
- bl func_0202ea18
- mov r0, r4
- blx func_ov00_020a95ec
- mov r0, r4
- bl _ZN9SysObjectdlEPv
- mov r0, r4
- ldmia sp!, {r4, pc}
- .align 2, 0
- arm_func_end func_ov00_020a9bb8
-_020a9be8: .word data_ov00_020e5878
-
- .global func_ov00_020a9bec
- arm_func_start func_ov00_020a9bec
-func_ov00_020a9bec: ; 0x020a9bec
- stmdb sp!, {r3, lr}
- cmp r1, #0
- beq _020a9c08
- mov r1, #6
- mov r2, #3
- bl func_ov00_020a9998
- ldmia sp!, {r3, pc}
-_020a9c08:
- add r0, r0, #4
- bl func_02018ca4
- ldmia sp!, {r3, pc}
- arm_func_end func_ov00_020a9bec
-
- .global func_ov00_020a9c14
- arm_func_start func_ov00_020a9c14
-func_ov00_020a9c14: ; 0x020a9c14
- stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
- sub sp, sp, #0x94
- mov r8, r2
- movs sb, r1
- cmpeq r8, #0
- mov sl, r0
- addeq sp, sp, #0x94
- ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
- ldr r1, [sl, #0x68]
- mov r0, sl
- bl func_ov00_020a9624
- ldr r5, [sl, #8]
- mov r6, r0
- ldr r4, [r5, #4]
- ldr r7, [sl, #0x68]
- mvn r1, #0
- add r0, sp, #0x70
- str r1, [sp]
- bl func_01ff80d4
- add fp, sp, #0
- b _020a9c94
-_020a9c68:
- mov r0, sl
- bl func_ov00_020a9624
- mov r1, r0
- ldr r0, [r1]
- ldr r7, [sp]
- tst r0, #2
- bne _020a9c94
- add r0, sp, #0x70
- mov r2, r0
- add r1, r1, #0x28
- bl func_01ff8690
-_020a9c94:
- mov r0, fp
- mov r2, r7
- add r1, r5, r4
- bl func_0201b2f8
- cmp r0, #0
- ldrne r1, [sp]
- cmpne r1, r7
- bne _020a9c68
- add r0, sp, #0x70
- add r1, sp, #0x4c
- bl func_01ff83a0
- cmp r0, #0
- mov r0, sb, asr #0x4
- bne _020a9d48
- mov r2, r0, lsl #0x1
- add r0, r2, #1
- ldr r1, _020a9dbc ; =data_02050f54
- mov r2, r2, lsl #0x1
- mov r0, r0, lsl #0x1
- ldrsh r3, [r1, r0]
- ldrsh r2, [r1, r2]
- add r0, sp, #0x28
- add r1, sp, #0x4c
- bl func_01ff8248
- add r0, r6, #0x28
- add r1, sp, #0x28
- mov r2, r0
- bl func_01ff8690
- mov r0, r8, asr #0x4
- mov r2, r0, lsl #0x1
- add r0, r2, #1
- ldr r1, _020a9dbc ; =data_02050f54
- mov r2, r2, lsl #0x1
- mov r0, r0, lsl #0x1
- ldrsh r3, [r1, r0]
- ldrsh r2, [r1, r2]
- add r0, sp, #0x28
- add r1, sp, #0x58
- bl func_01ff8248
- add r0, r6, #0x28
- add r1, sp, #0x28
- mov r2, r0
- bl func_01ff8690
- add sp, sp, #0x94
- ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
-_020a9d48:
- mov r1, r0, lsl #0x1
- add r0, r1, #1
- ldr r2, _020a9dbc ; =data_02050f54
- mov r1, r1, lsl #0x1
- mov r0, r0, lsl #0x1
- ldrsh r1, [r2, r1]
- ldrsh r2, [r2, r0]
- add r0, sp, #4
- blx func_01ff8230
- add r0, r6, #0x28
- add r1, sp, #4
- mov r2, r0
- bl func_01ff8690
- mov r0, r8, asr #0x4
- mov r1, r0, lsl #0x1
- add r0, r1, #1
- ldr r2, _020a9dbc ; =data_02050f54
- mov r1, r1, lsl #0x1
- mov r0, r0, lsl #0x1
- ldrsh r1, [r2, r1]
- ldrsh r2, [r2, r0]
- add r0, sp, #4
- blx func_01ff81f8
- add r0, r6, #0x28
- add r1, sp, #4
- mov r2, r0
- bl func_01ff8690
- add sp, sp, #0x94
- ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
- .align 2, 0
- arm_func_end func_ov00_020a9c14
-_020a9dbc: .word data_02050f54
-
- .global func_ov00_020a9dc0
- arm_func_start func_ov00_020a9dc0
-func_ov00_020a9dc0: ; 0x020a9dc0
- stmdb sp!, {r3, r4, r5, r6, r7, lr}
- movs r6, r1
- mov r7, r0
- ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
- mov r0, r6
- mov r5, #0
- bl func_ov00_020c0e94
- cmp r0, #0
- bls _020a9e10
- mov r4, #1
-_020a9de8:
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl func_ov00_020c0ea0
- add r1, r5, #1
- mov r0, r6
- and r5, r1, #0xff
- bl func_ov00_020c0e94
- cmp r5, r0
- blo _020a9de8
-_020a9e10:
- mov r0, r7
- ldr r2, [r0]
- mov r1, r6
- ldr r2, [r2, #0x24]
- blx r2
- ldmia sp!, {r3, r4, r5, r6, r7, pc}
- arm_func_end func_ov00_020a9dc0
-
- .global func_ov00_020a9e28
- arm_func_start func_ov00_020a9e28
-func_ov00_020a9e28: ; 0x020a9e28
- stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
- movs r6, r1
- mov r7, r0
- ldrne r0, [r6, #4]
- mov r5, r2
- ldrne r0, [r0, #8]
- cmpne r0, #0
- ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
- mov r0, r6
- mov r4, #0
- bl func_ov00_020c0e94
- cmp r0, #0
- bls _020a9e9c
- mov r8, r4
- mov sb, #1
-_020a9e64:
- ldr r0, [r7, #0x98]
- mov r1, r4
- ldrb r0, [r0, r4]
- cmp r5, r0
- moveq r2, sb
- movne r2, r8
- mov r0, r6
- bl func_ov00_020c0ea0
- add r1, r4, #1
- mov r0, r6
- and r4, r1, #0xff
- bl func_ov00_020c0e94
- cmp r4, r0
- blo _020a9e64
-_020a9e9c:
- mov r0, r7
- ldr r2, [r0]
- mov r1, r6
- ldr r2, [r2, #0x24]
- blx r2
- ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
- arm_func_end func_ov00_020a9e28
-
- .global func_ov00_020a9eb4
- arm_func_start func_ov00_020a9eb4
-func_ov00_020a9eb4: ; 0x020a9eb4
- bx lr
- arm_func_end func_ov00_020a9eb4
-
- .global func_ov00_020a9eb8
- arm_func_start func_ov00_020a9eb8
-func_ov00_020a9eb8: ; 0x020a9eb8
- stmdb sp!, {r3, lr}
- ldr r3, [r0, #4]
- add r1, sp, #0
- mov r0, #0x13
- mov r2, #1
- str r3, [sp]
- bl func_01ffa9fc
- ldmia sp!, {r3, pc}
- arm_func_end func_ov00_020a9eb8
-
- .global func_ov00_020a9ed8
- arm_func_start func_ov00_020a9ed8
-func_ov00_020a9ed8: ; 0x020a9ed8
- stmdb sp!, {r4, lr}
- sub sp, sp, #0x30
- mov r4, r0
- add r0, sp, #0
- mov r1, #0
- bl func_0201b1bc
- bl func_02018450
- mov r1, r0
- ldr r2, [r4, #4]
- add r0, sp, #0
- bl func_01ff8e84
- add sp, sp, #0x30
- ldmia sp!, {r4, pc}
- arm_func_end func_ov00_020a9ed8
-
- .global func_ov00_020a9f0c
- arm_func_start func_ov00_020a9f0c
-func_ov00_020a9f0c: ; 0x020a9f0c
- bx lr
- arm_func_end func_ov00_020a9f0c
-
- .global func_ov00_020a9f10
- arm_func_start func_ov00_020a9f10
-func_ov00_020a9f10: ; 0x020a9f10
- stmdb sp!, {r4, r5, lr}
- sub sp, sp, #0x3c
- ldr r2, [r1, #8]
- mov r5, r0
- tst r2, #0x10
- ldrneb r4, [r1, #0xae]
- ldr r0, [r5, #0x70]
- mvneq r4, #0
- cmp r4, r0
- bne _020a9f54
- mov r3, #0x1d
- add r1, sp, #8
- mov r0, #0x13
- mov r2, #1
- str r3, [sp, #8]
- bl func_01ffa9fc
- b _020aa044
-_020a9f54:
- ldr r0, [r5, #0x74]
- cmp r4, r0
- bne _020a9f7c
- mov r3, #0x1e
- add r1, sp, #4
- mov r0, #0x13
- mov r2, #1
- str r3, [sp, #4]
- bl func_01ffa9fc
- b _020aa044
-_020a9f7c:
- ldr r0, [r5, #0x6c]
- cmp r4, r0
- bne _020a9fa4
- mov r3, #0x1c
- add r1, sp, #0
- mov r0, #0x13
- mov r2, #1
- str r3, [sp]
- bl func_01ffa9fc
- b _020aa044
-_020a9fa4:
- ldr r0, [r5, #0x9c]
- cmp r0, #0
- beq _020aa044
- ldr r0, [r5, #0x78]
- cmp r4, r0
- bne _020a9fe0
- add r0, sp, #0xc
- mov r1, #0
- bl func_0201b1bc
- bl func_02018450
- mov r1, r0
- ldr r2, [r5, #0x9c]
- add r0, sp, #0xc
- bl func_01ff8e84
- b _020aa044
-_020a9fe0:
- ldr r0, [r5, #0x7c]
- cmp r4, r0
- bne _020aa014
- add r0, sp, #0xc
- mov r1, #0
- bl func_0201b1bc
- bl func_02018450
- ldr r2, [r5, #0x9c]
- mov r1, r0
- add r0, sp, #0xc
- add r2, r2, #0x30
- bl func_01ff8e84
- b _020aa044
-_020aa014:
- ldr r0, [r5, #0x80]
- cmp r4, r0
- bne _020aa044
- add r0, sp, #0xc
- mov r1, #0
- bl func_0201b1bc
- bl func_02018450
- ldr r2, [r5, #0x9c]
- mov r1, r0
- add r0, sp, #0xc
- add r2, r2, #0x60
- bl func_01ff8e84
-_020aa044:
- ldr r0, [r5, #0xa0]
- cmp r0, #0
- addeq sp, sp, #0x3c
- ldmeqia sp!, {r4, r5, pc}
- add r0, sp, #0xc
- mov r1, #0
- bl func_0201b1bc
- bl func_02018450
- mov r1, r0
- ldr r2, [r5, #0xa0]
- mov r0, #0x30
- mla r2, r4, r0, r2
- add r0, sp, #0xc
- bl func_01ff8e84
- add sp, sp, #0x3c
- ldmia sp!, {r4, r5, pc}
- arm_func_end func_ov00_020a9f10
-
- .global func_ov00_020aa084
- arm_func_start func_ov00_020aa084
-func_ov00_020aa084: ; 0x020aa084
- stmdb sp!, {r3, r4, r5, r6, r7, lr}
- sub sp, sp, #0x80
- mov r4, r0
- ldr r3, [r4, #8]
- mov r6, r1
- ldr r1, [r3, #4]
- add r0, sp, #0
- mov r2, r6
- add r1, r3, r1
- bl func_0201b35c
- mov r5, r0
- cmp r5, #0
- ldr r0, [r4, #0x98]
- mov r1, #1
- strb r1, [r0, r6]
- mov r6, #0
- addle sp, sp, #0x80
- ldmleia sp!, {r3, r4, r5, r6, r7, pc}
- add r7, sp, #0
-_020aa0d0:
- ldrb r1, [r7], #1
- mov r0, r4
- bl func_ov00_020aa084
- add r6, r6, #1
- cmp r6, r5
- blt _020aa0d0
- add sp, sp, #0x80
- ldmia sp!, {r3, r4, r5, r6, r7, pc}
- arm_func_end func_ov00_020aa084
-
- .global func_ov00_020aa0f0
- arm_func_start func_ov00_020aa0f0
-func_ov00_020aa0f0: ; 0x020aa0f0
- stmdb sp!, {r3, r4, r5, lr}
- add r1, r0, r1, lsl #2
- ldr r4, [r1, #0x84]
- mov r5, r2
- cmp r4, #0
- ldmltia sp!, {r3, r4, r5, pc}
- ldr r1, [r0]
- ldr r1, [r1, #8]
- blx r1
- mov r1, r4
- mov r2, r5
- bl func_02019570
- ldmia sp!, {r3, r4, r5, pc}
- arm_func_end func_ov00_020aa0f0
-
- .global func_ov00_020aa124
- arm_func_start func_ov00_020aa124
-func_ov00_020aa124: ; 0x020aa124
- stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
- mov r8, r0
- ldr r4, [r8, #0x94]
- mov r7, r1
- mov r6, r2
- mov r5, r3
- cmp r4, #0
- ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
- ldr r1, [r0]
- ldr r1, [r1, #8]
- blx r1
- mov r1, r4
- mov r2, r6
- bl func_02019570
- mov r0, r8
- ldr r1, [r0]
- ldr r1, [r1, #8]
- blx r1
- ldr r1, [r8, #0x94]
- mov r2, #0
- bl func_020193f0
- mov r0, r8
- ldr r1, [r0]
- ldr r1, [r1, #8]
- blx r1
- ldr r1, [r8, #0x94]
- mov r2, #0
- bl func_02019434
- mov r0, r8
- ldr r1, [r0]
- ldr r1, [r1, #8]
- blx r1
- ldr r1, [r8, #0x94]
- mov r2, r7
- bl func_02019478
- ldr r0, _020aa328 ; =data_ov00_020e9360
- mov r1, #1
- bl func_ov00_02079e68
- mov r4, r0
- mov r0, r8
- ldr r1, [r0]
- ldr r1, [r1, #8]
- blx r1
- ldr r1, [r8, #0x94]
- mov r2, r4
- bl func_02019534
- ldr sb, [r8, #0x84]
- cmp sb, #0
- blt _020aa280
- mov r0, r8
- ldr r1, [r0]
- cmp r5, #0
- movne r5, r6
- ldr r1, [r1, #8]
- moveq r5, #0
- blx r1
- mov r1, sb
- mov r2, r5
- bl func_02019570
- mov r0, r8
- ldr r1, [r0]
- ldr r1, [r1, #8]
- blx r1
- ldr r1, [r8, #0x84]
- mov r2, #0
- bl func_020193f0
- mov r0, r8
- ldr r1, [r0]
- ldr r1, [r1, #8]
- blx r1
- ldr r1, [r8, #0x84]
- mov r2, #0
- bl func_02019434
- mov r0, r8
- ldr r1, [r0]
- ldr r1, [r1, #8]
- blx r1
- ldr r1, [r8, #0x84]
- mov r2, r7
- bl func_02019478
- mov r0, r8
- ldr r1, [r0]
- ldr r1, [r1, #8]
- blx r1
- ldr r1, [r8, #0x84]
- mov r2, r4
- bl func_02019534
-_020aa280:
- ldr r5, [r8, #0x8c]
- cmp r5, #0
- ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
- ldrb r0, [sp, #0x20]
- cmp r0, #0
- mov r0, r8
- ldr r1, [r0]
- moveq r6, #0
- ldr r1, [r1, #8]
- blx r1
- mov r1, r5
- mov r2, r6
- bl func_02019570
- mov r0, r8
- ldr r1, [r0]
- ldr r1, [r1, #8]
- blx r1
- ldr r1, [r8, #0x8c]
- mov r2, #0
- bl func_020193f0
- mov r0, r8
- ldr r1, [r0]
- ldr r1, [r1, #8]
- blx r1
- ldr r1, [r8, #0x8c]
- mov r2, #0
- bl func_02019434
- mov r0, r8
- ldr r1, [r0]
- ldr r1, [r1, #8]
- blx r1
- ldr r1, [r8, #0x8c]
- mov r2, r7
- bl func_02019478
- mov r0, r8
- ldr r1, [r0]
- ldr r1, [r1, #8]
- blx r1
- ldr r1, [r8, #0x8c]
- mov r2, r4
- bl func_02019534
- ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
- .align 2, 0
- arm_func_end func_ov00_020aa124
-_020aa328: .word data_ov00_020e9360
-
- .global func_ov00_020aa32c
- thumb_func_start func_ov00_020aa32c
-func_ov00_020aa32c: ; 0x020aa32c
- bx lr
- .align 2, 0
- thumb_func_end func_ov00_020aa32c
-
- .global func_ov00_020aa330
- arm_func_start func_ov00_020aa330
-func_ov00_020aa330: ; 0x020aa330
- mov r0, #2
- bx lr
- arm_func_end func_ov00_020aa330
-
- .global func_ov00_020aa338
- arm_func_start func_ov00_020aa338
-func_ov00_020aa338: ; 0x020aa338
- ldr r1, [r0, #4]
- cmp r1, #7
- cmpne r1, #8
- cmpne r1, #9
- bne _020aa354
- ldr r0, [r0, #0x10]
- bx lr
-_020aa354:
- mvn r0, #0
- bx lr
- arm_func_end func_ov00_020aa338
-
- .global func_ov00_020aa35c
- thumb_func_start func_ov00_020aa35c
-func_ov00_020aa35c: ; 0x020aa35c
- push {r4, r5, r6, r7, lr}
- sub sp, #0x14
- add r5, r0, #0
- ldr r6, _020aa4f0 ; =data_ov00_020e59b8
- blx func_ov00_020a8dec
- ldr r3, [r0]
- ldr r1, _020aa4f4 ; =0x4c475242
- ldr r2, _020aa4f8 ; =data_ov00_020e5940
- ldr r3, [r3, #0x3c]
- add r4, r0, #0
- blx r3
- ldr r0, _020aa4f8 ; =data_ov00_020e5940
- mov r1, #0
- str r0, [sp]
- mov r0, #8
- str r0, [sp, #4]
- mov r0, #3
- str r1, [sp, #8]
- lsl r0, r0, #0xc
- str r0, [sp, #0xc]
- str r1, [sp, #0x10]
- add r0, r4, #0
- ldr r4, [r0]
- ldr r3, _020aa4f4 ; =0x4c475242
- ldr r4, [r4, #0x34]
- mov r1, #1
- add r2, r6, #0
- blx r4
- ldr r0, _020aa4fc ; =data_ov00_020e5908
- ldr r7, _020aa500 ; =data_ov00_020e59cc
- ldr r1, [r0, #0x40]
- lsr r0, r1, #0x1f
- add r0, r1, r0
- asr r4, r0, #1
- add r0, r5, #0
- blx func_ov00_020a8dec
- ldr r3, [r0]
- ldr r1, _020aa4f4 ; =0x4c475242
- ldr r2, _020aa504 ; =data_ov00_020e5944
- ldr r3, [r3, #0x3c]
- add r6, r0, #0
- blx r3
- ldr r0, _020aa504 ; =data_ov00_020e5944
- ldr r3, _020aa4f4 ; =0x4c475242
- str r0, [sp]
- mov r0, #8
- str r0, [sp, #4]
- mov r0, #0
- str r0, [sp, #8]
- str r4, [sp, #0xc]
- str r0, [sp, #0x10]
- add r0, r6, #0
- ldr r4, [r0]
- mov r1, #1
- ldr r4, [r4, #0x34]
- add r2, r7, #0
- blx r4
- ldr r0, _020aa4fc ; =data_ov00_020e5908
- ldr r7, _020aa508 ; =data_ov00_020e59e4
- ldr r4, [r0, #0x40]
- add r0, r5, #0
- blx func_ov00_020a8dec
- ldr r3, [r0]
- ldr r1, _020aa4f4 ; =0x4c475242
- ldr r2, _020aa50c ; =data_ov00_020e5948
- ldr r3, [r3, #0x3c]
- add r6, r0, #0
- blx r3
- ldr r0, _020aa50c ; =data_ov00_020e5948
- ldr r3, _020aa4f4 ; =0x4c475242
- str r0, [sp]
- mov r0, #8
- str r0, [sp, #4]
- lsr r0, r4, #0x1f
- add r0, r4, r0
- asr r0, r0, #1
- str r0, [sp, #8]
- str r4, [sp, #0xc]
- mov r0, #0
- str r0, [sp, #0x10]
- add r0, r6, #0
- ldr r4, [r0]
- mov r1, #1
- ldr r4, [r4, #0x34]
- add r2, r7, #0
- blx r4
- ldr r1, _020aa4fc ; =data_ov00_020e5908
- add r0, r5, #0
- ldr r1, [r1, #0x54]
- blx func_ov00_020a8d88
- add r6, r0, #0
- add r0, r5, #0
- ldr r7, _020aa510 ; =data_ov00_020e59fc
- blx func_ov00_020a8dec
- ldr r3, [r0]
- ldr r1, _020aa4f4 ; =0x4c475242
- ldr r2, _020aa514 ; =data_ov00_020e5960
- ldr r3, [r3, #0x3c]
- add r4, r0, #0
- blx r3
- ldr r0, _020aa514 ; =data_ov00_020e5960
- mov r1, #0
- str r0, [sp]
- mov r0, #8
- str r0, [sp, #4]
- mov r0, #3
- str r1, [sp, #8]
- lsl r0, r0, #0xc
- str r0, [sp, #0xc]
- str r1, [sp, #0x10]
- add r0, r4, #0
- ldr r4, [r0]
- ldr r3, _020aa4f4 ; =0x4c475242
- ldr r4, [r4, #0x34]
- mov r1, #1
- add r2, r7, #0
- blx r4
- add r0, r5, #0
- blx func_ov00_020a8dec
- ldr r3, [r0]
- ldr r1, _020aa4f4 ; =0x4c475242
- ldr r2, _020aa518 ; =data_ov00_020e5964
- ldr r3, [r3, #0x3c]
- add r7, r0, #0
- blx r3
- lsr r0, r6, #0x1f
- add r0, r6, r0
- asr r4, r0, #1
- ldr r0, _020aa518 ; =data_ov00_020e5964
- ldr r2, _020aa51c ; =data_ov00_020e5a0c
- str r0, [sp]
- mov r0, #8
- str r0, [sp, #4]
- mov r0, #0
- str r0, [sp, #8]
- str r4, [sp, #0xc]
- str r0, [sp, #0x10]
- add r0, r7, #0
- ldr r7, [r0]
- ldr r3, _020aa4f4 ; =0x4c475242
- ldr r7, [r7, #0x34]
- mov r1, #1
- blx r7
- add r0, r5, #0
- blx func_ov00_020a8dec
- ldr r3, [r0]
- ldr r1, _020aa4f4 ; =0x4c475242
- ldr r2, _020aa520 ; =data_ov00_020e5968
- ldr r3, [r3, #0x3c]
- add r7, r0, #0
- blx r3
- ldr r0, _020aa520 ; =data_ov00_020e5968
- ldr r2, _020aa524 ; =data_ov00_020e5a20
- str r0, [sp]
- mov r0, #8
- str r0, [sp, #4]
- str r4, [sp, #8]
- str r6, [sp, #0xc]
- mov r0, #0
- str r0, [sp, #0x10]
- add r0, r7, #0
- ldr r4, [r0]
- ldr r3, _020aa4f4 ; =0x4c475242
- ldr r4, [r4, #0x34]
- mov r1, #1
- blx r4
- add r0, r5, #0
- blx func_ov00_020a8dec
- ldr r0, _020aa4fc ; =data_ov00_020e5908
- ldr r6, _020aa528 ; =data_ov00_020e5a34
- ldr r0, [r0, #0x20]
- lsl r4, r0, #1
- add r0, r5, #0
- blx func_ov00_020a8dec
- ldr r1, _020aa52c ; =data_ov00_020e5928
- ldr r3, _020aa530 ; =0x4c505348
- str r1, [sp]
- mov r1, #6
- str r1, [sp, #4]
- mov r1, #0
- str r1, [sp, #8]
- str r4, [sp, #0xc]
- str r1, [sp, #0x10]
- ldr r4, [r0]
- add r2, r6, #0
- ldr r4, [r4, #0x34]
- blx r4
- add r0, r5, #0
- blx func_ov00_020a8dec
- add sp, #0x14
- pop {r4, r5, r6, r7, pc}
- nop
- thumb_func_end func_ov00_020aa35c
-_020aa4f0: .word data_ov00_020e59b8
-_020aa4f4: .word 0x4c475242
-_020aa4f8: .word data_ov00_020e5940
-_020aa4fc: .word data_ov00_020e5908
-_020aa500: .word data_ov00_020e59cc
-_020aa504: .word data_ov00_020e5944
-_020aa508: .word data_ov00_020e59e4
-_020aa50c: .word data_ov00_020e5948
-_020aa510: .word data_ov00_020e59fc
-_020aa514: .word data_ov00_020e5960
-_020aa518: .word data_ov00_020e5964
-_020aa51c: .word data_ov00_020e5a0c
-_020aa520: .word data_ov00_020e5968
-_020aa524: .word data_ov00_020e5a20
-_020aa528: .word data_ov00_020e5a34
-_020aa52c: .word data_ov00_020e5928
-_020aa530: .word 0x4c505348
-
- .global func_ov00_020aa534
- arm_func_start func_ov00_020aa534
-func_ov00_020aa534: ; 0x020aa534
- stmdb sp!, {r3, r4, r5, lr}
- sub sp, sp, #8
- mov r4, r0
- ldr r1, [r4, #4]
- cmp r1, #6
- beq _020aa558
- bl func_ov00_020a82ac
- mov r0, r4
- bl func_ov00_020a8158
-_020aa558:
- ldr r0, [r4, #4]
- cmp r0, #9
- addls pc, pc, r0, lsl #2
- b _020aa76c
-_020aa568: ; jump table
- b _020aa590 ; case 0
- b _020aa5a0 ; case 1
- b _020aa5c0 ; case 2
- b _020aa5d4 ; case 3
- b _020aa5d4 ; case 4
- b _020aa634 ; case 5
- b _020aa75c ; case 6
- b _020aa684 ; case 7
- b _020aa704 ; case 8
- b _020aa730 ; case 9
-_020aa590:
- mov r0, r4
- mov r1, #0
- bl func_ov00_020a8138
- b _020aa778
-_020aa5a0:
- ldr r0, _020aa78c ; =data_027e0fb8
- ldr r0, [r0]
- bl func_ov00_020af044
- ldr r1, _020aa790 ; =data_ov00_020e592c
- mov r0, r4
- mov r2, #1
- bl func_ov00_020a8a4c
- b _020aa778
-_020aa5c0:
- ldr r1, _020aa794 ; =data_ov00_020e593c
- mov r0, r4
- mov r2, #1
- bl func_ov00_020a8a4c
- b _020aa778
-_020aa5d4:
- mov r0, r4
- bl func_ov00_020a8ca4
- cmp r0, #0
- mov r0, r4
- beq _020aa62c
- bl func_ov00_020a8c4c
- mov r2, r0
- ldr r0, _020aa798 ; =data_ov00_020eec9c
- ldr r1, _020aa79c ; =0x00000125
- bl func_ov00_020d7b20
- ldr r0, [r4, #0x18]
- ldr r1, [r4, #0x20]
- bl func_01ffa0f4
- mov r5, r0
- mov r0, r4
- bl func_ov00_020a8c78
- strh r5, [r0]
- ldr r1, _020aa7a0 ; =data_ov00_020e595c
- mov r0, r4
- mov r2, #1
- bl func_ov00_020a89bc
- b _020aa778
-_020aa62c:
- bl func_ov00_020a8994
- b _020aa778
-_020aa634:
- mov r0, r4
- bl func_ov00_020a8ca4
- cmp r0, #0
- beq _020aa674
- ldr r0, [r4, #0x18]
- ldr r1, [r4, #0x20]
- bl func_01ffa0f4
- mov r5, r0
- mov r0, r4
- bl func_ov00_020a8c78
- strh r5, [r0]
- ldr r1, _020aa7a4 ; =data_ov00_020e594c
- mov r0, r4
- mov r2, #1
- bl func_ov00_020a8a4c
- b _020aa778
-_020aa674:
- mov r0, r4
- mov r1, #0
- bl func_ov00_020a8138
- b _020aa778
-_020aa684:
- ldr r0, _020aa78c ; =data_027e0fb8
- ldr r0, [r0]
- bl func_ov00_020af044
- ldr r0, _020aa7a8 ; =data_027e0fe4
- add r1, r4, #0x10
- ldr r0, [r0]
- bl func_ov00_020c3674
- cmp r0, #0
- mov r0, r4
- beq _020aa6bc
- bl func_ov00_020a8ce0
- mov r1, #0
- str r1, [r0]
- b _020aa6c4
-_020aa6bc:
- mov r1, #0
- bl func_ov00_020a8138
-_020aa6c4:
- mov r2, #0
- str r2, [sp]
- mov r3, r2
- add r0, r4, #0x24
- mov r1, #1
- str r2, [sp, #4]
- bl func_020350b4
- mov r1, #0
- mov r2, r1
- mov r3, r1
- add r0, r4, #0x24
- str r1, [sp]
- bl func_020351b8
- mov r0, #0
- strb r0, [r4, #0xb2]
- b _020aa778
-_020aa704:
- ldrb r0, [r4, #0xb0]
- cmp r0, #0
- beq _020aa720
- mov r0, r4
- bl func_ov00_020a8ce0
- mov r1, #1
- str r1, [r0]
-_020aa720:
- ldr r0, _020aa7ac ; =data_ov00_020e5908
- ldr r0, [r0, #0x20]
- str r0, [r4, #0xc]
- b _020aa778
-_020aa730:
- ldrb r0, [r4, #0xb1]
- cmp r0, #0
- beq _020aa74c
- mov r0, r4
- bl func_ov00_020a8ce0
- mvn r1, #0
- str r1, [r0]
-_020aa74c:
- ldr r0, _020aa7ac ; =data_ov00_020e5908
- ldr r0, [r0, #0x20]
- str r0, [r4, #0xc]
- b _020aa778
-_020aa75c:
- ldr r0, _020aa78c ; =data_027e0fb8
- ldr r0, [r0]
- bl func_ov00_020af044
- b _020aa778
-_020aa76c:
- mov r0, r4
- mov r1, #0
- bl func_ov00_020a8138
-_020aa778:
- ldr r0, [r4, #4]
- cmp r0, #7
- strne r0, [r4, #0xac]
- add sp, sp, #8
- ldmia sp!, {r3, r4, r5, pc}
- .align 2, 0
- arm_func_end func_ov00_020aa534
-_020aa78c: .word data_027e0fb8
-_020aa790: .word data_ov00_020e592c
-_020aa794: .word data_ov00_020e593c
-_020aa798: .word data_ov00_020eec9c
-_020aa79c: .word 0x00000125
-_020aa7a0: .word data_ov00_020e595c
-_020aa7a4: .word data_ov00_020e594c
-_020aa7a8: .word data_027e0fe4
-_020aa7ac: .word data_ov00_020e5908
-
- .global func_ov00_020aa7b0
- arm_func_start func_ov00_020aa7b0
-func_ov00_020aa7b0: ; 0x020aa7b0
- stmdb sp!, {r4, lr}
- mov r4, r0
- bl func_ov00_020a7fac
- ldr r0, _020aa814 ; =data_027e0fb8
- ldr r0, [r0]
- ldrb r1, [r0, #0x80]
- cmp r1, #0
- beq _020aa7d4
- bl func_ov00_020af050
-_020aa7d4:
- mov r0, r4
- bl func_ov00_020a8ca4
- ldr r1, [r4, #4]
- cmp r1, #1
- ldmneia sp!, {r4, pc}
- cmp r0, #0
- ldmeqia sp!, {r4, pc}
- ldrb r0, [r0, #0x11b]
- cmp r0, #0
- ldmneia sp!, {r4, pc}
- mov r0, r4
- bl func_ov00_020a8cc4
- mvn r1, #0
- str r1, [r0]
- str r1, [r0, #4]
- ldmia sp!, {r4, pc}
- .align 2, 0
- arm_func_end func_ov00_020aa7b0
-_020aa814: .word data_027e0fb8
-
- .global func_ov00_020aa818
- arm_func_start func_ov00_020aa818
-func_ov00_020aa818: ; 0x020aa818
- stmdb sp!, {r4, lr}
- ldr r0, _020aa840 ; =gItemManager
- ldr r4, [r0]
- mov r0, r4
- bl _ZNK11ItemManager16GetEquippedFairyEv
- mov r1, r0
- mov r0, r4
- bl _ZNK11ItemManager8GetFairyEi
- bl func_ov00_020ba458
- ldmia sp!, {r4, pc}
- .align 2, 0
- arm_func_end func_ov00_020aa818
-_020aa840: .word gItemManager
-
- .global func_ov00_020aa844
- arm_func_start func_ov00_020aa844
-func_ov00_020aa844: ; 0x020aa844
- stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
- sub sp, sp, #0x2c
- mov r4, r1
- mov r5, r0
- bl func_ov00_020a8c4c
- mov r1, r0
- add r2, sp, #0x20
- add r0, r4, #0x48
- bl func_01ff9bf8
- mov r0, r5
- bl func_ov00_020a8c78
- ldrh r6, [r0]
- mov r0, r5
- bl func_ov00_020a8c78
- ldrh r1, [r0]
- mov r0, r6, asr #0x4
- mov r2, r0, lsl #0x2
- mov r0, r1, asr #0x4
- mov r0, r0, lsl #0x1
- add r0, r0, #1
- ldr r3, _020aabd0 ; =data_02050f54
- mov r1, r0, lsl #0x1
- ldrsh r1, [r3, r1]
- ldrsh sb, [r3, r2]
- ldr r6, [sp, #0x20]
- str r1, [sp]
- mov r1, r1, asr #0x1f
- str r1, [sp, #4]
- ldr r1, [sp]
- mov r0, r4
- rsb r1, r1, #0
- str r1, [sp, #8]
- ldr r2, [sp, #8]
- mov r1, r1, asr #0x1f
- smull r3, r2, r6, r2
- adds r4, r3, #0x800
- adc r3, r2, #0
- mov r2, r4, lsr #0xc
- str r1, [sp, #0xc]
- ldr r7, [sp, #0x28]
- orr r2, r2, r3, lsl #20
- smull r4, r3, r7, sb
- adds r4, r4, #0x800
- adc r3, r3, #0
- mov r4, r4, lsr #0xc
- orr r4, r4, r3, lsl #20
- add r1, sp, #0x10
- mov r8, sb, asr #0x1f
- add r4, r2, r4
- bl func_ov00_020c2a0c
- smull r1, r0, r6, sb
- adds r1, r1, #0x800
- adc r0, r0, #0
- mov r2, r1, lsr #0xc
- orr r2, r2, r0, lsl #20
- ldr r0, [sp]
- smull r1, r0, r7, r0
- adds r1, r1, #0x800
- adc r0, r0, #0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #20
- add r2, r2, r1
- ldr r1, [sp, #0x1c]
- mov r0, r5
- add r1, r1, #0x66
- add r1, r1, #0x600
- sub r7, r2, r1
- bl func_ov00_020a8c58
- mov r1, #0
- str r1, [r0]
- mov r0, r5
- bl func_ov00_020a8c58
- mov r1, #0
- cmp r4, #0
- str r1, [r0, #8]
- ble _020aaa04
- ldr r6, _020aabd4 ; =0x00000155
- mov r0, r5
- cmp r4, r6
- movle r6, r4
- bl func_ov00_020a8c58
- ldr r1, [sp, #8]
- mov r2, r6, asr #0x1f
- umull ip, r3, r6, r1
- ldr r1, [sp, #0xc]
- mla r3, r6, r1, r3
- ldr r1, [sp, #8]
- adds r6, ip, #0x800
- mla r3, r2, r1, r3
- adc r2, r3, #0
- mov r3, r6, lsr #0xc
- ldr r1, _020aabd4 ; =0x00000155
- ldr r6, [r0]
- orr r3, r3, r2, lsl #20
- add r2, r6, r3
- str r2, [r0]
- cmp r4, r1
- movgt r4, r1
- mov r0, r5
- bl func_ov00_020a8c58
- umull r3, r2, r4, sb
- mla r2, r4, r8, r2
- mov r1, r4, asr #0x1f
- mla r2, r1, sb, r2
- adds r3, r3, #0x800
- adc r1, r2, #0
- mov r2, r3, lsr #0xc
- ldr r3, [r0, #8]
- orr r2, r2, r1, lsl #20
- add r1, r3, r2
- str r1, [r0, #8]
- b _020aaa98
-_020aaa04:
- cmp r4, #0
- bge _020aaa98
- mvn r6, #0x154
- cmp r4, r6
- mov r0, r5
- movge r6, r4
- bl func_ov00_020a8c58
- ldr r1, [sp, #8]
- mov r2, r6, asr #0x1f
- umull ip, r3, r6, r1
- ldr r1, [sp, #0xc]
- mla r3, r6, r1, r3
- ldr r1, [sp, #8]
- adds r6, ip, #0x800
- mla r3, r2, r1, r3
- adc r2, r3, #0
- mov r3, r6, lsr #0xc
- mvn r1, #0x154
- cmp r4, r1
- ldr r6, [r0]
- orr r3, r3, r2, lsl #20
- add r2, r6, r3
- str r2, [r0]
- movlt r4, r1
- mov r0, r5
- bl func_ov00_020a8c58
- umull r3, r2, r4, sb
- mla r2, r4, r8, r2
- mov r1, r4, asr #0x1f
- mla r2, r1, sb, r2
- adds r3, r3, #0x800
- adc r1, r2, #0
- mov r2, r3, lsr #0xc
- ldr r3, [r0, #8]
- orr r2, r2, r1, lsl #20
- add r1, r3, r2
- str r1, [r0, #8]
-_020aaa98:
- cmp r7, #0
- ble _020aab34
- ldr r4, _020aabd4 ; =0x00000155
- mov r0, r5
- cmp r7, r4
- movle r4, r7
- bl func_ov00_020a8c58
- umull r3, r2, r4, sb
- adds r3, r3, #0x800
- mla r2, r4, r8, r2
- mov r1, r4, asr #0x1f
- mla r2, r1, sb, r2
- adc r2, r2, #0
- mov r3, r3, lsr #0xc
- ldr r1, _020aabd4 ; =0x00000155
- ldr r4, [r0]
- orr r3, r3, r2, lsl #20
- add r2, r4, r3
- str r2, [r0]
- cmp r7, r1
- mov r0, r5
- movgt r7, r1
- bl func_ov00_020a8c58
- ldr r1, [sp]
- mov r2, r7, asr #0x1f
- umull r4, r3, r7, r1
- ldr r1, [sp, #4]
- adds r4, r4, #0x800
- mla r3, r7, r1, r3
- ldr r1, [sp]
- add sp, sp, #0x2c
- mla r3, r2, r1, r3
- adc r1, r3, #0
- mov r2, r4, lsr #0xc
- ldr r3, [r0, #8]
- orr r2, r2, r1, lsl #20
- add r1, r3, r2
- str r1, [r0, #8]
- ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
-_020aab34:
- addge sp, sp, #0x2c
- ldmgeia sp!, {r4, r5, r6, r7, r8, sb, pc}
- mvn r4, #0x154
- cmp r7, r4
- movge r4, r7
- mov r0, r5
- bl func_ov00_020a8c58
- umull r3, r2, r4, sb
- adds r3, r3, #0x800
- mla r2, r4, r8, r2
- mov r1, r4, asr #0x1f
- mla r2, r1, sb, r2
- adc r2, r2, #0
- mov r3, r3, lsr #0xc
- mvn r1, #0x154
- cmp r7, r1
- ldr r4, [r0]
- orr r3, r3, r2, lsl #20
- add r2, r4, r3
- str r2, [r0]
- mov r0, r5
- movlt r7, r1
- bl func_ov00_020a8c58
- ldr r1, [sp]
- mov r2, r7, asr #0x1f
- umull r4, r3, r7, r1
- ldr r1, [sp, #4]
- adds r4, r4, #0x800
- mla r3, r7, r1, r3
- ldr r1, [sp]
- mla r3, r2, r1, r3
- adc r1, r3, #0
- mov r2, r4, lsr #0xc
- ldr r3, [r0, #8]
- orr r2, r2, r1, lsl #20
- add r1, r3, r2
- str r1, [r0, #8]
- add sp, sp, #0x2c
- ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
- .align 2, 0
- arm_func_end func_ov00_020aa844
-_020aabd0: .word data_02050f54
-_020aabd4: .word 0x00000155
-
- .global func_ov00_020aabd8
- arm_func_start func_ov00_020aabd8
-func_ov00_020aabd8: ; 0x020aabd8
- stmdb sp!, {r4, r5, r6, r7, r8, lr}
- sub sp, sp, #0xc8
- mov r6, r1
- mov r1, #2
- mov r4, r0
- bl func_ov00_020a8ba0
- cmp r0, #0
- bne _020aac08
- mov r0, r4
- bl func_ov00_020a8b80
- cmp r0, #0
- bne _020aac14
-_020aac08:
- add sp, sp, #0xc8
- mov r0, #0
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
-_020aac14:
- mov r0, r4
- bl func_ov00_020a8ca4
- movs r5, r0
- beq _020aadbc
- cmp r6, #0
- bne _020aadbc
- ldr r0, _020ab3bc ; =gItemManager
- mov r6, #0
- ldr r0, [r0]
- ldr r0, [r0]
- sub r0, r0, #9
- cmp r0, #1
- bhi _020aacf4
- ldr r1, _020ab3c0 ; =data_027e0d0c
- mov r0, r4
- ldr r2, [r1]
- str r2, [r4, #0x18]
- ldr r2, [r1, #4]
- str r2, [r4, #0x1c]
- ldr r1, [r1, #8]
- str r1, [r4, #0x20]
- bl func_ov00_020a8c78
- ldrh r1, [r0]
- ldr r2, _020ab3c4 ; =data_02050f54
- ldr r0, _020ab3c8 ; =0x000004cd
- mov r1, r1, asr #0x4
- mov r3, r1, lsl #0x1
- mov r1, r3, lsl #0x1
- ldrsh ip, [r2, r1]
- add r1, r3, #1
- mov r1, r1, lsl #0x1
- ldrsh r2, [r2, r1]
- mov r1, r6
- umull r7, lr, ip, r0
- mla lr, ip, r1, lr
- umull r6, r3, r2, r0
- mla r3, r2, r1, r3
- mov ip, ip, asr #0x1f
- mov r1, r2, asr #0x1f
- adds r8, r7, #0x800
- mla lr, ip, r0, lr
- mla r3, r1, r0, r3
- adc r7, lr, #0
- mov r8, r8, lsr #0xc
- adds r6, r6, #0x800
- mov r1, r6, lsr #0xc
- ldr r0, [r4, #0x18]
- orr r8, r8, r7, lsl #20
- add r0, r0, r8
- str r0, [r4, #0x18]
- adc r0, r3, #0
- ldr r2, [r4, #0x20]
- orr r1, r1, r0, lsl #20
- add r0, r2, r1
- str r0, [r4, #0x20]
- mov r6, #1
-_020aacf4:
- mov r0, r5
- ldr r1, [r0]
- ldr r1, [r1, #0x2c]
- blx r1
- mvn r1, #0
- cmp r0, r1
- movne r5, #1
- moveq r5, #0
- cmp r5, #0
- bne _020aad64
- cmp r6, #0
- bne _020aad3c
- ldr r0, _020ab3cc ; =data_027e0fb8
- add r1, r4, #0x18
- ldr r0, [r0]
- bl func_ov00_020b05e8
- cmp r0, #0
- beq _020aad64
-_020aad3c:
- ldr r0, _020ab3cc ; =data_027e0fb8
- mov r1, #0
- ldr r2, [r0]
- mov r0, #5
- strb r1, [r2, #0x79]
- strb r1, [r2, #0x7b]
- str r0, [r4, #4]
- add sp, sp, #0xc8
- mov r0, #1
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
-_020aad64:
- cmp r6, #0
- bne _020aad88
- ldr r0, _020ab3cc ; =data_027e0fb8
- mov r2, r5
- ldr r0, [r0]
- add r1, r4, #0x18
- bl func_ov00_020b049c
- cmp r0, #0
- beq _020aadb0
-_020aad88:
- ldr r0, _020ab3cc ; =data_027e0fb8
- mov r1, #0
- ldr r2, [r0]
- mov r0, #3
- strb r1, [r2, #0x79]
- strb r1, [r2, #0x7b]
- str r0, [r4, #4]
- add sp, sp, #0xc8
- mov r0, #1
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
-_020aadb0:
- add sp, sp, #0xc8
- mov r0, #0
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
-_020aadbc:
- ldr r1, _020ab3cc ; =data_027e0fb8
- ldr r0, _020ab3d0 ; =data_027e0fe4
- ldr r3, [r1]
- ldr r0, [r0]
- ldr r2, [r3, #0x84]
- add r1, sp, #0x14
- str r2, [sp, #0x14]
- ldr r2, [r3, #0x88]
- str r2, [sp, #0x18]
- bl func_ov00_020c3674
- movs r6, r0
- bne _020aae38
- mov r0, r4
- bl func_ov00_020a8d40
- ldr r2, _020ab3cc ; =data_027e0fb8
- ldr r1, [r0, #0xe0]
- ldr r0, [r2]
- bl func_ov00_020b0ad0
- cmp r0, #0
- beq _020aae2c
- mov r0, r4
- bl func_ov00_020a8d40
- ldr r6, [r0, #0xe0]
- ldr r0, [r6, #8]
- str r0, [sp, #0x14]
- ldr r0, [r6, #0xc]
- str r0, [sp, #0x18]
- b _020aae54
-_020aae2c:
- add sp, sp, #0xc8
- mov r0, #0
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
-_020aae38:
- ldr r0, _020ab3cc ; =data_027e0fb8
- ldr r0, [r0]
- ldrb r0, [r0, #0x80]
- cmp r0, #0
- addne sp, sp, #0xc8
- movne r0, #0
- ldmneia sp!, {r4, r5, r6, r7, r8, pc}
-_020aae54:
- ldr r0, _020ab3cc ; =data_027e0fb8
- cmp r5, #0
- movne r2, #1
- ldr r1, [r6, #0x12c]
- ldr r0, [r0]
- moveq r2, #0
- bl func_ov00_020afe88
- cmp r0, #0
- bne _020aae90
- ldr r0, _020ab3cc ; =data_027e0fb8
- ldr r0, [r0]
- bl func_ov00_020af050
- add sp, sp, #0xc8
- mov r0, #0
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
-_020aae90:
- ldr r0, [r6, #0x12c]
- cmp r0, #2
- bne _020aaf78
- mov r0, r4
- bl func_ov00_020a8ca4
- cmp r0, #0
- bne _020aaf78
- add r3, sp, #0x5c
- add r1, r6, #0x60
- add r2, r6, #0x48
- mov r0, #0x6000
- bl func_01ff9e64
- mov r0, #0
- ldr r1, _020ab3d4 ; =0x0000ffff
- strh r0, [sp, #0x94]
- strb r0, [sp, #0xb6]
- strb r0, [sp, #0xb7]
- strb r0, [sp, #0xb8]
- strb r0, [sp, #0xb9]
- strb r0, [sp, #0xc0]
- strb r0, [sp, #0xc1]
- strb r0, [sp, #0xc2]
- strb r0, [sp, #0xc3]
- strb r0, [sp, #0xc4]
- strb r0, [sp, #0xc5]
- strh r1, [sp, #0x8c]
- strh r1, [sp, #0x8e]
- strh r1, [sp, #0x90]
- strh r1, [sp, #0x92]
- ldr r1, [r6, #0x48]
- add r2, r6, #0x8c
- str r1, [sp, #0x28]
- ldr r1, [r6, #0x4c]
- ldr r5, _020ab3d8 ; =data_027e0e60
- str r1, [sp, #0x2c]
- ldr r3, [r6, #0x50]
- add r1, sp, #0x68
- str r3, [sp, #0x30]
- str r2, [sp]
- ldr r3, [r6, #8]
- add r2, sp, #0x5c
- str r3, [sp, #4]
- ldrh ip, [r6, #0x9c]
- add r3, sp, #0x28
- str ip, [sp, #8]
- str r0, [sp, #0xc]
- str r0, [sp, #0x10]
- ldr r0, [r5]
- bl func_01ffbe78
- cmp r0, #0
- beq _020aaf88
- ldr r2, [sp, #0x68]
- ldr r1, [sp, #0x6c]
- ldr r0, [sp, #0x70]
- str r2, [sp, #0x5c]
- str r1, [sp, #0x60]
- str r0, [sp, #0x64]
- b _020aaf88
-_020aaf78:
- add r1, sp, #0x5c
- mov r0, r4
- mov r2, r6
- bl func_ov00_020ab7bc
-_020aaf88:
- mov r0, r4
- bl func_ov00_020a8c4c
- mov r1, r0
- add r0, sp, #0x5c
- add r2, sp, #0x50
- bl func_01ff9bf8
- add r1, sp, #0x40
- mov r0, r6
- bl func_ov00_020c2a0c
- ldr r0, [r6, #0x12c]
- cmp r0, #6
- addls pc, pc, r0, lsl #2
- b _020ab3b0
-_020aafbc: ; jump table
- b _020ab3b0 ; case 0
- b _020aafd8 ; case 1
- b _020ab000 ; case 2
- b _020ab1e4 ; case 3
- b _020ab2b0 ; case 4
- b _020ab32c ; case 5
- b _020ab398 ; case 6
-_020aafd8:
- add r0, sp, #0x50
- bl func_01ff9cec
- cmp r0, #0x800
- bge _020aaff4
- ldr r0, _020ab3cc ; =data_027e0fb8
- ldr r0, [r0]
- bl func_ov00_020af044
-_020aaff4:
- add sp, sp, #0xc8
- mov r0, #0
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
-_020ab000:
- bl func_ov00_020a7b8c
- ldr r2, [r0]
- mov r1, #1
- ldr r2, [r2, #0x14]
- blx r2
- cmp r0, #0
- addeq sp, sp, #0xc8
- moveq r0, #0
- ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
- mov r0, r4
- bl func_ov00_020a8ca4
- cmp r0, #0
- bne _020ab170
- mov r0, r4
- bl func_ov00_020a8bd8
- cmp r0, #1
- bne _020ab060
- bl func_ov00_020ab3e8
- add r2, sp, #0x50
- mov r1, r6
- bl func_ov23_02171410
- add sp, sp, #0xc8
- mov r0, #0
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
-_020ab060:
- add r0, sp, #0x50
- bl func_01ff9cec
- ldr r1, [sp, #0x4c]
- mov r5, r0
- add r0, r1, #0x3800
- cmp r5, r0
- bge _020ab1d8
- ldr r0, [sp, #0x50]
- ldr r1, [sp, #0x58]
- bl func_01ffa0f4
- ldr r1, _020ab3dc ; =0x00001ccd
- mov r0, r0, lsl #0x10
- cmp r5, r1
- mov r6, r0, asr #0x10
- bge _020ab0fc
- mov r0, r4
- bl func_ov00_020a8c78
- ldrsh r0, [r0]
- add r2, sp, #0x5c
- sub r0, r6, r0
- mov r0, r0, lsl #0x10
- mov r1, r0, asr #0x10
- cmp r1, #0x4000
- ble _020ab0d0
- mov r0, r4
- mov r1, #1
- bl func_ov00_020a81b8
- b _020ab160
-_020ab0d0:
- mov r0, #0x4000
- rsb r0, r0, #0
- cmp r1, r0
- mov r0, r4
- blt _020ab0f0
- mov r1, #0
- bl func_ov00_020a81b8
- b _020ab160
-_020ab0f0:
- mov r1, #2
- bl func_ov00_020a81b8
- b _020ab160
-_020ab0fc:
- rsb r0, r1, #0x4800
- cmp r5, r0
- bge _020ab134
- ldr r1, [sp, #0x54]
- ldr r0, _020ab3e0 ; =0x00001333
- cmp r1, #0
- rsblt r1, r1, #0
- cmp r1, r0
- bge _020ab134
- add r2, sp, #0x5c
- mov r0, r4
- mov r1, #3
- bl func_ov00_020a81b8
- b _020ab160
-_020ab134:
- mov r0, r4
- bl func_ov00_020a8d40
- ldrsh r0, [r0, #0x5a]
- cmp r0, #0
- addne sp, sp, #0xc8
- movne r0, #0
- ldmneia sp!, {r4, r5, r6, r7, r8, pc}
- add r2, sp, #0x5c
- mov r0, r4
- mov r1, #4
- bl func_ov00_020a81b8
-_020ab160:
- mov r0, r4
- bl func_ov00_020a8c78
- strh r6, [r0]
- b _020ab1d8
-_020ab170:
- add r0, sp, #0x50
- bl func_01ff9cec
- cmp r0, #0x4000
- bge _020ab1d8
- mov r0, r4
- bl func_ov00_020a8c4c
- mov r1, r0
- add r0, r6, #0x48
- add r2, r4, #0x18
- bl func_01ff9bf8
- ldr r0, _020ab3cc ; =data_027e0fb8
- mov r1, #0
- ldr r2, [r0]
- strb r1, [r2, #0x79]
- strb r1, [r2, #0x7b]
- ldr r0, [r0]
- bl func_ov00_020af044
- mov r0, #3
- str r0, [r4, #4]
- ldr r1, [sp, #0x14]
- mov r0, #1
- str r1, [r4, #0x10]
- ldr r1, [sp, #0x18]
- add sp, sp, #0xc8
- str r1, [r4, #0x14]
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
-_020ab1d8:
- add sp, sp, #0xc8
- mov r0, #0
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
-_020ab1e4:
- add r0, sp, #0x50
- bl func_01ff9cec
- cmp r0, #0x400
- bge _020ab2a4
- mov r0, r4
- bl func_ov00_020a8c4c
- mov r1, r0
- add r0, sp, #0x40
- add r2, sp, #0x34
- bl func_01ff9bf8
- ldr r0, [sp, #0x34]
- cmp r0, #0
- ldreq r0, [sp, #0x3c]
- cmpeq r0, #0
- beq _020ab278
- ldr r0, [sp, #0x34]
- ldr r1, [sp, #0x3c]
- bl func_01ffa0f4
- mov r6, r0, lsl #0x10
- mov r0, r6, asr #0x10
- bl func_0202bbbc
- bl func_0202bba8
- mov r5, r0
- rsb r0, r5, r6, asr #16
- mov r0, r0, lsl #0x10
- movs r1, r0, asr #0x10
- rsbmi r0, r1, #0
- movmi r0, r0, lsl #0x10
- movmi r1, r0, asr #0x10
- ldr r0, _020ab3e4 ; =0x000018e4
- cmp r1, r0
- addgt sp, sp, #0xc8
- movgt r0, #0
- ldmgtia sp!, {r4, r5, r6, r7, r8, pc}
- mov r0, r4
- bl func_ov00_020a8c78
- strh r5, [r0]
-_020ab278:
- mov r0, #7
- str r0, [r4, #4]
- mov r0, #0
- str r0, [r4, #0xc]
- ldr r1, [sp, #0x14]
- mov r0, #1
- str r1, [r4, #0x10]
- ldr r1, [sp, #0x18]
- add sp, sp, #0xc8
- str r1, [r4, #0x14]
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
-_020ab2a4:
- add sp, sp, #0xc8
- mov r0, #0
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
-_020ab2b0:
- add r0, sp, #0x50
- bl func_01ff9cec
- ldr r1, [sp, #0x4c]
- add r1, r1, #0xc00
- cmp r0, r1
- bge _020ab320
- mov r0, r4
- bl func_ov05_0211139c
- cmp r0, #0
- bne _020ab320
- mov r0, r4
- bl func_ov00_020a8cc4
- ldr r1, [r6, #8]
- mov r2, #1
- str r1, [r0]
- ldr r3, [r6, #0xc]
- add r1, r6, #0x48
- str r3, [r0, #4]
- mov r0, r4
- str r2, [r4, #4]
- bl func_ov00_020a81ec
- ldr r1, [sp, #0x14]
- mov r0, #1
- str r1, [r4, #0x10]
- ldr r1, [sp, #0x18]
- add sp, sp, #0xc8
- str r1, [r4, #0x14]
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
-_020ab320:
- add sp, sp, #0xc8
- mov r0, #0
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
-_020ab32c:
- mov r0, r6
- ldr r1, [r0]
- ldr r1, [r1, #0x3c]
- blx r1
- cmp r0, #0
- beq _020ab38c
- mov r0, r4
- bl func_ov05_021113b4
- cmp r0, #0
- beq _020ab38c
- mov r0, r6
- mov r1, #1
- bl func_ov00_020c1908
- mov r0, #6
- str r0, [r4, #4]
- ldr r1, [sp, #0x14]
- mov r0, r4
- str r1, [r4, #0x10]
- ldr r1, [sp, #0x18]
- str r1, [r4, #0x14]
- bl func_ov00_020a8158
- add sp, sp, #0xc8
- mov r0, #1
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
-_020ab38c:
- add sp, sp, #0xc8
- mov r0, #0
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
-_020ab398:
- ldr r0, _020ab3cc ; =data_027e0fb8
- ldr r0, [r0]
- bl func_ov00_020af050
- add sp, sp, #0xc8
- mov r0, #1
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
-_020ab3b0:
- mov r0, #0
- add sp, sp, #0xc8
- ldmia sp!, {r4, r5, r6, r7, r8, pc}
- .align 2, 0
- arm_func_end func_ov00_020aabd8
-_020ab3bc: .word gItemManager
-_020ab3c0: .word data_027e0d0c
-_020ab3c4: .word data_02050f54
-_020ab3c8: .word 0x000004cd
-_020ab3cc: .word data_027e0fb8
-_020ab3d0: .word data_027e0fe4
-_020ab3d4: .word 0x0000ffff
-_020ab3d8: .word data_027e0e60
-_020ab3dc: .word 0x00001ccd
-_020ab3e0: .word 0x00001333
-_020ab3e4: .word 0x000018e4
-
- .global func_ov00_020ab3e8
- arm_func_start func_ov00_020ab3e8
-func_ov00_020ab3e8: ; 0x020ab3e8
- ldr ip, _020ab3f4 ; =func_01fffcd8
- mov r0, #4
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020ab3e8
-_020ab3f4: .word func_01fffcd8
-
- .global func_ov00_020ab3f8
- arm_func_start func_ov00_020ab3f8
-func_ov00_020ab3f8: ; 0x020ab3f8
- stmdb sp!, {r3, lr}
- cmp r1, #5
- addls pc, pc, r1, lsl #2
- b _020ab47c
-_020ab408: ; jump table
- b _020ab47c ; case 0
- b _020ab484 ; case 1
- b _020ab484 ; case 2
- b _020ab484 ; case 3
- b _020ab420 ; case 4
- b _020ab434 ; case 5
-_020ab420:
- ldr r2, [r0, #4]
- cmp r2, #6
- bne _020ab484
- bl func_ov00_020a7fb8
- ldmia sp!, {r3, pc}
-_020ab434:
- ldr r2, [r0, #4]
- cmp r2, #9
- addls pc, pc, r2, lsl #2
- b _020ab474
-_020ab444: ; jump table
- b _020ab474 ; case 0
- b _020ab474 ; case 1
- b _020ab474 ; case 2
- b _020ab46c ; case 3
- b _020ab46c ; case 4
- b _020ab474 ; case 5
- b _020ab474 ; case 6
- b _020ab474 ; case 7
- b _020ab46c ; case 8
- b _020ab46c ; case 9
-_020ab46c:
- mov r0, #0
- ldmia sp!, {r3, pc}
-_020ab474:
- bl func_ov00_020a7fb8
- ldmia sp!, {r3, pc}
-_020ab47c:
- mov r0, #0
- ldmia sp!, {r3, pc}
-_020ab484:
- ldr r2, [r0, #4]
- cmp r2, #1
- cmpne r2, #7
- bne _020ab49c
- bl func_ov00_020a7fb8
- ldmia sp!, {r3, pc}
-_020ab49c:
- mov r0, #0
- ldmia sp!, {r3, pc}
- arm_func_end func_ov00_020ab3f8
-
- .global func_ov00_020ab4a4
- arm_func_start func_ov00_020ab4a4
-func_ov00_020ab4a4: ; 0x020ab4a4
- stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
- mov r6, r0
- mov r4, r1
- bl func_ov00_020a8dcc
- cmp r0, #0x1e
- bne _020ab5f4
- mov r0, r6
- bl func_ov00_020a8d50
- cmp r0, #0x2000
- movlt r5, #0
- blt _020ab4ec
- cmp r0, #0x7000
- movge r5, #0x1000
- bge _020ab4ec
- sub r0, r0, #0x2000
- mov r1, #0x5000
- bl Divide
- mov r5, r0
-_020ab4ec:
- mov r0, r6
- bl func_ov00_020a8c78
- mov r1, r5, asr #0x1f
- mov r2, r1, lsl #0xe
- mov r1, #0x800
- adds r3, r1, r5, lsl #14
- orr r2, r2, r5, lsr #18
- adc r1, r2, #0
- mov r2, r3, lsr #0xc
- orr r2, r2, r1, lsl #20
- mov r1, r2, lsl #0x10
- mov r1, r1, lsr #0x10
- mov r1, r1, asr #0x4
- mov r5, r1, lsl #0x1
- add r1, r5, #1
- ldr ip, _020ab60c ; =data_02050f54
- mov r1, r1, lsl #0x1
- ldrsh r3, [ip, r1]
- ldr r6, _020ab610 ; =0x00000b33
- ldrh r0, [r0]
- umull r1, lr, r3, r6
- mov r7, #0
- mov r0, r0, asr #0x4
- mov r8, r0, lsl #0x1
- mov r2, r8, lsl #0x1
- mov r0, r5, lsl #0x1
- ldrsh sb, [ip, r0]
- adds r5, r1, #0x800
- add r8, r8, #1
- umull r1, r0, sb, r6
- mov r5, r5, lsr #0xc
- ldrsh r2, [ip, r2]
- mov r8, r8, lsl #0x1
- ldrsh ip, [ip, r8]
- mla lr, r3, r7, lr
- mov r3, r3, asr #0x1f
- mla lr, r3, r6, lr
- adc r3, lr, #0
- orr r5, r5, r3, lsl #20
- mla r0, sb, r7, r0
- mov r3, sb, asr #0x1f
- mla r0, r3, r6, r0
- smull r7, r6, r2, r5
- smull r3, r2, ip, r5
- adds r7, r7, #0x800
- adc r5, r6, #0
- mov r6, r7, lsr #0xc
- orr r6, r6, r5, lsl #20
- adds r1, r1, #0x800
- adc r0, r0, #0
- mov r5, r1, lsr #0xc
- orr r5, r5, r0, lsl #20
- adds r1, r3, #0x800
- adc r0, r2, #0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #20
- ldr r0, [r4]
- add r0, r0, r6
- str r0, [r4]
- ldr r0, [r4, #4]
- add r0, r0, r5
- str r0, [r4, #4]
- ldr r0, [r4, #8]
- add r0, r0, r1
- str r0, [r4, #8]
- b _020ab604
-_020ab5f4:
- ldr r0, [r4, #4]
- add r0, r0, #0x33
- add r0, r0, #0xb00
- str r0, [r4, #4]
-_020ab604:
- mov r0, #1
- ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
- .align 2, 0
- arm_func_end func_ov00_020ab4a4
-_020ab60c: .word data_02050f54
-_020ab610: .word 0x00000b33
-
- .global func_ov00_020ab614
- arm_func_start func_ov00_020ab614
-func_ov00_020ab614: ; 0x020ab614
- stmdb sp!, {r4, r5, lr}
- sub sp, sp, #0xc
- mov r5, r0
- mov r4, r1
- bl func_ov00_020a8ca4
- movs ip, r0
- addeq sp, sp, #0xc
- ldmeqia sp!, {r4, r5, pc}
- ldr r0, _020ab67c ; =data_027e0d0c
- add r3, sp, #0
- ldmia r0, {r0, r1, r2}
- stmia r3, {r0, r1, r2}
- mov r0, ip
- ldr r2, [r0]
- cmp r4, #0
- moveq r4, r3
- ldr r2, [r2, #0x5c]
- mov r1, r4
- blx r2
- mov r0, r5
- bl func_ov00_020a8cc4
- mvn r1, #0
- str r1, [r0]
- str r1, [r0, #4]
- add sp, sp, #0xc
- ldmia sp!, {r4, r5, pc}
- .align 2, 0
- arm_func_end func_ov00_020ab614
-_020ab67c: .word data_027e0d0c
-
- .global func_ov00_020ab680
- arm_func_start func_ov00_020ab680
-func_ov00_020ab680: ; 0x020ab680
- stmdb sp!, {r3, r4, r5, lr}
- mov r5, r0
- mov r4, r1
- bl func_ov00_020a8ca4
- cmp r0, #0
- ldmeqia sp!, {r3, r4, r5, pc}
- ldr r1, [r0, #4]
- ldr r0, _020ab6c0 ; =0x424f4d42
- cmp r1, r0
- ldrne r0, _020ab6c4 ; =0x4b4f4b4f
- cmpne r1, r0
- ldmneia sp!, {r3, r4, r5, pc}
- mov r0, r5
- mov r1, r4
- bl func_ov00_020ab614
- ldmia sp!, {r3, r4, r5, pc}
- .align 2, 0
- arm_func_end func_ov00_020ab680
-_020ab6c0: .word 0x424f4d42
-_020ab6c4: .word 0x4b4f4b4f
-
- .global func_ov00_020ab6c8
- arm_func_start func_ov00_020ab6c8
-func_ov00_020ab6c8: ; 0x020ab6c8
- stmdb sp!, {r4, lr}
- mov r4, r0
- bl func_ov00_020a8ca4
- cmp r0, #0
- ldmeqia sp!, {r4, pc}
- ldr r2, [r0, #4]
- ldr r1, _020ab758 ; =0x4b4f4b4f
- cmp r2, r1
- bhi _020ab714
- bhs _020ab740
- ldr r1, _020ab75c ; =0x424f4d42
- cmp r2, r1
- bhi _020ab704
- beq _020ab740
- b _020ab748
-_020ab704:
- ldr r1, _020ab760 ; =0x4452554d
- cmp r2, r1
- beq _020ab740
- b _020ab748
-_020ab714:
- ldr r1, _020ab764 ; =0x54415255
- cmp r2, r1
- bhi _020ab734
- bhs _020ab740
- ldr r1, _020ab768 ; =0x53544e45
- cmp r2, r1
- beq _020ab740
- b _020ab748
-_020ab734:
- ldr r1, _020ab76c ; =0x54535542
- cmp r2, r1
- bne _020ab748
-_020ab740:
- bl func_ov00_020c3180
- ldmia sp!, {r4, pc}
-_020ab748:
- mov r0, r4
- mov r1, #0
- bl func_ov00_020ab614
- ldmia sp!, {r4, pc}
- .align 2, 0
- arm_func_end func_ov00_020ab6c8
-_020ab758: .word 0x4b4f4b4f
-_020ab75c: .word 0x424f4d42
-_020ab760: .word 0x4452554d
-_020ab764: .word 0x54415255
-_020ab768: .word 0x53544e45
-_020ab76c: .word 0x54535542
-
- .global func_ov00_020ab770
- arm_func_start func_ov00_020ab770
-func_ov00_020ab770: ; 0x020ab770
- stmdb sp!, {r4, r5, r6, lr}
- ldr r2, _020ab7b8 ; =data_027e0fb8
- mov r6, r0
- ldr r0, [r2]
- mov r5, r1
- bl func_ov00_020aeffc
- movs r4, r0
- beq _020ab7a8
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl func_ov00_020ab7bc
- cmp r0, #0
- bne _020ab7b0
-_020ab7a8:
- mov r0, #0
- ldmia sp!, {r4, r5, r6, pc}
-_020ab7b0:
- ldr r0, [r4, #0x12c]
- ldmia sp!, {r4, r5, r6, pc}
- .align 2, 0
- arm_func_end func_ov00_020ab770
-_020ab7b8: .word data_027e0fb8
-
- .global func_ov00_020ab7bc
- arm_func_start func_ov00_020ab7bc
-func_ov00_020ab7bc: ; 0x020ab7bc
- stmdb sp!, {r4, r5, lr}
- sub sp, sp, #0x1c
- ldr r3, [r2, #0x48]
- mov r5, r1
- str r3, [r5]
- ldr r1, [r2, #0x4c]
- mov r4, r0
- str r1, [r5, #4]
- ldr r0, [r2, #0x50]
- str r0, [r5, #8]
- ldr r0, [r2, #0x12c]
- cmp r0, #2
- beq _020ab7fc
- cmp r0, #3
- beq _020ab818
- b _020ab8c0
-_020ab7fc:
- bl func_ov00_020a7b8c
- ldr r2, [r0]
- mov r1, #1
- ldr r2, [r2, #0x14]
- blx r2
- add sp, sp, #0x1c
- ldmia sp!, {r4, r5, pc}
-_020ab818:
- add r1, sp, #0
- mov r0, r2
- bl func_ov00_020c2a0c
- mov r0, r4
- bl func_ov00_020a8c4c
- add r2, sp, #0x10
- mov r1, r5
- bl func_01ff9bf8
- ldr r1, [sp, #0xc]
- ldr r0, [sp, #0x10]
- add r2, r1, #0x66
- ldr r1, [sp, #0x18]
- add r4, r2, #0x600
- bl func_01ffa0f4
- mov r0, r0, lsl #0x10
- mov r0, r0, asr #0x10
- bl func_0202bbbc
- cmp r0, #3
- addls pc, pc, r0, lsl #2
- b _020ab8b4
-_020ab868: ; jump table
- b _020ab878 ; case 0
- b _020ab888 ; case 1
- b _020ab898 ; case 2
- b _020ab8a8 ; case 3
-_020ab878:
- ldr r0, [r5]
- add r0, r0, r4
- str r0, [r5]
- b _020ab8b4
-_020ab888:
- ldr r0, [r5]
- sub r0, r0, r4
- str r0, [r5]
- b _020ab8b4
-_020ab898:
- ldr r0, [r5, #8]
- add r0, r0, r4
- str r0, [r5, #8]
- b _020ab8b4
-_020ab8a8:
- ldr r0, [r5, #8]
- sub r0, r0, r4
- str r0, [r5, #8]
-_020ab8b4:
- add sp, sp, #0x1c
- mov r0, #1
- ldmia sp!, {r4, r5, pc}
-_020ab8c0:
- mov r0, #1
- add sp, sp, #0x1c
- ldmia sp!, {r4, r5, pc}
- arm_func_end func_ov00_020ab7bc
-
- .global func_ov00_020ab8cc
- arm_func_start func_ov00_020ab8cc
-func_ov00_020ab8cc: ; 0x020ab8cc
- stmdb sp!, {r3, r4, r5, lr}
- mov r5, r0
- mov r4, r1
- bl func_ov00_020a8c4c
- mov r1, r0
- mov r0, r4
- add r2, r5, #0x18
- bl func_01ff9bf8
- add r0, r5, #0x18
- mov r2, r0
- mov r1, #0x1000
- bl func_0202da8c
- mov r0, #5
- str r0, [r5, #4]
- ldmia sp!, {r3, r4, r5, pc}
- arm_func_end func_ov00_020ab8cc
-
- .global func_ov00_020ab908
- arm_func_start func_ov00_020ab908
-func_ov00_020ab908: ; 0x020ab908
- stmdb sp!, {r3, r4, r5, lr}
- mov r5, r0
- mov r4, r1
- bl func_ov00_020a8c4c
- mov r1, r0
- mov r0, r4
- add r2, r5, #0x18
- bl func_01ff9bf8
- mov r0, #3
- str r0, [r5, #4]
- ldmia sp!, {r3, r4, r5, pc}
- arm_func_end func_ov00_020ab908
-
- .global func_ov00_020ab934
- arm_func_start func_ov00_020ab934
-func_ov00_020ab934: ; 0x020ab934
- stmdb sp!, {r3, r4, r5, lr}
- mov r5, r0
- mov r4, r1
- bl func_ov00_020a8ca4
- cmp r0, #0
- ldmeqia sp!, {r3, r4, r5, pc}
- mov r0, r5
- bl func_ov00_020a8c4c
- mov r1, r0
- mov r0, r4
- add r2, r5, #0x18
- bl func_01ff9bf8
- mov r2, #3
- mov r0, r5
- mov r1, #2
- str r2, [r5, #4]
- bl func_ov00_020a8138
- ldmia sp!, {r3, r4, r5, pc}
- arm_func_end func_ov00_020ab934
-
- .global func_ov00_020ab97c
- arm_func_start func_ov00_020ab97c
-func_ov00_020ab97c: ; 0x020ab97c
- stmdb sp!, {r3, r4, r5, lr}
- mov r5, r0
- mov r4, r1
- bl func_ov00_020a8ca4
- cmp r0, #0
- ldmeqia sp!, {r3, r4, r5, pc}
- mov r0, r5
- bl func_ov00_020a8c4c
- mov r1, r0
- mov r0, r4
- add r2, r5, #0x18
- bl func_01ff9bf8
- mov r0, #4
- str r0, [r5, #4]
- ldmia sp!, {r3, r4, r5, pc}
- arm_func_end func_ov00_020ab97c
-
- .global func_ov00_020ab9b8
- arm_func_start func_ov00_020ab9b8
-func_ov00_020ab9b8: ; 0x020ab9b8
- stmdb sp!, {r3, r4, r5, r6, r7, lr}
- sub sp, sp, #0x18
- mov r7, r0
- mov r6, r1
- mov r5, r2
- bl func_ov00_020a8ca4
- movs r4, r0
- addeq sp, sp, #0x18
- ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
- cmp r5, #0
- mov r5, #1
- beq _020aba70
- mov r0, r7
- bl func_ov00_020a8c4c
- add r3, sp, #0xc
- ldmia r0, {r0, r1, r2}
- stmia r3, {r0, r1, r2}
- mov r0, r7
- bl func_ov00_020a8c4c
- add r2, sp, #0xc
- add r1, r7, #0x18
- bl func_01ff9bc4
- ldr r1, [r4, #4]
- ldr r0, _020abb64 ; =0x424b4559
- cmp r1, r0
- beq _020aba30
- ldr r0, _020abb68 ; =0x464f5243
- cmp r1, r0
- beq _020aba54
- b _020aba70
-_020aba30:
- add r1, sp, #0xc
- mov r0, r4
- bl func_ov17_0215dff0
- cmp r0, #0
- beq _020aba70
- mov r0, r7
- mov r5, #0
- bl func_ov00_020aa818
- b _020aba70
-_020aba54:
- add r1, sp, #0xc
- mov r0, r4
- bl func_ov17_0215e338
- cmp r0, #0
- beq _020aba70
- mov r0, r7
- bl func_ov00_020aa818
-_020aba70:
- cmp r5, #0
- beq _020abb30
- mov r1, #0
- mov r0, r7
- str r1, [sp]
- str r1, [sp, #4]
- str r1, [sp, #8]
- bl func_ov00_020a8c78
- ldrh r5, [r0]
- ldr r2, _020abb6c ; =0x0000028f
- mov r3, #0
- umull r1, r0, r6, r2
- mla r0, r6, r3, r0
- mov r3, r6, asr #0x1f
- mov r5, r5, asr #0x4
- mov ip, r5, lsl #0x1
- mla r0, r3, r2, r0
- adds r1, r1, #0x800
- add r5, ip, #1
- ldr r6, _020abb70 ; =data_02050f54
- mov r3, ip, lsl #0x1
- mov r2, r5, lsl #0x1
- ldrsh r3, [r6, r3]
- adc r0, r0, #0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #20
- smull r0, r5, r3, r1
- adds r3, r0, #0x800
- ldrsh r2, [r6, r2]
- mov r3, r3, lsr #0xc
- smull r1, r0, r2, r1
- adc r2, r5, #0
- adds r1, r1, #0x800
- orr r3, r3, r2, lsl #20
- ldr r5, [sp]
- adc r0, r0, #0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #20
- ldr r2, [sp, #8]
- add r3, r5, r3
- add r1, r2, r1
- str r1, [sp, #8]
- mov r0, r4
- str r3, [sp]
- ldr r2, [r0]
- add r1, sp, #0
- ldr r2, [r2, #0x5c]
- blx r2
-_020abb30:
- mov r0, r7
- bl func_ov00_020a8cc4
- mvn r1, #0
- str r1, [r0]
- str r1, [r0, #4]
- mov r0, r7
- bl func_ov00_020a8c4c
- mov r2, r0
- ldr r0, _020abb74 ; =data_ov00_020eec9c
- mov r1, #0xcc
- bl func_ov00_020d7a84
- add sp, sp, #0x18
- ldmia sp!, {r3, r4, r5, r6, r7, pc}
- .align 2, 0
- arm_func_end func_ov00_020ab9b8
-_020abb64: .word 0x424b4559
-_020abb68: .word 0x464f5243
-_020abb6c: .word 0x0000028f
-_020abb70: .word data_02050f54
-_020abb74: .word data_ov00_020eec9c
-
- .global func_ov00_020abb78
- arm_func_start func_ov00_020abb78
-func_ov00_020abb78: ; 0x020abb78
- stmdb sp!, {r3, lr}
- ldr r3, [r1]
- mov r2, #6
- str r3, [r0, #0x10]
- ldr r3, [r1, #4]
- mov r1, #2
- str r3, [r0, #0x14]
- bl func_ov00_020a8148
- mov r0, #1
- ldmia sp!, {r3, pc}
- arm_func_end func_ov00_020abb78
-
- .global func_ov00_020abba0
- arm_func_start func_ov00_020abba0
-func_ov00_020abba0: ; 0x020abba0
- stmdb sp!, {r3, r4, r5, lr}
- mov r5, r0
- mov r4, r1
- bl func_ov00_020abc40
- cmp r0, #0
- beq _020abbc8
- mov r0, r5
- mov r1, r4
- bl func_ov00_020abb78
- ldmia sp!, {r3, r4, r5, pc}
-_020abbc8:
- ldr r0, [r4]
- str r0, [r5, #0x10]
- ldr r0, [r4, #4]
- str r0, [r5, #0x14]
- ldmia sp!, {r3, r4, r5, pc}
- arm_func_end func_ov00_020abba0
-
- .global func_ov00_020abbdc
- arm_func_start func_ov00_020abbdc
-func_ov00_020abbdc: ; 0x020abbdc
- stmdb sp!, {r3, r4, r5, lr}
- mov r5, r0
- mov r4, r1
- bl func_ov00_020abc40
- cmp r0, #0
- beq _020abc04
- mov r0, r5
- mov r1, r4
- bl func_ov00_020abb78
- ldmia sp!, {r3, r4, r5, pc}
-_020abc04:
- ldr r0, [r4]
- str r0, [r5, #0x10]
- ldr r0, [r4, #4]
- str r0, [r5, #0x14]
- ldmia sp!, {r3, r4, r5, pc}
- arm_func_end func_ov00_020abbdc
-
- .global func_ov00_020abc18
- arm_func_start func_ov00_020abc18
-func_ov00_020abc18: ; 0x020abc18
- stmdb sp!, {r3, r4, r5, lr}
- mov r5, r0
- mov r4, r1
- bl func_ov00_020abc40
- cmp r0, #0
- ldmeqia sp!, {r3, r4, r5, pc}
- mov r0, r5
- mov r1, r4
- bl func_ov00_020abb78
- ldmia sp!, {r3, r4, r5, pc}
- arm_func_end func_ov00_020abc18
-
- .global func_ov00_020abc40
- arm_func_start func_ov00_020abc40
-func_ov00_020abc40: ; 0x020abc40
- stmdb sp!, {r4, lr}
- mov r4, r0
- bl func_ov00_020a8bf8
- cmp r0, #2
- ldreq r0, [r4, #4]
- cmpeq r0, #6
- beq _020abc70
- mov r0, r4
- bl func_ov00_020a8bf8
- cmp r0, #6
- movne r0, #1
- ldmneia sp!, {r4, pc}
-_020abc70:
- mov r0, #0
- ldmia sp!, {r4, pc}
- arm_func_end func_ov00_020abc40
-
- .global func_ov00_020abc78
- arm_func_start func_ov00_020abc78
-func_ov00_020abc78: ; 0x020abc78
- stmdb sp!, {r4, r5, r6, lr}
- mov r5, r0
- mov r4, r1
- bl func_ov00_020a8b80
- cmp r0, #0
- moveq r0, #0
- ldmeqia sp!, {r4, r5, r6, pc}
- mov r0, r5
- bl func_ov00_020a8ca4
- cmp r0, #0
- movne r0, #0
- ldmneia sp!, {r4, r5, r6, pc}
- mov r0, r5
- bl func_ov00_020a8bf8
- cmp r0, #0
- beq _020abce0
- cmp r0, #1
- bne _020abcd8
- ldr r0, _020abd6c ; =data_027e0fb8
- mov r1, #0
- ldr r0, [r0]
- strb r1, [r0, #0x79]
- strb r1, [r0, #0x7b]
- b _020abce0
-_020abcd8:
- mov r0, #0
- ldmia sp!, {r4, r5, r6, pc}
-_020abce0:
- ldr r0, _020abd70 ; =data_027e0fe4
- mov r1, r4
- ldr r0, [r0]
- bl func_ov00_020c3674
- mov r6, r0
- mov r0, r5
- bl func_ov00_020a8cc4
- ldr r2, [r4]
- add r1, r6, #0x48
- str r2, [r0]
- ldr r2, [r4, #4]
- str r2, [r0, #4]
- mov r0, r5
- bl func_ov00_020a81ec
- ldr r1, [r4]
- mov r0, r5
- str r1, [r5, #0x10]
- ldr r1, [r4, #4]
- str r1, [r5, #0x14]
- bl func_ov00_020a8c4c
- mov r2, r0
- ldr r0, _020abd74 ; =data_ov00_020eec9c
- mov r1, #0xcb
- bl func_ov00_020d7a84
- mov r0, r5
- bl func_ov00_020a8ca4
- ldr r1, [r0]
- ldr r1, [r1, #0x58]
- blx r1
- mov r0, r5
- mov r1, #2
- mov r2, r1
- bl func_ov00_020a8148
- mov r0, #1
- ldmia sp!, {r4, r5, r6, pc}
- .align 2, 0
- arm_func_end func_ov00_020abc78
-_020abd6c: .word data_027e0fb8
-_020abd70: .word data_027e0fe4
-_020abd74: .word data_ov00_020eec9c
-
- .global func_ov00_020abd78
- thumb_func_start func_ov00_020abd78
-func_ov00_020abd78: ; 0x020abd78
- bx lr
- .align 2, 0
- thumb_func_end func_ov00_020abd78
-
- .global func_ov00_020abd7c
- arm_func_start func_ov00_020abd7c
-func_ov00_020abd7c: ; 0x020abd7c
- mov r0, #1
- bx lr
- arm_func_end func_ov00_020abd7c
-
- .global func_ov00_020abd84
- arm_func_start func_ov00_020abd84
-func_ov00_020abd84: ; 0x020abd84
- ldr r0, [r0, #0x14]
- cmp r0, #8
- bne _020abd98
- mov r0, #0
- bx lr
-_020abd98:
- mvn r0, #0
- bx lr
- arm_func_end func_ov00_020abd84
-
- .global func_ov00_020abda0
- arm_func_start func_ov00_020abda0
-func_ov00_020abda0: ; 0x020abda0
- stmdb sp!, {r4, r5, r6, lr}
- mov r5, r0
- mov r4, r1
- bl func_ov00_020a7fac
- ldr r0, [r5, #0x14]
- cmp r0, #0xa
- addls pc, pc, r0, lsl #2
- b _020abe68
-_020abdc0: ; jump table
- b _020abe68 ; case 0
- b _020abe68 ; case 1
- b _020abe68 ; case 2
- b _020abe60 ; case 3
- b _020abe1c ; case 4
- b _020abe68 ; case 5
- b _020abe2c ; case 6
- b _020abdec ; case 7
- b _020abe38 ; case 8
- b _020abe44 ; case 9
- b _020abe44 ; case 10
-_020abdec:
- ldr r0, _020abf44 ; =data_027e103c
- ldr r0, [r0]
- bl func_ov00_020cf01c
- ldrb r0, [r0, #0xe0]
- cmp r0, #0
- bne _020abe0c
- bl func_ov00_020abf50
- bl func_ov14_0213ec64
-_020abe0c:
- ldr r0, _020abf48 ; =data_027e1098
- ldr r0, [r0]
- blx func_ov14_0211fd04
- b _020abe68
-_020abe1c:
- mov r0, r5
- mov r1, r4
- bl func_ov55_02198f90
- b _020abe68
-_020abe2c:
- mov r0, r5
- bl func_ov57_0219a32c
- b _020abe68
-_020abe38:
- mov r0, r5
- bl func_ov59_0219931c
- b _020abe68
-_020abe44:
- ldr r0, _020abf44 ; =data_027e103c
- mov r1, #0
- ldr r0, [r0]
- mov r2, r1
- strb r1, [r0, #0x2a]
- bl func_ov00_020cf9dc
- b _020abe68
-_020abe60:
- mov r0, r5
- bl func_ov54_021997f0
-_020abe68:
- ldr r1, [r5, #0x14]
- mvn r0, #0
- cmp r1, r0
- beq _020abe8c
- mov r0, r5
- bl func_ov00_020a8d28
- ldr r1, [r0]
- ldr r1, [r1, #0x1c]
- blx r1
-_020abe8c:
- ldr r1, [r5, #0x14]
- cmp r1, #9
- bgt _020abec0
- bge _020abec8
- cmp r1, #1
- bgt _020abed4
- mvn r0, #0
- cmp r1, r0
- blt _020abed4
- cmpne r1, #0
- cmpne r1, #1
- beq _020abef4
- b _020abed4
-_020abec0:
- cmp r1, #0xa
- bne _020abed4
-_020abec8:
- mov r0, r5
- bl func_ov00_020a8158
- b _020abef4
-_020abed4:
- mov r0, r5
- bl func_ov00_020a8158
- cmp r4, #4
- cmpne r4, #2
- beq _020abef4
- bl func_ov00_020abf60
- mov r1, #1
- strb r1, [r0, #0x14]
-_020abef4:
- mvn r0, #0
- add r6, r5, #0x50
- add r4, r5, #0x58
- str r0, [r5, #0x18]
- cmp r6, r4
- beq _020abf20
-_020abf0c:
- mov r0, r6
- bl func_ov00_020b7e6c
- add r6, r6, #4
- cmp r6, r4
- bne _020abf0c
-_020abf20:
- ldr r0, _020abf4c ; =data_027e0fb8
- ldr r0, [r0]
- ldrb r1, [r0, #0x80]
- cmp r1, #0
- beq _020abf38
- bl func_ov00_020af050
-_020abf38:
- mov r0, #0
- strb r0, [r5, #0x26]
- ldmia sp!, {r4, r5, r6, pc}
- .align 2, 0
- arm_func_end func_ov00_020abda0
-_020abf44: .word data_027e103c
-_020abf48: .word data_027e1098
-_020abf4c: .word data_027e0fb8
-
- .global func_ov00_020abf50
- arm_func_start func_ov00_020abf50
-func_ov00_020abf50: ; 0x020abf50
- ldr ip, _020abf5c ; =func_01fffcec
- mov r0, #7
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020abf50
-_020abf5c: .word func_01fffcec
-
- .global func_ov00_020abf60
- arm_func_start func_ov00_020abf60
-func_ov00_020abf60: ; 0x020abf60
- ldr ip, _020abf6c ; =func_01fffcd8
- mov r0, #0
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020abf60
-_020abf6c: .word func_01fffcd8
-
- .global func_ov00_020abf70
- arm_func_start func_ov00_020abf70
-func_ov00_020abf70: ; 0x020abf70
- ldr r1, _020abf88 ; =data_027e0f74
- mov r2, r0
- ldr r0, [r1]
- ldr ip, _020abf8c ; =func_ov00_02097b9c
- ldr r1, [r2, #0x5c]
- bx ip
- .align 2, 0
- arm_func_end func_ov00_020abf70
-_020abf88: .word data_027e0f74
-_020abf8c: .word func_ov00_02097b9c
-
- .global func_ov00_020abf90
- arm_func_start func_ov00_020abf90
-func_ov00_020abf90: ; 0x020abf90
- ldr r0, [r0, #0x5c]
- cmp r0, #0
- movlt r0, #1
- movge r0, #0
- bx lr
- arm_func_end func_ov00_020abf90
-
.rodata
.global data_ov00_020d8798
data_ov00_020d8798: ; 0x020d8798
@@ -67275,51 +61658,6 @@ data_ov00_020dc500: ; 0x020dc500
.global data_ov00_020dc50c
data_ov00_020dc50c: ; 0x020dc50c
.byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020dc510
-data_ov00_020dc510: ; 0x020dc510
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020dc514
-data_ov00_020dc514: ; 0x020dc514
- .byte 0x03, 0x00, 0x00, 0x00
- .global data_ov00_020dc518
-data_ov00_020dc518: ; 0x020dc518
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020dc51c
-data_ov00_020dc51c: ; 0x020dc51c
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020dc520
-data_ov00_020dc520: ; 0x020dc520
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020dc524
-data_ov00_020dc524: ; 0x020dc524
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020dc528
-data_ov00_020dc528: ; 0x020dc528
- .ascii "zdf_link_ice"
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020dc538
-data_ov00_020dc538: ; 0x020dc538
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020dc53c
-data_ov00_020dc53c: ; 0x020dc53c
- .ascii "zdf_link_ice"
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020dc54c
-data_ov00_020dc54c: ; 0x020dc54c
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020dc550
-data_ov00_020dc550: ; 0x020dc550
- .byte 0xec, 0x01, 0x00, 0x00
- .global data_ov00_020dc554
-data_ov00_020dc554: ; 0x020dc554
- .byte 0x3c, 0x00, 0x00, 0x00
- .global data_ov00_020dc558
-data_ov00_020dc558: ; 0x020dc558
- .byte 0xae, 0x13, 0x00, 0x00
- .global data_ov00_020dc55c
-data_ov00_020dc55c: ; 0x020dc55c
- .byte 0x0f, 0x00, 0x00, 0x00
- .global data_ov00_020dc560
.data
.global data_ov00_020e2044
@@ -74640,929 +68978,6 @@ data_ov00_020e5628: ; 0x020e5628
.global data_ov00_020e562c
data_ov00_020e562c: ; 0x020e562c
.word func_ov04_0210b280 ; data_ov07_0210b280
- .global data_ov00_020e5630
-data_ov00_020e5630: ; 0x020e5630
- .ascii "brg"
- .byte 0x00
- .global data_ov00_020e5634
-data_ov00_020e5634: ; 0x020e5634
- .ascii "fnl"
- .byte 0x00
- .global data_ov00_020e5638
-data_ov00_020e5638: ; 0x020e5638
- .ascii "pdl"
- .byte 0x00
- .global data_ov00_020e563c
-data_ov00_020e563c: ; 0x020e563c
- .ascii "dco"
- .byte 0x00
- .global data_ov00_020e5640
-data_ov00_020e5640: ; 0x020e5640
- .ascii "can"
- .byte 0x00
- .global data_ov00_020e5644
-data_ov00_020e5644: ; 0x020e5644
- .ascii "hul"
- .byte 0x00
- .global data_ov00_020e5648
-data_ov00_020e5648: ; 0x020e5648
- .ascii "bow"
- .byte 0x00
- .global data_ov00_020e564c
-data_ov00_020e564c: ; 0x020e564c
- .ascii "anc"
- .byte 0x00
- .global data_ov00_020e5650
-data_ov00_020e5650: ; 0x020e5650
- .word data_ov00_020e564c
- .global data_ov00_020e5654
-data_ov00_020e5654: ; 0x020e5654
- .word data_ov00_020e5648
- .global data_ov00_020e5658
-data_ov00_020e5658: ; 0x020e5658
- .word data_ov00_020e5644
- .global data_ov00_020e565c
-data_ov00_020e565c: ; 0x020e565c
- .word data_ov00_020e5640
- .global data_ov00_020e5660
-data_ov00_020e5660: ; 0x020e5660
- .word data_ov00_020e563c
- .global data_ov00_020e5664
-data_ov00_020e5664: ; 0x020e5664
- .word data_ov00_020e5638
- .global data_ov00_020e5668
-data_ov00_020e5668: ; 0x020e5668
- .word data_ov00_020e5634
- .global data_ov00_020e566c
-data_ov00_020e566c: ; 0x020e566c
- .word data_ov00_020e5630
- .global data_ov00_020e5670
-data_ov00_020e5670: ; 0x020e5670
- .byte 0x29, 0x00, 0x00, 0x00
- .global data_ov00_020e5674
-data_ov00_020e5674: ; 0x020e5674
- .byte 0x27, 0x00, 0x00, 0x00
- .global data_ov00_020e5678
-data_ov00_020e5678: ; 0x020e5678
- .byte 0x00, 0x10, 0x00, 0x00
- .global data_ov00_020e567c
-data_ov00_020e567c: ; 0x020e567c
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5680
-data_ov00_020e5680: ; 0x020e5680
- .byte 0x00, 0x50, 0x00, 0x00
- .global data_ov00_020e5684
-data_ov00_020e5684: ; 0x020e5684
- .byte 0x01, 0x00, 0x00, 0x00
- .global data_ov00_020e5688
-data_ov00_020e5688: ; 0x020e5688
- .byte 0x33, 0x13, 0x00, 0x00
- .global data_ov00_020e568c
-data_ov00_020e568c: ; 0x020e568c
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5690
-data_ov00_020e5690: ; 0x020e5690
- .byte 0x00, 0xc0, 0x03, 0x00
- .global data_ov00_020e5694
-data_ov00_020e5694: ; 0x020e5694
- .byte 0x1f, 0x00, 0x00, 0x00
- .global data_ov00_020e5698
-data_ov00_020e5698: ; 0x020e5698
- .byte 0x00, 0x10, 0x00, 0x00
- .global data_ov00_020e569c
-data_ov00_020e569c: ; 0x020e569c
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e56a0
-data_ov00_020e56a0: ; 0x020e56a0
- .byte 0x00, 0xc0, 0x03, 0x00
- .global data_ov00_020e56a4
-data_ov00_020e56a4: ; 0x020e56a4
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e56a8
-data_ov00_020e56a8: ; 0x020e56a8
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e56ac
-data_ov00_020e56ac: ; 0x020e56ac
- .word func_ov00_020a7fa4 + 1
- .global data_ov00_020e56b0
-data_ov00_020e56b0: ; 0x020e56b0
- .word func_ov04_0210ade4 ; data_ov07_0210ade4
- .global data_ov00_020e56b4
-data_ov00_020e56b4: ; 0x020e56b4
- .word func_ov04_0210ade8 ; data_ov07_0210ade8
- .global data_ov00_020e56b8
-data_ov00_020e56b8: ; 0x020e56b8
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e56bc
-data_ov00_020e56bc: ; 0x020e56bc
- .word func_ov04_0210adf8 ; data_ov07_0210adf8
- .global data_ov00_020e56c0
-data_ov00_020e56c0: ; 0x020e56c0
- .word func_ov00_020a7fa8
- .global data_ov00_020e56c4
-data_ov00_020e56c4: ; 0x020e56c4
- .word func_ov00_020a7fac
- .global data_ov00_020e56c8
-data_ov00_020e56c8: ; 0x020e56c8
- .word func_ov05_0210f700
- .global data_ov00_020e56cc
-data_ov00_020e56cc: ; 0x020e56cc
- .word func_ov00_020a7fb0
- .global data_ov00_020e56d0
-data_ov00_020e56d0: ; 0x020e56d0
- .word func_ov00_020a7fb8
- .global data_ov00_020e56d4
-data_ov00_020e56d4: ; 0x020e56d4
- .word func_ov00_020a8108
- .global data_ov00_020e56d8
-data_ov00_020e56d8: ; 0x020e56d8
- .word func_ov05_0210f704
- .global data_ov00_020e56dc
-data_ov00_020e56dc: ; 0x020e56dc
- .word func_ov05_0210f708
- .global data_ov00_020e56e0
-data_ov00_020e56e0: ; 0x020e56e0
- .word func_ov00_020a8110
- .global data_ov00_020e56e4
-data_ov00_020e56e4: ; 0x020e56e4
- .word func_ov05_0210f70c
- .global data_ov00_020e56e8
-data_ov00_020e56e8: ; 0x020e56e8
- .word func_ov05_0210f714
- .global data_ov00_020e56ec
-data_ov00_020e56ec: ; 0x020e56ec
- .word func_ov05_0210f71c
- .global data_ov00_020e56f0
-data_ov00_020e56f0: ; 0x020e56f0
- .byte 0x00, 0x08, 0x00, 0x00
- .global data_ov00_020e56f4
-data_ov00_020e56f4: ; 0x020e56f4
- .byte 0x00, 0x01, 0x00, 0x00
- .global data_ov00_020e56f8
-data_ov00_020e56f8: ; 0x020e56f8
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e56fc
-data_ov00_020e56fc: ; 0x020e56fc
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5700
-data_ov00_020e5700: ; 0x020e5700
- .word func_ov00_020a8e04 + 1
- .global data_ov00_020e5704
-data_ov00_020e5704: ; 0x020e5704
- .word func_ov04_0210aef4 ; data_ov07_0210aef4
- .global data_ov00_020e5708
-data_ov00_020e5708: ; 0x020e5708
- .word func_ov04_0210af00 ; data_ov07_0210af00
- .global data_ov00_020e570c
-data_ov00_020e570c: ; 0x020e570c
- .word func_ov00_020a8e08
- .global data_ov00_020e5710
-data_ov00_020e5710: ; 0x020e5710
- .word func_ov00_020a8e10 + 1
- .global data_ov00_020e5714
-data_ov00_020e5714: ; 0x020e5714
- .word func_ov00_020a8e58
- .global data_ov00_020e5718
-data_ov00_020e5718: ; 0x020e5718
- .word func_ov00_020a8ecc
- .global data_ov00_020e571c
-data_ov00_020e571c: ; 0x020e571c
- .word data_ov04_021113dc ; func_ov05_021113dc
- .global data_ov00_020e5720
-data_ov00_020e5720: ; 0x020e5720
- .word func_ov00_020a7fb0
- .global data_ov00_020e5724
-data_ov00_020e5724: ; 0x020e5724
- .word func_ov00_020a8eec
- .global data_ov00_020e5728
-data_ov00_020e5728: ; 0x020e5728
- .word func_ov00_020a8108
- .global data_ov00_020e572c
-data_ov00_020e572c: ; 0x020e572c
- .word func_ov05_0210f704
- .global data_ov00_020e5730
-data_ov00_020e5730: ; 0x020e5730
- .word func_ov05_0210f708
- .global data_ov00_020e5734
-data_ov00_020e5734: ; 0x020e5734
- .word func_ov00_020a8110
- .global data_ov00_020e5738
-data_ov00_020e5738: ; 0x020e5738
- .word func_ov05_0210f70c
- .global data_ov00_020e573c
-data_ov00_020e573c: ; 0x020e573c
- .word func_ov05_02111a98
- .global data_ov00_020e5740
-data_ov00_020e5740: ; 0x020e5740
- .word func_ov05_0210f71c
- .global data_ov00_020e5744
-data_ov00_020e5744: ; 0x020e5744
- .byte 0x91, 0xa7
- .global data_ov00_020e5746
-data_ov00_020e5746: ; 0x020e5746
- .byte 0x90, 0x81
- .global data_ov00_020e5748
-data_ov00_020e5748: ; 0x020e5748
- .byte 0x82, 0xab
- .global data_ov00_020e574a
-data_ov00_020e574a: ; 0x020e574a
- .byte 0x83, 0x7b
- .global data_ov00_020e574c
-data_ov00_020e574c: ; 0x020e574c
- .byte 0x83, 0x8a
- .global data_ov00_020e574e
-data_ov00_020e574e: ; 0x020e574e
- .byte 0x83, 0x85
- .global data_ov00_020e5750
-data_ov00_020e5750: ; 0x020e5750
- .byte 0x81, 0x5b
- .global data_ov00_020e5752
-data_ov00_020e5752: ; 0x020e5752
- .byte 0x83, 0x80
- .global data_ov00_020e5754
-data_ov00_020e5754: ; 0x020e5754
- .byte 0x92, 0xe1
- .global data_ov00_020e5756
-data_ov00_020e5756: ; 0x020e5756
- .byte 0x89, 0xba
- .global data_ov00_020e5758
-data_ov00_020e5758: ; 0x020e5758
- .byte 0x97, 0xa6
- .global data_ov00_020e575a
-data_ov00_020e575a: ; 0x020e575a
- .byte 0x00, 0x00
- .global data_ov00_020e575c
-data_ov00_020e575c: ; 0x020e575c
- .ascii "brg"
- .byte 0x00
- .global data_ov00_020e5760
-data_ov00_020e5760: ; 0x020e5760
- .ascii "fnl"
- .byte 0x00
- .global data_ov00_020e5764
-data_ov00_020e5764: ; 0x020e5764
- .ascii "pdl"
- .byte 0x00
- .global data_ov00_020e5768
-data_ov00_020e5768: ; 0x020e5768
- .ascii "dco"
- .byte 0x00
- .global data_ov00_020e576c
-data_ov00_020e576c: ; 0x020e576c
- .ascii "can"
- .byte 0x00
- .global data_ov00_020e5770
-data_ov00_020e5770: ; 0x020e5770
- .ascii "hul"
- .byte 0x00
- .global data_ov00_020e5774
-data_ov00_020e5774: ; 0x020e5774
- .ascii "bow"
- .byte 0x00
- .global data_ov00_020e5778
-data_ov00_020e5778: ; 0x020e5778
- .ascii "anc"
- .byte 0x00
- .global data_ov00_020e577c
-data_ov00_020e577c: ; 0x020e577c
- .word data_ov00_020e5778
- .global data_ov00_020e5780
-data_ov00_020e5780: ; 0x020e5780
- .word data_ov00_020e5774
- .global data_ov00_020e5784
-data_ov00_020e5784: ; 0x020e5784
- .word data_ov00_020e5770
- .global data_ov00_020e5788
-data_ov00_020e5788: ; 0x020e5788
- .word data_ov00_020e576c
- .global data_ov00_020e578c
-data_ov00_020e578c: ; 0x020e578c
- .word data_ov00_020e5768
- .global data_ov00_020e5790
-data_ov00_020e5790: ; 0x020e5790
- .word data_ov00_020e5764
- .global data_ov00_020e5794
-data_ov00_020e5794: ; 0x020e5794
- .word data_ov00_020e5760
- .global data_ov00_020e5798
-data_ov00_020e5798: ; 0x020e5798
- .word data_ov00_020e575c
- .global data_ov00_020e579c
-data_ov00_020e579c: ; 0x020e579c
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e57a0
-data_ov00_020e57a0: ; 0x020e57a0
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e57a4
-data_ov00_020e57a4: ; 0x020e57a4
- .word func_ov00_020a8f74 + 1
- .global data_ov00_020e57a8
-data_ov00_020e57a8: ; 0x020e57a8
- .word func_ov04_0210ad94 ; data_ov07_0210ad94
- .global data_ov00_020e57ac
-data_ov00_020e57ac: ; 0x020e57ac
- .word func_ov04_0210adb0 ; data_ov07_0210adb0
- .global data_ov00_020e57b0
-data_ov00_020e57b0: ; 0x020e57b0
- .word func_ov00_020a8f78
- .global data_ov00_020e57b4
-data_ov00_020e57b4: ; 0x020e57b4
- .word func_ov04_0210adf8 ; data_ov07_0210adf8
- .global data_ov00_020e57b8
-data_ov00_020e57b8: ; 0x020e57b8
- .word func_ov05_0210b57c ; data_ov07_0210b57c
- .global data_ov00_020e57bc
-data_ov00_020e57bc: ; 0x020e57bc
- .word func_ov00_020a9028
- .global data_ov00_020e57c0
-data_ov00_020e57c0: ; 0x020e57c0
- .word func_ov05_0210b97c ; data_ov07_0210b97c
- .global data_ov00_020e57c4
-data_ov00_020e57c4: ; 0x020e57c4
- .word func_ov05_0210c20c ; data_ov07_0210c20c
- .global data_ov00_020e57c8
-data_ov00_020e57c8: ; 0x020e57c8
- .word func_ov00_020a90b0
- .global data_ov00_020e57cc
-data_ov00_020e57cc: ; 0x020e57cc
- .word func_ov00_020a9130
- .global data_ov00_020e57d0
-data_ov00_020e57d0: ; 0x020e57d0
- .word func_ov05_0210c990 ; data_ov07_0210c990
- .global data_ov00_020e57d4
-data_ov00_020e57d4: ; 0x020e57d4
- .word func_ov05_0210f708
- .global data_ov00_020e57d8
-data_ov00_020e57d8: ; 0x020e57d8
- .word func_ov00_020a915c
- .global data_ov00_020e57dc
-data_ov00_020e57dc: ; 0x020e57dc
- .word func_ov05_0210f70c
- .global data_ov00_020e57e0
-data_ov00_020e57e0: ; 0x020e57e0
- .word func_ov05_0210f714
- .global data_ov00_020e57e4
-data_ov00_020e57e4: ; 0x020e57e4
- .word func_ov05_0210f71c
- .global data_ov00_020e57e8
-data_ov00_020e57e8: ; 0x020e57e8
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e57ec
-data_ov00_020e57ec: ; 0x020e57ec
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e57f0
-data_ov00_020e57f0: ; 0x020e57f0
- .word func_ov00_020a9544
- .global data_ov00_020e57f4
-data_ov00_020e57f4: ; 0x020e57f4
- .word func_ov00_020a9530
- .global data_ov00_020e57f8
-data_ov00_020e57f8: ; 0x020e57f8
- .word func_ov00_020a92fc
- .global data_ov00_020e57fc
-data_ov00_020e57fc: ; 0x020e57fc
- .word func_ov00_020a9334
- .global data_ov00_020e5800
-data_ov00_020e5800: ; 0x020e5800
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5804
-data_ov00_020e5804: ; 0x020e5804
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5808
-data_ov00_020e5808: ; 0x020e5808
- .word func_ov00_020a9548
- .global data_ov00_020e580c
-data_ov00_020e580c: ; 0x020e580c
- .word func_ov00_020a9558
- .global data_ov00_020e5810
-data_ov00_020e5810: ; 0x020e5810
- .word func_ov00_020a954c
- .global data_ov00_020e5814
-data_ov00_020e5814: ; 0x020e5814
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5818
-data_ov00_020e5818: ; 0x020e5818
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e581c
-data_ov00_020e581c: ; 0x020e581c
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5820
-data_ov00_020e5820: ; 0x020e5820
- .word func_ov00_020a95a4 + 1
- .global data_ov00_020e5824
-data_ov00_020e5824: ; 0x020e5824
- .word func_ov00_020a95c4 + 1
- .global data_ov00_020e5828
-data_ov00_020e5828: ; 0x020e5828
- .word func_ov00_020a960c
- .global data_ov00_020e582c
-data_ov00_020e582c: ; 0x020e582c
- .word func_ov00_020a9614
- .global data_ov00_020e5830
-data_ov00_020e5830: ; 0x020e5830
- .word func_ov00_020a9650
- .global data_ov00_020e5834
-data_ov00_020e5834: ; 0x020e5834
- .word func_ov00_020a96d4
- .global data_ov00_020e5838
-data_ov00_020e5838: ; 0x020e5838
- .word func_ov00_020a9740
- .global data_ov00_020e583c
-data_ov00_020e583c: ; 0x020e583c
- .word func_ov00_020a9764
- .global data_ov00_020e5840
-data_ov00_020e5840: ; 0x020e5840
- .word func_ov00_020a97d0
- .global data_ov00_020e5844
-data_ov00_020e5844: ; 0x020e5844
- .word func_ov00_020a97e0
- .global data_ov00_020e5848
-data_ov00_020e5848: ; 0x020e5848
- .word func_ov00_020a97f8
- .global data_ov00_020e584c
-data_ov00_020e584c: ; 0x020e584c
- .word func_ov00_020a9864
- .global data_ov00_020e5850
-data_ov00_020e5850: ; 0x020e5850
- .word func_ov00_020a98bc
- .global data_ov00_020e5854
-data_ov00_020e5854: ; 0x020e5854
- .word func_ov00_020a9890
- .global data_ov00_020e5858
-data_ov00_020e5858: ; 0x020e5858
- .word func_ov00_020a9968
- .global data_ov00_020e585c
-data_ov00_020e585c: ; 0x020e585c
- .word func_ov00_020a9994
- .global data_ov00_020e5860
-data_ov00_020e5860: ; 0x020e5860
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5864
-data_ov00_020e5864: ; 0x020e5864
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5868
-data_ov00_020e5868: ; 0x020e5868
- .word func_ov00_020a9a20 + 1
- .global data_ov00_020e586c
-data_ov00_020e586c: ; 0x020e586c
- .word func_ov00_020a9a40 + 1
- .global data_ov00_020e5870
-data_ov00_020e5870: ; 0x020e5870
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5874
-data_ov00_020e5874: ; 0x020e5874
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5878
-data_ov00_020e5878: ; 0x020e5878
- .word func_ov00_020a9b8c
- .global data_ov00_020e587c
-data_ov00_020e587c: ; 0x020e587c
- .word func_ov00_020a9bb8
- .global data_ov00_020e5880
-data_ov00_020e5880: ; 0x020e5880
- .word func_ov00_020a960c
- .global data_ov00_020e5884
-data_ov00_020e5884: ; 0x020e5884
- .word func_ov00_020a9614
- .global data_ov00_020e5888
-data_ov00_020e5888: ; 0x020e5888
- .word func_ov00_020a9650
- .global data_ov00_020e588c
-data_ov00_020e588c: ; 0x020e588c
- .word func_ov00_020a96d4
- .global data_ov00_020e5890
-data_ov00_020e5890: ; 0x020e5890
- .word func_ov00_020a9740
- .global data_ov00_020e5894
-data_ov00_020e5894: ; 0x020e5894
- .word func_ov00_020a9764
- .global data_ov00_020e5898
-data_ov00_020e5898: ; 0x020e5898
- .word func_ov00_020a97d0
- .global data_ov00_020e589c
-data_ov00_020e589c: ; 0x020e589c
- .word func_ov00_020a97e0
- .global data_ov00_020e58a0
-data_ov00_020e58a0: ; 0x020e58a0
- .word func_ov00_020a97f8
- .global data_ov00_020e58a4
-data_ov00_020e58a4: ; 0x020e58a4
- .word func_ov00_020a9864
- .global data_ov00_020e58a8
-data_ov00_020e58a8: ; 0x020e58a8
- .word func_ov00_020a98bc
- .global data_ov00_020e58ac
-data_ov00_020e58ac: ; 0x020e58ac
- .word func_ov00_020a9890
- .global data_ov00_020e58b0
-data_ov00_020e58b0: ; 0x020e58b0
- .word func_ov00_020a9968
- .global data_ov00_020e58b4
-data_ov00_020e58b4: ; 0x020e58b4
- .word func_ov00_020a9f10
- .global data_ov00_020e58b8
-data_ov00_020e58b8: ; 0x020e58b8
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e58bc
-data_ov00_020e58bc: ; 0x020e58bc
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e58c0
-data_ov00_020e58c0: ; 0x020e58c0
- .word func_ov00_020a9f0c
- .global data_ov00_020e58c4
-data_ov00_020e58c4: ; 0x020e58c4
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e58c8
-data_ov00_020e58c8: ; 0x020e58c8
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e58cc
-data_ov00_020e58cc: ; 0x020e58cc
- .word func_ov00_020a9ed8
- .global data_ov00_020e58d0
-data_ov00_020e58d0: ; 0x020e58d0
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e58d4
-data_ov00_020e58d4: ; 0x020e58d4
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e58d8
-data_ov00_020e58d8: ; 0x020e58d8
- .word func_ov00_020a9eb8
- .global data_ov00_020e58dc
-data_ov00_020e58dc: ; 0x020e58dc
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e58e0
-data_ov00_020e58e0: ; 0x020e58e0
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e58e4
-data_ov00_020e58e4: ; 0x020e58e4
- .word func_ov00_020a9eb4
- .global data_ov00_020e58e8
-data_ov00_020e58e8: ; 0x020e58e8
- .ascii "brg"
- .byte 0x00
- .global data_ov00_020e58ec
-data_ov00_020e58ec: ; 0x020e58ec
- .ascii "fnl"
- .byte 0x00
- .global data_ov00_020e58f0
-data_ov00_020e58f0: ; 0x020e58f0
- .ascii "pdl"
- .byte 0x00
- .global data_ov00_020e58f4
-data_ov00_020e58f4: ; 0x020e58f4
- .ascii "dco"
- .byte 0x00
- .global data_ov00_020e58f8
-data_ov00_020e58f8: ; 0x020e58f8
- .ascii "can"
- .byte 0x00
- .global data_ov00_020e58fc
-data_ov00_020e58fc: ; 0x020e58fc
- .ascii "hul"
- .byte 0x00
- .global data_ov00_020e5900
-data_ov00_020e5900: ; 0x020e5900
- .ascii "bow"
- .byte 0x00
- .global data_ov00_020e5904
-data_ov00_020e5904: ; 0x020e5904
- .ascii "anc"
- .byte 0x00
- .global data_ov00_020e5908
-data_ov00_020e5908: ; 0x020e5908
- .word data_ov00_020e5904
- .global data_ov00_020e590c
-data_ov00_020e590c: ; 0x020e590c
- .word data_ov00_020e5900
- .global data_ov00_020e5910
-data_ov00_020e5910: ; 0x020e5910
- .word data_ov00_020e58fc
- .global data_ov00_020e5914
-data_ov00_020e5914: ; 0x020e5914
- .word data_ov00_020e58f8
- .global data_ov00_020e5918
-data_ov00_020e5918: ; 0x020e5918
- .word data_ov00_020e58f4
- .global data_ov00_020e591c
-data_ov00_020e591c: ; 0x020e591c
- .word data_ov00_020e58f0
- .global data_ov00_020e5920
-data_ov00_020e5920: ; 0x020e5920
- .word data_ov00_020e58ec
- .global data_ov00_020e5924
-data_ov00_020e5924: ; 0x020e5924
- .word data_ov00_020e58e8
- .global data_ov00_020e5928
-data_ov00_020e5928: ; 0x020e5928
- .byte 0x02, 0x00, 0x00, 0x00
- .global data_ov00_020e592c
-data_ov00_020e592c: ; 0x020e592c
- .byte 0x1d, 0x00, 0x00, 0x00
- .global data_ov00_020e5930
-data_ov00_020e5930: ; 0x020e5930
- .byte 0x66, 0x16, 0x00, 0x00
- .global data_ov00_020e5934
-data_ov00_020e5934: ; 0x020e5934
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5938
-data_ov00_020e5938: ; 0x020e5938
- .byte 0x00, 0x50, 0x00, 0x00
- .global data_ov00_020e593c
-data_ov00_020e593c: ; 0x020e593c
- .byte 0x1e, 0x00, 0x00, 0x00
- .global data_ov00_020e5940
-data_ov00_020e5940: ; 0x020e5940
- .byte 0x99, 0x19, 0x00, 0x00
- .global data_ov00_020e5944
-data_ov00_020e5944: ; 0x020e5944
- .byte 0x00, 0x20, 0x00, 0x00
- .global data_ov00_020e5948
-data_ov00_020e5948: ; 0x020e5948
- .byte 0x00, 0xa0, 0x00, 0x00
- .global data_ov00_020e594c
-data_ov00_020e594c: ; 0x020e594c
- .byte 0x1e, 0x00
- .global data_ov00_020e594e
-data_ov00_020e594e: ; 0x020e594e
- .byte 0x00, 0x00
- .global data_ov00_020e5950
-data_ov00_020e5950: ; 0x020e5950
- .byte 0x00, 0xe8
- .global data_ov00_020e5952
-data_ov00_020e5952: ; 0x020e5952
- .byte 0xff, 0xff
- .global data_ov00_020e5954
-data_ov00_020e5954: ; 0x020e5954
- .byte 0x00, 0xa0
- .global data_ov00_020e5956
-data_ov00_020e5956: ; 0x020e5956
- .byte 0x00, 0x00
- .global data_ov00_020e5958
-data_ov00_020e5958: ; 0x020e5958
- .byte 0x00, 0x00
- .global data_ov00_020e595a
-data_ov00_020e595a: ; 0x020e595a
- .byte 0x00, 0x00
- .global data_ov00_020e595c
-data_ov00_020e595c: ; 0x020e595c
- .byte 0x22, 0x00, 0x00, 0x00
- .global data_ov00_020e5960
-data_ov00_020e5960: ; 0x020e5960
- .byte 0x00, 0x10, 0x00, 0x00
- .global data_ov00_020e5964
-data_ov00_020e5964: ; 0x020e5964
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5968
-data_ov00_020e5968: ; 0x020e5968
- .byte 0x00, 0xf0, 0x00, 0x00
- .global data_ov00_020e596c
-data_ov00_020e596c: ; 0x020e596c
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5970
-data_ov00_020e5970: ; 0x020e5970
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5974
-data_ov00_020e5974: ; 0x020e5974
- .word func_ov00_020aa32c + 1
- .global data_ov00_020e5978
-data_ov00_020e5978: ; 0x020e5978
- .word func_ov04_0210ab88 ; data_ov07_0210ab88
- .global data_ov00_020e597c
-data_ov00_020e597c: ; 0x020e597c
- .word func_ov04_0210ab9c ; data_ov07_0210ab9c
- .global data_ov00_020e5980
-data_ov00_020e5980: ; 0x020e5980
- .word func_ov00_020aa330
- .global data_ov00_020e5984
-data_ov00_020e5984: ; 0x020e5984
- .word func_ov00_020aa35c + 1
- .global data_ov00_020e5988
-data_ov00_020e5988: ; 0x020e5988
- .word func_ov00_020aa534
- .global data_ov00_020e598c
-data_ov00_020e598c: ; 0x020e598c
- .word func_ov00_020aa7b0
- .global data_ov00_020e5990
-data_ov00_020e5990: ; 0x020e5990
- .word func_ov05_0210a648 ; data_ov07_0210a648
- .global data_ov00_020e5994
-data_ov00_020e5994: ; 0x020e5994
- .word func_ov00_020aabd8
- .global data_ov00_020e5998
-data_ov00_020e5998: ; 0x020e5998
- .word func_ov00_020ab3f8
- .global data_ov00_020e599c
-data_ov00_020e599c: ; 0x020e599c
- .word func_ov00_020a8108
- .global data_ov00_020e59a0
-data_ov00_020e59a0: ; 0x020e59a0
- .word func_ov05_0210b3bc ; data_ov07_0210b3bc
- .global data_ov00_020e59a4
-data_ov00_020e59a4: ; 0x020e59a4
- .word func_ov05_0210f708
- .global data_ov00_020e59a8
-data_ov00_020e59a8: ; 0x020e59a8
- .word func_ov00_020ab4a4
- .global data_ov00_020e59ac
-data_ov00_020e59ac: ; 0x020e59ac
- .word func_ov05_0210f70c
- .global data_ov00_020e59b0
-data_ov00_020e59b0: ; 0x020e59b0
- .word func_ov05_0210f714
- .global data_ov00_020e59b4
-data_ov00_020e59b4: ; 0x020e59b4
- .word func_ov05_0210f71c
- .global data_ov00_020e59b8
-data_ov00_020e59b8: ; 0x020e59b8
- .byte 0x8e, 0x9d, 0x82, 0xbf
- .global data_ov00_020e59bc
-data_ov00_020e59bc: ; 0x020e59bc
- .byte 0x8f, 0xe3, 0x82, 0xb0
- .global data_ov00_020e59c0
-data_ov00_020e59c0: ; 0x020e59c0
- .byte 0x8d, 0xc4, 0x90, 0xb6
- .global data_ov00_020e59c4
-data_ov00_020e59c4: ; 0x020e59c4
- .byte 0x91, 0xac, 0x93, 0x78
- .global data_ov00_020e59c8
-data_ov00_020e59c8: ; 0x020e59c8
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e59cc
-data_ov00_020e59cc: ; 0x020e59cc
- .byte 0x8e, 0x9d, 0x82, 0xbf
- .global data_ov00_020e59d0
-data_ov00_020e59d0: ; 0x020e59d0
- .byte 0x8f, 0xe3, 0x82, 0xb0
- .global data_ov00_020e59d4
-data_ov00_020e59d4: ; 0x020e59d4
- .byte 0x8a, 0x4a, 0x8e, 0x6e
- .global data_ov00_020e59d8
-data_ov00_020e59d8: ; 0x020e59d8
- .byte 0x83, 0x74, 0x83, 0x8c
- .global data_ov00_020e59dc
-data_ov00_020e59dc: ; 0x020e59dc
- .byte 0x81, 0x5b, 0x83, 0x80
- .global data_ov00_020e59e0
-data_ov00_020e59e0: ; 0x020e59e0
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e59e4
-data_ov00_020e59e4: ; 0x020e59e4
- .byte 0x8e, 0x9d, 0x82, 0xbf
- .global data_ov00_020e59e8
-data_ov00_020e59e8: ; 0x020e59e8
- .byte 0x8f, 0xe3, 0x82, 0xb0
- .global data_ov00_020e59ec
-data_ov00_020e59ec: ; 0x020e59ec
- .byte 0x8f, 0x49, 0x97, 0xb9
- .global data_ov00_020e59f0
-data_ov00_020e59f0: ; 0x020e59f0
- .byte 0x83, 0x74, 0x83, 0x8c
- .global data_ov00_020e59f4
-data_ov00_020e59f4: ; 0x020e59f4
- .byte 0x81, 0x5b, 0x83, 0x80
- .global data_ov00_020e59f8
-data_ov00_020e59f8: ; 0x020e59f8
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e59fc
-data_ov00_020e59fc: ; 0x020e59fc
- .byte 0x93, 0x8a, 0x82, 0xb0
- .global data_ov00_020e5a00
-data_ov00_020e5a00: ; 0x020e5a00
- .byte 0x8d, 0xc4, 0x90, 0xb6
- .global data_ov00_020e5a04
-data_ov00_020e5a04: ; 0x020e5a04
- .byte 0x91, 0xac, 0x93, 0x78
- .global data_ov00_020e5a08
-data_ov00_020e5a08: ; 0x020e5a08
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5a0c
-data_ov00_020e5a0c: ; 0x020e5a0c
- .byte 0x93, 0x8a, 0x82, 0xb0
- .global data_ov00_020e5a10
-data_ov00_020e5a10: ; 0x020e5a10
- .byte 0x8a, 0x4a, 0x8e, 0x6e
- .global data_ov00_020e5a14
-data_ov00_020e5a14: ; 0x020e5a14
- .byte 0x83, 0x74, 0x83, 0x8c
- .global data_ov00_020e5a18
-data_ov00_020e5a18: ; 0x020e5a18
- .byte 0x81, 0x5b, 0x83, 0x80
- .global data_ov00_020e5a1c
-data_ov00_020e5a1c: ; 0x020e5a1c
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5a20
-data_ov00_020e5a20: ; 0x020e5a20
- .byte 0x93, 0x8a, 0x82, 0xb0
- .global data_ov00_020e5a24
-data_ov00_020e5a24: ; 0x020e5a24
- .byte 0x8f, 0x49, 0x97, 0xb9
- .global data_ov00_020e5a28
-data_ov00_020e5a28: ; 0x020e5a28
- .byte 0x83, 0x74, 0x83, 0x8c
- .global data_ov00_020e5a2c
-data_ov00_020e5a2c: ; 0x020e5a2c
- .byte 0x81, 0x5b, 0x83, 0x80
- .global data_ov00_020e5a30
-data_ov00_020e5a30: ; 0x020e5a30
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5a34
-data_ov00_020e5a34: ; 0x020e5a34
- .byte 0x92, 0xe2, 0x8e, 0x7e
- .global data_ov00_020e5a38
-data_ov00_020e5a38: ; 0x020e5a38
- .byte 0x8e, 0x9e, 0x8a, 0xd4
- .global data_ov00_020e5a3c
-data_ov00_020e5a3c: ; 0x020e5a3c
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5a40
-data_ov00_020e5a40: ; 0x020e5a40
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5a44
-data_ov00_020e5a44: ; 0x020e5a44
- .byte 0x00, 0x00, 0x00, 0x00
- .global data_ov00_020e5a48
-data_ov00_020e5a48: ; 0x020e5a48
- .word func_ov00_020abd78 + 1
- .global data_ov00_020e5a4c
-data_ov00_020e5a4c: ; 0x020e5a4c
- .word func_ov04_02109ae8 ; data_ov07_02109ae8
- .global data_ov00_020e5a50
-data_ov00_020e5a50: ; 0x020e5a50
- .word func_ov04_02109b08 ; data_ov07_02109b08
- .global data_ov00_020e5a54
-data_ov00_020e5a54: ; 0x020e5a54
- .word func_ov00_020abd7c
- .global data_ov00_020e5a58
-data_ov00_020e5a58: ; 0x020e5a58
- .word func_ov04_0210adf8 ; data_ov07_0210adf8
- .global data_ov00_020e5a5c
-data_ov00_020e5a5c: ; 0x020e5a5c
- .word func_ov05_0210540c ; data_ov07_0210540c
- .global data_ov00_020e5a60
-data_ov00_020e5a60: ; 0x020e5a60
- .word func_ov00_020abda0
- .global data_ov00_020e5a64
-data_ov00_020e5a64: ; 0x020e5a64
- .word func_ov05_021055e0 ; data_ov07_021055e0
- .global data_ov00_020e5a68
-data_ov00_020e5a68: ; 0x020e5a68
- .word func_ov05_02105670 ; data_ov07_02105670
- .global data_ov00_020e5a6c
-data_ov00_020e5a6c: ; 0x020e5a6c
- .word func_ov05_021057c4 ; data_ov07_021057c4
- .global data_ov00_020e5a70
-data_ov00_020e5a70: ; 0x020e5a70
- .word func_ov00_020abf90
- .global data_ov00_020e5a74
-data_ov00_020e5a74: ; 0x020e5a74
- .word func_ov05_0210f704
- .global data_ov00_020e5a78
-data_ov00_020e5a78: ; 0x020e5a78
- .word func_ov05_0210f708
- .global data_ov00_020e5a7c
-data_ov00_020e5a7c: ; 0x020e5a7c
- .word func_ov00_020a8110
- .global data_ov00_020e5a80
-data_ov00_020e5a80: ; 0x020e5a80
- .word func_ov05_0210f70c
- .global data_ov00_020e5a84
-data_ov00_020e5a84: ; 0x020e5a84
- .word func_ov05_0210f714
- .global data_ov00_020e5a88
-data_ov00_020e5a88: ; 0x020e5a88
- .word func_ov05_0210f71c
- .global data_ov00_020e5a8c
-data_ov00_020e5a8c: ; 0x020e5a8c
- .ascii "fnl"
- .byte 0x00
- .global data_ov00_020e5a90
-data_ov00_020e5a90: ; 0x020e5a90
- .ascii "bow"
- .byte 0x00
- .global data_ov00_020e5a94
-data_ov00_020e5a94: ; 0x020e5a94
- .ascii "dco"
- .byte 0x00
- .global data_ov00_020e5a98
-data_ov00_020e5a98: ; 0x020e5a98
- .ascii "can"
- .byte 0x00
- .global data_ov00_020e5a9c
-data_ov00_020e5a9c: ; 0x020e5a9c
- .ascii "hul"
- .byte 0x00
- .global data_ov00_020e5aa0
-data_ov00_020e5aa0: ; 0x020e5aa0
- .ascii "pdl"
- .byte 0x00
- .global data_ov00_020e5aa4
-data_ov00_020e5aa4: ; 0x020e5aa4
- .ascii "anc"
- .byte 0x00
- .global data_ov00_020e5aa8
-data_ov00_020e5aa8: ; 0x020e5aa8
- .ascii "brg"
- .byte 0x00
.bss
.global data_ov00_020e9360
diff --git a/asm/ov00/ov00_020a8e04.s b/asm/ov00/ov00_020a8e04.s
new file mode 100644
index 00000000..c8314315
--- /dev/null
+++ b/asm/ov00/ov00_020a8e04.s
@@ -0,0 +1,4979 @@
+ .include "macros/function.inc"
+ .include "ov00/include/ov00_020a8e04.inc"
+
+ .text
+
+ .global func_ov00_020a8e04
+ thumb_func_start func_ov00_020a8e04
+func_ov00_020a8e04: ; 0x020a8e04
+ bx lr
+ .align 2, 0
+ thumb_func_end func_ov00_020a8e04
+
+ .global func_ov00_020a8e08
+ arm_func_start func_ov00_020a8e08
+func_ov00_020a8e08: ; 0x020a8e08
+ mov r0, #0
+ bx lr
+ arm_func_end func_ov00_020a8e08
+
+ .global func_ov00_020a8e10
+ thumb_func_start func_ov00_020a8e10
+func_ov00_020a8e10: ; 0x020a8e10
+ push {r4, r5, lr}
+ sub sp, #0x14
+ ldr r5, _020a8e4c ; =data_ov00_020e5744
+ blx func_ov00_020a8dec
+ ldr r3, [r0]
+ ldr r1, _020a8e50 ; =0x4c4d4f56
+ ldr r2, _020a8e54 ; =data_ov00_020e56f0
+ ldr r3, [r3, #0x3c]
+ add r4, r0, #0
+ blx r3
+ ldr r0, _020a8e54 ; =data_ov00_020e56f0
+ mov r1, #0
+ str r0, [sp]
+ mov r0, #8
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ lsl r0, r0, #9
+ str r0, [sp, #0xc]
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ ldr r4, [r0]
+ ldr r3, _020a8e50 ; =0x4c4d4f56
+ ldr r4, [r4, #0x34]
+ mov r1, #1
+ add r2, r5, #0
+ blx r4
+ add sp, #0x14
+ pop {r4, r5, pc}
+ nop
+ thumb_func_end func_ov00_020a8e10
+_020a8e4c: .word data_ov00_020e5744
+_020a8e50: .word 0x4c4d4f56
+_020a8e54: .word data_ov00_020e56f0
+
+ .global func_ov00_020a8e58
+ arm_func_start func_ov00_020a8e58
+func_ov00_020a8e58: ; 0x020a8e58
+ stmdb sp!, {r4, lr}
+ mov r4, r0
+ mov r1, #0
+ str r1, [r4, #0xc]
+ strh r1, [r4, #0x10]
+ strh r1, [r4, #0x12]
+ ldrb r2, [r4, #0x14]
+ cmp r2, #0
+ ldmeqia sp!, {r4, pc}
+ bl func_ov00_020a8d28
+ ldr r2, [r0]
+ mov r1, #1
+ ldr r2, [r2, #0x28]
+ blx r2
+ mov r0, r4
+ mov r1, #1
+ bl func_ov00_020a8d28
+ ldr r2, [r0]
+ mov r1, #1
+ ldr r2, [r2, #0x28]
+ blx r2
+ bl func_ov00_020a7b8c
+ mvn r1, #0
+ bl func_ov00_020c06b0
+ ldr r0, _020a8ec8 ; =data_ov00_020eec9c
+ mov r1, #0xd
+ bl func_ov00_020d77e4
+ ldmia sp!, {r4, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a8e58
+_020a8ec8: .word data_ov00_020eec9c
+
+ .global func_ov00_020a8ecc
+ arm_func_start func_ov00_020a8ecc
+func_ov00_020a8ecc: ; 0x020a8ecc
+ stmdb sp!, {r4, lr}
+ mov r4, r0
+ bl func_ov00_020a7fac
+ mov r0, #0
+ strb r0, [r4, #0x14]
+ strb r0, [r4, #0x15]
+ strb r0, [r4, #0x16]
+ ldmia sp!, {r4, pc}
+ arm_func_end func_ov00_020a8ecc
+
+ .global func_ov00_020a8eec
+ arm_func_start func_ov00_020a8eec
+func_ov00_020a8eec: ; 0x020a8eec
+ stmdb sp!, {r3, r4, r5, lr}
+ mov r5, r0
+ mov r4, r1
+ bl func_ov00_020a8c08
+ cmp r0, #0
+ ble _020a8f14
+ mov r0, r5
+ mov r1, r4
+ bl func_ov00_020a7fb8
+ ldmia sp!, {r3, r4, r5, pc}
+_020a8f14:
+ cmp r4, #2
+ bne _020a8f24
+ mov r0, #1
+ ldmia sp!, {r3, r4, r5, pc}
+_020a8f24:
+ mov r0, #0
+ ldmia sp!, {r3, r4, r5, pc}
+ arm_func_end func_ov00_020a8eec
+
+ .global func_ov00_020a8f2c
+ arm_func_start func_ov00_020a8f2c
+func_ov00_020a8f2c: ; 0x020a8f2c
+ ldr r1, _020a8f48 ; =data_ov00_020e56f0
+ ldr r2, [r0, #0xc]
+ ldr r0, [r1, #4]
+ cmp r2, r0
+ movgt r0, #1
+ movle r0, #0
+ bx lr
+ .align 2, 0
+ arm_func_end func_ov00_020a8f2c
+_020a8f48: .word data_ov00_020e56f0
+
+ .global func_ov00_020a8f4c
+ arm_func_start func_ov00_020a8f4c
+func_ov00_020a8f4c: ; 0x020a8f4c
+ ldrb r1, [r0, #0x15]
+ cmp r1, #0
+ movne r0, #0
+ bxne lr
+ mov r2, #1
+ strb r2, [r0, #0x15]
+ mov r1, #0
+ strb r1, [r0, #0x16]
+ mov r0, r2
+ bx lr
+ arm_func_end func_ov00_020a8f4c
+
+ .global func_ov00_020a8f74
+ thumb_func_start func_ov00_020a8f74
+func_ov00_020a8f74: ; 0x020a8f74
+ bx lr
+ .align 2, 0
+ thumb_func_end func_ov00_020a8f74
+
+ .global func_ov00_020a8f78
+ arm_func_start func_ov00_020a8f78
+func_ov00_020a8f78: ; 0x020a8f78
+ mov r0, #3
+ bx lr
+ arm_func_end func_ov00_020a8f78
+
+ .global func_ov00_020a8f80
+ arm_func_start func_ov00_020a8f80
+func_ov00_020a8f80: ; 0x020a8f80
+ stmdb sp!, {r4, r5, lr}
+ sub sp, sp, #0xc
+ mov r5, r0
+ bl func_ov00_020a8d40
+ ldr r0, [r0, #0xc0]
+ cmp r0, #0x1e
+ addne sp, sp, #0xc
+ ldmneia sp!, {r4, r5, pc}
+ mov r0, r5
+ bl func_ov00_020a8d40
+ ldr r2, _020a9020 ; =data_027e0e60
+ add r1, r0, #0xc4
+ ldr r0, [r2]
+ bl func_ov00_020840c4
+ movs r4, r0
+ addeq sp, sp, #0xc
+ ldmeqia sp!, {r4, r5, pc}
+ mov r0, r5
+ bl func_ov00_020a8c4c
+ mov r1, r0
+ add r2, sp, #0
+ add r0, r4, #0x18
+ bl func_01ff9bf8
+ mov r1, #0
+ add r0, sp, #0
+ str r1, [sp, #4]
+ bl func_01ff9cec
+ ldr r1, _020a9024 ; =0x00000155
+ cmp r0, r1
+ addlt sp, sp, #0xc
+ ldmltia sp!, {r4, r5, pc}
+ add r0, sp, #0
+ bl func_0202d95c
+ mov r0, r5
+ bl func_ov00_020a8c58
+ add r1, sp, #0
+ mov r2, #0x2000
+ bl func_0202b308
+ add sp, sp, #0xc
+ ldmia sp!, {r4, r5, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a8f80
+_020a9020: .word data_027e0e60
+_020a9024: .word 0x00000155
+
+ .global func_ov00_020a9028
+ arm_func_start func_ov00_020a9028
+func_ov00_020a9028: ; 0x020a9028
+ stmdb sp!, {r3, r4, r5, lr}
+ mov r5, r0
+ bl func_ov00_020a7fac
+ ldr r0, _020a90a8 ; =data_027e0fb8
+ ldr r0, [r0]
+ ldrb r1, [r0, #0x80]
+ cmp r1, #0
+ beq _020a904c
+ bl func_ov00_020af050
+_020a904c:
+ ldr r0, [r5, #4]
+ cmp r0, #6
+ cmpne r0, #7
+ ldmneia sp!, {r3, r4, r5, pc}
+ ldr r1, _020a90ac ; =data_027e0e60
+ add r0, sp, #0
+ ldr r4, [r1]
+ add r2, r5, #0x24
+ mov r1, r4
+ bl func_ov00_02083a1c
+ add r1, sp, #0
+ mov r0, r4
+ bl func_ov00_020840c4
+ movs r4, r0
+ ldmeqia sp!, {r3, r4, r5, pc}
+ ldr r1, [r0]
+ ldr r1, [r1, #0x1c]
+ blx r1
+ cmp r0, #0x47
+ ldmneia sp!, {r3, r4, r5, pc}
+ mov r0, r4
+ bl func_ov14_0214bd08
+ ldmia sp!, {r3, r4, r5, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a9028
+_020a90a8: .word data_027e0fb8
+_020a90ac: .word data_027e0e60
+
+ .global func_ov00_020a90b0
+ arm_func_start func_ov00_020a90b0
+func_ov00_020a90b0: ; 0x020a90b0
+ stmdb sp!, {r3, lr}
+ cmp r1, #5
+ addls pc, pc, r1, lsl #2
+ b _020a9104
+_020a90c0: ; jump table
+ b _020a9104 ; case 0
+ b _020a910c ; case 1
+ b _020a910c ; case 2
+ b _020a910c ; case 3
+ b _020a90d8 ; case 4
+ b _020a90f0 ; case 5
+_020a90d8:
+ ldr r2, [r0, #4]
+ cmp r2, #1
+ cmpne r2, #6
+ beq _020a910c
+ mov r0, #0
+ ldmia sp!, {r3, pc}
+_020a90f0:
+ ldr r2, [r0, #4]
+ cmp r2, #5
+ bne _020a910c
+ bl func_ov00_020a7fb8
+ ldmia sp!, {r3, pc}
+_020a9104:
+ mov r0, #0
+ ldmia sp!, {r3, pc}
+_020a910c:
+ ldr r2, [r0, #4]
+ cmp r2, #1
+ cmpne r2, #6
+ cmpne r2, #0xa
+ bne _020a9128
+ bl func_ov00_020a7fb8
+ ldmia sp!, {r3, pc}
+_020a9128:
+ mov r0, #0
+ ldmia sp!, {r3, pc}
+ arm_func_end func_ov00_020a90b0
+
+ .global func_ov00_020a9130
+ arm_func_start func_ov00_020a9130
+func_ov00_020a9130: ; 0x020a9130
+ stmdb sp!, {r3, lr}
+ bl func_ov00_020a914c
+ ldr r0, [r0, #0x38]
+ cmp r0, #0
+ movlt r0, #1
+ movge r0, #0
+ ldmia sp!, {r3, pc}
+ arm_func_end func_ov00_020a9130
+
+ .global func_ov00_020a914c
+ arm_func_start func_ov00_020a914c
+func_ov00_020a914c: ; 0x020a914c
+ ldr ip, _020a9158 ; =func_01fffcd8
+ mov r0, #6
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a914c
+_020a9158: .word func_01fffcd8
+
+ .global func_ov00_020a915c
+ arm_func_start func_ov00_020a915c
+func_ov00_020a915c: ; 0x020a915c
+ ldr r0, [r0, #4]
+ cmp r0, #2
+ movne r0, #0
+ bxne lr
+ ldr r2, [r1, #4]
+ mov r0, #1
+ add r2, r2, #0x1200
+ str r2, [r1, #4]
+ bx lr
+ arm_func_end func_ov00_020a915c
+
+ .global func_ov00_020a9180
+ arm_func_start func_ov00_020a9180
+func_ov00_020a9180: ; 0x020a9180
+ stmdb sp!, {r3, r4, r5, lr}
+ ldr r2, _020a9208 ; =data_027e0fb8
+ mov r4, r1
+ ldr r3, [r2]
+ ldr r5, [r3, #0xa0]
+ cmp r5, #0
+ bne _020a91f0
+ mov r2, #0
+ add r1, sp, #0
+ mov r0, r3
+ strb r2, [sp]
+ strb r2, [sp, #1]
+ bl func_ov00_020af01c
+ cmp r0, #0
+ moveq r0, #0
+ ldmeqia sp!, {r3, r4, r5, pc}
+ ldr r0, _020a920c ; =data_027e0e60
+ ldrb r2, [sp]
+ ldrb r1, [sp, #1]
+ ldr r0, [r0]
+ sub r3, sp, #4
+ strb r2, [r3]
+ strb r1, [r3, #1]
+ ldr r2, [r3]
+ mov r1, r4
+ bl func_ov00_02083c7c
+ mov r0, #1
+ ldmia sp!, {r3, r4, r5, pc}
+_020a91f0:
+ mov r2, r5
+ bl func_ov00_020a9210
+ cmp r0, #0
+ ldrnesb r0, [r5, #0x12]
+ moveq r0, #0
+ ldmia sp!, {r3, r4, r5, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a9180
+_020a9208: .word data_027e0fb8
+_020a920c: .word data_027e0e60
+
+ .global func_ov00_020a9210
+ arm_func_start func_ov00_020a9210
+func_ov00_020a9210: ; 0x020a9210
+ stmdb sp!, {r4, r5, lr}
+ sub sp, sp, #0xc
+ mov r5, r2
+ ldrsb r0, [r5, #0x12]
+ mov r4, r1
+ cmp r0, #8
+ beq _020a926c
+ cmp r0, #9
+ bne _020a9280
+ mov r0, r5
+ ldr r2, [r0]
+ add r1, sp, #0
+ ldr r2, [r2, #0x8c]
+ blx r2
+ ldr r1, [sp]
+ mov r0, #1
+ str r1, [r4]
+ ldr r1, [sp, #4]
+ str r1, [r4, #4]
+ ldr r1, [sp, #8]
+ add sp, sp, #0xc
+ str r1, [r4, #8]
+ ldmia sp!, {r4, r5, pc}
+_020a926c:
+ bl func_ov00_020a7b8c
+ ldr r2, [r0]
+ mov r1, #1
+ ldr r2, [r2, #0x14]
+ blx r2
+_020a9280:
+ ldr r1, [r5, #0x18]
+ mov r0, #1
+ str r1, [r4]
+ ldr r1, [r5, #0x1c]
+ str r1, [r4, #4]
+ ldr r1, [r5, #0x20]
+ str r1, [r4, #8]
+ add sp, sp, #0xc
+ ldmia sp!, {r4, r5, pc}
+ arm_func_end func_ov00_020a9210
+
+ .global func_ov00_020a92a4
+ arm_func_start func_ov00_020a92a4
+func_ov00_020a92a4: ; 0x020a92a4
+ stmdb sp!, {r3, lr}
+ ldr r1, _020a92f4 ; =data_ov00_020e5808
+ mov lr, #0
+ str r1, [r0]
+ ldr r1, _020a92f8 ; =data_ov00_020e57f0
+ strb lr, [r0, #4]
+ str r1, [r0]
+ strh lr, [r0, #0xc]
+ strh lr, [r0, #0xe]
+ mov ip, lr
+ mov r2, #0x80
+ mov r1, #0x60
+_020a92d4:
+ add r3, r0, lr, lsl #1
+ strh ip, [r3, #0x10]
+ strh r2, [r3, #0x2c]
+ add lr, lr, #1
+ strh r1, [r3, #0x48]
+ cmp lr, #0xe
+ blt _020a92d4
+ ldmia sp!, {r3, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a92a4
+_020a92f4: .word data_ov00_020e5808
+_020a92f8: .word data_ov00_020e57f0
+
+ .global func_ov00_020a92fc
+ arm_func_start func_ov00_020a92fc
+func_ov00_020a92fc: ; 0x020a92fc
+ stmdb sp!, {r3, lr}
+ mov lr, #0
+ strb lr, [r0, #4]
+ mov ip, lr
+ mov r2, #0x80
+ mov r1, #0x60
+_020a9314:
+ add r3, r0, lr, lsl #1
+ strh ip, [r3, #0x10]
+ strh r2, [r3, #0x2c]
+ add lr, lr, #1
+ strh r1, [r3, #0x48]
+ cmp lr, #0xe
+ blt _020a9314
+ ldmia sp!, {r3, pc}
+ arm_func_end func_ov00_020a92fc
+
+ .global func_ov00_020a9334
+ arm_func_start func_ov00_020a9334
+func_ov00_020a9334: ; 0x020a9334
+ stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
+ ldrsh r2, [r1, #0x60]
+ cmp r2, #0
+ ble _020a9350
+ ldrb r2, [r0, #4]
+ cmp r2, #0
+ beq _020a9384
+_020a9350:
+ ldrh r2, [r0, #0xc]
+ mov r3, #0
+ mov r4, #0x80
+ add r2, r0, r2, lsl #1
+ strh r3, [r2, #0x10]
+ ldrh r2, [r0, #0xc]
+ mov r3, #0x60
+ add r2, r0, r2, lsl #1
+ strh r4, [r2, #0x2c]
+ ldrh r2, [r0, #0xc]
+ add r2, r0, r2, lsl #1
+ strh r3, [r2, #0x48]
+ b _020a93cc
+_020a9384:
+ ldrsh r3, [r1, #0x6a]
+ ldrsh r2, [r0, #0xe]
+ ldr r4, _020a9520 ; =0xffffd555
+ sub r2, r3, r2
+ ldrh r3, [r0, #0xc]
+ cmp r2, r4
+ movgt r4, r2
+ add r3, r0, r3, lsl #1
+ strh r4, [r3, #0x10]
+ ldr r2, _020a9524 ; =data_027e0d78
+ ldrh r3, [r0, #0xc]
+ ldr r4, [r2, #0x24]
+ add r3, r0, r3, lsl #1
+ strh r4, [r3, #0x2c]
+ ldrh r3, [r0, #0xc]
+ ldr r4, [r2, #0x28]
+ add r2, r0, r3, lsl #1
+ strh r4, [r2, #0x48]
+_020a93cc:
+ ldrsh r1, [r1, #0x6a]
+ mov r3, #0x80
+ ldr r5, _020a9528 ; =0x92492493
+ strh r1, [r0, #0xe]
+ ldrh r1, [r0, #0xc]
+ mov r6, #0xe
+ mov r2, #0
+ add r8, r1, #1
+ smull r4, r1, r5, r8
+ add r1, r8, r1
+ mov r4, r8, lsr #0x1f
+ add r1, r4, r1, asr #3
+ smull r1, r4, r6, r1
+ mov lr, #0x60
+ mov r5, #0xe0
+ sub r1, r8, r1
+ mov r7, #0x20
+ strh r1, [r0, #0xc]
+ mov ip, r3
+ mov r4, lr
+ mov r6, r5
+ mov r8, r7
+ mov r1, r2
+_020a9428:
+ add sb, r0, r1, lsl #1
+ ldrsh sl, [sb, #0x10]
+ ldrsh sb, [sb, #0x2c]
+ add r2, r2, sl
+ cmp sb, r3
+ movlt r3, sb
+ blt _020a944c
+ cmp sb, ip
+ movgt ip, sb
+_020a944c:
+ add sb, r0, r1, lsl #1
+ ldrsh sb, [sb, #0x48]
+ cmp sb, lr
+ movlt lr, sb
+ blt _020a9468
+ cmp sb, r4
+ movgt r4, sb
+_020a9468:
+ add sb, r0, r1, lsl #1
+ ldrsh fp, [sb, #0x48]
+ ldrsh sl, [sb, #0x2c]
+ add sb, sl, fp
+ sub sl, sl, fp
+ mov sb, sb, lsl #0x10
+ mov sl, sl, lsl #0x10
+ cmp r5, sb, asr #16
+ mov sb, sb, asr #0x10
+ mov sl, sl, asr #0x10
+ movgt r5, sb
+ bgt _020a94a0
+ cmp sb, r6
+ movgt r6, sb
+_020a94a0:
+ cmp sl, r7
+ movlt r7, sl
+ blt _020a94b4
+ cmp sl, r8
+ movgt r8, sl
+_020a94b4:
+ add r1, r1, #1
+ cmp r1, #0xe
+ blt _020a9428
+ sub r3, ip, r3
+ cmp r3, #0x32
+ subge r3, r4, lr
+ mov r1, #0
+ cmpge r3, #0x32
+ subge r3, r6, r5
+ cmpge r3, #0x46
+ subge r3, r8, r7
+ strb r1, [r0, #4]
+ cmpge r3, #0x46
+ ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
+ ldr r3, _020a952c ; =0xffff2aab
+ cmp r2, r3
+ bge _020a9508
+ mov r2, #1
+ strb r2, [r0, #4]
+ str r1, [r0, #8]
+ ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
+_020a9508:
+ rsb r1, r3, #0
+ cmp r2, r1
+ movgt r1, #1
+ strgtb r1, [r0, #4]
+ strgt r1, [r0, #8]
+ ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a9334
+_020a9520: .word 0xffffd555
+_020a9524: .word data_027e0d78
+_020a9528: .word 0x92492493
+_020a952c: .word 0xffff2aab
+
+ .global func_ov00_020a9530
+ arm_func_start func_ov00_020a9530
+func_ov00_020a9530: ; 0x020a9530
+ stmdb sp!, {r4, lr}
+ mov r4, r0
+ bl _ZN9SysObjectdlEPv
+ mov r0, r4
+ ldmia sp!, {r4, pc}
+ arm_func_end func_ov00_020a9530
+
+ .global func_ov00_020a9544
+ arm_func_start func_ov00_020a9544
+func_ov00_020a9544: ; 0x020a9544
+ bx lr
+ arm_func_end func_ov00_020a9544
+
+ .global func_ov00_020a9548
+ arm_func_start func_ov00_020a9548
+func_ov00_020a9548: ; 0x020a9548
+ bx lr
+ arm_func_end func_ov00_020a9548
+
+ .global func_ov00_020a954c
+ arm_func_start func_ov00_020a954c
+func_ov00_020a954c: ; 0x020a954c
+ mov r1, #0
+ strb r1, [r0, #4]
+ bx lr
+ arm_func_end func_ov00_020a954c
+
+ .global func_ov00_020a9558
+ arm_func_start func_ov00_020a9558
+func_ov00_020a9558: ; 0x020a9558
+ stmdb sp!, {r4, lr}
+ mov r4, r0
+ bl _ZN9SysObjectdlEPv
+ mov r0, r4
+ ldmia sp!, {r4, pc}
+ arm_func_end func_ov00_020a9558
+
+ .global func_ov00_020a956c
+ thumb_func_start func_ov00_020a956c
+func_ov00_020a956c: ; 0x020a956c
+ push {r4, lr}
+ ldr r2, _020a9584 ; =data_ov00_020e5820
+ add r4, r0, #0
+ str r2, [r4]
+ mov r2, #0
+ str r2, [r4, #0x58]
+ ldr r2, [r0]
+ ldr r2, [r2, #0xc]
+ blx r2
+ add r0, r4, #0
+ pop {r4, pc}
+ nop
+ thumb_func_end func_ov00_020a956c
+_020a9584: .word data_ov00_020e5820
+
+ .global func_ov00_020a9588
+ thumb_func_start func_ov00_020a9588
+func_ov00_020a9588: ; 0x020a9588
+ push {r4, lr}
+ ldr r2, _020a95a0 ; =data_ov00_020e5820
+ add r4, r0, #0
+ str r2, [r4]
+ mov r2, #0
+ str r2, [r4, #0x58]
+ ldr r2, [r0]
+ ldr r2, [r2, #0xc]
+ blx r2
+ add r0, r4, #0
+ pop {r4, pc}
+ nop
+ thumb_func_end func_ov00_020a9588
+_020a95a0: .word data_ov00_020e5820
+
+ .global func_ov00_020a95a4
+ thumb_func_start func_ov00_020a95a4
+func_ov00_020a95a4: ; 0x020a95a4
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, _020a95c0 ; =data_ov00_020e5820
+ str r0, [r4]
+ ldr r0, [r4, #0x58]
+ cmp r0, #0
+ beq _020a95b6
+ blx func_0202ea18
+_020a95b6:
+ add r0, r4, #0
+ bl func_ov00_020b3ea8
+ add r0, r4, #0
+ pop {r4, pc}
+ .align 2, 0
+ thumb_func_end func_ov00_020a95a4
+_020a95c0: .word data_ov00_020e5820
+
+ .global func_ov00_020a95c4
+ thumb_func_start func_ov00_020a95c4
+func_ov00_020a95c4: ; 0x020a95c4
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, _020a95e8 ; =data_ov00_020e5820
+ str r0, [r4]
+ ldr r0, [r4, #0x58]
+ cmp r0, #0
+ beq _020a95d6
+ blx func_0202ea18
+_020a95d6:
+ add r0, r4, #0
+ bl func_ov00_020b3ea8
+ add r0, r4, #0
+ blx _ZN9SysObjectdlEPv
+ add r0, r4, #0
+ pop {r4, pc}
+ nop
+ thumb_func_end func_ov00_020a95c4
+_020a95e8: .word data_ov00_020e5820
+
+ .global func_ov00_020a95ec
+ thumb_func_start func_ov00_020a95ec
+func_ov00_020a95ec: ; 0x020a95ec
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, _020a9608 ; =data_ov00_020e5820
+ str r0, [r4]
+ ldr r0, [r4, #0x58]
+ cmp r0, #0
+ beq _020a95fe
+ blx func_0202ea18
+_020a95fe:
+ add r0, r4, #0
+ bl func_ov00_020b3ea8
+ add r0, r4, #0
+ pop {r4, pc}
+ .align 2, 0
+ thumb_func_end func_ov00_020a95ec
+_020a9608: .word data_ov00_020e5820
+
+ .global func_ov00_020a960c
+ arm_func_start func_ov00_020a960c
+func_ov00_020a960c: ; 0x020a960c
+ ldr r0, [r0, #8]
+ bx lr
+ arm_func_end func_ov00_020a960c
+
+ .global func_ov00_020a9614
+ arm_func_start func_ov00_020a9614
+func_ov00_020a9614: ; 0x020a9614
+ ldr ip, _020a9620 ; =func_020189dc
+ add r0, r0, #4
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a9614
+_020a9620: .word func_020189dc
+
+ .global func_ov00_020a9624
+ arm_func_start func_ov00_020a9624
+func_ov00_020a9624: ; 0x020a9624
+ ldr r2, [r0, #0x58]
+ cmp r2, #0
+ movne r0, #0x58
+ mlane r0, r1, r0, r2
+ bxne lr
+ ldr r2, [r0, #0x38]
+ cmp r2, #0
+ movne r0, #0x58
+ mlane r0, r1, r0, r2
+ moveq r0, #0
+ bx lr
+ arm_func_end func_ov00_020a9624
+
+ .global func_ov00_020a9650
+ arm_func_start func_ov00_020a9650
+func_ov00_020a9650: ; 0x020a9650
+ stmdb sp!, {r4, r5, r6, lr}
+ mov r6, r0
+ mov r0, r1
+ mov r5, r2
+ mov r4, r3
+ bl func_020183b4
+ ldr r1, _020a96c4 ; =data_027e0438
+ mov r0, r5
+ bl func_020079d8
+ ldr r1, _020a96c8 ; =data_027e037c
+ mov r0, r4
+ ldr r2, [r1, #0xfc]
+ bic r2, r2, #0xa4
+ str r2, [r1, #0xfc]
+ bl func_0201838c
+ mov r0, r6
+ ldr r1, [r0]
+ ldr r1, [r1, #0x1c]
+ blx r1
+ ldr r0, _020a96cc ; =data_027e016c
+ bl func_020183b4
+ ldr r0, _020a96d0 ; =data_027e0194
+ ldr r1, _020a96c4 ; =data_027e0438
+ bl func_020079d8
+ ldr r0, _020a96c8 ; =data_027e037c
+ ldr r1, [r0, #0xfc]
+ bic r1, r1, #0xa4
+ str r1, [r0, #0xfc]
+ ldmia sp!, {r4, r5, r6, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a9650
+_020a96c4: .word data_027e0438
+_020a96c8: .word data_027e037c
+_020a96cc: .word data_027e016c
+_020a96d0: .word data_027e0194
+
+ .global func_ov00_020a96d4
+ arm_func_start func_ov00_020a96d4
+func_ov00_020a96d4: ; 0x020a96d4
+ stmdb sp!, {r3, r4, r5, lr}
+ mov r5, r0
+ mov r0, r1
+ ldr r1, _020a9734 ; =data_027e0438
+ mov r4, r2
+ bl func_020079d8
+ ldr r1, _020a9738 ; =data_027e037c
+ mov r0, r4
+ ldr r2, [r1, #0xfc]
+ bic r2, r2, #0xa4
+ str r2, [r1, #0xfc]
+ bl func_0201838c
+ mov r0, r5
+ ldr r1, [r0]
+ ldr r1, [r1, #0x1c]
+ blx r1
+ ldr r0, _020a973c ; =data_027e0194
+ ldr r1, _020a9734 ; =data_027e0438
+ bl func_020079d8
+ ldr r0, _020a9738 ; =data_027e037c
+ ldr r1, [r0, #0xfc]
+ bic r1, r1, #0xa4
+ str r1, [r0, #0xfc]
+ ldmia sp!, {r3, r4, r5, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a96d4
+_020a9734: .word data_027e0438
+_020a9738: .word data_027e037c
+_020a973c: .word data_027e0194
+
+ .global func_ov00_020a9740
+ arm_func_start func_ov00_020a9740
+func_ov00_020a9740: ; 0x020a9740
+ stmdb sp!, {r4, lr}
+ mov r4, r0
+ mov r0, r1
+ bl func_0201838c
+ mov r0, r4
+ ldr r1, [r0]
+ ldr r1, [r1, #0x1c]
+ blx r1
+ ldmia sp!, {r4, pc}
+ arm_func_end func_ov00_020a9740
+
+ .global func_ov00_020a9764
+ arm_func_start func_ov00_020a9764
+func_ov00_020a9764: ; 0x020a9764
+ stmdb sp!, {r4, lr}
+ ldr r1, _020a97c0 ; =data_027e045c
+ mov r4, r0
+ mov r0, #0x1c
+ mov r2, #3
+ bl func_01ffa9fc
+ ldr r1, _020a97c4 ; =data_027e0438
+ mov r0, #0x1a
+ mov r2, #9
+ bl func_01ffa9fc
+ ldr r1, _020a97c8 ; =data_027e0468
+ mov r0, #0x1b
+ mov r2, #3
+ bl func_01ffa9fc
+ mov r0, r4
+ ldr r1, [r0]
+ ldr r1, [r1, #0x20]
+ blx r1
+ mov r0, #0x17
+ ldr r1, _020a97cc ; =data_027e03c8
+ mov r2, #0xc
+ bl func_01ffa9fc
+ ldmia sp!, {r4, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a9764
+_020a97c0: .word data_027e045c
+_020a97c4: .word data_027e0438
+_020a97c8: .word data_027e0468
+_020a97cc: .word data_027e03c8
+
+ .global func_ov00_020a97d0
+ arm_func_start func_ov00_020a97d0
+func_ov00_020a97d0: ; 0x020a97d0
+ ldr ip, _020a97dc ; =func_02019ae8
+ add r0, r0, #4
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a97d0
+_020a97dc: .word func_02019ae8
+
+ .global func_ov00_020a97e0
+ arm_func_start func_ov00_020a97e0
+func_ov00_020a97e0: ; 0x020a97e0
+ ldr ip, _020a97f4 ; =func_ov00_020c0d70
+ mov r2, r0
+ mov r0, r1
+ add r1, r2, #4
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020a97e0
+_020a97f4: .word func_ov00_020c0d70
+
+ .global func_ov00_020a97f8
+ arm_func_start func_ov00_020a97f8
+func_ov00_020a97f8: ; 0x020a97f8
+ stmdb sp!, {r4, lr}
+ mov r4, r0
+ ldr r1, [r4, #0x14]
+ cmp r1, #0
+ beq _020a9820
+_020a980c:
+ add r0, r4, #4
+ bl func_02018c3c
+ ldr r1, [r4, #0x14]
+ cmp r1, #0
+ bne _020a980c
+_020a9820:
+ ldr r1, [r4, #0xc]
+ cmp r1, #0
+ beq _020a9840
+_020a982c:
+ add r0, r4, #4
+ bl func_02018c3c
+ ldr r1, [r4, #0xc]
+ cmp r1, #0
+ bne _020a982c
+_020a9840:
+ ldr r1, [r4, #0x1c]
+ cmp r1, #0
+ ldmeqia sp!, {r4, pc}
+_020a984c:
+ add r0, r4, #4
+ bl func_02018c3c
+ ldr r1, [r4, #0x1c]
+ cmp r1, #0
+ bne _020a984c
+ ldmia sp!, {r4, pc}
+ arm_func_end func_ov00_020a97f8
+
+ .global func_ov00_020a9864
+ arm_func_start func_ov00_020a9864
+func_ov00_020a9864: ; 0x020a9864
+ stmdb sp!, {r4, lr}
+ mov r4, r0
+ ldr r1, [r4, #0x14]
+ cmp r1, #0
+ ldmeqia sp!, {r4, pc}
+_020a9878:
+ add r0, r4, #4
+ bl func_02018c3c
+ ldr r1, [r4, #0x14]
+ cmp r1, #0
+ bne _020a9878
+ ldmia sp!, {r4, pc}
+ arm_func_end func_ov00_020a9864
+
+ .global func_ov00_020a9890
+ arm_func_start func_ov00_020a9890
+func_ov00_020a9890: ; 0x020a9890
+ stmdb sp!, {r4, lr}
+ mov r4, r0
+ ldr r1, [r4, #0x1c]
+ cmp r1, #0
+ ldmeqia sp!, {r4, pc}
+_020a98a4:
+ add r0, r4, #4
+ bl func_02018c3c
+ ldr r1, [r4, #0x1c]
+ cmp r1, #0
+ bne _020a98a4
+ ldmia sp!, {r4, pc}
+ arm_func_end func_ov00_020a9890
+
+ .global func_ov00_020a98bc
+ arm_func_start func_ov00_020a98bc
+func_ov00_020a98bc: ; 0x020a98bc
+ stmdb sp!, {r4, lr}
+ mov r4, r0
+ ldr r1, [r4, #0xc]
+ cmp r1, #0
+ ldmeqia sp!, {r4, pc}
+_020a98d0:
+ add r0, r4, #4
+ bl func_02018c3c
+ ldr r1, [r4, #0xc]
+ cmp r1, #0
+ bne _020a98d0
+ ldmia sp!, {r4, pc}
+ arm_func_end func_ov00_020a98bc
+
+ .global func_ov00_020a98e8
+ arm_func_start func_ov00_020a98e8
+func_ov00_020a98e8: ; 0x020a98e8
+ stmdb sp!, {r4, lr}
+ ldr r2, [r0]
+ mov r4, r1
+ ldr r2, [r2, #8]
+ blx r2
+ mov r1, r4
+ add r0, r0, #0x40
+ bl func_0201e388
+ ldmia sp!, {r4, pc}
+ arm_func_end func_ov00_020a98e8
+
+ .global func_ov00_020a990c
+ arm_func_start func_ov00_020a990c
+func_ov00_020a990c: ; 0x020a990c
+ stmdb sp!, {r4, lr}
+ ldr r2, [r0]
+ mov r4, r1
+ ldr r2, [r2, #8]
+ blx r2
+ ldr r2, [r0, #8]
+ mov r1, r4
+ add r0, r0, r2
+ add r0, r0, #4
+ bl func_0201e388
+ ldmia sp!, {r4, pc}
+ arm_func_end func_ov00_020a990c
+
+ .global func_ov00_020a9938
+ thumb_func_start func_ov00_020a9938
+func_ov00_020a9938: ; 0x020a9938
+ push {r4, r5, r6, lr}
+ add r6, r1, #0
+ ldr r1, _020a995c ; =data_027e0ce0
+ add r5, r0, #0
+ ldr r4, [r1, #4]
+ blx func_ov00_020b3eac
+ ldrb r1, [r0, #3]
+ mov r0, #0x58
+ add r2, r6, #0
+ mul r0, r1
+ add r1, r4, #0
+ blx func_0202e9f4
+ str r0, [r5, #0x58]
+ str r0, [r5, #0x38]
+ pop {r4, r5, r6, pc}
+ nop
+ thumb_func_end func_ov00_020a9938
+_020a995c: .word data_027e0ce0
+
+ .global func_ov00_020a9960
+ arm_func_start func_ov00_020a9960
+func_ov00_020a9960: ; 0x020a9960
+ str r1, [r0, #0x38]
+ bx lr
+ arm_func_end func_ov00_020a9960
+
+ .global func_ov00_020a9968
+ arm_func_start func_ov00_020a9968
+func_ov00_020a9968: ; 0x020a9968
+ stmdb sp!, {r4, lr}
+ mov r4, r0
+ ldr r1, [r4, #4]
+ add r0, r4, #4
+ orr r1, r1, #3
+ str r1, [r4, #4]
+ bl func_02019ae8
+ ldr r0, [r4, #4]
+ bic r0, r0, #2
+ str r0, [r4, #4]
+ ldmia sp!, {r4, pc}
+ arm_func_end func_ov00_020a9968
+
+ .global func_ov00_020a9994
+ arm_func_start func_ov00_020a9994
+func_ov00_020a9994: ; 0x020a9994
+ bx lr
+ arm_func_end func_ov00_020a9994
+
+ .global func_ov00_020a9998
+ arm_func_start func_ov00_020a9998
+func_ov00_020a9998: ; 0x020a9998
+ stmdb sp!, {r3, lr}
+ str r0, [r0, #0x30]
+ mov r3, r1
+ str r2, [sp]
+ ldr r1, _020a99bc ; =func_ov00_020a99c0
+ add r0, r0, #4
+ mov r2, #0
+ bl func_02018c90
+ ldmia sp!, {r3, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a9998
+_020a99bc: .word func_ov00_020a99c0 - 1
+
+ .global func_ov00_020a99c0
+ arm_func_start func_ov00_020a99c0
+func_ov00_020a99c0: ; 0x020a99c0
+ stmdb sp!, {r3, lr}
+ mov r1, r0
+ ldr r0, [r1, #4]
+ ldr r0, [r0, #0x2c]
+ ldr r2, [r0]
+ ldr r2, [r2, #0x3c]
+ blx r2
+ ldmia sp!, {r3, pc}
+ arm_func_end func_ov00_020a99c0
+
+ .global func_ov00_020a99e0
+ thumb_func_start func_ov00_020a99e0
+func_ov00_020a99e0: ; 0x020a99e0
+ push {r4, r5, r6, lr}
+ add r4, r1, #0
+ add r6, r2, #0
+ mov r1, #0
+ add r2, r4, #0
+ add r5, r0, #0
+ bl func_ov00_020c0c08
+ ldr r0, _020a9a18 ; =data_ov00_020e5868
+ mov r1, #3
+ str r0, [r5]
+ ldrb r0, [r4, #0x17]
+ add r2, r6, #0
+ lsl r0, r0, #1
+ add r0, #0x1c
+ bic r0, r1
+ ldr r1, _020a9a1c ; =data_027e0ce0
+ ldr r1, [r1, #4]
+ blx func_0202e9f4
+ str r0, [r5, #4]
+ mov r1, #0
+ str r1, [r0, #8]
+ mov r0, #1
+ strh r0, [r5, #0xc]
+ add r0, r5, #0
+ pop {r4, r5, r6, pc}
+ nop
+ thumb_func_end func_ov00_020a99e0
+_020a9a18: .word data_ov00_020e5868
+_020a9a1c: .word data_027e0ce0
+
+ .global func_ov00_020a9a20
+ thumb_func_start func_ov00_020a9a20
+func_ov00_020a9a20: ; 0x020a9a20
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, _020a9a3c ; =data_ov00_020e5868
+ str r0, [r4]
+ ldr r0, [r4, #4]
+ cmp r0, #0
+ beq _020a9a32
+ blx func_0202ea18
+_020a9a32:
+ add r0, r4, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ pop {r4, pc}
+ .align 2, 0
+ thumb_func_end func_ov00_020a9a20
+_020a9a3c: .word data_ov00_020e5868
+
+ .global func_ov00_020a9a40
+ thumb_func_start func_ov00_020a9a40
+func_ov00_020a9a40: ; 0x020a9a40
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, _020a9a64 ; =data_ov00_020e5868
+ str r0, [r4]
+ ldr r0, [r4, #4]
+ cmp r0, #0
+ beq _020a9a52
+ blx func_0202ea18
+_020a9a52:
+ add r0, r4, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ blx _ZN9SysObjectdlEPv
+ add r0, r4, #0
+ pop {r4, pc}
+ nop
+ thumb_func_end func_ov00_020a9a40
+_020a9a64: .word data_ov00_020e5868
+
+ .global func_ov00_020a9a68
+ thumb_func_start func_ov00_020a9a68
+func_ov00_020a9a68: ; 0x020a9a68
+ push {r3, r4, r5, lr}
+ add r5, r0, #0
+ add r0, r1, #0
+ ldr r1, [r5, #8]
+ add r4, r2, #0
+ blx func_02018884
+ ldr r1, _020a9a88 ; =data_027e0ce0
+ add r2, r4, #0
+ ldr r1, [r1, #4]
+ blx func_0202e9f4
+ str r0, [r5, #4]
+ mov r1, #0
+ str r1, [r0, #8]
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+ thumb_func_end func_ov00_020a9a68
+_020a9a88: .word data_027e0ce0
+
+ .global func_ov00_020a9a8c
+ thumb_func_start func_ov00_020a9a8c
+func_ov00_020a9a8c: ; 0x020a9a8c
+ push {r4, lr}
+ add r4, r0, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ pop {r4, pc}
+ thumb_func_end func_ov00_020a9a8c
+
+ .global func_ov00_020a9a98
+ thumb_func_start func_ov00_020a9a98
+func_ov00_020a9a98: ; 0x020a9a98
+ push {r4, lr}
+ add r4, r0, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ blx _ZN9SysObjectdlEPv
+ add r0, r4, #0
+ pop {r4, pc}
+ .align 2, 0
+ thumb_func_end func_ov00_020a9a98
+
+ .global func_ov00_020a9aac
+ thumb_func_start func_ov00_020a9aac
+func_ov00_020a9aac: ; 0x020a9aac
+ push {r4, lr}
+ add r4, r0, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ pop {r4, pc}
+ thumb_func_end func_ov00_020a9aac
+
+ .global func_ov00_020a9ab8
+ thumb_func_start func_ov00_020a9ab8
+func_ov00_020a9ab8: ; 0x020a9ab8
+ push {r4, lr}
+ add r4, r0, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ blx _ZN9SysObjectdlEPv
+ add r0, r4, #0
+ pop {r4, pc}
+ .align 2, 0
+ thumb_func_end func_ov00_020a9ab8
+
+ .global func_ov00_020a9acc
+ thumb_func_start func_ov00_020a9acc
+func_ov00_020a9acc: ; 0x020a9acc
+ push {r4, lr}
+ add r4, r0, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ pop {r4, pc}
+ thumb_func_end func_ov00_020a9acc
+
+ .global func_ov00_020a9ad8
+ thumb_func_start func_ov00_020a9ad8
+func_ov00_020a9ad8: ; 0x020a9ad8
+ push {r4, lr}
+ add r4, r0, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ blx _ZN9SysObjectdlEPv
+ add r0, r4, #0
+ pop {r4, pc}
+ .align 2, 0
+ thumb_func_end func_ov00_020a9ad8
+
+ .global func_ov00_020a9aec
+ thumb_func_start func_ov00_020a9aec
+func_ov00_020a9aec: ; 0x020a9aec
+ push {r4, lr}
+ add r4, r0, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ pop {r4, pc}
+ thumb_func_end func_ov00_020a9aec
+
+ .global func_ov00_020a9af8
+ thumb_func_start func_ov00_020a9af8
+func_ov00_020a9af8: ; 0x020a9af8
+ push {r4, lr}
+ add r4, r0, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ blx _ZN9SysObjectdlEPv
+ add r0, r4, #0
+ pop {r4, pc}
+ .align 2, 0
+ thumb_func_end func_ov00_020a9af8
+
+ .global func_ov00_020a9b0c
+ thumb_func_start func_ov00_020a9b0c
+func_ov00_020a9b0c: ; 0x020a9b0c
+ push {r4, lr}
+ add r4, r0, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ pop {r4, pc}
+ thumb_func_end func_ov00_020a9b0c
+
+ .global func_ov00_020a9b18
+ thumb_func_start func_ov00_020a9b18
+func_ov00_020a9b18: ; 0x020a9b18
+ push {r4, lr}
+ add r4, r0, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ blx _ZN9SysObjectdlEPv
+ add r0, r4, #0
+ pop {r4, pc}
+ .align 2, 0
+ thumb_func_end func_ov00_020a9b18
+
+ .global func_ov00_020a9b2c
+ thumb_func_start func_ov00_020a9b2c
+func_ov00_020a9b2c: ; 0x020a9b2c
+ push {r4, lr}
+ add r4, r0, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ pop {r4, pc}
+ thumb_func_end func_ov00_020a9b2c
+
+ .global func_ov00_020a9b38
+ thumb_func_start func_ov00_020a9b38
+func_ov00_020a9b38: ; 0x020a9b38
+ push {r4, lr}
+ add r4, r0, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ blx _ZN9SysObjectdlEPv
+ add r0, r4, #0
+ pop {r4, pc}
+ .align 2, 0
+ thumb_func_end func_ov00_020a9b38
+
+ .global func_ov00_020a9b4c
+ thumb_func_start func_ov00_020a9b4c
+func_ov00_020a9b4c: ; 0x020a9b4c
+ push {r4, lr}
+ add r4, r0, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ pop {r4, pc}
+ thumb_func_end func_ov00_020a9b4c
+
+ .global func_ov00_020a9b58
+ thumb_func_start func_ov00_020a9b58
+func_ov00_020a9b58: ; 0x020a9b58
+ push {r4, lr}
+ add r4, r0, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ blx _ZN9SysObjectdlEPv
+ add r0, r4, #0
+ pop {r4, pc}
+ .align 2, 0
+ thumb_func_end func_ov00_020a9b58
+
+ .global func_ov00_020a9b6c
+ thumb_func_start func_ov00_020a9b6c
+func_ov00_020a9b6c: ; 0x020a9b6c
+ push {r4, lr}
+ add r4, r0, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ pop {r4, pc}
+ thumb_func_end func_ov00_020a9b6c
+
+ .global func_ov00_020a9b78
+ thumb_func_start func_ov00_020a9b78
+func_ov00_020a9b78: ; 0x020a9b78
+ push {r4, lr}
+ add r4, r0, #0
+ bl func_ov00_020c0c40
+ add r0, r4, #0
+ blx _ZN9SysObjectdlEPv
+ add r0, r4, #0
+ pop {r4, pc}
+ .align 2, 0
+ thumb_func_end func_ov00_020a9b78
+
+ .global func_ov00_020a9b8c
+ arm_func_start func_ov00_020a9b8c
+func_ov00_020a9b8c: ; 0x020a9b8c
+ stmdb sp!, {r4, lr}
+ ldr r1, _020a9bb4 ; =data_ov00_020e5878
+ mov r4, r0
+ str r1, [r4]
+ ldr r0, [r4, #0x98]
+ bl func_0202ea18
+ mov r0, r4
+ blx func_ov00_020a95ec
+ mov r0, r4
+ ldmia sp!, {r4, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a9b8c
+_020a9bb4: .word data_ov00_020e5878
+
+ .global func_ov00_020a9bb8
+ arm_func_start func_ov00_020a9bb8
+func_ov00_020a9bb8: ; 0x020a9bb8
+ stmdb sp!, {r4, lr}
+ ldr r1, _020a9be8 ; =data_ov00_020e5878
+ mov r4, r0
+ str r1, [r4]
+ ldr r0, [r4, #0x98]
+ bl func_0202ea18
+ mov r0, r4
+ blx func_ov00_020a95ec
+ mov r0, r4
+ bl _ZN9SysObjectdlEPv
+ mov r0, r4
+ ldmia sp!, {r4, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a9bb8
+_020a9be8: .word data_ov00_020e5878
+
+ .global func_ov00_020a9bec
+ arm_func_start func_ov00_020a9bec
+func_ov00_020a9bec: ; 0x020a9bec
+ stmdb sp!, {r3, lr}
+ cmp r1, #0
+ beq _020a9c08
+ mov r1, #6
+ mov r2, #3
+ bl func_ov00_020a9998
+ ldmia sp!, {r3, pc}
+_020a9c08:
+ add r0, r0, #4
+ bl func_02018ca4
+ ldmia sp!, {r3, pc}
+ arm_func_end func_ov00_020a9bec
+
+ .global func_ov00_020a9c14
+ arm_func_start func_ov00_020a9c14
+func_ov00_020a9c14: ; 0x020a9c14
+ stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
+ sub sp, sp, #0x94
+ mov r8, r2
+ movs sb, r1
+ cmpeq r8, #0
+ mov sl, r0
+ addeq sp, sp, #0x94
+ ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
+ ldr r1, [sl, #0x68]
+ mov r0, sl
+ bl func_ov00_020a9624
+ ldr r5, [sl, #8]
+ mov r6, r0
+ ldr r4, [r5, #4]
+ ldr r7, [sl, #0x68]
+ mvn r1, #0
+ add r0, sp, #0x70
+ str r1, [sp]
+ bl func_01ff80d4
+ add fp, sp, #0
+ b _020a9c94
+_020a9c68:
+ mov r0, sl
+ bl func_ov00_020a9624
+ mov r1, r0
+ ldr r0, [r1]
+ ldr r7, [sp]
+ tst r0, #2
+ bne _020a9c94
+ add r0, sp, #0x70
+ mov r2, r0
+ add r1, r1, #0x28
+ bl func_01ff8690
+_020a9c94:
+ mov r0, fp
+ mov r2, r7
+ add r1, r5, r4
+ bl func_0201b2f8
+ cmp r0, #0
+ ldrne r1, [sp]
+ cmpne r1, r7
+ bne _020a9c68
+ add r0, sp, #0x70
+ add r1, sp, #0x4c
+ bl func_01ff83a0
+ cmp r0, #0
+ mov r0, sb, asr #0x4
+ bne _020a9d48
+ mov r2, r0, lsl #0x1
+ add r0, r2, #1
+ ldr r1, _020a9dbc ; =data_02050f54
+ mov r2, r2, lsl #0x1
+ mov r0, r0, lsl #0x1
+ ldrsh r3, [r1, r0]
+ ldrsh r2, [r1, r2]
+ add r0, sp, #0x28
+ add r1, sp, #0x4c
+ bl func_01ff8248
+ add r0, r6, #0x28
+ add r1, sp, #0x28
+ mov r2, r0
+ bl func_01ff8690
+ mov r0, r8, asr #0x4
+ mov r2, r0, lsl #0x1
+ add r0, r2, #1
+ ldr r1, _020a9dbc ; =data_02050f54
+ mov r2, r2, lsl #0x1
+ mov r0, r0, lsl #0x1
+ ldrsh r3, [r1, r0]
+ ldrsh r2, [r1, r2]
+ add r0, sp, #0x28
+ add r1, sp, #0x58
+ bl func_01ff8248
+ add r0, r6, #0x28
+ add r1, sp, #0x28
+ mov r2, r0
+ bl func_01ff8690
+ add sp, sp, #0x94
+ ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
+_020a9d48:
+ mov r1, r0, lsl #0x1
+ add r0, r1, #1
+ ldr r2, _020a9dbc ; =data_02050f54
+ mov r1, r1, lsl #0x1
+ mov r0, r0, lsl #0x1
+ ldrsh r1, [r2, r1]
+ ldrsh r2, [r2, r0]
+ add r0, sp, #4
+ blx func_01ff8230
+ add r0, r6, #0x28
+ add r1, sp, #4
+ mov r2, r0
+ bl func_01ff8690
+ mov r0, r8, asr #0x4
+ mov r1, r0, lsl #0x1
+ add r0, r1, #1
+ ldr r2, _020a9dbc ; =data_02050f54
+ mov r1, r1, lsl #0x1
+ mov r0, r0, lsl #0x1
+ ldrsh r1, [r2, r1]
+ ldrsh r2, [r2, r0]
+ add r0, sp, #4
+ blx func_01ff81f8
+ add r0, r6, #0x28
+ add r1, sp, #4
+ mov r2, r0
+ bl func_01ff8690
+ add sp, sp, #0x94
+ ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020a9c14
+_020a9dbc: .word data_02050f54
+
+ .global func_ov00_020a9dc0
+ arm_func_start func_ov00_020a9dc0
+func_ov00_020a9dc0: ; 0x020a9dc0
+ stmdb sp!, {r3, r4, r5, r6, r7, lr}
+ movs r6, r1
+ mov r7, r0
+ ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
+ mov r0, r6
+ mov r5, #0
+ bl func_ov00_020c0e94
+ cmp r0, #0
+ bls _020a9e10
+ mov r4, #1
+_020a9de8:
+ mov r0, r6
+ mov r1, r5
+ mov r2, r4
+ bl func_ov00_020c0ea0
+ add r1, r5, #1
+ mov r0, r6
+ and r5, r1, #0xff
+ bl func_ov00_020c0e94
+ cmp r5, r0
+ blo _020a9de8
+_020a9e10:
+ mov r0, r7
+ ldr r2, [r0]
+ mov r1, r6
+ ldr r2, [r2, #0x24]
+ blx r2
+ ldmia sp!, {r3, r4, r5, r6, r7, pc}
+ arm_func_end func_ov00_020a9dc0
+
+ .global func_ov00_020a9e28
+ arm_func_start func_ov00_020a9e28
+func_ov00_020a9e28: ; 0x020a9e28
+ stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
+ movs r6, r1
+ mov r7, r0
+ ldrne r0, [r6, #4]
+ mov r5, r2
+ ldrne r0, [r0, #8]
+ cmpne r0, #0
+ ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
+ mov r0, r6
+ mov r4, #0
+ bl func_ov00_020c0e94
+ cmp r0, #0
+ bls _020a9e9c
+ mov r8, r4
+ mov sb, #1
+_020a9e64:
+ ldr r0, [r7, #0x98]
+ mov r1, r4
+ ldrb r0, [r0, r4]
+ cmp r5, r0
+ moveq r2, sb
+ movne r2, r8
+ mov r0, r6
+ bl func_ov00_020c0ea0
+ add r1, r4, #1
+ mov r0, r6
+ and r4, r1, #0xff
+ bl func_ov00_020c0e94
+ cmp r4, r0
+ blo _020a9e64
+_020a9e9c:
+ mov r0, r7
+ ldr r2, [r0]
+ mov r1, r6
+ ldr r2, [r2, #0x24]
+ blx r2
+ ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
+ arm_func_end func_ov00_020a9e28
+
+ .global func_ov00_020a9eb4
+ arm_func_start func_ov00_020a9eb4
+func_ov00_020a9eb4: ; 0x020a9eb4
+ bx lr
+ arm_func_end func_ov00_020a9eb4
+
+ .global func_ov00_020a9eb8
+ arm_func_start func_ov00_020a9eb8
+func_ov00_020a9eb8: ; 0x020a9eb8
+ stmdb sp!, {r3, lr}
+ ldr r3, [r0, #4]
+ add r1, sp, #0
+ mov r0, #0x13
+ mov r2, #1
+ str r3, [sp]
+ bl func_01ffa9fc
+ ldmia sp!, {r3, pc}
+ arm_func_end func_ov00_020a9eb8
+
+ .global func_ov00_020a9ed8
+ arm_func_start func_ov00_020a9ed8
+func_ov00_020a9ed8: ; 0x020a9ed8
+ stmdb sp!, {r4, lr}
+ sub sp, sp, #0x30
+ mov r4, r0
+ add r0, sp, #0
+ mov r1, #0
+ bl func_0201b1bc
+ bl func_02018450
+ mov r1, r0
+ ldr r2, [r4, #4]
+ add r0, sp, #0
+ bl func_01ff8e84
+ add sp, sp, #0x30
+ ldmia sp!, {r4, pc}
+ arm_func_end func_ov00_020a9ed8
+
+ .global func_ov00_020a9f0c
+ arm_func_start func_ov00_020a9f0c
+func_ov00_020a9f0c: ; 0x020a9f0c
+ bx lr
+ arm_func_end func_ov00_020a9f0c
+
+ .global func_ov00_020a9f10
+ arm_func_start func_ov00_020a9f10
+func_ov00_020a9f10: ; 0x020a9f10
+ stmdb sp!, {r4, r5, lr}
+ sub sp, sp, #0x3c
+ ldr r2, [r1, #8]
+ mov r5, r0
+ tst r2, #0x10
+ ldrneb r4, [r1, #0xae]
+ ldr r0, [r5, #0x70]
+ mvneq r4, #0
+ cmp r4, r0
+ bne _020a9f54
+ mov r3, #0x1d
+ add r1, sp, #8
+ mov r0, #0x13
+ mov r2, #1
+ str r3, [sp, #8]
+ bl func_01ffa9fc
+ b _020aa044
+_020a9f54:
+ ldr r0, [r5, #0x74]
+ cmp r4, r0
+ bne _020a9f7c
+ mov r3, #0x1e
+ add r1, sp, #4
+ mov r0, #0x13
+ mov r2, #1
+ str r3, [sp, #4]
+ bl func_01ffa9fc
+ b _020aa044
+_020a9f7c:
+ ldr r0, [r5, #0x6c]
+ cmp r4, r0
+ bne _020a9fa4
+ mov r3, #0x1c
+ add r1, sp, #0
+ mov r0, #0x13
+ mov r2, #1
+ str r3, [sp]
+ bl func_01ffa9fc
+ b _020aa044
+_020a9fa4:
+ ldr r0, [r5, #0x9c]
+ cmp r0, #0
+ beq _020aa044
+ ldr r0, [r5, #0x78]
+ cmp r4, r0
+ bne _020a9fe0
+ add r0, sp, #0xc
+ mov r1, #0
+ bl func_0201b1bc
+ bl func_02018450
+ mov r1, r0
+ ldr r2, [r5, #0x9c]
+ add r0, sp, #0xc
+ bl func_01ff8e84
+ b _020aa044
+_020a9fe0:
+ ldr r0, [r5, #0x7c]
+ cmp r4, r0
+ bne _020aa014
+ add r0, sp, #0xc
+ mov r1, #0
+ bl func_0201b1bc
+ bl func_02018450
+ ldr r2, [r5, #0x9c]
+ mov r1, r0
+ add r0, sp, #0xc
+ add r2, r2, #0x30
+ bl func_01ff8e84
+ b _020aa044
+_020aa014:
+ ldr r0, [r5, #0x80]
+ cmp r4, r0
+ bne _020aa044
+ add r0, sp, #0xc
+ mov r1, #0
+ bl func_0201b1bc
+ bl func_02018450
+ ldr r2, [r5, #0x9c]
+ mov r1, r0
+ add r0, sp, #0xc
+ add r2, r2, #0x60
+ bl func_01ff8e84
+_020aa044:
+ ldr r0, [r5, #0xa0]
+ cmp r0, #0
+ addeq sp, sp, #0x3c
+ ldmeqia sp!, {r4, r5, pc}
+ add r0, sp, #0xc
+ mov r1, #0
+ bl func_0201b1bc
+ bl func_02018450
+ mov r1, r0
+ ldr r2, [r5, #0xa0]
+ mov r0, #0x30
+ mla r2, r4, r0, r2
+ add r0, sp, #0xc
+ bl func_01ff8e84
+ add sp, sp, #0x3c
+ ldmia sp!, {r4, r5, pc}
+ arm_func_end func_ov00_020a9f10
+
+ .global func_ov00_020aa084
+ arm_func_start func_ov00_020aa084
+func_ov00_020aa084: ; 0x020aa084
+ stmdb sp!, {r3, r4, r5, r6, r7, lr}
+ sub sp, sp, #0x80
+ mov r4, r0
+ ldr r3, [r4, #8]
+ mov r6, r1
+ ldr r1, [r3, #4]
+ add r0, sp, #0
+ mov r2, r6
+ add r1, r3, r1
+ bl func_0201b35c
+ mov r5, r0
+ cmp r5, #0
+ ldr r0, [r4, #0x98]
+ mov r1, #1
+ strb r1, [r0, r6]
+ mov r6, #0
+ addle sp, sp, #0x80
+ ldmleia sp!, {r3, r4, r5, r6, r7, pc}
+ add r7, sp, #0
+_020aa0d0:
+ ldrb r1, [r7], #1
+ mov r0, r4
+ bl func_ov00_020aa084
+ add r6, r6, #1
+ cmp r6, r5
+ blt _020aa0d0
+ add sp, sp, #0x80
+ ldmia sp!, {r3, r4, r5, r6, r7, pc}
+ arm_func_end func_ov00_020aa084
+
+ .global func_ov00_020aa0f0
+ arm_func_start func_ov00_020aa0f0
+func_ov00_020aa0f0: ; 0x020aa0f0
+ stmdb sp!, {r3, r4, r5, lr}
+ add r1, r0, r1, lsl #2
+ ldr r4, [r1, #0x84]
+ mov r5, r2
+ cmp r4, #0
+ ldmltia sp!, {r3, r4, r5, pc}
+ ldr r1, [r0]
+ ldr r1, [r1, #8]
+ blx r1
+ mov r1, r4
+ mov r2, r5
+ bl func_02019570
+ ldmia sp!, {r3, r4, r5, pc}
+ arm_func_end func_ov00_020aa0f0
+
+ .global func_ov00_020aa124
+ arm_func_start func_ov00_020aa124
+func_ov00_020aa124: ; 0x020aa124
+ stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
+ mov r8, r0
+ ldr r4, [r8, #0x94]
+ mov r7, r1
+ mov r6, r2
+ mov r5, r3
+ cmp r4, #0
+ ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
+ ldr r1, [r0]
+ ldr r1, [r1, #8]
+ blx r1
+ mov r1, r4
+ mov r2, r6
+ bl func_02019570
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r1, [r1, #8]
+ blx r1
+ ldr r1, [r8, #0x94]
+ mov r2, #0
+ bl func_020193f0
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r1, [r1, #8]
+ blx r1
+ ldr r1, [r8, #0x94]
+ mov r2, #0
+ bl func_02019434
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r1, [r1, #8]
+ blx r1
+ ldr r1, [r8, #0x94]
+ mov r2, r7
+ bl func_02019478
+ ldr r0, _020aa328 ; =data_ov00_020e9360
+ mov r1, #1
+ bl func_ov00_02079e68
+ mov r4, r0
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r1, [r1, #8]
+ blx r1
+ ldr r1, [r8, #0x94]
+ mov r2, r4
+ bl func_02019534
+ ldr sb, [r8, #0x84]
+ cmp sb, #0
+ blt _020aa280
+ mov r0, r8
+ ldr r1, [r0]
+ cmp r5, #0
+ movne r5, r6
+ ldr r1, [r1, #8]
+ moveq r5, #0
+ blx r1
+ mov r1, sb
+ mov r2, r5
+ bl func_02019570
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r1, [r1, #8]
+ blx r1
+ ldr r1, [r8, #0x84]
+ mov r2, #0
+ bl func_020193f0
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r1, [r1, #8]
+ blx r1
+ ldr r1, [r8, #0x84]
+ mov r2, #0
+ bl func_02019434
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r1, [r1, #8]
+ blx r1
+ ldr r1, [r8, #0x84]
+ mov r2, r7
+ bl func_02019478
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r1, [r1, #8]
+ blx r1
+ ldr r1, [r8, #0x84]
+ mov r2, r4
+ bl func_02019534
+_020aa280:
+ ldr r5, [r8, #0x8c]
+ cmp r5, #0
+ ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
+ ldrb r0, [sp, #0x20]
+ cmp r0, #0
+ mov r0, r8
+ ldr r1, [r0]
+ moveq r6, #0
+ ldr r1, [r1, #8]
+ blx r1
+ mov r1, r5
+ mov r2, r6
+ bl func_02019570
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r1, [r1, #8]
+ blx r1
+ ldr r1, [r8, #0x8c]
+ mov r2, #0
+ bl func_020193f0
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r1, [r1, #8]
+ blx r1
+ ldr r1, [r8, #0x8c]
+ mov r2, #0
+ bl func_02019434
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r1, [r1, #8]
+ blx r1
+ ldr r1, [r8, #0x8c]
+ mov r2, r7
+ bl func_02019478
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r1, [r1, #8]
+ blx r1
+ ldr r1, [r8, #0x8c]
+ mov r2, r4
+ bl func_02019534
+ ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020aa124
+_020aa328: .word data_ov00_020e9360
+
+ .global func_ov00_020aa32c
+ thumb_func_start func_ov00_020aa32c
+func_ov00_020aa32c: ; 0x020aa32c
+ bx lr
+ .align 2, 0
+ thumb_func_end func_ov00_020aa32c
+
+ .global func_ov00_020aa330
+ arm_func_start func_ov00_020aa330
+func_ov00_020aa330: ; 0x020aa330
+ mov r0, #2
+ bx lr
+ arm_func_end func_ov00_020aa330
+
+ .global func_ov00_020aa338
+ arm_func_start func_ov00_020aa338
+func_ov00_020aa338: ; 0x020aa338
+ ldr r1, [r0, #4]
+ cmp r1, #7
+ cmpne r1, #8
+ cmpne r1, #9
+ bne _020aa354
+ ldr r0, [r0, #0x10]
+ bx lr
+_020aa354:
+ mvn r0, #0
+ bx lr
+ arm_func_end func_ov00_020aa338
+
+ .global func_ov00_020aa35c
+ thumb_func_start func_ov00_020aa35c
+func_ov00_020aa35c: ; 0x020aa35c
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x14
+ add r5, r0, #0
+ ldr r6, _020aa4f0 ; =data_ov00_020e59b8
+ blx func_ov00_020a8dec
+ ldr r3, [r0]
+ ldr r1, _020aa4f4 ; =0x4c475242
+ ldr r2, _020aa4f8 ; =data_ov00_020e5940
+ ldr r3, [r3, #0x3c]
+ add r4, r0, #0
+ blx r3
+ ldr r0, _020aa4f8 ; =data_ov00_020e5940
+ mov r1, #0
+ str r0, [sp]
+ mov r0, #8
+ str r0, [sp, #4]
+ mov r0, #3
+ str r1, [sp, #8]
+ lsl r0, r0, #0xc
+ str r0, [sp, #0xc]
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ ldr r4, [r0]
+ ldr r3, _020aa4f4 ; =0x4c475242
+ ldr r4, [r4, #0x34]
+ mov r1, #1
+ add r2, r6, #0
+ blx r4
+ ldr r0, _020aa4fc ; =data_ov00_020e5908
+ ldr r7, _020aa500 ; =data_ov00_020e59cc
+ ldr r1, [r0, #0x40]
+ lsr r0, r1, #0x1f
+ add r0, r1, r0
+ asr r4, r0, #1
+ add r0, r5, #0
+ blx func_ov00_020a8dec
+ ldr r3, [r0]
+ ldr r1, _020aa4f4 ; =0x4c475242
+ ldr r2, _020aa504 ; =data_ov00_020e5944
+ ldr r3, [r3, #0x3c]
+ add r6, r0, #0
+ blx r3
+ ldr r0, _020aa504 ; =data_ov00_020e5944
+ ldr r3, _020aa4f4 ; =0x4c475242
+ str r0, [sp]
+ mov r0, #8
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ str r4, [sp, #0xc]
+ str r0, [sp, #0x10]
+ add r0, r6, #0
+ ldr r4, [r0]
+ mov r1, #1
+ ldr r4, [r4, #0x34]
+ add r2, r7, #0
+ blx r4
+ ldr r0, _020aa4fc ; =data_ov00_020e5908
+ ldr r7, _020aa508 ; =data_ov00_020e59e4
+ ldr r4, [r0, #0x40]
+ add r0, r5, #0
+ blx func_ov00_020a8dec
+ ldr r3, [r0]
+ ldr r1, _020aa4f4 ; =0x4c475242
+ ldr r2, _020aa50c ; =data_ov00_020e5948
+ ldr r3, [r3, #0x3c]
+ add r6, r0, #0
+ blx r3
+ ldr r0, _020aa50c ; =data_ov00_020e5948
+ ldr r3, _020aa4f4 ; =0x4c475242
+ str r0, [sp]
+ mov r0, #8
+ str r0, [sp, #4]
+ lsr r0, r4, #0x1f
+ add r0, r4, r0
+ asr r0, r0, #1
+ str r0, [sp, #8]
+ str r4, [sp, #0xc]
+ mov r0, #0
+ str r0, [sp, #0x10]
+ add r0, r6, #0
+ ldr r4, [r0]
+ mov r1, #1
+ ldr r4, [r4, #0x34]
+ add r2, r7, #0
+ blx r4
+ ldr r1, _020aa4fc ; =data_ov00_020e5908
+ add r0, r5, #0
+ ldr r1, [r1, #0x54]
+ blx func_ov00_020a8d88
+ add r6, r0, #0
+ add r0, r5, #0
+ ldr r7, _020aa510 ; =data_ov00_020e59fc
+ blx func_ov00_020a8dec
+ ldr r3, [r0]
+ ldr r1, _020aa4f4 ; =0x4c475242
+ ldr r2, _020aa514 ; =data_ov00_020e5960
+ ldr r3, [r3, #0x3c]
+ add r4, r0, #0
+ blx r3
+ ldr r0, _020aa514 ; =data_ov00_020e5960
+ mov r1, #0
+ str r0, [sp]
+ mov r0, #8
+ str r0, [sp, #4]
+ mov r0, #3
+ str r1, [sp, #8]
+ lsl r0, r0, #0xc
+ str r0, [sp, #0xc]
+ str r1, [sp, #0x10]
+ add r0, r4, #0
+ ldr r4, [r0]
+ ldr r3, _020aa4f4 ; =0x4c475242
+ ldr r4, [r4, #0x34]
+ mov r1, #1
+ add r2, r7, #0
+ blx r4
+ add r0, r5, #0
+ blx func_ov00_020a8dec
+ ldr r3, [r0]
+ ldr r1, _020aa4f4 ; =0x4c475242
+ ldr r2, _020aa518 ; =data_ov00_020e5964
+ ldr r3, [r3, #0x3c]
+ add r7, r0, #0
+ blx r3
+ lsr r0, r6, #0x1f
+ add r0, r6, r0
+ asr r4, r0, #1
+ ldr r0, _020aa518 ; =data_ov00_020e5964
+ ldr r2, _020aa51c ; =data_ov00_020e5a0c
+ str r0, [sp]
+ mov r0, #8
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ str r4, [sp, #0xc]
+ str r0, [sp, #0x10]
+ add r0, r7, #0
+ ldr r7, [r0]
+ ldr r3, _020aa4f4 ; =0x4c475242
+ ldr r7, [r7, #0x34]
+ mov r1, #1
+ blx r7
+ add r0, r5, #0
+ blx func_ov00_020a8dec
+ ldr r3, [r0]
+ ldr r1, _020aa4f4 ; =0x4c475242
+ ldr r2, _020aa520 ; =data_ov00_020e5968
+ ldr r3, [r3, #0x3c]
+ add r7, r0, #0
+ blx r3
+ ldr r0, _020aa520 ; =data_ov00_020e5968
+ ldr r2, _020aa524 ; =data_ov00_020e5a20
+ str r0, [sp]
+ mov r0, #8
+ str r0, [sp, #4]
+ str r4, [sp, #8]
+ str r6, [sp, #0xc]
+ mov r0, #0
+ str r0, [sp, #0x10]
+ add r0, r7, #0
+ ldr r4, [r0]
+ ldr r3, _020aa4f4 ; =0x4c475242
+ ldr r4, [r4, #0x34]
+ mov r1, #1
+ blx r4
+ add r0, r5, #0
+ blx func_ov00_020a8dec
+ ldr r0, _020aa4fc ; =data_ov00_020e5908
+ ldr r6, _020aa528 ; =data_ov00_020e5a34
+ ldr r0, [r0, #0x20]
+ lsl r4, r0, #1
+ add r0, r5, #0
+ blx func_ov00_020a8dec
+ ldr r1, _020aa52c ; =data_ov00_020e5928
+ ldr r3, _020aa530 ; =0x4c505348
+ str r1, [sp]
+ mov r1, #6
+ str r1, [sp, #4]
+ mov r1, #0
+ str r1, [sp, #8]
+ str r4, [sp, #0xc]
+ str r1, [sp, #0x10]
+ ldr r4, [r0]
+ add r2, r6, #0
+ ldr r4, [r4, #0x34]
+ blx r4
+ add r0, r5, #0
+ blx func_ov00_020a8dec
+ add sp, #0x14
+ pop {r4, r5, r6, r7, pc}
+ nop
+ thumb_func_end func_ov00_020aa35c
+_020aa4f0: .word data_ov00_020e59b8
+_020aa4f4: .word 0x4c475242
+_020aa4f8: .word data_ov00_020e5940
+_020aa4fc: .word data_ov00_020e5908
+_020aa500: .word data_ov00_020e59cc
+_020aa504: .word data_ov00_020e5944
+_020aa508: .word data_ov00_020e59e4
+_020aa50c: .word data_ov00_020e5948
+_020aa510: .word data_ov00_020e59fc
+_020aa514: .word data_ov00_020e5960
+_020aa518: .word data_ov00_020e5964
+_020aa51c: .word data_ov00_020e5a0c
+_020aa520: .word data_ov00_020e5968
+_020aa524: .word data_ov00_020e5a20
+_020aa528: .word data_ov00_020e5a34
+_020aa52c: .word data_ov00_020e5928
+_020aa530: .word 0x4c505348
+
+ .global func_ov00_020aa534
+ arm_func_start func_ov00_020aa534
+func_ov00_020aa534: ; 0x020aa534
+ stmdb sp!, {r3, r4, r5, lr}
+ sub sp, sp, #8
+ mov r4, r0
+ ldr r1, [r4, #4]
+ cmp r1, #6
+ beq _020aa558
+ bl func_ov00_020a82ac
+ mov r0, r4
+ bl func_ov00_020a8158
+_020aa558:
+ ldr r0, [r4, #4]
+ cmp r0, #9
+ addls pc, pc, r0, lsl #2
+ b _020aa76c
+_020aa568: ; jump table
+ b _020aa590 ; case 0
+ b _020aa5a0 ; case 1
+ b _020aa5c0 ; case 2
+ b _020aa5d4 ; case 3
+ b _020aa5d4 ; case 4
+ b _020aa634 ; case 5
+ b _020aa75c ; case 6
+ b _020aa684 ; case 7
+ b _020aa704 ; case 8
+ b _020aa730 ; case 9
+_020aa590:
+ mov r0, r4
+ mov r1, #0
+ bl func_ov00_020a8138
+ b _020aa778
+_020aa5a0:
+ ldr r0, _020aa78c ; =data_027e0fb8
+ ldr r0, [r0]
+ bl func_ov00_020af044
+ ldr r1, _020aa790 ; =data_ov00_020e592c
+ mov r0, r4
+ mov r2, #1
+ bl func_ov00_020a8a4c
+ b _020aa778
+_020aa5c0:
+ ldr r1, _020aa794 ; =data_ov00_020e593c
+ mov r0, r4
+ mov r2, #1
+ bl func_ov00_020a8a4c
+ b _020aa778
+_020aa5d4:
+ mov r0, r4
+ bl func_ov00_020a8ca4
+ cmp r0, #0
+ mov r0, r4
+ beq _020aa62c
+ bl func_ov00_020a8c4c
+ mov r2, r0
+ ldr r0, _020aa798 ; =data_ov00_020eec9c
+ ldr r1, _020aa79c ; =0x00000125
+ bl func_ov00_020d7b20
+ ldr r0, [r4, #0x18]
+ ldr r1, [r4, #0x20]
+ bl func_01ffa0f4
+ mov r5, r0
+ mov r0, r4
+ bl func_ov00_020a8c78
+ strh r5, [r0]
+ ldr r1, _020aa7a0 ; =data_ov00_020e595c
+ mov r0, r4
+ mov r2, #1
+ bl func_ov00_020a89bc
+ b _020aa778
+_020aa62c:
+ bl func_ov00_020a8994
+ b _020aa778
+_020aa634:
+ mov r0, r4
+ bl func_ov00_020a8ca4
+ cmp r0, #0
+ beq _020aa674
+ ldr r0, [r4, #0x18]
+ ldr r1, [r4, #0x20]
+ bl func_01ffa0f4
+ mov r5, r0
+ mov r0, r4
+ bl func_ov00_020a8c78
+ strh r5, [r0]
+ ldr r1, _020aa7a4 ; =data_ov00_020e594c
+ mov r0, r4
+ mov r2, #1
+ bl func_ov00_020a8a4c
+ b _020aa778
+_020aa674:
+ mov r0, r4
+ mov r1, #0
+ bl func_ov00_020a8138
+ b _020aa778
+_020aa684:
+ ldr r0, _020aa78c ; =data_027e0fb8
+ ldr r0, [r0]
+ bl func_ov00_020af044
+ ldr r0, _020aa7a8 ; =data_027e0fe4
+ add r1, r4, #0x10
+ ldr r0, [r0]
+ bl func_ov00_020c3674
+ cmp r0, #0
+ mov r0, r4
+ beq _020aa6bc
+ bl func_ov00_020a8ce0
+ mov r1, #0
+ str r1, [r0]
+ b _020aa6c4
+_020aa6bc:
+ mov r1, #0
+ bl func_ov00_020a8138
+_020aa6c4:
+ mov r2, #0
+ str r2, [sp]
+ mov r3, r2
+ add r0, r4, #0x24
+ mov r1, #1
+ str r2, [sp, #4]
+ bl func_020350b4
+ mov r1, #0
+ mov r2, r1
+ mov r3, r1
+ add r0, r4, #0x24
+ str r1, [sp]
+ bl func_020351b8
+ mov r0, #0
+ strb r0, [r4, #0xb2]
+ b _020aa778
+_020aa704:
+ ldrb r0, [r4, #0xb0]
+ cmp r0, #0
+ beq _020aa720
+ mov r0, r4
+ bl func_ov00_020a8ce0
+ mov r1, #1
+ str r1, [r0]
+_020aa720:
+ ldr r0, _020aa7ac ; =data_ov00_020e5908
+ ldr r0, [r0, #0x20]
+ str r0, [r4, #0xc]
+ b _020aa778
+_020aa730:
+ ldrb r0, [r4, #0xb1]
+ cmp r0, #0
+ beq _020aa74c
+ mov r0, r4
+ bl func_ov00_020a8ce0
+ mvn r1, #0
+ str r1, [r0]
+_020aa74c:
+ ldr r0, _020aa7ac ; =data_ov00_020e5908
+ ldr r0, [r0, #0x20]
+ str r0, [r4, #0xc]
+ b _020aa778
+_020aa75c:
+ ldr r0, _020aa78c ; =data_027e0fb8
+ ldr r0, [r0]
+ bl func_ov00_020af044
+ b _020aa778
+_020aa76c:
+ mov r0, r4
+ mov r1, #0
+ bl func_ov00_020a8138
+_020aa778:
+ ldr r0, [r4, #4]
+ cmp r0, #7
+ strne r0, [r4, #0xac]
+ add sp, sp, #8
+ ldmia sp!, {r3, r4, r5, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020aa534
+_020aa78c: .word data_027e0fb8
+_020aa790: .word data_ov00_020e592c
+_020aa794: .word data_ov00_020e593c
+_020aa798: .word data_ov00_020eec9c
+_020aa79c: .word 0x00000125
+_020aa7a0: .word data_ov00_020e595c
+_020aa7a4: .word data_ov00_020e594c
+_020aa7a8: .word data_027e0fe4
+_020aa7ac: .word data_ov00_020e5908
+
+ .global func_ov00_020aa7b0
+ arm_func_start func_ov00_020aa7b0
+func_ov00_020aa7b0: ; 0x020aa7b0
+ stmdb sp!, {r4, lr}
+ mov r4, r0
+ bl func_ov00_020a7fac
+ ldr r0, _020aa814 ; =data_027e0fb8
+ ldr r0, [r0]
+ ldrb r1, [r0, #0x80]
+ cmp r1, #0
+ beq _020aa7d4
+ bl func_ov00_020af050
+_020aa7d4:
+ mov r0, r4
+ bl func_ov00_020a8ca4
+ ldr r1, [r4, #4]
+ cmp r1, #1
+ ldmneia sp!, {r4, pc}
+ cmp r0, #0
+ ldmeqia sp!, {r4, pc}
+ ldrb r0, [r0, #0x11b]
+ cmp r0, #0
+ ldmneia sp!, {r4, pc}
+ mov r0, r4
+ bl func_ov00_020a8cc4
+ mvn r1, #0
+ str r1, [r0]
+ str r1, [r0, #4]
+ ldmia sp!, {r4, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020aa7b0
+_020aa814: .word data_027e0fb8
+
+ .global func_ov00_020aa818
+ arm_func_start func_ov00_020aa818
+func_ov00_020aa818: ; 0x020aa818
+ stmdb sp!, {r4, lr}
+ ldr r0, _020aa840 ; =gItemManager
+ ldr r4, [r0]
+ mov r0, r4
+ bl _ZNK11ItemManager16GetEquippedFairyEv
+ mov r1, r0
+ mov r0, r4
+ bl _ZNK11ItemManager8GetFairyEi
+ bl func_ov00_020ba458
+ ldmia sp!, {r4, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020aa818
+_020aa840: .word gItemManager
+
+ .global func_ov00_020aa844
+ arm_func_start func_ov00_020aa844
+func_ov00_020aa844: ; 0x020aa844
+ stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
+ sub sp, sp, #0x2c
+ mov r4, r1
+ mov r5, r0
+ bl func_ov00_020a8c4c
+ mov r1, r0
+ add r2, sp, #0x20
+ add r0, r4, #0x48
+ bl func_01ff9bf8
+ mov r0, r5
+ bl func_ov00_020a8c78
+ ldrh r6, [r0]
+ mov r0, r5
+ bl func_ov00_020a8c78
+ ldrh r1, [r0]
+ mov r0, r6, asr #0x4
+ mov r2, r0, lsl #0x2
+ mov r0, r1, asr #0x4
+ mov r0, r0, lsl #0x1
+ add r0, r0, #1
+ ldr r3, _020aabd0 ; =data_02050f54
+ mov r1, r0, lsl #0x1
+ ldrsh r1, [r3, r1]
+ ldrsh sb, [r3, r2]
+ ldr r6, [sp, #0x20]
+ str r1, [sp]
+ mov r1, r1, asr #0x1f
+ str r1, [sp, #4]
+ ldr r1, [sp]
+ mov r0, r4
+ rsb r1, r1, #0
+ str r1, [sp, #8]
+ ldr r2, [sp, #8]
+ mov r1, r1, asr #0x1f
+ smull r3, r2, r6, r2
+ adds r4, r3, #0x800
+ adc r3, r2, #0
+ mov r2, r4, lsr #0xc
+ str r1, [sp, #0xc]
+ ldr r7, [sp, #0x28]
+ orr r2, r2, r3, lsl #20
+ smull r4, r3, r7, sb
+ adds r4, r4, #0x800
+ adc r3, r3, #0
+ mov r4, r4, lsr #0xc
+ orr r4, r4, r3, lsl #20
+ add r1, sp, #0x10
+ mov r8, sb, asr #0x1f
+ add r4, r2, r4
+ bl func_ov00_020c2a0c
+ smull r1, r0, r6, sb
+ adds r1, r1, #0x800
+ adc r0, r0, #0
+ mov r2, r1, lsr #0xc
+ orr r2, r2, r0, lsl #20
+ ldr r0, [sp]
+ smull r1, r0, r7, r0
+ adds r1, r1, #0x800
+ adc r0, r0, #0
+ mov r1, r1, lsr #0xc
+ orr r1, r1, r0, lsl #20
+ add r2, r2, r1
+ ldr r1, [sp, #0x1c]
+ mov r0, r5
+ add r1, r1, #0x66
+ add r1, r1, #0x600
+ sub r7, r2, r1
+ bl func_ov00_020a8c58
+ mov r1, #0
+ str r1, [r0]
+ mov r0, r5
+ bl func_ov00_020a8c58
+ mov r1, #0
+ cmp r4, #0
+ str r1, [r0, #8]
+ ble _020aaa04
+ ldr r6, _020aabd4 ; =0x00000155
+ mov r0, r5
+ cmp r4, r6
+ movle r6, r4
+ bl func_ov00_020a8c58
+ ldr r1, [sp, #8]
+ mov r2, r6, asr #0x1f
+ umull ip, r3, r6, r1
+ ldr r1, [sp, #0xc]
+ mla r3, r6, r1, r3
+ ldr r1, [sp, #8]
+ adds r6, ip, #0x800
+ mla r3, r2, r1, r3
+ adc r2, r3, #0
+ mov r3, r6, lsr #0xc
+ ldr r1, _020aabd4 ; =0x00000155
+ ldr r6, [r0]
+ orr r3, r3, r2, lsl #20
+ add r2, r6, r3
+ str r2, [r0]
+ cmp r4, r1
+ movgt r4, r1
+ mov r0, r5
+ bl func_ov00_020a8c58
+ umull r3, r2, r4, sb
+ mla r2, r4, r8, r2
+ mov r1, r4, asr #0x1f
+ mla r2, r1, sb, r2
+ adds r3, r3, #0x800
+ adc r1, r2, #0
+ mov r2, r3, lsr #0xc
+ ldr r3, [r0, #8]
+ orr r2, r2, r1, lsl #20
+ add r1, r3, r2
+ str r1, [r0, #8]
+ b _020aaa98
+_020aaa04:
+ cmp r4, #0
+ bge _020aaa98
+ mvn r6, #0x154
+ cmp r4, r6
+ mov r0, r5
+ movge r6, r4
+ bl func_ov00_020a8c58
+ ldr r1, [sp, #8]
+ mov r2, r6, asr #0x1f
+ umull ip, r3, r6, r1
+ ldr r1, [sp, #0xc]
+ mla r3, r6, r1, r3
+ ldr r1, [sp, #8]
+ adds r6, ip, #0x800
+ mla r3, r2, r1, r3
+ adc r2, r3, #0
+ mov r3, r6, lsr #0xc
+ mvn r1, #0x154
+ cmp r4, r1
+ ldr r6, [r0]
+ orr r3, r3, r2, lsl #20
+ add r2, r6, r3
+ str r2, [r0]
+ movlt r4, r1
+ mov r0, r5
+ bl func_ov00_020a8c58
+ umull r3, r2, r4, sb
+ mla r2, r4, r8, r2
+ mov r1, r4, asr #0x1f
+ mla r2, r1, sb, r2
+ adds r3, r3, #0x800
+ adc r1, r2, #0
+ mov r2, r3, lsr #0xc
+ ldr r3, [r0, #8]
+ orr r2, r2, r1, lsl #20
+ add r1, r3, r2
+ str r1, [r0, #8]
+_020aaa98:
+ cmp r7, #0
+ ble _020aab34
+ ldr r4, _020aabd4 ; =0x00000155
+ mov r0, r5
+ cmp r7, r4
+ movle r4, r7
+ bl func_ov00_020a8c58
+ umull r3, r2, r4, sb
+ adds r3, r3, #0x800
+ mla r2, r4, r8, r2
+ mov r1, r4, asr #0x1f
+ mla r2, r1, sb, r2
+ adc r2, r2, #0
+ mov r3, r3, lsr #0xc
+ ldr r1, _020aabd4 ; =0x00000155
+ ldr r4, [r0]
+ orr r3, r3, r2, lsl #20
+ add r2, r4, r3
+ str r2, [r0]
+ cmp r7, r1
+ mov r0, r5
+ movgt r7, r1
+ bl func_ov00_020a8c58
+ ldr r1, [sp]
+ mov r2, r7, asr #0x1f
+ umull r4, r3, r7, r1
+ ldr r1, [sp, #4]
+ adds r4, r4, #0x800
+ mla r3, r7, r1, r3
+ ldr r1, [sp]
+ add sp, sp, #0x2c
+ mla r3, r2, r1, r3
+ adc r1, r3, #0
+ mov r2, r4, lsr #0xc
+ ldr r3, [r0, #8]
+ orr r2, r2, r1, lsl #20
+ add r1, r3, r2
+ str r1, [r0, #8]
+ ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
+_020aab34:
+ addge sp, sp, #0x2c
+ ldmgeia sp!, {r4, r5, r6, r7, r8, sb, pc}
+ mvn r4, #0x154
+ cmp r7, r4
+ movge r4, r7
+ mov r0, r5
+ bl func_ov00_020a8c58
+ umull r3, r2, r4, sb
+ adds r3, r3, #0x800
+ mla r2, r4, r8, r2
+ mov r1, r4, asr #0x1f
+ mla r2, r1, sb, r2
+ adc r2, r2, #0
+ mov r3, r3, lsr #0xc
+ mvn r1, #0x154
+ cmp r7, r1
+ ldr r4, [r0]
+ orr r3, r3, r2, lsl #20
+ add r2, r4, r3
+ str r2, [r0]
+ mov r0, r5
+ movlt r7, r1
+ bl func_ov00_020a8c58
+ ldr r1, [sp]
+ mov r2, r7, asr #0x1f
+ umull r4, r3, r7, r1
+ ldr r1, [sp, #4]
+ adds r4, r4, #0x800
+ mla r3, r7, r1, r3
+ ldr r1, [sp]
+ mla r3, r2, r1, r3
+ adc r1, r3, #0
+ mov r2, r4, lsr #0xc
+ ldr r3, [r0, #8]
+ orr r2, r2, r1, lsl #20
+ add r1, r3, r2
+ str r1, [r0, #8]
+ add sp, sp, #0x2c
+ ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020aa844
+_020aabd0: .word data_02050f54
+_020aabd4: .word 0x00000155
+
+ .global func_ov00_020aabd8
+ arm_func_start func_ov00_020aabd8
+func_ov00_020aabd8: ; 0x020aabd8
+ stmdb sp!, {r4, r5, r6, r7, r8, lr}
+ sub sp, sp, #0xc8
+ mov r6, r1
+ mov r1, #2
+ mov r4, r0
+ bl func_ov00_020a8ba0
+ cmp r0, #0
+ bne _020aac08
+ mov r0, r4
+ bl func_ov00_020a8b80
+ cmp r0, #0
+ bne _020aac14
+_020aac08:
+ add sp, sp, #0xc8
+ mov r0, #0
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+_020aac14:
+ mov r0, r4
+ bl func_ov00_020a8ca4
+ movs r5, r0
+ beq _020aadbc
+ cmp r6, #0
+ bne _020aadbc
+ ldr r0, _020ab3bc ; =gItemManager
+ mov r6, #0
+ ldr r0, [r0]
+ ldr r0, [r0]
+ sub r0, r0, #9
+ cmp r0, #1
+ bhi _020aacf4
+ ldr r1, _020ab3c0 ; =data_027e0d0c
+ mov r0, r4
+ ldr r2, [r1]
+ str r2, [r4, #0x18]
+ ldr r2, [r1, #4]
+ str r2, [r4, #0x1c]
+ ldr r1, [r1, #8]
+ str r1, [r4, #0x20]
+ bl func_ov00_020a8c78
+ ldrh r1, [r0]
+ ldr r2, _020ab3c4 ; =data_02050f54
+ ldr r0, _020ab3c8 ; =0x000004cd
+ mov r1, r1, asr #0x4
+ mov r3, r1, lsl #0x1
+ mov r1, r3, lsl #0x1
+ ldrsh ip, [r2, r1]
+ add r1, r3, #1
+ mov r1, r1, lsl #0x1
+ ldrsh r2, [r2, r1]
+ mov r1, r6
+ umull r7, lr, ip, r0
+ mla lr, ip, r1, lr
+ umull r6, r3, r2, r0
+ mla r3, r2, r1, r3
+ mov ip, ip, asr #0x1f
+ mov r1, r2, asr #0x1f
+ adds r8, r7, #0x800
+ mla lr, ip, r0, lr
+ mla r3, r1, r0, r3
+ adc r7, lr, #0
+ mov r8, r8, lsr #0xc
+ adds r6, r6, #0x800
+ mov r1, r6, lsr #0xc
+ ldr r0, [r4, #0x18]
+ orr r8, r8, r7, lsl #20
+ add r0, r0, r8
+ str r0, [r4, #0x18]
+ adc r0, r3, #0
+ ldr r2, [r4, #0x20]
+ orr r1, r1, r0, lsl #20
+ add r0, r2, r1
+ str r0, [r4, #0x20]
+ mov r6, #1
+_020aacf4:
+ mov r0, r5
+ ldr r1, [r0]
+ ldr r1, [r1, #0x2c]
+ blx r1
+ mvn r1, #0
+ cmp r0, r1
+ movne r5, #1
+ moveq r5, #0
+ cmp r5, #0
+ bne _020aad64
+ cmp r6, #0
+ bne _020aad3c
+ ldr r0, _020ab3cc ; =data_027e0fb8
+ add r1, r4, #0x18
+ ldr r0, [r0]
+ bl func_ov00_020b05e8
+ cmp r0, #0
+ beq _020aad64
+_020aad3c:
+ ldr r0, _020ab3cc ; =data_027e0fb8
+ mov r1, #0
+ ldr r2, [r0]
+ mov r0, #5
+ strb r1, [r2, #0x79]
+ strb r1, [r2, #0x7b]
+ str r0, [r4, #4]
+ add sp, sp, #0xc8
+ mov r0, #1
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+_020aad64:
+ cmp r6, #0
+ bne _020aad88
+ ldr r0, _020ab3cc ; =data_027e0fb8
+ mov r2, r5
+ ldr r0, [r0]
+ add r1, r4, #0x18
+ bl func_ov00_020b049c
+ cmp r0, #0
+ beq _020aadb0
+_020aad88:
+ ldr r0, _020ab3cc ; =data_027e0fb8
+ mov r1, #0
+ ldr r2, [r0]
+ mov r0, #3
+ strb r1, [r2, #0x79]
+ strb r1, [r2, #0x7b]
+ str r0, [r4, #4]
+ add sp, sp, #0xc8
+ mov r0, #1
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+_020aadb0:
+ add sp, sp, #0xc8
+ mov r0, #0
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+_020aadbc:
+ ldr r1, _020ab3cc ; =data_027e0fb8
+ ldr r0, _020ab3d0 ; =data_027e0fe4
+ ldr r3, [r1]
+ ldr r0, [r0]
+ ldr r2, [r3, #0x84]
+ add r1, sp, #0x14
+ str r2, [sp, #0x14]
+ ldr r2, [r3, #0x88]
+ str r2, [sp, #0x18]
+ bl func_ov00_020c3674
+ movs r6, r0
+ bne _020aae38
+ mov r0, r4
+ bl func_ov00_020a8d40
+ ldr r2, _020ab3cc ; =data_027e0fb8
+ ldr r1, [r0, #0xe0]
+ ldr r0, [r2]
+ bl func_ov00_020b0ad0
+ cmp r0, #0
+ beq _020aae2c
+ mov r0, r4
+ bl func_ov00_020a8d40
+ ldr r6, [r0, #0xe0]
+ ldr r0, [r6, #8]
+ str r0, [sp, #0x14]
+ ldr r0, [r6, #0xc]
+ str r0, [sp, #0x18]
+ b _020aae54
+_020aae2c:
+ add sp, sp, #0xc8
+ mov r0, #0
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+_020aae38:
+ ldr r0, _020ab3cc ; =data_027e0fb8
+ ldr r0, [r0]
+ ldrb r0, [r0, #0x80]
+ cmp r0, #0
+ addne sp, sp, #0xc8
+ movne r0, #0
+ ldmneia sp!, {r4, r5, r6, r7, r8, pc}
+_020aae54:
+ ldr r0, _020ab3cc ; =data_027e0fb8
+ cmp r5, #0
+ movne r2, #1
+ ldr r1, [r6, #0x12c]
+ ldr r0, [r0]
+ moveq r2, #0
+ bl func_ov00_020afe88
+ cmp r0, #0
+ bne _020aae90
+ ldr r0, _020ab3cc ; =data_027e0fb8
+ ldr r0, [r0]
+ bl func_ov00_020af050
+ add sp, sp, #0xc8
+ mov r0, #0
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+_020aae90:
+ ldr r0, [r6, #0x12c]
+ cmp r0, #2
+ bne _020aaf78
+ mov r0, r4
+ bl func_ov00_020a8ca4
+ cmp r0, #0
+ bne _020aaf78
+ add r3, sp, #0x5c
+ add r1, r6, #0x60
+ add r2, r6, #0x48
+ mov r0, #0x6000
+ bl func_01ff9e64
+ mov r0, #0
+ ldr r1, _020ab3d4 ; =0x0000ffff
+ strh r0, [sp, #0x94]
+ strb r0, [sp, #0xb6]
+ strb r0, [sp, #0xb7]
+ strb r0, [sp, #0xb8]
+ strb r0, [sp, #0xb9]
+ strb r0, [sp, #0xc0]
+ strb r0, [sp, #0xc1]
+ strb r0, [sp, #0xc2]
+ strb r0, [sp, #0xc3]
+ strb r0, [sp, #0xc4]
+ strb r0, [sp, #0xc5]
+ strh r1, [sp, #0x8c]
+ strh r1, [sp, #0x8e]
+ strh r1, [sp, #0x90]
+ strh r1, [sp, #0x92]
+ ldr r1, [r6, #0x48]
+ add r2, r6, #0x8c
+ str r1, [sp, #0x28]
+ ldr r1, [r6, #0x4c]
+ ldr r5, _020ab3d8 ; =data_027e0e60
+ str r1, [sp, #0x2c]
+ ldr r3, [r6, #0x50]
+ add r1, sp, #0x68
+ str r3, [sp, #0x30]
+ str r2, [sp]
+ ldr r3, [r6, #8]
+ add r2, sp, #0x5c
+ str r3, [sp, #4]
+ ldrh ip, [r6, #0x9c]
+ add r3, sp, #0x28
+ str ip, [sp, #8]
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x10]
+ ldr r0, [r5]
+ bl func_01ffbe78
+ cmp r0, #0
+ beq _020aaf88
+ ldr r2, [sp, #0x68]
+ ldr r1, [sp, #0x6c]
+ ldr r0, [sp, #0x70]
+ str r2, [sp, #0x5c]
+ str r1, [sp, #0x60]
+ str r0, [sp, #0x64]
+ b _020aaf88
+_020aaf78:
+ add r1, sp, #0x5c
+ mov r0, r4
+ mov r2, r6
+ bl func_ov00_020ab7bc
+_020aaf88:
+ mov r0, r4
+ bl func_ov00_020a8c4c
+ mov r1, r0
+ add r0, sp, #0x5c
+ add r2, sp, #0x50
+ bl func_01ff9bf8
+ add r1, sp, #0x40
+ mov r0, r6
+ bl func_ov00_020c2a0c
+ ldr r0, [r6, #0x12c]
+ cmp r0, #6
+ addls pc, pc, r0, lsl #2
+ b _020ab3b0
+_020aafbc: ; jump table
+ b _020ab3b0 ; case 0
+ b _020aafd8 ; case 1
+ b _020ab000 ; case 2
+ b _020ab1e4 ; case 3
+ b _020ab2b0 ; case 4
+ b _020ab32c ; case 5
+ b _020ab398 ; case 6
+_020aafd8:
+ add r0, sp, #0x50
+ bl func_01ff9cec
+ cmp r0, #0x800
+ bge _020aaff4
+ ldr r0, _020ab3cc ; =data_027e0fb8
+ ldr r0, [r0]
+ bl func_ov00_020af044
+_020aaff4:
+ add sp, sp, #0xc8
+ mov r0, #0
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+_020ab000:
+ bl func_ov00_020a7b8c
+ ldr r2, [r0]
+ mov r1, #1
+ ldr r2, [r2, #0x14]
+ blx r2
+ cmp r0, #0
+ addeq sp, sp, #0xc8
+ moveq r0, #0
+ ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
+ mov r0, r4
+ bl func_ov00_020a8ca4
+ cmp r0, #0
+ bne _020ab170
+ mov r0, r4
+ bl func_ov00_020a8bd8
+ cmp r0, #1
+ bne _020ab060
+ bl func_ov00_020ab3e8
+ add r2, sp, #0x50
+ mov r1, r6
+ bl func_ov23_02171410
+ add sp, sp, #0xc8
+ mov r0, #0
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+_020ab060:
+ add r0, sp, #0x50
+ bl func_01ff9cec
+ ldr r1, [sp, #0x4c]
+ mov r5, r0
+ add r0, r1, #0x3800
+ cmp r5, r0
+ bge _020ab1d8
+ ldr r0, [sp, #0x50]
+ ldr r1, [sp, #0x58]
+ bl func_01ffa0f4
+ ldr r1, _020ab3dc ; =0x00001ccd
+ mov r0, r0, lsl #0x10
+ cmp r5, r1
+ mov r6, r0, asr #0x10
+ bge _020ab0fc
+ mov r0, r4
+ bl func_ov00_020a8c78
+ ldrsh r0, [r0]
+ add r2, sp, #0x5c
+ sub r0, r6, r0
+ mov r0, r0, lsl #0x10
+ mov r1, r0, asr #0x10
+ cmp r1, #0x4000
+ ble _020ab0d0
+ mov r0, r4
+ mov r1, #1
+ bl func_ov00_020a81b8
+ b _020ab160
+_020ab0d0:
+ mov r0, #0x4000
+ rsb r0, r0, #0
+ cmp r1, r0
+ mov r0, r4
+ blt _020ab0f0
+ mov r1, #0
+ bl func_ov00_020a81b8
+ b _020ab160
+_020ab0f0:
+ mov r1, #2
+ bl func_ov00_020a81b8
+ b _020ab160
+_020ab0fc:
+ rsb r0, r1, #0x4800
+ cmp r5, r0
+ bge _020ab134
+ ldr r1, [sp, #0x54]
+ ldr r0, _020ab3e0 ; =0x00001333
+ cmp r1, #0
+ rsblt r1, r1, #0
+ cmp r1, r0
+ bge _020ab134
+ add r2, sp, #0x5c
+ mov r0, r4
+ mov r1, #3
+ bl func_ov00_020a81b8
+ b _020ab160
+_020ab134:
+ mov r0, r4
+ bl func_ov00_020a8d40
+ ldrsh r0, [r0, #0x5a]
+ cmp r0, #0
+ addne sp, sp, #0xc8
+ movne r0, #0
+ ldmneia sp!, {r4, r5, r6, r7, r8, pc}
+ add r2, sp, #0x5c
+ mov r0, r4
+ mov r1, #4
+ bl func_ov00_020a81b8
+_020ab160:
+ mov r0, r4
+ bl func_ov00_020a8c78
+ strh r6, [r0]
+ b _020ab1d8
+_020ab170:
+ add r0, sp, #0x50
+ bl func_01ff9cec
+ cmp r0, #0x4000
+ bge _020ab1d8
+ mov r0, r4
+ bl func_ov00_020a8c4c
+ mov r1, r0
+ add r0, r6, #0x48
+ add r2, r4, #0x18
+ bl func_01ff9bf8
+ ldr r0, _020ab3cc ; =data_027e0fb8
+ mov r1, #0
+ ldr r2, [r0]
+ strb r1, [r2, #0x79]
+ strb r1, [r2, #0x7b]
+ ldr r0, [r0]
+ bl func_ov00_020af044
+ mov r0, #3
+ str r0, [r4, #4]
+ ldr r1, [sp, #0x14]
+ mov r0, #1
+ str r1, [r4, #0x10]
+ ldr r1, [sp, #0x18]
+ add sp, sp, #0xc8
+ str r1, [r4, #0x14]
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+_020ab1d8:
+ add sp, sp, #0xc8
+ mov r0, #0
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+_020ab1e4:
+ add r0, sp, #0x50
+ bl func_01ff9cec
+ cmp r0, #0x400
+ bge _020ab2a4
+ mov r0, r4
+ bl func_ov00_020a8c4c
+ mov r1, r0
+ add r0, sp, #0x40
+ add r2, sp, #0x34
+ bl func_01ff9bf8
+ ldr r0, [sp, #0x34]
+ cmp r0, #0
+ ldreq r0, [sp, #0x3c]
+ cmpeq r0, #0
+ beq _020ab278
+ ldr r0, [sp, #0x34]
+ ldr r1, [sp, #0x3c]
+ bl func_01ffa0f4
+ mov r6, r0, lsl #0x10
+ mov r0, r6, asr #0x10
+ bl func_0202bbbc
+ bl func_0202bba8
+ mov r5, r0
+ rsb r0, r5, r6, asr #16
+ mov r0, r0, lsl #0x10
+ movs r1, r0, asr #0x10
+ rsbmi r0, r1, #0
+ movmi r0, r0, lsl #0x10
+ movmi r1, r0, asr #0x10
+ ldr r0, _020ab3e4 ; =0x000018e4
+ cmp r1, r0
+ addgt sp, sp, #0xc8
+ movgt r0, #0
+ ldmgtia sp!, {r4, r5, r6, r7, r8, pc}
+ mov r0, r4
+ bl func_ov00_020a8c78
+ strh r5, [r0]
+_020ab278:
+ mov r0, #7
+ str r0, [r4, #4]
+ mov r0, #0
+ str r0, [r4, #0xc]
+ ldr r1, [sp, #0x14]
+ mov r0, #1
+ str r1, [r4, #0x10]
+ ldr r1, [sp, #0x18]
+ add sp, sp, #0xc8
+ str r1, [r4, #0x14]
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+_020ab2a4:
+ add sp, sp, #0xc8
+ mov r0, #0
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+_020ab2b0:
+ add r0, sp, #0x50
+ bl func_01ff9cec
+ ldr r1, [sp, #0x4c]
+ add r1, r1, #0xc00
+ cmp r0, r1
+ bge _020ab320
+ mov r0, r4
+ bl func_ov05_0211139c
+ cmp r0, #0
+ bne _020ab320
+ mov r0, r4
+ bl func_ov00_020a8cc4
+ ldr r1, [r6, #8]
+ mov r2, #1
+ str r1, [r0]
+ ldr r3, [r6, #0xc]
+ add r1, r6, #0x48
+ str r3, [r0, #4]
+ mov r0, r4
+ str r2, [r4, #4]
+ bl func_ov00_020a81ec
+ ldr r1, [sp, #0x14]
+ mov r0, #1
+ str r1, [r4, #0x10]
+ ldr r1, [sp, #0x18]
+ add sp, sp, #0xc8
+ str r1, [r4, #0x14]
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+_020ab320:
+ add sp, sp, #0xc8
+ mov r0, #0
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+_020ab32c:
+ mov r0, r6
+ ldr r1, [r0]
+ ldr r1, [r1, #0x3c]
+ blx r1
+ cmp r0, #0
+ beq _020ab38c
+ mov r0, r4
+ bl func_ov05_021113b4
+ cmp r0, #0
+ beq _020ab38c
+ mov r0, r6
+ mov r1, #1
+ bl func_ov00_020c1908
+ mov r0, #6
+ str r0, [r4, #4]
+ ldr r1, [sp, #0x14]
+ mov r0, r4
+ str r1, [r4, #0x10]
+ ldr r1, [sp, #0x18]
+ str r1, [r4, #0x14]
+ bl func_ov00_020a8158
+ add sp, sp, #0xc8
+ mov r0, #1
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+_020ab38c:
+ add sp, sp, #0xc8
+ mov r0, #0
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+_020ab398:
+ ldr r0, _020ab3cc ; =data_027e0fb8
+ ldr r0, [r0]
+ bl func_ov00_020af050
+ add sp, sp, #0xc8
+ mov r0, #1
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+_020ab3b0:
+ mov r0, #0
+ add sp, sp, #0xc8
+ ldmia sp!, {r4, r5, r6, r7, r8, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020aabd8
+_020ab3bc: .word gItemManager
+_020ab3c0: .word data_027e0d0c
+_020ab3c4: .word data_02050f54
+_020ab3c8: .word 0x000004cd
+_020ab3cc: .word data_027e0fb8
+_020ab3d0: .word data_027e0fe4
+_020ab3d4: .word 0x0000ffff
+_020ab3d8: .word data_027e0e60
+_020ab3dc: .word 0x00001ccd
+_020ab3e0: .word 0x00001333
+_020ab3e4: .word 0x000018e4
+
+ .global func_ov00_020ab3e8
+ arm_func_start func_ov00_020ab3e8
+func_ov00_020ab3e8: ; 0x020ab3e8
+ ldr ip, _020ab3f4 ; =func_01fffcd8
+ mov r0, #4
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020ab3e8
+_020ab3f4: .word func_01fffcd8
+
+ .global func_ov00_020ab3f8
+ arm_func_start func_ov00_020ab3f8
+func_ov00_020ab3f8: ; 0x020ab3f8
+ stmdb sp!, {r3, lr}
+ cmp r1, #5
+ addls pc, pc, r1, lsl #2
+ b _020ab47c
+_020ab408: ; jump table
+ b _020ab47c ; case 0
+ b _020ab484 ; case 1
+ b _020ab484 ; case 2
+ b _020ab484 ; case 3
+ b _020ab420 ; case 4
+ b _020ab434 ; case 5
+_020ab420:
+ ldr r2, [r0, #4]
+ cmp r2, #6
+ bne _020ab484
+ bl func_ov00_020a7fb8
+ ldmia sp!, {r3, pc}
+_020ab434:
+ ldr r2, [r0, #4]
+ cmp r2, #9
+ addls pc, pc, r2, lsl #2
+ b _020ab474
+_020ab444: ; jump table
+ b _020ab474 ; case 0
+ b _020ab474 ; case 1
+ b _020ab474 ; case 2
+ b _020ab46c ; case 3
+ b _020ab46c ; case 4
+ b _020ab474 ; case 5
+ b _020ab474 ; case 6
+ b _020ab474 ; case 7
+ b _020ab46c ; case 8
+ b _020ab46c ; case 9
+_020ab46c:
+ mov r0, #0
+ ldmia sp!, {r3, pc}
+_020ab474:
+ bl func_ov00_020a7fb8
+ ldmia sp!, {r3, pc}
+_020ab47c:
+ mov r0, #0
+ ldmia sp!, {r3, pc}
+_020ab484:
+ ldr r2, [r0, #4]
+ cmp r2, #1
+ cmpne r2, #7
+ bne _020ab49c
+ bl func_ov00_020a7fb8
+ ldmia sp!, {r3, pc}
+_020ab49c:
+ mov r0, #0
+ ldmia sp!, {r3, pc}
+ arm_func_end func_ov00_020ab3f8
+
+ .global func_ov00_020ab4a4
+ arm_func_start func_ov00_020ab4a4
+func_ov00_020ab4a4: ; 0x020ab4a4
+ stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
+ mov r6, r0
+ mov r4, r1
+ bl func_ov00_020a8dcc
+ cmp r0, #0x1e
+ bne _020ab5f4
+ mov r0, r6
+ bl func_ov00_020a8d50
+ cmp r0, #0x2000
+ movlt r5, #0
+ blt _020ab4ec
+ cmp r0, #0x7000
+ movge r5, #0x1000
+ bge _020ab4ec
+ sub r0, r0, #0x2000
+ mov r1, #0x5000
+ bl Divide
+ mov r5, r0
+_020ab4ec:
+ mov r0, r6
+ bl func_ov00_020a8c78
+ mov r1, r5, asr #0x1f
+ mov r2, r1, lsl #0xe
+ mov r1, #0x800
+ adds r3, r1, r5, lsl #14
+ orr r2, r2, r5, lsr #18
+ adc r1, r2, #0
+ mov r2, r3, lsr #0xc
+ orr r2, r2, r1, lsl #20
+ mov r1, r2, lsl #0x10
+ mov r1, r1, lsr #0x10
+ mov r1, r1, asr #0x4
+ mov r5, r1, lsl #0x1
+ add r1, r5, #1
+ ldr ip, _020ab60c ; =data_02050f54
+ mov r1, r1, lsl #0x1
+ ldrsh r3, [ip, r1]
+ ldr r6, _020ab610 ; =0x00000b33
+ ldrh r0, [r0]
+ umull r1, lr, r3, r6
+ mov r7, #0
+ mov r0, r0, asr #0x4
+ mov r8, r0, lsl #0x1
+ mov r2, r8, lsl #0x1
+ mov r0, r5, lsl #0x1
+ ldrsh sb, [ip, r0]
+ adds r5, r1, #0x800
+ add r8, r8, #1
+ umull r1, r0, sb, r6
+ mov r5, r5, lsr #0xc
+ ldrsh r2, [ip, r2]
+ mov r8, r8, lsl #0x1
+ ldrsh ip, [ip, r8]
+ mla lr, r3, r7, lr
+ mov r3, r3, asr #0x1f
+ mla lr, r3, r6, lr
+ adc r3, lr, #0
+ orr r5, r5, r3, lsl #20
+ mla r0, sb, r7, r0
+ mov r3, sb, asr #0x1f
+ mla r0, r3, r6, r0
+ smull r7, r6, r2, r5
+ smull r3, r2, ip, r5
+ adds r7, r7, #0x800
+ adc r5, r6, #0
+ mov r6, r7, lsr #0xc
+ orr r6, r6, r5, lsl #20
+ adds r1, r1, #0x800
+ adc r0, r0, #0
+ mov r5, r1, lsr #0xc
+ orr r5, r5, r0, lsl #20
+ adds r1, r3, #0x800
+ adc r0, r2, #0
+ mov r1, r1, lsr #0xc
+ orr r1, r1, r0, lsl #20
+ ldr r0, [r4]
+ add r0, r0, r6
+ str r0, [r4]
+ ldr r0, [r4, #4]
+ add r0, r0, r5
+ str r0, [r4, #4]
+ ldr r0, [r4, #8]
+ add r0, r0, r1
+ str r0, [r4, #8]
+ b _020ab604
+_020ab5f4:
+ ldr r0, [r4, #4]
+ add r0, r0, #0x33
+ add r0, r0, #0xb00
+ str r0, [r4, #4]
+_020ab604:
+ mov r0, #1
+ ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020ab4a4
+_020ab60c: .word data_02050f54
+_020ab610: .word 0x00000b33
+
+ .global func_ov00_020ab614
+ arm_func_start func_ov00_020ab614
+func_ov00_020ab614: ; 0x020ab614
+ stmdb sp!, {r4, r5, lr}
+ sub sp, sp, #0xc
+ mov r5, r0
+ mov r4, r1
+ bl func_ov00_020a8ca4
+ movs ip, r0
+ addeq sp, sp, #0xc
+ ldmeqia sp!, {r4, r5, pc}
+ ldr r0, _020ab67c ; =data_027e0d0c
+ add r3, sp, #0
+ ldmia r0, {r0, r1, r2}
+ stmia r3, {r0, r1, r2}
+ mov r0, ip
+ ldr r2, [r0]
+ cmp r4, #0
+ moveq r4, r3
+ ldr r2, [r2, #0x5c]
+ mov r1, r4
+ blx r2
+ mov r0, r5
+ bl func_ov00_020a8cc4
+ mvn r1, #0
+ str r1, [r0]
+ str r1, [r0, #4]
+ add sp, sp, #0xc
+ ldmia sp!, {r4, r5, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020ab614
+_020ab67c: .word data_027e0d0c
+
+ .global func_ov00_020ab680
+ arm_func_start func_ov00_020ab680
+func_ov00_020ab680: ; 0x020ab680
+ stmdb sp!, {r3, r4, r5, lr}
+ mov r5, r0
+ mov r4, r1
+ bl func_ov00_020a8ca4
+ cmp r0, #0
+ ldmeqia sp!, {r3, r4, r5, pc}
+ ldr r1, [r0, #4]
+ ldr r0, _020ab6c0 ; =0x424f4d42
+ cmp r1, r0
+ ldrne r0, _020ab6c4 ; =0x4b4f4b4f
+ cmpne r1, r0
+ ldmneia sp!, {r3, r4, r5, pc}
+ mov r0, r5
+ mov r1, r4
+ bl func_ov00_020ab614
+ ldmia sp!, {r3, r4, r5, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020ab680
+_020ab6c0: .word 0x424f4d42
+_020ab6c4: .word 0x4b4f4b4f
+
+ .global func_ov00_020ab6c8
+ arm_func_start func_ov00_020ab6c8
+func_ov00_020ab6c8: ; 0x020ab6c8
+ stmdb sp!, {r4, lr}
+ mov r4, r0
+ bl func_ov00_020a8ca4
+ cmp r0, #0
+ ldmeqia sp!, {r4, pc}
+ ldr r2, [r0, #4]
+ ldr r1, _020ab758 ; =0x4b4f4b4f
+ cmp r2, r1
+ bhi _020ab714
+ bhs _020ab740
+ ldr r1, _020ab75c ; =0x424f4d42
+ cmp r2, r1
+ bhi _020ab704
+ beq _020ab740
+ b _020ab748
+_020ab704:
+ ldr r1, _020ab760 ; =0x4452554d
+ cmp r2, r1
+ beq _020ab740
+ b _020ab748
+_020ab714:
+ ldr r1, _020ab764 ; =0x54415255
+ cmp r2, r1
+ bhi _020ab734
+ bhs _020ab740
+ ldr r1, _020ab768 ; =0x53544e45
+ cmp r2, r1
+ beq _020ab740
+ b _020ab748
+_020ab734:
+ ldr r1, _020ab76c ; =0x54535542
+ cmp r2, r1
+ bne _020ab748
+_020ab740:
+ bl func_ov00_020c3180
+ ldmia sp!, {r4, pc}
+_020ab748:
+ mov r0, r4
+ mov r1, #0
+ bl func_ov00_020ab614
+ ldmia sp!, {r4, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020ab6c8
+_020ab758: .word 0x4b4f4b4f
+_020ab75c: .word 0x424f4d42
+_020ab760: .word 0x4452554d
+_020ab764: .word 0x54415255
+_020ab768: .word 0x53544e45
+_020ab76c: .word 0x54535542
+
+ .global func_ov00_020ab770
+ arm_func_start func_ov00_020ab770
+func_ov00_020ab770: ; 0x020ab770
+ stmdb sp!, {r4, r5, r6, lr}
+ ldr r2, _020ab7b8 ; =data_027e0fb8
+ mov r6, r0
+ ldr r0, [r2]
+ mov r5, r1
+ bl func_ov00_020aeffc
+ movs r4, r0
+ beq _020ab7a8
+ mov r0, r6
+ mov r1, r5
+ mov r2, r4
+ bl func_ov00_020ab7bc
+ cmp r0, #0
+ bne _020ab7b0
+_020ab7a8:
+ mov r0, #0
+ ldmia sp!, {r4, r5, r6, pc}
+_020ab7b0:
+ ldr r0, [r4, #0x12c]
+ ldmia sp!, {r4, r5, r6, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020ab770
+_020ab7b8: .word data_027e0fb8
+
+ .global func_ov00_020ab7bc
+ arm_func_start func_ov00_020ab7bc
+func_ov00_020ab7bc: ; 0x020ab7bc
+ stmdb sp!, {r4, r5, lr}
+ sub sp, sp, #0x1c
+ ldr r3, [r2, #0x48]
+ mov r5, r1
+ str r3, [r5]
+ ldr r1, [r2, #0x4c]
+ mov r4, r0
+ str r1, [r5, #4]
+ ldr r0, [r2, #0x50]
+ str r0, [r5, #8]
+ ldr r0, [r2, #0x12c]
+ cmp r0, #2
+ beq _020ab7fc
+ cmp r0, #3
+ beq _020ab818
+ b _020ab8c0
+_020ab7fc:
+ bl func_ov00_020a7b8c
+ ldr r2, [r0]
+ mov r1, #1
+ ldr r2, [r2, #0x14]
+ blx r2
+ add sp, sp, #0x1c
+ ldmia sp!, {r4, r5, pc}
+_020ab818:
+ add r1, sp, #0
+ mov r0, r2
+ bl func_ov00_020c2a0c
+ mov r0, r4
+ bl func_ov00_020a8c4c
+ add r2, sp, #0x10
+ mov r1, r5
+ bl func_01ff9bf8
+ ldr r1, [sp, #0xc]
+ ldr r0, [sp, #0x10]
+ add r2, r1, #0x66
+ ldr r1, [sp, #0x18]
+ add r4, r2, #0x600
+ bl func_01ffa0f4
+ mov r0, r0, lsl #0x10
+ mov r0, r0, asr #0x10
+ bl func_0202bbbc
+ cmp r0, #3
+ addls pc, pc, r0, lsl #2
+ b _020ab8b4
+_020ab868: ; jump table
+ b _020ab878 ; case 0
+ b _020ab888 ; case 1
+ b _020ab898 ; case 2
+ b _020ab8a8 ; case 3
+_020ab878:
+ ldr r0, [r5]
+ add r0, r0, r4
+ str r0, [r5]
+ b _020ab8b4
+_020ab888:
+ ldr r0, [r5]
+ sub r0, r0, r4
+ str r0, [r5]
+ b _020ab8b4
+_020ab898:
+ ldr r0, [r5, #8]
+ add r0, r0, r4
+ str r0, [r5, #8]
+ b _020ab8b4
+_020ab8a8:
+ ldr r0, [r5, #8]
+ sub r0, r0, r4
+ str r0, [r5, #8]
+_020ab8b4:
+ add sp, sp, #0x1c
+ mov r0, #1
+ ldmia sp!, {r4, r5, pc}
+_020ab8c0:
+ mov r0, #1
+ add sp, sp, #0x1c
+ ldmia sp!, {r4, r5, pc}
+ arm_func_end func_ov00_020ab7bc
+
+ .global func_ov00_020ab8cc
+ arm_func_start func_ov00_020ab8cc
+func_ov00_020ab8cc: ; 0x020ab8cc
+ stmdb sp!, {r3, r4, r5, lr}
+ mov r5, r0
+ mov r4, r1
+ bl func_ov00_020a8c4c
+ mov r1, r0
+ mov r0, r4
+ add r2, r5, #0x18
+ bl func_01ff9bf8
+ add r0, r5, #0x18
+ mov r2, r0
+ mov r1, #0x1000
+ bl func_0202da8c
+ mov r0, #5
+ str r0, [r5, #4]
+ ldmia sp!, {r3, r4, r5, pc}
+ arm_func_end func_ov00_020ab8cc
+
+ .global func_ov00_020ab908
+ arm_func_start func_ov00_020ab908
+func_ov00_020ab908: ; 0x020ab908
+ stmdb sp!, {r3, r4, r5, lr}
+ mov r5, r0
+ mov r4, r1
+ bl func_ov00_020a8c4c
+ mov r1, r0
+ mov r0, r4
+ add r2, r5, #0x18
+ bl func_01ff9bf8
+ mov r0, #3
+ str r0, [r5, #4]
+ ldmia sp!, {r3, r4, r5, pc}
+ arm_func_end func_ov00_020ab908
+
+ .global func_ov00_020ab934
+ arm_func_start func_ov00_020ab934
+func_ov00_020ab934: ; 0x020ab934
+ stmdb sp!, {r3, r4, r5, lr}
+ mov r5, r0
+ mov r4, r1
+ bl func_ov00_020a8ca4
+ cmp r0, #0
+ ldmeqia sp!, {r3, r4, r5, pc}
+ mov r0, r5
+ bl func_ov00_020a8c4c
+ mov r1, r0
+ mov r0, r4
+ add r2, r5, #0x18
+ bl func_01ff9bf8
+ mov r2, #3
+ mov r0, r5
+ mov r1, #2
+ str r2, [r5, #4]
+ bl func_ov00_020a8138
+ ldmia sp!, {r3, r4, r5, pc}
+ arm_func_end func_ov00_020ab934
+
+ .global func_ov00_020ab97c
+ arm_func_start func_ov00_020ab97c
+func_ov00_020ab97c: ; 0x020ab97c
+ stmdb sp!, {r3, r4, r5, lr}
+ mov r5, r0
+ mov r4, r1
+ bl func_ov00_020a8ca4
+ cmp r0, #0
+ ldmeqia sp!, {r3, r4, r5, pc}
+ mov r0, r5
+ bl func_ov00_020a8c4c
+ mov r1, r0
+ mov r0, r4
+ add r2, r5, #0x18
+ bl func_01ff9bf8
+ mov r0, #4
+ str r0, [r5, #4]
+ ldmia sp!, {r3, r4, r5, pc}
+ arm_func_end func_ov00_020ab97c
+
+ .global func_ov00_020ab9b8
+ arm_func_start func_ov00_020ab9b8
+func_ov00_020ab9b8: ; 0x020ab9b8
+ stmdb sp!, {r3, r4, r5, r6, r7, lr}
+ sub sp, sp, #0x18
+ mov r7, r0
+ mov r6, r1
+ mov r5, r2
+ bl func_ov00_020a8ca4
+ movs r4, r0
+ addeq sp, sp, #0x18
+ ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
+ cmp r5, #0
+ mov r5, #1
+ beq _020aba70
+ mov r0, r7
+ bl func_ov00_020a8c4c
+ add r3, sp, #0xc
+ ldmia r0, {r0, r1, r2}
+ stmia r3, {r0, r1, r2}
+ mov r0, r7
+ bl func_ov00_020a8c4c
+ add r2, sp, #0xc
+ add r1, r7, #0x18
+ bl func_01ff9bc4
+ ldr r1, [r4, #4]
+ ldr r0, _020abb64 ; =0x424b4559
+ cmp r1, r0
+ beq _020aba30
+ ldr r0, _020abb68 ; =0x464f5243
+ cmp r1, r0
+ beq _020aba54
+ b _020aba70
+_020aba30:
+ add r1, sp, #0xc
+ mov r0, r4
+ bl func_ov17_0215dff0
+ cmp r0, #0
+ beq _020aba70
+ mov r0, r7
+ mov r5, #0
+ bl func_ov00_020aa818
+ b _020aba70
+_020aba54:
+ add r1, sp, #0xc
+ mov r0, r4
+ bl func_ov17_0215e338
+ cmp r0, #0
+ beq _020aba70
+ mov r0, r7
+ bl func_ov00_020aa818
+_020aba70:
+ cmp r5, #0
+ beq _020abb30
+ mov r1, #0
+ mov r0, r7
+ str r1, [sp]
+ str r1, [sp, #4]
+ str r1, [sp, #8]
+ bl func_ov00_020a8c78
+ ldrh r5, [r0]
+ ldr r2, _020abb6c ; =0x0000028f
+ mov r3, #0
+ umull r1, r0, r6, r2
+ mla r0, r6, r3, r0
+ mov r3, r6, asr #0x1f
+ mov r5, r5, asr #0x4
+ mov ip, r5, lsl #0x1
+ mla r0, r3, r2, r0
+ adds r1, r1, #0x800
+ add r5, ip, #1
+ ldr r6, _020abb70 ; =data_02050f54
+ mov r3, ip, lsl #0x1
+ mov r2, r5, lsl #0x1
+ ldrsh r3, [r6, r3]
+ adc r0, r0, #0
+ mov r1, r1, lsr #0xc
+ orr r1, r1, r0, lsl #20
+ smull r0, r5, r3, r1
+ adds r3, r0, #0x800
+ ldrsh r2, [r6, r2]
+ mov r3, r3, lsr #0xc
+ smull r1, r0, r2, r1
+ adc r2, r5, #0
+ adds r1, r1, #0x800
+ orr r3, r3, r2, lsl #20
+ ldr r5, [sp]
+ adc r0, r0, #0
+ mov r1, r1, lsr #0xc
+ orr r1, r1, r0, lsl #20
+ ldr r2, [sp, #8]
+ add r3, r5, r3
+ add r1, r2, r1
+ str r1, [sp, #8]
+ mov r0, r4
+ str r3, [sp]
+ ldr r2, [r0]
+ add r1, sp, #0
+ ldr r2, [r2, #0x5c]
+ blx r2
+_020abb30:
+ mov r0, r7
+ bl func_ov00_020a8cc4
+ mvn r1, #0
+ str r1, [r0]
+ str r1, [r0, #4]
+ mov r0, r7
+ bl func_ov00_020a8c4c
+ mov r2, r0
+ ldr r0, _020abb74 ; =data_ov00_020eec9c
+ mov r1, #0xcc
+ bl func_ov00_020d7a84
+ add sp, sp, #0x18
+ ldmia sp!, {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020ab9b8
+_020abb64: .word 0x424b4559
+_020abb68: .word 0x464f5243
+_020abb6c: .word 0x0000028f
+_020abb70: .word data_02050f54
+_020abb74: .word data_ov00_020eec9c
+
+ .global func_ov00_020abb78
+ arm_func_start func_ov00_020abb78
+func_ov00_020abb78: ; 0x020abb78
+ stmdb sp!, {r3, lr}
+ ldr r3, [r1]
+ mov r2, #6
+ str r3, [r0, #0x10]
+ ldr r3, [r1, #4]
+ mov r1, #2
+ str r3, [r0, #0x14]
+ bl func_ov00_020a8148
+ mov r0, #1
+ ldmia sp!, {r3, pc}
+ arm_func_end func_ov00_020abb78
+
+ .global func_ov00_020abba0
+ arm_func_start func_ov00_020abba0
+func_ov00_020abba0: ; 0x020abba0
+ stmdb sp!, {r3, r4, r5, lr}
+ mov r5, r0
+ mov r4, r1
+ bl func_ov00_020abc40
+ cmp r0, #0
+ beq _020abbc8
+ mov r0, r5
+ mov r1, r4
+ bl func_ov00_020abb78
+ ldmia sp!, {r3, r4, r5, pc}
+_020abbc8:
+ ldr r0, [r4]
+ str r0, [r5, #0x10]
+ ldr r0, [r4, #4]
+ str r0, [r5, #0x14]
+ ldmia sp!, {r3, r4, r5, pc}
+ arm_func_end func_ov00_020abba0
+
+ .global func_ov00_020abbdc
+ arm_func_start func_ov00_020abbdc
+func_ov00_020abbdc: ; 0x020abbdc
+ stmdb sp!, {r3, r4, r5, lr}
+ mov r5, r0
+ mov r4, r1
+ bl func_ov00_020abc40
+ cmp r0, #0
+ beq _020abc04
+ mov r0, r5
+ mov r1, r4
+ bl func_ov00_020abb78
+ ldmia sp!, {r3, r4, r5, pc}
+_020abc04:
+ ldr r0, [r4]
+ str r0, [r5, #0x10]
+ ldr r0, [r4, #4]
+ str r0, [r5, #0x14]
+ ldmia sp!, {r3, r4, r5, pc}
+ arm_func_end func_ov00_020abbdc
+
+ .global func_ov00_020abc18
+ arm_func_start func_ov00_020abc18
+func_ov00_020abc18: ; 0x020abc18
+ stmdb sp!, {r3, r4, r5, lr}
+ mov r5, r0
+ mov r4, r1
+ bl func_ov00_020abc40
+ cmp r0, #0
+ ldmeqia sp!, {r3, r4, r5, pc}
+ mov r0, r5
+ mov r1, r4
+ bl func_ov00_020abb78
+ ldmia sp!, {r3, r4, r5, pc}
+ arm_func_end func_ov00_020abc18
+
+ .global func_ov00_020abc40
+ arm_func_start func_ov00_020abc40
+func_ov00_020abc40: ; 0x020abc40
+ stmdb sp!, {r4, lr}
+ mov r4, r0
+ bl func_ov00_020a8bf8
+ cmp r0, #2
+ ldreq r0, [r4, #4]
+ cmpeq r0, #6
+ beq _020abc70
+ mov r0, r4
+ bl func_ov00_020a8bf8
+ cmp r0, #6
+ movne r0, #1
+ ldmneia sp!, {r4, pc}
+_020abc70:
+ mov r0, #0
+ ldmia sp!, {r4, pc}
+ arm_func_end func_ov00_020abc40
+
+ .global func_ov00_020abc78
+ arm_func_start func_ov00_020abc78
+func_ov00_020abc78: ; 0x020abc78
+ stmdb sp!, {r4, r5, r6, lr}
+ mov r5, r0
+ mov r4, r1
+ bl func_ov00_020a8b80
+ cmp r0, #0
+ moveq r0, #0
+ ldmeqia sp!, {r4, r5, r6, pc}
+ mov r0, r5
+ bl func_ov00_020a8ca4
+ cmp r0, #0
+ movne r0, #0
+ ldmneia sp!, {r4, r5, r6, pc}
+ mov r0, r5
+ bl func_ov00_020a8bf8
+ cmp r0, #0
+ beq _020abce0
+ cmp r0, #1
+ bne _020abcd8
+ ldr r0, _020abd6c ; =data_027e0fb8
+ mov r1, #0
+ ldr r0, [r0]
+ strb r1, [r0, #0x79]
+ strb r1, [r0, #0x7b]
+ b _020abce0
+_020abcd8:
+ mov r0, #0
+ ldmia sp!, {r4, r5, r6, pc}
+_020abce0:
+ ldr r0, _020abd70 ; =data_027e0fe4
+ mov r1, r4
+ ldr r0, [r0]
+ bl func_ov00_020c3674
+ mov r6, r0
+ mov r0, r5
+ bl func_ov00_020a8cc4
+ ldr r2, [r4]
+ add r1, r6, #0x48
+ str r2, [r0]
+ ldr r2, [r4, #4]
+ str r2, [r0, #4]
+ mov r0, r5
+ bl func_ov00_020a81ec
+ ldr r1, [r4]
+ mov r0, r5
+ str r1, [r5, #0x10]
+ ldr r1, [r4, #4]
+ str r1, [r5, #0x14]
+ bl func_ov00_020a8c4c
+ mov r2, r0
+ ldr r0, _020abd74 ; =data_ov00_020eec9c
+ mov r1, #0xcb
+ bl func_ov00_020d7a84
+ mov r0, r5
+ bl func_ov00_020a8ca4
+ ldr r1, [r0]
+ ldr r1, [r1, #0x58]
+ blx r1
+ mov r0, r5
+ mov r1, #2
+ mov r2, r1
+ bl func_ov00_020a8148
+ mov r0, #1
+ ldmia sp!, {r4, r5, r6, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020abc78
+_020abd6c: .word data_027e0fb8
+_020abd70: .word data_027e0fe4
+_020abd74: .word data_ov00_020eec9c
+
+ .global func_ov00_020abd78
+ thumb_func_start func_ov00_020abd78
+func_ov00_020abd78: ; 0x020abd78
+ bx lr
+ .align 2, 0
+ thumb_func_end func_ov00_020abd78
+
+ .global func_ov00_020abd7c
+ arm_func_start func_ov00_020abd7c
+func_ov00_020abd7c: ; 0x020abd7c
+ mov r0, #1
+ bx lr
+ arm_func_end func_ov00_020abd7c
+
+ .global func_ov00_020abd84
+ arm_func_start func_ov00_020abd84
+func_ov00_020abd84: ; 0x020abd84
+ ldr r0, [r0, #0x14]
+ cmp r0, #8
+ bne _020abd98
+ mov r0, #0
+ bx lr
+_020abd98:
+ mvn r0, #0
+ bx lr
+ arm_func_end func_ov00_020abd84
+
+ .global func_ov00_020abda0
+ arm_func_start func_ov00_020abda0
+func_ov00_020abda0: ; 0x020abda0
+ stmdb sp!, {r4, r5, r6, lr}
+ mov r5, r0
+ mov r4, r1
+ bl func_ov00_020a7fac
+ ldr r0, [r5, #0x14]
+ cmp r0, #0xa
+ addls pc, pc, r0, lsl #2
+ b _020abe68
+_020abdc0: ; jump table
+ b _020abe68 ; case 0
+ b _020abe68 ; case 1
+ b _020abe68 ; case 2
+ b _020abe60 ; case 3
+ b _020abe1c ; case 4
+ b _020abe68 ; case 5
+ b _020abe2c ; case 6
+ b _020abdec ; case 7
+ b _020abe38 ; case 8
+ b _020abe44 ; case 9
+ b _020abe44 ; case 10
+_020abdec:
+ ldr r0, _020abf44 ; =data_027e103c
+ ldr r0, [r0]
+ bl func_ov00_020cf01c
+ ldrb r0, [r0, #0xe0]
+ cmp r0, #0
+ bne _020abe0c
+ bl func_ov00_020abf50
+ bl func_ov14_0213ec64
+_020abe0c:
+ ldr r0, _020abf48 ; =data_027e1098
+ ldr r0, [r0]
+ blx func_ov14_0211fd04
+ b _020abe68
+_020abe1c:
+ mov r0, r5
+ mov r1, r4
+ bl func_ov55_02198f90
+ b _020abe68
+_020abe2c:
+ mov r0, r5
+ bl func_ov57_0219a32c
+ b _020abe68
+_020abe38:
+ mov r0, r5
+ bl func_ov59_0219931c
+ b _020abe68
+_020abe44:
+ ldr r0, _020abf44 ; =data_027e103c
+ mov r1, #0
+ ldr r0, [r0]
+ mov r2, r1
+ strb r1, [r0, #0x2a]
+ bl func_ov00_020cf9dc
+ b _020abe68
+_020abe60:
+ mov r0, r5
+ bl func_ov54_021997f0
+_020abe68:
+ ldr r1, [r5, #0x14]
+ mvn r0, #0
+ cmp r1, r0
+ beq _020abe8c
+ mov r0, r5
+ bl func_ov00_020a8d28
+ ldr r1, [r0]
+ ldr r1, [r1, #0x1c]
+ blx r1
+_020abe8c:
+ ldr r1, [r5, #0x14]
+ cmp r1, #9
+ bgt _020abec0
+ bge _020abec8
+ cmp r1, #1
+ bgt _020abed4
+ mvn r0, #0
+ cmp r1, r0
+ blt _020abed4
+ cmpne r1, #0
+ cmpne r1, #1
+ beq _020abef4
+ b _020abed4
+_020abec0:
+ cmp r1, #0xa
+ bne _020abed4
+_020abec8:
+ mov r0, r5
+ bl func_ov00_020a8158
+ b _020abef4
+_020abed4:
+ mov r0, r5
+ bl func_ov00_020a8158
+ cmp r4, #4
+ cmpne r4, #2
+ beq _020abef4
+ bl func_ov00_020abf60
+ mov r1, #1
+ strb r1, [r0, #0x14]
+_020abef4:
+ mvn r0, #0
+ add r6, r5, #0x50
+ add r4, r5, #0x58
+ str r0, [r5, #0x18]
+ cmp r6, r4
+ beq _020abf20
+_020abf0c:
+ mov r0, r6
+ bl func_ov00_020b7e6c
+ add r6, r6, #4
+ cmp r6, r4
+ bne _020abf0c
+_020abf20:
+ ldr r0, _020abf4c ; =data_027e0fb8
+ ldr r0, [r0]
+ ldrb r1, [r0, #0x80]
+ cmp r1, #0
+ beq _020abf38
+ bl func_ov00_020af050
+_020abf38:
+ mov r0, #0
+ strb r0, [r5, #0x26]
+ ldmia sp!, {r4, r5, r6, pc}
+ .align 2, 0
+ arm_func_end func_ov00_020abda0
+_020abf44: .word data_027e103c
+_020abf48: .word data_027e1098
+_020abf4c: .word data_027e0fb8
+
+ .global func_ov00_020abf50
+ arm_func_start func_ov00_020abf50
+func_ov00_020abf50: ; 0x020abf50
+ ldr ip, _020abf5c ; =func_01fffcec
+ mov r0, #7
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020abf50
+_020abf5c: .word func_01fffcec
+
+ .global func_ov00_020abf60
+ arm_func_start func_ov00_020abf60
+func_ov00_020abf60: ; 0x020abf60
+ ldr ip, _020abf6c ; =func_01fffcd8
+ mov r0, #0
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020abf60
+_020abf6c: .word func_01fffcd8
+
+ .global func_ov00_020abf70
+ arm_func_start func_ov00_020abf70
+func_ov00_020abf70: ; 0x020abf70
+ ldr r1, _020abf88 ; =data_027e0f74
+ mov r2, r0
+ ldr r0, [r1]
+ ldr ip, _020abf8c ; =func_ov00_02097b9c
+ ldr r1, [r2, #0x5c]
+ bx ip
+ .align 2, 0
+ arm_func_end func_ov00_020abf70
+_020abf88: .word data_027e0f74
+_020abf8c: .word func_ov00_02097b9c
+
+ .global func_ov00_020abf90
+ arm_func_start func_ov00_020abf90
+func_ov00_020abf90: ; 0x020abf90
+ ldr r0, [r0, #0x5c]
+ cmp r0, #0
+ movlt r0, #1
+ movge r0, #0
+ bx lr
+ arm_func_end func_ov00_020abf90
+
+ .rodata
+ .global data_ov00_020dc528
+data_ov00_020dc528: ; 0x020dc528
+ .ascii "zdf_link_ice"
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020dc538
+data_ov00_020dc538: ; 0x020dc538
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020dc53c
+data_ov00_020dc53c: ; 0x020dc53c
+ .ascii "zdf_link_ice"
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020dc54c
+data_ov00_020dc54c: ; 0x020dc54c
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020dc550
+data_ov00_020dc550: ; 0x020dc550
+ .byte 0xec, 0x01, 0x00, 0x00
+ .global data_ov00_020dc554
+data_ov00_020dc554: ; 0x020dc554
+ .byte 0x3c, 0x00, 0x00, 0x00
+ .global data_ov00_020dc558
+data_ov00_020dc558: ; 0x020dc558
+ .byte 0xae, 0x13, 0x00, 0x00
+ .global data_ov00_020dc55c
+data_ov00_020dc55c: ; 0x020dc55c
+ .byte 0x0f, 0x00, 0x00, 0x00
+ .global data_ov00_020dc560
+
+ .data
+ .global data_ov00_020e56f0
+data_ov00_020e56f0: ; 0x020e56f0
+ .byte 0x00, 0x08, 0x00, 0x00
+ .global data_ov00_020e56f4
+data_ov00_020e56f4: ; 0x020e56f4
+ .byte 0x00, 0x01, 0x00, 0x00
+ .global data_ov00_020e56f8
+data_ov00_020e56f8: ; 0x020e56f8
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e56fc
+data_ov00_020e56fc: ; 0x020e56fc
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5700
+data_ov00_020e5700: ; 0x020e5700
+ .word func_ov00_020a8e04
+ .global data_ov00_020e5704
+data_ov00_020e5704: ; 0x020e5704
+ .word func_ov04_0210aef4 ; data_ov07_0210aef4
+ .global data_ov00_020e5708
+data_ov00_020e5708: ; 0x020e5708
+ .word func_ov04_0210af00 ; data_ov07_0210af00
+ .global data_ov00_020e570c
+data_ov00_020e570c: ; 0x020e570c
+ .word func_ov00_020a8e08 - 1
+ .global data_ov00_020e5710
+data_ov00_020e5710: ; 0x020e5710
+ .word func_ov00_020a8e10
+ .global data_ov00_020e5714
+data_ov00_020e5714: ; 0x020e5714
+ .word func_ov00_020a8e58 - 1
+ .global data_ov00_020e5718
+data_ov00_020e5718: ; 0x020e5718
+ .word func_ov00_020a8ecc - 1
+ .global data_ov00_020e571c
+data_ov00_020e571c: ; 0x020e571c
+ .word data_ov04_021113dc ; func_ov05_021113dc
+ .global data_ov00_020e5720
+data_ov00_020e5720: ; 0x020e5720
+ .word func_ov00_020a7fb0
+ .global data_ov00_020e5724
+data_ov00_020e5724: ; 0x020e5724
+ .word func_ov00_020a8eec - 1
+ .global data_ov00_020e5728
+data_ov00_020e5728: ; 0x020e5728
+ .word func_ov00_020a8108
+ .global data_ov00_020e572c
+data_ov00_020e572c: ; 0x020e572c
+ .word func_ov05_0210f704
+ .global data_ov00_020e5730
+data_ov00_020e5730: ; 0x020e5730
+ .word func_ov05_0210f708
+ .global data_ov00_020e5734
+data_ov00_020e5734: ; 0x020e5734
+ .word func_ov00_020a8110
+ .global data_ov00_020e5738
+data_ov00_020e5738: ; 0x020e5738
+ .word func_ov05_0210f70c
+ .global data_ov00_020e573c
+data_ov00_020e573c: ; 0x020e573c
+ .word func_ov05_02111a98
+ .global data_ov00_020e5740
+data_ov00_020e5740: ; 0x020e5740
+ .word func_ov05_0210f71c
+ .global data_ov00_020e5744
+data_ov00_020e5744: ; 0x020e5744
+ .byte 0x91, 0xa7
+ .global data_ov00_020e5746
+data_ov00_020e5746: ; 0x020e5746
+ .byte 0x90, 0x81
+ .global data_ov00_020e5748
+data_ov00_020e5748: ; 0x020e5748
+ .byte 0x82, 0xab
+ .global data_ov00_020e574a
+data_ov00_020e574a: ; 0x020e574a
+ .byte 0x83, 0x7b
+ .global data_ov00_020e574c
+data_ov00_020e574c: ; 0x020e574c
+ .byte 0x83, 0x8a
+ .global data_ov00_020e574e
+data_ov00_020e574e: ; 0x020e574e
+ .byte 0x83, 0x85
+ .global data_ov00_020e5750
+data_ov00_020e5750: ; 0x020e5750
+ .byte 0x81, 0x5b
+ .global data_ov00_020e5752
+data_ov00_020e5752: ; 0x020e5752
+ .byte 0x83, 0x80
+ .global data_ov00_020e5754
+data_ov00_020e5754: ; 0x020e5754
+ .byte 0x92, 0xe1
+ .global data_ov00_020e5756
+data_ov00_020e5756: ; 0x020e5756
+ .byte 0x89, 0xba
+ .global data_ov00_020e5758
+data_ov00_020e5758: ; 0x020e5758
+ .byte 0x97, 0xa6
+ .global data_ov00_020e575a
+data_ov00_020e575a: ; 0x020e575a
+ .byte 0x00, 0x00
+ .global data_ov00_020e575c
+data_ov00_020e575c: ; 0x020e575c
+ .ascii "brg"
+ .byte 0x00
+ .global data_ov00_020e5760
+data_ov00_020e5760: ; 0x020e5760
+ .ascii "fnl"
+ .byte 0x00
+ .global data_ov00_020e5764
+data_ov00_020e5764: ; 0x020e5764
+ .ascii "pdl"
+ .byte 0x00
+ .global data_ov00_020e5768
+data_ov00_020e5768: ; 0x020e5768
+ .ascii "dco"
+ .byte 0x00
+ .global data_ov00_020e576c
+data_ov00_020e576c: ; 0x020e576c
+ .ascii "can"
+ .byte 0x00
+ .global data_ov00_020e5770
+data_ov00_020e5770: ; 0x020e5770
+ .ascii "hul"
+ .byte 0x00
+ .global data_ov00_020e5774
+data_ov00_020e5774: ; 0x020e5774
+ .ascii "bow"
+ .byte 0x00
+ .global data_ov00_020e5778
+data_ov00_020e5778: ; 0x020e5778
+ .ascii "anc"
+ .byte 0x00
+ .global data_ov00_020e577c
+data_ov00_020e577c: ; 0x020e577c
+ .word data_ov00_020e5778
+ .global data_ov00_020e5780
+data_ov00_020e5780: ; 0x020e5780
+ .word data_ov00_020e5774
+ .global data_ov00_020e5784
+data_ov00_020e5784: ; 0x020e5784
+ .word data_ov00_020e5770
+ .global data_ov00_020e5788
+data_ov00_020e5788: ; 0x020e5788
+ .word data_ov00_020e576c
+ .global data_ov00_020e578c
+data_ov00_020e578c: ; 0x020e578c
+ .word data_ov00_020e5768
+ .global data_ov00_020e5790
+data_ov00_020e5790: ; 0x020e5790
+ .word data_ov00_020e5764
+ .global data_ov00_020e5794
+data_ov00_020e5794: ; 0x020e5794
+ .word data_ov00_020e5760
+ .global data_ov00_020e5798
+data_ov00_020e5798: ; 0x020e5798
+ .word data_ov00_020e575c
+ .global data_ov00_020e579c
+data_ov00_020e579c: ; 0x020e579c
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e57a0
+data_ov00_020e57a0: ; 0x020e57a0
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e57a4
+data_ov00_020e57a4: ; 0x020e57a4
+ .word func_ov00_020a8f74
+ .global data_ov00_020e57a8
+data_ov00_020e57a8: ; 0x020e57a8
+ .word func_ov04_0210ad94 ; data_ov07_0210ad94
+ .global data_ov00_020e57ac
+data_ov00_020e57ac: ; 0x020e57ac
+ .word func_ov04_0210adb0 ; data_ov07_0210adb0
+ .global data_ov00_020e57b0
+data_ov00_020e57b0: ; 0x020e57b0
+ .word func_ov00_020a8f78 - 1
+ .global data_ov00_020e57b4
+data_ov00_020e57b4: ; 0x020e57b4
+ .word func_ov04_0210adf8 ; data_ov07_0210adf8
+ .global data_ov00_020e57b8
+data_ov00_020e57b8: ; 0x020e57b8
+ .word func_ov05_0210b57c ; data_ov07_0210b57c
+ .global data_ov00_020e57bc
+data_ov00_020e57bc: ; 0x020e57bc
+ .word func_ov00_020a9028 - 1
+ .global data_ov00_020e57c0
+data_ov00_020e57c0: ; 0x020e57c0
+ .word func_ov05_0210b97c ; data_ov07_0210b97c
+ .global data_ov00_020e57c4
+data_ov00_020e57c4: ; 0x020e57c4
+ .word func_ov05_0210c20c ; data_ov07_0210c20c
+ .global data_ov00_020e57c8
+data_ov00_020e57c8: ; 0x020e57c8
+ .word func_ov00_020a90b0 - 1
+ .global data_ov00_020e57cc
+data_ov00_020e57cc: ; 0x020e57cc
+ .word func_ov00_020a9130 - 1
+ .global data_ov00_020e57d0
+data_ov00_020e57d0: ; 0x020e57d0
+ .word func_ov05_0210c990 ; data_ov07_0210c990
+ .global data_ov00_020e57d4
+data_ov00_020e57d4: ; 0x020e57d4
+ .word func_ov05_0210f708
+ .global data_ov00_020e57d8
+data_ov00_020e57d8: ; 0x020e57d8
+ .word func_ov00_020a915c - 1
+ .global data_ov00_020e57dc
+data_ov00_020e57dc: ; 0x020e57dc
+ .word func_ov05_0210f70c
+ .global data_ov00_020e57e0
+data_ov00_020e57e0: ; 0x020e57e0
+ .word func_ov05_0210f714
+ .global data_ov00_020e57e4
+data_ov00_020e57e4: ; 0x020e57e4
+ .word func_ov05_0210f71c
+ .global data_ov00_020e57e8
+data_ov00_020e57e8: ; 0x020e57e8
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e57ec
+data_ov00_020e57ec: ; 0x020e57ec
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e57f0
+data_ov00_020e57f0: ; 0x020e57f0
+ .word func_ov00_020a9544 - 1
+ .global data_ov00_020e57f4
+data_ov00_020e57f4: ; 0x020e57f4
+ .word func_ov00_020a9530 - 1
+ .global data_ov00_020e57f8
+data_ov00_020e57f8: ; 0x020e57f8
+ .word func_ov00_020a92fc - 1
+ .global data_ov00_020e57fc
+data_ov00_020e57fc: ; 0x020e57fc
+ .word func_ov00_020a9334 - 1
+ .global data_ov00_020e5800
+data_ov00_020e5800: ; 0x020e5800
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5804
+data_ov00_020e5804: ; 0x020e5804
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5808
+data_ov00_020e5808: ; 0x020e5808
+ .word func_ov00_020a9548 - 1
+ .global data_ov00_020e580c
+data_ov00_020e580c: ; 0x020e580c
+ .word func_ov00_020a9558 - 1
+ .global data_ov00_020e5810
+data_ov00_020e5810: ; 0x020e5810
+ .word func_ov00_020a954c - 1
+ .global data_ov00_020e5814
+data_ov00_020e5814: ; 0x020e5814
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5818
+data_ov00_020e5818: ; 0x020e5818
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e581c
+data_ov00_020e581c: ; 0x020e581c
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5820
+data_ov00_020e5820: ; 0x020e5820
+ .word func_ov00_020a95a4
+ .global data_ov00_020e5824
+data_ov00_020e5824: ; 0x020e5824
+ .word func_ov00_020a95c4
+ .global data_ov00_020e5828
+data_ov00_020e5828: ; 0x020e5828
+ .word func_ov00_020a960c - 1
+ .global data_ov00_020e582c
+data_ov00_020e582c: ; 0x020e582c
+ .word func_ov00_020a9614 - 1
+ .global data_ov00_020e5830
+data_ov00_020e5830: ; 0x020e5830
+ .word func_ov00_020a9650 - 1
+ .global data_ov00_020e5834
+data_ov00_020e5834: ; 0x020e5834
+ .word func_ov00_020a96d4 - 1
+ .global data_ov00_020e5838
+data_ov00_020e5838: ; 0x020e5838
+ .word func_ov00_020a9740 - 1
+ .global data_ov00_020e583c
+data_ov00_020e583c: ; 0x020e583c
+ .word func_ov00_020a9764 - 1
+ .global data_ov00_020e5840
+data_ov00_020e5840: ; 0x020e5840
+ .word func_ov00_020a97d0 - 1
+ .global data_ov00_020e5844
+data_ov00_020e5844: ; 0x020e5844
+ .word func_ov00_020a97e0 - 1
+ .global data_ov00_020e5848
+data_ov00_020e5848: ; 0x020e5848
+ .word func_ov00_020a97f8 - 1
+ .global data_ov00_020e584c
+data_ov00_020e584c: ; 0x020e584c
+ .word func_ov00_020a9864 - 1
+ .global data_ov00_020e5850
+data_ov00_020e5850: ; 0x020e5850
+ .word func_ov00_020a98bc - 1
+ .global data_ov00_020e5854
+data_ov00_020e5854: ; 0x020e5854
+ .word func_ov00_020a9890 - 1
+ .global data_ov00_020e5858
+data_ov00_020e5858: ; 0x020e5858
+ .word func_ov00_020a9968 - 1
+ .global data_ov00_020e585c
+data_ov00_020e585c: ; 0x020e585c
+ .word func_ov00_020a9994 - 1
+ .global data_ov00_020e5860
+data_ov00_020e5860: ; 0x020e5860
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5864
+data_ov00_020e5864: ; 0x020e5864
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5868
+data_ov00_020e5868: ; 0x020e5868
+ .word func_ov00_020a9a20
+ .global data_ov00_020e586c
+data_ov00_020e586c: ; 0x020e586c
+ .word func_ov00_020a9a40
+ .global data_ov00_020e5870
+data_ov00_020e5870: ; 0x020e5870
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5874
+data_ov00_020e5874: ; 0x020e5874
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5878
+data_ov00_020e5878: ; 0x020e5878
+ .word func_ov00_020a9b8c - 1
+ .global data_ov00_020e587c
+data_ov00_020e587c: ; 0x020e587c
+ .word func_ov00_020a9bb8 - 1
+ .global data_ov00_020e5880
+data_ov00_020e5880: ; 0x020e5880
+ .word func_ov00_020a960c - 1
+ .global data_ov00_020e5884
+data_ov00_020e5884: ; 0x020e5884
+ .word func_ov00_020a9614 - 1
+ .global data_ov00_020e5888
+data_ov00_020e5888: ; 0x020e5888
+ .word func_ov00_020a9650 - 1
+ .global data_ov00_020e588c
+data_ov00_020e588c: ; 0x020e588c
+ .word func_ov00_020a96d4 - 1
+ .global data_ov00_020e5890
+data_ov00_020e5890: ; 0x020e5890
+ .word func_ov00_020a9740 - 1
+ .global data_ov00_020e5894
+data_ov00_020e5894: ; 0x020e5894
+ .word func_ov00_020a9764 - 1
+ .global data_ov00_020e5898
+data_ov00_020e5898: ; 0x020e5898
+ .word func_ov00_020a97d0 - 1
+ .global data_ov00_020e589c
+data_ov00_020e589c: ; 0x020e589c
+ .word func_ov00_020a97e0 - 1
+ .global data_ov00_020e58a0
+data_ov00_020e58a0: ; 0x020e58a0
+ .word func_ov00_020a97f8 - 1
+ .global data_ov00_020e58a4
+data_ov00_020e58a4: ; 0x020e58a4
+ .word func_ov00_020a9864 - 1
+ .global data_ov00_020e58a8
+data_ov00_020e58a8: ; 0x020e58a8
+ .word func_ov00_020a98bc - 1
+ .global data_ov00_020e58ac
+data_ov00_020e58ac: ; 0x020e58ac
+ .word func_ov00_020a9890 - 1
+ .global data_ov00_020e58b0
+data_ov00_020e58b0: ; 0x020e58b0
+ .word func_ov00_020a9968 - 1
+ .global data_ov00_020e58b4
+data_ov00_020e58b4: ; 0x020e58b4
+ .word func_ov00_020a9f10 - 1
+ .global data_ov00_020e58b8
+data_ov00_020e58b8: ; 0x020e58b8
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e58bc
+data_ov00_020e58bc: ; 0x020e58bc
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e58c0
+data_ov00_020e58c0: ; 0x020e58c0
+ .word func_ov00_020a9f0c - 1
+ .global data_ov00_020e58c4
+data_ov00_020e58c4: ; 0x020e58c4
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e58c8
+data_ov00_020e58c8: ; 0x020e58c8
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e58cc
+data_ov00_020e58cc: ; 0x020e58cc
+ .word func_ov00_020a9ed8 - 1
+ .global data_ov00_020e58d0
+data_ov00_020e58d0: ; 0x020e58d0
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e58d4
+data_ov00_020e58d4: ; 0x020e58d4
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e58d8
+data_ov00_020e58d8: ; 0x020e58d8
+ .word func_ov00_020a9eb8 - 1
+ .global data_ov00_020e58dc
+data_ov00_020e58dc: ; 0x020e58dc
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e58e0
+data_ov00_020e58e0: ; 0x020e58e0
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e58e4
+data_ov00_020e58e4: ; 0x020e58e4
+ .word func_ov00_020a9eb4 - 1
+ .global data_ov00_020e58e8
+data_ov00_020e58e8: ; 0x020e58e8
+ .ascii "brg"
+ .byte 0x00
+ .global data_ov00_020e58ec
+data_ov00_020e58ec: ; 0x020e58ec
+ .ascii "fnl"
+ .byte 0x00
+ .global data_ov00_020e58f0
+data_ov00_020e58f0: ; 0x020e58f0
+ .ascii "pdl"
+ .byte 0x00
+ .global data_ov00_020e58f4
+data_ov00_020e58f4: ; 0x020e58f4
+ .ascii "dco"
+ .byte 0x00
+ .global data_ov00_020e58f8
+data_ov00_020e58f8: ; 0x020e58f8
+ .ascii "can"
+ .byte 0x00
+ .global data_ov00_020e58fc
+data_ov00_020e58fc: ; 0x020e58fc
+ .ascii "hul"
+ .byte 0x00
+ .global data_ov00_020e5900
+data_ov00_020e5900: ; 0x020e5900
+ .ascii "bow"
+ .byte 0x00
+ .global data_ov00_020e5904
+data_ov00_020e5904: ; 0x020e5904
+ .ascii "anc"
+ .byte 0x00
+ .global data_ov00_020e5908
+data_ov00_020e5908: ; 0x020e5908
+ .word data_ov00_020e5904
+ .global data_ov00_020e590c
+data_ov00_020e590c: ; 0x020e590c
+ .word data_ov00_020e5900
+ .global data_ov00_020e5910
+data_ov00_020e5910: ; 0x020e5910
+ .word data_ov00_020e58fc
+ .global data_ov00_020e5914
+data_ov00_020e5914: ; 0x020e5914
+ .word data_ov00_020e58f8
+ .global data_ov00_020e5918
+data_ov00_020e5918: ; 0x020e5918
+ .word data_ov00_020e58f4
+ .global data_ov00_020e591c
+data_ov00_020e591c: ; 0x020e591c
+ .word data_ov00_020e58f0
+ .global data_ov00_020e5920
+data_ov00_020e5920: ; 0x020e5920
+ .word data_ov00_020e58ec
+ .global data_ov00_020e5924
+data_ov00_020e5924: ; 0x020e5924
+ .word data_ov00_020e58e8
+ .global data_ov00_020e5928
+data_ov00_020e5928: ; 0x020e5928
+ .byte 0x02, 0x00, 0x00, 0x00
+ .global data_ov00_020e592c
+data_ov00_020e592c: ; 0x020e592c
+ .byte 0x1d, 0x00, 0x00, 0x00
+ .global data_ov00_020e5930
+data_ov00_020e5930: ; 0x020e5930
+ .byte 0x66, 0x16, 0x00, 0x00
+ .global data_ov00_020e5934
+data_ov00_020e5934: ; 0x020e5934
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5938
+data_ov00_020e5938: ; 0x020e5938
+ .byte 0x00, 0x50, 0x00, 0x00
+ .global data_ov00_020e593c
+data_ov00_020e593c: ; 0x020e593c
+ .byte 0x1e, 0x00, 0x00, 0x00
+ .global data_ov00_020e5940
+data_ov00_020e5940: ; 0x020e5940
+ .byte 0x99, 0x19, 0x00, 0x00
+ .global data_ov00_020e5944
+data_ov00_020e5944: ; 0x020e5944
+ .byte 0x00, 0x20, 0x00, 0x00
+ .global data_ov00_020e5948
+data_ov00_020e5948: ; 0x020e5948
+ .byte 0x00, 0xa0, 0x00, 0x00
+ .global data_ov00_020e594c
+data_ov00_020e594c: ; 0x020e594c
+ .byte 0x1e, 0x00
+ .global data_ov00_020e594e
+data_ov00_020e594e: ; 0x020e594e
+ .byte 0x00, 0x00
+ .global data_ov00_020e5950
+data_ov00_020e5950: ; 0x020e5950
+ .byte 0x00, 0xe8
+ .global data_ov00_020e5952
+data_ov00_020e5952: ; 0x020e5952
+ .byte 0xff, 0xff
+ .global data_ov00_020e5954
+data_ov00_020e5954: ; 0x020e5954
+ .byte 0x00, 0xa0
+ .global data_ov00_020e5956
+data_ov00_020e5956: ; 0x020e5956
+ .byte 0x00, 0x00
+ .global data_ov00_020e5958
+data_ov00_020e5958: ; 0x020e5958
+ .byte 0x00, 0x00
+ .global data_ov00_020e595a
+data_ov00_020e595a: ; 0x020e595a
+ .byte 0x00, 0x00
+ .global data_ov00_020e595c
+data_ov00_020e595c: ; 0x020e595c
+ .byte 0x22, 0x00, 0x00, 0x00
+ .global data_ov00_020e5960
+data_ov00_020e5960: ; 0x020e5960
+ .byte 0x00, 0x10, 0x00, 0x00
+ .global data_ov00_020e5964
+data_ov00_020e5964: ; 0x020e5964
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5968
+data_ov00_020e5968: ; 0x020e5968
+ .byte 0x00, 0xf0, 0x00, 0x00
+ .global data_ov00_020e596c
+data_ov00_020e596c: ; 0x020e596c
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5970
+data_ov00_020e5970: ; 0x020e5970
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5974
+data_ov00_020e5974: ; 0x020e5974
+ .word func_ov00_020aa32c
+ .global data_ov00_020e5978
+data_ov00_020e5978: ; 0x020e5978
+ .word func_ov04_0210ab88 ; data_ov07_0210ab88
+ .global data_ov00_020e597c
+data_ov00_020e597c: ; 0x020e597c
+ .word func_ov04_0210ab9c ; data_ov07_0210ab9c
+ .global data_ov00_020e5980
+data_ov00_020e5980: ; 0x020e5980
+ .word func_ov00_020aa330 - 1
+ .global data_ov00_020e5984
+data_ov00_020e5984: ; 0x020e5984
+ .word func_ov00_020aa35c
+ .global data_ov00_020e5988
+data_ov00_020e5988: ; 0x020e5988
+ .word func_ov00_020aa534 - 1
+ .global data_ov00_020e598c
+data_ov00_020e598c: ; 0x020e598c
+ .word func_ov00_020aa7b0 - 1
+ .global data_ov00_020e5990
+data_ov00_020e5990: ; 0x020e5990
+ .word func_ov05_0210a648 ; data_ov07_0210a648
+ .global data_ov00_020e5994
+data_ov00_020e5994: ; 0x020e5994
+ .word func_ov00_020aabd8 - 1
+ .global data_ov00_020e5998
+data_ov00_020e5998: ; 0x020e5998
+ .word func_ov00_020ab3f8 - 1
+ .global data_ov00_020e599c
+data_ov00_020e599c: ; 0x020e599c
+ .word func_ov00_020a8108
+ .global data_ov00_020e59a0
+data_ov00_020e59a0: ; 0x020e59a0
+ .word func_ov05_0210b3bc ; data_ov07_0210b3bc
+ .global data_ov00_020e59a4
+data_ov00_020e59a4: ; 0x020e59a4
+ .word func_ov05_0210f708
+ .global data_ov00_020e59a8
+data_ov00_020e59a8: ; 0x020e59a8
+ .word func_ov00_020ab4a4 - 1
+ .global data_ov00_020e59ac
+data_ov00_020e59ac: ; 0x020e59ac
+ .word func_ov05_0210f70c
+ .global data_ov00_020e59b0
+data_ov00_020e59b0: ; 0x020e59b0
+ .word func_ov05_0210f714
+ .global data_ov00_020e59b4
+data_ov00_020e59b4: ; 0x020e59b4
+ .word func_ov05_0210f71c
+ .global data_ov00_020e59b8
+data_ov00_020e59b8: ; 0x020e59b8
+ .byte 0x8e, 0x9d, 0x82, 0xbf
+ .global data_ov00_020e59bc
+data_ov00_020e59bc: ; 0x020e59bc
+ .byte 0x8f, 0xe3, 0x82, 0xb0
+ .global data_ov00_020e59c0
+data_ov00_020e59c0: ; 0x020e59c0
+ .byte 0x8d, 0xc4, 0x90, 0xb6
+ .global data_ov00_020e59c4
+data_ov00_020e59c4: ; 0x020e59c4
+ .byte 0x91, 0xac, 0x93, 0x78
+ .global data_ov00_020e59c8
+data_ov00_020e59c8: ; 0x020e59c8
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e59cc
+data_ov00_020e59cc: ; 0x020e59cc
+ .byte 0x8e, 0x9d, 0x82, 0xbf
+ .global data_ov00_020e59d0
+data_ov00_020e59d0: ; 0x020e59d0
+ .byte 0x8f, 0xe3, 0x82, 0xb0
+ .global data_ov00_020e59d4
+data_ov00_020e59d4: ; 0x020e59d4
+ .byte 0x8a, 0x4a, 0x8e, 0x6e
+ .global data_ov00_020e59d8
+data_ov00_020e59d8: ; 0x020e59d8
+ .byte 0x83, 0x74, 0x83, 0x8c
+ .global data_ov00_020e59dc
+data_ov00_020e59dc: ; 0x020e59dc
+ .byte 0x81, 0x5b, 0x83, 0x80
+ .global data_ov00_020e59e0
+data_ov00_020e59e0: ; 0x020e59e0
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e59e4
+data_ov00_020e59e4: ; 0x020e59e4
+ .byte 0x8e, 0x9d, 0x82, 0xbf
+ .global data_ov00_020e59e8
+data_ov00_020e59e8: ; 0x020e59e8
+ .byte 0x8f, 0xe3, 0x82, 0xb0
+ .global data_ov00_020e59ec
+data_ov00_020e59ec: ; 0x020e59ec
+ .byte 0x8f, 0x49, 0x97, 0xb9
+ .global data_ov00_020e59f0
+data_ov00_020e59f0: ; 0x020e59f0
+ .byte 0x83, 0x74, 0x83, 0x8c
+ .global data_ov00_020e59f4
+data_ov00_020e59f4: ; 0x020e59f4
+ .byte 0x81, 0x5b, 0x83, 0x80
+ .global data_ov00_020e59f8
+data_ov00_020e59f8: ; 0x020e59f8
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e59fc
+data_ov00_020e59fc: ; 0x020e59fc
+ .byte 0x93, 0x8a, 0x82, 0xb0
+ .global data_ov00_020e5a00
+data_ov00_020e5a00: ; 0x020e5a00
+ .byte 0x8d, 0xc4, 0x90, 0xb6
+ .global data_ov00_020e5a04
+data_ov00_020e5a04: ; 0x020e5a04
+ .byte 0x91, 0xac, 0x93, 0x78
+ .global data_ov00_020e5a08
+data_ov00_020e5a08: ; 0x020e5a08
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5a0c
+data_ov00_020e5a0c: ; 0x020e5a0c
+ .byte 0x93, 0x8a, 0x82, 0xb0
+ .global data_ov00_020e5a10
+data_ov00_020e5a10: ; 0x020e5a10
+ .byte 0x8a, 0x4a, 0x8e, 0x6e
+ .global data_ov00_020e5a14
+data_ov00_020e5a14: ; 0x020e5a14
+ .byte 0x83, 0x74, 0x83, 0x8c
+ .global data_ov00_020e5a18
+data_ov00_020e5a18: ; 0x020e5a18
+ .byte 0x81, 0x5b, 0x83, 0x80
+ .global data_ov00_020e5a1c
+data_ov00_020e5a1c: ; 0x020e5a1c
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5a20
+data_ov00_020e5a20: ; 0x020e5a20
+ .byte 0x93, 0x8a, 0x82, 0xb0
+ .global data_ov00_020e5a24
+data_ov00_020e5a24: ; 0x020e5a24
+ .byte 0x8f, 0x49, 0x97, 0xb9
+ .global data_ov00_020e5a28
+data_ov00_020e5a28: ; 0x020e5a28
+ .byte 0x83, 0x74, 0x83, 0x8c
+ .global data_ov00_020e5a2c
+data_ov00_020e5a2c: ; 0x020e5a2c
+ .byte 0x81, 0x5b, 0x83, 0x80
+ .global data_ov00_020e5a30
+data_ov00_020e5a30: ; 0x020e5a30
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5a34
+data_ov00_020e5a34: ; 0x020e5a34
+ .byte 0x92, 0xe2, 0x8e, 0x7e
+ .global data_ov00_020e5a38
+data_ov00_020e5a38: ; 0x020e5a38
+ .byte 0x8e, 0x9e, 0x8a, 0xd4
+ .global data_ov00_020e5a3c
+data_ov00_020e5a3c: ; 0x020e5a3c
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5a40
+data_ov00_020e5a40: ; 0x020e5a40
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5a44
+data_ov00_020e5a44: ; 0x020e5a44
+ .byte 0x00, 0x00, 0x00, 0x00
+ .global data_ov00_020e5a48
+data_ov00_020e5a48: ; 0x020e5a48
+ .word func_ov00_020abd78
+ .global data_ov00_020e5a4c
+data_ov00_020e5a4c: ; 0x020e5a4c
+ .word func_ov04_02109ae8 ; data_ov07_02109ae8
+ .global data_ov00_020e5a50
+data_ov00_020e5a50: ; 0x020e5a50
+ .word func_ov04_02109b08 ; data_ov07_02109b08
+ .global data_ov00_020e5a54
+data_ov00_020e5a54: ; 0x020e5a54
+ .word func_ov00_020abd7c - 1
+ .global data_ov00_020e5a58
+data_ov00_020e5a58: ; 0x020e5a58
+ .word func_ov04_0210adf8 ; data_ov07_0210adf8
+ .global data_ov00_020e5a5c
+data_ov00_020e5a5c: ; 0x020e5a5c
+ .word func_ov05_0210540c ; data_ov07_0210540c
+ .global data_ov00_020e5a60
+data_ov00_020e5a60: ; 0x020e5a60
+ .word func_ov00_020abda0 - 1
+ .global data_ov00_020e5a64
+data_ov00_020e5a64: ; 0x020e5a64
+ .word func_ov05_021055e0 ; data_ov07_021055e0
+ .global data_ov00_020e5a68
+data_ov00_020e5a68: ; 0x020e5a68
+ .word func_ov05_02105670 ; data_ov07_02105670
+ .global data_ov00_020e5a6c
+data_ov00_020e5a6c: ; 0x020e5a6c
+ .word func_ov05_021057c4 ; data_ov07_021057c4
+ .global data_ov00_020e5a70
+data_ov00_020e5a70: ; 0x020e5a70
+ .word func_ov00_020abf90 - 1
+ .global data_ov00_020e5a74
+data_ov00_020e5a74: ; 0x020e5a74
+ .word func_ov05_0210f704
+ .global data_ov00_020e5a78
+data_ov00_020e5a78: ; 0x020e5a78
+ .word func_ov05_0210f708
+ .global data_ov00_020e5a7c
+data_ov00_020e5a7c: ; 0x020e5a7c
+ .word func_ov00_020a8110
+ .global data_ov00_020e5a80
+data_ov00_020e5a80: ; 0x020e5a80
+ .word func_ov05_0210f70c
+ .global data_ov00_020e5a84
+data_ov00_020e5a84: ; 0x020e5a84
+ .word func_ov05_0210f714
+ .global data_ov00_020e5a88
+data_ov00_020e5a88: ; 0x020e5a88
+ .word func_ov05_0210f71c
diff --git a/tools/lcf.py b/tools/lcf.py
index 5b77a52e..78b10126 100644
--- a/tools/lcf.py
+++ b/tools/lcf.py
@@ -27,6 +27,8 @@ ov00 = Overlay(name='ov00', after='ARM9', objects=[
'src/00_Core/Player/TouchControl.cpp',
'asm/ov00/Player/TouchControl.s',
'asm/ov00/ov00_0207af9c.s',
+ 'asm/ov00/Player/LinkStateBase.s',
+ 'asm/ov00/ov00_020a8e04.s',
'src/00_Core/Player/LinkStateDamage.cpp',
'asm/ov00/Player/LinkStateDamage.s',
'src/00_Core/Item/Item.cpp',