prime/asm/MetroidPrime/CSplashScreen.s

1487 lines
70 KiB
ArmAsm

.include "macros.inc"
.section .sdata2, "a"
.balign 8
.global lbl_805AA0A0
lbl_805AA0A0:
# ROM: 0x3F6940
.float 1.0
.global lbl_805AA0A4
lbl_805AA0A4:
# ROM: 0x3F6944
.float 1.5
.global lbl_805AA0A8
lbl_805AA0A8:
# ROM: 0x3F6948
.float 0.5
.global lbl_805AA0AC
lbl_805AA0AC:
# ROM: 0x3F694C
.float 255.0
.global lbl_805AA0B0
lbl_805AA0B0:
# ROM: 0x3F6950
.4byte 0xC1200000
.global lbl_805AA0B4
lbl_805AA0B4:
# ROM: 0x3F6954
.4byte 0x44228000
.global lbl_805AA0B8
lbl_805AA0B8:
# ROM: 0x3F6958
.4byte 0xC0B00000
.global lbl_805AA0BC
lbl_805AA0BC:
# ROM: 0x3F695C
.4byte 0x43F24000
.global lbl_805AA0C0
lbl_805AA0C0:
# ROM: 0x3F6960
.float -1.0
.global lbl_805AA0C4
lbl_805AA0C4:
# ROM: 0x3F6964
.4byte 0
.global lbl_805AA0C8
lbl_805AA0C8:
# ROM: 0x3F6968
.4byte 0x42C00000
.global lbl_805AA0CC
lbl_805AA0CC:
# ROM: 0x3F696C
.4byte 0xC5800000
.global lbl_805AA0D0
lbl_805AA0D0:
# ROM: 0x3F6970
.4byte 0x45800000
.4byte 0
.global lbl_805AA0D8
lbl_805AA0D8:
# ROM: 0x3F6978
.double 4.503601774854144E15
.global lbl_805AA0E0
lbl_805AA0E0:
# ROM: 0x3F6980
.4byte 0x41200000
.global lbl_805AA0E4
lbl_805AA0E4:
# ROM: 0x3F6984
.float 5.0
.global lbl_805AA0E8
lbl_805AA0E8:
# ROM: 0x3F6988
.float 2.0
.4byte 0
.section .data
.balign 8
.global lbl_803D9A50
lbl_803D9A50:
# ROM: 0x3D6A50
.4byte 0
.4byte 0
.4byte __dt__13CSplashScreenFv
.4byte OnMessage__13CSplashScreenFRC20CArchitectureMessageR18CArchitectureQueue
.4byte GetIsContinueDraw__6CIOWinCFv
.4byte Draw__13CSplashScreenCFv
.4byte PreDraw__6CIOWinCFv
.global __vt__12CInstruction
__vt__12CInstruction:
# ROM: 0x3D6A6C
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte PageInvoke__12CInstructionCFR16CFontRenderStateP17CTextRenderBuffer
.4byte "GetAssets__12CInstructionCFRQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>"
.4byte GetAssetCount__12CInstructionCFv
.global lbl_803D9A88
lbl_803D9A88:
# ROM: 0x3D6A88
.string16 "Display in Progressive Scan mode?\n"
.string16 "Yes "
.string16 "No"
.string16 "Display has been set to\n"
.string16 "Progressive Scan mode."
.string16 "Interlace mode."
.balign 4
.section .sdata
.balign 8
.global lbl_805A6D90
lbl_805A6D90:
# ROM: 0x3F4730
.4byte 0x0000270F
.global lbl_805A6D94
lbl_805A6D94:
# ROM: 0x3F4734
.4byte 0x0000270F
.section .text, "ax"
.global __dt__13CSplashScreenFv
__dt__13CSplashScreenFv:
/* 80028204 00025164 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80028208 00025168 7C 08 02 A6 */ mflr r0
/* 8002820C 0002516C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80028210 00025170 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80028214 00025174 7C 9F 23 78 */ mr r31, r4
/* 80028218 00025178 93 C1 00 08 */ stw r30, 8(r1)
/* 8002821C 0002517C 7C 7E 1B 79 */ or. r30, r3, r3
/* 80028220 00025180 41 82 00 40 */ beq lbl_80028260
/* 80028224 00025184 3C 60 80 3E */ lis r3, lbl_803D9A50@ha
/* 80028228 00025188 34 1E 00 28 */ addic. r0, r30, 0x28
/* 8002822C 0002518C 38 03 9A 50 */ addi r0, r3, lbl_803D9A50@l
/* 80028230 00025190 90 1E 00 00 */ stw r0, 0(r30)
/* 80028234 00025194 41 82 00 10 */ beq lbl_80028244
/* 80028238 00025198 38 7E 00 28 */ addi r3, r30, 0x28
/* 8002823C 0002519C 38 80 00 00 */ li r4, 0
/* 80028240 000251A0 48 31 8C 01 */ bl __dt__6CTokenFv
lbl_80028244:
/* 80028244 000251A4 7F C3 F3 78 */ mr r3, r30
/* 80028248 000251A8 38 80 00 00 */ li r4, 0
/* 8002824C 000251AC 48 02 A9 59 */ bl __dt__6CIOWinFv
/* 80028250 000251B0 7F E0 07 35 */ extsh. r0, r31
/* 80028254 000251B4 40 81 00 0C */ ble lbl_80028260
/* 80028258 000251B8 7F C3 F3 78 */ mr r3, r30
/* 8002825C 000251BC 48 2E D6 D5 */ bl Free__7CMemoryFPCv
lbl_80028260:
/* 80028260 000251C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80028264 000251C4 7F C3 F3 78 */ mr r3, r30
/* 80028268 000251C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002826C 000251CC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80028270 000251D0 7C 08 03 A6 */ mtlr r0
/* 80028274 000251D4 38 21 00 10 */ addi r1, r1, 0x10
/* 80028278 000251D8 4E 80 00 20 */ blr
.global Draw__13CSplashScreenCFv
Draw__13CSplashScreenCFv:
/* 8002827C 000251DC 94 21 FA F0 */ stwu r1, -0x510(r1)
/* 80028280 000251E0 7C 08 02 A6 */ mflr r0
/* 80028284 000251E4 90 01 05 14 */ stw r0, 0x514(r1)
/* 80028288 000251E8 DB E1 05 00 */ stfd f31, 0x500(r1)
/* 8002828C 000251EC F3 E1 05 08 */ psq_st f31, 1288(r1), 0, qr0
/* 80028290 000251F0 DB C1 04 F0 */ stfd f30, 0x4f0(r1)
/* 80028294 000251F4 F3 C1 04 F8 */ psq_st f30, 1272(r1), 0, qr0
/* 80028298 000251F8 DB A1 04 E0 */ stfd f29, 0x4e0(r1)
/* 8002829C 000251FC F3 A1 04 E8 */ psq_st f29, 1256(r1), 0, qr0
/* 800282A0 00025200 BF 61 04 CC */ stmw r27, 0x4cc(r1)
/* 800282A4 00025204 7C 7E 1B 78 */ mr r30, r3
/* 800282A8 00025208 88 03 00 25 */ lbz r0, 0x25(r3)
/* 800282AC 0002520C 28 00 00 00 */ cmplwi r0, 0
/* 800282B0 00025210 41 82 06 80 */ beq lbl_80028930
/* 800282B4 00025214 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 800282B8 00025218 2C 00 00 00 */ cmpwi r0, 0
/* 800282BC 0002521C 40 82 00 28 */ bne lbl_800282E4
/* 800282C0 00025220 38 80 00 00 */ li r4, 0
/* 800282C4 00025224 38 60 00 DC */ li r3, 0xdc
/* 800282C8 00025228 38 00 00 FF */ li r0, 0xff
/* 800282CC 0002522C 98 61 00 14 */ stb r3, 0x14(r1)
/* 800282D0 00025230 38 61 00 14 */ addi r3, r1, 0x14
/* 800282D4 00025234 98 81 00 15 */ stb r4, 0x15(r1)
/* 800282D8 00025238 98 81 00 16 */ stb r4, 0x16(r1)
/* 800282DC 0002523C 98 01 00 17 */ stb r0, 0x17(r1)
/* 800282E0 00025240 48 00 00 08 */ b lbl_800282E8
lbl_800282E4:
/* 800282E4 00025244 48 32 1C C9 */ bl White__6CColorFv
lbl_800282E8:
/* 800282E8 00025248 C0 3E 00 18 */ lfs f1, 0x18(r30)
/* 800282EC 0002524C C0 02 83 84 */ lfs f0, lbl_805AA0A4@sda21(r2)
/* 800282F0 00025250 83 63 00 00 */ lwz r27, 0(r3)
/* 800282F4 00025254 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 800282F8 00025258 40 81 00 1C */ ble lbl_80028314
/* 800282FC 0002525C EC 21 00 28 */ fsubs f1, f1, f0
/* 80028300 00025260 C0 02 83 88 */ lfs f0, lbl_805AA0A8@sda21(r2)
/* 80028304 00025264 C0 42 83 80 */ lfs f2, lbl_805AA0A0@sda21(r2)
/* 80028308 00025268 EC 01 00 24 */ fdivs f0, f1, f0
/* 8002830C 0002526C EF E2 00 28 */ fsubs f31, f2, f0
/* 80028310 00025270 48 00 00 1C */ b lbl_8002832C
lbl_80028314:
/* 80028314 00025274 C0 02 83 88 */ lfs f0, lbl_805AA0A8@sda21(r2)
/* 80028318 00025278 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8002831C 0002527C 40 81 00 0C */ ble lbl_80028328
/* 80028320 00025280 C3 E2 83 80 */ lfs f31, lbl_805AA0A0@sda21(r2)
/* 80028324 00025284 48 00 00 08 */ b lbl_8002832C
lbl_80028328:
/* 80028328 00025288 EF E1 00 24 */ fdivs f31, f1, f0
lbl_8002832C:
/* 8002832C 0002528C 38 60 00 07 */ li r3, 7
/* 80028330 00025290 38 80 00 00 */ li r4, 0
/* 80028334 00025294 38 A0 00 00 */ li r5, 0
/* 80028338 00025298 38 C0 00 07 */ li r6, 7
/* 8002833C 0002529C 38 E0 00 00 */ li r7, 0
/* 80028340 000252A0 48 2E 36 E9 */ bl SetAlphaCompare__9CGraphicsF13ERglAlphaFuncUc11ERglAlphaOp13ERglAlphaFuncUc
/* 80028344 000252A4 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80028348 000252A8 3C 80 80 5A */ lis r4, sIdentity__12CTransform4f@ha
/* 8002834C 000252AC 38 84 66 70 */ addi r4, r4, sIdentity__12CTransform4f@l
/* 80028350 000252B0 81 83 00 00 */ lwz r12, 0(r3)
/* 80028354 000252B4 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 80028358 000252B8 7D 89 03 A6 */ mtctr r12
/* 8002835C 000252BC 4E 80 04 21 */ bctrl
/* 80028360 000252C0 3C 60 80 5A */ lis r3, sIdentity__12CTransform4f@ha
/* 80028364 000252C4 38 63 66 70 */ addi r3, r3, sIdentity__12CTransform4f@l
/* 80028368 000252C8 48 2E 43 E5 */ bl SetViewPointMatrix__9CGraphicsFRC12CTransform4f
/* 8002836C 000252CC 3C 80 80 5A */ lis r4, kEnvModulate__9CGraphics@ha
/* 80028370 000252D0 38 60 00 00 */ li r3, 0
/* 80028374 000252D4 38 84 5E BC */ addi r4, r4, kEnvModulate__9CGraphics@l
/* 80028378 000252D8 48 2E 1F 41 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass
/* 8002837C 000252DC 80 8D 9C 68 */ lwz r4, kEnvPassthru__9CGraphics@sda21(r13)
/* 80028380 000252E0 38 60 00 01 */ li r3, 1
/* 80028384 000252E4 48 2E 1F 35 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass
/* 80028388 000252E8 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8002838C 000252EC 81 83 00 00 */ lwz r12, 0(r3)
/* 80028390 000252F0 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 80028394 000252F4 7D 89 03 A6 */ mtctr r12
/* 80028398 000252F8 4E 80 04 21 */ bctrl
/* 8002839C 000252FC 3B 81 00 C8 */ addi r28, r1, 0xc8
/* 800283A0 00025300 38 9E 00 28 */ addi r4, r30, 0x28
/* 800283A4 00025304 7F 83 E3 78 */ mr r3, r28
/* 800283A8 00025308 48 31 8B 01 */ bl __ct__6CTokenFRC6CToken
/* 800283AC 0002530C 7F 83 E3 78 */ mr r3, r28
/* 800283B0 00025310 48 31 8A 5D */ bl GetObj__6CTokenFv
/* 800283B4 00025314 83 A3 00 04 */ lwz r29, 4(r3)
/* 800283B8 00025318 38 80 00 00 */ li r4, 0
/* 800283BC 0002531C 38 A0 00 00 */ li r5, 0
/* 800283C0 00025320 93 A1 00 D0 */ stw r29, 0xd0(r1)
/* 800283C4 00025324 7F A3 EB 78 */ mr r3, r29
/* 800283C8 00025328 AB FD 00 04 */ lha r31, 4(r29)
/* 800283CC 0002532C AB 9D 00 06 */ lha r28, 6(r29)
/* 800283D0 00025330 48 2E 73 6D */ bl Load__8CTextureCF11_GXTexMapIDQ28CTexture10EClampMode
/* 800283D4 00025334 C0 02 83 8C */ lfs f0, lbl_805AA0AC@sda21(r2)
/* 800283D8 00025338 EF A0 07 F2 */ fmuls f29, f0, f31
/* 800283DC 0002533C FF C0 E8 90 */ fmr f30, f29
/* 800283E0 00025340 F3 C1 A0 10 */ psq_st f30, 16(r1), 1, qr2
/* 800283E4 00025344 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 800283E8 00025348 88 01 00 10 */ lbz r0, 0x10(r1)
/* 800283EC 0002534C 53 60 00 2E */ rlwimi r0, r27, 0, 0, 0x17
/* 800283F0 00025350 2C 03 00 00 */ cmpwi r3, 0
/* 800283F4 00025354 90 01 00 20 */ stw r0, 0x20(r1)
/* 800283F8 00025358 41 82 00 0C */ beq lbl_80028404
/* 800283FC 0002535C 2C 03 00 01 */ cmpwi r3, 1
/* 80028400 00025360 40 82 01 C8 */ bne lbl_800285C8
lbl_80028404:
/* 80028404 00025364 C0 22 83 90 */ lfs f1, lbl_805AA0B0@sda21(r2)
/* 80028408 00025368 C0 42 83 94 */ lfs f2, lbl_805AA0B4@sda21(r2)
/* 8002840C 0002536C C0 62 83 98 */ lfs f3, lbl_805AA0B8@sda21(r2)
/* 80028410 00025370 C0 82 83 9C */ lfs f4, lbl_805AA0BC@sda21(r2)
/* 80028414 00025374 C0 A2 83 A0 */ lfs f5, lbl_805AA0C0@sda21(r2)
/* 80028418 00025378 C0 C2 83 80 */ lfs f6, lbl_805AA0A0@sda21(r2)
/* 8002841C 0002537C 48 2E 41 39 */ bl SetOrtho__9CGraphicsFffffff
/* 80028420 00025380 38 BF FE 88 */ addi r5, r31, -376
/* 80028424 00025384 38 9C FF 98 */ addi r4, r28, -104
/* 80028428 00025388 54 A0 0F FE */ srwi r0, r5, 0x1f
/* 8002842C 0002538C 38 60 00 00 */ li r3, 0
/* 80028430 00025390 7C A0 2A 14 */ add r5, r0, r5
/* 80028434 00025394 54 80 0F FE */ srwi r0, r4, 0x1f
/* 80028438 00025398 7C A5 0E 70 */ srawi r5, r5, 1
/* 8002843C 0002539C 23 65 00 85 */ subfic r27, r5, 0x85
/* 80028440 000253A0 7C 00 22 14 */ add r0, r0, r4
/* 80028444 000253A4 7C 00 0E 70 */ srawi r0, r0, 1
/* 80028448 000253A8 23 A0 00 AA */ subfic r29, r0, 0xaa
/* 8002844C 000253AC 48 2E 36 25 */ bl SetCullMode__9CGraphicsF12ERglCullMode
/* 80028450 000253B0 38 60 00 98 */ li r3, 0x98
/* 80028454 000253B4 48 2E 32 15 */ bl StreamBegin__9CGraphicsF13ERglPrimitive
/* 80028458 000253B8 38 61 00 20 */ addi r3, r1, 0x20
/* 8002845C 000253BC 48 2E 30 ED */ bl StreamColor__9CGraphicsFRC6CColor
/* 80028460 000253C0 C0 22 83 A4 */ lfs f1, lbl_805AA0C4@sda21(r2)
/* 80028464 000253C4 FC 40 08 90 */ fmr f2, f1
/* 80028468 000253C8 48 2E 2F FD */ bl StreamTexcoord__9CGraphicsFff
/* 8002846C 000253CC 3C 80 43 30 */ lis r4, 0x4330
/* 80028470 000253D0 6F A3 80 00 */ xoris r3, r29, 0x8000
/* 80028474 000253D4 6F 80 80 00 */ xoris r0, r28, 0x8000
/* 80028478 000253D8 90 61 04 8C */ stw r3, 0x48c(r1)
/* 8002847C 000253DC 6F 65 80 00 */ xoris r5, r27, 0x8000
/* 80028480 000253E0 C0 42 83 A4 */ lfs f2, lbl_805AA0C4@sda21(r2)
/* 80028484 000253E4 90 81 04 88 */ stw r4, 0x488(r1)
/* 80028488 000253E8 38 61 00 BC */ addi r3, r1, 0xbc
/* 8002848C 000253EC C8 82 83 B8 */ lfd f4, lbl_805AA0D8@sda21(r2)
/* 80028490 000253F0 C8 01 04 88 */ lfd f0, 0x488(r1)
/* 80028494 000253F4 90 01 04 94 */ stw r0, 0x494(r1)
/* 80028498 000253F8 EC 20 20 28 */ fsubs f1, f0, f4
/* 8002849C 000253FC 90 81 04 90 */ stw r4, 0x490(r1)
/* 800284A0 00025400 C8 01 04 90 */ lfd f0, 0x490(r1)
/* 800284A4 00025404 90 A1 04 84 */ stw r5, 0x484(r1)
/* 800284A8 00025408 EC 00 20 28 */ fsubs f0, f0, f4
/* 800284AC 0002540C 90 81 04 80 */ stw r4, 0x480(r1)
/* 800284B0 00025410 C8 61 04 80 */ lfd f3, 0x480(r1)
/* 800284B4 00025414 EF C1 00 2A */ fadds f30, f1, f0
/* 800284B8 00025418 D0 41 00 C0 */ stfs f2, 0xc0(r1)
/* 800284BC 0002541C EC 03 20 28 */ fsubs f0, f3, f4
/* 800284C0 00025420 D3 C1 00 C4 */ stfs f30, 0xc4(r1)
/* 800284C4 00025424 D0 01 00 BC */ stfs f0, 0xbc(r1)
/* 800284C8 00025428 48 2E 30 F9 */ bl StreamVertex__9CGraphicsFRC9CVector3f
/* 800284CC 0002542C C0 22 83 A4 */ lfs f1, lbl_805AA0C4@sda21(r2)
/* 800284D0 00025430 C0 42 83 80 */ lfs f2, lbl_805AA0A0@sda21(r2)
/* 800284D4 00025434 48 2E 2F 91 */ bl StreamTexcoord__9CGraphicsFff
/* 800284D8 00025438 3C 80 43 30 */ lis r4, 0x4330
/* 800284DC 0002543C 6F 63 80 00 */ xoris r3, r27, 0x8000
/* 800284E0 00025440 6F A0 80 00 */ xoris r0, r29, 0x8000
/* 800284E4 00025444 90 61 04 9C */ stw r3, 0x49c(r1)
/* 800284E8 00025448 C0 22 83 A4 */ lfs f1, lbl_805AA0C4@sda21(r2)
/* 800284EC 0002544C 38 61 00 B0 */ addi r3, r1, 0xb0
/* 800284F0 00025450 90 81 04 98 */ stw r4, 0x498(r1)
/* 800284F4 00025454 C8 62 83 B8 */ lfd f3, lbl_805AA0D8@sda21(r2)
/* 800284F8 00025458 C8 01 04 98 */ lfd f0, 0x498(r1)
/* 800284FC 0002545C 90 01 04 A4 */ stw r0, 0x4a4(r1)
/* 80028500 00025460 EC 40 18 28 */ fsubs f2, f0, f3
/* 80028504 00025464 90 81 04 A0 */ stw r4, 0x4a0(r1)
/* 80028508 00025468 C8 01 04 A0 */ lfd f0, 0x4a0(r1)
/* 8002850C 0002546C D0 41 00 B0 */ stfs f2, 0xb0(r1)
/* 80028510 00025470 EC 00 18 28 */ fsubs f0, f0, f3
/* 80028514 00025474 D0 21 00 B4 */ stfs f1, 0xb4(r1)
/* 80028518 00025478 D0 01 00 B8 */ stfs f0, 0xb8(r1)
/* 8002851C 0002547C 48 2E 30 A5 */ bl StreamVertex__9CGraphicsFRC9CVector3f
/* 80028520 00025480 C0 22 83 80 */ lfs f1, lbl_805AA0A0@sda21(r2)
/* 80028524 00025484 C0 42 83 A4 */ lfs f2, lbl_805AA0C4@sda21(r2)
/* 80028528 00025488 48 2E 2F 3D */ bl StreamTexcoord__9CGraphicsFff
/* 8002852C 0002548C 3C 80 43 30 */ lis r4, 0x4330
/* 80028530 00025490 6F 63 80 00 */ xoris r3, r27, 0x8000
/* 80028534 00025494 6F E0 80 00 */ xoris r0, r31, 0x8000
/* 80028538 00025498 90 61 04 AC */ stw r3, 0x4ac(r1)
/* 8002853C 0002549C C0 02 83 A4 */ lfs f0, lbl_805AA0C4@sda21(r2)
/* 80028540 000254A0 38 61 00 A4 */ addi r3, r1, 0xa4
/* 80028544 000254A4 90 81 04 A8 */ stw r4, 0x4a8(r1)
/* 80028548 000254A8 C8 62 83 B8 */ lfd f3, lbl_805AA0D8@sda21(r2)
/* 8002854C 000254AC C8 21 04 A8 */ lfd f1, 0x4a8(r1)
/* 80028550 000254B0 90 01 04 B4 */ stw r0, 0x4b4(r1)
/* 80028554 000254B4 EC 41 18 28 */ fsubs f2, f1, f3
/* 80028558 000254B8 90 81 04 B0 */ stw r4, 0x4b0(r1)
/* 8002855C 000254BC C8 21 04 B0 */ lfd f1, 0x4b0(r1)
/* 80028560 000254C0 D0 01 00 A8 */ stfs f0, 0xa8(r1)
/* 80028564 000254C4 EC 01 18 28 */ fsubs f0, f1, f3
/* 80028568 000254C8 D3 C1 00 AC */ stfs f30, 0xac(r1)
/* 8002856C 000254CC EF C2 00 2A */ fadds f30, f2, f0
/* 80028570 000254D0 D3 C1 00 A4 */ stfs f30, 0xa4(r1)
/* 80028574 000254D4 48 2E 30 4D */ bl StreamVertex__9CGraphicsFRC9CVector3f
/* 80028578 000254D8 C0 22 83 80 */ lfs f1, lbl_805AA0A0@sda21(r2)
/* 8002857C 000254DC FC 40 08 90 */ fmr f2, f1
/* 80028580 000254E0 48 2E 2E E5 */ bl StreamTexcoord__9CGraphicsFff
/* 80028584 000254E4 6F A3 80 00 */ xoris r3, r29, 0x8000
/* 80028588 000254E8 3C 00 43 30 */ lis r0, 0x4330
/* 8002858C 000254EC 90 61 04 BC */ stw r3, 0x4bc(r1)
/* 80028590 000254F0 38 61 00 98 */ addi r3, r1, 0x98
/* 80028594 000254F4 C0 42 83 A4 */ lfs f2, lbl_805AA0C4@sda21(r2)
/* 80028598 000254F8 90 01 04 B8 */ stw r0, 0x4b8(r1)
/* 8002859C 000254FC C8 22 83 B8 */ lfd f1, lbl_805AA0D8@sda21(r2)
/* 800285A0 00025500 C8 01 04 B8 */ lfd f0, 0x4b8(r1)
/* 800285A4 00025504 D3 C1 00 98 */ stfs f30, 0x98(r1)
/* 800285A8 00025508 EC 00 08 28 */ fsubs f0, f0, f1
/* 800285AC 0002550C D0 41 00 9C */ stfs f2, 0x9c(r1)
/* 800285B0 00025510 D0 01 00 A0 */ stfs f0, 0xa0(r1)
/* 800285B4 00025514 48 2E 30 0D */ bl StreamVertex__9CGraphicsFRC9CVector3f
/* 800285B8 00025518 48 2E 2E 59 */ bl StreamEnd__9CGraphicsFv
/* 800285BC 0002551C 38 60 00 01 */ li r3, 1
/* 800285C0 00025520 48 2E 34 B1 */ bl SetCullMode__9CGraphicsF12ERglCullMode
/* 800285C4 00025524 48 00 00 28 */ b lbl_800285EC
lbl_800285C8:
/* 800285C8 00025528 3C 80 80 3F */ lis r4, mViewport__9CGraphics@ha
/* 800285CC 0002552C 7F A3 EB 78 */ mr r3, r29
/* 800285D0 00025530 38 E4 D9 10 */ addi r7, r4, mViewport__9CGraphics@l
/* 800285D4 00025534 39 01 00 20 */ addi r8, r1, 0x20
/* 800285D8 00025538 80 87 00 00 */ lwz r4, 0(r7)
/* 800285DC 0002553C 80 A7 00 04 */ lwz r5, 4(r7)
/* 800285E0 00025540 80 C7 00 08 */ lwz r6, 8(r7)
/* 800285E4 00025544 80 E7 00 0C */ lwz r7, 0xc(r7)
/* 800285E8 00025548 48 2E 31 75 */ bl Render2D__9CGraphicsFRC8CTextureiiiiRC6CColor
lbl_800285EC:
/* 800285EC 0002554C 3C 80 80 3F */ lis r4, mViewport__9CGraphics@ha
/* 800285F0 00025550 38 61 01 4C */ addi r3, r1, 0x14c
/* 800285F4 00025554 39 24 D9 10 */ addi r9, r4, mViewport__9CGraphics@l
/* 800285F8 00025558 81 09 00 00 */ lwz r8, 0(r9)
/* 800285FC 0002555C 80 E9 00 04 */ lwz r7, 4(r9)
/* 80028600 00025560 80 C9 00 08 */ lwz r6, 8(r9)
/* 80028604 00025564 80 A9 00 0C */ lwz r5, 0xc(r9)
/* 80028608 00025568 80 89 00 10 */ lwz r4, 0x10(r9)
/* 8002860C 0002556C 80 09 00 14 */ lwz r0, 0x14(r9)
/* 80028610 00025570 91 01 00 D4 */ stw r8, 0xd4(r1)
/* 80028614 00025574 90 E1 00 D8 */ stw r7, 0xd8(r1)
/* 80028618 00025578 90 C1 00 DC */ stw r6, 0xdc(r1)
/* 8002861C 0002557C 90 A1 00 E0 */ stw r5, 0xe0(r1)
/* 80028620 00025580 90 81 00 E4 */ stw r4, 0xe4(r1)
/* 80028624 00025584 90 01 00 E8 */ stw r0, 0xe8(r1)
/* 80028628 00025588 48 2D B7 51 */ bl __ct__18CTextExecuteBufferFv
/* 8002862C 0002558C 38 00 00 01 */ li r0, 1
/* 80028630 00025590 83 E1 00 E0 */ lwz r31, 0xe0(r1)
/* 80028634 00025594 98 01 01 E0 */ stb r0, 0x1e0(r1)
/* 80028638 00025598 38 00 00 02 */ li r0, 2
/* 8002863C 0002559C 80 C1 00 DC */ lwz r6, 0xdc(r1)
/* 80028640 000255A0 38 61 01 4C */ addi r3, r1, 0x14c
/* 80028644 000255A4 90 01 00 08 */ stw r0, 8(r1)
/* 80028648 000255A8 38 FF FF 80 */ addi r7, r31, -128
/* 8002864C 000255AC 38 80 00 00 */ li r4, 0
/* 80028650 000255B0 38 A0 00 00 */ li r5, 0
/* 80028654 000255B4 39 00 00 00 */ li r8, 0
/* 80028658 000255B8 39 20 00 00 */ li r9, 0
/* 8002865C 000255BC 39 40 00 01 */ li r10, 1
/* 80028660 000255C0 48 2D B5 0D */ bl BeginBlock__18CTextExecuteBufferFiiiib14ETextDirection14EJustification22EVerticalJustification
/* 80028664 000255C4 80 8D A0 8C */ lwz r4, gpDefaultFont@sda21(r13)
/* 80028668 000255C8 38 61 00 24 */ addi r3, r1, 0x24
/* 8002866C 000255CC 48 31 88 3D */ bl __ct__6CTokenFRC6CToken
/* 80028670 000255D0 38 61 01 4C */ addi r3, r1, 0x14c
/* 80028674 000255D4 38 81 00 24 */ addi r4, r1, 0x24
/* 80028678 000255D8 48 2D B2 DD */ bl "AddFont__18CTextExecuteBufferFRC21TToken<11CRasterFont>"
/* 8002867C 000255DC 38 61 00 24 */ addi r3, r1, 0x24
/* 80028680 000255E0 38 80 00 00 */ li r4, 0
/* 80028684 000255E4 48 31 87 BD */ bl __dt__6CTokenFv
/* 80028688 000255E8 C0 02 83 A8 */ lfs f0, lbl_805AA0C8@sda21(r2)
/* 8002868C 000255EC 38 00 00 FF */ li r0, 0xff
/* 80028690 000255F0 FC 20 E8 1E */ fctiwz f1, f29
/* 80028694 000255F4 98 01 00 1F */ stb r0, 0x1f(r1)
/* 80028698 000255F8 EC 00 07 F2 */ fmuls f0, f0, f31
/* 8002869C 000255FC 38 61 01 4C */ addi r3, r1, 0x14c
/* 800286A0 00025600 98 01 00 1B */ stb r0, 0x1b(r1)
/* 800286A4 00025604 38 A1 00 1C */ addi r5, r1, 0x1c
/* 800286A8 00025608 FC 00 00 1E */ fctiwz f0, f0
/* 800286AC 0002560C D8 21 04 B8 */ stfd f1, 0x4b8(r1)
/* 800286B0 00025610 38 80 00 03 */ li r4, 3
/* 800286B4 00025614 80 01 04 BC */ lwz r0, 0x4bc(r1)
/* 800286B8 00025618 D8 01 04 B0 */ stfd f0, 0x4b0(r1)
/* 800286BC 0002561C 80 C1 04 B4 */ lwz r6, 0x4b4(r1)
/* 800286C0 00025620 98 01 00 1C */ stb r0, 0x1c(r1)
/* 800286C4 00025624 98 01 00 1D */ stb r0, 0x1d(r1)
/* 800286C8 00025628 98 01 00 1E */ stb r0, 0x1e(r1)
/* 800286CC 0002562C 98 C1 00 18 */ stb r6, 0x18(r1)
/* 800286D0 00025630 98 C1 00 19 */ stb r6, 0x19(r1)
/* 800286D4 00025634 98 C1 00 1A */ stb r6, 0x1a(r1)
/* 800286D8 00025638 48 2D AD ED */ bl AddColor__18CTextExecuteBufferF10EColorTypeRC10CTextColor
/* 800286DC 0002563C 80 1E 00 20 */ lwz r0, 0x20(r30)
/* 800286E0 00025640 2C 00 00 01 */ cmpwi r0, 1
/* 800286E4 00025644 40 82 00 DC */ bne lbl_800287C0
/* 800286E8 00025648 C0 3E 00 18 */ lfs f1, 0x18(r30)
/* 800286EC 0002564C C0 02 83 88 */ lfs f0, lbl_805AA0A8@sda21(r2)
/* 800286F0 00025650 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 800286F4 00025654 4C 40 13 82 */ cror 2, 0, 2
/* 800286F8 00025658 40 82 00 C8 */ bne lbl_800287C0
/* 800286FC 0002565C 3C 80 80 3E */ lis r4, lbl_803D9A88@ha
/* 80028700 00025660 38 61 00 88 */ addi r3, r1, 0x88
/* 80028704 00025664 38 84 9A 88 */ addi r4, r4, lbl_803D9A88@l
/* 80028708 00025668 4B FE D2 E9 */ bl wstring_l__4rstlFPCw
/* 8002870C 0002566C 80 81 00 88 */ lwz r4, 0x88(r1)
/* 80028710 00025670 38 61 01 4C */ addi r3, r1, 0x14c
/* 80028714 00025674 80 A1 00 90 */ lwz r5, 0x90(r1)
/* 80028718 00025678 48 2D 9D 59 */ bl AddString__18CTextExecuteBufferFPCwi
/* 8002871C 0002567C 38 61 00 88 */ addi r3, r1, 0x88
/* 80028720 00025680 48 31 4A 15 */ bl "internal_dereference__Q24rstl66basic_string<w,Q24rstl14char_traits<w>,Q24rstl17rmemory_allocator>Fv"
/* 80028724 00025684 88 1E 00 24 */ lbz r0, 0x24(r30)
/* 80028728 00025688 38 61 01 4C */ addi r3, r1, 0x14c
/* 8002872C 0002568C 38 A1 00 18 */ addi r5, r1, 0x18
/* 80028730 00025690 38 80 00 03 */ li r4, 3
/* 80028734 00025694 28 00 00 00 */ cmplwi r0, 0
/* 80028738 00025698 41 82 00 08 */ beq lbl_80028740
/* 8002873C 0002569C 38 A1 00 1C */ addi r5, r1, 0x1c
lbl_80028740:
/* 80028740 000256A0 48 2D AD 85 */ bl AddColor__18CTextExecuteBufferF10EColorTypeRC10CTextColor
/* 80028744 000256A4 3C 80 80 3E */ lis r4, lbl_803D9A88@ha
/* 80028748 000256A8 38 61 00 78 */ addi r3, r1, 0x78
/* 8002874C 000256AC 38 84 9A 88 */ addi r4, r4, lbl_803D9A88@l
/* 80028750 000256B0 38 84 00 46 */ addi r4, r4, 0x46
/* 80028754 000256B4 4B FE D2 9D */ bl wstring_l__4rstlFPCw
/* 80028758 000256B8 80 81 00 78 */ lwz r4, 0x78(r1)
/* 8002875C 000256BC 38 61 01 4C */ addi r3, r1, 0x14c
/* 80028760 000256C0 80 A1 00 80 */ lwz r5, 0x80(r1)
/* 80028764 000256C4 48 2D 9D 0D */ bl AddString__18CTextExecuteBufferFPCwi
/* 80028768 000256C8 38 61 00 78 */ addi r3, r1, 0x78
/* 8002876C 000256CC 48 31 49 C9 */ bl "internal_dereference__Q24rstl66basic_string<w,Q24rstl14char_traits<w>,Q24rstl17rmemory_allocator>Fv"
/* 80028770 000256D0 88 1E 00 24 */ lbz r0, 0x24(r30)
/* 80028774 000256D4 38 61 01 4C */ addi r3, r1, 0x14c
/* 80028778 000256D8 38 A1 00 1C */ addi r5, r1, 0x1c
/* 8002877C 000256DC 38 80 00 03 */ li r4, 3
/* 80028780 000256E0 28 00 00 00 */ cmplwi r0, 0
/* 80028784 000256E4 41 82 00 08 */ beq lbl_8002878C
/* 80028788 000256E8 38 A1 00 18 */ addi r5, r1, 0x18
lbl_8002878C:
/* 8002878C 000256EC 48 2D AD 39 */ bl AddColor__18CTextExecuteBufferF10EColorTypeRC10CTextColor
/* 80028790 000256F0 3C 80 80 3E */ lis r4, lbl_803D9A88@ha
/* 80028794 000256F4 38 61 00 68 */ addi r3, r1, 0x68
/* 80028798 000256F8 38 84 9A 88 */ addi r4, r4, lbl_803D9A88@l
/* 8002879C 000256FC 38 84 00 58 */ addi r4, r4, 0x58
/* 800287A0 00025700 4B FE D2 51 */ bl wstring_l__4rstlFPCw
/* 800287A4 00025704 80 81 00 68 */ lwz r4, 0x68(r1)
/* 800287A8 00025708 38 61 01 4C */ addi r3, r1, 0x14c
/* 800287AC 0002570C 80 A1 00 70 */ lwz r5, 0x70(r1)
/* 800287B0 00025710 48 2D 9C C1 */ bl AddString__18CTextExecuteBufferFPCwi
/* 800287B4 00025714 38 61 00 68 */ addi r3, r1, 0x68
/* 800287B8 00025718 48 31 49 7D */ bl "internal_dereference__Q24rstl66basic_string<w,Q24rstl14char_traits<w>,Q24rstl17rmemory_allocator>Fv"
/* 800287BC 0002571C 48 00 00 7C */ b lbl_80028838
lbl_800287C0:
/* 800287C0 00025720 2C 00 00 02 */ cmpwi r0, 2
/* 800287C4 00025724 40 82 00 74 */ bne lbl_80028838
/* 800287C8 00025728 38 00 00 00 */ li r0, 0
/* 800287CC 0002572C 3C 60 80 3E */ lis r3, lbl_803D9A88@ha
/* 800287D0 00025730 38 83 9A 88 */ addi r4, r3, lbl_803D9A88@l
/* 800287D4 00025734 98 0D 80 00 */ stb r0, lbl_805A6BC0@sda21(r13)
/* 800287D8 00025738 38 61 00 58 */ addi r3, r1, 0x58
/* 800287DC 0002573C 38 84 00 5E */ addi r4, r4, 0x5e
/* 800287E0 00025740 4B FE D2 11 */ bl wstring_l__4rstlFPCw
/* 800287E4 00025744 80 81 00 58 */ lwz r4, 0x58(r1)
/* 800287E8 00025748 38 61 01 4C */ addi r3, r1, 0x14c
/* 800287EC 0002574C 80 A1 00 60 */ lwz r5, 0x60(r1)
/* 800287F0 00025750 48 2D 9C 81 */ bl AddString__18CTextExecuteBufferFPCwi
/* 800287F4 00025754 38 61 00 58 */ addi r3, r1, 0x58
/* 800287F8 00025758 48 31 49 3D */ bl "internal_dereference__Q24rstl66basic_string<w,Q24rstl14char_traits<w>,Q24rstl17rmemory_allocator>Fv"
/* 800287FC 0002575C 88 1E 00 24 */ lbz r0, 0x24(r30)
/* 80028800 00025760 3C 60 80 3E */ lis r3, lbl_803D9A88@ha
/* 80028804 00025764 38 A3 9A 88 */ addi r5, r3, lbl_803D9A88@l
/* 80028808 00025768 38 61 00 48 */ addi r3, r1, 0x48
/* 8002880C 0002576C 28 00 00 00 */ cmplwi r0, 0
/* 80028810 00025770 38 85 00 BE */ addi r4, r5, 0xbe
/* 80028814 00025774 41 82 00 08 */ beq lbl_8002881C
/* 80028818 00025778 38 85 00 90 */ addi r4, r5, 0x90
lbl_8002881C:
/* 8002881C 0002577C 4B FE D1 D5 */ bl wstring_l__4rstlFPCw
/* 80028820 00025780 80 81 00 48 */ lwz r4, 0x48(r1)
/* 80028824 00025784 38 61 01 4C */ addi r3, r1, 0x14c
/* 80028828 00025788 80 A1 00 50 */ lwz r5, 0x50(r1)
/* 8002882C 0002578C 48 2D 9C 45 */ bl AddString__18CTextExecuteBufferFPCwi
/* 80028830 00025790 38 61 00 48 */ addi r3, r1, 0x48
/* 80028834 00025794 48 31 49 01 */ bl "internal_dereference__Q24rstl66basic_string<w,Q24rstl14char_traits<w>,Q24rstl17rmemory_allocator>Fv"
lbl_80028838:
/* 80028838 00025798 38 61 01 4C */ addi r3, r1, 0x14c
/* 8002883C 0002579C 48 2D B2 ED */ bl EndBlock__18CTextExecuteBufferFv
/* 80028840 000257A0 80 8D A0 68 */ lwz r4, gpRender@sda21(r13)
/* 80028844 000257A4 38 61 00 38 */ addi r3, r1, 0x38
/* 80028848 000257A8 C0 22 83 AC */ lfs f1, lbl_805AA0CC@sda21(r2)
/* 8002884C 000257AC 38 A0 00 00 */ li r5, 0
/* 80028850 000257B0 81 84 00 00 */ lwz r12, 0(r4)
/* 80028854 000257B4 C0 42 83 B0 */ lfs f2, lbl_805AA0D0@sda21(r2)
/* 80028858 000257B8 81 8C 00 54 */ lwz r12, 0x54(r12)
/* 8002885C 000257BC 7D 89 03 A6 */ mtctr r12
/* 80028860 000257C0 4E 80 04 21 */ bctrl
/* 80028864 000257C4 38 60 00 01 */ li r3, 1
/* 80028868 000257C8 38 80 00 04 */ li r4, 4
/* 8002886C 000257CC 38 A0 00 05 */ li r5, 5
/* 80028870 000257D0 38 C0 00 00 */ li r6, 0
/* 80028874 000257D4 48 2E 31 DD */ bl SetBlendMode__9CGraphicsF13ERglBlendMode15ERglBlendFactor15ERglBlendFactor11ERglLogicOp
/* 80028878 000257D8 38 60 00 00 */ li r3, 0
/* 8002887C 000257DC 48 2E 31 F5 */ bl SetCullMode__9CGraphicsF12ERglCullMode
/* 80028880 000257E0 6F E3 80 00 */ xoris r3, r31, 0x8000
/* 80028884 000257E4 3C 00 43 30 */ lis r0, 0x4330
/* 80028888 000257E8 90 61 04 BC */ stw r3, 0x4bc(r1)
/* 8002888C 000257EC 3C 80 80 5A */ lis r4, sRightVector__9CVector3f@ha
/* 80028890 000257F0 C0 42 83 A4 */ lfs f2, lbl_805AA0C4@sda21(r2)
/* 80028894 000257F4 3C A0 80 5A */ lis r5, sForwardVector__9CVector3f@ha
/* 80028898 000257F8 90 01 04 B8 */ stw r0, 0x4b8(r1)
/* 8002889C 000257FC 3C 60 80 5A */ lis r3, sDownVector__9CVector3f@ha
/* 800288A0 00025800 C8 22 83 B8 */ lfd f1, lbl_805AA0D8@sda21(r2)
/* 800288A4 00025804 38 C3 67 00 */ addi r6, r3, sDownVector__9CVector3f@l
/* 800288A8 00025808 C8 01 04 B8 */ lfd f0, 0x4b8(r1)
/* 800288AC 0002580C 38 84 67 18 */ addi r4, r4, sRightVector__9CVector3f@l
/* 800288B0 00025810 D0 41 00 2C */ stfs f2, 0x2c(r1)
/* 800288B4 00025814 38 A5 67 24 */ addi r5, r5, sForwardVector__9CVector3f@l
/* 800288B8 00025818 EC 00 08 28 */ fsubs f0, f0, f1
/* 800288BC 0002581C 38 61 00 EC */ addi r3, r1, 0xec
/* 800288C0 00025820 D0 41 00 30 */ stfs f2, 0x30(r1)
/* 800288C4 00025824 38 E1 00 2C */ addi r7, r1, 0x2c
/* 800288C8 00025828 D0 01 00 34 */ stfs f0, 0x34(r1)
/* 800288CC 0002582C 48 2E A5 91 */ bl __ct__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f_0
/* 800288D0 00025830 38 61 01 1C */ addi r3, r1, 0x11c
/* 800288D4 00025834 38 81 00 EC */ addi r4, r1, 0xec
/* 800288D8 00025838 48 2E A2 9D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 800288DC 0002583C 38 61 01 1C */ addi r3, r1, 0x11c
/* 800288E0 00025840 48 2E 3D 01 */ bl SetModelMatrix__9CGraphicsFRC12CTransform4f
/* 800288E4 00025844 38 61 02 28 */ addi r3, r1, 0x228
/* 800288E8 00025848 38 81 01 4C */ addi r4, r1, 0x14c
/* 800288EC 0002584C 48 2D 98 C5 */ bl BuildRenderBuffer__18CTextExecuteBufferFv
/* 800288F0 00025850 48 32 16 BD */ bl White__6CColorFv
/* 800288F4 00025854 C0 22 83 A4 */ lfs f1, lbl_805AA0C4@sda21(r2)
/* 800288F8 00025858 7C 64 1B 78 */ mr r4, r3
/* 800288FC 0002585C 38 61 02 28 */ addi r3, r1, 0x228
/* 80028900 00025860 48 33 1B BD */ bl Render__17CTextRenderBufferCFRC6CColorf
/* 80028904 00025864 38 61 02 28 */ addi r3, r1, 0x228
/* 80028908 00025868 38 80 FF FF */ li r4, -1
/* 8002890C 0002586C 48 00 00 51 */ bl __dt__17CTextRenderBufferFv
/* 80028910 00025870 38 60 00 01 */ li r3, 1
/* 80028914 00025874 48 2E 31 5D */ bl SetCullMode__9CGraphicsF12ERglCullMode
/* 80028918 00025878 38 61 01 4C */ addi r3, r1, 0x14c
/* 8002891C 0002587C 38 80 FF FF */ li r4, -1
/* 80028920 00025880 48 00 03 95 */ bl __dt__18CTextExecuteBufferFv
/* 80028924 00025884 38 61 00 C8 */ addi r3, r1, 0xc8
/* 80028928 00025888 38 80 00 00 */ li r4, 0
/* 8002892C 0002588C 48 31 85 15 */ bl __dt__6CTokenFv
lbl_80028930:
/* 80028930 00025890 E3 E1 05 08 */ psq_l f31, 1288(r1), 0, qr0
/* 80028934 00025894 CB E1 05 00 */ lfd f31, 0x500(r1)
/* 80028938 00025898 E3 C1 04 F8 */ psq_l f30, 1272(r1), 0, qr0
/* 8002893C 0002589C CB C1 04 F0 */ lfd f30, 0x4f0(r1)
/* 80028940 000258A0 E3 A1 04 E8 */ psq_l f29, 1256(r1), 0, qr0
/* 80028944 000258A4 CB A1 04 E0 */ lfd f29, 0x4e0(r1)
/* 80028948 000258A8 BB 61 04 CC */ lmw r27, 0x4cc(r1)
/* 8002894C 000258AC 80 01 05 14 */ lwz r0, 0x514(r1)
/* 80028950 000258B0 7C 08 03 A6 */ mtlr r0
/* 80028954 000258B4 38 21 05 10 */ addi r1, r1, 0x510
/* 80028958 000258B8 4E 80 00 20 */ blr
.global __dt__17CTextRenderBufferFv
__dt__17CTextRenderBufferFv:
/* 8002895C 000258BC 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80028960 000258C0 7C 08 02 A6 */ mflr r0
/* 80028964 000258C4 90 01 00 54 */ stw r0, 0x54(r1)
/* 80028968 000258C8 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 8002896C 000258CC 7C 9F 23 78 */ mr r31, r4
/* 80028970 000258D0 93 C1 00 48 */ stw r30, 0x48(r1)
/* 80028974 000258D4 7C 7E 1B 79 */ or. r30, r3, r3
/* 80028978 000258D8 93 A1 00 44 */ stw r29, 0x44(r1)
/* 8002897C 000258DC 93 81 00 40 */ stw r28, 0x40(r1)
/* 80028980 000258E0 41 82 01 58 */ beq lbl_80028AD8
/* 80028984 000258E4 34 1E 00 50 */ addic. r0, r30, 0x50
/* 80028988 000258E8 41 82 00 4C */ beq lbl_800289D4
/* 8002898C 000258EC 3B 9E 00 54 */ addi r28, r30, 0x54
/* 80028990 000258F0 3B A0 00 00 */ li r29, 0
/* 80028994 000258F4 48 00 00 2C */ b lbl_800289C0
lbl_80028998:
/* 80028998 000258F8 28 1C 00 00 */ cmplwi r28, 0
/* 8002899C 000258FC 41 82 00 1C */ beq lbl_800289B8
/* 800289A0 00025900 88 1C 00 00 */ lbz r0, 0(r28)
/* 800289A4 00025904 28 00 00 00 */ cmplwi r0, 0
/* 800289A8 00025908 41 82 00 10 */ beq lbl_800289B8
/* 800289AC 0002590C 80 7C 00 04 */ lwz r3, 4(r28)
/* 800289B0 00025910 38 80 00 01 */ li r4, 1
/* 800289B4 00025914 48 2E 55 4D */ bl __dt__16CGraphicsPaletteFv
lbl_800289B8:
/* 800289B8 00025918 3B 9C 00 08 */ addi r28, r28, 8
/* 800289BC 0002591C 3B BD 00 01 */ addi r29, r29, 1
lbl_800289C0:
/* 800289C0 00025920 80 1E 00 50 */ lwz r0, 0x50(r30)
/* 800289C4 00025924 7C 1D 00 00 */ cmpw r29, r0
/* 800289C8 00025928 41 80 FF D0 */ blt lbl_80028998
/* 800289CC 0002592C 38 00 00 00 */ li r0, 0
/* 800289D0 00025930 90 1E 00 50 */ stw r0, 0x50(r30)
lbl_800289D4:
/* 800289D4 00025934 34 1E 00 34 */ addic. r0, r30, 0x34
/* 800289D8 00025938 41 82 00 40 */ beq lbl_80028A18
/* 800289DC 0002593C 80 7E 00 40 */ lwz r3, 0x40(r30)
/* 800289E0 00025940 80 1E 00 38 */ lwz r0, 0x38(r30)
/* 800289E4 00025944 90 61 00 2C */ stw r3, 0x2c(r1)
/* 800289E8 00025948 7C 83 02 14 */ add r4, r3, r0
/* 800289EC 0002594C 7C 03 20 50 */ subf r0, r3, r4
/* 800289F0 00025950 90 81 00 34 */ stw r4, 0x34(r1)
/* 800289F4 00025954 90 81 00 30 */ stw r4, 0x30(r1)
/* 800289F8 00025958 90 61 00 28 */ stw r3, 0x28(r1)
/* 800289FC 0002595C 7C 09 03 A6 */ mtctr r0
/* 80028A00 00025960 7C 03 20 40 */ cmplw r3, r4
/* 80028A04 00025964 41 82 00 08 */ beq lbl_80028A0C
lbl_80028A08:
/* 80028A08 00025968 42 00 00 00 */ bdnz lbl_80028A08
lbl_80028A0C:
/* 80028A0C 0002596C 28 03 00 00 */ cmplwi r3, 0
/* 80028A10 00025970 41 82 00 08 */ beq lbl_80028A18
/* 80028A14 00025974 48 2E CF 1D */ bl Free__7CMemoryFPCv
lbl_80028A18:
/* 80028A18 00025978 34 1E 00 24 */ addic. r0, r30, 0x24
/* 80028A1C 0002597C 41 82 00 44 */ beq lbl_80028A60
/* 80028A20 00025980 80 1E 00 28 */ lwz r0, 0x28(r30)
/* 80028A24 00025984 80 7E 00 30 */ lwz r3, 0x30(r30)
/* 80028A28 00025988 54 00 10 3A */ slwi r0, r0, 2
/* 80028A2C 0002598C 7C 03 02 14 */ add r0, r3, r0
/* 80028A30 00025990 90 61 00 1C */ stw r3, 0x1c(r1)
/* 80028A34 00025994 7C 64 1B 78 */ mr r4, r3
/* 80028A38 00025998 90 01 00 24 */ stw r0, 0x24(r1)
/* 80028A3C 0002599C 90 01 00 20 */ stw r0, 0x20(r1)
/* 80028A40 000259A0 90 61 00 18 */ stw r3, 0x18(r1)
/* 80028A44 000259A4 48 00 00 08 */ b lbl_80028A4C
lbl_80028A48:
/* 80028A48 000259A8 38 84 00 04 */ addi r4, r4, 4
lbl_80028A4C:
/* 80028A4C 000259AC 7C 04 00 40 */ cmplw r4, r0
/* 80028A50 000259B0 40 82 FF F8 */ bne lbl_80028A48
/* 80028A54 000259B4 28 03 00 00 */ cmplwi r3, 0
/* 80028A58 000259B8 41 82 00 08 */ beq lbl_80028A60
/* 80028A5C 000259BC 48 2E CE D5 */ bl Free__7CMemoryFPCv
lbl_80028A60:
/* 80028A60 000259C0 38 7E 00 14 */ addi r3, r30, 0x14
/* 80028A64 000259C4 38 80 FF FF */ li r4, -1
/* 80028A68 000259C8 48 00 00 95 */ bl sub_80028afc
/* 80028A6C 000259CC 34 1E 00 04 */ addic. r0, r30, 4
/* 80028A70 000259D0 41 82 00 58 */ beq lbl_80028AC8
/* 80028A74 000259D4 80 1E 00 08 */ lwz r0, 8(r30)
/* 80028A78 000259D8 83 9E 00 10 */ lwz r28, 0x10(r30)
/* 80028A7C 000259DC 54 00 18 38 */ slwi r0, r0, 3
/* 80028A80 000259E0 7F BC 02 14 */ add r29, r28, r0
/* 80028A84 000259E4 93 81 00 0C */ stw r28, 0xc(r1)
/* 80028A88 000259E8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80028A8C 000259EC 93 A1 00 10 */ stw r29, 0x10(r1)
/* 80028A90 000259F0 93 81 00 08 */ stw r28, 8(r1)
/* 80028A94 000259F4 48 00 00 1C */ b lbl_80028AB0
lbl_80028A98:
/* 80028A98 000259F8 28 1C 00 00 */ cmplwi r28, 0
/* 80028A9C 000259FC 41 82 00 10 */ beq lbl_80028AAC
/* 80028AA0 00025A00 7F 83 E3 78 */ mr r3, r28
/* 80028AA4 00025A04 38 80 00 00 */ li r4, 0
/* 80028AA8 00025A08 48 31 83 99 */ bl __dt__6CTokenFv
lbl_80028AAC:
/* 80028AAC 00025A0C 3B 9C 00 08 */ addi r28, r28, 8
lbl_80028AB0:
/* 80028AB0 00025A10 7C 1C E8 40 */ cmplw r28, r29
/* 80028AB4 00025A14 40 82 FF E4 */ bne lbl_80028A98
/* 80028AB8 00025A18 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80028ABC 00025A1C 28 03 00 00 */ cmplwi r3, 0
/* 80028AC0 00025A20 41 82 00 08 */ beq lbl_80028AC8
/* 80028AC4 00025A24 48 2E CE 6D */ bl Free__7CMemoryFPCv
lbl_80028AC8:
/* 80028AC8 00025A28 7F E0 07 35 */ extsh. r0, r31
/* 80028ACC 00025A2C 40 81 00 0C */ ble lbl_80028AD8
/* 80028AD0 00025A30 7F C3 F3 78 */ mr r3, r30
/* 80028AD4 00025A34 48 2E CE 5D */ bl Free__7CMemoryFPCv
lbl_80028AD8:
/* 80028AD8 00025A38 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80028ADC 00025A3C 7F C3 F3 78 */ mr r3, r30
/* 80028AE0 00025A40 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 80028AE4 00025A44 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 80028AE8 00025A48 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 80028AEC 00025A4C 83 81 00 40 */ lwz r28, 0x40(r1)
/* 80028AF0 00025A50 7C 08 03 A6 */ mtlr r0
/* 80028AF4 00025A54 38 21 00 50 */ addi r1, r1, 0x50
/* 80028AF8 00025A58 4E 80 00 20 */ blr
.global sub_80028afc
sub_80028afc:
/* 80028AFC 00025A5C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80028B00 00025A60 7C 08 02 A6 */ mflr r0
/* 80028B04 00025A64 90 01 00 24 */ stw r0, 0x24(r1)
/* 80028B08 00025A68 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80028B0C 00025A6C 7C 9F 23 78 */ mr r31, r4
/* 80028B10 00025A70 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80028B14 00025A74 7C 7E 1B 79 */ or. r30, r3, r3
/* 80028B18 00025A78 41 82 00 54 */ beq lbl_80028B6C
/* 80028B1C 00025A7C 80 1E 00 04 */ lwz r0, 4(r30)
/* 80028B20 00025A80 38 61 00 14 */ addi r3, r1, 0x14
/* 80028B24 00025A84 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 80028B28 00025A88 38 81 00 0C */ addi r4, r1, 0xc
/* 80028B2C 00025A8C 1C 00 00 1C */ mulli r0, r0, 0x1c
/* 80028B30 00025A90 7C A5 02 14 */ add r5, r5, r0
/* 80028B34 00025A94 90 A1 00 0C */ stw r5, 0xc(r1)
/* 80028B38 00025A98 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 80028B3C 00025A9C 90 A1 00 08 */ stw r5, 8(r1)
/* 80028B40 00025AA0 90 01 00 10 */ stw r0, 0x10(r1)
/* 80028B44 00025AA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80028B48 00025AA8 48 00 00 41 */ bl sub_80028b88
/* 80028B4C 00025AAC 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80028B50 00025AB0 28 03 00 00 */ cmplwi r3, 0
/* 80028B54 00025AB4 41 82 00 08 */ beq lbl_80028B5C
/* 80028B58 00025AB8 48 2E CD D9 */ bl Free__7CMemoryFPCv
lbl_80028B5C:
/* 80028B5C 00025ABC 7F E0 07 35 */ extsh. r0, r31
/* 80028B60 00025AC0 40 81 00 0C */ ble lbl_80028B6C
/* 80028B64 00025AC4 7F C3 F3 78 */ mr r3, r30
/* 80028B68 00025AC8 48 2E CD C9 */ bl Free__7CMemoryFPCv
lbl_80028B6C:
/* 80028B6C 00025ACC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80028B70 00025AD0 7F C3 F3 78 */ mr r3, r30
/* 80028B74 00025AD4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80028B78 00025AD8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80028B7C 00025ADC 7C 08 03 A6 */ mtlr r0
/* 80028B80 00025AE0 38 21 00 20 */ addi r1, r1, 0x20
/* 80028B84 00025AE4 4E 80 00 20 */ blr
.global sub_80028b88
sub_80028b88:
/* 80028B88 00025AE8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80028B8C 00025AEC 7C 08 02 A6 */ mflr r0
/* 80028B90 00025AF0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80028B94 00025AF4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80028B98 00025AF8 93 C1 00 08 */ stw r30, 8(r1)
/* 80028B9C 00025AFC 7C 9E 23 78 */ mr r30, r4
/* 80028BA0 00025B00 83 E3 00 00 */ lwz r31, 0(r3)
/* 80028BA4 00025B04 48 00 00 10 */ b lbl_80028BB4
lbl_80028BA8:
/* 80028BA8 00025B08 7F E3 FB 78 */ mr r3, r31
/* 80028BAC 00025B0C 48 00 00 2D */ bl sub_80028bd8
/* 80028BB0 00025B10 3B FF 00 1C */ addi r31, r31, 0x1c
lbl_80028BB4:
/* 80028BB4 00025B14 80 1E 00 00 */ lwz r0, 0(r30)
/* 80028BB8 00025B18 7C 1F 00 40 */ cmplw r31, r0
/* 80028BBC 00025B1C 40 82 FF EC */ bne lbl_80028BA8
/* 80028BC0 00025B20 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80028BC4 00025B24 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80028BC8 00025B28 83 C1 00 08 */ lwz r30, 8(r1)
/* 80028BCC 00025B2C 7C 08 03 A6 */ mtlr r0
/* 80028BD0 00025B30 38 21 00 10 */ addi r1, r1, 0x10
/* 80028BD4 00025B34 4E 80 00 20 */ blr
.global sub_80028bd8
sub_80028bd8:
/* 80028BD8 00025B38 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80028BDC 00025B3C 7C 08 02 A6 */ mflr r0
/* 80028BE0 00025B40 38 80 FF FF */ li r4, -1
/* 80028BE4 00025B44 90 01 00 14 */ stw r0, 0x14(r1)
/* 80028BE8 00025B48 48 00 00 15 */ bl sub_80028bfc
/* 80028BEC 00025B4C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80028BF0 00025B50 7C 08 03 A6 */ mtlr r0
/* 80028BF4 00025B54 38 21 00 10 */ addi r1, r1, 0x10
/* 80028BF8 00025B58 4E 80 00 20 */ blr
.global sub_80028bfc
sub_80028bfc:
/* 80028BFC 00025B5C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80028C00 00025B60 7C 08 02 A6 */ mflr r0
/* 80028C04 00025B64 90 01 00 34 */ stw r0, 0x34(r1)
/* 80028C08 00025B68 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80028C0C 00025B6C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80028C10 00025B70 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80028C14 00025B74 7C 9D 23 78 */ mr r29, r4
/* 80028C18 00025B78 93 81 00 20 */ stw r28, 0x20(r1)
/* 80028C1C 00025B7C 7C 7C 1B 79 */ or. r28, r3, r3
/* 80028C20 00025B80 41 82 00 70 */ beq lbl_80028C90
/* 80028C24 00025B84 34 1C 00 04 */ addic. r0, r28, 4
/* 80028C28 00025B88 41 82 00 58 */ beq lbl_80028C80
/* 80028C2C 00025B8C 80 1C 00 08 */ lwz r0, 8(r28)
/* 80028C30 00025B90 83 DC 00 10 */ lwz r30, 0x10(r28)
/* 80028C34 00025B94 54 00 18 38 */ slwi r0, r0, 3
/* 80028C38 00025B98 7F FE 02 14 */ add r31, r30, r0
/* 80028C3C 00025B9C 93 C1 00 0C */ stw r30, 0xc(r1)
/* 80028C40 00025BA0 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80028C44 00025BA4 93 E1 00 10 */ stw r31, 0x10(r1)
/* 80028C48 00025BA8 93 C1 00 08 */ stw r30, 8(r1)
/* 80028C4C 00025BAC 48 00 00 1C */ b lbl_80028C68
lbl_80028C50:
/* 80028C50 00025BB0 28 1E 00 00 */ cmplwi r30, 0
/* 80028C54 00025BB4 41 82 00 10 */ beq lbl_80028C64
/* 80028C58 00025BB8 7F C3 F3 78 */ mr r3, r30
/* 80028C5C 00025BBC 38 80 00 00 */ li r4, 0
/* 80028C60 00025BC0 48 31 81 E1 */ bl __dt__6CTokenFv
lbl_80028C64:
/* 80028C64 00025BC4 3B DE 00 08 */ addi r30, r30, 8
lbl_80028C68:
/* 80028C68 00025BC8 7C 1E F8 40 */ cmplw r30, r31
/* 80028C6C 00025BCC 40 82 FF E4 */ bne lbl_80028C50
/* 80028C70 00025BD0 80 7C 00 10 */ lwz r3, 0x10(r28)
/* 80028C74 00025BD4 28 03 00 00 */ cmplwi r3, 0
/* 80028C78 00025BD8 41 82 00 08 */ beq lbl_80028C80
/* 80028C7C 00025BDC 48 2E CC B5 */ bl Free__7CMemoryFPCv
lbl_80028C80:
/* 80028C80 00025BE0 7F A0 07 35 */ extsh. r0, r29
/* 80028C84 00025BE4 40 81 00 0C */ ble lbl_80028C90
/* 80028C88 00025BE8 7F 83 E3 78 */ mr r3, r28
/* 80028C8C 00025BEC 48 2E CC A5 */ bl Free__7CMemoryFPCv
lbl_80028C90:
/* 80028C90 00025BF0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80028C94 00025BF4 7F 83 E3 78 */ mr r3, r28
/* 80028C98 00025BF8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80028C9C 00025BFC 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80028CA0 00025C00 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80028CA4 00025C04 83 81 00 20 */ lwz r28, 0x20(r1)
/* 80028CA8 00025C08 7C 08 03 A6 */ mtlr r0
/* 80028CAC 00025C0C 38 21 00 30 */ addi r1, r1, 0x30
/* 80028CB0 00025C10 4E 80 00 20 */ blr
.global __dt__18CTextExecuteBufferFv
__dt__18CTextExecuteBufferFv:
/* 80028CB4 00025C14 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80028CB8 00025C18 7C 08 02 A6 */ mflr r0
/* 80028CBC 00025C1C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80028CC0 00025C20 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80028CC4 00025C24 7C 9F 23 78 */ mr r31, r4
/* 80028CC8 00025C28 93 C1 00 08 */ stw r30, 8(r1)
/* 80028CCC 00025C2C 7C 7E 1B 79 */ or. r30, r3, r3
/* 80028CD0 00025C30 41 82 00 38 */ beq lbl_80028D08
/* 80028CD4 00025C34 38 7E 00 C4 */ addi r3, r30, 0xc4
/* 80028CD8 00025C38 38 80 FF FF */ li r4, -1
/* 80028CDC 00025C3C 48 00 06 9D */ bl sub_80029378
/* 80028CE0 00025C40 38 7E 00 18 */ addi r3, r30, 0x18
/* 80028CE4 00025C44 38 80 FF FF */ li r4, -1
/* 80028CE8 00025C48 48 00 00 3D */ bl __dt__14CSaveableStateFv
/* 80028CEC 00025C4C 7F C3 F3 78 */ mr r3, r30
/* 80028CF0 00025C50 38 80 FF FF */ li r4, -1
/* 80028CF4 00025C54 48 00 05 E9 */ bl sub_800292dc
/* 80028CF8 00025C58 7F E0 07 35 */ extsh. r0, r31
/* 80028CFC 00025C5C 40 81 00 0C */ ble lbl_80028D08
/* 80028D00 00025C60 7F C3 F3 78 */ mr r3, r30
/* 80028D04 00025C64 48 2E CC 2D */ bl Free__7CMemoryFPCv
lbl_80028D08:
/* 80028D08 00025C68 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80028D0C 00025C6C 7F C3 F3 78 */ mr r3, r30
/* 80028D10 00025C70 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80028D14 00025C74 83 C1 00 08 */ lwz r30, 8(r1)
/* 80028D18 00025C78 7C 08 03 A6 */ mtlr r0
/* 80028D1C 00025C7C 38 21 00 10 */ addi r1, r1, 0x10
/* 80028D20 00025C80 4E 80 00 20 */ blr
.global __dt__14CSaveableStateFv
__dt__14CSaveableStateFv:
/* 80028D24 00025C84 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80028D28 00025C88 7C 08 02 A6 */ mflr r0
/* 80028D2C 00025C8C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80028D30 00025C90 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80028D34 00025C94 7C 9F 23 78 */ mr r31, r4
/* 80028D38 00025C98 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80028D3C 00025C9C 7C 7E 1B 79 */ or. r30, r3, r3
/* 80028D40 00025CA0 41 82 01 30 */ beq lbl_80028E70
/* 80028D44 00025CA4 34 1E 00 64 */ addic. r0, r30, 0x64
/* 80028D48 00025CA8 41 82 00 40 */ beq lbl_80028D88
/* 80028D4C 00025CAC 80 7E 00 70 */ lwz r3, 0x70(r30)
/* 80028D50 00025CB0 80 1E 00 68 */ lwz r0, 0x68(r30)
/* 80028D54 00025CB4 90 61 00 1C */ stw r3, 0x1c(r1)
/* 80028D58 00025CB8 7C 83 02 14 */ add r4, r3, r0
/* 80028D5C 00025CBC 7C 03 20 50 */ subf r0, r3, r4
/* 80028D60 00025CC0 90 81 00 24 */ stw r4, 0x24(r1)
/* 80028D64 00025CC4 90 81 00 20 */ stw r4, 0x20(r1)
/* 80028D68 00025CC8 90 61 00 18 */ stw r3, 0x18(r1)
/* 80028D6C 00025CCC 7C 09 03 A6 */ mtctr r0
/* 80028D70 00025CD0 7C 03 20 40 */ cmplw r3, r4
/* 80028D74 00025CD4 41 82 00 08 */ beq lbl_80028D7C
lbl_80028D78:
/* 80028D78 00025CD8 42 00 00 00 */ bdnz lbl_80028D78
lbl_80028D7C:
/* 80028D7C 00025CDC 28 03 00 00 */ cmplwi r3, 0
/* 80028D80 00025CE0 41 82 00 08 */ beq lbl_80028D88
/* 80028D84 00025CE4 48 2E CB AD */ bl Free__7CMemoryFPCv
lbl_80028D88:
/* 80028D88 00025CE8 34 1E 00 54 */ addic. r0, r30, 0x54
/* 80028D8C 00025CEC 41 82 00 44 */ beq lbl_80028DD0
/* 80028D90 00025CF0 80 1E 00 58 */ lwz r0, 0x58(r30)
/* 80028D94 00025CF4 80 7E 00 60 */ lwz r3, 0x60(r30)
/* 80028D98 00025CF8 54 00 10 3A */ slwi r0, r0, 2
/* 80028D9C 00025CFC 7C 03 02 14 */ add r0, r3, r0
/* 80028DA0 00025D00 90 61 00 0C */ stw r3, 0xc(r1)
/* 80028DA4 00025D04 7C 64 1B 78 */ mr r4, r3
/* 80028DA8 00025D08 90 01 00 14 */ stw r0, 0x14(r1)
/* 80028DAC 00025D0C 90 01 00 10 */ stw r0, 0x10(r1)
/* 80028DB0 00025D10 90 61 00 08 */ stw r3, 8(r1)
/* 80028DB4 00025D14 48 00 00 08 */ b lbl_80028DBC
lbl_80028DB8:
/* 80028DB8 00025D18 38 84 00 04 */ addi r4, r4, 4
lbl_80028DBC:
/* 80028DBC 00025D1C 7C 04 00 40 */ cmplw r4, r0
/* 80028DC0 00025D20 40 82 FF F8 */ bne lbl_80028DB8
/* 80028DC4 00025D24 28 03 00 00 */ cmplwi r3, 0
/* 80028DC8 00025D28 41 82 00 08 */ beq lbl_80028DD0
/* 80028DCC 00025D2C 48 2E CB 65 */ bl Free__7CMemoryFPCv
lbl_80028DD0:
/* 80028DD0 00025D30 34 1E 00 48 */ addic. r0, r30, 0x48
/* 80028DD4 00025D34 41 82 00 28 */ beq lbl_80028DFC
/* 80028DD8 00025D38 88 1E 00 50 */ lbz r0, 0x50(r30)
/* 80028DDC 00025D3C 28 00 00 00 */ cmplwi r0, 0
/* 80028DE0 00025D40 41 82 00 14 */ beq lbl_80028DF4
/* 80028DE4 00025D44 34 7E 00 48 */ addic. r3, r30, 0x48
/* 80028DE8 00025D48 41 82 00 0C */ beq lbl_80028DF4
/* 80028DEC 00025D4C 38 80 00 00 */ li r4, 0
/* 80028DF0 00025D50 48 31 80 51 */ bl __dt__6CTokenFv
lbl_80028DF4:
/* 80028DF4 00025D54 38 00 00 00 */ li r0, 0
/* 80028DF8 00025D58 98 1E 00 50 */ stb r0, 0x50(r30)
lbl_80028DFC:
/* 80028DFC 00025D5C 28 1E 00 00 */ cmplwi r30, 0
/* 80028E00 00025D60 41 82 00 60 */ beq lbl_80028E60
/* 80028E04 00025D64 34 1E 00 04 */ addic. r0, r30, 4
/* 80028E08 00025D68 41 82 00 58 */ beq lbl_80028E60
/* 80028E0C 00025D6C 80 BE 00 04 */ lwz r5, 4(r30)
/* 80028E10 00025D70 38 60 00 00 */ li r3, 0
/* 80028E14 00025D74 2C 05 00 00 */ cmpwi r5, 0
/* 80028E18 00025D78 40 81 00 40 */ ble lbl_80028E58
/* 80028E1C 00025D7C 2C 05 00 08 */ cmpwi r5, 8
/* 80028E20 00025D80 38 85 FF F8 */ addi r4, r5, -8
/* 80028E24 00025D84 40 81 00 20 */ ble lbl_80028E44
/* 80028E28 00025D88 38 04 00 07 */ addi r0, r4, 7
/* 80028E2C 00025D8C 54 00 E8 FE */ srwi r0, r0, 3
/* 80028E30 00025D90 7C 09 03 A6 */ mtctr r0
/* 80028E34 00025D94 2C 04 00 00 */ cmpwi r4, 0
/* 80028E38 00025D98 40 81 00 0C */ ble lbl_80028E44
lbl_80028E3C:
/* 80028E3C 00025D9C 38 63 00 08 */ addi r3, r3, 8
/* 80028E40 00025DA0 42 00 FF FC */ bdnz lbl_80028E3C
lbl_80028E44:
/* 80028E44 00025DA4 7C 03 28 50 */ subf r0, r3, r5
/* 80028E48 00025DA8 7C 09 03 A6 */ mtctr r0
/* 80028E4C 00025DAC 7C 03 28 00 */ cmpw r3, r5
/* 80028E50 00025DB0 40 80 00 08 */ bge lbl_80028E58
lbl_80028E54:
/* 80028E54 00025DB4 42 00 00 00 */ bdnz lbl_80028E54
lbl_80028E58:
/* 80028E58 00025DB8 38 00 00 00 */ li r0, 0
/* 80028E5C 00025DBC 90 1E 00 04 */ stw r0, 4(r30)
lbl_80028E60:
/* 80028E60 00025DC0 7F E0 07 35 */ extsh. r0, r31
/* 80028E64 00025DC4 40 81 00 0C */ ble lbl_80028E70
/* 80028E68 00025DC8 7F C3 F3 78 */ mr r3, r30
/* 80028E6C 00025DCC 48 2E CA C5 */ bl Free__7CMemoryFPCv
lbl_80028E70:
/* 80028E70 00025DD0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80028E74 00025DD4 7F C3 F3 78 */ mr r3, r30
/* 80028E78 00025DD8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80028E7C 00025DDC 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80028E80 00025DE0 7C 08 03 A6 */ mtlr r0
/* 80028E84 00025DE4 38 21 00 30 */ addi r1, r1, 0x30
/* 80028E88 00025DE8 4E 80 00 20 */ blr
.global OnMessage__13CSplashScreenFRC20CArchitectureMessageR18CArchitectureQueue
OnMessage__13CSplashScreenFRC20CArchitectureMessageR18CArchitectureQueue:
/* 80028E8C 00025DEC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80028E90 00025DF0 7C 08 02 A6 */ mflr r0
/* 80028E94 00025DF4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80028E98 00025DF8 BF 41 00 18 */ stmw r26, 0x18(r1)
/* 80028E9C 00025DFC 7C 9E 23 78 */ mr r30, r4
/* 80028EA0 00025E00 7C 7D 1B 78 */ mr r29, r3
/* 80028EA4 00025E04 7C BF 2B 78 */ mr r31, r5
/* 80028EA8 00025E08 80 04 00 04 */ lwz r0, 4(r4)
/* 80028EAC 00025E0C 2C 00 00 05 */ cmpwi r0, 5
/* 80028EB0 00025E10 41 82 02 4C */ beq lbl_800290FC
/* 80028EB4 00025E14 40 80 03 30 */ bge lbl_800291E4
/* 80028EB8 00025E18 2C 00 00 04 */ cmpwi r0, 4
/* 80028EBC 00025E1C 40 80 00 08 */ bge lbl_80028EC4
/* 80028EC0 00025E20 48 00 03 24 */ b lbl_800291E4
lbl_80028EC4:
/* 80028EC4 00025E24 88 1D 00 25 */ lbz r0, 0x25(r29)
/* 80028EC8 00025E28 28 00 00 00 */ cmplwi r0, 0
/* 80028ECC 00025E2C 40 82 00 1C */ bne lbl_80028EE8
/* 80028ED0 00025E30 80 7D 00 28 */ lwz r3, 0x28(r29)
/* 80028ED4 00025E34 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80028ED8 00025E38 28 00 00 00 */ cmplwi r0, 0
/* 80028EDC 00025E3C 41 82 03 08 */ beq lbl_800291E4
/* 80028EE0 00025E40 38 00 00 01 */ li r0, 1
/* 80028EE4 00025E44 98 1D 00 25 */ stb r0, 0x25(r29)
lbl_80028EE8:
/* 80028EE8 00025E48 80 1D 00 20 */ lwz r0, 0x20(r29)
/* 80028EEC 00025E4C 2C 00 00 00 */ cmpwi r0, 0
/* 80028EF0 00025E50 40 82 00 E4 */ bne lbl_80028FD4
/* 80028EF4 00025E54 80 6D A0 7C */ lwz r3, gpController@sda21(r13)
/* 80028EF8 00025E58 38 80 00 00 */ li r4, 0
/* 80028EFC 00025E5C 81 83 00 00 */ lwz r12, 0(r3)
/* 80028F00 00025E60 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 80028F04 00025E64 7D 89 03 A6 */ mtctr r12
/* 80028F08 00025E68 4E 80 04 21 */ bctrl
/* 80028F0C 00025E6C 8B 43 00 37 */ lbz r26, 0x37(r3)
/* 80028F10 00025E70 48 2E 06 E1 */ bl GetProgressiveMode__9CGraphicsFv
/* 80028F14 00025E74 7C 7B 1B 78 */ mr r27, r3
/* 80028F18 00025E78 48 2E 06 AD */ bl CanSetProgressiveMode__9CGraphicsFv
/* 80028F1C 00025E7C 7C 7C 1B 78 */ mr r28, r3
/* 80028F20 00025E80 48 2E 06 79 */ bl GetProgressiveDefault__9CGraphicsFv
/* 80028F24 00025E84 80 9D 00 14 */ lwz r4, 0x14(r29)
/* 80028F28 00025E88 38 00 00 03 */ li r0, 3
/* 80028F2C 00025E8C 90 1D 00 20 */ stw r0, 0x20(r29)
/* 80028F30 00025E90 7C 80 00 34 */ cntlzw r0, r4
/* 80028F34 00025E94 54 06 D9 7E */ srwi r6, r0, 5
/* 80028F38 00025E98 88 AD 80 00 */ lbz r5, lbl_805A6BC0@sda21(r13)
/* 80028F3C 00025E9C 28 05 00 00 */ cmplwi r5, 0
/* 80028F40 00025EA0 40 82 00 44 */ bne lbl_80028F84
/* 80028F44 00025EA4 54 C0 06 3F */ clrlwi. r0, r6, 0x18
/* 80028F48 00025EA8 41 82 00 3C */ beq lbl_80028F84
/* 80028F4C 00025EAC 57 84 06 3F */ clrlwi. r4, r28, 0x18
/* 80028F50 00025EB0 41 82 00 34 */ beq lbl_80028F84
/* 80028F54 00025EB4 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 80028F58 00025EB8 40 82 00 2C */ bne lbl_80028F84
/* 80028F5C 00025EBC 28 04 00 00 */ cmplwi r4, 0
/* 80028F60 00025EC0 38 80 00 00 */ li r4, 0
/* 80028F64 00025EC4 41 82 00 10 */ beq lbl_80028F74
/* 80028F68 00025EC8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80028F6C 00025ECC 41 82 00 08 */ beq lbl_80028F74
/* 80028F70 00025ED0 38 80 00 01 */ li r4, 1
lbl_80028F74:
/* 80028F74 00025ED4 98 9D 00 24 */ stb r4, 0x24(r29)
/* 80028F78 00025ED8 88 7D 00 24 */ lbz r3, 0x24(r29)
/* 80028F7C 00025EDC 48 2E 06 8D */ bl SetProgressiveMode__9CGraphicsFb
/* 80028F80 00025EE0 48 00 00 54 */ b lbl_80028FD4
lbl_80028F84:
/* 80028F84 00025EE4 28 05 00 00 */ cmplwi r5, 0
/* 80028F88 00025EE8 41 82 00 44 */ beq lbl_80028FCC
/* 80028F8C 00025EEC 54 C0 06 3F */ clrlwi. r0, r6, 0x18
/* 80028F90 00025EF0 41 82 00 3C */ beq lbl_80028FCC
/* 80028F94 00025EF4 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 80028F98 00025EF8 40 82 00 34 */ bne lbl_80028FCC
/* 80028F9C 00025EFC 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 80028FA0 00025F00 41 82 00 2C */ beq lbl_80028FCC
/* 80028FA4 00025F04 28 1A 00 00 */ cmplwi r26, 0
/* 80028FA8 00025F08 40 82 00 0C */ bne lbl_80028FB4
/* 80028FAC 00025F0C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80028FB0 00025F10 41 82 00 1C */ beq lbl_80028FCC
lbl_80028FB4:
/* 80028FB4 00025F14 C0 02 83 C0 */ lfs f0, lbl_805AA0E0@sda21(r2)
/* 80028FB8 00025F18 38 00 00 01 */ li r0, 1
/* 80028FBC 00025F1C D0 1D 00 1C */ stfs f0, 0x1c(r29)
/* 80028FC0 00025F20 90 1D 00 20 */ stw r0, 0x20(r29)
/* 80028FC4 00025F24 98 1D 00 24 */ stb r0, 0x24(r29)
/* 80028FC8 00025F28 48 00 00 0C */ b lbl_80028FD4
lbl_80028FCC:
/* 80028FCC 00025F2C 38 00 00 00 */ li r0, 0
/* 80028FD0 00025F30 98 1D 00 24 */ stb r0, 0x24(r29)
lbl_80028FD4:
/* 80028FD4 00025F34 7F C3 F3 78 */ mr r3, r30
/* 80028FD8 00025F38 48 02 8B E5 */ bl GetParmTimerTick__7MakeMsgFRC20CArchitectureMessage
/* 80028FDC 00025F3C C0 63 00 04 */ lfs f3, 4(r3)
/* 80028FE0 00025F40 C0 1D 00 18 */ lfs f0, 0x18(r29)
/* 80028FE4 00025F44 C0 42 83 A4 */ lfs f2, lbl_805AA0C4@sda21(r2)
/* 80028FE8 00025F48 EC 00 18 28 */ fsubs f0, f0, f3
/* 80028FEC 00025F4C D0 1D 00 18 */ stfs f0, 0x18(r29)
/* 80028FF0 00025F50 C0 1D 00 1C */ lfs f0, 0x1c(r29)
/* 80028FF4 00025F54 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 80028FF8 00025F58 40 81 00 78 */ ble lbl_80029070
/* 80028FFC 00025F5C 80 1D 00 20 */ lwz r0, 0x20(r29)
/* 80029000 00025F60 2C 00 00 01 */ cmpwi r0, 1
/* 80029004 00025F64 40 82 00 50 */ bne lbl_80029054
/* 80029008 00025F68 C0 3D 00 18 */ lfs f1, 0x18(r29)
/* 8002900C 00025F6C C0 02 83 88 */ lfs f0, lbl_805AA0A8@sda21(r2)
/* 80029010 00025F70 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80029014 00025F74 40 80 00 40 */ bge lbl_80029054
/* 80029018 00025F78 D0 1D 00 18 */ stfs f0, 0x18(r29)
/* 8002901C 00025F7C C0 1D 00 1C */ lfs f0, 0x1c(r29)
/* 80029020 00025F80 EC 00 18 28 */ fsubs f0, f0, f3
/* 80029024 00025F84 D0 1D 00 1C */ stfs f0, 0x1c(r29)
/* 80029028 00025F88 C0 1D 00 1C */ lfs f0, 0x1c(r29)
/* 8002902C 00025F8C FC 00 10 40 */ fcmpo cr0, f0, f2
/* 80029030 00025F90 4C 40 13 82 */ cror 2, 0, 2
/* 80029034 00025F94 40 82 00 3C */ bne lbl_80029070
/* 80029038 00025F98 38 00 00 02 */ li r0, 2
/* 8002903C 00025F9C 90 1D 00 20 */ stw r0, 0x20(r29)
/* 80029040 00025FA0 88 7D 00 24 */ lbz r3, 0x24(r29)
/* 80029044 00025FA4 48 2E 05 C5 */ bl SetProgressiveMode__9CGraphicsFb
/* 80029048 00025FA8 C0 02 83 C4 */ lfs f0, lbl_805AA0E4@sda21(r2)
/* 8002904C 00025FAC D0 1D 00 1C */ stfs f0, 0x1c(r29)
/* 80029050 00025FB0 48 00 00 20 */ b lbl_80029070
lbl_80029054:
/* 80029054 00025FB4 2C 00 00 02 */ cmpwi r0, 2
/* 80029058 00025FB8 40 82 00 18 */ bne lbl_80029070
/* 8002905C 00025FBC C0 02 83 88 */ lfs f0, lbl_805AA0A8@sda21(r2)
/* 80029060 00025FC0 D0 1D 00 18 */ stfs f0, 0x18(r29)
/* 80029064 00025FC4 C0 1D 00 1C */ lfs f0, 0x1c(r29)
/* 80029068 00025FC8 EC 00 18 28 */ fsubs f0, f0, f3
/* 8002906C 00025FCC D0 1D 00 1C */ stfs f0, 0x1c(r29)
lbl_80029070:
/* 80029070 00025FD0 C0 3D 00 18 */ lfs f1, 0x18(r29)
/* 80029074 00025FD4 C0 02 83 A4 */ lfs f0, lbl_805AA0C4@sda21(r2)
/* 80029078 00025FD8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8002907C 00025FDC 4C 40 13 82 */ cror 2, 0, 2
/* 80029080 00025FE0 40 82 01 64 */ bne lbl_800291E4
/* 80029084 00025FE4 80 1D 00 14 */ lwz r0, 0x14(r29)
/* 80029088 00025FE8 2C 00 00 02 */ cmpwi r0, 2
/* 8002908C 00025FEC 40 80 00 68 */ bge lbl_800290F4
/* 80029090 00025FF0 3C 80 80 3D */ lis r4, lbl_803CCCDC@ha
/* 80029094 00025FF4 38 60 00 30 */ li r3, 0x30
/* 80029098 00025FF8 38 84 CC DC */ addi r4, r4, lbl_803CCCDC@l
/* 8002909C 00025FFC 38 A0 00 00 */ li r5, 0
/* 800290A0 00026000 38 84 00 30 */ addi r4, r4, 0x30
/* 800290A4 00026004 48 2E C7 C9 */ bl __nw__FUlPCcPCc
/* 800290A8 00026008 7C 60 1B 79 */ or. r0, r3, r3
/* 800290AC 0002600C 41 82 00 14 */ beq lbl_800290C0
/* 800290B0 00026010 80 9D 00 14 */ lwz r4, 0x14(r29)
/* 800290B4 00026014 38 84 00 01 */ addi r4, r4, 1
/* 800290B8 00026018 48 00 01 45 */ bl __ct__13CSplashScreenFQ213CSplashScreen13ESplashScreen
/* 800290BC 0002601C 7C 60 1B 78 */ mr r0, r3
lbl_800290C0:
/* 800290C0 00026020 90 01 00 08 */ stw r0, 8(r1)
/* 800290C4 00026024 38 61 00 0C */ addi r3, r1, 0xc
/* 800290C8 00026028 38 E1 00 08 */ addi r7, r1, 8
/* 800290CC 0002602C 38 80 00 00 */ li r4, 0
/* 800290D0 00026030 38 AD 81 D0 */ addi r5, r13, lbl_805A6D90@sda21
/* 800290D4 00026034 38 CD 81 D4 */ addi r6, r13, lbl_805A6D94@sda21
/* 800290D8 00026038 48 02 8B D5 */ bl CreateCreateIOWin__7MakeMsgF14EArchMsgTargetRCiRCiRCP6CIOWin
/* 800290DC 0002603C 7F E3 FB 78 */ mr r3, r31
/* 800290E0 00026040 38 81 00 0C */ addi r4, r1, 0xc
/* 800290E4 00026044 4B FD DC 1D */ bl Push__18CArchitectureQueueFRC20CArchitectureMessage
/* 800290E8 00026048 34 61 00 14 */ addic. r3, r1, 0x14
/* 800290EC 0002604C 41 82 00 08 */ beq lbl_800290F4
/* 800290F0 00026050 4B FD F6 1D */ bl "ReleaseData__Q24rstl34rc_ptr<24IArchitectureMessageParm>Fv"
lbl_800290F4:
/* 800290F4 00026054 38 60 00 02 */ li r3, 2
/* 800290F8 00026058 48 00 00 F0 */ b lbl_800291E8
lbl_800290FC:
/* 800290FC 0002605C 88 1D 00 25 */ lbz r0, 0x25(r29)
/* 80029100 00026060 28 00 00 00 */ cmplwi r0, 0
/* 80029104 00026064 41 82 00 E0 */ beq lbl_800291E4
/* 80029108 00026068 7F C3 F3 78 */ mr r3, r30
/* 8002910C 0002606C 48 02 89 D9 */ bl GetParmUserInput__7MakeMsgFRC20CArchitectureMessage
/* 80029110 00026070 4B FF 28 D5 */ bl GetUserInput__21CArchMsgParmUserInputCFv
/* 80029114 00026074 80 1D 00 20 */ lwz r0, 0x20(r29)
/* 80029118 00026078 2C 00 00 01 */ cmpwi r0, 1
/* 8002911C 0002607C 40 82 00 A0 */ bne lbl_800291BC
/* 80029120 00026080 C0 42 CC 28 */ lfs f2, kInput_AnalogOnThreshhold__11CFinalInput@sda21(r2)
/* 80029124 00026084 C0 23 00 08 */ lfs f1, 8(r3)
/* 80029128 00026088 FC 00 10 50 */ fneg f0, f2
/* 8002912C 0002608C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80029130 00026090 40 81 00 0C */ ble lbl_8002913C
/* 80029134 00026094 38 00 00 01 */ li r0, 1
/* 80029138 00026098 48 00 00 08 */ b lbl_80029140
lbl_8002913C:
/* 8002913C 0002609C 38 00 00 00 */ li r0, 0
lbl_80029140:
/* 80029140 000260A0 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80029144 000260A4 40 82 00 10 */ bne lbl_80029154
/* 80029148 000260A8 88 83 00 2D */ lbz r4, 0x2d(r3)
/* 8002914C 000260AC 54 80 DF FF */ rlwinm. r0, r4, 0x1b, 0x1f, 0x1f
/* 80029150 000260B0 41 82 00 18 */ beq lbl_80029168
lbl_80029154:
/* 80029154 000260B4 38 00 00 01 */ li r0, 1
/* 80029158 000260B8 C0 02 83 C0 */ lfs f0, lbl_805AA0E0@sda21(r2)
/* 8002915C 000260BC 98 1D 00 24 */ stb r0, 0x24(r29)
/* 80029160 000260C0 D0 1D 00 1C */ stfs f0, 0x1c(r29)
/* 80029164 000260C4 48 00 00 80 */ b lbl_800291E4
lbl_80029168:
/* 80029168 000260C8 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8002916C 000260CC 41 80 00 0C */ blt lbl_80029178
/* 80029170 000260D0 54 80 CF FF */ rlwinm. r0, r4, 0x19, 0x1f, 0x1f
/* 80029174 000260D4 41 82 00 18 */ beq lbl_8002918C
lbl_80029178:
/* 80029178 000260D8 38 00 00 00 */ li r0, 0
/* 8002917C 000260DC C0 02 83 C0 */ lfs f0, lbl_805AA0E0@sda21(r2)
/* 80029180 000260E0 98 1D 00 24 */ stb r0, 0x24(r29)
/* 80029184 000260E4 D0 1D 00 1C */ stfs f0, 0x1c(r29)
/* 80029188 000260E8 48 00 00 5C */ b lbl_800291E4
lbl_8002918C:
/* 8002918C 000260EC 54 80 EF FF */ rlwinm. r0, r4, 0x1d, 0x1f, 0x1f
/* 80029190 000260F0 40 82 00 10 */ bne lbl_800291A0
/* 80029194 000260F4 88 03 00 2E */ lbz r0, 0x2e(r3)
/* 80029198 000260F8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8002919C 000260FC 41 82 00 48 */ beq lbl_800291E4
lbl_800291A0:
/* 800291A0 00026100 88 7D 00 24 */ lbz r3, 0x24(r29)
/* 800291A4 00026104 48 2E 04 65 */ bl SetProgressiveMode__9CGraphicsFb
/* 800291A8 00026108 C0 02 83 C4 */ lfs f0, lbl_805AA0E4@sda21(r2)
/* 800291AC 0002610C 38 00 00 02 */ li r0, 2
/* 800291B0 00026110 D0 1D 00 1C */ stfs f0, 0x1c(r29)
/* 800291B4 00026114 90 1D 00 20 */ stw r0, 0x20(r29)
/* 800291B8 00026118 48 00 00 2C */ b lbl_800291E4
lbl_800291BC:
/* 800291BC 0002611C 2C 00 00 02 */ cmpwi r0, 2
/* 800291C0 00026120 40 82 00 24 */ bne lbl_800291E4
/* 800291C4 00026124 88 03 00 2D */ lbz r0, 0x2d(r3)
/* 800291C8 00026128 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 800291CC 0002612C 40 82 00 10 */ bne lbl_800291DC
/* 800291D0 00026130 88 03 00 2E */ lbz r0, 0x2e(r3)
/* 800291D4 00026134 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 800291D8 00026138 41 82 00 0C */ beq lbl_800291E4
lbl_800291DC:
/* 800291DC 0002613C C0 02 83 A4 */ lfs f0, lbl_805AA0C4@sda21(r2)
/* 800291E0 00026140 D0 1D 00 1C */ stfs f0, 0x1c(r29)
lbl_800291E4:
/* 800291E4 00026144 38 60 00 01 */ li r3, 1
lbl_800291E8:
/* 800291E8 00026148 BB 41 00 18 */ lmw r26, 0x18(r1)
/* 800291EC 0002614C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800291F0 00026150 7C 08 03 A6 */ mtlr r0
/* 800291F4 00026154 38 21 00 30 */ addi r1, r1, 0x30
/* 800291F8 00026158 4E 80 00 20 */ blr
.global __ct__13CSplashScreenFQ213CSplashScreen13ESplashScreen
__ct__13CSplashScreenFQ213CSplashScreen13ESplashScreen:
/* 800291FC 0002615C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80029200 00026160 7C 08 02 A6 */ mflr r0
/* 80029204 00026164 3C A0 80 3D */ lis r5, lbl_803CCCDC@ha
/* 80029208 00026168 90 01 00 34 */ stw r0, 0x34(r1)
/* 8002920C 0002616C 38 A5 CC DC */ addi r5, r5, lbl_803CCCDC@l
/* 80029210 00026170 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80029214 00026174 7C 9F 23 78 */ mr r31, r4
/* 80029218 00026178 38 85 00 37 */ addi r4, r5, 0x37
/* 8002921C 0002617C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80029220 00026180 7C 7E 1B 78 */ mr r30, r3
/* 80029224 00026184 38 61 00 10 */ addi r3, r1, 0x10
/* 80029228 00026188 4B FD BA 91 */ bl string_l__4rstlFPCc
/* 8002922C 0002618C 7F C3 F3 78 */ mr r3, r30
/* 80029230 00026190 38 81 00 10 */ addi r4, r1, 0x10
/* 80029234 00026194 48 02 99 D9 */ bl "__ct__6CIOWinFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 80029238 00026198 38 61 00 10 */ addi r3, r1, 0x10
/* 8002923C 0002619C 48 31 48 A5 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 80029240 000261A0 3C 80 80 3E */ lis r4, lbl_803D9A50@ha
/* 80029244 000261A4 3C 60 80 3D */ lis r3, lbl_803CCCD0@ha
/* 80029248 000261A8 38 04 9A 50 */ addi r0, r4, lbl_803D9A50@l
/* 8002924C 000261AC C0 22 83 C8 */ lfs f1, lbl_805AA0E8@sda21(r2)
/* 80029250 000261B0 90 1E 00 00 */ stw r0, 0(r30)
/* 80029254 000261B4 38 80 00 00 */ li r4, 0
/* 80029258 000261B8 C0 02 83 A4 */ lfs f0, lbl_805AA0C4@sda21(r2)
/* 8002925C 000261BC 38 00 00 01 */ li r0, 1
/* 80029260 000261C0 93 FE 00 14 */ stw r31, 0x14(r30)
/* 80029264 000261C4 38 A3 CC D0 */ addi r5, r3, lbl_803CCCD0@l
/* 80029268 000261C8 38 61 00 08 */ addi r3, r1, 8
/* 8002926C 000261CC D0 3E 00 18 */ stfs f1, 0x18(r30)
/* 80029270 000261D0 D0 1E 00 1C */ stfs f0, 0x1c(r30)
/* 80029274 000261D4 90 9E 00 20 */ stw r4, 0x20(r30)
/* 80029278 000261D8 98 1E 00 24 */ stb r0, 0x24(r30)
/* 8002927C 000261DC 98 9E 00 25 */ stb r4, 0x25(r30)
/* 80029280 000261E0 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 80029284 000261E4 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 80029288 000261E8 81 84 00 00 */ lwz r12, 0(r4)
/* 8002928C 000261EC 54 00 10 3A */ slwi r0, r0, 2
/* 80029290 000261F0 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80029294 000261F4 7C A5 00 2E */ lwzx r5, r5, r0
/* 80029298 000261F8 7D 89 03 A6 */ mtctr r12
/* 8002929C 000261FC 4E 80 04 21 */ bctrl
/* 800292A0 00026200 38 7E 00 28 */ addi r3, r30, 0x28
/* 800292A4 00026204 38 81 00 08 */ addi r4, r1, 8
/* 800292A8 00026208 48 31 7C 01 */ bl __ct__6CTokenFRC6CToken
/* 800292AC 0002620C 38 61 00 08 */ addi r3, r1, 8
/* 800292B0 00026210 38 80 FF FF */ li r4, -1
/* 800292B4 00026214 48 31 7B 8D */ bl __dt__6CTokenFv
/* 800292B8 00026218 38 7E 00 28 */ addi r3, r30, 0x28
/* 800292BC 0002621C 48 31 7A C9 */ bl Lock__6CTokenFv
/* 800292C0 00026220 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800292C4 00026224 7F C3 F3 78 */ mr r3, r30
/* 800292C8 00026228 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 800292CC 0002622C 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 800292D0 00026230 7C 08 03 A6 */ mtlr r0
/* 800292D4 00026234 38 21 00 30 */ addi r1, r1, 0x30
/* 800292D8 00026238 4E 80 00 20 */ blr
.global sub_800292dc
sub_800292dc:
/* 800292DC 0002623C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800292E0 00026240 7C 08 02 A6 */ mflr r0
/* 800292E4 00026244 90 01 00 24 */ stw r0, 0x24(r1)
/* 800292E8 00026248 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800292EC 0002624C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800292F0 00026250 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800292F4 00026254 7C 9D 23 78 */ mr r29, r4
/* 800292F8 00026258 93 81 00 10 */ stw r28, 0x10(r1)
/* 800292FC 0002625C 7C 7C 1B 79 */ or. r28, r3, r3
/* 80029300 00026260 41 82 00 54 */ beq lbl_80029354
/* 80029304 00026264 83 FC 00 04 */ lwz r31, 4(r28)
/* 80029308 00026268 48 00 00 30 */ b lbl_80029338
lbl_8002930C:
/* 8002930C 0002626C 7F FE FB 78 */ mr r30, r31
/* 80029310 00026270 83 FF 00 04 */ lwz r31, 4(r31)
/* 80029314 00026274 34 7E 00 08 */ addic. r3, r30, 8
/* 80029318 00026278 41 82 00 10 */ beq lbl_80029328
/* 8002931C 0002627C 28 03 00 00 */ cmplwi r3, 0
/* 80029320 00026280 41 82 00 08 */ beq lbl_80029328
/* 80029324 00026284 48 00 00 E9 */ bl sub_8002940c
lbl_80029328:
/* 80029328 00026288 28 1E 00 00 */ cmplwi r30, 0
/* 8002932C 0002628C 41 82 00 0C */ beq lbl_80029338
/* 80029330 00026290 7F C3 F3 78 */ mr r3, r30
/* 80029334 00026294 48 2E C5 FD */ bl Free__7CMemoryFPCv
lbl_80029338:
/* 80029338 00026298 80 1C 00 08 */ lwz r0, 8(r28)
/* 8002933C 0002629C 7C 1F 00 40 */ cmplw r31, r0
/* 80029340 000262A0 40 82 FF CC */ bne lbl_8002930C
/* 80029344 000262A4 7F A0 07 35 */ extsh. r0, r29
/* 80029348 000262A8 40 81 00 0C */ ble lbl_80029354
/* 8002934C 000262AC 7F 83 E3 78 */ mr r3, r28
/* 80029350 000262B0 48 2E C5 E1 */ bl Free__7CMemoryFPCv
lbl_80029354:
/* 80029354 000262B4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80029358 000262B8 7F 83 E3 78 */ mr r3, r28
/* 8002935C 000262BC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80029360 000262C0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80029364 000262C4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80029368 000262C8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8002936C 000262CC 7C 08 03 A6 */ mtlr r0
/* 80029370 000262D0 38 21 00 20 */ addi r1, r1, 0x20
/* 80029374 000262D4 4E 80 00 20 */ blr
.global sub_80029378
sub_80029378:
/* 80029378 000262D8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8002937C 000262DC 7C 08 02 A6 */ mflr r0
/* 80029380 000262E0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80029384 000262E4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80029388 000262E8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8002938C 000262EC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80029390 000262F0 7C 9D 23 78 */ mr r29, r4
/* 80029394 000262F4 93 81 00 10 */ stw r28, 0x10(r1)
/* 80029398 000262F8 7C 7C 1B 79 */ or. r28, r3, r3
/* 8002939C 000262FC 41 82 00 4C */ beq lbl_800293E8
/* 800293A0 00026300 83 FC 00 04 */ lwz r31, 4(r28)
/* 800293A4 00026304 48 00 00 28 */ b lbl_800293CC
lbl_800293A8:
/* 800293A8 00026308 7F FE FB 78 */ mr r30, r31
/* 800293AC 0002630C 83 FF 00 04 */ lwz r31, 4(r31)
/* 800293B0 00026310 38 7E 00 08 */ addi r3, r30, 8
/* 800293B4 00026314 38 80 FF FF */ li r4, -1
/* 800293B8 00026318 4B FF F9 6D */ bl __dt__14CSaveableStateFv
/* 800293BC 0002631C 28 1E 00 00 */ cmplwi r30, 0
/* 800293C0 00026320 41 82 00 0C */ beq lbl_800293CC
/* 800293C4 00026324 7F C3 F3 78 */ mr r3, r30
/* 800293C8 00026328 48 2E C5 69 */ bl Free__7CMemoryFPCv
lbl_800293CC:
/* 800293CC 0002632C 80 1C 00 08 */ lwz r0, 8(r28)
/* 800293D0 00026330 7C 1F 00 40 */ cmplw r31, r0
/* 800293D4 00026334 40 82 FF D4 */ bne lbl_800293A8
/* 800293D8 00026338 7F A0 07 35 */ extsh. r0, r29
/* 800293DC 0002633C 40 81 00 0C */ ble lbl_800293E8
/* 800293E0 00026340 7F 83 E3 78 */ mr r3, r28
/* 800293E4 00026344 48 2E C5 4D */ bl Free__7CMemoryFPCv
lbl_800293E8:
/* 800293E8 00026348 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800293EC 0002634C 7F 83 E3 78 */ mr r3, r28
/* 800293F0 00026350 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800293F4 00026354 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800293F8 00026358 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800293FC 0002635C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80029400 00026360 7C 08 03 A6 */ mtlr r0
/* 80029404 00026364 38 21 00 20 */ addi r1, r1, 0x20
/* 80029408 00026368 4E 80 00 20 */ blr
.global sub_8002940c
sub_8002940c:
/* 8002940C 0002636C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80029410 00026370 7C 08 02 A6 */ mflr r0
/* 80029414 00026374 90 01 00 14 */ stw r0, 0x14(r1)
/* 80029418 00026378 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002941C 0002637C 7C 7F 1B 78 */ mr r31, r3
/* 80029420 00026380 80 83 00 00 */ lwz r4, 0(r3)
/* 80029424 00026384 80 64 00 04 */ lwz r3, 4(r4)
/* 80029428 00026388 34 03 FF FF */ addic. r0, r3, -1
/* 8002942C 0002638C 90 04 00 04 */ stw r0, 4(r4)
/* 80029430 00026390 41 81 00 38 */ bgt lbl_80029468
/* 80029434 00026394 80 7F 00 00 */ lwz r3, 0(r31)
/* 80029438 00026398 80 63 00 00 */ lwz r3, 0(r3)
/* 8002943C 0002639C 28 03 00 00 */ cmplwi r3, 0
/* 80029440 000263A0 41 82 00 18 */ beq lbl_80029458
/* 80029444 000263A4 81 83 00 00 */ lwz r12, 0(r3)
/* 80029448 000263A8 38 80 00 01 */ li r4, 1
/* 8002944C 000263AC 81 8C 00 08 */ lwz r12, 8(r12)
/* 80029450 000263B0 7D 89 03 A6 */ mtctr r12
/* 80029454 000263B4 4E 80 04 21 */ bctrl
lbl_80029458:
/* 80029458 000263B8 80 7F 00 00 */ lwz r3, 0(r31)
/* 8002945C 000263BC 28 03 00 00 */ cmplwi r3, 0
/* 80029460 000263C0 41 82 00 08 */ beq lbl_80029468
/* 80029464 000263C4 48 2E C4 CD */ bl Free__7CMemoryFPCv
lbl_80029468:
/* 80029468 000263C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002946C 000263CC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80029470 000263D0 7C 08 03 A6 */ mtlr r0
/* 80029474 000263D4 38 21 00 10 */ addi r1, r1, 0x10
/* 80029478 000263D8 4E 80 00 20 */ blr
.section .rodata
.balign 8
.global lbl_803CCCD0
lbl_803CCCD0:
# ROM: 0x3C9CD0
.4byte lbl_803CCCDC
.4byte lbl_803CCCEE
.4byte lbl_803CCCFD
.global lbl_803CCCDC
lbl_803CCCDC:
# ROM: 0x3C9CDC
.asciz "TXTR_NintendoLogo"
.global lbl_803CCCEE
lbl_803CCCEE:
# ROM: 0x3C9CEE
.byte 0x54, 0x58
.asciz "TR_RetroLogo"
.global lbl_803CCCFD
lbl_803CCCFD:
# ROM: 0x3C9CFD
.byte 0x54, 0x58, 0x54
.asciz "R_DolbyLogo"
.asciz "??(??)"
.byte 0x53
.asciz "plashScreen"