summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2020-12-25 18:03:10 -0800
committerGitHub <noreply@github.com>2020-12-25 21:03:10 -0500
commite8315cdb81f102aab0dbac2d2cc9c6daf7df0a11 (patch)
treef947c0b672aa1060218aaa0408be3b608dbb4e45 /include
parent58fc83c4f804e72019dc9ccbcc389affe7a9f3ed (diff)
begin splitting d_a_alink (#34)
* begin splitting d_a_alink * fix Co-authored-by: Pheenoh <pheenoh@gmail.com>
Diffstat (limited to 'include')
-rw-r--r--include/JSystem/J3DGraphAnimator/J3DJoint.h8
-rw-r--r--include/JSystem/J3DGraphAnimator/J3DModel.h8
-rw-r--r--include/JSystem/J3DGraphAnimator/J3DModelData.h8
-rw-r--r--include/JSystem/J3DGraphAnimator/J3DModelLoader.h8
-rw-r--r--include/SComponent/c_bg_s_poly_info.h8
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009D884.s2
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009D88C.s11
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009D8B8.s11
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009D90C.s91
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009DA60.s14
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009DA98.s56
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009DB64.s74
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009DC6C.s76
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009DD90.s706
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009E7B8.s96
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009E91C.s147
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009EB18.s16
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009EB58.s58
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009EC28.s33
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009ECA0.s175
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009EF38.s18
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009EF7C.s32
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009EFF0.s18
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009F034.s1106
-rw-r--r--include/d/d_a/d_a_alink/asm/func_8009FFF8.s13
-rw-r--r--include/d/d_a/d_a_alink/asm/func_800A002C.s482
-rw-r--r--include/d/d_a/d_a_alink/asm/func_800A0744.s39
-rw-r--r--include/d/d_a/d_a_alink/asm/func_800A07D8.s41
-rw-r--r--include/d/d_a/d_a_alink/asm/func_800A0868.s58
-rw-r--r--include/d/d_a/d_a_alink/asm/func_800A093C.s769
-rw-r--r--include/d/d_a/d_a_alink/d_a_alink.h368
-rw-r--r--include/d/d_a/d_a_player/d_a_player.h8
-rw-r--r--include/d/d_bomb/d_bomb.h3
-rw-r--r--include/d/d_cc/d_cc_d.h8
-rw-r--r--include/d/d_com/d_com_inf_game/d_com_inf_game.h4
-rw-r--r--include/d/d_resource/d_resource.h8
-rw-r--r--include/f/f_op/f_op_actor.h8
37 files changed, 4587 insertions, 2 deletions
diff --git a/include/JSystem/J3DGraphAnimator/J3DJoint.h b/include/JSystem/J3DGraphAnimator/J3DJoint.h
new file mode 100644
index 0000000000..a581b451d6
--- /dev/null
+++ b/include/JSystem/J3DGraphAnimator/J3DJoint.h
@@ -0,0 +1,8 @@
+#ifndef J3DJOINT_H_
+#define J3DJOINT_H_
+
+struct J3DJoint{
+
+};
+
+#endif \ No newline at end of file
diff --git a/include/JSystem/J3DGraphAnimator/J3DModel.h b/include/JSystem/J3DGraphAnimator/J3DModel.h
new file mode 100644
index 0000000000..a42288f94f
--- /dev/null
+++ b/include/JSystem/J3DGraphAnimator/J3DModel.h
@@ -0,0 +1,8 @@
+#ifndef J3DMODEL_H_
+#define J3DMODEL_H_
+
+struct J3DModel{
+
+};
+
+#endif \ No newline at end of file
diff --git a/include/JSystem/J3DGraphAnimator/J3DModelData.h b/include/JSystem/J3DGraphAnimator/J3DModelData.h
new file mode 100644
index 0000000000..11bba6653e
--- /dev/null
+++ b/include/JSystem/J3DGraphAnimator/J3DModelData.h
@@ -0,0 +1,8 @@
+#ifndef J3DMODELDATA_H_
+#define J3DMODELDATA_H_
+
+struct J3DModelData{
+
+};
+
+#endif \ No newline at end of file
diff --git a/include/JSystem/J3DGraphAnimator/J3DModelLoader.h b/include/JSystem/J3DGraphAnimator/J3DModelLoader.h
new file mode 100644
index 0000000000..1c6e0a282f
--- /dev/null
+++ b/include/JSystem/J3DGraphAnimator/J3DModelLoader.h
@@ -0,0 +1,8 @@
+#ifndef J3DMODELLOADER_H_
+#define J3DMODELLOADER_H_
+
+struct J3DMaterial{
+
+};
+
+#endif \ No newline at end of file
diff --git a/include/SComponent/c_bg_s_poly_info.h b/include/SComponent/c_bg_s_poly_info.h
new file mode 100644
index 0000000000..e484af1a93
--- /dev/null
+++ b/include/SComponent/c_bg_s_poly_info.h
@@ -0,0 +1,8 @@
+#ifndef C_BG_S_POLY_INFO_H_
+#define C_BG_S_POLY_INFO_H_
+
+struct cBgS_PolyInfo{
+
+};
+
+#endif \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009D884.s b/include/d/d_a/d_a_alink/asm/func_8009D884.s
new file mode 100644
index 0000000000..24203e1692
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009D884.s
@@ -0,0 +1,2 @@
+/* 8009D884 0009A7C4 38 62 92 90 */ subi r3, r2, 0x6d70
+/* 8009D888 0009A7C8 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009D88C.s b/include/d/d_a/d_a_alink/asm/func_8009D88C.s
new file mode 100644
index 0000000000..ac28954857
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009D88C.s
@@ -0,0 +1,11 @@
+/* 8009D88C 0009A7CC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8009D890 0009A7D0 7C 08 02 A6 */ mflr r0
+/* 8009D894 0009A7D4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8009D898 0009A7D8 7C 80 23 78 */ mr r0, r4
+/* 8009D89C 0009A7DC 7C A4 2B 78 */ mr r4, r5
+/* 8009D8A0 0009A7E0 7C 05 03 78 */ mr r5, r0
+/* 8009D8A4 0009A7E4 48 00 01 F5 */ bl tgHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfP12dCcD_GObjInf
+/* 8009D8A8 0009A7E8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8009D8AC 0009A7EC 7C 08 03 A6 */ mtlr r0
+/* 8009D8B0 0009A7F0 38 21 00 10 */ addi r1, r1, 0x10
+/* 8009D8B4 0009A7F4 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009D8B8.s b/include/d/d_a/d_a_alink/asm/func_8009D8B8.s
new file mode 100644
index 0000000000..5b901ebe11
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009D8B8.s
@@ -0,0 +1,11 @@
+/* 8009D8B8 0009A7F8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8009D8BC 0009A7FC 7C 08 02 A6 */ mflr r0
+/* 8009D8C0 0009A800 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8009D8C4 0009A804 7C 80 23 78 */ mr r0, r4
+/* 8009D8C8 0009A808 7C A4 2B 78 */ mr r4, r5
+/* 8009D8CC 0009A80C 7C 05 03 78 */ mr r5, r0
+/* 8009D8D0 0009A810 48 00 02 95 */ bl coHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInf
+/* 8009D8D4 0009A814 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8009D8D8 0009A818 7C 08 03 A6 */ mtlr r0
+/* 8009D8DC 0009A81C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8009D8E0 0009A820 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009D90C.s b/include/d/d_a/d_a_alink/asm/func_8009D90C.s
new file mode 100644
index 0000000000..a7a2057e93
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009D90C.s
@@ -0,0 +1,91 @@
+/* 8009D90C 0009A84C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8009D910 0009A850 7C 08 02 A6 */ mflr r0
+/* 8009D914 0009A854 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8009D918 0009A858 39 61 00 20 */ addi r11, r1, 0x20
+/* 8009D91C 0009A85C 48 2C 48 BD */ bl _savegpr_28
+/* 8009D920 0009A860 7C 7E 1B 78 */ mr r30, r3
+/* 8009D924 0009A864 7C 9F 23 78 */ mr r31, r4
+/* 8009D928 0009A868 48 28 EA 9D */ bl J3DMaterialAnm_NS_calc
+/* 8009D92C 0009A86C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
+/* 8009D930 0009A870 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
+/* 8009D934 0009A874 80 63 5D B4 */ lwz r3, 0x5db4(r3)
+/* 8009D938 0009A878 80 03 05 78 */ lwz r0, 0x578(r3)
+/* 8009D93C 0009A87C 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9
+/* 8009D940 0009A880 40 82 01 08 */ bne lbl_8009DA48
+/* 8009D944 0009A884 3B 80 00 00 */ li r28, 0
+/* 8009D948 0009A888 3B A0 00 00 */ li r29, 0
+lbl_8009D94C:
+/* 8009D94C 0009A88C 38 7D 00 14 */ addi r3, r29, 0x14
+/* 8009D950 0009A890 7C 7E 1A 14 */ add r3, r30, r3
+/* 8009D954 0009A894 A0 03 00 02 */ lhz r0, 2(r3)
+/* 8009D958 0009A898 28 00 00 00 */ cmplwi r0, 0
+/* 8009D95C 0009A89C 41 82 00 DC */ beq lbl_8009DA38
+/* 8009D960 0009A8A0 80 7F 00 28 */ lwz r3, 0x28(r31)
+/* 8009D964 0009A8A4 7F 84 E3 78 */ mr r4, r28
+/* 8009D968 0009A8A8 81 83 00 00 */ lwz r12, 0(r3)
+/* 8009D96C 0009A8AC 81 8C 00 50 */ lwz r12, 0x50(r12)
+/* 8009D970 0009A8B0 7D 89 03 A6 */ mtctr r12
+/* 8009D974 0009A8B4 4E 80 04 21 */ bctrl
+/* 8009D978 0009A8B8 88 8D 8A 49 */ lbz r4, lbl_80450FC9-_SDA_BASE_(r13)
+/* 8009D97C 0009A8BC 28 04 00 00 */ cmplwi r4, 0
+/* 8009D980 0009A8C0 41 82 00 8C */ beq lbl_8009DA0C
+/* 8009D984 0009A8C4 80 1E 01 04 */ lwz r0, 0x104(r30)
+/* 8009D988 0009A8C8 2C 00 00 00 */ cmpwi r0, 0
+/* 8009D98C 0009A8CC 40 82 00 6C */ bne lbl_8009D9F8
+/* 8009D990 0009A8D0 C0 42 92 B8 */ lfs f2, lbl_80452CB8-_SDA2_BASE_(r2)
+/* 8009D994 0009A8D4 38 04 00 01 */ addi r0, r4, 1
+/* 8009D998 0009A8D8 C8 22 92 B0 */ lfd f1, lbl_80452CB0-_SDA2_BASE_(r2)
+/* 8009D99C 0009A8DC 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 8009D9A0 0009A8E0 90 01 00 0C */ stw r0, 0xc(r1)
+/* 8009D9A4 0009A8E4 3C 00 43 30 */ lis r0, 0x4330
+/* 8009D9A8 0009A8E8 90 01 00 08 */ stw r0, 8(r1)
+/* 8009D9AC 0009A8EC C8 01 00 08 */ lfd f0, 8(r1)
+/* 8009D9B0 0009A8F0 EC 00 08 28 */ fsubs f0, f0, f1
+/* 8009D9B4 0009A8F4 EC 62 00 24 */ fdivs f3, f2, f0
+/* 8009D9B8 0009A8F8 C0 1E 00 F4 */ lfs f0, 0xf4(r30)
+/* 8009D9BC 0009A8FC EC 42 18 28 */ fsubs f2, f2, f3
+/* 8009D9C0 0009A900 EC 20 00 B2 */ fmuls f1, f0, f2
+/* 8009D9C4 0009A904 C0 03 00 1C */ lfs f0, 0x1c(r3)
+/* 8009D9C8 0009A908 EC 00 00 F2 */ fmuls f0, f0, f3
+/* 8009D9CC 0009A90C EC 01 00 2A */ fadds f0, f1, f0
+/* 8009D9D0 0009A910 D0 03 00 1C */ stfs f0, 0x1c(r3)
+/* 8009D9D4 0009A914 C0 1E 00 F8 */ lfs f0, 0xf8(r30)
+/* 8009D9D8 0009A918 EC 20 00 B2 */ fmuls f1, f0, f2
+/* 8009D9DC 0009A91C C0 03 00 20 */ lfs f0, 0x20(r3)
+/* 8009D9E0 0009A920 EC 00 00 F2 */ fmuls f0, f0, f3
+/* 8009D9E4 0009A924 EC 01 00 2A */ fadds f0, f1, f0
+/* 8009D9E8 0009A928 D0 03 00 20 */ stfs f0, 0x20(r3)
+/* 8009D9EC 0009A92C 38 00 00 01 */ li r0, 1
+/* 8009D9F0 0009A930 90 1E 01 04 */ stw r0, 0x104(r30)
+/* 8009D9F4 0009A934 48 00 00 34 */ b lbl_8009DA28
+lbl_8009D9F8:
+/* 8009D9F8 0009A938 C0 1E 00 F4 */ lfs f0, 0xf4(r30)
+/* 8009D9FC 0009A93C D0 03 00 1C */ stfs f0, 0x1c(r3)
+/* 8009DA00 0009A940 C0 1E 00 F8 */ lfs f0, 0xf8(r30)
+/* 8009DA04 0009A944 D0 03 00 20 */ stfs f0, 0x20(r3)
+/* 8009DA08 0009A948 48 00 00 20 */ b lbl_8009DA28
+lbl_8009DA0C:
+/* 8009DA0C 0009A94C 88 0D 8A 48 */ lbz r0, lbl_80450FC8-_SDA_BASE_(r13)
+/* 8009DA10 0009A950 28 00 00 00 */ cmplwi r0, 0
+/* 8009DA14 0009A954 41 82 00 14 */ beq lbl_8009DA28
+/* 8009DA18 0009A958 C0 1E 00 FC */ lfs f0, 0xfc(r30)
+/* 8009DA1C 0009A95C D0 03 00 1C */ stfs f0, 0x1c(r3)
+/* 8009DA20 0009A960 C0 1E 01 00 */ lfs f0, 0x100(r30)
+/* 8009DA24 0009A964 D0 03 00 20 */ stfs f0, 0x20(r3)
+lbl_8009DA28:
+/* 8009DA28 0009A968 C0 03 00 1C */ lfs f0, 0x1c(r3)
+/* 8009DA2C 0009A96C D0 1E 00 F4 */ stfs f0, 0xf4(r30)
+/* 8009DA30 0009A970 C0 03 00 20 */ lfs f0, 0x20(r3)
+/* 8009DA34 0009A974 D0 1E 00 F8 */ stfs f0, 0xf8(r30)
+lbl_8009DA38:
+/* 8009DA38 0009A978 3B 9C 00 01 */ addi r28, r28, 1
+/* 8009DA3C 0009A97C 28 1C 00 08 */ cmplwi r28, 8
+/* 8009DA40 0009A980 3B BD 00 08 */ addi r29, r29, 8
+/* 8009DA44 0009A984 41 80 FF 08 */ blt lbl_8009D94C
+lbl_8009DA48:
+/* 8009DA48 0009A988 39 61 00 20 */ addi r11, r1, 0x20
+/* 8009DA4C 0009A98C 48 2C 47 D9 */ bl _restgpr_28
+/* 8009DA50 0009A990 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8009DA54 0009A994 7C 08 03 A6 */ mtlr r0
+/* 8009DA58 0009A998 38 21 00 20 */ addi r1, r1, 0x20
+/* 8009DA5C 0009A99C 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009DA60.s b/include/d/d_a/d_a_alink/asm/func_8009DA60.s
new file mode 100644
index 0000000000..1060186381
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009DA60.s
@@ -0,0 +1,14 @@
+/* 8009DA60 0009A9A0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8009DA64 0009A9A4 7C 08 02 A6 */ mflr r0
+/* 8009DA68 0009A9A8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8009DA6C 0009A9AC 7C 64 1B 78 */ mr r4, r3
+/* 8009DA70 0009A9B0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
+/* 8009DA74 0009A9B4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
+/* 8009DA78 0009A9B8 38 63 4E 00 */ addi r3, r3, 0x4e00
+/* 8009DA7C 0009A9BC 48 2C AF 19 */ bl strcmp
+/* 8009DA80 0009A9C0 7C 60 00 34 */ cntlzw r0, r3
+/* 8009DA84 0009A9C4 54 03 D9 7E */ srwi r3, r0, 5
+/* 8009DA88 0009A9C8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8009DA8C 0009A9CC 7C 08 03 A6 */ mtlr r0
+/* 8009DA90 0009A9D0 38 21 00 10 */ addi r1, r1, 0x10
+/* 8009DA94 0009A9D4 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009DA98.s b/include/d/d_a/d_a_alink/asm/func_8009DA98.s
new file mode 100644
index 0000000000..428ff4da3a
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009DA98.s
@@ -0,0 +1,56 @@
+/* 8009DA98 0009A9D8 80 06 00 10 */ lwz r0, 0x10(r6)
+/* 8009DA9C 0009A9DC 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd
+/* 8009DAA0 0009A9E0 41 82 00 7C */ beq lbl_8009DB1C
+/* 8009DAA4 0009A9E4 C0 06 00 84 */ lfs f0, 0x84(r6)
+/* 8009DAA8 0009A9E8 D0 03 36 9C */ stfs f0, 0x369c(r3)
+/* 8009DAAC 0009A9EC C0 06 00 88 */ lfs f0, 0x88(r6)
+/* 8009DAB0 0009A9F0 D0 03 36 A0 */ stfs f0, 0x36a0(r3)
+/* 8009DAB4 0009A9F4 C0 06 00 8C */ lfs f0, 0x8c(r6)
+/* 8009DAB8 0009A9F8 D0 03 36 A4 */ stfs f0, 0x36a4(r3)
+/* 8009DABC 0009A9FC 38 E0 00 00 */ li r7, 0
+/* 8009DAC0 0009AA00 38 C0 00 00 */ li r6, 0
+/* 8009DAC4 0009AA04 38 00 00 03 */ li r0, 3
+/* 8009DAC8 0009AA08 7C 09 03 A6 */ mtctr r0
+lbl_8009DACC:
+/* 8009DACC 0009AA0C 38 06 08 50 */ addi r0, r6, 0x850
+/* 8009DAD0 0009AA10 7C 03 02 14 */ add r0, r3, r0
+/* 8009DAD4 0009AA14 7C 05 00 40 */ cmplw r5, r0
+/* 8009DAD8 0009AA18 40 82 00 34 */ bne lbl_8009DB0C
+/* 8009DADC 0009AA1C 88 A3 2F B8 */ lbz r5, 0x2fb8(r3)
+/* 8009DAE0 0009AA20 38 00 00 01 */ li r0, 1
+/* 8009DAE4 0009AA24 7C 00 38 30 */ slw r0, r0, r7
+/* 8009DAE8 0009AA28 7C A0 03 78 */ or r0, r5, r0
+/* 8009DAEC 0009AA2C 98 03 2F B8 */ stb r0, 0x2fb8(r3)
+/* 8009DAF0 0009AA30 C0 04 04 D0 */ lfs f0, 0x4d0(r4)
+/* 8009DAF4 0009AA34 D0 03 36 B4 */ stfs f0, 0x36b4(r3)
+/* 8009DAF8 0009AA38 C0 04 04 D4 */ lfs f0, 0x4d4(r4)
+/* 8009DAFC 0009AA3C D0 03 36 B8 */ stfs f0, 0x36b8(r3)
+/* 8009DB00 0009AA40 C0 04 04 D8 */ lfs f0, 0x4d8(r4)
+/* 8009DB04 0009AA44 D0 03 36 BC */ stfs f0, 0x36bc(r3)
+/* 8009DB08 0009AA48 4E 80 00 20 */ blr
+lbl_8009DB0C:
+/* 8009DB0C 0009AA4C 38 E7 00 01 */ addi r7, r7, 1
+/* 8009DB10 0009AA50 38 C6 01 3C */ addi r6, r6, 0x13c
+/* 8009DB14 0009AA54 42 00 FF B8 */ bdnz lbl_8009DACC
+/* 8009DB18 0009AA58 4E 80 00 20 */ blr
+lbl_8009DB1C:
+/* 8009DB1C 0009AA5C 38 C0 00 00 */ li r6, 0
+/* 8009DB20 0009AA60 38 80 00 00 */ li r4, 0
+/* 8009DB24 0009AA64 38 00 00 03 */ li r0, 3
+/* 8009DB28 0009AA68 7C 09 03 A6 */ mtctr r0
+lbl_8009DB2C:
+/* 8009DB2C 0009AA6C 38 04 08 50 */ addi r0, r4, 0x850
+/* 8009DB30 0009AA70 7C 03 02 14 */ add r0, r3, r0
+/* 8009DB34 0009AA74 7C 05 00 40 */ cmplw r5, r0
+/* 8009DB38 0009AA78 40 82 00 1C */ bne lbl_8009DB54
+/* 8009DB3C 0009AA7C 88 83 2F B8 */ lbz r4, 0x2fb8(r3)
+/* 8009DB40 0009AA80 38 00 00 01 */ li r0, 1
+/* 8009DB44 0009AA84 7C 00 30 30 */ slw r0, r0, r6
+/* 8009DB48 0009AA88 7C 80 00 78 */ andc r0, r4, r0
+/* 8009DB4C 0009AA8C 98 03 2F B8 */ stb r0, 0x2fb8(r3)
+/* 8009DB50 0009AA90 4E 80 00 20 */ blr
+lbl_8009DB54:
+/* 8009DB54 0009AA94 38 C6 00 01 */ addi r6, r6, 1
+/* 8009DB58 0009AA98 38 84 01 3C */ addi r4, r4, 0x13c
+/* 8009DB5C 0009AA9C 42 00 FF D0 */ bdnz lbl_8009DB2C
+/* 8009DB60 0009AAA0 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009DB64.s b/include/d/d_a/d_a_alink/asm/func_8009DB64.s
new file mode 100644
index 0000000000..a2ce19066e
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009DB64.s
@@ -0,0 +1,74 @@
+/* 8009DB64 0009AAA4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8009DB68 0009AAA8 7C 08 02 A6 */ mflr r0
+/* 8009DB6C 0009AAAC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8009DB70 0009AAB0 39 61 00 20 */ addi r11, r1, 0x20
+/* 8009DB74 0009AAB4 48 2C 46 69 */ bl _savegpr_29
+/* 8009DB78 0009AAB8 7C 7E 1B 78 */ mr r30, r3
+/* 8009DB7C 0009AABC 7C 9D 23 78 */ mr r29, r4
+/* 8009DB80 0009AAC0 7C BF 2B 78 */ mr r31, r5
+/* 8009DB84 0009AAC4 80 03 05 74 */ lwz r0, 0x574(r3)
+/* 8009DB88 0009AAC8 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6
+/* 8009DB8C 0009AACC 40 82 00 6C */ bne lbl_8009DBF8
+/* 8009DB90 0009AAD0 80 1E 05 7C */ lwz r0, 0x57c(r30)
+/* 8009DB94 0009AAD4 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2
+/* 8009DB98 0009AAD8 40 82 00 60 */ bne lbl_8009DBF8
+/* 8009DB9C 0009AADC A0 1E 2F E8 */ lhz r0, 0x2fe8(r30)
+/* 8009DBA0 0009AAE0 28 00 00 2D */ cmplwi r0, 0x2d
+/* 8009DBA4 0009AAE4 41 82 00 0C */ beq lbl_8009DBB0
+/* 8009DBA8 0009AAE8 28 00 00 2B */ cmplwi r0, 0x2b
+/* 8009DBAC 0009AAEC 40 82 00 10 */ bne lbl_8009DBBC
+lbl_8009DBB0:
+/* 8009DBB0 0009AAF0 80 1E 28 10 */ lwz r0, 0x2810(r30)
+/* 8009DBB4 0009AAF4 7C 1D 00 40 */ cmplw r29, r0
+/* 8009DBB8 0009AAF8 41 82 00 34 */ beq lbl_8009DBEC
+lbl_8009DBBC:
+/* 8009DBBC 0009AAFC 80 9E 31 A0 */ lwz r4, 0x31a0(r30)
+/* 8009DBC0 0009AB00 3C 60 00 01 */ lis r3, 0x00010040@ha
+/* 8009DBC4 0009AB04 38 03 00 40 */ addi r0, r3, 0x00010040@l
+/* 8009DBC8 0009AB08 7C 80 00 39 */ and. r0, r4, r0
+/* 8009DBCC 0009AB0C 41 82 00 10 */ beq lbl_8009DBDC
+/* 8009DBD0 0009AB10 A8 1D 00 08 */ lha r0, 8(r29)
+/* 8009DBD4 0009AB14 2C 00 00 BB */ cmpwi r0, 0xbb
+/* 8009DBD8 0009AB18 40 82 00 14 */ bne lbl_8009DBEC
+lbl_8009DBDC:
+/* 8009DBDC 0009AB1C 38 9E 08 14 */ addi r4, r30, 0x814
+/* 8009DBE0 0009AB20 38 7E 37 2C */ addi r3, r30, 0x372c
+/* 8009DBE4 0009AB24 7C 65 1B 78 */ mr r5, r3
+/* 8009DBE8 0009AB28 48 2A 94 A9 */ bl PSVECAdd
+lbl_8009DBEC:
+/* 8009DBEC 0009AB2C A0 7E 30 FE */ lhz r3, 0x30fe(r30)
+/* 8009DBF0 0009AB30 38 03 00 01 */ addi r0, r3, 1
+/* 8009DBF4 0009AB34 B0 1E 30 FE */ sth r0, 0x30fe(r30)
+lbl_8009DBF8:
+/* 8009DBF8 0009AB38 A8 1D 00 08 */ lha r0, 8(r29)
+/* 8009DBFC 0009AB3C 2C 00 01 77 */ cmpwi r0, 0x177
+/* 8009DC00 0009AB40 40 82 00 54 */ bne lbl_8009DC54
+/* 8009DC04 0009AB44 80 1E 05 74 */ lwz r0, 0x574(r30)
+/* 8009DC08 0009AB48 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6
+/* 8009DC0C 0009AB4C 41 82 00 3C */ beq lbl_8009DC48
+/* 8009DC10 0009AB50 38 1E 08 50 */ addi r0, r30, 0x850
+/* 8009DC14 0009AB54 7C 1F 00 40 */ cmplw r31, r0
+/* 8009DC18 0009AB58 40 82 00 14 */ bne lbl_8009DC2C
+/* 8009DC1C 0009AB5C 80 1E 05 8C */ lwz r0, 0x58c(r30)
+/* 8009DC20 0009AB60 60 00 08 00 */ ori r0, r0, 0x800
+/* 8009DC24 0009AB64 90 1E 05 8C */ stw r0, 0x58c(r30)
+/* 8009DC28 0009AB68 48 00 00 2C */ b lbl_8009DC54
+lbl_8009DC2C:
+/* 8009DC2C 0009AB6C 38 1E 0A C8 */ addi r0, r30, 0xac8
+/* 8009DC30 0009AB70 7C 1F 00 40 */ cmplw r31, r0
+/* 8009DC34 0009AB74 40 82 00 20 */ bne lbl_8009DC54
+/* 8009DC38 0009AB78 80 1E 05 8C */ lwz r0, 0x58c(r30)
+/* 8009DC3C 0009AB7C 60 00 10 00 */ ori r0, r0, 0x1000
+/* 8009DC40 0009AB80 90 1E 05 8C */ stw r0, 0x58c(r30)
+/* 8009DC44 0009AB84 48 00 00 10 */ b lbl_8009DC54
+lbl_8009DC48:
+/* 8009DC48 0009AB88 80 1E 05 8C */ lwz r0, 0x58c(r30)
+/* 8009DC4C 0009AB8C 60 00 08 00 */ ori r0, r0, 0x800
+/* 8009DC50 0009AB90 90 1E 05 8C */ stw r0, 0x58c(r30)
+lbl_8009DC54:
+/* 8009DC54 0009AB94 39 61 00 20 */ addi r11, r1, 0x20
+/* 8009DC58 0009AB98 48 2C 45 D1 */ bl _restgpr_29
+/* 8009DC5C 0009AB9C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8009DC60 0009ABA0 7C 08 03 A6 */ mtlr r0
+/* 8009DC64 0009ABA4 38 21 00 20 */ addi r1, r1, 0x20
+/* 8009DC68 0009ABA8 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009DC6C.s b/include/d/d_a/d_a_alink/asm/func_8009DC6C.s
new file mode 100644
index 0000000000..bb185beb1c
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009DC6C.s
@@ -0,0 +1,76 @@
+/* 8009DC6C 0009ABAC 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8009DC70 0009ABB0 7C 08 02 A6 */ mflr r0
+/* 8009DC74 0009ABB4 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8009DC78 0009ABB8 39 61 00 30 */ addi r11, r1, 0x30
+/* 8009DC7C 0009ABBC 48 2C 45 55 */ bl _savegpr_26
+/* 8009DC80 0009ABC0 7C 7A 1B 78 */ mr r26, r3
+/* 8009DC84 0009ABC4 7C 9F 23 78 */ mr r31, r4
+/* 8009DC88 0009ABC8 7C BB 2B 78 */ mr r27, r5
+/* 8009DC8C 0009ABCC 7C DC 33 78 */ mr r28, r6
+/* 8009DC90 0009ABD0 7C FD 3B 78 */ mr r29, r7
+/* 8009DC94 0009ABD4 7D 1E 43 78 */ mr r30, r8
+/* 8009DC98 0009ABD8 C0 04 00 0C */ lfs f0, 0xc(r4)
+/* 8009DC9C 0009ABDC D0 01 00 08 */ stfs f0, 8(r1)
+/* 8009DCA0 0009ABE0 C0 04 00 1C */ lfs f0, 0x1c(r4)
+/* 8009DCA4 0009ABE4 D0 01 00 0C */ stfs f0, 0xc(r1)
+/* 8009DCA8 0009ABE8 C0 04 00 2C */ lfs f0, 0x2c(r4)
+/* 8009DCAC 0009ABEC D0 01 00 10 */ stfs f0, 0x10(r1)
+/* 8009DCB0 0009ABF0 28 09 00 00 */ cmplwi r9, 0
+/* 8009DCB4 0009ABF4 41 82 00 10 */ beq lbl_8009DCC4
+/* 8009DCB8 0009ABF8 7D 23 4B 78 */ mr r3, r9
+/* 8009DCBC 0009ABFC 4B F6 F0 A9 */ bl mDoMtx_stack_c_NS_transS
+/* 8009DCC0 0009AC00 48 00 00 0C */ b lbl_8009DCCC
+lbl_8009DCC4:
+/* 8009DCC4 0009AC04 38 61 00 08 */ addi r3, r1, 8
+/* 8009DCC8 0009AC08 4B F6 F0 9D */ bl mDoMtx_stack_c_NS_transS
+lbl_8009DCCC:
+/* 8009DCCC 0009AC0C 7F 43 D3 78 */ mr r3, r26
+/* 8009DCD0 0009AC10 48 04 47 2D */ bl daAlink_c_NS_concatMagneBootMtx
+/* 8009DCD4 0009AC14 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009DCD8 0009AC18 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009DCDC 0009AC1C A8 9A 04 E6 */ lha r4, 0x4e6(r26)
+/* 8009DCE0 0009AC20 4B F6 E7 55 */ bl mDoMtx_YrotM
+/* 8009DCE4 0009AC24 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009DCE8 0009AC28 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009DCEC 0009AC2C 7F 64 DB 78 */ mr r4, r27
+/* 8009DCF0 0009AC30 7F 85 E3 78 */ mr r5, r28
+/* 8009DCF4 0009AC34 7F A6 EB 78 */ mr r6, r29
+/* 8009DCF8 0009AC38 4B F6 E5 A9 */ bl mDoMtx_ZXYrotM
+/* 8009DCFC 0009AC3C 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009DD00 0009AC40 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009DD04 0009AC44 A8 1A 04 E6 */ lha r0, 0x4e6(r26)
+/* 8009DD08 0009AC48 7C 00 00 D0 */ neg r0, r0
+/* 8009DD0C 0009AC4C 7C 04 07 34 */ extsh r4, r0
+/* 8009DD10 0009AC50 4B F6 E7 25 */ bl mDoMtx_YrotM
+/* 8009DD14 0009AC54 7F 43 D3 78 */ mr r3, r26
+/* 8009DD18 0009AC58 48 04 47 25 */ bl daAlink_c_NS_concatMagneBootInvMtx
+/* 8009DD1C 0009AC5C C0 01 00 08 */ lfs f0, 8(r1)
+/* 8009DD20 0009AC60 FC 20 00 50 */ fneg f1, f0
+/* 8009DD24 0009AC64 C0 01 00 0C */ lfs f0, 0xc(r1)
+/* 8009DD28 0009AC68 FC 40 00 50 */ fneg f2, f0
+/* 8009DD2C 0009AC6C C0 01 00 10 */ lfs f0, 0x10(r1)
+/* 8009DD30 0009AC70 FC 60 00 50 */ fneg f3, f0
+/* 8009DD34 0009AC74 4B F6 F0 69 */ bl mDoMtx_stack_c_NS_transM
+/* 8009DD38 0009AC78 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009DD3C 0009AC7C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009DD40 0009AC80 7F E4 FB 78 */ mr r4, r31
+/* 8009DD44 0009AC84 7C 65 1B 78 */ mr r5, r3
+/* 8009DD48 0009AC88 48 2A 87 9D */ bl PSMTXConcat
+/* 8009DD4C 0009AC8C 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009DD50 0009AC90 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009DD54 0009AC94 7F E4 FB 78 */ mr r4, r31
+/* 8009DD58 0009AC98 48 2A 87 59 */ bl PSMTXCopy
+/* 8009DD5C 0009AC9C 2C 1E 00 00 */ cmpwi r30, 0
+/* 8009DD60 0009ACA0 41 82 00 18 */ beq lbl_8009DD78
+/* 8009DD64 0009ACA4 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009DD68 0009ACA8 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009DD6C 0009ACAC 3C 80 80 43 */ lis r4, lbl_80434BE4@ha
+/* 8009DD70 0009ACB0 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l
+/* 8009DD74 0009ACB4 48 2A 87 3D */ bl PSMTXCopy
+lbl_8009DD78:
+/* 8009DD78 0009ACB8 39 61 00 30 */ addi r11, r1, 0x30
+/* 8009DD7C 0009ACBC 48 2C 44 A1 */ bl _restgpr_26
+/* 8009DD80 0009ACC0 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8009DD84 0009ACC4 7C 08 03 A6 */ mtlr r0
+/* 8009DD88 0009ACC8 38 21 00 30 */ addi r1, r1, 0x30
+/* 8009DD8C 0009ACCC 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009DD90.s b/include/d/d_a/d_a_alink/asm/func_8009DD90.s
new file mode 100644
index 0000000000..340af3476d
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009DD90.s
@@ -0,0 +1,706 @@
+/* 8009DD90 0009ACD0 94 21 FF 50 */ stwu r1, -0xb0(r1)
+/* 8009DD94 0009ACD4 7C 08 02 A6 */ mflr r0
+/* 8009DD98 0009ACD8 90 01 00 B4 */ stw r0, 0xb4(r1)
+/* 8009DD9C 0009ACDC 39 61 00 B0 */ addi r11, r1, 0xb0
+/* 8009DDA0 0009ACE0 48 2C 44 35 */ bl _savegpr_27
+/* 8009DDA4 0009ACE4 7C 7B 1B 78 */ mr r27, r3
+/* 8009DDA8 0009ACE8 7C 9F 23 78 */ mr r31, r4
+/* 8009DDAC 0009ACEC 38 61 00 10 */ addi r3, r1, 0x10
+/* 8009DDB0 0009ACF0 38 80 00 00 */ li r4, 0
+/* 8009DDB4 0009ACF4 38 A0 00 00 */ li r5, 0
+/* 8009DDB8 0009ACF8 38 C0 00 00 */ li r6, 0
+/* 8009DDBC 0009ACFC 48 1C 96 39 */ bl csXyz_X1_
+/* 8009DDC0 0009AD00 3B 80 00 00 */ li r28, 0
+/* 8009DDC4 0009AD04 80 DB 20 60 */ lwz r6, 0x2060(r27)
+/* 8009DDC8 0009AD08 80 06 00 1C */ lwz r0, 0x1c(r6)
+/* 8009DDCC 0009AD0C 57 FD 28 34 */ slwi r29, r31, 5
+/* 8009DDD0 0009AD10 7C 60 EA 14 */ add r3, r0, r29
+/* 8009DDD4 0009AD14 38 A1 00 54 */ addi r5, r1, 0x54
+/* 8009DDD8 0009AD18 38 83 FF FC */ addi r4, r3, -4
+/* 8009DDDC 0009AD1C 38 00 00 04 */ li r0, 4
+/* 8009DDE0 0009AD20 7C 09 03 A6 */ mtctr r0
+lbl_8009DDE4:
+/* 8009DDE4 0009AD24 80 64 00 04 */ lwz r3, 4(r4)
+/* 8009DDE8 0009AD28 84 04 00 08 */ lwzu r0, 8(r4)
+/* 8009DDEC 0009AD2C 90 65 00 04 */ stw r3, 4(r5)
+/* 8009DDF0 0009AD30 94 05 00 08 */ stwu r0, 8(r5)
+/* 8009DDF4 0009AD34 42 00 FF F0 */ bdnz lbl_8009DDE4
+/* 8009DDF8 0009AD38 80 06 00 20 */ lwz r0, 0x20(r6)
+/* 8009DDFC 0009AD3C 57 FE 20 36 */ slwi r30, r31, 4
+/* 8009DE00 0009AD40 7C 80 F2 14 */ add r4, r0, r30
+/* 8009DE04 0009AD44 80 64 00 00 */ lwz r3, 0(r4)
+/* 8009DE08 0009AD48 80 04 00 04 */ lwz r0, 4(r4)
+/* 8009DE0C 0009AD4C 90 61 00 18 */ stw r3, 0x18(r1)
+/* 8009DE10 0009AD50 90 01 00 1C */ stw r0, 0x1c(r1)
+/* 8009DE14 0009AD54 80 64 00 08 */ lwz r3, 8(r4)
+/* 8009DE18 0009AD58 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 8009DE1C 0009AD5C 90 61 00 20 */ stw r3, 0x20(r1)
+/* 8009DE20 0009AD60 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8009DE24 0009AD64 38 61 00 08 */ addi r3, r1, 8
+/* 8009DE28 0009AD68 38 80 00 00 */ li r4, 0
+/* 8009DE2C 0009AD6C 38 A0 00 01 */ li r5, 1
+/* 8009DE30 0009AD70 38 C0 00 02 */ li r6, 2
+/* 8009DE34 0009AD74 48 1C 95 C1 */ bl csXyz_X1_
+/* 8009DE38 0009AD78 80 1B 05 74 */ lwz r0, 0x574(r27)
+/* 8009DE3C 0009AD7C 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6
+/* 8009DE40 0009AD80 41 82 02 1C */ beq lbl_8009E05C
+/* 8009DE44 0009AD84 2C 1F 00 00 */ cmpwi r31, 0
+/* 8009DE48 0009AD88 40 82 00 E0 */ bne lbl_8009DF28
+/* 8009DE4C 0009AD8C A0 1B 2F E8 */ lhz r0, 0x2fe8(r27)
+/* 8009DE50 0009AD90 28 00 01 3D */ cmplwi r0, 0x13d
+/* 8009DE54 0009AD94 40 82 00 1C */ bne lbl_8009DE70
+/* 8009DE58 0009AD98 80 7B 20 60 */ lwz r3, 0x2060(r27)
+/* 8009DE5C 0009AD9C 80 63 00 1C */ lwz r3, 0x1c(r3)
+/* 8009DE60 0009ADA0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009DE64 0009ADA4 D0 03 00 14 */ stfs f0, 0x14(r3)
+/* 8009DE68 0009ADA8 D0 03 00 1C */ stfs f0, 0x1c(r3)
+/* 8009DE6C 0009ADAC 48 00 00 50 */ b lbl_8009DEBC
+lbl_8009DE70:
+/* 8009DE70 0009ADB0 88 9B 2F 99 */ lbz r4, 0x2f99(r27)
+/* 8009DE74 0009ADB4 54 80 07 7F */ clrlwi. r0, r4, 0x1d
+/* 8009DE78 0009ADB8 41 82 00 44 */ beq lbl_8009DEBC
+/* 8009DE7C 0009ADBC 80 7B 20 60 */ lwz r3, 0x2060(r27)
+/* 8009DE80 0009ADC0 80 63 00 1C */ lwz r3, 0x1c(r3)
+/* 8009DE84 0009ADC4 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d
+/* 8009DE88 0009ADC8 41 82 00 0C */ beq lbl_8009DE94
+/* 8009DE8C 0009ADCC C0 1B 35 90 */ lfs f0, 0x3590(r27)
+/* 8009DE90 0009ADD0 D0 03 00 1C */ stfs f0, 0x1c(r3)
+lbl_8009DE94:
+/* 8009DE94 0009ADD4 88 1B 2F 99 */ lbz r0, 0x2f99(r27)
+/* 8009DE98 0009ADD8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8009DE9C 0009ADDC 41 82 00 0C */ beq lbl_8009DEA8
+/* 8009DEA0 0009ADE0 C0 1B 35 88 */ lfs f0, 0x3588(r27)
+/* 8009DEA4 0009ADE4 D0 03 00 14 */ stfs f0, 0x14(r3)
+lbl_8009DEA8:
+/* 8009DEA8 0009ADE8 88 1B 2F 99 */ lbz r0, 0x2f99(r27)
+/* 8009DEAC 0009ADEC 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 8009DEB0 0009ADF0 41 82 00 0C */ beq lbl_8009DEBC
+/* 8009DEB4 0009ADF4 C0 1B 33 B0 */ lfs f0, 0x33b0(r27)
+/* 8009DEB8 0009ADF8 D0 03 00 18 */ stfs f0, 0x18(r3)
+lbl_8009DEBC:
+/* 8009DEBC 0009ADFC A8 9B 30 82 */ lha r4, 0x3082(r27)
+/* 8009DEC0 0009AE00 A8 1B 30 80 */ lha r0, 0x3080(r27)
+/* 8009DEC4 0009AE04 B0 01 00 10 */ sth r0, 0x10(r1)
+/* 8009DEC8 0009AE08 38 60 00 00 */ li r3, 0
+/* 8009DECC 0009AE0C B0 61 00 12 */ sth r3, 0x12(r1)
+/* 8009DED0 0009AE10 B0 81 00 14 */ sth r4, 0x14(r1)
+/* 8009DED4 0009AE14 38 00 00 02 */ li r0, 2
+/* 8009DED8 0009AE18 B0 01 00 08 */ sth r0, 8(r1)
+/* 8009DEDC 0009AE1C 38 00 00 01 */ li r0, 1
+/* 8009DEE0 0009AE20 B0 01 00 0A */ sth r0, 0xa(r1)
+/* 8009DEE4 0009AE24 B0 61 00 0C */ sth r3, 0xc(r1)
+/* 8009DEE8 0009AE28 80 7B 20 60 */ lwz r3, 0x2060(r27)
+/* 8009DEEC 0009AE2C 80 63 00 1C */ lwz r3, 0x1c(r3)
+/* 8009DEF0 0009AE30 E0 03 00 00 */ psq_l f0, 0(r3), 0, 0
+/* 8009DEF4 0009AE34 F0 01 00 78 */ psq_st f0, 120(r1), 0, 0
+/* 8009DEF8 0009AE38 C0 03 00 08 */ lfs f0, 8(r3)
+/* 8009DEFC 0009AE3C D0 01 00 80 */ stfs f0, 0x80(r1)
+/* 8009DF00 0009AE40 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 8009DF04 0009AE44 90 01 00 84 */ stw r0, 0x84(r1)
+/* 8009DF08 0009AE48 A8 03 00 10 */ lha r0, 0x10(r3)
+/* 8009DF0C 0009AE4C B0 01 00 88 */ sth r0, 0x88(r1)
+/* 8009DF10 0009AE50 E0 03 00 14 */ psq_l f0, 20(r3), 0, 0
+/* 8009DF14 0009AE54 F0 01 00 8C */ psq_st f0, 140(r1), 0, 0
+/* 8009DF18 0009AE58 C0 03 00 1C */ lfs f0, 0x1c(r3)
+/* 8009DF1C 0009AE5C D0 01 00 94 */ stfs f0, 0x94(r1)
+/* 8009DF20 0009AE60 63 9C 00 02 */ ori r28, r28, 2
+/* 8009DF24 0009AE64 48 00 05 78 */ b lbl_8009E49C
+lbl_8009DF28:
+/* 8009DF28 0009AE68 2C 1F 00 03 */ cmpwi r31, 3
+/* 8009DF2C 0009AE6C 40 82 00 3C */ bne lbl_8009DF68
+/* 8009DF30 0009AE70 A8 9B 30 B0 */ lha r4, 0x30b0(r27)
+/* 8009DF34 0009AE74 A8 7B 30 D6 */ lha r3, 0x30d6(r27)
+/* 8009DF38 0009AE78 A8 1B 30 B2 */ lha r0, 0x30b2(r27)
+/* 8009DF3C 0009AE7C 7C 03 02 14 */ add r0, r3, r0
+/* 8009DF40 0009AE80 B0 01 00 10 */ sth r0, 0x10(r1)
+/* 8009DF44 0009AE84 38 60 00 00 */ li r3, 0
+/* 8009DF48 0009AE88 B0 61 00 12 */ sth r3, 0x12(r1)
+/* 8009DF4C 0009AE8C B0 81 00 14 */ sth r4, 0x14(r1)
+/* 8009DF50 0009AE90 38 00 00 02 */ li r0, 2
+/* 8009DF54 0009AE94 B0 01 00 08 */ sth r0, 8(r1)
+/* 8009DF58 0009AE98 B0 61 00 0A */ sth r3, 0xa(r1)
+/* 8009DF5C 0009AE9C 38 00 00 01 */ li r0, 1
+/* 8009DF60 0009AEA0 B0 01 00 0C */ sth r0, 0xc(r1)
+/* 8009DF64 0009AEA4 48 00 05 38 */ b lbl_8009E49C
+lbl_8009DF68:
+/* 8009DF68 0009AEA8 2C 1F 00 1A */ cmpwi r31, 0x1a
+/* 8009DF6C 0009AEAC 40 82 00 34 */ bne lbl_8009DFA0
+/* 8009DF70 0009AEB0 A8 1B 2F EC */ lha r0, 0x2fec(r27)
+/* 8009DF74 0009AEB4 7C 00 00 D0 */ neg r0, r0
+/* 8009DF78 0009AEB8 38 60 00 00 */ li r3, 0
+/* 8009DF7C 0009AEBC B0 61 00 10 */ sth r3, 0x10(r1)
+/* 8009DF80 0009AEC0 B0 01 00 12 */ sth r0, 0x12(r1)
+/* 8009DF84 0009AEC4 B0 61 00 14 */ sth r3, 0x14(r1)
+/* 8009DF88 0009AEC8 38 00 00 02 */ li r0, 2
+/* 8009DF8C 0009AECC B0 01 00 08 */ sth r0, 8(r1)
+/* 8009DF90 0009AED0 38 00 00 01 */ li r0, 1
+/* 8009DF94 0009AED4 B0 01 00 0A */ sth r0, 0xa(r1)
+/* 8009DF98 0009AED8 B0 61 00 0C */ sth r3, 0xc(r1)
+/* 8009DF9C 0009AEDC 48 00 05 00 */ b lbl_8009E49C
+lbl_8009DFA0:
+/* 8009DFA0 0009AEE0 2C 1F 00 25 */ cmpwi r31, 0x25
+/* 8009DFA4 0009AEE4 41 80 00 40 */ blt lbl_8009DFE4
+/* 8009DFA8 0009AEE8 2C 1F 00 27 */ cmpwi r31, 0x27
+/* 8009DFAC 0009AEEC 41 81 00 38 */ bgt lbl_8009DFE4
+/* 8009DFB0 0009AEF0 57 E0 08 3C */ slwi r0, r31, 1
+/* 8009DFB4 0009AEF4 7C 7B 02 14 */ add r3, r27, r0
+/* 8009DFB8 0009AEF8 A8 03 30 4A */ lha r0, 0x304a(r3)
+/* 8009DFBC 0009AEFC 38 60 00 00 */ li r3, 0
+/* 8009DFC0 0009AF00 B0 61 00 10 */ sth r3, 0x10(r1)
+/* 8009DFC4 0009AF04 B0 01 00 12 */ sth r0, 0x12(r1)
+/* 8009DFC8 0009AF08 B0 61 00 14 */ sth r3, 0x14(r1)
+/* 8009DFCC 0009AF0C 38 00 00 02 */ li r0, 2
+/* 8009DFD0 0009AF10 B0 01 00 08 */ sth r0, 8(r1)
+/* 8009DFD4 0009AF14 38 00 00 01 */ li r0, 1
+/* 8009DFD8 0009AF18 B0 01 00 0A */ sth r0, 0xa(r1)
+/* 8009DFDC 0009AF1C B0 61 00 0C */ sth r3, 0xc(r1)
+/* 8009DFE0 0009AF20 48 00 04 BC */ b lbl_8009E49C
+lbl_8009DFE4:
+/* 8009DFE4 0009AF24 2C 1F 00 02 */ cmpwi r31, 2
+/* 8009DFE8 0009AF28 40 82 00 34 */ bne lbl_8009E01C
+/* 8009DFEC 0009AF2C A8 1B 2F EC */ lha r0, 0x2fec(r27)
+/* 8009DFF0 0009AF30 7C 00 00 D0 */ neg r0, r0
+/* 8009DFF4 0009AF34 38 60 00 00 */ li r3, 0
+/* 8009DFF8 0009AF38 B0 61 00 10 */ sth r3, 0x10(r1)
+/* 8009DFFC 0009AF3C B0 01 00 12 */ sth r0, 0x12(r1)
+/* 8009E000 0009AF40 B0 61 00 14 */ sth r3, 0x14(r1)
+/* 8009E004 0009AF44 38 00 00 02 */ li r0, 2
+/* 8009E008 0009AF48 B0 01 00 08 */ sth r0, 8(r1)
+/* 8009E00C 0009AF4C 38 00 00 01 */ li r0, 1
+/* 8009E010 0009AF50 B0 01 00 0A */ sth r0, 0xa(r1)
+/* 8009E014 0009AF54 B0 61 00 0C */ sth r3, 0xc(r1)
+/* 8009E018 0009AF58 48 00 04 84 */ b lbl_8009E49C
+lbl_8009E01C:
+/* 8009E01C 0009AF5C 2C 1F 00 04 */ cmpwi r31, 4
+/* 8009E020 0009AF60 40 82 04 7C */ bne lbl_8009E49C
+/* 8009E024 0009AF64 A8 9B 31 28 */ lha r4, 0x3128(r27)
+/* 8009E028 0009AF68 A8 1B 31 26 */ lha r0, 0x3126(r27)
+/* 8009E02C 0009AF6C 7C 60 00 D0 */ neg r3, r0
+/* 8009E030 0009AF70 A8 1B 31 24 */ lha r0, 0x3124(r27)
+/* 8009E034 0009AF74 B0 01 00 10 */ sth r0, 0x10(r1)
+/* 8009E038 0009AF78 B0 61 00 12 */ sth r3, 0x12(r1)
+/* 8009E03C 0009AF7C B0 81 00 14 */ sth r4, 0x14(r1)
+/* 8009E040 0009AF80 38 00 00 02 */ li r0, 2
+/* 8009E044 0009AF84 B0 01 00 08 */ sth r0, 8(r1)
+/* 8009E048 0009AF88 38 00 00 01 */ li r0, 1
+/* 8009E04C 0009AF8C B0 01 00 0A */ sth r0, 0xa(r1)
+/* 8009E050 0009AF90 38 00 00 00 */ li r0, 0
+/* 8009E054 0009AF94 B0 01 00 0C */ sth r0, 0xc(r1)
+/* 8009E058 0009AF98 48 00 04 44 */ b lbl_8009E49C
+lbl_8009E05C:
+/* 8009E05C 0009AF9C 2C 1F 00 04 */ cmpwi r31, 4
+/* 8009E060 0009AFA0 40 82 00 3C */ bne lbl_8009E09C
+/* 8009E064 0009AFA4 A8 9B 31 28 */ lha r4, 0x3128(r27)
+/* 8009E068 0009AFA8 A8 1B 31 26 */ lha r0, 0x3126(r27)
+/* 8009E06C 0009AFAC 7C 60 00 D0 */ neg r3, r0
+/* 8009E070 0009AFB0 A8 1B 31 24 */ lha r0, 0x3124(r27)
+/* 8009E074 0009AFB4 B0 01 00 10 */ sth r0, 0x10(r1)
+/* 8009E078 0009AFB8 B0 61 00 12 */ sth r3, 0x12(r1)
+/* 8009E07C 0009AFBC B0 81 00 14 */ sth r4, 0x14(r1)
+/* 8009E080 0009AFC0 38 00 00 02 */ li r0, 2
+/* 8009E084 0009AFC4 B0 01 00 08 */ sth r0, 8(r1)
+/* 8009E088 0009AFC8 38 00 00 01 */ li r0, 1
+/* 8009E08C 0009AFCC B0 01 00 0A */ sth r0, 0xa(r1)
+/* 8009E090 0009AFD0 38 00 00 00 */ li r0, 0
+/* 8009E094 0009AFD4 B0 01 00 0C */ sth r0, 0xc(r1)
+/* 8009E098 0009AFD8 48 00 04 04 */ b lbl_8009E49C
+lbl_8009E09C:
+/* 8009E09C 0009AFDC 2C 1F 00 10 */ cmpwi r31, 0x10
+/* 8009E0A0 0009AFE0 40 82 00 38 */ bne lbl_8009E0D8
+/* 8009E0A4 0009AFE4 A8 1B 30 8A */ lha r0, 0x308a(r27)
+/* 8009E0A8 0009AFE8 7C 80 00 D0 */ neg r4, r0
+/* 8009E0AC 0009AFEC A8 1B 30 88 */ lha r0, 0x3088(r27)
+/* 8009E0B0 0009AFF0 B0 01 00 10 */ sth r0, 0x10(r1)
+/* 8009E0B4 0009AFF4 38 60 00 00 */ li r3, 0
+/* 8009E0B8 0009AFF8 B0 61 00 12 */ sth r3, 0x12(r1)
+/* 8009E0BC 0009AFFC B0 81 00 14 */ sth r4, 0x14(r1)
+/* 8009E0C0 0009B000 38 00 00 02 */ li r0, 2
+/* 8009E0C4 0009B004 B0 01 00 08 */ sth r0, 8(r1)
+/* 8009E0C8 0009B008 B0 61 00 0A */ sth r3, 0xa(r1)
+/* 8009E0CC 0009B00C 38 00 00 01 */ li r0, 1
+/* 8009E0D0 0009B010 B0 01 00 0C */ sth r0, 0xc(r1)
+/* 8009E0D4 0009B014 48 00 03 C8 */ b lbl_8009E49C
+lbl_8009E0D8:
+/* 8009E0D8 0009B018 2C 1F 00 01 */ cmpwi r31, 1
+/* 8009E0DC 0009B01C 40 82 00 B0 */ bne lbl_8009E18C
+/* 8009E0E0 0009B020 38 00 00 00 */ li r0, 0
+/* 8009E0E4 0009B024 88 7B 2F AA */ lbz r3, 0x2faa(r27)
+/* 8009E0E8 0009B028 28 03 00 01 */ cmplwi r3, 1
+/* 8009E0EC 0009B02C 41 82 00 0C */ beq lbl_8009E0F8
+/* 8009E0F0 0009B030 28 03 00 02 */ cmplwi r3, 2
+/* 8009E0F4 0009B034 40 82 00 08 */ bne lbl_8009E0FC
+lbl_8009E0F8:
+/* 8009E0F8 0009B038 38 00 00 01 */ li r0, 1
+lbl_8009E0FC:
+/* 8009E0FC 0009B03C 54 00 06 3F */ clrlwi. r0, r0, 0x18
+/* 8009E100 0009B040 41 82 00 3C */ beq lbl_8009E13C
+/* 8009E104 0009B044 7F 63 DB 78 */ mr r3, r27
+/* 8009E108 0009B048 48 04 ED FD */ bl daAlink_c_NS_checkHorseLieAnime
+/* 8009E10C 0009B04C 2C 03 00 00 */ cmpwi r3, 0
+/* 8009E110 0009B050 40 82 00 2C */ bne lbl_8009E13C
+/* 8009E114 0009B054 A0 1B 2F E8 */ lhz r0, 0x2fe8(r27)
+/* 8009E118 0009B058 28 00 00 4F */ cmplwi r0, 0x4f
+/* 8009E11C 0009B05C 41 82 00 20 */ beq lbl_8009E13C
+/* 8009E120 0009B060 28 00 00 53 */ cmplwi r0, 0x53
+/* 8009E124 0009B064 41 82 00 18 */ beq lbl_8009E13C
+/* 8009E128 0009B068 A8 7B 04 E4 */ lha r3, 0x4e4(r27)
+/* 8009E12C 0009B06C A8 1B 05 9C */ lha r0, 0x59c(r27)
+/* 8009E130 0009B070 7C 03 00 50 */ subf r0, r3, r0
+/* 8009E134 0009B074 7C 05 07 34 */ extsh r5, r0
+/* 8009E138 0009B078 48 00 00 08 */ b lbl_8009E140
+lbl_8009E13C:
+/* 8009E13C 0009B07C A8 BB 05 9C */ lha r5, 0x59c(r27)
+lbl_8009E140:
+/* 8009E140 0009B080 7C A0 07 35 */ extsh. r0, r5
+/* 8009E144 0009B084 40 82 00 1C */ bne lbl_8009E160
+/* 8009E148 0009B088 A8 1B 30 C8 */ lha r0, 0x30c8(r27)
+/* 8009E14C 0009B08C 2C 00 00 00 */ cmpwi r0, 0
+/* 8009E150 0009B090 40 82 00 10 */ bne lbl_8009E160
+/* 8009E154 0009B094 A8 1B 05 A0 */ lha r0, 0x5a0(r27)
+/* 8009E158 0009B098 2C 00 00 00 */ cmpwi r0, 0
+/* 8009E15C 0009B09C 41 82 03 40 */ beq lbl_8009E49C
+lbl_8009E160:
+/* 8009E160 0009B0A0 80 7B 06 50 */ lwz r3, 0x650(r27)
+/* 8009E164 0009B0A4 80 63 00 84 */ lwz r3, 0x84(r3)
+/* 8009E168 0009B0A8 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 8009E16C 0009B0AC 38 83 00 30 */ addi r4, r3, 0x30
+/* 8009E170 0009B0B0 7F 63 DB 78 */ mr r3, r27
+/* 8009E174 0009B0B4 A8 DB 30 C8 */ lha r6, 0x30c8(r27)
+/* 8009E178 0009B0B8 A8 FB 05 A0 */ lha r7, 0x5a0(r27)
+/* 8009E17C 0009B0BC 39 00 00 01 */ li r8, 1
+/* 8009E180 0009B0C0 39 20 00 00 */ li r9, 0
+/* 8009E184 0009B0C4 4B FF FA E9 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz
+/* 8009E188 0009B0C8 48 00 03 14 */ b lbl_8009E49C
+lbl_8009E18C:
+/* 8009E18C 0009B0CC 2C 1F 00 02 */ cmpwi r31, 2
+/* 8009E190 0009B0D0 40 82 00 3C */ bne lbl_8009E1CC
+/* 8009E194 0009B0D4 A8 DB 30 C8 */ lha r6, 0x30c8(r27)
+/* 8009E198 0009B0D8 7C C0 07 35 */ extsh. r0, r6
+/* 8009E19C 0009B0DC 41 82 03 00 */ beq lbl_8009E49C
+/* 8009E1A0 0009B0E0 80 7B 06 50 */ lwz r3, 0x650(r27)
+/* 8009E1A4 0009B0E4 80 63 00 84 */ lwz r3, 0x84(r3)
+/* 8009E1A8 0009B0E8 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 8009E1AC 0009B0EC 38 83 00 60 */ addi r4, r3, 0x60
+/* 8009E1B0 0009B0F0 7F 63 DB 78 */ mr r3, r27
+/* 8009E1B4 0009B0F4 38 A0 00 00 */ li r5, 0
+/* 8009E1B8 0009B0F8 38 E0 00 00 */ li r7, 0
+/* 8009E1BC 0009B0FC 39 00 00 01 */ li r8, 1
+/* 8009E1C0 0009B100 39 20 00 00 */ li r9, 0
+/* 8009E1C4 0009B104 4B FF FA A9 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz
+/* 8009E1C8 0009B108 48 00 02 D4 */ b lbl_8009E49C
+lbl_8009E1CC:
+/* 8009E1CC 0009B10C 2C 1F 00 00 */ cmpwi r31, 0
+/* 8009E1D0 0009B110 40 82 01 24 */ bne lbl_8009E2F4
+/* 8009E1D4 0009B114 A0 1B 2F E8 */ lhz r0, 0x2fe8(r27)
+/* 8009E1D8 0009B118 28 00 01 3D */ cmplwi r0, 0x13d
+/* 8009E1DC 0009B11C 41 82 00 0C */ beq lbl_8009E1E8
+/* 8009E1E0 0009B120 28 00 00 E6 */ cmplwi r0, 0xe6
+/* 8009E1E4 0009B124 40 82 00 1C */ bne lbl_8009E200
+lbl_8009E1E8:
+/* 8009E1E8 0009B128 80 7B 20 60 */ lwz r3, 0x2060(r27)
+/* 8009E1EC 0009B12C 80 63 00 1C */ lwz r3, 0x1c(r3)
+/* 8009E1F0 0009B130 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009E1F4 0009B134 D0 03 00 14 */ stfs f0, 0x14(r3)
+/* 8009E1F8 0009B138 D0 03 00 1C */ stfs f0, 0x1c(r3)
+/* 8009E1FC 0009B13C 48 00 00 50 */ b lbl_8009E24C
+lbl_8009E200:
+/* 8009E200 0009B140 88 9B 2F 99 */ lbz r4, 0x2f99(r27)
+/* 8009E204 0009B144 54 80 07 7F */ clrlwi. r0, r4, 0x1d
+/* 8009E208 0009B148 41 82 00 44 */ beq lbl_8009E24C
+/* 8009E20C 0009B14C 80 7B 20 60 */ lwz r3, 0x2060(r27)
+/* 8009E210 0009B150 80 63 00 1C */ lwz r3, 0x1c(r3)
+/* 8009E214 0009B154 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d
+/* 8009E218 0009B158 41 82 00 0C */ beq lbl_8009E224
+/* 8009E21C 0009B15C C0 1B 35 90 */ lfs f0, 0x3590(r27)
+/* 8009E220 0009B160 D0 03 00 1C */ stfs f0, 0x1c(r3)
+lbl_8009E224:
+/* 8009E224 0009B164 88 1B 2F 99 */ lbz r0, 0x2f99(r27)
+/* 8009E228 0009B168 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8009E22C 0009B16C 41 82 00 0C */ beq lbl_8009E238
+/* 8009E230 0009B170 C0 1B 35 88 */ lfs f0, 0x3588(r27)
+/* 8009E234 0009B174 D0 03 00 14 */ stfs f0, 0x14(r3)
+lbl_8009E238:
+/* 8009E238 0009B178 88 1B 2F 99 */ lbz r0, 0x2f99(r27)
+/* 8009E23C 0009B17C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 8009E240 0009B180 41 82 00 0C */ beq lbl_8009E24C
+/* 8009E244 0009B184 C0 1B 33 B0 */ lfs f0, 0x33b0(r27)
+/* 8009E248 0009B188 D0 03 00 18 */ stfs f0, 0x18(r3)
+lbl_8009E24C:
+/* 8009E24C 0009B18C A8 9B 30 82 */ lha r4, 0x3082(r27)
+/* 8009E250 0009B190 A8 1B 30 80 */ lha r0, 0x3080(r27)
+/* 8009E254 0009B194 B0 01 00 10 */ sth r0, 0x10(r1)
+/* 8009E258 0009B198 38 60 00 00 */ li r3, 0
+/* 8009E25C 0009B19C B0 61 00 12 */ sth r3, 0x12(r1)
+/* 8009E260 0009B1A0 B0 81 00 14 */ sth r4, 0x14(r1)
+/* 8009E264 0009B1A4 38 00 00 02 */ li r0, 2
+/* 8009E268 0009B1A8 B0 01 00 08 */ sth r0, 8(r1)
+/* 8009E26C 0009B1AC B0 61 00 0A */ sth r3, 0xa(r1)
+/* 8009E270 0009B1B0 38 00 00 01 */ li r0, 1
+/* 8009E274 0009B1B4 B0 01 00 0C */ sth r0, 0xc(r1)
+/* 8009E278 0009B1B8 80 7B 20 60 */ lwz r3, 0x2060(r27)
+/* 8009E27C 0009B1BC 80 63 00 1C */ lwz r3, 0x1c(r3)
+/* 8009E280 0009B1C0 E0 03 00 00 */ psq_l f0, 0(r3), 0, 0
+/* 8009E284 0009B1C4 F0 01 00 78 */ psq_st f0, 120(r1), 0, 0
+/* 8009E288 0009B1C8 C0 03 00 08 */ lfs f0, 8(r3)
+/* 8009E28C 0009B1CC D0 01 00 80 */ stfs f0, 0x80(r1)
+/* 8009E290 0009B1D0 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 8009E294 0009B1D4 90 01 00 84 */ stw r0, 0x84(r1)
+/* 8009E298 0009B1D8 A8 03 00 10 */ lha r0, 0x10(r3)
+/* 8009E29C 0009B1DC B0 01 00 88 */ sth r0, 0x88(r1)
+/* 8009E2A0 0009B1E0 E0 03 00 14 */ psq_l f0, 20(r3), 0, 0
+/* 8009E2A4 0009B1E4 F0 01 00 8C */ psq_st f0, 140(r1), 0, 0
+/* 8009E2A8 0009B1E8 C0 43 00 1C */ lfs f2, 0x1c(r3)
+/* 8009E2AC 0009B1EC D0 41 00 94 */ stfs f2, 0x94(r1)
+/* 8009E2B0 0009B1F0 63 9C 00 02 */ ori r28, r28, 2
+/* 8009E2B4 0009B1F4 88 1B 2F 99 */ lbz r0, 0x2f99(r27)
+/* 8009E2B8 0009B1F8 28 00 00 60 */ cmplwi r0, 0x60
+/* 8009E2BC 0009B1FC 40 82 01 E0 */ bne lbl_8009E49C
+/* 8009E2C0 0009B200 C0 21 00 8C */ lfs f1, 0x8c(r1)
+/* 8009E2C4 0009B204 80 7B 38 4C */ lwz r3, 0x384c(r27)
+/* 8009E2C8 0009B208 C0 03 00 00 */ lfs f0, 0(r3)
+/* 8009E2CC 0009B20C EC 01 00 28 */ fsubs f0, f1, f0
+/* 8009E2D0 0009B210 D0 01 00 8C */ stfs f0, 0x8c(r1)
+/* 8009E2D4 0009B214 C0 21 00 90 */ lfs f1, 0x90(r1)
+/* 8009E2D8 0009B218 C0 03 00 04 */ lfs f0, 4(r3)
+/* 8009E2DC 0009B21C EC 01 00 28 */ fsubs f0, f1, f0
+/* 8009E2E0 0009B220 D0 01 00 90 */ stfs f0, 0x90(r1)
+/* 8009E2E4 0009B224 C0 03 00 08 */ lfs f0, 8(r3)
+/* 8009E2E8 0009B228 EC 02 00 28 */ fsubs f0, f2, f0
+/* 8009E2EC 0009B22C D0 01 00 94 */ stfs f0, 0x94(r1)
+/* 8009E2F0 0009B230 48 00 01 AC */ b lbl_8009E49C
+lbl_8009E2F4:
+/* 8009E2F4 0009B234 2C 1F 00 1B */ cmpwi r31, 0x1b
+/* 8009E2F8 0009B238 40 82 00 38 */ bne lbl_8009E330
+/* 8009E2FC 0009B23C 80 7B 06 50 */ lwz r3, 0x650(r27)
+/* 8009E300 0009B240 80 63 00 84 */ lwz r3, 0x84(r3)
+/* 8009E304 0009B244 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 8009E308 0009B248 1C 1F 00 30 */ mulli r0, r31, 0x30
+/* 8009E30C 0009B24C 7C 83 02 14 */ add r4, r3, r0
+/* 8009E310 0009B250 7F 63 DB 78 */ mr r3, r27
+/* 8009E314 0009B254 A8 BB 29 0A */ lha r5, 0x290a(r27)
+/* 8009E318 0009B258 38 C0 00 00 */ li r6, 0
+/* 8009E31C 0009B25C 38 E0 00 00 */ li r7, 0
+/* 8009E320 0009B260 39 00 00 01 */ li r8, 1
+/* 8009E324 0009B264 39 20 00 00 */ li r9, 0
+/* 8009E328 0009B268 4B FF F9 45 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz
+/* 8009E32C 0009B26C 48 00 01 70 */ b lbl_8009E49C
+lbl_8009E330:
+/* 8009E330 0009B270 2C 1F 00 1D */ cmpwi r31, 0x1d
+/* 8009E334 0009B274 40 82 00 38 */ bne lbl_8009E36C
+/* 8009E338 0009B278 80 7B 06 50 */ lwz r3, 0x650(r27)
+/* 8009E33C 0009B27C 80 63 00 84 */ lwz r3, 0x84(r3)
+/* 8009E340 0009B280 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 8009E344 0009B284 1C 1F 00 30 */ mulli r0, r31, 0x30
+/* 8009E348 0009B288 7C 83 02 14 */ add r4, r3, r0
+/* 8009E34C 0009B28C 7F 63 DB 78 */ mr r3, r27
+/* 8009E350 0009B290 A8 BB 29 AE */ lha r5, 0x29ae(r27)
+/* 8009E354 0009B294 38 C0 00 00 */ li r6, 0
+/* 8009E358 0009B298 38 E0 00 00 */ li r7, 0
+/* 8009E35C 0009B29C 39 00 00 01 */ li r8, 1
+/* 8009E360 0009B2A0 39 20 00 00 */ li r9, 0
+/* 8009E364 0009B2A4 4B FF F9 09 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz
+/* 8009E368 0009B2A8 48 00 01 34 */ b lbl_8009E49C
+lbl_8009E36C:
+/* 8009E36C 0009B2AC 2C 1F 00 05 */ cmpwi r31, 5
+/* 8009E370 0009B2B0 40 82 00 90 */ bne lbl_8009E400
+/* 8009E374 0009B2B4 38 00 00 00 */ li r0, 0
+/* 8009E378 0009B2B8 88 7B 2F AA */ lbz r3, 0x2faa(r27)
+/* 8009E37C 0009B2BC 28 03 00 01 */ cmplwi r3, 1
+/* 8009E380 0009B2C0 41 82 00 0C */ beq lbl_8009E38C
+/* 8009E384 0009B2C4 28 03 00 02 */ cmplwi r3, 2
+/* 8009E388 0009B2C8 40 82 00 08 */ bne lbl_8009E390
+lbl_8009E38C:
+/* 8009E38C 0009B2CC 38 00 00 01 */ li r0, 1
+lbl_8009E390:
+/* 8009E390 0009B2D0 54 00 06 3F */ clrlwi. r0, r0, 0x18
+/* 8009E394 0009B2D4 41 82 01 08 */ beq lbl_8009E49C
+/* 8009E398 0009B2D8 7F 63 DB 78 */ mr r3, r27
+/* 8009E39C 0009B2DC 48 04 06 4D */ bl daAlink_c_NS_checkBowAnime
+/* 8009E3A0 0009B2E0 2C 03 00 00 */ cmpwi r3, 0
+/* 8009E3A4 0009B2E4 41 82 00 F8 */ beq lbl_8009E49C
+/* 8009E3A8 0009B2E8 3B 80 00 01 */ li r28, 1
+/* 8009E3AC 0009B2EC 80 7B 20 60 */ lwz r3, 0x2060(r27)
+/* 8009E3B0 0009B2F0 80 03 00 20 */ lwz r0, 0x20(r3)
+/* 8009E3B4 0009B2F4 7C 60 F2 14 */ add r3, r0, r30
+/* 8009E3B8 0009B2F8 C0 03 00 00 */ lfs f0, 0(r3)
+/* 8009E3BC 0009B2FC D0 01 00 48 */ stfs f0, 0x48(r1)
+/* 8009E3C0 0009B300 C0 03 00 04 */ lfs f0, 4(r3)
+/* 8009E3C4 0009B304 D0 01 00 4C */ stfs f0, 0x4c(r1)
+/* 8009E3C8 0009B308 C0 03 00 08 */ lfs f0, 8(r3)
+/* 8009E3CC 0009B30C D0 01 00 50 */ stfs f0, 0x50(r1)
+/* 8009E3D0 0009B310 C0 03 00 0C */ lfs f0, 0xc(r3)
+/* 8009E3D4 0009B314 D0 01 00 54 */ stfs f0, 0x54(r1)
+/* 8009E3D8 0009B318 38 60 00 00 */ li r3, 0
+/* 8009E3DC 0009B31C 38 80 00 00 */ li r4, 0
+/* 8009E3E0 0009B320 38 A0 13 88 */ li r5, 0x1388
+/* 8009E3E4 0009B324 38 C1 00 38 */ addi r6, r1, 0x38
+/* 8009E3E8 0009B328 48 29 B4 91 */ bl JMAEulerToQuat
+/* 8009E3EC 0009B32C 38 61 00 48 */ addi r3, r1, 0x48
+/* 8009E3F0 0009B330 38 81 00 38 */ addi r4, r1, 0x38
+/* 8009E3F4 0009B334 38 A1 00 28 */ addi r5, r1, 0x28
+/* 8009E3F8 0009B338 4B F6 E7 65 */ bl mDoMtx_QuatConcat
+/* 8009E3FC 0009B33C 48 00 00 A0 */ b lbl_8009E49C
+lbl_8009E400:
+/* 8009E400 0009B340 2C 1F 00 0D */ cmpwi r31, 0xd
+/* 8009E404 0009B344 41 82 00 0C */ beq lbl_8009E410
+/* 8009E408 0009B348 2C 1F 00 0C */ cmpwi r31, 0xc
+/* 8009E40C 0009B34C 40 82 00 90 */ bne lbl_8009E49C
+lbl_8009E410:
+/* 8009E410 0009B350 38 60 00 00 */ li r3, 0
+/* 8009E414 0009B354 A0 1B 1F BC */ lhz r0, 0x1fbc(r27)
+/* 8009E418 0009B358 28 00 00 5D */ cmplwi r0, 0x5d
+/* 8009E41C 0009B35C 41 82 00 10 */ beq lbl_8009E42C
+/* 8009E420 0009B360 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 8009E424 0009B364 28 00 02 60 */ cmplwi r0, 0x260
+/* 8009E428 0009B368 40 82 00 08 */ bne lbl_8009E430
+lbl_8009E42C:
+/* 8009E42C 0009B36C 38 60 00 01 */ li r3, 1
+lbl_8009E430:
+/* 8009E430 0009B370 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 8009E434 0009B374 40 82 00 2C */ bne lbl_8009E460
+/* 8009E438 0009B378 7F 63 DB 78 */ mr r3, r27
+/* 8009E43C 0009B37C 38 80 00 E0 */ li r4, 0xe0
+/* 8009E440 0009B380 48 00 E1 19 */ bl daAlink_c_NS_checkUnderMove0BckNoArc
+/* 8009E444 0009B384 2C 03 00 00 */ cmpwi r3, 0
+/* 8009E448 0009B388 40 82 00 18 */ bne lbl_8009E460
+/* 8009E44C 0009B38C 7F 63 DB 78 */ mr r3, r27
+/* 8009E450 0009B390 38 80 00 E1 */ li r4, 0xe1
+/* 8009E454 0009B394 48 00 E1 05 */ bl daAlink_c_NS_checkUnderMove0BckNoArc
+/* 8009E458 0009B398 2C 03 00 00 */ cmpwi r3, 0
+/* 8009E45C 0009B39C 41 82 00 40 */ beq lbl_8009E49C
+lbl_8009E460:
+/* 8009E460 0009B3A0 2C 1F 00 0D */ cmpwi r31, 0xd
+/* 8009E464 0009B3A4 40 82 00 20 */ bne lbl_8009E484
+/* 8009E468 0009B3A8 A8 1B 31 60 */ lha r0, 0x3160(r27)
+/* 8009E46C 0009B3AC B0 01 00 10 */ sth r0, 0x10(r1)
+/* 8009E470 0009B3B0 A8 1B 31 62 */ lha r0, 0x3162(r27)
+/* 8009E474 0009B3B4 B0 01 00 12 */ sth r0, 0x12(r1)
+/* 8009E478 0009B3B8 A8 1B 31 64 */ lha r0, 0x3164(r27)
+/* 8009E47C 0009B3BC B0 01 00 14 */ sth r0, 0x14(r1)
+/* 8009E480 0009B3C0 48 00 00 1C */ b lbl_8009E49C
+lbl_8009E484:
+/* 8009E484 0009B3C4 A8 1B 31 5A */ lha r0, 0x315a(r27)
+/* 8009E488 0009B3C8 B0 01 00 10 */ sth r0, 0x10(r1)
+/* 8009E48C 0009B3CC A8 1B 31 5C */ lha r0, 0x315c(r27)
+/* 8009E490 0009B3D0 B0 01 00 12 */ sth r0, 0x12(r1)
+/* 8009E494 0009B3D4 A8 1B 31 5E */ lha r0, 0x315e(r27)
+/* 8009E498 0009B3D8 B0 01 00 14 */ sth r0, 0x14(r1)
+lbl_8009E49C:
+/* 8009E49C 0009B3DC A8 01 00 10 */ lha r0, 0x10(r1)
+/* 8009E4A0 0009B3E0 2C 00 00 00 */ cmpwi r0, 0
+/* 8009E4A4 0009B3E4 40 82 00 1C */ bne lbl_8009E4C0
+/* 8009E4A8 0009B3E8 A8 01 00 12 */ lha r0, 0x12(r1)
+/* 8009E4AC 0009B3EC 2C 00 00 00 */ cmpwi r0, 0
+/* 8009E4B0 0009B3F0 40 82 00 10 */ bne lbl_8009E4C0
+/* 8009E4B4 0009B3F4 A8 01 00 14 */ lha r0, 0x14(r1)
+/* 8009E4B8 0009B3F8 2C 00 00 00 */ cmpwi r0, 0
+/* 8009E4BC 0009B3FC 41 82 01 F4 */ beq lbl_8009E6B0
+lbl_8009E4C0:
+/* 8009E4C0 0009B400 63 9C 00 01 */ ori r28, r28, 1
+/* 8009E4C4 0009B404 A8 A1 00 12 */ lha r5, 0x12(r1)
+/* 8009E4C8 0009B408 7C A0 07 35 */ extsh. r0, r5
+/* 8009E4CC 0009B40C 41 82 00 98 */ beq lbl_8009E564
+/* 8009E4D0 0009B410 80 7B 20 60 */ lwz r3, 0x2060(r27)
+/* 8009E4D4 0009B414 80 03 00 20 */ lwz r0, 0x20(r3)
+/* 8009E4D8 0009B418 7C 60 F2 14 */ add r3, r0, r30
+/* 8009E4DC 0009B41C C0 03 00 00 */ lfs f0, 0(r3)
+/* 8009E4E0 0009B420 D0 01 00 48 */ stfs f0, 0x48(r1)
+/* 8009E4E4 0009B424 C0 03 00 04 */ lfs f0, 4(r3)
+/* 8009E4E8 0009B428 D0 01 00 4C */ stfs f0, 0x4c(r1)
+/* 8009E4EC 0009B42C C0 03 00 08 */ lfs f0, 8(r3)
+/* 8009E4F0 0009B430 D0 01 00 50 */ stfs f0, 0x50(r1)
+/* 8009E4F4 0009B434 C0 03 00 0C */ lfs f0, 0xc(r3)
+/* 8009E4F8 0009B438 D0 01 00 54 */ stfs f0, 0x54(r1)
+/* 8009E4FC 0009B43C A8 61 00 0A */ lha r3, 0xa(r1)
+/* 8009E500 0009B440 7C 60 07 35 */ extsh. r0, r3
+/* 8009E504 0009B444 40 82 00 1C */ bne lbl_8009E520
+/* 8009E508 0009B448 7C A3 2B 78 */ mr r3, r5
+/* 8009E50C 0009B44C 38 80 00 00 */ li r4, 0
+/* 8009E510 0009B450 38 A0 00 00 */ li r5, 0
+/* 8009E514 0009B454 38 C1 00 38 */ addi r6, r1, 0x38
+/* 8009E518 0009B458 48 29 B3 61 */ bl JMAEulerToQuat
+/* 8009E51C 0009B45C 48 00 00 34 */ b lbl_8009E550
+lbl_8009E520:
+/* 8009E520 0009B460 2C 03 00 01 */ cmpwi r3, 1
+/* 8009E524 0009B464 40 82 00 1C */ bne lbl_8009E540
+/* 8009E528 0009B468 38 60 00 00 */ li r3, 0
+/* 8009E52C 0009B46C 7C A4 2B 78 */ mr r4, r5
+/* 8009E530 0009B470 38 A0 00 00 */ li r5, 0
+/* 8009E534 0009B474 38 C1 00 38 */ addi r6, r1, 0x38
+/* 8009E538 0009B478 48 29 B3 41 */ bl JMAEulerToQuat
+/* 8009E53C 0009B47C 48 00 00 14 */ b lbl_8009E550
+lbl_8009E540:
+/* 8009E540 0009B480 38 60 00 00 */ li r3, 0
+/* 8009E544 0009B484 38 80 00 00 */ li r4, 0
+/* 8009E548 0009B488 38 C1 00 38 */ addi r6, r1, 0x38
+/* 8009E54C 0009B48C 48 29 B3 2D */ bl JMAEulerToQuat
+lbl_8009E550:
+/* 8009E550 0009B490 38 61 00 48 */ addi r3, r1, 0x48
+/* 8009E554 0009B494 38 81 00 38 */ addi r4, r1, 0x38
+/* 8009E558 0009B498 38 A1 00 28 */ addi r5, r1, 0x28
+/* 8009E55C 0009B49C 4B F6 E6 01 */ bl mDoMtx_QuatConcat
+/* 8009E560 0009B4A0 48 00 00 30 */ b lbl_8009E590
+lbl_8009E564:
+/* 8009E564 0009B4A4 80 7B 20 60 */ lwz r3, 0x2060(r27)
+/* 8009E568 0009B4A8 80 03 00 20 */ lwz r0, 0x20(r3)
+/* 8009E56C 0009B4AC 7C 60 F2 14 */ add r3, r0, r30
+/* 8009E570 0009B4B0 C0 03 00 00 */ lfs f0, 0(r3)
+/* 8009E574 0009B4B4 D0 01 00 28 */ stfs f0, 0x28(r1)
+/* 8009E578 0009B4B8 C0 03 00 04 */ lfs f0, 4(r3)
+/* 8009E57C 0009B4BC D0 01 00 2C */ stfs f0, 0x2c(r1)
+/* 8009E580 0009B4C0 C0 03 00 08 */ lfs f0, 8(r3)
+/* 8009E584 0009B4C4 D0 01 00 30 */ stfs f0, 0x30(r1)
+/* 8009E588 0009B4C8 C0 03 00 0C */ lfs f0, 0xc(r3)
+/* 8009E58C 0009B4CC D0 01 00 34 */ stfs f0, 0x34(r1)
+lbl_8009E590:
+/* 8009E590 0009B4D0 A8 A1 00 10 */ lha r5, 0x10(r1)
+/* 8009E594 0009B4D4 7C A0 07 35 */ extsh. r0, r5
+/* 8009E598 0009B4D8 41 82 00 88 */ beq lbl_8009E620
+/* 8009E59C 0009B4DC C0 01 00 28 */ lfs f0, 0x28(r1)
+/* 8009E5A0 0009B4E0 D0 01 00 48 */ stfs f0, 0x48(r1)
+/* 8009E5A4 0009B4E4 C0 01 00 2C */ lfs f0, 0x2c(r1)
+/* 8009E5A8 0009B4E8 D0 01 00 4C */ stfs f0, 0x4c(r1)
+/* 8009E5AC 0009B4EC C0 01 00 30 */ lfs f0, 0x30(r1)
+/* 8009E5B0 0009B4F0 D0 01 00 50 */ stfs f0, 0x50(r1)
+/* 8009E5B4 0009B4F4 C0 01 00 34 */ lfs f0, 0x34(r1)
+/* 8009E5B8 0009B4F8 D0 01 00 54 */ stfs f0, 0x54(r1)
+/* 8009E5BC 0009B4FC A8 61 00 08 */ lha r3, 8(r1)
+/* 8009E5C0 0009B500 7C 60 07 35 */ extsh. r0, r3
+/* 8009E5C4 0009B504 40 82 00 1C */ bne lbl_8009E5E0
+/* 8009E5C8 0009B508 7C A3 2B 78 */ mr r3, r5
+/* 8009E5CC 0009B50C 38 80 00 00 */ li r4, 0
+/* 8009E5D0 0009B510 38 A0 00 00 */ li r5, 0
+/* 8009E5D4 0009B514 38 C1 00 38 */ addi r6, r1, 0x38
+/* 8009E5D8 0009B518 48 29 B2 A1 */ bl JMAEulerToQuat
+/* 8009E5DC 0009B51C 48 00 00 34 */ b lbl_8009E610
+lbl_8009E5E0:
+/* 8009E5E0 0009B520 2C 03 00 01 */ cmpwi r3, 1
+/* 8009E5E4 0009B524 40 82 00 1C */ bne lbl_8009E600
+/* 8009E5E8 0009B528 38 60 00 00 */ li r3, 0
+/* 8009E5EC 0009B52C 7C A4 2B 78 */ mr r4, r5
+/* 8009E5F0 0009B530 38 A0 00 00 */ li r5, 0
+/* 8009E5F4 0009B534 38 C1 00 38 */ addi r6, r1, 0x38
+/* 8009E5F8 0009B538 48 29 B2 81 */ bl JMAEulerToQuat
+/* 8009E5FC 0009B53C 48 00 00 14 */ b lbl_8009E610
+lbl_8009E600:
+/* 8009E600 0009B540 38 60 00 00 */ li r3, 0
+/* 8009E604 0009B544 38 80 00 00 */ li r4, 0
+/* 8009E608 0009B548 38 C1 00 38 */ addi r6, r1, 0x38
+/* 8009E60C 0009B54C 48 29 B2 6D */ bl JMAEulerToQuat
+lbl_8009E610:
+/* 8009E610 0009B550 38 61 00 48 */ addi r3, r1, 0x48
+/* 8009E614 0009B554 38 81 00 38 */ addi r4, r1, 0x38
+/* 8009E618 0009B558 38 A1 00 28 */ addi r5, r1, 0x28
+/* 8009E61C 0009B55C 4B F6 E5 41 */ bl mDoMtx_QuatConcat
+lbl_8009E620:
+/* 8009E620 0009B560 A8 A1 00 14 */ lha r5, 0x14(r1)
+/* 8009E624 0009B564 7C A0 07 35 */ extsh. r0, r5
+/* 8009E628 0009B568 41 82 00 88 */ beq lbl_8009E6B0
+/* 8009E62C 0009B56C C0 01 00 28 */ lfs f0, 0x28(r1)
+/* 8009E630 0009B570 D0 01 00 48 */ stfs f0, 0x48(r1)
+/* 8009E634 0009B574 C0 01 00 2C */ lfs f0, 0x2c(r1)
+/* 8009E638 0009B578 D0 01 00 4C */ stfs f0, 0x4c(r1)
+/* 8009E63C 0009B57C C0 01 00 30 */ lfs f0, 0x30(r1)
+/* 8009E640 0009B580 D0 01 00 50 */ stfs f0, 0x50(r1)
+/* 8009E644 0009B584 C0 01 00 34 */ lfs f0, 0x34(r1)
+/* 8009E648 0009B588 D0 01 00 54 */ stfs f0, 0x54(r1)
+/* 8009E64C 0009B58C A8 61 00 0C */ lha r3, 0xc(r1)
+/* 8009E650 0009B590 7C 60 07 35 */ extsh. r0, r3
+/* 8009E654 0009B594 40 82 00 1C */ bne lbl_8009E670
+/* 8009E658 0009B598 7C A3 2B 78 */ mr r3, r5
+/* 8009E65C 0009B59C 38 80 00 00 */ li r4, 0
+/* 8009E660 0009B5A0 38 A0 00 00 */ li r5, 0
+/* 8009E664 0009B5A4 38 C1 00 38 */ addi r6, r1, 0x38
+/* 8009E668 0009B5A8 48 29 B2 11 */ bl JMAEulerToQuat
+/* 8009E66C 0009B5AC 48 00 00 34 */ b lbl_8009E6A0
+lbl_8009E670:
+/* 8009E670 0009B5B0 2C 03 00 01 */ cmpwi r3, 1
+/* 8009E674 0009B5B4 40 82 00 1C */ bne lbl_8009E690
+/* 8009E678 0009B5B8 38 60 00 00 */ li r3, 0
+/* 8009E67C 0009B5BC 7C A4 2B 78 */ mr r4, r5
+/* 8009E680 0009B5C0 38 A0 00 00 */ li r5, 0
+/* 8009E684 0009B5C4 38 C1 00 38 */ addi r6, r1, 0x38
+/* 8009E688 0009B5C8 48 29 B1 F1 */ bl JMAEulerToQuat
+/* 8009E68C 0009B5CC 48 00 00 14 */ b lbl_8009E6A0
+lbl_8009E690:
+/* 8009E690 0009B5D0 38 60 00 00 */ li r3, 0
+/* 8009E694 0009B5D4 38 80 00 00 */ li r4, 0
+/* 8009E698 0009B5D8 38 C1 00 38 */ addi r6, r1, 0x38
+/* 8009E69C 0009B5DC 48 29 B1 DD */ bl JMAEulerToQuat
+lbl_8009E6A0:
+/* 8009E6A0 0009B5E0 38 61 00 48 */ addi r3, r1, 0x48
+/* 8009E6A4 0009B5E4 38 81 00 38 */ addi r4, r1, 0x38
+/* 8009E6A8 0009B5E8 38 A1 00 28 */ addi r5, r1, 0x28
+/* 8009E6AC 0009B5EC 4B F6 E4 B1 */ bl mDoMtx_QuatConcat
+lbl_8009E6B0:
+/* 8009E6B0 0009B5F0 2C 1C 00 00 */ cmpwi r28, 0
+/* 8009E6B4 0009B5F4 41 82 00 E8 */ beq lbl_8009E79C
+/* 8009E6B8 0009B5F8 80 7B 06 50 */ lwz r3, 0x650(r27)
+/* 8009E6BC 0009B5FC 80 63 00 84 */ lwz r3, 0x84(r3)
+/* 8009E6C0 0009B600 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 8009E6C4 0009B604 1C 1F 00 30 */ mulli r0, r31, 0x30
+/* 8009E6C8 0009B608 7F E3 02 14 */ add r31, r3, r0
+/* 8009E6CC 0009B60C 57 80 07 BD */ rlwinm. r0, r28, 0, 0x1e, 0x1e
+/* 8009E6D0 0009B610 41 82 00 0C */ beq lbl_8009E6DC
+/* 8009E6D4 0009B614 3B A1 00 78 */ addi r29, r1, 0x78
+/* 8009E6D8 0009B618 48 00 00 14 */ b lbl_8009E6EC
+lbl_8009E6DC:
+/* 8009E6DC 0009B61C 80 7B 20 60 */ lwz r3, 0x2060(r27)
+/* 8009E6E0 0009B620 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 8009E6E4 0009B624 7C 00 EA 14 */ add r0, r0, r29
+/* 8009E6E8 0009B628 7C 1D 03 78 */ mr r29, r0
+lbl_8009E6EC:
+/* 8009E6EC 0009B62C 57 80 07 FF */ clrlwi. r0, r28, 0x1f
+/* 8009E6F0 0009B630 41 82 00 0C */ beq lbl_8009E6FC
+/* 8009E6F4 0009B634 3B 61 00 28 */ addi r27, r1, 0x28
+/* 8009E6F8 0009B638 48 00 00 14 */ b lbl_8009E70C
+lbl_8009E6FC:
+/* 8009E6FC 0009B63C 80 7B 20 60 */ lwz r3, 0x2060(r27)
+/* 8009E700 0009B640 80 03 00 20 */ lwz r0, 0x20(r3)
+/* 8009E704 0009B644 7C 00 F2 14 */ add r0, r0, r30
+/* 8009E708 0009B648 7C 1B 03 78 */ mr r27, r0
+lbl_8009E70C:
+/* 8009E70C 0009B64C 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009E710 0009B650 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009E714 0009B654 C0 21 00 6C */ lfs f1, 0x6c(r1)
+/* 8009E718 0009B658 C0 41 00 70 */ lfs f2, 0x70(r1)
+/* 8009E71C 0009B65C C0 61 00 74 */ lfs f3, 0x74(r1)
+/* 8009E720 0009B660 48 2A 81 C9 */ bl PSMTXTrans
+/* 8009E724 0009B664 38 61 00 18 */ addi r3, r1, 0x18
+/* 8009E728 0009B668 4B F6 E8 55 */ bl mDoMtx_stack_c_NS_quatM
+/* 8009E72C 0009B66C 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009E730 0009B670 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009E734 0009B674 7C 64 1B 78 */ mr r4, r3
+/* 8009E738 0009B678 48 2A 7E 79 */ bl PSMTXInverse
+/* 8009E73C 0009B67C 7F E3 FB 78 */ mr r3, r31
+/* 8009E740 0009B680 3C 80 80 3E */ lis r4, lbl_803DD470@ha
+/* 8009E744 0009B684 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l
+/* 8009E748 0009B688 3C A0 80 43 */ lis r5, lbl_80434BE4@ha
+/* 8009E74C 0009B68C 38 A5 4B E4 */ addi r5, r5, lbl_80434BE4@l
+/* 8009E750 0009B690 48 2A 7D 95 */ bl PSMTXConcat
+/* 8009E754 0009B694 7F E3 FB 78 */ mr r3, r31
+/* 8009E758 0009B698 7F 64 DB 78 */ mr r4, r27
+/* 8009E75C 0009B69C 48 2A 82 8D */ bl PSMTXQuat
+/* 8009E760 0009B6A0 C0 1D 00 14 */ lfs f0, 0x14(r29)
+/* 8009E764 0009B6A4 D0 1F 00 0C */ stfs f0, 0xc(r31)
+/* 8009E768 0009B6A8 C0 1D 00 18 */ lfs f0, 0x18(r29)
+/* 8009E76C 0009B6AC D0 1F 00 1C */ stfs f0, 0x1c(r31)
+/* 8009E770 0009B6B0 C0 1D 00 1C */ lfs f0, 0x1c(r29)
+/* 8009E774 0009B6B4 D0 1F 00 2C */ stfs f0, 0x2c(r31)
+/* 8009E778 0009B6B8 3C 60 80 43 */ lis r3, lbl_80434BE4@ha
+/* 8009E77C 0009B6BC 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l
+/* 8009E780 0009B6C0 7F E4 FB 78 */ mr r4, r31
+/* 8009E784 0009B6C4 7C 65 1B 78 */ mr r5, r3
+/* 8009E788 0009B6C8 48 2A 7D 5D */ bl PSMTXConcat
+/* 8009E78C 0009B6CC 3C 60 80 43 */ lis r3, lbl_80434BE4@ha
+/* 8009E790 0009B6D0 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l
+/* 8009E794 0009B6D4 7F E4 FB 78 */ mr r4, r31
+/* 8009E798 0009B6D8 48 2A 7D 19 */ bl PSMTXCopy
+lbl_8009E79C:
+/* 8009E79C 0009B6DC 38 60 00 01 */ li r3, 1
+/* 8009E7A0 0009B6E0 39 61 00 B0 */ addi r11, r1, 0xb0
+/* 8009E7A4 0009B6E4 48 2C 3A 7D */ bl _restgpr_27
+/* 8009E7A8 0009B6E8 80 01 00 B4 */ lwz r0, 0xb4(r1)
+/* 8009E7AC 0009B6EC 7C 08 03 A6 */ mtlr r0
+/* 8009E7B0 0009B6F0 38 21 00 B0 */ addi r1, r1, 0xb0
+/* 8009E7B4 0009B6F4 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009E7B8.s b/include/d/d_a/d_a_alink/asm/func_8009E7B8.s
new file mode 100644
index 0000000000..c0fcef4713
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009E7B8.s
@@ -0,0 +1,96 @@
+/* 8009E7B8 0009B6F8 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 8009E7BC 0009B6FC 7C 08 02 A6 */ mflr r0
+/* 8009E7C0 0009B700 90 01 00 44 */ stw r0, 0x44(r1)
+/* 8009E7C4 0009B704 93 E1 00 3C */ stw r31, 0x3c(r1)
+/* 8009E7C8 0009B708 7C 7F 1B 78 */ mr r31, r3
+/* 8009E7CC 0009B70C 38 00 00 00 */ li r0, 0
+/* 8009E7D0 0009B710 88 63 2F AA */ lbz r3, 0x2faa(r3)
+/* 8009E7D4 0009B714 28 03 00 01 */ cmplwi r3, 1
+/* 8009E7D8 0009B718 41 82 00 0C */ beq lbl_8009E7E4
+/* 8009E7DC 0009B71C 28 03 00 02 */ cmplwi r3, 2
+/* 8009E7E0 0009B720 40 82 00 08 */ bne lbl_8009E7E8
+lbl_8009E7E4:
+/* 8009E7E4 0009B724 38 00 00 01 */ li r0, 1
+lbl_8009E7E8:
+/* 8009E7E8 0009B728 54 00 06 3F */ clrlwi. r0, r0, 0x18
+/* 8009E7EC 0009B72C 41 82 00 14 */ beq lbl_8009E800
+/* 8009E7F0 0009B730 7F E3 FB 78 */ mr r3, r31
+/* 8009E7F4 0009B734 48 01 C7 8D */ bl daAlink_c_NS_checkUpperReadyThrowAnime
+/* 8009E7F8 0009B738 2C 03 00 00 */ cmpwi r3, 0
+/* 8009E7FC 0009B73C 40 82 00 30 */ bne lbl_8009E82C
+lbl_8009E800:
+/* 8009E800 0009B740 7F E3 FB 78 */ mr r3, r31
+/* 8009E804 0009B744 81 9F 06 28 */ lwz r12, 0x628(r31)
+/* 8009E808 0009B748 81 8C 01 94 */ lwz r12, 0x194(r12)
+/* 8009E80C 0009B74C 7D 89 03 A6 */ mtctr r12
+/* 8009E810 0009B750 4E 80 04 21 */ bctrl
+/* 8009E814 0009B754 28 03 00 00 */ cmplwi r3, 0
+/* 8009E818 0009B758 41 82 00 F0 */ beq lbl_8009E908
+/* 8009E81C 0009B75C 7F E3 FB 78 */ mr r3, r31
+/* 8009E820 0009B760 48 01 AA 35 */ bl daAlink_c_NS_checkNoUpperAnime
+/* 8009E824 0009B764 2C 03 00 00 */ cmpwi r3, 0
+/* 8009E828 0009B768 40 82 00 E0 */ bne lbl_8009E908
+lbl_8009E82C:
+/* 8009E82C 0009B76C 3C 60 80 43 */ lis r3, lbl_80434BE4@ha
+/* 8009E830 0009B770 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l
+/* 8009E834 0009B774 38 9F 2C 18 */ addi r4, r31, 0x2c18
+/* 8009E838 0009B778 48 2A 7C 79 */ bl PSMTXCopy
+/* 8009E83C 0009B77C 80 7F 1F 54 */ lwz r3, 0x1f54(r31)
+/* 8009E840 0009B780 28 03 00 00 */ cmplwi r3, 0
+/* 8009E844 0009B784 41 82 00 80 */ beq lbl_8009E8C4
+/* 8009E848 0009B788 38 80 00 00 */ li r4, 0
+/* 8009E84C 0009B78C 38 A1 00 18 */ addi r5, r1, 0x18
+/* 8009E850 0009B790 81 83 00 00 */ lwz r12, 0(r3)
+/* 8009E854 0009B794 81 8C 00 10 */ lwz r12, 0x10(r12)
+/* 8009E858 0009B798 7D 89 03 A6 */ mtctr r12
+/* 8009E85C 0009B79C 4E 80 04 21 */ bctrl
+/* 8009E860 0009B7A0 A8 61 00 24 */ lha r3, 0x24(r1)
+/* 8009E864 0009B7A4 A8 81 00 26 */ lha r4, 0x26(r1)
+/* 8009E868 0009B7A8 A8 A1 00 28 */ lha r5, 0x28(r1)
+/* 8009E86C 0009B7AC 38 C1 00 08 */ addi r6, r1, 8
+/* 8009E870 0009B7B0 48 29 B0 09 */ bl JMAEulerToQuat
+/* 8009E874 0009B7B4 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009E878 0009B7B8 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009E87C 0009B7BC 38 81 00 08 */ addi r4, r1, 8
+/* 8009E880 0009B7C0 48 2A 81 69 */ bl PSMTXQuat
+/* 8009E884 0009B7C4 80 7F 06 50 */ lwz r3, 0x650(r31)
+/* 8009E888 0009B7C8 38 63 00 24 */ addi r3, r3, 0x24
+/* 8009E88C 0009B7CC 3C 80 80 3E */ lis r4, lbl_803DD470@ha
+/* 8009E890 0009B7D0 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l
+/* 8009E894 0009B7D4 3C A0 80 43 */ lis r5, lbl_80434BE4@ha
+/* 8009E898 0009B7D8 38 A5 4B E4 */ addi r5, r5, lbl_80434BE4@l
+/* 8009E89C 0009B7DC 48 2A 7C 49 */ bl PSMTXConcat
+/* 8009E8A0 0009B7E0 C0 1F 2C 24 */ lfs f0, 0x2c24(r31)
+/* 8009E8A4 0009B7E4 3C 60 80 43 */ lis r3, lbl_80434BE4@ha
+/* 8009E8A8 0009B7E8 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l
+/* 8009E8AC 0009B7EC D0 03 00 0C */ stfs f0, 0xc(r3)
+/* 8009E8B0 0009B7F0 C0 1F 2C 34 */ lfs f0, 0x2c34(r31)
+/* 8009E8B4 0009B7F4 D0 03 00 1C */ stfs f0, 0x1c(r3)
+/* 8009E8B8 0009B7F8 C0 1F 2C 44 */ lfs f0, 0x2c44(r31)
+/* 8009E8BC 0009B7FC D0 03 00 2C */ stfs f0, 0x2c(r3)
+/* 8009E8C0 0009B800 48 00 00 40 */ b lbl_8009E900
+lbl_8009E8C4:
+/* 8009E8C4 0009B804 80 7F 20 60 */ lwz r3, 0x2060(r31)
+/* 8009E8C8 0009B808 80 83 00 20 */ lwz r4, 0x20(r3)
+/* 8009E8CC 0009B80C 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009E8D0 0009B810 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009E8D4 0009B814 48 2A 81 15 */ bl PSMTXQuat
+/* 8009E8D8 0009B818 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009E8DC 0009B81C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009E8E0 0009B820 7C 64 1B 78 */ mr r4, r3
+/* 8009E8E4 0009B824 48 2A 7C CD */ bl PSMTXInverse
+/* 8009E8E8 0009B828 3C 60 80 43 */ lis r3, lbl_80434BE4@ha
+/* 8009E8EC 0009B82C 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l
+/* 8009E8F0 0009B830 3C 80 80 3E */ lis r4, lbl_803DD470@ha
+/* 8009E8F4 0009B834 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l
+/* 8009E8F8 0009B838 7C 65 1B 78 */ mr r5, r3
+/* 8009E8FC 0009B83C 48 2A 7B E9 */ bl PSMTXConcat
+lbl_8009E900:
+/* 8009E900 0009B840 38 00 00 01 */ li r0, 1
+/* 8009E904 0009B844 98 1F 2F 90 */ stb r0, 0x2f90(r31)
+lbl_8009E908:
+/* 8009E908 0009B848 83 E1 00 3C */ lwz r31, 0x3c(r1)
+/* 8009E90C 0009B84C 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 8009E910 0009B850 7C 08 03 A6 */ mtlr r0
+/* 8009E914 0009B854 38 21 00 40 */ addi r1, r1, 0x40
+/* 8009E918 0009B858 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009E91C.s b/include/d/d_a/d_a_alink/asm/func_8009E91C.s
new file mode 100644
index 0000000000..72b75a1bf5
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009E91C.s
@@ -0,0 +1,147 @@
+/* 8009E91C 0009B85C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8009E920 0009B860 7C 08 02 A6 */ mflr r0
+/* 8009E924 0009B864 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8009E928 0009B868 88 03 2F B6 */ lbz r0, 0x2fb6(r3)
+/* 8009E92C 0009B86C 28 00 00 05 */ cmplwi r0, 5
+/* 8009E930 0009B870 40 82 00 54 */ bne lbl_8009E984
+/* 8009E934 0009B874 2C 04 00 00 */ cmpwi r4, 0
+/* 8009E938 0009B878 40 82 00 10 */ bne lbl_8009E948
+/* 8009E93C 0009B87C C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009E940 0009B880 D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+/* 8009E944 0009B884 48 00 01 C4 */ b lbl_8009EB08
+lbl_8009E948:
+/* 8009E948 0009B888 2C 04 00 05 */ cmpwi r4, 5
+/* 8009E94C 0009B88C 40 82 00 10 */ bne lbl_8009E95C
+/* 8009E950 0009B890 C0 03 34 44 */ lfs f0, 0x3444(r3)
+/* 8009E954 0009B894 D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+/* 8009E958 0009B898 48 00 01 B0 */ b lbl_8009EB08
+lbl_8009E95C:
+/* 8009E95C 0009B89C 2C 04 00 0A */ cmpwi r4, 0xa
+/* 8009E960 0009B8A0 40 82 00 10 */ bne lbl_8009E970
+/* 8009E964 0009B8A4 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009E968 0009B8A8 D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+/* 8009E96C 0009B8AC 48 00 01 9C */ b lbl_8009EB08
+lbl_8009E970:
+/* 8009E970 0009B8B0 2C 04 00 0F */ cmpwi r4, 0xf
+/* 8009E974 0009B8B4 40 82 01 94 */ bne lbl_8009EB08
+/* 8009E978 0009B8B8 C0 03 34 44 */ lfs f0, 0x3444(r3)
+/* 8009E97C 0009B8BC D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+/* 8009E980 0009B8C0 48 00 01 88 */ b lbl_8009EB08
+lbl_8009E984:
+/* 8009E984 0009B8C4 28 00 00 01 */ cmplwi r0, 1
+/* 8009E988 0009B8C8 40 82 00 2C */ bne lbl_8009E9B4
+/* 8009E98C 0009B8CC 2C 04 00 00 */ cmpwi r4, 0
+/* 8009E990 0009B8D0 40 82 00 10 */ bne lbl_8009E9A0
+/* 8009E994 0009B8D4 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009E998 0009B8D8 D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+/* 8009E99C 0009B8DC 48 00 01 6C */ b lbl_8009EB08
+lbl_8009E9A0:
+/* 8009E9A0 0009B8E0 2C 04 00 05 */ cmpwi r4, 5
+/* 8009E9A4 0009B8E4 40 82 01 64 */ bne lbl_8009EB08
+/* 8009E9A8 0009B8E8 C0 03 34 44 */ lfs f0, 0x3444(r3)
+/* 8009E9AC 0009B8EC D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+/* 8009E9B0 0009B8F0 48 00 01 58 */ b lbl_8009EB08
+lbl_8009E9B4:
+/* 8009E9B4 0009B8F4 28 00 00 02 */ cmplwi r0, 2
+/* 8009E9B8 0009B8F8 40 82 00 2C */ bne lbl_8009E9E4
+/* 8009E9BC 0009B8FC 2C 04 00 0A */ cmpwi r4, 0xa
+/* 8009E9C0 0009B900 40 82 00 10 */ bne lbl_8009E9D0
+/* 8009E9C4 0009B904 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009E9C8 0009B908 D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+/* 8009E9CC 0009B90C 48 00 01 3C */ b lbl_8009EB08
+lbl_8009E9D0:
+/* 8009E9D0 0009B910 2C 04 00 0F */ cmpwi r4, 0xf
+/* 8009E9D4 0009B914 40 82 01 34 */ bne lbl_8009EB08
+/* 8009E9D8 0009B918 C0 03 34 44 */ lfs f0, 0x3444(r3)
+/* 8009E9DC 0009B91C D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+/* 8009E9E0 0009B920 48 00 01 28 */ b lbl_8009EB08
+lbl_8009E9E4:
+/* 8009E9E4 0009B924 28 00 00 03 */ cmplwi r0, 3
+/* 8009E9E8 0009B928 40 82 00 2C */ bne lbl_8009EA14
+/* 8009E9EC 0009B92C 2C 04 00 04 */ cmpwi r4, 4
+/* 8009E9F0 0009B930 40 82 00 10 */ bne lbl_8009EA00
+/* 8009E9F4 0009B934 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009E9F8 0009B938 D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+/* 8009E9FC 0009B93C 48 00 01 0C */ b lbl_8009EB08
+lbl_8009EA00:
+/* 8009EA00 0009B940 2C 04 00 05 */ cmpwi r4, 5
+/* 8009EA04 0009B944 40 82 01 04 */ bne lbl_8009EB08
+/* 8009EA08 0009B948 C0 03 34 44 */ lfs f0, 0x3444(r3)
+/* 8009EA0C 0009B94C D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+/* 8009EA10 0009B950 48 00 00 F8 */ b lbl_8009EB08
+lbl_8009EA14:
+/* 8009EA14 0009B954 28 00 00 07 */ cmplwi r0, 7
+/* 8009EA18 0009B958 40 82 00 54 */ bne lbl_8009EA6C
+/* 8009EA1C 0009B95C 2C 04 00 00 */ cmpwi r4, 0
+/* 8009EA20 0009B960 40 82 00 10 */ bne lbl_8009EA30
+/* 8009EA24 0009B964 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009EA28 0009B968 D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+/* 8009EA2C 0009B96C 48 00 00 DC */ b lbl_8009EB08
+lbl_8009EA30:
+/* 8009EA30 0009B970 2C 04 00 04 */ cmpwi r4, 4
+/* 8009EA34 0009B974 40 82 00 10 */ bne lbl_8009EA44
+/* 8009EA38 0009B978 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2)
+/* 8009EA3C 0009B97C D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+/* 8009EA40 0009B980 48 00 00 C8 */ b lbl_8009EB08
+lbl_8009EA44:
+/* 8009EA44 0009B984 2C 04 00 05 */ cmpwi r4, 5
+/* 8009EA48 0009B988 40 82 00 10 */ bne lbl_8009EA58
+/* 8009EA4C 0009B98C C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009EA50 0009B990 D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+/* 8009EA54 0009B994 48 00 00 B4 */ b lbl_8009EB08
+lbl_8009EA58:
+/* 8009EA58 0009B998 2C 04 00 0F */ cmpwi r4, 0xf
+/* 8009EA5C 0009B99C 40 82 00 AC */ bne lbl_8009EB08
+/* 8009EA60 0009B9A0 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2)
+/* 8009EA64 0009B9A4 D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+/* 8009EA68 0009B9A8 48 00 00 A0 */ b lbl_8009EB08
+lbl_8009EA6C:
+/* 8009EA6C 0009B9AC 28 00 00 06 */ cmplwi r0, 6
+/* 8009EA70 0009B9B0 40 82 00 2C */ bne lbl_8009EA9C
+/* 8009EA74 0009B9B4 2C 04 00 04 */ cmpwi r4, 4
+/* 8009EA78 0009B9B8 40 82 00 10 */ bne lbl_8009EA88
+/* 8009EA7C 0009B9BC C0 22 92 B8 */ lfs f1, lbl_80452CB8-_SDA2_BASE_(r2)
+/* 8009EA80 0009B9C0 48 00 DC B9 */ bl daAlink_c_NS_setDoubleAnimeBlendRatio
+/* 8009EA84 0009B9C4 48 00 00 84 */ b lbl_8009EB08
+lbl_8009EA88:
+/* 8009EA88 0009B9C8 2C 04 00 05 */ cmpwi r4, 5
+/* 8009EA8C 0009B9CC 40 82 00 7C */ bne lbl_8009EB08
+/* 8009EA90 0009B9D0 C0 22 92 C0 */ lfs f1, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009EA94 0009B9D4 48 00 DC A5 */ bl daAlink_c_NS_setDoubleAnimeBlendRatio
+/* 8009EA98 0009B9D8 48 00 00 70 */ b lbl_8009EB08
+lbl_8009EA9C:
+/* 8009EA9C 0009B9DC 28 00 00 08 */ cmplwi r0, 8
+/* 8009EAA0 0009B9E0 40 82 00 3C */ bne lbl_8009EADC
+/* 8009EAA4 0009B9E4 2C 04 00 04 */ cmpwi r4, 4
+/* 8009EAA8 0009B9E8 40 82 00 18 */ bne lbl_8009EAC0
+/* 8009EAAC 0009B9EC C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009EAB0 0009B9F0 D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+/* 8009EAB4 0009B9F4 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2)
+/* 8009EAB8 0009B9F8 D0 03 1F 48 */ stfs f0, 0x1f48(r3)
+/* 8009EABC 0009B9FC 48 00 00 4C */ b lbl_8009EB08
+lbl_8009EAC0:
+/* 8009EAC0 0009BA00 2C 04 00 05 */ cmpwi r4, 5
+/* 8009EAC4 0009BA04 40 82 00 44 */ bne lbl_8009EB08
+/* 8009EAC8 0009BA08 C0 03 34 44 */ lfs f0, 0x3444(r3)
+/* 8009EACC 0009BA0C D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+/* 8009EAD0 0009BA10 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009EAD4 0009BA14 D0 03 1F 48 */ stfs f0, 0x1f48(r3)
+/* 8009EAD8 0009BA18 48 00 00 30 */ b lbl_8009EB08
+lbl_8009EADC:
+/* 8009EADC 0009BA1C 28 00 00 04 */ cmplwi r0, 4
+/* 8009EAE0 0009BA20 40 82 00 28 */ bne lbl_8009EB08
+/* 8009EAE4 0009BA24 2C 04 00 00 */ cmpwi r4, 0
+/* 8009EAE8 0009BA28 40 82 00 10 */ bne lbl_8009EAF8
+/* 8009EAEC 0009BA2C C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009EAF0 0009BA30 D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+/* 8009EAF4 0009BA34 48 00 00 14 */ b lbl_8009EB08
+lbl_8009EAF8:
+/* 8009EAF8 0009BA38 2C 04 00 0D */ cmpwi r4, 0xd
+/* 8009EAFC 0009BA3C 40 82 00 0C */ bne lbl_8009EB08
+/* 8009EB00 0009BA40 C0 03 34 44 */ lfs f0, 0x3444(r3)
+/* 8009EB04 0009BA44 D0 03 1F 50 */ stfs f0, 0x1f50(r3)
+lbl_8009EB08:
+/* 8009EB08 0009BA48 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8009EB0C 0009BA4C 7C 08 03 A6 */ mtlr r0
+/* 8009EB10 0009BA50 38 21 00 10 */ addi r1, r1, 0x10
+/* 8009EB14 0009BA54 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009EB18.s b/include/d/d_a/d_a_alink/asm/func_8009EB18.s
new file mode 100644
index 0000000000..38500a756e
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009EB18.s
@@ -0,0 +1,16 @@
+/* 8009EB18 0009BA58 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8009EB1C 0009BA5C 7C 08 02 A6 */ mflr r0
+/* 8009EB20 0009BA60 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8009EB24 0009BA64 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8009EB28 0009BA68 7C 7F 1B 78 */ mr r31, r3
+/* 8009EB2C 0009BA6C 38 7F 2C 18 */ addi r3, r31, 0x2c18
+/* 8009EB30 0009BA70 3C 80 80 43 */ lis r4, lbl_80434BE4@ha
+/* 8009EB34 0009BA74 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l
+/* 8009EB38 0009BA78 48 2A 79 79 */ bl PSMTXCopy
+/* 8009EB3C 0009BA7C 38 00 00 00 */ li r0, 0
+/* 8009EB40 0009BA80 98 1F 2F 90 */ stb r0, 0x2f90(r31)
+/* 8009EB44 0009BA84 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8009EB48 0009BA88 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8009EB4C 0009BA8C 7C 08 03 A6 */ mtlr r0
+/* 8009EB50 0009BA90 38 21 00 10 */ addi r1, r1, 0x10
+/* 8009EB54 0009BA94 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009EB58.s b/include/d/d_a/d_a_alink/asm/func_8009EB58.s
new file mode 100644
index 0000000000..72bd0c162a
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009EB58.s
@@ -0,0 +1,58 @@
+/* 8009EB58 0009BA98 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8009EB5C 0009BA9C 7C 08 02 A6 */ mflr r0
+/* 8009EB60 0009BAA0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8009EB64 0009BAA4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8009EB68 0009BAA8 93 C1 00 08 */ stw r30, 8(r1)
+/* 8009EB6C 0009BAAC 7C 7E 1B 78 */ mr r30, r3
+/* 8009EB70 0009BAB0 7C 9F 23 78 */ mr r31, r4
+/* 8009EB74 0009BAB4 4B FF F2 1D */ bl jointControll__9daAlink_cFi
+/* 8009EB78 0009BAB8 2C 1F 00 00 */ cmpwi r31, 0
+/* 8009EB7C 0009BABC 40 82 00 10 */ bne lbl_8009EB8C
+/* 8009EB80 0009BAC0 7F C3 F3 78 */ mr r3, r30
+/* 8009EB84 0009BAC4 4B FF FC 35 */ bl setUpperFront__9daAlink_cFv
+/* 8009EB88 0009BAC8 48 00 00 40 */ b lbl_8009EBC8
+lbl_8009EB8C:
+/* 8009EB8C 0009BACC 2C 1F 00 1A */ cmpwi r31, 0x1a
+/* 8009EB90 0009BAD0 40 82 00 38 */ bne lbl_8009EBC8
+/* 8009EB94 0009BAD4 38 00 00 00 */ li r0, 0
+/* 8009EB98 0009BAD8 88 7E 05 6A */ lbz r3, 0x56a(r30)
+/* 8009EB9C 0009BADC 28 03 00 00 */ cmplwi r3, 0
+/* 8009EBA0 0009BAE0 41 82 00 10 */ beq lbl_8009EBB0
+/* 8009EBA4 0009BAE4 28 03 00 26 */ cmplwi r3, 0x26
+/* 8009EBA8 0009BAE8 40 80 00 08 */ bge lbl_8009EBB0
+/* 8009EBAC 0009BAEC 38 00 00 01 */ li r0, 1
+lbl_8009EBB0:
+/* 8009EBB0 0009BAF0 54 00 06 3F */ clrlwi. r0, r0, 0x18
+/* 8009EBB4 0009BAF4 40 82 00 0C */ bne lbl_8009EBC0
+/* 8009EBB8 0009BAF8 7F C3 F3 78 */ mr r3, r30
+/* 8009EBBC 0009BAFC 48 00 3E 21 */ bl daAlink_c_NS_setFootMatrix
+lbl_8009EBC0:
+/* 8009EBC0 0009BB00 7F C3 F3 78 */ mr r3, r30
+/* 8009EBC4 0009BB04 48 00 3B 4D */ bl daAlink_c_NS_setArmMatrix
+lbl_8009EBC8:
+/* 8009EBC8 0009BB08 88 1E 2F B6 */ lbz r0, 0x2fb6(r30)
+/* 8009EBCC 0009BB0C 28 00 00 00 */ cmplwi r0, 0
+/* 8009EBD0 0009BB10 41 82 00 3C */ beq lbl_8009EC0C
+/* 8009EBD4 0009BB14 2C 1F 00 00 */ cmpwi r31, 0
+/* 8009EBD8 0009BB18 41 82 00 28 */ beq lbl_8009EC00
+/* 8009EBDC 0009BB1C 2C 1F 00 0A */ cmpwi r31, 0xa
+/* 8009EBE0 0009BB20 41 82 00 20 */ beq lbl_8009EC00
+/* 8009EBE4 0009BB24 38 1F FF FC */ addi r0, r31, -4
+/* 8009EBE8 0009BB28 28 00 00 01 */ cmplwi r0, 1
+/* 8009EBEC 0009BB2C 40 81 00 14 */ ble lbl_8009EC00
+/* 8009EBF0 0009BB30 2C 1F 00 0D */ cmpwi r31, 0xd
+/* 8009EBF4 0009BB34 41 82 00 0C */ beq lbl_8009EC00
+/* 8009EBF8 0009BB38 2C 1F 00 0F */ cmpwi r31, 0xf
+/* 8009EBFC 0009BB3C 40 82 00 10 */ bne lbl_8009EC0C
+lbl_8009EC00:
+/* 8009EC00 0009BB40 7F C3 F3 78 */ mr r3, r30
+/* 8009EC04 0009BB44 7F E4 FB 78 */ mr r4, r31
+/* 8009EC08 0009BB48 4B FF FD 15 */ bl changeBlendRate__9daAlink_cFi
+lbl_8009EC0C:
+/* 8009EC0C 0009BB4C 38 60 00 01 */ li r3, 1
+/* 8009EC10 0009BB50 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8009EC14 0009BB54 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8009EC18 0009BB58 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8009EC1C 0009BB5C 7C 08 03 A6 */ mtlr r0
+/* 8009EC20 0009BB60 38 21 00 10 */ addi r1, r1, 0x10
+/* 8009EC24 0009BB64 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009EC28.s b/include/d/d_a/d_a_alink/asm/func_8009EC28.s
new file mode 100644
index 0000000000..6b015bffe1
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009EC28.s
@@ -0,0 +1,33 @@
+/* 8009EC28 0009BB68 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8009EC2C 0009BB6C 7C 08 02 A6 */ mflr r0
+/* 8009EC30 0009BB70 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8009EC34 0009BB74 A0 A3 00 14 */ lhz r5, 0x14(r3)
+/* 8009EC38 0009BB78 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
+/* 8009EC3C 0009BB7C 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
+/* 8009EC40 0009BB80 80 63 00 38 */ lwz r3, 0x38(r3)
+/* 8009EC44 0009BB84 80 63 00 14 */ lwz r3, 0x14(r3)
+/* 8009EC48 0009BB88 2C 04 00 00 */ cmpwi r4, 0
+/* 8009EC4C 0009BB8C 40 82 00 10 */ bne lbl_8009EC5C
+/* 8009EC50 0009BB90 7C A4 2B 78 */ mr r4, r5
+/* 8009EC54 0009BB94 4B FF FF 05 */ bl modelCallBack__9daAlink_cFi
+/* 8009EC58 0009BB98 48 00 00 34 */ b lbl_8009EC8C
+lbl_8009EC5C:
+/* 8009EC5C 0009BB9C 2C 04 00 01 */ cmpwi r4, 1
+/* 8009EC60 0009BBA0 40 82 00 2C */ bne lbl_8009EC8C
+/* 8009EC64 0009BBA4 38 80 00 00 */ li r4, 0
+/* 8009EC68 0009BBA8 88 03 2F 90 */ lbz r0, 0x2f90(r3)
+/* 8009EC6C 0009BBAC 28 00 00 00 */ cmplwi r0, 0
+/* 8009EC70 0009BBB0 41 82 00 10 */ beq lbl_8009EC80
+/* 8009EC74 0009BBB4 2C 05 00 01 */ cmpwi r5, 1
+/* 8009EC78 0009BBB8 40 82 00 08 */ bne lbl_8009EC80
+/* 8009EC7C 0009BBBC 38 80 00 01 */ li r4, 1
+lbl_8009EC80:
+/* 8009EC80 0009BBC0 54 80 06 3F */ clrlwi. r0, r4, 0x18
+/* 8009EC84 0009BBC4 41 82 00 08 */ beq lbl_8009EC8C
+/* 8009EC88 0009BBC8 4B FF FE 91 */ bl resetRootMtx__9daAlink_cFv
+lbl_8009EC8C:
+/* 8009EC8C 0009BBCC 38 60 00 01 */ li r3, 1
+/* 8009EC90 0009BBD0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8009EC94 0009BBD4 7C 08 03 A6 */ mtlr r0
+/* 8009EC98 0009BBD8 38 21 00 10 */ addi r1, r1, 0x10
+/* 8009EC9C 0009BBDC 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009ECA0.s b/include/d/d_a/d_a_alink/asm/func_8009ECA0.s
new file mode 100644
index 0000000000..f560902375
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009ECA0.s
@@ -0,0 +1,175 @@
+/* 8009ECA0 0009BBE0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8009ECA4 0009BBE4 7C 08 02 A6 */ mflr r0
+/* 8009ECA8 0009BBE8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8009ECAC 0009BBEC 39 61 00 20 */ addi r11, r1, 0x20
+/* 8009ECB0 0009BBF0 48 2C 35 2D */ bl _savegpr_29
+/* 8009ECB4 0009BBF4 7C 7F 1B 78 */ mr r31, r3
+/* 8009ECB8 0009BBF8 7C 9E 23 78 */ mr r30, r4
+/* 8009ECBC 0009BBFC 80 63 06 B0 */ lwz r3, 0x6b0(r3)
+/* 8009ECC0 0009BC00 28 03 00 00 */ cmplwi r3, 0
+/* 8009ECC4 0009BC04 41 82 00 24 */ beq lbl_8009ECE8
+/* 8009ECC8 0009BC08 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 8009ECCC 0009BC0C 28 00 00 00 */ cmplwi r0, 0
+/* 8009ECD0 0009BC10 41 82 00 18 */ beq lbl_8009ECE8
+/* 8009ECD4 0009BC14 80 1F 05 8C */ lwz r0, 0x58c(r31)
+/* 8009ECD8 0009BC18 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9
+/* 8009ECDC 0009BC1C 41 82 01 D0 */ beq lbl_8009EEAC
+/* 8009ECE0 0009BC20 2C 1E 00 06 */ cmpwi r30, 6
+/* 8009ECE4 0009BC24 40 80 01 C8 */ bge lbl_8009EEAC
+lbl_8009ECE8:
+/* 8009ECE8 0009BC28 80 1F 05 78 */ lwz r0, 0x578(r31)
+/* 8009ECEC 0009BC2C 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9
+/* 8009ECF0 0009BC30 41 82 00 60 */ beq lbl_8009ED50
+/* 8009ECF4 0009BC34 3C 60 80 43 */ lis r3, lbl_80434BE4@ha
+/* 8009ECF8 0009BC38 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l
+/* 8009ECFC 0009BC3C 3C 80 80 3E */ lis r4, lbl_803DD470@ha
+/* 8009ED00 0009BC40 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l
+/* 8009ED04 0009BC44 48 2A 77 AD */ bl PSMTXCopy
+/* 8009ED08 0009BC48 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009ED0C 0009BC4C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009ED10 0009BC50 38 80 E6 9C */ li r4, -6500
+/* 8009ED14 0009BC54 4B F6 D7 B9 */ bl mDoMtx_ZrotM
+/* 8009ED18 0009BC58 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009ED1C 0009BC5C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009ED20 0009BC60 80 9F 06 58 */ lwz r4, 0x658(r31)
+/* 8009ED24 0009BC64 80 84 00 84 */ lwz r4, 0x84(r4)
+/* 8009ED28 0009BC68 80 84 00 0C */ lwz r4, 0xc(r4)
+/* 8009ED2C 0009BC6C 1C 1E 00 30 */ mulli r0, r30, 0x30
+/* 8009ED30 0009BC70 7C 84 02 14 */ add r4, r4, r0
+/* 8009ED34 0009BC74 48 2A 77 7D */ bl PSMTXCopy
+/* 8009ED38 0009BC78 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009ED3C 0009BC7C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009ED40 0009BC80 3C 80 80 43 */ lis r4, lbl_80434BE4@ha
+/* 8009ED44 0009BC84 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l
+/* 8009ED48 0009BC88 48 2A 77 69 */ bl PSMTXCopy
+/* 8009ED4C 0009BC8C 48 00 01 60 */ b lbl_8009EEAC
+lbl_8009ED50:
+/* 8009ED50 0009BC90 2C 1E 00 06 */ cmpwi r30, 6
+/* 8009ED54 0009BC94 41 80 01 10 */ blt lbl_8009EE64
+/* 8009ED58 0009BC98 3C 60 80 43 */ lis r3, lbl_80434BE4@ha
+/* 8009ED5C 0009BC9C 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l
+/* 8009ED60 0009BCA0 3C 80 80 3E */ lis r4, lbl_803DD470@ha
+/* 8009ED64 0009BCA4 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l
+/* 8009ED68 0009BCA8 48 2A 77 49 */ bl PSMTXCopy
+/* 8009ED6C 0009BCAC 2C 1E 00 06 */ cmpwi r30, 6
+/* 8009ED70 0009BCB0 40 82 00 30 */ bne lbl_8009EDA0
+/* 8009ED74 0009BCB4 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009ED78 0009BCB8 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009ED7C 0009BCBC 38 80 00 00 */ li r4, 0
+/* 8009ED80 0009BCC0 A8 1F 30 4E */ lha r0, 0x304e(r31)
+/* 8009ED84 0009BCC4 7C 00 0E 70 */ srawi r0, r0, 1
+/* 8009ED88 0009BCC8 7C 05 07 34 */ extsh r5, r0
+/* 8009ED8C 0009BCCC A8 1F 30 3A */ lha r0, 0x303a(r31)
+/* 8009ED90 0009BCD0 7C 00 0E 70 */ srawi r0, r0, 1
+/* 8009ED94 0009BCD4 7C 06 07 34 */ extsh r6, r0
+/* 8009ED98 0009BCD8 4B F6 D3 CD */ bl mDoMtx_XYZrotM
+/* 8009ED9C 0009BCDC 48 00 00 74 */ b lbl_8009EE10
+lbl_8009EDA0:
+/* 8009EDA0 0009BCE0 35 1E FF F9 */ addic. r8, r30, -7
+/* 8009EDA4 0009BCE4 40 82 00 38 */ bne lbl_8009EDDC
+/* 8009EDA8 0009BCE8 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009EDAC 0009BCEC 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009EDB0 0009BCF0 38 80 00 00 */ li r4, 0
+/* 8009EDB4 0009BCF4 A8 1F 30 4E */ lha r0, 0x304e(r31)
+/* 8009EDB8 0009BCF8 7C 00 0E 70 */ srawi r0, r0, 1
+/* 8009EDBC 0009BCFC 7C 05 07 34 */ extsh r5, r0
+/* 8009EDC0 0009BD00 A8 1F 30 3A */ lha r0, 0x303a(r31)
+/* 8009EDC4 0009BD04 7C 06 0E 70 */ srawi r6, r0, 1
+/* 8009EDC8 0009BD08 A8 1F 30 66 */ lha r0, 0x3066(r31)
+/* 8009EDCC 0009BD0C 7C 06 02 14 */ add r0, r6, r0
+/* 8009EDD0 0009BD10 7C 06 07 34 */ extsh r6, r0
+/* 8009EDD4 0009BD14 4B F6 D3 91 */ bl mDoMtx_XYZrotM
+/* 8009EDD8 0009BD18 48 00 00 38 */ b lbl_8009EE10
+lbl_8009EDDC:
+/* 8009EDDC 0009BD1C 57 C0 08 3C */ slwi r0, r30, 1
+/* 8009EDE0 0009BD20 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009EDE4 0009BD24 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009EDE8 0009BD28 38 80 00 00 */ li r4, 0
+/* 8009EDEC 0009BD2C 7C DF 02 14 */ add r6, r31, r0
+/* 8009EDF0 0009BD30 A8 A6 30 40 */ lha r5, 0x3040(r6)
+/* 8009EDF4 0009BD34 A8 E6 30 2C */ lha r7, 0x302c(r6)
+/* 8009EDF8 0009BD38 55 00 08 3C */ slwi r0, r8, 1
+/* 8009EDFC 0009BD3C 7C DF 02 14 */ add r6, r31, r0
+/* 8009EE00 0009BD40 A8 06 30 66 */ lha r0, 0x3066(r6)
+/* 8009EE04 0009BD44 7C 07 02 14 */ add r0, r7, r0
+/* 8009EE08 0009BD48 7C 06 07 34 */ extsh r6, r0
+/* 8009EE0C 0009BD4C 4B F6 D3 59 */ bl mDoMtx_XYZrotM
+lbl_8009EE10:
+/* 8009EE10 0009BD50 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31)
+/* 8009EE14 0009BD54 28 00 01 4D */ cmplwi r0, 0x14d
+/* 8009EE18 0009BD58 40 82 00 14 */ bne lbl_8009EE2C
+/* 8009EE1C 0009BD5C C0 3F 34 7C */ lfs f1, 0x347c(r31)
+/* 8009EE20 0009BD60 C0 42 92 B8 */ lfs f2, lbl_80452CB8-_SDA2_BASE_(r2)
+/* 8009EE24 0009BD64 FC 60 10 90 */ fmr f3, f2
+/* 8009EE28 0009BD68 4B F6 E0 11 */ bl mDoMtx_stack_c_NS_scaleM
+lbl_8009EE2C:
+/* 8009EE2C 0009BD6C 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009EE30 0009BD70 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009EE34 0009BD74 80 9F 06 58 */ lwz r4, 0x658(r31)
+/* 8009EE38 0009BD78 80 84 00 84 */ lwz r4, 0x84(r4)
+/* 8009EE3C 0009BD7C 80 84 00 0C */ lwz r4, 0xc(r4)
+/* 8009EE40 0009BD80 1C 1E 00 30 */ mulli r0, r30, 0x30
+/* 8009EE44 0009BD84 7C 84 02 14 */ add r4, r4, r0
+/* 8009EE48 0009BD88 48 2A 76 69 */ bl PSMTXCopy
+/* 8009EE4C 0009BD8C 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009EE50 0009BD90 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009EE54 0009BD94 3C 80 80 43 */ lis r4, lbl_80434BE4@ha
+/* 8009EE58 0009BD98 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l
+/* 8009EE5C 0009BD9C 48 2A 76 55 */ bl PSMTXCopy
+/* 8009EE60 0009BDA0 48 00 00 4C */ b lbl_8009EEAC
+lbl_8009EE64:
+/* 8009EE64 0009BDA4 AB BF 04 E6 */ lha r29, 0x4e6(r31)
+/* 8009EE68 0009BDA8 A8 1F 30 62 */ lha r0, 0x3062(r31)
+/* 8009EE6C 0009BDAC B0 1F 04 E6 */ sth r0, 0x4e6(r31)
+/* 8009EE70 0009BDB0 80 7F 06 58 */ lwz r3, 0x658(r31)
+/* 8009EE74 0009BDB4 80 63 00 84 */ lwz r3, 0x84(r3)
+/* 8009EE78 0009BDB8 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 8009EE7C 0009BDBC 1C 1E 00 30 */ mulli r0, r30, 0x30
+/* 8009EE80 0009BDC0 7C 83 02 14 */ add r4, r3, r0
+/* 8009EE84 0009BDC4 57 C0 08 3C */ slwi r0, r30, 1
+/* 8009EE88 0009BDC8 7F E3 FB 78 */ mr r3, r31
+/* 8009EE8C 0009BDCC 7C FF 02 14 */ add r7, r31, r0
+/* 8009EE90 0009BDD0 A8 A7 30 2C */ lha r5, 0x302c(r7)
+/* 8009EE94 0009BDD4 38 C0 00 00 */ li r6, 0
+/* 8009EE98 0009BDD8 A8 E7 30 40 */ lha r7, 0x3040(r7)
+/* 8009EE9C 0009BDDC 39 00 00 00 */ li r8, 0
+/* 8009EEA0 0009BDE0 39 20 00 00 */ li r9, 0
+/* 8009EEA4 0009BDE4 4B FF ED C9 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz
+/* 8009EEA8 0009BDE8 B3 BF 04 E6 */ sth r29, 0x4e6(r31)
+lbl_8009EEAC:
+/* 8009EEAC 0009BDEC 7F E3 FB 78 */ mr r3, r31
+/* 8009EEB0 0009BDF0 48 02 0F 01 */ bl daAlink_c_NS_checkZoraWearAbility
+/* 8009EEB4 0009BDF4 2C 03 00 00 */ cmpwi r3, 0
+/* 8009EEB8 0009BDF8 41 82 00 64 */ beq lbl_8009EF1C
+/* 8009EEBC 0009BDFC 2C 1E 00 06 */ cmpwi r30, 6
+/* 8009EEC0 0009BE00 40 82 00 5C */ bne lbl_8009EF1C
+/* 8009EEC4 0009BE04 3C 60 80 43 */ lis r3, lbl_80434BE4@ha
+/* 8009EEC8 0009BE08 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l
+/* 8009EECC 0009BE0C 3C 80 80 3E */ lis r4, lbl_803DD470@ha
+/* 8009EED0 0009BE10 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l
+/* 8009EED4 0009BE14 48 2A 75 DD */ bl PSMTXCopy
+/* 8009EED8 0009BE18 C0 22 94 DC */ lfs f1, lbl_80452EDC-_SDA2_BASE_(r2)
+/* 8009EEDC 0009BE1C C0 42 92 B8 */ lfs f2, lbl_80452CB8-_SDA2_BASE_(r2)
+/* 8009EEE0 0009BE20 FC 60 10 90 */ fmr f3, f2
+/* 8009EEE4 0009BE24 4B F6 DF 55 */ bl mDoMtx_stack_c_NS_scaleM
+/* 8009EEE8 0009BE28 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009EEEC 0009BE2C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009EEF0 0009BE30 80 9F 06 58 */ lwz r4, 0x658(r31)
+/* 8009EEF4 0009BE34 80 84 00 84 */ lwz r4, 0x84(r4)
+/* 8009EEF8 0009BE38 80 84 00 0C */ lwz r4, 0xc(r4)
+/* 8009EEFC 0009BE3C 1C 1E 00 30 */ mulli r0, r30, 0x30
+/* 8009EF00 0009BE40 7C 84 02 14 */ add r4, r4, r0
+/* 8009EF04 0009BE44 48 2A 75 AD */ bl PSMTXCopy
+/* 8009EF08 0009BE48 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009EF0C 0009BE4C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009EF10 0009BE50 3C 80 80 43 */ lis r4, lbl_80434BE4@ha
+/* 8009EF14 0009BE54 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l
+/* 8009EF18 0009BE58 48 2A 75 99 */ bl PSMTXCopy
+lbl_8009EF1C:
+/* 8009EF1C 0009BE5C 38 60 00 01 */ li r3, 1
+/* 8009EF20 0009BE60 39 61 00 20 */ addi r11, r1, 0x20
+/* 8009EF24 0009BE64 48 2C 33 05 */ bl _restgpr_29
+/* 8009EF28 0009BE68 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8009EF2C 0009BE6C 7C 08 03 A6 */ mtlr r0
+/* 8009EF30 0009BE70 38 21 00 20 */ addi r1, r1, 0x20
+/* 8009EF34 0009BE74 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009EF38.s b/include/d/d_a/d_a_alink/asm/func_8009EF38.s
new file mode 100644
index 0000000000..99aec0eac3
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009EF38.s
@@ -0,0 +1,18 @@
+/* 8009EF38 0009BE78 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8009EF3C 0009BE7C 7C 08 02 A6 */ mflr r0
+/* 8009EF40 0009BE80 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8009EF44 0009BE84 A0 03 00 14 */ lhz r0, 0x14(r3)
+/* 8009EF48 0009BE88 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
+/* 8009EF4C 0009BE8C 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
+/* 8009EF50 0009BE90 80 63 00 38 */ lwz r3, 0x38(r3)
+/* 8009EF54 0009BE94 80 63 00 14 */ lwz r3, 0x14(r3)
+/* 8009EF58 0009BE98 2C 04 00 00 */ cmpwi r4, 0
+/* 8009EF5C 0009BE9C 40 82 00 0C */ bne lbl_8009EF68
+/* 8009EF60 0009BEA0 7C 04 03 78 */ mr r4, r0
+/* 8009EF64 0009BEA4 4B FF FD 3D */ bl headModelCallBack__9daAlink_cFi
+lbl_8009EF68:
+/* 8009EF68 0009BEA8 38 60 00 01 */ li r3, 1
+/* 8009EF6C 0009BEAC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8009EF70 0009BEB0 7C 08 03 A6 */ mtlr r0
+/* 8009EF74 0009BEB4 38 21 00 10 */ addi r1, r1, 0x10
+/* 8009EF78 0009BEB8 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009EF7C.s b/include/d/d_a/d_a_alink/asm/func_8009EF7C.s
new file mode 100644
index 0000000000..77456eec5f
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009EF7C.s
@@ -0,0 +1,32 @@
+/* 8009EF7C 0009BEBC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8009EF80 0009BEC0 7C 08 02 A6 */ mflr r0
+/* 8009EF84 0009BEC4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8009EF88 0009BEC8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8009EF8C 0009BECC 93 C1 00 08 */ stw r30, 8(r1)
+/* 8009EF90 0009BED0 7C 7E 1B 78 */ mr r30, r3
+/* 8009EF94 0009BED4 7C 9F 23 78 */ mr r31, r4
+/* 8009EF98 0009BED8 4B FF ED F9 */ bl jointControll__9daAlink_cFi
+/* 8009EF9C 0009BEDC 2C 1F 00 24 */ cmpwi r31, 0x24
+/* 8009EFA0 0009BEE0 40 82 00 10 */ bne lbl_8009EFB0
+/* 8009EFA4 0009BEE4 7F C3 F3 78 */ mr r3, r30
+/* 8009EFA8 0009BEE8 48 08 BD 75 */ bl daAlink_c_NS_setWolfFootMatrix
+/* 8009EFAC 0009BEEC 48 00 00 28 */ b lbl_8009EFD4
+lbl_8009EFB0:
+/* 8009EFB0 0009BEF0 2C 1F 00 07 */ cmpwi r31, 7
+/* 8009EFB4 0009BEF4 41 82 00 14 */ beq lbl_8009EFC8
+/* 8009EFB8 0009BEF8 2C 1F 00 02 */ cmpwi r31, 2
+/* 8009EFBC 0009BEFC 41 82 00 0C */ beq lbl_8009EFC8
+/* 8009EFC0 0009BF00 2C 1F 00 03 */ cmpwi r31, 3
+/* 8009EFC4 0009BF04 40 82 00 10 */ bne lbl_8009EFD4
+lbl_8009EFC8:
+/* 8009EFC8 0009BF08 7F C3 F3 78 */ mr r3, r30
+/* 8009EFCC 0009BF0C 7F E4 FB 78 */ mr r4, r31
+/* 8009EFD0 0009BF10 48 08 BC FD */ bl daAlink_c_NS_changeWolfBlendRate
+lbl_8009EFD4:
+/* 8009EFD4 0009BF14 38 60 00 01 */ li r3, 1
+/* 8009EFD8 0009BF18 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8009EFDC 0009BF1C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8009EFE0 0009BF20 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8009EFE4 0009BF24 7C 08 03 A6 */ mtlr r0
+/* 8009EFE8 0009BF28 38 21 00 10 */ addi r1, r1, 0x10
+/* 8009EFEC 0009BF2C 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009EFF0.s b/include/d/d_a/d_a_alink/asm/func_8009EFF0.s
new file mode 100644
index 0000000000..afdc043800
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009EFF0.s
@@ -0,0 +1,18 @@
+/* 8009EFF0 0009BF30 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8009EFF4 0009BF34 7C 08 02 A6 */ mflr r0
+/* 8009EFF8 0009BF38 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8009EFFC 0009BF3C A0 03 00 14 */ lhz r0, 0x14(r3)
+/* 8009F000 0009BF40 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
+/* 8009F004 0009BF44 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
+/* 8009F008 0009BF48 80 63 00 38 */ lwz r3, 0x38(r3)
+/* 8009F00C 0009BF4C 80 63 00 14 */ lwz r3, 0x14(r3)
+/* 8009F010 0009BF50 2C 04 00 00 */ cmpwi r4, 0
+/* 8009F014 0009BF54 40 82 00 0C */ bne lbl_8009F020
+/* 8009F018 0009BF58 7C 04 03 78 */ mr r4, r0
+/* 8009F01C 0009BF5C 4B FF FF 61 */ bl wolfModelCallBack__9daAlink_cFi
+lbl_8009F020:
+/* 8009F020 0009BF60 38 60 00 01 */ li r3, 1
+/* 8009F024 0009BF64 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8009F028 0009BF68 7C 08 03 A6 */ mtlr r0
+/* 8009F02C 0009BF6C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8009F030 0009BF70 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009F034.s b/include/d/d_a/d_a_alink/asm/func_8009F034.s
new file mode 100644
index 0000000000..d9b92c6af4
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009F034.s
@@ -0,0 +1,1106 @@
+/* 8009F034 0009BF74 94 21 FE 80 */ stwu r1, -0x180(r1)
+/* 8009F038 0009BF78 7C 08 02 A6 */ mflr r0
+/* 8009F03C 0009BF7C 90 01 01 84 */ stw r0, 0x184(r1)
+/* 8009F040 0009BF80 DB E1 01 70 */ stfd f31, 0x170(r1)
+/* 8009F044 0009BF84 F3 E1 01 78 */ psq_st f31, 376(r1), 0, 0
+/* 8009F048 0009BF88 DB C1 01 60 */ stfd f30, 0x160(r1)
+/* 8009F04C 0009BF8C F3 C1 01 68 */ psq_st f30, 360(r1), 0, 0
+/* 8009F050 0009BF90 DB A1 01 50 */ stfd f29, 0x150(r1)
+/* 8009F054 0009BF94 F3 A1 01 58 */ psq_st f29, 344(r1), 0, 0
+/* 8009F058 0009BF98 DB 81 01 40 */ stfd f28, 0x140(r1)
+/* 8009F05C 0009BF9C F3 81 01 48 */ psq_st f28, 328(r1), 0, 0
+/* 8009F060 0009BFA0 DB 61 01 30 */ stfd f27, 0x130(r1)
+/* 8009F064 0009BFA4 F3 61 01 38 */ psq_st f27, 312(r1), 0, 0
+/* 8009F068 0009BFA8 39 61 01 30 */ addi r11, r1, 0x130
+/* 8009F06C 0009BFAC 48 2C 31 4D */ bl func_803621B8
+/* 8009F070 0009BFB0 7C 7F 1B 78 */ mr r31, r3
+/* 8009F074 0009BFB4 80 63 20 60 */ lwz r3, 0x2060(r3)
+/* 8009F078 0009BFB8 88 03 00 00 */ lbz r0, 0(r3)
+/* 8009F07C 0009BFBC 28 00 00 00 */ cmplwi r0, 0
+/* 8009F080 0009BFC0 41 82 0F 38 */ beq lbl_8009FFB8
+/* 8009F084 0009BFC4 80 1F 05 88 */ lwz r0, 0x588(r31)
+/* 8009F088 0009BFC8 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8
+/* 8009F08C 0009BFCC 41 82 00 2C */ beq lbl_8009F0B8
+/* 8009F090 0009BFD0 38 60 00 00 */ li r3, 0
+/* 8009F094 0009BFD4 7C 65 1B 78 */ mr r5, r3
+/* 8009F098 0009BFD8 7C 64 1B 78 */ mr r4, r3
+/* 8009F09C 0009BFDC 38 00 00 03 */ li r0, 3
+/* 8009F0A0 0009BFE0 7C 09 03 A6 */ mtctr r0
+lbl_8009F0A4:
+/* 8009F0A4 0009BFE4 7C DF 1A 14 */ add r6, r31, r3
+/* 8009F0A8 0009BFE8 B0 A6 30 54 */ sth r5, 0x3054(r6)
+/* 8009F0AC 0009BFEC B0 86 30 5A */ sth r4, 0x305a(r6)
+/* 8009F0B0 0009BFF0 38 63 00 02 */ addi r3, r3, 2
+/* 8009F0B4 0009BFF4 42 00 FF F0 */ bdnz lbl_8009F0A4
+lbl_8009F0B8:
+/* 8009F0B8 0009BFF8 80 7F 06 58 */ lwz r3, 0x658(r31)
+/* 8009F0BC 0009BFFC 80 63 00 84 */ lwz r3, 0x84(r3)
+/* 8009F0C0 0009C000 80 83 00 0C */ lwz r4, 0xc(r3)
+/* 8009F0C4 0009C004 80 1F 05 78 */ lwz r0, 0x578(r31)
+/* 8009F0C8 0009C008 54 00 02 D8 */ rlwinm r0, r0, 0, 0xb, 0xc
+/* 8009F0CC 0009C00C 20 00 00 00 */ subfic r0, r0, 0
+/* 8009F0D0 0009C010 7C 60 01 10 */ subfe r3, r0, r0
+/* 8009F0D4 0009C014 38 00 00 07 */ li r0, 7
+/* 8009F0D8 0009C018 7C 00 18 78 */ andc r0, r0, r3
+/* 8009F0DC 0009C01C 1C 00 00 30 */ mulli r0, r0, 0x30
+/* 8009F0E0 0009C020 7C 64 02 14 */ add r3, r4, r0
+/* 8009F0E4 0009C024 C0 03 00 0C */ lfs f0, 0xc(r3)
+/* 8009F0E8 0009C028 D0 01 00 C4 */ stfs f0, 0xc4(r1)
+/* 8009F0EC 0009C02C C0 03 00 1C */ lfs f0, 0x1c(r3)
+/* 8009F0F0 0009C030 D0 01 00 C8 */ stfs f0, 0xc8(r1)
+/* 8009F0F4 0009C034 C0 03 00 2C */ lfs f0, 0x2c(r3)
+/* 8009F0F8 0009C038 D0 01 00 CC */ stfs f0, 0xcc(r1)
+/* 8009F0FC 0009C03C 80 1F 05 8C */ lwz r0, 0x58c(r31)
+/* 8009F100 0009C040 54 00 03 19 */ rlwinm. r0, r0, 0, 0xc, 0xc
+/* 8009F104 0009C044 40 82 00 48 */ bne lbl_8009F14C
+/* 8009F108 0009C048 38 7F 35 B8 */ addi r3, r31, 0x35b8
+/* 8009F10C 0009C04C 48 2A 80 2D */ bl PSVECSquareMag
+/* 8009F110 0009C050 C0 42 93 50 */ lfs f2, lbl_80452D50-_SDA2_BASE_(r2)
+/* 8009F114 0009C054 FC 01 10 40 */ fcmpo cr0, f1, f2
+/* 8009F118 0009C058 41 81 00 2C */ bgt lbl_8009F144
+/* 8009F11C 0009C05C 80 1F 05 88 */ lwz r0, 0x588(r31)
+/* 8009F120 0009C060 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
+/* 8009F124 0009C064 41 82 00 28 */ beq lbl_8009F14C
+/* 8009F128 0009C068 C0 1F 34 00 */ lfs f0, 0x3400(r31)
+/* 8009F12C 0009C06C EC 20 00 32 */ fmuls f1, f0, f0
+/* 8009F130 0009C070 C0 1F 34 04 */ lfs f0, 0x3404(r31)
+/* 8009F134 0009C074 EC 00 00 32 */ fmuls f0, f0, f0
+/* 8009F138 0009C078 EC 01 00 2A */ fadds f0, f1, f0
+/* 8009F13C 0009C07C FC 00 10 40 */ fcmpo cr0, f0, f2
+/* 8009F140 0009C080 40 81 00 0C */ ble lbl_8009F14C
+lbl_8009F144:
+/* 8009F144 0009C084 3B C0 00 01 */ li r30, 1
+/* 8009F148 0009C088 48 00 00 08 */ b lbl_8009F150
+lbl_8009F14C:
+/* 8009F14C 0009C08C 3B C0 00 00 */ li r30, 0
+lbl_8009F150:
+/* 8009F150 0009C090 38 61 00 C4 */ addi r3, r1, 0xc4
+/* 8009F154 0009C094 38 81 00 D0 */ addi r4, r1, 0xd0
+/* 8009F158 0009C098 38 A1 00 18 */ addi r5, r1, 0x18
+/* 8009F15C 0009C09C 4B FB C1 9D */ bl dKyw_get_AllWind_vec
+/* 8009F160 0009C0A0 80 1F 31 A0 */ lwz r0, 0x31a0(r31)
+/* 8009F164 0009C0A4 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd
+/* 8009F168 0009C0A8 40 82 00 10 */ bne lbl_8009F178
+/* 8009F16C 0009C0AC 80 1F 05 8C */ lwz r0, 0x58c(r31)
+/* 8009F170 0009C0B0 54 00 03 19 */ rlwinm. r0, r0, 0, 0xc, 0xc
+/* 8009F174 0009C0B4 41 82 00 10 */ beq lbl_8009F184
+lbl_8009F178:
+/* 8009F178 0009C0B8 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009F17C 0009C0BC D0 01 00 18 */ stfs f0, 0x18(r1)
+/* 8009F180 0009C0C0 48 00 00 14 */ b lbl_8009F194
+lbl_8009F184:
+/* 8009F184 0009C0C4 2C 1E 00 00 */ cmpwi r30, 0
+/* 8009F188 0009C0C8 41 82 00 0C */ beq lbl_8009F194
+/* 8009F18C 0009C0CC C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2)
+/* 8009F190 0009C0D0 D0 01 00 18 */ stfs f0, 0x18(r1)
+lbl_8009F194:
+/* 8009F194 0009C0D4 C0 22 92 9C */ lfs f1, lbl_80452C9C-_SDA2_BASE_(r2)
+/* 8009F198 0009C0D8 C0 01 00 18 */ lfs f0, 0x18(r1)
+/* 8009F19C 0009C0DC EC 00 00 32 */ fmuls f0, f0, f0
+/* 8009F1A0 0009C0E0 EF 61 00 32 */ fmuls f27, f1, f0
+/* 8009F1A4 0009C0E4 AA FF 30 60 */ lha r23, 0x3060(r31)
+/* 8009F1A8 0009C0E8 AB 1F 30 62 */ lha r24, 0x3062(r31)
+/* 8009F1AC 0009C0EC 38 61 00 7C */ addi r3, r1, 0x7c
+/* 8009F1B0 0009C0F0 38 9F 05 38 */ addi r4, r31, 0x538
+/* 8009F1B4 0009C0F4 38 BF 34 E0 */ addi r5, r31, 0x34e0
+/* 8009F1B8 0009C0F8 48 1C 79 7D */ bl cXyz_NS___mi
+/* 8009F1BC 0009C0FC C0 01 00 7C */ lfs f0, 0x7c(r1)
+/* 8009F1C0 0009C100 D0 01 00 A0 */ stfs f0, 0xa0(r1)
+/* 8009F1C4 0009C104 C0 01 00 80 */ lfs f0, 0x80(r1)
+/* 8009F1C8 0009C108 D0 01 00 A4 */ stfs f0, 0xa4(r1)
+/* 8009F1CC 0009C10C C0 01 00 84 */ lfs f0, 0x84(r1)
+/* 8009F1D0 0009C110 D0 01 00 A8 */ stfs f0, 0xa8(r1)
+/* 8009F1D4 0009C114 80 1F 05 70 */ lwz r0, 0x570(r31)
+/* 8009F1D8 0009C118 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13
+/* 8009F1DC 0009C11C 41 82 00 70 */ beq lbl_8009F24C
+/* 8009F1E0 0009C120 38 7F 2C 78 */ addi r3, r31, 0x2c78
+/* 8009F1E4 0009C124 38 81 00 A0 */ addi r4, r1, 0xa0
+/* 8009F1E8 0009C128 7C 85 23 78 */ mr r5, r4
+/* 8009F1EC 0009C12C 48 2A 7C 61 */ bl PSMTXMultVecSR
+/* 8009F1F0 0009C130 80 7F 06 58 */ lwz r3, 0x658(r31)
+/* 8009F1F4 0009C134 80 63 00 84 */ lwz r3, 0x84(r3)
+/* 8009F1F8 0009C138 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 8009F1FC 0009C13C C0 03 00 0C */ lfs f0, 0xc(r3)
+/* 8009F200 0009C140 D0 01 00 AC */ stfs f0, 0xac(r1)
+/* 8009F204 0009C144 C0 03 00 1C */ lfs f0, 0x1c(r3)
+/* 8009F208 0009C148 D0 01 00 B0 */ stfs f0, 0xb0(r1)
+/* 8009F20C 0009C14C C0 03 00 2C */ lfs f0, 0x2c(r3)
+/* 8009F210 0009C150 D0 01 00 B4 */ stfs f0, 0xb4(r1)
+/* 8009F214 0009C154 38 61 00 70 */ addi r3, r1, 0x70
+/* 8009F218 0009C158 38 9F 34 E0 */ addi r4, r31, 0x34e0
+/* 8009F21C 0009C15C 38 A1 00 AC */ addi r5, r1, 0xac
+/* 8009F220 0009C160 48 1C 79 15 */ bl cXyz_NS___mi
+/* 8009F224 0009C164 C0 01 00 70 */ lfs f0, 0x70(r1)
+/* 8009F228 0009C168 D0 01 00 AC */ stfs f0, 0xac(r1)
+/* 8009F22C 0009C16C C0 01 00 74 */ lfs f0, 0x74(r1)
+/* 8009F230 0009C170 D0 01 00 B0 */ stfs f0, 0xb0(r1)
+/* 8009F234 0009C174 C0 01 00 78 */ lfs f0, 0x78(r1)
+/* 8009F238 0009C178 D0 01 00 B4 */ stfs f0, 0xb4(r1)
+/* 8009F23C 0009C17C 38 7F 2C 78 */ addi r3, r31, 0x2c78
+/* 8009F240 0009C180 38 81 00 AC */ addi r4, r1, 0xac
+/* 8009F244 0009C184 7C 85 23 78 */ mr r5, r4
+/* 8009F248 0009C188 48 2A 7C 05 */ bl PSMTXMultVecSR
+lbl_8009F24C:
+/* 8009F24C 0009C18C 38 61 00 A0 */ addi r3, r1, 0xa0
+/* 8009F250 0009C190 48 1C 7E D9 */ bl cXyz_NS_atan2sX_Z
+/* 8009F254 0009C194 B0 7F 30 62 */ sth r3, 0x3062(r31)
+/* 8009F258 0009C198 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31)
+/* 8009F25C 0009C19C 28 00 00 C0 */ cmplwi r0, 0xc0
+/* 8009F260 0009C1A0 40 82 00 34 */ bne lbl_8009F294
+/* 8009F264 0009C1A4 80 7F 06 50 */ lwz r3, 0x650(r31)
+/* 8009F268 0009C1A8 80 63 00 84 */ lwz r3, 0x84(r3)
+/* 8009F26C 0009C1AC 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 8009F270 0009C1B0 38 63 00 30 */ addi r3, r3, 0x30
+/* 8009F274 0009C1B4 3C 80 80 43 */ lis r4, lbl_80430D24@ha
+/* 8009F278 0009C1B8 38 84 0D 24 */ addi r4, r4, lbl_80430D24@l
+/* 8009F27C 0009C1BC 38 A1 00 AC */ addi r5, r1, 0xac
+/* 8009F280 0009C1C0 48 2A 7B CD */ bl PSMTXMultVecSR
+/* 8009F284 0009C1C4 38 61 00 AC */ addi r3, r1, 0xac
+/* 8009F288 0009C1C8 48 1C 7E A1 */ bl cXyz_NS_atan2sX_Z
+/* 8009F28C 0009C1CC 7C 79 1B 78 */ mr r25, r3
+/* 8009F290 0009C1D0 48 00 00 9C */ b lbl_8009F32C
+lbl_8009F294:
+/* 8009F294 0009C1D4 7F E3 FB 78 */ mr r3, r31
+/* 8009F298 0009C1D8 38 80 00 52 */ li r4, 0x52
+/* 8009F29C 0009C1DC 48 00 D2 BD */ bl daAlink_c_NS_checkUnderMove0BckNoArc
+/* 8009F2A0 0009C1E0 2C 03 00 00 */ cmpwi r3, 0
+/* 8009F2A4 0009C1E4 41 82 00 44 */ beq lbl_8009F2E8
+/* 8009F2A8 0009C1E8 C0 3F 1F E0 */ lfs f1, 0x1fe0(r31)
+/* 8009F2AC 0009C1EC C0 02 97 F0 */ lfs f0, lbl_804531F0-_SDA2_BASE_(r2)
+/* 8009F2B0 0009C1F0 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8009F2B4 0009C1F4 40 80 00 34 */ bge lbl_8009F2E8
+/* 8009F2B8 0009C1F8 80 7F 06 50 */ lwz r3, 0x650(r31)
+/* 8009F2BC 0009C1FC 80 63 00 84 */ lwz r3, 0x84(r3)
+/* 8009F2C0 0009C200 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 8009F2C4 0009C204 38 63 00 C0 */ addi r3, r3, 0xc0
+/* 8009F2C8 0009C208 3C 80 80 43 */ lis r4, lbl_80430D0C@ha
+/* 8009F2CC 0009C20C 38 84 0D 0C */ addi r4, r4, lbl_80430D0C@l
+/* 8009F2D0 0009C210 38 A1 00 AC */ addi r5, r1, 0xac
+/* 8009F2D4 0009C214 48 2A 7B 79 */ bl PSMTXMultVecSR
+/* 8009F2D8 0009C218 38 61 00 AC */ addi r3, r1, 0xac
+/* 8009F2DC 0009C21C 48 1C 7E 4D */ bl cXyz_NS_atan2sX_Z
+/* 8009F2E0 0009C220 7C 79 1B 78 */ mr r25, r3
+/* 8009F2E4 0009C224 48 00 00 48 */ b lbl_8009F32C
+lbl_8009F2E8:
+/* 8009F2E8 0009C228 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31)
+/* 8009F2EC 0009C22C 28 00 00 D7 */ cmplwi r0, 0xd7
+/* 8009F2F0 0009C230 40 82 00 2C */ bne lbl_8009F31C
+/* 8009F2F4 0009C234 A8 1F 30 0C */ lha r0, 0x300c(r31)
+/* 8009F2F8 0009C238 2C 00 00 00 */ cmpwi r0, 0
+/* 8009F2FC 0009C23C 40 82 00 20 */ bne lbl_8009F31C
+/* 8009F300 0009C240 A8 1F 04 E6 */ lha r0, 0x4e6(r31)
+/* 8009F304 0009C244 A8 7F 05 9E */ lha r3, 0x59e(r31)
+/* 8009F308 0009C248 3C 63 00 01 */ addis r3, r3, 1
+/* 8009F30C 0009C24C 38 63 80 00 */ addi r3, r3, -32768
+/* 8009F310 0009C250 7C 00 1A 14 */ add r0, r0, r3
+/* 8009F314 0009C254 7C 19 07 34 */ extsh r25, r0
+/* 8009F318 0009C258 48 00 00 14 */ b lbl_8009F32C
+lbl_8009F31C:
+/* 8009F31C 0009C25C A8 7F 04 E6 */ lha r3, 0x4e6(r31)
+/* 8009F320 0009C260 A8 1F 05 9E */ lha r0, 0x59e(r31)
+/* 8009F324 0009C264 7C 03 02 14 */ add r0, r3, r0
+/* 8009F328 0009C268 7C 19 07 34 */ extsh r25, r0
+lbl_8009F32C:
+/* 8009F32C 0009C26C A8 7F 30 62 */ lha r3, 0x3062(r31)
+/* 8009F330 0009C270 7F 24 CB 78 */ mr r4, r25
+/* 8009F334 0009C274 48 1D 1A F1 */ bl cLib_distanceAngleS
+/* 8009F338 0009C278 2C 03 70 00 */ cmpwi r3, 0x7000
+/* 8009F33C 0009C27C 40 81 01 28 */ ble lbl_8009F464
+/* 8009F340 0009C280 C0 01 00 A0 */ lfs f0, 0xa0(r1)
+/* 8009F344 0009C284 D0 01 00 34 */ stfs f0, 0x34(r1)
+/* 8009F348 0009C288 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009F34C 0009C28C D0 01 00 38 */ stfs f0, 0x38(r1)
+/* 8009F350 0009C290 C0 01 00 A8 */ lfs f0, 0xa8(r1)
+/* 8009F354 0009C294 D0 01 00 3C */ stfs f0, 0x3c(r1)
+/* 8009F358 0009C298 38 61 00 34 */ addi r3, r1, 0x34
+/* 8009F35C 0009C29C 48 2A 7D DD */ bl PSVECSquareMag
+/* 8009F360 0009C2A0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009F364 0009C2A4 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8009F368 0009C2A8 40 81 00 58 */ ble lbl_8009F3C0
+/* 8009F36C 0009C2AC FC 00 08 34 */ frsqrte f0, f1
+/* 8009F370 0009C2B0 C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2)
+/* 8009F374 0009C2B4 FC 44 00 32 */ fmul f2, f4, f0
+/* 8009F378 0009C2B8 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2)
+/* 8009F37C 0009C2BC FC 00 00 32 */ fmul f0, f0, f0
+/* 8009F380 0009C2C0 FC 01 00 32 */ fmul f0, f1, f0
+/* 8009F384 0009C2C4 FC 03 00 28 */ fsub f0, f3, f0
+/* 8009F388 0009C2C8 FC 02 00 32 */ fmul f0, f2, f0
+/* 8009F38C 0009C2CC FC 44 00 32 */ fmul f2, f4, f0
+/* 8009F390 0009C2D0 FC 00 00 32 */ fmul f0, f0, f0
+/* 8009F394 0009C2D4 FC 01 00 32 */ fmul f0, f1, f0
+/* 8009F398 0009C2D8 FC 03 00 28 */ fsub f0, f3, f0
+/* 8009F39C 0009C2DC FC 02 00 32 */ fmul f0, f2, f0
+/* 8009F3A0 0009C2E0 FC 44 00 32 */ fmul f2, f4, f0
+/* 8009F3A4 0009C2E4 FC 00 00 32 */ fmul f0, f0, f0
+/* 8009F3A8 0009C2E8 FC 01 00 32 */ fmul f0, f1, f0
+/* 8009F3AC 0009C2EC FC 03 00 28 */ fsub f0, f3, f0
+/* 8009F3B0 0009C2F0 FC 02 00 32 */ fmul f0, f2, f0
+/* 8009F3B4 0009C2F4 FC 41 00 32 */ fmul f2, f1, f0
+/* 8009F3B8 0009C2F8 FC 40 10 18 */ frsp f2, f2
+/* 8009F3BC 0009C2FC 48 00 00 90 */ b lbl_8009F44C
+lbl_8009F3C0:
+/* 8009F3C0 0009C300 C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2)
+/* 8009F3C4 0009C304 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8009F3C8 0009C308 40 80 00 10 */ bge lbl_8009F3D8
+/* 8009F3CC 0009C30C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
+/* 8009F3D0 0009C310 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3)
+/* 8009F3D4 0009C314 48 00 00 78 */ b lbl_8009F44C
+lbl_8009F3D8:
+/* 8009F3D8 0009C318 D0 21 00 14 */ stfs f1, 0x14(r1)
+/* 8009F3DC 0009C31C 80 81 00 14 */ lwz r4, 0x14(r1)
+/* 8009F3E0 0009C320 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
+/* 8009F3E4 0009C324 3C 00 7F 80 */ lis r0, 0x7f80
+/* 8009F3E8 0009C328 7C 03 00 00 */ cmpw r3, r0
+/* 8009F3EC 0009C32C 41 82 00 14 */ beq lbl_8009F400
+/* 8009F3F0 0009C330 40 80 00 40 */ bge lbl_8009F430
+/* 8009F3F4 0009C334 2C 03 00 00 */ cmpwi r3, 0
+/* 8009F3F8 0009C338 41 82 00 20 */ beq lbl_8009F418
+/* 8009F3FC 0009C33C 48 00 00 34 */ b lbl_8009F430
+lbl_8009F400:
+/* 8009F400 0009C340 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 8009F404 0009C344 41 82 00 0C */ beq lbl_8009F410
+/* 8009F408 0009C348 38 00 00 01 */ li r0, 1
+/* 8009F40C 0009C34C 48 00 00 28 */ b lbl_8009F434
+lbl_8009F410:
+/* 8009F410 0009C350 38 00 00 02 */ li r0, 2
+/* 8009F414 0009C354 48 00 00 20 */ b lbl_8009F434
+lbl_8009F418:
+/* 8009F418 0009C358 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 8009F41C 0009C35C 41 82 00 0C */ beq lbl_8009F428
+/* 8009F420 0009C360 38 00 00 05 */ li r0, 5
+/* 8009F424 0009C364 48 00 00 10 */ b lbl_8009F434
+lbl_8009F428:
+/* 8009F428 0009C368 38 00 00 03 */ li r0, 3
+/* 8009F42C 0009C36C 48 00 00 08 */ b lbl_8009F434
+lbl_8009F430:
+/* 8009F430 0009C370 38 00 00 04 */ li r0, 4
+lbl_8009F434:
+/* 8009F434 0009C374 2C 00 00 01 */ cmpwi r0, 1
+/* 8009F438 0009C378 40 82 00 10 */ bne lbl_8009F448
+/* 8009F43C 0009C37C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
+/* 8009F440 0009C380 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3)
+/* 8009F444 0009C384 48 00 00 08 */ b lbl_8009F44C
+lbl_8009F448:
+/* 8009F448 0009C388 FC 40 08 90 */ fmr f2, f1
+lbl_8009F44C:
+/* 8009F44C 0009C38C C0 01 00 A4 */ lfs f0, 0xa4(r1)
+/* 8009F450 0009C390 FC 20 00 50 */ fneg f1, f0
+/* 8009F454 0009C394 FC 40 10 50 */ fneg f2, f2
+/* 8009F458 0009C398 48 1C 82 1D */ bl cM_atan2s
+/* 8009F45C 0009C39C B0 7F 30 60 */ sth r3, 0x3060(r31)
+/* 8009F460 0009C3A0 48 00 00 10 */ b lbl_8009F470
+lbl_8009F464:
+/* 8009F464 0009C3A4 38 61 00 A0 */ addi r3, r1, 0xa0
+/* 8009F468 0009C3A8 48 1C 7C E9 */ bl cXyz_NS_atan2sY_XZ
+/* 8009F46C 0009C3AC B0 7F 30 60 */ sth r3, 0x3060(r31)
+lbl_8009F470:
+/* 8009F470 0009C3B0 C0 01 00 A0 */ lfs f0, 0xa0(r1)
+/* 8009F474 0009C3B4 D0 01 00 28 */ stfs f0, 0x28(r1)
+/* 8009F478 0009C3B8 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009F47C 0009C3BC D0 01 00 2C */ stfs f0, 0x2c(r1)
+/* 8009F480 0009C3C0 C0 01 00 A8 */ lfs f0, 0xa8(r1)
+/* 8009F484 0009C3C4 D0 01 00 30 */ stfs f0, 0x30(r1)
+/* 8009F488 0009C3C8 38 61 00 28 */ addi r3, r1, 0x28
+/* 8009F48C 0009C3CC 48 2A 7C AD */ bl PSVECSquareMag
+/* 8009F490 0009C3D0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009F494 0009C3D4 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8009F498 0009C3D8 40 81 00 58 */ ble lbl_8009F4F0
+/* 8009F49C 0009C3DC FC 00 08 34 */ frsqrte f0, f1
+/* 8009F4A0 0009C3E0 C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2)
+/* 8009F4A4 0009C3E4 FC 44 00 32 */ fmul f2, f4, f0
+/* 8009F4A8 0009C3E8 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2)
+/* 8009F4AC 0009C3EC FC 00 00 32 */ fmul f0, f0, f0
+/* 8009F4B0 0009C3F0 FC 01 00 32 */ fmul f0, f1, f0
+/* 8009F4B4 0009C3F4 FC 03 00 28 */ fsub f0, f3, f0
+/* 8009F4B8 0009C3F8 FC 02 00 32 */ fmul f0, f2, f0
+/* 8009F4BC 0009C3FC FC 44 00 32 */ fmul f2, f4, f0
+/* 8009F4C0 0009C400 FC 00 00 32 */ fmul f0, f0, f0
+/* 8009F4C4 0009C404 FC 01 00 32 */ fmul f0, f1, f0
+/* 8009F4C8 0009C408 FC 03 00 28 */ fsub f0, f3, f0
+/* 8009F4CC 0009C40C FC 02 00 32 */ fmul f0, f2, f0
+/* 8009F4D0 0009C410 FC 44 00 32 */ fmul f2, f4, f0
+/* 8009F4D4 0009C414 FC 00 00 32 */ fmul f0, f0, f0
+/* 8009F4D8 0009C418 FC 01 00 32 */ fmul f0, f1, f0
+/* 8009F4DC 0009C41C FC 03 00 28 */ fsub f0, f3, f0
+/* 8009F4E0 0009C420 FC 02 00 32 */ fmul f0, f2, f0
+/* 8009F4E4 0009C424 FC 21 00 32 */ fmul f1, f1, f0
+/* 8009F4E8 0009C428 FC 20 08 18 */ frsp f1, f1
+/* 8009F4EC 0009C42C 48 00 00 88 */ b lbl_8009F574
+lbl_8009F4F0:
+/* 8009F4F0 0009C430 C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2)
+/* 8009F4F4 0009C434 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8009F4F8 0009C438 40 80 00 10 */ bge lbl_8009F508
+/* 8009F4FC 0009C43C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
+/* 8009F500 0009C440 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
+/* 8009F504 0009C444 48 00 00 70 */ b lbl_8009F574
+lbl_8009F508:
+/* 8009F508 0009C448 D0 21 00 10 */ stfs f1, 0x10(r1)
+/* 8009F50C 0009C44C 80 81 00 10 */ lwz r4, 0x10(r1)
+/* 8009F510 0009C450 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
+/* 8009F514 0009C454 3C 00 7F 80 */ lis r0, 0x7f80
+/* 8009F518 0009C458 7C 03 00 00 */ cmpw r3, r0
+/* 8009F51C 0009C45C 41 82 00 14 */ beq lbl_8009F530
+/* 8009F520 0009C460 40 80 00 40 */ bge lbl_8009F560
+/* 8009F524 0009C464 2C 03 00 00 */ cmpwi r3, 0
+/* 8009F528 0009C468 41 82 00 20 */ beq lbl_8009F548
+/* 8009F52C 0009C46C 48 00 00 34 */ b lbl_8009F560
+lbl_8009F530:
+/* 8009F530 0009C470 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 8009F534 0009C474 41 82 00 0C */ beq lbl_8009F540
+/* 8009F538 0009C478 38 00 00 01 */ li r0, 1
+/* 8009F53C 0009C47C 48 00 00 28 */ b lbl_8009F564
+lbl_8009F540:
+/* 8009F540 0009C480 38 00 00 02 */ li r0, 2
+/* 8009F544 0009C484 48 00 00 20 */ b lbl_8009F564
+lbl_8009F548:
+/* 8009F548 0009C488 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 8009F54C 0009C48C 41 82 00 0C */ beq lbl_8009F558
+/* 8009F550 0009C490 38 00 00 05 */ li r0, 5
+/* 8009F554 0009C494 48 00 00 10 */ b lbl_8009F564
+lbl_8009F558:
+/* 8009F558 0009C498 38 00 00 03 */ li r0, 3
+/* 8009F55C 0009C49C 48 00 00 08 */ b lbl_8009F564
+lbl_8009F560:
+/* 8009F560 0009C4A0 38 00 00 04 */ li r0, 4
+lbl_8009F564:
+/* 8009F564 0009C4A4 2C 00 00 01 */ cmpwi r0, 1
+/* 8009F568 0009C4A8 40 82 00 0C */ bne lbl_8009F574
+/* 8009F56C 0009C4AC 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
+/* 8009F570 0009C4B0 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
+lbl_8009F574:
+/* 8009F574 0009C4B4 C0 02 93 88 */ lfs f0, lbl_80452D88-_SDA2_BASE_(r2)
+/* 8009F578 0009C4B8 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8009F57C 0009C4BC 40 80 00 20 */ bge lbl_8009F59C
+/* 8009F580 0009C4C0 57 20 04 38 */ rlwinm r0, r25, 0, 0x10, 0x1c
+/* 8009F584 0009C4C4 3C 60 80 44 */ lis r3, lbl_80439A20@ha
+/* 8009F588 0009C4C8 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l
+/* 8009F58C 0009C4CC 7F A3 04 2E */ lfsx f29, r3, r0
+/* 8009F590 0009C4D0 7C 63 02 14 */ add r3, r3, r0
+/* 8009F594 0009C4D4 C3 83 00 04 */ lfs f28, 4(r3)
+/* 8009F598 0009C4D8 48 00 00 1C */ b lbl_8009F5B4
+lbl_8009F59C:
+/* 8009F59C 0009C4DC C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2)
+/* 8009F5A0 0009C4E0 EC 20 08 24 */ fdivs f1, f0, f1
+/* 8009F5A4 0009C4E4 C0 01 00 A0 */ lfs f0, 0xa0(r1)
+/* 8009F5A8 0009C4E8 EF A0 00 72 */ fmuls f29, f0, f1
+/* 8009F5AC 0009C4EC C0 01 00 A8 */ lfs f0, 0xa8(r1)
+/* 8009F5B0 0009C4F0 EF 80 00 72 */ fmuls f28, f0, f1
+lbl_8009F5B4:
+/* 8009F5B4 0009C4F4 80 1F 05 88 */ lwz r0, 0x588(r31)
+/* 8009F5B8 0009C4F8 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8
+/* 8009F5BC 0009C4FC 41 82 00 2C */ beq lbl_8009F5E8
+/* 8009F5C0 0009C500 3C 60 80 43 */ lis r3, lbl_80430CF4@ha
+/* 8009F5C4 0009C504 C4 03 0C F4 */ lfsu f0, lbl_80430CF4@l(r3)
+/* 8009F5C8 0009C508 D0 01 00 B8 */ stfs f0, 0xb8(r1)
+/* 8009F5CC 0009C50C C0 03 00 04 */ lfs f0, 4(r3)
+/* 8009F5D0 0009C510 D0 01 00 BC */ stfs f0, 0xbc(r1)
+/* 8009F5D4 0009C514 C0 03 00 08 */ lfs f0, 8(r3)
+/* 8009F5D8 0009C518 D0 01 00 C0 */ stfs f0, 0xc0(r1)
+/* 8009F5DC 0009C51C 3A E0 00 00 */ li r23, 0
+/* 8009F5E0 0009C520 3B 00 00 00 */ li r24, 0
+/* 8009F5E4 0009C524 48 00 00 78 */ b lbl_8009F65C
+lbl_8009F5E8:
+/* 8009F5E8 0009C528 A8 7F 30 60 */ lha r3, 0x3060(r31)
+/* 8009F5EC 0009C52C 7C 17 18 50 */ subf r0, r23, r3
+/* 8009F5F0 0009C530 7C 00 07 34 */ extsh r0, r0
+/* 8009F5F4 0009C534 7C 00 0E 70 */ srawi r0, r0, 1
+/* 8009F5F8 0009C538 7C 17 07 34 */ extsh r23, r0
+/* 8009F5FC 0009C53C 48 2C 5A D5 */ bl func_803650D0
+/* 8009F600 0009C540 2C 03 30 00 */ cmpwi r3, 0x3000
+/* 8009F604 0009C544 40 81 00 1C */ ble lbl_8009F620
+/* 8009F608 0009C548 A8 7F 30 60 */ lha r3, 0x3060(r31)
+/* 8009F60C 0009C54C 48 2C 5A C5 */ bl func_803650D0
+/* 8009F610 0009C550 2C 03 50 00 */ cmpwi r3, 0x5000
+/* 8009F614 0009C554 40 80 00 0C */ bge lbl_8009F620
+/* 8009F618 0009C558 3B 00 00 00 */ li r24, 0
+/* 8009F61C 0009C55C 48 00 00 18 */ b lbl_8009F634
+lbl_8009F620:
+/* 8009F620 0009C560 A8 1F 30 62 */ lha r0, 0x3062(r31)
+/* 8009F624 0009C564 7C 18 00 50 */ subf r0, r24, r0
+/* 8009F628 0009C568 7C 00 07 34 */ extsh r0, r0
+/* 8009F62C 0009C56C 7C 00 0E 70 */ srawi r0, r0, 1
+/* 8009F630 0009C570 7C 18 07 34 */ extsh r24, r0
+lbl_8009F634:
+/* 8009F634 0009C574 38 61 00 64 */ addi r3, r1, 0x64
+/* 8009F638 0009C578 38 9F 34 C8 */ addi r4, r31, 0x34c8
+/* 8009F63C 0009C57C 38 A1 00 C4 */ addi r5, r1, 0xc4
+/* 8009F640 0009C580 48 1C 74 F5 */ bl cXyz_NS___mi
+/* 8009F644 0009C584 C0 01 00 64 */ lfs f0, 0x64(r1)
+/* 8009F648 0009C588 D0 01 00 B8 */ stfs f0, 0xb8(r1)
+/* 8009F64C 0009C58C C0 01 00 68 */ lfs f0, 0x68(r1)
+/* 8009F650 0009C590 D0 01 00 BC */ stfs f0, 0xbc(r1)
+/* 8009F654 0009C594 C0 01 00 6C */ lfs f0, 0x6c(r1)
+/* 8009F658 0009C598 D0 01 00 C0 */ stfs f0, 0xc0(r1)
+lbl_8009F65C:
+/* 8009F65C 0009C59C 80 1F 05 70 */ lwz r0, 0x570(r31)
+/* 8009F660 0009C5A0 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
+/* 8009F664 0009C5A4 41 82 00 28 */ beq lbl_8009F68C
+/* 8009F668 0009C5A8 38 61 00 58 */ addi r3, r1, 0x58
+/* 8009F66C 0009C5AC 38 81 00 D0 */ addi r4, r1, 0xd0
+/* 8009F670 0009C5B0 FC 20 D8 90 */ fmr f1, f27
+/* 8009F674 0009C5B4 48 1C 75 11 */ bl cXyz_NS___ml
+/* 8009F678 0009C5B8 38 61 00 B8 */ addi r3, r1, 0xb8
+/* 8009F67C 0009C5BC 38 81 00 58 */ addi r4, r1, 0x58
+/* 8009F680 0009C5C0 7C 65 1B 78 */ mr r5, r3
+/* 8009F684 0009C5C4 48 2A 7A 0D */ bl PSVECAdd
+/* 8009F688 0009C5C8 48 00 00 54 */ b lbl_8009F6DC
+lbl_8009F68C:
+/* 8009F68C 0009C5CC C0 5F 37 A0 */ lfs f2, 0x37a0(r31)
+/* 8009F690 0009C5D0 C0 1F 37 98 */ lfs f0, 0x3798(r31)
+/* 8009F694 0009C5D4 D0 01 00 40 */ stfs f0, 0x40(r1)
+/* 8009F698 0009C5D8 C0 22 92 C0 */ lfs f1, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009F69C 0009C5DC D0 21 00 44 */ stfs f1, 0x44(r1)
+/* 8009F6A0 0009C5E0 D0 41 00 48 */ stfs f2, 0x48(r1)
+/* 8009F6A4 0009C5E4 C0 5F 04 D8 */ lfs f2, 0x4d8(r31)
+/* 8009F6A8 0009C5E8 C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
+/* 8009F6AC 0009C5EC D0 01 00 4C */ stfs f0, 0x4c(r1)
+/* 8009F6B0 0009C5F0 D0 21 00 50 */ stfs f1, 0x50(r1)
+/* 8009F6B4 0009C5F4 D0 41 00 54 */ stfs f2, 0x54(r1)
+/* 8009F6B8 0009C5F8 38 61 00 40 */ addi r3, r1, 0x40
+/* 8009F6BC 0009C5FC 38 81 00 4C */ addi r4, r1, 0x4c
+/* 8009F6C0 0009C600 48 2A 7C DD */ bl PSVECSquareDistance
+/* 8009F6C4 0009C604 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2)
+/* 8009F6C8 0009C608 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8009F6CC 0009C60C 40 80 00 10 */ bge lbl_8009F6DC
+/* 8009F6D0 0009C610 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009F6D4 0009C614 D0 01 00 B8 */ stfs f0, 0xb8(r1)
+/* 8009F6D8 0009C618 D0 01 00 C0 */ stfs f0, 0xc0(r1)
+lbl_8009F6DC:
+/* 8009F6DC 0009C61C 38 61 00 B8 */ addi r3, r1, 0xb8
+/* 8009F6E0 0009C620 38 9F 35 B8 */ addi r4, r31, 0x35b8
+/* 8009F6E4 0009C624 7C 65 1B 78 */ mr r5, r3
+/* 8009F6E8 0009C628 48 2A 79 A9 */ bl PSVECAdd
+/* 8009F6EC 0009C62C 80 1F 05 88 */ lwz r0, 0x588(r31)
+/* 8009F6F0 0009C630 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
+/* 8009F6F4 0009C634 41 82 00 24 */ beq lbl_8009F718
+/* 8009F6F8 0009C638 C0 21 00 B8 */ lfs f1, 0xb8(r1)
+/* 8009F6FC 0009C63C C0 1F 34 00 */ lfs f0, 0x3400(r31)
+/* 8009F700 0009C640 EC 01 00 2A */ fadds f0, f1, f0
+/* 8009F704 0009C644 D0 01 00 B8 */ stfs f0, 0xb8(r1)
+/* 8009F708 0009C648 C0 21 00 C0 */ lfs f1, 0xc0(r1)
+/* 8009F70C 0009C64C C0 1F 34 04 */ lfs f0, 0x3404(r31)
+/* 8009F710 0009C650 EC 01 00 2A */ fadds f0, f1, f0
+/* 8009F714 0009C654 D0 01 00 C0 */ stfs f0, 0xc0(r1)
+lbl_8009F718:
+/* 8009F718 0009C658 7F E3 FB 78 */ mr r3, r31
+/* 8009F71C 0009C65C 38 81 00 B8 */ addi r4, r1, 0xb8
+/* 8009F720 0009C660 48 04 2D 5D */ bl daAlink_c_NS_multVecMagneBootInvMtx
+/* 8009F724 0009C664 80 7F 05 70 */ lwz r3, 0x570(r31)
+/* 8009F728 0009C668 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
+/* 8009F72C 0009C66C 40 82 00 18 */ bne lbl_8009F744
+/* 8009F730 0009C670 C0 21 00 BC */ lfs f1, 0xbc(r1)
+/* 8009F734 0009C674 C0 02 93 14 */ lfs f0, lbl_80452D14-_SDA2_BASE_(r2)
+/* 8009F738 0009C678 EC 01 00 28 */ fsubs f0, f1, f0
+/* 8009F73C 0009C67C D0 01 00 BC */ stfs f0, 0xbc(r1)
+/* 8009F740 0009C680 48 00 00 48 */ b lbl_8009F788
+lbl_8009F744:
+/* 8009F744 0009C684 54 60 04 E7 */ rlwinm. r0, r3, 0, 0x13, 0x13
+/* 8009F748 0009C688 41 82 00 30 */ beq lbl_8009F778
+/* 8009F74C 0009C68C 38 7F 1D C0 */ addi r3, r31, 0x1dc0
+/* 8009F750 0009C690 38 80 00 00 */ li r4, 0
+/* 8009F754 0009C694 48 00 2A 8D */ bl daAlink_c_NS_getMoveBGActorName
+/* 8009F758 0009C698 7C 60 07 34 */ extsh r0, r3
+/* 8009F75C 0009C69C 2C 00 00 C6 */ cmpwi r0, 0xc6
+/* 8009F760 0009C6A0 40 82 00 18 */ bne lbl_8009F778
+/* 8009F764 0009C6A4 C0 21 00 BC */ lfs f1, 0xbc(r1)
+/* 8009F768 0009C6A8 C0 02 93 3C */ lfs f0, lbl_80452D3C-_SDA2_BASE_(r2)
+/* 8009F76C 0009C6AC EC 01 00 2A */ fadds f0, f1, f0
+/* 8009F770 0009C6B0 D0 01 00 BC */ stfs f0, 0xbc(r1)
+/* 8009F774 0009C6B4 48 00 00 14 */ b lbl_8009F788
+lbl_8009F778:
+/* 8009F778 0009C6B8 C0 21 00 BC */ lfs f1, 0xbc(r1)
+/* 8009F77C 0009C6BC C0 02 93 3C */ lfs f0, lbl_80452D3C-_SDA2_BASE_(r2)
+/* 8009F780 0009C6C0 EC 01 00 28 */ fsubs f0, f1, f0
+/* 8009F784 0009C6C4 D0 01 00 BC */ stfs f0, 0xbc(r1)
+lbl_8009F788:
+/* 8009F788 0009C6C8 C0 01 00 B8 */ lfs f0, 0xb8(r1)
+/* 8009F78C 0009C6CC FC 00 02 10 */ fabs f0, f0
+/* 8009F790 0009C6D0 FC 20 00 18 */ frsp f1, f0
+/* 8009F794 0009C6D4 C0 02 93 88 */ lfs f0, lbl_80452D88-_SDA2_BASE_(r2)
+/* 8009F798 0009C6D8 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8009F79C 0009C6DC 40 80 00 0C */ bge lbl_8009F7A8
+/* 8009F7A0 0009C6E0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009F7A4 0009C6E4 D0 01 00 B8 */ stfs f0, 0xb8(r1)
+lbl_8009F7A8:
+/* 8009F7A8 0009C6E8 C0 01 00 C0 */ lfs f0, 0xc0(r1)
+/* 8009F7AC 0009C6EC FC 00 02 10 */ fabs f0, f0
+/* 8009F7B0 0009C6F0 FC 20 00 18 */ frsp f1, f0
+/* 8009F7B4 0009C6F4 C0 02 93 88 */ lfs f0, lbl_80452D88-_SDA2_BASE_(r2)
+/* 8009F7B8 0009C6F8 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8009F7BC 0009C6FC 40 80 00 0C */ bge lbl_8009F7C8
+/* 8009F7C0 0009C700 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009F7C4 0009C704 D0 01 00 C0 */ stfs f0, 0xc0(r1)
+lbl_8009F7C8:
+/* 8009F7C8 0009C708 80 1F 05 70 */ lwz r0, 0x570(r31)
+/* 8009F7CC 0009C70C 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13
+/* 8009F7D0 0009C710 41 82 00 38 */ beq lbl_8009F808
+/* 8009F7D4 0009C714 38 7F 2C 78 */ addi r3, r31, 0x2c78
+/* 8009F7D8 0009C718 3C 80 80 3E */ lis r4, lbl_803DD470@ha
+/* 8009F7DC 0009C71C 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l
+/* 8009F7E0 0009C720 48 2A 6C D1 */ bl PSMTXCopy
+/* 8009F7E4 0009C724 80 7F 06 50 */ lwz r3, 0x650(r31)
+/* 8009F7E8 0009C728 80 63 00 84 */ lwz r3, 0x84(r3)
+/* 8009F7EC 0009C72C 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 8009F7F0 0009C730 38 83 00 60 */ addi r4, r3, 0x60
+/* 8009F7F4 0009C734 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009F7F8 0009C738 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009F7FC 0009C73C 7C 65 1B 78 */ mr r5, r3
+/* 8009F800 0009C740 48 2A 6C E5 */ bl PSMTXConcat
+/* 8009F804 0009C744 48 00 00 20 */ b lbl_8009F824
+lbl_8009F808:
+/* 8009F808 0009C748 80 7F 06 50 */ lwz r3, 0x650(r31)
+/* 8009F80C 0009C74C 80 63 00 84 */ lwz r3, 0x84(r3)
+/* 8009F810 0009C750 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 8009F814 0009C754 38 63 00 60 */ addi r3, r3, 0x60
+/* 8009F818 0009C758 3C 80 80 3E */ lis r4, lbl_803DD470@ha
+/* 8009F81C 0009C75C 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l
+/* 8009F820 0009C760 48 2A 6C 91 */ bl PSMTXCopy
+lbl_8009F824:
+/* 8009F824 0009C764 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009F828 0009C768 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009F82C 0009C76C 3C 80 80 43 */ lis r4, lbl_80430D24@ha
+/* 8009F830 0009C770 38 84 0D 24 */ addi r4, r4, lbl_80430D24@l
+/* 8009F834 0009C774 38 A1 00 94 */ addi r5, r1, 0x94
+/* 8009F838 0009C778 48 2A 76 15 */ bl PSMTXMultVecSR
+/* 8009F83C 0009C77C 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009F840 0009C780 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009F844 0009C784 3C 80 80 43 */ lis r4, lbl_80430D0C@ha
+/* 8009F848 0009C788 38 84 0D 0C */ addi r4, r4, lbl_80430D0C@l
+/* 8009F84C 0009C78C 38 A1 00 88 */ addi r5, r1, 0x88
+/* 8009F850 0009C790 48 2A 75 1D */ bl PSMTXMultVec
+/* 8009F854 0009C794 C0 21 00 8C */ lfs f1, 0x8c(r1)
+/* 8009F858 0009C798 3C 60 80 3E */ lis r3, lbl_803DD470@ha
+/* 8009F85C 0009C79C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
+/* 8009F860 0009C7A0 C0 03 00 1C */ lfs f0, 0x1c(r3)
+/* 8009F864 0009C7A4 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8009F868 0009C7A8 40 80 01 3C */ bge lbl_8009F9A4
+/* 8009F86C 0009C7AC 7F E3 FB 78 */ mr r3, r31
+/* 8009F870 0009C7B0 38 80 01 16 */ li r4, 0x116
+/* 8009F874 0009C7B4 48 00 CC E5 */ bl daAlink_c_NS_checkUnderMove0BckNoArc
+/* 8009F878 0009C7B8 2C 03 00 00 */ cmpwi r3, 0
+/* 8009F87C 0009C7BC 40 82 01 28 */ bne lbl_8009F9A4
+/* 8009F880 0009C7C0 C0 01 00 94 */ lfs f0, 0x94(r1)
+/* 8009F884 0009C7C4 D0 01 00 1C */ stfs f0, 0x1c(r1)
+/* 8009F888 0009C7C8 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009F88C 0009C7CC D0 01 00 20 */ stfs f0, 0x20(r1)
+/* 8009F890 0009C7D0 C0 01 00 9C */ lfs f0, 0x9c(r1)
+/* 8009F894 0009C7D4 D0 01 00 24 */ stfs f0, 0x24(r1)
+/* 8009F898 0009C7D8 38 61 00 1C */ addi r3, r1, 0x1c
+/* 8009F89C 0009C7DC 48 2A 78 9D */ bl PSVECSquareMag
+/* 8009F8A0 0009C7E0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009F8A4 0009C7E4 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8009F8A8 0009C7E8 40 81 00 58 */ ble lbl_8009F900
+/* 8009F8AC 0009C7EC FC 00 08 34 */ frsqrte f0, f1
+/* 8009F8B0 0009C7F0 C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2)
+/* 8009F8B4 0009C7F4 FC 44 00 32 */ fmul f2, f4, f0
+/* 8009F8B8 0009C7F8 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2)
+/* 8009F8BC 0009C7FC FC 00 00 32 */ fmul f0, f0, f0
+/* 8009F8C0 0009C800 FC 01 00 32 */ fmul f0, f1, f0
+/* 8009F8C4 0009C804 FC 03 00 28 */ fsub f0, f3, f0
+/* 8009F8C8 0009C808 FC 02 00 32 */ fmul f0, f2, f0
+/* 8009F8CC 0009C80C FC 44 00 32 */ fmul f2, f4, f0
+/* 8009F8D0 0009C810 FC 00 00 32 */ fmul f0, f0, f0
+/* 8009F8D4 0009C814 FC 01 00 32 */ fmul f0, f1, f0
+/* 8009F8D8 0009C818 FC 03 00 28 */ fsub f0, f3, f0
+/* 8009F8DC 0009C81C FC 02 00 32 */ fmul f0, f2, f0
+/* 8009F8E0 0009C820 FC 44 00 32 */ fmul f2, f4, f0
+/* 8009F8E4 0009C824 FC 00 00 32 */ fmul f0, f0, f0
+/* 8009F8E8 0009C828 FC 01 00 32 */ fmul f0, f1, f0
+/* 8009F8EC 0009C82C FC 03 00 28 */ fsub f0, f3, f0
+/* 8009F8F0 0009C830 FC 02 00 32 */ fmul f0, f2, f0
+/* 8009F8F4 0009C834 FC 41 00 32 */ fmul f2, f1, f0
+/* 8009F8F8 0009C838 FC 40 10 18 */ frsp f2, f2
+/* 8009F8FC 0009C83C 48 00 00 90 */ b lbl_8009F98C
+lbl_8009F900:
+/* 8009F900 0009C840 C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2)
+/* 8009F904 0009C844 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8009F908 0009C848 40 80 00 10 */ bge lbl_8009F918
+/* 8009F90C 0009C84C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
+/* 8009F910 0009C850 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3)
+/* 8009F914 0009C854 48 00 00 78 */ b lbl_8009F98C
+lbl_8009F918:
+/* 8009F918 0009C858 D0 21 00 0C */ stfs f1, 0xc(r1)
+/* 8009F91C 0009C85C 80 81 00 0C */ lwz r4, 0xc(r1)
+/* 8009F920 0009C860 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
+/* 8009F924 0009C864 3C 00 7F 80 */ lis r0, 0x7f80
+/* 8009F928 0009C868 7C 03 00 00 */ cmpw r3, r0
+/* 8009F92C 0009C86C 41 82 00 14 */ beq lbl_8009F940
+/* 8009F930 0009C870 40 80 00 40 */ bge lbl_8009F970
+/* 8009F934 0009C874 2C 03 00 00 */ cmpwi r3, 0
+/* 8009F938 0009C878 41 82 00 20 */ beq lbl_8009F958
+/* 8009F93C 0009C87C 48 00 00 34 */ b lbl_8009F970
+lbl_8009F940:
+/* 8009F940 0009C880 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 8009F944 0009C884 41 82 00 0C */ beq lbl_8009F950
+/* 8009F948 0009C888 38 00 00 01 */ li r0, 1
+/* 8009F94C 0009C88C 48 00 00 28 */ b lbl_8009F974
+lbl_8009F950:
+/* 8009F950 0009C890 38 00 00 02 */ li r0, 2
+/* 8009F954 0009C894 48 00 00 20 */ b lbl_8009F974
+lbl_8009F958:
+/* 8009F958 0009C898 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 8009F95C 0009C89C 41 82 00 0C */ beq lbl_8009F968
+/* 8009F960 0009C8A0 38 00 00 05 */ li r0, 5
+/* 8009F964 0009C8A4 48 00 00 10 */ b lbl_8009F974
+lbl_8009F968:
+/* 8009F968 0009C8A8 38 00 00 03 */ li r0, 3
+/* 8009F96C 0009C8AC 48 00 00 08 */ b lbl_8009F974
+lbl_8009F970:
+/* 8009F970 0009C8B0 38 00 00 04 */ li r0, 4
+lbl_8009F974:
+/* 8009F974 0009C8B4 2C 00 00 01 */ cmpwi r0, 1
+/* 8009F978 0009C8B8 40 82 00 10 */ bne lbl_8009F988
+/* 8009F97C 0009C8BC 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
+/* 8009F980 0009C8C0 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3)
+/* 8009F984 0009C8C4 48 00 00 08 */ b lbl_8009F98C
+lbl_8009F988:
+/* 8009F988 0009C8C8 FC 40 08 90 */ fmr f2, f1
+lbl_8009F98C:
+/* 8009F98C 0009C8CC C0 01 00 98 */ lfs f0, 0x98(r1)
+/* 8009F990 0009C8D0 FC 20 00 50 */ fneg f1, f0
+/* 8009F994 0009C8D4 FC 40 10 50 */ fneg f2, f2
+/* 8009F998 0009C8D8 48 1C 7C DD */ bl cM_atan2s
+/* 8009F99C 0009C8DC 7C 7B 07 34 */ extsh r27, r3
+/* 8009F9A0 0009C8E0 48 00 00 10 */ b lbl_8009F9B0
+lbl_8009F9A4:
+/* 8009F9A4 0009C8E4 38 61 00 94 */ addi r3, r1, 0x94
+/* 8009F9A8 0009C8E8 48 1C 77 A9 */ bl cXyz_NS_atan2sY_XZ
+/* 8009F9AC 0009C8EC 7C 7B 07 34 */ extsh r27, r3
+lbl_8009F9B0:
+/* 8009F9B0 0009C8F0 3B 5F 30 3A */ addi r26, r31, 0x303a
+/* 8009F9B4 0009C8F4 3B 3F 30 4E */ addi r25, r31, 0x304e
+/* 8009F9B8 0009C8F8 A8 1F 30 3A */ lha r0, 0x303a(r31)
+/* 8009F9BC 0009C8FC 7C 17 00 50 */ subf r0, r23, r0
+/* 8009F9C0 0009C900 B0 1F 30 3A */ sth r0, 0x303a(r31)
+/* 8009F9C4 0009C904 A8 1F 30 4E */ lha r0, 0x304e(r31)
+/* 8009F9C8 0009C908 7C 18 00 50 */ subf r0, r24, r0
+/* 8009F9CC 0009C90C B0 1F 30 4E */ sth r0, 0x304e(r31)
+/* 8009F9D0 0009C910 AB BF 30 3A */ lha r29, 0x303a(r31)
+/* 8009F9D4 0009C914 AB 9F 30 4E */ lha r28, 0x304e(r31)
+/* 8009F9D8 0009C918 C0 01 00 C0 */ lfs f0, 0xc0(r1)
+/* 8009F9DC 0009C91C EC 20 07 32 */ fmuls f1, f0, f28
+/* 8009F9E0 0009C920 C0 01 00 B8 */ lfs f0, 0xb8(r1)
+/* 8009F9E4 0009C924 EC 00 07 72 */ fmuls f0, f0, f29
+/* 8009F9E8 0009C928 EF C1 00 2A */ fadds f30, f1, f0
+/* 8009F9EC 0009C92C C0 21 00 BC */ lfs f1, 0xbc(r1)
+/* 8009F9F0 0009C930 FC 40 F0 50 */ fneg f2, f30
+/* 8009F9F4 0009C934 48 1C 7C 81 */ bl cM_atan2s
+/* 8009F9F8 0009C938 A8 9F 30 60 */ lha r4, 0x3060(r31)
+/* 8009F9FC 0009C93C 7C 60 07 34 */ extsh r0, r3
+/* 8009FA00 0009C940 7C 04 00 50 */ subf r0, r4, r0
+/* 8009FA04 0009C944 2C 00 C8 00 */ cmpwi r0, -14336
+/* 8009FA08 0009C948 40 80 00 0C */ bge lbl_8009FA14
+/* 8009FA0C 0009C94C 38 60 C8 00 */ li r3, -14336
+/* 8009FA10 0009C950 48 00 00 14 */ b lbl_8009FA24
+lbl_8009FA14:
+/* 8009FA14 0009C954 2C 00 38 00 */ cmpwi r0, 0x3800
+/* 8009FA18 0009C958 38 60 38 00 */ li r3, 0x3800
+/* 8009FA1C 0009C95C 41 81 00 08 */ bgt lbl_8009FA24
+/* 8009FA20 0009C960 7C 03 03 78 */ mr r3, r0
+lbl_8009FA24:
+/* 8009FA24 0009C964 7C 03 22 14 */ add r0, r3, r4
+/* 8009FA28 0009C968 7C 03 07 34 */ extsh r3, r0
+/* 8009FA2C 0009C96C 38 1B C8 00 */ addi r0, r27, -14336
+/* 8009FA30 0009C970 7C 03 00 00 */ cmpw r3, r0
+/* 8009FA34 0009C974 40 80 00 08 */ bge lbl_8009FA3C
+/* 8009FA38 0009C978 7C 03 07 34 */ extsh r3, r0
+lbl_8009FA3C:
+/* 8009FA3C 0009C97C 7C 60 07 34 */ extsh r0, r3
+/* 8009FA40 0009C980 7C 84 00 50 */ subf r4, r4, r0
+/* 8009FA44 0009C984 80 1F 05 88 */ lwz r0, 0x588(r31)
+/* 8009FA48 0009C988 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8
+/* 8009FA4C 0009C98C 41 82 00 0C */ beq lbl_8009FA58
+/* 8009FA50 0009C990 B0 9A 00 00 */ sth r4, 0(r26)
+/* 8009FA54 0009C994 48 00 00 18 */ b lbl_8009FA6C
+lbl_8009FA58:
+/* 8009FA58 0009C998 7F 43 D3 78 */ mr r3, r26
+/* 8009FA5C 0009C99C 7C 84 07 34 */ extsh r4, r4
+/* 8009FA60 0009C9A0 38 A0 00 05 */ li r5, 5
+/* 8009FA64 0009C9A4 38 C0 04 00 */ li r6, 0x400
+/* 8009FA68 0009C9A8 48 1D 0B A1 */ bl cLib_addCalcAngleS2
+lbl_8009FA6C:
+/* 8009FA6C 0009C9AC A8 7A 00 00 */ lha r3, 0(r26)
+/* 8009FA70 0009C9B0 A8 1F 30 54 */ lha r0, 0x3054(r31)
+/* 8009FA74 0009C9B4 7C 03 02 14 */ add r0, r3, r0
+/* 8009FA78 0009C9B8 7C 03 07 34 */ extsh r3, r0
+/* 8009FA7C 0009C9BC 2C 03 C8 00 */ cmpwi r3, -14336
+/* 8009FA80 0009C9C0 40 80 00 0C */ bge lbl_8009FA8C
+/* 8009FA84 0009C9C4 38 00 C8 00 */ li r0, -14336
+/* 8009FA88 0009C9C8 48 00 00 14 */ b lbl_8009FA9C
+lbl_8009FA8C:
+/* 8009FA8C 0009C9CC 2C 03 38 00 */ cmpwi r3, 0x3800
+/* 8009FA90 0009C9D0 38 00 38 00 */ li r0, 0x3800
+/* 8009FA94 0009C9D4 41 81 00 08 */ bgt lbl_8009FA9C
+/* 8009FA98 0009C9D8 7C 60 1B 78 */ mr r0, r3
+lbl_8009FA9C:
+/* 8009FA9C 0009C9DC B0 1A 00 00 */ sth r0, 0(r26)
+/* 8009FAA0 0009C9E0 EC 3E 07 B2 */ fmuls f1, f30, f30
+/* 8009FAA4 0009C9E4 C0 01 00 BC */ lfs f0, 0xbc(r1)
+/* 8009FAA8 0009C9E8 EC 00 00 32 */ fmuls f0, f0, f0
+/* 8009FAAC 0009C9EC EC 41 00 2A */ fadds f2, f1, f0
+/* 8009FAB0 0009C9F0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009FAB4 0009C9F4 FC 02 00 40 */ fcmpo cr0, f2, f0
+/* 8009FAB8 0009C9F8 40 81 00 0C */ ble lbl_8009FAC4
+/* 8009FABC 0009C9FC FC 00 10 34 */ frsqrte f0, f2
+/* 8009FAC0 0009CA00 EC 40 00 B2 */ fmuls f2, f0, f2
+lbl_8009FAC4:
+/* 8009FAC4 0009CA04 C0 01 00 B8 */ lfs f0, 0xb8(r1)
+/* 8009FAC8 0009CA08 EC 20 07 32 */ fmuls f1, f0, f28
+/* 8009FACC 0009CA0C C0 01 00 C0 */ lfs f0, 0xc0(r1)
+/* 8009FAD0 0009CA10 EC 00 07 72 */ fmuls f0, f0, f29
+/* 8009FAD4 0009CA14 EC 01 00 28 */ fsubs f0, f1, f0
+/* 8009FAD8 0009CA18 FC 20 00 50 */ fneg f1, f0
+/* 8009FADC 0009CA1C 48 1C 7B 99 */ bl cM_atan2s
+/* 8009FAE0 0009CA20 7C 60 07 34 */ extsh r0, r3
+/* 8009FAE4 0009CA24 2C 00 D8 00 */ cmpwi r0, -10240
+/* 8009FAE8 0009CA28 40 80 00 0C */ bge lbl_8009FAF4
+/* 8009FAEC 0009CA2C 38 00 D8 00 */ li r0, -10240
+/* 8009FAF0 0009CA30 48 00 00 14 */ b lbl_8009FB04
+lbl_8009FAF4:
+/* 8009FAF4 0009CA34 2C 00 28 00 */ cmpwi r0, 0x2800
+/* 8009FAF8 0009CA38 38 00 28 00 */ li r0, 0x2800
+/* 8009FAFC 0009CA3C 41 81 00 08 */ bgt lbl_8009FB04
+/* 8009FB00 0009CA40 7C 60 1B 78 */ mr r0, r3
+lbl_8009FB04:
+/* 8009FB04 0009CA44 7C 04 07 34 */ extsh r4, r0
+/* 8009FB08 0009CA48 80 1F 05 88 */ lwz r0, 0x588(r31)
+/* 8009FB0C 0009CA4C 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8
+/* 8009FB10 0009CA50 41 82 00 0C */ beq lbl_8009FB1C
+/* 8009FB14 0009CA54 B0 99 00 00 */ sth r4, 0(r25)
+/* 8009FB18 0009CA58 48 00 00 14 */ b lbl_8009FB2C
+lbl_8009FB1C:
+/* 8009FB1C 0009CA5C 7F 23 CB 78 */ mr r3, r25
+/* 8009FB20 0009CA60 38 A0 00 05 */ li r5, 5
+/* 8009FB24 0009CA64 38 C0 04 00 */ li r6, 0x400
+/* 8009FB28 0009CA68 48 1D 0A E1 */ bl cLib_addCalcAngleS2
+lbl_8009FB2C:
+/* 8009FB2C 0009CA6C A8 79 00 00 */ lha r3, 0(r25)
+/* 8009FB30 0009CA70 A8 1F 30 5A */ lha r0, 0x305a(r31)
+/* 8009FB34 0009CA74 7C 03 02 14 */ add r0, r3, r0
+/* 8009FB38 0009CA78 7C 03 07 34 */ extsh r3, r0
+/* 8009FB3C 0009CA7C 2C 03 D8 00 */ cmpwi r3, -10240
+/* 8009FB40 0009CA80 40 80 00 0C */ bge lbl_8009FB4C
+/* 8009FB44 0009CA84 38 00 D8 00 */ li r0, -10240
+/* 8009FB48 0009CA88 48 00 00 14 */ b lbl_8009FB5C
+lbl_8009FB4C:
+/* 8009FB4C 0009CA8C 2C 03 28 00 */ cmpwi r3, 0x2800
+/* 8009FB50 0009CA90 38 00 28 00 */ li r0, 0x2800
+/* 8009FB54 0009CA94 41 81 00 08 */ bgt lbl_8009FB5C
+/* 8009FB58 0009CA98 7C 60 1B 78 */ mr r0, r3
+lbl_8009FB5C:
+/* 8009FB5C 0009CA9C B0 19 00 00 */ sth r0, 0(r25)
+/* 8009FB60 0009CAA0 C3 C2 93 F8 */ lfs f30, lbl_80452DF8-_SDA2_BASE_(r2)
+/* 8009FB64 0009CAA4 A8 1A 00 00 */ lha r0, 0(r26)
+/* 8009FB68 0009CAA8 7C 1D 00 50 */ subf r0, r29, r0
+/* 8009FB6C 0009CAAC CB E2 92 B0 */ lfd f31, lbl_80452CB0-_SDA2_BASE_(r2)
+/* 8009FB70 0009CAB0 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 8009FB74 0009CAB4 90 01 00 E4 */ stw r0, 0xe4(r1)
+/* 8009FB78 0009CAB8 3F 00 43 30 */ lis r24, 0x4330
+/* 8009FB7C 0009CABC 93 01 00 E0 */ stw r24, 0xe0(r1)
+/* 8009FB80 0009CAC0 C8 01 00 E0 */ lfd f0, 0xe0(r1)
+/* 8009FB84 0009CAC4 EC 00 F8 28 */ fsubs f0, f0, f31
+/* 8009FB88 0009CAC8 EC 1E 00 32 */ fmuls f0, f30, f0
+/* 8009FB8C 0009CACC FC 00 00 1E */ fctiwz f0, f0
+/* 8009FB90 0009CAD0 D8 01 00 E8 */ stfd f0, 0xe8(r1)
+/* 8009FB94 0009CAD4 80 01 00 EC */ lwz r0, 0xec(r1)
+/* 8009FB98 0009CAD8 B0 1F 30 54 */ sth r0, 0x3054(r31)
+/* 8009FB9C 0009CADC A8 19 00 00 */ lha r0, 0(r25)
+/* 8009FBA0 0009CAE0 7C 1C 00 50 */ subf r0, r28, r0
+/* 8009FBA4 0009CAE4 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 8009FBA8 0009CAE8 90 01 00 F4 */ stw r0, 0xf4(r1)
+/* 8009FBAC 0009CAEC 93 01 00 F0 */ stw r24, 0xf0(r1)
+/* 8009FBB0 0009CAF0 C8 01 00 F0 */ lfd f0, 0xf0(r1)
+/* 8009FBB4 0009CAF4 EC 00 F8 28 */ fsubs f0, f0, f31
+/* 8009FBB8 0009CAF8 EC 1E 00 32 */ fmuls f0, f30, f0
+/* 8009FBBC 0009CAFC FC 00 00 1E */ fctiwz f0, f0
+/* 8009FBC0 0009CB00 D8 01 00 F8 */ stfd f0, 0xf8(r1)
+/* 8009FBC4 0009CB04 80 01 00 FC */ lwz r0, 0xfc(r1)
+/* 8009FBC8 0009CB08 B0 1F 30 5A */ sth r0, 0x305a(r31)
+/* 8009FBCC 0009CB0C A8 7A 00 00 */ lha r3, 0(r26)
+/* 8009FBD0 0009CB10 A8 1F 30 60 */ lha r0, 0x3060(r31)
+/* 8009FBD4 0009CB14 7C 03 02 14 */ add r0, r3, r0
+/* 8009FBD8 0009CB18 7C 17 07 34 */ extsh r23, r0
+/* 8009FBDC 0009CB1C 3A 80 00 01 */ li r20, 1
+/* 8009FBE0 0009CB20 3A DF 30 56 */ addi r22, r31, 0x3056
+/* 8009FBE4 0009CB24 3A BF 30 5C */ addi r21, r31, 0x305c
+/* 8009FBE8 0009CB28 3B 7B C8 00 */ addi r27, r27, -14336
+/* 8009FBEC 0009CB2C 3B 5A 00 02 */ addi r26, r26, 2
+/* 8009FBF0 0009CB30 3B 39 00 02 */ addi r25, r25, 2
+lbl_8009FBF4:
+/* 8009FBF4 0009CB34 A8 1A FF FE */ lha r0, -2(r26)
+/* 8009FBF8 0009CB38 7C 1D 00 50 */ subf r0, r29, r0
+/* 8009FBFC 0009CB3C 7C 00 07 34 */ extsh r0, r0
+/* 8009FC00 0009CB40 7C 03 0E 70 */ srawi r3, r0, 1
+/* 8009FC04 0009CB44 A8 1A 00 00 */ lha r0, 0(r26)
+/* 8009FC08 0009CB48 7C 03 00 50 */ subf r0, r3, r0
+/* 8009FC0C 0009CB4C B0 1A 00 00 */ sth r0, 0(r26)
+/* 8009FC10 0009CB50 A8 19 FF FE */ lha r0, -2(r25)
+/* 8009FC14 0009CB54 7C 1C 00 50 */ subf r0, r28, r0
+/* 8009FC18 0009CB58 7C 00 07 34 */ extsh r0, r0
+/* 8009FC1C 0009CB5C 7C 03 0E 70 */ srawi r3, r0, 1
+/* 8009FC20 0009CB60 A8 19 00 00 */ lha r0, 0(r25)
+/* 8009FC24 0009CB64 7C 03 00 50 */ subf r0, r3, r0
+/* 8009FC28 0009CB68 B0 19 00 00 */ sth r0, 0(r25)
+/* 8009FC2C 0009CB6C AB BA 00 00 */ lha r29, 0(r26)
+/* 8009FC30 0009CB70 AB 99 00 00 */ lha r28, 0(r25)
+/* 8009FC34 0009CB74 80 1F 05 88 */ lwz r0, 0x588(r31)
+/* 8009FC38 0009CB78 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8
+/* 8009FC3C 0009CB7C 41 82 00 14 */ beq lbl_8009FC50
+/* 8009FC40 0009CB80 38 00 00 00 */ li r0, 0
+/* 8009FC44 0009CB84 B0 1A 00 00 */ sth r0, 0(r26)
+/* 8009FC48 0009CB88 B0 19 00 00 */ sth r0, 0(r25)
+/* 8009FC4C 0009CB8C 48 00 00 2C */ b lbl_8009FC78
+lbl_8009FC50:
+/* 8009FC50 0009CB90 7F 43 D3 78 */ mr r3, r26
+/* 8009FC54 0009CB94 38 80 00 00 */ li r4, 0
+/* 8009FC58 0009CB98 38 A0 00 05 */ li r5, 5
+/* 8009FC5C 0009CB9C 38 C0 04 00 */ li r6, 0x400
+/* 8009FC60 0009CBA0 48 1D 09 A9 */ bl cLib_addCalcAngleS2
+/* 8009FC64 0009CBA4 7F 23 CB 78 */ mr r3, r25
+/* 8009FC68 0009CBA8 38 80 00 00 */ li r4, 0
+/* 8009FC6C 0009CBAC 38 A0 00 05 */ li r5, 5
+/* 8009FC70 0009CBB0 38 C0 04 00 */ li r6, 0x400
+/* 8009FC74 0009CBB4 48 1D 09 95 */ bl cLib_addCalcAngleS2
+lbl_8009FC78:
+/* 8009FC78 0009CBB8 A8 7A 00 00 */ lha r3, 0(r26)
+/* 8009FC7C 0009CBBC A8 16 00 00 */ lha r0, 0(r22)
+/* 8009FC80 0009CBC0 7C 03 02 14 */ add r0, r3, r0
+/* 8009FC84 0009CBC4 7C 03 07 34 */ extsh r3, r0
+/* 8009FC88 0009CBC8 2C 03 F0 00 */ cmpwi r3, -4096
+/* 8009FC8C 0009CBCC 40 80 00 0C */ bge lbl_8009FC98
+/* 8009FC90 0009CBD0 38 00 F0 00 */ li r0, -4096
+/* 8009FC94 0009CBD4 48 00 00 14 */ b lbl_8009FCA8
+lbl_8009FC98:
+/* 8009FC98 0009CBD8 2C 03 10 00 */ cmpwi r3, 0x1000
+/* 8009FC9C 0009CBDC 38 00 10 00 */ li r0, 0x1000
+/* 8009FCA0 0009CBE0 41 81 00 08 */ bgt lbl_8009FCA8
+/* 8009FCA4 0009CBE4 7C 60 1B 78 */ mr r0, r3
+lbl_8009FCA8:
+/* 8009FCA8 0009CBE8 B0 1A 00 00 */ sth r0, 0(r26)
+/* 8009FCAC 0009CBEC A8 7A 00 00 */ lha r3, 0(r26)
+/* 8009FCB0 0009CBF0 7E F7 1A 14 */ add r23, r23, r3
+/* 8009FCB4 0009CBF4 7E E0 07 34 */ extsh r0, r23
+/* 8009FCB8 0009CBF8 7C 00 D8 00 */ cmpw r0, r27
+/* 8009FCBC 0009CBFC 40 80 00 14 */ bge lbl_8009FCD0
+/* 8009FCC0 0009CC00 7C 00 D8 50 */ subf r0, r0, r27
+/* 8009FCC4 0009CC04 7C 03 02 14 */ add r0, r3, r0
+/* 8009FCC8 0009CC08 B0 1A 00 00 */ sth r0, 0(r26)
+/* 8009FCCC 0009CC0C 7F 77 07 34 */ extsh r23, r27
+lbl_8009FCD0:
+/* 8009FCD0 0009CC10 A8 79 00 00 */ lha r3, 0(r25)
+/* 8009FCD4 0009CC14 A8 15 00 00 */ lha r0, 0(r21)
+/* 8009FCD8 0009CC18 7C 03 02 14 */ add r0, r3, r0
+/* 8009FCDC 0009CC1C 7C 03 07 34 */ extsh r3, r0
+/* 8009FCE0 0009CC20 2C 03 E0 00 */ cmpwi r3, -8192
+/* 8009FCE4 0009CC24 40 80 00 0C */ bge lbl_8009FCF0
+/* 8009FCE8 0009CC28 38 00 E0 00 */ li r0, -8192
+/* 8009FCEC 0009CC2C 48 00 00 14 */ b lbl_8009FD00
+lbl_8009FCF0:
+/* 8009FCF0 0009CC30 2C 03 20 00 */ cmpwi r3, 0x2000
+/* 8009FCF4 0009CC34 38 00 20 00 */ li r0, 0x2000
+/* 8009FCF8 0009CC38 41 81 00 08 */ bgt lbl_8009FD00
+/* 8009FCFC 0009CC3C 7C 60 1B 78 */ mr r0, r3
+lbl_8009FD00:
+/* 8009FD00 0009CC40 B0 19 00 00 */ sth r0, 0(r25)
+/* 8009FD04 0009CC44 A8 1A 00 00 */ lha r0, 0(r26)
+/* 8009FD08 0009CC48 7C 1D 00 50 */ subf r0, r29, r0
+/* 8009FD0C 0009CC4C 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 8009FD10 0009CC50 90 01 00 FC */ stw r0, 0xfc(r1)
+/* 8009FD14 0009CC54 93 01 00 F8 */ stw r24, 0xf8(r1)
+/* 8009FD18 0009CC58 C8 01 00 F8 */ lfd f0, 0xf8(r1)
+/* 8009FD1C 0009CC5C EC 00 F8 28 */ fsubs f0, f0, f31
+/* 8009FD20 0009CC60 EC 1E 00 32 */ fmuls f0, f30, f0
+/* 8009FD24 0009CC64 FC 00 00 1E */ fctiwz f0, f0
+/* 8009FD28 0009CC68 D8 01 00 F0 */ stfd f0, 0xf0(r1)
+/* 8009FD2C 0009CC6C 80 01 00 F4 */ lwz r0, 0xf4(r1)
+/* 8009FD30 0009CC70 B0 16 00 00 */ sth r0, 0(r22)
+/* 8009FD34 0009CC74 A8 19 00 00 */ lha r0, 0(r25)
+/* 8009FD38 0009CC78 7C 1C 00 50 */ subf r0, r28, r0
+/* 8009FD3C 0009CC7C 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 8009FD40 0009CC80 90 01 00 EC */ stw r0, 0xec(r1)
+/* 8009FD44 0009CC84 93 01 00 E8 */ stw r24, 0xe8(r1)
+/* 8009FD48 0009CC88 C8 01 00 E8 */ lfd f0, 0xe8(r1)
+/* 8009FD4C 0009CC8C EC 00 F8 28 */ fsubs f0, f0, f31
+/* 8009FD50 0009CC90 EC 1E 00 32 */ fmuls f0, f30, f0
+/* 8009FD54 0009CC94 FC 00 00 1E */ fctiwz f0, f0
+/* 8009FD58 0009CC98 D8 01 00 E0 */ stfd f0, 0xe0(r1)
+/* 8009FD5C 0009CC9C 80 01 00 E4 */ lwz r0, 0xe4(r1)
+/* 8009FD60 0009CCA0 B0 15 00 00 */ sth r0, 0(r21)
+/* 8009FD64 0009CCA4 3A 94 00 01 */ addi r20, r20, 1
+/* 8009FD68 0009CCA8 2C 14 00 03 */ cmpwi r20, 3
+/* 8009FD6C 0009CCAC 3B 5A 00 02 */ addi r26, r26, 2
+/* 8009FD70 0009CCB0 3B 39 00 02 */ addi r25, r25, 2
+/* 8009FD74 0009CCB4 3A D6 00 02 */ addi r22, r22, 2
+/* 8009FD78 0009CCB8 3A B5 00 02 */ addi r21, r21, 2
+/* 8009FD7C 0009CCBC 41 80 FE 78 */ blt lbl_8009FBF4
+/* 8009FD80 0009CCC0 38 7F 34 C8 */ addi r3, r31, 0x34c8
+/* 8009FD84 0009CCC4 38 81 00 C4 */ addi r4, r1, 0xc4
+/* 8009FD88 0009CCC8 48 2A 76 15 */ bl PSVECSquareDistance
+/* 8009FD8C 0009CCCC C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 8009FD90 0009CCD0 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8009FD94 0009CCD4 40 81 00 58 */ ble lbl_8009FDEC
+/* 8009FD98 0009CCD8 FC 00 08 34 */ frsqrte f0, f1
+/* 8009FD9C 0009CCDC C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2)
+/* 8009FDA0 0009CCE0 FC 44 00 32 */ fmul f2, f4, f0
+/* 8009FDA4 0009CCE4 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2)
+/* 8009FDA8 0009CCE8 FC 00 00 32 */ fmul f0, f0, f0
+/* 8009FDAC 0009CCEC FC 01 00 32 */ fmul f0, f1, f0
+/* 8009FDB0 0009CCF0 FC 03 00 28 */ fsub f0, f3, f0
+/* 8009FDB4 0009CCF4 FC 02 00 32 */ fmul f0, f2, f0
+/* 8009FDB8 0009CCF8 FC 44 00 32 */ fmul f2, f4, f0
+/* 8009FDBC 0009CCFC FC 00 00 32 */ fmul f0, f0, f0
+/* 8009FDC0 0009CD00 FC 01 00 32 */ fmul f0, f1, f0
+/* 8009FDC4 0009CD04 FC 03 00 28 */ fsub f0, f3, f0
+/* 8009FDC8 0009CD08 FC 02 00 32 */ fmul f0, f2, f0
+/* 8009FDCC 0009CD0C FC 44 00 32 */ fmul f2, f4, f0
+/* 8009FDD0 0009CD10 FC 00 00 32 */ fmul f0, f0, f0
+/* 8009FDD4 0009CD14 FC 01 00 32 */ fmul f0, f1, f0
+/* 8009FDD8 0009CD18 FC 03 00 28 */ fsub f0, f3, f0
+/* 8009FDDC 0009CD1C FC 02 00 32 */ fmul f0, f2, f0
+/* 8009FDE0 0009CD20 FC 21 00 32 */ fmul f1, f1, f0
+/* 8009FDE4 0009CD24 FC 20 08 18 */ frsp f1, f1
+/* 8009FDE8 0009CD28 48 00 00 88 */ b lbl_8009FE70
+lbl_8009FDEC:
+/* 8009FDEC 0009CD2C C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2)
+/* 8009FDF0 0009CD30 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8009FDF4 0009CD34 40 80 00 10 */ bge lbl_8009FE04
+/* 8009FDF8 0009CD38 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
+/* 8009FDFC 0009CD3C C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
+/* 8009FE00 0009CD40 48 00 00 70 */ b lbl_8009FE70
+lbl_8009FE04:
+/* 8009FE04 0009CD44 D0 21 00 08 */ stfs f1, 8(r1)
+/* 8009FE08 0009CD48 80 81 00 08 */ lwz r4, 8(r1)
+/* 8009FE0C 0009CD4C 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
+/* 8009FE10 0009CD50 3C 00 7F 80 */ lis r0, 0x7f80
+/* 8009FE14 0009CD54 7C 03 00 00 */ cmpw r3, r0
+/* 8009FE18 0009CD58 41 82 00 14 */ beq lbl_8009FE2C
+/* 8009FE1C 0009CD5C 40 80 00 40 */ bge lbl_8009FE5C
+/* 8009FE20 0009CD60 2C 03 00 00 */ cmpwi r3, 0
+/* 8009FE24 0009CD64 41 82 00 20 */ beq lbl_8009FE44
+/* 8009FE28 0009CD68 48 00 00 34 */ b lbl_8009FE5C
+lbl_8009FE2C:
+/* 8009FE2C 0009CD6C 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 8009FE30 0009CD70 41 82 00 0C */ beq lbl_8009FE3C
+/* 8009FE34 0009CD74 38 00 00 01 */ li r0, 1
+/* 8009FE38 0009CD78 48 00 00 28 */ b lbl_8009FE60
+lbl_8009FE3C:
+/* 8009FE3C 0009CD7C 38 00 00 02 */ li r0, 2
+/* 8009FE40 0009CD80 48 00 00 20 */ b lbl_8009FE60
+lbl_8009FE44:
+/* 8009FE44 0009CD84 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 8009FE48 0009CD88 41 82 00 0C */ beq lbl_8009FE54
+/* 8009FE4C 0009CD8C 38 00 00 05 */ li r0, 5
+/* 8009FE50 0009CD90 48 00 00 10 */ b lbl_8009FE60
+lbl_8009FE54:
+/* 8009FE54 0009CD94 38 00 00 03 */ li r0, 3
+/* 8009FE58 0009CD98 48 00 00 08 */ b lbl_8009FE60
+lbl_8009FE5C:
+/* 8009FE5C 0009CD9C 38 00 00 04 */ li r0, 4
+lbl_8009FE60:
+/* 8009FE60 0009CDA0 2C 00 00 01 */ cmpwi r0, 1
+/* 8009FE64 0009CDA4 40 82 00 0C */ bne lbl_8009FE70
+/* 8009FE68 0009CDA8 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
+/* 8009FE6C 0009CDAC C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
+lbl_8009FE70:
+/* 8009FE70 0009CDB0 C0 02 97 00 */ lfs f0, lbl_80453100-_SDA2_BASE_(r2)
+/* 8009FE74 0009CDB4 EC 00 00 72 */ fmuls f0, f0, f1
+/* 8009FE78 0009CDB8 EC 3B 00 2A */ fadds f1, f27, f0
+/* 8009FE7C 0009CDBC C0 02 92 E0 */ lfs f0, lbl_80452CE0-_SDA2_BASE_(r2)
+/* 8009FE80 0009CDC0 EC 41 00 24 */ fdivs f2, f1, f0
+/* 8009FE84 0009CDC4 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2)
+/* 8009FE88 0009CDC8 FC 02 00 40 */ fcmpo cr0, f2, f0
+/* 8009FE8C 0009CDCC 40 81 00 08 */ ble lbl_8009FE94
+/* 8009FE90 0009CDD0 FC 40 00 90 */ fmr f2, f0
+lbl_8009FE94:
+/* 8009FE94 0009CDD4 FC 80 10 90 */ fmr f4, f2
+/* 8009FE98 0009CDD8 2C 1E 00 00 */ cmpwi r30, 0
+/* 8009FE9C 0009CDDC 41 82 00 18 */ beq lbl_8009FEB4
+/* 8009FEA0 0009CDE0 80 1F 05 78 */ lwz r0, 0x578(r31)
+/* 8009FEA4 0009CDE4 54 00 02 D9 */ rlwinm. r0, r0, 0, 0xb, 0xc
+/* 8009FEA8 0009CDE8 40 82 00 0C */ bne lbl_8009FEB4
+/* 8009FEAC 0009CDEC C0 42 96 58 */ lfs f2, lbl_80453058-_SDA2_BASE_(r2)
+/* 8009FEB0 0009CDF0 C0 82 92 B8 */ lfs f4, lbl_80452CB8-_SDA2_BASE_(r2)
+lbl_8009FEB4:
+/* 8009FEB4 0009CDF4 C0 22 95 0C */ lfs f1, lbl_80452F0C-_SDA2_BASE_(r2)
+/* 8009FEB8 0009CDF8 C0 02 97 F4 */ lfs f0, lbl_804531F4-_SDA2_BASE_(r2)
+/* 8009FEBC 0009CDFC EC 00 00 B2 */ fmuls f0, f0, f2
+/* 8009FEC0 0009CE00 EC 01 00 2A */ fadds f0, f1, f0
+/* 8009FEC4 0009CE04 FC 00 00 1E */ fctiwz f0, f0
+/* 8009FEC8 0009CE08 D8 01 00 F8 */ stfd f0, 0xf8(r1)
+/* 8009FECC 0009CE0C 80 81 00 FC */ lwz r4, 0xfc(r1)
+/* 8009FED0 0009CE10 A8 1F 30 64 */ lha r0, 0x3064(r31)
+/* 8009FED4 0009CE14 7C 00 22 14 */ add r0, r0, r4
+/* 8009FED8 0009CE18 B0 1F 30 64 */ sth r0, 0x3064(r31)
+/* 8009FEDC 0009CE1C 39 00 00 00 */ li r8, 0
+/* 8009FEE0 0009CE20 38 60 00 00 */ li r3, 0
+/* 8009FEE4 0009CE24 7C 87 07 34 */ extsh r7, r4
+/* 8009FEE8 0009CE28 3C 80 80 44 */ lis r4, lbl_80439A20@ha
+/* 8009FEEC 0009CE2C 38 C4 9A 20 */ addi r6, r4, lbl_80439A20@l
+/* 8009FEF0 0009CE30 C0 42 94 D4 */ lfs f2, lbl_80452ED4-_SDA2_BASE_(r2)
+/* 8009FEF4 0009CE34 C8 22 92 B0 */ lfd f1, lbl_80452CB0-_SDA2_BASE_(r2)
+/* 8009FEF8 0009CE38 3C A0 43 30 */ lis r5, 0x4330
+/* 8009FEFC 0009CE3C 38 00 00 03 */ li r0, 3
+/* 8009FF00 0009CE40 7C 09 03 A6 */ mtctr r0
+lbl_8009FF04:
+/* 8009FF04 0009CE44 38 08 00 03 */ addi r0, r8, 3
+/* 8009FF08 0009CE48 7C 80 39 D6 */ mullw r4, r0, r7
+/* 8009FF0C 0009CE4C A8 1F 30 64 */ lha r0, 0x3064(r31)
+/* 8009FF10 0009CE50 7C 04 00 50 */ subf r0, r4, r0
+/* 8009FF14 0009CE54 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
+/* 8009FF18 0009CE58 7C 86 02 14 */ add r4, r6, r0
+/* 8009FF1C 0009CE5C C0 64 00 04 */ lfs f3, 4(r4)
+/* 8009FF20 0009CE60 38 08 00 01 */ addi r0, r8, 1
+/* 8009FF24 0009CE64 54 00 10 3A */ slwi r0, r0, 2
+/* 8009FF28 0009CE68 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 8009FF2C 0009CE6C 90 01 00 FC */ stw r0, 0xfc(r1)
+/* 8009FF30 0009CE70 90 A1 00 F8 */ stw r5, 0xf8(r1)
+/* 8009FF34 0009CE74 C8 01 00 F8 */ lfd f0, 0xf8(r1)
+/* 8009FF38 0009CE78 EC 00 08 28 */ fsubs f0, f0, f1
+/* 8009FF3C 0009CE7C EC 02 00 32 */ fmuls f0, f2, f0
+/* 8009FF40 0009CE80 FC 00 00 1E */ fctiwz f0, f0
+/* 8009FF44 0009CE84 D8 01 00 F0 */ stfd f0, 0xf0(r1)
+/* 8009FF48 0009CE88 80 01 00 F4 */ lwz r0, 0xf4(r1)
+/* 8009FF4C 0009CE8C 7C 00 07 34 */ extsh r0, r0
+/* 8009FF50 0009CE90 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 8009FF54 0009CE94 90 01 00 EC */ stw r0, 0xec(r1)
+/* 8009FF58 0009CE98 90 A1 00 E8 */ stw r5, 0xe8(r1)
+/* 8009FF5C 0009CE9C C8 01 00 E8 */ lfd f0, 0xe8(r1)
+/* 8009FF60 0009CEA0 EC 00 08 28 */ fsubs f0, f0, f1
+/* 8009FF64 0009CEA4 EC 04 00 32 */ fmuls f0, f4, f0
+/* 8009FF68 0009CEA8 EC 00 00 F2 */ fmuls f0, f0, f3
+/* 8009FF6C 0009CEAC FC 00 00 1E */ fctiwz f0, f0
+/* 8009FF70 0009CEB0 D8 01 00 E0 */ stfd f0, 0xe0(r1)
+/* 8009FF74 0009CEB4 80 81 00 E4 */ lwz r4, 0xe4(r1)
+/* 8009FF78 0009CEB8 38 03 30 66 */ addi r0, r3, 0x3066
+/* 8009FF7C 0009CEBC 7C 9F 03 2E */ sthx r4, r31, r0
+/* 8009FF80 0009CEC0 39 08 00 01 */ addi r8, r8, 1
+/* 8009FF84 0009CEC4 38 63 00 02 */ addi r3, r3, 2
+/* 8009FF88 0009CEC8 42 00 FF 7C */ bdnz lbl_8009FF04
+/* 8009FF8C 0009CECC C0 01 00 C4 */ lfs f0, 0xc4(r1)
+/* 8009FF90 0009CED0 D0 1F 34 C8 */ stfs f0, 0x34c8(r31)
+/* 8009FF94 0009CED4 C0 01 00 C8 */ lfs f0, 0xc8(r1)
+/* 8009FF98 0009CED8 D0 1F 34 CC */ stfs f0, 0x34cc(r31)
+/* 8009FF9C 0009CEDC C0 01 00 CC */ lfs f0, 0xcc(r1)
+/* 8009FFA0 0009CEE0 D0 1F 34 D0 */ stfs f0, 0x34d0(r31)
+/* 8009FFA4 0009CEE4 7F E3 FB 78 */ mr r3, r31
+/* 8009FFA8 0009CEE8 38 81 00 B8 */ addi r4, r1, 0xb8
+/* 8009FFAC 0009CEEC FC 20 E8 90 */ fmr f1, f29
+/* 8009FFB0 0009CEF0 FC 40 E0 90 */ fmr f2, f28
+/* 8009FFB4 0009CEF4 48 00 00 79 */ bl setHairAngle__9daAlink_cFP4cXyzff
+lbl_8009FFB8:
+/* 8009FFB8 0009CEF8 E3 E1 01 78 */ psq_l f31, 376(r1), 0, 0
+/* 8009FFBC 0009CEFC CB E1 01 70 */ lfd f31, 0x170(r1)
+/* 8009FFC0 0009CF00 E3 C1 01 68 */ psq_l f30, 360(r1), 0, 0
+/* 8009FFC4 0009CF04 CB C1 01 60 */ lfd f30, 0x160(r1)
+/* 8009FFC8 0009CF08 E3 A1 01 58 */ psq_l f29, 344(r1), 0, 0
+/* 8009FFCC 0009CF0C CB A1 01 50 */ lfd f29, 0x150(r1)
+/* 8009FFD0 0009CF10 E3 81 01 48 */ psq_l f28, 328(r1), 0, 0
+/* 8009FFD4 0009CF14 CB 81 01 40 */ lfd f28, 0x140(r1)
+/* 8009FFD8 0009CF18 E3 61 01 38 */ psq_l f27, 312(r1), 0, 0
+/* 8009FFDC 0009CF1C CB 61 01 30 */ lfd f27, 0x130(r1)
+/* 8009FFE0 0009CF20 39 61 01 30 */ addi r11, r1, 0x130
+/* 8009FFE4 0009CF24 48 2C 22 21 */ bl func_80362204
+/* 8009FFE8 0009CF28 80 01 01 84 */ lwz r0, 0x184(r1)
+/* 8009FFEC 0009CF2C 7C 08 03 A6 */ mtlr r0
+/* 8009FFF0 0009CF30 38 21 01 80 */ addi r1, r1, 0x180
+/* 8009FFF4 0009CF34 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_8009FFF8.s b/include/d/d_a/d_a_alink/asm/func_8009FFF8.s
new file mode 100644
index 0000000000..85b94d534b
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_8009FFF8.s
@@ -0,0 +1,13 @@
+/* 8009FFF8 0009CF38 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8009FFFC 0009CF3C 7C 08 02 A6 */ mflr r0
+/* 800A0000 0009CF40 90 01 00 14 */ stw r0, 0x14(r1)
+/* 800A0004 0009CF44 7C 83 23 78 */ mr r3, r4
+/* 800A0008 0009CF48 38 80 00 00 */ li r4, 0
+/* 800A000C 0009CF4C 38 A0 00 05 */ li r5, 5
+/* 800A0010 0009CF50 38 C0 01 90 */ li r6, 0x190
+/* 800A0014 0009CF54 38 E0 00 32 */ li r7, 0x32
+/* 800A0018 0009CF58 48 1D 05 29 */ bl cLib_addCalcAngleS
+/* 800A001C 0009CF5C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 800A0020 0009CF60 7C 08 03 A6 */ mtlr r0
+/* 800A0024 0009CF64 38 21 00 10 */ addi r1, r1, 0x10
+/* 800A0028 0009CF68 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_800A002C.s b/include/d/d_a/d_a_alink/asm/func_800A002C.s
new file mode 100644
index 0000000000..208a5356a4
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_800A002C.s
@@ -0,0 +1,482 @@
+/* 800A002C 0009CF6C 94 21 FF 60 */ stwu r1, -0xa0(r1)
+/* 800A0030 0009CF70 7C 08 02 A6 */ mflr r0
+/* 800A0034 0009CF74 90 01 00 A4 */ stw r0, 0xa4(r1)
+/* 800A0038 0009CF78 DB E1 00 90 */ stfd f31, 0x90(r1)
+/* 800A003C 0009CF7C F3 E1 00 98 */ psq_st f31, 152(r1), 0, 0
+/* 800A0040 0009CF80 DB C1 00 80 */ stfd f30, 0x80(r1)
+/* 800A0044 0009CF84 F3 C1 00 88 */ psq_st f30, 136(r1), 0, 0
+/* 800A0048 0009CF88 DB A1 00 70 */ stfd f29, 0x70(r1)
+/* 800A004C 0009CF8C F3 A1 00 78 */ psq_st f29, 120(r1), 0, 0
+/* 800A0050 0009CF90 DB 81 00 60 */ stfd f28, 0x60(r1)
+/* 800A0054 0009CF94 F3 81 00 68 */ psq_st f28, 104(r1), 0, 0
+/* 800A0058 0009CF98 DB 61 00 50 */ stfd f27, 0x50(r1)
+/* 800A005C 0009CF9C F3 61 00 58 */ psq_st f27, 88(r1), 0, 0
+/* 800A0060 0009CFA0 93 E1 00 4C */ stw r31, 0x4c(r1)
+/* 800A0064 0009CFA4 93 C1 00 48 */ stw r30, 0x48(r1)
+/* 800A0068 0009CFA8 7C 7E 1B 78 */ mr r30, r3
+/* 800A006C 0009CFAC 7C 9F 23 78 */ mr r31, r4
+/* 800A0070 0009CFB0 FF 80 08 90 */ fmr f28, f1
+/* 800A0074 0009CFB4 FF A0 10 90 */ fmr f29, f2
+/* 800A0078 0009CFB8 7F E3 FB 78 */ mr r3, r31
+/* 800A007C 0009CFBC 48 2A 70 BD */ bl PSVECSquareMag
+/* 800A0080 0009CFC0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 800A0084 0009CFC4 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 800A0088 0009CFC8 40 81 00 58 */ ble lbl_800A00E0
+/* 800A008C 0009CFCC FC 00 08 34 */ frsqrte f0, f1
+/* 800A0090 0009CFD0 C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2)
+/* 800A0094 0009CFD4 FC 44 00 32 */ fmul f2, f4, f0
+/* 800A0098 0009CFD8 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2)
+/* 800A009C 0009CFDC FC 00 00 32 */ fmul f0, f0, f0
+/* 800A00A0 0009CFE0 FC 01 00 32 */ fmul f0, f1, f0
+/* 800A00A4 0009CFE4 FC 03 00 28 */ fsub f0, f3, f0
+/* 800A00A8 0009CFE8 FC 02 00 32 */ fmul f0, f2, f0
+/* 800A00AC 0009CFEC FC 44 00 32 */ fmul f2, f4, f0
+/* 800A00B0 0009CFF0 FC 00 00 32 */ fmul f0, f0, f0
+/* 800A00B4 0009CFF4 FC 01 00 32 */ fmul f0, f1, f0
+/* 800A00B8 0009CFF8 FC 03 00 28 */ fsub f0, f3, f0
+/* 800A00BC 0009CFFC FC 02 00 32 */ fmul f0, f2, f0
+/* 800A00C0 0009D000 FC 44 00 32 */ fmul f2, f4, f0
+/* 800A00C4 0009D004 FC 00 00 32 */ fmul f0, f0, f0
+/* 800A00C8 0009D008 FC 01 00 32 */ fmul f0, f1, f0
+/* 800A00CC 0009D00C FC 03 00 28 */ fsub f0, f3, f0
+/* 800A00D0 0009D010 FC 02 00 32 */ fmul f0, f2, f0
+/* 800A00D4 0009D014 FF E1 00 32 */ fmul f31, f1, f0
+/* 800A00D8 0009D018 FF E0 F8 18 */ frsp f31, f31
+/* 800A00DC 0009D01C 48 00 00 90 */ b lbl_800A016C
+lbl_800A00E0:
+/* 800A00E0 0009D020 C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2)
+/* 800A00E4 0009D024 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 800A00E8 0009D028 40 80 00 10 */ bge lbl_800A00F8
+/* 800A00EC 0009D02C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
+/* 800A00F0 0009D030 C3 E3 0A E0 */ lfs f31, lbl_80450AE0@l(r3)
+/* 800A00F4 0009D034 48 00 00 78 */ b lbl_800A016C
+lbl_800A00F8:
+/* 800A00F8 0009D038 D0 21 00 0C */ stfs f1, 0xc(r1)
+/* 800A00FC 0009D03C 80 81 00 0C */ lwz r4, 0xc(r1)
+/* 800A0100 0009D040 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
+/* 800A0104 0009D044 3C 00 7F 80 */ lis r0, 0x7f80
+/* 800A0108 0009D048 7C 03 00 00 */ cmpw r3, r0
+/* 800A010C 0009D04C 41 82 00 14 */ beq lbl_800A0120
+/* 800A0110 0009D050 40 80 00 40 */ bge lbl_800A0150
+/* 800A0114 0009D054 2C 03 00 00 */ cmpwi r3, 0
+/* 800A0118 0009D058 41 82 00 20 */ beq lbl_800A0138
+/* 800A011C 0009D05C 48 00 00 34 */ b lbl_800A0150
+lbl_800A0120:
+/* 800A0120 0009D060 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 800A0124 0009D064 41 82 00 0C */ beq lbl_800A0130
+/* 800A0128 0009D068 38 00 00 01 */ li r0, 1
+/* 800A012C 0009D06C 48 00 00 28 */ b lbl_800A0154
+lbl_800A0130:
+/* 800A0130 0009D070 38 00 00 02 */ li r0, 2
+/* 800A0134 0009D074 48 00 00 20 */ b lbl_800A0154
+lbl_800A0138:
+/* 800A0138 0009D078 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 800A013C 0009D07C 41 82 00 0C */ beq lbl_800A0148
+/* 800A0140 0009D080 38 00 00 05 */ li r0, 5
+/* 800A0144 0009D084 48 00 00 10 */ b lbl_800A0154
+lbl_800A0148:
+/* 800A0148 0009D088 38 00 00 03 */ li r0, 3
+/* 800A014C 0009D08C 48 00 00 08 */ b lbl_800A0154
+lbl_800A0150:
+/* 800A0150 0009D090 38 00 00 04 */ li r0, 4
+lbl_800A0154:
+/* 800A0154 0009D094 2C 00 00 01 */ cmpwi r0, 1
+/* 800A0158 0009D098 40 82 00 10 */ bne lbl_800A0168
+/* 800A015C 0009D09C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
+/* 800A0160 0009D0A0 C3 E3 0A E0 */ lfs f31, lbl_80450AE0@l(r3)
+/* 800A0164 0009D0A4 48 00 00 08 */ b lbl_800A016C
+lbl_800A0168:
+/* 800A0168 0009D0A8 FF E0 08 90 */ fmr f31, f1
+lbl_800A016C:
+/* 800A016C 0009D0AC C0 3F 00 08 */ lfs f1, 8(r31)
+/* 800A0170 0009D0B0 C0 1F 00 00 */ lfs f0, 0(r31)
+/* 800A0174 0009D0B4 D0 01 00 10 */ stfs f0, 0x10(r1)
+/* 800A0178 0009D0B8 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 800A017C 0009D0BC D0 01 00 14 */ stfs f0, 0x14(r1)
+/* 800A0180 0009D0C0 D0 21 00 18 */ stfs f1, 0x18(r1)
+/* 800A0184 0009D0C4 38 61 00 10 */ addi r3, r1, 0x10
+/* 800A0188 0009D0C8 48 2A 6F B1 */ bl PSVECSquareMag
+/* 800A018C 0009D0CC C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 800A0190 0009D0D0 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 800A0194 0009D0D4 40 81 00 58 */ ble lbl_800A01EC
+/* 800A0198 0009D0D8 FC 00 08 34 */ frsqrte f0, f1
+/* 800A019C 0009D0DC C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2)
+/* 800A01A0 0009D0E0 FC 44 00 32 */ fmul f2, f4, f0
+/* 800A01A4 0009D0E4 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2)
+/* 800A01A8 0009D0E8 FC 00 00 32 */ fmul f0, f0, f0
+/* 800A01AC 0009D0EC FC 01 00 32 */ fmul f0, f1, f0
+/* 800A01B0 0009D0F0 FC 03 00 28 */ fsub f0, f3, f0
+/* 800A01B4 0009D0F4 FC 02 00 32 */ fmul f0, f2, f0
+/* 800A01B8 0009D0F8 FC 44 00 32 */ fmul f2, f4, f0
+/* 800A01BC 0009D0FC FC 00 00 32 */ fmul f0, f0, f0
+/* 800A01C0 0009D100 FC 01 00 32 */ fmul f0, f1, f0
+/* 800A01C4 0009D104 FC 03 00 28 */ fsub f0, f3, f0
+/* 800A01C8 0009D108 FC 02 00 32 */ fmul f0, f2, f0
+/* 800A01CC 0009D10C FC 44 00 32 */ fmul f2, f4, f0
+/* 800A01D0 0009D110 FC 00 00 32 */ fmul f0, f0, f0
+/* 800A01D4 0009D114 FC 01 00 32 */ fmul f0, f1, f0
+/* 800A01D8 0009D118 FC 03 00 28 */ fsub f0, f3, f0
+/* 800A01DC 0009D11C FC 02 00 32 */ fmul f0, f2, f0
+/* 800A01E0 0009D120 FF C1 00 32 */ fmul f30, f1, f0
+/* 800A01E4 0009D124 FF C0 F0 18 */ frsp f30, f30
+/* 800A01E8 0009D128 48 00 00 90 */ b lbl_800A0278
+lbl_800A01EC:
+/* 800A01EC 0009D12C C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2)
+/* 800A01F0 0009D130 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 800A01F4 0009D134 40 80 00 10 */ bge lbl_800A0204
+/* 800A01F8 0009D138 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
+/* 800A01FC 0009D13C C3 C3 0A E0 */ lfs f30, lbl_80450AE0@l(r3)
+/* 800A0200 0009D140 48 00 00 78 */ b lbl_800A0278
+lbl_800A0204:
+/* 800A0204 0009D144 D0 21 00 08 */ stfs f1, 8(r1)
+/* 800A0208 0009D148 80 81 00 08 */ lwz r4, 8(r1)
+/* 800A020C 0009D14C 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
+/* 800A0210 0009D150 3C 00 7F 80 */ lis r0, 0x7f80
+/* 800A0214 0009D154 7C 03 00 00 */ cmpw r3, r0
+/* 800A0218 0009D158 41 82 00 14 */ beq lbl_800A022C
+/* 800A021C 0009D15C 40 80 00 40 */ bge lbl_800A025C
+/* 800A0220 0009D160 2C 03 00 00 */ cmpwi r3, 0
+/* 800A0224 0009D164 41 82 00 20 */ beq lbl_800A0244
+/* 800A0228 0009D168 48 00 00 34 */ b lbl_800A025C
+lbl_800A022C:
+/* 800A022C 0009D16C 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 800A0230 0009D170 41 82 00 0C */ beq lbl_800A023C
+/* 800A0234 0009D174 38 00 00 01 */ li r0, 1
+/* 800A0238 0009D178 48 00 00 28 */ b lbl_800A0260
+lbl_800A023C:
+/* 800A023C 0009D17C 38 00 00 02 */ li r0, 2
+/* 800A0240 0009D180 48 00 00 20 */ b lbl_800A0260
+lbl_800A0244:
+/* 800A0244 0009D184 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 800A0248 0009D188 41 82 00 0C */ beq lbl_800A0254
+/* 800A024C 0009D18C 38 00 00 05 */ li r0, 5
+/* 800A0250 0009D190 48 00 00 10 */ b lbl_800A0260
+lbl_800A0254:
+/* 800A0254 0009D194 38 00 00 03 */ li r0, 3
+/* 800A0258 0009D198 48 00 00 08 */ b lbl_800A0260
+lbl_800A025C:
+/* 800A025C 0009D19C 38 00 00 04 */ li r0, 4
+lbl_800A0260:
+/* 800A0260 0009D1A0 2C 00 00 01 */ cmpwi r0, 1
+/* 800A0264 0009D1A4 40 82 00 10 */ bne lbl_800A0274
+/* 800A0268 0009D1A8 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
+/* 800A026C 0009D1AC C3 C3 0A E0 */ lfs f30, lbl_80450AE0@l(r3)
+/* 800A0270 0009D1B0 48 00 00 08 */ b lbl_800A0278
+lbl_800A0274:
+/* 800A0274 0009D1B4 FF C0 08 90 */ fmr f30, f1
+lbl_800A0278:
+/* 800A0278 0009D1B8 C0 22 92 B8 */ lfs f1, lbl_80452CB8-_SDA2_BASE_(r2)
+/* 800A027C 0009D1BC FC 1F 08 40 */ fcmpo cr0, f31, f1
+/* 800A0280 0009D1C0 41 80 00 0C */ blt lbl_800A028C
+/* 800A0284 0009D1C4 FC 1E 08 40 */ fcmpo cr0, f30, f1
+/* 800A0288 0009D1C8 40 80 00 94 */ bge lbl_800A031C
+lbl_800A028C:
+/* 800A028C 0009D1CC 7F C3 F3 78 */ mr r3, r30
+/* 800A0290 0009D1D0 38 9E 30 2E */ addi r4, r30, 0x302e
+/* 800A0294 0009D1D4 4B FF FD 65 */ bl calcHairAngle__9daAlink_cFPs
+/* 800A0298 0009D1D8 7F C3 F3 78 */ mr r3, r30
+/* 800A029C 0009D1DC 38 9E 30 42 */ addi r4, r30, 0x3042
+/* 800A02A0 0009D1E0 4B FF FD 59 */ bl calcHairAngle__9daAlink_cFPs
+/* 800A02A4 0009D1E4 7F C3 F3 78 */ mr r3, r30
+/* 800A02A8 0009D1E8 38 9E 30 30 */ addi r4, r30, 0x3030
+/* 800A02AC 0009D1EC 4B FF FD 4D */ bl calcHairAngle__9daAlink_cFPs
+/* 800A02B0 0009D1F0 7F C3 F3 78 */ mr r3, r30
+/* 800A02B4 0009D1F4 38 9E 30 44 */ addi r4, r30, 0x3044
+/* 800A02B8 0009D1F8 4B FF FD 41 */ bl calcHairAngle__9daAlink_cFPs
+/* 800A02BC 0009D1FC 7F C3 F3 78 */ mr r3, r30
+/* 800A02C0 0009D200 38 9E 30 32 */ addi r4, r30, 0x3032
+/* 800A02C4 0009D204 4B FF FD 35 */ bl calcHairAngle__9daAlink_cFPs
+/* 800A02C8 0009D208 7F C3 F3 78 */ mr r3, r30
+/* 800A02CC 0009D20C 38 9E 30 46 */ addi r4, r30, 0x3046
+/* 800A02D0 0009D210 4B FF FD 29 */ bl calcHairAngle__9daAlink_cFPs
+/* 800A02D4 0009D214 7F C3 F3 78 */ mr r3, r30
+/* 800A02D8 0009D218 38 9E 30 34 */ addi r4, r30, 0x3034
+/* 800A02DC 0009D21C 4B FF FD 1D */ bl calcHairAngle__9daAlink_cFPs
+/* 800A02E0 0009D220 7F C3 F3 78 */ mr r3, r30
+/* 800A02E4 0009D224 38 9E 30 48 */ addi r4, r30, 0x3048
+/* 800A02E8 0009D228 4B FF FD 11 */ bl calcHairAngle__9daAlink_cFPs
+/* 800A02EC 0009D22C 7F C3 F3 78 */ mr r3, r30
+/* 800A02F0 0009D230 38 9E 30 36 */ addi r4, r30, 0x3036
+/* 800A02F4 0009D234 4B FF FD 05 */ bl calcHairAngle__9daAlink_cFPs
+/* 800A02F8 0009D238 7F C3 F3 78 */ mr r3, r30
+/* 800A02FC 0009D23C 38 9E 30 4A */ addi r4, r30, 0x304a
+/* 800A0300 0009D240 4B FF FC F9 */ bl calcHairAngle__9daAlink_cFPs
+/* 800A0304 0009D244 38 00 80 00 */ li r0, -32768
+/* 800A0308 0009D248 B0 1E 30 70 */ sth r0, 0x3070(r30)
+/* 800A030C 0009D24C B0 1E 30 72 */ sth r0, 0x3072(r30)
+/* 800A0310 0009D250 B0 1E 30 74 */ sth r0, 0x3074(r30)
+/* 800A0314 0009D254 B0 1E 30 76 */ sth r0, 0x3076(r30)
+/* 800A0318 0009D258 48 00 03 EC */ b lbl_800A0704
+lbl_800A031C:
+/* 800A031C 0009D25C C0 02 97 F8 */ lfs f0, lbl_804531F8-_SDA2_BASE_(r2)
+/* 800A0320 0009D260 EC 5F 00 32 */ fmuls f2, f31, f0
+/* 800A0324 0009D264 FC 02 08 40 */ fcmpo cr0, f2, f1
+/* 800A0328 0009D268 40 81 00 08 */ ble lbl_800A0330
+/* 800A032C 0009D26C FC 40 08 90 */ fmr f2, f1
+lbl_800A0330:
+/* 800A0330 0009D270 C0 22 93 EC */ lfs f1, lbl_80452DEC-_SDA2_BASE_(r2)
+/* 800A0334 0009D274 C0 02 95 DC */ lfs f0, lbl_80452FDC-_SDA2_BASE_(r2)
+/* 800A0338 0009D278 EC 00 00 B2 */ fmuls f0, f0, f2
+/* 800A033C 0009D27C EF E1 00 2A */ fadds f31, f1, f0
+/* 800A0340 0009D280 C0 22 93 B8 */ lfs f1, lbl_80452DB8-_SDA2_BASE_(r2)
+/* 800A0344 0009D284 48 1C 76 11 */ bl cM_rndF
+/* 800A0348 0009D288 C0 02 95 08 */ lfs f0, lbl_80452F08-_SDA2_BASE_(r2)
+/* 800A034C 0009D28C EC 00 08 2A */ fadds f0, f0, f1
+/* 800A0350 0009D290 EF 7F 00 32 */ fmuls f27, f31, f0
+/* 800A0354 0009D294 C0 22 93 18 */ lfs f1, lbl_80452D18-_SDA2_BASE_(r2)
+/* 800A0358 0009D298 48 1C 75 FD */ bl cM_rndF
+/* 800A035C 0009D29C C0 42 93 B8 */ lfs f2, lbl_80452DB8-_SDA2_BASE_(r2)
+/* 800A0360 0009D2A0 EC 02 08 2A */ fadds f0, f2, f1
+/* 800A0364 0009D2A4 EC 00 D8 2A */ fadds f0, f0, f27
+/* 800A0368 0009D2A8 FC 00 00 1E */ fctiwz f0, f0
+/* 800A036C 0009D2AC D8 01 00 20 */ stfd f0, 0x20(r1)
+/* 800A0370 0009D2B0 80 61 00 24 */ lwz r3, 0x24(r1)
+/* 800A0374 0009D2B4 A8 1E 30 70 */ lha r0, 0x3070(r30)
+/* 800A0378 0009D2B8 7C 00 1A 14 */ add r0, r0, r3
+/* 800A037C 0009D2BC B0 1E 30 70 */ sth r0, 0x3070(r30)
+/* 800A0380 0009D2C0 FC 20 10 90 */ fmr f1, f2
+/* 800A0384 0009D2C4 48 1C 75 D1 */ bl cM_rndF
+/* 800A0388 0009D2C8 C0 02 95 08 */ lfs f0, lbl_80452F08-_SDA2_BASE_(r2)
+/* 800A038C 0009D2CC EC 00 08 2A */ fadds f0, f0, f1
+/* 800A0390 0009D2D0 EF 7F 00 32 */ fmuls f27, f31, f0
+/* 800A0394 0009D2D4 C0 22 93 18 */ lfs f1, lbl_80452D18-_SDA2_BASE_(r2)
+/* 800A0398 0009D2D8 48 1C 75 BD */ bl cM_rndF
+/* 800A039C 0009D2DC C0 02 93 B8 */ lfs f0, lbl_80452DB8-_SDA2_BASE_(r2)
+/* 800A03A0 0009D2E0 EC 00 08 2A */ fadds f0, f0, f1
+/* 800A03A4 0009D2E4 EC 00 D8 2A */ fadds f0, f0, f27
+/* 800A03A8 0009D2E8 FC 00 00 1E */ fctiwz f0, f0
+/* 800A03AC 0009D2EC D8 01 00 28 */ stfd f0, 0x28(r1)
+/* 800A03B0 0009D2F0 80 61 00 2C */ lwz r3, 0x2c(r1)
+/* 800A03B4 0009D2F4 A8 1E 30 72 */ lha r0, 0x3072(r30)
+/* 800A03B8 0009D2F8 7C 00 1A 14 */ add r0, r0, r3
+/* 800A03BC 0009D2FC B0 1E 30 72 */ sth r0, 0x3072(r30)
+/* 800A03C0 0009D300 C0 22 95 0C */ lfs f1, lbl_80452F0C-_SDA2_BASE_(r2)
+/* 800A03C4 0009D304 48 1C 75 91 */ bl cM_rndF
+/* 800A03C8 0009D308 C0 02 94 60 */ lfs f0, lbl_80452E60-_SDA2_BASE_(r2)
+/* 800A03CC 0009D30C EC 00 08 2A */ fadds f0, f0, f1
+/* 800A03D0 0009D310 EF 7F 00 32 */ fmuls f27, f31, f0
+/* 800A03D4 0009D314 C0 22 93 18 */ lfs f1, lbl_80452D18-_SDA2_BASE_(r2)
+/* 800A03D8 0009D318 48 1C 75 7D */ bl cM_rndF
+/* 800A03DC 0009D31C C0 02 93 B8 */ lfs f0, lbl_80452DB8-_SDA2_BASE_(r2)
+/* 800A03E0 0009D320 EC 00 08 2A */ fadds f0, f0, f1
+/* 800A03E4 0009D324 EC 00 D8 2A */ fadds f0, f0, f27
+/* 800A03E8 0009D328 FC 00 00 1E */ fctiwz f0, f0
+/* 800A03EC 0009D32C D8 01 00 30 */ stfd f0, 0x30(r1)
+/* 800A03F0 0009D330 80 61 00 34 */ lwz r3, 0x34(r1)
+/* 800A03F4 0009D334 A8 1E 30 74 */ lha r0, 0x3074(r30)
+/* 800A03F8 0009D338 7C 00 1A 14 */ add r0, r0, r3
+/* 800A03FC 0009D33C B0 1E 30 74 */ sth r0, 0x3074(r30)
+/* 800A0400 0009D340 C0 22 95 0C */ lfs f1, lbl_80452F0C-_SDA2_BASE_(r2)
+/* 800A0404 0009D344 48 1C 75 51 */ bl cM_rndF
+/* 800A0408 0009D348 C0 02 94 60 */ lfs f0, lbl_80452E60-_SDA2_BASE_(r2)
+/* 800A040C 0009D34C EC 00 08 2A */ fadds f0, f0, f1
+/* 800A0410 0009D350 EF 7F 00 32 */ fmuls f27, f31, f0
+/* 800A0414 0009D354 C0 22 93 18 */ lfs f1, lbl_80452D18-_SDA2_BASE_(r2)
+/* 800A0418 0009D358 48 1C 75 3D */ bl cM_rndF
+/* 800A041C 0009D35C C0 02 93 B8 */ lfs f0, lbl_80452DB8-_SDA2_BASE_(r2)
+/* 800A0420 0009D360 EC 00 08 2A */ fadds f0, f0, f1
+/* 800A0424 0009D364 EC 00 D8 2A */ fadds f0, f0, f27
+/* 800A0428 0009D368 FC 00 00 1E */ fctiwz f0, f0
+/* 800A042C 0009D36C D8 01 00 38 */ stfd f0, 0x38(r1)
+/* 800A0430 0009D370 80 61 00 3C */ lwz r3, 0x3c(r1)
+/* 800A0434 0009D374 A8 1E 30 76 */ lha r0, 0x3076(r30)
+/* 800A0438 0009D378 7C 00 1A 14 */ add r0, r0, r3
+/* 800A043C 0009D37C B0 1E 30 76 */ sth r0, 0x3076(r30)
+/* 800A0440 0009D380 C0 A2 92 B8 */ lfs f5, lbl_80452CB8-_SDA2_BASE_(r2)
+/* 800A0444 0009D384 EC 25 F0 24 */ fdivs f1, f5, f30
+/* 800A0448 0009D388 C0 1F 00 00 */ lfs f0, 0(r31)
+/* 800A044C 0009D38C EC 00 00 72 */ fmuls f0, f0, f1
+/* 800A0450 0009D390 D0 1F 00 00 */ stfs f0, 0(r31)
+/* 800A0454 0009D394 C0 1F 00 08 */ lfs f0, 8(r31)
+/* 800A0458 0009D398 EC 00 00 72 */ fmuls f0, f0, f1
+/* 800A045C 0009D39C D0 1F 00 08 */ stfs f0, 8(r31)
+/* 800A0460 0009D3A0 C0 5F 00 00 */ lfs f2, 0(r31)
+/* 800A0464 0009D3A4 EC 22 07 72 */ fmuls f1, f2, f29
+/* 800A0468 0009D3A8 C0 7F 00 08 */ lfs f3, 8(r31)
+/* 800A046C 0009D3AC EC 03 07 32 */ fmuls f0, f3, f28
+/* 800A0470 0009D3B0 EC 01 00 28 */ fsubs f0, f1, f0
+/* 800A0474 0009D3B4 EC 42 07 32 */ fmuls f2, f2, f28
+/* 800A0478 0009D3B8 EC 23 07 72 */ fmuls f1, f3, f29
+/* 800A047C 0009D3BC EC 22 08 2A */ fadds f1, f2, f1
+/* 800A0480 0009D3C0 3C 60 80 44 */ lis r3, lbl_80439A20@ha
+/* 800A0484 0009D3C4 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l
+/* 800A0488 0009D3C8 38 63 00 04 */ addi r3, r3, 4
+/* 800A048C 0009D3CC A8 1E 30 70 */ lha r0, 0x3070(r30)
+/* 800A0490 0009D3D0 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 800A0494 0009D3D4 7C 00 1E 70 */ srawi r0, r0, 3
+/* 800A0498 0009D3D8 54 00 18 38 */ slwi r0, r0, 3
+/* 800A049C 0009D3DC 7C 43 04 2E */ lfsx f2, r3, r0
+/* 800A04A0 0009D3E0 C0 C2 92 98 */ lfs f6, lbl_80452C98-_SDA2_BASE_(r2)
+/* 800A04A4 0009D3E4 EC 45 10 2A */ fadds f2, f5, f2
+/* 800A04A8 0009D3E8 EC 46 00 B2 */ fmuls f2, f6, f2
+/* 800A04AC 0009D3EC EC 5F 00 B2 */ fmuls f2, f31, f2
+/* 800A04B0 0009D3F0 A8 1E 30 72 */ lha r0, 0x3072(r30)
+/* 800A04B4 0009D3F4 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
+/* 800A04B8 0009D3F8 7C 63 04 2E */ lfsx f3, r3, r0
+/* 800A04BC 0009D3FC EC 65 18 2A */ fadds f3, f5, f3
+/* 800A04C0 0009D400 EC 66 00 F2 */ fmuls f3, f6, f3
+/* 800A04C4 0009D404 EC 7F 00 F2 */ fmuls f3, f31, f3
+/* 800A04C8 0009D408 A8 1E 30 74 */ lha r0, 0x3074(r30)
+/* 800A04CC 0009D40C 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
+/* 800A04D0 0009D410 7C 83 04 2E */ lfsx f4, r3, r0
+/* 800A04D4 0009D414 EC 85 20 2A */ fadds f4, f5, f4
+/* 800A04D8 0009D418 EC 86 01 32 */ fmuls f4, f6, f4
+/* 800A04DC 0009D41C EC 9F 01 32 */ fmuls f4, f31, f4
+/* 800A04E0 0009D420 A8 1E 30 76 */ lha r0, 0x3076(r30)
+/* 800A04E4 0009D424 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
+/* 800A04E8 0009D428 7C E3 04 2E */ lfsx f7, r3, r0
+/* 800A04EC 0009D42C EC A5 38 2A */ fadds f5, f5, f7
+/* 800A04F0 0009D430 EC A6 01 72 */ fmuls f5, f6, f5
+/* 800A04F4 0009D434 EC BF 01 72 */ fmuls f5, f31, f5
+/* 800A04F8 0009D438 C0 C2 92 C0 */ lfs f6, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 800A04FC 0009D43C FC 00 30 40 */ fcmpo cr0, f0, f6
+/* 800A0500 0009D440 40 81 00 94 */ ble lbl_800A0594
+/* 800A0504 0009D444 C0 C2 97 FC */ lfs f6, lbl_804531FC-_SDA2_BASE_(r2)
+/* 800A0508 0009D448 EC C6 00 B2 */ fmuls f6, f6, f2
+/* 800A050C 0009D44C EC C6 00 32 */ fmuls f6, f6, f0
+/* 800A0510 0009D450 FC C0 30 1E */ fctiwz f6, f6
+/* 800A0514 0009D454 D8 C1 00 38 */ stfd f6, 0x38(r1)
+/* 800A0518 0009D458 80 01 00 3C */ lwz r0, 0x3c(r1)
+/* 800A051C 0009D45C B0 1E 30 42 */ sth r0, 0x3042(r30)
+/* 800A0520 0009D460 C0 C2 98 00 */ lfs f6, lbl_80453200-_SDA2_BASE_(r2)
+/* 800A0524 0009D464 EC C6 00 B2 */ fmuls f6, f6, f2
+/* 800A0528 0009D468 EC C6 00 32 */ fmuls f6, f6, f0
+/* 800A052C 0009D46C FC C0 30 1E */ fctiwz f6, f6
+/* 800A0530 0009D470 D8 C1 00 30 */ stfd f6, 0x30(r1)
+/* 800A0534 0009D474 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 800A0538 0009D478 B0 1E 30 44 */ sth r0, 0x3044(r30)
+/* 800A053C 0009D47C C0 C2 94 4C */ lfs f6, lbl_80452E4C-_SDA2_BASE_(r2)
+/* 800A0540 0009D480 EC C6 00 F2 */ fmuls f6, f6, f3
+/* 800A0544 0009D484 EC C6 00 32 */ fmuls f6, f6, f0
+/* 800A0548 0009D488 FC C0 30 1E */ fctiwz f6, f6
+/* 800A054C 0009D48C D8 C1 00 28 */ stfd f6, 0x28(r1)
+/* 800A0550 0009D490 80 01 00 2C */ lwz r0, 0x2c(r1)
+/* 800A0554 0009D494 B0 1E 30 46 */ sth r0, 0x3046(r30)
+/* 800A0558 0009D498 C0 C2 98 04 */ lfs f6, lbl_80453204-_SDA2_BASE_(r2)
+/* 800A055C 0009D49C EC C6 01 32 */ fmuls f6, f6, f4
+/* 800A0560 0009D4A0 EC C6 00 32 */ fmuls f6, f6, f0
+/* 800A0564 0009D4A4 FC C0 30 1E */ fctiwz f6, f6
+/* 800A0568 0009D4A8 D8 C1 00 20 */ stfd f6, 0x20(r1)
+/* 800A056C 0009D4AC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 800A0570 0009D4B0 B0 1E 30 48 */ sth r0, 0x3048(r30)
+/* 800A0574 0009D4B4 C0 C2 94 54 */ lfs f6, lbl_80452E54-_SDA2_BASE_(r2)
+/* 800A0578 0009D4B8 EC C6 01 72 */ fmuls f6, f6, f5
+/* 800A057C 0009D4BC EC 06 00 32 */ fmuls f0, f6, f0
+/* 800A0580 0009D4C0 FC 00 00 1E */ fctiwz f0, f0
+/* 800A0584 0009D4C4 D8 01 00 40 */ stfd f0, 0x40(r1)
+/* 800A0588 0009D4C8 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 800A058C 0009D4CC B0 1E 30 4A */ sth r0, 0x304a(r30)
+/* 800A0590 0009D4D0 48 00 00 90 */ b lbl_800A0620
+lbl_800A0594:
+/* 800A0594 0009D4D4 C0 C2 93 5C */ lfs f6, lbl_80452D5C-_SDA2_BASE_(r2)
+/* 800A0598 0009D4D8 EC C6 00 B2 */ fmuls f6, f6, f2
+/* 800A059C 0009D4DC EC C6 00 32 */ fmuls f6, f6, f0
+/* 800A05A0 0009D4E0 FC C0 30 1E */ fctiwz f6, f6
+/* 800A05A4 0009D4E4 D8 C1 00 40 */ stfd f6, 0x40(r1)
+/* 800A05A8 0009D4E8 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 800A05AC 0009D4EC B0 1E 30 42 */ sth r0, 0x3042(r30)
+/* 800A05B0 0009D4F0 C0 C2 94 4C */ lfs f6, lbl_80452E4C-_SDA2_BASE_(r2)
+/* 800A05B4 0009D4F4 EC C6 00 B2 */ fmuls f6, f6, f2
+/* 800A05B8 0009D4F8 EC C6 00 32 */ fmuls f6, f6, f0
+/* 800A05BC 0009D4FC FC C0 30 1E */ fctiwz f6, f6
+/* 800A05C0 0009D500 D8 C1 00 38 */ stfd f6, 0x38(r1)
+/* 800A05C4 0009D504 80 01 00 3C */ lwz r0, 0x3c(r1)
+/* 800A05C8 0009D508 B0 1E 30 44 */ sth r0, 0x3044(r30)
+/* 800A05CC 0009D50C C0 C2 98 00 */ lfs f6, lbl_80453200-_SDA2_BASE_(r2)
+/* 800A05D0 0009D510 EC C6 00 F2 */ fmuls f6, f6, f3
+/* 800A05D4 0009D514 EC C6 00 32 */ fmuls f6, f6, f0
+/* 800A05D8 0009D518 FC C0 30 1E */ fctiwz f6, f6
+/* 800A05DC 0009D51C D8 C1 00 30 */ stfd f6, 0x30(r1)
+/* 800A05E0 0009D520 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 800A05E4 0009D524 B0 1E 30 46 */ sth r0, 0x3046(r30)
+/* 800A05E8 0009D528 C0 C2 94 54 */ lfs f6, lbl_80452E54-_SDA2_BASE_(r2)
+/* 800A05EC 0009D52C EC C6 01 32 */ fmuls f6, f6, f4
+/* 800A05F0 0009D530 EC C6 00 32 */ fmuls f6, f6, f0
+/* 800A05F4 0009D534 FC C0 30 1E */ fctiwz f6, f6
+/* 800A05F8 0009D538 D8 C1 00 28 */ stfd f6, 0x28(r1)
+/* 800A05FC 0009D53C 80 01 00 2C */ lwz r0, 0x2c(r1)
+/* 800A0600 0009D540 B0 1E 30 48 */ sth r0, 0x3048(r30)
+/* 800A0604 0009D544 C0 C2 98 04 */ lfs f6, lbl_80453204-_SDA2_BASE_(r2)
+/* 800A0608 0009D548 EC C6 01 72 */ fmuls f6, f6, f5
+/* 800A060C 0009D54C EC 06 00 32 */ fmuls f0, f6, f0
+/* 800A0610 0009D550 FC 00 00 1E */ fctiwz f0, f0
+/* 800A0614 0009D554 D8 01 00 20 */ stfd f0, 0x20(r1)
+/* 800A0618 0009D558 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 800A061C 0009D55C B0 1E 30 4A */ sth r0, 0x304a(r30)
+lbl_800A0620:
+/* 800A0620 0009D560 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 800A0624 0009D564 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 800A0628 0009D568 40 81 00 58 */ ble lbl_800A0680
+/* 800A062C 0009D56C C0 02 98 08 */ lfs f0, lbl_80453208-_SDA2_BASE_(r2)
+/* 800A0630 0009D570 EC 00 00 B2 */ fmuls f0, f0, f2
+/* 800A0634 0009D574 EC 00 00 72 */ fmuls f0, f0, f1
+/* 800A0638 0009D578 FC 00 00 1E */ fctiwz f0, f0
+/* 800A063C 0009D57C D8 01 00 40 */ stfd f0, 0x40(r1)
+/* 800A0640 0009D580 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 800A0644 0009D584 B0 1E 30 2E */ sth r0, 0x302e(r30)
+/* 800A0648 0009D588 C0 C2 98 0C */ lfs f6, lbl_8045320C-_SDA2_BASE_(r2)
+/* 800A064C 0009D58C EC 06 00 B2 */ fmuls f0, f6, f2
+/* 800A0650 0009D590 EC 00 00 72 */ fmuls f0, f0, f1
+/* 800A0654 0009D594 FC 00 00 1E */ fctiwz f0, f0
+/* 800A0658 0009D598 D8 01 00 38 */ stfd f0, 0x38(r1)
+/* 800A065C 0009D59C 80 01 00 3C */ lwz r0, 0x3c(r1)
+/* 800A0660 0009D5A0 B0 1E 30 30 */ sth r0, 0x3030(r30)
+/* 800A0664 0009D5A4 EC 06 00 F2 */ fmuls f0, f6, f3
+/* 800A0668 0009D5A8 EC 00 00 72 */ fmuls f0, f0, f1
+/* 800A066C 0009D5AC FC 00 00 1E */ fctiwz f0, f0
+/* 800A0670 0009D5B0 D8 01 00 30 */ stfd f0, 0x30(r1)
+/* 800A0674 0009D5B4 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 800A0678 0009D5B8 B0 1E 30 32 */ sth r0, 0x3032(r30)
+/* 800A067C 0009D5BC 48 00 00 54 */ b lbl_800A06D0
+lbl_800A0680:
+/* 800A0680 0009D5C0 C0 02 97 58 */ lfs f0, lbl_80453158-_SDA2_BASE_(r2)
+/* 800A0684 0009D5C4 EC 00 00 B2 */ fmuls f0, f0, f2
+/* 800A0688 0009D5C8 EC 00 00 72 */ fmuls f0, f0, f1
+/* 800A068C 0009D5CC FC 00 00 1E */ fctiwz f0, f0
+/* 800A0690 0009D5D0 D8 01 00 40 */ stfd f0, 0x40(r1)
+/* 800A0694 0009D5D4 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 800A0698 0009D5D8 B0 1E 30 2E */ sth r0, 0x302e(r30)
+/* 800A069C 0009D5DC C0 C2 94 5C */ lfs f6, lbl_80452E5C-_SDA2_BASE_(r2)
+/* 800A06A0 0009D5E0 EC 06 00 B2 */ fmuls f0, f6, f2
+/* 800A06A4 0009D5E4 EC 00 00 72 */ fmuls f0, f0, f1
+/* 800A06A8 0009D5E8 FC 00 00 1E */ fctiwz f0, f0
+/* 800A06AC 0009D5EC D8 01 00 38 */ stfd f0, 0x38(r1)
+/* 800A06B0 0009D5F0 80 01 00 3C */ lwz r0, 0x3c(r1)
+/* 800A06B4 0009D5F4 B0 1E 30 30 */ sth r0, 0x3030(r30)
+/* 800A06B8 0009D5F8 EC 06 00 F2 */ fmuls f0, f6, f3
+/* 800A06BC 0009D5FC EC 00 00 72 */ fmuls f0, f0, f1
+/* 800A06C0 0009D600 FC 00 00 1E */ fctiwz f0, f0
+/* 800A06C4 0009D604 D8 01 00 30 */ stfd f0, 0x30(r1)
+/* 800A06C8 0009D608 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 800A06CC 0009D60C B0 1E 30 32 */ sth r0, 0x3032(r30)
+lbl_800A06D0:
+/* 800A06D0 0009D610 C0 42 98 10 */ lfs f2, lbl_80453210-_SDA2_BASE_(r2)
+/* 800A06D4 0009D614 EC 02 01 32 */ fmuls f0, f2, f4
+/* 800A06D8 0009D618 EC 00 00 72 */ fmuls f0, f0, f1
+/* 800A06DC 0009D61C FC 00 00 1E */ fctiwz f0, f0
+/* 800A06E0 0009D620 D8 01 00 40 */ stfd f0, 0x40(r1)
+/* 800A06E4 0009D624 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 800A06E8 0009D628 B0 1E 30 34 */ sth r0, 0x3034(r30)
+/* 800A06EC 0009D62C EC 02 01 72 */ fmuls f0, f2, f5
+/* 800A06F0 0009D630 EC 00 00 72 */ fmuls f0, f0, f1
+/* 800A06F4 0009D634 FC 00 00 1E */ fctiwz f0, f0
+/* 800A06F8 0009D638 D8 01 00 38 */ stfd f0, 0x38(r1)
+/* 800A06FC 0009D63C 80 01 00 3C */ lwz r0, 0x3c(r1)
+/* 800A0700 0009D640 B0 1E 30 36 */ sth r0, 0x3036(r30)
+lbl_800A0704:
+/* 800A0704 0009D644 E3 E1 00 98 */ psq_l f31, 152(r1), 0, 0
+/* 800A0708 0009D648 CB E1 00 90 */ lfd f31, 0x90(r1)
+/* 800A070C 0009D64C E3 C1 00 88 */ psq_l f30, 136(r1), 0, 0
+/* 800A0710 0009D650 CB C1 00 80 */ lfd f30, 0x80(r1)
+/* 800A0714 0009D654 E3 A1 00 78 */ psq_l f29, 120(r1), 0, 0
+/* 800A0718 0009D658 CB A1 00 70 */ lfd f29, 0x70(r1)
+/* 800A071C 0009D65C E3 81 00 68 */ psq_l f28, 104(r1), 0, 0
+/* 800A0720 0009D660 CB 81 00 60 */ lfd f28, 0x60(r1)
+/* 800A0724 0009D664 E3 61 00 58 */ psq_l f27, 88(r1), 0, 0
+/* 800A0728 0009D668 CB 61 00 50 */ lfd f27, 0x50(r1)
+/* 800A072C 0009D66C 83 E1 00 4C */ lwz r31, 0x4c(r1)
+/* 800A0730 0009D670 83 C1 00 48 */ lwz r30, 0x48(r1)
+/* 800A0734 0009D674 80 01 00 A4 */ lwz r0, 0xa4(r1)
+/* 800A0738 0009D678 7C 08 03 A6 */ mtlr r0
+/* 800A073C 0009D67C 38 21 00 A0 */ addi r1, r1, 0xa0
+/* 800A0740 0009D680 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_800A0744.s b/include/d/d_a/d_a_alink/asm/func_800A0744.s
new file mode 100644
index 0000000000..5f7d42de4f
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_800A0744.s
@@ -0,0 +1,39 @@
+/* 800A0744 0009D684 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 800A0748 0009D688 7C 08 02 A6 */ mflr r0
+/* 800A074C 0009D68C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 800A0750 0009D690 DB E1 00 10 */ stfd f31, 0x10(r1)
+/* 800A0754 0009D694 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0
+/* 800A0758 0009D698 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 800A075C 0009D69C 93 C1 00 08 */ stw r30, 8(r1)
+/* 800A0760 0009D6A0 7C 7E 1B 78 */ mr r30, r3
+/* 800A0764 0009D6A4 7C 9F 23 78 */ mr r31, r4
+/* 800A0768 0009D6A8 80 03 05 88 */ lwz r0, 0x588(r3)
+/* 800A076C 0009D6AC 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 800A0770 0009D6B0 41 82 00 24 */ beq lbl_800A0794
+/* 800A0774 0009D6B4 38 7E 04 D0 */ addi r3, r30, 0x4d0
+/* 800A0778 0009D6B8 48 2A 6C 25 */ bl PSVECSquareDistance
+/* 800A077C 0009D6BC FF E0 08 90 */ fmr f31, f1
+/* 800A0780 0009D6C0 38 7E 04 D0 */ addi r3, r30, 0x4d0
+/* 800A0784 0009D6C4 38 9E 35 7C */ addi r4, r30, 0x357c
+/* 800A0788 0009D6C8 48 2A 6C 15 */ bl PSVECSquareDistance
+/* 800A078C 0009D6CC FC 01 F8 40 */ fcmpo cr0, f1, f31
+/* 800A0790 0009D6D0 41 80 00 28 */ blt lbl_800A07B8
+lbl_800A0794:
+/* 800A0794 0009D6D4 80 1E 05 88 */ lwz r0, 0x588(r30)
+/* 800A0798 0009D6D8 60 00 00 04 */ ori r0, r0, 4
+/* 800A079C 0009D6DC 90 1E 05 88 */ stw r0, 0x588(r30)
+/* 800A07A0 0009D6E0 C0 1F 00 00 */ lfs f0, 0(r31)
+/* 800A07A4 0009D6E4 D0 1E 35 7C */ stfs f0, 0x357c(r30)
+/* 800A07A8 0009D6E8 C0 1F 00 04 */ lfs f0, 4(r31)
+/* 800A07AC 0009D6EC D0 1E 35 80 */ stfs f0, 0x3580(r30)
+/* 800A07B0 0009D6F0 C0 1F 00 08 */ lfs f0, 8(r31)
+/* 800A07B4 0009D6F4 D0 1E 35 84 */ stfs f0, 0x3584(r30)
+lbl_800A07B8:
+/* 800A07B8 0009D6F8 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0
+/* 800A07BC 0009D6FC CB E1 00 10 */ lfd f31, 0x10(r1)
+/* 800A07C0 0009D700 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 800A07C4 0009D704 83 C1 00 08 */ lwz r30, 8(r1)
+/* 800A07C8 0009D708 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 800A07CC 0009D70C 7C 08 03 A6 */ mtlr r0
+/* 800A07D0 0009D710 38 21 00 20 */ addi r1, r1, 0x20
+/* 800A07D4 0009D714 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_800A07D8.s b/include/d/d_a/d_a_alink/asm/func_800A07D8.s
new file mode 100644
index 0000000000..ec79a7fc1c
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_800A07D8.s
@@ -0,0 +1,41 @@
+/* 800A07D8 0009D718 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 800A07DC 0009D71C 7C 08 02 A6 */ mflr r0
+/* 800A07E0 0009D720 90 01 00 14 */ stw r0, 0x14(r1)
+/* 800A07E4 0009D724 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 800A07E8 0009D728 93 C1 00 08 */ stw r30, 8(r1)
+/* 800A07EC 0009D72C 7C 7E 1B 78 */ mr r30, r3
+/* 800A07F0 0009D730 80 03 05 74 */ lwz r0, 0x574(r3)
+/* 800A07F4 0009D734 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 800A07F8 0009D738 41 82 00 0C */ beq lbl_800A0804
+/* 800A07FC 0009D73C 38 60 00 01 */ li r3, 1
+/* 800A0800 0009D740 48 00 00 50 */ b lbl_800A0850
+lbl_800A0804:
+/* 800A0804 0009D744 80 1E 31 A0 */ lwz r0, 0x31a0(r30)
+/* 800A0808 0009D748 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15
+/* 800A080C 0009D74C 40 82 00 10 */ bne lbl_800A081C
+/* 800A0810 0009D750 80 1E 05 88 */ lwz r0, 0x588(r30)
+/* 800A0814 0009D754 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15
+/* 800A0818 0009D758 41 82 00 14 */ beq lbl_800A082C
+lbl_800A081C:
+/* 800A081C 0009D75C 3C 60 80 39 */ lis r3, lbl_8038E5A4@ha
+/* 800A0820 0009D760 38 63 E5 A4 */ addi r3, r3, lbl_8038E5A4@l
+/* 800A0824 0009D764 AB E3 00 52 */ lha r31, 0x52(r3)
+/* 800A0828 0009D768 48 00 00 08 */ b lbl_800A0830
+lbl_800A082C:
+/* 800A082C 0009D76C 3B E0 60 00 */ li r31, 0x6000
+lbl_800A0830:
+/* 800A0830 0009D770 38 7E 34 E0 */ addi r3, r30, 0x34e0
+/* 800A0834 0009D774 48 1D 03 D1 */ bl cLib_targetAngleY
+/* 800A0838 0009D778 A8 9E 2F E6 */ lha r4, 0x2fe6(r30)
+/* 800A083C 0009D77C 48 1D 05 E9 */ bl cLib_distanceAngleS
+/* 800A0840 0009D780 7F E5 FE 70 */ srawi r5, r31, 0x1f
+/* 800A0844 0009D784 54 64 0F FE */ srwi r4, r3, 0x1f
+/* 800A0848 0009D788 7C 03 F8 10 */ subfc r0, r3, r31
+/* 800A084C 0009D78C 7C 65 21 14 */ adde r3, r5, r4
+lbl_800A0850:
+/* 800A0850 0009D790 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 800A0854 0009D794 83 C1 00 08 */ lwz r30, 8(r1)
+/* 800A0858 0009D798 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 800A085C 0009D79C 7C 08 03 A6 */ mtlr r0
+/* 800A0860 0009D7A0 38 21 00 10 */ addi r1, r1, 0x10
+/* 800A0864 0009D7A4 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_800A0868.s b/include/d/d_a/d_a_alink/asm/func_800A0868.s
new file mode 100644
index 0000000000..0446930f1d
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_800A0868.s
@@ -0,0 +1,58 @@
+/* 800A0868 0009D7A8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 800A086C 0009D7AC 7C 08 02 A6 */ mflr r0
+/* 800A0870 0009D7B0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 800A0874 0009D7B4 39 61 00 20 */ addi r11, r1, 0x20
+/* 800A0878 0009D7B8 48 2C 19 61 */ bl _savegpr_28
+/* 800A087C 0009D7BC 7C 7C 1B 78 */ mr r28, r3
+/* 800A0880 0009D7C0 7C 9D 23 79 */ or. r29, r4, r4
+/* 800A0884 0009D7C4 7C BE 2B 78 */ mr r30, r5
+/* 800A0888 0009D7C8 41 82 00 98 */ beq lbl_800A0920
+/* 800A088C 0009D7CC 38 9D 05 38 */ addi r4, r29, 0x538
+/* 800A0890 0009D7D0 4B FF FF 49 */ bl checkAttentionPosAngle__9daAlink_cFP4cXyz
+/* 800A0894 0009D7D4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A0898 0009D7D8 41 82 00 88 */ beq lbl_800A0920
+/* 800A089C 0009D7DC AB FD 00 08 */ lha r31, 8(r29)
+/* 800A08A0 0009D7E0 7F A3 EB 78 */ mr r3, r29
+/* 800A08A4 0009D7E4 48 03 BC A5 */ bl daAlink_c_NS_checkEnemyGroup
+/* 800A08A8 0009D7E8 2C 03 00 00 */ cmpwi r3, 0
+/* 800A08AC 0009D7EC 41 82 00 24 */ beq lbl_800A08D0
+/* 800A08B0 0009D7F0 C0 1D 05 38 */ lfs f0, 0x538(r29)
+/* 800A08B4 0009D7F4 D0 1C 35 04 */ stfs f0, 0x3504(r28)
+/* 800A08B8 0009D7F8 C0 1D 05 3C */ lfs f0, 0x53c(r29)
+/* 800A08BC 0009D7FC D0 1C 35 08 */ stfs f0, 0x3508(r28)
+/* 800A08C0 0009D800 C0 1D 05 40 */ lfs f0, 0x540(r29)
+/* 800A08C4 0009D804 D0 1C 35 0C */ stfs f0, 0x350c(r28)
+/* 800A08C8 0009D808 38 00 00 50 */ li r0, 0x50
+/* 800A08CC 0009D80C B0 1C 31 1C */ sth r0, 0x311c(r28)
+lbl_800A08D0:
+/* 800A08D0 0009D810 2C 1F 01 59 */ cmpwi r31, 0x159
+/* 800A08D4 0009D814 41 82 00 18 */ beq lbl_800A08EC
+/* 800A08D8 0009D818 2C 1F 02 16 */ cmpwi r31, 0x216
+/* 800A08DC 0009D81C 40 82 00 34 */ bne lbl_800A0910
+/* 800A08E0 0009D820 88 1D 0B 01 */ lbz r0, 0xb01(r29)
+/* 800A08E4 0009D824 28 00 00 00 */ cmplwi r0, 0
+/* 800A08E8 0009D828 40 82 00 28 */ bne lbl_800A0910
+lbl_800A08EC:
+/* 800A08EC 0009D82C 80 1C 05 74 */ lwz r0, 0x574(r28)
+/* 800A08F0 0009D830 60 00 01 00 */ ori r0, r0, 0x100
+/* 800A08F4 0009D834 90 1C 05 74 */ stw r0, 0x574(r28)
+/* 800A08F8 0009D838 C0 1D 05 38 */ lfs f0, 0x538(r29)
+/* 800A08FC 0009D83C D0 1C 36 00 */ stfs f0, 0x3600(r28)
+/* 800A0900 0009D840 C0 1D 05 3C */ lfs f0, 0x53c(r29)
+/* 800A0904 0009D844 D0 1C 36 04 */ stfs f0, 0x3604(r28)
+/* 800A0908 0009D848 C0 1D 05 40 */ lfs f0, 0x540(r29)
+/* 800A090C 0009D84C D0 1C 36 08 */ stfs f0, 0x3608(r28)
+lbl_800A0910:
+/* 800A0910 0009D850 38 1D 05 38 */ addi r0, r29, 0x538
+/* 800A0914 0009D854 90 1E 00 00 */ stw r0, 0(r30)
+/* 800A0918 0009D858 38 60 00 01 */ li r3, 1
+/* 800A091C 0009D85C 48 00 00 08 */ b lbl_800A0924
+lbl_800A0920:
+/* 800A0920 0009D860 38 60 00 00 */ li r3, 0
+lbl_800A0924:
+/* 800A0924 0009D864 39 61 00 20 */ addi r11, r1, 0x20
+/* 800A0928 0009D868 48 2C 18 FD */ bl _restgpr_28
+/* 800A092C 0009D86C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 800A0930 0009D870 7C 08 03 A6 */ mtlr r0
+/* 800A0934 0009D874 38 21 00 20 */ addi r1, r1, 0x20
+/* 800A0938 0009D878 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/asm/func_800A093C.s b/include/d/d_a/d_a_alink/asm/func_800A093C.s
new file mode 100644
index 0000000000..482ce4f3cf
--- /dev/null
+++ b/include/d/d_a/d_a_alink/asm/func_800A093C.s
@@ -0,0 +1,769 @@
+/* 800A093C 0009D87C 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 800A0940 0009D880 7C 08 02 A6 */ mflr r0
+/* 800A0944 0009D884 90 01 00 64 */ stw r0, 0x64(r1)
+/* 800A0948 0009D888 39 61 00 60 */ addi r11, r1, 0x60
+/* 800A094C 0009D88C 48 2C 18 7D */ bl func_803621C8
+/* 800A0950 0009D890 7C 7F 1B 78 */ mr r31, r3
+/* 800A0954 0009D894 7C 9B 23 78 */ mr r27, r4
+/* 800A0958 0009D898 7C BC 2B 78 */ mr r28, r5
+/* 800A095C 0009D89C 7C DD 33 78 */ mr r29, r6
+/* 800A0960 0009D8A0 3B 40 00 00 */ li r26, 0
+/* 800A0964 0009D8A4 AB C3 31 1C */ lha r30, 0x311c(r3)
+/* 800A0968 0009D8A8 38 00 00 00 */ li r0, 0
+/* 800A096C 0009D8AC B0 03 31 1C */ sth r0, 0x311c(r3)
+/* 800A0970 0009D8B0 A0 A3 2F E8 */ lhz r5, 0x2fe8(r3)
+/* 800A0974 0009D8B4 28 05 00 C0 */ cmplwi r5, 0xc0
+/* 800A0978 0009D8B8 41 82 00 2C */ beq lbl_800A09A4
+/* 800A097C 0009D8BC 28 05 01 48 */ cmplwi r5, 0x148
+/* 800A0980 0009D8C0 41 82 00 24 */ beq lbl_800A09A4
+/* 800A0984 0009D8C4 28 05 01 3C */ cmplwi r5, 0x13c
+/* 800A0988 0009D8C8 41 82 00 1C */ beq lbl_800A09A4
+/* 800A098C 0009D8CC 28 05 00 E3 */ cmplwi r5, 0xe3
+/* 800A0990 0009D8D0 41 82 00 14 */ beq lbl_800A09A4
+/* 800A0994 0009D8D4 28 05 00 EA */ cmplwi r5, 0xea
+/* 800A0998 0009D8D8 41 82 00 0C */ beq lbl_800A09A4
+/* 800A099C 0009D8DC 28 05 00 C1 */ cmplwi r5, 0xc1
+/* 800A09A0 0009D8E0 40 82 00 0C */ bne lbl_800A09AC
+lbl_800A09A4:
+/* 800A09A4 0009D8E4 83 5F 28 10 */ lwz r26, 0x2810(r31)
+/* 800A09A8 0009D8E8 48 00 02 64 */ b lbl_800A0C0C
+lbl_800A09AC:
+/* 800A09AC 0009D8EC 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha
+/* 800A09B0 0009D8F0 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l
+/* 800A09B4 0009D8F4 80 04 5F 18 */ lwz r0, 0x5f18(r4)
+/* 800A09B8 0009D8F8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
+/* 800A09BC 0009D8FC 41 82 00 D8 */ beq lbl_800A0A94
+/* 800A09C0 0009D900 28 05 01 5B */ cmplwi r5, 0x15b
+/* 800A09C4 0009D904 41 82 02 48 */ beq lbl_800A0C0C
+/* 800A09C8 0009D908 28 05 01 5C */ cmplwi r5, 0x15c
+/* 800A09CC 0009D90C 41 82 02 40 */ beq lbl_800A0C0C
+/* 800A09D0 0009D910 28 05 01 5D */ cmplwi r5, 0x15d
+/* 800A09D4 0009D914 41 82 02 38 */ beq lbl_800A0C0C
+/* 800A09D8 0009D918 4B F7 B1 3D */ bl fopAcM_getTalkEventPartner
+/* 800A09DC 0009D91C 7C 7A 1B 79 */ or. r26, r3, r3
+/* 800A09E0 0009D920 41 82 02 2C */ beq lbl_800A0C0C
+/* 800A09E4 0009D924 83 0D 8A 98 */ lwz r24, lbl_80451018-_SDA_BASE_(r13)
+/* 800A09E8 0009D928 AB 3A 00 08 */ lha r25, 8(r26)
+/* 800A09EC 0009D92C 2C 19 00 FF */ cmpwi r25, 0xff
+/* 800A09F0 0009D930 41 82 00 5C */ beq lbl_800A0A4C
+/* 800A09F4 0009D934 2C 19 02 C7 */ cmpwi r25, 0x2c7
+/* 800A09F8 0009D938 41 82 00 54 */ beq lbl_800A0A4C
+/* 800A09FC 0009D93C 2C 19 02 C1 */ cmpwi r25, 0x2c1
+/* 800A0A00 0009D940 40 82 00 10 */ bne lbl_800A0A10
+/* 800A0A04 0009D944 88 1A 05 6D */ lbz r0, 0x56d(r26)
+/* 800A0A08 0009D948 28 00 00 FF */ cmplwi r0, 0xff
+/* 800A0A0C 0009D94C 41 82 00 40 */ beq lbl_800A0A4C
+lbl_800A0A10:
+/* 800A0A10 0009D950 2C 19 02 C4 */ cmpwi r25, 0x2c4
+/* 800A0A14 0009D954 40 82 00 10 */ bne lbl_800A0A24
+/* 800A0A18 0009D958 88 1A 05 6B */ lbz r0, 0x56b(r26)
+/* 800A0A1C 0009D95C 28 00 00 FF */ cmplwi r0, 0xff
+/* 800A0A20 0009D960 41 82 00 2C */ beq lbl_800A0A4C
+lbl_800A0A24:
+/* 800A0A24 0009D964 2C 19 02 C3 */ cmpwi r25, 0x2c3
+/* 800A0A28 0009D968 40 82 00 34 */ bne lbl_800A0A5C
+/* 800A0A2C 0009D96C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
+/* 800A0A30 0009D970 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
+/* 800A0A34 0009D974 88 9A 05 69 */ lbz r4, 0x569(r26)
+/* 800A0A38 0009D978 88 1A 04 BA */ lbz r0, 0x4ba(r26)
+/* 800A0A3C 0009D97C 7C 05 07 74 */ extsb r5, r0
+/* 800A0A40 0009D980 4B F9 49 21 */ bl isSwitch__10dSv_info_cCFii
+/* 800A0A44 0009D984 2C 03 00 00 */ cmpwi r3, 0
+/* 800A0A48 0009D988 41 82 00 14 */ beq lbl_800A0A5C
+lbl_800A0A4C:
+/* 800A0A4C 0009D98C 38 00 00 01 */ li r0, 1
+/* 800A0A50 0009D990 90 1C 00 00 */ stw r0, 0(r28)
+/* 800A0A54 0009D994 38 78 05 38 */ addi r3, r24, 0x538
+/* 800A0A58 0009D998 48 00 09 BC */ b lbl_800A1414
+lbl_800A0A5C:
+/* 800A0A5C 0009D99C 2C 19 02 C1 */ cmpwi r25, 0x2c1
+/* 800A0A60 0009D9A0 41 82 00 0C */ beq lbl_800A0A6C
+/* 800A0A64 0009D9A4 2C 19 02 C4 */ cmpwi r25, 0x2c4
+/* 800A0A68 0009D9A8 40 82 01 A4 */ bne lbl_800A0C0C
+lbl_800A0A6C:
+/* 800A0A6C 0009D9AC 80 18 08 90 */ lwz r0, 0x890(r24)
+/* 800A0A70 0009D9B0 64 00 00 02 */ oris r0, r0, 2
+/* 800A0A74 0009D9B4 90 18 08 90 */ stw r0, 0x890(r24)
+/* 800A0A78 0009D9B8 C0 1A 05 38 */ lfs f0, 0x538(r26)
+/* 800A0A7C 0009D9BC D0 18 09 C4 */ stfs f0, 0x9c4(r24)
+/* 800A0A80 0009D9C0 C0 1A 05 3C */ lfs f0, 0x53c(r26)
+/* 800A0A84 0009D9C4 D0 18 09 C8 */ stfs f0, 0x9c8(r24)
+/* 800A0A88 0009D9C8 C0 1A 05 40 */ lfs f0, 0x540(r26)
+/* 800A0A8C 0009D9CC D0 18 09 CC */ stfs f0, 0x9cc(r24)
+/* 800A0A90 0009D9D0 48 00 01 7C */ b lbl_800A0C0C
+lbl_800A0A94:
+/* 800A0A94 0009D9D4 28 05 00 B4 */ cmplwi r5, 0xb4
+/* 800A0A98 0009D9D8 40 82 00 18 */ bne lbl_800A0AB0
+/* 800A0A9C 0009D9DC A0 1F 2F DC */ lhz r0, 0x2fdc(r31)
+/* 800A0AA0 0009D9E0 28 00 00 6C */ cmplwi r0, 0x6c
+/* 800A0AA4 0009D9E4 40 82 00 0C */ bne lbl_800A0AB0
+/* 800A0AA8 0009D9E8 83 5F 28 60 */ lwz r26, 0x2860(r31)
+/* 800A0AAC 0009D9EC 48 00 01 60 */ b lbl_800A0C0C
+lbl_800A0AB0:
+/* 800A0AB0 0009D9F0 28 05 00 A2 */ cmplwi r5, 0xa2
+/* 800A0AB4 0009D9F4 41 82 00 1C */ beq lbl_800A0AD0
+/* 800A0AB8 0009D9F8 28 05 00 95 */ cmplwi r5, 0x95
+/* 800A0ABC 0009D9FC 41 82 00 14 */ beq lbl_800A0AD0
+/* 800A0AC0 0009DA00 28 05 00 96 */ cmplwi r5, 0x96
+/* 800A0AC4 0009DA04 41 82 00 0C */ beq lbl_800A0AD0
+/* 800A0AC8 0009DA08 28 05 00 97 */ cmplwi r5, 0x97
+/* 800A0ACC 0009DA0C 40 82 00 0C */ bne lbl_800A0AD8
+lbl_800A0AD0:
+/* 800A0AD0 0009DA10 83 5F 28 28 */ lwz r26, 0x2828(r31)
+/* 800A0AD4 0009DA14 48 00 01 38 */ b lbl_800A0C0C
+lbl_800A0AD8:
+/* 800A0AD8 0009DA18 80 7F 27 EC */ lwz r3, 0x27ec(r31)
+/* 800A0ADC 0009DA1C 7C 7A 1B 78 */ mr r26, r3
+/* 800A0AE0 0009DA20 48 03 BA 69 */ bl daAlink_c_NS_checkEnemyGroup
+/* 800A0AE4 0009DA24 2C 03 00 00 */ cmpwi r3, 0
+/* 800A0AE8 0009DA28 41 82 01 14 */ beq lbl_800A0BFC
+/* 800A0AEC 0009DA2C 80 7F 27 E0 */ lwz r3, 0x27e0(r31)
+/* 800A0AF0 0009DA30 38 80 00 01 */ li r4, 1
+/* 800A0AF4 0009DA34 4B FC FD 51 */ bl dAttention_c_NS_GetLockonList
+/* 800A0AF8 0009DA38 28 03 00 00 */ cmplwi r3, 0
+/* 800A0AFC 0009DA3C 41 82 00 1C */ beq lbl_800A0B18
+/* 800A0B00 0009DA40 80 7F 27 E0 */ lwz r3, 0x27e0(r31)
+/* 800A0B04 0009DA44 38 80 00 01 */ li r4, 1
+/* 800A0B08 0009DA48 4B FC FD 3D */ bl dAttention_c_NS_GetLockonList
+/* 800A0B0C 0009DA4C 4B FD 2D 59 */ bl dAttList_c_NS_getActor
+/* 800A0B10 0009DA50 7C 79 1B 78 */ mr r25, r3
+/* 800A0B14 0009DA54 48 00 00 08 */ b lbl_800A0B1C
+lbl_800A0B18:
+/* 800A0B18 0009DA58 3B 20 00 00 */ li r25, 0
+lbl_800A0B1C:
+/* 800A0B1C 0009DA5C 80 7F 28 FC */ lwz r3, 0x28fc(r31)
+/* 800A0B20 0009DA60 3C 03 00 01 */ addis r0, r3, 1
+/* 800A0B24 0009DA64 28 00 FF FF */ cmplwi r0, 0xffff
+/* 800A0B28 0009DA68 41 82 00 5C */ beq lbl_800A0B84
+/* 800A0B2C 0009DA6C 90 61 00 0C */ stw r3, 0xc(r1)
+/* 800A0B30 0009DA70 3C 60 80 02 */ lis r3, fpcSch_JudgeByID@ha
+/* 800A0B34 0009DA74 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID@l
+/* 800A0B38 0009DA78 38 81 00 0C */ addi r4, r1, 0xc
+/* 800A0B3C 0009DA7C 4B F7 8C BD */ bl fopAcIt_Judge
+/* 800A0B40 0009DA80 A8 9F 30 F8 */ lha r4, 0x30f8(r31)
+/* 800A0B44 0009DA84 38 04 FF FF */ addi r0, r4, -1
+/* 800A0B48 0009DA88 B0 1F 30 F8 */ sth r0, 0x30f8(r31)
+/* 800A0B4C 0009DA8C A8 1F 30 F8 */ lha r0, 0x30f8(r31)
+/* 800A0B50 0009DA90 2C 00 00 00 */ cmpwi r0, 0
+/* 800A0B54 0009DA94 41 82 00 1C */ beq lbl_800A0B70
+/* 800A0B58 0009DA98 28 03 00 00 */ cmplwi r3, 0
+/* 800A0B5C 0009DA9C 41 82 00 14 */ beq lbl_800A0B70
+/* 800A0B60 0009DAA0 7C 03 C8 40 */ cmplw r3, r25
+/* 800A0B64 0009DAA4 40 82 00 0C */ bne lbl_800A0B70
+/* 800A0B68 0009DAA8 7C 7A 1B 78 */ mr r26, r3
+/* 800A0B6C 0009DAAC 48 00 00 A0 */ b lbl_800A0C0C
+lbl_800A0B70:
+/* 800A0B70 0009DAB0 38 00 00 00 */ li r0, 0
+/* 800A0B74 0009DAB4 B0 1F 30 F8 */ sth r0, 0x30f8(r31)
+/* 800A0B78 0009DAB8 38 00 FF FF */ li r0, -1
+/* 800A0B7C 0009DABC 90 1F 28 FC */ stw r0, 0x28fc(r31)
+/* 800A0B80 0009DAC0 48 00 00 8C */ b lbl_800A0C0C
+lbl_800A0B84:
+/* 800A0B84 0009DAC4 7F 23 CB 78 */ mr r3, r25
+/* 800A0B88 0009DAC8 48 03 B9 C1 */ bl daAlink_c_NS_checkEnemyGroup
+/* 800A0B8C 0009DACC 2C 03 00 00 */ cmpwi r3, 0
+/* 800A0B90 0009DAD0 41 82 00 7C */ beq lbl_800A0C0C
+/* 800A0B94 0009DAD4 A8 7F 30 F8 */ lha r3, 0x30f8(r31)
+/* 800A0B98 0009DAD8 2C 03 FF E2 */ cmpwi r3, -30
+/* 800A0B9C 0009DADC 40 82 00 54 */ bne lbl_800A0BF0
+/* 800A0BA0 0009DAE0 48 1C 6C CD */ bl cM_rnd
+/* 800A0BA4 0009DAE4 C0 02 94 44 */ lfs f0, lbl_80452E44-_SDA2_BASE_(r2)
+/* 800A0BA8 0009DAE8 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 800A0BAC 0009DAEC 40 80 00 60 */ bge lbl_800A0C0C
+/* 800A0BB0 0009DAF0 C0 22 92 E0 */ lfs f1, lbl_80452CE0-_SDA2_BASE_(r2)
+/* 800A0BB4 0009DAF4 48 1C 6D A1 */ bl cM_rndF
+/* 800A0BB8 0009DAF8 C0 02 92 E0 */ lfs f0, lbl_80452CE0-_SDA2_BASE_(r2)
+/* 800A0BBC 0009DAFC EC 00 08 2A */ fadds f0, f0, f1
+/* 800A0BC0 0009DB00 FC 00 00 1E */ fctiwz f0, f0
+/* 800A0BC4 0009DB04 D8 01 00 30 */ stfd f0, 0x30(r1)
+/* 800A0BC8 0009DB08 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 800A0BCC 0009DB0C B0 1F 30 F8 */ sth r0, 0x30f8(r31)
+/* 800A0BD0 0009DB10 7F 3A CB 78 */ mr r26, r25
+/* 800A0BD4 0009DB14 28 19 00 00 */ cmplwi r25, 0
+/* 800A0BD8 0009DB18 41 82 00 0C */ beq lbl_800A0BE4
+/* 800A0BDC 0009DB1C 80 19 00 04 */ lwz r0, 4(r25)
+/* 800A0BE0 0009DB20 48 00 00 08 */ b lbl_800A0BE8
+lbl_800A0BE4:
+/* 800A0BE4 0009DB24 38 00 FF FF */ li r0, -1
+lbl_800A0BE8:
+/* 800A0BE8 0009DB28 90 1F 28 FC */ stw r0, 0x28fc(r31)
+/* 800A0BEC 0009DB2C 48 00 00 20 */ b lbl_800A0C0C
+lbl_800A0BF0:
+/* 800A0BF0 0009DB30 38 03 FF FF */ addi r0, r3, -1
+/* 800A0BF4 0009DB34 B0 1F 30 F8 */ sth r0, 0x30f8(r31)
+/* 800A0BF8 0009DB38 48 00 00 14 */ b lbl_800A0C0C
+lbl_800A0BFC:
+/* 800A0BFC 0009DB3C 38 00 FF FF */ li r0, -1
+/* 800A0C00 0009DB40 90 1F 28 FC */ stw r0, 0x28fc(r31)
+/* 800A0C04 0009DB44 38 00 00 00 */ li r0, 0
+/* 800A0C08 0009DB48 B0 1F 30 F8 */ sth r0, 0x30f8(r31)
+lbl_800A0C0C:
+/* 800A0C0C 0009DB4C 80 7F 27 E0 */ lwz r3, 0x27e0(r31)
+/* 800A0C10 0009DB50 38 80 00 00 */ li r4, 0
+/* 800A0C14 0009DB54 4B FD 29 29 */ bl dAttention_c_NS_LockonTarget
+/* 800A0C18 0009DB58 7C 79 1B 78 */ mr r25, r3
+/* 800A0C1C 0009DB5C 28 1A 00 00 */ cmplwi r26, 0
+/* 800A0C20 0009DB60 40 82 00 10 */ bne lbl_800A0C30
+/* 800A0C24 0009DB64 48 0E 0A 1D */ bl dCam_getBody
+/* 800A0C28 0009DB68 48 0E 08 D9 */ bl dCamera_c_NS_GetForceLockOnActor
+/* 800A0C2C 0009DB6C 7C 7A 1B 78 */ mr r26, r3
+lbl_800A0C30:
+/* 800A0C30 0009DB70 7F E3 FB 78 */ mr r3, r31
+/* 800A0C34 0009DB74 7F 44 D3 78 */ mr r4, r26
+/* 800A0C38 0009DB78 38 A1 00 10 */ addi r5, r1, 0x10
+/* 800A0C3C 0009DB7C 4B FF FC 2D */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz
+/* 800A0C40 0009DB80 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A0C44 0009DB84 41 82 00 0C */ beq lbl_800A0C50
+/* 800A0C48 0009DB88 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 800A0C4C 0009DB8C 48 00 07 C8 */ b lbl_800A1414
+lbl_800A0C50:
+/* 800A0C50 0009DB90 80 9F 31 A0 */ lwz r4, 0x31a0(r31)
+/* 800A0C54 0009DB94 3C 60 08 00 */ lis r3, 0x08000100@ha
+/* 800A0C58 0009DB98 38 03 01 00 */ addi r0, r3, 0x08000100@l
+/* 800A0C5C 0009DB9C 7C 80 00 39 */ and. r0, r4, r0
+/* 800A0C60 0009DBA0 40 82 00 24 */ bne lbl_800A0C84
+/* 800A0C64 0009DBA4 2C 1D 00 00 */ cmpwi r29, 0
+/* 800A0C68 0009DBA8 41 82 00 1C */ beq lbl_800A0C84
+/* 800A0C6C 0009DBAC 7F C0 07 35 */ extsh. r0, r30
+/* 800A0C70 0009DBB0 40 81 00 0C */ ble lbl_800A0C7C
+/* 800A0C74 0009DBB4 38 1E FF FF */ addi r0, r30, -1
+/* 800A0C78 0009DBB8 B0 1F 31 1C */ sth r0, 0x311c(r31)
+lbl_800A0C7C:
+/* 800A0C7C 0009DBBC 38 60 00 00 */ li r3, 0
+/* 800A0C80 0009DBC0 48 00 07 94 */ b lbl_800A1414
+lbl_800A0C84:
+/* 800A0C84 0009DBC4 7F E3 FB 78 */ mr r3, r31
+/* 800A0C88 0009DBC8 48 07 4F 99 */ bl daAlink_c_NS_checkEventRun
+/* 800A0C8C 0009DBCC 2C 03 00 00 */ cmpwi r3, 0
+/* 800A0C90 0009DBD0 40 82 06 20 */ bne lbl_800A12B0
+/* 800A0C94 0009DBD4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
+/* 800A0C98 0009DBD8 3B 43 61 C0 */ addi r26, r3, g_dComIfG_gameInfo@l
+/* 800A0C9C 0009DBDC 80 1A 5F 1C */ lwz r0, 0x5f1c(r26)
+/* 800A0CA0 0009DBE0 74 00 02 01 */ andis. r0, r0, 0x201
+/* 800A0CA4 0009DBE4 41 82 00 20 */ beq lbl_800A0CC4
+/* 800A0CA8 0009DBE8 88 1F 20 68 */ lbz r0, 0x2068(r31)
+/* 800A0CAC 0009DBEC 28 00 00 00 */ cmplwi r0, 0
+/* 800A0CB0 0009DBF0 41 82 00 0C */ beq lbl_800A0CBC
+/* 800A0CB4 0009DBF4 38 7F 20 6C */ addi r3, r31, 0x206c
+/* 800A0CB8 0009DBF8 48 00 07 5C */ b lbl_800A1414
+lbl_800A0CBC:
+/* 800A0CBC 0009DBFC 38 60 00 00 */ li r3, 0
+/* 800A0CC0 0009DC00 48 00 07 54 */ b lbl_800A1414
+lbl_800A0CC4:
+/* 800A0CC4 0009DC04 38 7A 5B 6C */ addi r3, r26, 0x5b6c
+/* 800A0CC8 0009DC08 80 9A 5B 78 */ lwz r4, 0x5b78(r26)
+/* 800A0CCC 0009DC0C 4B FD 2F D9 */ bl dAttLook_c_NS_convPId
+/* 800A0CD0 0009DC10 28 03 00 00 */ cmplwi r3, 0
+/* 800A0CD4 0009DC14 41 82 00 38 */ beq lbl_800A0D0C
+/* 800A0CD8 0009DC18 38 7A 5B 6C */ addi r3, r26, 0x5b6c
+/* 800A0CDC 0009DC1C 80 9A 5B 78 */ lwz r4, 0x5b78(r26)
+/* 800A0CE0 0009DC20 4B FD 2F C5 */ bl dAttLook_c_NS_convPId
+/* 800A0CE4 0009DC24 A8 03 00 08 */ lha r0, 8(r3)
+/* 800A0CE8 0009DC28 2C 00 01 E9 */ cmpwi r0, 0x1e9
+/* 800A0CEC 0009DC2C 40 82 00 0C */ bne lbl_800A0CF8
+/* 800A0CF0 0009DC30 38 00 00 00 */ li r0, 0
+/* 800A0CF4 0009DC34 90 1C 00 00 */ stw r0, 0(r28)
+lbl_800A0CF8:
+/* 800A0CF8 0009DC38 38 7A 5B 6C */ addi r3, r26, 0x5b6c
+/* 800A0CFC 0009DC3C 80 9A 5B 78 */ lwz r4, 0x5b78(r26)
+/* 800A0D00 0009DC40 4B FD 2F A5 */ bl dAttLook_c_NS_convPId
+/* 800A0D04 0009DC44 38 63 05 38 */ addi r3, r3, 0x538
+/* 800A0D08 0009DC48 48 00 07 0C */ b lbl_800A1414
+lbl_800A0D0C:
+/* 800A0D0C 0009DC4C 7F E3 FB 78 */ mr r3, r31
+/* 800A0D10 0009DC50 80 9F 27 F0 */ lwz r4, 0x27f0(r31)
+/* 800A0D14 0009DC54 38 A1 00 10 */ addi r5, r1, 0x10
+/* 800A0D18 0009DC58 4B FF FB 51 */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz
+/* 800A0D1C 0009DC5C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A0D20 0009DC60 41 82 00 1C */ beq lbl_800A0D3C
+/* 800A0D24 0009DC64 80 7F 27 F0 */ lwz r3, 0x27f0(r31)
+/* 800A0D28 0009DC68 28 03 00 00 */ cmplwi r3, 0
+/* 800A0D2C 0009DC6C 41 82 00 40 */ beq lbl_800A0D6C
+/* 800A0D30 0009DC70 A8 03 00 08 */ lha r0, 8(r3)
+/* 800A0D34 0009DC74 2C 00 01 8B */ cmpwi r0, 0x18b
+/* 800A0D38 0009DC78 40 82 00 34 */ bne lbl_800A0D6C
+lbl_800A0D3C:
+/* 800A0D3C 0009DC7C 7F E3 FB 78 */ mr r3, r31
+/* 800A0D40 0009DC80 7F 24 CB 78 */ mr r4, r25
+/* 800A0D44 0009DC84 38 A1 00 10 */ addi r5, r1, 0x10
+/* 800A0D48 0009DC88 4B FF FB 21 */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz
+/* 800A0D4C 0009DC8C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A0D50 0009DC90 40 82 00 1C */ bne lbl_800A0D6C
+/* 800A0D54 0009DC94 7F E3 FB 78 */ mr r3, r31
+/* 800A0D58 0009DC98 80 9F 27 F8 */ lwz r4, 0x27f8(r31)
+/* 800A0D5C 0009DC9C 38 A1 00 10 */ addi r5, r1, 0x10
+/* 800A0D60 0009DCA0 4B FF FB 09 */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz
+/* 800A0D64 0009DCA4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A0D68 0009DCA8 41 82 00 0C */ beq lbl_800A0D74
+lbl_800A0D6C:
+/* 800A0D6C 0009DCAC 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 800A0D70 0009DCB0 48 00 06 A4 */ b lbl_800A1414
+lbl_800A0D74:
+/* 800A0D74 0009DCB4 7F E3 FB 78 */ mr r3, r31
+/* 800A0D78 0009DCB8 80 9F 28 38 */ lwz r4, 0x2838(r31)
+/* 800A0D7C 0009DCBC 38 A1 00 10 */ addi r5, r1, 0x10
+/* 800A0D80 0009DCC0 4B FF FA E9 */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz
+/* 800A0D84 0009DCC4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A0D88 0009DCC8 41 82 00 0C */ beq lbl_800A0D94
+/* 800A0D8C 0009DCCC 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 800A0D90 0009DCD0 48 00 06 84 */ b lbl_800A1414
+lbl_800A0D94:
+/* 800A0D94 0009DCD4 7F E3 FB 78 */ mr r3, r31
+/* 800A0D98 0009DCD8 80 9F 28 40 */ lwz r4, 0x2840(r31)
+/* 800A0D9C 0009DCDC 38 A1 00 10 */ addi r5, r1, 0x10
+/* 800A0DA0 0009DCE0 4B FF FA C9 */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz
+/* 800A0DA4 0009DCE4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A0DA8 0009DCE8 41 82 00 0C */ beq lbl_800A0DB4
+/* 800A0DAC 0009DCEC 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 800A0DB0 0009DCF0 48 00 06 64 */ b lbl_800A1414
+lbl_800A0DB4:
+/* 800A0DB4 0009DCF4 80 1F 05 88 */ lwz r0, 0x588(r31)
+/* 800A0DB8 0009DCF8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 800A0DBC 0009DCFC 41 82 00 20 */ beq lbl_800A0DDC
+/* 800A0DC0 0009DD00 7F E3 FB 78 */ mr r3, r31
+/* 800A0DC4 0009DD04 38 9F 35 7C */ addi r4, r31, 0x357c
+/* 800A0DC8 0009DD08 4B FF FA 11 */ bl checkAttentionPosAngle__9daAlink_cFP4cXyz
+/* 800A0DCC 0009DD0C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A0DD0 0009DD10 41 82 00 0C */ beq lbl_800A0DDC
+/* 800A0DD4 0009DD14 38 7F 35 7C */ addi r3, r31, 0x357c
+/* 800A0DD8 0009DD18 48 00 06 3C */ b lbl_800A1414
+lbl_800A0DDC:
+/* 800A0DDC 0009DD1C 7F E3 FB 78 */ mr r3, r31
+/* 800A0DE0 0009DD20 80 9F 28 60 */ lwz r4, 0x2860(r31)
+/* 800A0DE4 0009DD24 38 A1 00 10 */ addi r5, r1, 0x10
+/* 800A0DE8 0009DD28 4B FF FA 81 */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz
+/* 800A0DEC 0009DD2C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A0DF0 0009DD30 41 82 00 0C */ beq lbl_800A0DFC
+/* 800A0DF4 0009DD34 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 800A0DF8 0009DD38 48 00 06 1C */ b lbl_800A1414
+lbl_800A0DFC:
+/* 800A0DFC 0009DD3C A0 1F 2F E8 */ lhz r0, 0x2fe8(r31)
+/* 800A0E00 0009DD40 28 00 00 A5 */ cmplwi r0, 0xa5
+/* 800A0E04 0009DD44 40 82 00 6C */ bne lbl_800A0E70
+/* 800A0E08 0009DD48 C0 3F 33 98 */ lfs f1, 0x3398(r31)
+/* 800A0E0C 0009DD4C C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 800A0E10 0009DD50 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 800A0E14 0009DD54 40 81 00 5C */ ble lbl_800A0E70
+/* 800A0E18 0009DD58 3C 60 80 44 */ lis r3, lbl_80439A20@ha
+/* 800A0E1C 0009DD5C 38 83 9A 20 */ addi r4, r3, lbl_80439A20@l
+/* 800A0E20 0009DD60 A8 1F 04 DE */ lha r0, 0x4de(r31)
+/* 800A0E24 0009DD64 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
+/* 800A0E28 0009DD68 7C 64 02 14 */ add r3, r4, r0
+/* 800A0E2C 0009DD6C C0 03 00 04 */ lfs f0, 4(r3)
+/* 800A0E30 0009DD70 C0 3F 04 D8 */ lfs f1, 0x4d8(r31)
+/* 800A0E34 0009DD74 C0 42 93 68 */ lfs f2, lbl_80452D68-_SDA2_BASE_(r2)
+/* 800A0E38 0009DD78 EC 02 00 32 */ fmuls f0, f2, f0
+/* 800A0E3C 0009DD7C EC 81 00 2A */ fadds f4, f1, f0
+/* 800A0E40 0009DD80 C0 22 93 50 */ lfs f1, lbl_80452D50-_SDA2_BASE_(r2)
+/* 800A0E44 0009DD84 C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
+/* 800A0E48 0009DD88 EC 61 00 2A */ fadds f3, f1, f0
+/* 800A0E4C 0009DD8C 7C 04 04 2E */ lfsx f0, r4, r0
+/* 800A0E50 0009DD90 C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
+/* 800A0E54 0009DD94 EC 02 00 32 */ fmuls f0, f2, f0
+/* 800A0E58 0009DD98 EC 01 00 2A */ fadds f0, f1, f0
+/* 800A0E5C 0009DD9C D0 1B 00 00 */ stfs f0, 0(r27)
+/* 800A0E60 0009DDA0 D0 7B 00 04 */ stfs f3, 4(r27)
+/* 800A0E64 0009DDA4 D0 9B 00 08 */ stfs f4, 8(r27)
+/* 800A0E68 0009DDA8 7F 63 DB 78 */ mr r3, r27
+/* 800A0E6C 0009DDAC 48 00 05 A8 */ b lbl_800A1414
+lbl_800A0E70:
+/* 800A0E70 0009DDB0 80 1F 31 A0 */ lwz r0, 0x31a0(r31)
+/* 800A0E74 0009DDB4 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 800A0E78 0009DDB8 41 82 00 38 */ beq lbl_800A0EB0
+/* 800A0E7C 0009DDBC A0 1F 1F BC */ lhz r0, 0x1fbc(r31)
+/* 800A0E80 0009DDC0 28 00 02 02 */ cmplwi r0, 0x202
+/* 800A0E84 0009DDC4 40 82 00 2C */ bne lbl_800A0EB0
+/* 800A0E88 0009DDC8 7F E3 FB 78 */ mr r3, r31
+/* 800A0E8C 0009DDCC 48 04 04 E9 */ bl daAlink_c_NS_getCopyRodControllActor
+/* 800A0E90 0009DDD0 7C 64 1B 78 */ mr r4, r3
+/* 800A0E94 0009DDD4 7F E3 FB 78 */ mr r3, r31
+/* 800A0E98 0009DDD8 38 A1 00 10 */ addi r5, r1, 0x10
+/* 800A0E9C 0009DDDC 4B FF F9 CD */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz
+/* 800A0EA0 0009DDE0 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A0EA4 0009DDE4 41 82 00 0C */ beq lbl_800A0EB0
+/* 800A0EA8 0009DDE8 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 800A0EAC 0009DDEC 48 00 05 68 */ b lbl_800A1414
+lbl_800A0EB0:
+/* 800A0EB0 0009DDF0 7F E3 FB 78 */ mr r3, r31
+/* 800A0EB4 0009DDF4 38 80 00 01 */ li r4, 1
+/* 800A0EB8 0009DDF8 48 00 6B 35 */ bl daAlink_c_NS_checkWindSpeedOnAngleAnime
+/* 800A0EBC 0009DDFC 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A0EC0 0009DE00 41 82 01 08 */ beq lbl_800A0FC8
+/* 800A0EC4 0009DE04 80 1F 05 74 */ lwz r0, 0x574(r31)
+/* 800A0EC8 0009DE08 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6
+/* 800A0ECC 0009DE0C 41 82 00 84 */ beq lbl_800A0F50
+/* 800A0ED0 0009DE10 A8 9F 04 E6 */ lha r4, 0x4e6(r31)
+/* 800A0ED4 0009DE14 A8 7F 30 CC */ lha r3, 0x30cc(r31)
+/* 800A0ED8 0009DE18 3C 63 00 01 */ addis r3, r3, 1
+/* 800A0EDC 0009DE1C 38 03 80 00 */ addi r0, r3, -32768
+/* 800A0EE0 0009DE20 7C 04 00 50 */ subf r0, r4, r0
+/* 800A0EE4 0009DE24 7C 00 07 35 */ extsh. r0, r0
+/* 800A0EE8 0009DE28 C0 5F 04 D8 */ lfs f2, 0x4d8(r31)
+/* 800A0EEC 0009DE2C C0 22 93 50 */ lfs f1, lbl_80452D50-_SDA2_BASE_(r2)
+/* 800A0EF0 0009DE30 3C 60 80 44 */ lis r3, lbl_80439A20@ha
+/* 800A0EF4 0009DE34 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l
+/* 800A0EF8 0009DE38 38 04 40 00 */ addi r0, r4, 0x4000
+/* 800A0EFC 0009DE3C 7C 00 07 34 */ extsh r0, r0
+/* 800A0F00 0009DE40 41 80 00 0C */ blt lbl_800A0F0C
+/* 800A0F04 0009DE44 38 04 C0 00 */ addi r0, r4, -16384
+/* 800A0F08 0009DE48 7C 00 07 34 */ extsh r0, r0
+lbl_800A0F0C:
+/* 800A0F0C 0009DE4C 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
+/* 800A0F10 0009DE50 7C 63 02 14 */ add r3, r3, r0
+/* 800A0F14 0009DE54 C0 03 00 04 */ lfs f0, 4(r3)
+/* 800A0F18 0009DE58 EC 01 00 32 */ fmuls f0, f1, f0
+/* 800A0F1C 0009DE5C EC 82 00 2A */ fadds f4, f2, f0
+/* 800A0F20 0009DE60 C0 7F 04 D4 */ lfs f3, 0x4d4(r31)
+/* 800A0F24 0009DE64 C0 5F 04 D0 */ lfs f2, 0x4d0(r31)
+/* 800A0F28 0009DE68 C0 22 93 50 */ lfs f1, lbl_80452D50-_SDA2_BASE_(r2)
+/* 800A0F2C 0009DE6C 3C 60 80 44 */ lis r3, lbl_80439A20@ha
+/* 800A0F30 0009DE70 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l
+/* 800A0F34 0009DE74 7C 03 04 2E */ lfsx f0, r3, r0
+/* 800A0F38 0009DE78 EC 01 00 32 */ fmuls f0, f1, f0
+/* 800A0F3C 0009DE7C EC 02 00 2A */ fadds f0, f2, f0
+/* 800A0F40 0009DE80 D0 1B 00 00 */ stfs f0, 0(r27)
+/* 800A0F44 0009DE84 D0 7B 00 04 */ stfs f3, 4(r27)
+/* 800A0F48 0009DE88 D0 9B 00 08 */ stfs f4, 8(r27)
+/* 800A0F4C 0009DE8C 48 00 00 40 */ b lbl_800A0F8C
+lbl_800A0F50:
+/* 800A0F50 0009DE90 C0 3F 04 D8 */ lfs f1, 0x4d8(r31)
+/* 800A0F54 0009DE94 C0 42 93 50 */ lfs f2, lbl_80452D50-_SDA2_BASE_(r2)
+/* 800A0F58 0009DE98 C0 1F 35 C0 */ lfs f0, 0x35c0(r31)
+/* 800A0F5C 0009DE9C EC 02 00 32 */ fmuls f0, f2, f0
+/* 800A0F60 0009DEA0 EC 81 00 28 */ fsubs f4, f1, f0
+/* 800A0F64 0009DEA4 C0 22 93 E0 */ lfs f1, lbl_80452DE0-_SDA2_BASE_(r2)
+/* 800A0F68 0009DEA8 C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
+/* 800A0F6C 0009DEAC EC 61 00 2A */ fadds f3, f1, f0
+/* 800A0F70 0009DEB0 C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
+/* 800A0F74 0009DEB4 C0 1F 35 B8 */ lfs f0, 0x35b8(r31)
+/* 800A0F78 0009DEB8 EC 02 00 32 */ fmuls f0, f2, f0
+/* 800A0F7C 0009DEBC EC 01 00 28 */ fsubs f0, f1, f0
+/* 800A0F80 0009DEC0 D0 1B 00 00 */ stfs f0, 0(r27)
+/* 800A0F84 0009DEC4 D0 7B 00 04 */ stfs f3, 4(r27)
+/* 800A0F88 0009DEC8 D0 9B 00 08 */ stfs f4, 8(r27)
+lbl_800A0F8C:
+/* 800A0F8C 0009DECC 7F E3 FB 78 */ mr r3, r31
+/* 800A0F90 0009DED0 7F 64 DB 78 */ mr r4, r27
+/* 800A0F94 0009DED4 4B FF F8 45 */ bl checkAttentionPosAngle__9daAlink_cFP4cXyz
+/* 800A0F98 0009DED8 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A0F9C 0009DEDC 41 82 04 38 */ beq lbl_800A13D4
+/* 800A0FA0 0009DEE0 80 1F 05 74 */ lwz r0, 0x574(r31)
+/* 800A0FA4 0009DEE4 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6
+/* 800A0FA8 0009DEE8 41 82 00 10 */ beq lbl_800A0FB8
+/* 800A0FAC 0009DEEC 80 1F 05 88 */ lwz r0, 0x588(r31)
+/* 800A0FB0 0009DEF0 60 00 40 00 */ ori r0, r0, 0x4000
+/* 800A0FB4 0009DEF4 90 1F 05 88 */ stw r0, 0x588(r31)
+lbl_800A0FB8:
+/* 800A0FB8 0009DEF8 38 00 00 00 */ li r0, 0
+/* 800A0FBC 0009DEFC 90 1C 00 00 */ stw r0, 0(r28)
+/* 800A0FC0 0009DF00 7F 63 DB 78 */ mr r3, r27
+/* 800A0FC4 0009DF04 48 00 04 50 */ b lbl_800A1414
+lbl_800A0FC8:
+/* 800A0FC8 0009DF08 C0 3F 35 CC */ lfs f1, 0x35cc(r31)
+/* 800A0FCC 0009DF0C C0 1F 35 C4 */ lfs f0, 0x35c4(r31)
+/* 800A0FD0 0009DF10 D0 01 00 20 */ stfs f0, 0x20(r1)
+/* 800A0FD4 0009DF14 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 800A0FD8 0009DF18 D0 01 00 24 */ stfs f0, 0x24(r1)
+/* 800A0FDC 0009DF1C D0 21 00 28 */ stfs f1, 0x28(r1)
+/* 800A0FE0 0009DF20 38 61 00 20 */ addi r3, r1, 0x20
+/* 800A0FE4 0009DF24 48 2A 61 55 */ bl PSVECSquareMag
+/* 800A0FE8 0009DF28 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2)
+/* 800A0FEC 0009DF2C FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 800A0FF0 0009DF30 40 81 00 68 */ ble lbl_800A1058
+/* 800A0FF4 0009DF34 80 1F 31 A0 */ lwz r0, 0x31a0(r31)
+/* 800A0FF8 0009DF38 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 800A0FFC 0009DF3C 41 82 00 5C */ beq lbl_800A1058
+/* 800A1000 0009DF40 80 1F 05 74 */ lwz r0, 0x574(r31)
+/* 800A1004 0009DF44 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6
+/* 800A1008 0009DF48 41 82 00 0C */ beq lbl_800A1014
+/* 800A100C 0009DF4C C0 62 93 B0 */ lfs f3, lbl_80452DB0-_SDA2_BASE_(r2)
+/* 800A1010 0009DF50 48 00 00 08 */ b lbl_800A1018
+lbl_800A1014:
+/* 800A1014 0009DF54 C0 62 93 E0 */ lfs f3, lbl_80452DE0-_SDA2_BASE_(r2)
+lbl_800A1018:
+/* 800A1018 0009DF58 C0 3F 04 D8 */ lfs f1, 0x4d8(r31)
+/* 800A101C 0009DF5C C0 42 93 50 */ lfs f2, lbl_80452D50-_SDA2_BASE_(r2)
+/* 800A1020 0009DF60 C0 1F 35 CC */ lfs f0, 0x35cc(r31)
+/* 800A1024 0009DF64 EC 02 00 32 */ fmuls f0, f2, f0
+/* 800A1028 0009DF68 EC 81 00 2A */ fadds f4, f1, f0
+/* 800A102C 0009DF6C C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
+/* 800A1030 0009DF70 EC 60 18 2A */ fadds f3, f0, f3
+/* 800A1034 0009DF74 C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
+/* 800A1038 0009DF78 C0 1F 35 C4 */ lfs f0, 0x35c4(r31)
+/* 800A103C 0009DF7C EC 02 00 32 */ fmuls f0, f2, f0
+/* 800A1040 0009DF80 EC 01 00 2A */ fadds f0, f1, f0
+/* 800A1044 0009DF84 D0 1B 00 00 */ stfs f0, 0(r27)
+/* 800A1048 0009DF88 D0 7B 00 04 */ stfs f3, 4(r27)
+/* 800A104C 0009DF8C D0 9B 00 08 */ stfs f4, 8(r27)
+/* 800A1050 0009DF90 7F 63 DB 78 */ mr r3, r27
+/* 800A1054 0009DF94 48 00 03 C0 */ b lbl_800A1414
+lbl_800A1058:
+/* 800A1058 0009DF98 C0 3F 35 9C */ lfs f1, 0x359c(r31)
+/* 800A105C 0009DF9C C0 1F 35 94 */ lfs f0, 0x3594(r31)
+/* 800A1060 0009DFA0 D0 01 00 14 */ stfs f0, 0x14(r1)
+/* 800A1064 0009DFA4 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 800A1068 0009DFA8 D0 01 00 18 */ stfs f0, 0x18(r1)
+/* 800A106C 0009DFAC D0 21 00 1C */ stfs f1, 0x1c(r1)
+/* 800A1070 0009DFB0 38 61 00 14 */ addi r3, r1, 0x14
+/* 800A1074 0009DFB4 48 2A 60 C5 */ bl PSVECSquareMag
+/* 800A1078 0009DFB8 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2)
+/* 800A107C 0009DFBC FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 800A1080 0009DFC0 40 81 00 58 */ ble lbl_800A10D8
+/* 800A1084 0009DFC4 FC 00 08 34 */ frsqrte f0, f1
+/* 800A1088 0009DFC8 C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2)
+/* 800A108C 0009DFCC FC 44 00 32 */ fmul f2, f4, f0
+/* 800A1090 0009DFD0 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2)
+/* 800A1094 0009DFD4 FC 00 00 32 */ fmul f0, f0, f0
+/* 800A1098 0009DFD8 FC 01 00 32 */ fmul f0, f1, f0
+/* 800A109C 0009DFDC FC 03 00 28 */ fsub f0, f3, f0
+/* 800A10A0 0009DFE0 FC 02 00 32 */ fmul f0, f2, f0
+/* 800A10A4 0009DFE4 FC 44 00 32 */ fmul f2, f4, f0
+/* 800A10A8 0009DFE8 FC 00 00 32 */ fmul f0, f0, f0
+/* 800A10AC 0009DFEC FC 01 00 32 */ fmul f0, f1, f0
+/* 800A10B0 0009DFF0 FC 03 00 28 */ fsub f0, f3, f0
+/* 800A10B4 0009DFF4 FC 02 00 32 */ fmul f0, f2, f0
+/* 800A10B8 0009DFF8 FC 44 00 32 */ fmul f2, f4, f0
+/* 800A10BC 0009DFFC FC 00 00 32 */ fmul f0, f0, f0
+/* 800A10C0 0009E000 FC 01 00 32 */ fmul f0, f1, f0
+/* 800A10C4 0009E004 FC 03 00 28 */ fsub f0, f3, f0
+/* 800A10C8 0009E008 FC 02 00 32 */ fmul f0, f2, f0
+/* 800A10CC 0009E00C FC 21 00 32 */ fmul f1, f1, f0
+/* 800A10D0 0009E010 FC 20 08 18 */ frsp f1, f1
+/* 800A10D4 0009E014 48 00 00 88 */ b lbl_800A115C
+lbl_800A10D8:
+/* 800A10D8 0009E018 C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2)
+/* 800A10DC 0009E01C FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 800A10E0 0009E020 40 80 00 10 */ bge lbl_800A10F0
+/* 800A10E4 0009E024 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
+/* 800A10E8 0009E028 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
+/* 800A10EC 0009E02C 48 00 00 70 */ b lbl_800A115C
+lbl_800A10F0:
+/* 800A10F0 0009E030 D0 21 00 08 */ stfs f1, 8(r1)
+/* 800A10F4 0009E034 80 81 00 08 */ lwz r4, 8(r1)
+/* 800A10F8 0009E038 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
+/* 800A10FC 0009E03C 3C 00 7F 80 */ lis r0, 0x7f80
+/* 800A1100 0009E040 7C 03 00 00 */ cmpw r3, r0
+/* 800A1104 0009E044 41 82 00 14 */ beq lbl_800A1118
+/* 800A1108 0009E048 40 80 00 40 */ bge lbl_800A1148
+/* 800A110C 0009E04C 2C 03 00 00 */ cmpwi r3, 0
+/* 800A1110 0009E050 41 82 00 20 */ beq lbl_800A1130
+/* 800A1114 0009E054 48 00 00 34 */ b lbl_800A1148
+lbl_800A1118:
+/* 800A1118 0009E058 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 800A111C 0009E05C 41 82 00 0C */ beq lbl_800A1128
+/* 800A1120 0009E060 38 00 00 01 */ li r0, 1
+/* 800A1124 0009E064 48 00 00 28 */ b lbl_800A114C
+lbl_800A1128:
+/* 800A1128 0009E068 38 00 00 02 */ li r0, 2
+/* 800A112C 0009E06C 48 00 00 20 */ b lbl_800A114C
+lbl_800A1130:
+/* 800A1130 0009E070 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 800A1134 0009E074 41 82 00 0C */ beq lbl_800A1140
+/* 800A1138 0009E078 38 00 00 05 */ li r0, 5
+/* 800A113C 0009E07C 48 00 00 10 */ b lbl_800A114C
+lbl_800A1140:
+/* 800A1140 0009E080 38 00 00 03 */ li r0, 3
+/* 800A1144 0009E084 48 00 00 08 */ b lbl_800A114C
+lbl_800A1148:
+/* 800A1148 0009E088 38 00 00 04 */ li r0, 4
+lbl_800A114C:
+/* 800A114C 0009E08C 2C 00 00 01 */ cmpwi r0, 1
+/* 800A1150 0009E090 40 82 00 0C */ bne lbl_800A115C
+/* 800A1154 0009E094 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
+/* 800A1158 0009E098 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
+lbl_800A115C:
+/* 800A115C 0009E09C C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2)
+/* 800A1160 0009E0A0 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 800A1164 0009E0A4 40 81 00 70 */ ble lbl_800A11D4
+/* 800A1168 0009E0A8 7F E3 FB 78 */ mr r3, r31
+/* 800A116C 0009E0AC 38 80 00 14 */ li r4, 0x14
+/* 800A1170 0009E0B0 48 00 B3 E9 */ bl daAlink_c_NS_checkUnderMove0BckNoArc
+/* 800A1174 0009E0B4 2C 03 00 00 */ cmpwi r3, 0
+/* 800A1178 0009E0B8 40 82 00 18 */ bne lbl_800A1190
+/* 800A117C 0009E0BC 7F E3 FB 78 */ mr r3, r31
+/* 800A1180 0009E0C0 38 80 00 37 */ li r4, 0x37
+/* 800A1184 0009E0C4 48 08 76 89 */ bl daAlink_c_NS_checkUnderMove0BckNoArcWolf
+/* 800A1188 0009E0C8 2C 03 00 00 */ cmpwi r3, 0
+/* 800A118C 0009E0CC 41 82 00 48 */ beq lbl_800A11D4
+lbl_800A1190:
+/* 800A1190 0009E0D0 C0 3F 04 D8 */ lfs f1, 0x4d8(r31)
+/* 800A1194 0009E0D4 C0 42 93 50 */ lfs f2, lbl_80452D50-_SDA2_BASE_(r2)
+/* 800A1198 0009E0D8 C0 1F 35 9C */ lfs f0, 0x359c(r31)
+/* 800A119C 0009E0DC EC 02 00 32 */ fmuls f0, f2, f0
+/* 800A11A0 0009E0E0 EC 81 00 2A */ fadds f4, f1, f0
+/* 800A11A4 0009E0E4 C0 22 92 E0 */ lfs f1, lbl_80452CE0-_SDA2_BASE_(r2)
+/* 800A11A8 0009E0E8 C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
+/* 800A11AC 0009E0EC EC 61 00 2A */ fadds f3, f1, f0
+/* 800A11B0 0009E0F0 C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
+/* 800A11B4 0009E0F4 C0 1F 35 94 */ lfs f0, 0x3594(r31)
+/* 800A11B8 0009E0F8 EC 02 00 32 */ fmuls f0, f2, f0
+/* 800A11BC 0009E0FC EC 01 00 2A */ fadds f0, f1, f0
+/* 800A11C0 0009E100 D0 1B 00 00 */ stfs f0, 0(r27)
+/* 800A11C4 0009E104 D0 7B 00 04 */ stfs f3, 4(r27)
+/* 800A11C8 0009E108 D0 9B 00 08 */ stfs f4, 8(r27)
+/* 800A11CC 0009E10C 7F 63 DB 78 */ mr r3, r27
+/* 800A11D0 0009E110 48 00 02 44 */ b lbl_800A1414
+lbl_800A11D4:
+/* 800A11D4 0009E114 80 1F 05 74 */ lwz r0, 0x574(r31)
+/* 800A11D8 0009E118 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6
+/* 800A11DC 0009E11C 41 82 01 F8 */ beq lbl_800A13D4
+/* 800A11E0 0009E120 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31)
+/* 800A11E4 0009E124 28 00 01 11 */ cmplwi r0, 0x111
+/* 800A11E8 0009E128 40 82 00 28 */ bne lbl_800A1210
+/* 800A11EC 0009E12C 7F E3 FB 78 */ mr r3, r31
+/* 800A11F0 0009E130 38 9F 37 C8 */ addi r4, r31, 0x37c8
+/* 800A11F4 0009E134 4B FF F5 E5 */ bl checkAttentionPosAngle__9daAlink_cFP4cXyz
+/* 800A11F8 0009E138 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A11FC 0009E13C 41 82 01 D8 */ beq lbl_800A13D4
+/* 800A1200 0009E140 38 00 00 00 */ li r0, 0
+/* 800A1204 0009E144 90 1C 00 00 */ stw r0, 0(r28)
+/* 800A1208 0009E148 38 7F 37 C8 */ addi r3, r31, 0x37c8
+/* 800A120C 0009E14C 48 00 02 08 */ b lbl_800A1414
+lbl_800A1210:
+/* 800A1210 0009E150 80 1F 27 EC */ lwz r0, 0x27ec(r31)
+/* 800A1214 0009E154 28 00 00 00 */ cmplwi r0, 0
+/* 800A1218 0009E158 40 82 01 BC */ bne lbl_800A13D4
+/* 800A121C 0009E15C 7F E3 FB 78 */ mr r3, r31
+/* 800A1220 0009E160 48 01 22 E1 */ bl daAlink_c_NS_checkAttentionState
+/* 800A1224 0009E164 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A1228 0009E168 41 82 00 10 */ beq lbl_800A1238
+/* 800A122C 0009E16C A0 1F 2F E8 */ lhz r0, 0x2fe8(r31)
+/* 800A1230 0009E170 28 00 00 F6 */ cmplwi r0, 0xf6
+/* 800A1234 0009E174 41 82 00 10 */ beq lbl_800A1244
+lbl_800A1238:
+/* 800A1238 0009E178 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31)
+/* 800A123C 0009E17C 28 00 01 1B */ cmplwi r0, 0x11b
+/* 800A1240 0009E180 40 82 01 94 */ bne lbl_800A13D4
+lbl_800A1244:
+/* 800A1244 0009E184 3C 60 80 44 */ lis r3, lbl_80439A20@ha
+/* 800A1248 0009E188 38 83 9A 20 */ addi r4, r3, lbl_80439A20@l
+/* 800A124C 0009E18C A8 1F 2F E4 */ lha r0, 0x2fe4(r31)
+/* 800A1250 0009E190 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
+/* 800A1254 0009E194 7C 64 02 14 */ add r3, r4, r0
+/* 800A1258 0009E198 C0 03 00 04 */ lfs f0, 4(r3)
+/* 800A125C 0009E19C C0 3F 04 D8 */ lfs f1, 0x4d8(r31)
+/* 800A1260 0009E1A0 C0 42 93 B8 */ lfs f2, lbl_80452DB8-_SDA2_BASE_(r2)
+/* 800A1264 0009E1A4 EC 02 00 32 */ fmuls f0, f2, f0
+/* 800A1268 0009E1A8 EC 81 00 2A */ fadds f4, f1, f0
+/* 800A126C 0009E1AC C0 7F 05 3C */ lfs f3, 0x53c(r31)
+/* 800A1270 0009E1B0 7C 04 04 2E */ lfsx f0, r4, r0
+/* 800A1274 0009E1B4 C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
+/* 800A1278 0009E1B8 EC 02 00 32 */ fmuls f0, f2, f0
+/* 800A127C 0009E1BC EC 01 00 2A */ fadds f0, f1, f0
+/* 800A1280 0009E1C0 D0 1B 00 00 */ stfs f0, 0(r27)
+/* 800A1284 0009E1C4 D0 7B 00 04 */ stfs f3, 4(r27)
+/* 800A1288 0009E1C8 D0 9B 00 08 */ stfs f4, 8(r27)
+/* 800A128C 0009E1CC 7F E3 FB 78 */ mr r3, r31
+/* 800A1290 0009E1D0 7F 64 DB 78 */ mr r4, r27
+/* 800A1294 0009E1D4 4B FF F5 45 */ bl checkAttentionPosAngle__9daAlink_cFP4cXyz
+/* 800A1298 0009E1D8 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A129C 0009E1DC 41 82 01 38 */ beq lbl_800A13D4
+/* 800A12A0 0009E1E0 38 00 00 00 */ li r0, 0
+/* 800A12A4 0009E1E4 90 1C 00 00 */ stw r0, 0(r28)
+/* 800A12A8 0009E1E8 7F 63 DB 78 */ mr r3, r27
+/* 800A12AC 0009E1EC 48 00 01 68 */ b lbl_800A1414
+lbl_800A12B0:
+/* 800A12B0 0009E1F0 83 3F 06 14 */ lwz r25, 0x614(r31)
+/* 800A12B4 0009E1F4 3B C0 00 00 */ li r30, 0
+/* 800A12B8 0009E1F8 80 1F 05 90 */ lwz r0, 0x590(r31)
+/* 800A12BC 0009E1FC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
+/* 800A12C0 0009E200 41 82 00 60 */ beq lbl_800A1320
+/* 800A12C4 0009E204 3B 40 00 01 */ li r26, 1
+/* 800A12C8 0009E208 48 10 B2 B5 */ bl dKy_darkworld_check
+/* 800A12CC 0009E20C 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 800A12D0 0009E210 28 00 00 01 */ cmplwi r0, 1
+/* 800A12D4 0009E214 41 82 00 24 */ beq lbl_800A12F8
+/* 800A12D8 0009E218 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
+/* 800A12DC 0009E21C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
+/* 800A12E0 0009E220 38 63 00 28 */ addi r3, r3, 0x28
+/* 800A12E4 0009E224 38 80 00 03 */ li r4, 3
+/* 800A12E8 0009E228 4B F9 19 05 */ bl isTransformLV__21dSv_player_status_b_cCFi
+/* 800A12EC 0009E22C 2C 03 00 00 */ cmpwi r3, 0
+/* 800A12F0 0009E230 40 82 00 08 */ bne lbl_800A12F8
+/* 800A12F4 0009E234 3B 40 00 00 */ li r26, 0
+lbl_800A12F8:
+/* 800A12F8 0009E238 57 40 06 3F */ clrlwi. r0, r26, 0x18
+/* 800A12FC 0009E23C 41 82 00 24 */ beq lbl_800A1320
+/* 800A1300 0009E240 80 1F 05 74 */ lwz r0, 0x574(r31)
+/* 800A1304 0009E244 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6
+/* 800A1308 0009E248 41 82 00 18 */ beq lbl_800A1320
+/* 800A130C 0009E24C 38 00 00 01 */ li r0, 1
+/* 800A1310 0009E250 90 1C 00 00 */ stw r0, 0(r28)
+/* 800A1314 0009E254 80 6D 8A 98 */ lwz r3, lbl_80451018-_SDA_BASE_(r13)
+/* 800A1318 0009E258 38 63 05 38 */ addi r3, r3, 0x538
+/* 800A131C 0009E25C 48 00 00 F8 */ b lbl_800A1414
+lbl_800A1320:
+/* 800A1320 0009E260 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31)
+/* 800A1324 0009E264 28 00 01 4A */ cmplwi r0, 0x14a
+/* 800A1328 0009E268 41 82 00 4C */ beq lbl_800A1374
+/* 800A132C 0009E26C 28 19 00 17 */ cmplwi r25, 0x17
+/* 800A1330 0009E270 41 82 00 44 */ beq lbl_800A1374
+/* 800A1334 0009E274 7F E3 FB 78 */ mr r3, r31
+/* 800A1338 0009E278 7F 24 CB 78 */ mr r4, r25
+/* 800A133C 0009E27C 48 07 5B 25 */ bl daAlink_c_NS_checkDemoMoveMode
+/* 800A1340 0009E280 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A1344 0009E284 40 82 00 30 */ bne lbl_800A1374
+/* 800A1348 0009E288 28 19 00 01 */ cmplwi r25, 1
+/* 800A134C 0009E28C 41 82 00 28 */ beq lbl_800A1374
+/* 800A1350 0009E290 28 19 00 04 */ cmplwi r25, 4
+/* 800A1354 0009E294 41 82 00 20 */ beq lbl_800A1374
+/* 800A1358 0009E298 28 19 00 2C */ cmplwi r25, 0x2c
+/* 800A135C 0009E29C 41 82 00 18 */ beq lbl_800A1374
+/* 800A1360 0009E2A0 38 19 FF D1 */ addi r0, r25, -47
+/* 800A1364 0009E2A4 28 00 00 02 */ cmplwi r0, 2
+/* 800A1368 0009E2A8 40 81 00 0C */ ble lbl_800A1374
+/* 800A136C 0009E2AC 28 19 00 0C */ cmplwi r25, 0xc
+/* 800A1370 0009E2B0 40 82 00 44 */ bne lbl_800A13B4
+lbl_800A1374:
+/* 800A1374 0009E2B4 7F E3 FB 78 */ mr r3, r31
+/* 800A1378 0009E2B8 48 07 6D 75 */ bl daAlink_c_NS_getDemoLookActor
+/* 800A137C 0009E2BC 7C 64 1B 79 */ or. r4, r3, r3
+/* 800A1380 0009E2C0 41 82 00 18 */ beq lbl_800A1398
+/* 800A1384 0009E2C4 A8 04 00 08 */ lha r0, 8(r4)
+/* 800A1388 0009E2C8 2C 00 00 FF */ cmpwi r0, 0xff
+/* 800A138C 0009E2CC 40 82 00 0C */ bne lbl_800A1398
+/* 800A1390 0009E2D0 38 64 05 38 */ addi r3, r4, 0x538
+/* 800A1394 0009E2D4 48 00 00 80 */ b lbl_800A1414
+lbl_800A1398:
+/* 800A1398 0009E2D8 7F E3 FB 78 */ mr r3, r31
+/* 800A139C 0009E2DC 38 A1 00 10 */ addi r5, r1, 0x10
+/* 800A13A0 0009E2E0 4B FF F4 C9 */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz
+/* 800A13A4 0009E2E4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A13A8 0009E2E8 41 82 00 2C */ beq lbl_800A13D4
+/* 800A13AC 0009E2EC 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 800A13B0 0009E2F0 48 00 00 64 */ b lbl_800A1414
+lbl_800A13B4:
+/* 800A13B4 0009E2F4 7F E3 FB 78 */ mr r3, r31
+/* 800A13B8 0009E2F8 80 9F 28 60 */ lwz r4, 0x2860(r31)
+/* 800A13BC 0009E2FC 38 A1 00 10 */ addi r5, r1, 0x10
+/* 800A13C0 0009E300 4B FF F4 A9 */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz
+/* 800A13C4 0009E304 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A13C8 0009E308 41 82 00 0C */ beq lbl_800A13D4
+/* 800A13CC 0009E30C 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 800A13D0 0009E310 48 00 00 44 */ b lbl_800A1414
+lbl_800A13D4:
+/* 800A13D4 0009E314 2C 1D 00 00 */ cmpwi r29, 0
+/* 800A13D8 0009E318 40 82 00 0C */ bne lbl_800A13E4
+/* 800A13DC 0009E31C 38 60 00 00 */ li r3, 0
+/* 800A13E0 0009E320 48 00 00 34 */ b lbl_800A1414
+lbl_800A13E4:
+/* 800A13E4 0009E324 7F C0 07 35 */ extsh. r0, r30
+/* 800A13E8 0009E328 40 81 00 28 */ ble lbl_800A1410
+/* 800A13EC 0009E32C 38 1E FF FF */ addi r0, r30, -1
+/* 800A13F0 0009E330 B0 1F 31 1C */ sth r0, 0x311c(r31)
+/* 800A13F4 0009E334 7F E3 FB 78 */ mr r3, r31
+/* 800A13F8 0009E338 38 9F 35 04 */ addi r4, r31, 0x3504
+/* 800A13FC 0009E33C 4B FF F3 DD */ bl checkAttentionPosAngle__9daAlink_cFP4cXyz
+/* 800A1400 0009E340 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 800A1404 0009E344 41 82 00 0C */ beq lbl_800A1410
+/* 800A1408 0009E348 38 7F 35 04 */ addi r3, r31, 0x3504
+/* 800A140C 0009E34C 48 00 00 08 */ b lbl_800A1414
+lbl_800A1410:
+/* 800A1410 0009E350 38 60 00 00 */ li r3, 0
+lbl_800A1414:
+/* 800A1414 0009E354 39 61 00 60 */ addi r11, r1, 0x60
+/* 800A1418 0009E358 48 2C 0D FD */ bl func_80362214
+/* 800A141C 0009E35C 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 800A1420 0009E360 7C 08 03 A6 */ mtlr r0
+/* 800A1424 0009E364 38 21 00 60 */ addi r1, r1, 0x60
+/* 800A1428 0009E368 4E 80 00 20 */ blr \ No newline at end of file
diff --git a/include/d/d_a/d_a_alink/d_a_alink.h b/include/d/d_a/d_a_alink/d_a_alink.h
new file mode 100644
index 0000000000..8792a24510
--- /dev/null
+++ b/include/d/d_a/d_a_alink/d_a_alink.h
@@ -0,0 +1,368 @@
+#ifndef D_A_ALINK_H_
+#define D_A_ALINK_H_
+
+#include "global.h"
+#include "f/f_op/f_op_actor.h"
+#include "d/d_cc/d_cc_d.h"
+#include "d/d_a/d_a_player/d_a_player.h"
+#include "d/d_com/d_com_inf_game/d_com_inf_game.h"
+#include "d/d_resource/d_resource.h"
+#include "d/d_save/d_save/d_save.h"
+#include "SComponent/c_bg_s_poly_info.h"
+#include "JSystem/J3DGraphAnimator/J3DModelData.h"
+#include "JSystem/J3DGraphAnimator/J3DModel.h"
+#include "JSystem/J3DGraphAnimator/J3DModelLoader.h"
+#include "JSystem/J3DGraphAnimator/J3DJoint.h"
+
+typedef u32 daAlink_ANM;
+typedef u32 daAlink_UPPER;
+typedef u32 daAlink_UNDER;
+typedef u32 daAlink_FTANM;
+
+class daAlink_matAnm_c{
+ public:
+ void init(void);
+ void calc(J3DMaterial*) const;
+
+ private:
+ u8 unk0[0xf4];
+ float unk244;
+ float unk248;
+ float unk252;
+ float unk256;
+ u32 unk260;
+};
+
+class daAlink_footData_c;
+class daAlinkHIO_anm_c;
+class daPy_frameCtrl_c;
+struct cM3dGPla;
+
+struct csXyz{ //move later
+ s16 x,y,z;
+};
+
+class daAlink_c{
+ public:
+ u32 getE3Zhint(void);
+ const char* getAlinkArcName(void);
+ u32 checkStageName(const char*);
+ void tgHitCallback(fopAc_ac_c*, dCcD_GObjInf*, dCcD_GObjInf*);
+ void coHitCallback(fopAc_ac_c*, dCcD_GObjInf*);
+ void setMatrixWorldAxisRot(float(*)[4],short,short,short,int,const cXyz*);
+ bool jointControll(int);
+ void setUpperFront(void);
+ void changeBlendRate(int);
+ void resetRootMtx(void);
+ bool modelCallBack(int);
+ bool headModelCallBack(int);
+ bool wolfModelCallBack(int);
+ void setHatAngle(void);
+ void calcHairAngle(short*);
+ void setHairAngle(cXyz*,float,float);
+ void setLookPosFromOut(cXyz*);
+ int checkAttentionPosAngle(cXyz*);
+ bool checkActorPosAngle(fopAc_ac_c*, cXyz**);
+ cXyz* getNeckAimPos(cXyz*, int*, int);
+ int getNeckAimAngle(cXyz*, short*, short*, short*, short*);
+ double setEyeMove(cXyz*, short, short);
+ void setNeckAngle(void);
+ bool getStickAngleFromPlayerShape(short*) const;
+ void commonLineCheck(cXyz*,cXyz*);
+ int getMoveBGActorName(cBgS_PolyInfo&, int);
+ bool checkGoronRide(void);
+ void setMoveSlantAngle(void);
+ bool setArmMatrix(void);
+ bool setFootMatrix(void);
+ void setMatrixOffset(float*,float);
+ bool setLegAngle(float, daAlink_footData_c*, short*, short*, int);
+ void footBgCheck(void);
+ void handBgCheck(void);
+ void setItemHeap(void);
+ void setIdxMask(u16*, u16*);
+ void getAnimeResource(daPy_anmHeap_c*, u16, u32);
+ u32 initModel(J3DModelData*, u32, u32);
+ void initModel(u16, u32);
+ void initModelEnv(u16, u32);
+ bool initDemoModel(J3DModel**, char const*, u32);
+ bool initDemoBck(mDoExt_bckAnm**, char const*);
+ bool createHeap(void);
+ void setSelectEquipItem(int);
+ bool checkBoarStart(void);
+ bool checkCanoeStart(void);
+ void playerInit(void);
+ bool checkHorseStart(u32, int);
+ bool setStartProcInit(void);
+ u32 create(void);
+ int setRoomInfo(void);
+ void setShapeAngleOnGround(void);
+ void setStepsOffset(void);
+ void iceSlipBgCheck(void);
+ void setIceSlipSpeed(void);
+ double setPolygonSpeed(void);
+ bool checkWindSpeedOnAngle(void) const;
+ bool checkWindSpeedOnAngleAnime(int) const;
+ bool checkDashAnime(void) const;
+ double checkWindWallRate(cXyz const&);
+ void setWindSpeed(void);
+ void setBodyPartPos(void);
+ u32 setRollJump(float, float, short);
+ void setAttentionPos(void);
+ void setMatrix(void);
+ double simpleAnmPlay(J3DAnmBase*);
+ void setSwordPos(void);
+ void setItemMatrix(int);
+ void setWolfItemMatrix(void);
+ void setHandIndex(daAlink_ANM);
+ void setSwordAtCollision(int);
+ bool checkNoCollisionCorret(void);
+ void decSwordBlur(void);
+ void resetWolfAtCollision(void);
+ void setWolfAtCollision(void);
+ void resetAtCollision(int);
+ void setAtCollision(void);
+ void setWolfCollisionPos(void);
+ void initLockAt(void);
+ void cancelLockAt(void);
+ void setCollisionPos(void);
+ void setCollision(void);
+ double getBaseAnimeFrame(void) const;
+ void setAnimeFrame(float);
+ void setFrameCtrl(daPy_frameCtrl_c*, u8, short, short, float, float);
+ u8 getMainBckData(daAlink_ANM);
+ bool checkUnderMove0BckNoArc(daAlink_ANM) const;
+ bool checkUnderMove1BckNoArc(daAlink_ANM) const;
+ u32 getUnderUpperAnime(daAlink_ANM, J3DAnmTransform**, J3DAnmTransform**, int, u32);
+ void setDoubleAnimeBlendRatio(float);
+ void commonDoubleAnime(J3DAnmTransform*, J3DAnmTransform*, J3DAnmTransform*, J3DAnmTransform*, float, float, float, int);
+ bool setDoubleAnime(float, float, float, daAlink_ANM, daAlink_ANM, int, float);
+ void commonSingleAnime(J3DAnmTransform*, J3DAnmTransform*, float, float, short);
+ void setSingleAnimeBase(daAlink_ANM);
+ void setSingleAnimeBaseMorf(daAlink_ANM, float);
+ void setSingleAnimeBaseSpeed(daAlink_ANM, float, float);
+ bool setSingleAnime(daAlink_ANM, float, float, short, float);
+ void setSingleAnimeParam(daAlink_ANM, daAlinkHIO_anm_c const*);
+ daAlink_c* animePlay(J3DAnmTransform*, daPy_frameCtrl_c*);
+ void allAnimePlay(void);
+ void setUpperAnimeMorf(float);
+ void setUpperAnimeBase(u16);
+ void setUpperAnimeBaseMorf(u16, float);
+ void setUpperAnimeBaseSpeed(u16, float, float);
+ void setUpperAnime(u16, daAlink_UPPER, float, float, short, float);
+ void setUpperAnimeParam(u16, daAlink_UPPER, daAlinkHIO_anm_c const*);
+ bool resetUpperAnime(daAlink_UPPER, float);
+ void setUnderAnimeMorf(float);
+ bool setUnderAnime(u16, daAlink_UNDER, float, float, short, float);
+ void setUnderAnimeParam(u16, daAlink_UNDER, daAlinkHIO_anm_c const*);
+ bool resetUnderAnime(daAlink_UNDER, float);
+ void setOldRootQuaternion(short, short, short);
+ bool checkAtnLeftAnime(void);
+ bool checkAtnRightAnime(void);
+ double getMoveGroundAngleSpeedRate(void);
+ void setBlendMoveAnime(float);
+ void setBlendAtnMoveAnime(float);
+ void setBlendAtnBackMoveAnime(float);
+ void setFaceBck(u16, int, u16);
+ void setFaceBtp(u16, int, u16);
+ void setFaceBtk(u16, int, u16);
+ daAlink_FTANM setFaceBasicTexture(daAlink_FTANM);
+ void setFaceBasicAnime(daAlink_ANM);
+ void setFacePriTexture(daAlink_FTANM);
+ void setFacePriAnime(daAlink_ANM);
+ void resetFacePriBck(void);
+ void resetFacePriBtp(void);
+ void resetFacePriBtk(void);
+ void resetFacePriTexture(void);
+ void resetFacePriAnime(void);
+ void playFaceTextureAnime(void);
+ int getGroundAngle(cBgS_PolyInfo*, short);
+ int getRoofAngle(cBgS_PolyInfo*, short);
+ u32 getWallEdgePos(cXyz const&, cM3dGPla*, cM3dGPla*, cXyz*, int);
+ void setFrontWallType(void);
+ bool checkWaterPolygonUnder(void);
+ void setWaterY(void);
+ void setHangWaterY(void);
+ void setSandDownBgCheckWallH(void);
+ void setBgCheckParam(void);
+ bool checkNotJumpSinkLimit(void);
+ bool checkNotItemSinkLimit(void);
+ void setSandShapeOffset(void);
+ bool checkLv2MiddleBossBgRide(short);
+ bool getSlidePolygon(cM3dGPla*);
+ bool checkSlope(void) const;
+ void setPlayerPosAndAngle(cXyz const*, short, int);
+ void setPlayerPosAndAngle(cXyz const*, csXyz const*);
+ void setPlayerPosAndAngle(float(*)[4]);
+ u32 itemTriggerCheck(u8);
+ u32 itemButtonCheck(u8);
+
+ private:
+ u8 unk[14268];
+};
+
+extern "C"{
+ void tgHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfP12dCcD_GObjInf(fopAc_ac_c*, dCcD_GObjInf*, dCcD_GObjInf*);
+ void coHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInf(fopAc_ac_c*, dCcD_GObjInf*);
+ void J3DMaterialAnm_NS_calc(void);
+ void PSVECAdd(Vec*, Vec*, Vec*);
+ void mDoMtx_stack_c_NS_transM(float, float, float);
+ void daAlink_c_NS_concatMagneBootInvMtx(void);
+ void mDoMtx_ZXYrotM(void);
+ void mDoMtx_YrotM(void);
+ void daAlink_c_NS_concatMagneBootMtx(void);
+ void mDoMtx_stack_c_NS_transS(void);
+ void PSMTXQuat(void);
+ void PSMTXInverse(void);
+ void mDoMtx_stack_c_NS_quatM(void);
+ void PSMTXTrans(void);
+ void daAlink_c_NS_checkUnderMove0BckNoArc(void);
+ void mDoMtx_QuatConcat(void);
+ void JMAEulerToQuat(void);
+ void daAlink_c_NS_checkBowAnime(void);
+ void setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz(float(*)[4],short,short,short,int,const cXyz*);
+ void daAlink_c_NS_checkHorseLieAnime(void);
+ void csXyz_X1_(void);
+ void daAlink_c_NS_checkNoUpperAnime(void);
+ void daAlink_c_NS_checkUpperReadyThrowAnime(void);
+ void daAlink_c_NS_setDoubleAnimeBlendRatio(void);
+ void changeBlendRate__9daAlink_cFi(int);
+ void daAlink_c_NS_setArmMatrix(void);
+ void daAlink_c_NS_setFootMatrix(void);
+ void setUpperFront__9daAlink_cFv(void);
+ bool jointControll__9daAlink_cFi(int);
+ void resetRootMtx__9daAlink_cFv(void);
+ bool modelCallBack__9daAlink_cFi(int);
+ void daAlink_c_NS_checkZoraWearAbility(void);
+ void mDoMtx_stack_c_NS_scaleM(void);
+ void mDoMtx_XYZrotM(void);
+ void mDoMtx_ZrotM(void);
+ bool headModelCallBack__9daAlink_cFi(int);
+ void daAlink_c_NS_changeWolfBlendRate(void);
+ void daAlink_c_NS_setWolfFootMatrix(void);
+ bool wolfModelCallBack__9daAlink_cFi(int);
+ void cLib_addCalcAngleS2(void);
+ void PSMTXMultVec(void);
+ void daAlink_c_NS_getMoveBGActorName(void);
+ void daAlink_c_NS_multVecMagneBootInvMtx(void);
+ void cXyz_NS___ml(void);
+ void cXyz_NS_atan2sY_XZ(void);
+ void cM_atan2s(void);
+ void cLib_distanceAngleS(void);
+ void cXyz_NS_atan2sX_Z(void);
+ void PSMTXMultVecSR(void);
+ void cXyz_NS___mi(void);
+ void dKyw_get_AllWind_vec(void);
+ void PSVECSquareMag(void);
+ void cLib_addCalcAngleS(void);
+ void cM_rndF(void);
+ void calcHairAngle__9daAlink_cFPs(short*);
+ void setHairAngle__9daAlink_cFP4cXyzff(cXyz*,float,float);
+ void cLib_targetAngleY(void);
+ void daAlink_c_NS_checkEnemyGroup(void);
+ int checkAttentionPosAngle__9daAlink_cFP4cXyz(cXyz*);
+ void daAlink_c_NS_getDemoLookActor(void);
+ void daAlink_c_NS_checkDemoMoveMode(void);
+ bool isTransformLV__21dSv_player_status_b_cCFi(int);
+ void dKy_darkworld_check(void);
+ void daAlink_c_NS_checkAttentionState(void);
+ void daAlink_c_NS_checkUnderMove0BckNoArcWolf(void);
+ void daAlink_c_NS_checkWindSpeedOnAngleAnime(void);
+ void daAlink_c_NS_getCopyRodControllActor(void);
+ void dAttLook_c_NS_convPId(void);
+ void daAlink_c_NS_checkEventRun(void);
+ bool checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz(fopAc_ac_c*, cXyz**);
+ void dCamera_c_NS_GetForceLockOnActor(void);
+ void dCam_getBody(void);
+ void dAttention_c_NS_LockonTarget(void);
+ void cM_rnd(void);
+ void fopAcIt_Judge(void);
+ void dAttList_c_NS_getActor(void);
+ void dAttention_c_NS_GetLockonList(void);
+ void fopAcM_getTalkEventPartner(void);
+}
+
+//daalink_matanm init
+extern float lbl_80452CC0;
+extern u8 lbl_80450FC8;
+extern u8 lbl_80450FC9;
+
+//daalink_matanm calc
+extern double lbl_80452CB0;
+extern float lbl_80452CB8;
+
+//daalink setmatrixworldaxisrot
+struct now{ // m_Do_mtx::mDoMtx_stack_c::now
+ float unk0[4];
+ float unk10[4];
+ float unk20[4];
+};
+struct mCurrentMtx{ // J3DGraphBase::J3DSys::mCurrentMtx
+ float unk0[4];
+ float unk10[4];
+ float unk20[4];
+};
+extern now lbl_803DD470;
+extern mCurrentMtx lbl_80434BE4;
+
+//daalink modelcallback
+struct j3dsys; // J3DGraphBase::j3dSys
+extern j3dsys lbl_80434AC8;
+
+//daalink headmodelcallback
+extern float lbl_80452EDC;
+
+//daalink sethatangle
+extern float lbl_80452CE0;
+extern double lbl_80452CE8;
+extern float lbl_80452D50;
+extern float lbl_80452DF8;
+extern float lbl_80452C9C;
+extern double lbl_80452CF0;
+extern double lbl_80452CF8;
+extern float lbl_80452D14;
+extern float lbl_80452D3C;
+extern float lbl_80452D88;
+extern float lbl_80452ED4;
+extern float lbl_80452F0C;
+extern float lbl_80453058;
+extern float lbl_80453100;
+extern float lbl_804531F0;
+extern float lbl_804531F4;
+extern cXyz lbl_80430CF4; // SComponent::cXyz::Zero
+extern cXyz lbl_80430D0C; // SComponent::cXyz::BaseX
+extern cXyz lbl_80430D24; // SComponent::cXyz::BaseY
+extern u8 lbl_80439A20[65536]; // JMath::JMath::sincosTable_
+
+//daalink sethairangle
+extern float lbl_80452C98;
+extern float lbl_80452D18;
+extern float lbl_80452D5C;
+extern float lbl_80452DEC;
+extern float lbl_80452DB8;
+extern float lbl_80452E4C;
+extern float lbl_80452E54;
+extern float lbl_80452E5C;
+extern float lbl_80452E60;
+extern float lbl_80452F08;
+extern float lbl_80452FDC;
+extern float lbl_80453158;
+extern float lbl_804531F8;
+extern float lbl_804531FC;
+extern float lbl_80453200;
+extern float lbl_80453204;
+extern float lbl_80453208;
+extern float lbl_8045320C;
+extern float lbl_80453210;
+
+//daalink checkattentionposangle
+extern u8 lbl_8038E5A4[0x6C]; // daAlinkHIO_horse_c0::m
+
+//daalink getneckaimpos
+extern u32 lbl_80451018; // daPy_py_c::m_midnaActor
+extern float lbl_80452D68;
+extern float lbl_80452DB0;
+extern float lbl_80452DE0;
+extern float lbl_80452E44;
+
+
+#endif \ No newline at end of file
diff --git a/include/d/d_a/d_a_player/d_a_player.h b/include/d/d_a/d_a_player/d_a_player.h
new file mode 100644
index 0000000000..8689ae6977
--- /dev/null
+++ b/include/d/d_a/d_a_player/d_a_player.h
@@ -0,0 +1,8 @@
+#ifndef D_A_PLAYER_H_
+#define D_A_PLAYER_H_
+
+class daPy_anmHeap_c{
+
+};
+
+#endif \ No newline at end of file
diff --git a/include/d/d_bomb/d_bomb.h b/include/d/d_bomb/d_bomb.h
index d2aef9c456..a859ffe784 100644
--- a/include/d/d_bomb/d_bomb.h
+++ b/include/d/d_bomb/d_bomb.h
@@ -1,6 +1,5 @@
#include "global.h"
-
-class fopAc_ac_c;
+#include "f/f_op/f_op_actor.h"
class dBomb_c{
public:
diff --git a/include/d/d_cc/d_cc_d.h b/include/d/d_cc/d_cc_d.h
new file mode 100644
index 0000000000..cabb243b6e
--- /dev/null
+++ b/include/d/d_cc/d_cc_d.h
@@ -0,0 +1,8 @@
+#ifndef D_CC_D_H_
+#define D_CC_D_H_
+
+struct dCcD_GObjInf{
+
+};
+
+#endif \ No newline at end of file
diff --git a/include/d/d_com/d_com_inf_game/d_com_inf_game.h b/include/d/d_com/d_com_inf_game/d_com_inf_game.h
index ad5fb3efc1..8ff028206b 100644
--- a/include/d/d_com/d_com_inf_game/d_com_inf_game.h
+++ b/include/d/d_com/d_com_inf_game/d_com_inf_game.h
@@ -36,6 +36,10 @@ class dComIfG_camera_info_class {
u8 unk[0x38];
};
+struct mDoExt_bckAnm{
+
+};
+
struct item_func{
float hearts; //bf80
u32 rupees; //bf84
diff --git a/include/d/d_resource/d_resource.h b/include/d/d_resource/d_resource.h
index 9b5df03111..1443040c5b 100644
--- a/include/d/d_resource/d_resource.h
+++ b/include/d/d_resource/d_resource.h
@@ -23,4 +23,12 @@ class dRes_info_c {
// void** resource_buffer;
};
+struct J3DAnmBase{
+
+};
+
+struct J3DAnmTransform{
+
+};
+
#endif \ No newline at end of file
diff --git a/include/f/f_op/f_op_actor.h b/include/f/f_op/f_op_actor.h
new file mode 100644
index 0000000000..f1820b1018
--- /dev/null
+++ b/include/f/f_op/f_op_actor.h
@@ -0,0 +1,8 @@
+#ifndef F_OP_ACTOR_H_
+#define F_OP_ACTOR_H_
+
+class fopAc_ac_c{
+
+};
+
+#endif \ No newline at end of file