prime/asm/MetroidPrime/CActorLights.s

2939 lines
144 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .sdata
.balign 8
.global lbl_805A7560
lbl_805A7560:
# ROM: 0x3F4F00
.4byte 0x01000000
.global lbl_805A7564
lbl_805A7564:
# ROM: 0x3F4F04
.4byte 0x00000013
.global lbl_805A7568
lbl_805A7568:
# ROM: 0x3F4F08
.4byte 0x00000023
.global lbl_805A756C
lbl_805A756C:
# ROM: 0x3F4F0C
.4byte 0x00000012
.global lbl_805A7570
lbl_805A7570:
# ROM: 0x3F4F10
.4byte 0x0000001A
.4byte 0
.section .sbss
.balign 8
# CActorLights
.global lbl_805A8F10
lbl_805A8F10:
.skip 0x4
.global lbl_805A8F14
lbl_805A8F14:
.skip 0x4
.section .sdata2, "a"
.balign 8
.global lbl_805AB120
lbl_805AB120:
# ROM: 0x3F79C0
.4byte 0xFFFFFFFF
.global lbl_805AB124
lbl_805AB124:
# ROM: 0x3F79C4
.float 0.1
.global lbl_805AB128
lbl_805AB128:
# ROM: 0x3F79C8
.4byte 0
.global lbl_805AB12C
lbl_805AB12C:
# ROM: 0x3F79CC
.float 1.1920929E-7
.global lbl_805AB130
lbl_805AB130:
# ROM: 0x3F79D0
.float 0.1
.global lbl_805AB134
lbl_805AB134:
# ROM: 0x3F79D4
.float 0.3
.global lbl_805AB138
lbl_805AB138:
# ROM: 0x3F79D8
.4byte 0x3F19999A
.global lbl_805AB13C
lbl_805AB13C:
# ROM: 0x3F79DC
.4byte 0x3C449BA6
.global lbl_805AB140
lbl_805AB140:
# ROM: 0x3F79E0
.float 0.03
.global lbl_805AB144
lbl_805AB144:
# ROM: 0x3F79E4
.float 1.0
.global lbl_805AB148
lbl_805AB148:
# ROM: 0x3F79E8
.float 0.33333334
.global lbl_805AB14C
lbl_805AB14C:
# ROM: 0x3F79EC
.float 0.001
.global lbl_805AB150
lbl_805AB150:
# ROM: 0x3F79F0
.float 2.0
.global lbl_805AB154
lbl_805AB154:
# ROM: 0x3F79F4
.float 0.5
.global lbl_805AB158
lbl_805AB158:
# ROM: 0x3F79F8
.float 15.0
.global lbl_805AB15C
lbl_805AB15C:
# ROM: 0x3F79FC
.float 255.0
.global lbl_805AB160
lbl_805AB160:
# ROM: 0x3F7A00
.double 4.503601774854144E15
.global lbl_805AB168
lbl_805AB168:
# ROM: 0x3F7A08
.4byte 0x3B808081
.4byte 0
.section .text, "ax"
.global BuildConstantAmbientLighting__12CActorLightsFv
BuildConstantAmbientLighting__12CActorLightsFv:
/* 80103084 000FFFE4 88 83 02 99 */ lbz r4, 0x299(r3)
/* 80103088 000FFFE8 38 A0 00 01 */ li r5, 1
/* 8010308C 000FFFEC 50 A4 2E B4 */ rlwimi r4, r5, 5, 0x1a, 0x1a
/* 80103090 000FFFF0 38 00 FF FF */ li r0, -1
/* 80103094 000FFFF4 98 83 02 99 */ stb r4, 0x299(r3)
/* 80103098 000FFFF8 88 83 02 98 */ lbz r4, 0x298(r3)
/* 8010309C 000FFFFC 50 A4 3E 30 */ rlwimi r4, r5, 7, 0x18, 0x18
/* 801030A0 00100000 98 83 02 98 */ stb r4, 0x298(r3)
/* 801030A4 00100004 90 03 02 9C */ stw r0, 0x29c(r3)
/* 801030A8 00100008 90 03 02 A0 */ stw r0, 0x2a0(r3)
/* 801030AC 0010000C 4E 80 00 20 */ blr
.global BuildConstantAmbientLighting__12CActorLightsFRC6CColor
BuildConstantAmbientLighting__12CActorLightsFRC6CColor:
/* 801030B0 00100010 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801030B4 00100014 7C 08 02 A6 */ mflr r0
/* 801030B8 00100018 90 01 00 14 */ stw r0, 0x14(r1)
/* 801030BC 0010001C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801030C0 00100020 7C 7F 1B 78 */ mr r31, r3
/* 801030C4 00100024 38 BF 02 8C */ addi r5, r31, 0x28c
/* 801030C8 00100028 88 03 02 99 */ lbz r0, 0x299(r3)
/* 801030CC 0010002C 38 60 00 00 */ li r3, 0
/* 801030D0 00100030 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 801030D4 00100034 38 DF 02 90 */ addi r6, r31, 0x290
/* 801030D8 00100038 98 1F 02 99 */ stb r0, 0x299(r31)
/* 801030DC 0010003C 7C 83 23 78 */ mr r3, r4
/* 801030E0 00100040 38 9F 02 88 */ addi r4, r31, 0x288
/* 801030E4 00100044 48 26 02 55 */ bl Get__6CColorCFRfRfRf
/* 801030E8 00100048 80 6D A3 90 */ lwz r3, kInvalidAreaId@sda21(r13)
/* 801030EC 0010004C 38 80 00 01 */ li r4, 1
/* 801030F0 00100050 38 00 FF FF */ li r0, -1
/* 801030F4 00100054 90 7F 02 94 */ stw r3, 0x294(r31)
/* 801030F8 00100058 88 7F 02 98 */ lbz r3, 0x298(r31)
/* 801030FC 0010005C 50 83 3E 30 */ rlwimi r3, r4, 7, 0x18, 0x18
/* 80103100 00100060 98 7F 02 98 */ stb r3, 0x298(r31)
/* 80103104 00100064 88 7F 02 98 */ lbz r3, 0x298(r31)
/* 80103108 00100068 50 83 2E B4 */ rlwimi r3, r4, 5, 0x1a, 0x1a
/* 8010310C 0010006C 98 7F 02 98 */ stb r3, 0x298(r31)
/* 80103110 00100070 90 1F 02 9C */ stw r0, 0x29c(r31)
/* 80103114 00100074 90 1F 02 A0 */ stw r0, 0x2a0(r31)
/* 80103118 00100078 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8010311C 0010007C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80103120 00100080 7C 08 03 A6 */ mtlr r0
/* 80103124 00100084 38 21 00 10 */ addi r1, r1, 0x10
/* 80103128 00100088 4E 80 00 20 */ blr
.global "BuildFakeLightList__12CActorLightsFRCQ24rstl42vector<6CLight,Q24rstl17rmemory_allocator>RC6CColor"
"BuildFakeLightList__12CActorLightsFRCQ24rstl42vector<6CLight,Q24rstl17rmemory_allocator>RC6CColor":
/* 8010312C 0010008C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80103130 00100090 7C 08 02 A6 */ mflr r0
/* 80103134 00100094 90 01 00 24 */ stw r0, 0x24(r1)
/* 80103138 00100098 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8010313C 0010009C 7C 9F 23 78 */ mr r31, r4
/* 80103140 001000A0 7C A4 2B 78 */ mr r4, r5
/* 80103144 001000A4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80103148 001000A8 7C 7E 1B 78 */ mr r30, r3
/* 8010314C 001000AC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80103150 001000B0 93 81 00 10 */ stw r28, 0x10(r1)
/* 80103154 001000B4 4B FF FF 5D */ bl BuildConstantAmbientLighting__12CActorLightsFRC6CColor
/* 80103158 001000B8 80 BE 00 00 */ lwz r5, 0(r30)
/* 8010315C 001000BC 38 60 00 00 */ li r3, 0
/* 80103160 001000C0 2C 05 00 00 */ cmpwi r5, 0
/* 80103164 001000C4 40 81 00 40 */ ble lbl_801031A4
/* 80103168 001000C8 2C 05 00 08 */ cmpwi r5, 8
/* 8010316C 001000CC 38 85 FF F8 */ addi r4, r5, -8
/* 80103170 001000D0 40 81 00 20 */ ble lbl_80103190
/* 80103174 001000D4 38 04 00 07 */ addi r0, r4, 7
/* 80103178 001000D8 54 00 E8 FE */ srwi r0, r0, 3
/* 8010317C 001000DC 7C 09 03 A6 */ mtctr r0
/* 80103180 001000E0 2C 04 00 00 */ cmpwi r4, 0
/* 80103184 001000E4 40 81 00 0C */ ble lbl_80103190
lbl_80103188:
/* 80103188 001000E8 38 63 00 08 */ addi r3, r3, 8
/* 8010318C 001000EC 42 00 FF FC */ bdnz lbl_80103188
lbl_80103190:
/* 80103190 001000F0 7C 03 28 50 */ subf r0, r3, r5
/* 80103194 001000F4 7C 09 03 A6 */ mtctr r0
/* 80103198 001000F8 7C 03 28 00 */ cmpw r3, r5
/* 8010319C 001000FC 40 80 00 08 */ bge lbl_801031A4
lbl_801031A0:
/* 801031A0 00100100 42 00 00 00 */ bdnz lbl_801031A0
lbl_801031A4:
/* 801031A4 00100104 38 60 00 00 */ li r3, 0
/* 801031A8 00100108 90 7E 00 00 */ stw r3, 0(r30)
/* 801031AC 0010010C 80 BE 01 44 */ lwz r5, 0x144(r30)
/* 801031B0 00100110 2C 05 00 00 */ cmpwi r5, 0
/* 801031B4 00100114 40 81 00 40 */ ble lbl_801031F4
/* 801031B8 00100118 2C 05 00 08 */ cmpwi r5, 8
/* 801031BC 0010011C 38 85 FF F8 */ addi r4, r5, -8
/* 801031C0 00100120 40 81 00 20 */ ble lbl_801031E0
/* 801031C4 00100124 38 04 00 07 */ addi r0, r4, 7
/* 801031C8 00100128 54 00 E8 FE */ srwi r0, r0, 3
/* 801031CC 0010012C 7C 09 03 A6 */ mtctr r0
/* 801031D0 00100130 2C 04 00 00 */ cmpwi r4, 0
/* 801031D4 00100134 40 81 00 0C */ ble lbl_801031E0
lbl_801031D8:
/* 801031D8 00100138 38 63 00 08 */ addi r3, r3, 8
/* 801031DC 0010013C 42 00 FF FC */ bdnz lbl_801031D8
lbl_801031E0:
/* 801031E0 00100140 7C 03 28 50 */ subf r0, r3, r5
/* 801031E4 00100144 7C 09 03 A6 */ mtctr r0
/* 801031E8 00100148 7C 03 28 00 */ cmpw r3, r5
/* 801031EC 0010014C 40 80 00 08 */ bge lbl_801031F4
lbl_801031F0:
/* 801031F0 00100150 42 00 00 00 */ bdnz lbl_801031F0
lbl_801031F4:
/* 801031F4 00100154 3B A0 00 00 */ li r29, 0
/* 801031F8 00100158 3B 80 00 00 */ li r28, 0
/* 801031FC 0010015C 93 BE 01 44 */ stw r29, 0x144(r30)
lbl_80103200:
/* 80103200 00100160 80 1F 00 04 */ lwz r0, 4(r31)
/* 80103204 00100164 7C 1C 00 00 */ cmpw r28, r0
/* 80103208 00100168 41 82 00 24 */ beq lbl_8010322C
/* 8010320C 0010016C 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 80103210 00100170 38 7E 01 44 */ addi r3, r30, 0x144
/* 80103214 00100174 7C 80 EA 14 */ add r4, r0, r29
/* 80103218 00100178 48 00 00 35 */ bl "push_back__Q24rstl26reserved_vector<6CLight,4>FRC6CLight"
/* 8010321C 0010017C 3B 9C 00 01 */ addi r28, r28, 1
/* 80103220 00100180 3B BD 00 50 */ addi r29, r29, 0x50
/* 80103224 00100184 2C 1C 00 04 */ cmpwi r28, 4
/* 80103228 00100188 41 80 FF D8 */ blt lbl_80103200
lbl_8010322C:
/* 8010322C 0010018C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80103230 00100190 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80103234 00100194 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80103238 00100198 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8010323C 0010019C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80103240 001001A0 7C 08 03 A6 */ mtlr r0
/* 80103244 001001A4 38 21 00 20 */ addi r1, r1, 0x20
/* 80103248 001001A8 4E 80 00 20 */ blr
.global "push_back__Q24rstl26reserved_vector<6CLight,4>FRC6CLight"
"push_back__Q24rstl26reserved_vector<6CLight,4>FRC6CLight":
/* 8010324C 001001AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80103250 001001B0 7C 08 02 A6 */ mflr r0
/* 80103254 001001B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80103258 001001B8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8010325C 001001BC 7C 7F 1B 78 */ mr r31, r3
/* 80103260 001001C0 80 03 00 00 */ lwz r0, 0(r3)
/* 80103264 001001C4 1C 00 00 50 */ mulli r0, r0, 0x50
/* 80103268 001001C8 7C 7F 02 14 */ add r3, r31, r0
/* 8010326C 001001CC 38 63 00 04 */ addi r3, r3, 4
/* 80103270 001001D0 48 00 00 25 */ bl "construct<6CLight>__4rstlFPvRC6CLight"
/* 80103274 001001D4 80 7F 00 00 */ lwz r3, 0(r31)
/* 80103278 001001D8 38 03 00 01 */ addi r0, r3, 1
/* 8010327C 001001DC 90 1F 00 00 */ stw r0, 0(r31)
/* 80103280 001001E0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80103284 001001E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80103288 001001E8 7C 08 03 A6 */ mtlr r0
/* 8010328C 001001EC 38 21 00 10 */ addi r1, r1, 0x10
/* 80103290 001001F0 4E 80 00 20 */ blr
.global "construct<6CLight>__4rstlFPvRC6CLight"
"construct<6CLight>__4rstlFPvRC6CLight":
/* 80103294 001001F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80103298 001001F8 7C 08 02 A6 */ mflr r0
/* 8010329C 001001FC 28 03 00 00 */ cmplwi r3, 0
/* 801032A0 00100200 90 01 00 14 */ stw r0, 0x14(r1)
/* 801032A4 00100204 41 82 00 08 */ beq lbl_801032AC
/* 801032A8 00100208 4B F3 82 C9 */ bl __ct__6CLightFCR6CLight
lbl_801032AC:
/* 801032AC 0010020C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801032B0 00100210 7C 08 03 A6 */ mtlr r0
/* 801032B4 00100214 38 21 00 10 */ addi r1, r1, 0x10
/* 801032B8 00100218 4E 80 00 20 */ blr
.global BuildFaceLightList__12CActorLightsFRC13CStateManagerRC9CGameAreaRC6CAABox
BuildFaceLightList__12CActorLightsFRC13CStateManagerRC9CGameAreaRC6CAABox:
/* 801032BC 0010021C 94 21 FE 60 */ stwu r1, -0x1a0(r1)
/* 801032C0 00100220 7C 08 02 A6 */ mflr r0
/* 801032C4 00100224 90 01 01 A4 */ stw r0, 0x1a4(r1)
/* 801032C8 00100228 DB E1 01 90 */ stfd f31, 0x190(r1)
/* 801032CC 0010022C F3 E1 01 98 */ psq_st f31, 408(r1), 0, qr0
/* 801032D0 00100230 DB C1 01 80 */ stfd f30, 0x180(r1)
/* 801032D4 00100234 F3 C1 01 88 */ psq_st f30, 392(r1), 0, qr0
/* 801032D8 00100238 DB A1 01 70 */ stfd f29, 0x170(r1)
/* 801032DC 0010023C F3 A1 01 78 */ psq_st f29, 376(r1), 0, qr0
/* 801032E0 00100240 BE E1 01 4C */ stmw r23, 0x14c(r1)
/* 801032E4 00100244 7C 9A 23 78 */ mr r26, r4
/* 801032E8 00100248 7C 79 1B 78 */ mr r25, r3
/* 801032EC 0010024C 80 84 08 70 */ lwz r4, 0x870(r4)
/* 801032F0 00100250 7C DB 33 78 */ mr r27, r6
/* 801032F4 00100254 38 61 00 78 */ addi r3, r1, 0x78
/* 801032F8 00100258 80 84 00 7C */ lwz r4, 0x7c(r4)
/* 801032FC 0010025C 38 84 00 34 */ addi r4, r4, 0x34
/* 80103300 00100260 48 20 F8 75 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80103304 00100264 88 19 02 98 */ lbz r0, 0x298(r25)
/* 80103308 00100268 38 60 00 01 */ li r3, 1
/* 8010330C 0010026C 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 80103310 00100270 3B B9 01 48 */ addi r29, r25, 0x148
/* 80103314 00100274 3C 60 80 5A */ lis r3, skZero3f@ha
/* 80103318 00100278 98 19 02 98 */ stb r0, 0x298(r25)
/* 8010331C 0010027C 38 A3 66 A0 */ addi r5, r3, skZero3f@l
/* 80103320 00100280 C0 05 00 00 */ lfs f0, 0(r5)
/* 80103324 00100284 38 60 00 00 */ li r3, 0
/* 80103328 00100288 D0 19 02 88 */ stfs f0, 0x288(r25)
/* 8010332C 0010028C C0 05 00 04 */ lfs f0, 4(r5)
/* 80103330 00100290 D0 19 02 8C */ stfs f0, 0x28c(r25)
/* 80103334 00100294 C0 05 00 08 */ lfs f0, 8(r5)
/* 80103338 00100298 D0 19 02 90 */ stfs f0, 0x290(r25)
/* 8010333C 0010029C 80 D9 01 44 */ lwz r6, 0x144(r25)
/* 80103340 001002A0 83 DA 08 30 */ lwz r30, 0x830(r26)
/* 80103344 001002A4 2C 06 00 00 */ cmpwi r6, 0
/* 80103348 001002A8 40 81 00 40 */ ble lbl_80103388
/* 8010334C 001002AC 2C 06 00 08 */ cmpwi r6, 8
/* 80103350 001002B0 38 86 FF F8 */ addi r4, r6, -8
/* 80103354 001002B4 40 81 00 20 */ ble lbl_80103374
/* 80103358 001002B8 38 04 00 07 */ addi r0, r4, 7
/* 8010335C 001002BC 54 00 E8 FE */ srwi r0, r0, 3
/* 80103360 001002C0 7C 09 03 A6 */ mtctr r0
/* 80103364 001002C4 2C 04 00 00 */ cmpwi r4, 0
/* 80103368 001002C8 40 81 00 0C */ ble lbl_80103374
lbl_8010336C:
/* 8010336C 001002CC 38 63 00 08 */ addi r3, r3, 8
/* 80103370 001002D0 42 00 FF FC */ bdnz lbl_8010336C
lbl_80103374:
/* 80103374 001002D4 7C 03 30 50 */ subf r0, r3, r6
/* 80103378 001002D8 7C 09 03 A6 */ mtctr r0
/* 8010337C 001002DC 7C 03 30 00 */ cmpw r3, r6
/* 80103380 001002E0 40 80 00 08 */ bge lbl_80103388
lbl_80103384:
/* 80103384 001002E4 42 00 00 00 */ bdnz lbl_80103384
lbl_80103388:
/* 80103388 001002E8 38 00 00 00 */ li r0, 0
/* 8010338C 001002EC 3C 60 80 5A */ lis r3, skZero3f@ha
/* 80103390 001002F0 90 19 01 44 */ stw r0, 0x144(r25)
/* 80103394 001002F4 38 83 66 A0 */ addi r4, r3, skZero3f@l
/* 80103398 001002F8 3C 60 80 5A */ lis r3, lbl_805A6724@ha
/* 8010339C 001002FC C3 E4 00 00 */ lfs f31, 0(r4)
/* 801033A0 00100300 3B E3 67 24 */ addi r31, r3, lbl_805A6724@l
/* 801033A4 00100304 C3 C5 00 04 */ lfs f30, 4(r5)
/* 801033A8 00100308 C3 A5 00 08 */ lfs f29, 8(r5)
/* 801033AC 0010030C AB 9E 20 08 */ lha r28, 0x2008(r30)
/* 801033B0 00100310 48 00 02 4C */ b lbl_801035FC
lbl_801033B4:
/* 801033B4 00100314 7F C3 F3 78 */ mr r3, r30
/* 801033B8 00100318 7F 84 E3 78 */ mr r4, r28
/* 801033BC 0010031C 4B F0 C9 21 */ bl __vc__11CObjectListCFi
/* 801033C0 00100320 28 03 00 00 */ cmplwi r3, 0
/* 801033C4 00100324 41 82 02 1C */ beq lbl_801035E0
/* 801033C8 00100328 88 03 00 30 */ lbz r0, 0x30(r3)
/* 801033CC 0010032C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801033D0 00100330 41 82 02 10 */ beq lbl_801035E0
/* 801033D4 00100334 7C 64 1B 78 */ mr r4, r3
/* 801033D8 00100338 38 61 00 18 */ addi r3, r1, 0x18
/* 801033DC 0010033C 4B FA A6 A9 */ bl "__ct__24TCastToPtr<10CGameLight>FP7CEntity"
/* 801033E0 00100340 83 03 00 04 */ lwz r24, 4(r3)
/* 801033E4 00100344 7F 43 D3 78 */ mr r3, r26
/* 801033E8 00100348 38 81 00 0C */ addi r4, r1, 0xc
/* 801033EC 0010034C A0 18 00 E8 */ lhz r0, 0xe8(r24)
/* 801033F0 00100350 B0 01 00 08 */ sth r0, 8(r1)
/* 801033F4 00100354 B0 01 00 0C */ sth r0, 0xc(r1)
/* 801033F8 00100358 4B F4 91 AD */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 801033FC 0010035C 7C 64 1B 78 */ mr r4, r3
/* 80103400 00100360 38 61 00 10 */ addi r3, r1, 0x10
/* 80103404 00100364 4B FA B3 7D */ bl "__ct__24TCastToPtr<10CExplosion>FP7CEntity"
/* 80103408 00100368 82 E3 00 04 */ lwz r23, 4(r3)
/* 8010340C 0010036C 28 17 00 00 */ cmplwi r23, 0
/* 80103410 00100370 41 82 01 D0 */ beq lbl_801035E0
/* 80103414 00100374 7F 04 C3 78 */ mr r4, r24
/* 80103418 00100378 38 61 00 A8 */ addi r3, r1, 0xa8
/* 8010341C 0010037C 4B FB 22 8D */ bl GetLight__10CGameLightCFv
/* 80103420 00100380 3B 01 00 A8 */ addi r24, r1, 0xa8
/* 80103424 00100384 38 61 00 F8 */ addi r3, r1, 0xf8
/* 80103428 00100388 7F 04 C3 78 */ mr r4, r24
/* 8010342C 0010038C 4B F3 81 45 */ bl __ct__6CLightFCR6CLight
/* 80103430 00100390 80 8D A1 38 */ lwz r4, gpTweakGui@sda21(r13)
/* 80103434 00100394 38 61 00 F8 */ addi r3, r1, 0xf8
/* 80103438 00100398 C0 01 01 1C */ lfs f0, 0x11c(r1)
/* 8010343C 0010039C C0 24 01 A4 */ lfs f1, 0x1a4(r4)
/* 80103440 001003A0 C0 84 01 A8 */ lfs f4, 0x1a8(r4)
/* 80103444 001003A4 C0 41 01 20 */ lfs f2, 0x120(r1)
/* 80103448 001003A8 EC 21 00 32 */ fmuls f1, f1, f0
/* 8010344C 001003AC C0 64 01 AC */ lfs f3, 0x1ac(r4)
/* 80103450 001003B0 C0 01 01 24 */ lfs f0, 0x124(r1)
/* 80103454 001003B4 EC 44 00 B2 */ fmuls f2, f4, f2
/* 80103458 001003B8 EC 63 00 32 */ fmuls f3, f3, f0
/* 8010345C 001003BC 48 20 2F 55 */ bl SetAttenuation__6CLightFfff
/* 80103460 001003C0 C0 57 00 60 */ lfs f2, 0x60(r23)
/* 80103464 001003C4 38 61 00 60 */ addi r3, r1, 0x60
/* 80103468 001003C8 C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 8010346C 001003CC 38 81 00 78 */ addi r4, r1, 0x78
/* 80103470 001003D0 C0 97 00 50 */ lfs f4, 0x50(r23)
/* 80103474 001003D4 38 A1 00 20 */ addi r5, r1, 0x20
/* 80103478 001003D8 C0 21 00 94 */ lfs f1, 0x94(r1)
/* 8010347C 001003DC EC 02 00 28 */ fsubs f0, f2, f0
/* 80103480 001003E0 C0 77 00 40 */ lfs f3, 0x40(r23)
/* 80103484 001003E4 C0 41 00 84 */ lfs f2, 0x84(r1)
/* 80103488 001003E8 EC 24 08 28 */ fsubs f1, f4, f1
/* 8010348C 001003EC D0 01 00 28 */ stfs f0, 0x28(r1)
/* 80103490 001003F0 EC 03 10 28 */ fsubs f0, f3, f2
/* 80103494 001003F4 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 80103498 001003F8 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 8010349C 001003FC 48 20 F5 89 */ bl TransposeRotate__12CTransform4fCFRC9CVector3f
/* 801034A0 00100400 C0 81 00 64 */ lfs f4, 0x64(r1)
/* 801034A4 00100404 3C 60 80 5A */ lis r3, lbl_805A6724@ha
/* 801034A8 00100408 C0 1F 00 04 */ lfs f0, 4(r31)
/* 801034AC 0010040C C0 A1 00 60 */ lfs f5, 0x60(r1)
/* 801034B0 00100410 EC 00 01 32 */ fmuls f0, f0, f4
/* 801034B4 00100414 C0 23 67 24 */ lfs f1, lbl_805A6724@l(r3)
/* 801034B8 00100418 C0 61 00 68 */ lfs f3, 0x68(r1)
/* 801034BC 0010041C C0 5F 00 08 */ lfs f2, 8(r31)
/* 801034C0 00100420 EC 21 01 7A */ fmadds f1, f1, f5, f0
/* 801034C4 00100424 C0 02 94 08 */ lfs f0, lbl_805AB128@sda21(r2)
/* 801034C8 00100428 D0 A1 00 6C */ stfs f5, 0x6c(r1)
/* 801034CC 0010042C EC 22 08 FA */ fmadds f1, f2, f3, f1
/* 801034D0 00100430 D0 81 00 70 */ stfs f4, 0x70(r1)
/* 801034D4 00100434 D0 61 00 74 */ stfs f3, 0x74(r1)
/* 801034D8 00100438 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801034DC 0010043C 41 80 01 04 */ blt lbl_801035E0
/* 801034E0 00100440 80 6D A1 38 */ lwz r3, gpTweakGui@sda21(r13)
/* 801034E4 00100444 C0 23 01 44 */ lfs f1, 0x144(r3)
/* 801034E8 00100448 4B F7 0E 69 */ bl FaceReflectionDistanceDebugValueToActualValue__9CTweakGuiFf
/* 801034EC 0010044C C0 01 00 70 */ lfs f0, 0x70(r1)
/* 801034F0 00100450 80 6D A1 38 */ lwz r3, gpTweakGui@sda21(r13)
/* 801034F4 00100454 FC 00 00 50 */ fneg f0, f0
/* 801034F8 00100458 EC 00 08 2A */ fadds f0, f0, f1
/* 801034FC 0010045C D0 01 00 70 */ stfs f0, 0x70(r1)
/* 80103500 00100460 C0 23 01 48 */ lfs f1, 0x148(r3)
/* 80103504 00100464 4B F7 0E 3D */ bl FaceReflectionHeightDebugValueToActualValue__9CTweakGuiFf
/* 80103508 00100468 C0 01 00 74 */ lfs f0, 0x74(r1)
/* 8010350C 0010046C 38 61 00 54 */ addi r3, r1, 0x54
/* 80103510 00100470 38 81 00 78 */ addi r4, r1, 0x78
/* 80103514 00100474 38 A1 00 6C */ addi r5, r1, 0x6c
/* 80103518 00100478 FC 00 00 50 */ fneg f0, f0
/* 8010351C 0010047C EC 00 08 2A */ fadds f0, f0, f1
/* 80103520 00100480 D0 01 00 74 */ stfs f0, 0x74(r1)
/* 80103524 00100484 48 20 F5 C5 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 80103528 00100488 38 61 00 F8 */ addi r3, r1, 0xf8
/* 8010352C 0010048C 38 81 00 54 */ addi r4, r1, 0x54
/* 80103530 00100490 48 20 2E 11 */ bl SetPosition__6CLightFRC9CVector3f
/* 80103534 00100494 7F 03 C3 78 */ mr r3, r24
/* 80103538 00100498 48 20 2D 9D */ bl GetRadius__6CLightCFv
/* 8010353C 0010049C C0 61 00 A8 */ lfs f3, 0xa8(r1)
/* 80103540 001004A0 7F 63 DB 78 */ mr r3, r27
/* 80103544 001004A4 C0 41 00 AC */ lfs f2, 0xac(r1)
/* 80103548 001004A8 38 81 00 44 */ addi r4, r1, 0x44
/* 8010354C 001004AC C0 01 00 B0 */ lfs f0, 0xb0(r1)
/* 80103550 001004B0 D0 61 00 44 */ stfs f3, 0x44(r1)
/* 80103554 001004B4 D0 41 00 48 */ stfs f2, 0x48(r1)
/* 80103558 001004B8 D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 8010355C 001004BC D0 21 00 50 */ stfs f1, 0x50(r1)
/* 80103560 001004C0 48 1C F4 6D */ bl AABoxSphereIntersection__13CollisionUtilFRC6CAABoxRC7CSphere
/* 80103564 001004C4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80103568 001004C8 41 82 00 78 */ beq lbl_801035E0
/* 8010356C 001004CC C0 41 00 84 */ lfs f2, 0x84(r1)
/* 80103570 001004D0 38 61 00 38 */ addi r3, r1, 0x38
/* 80103574 001004D4 C0 21 00 94 */ lfs f1, 0x94(r1)
/* 80103578 001004D8 38 81 00 F8 */ addi r4, r1, 0xf8
/* 8010357C 001004DC C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 80103580 001004E0 38 A1 00 2C */ addi r5, r1, 0x2c
/* 80103584 001004E4 D0 41 00 2C */ stfs f2, 0x2c(r1)
/* 80103588 001004E8 D0 21 00 30 */ stfs f1, 0x30(r1)
/* 8010358C 001004EC D0 01 00 34 */ stfs f0, 0x34(r1)
/* 80103590 001004F0 48 20 2A 95 */ bl GetNormalIndependentLightingAtPoint__6CLightCFRC9CVector3f
/* 80103594 001004F4 C0 41 00 38 */ lfs f2, 0x38(r1)
/* 80103598 001004F8 7F 03 C3 78 */ mr r3, r24
/* 8010359C 001004FC C0 21 00 3C */ lfs f1, 0x3c(r1)
/* 801035A0 00100500 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 801035A4 00100504 EF FF 10 2A */ fadds f31, f31, f2
/* 801035A8 00100508 EF DE 08 2A */ fadds f30, f30, f1
/* 801035AC 0010050C EF BD 00 2A */ fadds f29, f29, f0
/* 801035B0 00100510 48 20 2B A5 */ bl GetIntensity__6CLightCFv
/* 801035B4 00100514 C0 02 94 0C */ lfs f0, lbl_805AB12C@sda21(r2)
/* 801035B8 00100518 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801035BC 0010051C 40 81 00 24 */ ble lbl_801035E0
/* 801035C0 00100520 7F 03 C3 78 */ mr r3, r24
/* 801035C4 00100524 48 20 2D 11 */ bl GetRadius__6CLightCFv
/* 801035C8 00100528 C0 02 94 0C */ lfs f0, lbl_805AB12C@sda21(r2)
/* 801035CC 0010052C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801035D0 00100530 40 81 00 10 */ ble lbl_801035E0
/* 801035D4 00100534 38 79 01 44 */ addi r3, r25, 0x144
/* 801035D8 00100538 38 81 00 F8 */ addi r4, r1, 0xf8
/* 801035DC 0010053C 4B FF FC 71 */ bl "push_back__Q24rstl26reserved_vector<6CLight,4>FRC6CLight"
lbl_801035E0:
/* 801035E0 00100540 2C 1C FF FF */ cmpwi r28, -1
/* 801035E4 00100544 41 82 00 14 */ beq lbl_801035F8
/* 801035E8 00100548 57 83 18 38 */ slwi r3, r28, 3
/* 801035EC 0010054C 38 03 00 08 */ addi r0, r3, 8
/* 801035F0 00100550 7F 9E 02 AE */ lhax r28, r30, r0
/* 801035F4 00100554 48 00 00 08 */ b lbl_801035FC
lbl_801035F8:
/* 801035F8 00100558 3B 80 FF FF */ li r28, -1
lbl_801035FC:
/* 801035FC 0010055C 2C 1C FF FF */ cmpwi r28, -1
/* 80103600 00100560 41 82 00 14 */ beq lbl_80103614
/* 80103604 00100564 80 79 01 44 */ lwz r3, 0x144(r25)
/* 80103608 00100568 80 19 02 BC */ lwz r0, 0x2bc(r25)
/* 8010360C 0010056C 7C 03 00 00 */ cmpw r3, r0
/* 80103610 00100570 41 80 FD A4 */ blt lbl_801033B4
lbl_80103614:
/* 80103614 00100574 C0 02 94 18 */ lfs f0, lbl_805AB138@sda21(r2)
/* 80103618 00100578 C0 42 94 14 */ lfs f2, lbl_805AB134@sda21(r2)
/* 8010361C 0010057C EC 20 07 B2 */ fmuls f1, f0, f30
/* 80103620 00100580 C0 62 94 10 */ lfs f3, lbl_805AB130@sda21(r2)
/* 80103624 00100584 C0 02 94 1C */ lfs f0, lbl_805AB13C@sda21(r2)
/* 80103628 00100588 EC 22 0F FA */ fmadds f1, f2, f31, f1
/* 8010362C 0010058C EC 23 0F 7A */ fmadds f1, f3, f29, f1
/* 80103630 00100590 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80103634 00100594 40 80 00 58 */ bge lbl_8010368C
/* 80103638 00100598 80 B9 01 44 */ lwz r5, 0x144(r25)
/* 8010363C 0010059C 38 60 00 00 */ li r3, 0
/* 80103640 001005A0 2C 05 00 00 */ cmpwi r5, 0
/* 80103644 001005A4 40 81 00 40 */ ble lbl_80103684
/* 80103648 001005A8 2C 05 00 08 */ cmpwi r5, 8
/* 8010364C 001005AC 38 85 FF F8 */ addi r4, r5, -8
/* 80103650 001005B0 40 81 00 20 */ ble lbl_80103670
/* 80103654 001005B4 38 04 00 07 */ addi r0, r4, 7
/* 80103658 001005B8 54 00 E8 FE */ srwi r0, r0, 3
/* 8010365C 001005BC 7C 09 03 A6 */ mtctr r0
/* 80103660 001005C0 2C 04 00 00 */ cmpwi r4, 0
/* 80103664 001005C4 40 81 00 0C */ ble lbl_80103670
lbl_80103668:
/* 80103668 001005C8 38 63 00 08 */ addi r3, r3, 8
/* 8010366C 001005CC 42 00 FF FC */ bdnz lbl_80103668
lbl_80103670:
/* 80103670 001005D0 7C 03 28 50 */ subf r0, r3, r5
/* 80103674 001005D4 7C 09 03 A6 */ mtctr r0
/* 80103678 001005D8 7C 03 28 00 */ cmpw r3, r5
/* 8010367C 001005DC 40 80 00 08 */ bge lbl_80103684
lbl_80103680:
/* 80103680 001005E0 42 00 00 00 */ bdnz lbl_80103680
lbl_80103684:
/* 80103684 001005E4 38 00 00 00 */ li r0, 0
/* 80103688 001005E8 90 19 01 44 */ stw r0, 0x144(r25)
lbl_8010368C:
/* 8010368C 001005EC C0 02 94 20 */ lfs f0, lbl_805AB140@sda21(r2)
/* 80103690 001005F0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80103694 001005F4 40 81 00 50 */ ble lbl_801036E4
/* 80103698 001005F8 EC 20 08 24 */ fdivs f1, f0, f1
/* 8010369C 001005FC C0 02 94 24 */ lfs f0, lbl_805AB144@sda21(r2)
/* 801036A0 00100600 7F B7 EB 78 */ mr r23, r29
/* 801036A4 00100604 EF A0 08 24 */ fdivs f29, f0, f1
/* 801036A8 00100608 48 00 00 28 */ b lbl_801036D0
lbl_801036AC:
/* 801036AC 0010060C C0 37 00 24 */ lfs f1, 0x24(r23)
/* 801036B0 00100610 7E E3 BB 78 */ mr r3, r23
/* 801036B4 00100614 C0 57 00 28 */ lfs f2, 0x28(r23)
/* 801036B8 00100618 C0 17 00 2C */ lfs f0, 0x2c(r23)
/* 801036BC 0010061C EC 3D 00 72 */ fmuls f1, f29, f1
/* 801036C0 00100620 EC 5D 00 B2 */ fmuls f2, f29, f2
/* 801036C4 00100624 EC 7D 00 32 */ fmuls f3, f29, f0
/* 801036C8 00100628 48 20 2C E9 */ bl SetAttenuation__6CLightFfff
/* 801036CC 0010062C 3A F7 00 50 */ addi r23, r23, 0x50
lbl_801036D0:
/* 801036D0 00100630 80 19 01 44 */ lwz r0, 0x144(r25)
/* 801036D4 00100634 1C 00 00 50 */ mulli r0, r0, 0x50
/* 801036D8 00100638 7C 1D 02 14 */ add r0, r29, r0
/* 801036DC 0010063C 7C 17 00 40 */ cmplw r23, r0
/* 801036E0 00100640 40 82 FF CC */ bne lbl_801036AC
lbl_801036E4:
/* 801036E4 00100644 E3 E1 01 98 */ psq_l f31, 408(r1), 0, qr0
/* 801036E8 00100648 CB E1 01 90 */ lfd f31, 0x190(r1)
/* 801036EC 0010064C E3 C1 01 88 */ psq_l f30, 392(r1), 0, qr0
/* 801036F0 00100650 CB C1 01 80 */ lfd f30, 0x180(r1)
/* 801036F4 00100654 E3 A1 01 78 */ psq_l f29, 376(r1), 0, qr0
/* 801036F8 00100658 CB A1 01 70 */ lfd f29, 0x170(r1)
/* 801036FC 0010065C BA E1 01 4C */ lmw r23, 0x14c(r1)
/* 80103700 00100660 80 01 01 A4 */ lwz r0, 0x1a4(r1)
/* 80103704 00100664 7C 08 03 A6 */ mtlr r0
/* 80103708 00100668 38 21 01 A0 */ addi r1, r1, 0x1a0
/* 8010370C 0010066C 4E 80 00 20 */ blr
.global BuildDynamicLightList__12CActorLightsFRC13CStateManagerRC6CAABox
BuildDynamicLightList__12CActorLightsFRC13CStateManagerRC6CAABox:
/* 80103710 00100670 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 80103714 00100674 7C 08 02 A6 */ mflr r0
/* 80103718 00100678 90 01 00 84 */ stw r0, 0x84(r1)
/* 8010371C 0010067C BE E1 00 5C */ stmw r23, 0x5c(r1)
/* 80103720 00100680 7C 78 1B 78 */ mr r24, r3
/* 80103724 00100684 7C 99 23 78 */ mr r25, r4
/* 80103728 00100688 7C BA 2B 78 */ mr r26, r5
/* 8010372C 0010068C 48 00 16 05 */ bl UpdateBrightLight__12CActorLightsFv
/* 80103730 00100690 38 60 00 00 */ li r3, 0
/* 80103734 00100694 88 18 02 99 */ lbz r0, 0x299(r24)
/* 80103738 00100698 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 8010373C 0010069C 3B B8 01 48 */ addi r29, r24, 0x148
/* 80103740 001006A0 98 18 02 99 */ stb r0, 0x299(r24)
/* 80103744 001006A4 80 B8 01 44 */ lwz r5, 0x144(r24)
/* 80103748 001006A8 2C 05 00 00 */ cmpwi r5, 0
/* 8010374C 001006AC 40 81 00 40 */ ble lbl_8010378C
/* 80103750 001006B0 2C 05 00 08 */ cmpwi r5, 8
/* 80103754 001006B4 38 85 FF F8 */ addi r4, r5, -8
/* 80103758 001006B8 40 81 00 20 */ ble lbl_80103778
/* 8010375C 001006BC 38 04 00 07 */ addi r0, r4, 7
/* 80103760 001006C0 54 00 E8 FE */ srwi r0, r0, 3
/* 80103764 001006C4 7C 09 03 A6 */ mtctr r0
/* 80103768 001006C8 2C 04 00 00 */ cmpwi r4, 0
/* 8010376C 001006CC 40 81 00 0C */ ble lbl_80103778
lbl_80103770:
/* 80103770 001006D0 38 63 00 08 */ addi r3, r3, 8
/* 80103774 001006D4 42 00 FF FC */ bdnz lbl_80103770
lbl_80103778:
/* 80103778 001006D8 7C 03 28 50 */ subf r0, r3, r5
/* 8010377C 001006DC 7C 09 03 A6 */ mtctr r0
/* 80103780 001006E0 7C 03 28 00 */ cmpw r3, r5
/* 80103784 001006E4 40 80 00 08 */ bge lbl_8010378C
lbl_80103788:
/* 80103788 001006E8 42 00 00 00 */ bdnz lbl_80103788
lbl_8010378C:
/* 8010378C 001006EC 3B C0 00 00 */ li r30, 0
/* 80103790 001006F0 93 D8 01 44 */ stw r30, 0x144(r24)
/* 80103794 001006F4 88 18 02 9A */ lbz r0, 0x29a(r24)
/* 80103798 001006F8 28 00 00 00 */ cmplwi r0, 0
/* 8010379C 001006FC 40 82 00 80 */ bne lbl_8010381C
/* 801037A0 00100700 3B 80 00 00 */ li r28, 0
/* 801037A4 00100704 48 00 00 58 */ b lbl_801037FC
lbl_801037A8:
/* 801037A8 00100708 80 19 08 EC */ lwz r0, 0x8ec(r25)
/* 801037AC 0010070C 7F 60 F2 14 */ add r27, r0, r30
/* 801037B0 00100710 7F 63 DB 78 */ mr r3, r27
/* 801037B4 00100714 48 20 2B 21 */ bl GetRadius__6CLightCFv
/* 801037B8 00100718 C0 1B 00 00 */ lfs f0, 0(r27)
/* 801037BC 0010071C 7F 43 D3 78 */ mr r3, r26
/* 801037C0 00100720 38 81 00 28 */ addi r4, r1, 0x28
/* 801037C4 00100724 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 801037C8 00100728 C0 1B 00 04 */ lfs f0, 4(r27)
/* 801037CC 0010072C D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 801037D0 00100730 C0 1B 00 08 */ lfs f0, 8(r27)
/* 801037D4 00100734 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 801037D8 00100738 D0 21 00 34 */ stfs f1, 0x34(r1)
/* 801037DC 0010073C 48 1C F1 F1 */ bl AABoxSphereIntersection__13CollisionUtilFRC6CAABoxRC7CSphere
/* 801037E0 00100740 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801037E4 00100744 41 82 00 10 */ beq lbl_801037F4
/* 801037E8 00100748 7F 64 DB 78 */ mr r4, r27
/* 801037EC 0010074C 38 78 01 44 */ addi r3, r24, 0x144
/* 801037F0 00100750 4B FF FA 5D */ bl "push_back__Q24rstl26reserved_vector<6CLight,4>FRC6CLight"
lbl_801037F4:
/* 801037F4 00100754 3B DE 00 50 */ addi r30, r30, 0x50
/* 801037F8 00100758 3B 9C 00 01 */ addi r28, r28, 1
lbl_801037FC:
/* 801037FC 0010075C 80 19 08 E4 */ lwz r0, 0x8e4(r25)
/* 80103800 00100760 7C 1C 00 00 */ cmpw r28, r0
/* 80103804 00100764 40 80 02 28 */ bge lbl_80103A2C
/* 80103808 00100768 80 78 01 44 */ lwz r3, 0x144(r24)
/* 8010380C 0010076C 80 18 02 BC */ lwz r0, 0x2bc(r24)
/* 80103810 00100770 7C 03 00 00 */ cmpw r3, r0
/* 80103814 00100774 41 80 FF 94 */ blt lbl_801037A8
/* 80103818 00100778 48 00 02 14 */ b lbl_80103A2C
lbl_8010381C:
/* 8010381C 0010077C 3C 60 80 3D */ lis r3, lbl_803CEE40@ha
/* 80103820 00100780 3B 80 00 00 */ li r28, 0
/* 80103824 00100784 38 C3 EE 40 */ addi r6, r3, lbl_803CEE40@l
/* 80103828 00100788 80 A6 00 00 */ lwz r5, 0(r6)
/* 8010382C 0010078C 80 86 00 04 */ lwz r4, 4(r6)
/* 80103830 00100790 80 66 00 08 */ lwz r3, 8(r6)
/* 80103834 00100794 80 06 00 0C */ lwz r0, 0xc(r6)
/* 80103838 00100798 90 A1 00 38 */ stw r5, 0x38(r1)
/* 8010383C 0010079C 90 81 00 3C */ stw r4, 0x3c(r1)
/* 80103840 001007A0 90 61 00 40 */ stw r3, 0x40(r1)
/* 80103844 001007A4 90 01 00 44 */ stw r0, 0x44(r1)
/* 80103848 001007A8 48 00 01 CC */ b lbl_80103A14
lbl_8010384C:
/* 8010384C 001007AC 80 19 08 EC */ lwz r0, 0x8ec(r25)
/* 80103850 001007B0 38 81 00 48 */ addi r4, r1, 0x48
/* 80103854 001007B4 3B 60 00 00 */ li r27, 0
/* 80103858 001007B8 3A E0 00 00 */ li r23, 0
/* 8010385C 001007BC 7F E0 F2 14 */ add r31, r0, r30
/* 80103860 001007C0 7C 69 03 A6 */ mtctr r3
/* 80103864 001007C4 2C 03 00 00 */ cmpwi r3, 0
/* 80103868 001007C8 40 81 01 28 */ ble lbl_80103990
lbl_8010386C:
/* 8010386C 001007CC 80 64 00 00 */ lwz r3, 0(r4)
/* 80103870 001007D0 80 1F 00 40 */ lwz r0, 0x40(r31)
/* 80103874 001007D4 7C 03 00 00 */ cmpw r3, r0
/* 80103878 001007D8 40 82 01 0C */ bne lbl_80103984
/* 8010387C 001007DC 7F E3 FB 78 */ mr r3, r31
/* 80103880 001007E0 48 20 2A 55 */ bl GetRadius__6CLightCFv
/* 80103884 001007E4 C0 1F 00 00 */ lfs f0, 0(r31)
/* 80103888 001007E8 7F 43 D3 78 */ mr r3, r26
/* 8010388C 001007EC 38 81 00 18 */ addi r4, r1, 0x18
/* 80103890 001007F0 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80103894 001007F4 C0 1F 00 04 */ lfs f0, 4(r31)
/* 80103898 001007F8 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8010389C 001007FC C0 1F 00 08 */ lfs f0, 8(r31)
/* 801038A0 00100800 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 801038A4 00100804 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 801038A8 00100808 48 1C F0 41 */ bl AABoxSphereIntersectionRadius__13CollisionUtilFRC6CAABoxRC7CSphere
/* 801038AC 0010080C C0 02 94 08 */ lfs f0, lbl_805AB128@sda21(r2)
/* 801038B0 00100810 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801038B4 00100814 4C 41 13 82 */ cror 2, 1, 2
/* 801038B8 00100818 40 82 00 D8 */ bne lbl_80103990
/* 801038BC 0010081C 56 E5 10 3A */ slwi r5, r23, 2
/* 801038C0 00100820 38 C1 00 38 */ addi r6, r1, 0x38
/* 801038C4 00100824 7C 06 2C 2E */ lfsx f0, r6, r5
/* 801038C8 00100828 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801038CC 0010082C 40 81 00 C4 */ ble lbl_80103990
/* 801038D0 00100830 1C 97 00 50 */ mulli r4, r23, 0x50
/* 801038D4 00100834 80 7F 00 00 */ lwz r3, 0(r31)
/* 801038D8 00100838 80 1F 00 04 */ lwz r0, 4(r31)
/* 801038DC 0010083C 3B 60 00 01 */ li r27, 1
/* 801038E0 00100840 7C 26 2D 2E */ stfsx f1, r6, r5
/* 801038E4 00100844 7C 9D 22 14 */ add r4, r29, r4
/* 801038E8 00100848 90 64 00 00 */ stw r3, 0(r4)
/* 801038EC 0010084C 90 04 00 04 */ stw r0, 4(r4)
/* 801038F0 00100850 80 1F 00 08 */ lwz r0, 8(r31)
/* 801038F4 00100854 90 04 00 08 */ stw r0, 8(r4)
/* 801038F8 00100858 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 801038FC 0010085C 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 80103900 00100860 90 64 00 0C */ stw r3, 0xc(r4)
/* 80103904 00100864 90 04 00 10 */ stw r0, 0x10(r4)
/* 80103908 00100868 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 8010390C 0010086C 90 04 00 14 */ stw r0, 0x14(r4)
/* 80103910 00100870 80 1F 00 18 */ lwz r0, 0x18(r31)
/* 80103914 00100874 90 04 00 18 */ stw r0, 0x18(r4)
/* 80103918 00100878 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 8010391C 0010087C 90 04 00 1C */ stw r0, 0x1c(r4)
/* 80103920 00100880 C0 1F 00 20 */ lfs f0, 0x20(r31)
/* 80103924 00100884 D0 04 00 20 */ stfs f0, 0x20(r4)
/* 80103928 00100888 C0 1F 00 24 */ lfs f0, 0x24(r31)
/* 8010392C 0010088C D0 04 00 24 */ stfs f0, 0x24(r4)
/* 80103930 00100890 C0 1F 00 28 */ lfs f0, 0x28(r31)
/* 80103934 00100894 D0 04 00 28 */ stfs f0, 0x28(r4)
/* 80103938 00100898 C0 1F 00 2C */ lfs f0, 0x2c(r31)
/* 8010393C 0010089C D0 04 00 2C */ stfs f0, 0x2c(r4)
/* 80103940 001008A0 C0 1F 00 30 */ lfs f0, 0x30(r31)
/* 80103944 001008A4 D0 04 00 30 */ stfs f0, 0x30(r4)
/* 80103948 001008A8 C0 1F 00 34 */ lfs f0, 0x34(r31)
/* 8010394C 001008AC D0 04 00 34 */ stfs f0, 0x34(r4)
/* 80103950 001008B0 C0 1F 00 38 */ lfs f0, 0x38(r31)
/* 80103954 001008B4 D0 04 00 38 */ stfs f0, 0x38(r4)
/* 80103958 001008B8 80 1F 00 3C */ lwz r0, 0x3c(r31)
/* 8010395C 001008BC 90 04 00 3C */ stw r0, 0x3c(r4)
/* 80103960 001008C0 80 1F 00 40 */ lwz r0, 0x40(r31)
/* 80103964 001008C4 90 04 00 40 */ stw r0, 0x40(r4)
/* 80103968 001008C8 C0 1F 00 44 */ lfs f0, 0x44(r31)
/* 8010396C 001008CC D0 04 00 44 */ stfs f0, 0x44(r4)
/* 80103970 001008D0 C0 1F 00 48 */ lfs f0, 0x48(r31)
/* 80103974 001008D4 D0 04 00 48 */ stfs f0, 0x48(r4)
/* 80103978 001008D8 88 1F 00 4C */ lbz r0, 0x4c(r31)
/* 8010397C 001008DC 98 04 00 4C */ stb r0, 0x4c(r4)
/* 80103980 001008E0 48 00 00 10 */ b lbl_80103990
lbl_80103984:
/* 80103984 001008E4 38 84 00 04 */ addi r4, r4, 4
/* 80103988 001008E8 3A F7 00 01 */ addi r23, r23, 1
/* 8010398C 001008EC 42 00 FE E0 */ bdnz lbl_8010386C
lbl_80103990:
/* 80103990 001008F0 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 80103994 001008F4 40 82 00 78 */ bne lbl_80103A0C
/* 80103998 001008F8 7F E3 FB 78 */ mr r3, r31
/* 8010399C 001008FC 48 20 29 39 */ bl GetRadius__6CLightCFv
/* 801039A0 00100900 C0 1F 00 00 */ lfs f0, 0(r31)
/* 801039A4 00100904 7F 43 D3 78 */ mr r3, r26
/* 801039A8 00100908 38 81 00 08 */ addi r4, r1, 8
/* 801039AC 0010090C D0 01 00 08 */ stfs f0, 8(r1)
/* 801039B0 00100910 C0 1F 00 04 */ lfs f0, 4(r31)
/* 801039B4 00100914 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 801039B8 00100918 C0 1F 00 08 */ lfs f0, 8(r31)
/* 801039BC 0010091C D0 01 00 10 */ stfs f0, 0x10(r1)
/* 801039C0 00100920 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 801039C4 00100924 83 78 01 44 */ lwz r27, 0x144(r24)
/* 801039C8 00100928 48 1C EF 21 */ bl AABoxSphereIntersectionRadius__13CollisionUtilFRC6CAABoxRC7CSphere
/* 801039CC 0010092C 80 18 01 44 */ lwz r0, 0x144(r24)
/* 801039D0 00100930 57 64 10 3A */ slwi r4, r27, 2
/* 801039D4 00100934 38 61 00 38 */ addi r3, r1, 0x38
/* 801039D8 00100938 C0 02 94 08 */ lfs f0, lbl_805AB128@sda21(r2)
/* 801039DC 0010093C 7C 23 25 2E */ stfsx f1, r3, r4
/* 801039E0 00100940 54 06 10 3A */ slwi r6, r0, 2
/* 801039E4 00100944 7C 23 34 2E */ lfsx f1, r3, r6
/* 801039E8 00100948 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801039EC 0010094C 4C 41 13 82 */ cror 2, 1, 2
/* 801039F0 00100950 40 82 00 1C */ bne lbl_80103A0C
/* 801039F4 00100954 80 1F 00 40 */ lwz r0, 0x40(r31)
/* 801039F8 00100958 38 A1 00 48 */ addi r5, r1, 0x48
/* 801039FC 0010095C 7F E4 FB 78 */ mr r4, r31
/* 80103A00 00100960 38 78 01 44 */ addi r3, r24, 0x144
/* 80103A04 00100964 7C 05 31 2E */ stwx r0, r5, r6
/* 80103A08 00100968 4B FF F8 45 */ bl "push_back__Q24rstl26reserved_vector<6CLight,4>FRC6CLight"
lbl_80103A0C:
/* 80103A0C 0010096C 3B DE 00 50 */ addi r30, r30, 0x50
/* 80103A10 00100970 3B 9C 00 01 */ addi r28, r28, 1
lbl_80103A14:
/* 80103A14 00100974 80 19 08 E4 */ lwz r0, 0x8e4(r25)
/* 80103A18 00100978 7C 1C 00 00 */ cmpw r28, r0
/* 80103A1C 0010097C 40 80 00 10 */ bge lbl_80103A2C
/* 80103A20 00100980 80 78 01 44 */ lwz r3, 0x144(r24)
/* 80103A24 00100984 2C 03 00 04 */ cmpwi r3, 4
/* 80103A28 00100988 41 80 FE 24 */ blt lbl_8010384C
lbl_80103A2C:
/* 80103A2C 0010098C BA E1 00 5C */ lmw r23, 0x5c(r1)
/* 80103A30 00100990 80 01 00 84 */ lwz r0, 0x84(r1)
/* 80103A34 00100994 7C 08 03 A6 */ mtlr r0
/* 80103A38 00100998 38 21 00 80 */ addi r1, r1, 0x80
.global sub_80103a3c
sub_80103a3c:
/* 80103A3C 0010099C 4E 80 00 20 */ blr
.global MoveAmbienceToLights__12CActorLightsFRC9CVector3f
MoveAmbienceToLights__12CActorLightsFRC9CVector3f:
/* 80103A40 001009A0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80103A44 001009A4 7C 08 02 A6 */ mflr r0
/* 80103A48 001009A8 90 01 00 34 */ stw r0, 0x34(r1)
/* 80103A4C 001009AC 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80103A50 001009B0 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80103A54 001009B4 7C 9E 23 78 */ mr r30, r4
/* 80103A58 001009B8 88 03 02 98 */ lbz r0, 0x298(r3)
/* 80103A5C 001009BC 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f
/* 80103A60 001009C0 40 82 00 1C */ bne lbl_80103A7C
/* 80103A64 001009C4 88 0D 89 A0 */ lbz r0, lbl_805A7560@sda21(r13)
/* 80103A68 001009C8 28 00 00 00 */ cmplwi r0, 0
/* 80103A6C 001009CC 41 82 00 10 */ beq lbl_80103A7C
/* 80103A70 001009D0 80 03 00 00 */ lwz r0, 0(r3)
/* 80103A74 001009D4 2C 00 00 00 */ cmpwi r0, 0
/* 80103A78 001009D8 40 82 00 48 */ bne lbl_80103AC0
lbl_80103A7C:
/* 80103A7C 001009DC C0 82 94 28 */ lfs f4, lbl_805AB148@sda21(r2)
/* 80103A80 001009E0 C0 1E 00 00 */ lfs f0, 0(r30)
/* 80103A84 001009E4 C0 7E 00 04 */ lfs f3, 4(r30)
/* 80103A88 001009E8 EC 04 00 32 */ fmuls f0, f4, f0
/* 80103A8C 001009EC C0 23 02 88 */ lfs f1, 0x288(r3)
/* 80103A90 001009F0 C0 5E 00 08 */ lfs f2, 8(r30)
/* 80103A94 001009F4 EC 64 00 F2 */ fmuls f3, f4, f3
/* 80103A98 001009F8 EC 01 00 2A */ fadds f0, f1, f0
/* 80103A9C 001009FC EC 24 00 B2 */ fmuls f1, f4, f2
/* 80103AA0 00100A00 D0 03 02 88 */ stfs f0, 0x288(r3)
/* 80103AA4 00100A04 C0 03 02 8C */ lfs f0, 0x28c(r3)
/* 80103AA8 00100A08 EC 00 18 2A */ fadds f0, f0, f3
/* 80103AAC 00100A0C D0 03 02 8C */ stfs f0, 0x28c(r3)
/* 80103AB0 00100A10 C0 03 02 90 */ lfs f0, 0x290(r3)
/* 80103AB4 00100A14 EC 00 08 2A */ fadds f0, f0, f1
/* 80103AB8 00100A18 D0 03 02 90 */ stfs f0, 0x290(r3)
/* 80103ABC 00100A1C 48 00 00 E4 */ b lbl_80103BA0
lbl_80103AC0:
/* 80103AC0 00100A20 3B E3 00 04 */ addi r31, r3, 4
/* 80103AC4 00100A24 38 81 00 18 */ addi r4, r1, 0x18
/* 80103AC8 00100A28 38 7F 00 18 */ addi r3, r31, 0x18
/* 80103ACC 00100A2C 38 A1 00 14 */ addi r5, r1, 0x14
/* 80103AD0 00100A30 38 C1 00 10 */ addi r6, r1, 0x10
/* 80103AD4 00100A34 48 25 F8 65 */ bl Get__6CColorCFRfRfRf
/* 80103AD8 00100A38 C0 7E 00 04 */ lfs f3, 4(r30)
/* 80103ADC 00100A3C 38 61 00 20 */ addi r3, r1, 0x20
/* 80103AE0 00100A40 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 80103AE4 00100A44 38 81 00 24 */ addi r4, r1, 0x24
/* 80103AE8 00100A48 C0 3E 00 00 */ lfs f1, 0(r30)
/* 80103AEC 00100A4C C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80103AF0 00100A50 EC 63 10 2A */ fadds f3, f3, f2
/* 80103AF4 00100A54 C0 5E 00 08 */ lfs f2, 8(r30)
/* 80103AF8 00100A58 EC 01 00 2A */ fadds f0, f1, f0
/* 80103AFC 00100A5C C0 21 00 10 */ lfs f1, 0x10(r1)
/* 80103B00 00100A60 D0 61 00 20 */ stfs f3, 0x20(r1)
/* 80103B04 00100A64 EC 22 08 2A */ fadds f1, f2, f1
/* 80103B08 00100A68 FC 00 18 40 */ fcmpo cr0, f0, f3
/* 80103B0C 00100A6C D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 80103B10 00100A70 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 80103B14 00100A74 40 80 00 08 */ bge lbl_80103B1C
/* 80103B18 00100A78 48 00 00 08 */ b lbl_80103B20
lbl_80103B1C:
/* 80103B1C 00100A7C 38 61 00 1C */ addi r3, r1, 0x1c
lbl_80103B20:
/* 80103B20 00100A80 C0 23 00 00 */ lfs f1, 0(r3)
/* 80103B24 00100A84 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 80103B28 00100A88 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 80103B2C 00100A8C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80103B30 00100A90 40 80 00 08 */ bge lbl_80103B38
/* 80103B34 00100A94 48 00 00 08 */ b lbl_80103B3C
lbl_80103B38:
/* 80103B38 00100A98 38 81 00 0C */ addi r4, r1, 0xc
lbl_80103B3C:
/* 80103B3C 00100A9C C0 24 00 00 */ lfs f1, 0(r4)
/* 80103B40 00100AA0 C0 02 94 0C */ lfs f0, lbl_805AB12C@sda21(r2)
/* 80103B44 00100AA4 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 80103B48 00100AA8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80103B4C 00100AAC 40 81 00 30 */ ble lbl_80103B7C
/* 80103B50 00100AB0 C0 02 94 24 */ lfs f0, lbl_805AB144@sda21(r2)
/* 80103B54 00100AB4 C0 41 00 1C */ lfs f2, 0x1c(r1)
/* 80103B58 00100AB8 EC 60 08 24 */ fdivs f3, f0, f1
/* 80103B5C 00100ABC C0 21 00 20 */ lfs f1, 0x20(r1)
/* 80103B60 00100AC0 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 80103B64 00100AC4 EC 42 00 F2 */ fmuls f2, f2, f3
/* 80103B68 00100AC8 EC 21 00 F2 */ fmuls f1, f1, f3
/* 80103B6C 00100ACC EC 00 00 F2 */ fmuls f0, f0, f3
/* 80103B70 00100AD0 D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 80103B74 00100AD4 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 80103B78 00100AD8 D0 01 00 24 */ stfs f0, 0x24(r1)
lbl_80103B7C:
/* 80103B7C 00100ADC C0 21 00 1C */ lfs f1, 0x1c(r1)
/* 80103B80 00100AE0 38 61 00 08 */ addi r3, r1, 8
/* 80103B84 00100AE4 C0 41 00 20 */ lfs f2, 0x20(r1)
/* 80103B88 00100AE8 C0 61 00 24 */ lfs f3, 0x24(r1)
/* 80103B8C 00100AEC C0 82 94 24 */ lfs f4, lbl_805AB144@sda21(r2)
/* 80103B90 00100AF0 48 25 F8 5D */ bl __ct__6CColorFffff
/* 80103B94 00100AF4 7C 64 1B 78 */ mr r4, r3
/* 80103B98 00100AF8 7F E3 FB 78 */ mr r3, r31
/* 80103B9C 00100AFC 48 20 27 C1 */ bl SetColor__6CLightFRC6CColor
lbl_80103BA0:
/* 80103BA0 00100B00 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80103BA4 00100B04 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80103BA8 00100B08 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80103BAC 00100B0C 7C 08 03 A6 */ mtlr r0
/* 80103BB0 00100B10 38 21 00 30 */ addi r1, r1, 0x30
/* 80103BB4 00100B14 4E 80 00 20 */ blr
.global AddOverflowToLights__12CActorLightsFRC6CLightRC9CVector3f
AddOverflowToLights__12CActorLightsFRC6CLightRC9CVector3f:
/* 80103BB8 00100B18 94 21 FF 20 */ stwu r1, -0xe0(r1)
/* 80103BBC 00100B1C 7C 08 02 A6 */ mflr r0
/* 80103BC0 00100B20 90 01 00 E4 */ stw r0, 0xe4(r1)
/* 80103BC4 00100B24 DB E1 00 D0 */ stfd f31, 0xd0(r1)
/* 80103BC8 00100B28 F3 E1 00 D8 */ psq_st f31, 216(r1), 0, qr0
/* 80103BCC 00100B2C 93 E1 00 CC */ stw r31, 0xcc(r1)
/* 80103BD0 00100B30 93 C1 00 C8 */ stw r30, 0xc8(r1)
/* 80103BD4 00100B34 C0 02 94 2C */ lfs f0, lbl_805AB14C@sda21(r2)
/* 80103BD8 00100B38 7C 7E 1B 78 */ mr r30, r3
/* 80103BDC 00100B3C 7C 9F 23 78 */ mr r31, r4
/* 80103BE0 00100B40 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80103BE4 00100B44 41 80 00 E0 */ blt lbl_80103CC4
/* 80103BE8 00100B48 80 1E 02 B8 */ lwz r0, 0x2b8(r30)
/* 80103BEC 00100B4C 2C 00 00 01 */ cmpwi r0, 1
/* 80103BF0 00100B50 40 80 00 08 */ bge lbl_80103BF8
/* 80103BF4 00100B54 48 00 00 D0 */ b lbl_80103CC4
lbl_80103BF8:
/* 80103BF8 00100B58 C0 82 94 24 */ lfs f4, lbl_805AB144@sda21(r2)
/* 80103BFC 00100B5C 38 61 00 08 */ addi r3, r1, 8
/* 80103C00 00100B60 C0 65 00 00 */ lfs f3, 0(r5)
/* 80103C04 00100B64 EF E4 08 24 */ fdivs f31, f4, f1
/* 80103C08 00100B68 C0 45 00 04 */ lfs f2, 4(r5)
/* 80103C0C 00100B6C C0 05 00 08 */ lfs f0, 8(r5)
/* 80103C10 00100B70 EC 3F 00 F2 */ fmuls f1, f31, f3
/* 80103C14 00100B74 EC 5F 00 B2 */ fmuls f2, f31, f2
/* 80103C18 00100B78 EC 7F 00 32 */ fmuls f3, f31, f0
/* 80103C1C 00100B7C 48 25 F7 D1 */ bl __ct__6CColorFffff
/* 80103C20 00100B80 C0 5F 00 10 */ lfs f2, 0x10(r31)
/* 80103C24 00100B84 38 61 00 24 */ addi r3, r1, 0x24
/* 80103C28 00100B88 C0 3F 00 14 */ lfs f1, 0x14(r31)
/* 80103C2C 00100B8C 38 81 00 18 */ addi r4, r1, 0x18
/* 80103C30 00100B90 C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 80103C34 00100B94 ED 5F 00 B2 */ fmuls f10, f31, f2
/* 80103C38 00100B98 C0 5F 00 04 */ lfs f2, 4(r31)
/* 80103C3C 00100B9C ED 3F 00 72 */ fmuls f9, f31, f1
/* 80103C40 00100BA0 C0 3F 00 08 */ lfs f1, 8(r31)
/* 80103C44 00100BA4 EC DF 00 32 */ fmuls f6, f31, f0
/* 80103C48 00100BA8 C0 1F 00 00 */ lfs f0, 0(r31)
/* 80103C4C 00100BAC ED 1F 00 B2 */ fmuls f8, f31, f2
/* 80103C50 00100BB0 C1 7F 00 38 */ lfs f11, 0x38(r31)
/* 80103C54 00100BB4 EC FF 00 72 */ fmuls f7, f31, f1
/* 80103C58 00100BB8 C0 3F 00 34 */ lfs f1, 0x34(r31)
/* 80103C5C 00100BBC EC 1F 00 32 */ fmuls f0, f31, f0
/* 80103C60 00100BC0 C0 5F 00 30 */ lfs f2, 0x30(r31)
/* 80103C64 00100BC4 C0 7F 00 2C */ lfs f3, 0x2c(r31)
/* 80103C68 00100BC8 EC 9F 00 B2 */ fmuls f4, f31, f2
/* 80103C6C 00100BCC C0 5F 00 28 */ lfs f2, 0x28(r31)
/* 80103C70 00100BD0 EC BF 00 72 */ fmuls f5, f31, f1
/* 80103C74 00100BD4 C0 3F 00 24 */ lfs f1, 0x24(r31)
/* 80103C78 00100BD8 EC 7F 00 F2 */ fmuls f3, f31, f3
/* 80103C7C 00100BDC EC 5F 00 B2 */ fmuls f2, f31, f2
/* 80103C80 00100BE0 EC 3F 00 72 */ fmuls f1, f31, f1
/* 80103C84 00100BE4 D0 C1 00 0C */ stfs f6, 0xc(r1)
/* 80103C88 00100BE8 EC DF 02 F2 */ fmuls f6, f31, f11
/* 80103C8C 00100BEC 38 A1 00 0C */ addi r5, r1, 0xc
/* 80103C90 00100BF0 D1 41 00 10 */ stfs f10, 0x10(r1)
/* 80103C94 00100BF4 38 C1 00 08 */ addi r6, r1, 8
/* 80103C98 00100BF8 D1 21 00 14 */ stfs f9, 0x14(r1)
/* 80103C9C 00100BFC D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80103CA0 00100C00 D1 01 00 1C */ stfs f8, 0x1c(r1)
/* 80103CA4 00100C04 D0 E1 00 20 */ stfs f7, 0x20(r1)
/* 80103CA8 00100C08 48 20 27 35 */ bl BuildCustom__6CLightFRC9CVector3fRC9CVector3fRC6CColorffffff
/* 80103CAC 00100C0C 38 61 00 74 */ addi r3, r1, 0x74
/* 80103CB0 00100C10 38 81 00 24 */ addi r4, r1, 0x24
/* 80103CB4 00100C14 4B F3 78 BD */ bl __ct__6CLightFCR6CLight
/* 80103CB8 00100C18 7F C3 F3 78 */ mr r3, r30
/* 80103CBC 00100C1C 38 81 00 74 */ addi r4, r1, 0x74
/* 80103CC0 00100C20 4B FF F5 8D */ bl "push_back__Q24rstl26reserved_vector<6CLight,4>FRC6CLight"
lbl_80103CC4:
/* 80103CC4 00100C24 E3 E1 00 D8 */ psq_l f31, 216(r1), 0, qr0
/* 80103CC8 00100C28 80 01 00 E4 */ lwz r0, 0xe4(r1)
/* 80103CCC 00100C2C CB E1 00 D0 */ lfd f31, 0xd0(r1)
/* 80103CD0 00100C30 83 E1 00 CC */ lwz r31, 0xcc(r1)
/* 80103CD4 00100C34 83 C1 00 C8 */ lwz r30, 0xc8(r1)
/* 80103CD8 00100C38 7C 08 03 A6 */ mtlr r0
/* 80103CDC 00100C3C 38 21 00 E0 */ addi r1, r1, 0xe0
/* 80103CE0 00100C40 4E 80 00 20 */ blr
.global MultiplyLightingLevels__12CActorLightsFf
MultiplyLightingLevels__12CActorLightsFf:
/* 80103CE4 00100C44 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80103CE8 00100C48 7C 08 02 A6 */ mflr r0
/* 80103CEC 00100C4C 90 01 00 44 */ stw r0, 0x44(r1)
/* 80103CF0 00100C50 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 80103CF4 00100C54 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 80103CF8 00100C58 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80103CFC 00100C5C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80103D00 00100C60 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80103D04 00100C64 7C 7D 1B 78 */ mr r29, r3
/* 80103D08 00100C68 FF E0 08 90 */ fmr f31, f1
/* 80103D0C 00100C6C C0 03 02 88 */ lfs f0, 0x288(r3)
/* 80103D10 00100C70 3B FD 00 04 */ addi r31, r29, 4
/* 80103D14 00100C74 3B C0 00 00 */ li r30, 0
/* 80103D18 00100C78 EC 00 07 F2 */ fmuls f0, f0, f31
/* 80103D1C 00100C7C D0 03 02 88 */ stfs f0, 0x288(r3)
/* 80103D20 00100C80 C0 03 02 8C */ lfs f0, 0x28c(r3)
/* 80103D24 00100C84 EC 00 07 F2 */ fmuls f0, f0, f31
/* 80103D28 00100C88 D0 03 02 8C */ stfs f0, 0x28c(r3)
/* 80103D2C 00100C8C C0 03 02 90 */ lfs f0, 0x290(r3)
/* 80103D30 00100C90 EC 00 07 F2 */ fmuls f0, f0, f31
/* 80103D34 00100C94 D0 03 02 90 */ stfs f0, 0x290(r3)
/* 80103D38 00100C98 48 00 00 58 */ b lbl_80103D90
lbl_80103D3C:
/* 80103D3C 00100C9C 80 1F 00 18 */ lwz r0, 0x18(r31)
/* 80103D40 00100CA0 38 61 00 14 */ addi r3, r1, 0x14
/* 80103D44 00100CA4 38 81 00 10 */ addi r4, r1, 0x10
/* 80103D48 00100CA8 38 A1 00 0C */ addi r5, r1, 0xc
/* 80103D4C 00100CAC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80103D50 00100CB0 38 C1 00 08 */ addi r6, r1, 8
/* 80103D54 00100CB4 48 25 F5 E5 */ bl Get__6CColorCFRfRfRf
/* 80103D58 00100CB8 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 80103D5C 00100CBC 38 61 00 14 */ addi r3, r1, 0x14
/* 80103D60 00100CC0 C0 41 00 0C */ lfs f2, 0xc(r1)
/* 80103D64 00100CC4 C0 01 00 08 */ lfs f0, 8(r1)
/* 80103D68 00100CC8 EC 21 07 F2 */ fmuls f1, f1, f31
/* 80103D6C 00100CCC EC 42 07 F2 */ fmuls f2, f2, f31
/* 80103D70 00100CD0 C0 82 94 24 */ lfs f4, lbl_805AB144@sda21(r2)
/* 80103D74 00100CD4 EC 60 07 F2 */ fmuls f3, f0, f31
/* 80103D78 00100CD8 48 25 F6 25 */ bl Set__6CColorFffff
/* 80103D7C 00100CDC 7F E3 FB 78 */ mr r3, r31
/* 80103D80 00100CE0 38 81 00 14 */ addi r4, r1, 0x14
/* 80103D84 00100CE4 48 20 25 D9 */ bl SetColor__6CLightFRC6CColor
/* 80103D88 00100CE8 3B FF 00 50 */ addi r31, r31, 0x50
/* 80103D8C 00100CEC 3B DE 00 01 */ addi r30, r30, 1
lbl_80103D90:
/* 80103D90 00100CF0 80 1D 00 00 */ lwz r0, 0(r29)
/* 80103D94 00100CF4 7C 1E 00 00 */ cmpw r30, r0
/* 80103D98 00100CF8 41 80 FF A4 */ blt lbl_80103D3C
/* 80103D9C 00100CFC E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 80103DA0 00100D00 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80103DA4 00100D04 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 80103DA8 00100D08 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80103DAC 00100D0C 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80103DB0 00100D10 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80103DB4 00100D14 7C 08 03 A6 */ mtlr r0
/* 80103DB8 00100D18 38 21 00 40 */ addi r1, r1, 0x40
/* 80103DBC 00100D1C 4E 80 00 20 */ blr
.global BuildAreaLightList__12CActorLightsFRC13CStateManagerRC9CGameAreaRC6CAABox
BuildAreaLightList__12CActorLightsFRC13CStateManagerRC9CGameAreaRC6CAABox:
/* 80103DC0 00100D20 94 21 FD 60 */ stwu r1, -0x2a0(r1)
/* 80103DC4 00100D24 7C 08 02 A6 */ mflr r0
/* 80103DC8 00100D28 90 01 02 A4 */ stw r0, 0x2a4(r1)
/* 80103DCC 00100D2C DB E1 02 90 */ stfd f31, 0x290(r1)
/* 80103DD0 00100D30 F3 E1 02 98 */ psq_st f31, 664(r1), 0, qr0
/* 80103DD4 00100D34 DB C1 02 80 */ stfd f30, 0x280(r1)
/* 80103DD8 00100D38 F3 C1 02 88 */ psq_st f30, 648(r1), 0, qr0
/* 80103DDC 00100D3C BD C1 02 38 */ stmw r14, 0x238(r1)
/* 80103DE0 00100D40 7C 3F 0B 78 */ mr r31, r1
/* 80103DE4 00100D44 88 03 02 98 */ lbz r0, 0x298(r3)
/* 80103DE8 00100D48 7C 7C 1B 78 */ mr r28, r3
/* 80103DEC 00100D4C 7C BD 2B 78 */ mr r29, r5
/* 80103DF0 00100D50 7C DE 33 78 */ mr r30, r6
/* 80103DF4 00100D54 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f
/* 80103DF8 00100D58 41 82 00 10 */ beq lbl_80103E08
/* 80103DFC 00100D5C 80 7D 01 2C */ lwz r3, 0x12c(r29)
/* 80103E00 00100D60 38 63 00 80 */ addi r3, r3, 0x80
/* 80103E04 00100D64 48 00 00 0C */ b lbl_80103E10
lbl_80103E08:
/* 80103E08 00100D68 80 7D 01 2C */ lwz r3, 0x12c(r29)
/* 80103E0C 00100D6C 38 63 00 60 */ addi r3, r3, 0x60
lbl_80103E10:
/* 80103E10 00100D70 80 A3 00 04 */ lwz r5, 4(r3)
/* 80103E14 00100D74 88 1C 02 98 */ lbz r0, 0x298(r28)
/* 80103E18 00100D78 7C 65 00 D0 */ neg r3, r5
/* 80103E1C 00100D7C 7C 63 2B 78 */ or r3, r3, r5
/* 80103E20 00100D80 50 60 36 B4 */ rlwimi r0, r3, 6, 0x1a, 0x1a
/* 80103E24 00100D84 98 1C 02 98 */ stb r0, 0x298(r28)
/* 80103E28 00100D88 88 BC 02 98 */ lbz r5, 0x298(r28)
/* 80103E2C 00100D8C 54 A0 DF FF */ rlwinm. r0, r5, 0x1b, 0x1f, 0x1f
/* 80103E30 00100D90 41 82 00 0C */ beq lbl_80103E3C
/* 80103E34 00100D94 54 A0 EF FF */ rlwinm. r0, r5, 0x1d, 0x1f, 0x1f
/* 80103E38 00100D98 40 82 00 2C */ bne lbl_80103E64
lbl_80103E3C:
/* 80103E3C 00100D9C 88 1C 02 98 */ lbz r0, 0x298(r28)
/* 80103E40 00100DA0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80103E44 00100DA4 41 82 00 10 */ beq lbl_80103E54
/* 80103E48 00100DA8 80 7D 01 2C */ lwz r3, 0x12c(r29)
/* 80103E4C 00100DAC C0 03 11 28 */ lfs f0, 0x1128(r3)
/* 80103E50 00100DB0 D0 1C 02 D4 */ stfs f0, 0x2d4(r28)
lbl_80103E54:
/* 80103E54 00100DB4 38 00 FF FF */ li r0, -1
/* 80103E58 00100DB8 38 60 00 01 */ li r3, 1
/* 80103E5C 00100DBC 90 1C 02 9C */ stw r0, 0x29c(r28)
/* 80103E60 00100DC0 48 00 0C E4 */ b lbl_80104B44
lbl_80103E64:
/* 80103E64 00100DC4 3C 60 80 5A */ lis r3, skZero3f@ha
/* 80103E68 00100DC8 54 A0 CF FF */ rlwinm. r0, r5, 0x19, 0x1f, 0x1f
/* 80103E6C 00100DCC 3A 43 66 A0 */ addi r18, r3, skZero3f@l
/* 80103E70 00100DD0 C0 52 00 00 */ lfs f2, 0(r18)
/* 80103E74 00100DD4 C0 32 00 04 */ lfs f1, 4(r18)
/* 80103E78 00100DD8 C0 12 00 08 */ lfs f0, 8(r18)
/* 80103E7C 00100DDC D0 5F 00 B8 */ stfs f2, 0xb8(r31)
/* 80103E80 00100DE0 D0 3F 00 BC */ stfs f1, 0xbc(r31)
/* 80103E84 00100DE4 D0 1F 00 C0 */ stfs f0, 0xc0(r31)
/* 80103E88 00100DE8 40 82 00 F0 */ bne lbl_80103F78
/* 80103E8C 00100DEC 80 7C 02 94 */ lwz r3, 0x294(r28)
/* 80103E90 00100DF0 80 1D 00 04 */ lwz r0, 4(r29)
/* 80103E94 00100DF4 7C 03 00 00 */ cmpw r3, r0
/* 80103E98 00100DF8 40 82 00 E0 */ bne lbl_80103F78
/* 80103E9C 00100DFC 80 7C 02 A4 */ lwz r3, 0x2a4(r28)
/* 80103EA0 00100E00 80 84 08 D4 */ lwz r4, 0x8d4(r4)
/* 80103EA4 00100E04 80 1C 02 A8 */ lwz r0, 0x2a8(r28)
/* 80103EA8 00100E08 7C 63 20 50 */ subf r3, r3, r4
/* 80103EAC 00100E0C 7C 03 00 40 */ cmplw r3, r0
/* 80103EB0 00100E10 40 80 00 0C */ bge lbl_80103EBC
/* 80103EB4 00100E14 38 60 00 00 */ li r3, 0
/* 80103EB8 00100E18 48 00 0C 8C */ b lbl_80104B44
lbl_80103EBC:
/* 80103EBC 00100E1C 90 9C 02 A4 */ stw r4, 0x2a4(r28)
/* 80103EC0 00100E20 7F C4 F3 78 */ mr r4, r30
/* 80103EC4 00100E24 38 7F 00 7C */ addi r3, r31, 0x7c
/* 80103EC8 00100E28 48 23 37 45 */ bl GetCenterPoint__6CAABoxCFv
/* 80103ECC 00100E2C C0 3F 00 80 */ lfs f1, 0x80(r31)
/* 80103ED0 00100E30 C0 1C 02 B0 */ lfs f0, 0x2b0(r28)
/* 80103ED4 00100E34 C0 7F 00 84 */ lfs f3, 0x84(r31)
/* 80103ED8 00100E38 C0 5C 02 B4 */ lfs f2, 0x2b4(r28)
/* 80103EDC 00100E3C EC A1 00 2A */ fadds f5, f1, f0
/* 80103EE0 00100E40 C0 1C 02 AC */ lfs f0, 0x2ac(r28)
/* 80103EE4 00100E44 C0 3F 00 7C */ lfs f1, 0x7c(r31)
/* 80103EE8 00100E48 EC 83 10 2A */ fadds f4, f3, f2
/* 80103EEC 00100E4C D0 BF 00 BC */ stfs f5, 0xbc(r31)
/* 80103EF0 00100E50 EC 41 00 2A */ fadds f2, f1, f0
/* 80103EF4 00100E54 80 7D 01 2C */ lwz r3, 0x12c(r29)
/* 80103EF8 00100E58 D0 9F 00 C0 */ stfs f4, 0xc0(r31)
/* 80103EFC 00100E5C D0 5F 00 B8 */ stfs f2, 0xb8(r31)
/* 80103F00 00100E60 C0 3C 02 D4 */ lfs f1, 0x2d4(r28)
/* 80103F04 00100E64 C0 03 11 28 */ lfs f0, 0x1128(r3)
/* 80103F08 00100E68 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80103F0C 00100E6C 40 82 00 50 */ bne lbl_80103F5C
/* 80103F10 00100E70 C0 3C 02 C4 */ lfs f1, 0x2c4(r28)
/* 80103F14 00100E74 C0 1C 02 C0 */ lfs f0, 0x2c0(r28)
/* 80103F18 00100E78 EC A1 28 28 */ fsubs f5, f1, f5
/* 80103F1C 00100E7C C0 3C 02 C8 */ lfs f1, 0x2c8(r28)
/* 80103F20 00100E80 EC 60 10 28 */ fsubs f3, f0, f2
/* 80103F24 00100E84 C0 1C 02 CC */ lfs f0, 0x2cc(r28)
/* 80103F28 00100E88 EC 81 20 28 */ fsubs f4, f1, f4
/* 80103F2C 00100E8C EC 25 01 72 */ fmuls f1, f5, f5
/* 80103F30 00100E90 EC 43 00 F2 */ fmuls f2, f3, f3
/* 80103F34 00100E94 D0 7F 00 70 */ stfs f3, 0x70(r31)
/* 80103F38 00100E98 EC 64 01 32 */ fmuls f3, f4, f4
/* 80103F3C 00100E9C D0 BF 00 74 */ stfs f5, 0x74(r31)
/* 80103F40 00100EA0 EC 22 08 2A */ fadds f1, f2, f1
/* 80103F44 00100EA4 D0 9F 00 78 */ stfs f4, 0x78(r31)
/* 80103F48 00100EA8 EC 23 08 2A */ fadds f1, f3, f1
/* 80103F4C 00100EAC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80103F50 00100EB0 40 80 00 0C */ bge lbl_80103F5C
/* 80103F54 00100EB4 38 60 00 00 */ li r3, 0
/* 80103F58 00100EB8 48 00 0B EC */ b lbl_80104B44
lbl_80103F5C:
/* 80103F5C 00100EBC C0 1F 00 B8 */ lfs f0, 0xb8(r31)
/* 80103F60 00100EC0 D0 1C 02 C0 */ stfs f0, 0x2c0(r28)
/* 80103F64 00100EC4 C0 1F 00 BC */ lfs f0, 0xbc(r31)
/* 80103F68 00100EC8 D0 1C 02 C4 */ stfs f0, 0x2c4(r28)
/* 80103F6C 00100ECC C0 1F 00 C0 */ lfs f0, 0xc0(r31)
/* 80103F70 00100ED0 D0 1C 02 C8 */ stfs f0, 0x2c8(r28)
/* 80103F74 00100ED4 48 00 00 7C */ b lbl_80103FF0
lbl_80103F78:
/* 80103F78 00100ED8 80 7C 02 94 */ lwz r3, 0x294(r28)
/* 80103F7C 00100EDC 80 1D 00 04 */ lwz r0, 4(r29)
/* 80103F80 00100EE0 7C 03 00 00 */ cmpw r3, r0
/* 80103F84 00100EE4 41 82 00 0C */ beq lbl_80103F90
/* 80103F88 00100EE8 38 00 FF FF */ li r0, -1
/* 80103F8C 00100EEC 90 1C 02 D8 */ stw r0, 0x2d8(r28)
lbl_80103F90:
/* 80103F90 00100EF0 80 04 08 D4 */ lwz r0, 0x8d4(r4)
/* 80103F94 00100EF4 7F C4 F3 78 */ mr r4, r30
/* 80103F98 00100EF8 80 AD A3 50 */ lwz r5, lbl_805A8F10@sda21(r13)
/* 80103F9C 00100EFC 38 7F 00 64 */ addi r3, r31, 0x64
/* 80103FA0 00100F00 7C 05 02 14 */ add r0, r5, r0
/* 80103FA4 00100F04 90 1C 02 A4 */ stw r0, 0x2a4(r28)
/* 80103FA8 00100F08 48 23 36 65 */ bl GetCenterPoint__6CAABoxCFv
/* 80103FAC 00100F0C C0 3F 00 68 */ lfs f1, 0x68(r31)
/* 80103FB0 00100F10 C0 1C 02 B0 */ lfs f0, 0x2b0(r28)
/* 80103FB4 00100F14 C0 7F 00 6C */ lfs f3, 0x6c(r31)
/* 80103FB8 00100F18 C0 5C 02 B4 */ lfs f2, 0x2b4(r28)
/* 80103FBC 00100F1C EC 81 00 2A */ fadds f4, f1, f0
/* 80103FC0 00100F20 C0 1C 02 AC */ lfs f0, 0x2ac(r28)
/* 80103FC4 00100F24 C0 3F 00 64 */ lfs f1, 0x64(r31)
/* 80103FC8 00100F28 EC 43 10 2A */ fadds f2, f3, f2
/* 80103FCC 00100F2C D0 9F 00 BC */ stfs f4, 0xbc(r31)
/* 80103FD0 00100F30 EC 01 00 2A */ fadds f0, f1, f0
/* 80103FD4 00100F34 D0 5F 00 C0 */ stfs f2, 0xc0(r31)
/* 80103FD8 00100F38 D0 1F 00 B8 */ stfs f0, 0xb8(r31)
/* 80103FDC 00100F3C D0 1C 02 C0 */ stfs f0, 0x2c0(r28)
/* 80103FE0 00100F40 C0 1F 00 BC */ lfs f0, 0xbc(r31)
/* 80103FE4 00100F44 D0 1C 02 C4 */ stfs f0, 0x2c4(r28)
/* 80103FE8 00100F48 C0 1F 00 C0 */ lfs f0, 0xc0(r31)
/* 80103FEC 00100F4C D0 1C 02 C8 */ stfs f0, 0x2c8(r28)
lbl_80103FF0:
/* 80103FF0 00100F50 80 7D 01 2C */ lwz r3, 0x12c(r29)
/* 80103FF4 00100F54 38 80 00 00 */ li r4, 0
/* 80103FF8 00100F58 38 00 FF FF */ li r0, -1
/* 80103FFC 00100F5C C0 03 11 28 */ lfs f0, 0x1128(r3)
/* 80104000 00100F60 D0 1C 02 D4 */ stfs f0, 0x2d4(r28)
/* 80104004 00100F64 88 7C 02 98 */ lbz r3, 0x298(r28)
/* 80104008 00100F68 50 83 3E 30 */ rlwimi r3, r4, 7, 0x18, 0x18
/* 8010400C 00100F6C 98 7C 02 98 */ stb r3, 0x298(r28)
/* 80104010 00100F70 80 7D 00 04 */ lwz r3, 4(r29)
/* 80104014 00100F74 90 7C 02 94 */ stw r3, 0x294(r28)
/* 80104018 00100F78 90 1C 02 9C */ stw r0, 0x29c(r28)
/* 8010401C 00100F7C 88 1C 02 98 */ lbz r0, 0x298(r28)
/* 80104020 00100F80 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f
/* 80104024 00100F84 41 82 00 10 */ beq lbl_80104034
/* 80104028 00100F88 80 7D 01 2C */ lwz r3, 0x12c(r29)
/* 8010402C 00100F8C 3B 43 00 80 */ addi r26, r3, 0x80
/* 80104030 00100F90 48 00 00 0C */ b lbl_8010403C
lbl_80104034:
/* 80104034 00100F94 80 7D 01 2C */ lwz r3, 0x12c(r29)
/* 80104038 00100F98 3B 43 00 60 */ addi r26, r3, 0x60
lbl_8010403C:
/* 8010403C 00100F9C 28 00 00 00 */ cmplwi r0, 0
/* 80104040 00100FA0 41 82 00 10 */ beq lbl_80104050
/* 80104044 00100FA4 80 7D 01 2C */ lwz r3, 0x12c(r29)
/* 80104048 00100FA8 3B 23 00 90 */ addi r25, r3, 0x90
/* 8010404C 00100FAC 48 00 00 0C */ b lbl_80104058
lbl_80104050:
/* 80104050 00100FB0 80 7D 01 2C */ lwz r3, 0x12c(r29)
/* 80104054 00100FB4 3B 23 00 70 */ addi r25, r3, 0x70
lbl_80104058:
/* 80104058 00100FB8 80 7A 00 04 */ lwz r3, 4(r26)
/* 8010405C 00100FBC 80 01 00 00 */ lwz r0, 0(r1)
/* 80104060 00100FC0 1C 63 00 1C */ mulli r3, r3, 0x1c
/* 80104064 00100FC4 7E 83 00 D0 */ neg r20, r3
/* 80104068 00100FC8 56 94 00 38 */ rlwinm r20, r20, 0, 0, 0x1c
/* 8010406C 00100FCC 7C 01 A1 6E */ stwux r0, r1, r20
/* 80104070 00100FD0 3C 60 80 5A */ lis r3, skZero3f@ha
/* 80104074 00100FD4 3A 60 00 00 */ li r19, 0
/* 80104078 00100FD8 3B 00 00 00 */ li r24, 0
/* 8010407C 00100FDC C0 03 66 A0 */ lfs f0, skZero3f@l(r3)
/* 80104080 00100FE0 3A 81 00 08 */ addi r20, r1, 8
/* 80104084 00100FE4 D0 1C 02 88 */ stfs f0, 0x288(r28)
/* 80104088 00100FE8 C0 12 00 04 */ lfs f0, 4(r18)
/* 8010408C 00100FEC D0 1C 02 8C */ stfs f0, 0x28c(r28)
/* 80104090 00100FF0 C0 12 00 08 */ lfs f0, 8(r18)
/* 80104094 00100FF4 D0 1C 02 90 */ stfs f0, 0x290(r28)
/* 80104098 00100FF8 80 7D 01 2C */ lwz r3, 0x12c(r29)
/* 8010409C 00100FFC 81 C3 00 A0 */ lwz r14, 0xa0(r3)
/* 801040A0 00101000 28 0E 00 00 */ cmplwi r14, 0
/* 801040A4 00101004 41 82 00 14 */ beq lbl_801040B8
/* 801040A8 00101008 80 02 85 40 */ lwz r0, lbl_805AA260@sda21(r2)
/* 801040AC 0010100C 2C 00 00 01 */ cmpwi r0, 1
/* 801040B0 00101010 40 82 00 08 */ bne lbl_801040B8
/* 801040B4 00101014 3B 00 00 01 */ li r24, 1
lbl_801040B8:
/* 801040B8 00101018 88 1C 02 98 */ lbz r0, 0x298(r28)
/* 801040BC 0010101C 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f
/* 801040C0 00101020 41 82 00 28 */ beq lbl_801040E8
/* 801040C4 00101024 57 00 06 3F */ clrlwi. r0, r24, 0x18
/* 801040C8 00101028 41 82 00 18 */ beq lbl_801040E0
/* 801040CC 0010102C 80 6E 00 08 */ lwz r3, 8(r14)
/* 801040D0 00101030 7C 03 00 D0 */ neg r0, r3
/* 801040D4 00101034 7C 00 1B 78 */ or r0, r0, r3
/* 801040D8 00101038 54 16 0F FE */ srwi r22, r0, 0x1f
/* 801040DC 0010103C 48 00 00 10 */ b lbl_801040EC
lbl_801040E0:
/* 801040E0 00101040 3A C0 00 01 */ li r22, 1
/* 801040E4 00101044 48 00 00 08 */ b lbl_801040EC
lbl_801040E8:
/* 801040E8 00101048 3A C0 00 00 */ li r22, 0
lbl_801040EC:
/* 801040EC 0010104C 38 7F 01 78 */ addi r3, r31, 0x178
/* 801040F0 00101050 38 80 00 02 */ li r4, 2
/* 801040F4 00101054 48 21 22 8D */ bl Reset__10CPVSVisSetFi
/* 801040F8 00101058 38 7F 01 64 */ addi r3, r31, 0x164
/* 801040FC 0010105C 38 80 00 02 */ li r4, 2
/* 80104100 00101060 48 21 22 81 */ bl Reset__10CPVSVisSetFi
/* 80104104 00101064 38 7F 01 50 */ addi r3, r31, 0x150
/* 80104108 00101068 38 80 00 02 */ li r4, 2
/* 8010410C 0010106C 48 21 22 75 */ bl Reset__10CPVSVisSetFi
/* 80104110 00101070 57 00 06 3F */ clrlwi. r0, r24, 0x18
/* 80104114 00101074 41 82 01 CC */ beq lbl_801042E0
/* 80104118 00101078 38 7F 00 58 */ addi r3, r31, 0x58
/* 8010411C 0010107C 38 9D 00 3C */ addi r4, r29, 0x3c
/* 80104120 00101080 38 BF 00 B8 */ addi r5, r31, 0xb8
/* 80104124 00101084 48 20 E9 C5 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 80104128 00101088 7D C3 73 78 */ mr r3, r14
/* 8010412C 0010108C 48 1A A3 59 */ bl GetVisOctree__11CPVSAreaSetCFUi
/* 80104130 00101090 7C 64 1B 78 */ mr r4, r3
/* 80104134 00101094 38 7F 01 24 */ addi r3, r31, 0x124
/* 80104138 00101098 38 BF 00 58 */ addi r5, r31, 0x58
/* 8010413C 0010109C 48 21 1E 3D */ bl SetTestPoint__10CPVSVisSetFRC13CPVSVisOctreeRC9CVector3f
/* 80104140 001010A0 80 9F 01 24 */ lwz r4, 0x124(r31)
/* 80104144 001010A4 39 FF 01 30 */ addi r15, r31, 0x130
/* 80104148 001010A8 38 BF 01 84 */ addi r5, r31, 0x184
/* 8010414C 001010AC 80 7F 01 28 */ lwz r3, 0x128(r31)
/* 80104150 001010B0 80 1F 01 2C */ lwz r0, 0x12c(r31)
/* 80104154 001010B4 7C 0F 28 40 */ cmplw r15, r5
/* 80104158 001010B8 90 9F 01 78 */ stw r4, 0x178(r31)
/* 8010415C 001010BC 90 7F 01 7C */ stw r3, 0x17c(r31)
/* 80104160 001010C0 90 1F 01 80 */ stw r0, 0x180(r31)
/* 80104164 001010C4 41 82 00 30 */ beq lbl_80104194
/* 80104168 001010C8 88 1F 01 84 */ lbz r0, 0x184(r31)
/* 8010416C 001010CC 28 00 00 00 */ cmplwi r0, 0
/* 80104170 001010D0 41 82 00 0C */ beq lbl_8010417C
/* 80104174 001010D4 80 7F 01 88 */ lwz r3, 0x188(r31)
/* 80104178 001010D8 48 21 17 B9 */ bl Free__7CMemoryFPCv
lbl_8010417C:
/* 8010417C 001010DC 88 9F 01 30 */ lbz r4, 0x130(r31)
/* 80104180 001010E0 38 00 00 00 */ li r0, 0
/* 80104184 001010E4 80 7F 01 34 */ lwz r3, 0x134(r31)
/* 80104188 001010E8 98 9F 01 84 */ stb r4, 0x184(r31)
/* 8010418C 001010EC 90 7F 01 88 */ stw r3, 0x188(r31)
/* 80104190 001010F0 98 1F 01 30 */ stb r0, 0x130(r31)
lbl_80104194:
/* 80104194 001010F4 28 0F 00 00 */ cmplwi r15, 0
/* 80104198 001010F8 41 82 00 18 */ beq lbl_801041B0
/* 8010419C 001010FC 88 1F 01 30 */ lbz r0, 0x130(r31)
/* 801041A0 00101100 28 00 00 00 */ cmplwi r0, 0
/* 801041A4 00101104 41 82 00 0C */ beq lbl_801041B0
/* 801041A8 00101108 80 7F 01 34 */ lwz r3, 0x134(r31)
/* 801041AC 0010110C 48 21 17 85 */ bl Free__7CMemoryFPCv
lbl_801041B0:
/* 801041B0 00101110 38 7F 00 4C */ addi r3, r31, 0x4c
/* 801041B4 00101114 38 9D 00 3C */ addi r4, r29, 0x3c
/* 801041B8 00101118 38 BE 00 0C */ addi r5, r30, 0xc
/* 801041BC 0010111C 48 20 E9 2D */ bl __ml__12CTransform4fCFRC9CVector3f
/* 801041C0 00101120 7D C3 73 78 */ mr r3, r14
/* 801041C4 00101124 48 1A A2 C1 */ bl GetVisOctree__11CPVSAreaSetCFUi
/* 801041C8 00101128 7C 64 1B 78 */ mr r4, r3
/* 801041CC 0010112C 38 7F 01 10 */ addi r3, r31, 0x110
/* 801041D0 00101130 38 BF 00 4C */ addi r5, r31, 0x4c
/* 801041D4 00101134 48 21 1D A5 */ bl SetTestPoint__10CPVSVisSetFRC13CPVSVisOctreeRC9CVector3f
/* 801041D8 00101138 80 9F 01 10 */ lwz r4, 0x110(r31)
/* 801041DC 0010113C 39 FF 01 1C */ addi r15, r31, 0x11c
/* 801041E0 00101140 38 BF 01 70 */ addi r5, r31, 0x170
/* 801041E4 00101144 80 7F 01 14 */ lwz r3, 0x114(r31)
/* 801041E8 00101148 80 1F 01 18 */ lwz r0, 0x118(r31)
/* 801041EC 0010114C 7C 0F 28 40 */ cmplw r15, r5
/* 801041F0 00101150 90 9F 01 64 */ stw r4, 0x164(r31)
/* 801041F4 00101154 90 7F 01 68 */ stw r3, 0x168(r31)
/* 801041F8 00101158 90 1F 01 6C */ stw r0, 0x16c(r31)
/* 801041FC 0010115C 41 82 00 30 */ beq lbl_8010422C
/* 80104200 00101160 88 1F 01 70 */ lbz r0, 0x170(r31)
/* 80104204 00101164 28 00 00 00 */ cmplwi r0, 0
/* 80104208 00101168 41 82 00 0C */ beq lbl_80104214
/* 8010420C 0010116C 80 7F 01 74 */ lwz r3, 0x174(r31)
/* 80104210 00101170 48 21 17 21 */ bl Free__7CMemoryFPCv
lbl_80104214:
/* 80104214 00101174 88 9F 01 1C */ lbz r4, 0x11c(r31)
/* 80104218 00101178 38 00 00 00 */ li r0, 0
/* 8010421C 0010117C 80 7F 01 20 */ lwz r3, 0x120(r31)
/* 80104220 00101180 98 9F 01 70 */ stb r4, 0x170(r31)
/* 80104224 00101184 90 7F 01 74 */ stw r3, 0x174(r31)
/* 80104228 00101188 98 1F 01 1C */ stb r0, 0x11c(r31)
lbl_8010422C:
/* 8010422C 0010118C 28 0F 00 00 */ cmplwi r15, 0
/* 80104230 00101190 41 82 00 18 */ beq lbl_80104248
/* 80104234 00101194 88 1F 01 1C */ lbz r0, 0x11c(r31)
/* 80104238 00101198 28 00 00 00 */ cmplwi r0, 0
/* 8010423C 0010119C 41 82 00 0C */ beq lbl_80104248
/* 80104240 001011A0 80 7F 01 20 */ lwz r3, 0x120(r31)
/* 80104244 001011A4 48 21 16 ED */ bl Free__7CMemoryFPCv
lbl_80104248:
/* 80104248 001011A8 7F C5 F3 78 */ mr r5, r30
/* 8010424C 001011AC 38 7F 00 40 */ addi r3, r31, 0x40
/* 80104250 001011B0 38 9D 00 3C */ addi r4, r29, 0x3c
/* 80104254 001011B4 48 20 E8 95 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 80104258 001011B8 7D C3 73 78 */ mr r3, r14
/* 8010425C 001011BC 48 1A A2 29 */ bl GetVisOctree__11CPVSAreaSetCFUi
/* 80104260 001011C0 7C 64 1B 78 */ mr r4, r3
/* 80104264 001011C4 38 7F 00 FC */ addi r3, r31, 0xfc
/* 80104268 001011C8 38 BF 00 40 */ addi r5, r31, 0x40
/* 8010426C 001011CC 48 21 1D 0D */ bl SetTestPoint__10CPVSVisSetFRC13CPVSVisOctreeRC9CVector3f
/* 80104270 001011D0 80 9F 00 FC */ lwz r4, 0xfc(r31)
/* 80104274 001011D4 39 DF 01 08 */ addi r14, r31, 0x108
/* 80104278 001011D8 38 BF 01 5C */ addi r5, r31, 0x15c
/* 8010427C 001011DC 80 7F 01 00 */ lwz r3, 0x100(r31)
/* 80104280 001011E0 80 1F 01 04 */ lwz r0, 0x104(r31)
/* 80104284 001011E4 7C 0E 28 40 */ cmplw r14, r5
/* 80104288 001011E8 90 9F 01 50 */ stw r4, 0x150(r31)
/* 8010428C 001011EC 90 7F 01 54 */ stw r3, 0x154(r31)
/* 80104290 001011F0 90 1F 01 58 */ stw r0, 0x158(r31)
/* 80104294 001011F4 41 82 00 30 */ beq lbl_801042C4
/* 80104298 001011F8 88 1F 01 5C */ lbz r0, 0x15c(r31)
/* 8010429C 001011FC 28 00 00 00 */ cmplwi r0, 0
/* 801042A0 00101200 41 82 00 0C */ beq lbl_801042AC
/* 801042A4 00101204 80 7F 01 60 */ lwz r3, 0x160(r31)
/* 801042A8 00101208 48 21 16 89 */ bl Free__7CMemoryFPCv
lbl_801042AC:
/* 801042AC 0010120C 88 9F 01 08 */ lbz r4, 0x108(r31)
/* 801042B0 00101210 38 00 00 00 */ li r0, 0
/* 801042B4 00101214 80 7F 01 0C */ lwz r3, 0x10c(r31)
/* 801042B8 00101218 98 9F 01 5C */ stb r4, 0x15c(r31)
/* 801042BC 0010121C 90 7F 01 60 */ stw r3, 0x160(r31)
/* 801042C0 00101220 98 1F 01 08 */ stb r0, 0x108(r31)
lbl_801042C4:
/* 801042C4 00101224 28 0E 00 00 */ cmplwi r14, 0
/* 801042C8 00101228 41 82 00 18 */ beq lbl_801042E0
/* 801042CC 0010122C 88 1F 01 08 */ lbz r0, 0x108(r31)
/* 801042D0 00101230 28 00 00 00 */ cmplwi r0, 0
/* 801042D4 00101234 41 82 00 0C */ beq lbl_801042E0
/* 801042D8 00101238 80 7F 01 0C */ lwz r3, 0x10c(r31)
/* 801042DC 0010123C 48 21 16 55 */ bl Free__7CMemoryFPCv
lbl_801042E0:
/* 801042E0 00101240 39 C0 00 00 */ li r14, 0
/* 801042E4 00101244 7E 90 A3 78 */ mr r16, r20
/* 801042E8 00101248 7D CF 73 78 */ mr r15, r14
/* 801042EC 0010124C 3A 20 00 00 */ li r17, 0
/* 801042F0 00101250 48 00 01 E8 */ b lbl_801044D8
lbl_801042F4:
/* 801042F4 00101254 80 19 00 0C */ lwz r0, 0xc(r25)
/* 801042F8 00101258 7E E0 72 14 */ add r23, r0, r14
/* 801042FC 0010125C 80 17 00 1C */ lwz r0, 0x1c(r23)
/* 80104300 00101260 2C 00 00 03 */ cmpwi r0, 3
/* 80104304 00101264 40 82 00 30 */ bne lbl_80104334
/* 80104308 00101268 7E E4 BB 78 */ mr r4, r23
/* 8010430C 0010126C 38 7F 00 34 */ addi r3, r31, 0x34
/* 80104310 00101270 38 BF 00 B8 */ addi r5, r31, 0xb8
/* 80104314 00101274 48 20 1D 11 */ bl GetNormalIndependentLightingAtPoint__6CLightCFRC9CVector3f
/* 80104318 00101278 C0 1F 00 34 */ lfs f0, 0x34(r31)
/* 8010431C 0010127C D0 1C 02 88 */ stfs f0, 0x288(r28)
/* 80104320 00101280 C0 1F 00 38 */ lfs f0, 0x38(r31)
/* 80104324 00101284 D0 1C 02 8C */ stfs f0, 0x28c(r28)
/* 80104328 00101288 C0 1F 00 3C */ lfs f0, 0x3c(r31)
/* 8010432C 0010128C D0 1C 02 90 */ stfs f0, 0x290(r28)
/* 80104330 00101290 48 00 01 9C */ b lbl_801044CC
lbl_80104334:
/* 80104334 00101294 38 60 00 02 */ li r3, 2
/* 80104338 00101298 57 00 06 3F */ clrlwi. r0, r24, 0x18
/* 8010433C 0010129C 90 7F 00 14 */ stw r3, 0x14(r31)
/* 80104340 001012A0 41 82 00 C0 */ beq lbl_80104400
/* 80104344 001012A4 80 7A 00 0C */ lwz r3, 0xc(r26)
/* 80104348 001012A8 38 0F 00 34 */ addi r0, r15, 0x34
/* 8010434C 001012AC 7C 03 00 AE */ lbzx r0, r3, r0
/* 80104350 001012B0 28 00 00 00 */ cmplwi r0, 0
/* 80104354 001012B4 41 82 00 AC */ beq lbl_80104400
/* 80104358 001012B8 56 C0 06 3F */ clrlwi. r0, r22, 0x18
/* 8010435C 001012BC 41 82 00 18 */ beq lbl_80104374
/* 80104360 001012C0 7F A3 EB 78 */ mr r3, r29
/* 80104364 001012C4 7E 24 8B 78 */ mr r4, r17
/* 80104368 001012C8 4B F5 9B A1 */ bl Get2ndPVSLightFeature__9CGameAreaFUi
/* 8010436C 001012CC 7C 75 1B 78 */ mr r21, r3
/* 80104370 001012D0 48 00 00 14 */ b lbl_80104384
lbl_80104374:
/* 80104374 001012D4 7F A3 EB 78 */ mr r3, r29
/* 80104378 001012D8 7E 24 8B 78 */ mr r4, r17
/* 8010437C 001012DC 4B F5 9B BD */ bl Get1stPVSLightFeature__9CGameAreaFUi
/* 80104380 001012E0 7C 75 1B 78 */ mr r21, r3
lbl_80104384:
/* 80104384 001012E4 7E A4 AB 78 */ mr r4, r21
/* 80104388 001012E8 38 7F 01 78 */ addi r3, r31, 0x178
/* 8010438C 001012EC 48 21 1F 4D */ bl GetVisible__10CPVSVisSetCFi
/* 80104390 001012F0 2C 03 00 02 */ cmpwi r3, 2
/* 80104394 001012F4 90 7F 00 14 */ stw r3, 0x14(r31)
/* 80104398 001012F8 41 82 00 30 */ beq lbl_801043C8
/* 8010439C 001012FC 7E A4 AB 78 */ mr r4, r21
/* 801043A0 00101300 38 7F 01 64 */ addi r3, r31, 0x164
/* 801043A4 00101304 48 21 1F 35 */ bl GetVisible__10CPVSVisSetCFi
/* 801043A8 00101308 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 801043AC 0010130C 38 9F 00 10 */ addi r4, r31, 0x10
/* 801043B0 00101310 90 7F 00 10 */ stw r3, 0x10(r31)
/* 801043B4 00101314 7C 03 00 00 */ cmpw r3, r0
/* 801043B8 00101318 40 80 00 08 */ bge lbl_801043C0
/* 801043BC 0010131C 38 9F 00 14 */ addi r4, r31, 0x14
lbl_801043C0:
/* 801043C0 00101320 80 04 00 00 */ lwz r0, 0(r4)
/* 801043C4 00101324 90 1F 00 14 */ stw r0, 0x14(r31)
lbl_801043C8:
/* 801043C8 00101328 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 801043CC 0010132C 2C 00 00 02 */ cmpwi r0, 2
/* 801043D0 00101330 41 82 00 30 */ beq lbl_80104400
/* 801043D4 00101334 7E A4 AB 78 */ mr r4, r21
/* 801043D8 00101338 38 7F 01 50 */ addi r3, r31, 0x150
/* 801043DC 0010133C 48 21 1E FD */ bl GetVisible__10CPVSVisSetCFi
/* 801043E0 00101340 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 801043E4 00101344 38 9F 00 0C */ addi r4, r31, 0xc
/* 801043E8 00101348 90 7F 00 0C */ stw r3, 0xc(r31)
/* 801043EC 0010134C 7C 03 00 00 */ cmpw r3, r0
/* 801043F0 00101350 40 80 00 08 */ bge lbl_801043F8
/* 801043F4 00101354 38 9F 00 14 */ addi r4, r31, 0x14
lbl_801043F8:
/* 801043F8 00101358 80 04 00 00 */ lwz r0, 0(r4)
/* 801043FC 0010135C 90 1F 00 14 */ stw r0, 0x14(r31)
lbl_80104400:
/* 80104400 00101360 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 80104404 00101364 2C 00 00 00 */ cmpwi r0, 0
/* 80104408 00101368 41 82 00 C4 */ beq lbl_801044CC
/* 8010440C 0010136C 7E E3 BB 78 */ mr r3, r23
/* 80104410 00101370 48 20 1E C5 */ bl GetRadius__6CLightCFv
/* 80104414 00101374 C0 17 00 00 */ lfs f0, 0(r23)
/* 80104418 00101378 7F C3 F3 78 */ mr r3, r30
/* 8010441C 0010137C C0 42 94 30 */ lfs f2, lbl_805AB150@sda21(r2)
/* 80104420 00101380 38 9F 00 24 */ addi r4, r31, 0x24
/* 80104424 00101384 D0 1F 00 24 */ stfs f0, 0x24(r31)
/* 80104428 00101388 EC 22 00 72 */ fmuls f1, f2, f1
/* 8010442C 0010138C C0 17 00 04 */ lfs f0, 4(r23)
/* 80104430 00101390 D0 1F 00 28 */ stfs f0, 0x28(r31)
/* 80104434 00101394 C0 17 00 08 */ lfs f0, 8(r23)
/* 80104438 00101398 D0 1F 00 2C */ stfs f0, 0x2c(r31)
/* 8010443C 0010139C D0 3F 00 30 */ stfs f1, 0x30(r31)
/* 80104440 001013A0 48 1C E5 8D */ bl AABoxSphereIntersection__13CollisionUtilFRC6CAABoxRC7CSphere
/* 80104444 001013A4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80104448 001013A8 41 82 00 84 */ beq lbl_801044CC
/* 8010444C 001013AC 82 BF 00 14 */ lwz r21, 0x14(r31)
/* 80104450 001013B0 7E E4 BB 78 */ mr r4, r23
/* 80104454 001013B4 38 7F 00 18 */ addi r3, r31, 0x18
/* 80104458 001013B8 38 BF 00 B8 */ addi r5, r31, 0xb8
/* 8010445C 001013BC 48 20 1B C9 */ bl GetNormalIndependentLightingAtPoint__6CLightCFRC9CVector3f
/* 80104460 001013C0 C0 5F 00 18 */ lfs f2, 0x18(r31)
/* 80104464 001013C4 38 7F 00 18 */ addi r3, r31, 0x18
/* 80104468 001013C8 C0 3F 00 1C */ lfs f1, 0x1c(r31)
/* 8010446C 001013CC C0 1F 00 20 */ lfs f0, 0x20(r31)
/* 80104470 001013D0 92 3F 00 E0 */ stw r17, 0xe0(r31)
/* 80104474 001013D4 D0 5F 00 E4 */ stfs f2, 0xe4(r31)
/* 80104478 001013D8 D0 3F 00 E8 */ stfs f1, 0xe8(r31)
/* 8010447C 001013DC D0 1F 00 EC */ stfs f0, 0xec(r31)
/* 80104480 001013E0 48 21 04 39 */ bl Magnitude__9CVector3fCFv
/* 80104484 001013E4 7E 20 8B 78 */ mr r0, r17
/* 80104488 001013E8 C0 42 94 08 */ lfs f2, lbl_805AB128@sda21(r2)
/* 8010448C 001013EC 90 10 00 00 */ stw r0, 0(r16)
/* 80104490 001013F0 FC 00 08 18 */ frsp f0, f1
/* 80104494 001013F4 80 1F 00 E4 */ lwz r0, 0xe4(r31)
/* 80104498 001013F8 3A 73 00 01 */ addi r19, r19, 1
/* 8010449C 001013FC 80 7F 00 E8 */ lwz r3, 0xe8(r31)
/* 801044A0 00101400 90 10 00 04 */ stw r0, 4(r16)
/* 801044A4 00101404 80 1F 00 EC */ lwz r0, 0xec(r31)
/* 801044A8 00101408 90 70 00 08 */ stw r3, 8(r16)
/* 801044AC 0010140C 90 10 00 0C */ stw r0, 0xc(r16)
/* 801044B0 00101410 D0 10 00 10 */ stfs f0, 0x10(r16)
/* 801044B4 00101414 D0 50 00 14 */ stfs f2, 0x14(r16)
/* 801044B8 00101418 92 B0 00 18 */ stw r21, 0x18(r16)
/* 801044BC 0010141C 3A 10 00 1C */ addi r16, r16, 0x1c
/* 801044C0 00101420 D0 3F 00 F0 */ stfs f1, 0xf0(r31)
/* 801044C4 00101424 D0 5F 00 F4 */ stfs f2, 0xf4(r31)
/* 801044C8 00101428 92 BF 00 F8 */ stw r21, 0xf8(r31)
lbl_801044CC:
/* 801044CC 0010142C 39 CE 00 50 */ addi r14, r14, 0x50
/* 801044D0 00101430 39 EF 00 44 */ addi r15, r15, 0x44
/* 801044D4 00101434 3A 31 00 01 */ addi r17, r17, 1
lbl_801044D8:
/* 801044D8 00101438 80 19 00 04 */ lwz r0, 4(r25)
/* 801044DC 0010143C 7C 11 00 00 */ cmpw r17, r0
/* 801044E0 00101440 41 80 FE 14 */ blt lbl_801042F4
/* 801044E4 00101444 1C 13 00 1C */ mulli r0, r19, 0x1c
/* 801044E8 00101448 88 8D A3 54 */ lbz r4, lbl_805A8F14@sda21(r13)
/* 801044EC 0010144C 7E 83 A3 78 */ mr r3, r20
/* 801044F0 00101450 98 9F 00 08 */ stb r4, 8(r31)
/* 801044F4 00101454 38 BF 00 08 */ addi r5, r31, 8
/* 801044F8 00101458 7C 94 02 14 */ add r4, r20, r0
/* 801044FC 0010145C 48 00 0E 5D */ bl "sort<P11SLightValue,Q211SLightValue10CPredicate>__4rstlFP11SLightValueP11SLightValueQ211SLightValue10CPredicate"
/* 80104500 00101460 88 1C 02 98 */ lbz r0, 0x298(r28)
/* 80104504 00101464 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 80104508 00101468 41 82 00 B4 */ beq lbl_801045BC
/* 8010450C 0010146C 38 7C 02 88 */ addi r3, r28, 0x288
/* 80104510 00101470 48 21 03 A9 */ bl Magnitude__9CVector3fCFv
/* 80104514 00101474 34 73 FF FF */ addic. r3, r19, -1
/* 80104518 00101478 1C 03 00 1C */ mulli r0, r3, 0x1c
/* 8010451C 0010147C 38 63 00 01 */ addi r3, r3, 1
/* 80104520 00101480 7C 94 02 14 */ add r4, r20, r0
/* 80104524 00101484 41 80 00 98 */ blt lbl_801045BC
/* 80104528 00101488 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f
/* 8010452C 0010148C 7C 09 03 A6 */ mtctr r0
/* 80104530 00101490 41 82 00 74 */ beq lbl_801045A4
lbl_80104534:
/* 80104534 00101494 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 80104538 00101498 EC 21 00 2A */ fadds f1, f1, f0
/* 8010453C 0010149C D0 24 00 14 */ stfs f1, 0x14(r4)
/* 80104540 001014A0 C0 04 FF F4 */ lfs f0, -0xc(r4)
/* 80104544 001014A4 EC 21 00 2A */ fadds f1, f1, f0
/* 80104548 001014A8 D0 24 FF F8 */ stfs f1, -8(r4)
/* 8010454C 001014AC C0 04 FF D8 */ lfs f0, -0x28(r4)
/* 80104550 001014B0 EC 21 00 2A */ fadds f1, f1, f0
/* 80104554 001014B4 D0 24 FF DC */ stfs f1, -0x24(r4)
/* 80104558 001014B8 C0 04 FF BC */ lfs f0, -0x44(r4)
/* 8010455C 001014BC EC 21 00 2A */ fadds f1, f1, f0
/* 80104560 001014C0 D0 24 FF C0 */ stfs f1, -0x40(r4)
/* 80104564 001014C4 C0 04 FF A0 */ lfs f0, -0x60(r4)
/* 80104568 001014C8 EC 21 00 2A */ fadds f1, f1, f0
/* 8010456C 001014CC D0 24 FF A4 */ stfs f1, -0x5c(r4)
/* 80104570 001014D0 C0 04 FF 84 */ lfs f0, -0x7c(r4)
/* 80104574 001014D4 EC 21 00 2A */ fadds f1, f1, f0
/* 80104578 001014D8 D0 24 FF 88 */ stfs f1, -0x78(r4)
/* 8010457C 001014DC C0 04 FF 68 */ lfs f0, -0x98(r4)
/* 80104580 001014E0 EC 21 00 2A */ fadds f1, f1, f0
/* 80104584 001014E4 D0 24 FF 6C */ stfs f1, -0x94(r4)
/* 80104588 001014E8 C0 04 FF 4C */ lfs f0, -0xb4(r4)
/* 8010458C 001014EC EC 21 00 2A */ fadds f1, f1, f0
/* 80104590 001014F0 D0 24 FF 50 */ stfs f1, -0xb0(r4)
/* 80104594 001014F4 38 84 FF 20 */ addi r4, r4, -224
/* 80104598 001014F8 42 00 FF 9C */ bdnz lbl_80104534
/* 8010459C 001014FC 70 63 00 07 */ andi. r3, r3, 7
/* 801045A0 00101500 41 82 00 1C */ beq lbl_801045BC
lbl_801045A4:
/* 801045A4 00101504 7C 69 03 A6 */ mtctr r3
lbl_801045A8:
/* 801045A8 00101508 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 801045AC 0010150C EC 21 00 2A */ fadds f1, f1, f0
/* 801045B0 00101510 D0 24 00 14 */ stfs f1, 0x14(r4)
/* 801045B4 00101514 38 84 FF E4 */ addi r4, r4, -28
/* 801045B8 00101518 42 00 FF F0 */ bdnz lbl_801045A8
lbl_801045BC:
/* 801045BC 0010151C 3C 60 80 5A */ lis r3, skZero3f@ha
/* 801045C0 00101520 C0 32 00 04 */ lfs f1, 4(r18)
/* 801045C4 00101524 C0 12 00 08 */ lfs f0, 8(r18)
/* 801045C8 00101528 C0 43 66 A0 */ lfs f2, skZero3f@l(r3)
/* 801045CC 0010152C D0 3F 00 B0 */ stfs f1, 0xb0(r31)
/* 801045D0 00101530 D0 5F 00 AC */ stfs f2, 0xac(r31)
/* 801045D4 00101534 D0 1F 00 B4 */ stfs f0, 0xb4(r31)
/* 801045D8 00101538 48 24 59 DD */ bl Black__6CColorFv
/* 801045DC 0010153C C0 22 94 08 */ lfs f1, lbl_805AB128@sda21(r2)
/* 801045E0 00101540 3C 80 80 5A */ lis r4, skZero3f@ha
/* 801045E4 00101544 38 84 66 A0 */ addi r4, r4, skZero3f@l
/* 801045E8 00101548 7C 66 1B 78 */ mr r6, r3
/* 801045EC 0010154C FC 40 08 90 */ fmr f2, f1
/* 801045F0 00101550 38 7F 01 8C */ addi r3, r31, 0x18c
/* 801045F4 00101554 FC 60 08 90 */ fmr f3, f1
/* 801045F8 00101558 7C 85 23 78 */ mr r5, r4
/* 801045FC 0010155C FC 80 08 90 */ fmr f4, f1
/* 80104600 00101560 FC A0 08 90 */ fmr f5, f1
/* 80104604 00101564 FC C0 08 90 */ fmr f6, f1
/* 80104608 00101568 48 20 1D D5 */ bl BuildCustom__6CLightFRC9CVector3fRC9CVector3fRC6CColorffffff
/* 8010460C 0010156C 38 7F 01 DC */ addi r3, r31, 0x1dc
/* 80104610 00101570 38 9F 01 8C */ addi r4, r31, 0x18c
/* 80104614 00101574 4B F3 6F 5D */ bl __ct__6CLightFCR6CLight
/* 80104618 00101578 3C 60 80 5A */ lis r3, skZero3f@ha
/* 8010461C 0010157C C0 32 00 04 */ lfs f1, 4(r18)
/* 80104620 00101580 C0 12 00 08 */ lfs f0, 8(r18)
/* 80104624 00101584 39 C0 00 00 */ li r14, 0
/* 80104628 00101588 C0 43 66 A0 */ lfs f2, skZero3f@l(r3)
/* 8010462C 0010158C D0 3F 00 A4 */ stfs f1, 0xa4(r31)
/* 80104630 00101590 C3 E2 94 08 */ lfs f31, lbl_805AB128@sda21(r2)
/* 80104634 00101594 D0 5F 00 A0 */ stfs f2, 0xa0(r31)
/* 80104638 00101598 D0 1F 00 A8 */ stfs f0, 0xa8(r31)
/* 8010463C 0010159C 88 1C 02 98 */ lbz r0, 0x298(r28)
/* 80104640 001015A0 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f
/* 80104644 001015A4 40 82 00 14 */ bne lbl_80104658
/* 80104648 001015A8 88 0D 89 A0 */ lbz r0, lbl_805A7560@sda21(r13)
/* 8010464C 001015AC 28 00 00 00 */ cmplwi r0, 0
/* 80104650 001015B0 41 82 00 08 */ beq lbl_80104658
/* 80104654 001015B4 39 C0 00 01 */ li r14, 1
lbl_80104658:
/* 80104658 001015B8 55 C0 06 3F */ clrlwi. r0, r14, 0x18
/* 8010465C 001015BC 41 82 00 14 */ beq lbl_80104670
/* 80104660 001015C0 80 7C 02 B8 */ lwz r3, 0x2b8(r28)
/* 80104664 001015C4 38 03 FF FF */ addi r0, r3, -1
/* 80104668 001015C8 90 1F 02 2C */ stw r0, 0x22c(r31)
/* 8010466C 001015CC 48 00 00 0C */ b lbl_80104678
lbl_80104670:
/* 80104670 001015D0 80 1C 02 B8 */ lwz r0, 0x2b8(r28)
/* 80104674 001015D4 90 1F 02 2C */ stw r0, 0x22c(r31)
lbl_80104678:
/* 80104678 001015D8 80 BC 00 00 */ lwz r5, 0(r28)
/* 8010467C 001015DC 38 60 00 00 */ li r3, 0
/* 80104680 001015E0 2C 05 00 00 */ cmpwi r5, 0
/* 80104684 001015E4 40 81 00 40 */ ble lbl_801046C4
/* 80104688 001015E8 2C 05 00 08 */ cmpwi r5, 8
/* 8010468C 001015EC 38 85 FF F8 */ addi r4, r5, -8
/* 80104690 001015F0 40 81 00 20 */ ble lbl_801046B0
/* 80104694 001015F4 38 04 00 07 */ addi r0, r4, 7
/* 80104698 001015F8 54 00 E8 FE */ srwi r0, r0, 3
/* 8010469C 001015FC 7C 09 03 A6 */ mtctr r0
/* 801046A0 00101600 2C 04 00 00 */ cmpwi r4, 0
/* 801046A4 00101604 40 81 00 0C */ ble lbl_801046B0
lbl_801046A8:
/* 801046A8 00101608 38 63 00 08 */ addi r3, r3, 8
/* 801046AC 0010160C 42 00 FF FC */ bdnz lbl_801046A8
lbl_801046B0:
/* 801046B0 00101610 7C 03 28 50 */ subf r0, r3, r5
/* 801046B4 00101614 7C 09 03 A6 */ mtctr r0
/* 801046B8 00101618 7C 03 28 00 */ cmpw r3, r5
/* 801046BC 0010161C 40 80 00 08 */ bge lbl_801046C4
lbl_801046C0:
/* 801046C0 00101620 42 00 00 00 */ bdnz lbl_801046C0
lbl_801046C4:
/* 801046C4 00101624 38 00 00 00 */ li r0, 0
/* 801046C8 00101628 3A 40 00 00 */ li r18, 0
/* 801046CC 0010162C 90 1C 00 00 */ stw r0, 0(r28)
/* 801046D0 00101630 38 60 00 00 */ li r3, 0
/* 801046D4 00101634 38 80 00 01 */ li r4, 1
/* 801046D8 00101638 80 AD 89 A8 */ lwz r5, lbl_805A7568@sda21(r13)
/* 801046DC 0010163C 48 28 58 19 */ bl __shl2i
/* 801046E0 00101640 80 AD 89 AC */ lwz r5, lbl_805A756C@sda21(r13)
/* 801046E4 00101644 7C 90 23 78 */ mr r16, r4
/* 801046E8 00101648 7C 6F 1B 78 */ mr r15, r3
/* 801046EC 0010164C 38 60 00 00 */ li r3, 0
/* 801046F0 00101650 38 80 00 01 */ li r4, 1
/* 801046F4 00101654 48 28 58 01 */ bl __shl2i
/* 801046F8 00101658 80 AD 89 B0 */ lwz r5, lbl_805A7570@sda21(r13)
/* 801046FC 0010165C 7E 10 23 78 */ or r16, r16, r4
/* 80104700 00101660 7D EF 1B 78 */ or r15, r15, r3
/* 80104704 00101664 38 60 00 00 */ li r3, 0
/* 80104708 00101668 38 80 00 01 */ li r4, 1
/* 8010470C 0010166C 48 28 57 E9 */ bl __shl2i
/* 80104710 00101670 80 AD 89 A4 */ lwz r5, lbl_805A7564@sda21(r13)
/* 80104714 00101674 7E 10 23 78 */ or r16, r16, r4
/* 80104718 00101678 7D EF 1B 78 */ or r15, r15, r3
/* 8010471C 0010167C 38 60 00 00 */ li r3, 0
/* 80104720 00101680 38 80 00 01 */ li r4, 1
/* 80104724 00101684 48 28 57 D1 */ bl __shl2i
/* 80104728 00101688 38 00 00 03 */ li r0, 3
/* 8010472C 0010168C 90 9F 01 3C */ stw r4, 0x13c(r31)
/* 80104730 00101690 7E 95 A3 78 */ mr r21, r20
/* 80104734 00101694 3A 20 00 00 */ li r17, 0
/* 80104738 00101698 90 1F 00 D8 */ stw r0, 0xd8(r31)
/* 8010473C 0010169C 90 7F 01 38 */ stw r3, 0x138(r31)
/* 80104740 001016A0 92 1F 01 44 */ stw r16, 0x144(r31)
/* 80104744 001016A4 91 FF 01 40 */ stw r15, 0x140(r31)
/* 80104748 001016A8 90 1F 01 48 */ stw r0, 0x148(r31)
/* 8010474C 001016AC 48 00 03 14 */ b lbl_80104A60
lbl_80104750:
/* 80104750 001016B0 80 7C 00 00 */ lwz r3, 0(r28)
/* 80104754 001016B4 80 1F 02 2C */ lwz r0, 0x22c(r31)
/* 80104758 001016B8 7C 03 00 00 */ cmpw r3, r0
/* 8010475C 001016BC 40 80 02 8C */ bge lbl_801049E8
/* 80104760 001016C0 81 F5 00 00 */ lwz r15, 0(r21)
/* 80104764 001016C4 3A 00 00 01 */ li r16, 1
/* 80104768 001016C8 80 9A 00 0C */ lwz r4, 0xc(r26)
/* 8010476C 001016CC 38 A0 00 00 */ li r5, 0
/* 80104770 001016D0 1C 6F 00 44 */ mulli r3, r15, 0x44
/* 80104774 001016D4 38 03 00 34 */ addi r0, r3, 0x34
/* 80104778 001016D8 7C 04 00 AE */ lbzx r0, r4, r0
/* 8010477C 001016DC 28 00 00 01 */ cmplwi r0, 1
/* 80104780 001016E0 40 82 00 18 */ bne lbl_80104798
/* 80104784 001016E4 88 1C 02 98 */ lbz r0, 0x298(r28)
/* 80104788 001016E8 54 00 D7 FE */ rlwinm r0, r0, 0x1a, 0x1f, 0x1f
/* 8010478C 001016EC 28 00 00 01 */ cmplwi r0, 1
/* 80104790 001016F0 40 82 00 08 */ bne lbl_80104798
/* 80104794 001016F4 38 A0 00 01 */ li r5, 1
lbl_80104798:
/* 80104798 001016F8 57 00 06 3F */ clrlwi. r0, r24, 0x18
/* 8010479C 001016FC 3A E0 00 00 */ li r23, 0
/* 801047A0 00101700 41 82 00 14 */ beq lbl_801047B4
/* 801047A4 00101704 80 15 00 18 */ lwz r0, 0x18(r21)
/* 801047A8 00101708 2C 00 00 02 */ cmpwi r0, 2
/* 801047AC 0010170C 40 82 00 08 */ bne lbl_801047B4
/* 801047B0 00101710 3A E0 00 01 */ li r23, 1
lbl_801047B4:
/* 801047B4 00101714 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 801047B8 00101718 41 82 02 00 */ beq lbl_801049B8
/* 801047BC 0010171C 1C 0F 00 50 */ mulli r0, r15, 0x50
/* 801047C0 00101720 80 99 00 0C */ lwz r4, 0xc(r25)
/* 801047C4 00101724 C0 BF 00 B8 */ lfs f5, 0xb8(r31)
/* 801047C8 00101728 38 7F 00 88 */ addi r3, r31, 0x88
/* 801047CC 0010172C C0 9F 00 BC */ lfs f4, 0xbc(r31)
/* 801047D0 00101730 C0 7F 00 C0 */ lfs f3, 0xc0(r31)
/* 801047D4 00101734 D0 BF 00 94 */ stfs f5, 0x94(r31)
/* 801047D8 00101738 7E C4 02 14 */ add r22, r4, r0
/* 801047DC 0010173C D0 9F 00 98 */ stfs f4, 0x98(r31)
/* 801047E0 00101740 D0 7F 00 9C */ stfs f3, 0x9c(r31)
/* 801047E4 00101744 C0 56 00 04 */ lfs f2, 4(r22)
/* 801047E8 00101748 C0 36 00 08 */ lfs f1, 8(r22)
/* 801047EC 0010174C C0 16 00 00 */ lfs f0, 0(r22)
/* 801047F0 00101750 EC 42 20 28 */ fsubs f2, f2, f4
/* 801047F4 00101754 EC 21 18 28 */ fsubs f1, f1, f3
/* 801047F8 00101758 EC 00 28 28 */ fsubs f0, f0, f5
/* 801047FC 0010175C D0 5F 00 8C */ stfs f2, 0x8c(r31)
/* 80104800 00101760 D0 1F 00 88 */ stfs f0, 0x88(r31)
/* 80104804 00101764 D0 3F 00 90 */ stfs f1, 0x90(r31)
/* 80104808 00101768 48 21 00 B1 */ bl Magnitude__9CVector3fCFv
/* 8010480C 0010176C 88 1C 02 98 */ lbz r0, 0x298(r28)
/* 80104810 00101770 FF C0 08 90 */ fmr f30, f1
/* 80104814 00101774 3B 60 00 00 */ li r27, 0
/* 80104818 00101778 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 8010481C 0010177C 41 82 00 44 */ beq lbl_80104860
/* 80104820 00101780 80 7C 02 9C */ lwz r3, 0x29c(r28)
/* 80104824 00101784 3C 03 00 01 */ addis r0, r3, 1
/* 80104828 00101788 28 00 FF FF */ cmplwi r0, 0xffff
/* 8010482C 0010178C 40 82 00 34 */ bne lbl_80104860
/* 80104830 00101790 80 16 00 1C */ lwz r0, 0x1c(r22)
/* 80104834 00101794 2C 00 00 03 */ cmpwi r0, 3
/* 80104838 00101798 41 82 00 28 */ beq lbl_80104860
/* 8010483C 0010179C C0 02 94 30 */ lfs f0, lbl_805AB150@sda21(r2)
/* 80104840 001017A0 FC 1E 00 40 */ fcmpo cr0, f30, f0
/* 80104844 001017A4 40 81 00 1C */ ble lbl_80104860
/* 80104848 001017A8 7F C3 F3 78 */ mr r3, r30
/* 8010484C 001017AC 7E C4 B3 78 */ mr r4, r22
/* 80104850 001017B0 48 23 2C E5 */ bl PointInside__6CAABoxCFRC9CVector3f
/* 80104854 001017B4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80104858 001017B8 40 82 00 08 */ bne lbl_80104860
/* 8010485C 001017BC 3B 60 00 01 */ li r27, 1
lbl_80104860:
/* 80104860 001017C0 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 80104864 001017C4 7F 63 DB 78 */ mr r3, r27
/* 80104868 001017C8 41 82 00 74 */ beq lbl_801048DC
/* 8010486C 001017CC 80 1C 00 00 */ lwz r0, 0(r28)
/* 80104870 001017D0 38 80 00 00 */ li r4, 0
/* 80104874 001017D4 2C 00 00 00 */ cmpwi r0, 0
/* 80104878 001017D8 41 82 00 2C */ beq lbl_801048A4
/* 8010487C 001017DC 2C 00 00 01 */ cmpwi r0, 1
/* 80104880 001017E0 40 82 00 28 */ bne lbl_801048A8
/* 80104884 001017E4 1C 72 00 1C */ mulli r3, r18, 0x1c
/* 80104888 001017E8 C0 55 00 10 */ lfs f2, 0x10(r21)
/* 8010488C 001017EC C0 02 94 34 */ lfs f0, lbl_805AB154@sda21(r2)
/* 80104890 001017F0 38 03 00 10 */ addi r0, r3, 0x10
/* 80104894 001017F4 7C 34 04 2E */ lfsx f1, r20, r0
/* 80104898 001017F8 EC 22 08 24 */ fdivs f1, f2, f1
/* 8010489C 001017FC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801048A0 00101800 40 81 00 08 */ ble lbl_801048A8
lbl_801048A4:
/* 801048A4 00101804 38 80 00 01 */ li r4, 1
lbl_801048A8:
/* 801048A8 00101808 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 801048AC 0010180C 7C 83 23 78 */ mr r3, r4
/* 801048B0 00101810 41 82 00 2C */ beq lbl_801048DC
/* 801048B4 00101814 C0 7C 02 D0 */ lfs f3, 0x2d0(r28)
/* 801048B8 00101818 C0 02 94 24 */ lfs f0, lbl_805AB144@sda21(r2)
/* 801048BC 0010181C C0 55 00 10 */ lfs f2, 0x10(r21)
/* 801048C0 00101820 EC 00 18 2A */ fadds f0, f0, f3
/* 801048C4 00101824 C0 35 00 14 */ lfs f1, 0x14(r21)
/* 801048C8 00101828 EC 22 08 24 */ fdivs f1, f2, f1
/* 801048CC 0010182C EC 03 00 24 */ fdivs f0, f3, f0
/* 801048D0 00101830 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801048D4 00101834 7C 00 00 26 */ mfcr r0
/* 801048D8 00101838 54 03 17 FE */ rlwinm r3, r0, 2, 0x1f, 0x1f
lbl_801048DC:
/* 801048DC 0010183C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801048E0 00101840 41 82 00 14 */ beq lbl_801048F4
/* 801048E4 00101844 80 1C 00 00 */ lwz r0, 0(r28)
/* 801048E8 00101848 90 1C 02 9C */ stw r0, 0x29c(r28)
/* 801048EC 0010184C 91 FC 02 A0 */ stw r15, 0x2a0(r28)
/* 801048F0 00101850 48 00 00 C8 */ b lbl_801049B8
lbl_801048F4:
/* 801048F4 00101854 56 E0 06 3F */ clrlwi. r0, r23, 0x18
/* 801048F8 00101858 40 82 00 C0 */ bne lbl_801049B8
/* 801048FC 0010185C C0 02 94 24 */ lfs f0, lbl_805AB144@sda21(r2)
/* 80104900 00101860 FC 20 F0 90 */ fmr f1, f30
/* 80104904 00101864 C0 7F 00 88 */ lfs f3, 0x88(r31)
/* 80104908 00101868 7F A3 EB 78 */ mr r3, r29
/* 8010490C 0010186C EC 80 F0 24 */ fdivs f4, f0, f30
/* 80104910 00101870 C0 5F 00 8C */ lfs f2, 0x8c(r31)
/* 80104914 00101874 C0 1F 00 90 */ lfs f0, 0x90(r31)
/* 80104918 00101878 38 9F 00 94 */ addi r4, r31, 0x94
/* 8010491C 0010187C 38 BF 00 88 */ addi r5, r31, 0x88
/* 80104920 00101880 38 DF 01 38 */ addi r6, r31, 0x138
/* 80104924 00101884 EC 63 01 32 */ fmuls f3, f3, f4
/* 80104928 00101888 EC 42 01 32 */ fmuls f2, f2, f4
/* 8010492C 0010188C EC 00 01 32 */ fmuls f0, f0, f4
/* 80104930 00101890 D0 7F 00 88 */ stfs f3, 0x88(r31)
/* 80104934 00101894 D0 5F 00 8C */ stfs f2, 0x8c(r31)
/* 80104938 00101898 D0 1F 00 90 */ stfs f0, 0x90(r31)
/* 8010493C 0010189C 48 08 01 ED */ bl RayStaticIntersectionArea__14CGameCollisionFRC9CGameAreaRC9CVector3fRC9CVector3fRC15CMaterialFilter
/* 80104940 001018A0 2C 11 00 00 */ cmpwi r17, 0
/* 80104944 001018A4 7C 70 1B 78 */ mr r16, r3
/* 80104948 001018A8 40 82 00 70 */ bne lbl_801049B8
/* 8010494C 001018AC 56 00 06 3F */ clrlwi. r0, r16, 0x18
/* 80104950 001018B0 41 82 00 18 */ beq lbl_80104968
/* 80104954 001018B4 88 1C 02 99 */ lbz r0, 0x299(r28)
/* 80104958 001018B8 38 60 00 01 */ li r3, 1
/* 8010495C 001018BC 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 80104960 001018C0 98 1C 02 99 */ stb r0, 0x299(r28)
/* 80104964 001018C4 48 00 00 14 */ b lbl_80104978
lbl_80104968:
/* 80104968 001018C8 88 1C 02 99 */ lbz r0, 0x299(r28)
/* 8010496C 001018CC 38 60 00 00 */ li r3, 0
/* 80104970 001018D0 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 80104974 001018D4 98 1C 02 99 */ stb r0, 0x299(r28)
lbl_80104978:
/* 80104978 001018D8 80 1C 02 D8 */ lwz r0, 0x2d8(r28)
/* 8010497C 001018DC 7C 00 78 00 */ cmpw r0, r15
/* 80104980 001018E0 41 82 00 24 */ beq lbl_801049A4
/* 80104984 001018E4 56 00 06 3F */ clrlwi. r0, r16, 0x18
/* 80104988 001018E8 41 82 00 10 */ beq lbl_80104998
/* 8010498C 001018EC 38 00 00 00 */ li r0, 0
/* 80104990 001018F0 90 1C 02 DC */ stw r0, 0x2dc(r28)
/* 80104994 001018F4 48 00 00 0C */ b lbl_801049A0
lbl_80104998:
/* 80104998 001018F8 38 00 00 0F */ li r0, 0xf
/* 8010499C 001018FC 90 1C 02 DC */ stw r0, 0x2dc(r28)
lbl_801049A0:
/* 801049A0 00101900 91 FC 02 D8 */ stw r15, 0x2d8(r28)
lbl_801049A4:
/* 801049A4 00101904 88 1C 02 99 */ lbz r0, 0x299(r28)
/* 801049A8 00101908 38 60 00 00 */ li r3, 0
/* 801049AC 0010190C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 801049B0 00101910 3A 00 00 01 */ li r16, 1
/* 801049B4 00101914 98 1C 02 99 */ stb r0, 0x299(r28)
lbl_801049B8:
/* 801049B8 00101918 56 00 06 3F */ clrlwi. r0, r16, 0x18
/* 801049BC 0010191C 41 82 00 9C */ beq lbl_80104A58
/* 801049C0 00101920 80 1C 00 00 */ lwz r0, 0(r28)
/* 801049C4 00101924 2C 00 00 00 */ cmpwi r0, 0
/* 801049C8 00101928 40 82 00 08 */ bne lbl_801049D0
/* 801049CC 0010192C 7E 32 8B 78 */ mr r18, r17
lbl_801049D0:
/* 801049D0 00101930 1C 0F 00 50 */ mulli r0, r15, 0x50
/* 801049D4 00101934 80 99 00 0C */ lwz r4, 0xc(r25)
/* 801049D8 00101938 7F 83 E3 78 */ mr r3, r28
/* 801049DC 0010193C 7C 84 02 14 */ add r4, r4, r0
/* 801049E0 00101940 4B FF E8 6D */ bl "push_back__Q24rstl26reserved_vector<6CLight,4>FRC6CLight"
/* 801049E4 00101944 48 00 00 74 */ b lbl_80104A58
lbl_801049E8:
/* 801049E8 00101948 55 C0 06 3F */ clrlwi. r0, r14, 0x18
/* 801049EC 0010194C 41 82 00 3C */ beq lbl_80104A28
/* 801049F0 00101950 C0 35 00 10 */ lfs f1, 0x10(r21)
/* 801049F4 00101954 C0 02 94 2C */ lfs f0, lbl_805AB14C@sda21(r2)
/* 801049F8 00101958 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801049FC 0010195C 40 81 00 2C */ ble lbl_80104A28
/* 80104A00 00101960 80 15 00 00 */ lwz r0, 0(r21)
/* 80104A04 00101964 38 7F 01 DC */ addi r3, r31, 0x1dc
/* 80104A08 00101968 80 B9 00 0C */ lwz r5, 0xc(r25)
/* 80104A0C 0010196C 38 9F 00 A0 */ addi r4, r31, 0xa0
/* 80104A10 00101970 1C 00 00 50 */ mulli r0, r0, 0x50
/* 80104A14 00101974 7C A5 02 14 */ add r5, r5, r0
/* 80104A18 00101978 48 00 01 59 */ bl MergeOverflowLight__12CActorLightsFR6CLightR9CVector3fRC6CLightf
/* 80104A1C 0010197C C0 15 00 10 */ lfs f0, 0x10(r21)
/* 80104A20 00101980 EF FF 00 2A */ fadds f31, f31, f0
/* 80104A24 00101984 48 00 00 34 */ b lbl_80104A58
lbl_80104A28:
/* 80104A28 00101988 C0 3F 00 AC */ lfs f1, 0xac(r31)
/* 80104A2C 0010198C C0 15 00 04 */ lfs f0, 4(r21)
/* 80104A30 00101990 C0 5F 00 B0 */ lfs f2, 0xb0(r31)
/* 80104A34 00101994 EC 01 00 2A */ fadds f0, f1, f0
/* 80104A38 00101998 C0 3F 00 B4 */ lfs f1, 0xb4(r31)
/* 80104A3C 0010199C D0 1F 00 AC */ stfs f0, 0xac(r31)
/* 80104A40 001019A0 C0 15 00 08 */ lfs f0, 8(r21)
/* 80104A44 001019A4 EC 02 00 2A */ fadds f0, f2, f0
/* 80104A48 001019A8 D0 1F 00 B0 */ stfs f0, 0xb0(r31)
/* 80104A4C 001019AC C0 15 00 0C */ lfs f0, 0xc(r21)
/* 80104A50 001019B0 EC 01 00 2A */ fadds f0, f1, f0
/* 80104A54 001019B4 D0 1F 00 B4 */ stfs f0, 0xb4(r31)
lbl_80104A58:
/* 80104A58 001019B8 3A B5 00 1C */ addi r21, r21, 0x1c
/* 80104A5C 001019BC 3A 31 00 01 */ addi r17, r17, 1
lbl_80104A60:
/* 80104A60 001019C0 7C 11 98 00 */ cmpw r17, r19
/* 80104A64 001019C4 41 80 FC EC */ blt lbl_80104750
/* 80104A68 001019C8 55 C0 06 3F */ clrlwi. r0, r14, 0x18
/* 80104A6C 001019CC 41 82 00 1C */ beq lbl_80104A88
/* 80104A70 001019D0 FC 20 F8 90 */ fmr f1, f31
/* 80104A74 001019D4 7F 83 E3 78 */ mr r3, r28
/* 80104A78 001019D8 38 9F 01 DC */ addi r4, r31, 0x1dc
/* 80104A7C 001019DC 38 BF 00 A0 */ addi r5, r31, 0xa0
/* 80104A80 001019E0 4B FF F1 39 */ bl AddOverflowToLights__12CActorLightsFRC6CLightRC9CVector3f
/* 80104A84 001019E4 48 00 00 10 */ b lbl_80104A94
lbl_80104A88:
/* 80104A88 001019E8 7F 83 E3 78 */ mr r3, r28
/* 80104A8C 001019EC 38 9F 00 AC */ addi r4, r31, 0xac
/* 80104A90 001019F0 4B FF EF B1 */ bl MoveAmbienceToLights__12CActorLightsFRC9CVector3f
lbl_80104A94:
/* 80104A94 001019F4 C0 3C 02 88 */ lfs f1, 0x288(r28)
/* 80104A98 001019F8 C0 02 94 24 */ lfs f0, lbl_805AB144@sda21(r2)
/* 80104A9C 001019FC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80104AA0 00101A00 40 81 00 08 */ ble lbl_80104AA8
/* 80104AA4 00101A04 D0 1C 02 88 */ stfs f0, 0x288(r28)
lbl_80104AA8:
/* 80104AA8 00101A08 C0 3C 02 8C */ lfs f1, 0x28c(r28)
/* 80104AAC 00101A0C C0 02 94 24 */ lfs f0, lbl_805AB144@sda21(r2)
/* 80104AB0 00101A10 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80104AB4 00101A14 40 81 00 08 */ ble lbl_80104ABC
/* 80104AB8 00101A18 D0 1C 02 8C */ stfs f0, 0x28c(r28)
lbl_80104ABC:
/* 80104ABC 00101A1C C0 3C 02 90 */ lfs f1, 0x290(r28)
/* 80104AC0 00101A20 C0 02 94 24 */ lfs f0, lbl_805AB144@sda21(r2)
/* 80104AC4 00101A24 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80104AC8 00101A28 40 81 00 08 */ ble lbl_80104AD0
/* 80104ACC 00101A2C D0 1C 02 90 */ stfs f0, 0x290(r28)
lbl_80104AD0:
/* 80104AD0 00101A30 80 7D 01 2C */ lwz r3, 0x12c(r29)
/* 80104AD4 00101A34 C0 02 94 24 */ lfs f0, lbl_805AB144@sda21(r2)
/* 80104AD8 00101A38 C0 23 11 28 */ lfs f1, 0x1128(r3)
/* 80104ADC 00101A3C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80104AE0 00101A40 40 80 00 0C */ bge lbl_80104AEC
/* 80104AE4 00101A44 7F 83 E3 78 */ mr r3, r28
/* 80104AE8 00101A48 4B FF F1 FD */ bl MultiplyLightingLevels__12CActorLightsFf
lbl_80104AEC:
/* 80104AEC 00101A4C 34 7F 01 5C */ addic. r3, r31, 0x15c
/* 80104AF0 00101A50 41 82 00 18 */ beq lbl_80104B08
/* 80104AF4 00101A54 88 03 00 00 */ lbz r0, 0(r3)
/* 80104AF8 00101A58 28 00 00 00 */ cmplwi r0, 0
/* 80104AFC 00101A5C 41 82 00 0C */ beq lbl_80104B08
/* 80104B00 00101A60 80 7F 01 60 */ lwz r3, 0x160(r31)
/* 80104B04 00101A64 48 21 0E 2D */ bl Free__7CMemoryFPCv
lbl_80104B08:
/* 80104B08 00101A68 34 7F 01 70 */ addic. r3, r31, 0x170
/* 80104B0C 00101A6C 41 82 00 18 */ beq lbl_80104B24
/* 80104B10 00101A70 88 03 00 00 */ lbz r0, 0(r3)
/* 80104B14 00101A74 28 00 00 00 */ cmplwi r0, 0
/* 80104B18 00101A78 41 82 00 0C */ beq lbl_80104B24
/* 80104B1C 00101A7C 80 7F 01 74 */ lwz r3, 0x174(r31)
/* 80104B20 00101A80 48 21 0E 11 */ bl Free__7CMemoryFPCv
lbl_80104B24:
/* 80104B24 00101A84 34 7F 01 84 */ addic. r3, r31, 0x184
/* 80104B28 00101A88 41 82 00 18 */ beq lbl_80104B40
/* 80104B2C 00101A8C 88 03 00 00 */ lbz r0, 0(r3)
/* 80104B30 00101A90 28 00 00 00 */ cmplwi r0, 0
/* 80104B34 00101A94 41 82 00 0C */ beq lbl_80104B40
/* 80104B38 00101A98 80 7F 01 88 */ lwz r3, 0x188(r31)
/* 80104B3C 00101A9C 48 21 0D F5 */ bl Free__7CMemoryFPCv
lbl_80104B40:
/* 80104B40 00101AA0 38 60 00 01 */ li r3, 1
lbl_80104B44:
/* 80104B44 00101AA4 7F EA FB 78 */ mr r10, r31
/* 80104B48 00101AA8 E3 EA 02 98 */ psq_l f31, 664(r10), 0, qr0
/* 80104B4C 00101AAC CB FF 02 90 */ lfd f31, 0x290(r31)
/* 80104B50 00101AB0 E3 CA 02 88 */ psq_l f30, 648(r10), 0, qr0
/* 80104B54 00101AB4 CB DF 02 80 */ lfd f30, 0x280(r31)
/* 80104B58 00101AB8 B9 CA 02 38 */ lmw r14, 0x238(r10)
/* 80104B5C 00101ABC 81 41 00 00 */ lwz r10, 0(r1)
/* 80104B60 00101AC0 80 0A 00 04 */ lwz r0, 4(r10)
/* 80104B64 00101AC4 7D 41 53 78 */ mr r1, r10
/* 80104B68 00101AC8 7C 08 03 A6 */ mtlr r0
/* 80104B6C 00101ACC 4E 80 00 20 */ blr
.global MergeOverflowLight__12CActorLightsFR6CLightR9CVector3fRC6CLightf
MergeOverflowLight__12CActorLightsFR6CLightR9CVector3fRC6CLightf:
/* 80104B70 00101AD0 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 80104B74 00101AD4 7C 08 02 A6 */ mflr r0
/* 80104B78 00101AD8 90 01 00 74 */ stw r0, 0x74(r1)
/* 80104B7C 00101ADC DB E1 00 60 */ stfd f31, 0x60(r1)
/* 80104B80 00101AE0 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 80104B84 00101AE4 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 80104B88 00101AE8 93 C1 00 58 */ stw r30, 0x58(r1)
/* 80104B8C 00101AEC 93 A1 00 54 */ stw r29, 0x54(r1)
/* 80104B90 00101AF0 3C E0 80 5A */ lis r7, skZero3f@ha
/* 80104B94 00101AF4 C4 47 66 A0 */ lfsu f2, skZero3f@l(r7)
/* 80104B98 00101AF8 FF E0 08 90 */ fmr f31, f1
/* 80104B9C 00101AFC 7C BF 2B 78 */ mr r31, r5
/* 80104BA0 00101B00 C0 27 00 04 */ lfs f1, 4(r7)
/* 80104BA4 00101B04 7C 9E 23 78 */ mr r30, r4
/* 80104BA8 00101B08 C0 07 00 08 */ lfs f0, 8(r7)
/* 80104BAC 00101B0C 7C 7D 1B 78 */ mr r29, r3
/* 80104BB0 00101B10 D0 41 00 38 */ stfs f2, 0x38(r1)
/* 80104BB4 00101B14 38 C1 00 40 */ addi r6, r1, 0x40
/* 80104BB8 00101B18 38 A1 00 3C */ addi r5, r1, 0x3c
/* 80104BBC 00101B1C 38 7F 00 18 */ addi r3, r31, 0x18
/* 80104BC0 00101B20 D0 21 00 3C */ stfs f1, 0x3c(r1)
/* 80104BC4 00101B24 38 81 00 38 */ addi r4, r1, 0x38
/* 80104BC8 00101B28 D0 01 00 40 */ stfs f0, 0x40(r1)
/* 80104BCC 00101B2C 48 25 E7 6D */ bl Get__6CColorCFRfRfRf
/* 80104BD0 00101B30 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 80104BD4 00101B34 7F A3 EB 78 */ mr r3, r29
/* 80104BD8 00101B38 C0 61 00 3C */ lfs f3, 0x3c(r1)
/* 80104BDC 00101B3C EC 1F 00 32 */ fmuls f0, f31, f0
/* 80104BE0 00101B40 C0 3E 00 00 */ lfs f1, 0(r30)
/* 80104BE4 00101B44 C0 41 00 40 */ lfs f2, 0x40(r1)
/* 80104BE8 00101B48 EC 7F 00 F2 */ fmuls f3, f31, f3
/* 80104BEC 00101B4C EC 01 00 2A */ fadds f0, f1, f0
/* 80104BF0 00101B50 EC 3F 00 B2 */ fmuls f1, f31, f2
/* 80104BF4 00101B54 D0 1E 00 00 */ stfs f0, 0(r30)
/* 80104BF8 00101B58 C0 1E 00 04 */ lfs f0, 4(r30)
/* 80104BFC 00101B5C EC 00 18 2A */ fadds f0, f0, f3
/* 80104C00 00101B60 D0 1E 00 04 */ stfs f0, 4(r30)
/* 80104C04 00101B64 C0 1E 00 08 */ lfs f0, 8(r30)
/* 80104C08 00101B68 EC 00 08 2A */ fadds f0, f0, f1
/* 80104C0C 00101B6C D0 1E 00 08 */ stfs f0, 8(r30)
/* 80104C10 00101B70 C0 3F 00 30 */ lfs f1, 0x30(r31)
/* 80104C14 00101B74 C0 1D 00 30 */ lfs f0, 0x30(r29)
/* 80104C18 00101B78 C0 9F 00 34 */ lfs f4, 0x34(r31)
/* 80104C1C 00101B7C C0 5D 00 34 */ lfs f2, 0x34(r29)
/* 80104C20 00101B80 EC 3F 00 7A */ fmadds f1, f31, f1, f0
/* 80104C24 00101B84 C0 7F 00 38 */ lfs f3, 0x38(r31)
/* 80104C28 00101B88 C0 1D 00 38 */ lfs f0, 0x38(r29)
/* 80104C2C 00101B8C EC 5F 11 3A */ fmadds f2, f31, f4, f2
/* 80104C30 00101B90 EC 7F 00 FA */ fmadds f3, f31, f3, f0
/* 80104C34 00101B94 48 20 17 51 */ bl SetAngleAttenuation__6CLightFfff
/* 80104C38 00101B98 C0 3F 00 24 */ lfs f1, 0x24(r31)
/* 80104C3C 00101B9C 7F A3 EB 78 */ mr r3, r29
/* 80104C40 00101BA0 C0 1D 00 24 */ lfs f0, 0x24(r29)
/* 80104C44 00101BA4 C0 9F 00 28 */ lfs f4, 0x28(r31)
/* 80104C48 00101BA8 C0 5D 00 28 */ lfs f2, 0x28(r29)
/* 80104C4C 00101BAC EC 3F 00 7A */ fmadds f1, f31, f1, f0
/* 80104C50 00101BB0 C0 7F 00 2C */ lfs f3, 0x2c(r31)
/* 80104C54 00101BB4 C0 1D 00 2C */ lfs f0, 0x2c(r29)
/* 80104C58 00101BB8 EC 5F 11 3A */ fmadds f2, f31, f4, f2
/* 80104C5C 00101BBC EC 7F 00 FA */ fmadds f3, f31, f3, f0
/* 80104C60 00101BC0 48 20 17 51 */ bl SetAttenuation__6CLightFfff
/* 80104C64 00101BC4 C0 5F 00 04 */ lfs f2, 4(r31)
/* 80104C68 00101BC8 7F A3 EB 78 */ mr r3, r29
/* 80104C6C 00101BCC C0 3F 00 08 */ lfs f1, 8(r31)
/* 80104C70 00101BD0 38 81 00 2C */ addi r4, r1, 0x2c
/* 80104C74 00101BD4 C0 1F 00 00 */ lfs f0, 0(r31)
/* 80104C78 00101BD8 EC BF 00 B2 */ fmuls f5, f31, f2
/* 80104C7C 00101BDC EC 9F 00 72 */ fmuls f4, f31, f1
/* 80104C80 00101BE0 C0 5D 00 04 */ lfs f2, 4(r29)
/* 80104C84 00101BE4 EC 7F 00 32 */ fmuls f3, f31, f0
/* 80104C88 00101BE8 C0 3D 00 08 */ lfs f1, 8(r29)
/* 80104C8C 00101BEC C0 1D 00 00 */ lfs f0, 0(r29)
/* 80104C90 00101BF0 EC 42 28 2A */ fadds f2, f2, f5
/* 80104C94 00101BF4 EC 21 20 2A */ fadds f1, f1, f4
/* 80104C98 00101BF8 D0 61 00 20 */ stfs f3, 0x20(r1)
/* 80104C9C 00101BFC EC 00 18 2A */ fadds f0, f0, f3
/* 80104CA0 00101C00 D0 A1 00 24 */ stfs f5, 0x24(r1)
/* 80104CA4 00101C04 D0 81 00 28 */ stfs f4, 0x28(r1)
/* 80104CA8 00101C08 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 80104CAC 00101C0C D0 41 00 30 */ stfs f2, 0x30(r1)
/* 80104CB0 00101C10 D0 21 00 34 */ stfs f1, 0x34(r1)
/* 80104CB4 00101C14 48 20 16 8D */ bl SetPosition__6CLightFRC9CVector3f
/* 80104CB8 00101C18 C0 5F 00 10 */ lfs f2, 0x10(r31)
/* 80104CBC 00101C1C 7F A3 EB 78 */ mr r3, r29
/* 80104CC0 00101C20 C0 3F 00 14 */ lfs f1, 0x14(r31)
/* 80104CC4 00101C24 38 81 00 14 */ addi r4, r1, 0x14
/* 80104CC8 00101C28 C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 80104CCC 00101C2C EC BF 00 B2 */ fmuls f5, f31, f2
/* 80104CD0 00101C30 EC 9F 00 72 */ fmuls f4, f31, f1
/* 80104CD4 00101C34 C0 5D 00 10 */ lfs f2, 0x10(r29)
/* 80104CD8 00101C38 EC 7F 00 32 */ fmuls f3, f31, f0
/* 80104CDC 00101C3C C0 3D 00 14 */ lfs f1, 0x14(r29)
/* 80104CE0 00101C40 C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 80104CE4 00101C44 EC 42 28 2A */ fadds f2, f2, f5
/* 80104CE8 00101C48 EC 21 20 2A */ fadds f1, f1, f4
/* 80104CEC 00101C4C D0 61 00 08 */ stfs f3, 8(r1)
/* 80104CF0 00101C50 EC 00 18 2A */ fadds f0, f0, f3
/* 80104CF4 00101C54 D0 A1 00 0C */ stfs f5, 0xc(r1)
/* 80104CF8 00101C58 D0 81 00 10 */ stfs f4, 0x10(r1)
/* 80104CFC 00101C5C D0 01 00 14 */ stfs f0, 0x14(r1)
/* 80104D00 00101C60 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 80104D04 00101C64 D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 80104D08 00101C68 48 20 16 1D */ bl SetDirection__6CLightFRC9CVector3f
/* 80104D0C 00101C6C E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 80104D10 00101C70 80 01 00 74 */ lwz r0, 0x74(r1)
/* 80104D14 00101C74 CB E1 00 60 */ lfd f31, 0x60(r1)
/* 80104D18 00101C78 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 80104D1C 00101C7C 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 80104D20 00101C80 83 A1 00 54 */ lwz r29, 0x54(r1)
/* 80104D24 00101C84 7C 08 03 A6 */ mtlr r0
/* 80104D28 00101C88 38 21 00 70 */ addi r1, r1, 0x70
/* 80104D2C 00101C8C 4E 80 00 20 */ blr
.global UpdateBrightLight__12CActorLightsFv
UpdateBrightLight__12CActorLightsFv:
/* 80104D30 00101C90 80 83 02 DC */ lwz r4, 0x2dc(r3)
/* 80104D34 00101C94 2C 04 00 00 */ cmpwi r4, 0
/* 80104D38 00101C98 40 81 00 1C */ ble lbl_80104D54
/* 80104D3C 00101C9C 88 03 02 99 */ lbz r0, 0x299(r3)
/* 80104D40 00101CA0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80104D44 00101CA4 41 82 00 10 */ beq lbl_80104D54
/* 80104D48 00101CA8 38 04 FF FF */ addi r0, r4, -1
/* 80104D4C 00101CAC 90 03 02 DC */ stw r0, 0x2dc(r3)
/* 80104D50 00101CB0 48 00 00 24 */ b lbl_80104D74
lbl_80104D54:
/* 80104D54 00101CB4 28 04 00 0F */ cmplwi r4, 0xf
/* 80104D58 00101CB8 40 80 00 1C */ bge lbl_80104D74
/* 80104D5C 00101CBC 88 03 02 99 */ lbz r0, 0x299(r3)
/* 80104D60 00101CC0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80104D64 00101CC4 40 82 00 10 */ bne lbl_80104D74
/* 80104D68 00101CC8 80 83 02 DC */ lwz r4, 0x2dc(r3)
/* 80104D6C 00101CCC 38 04 00 01 */ addi r0, r4, 1
/* 80104D70 00101CD0 90 03 02 DC */ stw r0, 0x2dc(r3)
lbl_80104D74:
/* 80104D74 00101CD4 88 03 02 99 */ lbz r0, 0x299(r3)
/* 80104D78 00101CD8 38 80 00 01 */ li r4, 1
/* 80104D7C 00101CDC 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 80104D80 00101CE0 98 03 02 99 */ stb r0, 0x299(r3)
/* 80104D84 00101CE4 4E 80 00 20 */ blr
.global ActivateLights__12CActorLightsCFv
ActivateLights__12CActorLightsCFv:
/* 80104D88 00101CE8 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 80104D8C 00101CEC 7C 08 02 A6 */ mflr r0
/* 80104D90 00101CF0 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 80104D94 00101CF4 DB E1 00 90 */ stfd f31, 0x90(r1)
/* 80104D98 00101CF8 F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0
/* 80104D9C 00101CFC 93 E1 00 8C */ stw r31, 0x8c(r1)
/* 80104DA0 00101D00 93 C1 00 88 */ stw r30, 0x88(r1)
/* 80104DA4 00101D04 93 A1 00 84 */ stw r29, 0x84(r1)
/* 80104DA8 00101D08 93 81 00 80 */ stw r28, 0x80(r1)
/* 80104DAC 00101D0C 7C 7F 1B 78 */ mr r31, r3
/* 80104DB0 00101D10 88 63 02 98 */ lbz r3, 0x298(r3)
/* 80104DB4 00101D14 54 60 EF FF */ rlwinm. r0, r3, 0x1d, 0x1f, 0x1f
/* 80104DB8 00101D18 41 82 00 70 */ beq lbl_80104E28
/* 80104DBC 00101D1C 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f
/* 80104DC0 00101D20 41 82 00 10 */ beq lbl_80104DD0
/* 80104DC4 00101D24 88 1F 02 99 */ lbz r0, 0x299(r31)
/* 80104DC8 00101D28 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 80104DCC 00101D2C 41 82 00 28 */ beq lbl_80104DF4
lbl_80104DD0:
/* 80104DD0 00101D30 48 24 51 DD */ bl White__6CColorFv
/* 80104DD4 00101D34 7C 64 1B 78 */ mr r4, r3
/* 80104DD8 00101D38 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80104DDC 00101D3C 81 83 00 00 */ lwz r12, 0(r3)
/* 80104DE0 00101D40 81 8C 00 BC */ lwz r12, 0xbc(r12)
/* 80104DE4 00101D44 7D 89 03 A6 */ mtctr r12
/* 80104DE8 00101D48 4E 80 04 21 */ bctrl
/* 80104DEC 00101D4C 48 20 7B 91 */ bl DisableAllLights__9CGraphicsFv
/* 80104DF0 00101D50 48 00 02 20 */ b lbl_80105010
lbl_80104DF4:
/* 80104DF4 00101D54 C0 3F 02 88 */ lfs f1, 0x288(r31)
/* 80104DF8 00101D58 38 61 00 10 */ addi r3, r1, 0x10
/* 80104DFC 00101D5C C0 5F 02 8C */ lfs f2, 0x28c(r31)
/* 80104E00 00101D60 C0 7F 02 90 */ lfs f3, 0x290(r31)
/* 80104E04 00101D64 C0 82 94 24 */ lfs f4, lbl_805AB144@sda21(r2)
/* 80104E08 00101D68 48 25 E5 E5 */ bl __ct__6CColorFffff
/* 80104E0C 00101D6C 7C 64 1B 78 */ mr r4, r3
/* 80104E10 00101D70 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80104E14 00101D74 81 83 00 00 */ lwz r12, 0(r3)
/* 80104E18 00101D78 81 8C 00 BC */ lwz r12, 0xbc(r12)
/* 80104E1C 00101D7C 7D 89 03 A6 */ mtctr r12
/* 80104E20 00101D80 4E 80 04 21 */ bctrl
/* 80104E24 00101D84 48 00 00 34 */ b lbl_80104E58
lbl_80104E28:
/* 80104E28 00101D88 C0 3F 02 88 */ lfs f1, 0x288(r31)
/* 80104E2C 00101D8C 38 61 00 0C */ addi r3, r1, 0xc
/* 80104E30 00101D90 C0 5F 02 8C */ lfs f2, 0x28c(r31)
/* 80104E34 00101D94 C0 7F 02 90 */ lfs f3, 0x290(r31)
/* 80104E38 00101D98 C0 82 94 24 */ lfs f4, lbl_805AB144@sda21(r2)
/* 80104E3C 00101D9C 48 25 E5 B1 */ bl __ct__6CColorFffff
/* 80104E40 00101DA0 7C 64 1B 78 */ mr r4, r3
/* 80104E44 00101DA4 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80104E48 00101DA8 81 83 00 00 */ lwz r12, 0(r3)
/* 80104E4C 00101DAC 81 8C 00 BC */ lwz r12, 0xbc(r12)
/* 80104E50 00101DB0 7D 89 03 A6 */ mtctr r12
/* 80104E54 00101DB4 4E 80 04 21 */ bctrl
lbl_80104E58:
/* 80104E58 00101DB8 80 1F 00 00 */ lwz r0, 0(r31)
/* 80104E5C 00101DBC 3B A0 00 00 */ li r29, 0
/* 80104E60 00101DC0 2C 00 00 00 */ cmpwi r0, 0
/* 80104E64 00101DC4 41 82 00 F0 */ beq lbl_80104F54
/* 80104E68 00101DC8 80 1F 02 DC */ lwz r0, 0x2dc(r31)
/* 80104E6C 00101DCC 2C 00 00 00 */ cmpwi r0, 0
/* 80104E70 00101DD0 41 82 00 A4 */ beq lbl_80104F14
/* 80104E74 00101DD4 88 1F 02 99 */ lbz r0, 0x299(r31)
/* 80104E78 00101DD8 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 80104E7C 00101DDC 41 82 00 98 */ beq lbl_80104F14
/* 80104E80 00101DE0 38 61 00 28 */ addi r3, r1, 0x28
/* 80104E84 00101DE4 38 9F 00 04 */ addi r4, r31, 4
/* 80104E88 00101DE8 4B F3 66 E9 */ bl __ct__6CLightFCR6CLight
/* 80104E8C 00101DEC 80 01 00 40 */ lwz r0, 0x40(r1)
/* 80104E90 00101DF0 38 61 00 24 */ addi r3, r1, 0x24
/* 80104E94 00101DF4 38 81 00 20 */ addi r4, r1, 0x20
/* 80104E98 00101DF8 38 A1 00 1C */ addi r5, r1, 0x1c
/* 80104E9C 00101DFC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80104EA0 00101E00 38 C1 00 18 */ addi r6, r1, 0x18
/* 80104EA4 00101E04 48 25 E4 95 */ bl Get__6CColorCFRfRfRf
/* 80104EA8 00101E08 80 9F 02 DC */ lwz r4, 0x2dc(r31)
/* 80104EAC 00101E0C 3C 00 43 30 */ lis r0, 0x4330
/* 80104EB0 00101E10 90 01 00 78 */ stw r0, 0x78(r1)
/* 80104EB4 00101E14 38 61 00 24 */ addi r3, r1, 0x24
/* 80104EB8 00101E18 6C 84 80 00 */ xoris r4, r4, 0x8000
/* 80104EBC 00101E1C C8 42 94 40 */ lfd f2, lbl_805AB160@sda21(r2)
/* 80104EC0 00101E20 90 81 00 7C */ stw r4, 0x7c(r1)
/* 80104EC4 00101E24 C0 62 94 38 */ lfs f3, lbl_805AB158@sda21(r2)
/* 80104EC8 00101E28 C8 01 00 78 */ lfd f0, 0x78(r1)
/* 80104ECC 00101E2C C0 82 94 24 */ lfs f4, lbl_805AB144@sda21(r2)
/* 80104ED0 00101E30 EC A0 10 28 */ fsubs f5, f0, f2
/* 80104ED4 00101E34 C0 21 00 20 */ lfs f1, 0x20(r1)
/* 80104ED8 00101E38 C0 41 00 1C */ lfs f2, 0x1c(r1)
/* 80104EDC 00101E3C C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80104EE0 00101E40 EC 65 18 24 */ fdivs f3, f5, f3
/* 80104EE4 00101E44 EC 64 18 28 */ fsubs f3, f4, f3
/* 80104EE8 00101E48 EC 21 00 F2 */ fmuls f1, f1, f3
/* 80104EEC 00101E4C EC 42 00 F2 */ fmuls f2, f2, f3
/* 80104EF0 00101E50 EC 60 00 F2 */ fmuls f3, f0, f3
/* 80104EF4 00101E54 48 25 E4 A9 */ bl Set__6CColorFffff
/* 80104EF8 00101E58 38 61 00 28 */ addi r3, r1, 0x28
/* 80104EFC 00101E5C 38 81 00 24 */ addi r4, r1, 0x24
/* 80104F00 00101E60 48 20 14 5D */ bl SetColor__6CLightFRC6CColor
/* 80104F04 00101E64 38 81 00 28 */ addi r4, r1, 0x28
/* 80104F08 00101E68 38 60 00 00 */ li r3, 0
/* 80104F0C 00101E6C 48 20 7A B9 */ bl LoadLight__9CGraphicsF9ERglLightRC6CLight
/* 80104F10 00101E70 48 00 00 10 */ b lbl_80104F20
lbl_80104F14:
/* 80104F14 00101E74 38 9F 00 04 */ addi r4, r31, 4
/* 80104F18 00101E78 38 60 00 00 */ li r3, 0
/* 80104F1C 00101E7C 48 20 7A A9 */ bl LoadLight__9CGraphicsF9ERglLightRC6CLight
lbl_80104F20:
/* 80104F20 00101E80 3B DF 00 54 */ addi r30, r31, 0x54
/* 80104F24 00101E84 3B A0 00 01 */ li r29, 1
/* 80104F28 00101E88 3B 80 00 01 */ li r28, 1
/* 80104F2C 00101E8C 48 00 00 1C */ b lbl_80104F48
lbl_80104F30:
/* 80104F30 00101E90 7F 83 E3 78 */ mr r3, r28
/* 80104F34 00101E94 7F C4 F3 78 */ mr r4, r30
/* 80104F38 00101E98 48 20 7A 8D */ bl LoadLight__9CGraphicsF9ERglLightRC6CLight
/* 80104F3C 00101E9C 3B DE 00 50 */ addi r30, r30, 0x50
/* 80104F40 00101EA0 3B 9C 00 01 */ addi r28, r28, 1
/* 80104F44 00101EA4 3B BD 00 01 */ addi r29, r29, 1
lbl_80104F48:
/* 80104F48 00101EA8 80 1F 00 00 */ lwz r0, 0(r31)
/* 80104F4C 00101EAC 7C 1C 00 00 */ cmpw r28, r0
/* 80104F50 00101EB0 41 80 FF E0 */ blt lbl_80104F30
lbl_80104F54:
/* 80104F54 00101EB4 3B DF 01 48 */ addi r30, r31, 0x148
/* 80104F58 00101EB8 3B 80 00 00 */ li r28, 0
/* 80104F5C 00101EBC 48 00 00 1C */ b lbl_80104F78
lbl_80104F60:
/* 80104F60 00101EC0 7F A3 EB 78 */ mr r3, r29
/* 80104F64 00101EC4 7F C4 F3 78 */ mr r4, r30
/* 80104F68 00101EC8 48 20 7A 5D */ bl LoadLight__9CGraphicsF9ERglLightRC6CLight
/* 80104F6C 00101ECC 3B DE 00 50 */ addi r30, r30, 0x50
/* 80104F70 00101ED0 3B 9C 00 01 */ addi r28, r28, 1
/* 80104F74 00101ED4 3B BD 00 01 */ addi r29, r29, 1
lbl_80104F78:
/* 80104F78 00101ED8 80 1F 01 44 */ lwz r0, 0x144(r31)
/* 80104F7C 00101EDC 7C 1C 00 00 */ cmpw r28, r0
/* 80104F80 00101EE0 41 80 FF E0 */ blt lbl_80104F60
/* 80104F84 00101EE4 28 1D 00 00 */ cmplwi r29, 0
/* 80104F88 00101EE8 41 82 00 1C */ beq lbl_80104FA4
/* 80104F8C 00101EEC 38 00 00 01 */ li r0, 1
/* 80104F90 00101EF0 7C 03 E8 30 */ slw r3, r0, r29
/* 80104F94 00101EF4 38 03 FF FF */ addi r0, r3, -1
/* 80104F98 00101EF8 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 80104F9C 00101EFC 48 20 79 35 */ bl SetLightState__9CGraphicsFUc
/* 80104FA0 00101F00 48 00 00 08 */ b lbl_80104FA8
lbl_80104FA4:
/* 80104FA4 00101F04 48 20 79 D9 */ bl DisableAllLights__9CGraphicsFv
lbl_80104FA8:
/* 80104FA8 00101F08 88 1F 02 98 */ lbz r0, 0x298(r31)
/* 80104FAC 00101F0C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80104FB0 00101F10 41 82 00 60 */ beq lbl_80105010
/* 80104FB4 00101F14 C0 22 94 3C */ lfs f1, lbl_805AB15C@sda21(r2)
/* 80104FB8 00101F18 C0 1F 02 D4 */ lfs f0, 0x2d4(r31)
/* 80104FBC 00101F1C EF E1 00 32 */ fmuls f31, f1, f0
/* 80104FC0 00101F20 F3 E1 A0 08 */ psq_st f31, 8(r1), 1, qr2
/* 80104FC4 00101F24 38 00 00 FF */ li r0, 0xff
/* 80104FC8 00101F28 88 61 00 08 */ lbz r3, 8(r1)
/* 80104FCC 00101F2C 98 01 00 17 */ stb r0, 0x17(r1)
/* 80104FD0 00101F30 98 61 00 14 */ stb r3, 0x14(r1)
/* 80104FD4 00101F34 98 61 00 15 */ stb r3, 0x15(r1)
/* 80104FD8 00101F38 98 61 00 16 */ stb r3, 0x16(r1)
/* 80104FDC 00101F3C 48 24 4F D9 */ bl Black__6CColorFv
/* 80104FE0 00101F40 7C 64 1B 78 */ mr r4, r3
/* 80104FE4 00101F44 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80104FE8 00101F48 81 83 00 00 */ lwz r12, 0(r3)
/* 80104FEC 00101F4C 81 8C 00 BC */ lwz r12, 0xbc(r12)
/* 80104FF0 00101F50 7D 89 03 A6 */ mtctr r12
/* 80104FF4 00101F54 4E 80 04 21 */ bctrl
/* 80104FF8 00101F58 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80104FFC 00101F5C 38 81 00 14 */ addi r4, r1, 0x14
/* 80105000 00101F60 81 83 00 00 */ lwz r12, 0(r3)
/* 80105004 00101F64 81 8C 00 FC */ lwz r12, 0xfc(r12)
/* 80105008 00101F68 7D 89 03 A6 */ mtctr r12
/* 8010500C 00101F6C 4E 80 04 21 */ bctrl
lbl_80105010:
/* 80105010 00101F70 E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0
/* 80105014 00101F74 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 80105018 00101F78 CB E1 00 90 */ lfd f31, 0x90(r1)
/* 8010501C 00101F7C 83 E1 00 8C */ lwz r31, 0x8c(r1)
/* 80105020 00101F80 83 C1 00 88 */ lwz r30, 0x88(r1)
/* 80105024 00101F84 83 A1 00 84 */ lwz r29, 0x84(r1)
/* 80105028 00101F88 83 81 00 80 */ lwz r28, 0x80(r1)
/* 8010502C 00101F8C 7C 08 03 A6 */ mtlr r0
/* 80105030 00101F90 38 21 00 A0 */ addi r1, r1, 0xa0
/* 80105034 00101F94 4E 80 00 20 */ blr
.global SetAmbientColor__12CActorLightsFRC6CColor
SetAmbientColor__12CActorLightsFRC6CColor:
/* 80105038 00101F98 E0 04 A0 00 */ psq_l f0, 0(r4), 1, qr2
/* 8010503C 00101F9C C0 22 94 48 */ lfs f1, lbl_805AB168@sda21(r2)
/* 80105040 00101FA0 EC 01 00 32 */ fmuls f0, f1, f0
/* 80105044 00101FA4 D0 03 02 88 */ stfs f0, 0x288(r3)
/* 80105048 00101FA8 E0 04 A0 01 */ psq_l f0, 1(r4), 1, qr2
/* 8010504C 00101FAC EC 01 00 32 */ fmuls f0, f1, f0
/* 80105050 00101FB0 D0 03 02 8C */ stfs f0, 0x28c(r3)
/* 80105054 00101FB4 E0 04 A0 02 */ psq_l f0, 2(r4), 1, qr2
/* 80105058 00101FB8 EC 01 00 32 */ fmuls f0, f1, f0
/* 8010505C 00101FBC D0 03 02 90 */ stfs f0, 0x290(r3)
/* 80105060 00101FC0 4E 80 00 20 */ blr
.global GetLight__12CActorLightsCFUi
GetLight__12CActorLightsCFUi:
/* 80105064 00101FC4 88 03 02 98 */ lbz r0, 0x298(r3)
/* 80105068 00101FC8 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 8010506C 00101FCC 41 82 00 34 */ beq lbl_801050A0
/* 80105070 00101FD0 80 03 00 00 */ lwz r0, 0(r3)
/* 80105074 00101FD4 7C 04 00 40 */ cmplw r4, r0
/* 80105078 00101FD8 40 80 00 14 */ bge lbl_8010508C
/* 8010507C 00101FDC 1C 04 00 50 */ mulli r0, r4, 0x50
/* 80105080 00101FE0 7C 63 02 14 */ add r3, r3, r0
/* 80105084 00101FE4 38 63 00 04 */ addi r3, r3, 4
/* 80105088 00101FE8 4E 80 00 20 */ blr
lbl_8010508C:
/* 8010508C 00101FEC 7C 00 20 50 */ subf r0, r0, r4
/* 80105090 00101FF0 1C 00 00 50 */ mulli r0, r0, 0x50
/* 80105094 00101FF4 7C 63 02 14 */ add r3, r3, r0
/* 80105098 00101FF8 38 63 01 48 */ addi r3, r3, 0x148
/* 8010509C 00101FFC 4E 80 00 20 */ blr
lbl_801050A0:
/* 801050A0 00102000 1C 04 00 50 */ mulli r0, r4, 0x50
/* 801050A4 00102004 7C 63 02 14 */ add r3, r3, r0
/* 801050A8 00102008 38 63 01 48 */ addi r3, r3, 0x148
/* 801050AC 0010200C 4E 80 00 20 */ blr
.global GetActiveLightCount__12CActorLightsCFv
GetActiveLightCount__12CActorLightsCFv:
/* 801050B0 00102010 88 03 02 98 */ lbz r0, 0x298(r3)
/* 801050B4 00102014 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 801050B8 00102018 41 82 00 14 */ beq lbl_801050CC
/* 801050BC 0010201C 80 83 00 00 */ lwz r4, 0(r3)
/* 801050C0 00102020 80 03 01 44 */ lwz r0, 0x144(r3)
/* 801050C4 00102024 7C 64 02 14 */ add r3, r4, r0
/* 801050C8 00102028 4E 80 00 20 */ blr
lbl_801050CC:
/* 801050CC 0010202C 80 63 01 44 */ lwz r3, 0x144(r3)
/* 801050D0 00102030 4E 80 00 20 */ blr
.global __dt__12CActorLightsFv
__dt__12CActorLightsFv:
/* 801050D4 00102034 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801050D8 00102038 7C 08 02 A6 */ mflr r0
/* 801050DC 0010203C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801050E0 00102040 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801050E4 00102044 7C 7F 1B 79 */ or. r31, r3, r3
/* 801050E8 00102048 41 82 00 CC */ beq lbl_801051B4
/* 801050EC 0010204C 34 1F 01 44 */ addic. r0, r31, 0x144
/* 801050F0 00102050 41 82 00 58 */ beq lbl_80105148
/* 801050F4 00102054 80 DF 01 44 */ lwz r6, 0x144(r31)
/* 801050F8 00102058 38 60 00 00 */ li r3, 0
/* 801050FC 0010205C 2C 06 00 00 */ cmpwi r6, 0
/* 80105100 00102060 40 81 00 40 */ ble lbl_80105140
/* 80105104 00102064 2C 06 00 08 */ cmpwi r6, 8
/* 80105108 00102068 38 A6 FF F8 */ addi r5, r6, -8
/* 8010510C 0010206C 40 81 00 20 */ ble lbl_8010512C
/* 80105110 00102070 38 05 00 07 */ addi r0, r5, 7
/* 80105114 00102074 54 00 E8 FE */ srwi r0, r0, 3
/* 80105118 00102078 7C 09 03 A6 */ mtctr r0
/* 8010511C 0010207C 2C 05 00 00 */ cmpwi r5, 0
/* 80105120 00102080 40 81 00 0C */ ble lbl_8010512C
lbl_80105124:
/* 80105124 00102084 38 63 00 08 */ addi r3, r3, 8
/* 80105128 00102088 42 00 FF FC */ bdnz lbl_80105124
lbl_8010512C:
/* 8010512C 0010208C 7C 03 30 50 */ subf r0, r3, r6
/* 80105130 00102090 7C 09 03 A6 */ mtctr r0
/* 80105134 00102094 7C 03 30 00 */ cmpw r3, r6
/* 80105138 00102098 40 80 00 08 */ bge lbl_80105140
lbl_8010513C:
/* 8010513C 0010209C 42 00 00 00 */ bdnz lbl_8010513C
lbl_80105140:
/* 80105140 001020A0 38 00 00 00 */ li r0, 0
/* 80105144 001020A4 90 1F 01 44 */ stw r0, 0x144(r31)
lbl_80105148:
/* 80105148 001020A8 28 1F 00 00 */ cmplwi r31, 0
/* 8010514C 001020AC 41 82 00 58 */ beq lbl_801051A4
/* 80105150 001020B0 80 DF 00 00 */ lwz r6, 0(r31)
/* 80105154 001020B4 38 60 00 00 */ li r3, 0
/* 80105158 001020B8 2C 06 00 00 */ cmpwi r6, 0
/* 8010515C 001020BC 40 81 00 40 */ ble lbl_8010519C
/* 80105160 001020C0 2C 06 00 08 */ cmpwi r6, 8
/* 80105164 001020C4 38 A6 FF F8 */ addi r5, r6, -8
/* 80105168 001020C8 40 81 00 20 */ ble lbl_80105188
/* 8010516C 001020CC 38 05 00 07 */ addi r0, r5, 7
/* 80105170 001020D0 54 00 E8 FE */ srwi r0, r0, 3
/* 80105174 001020D4 7C 09 03 A6 */ mtctr r0
/* 80105178 001020D8 2C 05 00 00 */ cmpwi r5, 0
/* 8010517C 001020DC 40 81 00 0C */ ble lbl_80105188
lbl_80105180:
/* 80105180 001020E0 38 63 00 08 */ addi r3, r3, 8
/* 80105184 001020E4 42 00 FF FC */ bdnz lbl_80105180
lbl_80105188:
/* 80105188 001020E8 7C 03 30 50 */ subf r0, r3, r6
/* 8010518C 001020EC 7C 09 03 A6 */ mtctr r0
/* 80105190 001020F0 7C 03 30 00 */ cmpw r3, r6
/* 80105194 001020F4 40 80 00 08 */ bge lbl_8010519C
lbl_80105198:
/* 80105198 001020F8 42 00 00 00 */ bdnz lbl_80105198
lbl_8010519C:
/* 8010519C 001020FC 38 00 00 00 */ li r0, 0
/* 801051A0 00102100 90 1F 00 00 */ stw r0, 0(r31)
lbl_801051A4:
/* 801051A4 00102104 7C 80 07 35 */ extsh. r0, r4
/* 801051A8 00102108 40 81 00 0C */ ble lbl_801051B4
/* 801051AC 0010210C 7F E3 FB 78 */ mr r3, r31
/* 801051B0 00102110 48 21 07 81 */ bl Free__7CMemoryFPCv
lbl_801051B4:
/* 801051B4 00102114 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801051B8 00102118 7F E3 FB 78 */ mr r3, r31
/* 801051BC 0010211C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801051C0 00102120 7C 08 03 A6 */ mtlr r0
/* 801051C4 00102124 38 21 00 10 */ addi r1, r1, 0x10
/* 801051C8 00102128 4E 80 00 20 */ blr
.global __ct__12CActorLightsFUi9CVector3fiif
__ct__12CActorLightsFUi9CVector3fiif:
/* 801051CC 0010212C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801051D0 00102130 3D 60 80 5A */ lis r11, skZero3f@ha
/* 801051D4 00102134 55 40 06 3F */ clrlwi. r0, r10, 0x18
/* 801051D8 00102138 39 80 00 01 */ li r12, 1
/* 801051DC 0010213C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801051E0 00102140 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801051E4 00102144 3B C0 00 00 */ li r30, 0
/* 801051E8 00102148 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801051EC 0010214C 93 C3 00 00 */ stw r30, 0(r3)
/* 801051F0 00102150 93 C3 01 44 */ stw r30, 0x144(r3)
/* 801051F4 00102154 C4 0B 66 A0 */ lfsu f0, skZero3f@l(r11)
/* 801051F8 00102158 D0 03 02 88 */ stfs f0, 0x288(r3)
/* 801051FC 0010215C C0 0B 00 04 */ lfs f0, 4(r11)
/* 80105200 00102160 D0 03 02 8C */ stfs f0, 0x28c(r3)
/* 80105204 00102164 C0 0B 00 08 */ lfs f0, 8(r11)
/* 80105208 00102168 D0 03 02 90 */ stfs f0, 0x290(r3)
/* 8010520C 0010216C 80 0D A3 90 */ lwz r0, kInvalidAreaId@sda21(r13)
/* 80105210 00102170 90 03 02 94 */ stw r0, 0x294(r3)
/* 80105214 00102174 88 03 02 98 */ lbz r0, 0x298(r3)
/* 80105218 00102178 51 80 3E 30 */ rlwimi r0, r12, 7, 0x18, 0x18
/* 8010521C 0010217C 98 03 02 98 */ stb r0, 0x298(r3)
/* 80105220 00102180 88 03 02 98 */ lbz r0, 0x298(r3)
/* 80105224 00102184 51 80 36 72 */ rlwimi r0, r12, 6, 0x19, 0x19
/* 80105228 00102188 98 03 02 98 */ stb r0, 0x298(r3)
/* 8010522C 0010218C 88 03 02 98 */ lbz r0, 0x298(r3)
/* 80105230 00102190 53 C0 2E B4 */ rlwimi r0, r30, 5, 0x1a, 0x1a
/* 80105234 00102194 98 03 02 98 */ stb r0, 0x298(r3)
/* 80105238 00102198 88 03 02 98 */ lbz r0, 0x298(r3)
/* 8010523C 0010219C 53 C0 26 F6 */ rlwimi r0, r30, 4, 0x1b, 0x1b
/* 80105240 001021A0 98 03 02 98 */ stb r0, 0x298(r3)
/* 80105244 001021A4 40 82 00 10 */ bne lbl_80105254
/* 80105248 001021A8 2C 07 00 00 */ cmpwi r7, 0
/* 8010524C 001021AC 40 81 00 08 */ ble lbl_80105254
/* 80105250 001021B0 7D 9E 63 78 */ mr r30, r12
lbl_80105254:
/* 80105254 001021B4 8B A3 02 98 */ lbz r29, 0x298(r3)
/* 80105258 001021B8 53 DD 1F 38 */ rlwimi r29, r30, 3, 0x1c, 0x1c
/* 8010525C 001021BC 55 5E 06 3E */ clrlwi r30, r10, 0x18
/* 80105260 001021C0 EC 41 00 72 */ fmuls f2, f1, f1
/* 80105264 001021C4 9B A3 02 98 */ stb r29, 0x298(r3)
/* 80105268 001021C8 55 00 06 3E */ clrlwi r0, r8, 0x18
/* 8010526C 001021CC 55 3D 06 3E */ clrlwi r29, r9, 0x18
/* 80105270 001021D0 3B E0 00 01 */ li r31, 1
/* 80105274 001021D4 89 03 02 98 */ lbz r8, 0x298(r3)
/* 80105278 001021D8 50 08 17 7A */ rlwimi r8, r0, 2, 0x1d, 0x1d
/* 8010527C 001021DC 39 40 00 00 */ li r10, 0
/* 80105280 001021E0 99 03 02 98 */ stb r8, 0x298(r3)
/* 80105284 001021E4 38 00 FF FF */ li r0, -1
/* 80105288 001021E8 3D 80 80 5A */ lis r12, skZero3f@ha
/* 8010528C 001021EC C0 22 94 08 */ lfs f1, lbl_805AB128@sda21(r2)
/* 80105290 001021F0 89 23 02 98 */ lbz r9, 0x298(r3)
/* 80105294 001021F4 53 A9 0F BC */ rlwimi r9, r29, 1, 0x1e, 0x1e
/* 80105298 001021F8 C0 02 94 24 */ lfs f0, lbl_805AB144@sda21(r2)
/* 8010529C 001021FC 99 23 02 98 */ stb r9, 0x298(r3)
/* 801052A0 00102200 89 23 02 98 */ lbz r9, 0x298(r3)
/* 801052A4 00102204 53 C9 07 FE */ rlwimi r9, r30, 0, 0x1f, 0x1f
/* 801052A8 00102208 99 23 02 98 */ stb r9, 0x298(r3)
/* 801052AC 0010220C 89 23 02 99 */ lbz r9, 0x299(r3)
/* 801052B0 00102210 53 E9 3E 30 */ rlwimi r9, r31, 7, 0x18, 0x18
/* 801052B4 00102214 99 23 02 99 */ stb r9, 0x299(r3)
/* 801052B8 00102218 89 23 02 99 */ lbz r9, 0x299(r3)
/* 801052BC 0010221C 51 49 36 72 */ rlwimi r9, r10, 6, 0x19, 0x19
/* 801052C0 00102220 99 23 02 99 */ stb r9, 0x299(r3)
/* 801052C4 00102224 89 23 02 99 */ lbz r9, 0x299(r3)
/* 801052C8 00102228 51 49 2E B4 */ rlwimi r9, r10, 5, 0x1a, 0x1a
/* 801052CC 0010222C 99 23 02 99 */ stb r9, 0x299(r3)
/* 801052D0 00102230 99 43 02 9A */ stb r10, 0x29a(r3)
/* 801052D4 00102234 90 03 02 9C */ stw r0, 0x29c(r3)
/* 801052D8 00102238 90 03 02 A0 */ stw r0, 0x2a0(r3)
/* 801052DC 0010223C 91 43 02 A4 */ stw r10, 0x2a4(r3)
/* 801052E0 00102240 90 83 02 A8 */ stw r4, 0x2a8(r3)
/* 801052E4 00102244 C0 65 00 00 */ lfs f3, 0(r5)
/* 801052E8 00102248 D0 63 02 AC */ stfs f3, 0x2ac(r3)
/* 801052EC 0010224C C0 65 00 04 */ lfs f3, 4(r5)
/* 801052F0 00102250 D0 63 02 B0 */ stfs f3, 0x2b0(r3)
/* 801052F4 00102254 C0 65 00 08 */ lfs f3, 8(r5)
/* 801052F8 00102258 D0 63 02 B4 */ stfs f3, 0x2b4(r3)
/* 801052FC 0010225C 90 E3 02 B8 */ stw r7, 0x2b8(r3)
/* 80105300 00102260 90 C3 02 BC */ stw r6, 0x2bc(r3)
/* 80105304 00102264 C0 6C 66 A0 */ lfs f3, skZero3f@l(r12)
/* 80105308 00102268 D0 63 02 C0 */ stfs f3, 0x2c0(r3)
/* 8010530C 0010226C C0 6B 00 04 */ lfs f3, 4(r11)
/* 80105310 00102270 D0 63 02 C4 */ stfs f3, 0x2c4(r3)
/* 80105314 00102274 C0 6B 00 08 */ lfs f3, 8(r11)
/* 80105318 00102278 D0 63 02 C8 */ stfs f3, 0x2c8(r3)
/* 8010531C 0010227C D0 43 02 CC */ stfs f2, 0x2cc(r3)
/* 80105320 00102280 D0 23 02 D0 */ stfs f1, 0x2d0(r3)
/* 80105324 00102284 D0 03 02 D4 */ stfs f0, 0x2d4(r3)
/* 80105328 00102288 90 03 02 D8 */ stw r0, 0x2d8(r3)
/* 8010532C 0010228C 91 43 02 DC */ stw r10, 0x2dc(r3)
/* 80105330 00102290 80 8D A3 50 */ lwz r4, lbl_805A8F10@sda21(r13)
/* 80105334 00102294 38 04 00 01 */ addi r0, r4, 1
/* 80105338 00102298 90 0D A3 50 */ stw r0, lbl_805A8F10@sda21(r13)
/* 8010533C 0010229C 54 00 07 7E */ clrlwi r0, r0, 0x1d
/* 80105340 001022A0 90 0D A3 50 */ stw r0, lbl_805A8F10@sda21(r13)
/* 80105344 001022A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80105348 001022A8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8010534C 001022AC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80105350 001022B0 38 21 00 20 */ addi r1, r1, 0x20
/* 80105354 001022B4 4E 80 00 20 */ blr
.global "sort<P11SLightValue,Q211SLightValue10CPredicate>__4rstlFP11SLightValueP11SLightValueQ211SLightValue10CPredicate"
"sort<P11SLightValue,Q211SLightValue10CPredicate>__4rstlFP11SLightValueP11SLightValueQ211SLightValue10CPredicate":
/* 80105358 001022B8 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8010535C 001022BC 7C 08 02 A6 */ mflr r0
/* 80105360 001022C0 3C C0 92 49 */ lis r6, 0x92492493@ha
/* 80105364 001022C4 90 01 00 54 */ stw r0, 0x54(r1)
/* 80105368 001022C8 BF 61 00 3C */ stmw r27, 0x3c(r1)
/* 8010536C 001022CC 7C 7C 1B 78 */ mr r28, r3
/* 80105370 001022D0 7C 9D 23 78 */ mr r29, r4
/* 80105374 001022D4 7C BE 2B 78 */ mr r30, r5
/* 80105378 001022D8 7C 1C E8 50 */ subf r0, r28, r29
/* 8010537C 001022DC 38 A6 24 93 */ addi r5, r6, 0x92492493@l
/* 80105380 001022E0 7C A5 00 96 */ mulhw r5, r5, r0
/* 80105384 001022E4 7C 05 02 14 */ add r0, r5, r0
/* 80105388 001022E8 7C 00 26 70 */ srawi r0, r0, 4
/* 8010538C 001022EC 54 05 0F FE */ srwi r5, r0, 0x1f
/* 80105390 001022F0 7C A0 2A 14 */ add r5, r0, r5
/* 80105394 001022F4 2C 05 00 01 */ cmpwi r5, 1
/* 80105398 001022F8 40 81 01 60 */ ble lbl_801054F8
/* 8010539C 001022FC 2C 05 00 14 */ cmpwi r5, 0x14
/* 801053A0 00102300 41 81 00 18 */ bgt lbl_801053B8
/* 801053A4 00102304 88 1E 00 00 */ lbz r0, 0(r30)
/* 801053A8 00102308 38 A1 00 14 */ addi r5, r1, 0x14
/* 801053AC 0010230C 98 01 00 14 */ stb r0, 0x14(r1)
/* 801053B0 00102310 48 00 01 5D */ bl "__insertion_sort<P11SLightValue,Q211SLightValue10CPredicate>__4rstlFP11SLightValueP11SLightValueQ211SLightValue10CPredicate"
/* 801053B4 00102314 48 00 01 44 */ b lbl_801054F8
lbl_801053B8:
/* 801053B8 00102318 54 A4 0F FE */ srwi r4, r5, 0x1f
/* 801053BC 0010231C 88 1E 00 00 */ lbz r0, 0(r30)
/* 801053C0 00102320 7C 84 2A 14 */ add r4, r4, r5
/* 801053C4 00102324 3B FD FF E4 */ addi r31, r29, -28
/* 801053C8 00102328 7C 84 0E 70 */ srawi r4, r4, 1
/* 801053CC 0010232C 98 01 00 10 */ stb r0, 0x10(r1)
/* 801053D0 00102330 1C 04 00 1C */ mulli r0, r4, 0x1c
/* 801053D4 00102334 7F E5 FB 78 */ mr r5, r31
/* 801053D8 00102338 38 C1 00 10 */ addi r6, r1, 0x10
/* 801053DC 0010233C 7F 7C 02 14 */ add r27, r28, r0
/* 801053E0 00102340 7F 64 DB 78 */ mr r4, r27
/* 801053E4 00102344 48 00 02 2D */ bl "__sort3<11SLightValue,Q211SLightValue10CPredicate>__4rstlFR11SLightValueR11SLightValueR11SLightValueQ211SLightValue10CPredicate"
/* 801053E8 00102348 C0 BB 00 10 */ lfs f5, 0x10(r27)
/* 801053EC 0010234C 3B 7C 00 1C */ addi r27, r28, 0x1c
/* 801053F0 00102350 3B FF FF E4 */ addi r31, r31, -28
/* 801053F4 00102354 48 00 00 08 */ b lbl_801053FC
lbl_801053F8:
/* 801053F8 00102358 3B 7B 00 1C */ addi r27, r27, 0x1c
lbl_801053FC:
/* 801053FC 0010235C C0 1B 00 10 */ lfs f0, 0x10(r27)
/* 80105400 00102360 FC 00 28 40 */ fcmpo cr0, f0, f5
/* 80105404 00102364 41 81 FF F4 */ bgt lbl_801053F8
/* 80105408 00102368 48 00 00 08 */ b lbl_80105410
lbl_8010540C:
/* 8010540C 0010236C 3B FF FF E4 */ addi r31, r31, -28
lbl_80105410:
/* 80105410 00102370 C0 1F 00 10 */ lfs f0, 0x10(r31)
/* 80105414 00102374 FC 05 00 40 */ fcmpo cr0, f5, f0
/* 80105418 00102378 41 81 FF F4 */ bgt lbl_8010540C
/* 8010541C 0010237C 7C 1B F8 40 */ cmplw r27, r31
/* 80105420 00102380 40 80 00 A8 */ bge lbl_801054C8
/* 80105424 00102384 80 FB 00 00 */ lwz r7, 0(r27)
/* 80105428 00102388 C0 9B 00 04 */ lfs f4, 4(r27)
/* 8010542C 0010238C C0 7B 00 08 */ lfs f3, 8(r27)
/* 80105430 00102390 C0 1B 00 0C */ lfs f0, 0xc(r27)
/* 80105434 00102394 C0 5B 00 10 */ lfs f2, 0x10(r27)
/* 80105438 00102398 C0 3B 00 14 */ lfs f1, 0x14(r27)
/* 8010543C 0010239C 80 DB 00 18 */ lwz r6, 0x18(r27)
/* 80105440 001023A0 80 1F 00 00 */ lwz r0, 0(r31)
/* 80105444 001023A4 D0 81 00 1C */ stfs f4, 0x1c(r1)
/* 80105448 001023A8 90 1B 00 00 */ stw r0, 0(r27)
/* 8010544C 001023AC 80 81 00 1C */ lwz r4, 0x1c(r1)
/* 80105450 001023B0 80 7F 00 04 */ lwz r3, 4(r31)
/* 80105454 001023B4 80 1F 00 08 */ lwz r0, 8(r31)
/* 80105458 001023B8 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8010545C 001023BC 90 7B 00 04 */ stw r3, 4(r27)
/* 80105460 001023C0 90 1B 00 08 */ stw r0, 8(r27)
/* 80105464 001023C4 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 80105468 001023C8 D0 61 00 20 */ stfs f3, 0x20(r1)
/* 8010546C 001023CC 90 1B 00 0C */ stw r0, 0xc(r27)
/* 80105470 001023D0 80 61 00 20 */ lwz r3, 0x20(r1)
/* 80105474 001023D4 C0 1F 00 10 */ lfs f0, 0x10(r31)
/* 80105478 001023D8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8010547C 001023DC D0 1B 00 10 */ stfs f0, 0x10(r27)
/* 80105480 001023E0 C0 1F 00 14 */ lfs f0, 0x14(r31)
/* 80105484 001023E4 90 E1 00 18 */ stw r7, 0x18(r1)
/* 80105488 001023E8 D0 1B 00 14 */ stfs f0, 0x14(r27)
/* 8010548C 001023EC 80 BF 00 18 */ lwz r5, 0x18(r31)
/* 80105490 001023F0 D0 41 00 28 */ stfs f2, 0x28(r1)
/* 80105494 001023F4 90 BB 00 18 */ stw r5, 0x18(r27)
/* 80105498 001023F8 3B 7B 00 1C */ addi r27, r27, 0x1c
/* 8010549C 001023FC 90 FF 00 00 */ stw r7, 0(r31)
/* 801054A0 00102400 90 9F 00 04 */ stw r4, 4(r31)
/* 801054A4 00102404 90 7F 00 08 */ stw r3, 8(r31)
/* 801054A8 00102408 90 1F 00 0C */ stw r0, 0xc(r31)
/* 801054AC 0010240C D0 5F 00 10 */ stfs f2, 0x10(r31)
/* 801054B0 00102410 D0 3F 00 14 */ stfs f1, 0x14(r31)
/* 801054B4 00102414 90 DF 00 18 */ stw r6, 0x18(r31)
/* 801054B8 00102418 3B FF FF E4 */ addi r31, r31, -28
/* 801054BC 0010241C D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 801054C0 00102420 90 C1 00 30 */ stw r6, 0x30(r1)
/* 801054C4 00102424 4B FF FF 38 */ b lbl_801053FC
lbl_801054C8:
/* 801054C8 00102428 88 1E 00 00 */ lbz r0, 0(r30)
/* 801054CC 0010242C 7F 83 E3 78 */ mr r3, r28
/* 801054D0 00102430 7F 64 DB 78 */ mr r4, r27
/* 801054D4 00102434 38 A1 00 0C */ addi r5, r1, 0xc
/* 801054D8 00102438 98 01 00 0C */ stb r0, 0xc(r1)
/* 801054DC 0010243C 4B FF FE 7D */ bl "sort<P11SLightValue,Q211SLightValue10CPredicate>__4rstlFP11SLightValueP11SLightValueQ211SLightValue10CPredicate"
/* 801054E0 00102440 88 1E 00 00 */ lbz r0, 0(r30)
/* 801054E4 00102444 7F 63 DB 78 */ mr r3, r27
/* 801054E8 00102448 7F A4 EB 78 */ mr r4, r29
/* 801054EC 0010244C 38 A1 00 08 */ addi r5, r1, 8
/* 801054F0 00102450 98 01 00 08 */ stb r0, 8(r1)
/* 801054F4 00102454 4B FF FE 65 */ bl "sort<P11SLightValue,Q211SLightValue10CPredicate>__4rstlFP11SLightValueP11SLightValueQ211SLightValue10CPredicate"
lbl_801054F8:
/* 801054F8 00102458 BB 61 00 3C */ lmw r27, 0x3c(r1)
/* 801054FC 0010245C 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80105500 00102460 7C 08 03 A6 */ mtlr r0
/* 80105504 00102464 38 21 00 50 */ addi r1, r1, 0x50
/* 80105508 00102468 4E 80 00 20 */ blr
.global "__insertion_sort<P11SLightValue,Q211SLightValue10CPredicate>__4rstlFP11SLightValueP11SLightValueQ211SLightValue10CPredicate"
"__insertion_sort<P11SLightValue,Q211SLightValue10CPredicate>__4rstlFP11SLightValueP11SLightValueQ211SLightValue10CPredicate":
/* 8010550C 0010246C 38 C3 00 1C */ addi r6, r3, 0x1c
/* 80105510 00102470 38 A4 00 1B */ addi r5, r4, 0x1b
/* 80105514 00102474 7C A6 28 50 */ subf r5, r6, r5
/* 80105518 00102478 38 00 00 1C */ li r0, 0x1c
/* 8010551C 0010247C 7C A5 03 96 */ divwu r5, r5, r0
/* 80105520 00102480 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80105524 00102484 7C A9 03 A6 */ mtctr r5
/* 80105528 00102488 7C 06 20 40 */ cmplw r6, r4
/* 8010552C 0010248C 40 80 00 DC */ bge lbl_80105608
lbl_80105530:
/* 80105530 00102490 80 86 00 00 */ lwz r4, 0(r6)
/* 80105534 00102494 7C C7 33 78 */ mr r7, r6
/* 80105538 00102498 C0 86 00 04 */ lfs f4, 4(r6)
/* 8010553C 0010249C 38 A6 FF E4 */ addi r5, r6, -28
/* 80105540 001024A0 C0 66 00 08 */ lfs f3, 8(r6)
/* 80105544 001024A4 C0 46 00 0C */ lfs f2, 0xc(r6)
/* 80105548 001024A8 C0 26 00 10 */ lfs f1, 0x10(r6)
/* 8010554C 001024AC C0 06 00 14 */ lfs f0, 0x14(r6)
/* 80105550 001024B0 80 06 00 18 */ lwz r0, 0x18(r6)
/* 80105554 001024B4 90 81 00 08 */ stw r4, 8(r1)
/* 80105558 001024B8 D0 81 00 0C */ stfs f4, 0xc(r1)
/* 8010555C 001024BC D0 61 00 10 */ stfs f3, 0x10(r1)
/* 80105560 001024C0 D0 41 00 14 */ stfs f2, 0x14(r1)
/* 80105564 001024C4 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 80105568 001024C8 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8010556C 001024CC 90 01 00 20 */ stw r0, 0x20(r1)
/* 80105570 001024D0 48 00 00 44 */ b lbl_801055B4
lbl_80105574:
/* 80105574 001024D4 80 05 00 00 */ lwz r0, 0(r5)
/* 80105578 001024D8 90 07 00 00 */ stw r0, 0(r7)
/* 8010557C 001024DC 80 85 00 04 */ lwz r4, 4(r5)
/* 80105580 001024E0 80 05 00 08 */ lwz r0, 8(r5)
/* 80105584 001024E4 90 87 00 04 */ stw r4, 4(r7)
/* 80105588 001024E8 90 07 00 08 */ stw r0, 8(r7)
/* 8010558C 001024EC 80 05 00 0C */ lwz r0, 0xc(r5)
/* 80105590 001024F0 90 07 00 0C */ stw r0, 0xc(r7)
/* 80105594 001024F4 C0 05 00 10 */ lfs f0, 0x10(r5)
/* 80105598 001024F8 D0 07 00 10 */ stfs f0, 0x10(r7)
/* 8010559C 001024FC C0 05 00 14 */ lfs f0, 0x14(r5)
/* 801055A0 00102500 D0 07 00 14 */ stfs f0, 0x14(r7)
/* 801055A4 00102504 80 05 00 18 */ lwz r0, 0x18(r5)
/* 801055A8 00102508 38 A5 FF E4 */ addi r5, r5, -28
/* 801055AC 0010250C 90 07 00 18 */ stw r0, 0x18(r7)
/* 801055B0 00102510 38 E7 FF E4 */ addi r7, r7, -28
lbl_801055B4:
/* 801055B4 00102514 7C 03 38 40 */ cmplw r3, r7
/* 801055B8 00102518 40 80 00 10 */ bge lbl_801055C8
/* 801055BC 0010251C C0 05 00 10 */ lfs f0, 0x10(r5)
/* 801055C0 00102520 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801055C4 00102524 41 81 FF B0 */ bgt lbl_80105574
lbl_801055C8:
/* 801055C8 00102528 80 81 00 08 */ lwz r4, 8(r1)
/* 801055CC 0010252C 38 C6 00 1C */ addi r6, r6, 0x1c
/* 801055D0 00102530 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801055D4 00102534 90 87 00 00 */ stw r4, 0(r7)
/* 801055D8 00102538 80 81 00 10 */ lwz r4, 0x10(r1)
/* 801055DC 0010253C 90 07 00 04 */ stw r0, 4(r7)
/* 801055E0 00102540 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801055E4 00102544 90 87 00 08 */ stw r4, 8(r7)
/* 801055E8 00102548 C0 21 00 18 */ lfs f1, 0x18(r1)
/* 801055EC 0010254C 90 07 00 0C */ stw r0, 0xc(r7)
/* 801055F0 00102550 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 801055F4 00102554 D0 27 00 10 */ stfs f1, 0x10(r7)
/* 801055F8 00102558 80 01 00 20 */ lwz r0, 0x20(r1)
/* 801055FC 0010255C D0 07 00 14 */ stfs f0, 0x14(r7)
/* 80105600 00102560 90 07 00 18 */ stw r0, 0x18(r7)
/* 80105604 00102564 42 00 FF 2C */ bdnz lbl_80105530
lbl_80105608:
/* 80105608 00102568 38 21 00 30 */ addi r1, r1, 0x30
/* 8010560C 0010256C 4E 80 00 20 */ blr
.global "__sort3<11SLightValue,Q211SLightValue10CPredicate>__4rstlFR11SLightValueR11SLightValueR11SLightValueQ211SLightValue10CPredicate"
"__sort3<11SLightValue,Q211SLightValue10CPredicate>__4rstlFR11SLightValueR11SLightValueR11SLightValueQ211SLightValue10CPredicate":
/* 80105610 00102570 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80105614 00102574 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 80105618 00102578 C0 83 00 10 */ lfs f4, 0x10(r3)
/* 8010561C 0010257C FC 00 20 40 */ fcmpo cr0, f0, f4
/* 80105620 00102580 40 81 00 0C */ ble lbl_8010562C
/* 80105624 00102584 38 00 00 01 */ li r0, 1
/* 80105628 00102588 48 00 00 08 */ b lbl_80105630
lbl_8010562C:
/* 8010562C 0010258C 38 00 00 00 */ li r0, 0
lbl_80105630:
/* 80105630 00102590 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80105634 00102594 41 82 00 98 */ beq lbl_801056CC
/* 80105638 00102598 81 43 00 00 */ lwz r10, 0(r3)
/* 8010563C 0010259C C0 63 00 04 */ lfs f3, 4(r3)
/* 80105640 001025A0 C0 43 00 08 */ lfs f2, 8(r3)
/* 80105644 001025A4 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80105648 001025A8 C0 23 00 14 */ lfs f1, 0x14(r3)
/* 8010564C 001025AC 81 23 00 18 */ lwz r9, 0x18(r3)
/* 80105650 001025B0 80 04 00 00 */ lwz r0, 0(r4)
/* 80105654 001025B4 D0 61 00 0C */ stfs f3, 0xc(r1)
/* 80105658 001025B8 90 03 00 00 */ stw r0, 0(r3)
/* 8010565C 001025BC 80 E1 00 0C */ lwz r7, 0xc(r1)
/* 80105660 001025C0 80 C4 00 04 */ lwz r6, 4(r4)
/* 80105664 001025C4 80 04 00 08 */ lwz r0, 8(r4)
/* 80105668 001025C8 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 8010566C 001025CC 90 C3 00 04 */ stw r6, 4(r3)
/* 80105670 001025D0 80 C1 00 10 */ lwz r6, 0x10(r1)
/* 80105674 001025D4 90 03 00 08 */ stw r0, 8(r3)
/* 80105678 001025D8 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8010567C 001025DC D0 01 00 14 */ stfs f0, 0x14(r1)
/* 80105680 001025E0 90 03 00 0C */ stw r0, 0xc(r3)
/* 80105684 001025E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80105688 001025E8 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 8010568C 001025EC 91 41 00 08 */ stw r10, 8(r1)
/* 80105690 001025F0 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80105694 001025F4 C0 04 00 14 */ lfs f0, 0x14(r4)
/* 80105698 001025F8 D0 81 00 18 */ stfs f4, 0x18(r1)
/* 8010569C 001025FC D0 03 00 14 */ stfs f0, 0x14(r3)
/* 801056A0 00102600 81 04 00 18 */ lwz r8, 0x18(r4)
/* 801056A4 00102604 D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 801056A8 00102608 91 03 00 18 */ stw r8, 0x18(r3)
/* 801056AC 0010260C 91 44 00 00 */ stw r10, 0(r4)
/* 801056B0 00102610 90 E4 00 04 */ stw r7, 4(r4)
/* 801056B4 00102614 90 C4 00 08 */ stw r6, 8(r4)
/* 801056B8 00102618 90 04 00 0C */ stw r0, 0xc(r4)
/* 801056BC 0010261C D0 84 00 10 */ stfs f4, 0x10(r4)
/* 801056C0 00102620 D0 24 00 14 */ stfs f1, 0x14(r4)
/* 801056C4 00102624 91 21 00 20 */ stw r9, 0x20(r1)
/* 801056C8 00102628 91 24 00 18 */ stw r9, 0x18(r4)
lbl_801056CC:
/* 801056CC 0010262C C0 85 00 10 */ lfs f4, 0x10(r5)
/* 801056D0 00102630 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 801056D4 00102634 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 801056D8 00102638 40 81 00 0C */ ble lbl_801056E4
/* 801056DC 0010263C 38 00 00 01 */ li r0, 1
/* 801056E0 00102640 48 00 00 08 */ b lbl_801056E8
lbl_801056E4:
/* 801056E4 00102644 38 00 00 00 */ li r0, 0
lbl_801056E8:
/* 801056E8 00102648 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 801056EC 0010264C 41 82 01 34 */ beq lbl_80105820
/* 801056F0 00102650 80 C5 00 00 */ lwz r6, 0(r5)
/* 801056F4 00102654 C0 65 00 04 */ lfs f3, 4(r5)
/* 801056F8 00102658 C0 05 00 08 */ lfs f0, 8(r5)
/* 801056FC 0010265C C0 45 00 0C */ lfs f2, 0xc(r5)
/* 80105700 00102660 C0 25 00 14 */ lfs f1, 0x14(r5)
/* 80105704 00102664 80 E5 00 18 */ lwz r7, 0x18(r5)
/* 80105708 00102668 80 04 00 00 */ lwz r0, 0(r4)
/* 8010570C 0010266C 90 C1 00 24 */ stw r6, 0x24(r1)
/* 80105710 00102670 90 05 00 00 */ stw r0, 0(r5)
/* 80105714 00102674 80 C4 00 04 */ lwz r6, 4(r4)
/* 80105718 00102678 80 04 00 08 */ lwz r0, 8(r4)
/* 8010571C 0010267C D0 61 00 28 */ stfs f3, 0x28(r1)
/* 80105720 00102680 90 C5 00 04 */ stw r6, 4(r5)
/* 80105724 00102684 90 05 00 08 */ stw r0, 8(r5)
/* 80105728 00102688 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8010572C 0010268C D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 80105730 00102690 90 05 00 0C */ stw r0, 0xc(r5)
/* 80105734 00102694 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 80105738 00102698 D0 41 00 30 */ stfs f2, 0x30(r1)
/* 8010573C 0010269C D0 05 00 10 */ stfs f0, 0x10(r5)
/* 80105740 001026A0 C0 04 00 14 */ lfs f0, 0x14(r4)
/* 80105744 001026A4 D0 81 00 34 */ stfs f4, 0x34(r1)
/* 80105748 001026A8 D0 05 00 14 */ stfs f0, 0x14(r5)
/* 8010574C 001026AC 80 04 00 18 */ lwz r0, 0x18(r4)
/* 80105750 001026B0 D0 21 00 38 */ stfs f1, 0x38(r1)
/* 80105754 001026B4 90 05 00 18 */ stw r0, 0x18(r5)
/* 80105758 001026B8 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 8010575C 001026BC 90 E1 00 3C */ stw r7, 0x3c(r1)
/* 80105760 001026C0 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 80105764 001026C4 40 81 00 0C */ ble lbl_80105770
/* 80105768 001026C8 38 00 00 01 */ li r0, 1
/* 8010576C 001026CC 48 00 00 08 */ b lbl_80105774
lbl_80105770:
/* 80105770 001026D0 38 00 00 00 */ li r0, 0
lbl_80105774:
/* 80105774 001026D4 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80105778 001026D8 41 82 00 74 */ beq lbl_801057EC
/* 8010577C 001026DC 80 03 00 00 */ lwz r0, 0(r3)
/* 80105780 001026E0 81 01 00 24 */ lwz r8, 0x24(r1)
/* 80105784 001026E4 90 04 00 00 */ stw r0, 0(r4)
/* 80105788 001026E8 80 E1 00 28 */ lwz r7, 0x28(r1)
/* 8010578C 001026EC 80 A3 00 04 */ lwz r5, 4(r3)
/* 80105790 001026F0 80 03 00 08 */ lwz r0, 8(r3)
/* 80105794 001026F4 80 C1 00 2C */ lwz r6, 0x2c(r1)
/* 80105798 001026F8 90 A4 00 04 */ stw r5, 4(r4)
/* 8010579C 001026FC 80 A1 00 30 */ lwz r5, 0x30(r1)
/* 801057A0 00102700 90 04 00 08 */ stw r0, 8(r4)
/* 801057A4 00102704 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 801057A8 00102708 81 23 00 0C */ lwz r9, 0xc(r3)
/* 801057AC 0010270C 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 801057B0 00102710 91 24 00 0C */ stw r9, 0xc(r4)
/* 801057B4 00102714 C0 23 00 10 */ lfs f1, 0x10(r3)
/* 801057B8 00102718 D0 24 00 10 */ stfs f1, 0x10(r4)
/* 801057BC 0010271C C0 23 00 14 */ lfs f1, 0x14(r3)
/* 801057C0 00102720 D0 24 00 14 */ stfs f1, 0x14(r4)
/* 801057C4 00102724 81 23 00 18 */ lwz r9, 0x18(r3)
/* 801057C8 00102728 91 24 00 18 */ stw r9, 0x18(r4)
/* 801057CC 0010272C 91 03 00 00 */ stw r8, 0(r3)
/* 801057D0 00102730 90 E3 00 04 */ stw r7, 4(r3)
/* 801057D4 00102734 90 C3 00 08 */ stw r6, 8(r3)
/* 801057D8 00102738 90 A3 00 0C */ stw r5, 0xc(r3)
/* 801057DC 0010273C D0 83 00 10 */ stfs f4, 0x10(r3)
/* 801057E0 00102740 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 801057E4 00102744 90 03 00 18 */ stw r0, 0x18(r3)
/* 801057E8 00102748 48 00 00 38 */ b lbl_80105820
lbl_801057EC:
/* 801057EC 0010274C 80 61 00 24 */ lwz r3, 0x24(r1)
/* 801057F0 00102750 80 01 00 28 */ lwz r0, 0x28(r1)
/* 801057F4 00102754 90 64 00 00 */ stw r3, 0(r4)
/* 801057F8 00102758 80 61 00 2C */ lwz r3, 0x2c(r1)
/* 801057FC 0010275C 90 04 00 04 */ stw r0, 4(r4)
/* 80105800 00102760 80 01 00 30 */ lwz r0, 0x30(r1)
/* 80105804 00102764 90 64 00 08 */ stw r3, 8(r4)
/* 80105808 00102768 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 8010580C 0010276C 90 04 00 0C */ stw r0, 0xc(r4)
/* 80105810 00102770 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 80105814 00102774 D0 84 00 10 */ stfs f4, 0x10(r4)
/* 80105818 00102778 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 8010581C 0010277C 90 04 00 18 */ stw r0, 0x18(r4)
lbl_80105820:
/* 80105820 00102780 38 21 00 40 */ addi r1, r1, 0x40
/* 80105824 00102784 4E 80 00 20 */ blr
.section .rodata
.balign 8
.global lbl_803CEE40
lbl_803CEE40:
# ROM: 0x3CBE40
.float -1.0
.float -1.0
.float -1.0
.float -1.0