summaryrefslogtreecommitdiff
path: root/asm/code_80235474.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/code_80235474.s')
-rw-r--r--asm/code_80235474.s429
1 files changed, 429 insertions, 0 deletions
diff --git a/asm/code_80235474.s b/asm/code_80235474.s
new file mode 100644
index 0000000..b60b82b
--- /dev/null
+++ b/asm/code_80235474.s
@@ -0,0 +1,429 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global func_80235474
+func_80235474:
+/* 80235474 002310D4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80235478 002310D8 7C 08 02 A6 */ mflr r0
+/* 8023547C 002310DC C0 02 9D 78 */ lfs f0, lbl_80642378-_SDA2_BASE_(r2)
+/* 80235480 002310E0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80235484 002310E4 38 00 00 FF */ li r0, 0xff
+/* 80235488 002310E8 38 81 00 08 */ addi r4, r1, 8
+/* 8023548C 002310EC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80235490 002310F0 7C 7F 1B 78 */ mr r31, r3
+/* 80235494 002310F4 98 03 00 08 */ stb r0, 8(r3)
+/* 80235498 002310F8 98 03 00 09 */ stb r0, 9(r3)
+/* 8023549C 002310FC 98 03 00 0A */ stb r0, 0xa(r3)
+/* 802354A0 00231100 98 03 00 0B */ stb r0, 0xb(r3)
+/* 802354A4 00231104 D0 03 00 0C */ stfs f0, 0xc(r3)
+/* 802354A8 00231108 D0 03 00 10 */ stfs f0, 0x10(r3)
+/* 802354AC 0023110C D0 03 00 14 */ stfs f0, 0x14(r3)
+/* 802354B0 00231110 98 01 00 08 */ stb r0, 8(r1)
+/* 802354B4 00231114 88 03 00 09 */ lbz r0, 9(r3)
+/* 802354B8 00231118 98 01 00 09 */ stb r0, 9(r1)
+/* 802354BC 0023111C 88 03 00 0A */ lbz r0, 0xa(r3)
+/* 802354C0 00231120 98 01 00 0A */ stb r0, 0xa(r1)
+/* 802354C4 00231124 88 03 00 0B */ lbz r0, 0xb(r3)
+/* 802354C8 00231128 38 63 00 3C */ addi r3, r3, 0x3c
+/* 802354CC 0023112C 98 01 00 0B */ stb r0, 0xb(r1)
+/* 802354D0 00231130 48 04 CE 41 */ bl GXInitLightColor
+/* 802354D4 00231134 C0 22 9D 78 */ lfs f1, lbl_80642378-_SDA2_BASE_(r2)
+/* 802354D8 00231138 38 7F 00 3C */ addi r3, r31, 0x3c
+/* 802354DC 0023113C FC 40 08 90 */ fmr f2, f1
+/* 802354E0 00231140 FC 60 08 90 */ fmr f3, f1
+/* 802354E4 00231144 48 04 CC C9 */ bl GXInitLightPos
+/* 802354E8 00231148 38 80 00 00 */ li r4, 0
+/* 802354EC 0023114C 38 60 00 02 */ li r3, 2
+/* 802354F0 00231150 38 00 00 01 */ li r0, 1
+/* 802354F4 00231154 90 7F 00 04 */ stw r3, 4(r31)
+/* 802354F8 00231158 7F E3 FB 78 */ mr r3, r31
+/* 802354FC 0023115C 98 9F 00 01 */ stb r4, 1(r31)
+/* 80235500 00231160 98 1F 00 00 */ stb r0, 0(r31)
+/* 80235504 00231164 98 9F 00 7C */ stb r4, 0x7c(r31)
+/* 80235508 00231168 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8023550C 0023116C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80235510 00231170 7C 08 03 A6 */ mtlr r0
+/* 80235514 00231174 38 21 00 20 */ addi r1, r1, 0x20
+/* 80235518 00231178 4E 80 00 20 */ blr
+
+.global func_8023551C
+func_8023551C:
+/* 8023551C 0023117C 39 60 00 00 */ li r11, 0
+/* 80235520 00231180 80 03 00 30 */ lwz r0, 0x30(r3)
+/* 80235524 00231184 89 24 00 00 */ lbz r9, 0(r4)
+/* 80235528 00231188 39 40 00 02 */ li r10, 2
+/* 8023552C 0023118C 89 04 00 01 */ lbz r8, 1(r4)
+/* 80235530 00231190 2C 00 00 00 */ cmpwi r0, 0
+/* 80235534 00231194 88 E4 00 02 */ lbz r7, 2(r4)
+/* 80235538 00231198 61 60 00 11 */ ori r0, r11, 0x11
+/* 8023553C 0023119C 99 63 00 01 */ stb r11, 1(r3)
+/* 80235540 002311A0 88 84 00 03 */ lbz r4, 3(r4)
+/* 80235544 002311A4 99 63 00 00 */ stb r11, 0(r3)
+/* 80235548 002311A8 91 43 00 04 */ stw r10, 4(r3)
+/* 8023554C 002311AC 99 23 00 08 */ stb r9, 8(r3)
+/* 80235550 002311B0 99 03 00 09 */ stb r8, 9(r3)
+/* 80235554 002311B4 98 E3 00 0A */ stb r7, 0xa(r3)
+/* 80235558 002311B8 98 83 00 0B */ stb r4, 0xb(r3)
+/* 8023555C 002311BC 90 C3 00 24 */ stw r6, 0x24(r3)
+/* 80235560 002311C0 D0 23 00 28 */ stfs f1, 0x28(r3)
+/* 80235564 002311C4 D0 43 00 2C */ stfs f2, 0x2c(r3)
+/* 80235568 002311C8 98 03 00 01 */ stb r0, 1(r3)
+/* 8023556C 002311CC 41 82 00 18 */ beq lbl_80235584
+/* 80235570 002311D0 C0 02 9D 7C */ lfs f0, lbl_8064237C-_SDA2_BASE_(r2)
+/* 80235574 002311D4 60 00 00 20 */ ori r0, r0, 0x20
+/* 80235578 002311D8 91 63 00 30 */ stw r11, 0x30(r3)
+/* 8023557C 002311DC D0 03 00 34 */ stfs f0, 0x34(r3)
+/* 80235580 002311E0 98 03 00 01 */ stb r0, 1(r3)
+lbl_80235584:
+/* 80235584 002311E4 88 83 00 01 */ lbz r4, 1(r3)
+/* 80235588 002311E8 88 03 00 00 */ lbz r0, 0(r3)
+/* 8023558C 002311EC C0 45 00 00 */ lfs f2, 0(r5)
+/* 80235590 002311F0 60 84 00 02 */ ori r4, r4, 2
+/* 80235594 002311F4 C0 25 00 04 */ lfs f1, 4(r5)
+/* 80235598 002311F8 60 00 00 01 */ ori r0, r0, 1
+/* 8023559C 002311FC C0 05 00 08 */ lfs f0, 8(r5)
+/* 802355A0 00231200 D0 43 00 0C */ stfs f2, 0xc(r3)
+/* 802355A4 00231204 D0 23 00 10 */ stfs f1, 0x10(r3)
+/* 802355A8 00231208 D0 03 00 14 */ stfs f0, 0x14(r3)
+/* 802355AC 0023120C 98 83 00 01 */ stb r4, 1(r3)
+/* 802355B0 00231210 98 03 00 00 */ stb r0, 0(r3)
+/* 802355B4 00231214 4E 80 00 20 */ blr
+
+.global func_802355B8
+func_802355B8:
+/* 802355B8 00231218 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802355BC 0023121C 38 00 00 00 */ li r0, 0
+/* 802355C0 00231220 60 0A 00 01 */ ori r10, r0, 1
+/* 802355C4 00231224 89 84 00 01 */ lbz r12, 1(r4)
+/* 802355C8 00231228 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802355CC 0023122C 60 09 00 03 */ ori r9, r0, 3
+/* 802355D0 00231230 8B E4 00 00 */ lbz r31, 0(r4)
+/* 802355D4 00231234 93 C1 00 08 */ stw r30, 8(r1)
+/* 802355D8 00231238 3B C0 00 01 */ li r30, 1
+/* 802355DC 0023123C 89 64 00 02 */ lbz r11, 2(r4)
+/* 802355E0 00231240 98 03 00 01 */ stb r0, 1(r3)
+/* 802355E4 00231244 88 84 00 03 */ lbz r4, 3(r4)
+/* 802355E8 00231248 98 03 00 00 */ stb r0, 0(r3)
+/* 802355EC 0023124C 60 00 00 37 */ ori r0, r0, 0x37
+/* 802355F0 00231250 C1 05 00 00 */ lfs f8, 0(r5)
+/* 802355F4 00231254 99 43 00 01 */ stb r10, 1(r3)
+/* 802355F8 00231258 C0 E5 00 04 */ lfs f7, 4(r5)
+/* 802355FC 0023125C 99 23 00 01 */ stb r9, 1(r3)
+/* 80235600 00231260 C0 C5 00 08 */ lfs f6, 8(r5)
+/* 80235604 00231264 99 43 00 00 */ stb r10, 0(r3)
+/* 80235608 00231268 C0 A6 00 00 */ lfs f5, 0(r6)
+/* 8023560C 0023126C C0 86 00 04 */ lfs f4, 4(r6)
+/* 80235610 00231270 C0 06 00 08 */ lfs f0, 8(r6)
+/* 80235614 00231274 93 C3 00 04 */ stw r30, 4(r3)
+/* 80235618 00231278 9B E3 00 08 */ stb r31, 8(r3)
+/* 8023561C 0023127C 99 83 00 09 */ stb r12, 9(r3)
+/* 80235620 00231280 99 63 00 0A */ stb r11, 0xa(r3)
+/* 80235624 00231284 98 83 00 0B */ stb r4, 0xb(r3)
+/* 80235628 00231288 D1 03 00 0C */ stfs f8, 0xc(r3)
+/* 8023562C 0023128C D0 E3 00 10 */ stfs f7, 0x10(r3)
+/* 80235630 00231290 D0 C3 00 14 */ stfs f6, 0x14(r3)
+/* 80235634 00231294 D0 A3 00 18 */ stfs f5, 0x18(r3)
+/* 80235638 00231298 D0 83 00 1C */ stfs f4, 0x1c(r3)
+/* 8023563C 0023129C D0 03 00 20 */ stfs f0, 0x20(r3)
+/* 80235640 002312A0 99 23 00 00 */ stb r9, 0(r3)
+/* 80235644 002312A4 90 E3 00 24 */ stw r7, 0x24(r3)
+/* 80235648 002312A8 D0 23 00 28 */ stfs f1, 0x28(r3)
+/* 8023564C 002312AC D0 43 00 2C */ stfs f2, 0x2c(r3)
+/* 80235650 002312B0 91 03 00 30 */ stw r8, 0x30(r3)
+/* 80235654 002312B4 D0 63 00 34 */ stfs f3, 0x34(r3)
+/* 80235658 002312B8 98 03 00 01 */ stb r0, 1(r3)
+/* 8023565C 002312BC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80235660 002312C0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80235664 002312C4 38 21 00 10 */ addi r1, r1, 0x10
+/* 80235668 002312C8 4E 80 00 20 */ blr
+
+.global func_8023566C
+func_8023566C:
+/* 8023566C 002312CC 39 60 00 00 */ li r11, 0
+/* 80235670 002312D0 89 44 00 00 */ lbz r10, 0(r4)
+/* 80235674 002312D4 99 63 00 01 */ stb r11, 1(r3)
+/* 80235678 002312D8 61 67 00 01 */ ori r7, r11, 1
+/* 8023567C 002312DC 89 24 00 01 */ lbz r9, 1(r4)
+/* 80235680 002312E0 61 66 00 02 */ ori r6, r11, 2
+/* 80235684 002312E4 89 04 00 02 */ lbz r8, 2(r4)
+/* 80235688 002312E8 61 60 00 85 */ ori r0, r11, 0x85
+/* 8023568C 002312EC 99 63 00 00 */ stb r11, 0(r3)
+/* 80235690 002312F0 88 84 00 03 */ lbz r4, 3(r4)
+/* 80235694 002312F4 98 E3 00 01 */ stb r7, 1(r3)
+/* 80235698 002312F8 C0 65 00 00 */ lfs f3, 0(r5)
+/* 8023569C 002312FC C0 45 00 04 */ lfs f2, 4(r5)
+/* 802356A0 00231300 C0 05 00 08 */ lfs f0, 8(r5)
+/* 802356A4 00231304 91 63 00 04 */ stw r11, 4(r3)
+/* 802356A8 00231308 99 43 00 08 */ stb r10, 8(r3)
+/* 802356AC 0023130C 99 23 00 09 */ stb r9, 9(r3)
+/* 802356B0 00231310 99 03 00 0A */ stb r8, 0xa(r3)
+/* 802356B4 00231314 98 83 00 0B */ stb r4, 0xb(r3)
+/* 802356B8 00231318 D0 63 00 18 */ stfs f3, 0x18(r3)
+/* 802356BC 0023131C D0 43 00 1C */ stfs f2, 0x1c(r3)
+/* 802356C0 00231320 D0 03 00 20 */ stfs f0, 0x20(r3)
+/* 802356C4 00231324 98 C3 00 00 */ stb r6, 0(r3)
+/* 802356C8 00231328 D0 23 00 30 */ stfs f1, 0x30(r3)
+/* 802356CC 0023132C 98 03 00 01 */ stb r0, 1(r3)
+/* 802356D0 00231330 4E 80 00 20 */ blr
+
+.global func_802356D4
+func_802356D4:
+/* 802356D4 00231334 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 802356D8 00231338 7C 08 02 A6 */ mflr r0
+/* 802356DC 0023133C 90 01 00 44 */ stw r0, 0x44(r1)
+/* 802356E0 00231340 93 E1 00 3C */ stw r31, 0x3c(r1)
+/* 802356E4 00231344 7C 9F 23 78 */ mr r31, r4
+/* 802356E8 00231348 93 C1 00 38 */ stw r30, 0x38(r1)
+/* 802356EC 0023134C 7C 7E 1B 78 */ mr r30, r3
+/* 802356F0 00231350 93 A1 00 34 */ stw r29, 0x34(r1)
+/* 802356F4 00231354 93 81 00 30 */ stw r28, 0x30(r1)
+/* 802356F8 00231358 7C BC 2B 78 */ mr r28, r5
+/* 802356FC 0023135C 88 03 00 01 */ lbz r0, 1(r3)
+/* 80235700 00231360 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80235704 00231364 41 82 00 30 */ beq lbl_80235734
+/* 80235708 00231368 88 03 00 08 */ lbz r0, 8(r3)
+/* 8023570C 0023136C 38 81 00 08 */ addi r4, r1, 8
+/* 80235710 00231370 98 01 00 08 */ stb r0, 8(r1)
+/* 80235714 00231374 88 03 00 09 */ lbz r0, 9(r3)
+/* 80235718 00231378 98 01 00 09 */ stb r0, 9(r1)
+/* 8023571C 0023137C 88 03 00 0A */ lbz r0, 0xa(r3)
+/* 80235720 00231380 98 01 00 0A */ stb r0, 0xa(r1)
+/* 80235724 00231384 88 03 00 0B */ lbz r0, 0xb(r3)
+/* 80235728 00231388 38 63 00 3C */ addi r3, r3, 0x3c
+/* 8023572C 0023138C 98 01 00 0B */ stb r0, 0xb(r1)
+/* 80235730 00231390 48 04 CB E1 */ bl GXInitLightColor
+lbl_80235734:
+/* 80235734 00231394 C0 1E 00 0C */ lfs f0, 0xc(r30)
+/* 80235738 00231398 2C 1C 00 00 */ cmpwi r28, 0
+/* 8023573C 0023139C D0 01 00 18 */ stfs f0, 0x18(r1)
+/* 80235740 002313A0 C0 1E 00 10 */ lfs f0, 0x10(r30)
+/* 80235744 002313A4 D0 01 00 1C */ stfs f0, 0x1c(r1)
+/* 80235748 002313A8 C0 1E 00 14 */ lfs f0, 0x14(r30)
+/* 8023574C 002313AC D0 01 00 20 */ stfs f0, 0x20(r1)
+/* 80235750 002313B0 C0 1E 00 18 */ lfs f0, 0x18(r30)
+/* 80235754 002313B4 D0 01 00 0C */ stfs f0, 0xc(r1)
+/* 80235758 002313B8 C0 1E 00 1C */ lfs f0, 0x1c(r30)
+/* 8023575C 002313BC D0 01 00 10 */ stfs f0, 0x10(r1)
+/* 80235760 002313C0 C0 1E 00 20 */ lfs f0, 0x20(r30)
+/* 80235764 002313C4 D0 01 00 14 */ stfs f0, 0x14(r1)
+/* 80235768 002313C8 41 82 00 D0 */ beq lbl_80235838
+/* 8023576C 002313CC 88 1E 00 00 */ lbz r0, 0(r30)
+/* 80235770 002313D0 3B BC 01 D4 */ addi r29, r28, 0x1d4
+/* 80235774 002313D4 38 7C 02 34 */ addi r3, r28, 0x234
+/* 80235778 002313D8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 8023577C 002313DC 41 82 00 94 */ beq lbl_80235810
+/* 80235780 002313E0 38 81 00 0C */ addi r4, r1, 0xc
+/* 80235784 002313E4 7C 85 23 78 */ mr r5, r4
+/* 80235788 002313E8 48 04 72 75 */ bl PSMTXMultVec
+/* 8023578C 002313EC 38 61 00 0C */ addi r3, r1, 0xc
+/* 80235790 002313F0 48 04 75 DD */ bl PSVECSquareMag
+/* 80235794 002313F4 C0 02 9D 80 */ lfs f0, lbl_80642380-_SDA2_BASE_(r2)
+/* 80235798 002313F8 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8023579C 002313FC 40 81 00 64 */ ble lbl_80235800
+/* 802357A0 00231400 C0 42 9D 78 */ lfs f2, lbl_80642378-_SDA2_BASE_(r2)
+/* 802357A4 00231404 FC 01 10 40 */ fcmpo cr0, f1, f2
+/* 802357A8 00231408 4C 40 13 82 */ cror 2, 0, 2
+/* 802357AC 0023140C 40 82 00 08 */ bne lbl_802357B4
+/* 802357B0 00231410 48 00 00 0C */ b lbl_802357BC
+lbl_802357B4:
+/* 802357B4 00231414 4B F9 F0 81 */ bl sqrt
+/* 802357B8 00231418 FC 40 08 18 */ frsp f2, f1
+lbl_802357BC:
+/* 802357BC 0023141C C0 22 9D 80 */ lfs f1, lbl_80642380-_SDA2_BASE_(r2)
+/* 802357C0 00231420 FC 02 08 40 */ fcmpo cr0, f2, f1
+/* 802357C4 00231424 40 80 00 28 */ bge lbl_802357EC
+/* 802357C8 00231428 C0 62 9D 84 */ lfs f3, lbl_80642384-_SDA2_BASE_(r2)
+/* 802357CC 0023142C FC 02 18 40 */ fcmpo cr0, f2, f3
+/* 802357D0 00231430 40 81 00 1C */ ble lbl_802357EC
+/* 802357D4 00231434 C0 02 9D 78 */ lfs f0, lbl_80642378-_SDA2_BASE_(r2)
+/* 802357D8 00231438 FC 02 00 40 */ fcmpo cr0, f2, f0
+/* 802357DC 0023143C 40 80 00 08 */ bge lbl_802357E4
+/* 802357E0 00231440 48 00 00 08 */ b lbl_802357E8
+lbl_802357E4:
+/* 802357E4 00231444 FC 60 08 90 */ fmr f3, f1
+lbl_802357E8:
+/* 802357E8 00231448 FC 40 18 90 */ fmr f2, f3
+lbl_802357EC:
+/* 802357EC 0023144C C0 02 9D 88 */ lfs f0, lbl_80642388-_SDA2_BASE_(r2)
+/* 802357F0 00231450 38 61 00 0C */ addi r3, r1, 0xc
+/* 802357F4 00231454 7C 64 1B 78 */ mr r4, r3
+/* 802357F8 00231458 EC 20 10 24 */ fdivs f1, f0, f2
+/* 802357FC 0023145C 48 04 75 11 */ bl PSVECScale
+lbl_80235800:
+/* 80235800 00231460 88 1E 00 01 */ lbz r0, 1(r30)
+/* 80235804 00231464 60 00 00 04 */ ori r0, r0, 4
+/* 80235808 00231468 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18
+/* 8023580C 0023146C 98 1E 00 01 */ stb r0, 1(r30)
+lbl_80235810:
+/* 80235810 00231470 88 1E 00 00 */ lbz r0, 0(r30)
+/* 80235814 00231474 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80235818 00231478 41 82 00 20 */ beq lbl_80235838
+/* 8023581C 0023147C 38 81 00 18 */ addi r4, r1, 0x18
+/* 80235820 00231480 7F A3 EB 78 */ mr r3, r29
+/* 80235824 00231484 7C 85 23 78 */ mr r5, r4
+/* 80235828 00231488 48 04 71 D5 */ bl PSMTXMultVec
+/* 8023582C 0023148C 88 1E 00 01 */ lbz r0, 1(r30)
+/* 80235830 00231490 60 00 00 02 */ ori r0, r0, 2
+/* 80235834 00231494 98 1E 00 01 */ stb r0, 1(r30)
+lbl_80235838:
+/* 80235838 00231498 80 1E 00 04 */ lwz r0, 4(r30)
+/* 8023583C 0023149C 2C 00 00 01 */ cmpwi r0, 1
+/* 80235840 002314A0 41 82 00 D0 */ beq lbl_80235910
+/* 80235844 002314A4 40 80 00 10 */ bge lbl_80235854
+/* 80235848 002314A8 2C 00 00 00 */ cmpwi r0, 0
+/* 8023584C 002314AC 40 80 00 14 */ bge lbl_80235860
+/* 80235850 002314B0 48 00 01 C8 */ b lbl_80235A18
+lbl_80235854:
+/* 80235854 002314B4 2C 00 00 03 */ cmpwi r0, 3
+/* 80235858 002314B8 40 80 01 C0 */ bge lbl_80235A18
+/* 8023585C 002314BC 48 00 01 60 */ b lbl_802359BC
+lbl_80235860:
+/* 80235860 002314C0 88 7E 00 01 */ lbz r3, 1(r30)
+/* 80235864 002314C4 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19
+/* 80235868 002314C8 41 82 00 28 */ beq lbl_80235890
+/* 8023586C 002314CC C0 21 00 0C */ lfs f1, 0xc(r1)
+/* 80235870 002314D0 38 7E 00 3C */ addi r3, r30, 0x3c
+/* 80235874 002314D4 C0 41 00 10 */ lfs f2, 0x10(r1)
+/* 80235878 002314D8 C0 61 00 14 */ lfs f3, 0x14(r1)
+/* 8023587C 002314DC C0 9E 00 24 */ lfs f4, 0x24(r30)
+/* 80235880 002314E0 C0 BE 00 28 */ lfs f5, 0x28(r30)
+/* 80235884 002314E4 C0 DE 00 2C */ lfs f6, 0x2c(r30)
+/* 80235888 002314E8 48 04 CA 5D */ bl GXInitSpecularDirHA
+/* 8023588C 002314EC 48 00 00 20 */ b lbl_802358AC
+lbl_80235890:
+/* 80235890 002314F0 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
+/* 80235894 002314F4 41 82 00 18 */ beq lbl_802358AC
+/* 80235898 002314F8 C0 21 00 0C */ lfs f1, 0xc(r1)
+/* 8023589C 002314FC 38 7E 00 3C */ addi r3, r30, 0x3c
+/* 802358A0 00231500 C0 41 00 10 */ lfs f2, 0x10(r1)
+/* 802358A4 00231504 C0 61 00 14 */ lfs f3, 0x14(r1)
+/* 802358A8 00231508 48 04 C9 31 */ bl GXInitSpecularDir
+lbl_802358AC:
+/* 802358AC 0023150C 88 7E 00 01 */ lbz r3, 1(r30)
+/* 802358B0 00231510 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18
+/* 802358B4 00231514 41 82 00 30 */ beq lbl_802358E4
+/* 802358B8 00231518 C0 5E 00 30 */ lfs f2, 0x30(r30)
+/* 802358BC 0023151C 38 7E 00 3C */ addi r3, r30, 0x3c
+/* 802358C0 00231520 C0 02 9D 8C */ lfs f0, lbl_8064238C-_SDA2_BASE_(r2)
+/* 802358C4 00231524 C0 22 9D 78 */ lfs f1, lbl_80642378-_SDA2_BASE_(r2)
+/* 802358C8 00231528 EC 82 00 32 */ fmuls f4, f2, f0
+/* 802358CC 0023152C C0 62 9D 88 */ lfs f3, lbl_80642388-_SDA2_BASE_(r2)
+/* 802358D0 00231530 FC 40 08 90 */ fmr f2, f1
+/* 802358D4 00231534 FC A0 08 90 */ fmr f5, f1
+/* 802358D8 00231538 EC C3 20 28 */ fsubs f6, f3, f4
+/* 802358DC 0023153C 48 04 C6 5D */ bl GXInitLightAttn
+/* 802358E0 00231540 48 00 01 38 */ b lbl_80235A18
+lbl_802358E4:
+/* 802358E4 00231544 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c
+/* 802358E8 00231548 41 82 01 30 */ beq lbl_80235A18
+/* 802358EC 0023154C C0 3E 00 24 */ lfs f1, 0x24(r30)
+/* 802358F0 00231550 38 7E 00 3C */ addi r3, r30, 0x3c
+/* 802358F4 00231554 C0 5E 00 28 */ lfs f2, 0x28(r30)
+/* 802358F8 00231558 C0 7E 00 2C */ lfs f3, 0x2c(r30)
+/* 802358FC 0023155C C0 9E 00 30 */ lfs f4, 0x30(r30)
+/* 80235900 00231560 C0 BE 00 34 */ lfs f5, 0x34(r30)
+/* 80235904 00231564 C0 DE 00 38 */ lfs f6, 0x38(r30)
+/* 80235908 00231568 48 04 C6 31 */ bl GXInitLightAttn
+/* 8023590C 0023156C 48 00 01 0C */ b lbl_80235A18
+lbl_80235910:
+/* 80235910 00231570 88 1E 00 01 */ lbz r0, 1(r30)
+/* 80235914 00231574 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 80235918 00231578 41 82 00 18 */ beq lbl_80235930
+/* 8023591C 0023157C C0 21 00 18 */ lfs f1, 0x18(r1)
+/* 80235920 00231580 38 7E 00 3C */ addi r3, r30, 0x3c
+/* 80235924 00231584 C0 41 00 1C */ lfs f2, 0x1c(r1)
+/* 80235928 00231588 C0 61 00 20 */ lfs f3, 0x20(r1)
+/* 8023592C 0023158C 48 04 C8 81 */ bl GXInitLightPos
+lbl_80235930:
+/* 80235930 00231590 88 1E 00 01 */ lbz r0, 1(r30)
+/* 80235934 00231594 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 80235938 00231598 41 82 00 18 */ beq lbl_80235950
+/* 8023593C 0023159C C0 21 00 0C */ lfs f1, 0xc(r1)
+/* 80235940 002315A0 38 7E 00 3C */ addi r3, r30, 0x3c
+/* 80235944 002315A4 C0 41 00 10 */ lfs f2, 0x10(r1)
+/* 80235948 002315A8 C0 61 00 14 */ lfs f3, 0x14(r1)
+/* 8023594C 002315AC 48 04 C8 71 */ bl GXInitLightDir
+lbl_80235950:
+/* 80235950 002315B0 88 7E 00 01 */ lbz r3, 1(r30)
+/* 80235954 002315B4 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c
+/* 80235958 002315B8 41 82 00 28 */ beq lbl_80235980
+/* 8023595C 002315BC C0 3E 00 24 */ lfs f1, 0x24(r30)
+/* 80235960 002315C0 38 7E 00 3C */ addi r3, r30, 0x3c
+/* 80235964 002315C4 C0 5E 00 28 */ lfs f2, 0x28(r30)
+/* 80235968 002315C8 C0 7E 00 2C */ lfs f3, 0x2c(r30)
+/* 8023596C 002315CC C0 9E 00 30 */ lfs f4, 0x30(r30)
+/* 80235970 002315D0 C0 BE 00 34 */ lfs f5, 0x34(r30)
+/* 80235974 002315D4 C0 DE 00 38 */ lfs f6, 0x38(r30)
+/* 80235978 002315D8 48 04 C5 C1 */ bl GXInitLightAttn
+/* 8023597C 002315DC 48 00 00 9C */ b lbl_80235A18
+lbl_80235980:
+/* 80235980 002315E0 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b
+/* 80235984 002315E4 41 82 00 18 */ beq lbl_8023599C
+/* 80235988 002315E8 C0 3E 00 28 */ lfs f1, 0x28(r30)
+/* 8023598C 002315EC 38 7E 00 3C */ addi r3, r30, 0x3c
+/* 80235990 002315F0 C0 5E 00 2C */ lfs f2, 0x2c(r30)
+/* 80235994 002315F4 80 9E 00 24 */ lwz r4, 0x24(r30)
+/* 80235998 002315F8 48 04 C7 45 */ bl GXInitLightDistAttn
+lbl_8023599C:
+/* 8023599C 002315FC 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802359A0 00231600 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
+/* 802359A4 00231604 41 82 00 74 */ beq lbl_80235A18
+/* 802359A8 00231608 C0 3E 00 34 */ lfs f1, 0x34(r30)
+/* 802359AC 0023160C 38 7E 00 3C */ addi r3, r30, 0x3c
+/* 802359B0 00231610 80 9E 00 30 */ lwz r4, 0x30(r30)
+/* 802359B4 00231614 48 04 C5 A1 */ bl GXInitLightSpot
+/* 802359B8 00231618 48 00 00 60 */ b lbl_80235A18
+lbl_802359BC:
+/* 802359BC 0023161C 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802359C0 00231620 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 802359C4 00231624 41 82 00 18 */ beq lbl_802359DC
+/* 802359C8 00231628 C0 21 00 18 */ lfs f1, 0x18(r1)
+/* 802359CC 0023162C 38 7E 00 3C */ addi r3, r30, 0x3c
+/* 802359D0 00231630 C0 41 00 1C */ lfs f2, 0x1c(r1)
+/* 802359D4 00231634 C0 61 00 20 */ lfs f3, 0x20(r1)
+/* 802359D8 00231638 48 04 C7 D5 */ bl GXInitLightPos
+lbl_802359DC:
+/* 802359DC 0023163C 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802359E0 00231640 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
+/* 802359E4 00231644 41 82 00 18 */ beq lbl_802359FC
+/* 802359E8 00231648 C0 3E 00 28 */ lfs f1, 0x28(r30)
+/* 802359EC 0023164C 38 7E 00 3C */ addi r3, r30, 0x3c
+/* 802359F0 00231650 C0 5E 00 2C */ lfs f2, 0x2c(r30)
+/* 802359F4 00231654 80 9E 00 24 */ lwz r4, 0x24(r30)
+/* 802359F8 00231658 48 04 C6 E5 */ bl GXInitLightDistAttn
+lbl_802359FC:
+/* 802359FC 0023165C 88 1E 00 01 */ lbz r0, 1(r30)
+/* 80235A00 00231660 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
+/* 80235A04 00231664 41 82 00 14 */ beq lbl_80235A18
+/* 80235A08 00231668 C0 3E 00 34 */ lfs f1, 0x34(r30)
+/* 80235A0C 0023166C 38 7E 00 3C */ addi r3, r30, 0x3c
+/* 80235A10 00231670 80 9E 00 30 */ lwz r4, 0x30(r30)
+/* 80235A14 00231674 48 04 C5 41 */ bl GXInitLightSpot
+lbl_80235A18:
+/* 80235A18 00231678 38 60 00 00 */ li r3, 0
+/* 80235A1C 0023167C 38 00 00 01 */ li r0, 1
+/* 80235A20 00231680 98 7E 00 01 */ stb r3, 1(r30)
+/* 80235A24 00231684 38 7E 00 3C */ addi r3, r30, 0x3c
+/* 80235A28 00231688 7C 04 F8 30 */ slw r4, r0, r31
+/* 80235A2C 0023168C 9B FE 00 7C */ stb r31, 0x7c(r30)
+/* 80235A30 00231690 48 04 C8 ED */ bl GXLoadLightObjImm
+/* 80235A34 00231694 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 80235A38 00231698 83 E1 00 3C */ lwz r31, 0x3c(r1)
+/* 80235A3C 0023169C 83 C1 00 38 */ lwz r30, 0x38(r1)
+/* 80235A40 002316A0 83 A1 00 34 */ lwz r29, 0x34(r1)
+/* 80235A44 002316A4 83 81 00 30 */ lwz r28, 0x30(r1)
+/* 80235A48 002316A8 7C 08 03 A6 */ mtlr r0
+/* 80235A4C 002316AC 38 21 00 40 */ addi r1, r1, 0x40
+/* 80235A50 002316B0 4E 80 00 20 */ blr
+
+.global func_80235A54
+func_80235A54:
+/* 80235A54 002316B4 38 A0 00 01 */ li r5, 1
+/* 80235A58 002316B8 38 6D A4 10 */ addi r3, r13, lbl_8063F6D0-_SDA_BASE_
+/* 80235A5C 002316BC 38 80 00 04 */ li r4, 4
+/* 80235A60 002316C0 38 00 00 00 */ li r0, 0
+/* 80235A64 002316C4 98 AD A4 10 */ stb r5, lbl_8063F6D0-_SDA_BASE_(r13)
+/* 80235A68 002316C8 B0 83 00 02 */ sth r4, 2(r3)
+/* 80235A6C 002316CC 98 03 00 04 */ stb r0, 4(r3)
+/* 80235A70 002316D0 4E 80 00 20 */ blr