prime/asm/MetroidPrime/CWorldShadow.s

909 lines
48 KiB
ArmAsm

.include "macros.inc"
.section .sbss
# CWorldShadow
.global lbl_805A8F18
lbl_805A8F18:
.skip 0x4
.global lbl_805A8F1C
lbl_805A8F1C:
.skip 0x4
.global lbl_805A8F20
lbl_805A8F20:
.skip 0x4
.global lbl_805A8F24
lbl_805A8F24:
.skip 0x4
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global ResetBlur__12CWorldShadowFv
ResetBlur__12CWorldShadowFv:
/* 80110F8C 0010DEEC 38 00 00 01 */ li r0, 1
/* 80110F90 0010DEF0 98 03 00 88 */ stb r0, 0x88(r3)
/* 80110F94 0010DEF4 4E 80 00 20 */ blr
.global DisableModelProjectedShadow__12CWorldShadowCFv
DisableModelProjectedShadow__12CWorldShadowCFv:
/* 80110F98 0010DEF8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80110F9C 0010DEFC 7C 08 02 A6 */ mflr r0
/* 80110FA0 0010DF00 90 01 00 14 */ stw r0, 0x14(r1)
/* 80110FA4 0010DF04 48 23 47 E1 */ bl DisableShadowMaps__10CCubeModelFv
/* 80110FA8 0010DF08 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80110FAC 0010DF0C 7C 08 03 A6 */ mtlr r0
/* 80110FB0 0010DF10 38 21 00 10 */ addi r1, r1, 0x10
/* 80110FB4 0010DF14 4E 80 00 20 */ blr
.global EnableModelProjectedShadow__12CWorldShadowCFRC12CTransform4fUif
EnableModelProjectedShadow__12CWorldShadowCFRC12CTransform4fUif:
/* 80110FB8 0010DF18 94 21 FD E0 */ stwu r1, -0x220(r1)
/* 80110FBC 0010DF1C 7C 08 02 A6 */ mflr r0
/* 80110FC0 0010DF20 90 01 02 24 */ stw r0, 0x224(r1)
/* 80110FC4 0010DF24 DB E1 02 10 */ stfd f31, 0x210(r1)
/* 80110FC8 0010DF28 F3 E1 02 18 */ psq_st f31, 536(r1), 0, qr0
/* 80110FCC 0010DF2C 93 E1 02 0C */ stw r31, 0x20c(r1)
/* 80110FD0 0010DF30 93 C1 02 08 */ stw r30, 0x208(r1)
/* 80110FD4 0010DF34 93 A1 02 04 */ stw r29, 0x204(r1)
/* 80110FD8 0010DF38 88 0D A3 64 */ lbz r0, lbl_805A8F24@sda21(r13)
/* 80110FDC 0010DF3C FF E0 08 90 */ fmr f31, f1
/* 80110FE0 0010DF40 7C 7D 1B 78 */ mr r29, r3
/* 80110FE4 0010DF44 7C 9E 23 78 */ mr r30, r4
/* 80110FE8 0010DF48 7C 00 07 75 */ extsb. r0, r0
/* 80110FEC 0010DF4C 7C BF 2B 78 */ mr r31, r5
/* 80110FF0 0010DF50 40 82 00 68 */ bne lbl_80111058
/* 80110FF4 0010DF54 C8 82 95 70 */ lfd f4, lbl_805AB290@sda21(r2)
/* 80110FF8 0010DF58 38 00 00 01 */ li r0, 1
/* 80110FFC 0010DF5C C8 62 95 78 */ lfd f3, lbl_805AB298@sda21(r2)
/* 80111000 0010DF60 FC 20 20 34 */ frsqrte f1, f4
/* 80111004 0010DF64 C8 42 95 80 */ lfd f2, lbl_805AB2A0@sda21(r2)
/* 80111008 0010DF68 98 0D A3 64 */ stb r0, lbl_805A8F24@sda21(r13)
/* 8011100C 0010DF6C FC 01 00 72 */ fmul f0, f1, f1
/* 80111010 0010DF70 FC 23 00 72 */ fmul f1, f3, f1
/* 80111014 0010DF74 FC 04 10 3C */ fnmsub f0, f4, f0, f2
/* 80111018 0010DF78 FC 21 00 32 */ fmul f1, f1, f0
/* 8011101C 0010DF7C FC 01 00 72 */ fmul f0, f1, f1
/* 80111020 0010DF80 FC 23 00 72 */ fmul f1, f3, f1
/* 80111024 0010DF84 FC 04 10 3C */ fnmsub f0, f4, f0, f2
/* 80111028 0010DF88 FC 21 00 32 */ fmul f1, f1, f0
/* 8011102C 0010DF8C FC 01 00 72 */ fmul f0, f1, f1
/* 80111030 0010DF90 FC 23 00 72 */ fmul f1, f3, f1
/* 80111034 0010DF94 FC 04 10 3C */ fnmsub f0, f4, f0, f2
/* 80111038 0010DF98 FC 21 00 32 */ fmul f1, f1, f0
/* 8011103C 0010DF9C FC 01 00 72 */ fmul f0, f1, f1
/* 80111040 0010DFA0 FC 23 00 72 */ fmul f1, f3, f1
/* 80111044 0010DFA4 FC 04 10 3C */ fnmsub f0, f4, f0, f2
/* 80111048 0010DFA8 FC 01 00 32 */ fmul f0, f1, f0
/* 8011104C 0010DFAC FC 04 00 32 */ fmul f0, f4, f0
/* 80111050 0010DFB0 FC 00 00 18 */ frsp f0, f0
/* 80111054 0010DFB4 D0 0D A3 60 */ stfs f0, lbl_805A8F20@sda21(r13)
lbl_80111058:
/* 80111058 0010DFB8 C0 5D 00 78 */ lfs f2, 0x78(r29)
/* 8011105C 0010DFBC 3C 60 80 5A */ lis r3, skZero3f@ha
/* 80111060 0010DFC0 C0 1D 00 6C */ lfs f0, 0x6c(r29)
/* 80111064 0010DFC4 38 83 66 A0 */ addi r4, r3, skZero3f@l
/* 80111068 0010DFC8 C0 3D 00 7C */ lfs f1, 0x7c(r29)
/* 8011106C 0010DFCC 38 61 01 70 */ addi r3, r1, 0x170
/* 80111070 0010DFD0 EC A2 00 28 */ fsubs f5, f2, f0
/* 80111074 0010DFD4 C0 1D 00 70 */ lfs f0, 0x70(r29)
/* 80111078 0010DFD8 C0 62 95 88 */ lfs f3, lbl_805AB2A8@sda21(r2)
/* 8011107C 0010DFDC 38 A1 00 14 */ addi r5, r1, 0x14
/* 80111080 0010DFE0 EC 81 00 28 */ fsubs f4, f1, f0
/* 80111084 0010DFE4 C0 3D 00 74 */ lfs f1, 0x74(r29)
/* 80111088 0010DFE8 C0 1D 00 68 */ lfs f0, 0x68(r29)
/* 8011108C 0010DFEC 38 C1 00 08 */ addi r6, r1, 8
/* 80111090 0010DFF0 C0 42 95 8C */ lfs f2, lbl_805AB2AC@sda21(r2)
/* 80111094 0010DFF4 EC 01 00 28 */ fsubs f0, f1, f0
/* 80111098 0010DFF8 D0 61 00 08 */ stfs f3, 8(r1)
/* 8011109C 0010DFFC D0 61 00 0C */ stfs f3, 0xc(r1)
/* 801110A0 0010E000 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 801110A4 0010E004 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 801110A8 0010E008 D0 A1 00 18 */ stfs f5, 0x18(r1)
/* 801110AC 0010E00C D0 81 00 1C */ stfs f4, 0x1c(r1)
/* 801110B0 0010E010 48 20 2A 61 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f
/* 801110B4 0010E014 38 61 01 D0 */ addi r3, r1, 0x1d0
/* 801110B8 0010E018 38 81 01 70 */ addi r4, r1, 0x170
/* 801110BC 0010E01C 48 20 1A B9 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 801110C0 0010E020 7F C4 F3 78 */ mr r4, r30
/* 801110C4 0010E024 38 61 01 A0 */ addi r3, r1, 0x1a0
/* 801110C8 0010E028 48 20 1A AD */ bl __ct__12CTransform4fFRC12CTransform4f
/* 801110CC 0010E02C 3C 80 80 5A */ lis r4, skZero3f@ha
/* 801110D0 0010E030 38 61 01 10 */ addi r3, r1, 0x110
/* 801110D4 0010E034 38 A4 66 A0 */ addi r5, r4, skZero3f@l
/* 801110D8 0010E038 38 81 01 A0 */ addi r4, r1, 0x1a0
/* 801110DC 0010E03C C0 45 00 00 */ lfs f2, 0(r5)
/* 801110E0 0010E040 C0 25 00 04 */ lfs f1, 4(r5)
/* 801110E4 0010E044 C0 05 00 08 */ lfs f0, 8(r5)
/* 801110E8 0010E048 D0 41 01 AC */ stfs f2, 0x1ac(r1)
/* 801110EC 0010E04C D0 21 01 BC */ stfs f1, 0x1bc(r1)
/* 801110F0 0010E050 D0 01 01 CC */ stfs f0, 0x1cc(r1)
/* 801110F4 0010E054 48 20 15 ED */ bl GetInverse__12CTransform4fCFv
/* 801110F8 0010E058 38 61 01 40 */ addi r3, r1, 0x140
/* 801110FC 0010E05C 38 81 01 10 */ addi r4, r1, 0x110
/* 80111100 0010E060 38 A1 01 D0 */ addi r5, r1, 0x1d0
/* 80111104 0010E064 48 20 18 4D */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 80111108 0010E068 38 61 01 D0 */ addi r3, r1, 0x1d0
/* 8011110C 0010E06C 38 81 01 40 */ addi r4, r1, 0x140
/* 80111110 0010E070 48 20 1A 31 */ bl __as__12CTransform4fFRC12CTransform4f
/* 80111114 0010E074 C0 2D A3 60 */ lfs f1, lbl_805A8F20@sda21(r13)
/* 80111118 0010E078 38 61 00 E0 */ addi r3, r1, 0xe0
/* 8011111C 0010E07C C0 1D 00 64 */ lfs f0, 0x64(r29)
/* 80111120 0010E080 EC 01 00 32 */ fmuls f0, f1, f0
/* 80111124 0010E084 EC 3F 00 32 */ fmuls f1, f31, f0
/* 80111128 0010E088 48 20 21 19 */ bl Scale__12CTransform4fFf
/* 8011112C 0010E08C 38 61 00 20 */ addi r3, r1, 0x20
/* 80111130 0010E090 38 81 01 D0 */ addi r4, r1, 0x1d0
/* 80111134 0010E094 38 A1 00 E0 */ addi r5, r1, 0xe0
/* 80111138 0010E098 48 20 18 19 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 8011113C 0010E09C 38 61 01 D0 */ addi r3, r1, 0x1d0
/* 80111140 0010E0A0 38 81 00 20 */ addi r4, r1, 0x20
/* 80111144 0010E0A4 48 20 19 FD */ bl __as__12CTransform4fFRC12CTransform4f
/* 80111148 0010E0A8 38 61 00 B0 */ addi r3, r1, 0xb0
/* 8011114C 0010E0AC 38 81 01 D0 */ addi r4, r1, 0x1d0
/* 80111150 0010E0B0 48 20 15 91 */ bl GetInverse__12CTransform4fCFv
/* 80111154 0010E0B4 38 61 01 D0 */ addi r3, r1, 0x1d0
/* 80111158 0010E0B8 38 81 00 B0 */ addi r4, r1, 0xb0
/* 8011115C 0010E0BC 48 20 19 E5 */ bl __as__12CTransform4fFRC12CTransform4f
/* 80111160 0010E0C0 C0 22 95 90 */ lfs f1, lbl_805AB2B0@sda21(r2)
/* 80111164 0010E0C4 38 61 00 50 */ addi r3, r1, 0x50
/* 80111168 0010E0C8 C0 42 95 88 */ lfs f2, lbl_805AB2A8@sda21(r2)
/* 8011116C 0010E0CC FC 60 08 90 */ fmr f3, f1
/* 80111170 0010E0D0 48 20 20 19 */ bl Translate__12CTransform4fFfff
/* 80111174 0010E0D4 38 61 00 80 */ addi r3, r1, 0x80
/* 80111178 0010E0D8 38 81 00 50 */ addi r4, r1, 0x50
/* 8011117C 0010E0DC 38 A1 01 D0 */ addi r5, r1, 0x1d0
/* 80111180 0010E0E0 48 20 17 D1 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 80111184 0010E0E4 38 61 01 D0 */ addi r3, r1, 0x1d0
/* 80111188 0010E0E8 38 81 00 80 */ addi r4, r1, 0x80
/* 8011118C 0010E0EC 48 20 19 B5 */ bl __as__12CTransform4fFRC12CTransform4f
/* 80111190 0010E0F0 38 00 00 01 */ li r0, 1
/* 80111194 0010E0F4 80 7D 00 00 */ lwz r3, 0(r29)
/* 80111198 0010E0F8 7C 00 F8 30 */ slw r0, r0, r31
/* 8011119C 0010E0FC 38 81 01 D0 */ addi r4, r1, 0x1d0
/* 801111A0 0010E100 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 801111A4 0010E104 7C A6 2B 78 */ mr r6, r5
/* 801111A8 0010E108 48 23 45 E9 */ bl EnableShadowMaps__10CCubeModelFPC8CTextureRC12CTransform4fUcUc
/* 801111AC 0010E10C E3 E1 02 18 */ psq_l f31, 536(r1), 0, qr0
/* 801111B0 0010E110 80 01 02 24 */ lwz r0, 0x224(r1)
/* 801111B4 0010E114 CB E1 02 10 */ lfd f31, 0x210(r1)
/* 801111B8 0010E118 83 E1 02 0C */ lwz r31, 0x20c(r1)
/* 801111BC 0010E11C 83 C1 02 08 */ lwz r30, 0x208(r1)
/* 801111C0 0010E120 83 A1 02 04 */ lwz r29, 0x204(r1)
/* 801111C4 0010E124 7C 08 03 A6 */ mtlr r0
/* 801111C8 0010E128 38 21 02 20 */ addi r1, r1, 0x220
/* 801111CC 0010E12C 4E 80 00 20 */ blr
.global BuildLightShadowTexture__12CWorldShadowFRC13CStateManager7TAreaIdUiRC6CAABoxbb
BuildLightShadowTexture__12CWorldShadowFRC13CStateManager7TAreaIdUiRC6CAABoxbb:
/* 801111D0 0010E130 94 21 FD B0 */ stwu r1, -0x250(r1)
/* 801111D4 0010E134 7C 08 02 A6 */ mflr r0
/* 801111D8 0010E138 90 01 02 54 */ stw r0, 0x254(r1)
/* 801111DC 0010E13C DB E1 02 40 */ stfd f31, 0x240(r1)
/* 801111E0 0010E140 F3 E1 02 48 */ psq_st f31, 584(r1), 0, qr0
/* 801111E4 0010E144 DB C1 02 30 */ stfd f30, 0x230(r1)
/* 801111E8 0010E148 F3 C1 02 38 */ psq_st f30, 568(r1), 0, qr0
/* 801111EC 0010E14C DB A1 02 20 */ stfd f29, 0x220(r1)
/* 801111F0 0010E150 F3 A1 02 28 */ psq_st f29, 552(r1), 0, qr0
/* 801111F4 0010E154 DB 81 02 10 */ stfd f28, 0x210(r1)
/* 801111F8 0010E158 F3 81 02 18 */ psq_st f28, 536(r1), 0, qr0
/* 801111FC 0010E15C BE E1 01 EC */ stmw r23, 0x1ec(r1)
/* 80111200 0010E160 7C 7F 1B 78 */ mr r31, r3
/* 80111204 0010E164 7C B7 2B 78 */ mr r23, r5
/* 80111208 0010E168 80 63 00 80 */ lwz r3, 0x80(r3)
/* 8011120C 0010E16C 7C DB 33 78 */ mr r27, r6
/* 80111210 0010E170 80 05 00 00 */ lwz r0, 0(r5)
/* 80111214 0010E174 7C FA 3B 78 */ mr r26, r7
/* 80111218 0010E178 7D 18 43 78 */ mr r24, r8
/* 8011121C 0010E17C 7D 39 4B 78 */ mr r25, r9
/* 80111220 0010E180 7C 03 00 00 */ cmpw r3, r0
/* 80111224 0010E184 40 82 00 10 */ bne lbl_80111234
/* 80111228 0010E188 80 1F 00 84 */ lwz r0, 0x84(r31)
/* 8011122C 0010E18C 7C 00 D8 40 */ cmplw r0, r27
/* 80111230 0010E190 41 82 00 18 */ beq lbl_80111248
lbl_80111234:
/* 80111234 0010E194 38 00 00 01 */ li r0, 1
/* 80111238 0010E198 98 1F 00 88 */ stb r0, 0x88(r31)
/* 8011123C 0010E19C 80 17 00 00 */ lwz r0, 0(r23)
/* 80111240 0010E1A0 90 1F 00 80 */ stw r0, 0x80(r31)
/* 80111244 0010E1A4 93 7F 00 84 */ stw r27, 0x84(r31)
lbl_80111248:
/* 80111248 0010E1A8 80 77 00 00 */ lwz r3, 0(r23)
/* 8011124C 0010E1AC 80 0D A3 90 */ lwz r0, kInvalidAreaId@sda21(r13)
/* 80111250 0010E1B0 7C 03 00 00 */ cmpw r3, r0
/* 80111254 0010E1B4 41 82 08 CC */ beq lbl_80111B20
/* 80111258 0010E1B8 80 17 00 00 */ lwz r0, 0(r23)
/* 8011125C 0010E1BC 80 84 08 50 */ lwz r4, 0x850(r4)
/* 80111260 0010E1C0 54 03 18 38 */ slwi r3, r0, 3
/* 80111264 0010E1C4 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80111268 0010E1C8 80 84 00 20 */ lwz r4, 0x20(r4)
/* 8011126C 0010E1CC 38 03 00 04 */ addi r0, r3, 4
/* 80111270 0010E1D0 7F 84 00 2E */ lwzx r28, r4, r0
/* 80111274 0010E1D4 88 1C 00 F0 */ lbz r0, 0xf0(r28)
/* 80111278 0010E1D8 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8011127C 0010E1DC 41 82 08 A4 */ beq lbl_80111B20
/* 80111280 0010E1E0 80 7C 01 2C */ lwz r3, 0x12c(r28)
/* 80111284 0010E1E4 1C 1B 00 44 */ mulli r0, r27, 0x44
/* 80111288 0010E1E8 7F 44 D3 78 */ mr r4, r26
/* 8011128C 0010E1EC 80 A3 00 6C */ lwz r5, 0x6c(r3)
/* 80111290 0010E1F0 38 61 00 B4 */ addi r3, r1, 0xb4
/* 80111294 0010E1F4 7F C5 02 14 */ add r30, r5, r0
/* 80111298 0010E1F8 48 22 63 75 */ bl GetCenterPoint__6CAABoxCFv
/* 8011129C 0010E1FC C0 41 00 B4 */ lfs f2, 0xb4(r1)
/* 801112A0 0010E200 C0 21 00 B8 */ lfs f1, 0xb8(r1)
/* 801112A4 0010E204 C0 01 00 BC */ lfs f0, 0xbc(r1)
/* 801112A8 0010E208 D0 41 00 CC */ stfs f2, 0xcc(r1)
/* 801112AC 0010E20C D0 21 00 D0 */ stfs f1, 0xd0(r1)
/* 801112B0 0010E210 D0 01 00 D4 */ stfs f0, 0xd4(r1)
/* 801112B4 0010E214 80 7C 01 2C */ lwz r3, 0x12c(r28)
/* 801112B8 0010E218 80 83 00 A0 */ lwz r4, 0xa0(r3)
/* 801112BC 0010E21C 28 04 00 00 */ cmplwi r4, 0
/* 801112C0 0010E220 41 82 00 A8 */ beq lbl_80111368
/* 801112C4 0010E224 80 02 85 40 */ lwz r0, lbl_805AA260@sda21(r2)
/* 801112C8 0010E228 2C 00 00 01 */ cmpwi r0, 1
/* 801112CC 0010E22C 40 82 00 9C */ bne lbl_80111368
/* 801112D0 0010E230 80 04 00 08 */ lwz r0, 8(r4)
/* 801112D4 0010E234 38 61 00 EC */ addi r3, r1, 0xec
/* 801112D8 0010E238 7C BB 02 14 */ add r5, r27, r0
/* 801112DC 0010E23C 48 19 D1 19 */ bl GetLightSet__11CPVSAreaSetCFi
/* 801112E0 0010E240 34 01 00 F8 */ addic. r0, r1, 0xf8
/* 801112E4 0010E244 80 E1 00 EC */ lwz r7, 0xec(r1)
/* 801112E8 0010E248 80 C1 00 F0 */ lwz r6, 0xf0(r1)
/* 801112EC 0010E24C 38 00 00 00 */ li r0, 0
/* 801112F0 0010E250 88 81 00 F8 */ lbz r4, 0xf8(r1)
/* 801112F4 0010E254 3B 61 01 0C */ addi r27, r1, 0x10c
/* 801112F8 0010E258 80 A1 00 F4 */ lwz r5, 0xf4(r1)
/* 801112FC 0010E25C 80 61 00 FC */ lwz r3, 0xfc(r1)
/* 80111300 0010E260 90 E1 01 00 */ stw r7, 0x100(r1)
/* 80111304 0010E264 90 C1 01 04 */ stw r6, 0x104(r1)
/* 80111308 0010E268 90 A1 01 08 */ stw r5, 0x108(r1)
/* 8011130C 0010E26C 98 81 01 0C */ stb r4, 0x10c(r1)
/* 80111310 0010E270 90 61 01 10 */ stw r3, 0x110(r1)
/* 80111314 0010E274 98 01 00 F8 */ stb r0, 0xf8(r1)
/* 80111318 0010E278 41 82 00 14 */ beq lbl_8011132C
/* 8011131C 0010E27C 28 00 00 00 */ cmplwi r0, 0
/* 80111320 0010E280 41 82 00 0C */ beq lbl_8011132C
/* 80111324 0010E284 80 61 00 FC */ lwz r3, 0xfc(r1)
/* 80111328 0010E288 48 20 46 09 */ bl Free__7CMemoryFPCv
lbl_8011132C:
/* 8011132C 0010E28C 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80111330 0010E290 38 81 01 00 */ addi r4, r1, 0x100
/* 80111334 0010E294 80 B7 00 00 */ lwz r5, 0(r23)
/* 80111338 0010E298 81 83 00 00 */ lwz r12, 0(r3)
/* 8011133C 0010E29C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80111340 0010E2A0 7D 89 03 A6 */ mtctr r12
/* 80111344 0010E2A4 4E 80 04 21 */ bctrl
/* 80111348 0010E2A8 28 1B 00 00 */ cmplwi r27, 0
/* 8011134C 0010E2AC 41 82 00 60 */ beq lbl_801113AC
/* 80111350 0010E2B0 88 01 01 0C */ lbz r0, 0x10c(r1)
/* 80111354 0010E2B4 28 00 00 00 */ cmplwi r0, 0
/* 80111358 0010E2B8 41 82 00 54 */ beq lbl_801113AC
/* 8011135C 0010E2BC 80 61 01 10 */ lwz r3, 0x110(r1)
/* 80111360 0010E2C0 48 20 45 D1 */ bl Free__7CMemoryFPCv
/* 80111364 0010E2C4 48 00 00 48 */ b lbl_801113AC
lbl_80111368:
/* 80111368 0010E2C8 38 61 00 D8 */ addi r3, r1, 0xd8
/* 8011136C 0010E2CC 38 80 00 02 */ li r4, 2
/* 80111370 0010E2D0 48 20 50 11 */ bl Reset__10CPVSVisSetFi
/* 80111374 0010E2D4 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80111378 0010E2D8 38 81 00 D8 */ addi r4, r1, 0xd8
/* 8011137C 0010E2DC 80 B7 00 00 */ lwz r5, 0(r23)
/* 80111380 0010E2E0 81 83 00 00 */ lwz r12, 0(r3)
/* 80111384 0010E2E4 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80111388 0010E2E8 7D 89 03 A6 */ mtctr r12
/* 8011138C 0010E2EC 4E 80 04 21 */ bctrl
/* 80111390 0010E2F0 34 61 00 E4 */ addic. r3, r1, 0xe4
/* 80111394 0010E2F4 41 82 00 18 */ beq lbl_801113AC
/* 80111398 0010E2F8 88 03 00 00 */ lbz r0, 0(r3)
/* 8011139C 0010E2FC 28 00 00 00 */ cmplwi r0, 0
/* 801113A0 0010E300 41 82 00 0C */ beq lbl_801113AC
/* 801113A4 0010E304 80 61 00 E8 */ lwz r3, 0xe8(r1)
/* 801113A8 0010E308 48 20 45 89 */ bl Free__7CMemoryFPCv
lbl_801113AC:
/* 801113AC 0010E30C C0 41 00 CC */ lfs f2, 0xcc(r1)
/* 801113B0 0010E310 38 61 00 A8 */ addi r3, r1, 0xa8
/* 801113B4 0010E314 C0 3E 00 10 */ lfs f1, 0x10(r30)
/* 801113B8 0010E318 C0 1A 00 0C */ lfs f0, 0xc(r26)
/* 801113BC 0010E31C C0 C1 00 D0 */ lfs f6, 0xd0(r1)
/* 801113C0 0010E320 EC A2 08 28 */ fsubs f5, f2, f1
/* 801113C4 0010E324 C0 3E 00 14 */ lfs f1, 0x14(r30)
/* 801113C8 0010E328 EC 00 10 28 */ fsubs f0, f0, f2
/* 801113CC 0010E32C C0 7E 00 18 */ lfs f3, 0x18(r30)
/* 801113D0 0010E330 C0 E1 00 D4 */ lfs f7, 0xd4(r1)
/* 801113D4 0010E334 EC 86 08 28 */ fsubs f4, f6, f1
/* 801113D8 0010E338 C0 5A 00 10 */ lfs f2, 0x10(r26)
/* 801113DC 0010E33C C0 3A 00 14 */ lfs f1, 0x14(r26)
/* 801113E0 0010E340 EC 67 18 28 */ fsubs f3, f7, f3
/* 801113E4 0010E344 EC 42 30 28 */ fsubs f2, f2, f6
/* 801113E8 0010E348 D0 A1 00 C0 */ stfs f5, 0xc0(r1)
/* 801113EC 0010E34C EC 21 38 28 */ fsubs f1, f1, f7
/* 801113F0 0010E350 D0 81 00 C4 */ stfs f4, 0xc4(r1)
/* 801113F4 0010E354 D0 61 00 C8 */ stfs f3, 0xc8(r1)
/* 801113F8 0010E358 D0 01 00 A8 */ stfs f0, 0xa8(r1)
/* 801113FC 0010E35C D0 41 00 AC */ stfs f2, 0xac(r1)
/* 80111400 0010E360 D0 21 00 B0 */ stfs f1, 0xb0(r1)
/* 80111404 0010E364 48 20 34 B5 */ bl Magnitude__9CVector3fCFv
/* 80111408 0010E368 D0 3F 00 64 */ stfs f1, 0x64(r31)
/* 8011140C 0010E36C 38 61 00 C0 */ addi r3, r1, 0xc0
/* 80111410 0010E370 48 20 34 A9 */ bl Magnitude__9CVector3fCFv
/* 80111414 0010E374 FC 00 08 90 */ fmr f0, f1
/* 80111418 0010E378 C0 3F 00 64 */ lfs f1, 0x64(r31)
/* 8011141C 0010E37C FF A0 00 90 */ fmr f29, f0
/* 80111420 0010E380 FC 40 E8 90 */ fmr f2, f29
/* 80111424 0010E384 48 28 38 49 */ bl atan2
/* 80111428 0010E388 FC 20 08 18 */ frsp f1, f1
/* 8011142C 0010E38C C0 42 95 98 */ lfs f2, lbl_805AB2B8@sda21(r2)
/* 80111430 0010E390 C0 62 95 94 */ lfs f3, lbl_805AB2B4@sda21(r2)
/* 80111434 0010E394 C0 02 95 9C */ lfs f0, lbl_805AB2BC@sda21(r2)
/* 80111438 0010E398 EC 22 00 72 */ fmuls f1, f2, f1
/* 8011143C 0010E39C EF C3 00 72 */ fmuls f30, f3, f1
/* 80111440 0010E3A0 FC 1E 00 40 */ fcmpo cr0, f30, f0
/* 80111444 0010E3A4 41 80 06 DC */ blt lbl_80111B20
/* 80111448 0010E3A8 38 61 00 C0 */ addi r3, r1, 0xc0
/* 8011144C 0010E3AC 48 20 34 AD */ bl Normalize__9CVector3fFv
/* 80111450 0010E3B0 C0 22 95 88 */ lfs f1, lbl_805AB2A8@sda21(r2)
/* 80111454 0010E3B4 38 61 01 44 */ addi r3, r1, 0x144
/* 80111458 0010E3B8 C0 02 95 A0 */ lfs f0, lbl_805AB2C0@sda21(r2)
/* 8011145C 0010E3BC 38 9E 00 10 */ addi r4, r30, 0x10
/* 80111460 0010E3C0 D0 21 00 9C */ stfs f1, 0x9c(r1)
/* 80111464 0010E3C4 38 A1 00 CC */ addi r5, r1, 0xcc
/* 80111468 0010E3C8 38 C1 00 9C */ addi r6, r1, 0x9c
/* 8011146C 0010E3CC D0 21 00 A0 */ stfs f1, 0xa0(r1)
/* 80111470 0010E3D0 D0 01 00 A4 */ stfs f0, 0xa4(r1)
/* 80111474 0010E3D4 48 20 26 9D */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f
/* 80111478 0010E3D8 38 7F 00 04 */ addi r3, r31, 4
/* 8011147C 0010E3DC 38 81 01 44 */ addi r4, r1, 0x144
/* 80111480 0010E3E0 48 20 16 C1 */ bl __as__12CTransform4fFRC12CTransform4f
/* 80111484 0010E3E4 C0 01 00 CC */ lfs f0, 0xcc(r1)
/* 80111488 0010E3E8 38 7F 00 04 */ addi r3, r31, 4
/* 8011148C 0010E3EC D0 1F 00 68 */ stfs f0, 0x68(r31)
/* 80111490 0010E3F0 C0 01 00 D0 */ lfs f0, 0xd0(r1)
/* 80111494 0010E3F4 D0 1F 00 6C */ stfs f0, 0x6c(r31)
/* 80111498 0010E3F8 C0 01 00 D4 */ lfs f0, 0xd4(r1)
/* 8011149C 0010E3FC D0 1F 00 70 */ stfs f0, 0x70(r31)
/* 801114A0 0010E400 C0 1E 00 10 */ lfs f0, 0x10(r30)
/* 801114A4 0010E404 D0 1F 00 74 */ stfs f0, 0x74(r31)
/* 801114A8 0010E408 C0 1E 00 14 */ lfs f0, 0x14(r30)
/* 801114AC 0010E40C D0 1F 00 78 */ stfs f0, 0x78(r31)
/* 801114B0 0010E410 C0 1E 00 18 */ lfs f0, 0x18(r30)
/* 801114B4 0010E414 D0 1F 00 7C */ stfs f0, 0x7c(r31)
/* 801114B8 0010E418 48 1F B2 95 */ bl SetViewPointMatrix__9CGraphicsFRC12CTransform4f
/* 801114BC 0010E41C C0 22 95 A4 */ lfs f1, lbl_805AB2C4@sda21(r2)
/* 801114C0 0010E420 38 61 01 74 */ addi r3, r1, 0x174
/* 801114C4 0010E424 C0 1F 00 64 */ lfs f0, 0x64(r31)
/* 801114C8 0010E428 38 9F 00 04 */ addi r4, r31, 4
/* 801114CC 0010E42C EC 21 07 B2 */ fmuls f1, f1, f30
/* 801114D0 0010E430 C0 42 95 8C */ lfs f2, lbl_805AB2AC@sda21(r2)
/* 801114D4 0010E434 EC 9D 00 2A */ fadds f4, f29, f0
/* 801114D8 0010E438 C0 62 95 A8 */ lfs f3, lbl_805AB2C8@sda21(r2)
/* 801114DC 0010E43C 38 A0 00 01 */ li r5, 1
/* 801114E0 0010E440 48 23 3D 75 */ bl __ct__14CFrustumPlanesFRC12CTransform4ffffbf
/* 801114E4 0010E444 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 801114E8 0010E448 38 81 01 74 */ addi r4, r1, 0x174
/* 801114EC 0010E44C 81 83 00 00 */ lwz r12, 0(r3)
/* 801114F0 0010E450 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 801114F4 0010E454 7D 89 03 A6 */ mtctr r12
/* 801114F8 0010E458 4E 80 04 21 */ bctrl
/* 801114FC 0010E45C 80 DF 00 00 */ lwz r6, 0(r31)
/* 80111500 0010E460 3C 80 43 30 */ lis r4, 0x4330
/* 80111504 0010E464 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80111508 0010E468 FC 20 F0 90 */ fmr f1, f30
/* 8011150C 0010E46C A8 A6 00 04 */ lha r5, 4(r6)
/* 80111510 0010E470 A8 06 00 06 */ lha r0, 6(r6)
/* 80111514 0010E474 6C A5 80 00 */ xoris r5, r5, 0x8000
/* 80111518 0010E478 81 83 00 00 */ lwz r12, 0(r3)
/* 8011151C 0010E47C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80111520 0010E480 90 A1 01 DC */ stw r5, 0x1dc(r1)
/* 80111524 0010E484 C8 62 95 C0 */ lfd f3, lbl_805AB2E0@sda21(r2)
/* 80111528 0010E488 90 81 01 D8 */ stw r4, 0x1d8(r1)
/* 8011152C 0010E48C 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 80111530 0010E490 C8 01 01 D8 */ lfd f0, 0x1d8(r1)
/* 80111534 0010E494 90 01 01 E4 */ stw r0, 0x1e4(r1)
/* 80111538 0010E498 EC 40 18 28 */ fsubs f2, f0, f3
/* 8011153C 0010E49C C0 82 95 A8 */ lfs f4, lbl_805AB2C8@sda21(r2)
/* 80111540 0010E4A0 90 81 01 E0 */ stw r4, 0x1e0(r1)
/* 80111544 0010E4A4 C0 A2 95 AC */ lfs f5, lbl_805AB2CC@sda21(r2)
/* 80111548 0010E4A8 C8 01 01 E0 */ lfd f0, 0x1e0(r1)
/* 8011154C 0010E4AC EC 60 18 28 */ fsubs f3, f0, f3
/* 80111550 0010E4B0 7D 89 03 A6 */ mtctr r12
/* 80111554 0010E4B4 4E 80 04 21 */ bctrl
/* 80111558 0010E4B8 C3 ED A7 E0 */ lfs f31, lbl_805A93A0@sda21(r13)
/* 8011155C 0010E4BC C3 CD 9C 78 */ lfs f30, lbl_805A8838@sda21(r13)
/* 80111560 0010E4C0 C0 22 95 88 */ lfs f1, lbl_805AB2A8@sda21(r2)
/* 80111564 0010E4C4 C0 42 95 8C */ lfs f2, lbl_805AB2AC@sda21(r2)
/* 80111568 0010E4C8 48 1F 8E 79 */ bl SetDepthRange__9CGraphicsFff
/* 8011156C 0010E4CC 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80111570 0010E4D0 3C 80 80 3F */ lis r4, lbl_803ED910@ha
/* 80111574 0010E4D4 39 04 D9 10 */ addi r8, r4, lbl_803ED910@l
/* 80111578 0010E4D8 80 FF 00 00 */ lwz r7, 0(r31)
/* 8011157C 0010E4DC 81 83 00 00 */ lwz r12, 0(r3)
/* 80111580 0010E4E0 38 80 00 00 */ li r4, 0
/* 80111584 0010E4E4 A8 C7 00 04 */ lha r6, 4(r7)
/* 80111588 0010E4E8 38 A0 00 00 */ li r5, 0
/* 8011158C 0010E4EC A8 07 00 06 */ lha r0, 6(r7)
/* 80111590 0010E4F0 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 80111594 0010E4F4 54 C6 08 3C */ slwi r6, r6, 1
/* 80111598 0010E4F8 54 07 08 3C */ slwi r7, r0, 1
/* 8011159C 0010E4FC 83 A8 00 00 */ lwz r29, 0(r8)
/* 801115A0 0010E500 83 88 00 04 */ lwz r28, 4(r8)
/* 801115A4 0010E504 83 68 00 08 */ lwz r27, 8(r8)
/* 801115A8 0010E508 83 48 00 0C */ lwz r26, 0xc(r8)
/* 801115AC 0010E50C 7D 89 03 A6 */ mtctr r12
/* 801115B0 0010E510 4E 80 04 21 */ bctrl
/* 801115B4 0010E514 C0 21 00 D0 */ lfs f1, 0xd0(r1)
/* 801115B8 0010E518 3C 60 80 5A */ lis r3, lbl_805A66F4@ha
/* 801115BC 0010E51C C0 62 95 88 */ lfs f3, lbl_805AB2A8@sda21(r2)
/* 801115C0 0010E520 38 C3 66 F4 */ addi r6, r3, lbl_805A66F4@l
/* 801115C4 0010E524 C0 01 00 CC */ lfs f0, 0xcc(r1)
/* 801115C8 0010E528 38 61 01 14 */ addi r3, r1, 0x114
/* 801115CC 0010E52C EC 81 18 28 */ fsubs f4, f1, f3
/* 801115D0 0010E530 C0 41 00 D4 */ lfs f2, 0xd4(r1)
/* 801115D4 0010E534 C0 22 95 A8 */ lfs f1, lbl_805AB2C8@sda21(r2)
/* 801115D8 0010E538 EC 00 18 28 */ fsubs f0, f0, f3
/* 801115DC 0010E53C C0 7F 00 64 */ lfs f3, 0x64(r31)
/* 801115E0 0010E540 38 81 00 90 */ addi r4, r1, 0x90
/* 801115E4 0010E544 EC 42 08 28 */ fsubs f2, f2, f1
/* 801115E8 0010E548 C0 22 95 B0 */ lfs f1, lbl_805AB2D0@sda21(r2)
/* 801115EC 0010E54C D0 01 00 90 */ stfs f0, 0x90(r1)
/* 801115F0 0010E550 38 BE 00 10 */ addi r5, r30, 0x10
/* 801115F4 0010E554 EF 81 00 F2 */ fmuls f28, f1, f3
/* 801115F8 0010E558 D0 81 00 94 */ stfs f4, 0x94(r1)
/* 801115FC 0010E55C D0 41 00 98 */ stfs f2, 0x98(r1)
/* 80111600 0010E560 48 20 25 11 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f
/* 80111604 0010E564 38 7F 00 34 */ addi r3, r31, 0x34
/* 80111608 0010E568 38 81 01 14 */ addi r4, r1, 0x114
/* 8011160C 0010E56C 48 20 15 35 */ bl __as__12CTransform4fFRC12CTransform4f
/* 80111610 0010E570 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80111614 0010E574 38 9F 00 34 */ addi r4, r31, 0x34
/* 80111618 0010E578 81 83 00 00 */ lwz r12, 0(r3)
/* 8011161C 0010E57C 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 80111620 0010E580 7D 89 03 A6 */ mtctr r12
/* 80111624 0010E584 4E 80 04 21 */ bctrl
/* 80111628 0010E588 48 23 89 85 */ bl White__6CColorFv
/* 8011162C 0010E58C 7C 64 1B 78 */ mr r4, r3
/* 80111630 0010E590 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80111634 0010E594 81 83 00 00 */ lwz r12, 0(r3)
/* 80111638 0010E598 81 8C 00 B4 */ lwz r12, 0xb4(r12)
/* 8011163C 0010E59C 7D 89 03 A6 */ mtctr r12
/* 80111640 0010E5A0 4E 80 04 21 */ bctrl
/* 80111644 0010E5A4 38 60 00 07 */ li r3, 7
/* 80111648 0010E5A8 38 80 00 00 */ li r4, 0
/* 8011164C 0010E5AC 38 A0 00 00 */ li r5, 0
/* 80111650 0010E5B0 38 C0 00 07 */ li r6, 7
/* 80111654 0010E5B4 38 E0 00 00 */ li r7, 0
/* 80111658 0010E5B8 48 1F A3 D1 */ bl SetAlphaCompare__9CGraphicsF13ERglAlphaFuncUc11ERglAlphaOp13ERglAlphaFuncUc
/* 8011165C 0010E5BC 38 60 00 01 */ li r3, 1
/* 80111660 0010E5C0 38 80 00 03 */ li r4, 3
/* 80111664 0010E5C4 38 A0 00 01 */ li r5, 1
/* 80111668 0010E5C8 48 1F A4 2D */ bl SetDepthWriteMode__9CGraphicsFb8ERglEnumb
/* 8011166C 0010E5CC 38 60 00 01 */ li r3, 1
/* 80111670 0010E5D0 38 80 00 04 */ li r4, 4
/* 80111674 0010E5D4 38 A0 00 05 */ li r5, 5
/* 80111678 0010E5D8 38 C0 00 00 */ li r6, 0
/* 8011167C 0010E5DC 48 1F A3 D5 */ bl SetBlendMode__9CGraphicsF13ERglBlendMode15ERglBlendFactor15ERglBlendFactor11ERglLogicOp
/* 80111680 0010E5E0 80 8D 9C 68 */ lwz r4, lbl_805A8828@sda21(r13)
/* 80111684 0010E5E4 38 60 00 00 */ li r3, 0
/* 80111688 0010E5E8 48 1F 8C 31 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass
/* 8011168C 0010E5EC 80 8D 9C 68 */ lwz r4, lbl_805A8828@sda21(r13)
/* 80111690 0010E5F0 38 60 00 01 */ li r3, 1
/* 80111694 0010E5F4 48 1F 8C 25 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass
/* 80111698 0010E5F8 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8011169C 0010E5FC 38 80 00 04 */ li r4, 4
/* 801116A0 0010E600 81 83 00 00 */ lwz r12, 0(r3)
/* 801116A4 0010E604 81 8C 00 A0 */ lwz r12, 0xa0(r12)
/* 801116A8 0010E608 7D 89 03 A6 */ mtctr r12
/* 801116AC 0010E60C 4E 80 04 21 */ bctrl
/* 801116B0 0010E610 FF A0 E0 50 */ fneg f29, f28
/* 801116B4 0010E614 C0 02 95 88 */ lfs f0, lbl_805AB2A8@sda21(r2)
/* 801116B8 0010E618 D3 81 00 8C */ stfs f28, 0x8c(r1)
/* 801116BC 0010E61C 38 81 00 84 */ addi r4, r1, 0x84
/* 801116C0 0010E620 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 801116C4 0010E624 D3 A1 00 84 */ stfs f29, 0x84(r1)
/* 801116C8 0010E628 D0 01 00 88 */ stfs f0, 0x88(r1)
/* 801116CC 0010E62C 81 83 00 00 */ lwz r12, 0(r3)
/* 801116D0 0010E630 81 8C 00 A8 */ lwz r12, 0xa8(r12)
/* 801116D4 0010E634 7D 89 03 A6 */ mtctr r12
/* 801116D8 0010E638 4E 80 04 21 */ bctrl
/* 801116DC 0010E63C C0 02 95 88 */ lfs f0, lbl_805AB2A8@sda21(r2)
/* 801116E0 0010E640 38 81 00 78 */ addi r4, r1, 0x78
/* 801116E4 0010E644 D3 81 00 78 */ stfs f28, 0x78(r1)
/* 801116E8 0010E648 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 801116EC 0010E64C D0 01 00 7C */ stfs f0, 0x7c(r1)
/* 801116F0 0010E650 D3 81 00 80 */ stfs f28, 0x80(r1)
/* 801116F4 0010E654 81 83 00 00 */ lwz r12, 0(r3)
/* 801116F8 0010E658 81 8C 00 A8 */ lwz r12, 0xa8(r12)
/* 801116FC 0010E65C 7D 89 03 A6 */ mtctr r12
/* 80111700 0010E660 4E 80 04 21 */ bctrl
/* 80111704 0010E664 C0 02 95 88 */ lfs f0, lbl_805AB2A8@sda21(r2)
/* 80111708 0010E668 38 81 00 6C */ addi r4, r1, 0x6c
/* 8011170C 0010E66C D3 A1 00 6C */ stfs f29, 0x6c(r1)
/* 80111710 0010E670 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80111714 0010E674 D0 01 00 70 */ stfs f0, 0x70(r1)
/* 80111718 0010E678 D3 A1 00 74 */ stfs f29, 0x74(r1)
/* 8011171C 0010E67C 81 83 00 00 */ lwz r12, 0(r3)
/* 80111720 0010E680 81 8C 00 A8 */ lwz r12, 0xa8(r12)
/* 80111724 0010E684 7D 89 03 A6 */ mtctr r12
/* 80111728 0010E688 4E 80 04 21 */ bctrl
/* 8011172C 0010E68C C0 02 95 88 */ lfs f0, lbl_805AB2A8@sda21(r2)
/* 80111730 0010E690 38 81 00 60 */ addi r4, r1, 0x60
/* 80111734 0010E694 D3 81 00 60 */ stfs f28, 0x60(r1)
/* 80111738 0010E698 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8011173C 0010E69C D0 01 00 64 */ stfs f0, 0x64(r1)
/* 80111740 0010E6A0 D3 A1 00 68 */ stfs f29, 0x68(r1)
/* 80111744 0010E6A4 81 83 00 00 */ lwz r12, 0(r3)
/* 80111748 0010E6A8 81 8C 00 A8 */ lwz r12, 0xa8(r12)
/* 8011174C 0010E6AC 7D 89 03 A6 */ mtctr r12
/* 80111750 0010E6B0 4E 80 04 21 */ bctrl
/* 80111754 0010E6B4 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80111758 0010E6B8 81 83 00 00 */ lwz r12, 0(r3)
/* 8011175C 0010E6BC 81 8C 00 B8 */ lwz r12, 0xb8(r12)
/* 80111760 0010E6C0 7D 89 03 A6 */ mtctr r12
/* 80111764 0010E6C4 4E 80 04 21 */ bctrl
/* 80111768 0010E6C8 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8011176C 0010E6CC 3C 80 80 5A */ lis r4, skIdentity4f@ha
/* 80111770 0010E6D0 38 84 66 70 */ addi r4, r4, skIdentity4f@l
/* 80111774 0010E6D4 81 83 00 00 */ lwz r12, 0(r3)
/* 80111778 0010E6D8 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 8011177C 0010E6DC 7D 89 03 A6 */ mtctr r12
/* 80111780 0010E6E0 4E 80 04 21 */ bctrl
/* 80111784 0010E6E4 38 60 00 01 */ li r3, 1
/* 80111788 0010E6E8 48 23 40 61 */ bl SetRenderModelBlack__10CCubeModelFb
/* 8011178C 0010E6EC 38 60 00 01 */ li r3, 1
/* 80111790 0010E6F0 48 1F 51 09 */ bl SetDrawingOccluders__10CCubeModelFb
/* 80111794 0010E6F4 38 00 00 00 */ li r0, 0
/* 80111798 0010E6F8 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8011179C 0010E6FC 90 01 00 54 */ stw r0, 0x54(r1)
/* 801117A0 0010E700 38 81 00 50 */ addi r4, r1, 0x50
/* 801117A4 0010E704 90 01 00 58 */ stw r0, 0x58(r1)
/* 801117A8 0010E708 90 01 00 5C */ stw r0, 0x5c(r1)
/* 801117AC 0010E70C 81 83 00 00 */ lwz r12, 0(r3)
/* 801117B0 0010E710 81 8C 01 08 */ lwz r12, 0x108(r12)
/* 801117B4 0010E714 7D 89 03 A6 */ mtctr r12
/* 801117B8 0010E718 4E 80 04 21 */ bctrl
/* 801117BC 0010E71C 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801117C0 0010E720 80 61 00 5C */ lwz r3, 0x5c(r1)
/* 801117C4 0010E724 1C 00 00 50 */ mulli r0, r0, 0x50
/* 801117C8 0010E728 90 61 00 0C */ stw r3, 0xc(r1)
/* 801117CC 0010E72C 7C 64 1B 78 */ mr r4, r3
/* 801117D0 0010E730 7C 03 02 14 */ add r0, r3, r0
/* 801117D4 0010E734 90 61 00 08 */ stw r3, 8(r1)
/* 801117D8 0010E738 90 01 00 14 */ stw r0, 0x14(r1)
/* 801117DC 0010E73C 90 01 00 10 */ stw r0, 0x10(r1)
/* 801117E0 0010E740 48 00 00 08 */ b lbl_801117E8
lbl_801117E4:
/* 801117E4 0010E744 38 84 00 50 */ addi r4, r4, 0x50
lbl_801117E8:
/* 801117E8 0010E748 7C 04 00 40 */ cmplw r4, r0
/* 801117EC 0010E74C 40 82 FF F8 */ bne lbl_801117E4
/* 801117F0 0010E750 28 03 00 00 */ cmplwi r3, 0
/* 801117F4 0010E754 41 82 00 08 */ beq lbl_801117FC
/* 801117F8 0010E758 48 20 41 39 */ bl Free__7CMemoryFPCv
lbl_801117FC:
/* 801117FC 0010E75C 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80111800 0010E760 38 A0 00 00 */ li r5, 0
/* 80111804 0010E764 80 97 00 00 */ lwz r4, 0(r23)
/* 80111808 0010E768 38 C0 00 00 */ li r6, 0
/* 8011180C 0010E76C 81 83 00 00 */ lwz r12, 0(r3)
/* 80111810 0010E770 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 80111814 0010E774 7D 89 03 A6 */ mtctr r12
/* 80111818 0010E778 4E 80 04 21 */ bctrl
/* 8011181C 0010E77C 38 60 00 00 */ li r3, 0
/* 80111820 0010E780 48 23 3F C9 */ bl SetRenderModelBlack__10CCubeModelFb
/* 80111824 0010E784 38 60 00 00 */ li r3, 0
/* 80111828 0010E788 48 1F 50 71 */ bl SetDrawingOccluders__10CCubeModelFb
/* 8011182C 0010E78C 57 20 06 3F */ clrlwi. r0, r25, 0x18
/* 80111830 0010E790 41 82 01 00 */ beq lbl_80111930
/* 80111834 0010E794 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80111838 0010E798 38 9F 00 34 */ addi r4, r31, 0x34
/* 8011183C 0010E79C 81 83 00 00 */ lwz r12, 0(r3)
/* 80111840 0010E7A0 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 80111844 0010E7A4 7D 89 03 A6 */ mtctr r12
/* 80111848 0010E7A8 4E 80 04 21 */ bctrl
/* 8011184C 0010E7AC 38 60 00 07 */ li r3, 7
/* 80111850 0010E7B0 38 80 00 00 */ li r4, 0
/* 80111854 0010E7B4 38 A0 00 00 */ li r5, 0
/* 80111858 0010E7B8 38 C0 00 07 */ li r6, 7
/* 8011185C 0010E7BC 38 E0 00 00 */ li r7, 0
/* 80111860 0010E7C0 48 1F A1 C9 */ bl SetAlphaCompare__9CGraphicsF13ERglAlphaFuncUc11ERglAlphaOp13ERglAlphaFuncUc
/* 80111864 0010E7C4 38 60 00 00 */ li r3, 0
/* 80111868 0010E7C8 38 80 00 03 */ li r4, 3
/* 8011186C 0010E7CC 38 A0 00 00 */ li r5, 0
/* 80111870 0010E7D0 48 1F A2 25 */ bl SetDepthWriteMode__9CGraphicsFb8ERglEnumb
/* 80111874 0010E7D4 38 60 00 01 */ li r3, 1
/* 80111878 0010E7D8 38 80 00 04 */ li r4, 4
/* 8011187C 0010E7DC 38 A0 00 05 */ li r5, 5
/* 80111880 0010E7E0 38 C0 00 00 */ li r6, 0
/* 80111884 0010E7E4 48 1F A1 CD */ bl SetBlendMode__9CGraphicsF13ERglBlendMode15ERglBlendFactor15ERglBlendFactor11ERglLogicOp
/* 80111888 0010E7E8 80 8D 9C 68 */ lwz r4, lbl_805A8828@sda21(r13)
/* 8011188C 0010E7EC 38 60 00 00 */ li r3, 0
/* 80111890 0010E7F0 48 1F 8A 29 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass
/* 80111894 0010E7F4 80 8D 9C 68 */ lwz r4, lbl_805A8828@sda21(r13)
/* 80111898 0010E7F8 38 60 00 01 */ li r3, 1
/* 8011189C 0010E7FC 48 1F 8A 1D */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass
/* 801118A0 0010E800 38 60 00 98 */ li r3, 0x98
/* 801118A4 0010E804 48 1F 9D C5 */ bl StreamBegin__9CGraphicsF13ERglPrimitive
/* 801118A8 0010E808 C0 22 95 8C */ lfs f1, lbl_805AB2AC@sda21(r2)
/* 801118AC 0010E80C C0 82 95 B4 */ lfs f4, lbl_805AB2D4@sda21(r2)
/* 801118B0 0010E810 FC 40 08 90 */ fmr f2, f1
/* 801118B4 0010E814 FC 60 08 90 */ fmr f3, f1
/* 801118B8 0010E818 48 1F 9C 15 */ bl StreamColor__9CGraphicsFffff
/* 801118BC 0010E81C C0 02 95 88 */ lfs f0, lbl_805AB2A8@sda21(r2)
/* 801118C0 0010E820 38 61 00 44 */ addi r3, r1, 0x44
/* 801118C4 0010E824 D3 A1 00 44 */ stfs f29, 0x44(r1)
/* 801118C8 0010E828 D0 01 00 48 */ stfs f0, 0x48(r1)
/* 801118CC 0010E82C D3 81 00 4C */ stfs f28, 0x4c(r1)
/* 801118D0 0010E830 48 1F 9C F1 */ bl StreamVertex__9CGraphicsFRC9CVector3f
/* 801118D4 0010E834 C0 02 95 88 */ lfs f0, lbl_805AB2A8@sda21(r2)
/* 801118D8 0010E838 38 61 00 38 */ addi r3, r1, 0x38
/* 801118DC 0010E83C D3 81 00 38 */ stfs f28, 0x38(r1)
/* 801118E0 0010E840 D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 801118E4 0010E844 D3 81 00 40 */ stfs f28, 0x40(r1)
/* 801118E8 0010E848 48 1F 9C D9 */ bl StreamVertex__9CGraphicsFRC9CVector3f
/* 801118EC 0010E84C C0 02 95 88 */ lfs f0, lbl_805AB2A8@sda21(r2)
/* 801118F0 0010E850 38 61 00 2C */ addi r3, r1, 0x2c
/* 801118F4 0010E854 D3 A1 00 2C */ stfs f29, 0x2c(r1)
/* 801118F8 0010E858 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 801118FC 0010E85C D3 A1 00 34 */ stfs f29, 0x34(r1)
/* 80111900 0010E860 48 1F 9C C1 */ bl StreamVertex__9CGraphicsFRC9CVector3f
/* 80111904 0010E864 C0 02 95 88 */ lfs f0, lbl_805AB2A8@sda21(r2)
/* 80111908 0010E868 38 61 00 20 */ addi r3, r1, 0x20
/* 8011190C 0010E86C D3 81 00 20 */ stfs f28, 0x20(r1)
/* 80111910 0010E870 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 80111914 0010E874 D3 A1 00 28 */ stfs f29, 0x28(r1)
/* 80111918 0010E878 48 1F 9C A9 */ bl StreamVertex__9CGraphicsFRC9CVector3f
/* 8011191C 0010E87C 48 1F 9A F5 */ bl StreamEnd__9CGraphicsFv
/* 80111920 0010E880 38 60 00 01 */ li r3, 1
/* 80111924 0010E884 38 80 00 03 */ li r4, 3
/* 80111928 0010E888 38 A0 00 01 */ li r5, 1
/* 8011192C 0010E88C 48 1F A1 69 */ bl SetDepthWriteMode__9CGraphicsFb8ERglEnumb
lbl_80111930:
/* 80111930 0010E890 57 00 06 3F */ clrlwi. r0, r24, 0x18
/* 80111934 0010E894 41 82 00 BC */ beq lbl_801119F0
/* 80111938 0010E898 88 1F 00 88 */ lbz r0, 0x88(r31)
/* 8011193C 0010E89C 28 00 00 01 */ cmplwi r0, 1
/* 80111940 0010E8A0 41 82 00 B0 */ beq lbl_801119F0
/* 80111944 0010E8A4 38 60 00 00 */ li r3, 0
/* 80111948 0010E8A8 38 80 00 03 */ li r4, 3
/* 8011194C 0010E8AC 38 A0 00 00 */ li r5, 0
/* 80111950 0010E8B0 48 1F A1 45 */ bl SetDepthWriteMode__9CGraphicsFb8ERglEnumb
/* 80111954 0010E8B4 38 60 00 01 */ li r3, 1
/* 80111958 0010E8B8 38 80 00 04 */ li r4, 4
/* 8011195C 0010E8BC 38 A0 00 05 */ li r5, 5
/* 80111960 0010E8C0 38 C0 00 00 */ li r6, 0
/* 80111964 0010E8C4 48 1F A0 ED */ bl SetBlendMode__9CGraphicsF13ERglBlendMode15ERglBlendFactor15ERglBlendFactor11ERglLogicOp
/* 80111968 0010E8C8 38 60 00 07 */ li r3, 7
/* 8011196C 0010E8CC 38 80 00 00 */ li r4, 0
/* 80111970 0010E8D0 38 A0 00 00 */ li r5, 0
/* 80111974 0010E8D4 38 C0 00 07 */ li r6, 7
/* 80111978 0010E8D8 38 E0 00 00 */ li r7, 0
/* 8011197C 0010E8DC 48 1F A0 AD */ bl SetAlphaCompare__9CGraphicsF13ERglAlphaFuncUc11ERglAlphaOp13ERglAlphaFuncUc
/* 80111980 0010E8E0 3C 80 80 5A */ lis r4, lbl_805A5EBC@ha
/* 80111984 0010E8E4 38 60 00 00 */ li r3, 0
/* 80111988 0010E8E8 38 84 5E BC */ addi r4, r4, lbl_805A5EBC@l
/* 8011198C 0010E8EC 48 1F 89 2D */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass
/* 80111990 0010E8F0 80 8D 9C 68 */ lwz r4, lbl_805A8828@sda21(r13)
/* 80111994 0010E8F4 38 60 00 01 */ li r3, 1
/* 80111998 0010E8F8 48 1F 89 21 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass
/* 8011199C 0010E8FC C0 22 95 8C */ lfs f1, lbl_805AB2AC@sda21(r2)
/* 801119A0 0010E900 38 61 00 18 */ addi r3, r1, 0x18
/* 801119A4 0010E904 83 3F 00 00 */ lwz r25, 0(r31)
/* 801119A8 0010E908 FC 40 08 90 */ fmr f2, f1
/* 801119AC 0010E90C C0 82 95 B8 */ lfs f4, lbl_805AB2D8@sda21(r2)
/* 801119B0 0010E910 FC 60 08 90 */ fmr f3, f1
/* 801119B4 0010E914 AA F9 00 04 */ lha r23, 4(r25)
/* 801119B8 0010E918 AB 19 00 06 */ lha r24, 6(r25)
/* 801119BC 0010E91C 48 25 1A 31 */ bl __ct__6CColorFffff
/* 801119C0 0010E920 7C 17 00 D0 */ neg r0, r23
/* 801119C4 0010E924 7C 68 1B 78 */ mr r8, r3
/* 801119C8 0010E928 7F 23 CB 78 */ mr r3, r25
/* 801119CC 0010E92C 56 E5 08 3C */ slwi r5, r23, 1
/* 801119D0 0010E930 57 06 08 3C */ slwi r6, r24, 1
/* 801119D4 0010E934 54 07 08 3C */ slwi r7, r0, 1
/* 801119D8 0010E938 38 80 00 00 */ li r4, 0
/* 801119DC 0010E93C 48 1F 9D 81 */ bl Render2D__9CGraphicsFRC8CTextureiiiiRC6CColor
/* 801119E0 0010E940 38 60 00 01 */ li r3, 1
/* 801119E4 0010E944 38 80 00 03 */ li r4, 3
/* 801119E8 0010E948 38 A0 00 01 */ li r5, 1
/* 801119EC 0010E94C 48 1F A0 A9 */ bl SetDepthWriteMode__9CGraphicsFb8ERglEnumb
lbl_801119F0:
/* 801119F0 0010E950 38 00 00 00 */ li r0, 0
/* 801119F4 0010E954 38 60 00 00 */ li r3, 0
/* 801119F8 0010E958 98 1F 00 88 */ stb r0, 0x88(r31)
/* 801119FC 0010E95C 80 9F 00 00 */ lwz r4, 0(r31)
/* 80111A00 0010E960 A8 A4 00 06 */ lha r5, 6(r4)
/* 80111A04 0010E964 A8 04 00 04 */ lha r0, 4(r4)
/* 80111A08 0010E968 54 A4 08 3C */ slwi r4, r5, 1
/* 80111A0C 0010E96C 54 A6 0C 3C */ rlwinm r6, r5, 1, 0x10, 0x1e
/* 80111A10 0010E970 20 84 01 C0 */ subfic r4, r4, 0x1c0
/* 80111A14 0010E974 54 05 0C 3C */ rlwinm r5, r0, 1, 0x10, 0x1e
/* 80111A18 0010E978 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 80111A1C 0010E97C 48 26 73 99 */ bl GXSetTexCopySrc
/* 80111A20 0010E980 80 DF 00 00 */ lwz r6, 0(r31)
/* 80111A24 0010E984 38 A0 00 06 */ li r5, 6
/* 80111A28 0010E988 80 86 00 00 */ lwz r4, 0(r6)
/* 80111A2C 0010E98C A8 66 00 04 */ lha r3, 4(r6)
/* 80111A30 0010E990 A8 06 00 06 */ lha r0, 6(r6)
/* 80111A34 0010E994 2C 04 00 07 */ cmpwi r4, 7
/* 80111A38 0010E998 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 80111A3C 0010E99C 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80111A40 0010E9A0 40 82 00 08 */ bne lbl_80111A48
/* 80111A44 0010E9A4 38 A0 00 04 */ li r5, 4
lbl_80111A48:
/* 80111A48 0010E9A8 38 C0 00 01 */ li r6, 1
/* 80111A4C 0010E9AC 48 26 74 35 */ bl GXSetTexCopyDst
/* 80111A50 0010E9B0 88 0D A3 5C */ lbz r0, lbl_805A8F1C@sda21(r13)
/* 80111A54 0010E9B4 7C 00 07 75 */ extsb. r0, r0
/* 80111A58 0010E9B8 40 82 00 14 */ bne lbl_80111A6C
/* 80111A5C 0010E9BC 38 60 00 00 */ li r3, 0
/* 80111A60 0010E9C0 38 00 00 01 */ li r0, 1
/* 80111A64 0010E9C4 90 6D A3 58 */ stw r3, lbl_805A8F18@sda21(r13)
/* 80111A68 0010E9C8 98 0D A3 5C */ stb r0, lbl_805A8F1C@sda21(r13)
lbl_80111A6C:
/* 80111A6C 0010E9CC 80 7F 00 00 */ lwz r3, 0(r31)
/* 80111A70 0010E9D0 38 A0 00 01 */ li r5, 1
/* 80111A74 0010E9D4 38 80 00 00 */ li r4, 0
/* 80111A78 0010E9D8 88 03 00 0A */ lbz r0, 0xa(r3)
/* 80111A7C 0010E9DC 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 80111A80 0010E9E0 98 03 00 0A */ stb r0, 0xa(r3)
/* 80111A84 0010E9E4 80 7F 00 00 */ lwz r3, 0(r31)
/* 80111A88 0010E9E8 48 1F CB 4D */ bl GetBitMapData__8CTextureFi
/* 80111A8C 0010E9EC 38 80 00 01 */ li r4, 1
/* 80111A90 0010E9F0 48 26 7A A5 */ bl GXCopyTex
/* 80111A94 0010E9F4 80 7F 00 00 */ lwz r3, 0(r31)
/* 80111A98 0010E9F8 48 1F CE 85 */ bl UnLock__8CTextureFv
/* 80111A9C 0010E9FC 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80111AA0 0010EA00 7F A4 EB 78 */ mr r4, r29
/* 80111AA4 0010EA04 7F 85 E3 78 */ mr r5, r28
/* 80111AA8 0010EA08 7F 66 DB 78 */ mr r6, r27
/* 80111AAC 0010EA0C 81 83 00 00 */ lwz r12, 0(r3)
/* 80111AB0 0010EA10 7F 47 D3 78 */ mr r7, r26
/* 80111AB4 0010EA14 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 80111AB8 0010EA18 7D 89 03 A6 */ mtctr r12
/* 80111ABC 0010EA1C 4E 80 04 21 */ bctrl
/* 80111AC0 0010EA20 FC 20 F8 90 */ fmr f1, f31
/* 80111AC4 0010EA24 FC 40 F0 90 */ fmr f2, f30
/* 80111AC8 0010EA28 48 1F 89 19 */ bl SetDepthRange__9CGraphicsFff
/* 80111ACC 0010EA2C 80 A1 01 74 */ lwz r5, 0x174(r1)
/* 80111AD0 0010EA30 38 60 00 00 */ li r3, 0
/* 80111AD4 0010EA34 2C 05 00 00 */ cmpwi r5, 0
/* 80111AD8 0010EA38 40 81 00 40 */ ble lbl_80111B18
/* 80111ADC 0010EA3C 2C 05 00 08 */ cmpwi r5, 8
/* 80111AE0 0010EA40 38 85 FF F8 */ addi r4, r5, -8
/* 80111AE4 0010EA44 40 81 00 20 */ ble lbl_80111B04
/* 80111AE8 0010EA48 38 04 00 07 */ addi r0, r4, 7
/* 80111AEC 0010EA4C 54 00 E8 FE */ srwi r0, r0, 3
/* 80111AF0 0010EA50 7C 09 03 A6 */ mtctr r0
/* 80111AF4 0010EA54 2C 04 00 00 */ cmpwi r4, 0
/* 80111AF8 0010EA58 40 81 00 0C */ ble lbl_80111B04
lbl_80111AFC:
/* 80111AFC 0010EA5C 38 63 00 08 */ addi r3, r3, 8
/* 80111B00 0010EA60 42 00 FF FC */ bdnz lbl_80111AFC
lbl_80111B04:
/* 80111B04 0010EA64 7C 03 28 50 */ subf r0, r3, r5
/* 80111B08 0010EA68 7C 09 03 A6 */ mtctr r0
/* 80111B0C 0010EA6C 7C 03 28 00 */ cmpw r3, r5
/* 80111B10 0010EA70 40 80 00 08 */ bge lbl_80111B18
lbl_80111B14:
/* 80111B14 0010EA74 42 00 00 00 */ bdnz lbl_80111B14
lbl_80111B18:
/* 80111B18 0010EA78 38 00 00 00 */ li r0, 0
/* 80111B1C 0010EA7C 90 01 01 74 */ stw r0, 0x174(r1)
lbl_80111B20:
/* 80111B20 0010EA80 E3 E1 02 48 */ psq_l f31, 584(r1), 0, qr0
/* 80111B24 0010EA84 CB E1 02 40 */ lfd f31, 0x240(r1)
/* 80111B28 0010EA88 E3 C1 02 38 */ psq_l f30, 568(r1), 0, qr0
/* 80111B2C 0010EA8C CB C1 02 30 */ lfd f30, 0x230(r1)
/* 80111B30 0010EA90 E3 A1 02 28 */ psq_l f29, 552(r1), 0, qr0
/* 80111B34 0010EA94 CB A1 02 20 */ lfd f29, 0x220(r1)
/* 80111B38 0010EA98 E3 81 02 18 */ psq_l f28, 536(r1), 0, qr0
/* 80111B3C 0010EA9C CB 81 02 10 */ lfd f28, 0x210(r1)
/* 80111B40 0010EAA0 BA E1 01 EC */ lmw r23, 0x1ec(r1)
/* 80111B44 0010EAA4 80 01 02 54 */ lwz r0, 0x254(r1)
/* 80111B48 0010EAA8 7C 08 03 A6 */ mtlr r0
/* 80111B4C 0010EAAC 38 21 02 50 */ addi r1, r1, 0x250
/* 80111B50 0010EAB0 4E 80 00 20 */ blr
.global __dt__12CWorldShadowFv
__dt__12CWorldShadowFv:
/* 80111B54 0010EAB4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80111B58 0010EAB8 7C 08 02 A6 */ mflr r0
/* 80111B5C 0010EABC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80111B60 0010EAC0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80111B64 0010EAC4 7C 9F 23 78 */ mr r31, r4
/* 80111B68 0010EAC8 93 C1 00 08 */ stw r30, 8(r1)
/* 80111B6C 0010EACC 7C 7E 1B 79 */ or. r30, r3, r3
/* 80111B70 0010EAD0 41 82 00 38 */ beq lbl_80111BA8
/* 80111B74 0010EAD4 80 7E 00 00 */ lwz r3, 0(r30)
/* 80111B78 0010EAD8 28 03 00 00 */ cmplwi r3, 0
/* 80111B7C 0010EADC 41 82 00 08 */ beq lbl_80111B84
/* 80111B80 0010EAE0 48 1F C5 8D */ bl sub_8030e10c
lbl_80111B84:
/* 80111B84 0010EAE4 28 1E 00 00 */ cmplwi r30, 0
/* 80111B88 0010EAE8 41 82 00 10 */ beq lbl_80111B98
/* 80111B8C 0010EAEC 80 7E 00 00 */ lwz r3, 0(r30)
/* 80111B90 0010EAF0 38 80 00 01 */ li r4, 1
/* 80111B94 0010EAF4 48 1F DE 65 */ bl __dt__8CTextureFv
lbl_80111B98:
/* 80111B98 0010EAF8 7F E0 07 35 */ extsh. r0, r31
/* 80111B9C 0010EAFC 40 81 00 0C */ ble lbl_80111BA8
/* 80111BA0 0010EB00 7F C3 F3 78 */ mr r3, r30
/* 80111BA4 0010EB04 48 20 3D 8D */ bl Free__7CMemoryFPCv
lbl_80111BA8:
/* 80111BA8 0010EB08 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80111BAC 0010EB0C 7F C3 F3 78 */ mr r3, r30
/* 80111BB0 0010EB10 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80111BB4 0010EB14 83 C1 00 08 */ lwz r30, 8(r1)
/* 80111BB8 0010EB18 7C 08 03 A6 */ mtlr r0
/* 80111BBC 0010EB1C 38 21 00 10 */ addi r1, r1, 0x10
/* 80111BC0 0010EB20 4E 80 00 20 */ blr
.global __ct__12CWorldShadowFUiUib
__ct__12CWorldShadowFUiUib:
/* 80111BC4 0010EB24 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80111BC8 0010EB28 7C 08 02 A6 */ mflr r0
/* 80111BCC 0010EB2C 3C E0 80 3D */ lis r7, lbl_803CF1F8@ha
/* 80111BD0 0010EB30 90 01 00 24 */ stw r0, 0x24(r1)
/* 80111BD4 0010EB34 38 07 F1 F8 */ addi r0, r7, lbl_803CF1F8@l
/* 80111BD8 0010EB38 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80111BDC 0010EB3C 7C 7F 1B 78 */ mr r31, r3
/* 80111BE0 0010EB40 38 60 00 68 */ li r3, 0x68
/* 80111BE4 0010EB44 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80111BE8 0010EB48 7C DE 33 78 */ mr r30, r6
/* 80111BEC 0010EB4C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80111BF0 0010EB50 7C BD 2B 78 */ mr r29, r5
/* 80111BF4 0010EB54 38 A0 00 00 */ li r5, 0
/* 80111BF8 0010EB58 93 81 00 10 */ stw r28, 0x10(r1)
/* 80111BFC 0010EB5C 7C 9C 23 78 */ mr r28, r4
/* 80111C00 0010EB60 7C 04 03 78 */ mr r4, r0
/* 80111C04 0010EB64 48 20 3C 69 */ bl __nw__FUlPCcPCc
/* 80111C08 0010EB68 7C 60 1B 79 */ or. r0, r3, r3
/* 80111C0C 0010EB6C 41 82 00 28 */ beq lbl_80111C34
/* 80111C10 0010EB70 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 80111C14 0010EB74 38 80 00 07 */ li r4, 7
/* 80111C18 0010EB78 41 82 00 08 */ beq lbl_80111C20
/* 80111C1C 0010EB7C 38 80 00 09 */ li r4, 9
lbl_80111C20:
/* 80111C20 0010EB80 7F 85 07 34 */ extsh r5, r28
/* 80111C24 0010EB84 7F A6 07 34 */ extsh r6, r29
/* 80111C28 0010EB88 38 E0 00 01 */ li r7, 1
/* 80111C2C 0010EB8C 48 1F E2 01 */ bl __ct__8CTextureF12ETexelFormatssi
/* 80111C30 0010EB90 7C 60 1B 78 */ mr r0, r3
lbl_80111C34:
/* 80111C34 0010EB94 3C 60 80 5A */ lis r3, skIdentity4f@ha
/* 80111C38 0010EB98 90 1F 00 00 */ stw r0, 0(r31)
/* 80111C3C 0010EB9C 38 83 66 70 */ addi r4, r3, skIdentity4f@l
/* 80111C40 0010EBA0 38 7F 00 04 */ addi r3, r31, 4
/* 80111C44 0010EBA4 48 20 0F 31 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80111C48 0010EBA8 3C 80 80 5A */ lis r4, skIdentity4f@ha
/* 80111C4C 0010EBAC 38 7F 00 34 */ addi r3, r31, 0x34
/* 80111C50 0010EBB0 38 84 66 70 */ addi r4, r4, skIdentity4f@l
/* 80111C54 0010EBB4 48 20 0F 21 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80111C58 0010EBB8 C0 22 95 8C */ lfs f1, lbl_805AB2AC@sda21(r2)
/* 80111C5C 0010EBBC 3C 60 80 5A */ lis r3, skZero3f@ha
/* 80111C60 0010EBC0 C0 02 95 88 */ lfs f0, lbl_805AB2A8@sda21(r2)
/* 80111C64 0010EBC4 38 A3 66 A0 */ addi r5, r3, skZero3f@l
/* 80111C68 0010EBC8 D0 3F 00 64 */ stfs f1, 0x64(r31)
/* 80111C6C 0010EBCC 38 80 FF FF */ li r4, -1
/* 80111C70 0010EBD0 38 00 00 01 */ li r0, 1
/* 80111C74 0010EBD4 7F E3 FB 78 */ mr r3, r31
/* 80111C78 0010EBD8 D0 1F 00 68 */ stfs f0, 0x68(r31)
/* 80111C7C 0010EBDC D0 3F 00 6C */ stfs f1, 0x6c(r31)
/* 80111C80 0010EBE0 D0 1F 00 70 */ stfs f0, 0x70(r31)
/* 80111C84 0010EBE4 C0 05 00 00 */ lfs f0, 0(r5)
/* 80111C88 0010EBE8 D0 1F 00 74 */ stfs f0, 0x74(r31)
/* 80111C8C 0010EBEC C0 05 00 04 */ lfs f0, 4(r5)
/* 80111C90 0010EBF0 D0 1F 00 78 */ stfs f0, 0x78(r31)
/* 80111C94 0010EBF4 C0 05 00 08 */ lfs f0, 8(r5)
/* 80111C98 0010EBF8 D0 1F 00 7C */ stfs f0, 0x7c(r31)
/* 80111C9C 0010EBFC 80 AD A3 90 */ lwz r5, kInvalidAreaId@sda21(r13)
/* 80111CA0 0010EC00 90 BF 00 80 */ stw r5, 0x80(r31)
/* 80111CA4 0010EC04 90 9F 00 84 */ stw r4, 0x84(r31)
/* 80111CA8 0010EC08 98 1F 00 88 */ stb r0, 0x88(r31)
/* 80111CAC 0010EC0C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80111CB0 0010EC10 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80111CB4 0010EC14 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80111CB8 0010EC18 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80111CBC 0010EC1C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80111CC0 0010EC20 7C 08 03 A6 */ mtlr r0
/* 80111CC4 0010EC24 38 21 00 20 */ addi r1, r1, 0x20
/* 80111CC8 0010EC28 4E 80 00 20 */ blr